Gradle 프로젝트 maven cental repository 에 배포하기

Intro 제가 코딩테스트 문제풀이를 할 때, 테스트코드 작성을 보다 쉽고 간단하게 하려고 만들어둔 라이브러리가 있습니다. 항상 반복적으로 작성하던 부분들도 시간이 아까워서 조금씩 기능을 넣다 보니 나름 leetcode 문제 풀이 할 때 도움이 많이 됩니다. 혼자만 오랫동안 사용해왔었는데, 주변에 마찬가지로 코딩문제 풀이를 하지만 테스트를 너무 번거롭고 어렵다는 이유로 아예 작성하지 않는 친구들에게 소개해주었습니다. 어떨지 몰랐는데 써보더니 너무 좋다며 유용하게 사용하고 테스트도 열심히 작성하길래 다른 관심있는 분들도 쉽게 사용할 수 있도록 하기 위해 메이븐 central에 배포하기로 결정을 했습니다. 이전에는 jitpack 으로만 배포했었는데.. 이번에 작업해보며 난이도 차이가 너무 커서 당황스러웠습니..

Development/DevOps 2023.03.02
Github Action으로 코드 커버리지 뱃지 생성하기

Intro Jacoco로 코드 커버리지 측정하기 에 이어지는 글 입니다. 이전 글에서는 코드 커버리지란 무엇인지, 그리고 Jacoco를 활용해 Gradle 혹은 Maven으로 만든 자바 프로젝트의 코드 커버리지를 측정하는 방법에 대해 알아보았습니다. 이번에는 README.md파일에 빌드 성공여부와 코드 커버리지를 뱃지로 만들어 등록하는 방법에 대해 알아보려고 합니다. 별 것 아닌거 같아 보이는 이 뱃지 2개를 다는게 CI/CD를 경험해보지 못한 저에게는 생각보다 쉽지 않았습니다. 이 뱃지를 만드는게 최종 목표가 아니고, 자동 테스트 및 Workflow를 통해 부산물로 얻어지는게 위의 Build 결과와 코드커버리지 뱃지입니다. Github Action 등록 Codecov 회원가입 일단 깃헙 액션에 등록에 ..

Development/DevOps 2023.03.01
DEVIEW 2023에 다녀왔습니다

신청 국내 최대규모의 개발자 컨퍼런스인 Deview 2023이 2023년 2월 27일 오늘 열렸습니다. 무려 3년만에 열리는 오프라인 컨퍼런스입니다. 3주정도 앞선 2월8일에 Day1, 다음날인 2월9일에 Day2 예약을 선착순으로 받았습니다. 2019년엔 11초만에 마감이 되었었다는데 아무래도 그때보다 훨씬 경쟁률이 높아졌을테니 선착순에 자신있는편인 저도 긴장이 되었습니다. 오후3시 정각에 선착순 예약이 시작되었고, 정확히 0초에 신청 버튼을 누르니 마감되었습니다 라는 알러트가 떴습니다. 그런데 상식적으로 아무리 빠르다고 해도 이 시간에 마감은 될 수 없다고 생각하여, 바로 한번 더 신청을 누르니 대기열이 300번쯤 나옵니다. 대기열은 아주 조금씩 줄어들었고, 한 3분정도 기다리고 나니 아래와 같이 신..

Development/DevLife 2023.02.27
[Java] JaCoCo로 코드 커버리지 측정하기

Intro Code Coverage 코드 커버리지는 작성한 소스코드중 얼마나 많은 부분이 자동화된 테스트에서 실질적으로 실행되었는지를 측정할 수 있는 지표 입니다. 높은 코드 커버리지는 테스트가 실행되는 동안 소스코드의 더 많은 부분이 실제적으로 실행된것을 의미하기 때문에 보다 낮은 커버리지의 프로그램에 비해 버그가 발생할 확률이 더 낮다고 기대할 수 있습니다. 물론 높은 커버리지가 더 좋은 테스트임을 보장하는 것은 아닙니다. 특히 최근의 트랜드처럼 급한 템포의 개발이 이루어지는 상황에서도 빠르게 만들어낼 뿐만 아니라 신뢰수준이 높고 좋은 퀄리티의 코드를 작성하기 위해서는 정말 중요한 지표라고 생각됩니다. 진행중인 사이드 프로젝트에서 코드 커버리지를 측정하고 해당 지표를 조금씩 개선해보는 실습을 진행 해..

Programming/Java 2023.02.25
Safari 에서만 localhost에 쿠키가 저장 안되는 문제 해결

문제 쿠키에 JWT 를 저장하고, 토큰값 기반 로그인을 구현 해 두었다. 그런데 Chrome 이나 Firefox, Opera 등 다른 브라우저에서는 다 문제 없이 작동하는데 유독 사파리에서만 동작이 안된다. Network를 확인 해 보면, 로그인 성공시 정상적으로 Set-Cookie가 내려 온다. 그런데 저장된 쿠키를 확인 해보면 방금 저장하도록 한 쿠키값이 저장이 되어 있지 않다. 한가지 특이한건, localhost가 아닌 운영중인 서버에서는 Safari 에서도 쿠키가 정상적으로 저장되었다는 것이다. 원인 일단 용의자는 아래와 같이 잡고 몇가지 테스트를 진행해 보았다. domain SameSite Secure 제일 먼저 Domain을 확인 해 봤는데, 기존에는 위 스샷처럼 Response Cookie에..

Development/Daily Error 2023.02.19