SlideShare a Scribd company logo
1 of 29
Download to read offline
SCALA
@
SMARTNEWS
高パフォーマンス広告システムを3ヶ月で作った話	

@taketon_
自己紹介
• @taketon_
• 脳科学の研究していました
• 型安全とビールが好きです
SmartNews
• ニュースアプリ
• 最近1000万DL達成
地球くん
Scala@SmartNews_20150221
広告はじめました
• 2014年12月より広告配信開始
• コンテンツとしての広告 を目指しております
2014年8月
• 12月のローンチに向けて、チーム召集
必要だったもの
• 速いアドサーバー
• 最適化機能を持ったオークションシステム
• 代理店からの入稿を助ける管理画面
• 様々な画像サイズに対応するクライアント
動画広告サーバー
• 大体2ヶ月位
Scala@SmartNews_20150221
Finagle
• 動画広告の配信サーバーに使用
• 現在 最高2000qpsに対して avg. 20ms
Finagle
• Twitter社製OSS-RPCフレームワーク
• Akkaと並ぶScala製Future系ライブラリ
• Nettyをラップ
• "Server as a function"
選んだ理由
• サーバーが簡単に作れる
• Nettyベースでパフォーマンス言うことなし
• Futureによる非同期処理ハンドリング
• thriftによるIDLでモデル定義
• twitter-server, Tracerによる監視
• 自分が慣れてた(爆
Negative Points
• 更新が遅い
• 先日ようやく2.11対応された
• (finagle-redisはまだ…)
• twitter.util.Futureとscala.concurrent.Futureは挙動が違う
• ドキュメント少なめ
• NewRelicの値がとれない(代わりにTracerを使用する)
処理の流れ
• 型はドキュメント
• IO処理が走る部分をFutureとして返す
• 基本的には
• Request -> JSON parse -> Data load ->
Campaign Filtering -> Response
Server as a function
• ServerはReq受け取ってRepを返すfunction
!
class Service[-Req, +Rep] extends (Req => Future[Rep])
Ad Service
• Nettyが立ち上がり`:port`でListeningServerが待
機
!
class AdService extends Service[Request, Response] {
override def apply(request: Request): Future[Response] = {
// hogehoge
}
}
val server = Http.serve(":port", new AdService())
Await.result(server)
* 上記コードはnettyToFinagleフィルタを入れる必要あり
JSON Parse
• Jackson Streaming APIを使用
• AdRequestは.thriftファイルに定義
• case classにしなくてもあまり困らない
!
trait JsonParser {
def read(request: Request):Option[AdRequest]
}
Data Load
• IO発生で重い処理が走る可能性があることを

Futureで示している
• CampaignContextはvar
!
trait ContextLoader {
def load(): Future[CampaignContext]
}
Data Load
• キャンペーンマスター情報はMySQLから非同期でロード
• その他実績値と合わせてConcurrentHashMapに格納
• ConcurrentHashMapのAtomicReferenceをCacheとし
てobjectに保持
!
trait ContextLoader {
def load(): Future[CampaignContext]
}
Campaign Filtering
• Contextが保持するcampaignからrequest情報に
従ってフィルタリング
!
trait CampaignFilter {
def filter(
request: AdRequest,
ctx: CampaignContext
): Option[AdResponse]
}
Future Chain
• FutureとFutureを逐次的につなげる
• コールバックを登録することに相当
• 前の処理の結果を受け取り、新しいFutureを生成
!
def flatMap[B](f: A => Future[B]): Future[B]
Future Chain
!
def apply(request: Request): Future[Response] = {
val adReqOpt: Option[AdRequest] = JSONParser.read(request)
val fAdResOpt: Future[Option[AdResponse]] = adReqOpt.map { adReq =>
val fCtx: Future[CampaignContext] = ContextLoader.load()
fCtx.map { ctx =>
CampaignFilter.filter(adReq, ctx)
}
}.getOrElse {
Future.value(None)
}
!
Future Chain
!
fAdResOpt.flatMap { adResOpt =>
adResOpt.map { adRes =>
val fSessionKeyOpt = RedisService.getKey()
fSessionKeyOpt.flatMap { sessionKeyOpt =>
sessionKeyOpt.map { sessionKey =>
Future.value(mkResponse(adRes, sessionKey))
}.getOrElse {
Future.value(Response(NO_CONTENT))
}
}
}.getOrElse {
Future.value(Response(NO_CONTENT))
}
}
}
Filter
• filterでビジネスロジックと切り離した形でServer
の振る舞いを書く
class HttpTimeoutFilter (
val timeOutMs: Int
) extends TimeoutFilter[Request, Response](
timeOutMs.milliseconds,
new GlobalRequestTimeoutException(timeOutMs.milliseconds),
DefaultTimer.twitter){
}
!
Http.serve(":port", new HttpTimeoutFilter(100) andThen AdService)
!
Routing
val muxer = new HttpMuxer()
.withHandler("/ad", new AdService())
!
val server = Http.server(":port", muxer)
Await.result(server)
パフォーマンスTips
• キャンペーンの数が多くなければ、

CPU-boundにはならない
• IO-boundな処理をFutureで包む
パフォーマンスTips
• 基本的なFutureやOptionのインスタンス生成コス
トは気にならない
• Listで引き回さず、Iteratorで処理を書き、最後に
toList
• mutable.ArrayBufferで組み立ててtoList
• Scalaにおける細かい最適化のプラクティス
まとめ
• Future使うと楽
• 重そうなところはmutable
• でも、過度にチューニングする必要はない
• (́-`).。oO(Finagle、流行るといいな)

More Related Content

What's hot

JAWS-UG アーキテクチャ専門支部(ハイブリッド分科会) #9 EC2 Run Commnadのいいところ
JAWS-UG アーキテクチャ専門支部(ハイブリッド分科会) #9 EC2 Run CommnadのいいところJAWS-UG アーキテクチャ専門支部(ハイブリッド分科会) #9 EC2 Run Commnadのいいところ
JAWS-UG アーキテクチャ専門支部(ハイブリッド分科会) #9 EC2 Run CommnadのいいところNobuhiro Nakayama
 
JAWS-UG CLI専門支部 #49 Redshift入門
JAWS-UG CLI専門支部 #49 Redshift入門JAWS-UG CLI専門支部 #49 Redshift入門
JAWS-UG CLI専門支部 #49 Redshift入門Nobuhiro Nakayama
 
JAWS-UG Hybrid #1 Code Commitに光をあててみた
JAWS-UG Hybrid #1 Code Commitに光をあててみたJAWS-UG Hybrid #1 Code Commitに光をあててみた
JAWS-UG Hybrid #1 Code Commitに光をあててみたNobuhiro Nakayama
 
IoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレスIoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレスMasahiro NAKAYAMA
 
JAWS-UG CLI専門支部 #74 Amazon Kinesis Firehose 入門
JAWS-UG CLI専門支部 #74 Amazon Kinesis Firehose 入門JAWS-UG CLI専門支部 #74 Amazon Kinesis Firehose 入門
JAWS-UG CLI専門支部 #74 Amazon Kinesis Firehose 入門Nobuhiro Nakayama
 
20131210 classmethod re:Growth session04
20131210 classmethod re:Growth session0420131210 classmethod re:Growth session04
20131210 classmethod re:Growth session04Kazuki Ueki
 
JAZUG TOKYO NIGHT 2019-01 AADでユーザ管理しよう
JAZUG TOKYO NIGHT 2019-01 AADでユーザ管理しようJAZUG TOKYO NIGHT 2019-01 AADでユーザ管理しよう
JAZUG TOKYO NIGHT 2019-01 AADでユーザ管理しようTsubasa Yoshino
 
サーバレス × AWS SAM × DRにおけるTIPS
サーバレス × AWS SAM × DRにおけるTIPSサーバレス × AWS SAM × DRにおけるTIPS
サーバレス × AWS SAM × DRにおけるTIPS桂一 中山
 
雑談会議 Azure AD B2C 第一回
雑談会議 Azure AD B2C 第一回雑談会議 Azure AD B2C 第一回
雑談会議 Azure AD B2C 第一回Tsubasa Yoshino
 
イマドキのサイト構築で成功につながるヒント
イマドキのサイト構築で成功につながるヒントイマドキのサイト構築で成功につながるヒント
イマドキのサイト構築で成功につながるヒントTaketoshi Yagishita
 
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?Kazumi IWANAGA
 
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築ryosuke matsumura
 
Ignite 2021秋 recap - 開発者向け新機能紹介
Ignite 2021秋 recap - 開発者向け新機能紹介Ignite 2021秋 recap - 開発者向け新機能紹介
Ignite 2021秋 recap - 開発者向け新機能紹介Kazushi Kamegawa
 
Power Automate with kintone
Power Automate with kintonePower Automate with kintone
Power Automate with kintoneTsukasa Kato
 
JAWS-UG CLI専門支部 #81 EC2 Systems Manager 入門
JAWS-UG CLI専門支部 #81 EC2 Systems Manager 入門JAWS-UG CLI専門支部 #81 EC2 Systems Manager 入門
JAWS-UG CLI専門支部 #81 EC2 Systems Manager 入門Nobuhiro Nakayama
 
詳説 Data api mtddc 拡張版 v3対応
詳説 Data api mtddc 拡張版   v3対応詳説 Data api mtddc 拡張版   v3対応
詳説 Data api mtddc 拡張版 v3対応Yuji Takayama
 

What's hot (20)

JAWS-UG 情シス支部 #3
JAWS-UG 情シス支部 #3JAWS-UG 情シス支部 #3
JAWS-UG 情シス支部 #3
 
JAWS-UG アーキテクチャ専門支部(ハイブリッド分科会) #9 EC2 Run Commnadのいいところ
JAWS-UG アーキテクチャ専門支部(ハイブリッド分科会) #9 EC2 Run CommnadのいいところJAWS-UG アーキテクチャ専門支部(ハイブリッド分科会) #9 EC2 Run Commnadのいいところ
JAWS-UG アーキテクチャ専門支部(ハイブリッド分科会) #9 EC2 Run Commnadのいいところ
 
JAWS-UG CLI専門支部 #49 Redshift入門
JAWS-UG CLI専門支部 #49 Redshift入門JAWS-UG CLI専門支部 #49 Redshift入門
JAWS-UG CLI専門支部 #49 Redshift入門
 
JAWS-UG Hybrid #1 Code Commitに光をあててみた
JAWS-UG Hybrid #1 Code Commitに光をあててみたJAWS-UG Hybrid #1 Code Commitに光をあててみた
JAWS-UG Hybrid #1 Code Commitに光をあててみた
 
IoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレスIoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレス
 
JAWS-UG CLI専門支部 #74 Amazon Kinesis Firehose 入門
JAWS-UG CLI専門支部 #74 Amazon Kinesis Firehose 入門JAWS-UG CLI専門支部 #74 Amazon Kinesis Firehose 入門
JAWS-UG CLI専門支部 #74 Amazon Kinesis Firehose 入門
 
AADのお話第一回
AADのお話第一回AADのお話第一回
AADのお話第一回
 
20131210 classmethod re:Growth session04
20131210 classmethod re:Growth session0420131210 classmethod re:Growth session04
20131210 classmethod re:Growth session04
 
JAZUG TOKYO NIGHT 2019-01 AADでユーザ管理しよう
JAZUG TOKYO NIGHT 2019-01 AADでユーザ管理しようJAZUG TOKYO NIGHT 2019-01 AADでユーザ管理しよう
JAZUG TOKYO NIGHT 2019-01 AADでユーザ管理しよう
 
サーバレス × AWS SAM × DRにおけるTIPS
サーバレス × AWS SAM × DRにおけるTIPSサーバレス × AWS SAM × DRにおけるTIPS
サーバレス × AWS SAM × DRにおけるTIPS
 
Microservices serverless jawsug
Microservices serverless jawsugMicroservices serverless jawsug
Microservices serverless jawsug
 
雑談会議 Azure AD B2C 第一回
雑談会議 Azure AD B2C 第一回雑談会議 Azure AD B2C 第一回
雑談会議 Azure AD B2C 第一回
 
イマドキのサイト構築で成功につながるヒント
イマドキのサイト構築で成功につながるヒントイマドキのサイト構築で成功につながるヒント
イマドキのサイト構築で成功につながるヒント
 
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
 
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築
 
Ignite 2021秋 recap - 開発者向け新機能紹介
Ignite 2021秋 recap - 開発者向け新機能紹介Ignite 2021秋 recap - 開発者向け新機能紹介
Ignite 2021秋 recap - 開発者向け新機能紹介
 
Power Automate with kintone
Power Automate with kintonePower Automate with kintone
Power Automate with kintone
 
JAWS-UG CLI専門支部 #81 EC2 Systems Manager 入門
JAWS-UG CLI専門支部 #81 EC2 Systems Manager 入門JAWS-UG CLI専門支部 #81 EC2 Systems Manager 入門
JAWS-UG CLI専門支部 #81 EC2 Systems Manager 入門
 
【IVS CTO Night & Day】DevOps on AWS 2017
【IVS CTO Night & Day】DevOps on AWS 2017【IVS CTO Night & Day】DevOps on AWS 2017
【IVS CTO Night & Day】DevOps on AWS 2017
 
詳説 Data api mtddc 拡張版 v3対応
詳説 Data api mtddc 拡張版   v3対応詳説 Data api mtddc 拡張版   v3対応
詳説 Data api mtddc 拡張版 v3対応
 

Similar to Scala@SmartNews_20150221

Ad Tech on AWS - IVS CTO Night and Day Spring 2016
Ad Tech on AWS - IVS CTO Night and Day Spring 2016Ad Tech on AWS - IVS CTO Night and Day Spring 2016
Ad Tech on AWS - IVS CTO Night and Day Spring 2016Eiji Shinohara
 
Tim casestudy 2013 01
Tim casestudy 2013 01Tim casestudy 2013 01
Tim casestudy 2013 01Arai Ran
 
Google for Mobile: Google スケールで構築する! ゲームインフラと分析環境 - 橋口 剛
Google for Mobile:  Google スケールで構築する! ゲームインフラと分析環境 - 橋口 剛Google for Mobile:  Google スケールで構築する! ゲームインフラと分析環境 - 橋口 剛
Google for Mobile: Google スケールで構築する! ゲームインフラと分析環境 - 橋口 剛Google Cloud Platform - Japan
 
SmartNews TechNight Vol.5 : SmartNews Ads の配信最適化の仕組みはどうなってるの? (エンジニア / SmartN...
SmartNews TechNight Vol.5 : SmartNews Ads の配信最適化の仕組みはどうなってるの? (エンジニア / SmartN...SmartNews TechNight Vol.5 : SmartNews Ads の配信最適化の仕組みはどうなってるの? (エンジニア / SmartN...
SmartNews TechNight Vol.5 : SmartNews Ads の配信最適化の仕組みはどうなってるの? (エンジニア / SmartN...SmartNews, Inc.
 
20151212 わかやまITカーニバル
20151212 わかやまITカーニバル20151212 わかやまITカーニバル
20151212 わかやまITカーニバルToshiyuki Konparu
 
Aws seminar-tokyo dan-jp-final-publish
Aws seminar-tokyo dan-jp-final-publishAws seminar-tokyo dan-jp-final-publish
Aws seminar-tokyo dan-jp-final-publishawsadovantageseminar
 
SmartNews Ads System - AWS Summit Tokyo 2015
SmartNews Ads System - AWS Summit Tokyo 2015SmartNews Ads System - AWS Summit Tokyo 2015
SmartNews Ads System - AWS Summit Tokyo 2015SmartNews, Inc.
 
【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門
【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門
【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門Developers Summit
 
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack HinemosソリューションHinemos
 
7.9 elasticstackandcloudtechnicalenablement excitingnewfeatures-jpn0827
7.9 elasticstackandcloudtechnicalenablement excitingnewfeatures-jpn08277.9 elasticstackandcloudtechnicalenablement excitingnewfeatures-jpn0827
7.9 elasticstackandcloudtechnicalenablement excitingnewfeatures-jpn0827Shotaro Suzuki
 
「納品のない受託開発」にみるソフトウェア受託開発の未来
「納品のない受託開発」にみるソフトウェア受託開発の未来「納品のない受託開発」にみるソフトウェア受託開発の未来
「納品のない受託開発」にみるソフトウェア受託開発の未来Yoshihito Kuranuki
 
情報爆発シンポジウム infoplosion
情報爆発シンポジウム infoplosion情報爆発シンポジウム infoplosion
情報爆発シンポジウム infoplosionRakuten Group, Inc.
 
Building modernapplicationwithelasiccloud
Building modernapplicationwithelasiccloudBuilding modernapplicationwithelasiccloud
Building modernapplicationwithelasiccloudShotaro Suzuki
 
データベースマーケティングサービス概要
データベースマーケティングサービス概要データベースマーケティングサービス概要
データベースマーケティングサービス概要株式会社ヴィクシア
 
Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...
Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...
Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...Shotaro Suzuki
 
サーバーレス時代の システム設計ワークショップ
サーバーレス時代の システム設計ワークショップサーバーレス時代の システム設計ワークショップ
サーバーレス時代の システム設計ワークショップMasahiro NAKAYAMA
 
IoTデザインパターン 2015 JAWS沖縄
IoTデザインパターン 2015 JAWS沖縄IoTデザインパターン 2015 JAWS沖縄
IoTデザインパターン 2015 JAWS沖縄Toshiaki Enami
 

Similar to Scala@SmartNews_20150221 (20)

Ad Tech on AWS - IVS CTO Night and Day Spring 2016
Ad Tech on AWS - IVS CTO Night and Day Spring 2016Ad Tech on AWS - IVS CTO Night and Day Spring 2016
Ad Tech on AWS - IVS CTO Night and Day Spring 2016
 
Tim casestudy 2013 01
Tim casestudy 2013 01Tim casestudy 2013 01
Tim casestudy 2013 01
 
Google for Mobile: Google スケールで構築する! ゲームインフラと分析環境 - 橋口 剛
Google for Mobile:  Google スケールで構築する! ゲームインフラと分析環境 - 橋口 剛Google for Mobile:  Google スケールで構築する! ゲームインフラと分析環境 - 橋口 剛
Google for Mobile: Google スケールで構築する! ゲームインフラと分析環境 - 橋口 剛
 
面白いは正義
面白いは正義面白いは正義
面白いは正義
 
SmartNews TechNight Vol.5 : SmartNews Ads の配信最適化の仕組みはどうなってるの? (エンジニア / SmartN...
SmartNews TechNight Vol.5 : SmartNews Ads の配信最適化の仕組みはどうなってるの? (エンジニア / SmartN...SmartNews TechNight Vol.5 : SmartNews Ads の配信最適化の仕組みはどうなってるの? (エンジニア / SmartN...
SmartNews TechNight Vol.5 : SmartNews Ads の配信最適化の仕組みはどうなってるの? (エンジニア / SmartN...
 
20151212 わかやまITカーニバル
20151212 わかやまITカーニバル20151212 わかやまITカーニバル
20151212 わかやまITカーニバル
 
Aws seminar-tokyo dan-jp-final-publish
Aws seminar-tokyo dan-jp-final-publishAws seminar-tokyo dan-jp-final-publish
Aws seminar-tokyo dan-jp-final-publish
 
Aws dan jp-final-publish
Aws dan jp-final-publishAws dan jp-final-publish
Aws dan jp-final-publish
 
SmartNews Ads System - AWS Summit Tokyo 2015
SmartNews Ads System - AWS Summit Tokyo 2015SmartNews Ads System - AWS Summit Tokyo 2015
SmartNews Ads System - AWS Summit Tokyo 2015
 
【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門
【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門
【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門
 
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション
 
7.9 elasticstackandcloudtechnicalenablement excitingnewfeatures-jpn0827
7.9 elasticstackandcloudtechnicalenablement excitingnewfeatures-jpn08277.9 elasticstackandcloudtechnicalenablement excitingnewfeatures-jpn0827
7.9 elasticstackandcloudtechnicalenablement excitingnewfeatures-jpn0827
 
「納品のない受託開発」にみるソフトウェア受託開発の未来
「納品のない受託開発」にみるソフトウェア受託開発の未来「納品のない受託開発」にみるソフトウェア受託開発の未来
「納品のない受託開発」にみるソフトウェア受託開発の未来
 
情報爆発シンポジウム infoplosion
情報爆発シンポジウム infoplosion情報爆発シンポジウム infoplosion
情報爆発シンポジウム infoplosion
 
Building modernapplicationwithelasiccloud
Building modernapplicationwithelasiccloudBuilding modernapplicationwithelasiccloud
Building modernapplicationwithelasiccloud
 
データベースマーケティングサービス概要
データベースマーケティングサービス概要データベースマーケティングサービス概要
データベースマーケティングサービス概要
 
Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...
Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...
Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...
 
サーバーレス時代の システム設計ワークショップ
サーバーレス時代の システム設計ワークショップサーバーレス時代の システム設計ワークショップ
サーバーレス時代の システム設計ワークショップ
 
概説 Data API v3
概説 Data API v3概説 Data API v3
概説 Data API v3
 
IoTデザインパターン 2015 JAWS沖縄
IoTデザインパターン 2015 JAWS沖縄IoTデザインパターン 2015 JAWS沖縄
IoTデザインパターン 2015 JAWS沖縄
 

More from Shigekazu Takei

More from Shigekazu Takei (7)

Scala(finagle)@SmartNews_English
Scala(finagle)@SmartNews_EnglishScala(finagle)@SmartNews_English
Scala(finagle)@SmartNews_English
 
Startprintf_2013May18
Startprintf_2013May18Startprintf_2013May18
Startprintf_2013May18
 
Pfds 9 2_2
Pfds 9 2_2Pfds 9 2_2
Pfds 9 2_2
 
Pfds 5 2+6_4_2
Pfds 5 2+6_4_2Pfds 5 2+6_4_2
Pfds 5 2+6_4_2
 
Ids ips
Ids ipsIds ips
Ids ips
 
Stanford ml neuralnetwork
Stanford ml neuralnetworkStanford ml neuralnetwork
Stanford ml neuralnetwork
 
Pfds ex3 9
Pfds ex3 9Pfds ex3 9
Pfds ex3 9
 

Recently uploaded

IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦Sadao Tokuyama
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdfAyachika Kitazaki
 

Recently uploaded (12)

IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
 
2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
 

Scala@SmartNews_20150221