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勉強したら ORM完全に理解した
Search
Terisuke
November 26, 2024
Programming
1
150
フロントエンドエンジニアがGO勉強したら ORM完全に理解した
エンジニア達の「完全に理解した」Talk #59
で発表したスライドです。
Terisuke
November 26, 2024
Tweet
Share
More Decks by Terisuke
See All by Terisuke
MCPを使ってAIだけの開発チームを作った
terisuke
0
36
GPT Web検索の歩き方
terisuke
1
40
「シンプル」な ゲームを作った
terisuke
1
18
Technology is expression.
terisuke
1
31
クラウドでディープラーニングをやってみた(20敗)
terisuke
1
32
ネイティブAI駆動開発エンジニアから見た現代の開発環境最適解(2025/01)
terisuke
0
73
Next.js使いからみたGoのいいところ悪いところ
terisuke
0
110
初めてのIoTGobot編
terisuke
1
37
趣味:LTのススメ
terisuke
0
33
Other Decks in Programming
See All in Programming
Catch Up: Go Style Guide Update
andpad
0
250
Server Side Kotlin Meetup vol.16: 内部動作を理解して ハイパフォーマンスなサーバサイド Kotlin アプリケーションを書こう
ternbusty
3
240
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
440
alien-signals と自作 OSS で実現する フレームワーク非依存な ロジック共通化の探求 / Exploring Framework-Agnostic Logic Sharing with alien-signals and Custom OSS
aoseyuu
2
480
スマホから Youtube Shortsを見られないようにする
lemolatoon
27
34k
テーブル定義書の構造化抽出して、生成AIでDWH分析を試してみた / devio2025tokyo
kasacchiful
0
270
CSC305 Lecture 08
javiergs
PRO
0
270
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
530
TFLintカスタムプラグインで始める Terraformコード品質管理
bells17
2
360
Vueのバリデーション、結局どれを選べばいい? ― 自作バリデーションの限界と、脱却までの道のり ― / Which Vue Validation Library Should We Really Use? The Limits of Self-Made Validation and How I Finally Moved On
neginasu
2
1.4k
Domain-centric? Why Hexagonal, Onion, and Clean Architecture Are Answers to the Wrong Question
olivergierke
3
960
AI Agent 時代的開發者生存指南
eddie
4
2.1k
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
630
We Have a Design System, Now What?
morganepeng
53
7.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Code Review Best Practice
trishagee
72
19k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
880
Making Projects Easy
brettharned
120
6.4k
Visualization
eitanlees
149
16k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
The Straight Up "How To Draw Better" Workshop
denniskardys
238
140k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Transcript
Now Loading.....
フロントエンドエンジニアが GO勉強したら ORM完全に理解した テ リ ス ケ 2 0 2
4 / 1 1 / 2 6
テリスケ IS 何? <テリスケ(本名:寺田康佑> # 音大卒業、フリーのトランペッターしてました # コロナで無職・リクルートに転職 # 社内で営業効率化システムを独学で開発(Python)
# 去年4月にG’s ACADEMYに入学、フロントエンド技術を学ぶ # 10月に卒業後すぐに起業、ソフトウェア開発してます # 来年からスタートアップのテックリード兼務予定 # 生成AI # Next.js # GoogleCloud # Terraform # Go # 福岡 # ビリーズブートキャンプで半年で5kg痩せました
🎉25週連続LT達成!
None
テリスケさん(34)
ORM IS 何? # オブジェクト関係マッピング (Object-Relational Mapping)の略 # SQL文をコードで書ける #
スクリプトをシンプルにしやすい # コードの再利用をしやすい # オブジェクト指向のコーディングと相性がいい
users = Array.new sql = "SELECT * FROM users" rows
= some_sql_module.query(sql); # `some_sql_module`は簡略化された例 rows.each do |row| user = User.new; user.id = row[:id] # シンボルがカラム名として使用されると仮定 user.name = row[:name] user.email = row[:email] users << user end users = User.all SQL ORM (ActiveRecord)
EX/データの作成、読み取り、更新、削除 Create: データを作る。 Read: 特定のデータを探す、または全部のデータを見る。 Update: 既存のデータの内容を変える。 Delete: データを削除する。 Clauses(クロージズ)
Where("color = ?", "red").Order("size ASC").Limit(10) // 赤いブロックを大きさ順に並べて、10個だけ欲しい!
便利だったこと # datatypes.JSONという型が便利 (MySQL ver8から使用可) # ライブラリインポートしなくても 基本デフォルトでなんでも入ってる
しんどかったこと #型定義キッッッッツ!! # 複数の型をまとめたカラムを そのまま扱えない # 解決策としてMarshal,Unmarshal が使える ID:数字(int) Name:文字(string)
ExistingUser:Yes or NO(Bool)
まとめ GOはクラウドで 使おうね
まとめ でもGORMは超便利 # コード側からDB設計できる機能(マイグレーシ ョン)はとても便利 # コードの再利用ができるので開発がとても早く なる #Pythonなど多言語にもORMライブラリがあるら しいので、AIプロダクト作成に活かしていきたい
AI絵本ジェネレーター 鋭意製作中・・・!
THANK YOU FOR WATCHING!! プ ロ フ ィ ー ル
リ ン ク と か プ ロ ダ ク ト と か