タグ

Rubyに関するhyconのブックマーク (17)

  • 令和時代のRubyコア開発 - k0kubun's blog

    Ruby Core Development 2019というタイトルでRubyKaigiのCFPにプロポーザルを書いたのだが、 もう一つ書いた方の話が採択されたのでその話はしなかった。 さて、今日はRubyコア*1の開発がSubversionからGitに移った節目でもあったので、そっちのトークで言いたかったことの一部を記事にしておこうと思う。 Subversion → Git 移行 [Misc #14632] 去年くらいから @hsbt さんが cgit というGitフロントエンドを使ってGitリポジトリの準備を始め Misc #14632、ついに今日正式にcgitの方がupstreamになった。平成の時代でSubversionでのtrunkのRubyコア開発は幕を閉じた。 この辺を進めているのは主に @hsbt さんな中、僕がこれを偉そうに書いたり今回のRubyKaigiで壇上でアナウンス

    令和時代のRubyコア開発 - k0kubun's blog
    hycon
    hycon 2019/04/23
  • HashDoS脆弱性との戦い! Rubyコミッター・卜部昌平が明かすプログラム堅牢化のノウハウ - エンジニアHub|若手Webエンジニアのキャリアを考える!

    HashDoS脆弱性との戦い! Rubyコミッター・卜部昌平が明かすプログラム堅牢化のノウハウ 過去、HashDosの影響を受けたRuby。言語開発者はいかにしてこうした問題に対応してきたのでしょうか。コミッターである卜部氏の貴重な記録を公開します。 2011年の末頃、HashDoSという脆弱性が公表され、Rubyもこの影響を受けた。稿の筆者である卜部昌平(うらべ・しょうへい/@shyouhei/以下、卜部)は、報告当初からRuby側のチームメンバーとしてプログラム体の修正を担当した。以下はその記録である。言語開発者たちが普段どのようなことを考え、どういった技術を用いて開発やバグフィックスを行っているのか。その概要を知ってもらえれば幸いだ。 オブジェクト指向スクリプト言語 Ruby HashDoSの概要 なぜ約6年後の今、修正内容を公開するに至ったか? 前史:すでに内包されていたリスク

    HashDoS脆弱性との戦い! Rubyコミッター・卜部昌平が明かすプログラム堅牢化のノウハウ - エンジニアHub|若手Webエンジニアのキャリアを考える!
  • Railsの太ったモデルをダイエットさせる方法について - メドピア開発者ブログ

    こんにちは。メドピアのRuby(Rails)化をお手伝いしている@willnetです。最近はよくリファクタリングをしています。 今回は、最近僕がリファクタリングしている内容についてまとめようと思います。 メドピアではFat Model/Controllerを避けるために、rubocopの設定を利用しクラスの行数が300行以下になるよう制限しています*1。最近300行を超えるモデルが出てきたので、一部の処理を別のクラスに切り出し始めました。 このとき、Railsが提供している機能であるconcernsを利用すると楽に行数を減らすことができますが、それだとrubocopの指摘を回避できるという意味しかないので、なるべく委譲(composition)を利用して処理を別クラスに移していっています*2。 複数モデルにまたがる処理を切り出す Railsアプリケーションを書いていると、複数のモデルを一度

    Railsの太ったモデルをダイエットさせる方法について - メドピア開発者ブログ
  • ふつうのRailsアプリケーション開発

    2. 自己紹介 • 大仲 能史 a.k.a. @onk • 株式会社ドリコム • Railsエンジニア歴8年ぐらい – 1.2.6から触り始めた – 格的にproductionで使ってるのは3.0から 1

    ふつうのRailsアプリケーション開発
    hycon
    hycon 2017/07/02
  • 【Ruby】PythonプログラマーがRubyを触って感じたこと - 歩いたら休め

    Pythonプログラマーというか、元々Python(ときどきR、C言語)で数値シミュレーションをしていた学生が、就職してRubyでWeb開発を行うにあたって勉強したことを書き連ねていくだけの記事です。 もし自分と同じような立場の人(これから後輩としてもどんどん増えていくかも!)がいたら、「ここを押さえておけばRubyは問題なく書けるよ」と教えられるように書いておきます。というのも、レビューを行っていた先輩とのプログラミングのスキルとの開きがあり、先輩も私も「どこが分かってないのか説明できない」状態になってしまってお互いに困ってしまった経験があるからです。 RubyPythonはよく似ているのですが、思想や見た目で違う部分が多く、片方を勉強するともう片方の理解も深まります。 たまに2ちゃんねるのオカルト板である「見たことある世界によく似た異世界に迷い込んだ」みたいな感覚で、なかなか面白い経

    【Ruby】PythonプログラマーがRubyを触って感じたこと - 歩いたら休め
    hycon
    hycon 2017/04/02
  • 最速で最速のRuby擴張を作る

    CrystalでRubyの擴張を書く https://github.com/ne-sachirou/sample_ruby_extension_in_crystal

    最速で最速のRuby擴張を作る
    hycon
    hycon 2017/03/24
  • Ruby 2.4でIntegerに一本化される整数 - Qiita

    Ruby 2.4から、整数のクラスが付け変わることになりますが、特にCエクステンションを書いている場合は注意の必要があります。 Ruby 2.3までの世界 Rubyの世界にももちろん整数がありますが、(Ruby側から見て)今までは抽象クラスのIntegerの下に、絶対値の小さな整数についてはFixnum、それに収まらないものについてはBignumという具象クラスがある、というように分かれていました。このあたりについては、以前書いた記事が参考になるかと思います。 問題点 このような形にしていることで、いくつか問題がありました。 FixnumとBignumは実装の詳細の違いで、Ruby側から違いが見える必然性はない 同じ整数なのにFixnumとBignumで挙動を違える、なんてことはむしろやるべきでない 環境によってFixnumのサイズが違う(可搬性に乏しい) RubyのISO規格上も、Int

    Ruby 2.4でIntegerに一本化される整数 - Qiita
    hycon
    hycon 2016/09/19
  • Rubyが今のPythonの地位にいない理由

    _ Rubyが今のPythonの地位にいない理由 歴史のことなんぞなんも知らんけど、「技術的には今のPythonの地位はRubyでもよかったのに、そうならなかった」のが何故か、その理由を書いてみよう。僕はRuby歴史なんて知らないし、以下の文章は全部、まるで見てきたかのように書いてますが、適当に書いたくせに何故か断言口調になっている怪文書の類いです。 https://twitter.com/mametter/status/741950239662170112 まめさんの書いた理由リストはどれも関係ない。いやカスってるけど。難しいというのも関係ない。 僕がRubyを知ったころ…最初に書いた通りRuby歴史なんて知らないので、別に早くもないわけだけど…Rubyというのは全く使われていない言語だった。どっかの好き者がPerlの替わりに単純な処理に使って、「ウフ、美しくかけた、グフッ」とかつぶ

    hycon
    hycon 2016/06/16
  • %%%%%%%%%%%%%%% == 空文字列 - Qiita

    Rubyで%%%%%%%%%%%%%%%を実行すると空文字列("")が得られる。 ちなみに%の数は15個。 他の数のときは? %を1つずつ増やしてevalさせてみると、最初は3つの時に空文字列を得られた。 以降は4ずつ増えたときにも得られる。 数が違うとSyntaxError。 def eval_p(n) eval "%" * n rescue SyntaxError end (1..100).select{|n| eval_p n } #=> [3, 7, 11, 15, 19, 23, 27, 31, 35, 39, 43, 47, 51, 55, 59, 63, 67, 71, 75, 79, 83, 87, 91, 95, 99] # 最初だけ3、以降は4ずつ増えてる (1..100).map{|n| eval_p n }.compact #=> ["", "", "", "",

    %%%%%%%%%%%%%%% == 空文字列 - Qiita
    hycon
    hycon 2015/02/23
  • Ruby 1.8.7 と 1.9.2 のセキュリティメンテナンスが延長されます

    Posted by zzak on 17 Dec 2013 Translated by makimoto 2014年6月まで 1.8.7 と 1.9.2 に対するセキュリティパッチのサポートが行なわれることになりました。 Terence Lee (@hone02) と Zachary Scott (@_zzak) がメンテナとなります。 6ヶ月のメンテナンス期間のあと、さらに6ヶ月の延長のためにコミッタを割り当てる可能性があります。 このメンテナンスの延長が実現したのは Heroku によるものです。 詳細については次のブログ記事を参照ください。 A Patch in Time: Securing Ruby (英語) 問題報告の方法 延長されたメンテナンス期間は、1.8.7 と 1.9.2 のソースコードリポジトリに対し、 我々はセキュリティパッチ のみ を適用します。 我々はセキュリティ

    hycon
    hycon 2013/12/19
  • Rubyでプリキュアを作った #cure_advent - くりにっき

    これは プリキュア Advent Calendar 2013 の16日目です。 はじめに 12/16はキュアピースの中の人の金元寿子さんの誕生日です。おめでとうございます!!! ピカピカぴかりんじゃんけんぽん!キュアピース! #いい夫婦の日なので嫁を晒す #いい夫婦の日なので嫁を晒す 会社の方 トリプルピース 15日目 id:tdakak さんの ハートキャッチプリキュア!の好きなところ でした 16日目:Rubyプリキュアを作った Rubicure*1というプリキュアのgemを作りました。 プリキュアハッカソン で id:drillbits さんが作っていた pycure にインスパイヤされてRuby版を作りました。(Ruby 2.0以上必須) github: https://github.com/sue445/rubicure rubygems: https://rubygems.o

    Rubyでプリキュアを作った #cure_advent - くりにっき
    hycon
    hycon 2013/12/16
    便利
  • Ruby 1.8.7 は引退しました

    Posted by shyouhei on 30 Jun 2013 Translated by makimoto まとめ:予定された通り、ruby 1.8.7 は終わりました。 ruby 1.8.7 について すでに大半の方は ruby 1.9.x か 2.0.0 をお使いのことと思います。 (もしまだならそうしてください。) かつて、1.4.x、1.6.x、1.8.x といったバージョンがありました。 これらは MRI と呼ばれており、ruby 1.0 直系の子孫です。 当時最先端の ruby として matz により 1.8.0 はリリースされ、1.8.7 はその血統の最後の一人となりました。 技術的な話をすると、1.8.0 がリリースされて10年が経ち、1.8.7 がリリースされて5年が経ちました。 それまで、 rubyCGI スクリプトを書くために使われていました。 その後、

    hycon
    hycon 2013/06/30
  • Ruby 2.0.0-p0 リリース

    SIZE: 13608925 bytes MD5: 50d307c4dc9297ae59952527be4e755d SHA256: aff85ba5ceb70303cb7fb616f5db8b95ec47a8820116198d1c866cc4fff151ed 特徴 主要な新機能 主要な変更点は以下のとおりです。 言語コア機能 キーワード引数: API 設計の新しい柔軟性 Module#prepend: クラス拡張の新しい方法 シンボルの配列を簡単に作るリテラル %i __dir__: 実行中のファイルのあるディレクトリ名 default UTF-8 encoding: 多くのマジックコメントが不要に 組み込みライブラリ Enumerable#lazy / Enumertor::Lazy: 無限の遅延ストリーム Enumerable#size: 遅延サイズ評価 #to_h: Hash へ

  • 「人間様が気分よくプログラミングするための言語」Rubyは何を目指すのか - GIGAZINE

    「気分やノリがソフトウェア開発には重要だ」と断言し、そこに注目して自らRubyを開発してきたまつもとゆきひろ氏は、どのようにしてプログラマに育ち、Rubyを生み出し、そして開発を続けてきたのでしょうか? 今や日初のオープンソースソフトウェアとして100万人規模のユーザを持つRuby。数々の賞を受け、なおも変化と成長を見据えるまつもと氏が日最大のゲーム開発者向けカンファレンス「CEDEC2011」にて、自らの若かりし日々から長いRubyの開発の歴史とそこで培われたコンセプト、そして未来への展望までを余すところなく披露してくれました。「Ruby開発が教えてくれたこと」と題されたこの講演の全内容は以下から。 まつもと: はじめまして、まつもとゆきひろです。 最近はRubyを開発した人ということで有名になりましたが、Ruby自体ゲームのソフトウェアというより、それを動かすサーバとして使用して頂

    「人間様が気分よくプログラミングするための言語」Rubyは何を目指すのか - GIGAZINE
  • プレス発表 プログラム言語RubyのJIS規格(JIS X 3017)制定について:IPA 独立行政法人 情報処理推進機構

    IPA(独立行政法人情報処理推進機構、理事長:藤江 一正)に設置したRuby標準化検討ワーキンググループ(委員長:中田 育男 筑波大学名誉教授)にて原案作成を進めてきたプログラム言語Ruby技術規格書が、JIS規格、JIS X 3017として、2011年3月22日に制定されました。 JIS規格化されたことにより、Rubyの相互運用性(*1)が向上し、Rubyを用いてより生産性の高いプログラム開発・システム開発が可能になります。 概要 Rubyは1993年に日で発案され、開発が開始された、日発のプログラム言語です。豊富な機能と簡便さとを併せ持ち、高機能なアプリケーションを簡潔に記述できる等の特長から、セールスフォース・ドットコムや楽天など、国内外に有名な数多くの会社のアプリケーション開発やシステムの開発に用いられています。また、島根県や福岡県などは、Rubyを核とした地域ソフトウェア産

  • DebianのRubyパッケージ管理者が辞めてしまった理由 - karasuyamatenguの日記

    RubyのDebianパッケージを管理しているLucas Nussbaum氏が辞める意思を表明した。 http://www.lucas-nussbaum.net/blog/?p=617 Nussbaum氏のルビーコミュニティーに対する批判・懇願を残している。最初の二つは(コアとリリース)は日の開発陣に対して、それ移行は英語ベースのルビーコミュニティーに対しての意見だと思う。以下、Nussbaum氏の意見を要約。 ルビーコア開発コミュニティー 開発メールリストは日語でなく英語主体のruby-core@に移行すべきだ。 リリース管理 ruby_1_8 (106 commits over the last six months) ruby_1_8_6 (4 commits over the last six months) ruby_1_8_7 (35 commits over the la

    DebianのRubyパッケージ管理者が辞めてしまった理由 - karasuyamatenguの日記
  • プログラム言語Rubyの標準化

    1. はじめに プログラム言語Rubyは,1993年ごろから,日のまつもとゆきひろ氏を中心に,コミュニティを主体に開発されてきたオブジェクト指向スクリプト言語であり,その処理系はオープンソースソフトウェアとして流通している. プログラム言語には,FORTRAN,COBOLなど欧米の技術者,機関,国などが開発を始め,国際的に認知されている言語は多数あるが,日発のものは無く, Rubyが初めて国際的に広く認知された. Rubyは,オブジェクト指向言語としての豊富な機能と,スクリプト言語としての簡便さとを併せ持ち,高機能なアプリケーションを簡潔なコードで記述できる等の特長を持つ.この特長から,生産性の高いプログラム開発が可能であるとの評価が高く,Twitterなど,国際的に有名な数多くのアプリケーションやネットワークシステムの開発に用いられている. このように,日の内外を問わず多くの分野で

  • 1