当ブログは2周年を迎えたわけですけども、考えてみたら私は中学三年生になったんですね。
やべえ…やべえ…。
プロフィールページを更新しないといけませんね。
あと、ついでなので、「当ブログの利用規約」とかも見直します。
そういえば、当ブログと相互リンクしている方々の大部分が高校生に進学しました。
おめでとうございます。
相互リンク中の皆さん、ちょっと前まで中2だったんですけどね~。
私もちょっと前まで中1だったんですが(笑)
今後の目標はとりあえず、小遣い帳ソフト(仮称)を完成させることですね。
GUIを作れば完成です。
正式タイトルも考えないといけません。
タイトルは悩みます。
というわけで、昨日もいいましたが、
これからもブログ「サイバー少年」をよろしくお願いいたします!
tag:
ブログ「サイバー少年」 2周年記念!!!
当ブログ「サイバー少年」はとうとう開設から2周年を迎えました!
もう2年ですよ。
去年、ブログ1周年を迎えたときの記事「祝!ブログ「サイバー少年」、1周年!!!」では、
たったの1年間ですが、かなり長く感じました。
と書きましたが、今回の1年はあっという間だったなぁという印象です。
今年度は特に新しいことに挑戦することはありませんでしたが、
なんといっても記憶に残っているのはライブラリ「Plugin-Load Library」の制作ですね。
今年度の大部分がこれの制作でした。
まぁ、作業をサボりまくっていただけですが…。
この作品の制作以外でも色々とやっていることはやっていた1年です。
例えば、PICマイコンとPICマイコン用ライターを買いました。
(記事「PICマイコン購入!」を参照)
「買ったんだから早くなんか作れよ!」という声を華麗にスルーしております。
なかなか難しいんですよね…。
アセンブラだけじゃなくて、回路設計が難しいんですよ。
プログラムを組んで終わりじゃないですからね。
電源の繋ぎ方とか、電流を安定させるためにコンデンサを繋ぐ~とか難しいです。
というわけで、優先順位は低めですが、勉強中ということにしておきます。
あとは、WPFを始めましたね。
まだまだ不明なことが多いですが、Gridの使い方や、簡単なデータバインディングやTriggerは使えるようになりました。
また、これは結構、大きめの成果なんじゃないかと思いますが、データ構造をいくつか勉強しました。
・スタック、キュー
・連結リスト
・二分探索木、AVL木
・ハッシュテーブル、辞書
ただ、ソートアルゴリズムや探索アルゴリズムは全然、勉強していないので、これからの目標はこれですね~。
あとは数学ですね。
三角関数について勉強した時期があったので、高校でも少し有利になる…かな。
主に勉強したことはこのくらいですね。
当ブログは6年間、続けていくことを目標としています。
当ブログ1件目の記事「はじめまして」にも書いてあります。
ところで、当時は一人称が「僕」だったんですね。
ブログ開始1か月後にはもう「私」になっているみたいですが。
「僕」のほうが中学生らしいさわやかさがあって良かっただろうか…。
今となっては直せませんけどね。
話を戻すと、当ブログは6年間、続けていくつもりです。
当ブログURLにcyberboy6と、6が付いているのもそのためです。
まぁ、cyberboy.blog.fc2.comが獲れなかったからなんですけどね。
というわけで、6分の2が終わりました。
来年はちょうど、目標期間の半分を迎えるので、今年度よりも少しテンション高めで祝おうと思っています。
そろそろ書き終わりましょう。
皆様、2年間ありがとうございました。
もっとアクセスください!
今後も当ブログ「サイバー少年」をよろしくお願いいたします!!!
tag:
ブログアクセス5万件突破!!!
当ブログへのアクセス数(ページビュー)が5万件を突破しました!
いつも当ブログをご覧くださっている皆様、ありがとうございます。
そしてさらに、たまにTwitterで話題になったときは、1日に200件くらいのアクセスが来ます。
これも5万件突破を大きく支えてくれました。
ありがとうございます。
過去記事を見たところ、アクセス数4万件を突破したのが2013年11月25日のようです。
(記事「アクセス数4万件突破ああああああ!!!」を参照)
ちょうど4ヶ月前ですね。
4ヶ月で1万アクセスとは素晴らしい。
続きを読むtag:
現在、GUIのデザイン段階にある小遣い帳ソフト(仮称)ですが、今日はデザインのイメージを少し考えてみました。
とは言っても、とくに言及すべきことはなく、普通のデザインなんですけどね…。

新規登録ダイアログ
これは支出または収入を新規に登録するさいのダイアログです。
ですので、メインの画面が別にあって、
その画面から「新規登録」ボタンを押すと、このダイアログが表示される、というわけです。
メインの画面はまだ具体的には考えていませんが、
主に最近の支出または収入の情報を表示させようと考えています。
もともと、この小遣い帳ソフトがシンプル主義で作られているので、
ウィンドウが複数になると複雑化しないかという懸念はありますけどね。
続きを読むtag:
前に記事「小遣い帳ソフトの制作計画!」にて、
また、Model部分だけ完成したら、CUIの簡素なViewを作成してコンソールアプリケーション版として公開するかもしれません。
と書きましたが、Model部分だけ完成したので、CUIの簡素なViewを作成して、アルファ版として公開しました!
KodukaiChou_01.zip - Yahoo!ボックス
http://yahoo.jp/box/sRF-bA
使用方法は付属のReadMe.txtに書いてあります。
ここでは「ユーザー = テスター」という暗黙のルールがあるので、まぁよろしくお願いします(笑)
それにしても、制作の計画が始まったのが去年の12月半ばなんですが、Modelだけでも結構な時間が掛かるものですね。
Model部分はかなり簡単だろうと思っていたんですが、
プログラムが、コメントと空行を除いても1676行という超大作になってしまいました。
簡素なViewのプログラムも簡素といっているのに、コメントと空行を除いても727行あります。
まぁ、Viewのプログラムは入力文字列が数値かどうかのチェックをするのでかなりの行数を費やしていますし、
使い捨てのプログラムだからいいや、ということで処理をメソッドで共通化したりもしませんでしたので、行数が多くなるのは仕方ないことですね。
というわけで、バグ報告お待ちしております!
また、改善点の指摘もどうぞコメント等でやってください。
まぁ、面倒そうな内容なら次回バージョンでも反映できないと思いますが…(笑)
tag:
前回と同じような記事タイトルになってしまって、“連結リスト探索シリーズ”が生まれそうですね(笑)
前回はC言語系のfor文で連結リストを走査できる、という話題でしたが、
(記事「for文で連結リストを探索! ~ for文を再考する」を参照)
今回はC#の話に限ります。
しかし、多分Javaにも通用すると思います。
.NET Frameworkには連結リストのLinkedList<T>が標準で用意されています。
前回は連結リストをfor文で走査しましたが、なんとC#ならforeachで操作できるのです。
LinkedList<T>はIEnumerable<T>を実装しているからです。
T型の要素の列挙としても扱えるわけですね。
例えばこんな感じです。
var list = new LinkedList<string>();
list.AddLast("バナナ"):
list.AddLast("黄色");
list.AddLast("キレンジャー");
list.AddLast("カレー");
foreach(string str in list) {
Console.WriteLine(str);
Console.Write(str + " といえば ");
}
出力
バナナ
バナナ といえば 黄色
黄色 といえば キレンジャー
キレンジャー といえば カレー
カレー といえば
for文で走査したときよりさらにシンプルに書けていいですね。
ただ、実行速度等の処理パフォーマンスはfor文で走査するときよりも劣りますので(そのはず)、注意してください。
その主な原因はforeachが外部イテレータを使っているからです(そのはず)。
まぁ、配列に変換しているわけではないので、list.ToArray()をforeachにかけるよりは高パフォーマンスですね。
処理パフォーマンスと書きやすさのどちらをとるかはよく考えてください。
tag:
for文というものがありますね。
今まで、配列のアクセスくらいにしか使っていませんでしたが、本当は自由度が高いんです。
最近、その自由度の高さでfor文を見なおしました。
for文は一般的に
for(int i = 0; i < 256; ++i)
と書きますが、本質的には
for(最初に実行する文; ループ抜けの条件式; 毎回実行する文)
となっています。
これは
最初に実行する文;
無限ループ {
毎回実行する文;
if(NOT ループを続ける条件式) ループ脱出;
波カッコ内に記述してある処理;
}
に等しいです。
for文はこれのシンタックスシュガーなのかな?
シンタックスシュガーだとしたら、“最初に実行する文”にて宣言した変数のスコープがループの外でも有効ですね。
じゃあ、違うのかな?
まぁ、それはいいとして。
別に数値型のカウンタ変数を用意しないといけないわけじゃありません。
for文のカッコの中は何でもいいんです。
さて、こんなに自由度が高いので、for文は連結リストの走査にも使えるということに最近、気が付きました。
C#風の言語で書くと、こうです。
for(Node node = rootNode; node != null; node = node.Next)
{
WriteLine(node.Value);
}
波カッコの中はWriteLineじゃなくても、値の検索でもいいでしょう。
こうするとシンプルに走査できて良いですね。
1つ問題を言うと、自由度はありますが、一方でVBみたいな分かりやすさはありません。
VB.NETだと、
For i As Integer = 0 To 255 '「Step 2」とかで加算する数も変更可能
Console.WriteLine(Array(i).ToString())
Next i
と書きますが、これは分かりやすいのです。
自由度を取るか、分かりやすさを取るかですね。
今回、C言語系のfor文を褒めておいて、実は私はVB.NETのFor文のほうが好きだったりします。
tag: