アルパカDiary Pro

はてなブログProではありません

AmazonElastiCache Redisがデター!デター!

ElactiCache Redisがデテター!デテター! 【AWS発表】 Amazon ElastiCacheでRedisを利用可能に! http://aws.typepad.com/aws_japan/2013/09/amazon-elasticache-now-with-a-dash-of-redis.html 社内Redisおじさんとしては触ってみるしかないであろう、 とい…

CloudFormationでAutoScale管理すると便利+α

AWS

巨大なJSONファイルをメンテするのが嫌で今までCloudFomationを避けていたのですが、 とある要件があり先日からがっつりCloudFormationを触り始めています。 実際使ってみて、特にAutoScaleを管理するのがだいぶ楽ちんだなーとおもったので その辺りをメモが…

Packer+chef-soloでAWSのAMI構築を試してみた

最近、DevOpsというキーワードと共にPackerというツールの話がちらほら耳に入るようになりました。 Packerとは何ぞや?という話もあると思いますが、 すでに多くのブログで言及されているので詳しくはそちらをご参照いただくのが良いかと。 Packerでさまざま…

Redmineであしあと機能を実現するプラグイン書いた

書きました。 https://github.com/toritori0318/redmine_ashiato 概要 最近見たチケット/Wiki/メッセージなどを履歴として残し、参照できるようにします。 仕様 以下のアクションを行うと、あしあとに登録されます チケット詳細表示 フォーラムメッセージ表…

Redmineのプロジェクト毎にロゴやcss変える方法

久しぶりのRedmineネタ。 今回は「サーバにログインしてあーだこーだ」せず、 カスタマイズ無しでWeb上から プロジェクト毎にロゴやcss変える方法を書いてみます。*1 事前準備:Wiki Extentionプラグインインストール 事前準備として、Wiki Extentionプラグ…

アイコン変えた話

アイコン変えました。 これ、じつはハンコなのです。 邪悪なハンコ屋 しにものぐるい とある日、奥さんがこんなサイト見つけてきました。 邪悪なハンコ屋しにものぐるい 奥様「あ、ここアルパカのハンコあるよ。これ名刺にペタペタすればいいんじゃない?」 …

アルパカchef日記3日目 data bagについて / またはユーザ管理クックブックなど

2日目の続き。 コンセプトはこちらをご参照下さい。 3日目の目標 ユーザ管理(data bag) ユーザ作成 bash_profile管理 sudo ここの段階で ec2-userのsudo権限を剥奪し、新ユーザにsudo権限を付与 security_limit 3日目を始める前に:data bag ユーザ情報な…

rpm dbが壊れたときは

Chefからyum update走らせてたら以下のようなエラーが発生するようになってた。 _rpm.error: rpmdb open failed 以下のコマンドでローカルキャッシュを作りなおしたら復旧した。 sudo yum clean all sudo rm -f /var/lib/rpm/__db* sudo rpm --rebuilddb

アルパカChef日記番外編 VimでChefクックブックを編集する時に便利かもしれないプラグイン

今回は少し趣向を変えて、Vimのお話。 自分はビマーなので、ChefのクックブックをいじるのにもVimです。 そこでVimでクックブックを書く時に便利(?) かもしれないプラグインやScriptを紹介してみます。 chef.vim http://www.vim.org/scripts/script.php?s…

SQLAlchemyでデータベースの master / slave 参照切り替えを行う

SQLAlchemyで 「更新はMasterDB」 「参照はSlaveDB」 ということを実現したかったので調査メモを残しておく。 カスタマイズSessionクラスを作ってその中でMaster/Slave判定すれば良いようだ。 サンプルアプリケーション Flask使ってみる。 config.py # Maste…

Provisioning Frameworks Casual Talks vol.1 に参加しました

※2013/5/12 先着順受付についての記述追記 最近弊社のプロジェクトでもchefを少しずつ導入してることもあり、 先人の知恵を拝借すべく参加いたしました。 新卒研修でserverspecとChefを使った話(@fujiwaraさん) http://dl.dropboxusercontent.com/u/224433/p…

アルパカchef日記2日目 OS周りのクックブックなど

1日目の続き。 コンセプトはこちらをご参照下さい。 2日目…の前に補足など バージョンや構成についてのメモ。 chef 11.4.0 knife solo 0.3.0-pre4 ディレクトリ構成 基本的には knife solo init で作られたものです。 ▾ / ▸ cookbooks/ # Berkfileで管理す…

GW中にTwitterのアカウント名にパワーゲージを設定するアプリ作った

http://dry-dawn-2991.herokuapp.com どういうものか TwitterのOAuth完了後、パワーを選択して更新すると 自分のTwitterプロフィールの後ろにパワーゲージが設定されます。 何度でも更新可能。 クリアも可能。 500 エラーは出るものと心得よ 原因1 あなたの…

アルパカchef日記 1日目

1日目:chefを使うための前準備 今回はchefを使える状態になるまでの前準備とします。 chef自体の説明ですが 「chefとは何か?」「chef-serverとchef-soloの違いは?」 といった説明は省略します。 また chef-solo / knife-soloを使うための環境準備につい…

アルパカchef日記 0日目

0日目:概要 日々、chefと戯れる様子を淡々と綴ってみるよ。 アルパカchef日記のゴール knife soloを用い、EC2の生AMIに対して 以下の作業を一切サーバにログインせずに 全て達成すること を目標にしたいと思います。 ユーザ設定 ミドルウェアのインストー…

Amazon SQSを効率よく処理するための簡単なサンプルコード(perl / python)

Amazon SQSって便利だと思うんですがWeb上の情報って意外と少ないですよね。 実際SQSを使う際に効率よく、かつお金も節約できるような サンプルが欲しかったので書いてみました。 ワーカーで効率よく処理するため2つのポイント この2つを気にするだけでだ…

python-memcachedでunix domain socket接続する

hostを指定する所でそのままunixドメインソケット指定すればよい。 import memcache mc = memcache.Client(['unix:/tmp/memcached.sock']) mc.set('foo', 'bar') print mc.get('foo')

SQLAlchemy+MySQLでマルチバイト扱ったら文字化けた時の対応

マルチバイト扱ってたら以下のようなエラーが発生。 Failed to update model. 'latin-1' codec can't encode character u'\u3042' in position 15: 接続するときのコードはこんな感じ。 DBもクライアントもutf8指定してるのになーって感じ。 DSN = 'mysql://…

python httpクライアントのベンチマーク

http叩きまくるアプリ書いてるのでベンチ取ってみた。 requests遅いように見えるけど、 そこまで気にする差ではないとおもう。

curl/httpie 比較チートシート

CLIでJSONの整形をする http://yuroyoro.hatenablog.com/entry/2013/04/02/190709 httpie インストールが必要になってしまいますが httpのレスポンスを整形したいだけであればhttpieも便利です。 https://github.com/jkbr/httpie pip install httpiejsonコン…

python - HTTPrettyでhttp通信を奪う

Mockモジュールでもいいっちゃいいんだけど 偶然見つけたので試してみた。 HTTPretty https://github.com/gabrielfalcao/HTTPretty GETを奪う HTTPretty.register_uriで奪いたいURLと期待するレスポンスを書くだけでOK。 # encoding:utf-8 import unittest f…

今月はすこぶる調子が良い

先月くらいまであんまり調子でなくてモチベも上がらなくてうへ〜(^q^) って感じだったのですが今月入ってからはだいぶ良い感じです。 効果の程はわからないですが 調子が上がってきていたときに何をしていたか(心がけていたか)を振り返ってみる。*1 軽く体…

もっと気軽に質問したり相談したらいいのに

※9割くらい自戒 ※若干酔ってる なんというか、みんな「忙しそうだし…」とか「下らない質問だけど…」みたいに 遠慮しすぎてあんま人に聞いたりしない気がするんだけど もっとがんがんくだらない事を聞いたりしたらいいのになーと思う。 たしかに「教えて君」…

DS61で家のPC新調したよ〜

嫁のメインPCである自宅Windowsマッシーンが最近調子悪いよ〜、とのこと。 よくよく調べてみると調子悪いのはディスプレイだけな気もするんですが 前回自作してから既に5年以上経過してるのもあり いい機会だしそろそろ買い換えるかー とデスクトップマッシ…

IRCサーバを立てて色々連携してみたメモ

IRC

やっとこさ今の現場に znc / irc / ikachan という環境を構築し、 テンションが上がって勢いで作業したことをメモってみます。 正月休みにのんびりコーディングしてました。 やったこと一覧 fluentdでnginxのエラーログを監視してikachanに投げる nagiosから…

socket.ioのxhr-pollingがボトルネックになっていたのはhttp-proxyの設定が関連していた!!!

こちらの続き。 そもそもなぜxhr-pollingのベンチをとりたくなったのか スマートフォン向けのアプリだったのですが、実際にリリースしてみた結果 socket.ioのtransportでxhr-pollingが予想より多く発生していて、 さらにxhr-pollingによるレスポンス遅延がみ…

socket.ioでxhr-pollingのコネクションが詰まる件(解決

※2012/01/09 追記 続きもあるよ あらすじ 先月晴れてsocket.ioクラスタがデビュー。 しかし想定していたよりxhr-polling接続が多くてフガフガな状況に。 こりゃxhr-pollingの性能評価もしとくべきだったなーと思いを馳せるアルパカ。 そこでsocket.io-client…

写真や動画をAmazon Glacierに置くようにしてみた

Amazon Glacierは低コストでデータおけるクラウドストレージです。月額およそ1G/1円。 http://aws.typepad.com/aws_japan/2012/08/amazon-glacier-archival-storage-for-one-penny-per-gb-per-month.html ずっと残しておきたいもの(子供の写真とか動画とか…

2012年のアルパカ

振り返ってみようではないか。 業務 1−3月 バスキュールに転職。 Perlでスマホ向けニュースサイト作ってた。 4月−8月 リアルタイム的な何かの調査/開発など。 socket.ioとだいぶ格闘した。 9月ー12月 案件Joinして「ウリィィィィ!!!!」ってなっ…

expressやsocket.ioのテストはこんな感じで書いてます、というお話

最近仕事ではNode.jsしか書いてないtoritoriです。 お仕事でもexpressやsocket.ioを使っているのですが WebアプリケーションのテストについてWeb上にあまり書かれていないような気がします。 特にソケット接続した後のメッセージ送信/受信の部分です。 今ま…