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
9.9k
Goで社内向け管理画面を楽に作る方法
Vironとgoaを使って社内向け管理画面を楽に作る方法の紹介
https://golangtokyo.connpass.com/event/92225/
にてLTさせていただきました。
yudppp
July 13, 2018
Tweet
Share
More Decks by yudppp
See All by yudppp
未知のプログラミング言語にChatGPTと共に挑む
yudppp
0
240
SaaSフロントエンド開発の現場で求められる技術 / Technologies for SaaS Frontend Development in the Field
yudppp
2
67
2019年 HRBrainの技術的挑戦 / hrbain technology challenge 2019
yudppp
3
1.2k
Web開発を支えるマイグレーションツールについて / sqldef introduction for psql users
yudppp
2
2.9k
ISUCON向けのツールを作った話 / isutools
yudppp
1
210
Row Level Securityはマルチテナントの銀の弾丸になりうるのか / Row Level Security is silver bullet for multitenancy?
yudppp
19
22k
Webサービス開発に必要な統計学入門 / study of statistics for web developers
yudppp
1
230
メジャーな Live Reloaderの違いをちゃんと調べて見た / Compare major live reloader of Go
yudppp
1
1.7k
今年お世話になったnpm module
yudppp
1
820
Other Decks in Programming
See All in Programming
今こそ始める、CDKコンストラクトライブラリ開発 ― 入門から実践まで
tmokmss
1
930
CSC307 Lecture 09
javiergs
PRO
1
500
유연한 Composable 설계
l2hyunwoo
0
380
Google's Recipe for Scaling (Web) Security – LocoMocoSec 2024
lweichselbaum
0
170
Clean Architecture by TypeScript & NestJS
ryounasso
0
150
20240706_CDKConf
takuyay0ne
0
1.2k
Namespace on read
tagomoris
2
370
入社1ヶ月でここまでやった!Findy Toolsインフラ支援の最適化
rvirus0817
6
1.4k
君たちはどうコードをレビューする (される) か / 大吉祥寺.pm
utgwkk
15
8.5k
OpenAI/Gemini APIを使って EPUBを翻訳するCLIツールをつくってみた
tomiyan
0
790
実用的かつリーズナブルな 「Azure × Gemini × LINE」~キャラクターBot 実装ライブデモ~
tomodo_ysys
1
170
大規模マルチテナントを解決するYugabyteDBという選択肢
nnaka2992
1
250
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
229
130k
Design by the Numbers
sachag
277
18k
Building Flexible Design Systems
yeseniaperezcruz
323
37k
Building Better People: How to give real-time feedback that sticks.
wjessup
357
18k
A better future with KSS
kneath
231
17k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
149
45k
From Idea to $5000 a Month in 5 Months
shpigford
377
46k
Mobile First: as difficult as doing things right
swwweet
219
8.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
15
4.9k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
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