개발을 하다 보면 산만한 UI 요소 때문에 코드에 집중하기 어려울 때가 있습니다.특히 회의 중 코드 리뷰, 라이브 코딩, 발표, 집중해서 작업할 때 불필요한 패널과 창들이 거슬리는 경우가 있습니다.IntelliJ IDEA에는 이럴 때 유용한 두 가지 모드가 있습니다!✅ 프레젠테이션 모드 (Presentation Mode) – 전체 화면에서 코드만 보이도록 설정✅ 집중력 분산 방지 모드 (Distraction Free Mode) – 최소한의 UI만 남겨서 집중력 향상이 두 가지 모드를 활용하면 작업 집중도와 코드 가독성을 높일 수 있습니다.🔥 1. Presentation Mode – 코드만 보이는 초 집중 모드📌 특징전체 화면을 코드 전용 모드로 변경툴바, 탭, 프로젝트 창, 하단 로그 창 등 모든 U..
String명령어설명예SET값을 설정SET key valueGET값을 조회GET keyDEL키를 삭제DEL keyINCR값을 1 증가INCR keyINCRBY값을 지정된 크기만큼 증가INCRBY key incrementDECR값을 1 감소DECR keyDECRBY값을 지정된 크기만큼 감소DECRBY key decrementAPPEND문자열 값을 이어 붙임APPEND key valueMSET여러 키-값 쌍을 설정MSET key1 val1 key2 val2MGET여러 키의 값을 조회MGET key1 key2Hash 명령어 설명 예제 HSET특정 필드에 값을 설정HSET key field valueHGET특정 필드의 값을 조회HGET key fieldHDEL특정 필드를 삭제HDEL key fieldHGETAL..
윈도우 환경에서 Spring Cache 사용여부에 따른 성능 비교를 위해 Vegeta라는 툴을 사용해보고자 한다. Cache는 Redis Cache를 사용한다.local ip 확인해두기Vegeta 설치 전 명령프롬프트에서 ipconfig를 통해 local의 IPv4 주소를 확인해두자.Vegeta 설치윈도우 환경에서 Vegeta 설치를 위해서는 WSL를 이용하여 ubuntu를 설치해줘야 한다.윈도우에 ubuntu 설치WSL로 설치한 ubuntu에 접속하고 Vegeta를 설치한다sudo snap install vegeta참고 : 스냅(Snap)은 우분투의 개발사인 캐노니컬에서 개발한 패키지 관리 시스템이다아래 명령어를 통해 스냅으로 설치된 패키지 목록을 확인할 수 있다.snap list주요 명령어 및 파라미..
redis 이미지 pulldocker pull redis:[TAG]redis 이미지 실행docker imagesdocker run --rm -p 6372:6372 -d redis:6.2실행중인 redis 컨테이너의 redis-cli 접속docker psdocker exec -it [CONTAINER ID] redis-cliredis-cli 모니터링docker exec -it [CONTAINER ID] redis-cli monitorredis-cli 벤치마크docker exec -it [CONTAINER ID] /bin/bashredis-benchmark
발생 상황특정 원데이 클래스에 대해 페이징 된 리뷰 목록을 반환하기 위해 Response DTO 를 Page 객체로 한번 감싸서 반환하고 있습니다. @GetMapping("/{classId}/reviews") public ResponseEntity>> getClassReviews( @PathVariable Long classId, @PageableDefault Pageable pageable ) { return ResponseEntity.ok().body( SuccessResponse.of( ResponseMessage.REVIEW_GET_SUCCESS, ..
Fork를 이용한 협업 과정에 익숙하지 않아 이번 직접 실습을 해보며 정리를 해 보았습니다.원본 레포지토리를 Fork하고 PR을 생성하기까지의 과정원본 저장소를 Fork해 온다.협업하려는 조직(Organization) 혹은 개인의 레포지토리를 개인 저장소로 Fork 한다.Fork한 저장소를 로컬에 클론하여 작업 진행개인 저장소에 생성된 Fork 해온 레포지토리를 git clone 명령어를 통해 로컬에 클론을 생성한다.Upstream 설정아래의 명령어를 통해 로컬 저장소에서 원본 저장소를 업스트림으로 설정한다.git remote add upstream [원본 저장소 URL]위 과정을 완료 하고 git remote -v 명령어를 통해 현재 로컬 저장소에 등록된 원격 저장소의 목록을 확인해 보면, 원본 저장소..
`CascadeType.REMOVE` 와 `orphanRemoval = true` 는 JPA에서 엔티티 간의 관계를 관리할 때 사용하는 두 가지 기능으로, 각기 다른 상황에서 엔티티를 삭제하는 데 사용된다.CascadeType.REMOVE기능 : `CascadeType.REMOVE` 는 부모 엔티티가 삭제될 때, 관련된 엔티티도 함께 삭제하도록 설정하는 기능이다.사용 시기 : 부모 엔티티와 자식 엔티티가 강한 의존 관계를 가지고 있어서 부모 엔티티가 삭제 될 때 자식 엔티티도 함께 삭제되어야 하는 경우에 사용한다.예시@Entitypublic class Parent { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long..
LocalDateTime을 바이트화(직렬화) 할 때 어떤 규칙으로 할지 지정되지 않아 발생하는 에러이다. 에러가 발생한 대상 LocalDateTime 타입의 필드에 직렬화(Serialization)와 역직렬화(Deserialization)를 위한 어노테이션을 사용하여 해결. public class Dividend { @JsonSerialize(using = LocalDateTimeSerializer.class) @JsonDeserialize(using = LocalDateTimeDeserializer.class) private LocalDateTime date; private String dividend; } @JsonSerialize(using = LocalDateTimeSerializer.class)..