Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
# インスタンス変数を使う場合 before do @user = User.new(name: 'Taro', email: 'taro@example.com') end it 'is valid' do expect(@user).to be_valid end # letを使う場合 let(:user) { User.new(name: 'Taro', email: 'taro@example.com') } it 'is valid' do expect(user).to be_valid end RSpecを使い慣れている人であれば、おそらくletを使うことが多いと思いますが、初心者の人には違いやメリットがよくわからないと思います。 また、使い慣れている人であっても具体的な違いをぱっと即答できる人は少ないんじゃないでしょうか? ネットを調べていたところ、Stack Overfl
docker for mac install 以前はmacでDockerを使うのにVagrantにdockerを入れて操作していましたが、mac純正の仮想環境xhyveを利用するようになったためVagrantはお役御免となり、だいぶ使いやすくなったようです。 https://docs.docker.com/docker-for-mac/ Dockerfileとdocker-compose.ymlを追加 RailsのプロジェクトルートにDockerfileとdocker-compose.ymlを追加します。 Dockerfile railsの公式Docker imageは bundle config --global frozen 1 が指定してあり、Gemfileの変更ができなくなっています。 本番などの環境ではその運用方法の方が良いと思いますが、今回は開発環境で使用するため公式のDock
概要 最近アプリばかり作っているので、冬休みに久しぶりにウェブサービスを作ることにした。 Ruby on Railsを使って目標管理ツールを作った。(2019.11 Rails 6.0.1で動作確認) Herokuにデプロイした。 ちょっと遠回りで省略可能なステップもありますが、わかりやすさ重視のステップで書いていきます。 前提 1度くらいRuby on Railsに触れたことがある人 長くなりすぎるので、Ruby on Railsの基礎的な使い方に関しては省略。 作るもの 実際にデプロイ・公開したものはこちら http://achievements.nantekottai.com/ 目標管理ツール 目標リスト(List)に、複数の目標(Achievement)を登録できる 目標は「達成」することができる 使うもの Ruby on Rails 6 Twitter Bootstrap 3 間
だいたいぼくは Rails のプロジェクトではテストフレームワークとして Minitest を使っているのですが、だいたい「RSpec しか書いたことなくて Minitest わかんねー」という苦情をいただくので、なんとなく Minitest について、なんか使い方だとか、書き方のコツだとか、なんかそんなようなやつをまとめていこうと思います。 内容は「Minitest Cookbook」の「Rails Recipes」の章を思いっきり参考にさせてもらっています。なので Minitest 自体の説明は少なくて Rails のテストに特化した内容となっています。この本はほとんど唯一の Minitest 本だと思うし、ここで紹介する Rails 絡み以外の部分も良い内容なので読んでおくといいでしょう (そこそこ高いけど) 。 ちなみにこれは「その1」で、まだまだ続く予定ですがいつ書くかは未定です
この記事はCrowdWorks Advent Calendar 2016 の24日目の記事です。CrowdWorksのエンジニアが毎日なにかを書きます。 昨日の記事は @suzan2go による「ラーメン屋で考えるRailsのデータモデリング」でした。 はじめに CrowdWorksは、2011年の創業以来、約5年間の開発を続けてきました。サービスの立ち上げ期においては、サービスの継続性・変更容易性を高めることよりも、サービスを成長させ、存続に繋がるフェースまで素早く立ち上げることが最重要な観点です。 一方で、サービス提供も5年が経過し、多くの方にご利用頂く「社会インフラ」に一歩ずつ近づいてきています。そういった環境の変化もあり、「日々改善し続ける」「日々変更し続ける」ことに重要視する観点が移り変わってきました。そのような価値観の変遷に取り組む過程で考えている「大規模で複雑な業務要件を担う
株式会社LITALICOでエンジニアをやっております@Takuan_Oishiiです。 この記事は『LITALICO Advent Calendar 2016』23日目の記事です. 23日目はAWS re:Invent 2016で発表されたAWS CodeBuildでRailsのテストを実行してもらう話をお届けします🎁 CIツールを検討しているRails開発者の方の参考になれば幸いです. はじめに テスト, してますか? セコム, してますか? LITALICOではCircleCIを使ってRailsアプリに対してRSpecで記述したテストを実行しています. GitHubにブランチをpushする, あるいはpull requestをマージすると自動でCircleCIが該当ブランチのテストを実行してくれるようにしています. 最近はコードレビューの負担減などを目的に, プルリクを小さく出すこと
みなさんもきっとそうだと確信いたしておりますが、プログラマというのは、どういうわけか実装のちょろまかしには頭がまわるもので、今や丁寧なコードを書く人の鏡とまで言われるワタクシも、それはそれは手抜き方法ばかりうかんだものでした。 技術的投資のいくつかは、不本意ながら技術的負債になりまして、いろいろと世間様にもご迷惑をおかけした次第です。みなさんもきっとそうだと思いますが。 この話は、そんな「誰にでもある」小さな事件のひとつです。1 この記事は CrowdWorks Advent Calendar 21 日目の記事です。 昨日は @tmknom さんの 「アプリケーションアーキテクチャに関するポエム」 でした。 設計に関するトピックは幅広く、かなり広範な知識が求められますよね!早く DDD を読まねばという気分になりました(笑)。 さて、この記事は、著者がここ1年ほど携わった簡単なデータ構造の
はじめに こんにちは。転職会議チームでエンジニアをやっている @highwide です。 転職会議では、2016年に一部の検索画面をRails + elasticsearchで実装しました。その際、自分自身、アレコレ新しく学んだことが多かったので、今年のAdvent Calendarのネタにしたいと思います。 注意 Rails 4.2系/elasticsearch 2.4系の情報で書かれているところが多いため、ご参考にしていただく際は最新の情報と照らし合わせながら進めていただけると助かります。 ドキュメント設計 elasticsearchのドキュメント構造は以下のよう階層があります。 ちなみに学習を始めた際、 indexはRDBMSにおけるDATABASE、typeはRDBMSにおけるTABLE といった情報を目にしました。 確かに、階層構造を理解する上で誤った情報ではありませんが、RDB
こんにちは!株式会社LITALICOでエンジニアをしております石田です。 『LITALICO Engineers Advent Calendar 2016』 19日目の記事となります。 前回は、ナウでイケてる格安の分析基盤&BIツールをGoogle sheetsを中心に構築した話を書きました。 その際に、サーバ側の、「ユーザ行動ログ」に関しては次回の記事でとなっていたので、この記事で紹介させていただきます。 スマフォアプリ・ゲームを開発する際にユーザの行動ログを取得するために、Rails用のgemであるrack-action_loggerを作りました。 まだまだ完成したばかりなのですが、一部サービスの本番に投入しています。 rack-action_loggerの機能 このgemを導入することにより、「リクエストとレスポンスのヘッダ・ボディや付随する情報」、「データベースの挿入・更新・削除ロ
当記事では、みんな大好きストアドプロシージャーを Rails で使ってみて、理解を深めてみます API ファースト開発を使った開発を想定して、ストアドプロシージャーを Rails プロジェクトに組み込んでみましょう ストアドプロシージャーとは RDBMS にだいたいついてる、関数を作る機能です 当記事では PostgreSQL を使います API ファースト開発とは アプリケーション側からは RDB へ直接クエリーを発行しません 代わりに機能ごとに用意されたストアドプロシージャーを実行して、返ってきた結果を使います(副作用を持つ関数もあります 開発の初期段階ではテーブル設計を行わず、必要な機能のインプットとアウトプットが定義されたストアドプロシージャーのモックを使ってアプリケーションを開発します ある程度アプリケーションができてきたら、モックになっているストアドプロシージャーから逆算してテ
このエントリは Ruby on Rails Advent Calendar 15 日目です。(遅くなってすいません) 同時に 14 日目のじょーかーさんのエントリへのアンサーエントリでもあります。 (まあ、じょーかーさんがこの Advent Calendar に登録したときに、タイトルから内容を推察してこれを書くことを決めましたが、実際のところ、あまりアンサーにもカウンターにもなってないし、全然関係ない内容と言えないこともないので、まあサービスクラスについては僕も推奨したことがあるし、僕も反省してるんですよ程度に読んでもらえると幸いです。) まずはじめにごめんなさい 3 年くらい前に僕は Rails にサービスクラスというものを導入するといいことがあるよと書いたのだけど、それからいくつもの Rails アプリケーションを見たり、実際に自分で開発したりして、うーんって思うことも増えてきたので
この記事は リクルートライフスタイル Advent Calendar 2016 5日目の記事です。 ビューティー開発Tの@tacuma_igeiです。主にRailsを使って、まだここにない出会いを創出していこうと励んでいます。 はじめに 中規模〜大規模のRails開発をする上で、多くの人が直面するであろう「ApplicationController・Helper散らかる問題」に対して、多くの人がやりがちな対処法とその落とし穴について理解を深め、回避策を提示していければと思います。 需要がありそうなので 事例をRailsにしていますが、基本的にRubyの話なので、Sinatra や Padrinoでも同様の問題が起こりえます。 結論 結論から述べると、 モジュールに切り出してMix-inする場合は、module_functionを使って、明示的にモジュール関数を呼び出すようにしましょう 時間
Ruby on Rails Advent Calendar 13日目です 注意 FFIを初めて使ってみたネタレベルなので本番でやってはいけません。 threadの処理がかなりまずい気がします helixやruruは使っていません。使ってみたいです。 .trb形式でのinline rustも使ってないです。 モチベーション 今年の9月から新しい会社に転職し、 railsを使い始めました。 その前はjava書いていたので、嬉しさ反面、並列処理まわりで少し不満もあります。 rubyを書き出してGiant VM Lockという言葉を初めて知ったのですが、rubyのthreadって実際はIO系の処理しか並列で動かせないので、なんとも... たとえばcontrollerでなにか処理をしたあと、httpレスポンスを先に返して、バックグラウンド処理でメールやslackに処理を飛ばす処理は簡単には書けません
この記事は Akatsuki Advent Calendar 2016 の15日目です。 はじめに 今やログ収集ソフトウェアのデファクトスタンダードとなったFluentdですが、オートスケール環境においては思わぬログの重複や欠損が発生する可能性があります。今回は私の所属するプロジェクトで行ったログ重複・欠損対策について紹介したいと思います。 前提 今回前提とするシステムは下図のような構成になっています。 ELB配下にオートスケーリンググループに属するEC2インスタンスのアプリサーバが複数台あり、各インスタンス上では Rails と Fluentd (sender) が動作しています。各アプリサーバから出力されたログは Fluentd (aggregator) により集約され、最終的に DB に保存されます。 Fluentd を利用したログ収集の構成としては一般的なものかと思います。 (バッ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 初めまして、qsona (tw) と申します。Ruby on Rails Advent Calendar 2016 6日目の記事になります。 Rails歴は10ヶ月で、もちろんAdvent Calendarへの参戦も初です。 全体的に生意気な内容と思いますが、 じゃんじゃんマサカリ投げてください お手柔らかにお願いします。 はじめに 環境 JSONを返すAPIで、データベースはRDBを想定してます。 あんまり関係ないですが一応、Rails5 (api mode) + MySQLを想定しています。 マイクロサービスとしてのバックエンドに使
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く