タグ

ブックマーク / hirose31.hatenablog.jp (27)

  • perlbrewを使うにあたっていろいろな小細工をした件 - (ひ)メモ

    最近perlbrewを使っています。で、いろいろ小細工をしたので問題点とその解決方法のまとめです。 補足すると、深遠な理由とかマリファナ海峡より深い事情とかがなければ、バッチ用、shebang用に(↓で書いてる)appperl的なラッパーを用意するだけでいけるんじゃないかと思います。 問題点 perlbrewのサイトを見るとビールがのみたくなる http://perlbrew.pl/ perlbrewedなperlの実行方法 対話シェル上で スクリプトのshebang (#!) cronで実行する場合 サーバーワイドな共通の@INC perlbrewedなperlの実行方法 perlbrewedなperlをどう実行するか、3つの局面にわけて考えます。 対話シェル上で 基、~/.bashrcで $PERLBREW_ROOT/etc/bashrcを読めばOK。 なのですが、(深淵なる理由があ

    perlbrewを使うにあたっていろいろな小細工をした件 - (ひ)メモ
    ikasam_a
    ikasam_a 2013/03/14
    wrapper 起動コストがバカにならない件
  • perlbrewなperlで共通のパスを@INCに入れたい、もしくはperl実行時にごにょごにょしたい話 - (ひ)メモ

    perlbrewでインストールしたperlたちの@INCは$PERLBREW_ROOT配下のディレクトリになります。おかげで互いに影響せずにモジュールを入れられるわけですが、システム全体で共通のモジュールも読ませたい局面もあります。 PERL5LIB(でパスを指定)やPERL5OPT(で-Mlib=/path/to)でもできますが、perl -MOrenoConf とした場合はまだ環境変数が評価される前なのでCan't locateと怒られてしまいます。 Ubuntuのsystem perlは /etc/perl が @INC に入っています。(確かGentooのもこんな感じだったと思います) $ perl -V ... @INC: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl

    perlbrewなperlで共通のパスを@INCに入れたい、もしくはperl実行時にごにょごにょしたい話 - (ひ)メモ
  • MacBook Airがスリープから醒めない件 - (ひ)メモ

    MacBook Air (11" Mid 2011, メモリ 4GB)がフタを閉じてスリープ状態に入り1時間ぐらいするとフタを開けても起き上がらず、しかたないので電源ボタン長押で強制再起動の刑で困ってたんですが、結果からいうと、 sudo pmset -a hibernatemode 0で解消しましたというお話。 起き上がらない事象は再現率100%。Console.appでログを見てみると、フタを閉じて70分後に毎回同じログ(Wake reason: EC.SleepTimerとか)が記録されていたので、これでググったところ、 http://forums.macrumors.com/showthread.php?t=1110667 で機種は違えど同じような症状を発見。 どうも、フタを閉じてしばらくは浅いスリープ(メモリ上に待避)なんだけど、時間が経つと深い眠り(ディスク上に待避、deep

    MacBook Airがスリープから醒めない件 - (ひ)メモ
    ikasam_a
    ikasam_a 2011/12/20
  • 株式会社ディー・エヌ・エーに入社しました - (ひ)メモ

    12月1日付けで株式会社ディー・エヌ・エーに入りました。 入社して1週間が経ち、少しずつ環境にも慣れてきたところで、優秀な仲間たちと楽しく充実した日々を送っています。 自分の仕事はこれまで通り、コードも書ける(書きたい)インフラエンジニアです。 まだ把握しきれていませんが、想像していた以上のトラフィック、サーバー台数のスケールで、これほど大きなシステムに関われることに興奮して鼻血が出そうな毎日です。 特に前職では人数が少なかったせいもあり、エンジニアリング以外のこともいろいろとやりました(おかげでいろいろと経験できてよかったです)が、ディー・エヌ・エーではエンジニアリングに集中し、自分のこれまでの経験と知識と勘を活かし早期にバリューを出せるように努力しつつ、優秀な仲間たちと切磋琢磨し、より自分の腕に磨きをかけていきたいと思っている所存です。 また、ブログや勉強会等しばらくおやすみしていまし

    株式会社ディー・エヌ・エーに入社しました - (ひ)メモ
    ikasam_a
    ikasam_a 2011/12/09
    よろしくお願いします!
  • 外部からChromeをリロードする - (ひ)メモ

    自分のノートPCに開発用マシンから ssh ではいれるようにするのは嫌だしめんどくさいなーとおもったので、perl でちょろっとかいたら快適にうごいた。 http://d.hatena.ne.jp/tokuhirom/20110304/1299221559 sshではいるのは確かにアレなので、自分もHTTPでコマンドうけつけるdaemon書いてそれ使ってます。ただ、自分のMacにはPlack入ってないのでHTTP::Daemonを使ってます。 https://gist.github.com/894033 MacChromeAppleScriptで制御できる(リロードできる)ってのをid:os0xさんに教えてもらったので、MacならばChromeRepl要らずでできました! vim でファイルを保存した時にChrome で開いているページをリロードするのはAppleScript で十分で

    外部からChromeをリロードする - (ひ)メモ
  • これはもう手放せない!社内ツールベスト4 - (ひ)メモ

    どれもオープンなサービスではあるんですが、社内限定でも使いたいなーというものたちです。 IRC プロトコルと実装がオープンなので、周辺のライブラリやツールが充実してるのがいいですね。 ぼくは、家のサーバに IRC proxy (bouncer) のTiarraを常駐させて、PCがあるときはLimeChatで、ないときはiPhoneのSafariでmobircを使っていつでも見られるようにしています。 コミュニケーションはもとより、いろんなボットを常駐させて通知プラットフォーム的にも使っています。これがまた便利なんです。 deployスクリプトから状況をポスト Continuous Integrationの自動テストの結果をポスト 「#NNN」に反応して、当該チケットのタイトルとURLをポスト 「これから#765やる」、「XXXの修正のチケットってどれだっけ?」「#973だにょ」とか コミッ

    これはもう手放せない!社内ツールベスト4 - (ひ)メモ
    ikasam_a
    ikasam_a 2011/01/17
  • Tracで、昨日クローズされたチケットの一覧をみたい - (ひ)メモ

    修正後の動作確認のためとかに。 チケット見る→レポートの登録の、レポートのクエリに: select id as ticket, summary, changetime as modified ,milestone , owner as __group__ from ticket where status = 'closed' and changetime > strftime('%s','now','-$WITHIN day') order by owner desc, changetime descと入力して保存して、/report/13?WITHIN=1 とかにアクセスすればOK ご察しの通り、?WITHIN=3 とすればここ3日以内にcloseされたチケットの一覧が見られるでやんす。

    Tracで、昨日クローズされたチケットの一覧をみたい - (ひ)メモ
  • フロント/バックのreverse proxy構成で、指定秒数以内に必ずレスポンスを返す方法 - (ひ)メモ

    目的 フロントがHTTPリクエストを受けて、バックエンドのアプリケーションサーバにreverse proxyするような構成において、指定秒数以内に何かしらのレスポンスを返したい。 200が返せない場合は、処理を打ち切って500を返したい。 背景 フロントでApacheやNginxをreverse proxyとして使っている場合、バックエンドが無応答になってしまうと、クライアントにレスポンスが返るのはデフォルトで数十〜数百秒後(ApacheのTimeoutのデフォルトは300秒、Nginxのproxy_read_timeoutのデフォルトは60秒)になってしまいます。 通常のWebサービスではこのオーダーのタイムアウトでもいいのかもしれませんが、数秒以内に(エラーでもいいので)レスポンスを返すことが求められる環境も存在します。(最近、特に多いのではないでしょうか:P) もちろんバックエンドが

    フロント/バックのreverse proxy構成で、指定秒数以内に必ずレスポンスを返す方法 - (ひ)メモ
  • 奥様に耳より情報! Go DaddyでSSL証明書を買う前に必見!! - (ひ)メモ

    2010-11-11追記 いつの間にか$49.99/yearになってたんですが、 http://www.godaddy.com/Compare/gdcompare_ssl.aspx?isc=sslqasia1 を踏んで購入すると$12.99になる模様。 Go Daddy は、SSLサーバ証明書が安いです。 1年間有効のもので、たったの$29.99です。 これでもやすーいなんですが、promo codeを入れるともっとお買い求めしやすくなります! 新規に証明書を購入する場合は、 GoDaddy Coupons – April 2010 - Promo-Code.net の「promossl」のリンクを踏んで Go Daddy のサイトにとんで、そこでカートに証明書を入れます。 これだけで、$29.99の証明書がなんと$12.99 (56.7%オフ)になります! 新規じゃなくて更新する場合は、

    奥様に耳より情報! Go DaddyでSSL証明書を買う前に必見!! - (ひ)メモ
    ikasam_a
    ikasam_a 2010/05/11
  • そろそろFiciaについてひとこと言っておくか - (ひ)メモ

    えとらぼの『Ficia (フィシア)』、追加容量を大幅値下げ 〜315円(税込)で 100GB まで! 動画も写真もさくっとアップ〜 えとらぼ、写真ストレージサービス「Ficia」の追加容量を値下げ:ニュース - CNET Japan ぼくも携わっているフォトストレージサービスFiciaの利用料金が大幅に値下げになりました! これまで 2GBまで無料 2GB〜12GBまで315円/月 以後10GBごとに315円/月が加算 ↓ これから 2GBまで無料 2GB〜100GBまで315円/月 以後100GBごとに315円/月が加算 これまでの料金は、正直に言って高かったと思うのですが、今回の改訂でだいぶお手頃な価格(容量)になったのではないかと思います。 値下げに加え、機能的にも骨子のコンセプトの部分がだいぶ整ってきており、いい機会だと思うので、今まで我慢してきたFiciaに対する思いの丈をここ

  • kumofsの死活監視はこんな感じでNagiosでやってます - (ひ)メモ

    分散Key-Valueストア「kumofs」を公開しました! - 古橋貞之の日記 \(^o^)/ kumofsは、弊社のフォトストレージサービス Ficia で現在大絶賛モリモリ稼働中なんですが、その死活監視は自家製の Nagios プラグインで行っています。 というわけで、kumofsをサービスで使いたい人の一助になればと思い、ぼくが実際に行っている kumofs の監視について紹介したいと思います。 サーバノードとマネージャノード サーバノードとマネージャノードの監視には、それぞれのノードに対してステータスを問い合わせるコマンドを発行して、その応答で死活を判断するスクリプトを書いて使っています。 kumofs公開記念ということでgithubにpushっておきました。 http://github.com/etolabo/nagios-check_kumofs 問い合わせの処理は、管理用コ

    kumofsの死活監視はこんな感じでNagiosでやってます - (ひ)メモ
  • 記号(○△□)とか罫線素片のグリフが2桁幅のビットマップなUnicodeフォント - (ひ)メモ

    メモ。 後述の理由で記号(○△□)とか罫線素片のグリフが2桁幅のビットマップなUnicodeフォントが欲しい ビットマップなUnicodeフォントといえば efont http://openlab.ring.gr.jp/efont/unicode/index.html.ja efontのb14 (-efont-biwidth-medium-r-normal--14-140-75-75-p-70-iso10646-1) がほぼ欲しいのもの b14でEastAsian Ambiguous Widthな文字たちのグリフを2桁幅のが欲しいものそのもの b14は複数のフォントを合成したもの EastAsian Ambiguous Width Charactersは、東雲14のを生かすように生成スクリプトを変更すればよさそう で、efont-unicode-bdf-0.4.2-src での変更個所は以

    記号(○△□)とか罫線素片のグリフが2桁幅のビットマップなUnicodeフォント - (ひ)メモ
  • 接続しているネットワークの変化をトリガとして、任意のスクリプトを実行する方法 - 例えばSSHトンネルの掘り直し - (ひ)メモ

    いままで、 小さいターミナルでこんな感じでSSHのトンネルを掘って while true; do rebuild-ssh-config; ssh -N -o "BatchMode yes" -L ... -R ... TUNNELHOST; echo retry; sleep 3; done ネットワークが変わった場合(会社に着いたとか家に着いたとか)、手動でkillall sshしてトンネルのsshプロセスを殺して掘り直す ということをやっていたのですが、 無線APによって自動でhostsを変える方法 - unknownplace.org を読んで、ネットワークが変わったタイミングでスクリプトを実行する方法を知った(id:typester++)ので、この手法を使って自動的にkillall sshするのと、あとついでに、ターミナルの中で実行してたsshプロセスを、AppleScriptでラ

    接続しているネットワークの変化をトリガとして、任意のスクリプトを実行する方法 - 例えばSSHトンネルの掘り直し - (ひ)メモ
    ikasam_a
    ikasam_a 2009/12/29
  • ソースから自前ビルドしたソフトウエアの効率的な管理方法 - (ひ)メモ

    ぼくは長年こういう方法で管理してますよ、というお話です。Linuxです。 ディレクトリレイアウト概観 たとえば、asoとbmdという名前のソフトウエアをインストールしている状態はこんな感じ: /usr/local/ ┬ app/ ┬ aso → aso-1.3 │ ├ aso-1.2/ ┬ bin/ ┬ armored │ │ │ └ scrum │ │ ├ sbin/ ─ syd │ │ └ share/ ─ man/ │ ├ aso-1.3/ ┬ bin/ ┬ armored │ │ │ └ scrum │ │ ├ sbin/ ─ syd │ │ └ share/ ─ man/ │ ├ bmd → bmd-2.0 │ └ bmd-2.0/ ┬ bin/ ─ tri │ ├ include/ ─ angle.h │ └ lib/libsnk.so.2.0.0 ├ bin/ ┬ armor

    ソースから自前ビルドしたソフトウエアの効率的な管理方法 - (ひ)メモ
  • 実録、ほぼ無停止なMySQLのフェイルオーバ (動画もあるよ) - (ひ)メモ

    レプリケーションしてるMySQLで、マスタやスレーブが障害停止した場合のリカバリプラン でも掲げたゴールである、「マスタが落ちてもぐーすか寝ていられるようにしたい」がほぼできたので、ほとんどサービスが停止することなく、フェイルオーバする様をスクリーンキャストに収めました。 埋め込みプレイヤーだと、小さくてわからないと思うので、リンク直接でみてください。 http://www.irori.org/pub/mysql-mm.mov 登場するホスト 登場するホストは2台、db901db902です。 最初は、db901が更新系クエリを受けるプライマリでdb900の浮動IPアドレスを持っています。 画面分割 画面は5分割しています。 左上 = 「select sysdate(),@@server_id」をdb900に対して(sleep 1しながら)延々と実行しまくりんぐ 右上 = ping -n

    実録、ほぼ無停止なMySQLのフェイルオーバ (動画もあるよ) - (ひ)メモ
  • レプリケーションしてるMySQLで、マスタやスレーブが障害停止した場合のリカバリプラン - (ひ)メモ

    MySQLで、レプリケーションベースのHAな構成について考えたメモです。 3台(というか2台+1台)がいいかなぁと思っていて、前半はその理由を、後半では{マスタ,スレーブ}が{再起不能になった,ちょっとダウンしてすぐ復帰した}場合のリカバリプランについて書きます。 今のところはこれがベストかなと思っているのですが、「こうしたほうがいいと思う!」「ここがおかしい!」などなどのご意見はコメント、TBなどでいただけるとうれしいです。 ゴール マスタが落ちてもぐーすか寝ていられるようにしたい リカバリの作業はできるだけ単純に、かつ、短時間で完了するようにしたい めんどくさいのはいや 基構成、方針 2台+1台 サービスで使うのは2台 (db1, db2) もう1台は管理用 (db3) スレーブを多数並べる構成にはしない 台数増えると管理コストが上がる マスタダウン時のフェイルオーバとそのフェイルバ

    レプリケーションしてるMySQLで、マスタやスレーブが障害停止した場合のリカバリプラン - (ひ)メモ
  • keepalived.confのシンタックスチェックツール「keepalived-check」「haskell-keepalived 」が凄い! - (ひ)メモ

    id:viverさんとid:maoeさんが(7月ぐらいに)やってくれてました。 http://github.com/frsyuki/keepalived-check http://github.com/maoe/haskell-keepalived ずいぶん前からkeepalived.confのシンタックスチェックをするプログラムないかなーと思ってました。個人的にはバックアップ側のkeepalivedにまず反映して問題がないならマスタにも反映する、という運用手順をとっていますが、はやりsyntax checkerがあるのとないのとでは安心感が大違いです。 また、構築フェーズでは、keepalived.confをあれやこれやといじり試行錯誤するわけですが、confの書式が間違っていてもkeepalivedは警告も出さずスッコリなかったものとして知らん顔で起動するので、「設定してるはずの通りに

    keepalived.confのシンタックスチェックツール「keepalived-check」「haskell-keepalived 」が凄い! - (ひ)メモ
  • YAPC::Asia 2009で「『Ficia』インフラとPerlにまつわるエトセトラ」というタイトルでしゃべってきました - (ひ)メモ

    YAPC::Asia 2009 第一日目で「『Ficia』インフラとPerlにまつわるエトセトラ」というタイトルでしゃべってきましたのでその資料を公開します。 『Ficia』インフラとPerlにまつわるエトセトラView more documents from Masaaki HIROSE. 他の方のスライドも http://www.slideshare.net/event/yapcasia-2009 から参照できるようでっす。 以下、今回のトークの内容で参考にさせてもらったURLのリストです。 Linux のプロセスが Copy on Write で共有しているメモリのサイズを調べる - naoyaのはてなダイアリー http://d.hatena.ne.jp/naoya/20080212/1202830671 mod_perl における C10K Problem, 竹迫 良範 http

    YAPC::Asia 2009で「『Ficia』インフラとPerlにまつわるエトセトラ」というタイトルでしゃべってきました - (ひ)メモ
  • keepalived と 当ててるパッチたち - (ひ)メモ

    今使ってるのは 1.1.17 、その前に使ってたのは 1.1.15 す。 keepalived 1.1.19 1.1.19ではpidfileとnopreemptパッチは取り込まれているので、 keepalived-1.1.13-extcheck-1.0.patch だけ当てています。 keepalived 1.1.17 keepalived-1.1.13-extcheck-1.0.patch DSASさんところのヘルスチェック拡張パッチです。ふふ。DNS_CHECKとSSL_HELLOを使ってます。 ちなみに、このパッチを当てないで DNS_CHECK とか SSL_HELLO を使うと、keepalived.confにreal_serverを複数書いているにも関わらず、ipvs的には1つしか有効にならないという不思議状態になりますので、バージョンアップのときとかにはパッチ当て忘れないよう

    keepalived と 当ててるパッチたち - (ひ)メモ
  • Eye-Fi用のアップローダブリッジ - Doumeki (百目鬼) - を作りました - (ひ)メモ

    Eye-Fi用のアップローダブリッジを作りました。名前は Doumeki (百目鬼) といいます。 http://github.com/hirose31/doumeki/tree/master Doumeki を使うと、Eye-Fi からアップロードされた写真を複数のフォトストレージにアップロードすることができます。 図にするとこんな感じです。 動機 いまのところ、 Eye-Fi 単体でできることはこうなんですが: リモートのフォトストレージへのアップロード (ただし一か所だけ) Eye-Fi Managerが動いているパソコンへのアップロード Wi-FiのAd-Hoc接続した相手のパソコンへのアップロード (今のところ日未発売のProのみ) 自分の場合、 複数のフォトストレージに同時にアップロードしたい でも、フォトストレージは一か所しか選べない LAN 内のファイルサーバにアップロー

    Eye-Fi用のアップローダブリッジ - Doumeki (百目鬼) - を作りました - (ひ)メモ