Hello World!

백엔드 개발자 반정훈의 기술 블로그입니다.

공식 Actions를 활용한 GitHub Pages 배포

DND에서 진행하는 프로젝트에서 Spring Rest Docs를 사용하여 API 문서화를 진행하고 있으며, 이렇게 만들어진 문서화 페이지는 GitHub Pages를 통해 배포하고 있습니다. GitHub Pages는 워낙 잘 알려진 서비스이므로 이를 통해 배포하는 방법은 다양한 자료들이 존재합니다. 하지만 공식 액션을 사용하는 방법은 아직까지 잘 알려지지 않은 것 같아 이를 소개하고자 합니다. GitHub Pages GitHub Pages는 GitHub에서 제공하는 정적 웹사이트 호스팅 서비스입니다. 무료로 제공되는 서비스이므로 간단한 웹사이트를 호스팅하기에 적합합니다. 사이드 프로젝트를 진행하는 과정에서 프론트 팀과 API 문서를 공유하기에 적합합니다....

1월 21, 2023 · 3 분 · junghoon-vans

SonarCloud와 Checkstyle을 통합하여 사용하기

최근 DND라는 대외활동을 통해 사이드 프로젝트의 백엔드 개발을 맡고 있습니다. 본격적인 프로젝트 시작에 앞서 CI/CD 파이프라인을 구축하는 작업을 진행하고 있습니다. 스프링 기반의 백엔드 코드를 정적 분석하기 위해 SonarCloud와 Checkstyle을 연동하는 작업을 진행하였습니다. 이 글에서는 왜 이러한 결정을 내리게 되었는지, 그리고 연동은 어떻게 이루어지는지에 대해 다루도록 하겠습니다. SonarCloud SonarQube는 버그, 코드 스멜, 보안 취약점을 발견하기 위해 사용하는 정적 분석 도구입니다. 저장소에 코드가 푸시되거나 PR이 생성되면 SonarQube가 코드를 분석하여 결과를 보여주는 기능을 제공합니다....

1월 15, 2023 · 4 분 · junghoon-vans

[DND 8기] 백엔드 파트 합격 후기

오랫동안 블로그 글 작성을 못하다가 DND 8기에 합격했다는 소식을 가지고 돌아왔습니다. 오늘 오리엔테이션에 참여한 이후 느낀 점들도 포함하여 작성해보도록 하겠습니다. DND란? DND는 개발자와 디자이너가 8주간 협업하는 사이드 프로젝트 경험을 제공하는 프로그램입니다. 세미나와 같은 교육 프로그램이 제공되기는 하나 기본적으로는 팀원들끼리 협업하며 프로젝트를 진행하는 것이 주 목적입니다. 따라서 사이드 프로젝트 경험을 쌓고 싶은 사람들에게 추천할 수 있는 프로그램입니다. DND에 지원한 이유 DND가 제게 부족한 점을 채워줄 수 있을 것이라는 생각이 들었기 때문입니다....

1월 8, 2023 · 2 분 · junghoon-vans

pre-commit로 Git Hooks 쉽게 관리하기

Git Hooks Git Hooks는 깃에 이벤트가 발생했을 때 실행되는 스크립트입니다. .git/hooks 디렉터리에 스크립트를 작성해서 사용하는데, 이를 통해 커밋 직전에 코드컨벤션을 검사하거나 테스트코드를 실행해볼 수 있습니다. 문제점 혼자 개발하는 경우에는 이러한 방법이 나쁘지 않을 수도 있겠지만, 여럿이 개발에 참여하는 경우 아래와 같은 문제가 발생할 수 있습니다. hook 스크립트 공유의 어려움. 모두가 동일한 버전의 hook을 사용한다는 보장이 없음. pre-commit 적용 pre-commit은 이러한 문제를 쉽게 해결해주는 좋은 솔루션입니다. 프로젝트 내에 설정 파일을 통해 hooks의 버전을 관리할 수 있으며, 이것들을 손쉽게 로컬머신에 설치할 수 있습니다....

10월 12, 2022 · 2 분 · junghoon-vans

[Spring] 왜 스프링인가

스프링은 엔터프라이즈 환경을 위한 애플리케이션 프레임워크이며, 오늘날 자바 기반 웹 애플리케이션 개발의 표준입니다. 스프링을 완전히 이해하기 위해서는 이것의 등장 배경을 알고 있을 필요가 있습니다. 왜냐하면 스프링은 엔터프라이즈 애플리케이션 개발을 위한 J2EE(Java 2 Platform, Enterprise Edition)의 문제점을 해결한 결과물이기 때문입니다. 스프링의 특징이나 장점들이 어떠한 배경 속에서 등장했는 지를 이해하면 더욱 스프링에 대한 이해가 높아질 수 있을 것입니다. J2EE J2EE(Java 2 Platform, Enterprise Edition)는 엔터프라이즈 애플리케이션 개발을 위한 스펙의 집합입니다. 일반적으로 사용하는 자바인 J2SE(Java 2 Platform, Standard Edition)를 확장하여 만들어 졌습니다....

7월 21, 2022 · 4 분 · junghoon-vans