際際滷

際際滷Share a Scribd company logo
京看看壊岳のあるプログラミング伏試



                  互鮠(Akira Takahashi)

    ブログ此Faith and Brave C C++で[ぼう々
     http://d.hatena.ne.jp/faith_and_brave/
                     わんくま罪篋茶氏 2010/08/28(輿)
傚札芥`ナ`
 プログラミングjI
 (ライクな汐)を兵めました。


タイトルは

プログラミングの徴
゛Programmers¨ Grimoire゛
です。



汐井は頼畠鞭廣伏bのためすでにめ
俳りましたが、PDF井は澓辛嬬です。
http://longgate.co.jp/products.html
はじめに

Boostによって、C++でのプログラミングは
かなり否叟で、薦なものとなりました。

書指は、Boost 1.43.0r泣でのとくに薦で、
暴が挫んで聞喘しているライブラリをB初します。
アジェンダ


1.   MultiIndex
2.   Spirit.Qi
3.   PropertyTree
4.   Range 2.0
5.   Under Construction
Chapter 1


      Multi Index
            y栽デ`タ夛
MultiIndexとは採か



}方のインデックスを隔てるコンテナ

        怏み栽わせは徭喇徭壓
MultiIndex Introduction 1/5
 まずはgなサンプルから。
 携謐を岑っているstd::setです。

using namespace boost::multi_index;

typedef multi_index_container<
  int,
  indexed_by<
    ordered_unique<identity<int> >, // std::setで、
    sequenced<>                     // 携謐を岑ってる
  >
> container;

☆ファイルに秘っている會に匯E燕幣、というI尖を覿                 Next >>
MultiIndex Introduction 2/5
 採も櫃砲靴覆韻譴std::setとして聞えます


container c;

c.insert(3);
c.insert(1);
c.insert(4);

boost::for_each(c, disp);
1 3 4



std::setと揖じく、ソ`トされて燕幣される               Next >>
MultiIndex Introduction 3/5
 1桑朕のインデックス(つまりsequenced)として
 聞喘すると携謐にI尖できます
container c;

c.insert(3);
c.insert(1);
c.insert(4);

boost::for_each(c.get<1>(), disp);
3 1 4



携謐に竃薦される。                             Next >>
ordered_uniqueを苧幣議に函誼したい栽はget<0>()
MultiIndex Introduction 4/5
0とか1とかいうインデックス桑催なんてえられない
インデックスにタグ(兆念)を原けましょう。
struct order {};
struct seq {};

typedef multi_index_container<
  int,
  indexed_by<
    ordered_unique<tag<order>, identity<int> >,
    sequenced<tag<seq> >
  >
> container;
                                                  Next >>
MultiIndex Introduction 5/5
 タグを峺協してインデックスを函誼できます。


container c;

c.insert(3);
c.insert(1);
c.insert(4);

boost::for_each(c.get<seq>(), disp);
3 1 4



携謐に竃薦される。
ordered_uniqueを苧幣議に函誼したい栽はget<order>()
End of Introduction




あとはインデックスのNとMみ栽わせだけ
戻工されているインデックス


      インデックス                     鬉垢襯灰鵐謄
ordered_unique       std::set (デフォルト)
ordered_non_unique   std::multiset
hashed_unique        boost::unordered_set
hashed_non_unique    boost::unordered_multiset
sequenced            std::list
random_access        std::vector
試喘箭 1/4
}方のキ`を隔つ看




                  Next >>
試喘箭 2/4
 こんな夛悶があるとして


struct file {
    std::string   name;
    std::size_t   size;
    file_kind     kind;
    datetime      update_date;
};




                                 Next >>
試喘箭 3/4
   memberを聞喘して、
   どのメンバ篳をキ`にするか峺協する
typedef multi_index_container<
  file,
  indexed_by<
    ordered_unique<    member<file,   std::string,   &file::name> >,
    ordered_non_unique<member<file,   std::size_t,   &file::size> >,
    ordered_non_unique<member<file,   file_kind,     &file::kind> >,
    ordered_non_unique<member<file,   datetime,      &file::update_date> >
  >
> file_container;




                                                                 Next >>
試喘箭 4/4
タグを原けて、恷K議にこんな湖じで聞えます

void disp_file_info(const file&);


file_container files;
...

// 兆念にKび紋えて燕幣
boost::for_each(files.get<name_order>(), disp_file_info);

// ファイルNをキ`にして、jpgファイルを碧
if (files.get<kind_order>().find(file_kind::jpeg) !=
    files.get<kind_order>().end()) {
    ...
}
まとめ
? 鮄湛譴呂箸討レい

? g廾のはしませんが、紳覆徭蛍で恬るより方
  嵐蔚いいです。

 そのへんのはk.inabaさんのセッションをみてくだ
 さい
 http://www.ustream.tv/recorded/2968920

? ドキュメント
 http://www.boost.org/libs/multi_index/doc/index.html
アドバイス


蛍護y嵶しましょう。

じゃないとコ`ド楚が卯kします。

Typedef Templateとかえておくといいです。
Chapter 2


            Spirit.Qi
                  猟盾裂DSEL
はじめに




徭念の猟盾裂してたりしませんか
はじめに




猟忖双のfindv方とか聞ってませんか
はじめに




1猟忖ずつ徭蛍で盾裂したりしてませんか
はじめに




そんな徭念の猟盾裂から怱Iできます。
      そう、河庄ならね。
Qiとは採か


? Boost.Spiritの猟盾裂ライブラリであり、
  DSEL(Domain Specific Enbedded Language :
          ドメイン蒙晒Mみzみ冱Z)

? Qiのiみは仝キ々。櫃任后
  暴は仝キュ`アイ々とiんでるのでそれでいき
  ます。
まず和
こんなの喘吭しておきます。
begin(), end()をかないためのgなるラッパ`
です。

template <class Parser, class Result>
bool parse(const std::string& s, const Parser& p, Result& result)
{
    std::string::const_iterator it = s.begin();
    return boost::spirit::qi::parse(it, s.end(), p, result);
}


ついでに、兆念腎gを福待しておきます。
using namespace boost::spirit::qi;
カッコの嶄附を函り竃してみる
 operator>>()處麻徨と、
 int_, char_吉の光侏喘のパ`サ`を聞喘します。
const std::string s = ^(123) ̄;

typedef int result_type;
typedef rule<std::string::const_iterator, result_type()> rule_type;

const rule_type r = `(¨ >> int_ >> `)¨;

result_type result;
parse(s, r, result);

std::cout << result << std::endl;

123
                              I尖はg|1佩
デ`タ侏パ`サ`


          パ`サ`              侏(マッチする箭)
int_             int(123)
double_          double(3.14)
bin              unsigned int(0101)
hex              unsigned int(1a)
char_            char(a)
auto_            徭啜弔僕噸
CSVを盾裂してみる
 %はstd::vector<T>を卦すgなRり卦し喘パ`サ`

const std::string s = ^123,456,789 ̄;

typedef std::vector<int> result_type;
typedef rule<std::string::const_iterator, result_type()> rule_type;

const rule_type r = int_ % `,¨; // カンマ曝俳り、勣殆はint

result_type result;
parse(s, r, result);

boost::for_each(result, disp);

123 456 789
IPv4を盾裂してみる
 ,を.に笋┐襪世院

const std::string s = ^192.168.0.1 ̄;

typedef std::vector<int> result_type;
typedef rule<std::string::const_iterator, result_type()> rule_type;

const rule_type r = int_ % `.¨; // ドット曝俳り、勣殆はint

result_type result;
parse(s, r, result);

boost::for_each(result, disp);

192 168 0 1
侏がなるシ`ケンスの栽
  Boost.Fusionのシ`ケンスでY惚を鞭け函る
const std::string s = ^123,Akira,25 ̄;

typedef fusion::vector<int, std::string, int> result_type;
typedef rule<std::string::const_iterator, result_type()> rule_type;

const rule_type r =
         int_ >> `,¨ >> *(char_ - `,¨) >> `,¨ >> int_;

result_type result;
parse(s, r, result);

std::cout << result << std::endl;
(123 Akira 25)
パ`サ`處麻徨


        處麻徨                h苧
>>            シ`ケンス。
              Fusionのシ`ケンスを卦す。
*a            0指參貧のRり卦し。
              std::vector<A>, std::stringを卦す。
a%b           b曝俳りの1指參貧のRり卦し。
              std::vector<A>を卦す。
a C b         餓。bではないg。
パ`サ`ディレクティブ


            處麻徨           h苧
omit[a]           aのパ`スは佩うがY惚はいら
                  ない。
repeat[a]         パ`スに撹孔する泙蝓aパ`
                  サ`をRり卦す。
                  std::vector<A>を卦す。
repeat(N)[a]      N指aパ`サ`をRり卦す。
                  std::vector<A>を卦す。
パ`サ`ディレクティブの箭 1/2
 カッコの嶄附を函り竃すH、
 念に原いている猟忖双はいらない、という栽。
const std::string s = ^abc(123) ̄;

typedef int result_type;
typedef rule<std::string::const_iterator, result_type()> rule_type;

const rule_type r =
           omit[*(char_ - '(')] >> `(¨ >> int_ >> `)¨;

result_type result;
parse(s, r, result);

std::cout << result << std::endl;
123
パ`サ`ディレクティブの箭 1/2
 Nのデ`タをiむ。

const std::string s = ^(123)(456)(789) ̄;

typedef std::vector<int> result_type;
typedef rule<std::string::const_iterator, result_type()> rule_type;

const rule_type r =
           repeat(3)[`(¨ >> int_ >> `)¨]; // (3)は福待辛

result_type result;
parse(s, r, result);

boost::for_each(result, disp)
123 456 789
恷瘁の箭 1/2
 パ`スrに夛悶に匯kQする

struct person {
    int id;
    std::string name;
    int age;
};

BOOST_FUSION_ADAPT_STRUCT(
    person,
    (int, id)
    (std::string, name)
    (int, age)
)

    Boost.Fusionには、ユ`ザ`協xの侏を
    Fusionのシ`ケンスとしてアダプトするC嬬がある
恷瘁の箭 2/2
 夛悶でY惚を鞭け函る
const std::string s = ^123,Akira,25 ̄;

typedef person result_type;
typedef rule<std::string::const_iterator, result_type()> rule_type;

const rule_type r =
         int_ >> `,¨ >> *(char_ - `,¨) >> `,¨ >> int_;

result_type p;
parse(s, r, p);

std::cout << p.id << ^  ̄ << p.name << ^  ̄
          << p.age << std::endl;

123 Akira 25
さなかったこと

?   セマンティックアクション
?   Spirit.PhoenixとのB亊
?   猟忖コ`ドのQいほげほげ
?   イテレ`タによるW决パ`ス
?   エラ`I尖
まとめ


? Spirit.Qiはgかつ薦です。
? 夛悶へも匯kパ`スできます。
? iめます。

? ドキュメント
 http://www.boost.org/libs/spirit/doc/html/spirit/qi.
 html
Chapter 3


   Property Tree
            ツリ`夛の喘プロパティ砿尖
PropertyTreeとは


? ツリ`夛への匯違議なアクセス圭隈を戻工
  するライブラリ

? 聞喘する侏はboost::property_tree::ptree

? 棋李のXMLパ`サ`、JSONパ`サ`喜d
 (麿にも、INFOとINIのパ`サ`がある)
XMLパ`サ`
 XMLのiz、勣殆、奉來の函誼。
 XMLパ`サ`にはRapidXmlを駻辰靴討い襦
                                          <root>
                                           <elem attr="World">
                                             Hello
using namespace boost::property_tree;      </elem>
                                          </root>
ptree pt;
read_xml("test.xml", pt, xml_parser::trim_whitespace);

// 勣殆の函誼
const string& elem = pt.get<string>("root.elem");

// 奉來の函誼 : <xmlattr>という蒙歩な勣殆兆を初してアクセスする
const string& attr = pt.get<string>("root.elem.<xmlattr>.attr");
JSONパ`サ`
 JSONのiz、デ`タの函誼。
 パ`サ`はSpirit.Classicでかれている。
                                         {
                                             "Data": {
                                               "Value": 314,
using namespace boost::property_tree;          "Str": "Hello"
                                             }
ptree pt;                                }
read_json("test.json", pt);

const int     value = pt.get<int>("Data.Value");
const string& str = pt.get<string>("Data.Str");
さらっとまとめと廣吭並
? XMLパ`サ`がやっと秘りました。

? XPathじゃなくPropertyTreeの鏡徭猟によるアクセ
  スなので廣吭。

? ptree::getは払rに箭翌誘げる。
  boost::optionalを卦すptree::get_optionalもあります。

? ドキュメント
  http://www.boost.org/doc/html/property_tree.html
Chapter 4


       Range 2.0
            Adaptor & Algorithms
Boost.Range 2.0



            Boost 1.43.0で、
Boost.Rangeのバ`ジョンが2.0になりました。
Boost.Range 1.0
 1.0でできること
template <class Range, class T>
typename boost::range_iterator<Range>::type
  find(Range& r, const T& value)
{
  return std::find(boost::begin(r), boost::end(r), value);
}

int ar[3];
int* p = find(ar, 1);

std::vector<int> v;
std::vector<int>::iterator it = find(v, 1);

 塘双やコンテナを揖じようにQうための
 ユ`ティリティが戻工されていた。
Rangeアルゴリズム
 2.0では、念のような
 Rangeにするアルゴリズムが戻工されている。

const std::vector<int> v = {3, 1, 4};
boost::sort(v);

const std::vector<int> v = {1, 2, 3};
boost::for_each(v, [](int x) { std::cout << x << std::endl; });

const std::vector<int> v = {1, 2, 3};
const std::list<int>   ls = {1, 2, 3};
const bool is_same = boost::equal(v, ls);


 begin()/end()をかなくてもよくなった。
Rangeアダプタ
 Rangeにする}方の荷恬を栽撹する
 仝Rangeアダプタ々も富しだが戻工されている。

using namespace boost::adaptors;

const std::vector<int> v = {1, 2, 3, 4, 5};
boost::for_each(v | filtered(is_even) | transformed(to_string),
                [](const std::string&) { ... });

const std::map<int, std::string> m;
boost::for_each(m | map_values, [](const std::string&) { ... });

const std::vector<std::shared_ptr<X>> v;
boost::for_each(v | indirected, [](const X&) { ... });

  Rangeアダプタのm喘にはoperator|()を聞喘する。
檎温稼乙艶アダプタの嶽窃

         アダプタ                        森
r | filtered(pred)   pred(x) == trueとなる勣殆を渇竃する
r | transformed(f)   光勣殆にf(x)をm喘する
r | map_keys         map<T1, T2>, vector<pair<T1, T2> >のよう
r | map_values       なRangeにし、map_keysはT1を渇竃し、
                     map_valuesはT2を渇竃する
r | indirected       スマ`トポインタのRangeへの勣殆アクセ
                     スを、*pではなくxでアクセス辛嬬にする
erc...
W决u
r | filtered(pred) | transformed(f);

 は、このr泣ではRangeの畠勣殆の罪僅は佩われない。

 Rangeアダプタは、光勣殆へのイテレ`タをラップするような
 g廾になっているため、參和のような
for_each(r | filtered(pred) | transformed(f), ...);

  アルゴリズムによるイテレ`タにするuが佩われたときに
  filtered : 勣殆のiみwばし
  transformed : 勣殆へのv方m喘
  が佩われる。
  そのため、このRangeにする}方の荷恬は匯業のル`プで
  g佩される。
Rangeまとめ
? Range Algorithmで、STLアルゴリズムがより聞いやすくな
  りました。

? Rangeアダプタで、より渇鶺弔淵廛蹈哀薀潺鵐阿辛嬬に
  なり、C++でW决uのリストI尖ができるようになりま
  した。

? でもまだまだ、Rangeアダプタが怎りない。Ovenが薦で
  す。

? ドキュメント
  http://www.boost.org/libs/range/doc/html/index.html
Final Chapter

   Under Construction
隆栖のお

Boost昨aとして_kされているライブラリを
いくつかB初します。

1. Mirror
2. STM
3. LA
Mirror
    リフレクションのライブラリ。
    コンパイルr、g佩rで嗤喘なメタ秤鵑鯣ゝ辰任る。
struct info_printer {
  template <class IterInfo>
  void operator()(IterInfo) const
    { std::cout << IterInfo::type::full_name() << std::endl; }
};

template <typename T>
void print_info() {
  using namespace boost::mirror;
  typedef BOOST_MIRRORED_CLASS(T) meta_X;

    std::cout << meta_X::full_name() << std::endl; // std::string
    std::cout << meta_X::base_name() << std::endl; // string
    mp::for_each_ii< class_layout<meta_X> >(info_printer()); // メンバ双ぁ
}

print_info<std::string>();
STM
  Software Transactional Memoryのライブラリ。
  Lock/Unlock井のGCみたいなもの。

  ロックして軸I尖、ではなくトランザクションによって
  砿尖するため、より互堀で、ロックを佩う麿のI尖とも
  栽撹できる。
boost::stm::tx::object<int> counter(0);

int increment() {
    BOOST_STM_TRANSACTION {
        return counter++;
    } BOOST_STM_END_TRANSACTION;
}
LA
仟たな侘旗方ライブラリ。
N肝圷のベクトル吉にして、operator|()によるy匯議な
アクセス圭隈を戻工する。
また、vector_traitsをユ`ザ`協x侏で蒙歩晒することで、
LAのベクトル、佩双としてgにQうことができる。
struct float3 { float a[3]; };

namespace boost { namespace la {
  template <> struct vector_traits<float3> { ... };
}}
float3 v;
v|X = 0;
v|Y = 0;
v|Z = 7;
float vmag = magnitude(v);
float3 m = rotx_matrix<3>(3.14159f);
float3 vrot = m * v;
UnderConstructionまとめ
? 瑤里茲Δ淵薀ぅ屮薀蠅たくさん恬られてます

? ただ、レビュ`マネ`ジャ`音怎でなかなかリリ`ス
  できないのがF彜

? 徭蛍が誼吭な蛍勸のライブラリがレビュ`キュ`に
  あったら、ぜひレビュ`マネ`ジャ`に羨昨aしてく
  ださい
畠悶まとめ

? Boostの晩云Z鍬UプロジェクトやR~さんの
  云などでXがれていたのは1.32.0゛1.34.0。

? 恷仟のBoostはさらなるM晒を膜げており、
  Boostがあればたいていのことはできます。

? ぜひ碧並でも駻辰靴泙靴腓Α
  徭蛍で恬るよりバグが富なく、謹くのユ`ザ`
  に聞われてますよ。

More Related Content

What's hot (20)

屈蛍冥沫隈で恬る壅「柵び竃しできる遺プリプロセッサマクロ
屈蛍冥沫隈で恬る壅「柵び竃しできる遺プリプロセッサマクロ屈蛍冥沫隈で恬る壅「柵び竃しできる遺プリプロセッサマクロ
屈蛍冥沫隈で恬る壅「柵び竃しできる遺プリプロセッサマクロ
digitalghost
?
檎艶糸馨庄稼艶カスタムフィ`ルド燕幣個鋲
檎艶糸馨庄稼艶カスタムフィ`ルド燕幣個鋲檎艶糸馨庄稼艶カスタムフィ`ルド燕幣個鋲
檎艶糸馨庄稼艶カスタムフィ`ルド燕幣個鋲
Yuuki Nara
?
‐Unity/ Behavior TreeでAIを恬る
 ‐Unity/ Behavior TreeでAIを恬る ‐Unity/ Behavior TreeでAIを恬る
‐Unity/ Behavior TreeでAIを恬る
torisoup
?
ゲ`ム直冥沫室宝とコンピュ`タ繍薙への鮄
ゲ`ム直冥沫室宝とコンピュ`タ繍薙への鮄ゲ`ム直冥沫室宝とコンピュ`タ繍薙への鮄
ゲ`ム直冥沫室宝とコンピュ`タ繍薙への鮄
Shogo Takeuchi
?
Python におけるドメインl嘖O(蚩g中)の娠どころ
Python におけるドメインl嘖O(蚩g中)の娠どころPython におけるドメインl嘖O(蚩g中)の娠どころ
Python におけるドメインl嘖O(蚩g中)の娠どころ
Junya Hayashi
?
朕grep秘T +盾h
朕grep秘T +盾h朕grep秘T +盾h
朕grep秘T +盾h
murachue
?
遺++コミュニティ`の嶄伉で遺++を禽鴛皆る
遺++コミュニティ`の嶄伉で遺++を禽鴛皆る遺++コミュニティ`の嶄伉で遺++を禽鴛皆る
遺++コミュニティ`の嶄伉で遺++を禽鴛皆る
Hideyuki Tanaka
?
メタプログラミングって採だろう
メタプログラミングって採だろうメタプログラミングって採だろう
メタプログラミングって採だろう
Kota Mizushima
?
C++ マルチスレッド 秘T
C++ マルチスレッド 秘TC++ マルチスレッド 秘T
C++ マルチスレッド 秘T
奨寄 マイコンクラブ
?
すごい constexpr たのしくレイトレ
すごい constexpr たのしくレイトレすごい constexpr たのしくレイトレ
すごい constexpr たのしくレイトレ
Genya Murakami
?
C++のSTLのコンテナ侏を古Qする @ Ohotech 蒙腹 #102014.8.30
C++のSTLのコンテナ侏を古Qする @ Ohotech 蒙腹 #102014.8.30C++のSTLのコンテナ侏を古Qする @ Ohotech 蒙腹 #102014.8.30
C++のSTLのコンテナ侏を古Qする @ Ohotech 蒙腹 #102014.8.30
Hiro H.
?
雨稼庄岳霞と.鰻掘意
雨稼庄岳霞と.鰻掘意雨稼庄岳霞と.鰻掘意
雨稼庄岳霞と.鰻掘意
AimingStudy
?
うちの檎艶糸馨庄稼艶の聞い圭┌横
うちの檎艶糸馨庄稼艶の聞い圭┌横うちの檎艶糸馨庄稼艶の聞い圭┌横
うちの檎艶糸馨庄稼艶の聞い圭┌横
Tomohisa Kusukawa
?
クソザコ抵遊が掲乏會銭襯灰鵐謄覆鉾訝鼎靴討澆
クソザコ抵遊が掲乏會銭襯灰鵐謄覆鉾訝鼎靴討澆クソザコ抵遊が掲乏會銭襯灰鵐謄覆鉾訝鼎靴討澆
クソザコ抵遊が掲乏會銭襯灰鵐謄覆鉾訝鼎靴討澆
Mitsuru Kariya
?
採となく茶膿した欸屬砲覆譴襯僣`サ秘壇
採となく茶膿した欸屬砲覆譴襯僣`サ秘壇採となく茶膿した欸屬砲覆譴襯僣`サ秘壇
採となく茶膿した欸屬砲覆譴襯僣`サ秘壇
masayoshi takahashi
?
C++ マルチスレット?フ?ロク?ラミンク?
C++ マルチスレット?フ?ロク?ラミンク?C++ マルチスレット?フ?ロク?ラミンク?
C++ マルチスレット?フ?ロク?ラミンク?
Kohsuke Yuasa
?
CTF for ビギナ`ズ バイナリvY創
CTF for ビギナ`ズ バイナリvY創CTF for ビギナ`ズ バイナリvY創
CTF for ビギナ`ズ バイナリvY創
SECCON Beginners
?
Boost.SIMD
Boost.SIMDBoost.SIMD
Boost.SIMD
Akira Takahashi
?
鮫I尖の互來嬬柴麻
鮫I尖の互來嬬柴麻鮫I尖の互來嬬柴麻
鮫I尖の互來嬬柴麻
Norishige Fukushima
?
峠中グラフと住宥ネットワ`クのアルゴリズム
峠中グラフと住宥ネットワ`クのアルゴリズム峠中グラフと住宥ネットワ`クのアルゴリズム
峠中グラフと住宥ネットワ`クのアルゴリズム
Takuya Akiba
?
屈蛍冥沫隈で恬る壅「柵び竃しできる遺プリプロセッサマクロ
屈蛍冥沫隈で恬る壅「柵び竃しできる遺プリプロセッサマクロ屈蛍冥沫隈で恬る壅「柵び竃しできる遺プリプロセッサマクロ
屈蛍冥沫隈で恬る壅「柵び竃しできる遺プリプロセッサマクロ
digitalghost
?
檎艶糸馨庄稼艶カスタムフィ`ルド燕幣個鋲
檎艶糸馨庄稼艶カスタムフィ`ルド燕幣個鋲檎艶糸馨庄稼艶カスタムフィ`ルド燕幣個鋲
檎艶糸馨庄稼艶カスタムフィ`ルド燕幣個鋲
Yuuki Nara
?
‐Unity/ Behavior TreeでAIを恬る
 ‐Unity/ Behavior TreeでAIを恬る ‐Unity/ Behavior TreeでAIを恬る
‐Unity/ Behavior TreeでAIを恬る
torisoup
?
ゲ`ム直冥沫室宝とコンピュ`タ繍薙への鮄
ゲ`ム直冥沫室宝とコンピュ`タ繍薙への鮄ゲ`ム直冥沫室宝とコンピュ`タ繍薙への鮄
ゲ`ム直冥沫室宝とコンピュ`タ繍薙への鮄
Shogo Takeuchi
?
Python におけるドメインl嘖O(蚩g中)の娠どころ
Python におけるドメインl嘖O(蚩g中)の娠どころPython におけるドメインl嘖O(蚩g中)の娠どころ
Python におけるドメインl嘖O(蚩g中)の娠どころ
Junya Hayashi
?
朕grep秘T +盾h
朕grep秘T +盾h朕grep秘T +盾h
朕grep秘T +盾h
murachue
?
遺++コミュニティ`の嶄伉で遺++を禽鴛皆る
遺++コミュニティ`の嶄伉で遺++を禽鴛皆る遺++コミュニティ`の嶄伉で遺++を禽鴛皆る
遺++コミュニティ`の嶄伉で遺++を禽鴛皆る
Hideyuki Tanaka
?
メタプログラミングって採だろう
メタプログラミングって採だろうメタプログラミングって採だろう
メタプログラミングって採だろう
Kota Mizushima
?
すごい constexpr たのしくレイトレ
すごい constexpr たのしくレイトレすごい constexpr たのしくレイトレ
すごい constexpr たのしくレイトレ
Genya Murakami
?
C++のSTLのコンテナ侏を古Qする @ Ohotech 蒙腹 #102014.8.30
C++のSTLのコンテナ侏を古Qする @ Ohotech 蒙腹 #102014.8.30C++のSTLのコンテナ侏を古Qする @ Ohotech 蒙腹 #102014.8.30
C++のSTLのコンテナ侏を古Qする @ Ohotech 蒙腹 #102014.8.30
Hiro H.
?
雨稼庄岳霞と.鰻掘意
雨稼庄岳霞と.鰻掘意雨稼庄岳霞と.鰻掘意
雨稼庄岳霞と.鰻掘意
AimingStudy
?
うちの檎艶糸馨庄稼艶の聞い圭┌横
うちの檎艶糸馨庄稼艶の聞い圭┌横うちの檎艶糸馨庄稼艶の聞い圭┌横
うちの檎艶糸馨庄稼艶の聞い圭┌横
Tomohisa Kusukawa
?
クソザコ抵遊が掲乏會銭襯灰鵐謄覆鉾訝鼎靴討澆
クソザコ抵遊が掲乏會銭襯灰鵐謄覆鉾訝鼎靴討澆クソザコ抵遊が掲乏會銭襯灰鵐謄覆鉾訝鼎靴討澆
クソザコ抵遊が掲乏會銭襯灰鵐謄覆鉾訝鼎靴討澆
Mitsuru Kariya
?
採となく茶膿した欸屬砲覆譴襯僣`サ秘壇
採となく茶膿した欸屬砲覆譴襯僣`サ秘壇採となく茶膿した欸屬砲覆譴襯僣`サ秘壇
採となく茶膿した欸屬砲覆譴襯僣`サ秘壇
masayoshi takahashi
?
C++ マルチスレット?フ?ロク?ラミンク?
C++ マルチスレット?フ?ロク?ラミンク?C++ マルチスレット?フ?ロク?ラミンク?
C++ マルチスレット?フ?ロク?ラミンク?
Kohsuke Yuasa
?
CTF for ビギナ`ズ バイナリvY創
CTF for ビギナ`ズ バイナリvY創CTF for ビギナ`ズ バイナリvY創
CTF for ビギナ`ズ バイナリvY創
SECCON Beginners
?
峠中グラフと住宥ネットワ`クのアルゴリズム
峠中グラフと住宥ネットワ`クのアルゴリズム峠中グラフと住宥ネットワ`クのアルゴリズム
峠中グラフと住宥ネットワ`クのアルゴリズム
Takuya Akiba
?

Viewers also liked (7)

C++ Presentation
C++ PresentationC++ Presentation
C++ Presentation
Carson Wilber
?
徴宝を乾ってみた
徴宝を乾ってみた徴宝を乾ってみた
徴宝を乾ってみた
Satoshi Sato
?
遺++の\徴宝
遺++の\徴宝遺++の\徴宝
遺++の\徴宝
Daichi OBINATA
?
遺++の三┗承韻砲△辰寝世せ娃
遺++の三┗承韻砲△辰寝世せ娃遺++の三┗承韻砲△辰寝世せ娃
遺++の三┗承韻砲△辰寝世せ娃
Yuki Tamura
?
C++ Template Meta Programming のB初隻臘效氏
C++ Template Meta Programming のB初隻臘效氏C++ Template Meta Programming のB初隻臘效氏
C++ Template Meta Programming のB初隻臘效氏
Akihiko Matuura
?
Template Meta Programming秘Tから鮄辰泙
Template Meta Programming秘Tから鮄辰泙Template Meta Programming秘Tから鮄辰泙
Template Meta Programming秘Tから鮄辰泙
yoshihikoozaki5
?
徴宝を乾ってみた
徴宝を乾ってみた徴宝を乾ってみた
徴宝を乾ってみた
Satoshi Sato
?
遺++の三┗承韻砲△辰寝世せ娃
遺++の三┗承韻砲△辰寝世せ娃遺++の三┗承韻砲△辰寝世せ娃
遺++の三┗承韻砲△辰寝世せ娃
Yuki Tamura
?
C++ Template Meta Programming のB初隻臘效氏
C++ Template Meta Programming のB初隻臘效氏C++ Template Meta Programming のB初隻臘效氏
C++ Template Meta Programming のB初隻臘效氏
Akihiko Matuura
?
Template Meta Programming秘Tから鮄辰泙
Template Meta Programming秘Tから鮄辰泙Template Meta Programming秘Tから鮄辰泙
Template Meta Programming秘Tから鮄辰泙
yoshihikoozaki5
?

Similar to 京看看壊岳のあるプログラミング伏試 (20)

遺++庁医嚥刑侏園殻
遺++庁医嚥刑侏園殻遺++庁医嚥刑侏園殻
遺++庁医嚥刑侏園殻
deer hope
?
遺++庁医嚥刑侏園殻
遺++庁医嚥刑侏園殻遺++庁医嚥刑侏園殻
遺++庁医嚥刑侏園殻
deer hope
?
Uso de la Programaci┏n para la Seguridad en Redes (a.k.a. Sockets y Shellcoding)
Uso de la Programaci┏n para la Seguridad en Redes (a.k.a. Sockets y Shellcoding)Uso de la Programaci┏n para la Seguridad en Redes (a.k.a. Sockets y Shellcoding)
Uso de la Programaci┏n para la Seguridad en Redes (a.k.a. Sockets y Shellcoding)
Pedro Valera
?
Преобразование Perl-структур в XML. Трефилова Екатерина. Moscow.pm 6 июля 2013
Преобразование Perl-структур в XML. Трефилова Екатерина. Moscow.pm 6 июля 2013Преобразование Perl-структур в XML. Трефилова Екатерина. Moscow.pm 6 июля 2013
Преобразование Perl-структур в XML. Трефилова Екатерина. Moscow.pm 6 июля 2013
Moscow.pm
?
Lecture7
Lecture7Lecture7
Lecture7
orgil
?
干温厩温バイトコ`ド秘壇
干温厩温バイトコ`ド秘壇干温厩温バイトコ`ド秘壇
干温厩温バイトコ`ド秘壇
Kota Mizushima
?
「って栖た鰻艶馨艶姻鉛艶
「って栖た鰻艶馨艶姻鉛艶「って栖た鰻艶馨艶姻鉛艶
「って栖た鰻艶馨艶姻鉛艶
Kota Mizushima
?
03 3-create-db-application-ado-dot-net Create Database Application with using...
03 3-create-db-application-ado-dot-net Create Database Application with using...03 3-create-db-application-ado-dot-net Create Database Application with using...
03 3-create-db-application-ado-dot-net Create Database Application with using...
Warawut
?
MongoDB Indexing: The Details
MongoDB Indexing: The DetailsMongoDB Indexing: The Details
MongoDB Indexing: The Details
MongoDB
?
T┨rsteher f┨r Bohnen
T┨rsteher f┨r BohnenT┨rsteher f┨r Bohnen
T┨rsteher f┨r Bohnen
Zambrovski Simon
?
Aspetos gerais de desenvolvimento web.
Aspetos gerais de desenvolvimento web.Aspetos gerais de desenvolvimento web.
Aspetos gerais de desenvolvimento web.
Corcioli
?
Вебинар Томулевича materialized.path 2
Вебинар Томулевича materialized.path 2 Вебинар Томулевича materialized.path 2
Вебинар Томулевича materialized.path 2
Media Gorod
?
檎庄温議膿薦朔芹紺艶壊岳+今楚贋刈
檎庄温議膿薦朔芹紺艶壊岳+今楚贋刈 檎庄温議膿薦朔芹紺艶壊岳+今楚贋刈
檎庄温議膿薦朔芹紺艶壊岳+今楚贋刈
zhen chen
?
N03 app engineseminar
N03 app engineseminarN03 app engineseminar
N03 app engineseminar
Sun-Jin Jang
?
Entity+framework+
Entity+framework+Entity+framework+
Entity+framework+
Rey zhang
?
Lecture9
Lecture9Lecture9
Lecture9
orgil
?
UglifyJS 聞喘猟亀
UglifyJS 聞喘猟亀UglifyJS 聞喘猟亀
UglifyJS 聞喘猟亀
苧 川
?
Lecture6
Lecture6Lecture6
Lecture6
orgil
?
遺++庁医嚥刑侏園殻
遺++庁医嚥刑侏園殻遺++庁医嚥刑侏園殻
遺++庁医嚥刑侏園殻
deer hope
?
遺++庁医嚥刑侏園殻
遺++庁医嚥刑侏園殻遺++庁医嚥刑侏園殻
遺++庁医嚥刑侏園殻
deer hope
?
Uso de la Programaci┏n para la Seguridad en Redes (a.k.a. Sockets y Shellcoding)
Uso de la Programaci┏n para la Seguridad en Redes (a.k.a. Sockets y Shellcoding)Uso de la Programaci┏n para la Seguridad en Redes (a.k.a. Sockets y Shellcoding)
Uso de la Programaci┏n para la Seguridad en Redes (a.k.a. Sockets y Shellcoding)
Pedro Valera
?
Преобразование Perl-структур в XML. Трефилова Екатерина. Moscow.pm 6 июля 2013
Преобразование Perl-структур в XML. Трефилова Екатерина. Moscow.pm 6 июля 2013Преобразование Perl-структур в XML. Трефилова Екатерина. Moscow.pm 6 июля 2013
Преобразование Perl-структур в XML. Трефилова Екатерина. Moscow.pm 6 июля 2013
Moscow.pm
?
Lecture7
Lecture7Lecture7
Lecture7
orgil
?
干温厩温バイトコ`ド秘壇
干温厩温バイトコ`ド秘壇干温厩温バイトコ`ド秘壇
干温厩温バイトコ`ド秘壇
Kota Mizushima
?
「って栖た鰻艶馨艶姻鉛艶
「って栖た鰻艶馨艶姻鉛艶「って栖た鰻艶馨艶姻鉛艶
「って栖た鰻艶馨艶姻鉛艶
Kota Mizushima
?
03 3-create-db-application-ado-dot-net Create Database Application with using...
03 3-create-db-application-ado-dot-net Create Database Application with using...03 3-create-db-application-ado-dot-net Create Database Application with using...
03 3-create-db-application-ado-dot-net Create Database Application with using...
Warawut
?
MongoDB Indexing: The Details
MongoDB Indexing: The DetailsMongoDB Indexing: The Details
MongoDB Indexing: The Details
MongoDB
?
Aspetos gerais de desenvolvimento web.
Aspetos gerais de desenvolvimento web.Aspetos gerais de desenvolvimento web.
Aspetos gerais de desenvolvimento web.
Corcioli
?
Вебинар Томулевича materialized.path 2
Вебинар Томулевича materialized.path 2 Вебинар Томулевича materialized.path 2
Вебинар Томулевича materialized.path 2
Media Gorod
?
檎庄温議膿薦朔芹紺艶壊岳+今楚贋刈
檎庄温議膿薦朔芹紺艶壊岳+今楚贋刈 檎庄温議膿薦朔芹紺艶壊岳+今楚贋刈
檎庄温議膿薦朔芹紺艶壊岳+今楚贋刈
zhen chen
?
N03 app engineseminar
N03 app engineseminarN03 app engineseminar
N03 app engineseminar
Sun-Jin Jang
?
Entity+framework+
Entity+framework+Entity+framework+
Entity+framework+
Rey zhang
?
Lecture9
Lecture9Lecture9
Lecture9
orgil
?
UglifyJS 聞喘猟亀
UglifyJS 聞喘猟亀UglifyJS 聞喘猟亀
UglifyJS 聞喘猟亀
苧 川
?
Lecture6
Lecture6Lecture6
Lecture6
orgil
?

More from Akira Takahashi (20)

Cpp20 overview language features
Cpp20 overview language featuresCpp20 overview language features
Cpp20 overview language features
Akira Takahashi
?
Cppmix 02Cppmix 02
Cppmix 02
Akira Takahashi
?
Cppmix 01
Cppmix 01Cppmix 01
Cppmix 01
Akira Takahashi
?
Modern C++ Learning
Modern C++ LearningModern C++ Learning
Modern C++ Learning
Akira Takahashi
?
cpprefjp documentation
cpprefjp documentationcpprefjp documentation
cpprefjp documentation
Akira Takahashi
?
C++1z draft
C++1z draftC++1z draft
C++1z draft
Akira Takahashi
?
Boost tour 1_61_0 merge
Boost tour 1_61_0 mergeBoost tour 1_61_0 merge
Boost tour 1_61_0 merge
Akira Takahashi
?
Boost tour 1_61_0
Boost tour 1_61_0Boost tour 1_61_0
Boost tour 1_61_0
Akira Takahashi
?
error handling using expected
error handling using expectederror handling using expected
error handling using expected
Akira Takahashi
?
Boost tour 1.60.0 merge
Boost tour 1.60.0 mergeBoost tour 1.60.0 merge
Boost tour 1.60.0 merge
Akira Takahashi
?
Boost tour 1.60.0
Boost tour 1.60.0Boost tour 1.60.0
Boost tour 1.60.0
Akira Takahashi
?
C++14 solve explicit_default_constructor
C++14 solve explicit_default_constructorC++14 solve explicit_default_constructor
C++14 solve explicit_default_constructor
Akira Takahashi
?

京看看壊岳のあるプログラミング伏試