2011-01-01から1年間の記事一覧

札幌C++勉強会#2を開催しました!

C++

札幌C++勉強会#2を開催しました。 OSCの時にも宣伝させていただいたこともあってか、多くの方に来ていただくことが出来ました。 参加された方々、ありがとうございます。 13:00〜13:15 準備 13:15〜13:45 開始、参加者自己紹介 13:45〜13:55 休憩(10分) 13:5…

vimを自前でbuildしたら日本語が文字化けしたことについての対策

さくらVPSを契約してみたのでいろいろと環境構築。 vimもリポジトリから落として自前でBuildしてみたところよくわからない文字化けが・・・http://vimdoc.sourceforge.net/htmldoc/mbyte.html./configure --with-features=big --disable-selinux でおkだっ…

Fourtetっぽい曲作った。

DTM

Google ドライブ - 1 か所であらゆるファイルを保管うん、でも彼には遠く及ばない・・・

札幌C++勉強会#2開催のお知らせ。

来る7/3日、札幌C++勉強会#2 : ATNDを開催いたします。 [twitter:@lapis_tw]さんと[twitter:@h_hiro_]さんと僕でそれぞれセッションやらせていただきます。 前回はBoost.勉強会の鑑賞という内容でしたので、ちゃんとしたC++の勉強会の開催はコミュニティー発…

OSC2011 Hokkaidoに参加しました(喋ってきました)!

6/11に開催されたOSC2011 Hokkaidoで、札幌C++勉強会(Sapporo.cpp)として、 ブース展示とセミナー講演をしました![追記][twitter:@Flast_RO]さんがセミナー講演の内容の補足説明を書いてくださいました! http://d.hatena.ne.jp/Flast/20110612/1307873074 …

TDD Boot Camp 札幌 2.0に行ってきた

TDD Boot Camp 札幌 2.0 : ATNDに行ってきた。 去年の秋くらいにTDDBCなるものがあるらしいとの情報を得てからTDDとはなんぞやと思いつつも手を出してこなかった僕ですがいよいよ札幌で幾度目かになるTDDBCに参加してみちゃったりしました!当日、会場に着く…

Visual Studio 2008では同名のソースファイルを扱うことが出来ない件

Visual Studio 2008では同名のソースファイルが同一のプロジェクト内にあってはいけません。 僕は、たとえ無知だったとはいえ、その過ちを犯してしまい、全く想定外の挙動によって深い悲しみに包まれました。。。 あの頃の自分に教えてあげたい・・・ファイ…

C++0xのラムダ式でクロージャ

C++

#include <iostream> #include <functional> #include <string> int main() { auto f = [](std::string &&str) -> std::function<void()> { std::string s_ = str; return [s_] () mutable -> void { std::cout << s_ << std::endl; s_ += std::string(" Hello"); }; }; auto g = f("Message : "); </void()></string></functional></iostream>…

ちょっと乗り遅れな気がするけどSleep-Sort(C++0x, Boost, PStade.Oven)

#include <iostream> #include <vector> #include <boost/thread.hpp> #include <pstade/oven/algorithm.hpp> int main() { std::vector<int> v = {4, 2, 6, 1, 9, 10, 3, 7}; boost::thread_group ths; pstade::oven::for_each( v, [&ths](int n) { ths.add_thread( new boost::thread( [](int n) { boost::this_thread::s…</int></pstade/oven/algorithm.hpp></boost/thread.hpp></vector></iostream>

scoped enum

C++

enum_typeと名前をつけたenumを内部にもつstructを渡すだけでscoped_enumにする。0xが欲しいけど使えない人のため。 // Copyright hotwatermorning 2011. // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE…

Boost.Rangeのirangeのstepに対してOvenのsteps

http://homepage1.nifty.com/herumi/diary/1105.html#13 Ovenは意図通りの挙動だった。 (というよりOvenには同様の機能が無いのでstepsを使った。) boost1.46.1 Ovenはtrunk(たぶん現行のリリースの1.04.3でも問題ない) #include <iostream> #include <pstade/oven/algorithm.hpp> #include <pstade/oven/counting.hpp> #incl</pstade/oven/counting.hpp></pstade/oven/algorithm.hpp></iostream>…

Thunderbirdでニュースグループの表示名を省略しない。

Technology Reviews & Software Reviews From Fixunix日本語では中々欲しい情報が無かった。(表示名が省略されるけど空気を読んで解釈するみたいな事を書いてるとこもあるし)。 情報量が桁違いですから、英語を読める程度の能力の必要性を感じますですなぁ…

Rangeの翻訳まとめ

C++

Rangeについて勉強 - How to disappear completely Rangeの勉強その2 - How to disappear completely Rangeの勉強その3 - How to disappear completely Rangeの勉強その4 - How to disappear completely Rangeの勉強その5 - How to disappear completely Ran…

Rangeの勉強その6

C++

翻訳の続き。これで最後。 6 Range adapters (Part4) この提案の最後ではrange adapterを扱う. この小さなヘルパークラス達は次のような利点を持つ: operator|()によって簡単にアダプターを組み合わせることが出来る. ユーザーはiteratorとrangeの型の命名を…

エラーハンドリングについて考える。

書きながら考えたものなので、メモみたいな感じ。エラーハンドリングの知識を体系的に纏めた本とかないだろうか。 本屋に行ってみても、 プログラミング言語の棚を漁ると、エラーの中で致命的なものを例外として扱って、その言語における例外処理の文法につ…

Rangeの勉強その5

C++

翻訳の続き 5 Range utilities (Part3)Boost.Rangeはコア機能の外側に, iterator viewの使用を手軽にするutility-クラスをいくつか提供している: range sub_range view-オブジェクトとcontainer-オブジェクトの間の比較が簡単になるようなオーバーロードされ…

Rangeの勉強その4

C++

翻訳の続き。 4 既存のライブラリのコンポーネントへの拡張 (Part2)4.1 オーバーロードされた演算子4.1.1 and 2つのiteratorを期待するすべてのiterator-based algorithmに対してオーバーロードを追加する. 言語にconceptが導入されなければ, 実はいくつかの…

CRTPでPollingスレッド

polling_base.hpp #ifndef HWM_POLLING_BASE_HPP #define HWM_POLLING_BASE_HPP //! @file //! do processing every specifiec time. #include <boost/bind.hpp> #include <boost/thread.hpp> template< typename Derived, typename TimeDuration = boost::posix_time::time_duration > class p</boost/thread.hpp></boost/bind.hpp>…

Rangeの勉強その3

翻訳の続き 3 Rangeの基盤の基本 (Part1)typetraitsと独立関数からなるlibraryの基本要素について. * rangeの概念 * synopsis(1) * specification(1) 3.1 Rangeの概念このセクションではrangeの概念(concepts)を紹介する. rangeの概念は2つの構成要素からな…

setに渡す比較関数をBoost.Lambdaで指定

最近twitterでid:thincaさんが、boost::shared_ptrにくるんだoperatorUsing boost::shared_ptr with std::set 比較関数オブジェクト作ればいいけど、Boostならもっと短くしてくれるよね?って。そこで解答として boost/utility/compare_pointees.hpp を使う方…

Rangeの勉強その2

翻訳の続き 2 関連情報とoverview この提案は, すでに多くのcontextにおいてうまいこと使用されているBoost.Rangeをもとにしている. 例えば以下のライブラリはその基盤にBoost.Rangeを使用している. * Boost.StringAlgo(1.32からBoostに仲間入りした) * Boos…

面白かった

C++

http://shinh.skr.jp/m/?date=20110403#p01

Rangeについて勉強

Range Library Proposal Range Library提案を翻訳する。目標は今週中に Range Library Proposal摘要 この論文は, プログラマの構文的負担を軽減させるためにC++ standard libraryに対してのrangeの拡張を提案する. この論文はまた, alrgorithmとloopの使用を…

DLL上のCWinApp::InitIntanceが呼ばれない

既存のMFCのコードが有って、それをDLL化しようとしたけど、CWinAppを継承したCMyAppのようなクラスのInitInstanceが呼ばれない。CMyAppのグローバル変数であるtheApp;のコンストラクタは呼ばれている。InitInstance() not getting called in MFC dllここを…

2008の挙動。

多分2010になってもあんまり変わってないんじゃないかな〜どうなんだろう、結構UI変わってるぽいし。Ctrl+Alt+Aでコマンドウィンドウ開いたらもう一度Ctrl+Alt+Aでトグルで閉じて欲しい。これだけでだいぶ使い勝手も違うと思う。現状の、Focusが無いときにこ…

Visual Studio 2008のC++開発の効率が上がるショートカット(ヘッダに移動)

釣りっぽいタイトル申し訳ないです。オプションからキーボードショートカット変更できますが、「以下の文字列を含むコマンドを表示」で"編集.ファイルを開く"を見つけて適当なショートカット割り当てます。 で、"表示.戻る"にも適当なショートカット割り当て…

doxygen+graphvizでファイルの依存関係をグラフ化

C++

doxygenはCとかC++とかのsourceファイルのドキュメント化システムです。 Doxygen is a documentation system for C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D. そしてopen source…

boost/range/detail/detail_str.hppでtypo

detail_str.hppの137,138行目にtypoがありました。古いコンパイラ用のファイルみたいですが、一応バグレポート出したらいいとid:faith_and_braveさんにアドバイスもらったのでやってみたいと思います。英語がこんな感じ There are typos in boost/range/deta…

曲うp

DTM

転調なにそれおいしいの?Google ドライブ - 1 か所であらゆるファイルを保管宇宙行きたい。銀河宇宙オデッセイみたいに宇宙を旅してみたい。

曲うp

DTM

Google ドライブ - 1 か所であらゆるファイルを保管サチュレーションが利いてて聞いててうるさい曲です。 作りながら、Radioheadとかにたいしてよく言われる、静と動のコントラストとか思い浮かべてました。