반응형

전체보기 156

[SpringBoot] UnexpectedRollbackException: Transaction silently rolled back because it has been marked as rollback-only 해결후기

목차 상황 1. 이벤트에 당첨된 경우 휴대폰번호를 입력하고 [쿠폰받기] 버튼을 누르면 쿠폰이 즉시 발송된다. 2. 근데 가끔씩 [쿠폰받기] 버튼이 눌린채로 아무런 반응이 없는 경우가 있다. (브라우저 자체가 멈춘다던가... 아무런 액션 없이 그냥 대기만 한다던가...) 3. 기다려도 응답이 없으니 사람들은 [쿠폰 안받기] 버튼을 누른다. 4. [쿠폰 안받기] 버튼을 누르면 당첨내역을 초기화시킨다. (다른사람에게 할당되어야하므로) 서버에 찍힌 로그는 아래와 같다. 2022-12-05 10:45:24 쿠폰받기 시작 2022-12-05 10:45:25 쿠폰안받기 시작 2022-12-05 10:45:25 쿠폰받기-쿠폰발송 성공 2022-12-05 10:45:26 쿠폰안받기 종료 2022-12-05 10:45:2..

🌿 Spring 2022.12.06

[SpringBoot] Jpa Connection Minimum-Idle 설정하지 말자... 에러 후기

한동안 DB에 커넥션에러가 발생했어서 maximum-pool-size를 설정주었는데 minimum-idle 셋팅도 있어서 같이 셋팅해주었었다. spring: datasource: hikari: ... minimum-idle: 5 maximum-pool-size: 10 그런데..... 처음보는 에러가 발생했다 HikariPool-1 - Connection is not available, request timed out after 45005ms. 오잉???? 이상하네 이 서버는 처음띄우는 서버가 아니라 이전에도 계속 돌아가고있었던 서버고, 사실 커넥션 에러가 날거였으면 요청이 더 많았을 때 에러가 났어야했는데.. 지금은 요청이 상대적으로 적은편인데 에러가 나서 의아해했다 여러가지 이유가 있었겠지만 단편적으로..

🌿 Spring 2022.12.04

[SpringBoot] Apache Poi를 이용한 엑셀다운로드는 SXSSF를 쓰자..!

목차 에러 발생!!!!!!!!!!!! https://lotuus.tistory.com/145 [SpringBoot] Apache Poi를 이용한 엑셀 다운로드 구현 목차 통계 API를 만들다보면 화면에도 값을 보여주어야하고, 엑셀 다운로드도 가능해야합니다 ㅎㅎ 대표적으로 사용되는 Apache Poi를 이용하여 엑셀 다운로드를 구현해보겠습니당! 예제 UserPoint En lotuus.tistory.com 예전에도 엑셀다운로드 게시글을 올렸었는데, 운영에서 갑자기 힙메모리가 부족하다며 Out Of Memory 에러가 발생했다..... 이유는 두가지였다 첫번째 ) 요청 중복 필터링 안함 화면에 보이는 엑셀 다운로드 버튼을 누르고, 실제 다운로드 창이 뜰때까지는 시간이 좀 걸린다 그런데 참을성 없는 분들이 기..

🌿 Spring 2022.12.03

Spring Jpa SelfJoin 순환참조 방지하며 다른 엔티티와 맵핑하기

목차 보통 셀프조인은 카테고리처럼 1차, 2차, 3차.... 무한정으로 늘어날 수 있을 때 사용되는데, 하나의 테이블로 모든 관계를 정의할 수 있어서 유용하게 쓰인다. 셀프조인 형태로 구현한 카테고리 엔티티와 메뉴 엔티티를 맵핑하고 Json을 내려주는 과정에서 어떻게 순환참조를 피할 수 있을까?? 예시데이터 카테고리 메뉴 내가 원하는 응답값 카테고리 { "message": "카테고리 정보를 조회하였습니다.", "data": { "id": 2, "categoryCode": "soup_stews", "categoryName": "찜_탕_찌개", "parent": { "id": 1, "categoryCode": "koreanfood", "categoryName": "한식", "parent": null, "ch..

🌿 Spring 2022.11.09

Server-Sent Event (SSE)란? feat Node.js

목차 기존 프로젝트에선 백엔드 -> 프론트로 데이터를 보내줄때 웹소켓을 사용하였다. 웹소켓은 양방향인데, 굳이 프론트 -> 백엔드방향으로 연결되어있을 필요가 없어서 이것저것 찾아보니 SSE를 알게되었고, 사용해보았다! SSE란 ? SSE는 서버의 데이터를 실시간으로 스트리밍 하는 기술이다. 변경된 데이터를 가져오기 위해 지속적으로 API를 호출하여 동기화하는 작업을 없앨 수 있는 것이다! - 웹소켓은 WSS 프로토콜을 따로 사용하지만 SSE는 HTTP를 사용하기때문에 별다른 서버 셋팅이 필요하지 않다는 장점이 있다. - 클라이언트와 서버가 최초 한번 HTTP연결을 맺으면 그 뒤로 서버가 클라이언트에게 지속적으로 데이터를 보낼 수 있다. EX ) 서버에서 가끔씩 데이터를 받아야하는데, N초동안 데이터가 실..

🌿 Spring 2022.09.20

AWS Lambda | 람다란? 동작방법, DB 커넥션, InvocationType, Serverless

목차 Lambda(람다)란? 람다는 아마존 웹서비스에서 제공하는 서버리스 컴퓨팅 서비스이다. * 서버리스란? 별도의 서버 셋팅없이 바로 코드를 실행할 수 있는 환경을 말한다. 따라서 서버를 계속 띄우기 보다, API를 호출할때만 서버를 동작하게 하고싶을 때 람다를 사용하면 유용하다! 람다는 어떻게 동작할까? - 람다가 실행시킬 수 있는 코드용량은 250MB 이다. - 함수 실행시간은 최대 15분 - 하나의 람다함수는 하나의 실행환경(컨테이너)에서 실행된다. - 람다는 함수가 호출될때 새로운 컨테이너를 띄워 처리한다. -> 가볍게 확장이 가능하다. -> Stateless. = 별도의 상태를 저장하지 않는다. = DB Connection등을 유지할 수 없다. (개념적으로는 그렇다.. Warm Start경우엔..

🧰 DevOps 2022.09.18

신입 백엔드 개발자 취업준비&후기 : 자소서, 포트폴리오, 면접 TIP

목차 취업준비 전 스펙 - 컴공 졸업 - 교내 졸업작품 출전대회 우수상 - 정보처리기사 자격증 - 네트워크 관리사 2급 자격증 - SQL 개발자 자격증 - 얕은 자바와 스프링 지식 - 수업시간에 만든 부끄러운 내 프로그램.. - 2년 9개월 사무직 경력 저는 대학 졸업 후에 전공을 살릴 계획이였지만.. 우연히 2년 9개월동안 사무행정 업무를 봐왔습니다! 사실상 IT회사에서는 인정해주지 않는 공백기간이 2년 9개월이나 생겨버린거죠 허허.. 취업하려하니 막상 자신있게 내보일만한 포트폴리오도 없고 취업해서도 지금 내 실력으로 일을 잘 할수있을까..?! 싶어서 6개월동안 방구석 코딩폐인으로 지냈습니다 ㅎㅎㅎ 취업준비 순서? 1차 서류심사에는 이력서, 자기소개서, 포트폴리오를 제출하고 2차 면접심사에는 CS지식 ..

반응형