読者です 読者をやめる 読者になる 読者になる

argius note

プログラミング関連

言語のお勉強の近況

ここ2年くらいは新しく言語を学習することが無くなっていました。というのも、どうにも集中力が出ないからだったり。他にやることがたくさんあるし、以前よりコンピュータの技術的なものと距離を置く生活(パソコンは普通に使っている)になったような...で…

Cプログラミング診断室

副題:さらに美しく健康的なプログラムのために 著者:藤原博文 asin:4774117870 先週。以前、オンラインでちょっとだけ読んだことがあります。図書館で見つけたのでちょっとだけ読んでみました。 内容がやや古いので、歴史上のコーディングスタイルの資料とし…

去年の来年の目標

短時間でけじめをつける。できなかったらその日はあきらめる。 健康第一。 来年の目標 - argius note 全く実現していません。

正しいプログラミングテクニックの迷信?

中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場 ちょっと賑わっている話題です。私にも分かる分野なので、たまには乗っかってみます。 『「変数のスコープは狭いほど良い」と妄信する』に…

リエントラントが覚えられない

リエントラント(再入可能)の概念はだいたい理解していると思うのですが、単語が出てこないのです。先日、会話の中で登場したとき、情けなくも聞き返してしまったのに、印象に残ってないんです。今日、どこかの記事で見かけたとき、この時の記憶が呼び覚ま…

手動ソート

いくつかの候補を順位付けしたいんだけど、普通にやると上手くいかない。そこで、「AとBならどっち?」と言う風に聞かれたら答えやすいかな、と考え付いたのがこれ。 正確には比較を手動で行うので「手動比較ソート」となるのでしょうか。 PerlとRubyとJav…

頭の中のVM(仮想マシン)

プログラミングに慣れてくると、コードを実際の処理系で動かさなくても、どのようになるかがある程度分かるようになる。さらに、コードも実際に書かなくても良くなって、頭の中で書いて頭の中で実行できる。レベルが上がれば、処理できるコードの規模が大き…

ゲームとアルゴリズム

ゲーマーでなくても仕組みぐらいは知っておきたいアルゴリズムx40 ゲームに興味がある人なら、こういうところから学んでみるのは良いと思う。というか、ゲームの一部やそのものがパズル的だった場合、それをアルゴリズムで解くというのは、とんでもなく勉強…

恥ずかしい話(ChangeLog)

よく分かってませんでした。ChangeLogについて。 知ったかぶりはダメだって分かってるんだけどね。ああ恥ずかしい。

DSL ドメイン特化言語

Martin Fowler's Bliki in Japanese - ドメイン特化言語 (プログラマメモ2: DSL - domain specific language 経由) なんとなく調べた。

コードリーディング

生涯現役(by Z.Z?)を目標に。 最近はどうもライティングの比重が高いので、読むことに重点を置こう。 同じ題名の本を読むかどうかは未定。先日購入した Web+DB Press にコードリーディングに関する記事が載っているらしいが、読んでなかった。

WEB+DB PRESS Vol.42

買ったの何年ぶりだろう、と思って昔のを引っ張り出してみたら、vol.1(2000)とvol.5(2001)だった。当時はJavaがメインだったみたい。 今ではJavaよりP言語とかJavaScriptなどのスクリプト言語が多くなってる。開発言語に関係ない記事のも多いみたいですが、…

ローカル用ブックマーク

http://d.hatena.ne.jp/hyuki/20071220#bookmark 乗り遅れすぎですが、自分でもこういうの欲しかったので、作ってみました。とりあえず試作品。指定したURLのファイルしか取ってきません。文字コードによっては題名がちゃんと読めません。 簡易Webサーバを立…

来年の目標

今年の目標は、達成率としてはいまひとつですが、他の成果があったので良しとしてしまいます。 来年はもっとシンプルな目標にします。 短時間でけじめをつける。できなかったらその日はあきらめる。 健康第一。

多値について

もっと初歩的な立場から見ると、「配列や構造体のポインタで返せば良いのでは?」なのですが、 これができるのに、わざわざ多値を持ち込む「実用上の」理由は、性能だ。 valuesで返される多値はそれ自体はfirst classじゃない。 (各値はfirst classだけど、…

今年の目標について

今年も既に2/3(三分之二)が終わってしまいましたね。 ここで、昨年書いたこれを振り返ってみましたが、今のところちゃんとやっているのはJava1.5くらいです。Haskellもやるにはやったけど、今のところ「プライマリ」な存在には成り得ないですね。 ただちょっ…

音声入力機能でプログラミング

http://www.youtube.com/watch?v=KyLqUf4cdwc (http://www.kagami.org/diary/2007-05-21-1.html 経由) 色んな意味で面白すぎます。ちょっと重かったのですが。

プログラミングの心理学―または、ハイテクノロジーの人間学 25周年記念版 - Gerald M. Weinberg

私が読んだ「名著」の6冊目です。A5で厚めですが、結構軽くて、こないだのやつみたいに手が攣らなくて済みます。 中身は、元が難しいからなんでしょうか、日本語がちょっと読みづらいです。しかも二段組みでびっしり書いてあって、しっかり集中して読まない…

今年の反省・来年の目標

今年はとにかく手当たり次第に色々やってきた感じがします。昨年は、「非破壊リファクタリング」(造語です)の実践が物凄く勉強になりましたが、今年は大袈裟に言えば「アーキテクト」的なことをやらせてもらいました。 具体的には、環境を含めた実装の概要…

ライブラリのパス

カテゴリ困るー。 あるUNIX系OS上で、ライブラリがロードできないエラーが出た。Windowsなら、実行形式ファイルと同じく環境変数"PATH"に設定すれば良いが、UNIXではどうするんだっけ、とちょっと記憶内を検索してみる。 "LD_LIBRARY_PATH","SHLIB_PATH"あた…

オブジェクト指向の法則s

@IT:連載:.NETで始めるデザインパターン 第7回 デザインパターンの落とし穴 引用しようと思ってたらどこだか忘れてたのでメモ。

そろそろ成果物を...

いくつかプロダクトを作っているが、これはツール自体よりもその運用の練習がメインな感じだ。しかし、これがなかなか厄介で、すっきりとした形にするには色々考えなければ、って、考えがまとまらない。とにかくリリース版作成中。 で、これをもって一旦Java…

勉強とプログラマとバカと

勉強が出来ない奴はプログラマになれ!(バカだからできる勉強法) - IT戦記 (kinnekoの日記 20060805経由) 僭越ながら私見を述べたい。 まず、広義の「勉強ができる人」は、「考える力のある人」とする。 ここで言っている「勉強」は、「学校のつまらない…

「とうとう」Ajax体験 (2)

一応、理屈は分かってると思うけど、説得力ないので書いてみるです。 まず、サーバ側。PerlのCGIで、単語リストの中からランダムで一語取り出して返す。 #!/xxx/perl use strict; my @list = qw( Water Milk Cider Coffee Wine Tea Vodka Beer ); my $x = in…

「とうとう」Ajax体験

なんか、Ajaxでデモプログラムを作ることになりそうだ。「とうとう」と書いたのは、あまり気が進まないから。 Ajax自体はそれほど難しいことを要求しない。XML-RPCまたはその類の技術が分かってて、JavaScriptからHTTPリクエストが投げられることを知ってい…

ソフトウェアのライセンスの選び方

http://hisashim.livejournal.com/107570.html やっぱりGNU GPLは難しいんだね。面倒なの嫌い。

日経ソフトウエア 2006年 09月号 [雑誌]

まだ馴染めないけど、ぎりぎり許容範囲なので購読中。 Rubyの新連載があり、JoJoられています。

ナンバープレイス/数独

微妙に定義が異なるのか、まったく同じなのか。おー、さすがヰキペヂア先生。すぐわかりましたよ。後者は登録商標だって。えーと、「コンピュータを用いて数独の問題を解答したり作成したりすることも広く行われている。」って。ま、そうでしょうね。 しかし…

MS932とか

ヰキペヂア:CP932*1 また文字コードチェックを考える必要が出てきたので復習。歴史的事情や国際化や独自仕様が複雑に絡みあい、不毛な世界である。世界の言語が英語だけになればたちまち解決だ、というのがコンピュータ的には最もありがたい答えだと思うが、…

♪ハープシコード風?波形

時間と共に振り幅が小さくなる波形を作ってみた。それと、波形をさらに変なかたちに。すると、おもちゃのキーボード(音楽用)のハープシコードのような音になりました。ちゃんと「ぽーん」て鳴った。ちょっとうれしい。 ついでに波形を表示するのをJavaに移…

♪サイン波の音

出せた。プログラム的にはきれいじゃないけど。特に、AudioPlayerとかは公開パッケージじゃないし。あと、AudioPlayerはスレッドなので、止め方が良く分からないので一定時間過ぎると強制終了とした。 private static final int LENGTH = 0x100000; public s…

♪複雑な波形を作ってみる

これから「ディジタルフィルタ」の練習をするにあたって、グラフ書くぞうくん(そんな名前じゃないが)をちょっと進化させた。ファイルの最後に式を書けるようになった。組み込み定数DATAを使ってみた。 で、ただのサイン波からちょっと複雑な波形を作ってみ…

♪はじめて学ぶディジタル・フィルタと高速フーリエ変換―基礎・原理からよく理解するための (ディジタル信号処理シリーズ)

こちらは理論。ソースコードはほどんど出てこない。「はじめて」とあるが、これは「入門」だと語呂が悪いからそうなってるだけのような。数式とグラフまみれでワケ分かりません。ま、「?十の手習い」のつもりで。

♪ディジタル・サウンド処理入門―音のプログラミングとMATLAB(Octave・Scilab)における実際 (ディジタル信号処理シリーズ)

サウンドをデジタルで加工する処理の基礎。基礎と言っても、数学の知識が必要なので、私は1から勉強。学んだことがあるかどうかすら忘れた。でも、フーリエ変換が何のためにあるのかなど、目的が見えてきたのでとっかかりにはなりそう。 ちなみに、この本は…

♪:事始め

今までは、主にプログラミングのためのプログラミングだったが、前からやりたいと思っていたサウンドプログラミングを始めることを宣言してみる。 目標、ソフトウェアシンセみたいなのを作る。趣味なので気長に。

Windowsサウンドプログラミング―音の知識×プログラミングの知識

タイトルの通り、Windowsでサウンド関連のプログラミングをする基本的な事項について、一通り説明している。サンプルプログラムが豊富なので、プログラミングをしなくてもそこそこ楽しい。

目指すべきは...

やりたいことはたくさんあるが、時間は限られてる。何かに絞りこまないといけない時期が来たのかな。

Cを知らなかったときの自分

かつて、自分がまだBASICしか知らなかった頃のこと。 何かのテレビ番組で、C言語のソースをちらっと見せていたのを見て、物凄い違和感を感じたことを思い出した。当時の自分にとってはプログラムに行番号があるのが当たり前だったので、カッコとセミコロンで…

ソフトウェア原則

理解しているつもりだけど、説明する自信はないな...。勉強し直し(予定)。

プログラミング自動化がなぜ難しいか

将来プログラミングがある程度自動化されたら、やはりプログラマーは職を追われることになるのだろうか、と最近ふと思った。でちょっと参考にさせてもらったJavaBlackさん(id:JavaBlack:20060331)のエントリからメモ。 国際コミュニケーションを見れば解ると…

Lisp処理系をJavaで作る (2)

前回(id:argius:20060329:1143641960)を実際に作ってみた。ただコーディングするのではなく、ちゃんと噛み砕いてから、自分なりにJavaの標準APIを使った形に再構成してみた。 そもそも、Lispをちゃんと理解していないのだが、これを作ってみて、Lispが如何…

手前味噌

http://argius.net/product/ 久々の更新。ドキュメントの整備が面倒なので、最も活発な活動だけを更新していく方針にしよう、ということで、自分で作ったものを公開するシンプルなページを作りました。

Java World (ジャバ・ワールド) 2006年 5月号

SOA特集。各社アプリケーションサーバもSOAサポートを強調し始めた。

C MAGAZINE 2006年4月号

最終号。「次号のお知らせ」がないところが涙を誘う。 私は5年近くお世話になりました。読み始めたきっかけは、結城浩さんのPerlの連載でした。当時の自分はかなり大きな影響を受けました。毎年春になると、プログラミング入門があって、誰かにプログラミン…

使用を避けてる専門用語

返り値 返り血 戻り値 置換(ちかん) 痴漢 置き換え 最初が対象、次が同音語、最後が代用語です。 同じ生息圏*1の同音語は、一方が淘汰されるという特徴がありますが、この例だと生息圏は異なるので普通は問題になりません。しかし、次の理由で使うのを避けて…

メッセージング?

Javaから入門した人には難しいんじゃないかと思われる概念。私もちゃんとわかってる訳じゃないですが。 Rubyの場合、メソッドコールはメッセージの送出であり、そのメソッドが実装されているかどうかに関わらず、オブジェクトに通知されます。ただ、オブジェ…

スペルミス - occur

occurの過去形は、正式には"occurred"と書くのが正しいみたいだけど、ずっと"occured"って書いてた。どれだけ埋め込んだか調べてみたら、Java標準ライブラリとかオープンソースのコードにも結構たくさん見つかった*1。...プログラムが動かないわけじゃないし…

C MAGAZINE 2006年3月号

ちょっと前にどなたかのサイトで発見して知っていたのですが、次回を最後に休刊となってしまいます。非常に残念です。

ストラテジパターンの喩え

CDとCDプレーヤの関係と説明した。プレーヤはCDの具体的な内容は知らないが、CDの規格に従って音を再生しようとする。例えばCD-ROMデータディスクだとしても、音を再生しようする。CDが何種類あろうと、CDプレーヤ側を全く変えることなく再生できる。CDの規…

問題解決

今朝、仕事場に向かうとき、ふと、思いついた。あの面倒な問題を解決する方法である。「面倒な問題」とは、具体的には言えないが、JDBCの接続先URLの一部(DB種類)がハードコーディングされているプログラムで、テストのために別のRDBMSを使って動かしたい…