Intro 프로젝트를 진행하다보면 분리에 대한 고민이 드는 시점이 종종 있습니다. 당장 필요해서 열심히 구현하고보니 다른 프로젝트에서도 자주 쓰일 것 같을 때도 있고, 다른프로젝트에서 여기에 있는 기능을 가져다 쓰려고 하는데 전부 포함시키기에는 불필요한 의존성이 너무 많을 때도 있습니다. 가장 쉬운 방법은 Copy And Paste(CNP방법론) 이 있겠지만, 그렇게 복사해낸 코드에 변경사항이라도 필요하면 일일히 복사된곳을 찾아가서 하나하나 고쳐줘야 하는 번거로움이 있습니다. DRY(Don't Repeat Yourself) 원칙을 위배하면 나중에 수습하기가 참 고생입니다. 특히, 서로간 통신이 빈번해 동일한 도메인을 공유해야하는 프로젝트간에는 이 공통된 객체간의 동기화가 보장되는게 정말 중요합니다..
ALL 519
문제 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 정도가 걸립..
Intro 제가 코딩테스트 문제풀이를 할 때, 테스트코드 작성을 보다 쉽고 간단하게 하려고 만들어둔 라이브러리가 있습니다. 항상 반복적으로 작성하던 부분들도 시간이 아까워서 조금씩 기능을 넣다 보니 나름 leetcode 문제 풀이 할 때 도움이 많이 됩니다. 혼자만 오랫동안 사용해왔었는데, 주변에 마찬가지로 코딩문제 풀이를 하지만 테스트를 너무 번거롭고 어렵다는 이유로 아예 작성하지 않는 친구들에게 소개해주었습니다. 어떨지 몰랐는데 써보더니 너무 좋다며 유용하게 사용하고 테스트도 열심히 작성하길래 다른 관심있는 분들도 쉽게 사용할 수 있도록 하기 위해 메이븐 central에 배포하기로 결정을 했습니다. 이전에는 jitpack 으로만 배포했었는데.. 이번에 작업해보며 난이도 차이가 너무 커서 당황스러웠습니..
Intro Jacoco로 코드 커버리지 측정하기 에 이어지는 글 입니다. 이전 글에서는 코드 커버리지란 무엇인지, 그리고 Jacoco를 활용해 Gradle 혹은 Maven으로 만든 자바 프로젝트의 코드 커버리지를 측정하는 방법에 대해 알아보았습니다. 이번에는 README.md파일에 빌드 성공여부와 코드 커버리지를 뱃지로 만들어 등록하는 방법에 대해 알아보려고 합니다. 별 것 아닌거 같아 보이는 이 뱃지 2개를 다는게 CI/CD를 경험해보지 못한 저에게는 생각보다 쉽지 않았습니다. 이 뱃지를 만드는게 최종 목표가 아니고, 자동 테스트 및 Workflow를 통해 부산물로 얻어지는게 위의 Build 결과와 코드커버리지 뱃지입니다. Github Action 등록 Codecov 회원가입 일단 깃헙 액션에 등록에 ..
신청 국내 최대규모의 개발자 컨퍼런스인 Deview 2023이 2023년 2월 27일 오늘 열렸습니다. 무려 3년만에 열리는 오프라인 컨퍼런스입니다. 3주정도 앞선 2월8일에 Day1, 다음날인 2월9일에 Day2 예약을 선착순으로 받았습니다. 2019년엔 11초만에 마감이 되었었다는데 아무래도 그때보다 훨씬 경쟁률이 높아졌을테니 선착순에 자신있는편인 저도 긴장이 되었습니다. 오후3시 정각에 선착순 예약이 시작되었고, 정확히 0초에 신청 버튼을 누르니 마감되었습니다 라는 알러트가 떴습니다. 그런데 상식적으로 아무리 빠르다고 해도 이 시간에 마감은 될 수 없다고 생각하여, 바로 한번 더 신청을 누르니 대기열이 300번쯤 나옵니다. 대기열은 아주 조금씩 줄어들었고, 한 3분정도 기다리고 나니 아래와 같이 신..