タグ

ブックマーク / www.drk7.jp (19)

  • 日産マーチの左ドアミラー(サイドミラー)の破損を修復

    2010年ゴールデンウィーク帰省日記(番外編)です。 実家に帰っている最中、父親が母親の車に乗って野菜の苗を買いに行った際に、左ドアミラーを破損して帰ってきました。駐車場が混んでいて、無理矢理脇を通ったらポールにぶつかって折れたそうです。見事にパキッと真っ二つにプラスチックが割れてます。 応急処置ってことでガムテープで固定しとけば問題ないっ! (*`Д´)ノ!! 僕と同じ性格で(苦笑)、自分には甘いわけです・・・。(;´д`)ゞ ってことで、こんな姿に・・・ いやっ・・・ダメでしょこりゃ。 というわけで、最寄りの日産販売店に駆け込みました。幸いにもゴールデンウィークでも営業中。パーツと工賃で 33,000 円弱。車のことは全然わからないので、そんなものかと思い注文してきました。 夕方、弟が帰宅し話を聞くやいなや日産販売店に出向いて注文取り消し。 なんでもヤフオクを使えば、廃車から取り出した

  • Oracle の B*Tree インデックスの内部構造についてお勉強中(その1)

    仕事のデータベース一式のリース切れ間近ということで、リース延長で耐えることができるのか、それともシステム更改が必要なのかを見極めるため、最近はデータベース周りのチューニングばかりやってます。 当初設計時に、5年間持つ設計をしたのですが、流石に5年目にもなると予定とはそれなりに乖離が発生するものです。テーブル&インデックス設計をユーザ向けの処理をとにかく高速に処理できるように設計したので、ユーザ向けの処理は速度的に全然大丈夫なのですが、データの肥大化によるバッチ処理のパフォーマンス劣化が顕著です。単純にストレージと CPU パワーが足りていないのでしょう。 しかしながらチューニングの余地はまだまだ十分にありそうです。バッチ向けの最適化を図ることにしました。うまくいけば来年度どころか、後数年はリース延長で延命できるかもしれません。 今回実施したチューニングの1つのポイントとして、バッチ処理向

  • Oracle の B*Tree インデックスの内部構造についてお勉強中(その2)

    まずは前エントリで書いた Oracle のインデックス構造図解を再掲から。 題です。Oracle のインデックスの内容をダンプする TreeDump の使い方と解析方法について説明をします。これも定型文なので、覚えておいて損はないかと思います。特にインデックスに関して深追いするなら必須のテクニックです。参考にしたページは下記の2つです。 Bツリーインデックスに最高のパフォーマンスを(1/4) − @IT パフォーマンス劣化はインデックスのせいなのか!? をみっちり検証 − @IT 特に株式会社インサイトテクノロジーの記事が秀逸です。この会社の Oracle スキルは尋常じゃぁありませんね。お仕事で見ている DB システムでは、同社が開発している Performance Insight というツールを導入して Oracle を運用管理しているのですが、パフォーマンスチューニング、障害監視な

  • onclick="window.open(・・・)" の書き方を間違えていました・・・orz

    恥ずかしながら、onclick="window.open(・・・)" の書き方を間違えていました・・・(;´д`)ゞ とある業務アプリでこんな書き方をしていました。かれこれ2年ほど気がつきませんでした。 <a href="test.cgi" target="_sub" onClick="window.open('test.cgi', '_sub', 'width=800,height=200')">小窓を開く</a> これだとリクエストが二回発生してしまいます。これ当たり前なんですけど石を投げないでください・・・(;´д`)ゞ アンカータグをクリックした際に test.cgi へのリクエストが発生し、その直後に onclick イベントで test.cgi へのリクエストが発生します。ただ、どちらも target="_sub" 指定されているので、同一ウィンドウ上に表示されるため、見た目上

  • (続)Oracle データベース復旧手順書とフルバックアップスクリプト

    前エントリ Oracle データベース復旧手順書とフルバックアップスクリプト の続きです。 以下のフローチャートの各ステップで実際にコマンドラインおよび SQL *Plus で入力する SQL 文について説明を行います。基的にこのエントリにページ内リンクを使ってコマンドを実行していくだけでデータベースが復旧できるという超リカバリ術になります。 テスト環境構築を構築するスクリプトも用意しました。dbca で作成した雛形です。 → create_db_scripts.zip 動作確認しながらバックアップ&リカバリの検証をしてみたい方は、Linux 上の oracle 10g/11g がインストールされている環境で、ダウンロードして圧縮ファイルを展開して testdb.sh を実行してください。テストデータベースが作成されます。既に何かしらの Oracle データベースが動作している環境ではど

  • UML::Class::Simple で Catalyst のクラス継承図を描いてみた

    UML::Class::Simple ってモジュールがあります。このモジュールを使うと既存のプログラムを解析してクラス図を作成することができます。業務で仕様書を書く必要がでた場合、もしくは Catalyst のようなフレームワークをより深く知りたくなったときなどに大いに役立つモジュールです。 http://search.cpan.org/~agent/UML-Class-Simple/lib/UML/Class/Simple.pm UML::Class::Simple is a Perl CPAN module that generates UML class diagrams (PNG format, GIF format, XMI format, or dot source) automatically from Perl 5 source or Perl 5 runtime. Per

  • ジェネリック医薬品を処方して貰えませんでした

    じわじわと花粉症の症状がではじめました・・・orz 花粉症に効く薬ランキング&リンク集 で書いたのですが、僕にとって一番効く花粉症の薬はザジテンでその次にレミカットなわけで、日かかりつけの病院へ行ってきました。 ココまではいつも通りだったのですが、最後の処方の際に、 医者 「いつものザジテンで宜しいですね?」 僕  「今回からザジテンのジェネリックでお願いします。」 ・・・と答えたのですが・・・ 3秒ほど無言のの微妙な空気・・・ 医者 「まぁザジテンも古い薬で安いですから・・・」 僕  「でもジェネリックの方が安いですよね・・・」 医者 「・・・うち、ジェネリック扱ってないんですよ・・・」 僕  「・・・・・・・・・・・・じゃぁ・・・・・・仕方がないのでザジテンで・・・・・・」 終始気まずく微妙な空気が漂ってました・・・ ここ最近(数年前?)ジェネリックを普及しようみたいなCMが流れてま

  • (byte|文字列)計算系のバッチ処理と Inline::C の相性の良さ

    どんなシステムにおいてもオンライン系の処理ばかりではなくバッチ処理系のプログラムというものが存在します。僕の場合、ユーザに見えない部分のプログラムが全体の70%を占めているかもしれません。 バッチ処理は大量のデータを処理する場合が多いのが特徴のうちのひとつ。しかもその処理が想定時間内に終わらないと、どこぞのシステムのようにシステム全体に影響が出てしまいシステムダウンなんて最悪の状態になることもあります。あれに起因してバッチの突き抜けなんて効いたこともない言葉が生み出されたくらいだし。w さて話を戻して、システムを運用しているとデータ量は当然右肩上がりで増えていきます。よってバッチ処理も当時の想定よりも時間がかかるようになってくるわけです。 僕が作ってるバッチ処理の多くは文字列処理や計算処理が多いです。オンライン系の言語と同じく perl で記述しているものが非常に多いわけですが、Devel

  • Oracle 使いなら手元におきたい! - 書評 - 詳解Oracle アーキテクチャ

    久々に図書館で借りたネタです。最近は図書館通いの頻度も減り、ネットで読みたいを読む方向に変わってきました。まぁそのせいで普段読まないジャンルのに出会う頻度は極端に減りましたけど。 さて今回読んだは詳解 Oracle アーキテクチャというオラクルです。前々から気になってたけど図書館で借りられるとは思いもしていなかった。この手のは一読してからじゃないとスペースの無駄になるだけってが結構あるので一読してみたかった。 でいきなり結論。Oracle マスター GOLD 相当の参考書数冊を実務に必要な部分のみこの1冊に凝縮した感じ。逆に言うと Oracle マスターとるための参考書としては情報不足です。ただコレから Oracle を運用して行かなくちゃならないという人にとっては、いつも手元においておきたい一冊です。

  • Perl スクリプトで遅い場所を特定する方法 - Devel::Profiler / Devel::NYTProf

    仕事で書いてる Sledge アプリがあるのですが、先日負荷テストを行った結果びっくりすることに現行アプリの10倍遅いことが判明してしまいました・・・orz Sledge フレームワーク自身が重くないことは今までの経験でわかってるのですが、どうにもソースを見直しているだけでは原因が特定できない・・・そんな活躍するのがプロファイラです。プロファイラの御陰で遅いヶ所を特定することができ、無事に想定するパフォーマンスを得ることができました。この内容に関してはまた別エントリにて。 さて、プロファイラを使うとプログラム実行時の各種情報を収集し、性能解析を行うことが可能です。プロファイラについてもう少し詳しくしるには 性能解析 - Wikipedia あたりを読むと良いでしょう。 プロファイラ(英: Profiler)は性能解析ツールであり、プログラム実行時の各種情報を収集する。特に、関数呼び出しの

  • Win32::OLE で Excel を操る perl スクリプト

    えーつい最近、Spreadsheet::WriteExcel について聞かれました。ちょっとしたサンプルプログラムを教えたついでに Win32::OLE のサンプルも教えたのでどうせならブログのネタにと記事にしてまとめておきます。よく考えたら、以前 Spreadsheet::WriteExcel が 2.10 から便利になっている件について を書いたときに まずは、Win32::OLE まわりで参考になるサイトまとめです。Win32::OLEモジュールだけでも目を通しておくと良いと思います。 Win32::OLEモジュール(日語チョウ訳) Ver. 0.14 Win32::OLE - OLE Automation extensions - search.cpan.org Win32 の Perl を使用している Excel を自動化する方法 Perl講座 PerlからOLEを使用する 読

  • InnoDB vs MyISAM vs Falcon benchmarks - part 1

    InnoDB vs MyISAM vs Falcon benchmarks - part 1 | MySQL Performance Blog ってエントリをちょっと前にみて、MyISAM / InnoDB / Falcon のパフォーマンスについて興味が沸いてきました。約一年前のエントリなので全体的に Falcon ガンバレ!的な印象を受けてしまいます。 でも1年も経てば falcon の性能はきっと上がってるはず。しかも mysql6 は falcon 標準搭載っていうか、むしろ目玉的存在なわけでして、こりゃ現行バージョンでテストしなければ!と思った次第です。 さて、では実験です! と言いながら先に結論を言っておくと mysql6-alpha では同ベンチマークプログラムを動かすことができませんでした。が、せっかくなので失敗例をつらつらと書いておきます。次エントリで mysql5 でも

  • 書評 -最近読んだ Perl 関連本3冊をご紹介

    料理ばかり読んでるわけじゃありません。ちゃんと Perl も読んでます。図書館ですけど。 最近はタイトルの通り3冊読みました。その3冊は以下にご紹介してますが、手持ちの Perl も何冊か読み返しています。PERL HACKS と Perl Best Practices とプログラミングPerl VOLUME1です。最後の VOLUME1 は最終章の内部データ型って部分を読み返しています。Perl のソースを追いかけてしまったので、SV 型がいろいろと気になりだしてしまったのでお勉強続けています。 会社で Perl を教えることも多くなってきたので、いろいろとを読んでどう伝えると良いかを日々模索中です。いままで教えてきた経験からするとハッシュという概念で一回つまずくみたいですね。次にリファレンスでつまずきますね。そして次にモジュールでつまずきますね。今ココ。そんな方へお薦めする

  • Perl の内部処理系をお勉強

    ちょっと前に perlfilter - Source Filters - についてお勉強したときから調べようと思っていたことなのですが、Perl の内部処理の流れ(Perl 5 Internals)についてお勉強中です。思いっきり見逃してしまいましたが、Perl 5 Internals に興味を満ち始めたこのタイミングにあわせたかのように Shibuya Perl Mongers : Shibuya Perl Mongersテクニカルトーク#9 で XS ネタをやっていたみたいです。残念です。 さて、今回のお勉強の方法は、ズバリ perl 5.8.8 のソースの読解です。もちろん今回は流れを把握するためのものなので、あまり樹海の奥深くまで足を踏み入れたくはないのですが・・・。この記事を書いている時点では perl_parse までの流れを読み終えたところなのですが、構文解析と字句解析が樹海

  • Perl 言語自身すら拡張する Filter 機能をお勉強

    で、そんなことをして何が嬉しいかというと、perl に独自の言語仕様(構文)を加えることができます。ぱっと思いつくものでいえば、Filter::SQLSwitch あたりで使われていたりします。 そもそもなんで今毎 source filter 機能なんて調べているかというと、つい最近、このブログのカテゴリ部分に jQuery の jquery.pager.js を使ってページ分割をしてみました。最近エントリ数が多くなってきて見づらいなぁ〜と思っていたところなんです。 脱線しないように詳しい話はまた別エントリにするとして、MovableType 3.3 の ContextHandlers.pm を一部書き換えないとコレが実現できなかったんですけど、どうせなんでプラグインで配布しようかなぁ〜と考えてしまったわけです。・・・がですね、MT4 系等をサポートしようとすると・・・結構ソースが違

  • 簡単レシピ - 魚の刺身のカルパッチョの作り方

    あっというまに今年も6月です。。。さて、またまた簡単レシピシリーズです。 これまた奥さんのレシピじゃないんですけど、僕がこの前作った魚のカルパッチョのレシピです。使う魚はその時々で安く手にはいるモノで十分です。マグロ、真鯛でやると美味しいですね。今日は魚が妙にべたかったんです。 マルエツに買い出しに行って貰った奥さんから売ってる魚を聞き、30cmのイナダが500円で売っているとのことなのでイナダに決定。どうやってべようかアレコレ頭を悩ます・・・ バジルもちょうど青空市場で買ったことだし・・・刺身でなくカルパッチョを夕のメインにすることにしました。 ってわけで、簡単魚の刺身を使ったカルパッチョの作り方をご紹介します。魚はまぁべたいものでいいんじゃないかと。

  • perl で Captcha 認証(セキュリティ画像)をやる方法について

    ユーザ登録とかでロボット等でのスパム登録を防止したりって用途に使われているアレです。こんなヤツ。 最近はブログのコメントとかのスパム防止でもよく見かけます。まずは基礎知識。このような画像で認証を行うことを Captcha っていいます。wikipedia の情報を引用すると、 CAPTCHA(キャプチャ、"Completely Automated Public Turing test to tell Computers and Humans Apart"; コンピュータと人間を区別する完全に自動化された公開チューリングテスト)は チャレンジ/レスポンス型テストの一種で、ユーザが人間であるかどうかを決定する計算処理に使われる。この用語はカーネギーメロン大学のLuis von Ahn、マヌエル・ブラム、Nicholas J. Hopper、IBMのJohn Langfordによって2000年に

  • メール送信者認証技術 SPF/Sender ID についてお勉強

    お勉強の背景に関しては 「迷惑メール対策 OP25B(Outbound Port25 Blocking)についてお勉強」 に書いたとおりですが、迷惑メール対策としての SPF/Sender ID についてもいろいろ勉強したのでそのまとめです。(DomainKeys については思いのほかエントリが長くなったのでまた別の機会で・・・)まずは参考になったサイトの紹介から。 Sender Policy Framework (SPF) for Authorizing Use of Domains in E-Mail, Version 1 Sender ID: Authenticating E-Mail DNS関連技術の最新動向 - SPF/DomainKeysとは Sendmail 社 - 送信者認証技術の導入におけるレコメンデーション メール送信者認証の仕組みを探る(2/2):スペシャル - ZD

  • 複数台の Windows ファイルサーバを簡単に1台に統合する方法

    ウチのチームでは Windows ファイルサーバが2台あります。その片方が今にも起動しなくなりそうな状態でハードレベルでヤバイです。でもファイルサーバの統合って意外と面倒。マシン名が変わると全ての人にショートカットを変更して貰ったり、ちょっとした Excel のマクロとかに埋め込まれた共有フォルダの名前を変更したりと想像するだけでウンザリします。 ┐(´д`)┌ 直感でマシン名くらい複数設定できるだろうと思ったので調べてみました。ありました。やっぱり。 @ITWindows TIPS -- Tips:システム移行などのために複数のコンピュータ名を付ける ひとつのコンピュータに複数の名前を付ける - 日経トレンディネット コンピュータ名つまりは下の図のように確認できる名前は、正確には NetBIOS 名 と言うわけですが通常は1台のコンピュータにつき1つの名前しか設定できません。GUIの名

  • 1