1.ServletContextListener -애플리케이션이 배포, 종료되는 순간 이벤트 발생 Spring을 사용하다보면 web.xml에 org.springframework.web.context.ContextLoaderListener 라고 작성된걸 많이들 봤을것이다. 저기에 명시된 ContextLoaderListener가 ServletContextListener를 확장한(구현한) 클래스이며 애플리케이션이 배포되는 순간 Spring Bean들을 생성하는것이다. 2. ServletContextAttributeListener -서블릿 컨텍스트에 속성을 추가, 수정, 삭제하는 순간 이벤트 발생 3. HttpSessionListener -세션이 생성, 소멸하는 순간 이벤트 발생 4. ServletRequestLi..
java script의 단위테스트 라이브러리인 qunit 활용법 test("테스트 설명", function(){ equal(실제값, 기대값, "테스트 설명"); //실제값과 기대값이 동일하면 성공 == 연산자로 비교하기때문에 형변환을 감안해야함. notEqual(); //실제값과 기대값이 다르면 성공 != 연산자로 비교함. strictEqual(); //=== 연산자로 비교. (1, "1", "테스트!"); 일시 테스트는 실패한다. notStricEqual(); //!== 연산자로 비교. ok(boolean, "테스트 설명"); //첫번째 인자가 true 면 성공. deepEqual();/* 참조타입을 값으로 비교하게됨. 예를들어 var obj = { age : 27 }; equal(obj, { age ..
jQuery에서 제공하는 required는 html 태그들의 name속성으로 해당 validate를 체크하는것 같다. 그래서 해당 form 태그안에 name속성이 없는 태그가 있으면 has no name assigned 라는 에러가 떨어진다.그럴때 validate 함수에 전달하는 객체에 ignore : '*:not([name])' 속성을 넣어주면 에러가 발생안함.그런데 이건 매 화면마다 추가해줘야하고 공통적인 부분에서 처리해주는게 있는거같은데 그건 좀 더 찾아봐야겠다. $("#frm_main").validate({ignore : '*:not([name])',rules : {user_name : {required : true}} });
이클립스에서(굳이 IDE툴이 아니라도) 톰캣(더 정확히는 WAS)을 실행시키면 여러 서버설정 xml파일들이 읽힘. 이것저것 파일들이 있겠지만 사실 개발자에게 가장 중요한 web.xml도 이때 와스가 읽게됨. WAS가 구동되면서 프로젝트에 존재하는 서블릿들도 JVM에 로딩됨. *클래스가 로딩되는거지 서블릿 객체생성은 아님. *WAS에 따라서 이때 서블릿 객체를 생성하는 경우도있고 로딩만 해놓고있다가 첫 요청이 들어오면 그때 생성하는 경우도있음 WAS가 구동되면서 ServletContext 객체를 생성함. ServletContext 객체는 모든 서블릿이 공유하는 객체임. web.xml에 해당 context 객체에 저장할 파라미터를 정의할 수 있는데 web.xml에서는 기본형변수밖에 정의할 수 없음. 물론 굳..
자바스크립트는 크게 함수와 객체로 구성되어있다고 보면 된다. 사실 그게 전부다. 그런데 함수와 객체로 완벽히 나뉘어져 있는게 아니고 또 함수는 객체고 객체는 함수다. 이때부터 머리가 좀 복잡해진다. 일단 함수부터 보자. 우리가 아무런 생각없이 함수를 정의하게되면 함수의 메모리 모델링은 이런식으로 이루어진다. 코드실행영역, 지역변수영역, 함수객체영역, 프로토타입영역 일단 여기에 나오는 이 용어들은 공식적인건 아니고 그냥 내가 갖다쓰는것이므로 이 용어들까지 알필요는 없다. 코드실행영역과 지역변수영역은 여태 우리가 생각없이 쓰던 그대로 이해하면 된다. 코드실행영역은 변수 선언이 아닌 일반적 코드가 실행되는 부분이고 지역변수영역은 말그대로 지역변수들이 저장되는 영역이다. 그럼 함수객체영역은? 일단 함수객체라는 ..
자바스크립트로 코딩을 한다거나 자바스크립트를 공부하는 사람들이라면 누구나 한번쯤 원인모를 에러(사실 지극히 정상인데 본인이 그렇게 느끼게 됨)에 몇시간씩 낭비하는 경험이 있을것이다. 바로 자바스크립트의 클로저(closure)때문이다. 처음 클로저라는 단어를 들으면 아마 closure 보다는 closer를 먼저 떠올리지 않을까 한다. 하지만 closer 가 아니라 closure이기때문에 굳이 제목에서부터 영어를 사용하게됐다(은근히 뜻이 비슷해서 서로 다른 단어를 연상하면서도 말이 통하는 경우가있는건 함정). 클로저에 대한 정의는 그 영단어의 뜻을 알아보는것이 가장 빠르다. 가까운 포털을 이용해보자. 클로저라는 단어에 대한 뜻을 살펴보자 '폐쇄' 이다. 그럼 무엇이 폐쇄됐다는 걸까? 잠시 함수에 대해 생각해..
한동안 공부할것도 많고 회사일도 바빠져서 자바스크립트 포스팅을 못했다. 오랜만에 하려니 순서도 기억이 안나고 어디까지했는지도 잘 모르겠어서 클로저에 대한 포스팅을 하고자 쭉쭉 글을 써내려가고있었는데 생각해보니 변수스코프에 대한 얘기를 한적이 없다는걸 깨달았다. 변수스코프는 사실 어떻게보면 굉장히 당연한거고 어렵지않은 개념이지만 클로저를 이해하기위해서는 필수적으로 이해를 해야하는 부분이고, 간단한 소스에서는 이걸 뭘 따로 이해까지해야하나 라고 생각할 수도있지만 앞서말한 클로저 등을 접하게됐을땐 꽤나 복잡해진다. 다음의 소스를 보자. var global = "hello"; function getGlobal1(){ return global; } function getGlobal2(global){ return ..
1. SRP - 단일책임원칙클래스나 메서드는 하나의 역할만을 하며 한가지 책임만을 진다.A 클래스가 존재하고 해당 A클래스는 B 클래스와 C 클래스에서 사용된다. 예)class B{ main(){ A a = new A(); a.getName(); }} class C{ main(){ A a = new A(); a.getId(); }} A 클래스는 B와 C에서 사용되지만 각각 다른 메서드를 호출하며 '다른 역할'을 하고있다.이경우 A클래스는 B에서 사용되는 역할때문에 수정될 수도 있고 C에서 사용되는 역할때문에 수정될 수도 있다.이런경우에는 A클래스를 나눠 한가지 역할만을 행하게 해야한다.메서드도 소스를 보다보면 if문같은 분기문으로 나뉘어서 완전히 다른 로직으로 진행되는 경우를 흔히 볼 수 있다.이런 경우..
자바스크립트 변수에 php변수 저장하기 php에서 request 변수 저장하기(java 에서 getParameter()) 배워본적도 없고 앞으로 배울생각도 없는 php를 어쩌다가 쓰게됨.(was에서 jsp를 지원안해서....) 사실 썼다고 하기도 민망한 수준의 매우 간단한 작업이었지만 여튼 아무것도 모르는 상태에서 하려니 꽤나 힘들었다. 그리고 원래 구글링을 할때 우리나라 검색자료만해도 충분하다는 애국심(?)과 함께 영어로 된 페이지는 거의 안보고 stackoverflow도 이름만 듣고 잘 보진않았는데.. 이걸 찾으면서 stackoverflow의 위대함을 알게됨... 사실 저거 매우 간단한건데 한글검색으로는 딱 원하는 자료가 너무 안나왔다. 그러다가 영어로 해보자 해서 영어로 검색했더니 제일 위에 뙇! ..
아이폰은 6S 나오면 살예정이라 아직 아이폰은 없고 아이패드/맥북 조합을 사용중이다.그런데 맥북에 아이패드를 연결하면 맥북에 사진앱이 항상 실행된다. 설정을 찾아봐도 도저히 안뜨게 하는게 보이지않는데 설정해제하는 법을 포스팅하려한다. 아이폰/아이패드가 맥북에 연결되어있을때 맥북의 soptlight 를 실행.image capture 앱을 실행.실행하게되면 장비가있는데 해당 장비를 클릭하게되면 좌측 하단에 세모 모양의 아이콘이 있다.그걸 클릭하면 사진앱 뜨는거 해제할수있는 선택창이 뜬다.
- Total
- Today
- Yesterday
- Spring
- JavaScript Core
- EffectiveJava
- frontcode
- mariadb
- db
- servlet
- DesignPattern
- frontend개발환경
- spring cloud
- Jackson
- code
- MySQL
- clean code
- http
- toby
- JPA
- javascript
- generics
- backend개발환경
- go-core
- Kotlin
- 정규표현식
- Design Pattern
- programming
- java8
- TEST
- Git
- java
- OOP
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |