January 01, 2004January 02, 2004実体 vs ポインタ
[Computer]
仕事の関係でC++を書いています。疑問に引っかかりました。 class Hoge{
private: vector<string> spool; public: vector<string> *getSearchResult(const Condition &cnd) const{ vector<string> *result = new vector<string>; for(vector<string>::const_iterator target = spool.begin(); target != spool.end(); target++){ if(cnd.match(*target)) result->push_back(*target); } return result; } }; class Hoge2{ 要約するとこういうことです。メンバメソッドgetSearchResultを比較してください。上のHogeクラスのほうでは、検索結果としてvectorのポインタを返しているのに対して、下のHoge2クラスのではvectorの実体を返しています。 利点と欠点を整理すると、Hogeのほうではポインタを返すためにオーバーヘッドが発生せず高速処理が可能なかわりに、caller(メソッドを呼び出す側)で責任を持ってメモリを開放(delete)してやる必要があります(忘れると致命的なバクになりかねない)。一方Hoge2のほうでは実体を返すために、メモリの開放が不要(スコープから抜ければ自動的にメモリが開放される)でメモリリークの心配がないが、コピーを作成するためにスピードを犠牲にしています。 どっちがいいんでしょうか。多分、これは思想の問題で、状況によって答えがかわってくると思いますが。 January 04, 2004人工衛星シミュレータ学科の課題でつくりました。現在のところ、数値の羅列しか出力しないので、つまらないです。時間があったらDirectXやOpenGLを使ってビジュアルに表示できるようにしたいと思います。 ソースはここ C++で書いたのですが、テンプレート機能に本当に助けられました。ルンゲクッタ積分がそのまま書けたのには涙もんです。 template <class Function, class V1, class V2>
V2 nextByRK4(Function f, V1 x, V2 y, V1 h){ V2 k1, k2, k3, k4; k1 = f(x, y) * h; k2 = f(x + h/2, y + k1/2) * h; k3 = f(x + h/2, y + k2/2) * h; k4 = f(x + h, y + k3) * h; return y + (k1 + k2*2 + k3*2 + k4)/6; } 次の課題はカルマンフィルター(涙)。 January 05, 2004もえたん
[Timely]
『もえたん』を知らない人はここをクリック。大きなお友達向けです。 その証拠といっては何ですが、キッズGooでは検索しても検索結果がでてきません(アレゲな単語を含んだページは検索結果に表示されません)。当然『もえたん』を買ったS氏のページもカットされました(何でやねんと本人はいってました)。ちなみにS氏はアレゲな人ではなく、スーパー本やさんです。 おまけとして、キッズGooのフィルタの機能を確かめるために暴挙にでました。あの単語の検索結果やその単語の検索結果は……。 January 07, 2004エリア88
数年前に親父の漫画をパクって読んだ記憶があります。ストーリーはあんまり覚えていないのですが、ドッグファイト中心のいかにも飛行機ものというよりかは、戦場でどのようにして生き残るかみたいな話が多かったと思います。印象に残っているのでは、自軍の飛行場が爆撃されているが、砂嵐(だったと思う)のためジェット戦闘機は飛び立てず、レシプロ機で立ち向かって散っていった話とかでしょうか。 話は変わりますが、ドッグファイトなんて最近の戦闘機はしないようです。ミサイルの射程距離までステルスで忍び寄り、射程距離に達したらミサイルを放って、あとは一目散で離脱するというのが主流のようです。製図の先生によると、ドックファイトをした場合、最新戦闘機F22なんかよりもジェット練習機T4の方に歩があるそうです。 ちなみにエリア88の主人公、風間真が搭乗している機体はノースロップのF20だそうです。詳しくはここのページ。 JavaScriptでリンクの除去MovableTypeのコメントで『URLを自動的にリンクにする』を選択していると、コメントの概要表示をしようとするときにこのリンクが邪魔でうまくいかないことがあります。 仕方がないので、JavaScriptでリンクの除去をおこなうことにします。<a href="(URL)">と</a>をコメントテキストから除去すれば、この場合目的は達成できます。 var html="<$MTCommentBody convert_breaks='0' encode_js='1'$>".replace(/<a href[^>]*>/g,"").replace(/<\/a>/g,"");
上のコードでリンクが除去された文字列を得ることが出来ます。あとはdocument.write(html);としてやれば、リンクがないものを表示することができます。概要表示などしたい場合はdocument.write(html.substr(0,[表示する文字数]));などとすればいいでしょう。 January 08, 2004Cygwinでもopen!!
[Computer]
MacOSXとかだとターミナルからファイルに関連づけられたアプリケーションを起動するのにopenというコマンドを使用して、ファイルを開くことが出来ますよね。実はcygwinでも以下のコードで実装できるようです。 open.c #include <windows.h>
int main(int argc, char **argv){ if(argc < 2){ ret = ShellExecute(NULL, "open", argv[1], NULL, NULL, SW_SHOWNORMAL); if((int)ret < 32){ たったこれだけです。あとはこのopen.cを以下の要領でコンパイルおよび配置してください。 $ gcc -DWIN32 open.c -o open.exe
$ mv open.exe /usr/bin/ これでCygwinからファイルを開くことが出来ます。例としてhoge.txtを開くなら $ open hoge.txt
メモ帖が起動するはずてす。 最近、WindowsがCUI化しています…。 あと、この情報はOpenGLについて調べていたところ、ここのページで偶然見つけたものです。ありがとうございました。 ※(2010/2/2追記) 実はopenより高機能な、cygstartというコマンドがあったりします。 January 09, 2004ままかり→からし
[Tips]
岡山出身のOくんがままかりなる魚の酢漬けをもってきました。彼に言わせると『ままかり』は知ってて当然の魚らしいのですが、周りの人が全員知らなかったので、正月で帰省した帰りに土産として買ってきたというわけ。 そこで話題になったのがからし。あれの原材料って何なんでしょう??、ということになったんですが、誰一人として分からず。同じ系統の山葵(わさび)や生姜は全員わかるのになぁ。みなさんはどうでしょう、知っていますか??
以上、宿題の解答(宿題になっていたのです…)。 January 11, 2004rand()はいけてない!?
[Computer]
C言語の標準rand()(rand()はその名前が表すとおり乱数を生成する関数です)はいけていないらしいです。課題で正規分布の乱数を発生させる方法を調べていたところ、そのような話に出会いました。くわしくはここのページをどうぞ。 そこで、かわりに使用するのがいいと推奨されていたのがメルセンヌ・ツイスターと呼ばれるものでした。この生成方法を使用すれば、比較的高速に良質な乱数が得られるようです。せっかく調べたので、今後は乱数を発生させるときにこの方法を使用してみたいと思います。 おまけの話ですが、正規乱数(正規分布に従った乱数)をえるには曲座標法という方法があるようです。ここやここを参考にしました。 DDNS不調→UPS設置→現在
[Info]
タイトルのとおりDDNSがまたしても不調(昨日)→UPS設置(ちょっと前)→現在でサーバが一時的に落ちていました。 結局UPSは前にも書いたとおりのものにしました。年末限定で棚ずれ品(半額)をAPCのWebサイトで扱っていたので、それにしました。 January 12, 2004ボルダリングをはじめました
[Mountain]
最近は山に行ってないので、体がなまって仕方がありません。そこで一念発起して体を鍛えるためとストレス解消のため前から興味があったボルダリングをはじめてみました。 ボルダリングとはフリークライミング(縄や金具などの道具を使用しないで壁を登るクライミングスタイル)の一つで、落ちても安全な高さの壁でおこなう岩登りのことです。対象は自然にある岩だけでなく、室内に設置された人口壁でも手ごろに楽しむことが出来ます。室内の人口壁の場合は、レベルに応じて使用していい岩がきまっておりルート設定がされています。スタートの体勢から登っていきゴールの岩に両手で触ったら、そのレベルはクリアという具合です。 ラッキーなことに大学の運動施設にボルダリング用の壁があるので、先週の土曜日にそこでやってきました。いちおう山に登って岩場とかはある程度場数を踏んでいるので、最もやさしいレベルはひょいひょいクリアできました。しかし一段レベルが上がっただけで、もうゴールに到達できない始末。理由は単純です。手が足よりも先に動いてしまうので手がすぐに疲れてしまうからです。人間は手だけの力で支えるには重すぎるので、重心を足の上にしっかりのせてから、次に手を移動していかなければなりません。しかしそのことを頭で意識しないと、動かしやすい手が先に動いてしまい、腕がどんどん消耗して最後は力尽き落ちる…、という具合です。近日中にまた行ってレベル向上を目指したいと思います。 January 13, 2004はなまるうどん
[Tips]
この前の日曜日にサッカーの試合があった後、昼飯を学科の友人と食いに行きました。行ったのは上野のはなまるうどんという、うどんのチェーン店です。 今回食べたのは、かま玉(うどんに卵をからめてある)の中サイズとコロッケを食べました。値段は380+100(税抜き)で、味も値段と比べてよいと思います。今まで知らなかったのが少し後悔です。 January 14, 2004ポケモンにみるオブジェクト指向
[Computer]
『ポケモンって長くやっているわりには、インスタンスの区別していないんですよね』とA氏。確かにそうですね、さとし君(もう古い??)もピカチューのことをピカチューとよんでいるだけで、名前をつけていないですよね。これって犬を犬と呼ぶのと同じってことですよね。 ポケモンの世界を考えてみると、ポケモンはすべてシングルトンで構成されているのではないか説。シングルトンっていうのはその種についてひとつの具体物しかないことをいうのですが、そうであればピカチュー間での個体識別をつける必要がない(ピカチューという種は1個体しかいない)ので矛盾がなくなります。同じ種別どおしが戦っているところ、みたことがないですし。 それにしても名前がないなんてかわいそうだ…。 January 18, 2004TrackBack機能付き掲示板(作成中)TrackBack機能付きの掲示板を現在開発中です。8割がた完成しているのですが、以下の点で悩んでいます。
皆様の意見、および知恵をお貸しくださいm(_ _)m。 その後、できました。 January 20, 2004軌道エレベータ会社
そこでタイトルのとおり、軌道エレベータを世界ではじめて実現しようという会社が、アメリカにはすでにもうあるようです。リフトポートという会社で、サブタイトルも『The Space Elevator Company(宇宙のエレベータ会社)』。(なお、画像もここの会社のHPから拝借しました) January 21, 2004TrackBackできる掲示板
[Computer]
TrackBackできる掲示板を作成しました。現在公開中です。 意味のあるものかどうかは微妙だと思いますが、CGIの勉強がてら作ったので、Sample Implementionとしていちおうソースを公開します。ソースは2つでboard.rbとboard.ehtmlの2つです。board.rbが本体で、board.ehtmlで出力HTMLを整形しています。従ってboard.ehtmlをいじれば見栄えは変えられます。改変はもちろんOK、デバック情報大歓迎です。 January 22, 2004屋久島へ
[Mountain]
3月に学科の旅行で種子島の宇宙センターにまで行くことになりました。種子島といえば、屋久島の隣の島です。屋久島には宮之浦岳(みやのうらだけ)という日本百名山にも入る有名な山があるのです。高さも1926mとけっこう高い。種子島までせっかく行くのだから、この機会に登らないわけはない、ということでさっそく計画中です。 コースは山中1泊を考えています。詳細は、順次ということで。 気温はけっこう低いみたいですね。屋久島観光協会のHPによると、平均して3月の最高気温は17℃、最低気温は11℃、山の高さが2000m級なので、ここからマイナス14℃程度で、山小屋で向かえる朝はけっこうしんどいかもしれません。防寒しっかりという感じですね。 January 24, 2004コメントスパムがやってきた泣きそうです。コメントスパムが100個くらいきました。がんばって消去しました。 January 25, 2004ペンギン飛ばし
[Tips]
ひたすらペンギンを飛ばします、smack the pingu。Lacrimeで紹介されていました。 もっといいスコアがでたら教えてください。 January 26, 2004カルマンフィルタ大鬼門
[Info]
あわない、結果が…。かれこれ50時間くらいカルマンフィルタに時間を費やしいますが、結果が収束しません。もう泣きです。ソースはここにあります。 『助けてくれ~』といったら『あきらめましょう、あきらめまっしょう~♪』と歌を歌ってくれました…。やってらんね。 それから数時間後、なんとか解決しました。原因は単純で、初期値を真値に近い値にしていなかった、ただそれだけでした。 Specification:
※その後、『低精度MEMSセンサと汎用GPS受信機の融合による高精度航法システムの研究』から辿れるpdfの中に、多少詳しい説明を書きました。 January 27, 2004鶏は3歩でモノを忘れる
[Tips]
流行っていますね、鳥インフルエンザ。そのこととはまったく関係有りませんが、今日のテーマは記憶の限界について。 僕が小さい頃、色々なものを忘れる癖があった、というかおっちょこちょいでして、母親からよく『お前は鶏よりもひどいなぁ、鶏は3歩歩くと覚えていたことを忘れてしまうんだよ』なんてことを言われていました。今でも持ち物の数が増えて注意力が散漫になっていると忘れる率が飛躍的に高いです。 とある機会があって、今度ビジネスアイデアを発表することになりました。持ち時間は5分、その後質疑応答10分と非常に短い時間ですが、話す内容の要点は3つに絞ろうと思っています。自分の経験を当てはめると、要点が3つならば、聞く立場の人も内容を心にとめてくれるのではないでしょうか。そういう経緯で今日のテーマに至りました。 January 28, 2004January 29, 2004月の土地が買える!?H.I.S.で月の土地プレゼントキャンペーンなるものをやっているようです。ほんとに月の土地がもらえる??、ということで興味があったので調べてみました。 もらえるのはどうやら月の土地の権利書のようです。ルナエンバシーという会社が発行しているものです。調べてみると月などの地球外惑星の土地の所有は、国家が所有することは1967年に"宇宙条約"とよばれる法律で禁止されていますが、個人での所有は禁止されていないようです(詳しくはここやここ)。そこに目をつけたデニスホープという人が月の土地を販売する会社、ルナエンバシーを興し販売しているようです。 早速、冗談半分で月と火星に投資しました。自分の買った土地に将来的に行けたらいいな。 January 30, 2004無線LAN化
[Computer]
自宅を無線LAN化しました。理由は単純、『寝ながらインターネットしたい』から。 自宅のネットワークはハブからプリントサーバまでPLANEXで統一してあります。昔聞いた話ですが、ネットワーク製品を買う場合はメーカーを統一したほうが、スループットがあがるとか。多分迷信だとは思いますが、はじめに買ったのがPLANEXだった(当時はPLANETという名前でした)ので、それ以降何も考えずにPLANEXです。もし、コレガあたりをはじめに買っていたら、ずっとコレガになっていたと思います。 いゃー、寝ながらインターネット最高です。風邪で寝込んでいる体にはまさしくぴったり(T_T)。 |
かれんだ~
スポンサード リンク
|