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 Firmware
Search
Takayuki Matsubara
July 12, 2019
Programming
0
380
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
170
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.4k
GraphQL 開発で必要になったこと / What we needed for GraphQL development
ma2gedev
0
980
キーボードをカスタムしてプログラミング環境を良くした話 / 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
140
Make it easy to input `|>`
ma2gedev
2
2.6k
Other Decks in Programming
See All in Programming
生成AIをkintoneに連携してみた
hideg
0
230
SRE チーム立ち上げ前に考えたこと・取り組んだこと / Considerations and Preparations Before Establishing an SRE Team
mackey0225
3
320
DynamoDB コスト最適化っぽいことの基本 with Terraform
kuro_kurorrr
2
250
How to use Macrobenchmark
veronikapj
0
160
入社1ヶ月でここまでやった!Findy Toolsインフラ支援の最適化
rvirus0817
6
1.4k
Advanced App Shrinking Techniques
cbeyls
2
150
初心者がおさえておきたいAWS CDKのベストプラクティス 2024
konokenj
15
7.3k
DMMプラットフォームにおけるTiDBの導入から運用まで
pospome
7
3k
【Go言語】ジェネリクス
tomo1227
0
170
Folding Cheat Sheet #7
philipschwarz
PRO
0
150
Terraformテスト入門
msato
0
540
12年前の『型システム入門』翻訳の思い出話
mame
11
1.2k
Featured
See All Featured
A Tale of Four Properties
chriscoyier
155
22k
Visualization
eitanlees
139
14k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
662
120k
The Invisible Side of Design
smashingmag
294
50k
Debugging Ruby Performance
tmm1
71
11k
Pencils Down: Stop Designing & Start Developing
hursman
118
11k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
19k
The Illustrated Children's Guide to Kubernetes
chrisshort
39
47k
Robots, Beer and Maslow
schacon
PRO
157
8.1k
Making the Leap to Tech Lead
cromwellryan
127
8.7k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
Typedesign – Prime Four
hannesfritz
37
2.2k
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