トップページ

日曜研究室 〜技術的な日常〜

雑記

パスワード入力の「****」は不要? 研究者の間で激しい論議(ITmediaエンタープライズ) - Yahoo!ニュース

うーん。確かに”****”と表示されてると、パスワードの打ち間違いに気付かないことはあります。特に変な体勢でキーボード打ってる時はよく打ち間違えます。
実際にそれでMyEmobileのアカウントが1日ロックされた事がありますし。

でもかと言って、パスワードを画面に表示するようにするとリスクがかなり大きくなると思います。
他人に後ろからパスワードをのぞき見される「ショルダーサーフィン」はもちろんのこと、
リテラシの無い人はパスワードを入れたままログインボタンを押し忘れて席を離れたりとか普通にするのでかなり危険。
しかもパスワードが意味のある単語(リテラシの無い人にはよくあること)だったりしたら、悪意は無くても視界に入るだけで覚えてしまいますよ。

研究者なら、リスクもデメリットも両方減らせる画期的な方法を考えるべきで、現状の技術のままリスクとデメリットをどこでバランスを取るかを考えるのは現場に近い人がする仕事でしょと思うんですが。


「R25式モバイル」終了 月間1億3000万PVも「広告主はモバイルよりPC」 - ITmedia News

これは個人的に超ビックリです。
近い将来にモバイルが機能・性能的にPCに近づいて、作り手側から見たら技術的には全く同じ物でPCサイトもモバイルサイトも作れるようになるべきだと思ってました。(なのでiPhoneとかAndroidに期待してる訳です)
しかし、実際はモバイルとPCは全然違いますし、
リテラシの高さが変な方に行ってしまって広告に悪すぎる印象を持つ人が多いPCユーザよりも、裾野が広いモバイルユーザの方が平均的に広告に悪過ぎるイメージを持ってない人が多く、同じPVならモバイルの方がクリック率は高いと思っていました。

R25なのが特殊なのか否か、僕自身はヘビーなモバイルユーザではないので主観的な感覚さえも持ち合わせてはいないのですが、もしかしたらクリック率ではなく広告効果という観点から見るとモバイルはたいしたことが無いのかもしれません。

例えばPCでAmazonのアフィリエイトを踏んだ末に商品を購入することはあっても、モバイルで同じ事するのは敷居が高いだろうなと。
ECサイトだとどうしても購入するときに”入力”が必要になってくるので、その”入力”が貧弱なモバイルはそれだけ敷居が高くなります。
“入力”が必要なのはECに限ったことでもないですし。

モバイルの入力に最適化されてしまってる人にとっては敷居は高くないでしょうけど、そんな人は(各世代間でかなり割合が違うと思いますが)全体の中で少ないとすれば、納得できる話ではあります。

単に告知したい系の広告ならモバイルでも(モバイルの方が)効果が高いのかも知れませんね。


極道的研修のあらまし「引数と戻り値が分かりません」 - 歩きつづける ゆり 咲きつづける

研修があるってだけで素晴らしい。

僕が最初SIerに入った時は、「今割り当てれるプロジェクトがないから」ということで、いきなり「自分の好きな言語でなんかアプリケーションを作れ」という、よく言えば主体性を持てる、悪く言えば課題から自分で考えなきゃイカンという、研修なのか何なのか分からない事を2週間くらいやりました。

そのときは、以前から趣味でC#やってたのと、Webアプリに興味があったので、C#+ASP.NETで簡易的な勤怠管理システムを作ることにしたんですが、当時は先輩達のスキルが最新でもVB6とかで、しかもWebアプリ作った事がある人が全く居なくて、完全に一人でやってました。
今考えると家で一人でやるのとどう違うの?というwww
まぁ、会社でなら当時最新のVisual Studioをタダで使えるというのが大きな違いでしょうか。
今では逆にお金積まれてもVisual Studioなんかには触りたくないですが。

で、2週間後割り当てられるプロジェクトが決まって、僕の研修課題は未完成のまま実戦投入されることになりました。
当時の勤怠管理システムのソース見たら噴飯ものなんだろうなぁ。

その後、新卒の研修をちゃんとやるような大きなSIerでも仕事しましたけど、ちゃんと研修して、その後の日常業務でもちゃんと教え続けても、2,3年後に技術的に信頼できるレベルになるのは1割居れば良い方という感じでしたね。
5年10年やってる先輩を見ても技術的に信頼できるレベルの人は少なかったなぁ。

リンク元のSくんみたいに「興味が持てません」という人が多数派と思えるくらいかなり居ました。
伝え聞いた話では、興味が持てなさすぎてストレスが溜まりまくって精神に異常を来たし、失踪。最終的には養蜂農家に転職するという人も同時期に居たそうです。

興味があっても苦痛な時があるくらいですから、最初から興味が無い人には地獄なのかも。




XREAのレンタル共用サーバーに設置したWordPressでメディアの一括削除ができない

WordPressのバージョンは2.7.1です。
いつも書いてる通りXREAのサーバーはあまり触りたくないのですが、依頼なので仕方ありません。

XREAでWordPressを動かす場合、モジュール版PHPではパーミッションの関連上ファイル操作に難があり、普通に設置しただけではWordPressから画像などをアップロードすることが出来ません。(PHPのセーフモードがらみの問題で、仕様ですね)
そこで、管理画面は(もしくはアップロード用スクリプトのみを)CGI版PHPで動かす設定を.htaccessで施すことによってその問題を回避する方法があります。

まぁココまでは”XREA WordPress”などで検索すれば幾らでも出てくる情報なんですが、その設定をやった上で、今回新たに「メディアライブラリの一覧で、個々のファイルの左にあるチェックボックスを複数チェックして、一括して削除しようとしたときに、サーバーからの応答が無くなる」という問題が発生しました。

応答がなくても、実際によく調べてみると、ファイルの削除もデータベースの操作も完了してるっぽかったので正確には「削除できてる」んですが、削除ボタン(実際には適用ボタンですか)を押してから、ブラウザが延々といわゆる「読み込み中」のまま、という状態です。
HTTPヘッダも何も返ってこない状態。

該当部分のソースを読んでみたり色々テストしていくと、削除処理をした後のリダイレクト処理部分で”wp_redirect”という関数が呼ばれており、どうもその関数が上手く動いてない様子でした。
ちなみにモジュール版なら”wp_redirect”関数自体は普通に動作します。

一括削除処理だけモジュール版で動作するようにしようかと一瞬思いましたが、そのwp_redirect関数を含むファイルって、upload.phpなんですよね。
つまりupload.phpに表示・追加・削除の機能が一つにまとめられてるので、htaccessのfilesディレクティブで切り替える方法が使えません。

とりあえず今回はwp_redirectを呼んでる行をコメントアウトして、

<html>
<header>
<title>wordpress redirect</title>
<meta http-equiv=”Refresh” content=”0; URL=$location”>
</header>
<body>
しばらくお待ち下さい。
</body>
</html>

という内容を返すようにしました。
文字化けるかもしれないのでもっとちゃんとしたソースを返すようにした方がいいです。

他にもwp_redirect関数を呼び出してる部分があったのですが、それらはちゃんと動いてるようでした(ホントかな)のでそのままです。

一応調査の中で、
header(’Location: http://example.com/’);
などと一行だけ書いたスクリプトをCGI版で動かしてみたりしましたが普通に動きました。
まぁ、これが動かなかったら大問題になりますけど。

原因は複合的なんでしょうね。

今のSE・PGはなぜ中途半端なもので満足するのか?

50代SEです。趣味は、サーバー、OSいじり、プログラミング、デバッグです。
仕事にはこだわりがあります。
最近のSE・PG(二人の部下も含め)は、
(1)サーバー・・・ほとんど興味なし。サーバー?ビアサーバー?
       といいます。私は絶対に共用レンタルはいやです。
       (いつかはIBM System z世代なのしょうか?IBMは好み        に合わないのでNEC NX7700iにHP-UXを載せて使っています。)
(2)OS・・・Windowsや、未チューニングのMacOSで充分と言います。
       (私にはいずれの堅牢性も耐えられない。)
       私は中学生からUnix主体。最近は目的に応じLinux(エンタープライズ級)を併用です。
(3)Webサーバー・・・さすがにバイナリ配布のApache自体を否定するつもりはありません。しかしながらmod_perlや、mod_proxyなどは、明らかに性能がおかしいと私は気づきます。(帰ってくるパケットの匂いが違う。昔のNCSA HTTPdの方がましに見えることがあります。(Mosaicを大切に使っています。…いつまで持つか?)デフォルトの設定で充分と言います。(私にはドンシャリパケットで不快極まりないパケットです。)
(4)プログラミング言語、スタイル・・・安易なものを使う傾向が。私は若い時からこだわりが捨てられません。低級とまでは言えなくてもこの言語!っていうこだわりがあります。リリースは絶対機械語です。中間言語は逆アセンブルに弱いですから。
コードはバリバリ隠蔽です。これもリリースした時に盗まれるからです。
(5)デバッグなど
最近、二人部下がテスト開始しましたが、突如リリース、一人は身内だけで簡単なユーザビリティテストをやっただけです。もう一人は何もやっていません。
コードカバレッジもやらないようです。(やっても疲れるだけと言います。)
私たちは、高級レベルのコードカバレッジツールでのテストを行ない(会社の体面もあります。)納品前9日間を徹夜でデバッグしてきました。ハプニングもありましたが良い思い出です。以降もたびたび日頃のコードを意図的に低品質にして、バグをためて納品間際のデバッグを楽しみます。

価値観は多様でしょうが、なぜこんなに「苦」がないのでしょうか?

via 今の若者はなぜ中途半端なもので満足するのか? - 教えて!goo


原文をなるべく生かすようにしたので、読みづらいし文章がおかしくなってます。
最初はシステム系老害を皮肉る内容にしたかったのですが、良いネタがあまり思い浮かばなかったので、全体で統一感がないですね。
立ち位置がよく分からない人の発言になっちゃってます。

皮肉ですけど、かといってこの真逆が正しいとも思ってないですけどね。

しかし「ドンシャリパケット」って何だよw

EC2の性能問題

F’s Garage:そろそろモバツイがEC2に移転した話でも書くとするか。

まとめると、EC2の性能はそんなに高くないよ。という話。

しかし、本当にそうか?という気分。
気になるのは客観的な数字が出て来てない点で、Opteron 1.1GHzより下ってのも全然客観的じゃない。
まぁ、Opteron 1.1GHzより下でも全然構わないんですけどね。自分が関わったものでは実際1台のSmallインスタンスで4,000万PV/月以上は捌けてるので。

1台構成で、mysqlのクエリを効率の良いものにし、ユーザーの一回のアクセスで走るmysqlクエリを0~3個までとし、外部APIへのアクセスはユーザーのアクセスとは分離する(キャッシュする)、PHPは自作の超軽量フレームワークを使うというごく普通の高速化手法しか使ってません。
まぁ、サービスによって仕様上仕組みを変えられない部分もあると思いますけど。

あと、サーバー構成が無駄に複雑に思えるんですよね。
・Webサーバ 4インスタンス
・DBサーバ 1インスタンス+バックアップ 1
・ロードバランサー「Elastic Load Balancing」
さらにEC2以外のサーバーも使ってるらしく。
だからと言って、「こうすればもっと台数減らせるよ」なんて事は中身を知らないので何も言えない訳ですが。
(台数増やすのって楽しいんですよね。技術的ハードルは上がるし、なんかすごい事してる気分になってくるし、構成を悩むのは至福の時です。)

でも一般的に、数が増えると性能も増えるけど無駄も増えるんですよ。
例えばパッと思いついたもので、SLI。nVidiaのグラボ2枚挿しですけど、絶対2倍の性能は出ないです。行っても1.9倍くらいです。
そりゃそうですよね。連携しなきゃならない分、リソース食われますから。
サーバーなんてPCI-E x 16の帯域と比べたら激貧なLANケーブルで連携しなきゃならん訳で。

それにEC2では、まとめて6台サーバー借りました。って言っても、それぞれがネットワーク的に近いところに6台確保されるとは限らない訳で。
LANは1Gか10Gかもっと良いものをシェアしてるか知りませんが、スイッチやルーターをいくらか経由する事もあるでしょう。
(そうは言っても同じデータセンターのEC2インスタンス同士の通信は一般的には十分早いですけど)

絶対的に性能が足りなければ、一般的にはコストの点から台数を増やしていくしかないんですけど、本当にそれらは効率的に動いてますか?と。

アクセスの多いWebサーバーのボトルネックって、本当に解明するのが難しくてそう簡単にCPU性能に帰結できる話じゃないんですよ。
一言で言うとモバツイはチューニングが足らないんじゃないか、というかEC2の特性に合ってないんじゃないかと。
まぁ、チューニングが足りてない状態で運営するのも主の自由ですけど。無料だし。

なんというか、いつも通りまとまりのない文章になってしまいましたが、1行でまとめれば
「自分の経験上、もっと行けるんちゃうか?特に藤川さんなら。(面識ないけど)がんばれ!」
ということです。
まとめがまとまってない悲惨さ。

まぁとにかく、それでもモバツイッターがすばらしいサービスである事には変わりはないので、どんどん利用者が増えて、どんどん広告をクリックして、どんどん儲かってもらうと、同じ世界に生きるものとして夢が持てるので嬉しいです。

電話と電子メール

今から書くことは、一般的にこうして欲しいということじゃなくて、こうすると僕が喜びますというだけの話ですので、リアルで付き合いのある人にしか参考にならないと思います。
あと、ここでは僕が受ける「電話」はほぼ「携帯電話」の意です。

いきなり結論を言うと電話はかなり勘弁して欲しいです。
万全な状態で電話に出れる時間、つまり考え事も作業も誰かと会う事もその他諸々の事をしてない時間は、多くても1日の中で1時間もないです。
しかもその1時間は、1日の中で数秒〜数分程度のごく短い時間に分かれてるので、「ちょうどいい時間に電話が掛かって来た」なんてことはまずありません。

もちろんそうは言っても、数秒〜数分程度の不定期の小休止の時しか電話に出ない訳じゃなくて、出来るだけ電話に出るようにしてますので、
実際は日中の3分の2ぐらいは繋がると思います。

問題なのは電話に出れなかったときで、さらに問題なのは留守電も残ってないときです。
こういうときは基本的に「かけ直しません」。

もちろん不在着信があったことを覚えてる間に暇になればかけ直します。
また、それ以前のやりとりや状況から電話の内容が推測でき、必要であればかけ直します。

ですが、特にメールでの連絡方法を持ってる人からの伝言なしの不在着信で、その後それに関してなんのアクションもないものはかけ直しません。
再度アクションがないということは、かけてきた人にとって重要ではない話だったんだろうという判断をします。
もちろんそれで失うものもあると思いますが、個人的には得るもの(失わなくて済むもの)の方が多いと思っています。

ここから先は話を単純にするため「謎の電話に出ること」と「謎の電話にかけ直すこと」と同一に扱いますが、
今まで、積極的に電話に出たり、その逆をやってみたりして、どっちのスタイルがいいのか実験をしてきましたが、結果はあまり変わらないという結論に至りました。
結果が変わらないなら無理してでも電話に出続けるコストがかかる分、積極的に電話に出るのは無駄が多いという判断です。

良い話があるんじゃないかなと期待して電話に出続けるコストをかけるという事は、一攫千金を夢見て宝くじを買い続ける事にコストをかけるという事と同じだと思います。
それをやるにしろ、やらないにしろどっちでもいい(理解してあげるべき)と思います。

こういうと、「電話に積極的に出ないとは何事か!」と道徳的な点でお怒りの方もたまにいます。(本当にまれですが)
しかしそもそも積極的に電話に出るという事は、企業としての利益(お金だけじゃなく、どれだけユーザーに愛されるかも含む)を追求する方法の中の一つにすぎないと思いますし、
道徳的な話はそれを低コストで労働者にやらせるためのツールにすぎないと思っています。
だいたい道徳的な話をすれば、そもそも相手の都合を無視してかけなきゃいけない電話そのものの存在が非道徳的ですよね。
(電話の存在そのものが非道徳的だと本気で思ってる訳じゃないですよ。念のため。)

アメリカでは電話に出る事を明示的に仕事だと言われてない人はすぐ横で電話が鳴ってても殆ど出ないらしいですから。
どっちが正しいということではなく、場所が変われば認識が変わってしまう程度のもので普遍性は全くないという事です。

ということで、僕は積極的に電話には出ません。
(もちろんこれは個人的かつ典型的な場合においてです。場合によって変わりますし、もし就職したとしたら当然就職先の決まりに従います。)
ですので、メールでの連絡方法を持ってる方は出来るだけメールでの連絡をお願いします。
その方が僕の対応も早いと思います。
30秒空いたからといって、謎の電話に出たり、かけ直したりはなかなか出来ませんが、メールを読んで何かしらの判断をしたり反応を返す事は出来ます。


※こんなやり方じゃうまくやってけないよ?と思う方が当然いらっしゃるかと思います。
僕もこれが一般的に正しくて効率的な方法だとは思ってません。
ただ、僕の人生の目標は「同類」の希望になることであって、「同類」が「同類」のままで「同類として」成功する事が出来るということを証明したいと思っています。
「同類」とは何ぞや?というと、端的な言葉で表すと「非リア充」というのが感じとしてはそこそこ近いかなとは思うのですが、リア充という言葉が出来る遥か以前から考えてることであって、
さらに、僕自身が「リア充」でも「非リア充」でもないので、正確には全然違うのですが、
そんな風に表舞台にはなかなか出てこない類の人として、その類いの人としては特殊な事をせずに(つまり表舞台の方法論としては異常に見えるかも)、
この社会でうまくやっていき真の幸せをつかむためのうまい方法を探る、というのを人生の目的にしているので、非効率的な部分も多々あるでしょう。

会社が終わります

今勤めてるIT系の会社が7月で終わります。
「終わる」と書いたのは厳密には倒産ではないからです。
これ以上会社を続けていく資金はないけど、倒産したら社長個人に負債がのしかかってくるらしく、実質的に会社は営業を止めるけど、書類上は存続するということみたいです。
株式会社はその負債を返済する責任は社長個人まで及ばないはずなんですけど、銀行から資金を借りる際に社長個人が保証人になってたんでしょう。
しかし、名前さえ残ってれば良いなんてそんな抜け穴みたいなことが許されるんですかね。銀行も遊びでやってるわけじゃないはず。

どんな会社だったかという話をしますと、
少数精鋭でWeb系の自社サービスを開発、運営してる会社ということで、2年ちょっと前に入社しました。
しかし入ってみると、既存の社員はどう考えても少数精鋭などではなく、少数の素人”しかいない”状態でした。
誇張ではなく、本当に「Outlook Expressでメールの送受信ができます!」程度のレベルの人しかいませんでした。
唯一、経理のバイトの子だけが経理としてはプロレベルでした。

なんでそんな素人ばかりになってしまったのか。
元々オーナー社長はITとは全く関係のない別の業界で会社をやってました。
しかし経営が悪化し、業界の先行きが不透明になっていく、そんな中で「ITなら楽して稼げる」と勘違いした社長が今の会社を始めた訳です。
未だに「ITなら楽して稼げる」と思ってる節があるのが滑稽というか学習能力が無いというか。
今ITで楽できるのは数十億〜数百億の資金を持ってる出資者か、ビジネスのセンスを持つプログラミング言語をネイティブランゲージのごとく読み書きできるプログラマだけだと思います。
まぁ、そんな中で今の会社の初期メンバーはそのオーナー社長の元々の会社、要は全く別の業界から連れて来た人たちばかりでした。
これが素人ばかりになってしまった理由です。

会社で持ってた比較的大規模なWebサービス(システムの仕組みとして大規模なだけで、利用者数的には全然大規模じゃないです)は、僕が入社する1年前くらいに作られたらしいのですが、そんな素人集団でどうやってWebサービスを作ったのかというと、もちろん外注です。
入社してかなり経ってから知ったのですが、その外注でかなりお金がかかり、大きな負債を抱えたらしいです。
(そりゃド素人が外注に丸投げすればコストはかなり高くつくよな〜)
なので僕が入社した時にはすでに会社に莫大な借金があったことになります。
当時はそんなこと一切聞かされなかったし、一切知りませんでしたけど。

構築に莫大なお金がかかったそんなWebサービスですが、既存のサービスの二番煎じでさえなくて(あえて言えば百番煎じぐらいでしょうか)、全くと言っていいほど収益がありませんでした。
ぶっちゃけると年間数千円で、「これじゃ社員の給料にもならない」というレベルを遥かに超越してました。
当時の社員数10人弱で年間売り上げ数千円とかどんだけw
もちろんほかの仕事もやってたのでトータルで数千円ではないですけど、社員の給料分も全く稼げてなかったのは事実です。

これじゃイカンということで、僕が入社してから約半年間の間に、既存のIT向きのスキルを持ってない人たちをリストラし、IT向きのスキルを持っている人を雇用しようという動きがありました。
これは当時入社したばかりの僕が特に提案した訳ではないですが、社長や管理職の人が僕を見て「IT系の人材はこうあるべき」というのを知ってしまったからというのも理由の一つだと思います。
そりゃ、「Outlook Expressでメールの送受信ができます!」という人と前職がSIerで「Linux/Unixサーバをコマンドで構築・管理して、プログラム書いて、色んな技術的問題に柔軟に対応して、ちゃんとコミュニケーションできます!Outlook Express?ああ、デフォルトでSMTP AuthにならないクソなMUAね。」という人を比べればそうなるわなと。
前者と後者で給料変わらなかったですし。

そんなこんなで今から1年以上前に、管理職含め当初の素人メンバーは文字通り一人もいなくなりました。
そうなっていく過程で、「最初の一歩目から方向を間違ってる自社Webサービス」を捨て、とりあえずWebサイト/システムの受注開発系に次第にシフトしていきました。
会社としてこれ以上お金をかけられなかったですし、新たなWebサービスを開発するにしても、構築・運用できるスキルのある人は依然として僕一人で、そんなんだったら会社でやる意味ないので。
(ほかのスキルのある人は、いわゆるWebデザイナと呼ばれる人たちです。センスはさておきその技術は僕にもあります。)

受注開発は顧客を一から開拓する必要があったので最初は厳しかったのですが、社長以外のみんなでがんばり、どんどんお客さんも増えていき、ギリギリ社員の給料分は稼げるようになりました。
(社長は別の会社で忙しいのか、何かしら重要な経営判断をくだすわけでもなく、ほとんど今の会社に顔を出しませんでした。)
しかし、社長は詳しくは説明してくれませんが、会社の借金の返済などでそれでも全然稼ぎが足りなかったみたいで、会社運営を止めるということになりました。
(なんかそういう不透明さが士気の低下を招くんだよなー。だいたい社員に説明できないことは最初からするなよと。)

IFの話は無意味ですが、もし僕が入社したときに会社ができたばかりだったら、会社の借金も無いし、社長が詳しく語ってくれない謎のしがらみも無いし、多少の借り入れは発生したにしろ、まだまだ存続できた会社だったと思います。

こんなこと書きながらも、特に会社や社長を恨んだりはしてません。
給料は少ないながらもちゃんと払ってくれてました(給料の額は最初に僕自身が了承したこでもあります)し、給料以外の待遇はかなり良かったので。
多くは反面教師からですが、色々学ぶこともできましたし。

ただ、問題なのは会社が終わって「ハイ終わり」じゃないところです。
今の会社は小規模ながら自社でサーバーのホスティングをやっていて、会社を止めると同時にサーバーも止めるとお客さんに迷惑がかかるので、その管理者だった僕が個人的に引き継ぐことになりました。
利用中のお客さんも了承済みです。
サーバーの管理には手間がかからない(手間がかからないように構築してる)し、いくらかお金も入るなら悪くないなと思ってるところですが、しかしこういう場合って、社長などが責任を持って受け入れ先の会社を探すなりするのが普通じゃないですかね?
決裁権があれば僕が受け入れ先探してもいいんですけど、多分お金は一文も出ないから無理だろうな。

やっぱ社長が自分の会社のビジネスについて分かってないのは論外ですよ。
分かってないなら分かってる人に権限を与えないと。
(とは言いつつも、他人の会社の経営判断はあまりしたくないですが)
分かってない人がすべての権限を持ってて、何の経営判断もしないとか、楽して稼ぎたいのは分かるけど、最初から楽し過ぎだろと。
まぁ、一度外注で失敗してるから気持ちは分からなくはないけど。

個人的な今後のことは、まだ悩んでる真っ最中です。
独立するのか就職するのか。
理想としては独立なんですけど、しかしそれは食っていければの話で。
期間限定で自分を試してみるしかないかなと思ってるところです。

個人で作ったWebサービスがそこそこ収益を上げてるし、サーバーの管理費ももらえるし、あとプラスアルファがあれば結構安泰じゃね?とか思ったりもするのですが、多分ビジネスの世界は、僕が今まで相手をして来たプログラムやシステムとは違う難しさがあるはずで、慢心は禁物です。

あと、個人の開発プロジェクトが同時進行しすぎて停滞してるのでその辺も管理してくれる人がいると助かるんですけどね。



自宅サーバーが落ちてた

自宅サーバー(このブログをホストしてるサーバーです)はXenServerの中で動いてるんですが、昨日の午前9時頃から午後8時頃までの約11時間サーバーが落ちてました。

XenCenterで接続して確認してみると、該当する仮想マシンのCPU・メモリ共使用率が100%に張り付いてる状態でした。

一発、仮想マシンの強制再起動で復活したので良かったのですが、仮想マシンの停止(暴走?)は実は今回が初めてではなく2回目なんですよね。

ちょっとハードウェアに問題が無いか調べた方がいいかも。

こういうときにXenMotionが使える環境なら良いんですけど、今は物理マシン1台しか使ってないので落とすしかないのかなぁ。
まぁ、色々小細工をすればサイトのダウンタイムを0に近くできますけど、めんどくさいので。

NASと仮サーバーを用意して、仮想マシンを停止、コピー、仮サーバーでNASを使うように設定して、そこにコピーした仮想マシンの配置をして仮運営。ってのが現実的なやり方かなぁ。

ハードに問題があるとすれば、多分メモリかHDDか電源だと思います。
メモリは4枚差し。
HDDは以前稼働中に蹴りを入れたことがあります。
蹴りって言っても、通路に置いてあって足が当たったというレベルですけど。
電源は、ML115 G5付属の奴でかなり中身の作りがショボイもの。
電圧の変動などで不具合を起こしそうです。
でもそれならXenServerごと調子が悪くなっても良さそうですね。(暴走してたのは仮想マシンだけなので)

とりあえずHDDでも買ってくるかなぁ。
後は余ったパーツでNASと仮サーバーは組めるはず。

雑記

リンクのクリック率

リンクの文字に名詞ではなく動詞を使うとクリック率が上がるのではとふと思いました。
ある業界では常識なんだろうと思いますが。

人生舐めてるのはどっちだよ

ココに書くべきか迷いましたが、個人の特定が出来ない状態ならまぁいいかということで。
知り合いの娘(中1女子)が部活の先輩(中3女子)に
「あんた人生舐めてるの?」
と言われたらしい。もちろんこんな台詞が出てくるコンテキストなんで他にももっと色々言われたそうで。
真剣に相手の事考えて言ってるのなら良いんですが、ストレス発散の為に下に厳しいことを言う、そんな悪いスパイラルが少なくとも数年前から部活内に醸成されてるらしいので、その可能性はかなり低そうです。
(そこで部活の顧問は何やってんの!と言いたいところですが、先生も普通の一般人なので。こういう問題に対しては先生にスーパーマンになる事を要求しても無駄で、システムで解決すべきですね。例えば部内のミーティングは必ず大人が居る場でやるとか。)

笑っちゃいますよね。

そこそこ特殊な人生を歩んできたと思われるこの28のおっさんだってなかなか人に「人生舐めてるの?」なんて言えませんよ。
40になろうが50になろうが60になろうがそれは変わらないと思いますね。
そんな事言っていいのは、無知な自分を棚に上げて、人に対して「人生舐めてるの?」なんて恥ずかしい事言っちゃう人に対してだけですよ。

もう今は学歴だけで幸せになれる社会ではなくなってるし、同年代というだけで色んな意味でピンからキリまでいる人達を一つの校舎という箱(あるいは豚箱)に押し込めてるという不自然さを持ったまま運用してる、そんな学校がやるべき事は、徹底して「無知の知」を教えることじゃないですかね。
それだけで、子供の社会も大人の社会も多くの問題が一気に解決すると思うんですが。

まぁ、僕は生まれてこの方ずっと人生舐めてますけどw
人生舐めてない人なんて居るんですかね?舐めてないと思い込んでるだけの○○はたくさん居そうですが。

XPの標準機能だけではDVDに書き込めない

XPが出たばっかりの頃はDVD-Rとかも多分一般的ではなく、当時の自分もXPでDVDを焼くには特殊なソフトが要るという認識を無意識にもってたような気がするんですが、
最近のDVD書き込みドライブ搭載のメーカー製パソコンなんかはXP標準の機能で書き込める”ように見えたり”、
個人的にファイルを保存する為にDVDを焼くことは無く、別のソフトでイメージを書き込む(LinuxのインストールDVDとか)ことが殆どで、
そもそもXP標準の機能”らしきもの”で焼くことが無かったので、
いつしか、素のXPでのDVDの書き込みは特別な対応が必要だということを忘れてました。

XPでDVDに書き込むには別のソフトを入れる必要がありますし、メーカー製などのPCでXP標準の機能で焼けてるように見えても、それはそういう風に見せかけてるだけの別のソフトが入ってるというだけなんですよね。
(オフィシャルかつまとまった情報が見つけられないまま書いてるので100%信じないように。もしかしたらサービスパックとかでも変わるのかもしれず。)

こりゃ買っちゃうわ

YouTube - Balmer Sells Windows
バルマーがハイテンションでWindows1.0を宣伝してる動画です。
これは買いたくなりますよね。
Windows7もこのテンションでUltimate Editionを99ドルで売って欲しいですね。
そう考えるとSnow Leopardの29ドルって凄いな。
しかしMacとWindowsは開発費が全然違うので単純な比較は良くないですね。
マカーではありますが自作もやるので両方必要です。

Pythonのヒアドキュメント?

Google App Engineのアカウントをそういえば放置してたなと思い出しまして、もの凄く久しぶりにPythonやってます。
もう殆ど忘れててえらく苦労しながらやっとるところです。
とりあえず自前サーバー+PHP+MySQLでやろうと思ってたWebサービスをGoogle App Engine(Python)で構築してみようかなと。
で、正規表現で文字列を切り出す処理を作ってみたんですが、不可解な動作が。
処理的には普通にfindallするだけなのですが、パターンが複数行に渡るのであの3連続クオーテーションのヒアドキュメント的なもの+raw stringで書いたんですが・・・
全然マッチしないんですよね~
ヒアドキュメントをやめて一行にまとめるとマッチするんです。
問題を単純にする為に一行のパターンで試してみると、

pattern = """
パターン"""

これはダメで、

pattern = """パターン"""

と書くと上手く行くんですよ。ここですでに?なんですけど、さらにパターンが複数行になると、

pattern = """パターン1
パターン2
パターン3"""

と書いた場合に1行目(パターン1の部分)が無かったことになるんですよね。しかもマッチしない。
まぁ、元々こういう書き方無いとは思うからアレなんですけど。
不思議~
Windows上でテストしてるからですかね~今度Macで試してみよう。
とりあえずヒアドキュメントをやめて一行にまとめる方向で逃げましたけど、複雑な正規表現を書くときに面倒だなぁと。
なんか良い方法がないかなぁ。

サーバ移転でやらかしたw

Amazonから「Notice: Degraded Amazon EC2 Instance」のメールが届いておりまして、
内容は多分「あなたが所有してるEC2インスタンスの一つが動作しているハードウェアに障害が出てていつ止まるか分からんから移転したほうがよいよ」ってことです。

で、早速サーバ移転作業をやりました。

ec2-bundle-volコマンドを使って現状のイメージを保存し、ec2-upload-bundleコマンドを使ってS3にそのイメージをアップロード、AMIとしてそのイメージを登録して、そのAMIから新規インスタンスの起動、新しいインスタンスで追加の設定、テスト、DNSの切り替えとスムーズに作業は進みまして問題なく移転できました。
(もしかしたら最近のEC2ではもっとモダンな移転の方法があるのかもしれません。)

ただ、新しいDNS設定が浸透するのに時間がかかるかもと思い、とりあえず古いインスタンスも1日ぐらい起動しっぱなしにして様子を見ることにしました。

リモートのサーバで作業する場合は、MacのターミナルからSSHで接続することが多いのですが、管理してるサーバが多いことと基本的に公開鍵認証しか使わないので ~/.ssh/config に設定を羅列して使っています。

で、今まで .ssh/config には
Host MyServer
 Hostname example.com
 〜略〜
て感じで書いてたので、それに新しいインスタンスの分も追加して以下のようにしました。
Host MyServer
 Hostname example.com
 〜略〜
Host MyServer2
 Hostname ec2-XX-XX-XX-XX.compute-X.amazonaws.com
 〜略〜

これで、MyServerとMyServer2にログインしてtopでサーバの負荷を見てました。
しかし、当初の予定の1日をすぎてもMyServerの負荷が下がらず、ついに3日目に突入しても全く負荷が下がる様子がありません。

無駄にインスタンスを起動しててもお金がかかってしまうのでヒヤヒヤしながら、何でだろう?と考えたら5秒で原因が分かりました。
MyServerもMyServer2も、同じ新しいインスタンスに繋がってたのです。
DNSを切り替えた段階で、example.comは新しいインスタンスを指すようになってたということを完全に忘れてました。アホですね。

いや〜思い込みとは恐ろしいものです。

そろそろ人生の節目かな

社会人になってから、約2年ごとに人生の節目(転職)がやってきてる気がするのですが、
いや~マジで会社が終わりそうな雰囲気です。
資本主義は厳しいなと。
自分が入社する前から会社に莫大な借金があったことを知ってれば
こんな会社には入らなかったんですけどねぇ。
(同時期に数社から内定をもらってたので。なんで今の会社を選んだんだろう)
これも人生勉強だと思うことにしておきます。

もしかしたら、こんな自分でも拾ってくれる人が居るかもしれないので、
藁にもすがるような思いでスペックを載せておきます。
(とは言っても、個人でやってるWebサービスなどでギリギリ生活して行ける程度は稼いでるのでそんなに切羽詰まってなかったり)

仕事で使った言語など(並びに意味はなし。強いて言えばなんとなく時系列)
Delphi5、VB4~6、VB.NET(.NET Framework v1.1)、C、C#(.NET Framework v1.1)、PHP、Perl、JS、AS3

趣味で使った、大学で習った言語など(並びに意味はなし。強いて言えばなんとなく時系列)
MSX-BASIC、N88 BASIC、Pascal、C++、Verilog HDL、VB.NET(.NET Framework v2.0)、C#(.NET Framework v2.0)、Ruby、Python、Concurrent Clean、Objective-C

仕事で使ったデータベース(並びに意味はなし。強いて言えばなんとなく時系列)
SQL Server2000、Oracle8~10、PostgreSQL8、MySQL4~5

その他のスキル
サーバー構築・管理、SE、PGが出来ます。
PGもガッチガチの基幹系やガッチガチの組込系でもなければ全体的に広く浅く出来ます。
今は仕事ではLinuxサーバーとPHP、Perl、MySQLを使うことが圧倒的に多いです。
趣味?ではObjective-CとOpenGLとOpenALを使ったiPhone向けシューティングゲームを作ってます。(オブジェクト指向を活用したタスクシステム)
エンジンはプロトタイプがほぼ完成したんですけど、スクリプトやキャラクターデータ、音の作成が面倒。
得意分野は、サーバーだとLinux(Cent OS5)、言語だとLL全般。
得意分野というか、それ以外は”責任が伴う場合は”面倒なので余りやりたくないというのが本音です。
超やりたくないですけど、電話応対もそこそこ出来ます。
電気・水道・空調工事を2年ほどやった経験あり。実家が電気・水道・空調工事店なので、”お父さんのお手伝いレベル”の経験なら10年以上はあるかと。

なんか書き漏らしてる気がしますがこんな感じです。

技術者を200人程度抱えるSI系の会社で働いてた経験から、あまり強い根拠はないですが”使える度”では同種の技術者全体の上位10%には入ると思います。
また、人当たりの良さも同レベルの技術者の中ではかなり良い方かと。何せ、大工のおっちゃん達と仕事することも多かったので。
ただし、こっちを向かずに話す人(背中を向けたまま話す人など)については本当に気付かない場合が多いです。
同僚や先輩から「○○はたまに魔法を使う」と言われるくらいたまに驚異的な問題解決能力を発揮したりも。
30歳超えて魔法使いとか言われると違う意味で恥ずかしいですけどね。ちなみに今28です。おっさんや。
幸い、30になっても魔法使いにはなれません。
争い事は嫌いなので、仕事で喧嘩したことは殆どありません。たまたま周りに話の分かる人が多かっただけかもしれません。

悪い点は、自己管理能力の無さと朝が弱い事ですかね。
嫁的な人に管理されたいですわ。ほんまに。

ということで、お嫁さん募集中!!!

アレ?なんか違うw

トップページ

検索
フィード
メタ

ページの最初に戻る