본문 바로가기

전체 글37

증강 개발자의 시대, AI와 함께 성장하는 법 (2) 개요AI가 비약적으로 발전하면서 개발 생산성이 놀라울 정도로 올라가고 있다. 회사 입장에서는 정말 좋은 일이다. 하지만 개인의 입장에서 이건 과연 좋은일 일까? 라는 고민을 한적이 있었다. 예전 같으면 몇 시간씩 고민하던 문제를 이제는 AI에게 물어보면 순식간에 답을 알려준다. 더 나아가 내가 놓친 부분이나 더 나은 방법까지도 제안해줘서 정말 고맙고 도움이 많이 된다.그런데 주어진 일을 정해진 기간 안에 완수하는데에만 집중하다보니 어느 순간부터 길을 잃는 듯한 느낌이 들었다. 결국 "어떻게" 보다 "빨리" 가 중요해졌고, AI 가 알려준 정보들은 금새 잊혀졌다. 또 물어보면 되니까. 그렇게 휘발성이 높은 학습들을 반복하면서 내 안에 기술부채가 쌓이고 있던건 아닐까? 개발자로서의 나만의 색깔이 희미해져가고.. 2025. 7. 15.
AI가 코드를 바꾸는 시대, 나는 무엇을 준비해야할까? (1) 개요 불과 1~2년 전만 해도 AI가 지금처럼 빠르고 정확한 퍼포먼스를 보여줄거라고는 생각도 못했다.이제는 단순히 코드를 예측하거나 수정하는걸 넘어 코드 전체를 분석하고 구조까지 바꿔준다. 예전에는 모르는게 있으면 구글에 검색부터 했다. 하지만 검색 정보는 검증되지 않거나 이해하기 어려운 글이 많았다. 지금은 AI가 더 빠르게 요약하고 분석해준다. 코드의 복잡한 부분을 순식간에 이해하고 설명해주니 이미 내 작업 과정에서 AI가 중요한 역할을 하고 있다. 물론 문제도 있었다. 대화가 길어지면 AI가 주제를 잘 못따라가거나 할루시네이션이 생겼다.그때부터는 Cursor와 Gemini 같은 도구를 써서, 아예 내 프로젝트 안에서 컨텍스트를 이해하는 방식을 이용하였다.그러다보니 이제는 단순히 AI를 사용하는걸 넘.. 2025. 7. 14.
테스트 코드, 대체 어떻게 쓰는걸까? 흐름을 따라가보자. 개요애플리케이션을 개발하다보면 "내 코드가 정말 제대로 동작하고 있을까?"라는 의문이 들기 마련이다. 또한 시간이 지난 뒤에 코드를 리팩토링하거나 수정할 때, 기존 기능이 깨지지 않았는지도 확인해야한다.그래서 테스트 코드는 단순한 선택이 아니라, 신뢰할 수 있는 소프트웨어를 만드는데 필수 요소라고 생각한다. 이번 글에서는 진행하고 있는 독서 모임 플랫폼 프로젝트의 Club 도메인을 예시로, 코틀린에서 테스트 코드를 어떻게 작성하는지 정리해보았다. 1. 테스트의 목적 정상 동작 검증: 내가 작성한 코드가 예상대로 동작하는지 확인실패 시그널: 기능이 변경되거나 고장났을 때 빠르게 감지리팩토링 안전망: 내부 구현을 바꿔도 외부 동작이 같으면 안심하고 리팩토링 가능 2. 테스트의 기본 구성 (Given - Wh.. 2025. 5. 28.
코틀린 OOP 핵심 총정리 – class, data, object, enum, interface까지 개요이번 글에서는 코틀린의 객체지향 프로그래밍(OOP) 개념을 자바와 비교해서 정리해보려한다. 특히 자바에 익숙한 입장에서 코틀린의 클래스 선언, 생성자, 상속, 인터페이스, 싱글턴 객체, enum, data class 등의 구조를 학습해보자. 1. 클래스 선언 - 기본 구조와 생성자자바에서는 클래스를 선언하고, 필드를 만들고, 생성자를 통해 초기화를 진행하는 방식이 일반적이다.자바public class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; }} 코틀린class Person(val nam.. 2025. 5. 15.
자바와 코틀린 기초 비교 - 변수부터 Null 안정성까지 개요 이번 스터디의 주제로 새롭게 진행할 토이 프로젝트의 언어를 코틀린으로 정하게 되었다.자바에 익숙한 나는, 자바와 비교하면서 코틀린을 학습하면 더 빠르게 이해할 수 있을 것이라 판단했다.그래서 이번 글에서는 코틀린의 기초 문법에서 변수 선언, 함수, 문자열 처리, 조건문, null 처리를 중심으로 자바와 코틀린을 비교하며 정리해보려한다. 1. 변수 선언 - val 과 varval 과 var 를 보자마자 가장 먼저 떠오른건, 자바의 var 키워드와 자바스크립트의 val 였다. 자바는 원시 타입(int, double..)과 참조 타입(Integer, Double)을 구분하지만, 코틀린에서는 모든 것이 객체처럼 동작한다. 또한 타입 추론을 지원하기 때문에 코드가 더 간결하다는 장점이 있다. JavaKo.. 2025. 5. 14.
Kafka 컨슈머 만들기: 동작 흐름과 기본 설정 이해하기 개요메시지를 보내는 것 만큼, 받는 것도 중요하다. 카프카 프로듀서에 이어 이번에는 컨슈머에 대해 공부해봤다. 처음에는 poll 메서드가 뭘 하는지, subscribe 메서드는 왜 필요한지, 설정값들은 왜 이렇게 많은지 조금 헷갈렸는데 책을 읽으며 예제 코드를 하나씩 다라가며 개념을 정리해보니 어느 정도 감이 잡히기 시작했다. 이 글은 그 과정을 기록한 것으로, 컨슈머의 기본 동작부터 주요 설정값, 그리고 토픽을 구독하고 메시지를 읽어오는 방식까지 이해한 대로 정리해봤다. 1.카프카 컨슈머란?카프카에서 메시지를 읽는 주체를 컨슈머(Consumer)라고 한다. 메시지를 보낼 떄는 프로듀서(Producer)가 사용되며, 그 메시지를 읽고 처리하는 역할을 담당하는 것이 바로 컨슈머이다. 카프카는 모든 메시.. 2025. 4. 16.