タグ

rubyに関するanegishiのブックマーク (270)

  • Rebuild: 59: Ruby 3.0 Coming Soon (Matz)

    Rebuild A Podcast by Tatsuhiko Miyagawa. Talking about Tech, Software Development and Gadgets. 00:00 miyagawa: これ聞いてる人はわからないかもしれないですけど、この RubyKaigi 中、まつもとさんのファッションがちょっといつもと違うという。 matz: あぁ、そうなんですよ。いつからだっけ、何ヶ月か前から Vasily っていう会社のお手伝いをしているんですけども、アルバイトみたいなことで(笑) miyagawa: アルバイト(笑) matz: そしたら Vasily が、RubyKaigi のスポンサーであると同時に、まつもとの服もコーディネートして存在感を高めたい、というプロポーザルがあってですね。いっつもTシャツにジーンズなので「え〜」とか思ったんですけど(笑) あ、言

    Rebuild: 59: Ruby 3.0 Coming Soon (Matz)
    anegishi
    anegishi 2014/09/25
    Ruby 3.0に向けて型付けの検討状況の話がとても面白かった。 #rebuildfm
  • RubyKaigi2014にいってきました(LTもしました) - ブログのおんがえし

    はじめての参加だったのですがとても楽しかったです。 いいたいことを全部書くと長くなるので思いついたことから書いていこうと思います。 多分抜けがいっぱいあります。 すたーと1日目 ささださんの話でRubyの現状と次の課題がすごくよく分かった シンボルはGC対象にならないの知らなかった(そして2.2からGC対象になる) なぜGVL(Giant VM Lock)があると並列処理が遅くなるのかがなんとなく分かった 専用ハードウェアやGoによるRubyVMの実装などでチャレンジしている人がいる Rubyにパターンマッチングが欲しい という人が結構いた 動いているrubyプログラムのどの行がいちばんメモリを消費しているのか知りたい ko1/allocation_tracer が便利 コミットログを書くときに重視していることは? なんで直したかは書いて欲しい コンパイラ分からなくてもコントリビュート出来

    RubyKaigi2014にいってきました(LTもしました) - ブログのおんがえし
  • RubyKaigi2014 速報(4) - KeyNote: Coming soon... (Matz) - Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)

    Ruby 3.0について 10年位の期間がかかるかもしれないが、考えてみよう ひとつはConcurrency、ひとつはJIT (LLVM?)、そしてStatic Typing Static typing 20世紀に生まれた言語の多くは、変数に型が無い 最近の言語: Scara, TypeScript, Dart, Goはスクリプト言語っぽい使われ方をされるものでも、静的な方を持っている 悔しいのでRubyでも静的型を考えたい Ruby Issue #9999: Type Annotations Python PEP:3107 に近い考え方 Pythonは型チェックしない。ドキュメント。型チェックするかどうかは処理系に任せる pypy という処理系ではチェックする また、Dartは型チェックしないモードもある 何をモチベーションにして static typing したいのか? パフォーマンス

    RubyKaigi2014 速報(4) - KeyNote: Coming soon... (Matz) - Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)
  • windowsでrubyプログラムを配布するにはocraが便利

    rubyでちょろちょろっとプログラムを書いたから活用してもらいたいなぁとか思ったときです。 rubyを使っている人ならいいのですが、プログラマーでない人にくばるとなるとwindows環境でruby実行環境があることは期待できません。 そんなときはocraが便利です。 rubyスクリプトとruby実行環境をまとめてexeファイルにしてくれます。 gem install ocra でインストールできます。 exeを作るのも ocra aaa.rb みたいにexe化したいスクリプトをわたせばexeファイルを生成してくれます。 以下が参考になります。 http://myruby.seesaa.net/article/124126159.html 他にもexerbもあるのですが、1.9ではocraがよいようです。 以下が参考になります。 http://aoitaku.xrea.jp/logue/20

  • 403 Forbidden

    \閉鎖予定のサイトも売れるかも?/ アクセスがないサイトもコンテンツ価値で売れる場合も… ドメインの有効期限を更新してサイト売却にトライしてみましょう

  • Rubyにはウンザリ!動的型付け、副作用、およびオブジェクト指向プログラミング全般からの考察 | POSTD

    この記事を書き上げるには、相当長い時間がかかりました。来は今年の年明け、 Rubyの死 やデイヴィッド・ハイネマイヤー・ハンソンの TDDは死んだ がアップされて騒ぎになる前に投稿するつもりだったのです。昨年末に書いたツイートを見てください。 > Rubyにはもう飽き飽きした。理由はいろいろあるが、特にその副作用と、ステータスが可変なせいで大量のユニットテストを書かされるのにはウンザリだ。 @abevoelker Rubyの開発に関しては、大勢の人が心のどこかで何かおかしい、何かが欠けていると思っているようですが、たいていの人は責める対象を間違っています。Rubyで書いたアプリがとんでもない代物になったって? それはあなたがきちんとテストコードを書かなかったか、テスト駆動開発(TDD)の指針に則って開発しなかったからです。もしくは、正しいデザインパターンに切り分けるための知識が不足してい

    Rubyにはウンザリ!動的型付け、副作用、およびオブジェクト指向プログラミング全般からの考察 | POSTD
  • 復習 Ruby: [1, 2, 3].sum ではなく,[1, 2, 3].inject(:+) と書く.

    復習 Ruby: [1, 2, 3].sum ではなく,[1, 2, 3].inject(:+) と書く. 数値が Array に格納されていて,その合計を計算したいときに sum したくなることがある. たとえば,次のように. a = [1, 2, 3] a.sum # ~> -:2:in `': undefined method `sum' for [1, 2, 3]:Array (NoMethodError) しかし,このように,Array#sum というメソッドは無いので,NoMethodError になる. Enumerable#inject(symbol)こんなときに,Ruby なら Enumerable#inject(symbol) を使う. a = [1, 2, 3] a.inject(:+) # => 6 ここで,a.inject(:+) は, 1 + 2 + 3 と同じ

    復習 Ruby: [1, 2, 3].sum ではなく,[1, 2, 3].inject(:+) と書く.
  • エンジニアブログをMiddlemanでつくる3つの理由 - CrowdWorks Engineer Blog

    みなさん、技術ブログの運用って面倒じゃないですか?ぼくは面倒です! ネタを貯めて、記事を書いて、公開する。会社的にも・個人的にも意味があり、 そのプロセス自体も楽しいものです。 大抵の場合、ブログの運用には便利なブログエンジンやブログサービスを使います。 ところが、長期間運用していると、「もうちょっとなんとかならないか?」と思うことがあります。 例えば、以下のようなことです。 拡張できない・しづらい 使い慣れた言語とエディタが使えない・使いづらい 共同作業しづらい(Git & GitHubが使えない等) もちろん、ブログエンジンやブログサービスには管理が簡単、すぐ使えるなどのメリットもありますが、 それにこだわらない場合はもっといい方法があるはずです。 クラウドワークスでは、Middlemanを使って、軽く・モダンにブログを運用してこれらの問題を回避しています。 この記事では、Middle

    エンジニアブログをMiddlemanでつくる3つの理由 - CrowdWorks Engineer Blog
  • RSpecによるユニットテストの書き方 – recompile.net

    最近、新人のテストコードを見る機会があり、ユニットテストの書き方について考える機会があった。ユニットテストはテンプレートみたいなものがあるので、それさえ押さえれば、誰でも簡単に書くことができる。 ここでは、その方法について紹介したい。サンプルはRSpecで書くが、その他のユニットテストフレームワークでも、応用ができるとおもう。 はじめに ごく単純化すると、テスト対象は状態を持ち、入力を与えると何らかの出力を行なうものである。入力が変われば出力は変化するし、状態が変化すると入力が同じでも出力が変わる(かもしれない)。 ユニットテストは、テスト対象の状態を操作し、与えた入力によって意図通りの出力を得られるかを確認する作業のことをいう。なので、ユニットテストを書くときには、オブジェクトの状態ごとにメソッド単位で入力と出力を確認するようにする。 RSpecの疑似コードで書くと、次のようなテンプレー

    RSpecによるユニットテストの書き方 – recompile.net
  • RSpec の入門とその一歩先へ - t-wada の日記(旧)

    和田 卓人(@t_wada) 作『RSpec の入門とその一歩先へ』はクリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスで提供されています。 東京 Ruby 会議 03 の RSpec ワークショップの資料です。このワークショップでは参加者の方に「写経」(コードを書き写すこと)をして貰い、TDD/BDD と RSpec を同時に学べるように都度説明を入れるかたちで行いました。 第2イテレーションも書きました。続きに興味ある方はご覧下さい (更新) 第3イテレーションも書きました。続きに興味ある方はご覧下さい 1st iteration favotter の みたいな NG ワードのフィルタリング機能を RSpec で作りましょう。まずは NG ワードの検出機能を作成します。 このイテレーションでは最初ベタな形のテストコードと実装を書き、だんだんとそのコードを洗練させてゆきま

  • WebブラウザだけではじめるRuby/Railsプログラミング - Qiita

    これからプログラミングを始めてみたい人に向けて、Webブラウザだけですぐに使えるRuby/Railsのクラウド開発環境 (Nitrous.io) を紹介します。 Rails環境構築の壁 プログラミングを始めるためには、開発環境を構築する必要があります。RubyRailsの開発環境の構築方法はRails Girls インストール・レシピが参考になりますが、いくつかのソフトウェアをインストールする必要がありました。 RubyRails データベース (SQLite) エディタ (Sublime Text, TeraPad) ターミナル (iTerm, PuTTY) バージョン管理 (git) RailsInstallerは、これらのソフトウェアをワンクリックでインストールしてくれますが、最近は更新されておらずRuby1.9.3 + Rails 3.2とバージョンが古くなっています。なお

    WebブラウザだけではじめるRuby/Railsプログラミング - Qiita
  • tappli blog: [Ruby][Mac] Macへのrspecのインストール

    過去の自分の記事を見てrspecもインストールしてみました。 t2low:~ t2low$ gem install rspec Fetching: rspec-core-2.11.1.gem (100%) ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions into the /Library/Ruby/Gems/1.8 directory. あれ?パーミッションのエラーがでました。 こういうときはsudoでいいのかな? t2low:~ t2low$ sudo gem install rspec Password: Fetching: rspec-core-2.11.1.gem (100%) Fetching: diff-lcs-1.1.3.gem (100%)

  • Rubyで二次元配列のコピー - simanのブログ

    Rubyで二次元配列のコピーを行おうとするとコピー元を破壊してしまうケースが多々あるので、まとめてみた。 ・普通にコピー a = [[1,2],[3,4]] b = a b[0][0] = 10 puts "a = #{a}" puts "b = #{b}" a = [[10, 2], [3, 4]] b = [[10, 2], [3, 4]]このようにbを変更したつもりがaにも影響が出ていることがわかる。これは「b = a」が配列のコピーではなくて「aの参照先をbにコピー」となっているからである。これは、a, bそれぞれのobject_idを出力することで確認することができる。 object_idを出力 a = [[1,2],[3,4]] b = a puts "a object_id = #{a.object_id}" puts "b object_id = #{b.object_id

    Rubyで二次元配列のコピー - simanのブログ
  • 正規表現によるバリデーションでは ^ と $ ではなく \A と \z を使おう

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

  • RubyでExcelファイルを扱うライブラリの比較 - Qiita

    概要 RubyExcelファイルを扱うライブラリは、Win32OLEをはじめとしていくつか存在する。 どれを使用すべきか迷ったので、ざっくり比較してみた。 2014/09/03追記 こちらの方がよくまとまっています。 Ruby - RailsExcelを扱うGemまとめ - Qiita

    RubyでExcelファイルを扱うライブラリの比較 - Qiita
  • Ruby から Excel を操作する方法

    Excel の起動と終了 以下のコードを実行すると、Excel が非表示状態で起動します。 require 'win32ole' excel = WIN32OLE.new('Excel.Application') 続けて以下のコードを実行すると、Excel が表示されます。 必要なければ表示しなくても構いませんが、開発中は表示しておくのが無難です。 excel.visible = true Excel を終了するには次のようにします。 excel.quit 既に起動している Excel への接続 既に起動している Excel アプリケーションに接続するには WIN32OLE.new の代わりに次の様にします。 excel = WIN32OLE.connect('Excel.Application') ※Excel が複数起動している場合、どれに接続するかは選べないようです。 新規 Exce

    Ruby から Excel を操作する方法
  • blog.katsuma.tv

    SiriProxy-iRemoconって何? SiriProxy-iRemocon SiriProxyのプラグインの形で、Siriで家電を操作できるものを作りました。今のところ電気のON/OFFだけですが、こんな感じで ライトを付けて ライトを消して とSiriに言う事で、部屋の電気を操作できます。 (2013.01.14追記) エアコンのON/OFFの様子も追加しました。 部屋の電気の操作ってどうやってるの?? このブログでは定番になってきましたが、やはりiRemoconを利用しています。詳しくはこちらをどうぞ。 ネット上で話題になっている番組に自動的にTVのチャンネルを変えるpop-zap SiriProxyって何? SiriProxyはその名のごとくSiriのProxyサーバで、プラグイン形式で質問文に対して独自の処理を追加することができるものです。Readmeがしっかり書かれている

  • RubyMotion を1年以上使い続けてみての雑感 - naoyaのはてなダイアリー

    RubyMotion Advent Calendar 2013 に何か書こう、ということでエントリ。 ご存知のように iPhone アプリの HBFav は RubyMotion で作っています。Objective-C ではなく。以前は Titanium Mobile で作っていましたが、去年にバージョン2として作り直すにあたって RubyMotion に移行しました。 RubyMotion に関しては以前、以下のエントリで概要を説明しています。 RubyMotion - naoyaのはてなダイアリー それから、今年 5月に開催した RubyMotion カンファレンスのスライドなどもあります。 実践RubyMotion - Speaker Deck RubyMotion が発表されたのは 2012 年の5月 とかで、それからずっと使い続けているので1年半近くが経ったことになります。App

    RubyMotion を1年以上使い続けてみての雑感 - naoyaのはてなダイアリー
  • CoffeeScriptとJavaScriptやPythonやRubyの文法の比較 - Qiita

    PythonRubyだとあんな感じで書くけど、CoffeeScriptだとどうかなーというのを思い浮かぶがままに書き下していく。 JavaScriptも追加 コメント

    CoffeeScriptとJavaScriptやPythonやRubyの文法の比較 - Qiita
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA