タグ

railsに関するhatanaokiのブックマーク (94)

  • ぼくのかんがえたさいきょうのRailsファースト・ガイド

    すみません、タイトルは釣りです。 Webプログラマーの実務経験ないけど、Railsの勉強始めました的な人にお会いする機会が何度かあって、 僕ができることってなてかなぁと思って考えた文章です。教えることは下手ですので、「もっといい方法があるよ」 といった方がもしいらっしゃったら、ぜひアドバイスもらえるとめっちゃうれしかったりします。 これからしばらくは「はじめてのプログラムはRailsです」といった方が増えるのかもと思います。 そういった人たちがプログラムを楽しいと思ってもらえるようになるとうれしいっす。 (2015-07-20 14:00) 質問をいただけたので書籍リストを追加 🎂 <セクション1> 1日目-11日目まずは触ってみるプログラミングに触ったことがない人や、大学の授業しかプログラムやったことがない人向けのセクションです。 すでに別の言語をやったことがある人はスキップしてくださ

    ぼくのかんがえたさいきょうのRailsファースト・ガイド
  • DBのViewを作ったらRailsプログラムが綺麗になった話 | 自転車で通勤しましょ♪ブログ

    最近データベースというかSQLについて勉強しているんですが、奥が深いですね。この前の第9回中国地方DB勉強会のときに聞いたrank関数を使って、ランキング機能をリファクタリングしよう!と思って最近頑張ってます。というのも、複雑なクエリ(遅い)を業種数分(10回くらい)呼んでいたため、Herokuだと結構ギリギリの速度になることもあったので、なんとかしなければ!と思っていたのです。 とりあえず、私の開発環境を載せておきます。 Mac Yosemite Ruby 2.2 Rails 4.2.1 PostgreSQL 9.3.4 ひとまずrank関数を使うところまで まず、NewRelicを使ってActiveRecordが出力しているSQLを取得し、それを0xDBEのコンソールに貼り付けて、rank関数を使って業種でパーティションしてランキングを出すところまでしてみました。rank関数は、関数名

  • Ruby on Railsを学ぶときに常に意識しておけばよかった10のこと - Qiita

    プログラミングの土地勘がない状態で、RubyRailsを勉強しだすとまあ100%挫折しますね。なんでかっていうと、Webやインターネットの知識や、数学やプログラミングの原理など下地になる考え方やお作法があって、それに慣れていないと1つ1つの概念が頭に入ってこないから。 これは会計でも同じで、例えば税効果会計って、費用収益対応の原則や法人税に対する理解がないと1つ1つの処理がなぜそうなっているのか腹落ちしない。 なので、この投稿では、僕が仕事の合間を縫って悶絶しながらRubyを勉強して、あーでもないこーでもないと考えて、現時点でこの考え方を押さえておけばもっと学習時間を短縮できたなーということをまとめようと思う。正直まだ僕は初心者レベルなので、もしかしたら間違っていることもあるかもしれないので、その場合はその都度修正させてください。 1. オブジェクトとメソッドと変数の関係を正しく捉える

    Ruby on Railsを学ぶときに常に意識しておけばよかった10のこと - Qiita
  • Rails Tutorial以前 - Web系エンジニア入門レベルを達成するには - - 国境の南

    Webエンジニアになりたいと思って、まずはじめに取り組んだのはRails Tutorialだったのだけれど エンジニアを志して半年程経ったこのタイミングで色々と思う所があって、 同じ轍を踏む人が少しでも減ればと思い 初学者が効率的にWeb系エンジニアとしての入門レベルを終えるにはどうすればいいのかという形でまとめる そもそもRails Tutorialとは ちょっとしたサイトを作ったことがあって(=HTML, CSSを使える) 入力した数字の素数判定が出来る程度のプログラミング能力があれば*、 とりあえず解説を読み下して、TwitterモドキをRailsで作れる丁寧なチュートリアルサイトのこと railstutorial.jp *実際どうかしらん、Rails Tutorialに自分が初めて取り組んだ時のレベル感 Rails Tutorial いい点と悪い点 いい点 とにかく写経すれば、ログ

    Rails Tutorial以前 - Web系エンジニア入門レベルを達成するには - - 国境の南
  • すべてのRailsプロジェクトでいれておくべき7つの開発用Gem - Qiita

    元ネタはこちらになります。 いくつかは使ったことはあるのですが、使った事がないものもあったので自分で試しながらまとめてみました。 Awesome Print これはオブジェクトを見やすくしてくれるgemです。 まず、このgemを入れていない場合の出力をみてみましょう。 ちょっとわかりにくいですね。 それではgemをいれてみましょう。Gemfileに以下を追加します。 bundle installをして、rails consoleを立ち上げなおします。 だいぶ見やすくなった感じがします。 ただ、Rails4.2からは、PrettyPrintというのが標準ではいるようになっていて、標準でもだいぶみやすくなってますね。 Rails Panel このgemをいれると、ChromeのDeveloper ToolでRailsの情報を取得できるようになります。 まず、Railsアプリケーションにmeta

    すべてのRailsプロジェクトでいれておくべき7つの開発用Gem - Qiita
  • ホーム - CloneTracker

    当社はCookieを使用して、お客様が当社のWebサイトでより良い体験を得られるようにしています。引き続き閲覧する場合は、プライバシーポリシーに同意したことになります。

    ホーム - CloneTracker
  • ActiveRecordを速くしたいだけの人生だった - Qiita

    Help us understand the problem. What is going on with this article? Rails3.2からRails4.2に上げたらActiveRecordが遅くなったので、どうやって調査して、どのように対処したかを語ってみたい。 とても長いので、ダルい人は最初と最後だけ読めばよいです。 TL;DR 環境: Ruby 2.1.5 ARオブジェクトを大量に(ざっくり750kくらい)loadするバッチ処理 3.2系での実行時間は約480sec、 4.2系では約2900sec 約6倍の性能劣化 原因: preloadで性能劣化してた CollectionProxyの生成周りで遅くなってた Rails4からARオブジェクトの1attribute毎にObject生成するので遅い GCの時間も増えた 調査方法: Githubのcommit、Issueを

    ActiveRecordを速くしたいだけの人生だった - Qiita
  • Railsアプリやgem作る時にいつも入れているgem一覧 - くりにっき

    id:joker1007 さんに触発されました。 Ginza.rb 21回の発表資料。rails_adminのつらみとオススメgem達。 1年間で10個以上アプリやgemを作っている中でよく使うgemをまとめてみます Railsアプリ(rails new した直後に必ず入れる) annotate https://github.com/ctran/annotate_models modelのソースの先頭にテーブルのスキーマ情報を付加してくれるgem。いちいちschema.rbを見に行く必要がなくなるので超ベンリ こんな感じ # == Schema Information # # Table name: plugins # # id :integer not null, primary key # name :string # title :string # version :string #

    Railsアプリやgem作る時にいつも入れているgem一覧 - くりにっき
  • Ginza.rb 21回の発表資料。rails_adminのつらみとオススメgem達。

    ginzarb_21.md rails_adminのつらみとオススメGemについて rails_adminのつらみ カスタマイズできるようで出来ない rails_adminをカスタマイズする方法まとめ - Qiita レコード件数が一定以上になると使えない機能 ダッシュボード 何も考えずに各モデルをカウントするのでレコード件数増えるとえらいことになる。 関連を付け替えするフォーム 出したり出さなかったりを一々切り替えるのがめんどい 検索機能がほぼ役に立たない じゃあどうするか プロジェクト用のscaffoldを作る方が良いのでは? 一つのモデルに対するを管理画面を作って大まかなレイアウトを決める それをテンプレート化してlayoutとscaffoldのテンプレートを上書きする コントローラーの構成もテンプレートで上書きできる それ以上の場合はlib以下にgeneratorを書く Rails

    Ginza.rb 21回の発表資料。rails_adminのつらみとオススメgem達。
  • Railsアプリケーション構築ガイド — Railsアプリケーション構築ガイド

    Railsアプリケーション構築ガイド¶ 業務でRuby on Railsを利用する人のための、アプリケーション構築ガイド 最終更新日: Feb 03, 2018 Ruby on Railsは、流儀・規則に従うことで効率的なシステム開発が可能となるWebアプリケーションフレームワークです。 レールの上に乗って開発を行っているうちは、 少ないコード量で複雑なアプリケーションを 簡単に実装できる、Railsというフレームワークの強力さ、美しさを体感できるはずです。 しかし、少しでもレールから外れたアプリケーションを実装しようとすると、途端に複雑になるのも事実です。 業務アプリケーション構築の分野では、Railsの流儀とは相容れない実装を強いられる事が多々あります。 レールから外れたアプリケーションをよく考えずに実装すると、 コードが難解になり、システムのメンテナンス性が大きく下がってしまいます。

  • Railsでリファクタリングにオススメな gem 5選 - Money Forward Developers Blog

    みなさん、こんにちは。 ウェブ・サーバーサイドを担当しています、Railsエンジニアの黒田です。 マネーフォワードも早いもので、サービスインしてから2年以上が経過しました。 サービスをご愛顧してくださっている皆様には、心から感謝しております。 さて、今回のエンジニアブログは「リファクタリング」についてです。 マネーフォワードのように、ユーザーファースト&デリバリー優先で爆速開発を進めていると、サービスとしてはイケてても、コード的にイケてるとは言い難い部分が発生してしまいがちです。 「思いやりのないコード」「可読性が悪いコード」「必要以上に複雑なコード」は、バグ発生率を高め、開発スピードを低下させ、何よりエンジニアの気分を憂にさせてしまいます。。。 マネーフォワードでは継続的かつ積極的にリファクタリングの時間を創る取組みをしていますが、そのなかで今回はRailsのリファクタリングでとても便

    Railsでリファクタリングにオススメな gem 5選 - Money Forward Developers Blog
  • ScaleOut | Supership

    2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。件に関する詳細は、プレスリリースをご確認ください。 2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。 件に関する詳細は、プレスリリースをご確認ください。

    ScaleOut | Supership
  • 【初心者】生まれて初めてプログラミングをする文系人間のためのチュートリアル - Qiita

    この記事は2014年6月ころに大部分を書いたので、現在のrailsとは異なる部分もあります。 まだ参照してくださる方がいるのですが、かなり古いためあまりお勧めできません ※削除ができないため残してあります。 はじめに この投稿は格的にプログラミングに打ち込んだことのない人向けに、Ruby on Rails Tutorialを通してプログラミングを学習してもらうというものです。 このサイトは非常によく出来ていますので、(※基礎的なプログラミング力さえあれば)レッスンを単純になぞるだけで、誰でもWebアプリケーションが出来てしまいます。 ですが、このチュートリアルは入門には難しすぎます。 なので、基礎的なプログラミング力も持っておらず、RailsTutorialを自力でこなすことができない人のために、 自力でRailsTutorialを進められるようになるところまでをサポートします。 ※この

    【初心者】生まれて初めてプログラミングをする文系人間のためのチュートリアル - Qiita
  • RailsとHerokuでノーティフィケーションをプッシュする / PusherとTurbolinksの兼ね合い

    HerokuのダッシュボードからPusherを追加。 リミットはあるけど無料で使える。 設定 APIキーとかを追加。Herokuのプロダクションは何にもしなくても面倒をみてくれるみたい。 Pusher.url とか Pusher.app_id とかは自分のローカル環境とHeroku上のアプリとでは違うものなので注意。 config/environments/development.rb # Real time notification require 'pusher' Pusher.url = "http://7f115110ccdsxxxxxxxxx:[email protected]/apps/100000" Pusher.logger = Rails.logger # Lines below are needed only for development environment. #

    RailsとHerokuでノーティフィケーションをプッシュする / PusherとTurbolinksの兼ね合い
  • Railsアプリの設計をMVCごとに見直しリファクタリングして連載総まとめ

    連載目次 前回の『「設定より規約」のRailsで必要なセッティングの基礎知識と国際化/多言語対応』まで、サンプルプロジェクトの「book_library」を題材にRailsのさまざまな機能を紹介してきましたが、今回はRailsアプリケーション開発を紹介してきた連載のおさらいとして、サンプルプロジェクトをMVCごとにリファクタリングしたいと思います。 「book_library」は社内の書籍を管理するためのアプリケーションで、これまでRailsの各機能を紹介するため場当たり的にさまざまな機能を盛り込んできましたが、もっとシンプルに作ってみましょう。 コントローラーの見直し まずは、連載第7回の「Rails開発を面白くするアクションコントローラーの5大機能とルーティングの基」で解説したMVCの「C」、コントローラーです。コントローラーの見直しは名前空間やネストによる外部構造と、アクションの

    Railsアプリの設計をMVCごとに見直しリファクタリングして連載総まとめ
  • RailsでCSV/Excel/OpenOfficeのアップロード機能の実装方法 - Rails Webook

    RailsCSV/Excel/OpenOfficeのアップロード機能の実装方法について説明します。 動作確認 Ruby 2.1 Rails 4.1 Roo 1.13.2 目次 Railsプロジェクトの作成 CSVのインポート機能の実装 Excelのインポート機能の実装 1. Railsプロジェクトの作成まず、Raislのプロジェクトを作成します。 rails new csv_import_test cd csv_import_testそして、必要なコントローラー、ビュー、モデルを作成します。 rails g controller Products index rails g model Product name:string price:integer released_on:date rake db:migrate CSV出力するためのデータを作成します。 # db/seeds.rb

    RailsでCSV/Excel/OpenOfficeのアップロード機能の実装方法 - Rails Webook
  • Rails複数データベース関連の資料まとめ

    仕事で今、Railsアプリケーションで複数DATABASEのサービスを開発していて、いろいろと悩むことが増えてきたので、勉強を兼ねてネットにあったドキュメントを収集していくつか読み込んでみました。俺得記事です。あともしよい資料とかあればぜひコメントください! 🎳 クックパッドにおける最近のActive Record運用事情クックパッドにおける最近のActiveRecord運用事情 - クックパッド開発者ブログ マイグレーションは使っていない1,500以上のモデルがあり、複数人が作業しているため、互いの作業をブロックしないためにもマイングレーションでの運用は行っていない。 スキーマ管理ツール: Ridgepolewinebarrel/ridgepole - GitHubスキーマ管理ツール。テーブル定義ファイルにカラムを書き足すと、実際のDBのテーブル定義と比較して、 差分があればそのぶん

    Rails複数データベース関連の資料まとめ
  • #22 普段からRailsプロジェクトで使っている10個の便利Gem - KAYAC engineers' blog

    この記事は tech.kayac.com Advent Calendar 2014 22日目です。 こんにちは。Rubyを書いている @yumiyon です。 今回は、Railsプロジェクトで「○○がしたい!」と思った際に、自分がよく利用するGemを機能ごとに分けて10個ほどご紹介します。日頃からRailsで開発を行なっている方は既知のものばかりかもしれませんが、Railsを始めたばかりの方や、自分のための備忘録として。 目次 Gemとは 1、画像をアップロードしたい(CarrierWave) 2、管理画面を作成したい(ActiveAdmin) 3、環境毎に定数を管理したい(rails_config) 4、crontabを管理したい(Whenever) 5、スプレッドシートにアクセス(google_drive) 6、ページャーを実装したい(kaminari) 7、非同期処理を使いたい:ジョ

    #22 普段からRailsプロジェクトで使っている10個の便利Gem - KAYAC engineers' blog
  • オレオレRailsアプリを支えるインフラの作り方 - くりにっき

    はじめに これは Ruby on Rails Advent Calendar 2014 - Qiita の19日目です 18日目 @yancya さんの Rails でシングルじゃないテーブル継承 - Qiita でした 19日目:オレオレRailsアプリを支えるインフラの作り方 最近では Heroku などのPaaS*1 も普及してインフラのことを知らなくても簡単にアプリを公開することができるようになりました。 しかしトラブルシューティングやパフォーマンスチューニングなどを行うにはアプリケーションコードだけで完結することは少なく、全体像を把握する必要があります。Railsアプリケーションの裏でどんな構成で動いているかを知っておくかは重要なのでざっくりと紹介したいと思います。 書かないこと Railsアプリを作る上でのノウハウ 便利なgemや外部サービスの紹介 *2 監視 アラート検知 モ

    オレオレRailsアプリを支えるインフラの作り方 - くりにっき
  • RubyとRailsにおけるTime, Date, DateTime, TimeWithZoneの違い - Qiita

    RubyRailsにおけるTime, Date, DateTime, TimeWithZoneの違いRubyRails 2021.2.11追記:DateTimeクラスは非推奨なクラスになりました DateTimeクラスは非推奨なクラスとなり、DateTimeクラスではなくTimeクラスを使うよう、公式にアナウンスされました。 参考1 But we consider use of DateTime should be discouraged. - matz (Yukihiro Matsumoto) https://bugs.ruby-lang.org/issues/15712#note-4 参考2 DateTime は deprecated とされているため、 Timeを使うことを推奨します。 https://docs.ruby-lang.org/ja/latest/class/DateT

    RubyとRailsにおけるTime, Date, DateTime, TimeWithZoneの違い - Qiita