2005年11月21日
シェル変数に文字列置換結果の代入はできる!
先日のエントリ「シェル変数に文字列置換結果の代入はできる?」にて、シェルスクリプト内で文字列置換結果を、環境変数に格納できないと書きましたが、阿呆でした。
#!/bin/bash
TEST=`echo 'AbCdEfG' | tr A-Z a-z`
echo $TEST
バッククォートを使えば良かったんですね。LPICの勉強していて気づきました。
投稿者 bokupi : 22:57 | コメント (0) | トラックバック
2005年11月20日
シェル変数に文字列置換結果の代入はできる?
スクリプトのあるディレクトリ以外から絶対パスで実行した際に、データファイルなどの位置を正しく認識させるために、スクリプト自身のあるカレントディレクトリを取得したいのだけど、妙案が思いつきません。スクリプト自身のパスは、"$0"変数で取得できますが、ディレクトリ名とするには、そこから末尾のスクリプト名を取り除く必要があります。文字列操作の命令は、sedやtr(trとかは正規表現ダメだから厳しいか…)など各種ありますが、ファイル単位や標準入出力での操作を基本としているので、やりたいことができず。シェルスクリプトは、やはりそうした操作が中心なのでしょうか。文字列置換結果を、シェル変数に代入とか出来たら嬉しいのに。
結局絶対パスをハードコーディングすることで解決させましたが、出来れば汎用性が効くようにしたかったです。perl使っても良かったかな。
投稿者 bokupi : 13:05 | コメント (0) | トラックバック
2005年10月15日
Ruby始めました
UMLを利用して作成したシステムの実装にRubyを使ってみることにしました。とくにオブジェクト指向とかなかったら、使い慣れたPerlを使うつもりだったのですが。もちろん、Perlでもオブジェクト指向プログラミングはできます。ただ、どうせ新しく覚えることがあるのなら、これを機にRubyをさわってみたいと思ったわけです。
前置きが長くなりましたが、Rubyはオブジェクト指向のスクリプト言語です。オブジェクト指向というと、Javaのようにガチガチな言語で組むイメージがあるので、そのあたりのギャップに少し苦しみました。これがないけどいいのかなあ?あれは宣言しなくていいの?など。慣れたら便利なんでしょうけど。とりあえず、今は配列や制御構文で躓いているレベルですから。
しかしWeb上で良いRubyのチュートリアルサイトってないですかね。私的に公式サイトのそれはどうも使いにくいです。
投稿者 bokupi : 23:53 | コメント (0) | トラックバック
2005年10月04日
先週と同じ時間にサーバダウンの怪
というわけで、先週月曜15時くらいにサーバダウンしていたのだけれど、今週も14時40分くらいにサーバダウンしてました。ログを見ると一番最後に動いていたものは、先週と同じくbindです。元々定期的に動くものなので、犯人か分かりませんが、一応容疑者。
ただし、今回は前回とは少し違う症状です。前回はhttpdの起動スクリプトミスで停止していたけれど、そこは修正したので今回は普通にログイン画面まで出ていました。しかし、ネットワーク関係がうまく繋がりません。シャットダウンしたら、以下のメッセージ。
Shutting down loopback interface : Unable to handle kernel paging request at
virtual address 0d010008
printing eip :
NICがいかれた??以前に蟹さんがおかしくなっているだけに、嫌な予感が走りましたが、とりあえず再起動したら正常に認識しているようです。でも、原因不明で突然落ちるなど、ハードウェア故障のような症状は若干気になるところです。
投稿者 bokupi : 00:08 | コメント (1) | トラックバック
2005年10月03日
オブジェクト指向は万能ではない
よく言われていることですけど、オブジェクト指向は万能ではありません。今回EclipseUMLを導入したこともあり、試しにUMLを利用したいと考えていましたが、なかなか難しいです。それは、作ろうとしているものが簡易ツールのようなもので、オブジェクト指向にはあまり向いていないからです。UMLを使うために、システムの中から無理にオブジェクトを探し出し設計しましたが、結局行き詰まり。そこで、オブジェクト指向を適用する箇所を絞って再度設計。すると今度は、何とか形になりました。
やはり適材適所ですね。オブジェクト指向万能神話に捉われると、無駄な作業が増え、場合によっては破綻しそうです。でも、オブジェクト指向はかっこいい、UMLが流行だ、てな風潮は、やはりありますよねえ。
しかしEclipseUMLで作成したUML図、ドキュメントに持っていく手段がないので大変です。ビットマップでワードに貼り付けたけど、やはりベクタじゃないのでPDFにするとだいぶ潰れてしまいます。ん~、Free版だし仕方ないか。。ツール自体は結構使いやすいのに。
投稿者 bokupi : 00:48 | コメント (0) | トラックバック
2005年09月25日
現在のLSO3は保守に手間のかかる環境
LSO3を現在運用していますが、ちょっとした修正を運用環境に反映させるのにも手間がかかり、もっと上手い環境を作るべきだったなあ、と反省しています。現在の修正方法は、まずEclipse上で修正を行い、それをCSVに反映します。その後warファイルを作成して、サーバ上で展開してファイル移動などを行い完了です。直接ファイルを変更して反映することも可能だけど、せっかく作った構成管理の仕組みを崩したくないので、こういう手間のかかることを…。
開発時のことばかりに頭が回り、保守のことを考えていなかったダメダメな例です(苦笑。
投稿者 bokupi : 10:30 | コメント (0) | トラックバック
2005年09月01日
GDBでのデバッグに慣れるには
やはり、必要な状況に追い込まれると、人間よく覚えるようで。これまで、IDEを使う場合以外は、デバッグと言えばprintfでゴリ押しでした。ところが、既製ライブラリを使い、その内部で問題が発生すると、printfではどうにもならないので、仕方なしにGDBを使ってみました。すると、案外早く慣れるもので、自分なりの利用方法が確立出来た感じです。
最初は、GDBの操作方法を覚える手間を掛けるくらいなら、printfでいいや、なーんて思っていたのですが、いざ使ってみると当然ながら、効率は格段に違います。やはり理解の早道は、自分を追い込むことのようで。
GDBの自分なりの使い方については、技術でWikiの方に、いずれまとめたいと思います。
投稿者 bokupi : 01:30 | コメント (0) | トラックバック
2005年08月06日
pukiwikiで編集が出来なかった理由
自分ポータルのようなものをwikiに作って、家ではPCから、外では携帯から更新してた。ところがある日、携帯から編集して更新を試みると、ゲートウェイタイムアウト(504エラー)になってしまう。幾つか見ていると、更新ができるページもある。そこで色々ページ内容を変更しながら試していくと、どうやら原因は送信する容量にあるみたい。当然最初に疑うはpukiwiki。keitaiスキンの内容などを確認してみるも、原因は分からず。携帯版はブラウザのキャッシュ容量の限界による、編集可能サイズの上限はあるみたいだけど、とてもそんな量ではないし。
Apacheのログを見ていると、タイムアウト時は数分後に遅延してパケットが到着している。そこで次に疑ったのは、i-modeのゲートウェイ。ただ、こればかりは中身を確かめようがないので、背理法を用いて、すなわち非i-mode経由の外部アクセス(プロクシ経由)で正常アクセス出来ることを確認して、立証しようとトライ。ところが予想に反し、これも同じように更新できない。
となると、真犯人はルータか。コールドスタンバイしている以前のルータを引っ張り出してセッティング。すると、あっさり更新成功。てなわけで犯人確定。WER-AMG54、外部からの一定以上の容量を持つ要求を受け入れない様子(ファームver1.12時点)。なんかFWの機能があるので、その絡みの可能性も捨てきれないが、見たところそれらの設定項目はなかったし。何にせよ、自宅鯖を開くつもりの人は、このルータは買い控えた方が良いよ。うちの今のルータは、WHR2-A54G54。こっちの方が設定画面も見やすいし、好き。
投稿者 bokupi : 15:01 | コメント (0) | トラックバック
2005年07月31日
IE6.0へのCSS対応は無視の方向で
昔はNN4.7のCSS未実装っぷりに腹を立てていましたが(IE5.0を見習えと)、今はIE6.0のそれに腹を立てる毎日。とくにブロック要素のwidthやalign関連は、見栄えに大いに関係してくるので、本当に困ります。一応世のシェアの90%近くを占め、デファクトスタンダードなので無視するわけにもいかないのですが、IE7.0がじきに出ることを考えると、今から敢えてIE6.0に合わせる理由もないのかな。
てなわけで、ソースが汚くなるのも嫌なので、今後はIE6.0については目をつむってレイアウトをします~(ぉ。
投稿者 bokupi : 12:27 | コメント (0) | トラックバック
2005年07月13日
C++のお勉強
読むことはそこそこあるけど、書いたことは殆どないC++。色々なコードを読んで、適宜必要な知識を仕入れてきたので、綻びがかなりあって、いざスクラッチで書こうとすると、案の定ボロボロでした^-^;。なので、以前購入した「独習C++」を読みながら、勉強して行こうかな、と。ちょっと目を通して見ても、関数の使い方とかではなく、クラスやポインタ、演算子といった基本的な部分について、色々知識の欠落があるな、と感じました。
投稿者 bokupi : 23:04 | コメント (0) | トラックバック
← → ALL page | 1 | 2 | 3 | 4 | 5 | 6 | 7