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
420
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
210
Coding Challenge Advent of Code 2019
ma2gedev
0
120
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
CSC509 Lecture 11
javiergs
PRO
0
180
Amazon Qを使ってIaCを触ろう!
maruto
0
400
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
220
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
TypeScriptでライブラリとの依存を限定的にする方法
tutinoko
2
660
NSOutlineView何もわからん:( 前編 / I Don't Understand About NSOutlineView :( Pt. 1
usagimaru
0
330
イベント駆動で成長して委員会
happymana
1
320
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
600
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
1.3k
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
4
1.4k
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
5
2.1k
レガシーシステムにどう立ち向かうか 複雑さと理想と現実/vs-legacy
suzukihoge
14
2.2k
Featured
See All Featured
For a Future-Friendly Web
brad_frost
175
9.4k
How GitHub (no longer) Works
holman
310
140k
Raft: Consensus for Rubyists
vanstee
136
6.6k
GraphQLとの向き合い方2022年版
quramy
43
13k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Designing for Performance
lara
604
68k
Teambox: Starting and Learning
jrom
133
8.8k
A better future with KSS
kneath
238
17k
Statistics for Hackers
jakevdp
796
220k
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