タグ

Rubyに関するnaka-06_18のブックマーク (63)

  • Rubyと型についてのポエム - まめめも

    zenn.dev matz はじめコミッターの型に対する姿勢にも疑問を持っています。 というご意見が自分に刺さった気がしたので、他の話題はともかくこの点に関してだけ、ポエムを書きます。 「Rubyに型が欲しい」というのは、「もっと速い馬が欲しい」だと思っています。意味を知らない人は ヘンリー・フォード もっと速い馬が欲しい で検索してください。 これは批判でも皮肉でもありません。みんなが馬の乗り方を知っている世界では、誰も乗り方を知らない自動車より、速い馬のほうが確実で合理的です。まして、自動車が当に実現できるかどうかわからない段階では。なので、他言語で型注釈を書くことによるプログラミング体験が良いと思った人が、それをRubyでも享受したいと思うのは自然だと思います。実際、Steep や Sorbet は Ruby でそういうプログラミング体験を提供することを目指していて、すでにある程度

    Rubyと型についてのポエム - まめめも
    naka-06_18
    naka-06_18 2020/12/15
    型付けのできる動的言語は他にもあるし、Rubyにこだわることは無いと思いますよね。脱Rubyのタイミングですね。
  • CPU律速なRuby/Pythonコードはデフォルト設定のdocker上で遅くなる - まめめも

    English version 要約 dockerはデフォルトでセキュリティ機構(Spectre脆弱性の対策)を有効にします。この影響で、RubyPythonのようなインタプリタは速度が劣化します。特にCPU律速なプログラムで顕著に遅くなります(実行時間が倍くらいになることがあります)。 現象 Rubyで1億回ループするコードを、直接ホスト上で実行する場合と、docker上で実行する場合で実行時間を比較してみます。 直接ホスト上で実行した場合: $ ruby -ve 't = Time.now; i=0;while i<100_000_000;i+=1;end; puts "#{ Time.now - t } sec"' ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux] 1.321703922 sec docker

    CPU律速なRuby/Pythonコードはデフォルト設定のdocker上で遅くなる - まめめも
    naka-06_18
    naka-06_18 2020/05/23
    Ruby界隈の人のはずなのにわざわざPythonも。複雑だ。
  • Rubyの基礎

    詳細はRuby各版のマニュアルを参照してください。 基的には1.8系統は使わないようにし、2.0系のRubyを使うようにしましょう。 どちらでも動くスクリプトにこだわるのは苦労の元です。 此処ではRubyでツールを作るにあたって知って置いた方が良い事を羅列します。 文字の取り扱いは1.8系から1.9系、2.0系への変化で一番問題の起きやすい部分です。 日語を取り扱うスクリプトはどちらか決め打ちで作った方が楽でしょう。 2.0系はデフォルトがUTF8に成っていること意外は1.9系とほぼ互換性があるようです。

    naka-06_18
    naka-06_18 2020/05/15
    バージョンによってデフォルトエンコーディングの渡し方は異なりそう?
  • Ruby ファイルを読み込む(Dir.globなど)順番について - Qiita

    ./in/180726_152833_118036_016.txt ./in/180726_152833_118673_017.txt ./in/180726_152833_111733_006.txt ./in/180726_152833_116294_013.txt ./in/180726_152833_119965_020.txt ./in/180726_152833_113602_009.txt ./in/180726_152833_109057_002.txt ./in/180726_152833_116926_014.txt ./in/180726_152833_119551_019.txt ./in/180726_152833_114285_010.txt ./in/180726_152833_109710_003.txt ./in/180726_152833_115679_

    Ruby ファイルを読み込む(Dir.globなど)順番について - Qiita
  • ドリコムの Gemfile 記述スタイル - Tech Inside Drecom

    この記事ではドリコムにおける Gemfile, gems.rb の記載ルールについてまとめています。 元々はノールールでしたが,2014-04-28 に Idobata Gemfile プレゼント が公開されたことから輸入されました。輸入したのち,一部を社内向けに改訂しています。 では題。 1. gem の並び順は ascii 順 新しく追加するgemをどこに入れるのか悩む時間を減らします。 独自ルール 例外は rails のみ。 if defined?(Rails) で require を切り替えている gem が複数あるため,一番上に書いて最初に読み込みます。 余談ですが、このルールを自動化しようと https://github.com/sue445/rubocop-gemfile を @sue445 が作ったのとほぼ同時に RuboCop 体にも Bundler/OrderedG

    ドリコムの Gemfile 記述スタイル - Tech Inside Drecom
    naka-06_18
    naka-06_18 2020/02/10
    古い資料だけど。「ライブラリのバージョンはできるだけ指定しない」は必要があればとか、使っていればとかなんだろう。Gemfileは記述性が高いな。
  • Cookbookの管理を楽にするBerkshelfの使い方( ー`дー´)キリッ とか。 - 256bitの殺人メニュー

    子供が生まれたり、職場では人事改革が行われたり、@oranieさんがスマートフォンアプリエンジニアになったりと、生活が激変しつつある今日この頃みなさまいかがお過ごしでしょうか。 はい、乙カレー様です。くわのです。 職場ではずっとchef-server 1で来ていたわけなのですが、ちょっと前からchef solo+Berkshelfを使い始めたりしている私達がいます。 きっとみなさんchef-serverとか強がりやがってやっと素直になりやがったなと思っていることでしょう。 (Chef-serverも使い方で便利ですよ) ドキュメント読んだらいいのかと思ったりもするんだけどBerkshelfのドキュメントがあんま綺麗じゃなくて困るというw ちゅーことで、ざっくり使い方を整理しました。あ、Berkshelfのバージョンは3です。 Berkshelf BerkshelfはCookbookの依存

    Cookbookの管理を楽にするBerkshelfの使い方( ー`дー´)キリッ とか。 - 256bitの殺人メニュー
  • Berkshelf で Chef Cookbook の管理

    こんにちは。@jedipunkz です。 今日は Chef Cookbook の管理をしてくれる Berkshelf について。 Berkshelf は Librarian-Chef と同じく Cookbook の管理をしてくれるツールです。依 存関係のクリアもしてくれます。Opscode の中の人 @someara さんにこんなこと言われ て、 @jedipunkz berkshelf > librarian-chef — somearaさん (@someara) 2013年2月5日 Librarian-chef じゃなくて Berkshelf 使えってことだろうなぁと思ったので僕は Bekshelf を使うようにしてます。先日ブログ記事にした openstack-chef-repo も以前 は Librarian-chef を使っていたのですが最近 Berkshelf に置き換わりまし

    Berkshelf で Chef Cookbook の管理
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 欧米で発売されたNintendo Switchゲームが突然配信停止。原因はプログラミング言語「Ruby」に関するイースターエッグ - AUTOMATON

    ホーム ニュース 欧米で発売されたNintendo Switchゲームが突然配信停止。原因はプログラミング言語「Ruby」に関するイースターエッグ パブリッシャーのCIRCLE Entertainmentは4月12日、『A Dark Room』のNintendo Switch版を欧米で発売した。作は、Michael Townsend氏が手がけた同名のテキストアドベンチャーゲームの移植版だ。デベロッパーのAmir Rajan氏はiOS/Android版にて成功を収めたのち、Ryan Gordon氏と共にNintendo Switchへの移植をおこなった。しかし、作は配信開始から程なくして、任天堂によりニンテンドーeショップから取り下げられてしまった。その原因は、作に隠されたイースターエッグにあったという。 https://www.youtube.com/watch?v=N8TfGKFb

    欧米で発売されたNintendo Switchゲームが突然配信停止。原因はプログラミング言語「Ruby」に関するイースターエッグ - AUTOMATON
    naka-06_18
    naka-06_18 2019/05/01
    RubyをNitendo Switchゲームに組み込んでセキュリティインシデントを引き起こし得たお話。
  • 【必読】開発者が「RubyMine」を使ってはいけない4つの理由【JetBrains】 - pavlog

    「統合開発環境(とうごうかいはつかんきょう)」… これは、たった一つのアプリケーションで開発作業の何もかも全てをただ一つの操作環境からできるようにした開発における叡智の集合です(個人の感想です)。 今の時代は金とマシンパワーを積んでIDE*1さえ買えば、どんな開発作業も楽になる恐ろしい時代です(個人の感想です)。 しかし数あるIDEの中でも使ってはいけないIDEがあります。JetBrains社謹製のIDEであるRubyMineです。様々なIDEを使ってきた僕が、今改めて使わない方がイイと断言するのには、理由が4つあります。 ・目次 IDEとは? 使ってはいけない理由 理由1: 「Search Everywhere」 理由2: 「Quick Documentation / Quick Definition」 Quick Documentation Quick Definition 理由3:

    【必読】開発者が「RubyMine」を使ってはいけない4つの理由【JetBrains】 - pavlog
    naka-06_18
    naka-06_18 2019/01/31
    “『RubyMine』は絶対に使い始めてはならない”
  • Rubyのまつもと氏、「気分を害することもある。だからどうか建設的であってほしい」

    オープンソースソフトウェアの開発においては、コミュニティメンバーからのコードのコントリビュートだけでなく、さまざまな立場の人々から「この機能がほしい」「この動作はバグではないか」といった意見が寄せられます。 有名なオープンソースプロジェクトであるほど、そうした多くの意見やコメントを受け止めつつ開発は進んでいくわけですが、そうした状況は一方でさまざまな気苦労を生むであろうことは容易に想像が付きます。 人気のあるプログラミング言語として知られるPythonの生みの親であるGuido van Rossum氏は2018年7月、Pythonを開発する過程で生ずるさまざまな意思決定の気苦労から離れたいとの理由で、Pythonにおける「優しい終身の独裁者」からの引退を発表しました。 ちょうど新バージョン「Ruby 2.6」が登場したばかりのRubyに対しても、米国の掲示板redditで「[whining

    Rubyのまつもと氏、「気分を害することもある。だからどうか建設的であってほしい」
    naka-06_18
    naka-06_18 2019/01/11
    言語によってはSNSで文句書かれているしそういうものだと、特にRubyの開発者日英両方読めるだろうし。日本人は黒船に弱いため気にしてしまうのもあるのかな。「Javaは進化が遅い」なんてMatzいっていたんだなあ。
  • bash - how to use shell script in not_if condition - Stack Overflow

    naka-06_18
    naka-06_18 2018/11/16
    not_if で "`echo some`" == '' のように判定が出来るみたい。
  • Add a 'null' or 'notifies' NOP resource to hang chained notifies off of · Issue #3426 · chef/chef

    naka-06_18
    naka-06_18 2018/11/15
    処理をまとめて notifies チェインを作りたいときは、 log リソースを使うと良い。
  • Chef でサーバ管理を楽チンにしよう! (第 2 回)

    naka-06_18
    naka-06_18 2018/11/14
    “即時実行したい場合は、:immediately を指定”
  • フルタイムのコミッターとして企業に属しながらオープンソースのプログラミング言語を開発するということ - GeekOutコラム

    卜部という名前で、マネーフォワードという会社でプログラミング言語Rubyの開発に携わっているものです。 実は、この文章を書き始めるまでにずいぶんと悩みました。というのも、これまでこのコラムに登場した他の人たちと違って、自分のキャリアというのは決して戦略的に積み重ねてきたものではないのです。そもそも初回の転職からして、やりたくて転職したわけではない。 思い返せば大学院から最初に就職した会社は、受託開発で忙しいながらも楽しく、社会人としてもプログラマとしても大きく成長させてくれた職場でした。何もなければそのまま一生そこで勤めて終わる、当にそう思っていましたし、今でもやがては戻れたらいいなあと思います。しかし現実にはそうはならなかった。どこに行っても仕事がなく、開発者が余ってしょうがないみたいな時代があり、それが十年近く前ですけど、ありていに言えば放り出されてしまった。会社都合退職です。 しょ

    フルタイムのコミッターとして企業に属しながらオープンソースのプログラミング言語を開発するということ - GeekOutコラム
    naka-06_18
    naka-06_18 2018/10/12
    Twitter で冒険的なことを書かれるイメージだったけど、当たり障りのない内容に仕上がっていますね。
  • プログラマーのための YAML 入門 (中級編)

    書いた人:kwatch はじめに YAMLYAML Ain’t Markup Language)とは、構造化されたデータを表現するためのフォーマットです。XML と目的は同じですが、XML と比べて「読みやすい」「書きやすい」「わかりやすい」という特徴があります。 また YAML では、データを以下の 3 つで表現します。XML と違って特別な概念が必要ないので、データの操作が非常に簡単です。 配列 ハッシュ スカラー(文字列、数値、真偽値、日付など) 前回の初級編では、YAML の書き方を中心に説明し、XML との比較も行いました。今回の中級編では、YAML を扱うライブラリ Syck の機能を紹介します。また Syck を PHPPython から使うための方法も説明します。 前回からの補足事項 Syck について OCaml のサポートは中止になりました。かわりに、Lua と

  • プログラマーのための YAML 入門 (初級編)

    はじめに YAML について 基的な書き方 配列 ハッシュ 配列とハッシュのネスト ブロックスタイルとフロースタイル コメント スカラーとデータ型 複数行の文字列 アンカーとエイリアス タブ文字について その他 XML との比較 表記法について 概念について インライン要素について データ型について 改行や半角スペースの扱いについて データバインディングについて ツールについて その他 終わりに 参考文献 著者について プログラマーのための YAML 入門 連載一覧 書いた人:kwatch はじめに YAML とは、構造化されたデータを表現するためのフォーマットです。 目的は XML と似ていますが、XML と比べて「読みやすい」「書きやすい」「わかりやすい」という利点があります。 また YAML はあくまで「仕様」であり、それを処理するライブラリの「実装」が必要です。 Ruby 1.8

  • Ranking Programming Languages by GitHub Users

    I’ve recently become obsessed with the sheer amount of development activity happening on sites like GitHub. As a first project on working with this data, I thought it would be fun to rank all the programming languages by counting how many people on GitHub use each language. I’m using the GitHub Archive and GHTorrent projects as data sources for this analysis. The GitHub Archive provides a record o

    Ranking Programming Languages by GitHub Users
  • 前バージョン比約3倍に高速化、Ruby 2.5.0がリリース

    Rubyコミュニティは2017年12月25日(現地時間)、オブジェクトスクリプト言語「Ruby」のバージョン2.5.0をリリースした。Rubyはまつもとゆきひろ氏によって開発され、日初の国際規格に認証された言語である。バージョン2.5.0ではtrace命令を削除することで5~10%の高速化を実現。&blockを用いる際は"Lazy Proc allocation"と呼ばれる手法を用いることで、前バージョンの約3倍高速化した。その他にもMutexの再構成や、ERBによるコード生成速度を2倍に高めるなど、全体的なパフォーマンスの改善が加わっている。 Ruby 2.5.0 実行画面 新機能としては、do/endブロック内における例外処理の記述が可能になり、yieldの戻り値がそのまま返すyield_selfの追加。分岐カバレッジとメソッドカバレッジ計測をサポートした。また、大きな変更点として、

    前バージョン比約3倍に高速化、Ruby 2.5.0がリリース
    naka-06_18
    naka-06_18 2017/12/26
    システム利用したときに 3倍速くなっている訳じゃなさそうで。オフィシャルな情報から抜粋したのだろうし、このように引用されるような状況に Ruby の広報はなってしまっているんだろう。自浄作用が出てくるか。
  • Rubyでディレクトリ内のファイル名を取得 - chulip.org

    DirクラスかPathnameクラスを使用すると取得できる Dir.glob(pattern) Dir.glob("RAILS_ROOT/public/stylesheets/*.css") Pathname.glob(pattern) Pathname.glob("RAILS_ROOT/public/stylesheets/*.css") stylesheetsにあるcssファイルを取得してる DirとPathnameの違い 文法的には対して変わらないのだけど返ってくる結果の型が違う Dirは文字列の配列 PathnameはPathnameオブジェクトの配列 ワイルドカード指定 例えばstylesheets以下のディレクトリにあるcssも取得したい Dir.glob("RAILS_ROOT/public/stylesheets/**/*.css") ワイルドカード * 空文字を含む任意の

    Rubyでディレクトリ内のファイル名を取得 - chulip.org