2024
V8의 Math.hypot 최적화 하기 - 반복의 숨은 비용
Introduction
V8에 Float16 관련 기능 추가한 첫번째 이야기
오늘 V8에 Float16과 관련된 기능을 머지했습니다. (Float16은 IEEE754에서 정의하는 반정밀도 부동소숫점입니다.)
JS 클로저는 표준에서 어떻게 다루고 있을까?
클로저란 무엇일까?
JS array sort((a,b) => a < b) 가 정렬을 보장하지 않는 이유
얼마 전에 crbug에서 기여할 항목을 찾다가 신기한 이슈를 발견했다.
2023
Jest는 Code Coverage를 어떻게 측정할까? (V8)
Motivation
2022
CSS 삼각 함수를 배포했다
CSS 삼각 함수를 배포했다.
2021
BlinkOn15-Day1
BlinkOn 15 Day1
Chromium Composition과 Layer
웹 브라우져의 화면은 다양한 스테이지를 거쳐 화면에 나오게 된다.
[CSS-Values-4] 삼각함수 구현 준비
Chromium에 CSS에 대하여 Infinity 와 NaN을 구현하는 프로젝트가 거의 끝나가고 있다. 몇 가지의 이슈를 해결하면 아마 ship 할 수 있을 것 같다.
double 형의 “계산 가능한 범위” 그리고 chromium의 maximum angle
Chromium, CSS Math Function 에 <angle>의 무한 값을 도입하면서 삽질한 기록이다.
Chromium 새로 개발되는 DOM API Seamless Transitions
오랜만에 patch들을 pull 받고 빌드하는 시간 동안 Chromium에서 SPA(Single Page App)를 위한 API가 어떤 것들이 있을까 라는 생각으로 feature들을 살펴보던 도중 흥미로운 기능이 현재 막 개발되고 있어서 글을 쓴다.
CSS @counter-style
오늘 아침 Blink-Dev Group에서 I2S를 보고 재밌는 CSS Feature가 Ship되는걸 보아서 간단히 메모한다.
Chrome 90 beta is coming, 어떤 기능이 들어올까?
Blink Dev-Group에 있으면서, 새로운 Chrome 버전 M90의 beta가 3월 11일에 나온다고 한다. Chromium의 어떤 새로운 기능들이 Chrome 에 도입될 수 있을지 알아보도록 한다.
Reflow, Repaint Chromium 입장에서 살펴보기 (왜 transform은 빠를까?)
Overview
React 파헤치기, 리액트가 동작하는 방법 (overview)
Motivation
Chrome Inspector로 화면이 왜 느린지 찾아보기
DFD를 구현하고 항상 들던 의문이 있었다.
SCL Notion Checklist generator 개발
아침 일찍 일어나서 취업준비를 위해 Chromium 커밋 리스트를 다시한번 훑어보는데 아뿔싸… 머지한 커밋중에 Commit Message와 코드가 다른 것을 보았다.
Flux 아키텍처
이번 글에서는 면접 질문으로 들어왔던 Redux 써봤냐 → 그럼 flux 구조를 아느냐 에 대한 답변을 내 개인적으로 시원하게 하지 못해 아쉬움에 내용을 정리해 보도록 한다.
Chromium 첫번째 패치부터 지금까지 돌아보기
Chromium에서 활동한 지 반년 정도 되어가는 것 같고, 11개의 패치를 머지시켰다.
Chromium, Event Loop는 싱글 스레드
이곳저곳 코딩테스트를 마치고,
html webpack plugin URL undefined 이슈
짧은 포스팅
2020
Back to Top ↑2018
NaverWordBookExtractor 개발기
엄청 오랬만에 블로그에 글을 쓰는 듯 하다.
2017
라운드 로빈 스케줄러와 시분할 ContextSwitching
SW 마에스트로 일이 바쁘다 보니 개발 틈틈히 개발해 지금 완성했다.
TCB와 Context, 그리고 ContextSwitch
이것저것 일이 생기고 시간을 퍼부울 수 있는 환경이 아니라 틈틈히 작업했다
시간과 관련된 드라이버 개발 완료.
후 드디어 OS개발에 손댈 수 있는 시간이 났다.
운영체제 다운 모습을 드디어! 셸 개발 완료!
이번 글도 꾀나 장문이 될 것 같다.
키보드 드라이버의 업데이트-인터럽트 방식
이번글은 짧지 않을까 싶다.
PIC 인터럽트, 인터럽트 핸들링, 인터럽트 활성화
사실 오늘 오후쯤에 만들었는데, 잠깐 서버 작업할게 생겨서 글을 지금쯤 쓴다.
GDT 변경 & IDT 정의 TSS 설정
중간중간, 다른거 할것도 생겼었고 이번건 디버깅이 좀 더 오래걸리기도 해서
PortIO 메모리와 PS/2 Keyboard IO 입력처리
어제부터 오늘까지 고민하면서 만든 결과물이다.
QEMU + GDB로 디버깅 환경 조성
현제 작성중인 OS는 Ubuntu (Windows Bash) + Vim 으로 개발 중이다
부팅 완료, 길고 긴 여정이 끝났습니다. Hello 64Bit
예이 성공했다.
32비트 보호모드 안녕~ 이제 64비트.
드디어, IA-32e모드의 문턱까지 왔다.
Page 관련 자료구조 정의, 64비트로 시동 걸 준비.
자꾸 64비트로 넘어가기만 하면 된다고 했는데
출력 개선, 64비트 코드로 넘어갈 준비 끝, 이제 넘어가면 된다.
32비트 모드로 전환하고, C언어 커널로 들어간게 바로 전인데,
0SOS가 이제 C언어 코드 엔트리로 넘어갑니다. 이제 C언어다
이번 글은 좀 길꺼같다.
0SOS의 32비트 모드. Hello 32bit ProtectedMode
와 신난다.
Comet Engine에 구현할 컨테이너의 구조를 대충 생각했다.
최근에는 OS개발이 너무 재밌다 초반이라 그런가
Comet Engine에 만들 컨테이너 라이브러리 고민
이번 엔진은 정말 느릿느릿, 재대로 만들꺼다.
0SOS의 첫 BootLoader.
뭔가를 습득한다는건 참 즐겁다.
그 어느 서적을 읽던, 이상하다 싶으면 오탈자인지 찾아보셔야 합니다.
OS 책 읽으면서 (64비트 멀티코어 OS 원리와 구조) 설명을 읽고, 내 지식을 가지고
리얼모드에서 메모리 접근하는 방식
2시간 날렸는데, 내가 잊어먹고 있던거였다.
OS개발-Frame Buffer에 때려박자.
다른모드는 아직 안만져 봐서 모르겠는데
Comet Engine에 들어간 Custom Allocator에 대한 이야기
한 2주 전 부터 고민하던 내용이였던
DevSDK 블로그, 시작합니다.
이번에, Jekyll + Github IO 묶어서, 블로그를 새로 시작합니다.