Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Dependency Inversion Principle in Keyboard Firm...
Search
Takayuki Matsubara
July 12, 2019
Programming
0
510
Dependency Inversion Principle in Keyboard Firmware
5 minutes lightning talk slides for m3 tech talk #126
Takayuki Matsubara
July 12, 2019
Tweet
Share
More Decks by Takayuki Matsubara
See All by Takayuki Matsubara
Rails Web Development with AWS Lambda
ma2gedev
0
320
Coding Challenge Advent of Code 2019
ma2gedev
0
150
Developer Experience in GraphQL Schema-first Development
ma2gedev
0
2.3k
OSSの歩き方 / Walking with OSS
ma2gedev
10
2.6k
GraphQL 開発で必要になったこと / What we needed for GraphQL development
ma2gedev
0
1.2k
キーボードをカスタムしてプログラミング環境を良くした話 / Improved programming environment with customizing keybords
ma2gedev
0
1.4k
Translating "Erlang in Anger" with Erlang & Elixir community members
ma2gedev
0
2.9k
Dive into Elixir v1.6 Code Formatter
ma2gedev
1
180
Make it easy to input `|>`
ma2gedev
2
2.9k
Other Decks in Programming
See All in Programming
AIコーディングエージェント(Manus)
kondai24
0
130
Google Antigravity and Vibe Coding: Agentic Development Guide
mickey_kubo
2
130
AWS CDKの推しポイントN選
akihisaikeda
1
240
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
340
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
3
1.1k
AIコーディングエージェント(skywork)
kondai24
0
120
関数の挙動書き換える
takatofukui
4
770
AIコーディングエージェント(NotebookLM)
kondai24
0
130
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
5
1.4k
なあ兄弟、 余白の意味を考えてから UI実装してくれ!
ktcryomm
10
11k
目的で駆動する、AI時代のアーキテクチャ設計 / purpose-driven-architecture
minodriven
11
3.9k
DSPy Meetup Tokyo #1 - はじめてのDSPy
masahiro_nishimi
1
150
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
69k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Rails Girls Zürich Keynote
gr2m
95
14k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
BBQ
matthewcrist
89
9.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
How GitHub (no longer) Works
holman
316
140k
We Have a Design System, Now What?
morganepeng
54
7.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.4k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
700
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Transcript
Dipendency Inversion Principle in Keyboard Firmware
self-introduction
@ma2ge | @ma2gedev
ErgoDox EZ
Infinity ErgoDox
Clean ArchitectureɹୡਓʹֶͿιϑτΣΞͷߏͱઃܭ
ΞʔΩςΫνϟͷϧʔϧͲΕಉ͡Ͱ͋Δ ❗ ❗ ❗ ❗
None
It seems to apply any so!ware system
Keyboard firmware?
QMK firmware — github.com/qmk/qmk_firmware
How to support various keymaps
None
None
github.com/qmk/qmk_firmware/tree/master/keyboards
github.com/qmk/qmk_firmware/tree/master/keyboards/ ergodox_ez
github.com/qmk/qmk_firmware/tree/master/keyboards/ ergodox_ez/keymaps
github.com/qmk/qmk_firmware/tree/master/keyboards/ ergodox_ez/keymaps/default
github.com/qmk/qmk_firmware/blob/ 475d2c0c303e9f57d7034fd478ceb724fdd0df44/keyboards/ ergodox_ez/keymaps/default/keymap.c
Summary — Dipendency Inversion Principle in any software system
DIP
Resources — Clean Architecture ୡਓʹֶͿιϑτΣΞͷߏͱઃܭ — qmk/qmk_firmware: Open-source keyboard firmware
for Atmel AVR and Arm USB families https:// github.com/qmk/qmk_firmware — QMK Firmware https://docs.qmk.fm/#/ — Understanding QMK - QMK Firmware https:// docs.qmk.fm/#/understanding_qmk