전체 글20 도메인 용어 정의로 효율적이게 일하기 (코드 개선 으로 부터 현실 의사소통의 비효율을 깨닫다) 안녕하세요, 졸린 개발자입니다. 오늘은 회사에서 코딩을 하던 중코드 개선부터 시작하여, 의사소통의 비효율을 깨달았던 경험을 공유하려고 합니다 여느 때와 다름없이 코드를 찍어내던 중.......요즘 회사가 엄~청 바쁘네요그 핑계로 큰 생각없이 코드를 마구마구 찍어내고 있었습니다 그러다가 아래와 같은 코드를 찍어내게 되었죠 (회사 코드와 전혀 무관한 각색된 코드입니다)class Group { // 그룹 멤버 private List users; // 숨겨진 그룹 멤버 private List hiddenUsers; /* * 숨겨진 그룹 멤버가 Active 상태인가? * true면 -> hiddenUsers도 그룹 멤버 * false면 -> .. 2025. 1. 2. TDD에 대한 생각 정리 - 모두가 TDD를 해야하는가? 안녕하세요 졸린 개발자입니다. 최근 카카오 테크 블로그의 TDD 정리글을 보게 되면서, 제가 가지고 있는 TDD에 대한 생각도 같이 공유하는건 어떨까 해서 글을 작성하게 되었습니다. 결론부터 말씀드리자면 TDD는 분명 좋은 점이 많은 구현방법이지만, 모든 상황에서 100% 활용가능한 실버불릿은 아니라는 말씀을 드리고 싶습니다. TDD는 스펙에 대한 테스트를 먼저 작성해서 스펙을 온전히 반영할 수 있는 코드를 지향하는 것에 초점이 맞추어져 있습니다. 덤으로 코드의 문서화 기능도 가지고 있구요. 반대로 말하면, 스펙에 대한 모든 테스트를 작성해야한다는 것을 의미합니다. 그러면 테스트를 왜 작성해야하는걸까요? 기능이 잘 동작함을 보장하기 위해서입니다. 그럼 이쯤에서 한번 생각해보죠. 현재 어떤 서비스를 사.. 2024. 3. 18. Spring @Scheduled 가 동작할때 rate나 delay보다 더 늦게 메소드가 종료되면 어떻게 동작할까? 안녕하세요 졸린 개발자입니다. 오늘은 문득 궁금해진, Spring의 @Scheduled 가 동작할때 rate나 delay보다 더 늦게 메소드가 종료되면 어떻게 동작할까에 대해 알아보겠습니다. fixedDelay에서는 어떨까요? 아래 코드를 봅시다. 어떻게 동작할것 같나요? 정답을 보시죠 3초마다 동작하고 있습니다. fixedDelay의 동작은 마지막 스케쥴링 동작 이후 delay에 지정된 만큼 기다렸다가 시작합니다. 즉 2초동안 sleep + 1초동안 delay을 거쳐 3초마다 한번씩 실행이 되는 것이죠. 그럼 fixedRate를 살펴볼까요? 2초마다 실행이 되네요. 왜 2초마다 실행이 될까요? 분명 rate를 1초를 주었지 않았나요? 그 해답은 재미있게도 실제 스케쥴링을 담당하는 java의 Schedu.. 2024. 3. 2. Spring @Scheduled와 timezone 안녕하세요 졸린 개발자입니다. 오늘은 @Scheduled 어노테이션과 timezone설정에 대해 알아보겠습니다. 그렇게 현실적이지는 않지만, 뉴욕에서 서비스를 새로 런칭한다고 가정해봅시다. 그럼 기존의 스케쥴링을 하던 처리들도 뉴욕 시간으로 스케쥴링을 해야되겠죠? 그러면 어떻게 처리하면 될까요? 이렇게 zone을 지정해주면 됩니다. 하지만 아래처럼 TaskScheduler를 설정했을때에도 동작할까요? Scheduler에는 America/New_York 타임존을 지정하고, @Scheduled에는 아무것도 zone을 지정하지 않았습니다. 자, 이때에는 어떻게 동작해야할까요? 제 예상은 Scheduling을 실행하는 Scheduler의 시간이 뉴욕시간이기 때문에, 제가 사는 한국의 시간인 15:40이 아니라,.. 2024. 2. 24. 이전 1 2 3 4 5 다음