일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- docker
- DevOps
- poi
- 보안
- java
- 제이쿼리그리드
- apache.poi
- MessageQueue
- jqGrid
- 스트림
- ORM
- 자바8
- rabbitmq
- Javascript
- Stream
- mom
- sqlserver
- mssql
- 대용량 업로드
- Jenkins
- spring
- stream api
- 그리드
- QueryDSL
- JPA
- JQuery
- 자동빌드
- 자동배포
- ci/cd
- 엑셀 업로드
- Today
- Total
목록전체 글 (73)
개발 메모장

#. 쿼리의 길이가 길어지고 데이터가 많아질수록 속도는 느려지기 마련입니다.#. DBMS에선 빠른데 Java를 통해 처리하는 쿼리가 느린 경우가 있었습니다.우선 SQL Server JDBC Driver는 String 타입의 파라미터를 NVARCHAR로 보내어 쿼리를 실행합니다.이 경우 해당 테이블의 필드 타입이 NVARCHAR가 아닌 경우 우선순위에 따라 필드 타입을 형변환하게 됩니다.저의 경우 VARCHAR 필드에 NVARCHAR 데이터를 매핑하다보니 암시적 형변환이 일어나서 JAVA에선 더욱 느리게 느껴졌던 것입니다.그렇다고 기존의 필드를 NVARCHAR로 바꿀수도 없으므로 아래와 같이 문구 하나만 추가해줍니다.(JDBC 드라이버가 PreparedStatement로 문자열을 보낼 때 Unicode 방..
#. 보안과 관련하여 해외에서 접속하는 IP에 대한 점검을 해야할 필요성을 느꼈습니다.#. 해외 IP를 확인하는 방법은 외부 라이브러리, 정부 제공 API 등 처리방법이 있습니다.#. 서비스 중인 프로젝트는 특정된 대상만이 사용하도록 되어있기에 더더욱 해외에서 접속할 일은 없기 때문에 아래와 같이 정부 제공 API를 적용하였습니다.#. 이는 일일 트래픽 10,000건까지만 제공하므로 더 필요한 경우 웹사이트에 따라 증가시키길 바랍니다.#. API 사용하기 참고문서를 다운받아 필요한 내용에 대한 API URL을 확인합니다.아래와 같이 목록에서 원하는 내용을 선택한 뒤 활용신청 버튼을 눌러 API KEY를 발급받습니다. 요청하는 값을 넣어 처리해보면 아래와 같이 데이터를 리턴 받습니다.사이트 접속은 클릭 또..

#. PUT, DELETE, TRACE 메서드는 접근 제한으로 설정하는 것이 권고되고 있습니다. #. 또한 현재 제공중인 서비스에서는 GET, POST를 사용하며 그 외 메서드는 사용하지 않고 있습니다. #. 접근할 일도 없는 메서드를 열어 두는 것이 찝찝해서 제약사항으로 관리하도록 수정했습니다.#. 현 상황 체크 CMD를 통해 아래의 내용을 입력하여 현재 상태를 확인해보도록 합니다.telnet localhost {port}PUT / HTTP/1.0먼저 telnet에 서비스 중인 도메인 + 포트를 위와 같이 입력하면 까만화면으로 바뀌게 됩니다.그곳에서 아래 내용을 입력합니다.(띄어쓰기 및 대문자로 바꾸셔서 진행하셔야 합니다.)302 코드를 리턴 받습니다.#. 해결방법 tomcat > conf > web..

문자 인증 및 암호 인증 등을 통해 민감 정보를 수정 및 조회하는 경우가 많을 것 입니다.잘못된 접근 제어 방식으로 인하여 인증 우회 및 공격을 받기도 합니다.잘못된 방식에 대해서 살펴보고 어떻게 처리해야하는지도 알아보도록 하겠습니다.#. 현 상황 입력받은 PW 및 데이터를 Ajax를 통해 서버단으로 보낸 뒤 유효성 검사를 하고 통과가 되면 check라는 Key에 Y라는 값을 넣어 modelMap을 통해 리턴합니다. 통과되지 못할 경우 N을 넣어 리턴합니다.ajax의 success 옵션에서 리턴 받은 데이터의 check라는 키의 값이 Y이면 성공처리 후 팝업을 열고, 아니면 실패처리를 하는 방식으로 되어있습니다.@RequestMapping("/PwCheck.do")public ModelMap pwChec..