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
97
型安全なDrag and Dropの設計を考える
yudppp
5
1k
未知のプログラミング言語にChatGPTと共に挑む
yudppp
0
530
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
霧の中の代数的エフェクト
funnyycat
1
490
仕様駆動開発の消費期限
watany
17
7.4k
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
870
What's New in Android 2026
veronikapj
0
250
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
3
770
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
220
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
670
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
460
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
180
torikago - Ruby::Boxで照らすモジュラモノリスの実行境界
se4weed
1
350
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
210
その節約、円になってますか?
isamumumu
1
710
Featured
See All Featured
Building Applications with DynamoDB
mza
96
7.2k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
400
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
30 Presentation Tips
portentint
PRO
1
360
Believing is Seeing
oripsolob
1
180
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
540
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
240
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Code Reviewing Like a Champion
maltzj
528
40k
From π to Pie charts
rasagy
0
260
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
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