セキュリティホールが見つかったとのことなので、バージョンアップしました。 普段は、cvs update したものをコンパイルして、/usr/local/binにインストールしたものを使っています。 なので、Vineのパッケージと併せて両方とも最新版にしました。
諸事情により、本日より、Cプログラミングです。 なぜか、Cygwinの環境でプログラミングです。 エディタは、vim 6.1.263 です。
最終的なターゲットは違う環境なので、気休めではありますが、gccのオプションには、
-Wall -ansi
を追加しておくことにしました。
Cygwin上のcvsも初めて、恐る恐る使ってみました。 今のところ大丈夫なようです。 (昔、RCSを使って、ファイルが消えてしまうという不可解な現象に遭遇したことがあり、 どうしても、そのイメージがつきまとうのでした。)
Perlにも同じものがあるよなあと思って、 見てみたら、 ずばり移植したもののようです。 ちなみにこのライブラリは、Windows環境じゃなくても動くはずです。
どうやら私の勘違いだったみたいです。 で、動かない例を送ってもらえないだろうかと聞いたところ、 かなり複雑なので、それは勘弁してくれと言われてしまいました。 OLEサーバーを自前で用意できないから難しいんですよねえ。 どうしたもんだか。
Cygwinで
man strcpy
とやっても No manual entry になってしまいました。 試しに cygwin-doc-1.2-1.tar.bz2 をインストールしたら 無事に表示されるようになりました。
平成14年度未踏ソフトウェア創造事業「未踏ユース」の公募について-公募結果を眺めていて、 オープンソースCOBOLコンパイラの開発 というのがあったので、もしやと思って見てみたら、やはり、まつもとさんの会社でした。
昨日、メールで質問がありました。 どう考えても質問の意味がわからなかったので、質問の意味を確認しようかと考えていました。 (英語のメールだったので、内容を把握するのにも返事を書くのにも時間がかかってしまう。) 1日たったら次のメールが届いていました。 どうやら、このメールの質問が本筋らしいのですが、 私の知識の無さも手伝ってか、まだあやふやです。 結局、ちゃんと内容を理解できているのかどうか確認のメールを出しました。
C#に手を出す余裕はあるのかというツッコミはさておき、 Rubyに手を出す精神的なゆとりがまだ持てない状態です。 仕事に慣れるのと生活していくので手一杯な感じです
ちょっと疑問に思ったのが、C# の Main メソッドが void であることでした。 ある雑誌には、void でも int でも良いと書いてありました。 終了ステータスはどうなるんだろうなどと疑問が湧いてきます。
ということで、ECMA-334 を読んでみました。
それによると Main メソッドは
static int Main(){...} static void Main(){...} static int Main(string[] args){...} static void Main(string[] args){...}
のどれでも良いそうです。 void の場合は終了ステータスは0になるんだそうです。
man cscc で調べると -mjvm で JVM の bytecode を吐き出すらしいのですが 吐き出された結果を java で実行しても java.lang.ClassFormatError になってしまいました。 (Java は Standard Edition の 1.4.1_01 です。)
OOo_1.0.1_LinuxIntel_install_ja.tar.gz をダウンロードしてインストールしましたが、 メニューやダイアログの文字が???のままです。 フォントをちゃんと設定してやればいいのでしょうが、良くわかりませんでした。 (全部???なので、どのメニューを選択すればいいのか、 どのボタンを押すとどうなるのか、さっぱりわかりません。)
最近、マニュアルを読んだり、調べたりするのが面倒になってきている軟弱な私は、 OOo_1.0.1_LinuxIntel_install.tar.gz をダウンロードしてインストールすることにしました。 こっちは、ちゃんと英語のメニューが出ます。 フォントを指定すれば、MS-Wordで作られた日本語のファイルそのものは、表示できることがわかりました。 (メニューなどの英語は、多分変わらないでしょう。)
Vine Linux で MS Word の文書を読みたかっただけなので、今のところ、これで十分です。
...負け惜しみに聞こえますか?
作成日順で並べ替えるのなら、 わざわざ sort を使わなくても
ls -lAtr
で十分じゃないでしょうか?
あっ。そういう意味じゃなくて、sortが使えるという説明の例なのか。 すいません。雑誌を読まないまま、反応しています。
-Aというオプションは知りませんでしたので、偉そうなことは言えませんが。
Linux で C# をということでDotGNUのPortable.NETを試してみることにしました。 まずは、Portable.NETをダウンロードできるサイト からファイルをダウンロードします。
pnetをコンパイルする前に、treecc をインストールしておく必要があります。
tar zxvf treecc-0.1.8.tar.gz cd treecc-0.1.8 ./configure make make check make install
続いて pnet
tar zxvf pnet-0.4.8.tar.gz cd pnet-0.4.8 ./configure make make check make install
とりあえず、ここまでインストールして C# で Hello World プログラミングをしてみます。
hello.cs という名前のファイルを作ります。ファイルの中身は次のような感じです。
using System; class HelloClass { static void Main() { Console.WriteLine("Hello World!"); } }
では、コンパイルしてみましょう。何もオプションをつけないで、csccを実行します。
cscc hello.cs
すると a.out.exe というファイルができます。早速実行してみましょう。
ilrun a.out.exe
見事に Hello World! と実行されました。
とは言え、まだまだ不完全な状態のようですね。
ところで、この a.out.exe をそのまま、Windows 環境へ持っていけば、動くんでしょうか?
続けて pnetlibをインストールしておきましょう。
tar zxvf pnetlib-0.4.8.tar.gz cd pnetlib-0.4.8 ./configure make make check
うーむ。なんか2ヶ所テストで失敗してしまいました。 とりあえず、無視して、そのままインストールしておきます。
make install
次はmonoを試してみましょうか。
バージョンアップしました。
まずは、binutilsから。
tar jxvf binutils-2.13.1.tar.bz2 cd binutils-2.13.1 ./configure make make install
続いて gcc
tar zxvf gcc-core-3.2.1.tar.gz tar zxvf gcc-g++-3.2.1.tar.gz mkdir gccobj cd gccobj ../gcc-3.2.1/configure --enable-languages=c,c++ \ --with-system-zlib --enable-sjlj-exceptions --enable-threads \ --disable-version-specific-runtime-libs --disable-nls \ --without-included-gettext --without-catgets make bootstrap make install
Ruby 1.7をコンパイルしたら、拡張ライブラリのコンパイルのタイミングでコアダンプしました。 が、
cvs update -dP
で、Ruby 1.7 を最新の状態にして再挑戦したところ、無事、コンパイルできました。
読んだことがあるような気がします。 「マサの弁明」には、思わずニヤリとしてしまいました。
ここのところ、宮部みゆきが続くのは、会社の先輩からまとめて文庫本を借りているからです。 次は『天狗風』です。これは間違いなく未読です。
「Java technology : エクストリーム・プログラミングの神秘を解く:「XPの真髄に立ち戻る第2回」より。
いつからプラクティスは19に増えたのでしょうか? (原文も参照してみましたが、 同じく19なのので誤訳では無いようです。) プラクティスが増えていくと、だんだん Light weight (Agile)な開発手法じゃなくなってしまうように思います。
ひょっとすると、誰かが 12 と 19 を間違えただけですか? (手書きで慌てて2と書くと9を間違えるような字になるかも知れません。)
そう言えば、最近では14のプラクティスと言っているような気もします...。
なんか、自分のコードに間違いがあったらしく、気分新たに書き直したら動いてくれました。
readLine()であっても
バイナリデータCR ← readLine()で読み込んだbyte列 LFバウンダリ文字列 ← 次のreadLine()で読み込んだbyte列
となる可能性はある(と判断した)ので、結局、その点を考慮したコードにしました。
うーむ。readLine()を使っているメリットが無いような...。
このようなコードの実装が面倒なのは、Javaと言えどもCと全く変わらないように思いました。 (もちろん、socketなど低レベル(?)のネットワークプログラミングを 意識する必要が無いという点では、はるかにJavaの方が楽です。)
何かちょっとだけわかってきたような気になってきてます。
うーむ。ダメなんですか。 コードそのものは流用しようとは思ってなかったので、別にどちらでも構わないのですが。 とりあえず、概要をつかみたかったのです。
紹介していただいたサンプルも読んでみます。
ところで、どうしてダメなんでしょうか? 8 * 1024 byte 以内に1行が納まることを前提にしているところですか?
ServletInputStream#readLine()
がちゃんと動いてくれていないようでハマってます。 しかも、だんだん自分が書いているコードが複雑怪奇になってきてます。 ちょっとまずい状況です。 頭を冷すため、今日は、さっさと仕事を切り上げてきました。 明日、気分新たに頑張ってみます。
ところで、気になるのが、バイナリデータ(ファイル)の部分をreadLine()で読むと、最後のところで、
バイナリデータCR ← readLine()で読み込んだbyte列 LFバウンダリ文字列 ← 次のreadLine()で読み込んだbyte列
みたいな読み方になってしまわないのか疑問です。
[ruby-list:36530]より。 引越しちゃったので、関西は遠くなってしまいました。
『入門 JavaScript』
出張先でふらりと入った書店で見つけてしまいました。 これは運命かも知れないと思い、購入してしまいました。
JAVA PRESS vol.26
「特集 Java API ダイジェスト」に魅かれて。 今、もっとも私が必要としているテーマではないかと思いました。 やりたいことがあっても、膨大なAPI(クラスライブラリ)の中から欲しいAPIを探し出せず、苦労してます。 まあ、それでも今は、インターネットという便利なものがある世の中になったので、かなり助かってます。
みかままさんの『入門 CVS 第2版』。 今度は表紙が赤になってます。 私が持っているのは青の表紙の第1版です。
を調査。
さらに、サーブレットでファイルをアップロードする方法を 見つけて読んだり。 ...と思ったら原田洋子さんのページでしたか。
自宅のPC(Vine Linux 2.5)にインストールしてみました。 Hello World プログラムがコンパイルできて、実行もできることを確認しました。
久野さんて誰だろうと思って、Google で 「久野 JavaScript」で検索したら 『入門 JavaScript』が いきなり見つかりました。
久野靖さんてどんな人だろうと思って、Googleで「久野靖」で検索したら ご本人のページが見つかりました。 写真を見て、どっかで見たことある人だなあと思ったのですが、 松江か東京かどっちかのシンポジウムでお見かけした人だということに気づきました。 (まつもとさんの出たセッションの司会をされていたんじゃないかと思います。)
本屋で『入門 JavaScript』を 探してみようかと思います。
あと、オライリーのJavaScriptの本も探してみようと思います。 友人が「JavaScriptの本で、まともな本はこれ(オライリーの本) ぐらいしか知らない。」 と話していたのを思い出したからです。
早速、書店に行ってみましたが、見つかりませんでした。
テレビで放映していたので(途中から)見てしまったのですが、早まったかも知れません。 ジェフリー・ディーヴァーの書いた原作をまだ読んでないのです。
に対応したモデムが届きました。 今度は縦型です。 横にすることはできません。 あれっ。電源のスイッチが見当たりませんよ。 電源アダプタを抜くしか無いみたいですね。
なかなか慣れきれません。 Cygwinのvimで編集して、コンパイルだけIDEとかやってしまってます。 vimがいいのは、画面分割してソースを見比べながら作業できる点です。 まだ JSP だの JavaScript だの Servlet だのに慣れないので、 どうしても他のソースを参考にしながらの作業になってしまうのです。
JSPとServletとJavaScriptとの使い分けの方針があることを聞きました。 (今回の仕事の中の話です。一般的かどうかは、わかりません。) ということで、その方針に従い、JSPで書いていたコードをJavaScriptに書き直しました。 JSPで書いてもいいかなあと思いながら書いちゃったのですが、その前に方針を確認しておくべきでした。
(マウスを使わなくてはならない)IDEの環境にも慣れつつあります。
Cygwinの tail -f
が大活躍しております。
less で F キーが使えるともっと便利なんですが、なんかうまく動いていないような気がします。
もう一度、明日試してみよう。
やはり、GUIが絡めば、JSPなんですね。
でも、
<% if (x == y) { %> XとYは等しい。 <% }else{ %> XとYは等しくない。 <% } %>
みたいに混在するようなのは勘弁してほしいです。
読了。新潮文庫版を読みました。絶対にこの本の解説を先に読んではいけません。 「敵持ち」、「お墓の下まで」、「謀りごと」が好みです。 小坂井や又右衛門を主役にした話が読んでみたいです。 それにしても、味のある作品が並んでいます。うまいです。さすが。
実際のコードを触り始めて2日目の感想です。
個人的には、JSPでJavaのコード片がちらばるのは好きではありません。 最小限にした方がコードの見通しは良いのではないかと思います。
多分、開発するときにはJSPを主にした方がてっとり早いのでしょう。 ですが、保守のことを考えると、望ましくないのではと思います。 HTMLとJavaが混在するとコードの見通しが悪くなりますから。
これは、Javaを混ぜるから、見通しが悪くなるというのじゃなくて HTMLに別の言語を混ぜるから、見通しが悪くなるということです。 Javaに限定される訳ではありません。
今さらですが、私は、基本を知らないので、ちょっとまずいような気がしてきました。 ここは、JSPの方で処理して、これは、Servletで処理して、などと頭の切り替えがスムーズにできません。 やっぱりちゃんと1冊ぐらいServletやJSPの本を読んだ方がいいかも知れません。
読了。 本格ミステリのパロディのような作品です。 トビーとジョージに関して予備知識が無い人だと、もっとびっくりするんでしょうけど、 他の作品を読んでいる私は、さほど驚けないのが残念です。 最後のどんでん返しのスピーディーさ、鮮やかさは見事。
「神無月」が好み。 前に読んだことがあったような気もします...。
ようやくビニール製の安いのが見つかりました。220円です。
...厚い文庫本だとカバーできないことが判明しました。
同じ値段、同じビニール製でも CONCISEのステーショナリーのクリアカバーだと 厚さ調整ができることを買ったあとで知りました。 かなりショックです。 前に持ってたやつは、多分、ステーショナリーの皮革調ブックカバーのようなタイプです。
...オンラインで購入できるみたいなので、申し込もうかと考え中です。
前から気になっているのは、銀河通信で知った モニデー 文庫本カバーの会という カバーなのですが、(会員にならずに)どうやって入手すればいいのかさっぱりわかりません。
Vine Linux の Mozilla を1.1 0vl6にしました。 やっぱりADSLだとダウンロードが速いです。
標準添付向けERb 2.0が公開されたのでダウンロード。
の環境になりました。 プロバイダはそのままniftyにしちゃったのですが、DNSのIPアドレスに何を指定すればいいのか わからなくてGoogleで探し回りました。
「@nifty:フレッツ・ADSL」のページには どうすれば簡単にたどりつけるのでしょうか?
NTTから連絡がありました。18日に変わる予定です。 順調に移行できれば、フレッツADSLの使用期間は、7日から18日の12日間で終わりそうです(笑)。 今、レンタルしているADSLモデムは、玄関に出しておけば、引き取ってくれるそうです。
レンタル料は日割計算なんだろうか?
しました。 まだ疲れてます。 これから、徐々に生活のリズムを作っていこうと思います。 ぼちぼちやります。(←何故か関西弁(ふるさとの言葉)がしっくりきます。)
読了。 「あやつり裁判」と「坑鬼」が好み。 そのトリック、プロットは現代でも十分通用します。