SlideShare a Scribd company logo
1 of 41
Download to read offline
Ember コミュニティ とわたし
大江戸Ruby会議05 - 2015.11.08
佐藤竜之介(@tricknotes)
自己紹介
• 佐藤竜之介
• 札幌から来ました
• えにしテックという会社で働いています
• フロント寄りの Web 系プログラマ
• 普段は Rails + Ember.js でお仕事
GitHub/Twitter: @tricknotes
よろしく
お願いします
https://twitter.com/a_matsuda/status/657464064935723009
https://twitter.com/a_matsuda/status/657493757449732096
考える
• 大江戸Ruby会議
• 地域Ruby会議
• エモいの OK
• Rails 界隈の話も OK
• 普段やっていることを!
• そうだ、Ember.js の話をしよう
今日のテーマ
「Rails を使った web 開発」というコ
ンテキストでのフロントエンド
JavaScript の選択について
背景
• Rails 開発者も JS を意識せざるをえなくなってきた
• JS のライブラリはたくさんあるけど何を使えばいいの?
• 半年ごとにトレンドが変わる(ように見える)
• つらい
• 今日はちょっと趣向を変えて、コミュニティ的な側面から考え
てみる
今日は Ember コミュニティ とわたしのお話
• 他のライブラリとの比較の話はしない
• React はスルー
• Angular もあえて見ない
• それぞれのライブラリで、解決したい問題とアプローチが違う
• Ember コミュニティの話と、そしてわたしがコミュニティどう
関わっているか
今日お話しすること
• Ember.js の背景
• Ember.js とわたし
第1部
Ember.js の背景
Ember.jsA framework for creating
ambitious web applications
For examples...
Travis CI
Idobata
Ember.js
• 歴史
• SproutCore が起源
• 2011 年から開発開始
• 2013 年に v1.0.0 リリース
• 現在のバージョンは v2.1.0 (2015-11-08 現在)
• いわゆるフルスタックフレームワーク
• Routing, Model, Template などをサポート
フルスタック
バージョン: 2.1.0
• Data binding … 2つ以上のデータを同期させる仕組み。
• Template … オブジェクトの値を変更すると、自動で画面に反映
• Router … URL とアプリケーションを対応付ける
• Component … カスタムHTMLタグ。入れ子にして使う。
• Service … セッションに依存するデータなどを保持
• Ember Data … いわゆるモデル。API と通信してデータを保持す
その他の特徴
• FastBoot(Server-Side Rendering)
• Glimmer Engine(Virtual DOM)
チーム
• 創始者: Yehuda Katz(@wycats)
• コミッター: 30人くらい
• コアコミッター: 14人くらい
• その他公式ライブラリを含めると 50 人くらい
@wycats
@wycats
• OSS コミュニティを育てるのが上手い
• 道を作ってあとはひとに託すスタイル
• Rails の AR::Base.scope
• Bundler
• いまは Rust と Ember にコミットしている
• Ember には要所要所で豪快にコミットする
Ember.js について
• コミュニティ主導
• 定例の core team meeting
• 昔は議事録が公開されていたが…
• 各コンポネート毎にエキスパートがいる
• 今後の展望はブログに公開: http://emberjs.com/blog/
• 新機能の提案は RFC で: https://github.com/emberjs/rfcs
リリース
• Channels: release / beta / canary
• 今後は少し変わる予定 (ref: "Release cycle improvements")
• 定期的に新バージョンをリリース
• feature flag
• エコシステム
• private API を拡張するようなプラグインも大事にしている
• 互換性を大事に。API 変更は deprecation warning を表示する
エコシステム
• 開発ツール: Ember CLI
• rails コマンドみたいなツール
• ジェネレータ、ビルド、テスト、などをサポート
• 拡張: Ember Addon
• Ember 版 gem みたい
• Ember CLI でインストールする
Ruby と Ember.js
• @wycats says: "optimized for Developer Happiness"
• Ruby / Rails と同じく、Ember.js もプログラムではなくプログラ
マーにフォーカス
• 実は @wycats 以外のコミッターも Ruby やってたひとが多い
• その昔、ビルドツール群は Ruby 製だった
• SproutCore は gem で配布されてた
• $ gem install sproutcore
実際に Ember.js でコードを
書いていても、Rails 開発で
感じる快適さを感じる
(※ あくまで個人の感想であり、効果効能を保証するものではあり
ません)
ここ最近のフロントエンド JavaScript
• ようやく JavaScript で本格的なアプリケーションを開発するた
めの土壌が整ってきた
• パターン
• ビルドツール
• JavaScript 自体の仕様
• まだまだ過渡期。これといった一強はない。
• お互いに影響を与えながら進化している(ように見える)
ここ最近のフロントエンド JavaScript
• 新陳代謝が活発
• 日々新しいライブラリが生まれ続けている
• Ember は今後の展望を公開している
• マイルストーンを設定して着実に進んでいる
• コミュニティの文化を選択基準に入れてみてもよいでのは
• 良し悪しではなく、好み。馴染めるか。
第2部
Ember.js とわたし
出会いから今に至るまで
たまたま Ember やってるチームに入った(2013.1)
2013 年当時の Ember
• 当時は Ember.js 1.0.0.pre4
• Breaking Change 真っ盛り
• 勉強がてらコードとドキュメントを読む
• 少しづつパッチを送るようになる
Before v1.0.0
• Ember 創世期
• 1週間に1回くらい Breaking Change
• ある日、クロスブラウザのサポートが大変という話を耳にする
• IE はあまりメンテされてなさそう
• IE6~8 対応とか始める
• 直しても数日で壊れるのでまた直す
• 意外とエッジケースの漏れが見つかったり
創造と破壊
• 大きな機能追加やリファクタリングの直後はだいたい IE で壊れ
ている
• IE 以外でもたまに壊れていることがある
ポイント
• 特殊な環境で動かしてみるとおかしなところを見つけやすい
• IE とか
• Sprockets(ExecJS) 経由とか
• 自然に使えるように…
• 先んじてハマる
• 直すチャンス
https://speakerdeck.com/a_matsuda/the-world-of-ruby
継続する
• いろいろ直していると、いつの間にか中のひとになっている
• ember-rails メンテナ
• Ember.js + Rails + ES6 にも挑戦
• なぜか Babel のメンバー(Ruby 方面担当)になっていたり
実際ソースコードに手を入れたり会話してみるとわかること
• 現状の課題
• これからやりたいこと
• どこまでできているか
フレームワークに依存しないトレンドみたいなものも得られる
モチベーション
• 自分の道具を本家につっこむ -> ember-middleman
• トレンドの移り変わりがよくわかる
• これから Ember 始めるひとが、バグを踏まない状態だと嬉しい
まとめ
• ライブラリの選択基準のひとつにコミュニティを含めてみても
よいのでは
• ちょっとだけでもコミュニティに関わってみると、得られるも
のも多いですよ
参考資料
• http://blog.yodersolutions.com/why-i-recommend-emberjs-over-
angularjs/
• https://speakerdeck.com/wycats/ember-dot-js-at-the-east-bay-
ruby-meetup
• http://shoptalkshow.com/episodes/147-tom-dale/
• http://wazanova.jp/items/1637
• https://frontsidethepodcast.simplecast.fm/16
• http://wazanova.jp/items/1639

More Related Content

What's hot

コンパイラ指向ReVIEW
コンパイラ指向ReVIEWコンパイラ指向ReVIEW
コンパイラ指向ReVIEW
Masahiro Wakame
 
「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺
Yusuke Wada
 
JavascriptでRubyの作り方
JavascriptでRubyの作り方JavascriptでRubyの作り方
JavascriptでRubyの作り方
Shuyo Nakatani
 

What's hot (20)

TypeScriptへの入口
TypeScriptへの入口TypeScriptへの入口
TypeScriptへの入口
 
Railsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えてRailsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えて
 
コンパイラ指向ReVIEW
コンパイラ指向ReVIEWコンパイラ指向ReVIEW
コンパイラ指向ReVIEW
 
Railsのフロントエンド開発を考える
Railsのフロントエンド開発を考えるRailsのフロントエンド開発を考える
Railsのフロントエンド開発を考える
 
svelte と tailwind で始めるフロントエンド開発
svelte と tailwind で始めるフロントエンド開発svelte と tailwind で始めるフロントエンド開発
svelte と tailwind で始めるフロントエンド開発
 
Node.js入門
Node.js入門Node.js入門
Node.js入門
 
クローズドソースから始めるオープンソース
クローズドソースから始めるオープンソースクローズドソースから始めるオープンソース
クローズドソースから始めるオープンソース
 
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
 
「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺
 
Hello, Node.js
Hello, Node.jsHello, Node.js
Hello, Node.js
 
async / await の話
async / await の話async / await の話
async / await の話
 
Sprocketsを捨てたい
Sprocketsを捨てたいSprocketsを捨てたい
Sprocketsを捨てたい
 
AngularJS2でつまづいたこと
AngularJS2でつまづいたことAngularJS2でつまづいたこと
AngularJS2でつまづいたこと
 
Nodeにしましょう
NodeにしましょうNodeにしましょう
Nodeにしましょう
 
Vagrantと網元で開発環境を作ってみよう
Vagrantと網元で開発環境を作ってみようVagrantと網元で開発環境を作ってみよう
Vagrantと網元で開発環境を作ってみよう
 
Node.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしようNode.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしよう
 
WindowsユーザのためのRails環境構築
WindowsユーザのためのRails環境構築WindowsユーザのためのRails環境構築
WindowsユーザのためのRails環境構築
 
Closure Compiler Updates for ES6
Closure Compiler Updates for ES6Closure Compiler Updates for ES6
Closure Compiler Updates for ES6
 
JavascriptでRubyの作り方
JavascriptでRubyの作り方JavascriptでRubyの作り方
JavascriptでRubyの作り方
 
kichijyojipm17-Riot20190301
kichijyojipm17-Riot20190301kichijyojipm17-Riot20190301
kichijyojipm17-Riot20190301
 

Viewers also liked

超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
mametter
 

Viewers also liked (20)

WebSocket For Web Rubyists
WebSocket For Web RubyistsWebSocket For Web Rubyists
WebSocket For Web Rubyists
 
Rubyで実はwritev(2) が使われているはなし
Rubyで実はwritev(2) が使われているはなしRubyで実はwritev(2) が使われているはなし
Rubyで実はwritev(2) が使われているはなし
 
SQL 脳から見た Ruby
SQL 脳から見た RubySQL 脳から見た Ruby
SQL 脳から見た Ruby
 
mruby で mackerel のプラグインを作るはなし
mruby で mackerel のプラグインを作るはなしmruby で mackerel のプラグインを作るはなし
mruby で mackerel のプラグインを作るはなし
 
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
 
gem の探し方
gem の探し方gem の探し方
gem の探し方
 
Security Advisories Checker on Travis/Circle CI
Security Advisories Checker on Travis/Circle CISecurity Advisories Checker on Travis/Circle CI
Security Advisories Checker on Travis/Circle CI
 
BigQueryのちょっとした話 #phpblt
BigQueryのちょっとした話 #phpbltBigQueryのちょっとした話 #phpblt
BigQueryのちょっとした話 #phpblt
 
Rails あるある
Rails あるあるRails あるある
Rails あるある
 
Composer並列化プラグイン #phpblt
Composer並列化プラグイン #phpblt Composer並列化プラグイン #phpblt
Composer並列化プラグイン #phpblt
 
Learning to forget continual prediction with lstm
Learning to forget continual prediction with lstmLearning to forget continual prediction with lstm
Learning to forget continual prediction with lstm
 
Developing the fastest HTTP/2 server
Developing the fastest HTTP/2 serverDeveloping the fastest HTTP/2 server
Developing the fastest HTTP/2 server
 
Tochigi07 cm
Tochigi07 cmTochigi07 cm
Tochigi07 cm
 
Re: WebServer BenchMarking
Re: WebServer BenchMarkingRe: WebServer BenchMarking
Re: WebServer BenchMarking
 
apachehereというPHPのBuiltin Serverっぽいやつをつくった
apachehereというPHPのBuiltin ServerっぽいやつをつくったapachehereというPHPのBuiltin Serverっぽいやつをつくった
apachehereというPHPのBuiltin Serverっぽいやつをつくった
 
PSR-1 と PSR-2 を 5分でざっくり理解する
PSR-1 と PSR-2 を5分でざっくり理解するPSR-1 と PSR-2 を5分でざっくり理解する
PSR-1 と PSR-2 を 5分でざっくり理解する
 
Php blt-vol2
Php blt-vol2Php blt-vol2
Php blt-vol2
 
What's new in Symfony3
What's new in Symfony3What's new in Symfony3
What's new in Symfony3
 
install PHP7 on CentOS7 by Ansible
install PHP7 on CentOS7 by Ansibleinstall PHP7 on CentOS7 by Ansible
install PHP7 on CentOS7 by Ansible
 
Ruby 2.4 Internals
Ruby 2.4 InternalsRuby 2.4 Internals
Ruby 2.4 Internals
 

Similar to Ember コミュニティとわたし

a-blogcsm な寺子屋 2 in Okazaki
a-blogcsm な寺子屋 2 in Okazakia-blogcsm な寺子屋 2 in Okazaki
a-blogcsm な寺子屋 2 in Okazaki
Etsushi Ishii
 
Rubyで作るtwitter風webアプリケーション
Rubyで作るtwitter風webアプリケーションRubyで作るtwitter風webアプリケーション
Rubyで作るtwitter風webアプリケーション
Naoto Hori
 
130427 kansai-emacs-github
130427 kansai-emacs-github130427 kansai-emacs-github
130427 kansai-emacs-github
Yuki Shibazaki
 
The Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in CorporationsThe Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in Corporations
Koichiro Ohba
 

Similar to Ember コミュニティとわたし (20)

a-blogcsm な寺子屋 2 in Okazaki
a-blogcsm な寺子屋 2 in Okazakia-blogcsm な寺子屋 2 in Okazaki
a-blogcsm な寺子屋 2 in Okazaki
 
Tech fun rails_workshop
Tech fun rails_workshopTech fun rails_workshop
Tech fun rails_workshop
 
Rubyで作るtwitter風webアプリケーション
Rubyで作るtwitter風webアプリケーションRubyで作るtwitter風webアプリケーション
Rubyで作るtwitter風webアプリケーション
 
130427 kansai-emacs-github
130427 kansai-emacs-github130427 kansai-emacs-github
130427 kansai-emacs-github
 
20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料
 
Yesod(at FPM2012)
Yesod(at FPM2012)Yesod(at FPM2012)
Yesod(at FPM2012)
 
Ppl
PplPpl
Ppl
 
個人開発 in フィリピン
個人開発 in フィリピン個人開発 in フィリピン
個人開発 in フィリピン
 
Chef+serverspec+werckerでインフラCIする話
Chef+serverspec+werckerでインフラCIする話Chef+serverspec+werckerでインフラCIする話
Chef+serverspec+werckerでインフラCIする話
 
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
 
Play jjug2012spring
Play jjug2012springPlay jjug2012spring
Play jjug2012spring
 
ブラウザだけで学ぶWebアプリ開発【デザイン編】
ブラウザだけで学ぶWebアプリ開発【デザイン編】ブラウザだけで学ぶWebアプリ開発【デザイン編】
ブラウザだけで学ぶWebアプリ開発【デザイン編】
 
Appcelerator TitaniumでSocket.io (1.x)
Appcelerator TitaniumでSocket.io (1.x)Appcelerator TitaniumでSocket.io (1.x)
Appcelerator TitaniumでSocket.io (1.x)
 
oFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer WorkoutoFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer Workout
 
The Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in CorporationsThe Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in Corporations
 
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント
 
Redmine Ansible
Redmine AnsibleRedmine Ansible
Redmine Ansible
 
ぼくのかんがえたさいきょうの Rails スタートダッシュ
ぼくのかんがえたさいきょうの Rails スタートダッシュぼくのかんがえたさいきょうの Rails スタートダッシュ
ぼくのかんがえたさいきょうの Rails スタートダッシュ
 
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけねGitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
 

More from Ryunosuke SATO

How to relaunch "sapporojs.org" ~Introduction to middleman~
How to relaunch "sapporojs.org" ~Introduction to middleman~How to relaunch "sapporojs.org" ~Introduction to middleman~
How to relaunch "sapporojs.org" ~Introduction to middleman~
Ryunosuke SATO
 

More from Ryunosuke SATO (13)

もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~
もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~
もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~
 
はじめる Ember.js!! ~ Getting started with ember.js ~
はじめる Ember.js!! ~ Getting started with ember.js ~はじめる Ember.js!! ~ Getting started with ember.js ~
はじめる Ember.js!! ~ Getting started with ember.js ~
 
How to relaunch "sapporojs.org" ~Introduction to middleman~
How to relaunch "sapporojs.org" ~Introduction to middleman~How to relaunch "sapporojs.org" ~Introduction to middleman~
How to relaunch "sapporojs.org" ~Introduction to middleman~
 
Introduction for Browser Side MVC
Introduction for Browser Side MVCIntroduction for Browser Side MVC
Introduction for Browser Side MVC
 
コミュニティのある風景
コミュニティのある風景コミュニティのある風景
コミュニティのある風景
 
Testable JavaScript
Testable JavaScriptTestable JavaScript
Testable JavaScript
 
Social coding をもっと楽しみたいあなたへ
Social coding をもっと楽しみたいあなたへSocial coding をもっと楽しみたいあなたへ
Social coding をもっと楽しみたいあなたへ
 
Clean Javascript
Clean JavascriptClean Javascript
Clean Javascript
 
Node.jsってどうなの?
Node.jsってどうなの?Node.jsってどうなの?
Node.jsってどうなの?
 
アジャイル的アプローチから見えてきたこと
アジャイル的アプローチから見えてきたことアジャイル的アプローチから見えてきたこと
アジャイル的アプローチから見えてきたこと
 
脱レガシー化計画
脱レガシー化計画脱レガシー化計画
脱レガシー化計画
 
Pusherとcanvasで作るリアルタイムグラフ
Pusherとcanvasで作るリアルタイムグラフPusherとcanvasで作るリアルタイムグラフ
Pusherとcanvasで作るリアルタイムグラフ
 
ServerSideJavaScript
ServerSideJavaScriptServerSideJavaScript
ServerSideJavaScript
 

Recently uploaded

Recently uploaded (7)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

Ember コミュニティとわたし