내일배움캠프 Kotlin & Spring 3기 수료 후기
·
TIL
약 4개월간에 고군분투가 이틀전에 끝이 났다 !! 내일배움캠프 이전의 삶 & 선택한 계기 👇개발 공부가 처음은 아니였다. 2년전에도 학원을 다니며 공부와 팀 프로젝트를 진행하며 취업 활동도 했었지만 갑작스런 소집통지서가 날라오는 바람에 올해 7월26일 소집해제를 하게 됐다. 소집해제 날이 다가오자 ' 내가 다시 개발을 혼자 공부할 수 있을까 ? ' 라는 생각을 했고 답은 ' No ' 였다.  주변에 개발 공부를 하는 사람이 없었고 혼자 하게되면 나태해질게 뻔했다.그러던 중 부트캠프라는 것을 알게되었고 마침 내가 소집해제가 끝나고 나서 시작하면서 백엔드 커리큘럼을 진행하는내배캠을 선택하게 됐다. 내일배움캠프  장점 😄1. 사전캠프내배캠의 경우 9 to 9로 아침9시부터 저녁9시까지 진행되게 된다. 처음..
내배캠 - 플러스 팀 프로젝트
·
프로젝트
프로젝트 목표 - Cache를 이용한 성능 개선프로젝트 기간 - 24.11.22 ~ 24.11.29구성원 - 4명프로젝트 GitHub  GitHub - ocean-sunfish9/ocean-backend: ocean-backendocean-backend. Contribute to ocean-sunfish9/ocean-backend development by creating an account on GitHub.github.com KPT 회고  KeepDocker compose로 MySQL, Redis를 실행각자 properties 파일을 맞추지 않아도 되어서 편했다.개발에 관한 의견 제시시에 일방적인 강요가 아닌 설득각 이슈마다 브랜치를 생성하여 개발한 것병합할 때 충돌 최소화nGrinder 를 이용해서..
CI/CD
·
TIL
😮 CI / CD란 ?  Continuous Integration / Continuous Deployment(Delivery)의 약자로 지속적인 통합과 지속적인 제공을 의미한다.CI / CD는 애플리케이션 개발부터 배포까지 모든 단계를 자동화하여 효율적이고 빠르게 사용자에게 배포할 수 있도록 함 🙁 CI - 지속적인 통합애플리케이션의 버그 수정이나 새로운 코드 변경이 주기적으로 빌드 및 테스트되면서 공유되는 git repository에 통합되는 것을 의미Git에 Push나 PullRequest 요청이 온다면 해당 코드를 빌드하고 테스트 코드를 실행하며 문제 없는지 체크하는 과정이 자동화된다. 👉 CI의 장점자동화된 빌드와 자동화된 테스트를 제공하여 안정적인 코드를 빠르게 제공할 수 있는 밑거름이된다..
Batch Insert로 100만건 데이터 생성하기
·
TIL
👉 Batch Insert란 ?Spring Data JPA의 saveAll() 메서드를 통하여 엔티티를 저장한다면 아래와 같이 데이터의 갯수만큼 Insert 쿼리가 나가게됩니다. 이렇게 된다면 저장해야될 데이터가 많아질 수록 시간이 오래걸리고 성능저하의 문제가 발생한다.INSERT INTO users(created_at, modified_at, email, nickname, password, user_role) values('2024-11-20 20:43:05.944329', '2024-11-20 20:43:05.944329', 'dl805327@gmail.com', '권형심', '$2a$04$LbX5GfGOwEMKSBqN0QT6L.D5deA/Ys2Okyt1sc6E51uXcVh.rd0Tm', 'ROLE..
Docker - 자주 사용하는 명령어
·
TIL
😆 Docker System 정보docker version : Docker 버전 및 상세정보 확인docker -v : Docker 버전 및 빌드 버전을 한줄로 간단하게 확인docker system info : Docker의 시스템 전체 정보 확인docker system events : 서버로 부터 실시간 이벤트를 받는다.docker system df : 도커 디스크의 사용량 확인docker login -u [ID] : 도커 허브에 로그인🙂 Docker - 이미지이미지 목록 조회docker imagesordocker image ls 이미지 검색docker search [이미지 이름] 이미지 다운docker pull [이미지 이름]:[버전] //latest 기재 시 최신 버전 다운로드 가능 이미지 삭제d..
Docker란 ?
·
TIL
🤔 Docker(도커) 란 ?Docker는 컨테이너 기반의 오픈 소스 가상화 플렛폼이다.Docker는 애플리케이션과 그 의존성을 가상화된 컨테이너에 담아 효율적으로 실행할 수 있게 해준다.이를 통해 다양한 운영체제와 환경에서 일관된 실행 환경을 제공하고, 개발과 운영 간의 이식성을 높여준다. 🤯 컨테이너란?컨테이너는 도커의 핵심 개념으로,  격리된 환경에서 프로세스를 실행하기 위한 경량화된 가상화 단위로 애플리케이션과 그에 필요한 모든 종속성(라이브러리, 실행파일 등)을 컨테이너에 패키징하여 동일한 환경에서 실행할 수 있게 한다.🧐 Docker ImageDockerImage란 서비스 운영에 필요한 종속성(라이브러리, 실행파일 등)을 묶어서 가지고 있는 것이다.Dokcer 이미지들은 github와 똑..
JPA - QueryDSL을 이용한 동적쿼리
·
TIL
🤩 QueryDSL이 뭔지 모르시다면 !2024.11.15 - [TIL] - JPA - QueryDSL 🤜 요구사항일정을 검색하는 기능검색 조건- 일정 제목으로 검색할 수 있으며 부분적으로 일치해도 검색 가능- 일정의 생성일 범위로 검색할 수 있다.- 일정 담당자의 닉네임으로 검색 가능하며 부분적으로 일치해도 검색 가능- 일정 제목, 해당 일정의 담당자 수, 해당 일정의 총 댓글 갯수를 페이징 처리되어 반환되도록한다. 🤗 QueryDSL의 동적쿼리 방법QueryDSL의 동적쿼리 방법으로는 Boolean Builder 방법과 BooleanExpression 방식으로 나뉘는데 이번 검색 기능을 구현하며BooleanExpression을 이용하여 구현하였기에 Boolean Builder 방법은 간단하게 사..
JPA - QueryDSL
·
TIL
👻 QueryDSL이란 ?SQL, JPQL 등을 코드로  작성할 수 있도록 해주는 프레임워크이며, 쿼리를 type-safe(컴파일시 에러 체크 가능)하게 Java 코드로 작성할 수 있다. JPQL 이란?JPA에서 지원하는 다양한 쿼리 방법 중 가장 단순한 조회 방법으로, SQL의 경우에는 DB 테이블을 대상으로 쿼리를 질의하지만, JPQL은 엔티티 객체를 대상으로 쿼리를 질의JPQL의 경우 아래 코드에서 볼 수 있듯, 쿼리를 문자열로 입력하므로 오타가 발생하면 관리가 어렵고, type-safe 불가능하여 런타임에서 해당 쿼리가 실행되어야만 오류를 발견할 수 있다는 단점이있다.@Query("select t from Todo t inner JOIN fetch t.user where t.modifiedAt ..