ぎんざRuby会議01 https://ginzarb.github.io/kaigi01/
dotsで開催されたReactの導入を検討されてる方向けの勉強会でお話しました https://eventdots.jp/event/597088
Mastodonのコードを読んでみることにしました。 知らないgemが一杯あったのでまずは調べてみることにしました。標準添付ライブラリ、Railsにデフォルトで含まれているものは除きます。また、group :developmentとか、group指定ありのは疲れたのでまた今度。 今回確認したGemfile 実際のコードに目を通しながら調べましたが、勘違いなどあればご指摘頂けるとうれしいです。 hamlit-rails hamlit-rails provides generators for Rails 4. Railsのジェネレータが生成するビューテンプレートをHaml化するhaml-railsのhamlit版のようです。Hamlという点では同じですがhaml gemへの依存をなくせますね。 pg Pg is the Ruby interface to the PostgreSQL RDB
Summary: Choosing a new web framework or programming language for the web and wondering which to pick? Should performance enter your decision, or not? (3430 words/17 minutes) 1(Okay, okay, I know. Betteridge’s Law of Headlines. Of course Ruby and Rails are fast enough for big websites - Shopify makes it work and they’re one of the largest in the world. But some people genuinely do seem to think th
こんにちは、hachi8833です。今回の翻訳記事ではRailsで役に立つ19のgemを紹介しています。以下の関連記事もどうぞ。 [Rails 5] rails newで常に使いたい厳選・定番gemリスト(2017年版) [Rails 5]実は不要なgem・使われなくなりつつあるgem(2017年版) 概要 原著者より許諾をいただいて翻訳・公開します。 元記事: 19 Ruby on Rails Gems which Can Amaze(2017/04/12公開、2017/06/06更新) 著者: Rubyroid Labsチーム サイト: RubyroidLabs.com Ruby on Railsの素晴らしさはgemのおかげでもあります。私たちが使ってみてよいと思った19のgemの情報をここに公開いたします。 1. Ransack リポジトリ: activerecord-hackery
medbeer.rbで発表した資料です https://medpeer.connpass.com/event/58805/
github.com github.com ファイルをアップロードするのではなく、例えばサーバ側で rubyXL を用いて新規ファイルを作ってそれを carrierwave の仕組み上で管理したい。 carrierwave 用に mount_uploader した変数に ActionDispatch::Http::UploadedFile を渡せば良いのだろうけど、やり方がわからない。 ActionDispatch::Http::UploadedFile rubyXL で新規にデータを作った場合はまだファイルになっていない。 StringIOの状態。 そこで、ささたつさんのサイトに答えが。よくこんなのわかるなぁ。すごい。 blog.livedoor.jp tempfile を作って、ActionDispatch::Http::UploadedFile インスタンスを渡せばよい。 tempf
2014年02月03日13:54 Ruby 外部サービスの画像を自社サービスにアップロードする 今日はとても暖かいですが、明日から寒波みたいですね。。こんにちは。 今日は外部サービスの画像を取ってきて、それを自社サービスに良い感じにアップロードする方法(Facebook とか Twitter で認証してログインするとき、とか)を考えてみました。例えば paperclip を使っている場合、アップロードのパラメータを受け取ってこんな感じで画像をアップロードするでしょう。 # モデル class User < ActiveRecord::Base has_attached_file :photo end # コントローラ user.photo = params[:photo] # <input type="file" name="photo"> user.save! ブラウザから画像アップロー
2016年 9月5日 11時55分 7年前 Atomエディタで プロジェクト内のクラスや関数の定義元にジャンプできるプラグイン「goto-definition」の紹介です。 開発を行っていると、フレームワークやライブラリ固有の関数やクラス、その他にプロジェクト用に作った関数のソースコードを直接参照することはよくあります。 eclipseやNetBeans、JetBrain系のIDEにはダイレクトに定義元へジャンプする機能が搭載されていますが、Atomエディタにはデフォルトで搭載されていません。 そんな関数ジャンプをAtomエディタ上で実現出来るプラグインが「goto-definition」です。 goto-definitionの導入はSettingメニュー -> installから' goto-definition 'と入力して検索してインストールするか、コマンドライン上からapmコマンド
GitHub製のテキストエディタのATOMですが、2014年の終わりくらいに使い始めたから1年くらいになるかな?不満な点もいくつかあるけど、概ね使いやすくて気に入ってます。 Aptana => Net Beans => Sublime Text => vim => ATOM という具合に使ってきましたが、使い勝手良いから初心者でもすぐ使えるし、Packageで拡張できるからエディタにこだわりがある人にも十分対応できると思う。 今回はRailsエンジニアをやっているぼくのオススメPackageをまとめたいと思います。 advanced-new-file ささっと新規ファイルを作りたい時に、cmd + alt + nでコマンドラインっぽくディレクトリ・ファイル名をタイプしてファイルを作れる。ぼくはあんまりツリービューを使わない派なので、キータイプだけで高速にファイル作れるところが気に入ってる。
RailsでElasticsearchを使ってレストラン検索アプリを作成、店名、住所、カテゴリなどからレストランを全文検索できるようにします。また、フィルタ(filter)も使って検索条件を指定することで、閉店している店舗も含めて検索できるようにします。 今後、Elasticsearchのページネーション・ページあたりの表示件数、ソート、ファセット・post_filter、ハイライト、サジェスト機能などをより実践的な機能を実装していきます。 目次 ElasticsearchのMacへのインストール Railsプロジェクト作成とテストデータ作成 RailsとElasticsearchで全文検索を実装 検索条件を指定する 動作確認 Mac OS X 10.11 El Capitan elasticsearch 1.7.2 Rails 4.2.3 elasticsearch-dsl 0.1.2
端的に言うと、rbenvで何かしらのバージョンのrubyを入れた後に問答無用で行わなければならないらしきrehashで相当に理不尽な事を言われてハマりかけました。 実際のエラーは以下のようなもの。 $ rbenv rehash rbenv: cannot rehash: /Users/*******/.rbenv/shims/.rbenv-shim exists existsすなわち存在するぞ、と。何故?? で、似たようなことは結構起きているらしく、いわく「.rbenv-shimを削除したらOK」とのこと。 なんだそんだけか、と思って該当のディレクトリを見ると、 $ ls -la /Users/*******/.rbenv/shims/ total 64 drwxr-xr-x 10 root wheel 340 9 28 05:42 . drwxr-xr-x 29 yngdrsk whee
ActiveRecordでN+1クエリを潰すためにeager loadingを行う場合、preloadやincludesやeager_loadが役に立つ。 Preload, Eagerload, Includes and Joinsという記事にそれらの違いがよくまとめられているんだけど、includesが挙動を変える条件があまり正確に書かれていなくて自信が持てなかったし、そもそも記事が古いのでRails4.1.5のソースを読んで調べた。 せっかく調べたので、全体を通して日本語でまとめてみようと思う。 User.joins(:posts).where(posts: { id: 1 }) # SELECT `users`.* FROM `users` INNER JOIN `posts` ON `posts`.`user_id` = `users`.`id` WHERE `posts`.`id
ActiveRecord::QueryMethods#eager_loadでeager loadingをする際に、 ActiveRecord::Associations::JoinDependencyがどのような働きをしてレコードの読み込みを行っているかコードリーディングをしたので、そのメモ。 そもそもeager_loadって何 JOINで関連先オブジェクトをeager loadingするためのscope。 ActiveRecordのjoinsとpreloadとincludesとeager_loadの違い eager_loadを呼んでからクエリが走るまで Tweet.eager_load(:favorites).to_aをrbtraceを使って実際にトレースして少し加工したものを以下に示す。 ActiveRecord::QueryMethods#eager_load ActiveRecor
概要 Railsで実装している際LEFT OUTER JOINを色々試したので、まとめました。 (※2016/03/07 その6追加しました) ただ、やりたい事自体は実現できていません。 有識者の方、コメントお願いします。 やりたいこと Facebookのような投稿に対しユーザーが「いいね」を押すようなWEBアプリを作成しています。 テーブルとmodelは以下の3つで構成しています。 Post id[PK], user_id, text User id[PK], name Good id[PK], post_id, user_id Facebookみたいに、POSTの一覧ページにて、自分が「いいね」を押しているか判るようにしたいので、 以下のようなクエリを発行したい。 かつ、 eager_loadで実行することで、クエリ発行数を減らしたい。 という条件があります。 SELECT * FRO
INNER JOIN じゃないと不味いが joins だと N + 1 問題が発生してしまう場合にどうするかを調べた。 結論から言うと joins + preload または joins + eager_load を使うと INNER JOIN を使って結合した上で関連オブジェクトも即時フェッチしてくれる。 試したのは Rails 4.1.6。 joins + preload INNER JOIN で結合 クエリ複数回(指定した関連オブジェクトの分) 即時フェッチ > Post.joins(:comments).preload(:comments) Post Load (0.3ms) SELECT "posts".* FROM "posts" INNER JOIN "comments" ON "comments"."post_id" = "posts"."id" Comment Load
class User < ActiveRecord::Base belongs_to :group, primary_key: :code, foreign_key: :group_code end Group.includes(:users).references(:users). select("groups.code , groups.name , avg(age) as avg_age").group("groups.code , groups.name") => SQL (0.7ms) SELECT groups.code , groups.name , avg(age) as avg_age, "groups"."code" AS t0_r0, "groups"."name" AS t0_r1, "groups"."created_at" AS t0_r2, "groups".
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く