Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
GitHub 上にあるとあるフォークした Gem(Rubygems にはリリースされていない)をインストールすることになりました。 普通なら、Gemfile を書いて bundle 経由でインストールするのが一般的だと思いますが、1つの Gem だったので、何か他の方法がないかなと調査したところ、specific_install というコマンドを使うとできました! 使い方は、とても簡単です。 $ sudo gem install --no-document specific_install $ sudo specific_install -l https://github.com/<リポジトリ>.git -b <ブランチ名> という感じでインストールすることができます! 今回、td-agent の flunetd plugin で特別に1つカスタマイズされたものがあって、無事 GitHub
What is Better Specs Better Specs is a collection of best practices developers learned while testing apps that you can use to improve your coding skills, or simply for inspiration. Better Specs came to life at Lelylan (open source IoT cloud platform) and checking out its test suite may be of inspiration. Better Specs focus on Rails testing, but our goal is to create testing guidelines covering mos
はじめに 実際に運用していた時に非同期にしていた主な処理は下記のようなものがあります。 iOS Android の push 通知の送信処理 ログの作成 様々な外部 API の呼び出し 非同期で更新しても問題ないデータの更新 Sidekiq is なに sidekiqは非同期処理を実現する gem 他にも Ruby で非同期処理を実現できる有名な gem には resque や delayed_job 等がある。 sidekiq.org Enterprise版等もありますが、 今回はOSS版を使用している前提でのお話しです。 他の非同期処理が可能な gem との簡単な比較 FAQ · mperham/sidekiq Wiki · GitHub この内容は結構真実を語っていることを最近知った Sidekiq Redis マルチスレッド リトライ処理あり おしゃれなダッシュボード Resque
rails 自分が rails をさわり始めたときはバージョン1からバージョン2に変わるあたりだったのですが、バージョン2が出た年を振り返るとなんと2007年でした。 月日の流れが速い事に驚く中、早く知ってたら良かったのになぁって事をつらつらとまとめてみました。 最近 rails さわり始めてみたよ!って方の参考になれば良いなと思います。 今回は便利な gem とかではなく、素のrailsで出来ることを挙げています。 ちなみにバージョンは以下の環境です。 About your application's environment Ruby version 2.1.3-p242 (x86_64-darwin14.0) RubyGems version 2.2.2 Rack version 1.5 Rails version 4.1.8 rails new したときの app 以下のディレクトリ
FactoryGirlでテストデータを定義する時に、transientとtraitを活用すると色々捗るという話。 transientは実際に作成するデータと直接関係無い新しいattributeを定義する機能。 そこで定義されたものは実際のmodelにはセットされないしattributes_forでも出力されません。 何のために使うかというと作成時に挙動を変更するためのフラグや追加データとして利用するのが一般的です。 traitは属性の定義を一纏めにして名前を付けられる機能です。 parentを指定したfactoryの継承とは違い、traitは単体ではfactoryとして機能しません。 あるfactoryの特定の状態に名前を付けて、付け外しできるようにする、というのが主な使い方になります。 例えば、あるfactoryをある時はadminある時は非adminで作りたい時等に有効です。 個人的に
はじめに 先日、Ruby on Rails 4.2がリリースされました。このリリースで新たに追加された機能にActive Jobがあります。今回はActive Jobについての簡単な説明と、実際に動かしてみたソースについて書きたいと思います。 Active Jobとは Active Jobについて、Rails Guideより以下の文を引用します。 Active Job is a new framework in Rails 4.2. It is a common interface on top of queuing systems like Resque, Delayed Job, Sidekiq, and more. Ruby on Rails 4.2 Release Notes Active Jobは一言で表すと、「キューを実現するためのインターフェース」と言えると思います。あくまで
Ruby Advent Calendar 2014 17日目Ruby Advent Calendar 2014、17日目の記事になります。 スクレイピング時にアクセス元のIPアドレスを分散させたいConoHa VPSではVPS1契約ごとに最大16個の追加IPアドレスを購入できます。1つあたり200円と安価で、最安のプランで契約し追加IPアドレスを16個オプションで追加すれば、17個のIPアドレスを持つVPSサーバーの出来上がりです。月額4,180円で、1IPアドレスあたり月額約246円です。非常に安価ですね。 さて、スクレイピング時にアクセス元のIPアドレスを分散させたいということは割とあるかと思います。その是非はここでは置いておくとして、ConoHa VPSを利用することで安価にその土壌となるサーバーを入手できることがわかりました。ただし、Rubyにおいてスクレイピングに有用なgemであ
平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 今、個人でmupsというIFTTTみたいなサービスを作っています。 IFTTTは便利なんだけど、あまり国内のサービスには対応しておらず、その点が個人的には不満だった。 その課題を解決すべく、RubyとNode.jsでIFTTTみたいなものをつくってみることにした。 あと、ここ最近ずっとAndroidアプリ開発ばかりだったので、最近のWeb周辺技術を勉強したかったという目的もあった(Rubyをちゃんと触るのは初めてだった)。 ##システム構成 ↑は理想図です。実際のところアプリなんてできてないし、サーバもさくらVPS一台のみ。 ##mup
Ruby on Rails Tutorialのエッセンスを自分なりに整理してみる7 Railsにおけるリンクの記述方法とそのテスト http://qiita.com/kidachi_/items/d704e7eb63513c3831ae の続き。 Ruby on Rails Tutorial(chapter5) http://railstutorial.jp/chapters/filling-in-the-layout#sec-layout_exercises ##Rspecのリファクタリング 指定のページが指定の要素を持っている(もしくはいない)かをチェックするテストコード。 require 'spec_helper' describe "Static pages" do describe "Home page" do it "should have the h1 'Sample App
10:54:44 hsbt | この Gemfile を持って来て、bundle install && bundle open が 10:54:58 hsbt | 一番、これ何だを見るのが楽だった 10:56:28 udzura | bundler benri その中で上のようなbundlerの便利情報を話していて、そういえばrebuild.fm vol.41で 同じようなこと言ってたなーと思い出して、vim使って便利に出来ないかなーと思ってやってみたら簡単にできたのでメモ。 各種Vimプラグインのインストール方法は割愛。(neobundle.vimとかを使ってください) 単にBUNDLER_EDITORという環境変数を設定するだけのお手軽TIPS VimFilerを利用する場合
(photo by Juan J. Martínez :: El camino a la felicidad con Ruby on Rails) Rubyの哲学 Rubyの哲学のひとつは、Pythonのそれとは真逆である。 Rubyには「Diversity is Good」という哲学があり、日本語でいうならば「多様性は良きことである」であり、つまり「同じことをするにも、いろいろなやり方がある」という意味である。 Pythonは対照的で、誰が書いても同じような見た目のコードになるように設計されている。 どちらが優れているかという論争は無駄なので、ここではしないことにする。 つまり、Rubyはプログラマの腕がコンスタントに試される言語であるわけだ。 多様性ゆえに、初学者が愚かで非効率なコードを書くことも容易だし、腕のいいプログラマが書けば、非常に効率的で美しいコードになる。 だからこそ、わ
という地獄の話です。 基本的な部分 # config/initializers/session_store.rb Hogehoge::Application.config.session_store :cookie_store, domain: ".#{ENV['DOMAIN']}", key: '_hogehoghoge' というような感じにする。アプリを起動する時に環境変数でドメインを指定する。 .#{ドメイン} と cookie のドメインを指定しておくことでサブドメインでもクッキー共有できるようにする。クッキー共有したくないならこうしない。 ./bin/rails server とかを使うなら、この場合 localhost としてアプリが起動するのだから、 DOMAIN=localhost ./bin/rails server とかする。 hoge.localhost とかで名前解
もっと早く知りたかった… ってことRubyとかRailsとか多いですよね。 知らなかったけど便利クラスやメソッドがあったんだ、みたいな。 例えばRubyで配列の中身を順番に表示するとき、each使ったりしますよね? list = [a,b,c] list.each { |val| puts val } で、インデックスも一緒に使いたいって時は each_with_index使ってました。 list = [a,b,c] list.each_with_index { |val, index| puts "#{index + 1}番目の値は#{val}です" } インデックスは取得できるんですけども、 インデックスって0から始まるので、上記のようにn番目、みたいなのを出そうと思うと index + 1しなきゃいけないんですよね。 よくある。 …と思ってたら、 with_index というメソッド
継続的インテグレーションの手順のうち、デプロイに焦点を当てて、テストの実行から、GitによるHeroku環境へのデプロイまでを自動化する方法を解説。Mac向けのGrowlを使って実行結果を通知する方法も説明。 ← 前回 連載 INDEX 次回 → 連載第1回「Jenkinsを使ってみよう」ではMac(OS X)/Linux/Windowsへのインストール方法を、第2回「Jenkinsでテストを実行してみよう」ではユニットテストおよびインテグレーションテストを作成し、Jenkinsから実行する手法を解説した。ここまで読んでいただいた読者の皆さんもJenkinsをインストールして自分なりの使い方を模索していることと思う。 さて、連載第1回で「継続的インテグレーションとは次のような手順の繰り返しだ」と説明したのを覚えているだろうか? プログラミング テストの実行 リファクタリング デプロイ 今回
Railsアプリのデプロイツールとしてデファクトスタンダード的な位置にあるCapistranoについて。 TL;DR HOSTSとROLESではなく、HOSTFILTERとHOSTROLEFILTERを使え。 タスクの実行先制限方法 Capistranoは、デプロイ先サーバに"ロール"を設定し、特定のロールに所属するサーバ全てに対して一括でなにかしらの処理を実行させることができる。 # deploy.rb server 'webserver1' :web server 'webserver2' :web server 'dbserver', :db, :primary => true ... task :do_something, :roles => :web do ... end cap do_something #=> webserver1, webserver2に対してのみdo_so
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く