오블완
-
MySQL 관련해 신경쓰면 좋은 것 (feat. 성능)Spring Boot/DB 2024. 11. 13. 21:48
1. mysql 5.7.20 → mysql 8.0 아키텍처 변경Query cache가 MySQL 5.7.20부터 depreciated 되고, 8.0을 기점으로 삭제(https://dev.mysql.com/doc/refman/5.7/en/query-cache-configuration.html)트래픽 많아지면서 발생하는 DBMS의 Query cache 업데이트 비용과, 운영중 발생하는 캐시 stale 문제가 Query cache 기능을 제공하는 이점 보다 심각하다 판단하여 삭제mysql 버전을 올렸는데 더 느려진 경우가 있는데 Query cache가 없어졌기 때문. 캐시는 애플리케이션 단에 직접 구현해야한다. 2. mysql 5.7.20 → mysql 8.0 Storage 엔진query 실행하는 구현체 엔..
-
Lombok 사용시 주의점 (쓰지 말아야 할 Lombok)Spring Boot 2024. 11. 12. 23:44
Modern Java 에서는 Lombok 사용을 지양하고 있다. [참고 : https://www.danvega.dev/blog/no-lombok] 큰 이유는 이러하다. 1. IDE 기능으로 디버깅을 어렵게 한다.2. Annotation Processing에 충돌을 일으킨다.3. 숨겨진 코드가 버그를 유발 이에 따라서, Java 17부터 Lombok의 대부분 기능을 대체할 수 있는 record 클래스, Builder가 필요하다면 IDE로 생하길 권장한다.하지만, 실무에서는 Java 8을 쓰는 것이 대부분이다. Lombok을 쓰지 않을 수는 없기 때문에 아래의 Lombok 사용법을 꼭 읽어보고 주의해서 사용해야한다. 배달의 민족에서 기술이사로 있는 손권남 님의 블로그를 보면Lombok best pract..
-
iterm2 설정하기Spring Boot/환경설정 2024. 11. 12. 23:10
Item2 설치하기 : https://iterm2.com/oh-my-zsh 설치하기 : https://ohmyz.sh/#install oh-my-zsh 테마 변경 : https://github.com/ohmyzsh/ohmyzsh/wiki/Themes터미널 컬러 프리셋 설치 : https://github.com/wesbos/Cobalt2-iterm터미널 폰트 설치 : https://github.com/powerline/fonts oh-my-zsh 플러그인 설치 - 터미널 명령어 자동완성- 명령어 컬러 하이라이트 git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins..
-
2025 인텔리제이 추천 플러그인 (recommended intellliJ plugin)Spring Boot/인텔리제이 2024. 11. 10. 21:19
1.배경인텔리제이 첫 설정시 추가한 플러그인을 소개한다.2. IntelliJ pluginLinter 설치 (사용 이유 참고 : https://yeoon.tistory.com/151)SonarLint (자바) : 소나큐브에서 제작한 linterKtlint (코틀린) : 코틀린 공식 linterGitHub Copilot : 회사에서 사전에 사용승인 필요JPA Buddy : JPA 관련 도구 Entity 생성시에 도움된다.LangCursor : 마우스 커서에 현재 영어인지 아닌지 확인. 한국인이 제작한 플러그인으로 non-english 언어 사용자의 편의를 위함String Manipulation : String 조작 관련 지원 도구 (String 관련 작업의 생산성 상승)camelCase ↔ snake cas..
-
[M3 Mac] 개발환경 설정개발공부 2024. 11. 9. 23:53
1. 공통맥북 설정 진행컴퓨터 방화벽 on 설정키보드 → 키 반복 빠르게로 변경마우스 → 속도 빠르게로 변경finder 폴더 설정 (finder > 상단메뉴 > 설정 > 사이드바 설정 root 디렉토리 check) 2. 필수 프로그램 설치homebrew 설치 (m3 mac 기준 : 참고링크)웹 애플리케이션 설치brew install --cask google-chromebrew install --cask slackbrew install --cask notionbrew install --cask warp // AI 기능 내장 터미널 (iterm2 설정 대체)brew install --cask alfred // 내 맥북 자체 search 용도 (command + space spotlight 보다 더 많은 편의..
-
springboot 애플리케이션 데이터베이스 초기화Spring Boot 2024. 11. 8. 23:58
Spring boot에서는 데이터베이스 변경에 대한 관리 방법을 제공한다.default 설정은 package에 entity를 감지하여 각각의 테이블을 자동 생성한다.데이터베이스를 초기화 하는 방법은 다양한 방법이 있다. 꼭 하나만 선택하여 사용하는 것을 추천한다. 1. JPA를 사용하여 Database를 초기화하는 방법프로젝트를 시작할때 JPA가 DDL generation 기능을 제공한다.Entity를 작성하고 애플리케이션을 실행하면 빈 테이블이 생성된다.spring.jpa.generate-ddl=true # vendor 독립적이고 on/off 할 수 있다2. Hibernate를 사용하여 Database를 초기화하는 방법외부 환경 변수로 조작spring.jpa.hibernate.ddl-auto=creat..
-
GIT 브랜치 전략 정리GIT 2024. 11. 7. 23:09
1. 브랜치 전략을 세우는 이유여러 개발자가 하나의 프로젝트 소스코드를 다루며 각종 부작용이 발생한다.대표적으로 머지 충돌 → 코드 유실, 코드 변조가 일어난다.협업을 원활하게 하기 위한 약속이 필요하다.2. 대표적인 브랜치 전략 종류 GIT FLOW (https://github.com/nvie/gitflow?tab=readme-ov-file)Vincent Driessen이 제안한 깃 관리 전략. main, develop, feature, release, hotfix와 같은 브랜치를 사용하여 프로젝트를 체계적으로 관리하는 방식장점체계적인 릴리즈 관리개발과 유지보수가 독립적으로 진행관리 되어 유지보수성의 용이함여러 브랜치로 진행사항을 추적, 검토하여 긴 개발주기에 유용함단점복잡한 브랜치 구조로 작은 프로젝..