並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 9737件

新着順 人気順

activerecordの検索結果281 - 320 件 / 9737件

  • テストコードを書く上で個人的に気をつけている5つのこと - Qiita

    はじめに エンジニアの皆様、テストコードはちゃんと書けておりますでしょうか?(挨拶) どんな開発言語や開発手法を導入していたとしても、アプリケーションの機能実装とテストは表裏一体であると言えます。場合によっては機能の作り込みよりも時間をかけるべきケースが多いくらい重要である(・・・と信じたい)反面、デッドラインが近づくにつれて真っ先に工数が削られやすく軽視されがちな工程でもあります。 時間に追われてテストコードを書いた結果、テストの体をなしていないコードになっていたり後で見返したときに記述が煩雑すぎてメンテ不能になっていたり・・・といった苦い経験は誰しもがあるかと思います。かくいう自分もそんなことは多々ありました。 そんな今までの経験則を基に「自分がテストコードを書くにあたってどんなことを意識しているのか?」をいくつかピックアップして備忘録も兼ねて紹介したいと思います。 一応注意なのですが

      テストコードを書く上で個人的に気をつけている5つのこと - Qiita
    • UTF-8で動くRailsがShift_JISな外部システムと通信する方法 - BOOK☆WALKER inside

      こんにちは。 メディアサービス開発部Webアプリケーション開発課のフサギコ(髙﨑)です。部署名が変わりました。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるテックリードのような立ち位置で働いています。 本記事では、UTF-8環境下で動くRailsがShift_JISな外部APIと通信する方法についてお話しします。 前提知識 文字コード UTF-8環境下で動くRailsがShift_JISな外部システムと通信するには Shift_JISな外部APIに対してPOSTリクエストする べた書きとしては Railsにおいては Shift_JISで使用できない文字が混ざっていないかをバリデーションする Shift_JISな外部システムからPOSTリクエストを受ける おまけ: ユーザのブラウザにShift_JISでPOSTさせる

        UTF-8で動くRailsがShift_JISな外部システムと通信する方法 - BOOK☆WALKER inside
      • Rails だって硬いデータベース設計をしたい!そんなあなたに贈る Tips 4 選 - peroli Developer's Blog

        2016 - 09 - 09 Rails だって硬いデータベース設計をしたい!そんなあなたに贈る Tips 4 選 list Tweet こんにちは、ペロリのサーバサイドエンジニアの @a_suenami です。 今回は Ruby on Rails アプリケーションにおけるデータベース設計についてちょっとご紹介したいと思います。 データベース設計してますか? みなさん、データベース(以下、DB)設計していますか?Scaffold したときにできた migration ファイルをそのまま使ったりしてませんよね? Ruby on Rails (以下、 Rails )は CoC(Convention over Configuration: 設定より規約)を強く提唱している フレームワーク であり、それによって得られる恩恵も大きい反面、かなり強めに設計の自由度を束縛されるという特徴もあります。特に

          Rails だって硬いデータベース設計をしたい!そんなあなたに贈る Tips 4 選 - peroli Developer's Blog
        • どれ使うべき?3大WebフレームワークRails・Django・Laravelを徹底比較してみた - paiza times

          (English article is here) ブラウザを開くだけでWeb開発環境が整う PaizaCloud クラウドIDE こんにちは、吉岡(@yoshiokatsuneo)です。 Webサービスを作成する時に迷うのが、「どのWebアプリケーションフレームワークを使うか?」ですよね。 今からWebサービスを作るなら、Ruby on Rails, Django, Laravelが主流となる3大フレームワークかと思われます。 いずれもフルスタックフレームワークと呼ばれるもので、Web開発に必要な機能を一通り揃えていますが、もちろんそれぞれ開発言語、機能、構成などは異なります。 どれも有名なフレームワークなので、名前だけならすべて知っているという人も多いかと思いますが、実際に全てを使ったことがある人は少ないのではないでしょうか。 すでにどれかを使って開発している人も、ほかのフレームワーク

            どれ使うべき?3大WebフレームワークRails・Django・Laravelを徹底比較してみた - paiza times
          • Yii Framework

            Yes, it is! Yii is a fast, secure, and efficient PHP framework. Flexible yet pragmatic. Works right out of the box. Has reasonable defaults.

              Yii Framework
            • 退職の作法、あるいはオフボーディング実践入門 - スタディサプリ Product Team Blog

              -0b10日後に最終出社を迎える@ohbaryeです。 最終出社を迎えるにあたって後任の任命や業務の引き継ぎといった退職・離職までの一連の流れを経験したわけですが、なにぶん人生でそうそうあることではないのでしばらくは暗中模索の様相を呈しました。人生において数度あるとはいえ慣れるほど数をこなすわけでもなく、同じ会社ですでに退職を経験された方々、あってほしい"先達"はすでになく。 会社としての事務手続きは整備されていても、どのような振る舞いがより効率的であるのか、退職後も良い信頼関係を築けるのかといった点についてはさほど多く語られていないと気付きました。 この記事では退職・離職までの一連の流れを"オフボーディング"と呼称し、退職が決まってからの効果的な過ごし方を目指してやってきたことについて記述します。 ありふれたビジネスマナー記事にならないように留意したつもりです。 対象読者 退職する人 同

                退職の作法、あるいはオフボーディング実践入門 - スタディサプリ Product Team Blog
              • ドメイン駆動設計の比類なきパワーでRailsレガシーコードなど大爆殺したるわあああ!!! - Qiita

                この記事は クラウドワークスアドベントカレンダー2019 12日目の記事です。 概要 こんにちは、怒り駆動リファクタリングを生業としている @MinoDriven です。 弊社リファクタリング専門チーム「バグハンター」で現在実施中のリファクタリング設計について紹介致します。 ドメイン駆動設計 を用い、Railsレガシーコードに対しViewとControllerを ActiveRecord非依存 に変更する設計です。 状況 弊社ブログの過去エントリにあるように、弊社サービスcrowdworks.jpはサービスインから8年経過し、 30万行 を超えるモノリシックRailsアプリになっています。 開発生産性が低下してきています 。 生産性低下の課題を解決しようにも、大規模な上に複雑かつ密結合な構造になっており、 マイクロサービスへの移行も、リプレイスも困難な制約 があります。 そこで半年前にリフ

                  ドメイン駆動設計の比類なきパワーでRailsレガシーコードなど大爆殺したるわあああ!!! - Qiita
                • フレームワークで語るMVCの話 : PHP Advent Calendar #19 - basuke の日記

                  この記事はPHP Advent Calendarの19日目の記事です。 プログラマ10人集まれば、誰かMVCうんちく語るのが常。みんな大好きMVCの話です。僕は今年でPHPプログラマとして10年が経過しました。この節目の年に、これまで触ってきたフレームワークを振り返り、徹底的な個人的主観でMVCについて語っていきたい思います。忘年会シーズンでお疲れの皆様、ご安心ください。コード・ゼロでお届けします。 いろんな言語のいろんなフレームワークを触ってきたつもりですが、Javaはやってなかったんであまり詳しくないです。主にRails以降のフレームワークを見ていきます。 Railsの功績 PHPプログラマとしてRailsの登場で何にびっくりしたかというと、次の三つです。 router ActiveRecord cliと対話型shell ActiveRecordは魔法のように見えましたが、いずれ出ても

                    フレームワークで語るMVCの話 : PHP Advent Calendar #19 - basuke の日記
                  • ロックイン - mizchi's blog

                    Rebuild.fm の mirakui さんの回聴いてたんだけど、インフラの世界観だと、ロックインさせたい Amazon/Google VS 自由を手に入れたいDocker みたいな構図がある、な話があって、思うところがあった。 rebuild.fm 勿論、話はそう単純じゃないし、それぞれがそれぞれの成果を利用しあってるので、どっちが正義だみたいな話にはならない。第三者目線としては、寡占にならず競争が続くのが望ましい。僕個人の意見としては、金が生まれるところには、正しく金が生まれてほしい。それで全体としての健全性が育まれるなら。日本にいてあんまり面白くないのは、その辺の基盤技術に関われる機会があんまりないことだが…。 とはいえ、利用者目線としては、できるだけ自由なポジショニングを可能な限り選び続けるべき。だが、自由を手に入れるには、それだけの知識が必要となるし、そこを諦めたところをアウト

                      ロックイン - mizchi's blog
                    • Railsでリファクタリングにオススメな gem 5選 - Money Forward Developers Blog

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

                        Railsでリファクタリングにオススメな gem 5選 - Money Forward Developers Blog
                      • SQL 脳から見た Ruby

                        The document discusses testing the limits of MySQL by creating an extremely long SQL query with over 4,000 "UNION ALL" selections of the value "b". This exceeded the maximum length of SQL queries that MySQL servers can execute, which is defined by the max_allowed_packet system variable and has a maximum value of 1GB. Creating such a long meaningless query demonstrated that MySQL has limitations on

                          SQL 脳から見た Ruby
                        • スタメンの技術的負債解消戦略 - stmn tech blog

                          1. これはなに こんにちは、リファクタリング大好きなミノ駆動です。2023年7月より株式会社スタメンにジョインしました。 この記事は、今後スタメンにおいてサービスの技術的負債を解消する設計戦略についてまとめたものです。 2. 背景、課題 株式会社スタメンは2016年創業。主要サービスであるTUNAG(ツナグ)は、企業のエンゲージメントの構築、つまりお互いを知って理解し、信頼し合う組織を作るための社内コミュニケーションを活性化させるプロダクトです。TUNAGのバックエンドはRuby on Railsで開発され、ローンチから7年をむかえつつあります。 これまでTUNAGは、プロダクトをいかに伸ばすかに注力してきた一方、内部品質や開発効率など「開発者体験」に関する課題が後手に回っていました。本来プロダクトチームはユーザーにとっての本質的な価値にのみフォーカスできる状況が理想ですし、開発者体験が

                            スタメンの技術的負債解消戦略 - stmn tech blog
                          • Railsプロジェクトで好んで使っている便利な処理 - alpaca-tc

                            Railsプロジェクトで、自分が好んで使っている便利な処理をまとめてみました。 core_ext編 sort_byは安定ソートではないので、with_indexを組み合わせて安定ソートを行う https://gist.github.com/alpaca-tc/ed793961f2db438abaae3c00b7e303fa RSpec編 partial viewでインスタンス変数を呼び出していないことをチェックするテスト https://gist.github.com/alpaca-tc/c19f00d583234a2c73eda6d8378b8c50 モデルが変更された際に、参照元・参照先の双方に関連が定義されていることをチェックするテスト https://gist.github.com/alpaca-tc/d53dee5977746256717c7522988b13d8 テーブルが変更

                              Railsプロジェクトで好んで使っている便利な処理 - alpaca-tc
                            • ようやく Rails3 アプリを一つリリースした。

                              リリースしたものよりもそこに至る過程や理由が自分にとって大事なのでそれを残しておこうと思う。 ※ なんかこれしか書いてないとリリースしたものがどうでもいいように聞こえるけど、そんなことないよ! 付き合い続ける気があるからこその Rails だもの。 Rails の採用に関してオレフレームワークとの決別と人材採用のコストダウンこれまで、PHP 4.2 以降で使えるオレライブラリ、オレフレームワークで小規模なものを作ったり、PHP 3 時代からのレガシーというか遺跡級のシステムの漸進的リプレイスなどを行っていたが、どうも限界を感じていた。なんか仕事が後ろ向きな感じもしていた。このままだとずっと時代に追いつけずに終わりそうという危機感もあった。 また、Google App Engine の登場以降感じていた「うちに必要な技術はこれだよ」と具体的にはっきり言えること、それによって生み出すことのでき

                              • factory_girl で最低限知っておきたい4つの使い方 - (゚∀゚)o彡 sasata299's blog

                                2013年08月22日13:26 Ruby factory_girl で最低限知っておきたい4つの使い方 みなさん、テストを書くときには Fixture Replacement として何を使ってますか?一番メジャーなところだと factory_girl でしょうか。machinist も有名ですね。シンタックスの違いのようなので基本的にはどちらでも良さそうです。 参考(stackoverflow)Machinist vs FactoryGirl - pros and cons In other words, both are extremely similar, just with a different default syntax. 今回は(僕が factory_girl4.2.0 を使ってるので)factory_girl4.2.0 についての話です。 インストール まずインストールし

                                • 読書メーターのインフラ構成について - BOOK☆WALKER inside

                                  こんにちは。 メディアサービス開発部バックエンド開発グループのフサギコ(髙﨑)です。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるテックリードのような立ち位置で働いています。 本記事では前記事のニコニコ漫画のインフラ構成についてに続いて、読書メーターのサービスインフラの概要について軽くご紹介したいと思います。 読書メーターについて 読書メーターは、2008年5月に開設された日本最大級の読書コミュニティサイトです。 単純な読書記録や感想投稿に留まらず、ユーザ間で交流ができること、出版各社さまからご提供いただき著者さまのサイン本や発売前に校閲校正をする際の仮刷りであるプルーフと呼ばれる段階の本が貰える献本プレゼント企画を行っていることも特徴的な点です。 読書メーターの構成 読書メーターは下記の6つのコンポーネントから構成

                                    読書メーターのインフラ構成について - BOOK☆WALKER inside
                                  • 最近のRails関係の仕事内容

                                    RubyやRailsのアップグレードを主なマイルストーンとしつつ全体的に開発体験を良くしていくというタイプの仕事を請けることが多いのですが、仕事を依頼する側の視点に立ってみると「実際のところ業務に参加するとどういうことが行われるのか?」というのがやはり気になると思います。 実際、最近の打ち合わせでもその手の不安について相談されることがあったので、ここ1ヶ月でそれ系の仕事で出したPull Requestを元に、実際に何をやっていたかの例を挙げてみたいと思います。 開発環境構築手順や説明方法の改善 荒れたRuboCopの改善 .rubocop.ymlからTargetRailsVersionを取り除く DEPRECATION WARNING対応いろいろ 既存のメソッドと名前が被っているスコープを別名に変更 RSpecのpositional-argumentsを置換 activerecord-im

                                      最近のRails関係の仕事内容
                                    • ActiveModel::Attributes が最高すぎるんだよな。 - Qiita

                                      Ruby on Rails 5.2.0.beta2が出て久しい。 僕はRails大好きっ子なので 社内の新規事業や、社外のお手伝いしているベンチャー企業では もちろん、Rails5.2を使って開発をしている。 すでに、新しいRailsに関する記事はいくつか挙がっているが 個人的に、一番インパクトが大きかったのはActiveModel::Attributesが導入されたことである。 待望のActiveModel::Attributes ActiveModel::Attributesでなにが変わったの?というと、 いままでActiveRecordでしか使えなかった一部の機能が、ActiveModelでも使えるようになっただけである。 いや、しかし! 今までのActiveModelの最大の弱点は まさにこの ActiveModel::Attributes が無かったことだと思う。 それが、Rai

                                        ActiveModel::Attributes が最高すぎるんだよな。 - Qiita
                                      • YappoLogs: あなたがRuby on Railsを使わない10の理由

                                        あなたがRuby on Railsを使わない10の理由 RoRを覚えても職場ではEthnaなんだよね、それにZend Frameworkも出たし まずはこれから。よく聞くんだけど、これは解決可能な問題だ。というか問題設定が間違っている。 最初に根本的に疑問なんだけど、なぜ会社で使っているのと同じフレームワークをあなたが使わないといけないんだろう。慣れてるから? 仕事を持ち帰るから? 自分のために使うのはRoRでいいと思う。あなたが自分のためにやることってなんだろう。fgetcsvを使ってCSVパースすることかな。そうじゃないだろう。ここを読んでいるほとんどの人にとって重要なのは、メールを読み書きして、Webを見て、Blogを書いて、プログラムを書いて、っていうことだろう。他にも、デジカメで撮った写真を整理するアプリを作ったり、音楽を共有したりっていうのもある。この中には、Ethnaじゃなき

                                        • Rails でドメインロジックの実装方法まとめ - assertInstanceOf('Engineer', $a_suenami)

                                          このエントリは Ruby on Rails Advent Calendar 2014 の 7 日目のエントリです。 前日は seri_k さんの「Turbolinksさんと上手く付き合う10の方法」でした。 お詫び WIP です。公開期限に間に合わない可能性があるため、まだ途中ですが先に公開してしまいました。 サンプルコード等を後ほど追記する予定です。 → 12/08 18:10 追記しました。 Rails のファットモデル問題 Rails で構築したアプリケーションが大規模になり機能が増えていくにつれてモデルが大きくなり、そのうち手がつけられなくなる問題は古くから指摘されています。これについてはもはや詳細を述べるまでもないと思うので割愛しますが、この問題は 2014 年になった今でも多くの開発チームを悩ませていると感じています*1。 このエントリでは、普段 Rails を業務で使いながら

                                            Rails でドメインロジックの実装方法まとめ - assertInstanceOf('Engineer', $a_suenami)
                                          • RailRoad diagrams generator

                                            RailRoad is a class diagram generator for Ruby on Rails applications.RailRoad is a class diagrams generator for Ruby on Rails applications. It's a Ruby script that loads the application classes and analyzes its properties (attributes, methods) and relationships (inheritance, model associations like has_many, etc.) The output is a graph description in the DOT language, suitable to be handled w

                                            • Railsが時代に合わなくなってきた

                                              追記 RailsでJS辛い問題に関しての結論:http://qiita.com/kaiinui@github/items/dad6180f1910c6a4bfd5 -- 近年、(1) Web/App両対応が増えてきたこと、(2) WebでもJSを多用するようになったこと、の二つがあり、以下の点でRailsが微妙になっている。 ViewのJavascriptがRailsから独立している API層のサポートが微妙 最初に書いておきますが、特に決定的な解決策もなく、辛いから今後解消されてほしいよね、な話です。 ViewのJavascriptがRailsから独立している Railsはとても堅牢。 モデル、コントローラ、ルーティングと、変にいじらない限りはほとんどテストが要らない。 必要なのは、モデルに新たにpublicメソッドを付けたときくらいだろう。 実際、バックエンドはそうそうバグが出ない。

                                                Railsが時代に合わなくなってきた
                                              • 最近のRuby on Railsプロジェクトで使ってるもの(2012 winter edition) - Fujimura

                                                最近のRuby on Railsプロジェクトで使ってるもの・やっていることを紹介します。 rake setupちょっと前にこの記事を読んでやりたかったやつです。 Setting up a new machine for Ruby development by David of 37signals $ git clone git@your-server:you/your-repo.git $ rake setup すると、開発に必要な環境ができあがるというrake task。今いるプロジェクトではデータベースを作りなおして、開発環境用のテストデータを投入。テストデータのまとめ、各種URLなどを表示しています。 何かデータが変になったとか、まっさらの状態から動かしたいとか、そういう時はとにかくrake setupすればOK。 rake setupを一発叩けばアプリがそれなりに動く状態になる、っ

                                                  最近のRuby on Railsプロジェクトで使ってるもの(2012 winter edition) - Fujimura
                                                • #yapc8oji 得票数4位トーク「あの日見たM V WhateverのModelを僕たちはまだ知らない」実況中継 - Re.Ra.Ku tech blog

                                                  丸山です。ヤパチー、最高に楽しかったですね。スライドの公開はしたのですが、正直重要なことは全部口頭で説明していて、スライドには情報が少ない。しかし、動画を見るのは正直だるい。40分もPCの前で集中して映像を観れないですよね。知ってる。というわけで、受験参考書の「実況中継」シリーズ(知ってます?)方式で、プレゼンをブログで再現します。長いぞ。でも多分動画見るよりははやく読み終われる。ぜひ読んでいってください。 アバンパート 今日はこういうトークをします。 簡単に自己紹介すると、こういうものです。 息子紹介です。かわいいですね。 WEB+DB Press 91号では特集を、92号ではPerlHackersHubに記事を書かせてもらいました。もう原稿料いただいてるので、もうこれ買ってもらってもわたしには一銭も入らないんですけど、いい雑誌なので買ってないひとはぜひ買って読んでください。 まずMVW

                                                    #yapc8oji 得票数4位トーク「あの日見たM V WhateverのModelを僕たちはまだ知らない」実況中継 - Re.Ra.Ku tech blog
                                                  • ActiveResource の使い方(前編) : Rails 同士で通信する - WebOS Goodies

                                                    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 少し前にActiveResource で Google Spreadsheets をアクセスするライブラリを公開しましたが、思ったほどブクマとかされなくて、ちょっとションボリ(´・ω・`)な感じでした。まあ、ライブラリがイマイチと言われればそれまでなのですが、それ以前に ActiveResource 自体があまりよく知られていたいのかな、という気もします。たしかに

                                                    • MyrokuというHerokuっぽいものを実装してみた - As a Futurist...

                                                      あけましておめでとうございます。SF アドベントカレンダーも書けず、2012 年のまとめとかも書けず、まぁ何をしてたかというと生きるのに精一杯だったんですが、あともう一個やってたのがアプリ書くってことでした。前から、自前で簡単につかえる Heroku っぽい PaaS があるといいなぁと思ってたのですが、やっと動くものができましたので公開します。”My Heroku”で Myroku。 riywo/myroku-cookbooks · GitHub riywo/myroku-server · GitHub どういうもの? 基本の挙動は超シンプルです。Heroku っぽい感じ。 好きな名前のアプリを作成する(sample-app) .llenvに使いたい LL のバージョンを書く(node-0.9.3) Procfileに起動するプロセス書く(web: node app.js) 一番最初に

                                                        MyrokuというHerokuっぽいものを実装してみた - As a Futurist...
                                                      • Redmineのインストール - Redmineガイド

                                                        データベース MySQL 5.5 - 5.7 MySQL 5.6以降とMariaDBは既知の問題があります (#19344, #19395, #17460). Redmine 3.x は MySQL 5.0 と 5.1 にも対応しています PostgreSQL 9.2以降 データベースの日付形式はISO(PostgreSQLのデフォルト)に設定してください。次のSQL文で設定できます: ALTER DATABASE "redmine_db" SET datestyle="ISO,MDY"; Redmine 3.x は PostgreSQL 8.1 から 9.1 にも対応しています Microsoft SQL Server 2012以降 Redmine 4.0 は2018年12月時点ではSQL Serverに対応していません。依存しているライブラリ activerecord-sqlserve

                                                        • Go言語でActiveRecordライクなORMをつくった

                                                          Goで DataMapperじゃなく、ActiveRecordライクにDB操作したいと思ってつくってみました。 go/parserとgo/astでソースを解析、個々の構造体ごとにARなコードを生成します。 argen ActiveRecord** Gen**eratorでargenです。 クイックスタート テーブルを表す構造体に+ARアノテーションをマークします。

                                                            Go言語でActiveRecordライクなORMをつくった
                                                          • GraphQLを勉強した - mizchi's blog

                                                            自分でGraphQLサーバーを実装しながら勉強したログ。間違ってるかも。 コードはここにあるが、何の注釈もない。 https://github.com/mizchi-sandbox/play-graphql-server RESTの課題 REST は URI とモデルのマッピング構造だが、往々にしてクライアントで必要となる構造は モデルのうち一部であったり、そのリレーショナルな構造に依存する。 つまり、REST というルールに従って必要なデータを組み立てると、リレーショナルな構造によってN回のリソースへのアクセスと、興味がないデータを含んだ不要なペイロードが発生しがちである。 GraphQL は何をしたいか 1リクエスト内でモデルへの問い合わせを合成し、さらに必要なものだけ返却したい 言語とは独立した、転送経路上のモデルの定義を行いたい パフォーマンス上の理由とセマンティクスが同居している

                                                              GraphQLを勉強した - mizchi's blog
                                                            • Rails 2.0のscaffoldを使ってみた - idesaku blog

                                                              Ruby on Rails 2.0になって何が変わったのか俯瞰してみるには、とりあえずscaffoldを作ってコードを見てみるのがよかろう、と思ったので作ってみた。 ありがちで恐縮だが、Personモデルのscaffoldを作る。要素は名前(name)と年齢(age)の二つだけ。シンプル。 まず、アプリケーションの初期化を行う。DBはお手軽に扱いたいのでsqlite3を使うことにした。これだとconfig/database.ymlの編集も不要なので楽。 $ rails trial -d sqlite3 (略) $ cd trial で、Rails 1.2であれば、まずはmigrationファイルを作ってDBにmigrateし、その後でおもむろにscaffold生成を行うところである。しかし、Rails 2.0ではここでいきなりscaffoldの生成を始める。 $ ruby script/g

                                                                Rails 2.0のscaffoldを使ってみた - idesaku blog
                                                              • RailsのRSpecテストを速くする方法まとめ - Rails Webook

                                                                Photo by Flickr: chief_huddleston's Photostream Railsの規模が大きくなると自動テストの実行時間もだんだんと長くなっていきます。素早く開発していくにはテストの実行時間を短くすることが大切です。 RSpecのテストを速くする方法をまとめましたので参考にしてください。 動作確認 Rails 4.1 rspec-rails 3.1.0 test-queue 0.2.9 目次 1. RSpecのパフォーマンス測定 2. test-queueで並列でテストを実行する 3. rspec-guardを使って更新したファイルを自動的にテストする 4. Springを使ってテストのロード時間を短くする 5. ログレベルを変える 6. GCを実行を抑える 7. RSpecファイルのリファクタリングをする 7.1. itを少なくする 7.2. createよりも

                                                                  RailsのRSpecテストを速くする方法まとめ - Rails Webook
                                                                • 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達。
                                                                  • 「設定」を設計するための資料 - Hibariya

                                                                    プログラムは、なるべく何もしなくても良い感じに動いてくれるのが理想的だけど、実際には何らかのかたちでユーザの設定を必要とすることがある。 Rails を使うときは config/application.rb でタイムゾーンを指定したり、DB へ接続するための情報を config/database.yml に指定する。 Bundler の挙動を変えたければ bundle config で設定を変更する。 Gem をインストールするときに毎回指定したいオプションがあれば、~/.gemrc に追記する。 もし自分の関わるプロダクトに「設定」のAPIが必要になったとき、何を判断の基準にして設計すればいいだろう。 ちょっと近所を見渡すだけでも、「設定」のやり方には色々ありそうだ。 設定という視点から、Rubyist にとって身近なプロダクトたちを資料として眺めてみた。 (NOTE: ちょっと悩みなが

                                                                    • これからはじめるRuby on Rails

                                                                      はじめに Rubyと出会ったころ、その簡潔さに感動した著者は、「ここまで自然言語に近い形でプログラムが書けるのであれば、インターネットとPCの違いすら理解しない妻でも、少しはプログラミングができるようになるかもしれない」と、家庭での普及に挑戦したことがあります。 その試みは、渡した入門書を「はじめてのRUBAI」と読まれた時点で頓挫したわけですが、その経験から「Rubyの文法に従ってはいるが、何やら他言語の匂いを感じるコード」のことを、Rubyの潜在力を生かしきれていないという意味で「RUBAIコード」と呼ぶことにしました。 そして、社内のさまざまな分野のプログラマにRuby開発を指導してみて分かったのは、"RUBAIコード"には、実装レベルの間違いと、設計レベルの間違いがあるということです。 実装レベルの間違いとは、処理を他言語の習慣に従って記述することで引き起こされます。Javaプログ

                                                                      • 第9回 SinatraとSequel・Hamlで掲示板アプリを作る | gihyo.jp

                                                                        はじめに 第7回はRails以外のWebフレームワークの簡単な紹介と、SinatraでHello Worldアプリケーションを動かすところまでを解説しました。今回はSinatraで実際のアプリケーションを作り、SequelとHamlという2つのライブラリを紹介します。 Sinatraの特徴は、CGIスクリプトのようにファイル一つからアプリケーションが書ける気軽さです。CGIスクリプトといえば、代表的なものは何と言っても掲示板(BBS)です。そこで、今回はSinatraで掲示板アプリを作ってみました。ソースコードが少し長めなので、githubにて全文を公開しています。適宜参照しながら読み進めて下さい。ファイル構成は以下のようになっています。 start.rb アプリケーションの本体。 model/comment.rb 掲示板の書き込みを表すモデルの定義。 view/index.haml トッ

                                                                          第9回 SinatraとSequel・Hamlで掲示板アプリを作る | gihyo.jp
                                                                        • Rails の ActiveRecord モデルテストの書き方ガイドライン - passingloopの日記

                                                                          このエントリでは,Ruby on Rails (以下 Rails)の ActiveRecord モデルテストについて,1) どこの何をテストすればよいか,2) どのようにテストを書けばよいか,のガイドラインを示します.このガイドラインは Rails 公式のものではなく,id:passingloop が使っている私的なものです.疑問・質問・批判・間違いの指摘はページ下部のコメント欄までお願いします. はじめに Rails は TDD/BDD サポートが充実した Web アプリケーション開発フレームワークです.Rails で使える Test::Unit や RSpec などといったテスティングフレームワークの使い方に関する解説も豊富にあります.しかし,「どこをどうテストすればよいのか」についての解説は,「使い方」の解説と比較して少ないように思います.もっとも,テスト一般についてどう書くかはアプ

                                                                            Rails の ActiveRecord モデルテストの書き方ガイドライン - passingloopの日記
                                                                          • 『Sustainable Web Development with Ruby on Rails』を読んだ

                                                                            David Bryant Copelandさんが書いた、Railsについてのこだわりの詰まった本。 takahasimさんも『Sustainable Web Development with Ruby on Rails』はRails使ってるなら絶対面白いと思うと言っていたように、面白い。これまでRailsを使ってきた中で、楽しいこともつらいことも沢山あったんだろう。そういうことが感じ取れるような話が展開されている。 幾つかの気になった話題を拾い上げて、自分の感想を述べていきたい。気になる話題は100個ぐらいあるが、がんばって10個ぐらいに留めたい。 Don’t Create Custom Actions, Create More Resources Railsが提供する7種類のアクション名以外使うな、必要なら新しくリソースをつくれ、という主張。つまりDHHはどのようにRailsのコントロー

                                                                            • RailsでCSV/Excel/OpenOfficeのアップロード機能の実装方法 - Rails Webook

                                                                              RailsでCSV/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
                                                                              • アプリチーム x SRE チームによるアプリケーションモニタリング運用改善 - freee Developers Hub

                                                                                freee人事労務の品質改善を専任で活動している keik です。 freeeではアプリケーションパフォーマンスモニタリング(APM)に Datadog を利用しています。 SRE チームが導入し、アプリケーション開発チームに利用提供する形で運用されています。 導入のきっかけについては以下の記事でも触れられています。 developers.freee.co.jp Datadog APM の画面は多機能かつ柔軟で、例えばウェブサーバーが受けたリクエスト処理の内訳を視覚的にドリルダウンできたり、リクエストや SQL クエリごとのレイテンシやエラー率を計測してダッシュボード化してくれたり、また全画面で共通的に「タグ」や日時を用いたフィルタリングができたりします。直感的なだけなく、見た目もオシャレで、適当に眺めているだけでもワクワクします。 しかし、私達は「ここに映っているもの」が何なのか、正直分

                                                                                  アプリチーム x SRE チームによるアプリケーションモニタリング運用改善 - freee Developers Hub
                                                                                • ニコニ立体を直した話 - Qiita

                                                                                  ステージング化 本番のVMについてはここでAMIを取って完了としましたが、ステージングは設定を変更しなければなりませんでした。本番へのアクセスが起こらないよう設定の洗い出しを行い、地道に一つ一つ変更していき、ステージングとして動作するように調整を行いました。地味な作業でしたが、システム間のつながりを把握するという点でとても効率的だったので思ったほど無意味な作業ではありませんでした。 データ移行(BLOB to S3) データ移行はリプレイスプロジェクトでも難易度が高い部分でした。 ニコニ立体は3Dモデルホスティングサービスですが、この3Dモデルのファイル容量が大きく、移行に非常に時間がかかりました。試算では移行に24時間かかると出たため、日々増えるデータをどのようにスムーズに移行するかについて悩みました。 立体の負債解消を手伝ってくれていたまさらっき氏が偶然ALBのRuby on Lamb

                                                                                    ニコニ立体を直した話 - Qiita