This is the second post of a series of four where I’ll show the main steps I followed to build Flashcards, a single page app that will help users study and learn any subject they want through spaced repetition. Part 1 - The back-end Part 2 - User authentication Part 3 - The front-end Part 4 - Deploying to Heroku and GitHub Pages The back-end is a Rails app that will store the information provided
September 20, 2017How to Build a React App that Works with a Rails 5.1 API React has taken the frontend development world by storm. It’s an excellent JavaScript library for building user interfaces. And it’s great in combination with Ruby on Rails. You can use Rails on the back end with React on the front end in various ways. In this hands-on tutorial, we’re going to build a React app that works w
ActiveModel::Model is an excellent way to make objects behave like ActiveRecord. One potential use for this is if we want to make use of form data that doesn't necessarily persist to an object, but we want to keep our controllers clean. A great example can be found on this thoughtbot blog post from about a year ago. One thing that I think many have found lacking, however, is has_many and accepts_n
Rails3 で ImageMagick + Rmagick + file_column を使用しての画像アップロードを実装する方法です。 環境として、 Mac OS X 10.6 + Rails3.0.7 です。 実装にあたって、ruby 1.9.2 + Rails 3.0 + file_column 2010-09-27 - 篳篥日記 を参考にさせていただきました。 ImageMagick + Rmagick + file_column のインストール ImageMagick + Rmagick + file_column のインストールをします。 Rmagick と file_column は Railsプロジェクトを作成してからインストールします。 ImageMagick のインストール 最初にImageMagickをインストールします。 インストールには、Mac Port を使用
Rails で非同期処理(バックグラウンドジョブ)を実現するライブラリの Resque を使ってみた. 非同期処理のハンドリングを全て Rails で扱えるのが利点で,バックエンドは Redis で動く.さらに sinatra ベースの Resque 管理画面もデフォルトで入ってて,ジョブの状況を確認できるのが結構イケてる感じ.しかも GitHub が作ってるっていうのが驚き. Resque の使い所としては,README.md を見るとすぐにレスポンスを返せない not always fast な処理もあるから,そういうものに Resque が使えると書いてある.例として以下の7種類が挙げられてた.まぁ他にも,画像変換をしたり,帳票を作成したりするのもそうだし,そういうちょっと重めの処理をするときにユーザのアクションを止めないで裏側で処理するときに使うライブラリって感じ.ただまぁ,REA
この版のまえがき 改訂版の「Everyday Rails - RSpecによるRailsテスト入門」を手にとっていただき、どうもありがとうございます。改訂版をリリースするまで、長い時間がかかりました。そして、内容も大きく変わりました。本書を読んだみなさんに「長い間待った甲斐があった」と思っていただけると幸いです。 なぜこんなに時間がかかったのでしょうか?前述のとおり、内容は大きく変わりました。本の内容そのものも変わりましたし、Railsにおける一般的なテストの考え方も変わっています。まず後者について説明しましょう。Rails 5.0の登場と同時に、Railsチームはコントローラのテストを事実上非推奨としました。個人的にこれは素晴らしいニュースでした。本書の前の版では説明に 3章 も使っていましたが、私も最初はコントローラのテストを理解するのに非常に苦労したのを思い出しました。そして、最近で
(訳注:2016/3/2、頂いた翻訳フィードバックをもとに記事を修正いたしました。) Railsアプリでのキャッシングは、「たまに夕食を一緒にするけれど、本当はもっと頻繁に一緒にいるべき友達」に少し似ています。パフォーマンスをまじめに考えるRailsアプリのほぼ全てで、もっとキャッシングを使えるはずですが、ほとんどのRailsアプリでは、完全にキャッシングを避けています。それでも普通は、Railsで高速なサーバ応答を達成するための唯一の道は、キャッシングの知的な利用なのです。約250msの応答時間を、簡単に50~100msに高速化できます。 定義についての注意 ― この記事は、アプリケーション層のキャッシングのみを対象としています。HTTPキャッシング(これは全く別の難物で、あなたのアプリケーションに実装する必要はありません)は、別の機会で扱いましょう。 するべきキャッシングをしない理由
fragment cacheを使うとテンプレートの一部を部分的にキャッシュすることが可能になります。 Rails3ではfragment cacheの他にpage cache、action cacheがありましたが、Rails4ではpage cache、action cacheが廃止になりました。 Rails3とRails4の場合でfragment cacheを使った際のメモを残しておきます。 Rails3の場合(Rails 3.2.13で確認)例としてBookの一覧をキャッシュしたい場合を挙げます。 著者ID(author_id)とページ番号(page)毎にキャッシュできるようにしてみます。 テンプレート側では <% cache(sprintf(Settings.cache_key.book, @author_id, @page), :expires_in => Settings.book
はじめに:「僕にもそんな頃があった」 先日、西脇.rb&神戸.rbの合同勉強会として「RailsプログラマのためのSQL勉強会」を開催しました。 この勉強会は出題者(=僕)が出したSQL問題を他の参加者が解く、というスタイルの勉強会です。 参加者の方の中には最近プログラミングを始めた、という人も何人かいました。 そういう人にとっては問題がちょっと難しかったので、ときどき僕がサポートに回って質問に答えたり、解き方をある程度教えたりしていました。 また、話がちょっと脱線して「僕が作ったこれぐらいのWebアプリは、伊藤さんなら何時間ぐらいで作れますか?」みたいな質問を受けたりもしました。 その中で言われたのが、 「説明されたらわかるけど、自分一人でこの答えにたどり着くのは無理です」 「えっ、そんな短い時間で作れるんですか」 といったようなコメントです。 そういったコメントを聞くと、「あー、僕にも
これはなんですか? これは「This is Why Learning Rails is Hard(Railsの習得が大変な理由はこれだ)」という海外記事に載っているマインドマップを日本語化&リスト化したものです。 元記事には「Railsを習得するために必要な技術要素の一覧」を表す、以下のようなマインドマップが載っています。 長年Railsの開発に携わってきた人間として、このマインドマップは「うん、たしかに!」と非常に納得できる内容です。 ただし、サイズの大きな画像なので一覧性に欠けるのと、英語なので日本人にとってはぱっと頭に入りづらい点があるのも否めません。 そこでいつでもぱっと確認できるように、このマインドマップ内容を日本語化&リスト化することにしました。 このリストを読んで、自分がすでに身につけている技術要素は何か、また、これから習得が必要な技術要素にはどんなものがあるのか、各自で確認
By Brook Riggio December 5, 2013 This is Why Learning Rails is Hard It’s in the name. Rails depends on Ruby. But anyone learning Rails would tell you it depends on a lot more. There is a whole corpus of tools and concepts that a modern web developer must be familiar with. On top of those, Rails comes with its own flavor of conceptual requirements. Just how much do you need to know to be effective
業務で非同期処理の実装が必要となったので、 前回ぼんやりマルチスレッド、マルチプロセスについて調べてみたのですが… 両方軽く実装してみたのでメモ。 実際に実装してみたところ、マルチプロセスでもマルチスレッドでも 処理時間自体は短縮されたのですが、 マルチプロセスだとメモリは食うしメモリ空間?を共有してくれないので スレッドのほうで実装してみました。 (マルチスレッドで十分なときはそれでいいってことかな?) 〜検証環境〜 Rails:3.2.11 ruby:1.9.3p392 Railsで普通に実装 マルチスレッドで実装 〜リファレンス〜 class Thread 〜とても参考になりました!〜 ActiveRecordを複数スレッド環境で利用する - tech.recompile.net 処理内容はDBからUserのid取ってきているだけです。 threads = [] 10.times.w
はじめに RubyやRails界隈はどんどん新しい情報が出てきます。 また、自分がまだ知らない便利なテクニックもたくさんあるはずです。 僕は最新情報をキャッチしたり、新しいテクニックを勉強したりするのにメルマガやブログのRSSフィードを使っています。 この記事では僕が購読しているRuby関連の代表的なメルマガとRSSフィードを紹介します。 1. Ruby Weekly (英語) Webサイト http://rubyweekly.com/ Rubyに関する最新情報を毎週届けてくれるメルマガです。 RubyやRailsのアップデート情報から、英語圏で話題になっているブログ記事まで、様々な情報を伝えてくれます。 Rubyistとして知っていて損はない情報ばかりを厳選してくれているので、Rubyの情報ポータルとしては一番オススメです。 2. Riding Rails (英語) Webサイト htt
Railsエンジニアな皆さん、モデリングしてますか? ひとりでシステム構築しているなら不要かもしれませんが、チームで活動し、ある程度の規模のシステムを構築/改修する場合は、いきなり実装するのではなくモデリングをしましょう! モデリングの手段はたくさんありますが、統一記法であるUMLに従うといろいろ下記のようなメリットを享受できてよいかと思います。 視覚的な表現によって構造・振る舞いを直感的に把握できる 開発に関わるメンバ全員が共通の言語でコミュニケーションできる 本記事ではRailsシステムをUMLでモデリングする際の表現方法を紹介します。想定する読者は、上位者の指示の下Railsシステムの構築/改修をすることができ、今後ステップアップとして実装設計とか構造設計と呼ばれるフェーズを独力で実施できることを望むような人(およびその上位者)です。これによって少しでも多くの人が実装設計できるように
Reference documentation CLI reference docker (base command)docker build docker builder docker builderdocker builder builddocker builder prune docker buildx docker buildxdocker buildx bakedocker buildx builddocker buildx createdocker buildx debugdocker buildx debug builddocker buildx dudocker buildx imagetoolsdocker buildx imagetools createdocker buildx imagetools inspectdocker buildx inspectdocker
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く