恥ずかしながら10年以上プログラミングをやっていて、今までちゃんとデザインパターンを勉強したことがありませんでした。 それぞれのパターンはなんとなく知っているけど、ちゃんと理解できてはいないという状態でした。 デザインパターンを勉強しようとし…
問題 Mavericks の最新のアップデート(10.9.2)をインストールした後、Google ChromeでGitHubにアクセスした時に、SSLサーバー証明書のエラーが表示されるようになりました。 このように「実際の github.com に接続できない」と表示されます。 アドレスバー…
このようなサンプルが意外と見つからなかったので作りました。 GitHub API GitHubはWeb API を提供しており、リポジトリやユーザーなどをAPI経由で取得・操作することができます。 執筆時の2014年2月現在では、v3とbetaの2つのバージョンがあり、デフォルト…
2018-06-17追記: パッケージの自動削除について追記しました。検証環境はUbuntu 16.04 LTS x86_64です。 ということを知らなかったので、Debian/Ubuntuでの自動アップデートについて改めて調べてみました。 動作を確認した環境は、Ubuntu Server 12.04 LTS x…
iTerm2でSolarizedの配色を使う場合、以下の記事が参考になります。 のびーの食っちゃね~だらだらな日々。食っちゃ寝生活してても意外と平気だったりする。 : ターミナル (iTerm2) な Vim を Solarized カラースキーマで! ターミナルをiTerm2に換えた: 黄…
Python製のWebアプリケーションの自動受け入れテストをしたくて、調べてみました。 Ruby界隈だと、最近ではCucumberに代わってTurnipというツールが流行っているみたいなので試してみました。 (c) .foto project 自動受け入れテスト用のライブラリ Rubyで自…
2016-12-09追記 「Pythonクローリング&スクレイピング」という本を書きました! Pythonクローリング&スクレイピング -データ収集・解析のための実践開発ガイド-作者: 加藤耕太出版社/メーカー: 技術評論社発売日: 2016/12/16メディア: 大型本この商品を含む…
【2014年6月3日追記】この後、ビルド時にデフォルトで環境変数を参照できるようになったため、現在この問題は発生しません。 user-env-compileも廃止されました。 See: App environment available in all builds | Heroku Dev Center はじめに Heroku では、…
2013年が終わるので、振り返っておきます。今年は以下の点が良かったです。 サービスの開発を継続できた 継続的デリバリを実践できた ブログ記事の執筆、翻訳ができた 良かったこと1:サービスの開発を継続できた 以前から趣味でWebサービスを作ったりしてい…
はじめに 以前から自分のブログに書いたソースコードが読みにくいと感じていました。他所のソースコードが読みやすいブログを眺めていたところ、 Solarized という有名な配色があることを知りました。 良さげだったので、このブログのソースコードの配色をSo…
はじめに Fluentd + Elasticsearch + Kibanaが良いという話をよく聞くので、Chef Soloでサクッと環境を作ってみようと思ったら意外と苦戦したので記録を残しておきます。 結論 Kibana 3を簡単にセットアップできるChefリポジトリを作成しました。 https://gi…
はじめに JenkinsでJVM上で動かない言語(PythonやRubyなど*1)を使っていると、ジョブごとに環境が分離されていないことが問題になる場合があります。 Pythonにおける virtualenv やRubyにおける Bundler を使えば、ジョブごとに利用するライブラリを分離す…
はじめに Djangoでメモリに乗らないサイズのデータベースを扱うときに、気をつけるべきポイントをまとめます。メモリを大量に消費していつまで経っても処理が終わらなかったり、OOM Killerに殺されたりといった悲しい結末を回避できたら幸いです。 データ量…
はじめに 全文検索エンジン Groonga を使っていると、トークナイザによる検索結果の違いを比較したくなる時があります。 しかし、検索時に利用するインデックスを明示的に指定する方法は、現時点ではドキュメント化されていないようです。 4.7.2. インデック…
はじめに Chefを使っていてOpscode Community Cookbookに不満がある場合、フォークするのではなくオーバーライドすべきだと言われています。 ChefのCookbookのベストプラクティス | Ryuzee.com ChefConf 2013: Beginner Chef Antipatterns しかし、オーバー…
2016-01-14追記: 日本語版は随分前に本家にマージされたので、記事中のURLも変更しました。 The Twelve-Factor App はHerokuの中の人 Adam Wiggins氏によって書かれた、モダンでスケーラブルかつ継続的デプロイ可能なWebアプリケーションを構築するための方…
はじめに インターネット越しにサーバー間で通信する際、通信内容を暗号化する方法としてSSHのトンネル(ポートフォワーディング)があります。autossh を使うと簡単にSSHトンネルを作れますが、サーバー間で 常時使う トンネルを作るための設定作業は意外と…
2013年6月7日 22:04更新: Upstartのデフォルトの設定ファイルを書き換えない方法に変更しました。hitoさんありがとうございます。 lxcなどのバージョンを記載しました。 はじめに Chefを使っていると、役割やサービスごとに環境を分離したくなります。 しか…
はじめに 金融機関の口座集約アプリの危険性について - プログラマになりたい という記事が話題になっていたので、日頃からアカウント・アグリゲーション系のサービスについて考えていることをまとめておきます。 アカウント・アグリゲーション・サービスの…
はじめに Djangoを使ったアプリケーションで、2つのバッチ処理用プロセスA、Bを同時に立ち上げたときに、Aのトランザクションでsave & commitした値をBでは読み取れないという問題に直面しました。 問題の箇所のソースコードはこのような感じです。 実行順 …
はじめに まずはデモを見てくれ!デスクトップPCなどの大きい画面で見るのがおすすめです。 デモ(中) デモ(大) Windows 8風のフラットなデザインで、いろいろ動いていてかっこいいですね。こんな感じのダッシュボードを簡単に作れるライブラリがDashing…
はじめに Ruby製のデプロイツールであるCapistranoを使ってみました。いろいろなレシピを眺めていると、sudoの書き方が次のようにいろいろあって違いがわからなかったので、調べてみました。 sudo "hoge" # (1) sudoアクション run "sudo hoge" # (2) 文字列…
2016-01-14追記: BaraagはEvernoteアプリの仕様変更により動かなくなっています。Markdownでメモをとるのにリアルタイムプレビューは重要でないことに気づき、筆者も使わなくなっているので、メンテナンスする予定もありません。ごめんなさい。 今まではてな…
はじめに Jenkinsのビルド結果をSkypeのグループチャットに通知したいことがあります。Skype プラグインはあるのですが、ググるとインストールが大変でうまく動かないという声がチラホラありました。とりあえずプラグインだけをインストールして設定を見てみ…
はじめに フューチャーホームコントローラー(FHC)には音声合成の機能があり、WebAPIで喋らせることができます。そこで、Jenkinsのビルド結果をわかりやすく知らせるXFD (eXtreme Feedback Device) として使ってみます。 ※吹出しはイメージです。本当は別に…
はじめに Visual Studioでのビルド後に、ちょっとバイナリをZIPで固めたいと思っても簡単にはできません。Visual Studioでのビルドに限らず、Windowsで作業を自動化しようとすると、Linuxならzipコマンド一発でできることが、簡単にできなくて困ることがよく…
はじめに フューチャーホームコントローラー(Future Home Controller: FHC)は、以前の記事で書いたように、家電を音声でコントロールできるようにする未来感あふれるガジェットです。ただちょっと困っているのが、音声をうまく認識してくれないことがある…
はじめに 開発についてのミーティングをSkypeのチャットで行っていると、このチャットに外部からメッセージ送りたくなります。例えばJenkinsからの通知とか、アラートの受信とか。技術的にできることは知っているのですが、非GUIのサーバー環境で動かそうと…
フューチャーホームコントローラー(Future Home Controller: FHC)は、家電を音声で操作できるようになる未来感あふれるガジェットです。先日届いたので、いろいろ楽しんでます。FHCを使うとこんなことができます。 私「ねぇジュイス、ただいま。」 ジュイ…
WordPressのようにPHPなどでできたWebサイトの振る舞いを自動でテストしたいと思い、仕組みを作ることにしました。きっかけは、設定が間違ってて、トップページは正常に表示されているにも関わらず、個別のエントリページではエラーになってることがあったた…