サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Switch 2
blog.digital-squad.net
Amazon SESのBounce SNS通知をRailsで処理する Amazon SESのBounceをHTTPで受け取って処理するための設定。 ■Amazon SESでの設定 Amazon SESのコンソールにログイン 左メニューのEnail Addressesを選択し、Verified Sendeのメールアドレス一覧からBounce SNS通知を設定したいメールアドレスの横にある虫メガネアイコンをクリック Feedback → Edit Configurationを選択すると以下のダイアログが開く。 通知にはAmazon SNSのTopicが必要なので、新規作成sの場合は「Click here to create a new Amazon SNS topic.」でTopic Nameを入力して作成、すでにある場合はSNS ConfigurationのプルダウンからBounces、Co
Railsのマイグレーションファイルを既存のスキーマ、データベースを元に作成 開発中に増えすぎたマイグレーションを削除して、既存のスキーマあるいはデータベースから全てのテーブルを作成するクリーンなマイグレーションを作成する手順。 ■スキーマをデータベースに反映 schema.rbを正とする場合はschema.rbの内容をデータベースに反映しておく。 既存のデータベースを正としたい場合は行ってはいけない。rake db:schema:load ■既存のデータベースからスキーマファイルを生成 schema.rbの内容に関わらず、現在の開発用データベースのスキーマがschema.rbとして保存される。rake db:schema:dump ■マイグレーションファイルの作成 作成されたschema.rbの内容をマイグレーションファイルとして保存し、マイグレーションする。rails g migrat
Vagrant + CoreOSでDockerを動かす ■Virtualbox、Vagrant 事前にインストールしておく ■Vagrantリポジトリをクローン CoreOSのリポジトリからをVagrantで利用するためのVagrantfileをクローンしてくるgit clone https://github.com/coreos/coreos-vagrant.git cd coreos-vagrant ■VMのパラメータ設定 user-data.sampleを編集してファイル名をuser-dataにリネーム ■Vagrantの環境設定 confing.rb.sampleを編集してファイル名をconfig.fbにリネーム ■Vagrantの起動vagrant up ■共有フォルダの設定 Dockerfileを使いたいので共有フォルダを設定する。1つめの引数がローカルマシンのパス、2つめがC
RailsのActionMailerからAmazon SESのSMTPでメールを送信する Amazon SESはサインアップ済みでProduction AccessまたはVerified Sendersがあるものとする。 ■SMTP送信用の認証情報を作成 Amazon SESのコンソールにログイン 左メニューの「SMTP Settings」→ 「Create My SMTP Credentials」から表示されたダイアログにIAM User Nameを設定して表示されたSmtp Username,Smtp Passwordをメモする。 ActionMailer::Base.smtp_settings = { :address => 'email-smtp.us-west-2.amazonaws.com', :port => 587, :domain => 'yourdomain.com',
update_attribute、update_attributes、update_attributes!の違い たupdate_attribute、update_attributes、update_attributes! はバリデーションやマスアサインメントによっては結構違いが出てしまうのでちょっとまとめた。 class User < ActiveRecord::Base validates_length_of :first_name, :maximum => 5 end @user = User.find(1) => <User id: 1, first_name : "Bob"> update_attribute バリデーションは行わない一括更新ではないのでattr_protected、attr_accessibleは無効@user.update_attribute(:first_n
期限切れのプロビジョニングプロファイルの更新手順 iOS Developer Programの更新を忘れていたために期限切れになってしまった場合のプロビジョニングプロファイルの更新手順 ちなみに、プロビジョニングプロファイルは実機へのインストールや配布用アプリのビルド時に必要なものであるので、iOS Developer Programが有効であればアプリがApp Storeから削除されるようなことはない。 ■iOS Developer Programの更新 Apple Developerに行き、Member CenterでYour Accountタブを選択。Developer Programsの一覧のiOS Developer Programを更新する。手順に従っていけばよいので、特に難しくはない。 昔はアクティベーションコードがメールで送られて来ていたが、送られて来ないので電話で問い合わ
Error: Cannot retrieve repository metadata (repomd.xml) for repository: elff. Please verify its path and try again CentOS 5.5でyum update しようとしたら以下のエラーが出力されてできない。http://download.elff.bravenet.com/5/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404: Not Found Trying other mirror. Error: Cannot retrieve repository metadata (repomd.xml) for repository: elff. Please verify its path and try again 要は
グローバルな.gitignore を設定して、すべてのgitリポジトリで無視するファイルを設定する Macで開発していると.Ds_Storeなど、どのリポジトリでも無視したいファイルをいちいちプロジェクトごとに.gitignoreで設定するのが面倒な場合に、すべてのリポジトリに適用される.gitignoreを作成しておくと便利。 ■~/.gitignoreを作成・編集echo .DS_Store >> ~/.gitignore ■gitに~/.gitignoreをグローバルに使うよう設定git config --global core.excludesfile ~/.gitignore これで~/.gitignoreで指定したファイルがすべてのgitリポジトリで無視される。 すでにバージョン管理の対象になっているものを削除する場合 参考:ignore .DS_Store forever i
MacでAndroid実機にアプリを転送するための準備 ちなみに、iOSのように有料の開発者登録をしなくても実機にアプリはインストール可能。 ■実機の準備 「設定」 → 「アプリケーション」 「提供元不明のアプリ」をチェック 「開発」 → 「USB」デバッグをチェック ■adbのパスを通す ターミナルから~/.bash_profileに export PATH=$PATH:/Android SDKまでのパス/platform-toolsを追加 変更を反映source ~/.bash_profileパスが通ったか確認echo $PATH 追加したパスが表示されればOK ■adbでデバイスが認識されているか確認 ターミナルでplatform-toolsディレクトリに移動android update adb adb devices 1234567890 device と表示されれば認識されている
Vagrantで仮想マシンを構築 Vagrantを使うと、VirtualBoxに簡単に仮想マシンを構築することができるようになり、ステージングサーバーを構築するのに便利、だと思う。 ■VirtualBoxの準備 https://www.virtualbox.org/wiki/Downloads からダウンロードしてインストールしておく ■Vagrantのインストールgem install vagrantあるいはbundlerでgem 'vagrant'bundle install ※普通にやると、0.5.4と古いバージョンがインストールされてしまった。 vagrantのバージョンが古いとVirtualBoxを認識できず===================================================================== Vagrant experienc
Railsのモデルで~_pathなどのurl_helperを使う Railsのモデルで~_pathを使う場合は、そのままではエラーになる。 class MyModel < ActiveRecord::Base #Rails3の場合 include Rails.application.routes.url_helpers※ #Rails2の場合 include ActionController::UrlWriter end ※Rails3で includeだとArgumentError (Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true):というエラーが出ることがあるので、その場合はincludeせずにRa
Railsアプリをrbenv nginx unicornで運用するためのVPSのセットアップ それぞれのバージョンはCentOS5.5 Rails 3.1.3。 PART1 サーバー設定 ■rootパスワードの変更ssh root@123.456.7.89 パスワード入力してログイン [root@localhost ~]$ sudo passwd Enter new UNIX password 新しいパスワードを入力 Retype new UNIX password 新しいパスワードを入力 ■サーバーの設定 参考:ウェブ開発者のための、1時間でできるLAMP環境構築術(CentOS編) - さくらインターネット創業日記 アップデートsudo yum update -yアップグレードする場合は yum upgrade -y 開発ツールのインストール これをしておくとgccなどのパッケージを個
belongs_toとhas_one の違い Railsのリレーションbelongs_toとhas_oneの違いをよく忘れるので。 基本的には、 参照先名_idのカラムを持つモデルがbelongs_to 参照先モデルがhas_one となる。 Userモデルと、Profileモデルで ■Profileモデルにuser_idがある場合class User < ActiveRecord::Base has_one :profile end class Profile < ActiveRecord::Base belongs_to :user end ■Userモデルにprofile_idがある場合class User < ActiveRecord::Base belongs_to :profile end class Profile < ActiveRecord::Base has_one :
Titanium mobileアプリのGoogle Playストアへの登録方法 Titanium mobileアプリをGoogle Playストアに登録する手順。 ■Keystoreファイルの作成 アプリのデジタル署名となるkeystoreファイルが必要になるので、まずはこれを作成する。 作成はターミナルからkeytoolで行う方法と、Titanium Studioで行う方法がある。 □Titanium Studioで作成する場合 Distribute - Android Marketplaceを選択 Keystore Locationの項目の「New」ボタンをクリック Location:作成する場所 Alias:エイリアス名 アプリ名など Password:パスワード Confirm Password:パスワードを再度入力 Validiti(years):有効期限(年数) Type:暗号
Titanium mobileアプリのiTunes Storeへの申請・登録方法 Titanium mobileで作成したアプリのiTunes Storeへの申請手順。 ■iTunes Connectでアプリの作成 iTunes Connectにログインして、Manage Your Applications → Add New App を選択。 ・言語、アプリ名などの入力 Default Language:後で変更不可。多言語対応するならEnglishを選択。 App Name:アプリ名を入力 SKU Number:任意の文字列でよいが、ドメイン名を逆にしたもの+アプリ名がおすすめ Bundle ID:作成済みの該当するアプリ用のApp ID を選択、未作成ならApp IDsで作成しておく。 ・公開日、価格、配布する国の選択 Availability Date:App Storeでの公開希
Titanium mobileでWebViewのクッキーを取得する Titanium mobileのWebViewのクッキーを取得する方法。 var webView = Ti.UI.createWebView(); win.add(webView); webView.addEventListener('load',function(e){ var cookies = webView.evalJS("document.cookie").split(";"); Ti.API.info( "# of cookies -> " + cookies.length ); for (i = 0; i <= cookies.length - 1; i++) { Ti.API.info( "cookie => " + cookies[i] ); // cookie => _session=aa123456
Rails 3でのdelayed_jobの設定 Rails 3でのdelayed_jobの設定方法。 Rails2の場合 ■インストール ActiveRecordの場合gem 'delayed_job_active_record'Mongidの場合gem 'delayed_job_active_record' ■マイグレーション $ script/rails generate delayed_job:active_record $ rake db:migrate ■delayed_jobで非同期に実行 1:.delayでメソッドを実行 .delayをつけることで、その場合のみ非同期に実行されるuser.activate!(@device) ↓ user.delay.activate!(@device) 2:handle_asynchronouslyをメソッドに定義 常に非同期に実行される。
Lionのrvmで[BUG] Bus Errorなどが出る場合の対策 Lionでrvmをインストールし、ruby 1.8.6 に Rails 2.2.2をインストールしようとしたらエラーが出た場合の対処法。 gem install rails -v 2.2.2 /usr/local/rvm/rubies/ruby-1.8.6-p420/lib/ruby/1.8/timeout.rb:59: [BUG] Bus Error ruby 1.8.6 (2010-09-02) [i686-darwin11.2.0]となってしまう。 ググると、1.8.7などでなっている人もいるようだ。 どうやらGCCのスタンドアロンコンパイラが必要とのことらしい。 ・Xcode 4.2をインストール ・GCCインストーラからGCC-10.7.pkgをダウンロードしてインストール。 ・~/.bash_profileに
Railsでのdelayed_jobの設定 Railsでのdelayde_jobの設定メモ Railsでdelayed_jobを利用する場合の手順メモ。Railsのバージョンは2.2.2。 Rails2系でのdelayed_jobはrubygemsの依存関係を見ると2.3以上は2.0.7、それ以下は2.0.6となっているが、Rails 2.2.2で2.0.6はscript/generate delayed_job Couldn't find 'delayed_job' generatorとなってgeneratorが作れないので、2.0.4を使用した。 ちなみに、delayed_jobのオリジナルはhttps://github.com/tobi/delayed_jobらしいが、メンテされていて高機能な https://github.com/collectiveidea/delayed_job
Facebook APIでウォールに投稿/書き込む Facebook Graph APIを使ってRailsでfacebookページウォールに投稿する時の手順と知っておきたい注意点のまとめ。 気づいた点や間違いなどは、加筆修正予定。 ■Facebookアプリを作成 Graph APIを利用するには、まずfacebookアプリが必要なので作成する。 作成したらApp ID/API Key、App Secretをメモしておく。 ちなみに、Facebookeの商標やFacebook製のアプリと混同するアプリ名は不可。 ■Facebookアプリのアクセストークン App ID、App Secretを取得したら、アプリのアクセストークンを取得する。access_token = open("https://graph.facebook.com/oauth/access_token?client_id=A
MX-Rのチャタリング対策 LogicoolのMX-Revolutionが頻繁にチャタリング(シングルクリックがダブルクリックになる)するようになった。 ググってみたところ、主に解決策は以下の通りだった。 □スイッチを交換する 分解して、スイッチそのものを交換する。 スイッチをはずすのにハンダ吸い取りとハンダづけが必要になる。 □コンデンサを取り付ける 分解して、コンデンサを取り付けることで抑止(?)する 取り付けるコンデンサによってはダブルクリックがしにくくなるらしい。 チャタリングが再発した例も。 あと上手く取り付けないとカバーが閉められなくなる。 □マウスチャタリングキャンセラを使う。 ソフトでチャタリングをキャンセルする。 Windowsのみ。 検討した結果、スイッチ交換に挑戦した。 ■事前の準備 1:代替品のスイッチを通販で購入 元々ついているD2FC-F-7Nという型番は一般に
RailsプラグインGeokitで位置情報アプリ RailsのプラグインGeokitを使って、位置情報アプリを開発する覚え書き。 ■条件 DBは MySQL (5.0.41にて動作確認) PostgreSQL (8.2.6にて動作確認) Microsoft SQL Server (2000にて動作確認) で動作する。 SQLiteでは動作しない。 ■Geokitのインストールruby script/plugin install git://github.com/andre/geokit-rails.git /config/environment.rbを編集Rails::Initializer.run do |config| ... config.gem "geokit" ... endrake gems:install ■位置情報の使い方 対象モデルにacts_as_mappableを追加
gemインストール時の--no-ri --no-rdoc のデフォルト化とインストール済みのri RDocの削除 gemのインストール時に--no-ri --no-rdoc を付け忘れるとインストールに時間もかかるし、容量も食われるので、これをデフォルトにする。 ■--no-ri no-rdoc のデフォルト化 RubyGemsでgemのインストール時に--no-ri --no-rdocをデフォルトにする - アインシュタインの電話番号☎を参考に ユーザーホームの ~/.gemrcをに以下を追記 gem: --no-ri --no-rdocこれで、--no-ri --no-rdoc がデフォルトで適用される ■ri RDocの削除 doc ディレクトリを削除する。 rm -r Gemのディレクトリ/doc ・rvmの場合 ~/.rvm/gems/ruby-1.X.X-XX/doc ・Mac
warning: already initialized constant WFKV_ エラー対策 Rails 3.1.1で/Users/user/.rvm/gems/ruby-1.9.2-p290@rails311/gems/rack-1.3.4/lib/rack/backports/uri/common_192.rb:53: warning: already initialized constant WFKV_というエラーが出た場合の対策 Rack 1.3.4が原因らしいのでGemfileでgem 'rack' , '1.3.3'としてbundle update タグ:Rails Rails3.1 Tweet posted by digital-squad at 2011年10月14日 22時47分 | Comment(0) | TrackBack(0) | Ruby on Rails
Rails 3.1.1へのアップデート Rails 3.1から3.1.1へアップデートする場合のメモ。 参考:Read This Before Installing Rails 3.1 rvmの使用を原則とし、最新のrubyにgemsetを作成してインストールする形でアップデートした。 ■rvmのアップデート 必須ではないが、可能であれば一応rvmをアップデートしておく。rvm get latest rvm reload rvm -v ■rubyのアップデート アップデートがうまくいかない場合を想定して、現在のrvmの環境をチェックしてrubyのパッチレベルも調べておく。rvm info => ruby: interpreter: "ruby" version: "1.9.2p180" .rvmrcでrubyのバージョン指定がrvm useruby 1.9.2@~みたいになっている場合はパ
Mac版Chromeが起動後すぐに落ちる、クラッシュする場合の解決法 Mac版ChromeがLeopardからSnow Leopardにアップグレードしても治らないので、やけくそになって色々試してみたら治ったのでメモ。 アプリケーションフォルダに移動 Google Chromeを右クリック して「パッケージの内容を表示」を選択 「Contents」フォルダのInfo.plistを削除か移動してChromeを起動。 するとどうでしょう、何回再インストールしても起動しなかったChromeがなんともなく起動するではありませんか。 正常に起動できたらInfo.plistを元に戻します。 タグ:CHROME ブラウザ Tweet posted by digital-squad at 2011年05月20日 20時55分 | Comment(0) | TrackBack(0) | ブラウザ この記事へ
Titanium mobile SDKのバージョンアップ ■SDKのバージョンアップ Titanium Studioメニュー → Help → Check for Titaniunm SDK Updates ■ビルドのパスを変更 プロジェクトを選択 Titanium Studio のメニューから Project → Properties → Project Build Pathを選択 ビルドしたいSDKをチェック これで完了 ■ビルドのバージョンが変わらないときは Titanium Studioメニュー → Search → "MOBILE_PROJECT_SDK_VERSION を Enclosing Projectで検索 プロジェクトルート/.settings/titanium.mobile.prefsの MOBILE_PROJECT_SDK_VERSION=X.X.Xがビルドしたいバ
jQuery MobileでフォームのAjaxを無効にする。 jQuery Mobileで開発しているときに、フォームをPOSTするとデフォルトではAjaxで遷移してしまうのでこれを無効化する方法。 c■全体的に無効化 javascriptの読み込みを jquery → 無効化するためのjs → jquery mobile の順番で記述。 <script type="text/javascript" src="http://code.jquery.com/jquery-1.6b1.js"></script> <script type="text/javascript"> $(document).bind("mobileinit", function(){ $.mobile.ajaxFormsEnabled = false; }); </script> <script type="text/
Titanium Mobileの国際化・多言語対応 Titanium Mobileを国際化・多言語対応して環境ごとにメッセージを変更したり、文字列を置き換えなどする場合のメモ。 ■strings.xmlの作成 アプリフォルダ直下にi18nフォルダを追加 enフォルダ、jaフォルダを追加し、それぞれにstrings.xmlを追加 en/strings.xml<?xml version="1.0" encoding="UTF-8"?> <resources> <string name="error_msg">Error</string> <string name="replace_str">Your name is %s</string> <string name="some_val">Val1:%s Val2:%s</string> </resources> ja/strings.xml<?
次のページ
このページを最初にブックマークしてみませんか?
『DIGITAL SQUADブログ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く