인프콘 2022 후기

안녕하세요. 2023 인프콘을 기대하며 세션 시간표를 작성 해 보았습니다. https://www.inflearn.com/infcon-2023/schedule/share?id=907252&hash=shane%409626f5a3&name=shanePark 2023년에도 참여하고 싶은 세션들이 너무 많아서 꼭 참여하고 싶었지만 추첨에 실패했었습니다. 아쉬운 마음에 인프콘 시간표 공유 이벤트에 참여했고 선정된 덕분에 인프콘 2023에도 참여할 수 있게 되었습니다. 2022년 인프콘에 참여했을때 너무 좋은 경험이었고, 높은 경쟁으로 인해서 아쉽게 가지 못했던 분들을 위해서 후기를 열심히 작성해보았습니다. 참고가 되었으면 좋겠습니다 :) Intro 기다리고 기다리던 인프콘을 다녀왔습니다. 컨퍼런스 참여를 위해 연차..

Development/DevLife 2022.08.27
[POI] 엑셀의 숫자를 소수점으로 파싱하는 문제 해결하기

문제 POI 를 활용해 엑셀파일의 각 셀에 있는 값들을 자바에서 읽어 오는 과정에서 문제가 있었습니다. 기존의 코드는 아래와 같습니다. switch (cell.getCellType()) { case FORMULA: value = cell.getCellFormula(); break; case NUMERIC: value = String.valueOf(cell.getNumericCellValue()); break; case STRING: value = cell.getStringCellValue(); break; case BOOLEAN: value = String.valueOf(cell.getBooleanCellValue()); break; default: } 각각의 셀 타입에 따라서 적절한 스트링으로 변환 하..

Development/Daily Error 2022.08.25
jQuery AJAX대신 XHR로 파일 다운로드하기

Intro a 링크를 통한 파일 다운로드를 제공 하고 있었는데, 개선이 필요했습니다. 전체 데이터를 poi를 활용해 엑셀 파일을 생성 한 뒤에 반출을 해 주는 과정인데, 데이터가 클 수록 파일을 작성하는데 워낙 시간이 오래 걸리다보니 기다리는동안 사용자 경험이 너무 좋지 않았습니다. 그래서 파일 다운로드 과정을 AJAX를 이용해 비동기로 요청하고, 요청을 기다리는 동안 waitMe 를 이용해 로딩바를 보여주는 식으로 개선을 하기로 했습니다. https://github.com/vadimsva/waitMe AJAX 이를 위해 jQuery AJAX를 활용해 코드를 구현 해 보았습니다. $('#export').on('click', function () { var wait = $(th..

Programming/javascrlpt 2022.08.23
AJAX POST 요청시 Status Code: 302 하며 /denied로 리다이렉트 시키는 문제 해결

에러 AJAX 비동기 요청으로 GET 에서는 정상적으로 작동하던 메서드가, POST로만 바꾸면 응답을 302로 보내는 문제가 있었습니다. 아무리 이것 저것 다 체크를 해 보아도 응답이 /denied로 가는 리다이렉트가 됩니다. 그래서 결국 denied(text) 라는 텍스트만 덜렁 뜨는 상황이 발생했습니다. 로그인을 한 상태임에도 스프링 시큐리티가 권한을 체크 하다가 뭔가 잘못되었나 싶어서 .permitAll() 로 변경을 해 보아도 마찬가지였습니다. 원인 스프링 시큐리티의 CSRF(Cross-Site Request Forgery) 설정 때문 입니다. 스프링 시큐리티에서는 csrf 설정이 기본적으로 enabled 되어 있기 때문에 csrf 에 대한 토큰을 받도록 명시되어 있으며 GET 요청이 아닌 요청,..

Development/Daily Error 2022.08.21
Armeria 튜토리얼 따라해보기

Intro Build a reactive microservice at your pace: Armeria는 아주 작고 단순한 형태로부터 시작해 점차 서비스를 키울 수 있게 해줍니다. your go-to microservice framework for any situation: 어떤 상황에서도 마이크로소프트를 만들 수 있는 프레임워크 입니다. gRPC, Thrift, GraphQL 등의 프로토콜도 지원합니다. 최근 학습을 하다보면 비동기와 논블로킹이라는 키워드가 참 많이 보입니다. 부끄럽지만 저는 항상 Java로 동기식 서버만을 작성해와서 잘 모릅니다. 4개월 쯤 전 프로젝트의 스프링부트 버전을 1.x -> 2.x 으로 마이그레이션 하기 위해 그 차이를 학습중에 스프링 5의 WebFlux 라는게 눈에 들어왔..

Programming/Java 2022.08.20