반응형

분류 전체보기 111

내가 직접 만든 캘린더, 그리고 그 시작

캘린더를 만들게 된 계기개발을 하다 보면 늘 필요한 도구들이 있다. 그중에서도 **캘린더(Calendar)**는 업무와 일상 모두에서 필수적인 도구다. 하지만 시중에 있는 캘린더 앱은 대부분 기능이 과하거나, 내가 원하는 방식과는 거리가 있었다. 그래서 직접 만들기로 결심했다.가장 큰 계기는 개인화된 근무 일정 관리였다. 일반 캘린더는 회의나 약속을 기록하기엔 좋지만, 나처럼 주주야야휴휴 같은 특수한 근무 패턴을 직관적으로 관리하기엔 부족했다. 매번 수동으로 등록하는 것도 번거롭고, 내가 원하는 뷰를 제공하는 앱은 없었다. 그래서 ‘없으면 만들자’라는 마음으로 시작했다.내가 원했던 기능들근무 패턴 자동화반복되는 근무 사이클(주간, 야간, 휴무)을 미리 정의해 두면, 캘린더가 자동으로 해당 패턴을 표시해준..

바이브코딩 해본 후기

최근 몇 달간 나는 새로운 개발 습관을 실험해봤다. 바로 바이브코딩(Vibecoding) 이다. 간단히 말해, 코드를 작성하고 문제를 해결하는 과정에서 AI 도구(ChatGPT, Cursor)를 적극 활용하는 방식이다. 단순한 검색을 넘어, 코드 리뷰어이자 협업 파트너처럼 AI를 옆에 두고 코딩을 진행하는 경험이었다.바이브코딩을 시작한 이유개발을 하다 보면 새로운 기술을 빠르게 익혀야 하거나, 사소하지만 시간을 많이 잡아먹는 문제에 부딪히곤 한다. 이때 AI가 제공하는 즉각적인 코드 예시, 에러 분석, 리팩토링 제안은 큰 도움이 된다. 실제로 ChatGPT와 Cursor를 통해 많은 시행착오를 줄였고, 반복적인 구글링 시간을 절약할 수 있었다.특히 구글 검색 대비 장점은, 맥락을 이어가는 대화가 가능하다..

Spring Boot 예외 처리 실전 가이드: @ControllerAdvice로 통합하기

"에러는 언제나 발생한다. 중요한 건 예쁘게, 일관되게, 의미 있게 처리하는 것."문제 상황: 예외는 늘 예상치 못하게 찾아온다실무에서 API 개발을 하다 보면, 가장 골치 아픈 것 중 하나가 바로 예외 처리다.처음엔 간단한 try-catch나 throw new RuntimeException() 정도로 시작하지만, 프로젝트 규모가 커지고 클라이언트가 붙기 시작하면 얘기가 달라진다.어떤 API는 500 에러를 내고,어떤 API는 그냥 null 리턴하고,어떤 API는 메시지도 없이 400만 띄운다.결국 클라이언트 개발자는 혼란스럽고, 서버 로그엔 에러 메시지가 뒤섞여 보기 어려워진다.나도 과거에 그런 문제를 겪었고, 그때부터 Spring Boot에서의 예외 처리를 통합적으로 설계하는 법을 정리하게 됐다.내가..

Spring 2025.08.04

ChatGPT로 API 명세서 자동화하기 (Swagger보다 빠르게)

"개발자의 시간을 아끼는 진짜 문서 자동화 방법, ChatGPT로 시작해보자"문제 상황: API 명세서 작성, 늘 뒤로 미뤄지는 이유API 문서 작성은 대부분 개발자에게 ‘하면 좋은 일’이 아니라 ‘귀찮은 일’이다.Swagger도 있고 Spring REST Docs도 있지만, 막상 손을 대려면 생각보다 준비할 게 많다.Swagger는 편하긴 하지만 문서화의 유연성이 떨어지고,REST Docs는 예쁘지만 세팅부터 문서화까지 손이 많이 간다.결국 팀에서 "나중에 쓰자"며 README에 메서드 설명 몇 줄 달고 끝나는 경우가 많다.나도 그랬다. 그런데 그게 쌓이면 나중에 진짜 큰 문제가 생긴다.클라이언트랑 사소한 필드 하나 때문에 실랑이 벌이고, 예외 응답 안 맞아서 디버깅하는 데 반나절 쓰기도 했다.그래서 ..

AI 2025.07.30

ChatGPT로 실무 코드 리팩토링하는 법

"복잡한 로직, 반복 코드, 고민할 시간 줄이고 바로 리팩토링하기"문제 상황: 리팩토링은 늘 뒷전이다개발자로 일하면서 가장 귀찮지만 중요한 작업 중 하나가 바로 "리팩토링"이다.처음 기능을 만들 땐 빨리 동작만 하게 만들기 바쁘다 보니, 나중에 보면 코드가 엉망이 되어 있다. 변수명은 중구난방, 로직은 길고, 중복도 가득하고...“나중에 정리하자” 하고 넘어가지만, 실은 그 ‘나중’은 영영 오지 않기도 한다.나도 그런 경험이 많았다. 실제로 컨트롤러 메서드 안에 서비스 로직을 절반 이상 때려 넣고, 그대로 배포한 적도 있었다. 나중에 기능이 하나 더 붙으면서 그 코드를 손보는데, 도저히 뭘 건드려야 할지 감도 안 잡히더라.그래서 그때부터 ChatGPT를 코드 리뷰 파트너처럼 활용하기 시작했다. 혼자 고민..

AI 2025.07.29

Java 백엔드 실무 면접 질문 & 모범 답변 정리

안녕하세요, 오늘은 Java 백엔드 실무 면접을 준비하시는 분들을 위해 제가 실제 경험한 면접 질문들과 그에 대한 모범 답변을 정리해보려고 합니다. 저도 면접을 준비하면서 블로그나 깃허브 등을 많이 참고했었는데, 실제로 실무에서 많이 나오는 질문과 그 의도를 이해하는 게 무엇보다 중요하더라고요. 이 글이 여러분의 면접 준비에 작은 도움이 되길 바라며, Java, Spring Boot, JPA, REST API, Redis, JWT 인증 같은 키워드 중심으로 정리해볼게요.1. Java 백엔드 실무 면접에서 자주 나오는 질문들Q1. Java에서 HashMap과 ConcurrentHashMap의 차이점은?의도: 멀티스레드 환경에 대한 이해도를 보려는 질문이에요.모범 답변:HashMap은 쓰레드에 안전하지 않아..

ETC 2025.07.28

개발자가 ChatGPT를 활용해서 업무 시간 줄이는 법

개발자라면 누구나 한 번쯤은 이런 생각을 해봤을 거예요."오늘 이거… 내가 안 해도 될 수는 없을까?"요즘은 진짜로, 내가 안 해도 될 일들이 점점 많아지고 있어요. 바로 ChatGPT 덕분이죠. 처음엔 그저 코딩 도우미 정도로만 생각했는데, 어느새 하루 업무의 절반 이상을 이 친구에게 맡기고 있는 나를 발견하게 됐습니다. 이 글에서는 제가 실제로 ChatGPT를 활용해 업무 시간을 줄인 방법을 공유해보려고 해요. 단순히 코드 짜주는 걸 넘어서, 문서화, 테스트, 커뮤니케이션까지 확장된 활용법들을 소개해볼게요.1. 반복적인 업무? ChatGPT에게 넘기자개발 일을 하다 보면 반복적인 업무가 정말 많죠. 예를 들면:API 명세서에 맞는 컨트롤러 메서드 작성서비스/레포지토리 템플릿 반복 생성공통 예외 처리 ..

AI 2025.07.25

ChatGPT로 테스트 코드 자동 생성하기, 실무에 이렇게 활용했습니다

최근 개발자 커뮤니티를 보면 "테스트 코드 어떻게 작성해야 할까요?"라는 질문이 정말 자주 보입니다. 사실 저도 초창기에는 테스트 코드 작성이 너무 어렵게 느껴졌고, 귀찮기도 했습니다. 그런데 요즘은 ChatGPT 덕분에 테스트 코드 작성이 꽤 편해졌어요. 실무에서 직접 사용해본 경험을 바탕으로, ChatGPT로 테스트 코드를 자동 생성하는 방법과 팁들을 공유해보려고 합니다.문제 상황: 테스트 코드를 쓰기 귀찮거나, 시간이 없다우리 모두 알죠. 테스트 코드는 중요하다는 걸. 그런데 바쁜 일정에 치이다 보면 테스트 코드는 늘 후순위로 밀립니다. 특히 기존 레거시 코드에 테스트를 붙이려고 할 때는 어디서부터 손을 대야 할지도 모르겠고, 의욕이 뚝 떨어지죠.그리고 또 하나. JUnit, Mockito, Web..

AI 2025.07.24

RestTemplate vs WebClient 무엇을 써야 할까?

Spring Boot 개발을 하다 보면, 외부 API를 호출해야 하는 일이 정말 자주 생기죠. 이때 사용할 수 있는 대표적인 HTTP 클라이언트가 바로 RestTemplate과 WebClient입니다. 그런데 둘 중 뭘 써야 할지 고민해본 적 없으신가요? 저도 처음엔 "RestTemplate도 잘 되는데 굳이 WebClient로 바꿔야 하나?" 싶었거든요.이번 글에서는 실제로 제가 겪은 실무 경험을 바탕으로, RestTemplate과 WebClient를 비교해보고 어떤 상황에서 어떤 걸 쓰는 게 좋은지 정리해볼게요. 이 글이 여러분의 선택에 조금이라도 도움이 되었으면 좋겠습니다!문제 상황: API 호출, 어떤 방식으로 할까?몇 달 전, 외부 인증 서버와 통신해야 하는 기능을 개발하게 되었어요. 이 기능은..

Spring 2025.07.23

공간 복잡도 쉽게 이해하기

문제 상황개발을 하다 보면, 시간 복잡도에만 신경 쓰는 경우가 많다.나도 예전에 알고리즘 문제를 풀 때 항상 실행 시간이 얼마나 걸리는지만 봤지, 메모리를 얼마나 쓰는지는 잘 생각하지 않았다.근데 한 번은 프로덕션 서버에서 대용량 데이터를 처리하는 로직을 짜다가, 아무리 성능이 빨라도 메모리 사용량이 터져서 OOM(Out Of Memory) 이 나버린 적이 있었다.그때 느꼈다.아무리 시간이 빨라도, 메모리를 무지막지하게 쓰면 서비스가 뻗어버린다는 걸.그래서 오늘은 공간 복잡도가 무엇인지, 왜 중요한지, 어떻게 계산하는지 얘기해 보려고 한다.내가 처음 공부할 때 이해하기 어려웠던 부분을 최대한 풀어 써볼게.내가 시도한 방법처음에 공간 복잡도를 배우려고 했을 때, 정의만 보면 좀 딱딱했다."공간 복잡도(Sp..

알고리즘 2025.07.13
반응형