2015/03/30

静的多様性で書くとき、派生した型を指定しない。

ふと思いついてこんなのを作ってみた。

  1
  2 #include
  3
  4 template < typename Derived >
  5 class Base
  6 {
  7 public:
  8         Base() {}
  9         ~Base() {}
 10         int set()
 11         {
 12                 return ( static_cast(this)->setImpl() );
 13         }
 14 };
 15
 16 template< typename data_t >
 17 class DerivedClass : public Base< DerivedClass >
 18 {
 19 public:
 20         DerivedClass() {}
 21         ~DerivedClass() {}
 22         setImpl()
 23         {
 24                 std::cout << "seImpl() called"  << std::endl;
 25         }
 26 };
 27
 28 int main ()
 29 {
 30         Base< DerivedClass > *b;
 31         b->set();
 32         return 0;
 33 }


30行目の*bはDerivedClass型になる。std::vectorが遅いので自分で作り中に気づいた。

2015/03/29

転職活動終了

内定がようやく出ました。これでようやく一安心です。
大阪に移ることになります。向こうには、あまり知り合いがいないのが少し不安です。

2015/03/26

debianのiptables

debian系は/etc/iptablesデフォルトでないのか。頑張って自分で書く。

https://wiki.debian.org/iptables

2015/03/24

hadoopのprotoc2.5.0の依存がある件

Hadoop作って遊ぼうと思ったらビルドできない。

protocの最新版3.0.0ではなくver 2.5.0が必要らしい。

じゃ落とすかと思ったら、ソースが無い。

google codeからgit hubに移った時に古いreleaseを消したようだ。一番古いものでも2.6.0. うーむ困った。既にこの問題は報告されているようだけど。


[ERROR] Failed to execute goal org.apache.hadoop:hadoop-maven-plugins:3.0.0-SNAPSHOT:protoc (compile-protoc) on project hadoop-common: org.apache.maven.plugin.MojoExecutionException: protoc version is 'libprotoc 3.0.0', expected version is '2.5.0' -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :hadoop-common

2015/03/21

上司の迷言

無能な上司の迷言集
  • うちソフトが遅いのMPIのデッドロックが起きてるから
  • tarで圧縮しておいて
  • 100個のファイルsuffixこの形式にして渡してください。今回は手で直したけど。
  • 並列数増やせば絶対早くなるから
  • 開発したソースコードはそのまま渡してください。(gitあるのに)
  • 全体通信(MPI_Size * MPI_Size)を毎スッテプ行えばいいんじゃないですか
  • 全体で記憶(MPI_Size * MPI_Size)すれば OK
ぱねぇ....

転職活動状況

あと健康診断で終わりです。行きたい会社には合格しなかったけど、そこそこのところに入れたのでまあ満足です。年齢的にもう転職は無理でしょうから

面接まで行った会社をつらつら書きます。

メーカーさん
研究職枠でしたが、面接中から向こうの望んでいるスキルと自分のスキルがあまり合っていないと感じていました。次の日にお祈り。

ゲームメーカーさん
転職サイトに登録していたら、スカウトが来ました。は?なんで自分の技術と関係のないこんな大手からと思ったけど、面接受けました。超優良企業だったし、仕事の内容も興味があったのですが、技術面接で落ちました。

プログラマ面接では
  • 再帰関数の実装
  • 正規表現とpattern match
  • 検索のアルゴリズム
  • bitを使用したアルゴリズム
  • glibcのある関数の実装方法
を聞かれました。この面接だけでも3時間ぐらいあった。3つは答えられたと思うのですが、次の日にお祈り。ネットワーク関連の技術者を集めているようです。

 IT企業さん
 ココに拾ってもらえました。数値計算関連のパッケージソフトも作っているのでそれの担当になるみたいです。そこそこ大きなところなので今の会社みたいにデスマの連続みたいなことはないみたいです。

まとめページ

      

リンク

The Wizard of Science
友達のブログ文化人類学とか難しい話をしております。あとホームページから自作ゲームも配布。