본문 바로가기

전체 글334

(번역) 접근성과 인터넷의 새로운 모델 원문: https://cassidoo.co/post/accessibility-and-the-internet 접근성을 정말 진지하게 다루는 GitHub 같은 곳에서 일할 수 있어 무척 감사합니다. 하지만 업계 전반을 보면, 역사적으로 접근성에 그만큼의 관심과 헌신이 있었다고 느껴지지는 않습니다. 개인적인 경험으로는 "제가 접근성 작업에 신경 쓰는 만큼 상사도 신경 쓰게 하려면 어떻게 해야 하나요?"라고 묻는 개발자를 수없이 만났습니다. 접근성은 꼭 갖춰야 할 것이고, 제 생각으로는 두말할 필요도 없는 일이므로, 이 글에서 접근성을 옹호하는 주장을 펼치지는 않겠습니다. 그렇기는 하지만요. 지금은 그 어느 때보다 접근성이 훨씬 더 일급 시민처럼 느껴지며, 거기에는 몇 가지 이유가 있다고 생각합니다. 첫째, A.. 2026. 11. 2.
(번역) 고마웠어, Next 원문: https://maxleiter.com/blog/thank-u-next Next.js를 바이브 코딩한 "프레임워크"로 교체하기 최근 커스텀/개인용 소프트웨어와 LLM에 대한 이야기가 많이 나오고 있습니다. 저는 아주 열렬한 팬입니다. 지금 이 글도 제가 직접 만든 마크다운 에디터로 쓰고 있으니까요. 그리고 요즘 프레임워크의 미래에 대한 생각을 이리저리 굴려보고 있었습니다. 이 둘이 잘 맞물리는 지점이 바로 개인용 프레임워크로 보였습니다.그래서 9월 1일부로 이 웹사이트는 더 이상 Next.js에서 돌아가지 않습니다. 대신 Fable이 설계하고 Opus가 구현한 맞춤형 프레임워크 위에서 동작합니다. 상업 프로젝트였다면 아마 Next에 남았겠지만1, 그렇지 않으니 🤷이 사이트는 전반적으로 꽤 단순.. 2026. 10. 31.
(번역) 여러분의 모듈은 거짓말을 하고 있습니다 원문: https://blog.gaborkoos.com/posts/2026-08-14-Your-Modules-Are-Lying-to-You/ Javascript Weekly - 2026-08-25에 소개됨 다음과 같은 작은 ES 모듈을 살펴보겠습니다.// state.mjsexport let status = 'starting'export function start() { status = 'ready'} 두 익스포트(export)를 가져와 함수를 호출하면 가져온 status가 바뀝니다. // app.mjsimport { status, start } from './state.mjs'start()console.log(status) // ready CommonJS 버전은 동일해 보입니다. // state.cjs.. 2026. 10. 4.
(번역) 에이전트 네이티브가 팀 전체에 의미하는 것 원문: https://www.builder.io/blog/what-agent-native-means-for-the-whole-team AI는 왜 다른 사람들보다 개발자를 훨씬 더 많이 돕는 것처럼 보일까요? 여러분이 개발자라면 에이전트에게 저장소를 가리켜 주고 버그를 고치라고 지시할 수 있습니다. 에이전트는 코드를 읽고, 파일 몇 개를 수정하고, 테스트 스위트를 실행하고, 풀 리퀘스트를 엽니다. 여러분은 무엇이 바뀌었는지 정확히 확인하고, 코멘트를 남기고, 한 번 더 작업을 돌리게 합니다. 완벽과는 거리가 멀지만, 분명히 실질적인 일을 해내고 있습니다. 이제 마케터나 프로덕트 매니저, 디자이너가 AI를 쓰는 모습을 봅시다. 모델의 성능은 똑같이 뛰어난데도 경험은 딴판입니다. AI가 무언가를 만들어 내면,.. 2026. 8. 30.
(번역) npm 패키지를 평가하는 방법 - 2026 에디션 원문: https://blog.gaborkoos.com/posts/2026-05-29-How-to-Evaluate-an-npm-Package-2026-Edition/ Javascript Weekly - 2026-06-02와 Node Weekly - 2026-06-04에 소개되었습니다 npm install을 실행할 때마다 여러분은 프로덕션 환경에서 실행될 코드를 추가하는 셈입니다. 한 번도 만나본 적 없는 누군가가 작성했고, 여러분의 프로세스가 접근할 수 있는 모든 것에 접근 권한을 가진 코드 말입니다. 그 코드는 파일 시스템을 건드릴 수도 있고, 외부로 네트워크 요청을 보낼 수도 있으며, 환경 변수를 읽거나, 조용히 데이터를 빼낼 수도 있습니다. 결국 여러분은 낯선 사람에게 자신의 인프라를 맡기고 있는 .. 2026. 8. 5.
(번역) Claude로 UI 버그를 디버깅해 봤습니다. 실제로 어떤 일이 벌어졌을까요? 원문: https://blog.logrocket.com/debugging-session-with-claude/ ⚠️ 현재 원문은 접근되지 않습니다. 지난 2년 동안 소프트웨어 개발자들은 AI가 우리를 대체할지도 모른다는 이야기를 들어왔습니다. 한편으로는 AI가 개발자를 대체하지는 않고, 강력한 도구가 될 거라고 주장하는 사람들도 있습니다. 최근 저는 유난히 까다로운 UI 버그를 만났고, 이 주장을 직접 검증해 보기로 했습니다. AI는 대체재일까요, 아니면 도구함에 하나 더 얹은 도구일 뿐일까요? 배경을 조금 말씀드리면, 저는 10년 넘게 업계 경력을 쌓아 온 풀스택 시니어 소프트웨어 개발자입니다. 컴퓨터 공학 학사 학위를 받고 졸업한 뒤로 헬스케어, 금융, 교육 등 다양한 업계에서 IC와 팀 리드를 두.. 2026. 5. 22.
(번역) 페이지는 사라지고, 컴포넌트가 살아남을 것입니다 원문: https://bitsandbytes.dev/posts/components-will-kill-pages 인터넷이 변하고 있습니다. 이건 부정할 수 없는 사실입니다. 20년 만에 처음으로 웹사이트도 급격하게 변하려 하고 있습니다. 우리는 사이트를 하나씩, 페이지를 하나씩 넘겨 가며 인터넷을 탐색하는 방식에 익숙합니다. 최근 ChatGPT 같은 도구들이 등장하면서, 틱톡에 길들여진 우리의 짧은 집중력은 즉각적인 결과를 원하고 ChatGPT는 바로 그걸 제공합니다. 창을 열어 텍스트 입력창에 궁금한 것을 입력하면, 바로 나에게 맞춰진 답이 튀어나옵니다. 최소한의 노력으로 정보를 얻고, 남은 뇌세포들은 그 즉각적인 도파민 보상에 환호합니다. 시대가 변하고 있습니다. 프런트엔드 엔지니어들은 오랫동안 사용.. 2026. 3. 30.
(번역) 리액트의 useEffectEvent 이해하기: 오래된 클로저 해결을 위한 완벽 가이드 원문: Understanding React’s useEffectEvent: A Complete Guide to Solving Stale Closures TL;DRuseEffectEvent를 사용하면 의존성 배열에 추가하지 않고도 Effect 내부에서 최신 props나 상태를 읽을 수 있습니다. 이렇게 하면 해당 값이 변경되어도 Effect가 다시 실행되지 않습니다. 첫 번째 예제로 이동하기. 핵심 문제(The Core Problem)상황은 이렇습니다. WebSocket 연결, 간격 타이머, 구독과 같이 비용이 많이 드는 작업을 설정하는 useEffect가 있습니다. 그 설정 내부에서 콜백이 어떤 상태값을 읽어야 합니다. 하지만 그 상태값이 변경될 때마다 연결을 끊고 다시 설정하고 싶지는 않을 것입니다.갈.. 2026. 3. 3.
(번역) 도메인의 간략한 역사 원문: https://www.dotcom.press/history-of-domains 올해로, 닷컴(.com)은 40주년을 맞이했습니다. 40년 전, 최초의 도메인이 등록되었고, 초기 최상위 도메인들이 탄생했습니다. 그 이후로 거의 10억 개에 가까운 도메인이 등록되었습니다. 지난 40년 동안의 도메인 주요 이정표들을 살펴본 후, 다음에는 무엇이 올지 질문해 봅시다. 1983, DNS Paul Mockapetris는 USC에서 이름(도메인)을 숫자(IP 주소)로 매핑하기 위해 Domain Name System을 발명했습니다. DNS는 전 세계적인 조율을 수행하는 놀라운 시스템이지만, 다른 면에서는 분산되어 있는 인터넷 내에서 중앙 집중 지점으로 존재합니다. Tim-Berners Lee가 Weaving t.. 2025. 12. 25.