검색 결과
"engineering" · 60개 기사 · Dev/Tools
Ladybird 개발 방식을 바꾸는 중
Changing how we develop Ladybird
Ladybird가 브라우저 개발 프로세스를 재정비하고 있음. 팀 구조와 개발 방식의 변경을 통해 속도와 효율을 높이려는 흐름.
Software Engineering의 법칙들
Laws of Software Engineering
소프트웨어 공학에 적용되는 여러 원칙과 법칙을 정리한 글. 개발 의사결정과 시스템 설계 관점을 다룸.
Software Architecture 배우기
Learning Software Architecture
소프트웨어 아키텍처를 학습하는 방법과 핵심 개념을 다룬 글. 설계 원칙과 시스템 구조 이해에 초점.
병목은 결코 코드가 아니었다
The bottleneck was never the code
코딩 에이전트의 한계가 코드 품질보다 작업 흐름과 의사결정 구조에 있다는 주장. 개발 생산성의 병목을 다시 보게 만든다.
코드 라인 수가 더 나은 홍보를 얻음
Lines of code got a better publicist
코드 라인 수 지표가 다시 주목받으며 소프트웨어 측정 방식에 대한 인식이 달라짐. 단순한 생산성 척도로만 보던 관점이 재평가되는 흐름.
AI는 더 적은 것이 아니라 더 많은 엔지니어링 규율을 요구한다
AI demands more engineering discipline. Not less
AI 활용 개발일수록 테스트, 리뷰, 시스템 설계 같은 엔지니어링 규율이 더 중요하다는 주장. 프롬프트 의존보다 검증 가능한 개발 절차가 필요하다고 강조함.
스키플리스트(Skiplists)는 어디에 유용한가?
What are skiplists good for?
스키플리스트의 구조적 특징과 효율적인 데이터 검색 및 삽입 성능을 분석합니다. 특정 상황에서 왜 스키플리스트가 다른 자료구조보다 유리한지 기술적인 관점에서 설명합니다.
Cleve Moler 별세
Cleve Moler has died
MATLAB 공동 창립자 Cleve Moler가 별세했다. 수치해석과 공학 계산 도구 발전에 큰 족적을 남김.
Show HN: Apple의 video wallpapers를 역공학했다
Show HN: I reverse engineered Apple's video wallpapers
Apple의 video wallpapers 포맷을 역공학한 프로젝트. GitHub에 분석 결과와 관련 코드가 공개됨.
에이전틱 코딩 교훈: 코드가 싸질 때 우리는 무엇을 해야 하나
Lessons for Agentic Coding: What should we do when code is cheap?
에이전트 기반 코딩 시대의 실무 교훈을 정리함. 코드 생산 비용이 낮아질수록 검증, 설계, 유지보수의 중요성이 커짐.
Every Byte Matters
Every Byte Matters
코드와 데이터에서 바이트 단위 최적화의 중요성을 다룬 글. 저장공간과 전송비용을 줄이는 세부 절약 기법을 정리.
1998년 Ultima Online 데모 서버 역공학
Reverse-engineering the 1998 Ultima Online demo server
1998년 Ultima Online 데모 서버를 역공학한 기술적 분석. 오래된 게임 서버 구조와 동작 방식을 복원한 사례.
나의 Software North Star
My Software North Star
소프트웨어를 판단하고 설계할 때 따를 기준점을 정리한 에세이. 개발자가 장기적으로 유지할 핵심 원칙과 우선순위를 제시함.
80386 Microcode 해독
80386 Microcode Disassembled
80386 프로세서의 마이크로코드를 분해해 내부 동작을 분석한 글. 오래된 CPU 설계를 역공학 관점에서 들여다본다.
Show HN: Test Drive III(1990 DOS 게임)의 세계 지도를 역공학했다
Show HN: I reverse-engineered the world maps of Test Drive III (1990 DOS game)
1990년 DOS 게임 Test Drive III의 월드 맵 데이터를 역공학해 복원한 프로젝트. 고전 게임 자산 분석과 지도 재구성이 핵심.
SimTower 리버스 엔지니어링
Reverse Engineering SimTower
고전 시뮬레이션 게임 SimTower의 내부 동작을 역분석한 글. 게임 구조와 구현 방식을 복원하며 오래된 소프트웨어를 해부한다.
Harness engineering: 에이전트 우선 세계에서 Codex 활용하기
Harness engineering: Leveraging Codex in an agent-first world
에이전트 중심 개발 환경에서 Codex를 활용하는 엔지니어링 방식을 다룸. 도구 연결, 작업 분해, 검증 흐름에 초점.
Snowboard Kids 2가 100% 디컴파일됨
Snowboard Kids 2 is 100% Decompiled
Snowboard Kids 2의 디컴파일이 100% 완료됨. 게임 코드 분석과 보존, 후속 포팅 작업의 기반이 마련됨.
Mercury의 프로덕션 엔지니어링: 수백만 줄 규모의 Haskell
A Couple Million Lines of Haskell: Production Engineering at Mercury
Mercury의 프로덕션 환경에서 Haskell 코드베이스가 수백만 줄 규모로 운영되는 사례를 다룸. 대규모 Haskell 시스템의 유지보수와 엔지니어링 방식이 핵심.
Google의 IDE 역사
A History of IDEs at Google
Google 내부에서 IDE가 어떻게 발전해 왔는지 정리한 글. 개발 도구의 진화와 대규모 코드베이스 대응 방식이 핵심 주제임.
하지만 야크 셰이빙은 재미있다
But yak shaving is fun (2019)
겉보기엔 쓸데없는 우회 작업이지만, 문제를 파고들며 도구와 시스템을 더 잘 이해하게 만든다는 관점을 다룸. 개발 과정의 잡무와 탐색 자체에 의미가 있다는 내용.
훌륭한 abstraction의 숨은 비용
The 'Hidden' Costs of Great Abstractions
추상화가 개발 생산성을 높이는 동시에 복잡성, 디버깅 비용, 성능 손실을 숨길 수 있음을 지적. 설계 수준에서의 대가를 다시 보자는 논점.
Technical, Cognitive, and Intent Debt
Technical, cognitive, and intent debt
기술 부채와 함께 인지 부채, 의도 부채를 구분해 소프트웨어 품질 저하를 설명. 단순한 코드 누적 문제가 아니라 이해 비용과 설계 의도 붕괴까지 포함하는 개념을 다룸.
코드 작성에 쓰는 AI 코딩 에이전트는 유지보수 비용을 줄여야 한다
An AI coding agent, used to write code, needs to reduce your maintenance costs
AI 코딩 에이전트의 핵심 가치를 기능 생산성이 아니라 유지보수 비용 절감으로 봐야 한다는 주장. 생성된 코드가 장기 운영 부담을 줄이지 못하면 실질적 효용이 낮다는 점을 강조함.
휴리스틱 없는 결정적 완전 정적 전체 바이너리 번역
Deterministic Fully-Static Whole-Binary Translation Without Heuristics
휴리스틱 없이 전체 바이너리를 정적으로 번역하는 결정적 접근을 제시. 실행 시점 추론을 줄여 재현성과 예측 가능성을 높이는 방향의 연구.
--dangerously-skip-reading-code
--dangerously-skip-reading-code
코드를 읽지 않고 넘어가는 태그나 습관의 위험성을 다룬 글. 빠른 판단보다 실제 코드 확인이 필요하다는 점을 강조함.
F#로 Game Boy 에뮬레이터를 만들었다
I built a Game Boy emulator in F#
F#로 Game Boy 에뮬레이터를 직접 구현한 과정을 공유. CPU, 메모리, 그래픽 처리 등 핵심 구성 요소를 다룸.
Martin Fowler: Technical, Cognitive, and Intent Debt
Martin Fowler: Technical, Cognitive, and Intent Debt
Martin Fowler가 기술 부채를 technical, cognitive, intent debt로 나눠 설명. 코드뿐 아니라 이해 비용과 의도 불일치까지 관리 대상으로 제시.
Mythical Man Month
Mythical Man Month
인력 증원이 소프트웨어 개발 속도를 단순히 높이지 못한다는 고전적 통찰을 되짚음. 프로젝트 복잡도와 커뮤니케이션 비용이 핵심 변수로 제시됨.
Drunk post: 시니어 엔지니어가 배운 것들
Drunk post: Things I've learned as a senior engineer (2021)
시니어 엔지니어로 일하며 얻은 교훈을 정리한 회고 글. 협업, 의사결정, 책임 범위에 대한 실전 관찰이 중심.
LLM 시대를 위한 TLA+ 입문: 프롬프트로 승리하기
Intro to TLA+ for the LLM Era: Prompt Your Way to Victory
LLM 워크플로에 TLA+를 적용하는 방법을 소개한 글. 프롬프트와 형식 검증을 결합해 설계 오류를 줄이는 접근을 다룬다.
LLM에는 boring languages를 사용하라
Use boring languages with LLMs
LLM 개발에는 복잡한 최신 언어보다 단순하고 보수적인 언어가 유리하다는 주장. 유지보수성과 예측 가능성을 강조함.
Python의 Opaque Types
Opaque Types in Python
Python의 Opaque Types 도입. 타입 힌팅과 모듈 간 데이터 캡슐화 강화.
3D Movie Maker를 Linux로 포팅하기
Porting 3D Movie Maker to Linux
고전 소프트웨어 3D Movie Maker를 Linux에서 동작하도록 옮기는 과정을 다룸. 오래된 애플리케이션의 이식과 복원 사례.
TI-84 Plus 운영체제의 완전 역공학
Full Reverse Engineering of the TI-84 Plus Operating System
TI-84 Plus 운영체제를 전면적으로 역공학한 분석 결과가 공개됨. 내부 구조와 동작 방식에 대한 상세한 해부가 진행됨.
WriteUp: 매트릭스 비를 소리로 바꾸는 x86 16바이트
WriteUp: 16 Bytes of x86 that turn Matrix rain into sound
x86 코드 16바이트로 매트릭스 효과를 음향으로 변환하는 트릭을 해설한 글. 짧은 어셈블리로 시각·청각 효과를 구현하는 기법을 다룬다.
규칙을 우회하려 할 때 그 규칙의 이유를 이해하기
Understanding the rationale behind a rule when trying to circumvent it
규칙을 피하려는 상황에서 그 규칙이 왜 존재하는지 먼저 파악해야 한다는 취지의 글. 우회 시도보다 설계 의도와 제약의 배경을 이해하는 접근을 강조.
10년간의 Unity Engine 업데이트를 통한 Gun Rocket 유지보수
Updating Gun Rocket through 10 years of Unity Engine
10년 동안 Unity Engine의 변화에 맞춰 게임 'Gun Rocket'을 업데이트해 온 개발자의 경험담입니다. 엔진 버전 업그레이드 과정에서 겪은 기술적 도전과 해결책을 다룹니다.
개발을 자동화해 나를 대체하기
Automating myself out of development
개발 업무를 자동화해 반복 작업과 구현 부담을 줄이는 흐름을 다룸. 자동화가 개발자의 역할과 일하는 방식을 어떻게 바꾸는지에 초점이 맞춰짐.
Capstone – 멀티 플랫폼, 멀티 아키텍처 디스어셈블리 프레임워크
Capstone – multi-platform, multi-architecture disassembly framework
여러 플랫폼과 아키텍처를 지원하는 범용 디스어셈블리 프레임워크. 바이너리 분석과 리버스 엔지니어링 도구 개발에 활용됨.
프로그래밍의 일곱 가지 원형 언어 (2022)
프로그래밍의 일곱 가지 원형 언어 (2022)
프로그래밍 언어는 문법적 차이를 넘어 반복, 재귀, 구성 방식에 따라 일곱 가지 원형으로 분류됩니다. 새로운 언어를 학습할 때 익숙한 원형을 공유하는 언어는 배우기 쉽지만, 낯선 원형으로의 전환은 새로운 사고방식을 요구합니다.
몇 달 동안 손으로 코딩하는 중이에요
몇 달 동안 손으로 코딩하는 중이에요
AI 코딩 에이전트가 대세인 시대에 LLM 없이 직접 코딩하며 기본기를 다지는 개발자의 리트릿 경험담입니다. 컴퓨터의 추상화 계층을 깊이 이해하고 Python 실력을 쌓기 위해 3개월간 수동 코딩에 집중하는 과정을 담고 있습니다.
AI 코딩 에이전트 구조 학습을 위한 Claude Code Harness 한국어판 공유
Show GN: AI 코딩 에이전트 구조를 공부하기 위한 Claude Code Harness 한국어판 공유
Claude Code의 아키텍처와 프롬프트 엔지니어링, 보안 체계를 깊이 있게 분석한 자료를 한국어로 번역하여 제공합니다. AI 코딩 에이전트의 내부 동작 원리를 이해하고자 하는 개발자들에게 유용한 가이드입니다.
프로덕션 환경에서 Vibe Coding을 책임감 있게 하는 법 - Code w/ Claude
프로덕션 환경에서 바이브 코딩을 책임감 있게 하는 법 - Vibe coding in prod | Code w/ Claude
Anthropic 연구자가 AI에게 코드를 전적으로 맡기는 Vibe Coding을 프로덕션에서 안전하게 쓰는 방법을 설명. 실서비스 적용 시 검증, 통제, 책임 분담이 핵심으로 제시된다.
The AI Agent Complexity Ratchet: Why 90% Test Coverage Is Required
The AI Agent Complexity Ratchet: Why 90% Test Coverage Is Required
AI 코딩 시대에는 복잡성이 쉽게 누적되는 만큼 높은 테스트 커버리지가 필요하다는 논지. 에이전트 기반 개발에서 90% 테스트가 사실상 안전장치로 제시된다.
Show GN: 여러 AI 코딩 에이전트를 단일/다중 코드베이스에서 같이 굴릴 때 쓰는 AGENTS.md 시드 프롬프트
Show GN: 여러 AI 코딩 에이전트를 단일/다중 코드베이스에서 같이 굴릴 때 쓰는 AGENTS.md 시드 프롬프트 (Estre...
하나의 프로젝트에서 Claude Code, Cursor, GitHub Copilot, Gemini, Cline, Windsurf, Continue 등 여러 AI 코딩 에이전트를 함께 운영하기 위한 AGENTS.md 시드 프롬프트를 소개함. 토큰 분산과 비용 최소화를 염두에 둔 멀티에이전트 워크플로우에 초점이 맞춰져 있다.
실전 엔지니어를 위한 Skills - Matt Pocock
Skills For Real Engineers - Matt Pocock
바이브 코딩이 아닌 실전 엔지니어링을 위한 에이전트 스킬 모음. TypeScript 교육자 Matt Pocock의 도구상자 형태 저장소임.
Show GN: Claude Code와 함께 bkamp.ai를 출시하는 데 9일이 걸렸고, 그 노하우를 bkit 플러그인으로 담았습니다.
Show GN: 클로드 코드와 함께 bkamp.ai를 출시하는 데 9일이 걸렸고, 그 노하우를 bkit 플러그인으로 담았습니다.
bkamp.ai를 9일 만에 출시한 경험을 바탕으로, Claude Code를 더 잘 쓰기 위한 컨텍스트 엔지니어링 노하우를 bkit 플러그인에 담았다.
자료를 이미지형 슬라이드로 바꿔주는 Codex 스킬 (gpt-slide)
Show GN: 자료를 이미지형 슬라이드로 바꿔주는 Codex 스킬 (gpt-slide)
Codex와 gpt-image-2를 이용해 보고서나 자료를 슬라이드로 자동 변환하는 4단계 워크플로를 소개. 반복적인 발표자료 제작을 프롬프트와 이미지 생성으로 단순화한 사례.
AI는 엔지니어링 규율을 덜이 아니라 더 요구한다
AI는 엔지니어링 규율을 덜이 아니라 더 요구함
AI 코드 생성의 속도와 품질이 높아질수록 코드 리뷰를 줄이기보다 검증과 운영 규율을 강화해야 한다는 관점이 제시됨. 코드가 더 싸고 빠르게 재생성되는 환경일수록 품질 통제와 책임 분리가 중요해짐.
에이전틱 코드 리뷰
에이전틱 코드 리뷰
코딩 에이전트 성능이 급상승하면서 난점이 코드 작성보다 신뢰 가능한지 판단하는 리뷰로 이동함. AI는 코드 생산량을 늘리지만 품질과 리뷰 가능성은 떨어뜨려, 코드 리뷰의 레버리지가 더 커졌다는 관점.
형식 기법과 프로그래밍의 미래
형식 기법과 프로그래밍의 미래
에이전트 코딩 확산으로 형식 기법의 비용 대비 효용이 재평가되는 흐름. 과거에는 일부 사례 중심이었지만 이제 대형 조직도 전담 팀을 두며 도입을 확대.
사용자는 신경 쓰지 않는다 — 하지만 당신은 신경 써야 한다
사용자는 신경 쓰지 않는다 — 하지만 당신은 신경 써야 한다
사용자는 기술 스택보다 제품이 제대로 동작하는지에 더 관심을 둠. 코드 품질이 낮으면 버그 수정, 기능 추가, 개발 속도에서 장기적인 비용이 커짐.
코드 리뷰에는 읽기가 필요하다
코드 리뷰에는 읽기가 필요하다
코드 리뷰는 배포 전 형식 절차가 아니라 장애, 보안 문제, 데이터 삭제 책임을 개인에서 팀으로 분산하는 장치라는 논지. 테스트, 기능 플래그, 가드레일, 관측 가능성만으로는 읽지 않은 코드 배포의 책임을 대체할 수 없다고 강조.
AI 시대의 기술 면접
AI 시대의 기술 면접
AI 도구 확산으로 면접에서는 AI 사용을 기본적으로 배제하고 기초 역량 중심 평가가 필요하다는 주장. 좋은 면접은 신호 품질과 회사 비용의 균형으로 봐야 한다.
지루한 기술을 선택하라 (2015)
지루한 기술을 선택하라 (2015)
검증된 기술을 우선 선택하는 것이 장기적으로 회사에 유리하다는 주장. 혁신 토큰은 한정돼 있어 새 기술 채택은 신중해야 함.
그냥 안 된다고 하는 엔지니어는 ZIRP 현상이었다
그냥 안 된다고 하는 엔지니어는 ZIRP 현상이었다
무리한 기능을 막고 코드 변경을 신중히 제어하는 시니어 엔지니어의 태도가 저금리·채용 확장기인 ZIRP 환경에서 형성됐다는 관점을 제시함. 생산성 압박이 커지면서 이런 역할의 가치가 다시 재평가되고 있음.
압박
압박
curl 유지보수가 공익성·엔지니어링 난제·품질 목표가 결합된 전업 업무로 굳어짐. 약 300억 건 설치 기반과 보안 실패 전파 위험 때문에 주 50시간 안팎의 부담이 이어짐.
80386 마이크로코드 역어셈블됨
80386 마이크로코드 역어셈블됨
80386 마이크로코드 ROM을 고해상도 다이 이미지에서 추출해 역어셈블함. 이미지 처리, 신경망, 사람 보조 검증을 결합해 며칠 만에 바이너리 블롭을 복원하고 교차 검증함.
Phosphene - Apple 비디오 배경화면을 리버스 엔지니어링한 macOS Tahoe용 비디오 배경화면 엔진
Phosphene - Apple의 비디오 배경화면을 리버스 엔지니어링한 macOS Tahoe용 비디오 배경화면 엔진
사용자 비디오 파일을 macOS 데스크톱과 잠금 화면 배경화면으로 재생하는 메뉴 막대 앱과 배경화면 확장으로 구현됨. 시스템 Wallpaper 설정에 통합돼 Apple 내장 Aerial처럼 동작한다.