すがブロ

sugamasaoのhatenablogだよ

C#

カッとなって作ったAA作るマシーン

ニコニコ動画を見ていて http://www.nicovideo.jp/watch/sm1096114 これを見て、「お、これならおれにもできるんじゃね?」と思って挑戦してみた。 ↑の作者は10分程度で作っていたが、おれは今このブログを書ける状態にもっていくまで4時間くらいかかってし…

C#(.NET)には chomp メソッド的なのが無い

みたいなので よくわからんけど改行コードは無くしちゃうよーっていうコードを↓のように書いた。 str.TrimEnd('\n', '\r'); ここまで出来るなら行末の改行コードを無くすメソッドが用意されてても良いのに。

yield を使ってみる

Ruby では yield を実装すること自体は、そんなにしょっちゅう無いかもしれないけど yield を使うことはしょちゅうだ。 each 構文無しではもはや生きられない体になっているといっても過言ではない。 そこで 自分でもちょっと実装できるように調べてみた。 …

突発的にクリップボード(3)

前回 id:seiunsky:20070411:1176313002 思いのほかに 内部でクリップボードのデータを保持しているのと、画面上で表示する両立が難しい。 内部的にはキューを使ってある一定個数のデータを保持しようと思っているんだけど、画面上のテキストボックスは(あた…

突発的にクリップボード(2)

前回 id:seiunsky:20070404:1175710724 なんということだ Clipboardクラスを調べればクリップボードの監視もすぐに見つかると思っていたんだけど、どうやら Win32API を使わなくてはいけないらしい。 参考サイト ビューアチェイン Clipboardの監視はできない…

突発的に

クリップボードのデータを複数保持するツールを 作ろうと思ったんだけど、思ったよりも面倒っぽい。30分くらいでどうにかなるかとおもったんだが。 とりあえず 作成したウィンドウのボタンを押すとテキスト形式のデータをウィンドウ内のテキストエリアに貼り…

FTPクライアントを作ってみよう(8)

これまでで 前回の続き(id:seiunsky:20061129:1164821017) FTPを接続するための最低限必要な情報がそろった(つってもTCP/IPの接続の確立とか結果をスレッドで上手いこと表示するくらいだけど)。 とういわけで仕切りなおし これからじっくり設計してアプ…

ReSharper UnitRunを導入してみた(2)

UnitRun 前回(id:seiunsky:20061130:1164909243)の続き その前に そもそもNUnit自体触っていなかったのでNUnitでのプロジェクト作成手順をまとめてみる。 テストメソッドの作成 テスト用プロジェクトをテスト対象ソリューションに追加 テスト用プロジェク…

ReSharper UnitRunを導入してみた

ReSharper UnitRun VS2005のアドインで話題のReSharperの中でテストツールだけが無償で公開されている。 ReSharper UnitRun :: The Best Runner in .NET Unit Testing Marathonhttp://www.jetbrains.com/unitrun/ で、このツールと似たようなものでTest Driv…

FTPクライアントを作ってみよう(7)

前回(id:seiunsky:20061125:1164490668) ネットワークが確立しているかの確認方法 NetworkStream.DataAvailableだけでネットワーク上に取得できるデータがまだあるかを確認するのではうまくいかないということを前回書いた。 で、結局こうすることで解決し…

FTPクライアントを作ってみよう(6)

前回(id:seiunsky:20061101:1162404086) 実は、前回のプログラムではデータの受信がうまく行っていなかった。 スレッド対策をすることで何故か問題が解決したので、まあいいかと思っていたのだが、BackGroundWorkerを使うようにしてから再発してしまった(…

.NET Framework でのスレッド

スレッド問題 以前、Windowフォームの値を別スレッドで更新しようとするとエラーになるということを書いた(id:seiunsky:20061101:1162404086)。 で、解決策としてデリゲートを使うやり方をしたんだけど、実はもっとスマートな方法があった。 方法 : Window…

FTPクライアントを作ってみよう(5)

スレッドでのエラーは調べてみたら参考にしている本の公式サイトのQ&Aに載っていた。 http://www.cutt.co.jp/book/4-87783-105-3.html 質問: P85 のサーバーアプリケーションを作成したのですが、「有効ではないスレッド間の操作: コントロールが作成された…

FTPクライアントを作ってみよう(4)

TCPネットワークを行うには TcpClient というクラスと NetworkStream というクラスを上手いこと使えば良いらしい。 ネームスペースはこれ。 System.Net.Sockets;で、基本的にはTcpClientクラスを使ってコネクションを張って、NetworkStreamクラスで送受信を…

FTPクライアントを作ってみよう(3)

まずFTPクライアントを作るに当たってネットワーク接続を試してみる。 というわけで、IPアドレスとホスト名の変換には以下の名前空間が必要。 System.Net;IPアドレス→ホスト名には Dns.GetHostEntry を使えば良いらしい。 string ipAddress = "xxx.xxx.xxx.x…

Visual Studio 2005 ショートカットキー

http://msdn2.microsoft.com/ja-jp/library/xte2hh6a.aspx ここに載っている。※上記ページには2003と書いてあるけど、2005用らしい。 とりあえずよく使いそう、覚えていた方がよさそうなのをメモ。基本的にはMSDNに載っている文章そのままだけど、回りくどい…

FTPクライアントを作ってみよう(2)

本題のFTPにいきなり挑戦するほどのスキルが無かったので、比較的簡単であろうTCP接続をするための名前解決を行った。 で、名前解決を行うには System.Net のネームスペースを使うらしい。 で、本を参考にしつつ、ドメイン名→IPアドレスや、その逆の変換を行…

FTPクライアントを作ってみよう(1)

今後、貪欲に生きるために、とりあえずFTPクライアントを作ってみようと思う。 で、ある程度Javaの経験があるから.NETだろうが余裕でできる! と思っていたのだが、よく考えてみるとネットワークプログラムって組んだことがなかった(DB接続が関の山)。 と…

久しぶりに見たら

http://www.atmarkit.co.jp/fdotnet/nagile/nagile03/nagile03_01.html 改めて勉強になった。昔見た記憶があるけど、読んだ当時と今では見方が変わった気がする。

ひと目でわかるMicrosoft Visual C# 2005 アプリケーション開発入門

id:seiunsky:20060528:1148829985 ↑の記事で書いた本なんだけど、これが結構良かった。 プログラムの本という訳ではないけれど、ある程度言語の特徴などはしっかり抑えているし、IDEの使い方もボチボチ書いてある(IDE関係はもうちょっと書いてあって欲しか…

ソースコードの難読化と逆コンパイル

id:seiunsky:20060422:1145706371 でちょっと書いた難読化ツール(http://uwa.potetihouse.com/soft/nandoku.html)。 そして今回紹介するのは逆コンパイルするツール。 http://www.aisto.com/roeder/dotnet/ 上記サイトのReflector for .NETというツールで…

むしゃくしゃしてやった

SQLの試験に落ちてむしゃくしゃしたので本を買おうと思った。 狙いは↓の本だ ジョエル・オン・ソフトウェア スティール・ボール・ラン(全巻買占め) ……が、売ってない。 本屋4件ハシゴしても見つからず。余計むしゃくしゃしたので全然関係ない本を買ってや…

.NET2.0のハッシュテーブル

http://www.atmarkit.co.jp/fdotnet/dotnettips/429dictionary/dictionary.html Dictionaryクラスというのがあるようだ。 いや、確かに見た覚えはあって、恐らくハッシュなんだろうなという予想はしていたけど、なるほどね、ジェネリック版のハッシュだった…

yaneuraoSDK.NETきた(2)

id:seiunsky:20060309:1141914805の続き。 ニョキニョキしたいけどできない。その原因はtimingdata.binをサンプルから持ってきていないからだった。 うん、確かに、タイミングなんちゃらのところで落ちていたのは知っていたんだけどね、サンプルからぶち抜く…

Clipboardの怪

ボタンを押したらクリップボードにテキストデータをコピーしたい。 というわけで、最初、 Clipboard.SetText() を使用してみた。しかし、これだとエラーが頻発する。ボタンを2回ポチポチッと(これはよくあるだろう)押したところでエラー発生したりする。色…

YaneuraoGameSDK.NETきた

さっそくニョキニョキしようと思ったんだけど実行できない・・・。とりあえずビルドが通らないのは解消できたんだけど。まぁ、こういう方法って全然やったことないからチョチョイとできるもんじゃないもんだろうな。 ま、明日ゆっくりやろう(早く帰れたら)…

Visual Studioのいろいろ

まずC#のコーディングスタイルについて。 デフォルトでは、C#のコーディングをすると中カッコは以下のように整形される。 for(int i = 0; i { なんやらかんやら } 個人の好みもあるんだろうけど、やはりこうがいい for(int i = 0; i { なんやらかんやら } ち…

.NETでテストツールを使う(2)

前回の続き(id:seiunsky:20060225:1140873535)。 前回、Visual StudioのIDEと連動できないか、ということでテストツールを自動で起動する方法を書いた。で、その方法のほかにVisual Studio上で右クリックでテストを行う方法があった。 http://www.testdriv…

.NETでテストツールを使う

JavaではJUnitが有名だけど、.NETにもそういったテストツールはある。それはNUnitというツール。どうもJUnitをベースに作られたようだ。大雑把なNUnitを使用する手順を書いておく。 詳しくはここを参照。 NUnitをインストール(ここのDownload NUnit .Net un…

C# vs Java

http://www.objectclub.jp/technicaldoc/c/cs_vs_java うーん。なかなか勉強になる。 これを見るともう、C#最高みたいな感じがするが。。。 今のところプラットフォームの制限(実質Windows系しか使えない)のと速度的な問題でJavaに取って代わるような現象…