タグ

関連タグで絞り込む (425)

タグの絞り込みを解除

Rubyに関するsupermomongaのブックマーク (637)

  • パーフェクトなRailsの本を書きました - joker1007’s diary

    どうもAmazonがフライングでパブリック状態にしてしまったのが補足されてしまったので、想定してないタイミングで世の中に通知されてしまいましたが、Railsを書かせていただきました。 パーフェクト Ruby on Rails: すが まさお, 前島 真一, 近藤 宇智朗, 橋立 友宏 元々はパーフェクトRubyを書いた後にスペースの都合で削ったRailsの章があって勿体無いという話から出てきたです。 タイトルは最初決まってなかったんですが、最終的にパーフェクトシリーズの一つということになりました。 タイトルこそパーフェクトって付いてますが、このは他の言語解説系のとはちょっと雰囲気が違う感じになっています。 まあ、執筆スケジュールとかページ数によるスペースの限界という理由もありますが(Railsの中ではかなり薄い方)、網羅性というより仕事Rails使ってる人達の知識とか考えに重

    パーフェクトなRailsの本を書きました - joker1007’s diary
  • Go for a Rubyist

    Coming from the Rubyland and world of iOS, learning Go was an interesting experience. I've thought it might be worth to share some things learnt on the way, and put up the simple transition guide for everyone thinking about giving Go a shot. This post is not the most idiomatic Ruby or Go you'll read, but it's instead written in a way to point similarities between the two. Some of the reasons for G

    supermomonga
    supermomonga 2014/05/02
    わかりやすい
  • Rubyのローカル変数をシンタクスハイライトするVimプラグインを書いた - TODESKING

    Rubyはローカル変数への参照と無引数のメソッド呼び出しを同じ記法で書けるので、コードを読むときに混乱したりtypoでNoMethodErrorを出してがっかりすることが多々あります。 幸いなことにこれらは静的に解析することができるので、ローカル変数への参照を色付けするVimプラグインを書いた。 Github/ruby_hl_lvar.vim すごく便利な気がする!!!!!!! Rubyインタフェース(>=1.9)が有効になったVimが必要なのでご注意ください。MacVim 7.4 KaoriYa 20140107で動作確認しました。 しくみ Ruby1.9以降に標準添付されているripperというライブラリで、Rubyの構文解析をしてローカル変数への参照を取り出しています。 require 'ripper' Ripper.sexp(<<EOS) a = 10 b = 20 c = a +

    Rubyのローカル変数をシンタクスハイライトするVimプラグインを書いた - TODESKING
  • ssig33.com - DHH についての見解

    DHH の主張って TDD は糞だ TDD によって「テストのしやすさ」が主眼となるため設計がむしろ歪む DCI は糞だ、 Concerns でいいだろ Concerns の結果として超絶巨大なドメインモデルが実行時に作られたところで知ったことではない とかそんな感じで、ある種の複雑さを許容しよう。結果として最適な設計を得られる。というような感じのことが多いと思ってます。 ソフトウェアというのは元来複雑なものです。結局のところ、その複雑さをどのレイヤーで受け入れるかというのが、ソフトウェア開発の質の一つではないかと思います。 DHH の主張というのは、それを薄く広く受け入れろというようになっている。 一方で TDD や DCI の仕組みって人に何かをアサインする人が全体的な整合性を整えて、あとの人は目の前の問題解決に注力するみたいな形になりがちで、中央集権的と言えると思う。 つまらない話

  • Procを制する者がRubyを制す(嘘)

    RubyのProcの説明は巷に溢れているから今更感があるけどここ数回Procを使ったネタを書いていたらProcがかわいくなっちゃってもっとみんなにもProcのこと知ってもらいたいという欲求が生まれてきたからProcについての基的なことを僕なりのやり方でここに書くよ。長いよ。 Rubyの関数(メソッド) Rubyにおいて関数(メソッド)はファーストクラス(オブジェクト)ではありません。つまり文字列や数字や配列などの他のオブジェクトとは異なって、Rubyではそれを直接変数に代入したり、他の関数に渡したりすることはできません。 def square(n) n * n end sq = square # squareメソッドを変数sqに代入してみる # ~> -:1:in `square': wrong number of arguments (0 for 1) (ArgumentError)

    Procを制する者がRubyを制す(嘘)
    supermomonga
    supermomonga 2014/04/28
    Procべんり(かなり)
  • ssig33.com - XSendFile でそこそこ高速にファイルを配信しつつなんかやる

    ファイルをそこそこ高速に配信しつつ、裏でなんか処理をしたいとか、認証をかけたいとか、そういう事情があることはそれなりにあります。 配信状況を確認したいという程度なら fluentd でログをひろってきてなにかすればいいでしょう。 ファイルをバックエンドから非同期に拾ってきつつ状況にあわせてリダイレクトしたり配信したりする 配信状況の確認処理がえらく複雑かつ同期的にやりたい 認証をかけたい とかなんとか難しい条件があると難しいという話になります。ここで当に高速なアプリケーションを開発したい場合 nginx に拡張を書くというのが現実的な解となってくるでしょう。そういうことをするには物の C++ プログラマーが必要ということになってきます。さらにリソースが潤沢ならば HTTP サーバーからなにから自分で書いてもよい。 ただ大体の場合そこまでギリギリの高速さが必要ではないでしょう。そこで X

  • PHPのアレはRubyで書くとコレ - Qiita

    最近、PHPで書かれたコードをRubyに移行している。 (CodeIgniter => Rails) で、あのコードはどう書くんだろうという奴をつらつらとメモってみる。 ※同じ挙動をするという点を今は大事にしているのでRubyらしさは後から。 前提 PHP 5.4 => Ruby 2.0.0 Rails 3.2.x 配列周り <?php // 代入 $ids = []; $ids[] = 1; $ids[] = 2; $ids[] = 3; $ids[] = 4; $ids[] = 1; // イテレーション foreach ($ids as $id) { echo "id => {$id}\n"; } // unique $ids = array_unique($ids); # 代入 ids = [] ids << 1 ids << 2 ids << 3 ids << 4 ids <<

    PHPのアレはRubyで書くとコレ - Qiita
  • RubyにおけるYet Another関数合成

    Rubyにおける格的な関数合成については、既に@yuroyoroさんのlambda_driver.gem があるので、僕の出番はありませんが。まあいつもの様にふざけたものなら出せますよ、ということで…。 ProcCompressor こういった実装です。 使い方 使い方はこうです。 最初に圧縮するProcの数を決めてインスタンスを生成し、これにProcCompressor#<<でProcオブジェクトを順次圧縮していきます。

    supermomonga
    supermomonga 2014/04/26
    おもしろい!
  • Hello clockwork on Heroku - Heroku で定期実行アプリケーションを動かそう! - 君の瞳はまるでルビー - Ruby 関連まとめサイト

    clockwork は、cron の代替となる機能を単独で提供してくれる軽量のツール/ライブラリです。 clockwork を使えば Heroku で定期実行処理ができます。 必要なソースコードは最小限です。 この単純な定期実行アプリケーションの動きがわかれば、 より高度な定期実行アプリケーションを動かす足掛かりになります。 実行するアプリケーションが1つだけであれば*1無料で試せます。 お知らせ(2013/01/24) サンプルが以下のエラーにより動かなくなっていることに気づき修正しました。 `require': no such file to load -- ./clock.rb 動かなくなった正確な時期はわかりませんが、Procfile の改行コードを LF にしなければいけないようになったようです。 もしも上記問題で動かなくて困っている人は、Procfile の改行コードを LF

  • 落ちていくRubyistのためのMethopオブジェクト

    RubyistはどんどんLazyになっていってmapにブロック渡すのも面倒という古今です。 こう書けばいいところを、 %w(ybur si citsatnaf egaugnal).map { |str| str.reverse } # => ["ruby", "is", "fantastic", "language"]

    落ちていくRubyistのためのMethopオブジェクト
  • Uno! Use Sinatra to Implement a REST API — SitePoint

    March 10, 2014Uno! Use Sinatra to Implement a REST API The REpresentational State Transfer (REST) architecture provides a very convenient mechanism to shuttle data between clients and servers. Web services and protocols, like HTTP, have been using the REST architecture for many years, so it is a well-tested and mature concept. Sinatra can be used to effectively implement the REST architecture. Sin

    Uno! Use Sinatra to Implement a REST API — SitePoint
  • Rubyでデザパタ Singleton編 - 機械猫の日記

    と、いうわけで誰も期待してないですが、Rubyでデザパタ第2回です。笑今回も取りとめもなくやっていきます。 で、今回はシングルトンパターンです。あれですね、インスタンスが一つしかないことを保証するってアレ。このパターン自体なんか人によっては好き嫌いに分かれるみたいですが、まぁそれは今はおいときます。 以下、JavaのをそのままRubyに訳すとこんな感じでしょうか。 class MyCount @@obj=nil def self.instance return @@obj if @@obj @@obj=new end def up @count+=1 end private_class_method:new def initialize @count=0 end end a=MyCount.instance b=MyCount.instance puts a.up puts b.up コン

  • ScaleOut | Supership

    2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。件に関する詳細は、プレスリリースをご確認ください。 2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。 件に関する詳細は、プレスリリースをご確認ください。

    ScaleOut | Supership
  • Pry の簡易的なコマンドまとめ - Qiita

    # Alias Pry.config.commands.alias_command 'w', 'whereami' # refs: https://github.com/pry/pry/wiki/FAQ#wiki-awesome_print if defined? AwesomePrint begin require 'awesome_print' Pry.config.print = proc { |output, value| Pry::Helpers::BaseHelpers.stagger_output("=> #{value.ai}", output) } # Pry.config.print = proc { |output, value| output.puts value.ai } #ページングなし rescue LoadError => err puts "no awes

    Pry の簡易的なコマンドまとめ - Qiita
  • Ruby 2.1.1 GC Tuning - Qiita

    Help us understand the problem. What is going on with this article? Ruby2.1では、RGenGCによりかなりパフォーマンスが改善されている。 また、チューニングパラメータが増えているが、まとまった日語の解説が無かったので書いてみた。 間違いがある可能性があるので、指摘は歓迎です。 RGenGCとは RGenGC(Restricted Generational Garbage Collection)については、まずはこれを読むべし www.atdot.net/~ko1/activities/rubyconf2013-ko1_pub.pdf www.atdot.net/~ko1/activities/2014_rubyconf_ph_pub.pdf Ruby 2.1: RGenGC · computer talk by

    Ruby 2.1.1 GC Tuning - Qiita
  • Railsで複数アプリケーションで同一ユーザーサインイン・サインアップを実現する手法 by chikahiro tokoro

    補足: Rails Engineとは? Railsアプリケーションを再利用可能にするように、 体にマウント可能にする ↑↓ プラグイン、gem ・Rackミドルウェアである ・routes, task等を独自に記述できる などなど 実装リスクを洗い出し、工数見積を出すため 案2・案3でプロトタイプ実装を試みる 結果 案2: OAuth providerを作るgem(doorkeeper)を使ってできた 案3: ActiveRecord establish_connectionでDBを変えれた 複数DBは、体でテストも書かれているので大丈夫そう では、どちらにするか? 工数はあまり変わらなさそう・・ 案2 OAuth化(HTTPレイヤ) ・OAuth Provider化しても外部公開の予定はない =要件に対して、オーバースペック 案3 Rails Engine化(アプリケーション

    Railsで複数アプリケーションで同一ユーザーサインイン・サインアップを実現する手法 by chikahiro tokoro
  • GitHub Code Review Tool for JS, Ruby, Swift, and more - Hound

    JavaScript Ruby Python Swift PHP Sass Go Elixir TypeScript CoffeeScript Haml Shell Read more about Hound’s supported linters Convention Defining and sticking with a consistent style helps reduce the amount of decisions that developers need to make when writing code, helping to keep their focus on logic, not semantics and formatting. Consistency When every line of code is written in the same style,

    GitHub Code Review Tool for JS, Ruby, Swift, and more - Hound
  • メタプログラミングRuby読んだ - にこにこインターネット

    メタプログラミングRuby 作者: Paolo Perrotta,角征典出版社/メーカー: アスキー・メディアワークス発売日: 2010/08/28メディア: 大型購入: 18人 クリック: 533回この商品を含むブログ (124件) を見る 全体的には,メタプログラミングとは何をすることなのかということと,メタプログラミングするために必要となるRubyのオブジェクトモデル(『「このメソッドはどのクラスのものなのか?」や「このモジュールをインクルードしたら何が起きるのか?」といった質問の答えるが見つかる場所』)やその周辺について,2人の会話形式で進めていくような形で書かれている.メタプログラミングをするので,Rubyの表面的なことではなく,内部的なことから理解できてすごくいい.メタプログラミングに興味がなくても割りと楽しめると思う. Rubyに一歩踏み込んだクラスやメソッド,スコープなど

    メタプログラミングRuby読んだ - にこにこインターネット
  • 12 Small Web Frameworks for Ruby Developers - Web Development & Technology Resources

    Ruby is one of those programming languages that have been around for many years, twenty in this case. It has managed to stay on top of things, and as far as I know – it has one of the nicest and enthusiastic communities that a programming language has ever had. I’m not even cheesing. It’s also on the list of recommended web programming languages to learn this year. I had put together a list not so

    12 Small Web Frameworks for Ruby Developers - Web Development & Technology Resources
  • Rubyでcronのような定期実行を実現するclockwork - ぴよログ

    先日の記事でもちょろっと紹介しましたが、RSSリーダーを開発した際にフィード更新ジョブを定期的に発行するためにclockworkというgemを使用しました。 RSSリーダーの記事更新のバックグラウンドジョブ概要 - PILOG 単独で使う まずはRuby単独で使う方法です。ローカルマシンで定期的にスクリプトを動かしたいときなどに使えます(そんなときあるか!?)。 まずgemを導入します。普通にgem installでいけます。 $ gem install clockwork 次にコンフィグファイル的なものを書きます。例えばclock.rbというような名前で作るとします。 require 'clockwork' module Clockwork def one_minute p "minutely job" end def one_hour p "hourly job" end handle

    Rubyでcronのような定期実行を実現するclockwork - ぴよログ