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
Emacs で Web サービスを開発して8ヶ月が経ちました
Search
Taiju Aoki
December 14, 2018
Programming
370
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Emacs で Web サービスを開発して8ヶ月が経ちました
Slide for m3 tech talk
Taiju Aoki
December 14, 2018
More Decks by Taiju Aoki
See All by Taiju Aoki
本番運用中 Oracle を破壊してしまった話 ~ 破壊と創世 ~ / Oracle Destruction and Creation
blue0513
0
3.2k
オンプレ to オンプレした話/on-premises2on-premises
blue0513
0
3.2k
GitもCIもテストもないプロジェクトでデプロイを自動化するまでの道 / rebuild of DevOps
blue0513
0
3.4k
Git & GitLab & コードレビューって? / about Git, GitLab, CodeReview
blue0513
0
270
ElectronでSlackをさらに便利にしちゃう / Slack with Electron
blue0513
3
920
GitHub の README をいい感じにする / Cool Readme
blue0513
3
1.7k
Emacs × Sound やってみた / Emacs with Sound
blue0513
1
1.1k
Slack を TweetDeck にしてみた件 / slackdeck-proto
blue0513
0
3.1k
知ってるとお得な iTerm2 と zsh/bash の小技
blue0513
3
890
Other Decks in Programming
See All in Programming
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
250
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
460
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
580
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
430
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
170
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
110
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.8k
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
330
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.5k
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
180
Claude Team Plan導入・ガイド
tk3fftk
0
250
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
210
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The Language of Interfaces
destraynor
162
27k
Speed Design
sergeychernyshev
33
2k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
560
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
980
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
The Curious Case for Waylosing
cassininazir
1
450
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
The browser strikes back
jonoalderson
0
1.4k
Designing Powerful Visuals for Engaging Learning
tmiket
1
470
Transcript
Emacs Ͱ Web αʔϏεΛ։ൃͯ͠ 8ϲ݄͕ܦͪ·ͨ͠ @blue_1617
Who Am I ‣ VTuber ͱ Emacs ͖ͷ ‣ ࣾձਓ
8ϲ݄ ͷεʔύʔΤϯδχΞ blue (@blue_1617) ‣ ࠷ۙͷ Emacs ʹؔ͢Δ։ൃ https://github.com/blue0513
͡Ίʹ JavaScriptɺRuby on Rails Ͱߏ͞ΕΔ Web αʔϏεͷ Emacs Ͱͷ։ൃख๏Λհʂ Syntax
Check Linter ิ ఆٛࢀর Spell Check ຊεϥΠυΤϜεϦʔ Advent Calendar Day 16 ͷهࣄΛݩʹ͍ͯ͠·͢ɻ https://www.m3tech.blog/entry/emacs-web-service
ڞ௨ઃఆɿิ http://company-mode.github.io/ company.el ͍Θͣͱ͠ΕͨEmacsͷΠϯςϦηϯε༻ package ͷେޚॴͰ͢ɻ 3rd party ͷ package
։ൃΜͰɺLSPʢLanguage Server ProtocolʣͳͲͷରԠɻ ࣗಈิ https://qiita.com/blue0513/items/c0dc35a880170997c3f5 cf. Emacsͷิ&ݕࡧΛڧԽ͢Δ
ڞ௨ઃఆɿݕࡧ https://github.com/abo-abo/swiper ivy.el & counsel.el & swiper.el ͍ΘΏΔΠϯΫϦϝϯλϧαʔνΛࢧԉͯ͘͠ΕΔ package Ͱ͢ɻ
ىಈՄೳͳίϚϯυΛ ΠϯΫϦϝϯλϧʹݕࡧͰ͖Δ https://qiita.com/blue0513/items/c0dc35a880170997c3f5 cf. Emacsͷิ&ݕࡧΛڧԽ͢Δ
ڞ௨ઃఆɿఆٛࢀর https://github.com/jacktasia/dumb-jump dumb-jump.el ProfileStat ͷఆٛʹඈΔ ͲͷݴޠͰ ͍͍ײ͡ʹ ఆٛՕॴ·ͰίϚϯυ̍ͭͰͷҠಈΛՄೳʹ͢Δ package Ͱ͢ɻ
։ൃޮ͕30%Ҏ্্͢Δͱࢥ͍·͢ɻ https://qiita.com/blue0513/items/c0dc35a880170997c3f5 cf. Emacsͷิ&ݕࡧΛڧԽ͢Δ
ڞ௨ઃఆɿSyntax Check & Lint https://github.com/flycheck/flycheck flycheck.el ֤ݴޠ͝ͱʹඪ४උ͞Εͨʢ·ͨ 3rd party ͕։ൃͨ͠ʣSyntax
Check Program Linter ͱ ࿈ܞͯ͠ϦΞϧλΠϜͰ Warning Error Λు͍ͯ͘Ε·͢ɻ
ڞ௨ઃఆɿSpell Check http://www-sop.inria.fr/members/Manuel.Serrano/flyspell/flyspell.html flyspell.el flycheck ͱಉ༷ʹϦΞϧλΠϜͰεϖϧϛεΛగਖ਼ͯ͘͠ΕΔ༗ೳ package Ͱ͢ɻ ϢʔβఆٛͷࣙॻϑΝΠϧͷ࡞ՄೳͳͷͰɺϓϩμΫτಛ༗ͷ୯ޠͰͳ͘νΣοΫՄೳɻ
ڞ௨ઃఆɿVisualize https://github.com/nonsequitur/git-gutter-plus git-gutter-plus.el Git ཧԼͷ project ͰมߋՕॴΛ fringe Ͱදࣔͯ͘͠ΕΔ༏Εͷɻ
ڞ௨ઃఆɿVisualize https://github.com/ankurdave/color-identifiers-mode colo-identifiers-mode.el ม͝ͱʹ৭͚͠දࣔͯ͘͠ΕΔͷͰɺಛఆมͷ༻ՕॴͳͲ͕ҰͰΘ͔Γ·͢ɻ ಉҰมಉ৭ʹͳΔ
ڞ௨ઃఆɿVisualize https://github.com/Fanael/rainbow-delimiters rainbow-delimiters.el ରԠ͢ΔΧοίΛͦͷείʔϓ͝ͱʹ৭͚ͯ͘͠Ε·͢ɻ ෆʹΧοί͕ଟ͘ͳͬͯ͠·ͬͨͱ͖ͳͲʹศརɻ
JavaScriptɿMode https://github.com/fxbois/web-mode web-mode.el web-mode ଟ͘ͷ web template engineʢERB, React/JSX,
Angularjs, Go Template etcʣʹ ରԠ͍ͯ͠Δ major mode ɻReact AngularJS ͕ࠞࡏ͍͍͍ͯͯ͠ײ͡ʹऔΓѻͬͯ͘ΕΔɻ text-mode web-mode
JavaScriptɿSyntax Check & Lint https://github.com/flycheck/flycheck flycheck.el ։ൃ͍ͯ͠ΔϓϩμΫτͰ Linter ͱͯ͠ eslint
ΛɻܕνΣοΫͱͯ͠ flowtype Λ ಋೖ͍ͯ͠ΔͷͰɺͦΕΒϦΞϧλΠϜʹνΣοΫ͠·͢ɻ
JavaScriptɿOthers https://gist.github.com/blue0513/f503c26bf5cb8a1b6fb6e75f1ec91557 eslint-auto.el ։͍͍ͯΔ buffer ʹରͯ͠ eslint --fix ʢLint Error
ͷࣗಈमਖ਼ʣΛඇಉظͰ࣮ߦͯ͘͠Ε·͢ɻ flycheck ͰΤϥʔ͕ग़͍ͯΔ෦͕ ....... ʢΦϨϯδͷ෦ʣ
Ruby on RailsɿMode ruby-mode.el & rspec-mode.el & rinari.el ruby-mode વͱͯ͠ɺrails
ಛ༗ͷ Syntax Highlight Snippet ΛޮΑ͘ར༻͍ͨ͠ͷͰɺ ͍͍ײ͡ͷ Minor Mode Λઃఆ͠·͢ɻ text-mode ruby-mode
Ruby on RailsɿSyntax Check & Lint https://github.com/flycheck/flycheck flycheck.el ruby ͷ
Syntax Checker & Linter ͩͬͨΒ rubocop ҰͰ͢ͷͰɺͦΕΛ flycheck ͱ࿈ܞͤ͞Δɻ
Ruby on RailsɿOthers https://github.com/blue0513/rubocop-fix-file.el rubocop-fix-file.el eslint-auto.elͷ rubocop ൛Ͱ͢ɻඞཁʹۦΒΕͯ࡞Γ·ͨ͠ɻ flycheck ͰΤϥʔ͕ग़͍ͯΔ෦͕
....... ʢΦϨϯδͷ෦ʣ
Ruby on RailsɿOthers https://github.com/blue0513/rspec-on-iterm.el rspec-on-iterm.el Rspec Λ࣮ߦ͢Δͱ͖ʹɺҰʑࢦఆ͢ΔϑΝΠϧ໊Λଧ࣮ͬͯߦ͢ΔߦΛॻ͍ͯ...... ͱ͢Δͷ໘ͳͷͰ࡞Γ·ͨ͠ɻ
Ruby on RailsɿOthers https://github.com/blue0513/spec-jump.el spec-jump.el Model ϑΝΠϧ͔Β Spec ϑΝΠϧΛ୳ͨ͠Γ.....ͱ͢ΔͷετϨεͩͬͨͷͰ࡞Γ·ͨ͠ɻ
࠷ޙʹ ‣ Emacs ੌ͍ ‣ Emacs ҭͯΒΕΔ ‣ جຊػೳΛؚΊͨѹతΧελϚΠζੑ ‣
3rd Party ͷ package ͷॆ࣮͞ ‣ ඞཁͳ package Λඞཁͳ͚ͩ Install Ͱ͖Δ ‣ ࣗͰಠࣗ package Λ։ൃͰ͖Δ Emacs ͍͍ͧ