タグ

rubyに関するkimutanskのブックマーク (18)

  • 正規表現によるバリデーションでは ^ と $ ではなく \A と \z を使おう

    正規表現によるバリデーション等で、完全一致を示す目的で ^ と $ を用いる方法が一般的ですが、正しくは \A と \z を用いる必要があります。Rubyの場合 ^ と $ を使って完全一致のバリデーションを行うと脆弱性が入りやすいワナとなります。PerlPHPの場合は、Ruby程ではありませんが不具合が生じるので \A と \z を使うようにしましょう。 はじめに 大垣さんのブログエントリ「PHPer向け、Ruby/Railsの落とし穴」には、Rubyの落とし穴として、完全一致検索の指定として、正規表現の ^ と $ を指定する例が、Ruby on Rails Security Guideからの引用として紹介されています。以下の正規表現は、XSS対策として、httpスキームあるいはhttpsスキームのURLのみを許可する正規表現のつもりです。 /^https?:\/\/[^\n]+$/

    kimutansk
    kimutansk 2014/03/05
    「正規表現のメタ文字 ^ と $ は「行」の先頭・末尾を指します。文字列の先頭と末尾を指定する場合は、\A と \z を使用」Rubyの動作は知りませんでした・・・
  • Ruby言語開発者 まつもとゆきひろが語るソフトウェア開発者に伝えたいこと | 三年予測 | dodaエンジニア IT

    Ruby言語開発者 まつもとゆきひろ 1965年生まれ。筑波大学第三学群情報学類卒業。プログラミング言語Rubyの生みの親。株式会社ネットワーク応用通信研究所フェロー、一般財団法人Rubyアソシエーション理事長、Heroku Chief Architectなど、肩書多数。三女一男犬一匹の父でもある。温泉好き。鳥取県出身、島根在住。牡牛座。O型。 Ruby言語は、プログラミング言語の人気投票では必ず上位に顔を出す言語だ。Ruby言語開発者まつもとゆきひろ(ニックネームはMatz)は、世界で最も有名な日在住のソフトウェア開発者といっても過言ではないだろう。 そんなRuby開発者に対して、Ruby開発への思い、ソフトウェア開発者を取りまく状況への思いを聞いた。私たちが今後どのような進路を取るべきか、ヒントが得られると考えたからだ。 まつもとゆきひろがRubyを作った動機はシンプルだ。「プログラ

    Ruby言語開発者 まつもとゆきひろが語るソフトウェア開発者に伝えたいこと | 三年予測 | dodaエンジニア IT
    kimutansk
    kimutansk 2014/02/24
    「プログラマには「魂の浮力」があり、それぞれ最も情熱を注げる場所でプログラミングをするようになる」そういった場所を見つけたくてプログラマ続けてるのはあります・・・見つかるんでしょうか
  • BerkshelfとChefのインストールに苦労した話 - DQNEO起業日記

    例えばberkshelfひとつ入れるのに、膨大な知識がいる。 もしあなたが単にPHPサーバを作りたいだけだったとしても、berkshelfをちゃんとしたモダンなやり方でいれるには膨大な知識がいる。 例えばruby, rbenv, ruby-build, gem, bundlerなどだ。 まあ、rbenvとruby-buildで最新のrubyを入れること自体はそんなに難しくない。Ruby言語の知識も必要ない。 運よくgem install berkshelfが一発で成功したら、別に問題はない。おめでとう。 そういう人はここから下は読む必要はないです。 ところがである。 ひとたびgem installが失敗したら、そこからは茨の道である。 インフラの問題 gem installしたら "ERROR: Could not find a valid gem 'chef-solo' (>= 0) i

    BerkshelfとChefのインストールに苦労した話 - DQNEO起業日記
    kimutansk
    kimutansk 2013/12/30
    そういえば確かに初めてChef導入した際にこのあたりのバージョン間の齟齬でかなり苦しめられた記憶が・・・ Vagrantの選択は確かに素晴らしいですね
  • snoozer05.org

    1978年神奈川県生まれ。電気通信大学電気通信学部情報工学科卒。2009年に株式会社えにしテックを設立。2011年からは一般社団法人日Rubyの会の理事も務める。 近著に『ソフトウェアアーキテクチャ・ハードパーツ』(オライリージャパン、翻訳)『ソフトウェアアーキテクチャの基礎』(オライリージャパン、翻訳)『ユニコーン企業のひみつ』(オライリージャパン、共訳)、『モノリスからマイクロサービスへ』(オライリージャパン、翻訳)など。

    kimutansk
    kimutansk 2013/11/30
    正式版になりましたか。ページから落として更新しておきましょう。
  • Jewelry Judgment

    Jewelry Judgmentとは宝石鑑定という意味です。 これはRubyで作られたシステムであることを表現するとともに、社内で同時並行して進められている様々なプロジェクトが、果たして予定通り進捗しており収益をもたらすものであるかどうかを判断する、いわば物の宝石かどうかを鑑定するためのツールであることを示したネーミングです。 JJはソフトウェア開発企業を主なユーザとして想定したプロジェクト・マネージメントシステム、営業情報やプロジェクトの進捗情報を管理するWebシステムです。 プロジェクト開始後は、各社員の工数管理や経費管理を行うことができ、どこからでも開発プロジェクト一連の流れを管理することができます。 システム開発企業においては、プロマネと略して言われる優秀なプロジェクト・マネージャーをどれだけ多く在籍させているかが企業の力になります。受託したシステムを納期内に予算の枠内におさめて

    kimutansk
    kimutansk 2013/11/19
    汎用プロジェクト管理ツールみたいな感じですか。実際に動きが見えるサイトとかは無いんでしょうか・・・
  • CoreからRubyのバックトレースを表示するgdbruby.rbを作った

    gdbperl.plというスクリプトがあります。そんkする樋口証さん作の、gdbを操作してPerlのプロセスのバックトレースを取るツールです。生きているプロセスだけではなく、coreを取っておけばそのcoreからバックトレースが取れるのが特徴です。 gcoreというコマンドが/usr/binあたりにあって、これを使えば走っているプロセスのcoreを取得することができます。よって、番環境で気軽にcoreを取ってgdbperl.plにかけることによって、刺さっているポイントを見つけたりすることができます。超便利。 くわしくは、Perlスクリプトをgdbでデバッグを参照ください。 んで、その便利なgdbperl.plをRubyに移植してみました。その名もgdbruby.rb。単純。 gdbruby.rb 使い方とか Rubyはデバッグシンボル付きのものをご用意ください。 生きているプロセスにア

    CoreからRubyのバックトレースを表示するgdbruby.rbを作った
    kimutansk
    kimutansk 2013/10/31
    確かにコード読んでみると苦労した感が伝わってきますね・・・ただ、これはすごい
  • あなたのプロジェクトを美しく視覚化する

    (追記:2013-11-01) DirFriendのバージョンアップについての記事を書きました。 あなたはファイルシステムに美を見るか? プロジェクトにおけるディレクトリ構造をさっと把握したいという欲求があります。そういうときは通常treeします。 % bundle gem gem_project -bt % tree gem_project gem_project ├── Gemfile ├── LICENSE.txt ├── README.md ├── Rakefile ├── bin │   └── gem_project ├── gem_project.gemspec ├── lib │   ├── gem_project │   │   └── version.rb │   └── gem_project.rb └── spec ├── gem_project_spec.rb └

  • RubyとPythonの違いからガベージコレクタを理解する - ワザノバ | wazanova.jp

    http://patshaughnessy.net/2013/10/24/visualizing-garbage-collection-in-ruby-and-python Pat Shaughnessyが、ブタペストで開催されたRUPY2013でのプレゼンの前半を自らのブログで紹介しています。 ガベージコレクタは、「ゴミを集める」という行為だけでなく、「新しいオブジェクトのためにメモリをあてがう。」「不要なオブジェクトを見つける」「不要なオブジェクトからメモリを取り戻す。」という、人間の心臓が血液を浄化するような働きをしている。 この簡単なコードサンプルを見ると、RubyPythonの記述はよく似ているが、それぞれの言語の内部でのインプリの仕組みは違う。 1) Rubyのメモリ Rubyは、コードが実行される前に、数千のオブジェクトを先につくり、それをリンクされたfree listに置

    kimutansk
    kimutansk 2013/10/28
    Ruby側は知っていましたが、Pythonは参照カウント方式のガベージコレクタだったんですねぇ。こういう違いがありましたか。
  • Twitter drops Ruby - The Bullshit | Carlos Becker

    This post is about the Twitter change from Ruby to Java, some years ago, fact that, sadly, is still being used by some people to say that Ruby sucks and Java is the best language in the world. Before you read that, a little background on me would be good: Java is the first language I worked with. I started 4 years ago and I’m still using it every day; No, I don’t hate Java, it is just not my favor

    Twitter drops Ruby - The Bullshit | Carlos Becker
    kimutansk
    kimutansk 2013/09/24
    今回のTwitterの要件にはJavaが適していただけで、別にRubyをどうこういう話ではないよ、という話。ただ、確か実際使ってるのはScalaなので、JVM言語という扱いにはなりそうな。
  • Recipeが実行されるまでの仕組みと変数の関係 - Taste of Tech Topics

    こんにちは、Ruby大好きMiyakeです :-) "DevOps"という言葉がクローズアップされるようになってから、Chefがかなり流行ってきてますよね。 ブログとかTwitterをみていても、ここ1年で実際の業務や、開発環境を構築するのにChefを使ってる人がかなり増えたな~って思っています :-) 今日は、そんなChefを使っていく中で気になった、Recipeが実行されるまでの仕組みと、Recipe内で宣言している変数の関係について調べてみたので、紹介したいと思います。 実はこのRecipeが実行されるまでの仕組みを理解することで、Recipe内で宣言した変数の使い方が、より理解できるようになります :-) まずは、Recipeが実行されるまでの仕組みが見えてくるよう、わざと誤った変数の使い方をしたサンプルを書いてみました。 誤った変数の使い方をしているのは、リソースBlockとリソ

    Recipeが実行されるまでの仕組みと変数の関係 - Taste of Tech Topics
  • Chef、Vagrantに興味があるけどRubyをやったことない技術者が最低限知っておいた方がいい知識 まとめ | DevelopersIO

    Chef、Vagrantに興味があるけどRubyをやったことない技術者が最低限知っておいた方がいい知識 まとめ 最近、ChefやVagrantを勉強し始めたのですが、設定がRubyで記述されているため私は「たのしいRuby」を読んで勉強することにしました。 私は元々Rubyに興味があったのでいいのですが、Ruby知らないしそのために勉強するのは大変だから手を出すのをやめとこう、と思う人がいるかもしれないのでこれだけ知っていればある程度読めるのではないか、というポイントをまとめました。 まったくプログラミングをしたことない方には説明するのは無理なのでプログラミング経験があり 条件分岐、ループ、クラス、メソッド、文字列 が何か分かるくらいの方が対象です。if文、for文など他の言語でもあるようなものは省いていきます。 真面目にRubyを勉強したい方は下のアフィリエイトから「たのしいRuby」を

    Chef、Vagrantに興味があるけどRubyをやったことない技術者が最低限知っておいた方がいい知識 まとめ | DevelopersIO
    kimutansk
    kimutansk 2013/09/05
    レシピ書くなら確かにこのあたりがわかっていると便利です。
  • Ruby Gemsをwindows & proxy環境下で使う - 日記 知ったことなどを発信していきたい

    redmineを構築した時にgemでハマったことの備忘録 環境 windows xp sp3 proxy環境 ruby 1.8.7 gem 1.3.x rails 2.5.3 この環境で以下を実行 gem install rails -v=2.5.3 するとエラーが発生(ブログ環境と作業環境が違うのでエラーメッセージは省略) 調べていくとプロキシサーバから外に出れないのが問題。 そりゃそうだ。 で、いろいろ調べた結果、これが一番しっくり来た。 set http_proxy=http://プロキシサーバ:ポート set http_proxy_user=プロキシサーバ用のユーザID set http_proxy_pass=プロキシサーバ用のパスワード gem install rails -v=2.5.3 必要な物を別々の環境変数で定義出来てるのが好き。

    Ruby Gemsをwindows & proxy環境下で使う - 日記 知ったことなどを発信していきたい
    kimutansk
    kimutansk 2013/08/26
    普通に環境変数で可能と。メモメモ。
  • How I Made My Ruby Project 10x Faster - adit.io

    Written March 04, 2013 This post is about how I got a 10x speedup for my ruby gem contracts.ruby. contracts.ruby is my project to add code contracts to Ruby. Here's what it looks like: Now, whenever add is called, the parameters and return value will get checked. Cool! 20 seconds This weekend I benchmarked this library and found that it has abysmal performance: This is after running both functions

    kimutansk
    kimutansk 2013/08/21
    こうまでパフォーマンスが変わるものでしたか。
  • RとRubyによるデータ解析入門

    人気の高いオープンソースのツール、RとRubyを使い、生データを処理し、シミュレーションし、仮説を立て、統計的手法を用いて検証する、というデータ解析の基の理解を促します。基が学べるだけでなく、自分のメールボックスや自分の心臓の鼓動など身近な題材を対象としており、データサイエンスの醍醐味を味わうことができる一冊です。日語版ではさまざまな統計分析手法についての入門となる章を追加。こので使っている統計の基礎も学べる構成になっています。プログラマ視点で書かれた書は、ビッグデータを活用するためのスキルを身に付ける必要に迫られた多くの開発者にとっても貴重な情報源となるでしょう。 関連ファイル サンプルコード 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すで

    RとRubyによるデータ解析入門
    kimutansk
    kimutansk 2013/08/09
    電子版でましたか。最初の一冊を何にするかが悩みどころではありますが
  • GitHub - frsyuki/serverengine: Moved to https://github.com/fluent/serverengine

    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 - frsyuki/serverengine: Moved to https://github.com/fluent/serverengine
    kimutansk
    kimutansk 2013/06/04
    Rubyで堅牢なサーバプロセス群を書くためのフレームワークですか。ふむむ。
  • Rubyのコードをもっと美しく書くために使いたい·rubocop MOONGIFT

    rubocopRubyのコード可読性をチェックするソフトウェアです。 プログラマーを何年やっていても、なかなか奇麗なコードに辿り着くのは困難です。ちょっと道を誤るとものすごいコードになっている場合もあります。そんな時には機械的に評価してくれるrubocopを使ってみましょう。 実行しました。色々な情報が出てきます。 Cは注意、Wはワーニングでしょうか。 ヘルプです。Emacsとの連携もできます。 rubocopでは内部での幾つかのルールに従って指定ディレクトリ以下のRubyコードについて評価を行ってくれます。筆者の場合、一行あたりの文字数が多くて引っかかるケースが多いようです。そうした点に注意して書くようにすれば、より可読性の高い美しいコードが書けるようになりそうです。 rubocopRuby製、MIT Licenseのオープンソース・ソフトウェアです。 MOONGIFTはこう見る 美

    Rubyのコードをもっと美しく書くために使いたい·rubocop MOONGIFT
    kimutansk
    kimutansk 2013/04/29
    JavaならCheckStyle、JavaScriptならJSLintといった静的解析ツールですか。で、Rubyだとこれがあると。
  • なるほどUnixプロセス ― Rubyで学ぶUnixの基礎

    なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 達人出版会 3,520円 (3,200円+税) 『Working with Unix Processes』待望の完訳。並列処理やデーモン、プロセス生成、そしてシグナルといったUnixの基礎であるプロセスについてRubyで解説する、「今どきの」開発者に向けた新しいUnixプログラミングの手引きです。 ※書の公式ハッシュタグは#naruhounix になります。 関連サイト原著者による公式ページと訳者らによるサポートページがあります。 Working With Unix Processes - Learn the Fundamentals of Unix Programming in RubyなるほどUnixプロセスサポートページ 日語版刊行によせてRuby

    なるほどUnixプロセス ― Rubyで学ぶUnixの基礎
    kimutansk
    kimutansk 2013/04/06
    これは欲しいですね。多分この辺断片的にしか知らないので。
  • LinkedIn での Ruby on Rails 対 Node.js

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    LinkedIn での Ruby on Rails 対 Node.js
    kimutansk
    kimutansk 2012/10/11
    こうまで性能差があると、多少のその他の要素は気にならないレベルになりますねぇ
  • 1