orangain flavor

じっくりコトコト煮込んだみかん2。知らないことを知りたい。

2013-01-01から1年間の記事一覧

2013年を振り返って

2013年が終わるので、振り返っておきます。今年は以下の点が良かったです。 サービスの開発を継続できた 継続的デリバリを実践できた ブログ記事の執筆、翻訳ができた 良かったこと1:サービスの開発を継続できた 以前から趣味でWebサービスを作ったりしてい…

はてなブログでソースコードの配色をSolarizedにする

はじめに 以前から自分のブログに書いたソースコードが読みにくいと感じていました。他所のソースコードが読みやすいブログを眺めていたところ、 Solarized という有名な配色があることを知りました。 良さげだったので、このブログのソースコードの配色をSo…

Chef SoloでFluentd + Elasticsearch + Kibana3をインストールする

はじめに Fluentd + Elasticsearch + Kibanaが良いという話をよく聞くので、Chef Soloでサクッと環境を作ってみようと思ったら意外と苦戦したので記録を残しておきます。 結論 Kibana 3を簡単にセットアップできるChefリポジトリを作成しました。 https://gi…

Dockerを使ってJenkinsのジョブごとにテスト実行環境を分離する

はじめに JenkinsでJVM上で動かない言語(PythonやRubyなど*1)を使っていると、ジョブごとに環境が分離されていないことが問題になる場合があります。 Pythonにおける virtualenv やRubyにおける Bundler を使えば、ジョブごとに利用するライブラリを分離す…

Djangoでメモリに乗らないサイズのDBを扱うときに気をつける点

はじめに Djangoでメモリに乗らないサイズのデータベースを扱うときに、気をつけるべきポイントをまとめます。メモリを大量に消費していつまで経っても処理が終わらなかったり、OOM Killerに殺されたりといった悲しい結末を回避できたら幸いです。 データ量…

Groongaで複数のトークナイザを使い分ける方法

はじめに 全文検索エンジン Groonga を使っていると、トークナイザによる検索結果の違いを比較したくなる時があります。 しかし、検索時に利用するインデックスを明示的に指定する方法は、現時点ではドキュメント化されていないようです。 4.7.2. インデック…

Opscode Community Cookbookをオーバーライドする方法

はじめに Chefを使っていてOpscode Community Cookbookに不満がある場合、フォークするのではなくオーバーライドすべきだと言われています。 ChefのCookbookのベストプラクティス | Ryuzee.com ChefConf 2013: Beginner Chef Antipatterns しかし、オーバー…

Herokuの中の人が書いたWebアプリケーション構築の方法論「The Twelve-Factor App」の日本語訳

2016-01-14追記: 日本語版は随分前に本家にマージされたので、記事中のURLも変更しました。 The Twelve-Factor App はHerokuの中の人 Adam Wiggins氏によって書かれた、モダンでスケーラブルかつ継続的デプロイ可能なWebアプリケーションを構築するための方…

FabricとCuisineを使って簡単に永続的なSSHトンネルを設定する

はじめに インターネット越しにサーバー間で通信する際、通信内容を暗号化する方法としてSSHのトンネル(ポートフォワーディング)があります。autossh を使うと簡単にSSHトンネルを作れますが、サーバー間で 常時使う トンネルを作るための設定作業は意外と…

さくらVPSでLXCを使って安価に複数台構成を実現する

2013年6月7日 22:04更新: Upstartのデフォルトの設定ファイルを書き換えない方法に変更しました。hitoさんありがとうございます。 lxcなどのバージョンを記載しました。 はじめに Chefを使っていると、役割やサービスごとに環境を分離したくなります。 しか…

金融機関の口座集約アプリを少しでも安全にするために

はじめに 金融機関の口座集約アプリの危険性について - プログラマになりたい という記事が話題になっていたので、日頃からアカウント・アグリゲーション系のサービスについて考えていることをまとめておきます。 アカウント・アグリゲーション・サービスの…

DjangoからMySQLにCOMMITしたデータが別のトランザクションから見えない

はじめに Djangoを使ったアプリケーションで、2つのバッチ処理用プロセスA、Bを同時に立ち上げたときに、Aのトランザクションでsave & commitした値をBでは読み取れないという問題に直面しました。 問題の箇所のソースコードはこのような感じです。 実行順 …

かっこいいダッシュボードが簡単に作れるDashingがすごい

はじめに まずはデモを見てくれ!デスクトップPCなどの大きい画面で見るのがおすすめです。 デモ(中) デモ(大) Windows 8風のフラットなデザインで、いろいろ動いていてかっこいいですね。こんな感じのダッシュボードを簡単に作れるライブラリがDashing…

Capistranoでのsudoの書き方

はじめに Ruby製のデプロイツールであるCapistranoを使ってみました。いろいろなレシピを眺めていると、sudoの書き方が次のようにいろいろあって違いがわからなかったので、調べてみました。 sudo "hoge" # (1) sudoアクション run "sudo hoge" # (2) 文字列…

EvernoteのMarkdownをプレビューできるようにしたのでブログを引っ越した

2016-01-14追記: BaraagはEvernoteアプリの仕様変更により動かなくなっています。Markdownでメモをとるのにリアルタイムプレビューは重要でないことに気づき、筆者も使わなくなっているので、メンテナンスする予定もありません。ごめんなさい。 今まではてな…

SkypeのチャットにJenkinsのビルド結果を通知する

はじめに Jenkinsのビルド結果をSkypeのグループチャットに通知したいことがあります。Skype プラグインはあるのですが、ググるとインストールが大変でうまく動かないという声がチラホラありました。とりあえずプラグインだけをインストールして設定を見てみ…

フューチャーホームコントローラーをJenkinsのXFDとして使う

はじめに フューチャーホームコントローラー(FHC)には音声合成の機能があり、WebAPIで喋らせることができます。そこで、Jenkinsのビルド結果をわかりやすく知らせるXFD (eXtreme Feedback Device) として使ってみます。 ※吹出しはイメージです。本当は別に…

Visual Studioでビルド後にZIPアーカイブを手軽に作る

はじめに Visual Studioでのビルド後に、ちょっとバイナリをZIPで固めたいと思っても簡単にはできません。Visual Studioでのビルドに限らず、Windowsで作業を自動化しようとすると、Linuxならzipコマンド一発でできることが、簡単にできなくて困ることがよく…

フューチャーホームコントローラーの音声認識をKinect for Xbox 360に肩代わりさせるまでの手順

はじめに フューチャーホームコントローラー(Future Home Controller: FHC)は、以前の記事で書いたように、家電を音声でコントロールできるようにする未来感あふれるガジェットです。ただちょっと困っているのが、音声をうまく認識してくれないことがある…

Ubuntu Server 12.04.2 LTSでSkypeのボットを動かすまでの手順

はじめに 開発についてのミーティングをSkypeのチャットで行っていると、このチャットに外部からメッセージ送りたくなります。例えばJenkinsからの通知とか、アラートの受信とか。技術的にできることは知っているのですが、非GUIのサーバー環境で動かそうと…

フューチャーホームコントローラーの感想とそこから見るホームオートメーションの未来

fhc

フューチャーホームコントローラー(Future Home Controller: FHC)は、家電を音声で操作できるようになる未来感あふれるガジェットです。先日届いたので、いろいろ楽しんでます。FHCを使うとこんなことができます。 私「ねぇジュイス、ただいま。」 ジュイ…