サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Wikipedia
semind.github.io
MongoDBではロギングに向いてるRRDライクな固定長サイズのcapped collectionという物が定義できるらしいので試してみた。 Cappedコレクション cappedコレクションを作成してみる。sizeオプションでmaxのデータサイズ, maxオプションで最大のDocument数が指定できるみたい。 下の場合だと1000 byte?, 5 Documentのどちらかの上限に達するまで追加できる感じ。
前回mongodbを触ってみたので、次はmongodbのデータをwebsocket経由で表示できるようにしたいな〜 と思って調べたところnode.js + mongodb + socket.ioで出来そうな気がしたのでnode.js + mongoose をまず試してみた。mongooseはmongodbを扱うためのライブラリでsocket.ioはwebsocket (+未対応ブラウザでのエミュレーション)を実現してくれるライブラリらしい。 まずは、node.js自体動かす環境がないので環境の構築から。ちなみにnode.jsは騒がれた頃に少し触った程度 でjavascriptも全然書いたことなかったり。 node.jsの準備 node.jsのインストールはnvm、ライブラリ群はnpmを使って管理すると楽らしいので、まずはnvmをインストール。 nvmをインストールするとnpmも入るらしい。
rails(3.1)でフォームを作ってる時にヘルパーのlabelメソッドを使ってるとタイトルが英語で出ちゃったり、 エラーが英語で出ちゃったりで日本語にしたいな〜て思った時にとりあえず日本語にする方法 githubから以下のファイルを取ってきてconfig/localesに置く https://github.com/svenfuchs/rails-i18n/blob/master/rails/locale/ja.yml config/application.rbに以下の設定を追加する config/application.rb
恐らくあまり使いたい人はいないかなと思うディレクティブだけど使いたいと思った時に少し詰まったのでメモ。 どんなことが出来るのかというとリクエストを受けた際に ローカルのディレクトリをみる ファイルが存在していればそのままレスポンスを返す ファイルがない場合はupstreamにリクエストを流し見つかった場合はローカルに保存しつつ返す といった事ができる。 nginx wikiに「To be clear proxy_store is not a cache, it’s rather mirror on demand.」とあるように 要はリクエストを受けたファイルのみコピーしてミラーを作るような事ができる。 設定例はこんな感じ。 nginx.conf location /images/ { root /data/www; error_page 404 = @fetch; } location @
そろそろ本腰いれてchef使ってみようかなと思ったのでちょっと試してみる。 ちょうどさくらのVPSを2つ借りてて、bashからzshに移ろうかな〜と思ってたのでこいつをchefでやってみる。 chefは一言でいうとrecipe(設定のルール)を作ってrole(どのcookbookを使うか)をnode(管理対象ホスト)に割り当てるって感じみたい。 クライアントだけで動かすchef-soloと管理用のサーバを用意するchef-serverとがあるみたいだけど、 chef-serverはもっぱら面倒という噂を聞くのでchef-soloを使ってみた。 zshをchefでインストール インストールして雛形を取ってくる。ちなみにrootでやらかしてます。
rails3.1のasset pipelineはapplication.cssやapplication.jsでrequireしているファイルをプリコンパイル時に一つのファイルにまとめてincludeしてしまうけど、場合によっては別々にプリコンパイルして条件によって読み込むものを変えたい(例えばコントローラ別に変えるとか)をするための方法。特に難しくなくてhoge.css.scssとfuga.css.scssを別々にプリコンパイルする場合は以下のようにconfig/environments/production.rbに以下の記述を追加すれば良い。 production.rb
solrとか使っててIndexサイズが肥大化すると再生成して全台にレプリケーションとかする時に solrが全力で転送とかしちゃうものだから、ネットワークとかIOが涙目になる。そうじゃなくても ちょっとscpでログ転送とかしたいけど、サイズ大きいし、ゆるゆる転送したいな〜とか思う事がある。 そんなときにDebianだとshaperdってやつが使えるらしいので他のサーバにscpする時に転送量に制限をかける テストをしてみたメモ。アドレスで絞ったりもできるらしい。同じ要領でsolrマスターからスレーブに転送する時 に節度を保った転送が出来れば良い感じになるんじゃないだろうかという狙い(未確認) 準備 インストール。shaperdの他にiptablesでパケットをキューにつっこむ必要があるみたいなので、 そのためのモジュールも追加。
方針 手元(Ubuntu)で開発して、サーバ(Ubuntu)にデプロイ出来るrails 3.1動作環境を作るのが目標 プロジェクト毎にユーザを作成する (各ライブラリをプロジェクト毎にbundlerで管理、デプロイをするため) 同様の理由でrbenvを使って各ユーザ毎にrubyのバージョンを管理 構成 静的なファイルへのリクエストは直接nginxで返す構成をとります(railsのpublic配下のディレクトリにあるファイル、適宜nginxのconfigに設定を追加する必要あり)。またrails3.1からAsset Pipelineが導入されたため/assets/〜に関するリクエストに関してもnginxで直接返すようにします。加えてnginx <=> unicorn間の接続にはUnix Domain Socketを用います。イメージを図にすると下記のようになります。 unicorn gith
このページを最初にブックマークしてみませんか?
『A Peak Never Ending !』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く