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

#. 다량의 데이터가 있는 테이블 또는 여러 테이블이 조인 돼있는 쿼리를 실행하면 속도가 느린 경우가 자주 발생하게 됩니다. #. 쿼리가 실행될 때 최대한의 부담을 덜어줘야 DBMS도 최상의 성능을 발휘하여 우리가 원하는 값을 보여줄 것입니다. #. 어떻게 해야 시스템이 부하가 걸리지 않고 빠른 응답을 할지에 대해 파악해보려 합니다. 1. Index 생성 - Where, Join On, Order by 절에서 자주 사용되고 수정하지 않는 컬럼을 파악하여 생성합니다. - Index 생성에 사용한 컬럼은 되도록 Where 조건에 모두 사용하는 것이 좋습니다. - 조건절에 >=, Example- employees 테이블에 employee_id, department_..

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

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

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