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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Masahiro Wakame
November 20, 2018
Programming
13k
27
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
メルカリ社員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
770
DatastoreからSpannerに 移行したいぞ途中編 / migrate Datastore to Spanner in progress
vvakame
0
1.3k
Google Cloud Next 2019 わくわく報告会 / Google Cloud Next 2019 WakuWaku Report
vvakame
1
460
OSS入門 世界に参加する最初のひと押し / OSS first step
vvakame
7
780
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
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
150
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
100
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
160
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
150
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
840
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
430
1年で人数1.5倍、PR数5.5倍増。 品質とアウトカムはどうなったか、 何が効いたか
ike002jp
0
140
自作OSでスライド発表する
uyuki234
1
3.9k
What's New in Android 2026
veronikapj
0
140
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
210
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
540
act2-costs.pdf
sumedhbala
0
120
Featured
See All Featured
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
310
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
420
Music & Morning Musume
bryan
47
7.3k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
470
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
From π to Pie charts
rasagy
0
240
YesSQL, Process and Tooling at Scale
rocio
174
15k
Building Adaptive Systems
keathley
44
3.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
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