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
メルカリ社員100人に聞いたGoLandの使い方 / JetBrains Night Toky...
Search
Masahiro Wakame
November 20, 2018
Programming
13k
27
Share
メルカリ社員100人に聞いたGoLandの使い方 / JetBrains Night Tokyo 2018
https://info.jetbrains.com/jetbrains-night-tokyo-2018.html
Masahiro Wakame
November 20, 2018
More Decks by Masahiro Wakame
See All by Masahiro Wakame
社内フレームワークとその依存性解決 / in-house framework and its dependency management
vvakame
1
750
DatastoreからSpannerに 移行したいぞ途中編 / migrate Datastore to Spanner in progress
vvakame
0
1.3k
Google Cloud Next 2019 わくわく報告会 / Google Cloud Next 2019 WakuWaku Report
vvakame
1
450
OSS入門 世界に参加する最初のひと押し / OSS first step
vvakame
7
770
GCP Compute 概要と選定 / DevFest Tokyo 2018
vvakame
13
1.7k
GoでGraphQLサーバを立てるぞ! / Building GraphQL server by go
vvakame
15
4.9k
『Re:VIEW+CSS組版やっていき』を やった話とWebエンジニアが期待する未来 / CSS Publishinng for Web Developers
vvakame
3
9.2k
go.mercari.io/datastore はいいぞ! / go.mercari.io/datastore is pretty good!
vvakame
4
1.2k
最強のDatastoreライブラリを作った / golang.tokyo #11
vvakame
3
13k
Other Decks in Programming
See All in Programming
2026年のソフトウェア開発を考える(2026/05版) / Software Engineering Scrum Fest Niigata 2026 Edition
twada
PRO
24
13k
AI時代になぜ書くのか
mutsumix
0
430
ReactとSvelteのその先、Ripple-TS / Beyond React and Svelte: Ripple-TS
ssssota
2
370
密結合なバックエンドから TypeScript のコードを生成する
kemuridama
1
260
色即是空、空即是色、データサイエンス
kamoneggi
1
130
TypeSpec で繋ぐ複数プロダクトの型安全
maroon8021
1
130
Kubernetesを使わない環境にもCloud Nativeなデプロイを実現する / Enabling Cloud Native deployments without the complexity of Kubernetes
linyows
3
430
過去のレビュー知見をSkillsで資産化した話
pkshadeck
PRO
1
2.1k
空間オーディオの活用
objectiveaudio
0
160
Sans tests, vos agents ne sont pas fiables
nabondance
0
140
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
580
KMP × Kotlin 2.3 - How Android Got Slower While iOS Builds Improved by 47%
rio432
0
230
Featured
See All Featured
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
700
Game over? The fight for quality and originality in the time of robots
wayneb77
1
170
Scaling GitHub
holman
464
140k
A designer walks into a library…
pauljervisheath
211
24k
Designing for Timeless Needs
cassininazir
1
220
Building Adaptive Systems
keathley
44
3k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
It's Worth the Effort
3n
188
29k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
370
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
120
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
740
Faster Mobile Websites
deanohume
310
31k
Transcript
ϝϧΧϦࣾһ100ਓʹ ฉ͍ͨGoLandͷ͍ํ JetBrains Night Tokyo 2018 Θ͔Ί ·͞ͻΖ
Θ͔Ί ·͞ͻΖ @v vakame Masahiro Wakame Go GraphQL TypeScript
Q. ຊʹ100ਓʹฉ͍ͨʁ
Q. ຊʹ100ਓʹฉ͍ͨʁ
Q. ຊʹ100ਓʹฉ͍ͨʁ ड़ਓ 372ਓ ʹ ฉ͖·ͨ͠ʂʂ
ࠓͷαϚϦ ΈΜͳʹฉ͍ͨ ूେΛ͠·͢ʂ
ࠓͷαϚϦ •GoLand ཱࣗɾࣗशͷͨΊͷΈ •IDEʹٻΊΔػೳ •GoLandͷศརͳػೳͨͪ
֤OSຖͷ •macOSϢʔβͰ͢ •ࠓجຊmacOSϕʔε •Action໊͕Θ͔ΕOK •͋ͱͰઆ໌͠·͢
ཱࣗɾࣗशͷͨΊͷΈ
GoLandଟػೳͰ͋Δ •ػೳ͕ແݶʹ͋Δ •Βͳ͍ػೳ͏͜ͱ͕Ͱ͖ͳ͍ •Ͳ͏ͬͯڧ͘ͳΕ͍͍Μͩ… ·ͣษڧͷํ͔Β
Productivity Guide •༁͢Δͱੜ࢈ੑΨΠυ •Help > Productivity Guide •ීஈͬͯͳ͍ػೳʹ •ਓͷΛݟΔͱ݁ߏָ͍͠
Find Action •ActionΛ୳͢ •Help > Find Action •ࠓ͜Ε͚֮ͩ͑ͯؼͬͯʂ •͍͍ͩͨͷͷ͕Action Cmd+Shift+A
Find Action ͍͍ͩͨ Կ͔ Actionͩʂ
Find Action ຊࢿྉ Action໊Λ ໌ه͠·͢
Search Everywhere •ͳΜͰݕࡧ • ͜Ε •ϑΝΠϧ, ܕ, Action ͳʹ͔͔Βݕࡧ Shift
Shift ࠔͬͨΒShift࿈ଧϚϯ
Preferencesͷݕࡧ •ݕࡧܥػೳ΄Μͱॆ࣮͍ͯ͠Δ
ϖΞ ϓϩάϥϛϯά •Ұ൪ϕʔγοΫͳͭ •ਫ਼ਆతෑډͪΐͬͱߴ͍ •Ҋ֎ΈΜͳ͍ํ͕όϥ͚Δ •γϣϧμʔαʔϑΟϯ͢Δͷָ͕ ڐՄऔΖ͏ʂ
Tip of the Day •ศརใΛϥϯμϜʹදࣔ •Help > Tip of the
Day •ҰؾʹෳݟΔͱָ͍͠ •গͣͭ͠ڧ͘ͳΖ͏ʂ
Presentation Assistant (Plugin) • github.com/chashnikov/IntelliJ-presentation- assistant • γϣʔτΧοτΩʔදࣔϓϥάΠϯ Unofficial PluginͰ͢
Key Promotor X (Plugin) • github.com/halirutan/IntelliJ-Key-Promoter-X • γϣʔτΧοτΩʔڭҭϓϥάΠϯ • Ϛεͱ͔͏ͱࢦಋ͞ΕΔ
Unofficial PluginͰ͢
•Preference > Keymap > γϣʔτΧοτٯҾ͖ ਓ͔ΒڭΘΔ࣌ศར ͻͬͦΓͯ͠·͢
খ͍͞Ϙλϯશ෦ԡ͢ •݁ߏݟಀ͚͢Ͳਵॴʹ͋Δ ͱΓ͋͑ͣԡ͠·͠ΐ͏
ෆຬΛݟಀ͞ͳ͍ •ෆศʹ׳Εͳ͍΄͏͕Α͍ •ղফͯ͠Γӽ͍͖͍͑ͯͨ •ݴ͏қ͘ߦ͏͠… ୳ͤ(͍͍ͩͨ)͋Δʂ
ϒϩάͱ͔ݟΔ •blog.jetbrains.com/go/ •blog.jetbrains.com/jp/category/goland •samuraism.com/jetbrains/training ࡢϓογϡ͞ΕͨͷͰ…(ૉ
IDEʹٻΊΔػೳ
Goͷύοέʔδཧ •܈༤ׂڌ •Dep •Go Modules (Official) •↑Experimental GoLandGo Modulesαϙʔτࡁ
Go Modules •GO111MODULE=on •࠷ߴͷαϙʔτʂ ͜Εͦ͜ސ٬͕ٻΊ͍ͯͨͷ…ʂ
Go Module •GoLandͷGo Moduleαϙʔτ࠷ߴ(࠶ܝ •$GOPATH ͷมͳpackageरΘͳ͍ •↑ͪΐ͍ͪΐ͍ਏ͔ͬͨ… •IDEͱͯ͠ͷ͕͕͋ͬͨ(ؾʹͳΔ
σόοΨ •ී௨ʹ͑Δ (Delve͕backend •Break point / Inspector •Unit TestपΓͷαϙʔτॆ࣮ •Ͱ͖ͳ͍…
•ෳࡶͳEvaluate Expression / Set Value
AppEngineαϙʔτ •Google Cloud PlatformͷAppEngine •ͬͯ·͔͢ʁͬͯ·͢Ͷʁ •go111 runtimeͰΊͬͪΌָʹͳͬͨ •AppEngineଆ͕าΈد͖ͬͯͨܗ •2018.3 Ͱچruntimeͷαϙʔτվળ
ΊͬͪΌ͍͚ͨ͠Ͳधཁബͦ͏ͳͷͰ࠙ձͰ…
ίʔυิ •ී௨ͷαδΣετ •ςετੜ •Struct ͷFieldຒΊ •etc…
πʔϧྨ…ʁ •gofmt, goimportsͳͲ •αϙʔτ༗Γ •νʔϜͰ౷Ұ͢ΔͨΊಛఆͷΤσΟλʹ ґଘͨ͘͠ͳ͍ؾ࣋ͪ… •gometalinter → File Watcher
ଞΤσΟλϢʔβʹฉ͍ͨ
Vim •IdeaVim Plugin •ΠέΔ •ͭΒ͍ •Undoͷڍಈ͕ਏ͍… plugins.jetbrains.com/plugin/164-ideavim
ίʔυิͱ͔͍Δͷ ݾΛ͑Ε Α͘ͳ͍Ͱ͔͢ʁ ※ݸਓͷײͰ͢(ͬͯݴ͑ͬͯ
GoLandͷศརͳػೳͨͪ ৭ʑग़͖ͯ·ͨ͠
Show Intention Action •ͦͷ࣌ศརͦ͏ͳΞΫγϣϯΛදࣔ •Կ͔͋Γͦ͏ͱࢥͬͨΒͱΓ͋͑ͣԡ͢ •Quick Fix ʹ͍ۙ •WarningError͕ͳͯ͘ԡͤΔ Option
+ Enter
Test (Cmd+Shift+T) •Code ⇔ Test ͷҠಈ •Testͷੜ •Table Driven TestͳςϯϓϨΛੜʂ
•ςετ໊ؔΘΓͱྑ͍ Table Driven Testͯ͠·͔͢ʁ
Fill struct recursively •ͱͯ͠struct࡞Δ࣌ʹศར •zeroͰҰ୴શ෦ຒΊͯ͘ΕΔ Testॻ࣌͘ʹΑ͍͘·͢
Mark Directory as •Excludes ͱ͔͢Δ •ݕࡧͱ͔ʹҾ͔͔ͬΒͳ͘ͳΔ ͿͬͪΌ͚͋Μ·Θͳ͍
Declaration •ఆٛʹඈͿͭ •͜ͷϝιουͷ࣮Ͳ͏ͳͬͯΔͷʙ •Jump to Source ͱҧ͍͕Θ͔Βͳ͍… •GoҎ֎ͷݴޠͩͱҧ͏ͷ͔ͳ ͍ͭτϥοΫύουͰૢ࡞͢Δͭ
Back •1ݸલͷॴʹΔͭ •DeclarationͱΈ߹Θͤͯසൟʹ͏ •࠷ۙ·ͰΒͳͯ͘ෆศͩͱࢥͬͯ ·ͨ͠…
Next Project Window •ผ૭Ͱ։͍͍ͯΔProjectʹҠಈ͢Δͭ •ɹ͔ͨ͠ʹ •͔ɺ͔͍͍ͬ͜…
Edit Custom VM Options •GoLandͷىಈΦϓγϣϯ͍͡ΕΔ •-XmxΛ૿͢ʂͱ͍͏ਓ͕ଟ͔ͬͨ •JVMͷ࠷େώʔϓαΠζ • -Xmx1920m ʹ͠·ͨ͠
Recent Files •Recent Edited Files ͋ΔΑʂ
•͜ͷInterfaceΛ࣮ͯ͠ΔͭͲ͍ͭʁ •Methodͷ࣮ͷҰཡͱ͔ग़ͤΔ Implementations ݁ߏසൟʹ͏…ʂΊͬͪΌྑ͍
Call Hierarchy •ؔͳͲͷݺͼग़͠πϦʔΛදࣔ •Find Usage ΑΓศར…ʂ •࠶ؼతʹḷΕΔ Find Usageͣͬͱͬͯͨ…
Scratch File •GoͰී௨ʹ͑Δ •ಉ྅ͱίʔυͷ૬ஊ͍ͨ͠… •Playground → ิͳͯ͘ࢮ͵ •Scratch FileͰॻ͍ͯShare͢Δ ৽نϫʔΫεϖʔε४උΊΜͲ͍
JetBrains Toolbox •www.jetbrains.com/toolbox/ •GoLand ͦͷଞIDEೖΕΔͷΒ͘Β͘ •όʔδϣϯݻఆͱ͔Ͱ͖Δ •ΞϓσϥΫϥΫʂ Actionͱ͔Ͱͳ͍͚Ͳ…
Implement Interface •͋Δstructͱ͔ʹඞཁͳϝιουΛ ͼΌͬʂͱੜͤΔ implement missing method Ͱ͢
Implements missing method •Γͳ͍ϝιουΛͼΌͬʂͱੜͤΔ ίϯύΠϥʹinterface࣮νΣοΫͤ͞ΒΕΔ
File… :Line:Column •File Ͱ :ߦ൪߸:ྻ൪߸ Ͱ֘ҐஔʹඈΔ σόοάָ͕ʂ
Next Highlighted Error •Warning, Error etc ʹδϟϯϓͰ͖Δ •ίϯύΠϧΤϥʔͷमਖ਼࣌ʹศར
Show tabs in one row •Preferences > Editor > General
> Editor Tabs •Show tabs in one row Λ disable ʹ͢Δ •λϒද͕ࣔ1ߦʹͳΔͷෆศͩΑͶ… •શ෦ݟ͑ͯΔͱͤ
Camel Case matching •ೖྗิͰ໊લΛશ෦ଧͭඞཁͳ͍ •େจࣈ෦͚ͩͱ͔Ұ෦͚ͩͰOK ͜͏͍͏໊લͷͭ͋ͬͨΑͳ…ʁ Ͱίʔυ͕ॻ͚·͢(υΩϡϝϯτಡ͏
Quick Documentation •υΩϡϝϯτ͕γϡοͱݟΕ·͢ •External Documentation͋ΔΑʂ •godocͷWebϖʔδ͕γϡοͱ։͘
Find in Path •ϓϩδΣΫτશମݕࡧͱ͔ •Τϥʔϝοηʔδ͔ΒൃੜՕॴௐͨΓ •Replace in Path Α͍͘·͢
࠷ޙʹ
We are hiring! •͞ΒͳΔใࣾWikiSlackͰʂ •ΞΫηε͢Δʹೖࣾ͢Δ͔͠ͳ͍…ʂ •ϝϧΧϦˠ careers.mercari.com/ •ϝϧϖΠˠ jp.merpay.com/careers/
None