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
120
フロントエンドエンジニアがGO勉強したら ORM完全に理解した
エンジニア達の「完全に理解した」Talk #59
で発表したスライドです。
Terisuke
November 26, 2024
Tweet
Share
More Decks by Terisuke
See All by Terisuke
「シンプル」な ゲームを作った
terisuke
0
10
Technology is expression.
terisuke
1
16
クラウドでディープラーニングをやってみた(20敗)
terisuke
1
20
ネイティブAI駆動開発エンジニアから見た現代の開発環境最適解(2025/01)
terisuke
0
40
Next.js使いからみたGoのいいところ悪いところ
terisuke
0
90
初めてのIoTGobot編
terisuke
1
33
趣味:LTのススメ
terisuke
0
21
チャリチャリLT会 #1 チャリチャリ×ヌーラボ『私の仕事を知ってほしい』
terisuke
0
54
【個人開発! お一人様プロジェクト発表会】あつまれエンジニアの森 #7 ~ 私の個人開発珍道中 ~
terisuke
0
78
Other Decks in Programming
See All in Programming
Return of the Full-Stack Developer
simas
PRO
1
320
家族・子育て重視/沖縄在住を維持しながらエンジニアとしてのキャリアをどのように育てていくか?
ug
0
240
NestJSのコードからOpenAPIを自動生成する際の最適解を探す
astatsuya
0
190
リアクティブシステムの変遷から理解するalien-signals / Learning alien-signals from the evolution of reactive systems
yamanoku
2
1k
AI時代のプログラミング教育 / programming education in ai era
kishida
23
21k
2025/3/18 サービスの成長で生じる幅広いパフォーマンスの問題を、 AIで手軽に解決する
shirahama_x
0
160
今から始めるCursor / Windsurf / Cline
kengo_hayano
0
110
自分のために作ったアプリが、グローバルに使われるまで / Indie App Development Lunch LT
pixyzehn
1
120
List とは何か? / PHPerKaigi 2025
meihei3
0
560
remix + cloudflare workers (DO) docker上でいい感じに開発する
yoshidatomoaki
0
120
PHPのガベージコレクションを深掘りしよう
rinchoku
0
240
小さく段階的リリースすることで深夜メンテを回避する
mkmk884
2
130
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
How to train your dragon (web standard)
notwaldorf
91
5.9k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
Docker and Python
trallard
44
3.3k
A Modern Web Designer's Workflow
chriscoyier
693
190k
A designer walks into a library…
pauljervisheath
205
24k
Automating Front-end Workflow
addyosmani
1369
200k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.1k
Producing Creativity
orderedlist
PRO
344
40k
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!! プ ロ フ ィ ー ル
リ ン ク と か プ ロ ダ ク ト と か