Scala プログラミング勉強メモ (2)

最近購入した「Scalaプログラミング入門」というご本の勉強メモ。 Hello World! おなじみの Hello World! と出力するコード。 println("Hello World!") scala コマンドにファイル名を渡してあげることで、実行することができる。 $ scala HelloWorld.scala H…

Scala プログラミング勉強メモ (1)

最近購入した「Scalaプログラミング入門」というご本の勉強メモ。 Scala のインストール svm というバージョン管理ツールが便利そうだったので使ってみることに。 とりあえず $HOME/bin に置いておくことに。 $ curl "https://raw.github.com/yuroyoro/svm/m…

Google Calendar API の Push Notification 機能を使ってみた

Google Calendar API の Push Notification 機能を使うと、Google カレンダー側の更新をリアルタイムに自分のアプリケーションに反映することができるらしいので試してみました。 Push Notification 機能を使うためには、通知を受け取る URL を Google 側に…

Backboneのテンプレート開発は、Grunt使ってJSTに変換すると捗る

Backbone使うときにちょっと考えないといけないのが、テンプレートをどこに書くかという問題です。 「ToDoアプリを作ってみよう!」的なチュートリアルは、大抵、Underscore.jsのテンプ レートをindex.htmlのなかに書いていくパターンが多いかと思います。 …

Githubの隠し機能、Markdown記法のチートシート表示

もしかしたら常識なのかもしれませんが、Githubのページで「m」と打つとMarkdownのチートシートが表示されることを知った。 Readme.mdをブラウザから編集する時なんかに、たまに使うかも〜

Backboneの拡張、extendEachで複数のオブジェクトをextendする

Backboneを使っていると、あるCollectionの機能を別のCollectionでも使いたかったり、共通化したかったりする場面があります。 そんなときは、以下のようにextendメソッドでsubclassを作ることが多いと思います。 var ParentCollection = Backbone.Collectio…

BackboneでPagination(ページャー機能)を実装

※ 2013-9-11 追記 Backbone.SimplePaginator というプラグインにして Github 上に公開しました。 BackboneでPagination(ページャー機能)の実装をしたいとなると、 backbone.paginatorという多機能なプラグインがあるのですが、多機能故に指定するオプション…

node-serialportを使ってArduinoとシリアル通信

node-serialportを使うと簡単にArduinoとお話ができます。 ただ、Readmeに書いてあるコードをそのまま実行しても、うまく通信できませんでした。 いろいろ試したところ、openイベントが発生してから、実際に通信ができるようになるまでに若干のタイムラグが…

OpenFlow(Trema)の環境構築

OpenFlowとかいう謎の技術に触れてみたくなったので、まずRubyで開発ができるTremaフレームワークからはじめようと思います。 基本的にはGithubのページに書いてある通りにやればインストールできると思うのですが、yumを使う場合には対応するパッケージのイ…

Sublime Text 2でスペースやタブを除く行頭に移動したいとき

Sublime Text 2で、行頭に移動したい時は「control + a」を押せば移動できるのですが、 スペースやタブを除く行頭に移動したい場面も結構あって、そういうときはやっぱり「command + ←」を押す必要があります。 せっかくEmacs風のキーバインドを使ってコーデ…

EC2でNode.js+MongoDB環境を作るまで

EC2でインスタンスを作成してから、Node.js+MongoDBの環境を構築するまでのメモ。 プロンプトが%になっているものはローカル、#はリモートのスーパーユーザ、$はリモートの一般ユーザで実行されたことをあらわす。 // EC2からダウンロードした秘密鍵を.sshデ…

10秒でPassbookクーポンを発行できるサイトを作ってみた

「第一回 プログラマ向けデザイン勉強会 - connpass」に補欠どまりで参加できなかったので、アップされている資料を参考に、Passbookのクーポンを発行できるサイトを作ってみました。 おしゃれ頑張っちゃった感はありますが、これまで作ったサイトのなかでは…

Railsでログローテートをするには

Railsだと、簡単にログファイルのローテーションができます。 logrotateなど別の手段もあるのですが、常弱君には難しかったので、RailsのLogger.new()を使います。笑 config/envronment.rbやconfig/environments下の各環境の設定ファイルに、以下の1行を追加…

複数要素にランダムにクラスを振りたい

var bgColors = ["bg-color-blue", "bg-color-orange", "bg-color-green"]; $('li').each(function() { var i = Math.floor(Math.random() * bgColors.length); $(this).addClass(bgColors[i]); });

Expressでログイン機能を実装してみる

--sessionオプションをつけると、ssessionオブジェクトが有効な状態でプロジェクトが作成されます。 $ express --sessions 既存のプロジェクトでセッション管理が必要になった場合は、app.jsのapp.use(app.router);の直ぐ上くらいに、以下の二行を追加します…

リモートのMongoDBをlocalhostのコンソールでいじりたい

リモートサーバのMongoDBのバージョンが低く、日本語が表示できなかったりしてコンソールが使いづらい。。 でも、バージョン上げるのダルいし。。 というときにsshのポート・フォワード機能とかいうのを使うと、ローカルのコンソールから触れるようになるこ…

Node.jsでPassbookを発行してみる

node-passbookを使うと簡単に、NodeでPassbookを発行できました。 まずは、npmを使ってインストール $ npm install passbook インストールが終わったら、以下のようにPassbookファイルを作成する処理を書きます。 var fs = require('fs') , createTemplate =…