본문 바로가기

전체 글278

Web fonts로 인한 layout 변경 문제 https://simonhearne.com/2021/layout-shifts-webfonts/ How to avoid layout shifts caused by web fonts One of the biggest causes of layout shifts for my clients is late-loading web fonts, let's look at how to optimise them! simonhearne.com 많은 웹사이트가 웹폰트를 쓰고 있다. 시스템 폰트 보다 본래 웹페이지 디자인에 맞는 폰트로 웹페이지를 출력하고 싶은 사람들이 많기 때문에 웹폰트 사용이 증가하고 있다. 그런데, 웹폰트는 다운로드 받아야하므로 크기가 큰 경우 웹페이지가 먼저 렌더링되는 경우가 있다. 이럴 때, 레이아웃이 출.. 2023. 3. 18.
Xerox Star vs. Apple Lisa https://www.youtube.com/watch?v=pBiWtJJN5zk 2022. 10. 31.
3D 그래픽스 툴 블렌더가 오픈소스가 된 이유 회사가 파산에서 프로젝트를 진행하기 위해 코드를 오픈소스로 전환하고 기부를 받아서 계속 개발할 수 있었군요.. 2022. 10. 14.
타입스크립트(Typescript) 스타터 코드 프로젝트가 반복되면 재사용되는 코드가 많아질 수 밖에 없다. 여러가지 툴을 타입스크립트를 작성하다 보니 그 동안 공통적으로 사용하고 있는 기능을 묶어서 프로젝트로 만들어서 github에 공개해봤다. https://github.com/joone/typescript-template GitHub - joone/typescript-template: Typescript project template Typescript project template. Contribute to joone/typescript-template development by creating an account on GitHub. github.com 물론, MS가 만든 비슷한 프로젝트도 있는데, 너무 기능이 많고, 내가 원하는 수준에서 만들었.. 2022. 9. 4.
리눅스 커널 0.01 컴파일 및 부팅하기 https://web.archive.org/web/20170707093303/http://iamhjoo.tistory.com/11 즐겨찾기한 글이 삭제되어서 어쩔 수 없이 복원에서 공유해봅니다. 다행히 다른 분이 이미 리눅스 커널 0.01버전을 잘 정리해두었네요. https://kjhg4321.gitbook.io/kaldp/ 2022. 7. 17.
Rust 기반 OpenGL animation toolkit 오랜 숙원사업(?) 첫삽을 떴습니다. 나만의 오픈소스 프로젝트를 시작해보려고 그동안 여러 시도를 해왔지만, 생각 만큼 진척이 없었습니다. 무엇보다도 부끄럽지 않은 결과를 만들어보고 공개하자는 맘이 앞서다 보니, 뭘 만들어도 막상 공개하려면 부끄러움이 앞서더군요. 하지만 어떤 피드백 없이 혼자 꾸역 꾸역 뭔가 만들어 나가는 것도 보통 의지가 없으면 안됩니다. 리누스 토발즈가 말했는이, 제대로된 구조 보다 일단 동작 가능하게 만들어야 한다. 그리고 자주 업데이트하고 릴리스 하면 된다는 말을 떠올리면 일단 최소한 동작 가능한 수준에서 공개를 했습니다. 처음 Rust와 OpenGL 배우는 분께는 더할 나위없이 좋은 프로젝트입니다. 왜냐하면 코드 아주 간단하거든요. 별로 기능이 없습니다. 저도 역시 배우는 입장이.. 2021. 11. 24.
웹엔진 Electron, NW.js, CEF, Qt WebEngine 에 관하여.. 웹엔진으로 앱을 만드는 것은 쉬운 일이지만, 브라우저 엔진을 실행하는 만큼 그 용도가 정확하게 맞아야 큰 효과가 있다. 몇가지 솔루션이 있는데, 한번 짚고 넘어가보자. Electron Electron은 Chromium기반의 애플리케이션 런타임이다. 웹기술로 여러 플랫폼을 지원하는 앱을 쉽게 만들 수 있다. 이런 개념은 오래전 부터 존재해왔지만, Electron이 많은 인기를 끌게된 원인은 바로 Node.JS의 지원이다. 그냥 Node.JS 패키지로 npm으로 설치할 수 있고 JavaScript로 Chromium WebView를 생성하고 Application의 Life cycle을 관리할 수 있다. 또한 다양한 Node.JS 패키지로 강력한 앱을 빠르고 쉽게 만들 수 있는 장점이 있다. 물론 원조는 NW... 2021. 6. 9.
크로미엄(Chromium) 프로젝트 기여하기 chromium.googlesource.com/chromium/src/+/master/docs/contributing.md 여러분의 사용하는 구글 크롬 브라우저(오픈소스 버전은 크로미엄 브라우저라고 부름)는 오픈소스로 관리된다. 소스코드를 공개되어 있고 여러분의 컴퓨터에서 빌드하고 테스트가 가능하다. 그리고 코드를 수정해서 크로미엄 사이트에 올리면 리뷰 과정을 거쳐서 코드가 반영된다. 아주 어려운 일은 아니다. 잘 찾아보면 아무도 신경 안쓰는 수정하기 쉬운 버그도 있다. 우선 크롬 브라우저가 어떻게 동작하는지 대충 알아야할 것이다. 구글에서 만든 수 많은 기술 문서가 있지만, 우선 아래 문서와 발표 자료를 꼭 들어보자. 크롬 브라우저는 어떻게 동작하는가? Life Of a Pixel Life of Pix.. 2021. 5. 1.
아치 리눅스( Arch Linux) 패키지 관리 예전에 리눅스 커널 개발자에게 무슨 리눅스 배포본을 사용하냐고 물어봤는데, 답변은 바로 아치 리눅스였다. 이유는 가장 최신 패키지를 사용하고 개발자가 필요한 다양한 환경을 쉽게 구성할 수 있다는 이유였다. 하지만 모든 설정을 상당힌 직접 해야 하는 어려움이 있다. 리눅스 하면 대부분의 사용자는 우분투를 생각하지만 다양한 배본폰이 존재한다. 이 중 아치 리눅스는 가장 최근의 업데이트를 배포하는 배포본으로 코어 개발자들이 많이 사용한다. 설치 부터가 옛날 리눅스를 설치하는 기분을 들게 하는데, 터미널 환경에서 직접 파티션을 나누는 작업 부터 시작해야한다. 좋은 점은 딱 원하는 패키지만 설치할 수 있어서 가볍게 리눅스를 사용할 수 있다. 여러분이 나름 코어 리눅스 개발자라면 아마도 아차 리눅스가 좋은 선택이 .. 2021. 4. 29.
오픈소스 VR 프로젝트(OpenHMD project) 리눅스에서 VR 컨텐츠를 즐길 수 있는 방법은 없을까해서 찾아보니, 오픈소스로 여러 VR 기기를 지원하는 프로젝트를 찾게되었다. OpenHMD – FOSS HMD drivers for the people OpenHMD aims to provide a Free and Open Source API and drivers for immersive technology, such as head mounted displays with built in head tracking. Our aim is to implement support for as many devices as possible in a portable, cross-platform package. Devic www.openhmd.net 시중에 나와있는 많은.. 2021. 4. 28.
[만화] 오픈소스 GUI 툴킷 Qt와 KDE 프로젝트의 시작 제가 그린 만화를 소개합니다. Qt와 KDE 프로젝트에 관한 만화입니다. 많은 사람들이 쓰고 있는 오픈소스 소프트웨어지만 그 기원에 대해서는 잘 모르는 경우가 많습니다. 저도 이 만화를 그리면서 많이 배우고 있습니다. 늘 그렇듯이 시작은 한두명이지만, 꾸준히 하다보면 큰 프로젝트가 됩니다. 2020. 5. 25.
 크롬대학(Chrome University) 2018: Chrome OS Graphics 101 ChromeOS graphics stack에 대한 자세한 설명을 들을 수 있습니다. Modern Desktop이 어떻게 화면을 그리고 GPU에 최적화 되어있는지 보여줍니다. 특히, ChromeOS는 Wayland를 이용해서 Android app UI와 리눅스 앱 화면에 보여주는데, 이에 대한 설명을 들을 수 있습니다. 2020. 5. 9.