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
3.1k
GitもCIもテストもないプロジェクトでデプロイを自動化するまでの道 / rebuild of DevOps
blue0513
0
3.3k
Git & GitLab & コードレビューって? / about Git, GitLab, CodeReview
blue0513
0
240
ElectronでSlackをさらに便利にしちゃう / Slack with Electron
blue0513
3
860
GitHub の README をいい感じにする / Cool Readme
blue0513
3
1.7k
Emacs × Sound やってみた / Emacs with Sound
blue0513
1
1k
Slack を TweetDeck にしてみた件 / slackdeck-proto
blue0513
0
3k
知ってるとお得な iTerm2 と zsh/bash の小技
blue0513
3
850
Other Decks in Programming
See All in Programming
CSC305 Lecture 12
javiergs
PRO
0
250
NIKKEI Tech Talk#38
cipepser
0
370
Webサーバーサイド言語としてのRustについて
kouyuume
1
5.1k
Kotlin 2.2が切り拓く: コンテキストパラメータで書く関数型DSLと新しい依存管理のかたち
knih
0
280
contribution to astral-sh/uv
shunsock
0
580
品質ワークショップをやってみた
nealle
0
940
業務でAIを使いたい話
hnw
0
230
Kotlinで実装するCPU/GPU 「協調的」パフォーマンス管理
matuyuhi
0
270
ノーコードからの脱出 -地獄のデスロード- / Escape from Base44
keisuke69
0
350
One Enishi After Another
snoozer05
PRO
0
180
Verilator + Rust + gRPC と Efinix の RISC-V でAIアクセラレータをAIで作ってる話 RTLを語る会(18) 2025/11/08
ryuz88
0
170
Reactive Thinking with Signals and the Resource API
manfredsteyer
PRO
0
120
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
697
190k
Navigating Team Friction
lara
190
15k
Being A Developer After 40
akosma
91
590k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
How STYLIGHT went responsive
nonsquared
100
5.9k
Thoughts on Productivity
jonyablonski
72
4.9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
Why Our Code Smells
bkeepers
PRO
340
57k
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 ͍͍ͧ