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

#. 자바로 개발하는 초급개발자에겐 당연하고 익숙하지만 막상 설명하기 어렵고 면접을 보면 어딜 가든 물어보는 질문일 것입니다. #. 자바 애플리케이션을 위한 런타임 환경 제공을 하는 JVM GC가 어떻게 흘러가고 어떻게 처리되는지 확인해 보겠습니다. #. 개발하다 보면 정말 가끔씩 heap space 가 포함된 오류를 볼 수 있을 것입니다. (낮은 버전의 이클립스를 사용하면 더 높은 확률로 만났던 것 같습니다.) - 보통 이러한 경우 eclipse.ini에서 -Xms / -Xmx(최소 / 최대) 힙메모리를 지정하여 넘기곤 했을 것입니다. - 근본적인 오류의 원인은 말 그대로 Heap Memory 공간이 부족하여 생긴 오류입니다. - 인위적으로 오류를 발생시키기 위해 아래와 같이 ..

#. 업로드 파일에 대한 검증이 적절히 이뤄지지 않으면 공격자에 의해 서버가 공격당할 수 있습니다. #. 원격 침투 후 시스템 계정 탈취 및 시스템에 명령어를 실행하여 서버 자체를 마비시킬 수도 있습니다. #. 이에 따른 사전 대응 방법에 대해 알아보도록 하겠습니다. #. 대응방안 1. 파일 확장자에 대한 화이트리스트 적용 - 스크립트에서도 하겠지만 백엔드에서 처리하는 것이 가장 안전합니다. - 블랙리스트로 블록을 걸기보단 화이트리스트로 처리하는 이유는 쉽게 알 수 있듯 확장자는 변경도 가능하고 무수히 많기 때문입니다. - 따라서 허용할 확장자만 열도록 화이트리스트를 관리하는 것이 유용합니다.function checkFile(f) { const file =..

#. 3가지 모두 문자열에 관련되어 저장, 관리를 위한 클래스입니다. #. 보통 간단한 것에 대해선 String만 사용하는데 상황에 따라 버퍼와 빌더를 사용해야 할 때가 있을 것입니다. #. String- 불변성을 가지기에 수정할 수 없고 메모리 할당 공간도 변하지 않습니다. - 보통 수정하는 것처럼 보이는 작업들은 사실 새로운 String 개체들을 만들어 저장하는 방식으로 진행됩니다. - 그렇기에 기존 String 개체는 수정되는 것이 아니고, 메모리 할당 공간을 추가로 차지하게 되어 지속적으로 수정 시 성능 저하가 발생할 수 있습니다. - 주로 간단한 처리에 사용됩니다.(문자 연산 - +, concat() 등)- 불변성을 가지기에 스레드로부터 안전합니다.- 수정이 불가하..

#. 지향하는 방법은 아니지만 프로시저를 쓰는 곳이 있기에 작성해겠습니다. #. 프로시저는 많은 SQL을 한 번에 처리하기 위한 DBMS에서 제공하는 실행 기능입니다. #. 장점보단 단점이 부각되어 보이긴 하나 프로시저를 쓰는 곳은 계속해서 쓰는 것 같습니다.#. 프로시저의 장단점장점 1. 요청 한 번에 여러 SQL을 실행이 가능하고 속도가 빠릅니다. - 한 프로시저 내 여러 개의 SQL을 작성하고 서비스가 DB에 접근을 한 번만 하면 되므로 네트워크 측면의 속도가 빠릅니다.2. DBMS에서 프로시저에 대한 관리가 편합니다. - 프로시저에 대한 내용들을 캡슐화하여 저장하고 이를 DBMS가 저장한 프로시저별로 보여주기에 보기 편합니다.단점 1. 유지보수가 어렵습니다. ..