쿼리를 작성할 때, '', '&'를 사용해야 하는 경우가 생기는데 xml에서 그냥 사용할 경우 태그로 인식하는 경우가 나타난다. 이럴 경우 사용하는 것이 이다. SELECT * FROM DUAL WHERE A B; SELECT * FROM DUAL WHERE A = B; SELECT * FROM DUAL WHERE A B; SELECT * FROM DUAL WHERE A ]]> B; SELECT * FROM DUAL WHERE A = ]]> B; SELECT * FROM DUAL WHERE A B; 간단한 쿼리에 부등호가 필요하다면 ''로 처리하면 되지만, 부등호를 여러 개..
접근자 메서드와 변경자 메서드 호출되는 객체를 변경하는 메서드를 변경자, 객체를 변경하지 않는 메서드를 접근자라고 한다. 객체 변경은 위험할 수 있다. 특히 두 연산이 객체 하나를 동시에 변경할 때 발생된다. 이문제를 해결하는 방법 중 하나는 접근자 메서드만 제공해 불변 객체를 만드는 것이다. 객체 참조 C++ 같은 일부 프로그래밍 언어에서는 변수에 실제 객체를 담을 수 있다. 하지만 자바에서는 그렇지 않다. 변수에는 오직 객체 참조(reference)만을 담을 수 있다. 객체 참조를 담고 있는 변수를 다른 변수에 할당하면 같은 객체에 대한 참조를 갖게 된다. 클래스 인스턴스 변수는 객체의 인스턴스가 생성되었을 때 가질 수 있는 상태(변수)들이다. 인스턴스 변수는 보통 private로 선언하는데 이것이 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cUnhlr/btqCjQ7RTIx/tpje1eeWkSJ86bIf3PKYf0/img.png)
자바 기본 타입 정수 : int, long, short, byte 대부분은 int 타입이 가장 알맞다. int 범위가 최대 20억 정도이므로 초과하는 범위에 대해서는 long을 사용한다. long 타입으로도 충분하지 않을 때 BigInteger을 사용한다. 부동소수점 : float, double float 타입에는 접미어 F를 붙인다.(ex 3.14F) 3.14처럼 접이어 F를 붙이지 않으면 double 타입이 된다. double 타입에는 접미어 D를 붙인다.(ex 3.14D) 무한대(Double.POSITIVE_INFINITY), 음의 무한대(Double.NEGATIVE_INFINITY) 숫자가 아님을 검사할 때 Double.isNaN()을 사용한다. 부동소수점 수가 무한대도 아니고 Nan도 아닌지 검..
http://localhost:8090/admin/view/main.do 다음과 같은 주소를 가진 웹페이지를 개발 중이라고 할 때, 코드에서 주소 정보를 가져오고 싶을 때 HttpServletRequest를 사용하여 추출하여 보자. request.getScheme() 함수는 http 또는 https를 반환 request.getServerName() 함수는 localhost를 반환 request.getServerPort() 함수는 8090을 반환 위 함수들을 가지고 조합을 하면 주소 정보를 만들 수 있다. request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort(); request.getRequestURL() 함수는 전체 주소 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bWPa1I/btqB8Phw7Em/2fdTc7kkSDr8VbuiC4f8Lk/img.png)
IE에서 파일 업로드에서 getOriginalFile()를 호출하면 클라이언트 Full Path 경로가 나타난다. 대부분의 개발자가 그렇듯이 크롬에서 개발을 하고 테스트를 하기 때문에 놓치기 쉬운 부분이다. 크롬에서는 getOriginalFile()를 호출하면 순수 파일명만 나오기 때문이다. Return the original filename in the client's filesystem. (클라이언트 파일 시스템의 원본 파일명을 반환한다.) 여기서 "파일명"이라는 것은 모든 경로를 포함한 파일의 이름을 의미한다. 어떤 파일이든 기본적으로 경로가 존재한다. 이 정보를 브라우저에 따라 경로 정보가 포함이 될 수도 안될 수도 있다. 순수 파일명만 뽑고 싶을 때는 아래와 같이 가공해주면 된다. String ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/muXlM/btqB3WocajS/O9qyfcDT1fiPLhRD9rcrf1/img.png)
자주 사용하지만, 잘못된 습관으로 인해 NullPointException이 발생할 수 있는 equals 함수를 알아보자. 생각보다 많은 개발자들이 대수롭지 않게 잘못된 습관으로 코딩을 한다. // 안좋은 예 if ("변수".equals("상수")) { ... } 위의 경우 변수에 값이 null이 들어올 경우 NullPointException이 발생한다. // 좋은 예 if ("상수".equals("변수")) { ... } 위의 경우 equals함수에서 null에 대한 체크를 하기 때문에 NullPointExecption이 발생하지 않는다. 변수에 null이 들어오지 않는다고 확신하지 말고 코딩 습관을 방어적 코딩으로 습관을 하는 것이 좋지 않을까? 생각한다. public class NullEquals {..
정보: Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level. java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986 해당 에러는 브라우저 차이에서 나타난 에러이다. 크롬이나 파이어폭스의 경우 URL을 자동으로 인코딩해서 전송하지만, IE의 경우 자동으로 인코딩이 안되기 때문에 발생하는 오류이다. 페이징 이동이나 Ajax 요청에서 쿼리 파라미터로 요청하..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/UlPnM/btqBZNEx3a5/Bv3ho700g2I9dIgk71nNJK/img.png)
SpingBoot에서 에러가 날 경우 기본적으로 whitelabel 페이지로 이동하여 아래와 같은 에러 화면이 나타난다. # SpringBoot 기본 에러 설정 server.error: include-exception: false include-stacktrace: never path: '/error' whitelabel.enabled: true server.error.include-exception : 응답에 exception의 내용을 포함할지 여부 server.error.include-stacktrace : 응답에 stacktrace 내용을 포함할지 여부 server.error.path : 오류 응답을 처리할 핸들러(ErrorController)의 path server.error.whitelabel...
- javascript
- 이직
- 프로그래머스
- 제주도 3박4일 일정
- Tomcat
- 제주도 여행
- 개발환경
- effective java
- 성능분석
- 자바
- Collection
- 리눅스 명령어
- 리액트
- 자바스크립트
- 오라클
- Java
- 리액트 16
- 오라클 내장 함수
- 정렬 알고리즘
- Linux 명령어
- 프로그래머
- React
- 소프트웨어공학
- sort algorithm
- 경력관리
- Maven
- 회고
- spring
- Eclipse
- SQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |