よかろうもん!

アプリからインフラまで幅広くこなすいまどきのクラウドエンジニアが記す技術ブログ

HerokuでカスタムドメインのSSL endpointを利用する方法

カスタムドメインは設定済みの状態でSSLアドオンを追加してSSL証明書を設定するまでの方法をメモ。 Herokuのアプリケーション名を sample-app とする ■ SSLアドオンの追加 $ heroku addons:add ssl:endpoint --app sample-app ■中間証明書の取得 SSL証明書を…

Microsoft Office 2007/2010のファイルから全文字列を抽出できるgemを公開しました!

Office 2007 以降、ワード/エクセル/パワーポイントのファイル保存形式がOffice Open XML形式となりました。 そのため、Office 2003 以前のファイルから文字列を抽出するために使っていた xlhtml や ppthtml 等では抽出することができなくなっています。 な…

SonicGardenプログラマが大切にしている考え 〜キャラクタを明確にするということ〜

SonicGardenのスタイルや取り組み、さらにはエンジニアに求めるスキルについて、代表の倉貫がブログや雑誌など様々なところで語ってきました。 『プログラミング初心者のうちに身につけたい3つの習慣』 『兼業のススメ〜トータルフットボールなチームを目指…

ブログ移行しました

「はてなダイアリー」から「はてなブログ」へ移行しました。 RSSリーダーに登録されていた方や読者登録されていた方は、 こちらのブログへ登録変更お願いします。

Mountain Lionの登場を待たずにできるMacの画面をAirPlayでテレビに出力する方法

iPhone 4SやiPad2, New iPadからならミラーリングでAppleTVに表示することができますが、現在のMacの最新OSであるLionではAirPlayでAppleTVに表示することができません。 ※噂では今夏にリリース予定のMountain LionでAirPlayに対応するようです。なので、今…

Facebookから社内ADまで、外部サービスと連携するときに知っておくと役に立つライブラリ

外部サービスと連携すると、連携するサービスの状況に依存していろいろなエラーが発生したりします。 例えば外部サービスが高負荷であるために、タイムアウトのエラーが発生したり、強制的にコネクションをリセットされるようなエラーなど様々です。 その状…

アプリのDBデータを別アプリにリストアする方法

本番環境のデータを用いてステージング環境でテストしたくなることがあります。 そんなときはtapsを利用してローカルにデータを一時保存し、そのデータをリストアすることで実現可能です。まずはtapsのインストールです。 $ gem install taps 続いて以下のコ…

capybara-webkit のbundleに失敗したら。

以下のようにcapybara-webkit のbundle時に失敗したときの対応メモ。 Installing capybara-webkit (0.8.0) with native extensions /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/installer.rb:482:in `build_extensio…

after_updateなどのActiveRecordのCallbackを実行しないようにする方法

Objectの追加/削除/変更時に、after_createやafter_updateのようなcallbackが実行されないようにしたい場合があります。 簡単にcallbackが実行されないようにできないかを調べてみると、各Railsのバージョンで変化はしているものの、どのバージョンでも簡単…

トータルフットボールなチームの成り立ち 〜エンジニア視点〜

先日、SonicGardenの代表の倉貫が『兼業のススメ〜トータルフットボールなチームを目指して』というブログを公開していました。 これを読んで、SonicGardenがどのような背景でトータルフットボールなチームになり始めたかをエンジニア視点で考えてみました。…

SonicGarden検定で作ったアプリ〜2011年(冬)〜

@kuranukiのブログで『ビジョン合宿に行ってきました』の記事中にあるSonicGarden検定という名のアプリ開発で私が作ったものを晒してみます。このSonicGarden検定では、foursquareのようなモバイル向けアプリを作るのですが、最低限で以下のような機能を満た…

定期的にS3にバックアップしているデータが最新の状態かをチェックしよう!

過去のエントリでS3にアプリケーションのデータやログ、DBのダンプファイルなどを保存するときにはBackupというgemを利用すると便利だということを紹介しました。 『データやログのバックアップを楽に実現するために活用すべきライブラリ〜Backup〜』 このよ…

HyperEstraierを利用する際に知っておきたいこと〜Node作成に限界?〜

IT

全文検索エンジンのHyperEstraierは、用途に応じて複数のノードを作成することができます。 なので、ノード1ではサービスA関連のインデックス情報のみを、ノード2ではサービスBのインデックス情報のみを格納しておくということができます。 最近だと、マルチ…

homebrewでHyperEstraierをインストールする方法

IT

パッケージ管理ソフトウェアであるhomebrewを利用して全文検索エンジンであるHyperEstraierをインストールする方法を紹介します。 brew serch でhyperestraierを探しても見つからないので、gistで公開されているものを利用してインストールします。https://g…

CyberAgent Americaの西條さんのトークセッション

Jannovation Weekが終わってだいぶ時間が経ちますが、Jannovation Week 4日目のプログラムのCyberAgent Americaの西條さんのトークセッションについてまとめておきます。 ■ CyberAgent Americaのこれまでについて 2008年くらいにUS(パラアルト)進出。パラア…

Engine Yard はアジャイルを実践していた! しかも、おもてなし精神まで...

Jannovation Week 4日目のプログラムには、個人的に最も興味があった"RailsアプリケーションのPaaSで有名なEngine Yard"の見学がありました。他にもCyberAgent Americaで活躍されている西條さんのトークセッションや、インキュベーションセンターのRocketSpa…

Stanford University訪問と著名人のトークセッションプログラム

Jannovation Week 2日目 本日の予定は、Stanford University見学とそこでトークセッションが組まれていました。あと、シリコンバレーで開催されているSilicon Valley New Tech Meetupに参加し、最新のHOTなDemoを見てネットワーキングをするというプログラム…

インキュベーションオフィス「Plug and Play TechCenter」に行ってきました

Jannovation Week 1日目 本日予定は、ツアー参加者の方々との合流と、Oracleオフィスでのランチ、Plug and Play TechCenterへの訪問、最後にツアー参加者とスタッフの方々、さらにはサンブリッジ代表のアレン・マイナーさんを囲んでのディナーが企画されてい…

[日記]シリコンバレーツアー Jannovation Week に参加してきます!

『サンブリッジがシリコンバレーで開催する、Jannovation Week』に参加してきます。今回は、海外市場におけるスタートアップ事情の情報収集とシリコンバレーのIT企業とのパイプ構築を目的としてこのツアーに参加します。 個人的にも新しい世界を知ることで刺…

データやログのバックアップを楽に実現するために活用すべきライブラリ〜Backup〜

サービスを提供する上で欠かせないのがデータやログ等のバックアップの設定です。 構築/運用するサービスが増えると、その時に必ずバックアップの設定などを行なわなければなりませんね。ですがこのバックアップを仕込む作業、実に面倒ですよね。 面倒な理由…

SonicGardenのオフィスが外苑前に変わりました!

6月28,29日にかけて、SonicGardenのオフィスが浜松町から神宮前に変わりました! 今までのビジネス街とはうってかわって、スーツな人が少なく、若い人が多くて、おしゃれなお店のおおい街になりましたので、何だか不思議な感じがしています。さて、今回は29…

実践で使えるEBSスナップショット取得スクリプト

『AWS障害による影響を小さくするための設計(2011/4/21の障害を踏まえて)』の障害を経験しての対策として、"(2) snapshot生成のステータスも監視しましょう"というのをあげていました。その中で、以下のようなことを書いていました。 新しいsnapshotを作成す…

Ubuntu 11.04でTrackPointでの縦スクロールを有効にする

FireFoxやChromeなどでブラウジングする場合にTrackPointを利用してスクロールしようとしても反応しません。 過去のUbuntuのバージョンに関しても同様の問題があり、それについては以下のエントリで解説しています。 『Ubuntu 10.4(Lucid Lynx)でセンタース…

Windowsサーバをリモートから強制的にOSリブートする

IT

id:rx7が『Linuxのサーバをリモートから強制的にOSリブートする』を投稿していたので、Windows Terminal Serviceへのリモートデスクトップ接続が出来なくなったという前提のもと、Windowsサーバ版でリモートから強制的にOSリブートする方法を紹介します。過…

AWS障害による影響を小さくするための設計(2011/4/21の障害を踏まえて)

AWS

youRoomでの障害対応と、SonicGardenの運用の考え方について、先日id:mat_akiがブログを公開しました。 『youRoomにおいて発生した 2011/4/21 のAWSの障害について技術的な観点から』今回のブログでは、”今回のAWSの障害を通じて、AWSを今後も活用していくた…

bundle install時にnative extensions errorが発生する場合はメモリ不足の可能性があるかも!?

Amazon EC2の低スペックインスタンス(Micro instance)で、bundle installすると、native extensionのインストールでエラーが発生する場合があります。 インストール時に必要となるライブラリが本当に足りない場合は、必須ライブラリをインストールする必要が…

`require': no such file to load -- ec2/amitools/bundle (LoadError)

AWS

RubyEnterpriseEditionのrubyを利用してEC2のAMIのバックアップをしようとした時に出力されたエラー。 /usr/lib/ruby/site_ruby/ec2/amitools/bundlevol.rb:11:in `require': no such file to load -- ec2/amitools/bundle (LoadError) Rubyのライブラリがき…

ThinkITにクラウド関連記事を寄稿しました!

「ARCによるWebアプリの新しいつくり方」というタイトルで @kuranuki が Agile×Ruby×Cloud を利用した開発/サービススタイルの概念を第1,2回で解説し、そのあとの第3,4回で、最近注目を集めているHerokuに関する内容を私が書き下しました。最近は「クラウド…

ブラウザでRenameしたら、console(ローカル)で認識しなくなった場合の対応

Herokuでは、ブラウザでアプリケーションの名前をブラウザから簡単に変更できます。 ※アプリケーションの「General info」を参照簡単ゆえにブラウザで変更した後に、consoleからherokuコマンドを発行して操作しようとすると以下のように表示されてしまいます…

ERROR: padding check failed

AWS

インスタンスストアタイプのAMIをEBSタイプに変換しようと、 ec2-unbundle コマンドを実行したところ以下のようなエラーが出力された。 #ec2-unbundle -k pk-XXXXXXXX.pem -m /mnt/ami/image.manifest.xml -s /mnt/ami -d /mnt/ami --debugERROR: padding ch…