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
Goで社内向け管理画面を楽に作る方法
Search
yudppp
July 13, 2018
Programming
5
10k
Goで社内向け管理画面を楽に作る方法
Vironとgoaを使って社内向け管理画面を楽に作る方法の紹介
https://golangtokyo.connpass.com/event/92225/
にてLTさせていただきました。
yudppp
July 13, 2018
Tweet
Share
More Decks by yudppp
See All by yudppp
型安全なDrag and Dropの設計を考える
yudppp
5
600
未知のプログラミング言語にChatGPTと共に挑む
yudppp
0
390
SaaSフロントエンド開発の現場で求められる技術 / Technologies for SaaS Frontend Development in the Field
yudppp
2
180
2019年 HRBrainの技術的挑戦 / hrbain technology challenge 2019
yudppp
3
1.3k
Web開発を支えるマイグレーションツールについて / sqldef introduction for psql users
yudppp
2
3.2k
ISUCON向けのツールを作った話 / isutools
yudppp
1
260
Row Level Securityはマルチテナントの銀の弾丸になりうるのか / Row Level Security is silver bullet for multitenancy?
yudppp
21
30k
Webサービス開発に必要な統計学入門 / study of statistics for web developers
yudppp
1
270
メジャーな Live Reloaderの違いをちゃんと調べて見た / Compare major live reloader of Go
yudppp
1
1.9k
Other Decks in Programming
See All in Programming
抽象データ型について学んだ
ryounasso
0
190
TypeScript製IaCツールのAWS CDKが様々な言語で実装できる理由 ~他言語変換の仕組み~ / cdk-language-transformation
gotok365
6
320
データと事例で振り返るDevin導入の"リアル" / The Realities of Devin Reflected in Data and Case Studies
rkaga
3
3.3k
#QiitaBash TDDでAIに設計イメージを伝える
ryosukedtomita
2
590
【TSkaigi 2025】これは型破り?型安全? 真実はいつもひとつ!(じゃないかもしれない)TypeScript クイズ〜〜〜〜!!!!!
kimitashoichi
1
270
TSConfig Solution Style & subpath imports to switch types on a per-file basis
maminami373
1
150
バリデーションライブラリ徹底比較
nayuta999999
1
200
Designing Your Organization's Test Pyramid ( #scrumniigata )
teyamagu
PRO
5
1.8k
CQRS/ESのクラスとシステムフロー ~ RailsでフルスクラッチでCQRSESを組んで みたことから得た学び~
suzukimar
0
180
Building an Application with TDD, DDD and Hexagonal Architecture - Isn't it a bit too much?
mufrid
0
350
iOSアプリ開発もLLMで自動運転する
hiragram
5
1.8k
rbs-traceを使ってWEARで型生成を試してみた After RubyKaigi 2025〜ZOZO、ファインディ、ピクシブ〜 / tried rbs-trace on WEAR
oyamakei
0
410
Featured
See All Featured
Building an army of robots
kneath
305
45k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
105
19k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.2k
Designing for Performance
lara
608
69k
Thoughts on Productivity
jonyablonski
69
4.7k
Documentation Writing (for coders)
carmenintech
71
4.8k
Adopting Sorbet at Scale
ufuk
76
9.4k
Optimising Largest Contentful Paint
csswizardry
37
3.2k
Being A Developer After 40
akosma
91
590k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.3k
Into the Great Unknown - MozCon
thekraken
38
1.8k
Transcript
Goで社内向け管理画⾯ を楽に作る⽅法 golang.tokyo #16 LT
⾃⼰紹介 • yudppp • 株式会社HRBrain所属 • 好きな⾔葉: 冪等性 • 好きなキーボード:
HHKB • Go歴4年 • ◦△□ - https://blog.yudppp.com/
4年間GoでWebサービスの 開発をしています。
それに合わせて 社内向けの管理画⾯も ⾊々作り続けてきました。 (社内向け≠エンジニア向け)
Revel
goji + html/template
Echo(API) + Node.JS
Echo(API) + SPA(VueJS)
go-zoo/bone(API) + Node.JS
chi + html/template
APIサーバー作って JavaScript側で管理させたり
薄めのRoutingとhtml/templateで 頑張ってました。
簡単な⽅法あればいいなと ⽇頃思ってました、、
また管理画⾯でJS書きたくない
・・・
GopherJSでもWasmでもないです
https://tech.camobile.com/entry/viron_20180201
Viron • C.A. Mobile製のOSS • Swagger.yamlを与えると管理画⾯が⾃動で できる • フロントコードの実装は全く書かなくて良い (全く書けない)
GoでSwaggerといえば、
goa • Go⾔語で書かれた独⾃のDSLを書くことで、 データ構造やバリデーションコードとハンド ラを⽣成する • Swagger.yamlも⽣成される。 • https://goa.design
全体像 デザインする ⾃動で⽣成される ⾃動で⽣成される DBと繋ぎこむ
全体像 デザインする ⾃動で⽣成される ⾃動で⽣成される DBと繋ぎこむ ͜Ε͚ͩΕཧը໘͕Ͱ͖Δ
Demonstration • ベースの構成は既に作っています。 • 記事の管理が既にあります。 • Descを設定できるようにしましょう。 • https://github.com/yudppp/viron-goa
Pros • リソースの管理画⾯だけなら作れる • 最初さえちゃんと作ればその後は簡単に追加 できる • そもそもSwagger.yamlあると⾊々嬉しい。
Cons • JavaScriptを書けないので難しいことができ ない • 最初の使い⽅に癖があるので⾃社向けにしか 向かなそう
まとめ • ⾃動で管理画⾯できていくのは未来感があっ て楽しい。 • 細かい所には⼿が届かなかったりするが、簡 単なリソース管理には向いている
Appendix • https://cam-inc.github.io/viron-doc/ • https://goa.design/ • https://github.com/yudppp/viron-goa • https://blog.yudppp.com/posts/viron_and_goa/ •
https://techblog.istyle.co.jp/archives/246