SlideShare a Scribd company logo
TMPライブラリの設計と実装
C++勉強会in広島
@PG_nonen
2014/01/11
概要
●
●
●
●
●

自己紹介
はじめに
Template Meta Programming(TMP)とは
TMPライブラリの設計と実装
質疑応答
自己紹介
● 名前:北原真一
○ HNは南山まさかず
○ 顔本は本名、その他はHN

● 棲息地
○ 広島は魔界

● その他
○ 平凡な大学生
○ C++、Haskell、女優の能年玲奈さんなどに興味・関心
があります
自己紹介
● Twitter
○ @PG_nonen

● Github
○ minamiyama1994

● 公開しているライブラリ
○ FTMP
○ parser_combinator
はじめに
● 本日は
○
○
○
○

「C++」って名前は知ってる
C++怖い
Template怖い
C++わかる

● ……等様々な人に来て頂いています
はじめに
● 初心者の人
○ 「こんな世界もあるんだな~」ぐらいの気軽な気持ちでど
うぞ

● ガチ勢の人
○ お手柔らかにお願いします
Templateとは
● N3337
○ 14
○ A template defines a family of classes or
functions or an alias for a family of types.
Templateとは
● コンパイル時に型や値を引数として渡す機能
● クラス、関数、型エイリアスなどに指定できる
● 以下の様な構文
template < Template仮引数リスト > 宣言
Template仮引数に指定できるもの
● 型
● 非型
● テンプレート
Template仮引数に指定できるもの
● 型
○
○
○
○

型が指定できます
以上
以下の様な構文
typenameとclassで意味は変わらない

template < typename Template仮引数名 >
宣言
template < class Template仮引数名 > 宣言
Template仮引数に指定できるもの
● 非型
○ N3337の14.1.4に記載されている
■
■
■
■
■
■
■
■

整数定数値
enum
オブジェクトポインタ
関数ポインタ
オブジェクトへの左辺値参照
関数への左辺値参照
メンバへのポインタ
std::nullptr
Template仮引数に指定できるもの
● 非型
○ 以下の様な構文

template < 型名 Template仮引数名 > 宣言
Template仮引数に指定できるもの
● テンプレート
○ クラステンプレートを指定できる
○ 以下の様な構文

template < template < Template仮引数リスト
> class Template仮引数名 > 宣言
TMPとは
● Template Meta Programmingの略
● ……の前に、Templateの使い方から
Templateの使い方
template < typename T >
struct Hoge
{
T value ;
};
Templateの使い方
template < typename T >
auto add ( T x1 , T x2 ) -> decltype ( x1 + x2 )
{
return x1 + x2 ;
}
Templateの使い方
● 本来はこのように「型によらない一般的な処理
を記述する」ためのもの
● ところが……
● Meta Programmingに使える!!!!!
● ……ところでMeta Programmingって?
Meta Programmingとは
● 通常のコーディングの「更に上位」のレベルで行
うプログラミング
● 例
○ 動的・動的にコードの書き換えを行えるLispのマクロ
○ 動的にクラスの構造などをいじれるRubyやIoなどLL言
語の機能
○ 静的に構文木などをいじれるTemplate Haskell
○ 静的に型などをいじれるC++のTemplate
Meta Programmingとは
● これらを用いて通常のプログラミングの「ワンラ
ンク上」のプログラミングを行う
● これがMeta Programming
● 今日はC++のTemplateを用いたTemplate
Meta Programmingと、そのライブラリについて
話す
C++におけるMeta Programming
● C++のソースコードを書いて実行するまでには
いくつかのステップが存在する
○ プリプロセス
○ コンパイル
○ 実行

● 通常のプログラミングは実行時処理
● プリプロセス時及びコンパイル時プログラミング
は「ワンランク上」のプログラミング
Template Meta Programmingとは
● Templateはコンパイル時に処理を行う
● Templateを用いてコンパイル時に行える「ワン
ランク上」の処理とは?
○ 型及びコンパイル時整数定数などの操作
○ 「コンパイル時に型やコンパイル時定数を操作する」の
がTemplate Meta Programming
Template Meta Programmingの例
#include<ostream>
#include<iostream>
template < unsigned N >
struct factorial
{
static constexpr unsigned value = N * factorial < N - 1 >::value ;
};
template < >
struct factorial < 0 >
{
static constexpr unsigned value = 1 ;
};
auto main ( ) -> int
{
std::cout << factorial < 10 >::value << std::endl ;
}
Template Meta Programmingの例
template < unsigned N >
struct factorial
{
// 整数Nが指定された時、valueの値はN*factorial < N - 1 >::value
// N = 5 : value = 5 * factorial < 4 >::value
// N = 4 : value = 4 * factorial < 3 >::value
// N = 3 : value = 3 * factorial < 2 >::value
// ...以下続く
static constexpr unsigned value = N * factorial < N - 1 >::value ;
};
Template Meta Programmingの例
template < >
struct factorial < 0 >
{
// N = 0 の時だけvalue=1に特殊化
static constexpr unsigned value = 1 ;
};
Template Meta Programmingの例
auto main ( ) -> int
{
// factorialのNに10を指定する
// N = 10 の時
// factorial < 10 >::value = 10 * 9 * 8 * … * 1 = 10!
// よって画面には 10! = 3628800 が表示される
std::cout << factorial < 10 >::value << std::endl ;
}
Template Meta Programmingの例
● factorialは階乗を求める「メタ関数」
● 階乗は「コンパイル時に」求められる
Template Meta Programmingの例
#include<utility>
#include<string>
template < typename >
struct swap ;
template < typename T1 , typename T2 >
struct swap < std::pair < T1 , T2 > >
{
using type = std::pair < T2 , T1 > ;
};
auto main ( ) -> int
{
swap < std::pair < int , std::string > >::type pair = std::make_pair ( “Hello” , 1 ) ;
}
Template Meta Programmingの例
// swapは型を1つ受け取るメタ関数
template < typename >
struct swap ;
template < typename T1 , typename T2 >
// std::pair < T1 , T2 >形式の型だけ受け付けるように特殊化
struct swap < std::pair < T1 , T2 > >
{
// T1とT2を取り替えたstd::pairをメンバtypedefのtypeに指定する
using type = std::pair < T2 , T1 > ;
};
Template Meta Programmingの例
auto main ( ) -> int
{
// swap < std::pair < int , std::string > >::typeはstd::pairの1つ目の型と2つ目の型を入れ替えた
新しいstd::pair
// 1つ目の型 -> int
// 2つ目の型 -> std::string
// 従って、swap < std::pair < int , std::string > >::typeはstd::pair < std::string , int >
// なので以下のコードはコンパイルが通る
swap < std::pair < int , std::string > >::type pair = std::make_pair ( “Hello” , 1 ) ;
}
Template Meta Programming
● TMPを行うと、このようにコンパイル時に整数定
数値や型を操作することができる
TMPライブラリの設計と実装
● ではいよいよ本題の「TMPライブラリの設計と
実装」について
TMPライブラリの設計と実装
● まず、TMPの際に使われる慣習について
○ メタ関数の「戻り値」としてはtypeメンバが使われる
○ 以上

● 流石に少し解説
○ メタ関数は単なるtemplateなstruct/class
○ C++の言語仕様として「戻り値」などが設定されているわ
けではない
○ そこで、慣習として、typeメンバがよく使われる
TMPライブラリの設計と実装
● TMPの特徴
○ 入力(Template仮引数)によって結果(typeメンバ)は決
まる
○ Template仮引数以外に外部からの入力はないし、外部
に影響を与える処理もない
○ つまり、純粋関数型プログラミングとなる
TMPライブラリの設計と実装
● TMPは純粋関数型プログラミング
● 改めてTMP用のライブラリを設計・実装するな
ら既存の関数型言語のライブラリに倣った方が
いい
● ……と、その前に
● 既存のライブラリは?
既存のTMPライブラリ
● 既存のTMPライブラリ
○ 事実上デファクトスタンダードとなっているライブラリが存
在する
○ Boost.MPL
○ では、肝心のBoost.MPLはどういった設計になっている
のか?
既存のTMPライブラリ
● Boost.MPLの設計
○ データ構造としての各種コンテナ
○ それらに対して作用する各種アルゴリズム
○ データ構造とアルゴリズムを橋渡しするイテレータ
■ →STLに倣った設計に
既存のTMPライブラリ
● Boost.MPLの設計の問題点
○ STLの設計に倣っている
○ STLは基本的に手続き型のコードで使われるのが前提
■ 関数型プログラミングであるTMPとは相性が悪い
○ また、各種コンテナは複雑な内部構造を採用
○ 論理的な等値比較などが面倒くさい
○ 要するにBoost.MPLは使いにくい
既存のTMPライブラリ
● Boost.MPL以外のメジャーなTMPライブラリは
あまりない
● では、作ってしまえ!
TMPライブラリの設計と実装
● 設計の方針
○ Haskellなどの純粋関数型言語のライブラリ設計に倣う
○ →List・Set・Mapなどとそれに対する関数群
○ 論理的な等値比較などは細かい内部構造を意識しなく
ても可能なように設計
○ →Boost.MPLとは異なり、すべての型に対して論理的な
等値比較を提供

● というわけで完成しました
○ https://github.com/minamiyama1994/FTMP
TMPライブラリの設計と実装
● FTMPの設計
○ list,set,dictと言った基礎的なコンテナ
○ ifやeval_ifなどと言ったutilityメタ関数
○ Haskellのライブラリを参考に作成した、コンテナなどを
引数として受け取るメタ関数
TMPライブラリの設計と実装
● FTMPの設計
○ list,set,dictと言った基礎的なコンテナ
○ ifやeval_ifなどと言ったutilityメタ関数
○ Haskellのライブラリを参考に作成した、コンテナなどを
引数として受け取るメタ関数
各種コンテナ
● 型を操作するための各種コンテナ
○ list
○ set
○ dict
各種コンテナ
● list
○ list < T1 , T2 , T3 … TN >
○ 順序付き、重複あり
○ 型のリスト
各種コンテナ
● set
○ set < T1 , T2 , T3 … TN >
○ 順序不定、重複なし
○ 型のセット(集合)
各種コンテナ
● dict
○ dict < list < K1 , T1 > , list < K2 , T2 > , ... list < KN ,
TN > >
○ 順序不定、キーの重複なし
○ 型の辞書
utilityメタ関数
● ifやeval_if等の各種utilityメタ関数
○
○
○
○
○
○

if_
if_c
eval_if
eval_if_c
print
lambda
utilityメタ関数
● if_
○ if_ < cond , true_case , false_case >
○ cond::type::valueがtrueの場合はtypeはtrue_case
○ cond::type::valueがfalseの場合はtypeはfalse_case
utilityメタ関数
● if_c
○ if_ < cond , true_case , false_case >
○ condがtrueの場合はtypeはtrue_case
○ condがfalseの場合はtypeはfalse_case
utilityメタ関数
● eval_if
○ eval_if < cond , true_case , false_case >
○ cond::type::valueがtrueの場合はtypeはtrue_case::
type
○ cond::type::valueがfalseの場合はtypeはfalse_case::
type
utilityメタ関数
● eval_if_c
○ eval_if_c < cond , true_case , false_case >
○ condがtrueの場合はtypeはtrue_case::type
○ condがfalseの場合はtypeはfalse_case::type
utilityメタ関数
● print
○
○
○
○
○

print < T >
引数は任意の型
結果はTと等しい
ただし強制的にコンパイルエラーを出す
TMP途中でどのような型が生成されているのかを確認
するのに便利
utilityメタ関数
● lambda
○ 少し複雑でかつ重要な役割を持っているので、少し詳し
く説明する
○ 構成要素
■ プレースホルダー
■ lambdaによる引数の適用
lambda
● プレースホルダー
○ 後々ちゃんとした値に置き換える「仮の値」
○ arg<N>(Nは0以上の整数値)を指定する
lambda
● lambdaによる引数の適用
○ メタ関数Fがあるとして、lambda < F < arg1 , arg2 …
argN > >を考える
○ arg1,arg2...argNの中にはarg<M>形式のプレースホル
ダーがある
○ lambda < F < arg1 , arg2 … argN > >::apply < a0 ,
a1 … aN >::typeで、arg1,arg2...argNの中のarg<M>
はaMに置き換えられ、F < arg1 , arg2 … argN >::type
がlambdaの結果として求められる
lambda
lambda < F < double , arg < 2 > , arg < 0 > , long , arg < 1 > > >::apply < char , short , int >::
type
lambda < F < double , arg < 2 > , arg < 0 > , long , arg < 1 > > >::apply < char , short , int >::
type
lambda < F < double , arg < 2 > , char , long , arg < 1 > > >::apply < char , short , int >::type
lambda < F < double , arg < 2 > , char , long , arg < 1 > > >::apply < char , short , int >::type
lambda < F < double , arg < 2 > , char , long , short > >::apply < char , short , int >::type
lambda < F < double , arg < 2 > , char , long , short > >::apply < char , short , int >::type
lambda < F < double , int , char , long , short > >::apply < char , short , int >::type
F < double , int , char , long , short >::type
TMPライブラリの設計と実装
● FTMPの設計
○ list,set,dictと言った基礎的なコンテナ
○ ifやeval_ifなどと言ったutilityメタ関数
○ Haskellのライブラリを参考に作成した、コンテナなどを
引数として受け取るメタ関数
コンテナ用の各種メタ関数
● list用のメタ関数
● set用のメタ関数
● dict用のメタ関数
コンテナ用の各種メタ関数
● list,set,dict用のメタ関数
○ HaskellのData.List,Data.Set,Data.Mapライブラリを参
考に
○ MaybeなどのHaskellの複雑な機能を使っている関数は
適当に簡略化
■ Maybeの場合は例えばNothingに該当する場合は
その場でコンパイルを失敗させる
TMPライブラリの実装
● TMPライブラリを実装する際のポイントについて
○ 再帰深度
■ 処理系定義($14.7.1.15)
■ ただし、規格での推奨がある(Annex B)
●

「Recursively nested template instantiations [1024].」

■ listに対して線形の再帰深度のアルゴリズムを実装
すると、大きなlistなどに対しては容易に再帰深度制
限にぶつかることが考えられる
●

再帰深度を対数オーダーに制限する
TMPライブラリの実装
● 再帰深度を対数オーダーに抑える
○ list操作は主にfoldr,foldlを用いて実装される
○ foldr,foldlの再帰深度を対数オーダーに抑えることを考
える
TMPライブラリの実装
● foldrの素直な実装
TMPライブラリの実装
● foldrの対数再帰深度な実装
TMPライブラリの実装
● foldr,foldlの再帰深度を対数オーダーにするこ
とにより、多くの処理の再帰深度を対数オー
ダーに抑えることができる
○ →要素数の多いlistなどに対しても適用できる
TMPライブラリ
● Boost.MPLと比較して
○ メリット
■ Haskellのライブラリに倣ったことにより、よりスムー
ズなTMPが可能に
○ デメリット
■ テストや、機能が充実しておらず、実績がない
TMPライブラリ
● 適用例
○ 自作パーサコンビネータ
■ https://github.
com/minamiyama1994/parser_combinator
■ 構文解析表を出力する元になる各種情報をTMPを
用いて求めている
TMPライブラリ
● 今後の課題
○ テストを充実させる
○ 実装を充実させる
○ ドキュメントを充実させる
ご清聴ありがとうございました
時間があるようなら質疑応答に入ります

More Related Content

What's hot

静的型付け言語Python
静的型付け言語Python静的型付け言語Python
静的型付け言語Python
kiki utagawa
 
2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talkmitamex4u
 
最新C++事情 C++14-C++20 (2018年10月)
最新C++事情 C++14-C++20 (2018年10月)最新C++事情 C++14-C++20 (2018年10月)
最新C++事情 C++14-C++20 (2018年10月)
Akihiko Matuura
 
Pythonと型チェッカー
Pythonと型チェッカーPythonと型チェッカー
Pythonと型チェッカー
Tetsuya Morimoto
 
Define and expansion of cpp macro
Define and expansion of cpp macroDefine and expansion of cpp macro
Define and expansion of cpp macrodigitalghost
 
Python と型アノテーション
Python と型アノテーションPython と型アノテーション
Python と型アノテーション
K Yamaguchi
 
Start!! Ruby
Start!! RubyStart!! Ruby
Start!! Ruby
mitim
 
クロージャデザインパターン
クロージャデザインパターンクロージャデザインパターン
クロージャデザインパターン
Moriharu Ohzu
 
Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~CHY72
 
C++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプC++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプ
Kohsuke Yuasa
 
不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray
Ryosuke839
 
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門
natrium11321
 
Python と型ヒント (Type Hints)
Python と型ヒント (Type Hints)Python と型ヒント (Type Hints)
Python と型ヒント (Type Hints)
Tetsuya Morimoto
 
C++の黒魔術
C++の黒魔術C++の黒魔術
C++の黒魔術
Daichi OBINATA
 
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
kiki utagawa
 
Mesh tensorflow
Mesh tensorflowMesh tensorflow
Mesh tensorflow
kuroko
 
constexpr idioms
constexpr idiomsconstexpr idioms
constexpr idioms
fimbul
 
TensorFlow Operation 作ってみた
TensorFlow Operation 作ってみたTensorFlow Operation 作ってみた
TensorFlow Operation 作ってみた
Takuya Sakamoto
 
C++0x総復習
C++0x総復習C++0x総復習
C++0x総復習
道化師 堂華
 
C++14言語編
C++14言語編C++14言語編
C++14言語編
Mitsuru Kariya
 

What's hot (20)

静的型付け言語Python
静的型付け言語Python静的型付け言語Python
静的型付け言語Python
 
2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk
 
最新C++事情 C++14-C++20 (2018年10月)
最新C++事情 C++14-C++20 (2018年10月)最新C++事情 C++14-C++20 (2018年10月)
最新C++事情 C++14-C++20 (2018年10月)
 
Pythonと型チェッカー
Pythonと型チェッカーPythonと型チェッカー
Pythonと型チェッカー
 
Define and expansion of cpp macro
Define and expansion of cpp macroDefine and expansion of cpp macro
Define and expansion of cpp macro
 
Python と型アノテーション
Python と型アノテーションPython と型アノテーション
Python と型アノテーション
 
Start!! Ruby
Start!! RubyStart!! Ruby
Start!! Ruby
 
クロージャデザインパターン
クロージャデザインパターンクロージャデザインパターン
クロージャデザインパターン
 
Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~
 
C++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプC++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプ
 
不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray
 
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門
 
Python と型ヒント (Type Hints)
Python と型ヒント (Type Hints)Python と型ヒント (Type Hints)
Python と型ヒント (Type Hints)
 
C++の黒魔術
C++の黒魔術C++の黒魔術
C++の黒魔術
 
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
 
Mesh tensorflow
Mesh tensorflowMesh tensorflow
Mesh tensorflow
 
constexpr idioms
constexpr idiomsconstexpr idioms
constexpr idioms
 
TensorFlow Operation 作ってみた
TensorFlow Operation 作ってみたTensorFlow Operation 作ってみた
TensorFlow Operation 作ってみた
 
C++0x総復習
C++0x総復習C++0x総復習
C++0x総復習
 
C++14言語編
C++14言語編C++14言語編
C++14言語編
 

Viewers also liked

Database.persistentの話
Database.persistentの話Database.persistentの話
Database.persistentの話
真一 北原
 
Unlock the Keys to True Leadership
Unlock the Keys to True LeadershipUnlock the Keys to True Leadership
Unlock the Keys to True Leadership
Michael Mamas
 
Sound Different: Tips on differentiating with better writing to build your value
Sound Different: Tips on differentiating with better writing to build your valueSound Different: Tips on differentiating with better writing to build your value
Sound Different: Tips on differentiating with better writing to build your value
Bruce Rowe
 
THE CROWN MR JAMES
THE CROWN MR JAMESTHE CROWN MR JAMES
THE CROWN MR JAMES
Jose Manuel Godoy Labarca
 
Tues. March 21st Pine River Announcements
Tues. March 21st Pine River Announcements  Tues. March 21st Pine River Announcements
Tues. March 21st Pine River Announcements
Pine River
 
ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)
ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)
ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)
Fumiya Sakai
 
The Resilient Organization: Adapting to Change in a Challenging World
The Resilient Organization: Adapting to Change in a Challenging WorldThe Resilient Organization: Adapting to Change in a Challenging World
The Resilient Organization: Adapting to Change in a Challenging World
Olivier Serrat
 
Pixel landscapes: l'immagine urbana come collage
Pixel landscapes: l'immagine urbana come collagePixel landscapes: l'immagine urbana come collage
Pixel landscapes: l'immagine urbana come collage
Davide Tommaso Ferrando
 
How did we get to Containers: A brief History of Computing
How did we get to Containers: A brief History of ComputingHow did we get to Containers: A brief History of Computing
How did we get to Containers: A brief History of Computing
Simone Morellato
 
Fuerzas del mercado
Fuerzas del mercadoFuerzas del mercado
Fuerzas del mercado
MarioMaldonado917
 
R. Villano - Meridiani: Etica - libro 3^ ed. (parte 3)
R. Villano  - Meridiani: Etica - libro 3^ ed. (parte 3)R. Villano  - Meridiani: Etica - libro 3^ ed. (parte 3)
R. Villano - Meridiani: Etica - libro 3^ ed. (parte 3)
Raimondo Villano
 
SureChEMBL patent annotations in Open PHACTS
SureChEMBL patent annotations in Open PHACTSSureChEMBL patent annotations in Open PHACTS
SureChEMBL patent annotations in Open PHACTS
George Papadatos
 
I.G. numérique et agriculture
I.G. numérique et agricultureI.G. numérique et agriculture
I.G. numérique et agriculture
Isabelle Goudchaux
 
March 21 letter from Waste Management to City of Ottawa
March 21 letter from Waste Management to City of OttawaMarch 21 letter from Waste Management to City of Ottawa
March 21 letter from Waste Management to City of Ottawa
StittsvilleCentral.ca
 
Geoeconomic atlas of world energy. A vision of the future to 2030
Geoeconomic atlas of world energy. A vision of the future to 2030Geoeconomic atlas of world energy. A vision of the future to 2030
Geoeconomic atlas of world energy. A vision of the future to 2030
Фонд "Центр стратегических разработок "Северо-Запад"
 
Innovation in Telecom & Smart City Project Management
Innovation in Telecom & Smart City Project Management Innovation in Telecom & Smart City Project Management
Innovation in Telecom & Smart City Project Management
Giuseppe Incitti
 
Relatório técnico Iluminação Oficina Central
Relatório técnico   Iluminação Oficina Central Relatório técnico   Iluminação Oficina Central
Relatório técnico Iluminação Oficina Central
Alexandre Grossi
 
Press kit - South Europe Atlantic high-speed rail line
Press kit - South Europe Atlantic high-speed rail linePress kit - South Europe Atlantic high-speed rail line
Press kit - South Europe Atlantic high-speed rail line
LISEA
 

Viewers also liked (19)

Database.persistentの話
Database.persistentの話Database.persistentの話
Database.persistentの話
 
Unlock the Keys to True Leadership
Unlock the Keys to True LeadershipUnlock the Keys to True Leadership
Unlock the Keys to True Leadership
 
Sound Different: Tips on differentiating with better writing to build your value
Sound Different: Tips on differentiating with better writing to build your valueSound Different: Tips on differentiating with better writing to build your value
Sound Different: Tips on differentiating with better writing to build your value
 
THE CROWN MR JAMES
THE CROWN MR JAMESTHE CROWN MR JAMES
THE CROWN MR JAMES
 
Tues. March 21st Pine River Announcements
Tues. March 21st Pine River Announcements  Tues. March 21st Pine River Announcements
Tues. March 21st Pine River Announcements
 
ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)
ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)
ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)
 
The Resilient Organization: Adapting to Change in a Challenging World
The Resilient Organization: Adapting to Change in a Challenging WorldThe Resilient Organization: Adapting to Change in a Challenging World
The Resilient Organization: Adapting to Change in a Challenging World
 
Pixel landscapes: l'immagine urbana come collage
Pixel landscapes: l'immagine urbana come collagePixel landscapes: l'immagine urbana come collage
Pixel landscapes: l'immagine urbana come collage
 
How did we get to Containers: A brief History of Computing
How did we get to Containers: A brief History of ComputingHow did we get to Containers: A brief History of Computing
How did we get to Containers: A brief History of Computing
 
Fuerzas del mercado
Fuerzas del mercadoFuerzas del mercado
Fuerzas del mercado
 
Manure
ManureManure
Manure
 
R. Villano - Meridiani: Etica - libro 3^ ed. (parte 3)
R. Villano  - Meridiani: Etica - libro 3^ ed. (parte 3)R. Villano  - Meridiani: Etica - libro 3^ ed. (parte 3)
R. Villano - Meridiani: Etica - libro 3^ ed. (parte 3)
 
SureChEMBL patent annotations in Open PHACTS
SureChEMBL patent annotations in Open PHACTSSureChEMBL patent annotations in Open PHACTS
SureChEMBL patent annotations in Open PHACTS
 
I.G. numérique et agriculture
I.G. numérique et agricultureI.G. numérique et agriculture
I.G. numérique et agriculture
 
March 21 letter from Waste Management to City of Ottawa
March 21 letter from Waste Management to City of OttawaMarch 21 letter from Waste Management to City of Ottawa
March 21 letter from Waste Management to City of Ottawa
 
Geoeconomic atlas of world energy. A vision of the future to 2030
Geoeconomic atlas of world energy. A vision of the future to 2030Geoeconomic atlas of world energy. A vision of the future to 2030
Geoeconomic atlas of world energy. A vision of the future to 2030
 
Innovation in Telecom & Smart City Project Management
Innovation in Telecom & Smart City Project Management Innovation in Telecom & Smart City Project Management
Innovation in Telecom & Smart City Project Management
 
Relatório técnico Iluminação Oficina Central
Relatório técnico   Iluminação Oficina Central Relatório técnico   Iluminação Oficina Central
Relatório técnico Iluminação Oficina Central
 
Press kit - South Europe Atlantic high-speed rail line
Press kit - South Europe Atlantic high-speed rail linePress kit - South Europe Atlantic high-speed rail line
Press kit - South Europe Atlantic high-speed rail line
 

Similar to C++勉強会in広島プレゼン資料

競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
Hibiki Yamashiro
 
C++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISるC++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISる
Hideyuki Tanaka
 
C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編
道化師 堂華
 
Write good parser in perl
Write good parser in perlWrite good parser in perl
Write good parser in perlJiro Nishiguchi
 
MTDDC Hokkaido : テンプレートタグでBrainf*ckを作ってみた
MTDDC Hokkaido : テンプレートタグでBrainf*ckを作ってみたMTDDC Hokkaido : テンプレートタグでBrainf*ckを作ってみた
MTDDC Hokkaido : テンプレートタグでBrainf*ckを作ってみた
Katsuhiro Endo
 
C++ template-primer
C++ template-primerC++ template-primer
C++ template-primer
Kohsuke Yuasa
 
エンジニア知識共有会発表資料 20090910
エンジニア知識共有会発表資料 20090910エンジニア知識共有会発表資料 20090910
エンジニア知識共有会発表資料 20090910ngi group.
 
Tremaとtrema edgeの違い
Tremaとtrema edgeの違いTremaとtrema edgeの違い
Tremaとtrema edgeの違い
hiroshi oshiba
 
中3女子でもわかる constexpr
中3女子でもわかる constexpr中3女子でもわかる constexpr
中3女子でもわかる constexpr
Genya Murakami
 
CMSI計算科学技術特論C (2015) OpenMX とDFT②
CMSI計算科学技術特論C (2015) OpenMX とDFT②CMSI計算科学技術特論C (2015) OpenMX とDFT②
CMSI計算科学技術特論C (2015) OpenMX とDFT②
Computational Materials Science Initiative
 
DTrace for biginners part(2)
DTrace for biginners part(2)DTrace for biginners part(2)
DTrace for biginners part(2)
Shoji Haraguchi
 
コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践
コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践
コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践
LINE Corporation
 
テンプレートメタプログラミング as 式
テンプレートメタプログラミング as 式テンプレートメタプログラミング as 式
テンプレートメタプログラミング as 式digitalghost
 
第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章Tomonobu_Hirano
 
C++コンパイラ GCCとClangからのメッセージをお読みください
C++コンパイラ GCCとClangからのメッセージをお読みくださいC++コンパイラ GCCとClangからのメッセージをお読みください
C++コンパイラ GCCとClangからのメッセージをお読みくださいdigitalghost
 
第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案
yushin_hirano
 
秀スクリプトの話
秀スクリプトの話秀スクリプトの話
秀スクリプトの話
Hiroshi Tokumaru
 

Similar to C++勉強会in広島プレゼン資料 (20)

競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
 
C++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISるC++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISる
 
C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編
 
Write good parser in perl
Write good parser in perlWrite good parser in perl
Write good parser in perl
 
MTDDC Hokkaido : テンプレートタグでBrainf*ckを作ってみた
MTDDC Hokkaido : テンプレートタグでBrainf*ckを作ってみたMTDDC Hokkaido : テンプレートタグでBrainf*ckを作ってみた
MTDDC Hokkaido : テンプレートタグでBrainf*ckを作ってみた
 
C++ template-primer
C++ template-primerC++ template-primer
C++ template-primer
 
エンジニア知識共有会発表資料 20090910
エンジニア知識共有会発表資料 20090910エンジニア知識共有会発表資料 20090910
エンジニア知識共有会発表資料 20090910
 
Tremaとtrema edgeの違い
Tremaとtrema edgeの違いTremaとtrema edgeの違い
Tremaとtrema edgeの違い
 
中3女子でもわかる constexpr
中3女子でもわかる constexpr中3女子でもわかる constexpr
中3女子でもわかる constexpr
 
CMSI計算科学技術特論C (2015) OpenMX とDFT②
CMSI計算科学技術特論C (2015) OpenMX とDFT②CMSI計算科学技術特論C (2015) OpenMX とDFT②
CMSI計算科学技術特論C (2015) OpenMX とDFT②
 
DTrace for biginners part(2)
DTrace for biginners part(2)DTrace for biginners part(2)
DTrace for biginners part(2)
 
コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践
コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践
コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践
 
テンプレートメタプログラミング as 式
テンプレートメタプログラミング as 式テンプレートメタプログラミング as 式
テンプレートメタプログラミング as 式
 
第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章
 
C++コンパイラ GCCとClangからのメッセージをお読みください
C++コンパイラ GCCとClangからのメッセージをお読みくださいC++コンパイラ GCCとClangからのメッセージをお読みください
C++コンパイラ GCCとClangからのメッセージをお読みください
 
第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案
 
秀スクリプトの話
秀スクリプトの話秀スクリプトの話
秀スクリプトの話
 
Sml#探検隊
Sml#探検隊Sml#探検隊
Sml#探検隊
 
Processing
ProcessingProcessing
Processing
 
Tokyor23 doradora09
Tokyor23 doradora09Tokyor23 doradora09
Tokyor23 doradora09
 

More from 真一 北原

能年玲奈ちゃん駆動開発
能年玲奈ちゃん駆動開発能年玲奈ちゃん駆動開発
能年玲奈ちゃん駆動開発
真一 北原
 
型! 型!
型! 型!型! 型!
型! 型!
真一 北原
 
型!
型!型!
templateを依存型っぽく使ってみる
templateを依存型っぽく使ってみるtemplateを依存型っぽく使ってみる
templateを依存型っぽく使ってみる
真一 北原
 
すごいMonad入門
すごいMonad入門すごいMonad入門
すごいMonad入門
真一 北原
 
すごいCoq入門
すごいCoq入門すごいCoq入門
すごいCoq入門
真一 北原
 
Lt駆動開発03 コンパイル時fizz buzzやってみた
Lt駆動開発03 コンパイル時fizz buzzやってみたLt駆動開発03 コンパイル時fizz buzzやってみた
Lt駆動開発03 コンパイル時fizz buzzやってみた
真一 北原
 
Lt駆動開発03 サイト運営してみた結果
Lt駆動開発03 サイト運営してみた結果Lt駆動開発03 サイト運営してみた結果
Lt駆動開発03 サイト運営してみた結果
真一 北原
 
型安全Printf作ってみた
型安全Printf作ってみた型安全Printf作ってみた
型安全Printf作ってみた真一 北原
 
能年玲奈ちゃんのファンとして本気を出してみた
能年玲奈ちゃんのファンとして本気を出してみた能年玲奈ちゃんのファンとして本気を出してみた
能年玲奈ちゃんのファンとして本気を出してみた真一 北原
 
第2回 mix c++勉強会@tokyo 資料
第2回 mix c++勉強会@tokyo 資料第2回 mix c++勉強会@tokyo 資料
第2回 mix c++勉強会@tokyo 資料
真一 北原
 

More from 真一 北原 (11)

能年玲奈ちゃん駆動開発
能年玲奈ちゃん駆動開発能年玲奈ちゃん駆動開発
能年玲奈ちゃん駆動開発
 
型! 型!
型! 型!型! 型!
型! 型!
 
型!
型!型!
型!
 
templateを依存型っぽく使ってみる
templateを依存型っぽく使ってみるtemplateを依存型っぽく使ってみる
templateを依存型っぽく使ってみる
 
すごいMonad入門
すごいMonad入門すごいMonad入門
すごいMonad入門
 
すごいCoq入門
すごいCoq入門すごいCoq入門
すごいCoq入門
 
Lt駆動開発03 コンパイル時fizz buzzやってみた
Lt駆動開発03 コンパイル時fizz buzzやってみたLt駆動開発03 コンパイル時fizz buzzやってみた
Lt駆動開発03 コンパイル時fizz buzzやってみた
 
Lt駆動開発03 サイト運営してみた結果
Lt駆動開発03 サイト運営してみた結果Lt駆動開発03 サイト運営してみた結果
Lt駆動開発03 サイト運営してみた結果
 
型安全Printf作ってみた
型安全Printf作ってみた型安全Printf作ってみた
型安全Printf作ってみた
 
能年玲奈ちゃんのファンとして本気を出してみた
能年玲奈ちゃんのファンとして本気を出してみた能年玲奈ちゃんのファンとして本気を出してみた
能年玲奈ちゃんのファンとして本気を出してみた
 
第2回 mix c++勉強会@tokyo 資料
第2回 mix c++勉強会@tokyo 資料第2回 mix c++勉強会@tokyo 資料
第2回 mix c++勉強会@tokyo 資料
 

Recently uploaded

FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 

Recently uploaded (15)

FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 

C++勉強会in広島プレゼン資料