검색 결과
"engineering" · 40개 기사 · Hacker News · 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
여러 플랫폼과 아키텍처를 지원하는 범용 디스어셈블리 프레임워크. 바이너리 분석과 리버스 엔지니어링 도구 개발에 활용됨.