본문 바로가기

Kotlin15

인프런 워밍업 클럽 스터디 3기 백엔드/프로젝트(Kotlin, Springboot) 수료식 및 우수러너 선정 2기 때는 박우빈님의 Backend/Clean Code(Java)를 수강했고 우수러너에 선정됐었다.아마 2024년에는 연말에 가까웠어서 연말분위기를 내기 위해 오프라인 수료식을 했었고, 이번에는 온라인 수료식만 진행을 했다.매 주차마다 발자국을 작성하고, 미션 7개도 다 클리어를 했는데 우수러너가 될 줄은 몰랐다..ㅎㅎ 작년 말에 2기를 참여했을때도 박우빈님의 클린코드/테스트코드(Java)에서 200명이 넘는 참가자 중에서 우수러너에 선정됐었는데, 이번  3기 정보근님/백엔드 프로젝트에서도 단 두명만 받을 수 있는 우수러너에 선정돼서 기분이 매우 좋다!인프런 한정판 굿즈 패키지 + 1:1 멘토링권 감사합니다 :) 2025. 4. 5.
4주차 회고 발자국 🐾 마지막까지 KPT 회고 프레임워크를 선택해서 작성해보려고 한다!Keep(만족, 지속하고 싶은 부분)마지막 4주차는 개인프로젝트는 잠시 stop하고 강의와 관련된 부분을 이어 나갔다.Kotlin, Springboot, MySQL, JPA, Docker/compose, Thymeleaf, Bootstrap으로 개발하고 GCP에 Docker로 배포하고 Domain을 구입하고, certbot nginx로 인증서를 발급받아서 https까지 적용했다.2주 쫌 안되게 걸렸는데, 신기했던 부분이 몇 가지 있었다. 첫번째, 코틀린은 언어의 특성으로 인해 주 생성자 부분에 인자를 나열하는 스타일, 주 생성자에는 파라미터만 받고 { } 본문에 val/var등을 붙여 프로퍼티를 만드는 방식, 주 생성자에는 최소한의 인자를 받.. 2025. 3. 29.
3주차 회고 발자국 🐾 2주차와 마찬가지로 KPT 회고 프레임워크를 선택해서 작성해보려고 한다!Keep(만족, 지속하고 싶은 부분)이번 3주차는 개인프로젝트에서는 프로젝트쪽에서는 조회 API를 만들었다. API 테스트에서는 mockMVC를 사용하지 않고, 실제 인증 엔드포인트를 호출하고, AccessToken을 받아서 Authorization 헤더에 넣어서 Project 목록을 가져오는 것을 RestClient로 작성했다.DB url은 src단과 test단에서 다른 곳을 바라보게 만들었다. 개인적으로는 컨트롤러->서비스->레포지토리->서비스->컨트롤러 로 흐르는 스택트레이스 요청&응답을 제대로 검증하기위해서는 실제로 사용하는 DB 벤더까지 맞춰야 한다고 생각한다.실제로 배포했다면 AWS 인스턴스로 요청을 날려보면 되겠고! 갠적.. 2025. 3. 28.
2주차 회고 발자국 🐾 1주차와 마찬가지로 KPT 회고 프레임워크를 선택해서 작성해보려고 한다!Keep(만족, 지속하고 싶은 부분)이번 2주차는 개인프로젝트에서는 RDB 모델링을 마친 뒤 엔티티를 정의했으며 현재는 조회 API를 만들고 있고, 강의에서는 Presentation Layer에 대한 부분을 수강했다. 강의가 개인프로젝트보다 좀 빠르지만, 그만큼 개인 프로젝트에 적용할 수 있는 부분에 대한 인사이트를 미리 얻어갈 수 있는 것 같아서 좋다.Problem(부족, 아쉬웠던 부분)또 내 과욕이 부른 스불재(스스로 불러온 재앙) 느낌의 아쉬운 부분을 써보자면.. RDB를 너무 현업과 비슷하게 만드는 것을 목표로 잡지 않았나 싶다..ㅎㅎ 뭐 어쩌겠어~ 벌린 일이니 해야지..!!강의에 대한 내용은 아쉬운게 전혀 없다!! JSP에서.. 2025. 3. 16.
개발자의 필수덕목 1.Debugging(디버깅) 문제를 조사하는 방법에는- 사전조사(Preliminary Investigation)- 사후조사(Postmortem Investigation)- 런타임&라이브 조사(Runtime/Live Investigation)이 있다. 이번에는 JVM위에서 작동하는 애플리케이션을 만드는 개발자로서 알아야 할디버깅, 샘플링, 프로파일링, 모니터링 / GC(개념)中 디버깅에 대해서 조금 깊게 알아보려고 한다. # 디버깅1) Line breakpoint 활용디버깅이란? 디버깅의 유래에 대해 AWS 문서에서 찾아봤다.https://aws.amazon.com/ko/what-is/debugging/ 디버깅이란 무엇인가요? - 디버깅 설명 - AWS컴퓨터 프로그래밍은 추상적이고 개념적인 활동인 만큼, 버그와 오류가 발생하기 마련입.. 2025. 3. 16.
1주차 회고 발자국 🐾 https://code-boki.tistory.com/231 좋은 회고란? (feat. 인프랩's SOL)좋은 회고란 무엇인가에 글을 작성하기에 앞서 인사이트를 주신인프랩의 직원이신 솔(Sol)이라는 닉네임을 사용하시고 솔퓨터라는 별명을 갖고 계신 소현님의 글을 먼저 공유하고 싶다!!이 글의code-boki.tistory.com먼저, 회고글을 작성하기 전에 회고법으로 사용할 수 있는 전략에 대해서 예전에 작성한 글이 있어서 다시 한번 공유해본다.종종 이런것들을 프레임워크라고 부르기도 한다.디자인 프레임워크, 회고 프레임워크, 백엔드 프레임워크...정해진 틀에 맞춰서 진행하는 것이다.나는 이 중 회고에 사용되는 KPT 회고 프레임워크를 선택해서 이번 한 주의 회고록을 작성해봤다.Keep(만족, 지속하고 싶.. 2025. 3. 9.
코루틴 개념 정리, 디버깅 or 출력해보기(feat. IntelliJ Configuration Template) 2023년 회사에서 코틀린을 썼지만, 쓰자마자 코루틴을 바로 사용하지는 않았었다2024년쯤 코루틴을 공부하고 백엔드 코드에 조금씩 사용하는 영역을 넓혀갔다간단하게 코루틴 기본 개념과 활용까지 블로깅을 조금씩 해보려고 한다로니콜먼도 아마 코루틴을 사용해본 경험이 있는 것 같다. 왜냐하면 "Light Weight Baby!!"라고 외치며 헬스를 했으니 말이다 코루틴(Coroutine)이란?코루틴이란 Light-Weight Thread(경랑스레드)라고도 불리며, 스레드와는 독립적으로 실행되는 비동기 작업의 단위이다 내부적으로는 Continuation이라는 객체에 현재 작업(Job)의 진행 상태를 저장하고, suspend와 resume을 통해 작업을 일시 중단하거나 재개할 수 있다이 특성 때문에 코루틴은 스레드.. 2024. 12. 2.
Kotlin에서 기존 객체를 다른 객체로 변환하는 다양한 방법 백엔드를 개발하다 보면 기존 객체를 DTO(Data Transfer Object)로 변환하거나 다른 클래스 형태로 매핑해야 하는 일이 자주 발생한다예를 들어, 클라이언트 요청에 맞춘 데이터 포맷 변경, API 응답을 위한 직렬화 객체 변환, 또는 엔티티와 DTO 간 데이터 매핑 등...이 글에서는 Kotlin에서 객체를 변환하는 다양한 방법을 소개하고, 각 방법의 장단점을 비교해 보려한다목표Person -> PersonDto기본적으로 동일한 필드 구조를 가진 클래스 간 변환Person -> PersonExtraDto추가 필드가 포함된 클래스에 데이터를 매핑PrivatePerson(private 필드) -> PersonDto접근제어자가 설정된 필드를 매핑성능 테스트예제 클래스먼저, 예제에서 사용할 간단한 .. 2024. 11. 27.
it, 그것을 찾아서 코틀린에서 람다식을 사용할때 인자가 하나인 경우에 it으로 사용할 수 있다 2024년 11월 19일 기준 코틀린 최신버전인 2.021문서를 살펴보면 위의 내용이 나와있다it: implicit name of a single parameter-> 번역: 단일 매개변수의 암시적 이름 it의 활용 예시를 들기 위해.. 간단한 코드를 만들어봤다* 간단한 포스팅용 코드이므로, Assertion이 없다고 불편해하지 마시라!ㅠ. 학습용 테스트도 테스트의 일부일 수 있는것처럼package bokiimport org.junit.jupiter.api.Testclass ItTest { data class Person( val name: String, val age: Int, ) @Te.. 2024. 11. 19.
Kotlin IN ACTION 2nd : 원서를 읽어보자 Kotlin In Action 2nd 원서를 구입했다 from. Yes24무려 82,390원이나 주고 구매했다Kotlin In Action 2판은 2024년 4월에 해외에 출판됐다 현재 국내에 있는 번역서인 Kotlin In Action은 2017년 10월 31일에 나온 1판이다 그동안 코틀린은 많은 업데이트를 거쳐 2024년 9월 29일 현재 2.0.20까지 나온 상태이다그렇기때문에 변한 것도 많을것이다!나는 항상 궁금했다.번역된 해외 IT책을 읽으면서 공부하는 몇몇 개발자들은 "해석이 잘못됐네", "의역이 너무 심하다" 등등 몇몇 불만이 있는 개발자들을 봤다그럴거면 원서 사서 보면 되잖아... 역자도 물론 무료로 봉사한건 아니지만..!! 나도 원서는 대학교때 전공서적빼고는 직접 처음으로 구매해본다영.. 2024. 9. 29.
Wanted 프리온보딩 BE 챌린지 8월 늦게나마 9월 말에서야 8월 2~3째 주에 있었던 원티드 프리온보딩 BE 챌린지 8월의 후기를 올려본다 숨가쁜 8월 달력정말 꽉 차 있던 8월 달력..ㅠ 바뿌수요일은 격주~3주 간격으로 아버지가 항암이 있으셔서 비워놨었다..!!(TMI)원티드 프리온보딩 기간에도 모의면접 기반인 JScode의 Java 스터디도 진행했었다여러모로 바밨기때문에 이제야 후기를 올려본다! Wanted Pre-onboarding BE Challenge(August)https://www.wanted.co.kr/events/pre_challenge_be_22 1차: 8.5(월) 20시 2차: 8.10(토) 10시 3차: 8.12(월) 20시 4차: 8.17(토) 10시" data-og-host="www.wanted.co.kr" dat.. 2024. 9. 28.
DSL이란? 자바로 백엔드개발을 해본 사람들은 queryDSL이란 걸 들어봤을 것이고, Spring Data JPA를 사용하면서 타입세이프하게 쿼리를 동적으로 만들어주며 컴파일 시점에 오류를 미리 알 수 있게 도와주는 라이브러리라고 알고 있을 것이다.또한 코틀린 안드로이드나 코틀린 스프링을 해본 사람들은 Kotlin DSL이란 말 또한 들어봤을 것이다.그럼, 이제 질문을 던져볼 수 있다.queryDSL/KotlinDSL을 사용하셨군요? 그럼 DSL에 대해서 설명해주실래요?답: ㄱ..그게..뭐죠? DSLR은 아는데..헤헿라고 답하면 망한거다ㅋ나는 옛날사람이라서... 어떤 도구를 잘 사용하는것도 중요하다고 생각하면서 동시에 그 도구에 붙여진 이름의 뜻을 아는 것도 중요하다고 생각한다. 정의DSL(Domain Specif.. 2024. 6. 6.
Programming Study Honey Tips (feat. JetBrains/Rust) 프로그래밍 언어를 공부하는 방법은 정말 다양하다 - 강의 - 책 - 학원 - 과외 - 그 외 ✅ 나는 이 중에 혹시나 학생이신 분들 중 Free Educational Licenses 을 받은 분들 혹은 현업에 계신 분들 중 JetBrains 계열(대표적으로 IntelliJ)을 회사에서 사준 경우 혹은 개인이 라이센스를 구매해서 사용하는 경우에 한해서 좋은 방법이 있어 공유하고자 한다 나는 JetBrains All Product Pack을 구매해서 사용중이다 연간구독으로, 매년마다 결제비가 낮아지는 장점이 있다 잡설하고, 어떻게 인텔리제이를 사용해서 프로그래밍 공부를 할 수 있다는 걸까? IntelliJ를 실행하고, Learn 탭을 활성화 시키면 Learn IDE Features / Learn to pro.. 2024. 3. 12.
1. 프로젝트 생성(Kotlin Springboot) IntelliJ를 사용하고 있다는 전제 하에 글을 작성한다 1. File -> New -> Project 2. Project 정보들을 적어준다 Name: 알아서 Language: Kotlin Type: Gradle-Kotlin(개인취향) kotlin을 선택하면 .kts파일로 gradle이 관리된다 JDK: Spring 3.x.x이상부터는 최소 17을 사용해야 한다 Java: JDK와 동일하게 한다 Group은 개인 또는 회사의 앞에 붙는 패키지명을 입력해주면 된다 Packaging은 Jar를 추천한다 Kotlin은 Lombok을 쓸 필요가 없다. 이후에 설명할 것이다 Web, Spring Data MongoDB, Spring Data JPA, PostgreSQL Driver, Validation 만 추가.. 2023. 8. 22.
0. Kotlin Springboot3.x.x + Spring Data(Postgresql, MongoDB) + Security 최근에 코틀린 스프링으로 작업을 하면서 포스팅을 해보고 싶었다 기본적으로 2023년 8월 21일 기준으로 최신인 3.1.2 버전으로 만들 것이다 https://spring.io/blog/2023/07/20/spring-boot-3-1-2-available-now Spring Boot 3.1.2 available now spring.io 또한 Spring Data Jpa(Postgre), Spring Data MongoDB(MongoDB)를 커넥션으로 설정해서 요즘 많이 쓰이는 ORDB인 Postgresql과 NoSQL의 절대강자 MongoDB에서 간단 또는 복잡한 쿼리는 어떻게 처리하는지에 대해서 포스팅하려고 한다 중간중간 코틀린 문법을 활용해서 Null처리나 로직을 깔끔하게 가져가 볼 예정이다 마지막으.. 2023. 8. 22.