nana C++ Libraryとか最近とか

時間やたら空いてしまった・・・

nanaとか

nana C++ libraryっていうのがあるそうです。具体的には

 

#include 
#include 

#ifdef NDEBUG
#pragma comment(lib, "nana_release.lib")
#else
#pragma comment(lib, "nana_debug.lib")
#endif

int main()
{
    nana::gui::form form;
    form.caption(STR("Hello World"));
    nana::gui::button btn(form, 20, 20, 150, 30);
    btn.caption(STR("Quit"));
    btn.make_event(nana::gui::API::exit);
    form.show();
    nana::gui::exec();
} 

みたいな感じで書くとボタン付きの窓が出ますよというライブラリ(ほぼsampleからのコピペ)

よいところとしてはそこそこC++っぽさが出ているという事だろうか。ちょっとmusketっぽいなと思いましたね

Win7 64bitで動かなかったので簡単なパッチを作成して投げましたので、今は動きます(なんかVerup履歴に堂々と名前が・・・)

あとhatenaさんはhatenaBlog用のスーパーpreをはよ

最近とか 

転職活動してます。まあぼちぼちと・・・

しかし面接ってのはいつやっても緊張するよね

俺、あの面接受かってたらF#読書会行くんだ・・・

勉強は停滞中。多忙とコンフリクトしてるけどもこういう時やる勉強の方が頭に入ったりするよね

2011ふりかえり

みなさま今年もお疲れ様でございました。
ざっくりですが、今年をまとめたエントリを書こうじゃないかと考えました

出た勉強会

  • Boost.勉強会#4,#6,#7
  • Jenkins勉強会#1
  • F#読書会 #1
sibutraにも出たなあと思ってたけど去年でした・・・w
前半はコード書きの勉強をしたりSCMの勉強に行ったりという中で(書くことと、管理する事の勉強の両立を)うまく両立させていけばよかったのですが、後半はそうはならずにBoost勉強会やF#読書会などのみの参加にとどまったのでそれが反省点ですね。SCMBCやTDDBCがあったのにスケジュールが合わずに参加できませんでした。
リア充路線との両立に失敗したという説もありますね

仕事

仕事としては、C#の勉強をして簡単なツール作りをするようになりました
いままでMFCとかでC++で作っていたんですがそれらが軽く後悔されるくらいの簡単さで俺は何をやっているんだ感が・・・
本職であるC++は、会社PCにVS2010が入りましたので、やったーlambda使えるぜヒャッハーとか思っていたら結局納入物はVC6でビルドした バイナリが必要という事でふざけんな感を醸し出しながらコード書いていました
あとボーナスが入らなくなったので本気で逃げます

これからというか、来年

目標

  • 勉強会で何かしゃべる(LTでも発表でも)
  • Python(Django)とF#を学ぶ
  • TDDとJenkinsについて学ぶ。その中で足りないGitの知識を補う
  • ついでに、転職

D言語とかScalaとかRubyへの浮気が進む可能性がありそうですがそうなったときにはそうするだけの理由を自分の中で結論付けられているような気がしますので、その時はその時

もうちょっと書くことあったと思ってたけど思い出せなかった・・・

さて、来年もよろしくお願い申し上げます 

mime parser

を、もくもくと書いていた。(まだ不完全だしいじる所は多いけども
Spirit.Qiを使ってみたかったんだけど、cpp-netlibにmimeパーサっぽいのがあったのですがこれで
こいつがパースできなかった(コロンで2つに分けたいだけ)

Return-Path: "俺"<ore@hogehoge.com>

んでいじってたんですよ

 mime_headerList = (mime_header % qi::eol) > crlf;
 mime_header		= token > ':' > value;
 token			= qi::char_("a-zA-Z") > *qi::char_("a-zA-Z_0-9\\-");
 value			= valuePart[ _val = _1 ] >> *(valueCont [ _val += "\r\n" + _1 ]);
 valueCont		= qi::lit ( "\r\n\t" ) >> valuePart;
 valuePart		= +qi::print;
			
 contWS			= +qi::char_( " \t");

コロンで左右に分けるためにはqi::printを使えばいいの?とか思って書いてたのだが途中でSEGV

コンパイルの遅さもあって今保留中。(qi::printって対象文字列が多いからなのかコンパイル時間がqi::char_とかの倍くらいかかる気が

これ闇の魔法陣だと大丈夫なのかなと思って見たらqi::_valが使われていた
Qi力が足りない・・・

検索窓のアレを書いてみた

ちょっと古いネタですが
元は

でして、調べてみたら簡単に書けるらしいので書いてみました

これらのxmlを、hogehoge\firefox\searchpluginsにいれてください
再起動すると入っています
これ投稿するにはどうするんだっけ・・・

Boost.勉強会#6@札幌

札幌いってきたんですよ
往復チケットと綺麗なホテル1泊がついて26800とか、こういうシーズンの素晴らしさを感じますね
日曜には余市いったり小樽水族館行ったりしていました

Boost.勉強会#6@札幌

受付でHiroさんに挨拶されたんですが「ども・・・」という人見知りっぷりを発揮した
すいません><
ああ、あとコーヒーこぼしてすいません><

Geometry

Concept-based Designと聞いてD言語DbCと名前が似てますねとか考えていた
Policy-based Designとか○○Design とか○Drive Developmentとか多いですよね最近
言葉を覚えるだけで中身を理解できている脳がちょっと足りていません

FunctionalBoost

ust組じゃなかったのに画面がよく見えませんでした。きっと呪文が書いてあったんだと思います

ContainerFacade

小脇にExceptional C++を抱えて聞くべきなセッション(場外乱闘より)
ベターCとしてC++を書いている人のためのダックタイプ専用ベターコンテナーを提供!(違います

TMP as式

C++11の->を使って、関数を返す関数を楽しく作りましょうというお話(ざっくり
なんかF#っぽくね?みたいな構文が見えました。C++こわい

Pstade

Eggの作りはけっこーわかりやすいなあと思いました。
遅延評価のしくみとか参考になる
まだ使ってないので使ってみたいなあと思いましたね

char_32tchar32_t

VC2010ばくはつしry
文字コードとか多すぎるのでDみたいに統一してしまえ!

C滅びろ

Cでよくね?⇒んなごだねげよ!
ひとむかしは組み込み屋さんでしたので、懐かしく見れたところもありました
ビットフィールド周りとか
昔いた某社にもC++イラネ派なC信者がいてなんだかなあと思っていました

MSM

流れるようなプレゼン、すげー
MSM勉強したくなる発表でした

#include

#includeおさらい。ふと、includeの前に\いれたらどうなるんだろうとか気になってたのですが

VCェ・・・

おぼえがき

その1

let b = 3 
let c = 1
let x, y = 
 if c = 1 then 
  2, 
  if b = 2 then
   3
  else 4
 else
  3, 1
 
printfn "%d %d" x y
output
2 4

その2

open System
let printparam = ("{0} {1}", 3, 4.0)
Console.WriteLine printparam
printparam |> Console.WriteLine
output
({0} {1}, 3, 4)
3 4