2023년 회고

매년 초가 되면 항상 회고를 작성해야겠다 생각하지만, 시간이 지나가면서 점점 다음으로 미루게 되는 경향이 있네요. 1분기는 끝나가지만 남은 3분기를 그래도 이전에 무엇을 했고, 올해는 어떻게 할지 적어보려 합니다. 💼 사내 업무 작년에는 사내 프로젝트로 Node.js로 Backend 서버 구현과 C/C++이 로봇 프로그램 기능 추가 및 유지 보수를 진행했었습니다. Node.js를 이용한 backend는 처음 구현해 봤지만, 생각보다다 구현이 쉬웠고, 성능도 괜찮은 것 같다고 생각합니다. 중간에 코드가 적응된 뒤에 JavaScript의 코드를 TypeScript로 바꾼 점도 이후 유지보수에 더 좋았던 것 같아요....

3월 31, 2024 · 7 분

Synology NAS Docker MariaDB 설치하기

개인용 NAS를 충분히 이용하지 못한다는 생각이 문득 들었습니다. 기본적으로 제공하는 Photos, 파일 저장소 정도만 이용하며, Docker Gitlab 서버 배포 중이긴 하지만.. 그냥 배포중 입니다. 이 정도도 충분하긴 하지만 조금 더 활용하면 좋지 않을까라는 생각을 하게 됐습니다. 문득 생각해 보니 NAS에서 Docker를 사용할 수 있다는 것은 개인적으로 운용할 수 있는 장난감 서버로 최적이지 않을까라는 생각이 들었습니다. 물론 아마도 많은 트래픽은 감당하지 못하더라도 개인적인 용도로 테스트 서버 정도는 만들 수 있지 않을까 생각됩니다....

1월 1, 2024 · 5 분
alt textsd

와이어 샤크를 이용해 DTLS1.2 handshake 확인하기

11월 11, 2023 · 2 분

Spring 프로젝트 구조 및 공통 코드 처리 방법

스프링 프로젝트 중 공통적인 처리에 대한 방법 및 코드 개선에 대한 내용에 대한 정리입니다. 알림 해당 글은 Spring으로 사내 프로젝트를 하면서 느낀 코드 개선 및 경험에 대한 내용입니다. 여러 개발 블로그의 경험과 노하우가 담긴 글을 참조하며, 추가한 내용입니다. 글의 내용이 정답이 아닐 수 있으며, 개인적인 생각으로 가볍게 읽어주세요. :D.. 프로젝트 코드 공통 처리 및 여러 Tips 참조링크 : Spring Guide - Directory 최근 프로젝트의 구조는 아래와 같습니다. 위와 같이 패키지를 domain과 global로 나누어 환경을 구축했습니다....

10월 14, 2023 · 5 분

P6Spy를 이용하여 로그 출력하기

프로젝트를 하다보면 성능 개선을 위해 어느 쿼리가 얼마나 걸리고, 어떻게 쿼리를 호출하는지 확인해야 할 경우가 있습니다. JPA QueryDSL을 이용할 때 여러 조인과 entity의 관계를 정의하다 보면 생각하지 못한 부분에서 속도가 매우 느린 경우도 있고, 대용량으로 데이터가 들어오면 잘 되던 쿼리가 느려질 때도 있습니다. 이럴때 p6spy를 이용하여 쿼리를 보기 좋고, 얼마나 걸리는지 확인할 수 있는 방법에 대해 정리했습니다. 위의 저장소 에서 쿼리를 로그에 출력할 수 있는 간단한 h2 CRUD 예제 코드를 작성했습니다....

8월 31, 2023 · 2 분

Inflearn 토비의 스프링 부트 강의 후기 및 정리

토비의 스프링 저자로 유명한 토비님이 인프런에 강의를 만드셔서 수강해봤습니다. 인프런 강의 중 김영한 님의 강의가 실제 실무에 큰 도움이 된 것 같다면, 토비님의 강의는 스프링 부트에 대해 조금 더 깊이 있게 알아보는게 목적이었던 것 같습니다. 기존 강의에서는 Spring Boot 2.7과 jdk 11로 했지만 학습 코드는 Spring Boot 3.1.1과 jdk 17로 적용해서 클론 코딩 을 진행하며 버전이 달라지면서 발생한 문제와 팁을 정리했습니다. 강의에서 나온 프로그램 추천 sdkman : jdk 및 여러 sdk들의 버전을 쉽게 변경할 수 있도록 해준다....

8월 8, 2023 · 2 분

Vue Prettier로 코드 정렬하기

이전에 진행 중인 프로젝트에서는 Code Convention이 지켜지지 않아 코드 정렬이 좋지 않은 경우가 있었습니다. 이는 여러 담당자를 거치면서 코드의 가독성이 떨어지고 코드 수정 이후 git history를 확인하기 어렵게 만들었습니다. 이 문제를 해결하기 위해서는 모든 코드를 동일한 Format으로 변경하는 설정을 해야 합니다. 일반적으로 Prettier와 EsLint는 함께 사용됩니다. ESLint는 코드의 퀄리티를 보장하도록 도와주는 도구입니다. 일관성 있는 방식으로 코드를 구현할 수 있게 됩니다. 예를 들어 함수를 표현할 때 function을 이용할지 arrow를 이용할지 등을 정할 수 있습니다....

7월 18, 2023 · 2 분