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
Next.js で Ruby をプログラミング&実行できるアプリを作る
Search
uutan1108
January 18, 2024
Programming
0
1.1k
Next.js で Ruby をプログラミング&実行できるアプリを作る
エンジニアの自由研究発表会vol.9
https://tech-street.connpass.com/event/305362/
uutan1108
January 18, 2024
Tweet
Share
More Decks by uutan1108
See All by uutan1108
学生の時に開催したPerl入学式をきっかけにエンジニアが組織に馴染むために勉強会を主催や仲間と参加して職能間の境界を越えていく
ohmori_yusuke
0
5
やりっぱなしで終わらない勉強法
ohmori_yusuke
0
38
OpenAPIにも静的解析とフォーマッターを導入して快適にスキーマ定義する
ohmori_yusuke
2
29
スクラムフェスに参加した
ohmori_yusuke
1
220
新卒エンジニアが組織に馴染むために勉強会を主催してチームの壁を越える
ohmori_yusuke
1
190
CGIプログラムを書いてみた
ohmori_yusuke
1
55
”私だけ”の技術発信から”仲間と”技術発信に変化するために
ohmori_yusuke
4
230
企業主催勉強会をきっかけに職能間の境界を越える ロングver
ohmori_yusuke
2
270
企業主催勉強会をきっかけに職能間の境界を越える
ohmori_yusuke
1
130
Other Decks in Programming
See All in Programming
App Router 悲喜交々
quramy
7
370
上手に付き合うコンポーネントテスト
quramy
3
1.2k
Pythonで改めて考える「クラス(class)」の使いどころ
os1ma
13
3.4k
XP2024 っていう国際会議に行ってきたよの記 / XP2024 Conference Report
bonotake
4
140
◯◯エンジニアになった理由
gessy0129
PRO
0
580
Re:PandasAI:生成AIがデータ分析業務にもたらすパラダイムシフト【増補改訂版】
negi111111
1
640
Applied NLP in the Age of Generative AI
inesmontani
PRO
3
1.1k
複数プロダクトの技術改善・クラウド移行に向き合うチームのフレキシブルなペア・モブプログラミングの実践 / Flexible Pair Programming And Mob Programming
honyanya
0
110
VS Code extension: ドラッグ&ドロップでファイルを並び替える
ttrace
0
130
為醫療加裝Python的引擎
cclai999
0
270
pytest プラグインを開発して DRY に自動テストを書こう
inuatsu
2
230
AWS CDKを用いたセキュアなCI/CDパイプラインの構築 / Build a secure CI/CD pipeline using AWS CDK
seike460
PRO
3
500
Featured
See All Featured
Done Done
chrislema
181
16k
How to train your dragon (web standard)
notwaldorf
87
5.6k
BBQ
matthewcrist
84
9.2k
Navigating Team Friction
lara
183
14k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
125
18k
For a Future-Friendly Web
brad_frost
174
9.3k
Designing Experiences People Love
moore
138
23k
Docker and Python
trallard
40
3k
Atom: Resistance is Futile
akmur
261
25k
Facilitating Awesome Meetings
lara
49
6k
Designing for humans not robots
tammielis
249
25k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
230
17k
Transcript
Next.js で Ruby を プログラミング&実行できる アプリを作る エンジニアの自由研究発表会vol.9 うーたん
自己紹介 • うーたん • 新卒サーバーサイドエンジニア ◦ 株式会社ゆめみ • 趣味 ◦
アニメを見ること • X ◦ @uutan1108
目次 - 作ったもの - 仕組み - Server Actions - @ruby/wasm-wasi
- 終わりに
作ったもの
None
None
Ruby のコードを Next.js のみで実行できる
仕組み
仕組み ・Server ActionsはNext.js 14でStableになった機能です。 サーバー側で関数を実行できます。 ・サーバー側の実行結果をクエリパラメータに与えリダイ レクト させます。
実行前 実行後
Server Actions
Server Actions and Mutations サーバーアクションは、サーバー上で実行される非同期関数で す。サーバーコンポーネントやクライアントコンポーネントで使 用し、Next.jsアプリケーションのフォーム送信やデータを処理し ます。 https://nextjs.org/docs/app/building-your-application /data-fetching/server-actions-and-mutations
Server Actions ・フォームのsubmitが押 さ れた時にサーバーで 関数 が実行される。 ・フォームの入力内容を 受 け取り処理をでき る。 ・onAction関数にRuby を 実行するコードを書 く 引
用:https://future-architect.github.io/articles/20231130a
wasm
WebAssembly とは何か この機能はウェブプラットフォームにとって大きな意味を持ちま す。ウェブ上で動作するクライアントアプリで従来は実現できな かった、ネイティブ水準の速度で複数の言語で記述されたコー ドをウェブ上で動作させる方法を提供します。 今回はサーバー側でWasmを実行しています。 https://developer.mozilla.org/ja/docs/WebAssembl y/Concepts
@ruby/wasm-wasi ・先ほどのonAction関数内のコー ド。 ・npmでインストールできる。 ・wasmを読み込んでユーザーから 受け取ったコードを実行する。 ・Rubyで標準入力を与え、標準 出 力を取得するコードを追加す る。
終わりに
感想 • 意外と簡単に実装できた • Next.js 14 の新しい機能 Server Actions を使ってみたが、
便利そうな気がする • OHMORIYUSUKE/ruby-web でコードを公開しているので 見てください! • 作ってみると楽しい
ご清聴ありがとうございました🙇