전체 글
-
2024 위니브 엠버서더 3기 선정weniv 2024. 6. 4. 23:49
앞으로 3개월(6~8월) 위니브 엠버서더 3기에 선정되어 활동하게 되었다.위니브 컨텐츠를 소비해보고 리뷰를 올릴 예정이다. 1. 위니브 엠버서더가 되었다. 나는 개발 인강 중독자다.늦게 개발에 입문해서 남들보다 잘하고 싶은 욕심으로 꾸준히 하다보니 결제한 강의가 많아졌다.(다 흡수했는지는 의문이지만. . . 넓고 얇게 많이 알게 되었다.)위니브는 인프런을 안다면 강의에서 드문드문 봤을 "제주코딩베이스캠프" 강의를 통해 알게된 기업이다.위니브는 청년의 IT교육 허들을 낮추겠다는 목표로 합리적인 가력으로 양질의 컨텐츠를 제공하고 있다.코딩 알고리즘 문제풀이 서비스 운영개발 스터디 모집 서비스 운영온오프라인 개발 컨퍼런스 주최 운영온라인 강의 500개 이상 제작/공급ICT 전자책 출판부트캠프 운영청년 오픈..
-
2024 스프링캠프 후기세미나 참석 2024. 5. 25. 23:04
다시보기 위치 : https://www.youtube.com/playlist?list=PLdHtZnJh1KdY3gEi7EPa2AuWn5NKRVmDf2023년에 이어서 2024년 스프링캠프에 다녀왔다. (2023년 스프링캠프 포스팅 -> https://yeoon.tistory.com/108)크게 3가지를 얻으려고 했다. SpringCamp 2024스프링캠프 2024 세션의 전체 영상 보기 목록입니다. (총 10개 세션) 🗓️ 2024년 5월 25일 (토) 오후 1시 ~ 오후 6시 🧭 SETEC 컨벤션센터 [Track1] (Session 1) 켄트 벡의 Tidy First? 🎙️ 안영회 (베터코드)www.youtube.com 인사이트 얻기실무에 도입할 내용동기부여동기부여는 충분히 되었고,얻은 인사이트와..
-
Java Lint 기능을 사용해서 formatting 강제하기JAVA/자바설치 2024. 5. 3. 23:48
1. 배경 클린코드 책을 보면 한 챕터를 formatting(형식)에 관한 이야기를 한다.요약하자면 작성한 소스코드에 formatting(들여쓰기, 줄바꿈, 띄어쓰기 . . . 등등)이 굉장히 중요하다고 한다.formatting이 코드를 읽을때 가독성에 영향을 주고 이는 뇌에 영향을 줘서 생산성에도 영향이 간다.formatting은 아키텍처와 같이 한번 굳어지면 리펙토링이나 변경이 불가능하다. 기존 코드 formatting을 모방해서 작성할 수 밖에 없고, 이를 지키지 않고 여러명이 각자의 style로 작성하게되면 카오스가 되기 때문. 2. 해결책 Linter 그리고 Sonar Lint, Sonar Cubeformatting을 clean하게 유지하기 위해, 개발자들은 강제로 formatting을 정해진 ..
-
sdkman env 사용해서 java, gradle, maven 버전 프로젝트별로 설정JAVA/자바설치 2024. 5. 3. 22:57
sdkman 설치하기 : https://yeoon.tistory.com/80sdkman env를 사용하는 이유결과부터 보면 아래처럼 인텔리제이로 프로젝트를 열기만 했는데, Java vesion, Gradle version을 변경되게 만들 수 있다. Java의 LTS 변경 주기가 빨라지면서, 회사나 개인 프로젝트에 여러 JAVA version를 사용하게 되었다. IntelliJ를 사용하면 버전에 맞는 JDK 다운로드 및 설정을 지원하지만,터미널에서 java 버전이 프로젝트와 맞지 않는 문제가 있다.sdkman env 기능을 사용해서 JDK와 빌드도구의 버전을 자동 설정해서 문제를 해결해보자.sdkman env 사용법1. 프로젝트 root path 위치에서 터미널에 아래의 명령어를 입력하면 .sdkmanrc..
-
QueryDsl projections 자바 Record에 적용하기Spring Boot/JPA 2024. 4. 23. 01:58
QueryDsl을 이용하는 경우 반환 타입이 Entity가 아닌 다른 응답 객체(DTO)일때 Projection 기능을 제공해서 원하는 응답 객체로 변환할 수 있다.Projections.beanProjections.constructorProjections.fields@QueryProjection아니면 projection 기능을 포기하고 변환하는 로직을 작성해야하는데, 데이터 size가 크면 성능 이슈가 있을 수 있다. 위 4개 기능들의 사용법과, 장단점을 비교해보자. 결론부터 말하자면 Record는 Projections.constructor로만 데이터 바인딩이 가능하다. constructor 방식은 버그를 만들수 있어서, QueryDSL 응답객체는 Record 대신 class를 이용하고 fields pr..
-
Port Adapter 패턴이란? (클린아키텍처)Spring Boot 2024. 4. 20. 23:39
배경 사내에 MSA를 도입 해보자는 이야기가 있어서, 이왕이면 제대로 해보고 싶어 요즘 열심히 스터디 중이다. 내가 필요하고 판단한 선수지식은 다음과 같다. 멀티모듈(https://yeoon.tistory.com/145) DDD (https://yeoon.tistory.com/147) port-adapter pattern Spring Cloud event-consistency, 카프카 AWS EKS port-adapter pattern에 관해 작성해본다. Clean Architecture port adapter pattern은 아키텍처적인 문제를 해결하기 위해 등장한 아키텍처 패턴 중 하나다. 아키텍처는 기본적으로 변경이 어렵다 즉 개선이 어렵다. 좋은 아키텍처는 쉬운 확장, 테스트 하기 쉬운 코드, 높..
-
DDD 기본개념 톺아보기Spring Boot 2024. 4. 20. 00:23
배경사내에 MSA를 도입 해보자는 이야기가 있어서,이왕이면 제대로 해보고 싶어 요즘 열심히 스터디 중이다.내가 필요하고 판단한 선수지식은 다음과 같다.멀티모듈(https://yeoon.tistory.com/145)DDDport-adapter pattern (https://yeoon.tistory.com/148)Spring Cloudevent-consistency, 카프카AWS EKSDDD에 관해 작성해본다. Domain Driven Design의 탄생2005년 마틴 파울러, 로드 존슨 등등등 유명한 개발 아저씨들 모여 토론.주제는 1999년 ~ 2005년 EJB 등장으로 객체지향개발 같은 방법론 적용 못하고, 코드 너무 복잡해져서 해결책 논의.에릭 에반스라는 사람 Domain Driven Design이란..
-
JPA 주의점 (1) - OSIV false 설정 (open-in-view)Spring Boot/JPA 2024. 4. 19. 23:25
웹 서비스 성능에 중요한 지표로 "처리량"과 "응답시간"이 있다. 처리량 (throughput) - https://www.youtube.com/watch?v=JJJ4LReZ5q4서버에서 들어온 요청이 처리되는시간을 말한다.db connection 획득 시간db statement 전송 및 쓰기 시간요청 받은 statement 처리 시간db clent에게 result set 반환하는데 걸리는 시간db connection을 반환하고 Transaction이 idle되는 시간처리량을 숫자로 표현할때 TPS (Transaction Per Second)를 사용한다. TPS = transaction count / time초당 몇개의 클라이언트 요청 처리할 수 있는지 지표응답 시간 (response time) - 아래의..