나빌레라의 블로그

나빌레라의 이미지

Rust로 작성해 보는 컴퓨터 구조 (2) - 인버터

인버터는 입력 신호를 반대로 출력하는 소자다. 입력이 1이면 출력은 0이고, 반대로 입력이 0이면 출력이 1이다. 더 설명할 수 없는 단순한 물건이다.

나빌레라의 이미지

Rust로 작성해 보는 컴퓨터 구조 (1) - 트랜지스터

트랜지스터는 여러 용도로 쓸 수 있는 전자 소자다. 그 중에서 트랜지스터의 스위치 작용만 이용하는 트랜지스터 모델을 만들 것이다. 이 글에서는 트랜지스터의 여러 반도체 소자 특성은 생략하고 스위치 대용으로 트랜지스터를 쓸 것이기 때문이다.

나빌레라의 이미지

나빌 입력기 2.3 릴리즈

릴리즈 노트는 아래 링크를 눌러 주세요

https://github.com/navilera/NavilIME/tree/master/Doc/ReleaseNotes_2.3

큰 변경은 없고, 일부 윈도우즈10에서 나빌 입력기가 "desktop only"로 나오면서 인스톨은 되지만 선택이 안되는 현상을 해결했습니다.

나빌레라의 이미지

펌웨어 RTOS 책을 썼습니다.

10년만에 책을 한 권 썼습니다.
10년전에 KLDP에 쓴 글을 바탕으로 책을 냈었습니다.
아직도 절판되지 않고 팔리고 있습니다.
저도 어느덧 10년 넘는 경력의 개발자가 되었고 책도 나온지 10년이나 된 오래된 책이 되어 버렸습니다. 물론 10년이 지나서 봐도 여전히 훌륭한 책입니다. 그래도 10년이나 지났으니 새 책을 써야 겠다는 생각이 들었습니다. 10년간 바뀐 개발 환경 그리고 제가 10년간 현업에서 얻은 경험을 살짝 녹여서 책을 썼습니다.

나빌레라의 이미지

루아 2.4 소스 코드 읽기

루아 2.4 소스 코드 읽기를 끝냈습니다.
이젠 정말 귀찮더군요. 포스트가 다섯개 밖에 안되는데 한달이 넘게 걸렸습니다.

https://navilera.github.io/tags/#lua2-4

위 링크를 방문하면 독후감을 읽어 보실 수 있습니다.

그래도 이왕 시작한거 아주 완전히 하기 싫어질 때 까진 계속 읽어보겠습니다.
다음엔 루아2.5입니다.

나빌레라의 이미지

두벌식과 318Na 자판에서 모아치기 비교.

세벌식 자판의 많은 장점 중 모아치기라는 것이 있다. 이름이 기능을 잘 설명한다. 초성, 중성, 종성을 한 번에 눌러서 한글 한 글자를 입력하는 것이다. 한글은 초, 중, 종성을 구분할 수 있으면 입력 순서에 상관 없이 글자를 완성할 수 있다. 이 특성을 이용한 입력 방식이다.

예를 들어 '한'이라는 글자를 입력할 때, 우리는 당연히 "ㅎ ㅏ ㄴ" 순서로 입력해서 '한'을 조합해야 한다고 생각한다. 당연하다. 손으로 글씨 쓸 때 순서니까. 그런데 초, 중, 종성을 입력기가 알면 굳이 순서대로 입력할 필요가 없다. "ㅏ ㄴ ㅎ" 이렇게 입력해도 입력기는 초, 중, 종성 순서로 입력을 재정렬해서 '한'을 만들 수 있다.

나빌레라의 이미지

루아 2.2 소스 코드 읽기.

루아 2.2 소스 코드 읽기를 끝냈습니다. 슬슬 정독하기가 귀찮아서 diff 툴로 변경점만 리뷰하는 식으로 읽었습니다.

https://navilera.github.io/tags/#lua2-2

위 링크를 방문하면 독후감을 읽어 보실 수 있습니다. 다음은 루아 2.4입니다.

나빌레라의 이미지

루아 2.1 소스 코드 읽기.

루아 1.1 소스 코드 읽기에 이어 루아 2.1 소스 코드 읽기를 끝냈습니다. 루아 1.1에서 어떻게 코드가 변화했나를 주로 신경 쓰면서 읽었습니다.

https://navilera.github.io/tags/#lua2-1

위 링크를 방문하면 독후감을 읽어 보실 수 있습니다. 다음 루아 릴리즈는 2.2 군요. 슬슬 귀찮아 지고 있지만 그래도 정말 하기 싫을 만큼 귀찮아 질 때 까지 읽어 보겠습니다.

나빌레라의 이미지

루아 1.1 소스 코드 읽기.

원래는 KLDP에 쓰려고 했는데,
제가 이 공간을 너무 도배하는 것 같아서 간단히 github 블로그 만들고 그쪽에 올린 다음 모아서 KLDP에 링크만 쓰기로 했습니다.

루아는 1995년에 1.1 버전을 발표해서 가장 최근 버전은 2018년 5.3.5 버전까지 꾸준히 발표하고 있는 언어입니다. 나름 타게팅하고 있는 분야에서는 많이 쓰이기도 하고요.

구현이 간단하진 않은데, 코드 분량이 적고 적당한 릴리즈 횟수(23년동안 22회)라서 그냥 전체 릴리즈를 정독하면 구현을 이해할 수 있지 않을까라는 잉여로운 생각으로 소스 코드 읽기를 시작했습니다.

https://navilera.github.io/tags/#lua1-1

나빌레라의 이미지

키보드를 만듭시다. 어때요~ 참 쉽죠? (마지막)

키보드 펌웨어 개발을 완료했다. 개인적으로는 재미있게 작업한 프로젝트였다. 도메인에 대한 이해가 어렵지 않고 펌웨어의 구성 또한 누구나 예측할 수 있는 요소로 디자인 할 수 있어서 부담이 없었다. 그리고 학습용 RTOS로 만든 나빌로스를 실전에 적용했고 잘 되는 것을 검증한 것으로 내게는 재미로 만든것 이상의 가치가 있는 프로젝트였다.

15편으로 글을 나눠 썼다. 키보드 펌웨어를 만드는 과정을 절차적으로 나눴더니 15개 정도가 되길래 그렇게 썼다. 개별 글은 애초에 내가 계획했던 것보다 더 대충 썼다. 계획한 대로 정말 따라하기 강좌 수준으로 쓰려니까 너무 길어지고 내가 지치더라. 그래서 일반적인 부분이나 구글 검색등으로 쉽게 찾을 수 있는 내용을 쳐내고 썼더니 내용이 완결성이 부족한 것처럼 보인다. 나 개인의 역량 부족 탓이니 이 시리즈의 글을 읽고 이해가 안된다고 본인 탓을 하지 말아 주시기 바란다. 내가 글을 잘 못 써서 그런거다.

페이지

RSS - 나빌레라의 블로그 구독하기