Facebookのデータセンタネットワーク

これはhttp://www.adventar.org/calendars/440の2日目の記事です. はじめに 本エントリでは,最近のデータセンタNWのトポロジについて,データセンタNWの最先端を走っているfacebookの事例をベースに,論文/blog等交えて簡単に紹介したいと思います. 一般…

Boost::Graphへの独自のproperty追加とdynamic_propertiesを使ったdotファイル読み込み

これはC++ Advent Calendar 2012の5日目の記事です。 はじめに 気づくと最新のエントリが去年のAdvent calenderとなっていて一年ぶりの記事になってますね. やはりtwitterを始めるとblog書かなくなるというのは本当ですね.(そして迫る修士論文 今回は,去…

これはBoost Advent Calendar 2011の21日目の記事です。

はじめに 今回は自分が本格的にBoost.Graphを使う必要ができたときにぐぐっても意外と情報の少なかった 頂点や辺を動的に追加したり削除する方法や注意点について書きたいと思います. まず,WebでBoost.graphの日本語情報を探すと,以下のようなものが多い…

Unixからシリアルポートに接続

個人的なメモとして cuを使うのでインストール aptitude install cu 物理COMポートを使う場合は dmesg | grep tty などでどこに割り当てられたか確認 cu -l /dev/ttyS0 -s 115200 で接続permission deniedとか出てきたら /dev/ttyS0にchmodとかで適切な権限…

Androidのエミュレータがavdファイルを上手く見つけてくれない件について

ちょっとAndroid開発に手を出すことになりそうなので、SDKをセットアップしてエミュレータの起動をしてみることに。 SDK Setup.exeのVirtual Devicesから適当なエミュレータのプロファイルを作り(名前はTestAvdとする) startボタンから起動しようとしてみ…

Boost.勉強会に参加してきました!

12/12に開催されたBoost.勉強会に参加してきました。 当日は会場も広く、非常にいい環境だったと思います。 ネット接続については、wifiに繋ぐのに乗り遅れて、外向けのセッションを張れなくなってしまったので(ルータの上限数?) N82でテザリングしてつぶ…

ユーザ定義変換演算子の戻り値型について

C++

どうやらC++の変換演算子(operator ClassName())は、コンパイル時に戻り値の型をチェックしないっぽい。例えば、 //BからAへの暗黙の型変換 struct A { }; struct B { operator A() { return A(); } }; int main() { A a; B b; a = b; } 上のコードは普通の…

netbeansを使ったs60向けJavaアプリ開発環境の導入

netbeansでのs60向けMIDPアプリの開発は、PCSuite経由で接続さえされていれば BT,USB,IRなどインターフェイス問わず実機デバッグできたりとすごく便利です。 世の中あいほんやあんどろいど一色なのでまったく需要が無さそうですが メモっておかないと後で自…

コンストラクタの明示的呼び出し

C++

VCでは #include <iostream> class A { public: A(int i) : m_i(i){} A(const A& obj) : m_i(obj.m_i){} int m_i; }; int main() { A a(10); std::cout << a.m_i << std::endl; a.A::A(20); std::cout << a.m_i << std::endl; A b(30); a.A::A(b); std::cout << a.m_i <</iostream>…

ポインタ型宣言時の書き方について

C++

この前どこかでポインタ型宣言の書き方が int* a;//C++な人 int *b;//Cな人 になってること多いよね。みたいなエントリを見たのでちょっとこれについて。 (たぶんRSSリーダーかtwitterのリンクから飛んだんだけど消息不明に。知ってる人いたらアドレス教え…

再起動の件で修理

N82

再起動問題の件でN82を修理に出してきたら代替機にN73がきた。 店員さんの話によるとリフレッシュ直後らしく、外装も含めほぼ新品(液晶の右上に三角形のシールが) とりあえず事前にとっておいたPCSuiteのバックアップを復元して電話帳、メール、カレンダー…

コンパイラ電卓

C++

すごく実用性のないものを作った #include <iostream> //a + b template <int a,int b> struct Adder { enum {value = a + b }; }; //num! template <int num,int unused> struct Factor { enum {value = num * Factor<num - 1,unused>::value}; }; template <int unused> struct Factor<0,unused> { enum {value = 1}; }; template </int></num></int></int></iostream>

twitterはじめました

twitterはじめました http://twitter.com/eagle_raptor

最初からついてた液晶保護シールを剥がした

N82

N82に最初からついてた液晶保護用のシールがはがれ始めたので剥がしてみたら 元々液晶の部分がフラットなデザインなのでだいぶいい感じになった。 まあ液晶にひどい傷でもできたら液晶カバーを2000円ぐらいで交換すれば良さそうなので 保護シールとかは…

組み込み型の一時オブジェクトは変更不可らしい

C++

Exceptional C++を読んでたら "C++ language doesn't allow you to modify temporaries of builtin type." (適当訳:組み込み型の一時オブジェクトは変更不可) という一文があったのでいろいろ試してみた。 まず int func1() { return 1; } int main() { s…

boost::bindが返してくるファンクタ

boost::bindが返してくるファンクタの引数を過剰に与えるといらない部分は無視されるらしい(というか過剰に渡しても普通に動く) #include <iostream> #include <string> #include <boost/bind.hpp> struct Functor { typedef void result_type; result_type operator()(std::string message){</boost/bind.hpp></string></iostream>…

google earthの産総研3Dモデル

つくば駅周辺をgoogle earthで見てたら珍しく3Dモデルのある建物があった。 どうやら産総研らしい。 なんていうか雑 ちなみに新宿の例 中途半端な事するならやらないほうがまし、なんてね!

仮想関数のアクセス指定子

C++

どうやらC++はオーバーライドする際にアクセス指定子を好きなように書き換え放題らしい 具体的には #include <iostream> class Base { public: virtual void func(){ std::cout << "Base" << std::endl; } }; class Deriverd : public Base { private: virtual void</iostream>…

型レベルプログラミングの会とDB

- 型レベルプログラミングの会 関数型言語の勉強をしてから行くはずが時間が取れず、 当日の関数型言語系のセッションではいろいろと推測しながらさぐりさぐり聞いてる感じに この前に行ったLLVM勉強会のyarv2llvmでもそうだったけれど 「本来想定されていな…

型レベルプログラミングの会いってきた

今家についた。 ためになる&楽しかったので、いろいろ書きたいんだけど それはまたあとで とりあえず今は明日のデータベーススペシャリスト試験の勉強!

今度はconceptを使って戻り値指定のいらないbindっぽいことをしてみる

C++

前回のエントリのコメントで、Callable conceptがあるよと教えてもらったので、 昨日書いたdecltypeに続き、conceptで似たことをしてみることにした。 conceptGCCでは、std::Callableを使おうとすると、まだ実装されてないよ。みたいなメッセージが出てくる…

decltypeでboost::bindに渡すファンクタの戻り値を指定できないか頑張る(conceptGCC)

boost::bindは、ファンクタを渡した場合に戻り値の推測することができないので、 std::function系を継承してないファンクタを渡す場合は下のようにファンクタの中で戻り値をresult_typeとしてtypedefするか #include <iostream> #include <string> #include <boost/bind.hpp> struct Functor { </boost/bind.hpp></string></iostream>…

Qt 4.5のビルド

Qt 4.5がリリースされたのでVCでビルド 4.5からライセンスがLGPLになったので、普通はdynamicLinkするんだろうけど 人に実行ファイルを渡すときになかなか面倒なのでstaticでビルド configure -debug-and-release -no-qt3support -static -D _CRT_SECURE_N…

次期CiNii試験公開

論文検索でいろいろとお世話になっているCiNiiの次期バージョンが試験公開されたみたい http://ciexam.nii.ac.jp/ http://codezine.jp/article/detail/3683 OpenSearchに対応したりいろいろしてるので 自分用の検索アプリケーションを作ったりするのが楽にな…

VS2010CTP (VC10) でBoostをビルド

いつも通りbjam(3.1.17)を使ってビルドしようとしたら、どうやらmsvcのバージョン自動識別に失敗していて(たぶんbjamがVC10にまだ対応してない) 上手くいかなかった。生成されたライブラリファイルを見ると、本来ならないといけない libboost_filesystem-v…

VS2010 CTPのアクティベーション

たしか2008年の11月ぐらいに公開されたVisua Studio 2010のCTP版 VM用サーバの設定もある程度済んできたのでまともに使おうと思ってセットアップしてみた でもなかなかうまくいかなかった とりあえず上手くいくまでに失敗したことを振り返る やりたかったこ…

VMWareServerの設定

ちょっとVMWareServerの設定をいろいろやったのでメモ その1 仮想マシンとホストのPacatixVPNの仮想LANカードにブリッジするまず、ネットワーク接続のvmnetと適当にブリッジしてやったら落ちた ということでちゃんと調べてみるとどうやらvmwareのネットワー…

混入スタイルの基底クラス

C++

この前Effective C++を読み返していると、テンプレート引数をクラス定義で使っていないのに、 テンプレートクラスになっている物があったので、いろいろ考えた結果、 派生クラス作成時に派生クラス名をテンプレート引数として渡すことによって、 基底クラス…

ガマガエルこて置き

ずっとやろうやろうと思っていたAVRマイコンのライター作りを昨日早く起きたのでやってみることにした といっても電子工作の経験はほぼ無いのでいろいろ困った感じにまず困ったのが半田こて置きたしか前買ってきた半田こてに小さいのが付いてきた気がして…

typedefされた型の取り得る値の取得方法(std::numeric_limits)

C++

ちょっと前に作ってたソフトでtypedefされた型の取り得る最大値、最小値の取得方法がわからなくて困ったのでメモ 例えばint型が取り得る値の最大値、最小値が知りたい場合、C言語的に書くとINT_MAX,INT_MINを参照するのが普通なんだけど OpenGLで定義されて…