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
1
330
Emacs で Web サービスを開発して8ヶ月が経ちました
Slide for m3 tech talk
Taiju Aoki
December 14, 2018
Tweet
Share
More Decks by Taiju Aoki
See All by Taiju Aoki
本番運用中 Oracle を破壊してしまった話 ~ 破壊と創世 ~ / Oracle Destruction and Creation
blue0513
0
3k
オンプレ to オンプレした話/on-premises2on-premises
blue0513
0
3k
GitもCIもテストもないプロジェクトでデプロイを自動化するまでの道 / rebuild of DevOps
blue0513
0
3.2k
Git & GitLab & コードレビューって? / about Git, GitLab, CodeReview
blue0513
0
240
ElectronでSlackをさらに便利にしちゃう / Slack with Electron
blue0513
3
850
GitHub の README をいい感じにする / Cool Readme
blue0513
3
1.7k
Emacs × Sound やってみた / Emacs with Sound
blue0513
1
1k
Slack を TweetDeck にしてみた件 / slackdeck-proto
blue0513
0
2.9k
知ってるとお得な iTerm2 と zsh/bash の小技
blue0513
3
840
Other Decks in Programming
See All in Programming
Testing Trophyは叫ばない
toms74209200
0
120
HTMLの品質ってなんだっけ? “HTMLクライテリア”の設計と実践
unachang113
0
460
Honoアップデート 2025年夏
yusukebe
1
900
AI時代に学習する意味はあるのか?
tomoyakamaji
0
110
AI時代のUIはどこへ行く?
yusukebe
6
1.6k
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
420
A Gopher's Guide to Vibe Coding
danicat
0
200
私の後悔をAWS DMSで解決した話
hiramax
4
180
JSONataを使ってみよう Step Functionsが楽しくなる実践テクニック #devio2025
dafujii
0
230
More Approvers for Greater OSS and Japan Community
tkikuc
1
110
Rancher と Terraform
fufuhu
2
170
ECS初心者の仲間 – TUIツール「e1s」の紹介
keidarcy
0
150
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
How to Ace a Technical Interview
jacobian
279
23k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
The Language of Interfaces
destraynor
160
25k
We Have a Design System, Now What?
morganepeng
53
7.8k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
20k
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 ͍͍ͧ