전체 글
-
[2025-02-15 k-devcon] StackOverflow에서 25,000점을 얻으며 배운 것들세미나 참석 2025. 2. 17. 00:53
배경이번 주는 너무 피곤해서, 회사 동료가 함께 가자고 했던 코틀린 세미나도 거절했다.(코틀린 세미나가 궁금하신 분은 이곳 - https://github.com/Kotlin-User-Groups-Seoul/kotlin-backend-meetup-2025)푹 쉬려고 했는데, 퇴근길 우연히 작년 한 해 가장 큰 영향을 주신 두 분이 발표자로 나선다는 세미나 광고를 보고 급 세미나에 다녀왔다. 두 분 중 한 분인 김영재 님의 발표 내용을 기록 해본다.StackOverflow에서 25,000점을 얻으며 배운 것들StackOverFlow는 서비스 충성도를 높이는 것이 굉장히 잘되어 있는 사이트다.가입 후 활동에 따라 priivilige라는 점수가 부여되는데 높아질 수록 할 수 있는 것이 많아진다.125점 (질문 ..
-
[2025-02-15 k-devcon] 성공적인 UX 솔루션을 위한 Key Things (feat. 어드민)세미나 참석 2025. 2. 17. 00:15
배경이번 주는 너무 피곤해서, 회사 동료가 함께 가자고 했던 코틀린 세미나도 거절했다.(코틀린 세미나가 궁금하신 분은 이곳 - https://github.com/Kotlin-User-Groups-Seoul/kotlin-backend-meetup-2025)푹 쉬려고 했는데, 퇴근길 우연히 작년 한 해 가장 큰 영향을 주신 두 분이 발표자로 나선다는 세미나 광고를 보고 급 세미나에 다녀왔다. 개발 세미나인 줄 알고 참석했지만, 막상 가보니 절반은 기획자와 디자이너를 위한 세션이었다.평소라면 그냥 지나쳤을지도 모르지만, 요즘 Admin UI/UX 사용성에 관심이 많았던 터라, 이 기회에 한 번 들어보기로 했다. 성공적인 UX 솔루션을 위한 Key Things 처음 Admin UX에 관심을 가지게 된 계기는 ..
-
Jobrunr 사용한 Springboot에 스케줄링 작업 구현Spring Boot 2025. 1. 30. 00:20
배경Spring Scheduler는 간단하지만 실패시 처리/실행 로그 확인 같은 작업이 굉장히 불편하다.Jobrunr를 사용하면 Spring Scheduler의 불편함을 해결할 수 있다.별도 구축없이 내장 dashboard를 제공 (실패/성공 이력 모니터링 가능, 스케줄링 삭제, 재시도 가능)애너테이션 기반 내장 스케줄링 지원 (@Recurring)API 기반 작업 등록 지원 (enqueue, scheduleIn, schedulerRecurrently)실패 시 재시도, 부가처리 가능사용 방법이 간단하여 spring batch 처럼 많은 공부를 필요로 하지 않는다. (Java 8 문법만 알면 이해 가능하다.) 공식 문서 : https://www.jobrunr.io/en/documentation/ Docu..
-
[springboot 예외 처리 안티패턴 정리] Exception Handling Worst PracticeSpring Boot 2024. 12. 30. 01:05
개발자로 회사를 4곳을 거치며 다양한 예외처리 방식을 경험했다.예외처리 방식의 정답은 없지만 틀린 답은 있었다. 해서는 안되는 안티패턴을 정리 해본다.선행 지식 java error : https://yeoon.tistory.com/1351. 클라이언트에게 검증 위임하기 (X)서버의 입력 유효성 검사는 반드시 서버에서 이루어 져야한다.실무에서 클라이언트에서 검증을 이미 진행한다는 이유로, 서버에서 입력 값 검증을 하지 않는 경우가 있었다.유효성 검사를 넣으면, 개발 속도가 느려진다는 이유 였는데 이는 굉장히 위험하다.사용자는 반드시 실수한다. 사용자는 알고도 잘못된 파라미터를 보낸다.900만원 9000원으로 조작하여 구매한 이야기 : https://www.seoul.co.kr/news/newsView.ph..
-
코딩 규칙 정하기 하루 전JAVA 2024. 12. 18. 00:50
코딩 규칙 정하기에 앞서 코딩 규칙이 필요한 이유을 작성해본다.코딩을 잘한다는 것은?개발이라는 행위는 대부분 특정 조직에서 이윤을 만드는 것이 목적이다. (세상의 문제를 해결한다고는 하지만, 대부분이 돈이 되는 문제를 해결한다)회사 입장에서 개발의 목표는 짧은 리드타임, 큰 경제적 가치 창출이 전부다. (https://yeoon.tistory.com/178)경영자 입장에서 개발 관련해 해야할 일은 너무 쉽다. 분기별 인건비만 잘 관리하면 된다. 개발에서 이윤 아웃풋을 만들기 위한 투입 리소스는 100% "인간"이다.(서버비, 운영비 제외)경영자 입장에서 개발을 잘하는 사람은 기간, 예산에 맞춰 적시에 업무를 완수하는 사람이다.회사 입장에서 코딩을 잘하는 개발자는 요구사항을 짧은 기간 내에 완수하는 사람이..
-
MySQL 관련해 신경쓰면 좋은 것 (feat. 성능)Spring Boot/DB 2024. 11. 13. 21:48
1. mysql 5.7.20 → mysql 8.0 아키텍처 변경Query cache가 MySQL 5.7.20부터 depreciated 되고, 8.0을 기점으로 삭제(https://dev.mysql.com/doc/refman/5.7/en/query-cache-configuration.html)트래픽 많아지면서 발생하는 DBMS의 Query cache 업데이트 비용과, 운영중 발생하는 캐시 stale 문제가 Query cache 기능을 제공하는 이점 보다 심각하다 판단하여 삭제mysql 버전을 올렸는데 더 느려진 경우가 있는데 Query cache가 없어졌기 때문. 캐시는 애플리케이션 단에 직접 구현해야한다. 2. mysql 5.7.20 → mysql 8.0 Storage 엔진query 실행하는 구현체 엔..
-
Lombok 사용시 주의점 (쓰지 말아야 할 Lombok)Spring Boot 2024. 11. 12. 23:44
Modern Java 에서는 Lombok 사용을 지양하고 있다. [참고 : https://www.danvega.dev/blog/no-lombok] 큰 이유는 이러하다. 1. IDE 기능으로 디버깅을 어렵게 한다.2. Annotation Processing에 충돌을 일으킨다.3. 숨겨진 코드가 버그를 유발 이에 따라서, Java 17부터 Lombok의 대부분 기능을 대체할 수 있는 record 클래스, Builder가 필요하다면 IDE로 생하길 권장한다.하지만, 실무에서는 Java 8을 쓰는 것이 대부분이다. Lombok을 쓰지 않을 수는 없기 때문에 아래의 Lombok 사용법을 꼭 읽어보고 주의해서 사용해야한다. 배달의 민족에서 기술이사로 있는 손권남 님의 블로그를 보면Lombok best pract..
-
iterm2 설정하기Spring Boot/환경설정 2024. 11. 12. 23:10
Item2 설치하기 : https://iterm2.com/oh-my-zsh 설치하기 : https://ohmyz.sh/#install oh-my-zsh 테마 변경 : https://github.com/ohmyzsh/ohmyzsh/wiki/Themes터미널 컬러 프리셋 설치 : https://github.com/wesbos/Cobalt2-iterm터미널 폰트 설치 : https://github.com/powerline/fonts oh-my-zsh 플러그인 설치 - 터미널 명령어 자동완성- 명령어 컬러 하이라이트 git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins..