タグ

ブックマーク / naoty.hatenablog.com (8)

  • activeadmin読んだ - AnyType

    activeadmin/activeadminを初めて使うことになったので、どういう仕組みになっているのか調べてみた。 TL;DR rails g active_admin:installを実行するとlib/generators/active_admin/install_generator.rbが実行され、ActiveAdmin.routes(self)がconfig/routes.rbに追加される。 app/admin/以下にあるResource定義ファイル内で実行されるActiveAdmin.registerでは、ActiveAdmin::Resourceインスタンスが生成され、動的にResourceごとのcontrollerが生成される。それらはすべてActiveAdmin::ResourceControllerを継承している。 config/routes.rbに追加されたActiv

    activeadmin読んだ - AnyType
  • Railsにコントリビュートした - AnyType

    軽い気持ちでpull requestを送ってみたら数十分後になんとmergeされてしまった。間違ってmasterブランチに送ってしまったため、おそらくrails 5で公開されることになる。 追加したのはrake initializerという簡単なrakeタスクで、railsの起動時に実行されるinitializerを実行順に出力する。 % rake initializer set_load_path set_load_path set_load_path set_load_path set_autoload_paths set_autoload_paths set_autoload_paths set_autoload_paths add_routing_paths add_routing_paths add_routing_paths add_routing_paths add_loca

    Railsにコントリビュートした - AnyType
  • Web API: The Good Partsを読んだ - AnyType

    Web API: The Good Parts 作者: 水野貴明出版社/メーカー: オライリージャパン発売日: 2014/11/21メディア: 大型この商品を含むブログ (1件) を見る 業務ではiOSアプリとバックエンドの開発を両方担当しているので、APIの設計を何回かやってきた。しかし、自分なりのやり方でやってきた部分が多かったので、最近発売されたWeb API: The Good Partsを読んでちゃんとした設計について学ぶことにした。 得られた学びをメモとして残す。 HATEOAS HATEOAS(Hypermedia As The Engine Of Application State)という設計方法を初めて知った。HATEOASではまず、サーバー側はレスポンスに関連するエンドポイントを含め次にアクセスするAPIを簡単に辿れるようにする。クライアント側は最初のエンドポイント以

    Web API: The Good Partsを読んだ - AnyType
  • APNsの概要と関連ツール群 - AnyType

    Apple Push Notification Service(APNs)は、ソフトウェア開発者(プロバイダ)から受け取ったメッセージを安全な方法でデバイスにプッシュ通知するサービスである。 プッシュ通知までの流れ プロバイダはデバイストークンとペイロードから成る通知メッセージを作る。 プロバイダはその通知メッセージをAPNsに送信する。 APNsは受け取った通知メッセージのデバイストークンから配信先のデバイスを特定し、通知メッセージを配信する。 接続を確立するまでの流れ APNsとデバイス間で認証を行う(システムによって行われるため、開発者が実装する必要はない)。 APNsとプロバイダ間で認証を行う。 プロバイダがAPNsからサーバ証明書を取得し、検証する。 プロバイダがプロバイダ証明書をAPNsに送信する。 デバイストークンを生成しプロバイダと共有する。 アプリケーションがリモート通知

    APNsの概要と関連ツール群 - AnyType
  • 実行環境とBundler.require - AnyType

    Gemfile source 'http://rubygems.org' gem 'rails', '3.1.1' group :assets do gem 'sass-rails', '~> 3.1.4' gem 'coffee-rails', '~> 3.1.1' gem 'uglifier', '>= 1.0.3' end gem 'jquery-rails' group :development, :test do gem 'turn', :require => false end group :production do gem 'therubyracer' end 以上のようなGemfileがあった場合、Bundler.requireによって次のような結果が得られる。 Bundler.require(:default) #=> rails, jquery-rails Bundl

    実行環境とBundler.require - AnyType
  • Head First Cの感想 - AnyType

    以前参加したmrubyの勉強会でC言語でコードを書く機会があってよくわからなかったので、オススメされた「Head First C」を読んでみた。 Head First C ―頭とからだで覚えるCの基 作者: David Griffiths,Dawn Griffiths,中田秀基(監訳),木下哲也出版社/メーカー: オライリージャパン発売日: 2013/04/03メディア: 大型この商品を含むブログを見る 500ページ超あるんだけどすごくわかりやすくて10日間で読み終わった。Head FirstシリーズはRailsなどいろいろあるのは知ってたけど読んだことなかった。どうやらこのシリーズは科学的なアプローチで分かりやすく書いているみたいで、確かにわかりやすかった。C言語の入門書というとすごい古いや固っくるしいが多いような印象があるけど、このは今月発売されたばかりでかつカジュアルだった

    Head First Cの感想 - AnyType
  • Railsに組み込むgemを作るためのTips - AnyType

    params_inquirerというgemを作りました。何ができるかと言うと、文で説明するのがなかなか難しいので、下のコードを見てください。 # users_controller.rb def index if params[:status].accepted? # params[:status] == 'accepted' と同じ @users = User.accepted elsif params[:status].rejected? # params[:status] == 'rejected' と同じ @users = User.rejected else @users = User.all end end params_inquirerを使うと上のaccepted?のようなメソッドがparamsに対して呼べるようになります。すでにrubygemsで公開してるので、ちょっと試して

    Railsに組み込むgemを作るためのTips - AnyType
  • rspec, factory_girl, spork, guardによる自動テスト環境の構築 - AnyType

    こちらの記事を参考に自分で自動テスト環境を構築した記録です。この記事はすごく参考になりました。感謝です。 Rails3+RSpec2+Spork+Guard(guard-rspec,guard-cucumber)で最速のBDD(振舞駆動開発)環境を作る - Curiocity Drives me 0.環境 # Gemfile source 'http://rubygems.org' gem 'rails' gem 'rake', '0.8.7' gem 'mysql2', '0.2.6' gem 'haml-rails' gem 'jquery-rails' $ bundle install --path vendor/bundle1.rpec-rails, factory_girl_railsのインストール # Gemfile source 'http://rubygems.org' g

    rspec, factory_girl, spork, guardによる自動テスト環境の構築 - AnyType
  • 1