2009年09月 / 08月≪ 123456789101112131415161718192021222324252627282930≫10月

2009.09.28 (Mon)

Twitter 使ってみて・・・

一週間くらい前かな、Twitterに登録したのは。
で、使ってみて。。。

多少不便と思うところはあるものの、続ける価値はあると思う。
自分とは趣味とか興味の対象が違う人がフォローにいれば、普段は目を通す無いことの記事とか見ることができる。
Twitterの仕様上、嫌でもフォローの人のつぶやきが目に入るからそういった情報に目を通す可能性も高い。

一つ疑問なのが、フォロー人数が何百、何千とある人。
もうさ、他人のつぶやきなぞ読みきれないだろう。。。
おそらくそういう人は、他人はどうでも良くて自分を知ってもらいたいだけなんだろうね。
自分からフォローすると、興味なくてもフォローしてくれる人もいるし。
自分も興味なくてもフォローはするが、増えてきたら削除していくと思う。

まぁとにかく、もうしばらく使うことになるだろう。

テーマ : 日記というか、雑記というか… ジャンル : 日記

18:56  |  日記  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2009.09.26 (Sat)

何でこんなに怒っていたんだろう・・・

ちょっと自分の書いたブログ記事を探していたら、ふとこんなものを発見。

きもちわりぃ

何だこりゃw
なんでこんなに怒っているんだろう・・・
何かイライラするようなことでもあったんだろうか・・・
覚えてない。

暇ができたら、昔書いた記事を一通り読んでみようかな、懐かしくなりそう。
まぁ、「暇ができたら」なんて言ってる場合は、大抵忘れたりしてやらないんだけどねw


テーマ : 日記 ジャンル : 日記

15:47  |  日記  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2009.09.24 (Thu)

TopCoder SRM 449 DIV2 後書き

初挑戦だった、TopCoderSRM。
結果を先に言うと、

   ・プログラムをSubmitしたもの:250pt、500pt
   ・チャレンジで崩されたもの:500pt
   ・チャレンジ成功したもの:500pt ×2
   ・チャレンジ失敗したもの:500pt ×1

   ・プログラムによるScore = 171.98 + 0
   ・チャレンジによるScore = 50 + 50 - 25
   ・合計 Score = 246.98
   ・Rating 1336


1000ptの問題には目を通してすらいません。
とりあえず、500ポイントの欠陥プログラムは落とされることは予想してました。
処理に数十秒かかってたので。
で、自分の問題点が分かっているので、あとは同じような人を探せばチャレンジが成功するわけで。。。
ただ、調子に乗って一つ失敗してしまった orz

今回参戦して思ったのは、まず英語力が欲しい。
英語がネイティブだったりする人たちとは、それだけでハンディになる。
次に、単に実力不足。
DIV2なのに500Ptで頭抱えるんだから、まだまだダメダメです。


さて、肝心の問題。
目を通した 250pt と 500pt についてだけ書きます。
ここに書くのは解答の解説ではなく、あくまで問題内容と自分の作ったプログラム・アルゴリズムについて。
まだ解法がよくわからないものもあるので。。。

では、詳しくは「追記」(More)へどうぞ。

テーマ : プログラミング ジャンル : コンピュータ

03:06  |  プログラミング系  |  TB(0)  |  CM(2)  |  EDIT  |  Top↑

2009.09.22 (Tue)

古い Visual C++ ソースを読みながらのメモ

Visual C++ 6.0 くらいの時代のC++ソースを読んでます。
意味不明な記述、疑問があったら、ここにメモっていきます。
C#についてもついでにメモします。
基本的に、COMだとかATLだとかがよくわからん。
てか、今のVisualStudio2008とかだと、ほとんどVC++6.0のプロジェクトはビルドできない。
マジで面倒。



VC++

・「#define __T(x) L ## x」
   解決済み。既に別の記事に記載。

・「__stdcall」とは?
   windowsAPI関連の規約。
   VBとかVC++とかの整合性を保つための、.Net以前の産物。
   多分。

・コメント部分。「//@」や「//!」、「//! \name」など。
   おそらく、VisualStudio6.0時代のコメント。
   現在ではとかとかに相当すると思う。

・ATLTRACEの意味が不明
   ATLTRACEのコメントを外した時、デバッガに情報を渡す役目を持つぽい。


・Visual C++ の関数の各引数のコメントに、[In] とか [Out] などの記述が。
   引数の役割の説明らしい。
   こんな感じ ⇒ /*! \param area - 面積 [Out]
   [In]:入力用引数、[Out]:出力用引数、[In/Out]:入出力用引数

・C++ 属性リファレンス [retval], [out], etc...
   C++の属性リファレンス。
   DLLを作成した後も、処理を変更するためのものらしい。
   おそらく、上のもそれ関連。

・4種類のキャスト
  C++には static_cast, reinterpret_cast, const_cast, dynamic_cast の4種類のキャストがあるらしい。
  これは完全に初耳。
  詳しくは こちら   

・FormatMessage() 関数とは?
   メッセージ文字列を書式化します(書式を割り当てます)。
   MSDN参照
  
・GrobalFree() 関数とは?
   指定されたグローバルメモリオブジェクトを解放し、そのハンドルを無効にします。
   MSDN参照

・デフォルト引数
   そういえば、こんなのもあったね。
   C#にはデフォルト引数無かったけど、C#4.0になって「オプション引数」という名前で機能が追加されるらしい。

・例外指定
   初耳。
   関数の投げ得る例外を、関数宣言時に記述する。

・__declspec(novtable)
   余分なコンストラクタの初期化を省く。
   一種の最適化。
   参照

・CComPtr
   COMインタフェースのポインタを扱うためのクラス。

・CoCreateInstanceメソッド
   指定されたCLSIDに関連付けられたクラスの1つの未初期化オブジェクトを作成します。ローカルシステム上で1オブジェクトを作成したい場合に呼び出します。
   ソース



C#

・C#には unsigned char がない。char があるから uchar もあると思ってたら無かった。
   unsigned char → byte
   unsigned short → ushort
   unsigned int → uint
   unsigned long → ulong

・C# で Operator を使うとき、const や ref は使えないのか?
   ムリポぃ。

・C#の sealed は、これ以上派生させたくないクラスにつける修飾子。
 C++にもあったような・・・。完全に忘れてた。

・System.Diagonastic.Trace でデバック用の処理ができる

・「 .ToString() 」 にはいろいろな使い方がある。
 C の printf 便利だったのになぁ~、なんて思ってたけど、多少は融通が利きそうだ。
  DOBON.NET

・C#でのvoidポインタ「void **」について
   ポインタがどこを指しているかを考えなければ、IntPtrを代わりに使えば良いらしい。
   DOBON.NET掲示板


テーマ : プログラミング ジャンル : コンピュータ

15:23  |  プログラミング系  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2009.09.20 (Sun)

プログラミングメモ ”define と ワイド文字列”

とあるC++のソースを呼んでいて、わけのわからないものがあった。

#define __T(x) L ## x

「 L ## x 」はどういう意味だろうと思い、ぐぐったら、ワイド文字列の処理を行うものだと判明。

たとえば、「_ _T("abc") 」 は 「 L"abc" 」 に展開されるらしい。
そして、 「L"abc"」 というのはワイド文字列の 「 "abc" 」 という意味らしい。
ワイド文字列なんて完全に忘れてた。
「##」 はダブルクオテーションで囲む、といった意味だろうかね。
[2009/09/21:追記] 「##」の意味は、コメントに詳細有り。

Yahoo知恵袋

テーマ : プログラミング ジャンル : コンピュータ

17:57  |  プログラミング系  |  TB(0)  |  CM(2)  |  EDIT  |  Top↑

2009.09.18 (Fri)

近況報告

Twitterにも書きましたが、今日久しぶりにバイトの仕事をもらいました。
およそ2週間の内容なのですが、連休中に片付けたい。

あと、ギターについて。
もう1週間以上触ってません。
いやぁ、やっぱり難しい。
センスの無さを感じます。。。
といっても、せっかく買ったんでちゃんと練習はしていこうと思います。
音楽は好きだし。




テーマ : 日記 ジャンル : 日記

20:04  |  大学(寮)生活  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2009.09.14 (Mon)

XNAで簡易シューティング00

土・日と、C#+XNAでシューティング作ってました。

とりあえず、自機体と敵機作って、弾飛ばして、当たり判定つけて、スコアカウントできるようになってます。
ただ、自機は当たっても消えません。
代わりにスコアが減るようになってます。
というのも、ゲームオーバー画面やスタート画面が無いからです。
そのため、実行するといきなりゲームがスタートします。
また、弾は敵・味方の区別をつけていません。


今後の課題としては、

・スタート画面作成
・ゲームオーバー画面作成
・ポーズ実装
・スコア記録
・ドット絵の作成
・敵の動き、弾の動きの多彩化
・BGM、効果音

こんなもんですかね。
最近はゲーム作りよりもツールやプロコンに興味が出てきていたのですが、部活の関係でXNAを使ったゲームを作ることになりました。
なんで、凝ったものは作る気は無く、最低限の機能で終わる予定です。

とりあえず現状のスクリーンショット。

ShootingXNA1



テーマ : プログラミング ジャンル : コンピュータ

02:41  |  ゲーム開発  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2009.09.14 (Mon)

Twitter

なんかよくわからんが、Twitterというサイトに登録してみた。
このサイトは、今やっていることを140字以内のコメントでどんどん書き込んでいく感じのサイトです。
なんだか、すぐにやらなくなりそうな気も・・・。
携帯からもコメントできるのかな?
後で試してみよう。。。

テーマ : パソコンな日々 ジャンル : コンピュータ

00:26  |  大学(寮)生活  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2009.09.05 (Sat)

プログラミングコンテストを扱うサイト TopCoder への登録と使い方

最近、TopCoder というサイトを利用してます。

TopCoder というのは、さまざまなプログラミングコンテストの問題があって、それを解くというもの。
問題を解くとポイントがもらえるのですが、高難易度の問題をより早く解くことで、より多くのポイントが入ります。
他に、他人のプログラムのバグを出すテストケースを作成し、それを送ることでもポイントが入るようです。
なお、失敗するとペナルティだそうです。
コンテストによっては、賞金がもらえるような記載があった気が・・・?
専用のブラウザで問題を選んだりコードを書いたりコンパイルしたり送信したりします。

ほんとうにごく最近始めたばっかりなのでよく分からないことだらけ。
サイトやシステムはすべて英語なので、なおさら。
利用方法の簡単な手順を書いておきます。

[ 登録手順 ]
TopCoderにアクセスし、右上の「Register Now」をクリック。
すると、チェックボックスが4つ出てきます。

1番上はTopCoderに参加する意思があるかというものだと思います。
なんで、これはチェック必須。
2~4はどのコンテストに参加するかという質問。
2番目の「TopCoder Contest」は、アルゴリズムやバグトレースなどの問題のようです。
3番目の「TopCoder Contest Studio」は、グラフィックデザイナーとか、Flash作る人とか、そういう人向けのコンテストみたいです。
4番目は中学生や高校生向けのコンテストです。

自分は1と2だけチェックしました。
もう大学生だし、グラフィックとかはよくわからんです。
続いて、いろいろな情報をだらだらと入力していきます。
名前、住所、電話番号、大学名、職種、紹介者、本当にいろいろ聞かれます。
住所とか電話番号は適当に書いちゃいました。
紹介者という欄もあって、これも入力しないといけません。
テキトーに書いても問題ありません。


[ 試しにSRMの過去問をやってみる ]
いろいろと情報を入力すると、登録終了だったと思います。
そしたら、最初に張ったURLの右上の「Login」からログインします。
左側にいろいろ項目が表示されていると思うので、「Algorithm」→「Launch Arena」をクリック。
すると、Javaアプリのインストーラがダウンロードされ、起動されます。
インストール後ソフトを起動したら、ユーザネーム+パスワードを入力。

ソフトにログインすると、上に「Practice Rooms」というところがあります。
そこから「SRMs」を選択、さらにいつの過去問をやるかを選択します。
選択すると、その過去問の部屋に移ります。
次に、「Select One」というところの3種類の難易度から問題を選択します。
表示されているのは点数で、大きいほど難しくなります。
また、問題を解くのに時間をかけていると、点数が減少していくので注意。
問題を選ぶとエディタが起動されます。
ここで問題を読み、コーディング、コンパイル、テスト、送信します。
送信してもシステム側で行うテストを通らなければ減点なので注意しましょう。
ちなみに、「Save」しておけば一旦エディタを終了しても、再起動したときにプログラムが残っているみたいです。
ただ、このエディタは機能が少ないため、ほかのエディタでプログラムを作り、それからコピペしてコンパイルする人が多いようです。
私も Visual Studio に一旦書いたりしています。


とりあえず、TopCoder の説明は以上です。
まだ問題2つしか解いていないので、また慣れてきたら記事を書こうと思います。

テーマ : プログラミング ジャンル : コンピュータ

07:55  |  プログラミング系  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2009.09.01 (Tue)

ニコ生アラート(本家) と x64 ( WindowsXP 64bit )

ドワンゴが提供するニコニコ動画はもう有名でしょう。
このニコニコ動画であるサービス、ニコニコ生放送を最近見てます。

で、この放送向けに作られたツールがニコ生アラート。
見たい放送が始まると、それを知らせてくれる常駐ソフトです。
なかなかどうして便利なソフトですが、これを最初に作成したのは運営側ではなく、一般の方が作成したものでした。

すると、運営は真似てアラートを作成しました。
運営はシステムをフルに使用できるので、通知のスピードは従来のアラートよりも段違いに良いものでした。

困ったのは、64bitのWindowsXPでインストールできなかったこと。
そもそも、インストールボタンが押せませんでした。
もう少し模索してみます。


[ 2009/09/05 追記 ]
どうやら、FireFoxから落とそうとしていたからできなかっただけっぽいです。
InternetExploreでアクセスしたら普通に落とせました。
インストール後も、ちゃんと動作しているようです。

以上、動作報告終わり。




テーマ : ソフトウェア ジャンル : コンピュータ

22:05  |  大学(寮)生活  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2009.09.01 (Tue)

英語学習

なつももう終わりですね。といってもまだまだ暑さは残る
んだと思いますが。。。
だらだらと過してしまったこの夏、振り
かえってみると、何もして無いなぁ、といつも思います。


ここまで、縦読みでかいたけど、特に書くことが無かったからやめます。

昨日 smart.fm というサイトの英語勉強を始めました。
昔は、i Know という英語学習サイトだったんですが、smart.fm というのに統合されました。
統合前に少しやって、しばらくやってませんでしたが再度やることにしました。

この i Know は、一日にできる単語数に上限があるようです。
必要以上にやっても、覚えられないだろう! というスタンスなんですかね。
まぁ、継続的にやっていこうと思います。

smart.fm


[ 2009/09/25 追記 ]
別に、上限があったわけではありませんでした。
単に今学習しているコースの単語を終えたので、単語が出てこなくなっただけでした。
なんで、別のコースを選択すればちゃんとできます。
一日1000でも2000でも。。。

テーマ : 日記 ジャンル : 日記

09:29  |  日記  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
 | BLOGTOP |