Spark Streaming最初の一歩

はじめに Spark, SQL on Hadoop etc. Advent Calendar 2014 15日目です。 3日目の記事でもSpark Streamingは紹介されていましたが、私のほうではより初心者向けの基本的な内容を記述しておきたいと思います。 Spark Streamingとは リアルタイムログ検索エン…

AngularJSの素晴らしさを整理してみる

久々のブログになります。 3年ほどJavaScriptを利用した開発をしてきましたが、最初はなぜJavaScriptでMVCフレームワークが必要なのかいまいちわからず、いろいろ試行錯誤してきました。 今日はタイトルの通りAngularJSが素敵だなということを書きたいのです…

DBのインデックスメモ

それなりに件数の多いデータをRDBで扱うと問い合わせするカラムにはindexをつけると性能が大幅に向上します。そんなときバッチなどである特定のカラムにwhere句を設定するとき複合インデックスをつけると性能がさらによくなります。 付け方は以下のようなコ…

SilentCloseに対する対応について

概要 WebSocketを利用した場合、長時間接続していると知らない内に接続がきれていることがあります。 詳細はこのあたりが詳しいです。 僕の環境でもSilentCloseに多分なったので事象と対応をまとめておこうと思います。 SilentCloseがおこるとどうなるか Sil…

WebSocket備忘録

社内でWebSocketに関する勉強会をやってきました。今回WebSocket自身を調べ直したことでだいぶ自分の勉強になりました。 普段アプリケーションを書く上であまり気にならないですがプロトコルの中身を知っておくことは重要であまりその辺りを書いている人もい…

初めてのpull request

Githubを利用してpull requestを送ったら受け取ってもらえてとてもうれしかったです。 今後も続けていきたいのでなんでpull requestを送ったのか思いを残しておきます。 どんなpull requestを送ったのか。 em-websocket-clientで利用されているWebSocketのバ…

yeoman+AngularJS+testacularでEnd to endテストする

テスト実行の組み合わせ AngularJSを利用してます。 ドキュメントが豊富で覚えやすく、テストシナリオも実行できるというのがとても気に入っています。 また、開発ツールyeomanというツールも気にいっていて、便利に使っています。 今日はyeomanを利用してテ…

dstatのalias

web-socket-jsのFlash接続について

web-socket-jsとは WebSocketに対応していないブラウザに対してFlashを利用して擬似的に WebSocket接続を行うもの。 socket.ioなどのライブラリはWebSocketに対応していないとFlashやLong Cometに置き換えるがweb-socket-jsは一貫してWebSocketを貫き通す。…

ActiveSupportのHash拡張

active_support/core_ext/hash/ 以下をざっとみてみた。 slice.rb sliceは引数の要素を含むHashを返しslice!はオブジェクトごと書き換える。 extract!は引数のkeyを削除し、戻り値は削除したHash。 irb(main):001:0> require "active_support/core_ext/hash"…

ActiveSupportのRange拡張

active_support/core_ext/range/ 以下をざっとみてみた。 include_with_range.rb Range#include_with_range?(val)はvalがRangeじゃなかったら単純にincludeしてるかを 判断し、Rangeだった場合はレシーバの範囲内に収まっているかどうかを検証する。 irb(mai…

ActiveSupportのArray拡張

active_support/core_ext/array/ 以下をざっとみてみた。 prepend_and_append.rb appendに unshift -> prependにalias張る。 access.rb 要素にアクセスしやすいヘルパーみたいなもの。 Array#forty_two っていつ使うんだろ・・・ irb(main):012:0> require "…

MySQLの対応方法

[rails] uninitialized constant MysqlCompat::MysqlResの対処法 rails2.3.9とかでアプリを動かそうとすると上記のエラーが出てはまったのでメモ。 周りの人たちはだいたいmac 64bit化したことで起きてたようですが、 当方32bit redhat + ruby 1.8.7とかで発…

Notificationsの使い方

FirefoxでNotification を利用できるようになり、(Chromeはデフォルトで実装されてる)今後実装する機会も多くなりそうです。Google先生に聞いてみるとdesktopifyが有名ですが中身を見ると自分で実装した方が早い気がしてます。簡単に以下使い方をメモで残…

Thorで書いたタスクのテストをする方法

Thorでタスクを書くとそのメソッドが普通のRubyのようには呼べません。それでもやっぱりテストは書きたいのでThorのspecをいろいろ見てたらありました。 # encoding: utf-8 require "rubygems" require "thor" require "rspec" require "stringio" class Sam…

extendの使い方

今まではincludeは全てのインスタンスに対して機能を追加したいときに利用して、extendは特定のインスタンスのみに機能を追加したい場合に使うものと思っていたけどextendはクラスメソッドを追加したいときにも使える事がわかったので、メモしておく。 modul…

socket.ioのイベント一覧

昨日からnode.js+socket.ioでチャットアプリを作り出しました。簡単に作れて楽しいのだけどサーバ側のeventで"message"しか受け取れないのかしらと疑問に思ってどうせならついでにsocket.ioのドキュメントをちょっと見てみました。ドキュメントは4/14日時点…

はまったから書いておこう

なんかコードまで追った気がするので書いておこう。rails3ではmysqlと接続するときmysql2というライブラリを使うんだけどmysqlとrailsアプリのサーバが違う場合直IPで指定すると接続のときこける。おぼろげなんだけどコードおったら名前解決できないとだめだ…

jQuery Templateを使ってみた

ちまたで噂のjQuery template apiを使ってみました。Bookmark一覧のソートをサーバからHTMLで返していたのをjsonで返すようにしてjQuery Templateで置き換えるようにしています。実装例大分コードがすっきりしておすすめです!

240 Search, Sort, Paginate with AJAX

Search部分の実装 SortとかAjax周りの実装

235: omniauth part1

実装例omniauth簡単でいいです。 中身見ないとなんも理解できないけど。

250: Authentication from Scratch

試しに実装してみた。ユーザ作成部分 ログイン・ログアウト周り

kaminariでpaginationを実装してみた

結構簡単に実装できました(基本的なとこしか触ってないけど)

MapReduceの次世代について

The Next Generation of Apache Hadoop MapReduce( http://developer.yahoo.com/blogs/hadoop/posts/2011/02/mapreduce-nextgen/ ) の和訳です。自分めもなので結構適当です。 最初に 膨大なデータを利用する際は小さいクラスタを多数利用するよりも少ないけ…

[railscasts] New gem with bundler

概要 これからはbundlerあれば新しいgem作れるよっていうお話。 使い方 bundle gem #{gem_name} でひな形作れるらしい。

Gravatar

概要 RailsアプリからAvatarのイメージをどうやってとってくるかっていうお話。 使い方 helperで定義すればいい。Avatar使ってないから今いち興味わかなかった。

Beanstalkd and Stalker

概要 Railsアプリでバックグラウンドでjobを起動するライブラリ。 使い方 beanstalkdとbeanstalk-client(ruby gem)を用意する必要あり。 後で書く。

cmakeを初めて使った。

MySQL5.5をソースコードからインストールしようと思ったらAutotoolsからCMakeに変わってた。オプションはこのWikiを見るとよい。

rails3でcucumber-rails0.4.0.beta1を使うとちょっと大変だった

Rails(3.0.3)からcucumber-rails(0.4.0.beta1)を使うまでが慣れてなくて大変だったのでメモしておく。 railsプロジェクト作成 $ r new hoge -d mysql ※ r = rails Gemfile編集 group :test do gem 'rspec-rails', '~> 2.2.0' gem 'webrat', '~> 0.7.2' gem '…

[http://wiki.opscode.com/display/chef/Chef+Basics:title=Chef Basics]を訳しました

Chefを使うならどのような機能をもっているか把握するべきです。このページでは機能の概要を説明し、それらの詳細のリンクがついています。 Modeling Your Infrastructure Nodes nodeはChef-clientを実行するhostです。Chefからみたnodeの主な役割は変数と実…