
요즘 가장 흔들리는 질문은 이것이다. AI가 코드를 이렇게 잘 짜는데, 지금 언어와 자료구조를 공부하는 게 맞을까? 나도 AI에게 프로젝트를 맡겨 보면 놀랄 때가 많다.

AI의 금융 실행을 규칙과 사용자 승인으로 통제하는 장면 2026 KB AI Challenge를 준비하면서 시니어 사용자가 음성과 텍스트로 금융 업무를 이용할 수 있는 에이전트를 만들고 있다. 처음 아이디어를 생각했을 때 가장 먼저 떠오른 기능은 자연어 송금이었다.

하나의 검색으로 해결하려는 AI와 세 저장소를 나누는 개발자 카카오테크캠퍼스 Agentic AI 프로젝트에서 개인 메이트 나나(Nana)의 기억 검색 기능을 구현했다. 지난주까지는 사용자의 자연어 요청을 구조화하고 SQLite에 저장한 뒤 다시 조회·수정·삭제하는

자연어를 구조화하고 도구를 거쳐 데이터베이스에 저장하는 작업장 카카오테크캠퍼스 1단계 프로젝트에서는 개인 메이트 나나(Nana)와 그룹 메이트 카나(Kana)를 만들고 있다. 처음 Agentic AI를 접했을 때는 LLM이 사용자의 말을 이해해서 일정을 알아서 저장

2025년 정산 편입 직전의 집중도 있는 학습과 연속적인 편입 시험으로 너무 바빠서 한동안 벨로그를 작성하지 못했다. 기나긴 편입이 좋은 결과로 끝났고 새로운 학교에서는 백엔드와 더 깊이있는 코딩테스트 위주로 학습하면서 전공공부에 매진할 생각이다. 앞으로는 배운

코딩테스트 문제를 풀때 디버거를 잘 몰라서 printf와 같은 출력문을 반복문 사이사이에 넣어서 풀곤 했었다.하지만 UNIX를 배우면서 Make Utility와 GCC 컴파일러에 대해 배우면서 GDB에 대해 배울 수 있었다.이를 배우면서 흥미를 느껴 이에 대해 기록하고

Windows의 Visual Studio 같은 통합 개발 환경(IDE)은 매우 편리하지만, 많은 개발 환경, 특히 서버는 그래픽 인터페이스(GUI)가 없는 터미널 기반의 리눅스로 운영된다. 따라서 터미널 환경에서 코드를 작성하고 컴파일하는 능력은 개발자의 기본 소양이다

전공 공부를 병행하면서 꾸준히 코딩테스트 문제를 풀다보니 목표 중 하나였던 백준 골드를 달성하게 되었다.실버를 달성까지 며칠밖에 안 걸렸어서 골드도 금방 달성할 수 있을 줄 알았지만 그건 내 기본기가 있기 때문이었다.실버 문제부터는 스택, 큐, 트리, 그래프와 같은 자

분할 정복 알고리즘(Divide and conquer algorithm)은 그대로 해결할 수 없는 문제를 작은 문제로 분할하여 문제를 해결하는 방법이다. 대표적인 예로는 퀵 정렬이나 합병 정렬과 이진 탐색 등이 있다.1) Divide 원래 문제가 분할하여 비슷한 유

백준 25501 - 재귀의 귀재재귀 알고리즘 문제를 풀다가 답안을 제출했는데 자꾸 오답처리가 되었다.알고리즘에도 문제가 없고 내 컴파일러에서는 실행결과에도 아무런 문제가 없었다.그래서 다른 사람들의 코드와 비교하다가 이유를 찾았다.결론부터 말하자면, 채점 서버의 컴파일

백준 - 후위 표기식C에는 스택 라이브러리가 없기 때문에 구현하여 사용해야한다.그래서 스택을 구현한 김에 더 깊게 이해하고자 스택 문제를 여러 개 풀고 있다.우리는 1+2+3 처럼 숫자(피연산자)와 숫자 사이에 연산자(+)를 넣어서 식을 표현하는데 이를 중위 표기식(I

문제 링크 백준 - 스택 수열 문제 내용 C에는 스택 라이브러리가 없기 때문에 구현하여 사용해야한다. 그래서 이왕 스택을 구현한 김에 더 깊게 이해하고자 스택 문제를 여러개 풀고 있다. 아마 예시 입출력이 없었다면 아직도 문제를 이해하지 못했을 것이다. 쉽게

DAO 패턴과 커넥션 풀 비즈니스 로직을 JSP에서 분리했더라도, 데이터베이스 연결(JDBC) 코드가 서블릿이나 JSP에 직접 포함되어 있다면 심각한 문제를 야기한다. 이러한 구조는 코드 중복, 어려운 유지보수, 비효율적인 DB 연결로 인한 성능 저하를 초래한다.

JSP 페이지 안에서 <% ... %> 스크립틀릿으로 자바 코드를 직접 작성하는 것은, 코드가 길어질수록 가독성과 유지보수성을 급격히 떨어뜨린다. 특히 HTML나 JSP 폼(form)에서 넘어온 많은 파라미터를 처리하는 코드는 순식간에 지저분해지고 관리가 어렵다.

쿠키(Cookie) HTTP 프로토콜은 '상태가 없는(Stateless)' 특징을 가진다. 이는 서버가 각 요청을 독립적인 것으로 취급하여 이전 요청을 기억하지 못함을 의미한다. "방금 로그인한 사용자가 누구인지" 알 수 없는 것이다. 이 문제를 해결하기 위해, 서버

Java로 웹 개발을 시작하면 가장 먼저 JSP(JavaServer Pages)와 서블릿(Servlet)을 만나게 된다.서블릿 (Servlet)서블릿은 순수 자바(Java) 코드이다. 서블릿은 사용자의 요청을 처리하고, 비즈니스 로직을 실행하며, 데이터를 제어하는 역할

프로젝트 구조, 왜 중요할까? 나도 그랬듯이 초보자들은 프로젝트를 시작할 때, 모든 코드를 파일 하나에 다 넣으려고 한다. 하지만 JSP를 예로 들었을때 HTML, CSS, JavaScript, 자바 로직, 데이터베이스 연결 코드까지 한 파일에 뒤섞이면 처음에는 빠

최종\_보고서.hwp진짜최종\_보고서.hwp진짜진짜최종\_수정본\_보고서.hwp교수님께\_보낼파일\_최종.hwp우리는 모두 파일의 버전을 관리하느라 고통받아 본 경험이 있다. 개발 프로젝트는 수십, 수백, 수만 개의 파일로 이루어져 있고, 수많은 사람이 동시에 작업한다

데이터 무결성은 데이터베이스 내의 데이터에 대해 정확성(Accuracy), 일관성(Consistency), 유효성(Validity)을 유지하는 것을 의미한다. 즉, 데이터베이스에 저장된 값은 항상 의도된 형식과 규칙에 맞게 저장되어야 하며, 데이터 간의 관계 또한 모순

정규화(Normalization)란 ? 데이터베이스 정규화는 관계형 데이터베이스에서 데이터의 중복을 최소화하고, 데이터의 일관성과 무결성을 확보하기 위해 테이블을 구조화하는 과정이다. 잘못 설계된 테이블에서는 데이터를 추가, 수정, 삭제할 때 예기치 않은 문제가 발