일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 데이터구조
- 부트캠프
- java
- backend
- 후기
- 멘토링
- 성능테스트
- 알고리즘
- AWS
- 레디스
- 코딩테스트
- 백엔드
- 자바
- 플러터
- error
- 에프랩
- github
- Flutter
- F-Lab
- 도커
- 트러블슈팅
- 자바백엔드
- FLAB
- nGrinder
- EC2
- Spring
- MySQL
- 로드밸런서
- grafana
- redis
- Today
- Total
목록Programming Language & Framework (36)
민스씨의 일취일장
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..
객체 지향 프로그래밍에 대해 학습한 내용을 기억하기 위한 글이다. 이해를 돕기 위한 설명보다는 요점을 정리하는 데 중점을 두었다.객체 지향 프로그래밍에 대해서객체 지향 프로그래밍 패러다임이란[ydmins' 한줄정리]객체 지향 프로그래밍 패러다임은 현실 세상에 존재하는 개체들을 가상의 객체로 모델링해, 이 객체들끼리 상호작용하도록 소프트웨어를 만드는 방법을 말한다. 여기서 객체는 객체 지향 프로그래밍 패러다임의 코드를 구성하는 기본단위로, 실제 코드로 작성할 땐 클래스형태로 작성한다. 클래스는 두가지 정보로 구성된다. 속성값을 담아두는 변수들과 이 변수들을 다루는 메서드이다. 클래스(객체)들은 객체 지향의 주요 4가지 특성(캡슐화, 상속, 다형성, 추상화)을 따르며 상호작용한다.객체 지향 프로그래밍 언어는..