codinglog
코딩일기
-
AI 시대, 개발자가 살아남는 방법
AI가 개발 전반에 걸쳐 개입하는 시대가 정말로 왔습니다. 간단한 요구사항만 던져주면 AI 에이전트가 알아서 프로젝트를 만들고, 코드를 생성하고, 심지어 배포까지 해주죠. 처음 AI가 만든 결과물을 본 순간… 정말 경악했습니다. “곧 우리는 짤리겠구나…” 현실은 그렇게 호락호락하지 않더군요 하지만 실무에서 AI를 활용한 개발을 해보니 오히려 시간이 더 걸리는 경우가 허다했습니다. 원래 잘...
-
Windows에 Gradle 9 설치하기
요구사항 Gradle 최신 버전(9.0.0)은 Java JDK 17 이상이 설치되어 있어야 합니다. 주요 OS에서 대부분 설치가 가능합니다. 자바 버전은 아래 명령어로 확인할 수 있습니다. 자바버전 확인 java -version Gradle은 Groovy Library를 포함하여 배포되기 때문에 특별히 따로 설치할 필요는 없습니다. 기존에 설치되어 있는 Groovy가 있어도 그 버전은 무시합니다. 설치파일 다운로드 다운로드 페이지에서...
-
Gemini vs ChatGPT vs Claude - AI 대전의 진짜 승자는 누구인가?
“누가 더 뛰어난가?”보다 중요한 질문 AI를 쓰다 보면 자주 듣게 되는 질문이 있습니다. “제미나이, 챗GPT, 클로드 중에 뭐가 제일 좋아요?” 하지만 실제로 세 가지 모델을 모두 써보면서 깨달은 건, “누가 더 뛰어한가?” 라는 질문보다 “어떤 상황에서 누구를 쓰는 게 더 효과적인가?” 가 훨씬 중요하다는 점입니다. 마치 자바에서 ArrayList와 LinkedList, HashMap이...
-
자바 제네릭의 타입 정보를 유지하는 방법 - Super Type Token
자바 제네릭의 타입 파라미터를 저장하고 사용하는 방법을 알아봅니다. 제네릭은 코드의 재사용성을 높이고 데이터 타입의 안정성을 높여줍니다. 제네릭이 없었더라면 객체를 담는 컬렉션을 안전하게 사용할 수 없을 것입니다. 아래는 간단한 컬렉션을 구현하고 사용하는 예제를 살펴봅시다. public class MyCollection { static class SimpleCollection { private final Object[] data = new Object[100]; private int...
-
푸시한 커밋을 리베이스 했을 때 브랜치 정리 방법
rebase는 커밋 그래프를 이쁘게 만들어주는 일등 공신이죠. 저는 항상 rebase를 이용해서 개발 중인 브랜치를 최신화시키는데요 혼자서 사용하는 개발 브랜치면 상관없는데 이게 다른 사람과 공유하면서 작업할 때는 좀 골때리는 상황이 생깁니다. 아래의 경우를 보겠습니다. A개발자, B개발자 모두 master 브랜치에서 딴 d 커밋을 베이스로 작업하고 있었어요. 그런데 A개발자가 d커밋을 master의 c커밋 위로...