Kengo's blog

Technical articles about original projects, JVM, Static Analysis and TypeScript.

Entries from 2008-01-01 to 1 year

S2Daoを試す

とりあえずDBに登録されているすべてのフォントを取得して表示するプログラムを作成。jdbcドライバを直接使わないこととSQLを書かないことで、かなり効率よくプログラムを記述できることを実感しました。POJOだけを使用しているため、ウェブページを実装せず…

2008年12月の目標

今月は自作Webサービスの公開に向けて、Javascriptライブラリに対する理解を深めたいと考えています。ライブラリにはThe Dojo Toolkitなど様々なものがあるようですが、まずはPrototype.jsとjQueryの2つに限定することでハードルを低くし理解を深めたいと思…

2008年11月のまとめ

目標の実践 バグやデバッグ、テストに対して確固たる考えを持つ 今月はTDDと失敗学という2つのツールをもとに、バグというプログラムの欠陥について考察を行いました。残念ながらリアルタイムでログを残すことはできませんでしたが、総括するとバグを減らす…

CodeReposのコミッタにしていただきました

今後雑多なスクリプトや公開予定サービスのコードなどをCodeReposを利用して公開してことを考えています。 手違いなどが無いように努めますので、どうぞよろしくお願いいたします。

キャメルケース表記を正規表現でアンダースコア区切り表記に変換

Javaでキャメルケース表記をスネークケース(アンダースコア区切り)表記に変換するには、そしてその逆に変換するにはどうすればいいか?という話。 RoRのcamelizeやunderscoreに近いのでinflector.rbを移植するのが間違いなく速く正確だろうと思いつつも、…

テキスト変換Webサービス概要

先週作成したテキスト変換ツールについて、その概要を簡単にまとめておきます。 このツールの目的は「かなフォントの入力を支援する」ことにあります。似ている既存ツールとしてはMac向けに「カナブン」というツールがあるようです。さすがはデザイナーに愛…

書きたかったプログラムが書けた

1・2年前から作りたいと思っていたサーバサイドのプログラム*1があったのですが、この週末に試してみたところDBを含めてほんの2時間弱で実装することができました。うれしく思うと同時に、仕事によるプログラミング学習の速度の高さに驚いています。もちろん…

2008年11月の目標

バグやデバッグ、テストに対して確固たる考えを持つ なぜバグが発生するのか 企業における開発とバグ 開発のあるべき姿 デバッグのあるべき姿 どうして企業はテストに時間をかけなければならないのか テストは付加価値を生み出さない いかにバグやテスト工数…

2008年10月のまとめ

目標の実践 バグやデバッグ、テストに対して確固たる考えを持つ テスト駆動開発(TDD)をはじめとした、バグ生産数の低減を狙った開発手法が存在することが分かってきました。失敗学もバグ低減の上でヒントになるかもしれません。ただしTDDは開発チーム全体…

仕事としてつきあうバグ

私はいままでバグに対して深く考察する機会を持ったことはありませんでした。なぜならプログラムの製作者も利用者も自分だったため、気にかける必要性はまったくなかったのです。 経験を振り返ると、むしろバグによって学べることが多かったと言えます。どう…

2008年10月の目標

ここ2週間ほどウェブから離れておりました。暇を作れなかったわけではなく、興味という目がより身近に向いていたためです。子供は縦横交互に伸びるといいますが、興味にも同じことが言えるでしょう。しばらく経てばまた外に向きはじめると思います。 さて今…

2008年9月のまとめ

目標の実践 JVMについてさらに知り、説明できるようになる ある程度は達成。特にGCやFinalizer、クラスローダについては検証用コードを多数組んで調べることができた。ただしSUNと他社の実装の違いや、Cヒープやスタック周りについては理解が足りない。 分か…

学校は何を教えてくれたのか

この週末に、縁あって高校生の実験レポートを読む機会を得た。実験と言えどそこはやはり高校生、誤字脱字にとどまらず検証不足や説明不十分が多かった。特に実験として致命的なのは説明不十分で、実験の結果得られる情報が「A または B」なのにもかかわらず…

2008年9月の目標

今月は「今自分が何をすべきか」を重点に考えた結果、先月に引き続き基礎知識固めに費やすことにしました。選択肢としては周囲への情報発信や新しい取り組みの開始なども考えられましたが、周囲の足を引っ張らずに仕事できるようになることが先決であると考…

2008年8月のまとめ

目標の実践 分からない概念や用語はその日のうちに調べる 達成。概念的なことはほぼ掴めたため、会話をする上で困ることは現時点ではあまりない。今後は自己の専門性を高める学習が必要になるだろう。 ミーティングで1日1度は質問をする 達成。「聞くは一時…

メモ:Class・Method・ClassLoaderのソースコードを読む

JVM寄りすぎるためにJavaのコードを追うだけでは得られる情報は限られてしまうようですが、代わりに新しいメソッドや修飾子に関する情報を得ることができました。 native修飾子を利用することで、他言語で実装されたメソッドを呼べる。 Methodクラスを利用す…

配属後1ヶ月経過時点でのタイムスケジュール

配属からしばらく経ち、時間の使い方が安定してきたので簡単にまとめておきます。 時間帯 内容 5:00 起床 朝食新聞を読む 6:40 家を出る 電車内で新聞・新書・文庫を読む 8:00 出社 スカンクワーク 10:00 通常業務開始 通常業務昼食雑談 19:00 退社 電車内で…

Java2試験問題集 解答終了

2週間前から取り組んでいた問題集を解き終えました。Javaの体系的な理解を目的にしていましたが、特にストリームやジェネリックスについて理解することができました。 Sun Certified Programmer for the Java2 Exam(310‐035) (Sunテキスト)作者: 原一郎,滝沢…

隠居の贈り物

縁あって母校のオープンスクールに参加、当時の部活動における活動について簡単に発表してきました。世話になった先生方や同輩と話すことができ、久々の感覚を味わえました。違う道を歩む同輩との会話は良いものです。 当時所属していた部活は顧問にも部員に…

StringBuilderのソースコードを読む

Javaで文字列(Stringクラスのインスタンス)を連結させる時は+演算子でもconcatでもなくStringBuilderやStringBufferクラスを使え!とよく言われます。その理由やStringBuilderクラス自身を理解するために、JDKのソースコードを読んでみました。*1その結果…

質問と検索の使い分け

仕事において、先輩方への質問と検索をどのように使い分けるべきなのでしょうか? 仕事上の疑問、特にプログラミングに関する疑問はほぼすべて検索で解決してしまいます。特に私はネットによる独学を長く続けている関係上、どういったキーワードで検索すれば…

Javaのforループ

仕事なのだから基本的なことを体系的に理解しないとまずい!という話になり、現在Javaについて基礎から勉強しなおしています。恥ずかしいことにこうした勉強をするまで、Errorクラスの存在を知りませんでした。何でもかんでも例外扱いなのではなかったのです…

2008年8月の目標

今月の目標は、ズバリ「周りの方々と対話ができるようになる」です。正式に部署へと配属された今、先輩方や上司のみなさんと対話ができることが仕事における大前提となります。しかし現在はそれができておらず、対話可能性の向上が急務です。 今の状態をキャ…

「感動」について

よく選手宣誓などで「感動を与えられるプレーをしたいと思います」といった表現がされますが、適切な表現とは考えにくい気がします。感動はするものであって、与えられるものではないからです。「余計なお世話だ」と思う人も少なくないのではないでしょうか…

2008年7月のまとめ

学生のみなさんは夏休みが始まったようですね。電車内でもグループで外出する若者を多く見かけるようになりました。社会人1年生が彼らを尻目に初めての夏をどのように過ごしたか、振り返ってみたいと思います。 公開したプログラム はてなダイアリーに2つ 手…

新しい言語教育(学習)法

結局のところ「本をたくさん読んで手をたくさん動かす!」のが最も確実な学習法だと思っているのですが、面白いアプローチを見つけたのでここに残しておきます。どちらも製作工数のかかりっぷりが尋常ではないですが、今後関連ツールが進歩すればより気軽に…

フェアトレードと社会起業家

昨晩カンブリア宮殿スペシャル「世界を救う社会起業家たち!」をみたのですが、普段に比べて司会者の質問力が発揮されていなかったようで残念でした。そう感じる理由を今日考えたところ、「ゲストを『社会起業家』として扱いすぎて、個人の魅力に迫らなかっ…

週末の結論

土日のイベント参加を前向きに検討したのですが、昨晩から頭痛がひどく結局外出さえ不可能な状態になりました。仕事以外で考え事が増えたのが影響したようです。 ただ今回のできごとについて考える上で、今の価値観を形成した原体験を思い出すことができまし…

休日を同僚と過ごすのは正しいのか?

今日ひとりの同僚に休日を共に過ごさないかというお誘いを受けました。ただ残念ながら、この手の誘いは入社して3ヶ月間、一貫して断っています。 理由は大きく分けて2つあります。1つめが、営業日に毎日会うのだから休日は他のことをしたほうが良いだろうと…

MVillageヘッダファイル作成

Footy2に引き続き、MusicVillageをHSP3から利用するためのヘッダファイル(ヘルプデータ付き)を作成、公開しました。公開許可をくださったドリームROMさんに感謝! MusicVillage - HSP開発wiki MIDIを繋ぎ目なしにループできるのは、ゲーム作成においてとて…