タグ

rubyに関するtakehikomのブックマーク (401)

  • Rubyの日本語リファレンスマニュアルに、英語のページが現れるようになります - pockestrap

    こんにちは。ruremaメンバーの id:Pocke です。 Rubyの日語リファレンスマニュアルで、未翻訳の英語のドキュメントが公開されるようになりました。 この記事では、それについて簡単に解説します。 何が変わるのか 今までは、未訳のメソッドは日語リファレンスマニュアルには一切書かれていませんでした。 それが今回の変更によって、英語のリファレンスマニュアルと同じ文章が、そのまま日語リファレンスマニュアルにも書かれるようになります。 たとえば Ruby 2.7で追加されたModule#const_source_locationメソッドのドキュメントは未訳であるため、今までは日語リファレンスマニュアルにはドキュメントが存在しませんでした。 ところが今回からは次のようなドキュメントが日語リファレンスマニュアルにも存在するようになります。 https://docs.ruby-lang

    Rubyの日本語リファレンスマニュアルに、英語のページが現れるようになります - pockestrap
  • SuikaというPure Rubyな形態素解析器を作成した - 洋食の日記

    はじめに Pure Ruby形態素解析器Suikaを作成した。開発中でバッリバリにα版だが、思い切ってリリースすることにした。 suika | RubyGems.org | your community gem host 最も有名な形態素解析器であるMeCabもそうだが、形態素解析器はべ物の名前がつくことが多い。「Rubyなので赤いべ物が良いかな」と考えて、文字数とかわいらしさからSuika(スイカ)とした。 使い方 SuikaはPure Rubyで作られているため、MeCabをはじめ特別なライブラリを別途インストールする必要はない。 gem install suika バッリバリにα版なので、機能はないに等しく、オプションなしのMeCabコマンドと同様となる。 $ irb irb(main):001:0> require 'suika' => true irb(main):002:

    SuikaというPure Rubyな形態素解析器を作成した - 洋食の日記
  • プログラミング学習において特定言語を前提とすべきでない理由 - Chienomi

    序 プログラミングの学習について語るとき、なぜか純然たるプログラミングの話ではなく、SEとしての仕事の話を前提として喧伝されることが多い。 前提として、プログラミングを行う者はSEだけでなく、さらにプログラミングを業務とする者もSEだけではない。 そして、まさかホビイストの技術がSEに劣るなどということもない。 これらの目的をごっちゃにしてはいけない。 つまり、プログラミングの習得はあくまで「プログラミングを習得すること」である。 プログラミングの基要素は「考察」「設計」「実装」である。 これはプログラミングであって、プログラムの基要素ではない。 そして、プログラミング言語の基要素でもない。 そして、当たり前の話として、プログラミングの習得というのは、個別要素の暗記ではない。 ピアノを習得するときに、ピアノの技法や演奏を身につけようとするものであり、決して楽譜を暗記する(暗譜する)こ

    takehikom
    takehikom 2020/05/30
    駄文にゅうす経由
  • 「言語の開発は自分の宇宙をつくる感覚」Rubyの生みの親・まつもとゆきひろの創造性 - Yahoo!ニュース

    コンピュータを操作するプログラミング言語で日生まれのものがある。Rubyだ。1995年に一般公開され、いまなお人気ランキングでトップクラスに位置する。開発者はまつもとゆきひろさん(55)だ。無駄を省き、ストレスがないように設計されたRubyはプログラミングという作業を楽しめることがポリシーに掲げられている。一方で、Rubyの開発は自分の宇宙をつくる感覚にも近いという。まつもとさんに世界の言語を構築する醍醐味を聞いた。(ジャーナリスト・森健、写真:塩田亮吾/Yahoo!ニュース 特集編集部)

    「言語の開発は自分の宇宙をつくる感覚」Rubyの生みの親・まつもとゆきひろの創造性 - Yahoo!ニュース
  • Rubyで和暦・旧暦を扱うライブラリ (パースもできるよ!) - Qiita

    Yet another ruby 和暦ライブラリ Pure ruby な日の和暦を扱うライブラリ、名前はまんま "wareki" を作りました。割と網羅的な物になったと思うので、ぜひ使ってみて下さい。 コードと README は github に置いてあります。 特徴 和暦と西暦を相互変換 日語の日付文字列をパースして Date に 元号は大化から全部サポート 旧暦は445年からサポート 特殊記法(旧字体、略字、月の別名、晦日や朔日など)対応 コードサンプル 簡単な例 require 'wareki' すると、標準ライブラリの Date クラスの parse と strftime を上書きします。(もしこの挙動が嫌な場合は wareki/date を直接 require してください。) d = Date.parse("平成二七年 08月 22日") d.strftime("%F")

    Rubyで和暦・旧暦を扱うライブラリ (パースもできるよ!) - Qiita
    takehikom
    takehikom 2020/03/10
    令和にも対応している/Date.parse("R2-1-1")はダメだった(2002年1月1日になった)
  • 「よいサンプルコード」ってどんなサンプルコード? 〜Qiitaや技術ブログを書くときに気を付けること〜 - Qiita

    「よいサンプルコード」ってどんなサンプルコード? 〜Qiitaや技術ブログを書くときに気を付けること〜QiitaRuby はじめに Qiitaやブログに技術記事を書く場合は多かれ少なかれ、サンプルコードを書くと思います。 たかがサンプルコード、されどサンプルコード。 技術記事に書くサンプルコードはどうあるべきなのでしょうか? いろいろな観点があると思いますが、この記事では僕が考える「よいサンプルコード」について語ってみようと思います。 なお、この記事のサンプルコードはRubyで書いていますが、記事の内容自体はRubyに限らずどんな言語にも適用できるものです。 どういったサンプルコードが理想的なのか(大雑把なレベルで) 細かいポイントの説明に入る前に、大雑把なレベルで理想的なサンプルコードについて確認しておきましょう。 以下は僕が考える理想的なサンプルコードです。 読み手(=見知らぬ第三者)

    「よいサンプルコード」ってどんなサンプルコード? 〜Qiitaや技術ブログを書くときに気を付けること〜 - Qiita
  • プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ

    技術部の笹田(ko1)と遠藤(mame)です。クックパッドRuby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 去年の記事「プロと読み解く Ruby 2.6 NEWS ファイル」に続き、今年も日 12/25 リリース予定の Ruby 2.7 の NEWS ファイルの解説をしてみようと思います。NEWS ファイルとは何か、というのは去年の記事を見て下さい。 実は最近、NEWS ファイルを読みやすくしよう、と例を入れたりしていて、以前のものに比べて読みやすくはなっています(英語だけど)。記事中のコードも、NEWS ファイルから引用しているものがあります。記事では、変更の解説に加え、執筆者らが開発に携わっているということを活かして、「なぜ変更

    プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ
  • Ruby 2.7のここがすごい! パターンマッチ、コンパクションGCなどをリリースマネージャーに聞いた - エンジニアHub|Webエンジニアのキャリアを考える!

    Ruby 2.7のここがすごい! パターンマッチ、コンパクションGCなどをリリースマネージャーに聞いた 2019年12月25日にリリースされたばかりのRuby 2.7では、どのような機能がどういった経緯で採用されているのでしょう。リリースマネージャーのnaruseさんと、フルタイムコミッターのmameさんに詳しくうかがいました。 まつもとさんはとにかく忙しくて 実はすごいirbの改良 パターンマッチはRubyをどう変えるか キーワード引数は、端的に壊れていたのを大整理した 高速化に向けたいくつかの観点 Ruby 2.7で導入される「コンパクションGC」とは Ruby 3のビジョンは「静的解析」「並行並列」「JIT」 プログラミング言語Rubyには、クリスマス前後に新しいバージョンをリリースする伝統があり、2013年の2.1.0以降は毎年12月25日にメジャーバージョンアップが行われています

    Ruby 2.7のここがすごい! パターンマッチ、コンパクションGCなどをリリースマネージャーに聞いた - エンジニアHub|Webエンジニアのキャリアを考える!
  • 2019年、fat gemをやめる - 2019-11-22 - ククログ

    fat gemを簡単に作れるようにするgemであるrake-compilerをメンテナンスしている須藤です。過去にfat gemの作り方をまとめたこともあります。 Ruby 1.8.7/1.9.1どちらでも使えるWindows用バイナリ入りgemをDebian GNU/Linux上で作る方法 Windowsの32bit/64bitRuby用バイナリ入りgemをDebian GNU/Linux上で作る方法 fat gemが有用な時代もあったのですが、今はメリットよりもデメリットの方が大きいのでfat gemをやめたらどうか、という話をします。 fat gemについて fat gemとはビルド済みバイナリーが入ったgemのことです。Pythonで言えばwheelのようなものです。 RubyはC言語でRuby用のライブラリーを実装することができます。これを拡張ライブラリーと呼びます。拡張ライブ

    2019年、fat gemをやめる - 2019-11-22 - ククログ
  • TCPサーバを実装する - Ruby Tips!

    RubyでTCPサーバを簡単に実装するにはsocketライブラリのTCPServerクラスを使うと良い。 TCPServer.newには、接続を待ち受けるIPアドレスと、ポート番号を指定する。クライアントからの接続はTCPServer#acceptで待つ。TCPServer#acceptはクライアントとの接続を確立すると、クライアントと通信するソケットを返す。これを別スレッドに渡して1クライアント1スレッドで処理させる。 以下は上記のことを踏まえて、受信した内容をそのまま送信する、いわゆるエコーサーバを実装した例である。このサーバに対して、例えばtelnet localhost 1234してみると、確かに送信した内容を送り返してくるサーバが実装できたことがわかる。 require 'socket' server = TCPServer.new('0.0.0.0', 1234) loop d

    TCPサーバを実装する - Ruby Tips!
  • Ruby: 文字列マッチは正規表現より先に専用メソッドを使おう|TechRacho by BPS株式会社

    🔗 正規表現は文字列メソッドより「遅い」 新しい話ではなくて恐縮です。 Rubyに限らず、一般に正規表現は言語の文字列マッチメソッドより低速になります。 複雑なパターンを調べたい場合は正規表現を使うことになりますが、特に「開始文字列」「終了文字列」とのマッチを単純にチェックするだけなら、String#start_with?やString#end_with?でマッチを取る方が可読性の上でも速度面からもおすすめです。 記事ではtrue/falseを返す文字列マッチメソッドについてのみ言及していますが、文字列の取り出しや置換といった操作についても、専用メソッドの方が正規表現よりも一般に高速なので、「正規表現は次なる手段」と考えるようにしています。 🔗 文字列マッチ専用メソッド(単機能、高速) String#start_with? (Ruby リファレンスマニュアル) String#end_

    Ruby: 文字列マッチは正規表現より先に専用メソッドを使おう|TechRacho by BPS株式会社
    takehikom
    takehikom 2019/10/20
    『「開始文字列」「終了文字列」とのマッチを単純にチェックするだけなら、String#start_with?やString#end_with?でマッチを取る方が可読性の上でも速度面からもおすすめです』
  • GitHub - y10k/ruby-japanize: 日本語のキーワードや構文を定義してRubyを日本語で書けるようにする。

  • Ruby3で導入される静的型チェッカーのしくみ まつもとゆきひろ氏がRubyKaigi 2019で語ったこと - Part1

    2019年4月18日から20日にかけて、福岡国際会議場にて「RubyKaigi 2019」が開催されました。2006年から毎年開催され、今回で13回目を迎えるRubyKaigi。世界中からRubyコミッターを始めとした第一人者が集い、最新の情報や知見を共有します。基調講演「The Year of Concurrency」に登場したのは、Rubyの生みの親であるまつもとゆきひろ氏。Rubyのこれまでとこれからについて語りました。動画はこちら The Year of Concurrency まつもとゆきひろ 氏(以下、まつもと):おはようございます。私は九州の生まれではないんですが、福岡県がRubyのことをたくさん支援してくれているので、だいたい2ヵ月に1回くらいこっちに来ています。なので、だいぶ福岡は近いイメージがあるんですけど。 今日は、Ruby3の話をしようと思ってやってきました。Rub

    Ruby3で導入される静的型チェッカーのしくみ まつもとゆきひろ氏がRubyKaigi 2019で語ったこと - Part1
  • RubyKaigi 2019でujihisaが登壇した裏話 - スタディサプリ Product Team Blog

    ujihisaです。先日2019年4月に日の福岡で開催されたRubyKaigi 2019にて、ujihisaが "Play with local vars"というタイトルで発表してきました。この発表は、40分間英語でひたすらRubyのローカル変数についてだけ語るというものです。 発表スライドは公開済みで、こちらのgistですが、レンダリングにはshowtime.vimを要求しますし、実際にはデモがメインですので、RubyKaigi公式の動画を参照するのが便利です。 www.youtube.com 登壇に至るまで 一年前、RubyKaigi 2018に参加していろんなすばらしい発表を聞いているうちに、 「RubyKaigiでちゃんとした発表をしていないのは申し訳ない」という罪悪感というか強迫観念、 「Rubyを使う上でローカル変数と向き合うのは避けて通れないけど、これだけを取り扱った発表は

    RubyKaigi 2019でujihisaが登壇した裏話 - スタディサプリ Product Team Blog
  • Ruby2.7の新機能PatternMatchingが最高でした - makicamelの日記

    RubyKaigi2019で聞いたRuby2.7から入るPattern Matchの機能に感動したのですが、セッション中は理解しきれない部分があったので、スライドを読み、コードを動かしてみました。 そしたら改めて感動した、という記事です! speakerdeck.com スライドのはじめに、下記の記載があります。 PatternMatchingは2.7.0からの新機能ですが、trunkにはもうcommit済 仕様はまだ策定中 試してフィードバックくださいね! なお、githubにサンプルコードを置いています。 1. 準備 Ruby2.7.0(dev)はビルドしなきゃかな…と思ってたらrbenvがもう対応してました。 はやい!うれしい! $ brew upgrade rbenv ruby-build これで無事2.7.0-devがリストに出てくるようになります。 $ rbenv instal

    Ruby2.7の新機能PatternMatchingが最高でした - makicamelの日記
  • 難読Rubyコードクイズ問題と解説 in RubyKaigi 2019 - エムスリーテックブログ

    RubyKaigi 2019に参加された方もそうでない方もお疲れ様でした。あと数日で到達するゴールデンウィークを指折り数えるowlです。 RubyKaigiでは多彩なセッションにより豊富な知見が得られた他に、Rubyist同士の交流も商店街を貸し切ってのパーティや無料屋台などのイベントによるところもあって例年にないほどの賑わいでした。 さて、そんなRubyKaigiの様子やセッションの知見をみなさんに共有するのは他の参加者による才筆へ委ねることにして、この記事では弊ブースで自分が三日間日替わりに出題していた難読Rubyコードクイズの紹介と解説をしていきます。 毎日このクイズを解きに足を運んでくださった方には感謝しております。お目汚しですが自分が考えたクイズをMatzさん始めコミッターの方にまでご覧頂けたのは光栄です。 <!-- 儀礼的でちょっと退屈な口上はここまで --> 出題 まずRub

    難読Rubyコードクイズ問題と解説 in RubyKaigi 2019 - エムスリーテックブログ
  • 令和時代の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
  • [RubyKaigi 2019] まつもとゆきひろ氏から語られたRuby 3の内容をまとめました! - Tech Inside Drecom

    こんにちは。RubyKaigi1日目お疲れ様でした。年に一度のRubyistたちの祭典、RubyKaigiは皆様楽しんでいますか?初日の今日、私は多くのセッションを聴講したり、Rubyistの皆様と会話したりすることで、とても開発にモチベーションが高まってしまいました。早く帰ってコードを書きたい、仕事に戻ったらこういうことをやりたい、しかしもっと講演を聞きたい!というような複雑な気持ちでとても楽しんでいます。初日の盛り上がりと熱気でとても良い刺激を受けた一日となりました。 ※ 弊社エンジニアが1日目で気になったセッションのレポートも公開しておりますので、合わせてご覧ください。 まつもとゆきひろ氏人から語られるRuby 3の話 多くのRubyistの間でのトピックといえば、Ruby 3は果たしてどうなるのか?ということです。そのRuby 3の展望について、Matz氏人から語られました。

    [RubyKaigi 2019] まつもとゆきひろ氏から語られたRuby 3の内容をまとめました! - Tech Inside Drecom
  • Feature #15742: Add Date#jisx0301 support new Japanese era - Ruby master - Ruby Issue Tracking System

    Reproduce process¶ irb(main):002:0> require 'date' => true irb(main):003:0> Date.new(2019, 5, 1).jisx0301 => "H31.05.01" ruby version: trunk Result of reproduce process¶ irb(main):003:0> Date.new(2019, 5, 1).jisx0301 => "H31.05.01" Expected result and the reason why you expect¶ irb(main):002:0> require 'date' => true irb(main):003:0> Date.new(2019, 5, 1).jisx0301 => "R01.05.01" reason¶ new era (Re

    takehikom
    takehikom 2019/04/18
    『Date.new(2019, 5, 1).jisx0301 => "R01.05.01"』/手元の環境でも(rbenvで更新して)同じ動作になることを確認
  • Rubyは遅いという先入観を持っている人たちが今でもいるようですが、どのように反論すべきですか?

    回答 (5件中の1件目) Rubyは遅いについては先入観だけとも言い切れない面はたしかにあり、rubyで書かれていたプログラムをgolangで書き直して高速化しましたというような例が存在するのも事実です。これは問題であるとは認識しており、高速化の試みは色々と行われているところです。 一方で、そのようなレベルで酷使するほどRubyが使えている例は稀、という話もあります。いまだとRubyを使っている用途としてはWebアプリケーションバックエンドが主流かと思いますが、この領域ですと、処理の時間の大部分はIOが占めている場合がほとんどです。Rubyは遅いというほど実際のアプリケーションパフォー...

    Rubyは遅いという先入観を持っている人たちが今でもいるようですが、どのように反論すべきですか?