본문 바로가기
My Image
반응형

분류 전체보기226

POI라이브러리 + AJax + myBatis resultHandler 이용한 excel 대용량 다운로드 기능 구현(심플버전)_1편 안녕하세요. limky 입니다. 최근 업무 중에 대용량 excel 다운로드를 구현할 일이 생겼는데요. 제가 개인적으로 삽질하면서 구현한 excel 대용량 다운로드 기능을 어떻게 개발했는지 공유하고자 합니다. 우선,,,개발하게된 배경을 설명드리면, 기존에는 단순히 jsp에 table을 그리고 해당 table에 값을 매핑하여 excel 다운로드를 하였는데요. 최근들어 신규 상품 또는 신규 서비스가 출시되면서 이전과 달리 데이터가 많이 적재되었습니다. (하루에 3만건이상 적재됨...) 이로 인해 한꺼번에 많은 데이터를 읽고 쓰는 과정에서 서버에 과부하를 주었고 OOM을 발생시켜 심지어 서버가 다운되는 사태까지 일어났습니다. 이를 방지하고자 아래와 같은 3가지 해결책을 생각해보았습니다. 1. 화면에 있는 엑셀다.. 2021. 11. 12.
JSON 특수문자 넣기 (Escape sequence) 안녕하세요~ limky입니다. 이번시간에는 json 포멧에서 특수문자를 넣기 위한 방법에 대해 알아보겠습니다. 특수문자를 문자열에 넣고 싶을 경우, 이스케이프 시퀀스(escape sequence)를 조합하면 특수문자를 문자열에 넣을 수 있습니다. 먼저 이스케이프 시퀀스(escape sequence) 다음과 같습니다. 이스케이프 시퀀스+특수문자 조합 설명 \b 백스페이스 \f 폼 피트 (form feed) \n 개행문자 \r 캐리지 리턴(carrige return) \t 탭 (tab) \" 쌍따옴표 \/ 슬래시 \\ 역슬래시 \uHHHH 16진수 네자리로 표현된 유니코드 문자 예제를 보고 마무리 하겠습니다. { "contents" : "안녕하세요. \"Limky\" 입니다. \n 오늘은 JSON에 특수문자.. 2021. 10. 20.
IT용어 - Legacy 시스템이란? 안녕하세요. Limky 입니다. 오늘은 간단하게 IT용어에 대해서 포스팅하고자 합니다. Legacy 시스템 이라는 용어인데요. Legacy 시스템이란 무엇일까요? 일단 아래 위키백과에서 참고한 내용을 먼저 보면 바로 이해가 되실겁니다. 레거시 시스템(legacy system)은 낡은 기술이나 방법론, 컴퓨터 시스템, 소프트웨어 등을 말한다. 이는 현대까지도 남아 쓰이는 기술을 부르는 말일 수도 있지만, 더이상 쓰이지 않더라도 현대의 기술에 영향을 주는 경우도 포함한다. 예를 들어 미국 항공우주국의 스페이스 셔틀은 처음 만들어졌을 때의 기술을 쓴 부품을 계속 써왔다. 안정성 등의 조건을 충족시키면서 부품을 새로 개발하는 것은 너무 비용이 많이 들었기 때문에, 대부분의 부품을 1970년대 기술로 계속 만들어.. 2021. 7. 13.
[JAVA] equal() 함수 사용 시 주의 점 (리스크를 줄이는 방법) 안녕하세요~ Limky 입니다. 오늘은 간략하게, equal() 함수 사용시 조금 더 리스크를 줄이면서 사용할 수 있는 방법에에 대해서 알아보겠습니다. 아래 코드를 보면 사실 좋은 코드는 아닙니다. String s라는 변수에 값을 할당했지만, 만약 값이 할당되지 않는다면 변수.equal() 부분 즉, s.equals("변수") 부분에서 nullexception이 발생하기 때문이죠. 그럼 어떻게 방지할 수 있을까요? 사실 null check 로직을 넣으면 됩니다. if(s != null) 을 심어서 체크하면 되지요. 헌데, 만약 null check를 하지 않았고 그래도 nullexception이 발생되지 않게 하려면 어떻게 할 수 있을까요? 바로 아래 "하드코딩".equals(s) 같은 형태로 코딩하면 됩.. 2021. 3. 16.
반응형