Railsで作られたサービスにVue.jsを導入したというお話
![vuejs-meetup](https://cdn-ak-scissors.b.st-hatena.com/image/square/0940c7d005c07c6da317ef79a339fb7c338942a8/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F7e2dbf9570eb4ca883e6900b7f15cc68%2Fslide_0.jpg%3F4380177)
We have a race condition between click_link and reload_page. Sometimes the AJAX call will go through before Capybara reloads the page, and sometimes it won’t. This kind of nondeterministic test can be very difficult to debug, so I added a little helper. Capybara’s Little Helper Here’s the helper, via Coderwall: # spec/support/wait_for_ajax.rb module WaitForAjax def wait_for_ajax Timeout.timeout(Ca
ではエントリー本題へ。長くなったので目次。 ・この辞書サービスでできること ・なぜ今さら英語の辞書サービスを作ったか? ・サービスとしての今後の課題 ・動作テストにご協力頂いた皆様に感謝! ・使用している技術・ツール ・個人での開発スタイル ・タスクフローとタスク管理 ・新規サービスの設計で最も注意した点 ・Rails 開発で大変だった点 ・作業で手が止まった時の脱出法 ・開発における今後の課題 この辞書サービスでできること 一言で言うと、単語の意味を関連する画像とともに調べられる辞書サービスです。 百聞は一見にしかず…ということで以下分かりやすい例ですが、’dredge‘(浚渫機)という英単語を調べたページのスクリーンショットです。 単語の意味の文章による説明と関連画像を共に表示することで、単語の意味をイメージしやすく、記憶に定着しやすくなることを目指しています。 英単語を画像イメージで
継続的インテグレーションの手順のうち、デプロイに焦点を当てて、テストの実行から、GitによるHeroku環境へのデプロイまでを自動化する方法を解説。Mac向けのGrowlを使って実行結果を通知する方法も説明。 ← 前回 連載 INDEX 次回 → 連載第1回「Jenkinsを使ってみよう」ではMac(OS X)/Linux/Windowsへのインストール方法を、第2回「Jenkinsでテストを実行してみよう」ではユニットテストおよびインテグレーションテストを作成し、Jenkinsから実行する手法を解説した。ここまで読んでいただいた読者の皆さんもJenkinsをインストールして自分なりの使い方を模索していることと思う。 さて、連載第1回で「継続的インテグレーションとは次のような手順の繰り返しだ」と説明したのを覚えているだろうか? プログラミング テストの実行 リファクタリング デプロイ 今回
Webアプリと同じプロセスにworker入れてお金が節約できる。 Webアプリは “リクエスト来る→サーバーで処理→レスポンス返す” というのを繰り返すわけだが、サーバーでの処理に時間がかかる場合にそこを別のプロセスに任せて、先にレスポンスを返しておいて、あとで結果は取りに来てよ、という実装をする事がある。 時間がかかる処理は2つに大別できる。 動画をエンコードするとか。CPU負荷が高くて時間がかかるのでWebサーバーとは別の場所で動かしたい Twitter APIを10回ぐらい使った結果をまとめて返すとか。CPU負荷は低いけどIO待ちが長い 2の方について、HerokuのRuby環境で安く上げる方法をまとめる。 手法 HerokuのcedarスタックでRuby使う時はwebサーバーとしてThinが起動する。 ThinはEventMachineの中で動いてるので、EM::defer等が使え
Rails4 社内勉強会の発表資料です。 Blog: http://www.techscore.com/blog/2013/09/09/rails4-%E7%A4%BE%E5%86%85%E5%8B%89%E5%BC%B7%E4%BC%9A%E3%83%AC%E3%83%9D%E3%83%BC%E3%83%88/ (2013/10/03) TECHSCORE 本体に Rails4 の記事を書きました!スライドでは書ききれなかった詳細についても解説していますので、そちらもご覧ください。see http://www.techscore.com/tech/Ruby/rails-4.0/Read less
heroku でWebサービスを運営している時って、監視系はみなさんどうしてますか? おそらく定番アドオンである New Relic と Air Brake を使用していると思うのですが、これらでは heroku で発生するタイムアウトを検知できません。 30秒以内に応答返せなかったらってアレですね。 考えてみれば heroku の Error Code12 は例外がスローされてるわけじゃないので、Air Brake 対象外。 タイムアウト処理しているのは WebDyno じゃなくて heroku/router なので New Relic で捕捉できない、ってことのようで。 どうしようかなといろいろ調べましたが、結局 Papertrail の検索結果送信機能を使うことにしました。 Papertrail を使う Papertrail は heroku のログ取り扱いアドオンです。 Logly
update 記事中ではCarrierWaveのキャッシュ機能を使用できないと記載していますが、v0.10.0よりキャッシュの保存先をS3などに指定できるようになっているようです。 詳しくは以下の記事などを参照してください。 CarrierwaveでS3にアップロードさせるとき、キャッシュもS3に置く - Qiita 現時点でキャッシュストレージをS3に変更してテストをしていませんが、パフォーマンス上の問題が発生しないようであれば、こちらを選択するのもありかなと思います。 ファイル名長さの制限はherokuではなくS3(ファイルパス含め1000バイト?)のものになり、かなり緩和されることになります。 Ruby/on Rails には CarrierWave というファイルアップロード用の Gem があります。 人気の Gem なので使っている方も多いと思いますが、同じくRailsの実行環境
前に俺的Androidアプリ開発環境ニコニコセット 2012というまとめを書いたけど、それのRails版。ほぼGemの列挙になりそうなのと、それ以外はAndroid版と多分に被りそうな予感を持ちつつ。 無いと死ねる編 Rspec ないとテスト書けない。まぁ、ぶっちゃけ普通のUnitTestでもいいと思うけど、もはやこっちのほうがググりやすい気がする。DHHは普通のやつでいいだろ。って言ってるとか聞いたことがあるが、そんなのカンケーネー。capybaraも一緒にね。Guard+Spork+GrowlでRspecを自動実行する設定も便利っちゃ便利だけど、最近別にここまでちょくちょくテスト走らせてくれなくてもいいかなって思い始めてる。 FactoryGirl フィクスチャーめんどくさい。 Paperclip ファイルの扱いが死ぬほどカンタンに。carrierwaveでもいいんだけど、paperc
背景 さくらVPSでRuby on Railsをいじっていたら「Herokuがいいですよ」とお勧めされた。 以前からHerokuのことは聞いていたので試してみようと思った。 前提 Windows 7 (64bit) git ssh の公開鍵あり Strawberry Perl(内にgccあり) インストール heroku.com でサインアップ。 Getting Startedを読む。 Windows用にheroku-toolbelt.exeをダウンロード。インストール。 Windowsを再起動(PATHが更新される)。 heroku.batを動かす。 C:\work> heroku login Enter your Heroku credentials. Email: (自分のメールアドレス) Password (typing will be hidden): Found the fol
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
10/27(土)に 第一回プログラマ向けデザイン勉強会 を開催しました。 この勉強会は毎月やっている デザイナー向けプログラム部 (P4D) の逆バージョンで、デザイナさんにプログラマがデザインを教わるという趣旨で開催しました。 そして講師役として、いつもP4Dの方でもお世話になっている @machida さん、@ken_c_lo さん、@saucerjp さんの3人にお願いしました。 もっともこの3人をはじめ、P4Dに参加されているデザイナさんは普通にJSやFlash、ObjCなんか書いていたりして単にデザイナと呼んでいいのかどうかは怪しいところですが。 RailsエンジニアのためのTwitter Bootstrapカスタマイズ例 まずは@machidaさんのTwitter Bootstrapのカスタマイズ例の話からでした。 このテーマはP4D参加のプログラマからしきりにリクエストの
Up until lately I was happy using Capistrano for my deployments. But then I noticed the following: Capistrano was utilizing 70 % of a physical CPU core when deploying on the go. I'm on a dual core system so this impacts my Mac Book Pros overall performance, battery life and it kept me waiting for a long long time. My iPhone was at edge speed so I figured Capistrano spent most of the time waiting f
コントローラもテストしてみる。 ページにアクセスしてサクセスが返ることと、期待するテンプレートを表示することを確認するシンプルなケース 画面にアクセスするのは get :アクション名 成功が返るのは response.should be_success テンプレートの表示判定は response.should render_template("XXXX") describe '登録画面にアクセスしたら' do before do get :add_index end it 'サクセスであること' do response.should be_success end it '登録画面を表示すること' do response.should render_template("tunes/add") end end フォームからデータを送信したケースのテスト post でアクションに対してパラメータ
You’ll all have seen lines like this in your log files: Completed 200 OK in 14ms (Views: 0.2ms | ActiveRecord: 2.7ms) While obviously a very high level view of your application’s performance, it’s still a good place to start when you’re wondering where the time has gone. If you’re using a different datastore or if external services (solr, sphinx, external API calls) are important contributors to y
privateなgithubリポジトリのgemを参照していたのだが、本番機に余計な秘密鍵を置きたくなかったので、 スマートにローカルから参照する方法を調べてみたところ、 bundlerの1.2.0からbundle package --allというものが使えるようになっていて、 gitのリポジトリやpathで参照しているgemもまとめてvendor/cacheにパッケージングしてくれるようになった。 つまり、こんな感じ。 # CIサーバー等 bundle package --all ## capistranoのcopy方式等で本番機側にアプリケーションをデプロイする。 ## capistranoのレシピ上で、以下の形でbundlerを実行させるようにする。 bundle install --deployment これで、vendor/cacheに入ってるgemを参照して、そこからインストール
こんにちは。 Aimingでプログラマーをしています西川です。 この度Jenkinsの実践活用例を集めた「入門Jenkins」という本を執筆させていただきました。今回はその内容についてお話したいと思います。 入門Jenkinsの内容 私はウェブ開発を担当しているチームのJenkins全体を構築、運用しています。言語はRuby が主であり、JavaScriptが続きます。 今までのJenkinsの書籍や活用例の紹介はJavaによるものが多く、他の言語のものはあまりなかったように思えます。 入門Jenkinsではその点を打破したく、ウェブ上に散在していたRubyでのJenkins活用例と、私の経験をもとに執筆させていただきました。入門Jenkinsではいくつかの実践的なJenkinsの活用例を具体的に執筆しています。 私が執筆したのはRailsでの活用例で、単独の活用例を紹介しているうちではも
A few days ago, NIST announced the winner of the SHA-3 competition: Keccak (prounced [kɛtʃak], ketchak). The researchers who authored Keccak released a reference implementation in C. We’ve created Ruby and Node.js extensions for Keccak. Our extensions utilize the code from the official reference implementation and come with a extensive suite of unit tests. But note however that I do not claim to b
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く