본문 바로가기
HttpServletXxx 관련 메서드 Cheet Sheat HttpServletXxx 메서드 CheetSheat * HTTP Header를 읽기위한 메서드의 종류 HttpServletRequest객체의 메서드들이다. 1) Cookie[] getCookies() Client가 Request객체에 포함시킨 쿠키배열을 반환한다. 2) Enumeration getAttributeNames() Client가 Request객체에 포함시킨 attributes들을 반환한다. 3) Enumeration getHeaderNames() Request객체에 포함된 header들의 이름을 반환한다. 4) Enumeration getParameterNames() Client가 Request객체에 포함시킨 Parameter들의 이름을 반환한다. 5) HttpSession getSessio.. 2019. 7. 16.
자바로 배우는 리팩토링 입문 4 ※자바로 배우는 리팩토링 입문 책을 보고 작성하였습니다. - '어떻게 될것이다-'라는 주석이 있는경우를 위한 어서션 도입. 좋은 주석은 프로그래머의 의도를 명확하게 보여주지만, 실제 코드에는 영향을 미치지 않는다. 어서션은, 프로그래머의 의도를 확실히 밝히면서도 실행 시 조건이 반드시 성립함을 보장한다. (코드에 영향을 미치지 않는 주석과는 확연히 차이점이 드러나는 부분이다.) 예를들어 어떤 부분에서 변수 value 값이 참이어야 한다고 할때, 만약 value값이 참이 아니라면 프로그래머의 의도와는 다른 동작이 된다. 이부분은 어셔선으로 아래와 같이 작성한다. assert value > 0; //value > 0을 어서션한다 또는 value > 0임을 표명한다 라고 부른다. value가 >0임을 만족할경.. 2019. 7. 14.
자바로 배우는 리팩토링 입문3 ※자바로 배우는 리팩토링 입문 책을 보고 작성하였습니다. 제어플래그 삭제 제어플래그 - 상태를 기록하고 처리 흐름을 제어하기위한 boolean타입 변수를 의미. 제어플래그를 '지나치게' 사용하면 프로그램 처리 흐름을 파악하기 어려워진다. 제어플래그 대신에 break, continue, return등을 써서 처리 흐름을 제어하는 리팩토링이다. 리팩토링 카탈로그 이름: 제어 플래그 삭제 상황: 처리 흐름을 제어한다. 문제: 처리 흐름을 제어하는 플래그 때문에 코드가 복잡해진다. 해법: 제어 플래그를 삭제하고 break, continue, return을 사용한다. 결과: 조건 의미와 제어 흐름이 명확해짐(but, 단순 반복에도 무리하게 적용하면 코드가 부자연스러워짐) 방법: break, continue를 사용.. 2019. 7. 13.
서블릿 컨테이너가 필터체인을 구축할 때 사용하는 순서 서블릿컨테이너가 Request를 받으면 첫번째 필터 인스턴스를 가져온다. 1. 과 일치하는 필터 매핑이 있는지 확인 2.과 일차하는 필터 매핑이 있는지 확인 --특정 서블릿에만 필터 적용 가능 Image Filter ImageServlet --특정 url에만 필터 적용 가능 loggingfilter / * 2019. 7. 12.
base64로 인코딩된 바이너리 이미지태그를 서버에 업로드 후 업로드된 URL로 치환하는 jsCode /* * 클립보드에서 붙여넣기한 이미지를 서버에 업로드 후, 업로드한 URL로 교체해주는 코드 */ var htmlData = '';//복사 & 붙여넣기한 이미지태그가 들어있는 html코드를 넣어줍니다. var getImageElementsPattern = //g; var getSrcAndBase64DatePattern = //; FILE_TYPE = 0; BASE64_DATA = 1; //htmlData에 있는 붙여넣기된 이미지요소들을 가져온후, var imageElements = htmlData.match(getImageElementsPattern); for(i = 0; i < imageElements.length; i++){ var tmp = getSrcAndBase64DatePattern.exec.. 2019. 7. 10.
직렬화 역직렬화 메모리에 올라가있는 객체를 바이트로 저장하는것 - 직렬화 직렬화된 객체(바이트)를 메모리에 다시 올려서 객체화 하는것 - 역직렬화 예를들어, A라는 파일에서 작업하던 그리드를 B라는 파일에 복사&붙여넣기가 가능하고, B파일에서도 붙여넣기한 그리드를 사용할 수 있는것이 직렬화 & 역직렬화 기능이 아닐까, 추측한다. 2019. 7. 9.