일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- F-Lab
- 코딩테스트
- github
- 알고리즘
- 성능테스트
- Flutter
- 도커
- 에프랩
- MySQL
- AWS
- 자바백엔드
- 후기
- FLAB
- 로드밸런서
- 데이터구조
- 플러터
- grafana
- backend
- EC2
- 레디스
- Spring
- 자바
- 백엔드
- java
- 멘토링
- 트러블슈팅
- nGrinder
- 부트캠프
- redis
- error
- Today
- Total
목록Programming Language & Framework (37)
민스씨의 일취일장
Java에서 String을 다룰 때 사용하는 indexOf() 메서드에 대해서 알아본다.Java String indexOf()Java String의 indexOf() 메서드란Java String 클래스의 indexOf 메서드는 문자열 내 특정 '문자' 또는 '문자열'의 위치(첫번째 위치)를 알려준다.사용방법예시는 str을 이용해 진행하도록 하겠다.String str = "Hello World World";문자 찾기문자 'o'를 찾는 경우, str에는 'o'가 3개 존재하지만 첫번째 문자의 인덱스인 4를 반환한다.int index = str.indexOf('o'); // 결과: 4문자열 찾기문자열 'World'의 경우, str에 총 2번 나타난다. 하지만 이 경우에도 첫번째 'World'의 시작 인덱스인 ..
Spring Data JPA의 클래스 프로젝션 적용 중 오류가 발생하는 이슈에 대한 내용이다.상황인프런 강의의 '섹션 8 - Projections' 실숩 중 class projection(클래스 프로젝션)이 적용되지 않는 이슈가 발생했다. 클래스를 작성후 Repository에 메서드를 등록하기만 하면, 실행 중 에러가 발생했다.작성했던 코드작성했던 코드는 아래와 같다.public class UsernameOnlyDto { private final String username; public UsernameOnlyDto(String username){ this.username = username; } public String getUsername(){ retu..
JPA Fetch Join에 distinct 적용안해도 중복이 제거 돼있는 이슈에 대한 내용이다.상황인프런 강의의 '섹션5 - 주문 조회 V3: 엔티티를 DTO로 변환 - 페치 조인 최적화' 실습 중 distinct를 적용하지 않았음에도 중복이 제거되는 상황이 발생했다.혹시 코드를 잘못적은 것은 아닌지 여러번 확인해 보았지만 코드에 상에는 문제가 없어 보였다. 원인을 찾던 중, 버전 차이 때문은 아닌지 알아보았다.원인파악현재 실습을 진행환경은 Java 17, 스프링부트 3.3이다.스프링 3.3은 HIbernate 6을 사용한다.Hibernate 6 공식문서를 확인해 보면, 해당 내용이 명시 되어있다.하이버네이트 6부터는 distinct를 적용하지 않아도 중복 데이터를 메모리에서 제거하기 때문에, dis..
프로젝트 재실행 없이 UI 변경사항 반영되도록 하는 방법에 대한 글이다.Thymeleaf - 재실행 없이 변경사항 반영되도록 하는 방법 타임리프(Thymeleaf)와 같은 템플릿 엔진을 이용해 UI를 개발하고 있을 때, 변경사항이 제대로 반영되었는지 확인하기 위해 반복적으로 프로젝트 전체를 재실행하는 것은 생각보다 많은 시간을 잡아먹는다. 그렇다고 프로젝트 Rebuild를 진행한다고 반영되는 것도 아니다. 이럴 때 사용하면 좋은 도구가 있어 소개하려고 한다.devtoolsbuild.gradle(또는 pom.xml)에서 devtools를 추가해주면 된다. devtools는 알아서 캐시를 지워주고 UI를 빌드해줘, 프로젝트를 재싱행하지 않고, 브라우저 새로고침만으로 변경사항을 바로 확인할 수 있도록 해주는 ..
설계 원칙에 대해서 학습한 내용을 기억하기 위한 글입니다.설계 원칙에 대해서SOLIDSOLID는 객체 지향 설계를 위한 5가지 설계 원칙을 말한다.S : 단일 책임 원칙O : 개방 폐쇄 원칙L : 리스코프 치환 원칙I : 인터페이스 분리 원칙D : 의존성 역전 원칙Single Responsibility Principle 단일 책임 원칙단일 책임 원칙은 하나의 모듈, 즉 클래스, 인터페이스, 메서드 등은 하나의 책임 또는 하나의 기능만을 가져야 한다는 원칙이다.이 때, 하나의 모듈이 단일 책임을 갖고 있다는 판단은 해당 로직이 사용되는 시나리오 내에서 살펴봐야 한다.Open-Closed Principle 개발 폐쇄 원칙확장에는 열려있고 수정에는 닫혀 있어야 한다는 원칙이다.SOLID 원칙 중 가장 이해하기..
스프링 IoC와 DI에 대해서 학습한 내용을 기억하기 위한 글이다.스프링 IoC와 DI에 대해서스프링 IoCIoC란?IoC는 Inversion of Control로 '제어의 역전'을 뜻한다. 원래 객체는 스스로 필요한 의존성을 생성하거나 찾는데 반해, 스프링에서는 해당 역할을 스프링에 위임했다. 이를 보고 제어가 역젼됐다고 말한다.IoC 컨테이너객체로 부터 위임받은 객체의 생성, 생명주기 관리는 스프링 컨테이너가 담당한다. 이렇게 객체 관리의 권한을 위임받은 것이 스프링 컨테이너의 중요한 기능이기 때문에, 'IoC 컨테이너'라고도 부른다.스프링 IoC의 주요 기능스프링 IoC의 주요 기능은 아래와 같다.1. 의존성 주입 (DI)2. 객체 생명주기 관리3. 애플리케이션 설정 관리4. AOP 지원스프링 DI..