여러 가지 경우의 수에 대응해야 하는 메시지 조회 API에 대한 이야기입니다 동적 쿼리를 작성하는 부분을 리팩터링한 내용을 기록해봅니다 시나리오 채널에 최초 접속 시, 채널 아이디를 전달하면 해당 채널의 가장 최신 메시지 20개를 시간 내림차순 정렬해서 반환 아래로 스크롤 내리면 채널 아이디, 메시지 아이디를 전달받아 해당 채널의 해당 메시지 아이디의 작성시간 보다 과거에 작성된 메시지 20개를 시간 내림차순 정렬해서 반환 날짜로 이동하면 채널 아이디, 날짜를 전달받아 해당 채널의 해당 날짜의 23:59:59 보다 과거에 작성된 메시지 20개를 시간 내림차순 정렬해서 반환 날짜로 이동 후 위로 스크롤을 옮길 시 (이동된 날짜 이후에 작성된 메시지를 보려 하면) 채널 아이디, 메시지 아이디, needPas..
팀 프로젝트 중 DTO 사용 관련 논의가 있었습니다. DTO 내에 getter이외의 로직을 담지 않는 게 어떨지 제안하는 과정에서 제가 생각하는 DTO에 대한 정의를 이야기해보았습니다. 이와 관련해 다시 한 번 정리해봅니다. DTO 내 기본적 유효성 검증을 묶어주는 메서드를 만들어도 괜찮을까? public class SlackMessageRequest { @Nullable private String keyword; @Nullable @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) private LocalDateTime date; @NotNull private List channelIds; private boolean needPastMessage = true; ..
7개월간의 맥북 할부가 완료되었네요. 나름 윈도우에서 단축키좀 쓴다 생각하며 살아왔는데.. 맥으로 넘어온 뒤 맥린이에서부터 다시 시작하는게 쉽지는 않았네요 ㅋ 그간의 소감과 함께 잘써먹고 있는 앱을 소개해봅니다. 맥북이 꼭 필요한가 금액이 금액이다보니 정말 수도 없이 고민을 했습니다. 정말 필요할까? 하지만 안타깝게도 만약 당신이 이 고민을 이미 하고 있다면, 맥북을 살때까지 이 질병은 고쳐지지 않을 겁니다 ㅋㅋㅋ 사세요. 빨리 사는 게 편합니다 ㅋㅋㅋㅋ 당장 필요해서 산 건 아니었습니다. 다만 이미 맥북을 사야 낫는 병에 걸린 상태였고 ㅋㅋ 우테코 중간에 살바에야 지금 사는 게 낫고, 어차피 결국 맥북에 적응을 해야 한다면 미리해버리자 이런 생각이었습니다. 참고로 저는 아이폰, 아이패드를 사용하지 않습..
테코톡 발표를 마쳤습니다. 2년 전 이맘때쯤, 국비 수강 과정중에 테코톡을 처음 접했었는데.. 그 트랙룸에서 제가 발표를 하는 날이 오다니 아직도 믿기지가 않네요. (정말? 내가? 왜? 우테코? 실화냐..) 영상으로 전해지던 우테코만의 분위기를 저도 경험할 수 있었습니다. 원하지만 이루어지지 않을거라 생각하며 그러나 또 원하는 ㅋㅋ 그런 마음이었는데 이런 날도 오네요.. 발표를 들어주시고 격려해주고 응원해주신 모든 분들 정말 감사드립니다. 더 많이 학습하고 준비해서 더 양질의 발표를 하고 싶었지만 그러지 못해서 정말 아쉬운 마음이 크고 실망스러운 생각입니다. 그러나 마쳤다는 기쁨이 너무 크네요 ㅋㅋ 준비할 땐 몰랐는데.. 끝나고 나니 정말 홀가분합니다.
팀 프로젝트를 진행하며 몹 프로그래밍, 페어 프로그래밍 등을 활용하고 있습니다. 이 과정에서 하나의 컴퓨터를 호스트로 두고 진행하게 되면, 공동 작업자의 기여가 깃허브에 나타나지 않는다는점이 아쉬웠습니다. 관련하여 케이의 https://kth990303.tistory.com/349 포스팅을 읽고 이를 쉽게 적용하기 위한 플러그인을 설치한 내용을 작성해봅니다. 공동 작업자 표시 예시 깃헙 커밋 내역에서 공동 작업자를 표시해주고 싶었습니다. 상대방의 캐리를 받아 작업을 진행했는데, 나의 컴퓨터를 호스트로 사용했다는 이유로 커밋 내역에 저만 기록된다는 점이 아쉬웠습니다. 위처럼 공동 작업자들을 표시해줄 수 있다면 공동 기여분에 대한 보다 명시적인 표시를 해줄 수 있어 페어 프로그래밍 이후 만족감이 더 높을 것..