Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
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
400
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
180
Coding Challenge Advent of Code 2019
ma2gedev
0
110
Developer Experience in GraphQL Schema-first Development
ma2gedev
0
2.1k
OSSの歩き方 / Walking with OSS
ma2gedev
10
2.5k
GraphQL 開発で必要になったこと / What we needed for GraphQL development
ma2gedev
0
1k
キーボードをカスタムしてプログラミング環境を良くした話 / Improved programming environment with customizing keybords
ma2gedev
0
1.2k
Translating "Erlang in Anger" with Erlang & Elixir community members
ma2gedev
0
2.7k
Dive into Elixir v1.6 Code Formatter
ma2gedev
1
150
Make it easy to input `|>`
ma2gedev
2
2.7k
Other Decks in Programming
See All in Programming
Jakarta EE meets AI
ivargrimstad
0
390
Amazon Neptuneで始める初めてのグラフDB ー グラフDBを使う意味を考える ー
satoshi256kbyte
2
260
Swiftコードバトル必勝法
toshi0383
0
170
今インフラ技術をイチから学び直すなら
yuhta28
1
140
意外とフォントが大事だった話 / Font Issues on Internationalization
fumi23
0
110
From Idea to IDE: Developing Plugins for Android Studio
thisaay
1
220
o1モデルのプロンプトエンジニアリングって?
ktc_wada
0
260
rbs-inlineを導入してYARDからRBSに移行する
euglena1215
1
290
GraphQL あるいは React における自律的なデータ取得について
quramy
11
3k
LangChainの現在とv0.3にむけて
os1ma
4
920
GraphQLの魅力を引き出すAndroidクライアント実装
morux2
3
660
仮想ファイルシステムを導入して開発環境のストレージ課題を解消する
segadevtech
2
550
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
354
29k
Being A Developer After 40
akosma
84
590k
How GitHub (no longer) Works
holman
310
140k
In The Pink: A Labor of Love
frogandcode
139
22k
Producing Creativity
orderedlist
PRO
340
39k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
36
2.1k
Into the Great Unknown - MozCon
thekraken
29
1.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
30
2.3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
5
480
Building an army of robots
kneath
302
42k
Raft: Consensus for Rubyists
vanstee
135
6.5k
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