プログラミング

"Effective C++"を今更ながら読み始めた

もちろんこれ。Effective C++ 原著第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)作者: スコット・メイヤーズ,小林健一郎出版社/メーカー: ピアソン・エデュケーション発売日: 2006/04/29メディア: 大型本購入: 29人 クリック: 411回この商品を含む…

pthread_barrier_wait()を使ってみた

予想以上に使うの簡単だった。 なんでいままでバリアを使っていなかったのかと猛省した。デバッグには必須ですね。 はじめmanpages-posix-devを入れるまでmanが見れなかったのに一番詰まった。

PHPはじめました

なんか必要性があるっていうか言語はなんでもいいんだけど、webプログラミングとかまずなんたるかがまったく分からないので、初心者にも超簡単らしいし、管理することになるものが現在PHPで書かれているとのことでPHPをやることにした。適当に↓この本買って…

inlineのせいだった

//a.h #include <string> using namespace std; class A{ public: int print_str(const string *str) const; }; //a.cpp #include <stdio.h> #include "a.h" inline int A::print_str(const string *str) const { printf("%s", str->c_str()); } //b.cpp #include "a.h" int m</stdio.h></string>…

迷路を解かせてみる その1

その2以降があるかは謎。迷路を解かせるのが微妙に流行っていたみたいなので。 晒すレベルでもないコードですが、とりあえず迷路でこの解き方はなかったですね。ごめんなさい。 入力部分が書くの面倒になったので直接書いてしまいました。 一応DP使うバージ…

connect()を無限ループしてはいけない?

もともとはクライアント側を先に起動してlocalhostでconnect()した後で、サーバ側を立ち上げるとポート番号が使われてるからダメ、といわれてたのが大元で、理由を調べてみた。 その結果connect()を無限ループさせている間になぜかconncet()が0を返すのが原…

配列のポインタとかポインタの配列とか

Cやってて未だにぱっとこないのでメモとして。Ubuntu gcc 4.3.2 int main(){ { long long *a[10]; printf("sizeof(a)=%d, sizeof(*a)=%d, sizeof(a[0])=%d, sizeof(*a[0])=%d, sizeof(*(a[0]))=%d, sizeof((*a)[0])=%d\n", sizeof(a), sizeof(*a), sizeof(a[…

「デザインパターン入門」で勉強中

これ。増補改訂版Java言語で学ぶデザインパターン入門作者: 結城浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2004/06/19メディア: 大型本購入: 51人 クリック: 762回この商品を含むブログ (397件) を見るもとはといえばは今の研究で実装している…

並列プログラミング

分散メモリ環境でのプログラミングってマルチスレッド使わなかったら、普通に共有メモリ環境でマルチスレッド使うプログラミングの方が難しい、気がする。全然素人だからわかんないけど、ちょっと書いてみた感じがそんな感じ。まあ分散プログラミングはマル…

関数内でのメモリ確保

こうするのが普通? void hoge(char **s){ *s = (char *s)malloc(size); strcpy(*s, "foo"); } char *s; hoge(&s); 以下でも動くけど何か意味が違う気がする(C++)。 void hoge(char *&s){ s = (char *s)malloc(size); strcpy(s, "foo"); } char *s; hoge(s);…

また、やってしまったorz

恥を晒すために記録。次のようなコードをもうすでに何回も書いていて、さっきも書いてしまった。 void hoge(char *s){ ...(文字列bufに文字列が入る)... s = (char *)malloc(sizeof(buf)); strcpy(s, buf); return; } ようするに関数の中で処理をしていくう…

プログラミングが下手すぎる…

とりあえず、わかったこととして、 そもそも考えるのが遅い 必要以上に難しく書いてるかもしれない コードを局所的にしか見れない 部品化、オブジェクト指向ができてない 最初の二つは関連してて、そりゃ難しく考えてたら遅いですね、ということ。あくまで「…

自信がもてないのは?

自分に自信がない。もともとそういう性格ってのもあるけど、やっぱり他人が必要以上に「凄く」見えるってもあるのかもしれない。とくに情報系関係は。 たとえば、自分がやったことをないことをやっている、自分が使ったことのないツールなどを使っている、自…

tokyo-emacsに参加してきた

久々の更新。 id:hayamiz主催のtokyo-emacs(Emacs勉強会)に参加してきた。 いろんな人の発表を聞いて、やっぱり自分の好きなようにカスタマイズするってのは快適なんだろうなあ、と思った。自分はちょっと敷居が高いかなー、ってまだ感じているところ。 全体…

データ構造の中でのループ

B木の挿入を書いてて、あれ?とつまったのでメモ。 データ構造内でループがあるようがものって定義できるの?っていう疑問。 例えば、双方向リストを考えて、 data TwinList a = Null | Node a (TwinList a) (TwinList a)みたいに宣言する。右辺の一つ目のTw…

受身の勉強

最近プログラミングとか情報系の本を読むことは増えたが、読むだけで終わってしまうことが非常に多い。知ったかぶりにはなれるけど、やっぱりそれだけだとだめだよねー、と最近つくづく感じる。本を読むという行為自体は能動的ではあるが、実際に自分でコー…

はじめてのPython

いや正確には初めてではないのだけれども、(演習でPythonのサブセットの処理系書かされたので)、卒論配属された研究室的にPythonは使えた方がよさそうだということでただいまお勉強中。とくにクラスあたりはまったくノータッチだったのではやくそこまでいき…

プログラミングの速度

正直言って自分はプログラムを書く速度について自信がまったくない。早く書くことが良い悪いの議論はおいといて、そりゃ同じプログラムなら早く書けるほうが望ましいと思う。 でも良く考えたらある問題を解くために自分で頭使って考えてプログラムを書いたこ…