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
27
13k
メルカリ社員100人に聞いたGoLandの使い方 / JetBrains Night Tokyo 2018
https://info.jetbrains.com/jetbrains-night-tokyo-2018.html
Masahiro Wakame
November 20, 2018
Tweet
Share
More Decks by Masahiro Wakame
See All by Masahiro Wakame
社内フレームワークとその依存性解決 / in-house framework and its dependency management
vvakame
1
710
DatastoreからSpannerに 移行したいぞ途中編 / migrate Datastore to Spanner in progress
vvakame
0
1.2k
Google Cloud Next 2019 わくわく報告会 / Google Cloud Next 2019 WakuWaku Report
vvakame
1
440
OSS入門 世界に参加する最初のひと押し / OSS first step
vvakame
7
740
GCP Compute 概要と選定 / DevFest Tokyo 2018
vvakame
12
1.7k
GoでGraphQLサーバを立てるぞ! / Building GraphQL server by go
vvakame
15
4.8k
『Re:VIEW+CSS組版やっていき』を やった話とWebエンジニアが期待する未来 / CSS Publishinng for Web Developers
vvakame
3
9.1k
go.mercari.io/datastore はいいぞ! / go.mercari.io/datastore is pretty good!
vvakame
4
1.1k
最強のDatastoreライブラリを作った / golang.tokyo #11
vvakame
3
11k
Other Decks in Programming
See All in Programming
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
440
AI Agent Dojo #4: watsonx Orchestrate ADK体験
oniak3ibm
PRO
0
120
GISエンジニアから見たLINKSデータ
nokonoko1203
0
190
CSC307 Lecture 01
javiergs
PRO
0
650
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
1.1k
生成AI時代を勝ち抜くエンジニア組織マネジメント
coconala_engineer
0
37k
AtCoder Conference 2025
shindannin
0
880
Cell-Based Architecture
larchanjo
0
160
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
140
PC-6001でPSG曲を鳴らすまでを全部NetBSD上の Makefile に押し込んでみた / osc2025hiroshima
tsutsui
0
200
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
430
[AI Engineering Summit Tokyo 2025] LLMは計画業務のゲームチェンジャーか? 最適化業務における活⽤の可能性と限界
terryu16
2
220
Featured
See All Featured
Writing Fast Ruby
sferik
630
62k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Being A Developer After 40
akosma
91
590k
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
GraphQLとの向き合い方2022年版
quramy
50
14k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
400
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
270
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
770
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
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