終わってるITスキルトップ10
2007/06/25 00:29 posted by kunkichi
ちょっと古いけど、スラッシュドットジャパンにこんな記事が。
終わってるITスキルトップ10
本家/.の記事より。「The top 10 dead (or dying) computer skills」、すなわち「死んだ(あるいは死にかけの)コンピュータスキルトップ10」と題したComputer Worldの記事が話題になっている。
元はアメリカのコンピュータ雑誌のようだけど、要は「これからは○○○だ!」と言われて廃れてしまったIT技術・スキル・資格のベスト10らしい。
で、肝心のベスト10はというと、
- COBOL
- リレーショナルでないDBMS
- IP以外のネットワーク
- cc:Mail
- ColdFusion
- C言語(!)
- PowerBuilder
- 認定 NetWare エンジニア
- PC ネットワーク管理者
- OS/2
んー、大体それっぽいのが並んでるけどC言語もなのかぁ、昔はそう思ったこともあるんだけど、最近はちょっと変わりつつあります。
仕事でサーバの運用をやってると、パフォーマンスやら負荷やらを監視することが当たり前になるんだけど、そこを突き詰めていくと、OSの仕組みを知ってないとやっぱり難しい。例えばOSがCPUやメモリをどのように扱ってるか?なんてのは、OSの実装がどうなっているかということと同じ。で世のOSというものは大概Cで書かれているわけで、Linuxあたりはソースが公開されているので、知りたきゃソース読め!と。つまりCに行き着いてしまうわけです。
それにサーバで動かすような主要アプリケーション、例えばapacheとかpostfixとかphpとか、こういうのも全部Cで書いてあるわけだしね。読めればもっと深く潜れるわけ。
僕も以前開発をやっていたときは、最近流行ってるPHP・Perlあたりのスクリプト系言語のほうがソース=実行プログラムで管理も修正もしやすいし、ビルドしちゃったらもう中身がわからないCみたいなのは時代遅れだと思っていたのだけど、それは管理手法の問題であって、本質的な問題ではないことに気づいていなかったんだよなぁ。若気の至りです(笑)。
とまあそんなわけで、Cの知識は重要。そしてこれを読みました。
この本、Cの書き方についてはあまり、というかほとんど書いてなくて、CのプログラムがCPUやらメモリやらとどう連携して動くのか?ということについて書いてある。こういうアプローチはおもしろい。運用してる側からすると特に。良書。
これでやっと次入門できます(笑)
Category: Programming, Server, Diary | コメント&トラックバック(0)
気になる、、、
2007/05/31 00:40 posted by kunkichi
この本
プログラミングというよりは、サーバ運用として、この手の知識の必要性を最近切実に感じる。
Category: Programming, UNIX, Server, Book, Diary | コメント&トラックバック(0)
いちばんやさしいオブジェクト指向の本
2007/03/07 02:29 posted by kunkichi
技術系ブログ界隈で話題にもなっていた「WEB+DB PRESS vol.37」(今回の目玉はなんといっても「Linuxロードバランサ構築・運用ノウハウ」。ここんところちょうど気になっていたテーマ。)を買うついでに、これも買ってきた。
「オブジェクト指向」に関しては、入門書レベルでもたくさん出てるし、実際にいくつか読んでみたのだけど、どうもスッキリしなかった。さてこれはどうかな?
内容としては、これまでの入門書とそんなに変わるわけではなくて、オブジェクト指向の歴史から始まって、オブジェクト指向を現実世界に当てはめて概念を理解、次に実際にプログラミングでオブジェクト指向を理解、って感じなのだけど、説明の仕方がほんと絶妙でわかりやすい。
現実世界のオブジェクト指向を、よくありがちな車クラスみたいな中途半端なやつじゃなくて、ちゃんとしたシチュエーションを例に挙げてそれを全てオブジェクト指向で置き換えることで、まずは概念をしっかりと理解して、その上でプログラミングの世界でのオブジェクト指向を説明しているから、すごくわかりやすいし、プログラミングの観点からの説明でも、機械語から構造化プログラミング、オブジェクト指向という形で進化していく流れがちゃんとオブジェクト指向のメリットに基づいたものである、いうところを、やさしく、でもきちんと説明しているので、オブジェクト指向が理にかなっているのがほんとよくわかる。
この内容をこのページ数、この値段で提供するってのはちょっとすごいね。ほんと良書。
Category: Programming, Book | コメント&トラックバック(0)
Perlで実行しているスクリプトが存在しているディレクトリ名・スクリプト名を取得する。
2006/12/20 01:00 posted by kunkichi
覚え書き。今までは、system()からdirnameとかbasenameコマンド叩いてたんだけど、File::Basename使えばできるんだね、ってことを今更知ったので。しかもSolarsi8標準のPerl_5.005_03で標準モジュールっぽい。
#!/usr/bin/perl
use strict;
use File::Basename;
my $prg_path = dirname( $0 );
my $prg_name = basename( $0 );
print “PRG_PATH=$prg_path¥n”;
print “PRG_NAME=$prg_name¥n”;
↓出力結果
# /tmp/test.pl
PRG_PATH=/tmp
PRG_NAME=test.pl
あぁ、初心者丸出し(爆
もっと勉強しよう。
Category: Perl | コメント&トラックバック(0)
PHPでリモートデバッグ
2006/12/09 18:19 posted by kunkichi
昨日は仕事を午前休もらって、アシアル株式会社主催のPHPセミナーに行ってきました。もちろん無料セミナー(笑。
で今回のテーマは「PHPで快適デバッグ」。
PHPのデバッグ、というかWebアプリのデバッグは、例えばVisual Studioなんかを使ったデバッグとはちょっと違って難しいところがある。例えば、スクリプトのある時点での変数の値を確認したいとする。
Visual Studio だと、
- 変数に値が入るところでブレークポイントを入れて処理をそこで止める。
- 確認したい変数にマウスを合わせると値が表示される。
って感じで簡単にできるのだけど、Webアプリケーションとなるとこれが一気に難しくなる。
- 変数に値が入るところで exit 入れたりして処理を止める。(ループがネストしていると大変、、、)
- 変数を画面に出力するように print_r やら var_dump で処理を入れる。(後で消すのを忘れて本番にそのままいっちゃったり、、、)
こんな感じでとても原始的な上に後でめんどくさくなるやり方をするパターンが多い。というのもWebアプリでは処理はサーバ側で実行されるので、サーバ側で制御してあげないといけない。ローカルPCで Visual Studio を使うようにはいかないのだな。
ということで、DBG + DBGListener + DBGクライアント(PHPSimpleDebugger) を使った手法の説明がメインでした。簡単な図で表すと、

1. ブラウザからリクエストにデバッグ用変数をくっつけて送信。
2. デバッグ用変数に含まれているクライアントにデバッグ情報を送信。
3. DBGListnerがデバッグ情報を受けてDBGクライアントを起動。
4. DBGクライアントからデバッグ実行。
5. DBGListener経由でサーバにデバッグ命令を送信。
6. デバッグ命令を元にブラウザにレスポンスを返す。
試してないのでちょっと間違ってるかもしれないけど、要はサーバとクライアントでデバッグ用のポートを別途用意して、デバッグ情報や制御をそこで行うと。これでIDEライクなデバッグができるという訳。昔DBGを試してみたことはあったのだけど、リモートではうまく動かなかったのでそこで諦めてたんだよね。SSHでトンネル貼れば本番環境でもデバッグできそうだし。早速会社で試してみようっと。
あとDBG以外にもいろいろ面白いのがありました。
- Pear::Var_dump
var_dumpの出力結果を奇麗に表示してくれるPEARライブラリ。
- dbug
こちらも同じ。JavaScriptで折りたたみとかできるみたい。
- Xdebug
DBGと同じぐらい高機能なデバッグモジュール。
- Gubed
PHPで書かれたデバッグライブラリ。Firefoxのエクステンションと連動するらしい。
- WinCacheGrind
Xdebugで出力されたプロファイリング結果を表示するアプリ。
Category: PHP, Server, Web | コメント&トラックバック(0)
activeCollabがさくらにインストールできない件について
2006/11/30 23:56 posted by kunkichi
前のエントリでphp5をインストールしたので、やっとactiveCollabを試せると思っていたのに、インストールしてみると、、、
InnoDB storage engine is not supported.
さくらのmysqlってInnoDB非対応なのね、、orz
うーん、どうするかなあ、、、
【追記】
InnoDBじゃなくてMyISAMでは動かないのかなぁと思って、本家サイトのフォーラムをのぞいてみるとFAQ化していた様子、、、自分にorz
It should work, but I strongly recommend using InnoDB because activeCollab uses transaction to keep data in sync and recover from errors. Its that important that I’d say that InnoDB is requirement, but you can use MyISAM at your own risk.
To use MyISAM do what gog said in the previous post (open install/installation/templates/sql/mysql_schema.php and replace every occurance of ENGINE=InnoDB with ENGINE=MyISAM).
うーん、一人で使うつもりだから、とりあえずソースいじって使ってみるかな。
Category: PHP, UNIX, Server, Web | コメント&トラックバック(3)
さくらでphp5(pearエラー対応)
2006/11/30 20:01 posted by kunkichi
さくらインターネットでphp5をインストールする手順はたくさんの人が書いているけど、それらを参考にphp-5.2.0をインストールしてみたところ、make installでpearのエラーが発生する。
ということでググってみたところ、琥瑠璃どっとこむ:さくらのレンタルサーバーへPHP5.2.0をインストールでやっぱり指摘されていたので、それに従いインストール。
うちのconfigureオプションはこんな感じ。
# export PHP_PEAR_CACHE_DIR="$HOME/local/php-5.2.0/pear/cache"
# ./configure ¥
--prefix=$HOME/local/php-5.2.0 ¥
--program-suffix=5 ¥
--with-pear=$HOME/local/php-5.2.0/share ¥
--with-config-file-path=$HOME/local/etc/php5.ini
--enable-force-cgi-redirect ¥
--enable-mbstring=all ¥
--enable-mbregex ¥
--enable-mbstr-enc-trans ¥
--enable-versioning ¥
--enable-trans-sid ¥
--with-mysql ¥
--with-openssl=/usr ¥
--with-soap=yes ¥
--with-zlib=/usr ¥
--with-gd=/usr/local ¥
--with-jpeg-dir=/usr ¥
--with-freetype-dir=/usr ¥
--with-ttf ¥
--with-png-dir=/usr ¥
--with-curl ¥
--with-iconv=/usr/local
ちょっと冗長なところもありますが、細かいことは気にしないタイプなので、爆。
これでactiveCollabを試してみたいと思います。
Category: PHP, UNIX, Server, Web | コメント&トラックバック(0)
Page 8 of 8« First...«45678
2012/02/05/ 10:17
2012/01/04/ 07:43
2011/10/06/ 10:13
2011/10/06/ 07:03
2011/10/06/ 06:46