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
雑に思考を整理する技術と効能
konifar
58
29k
大規模Reactアプリのリアーキテクチャ~8万行のTanStack Query移行の軌跡~
kj455
4
950
⼤規模⾔語モデルの拡張(RAG)が 終わったかも知れない件について
nearme_tech
23
15k
Changed Rules: Architectures with Lightweight Stores
manfredsteyer
PRO
0
240
HUIT新歓2024「競技プログラミング、やってみませんか?」
slephy2784
1
270
if constexpr文はテンプレート世界のラムダ式である
faithandbrave
3
640
2 週間で Twitter Bot を作ってみた
contour_gara
0
270
try!Swift Tokyo 2024 参加報告 LT
akidon0000
1
220
PHPの次期バージョンはこの時期どうなっているのか - Internalsの開発体制について - PHPカンファレンス小田原
youkidearitai
PRO
1
190
検証も兼ねて個人開発でHonoとかと向き合った話
hanetsuki
0
780
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
130
スキーマ駆動開発による品質とスピードの両立 - 私達は何故、スキーマを書くのか
kentaroutakeda
0
170
Featured
See All Featured
Practical Orchestrator
shlominoach
182
9.7k
What's in a price? How to price your products and services
michaelherold
237
11k
The Pragmatic Product Professional
lauravandoore
25
5.8k
BBQ
matthewcrist
80
8.8k
We Have a Design System, Now What?
morganepeng
43
6.7k
For a Future-Friendly Web
brad_frost
172
9k
Ruby is Unlike a Banana
tanoku
96
10k
A Tale of Four Properties
chriscoyier
151
22k
The Power of CSS Pseudo Elements
geoffreycrofte
60
5k
Building Effective Engineering Teams - LeadDev
addyosmani
28
1.8k
GraphQLの誤解/rethinking-graphql
sonatard
50
9.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
16
2.6k
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