SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
(株)DTS

大西正太
Me
 大西正太
 (株)DTS
 SIer
 社員2700名
 創業40年強

 ITサービス事業本部
 ITインテグレーション事業部
 IT Platform担当
 クラウド活用を推進
Ruby(Rails)Programmer / Architect / PM
2005~
DTSとRuby
 Ruby System Integrator Gold取得

 Ruby Association評議員輩出企業
 2005年よりRuby on Railsを活用
Bizca
(Groupware)
スポーツリアルタイム
配信サイト
(on Heroku)
Heroku add-on
Bounscale
(SaaS:オートスケール)
この発表のあらすじ
 近年サービスの垂直立ち上げのご要望が

増えています
 ご要望に応えるために講じている3つの

方策を「EC決済サービス基盤」の事例を
交えご紹介します
 最後にそれらを今後どのように改善しよう

と考えているかをご紹介します
サービスの垂直立ち上げ
 多くのお客様が3ヶ月前後でのリリース要望

 でも開発期間の標準的な指標値からすると普通
にやってたら間に合わない

工数(人月)
1 2.15 *
5 2.15 *
10 2.15 *
30 2.15 *
60 2.15 *
100 2.15 *

計算式
(1^(1 / 3))
(5^(1 / 3))
(10^(1 / 3))
(30^(1 / 3))
(60^(1 / 3))
(100^(1 / 3))

開発期間(月)
2.15
3.68
4.63
6.68
8.42
9.98
どうすればいい?

③

①

②
①作る範囲を
減らす

②作る開発者を
柔軟に増やす

③作る速さを
上げる
具体的には・・・
①作る範囲を減らす

クラウド
コンピューティング

②作る開発者を柔軟
に増やす

ニアショア

③作る速さを上げる
プロジェクト概要
 お客様のグループ共通のECサイトでの決済

サービス基盤
 決済という意味ではエンタープライズ

 開発規模:
 数十人月(全体)
 開発期間:

 ファーストリ
リース 3ヵ月
作る範囲を減らす
クラウドの積極活用

 多数のシステム連携によりサービス実現
 顧客管理データベース
 オブジェクトストレージ
 決済代行システム

 基幹システム

…etc

 全てを一から構築・実装していた場合と比べ

て大幅な工数削減
作る開発者を柔軟に増やす
ニアショアを活用した分散開発
Git
Git

顧客
(東京)

Git
Git

対面
会議

チケット

DTS
(東京)

Git

ビデオ
会議

外注先
(地方)

チケット

質を落とさず最適な人数・スキルの
開発人員を全国からオンタイムに調達
作る速さを上げる
Ruby利用で高速開発 !

 具体的に何を開発するのか?
 クラウドのオーケストレーション
 開発対象固有の業務ロジック

クラウド

サービス固有の
業務ロジック

クラウド
オーケストレーション
Rubyでクラウドオーケストレーションはなぜ高速?
 Rubyの柔軟性でクラウド接続がシンプル記述
 クラウド連携はマッピングなど定型的な処理が大半
 Rubyのリフレクション機構でシンプルに記述できる
xxxxSession = XxxxSession.openSession(
USER_ID,
PASSWORD,
END_POINT);
List<Brand__c> objectList = new ArrayList<Brand__c>();
StringBuffer selectQuery = new StringBuffer();
selectQuery.append("SELECT ");
selectQuery.append("Id, ");
selectQuery.append("Name ");
selectQuery.append("FROM ");
selectQuery.append("Brand__c ");
selectQuery.append("where IsDeleted = false ");

client = Xxxx::Client.new
client.authenticate :token => "xxx", :instance_url => "xxx"
client.xxxx("Brand")
result = Brand.find_by_is_deleted(false)

1/6

QueryResult rs = xxxxSession.binding.query(selectQuery.toString());
boolean done = false;
if (rs.getSize() > 0){
while (!done) {
for (SObject so : rs.getRecords()) {
objectList.add((Brand__c)so);
}
if (rs.isDone()) {
done = true;
} else {
rs = xxxxSession.binding.queryMore(rs.getQueryLocator());
}
}
}
Rubyで業務ロジック開発はなぜ高速?(1)
 Rubyの柔軟性でDB接続がシンプル記述
 業務ロジックの大半、DBアクセスをシンプル記述
 Rubyのリフレクションをフルに生かしたRailsの力
package jp.kawakubo;
import
import
import
import
import

@Column(name = "NAMEKANA")
public String getNameKana() {
return nameKana;
}

java.io.Serializable;
javax.persistence.Column;
javax.persistence.Entity;
javax.persistence.Id;
javax.persistence.Table;

public void setNameKana(String nameKana) {
this.nameKana = nameKana;
}

@Entity
@Table(name = "MEIGARA")
public class Meigara implements Serializable {
private
private
private
private
private
private
private
private
private

@Column(name = "DOSU")
public int getDosu() {
return dosu;
}

int id = 0;
String name = "";
String nameKana = "";
int dosu = 0;
String koji = "";
String sweetPotatoName = "";
String manufacturer = "";
float volume = 0f;
int price = 0;

public void setDosu(int dosu) {
this.dosu = dosu;
}
@Column(name = "KOJI")
public String getKoji() {
return koji;
}

public Meigara() {
}
public Meigara(
int id,
String name,
String nameKana,
int dosu,
String koji,
String sweetPotatoName,
String manufacturer,
float volume,
int price) {
this.id = id;
this.name = name;
this.nameKana = nameKana;
this.dosu = dosu;
this.koji = koji;
this.sweetPotatoName = sweetPotatoName;
this.manufacturer = manufacturer;
this.volume = volume;
this.price = price;
}

public void setKoji(String koji) {
this.koji = koji;
}
@Column(name = "SWEETPOTATONAME")
public String getSweetPotatoName() {
return sweetPotatoName;
}

1/75

public void setSweetPotatoName(String
sweetPotatoName) {
this.sweetPotatoName = sweetPotatoName;
}
@Column(name = "MANUFACTURER")
public String getManufacturer() {
return manufacturer;
}

public void setManufacturer(String manufacturer) {
this.manufacturer = manufacturer;
}

@Id
@Column(name = "ID")
public int getId() {
return id;
}

@Column(name = "VOLUME")
public float getVolume() {
return volume;
}

public void setId(int id) {
this.id = id;
}

public void setVolume(float volume) {
this.volume = volume;
}

@Column(name = "NAME")
public String getName() {
return name;
}

@Column(name = "PRICE")
public int getPrice() {
return price;
}

public void setName(String name) {
this.name = name;
}

※JPAの例

class Meigara < ActiveRecord::Base
end

public void setPrice(int price) {
this.price = price;
}
}
Rubyで業務ロジック開発はなぜ高速?(2)
 基礎的なデータ組立処理がシンプル記述
 業務ロジックは配列・文字・数値などの組立が多い
 Rubyのブロック機構でシンプルに記述できる
例)あるグループに所属しているユーザの名前の入った配列を取得
List<String> names = new ArrayList<String>();
if(group != null){
List<User> users = group.getUsers();
for (User user : users) {
names.add(user.getName());
}
}

names = group.try(:users).map(&:name)

1/7
更にRubyの開発が早い理由
 ソフトウェア開発は大半がうまく動かない問題

の調査をしている
 ホビーでRubyをやる人が世界中にたくさん!
 まつもとさんの文化

 ソーシャルコーディングサービスなどに有用な
情報が多数ある
Result
 Rubyを含めたこれらの対応のおかげで

 無事スケジュール通り
 予算通り
 期待の品質で
 サービスインできました
クラウド活用の改善
Keep

クラウドの利用は今後も継続したい
・大幅に工数削減できている

Problem 性能の改善が必要
・一般にSaaS連携箇所は性能が出づらい
・毎回個別にキャッシングなどの対応
→より汎用的な対応が必要

Try

他レイヤのクラウド活用
・今回はSaaSの利用
・DTSではIaaS/PaaSの実績もあり
・より積極的に提案していきたい
ニアショア活用の改善
Keep

ニアショアは今後も継続したい
・現実的な費用でサービスの垂直立ち上げ可能

Problem ニアショア先がなかなか見つからない
・お声掛けください

Try

クラウドソーシングの活用
・更なる分散開発を追求していきたい
・SIerとしてはセキュリティなど課題がある
・携帯端末のテストなど適用内容を見極めたい
Ruby活用の改善
Keep

Rubyの利用
・他言語に比べて今でもNo.1の開発スピード
・Web開発のトレンドはRailsが牽引

Problem 性能が劣る
・Javaやnode.jsに大きく劣る

Try

他言語のハイブリッド活用
・Ruby : 作るのが速いので基本はRuby
・node.js: I/Oが多い、WebSocketなど
※コードは読みづらくなりがち
・Java : 計算速度が必要な場合など
※作るのに時間がかかる
Ruby開発はお任せください

お問い合わせ:
ITサービス本部ITインテグレーション事業部ITプラットフォーム担当
大西正太 s-onishi@dts.co.jp

Mais conteúdo relacionado

Destaque

徹底解説 ネットショップの決済の全て
徹底解説 ネットショップの決済の全て徹底解説 ネットショップの決済の全て
徹底解説 ネットショップの決済の全てec-campus
 
(初学者向け)仮想化ツール紹介
(初学者向け)仮想化ツール紹介(初学者向け)仮想化ツール紹介
(初学者向け)仮想化ツール紹介祥平 近藤
 
1)デザインの機能複合体の6要素
1)デザインの機能複合体の6要素1)デザインの機能複合体の6要素
1)デザインの機能複合体の6要素Rikie Ishii
 
パブリック・クラウド基盤でVirtual on virtual ってどうよ
パブリック・クラウド基盤でVirtual on virtual ってどうよパブリック・クラウド基盤でVirtual on virtual ってどうよ
パブリック・クラウド基盤でVirtual on virtual ってどうよYukio Saito
 
Iccw2010 sdk4 air
Iccw2010 sdk4 airIccw2010 sdk4 air
Iccw2010 sdk4 airIsao Soma
 
Wizpra技術説明
Wizpra技術説明Wizpra技術説明
Wizpra技術説明Yuji Mise
 
個人番号カードと公的個人認証の民間利用について - OpenID Summit 2015
個人番号カードと公的個人認証の民間利用について - OpenID Summit 2015個人番号カードと公的個人認証の民間利用について - OpenID Summit 2015
個人番号カードと公的個人認証の民間利用について - OpenID Summit 2015OpenID Foundation Japan
 

Destaque (14)

15 memory card
15 memory card15 memory card
15 memory card
 
徹底解説 ネットショップの決済の全て
徹底解説 ネットショップの決済の全て徹底解説 ネットショップの決済の全て
徹底解説 ネットショップの決済の全て
 
Creditcard
CreditcardCreditcard
Creditcard
 
2e64ed78b0951c70ef8bd10cc818dbc6[1]
2e64ed78b0951c70ef8bd10cc818dbc6[1]2e64ed78b0951c70ef8bd10cc818dbc6[1]
2e64ed78b0951c70ef8bd10cc818dbc6[1]
 
(初学者向け)仮想化ツール紹介
(初学者向け)仮想化ツール紹介(初学者向け)仮想化ツール紹介
(初学者向け)仮想化ツール紹介
 
Azure ml発表資料
Azure ml発表資料Azure ml発表資料
Azure ml発表資料
 
1)デザインの機能複合体の6要素
1)デザインの機能複合体の6要素1)デザインの機能複合体の6要素
1)デザインの機能複合体の6要素
 
Comunicar 3.0
Comunicar 3.0Comunicar 3.0
Comunicar 3.0
 
White paper querydata_goldenweek2015_20150414
White paper querydata_goldenweek2015_20150414White paper querydata_goldenweek2015_20150414
White paper querydata_goldenweek2015_20150414
 
パブリック・クラウド基盤でVirtual on virtual ってどうよ
パブリック・クラウド基盤でVirtual on virtual ってどうよパブリック・クラウド基盤でVirtual on virtual ってどうよ
パブリック・クラウド基盤でVirtual on virtual ってどうよ
 
Iccw2010 sdk4 air
Iccw2010 sdk4 airIccw2010 sdk4 air
Iccw2010 sdk4 air
 
Virtual nodeについて
Virtual nodeについてVirtual nodeについて
Virtual nodeについて
 
Wizpra技術説明
Wizpra技術説明Wizpra技術説明
Wizpra技術説明
 
個人番号カードと公的個人認証の民間利用について - OpenID Summit 2015
個人番号カードと公的個人認証の民間利用について - OpenID Summit 2015個人番号カードと公的個人認証の民間利用について - OpenID Summit 2015
個人番号カードと公的個人認証の民間利用について - OpenID Summit 2015
 

Semelhante a Rubyとクラウドサービスで実現したEC決済共通基盤@Ruby Association ビジネスセミナー201401

サーバーサイドでの非同期処理で色々やったよ
サーバーサイドでの非同期処理で色々やったよサーバーサイドでの非同期処理で色々やったよ
サーバーサイドでの非同期処理で色々やったよkoji lin
 
Azure Search クックブック
Azure Search クックブックAzure Search クックブック
Azure Search クックブックKazuyuki Miyake
 
OSSから学ぶSwift実践テクニック
OSSから学ぶSwift実践テクニックOSSから学ぶSwift実践テクニック
OSSから学ぶSwift実践テクニック庸介 高橋
 
Roslyn による Visual Studio のアドイン
Roslyn による Visual Studio のアドインRoslyn による Visual Studio のアドイン
Roslyn による Visual Studio のアドインFujio Kojima
 
勉強会force#4 Chatter Integration
勉強会force#4 Chatter Integration勉強会force#4 Chatter Integration
勉強会force#4 Chatter IntegrationKazuki Nakajima
 
Spring data-rest-and-spring-cloud-contract
Spring data-rest-and-spring-cloud-contractSpring data-rest-and-spring-cloud-contract
Spring data-rest-and-spring-cloud-contractTakeshi Ogawa
 
Lightning Experience 時代のプロセス開発
Lightning Experience 時代のプロセス開発Lightning Experience 時代のプロセス開発
Lightning Experience 時代のプロセス開発Salesforce Developers Japan
 
D3.js と SVG によるデータビジュアライゼーション
D3.js と SVG によるデータビジュアライゼーションD3.js と SVG によるデータビジュアライゼーション
D3.js と SVG によるデータビジュアライゼーションKohei Kadowaki
 
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組みモバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組みMorioImai
 
初めての Data api cms どうでしょう - 大阪夏の陣
初めての Data api   cms どうでしょう - 大阪夏の陣初めての Data api   cms どうでしょう - 大阪夏の陣
初めての Data api cms どうでしょう - 大阪夏の陣Yuji Takayama
 
Quarkus による超音速な Spring アプリケーション開発
Quarkus による超音速な Spring アプリケーション開発Quarkus による超音速な Spring アプリケーション開発
Quarkus による超音速な Spring アプリケーション開発Chihiro Ito
 
初めての Data API CMS どうでしょう - 仙台編 -
初めての Data API   CMS どうでしょう - 仙台編 -初めての Data API   CMS どうでしょう - 仙台編 -
初めての Data API CMS どうでしょう - 仙台編 -Yuji Takayama
 
AWS SDK for Smalltalk
AWS SDK for SmalltalkAWS SDK for Smalltalk
AWS SDK for SmalltalkSho Yoshida
 
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyotoGo言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyotoShoot Morii
 
Treasure data demo.0517
Treasure data demo.0517Treasure data demo.0517
Treasure data demo.0517BigData Sios
 
Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界Yuji Takayama
 
PostgreSQL 10 新機能 @オープンセミナー香川 2017
PostgreSQL 10 新機能 @オープンセミナー香川 2017PostgreSQL 10 新機能 @オープンセミナー香川 2017
PostgreSQL 10 新機能 @オープンセミナー香川 2017Shigeru Hanada
 
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行gree_tech
 
Data processing at spotify using scio
Data processing at spotify using scioData processing at spotify using scio
Data processing at spotify using scioJulien Tournay
 

Semelhante a Rubyとクラウドサービスで実現したEC決済共通基盤@Ruby Association ビジネスセミナー201401 (20)

サーバーサイドでの非同期処理で色々やったよ
サーバーサイドでの非同期処理で色々やったよサーバーサイドでの非同期処理で色々やったよ
サーバーサイドでの非同期処理で色々やったよ
 
Azure Search クックブック
Azure Search クックブックAzure Search クックブック
Azure Search クックブック
 
OSSから学ぶSwift実践テクニック
OSSから学ぶSwift実践テクニックOSSから学ぶSwift実践テクニック
OSSから学ぶSwift実践テクニック
 
Roslyn による Visual Studio のアドイン
Roslyn による Visual Studio のアドインRoslyn による Visual Studio のアドイン
Roslyn による Visual Studio のアドイン
 
勉強会force#4 Chatter Integration
勉強会force#4 Chatter Integration勉強会force#4 Chatter Integration
勉強会force#4 Chatter Integration
 
Cubby 2008-09-06
Cubby 2008-09-06Cubby 2008-09-06
Cubby 2008-09-06
 
Spring data-rest-and-spring-cloud-contract
Spring data-rest-and-spring-cloud-contractSpring data-rest-and-spring-cloud-contract
Spring data-rest-and-spring-cloud-contract
 
Lightning Experience 時代のプロセス開発
Lightning Experience 時代のプロセス開発Lightning Experience 時代のプロセス開発
Lightning Experience 時代のプロセス開発
 
D3.js と SVG によるデータビジュアライゼーション
D3.js と SVG によるデータビジュアライゼーションD3.js と SVG によるデータビジュアライゼーション
D3.js と SVG によるデータビジュアライゼーション
 
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組みモバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
 
初めての Data api cms どうでしょう - 大阪夏の陣
初めての Data api   cms どうでしょう - 大阪夏の陣初めての Data api   cms どうでしょう - 大阪夏の陣
初めての Data api cms どうでしょう - 大阪夏の陣
 
Quarkus による超音速な Spring アプリケーション開発
Quarkus による超音速な Spring アプリケーション開発Quarkus による超音速な Spring アプリケーション開発
Quarkus による超音速な Spring アプリケーション開発
 
初めての Data API CMS どうでしょう - 仙台編 -
初めての Data API   CMS どうでしょう - 仙台編 -初めての Data API   CMS どうでしょう - 仙台編 -
初めての Data API CMS どうでしょう - 仙台編 -
 
AWS SDK for Smalltalk
AWS SDK for SmalltalkAWS SDK for Smalltalk
AWS SDK for Smalltalk
 
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyotoGo言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
 
Treasure data demo.0517
Treasure data demo.0517Treasure data demo.0517
Treasure data demo.0517
 
Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界
 
PostgreSQL 10 新機能 @オープンセミナー香川 2017
PostgreSQL 10 新機能 @オープンセミナー香川 2017PostgreSQL 10 新機能 @オープンセミナー香川 2017
PostgreSQL 10 新機能 @オープンセミナー香川 2017
 
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
 
Data processing at spotify using scio
Data processing at spotify using scioData processing at spotify using scio
Data processing at spotify using scio
 

Último

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 

Último (7)

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 

Rubyとクラウドサービスで実現したEC決済共通基盤@Ruby Association ビジネスセミナー201401