본문 바로가기
728x90
320x100

💻 하나씩 차곡차곡/Back-end48

인텔리제이(IntelliJ)에서 롬복(Lombok) 활성화 하는 방법 1. 디펜던시(dependencies)에 Lombok 추가build.gradledependencies { annotationProcessor 'org.projectlombok:lombok'} 2. Lombok 설치[Settings] - [Plugins] - [Lombok] install 3. Lombok 기능 활성화 [Settings] - [Annotation Processors] - [Enable annotation processing] 체크 2025. 4. 4.
"나도 드디어...성능 최적화를...?" - 대용량 INSERT 성능 개선: SQL Session 배치 처리로 최적화하기 [서론]2025년 1월, 새해가 되니 내가 담당자?!작년에 클라이언트가 개선사항을 요청했고 현재 '운영중'이니 내년에 개선하겠다고 약속을 했으며, 그 약속을 했던 전임자는 떠나갔다. 그럼 개선은...? 올해 담당자인 내가 해야 한다. 그래서 써보는 개선 일지.  [요청사항]"1,000건 이상 엑셀 업로드를 할 때 자꾸 에러가 떠요! 1000건 이상 업로드 되게끔 해주세요!"  [문제상황 및 원인][상황] 대량 데이터 DB INSERT 시 성능 저하 및 오류 발생 (ORA-01653 등)[원인] 기존에는 개별 INSERT 문을 실행했으며, 1건씩 처리했기 때문에 성능 저하와 에러가 발생함.[상황] API 통신을 위한 데이터 변환시 속도 저하 발생 (1,500건 2분 가량 소요)[원인] 그리드 데이터를 가공.. 2025. 2. 7.
[Java] IllegalArgumentException VS IllegalStateException : 어떨 때 뭘 써야 하지? 개발할 때 IllegalArgumentException과 IllegalStateException를 자연스럽게 많이 쓰는 경우를 봤는데 어떨 때 어떤 걸 써야 할지 알아두고 싶어서 정리!  1. IllegalArgumentException목적 : 메서드에 전달된 인자가 잘못되었을 때 사용상황값의 유효성 검사 실패 : 인자가 범위를 벗어나거나 형식이 잘못된 경우.값이 특정 제약 조건을 만족하지 않는 경우 (ex.null 값 전달 금지)사용 예시: public void setAge(int age) { if (age 150) { throw new IllegalArgumentException("Age must be between 0 and 150."); } this.age = age.. 2025. 1. 17.
[JPA] 데이터베이스 연결이 안된다, 콘솔창에 DDL문이 안보인다 등등 오늘의 문제사이드 프로젝트 중, 데이터베이스를 연결하고 엔터티를 만들고 Run 했는데 원래라면 데이터베이스가 생성되어야 하고, 콘솔창에 DDL문이 보여야 하는데 안 보임. 원인application.properties 작성이 문제였음.spring.jpa.properties.hibernate.ddl-auto=create초기에는 위와 같이 작성을 하였는데 안되서 아래와 같이 변경해주었더니 됐음.spring.jpa.hibernate.ddl-auto=create-drop 왜?Spring Boot는 spring.jpa.hibernate.ddl-auto를 기본 설정으로 사용하도록 설계 되었고 spring.jpa.properties.hibernate.ddl-auto는 더 낮은 레벨에서 Hibernate에 직접 전달되기.. 2025. 1. 6.
[스프링(Spirng)] Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. 해결방법 [문제발생]스프링스타터를 이용하여 프로젝드를 생성해서 첫 Run을 했더니 아래와 같은 에러메세지가 떴다.***************************APPLICATION FAILED TO START***************************Description:Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.Reason: Failed to determine a suitable driver classAction:Consider the following:If you want an embedded database (H2, HSQL or Derby).. 2024. 12. 24.
시스템 설계 기초 (로드밸런스, 메세지 큐, CDN, DNS 등) 아래의 내용은 을 바탕으로 정리한 내용입니다.    사용자는 웹 브라우저나 모바일 앱을 통해 도메인 이름을 이용하여 웹사이트에 접속한다. 이 접속을 위해서 DNS에 질의하여 IP주소로 변환하는 과정이 필요하다.DNS(Dmain Name Service) : 도메인 이름을 IP주소로 반환한다. ex) www.test.com -> 100.100.100.100정적 콘텐츠 (JS, CSS, 이미지 등)은 웹서버를 통해 서비스하지 않고 CDN을 통해 제공하여 더 나은 성능을 보장한다. CDN(콘텐츠 전송 네트워크) : 정적 네트워크를 전송하는데 쓰이는, 지리적으로 분산된 서버의 네트워크로  JS, CSS, 이미지 등을 캐시할 수 있다.CDN 사용시 고려해야 할 사항 : 적절한 만료 시한 설정, 비용, 장에 애 대.. 2024. 8. 12.
728x90
320x100