본문 바로가기

전체 글272

Intent to Implement: WebGPU 드디어 WebGPU를 Chromium에서 구현하나 보다. (관련글) 다음은 bink-dev에 올라온 글의 일부이다. 애플이 WebKIt에 Metal을 이용해서 만든 WebGPU와 얼마나 비슷한지 궁금하다. 같은 이름인 것으로 보아 애플의 제안이 많이 받아들여진 것 같다. Spec:Work-in-progress IDL: https://github.com/gpuweb/gpuweb/blob/master/design/sketch.webidlThe “GPU for the Web” community group is approaching resolution on most-high level issues, but hasn’t looked at the detail or user-experience of the API y.. 2018. 6. 12.
Code Reading 남들이 짠 코드 읽기... 처음 개발자로서 일할때는 모든 프로젝트가 정말 바닥부터 코딩을 했다. 한마디로 main으로 코딩을 시작했다. 이런 코딩은 아주 재밌다. 내가 모든 것을 지배하니까.. 그런 즐거움도 잠시 대기업이 들어간 이후 부터 지금까지 남들이 짜 놓은 방대한 코드에 뭔가 기능을 구현해야했다. 이때 부터 본격적인 코드 읽기가 시작되었다. 방대한 코드를 이해하는 것은 쉽지 않다. 그냥 코드만 읽어서는 절대 이해할 수 없는 것이 코드 읽기다. 오죽하면 Code Reading이라는 책도있다. 그래서 지금까지 경험한 것을 잠깐 공유하려고 한다. 1. gdb로 step into를 통해 프로그램 동작을 이해한다. call graph를 복사해 놓고 sequence diagram을 그려 놓으면 좋다. 이것을 바탕으로 class dia.. 2018. 5. 6.
리눅스 크롬 브라우저 File-picker 드디어 modal 지원 크롬 브라우저 55 부터 file-picker가 modal로 뜹니다. 그전까지는 modal이 아니라 오동작하는 경우가 많았습니다. 대표적인 경우가 gmail에서 file attach하다가 다른 페이지로 이동할 수 있었지요. 실수로 이런 경우가 많았나봅니다. 처음 버그 수정 부터 계속 patch를 다듬고 reviewer를 위해 기술문서도 작성하는 등, 실제 patch가 반영되는데까지 1년이 넘게 걸렸습니다. 몇 번 land되었다가 2번 revert되고 이후 regression만 3번 정도 있어서 이 부분도 수정해야했습니다. 이번주에도 regression하나 수정했습니다. 직접적인 버그는 아니였지만.. gmail팀의 지원 사격이 없었으면 아직도 이 patch는 림보에 빠져서 영원이 못나올 뻔 했습니다. 어찌.. 2016. 12. 10.
크로미움 프로젝트 커미터 (Chromiun Project Committer) 얼마전 크로미움 프로젝트 커미터(Chromiun Project Committer)가 되었다. 프로젝트에 기여한지 3년이 되었지만, 사실상 다른 업무로 많은 기여를 하지 못했다. 올해 어느 정도 여유가 생겨서 평소에 관심이 있었던 Blink엔진의 Editing 부분에 집중적으로 기여했다. 어느 오픈소스 프로젝트나 커미터가 되려면 많은 노력이 필요하다. 어떻게 보면 쉽고 어떻게 보면 어렵다. 크로미움 프로젝트의 경우, 주요한 10개의 patch를 기존 커미터들이 평가하는데, 반대 없이 3명 이상의 +1을 받아야 한다. 기여한 patch의 개수는 중요하지 않다. 실제 버그를 수정하고, Feature를 개발하고 성능을 높이고, refactoring도 큰 수준으로 해야 다른 커미터로 부터 커미터 지명을 받을 수 .. 2016. 11. 6.
Crosswalk을 소개한 블로그글 오픈소스의 가장 큰 장점은 외부로 부터 참여를 이끌어내는 것이다. 일반적인 참여 방식으로 버그 찾거나 잡는 것이 있지만, 프로젝트를 소개하고 사용법을 알려주는 글도 프로젝트를 운영하는 사람들 입장에서 큰 도움이 된다. 우연찮게 Crosswalk을 소개한 블로그를 찾게 되었다. 단순히 소개만 한 것이 아니라 집적 patch를 올린 과정도 상세하게 소개해서 오픈소스에 프로젝트 기여하고 싶은 개발자에게 도움이 될 것 같아 여기 소개한다.WELCOME TO THE “CROSSWALK”CROSSWALK에 컨트리뷰션 하기 – (1,2) CROSSWALK 소개CROSSWALK에 컨트리뷰션 하기 – (3-1) 특징CROSSWALK에 컨트리뷰션 하기 – (3-2) 코딩스타일CROSSWALK에 컨트리뷰션 하기 – (3-3.. 2016. 3. 31.
오픈소스 코드 문서화가 어려운 또는 쓸모 없는 이유 많은 개발자들이 Open Source Project에 참여하기 어렵다고 불평하는 것 중 하나가 문서화다. 방대한 코드에 버그를 수정하고 기능을 추가하는 일은 쉽지 않다. 그래서 Code에 대한 어느 정도 문서화나 안내서가 있으면 좋은데, 그런 문서를 찾기가 쉽지 않다. 있다고 하더라고 오래된 문서들이다. 왜 그럴까? WebKit Project에 참여하는 입장에서 생각해보면, 코드가 너무 빠르기 변경되기 때문에 문서화하기 어렵다고 이야기할 수 있다. 어느 정도 대략적인 문서화(요구사항 및 디자인 문서) 정도는 가능하지만, 실제 구현된 내용을 Class 수준으로 이야기하는 것은 어려운 일이다. 가능은 하지만, 글쎄, 한달 정도 지나면 Class 코드에 많은 부분이 변경되어 있을 것이다. 실제로 WebKit2.. 2013. 3. 20.
Ubuntu의 새로운 Display Server, Mir Canonical이 Ubuntu에서 Wayland대신 새로운 Display Server인 Mir를 개발하겠다고 발표하여 인터넷이(lwn.net, Google Plus) 뜨겁게 달아오르고 있다. Intel주도로 X-Window를 대체하는 Display Server Protocol인 Wayland와 Window & Compositing manager인 Weston 이개발되고 있다. Mobile기기에 리눅스 적용이 확대되고 GPU, Touch Interface가 기본으로 적용되면서 X-Window를 개선하기 위한 많은 노력들이 있어왔다. 하지만, X는 proxy역할만 할 뿐 많은 기능을 compositing manager가 하고 있고, X가 하던 mode setting등과 같은 기능은 커널로 옮겨갔다. 이미 .. 2013. 3. 13.
그놈 한국 GNOME Korea 올해 블로그 업데이트가 뜸하다는 이야기를 들었다. 사실, 블로그를 안하는 것은 아닌데, 여기 보다 GNOME Korea 블로그에 글을 많이 올렸다. 여기 올라갈 것이 그쪽에 다 올라간 것이다. 올해 1월부터 6월까지 GNOME Tech Talks을 운영했다. 반응은 좋았고 지금은 홍영기님이 맡아서 운영해주시고 있다. 매달 세미나 결과를 GNOME Korea 블로그에 올렸고, 영문으로도 작성에서 다른 블로그에 올렸다. 1st GNOME Tech Talks2nd GNOME Tech Talks3rd GNOME Tech Talks4th GNOME Tech Talkshttp://blogs.gnome.org/joone/2012/07/27/gnome-tech-talks-in-korea/왜 이렇게 GNOME Korea.. 2012. 12. 31.
한국인/국내기업은 얼마나 Linux Kernel에 기여할까? 올림픽에는 원래 공식 순위가 없다고 한다. 그래서 나라마다 순위를 정하는 기준이 다르고, 우리나라는 유독 금매달에 집착해 순위를 정한다. 나도 그런 한국 사람인지 몰라도, 한국과 관련된 높은 순위에 열광하고 의미를 부여하는 것을 좋아하는 것 같다. Linux Foundation에서는 Kernel Git Repository를 분석해서 매년 누가 얼마나 코드를 기여하는지 순위를 발표하고 있다. 개인별 순위 부터 기업별 순위를 매기고 있는데, 2010년 자료에 흥미로운 결과가 있어서 소개해 본다. (The above numbers are drawn from the entire git repository history, starting with 2.6.12) 허태준님은 2007년에 이 보고서를 통해 국내 오픈소.. 2012. 2. 27.
2012년 1,2월 브라우저 기술 동향 제13차 W3C HTML5 KIG(Korean Interest Group) 회의에서 발표한 최근 브라우저 기술 동향을 정리해보았습니다. Android용 Chrome 브라우저 베타 출시되었습니다. 몇가지 특징을 살펴보면, Remote Debugging SPDY, SSL Faststart Hardware Accelerated Graphics V8 Navigation Timing Large persistent cache requestAnimationFrame Preloading HTML5 APIs 출처: http://gent.ilcore.com/2012/02/chrome-fast-for-android.html HTML5 Feature를 살펴보면, AppCache FileSystem and File APIs (.. 2012. 2. 21.
Hardware Acceleration in WebKit - HTML5 대한민국 관심 그룹 11차 회의 발표 자료 Hardware Acceleration in WebKit View more presentations from Joone Hur WebKit에서 구현된 하드웨어 가속과 WebKit-Clutter를 소개합니다. 2011. 12. 21.
WebKitGtk+ Hackfest 2011 참가 후기 작년에 이어 WebKitGtk+ Hackfest 2011에 참석했다. 작년에 이어 같은 장소인 스페인 코루나에서 열려서 그런지, 이제 스페인이 제2의 고향 같다는 느낌이 들 정도다. 물론 스페인은 말은 아는게 "올라"가 전부다. ^^; 작년과 다른 점이 있다면 이번에는 너무나 큰 할 일꺼리를 가지고 갔다는 점이다. 그 동안 webkit-clutter 포트에 작업한 Accelerated Compositing 기능을 WebKitGtk+에 적용하는 것! 너무나 큰 욕심이었을까? 집에 돌아와서 겨우 초기 patch를 반영했다. 어찌되었던 동작하는 데모를 만들었다는데 위안을 삼을 수 있었다. 이외 많은 관심사가 논의되고 해결되었다. WebKit은 정말 뜨거운 프로젝트다. 이런 프로젝트에 참여하고 있다는 것 자체가.. 2011. 12. 13.