rubyに関するmsfukuiのブックマーク (17)

  • Sidekiq について基本と1年半運用してのあれこれ - まっしろけっけ

    はじめに 実際に運用していた時に非同期にしていた主な処理は下記のようなものがあります。 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

    Sidekiq について基本と1年半運用してのあれこれ - まっしろけっけ
    msfukui
    msfukui 2015/10/27
    実際に使われている方の良いまとめ。いつか使うときのために。
  • 20分で話せるだけ話すRSpec Hacking Guide

    A framework for easily creating beautiful presentations using HTML

    msfukui
    msfukui 2015/01/27
    素敵すぎるスライド。コードを読む際の考え方が逐一トレースされていて、rspec の内部構造ももちろん興味深いのですが、全体像の捉え方や処理の追いかけ方が参考になります。他の OSS のコードも読んでみたくなります。
  • Middleman入門 - Qiita

    $ middleman init introduction_boilerplate -T=html5 $ tree introduction_boilerplate/ introduction_boilerplate/ ├── Gemfile ├── Gemfile.lock ├── config.rb └── source ├── 404.html ├── LICENSE.md ├── README.md ├── apple-touch-icon-114x114-precomposed.png ├── apple-touch-icon-144x144-precomposed.png ├── apple-touch-icon-57x57-precomposed.png ├── apple-touch-icon-72x72-precomposed.png ├── apple-touch-ic

    Middleman入門 - Qiita
    msfukui
    msfukui 2014/10/16
    middleman の使えるポイントを理解できてなかったので、このまとめはとても参考になります。
  • RailsでAPIをつくるときのエラー処理 - Qiita

    例外を利用して実装すると便利な場合が多い この投稿では、HTTP経由でJSONを返すようなWeb APIRailsを利用して実装するとき、エラーレスポンスを返す場合の処理をどう実装するとやりやすいのか、というニッチな話題に触れる。APIでエラーを返したいとき、即ち400以上のステータスコードと共にレスポンスを返したいような場合、どう実装するのが良いか。もしリクエストの処理中にエラーが検出された場合、それ以降の処理を行わずに直ちに中断してエラーレスポンスを返したいという場合が多いため、例外を利用して実装すると便利な場合が多い。 例外を利用しない方が良い場合もある 1つのリクエストに複数の問題が含まれている場合、先に見つけた問題だけを報告するようなエラーレスポンスを返すのか、それとも問題を抱えながらも進めるところまで処理を進めて報告可能な情報を全て含むようなエラーレスポンスを返すのか、という

    RailsでAPIをつくるときのエラー処理 - Qiita
    msfukui
    msfukui 2014/09/01
    API のエラー処理と http status の関係性についてとてもコンパクトにわかりやすく整理されていてとても参考になります。
  • iPhoneでRubyとopenFrameworksを使ってグラフィックプログラミングができるofrubyを作りました - おんがえしの blog

    夏休みに作っていたものが先日App Storeの申請を通過したので紹介します。 ofrubyiPhoneやiPod touch, iPad 上で簡単にグラフィックプログラムを書くことが出来るアプリです。プログラムの記述、実行、デバッグ、管理を全てiPhone上で行うことが出来るのが特徴です。 ダウンロードはこちらから行うことが出来ます。(無料です) ※ ofrubyは以前OSX用に作っていたRubyKokubanのiOS版です。今後はOSX版の方もofrubyという名前に統一していく予定です。 使い方 アプリをダウンロードしたら起動します。 ファイル一覧。 ファイルを作成します。 ファイルを開くとエディタモードになります。ここでファイルを編集していきます。 Runボタンを押すと実行されます。Backボタンを押すと戻ります。 [?]ボタンを押すとヘルプが表示されます。 関数名を間違えてもち

    msfukui
    msfukui 2014/08/28
    プログラミングの楽しさを思い出しそうで素敵。子どもが大きくなったらおすすめできるために使ってみたいと思いましたー。
  • Chefのローカルモードだけでリモートサーバを運用してみようと、Knife-Zeroを作った。Nodeの構成情報もとれるよ。 - Qiita

    Chefのローカルモードだけでリモートサーバを運用してみようと、Knife-Zeroを作った。Nodeの構成情報もとれるよ。Rubychefknifeknife-zero Chef(ChefInc)の管理ツールKnifeのプラグインで、Knife-Zeroというのを作りました。 https://github.com/higanworks/knife-zero 追記: バージョンアップして、knife zero chef_client/convergeサブコマンドを追加しました。 追記: ひと通りの機能を実装したので、knife-zeroのことをまとめるドキュメントをゆるやかに作成しています。 https://knife-zero.github.io 端的にいうとAnsibleのやり方をパクりつつ、Chef-Serverから構成管理を含む機能全部を頂戴しながら体の管理を捨てました。 Kni

    Chefのローカルモードだけでリモートサーバを運用してみようと、Knife-Zeroを作った。Nodeの構成情報もとれるよ。 - Qiita
    msfukui
    msfukui 2014/08/28
    サーバ運用の選択肢として覚えておくとうれしいかも。素敵。
  • Rack解説 - Rackの構造とRack DSL - Qiita

    Rackとは RackはRubyによるWebアプリケーション開発のHTTP送受信処理を担当するモジュール(gem)で、Ruby on Railsを始めとする多くのWebフレームワークの一番下のレベルで利用されています。 稿ではRackの基的な部分を中心に説明します。 簡単なRackアプリケーション まず基を理解するため説明用の簡単なアプリケーションを作成します。 最初にrack gemのインストールが必要ですが、Ruby on Railsをインストールしている場合はすでに必須モジュールとして入っています。単独でインストールする場合は次を参考にして下さい。 次にconfig.ruという名前の小さなファイルを作ります。これはRackのサーバ起動コマンドrackupの設定ファイルで、中身はRubyで記述します。 class ShowEnv def call(env) [ 200, # ステ

    Rack解説 - Rackの構造とRack DSL - Qiita
    msfukui
    msfukui 2014/08/15
    各リンクがとてもありがたい。発生している問題の解決のためきちんと理解して対策しなければ..。
  • Padrino 覚書き - ataru_kodaka’s diary

    前準備 インストール ふつーに % sudo gem install padrino で。 プロジェクト作成 padrino のgenerate project コマンドで。-d で ORM、-e でレンダリングエンジンを指定。-b をつけると bundle までやってくれる。 % padrino g project sample -d activerecord -e erb ... 作った後に設定変えたい場合は .components をいじる。 ファイル構成 こんなかんじ。rails よりだいぶシンプル。 + app/ | + controllers/ | + helpers/ | + views/ | | + layouts/ | + app.rb + config/ | + apps.rb | + boot.rb | + database.rb + public/ | + (sni

    Padrino 覚書き - ataru_kodaka’s diary
    msfukui
    msfukui 2014/08/01
    もうちょっとしたら触ってみる。
  • Cygwin + rbenv環境でプロビジョニングサーバーを構築する方法(第1回)~Cygwinを用いて、rbenv環境を構築する

    nodosfilewarningは、漢字ファイル名を表示する際に表示されるWarningを抑止するために設定しますが、設定しなくても問題ありません。また、HOMEを設定しない場合、ホームディレクトリがC:\cygwin\homeになってしまうため、別のドライブのフォルダを指定します。筆者の環境では、HOMEとしてD:\HOME\%USERNAME%を設定しています。 fstabの設定 UNIXでお馴染みのfstabを編集します。特にHOMEを別フォルダに指定した場合、環境変数HOMEで設定したフォルダをCygwin上のホームディレクトリとして利用できなくなってしまうため、必ず編集する必要があります。また、Cygwinインストーラーで指定したキャッシュフォルダもマウントできるように編集します。 デスクトップからCygwin Terminalのショートカットをダブルクリックして、Termina

    Cygwin + rbenv環境でプロビジョニングサーバーを構築する方法(第1回)~Cygwinを用いて、rbenv環境を構築する
    msfukui
    msfukui 2014/08/01
    とてもわかりやすく書かれてて参考になります!
  • Rails Application Templates — Ruby on Rails Guides

    Application templates are simple Ruby files containing DSL for adding gems, initializers, etc. to your freshly created Rails project or an existing Rails project. After reading this guide, you will know: How to use templates to generate/customize Rails applications. How to write your own reusable application templates using the Rails template API. 1 UsageTo apply a template, you need to provide th

    Rails Application Templates — Ruby on Rails Guides
    msfukui
    msfukui 2014/07/30
    これはちゃんと作っておくと単に個別に Gemfile をどっかに置いておくよりはかどりそう。すてき。
  • rails/guides/source/configuring.md at 72f58b0244fed3d936c107641ca08fc9e343a31e · rails/rails

    msfukui
    msfukui 2014/07/30
    サブディレクトリ運用については公式のこのあたりにも記述がありました。参考になります。
  • RailsアプリをSub-URIで動かす - Qiita

    とすると /subdir で動作はするが css や js のリンクが変わらない prefix 指定では RAILS_RELATIVE_URL_ROOT はセットされないので、起動時に環境変数としてセットし、config.ru で ENV['RAILS_RELATIVE_URL_ROOT'] の値が ActionController::Base.config.relative_url_root にセットされます。 とすることで css や js のリンク先が変わる、ただし、prefix と併用するとアプリは /subdir/subidr/ での動作となり、css や js のリンク先は /subdir/ になってしまう。 期待通りに動作させるためには prefix 指定無しで RAILS_RELATIVE_URL_ROOT をセットし、config.ru で RAILS_RELATIVE_

    RailsアプリをSub-URIで動かす - Qiita
    msfukui
    msfukui 2014/07/30
    とても参考になりました!ありがとうございます。config.ru 内で run Rails.application としてしまって、assets path を認識してくれなくてはまりましたが、run [アプリ名]::Application で無事動作しました!
  • サブディレクトリで Rails アプリを分けるための nginx の設定 - Qiita

    環境 サーバー: Gehirn RS2 Ruby: 2.0.0p0 Rails: 4.0.0.beta1 nginx: 1.2.7 unicorn: 4.6.2 やりたいこと Gehirn の初期ドメインは user_name.gehirn.ne.jp となっている。 ここで user_name.gehirn.ne.jp/rails_app のURIアクセスがあったとき public_html/rails_app 以下に飛ぶように nginx を設定する方法を述べる。 事前準備 この記事を参考に以下の作業をしておきます。 http://qiita.com/items/c1edfa84b34dba2211ac 公開鍵の登録 データベースの作成 Ruby のインストール ($ rs2 install rubyで大丈夫です) nginx のインストール unicorn のインストール (Rail

    サブディレクトリで Rails アプリを分けるための nginx の設定 - Qiita
    msfukui
    msfukui 2014/07/30
    うちは Apache なのですが、unicorn でのサブディレクトリ運用でとても参考になりました!
  • Rails with Relative URL Root

    Rails アプリケーションは,通常 / を URL root として動作します. この記事は,これを /myapp に変更したときの顛末です. Rails のバージョンは 3.2.6 です. 結論となる対処法は簡単なのですが, 事情は思ったより複雑のようです.Rails は, 正しい作法がすぐ変わるので混乱しますね. 結論だけ知りたい人は, 結局おすすめは の節だけ読めばいいです. Ruby on Rails Guides: Configuring Rails Applications によると,以下の2つが目的に関係しそうです. Rails.application.config.relative_url_root Rails.application.config.assets.prefix relative_url_root は,環境変数 RAILS_RELATIVE_URL_ROOT

    msfukui
    msfukui 2014/07/30
    詳細な確認結果を共有いただけてとても助かりました!
  • The Heroku HTTP API Toolchain

    Today we’re open sourcing the toolchain Heroku uses to design, document, and consume our HTTP APIs. We hope this shows how Heroku thinks about APIs and gives you new tools to create your own. This toolchain includes: An HTTP API design guide, describing how we structure both internal and public-facing APIs and document them using the JSON Schema standard. A tool for working with JSON schemas and u

    The Heroku HTTP API Toolchain
    msfukui
    msfukui 2014/07/27
    http-api-design 以外の文書も理解のために翻訳してみることにしよう。
  • sidekiqの使い方 - Qiita

    sidekiqはresqueやdelayed_jobのような非同期実行を実現するgemです。 使い方はgithubのwikiかRAILSCASTSあたりを見れば分かりますが、Railsで使う場合について簡単に要約してみます。 準備 バックエンドにredisが必要です。 とりあえず試すのであれば、Macならbrew install redisでインストールされます。 番ではwebサーバと別にredisサーバを用意するべきでしょう。 インストール 通常通りGemfileに書いてbundle installするだけです。

    sidekiqの使い方 - Qiita
    msfukui
    msfukui 2014/07/25
    rspec でのテスト方法も書かれててうれしいです。
  • あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ - Qiita

    エンジニア組織を強くするためのを出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 はじめに この記事は数百万行の動的型付き言語のWebアプリケーションのリファクタリング、アプリケーションアーキテクチャの再設計の経験を基に、有効だと思われる考え方やアプローチを抜粋して紹介するものです。言うまでもなくあらゆるコードベース、アーキテクチャにおいて有効なものとは限りませんので、各々の環境や状況から適切に判断してください。

    あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ - Qiita
    msfukui
    msfukui 2014/07/22
    大抵のトピックが網羅されていてとても参考になります。記事に書かれている通り、少しずつ..ですね。
  • 1