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
11k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Goで社内向け管理画面を楽に作る方法
Vironとgoaを使って社内向け管理画面を楽に作る方法の紹介
https://golangtokyo.connpass.com/event/92225/
にてLTさせていただきました。
yudppp
July 13, 2018
More Decks by yudppp
See All by yudppp
開発者にもコーディングエージェントにも働きやすい環境を整える
yudppp
1
110
型安全なDrag and Dropの設計を考える
yudppp
5
1k
未知のプログラミング言語にChatGPTと共に挑む
yudppp
0
540
SaaSフロントエンド開発の現場で求められる技術 / Technologies for SaaS Frontend Development in the Field
yudppp
2
290
2019年 HRBrainの技術的挑戦 / hrbain technology challenge 2019
yudppp
3
1.5k
Web開発を支えるマイグレーションツールについて / sqldef introduction for psql users
yudppp
2
3.7k
ISUCON向けのツールを作った話 / isutools
yudppp
1
350
Row Level Securityはマルチテナントの銀の弾丸になりうるのか / Row Level Security is silver bullet for multitenancy?
yudppp
23
34k
Webサービス開発に必要な統計学入門 / study of statistics for web developers
yudppp
1
370
Other Decks in Programming
See All in Programming
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
590
Discordを用いたラボオートメーション関連情報収集の自動化
noguhiro2002
0
480
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
200
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
770
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
190
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
280
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
2
880
LLMは4年分のCompose移行を再現できるのか?実プロダクト279件のXMLで探る自動化の境界線
makun
0
240
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
280
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
180
Go を使い始めて 2 ヶ月の学び / My first two months with Go
contour_gara
0
400
Dockerfile CMD for Node.js
grazie1999
0
160
Featured
See All Featured
Fireside Chat
paigeccino
42
4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
The Curious Case for Waylosing
cassininazir
1
490
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
390
How to make the Groovebox
asonas
2
2.4k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
Done Done
chrislema
186
16k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.9k
Color Theory Basics | Prateek | Gurzu
gurzu
0
450
Navigating Team Friction
lara
192
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