カテゴリー : 2012年 4月

言語コード(language code)の仕様メモ

言語コードの仕様を確認するためのメモ。

言語コードは英語だと、language code なので、DBのカラム名に使うなら language_code ですかね。ちょっと短くして、lang_cd でもいいかも。

以下、言語コードで参考になりそうなサイトまとめ。

ISO 639 – Wikipedia はてなブックマーク - ISO 639 - Wikipedia

言語コード一覧 | references | CYBER@GARDEN はてなブックマーク - 言語コード一覧 | references | CYBER@GARDEN

Language information and text direction (ja) はてなブックマーク - Language information and text direction (ja)

以上です。

[Ruby on Rails] DBのカラムのデフォルト値を変更する方法

Ruby on Rails 3.2.3 にて、DBのカラムのデフォルト値を変更したのでメモ。

change_column_default(table_name, column_name, default)
Sets a new default value for a column.
 
Examples
change_column_default(:suppliers, :qualification, 'new')
change_column_default(:accounts, :authorized, 1)
change_column_default(:users, :email, nil)

・引用元:ActiveRecord::ConnectionAdapters::SchemaStatements はてなブックマーク - ActiveRecord::ConnectionAdapters::SchemaStatements

例えば、articles テーブルの title カラムの定義が「String型、NULL制約:有、デフォルト値:空文字」となっているのを、「String型、NULL制約:無、デフォルト値:NULL」に変更したい場合、マイグレーションファイルは下記のように書きます。

class ChangeTitleNullToArticles < ActiveRecord::Migration
  def up
    change_column :articles, :title, :string, null: true
    change_column_default :articles, :title, nil
  end
 
  def down
    change_column :articles, :title, :string, null: false
    change_column_default :articles, :title, ""
  end
end

以上です。

FacebookアプリをFacebookページのタブに設置する方法

FacebookアプリをFacebookページのタブに設置する方法を調べたのでメモ。

https://www.facebook.com/dialog/pagetab?app_id=YOUR_APP_ID&display=popup&next=YOUR_URL

・YOUR_APP_ID: タブとして追加したいアプリのAPP ID
・YOUR_URL: タブとして追加したいアプリが設置してあるルートURL(セキュアなURLの方がベター)

URLの太字になっている、「YOUR_APP_ID」、「YOUR_URL」の所を上記のように変更してリンク先を開きます。
すると以下のように「どのFacebookページに追加しますか?」というダイアログが表示されるかと思います。 

・引用元:Facebookアプリページが削除、タブの導入方法が変更へ | FBN Future box news | Facebook、Android、 iPhone WEBのこれからを伝えるメディア はてなブックマーク - Facebookアプリページが削除、タブの導入方法が変更へ | FBN Future box news | Facebook、Android、 iPhone WEBのこれからを伝えるメディア

Add PageTab at Facebook Page はてなブックマーク - Add PageTab at Facebook Page

FacebookページにIFrameタブを追加するツール: 小粋空間 はてなブックマーク - FacebookページにIFrameタブを追加するツール: 小粋空間

FacebookページへのIFrameタブ追加方法が変更: 小粋空間 はてなブックマーク - FacebookページへのIFrameタブ追加方法が変更: 小粋空間

もちろん、Facebook Developerの公式ドキュメントにも載ってます。

■ Direct URL Example

You can also bring up the Add to Page Dialog by explicitly directing the user to the /dialog/pagetab endpoint:

https://www.facebook.com/dialog/pagetab?app_id=YOUR_APP_ID&display=popup&next=YOUR_URL

■ Properties

・app_id
Your application’s identifier. Required, but automatically specified by most SDKs.

・redirect_uri
The URL to redirect to after the user clicks the Add Page Tab or Cancel buttons on the dialog. Required, but automatically specified by most SDKs.

・display
The display mode in which to render the dialog. This is automatically specified by most SDKs.

・引用元:Add Page Tab Dialog – Facebook Developers はてなブックマーク - Add Page Tab Dialog - Facebook Developers

以上です。

[Eclipse] ドットファイル「.」ファイル(.htaccess とか) を表示する設定方法

Eclipse にて、ドットファイル「.」ファイル(.htaccess とか)を表示する設定方法をメモ。

ちなみに、設定したのは Eclipse Indigo です。

■ 設定手順

1. エクスプローラーのタイトル右にある下向き三角▽をクリック

2. 「フィルター」をクリック

3. 「.*リソース」のチェックを外して、OKをクリック

以上です。

【参考】

eclipseで『.』(ドット)から始まるファイル[.htaccess]を表示する – [Eclipse/開発環境 ツール類] ぺんたん info はてなブックマーク - eclipseで『.』(ドット)から始まるファイル[.htaccess]を表示する - [Eclipse/開発環境 ツール類] ぺんたん info

[Python] The Zen of Python

Python の本質的な真実を良く表現している「The Zen of Python」が素敵だったので、ご紹介します。

Python

続きを読む

[Ruby][Rails] 厳選ライブラリ・ツールまとめ by WEB+DB PRESS Vol.67

「WEB+DB PRESS Vol.67」に掲載されている「Ruby わくわくナビ」で紹介されていた「厳選!用途別Ruby/Railsライブラリ・ツール」の一覧をメモ。

「機能の実装」「テスト」「作業の効率化」「運用」をテーマに色々と紹介されていました。

機能の実装編

ユーザ認証

plataformatec/devise はてなブックマーク - plataformatec/devise

NoamB/sorcery はてなブックマーク - NoamB/sorcery

ページネーション処理

amatsuda/kaminari はてなブックマーク - amatsuda/kaminari

パンくずリストの表示

zachinglis/crummy はてなブックマーク - zachinglis/crummy

アクセス権限の一括管理

ryanb/cancan はてなブックマーク - ryanb/cancan

画像のアップロード処理

thoughtbot/paperclip はてなブックマーク - thoughtbot/paperclip

markevans/dragonfly はてなブックマーク - markevans/dragonfly

レコードの削除を「論理削除」にする

radar/paranoia はてなブックマーク - radar/paranoia
 

テスト編

現在時刻に関係するテスト

jtrupiano/timecop はてなブックマーク - jtrupiano/timecop

bebanjo/delorean はてなブックマーク - bebanjo/delorean

メール送信処理のテスト

bmabey/email-spec はてなブックマーク - bmabey/email-spec

More Test!!

guard/guard はてなブックマーク - guard/guard

guard/guard-rspec はてなブックマーク - guard/guard-rspec

Growl はてなブックマーク - Growl
 

開発作業の効率を上げる

モデルの「表示に関する処理」を上手に扱う

amatsuda/active_decorator はてなブックマーク - amatsuda/active_decorator

オブジェクトの中身をきれいに表示する

michaeldv/awesome_print はてなブックマーク - michaeldv/awesome_print

処理途中のオブジェクトの中身を表示する

esminc/tapp はてなブックマーク - esminc/tapp

快適なREPL環境

pry/pry はてなブックマーク - pry/pry

Pry – an IRB alternative and runtime developer console はてなブックマーク - Pry - an IRB alternative and runtime developer console

Rubyistよ、irbを捨ててPryを使おう – TIM Labs はてなブックマーク - Rubyistよ、irbを捨ててPryを使おう - TIM Labs

モデルの属性に列挙型を使う

twinslash/enumerize はてなブックマーク - twinslash/enumerize

Twiwt:Blog / jugyo : enumerize 便利♡ – Enumerated attributes with I18n and ActiveRecord/Mongoid support はてなブックマーク - Twiwt:Blog / jugyo : enumerize 便利♡ - Enumerated attributes with I18n and ActiveRecord/Mongoid support
 

運用する

アプリケーションの設定を上手に管理する

binarylogic/settingslogic はてなブックマーク - binarylogic/settingslogic

アプリケーションのパフォーマンスを把握する

Web Application Performance Management (APM) : New Relic はてなブックマーク - Web Application Performance Management (APM) : New Relic

newrelic/rpm はてなブックマーク - newrelic/rpm

複数のアプリケーションを並行して開発する

Pow: Zero-configuration Rack server for Mac OS X はてなブックマーク - Pow: Zero-configuration Rack server for Mac OS X

rodreegez/powder はてなブックマーク - rodreegez/powder

Pow使うならPowder入れておくだァーッ! – Meltdown Countdown はてなブックマーク - Pow使うならPowder入れておくだァーッ! - Meltdown Countdown
 

以上です。

[Ruby on Rails][SQLite3] SQLException: Cannot add a NOT NULL column with default value NULL

Ruby on Rails にて、Usersテーブルに role カラムを NOT NULL 制約を付けて、追加しようとしたらエラーが発生しました。

■ エラーが発生した migration ファイル

db/migrate/20120415053115_add_role_to_users.rb

class AddRoleToUsers < ActiveRecord::Migration
  def change
    add_column :users, :role, :string, :null => false
  end
end

rake db:migrate すると、エラーが発生しました。

■ エラーメッセージ

$ rake db:migrate
==  AddRoleToUsers: migrating ============================
-- add_column(:users, :role, :string, {:null=>false})
rake aborted!
An error has occurred, this and all later migrations canceled:
 
SQLite3::SQLException: Cannot add a NOT NULL column with default value NULL: ALTER TABLE "users" ADD "role" varchar(255) NOT NULL
 
Tasks: TOP => db:migrate
(See full trace by running task with --trace)

SQLite3 では、NOT NULL制約を付ける場合にはNULL以外のDEFAULTを指定する必要があるみたいです。

DEFAULT を指定しないと NULL が入ってしまうので、そのせいで今回のエラーが発生したみたいです。

NOT NULL制約を付ける場合にはNULL以外のDEFAULTを指定して下さい

・引用元:さぼてん: SQLite でテーブルの変更・カラムの追加をする-ALTER TABLE はてなブックマーク - さぼてん: SQLite でテーブルの変更・カラムの追加をする-ALTER TABLE

なので、下記のようにカラム追加後に change_column で role カラムを NOT NULL に変更すればOKです。

class AddRoleToUsers < ActiveRecord::Migration
  def change
    add_column :users, :role, :string, :null => false
    change_column :users, :role, :string, :null => false
  end
end

また、素直に DEFAULT を指定してあげるのも一つの手です。

class AddRoleToUsers < ActiveRecord::Migration
  def change
    add_column :users, :role, :string, :null => false, :default => ""
  end
end

以上です。

【参考】

ruby on rails – SQLite3::SQLException: Cannot add a NOT NULL column with default value NULL – Stack Overflow はてなブックマーク - ruby on rails - SQLite3::SQLException: Cannot add a NOT NULL column with default value NULL - Stack Overflow

[Coda] HAML/SASS のカラーリング(色付け)設定方法

Coda にて、HAML/SASS のカラーリングを設定したので、その方法をメモ。

まず、下記のサイトからファイルをDLして、解凍後フォルダーの名前を HAML.mode と SASS.mode に変更します。

gf3/haml.mode はてなブックマーク - gf3/haml.mode

brajeshwar/Sass.mode はてなブックマーク - brajeshwar/Sass.mode

その後、/Library/Application Support/Coda/Modes ディレクトリ以下に HAML.mode と SASS.mode を設定します。

以上です。

[Facebook] The New Auth Dialog の設定方法

Facebook App の「The New Auth Dialog」の設定したのでメモ。

設定は、https://developers.facebook.com/apps/[YOUR_APP_ID]/auth にて出来ます。

・詳しくはこちら:Auth Dialog – Facebook Developers はてなブックマーク - Auth Dialog - Facebook Developers

以下のように設定すると、2, 3枚目のような認証ダイアログの対応になります。

以上です。

[Facebook] Notice of Violation: Privacy Policy という警告メールが届いた

昨日、Facebook からアプリへ「Notice of Violation: Privacy Policy」という警告メールが届いてました。

■ 原文(メール)

Hi,

We’ve found the following policy violation with your app and you need to address this issue by Tuesday April 17, 2012 at 5:00pm PST or your app may be subject to enforcement action.

Our policies require that your app has a privacy policy that tells users what user data you are going to use and how you will use, display, share, or transfer that data and you will include your privacy policy URL in the Developer Application (See Platform Policy II.3, http://developers.facebook.com/policy).

It has come to our attention that your app is missing a privacy policy in the permissions dialogue. Please update the privacy policy URL field in the Developer Application at developers.facebook.com/apps/[YOUR_APP_ID]/auth. Also, please review your app to ensure you are also displaying your privacy policy on your web site or within your app.

Thanks,
Platform Policy Team

■ 翻訳(Google翻訳)

こんにちは、

私達はあなたのアプリでは、次のポリシー違反を見つけまして、午後5:00 PSTまたはあなたのアプリケーションで火曜日2012年4月17日で、この問題に対処する必要がありますが強制行動の対象となる可能性があります。

私たちのポリシーはあなたのアプリケーションが使用しようとしているか、ユーザー·データおよび使用する方法をユーザーに通知プライバシーポリシーが提供されている必要があり、表示、共有、またはデータと、開発者のアプリケーションのプライバシーポリシーのURLが含まれている転送(プラットフォームポリシーII.3を参照してください、http://developers.facebook.com/policy)。

それはあなたのアプリケーションが権限の対話にプライバシーポリシーが欠落していることを確認いたしました。 developers.facebook.com/アプリ/ [YOUR_APP_ID] /認証のDeveloperアプリケーションでのプライバシーポリシーのURLフィールドを更新してください。また、あなたもあなたのウェブサイト、あるいは、あなたのアプリケーション内のプライバシーポリシーを表示していることを確認するために、あなたのアプリケーションを確認してください。

ありがとう、
プラットフォーム政策チーム

設定は、https://developers.facebook.com/apps/[YOUR_APP_ID]/auth からできます。

Facebook Developers https://developers.facebook.com/appsはてなブックマーク - Facebook Developers

詳しい設定方法は、Facebook Developers の「Auth Dialog」に書かれています。

Auth Dialog – Facebook Developers はてなブックマーク - Auth Dialog - Facebook Developers

以上です。