サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
デスク環境を整える
qiita.com/tkawa
問題 多対多の関連を作るときの交差テーブル(中間テーブル、関連テーブルなどとも呼ばれる)にどのような名前をつけていますか? 2つのテーブル名を単純につなげた users_magazines のような命名を見かけますが、これはあまり良い名前ではありません。 実体関連モデル - Wikipedia 実体 (entity) は名詞に対応すると考えることができる。例えば、コンピュータ、従業員、楽曲、数学的定理といった名詞である。 関連 (relationship) は2つの実体間の関係を捉えたものである。関連は2つ以上の名詞句を結び付ける動詞に対応すると考えることができる。例えば、企業とコンピュータの間の「所有する」(owns) という関連、従業員と部門の間の「監督する」(supervises) という関連、アーティストと楽曲の間の「演奏する」(performs) という関連、数学者と定理の間の「
TokyuRuby会議12 (2018-07-29) 発表のスライドです #tqrk12 @tkawa 川村 徹 プログラマ ソニックガーデン REST厨 Sendagaya.rb 毎週月曜 19:30- 株式会社トクバイさんオフィス(渋谷) ゆるーいRubyコミュニティ 問題: users の「型」は何でしょう? def some_process(users) users.each do |user| puts user.email # いろんな処理 end end
TokyuRuby会議11 (2016-07-29) 発表のスライドです #tqrk11 @tkawa 川村 徹 プログラマ ソニックガーデン REST厨 Sendagaya.rb 毎週月曜 19:30- ゆるーいRubyコミュニティ JSON-LDとは コンピュータが理解できるLinked Dataを表すためのJSONベースのフォーマット コンピュータが理解できる → Googleクローラが理解できる → リッチな検索結果 Googleにデータの意味を伝えるためのフォーマット(の1つ)として使われることが多い BreadcrumbList Recipe Product Article (NewsArticle, BlogPosting) Review Event SoftwareApplication ... AMPでも使う { "@context": "http://schema.or
qiita.com/tkawata1025
Pepper を使ったハッカソンに役に立ちそうなChoregraphe のボックスを4つ公開しました。 お役に立てれば幸いです。 ボックスは https://github.com/takujikawata/webapiboxlibrary で公開しています。 (2017/4/30 NAOqi2.5.5 でも動くように一部ボックスライブラリを変更しました) ボックスライブラリを Choregraphe に取り込む ここではサンプルボックスをボックスライブラリという形態で公開しています。ボックスライブラリの読み込み方は次を参考にしてください。 サンプルボックスの説明 4つのサンプルボックスの概要を説明します Simple HTTP request ボックス HTTP リクエストを発行するボックス。結果はボックスの出力 onStopped に出力されます。リクエスト URL はプロパティーで設定
ここでは自律モード(オートノマスライフ)をカスタマイズする方法を紹介します。 ここでは、Pepper 頭の後ろ側を触ることでオートノマスライフの会話モードに自動移行、またこの状態の時、再度頭を触ることでこの会話モードから抜けるという機能をオートノマスライフに追加してみます。 『注意』 公式にはカスタマイズ方法についてガイドがあるわけではないので、NAOqi の機能を使って「うまくいった方法」を紹介しています。試した環境は NAOqi 2.4.2 です。自律モードの機能は日々進化しており、将来的にここで紹介した方法がうまく動かないことも考えられます。ご自身で行う場合は、内容をよく理解したうえで、自己責任でお願いします。 2016/1/6 サンプルの会話モードへの移行方法をサービスから直接移行させる方法から、アプリを経由させる方法に改めました 2016/4/17 カスタムサービスの作り方に関し
{ "response": { "id": 3342124, "message": "Hi!", "user": { "id": 3456, "name": "Taro Yamada", "image_url": "/images/taro.png" } } } など、どの構造がいいでしょうか? もっと違う構造も考えられます。 JSONはシンプルですが、構造に制約がなさすぎます。適切な設計を行うには適切な制約が必要です。 そこで、plain JSONに少し制約を加えたJSONベースのフォーマットを使うことをおすすめします。 もしあなたが、JSONレスポンスをどのようなフォーマットにするかをチームで議論したことがあるなら、JSON APIは『自転車置き場の議論』に対抗する武器となる。 共有された規約に従うことで、生産性が向上し、汎用的なツールを利用でき、アプリケーションという重要なものに集中
先日るびまに寄稿したハイパーメディア:RailsでWeb APIをつくるには、これが足りないではWeb APIにリンクとフォームが必要だということを強調しました。幸いリンクとしてURLが入ったWeb APIは少しずつ増えてきているように思います。 しかし、リンクでは決まったGETリクエストしかできません。ユーザから入力されたパラメータを付加したGETやPOSTリクエストを行うためにはフォームが必要です。 そこで、フォームをJSONベースのフォーマットで表現するとどうなるか、数少ない現時点での方法を調べました。 JSON-LD & Schema.org JSON-LD & Hydra UBER 1. 検索フォーム(GET) HTML <form action="http://example.com/search" method="get"> <input type="search" name
シングルページアプリケーションやモバイルアプリなどの普及により、サーバサイドではJSONを出力するWeb APIの必要性が高くなってきています。みなさんはどのようにWeb APIを作っているでしょうか。 JSONはビュー RailsでJSON APIを定義する時、素のままでやろうとすると コントーラでto_jsonを呼んだり、モデルにas_jsonを定義したりすることになるかと思います。 モデルに書くとAPIによって出力内容を変えたい場合にとても苦労します。 API数が増えれば増えるほどモデルが複雑になっていきます。 APIレスポンスとしてのJSONはコントローラやモデルに書くべきでしょうか? ビューに書いた方が自然ではないでしょうか? これはRailsでの話ですが、Railsに限らず、フレームワークを使ってWeb APIを作るときに一般的にあてはまることだと思います。 変化に強い、再利用
これはいわゆるWeb APIについて、ということかなと推測しました。RESTというのはAPIのプロトコルのことだと思われている傾向がありますが、そういうわけではありません。Web全体についてのもので、APIについてもWebアプリについても適用されるものです。 実はRESTでは「統一インターフェイス」の制約からメソッドについて規定されていますが、URLの形については特に規定されません(もちろんAddressabilityの面で重要であることは言うまでもありません)。なので実は/books,/books/1でなくてもいいのですが、これを規約(CoC)でズバッときれいに決めてしまったのがRailsのすごいところの1つです。 本の追加や削除を行う場合は、本情報をJSON形式でPOSTリクエストのボディとして送ります。application/x-www-form-urlencoded形式で送ることは
(追記) OAuth2認証に対応しました。 こういうの作ってます。 こういうスプレッドシートを用意しておく。 タイトルは何でもいい。idは必須。シートの名前は標準では[モデル名]_rows。 spreadsheet = GoogleSpreadsheets::Enhanced::Spreadsheet.find('0AtkgjSZyl3NLdERqdkdMZk01alFLWXZUZUtuNlcwN3c') # GET /feeds/spreadsheets/private/full/0AtkgjSZyl3NLdERqdkdMZk01alFLWXZUZUtuNlcwN3c HTTP/1.1 # Authorization: GoogleLogin auth=xxxx # Accept: application/atom+xml # Accept-Encoding: gzip;q=1.0,de
RailsでのfavoriteのURL設計 http://d.hatena.ne.jp/tkawa/20110508/p1 かなり前にこういう記事を書いたのですが、最近たまたま似たものをRailsで何回か実装する機会があって、これはいろんなところで使えるんじゃないかと思ったので、その設計実装パターンを紹介してみます。 モデル 任意のツイートに任意のユーザーがお気に入りをつけられるというもの。別にツイートじゃなくても何でもOKです。 class Tweet < ActiveRecord::Base has_many :favorites end class User < ActiveRecord::Base has_many :favorites end class Favorite < ActiveRecord::Base belongs_to :tweet belongs_to :use
この記事は古い情報です 「解決法」のuser-env-compileは廃止されたので使用できなくなっています。 未確認ですが、Devise 3.2.3以上とRails 4.1以上の組み合わせで、以下の記事のようにすると解決できるかもしれません。 Deviseの新しい設定 Devise 3.1で新しくsecret_keyという設定ができました。 コメントに書いてある通り、パスワードリセットやアンロック時のトークンを暗号化するためのキーです。 Devise.setup do |config| # The secret key used by Devise. Devise uses this key to generate # random tokens. Changing this key will render invalid all existing # confirmation, res
class User < ActiveRecord::Base # User.admin scope :admin, -> { where(role: 'admin') } # user.admin? # => true or false def admin? self.role == 'admin' end end scope(クラスメソッド)とインスタンスメソッド両方の定義が必要ですが、内部でやっていることは本質的には同じことです。 これをscope :adminだけ定義しておくと、admin?も自動的に使えるようになるっていう機能、作ったら需要ありますかねぇ? https://github.com/amatsuda/arel_ruby を使ったらできるんじゃないか、という思いつき。複雑なのは無理だろうけど…。 実装してみた (9/6 追記) arel_ruby の対応の都合で、Rai
qiita.com/tkawachi@github
以前は NSObject の - (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait などを利用していた。 引数が0または1しか取れない、メソッドをわざわざ作る必要がある、など不便な点が多かった。引数増やすときは NSInvocation で回避できたが、やっぱり面倒だった。 GCD を使ったほうが簡単。 同期実行したいときは dispatch_async() の代わりに dispatch_sync() を使う。 Main thread から dispatch_sync で main queue に突っ込もうとすると誰も処理できずに詰まるので注意。 どの thread から呼ばれるかわからない場合は自分がどの thread にいるかチェックする。 (もっと良
scenario '存在しないユーザーはエラー' do expect { visit '/users/99999' }.to raise_error(ActiveRecord::RecordNotFound) end
Rails3レシピブック外伝 https://speakerdeck.com/u/a_matsuda/p/rails3-recipe-book-gaiden 118ページ Engineを使う 使いやすくなった Rails 3.1 の Engine http://d.hatena.ne.jp/passingloop/20110801/p1 Rails Guides - Getting Started with Engines http://guides.rubyonrails.org/engines.html Extending Rails 3 with Railties http://www.engineyard.com/blog/2010/extending-rails-3-with-railties/ 日本語訳 http://www.engineyard.co.jp/blog/2013
Rails Advent Calendar 8日目です。 Arel でサブクエリを組んでみようと思って、どうやるのかググるとこのページがヒット。いろんな例があってわかりやすいです。 Arelで色んなSQLを組み立ててみる - ryopekoの日記 サブクエリや型変換を伴うようなSQLの組み上げについては調査中です。 えー。 ということで調べたメモ。 基本 Arel::Table というクラスがあって、そこからメソッドをチェーンしていきます。 Arel::Table のオブジェクトは普通にnewして作ることができます。
t_wada さんの議論のポイント http://www.slideshare.net/t_wada/restful-web-design-review より。 やりたいこと vs. (Rails的な)作りやすさ 確認画面、プレビュー画面、完了画面… リソースの移動、コピー トランザクションの表現 複数レコードを選択して更新する UI 207 Multi-Status の誘惑 URLに機械採番の id が含まれる セキュアじゃ無い 永続的でない(かも) APIのバージョニング 自前でやっていた https://github.com/bploetz/versionist 良さそう rails4 の PATCH メソッドどうよ? あまり非同期処理に頼らない DOM Scripting の原則に従う RESTfulなサーバとリッチjsという設計に倒しすぎるとUXや保守性が低下する可能性があるので
このページを最初にブックマークしてみませんか?
『qiita.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く