본문 바로가기

전체 글408

[회고] 2023년을 돌아보며 🤔 나에게 23년은? 2022년 갈피를 못 잡고 방황하다가 본격적으로 백엔드에 몰입했던 해였다. 나름 바쁘게 그리고 성실하게 보냈던 한 해였던 것 같다. 단순히 잔디로 무엇을 했는지 어떤 성취가 있었는지 모두 표현하기 어렵다. 기억을 조금 더듬으며 지난 한 해를 돌이켜보겠다. 🏃 23년에는 무엇을 했나요? 23년은 무언가 정말 많이 한 것 같다. 사이드 프로젝트와 스터디로 나눠서 회고해 보겠다. 🗂️ 사이드 프로젝트 많은 토이 프로젝트와 사이드 프로젝트를 진행했는데 그중에서 딱 2가지만 기억에 남는다. 올해 초에 약 2개월의 시간을 투자했었던 Flaground와 올해 말 1개월의 시간을 투자했던 올해도 아좌좌이다. 1️⃣ Flaground 당시 소속되어 있던 학교 동아리 FLAG에서 진행했던 프로젝트이다.. 2024. 1. 5.
TIL : gradle-build-action (짧) 🏃‍♂️ Github Action 이번에 CI를 작성하면서 시간이 생각보다 더 걸려서 gradle을 캐싱해야 하는 일이 생겼다. 처음에는 "CI를 굳이 어렵게 가야하나? 적당히 긁어와서 쓰자"라는 생각으로 다음 코드를 붙여서 사용했다. - name: Gradle Caching uses: actions/cache@v3 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: | ${{ runner.os }}-gradle- 근데 뭔가 시간적으로 개선이 안되는 것 같아서 "다른 방법이 없을.. 2023. 10. 27.
[Java] Jacoco 잘 사용하기 (feat. 심화) 🙋 들어가며 애플리케이션의 안정성을 나타내는 지표는 무엇일까요? 바로 테스트 커버리지입니다. 테스트 커버리지란 우리 시스템에 얼마나 테스트 코드가 작성되었는지 나타내는 지표입니다. 자바 진영에는 Jacoco라는 도구가 존재하는데 간단하게 사용법을 알아보겠습니다. 😋 💄 Jacoco Jacoco란, 자바 진영의 테스트 커버리지 측정 도구입니다. 테스트를 작성하면 조건에 따라 커버리지를 측정하고 거기에 따른 Report를 제공합니다. 이 글에서 사용한 환경은 다음과 같습니다. Spring boot : 3.1.5 Java : 17 Jacoco : 0.8.8 Build Tool : Gradle 🚀 Gradle에 적용하기 Jacoco 플러그인을 Gradle에 다음과 같이 적용합니다. plugins { ... id.. 2023. 10. 26.
[Java] Jasypt 알아보기 🙋 들어가며 프로젝트를 진행할 때 보안에 예민해서 노출시키지 않는 값들이 있습니다. 여러 방법으로 노출시키지 않는 방법이 있지만 그중에 Jasypt라는 라이브러리가 존재합니다. 오늘은 어떻게 사용하는지 가볍게 알아보겠습니다. 😋 🔐 Jasypt란? Jasypt는 Java Simplified Encryption의 약자입니다. 공식 문서에 따르면 다음과 같이 설명되어 있습니다. Java library which allows the developer to add basic encryption capabilities to his/her projects with minimum effort, and without the need of having deep knowledge on how cryptography wor.. 2023. 10. 21.
[Java] Fixture Monkey 사용해보기 🙋 들어가며 누구나 한 번쯤 테스트 코드의 생산성을 고민해 보았을 거라고 생각합니다. 저는 테스트용 데이터를 만드는데 시간이 꽤 걸려서 Object Mother 패턴을 도입하고, Fixture(테스트용 정적 객체)를 사용해서 이런 시간을 줄여보기도 했습니다. 저와 같은 고민을 하신 분들이라면 들어봤을 법한 라이브러리를 소개하겠습니다. 공식 문서는 모두 영어로 되어있어 번역하기 귀찮으신 분들을 위해서 사용에 필요한 내용만 정리해 보겠습니다. 🙉 Fixture Monkey Fixture Monkey는 임의의 테스트 객체를 생성하는 라이브러리입니다. 테스트 코드의 생산성과 간결함을 위해서 네이버에서 만든 PBT 도구이며 java와 kotlin을 지원합니다. 💡 PBT(Property Based Testing).. 2023. 10. 17.
[Backend] flyway 사용하기 🙋 들어가며 우리는 코드를 관리하기 위해서 git이라는 형상 관리 툴을 사용합니다. 반면에 여러분들은 DB는 어떤 것으로 형상을 관리하시나요? 바로 Flyway가 DB에 대한 형상 관리를 제공합니다. 이번 글에서 간단하게 사용법을 알아보겠습니다. 😋 🪽 flyway란? 공식 문서에는 다음과 같이 소개합니다. 😮 Flyway is an open-source database migration tool. DB 형상 관리를 도와주는 도구입니다. 심지어 오픈 소스입니다! 😋 🤔 왜 사용할까? 저는 개발을 할 때 DDL을 직접 작성해서 관리하는 것을 선호합니다. 스키마에 변경사항이 생기면 하나하나 수정했습니다. (다행히도 꼼꼼한 성격 때문에 아직까진 실수한 적 없습니다 😜) 만약 관리해야 할 DB가 많다면 이 과정.. 2023. 10. 11.