2009-01-01から1年間の記事一覧

時代遅れひとりFizzBuzz祭り Tcl編

時代遅れひとりFizzBuzz祭り、今回はTcl。前回がLuaだったので、その流れで「元祖アプリケーション組み込み用言語*1」のTclを引っ張り出してみた。この「元祖」は単なる言葉のあやなので、深く考えてはいけない。Tclというと、世間的にはTcl/Tkと一括りで語…

書籍購入:2009年最終戦

JISの規格票を注文しに本屋に行ったついでに、何冊か購入することにした。年末だし、ここ暫く言語自体の本を買ってなかったので良い機会だろうと考えたわけだ(謎)。2009年は年初にLispを弄ろうと宣言したのに1ヶ月も経たないうちにJavaScriptというかJScri…

時代遅れひとりFizzBuzz祭り Lua編(後)

id:eel3:20091213:1260716184 の続き。予告通り、後編である。前回、普通にジェネリックforを使ってみたので、今度はイテレータを自作することにした。 function isnumber (n) if type(n) == "number" then return true elseif type(n) == "string" then if …

時代遅れひとりFizzBuzz祭り Lua編(前)

時代遅れひとりFizzBuzz祭り、今回はLua。前回のObjective Camlとの繋がりは、最近趣味で触りはじめた言語だという点。少なくとも業務都合で勉強することになった訳ではない。Lua自体は2008年末ぐらいから注目していた。一応組込み関連の仕事をしているので…

ライセンスに関する文言に手を入れたので、念の為告知

2009/12/10 23:30ぐらいまで、このブログの各ページには、 このブログに掲載されているソースコードは、特にライセンスが明記されていない限りNYSLに従って公開するものとする。この辺りについてはid:eel3:20081229:1230559827参照。 と記述してあった。これ…

時代遅れひとりFizzBuzz祭り Objective Caml編

時代遅れひとりFizzBuzz祭り、今回はObjective Caml。前回のRubyとの繋がりは、「Rubyに次ぐツール自作用言語として期待しているプログラミング言語」という点。全く個人的な理由だが、気にしてはいけない。どの辺りを期待しているのかというと、デフォルト…

時代遅れひとりFizzBuzz祭り Ruby編

時代遅れひとりFizzBuzz祭り、今回はRuby。前回がPerlだったので、Perlの影響も大きく受けているRubyにしてみた。Rubyはテキスト処理系統のツールを自作する時によく使う。以前はgawkを使っていたけど、やはりgawkは独特な所があって、本格的なツールを作る…

時代遅れひとりFizzBuzz祭り Perl編

時代遅れひとりFizzBuzz祭り、今回はPerl。前回がGNU AWKだったので、その流れでテキスト処理用の言語としての地位をAWKから掻っ攫っていったPerlにしてみた。実に安直だ。Perlは殆ど触ったことがない。時々、拾ったツール*1がPerlで書かれてた等の理由でや…

時代遅れひとりFizzBuzz祭り GNU AWK編

時代遅れひとりFizzBuzz祭り、今回はGNU AWK。前回がC++だったので、その流れでJava……ではなく、よく使う言語繋がりでgawkにしてみた。gawkは、まだ私がC言語ぐらいしか使えなかった頃に、ちょっとしたツール自作用に使い始めた言語だ。既にPerl 5.8.8の頃だ…

時代遅れひとりFizzBuzz祭り C++編

時代遅れひとりFizzBuzz祭り、今回はC++。前回がC言語だったのでその流れでC++、であると同時に、C言語に次いで仕事でよく使う言語だから、という理由もある。C++は苦手だ。機能が多くて且つ複雑怪奇な所が多々あるあたりが苦手だ。しかし機能が多いというこ…

時代遅れひとりFizzBuzz祭り C言語編

時代遅れひとりFizzBuzz祭り、記念すべき第1回の言語はC言語。最も頻繁に使っている言語をチョイスしてみた。C言語は仕事でメインに使用している言語。というか私の納品するコードの大半はC言語で、他言語からC言語のコードを生成する域には程遠い私は直接C…

時代遅れひとりFizzBuzz祭り 序文

今更ながらFizzBuzzである。時の流れは早いもので、特にソフトウェア開発の分野は10年ひと昔どころかdog yearなので尚更だ。なにせ最近のPDAの類は、私が初めて買ったPCのスペックと同等かそれ以上だ。FizzBuzzもあっという間に廃れてしまった。しかし一方で…

JScript on WSHでディレクトリ(フォルダ)を再帰的に辿る処理の雛形

2009/04〜2009/05ぐらいだったか、あるディレクトリ以下の階層に潜っていって最下層のディレクトリが特定の名前だったらその中にディレクトリを作る、という作業をやろうとして、開始5秒で手作業でやることに決定したことがあった。悔しいので今更ながらリベ…

gcovのログファイルをマージするgccr.plのバグ退治をした

id:eel3:20090326:1238028836 で入手したgccr.plで、10000行以上のソースファイルのログをマージしようとしたらパースに失敗した。ちょっと悩んだのだけど、要はパースの時に例えば「/^\s+-:\s+(\d+):(.*)/」のような正規表現でマッチングしていて、 -: 10:…

C++入門最前線――21世紀のC++の学び方

もう8年以上たっているというのに、このタイトルは(ryプログラミング初心者のC++の学習方法というと、 まずC言語と共通の機能を学ぶ。 次にクラスとオブジェクト指向プログラミングを学ぶ。 という古典的な方法が有名だけど、正直なところ古典的すぎてあまり…

気づいたら『入門OCaml』が書店から消えていた

絶版、なんだろうか? オンデマンド出版での購入は可能らしい。入門OCaml ~プログラミング基礎と実践理解~作者: OCaml-Nagoya出版社/メーカー: 毎日コミュニケーションズ発売日: 2007/05/22メディア: 単行本(ソフトカバー) クリック: 59回この商品を含むブ…

続・Notepad++がレジストリに書き込みを行なうタイミング

暫く使っていないうちに、Notepad++ EUC-JP対応版のバージョンが上がっていたので、久しぶりに使ってみることにした。ということでv5.4.5-6 euc-jpにv5.0.3-3 euc-jpの時の設定を移植したのだけど、正直めんどい。設定のXMLファイルを一々見比べてマージして…

Windowsのnet userコマンドのオプション/randomがダメっぽい

季節は秋。サーバのお引越しの時季である(嘘)。色々あって、サーバのリプレース作業を手伝っていた。OSはWindows Server 2003 R2。Unix系のOSでないのは、何か問題が発生した時に対応できる人材がいないかららしい。新サーバにユーザアカウントを追加する…

購入品リスト(後で書く)

やさしいコンパイラの作り方入門―オリジナルなコンパイラを作成する作者: 日向俊二出版社/メーカー: カットシステム発売日: 2009/07メディア: 単行本購入: 2人 クリック: 22回この商品を含むブログ (9件) を見るProgramming in Lua プログラミング言語Lua公…

購入品リスト(後で書く)

Windowsサーバー Hacks ―管理者必携のテクニック & WSHスクリプト 100選作者: Mitch Tulloch,高橋基信,占部優希出版社/メーカー: オライリージャパン発売日: 2005/05/26メディア: 単行本(ソフトカバー)購入: 2人 クリック: 35回この商品を含むブログ (23件…

購入品リスト(後で書く)

ふつうのコンパイラをつくろう作者: 青木峰郎出版社/メーカー: SBクリエイティブ発売日: 2009/07/24メディア: 単行本購入: 25人 クリック: 398回この商品を含むブログ (48件) を見る

購入品リスト(後で書く)

まつもとゆきひろ コードの世界?スーパー・プログラマになる14の思考法作者: まつもとゆきひろ,日経Linux出版社/メーカー: 日経BP社発売日: 2009/05/21メディア: 単行本購入: 50人 クリック: 1,711回この商品を含むブログ (110件) を見るリファクタリング・…

vim(vi)を勉強するメリット(マイナー編)

メジャーなメリットについては既に色んな人が書いているので、マイナーなのを1つ。exモードを弄るようになると、sedが使えるようになる。exモードのテキスト編集系のコマンドとsedのコマンドは結構似ているし、コマンドの書き方自体も似ている。反対に、sed…

ノイズキャンセリングで耳栓計画:SONY MDR-NC33/B

【国内正規品】SHURE カナル型 高遮音性イヤホン ホワイト×グレー SE210-Jを耳栓兼iPod用イヤホンとして使い続けて2年以上になるが、段々着脱が面倒になってきた。SE210の高遮音性イヤーパッドは確かに遮音性は高いのだけど、いい感じにフィットするように着…

「やさしくない」C言語入門書の構想

暫く前に「やさしい」C言語の入門書を探していたので、その反動で「やさしくない」C言語の入門書について考えてみた。一言で「やさしくない」といっても、万人に対してやさしくない本の需要なんて皆無なので、特定の人にやさしくない本を目指すべきだろう。…

RFC-822風オレオレファイルフォーマット覚え書き

これは備忘録。こんなことをやりたかった。 テキストファイルにテストデータを書いておき、テストアプリに流し込む。 1ファイルに1テストデータ。 テストデータは非構造的。 テストデータだけでなく、ちょっとした設定情報もテキストファイルに含めたい。 つ…

よいコメントの書き方入門(心構え編)

最近、会社でソースのコメントがらみで苦労して、ふと思った。適切なコメントの書き方についての実践的な入門資料はないものか?『CODE COMPLETE 第2版 下 完全なプログラミングを目指して』の第33章や『Code Craft ~エクセレントなコードを書くための実践的…

Rubyのソース中のダブルクォート文字列をシングルクォートに置換する(その2)

id:eel3:20090727:1248625974 に関して、vimの正規表現での改行の取り扱いについてありがたいおつげ助言を頂いた。 :help /\_そもそもこの手の問題は正規表現でざっくりは処理できても正確には処理できない。 Re: Rubyのソース中のダブルクォート文字列をシ…

Rubyのソース中のダブルクォート文字列をシングルクォートに置換する

これは備忘録。id:eel3:20090326:1238028836 でgcovのログファイルをマージするgccr.plを手に入れたので、調子に乗って単体テストアプリを幾つも作っていたら、Makefileのメンテが微妙に面倒になってきた。そこでRubyでMakefile生成スクリプト*1をでっちあげ…

scanfでもバッファオーバーフローは防げるけど、悩みが増える

scanf系の関数の%sあたりでバッファオーバーフローを防ぐ方法は結構メジャーな(つまり世間的にありふれていてネタにもならない)ネタだと思っていたのだけど、例えばこんなページが存在していることから推測するに、そうではないらしい。どうも世間では「sc…