목록2025/02 (3)
오늘의하루
개발자로 일하다 보면 코드를 작성하고 API를 설계하는 것만큼이나 문서화하는 과정이 중요하다는 걸 깨닫게 되는데 문서화는 단순히 기록하는 것이 아니라 팀원이나 다른 개발자와의 소통을 원활하게 하는 핵심 도구로 작용합니다.그러나 문서를 작성하는 과정에서 실수가 발생할 수 있으며 이를 제대로 검증하지 않으면 작은 오류가 큰 오해로 이어질 수 있기 때문에 이 글에서는 두 가지 문서화 방식을 비교하며 검증 과정이 왜 필요한지 살펴보겠습니다.1. 검증 없이 기록만 남기는 문서화아래는 검증 없이 API의 요청과 응답 형식만을 문서화한 코드입니다.public RestDocumentationResultHandler getTest() { return document("test", requestParam..
Java에서 날짜와 시간을 포맷하거나 파싱 할 때 흔히 사용하는 SimpleDateFormat은 편리하지만 멀티스레드 환경에서 공유 자원으로 사용할 경우 동시성 문제를 일으킬 수 있습니다.이는 SimpleDateFormat이 Non-Thread-Safe로 설계되었기 때문인데 현재 회사 레거시 프로젝트에서 SimpleDateFormat을 공유 자원으로 사용하고 있는 코드를 발견했는데 이 문제를 해결하기 위해 동시성 문제의 원인을 분석하고 수정이 필요한 이유와 대안을 정리해 보았습니다.동시성 문제 발생 원인SimpleDateFormat의 동시성 문제는 주로 내부적으로 공유되는 Calendar 객체와 pattern 문자열의 상태 변경에서 비롯되는데 이 클래스는 날짜를 포맷하거나 파싱 할 때 Calendar 객..
홈서버를 만들기 위해 오래된 구형 노트북의 윈도우를 밀고 ubuntu를 설치하였습니다.이제 SSH 설치를 위해 WI-FI를 연결하도록 하겠습니다.1. Wi-Fi 인터페이스 확인 하기먼저 시스템에 어떤 네트워크 인터페이스가 있는지 확인해야 합니다.ip a 명령어를 사용하면 시스템에 연결된 네트워크 인터페이스 목록을 확인할 수 있습니다. $ ip a1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forev..