2014年12月1日のブックマーク (29件)

  • 第24回 Rackとは何か(2)Rackの使い方 | gihyo.jp

    前回の記事では、Rackとは何かについてを、Rackが生まれた背景を交えてご紹介しました。今回は、Rackを実際に使ってみるにはどうすればいいのかを実際に作りながら解説します。 rackupとRack::Builder 前回の記事の最後で、アプリケーションの他にconfig.ruというファイルを用意し、rackupといういうコマンドを使ってアプリケーションを起動しましたが、これについてもう少し詳しく説明したいと思います。 実は、単にRackアプリケーションを起動するためだけであれば、config.ru(rackupファイルと呼びます。拡張子のruはおそらくrackupの略でしょう)は必要ありません。Rackの入門記事等で目にしたことのある方もいるかもしれませんが、以下のようなコードをファイルの末尾に書き加えるとsimple_app.rb単体でアプリケーションを起動することができます。 if

    第24回 Rackとは何か(2)Rackの使い方 | gihyo.jp
    crist18
    crist18 2014/12/01
    rackup
  • Monitoring

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    Monitoring
    crist18
    crist18 2014/12/01
    sidekiq
  • Sidekiq error on required ruby file

    I'm trying to start my application. Is a unicorn + foreman + sinatra application. This is my config.ru file: require "rubygems" require "sinatra" Bundler.require require File.expand_path '../twitter_module.rb', __FILE__ run TwitterModule require File.expand_path '../lib/tweet_streamer.rb', __FILE__ require 'sidekiq/web' run Rack::URLMap.new('/' => Sinatra::Application, '/sidekiq' => Sidekiq::Web)

    Sidekiq error on required ruby file
    crist18
    crist18 2014/12/01
    cannnot load sinatra/base
  • Sidekiq with Padrino - Qiita

    $ ruby -v ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-darwin13.0.0] $ padrino -v Padrino v. 0.11.4 $ sidekiq -V Sidekiq 2.17.0 準備 Sidekiq はジョブキューの管理に Redisを使うのでインストールしておきます インストール方法は割愛(mac なら brew install redis とか)

    Sidekiq with Padrino - Qiita
    crist18
    crist18 2014/12/01
    sidekiq
  • Ruby初心者のCapistranoデプロイ入門 | 開発メモるアル

    Capistranoを使って、Ruby初心者でもRuby以外のソースコードをデプロイできるようになるまでの流れです。 Rubyもよくわからないし、デプロイツールもろくに使ったことないけど、 Capistranoを使ってコードをデプロイしたい。という人に特に向けた記事です。 私自身そういう人でした。 私の理解不足の部分が多々ありますが、とにかくCapistranoを使ってデプロイができることを目的とします。私は今回の方法で、PHPのコードをデプロイしています。 「もう手動デプロイは嫌だ」「デプロイツール使いたい」「なんかデプロイツール使わないとヤバそう」と思っている方々にとってちょうどいい記事になればいいなと。 Capistranoデプロイができるまで(目次) Capistranoってどういうもの デプロイの流れの概要 デプロイ先サーバーとの接続条件 RubyRubyGemsのインストール

    Ruby初心者のCapistranoデプロイ入門 | 開発メモるアル
    crist18
    crist18 2014/12/01
    Capistrano
  • GitHub - nomad-cli/houston: Apple Push Notifications; No Dirigible Required

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - nomad-cli/houston: Apple Push Notifications; No Dirigible Required
    crist18
    crist18 2014/12/01
    houston / iOS Push Notification
  • ActiveRecordを複数スレッド環境で利用する – recompile.net

    ActiveRecordを何も考えずに複数スレッドが動作する環境で利用すると、スレッド毎にActiveRecordがコネクションを確保しようとするので、プールサイズを超えてコネクションが確保できないというエラーが発生する。 activerecord-4.1.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:190:in `block in wait_poll': could not obtain a database connection within 5.000 seconds (waited 5.001 seconds) (ActiveRecord::ConnectionTimeoutError) こちらとしてはコネクションプールがあるのだから、ActiveRecordの方でやりくりをしてよろしくやっ

    ActiveRecordを複数スレッド環境で利用する – recompile.net
    crist18
    crist18 2014/12/01
    “ActiveRecordを何も考えずに複数スレッドが動作する環境で利用すると、スレッド毎にActiveRecordがコネクションを確保しようとするので、プールサイズを超えてコネクションが確保できないというエラーが発生する”
  • Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT
    crist18
    crist18 2014/12/01
    Resque, delayed_job, sidekiq
  • GitHub - decision-labs/gcm: A gem that helps developers send data from ruby backend servers to their Mobile applications on devices via Google Cloud Messaging (GCM).

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - decision-labs/gcm: A gem that helps developers send data from ruby backend servers to their Mobile applications on devices via Google Cloud Messaging (GCM).
    crist18
    crist18 2014/12/01
    Google Cloud Message
  • とほほのJava入門 - とほほのWWW入門

    スレッド を用いることにより、ひとつのプログラム(プロセス)の中で複数の処理の流れを走らせることができます。スレッドを作成するには、Thread のサブクラスを作成する方法と、Runnable インタフェースを実装したオブジェクトを用いる方法があります。 Thread クラスのサブクラスを作成することにより、スレッドを作成する方法を以下に示します。Thread クラスのサブクラスを定義し、そのインスタンスを生成し、start() メソッドを呼び出すことでサブクラスの run() メソッドが実行されます。 class Main { public static void main(String[] args) { ThreadTest tt = new ThreadTest(); tt.start(); for (int i = 0; i < 1000; i++) { System.out.p

    crist18
    crist18 2014/12/01
    スレッドのサンプルコード
  • 第3回 マルチスレッドでデータの不整合を防ぐための排他制御 ― マルチスレッド・プログラミングにおける排他制御と同期制御(前編) ―

    第3回 マルチスレッドでデータの不整合を防ぐための排他制御 ― マルチスレッド・プログラミングにおける排他制御と同期制御(前編) ―:連載.NETマルチスレッド・プログラミング入門(2/3 ページ) 複数のスレッドに対して安全な「スレッドセーフ」 複数のスレッドからメソッドやプロパティにアクセスされても問題が起きない、もしくは複数スレッドからアクセスされることを想定し排他制御が行われているようなクラスやメソッドを「スレッドセーフ」と呼ぶ。 冒頭のList1では、Bankクラスがスレッドセーフでなかったために、複数スレッドからアクセスを行うと問題が生じた。スレッドセーフでないリソースを複数スレッドからアクセスする場合には排他制御を行わなくてはならないわけだが、これには2つの方法がある。 アクセスされるリソースのクラスをスレッドセーフにする アクセスするクラスで排他制御を行う List1の例で

    第3回 マルチスレッドでデータの不整合を防ぐための排他制御 ― マルチスレッド・プログラミングにおける排他制御と同期制御(前編) ―
    crist18
    crist18 2014/12/01
    c# thred
  • [実装編]スレッドセーフにすることを忘れてはいけない

    スレッドセーフとは,アプリケーションをマルチスレッドで動作させても問題がないことを指す。サーバー向けアプリケーションは,マルチスレッドで動作するように設計・実装することが望ましい。そのほうが通常はパフォーマンスが向上するからだ。 だが,マルチスレッドのアプリケーションは,注意深く設計・実装しないとトラブルが生じる。例えば,あるスレッドで保持していた変数の値がほかのスレッドからアクセスされ,処理結果が上書きされたり,ほかの利用者の情報が見えてしまったりする。 こうしたトラブルは,開発者が1人で単体テストしているときには見つけられず,多数の利用者で限界時の挙動テストをしたときや,番移行した後で,たまたま見つかることが多い。トラブルが発生するタイミングを再現することが難しいので,デバッグは困難になりがちだ。 マルチスレッドでのトラブルを防ぐため,開発者は,スレッドセーフな設計と実装を心がける必

    [実装編]スレッドセーフにすることを忘れてはいけない
    crist18
    crist18 2014/12/01
    スレッドセーフ
  • スレッドセーフにするために考えること 〜基礎編〜 - かとじゅんの技術日誌

    ええっと、リクエストされたので、今回は並行処理ネタにいってみます。 並行処理といえば、このは必読書ですね。でも、書いてることは、かなりムズカシイデス(´・ω・`) Java並行処理プログラミング ―その「基盤」と「最新API」を究める― 作者: Brian Goetz,Joshua Bloch,Doug Lea出版社/メーカー: ソフトバンククリエイティブ発売日: 2006/11/22メディア: 単行購入: 24人 クリック: 419回この商品を含むブログ (163件) を見る ということで、並行処理について、もうちょっと優しく分かりやすく解説できないか考えて書いてみます。 スレッドセーフにするには 今回は、プログラムをスレッドセーフにするためにどんなことを考えればよいか。そういうテーマです。 アンスレッドセーフなコードから このの最初の方に、"スレッドのリスク"という章で、スレッド

    スレッドセーフにするために考えること 〜基礎編〜 - かとじゅんの技術日誌
    crist18
    crist18 2014/12/01
    “if ( instance == null ) { instance = new Cache(); } return instance;”これが遅延初期化か
  • Java並行処理プログラミング ―その「基盤」と「最新API」を究める― : Brian Goetz, Joshua Bloch, Doug Lea : 本 : Amazon.co.jp

    Java並行処理プログラミング ―その「基盤」と「最新API」を究める― : Brian Goetz, Joshua Bloch, Doug Lea : 本 : Amazon.co.jp
    crist18
    crist18 2014/12/01
    It's too difficult for me.
  • Simple, efficient background jobs for Ruby

    Need speed? Scale your app with Ruby's fastest job system, up to 20x faster than the competition!

    Simple, efficient background jobs for Ruby
    crist18
    crist18 2014/12/01
    sidekiq
  • Resque で学ぶジョブキューイング - Articles Advent Calendar 2012 Casual

    こんにちは。hatak (@hisashi) です。 Perl でジョブキューというと TheSchwartz や Qudo などの名前が挙がるかと思いますが、今回はバックエンドに Redis を利用したジョブキュー "Resque" を紹介します。 Resque はバックグラウンドジョブを処理するためのライブラリで、Github を始め大規模なサイトでも利用されています。もともとは Rubyライブラリですが、Ruby 以外の様々な言語でも実装されています。今回紹介するのはその Perl 実装のモジュールです。 試してみる クライアントで入力した文字列をワーカーが表示するだけのシンプルなプログラムを作ってみます。 まずは Redis を利用できるようにしておく必要があります。今回はローカルの Redis を利用しますが、異なるホストで動作している場合は適宜ホスト名やポート番号を変更してくだ

    Resque で学ぶジョブキューイング - Articles Advent Calendar 2012 Casual
    crist18
    crist18 2014/12/01
    resque
  • RailsでResque使い始めた - Masatomo Nakano Blog

    これとこれの続き。この後、もう少し調査して、Resqueを実際のシステムの一部で使い始めてみたのでその感想とメモ。 前回までのあらすじ Resqueはバックグラウンドでジョブの実行をするもので、かなりの大規模サイトでかつ更新系の処理が多そうなシステムであるGithubで開発され使われている。よくある使い方としては、「Web UIを軽く見せるため、処理の依頼だけを受け付け、実際の処理はバックグラウンドで実行」「バッチ処理などで、大量のJobをQueueに突っ込んでおいて、(複数の)workerで並列で効率よく処理」などがある。 不安なところ Resqueの大きな特徴は、QueueをRDBMSではなくRedis上に作るところにある。Redisは、Memcacheのようにシンプルに使え、すべてのデータはメモリ上に展開されるのでとても速く、データはディスク上にも永続化されるので、何かあったときにも

    crist18
    crist18 2014/12/01
    Resque
  • Resqueを利用したRailsでの非同期処理/バッチ処理

    Railsアプリケーションの中で非同期処理(バッチ処理)を実現したいことがあります。例えば、こんな場合です。 ユーザーが「送信」ボタンを押したら数千通のメールを送る。 数千通のメールを送るにはかなり時間がかかるので、その処理は後回しにして、ユーザーにはすぐにレスポンスを返したいところです。 非同期処理を行うためのRubyライブラリとしてはBackgrounDRbやdelayed_jobなどが有名ですが、もう一つ有望な選択肢としてResqueというのがあることを最近知りました。 と言っても、私が知らなかっただけで、RubyGems.orgによれば11万回以上もダウンロードされている有名なライブラリです。昨年(2010年)1月に書かれた、あるブログ記事には詳しい評価が載っています。 以下、私の試用報告を書きます。なお、OSはUbuntu 10.04(LTS)、Railsのバージョンは3.0.5

    crist18
    crist18 2014/12/01
    Resque
  • 知識製造業のリバネス-Leave a Nest-

    世界には、課題がある。科学技術は、それを解決できる。私たちリバネスは、科学技術を発展させ、その力を社会に実装するための活動に取り組んでいます。理念を同じくする数多くの学校や研究者、企業と共に、より良い未来の実現を目指します。

    知識製造業のリバネス-Leave a Nest-
    crist18
    crist18 2014/12/01
    レスキュー違いだけどいいね
  • Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0063 号 バックナンバー Rubyist Magazine 0063 号 Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist

    crist18
    crist18 2014/12/01
    Sinatra 概要
  • rails から外れた僕らは sinatra で i did it my way (1) | momota.txt

    sinatra は ruby の web アプリケーションフレームワーク。rails よりもシンプルで柔軟なプログラムが可能となる。つまり、しかれた rails に乗り切れない人のためのフレームワーク。 稿では以下について書く。 sinatra インストール hello world アプリケーション ルーティング フィルタ ヘルパー テンプレートの呼び出し rails から外れた僕らは sinatra で i did it my way (1) sinatra の基 (ルーティング、ヘルパー、フィルター、テンプレートエンジンなど) rails から外れた僕らは sinatra で i did it my way (2) sinatra で MongoDB を使ったデータ永続化 HTTP POSTへの対応 Bootstrap でのお化粧 rails から外れた僕らは sinatra で

    crist18
    crist18 2014/12/01
    sinatra
  • Railsの画像アップロードを倍速にする方法

    ユーザーに画像をアップロードしてもらえるようなウェブサービスをつくる場合、 画像アップロード機能の実装はCarrierwaveでかなり簡単に実現できます。 Carrierwaveの基的な使い方はこちら。 Rails 超お手軽な画像アップローダー CarrierWave の使い方 | Workabroad.jp ただ、たとえば10枚まで画像をアップできますよ、とした場合、 1つのフォームで10枚画像を添付して「送信」なんてやると、 送信完了までとても時間がかかります。 スマートフォンの画像解像度も昔にくらべたらかなり大きいし。。 ユーザーが送信完了まで待ってくれる気がしない。。。 といった時に助けてくれるGemがcarrierwave_backgrounder。 lardawge/carrierwave_backgrounder · GitHub まぁ倍速にするというか、 画像のアップロー

    Railsの画像アップロードを倍速にする方法
    crist18
    crist18 2014/12/01
    redis server の立ち上げ
  • [Ruby on Rails] Sidekiq で非同期処理を実装する | DevelopersIO

    Sidekiq とは Sidekiq とは Rails アプリで非同期処理を行うためのライブラリです。複数のジョブを同時に実行することができ、メモリを節約することができます。 ということで今回は Sidekiq の基と使いかたをざっくりと学んでいきたいと思います。 Sidekiq を使ってみる インストール まず前提条件として Redis が必要なのでインストールしましょう。Redis はジョブの管理に使われています。 brew install redis インストールは Gemfile に追加して bundle install するだけです! vim Gemfile # gem 'sidekiq' を追加 bundle install Worker を実装する 非同期処理を行うクラスは Sidekiq::Worker を include してつくります。あとは perform メソッド

    [Ruby on Rails] Sidekiq で非同期処理を実装する | DevelopersIO
    crist18
    crist18 2014/12/01
    sidekiq つかいかた
  • Bundler再履修: bundle execって何? gemはどこに入るの? - memo.yomukaku.net

    Rails 3のgemの管理に使用されるbundlerの使い方を復習します。 Bundlerの現時点の最新安定版のversion 1.2.3を対象とします。Bundlerを使うと何が嬉しいのか? あるgemが開発環境にはインストールされているが、production環境にはインストールされていない、といった問題が無くなる。 プロジェクトに必要なgemをはっきりさせることができる。 Bundlerのインストール %~ gem install bundler システム標準のrubyを使用している場合はsudoが必要な場合があります。rbenvやrvmを使用している場合はgem install bundlerのみでインストールできます。 bundle checkでインストール必要なgemをチェック Gemfileの中に記載されているgemのうち、これからどれをインストールしなければならないか

    crist18
    crist18 2014/12/01
    gemの管理をする。“bundle execでGemfileで指定したgem環境でコマンドを使う”
  • sidekiqの使い方 - Qiita

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

    sidekiqの使い方 - Qiita
    crist18
    crist18 2014/12/01
    sidekiq redis に依存、非同期実行
  • adakoda.com

    crist18
    crist18 2014/12/01
    “adb uninstall パッケージ名”
  • 「パズドラ」大ヒットの真相

    順序が違えば、パズドラはヒットしていなかったかもしれません。タイミングが良かったのは、(ガチャへの依存度が高い)カードバトルと呼ばれるソーシャルゲームで単に絵柄を変えたようなばかりのものが出てきて、ユーザーの中にも嫌悪感が出ていた状況だったということです。運営会社が儲かっているけど、なぜ儲かっているかわからない。そうしたモヤモヤしている中に、ポンと目の覚めるゲームを出せたという面はありました。 いいゲームを出すというノウハウは、家庭用ゲーム機やPCオンラインゲームで培ってきました。例えばタッチパネル型の家庭用ゲーム機向けにソフトを作る場合、コントローラーがあるときと同じ操作性を維持しなければなりません。僕たちのプログラマーは、そうした実直なモノづくりをしてきた実績があります。職人とも言える、優秀なプログラマーがいたからこそ、パズドラが生まれました。 努力がいらないゲームゲームではない ―

    「パズドラ」大ヒットの真相
    crist18
    crist18 2014/12/01
    運だけでなく、頑張って乗り越えていくという仕組みにしたかった。ゲームって努力することが大事なんですね。
  • spnt.jp - このウェブサイトは販売用です! - 日経サプリ 日経 サプリ 手軽 新聞 いとこ まとめサイト ユーザ リソースおよび情報

    crist18
    crist18 2014/12/01
    山本P
  • パズドラの生みの親「私は万人受けするゲームを作れるタイプではなかった」と誕生秘話を告白

    2012年8月に110万ダウンロードを達成し、CEDEC AWAED 2012ではゲームデザイン部門最優秀賞を受賞したスマートフォン向けパズルRPGの「パズドラ」こと「パズル&ドラゴンズ」のプロデューサー、山大介氏が講演を行い、「私は万人受けするゲームを作れるタイプでは全然ありませんでした」と告白した上で、いかにして「パズドラ」が生まれたのかを語りました。 パズル&ドラゴンズ ~嫁と開発と私~ | CEDEC 2012 | Computer Entertaintment Developers Conference ガンホ―・オンライン・エンターテインメント株式会社のプロデューサーをやっております、山大介です。実は昨年の7月にガンホ―に転職したばかりで、それまでは約10年間、ブレインドックという小さなゲームの企画事務所にいて、その後はハドソンに9年ほど在籍していました。 これまでの経歴か

    パズドラの生みの親「私は万人受けするゲームを作れるタイプではなかった」と誕生秘話を告白
    crist18
    crist18 2014/12/01
    素晴らしい