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
360
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
150
Coding Challenge Advent of Code 2019
ma2gedev
0
99
Developer Experience in GraphQL Schema-first Development
ma2gedev
0
2k
OSSの歩き方 / Walking with OSS
ma2gedev
10
2.4k
GraphQL 開発で必要になったこと / What we needed for GraphQL development
ma2gedev
0
930
キーボードをカスタムしてプログラミング環境を良くした話 / Improved programming environment with customizing keybords
ma2gedev
0
1.1k
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
Code Reviews
bkuhlmann
4
890
Random\Randomizer クラスで日常のあれこれを解決しよう! / Random\Randomizer class solves familiar trouble
cocoeyes02
0
170
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
230
Amazon SQSコンシューマー疎結合への旅 - 出張! #DevelopersIO IT技術ブログの中の人が語る勉強会 #3
quiver
0
220
Ruby GitHub Packages
bkuhlmann
0
630
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
26
8.2k
雑に思考を整理する技術と効能
konifar
58
28k
今、知っておきたい! 生成AIエージェントの世界
elith
3
350
冗長なエラーログを削減し、スタックトレースを手に入れる / Reducing Verbose Error Logs and Obtaining Stack Traces
upamune
0
240
使ってみよう Azure AI Document Intelligence
kosmosebi
2
280
try!Swift Tokyo 2024 参加報告 LT
akidon0000
1
220
CA.swift19 恋するAIアプリ開発の裏側
oskmr
0
360
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
227
16k
Building Applications with DynamoDB
mza
88
5.6k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
The Mythical Team-Month
searls
216
42k
The Art of Programming - Codeland 2020
erikaheidi
42
12k
In The Pink: A Labor of Love
frogandcode
138
21k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
241
1.2M
Scaling GitHub
holman
457
140k
The Invisible Customer
myddelton
114
12k
YesSQL, Process and Tooling at Scale
rocio
164
13k
Fireside Chat
paigeccino
21
2.6k
Become a Pro
speakerdeck
PRO
11
4.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