Multi paradigm design

Akira Takahashi
Akira TakahashiProgrammer en Preferred Networks, Inc.
マルチパラダイムデザイン
再利用性の高いアプリケーションの設計
高橋 晶(Akira Takahashi)
faithandbrave@longgate.co.jp
2014/05/24(土) Boost.勉強会 #15 札幌
自己紹介
• 高橋 晶(Akira Takahashi)
• はてなID : faith_and_brave
• TwitterID : @cpp_akira
• Boost.勉強会 東京の主催者
• boostjp/cpprefjpサイトのコアメンバ
• 著書:C++テンプレートテクニック、C++ポケットリファレ
ンス、プログラミングの魔導書 Vol.1と3
• 好きなことは、「抽象」「直交」「再利用」「分割統治」
本日のお題
• アプリケーションの設計について話します。
• ライブラリではない、ソフトウェアやゲームなどです。
• 皆さんは普段、どのようなプログラム設計をアプリケーショ
ンに適用しているでしょうか。
• 今日は、私が普段のアプリケーション設計に採用している、
マルチパラダイムデザインというものを紹介します。
再利用
• アプリケーションコードは、全てのコードがそのアプリケー
ション専用というわけではない。
• ほとんどは、汎用的なコードか、そのアプリケーションが

属する(複数の)分野で共通利用できるコード。
• アプリケーションコードとしてべったり張り付いたコードを
他のプロジェクトに再利用するのはめんどう。
• 再利用可能なコードとアプリケーション固有のコードを、

きっちり住み分けするのが今日のお話。
文献
マルチパラダイムデザインの概要
• ドメイン駆動設計のアーキテクチャ(ディレクトリ構成)を

採用する。
• アプリケーションを構成するプログラムを、ドメインという
単位で分割し、部品の再利用性を高める。
• 各ドメイン/各機能を、共通性と可変性という考えの元に

設計する。
• 部品の再利用性が高まることによって、類似アプリケーショ
ンを、実績あるコードを元に作り上げることができる。
ドメイン駆動設計
• Eric Evansが提唱した、アプリケーションをドメインに

分割していく設計手法。
• プロジェクト内で共通の用語を使うユビキタス言語や、構成
要素(エンティティ、値オブジェクト、リポジトリ、サービ
ス等)が細かく規定されていたりする。
• 再利用は想定されておらず、一本のアプリケーションを効率
的に作ることを目標にしている。
• 今回紹介する私の設計では、ドメイン駆動設計のレイヤー
(ディレクトリ構成)のみを採用する。
ドメイン駆動設計のレイヤー構造
infrastructure
domain
app
インフラストラクチャ
• アプリケーション全体で使用する、ベースとなるライブラリ、
フレームワークを置くレイヤー。
• Boost、zlib、Ruby on Rails、.NET Framework等。
ドメイン
• アプリケーションを構成する部品を、できるだけ再利用可能
な形で分割して置くレイヤー。ライブラリのようなもの。
• クラスは複数の機能をまとめたものだが、

ドメイン(domain, 問題領域)はクラス・関数群をまとめた
機能ファミリー。
• 「アプリケーションを作る!」という大きな問題を、

ドメインという小さな問題群に分割する。
アプリケーション
• 特定アプリケーションのみで必要な機能を置くレイヤー。
• ユーザー情報、ビジネスロジック、戦闘ロジック、画面遷移など。
• 本当はこの上に、見た目を制御する「プレゼンテーションレイヤー」が
あるが、それほど重要ではないので省略する。
• できるだけ多くの機能を再利用可能な形でドメインに分割す
るので、アプリケーションレイヤーは薄くなる。
依存関係
• レイヤーとしては、上のレイヤーから下のレイヤーへの依存
のみ。
• アプリケーションはドメイン、インフラストラクチャに

依存するが、ドメインがアプリケーションに依存しては

ならない。
• ドメイン間は依存する場合がある。

相互依存にならないよう、図に書き起こして依存関係を整理
すること。
抽象化のためのドメイン分割
• ドメイン分割をすると、そのドメインのユーザー(アプリケー
ションや他のドメイン)へのインタフェースが、自然と抽象
的になる。
• 実装詳細をユーザーに直接使わせない。
• 抽象化が当たり前のように行われるようになる。
ここまでで大事なこと
• アプリケーションを構成するプログラムの

レイヤーを意識する。
• 大きな問題(アプリケーションを作る!)を

小さな問題群(ドメイン)に分割統治する。
再利用性を意識する
• ドメイン分割を行い、抽象的になったドメイン機能は、

どのようにその機能が使われるか、さらに想定を広げる必要が
出てくる。
• マルチパラダイムデザインでは、機能を共通性と可変性という
特性で分析して設計する。
• 共通性(commonality)とは、あらゆる目的に同じ使い方が

できる性質。
• 可変性(variability)とは、状況によって使い方が変わる性質。
共通性のためにできること
• 共通性を表現するためには、C++では継承やテンプレート、
関数オーバーロードといったものを使用できる。
• たとえば、std::vectorは、あらゆる要素型に同じ操作方法を提供する
という共通性を表現している。
• その他、プリプロセッサによるバックエンドの自動切り替え
も、共通性のために使用できる。
• たとえば、boost::threadは環境によって、pthreadによる実装と
Windows APIによる実装を、自動的に切り替えている。ユーザーに提供
するインタフェースを共通化している。
可変性のためにできること
• 可変性を表現するためには、C++では実行時多態性や、テン
プレートのポリシークラス、トレイト、関数オブジェクトを
使用できる。
• 与えられるパラメータによって動作を変えることは、たとえ
ばstd::sort()が行っている。与えられる関数オブジェクト
によって、比較の動作が変わる。
• 可変性を意識して設計したドメインは、他のプロジェクトへ
の再利用がしやすくなる。
ケーススタディ
• 以下の構成になっているドメインの設計を考える。
application
domain
ui
animation
infrastructure
ケーススタディ
• ウィンドウに何らかのアニメーションをさせる
namespace ui {
class Window;
}
domain/ui/Window.h
namespace animation {
class MyAnimation {
public:
void start(ui::Window& window);
};
}
domain/animation/MyAnimation.h
• いま、animationドメインはuiドメインに依存している
ケーススタディ
• ドメイン間の依存関係を断ち切る可変性を導入する
namespace animation {
class MyAnimation {
public:
template <class Window>
void start(Window& window);
};
}
domain/animation/MyAnimation.h
• これで、animationドメインのみを他プロジェクトに

再利用できる。
ケーススタディ
• 終了イベントを受け取る可変性を導入する。
namespace animation {
class MyAnimation {
std::function<void()> callback_;
public:
template <class Window>
void start(Window& window);
!
template <class Window, class F>
void start(Window& window, F callback);
};
}
• これで、MyAnimationクラスが、複数の用途・状況に

対応できるようになった。
どこまで想定するか
• 抽象化や再利用とは、どこまで想定して作ればいいだろうか。
• 目の前のアプリケーションの要件だけを見てドメイン分割、

抽象化、可変性の導入をすると、設計が破綻しやすい。
• 再利用性を高めるには、プロジェクトの今後の方向性や、

複数のマーケットまでを見通す目が必要になる。
何がマルチパラダイムなのか
• 従来のオブジェクト指向設計では、可変性を表現する方法が
多態性に限定された。
• マルチパラダイムデザインでは、他のパラダイムを共通性と
可変性に使用し、設計にさらなる柔軟性を持たせる。
• たとえば、テンプレートの「特定インタフェースを持ってい
れば継承関係がなくていい」という性質は、ドメイン間の

やりとりをよりシンプルにする。
DSL
• DSL(domain specific language, ドメイン特化言語)は、特
定の問題を効率的に解決するための小さな言語。
• 昔はアプリケーション指向言語(AOL : application
oriented language)と呼ばれていた。
• 広義には、プレーンテキストの言語のみならず、ツールも含
む。SQLやUIエディタ、GraphvizもDSL。
• 問題領域にくわしい専門家(ゲームならプランナー)に、使っ
てもらったりする。
まとめ
• マルチパラダイムデザインでは、アプリケーションを構成す
るプログラムを、小さな問題(ドメイン)に分割する。
• 分割したドメインを、共通性と可変性に注目して設計し、

再利用性を高める。
• 再利用性を高めることによって、アプリケーションコードを
他のプロジェクトに使いまわせるようになり、他のプロジェ
クトを、高い品質のコードを元にして作れるようになる。
みんな読もう!
• あのCryoliteさんも2004年時点で読んでるぞ!
• ※ただしピアソンのため、絶版です。中古で…
1 de 26

Recomendados

Start Concurrent por
Start ConcurrentStart Concurrent
Start ConcurrentAkira Takahashi
22.8K vistas19 diapositivas
Boost container feature por
Boost container featureBoost container feature
Boost container featureAkira Takahashi
3.4K vistas19 diapositivas
Development C++ Community por
Development C++ CommunityDevelopment C++ Community
Development C++ CommunityAkira Takahashi
5.9K vistas49 diapositivas
Study3 boost por
Study3 boostStudy3 boost
Study3 boostKohsuke Yuasa
1.7K vistas45 diapositivas
4 Colors Othello’s Algorithm @仙台 IT 文化祭 2017 por
4 Colors Othello’s Algorithm @仙台 IT 文化祭 20174 Colors Othello’s Algorithm @仙台 IT 文化祭 2017
4 Colors Othello’s Algorithm @仙台 IT 文化祭 2017Takaaki Suzuki
3.8K vistas13 diapositivas
2014 08-30 life with roslyn por
2014 08-30 life with roslyn2014 08-30 life with roslyn
2014 08-30 life with roslynshibuki
8.4K vistas26 diapositivas

Más contenido relacionado

La actualidad más candente

なぜか技術書典5で 3サークルの運営をやってた話 por
なぜか技術書典5で 3サークルの運営をやってた話なぜか技術書典5で 3サークルの運営をやってた話
なぜか技術書典5で 3サークルの運営をやってた話ota42y
814 vistas26 diapositivas
サブドメイン前提のチーム機能開発で踏んだ
OAuthの罠の話 in express por
サブドメイン前提のチーム機能開発で踏んだ
OAuthの罠の話 in expressサブドメイン前提のチーム機能開発で踏んだ
OAuthの罠の話 in express
サブドメイン前提のチーム機能開発で踏んだ
OAuthの罠の話 in expressTakahiro YAMAGUCHI
2.5K vistas26 diapositivas
Ciecleci por
CiecleciCiecleci
CiecleciYosukeHojo
79 vistas10 diapositivas
あと一つプログラミング言語を
覚えたら死ぬ! 脳みそがパンクしそうな
あなたのための
nodeJSことはじめ por
あと一つプログラミング言語を
覚えたら死ぬ! 脳みそがパンクしそうな
あなたのための
nodeJSことはじめあと一つプログラミング言語を
覚えたら死ぬ! 脳みそがパンクしそうな
あなたのための
nodeJSことはじめ
あと一つプログラミング言語を
覚えたら死ぬ! 脳みそがパンクしそうな
あなたのための
nodeJSことはじめ文樹 高橋
547 vistas26 diapositivas
3日時間をもらったのでTypeScriptを触ってみた por
3日時間をもらったのでTypeScriptを触ってみた3日時間をもらったのでTypeScriptを触ってみた
3日時間をもらったのでTypeScriptを触ってみたYasushi Kato
28K vistas48 diapositivas
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部 por
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部Masahiro Wakame
12.8K vistas56 diapositivas

La actualidad más candente(20)

なぜか技術書典5で 3サークルの運営をやってた話 por ota42y
なぜか技術書典5で 3サークルの運営をやってた話なぜか技術書典5で 3サークルの運営をやってた話
なぜか技術書典5で 3サークルの運営をやってた話
ota42y814 vistas
サブドメイン前提のチーム機能開発で踏んだ
OAuthの罠の話 in express por Takahiro YAMAGUCHI
サブドメイン前提のチーム機能開発で踏んだ
OAuthの罠の話 in expressサブドメイン前提のチーム機能開発で踏んだ
OAuthの罠の話 in express
サブドメイン前提のチーム機能開発で踏んだ
OAuthの罠の話 in express
Takahiro YAMAGUCHI2.5K vistas
あと一つプログラミング言語を
覚えたら死ぬ! 脳みそがパンクしそうな
あなたのための
nodeJSことはじめ por 文樹 高橋
あと一つプログラミング言語を
覚えたら死ぬ! 脳みそがパンクしそうな
あなたのための
nodeJSことはじめあと一つプログラミング言語を
覚えたら死ぬ! 脳みそがパンクしそうな
あなたのための
nodeJSことはじめ
あと一つプログラミング言語を
覚えたら死ぬ! 脳みそがパンクしそうな
あなたのための
nodeJSことはじめ
文樹 高橋547 vistas
3日時間をもらったのでTypeScriptを触ってみた por Yasushi Kato
3日時間をもらったのでTypeScriptを触ってみた3日時間をもらったのでTypeScriptを触ってみた
3日時間をもらったのでTypeScriptを触ってみた
Yasushi Kato28K vistas
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部 por Masahiro Wakame
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
Masahiro Wakame12.8K vistas
プログラミング同好会とすごい合同勉強会 por nemumu
プログラミング同好会とすごい合同勉強会プログラミング同好会とすごい合同勉強会
プログラミング同好会とすごい合同勉強会
nemumu1.5K vistas
今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介 por 中條 剛
今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介
今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介
中條 剛764 vistas
mrubyで作るマイコンボード por kishima7
mrubyで作るマイコンボードmrubyで作るマイコンボード
mrubyで作るマイコンボード
kishima7361 vistas
括弧を使わないLispプログラミング por Yuta Mizushima
括弧を使わないLispプログラミング括弧を使わないLispプログラミング
括弧を使わないLispプログラミング
Yuta Mizushima1.8K vistas
ShibuyalispTT#4 LT 他言語で作ったWEBページをLispでも! por Toshiaki Maki
ShibuyalispTT#4 LT 他言語で作ったWEBページをLispでも!ShibuyalispTT#4 LT 他言語で作ったWEBページをLispでも!
ShibuyalispTT#4 LT 他言語で作ったWEBページをLispでも!
Toshiaki Maki1.2K vistas
いまNode Express4で書いてるディレクターが
初めて書き始める2ヶ月前くらいの自分に言っておく por Takahiro YAMAGUCHI
いまNode Express4で書いてるディレクターが
初めて書き始める2ヶ月前くらいの自分に言っておくいまNode Express4で書いてるディレクターが
初めて書き始める2ヶ月前くらいの自分に言っておく
いまNode Express4で書いてるディレクターが
初めて書き始める2ヶ月前くらいの自分に言っておく
Takahiro YAMAGUCHI7.1K vistas
チーム開発積み重ね Rails Developers Meetup 2018 Day2 por tatsuo sakurai
チーム開発積み重ね Rails Developers Meetup 2018 Day2チーム開発積み重ね Rails Developers Meetup 2018 Day2
チーム開発積み重ね Rails Developers Meetup 2018 Day2
tatsuo sakurai4K vistas
TypeScriptは明日から使うべき por Masahiro Wakame
TypeScriptは明日から使うべきTypeScriptは明日から使うべき
TypeScriptは明日から使うべき
Masahiro Wakame6.1K vistas
rogyゼミ第2回 ニックさん por rogy01
rogyゼミ第2回 ニックさんrogyゼミ第2回 ニックさん
rogyゼミ第2回 ニックさん
rogy012.1K vistas
2014年の制作物報告 por uu ymd
2014年の制作物報告2014年の制作物報告
2014年の制作物報告
uu ymd2.7K vistas
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド por keroyonn
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイドYAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
keroyonn1.9K vistas
goroutineはどうやって動いているのか por ota42y
goroutineはどうやって動いているのかgoroutineはどうやって動いているのか
goroutineはどうやって動いているのか
ota42y4.2K vistas
bootsnapはどれくらい早くなるのか por ota42y
bootsnapはどれくらい早くなるのかbootsnapはどれくらい早くなるのか
bootsnapはどれくらい早くなるのか
ota42y1.5K vistas

Destacado

二分探索法で作る再帰呼び出しできるCプリプロセッサマクロ por
二分探索法で作る再帰呼び出しできるCプリプロセッサマクロ二分探索法で作る再帰呼び出しできるCプリプロセッサマクロ
二分探索法で作る再帰呼び出しできるCプリプロセッサマクロdigitalghost
7.5K vistas21 diapositivas
Boost study14 por
Boost study14Boost study14
Boost study14fjnl
2.1K vistas36 diapositivas
左と右の話 por
左と右の話左と右の話
左と右の話Cryolite
6.9K vistas34 diapositivas
Boost.Graph入門 por
Boost.Graph入門Boost.Graph入門
Boost.Graph入門egtra
4K vistas23 diapositivas
error handling using expected por
error handling using expectederror handling using expected
error handling using expectedAkira Takahashi
3K vistas30 diapositivas
C++14 solve explicit_default_constructor por
C++14 solve explicit_default_constructorC++14 solve explicit_default_constructor
C++14 solve explicit_default_constructorAkira Takahashi
7.3K vistas7 diapositivas

Destacado(20)

二分探索法で作る再帰呼び出しできるCプリプロセッサマクロ por digitalghost
二分探索法で作る再帰呼び出しできるCプリプロセッサマクロ二分探索法で作る再帰呼び出しできるCプリプロセッサマクロ
二分探索法で作る再帰呼び出しできるCプリプロセッサマクロ
digitalghost7.5K vistas
Boost study14 por fjnl
Boost study14Boost study14
Boost study14
fjnl2.1K vistas
左と右の話 por Cryolite
左と右の話左と右の話
左と右の話
Cryolite6.9K vistas
Boost.Graph入門 por egtra
Boost.Graph入門Boost.Graph入門
Boost.Graph入門
egtra4K vistas
C++14 solve explicit_default_constructor por Akira Takahashi
C++14 solve explicit_default_constructorC++14 solve explicit_default_constructor
C++14 solve explicit_default_constructor
Akira Takahashi7.3K vistas
クソザコ鳥頭が非順序連想コンテナに入門してみた por Mitsuru Kariya
クソザコ鳥頭が非順序連想コンテナに入門してみたクソザコ鳥頭が非順序連想コンテナに入門してみた
クソザコ鳥頭が非順序連想コンテナに入門してみた
Mitsuru Kariya6.6K vistas
Percepción social de la discapacidad física. por José María
Percepción social de la discapacidad física.Percepción social de la discapacidad física.
Percepción social de la discapacidad física.
José María2K vistas
Отзыв о работе переводчика por Ksenia Mazheyko
Отзыв о работе переводчикаОтзыв о работе переводчика
Отзыв о работе переводчика
Ksenia Mazheyko718 vistas
Marcus Chantrey, Go Green December Business Breakfast, St Mary Redcliffe Chur... por Go Green
Marcus Chantrey, Go Green December Business Breakfast, St Mary Redcliffe Chur...Marcus Chantrey, Go Green December Business Breakfast, St Mary Redcliffe Chur...
Marcus Chantrey, Go Green December Business Breakfast, St Mary Redcliffe Chur...
Go Green843 vistas
Настанова щодо роботи в ВікіОсвіті por galina_pr
Настанова щодо роботи в ВікіОсвітіНастанова щодо роботи в ВікіОсвіті
Настанова щодо роботи в ВікіОсвіті
galina_pr1.1K vistas
ばすけ por roap_jp
ばすけばすけ
ばすけ
roap_jp1K vistas
Power of Outdoor Play - We Built a Hill por Chris Wejr
Power of Outdoor Play - We Built a HillPower of Outdoor Play - We Built a Hill
Power of Outdoor Play - We Built a Hill
Chris Wejr7.1K vistas
開発環境と言語 por ujihisa
開発環境と言語開発環境と言語
開発環境と言語
ujihisa1.8K vistas
ADN Antreprenor 2016 - Cristian Logofatu, Bittnet por Gabriel Barliga
ADN Antreprenor 2016 - Cristian Logofatu, BittnetADN Antreprenor 2016 - Cristian Logofatu, Bittnet
ADN Antreprenor 2016 - Cristian Logofatu, Bittnet
Gabriel Barliga813 vistas

Similar a Multi paradigm design

ex-Workshop06『three.jsを使ってモデリングソフトを試作する』 por
ex-Workshop06『three.jsを使ってモデリングソフトを試作する』ex-Workshop06『three.jsを使ってモデリングソフトを試作する』
ex-Workshop06『three.jsを使ってモデリングソフトを試作する』Takahiro Hirata
3.4K vistas42 diapositivas
普段こういうこと気にしながら、こんな風に作ってます。 por
普段こういうこと気にしながら、こんな風に作ってます。普段こういうこと気にしながら、こんな風に作ってます。
普段こういうこと気にしながら、こんな風に作ってます。c-mitsuba
1.5K vistas73 diapositivas
初音玲の流儀 - なんでプログラミングしているの? por
初音玲の流儀 - なんでプログラミングしているの?初音玲の流儀 - なんでプログラミングしているの?
初音玲の流儀 - なんでプログラミングしているの?Akira Hatsune
3.3K vistas11 diapositivas
デザインツール戦争とMaterial Theme Editor por
デザインツール戦争とMaterial Theme Editorデザインツール戦争とMaterial Theme Editor
デザインツール戦争とMaterial Theme EditorAsami Yamamoto
1.9K vistas79 diapositivas
Cppmix 01 por
Cppmix 01Cppmix 01
Cppmix 01Akira Takahashi
1K vistas11 diapositivas
デザイナー×エンジニア ~ハッカソンからのつながり~(まにフェス) por
デザイナー×エンジニア ~ハッカソンからのつながり~(まにフェス)デザイナー×エンジニア ~ハッカソンからのつながり~(まにフェス)
デザイナー×エンジニア ~ハッカソンからのつながり~(まにフェス)Chihiro Tomita
1.5K vistas34 diapositivas

Similar a Multi paradigm design(20)

ex-Workshop06『three.jsを使ってモデリングソフトを試作する』 por Takahiro Hirata
ex-Workshop06『three.jsを使ってモデリングソフトを試作する』ex-Workshop06『three.jsを使ってモデリングソフトを試作する』
ex-Workshop06『three.jsを使ってモデリングソフトを試作する』
Takahiro Hirata3.4K vistas
普段こういうこと気にしながら、こんな風に作ってます。 por c-mitsuba
普段こういうこと気にしながら、こんな風に作ってます。普段こういうこと気にしながら、こんな風に作ってます。
普段こういうこと気にしながら、こんな風に作ってます。
c-mitsuba1.5K vistas
初音玲の流儀 - なんでプログラミングしているの? por Akira Hatsune
初音玲の流儀 - なんでプログラミングしているの?初音玲の流儀 - なんでプログラミングしているの?
初音玲の流儀 - なんでプログラミングしているの?
Akira Hatsune3.3K vistas
デザインツール戦争とMaterial Theme Editor por Asami Yamamoto
デザインツール戦争とMaterial Theme Editorデザインツール戦争とMaterial Theme Editor
デザインツール戦争とMaterial Theme Editor
Asami Yamamoto1.9K vistas
デザイナー×エンジニア ~ハッカソンからのつながり~(まにフェス) por Chihiro Tomita
デザイナー×エンジニア ~ハッカソンからのつながり~(まにフェス)デザイナー×エンジニア ~ハッカソンからのつながり~(まにフェス)
デザイナー×エンジニア ~ハッカソンからのつながり~(まにフェス)
Chihiro Tomita1.5K vistas
CodingTips+ 基礎編 por Yusuke Ito
CodingTips+ 基礎編CodingTips+ 基礎編
CodingTips+ 基礎編
Yusuke Ito516 vistas
クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp por Katsuya Shimizu
クロスプラットフォーム開発雑感 #pronamaclrhsapporocppクロスプラットフォーム開発雑感 #pronamaclrhsapporocpp
クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp
Katsuya Shimizu4.5K vistas
市場価値を高める仕事のつかみ方 por Daiki Tanoguchi
市場価値を高める仕事のつかみ方市場価値を高める仕事のつかみ方
市場価値を高める仕事のつかみ方
Daiki Tanoguchi1.7K vistas
ownCloudについて por Shinya Saita
ownCloudについてownCloudについて
ownCloudについて
Shinya Saita3.8K vistas
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 por Katsuhiro Morishita
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
Katsuhiro Morishita71.4K vistas
印刷APIのサポート事情 - DevRel Meetup in Tokyo #17 por Yasunori Kihara
印刷APIのサポート事情 - DevRel Meetup in Tokyo #17印刷APIのサポート事情 - DevRel Meetup in Tokyo #17
印刷APIのサポート事情 - DevRel Meetup in Tokyo #17
Yasunori Kihara1.6K vistas
WordPressで行うシステム開発 WordCamp Tokyo 2015用 por Satoshi Kamigaki
WordPressで行うシステム開発 WordCamp Tokyo 2015用WordPressで行うシステム開発 WordCamp Tokyo 2015用
WordPressで行うシステム開発 WordCamp Tokyo 2015用
Satoshi Kamigaki7.2K vistas
アプリデザインの共通言語 por Hiroki Akiyama
アプリデザインの共通言語アプリデザインの共通言語
アプリデザインの共通言語
Hiroki Akiyama418 vistas
PyCharm入門 por Yuki Nagai
PyCharm入門PyCharm入門
PyCharm入門
Yuki Nagai12.1K vistas
ECMA-376の活用を考える(XLSX編) por You&I
ECMA-376の活用を考える(XLSX編)ECMA-376の活用を考える(XLSX編)
ECMA-376の活用を考える(XLSX編)
You&I138 vistas

Más de Akira Takahashi

Cpp20 overview language features por
Cpp20 overview language featuresCpp20 overview language features
Cpp20 overview language featuresAkira Takahashi
890 vistas28 diapositivas
Cppmix 02 por
Cppmix 02Cppmix 02
Cppmix 02Akira Takahashi
675 vistas7 diapositivas
Modern C++ Learning por
Modern C++ LearningModern C++ Learning
Modern C++ LearningAkira Takahashi
18.5K vistas12 diapositivas
cpprefjp documentation por
cpprefjp documentationcpprefjp documentation
cpprefjp documentationAkira Takahashi
1.3K vistas23 diapositivas
Boost tour 1_61_0 merge por
Boost tour 1_61_0 mergeBoost tour 1_61_0 merge
Boost tour 1_61_0 mergeAkira Takahashi
2K vistas126 diapositivas
Boost tour 1_61_0 por
Boost tour 1_61_0Boost tour 1_61_0
Boost tour 1_61_0Akira Takahashi
1.4K vistas14 diapositivas

Más de Akira Takahashi(20)

Cpp20 overview language features por Akira Takahashi
Cpp20 overview language featuresCpp20 overview language features
Cpp20 overview language features
Akira Takahashi890 vistas
C++14 relaxing constraints on constexpr por Akira Takahashi
C++14 relaxing constraints on constexprC++14 relaxing constraints on constexpr
C++14 relaxing constraints on constexpr
Akira Takahashi4.7K vistas
Leaning random using Boost Random por Akira Takahashi
Leaning random using Boost RandomLeaning random using Boost Random
Leaning random using Boost Random
Akira Takahashi6.2K vistas

Multi paradigm design