전체 글

안녕하세요. 사진과 철학에 관심이 많은 웹 프론트엔드 개발자 오원종입니다. 시간이 지나도 꾸준히 읽힐 수 있는 글을 쓰고 싶습니다. 재미있는 일만 하면서 살고 있는 사람입니다.
원문: https://hidde.blog/component-conformance/접근성을 고려해 UI 컴포넌트를 만들 수 있습니다. 개발하면서 컴포넌트와 함께 접근성 관련 사항을 문서화하거나, 명백한 장애물이 없는지 검토해도 됩니다. 모두 도움이 되고 권장할 만한 일입니다. 그렇다면 적합성을 주장하는 건 어떨까요? 이 글에서는 WCAG가 기술적으로 그것을 허용하지 않는 이유와, 그 판단이 옳다고 보는 이유를 이야기합니다.이 글의 일부는 제가 진행해 온 "내장 접근성: 축복인가 저주인가?"라는 발표 시리즈에서 비롯되었습니다. 이 발표에서는 "접근 가능한 웹 플랫폼 기능"과 저작 도구도 다룹니다. JS Heroes 2025 유튜브 영상을 확인하실 수 있습니다.평소와 같이, 이 글의 의견은 제 개인적인 견해이..
원문: https://www.viget.com/articles/fixing-typescript-performance-problems대규모 타입스크립트 모노레포(monorepo)에서 심각한 성능 문제를 디버깅한 경험을 소개합니다.최근 진행한 타입스크립트 프로젝트에서 에디터 성능이 점점 저하됐습니다. 타입스크립트 컴파일러(언어 서버 포함)가 코드베이스의 특정 영역에서 버벅이기 시작하면서 인텔리센스가 느려지고 타입 검사 시간이 길어졌습니다. 타입 정보가 오래된 상태로 남아 있는 일도 잦아졌고, 팀원들의 불만도 커졌습니다.이 프로젝트는 타입스크립트 패키지 7개로 구성된 모노레포입니다. 이전 개발자들이 프로젝트 참조(project references)(composite 설정 필수)와 증분 컴파일(increment..
26.06.01 ~ 26.06.05나의 노력의 방향은 올바로 나아가고 있는가나는 지금 나의 삶에서 주어진 역할과 책임을 다하기 위해 꽤 분주하게 살아가고 있는 편이다. 이따금씩 드는 생각은 내가 지금 올바른 방향으로 노력하고 있는 것이 맞는지에 대한 의문이 들 때가 있다. 예를 들어 회사에서 충분히 의미 있다고 판단되지 않는 일을 하는 상황이 주어진다거나, 내가 벌인 일들을 책임감 있게 가져가기 위해 자잘한 잡일을 해야 하는 상황이 이어진다거나 하는 등의 경우 말이다. 동일하게 열심히 일을 하더라도, 그 일이 나한테 의미가 있고 보람이 느껴지면 그 일을 힘들어도 잘 했다고 느껴지는 반면, 의미가 없는 일을 반복할 경우 나는 급격하게 지치고 소위 말하는 '현타'가 온다.최근에 나는 개발자로서 커리어를 잘 ..
26.05.26 ~ 26.05.29커뮤니티를 만드는 것의 어려움나는 작년 여름, 열정적이고 선한 개발자들과의 길고 꾸준한 관계를 만들고 싶어서 이라는 커뮤니티를 하나 만들었다. 지향하는 방향은 직장 동료와 친구의 교집합과 같은 느낌의 관계를 만들고 싶었다. 훌륭한 엔지니어가 되는 커리어적인 목표와 좋은 삶이라는 라이프스타일 관련 목표를 지향하는 모임을 만들고자 했다. 자주 보지는 않지만, 가끔 만나서 맛있는 거 먹으면서 고민 이야기 나눌 수 있는 그러한 관계를 바라고 시작했다. 한 달~두 달 간격으로 모임을 계속 열었고 그때마다 나나 다른 멤버분이 아젠다를 내서 발제 모임을 가졌다. 작년 말에는 연말 회고도 함께 했다.커뮤니티를 만들고 일 년 가까이 지난 지금은 잘한 점도 있고, 아쉬운 점도 있고 반반인..
26.05.18 ~ 26.05.22풍요 속의 빈곤감사하게도 회사에서 AI 도구를 여러 가지 지원해 주어서 이것저것 써 보고 있다. 그런데 단편적으로 채팅하고 명령해서 쓰고 하는 수준에서 크게 벗어나지 못하는 것 같다는 생각이 든다. 지금은 피그마 MCP로 우리 팀의 코드 컨벤션과 디자인 시스템을 이해하고 구현까지 해주는 에이전트를 고도화 하고 있는데, 쓸 수 있는 도구는 많지만 작업의 진도가 잘 안나가는 것 같아서 답답하다.업무에서는 주로 Claude를 쓰고, 간간히 사이드로 Codex를 쓴다. 그런데 요즘은 Codex가 더 잘하는 것 같다. 이미지 생성은 Gemini를 쓰고, 주식 등 최신 정보를 필요로 하는 조사 작업에서는 Perplexity를 쓴다. 다양한 도구들을 써 보고 있지만, 어느 하나 막 ..
원문: https://www.lorenstew.art/blog/react-won-by-default/React-by-default에는 숨겨진 비용이 있습니다. 이 글은 작업에 맞는 올바른 프레임워크를 선택하기 위해 의도적인 선택을 내려야 한다는 주장입니다.리액트는 더 이상 기술적 우위로 승리하고 있지 않습니다. 지금은 기본 선택지라는 이유만으로 승리하고 있습니다. 이 기본값이 프런트엔드 생태계 전반의 혁신을 늦추고 있습니다.팀이 새로운 프런트엔드를 만들어야 할 때, 대화는 좀처럼 "제약 조건이 무엇이고, 어떤 도구가 가장 적합한가?"로 시작하지 않습니다. 대부분 "리액트를 쓰자. 다들 리액트는 알잖아."로 시작합니다. 이 반사적인 선택은 기술적 적합성이 아닌 네트워크 효과가 아키텍처를 결정하는 자기 강화..
원문: https://philna.sh/blog/2026/01/11/javascript-date-calculation/문제2025년 1월, 저는 미국 캘리포니아주 산타클라라에서 보고서를 만들기 위한 자바스크립트를 작성하고 있었습니다. 한 달 동안 발생한 이벤트 수를 구하고 싶었기 때문에, 해당 월의 첫째 날로 날짜 객체를 만들고, 한 달을 더한 뒤, 하루를 빼서 마지막 날을 구하려 했습니다. 간단해 보이죠?그런데 정말 이상한 결과가 나왔습니다. 문제를 다음 코드로 재현할 수 있었습니다.const date = new Date("2024-01-01T00:00:00.000Z");date.toISOString();// => "2024-01-01T00:00:00.000Z" as expecteddate.setMon..
· 끄적끄적
마라톤 준비물번호분류이름풀코스 기준특이사항체크 필수장비배번표(bib)필수대회 참가 필수 필수장비카본화권장레이스용 러닝화 필수장비플라스틱 카드권장보관함 이용, 비상 결제용 필수장비스마트 워치권장페이스 체크용 필수장비이어폰선택대회 규정 확인 필요 의류반팔 / 싱글렛필수날씨에 맞게 선택 의류러닝 쇼츠필수장거리 착용감 중요 의류러닝 양말필수마찰 방지, 쿠셔닝 고려 의류모자권장햇빛 차단, 체온 조절 뉴트리션에너지젤필수보급 계획에 맞춰 준비 뉴트리션식염 포도당권장염분 보충용 뉴트리션마그네슘선택쥐 예방 목적 뉴트리션아미노산선택개인 루틴에 따라 준비 의류 / 기타히트 랙 (동절기)선택기온 낮을 때 사용 의류 / 기타러닝 벨트권장젤, 휴대폰 수납용 의류 / 기타슬리퍼권장레이스 후 회복용 의류 / 기타마사지볼선택레이스 전..
DevOwen
오웬의 개발 이야기