タグ

ブックマーク / qiita.com/jnchito (7)

  • きみたちは今まで何のためにRailsでMVCパターンを勉強してきたのか - Qiita

    はじめに タイトルは半分釣りです。ごめんなさい。 先日、僕のブログで以下のようなエントリを書きました。 アウトプットのネタに困ったらこれ!?Ruby初心者向けのプログラミング問題を集めてみた(全10問) - give IT a try 簡単にいうと、技術書の丸写しをしてアウトプットした気にならず、自分でコードを書いてそれを公開しようぜ〜という内容です。 で、そのお題となるような簡単なプログラミング問題を10問ほどブログ内で紹介しています。 これまで何人かの方がご自身のブログやQiitaに解答コードを載せているのを見かけました。 ちゃんとチャレンジして偉い!すばらしい!!👏👏👏 ・・・と、実行に移した姿勢は非常に良いのですが、コードを見てみると多くの方が「うーん、惜しい!」と思ってしまう「ある病気」にかかっていました。 というわけで、この記事ではその「ある病気」について、それとプログラ

    きみたちは今まで何のためにRailsでMVCパターンを勉強してきたのか - Qiita
    nabeatsu1
    nabeatsu1 2019/06/01
  • 【Rails】開発環境とテストコード上(または本番環境)でデータの並び順が異なる場合の原因と対処方法 - Qiita

    はじめに 「同じように作成したデータのはずなのに、開発環境とテストコード上(または番環境)で並び順が異なってる!いったいなんで!?」と困っているRails開発者さんをときどき見かけます。 これはたとえば、開発環境でUserの一覧を見ると、 Alice Bob Carol と並んでいるのに、テストコード上で実行すると、 Carol Bob Alice の順で並んでいる、というような現象です。 この記事ではこういった問題が起きる原因(確認ポイント)と対処方法を説明します。 確認ポイント: ちゃんとorder(SQLのORDER BY句)を指定しているか? たとえばRailsでUser.allを実行すると、その裏では次のようなSQLが発行されています。

    【Rails】開発環境とテストコード上(または本番環境)でデータの並び順が異なる場合の原因と対処方法 - Qiita
  • 【初心者向け】テストコードの方針を考える(何をテストすべきか?どんなテストを書くべきか?) - Qiita

    はじめに 「テストコードを書きましょう」とはよく言われるし、テストコードが大事だってことも理解できるんだけど、何をテストしたらいいの?どんなテストを書いたらいいの?と迷っている初心者プログラマさんは意外と多いのではないでしょうか? そんな方たちに向けて、この記事では僕が普段意識しているテストコードの方針を紹介します。 おことわり 来であれば具体的なコード例も豊富に入れたいところなのですが、かなり時間がかかってしまうので、いったん文章メインで記事を公開します。 もしかすると、そのうちコード例も一緒に盛り込んだ「リッチバージョン」を公開するかもしれません。 この記事の前提条件 この記事ではあくまで、「今現在、筆者が仕事で書いているテストコードの方針」です。 そのため、状況が異なると適用しづらい方針も出てくるかもしれません。 筆者は以下のような現場でコードを書いています。 月額定額で、お客様と

    【初心者向け】テストコードの方針を考える(何をテストすべきか?どんなテストを書くべきか?) - Qiita
  • ActiveRecord serialize / store の甘い誘惑を断ち切ろう - Qiita

    はじめに みなさん、ActiveRecordの serialize や store は好きですか? 僕は 嫌い です。 serialize や store は原則として使わない方がみんな幸せになれると思っています。 なのでみなさんも serialize や store は使わないようにしてください。 以上! ・・・で終わったら意味がわからないと思うので、この件についてなぜダメなのかをちょっと詳しく掘り下げてみます。 そもそも serialize / store とは? serialize や store は ActiveRecord の機能の一つです。 text型のカラムに配列やハッシュなど、好きな形式のデータを放り込めます。 テーブルやカラムを追加しなくても自由にデータが保存できる 魔法のような機能 (注:皮肉)です。 サンプルコードを使ってこの機能を確認してみましょう。 以下の例では

    ActiveRecord serialize / store の甘い誘惑を断ち切ろう - Qiita
    nabeatsu1
    nabeatsu1 2018/03/15
    ブクマ[rails][ActiveRecord][serialize]
  • ActiveRecordにおけるdestroyとdestroy!の違い - Qiita

    TL;DR(最初にざっくり結論) destroy : 削除できたら真の値(削除したインスタンス自身)、できなかったら偽の値(false)を返す。 destroy! : 削除できたら真の値(削除したインスタンス自身)、できなかったらActiveRecord::RecordNotDestroyed例外を発生させる。 削除に失敗する例 before_destroyコールバックでthrow :abortされた場合 dependent: :restrict_with_errorが設定され、なおかつ関連する子レコードを持つ親レコードを削除しようとした場合 はじめに ActiveRecordにはデータを削除するメソッドとして、destroyとdestroy!があります。 これはsaveとsave!の関係によく似ています(saveは検証エラーが発生したときにfalseを返し、save!は例外を発生させる)

    ActiveRecordにおけるdestroyとdestroy!の違い - Qiita
  • Rails 4.1以降のコンソールコマンドは必ず bin/ を付けなきゃいけないの? - Qiita

    はじめに:Springが起動するコマンドはいったいどれだ!? Rails 4.1からはアプリケーションpreloaderとしてSpringが標準で組みこまれています。 Springを使うとバックグラウンドでRailsサーバーが動いている状態になるので、rails g やrakeコマンドが素早く起動します。 一般に、Springを使う場合は bin/rails g や bin/rake -T のように、bin/ を付けるように言われていますが、これは必須なんでしょうか? bin/ を付けずに実行すると、何が起きるんでしょうか? というわけでちょっと調べてみました。 対象バージョン Rails 4.1または4.2 railsコマンドの場合:bin/ を付けなくても大丈夫! まず最初に、bin/rails c と rails c を実行して、Springのstatusがどう変わるか確認してみまし

    Rails 4.1以降のコンソールコマンドは必ず bin/ を付けなきゃいけないの? - Qiita
  • [初心者向け] RubyやRailsでリファクタリングに使えそうなイディオムとか便利メソッドとか - Qiita

    はじめに: 遠回りせずに「近道」を探す RubyRailsを始めたばかりの人は、もっと短く書く方法や便利な標準ライブラリの存在を知らずに遠回りした書き方をしてしまいがちです。 そこで、RubyRails初心者の人によく見かける「遠回り(または車輪の再発明)」と、それを回避する「近道」をいろいろ集めてみました。 2013.11.06 追記 この投稿を書くに至った経緯などを自分のブログに書きました。 こちらも合わせてどうぞ! 昨日Qiitaに投稿した記事は普段のコードレビューの副産物 - give IT a try Ruby編 以下はRubyの標準機能を使ったイディオムやメソッドです。 Railsプロジェクトでもそれ以外でも使えます。(Ruby 1.9以上を想定) 後置ifで行数を減らす

    [初心者向け] RubyやRailsでリファクタリングに使えそうなイディオムとか便利メソッドとか - Qiita
  • 1