読者です 読者をやめる 読者になる 読者になる

よかろうもん!

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

リモートワーカー必見!ペアプログラミングからPC環境整備のサポートまで幅広く使えるツール ScreenHero とは

リモートでペアプログラミングをしていたりすると、よくこんな事ありませんか? チャットに操作して欲しいコマンドを貼り付けている 相手の操作が遅くてムダな時間が多い 「いや、そうじゃなくて。まずxxxして!」とよく言っている Skypeなどの画面共有ツー…

JAWS DAYS 2015 で『DevOps が普及した今だからこそ考えるDevOpsの次の姿』というタイトルで講演してきました!

JAWS-UGによる東京でのビックイベントである JAWS DAYS 2015 の DevOpsセッションでスピーカーとして登壇させていただきました。発表内容はタイトルの通り、『DevOpsが普及した今だからこそ考えるDevOpsの次の姿』です。さっそくですが発表スライドを公開し…

ふりかえりの「Keep」は褒めるためのもの?Keepも改善のインプットとして考えよう

photo by crdotx ソニックガーデンでは頻繁に「Keep=よかったこと」「Problem=悪かったこと」「Try=次に試すこと」の3つのフレームワークで考える「KPT」による ふりかえり を実施しています。継続的に個人・組織をカイゼンしていくためのフレームワーク…

楽しくITの仕事をするために身につけてほしい基本的な考え方 〜 脱チェックリスト方式 〜

ソニックガーデンは小さな組織ではありますが、その中には新卒の社員もいます。 ちなみに来年度も1名新卒メンバーがJOINする予定になっています。若手を採用するにあたり早く能力の高いエンジニアになってもらいたいという想いから、入社1年目のエンジニア…

OpsWorksで機能追加された環境変数を試してみて気づいた注意すべきこと

AWS

2014年8月のアップデートでOpsWorksのApps層の設定項目に環境変数が追加されました。 AWS OpsWorks Supports Application Environment Variables ということで、新しい環境を整備する際にこの機能を試してみたところ、想定と異なる動きをしていたので、その…

『約10年、最新版のRailsに追従してきた運用ノウハウをビール片手に聞きましょう!』というイベントで発表してきました

6月末頃、Rails/Rubyのバージョンアップ作業を開始したときに、Railsアプリケーションを長い間運用しているサービスってなかなか聞かないよな〜と思って、Facebookで下記のような投稿をしてみました。 すると、「AWSを活用してる現場リーダーやCIOをお招きし…

SonicGarden Studyという勉強会でHerokuでの運用術について話しました!

SonicGardenが不定期で開催している勉強会イベント「SonicGarden Study」で、Herokuを使ってサービスを運用する際のポイントについて、メンバーの西見さん(@mah_lab)と共に講師としてお話させていただきましたので、その時の資料を公開しておきます。話の…

JAWS DAYS 2014でOpsWorksの活用事例について発表していきました!

OpsWorksについての概要と、RailsサーバとNodejsサーバを管理するために知っておきたいことなどを発表してきました。 OpsWorksを知っている人向けの資料だったので、使ったことがない方には理解しがたい内容になってたかと思いますが、OpsWorksは便利だし、…

OpsWorksでNodejsアプリを動かすときにNODE_ENVが指定できないのを何とかする件

AWS

OpsWorksのRailsアプリケーションではRAILS_EVNが指定できるにもかかわらず、Nodejsアプリケーションでは、NODE_ENVが指定できず、stagingとproductionで振る舞いを変えたりすることができません。opsworks_custom_env や OpsWorksEnvyのenvironment_variabl…

OpsWorksでNodejsアプリを動かす上で知っておきたいこと 〜その壱〜

AWS

これまでOpsWorksでRailsアプリケーションを動かす上での注意事項を紹介してきましたが、今日はNodejsアプリケーションをOpsWorksで動かすときのポイントを紹介します。

OpsWorksでRailsアプリを動かす際に注意しておきたいデータベース接続の設定

AWS

半年くらい前に『OpsWorksでRailsアプリからAmazon RDSなどの外部DBを利用する方法』というブログを書きましたが、その記事の後半で 今回紹介した方法(deploy時にCustom Chef JSONを指定)を本番環境に適用して運用しようとすると、いつの日かサービスダウン…

日経SYSTEMS、「DevOpsツールで実現するタイムリー開発」の取材を受けました

ソニックガーデンの自社サービスや納品のない受託開発で取り組んでいるDevOpsについて日経BPさんに取材を受けた記事が発売されました。日経SYSTEMS 2014年3月号 ※最初の数ページを閲覧できます。 DevOpsを実践する上で利用している開発/運用のツール群の紹…

IE11でGoogle Document Viewer経由でのPDF表示ができない問題を楽に解決する方法

IT

IE11で厄介な問題が発生しています。 ドキュメントを簡単にインライン表示できるGoogle Document Viewerを使っている方は多いかと思いますが、現在のIE11ではそのPDFが表示されなくなっています。 とても困ります。どうにかしてください、Microsoftの方。と…

「Zabbix統合監視徹底活用〜複雑化・大規模化するインフラの一元管理〜」を読んで

TIS Enterprise Ondemand ServiceというIaaSサービスを提供するTIS。そんなサービス運用で培った?Zabbix運用監視ノウハウ本が2月7日(金)に発売とのことです。著者は私がTIS時代に一緒に仕事をしていた池田くん(@ike_dai)です。 ご献本ありがとうございまし…

MySQLでcharacter_set_databaseがlatin1になってしまう問題の対応方法

アプリケーションのバージョンアップなどでテーブル追加を伴うスキーマ変更があった場合に、テーブル追加したところのデータだけ画面で「????」になって表示されてしまうことが稀にあります。 この対応方法について、発生理由と共に簡単に解説しておこう…

DevelopersのためのSonicGardenで実践しているシステム運用での11の常識〜SonicGarden Study〜 の資料を公開します!

2013年06月から毎月第1月曜日に開催しているUstreamで放送するオンライン勉強会「SonicGarden Study」も無事6回目が終了しました。 昨日の勉強会に参加してくださったみなさん、どうもありがとうございました。事前参加登録数も117名という、ものスゴイ数と…

SonicGardenにおけるAWS運用について最低限知っておくべきことのまとめ

これまで私が勉強会やJAWSUGなどのイベントで発表した時に作成した資料をまとめておきます。AWSやHerokuなどのIaaS/PaaSを使う上でのSonicGardenならではの考え方などを綴っているので、ご興味のある方はぜひお読みいただければと思います。2012年10月 JAWS-…

JAWS FESTA Kansai 2013で発表した「SonicGarden流DevOpsの実践」の資料を公開します

AWSのユーザグループによるイベント(JAWS FESTA Kansai 2013)に参加して、DevOpsについてお話させていただきました。 発表の概要は、少人数で自社サービスから受託案件まで数十ものサービスを提供するために実践しているDevOpsについて、技術的な内容から…

OpsWorksでRailsアプリからAmazon RDSなどの外部DBを利用する方法

前回は、『OpsWorksでRailsをデプロイする際にasset:precompileを実施する方法』というタイトルで、デプロイフックの仕組みについて紹介しました。今回は、Amazon RDSのようなデータベース・サーバが別インスタンスで稼働している場合を想定して、どのように…

OpsWorksでRailsをデプロイする際にasset:precompileを実施する方法

OpsWorksでRailsアプリケーションを運用するために知っておくべきことを数回に渡り本ブログで紹介していきます。今回はOpsWorksのデプロイフックを利用する方法です。Railsでは、JavaScriptやCSSを結合して圧縮することで、ブラウザがウェブページを描画する…

「AWSを活用してる現場リーダーやCIOをお招きしたトークイベント」でパネルディスカッションをさせていただきました。

昨夜、茅場町のコワーキングスペース「Co-Edo」にて、paperboy&co. の梅谷さん(@ume3_)とKDDI webcommunications inc の阿部さん(@yskmerlion)と私の3名で、異なる企業規模のインフラ寄りのエンジニアが、それぞれの立ち位置でチームとして日々どのように仕…

「Developer Migration 2013」で話をしてきたので資料を公開します

「DevOpsが引き金となるインフラエンジニアの進撃 どうする?デベロッパ」というタイトルで、Developer Migration 2013のイベントで登壇の機会をいただいて話をしてきました。 講演内容の概要です。 開発現場のスピードと生産品質を高めるプラクティスとして…

debugger-linecache のbundle に失敗したら

以下のように debugger-linecache のbundle時に失敗したときの対応メモ。 Installing debugger-linecache (1.1.2) with native extensions Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /Users/interu/.rbenv/versio…

いろんな人が関わっている!?ソニックガーデン開発の裏舞台 (SonicGardenアドベントカレンダー5日目)

SonicGardenアドベントカレンダー、5日目までまわってきちゃいました。 今日私が書いているので、残りは副社長と社長の2人ですね。トーク上手な二人なだけに、おもしろい記事が出てくること間違いなしだと思います。 今回は、あまり知られていないソニックガ…

Route53にNaked Domainを設定する方法〜ELBを利用しない場合〜

AWS

以前のブログでは『Route53にNaked Domainを設定する方法〜ELBを利用する場合〜』について書きましたが、今回はELBを利用しない場合の設定方法を記しておきます。 Route 53ではAレコードの設定でNaked Domainを表現する "@" が利用できません。そのため、Aレ…

当たり前だけどElastic IPにもURLは割り振られるよ

AWS

EC2を起動した時にはそのサーバにアクセスするためのURLが割り振られます。 Elastic IP(固定IP)については、ManagementConsole上での表記がURLではなくIPアドレスのみとなっていますよね。 で、普通に考えるとElastic IPにもURLは割り振られるだろうというの…

「AWSを活用して少人数で複数のサービスを運用するコツ」〜JAWS-UG in Nagoya〜

10月6日に名古屋で開催された第4回JAWS-UGにて、「AWSを活用して少人数で複数のサービスを運用するコツ」というテーマで、SonicGardenの運用に関しての考え方や取り組みについてお話させていただきました。 当日の資料を以下から見えるようにしておきます。 …

Fedora17でmonitをsystemdから安定起動する方法

Fedora17でmonitをsystemd経由で起動すると何故かdaemonが正常起動するときとしない時がありました。 正しくは起動処理は上手くいくが、daemonの状態がactiveからdeactivating (stop-sigterm)になり、最後には inactive (dead) になってしまうという状況でし…

Route53にNaked Domainを設定する方法〜ELBを利用する場合〜

AWS

だいぶ昔にRoute53がネイキッド・ドメインに対応しましたが、まだ試したことが無かったので実際に設定していみました。 設定方法はシンプルで、AレコードのAliasの機能を利用し、サービスをホスティングしているフロントのElastic Load BalancerのURLを設定…

ニフティクラウドC4SAでrailsアプリを動かしてみた vol.1

先日正式公開されたアプリケーションプラットフォーム「ニフティクラウド C4SA(シーフォーエスエー)をさっそく利用してみました。 Perl / Python / Ruby / CakePHP / Ruby on Railsなど様々なコンテキストが提供されていますが、今回はRuby on Railsを試…

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〜

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