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
450
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
240
Coding Challenge Advent of Code 2019
ma2gedev
0
120
Developer Experience in GraphQL Schema-first Development
ma2gedev
0
2.2k
OSSの歩き方 / Walking with OSS
ma2gedev
10
2.5k
GraphQL 開発で必要になったこと / What we needed for GraphQL development
ma2gedev
0
1.1k
キーボードをカスタムしてプログラミング環境を良くした話 / Improved programming environment with customizing keybords
ma2gedev
0
1.3k
Translating "Erlang in Anger" with Erlang & Elixir community members
ma2gedev
0
2.8k
Dive into Elixir v1.6 Code Formatter
ma2gedev
1
160
Make it easy to input `|>`
ma2gedev
2
2.8k
Other Decks in Programming
See All in Programming
Honoのおもしろいミドルウェアをみてみよう
yusukebe
1
220
Jakarta EE meets AI
ivargrimstad
0
320
『GO』アプリ データ基盤のログ収集システムコスト削減
mot_techtalk
0
150
Rails 1.0 のコードで学ぶ find_by* と method_missing の仕組み / Learn how find_by_* and method_missing work in Rails 1.0 code
maimux2x
1
120
Grafana Loki によるサーバログのコスト削減
mot_techtalk
1
150
CI改善もDatadogとともに
taumu
0
190
ML.NETで始める機械学習
ymd65536
0
230
「個人開発マネタイズ大全」が教えてくれたこと
bani24884
1
160
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
8
1.3k
Go 1.24でジェネリックになった型エイリアスの紹介
syumai
2
280
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
250
自力でTTSモデルを作った話
zgock999
0
100
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Code Reviewing Like a Champion
maltzj
521
39k
Navigating Team Friction
lara
183
15k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Being A Developer After 40
akosma
89
590k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Site-Speed That Sticks
csswizardry
4
400
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
Code Review Best Practice
trishagee
67
18k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
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