NVM 설치 후 터미널이 느리게 뜨는 문제 해결

문제 node.js 를 여러가지 버전을 변경해가며 사용하기 위해 NVMNode Version Manager를 설치했습니다. 그런데 맥북에 설치했을때도 그렇고 리눅스 환경에 설치했을때도 공통적으로 터미널을 실행 했을 때 준비되는 시간이 굉장히 길어졌습니다. 보통 터미널을 켜고 바로 명령어를 입력하곤 했는데, 터미널이 온전히 로딩되기 전에 키입력이 되는 상황이 반복되었습니다. 시간을 측정 해 보면 start=$(gdate +%s.%3N) ## 시간을 측정할 작업 end=$(gdate +%s.%3N) runtime=$(echo "($end - $start) * 1000" | bc) echo "Execution time: $runtime milliseconds" NVM을 로딩하는데만 보통 500ms 정도가 걸립..

Development/Daily Error 2023.03.18
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