kciter.so devlog
ESC
ARTICLES
애니메이션을 설계하는 방법
모델링 시리즈: 시간
모델링 시리즈: 시간

들어가며 비즈니스에 있어 시간은 매우 중요한 요소다. 사람들은 예측 가능한 것을 원하며 시간은 비즈니스적 관점에서 '특정한 시간에 무언가를…

모델링 시리즈: 측도
모델링 시리즈: 측도

들어가며 소프트웨어는 다양한 데이터를 다루는 복잡한 시스템이다. 이러한 데이터는 단순히 숫자나 문자열로 표현되는 것이 아니라, 그 자체로…

AI 에이전트를 만드는 방법
AI 에이전트를 만드는 방법

오늘은 에이전트 이야기를 해보려고 합니다. 모두가 항상 말하듯 개발자의 역할은 '소프트웨어로 문제를 해결하는 것'입니다. 소프트웨어가 빠르게…

모델링 시리즈: 조건 트리
모델링 시리즈: 조건 트리

들어가며 고객이 장바구니에 상품 X를 담고 있을 때 첫 구매자거나 최근 한 달 내 구매 금액이 10만 원 이상이면서 등급이 VIP라면 쿠폰을…

모델링 시리즈: 뷰모델
모델링 시리즈: 뷰모델

들어가며 모델링 시리즈의 첫 번째 주제는 뷰모델(ViewModel)이다. 흔히 모델링이라 한다면 도메인 정보를 추상화하거나 데이터베이스…

모델링 시리즈: 서문
모델링 시리즈: 서문

들어가며 개발자는 다양한 업무를 수행한다. 하지만 그중에서 가장 중요한 일은 무엇일까? 필자는 모델링이라 생각한다. 필자는 꽤 다양한 서비스와…

UX 관점에서 바라보는 MCP
UX 관점에서 바라보는 MCP

항상 떠들썩한 IT 업계에서 최근 가장 뜨거운 화두는 단연코 MCP(Model Context Protocol)라고 할 수 있습니다. 이…

새로운 종류의 AI 환각
새로운 종류의 AI 환각

요즘은 정말 AI 열풍 그 자체입니다. 저 또한 최근에는 코딩, 학습, 글쓰기, 리서치 등 다양한 영역에서 AI를 적극적으로 이용하고…

코딩 테스트 이모저모
코딩 테스트 이모저모

취업이나 이직을 준비하는 개발자에게 코딩 테스트는 언제나 마음 한 구석에 남아있는 고민거리라 할 수 있다. 많은 이들이 코딩 테스트 무용론을…

Kotlin Script 활용하기
Kotlin Script 활용하기

현대적인 언어 중 하나인 Kotlin은 JetBrains에서 만든 언어로, Java와 100% 호환되는 언어이다. 그렇기 때문에 Kotlin은…

개발자의 추상적, 구조적 사고
개발자의 추상적, 구조적 사고

컴퓨터 과학의 모든 문제는 다른 수준의 간접 계층으로 해결할 수 있다 - David J. Wheeler ... 그러나 그러면 또 다른 문제가…

음악 검색 시스템 만들기
음악 검색 시스템 만들기

미래 학자이자 SF 소설의 거장 아서 C. 클라크는 충분히 발달한 과학 기술은 마법과 구별할 수 없다라는 유명한 말을 남겼다. 이 말이…

소프트웨어 파괴의 미학
소프트웨어 파괴의 미학

새는 알에서 나오기 위해 투쟁한다. 알은 세계이다. 태어나려고 하는 자는 누구든 하나의 세계를 파괴하지 않으면 안된다. - 헤르만 헤세,…

비밀 관리를 위한 금고 시스템 만들기
비밀 관리를 위한 금고 시스템 만들기

최근 몇 년 사이에 브라우저 혹은 OS에서 제공하는 비밀 관리 시스템을 이용하는 사람이 많아졌다. 혹은 1Password 같은 애플리케이션을…

디버깅 원칙
디버깅 원칙

디버깅, 개발자라면 누구라도 한 번쯤 겪었고 앞으로도 꾸준히 겪어야 할 피할 수 없는 숙명이다. 우리는 간단한 논리적 실수부터, 도저히 원인을…

ASCII 3D 렌더러 만들기
ASCII 3D 렌더러 만들기

필자는 쓸데없지만 재밌는 프로그램을 만들면서 공부하는 것을 좋아한다. 최근에 정신적으로 에너지가 바닥나고 있다는 것을 느껴 작년에 재미로…

Render Delegation하는 React 컴포넌트 만들기
Render Delegation하는 React 컴포넌트 만들기

이전에 Polymorphic한 React 컴포넌트 만들기라는 글을 통해 컴포넌트에 다형성을 적용하는 방법을 소개했었다. 해당 글에서는 as…

Type-Driven Development
Type-Driven Development

타입은 개발자에게 친숙하면서도 어색할 수 있는 개념이다. 특히 정적 타입 언어를 사용한다면 타입은 땔래야 땔 수 없는 존재다. 타입은 가끔씩…

개발자의 학습과 성장
개발자의 학습과 성장

🚨 이 자료는 개발자의 소프트 스킬이 아닌 하드 스킬을 이야기합니다. 또한, 성장을 강요하는 자료도 아닙니다. 이 자료는 개발자가 성장하기…

아름다운 코드에 대하여
아름다운 코드에 대하여

Beauty is mute deception. - Theophrastos 기원전, 테오프라스토스라는 사람은 '아름다움은 말 없는 속임수'라는…

함수형 자료구조
함수형 자료구조

자료구조란 전기 신호의 나열로 이루어진 컴퓨터 세계의 데이터를 다차원으로 표현하는 것이라 볼 수 있다. 우리는 보통 전산화를 할 때 현상을…

Railway-Oriented Programming
Railway-Oriented Programming

프로그램을 개발함에 있어 에러와 사이드 이펙트(부수 효과)를 처리하는 것은 필연적이다. 아무리 꼼꼼하게 코드를 작성해도 생각하지 못한 문제는…

갓생사는 방법론
갓생사는 방법론

현대인의 삶은 너무나도 힘들다. 알아야할 정보는 너무나도 많고 항상 새로운 도전을 요구받는다. 그렇게 끝이 보이지 않는 일과 막막한 미래를…

IoC와 DI를 이용한 Spring 멀티 모듈 아키텍처
IoC와 DI를 이용한 Spring 멀티 모듈 아키텍처

흔히 훌륭한 아키텍처는 개발자와 소프트웨어 품질에 많은 도움을 준다고 한다. 대체 아키텍처란 뭘까? 많은 개발자가 아키텍처란 그저 개발자가…

난해한 프로그래밍 언어 만들어보기
난해한 프로그래밍 언어 만들어보기

잉여 코딩이라는 말을 들어본 적 있는가? 잉여 코딩은 돈 버는데엔 쓸모없지만 취미로 즐겁게 코딩하는 것을 의미한다. 최근 몇 년 사이엔 대부분…

Polymorphic한 React 컴포넌트 만들기
Polymorphic한 React 컴포넌트 만들기

들어가기에 앞서 Polymorphism은 한국어로 다형성이라고 부르는데, 여러 개의 형태를 가진다라는 의미를 가진 그리스어에서 유래된 단어다.…

시간에 대해 탐구하기
시간에 대해 탐구하기

글로벌 서비를 개발할 때 제일 중요한 것은 시간을 관리하는 것이라 말해도 무방하다. 그만큼 시간을 잘 다루는 것이 중요한 능력이며, 시간을…

Effective Atomic Design
Effective Atomic Design

소프트웨어 개발 중 설계에서 가장 중요한 것은 모듈화와 추상화 두 가지라고 할 수 있다. 웹 프론트엔드 업계는 이미 React, Vue.js,…

웹 개발을 위해 꼭 알아야하는 보안 공격
웹 개발을 위해 꼭 알아야하는 보안 공격

이번 포스팅에선 아주 중요하지만 프로그래밍 교육 과정에서 크게 다루지 않는 보안에 대해 이야기 해보려고 한다. 최근엔 프레임워크나 라이브러리…

MongoDB 이해하기
MongoDB 이해하기

사내에서 MongoDB를 잘 쓰기위한 스터디를 하게되어 이번 기회에 관련 자료를 정리하기로 했다. MongoDB가 왜 필요한지, 더 잘사용하기…

첫 포스트를 작성하며
첫 포스트를 작성하며

나는 매사 불성실하고 게으름이 많은 성격이다. 하지 않아도 된다면 안 하는 귀찮음이 몸에 배어있는 모범적이지 못한 성격이다. 이 성격으로 인해…