본문 바로가기

반응형

개발/Programming

(28) GITHUB 방명록
[CI/CD] Github Action, AWS로 Java 자동 빌드/배포하기 개발/Programming / 2024. 1. 15. 오늘은 Java로 개발한 프로젝트를 Github Action과 AWS의 서비스를 활용하여 빌드/배포 자동화를 해보도록 하겠습니다. CI/CD를 구축하는 방법은 다양하게 있습니다. 저는 그중 Github Action과 AWS의 CodeDeploy를 많이 활용하는데요. 구축 방법도 쉬울뿐더러, 한번 구축해 두면 프로젝트를 깃헙에 Push(merge)만 하여도 테스트와 배포를 자동으로 진행하는 덕분에 필수로 애정하며 도입하는 기술입니다. 현재 프로젝트를 함께 진행중인 세바개 팀에서도 Github Action과 AWS를 활용한 CI/CD를 도입하였습니다. 그래서 이번 게시글에서 위 기술을 활용한 CI/CD 구축 방법을 정리해보려고 합니다. 사용 기술 Java 17, Spring boot, Gradle Git, ..
[트러블 슈팅] '채식이들' 메인 페이지-제품 출력 에러 해결(java.lang.NullPointerException) 개발/Programming / 2023. 4. 16. 안녕하세요😎 백엔드 개발자 제임스입니다 :) 오늘은 채식이들 쇼핑 서비스에서 발생했던 에러와 해결 과정을 포스팅하도록 하겠습니다. '채식이들' 쇼핑 서비스는 2022년 9월에 협업 프로젝트로 개발했던 서비스입니다. 프로젝트를 진행할 당시에는 에러 없이 성공적으로 배포했다고 생각했습니다. 하지만 웹 사이트에 들어갔을 때, 제품이 출력되어야 하는 메인 페이지에서 불규칙적으로 전체 제품이 출력되지 않는 문제가 발생했었습니다. 문제를 인지하고, 몇 번을 테스트했을 때 로그인 이전에 기능들이 정상적으로 동작하지 않는 것을 확인했습니다. 처음 문제를 접했을 때는 'AWS 서버나 가비아의 저렴한 서비스를 이용한 것이 원인인가?'라는 안일한 생각으로 크게 신경 쓰지 않았습니다. 정말 바보 같은 생각이었습니다. 그 이후..
[SMTP] 메일 전송을 위한, Google Gmail SMTP 설정 개발/Programming / 2023. 3. 21. 안녕하세요😎 백엔드 개발자 제임스입니다 :) 최근에 스프링 부트로 웹을 개발하던 중 인증 메일 전송 기능을 구현하게 되었습니다. 항상 웹에서 회원가입을 진행할 때마다 받게 되는 인증 메일을 보면서, 구현 방법이 궁금했었습니다. 동시에 직접 구현해보고 싶다는 생각이 들었는데요. 이번에 기회가 되면서 자세하게 알 수 있었습니다. 오늘 포스팅과 다음 이어질 포스팅은 이메일 전송 기능을 구현한 방법에 대해서 정리하도록 하겠습니다. 먼저 오늘은 메일 전송을 위한 SMTP와 Gmail SMTP 설정 방법을 알아보도록 하겠습니다. SMTP 란? SMTP(Simple Mail Transfer Protocol)는 단순 전자우편 전송 프로토콜로 네트워크를 통해 전자우편(Email)을 전송하는 기술입니다. 해당 기술을 이용..
[프로그래밍] 자주 사용하는 정규식 표현 정리 개발/Programming / 2023. 3. 8. 안녕하세요😎 백엔드 개발자 제임스입니다 :) 오늘은 정규식 표현에 대해서 정리하도록 하겠습니다. 검증을 위해 유용하게 사용하는 정규식인데요. 그중 IP 주소, URL, email, Id, 패스워드, youtube 등, 자주 사용할 표현으로 정리했습니다. 1) IP 주소 IP 주소 (IPv4) ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ IP 주소 (IPv6) ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ IP 주소 (IP..
[IDE] MacOS 터미널(CLI)에서 IntelliJ 바로 실행하기 개발/Programming / 2023. 2. 27. 안녕하세요😎 백엔드 개발자 제임스입니다 :) 오늘은 MacOS 의 터미널에서 IntelliJ 에디터를 실행하는 방법을 알아보겠습니다. 이전에는 프로젝트를 실행하기 위해 직접 폴더에 들어가서 마우스로 실행했던 적이 많았습니다. 개발자의 입장에서 굉장히 번거로웠습니다. 알아보니 터미널에서 명령어를 통한 방법이 있었습니다. 먼저 간단한 설정을 진행해줘야 합니다. 초기설정 1) IntelliJ(인텔리제이) 에디터 상단의 Tools를 클릭합니다. 2) 'Create Command-line Launcher' 를 클릭합니다. 3) 아래와 같은 창에서 OK를 클릭합니다. 설정 후 설정이 끝나면, 터미널에서 프로젝트의 경로로 이동하고 [idea .] 명령어를 입력합니다. idea .
[프로젝트] 중복 데이터를 어떻게 효율적으로 처리할까? (feat.채식이들-핵심기능) 개발/Programming / 2022. 11. 21. 안녕하세요😎 백엔드 개발자 제임스입니다 :) 오늘은 제가 진행했던 프로젝트 "채식이들"에서 구현했던 기술을 설명하겠습니다. 당시 핵심 기능이었던, 채식 유형에 따른 제품 조회 기능을 구현하기 위해 많은 고민을 했습니다. 먼저 기능의 요구사항을 알아보겠습니다. 저희는 채식주의자의 개인 채식 유형을 고려했습니다. 즉, 채식주의자의 채식 유형에 해당하는 제품만 노출되도록 구현하기로 했습니다. 여기서 제품은 한 가지의 채식 유형만 갖습니다. 회원 또한 동일합니다. 그렇다면 회원과 제품 도메인에 단순히 채식유형을 값으로 저장한 뒤, SQL 조건문으로 (채식) 유형에 해당하는 제품을 간단하게 노출시키면 되지 않을까? 문제는 채식 유형이 먹을 수 있는 식재료가 아래 이미지와 같이 계층적인 관계를 나타낸다는 것입니다...

반응형