サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
猛暑に注意を
d.hatena.ne.jp/deeeki
2ヶ月遅れくらいで記事書いてます。実行時はRails4.0.0でしたが、4.0系であれば同様の手順でいけると思います。エラーで修正必須か非推奨警告のみかは曖昧だったりします。 Gemfile #gem 'rails', '~> 3.2' gem 'rails', '~> 4.0' gem 'activerecord-session_store' bundle update 実行 セッションの保存にDBを利用している場合は activerecord-session_store gem を追加 Rails rake rails:update bin 以下にrailsなどの実行ファイル config以下は上書きされるので diff して必要な設定を書き戻し config/initializers/filter_parameter_logging.rb 追加 config/initializers
Railsにポリモーフィック関連という機能があります。 Polymorphic Associations - Active Record Associations - Ruby on Rails Guides class Picture < ActiveRecord::Base belongs_to :imageable, polymorphic: true end class Employee < ActiveRecord::Base has_many :pictures, as: :imageable end class Product < ActiveRecord::Base has_many :pictures, as: :imageable end ざっくりいうと、複数の親Modelに属するような子Modelの関連を抽象化してまとめる機能です。詳しくはRails Guidesや以
経緯 1年前の留学時、IT企業の面接を体験してみたかったができなかった そもそもお試しで英語で短期間働く体験ができたら理想的と考えた 今回は2ヶ月の滞在に決め、後半の1ヶ月間を目標にした 現地イベントでLTしたことでできそうな手応えを得た 英語はそこそこでも、特に母国アドバンテージもあるRubyならいけるのではと 会社探し 留学先のバギオではRubyを扱う会社は全く見つからなかった マニラで探すことにした あとから気づいたけどバギオという地域自体がマニラの何分の一かの狭さだった 一般的な求人サイトで引っかかるRuby求人は派遣ばかりだった 現地Rubyコミュニティで求人の投稿が少し見受けられた 加えてGoogle検索して直接サイトが引っかかった数社をピックアップ スキル/経験/希望(1ヶ月のみ/無給でOK)にGitHubリンクをつけてメール作成 使いまわして各社にメール送信 当然お断りもあ
geekcampbaguio.com 経緯 海外欲が高まってたときにJetstarのセールで片道チケットを勢いで取る フィリピンでまだ行ったことのないバギオに短期留学しようと渡航3日前に決める なんとなく「rails baguio」でググってみたらイベントがヒットする イベント2週間前にチケットなくなってたので直接コンタクトする Railsワークショップのサポートとか簡単なLTとかやりたい的な 最初の返事ではスピーカーは埋まってるからLTは難しいといわれる イベント1週間前に何故かトーク40分の枠が用意される 5分程度で全然よかったんだけど、せめて20分程度に短縮してもらう イベント当日まで相当な時間つぎ込んでスライド作成と発表練習する 当然ながら全て英語 スライドに沿った暗記でなんとかなるかと思いながらも不安抱えながら本番迎える LTの感想 詰まったところは多かったし文法もめちゃくちゃだ
no title 久々にRails×初心者向けというテーマを設けて、ついでに発表してみました。 初心者向けブログ記事とかも多数あったりしますし、なるべく独自性のある内容を心がけてみたつもりです。 自分の経験談 初心者向けの話 Railsで仕事したい人向けの話 +αとしてテストと英語についての話 と4つのセクションで話してみましたが、対象の幅が広いため伝わりづらい部分もあるかもしれません…。あと思った以上に長く喋ってたみたいでそこも反省ですね>< 補足とか Railsおすすめ書籍 インプレスブックス - 本、雑誌と関連Webサービス このページは存在しません 電子版を購入すると、開発中そのまま調べられたりコピペもできたりするのでいいと思います。 勉強会 Rails勉強会@東京 | Doorkeeper 自分もRails関連ではじめて参加した勉強会(月1開催) Page not found ·
Rails3.2/GitHub/Pivotalという割とモダンな環境で2ヶ月間開発してました。その契約期間が終了したので、振り返ってみます。 Gems 自分の担当で、初めて(本格的に)使ったGemたち no title 帳票PDF出力 no title PDF解析(テスト用) no title Zip圧縮 no title ユーザー認証 no title HTML加工 no title 検索フォーム補助 no title よりよいフィクスチャ no title RSpecマッチャ拡張 no title 並列テスト no title プログレスバー型RSpecフォーマッタ 日に日にテスト実行時間が長くなっていて、どうにかしたいと思って最終日に探してすぐ導入したParallel testsが印象的です。 Retrospection ひとり開発でやっていたことが活かせた Railsは経験の蓄積が
Ruby 2.0.0-p0 is released Ruby2.0がリリースされました。Homebrewとrbenvによるインストール手順です。rbenv/OpenSSL/Readlineがインストール済みで最新にする場合は各ツールをbrew upgrade <formula> してください。 Environments Mac OS X 10.8.2 Mountain Lion Homebrew 0.9.4 Update Homebrew Formula brew update OpenSSL, Readline brew install openssl brew install readline ruby-build brew uninstall ruby-build brew install --HEAD ruby-build --HEADでインストール済みだと以下のエラーが出るので、
no title 毎週末のもくもく会イベントですが、25回目、半年継続記念ということでLT大会をしてみました。 自分のスライドです。もう少し時間かけて推敲できるとよかったかもってとこは反省です。 みなさんのLT [twitter:@ltd] ギークハウス元住吉の設立から現在まで [twitter:@yacchicc] 開発中サービスについて [twitter:@hoto17296] たのしいしぜんげんごしょり [twitter:@nekonikovaaaan] モノクロ画像解析について [twitter:@blp1526] Selenium IDE で RSpec を使う yamamoto氏 Arduinoについて [twitter:@ntaoo] Dartについて LTは計8人したみたいです。内容バラバラでしたが、みなさん個性ある内容で面白く、新たな分野を知ることができて良かったですね。
no title no title Capistrano 多機能 capify -> cap setup -> cap deploy Capfile, config/deploy.rb バージョン管理しない共通ファイル/ディレクトリの管理に一工夫いる symlinkを張るタスクを定義する必要あり バージョン管理しない共通ファイル/ディレクトリは :shared_children 変数で管理できる 2013/06/10追記:[twitter:@znz]さんご指摘ありがとうございます git以外のSCMにも対応 remote-cache strategyは--recursiveなnon-bareリポジトリを保持 submodulesがあっても早い scpによるstrategyもある リリースパスにコピーしたあと.gitは消さない リリースのバージョンはタイムスタンプ capistrano-ex
no title シェア住人からニーズがあったため、今回はこんなテーマでやってみました。 やったこと Rails Girls インストール・レシピ Rails Girls アプリ・チュートリアル Heroku に Rails アプリをアップ Devise で認証機能を追加 Rails Girls の手引きを利用してみたのは、講師役がいる前提で、手順がシンプルに書かれているからです(質問に応じて講師役が適宜説明すれば良くて、逆にドットインストールなどは一人でもできる)。 感想 予想外に短時間で rails new から Heroku デプロイまでできた RailsInstaller がすごい 面倒なRails環境構築を一発でやってくれる MacはもちろんWindowsもOK Railsの開発効率、Herokuのデプロイ効率がすさまじい The Heroku CLI | Heroku Dev
Rails4、先取りセミナーなんかもあったりして少しずつ浸透してきてる感がありますね。そんな中 no title に参加してて、Rails4でアプリを作ってみたりしたので、その感想とか書いてみます。不具合などはあくまで11/24時点の情報になります。 StrongParameters Modelでattr_accessibleは使わない ScaffoldでController に {modelname}_params というメソッドができるのでそれに倣うのがいいかも private def user_params params.require(:user).permit(:name, :password, :password_confirmation) end ここで上書き許可するカラムを設定して、User.new(user_params) などとする テスト Ruby1.9本体にも入って
Better Specs { rspec guidelines with ruby } Better Specsというサイトを題材にして、RSpecについてディスカッションしました。そのメモです。※訳ではないです How to describe your methods クラスマクロ(例えばActiveRecordのscope)のdescribe describe '.scope_name' はクラスメソッドとかぶるので微妙 describe 'scope: scope_name' とscopeなのを明示するのがいいのでは Test all possible cases 正常系/異常系可能な限り網羅したほうがいいけど、程度にもよる Use subject 重複のあるexample groupと重複のないexample groupが1ファイルに混在する場合 常にsubjectを使うように統一
関わっているRailsアプリでPDF出力の要件があり、いくつかgemを試してみました。以前はPrawnを使いましたが、それとは異なるHTMLのPDF化というアプローチは魅力的に感じました。それぞれ深くは検証していませんが、雑感などまとめてみます。ちなみにすべてHerokuでも動きます。 Wicked PDF no title HTMLからPDF生成 要wkhtmltopdf 2バイト文字出力の際に「<meta http-equiv="content-type" content="text/html; charset=utf-8" />」の記述が必要 render のオプションに :encoding => 'UTF-8' を付けてviewから出力する場合は不要 CSS/JSでSprocketsが絡んでも問題なく動く Railsと親和性高く作られている印象 Usage WickedPdf.ne
Google Code Archive - Long-term storage for Google Code Project Hosting. wkhtmltopdfは、HTMLからPDFを生成するツールです。RailsではWicked PDFやPDFKitというラッパーのgemが使えます。ただHerokuで日本語を含むPDFを生成する場合、そのままだと文字化けしてしまいます。 解決方法ですが、検索で見つけた記事を引用させていただきます。 fontconfigを使う環境では追加のTTFフォントを ~/.fonts に入れておくだけで大丈夫な模様。(参考:書体関係 Wiki - unixuser200403-2 ) なので、日本語フォント対応するには、IPAフォントなりをダウンロードし、.fontsディレクトリを作成してTTFファイルを突っ込んだ上でherokuにpushしておけばOK。
zusaar.com - zusaar リソースおよび情報 vol.1に続いて参加してきました。そのメモです。 複数レコードを選択して更新するUI 207 Multi-Status を使わないようにがんばりたい 207のレスポンスの中身は設計者任せとされている 項目(トラフィック)が少なければ個別のアクセスもあり Ajaxで複数回リクエストするのはリソース設計の統一感がある 処理を集約したトランザクションリソースを新たにつくる ステータスコード 参考:no title 一部成功時、200を返すのもOK 1の位が0のステータスコードは曖昧さも許容している リソース更新失敗は422 Unprocessable Entity がRailsデフォルト デフォルトに従うのは楽だしその判断もあり しかし表現できるなら表現したほうがいい Uniquenessのバリデーション失敗時は 409 Co
ゆるいVimmerなので、たまにトラックパッドからカーソル選択でコピーすることがあります。Terminal.appではCmd+Cでできてたのですが、iTerm2に変えたらできなくなって若干困ってました。ビジュアルモードで選択した扱いになってしまいます。そこで、設定により通常選択を可能にする方法です。 Preferences > Profiles > Terminal > Terminal Emulation Enable xterm mouse reporting を OFF ググってもなかなかヒットしませんでしたが、以下のページに書いてありました。 no title またiTerm2の機能により、Cmd+Cしなくても選択しただけでクリップボードにコピーされます。ちなみに上記設定ONの状態だと、Optionキーを押しながらカーソル選択する必要があるみたいです。
zusaar.com - zusaar リソースおよび情報 参加してきました。 以下、粒度にばらつきありますが、気になった点のメモです。ほぼ引用ですが、意図と違う表現になってしまっていたらすみません。 RESTful APIとしてのRailsとクライアントとしてのJavaScript (@ppworks) no title RESTfulの指向で考えると統一されたインターフェースで、URLを見ただけで何するかわかるのが良い JSはassetsのほうに統一しアクションごとに処理が書けるjQuery-Routerなどを使うと良いのでは RailsはだんだんAPI化していくのではないか 通常のHTTPリクエストと非同期HTTPリクエストを同じ統一インターフェースであるRESTfulな設計で管理すると一貫性が出て開発効率の向上につながる リソースモデリングパターンの提案 (@tkawa)
例えばAPIとかのレスポンスで、とにかくJSONのみを返すようにしたいとします。 class Api::ProductsController < ApplicationController def index respond_to do |format| format.any { render json: @products } end end end respond_toとformat.anyを組み合わせることで、/api/products.json とかしなくても、/api/products でJSONが返るようになります。 ただ、format.anyだとレスポンスヘッダのContent-Typeが常にtext/htmlになってしまうみたいです。 これをJSONの適切なヘッダapplication/jsonに変えたいとき。 respond_to do |format| response
PCサイトと携帯サイトを端末ごとに振り分けるのに、jpmobileの判定メソッドがお手軽なのでRailsのredirect_toを当初利用していました。が、おそらくApacheでリダイレクトさせたほうがパフォーマンスはいいはずです。ただ確信はなく、「推測するな、計測せよ」ということで調べてみました。 環境 Basic 64-bit Amazon Linux AMI 2011.02.1 Beta t1.micro 64bitインスタンス Apache 2.2.16 Passenger 3.0.7 Ruby 1.9.2 Rails 3.0.11 Apache Bench ab -n 100 -c 10 http://example.com/m/ 結果サマリー 項目RailsApache Requests per second63.3579.57 Time per request157.8501
多対多の関連をレコード内の1つのカラムで表現したいことがあると思います。片方が少ない種類でほぼ決まっており、テーブルにするまでもないような場合です。 ALBUMS = {'Perfume〜Complete Best〜' => 1, 'GAME' => 2, 'Δ' => 3, 'JPN' => 4} ユーザーが好きなアルバムを選択できる (複数可) こんな入力フォームの実装についてまとめてみます。Railからはずれているのでめんどくさいです。 環境 Ruby 1.9.2p290 Rails 3.0.10 SimpleForm 1.5.2 擬似配列型カラム class User < ActiveRecord::Base serialize :fav_albums, Array end serializeクラスマクロを使います。第二引数にクラスを指定するとそれ以外を受け付けなくなります。MyS
最近は、運用中Railsアプリの管理画面をTwitter Bootstrapでリニューアルしたり、こまごまと機能追加なんかしたりしてました。そんな中で新たに使ったgemライブラリを簡単にまとめてみます。 Prawn no title PDF作成 日本語フォントとあわせて日本語表示も可能 表や図などある程度自由にレイアウトできる prawn-railsというのもさっき見つけた Haml-rails https://github.com/indirect/haml-rails HamlはERBよりも記述が完結で楽 管理画面とかプログラマのみで完結するような要件なら導入すべきかと erb2haml no title ERBのviewファイルを一括置換 Hamlの文法を覚える参考にもなる Kaminari no title ページネーション will_paginateよりもなんとなくこちら wil
元々あったRails3でのCSV出力のコードを改善してみました。 要件 Windowsユーザーが閲覧するCSV 条件によって絞り込み ということで、Excelで閲覧するためにShift_JISにする必要があります。また、絞り込みはMetaSearchというgemを活用します。 no title Ruby/Railsっぽく、というところも意識しつつのリファクタリングの過程を晒してみます。 環境 Ruby 1.9.2p290 Rails 3.0.10 MetaSearch 1.0.6 旧コード (Controller & View) app/controllers/products_controller.rb class ProductsController < ApplicationController def export require 'kconv' @products = Produ
JavaScript本格入門 ?モダンスタイルによる基礎からAjax・jQueryまで:書籍案内|技術評論社 増刷のキャンペーンをたまたま目にして申し出たところ、書籍を送っていただけました。ありがとうございます! 目次 Chapter 1 イントロダクション Chapter 2 基本的な書き方を身につける Chapter 3 基本データを操作する 〜組み込みオブジェクト Chapter 4 繰り返し利用するコードを一箇所にまとめる Chapter 5 大規模開発でも通用する書き方を身につける 〜オブジェクト指向構文 Chapter 6 ブラウザを自在に操る 〜ブラウザオブジェクト Chapter 7 HTMLやXMLの文書を操作する 〜DOM(Document Object Model) Chapter 8 サーバ連携でリッチなUIを実装する 〜Ajax Chapter 9 ライブラリを利
iPhone - Apple(日本) 発売翌日に入手できました。16GBブラック、回線は引き続きソフトバンクです。3GSが初iPhoneだったので、2台目のiPhoneです。 機種変更 ソフトバンクショップ プラン変更 ホワイトプラン(i)+2年契約からホワイトプランN(i)(2年契約込み) 新しいホワイトプランだと2年後に基本料金無料が2ヶ月間あるらしい 現行はその割引はないらしいのでとりあえず納得して変えた 2年縛り無しの同条件で契約する方法もあるかもしれないが未調査 【追記】旧ホワイトプラン(i)と2年縛り無しの組み合わせは可能 以前は2年契約がパケット割引サービス側に付属していた(iPhone for everybodyキャンペーン) その更新月に「パケットし放題フラット」にプラン変更することで縛りから開放される SB一筋で2年後の1960円割引をとるか、機種(会社)変更の柔軟性(
入力フォームでよくある、郵便番号から住所を自動入力させるAjax。それ用のAPIやJSライブラリをいくつか調べてみました。 ajaxzip3 Google Code Archive - Long-term storage for Google Code Project Hosting. JavaScriptライブラリ GoogleCode上のjsファイルを読み込んでイベントを少し記述するだけで良い フォーム項目に柔軟に対応 都道府県はセレクトボックスにも対応 MITライセンス 最終コミット 2011-09-11 出力サンプル (※ライブラリが処理してくれる) http://ajaxzip3.googlecode.com/svn/trunk/ajaxzip3/zipdata/zip-107.js zipdata( { -1070051: [ 13 "港区" "元赤坂" ], //省略 } )
Rails3.0.0 で iso-2022-jp メールを送る - 篳篥日記 Rails3 ActionMailerを解析して、ISO-2022-JPに対応する - A Life Less Ordinary 先人達の知恵がありますが、別のアプローチを考えついたので記事にしてみます。 ※検証したものの運用が不十分なため、問題が起きる可能性がありますので参考にされる場合はご注意ください 環境 Ruby 1.9.2p290 Rails(ActionMailer) 3.0.10 Mail 2.2.19 要点 ActionMailerクラスのdefaultやmailメソッドでcharsetを指定しても、メール本文は変換されない 本文を変換させるには、Mail::Bodyのインスタンスのcharsetを直接指定する 上記の記事ではMailライブラリにモンキーパッチをあてていますが、ActionMail
開発や本番など、環境によって設定を切り替えるには大きく分けて2つの方法があるかと思います。 ファイルやディレクトリの名前や中身で判定 (サーバー)環境変数で判定 今回は後者の判定方法についてです。 env() CakePHPにはenv()という便利な関数があり、$_SERVERもしくは$_ENVで定義されている変数をうまい具合に取得することができます。 env(string $key) 有効なソースから環境変数を取得します。$_SERVER あるいは $_ENV が無効な場合、代替として使用されます。 この関数はサポートしていないサーバでも PHP_SELF や DOCUMENT_ROOT をエミュレートします。実際に完全なエミュレーションラッパーですので、 $_SERVER や getenv() の代わりに常に env() を使用することは(特にコードを配布する計画がある場合には)よい考
no title コマンドラインからDropboxへのアップロードを可能にするシェルスクリプトです。通常Dropboxは(Linuxでも)インストールして使うものですが、このツールはファイル1つのみで動作します。 no title こちらの記事で知りました。現在はバージョンが上がっていたり少しつまずいたりしたので、そのメモです。(※バージョン0.7.1で検証) 使いかた sh dropbox_uploader.sh -u account@example.com -p password -f targetfile_or_dir -d /path/to/uploaddir -v -uオプションはアカウント(必須) -pオプションはパスワード(必須) -fオプションはアップロードするファイルまたはディレクトリ(必須) -dオプションはアップロード先のディレクトリ デフォルトはDropboxのルー
WordPress : Textile2 ≪ WordPress Plugins http://wordpress.org/extend/plugins/textile-2/ Textitle記法を可能するプラグインですが、有効化すると全ての記事に対して適用されてしまいます。そこで、ショートコードで任意の記事で適用できるようにカスタマイズしてみました。編集するのはTextile2.phpです。 コンストラクタ変更 <?php function Textile2_New () { add_action('admin_menu', array(&$this, 'textile_add_pages')); /** Let's add some filters! **/ //remove_filter('the_content', 'wpautop'); //remove_filter('the_
次のページ
このページを最初にブックマークしてみませんか?
『d.hatena.ne.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く