タグ

Rubyに関するt-murachiのブックマーク (21)

  • Ruby 3 の静的解析ツール TypeProf の使い方 - クックパッド開発者ブログ

    こんにちは、フルタイムRubyコミッタとして働いてる遠藤(@mametter)です。昨日、Ruby 3.0.0-preview2がリリースされました! このリリースには、遠藤が開発している Ruby の静的型解析ツール TypeProf が初めて同梱されています。これの使い方をかんたんにご紹介したいと思います。 デモ TypeProf は、型注釈のない Ruby コードを無理やり型解析するツールです。とりあえずデモ。 # user.rb class User def initialize(name:, age:) @name = name @age = age end attr_reader :name, :age end User.new(name: "John", age: 20) typeprof コマンドは、Ruby 2.7 で gem install typeprof でインスト

    Ruby 3 の静的解析ツール TypeProf の使い方 - クックパッド開発者ブログ
    t-murachi
    t-murachi 2020/12/15
    TypeProfがダックタイプをジェネリクスとして解決できるようになるならこれは大した発明になる。メンバの内容を制約と解釈してtraitとしてグループ化、そこから外れる記述をエラーとして検出できれば…
  • Rubyと型についてのポエム - まめめも

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

    Rubyと型についてのポエム - まめめも
    t-murachi
    t-murachi 2020/12/15
    言及元記事でも「フレームワークや言語は死んでも、そこで培われた思想は残る」と書かれていた通りなら、TypeProfという試みもそういう意味では評価されて然るべきと思う。
  • Ruby、jQueryなどの廃れていくOSSを開発している人達はどういう気持ちで日々それらを開発しているんですか?

    回答 (7件中の1件目) ふむ。Rubyが廃れていくOSSという評価にはだいぶ不満がありますね。絶頂期と比べると人気が下がっていることは認めるとしても、それと「廃れていく」とはまったく異なることだと認識しています。 Rubyは安定的な人気を保っていますし、新参の(人気があると評価される)OSSよりもよほど大きなコミュニティと資産を保有しています。誰かが特定のOSSを「廃れていく」と評価するのは勝手ですが、現実に開発者の気持ちに影響を与えるかと言うと、不愉快であるという点を除くとほとんど影響ないでしょう。 しかし、(Rubyを名指しされたのでやや感情的な反応をしましたが)実際に廃れてい...

    Ruby、jQueryなどの廃れていくOSSを開発している人達はどういう気持ちで日々それらを開発しているんですか?
    t-murachi
    t-murachi 2020/11/21
    実際ユーザーが全くいなくなったら開発モチベーションも急落するんだろうけどそれなりにいろんなところで使われてるし、RoRがって言うなら分からんでもないけどコの業界はWebだけやないんやで…(´・ω・`)
  • trimやstripが全角スペースをトリミングしない理由で盛り上がったのでまとめてみた - Qiita

    はじめに RubyのString#stripが全角スペースをトリミングしてくれないことにこの間初めて気づきました。 そこでフィヨルドブートキャンプのSlackで質問してみたところ、結構盛り上がったので記事にまとめます。 編 自分で調べたこと まず自力で調査したことをまとめます。 Javaのtrimメソッド Javaのtrimのロジックは「\u0020(半角スペース)の文字コードより大きいか小さいか」が判断基準になっています。 ただ、それが他の言語の場合同様のロジックで実装されているのかまではわかりませんでした。 RubyのString#strip(Cのコード) 前後のオフセット値を算出してそれを利用して前後のスペースのトリミングを実現しています。 ただ、C力が圧倒的に足りないのでどういうロジックでそのオフセット値を算出しているかまではわかりませんでした。 追記 RubyRuby実装、R

    trimやstripが全角スペースをトリミングしない理由で盛り上がったのでまとめてみた - Qiita
    t-murachi
    t-murachi 2019/06/20
    そもrubyよりUnicodeの方が後発なんですよね… やるとしたら他の言語でもそうであるようにUnicode対応に伴う国際化対応の一環での機能追加でしょうし、そのために既存の関数の挙動を変えることはしないでしょ(´・ω・`)
  • Rubyの死?開発者はどの言語を学ぶべきか? | ソフトアンテナ

    のソフトウェア技術者、まつもとゆきひろ氏によって作られたプログラミング言語「Ruby」。その出自から日で人気が高いのはもちろん、「Ruby on Rails」というキラーフレームワークが爆発的に広まったことで、全世界的な知名度をも獲得しました。 ところがここ数年Rubyの人気は低下傾向にあり、以前とは状況が少し変わってきているようです。 テックメディアTechRepublicのライターAlison DeNisco氏は8月7日、「The death of Ruby? Developers should learn these languages instead」という記事を公開。Rubyの人気が低下している現在、開発者は別のプログラミング言語を習得したほうが良いという趣旨の考察を展開しています。 Rubyの人気の低下の証拠とは 同記事はRubyの人気低下の証拠として、Indeedによる

    Rubyの死?開発者はどの言語を学ぶべきか? | ソフトアンテナ
    t-murachi
    t-murachi 2017/08/10
    商売的にオイシくないなと思うと、途端に粋がってる経済屋がこういうことをノタマい始めるのです…(´・ω・`) 殺せるもんならまずはVBA辺りを殺していただきたく…(´・ω・`)
  • Rubyの内部文字コードはUTF-8ではない...だと...?!|TechRacho by BPS株式会社

    こんにちは、hachi8833です。 少し前に、babaさんから「Rubyの内部文字コードはUTF-8じゃないよ」とツッコミがありました。 (追記: 上は会話の途中から切り取りましたのでご了承ください) いきなりの展開にくらくらきましたが、babaさんはさらにたたみかけます。 こうしたことはとっくにご存じの方も多いと思いますが、「Rubyといえば2.0以来UTF-8完全対応なんじゃないの」と勝手に思い込んでた私は脳に掌底をらったような思いです。ああ、でもこういうことがあるから面白い。 ⚓ プログラミング言語と内部文字コードの関係 まず最初に押さえておきたい点です。プログラミング言語で文字コードに関連する部分は、「文字列」「正規表現」「入出力」「コード中の文字リテラル(""の中など)」「コード中の文字リテラル以外の要素(変数名など)」「ファイル名」などが中心になります。そして文字列に関連し

    Rubyの内部文字コードはUTF-8ではない...だと...?!|TechRacho by BPS株式会社
    t-murachi
    t-murachi 2016/10/14
    「保存」という言葉の使い方がすごく引っかかる… 「保持」とかじゃ駄目なん? (´・ω・`)
  • 【Ruby】PythonプログラマーがRubyを触って感じたこと - 歩いたら休め

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

    【Ruby】PythonプログラマーがRubyを触って感じたこと - 歩いたら休め
    t-murachi
    t-murachi 2016/09/21
    「Perlにはもっと意味不明な記号があるよ」<そ、そうだっけ…^_^;
  • RubyのClassクラスとかのモヤッと感をズバッと解決したい - Qiita

    ClassクラスとかModuleクラスの継承関係やら、 それ自体のクラスとかの関係てなんかモヤっと感あるなあと思っていて、 上手い事キレイに説明したいなと思い色々考えていたらそっぽい答えが出たので書きます. まあひとまず以下のコード見て頂いてモヤっとしなければこんなクソ記事すぐ閉じるが宜しいかと. もしモヤっとした方で興味があったらお読み頂ければなと. '1'.class => String '1'.class.class => Class '1'.class.superclass => Object '1'.class.class.class => Class '1'.class.class.superclass => Module '1'.class.class.superclass.class => Class '1'.class.class.superclass.superclas

    RubyのClassクラスとかのモヤッと感をズバッと解決したい - Qiita
    t-murachi
    t-murachi 2014/09/30
    |_`)。oO(YOU! クラス図書いちゃいなYO!!)
  • Ruby から Java へのシフトで大統領選を乗り切った Twitter

    Rustが再評価される:エコシステムの現状と落とし穴 In this article, we share findings and insights about the Rust community and ecosystem and elaborate on the peculiarities and pitfalls of starting new projects with Rust or migrating to Rust from othe...

    Ruby から Java へのシフトで大統領選を乗り切った Twitter
    t-murachi
    t-murachi 2012/11/16
    「フロントエンドでは HTML5 のトレンドに従って,ブラウザベースの JavaScript によるレンダリングコードへとシフトした。それによって Rails の Web ページ構築モデルによるメリットの多くが失われることになった」<えっ
  • [ruby-dev:31539] strtod の精度

    t-murachi
    t-murachi 2012/04/09
    今の Ruby はこの提案が採用されているのかな?
  • Ruby最年少コミッタ誕生とまわりの反応

    そらは @sora_h できた。 @yukihiro_matz - Ruby 1.9 - Feature #4415: Rubyのtest-allを並列化するパッチが完成しました - Ruby Issue Tracking System: http://ux.nu/OLHCku #miteru 2011-02-21 22:09:39

    Ruby最年少コミッタ誕生とまわりの反応
    t-murachi
    t-murachi 2011/02/22
    めでたう。 / おいらが 14 の頃は… ふつーに N80-BASIC でゲーム作ってたなぁ (^_^;A
  • 開発コアメンバが語るRubyの今とこれから(前編) - @IT

    Ruby 1.9は移行準備オッケー @IT yuguiさんは、2009年2月のDeveloper's Summitの講演で、そろそろRuby 1.8系から1.9系への移行を始めるべきだと主張されてましたね。 園田裕貴氏。裕貴のピンイン表記である「yugui」のハンドル名で知られている。Ruby 1.9系統リリースマネージャで、Rubyコミッタ。1981年生まれ。著書に『初めてのRuby』(オライリージャパン)がある。最近はRailsアプリケーションをよく書いているという yugui ええ、一般のRubyユーザーはRuby 1.9への乗り換えは慎重にという立場の人もいますけど、私はそろそろ移行を考える時期だと思います。 @IT もう1.9に移行してもオッケーだと。 yugui もう根的な仕様が変わることはないという意味でオッケーです。2007年12月に出た1.9.0は、仕様が煮詰まっていな

  • やたーはてなダイアリーファイルシステムできたよ\(^o^)/ - 川o・-・)<2nd life

    はてなダイアリーが AtomPub で編集できるようになったので、早速 fuse を使ってファイルシステムを作ってみました。こんな感じに使えます。 http://rails2u.com/tmp/diary_fuse/fuse.htm (動画) /create に保存すると現在時刻で作成 /20080820101010 など、エントリーを編集可能。保存で更新。 rm するとエントリーを削除 /\d{14} 的なファイル名で保存すると、その時刻のエントリーを作成 などなど。Ruby の FuseFS を初めて使ってみましたが、結構簡単にファイルシステムをいじれて便利ですね。ちなみに文の改行周りがおかしくなるというアレな挙動をして、全然実用できませんが、AtomPub 使うとこんな事もできるよーという例として見ていただければ。 ソースコードは以下です。

    やたーはてなダイアリーファイルシステムできたよ\(^o^)/ - 川o・-・)<2nd life
    t-murachi
    t-murachi 2008/08/29
    下書きにも対応すると面白いかもなー。
  • Java屋がTomcatでRuby on Railsを試すには?(1/2)−@IT

    Ruby on RailsJavaサーバで動かす4つのメリット まずは、JRuby on RailsJavaのAPサーバ上で動かすメリットを考えてみましょう。その最大のメリットはJVM(Java仮想マシン)上で動作する点が挙げられます。JVMで実行することで、以下の4つのメリットを享受できます。 JVMはエンタープライズ環境での動作実績も多く、非常に安定した実行環境を手に入れることができる JVM上でJRubyを実行する場合、AOT(Ahead Of Time)およびJITJust In Time)方式でコンパイルする。従って、コンパイル後はインタプリタ形式よりも高速に動作する(※注1) Javaの豊富な機能を使い、さまざまな拡張が可能 JRuby on Railsが動作するAPサーバもTomcatやWebSphere上で動作確認が報告されている JDBCを使って対応DBを増やしたり

    Java屋がTomcatでRuby on Railsを試すには?(1/2)−@IT
    t-murachi
    t-murachi 2008/07/25
    壮絶な罠の悪寒…。
  • CGIでRailsをまともに動かす - Blog by Sadayuki Furuhashi

    普通にRuby on RailsCGI(dispatch.cgi)で動かすと遅すぎてやってられませんが、gateway.cgiを使うと、そこそこの速度で動くようになります。 最初に仕掛けを紹介してしまうと、1回目のアクセスがあったときに常駐プロセスを起動し、2回目以降のアクセスはその常駐プロセスに処理させるようになっています。CGI自体は常駐プロセスに処理を投げるだけなので軽い、というわけです。ただし、1回目のアクセスは通常通りCGIで動作させたくらいの遅さです。 常駐プロセスは一定時間アクセスがないと自動的に終了するので(次のアクセスがあったときにまた起動する)、いろいろ制限のある環境でも使える、かもしれません。 さて、そのgateway.cgiですが、Railsの標準パッケージの中に含まれています。まだexperimentalらしいですが、多少パッチを当てると動きます。 使い方は↓こ

    CGIでRailsをまともに動かす - Blog by Sadayuki Furuhashi
  • オープンソースはゲットーか? : 404 Blog Not Found

    2008年01月03日06:45 カテゴリOpen Source オープンソースはゲットーか? 問題は、それがなぜか、ということ。 ZSFA -- Rails Is A Ghetto (2007-12-31) Matzにっき(2008-01-01)高速HTTPサーバMongrelの作者であるZed Shawが、 Ruby(やRails)を離れて、LuaやPythonやFactorに移ろうか、という話。 「RoRコミュニティが『アホでバカで低能』」だから、というのでは、半分しか読んだことにならない。 『ワーキングプア』まで読み取らないと。 とても惰訳できるものではないので、英語が読める人は是非原文を読んで欲しいのだけど(ただし、4-letter-wordsだらけ。Rated RじゃすまなくてRated X)、日語による要約は、とりあえずざっと眺めた限り以下が一番よく出来ているので紹介。 R

    オープンソースはゲットーか? : 404 Blog Not Found
  • L'eclat des jours(2008-01-03)Railsは吹き溜まりだね

    _ Railsは吹き溜まりだね Rails Is A Ghetto なんとなく読んだので、要約のつもり(いや、誤訳しそうなところはすっ飛ばしたものをさらに要約してるので、おおはずれかも)。 ●Rails Is A Ghetto(Railsは吹き溜まり) 会社や個人を特定してばんばんやるぜ。こいつら寄ってたかっておれのことをこけにしやがった。文句あるなら、リングの上で待ってるぜ。このくそめらめが。 まずはケビンクラークだ。こいつは、おれをサポート扱いしやがったうえに、間抜けあつかいしやがった。 でも、すべての原因は、このばかが、リポジトリ上のconfigureファイルを消しちまいやがったことにある。これじゃ、チェックアウトしてビルドできるわけないじゃん。それをおれが間抜けなせいだといいやがりやがった。 Rails界隈はこんなくずばかりだ。 ●Tied To The RailsRailsべっ

    L'eclat des jours(2008-01-03)Railsは吹き溜まりだね
  • Inemuri nezumi diary(2008-01-03) : Ruby on Rails の注文の多い料理店に入ってしまった話

    _ Ming/Ruby 0.1.9 has been shipped 去年のクリスマスに Pawel Karwowski からありがたいメールが来て、Pawel がメンテナに加わってくれました。0.1.8 が 155 KB, 0.1.9 が 1.72 MB です。どんだけがんばってくれたか、Pawel には感謝でいっぱいです。 僕自身は Ming/Ruby に愛想をつかしています。今後は Pawel とその後の仲間たちにおまかせしようと思っています。ChangeLog 読んだら "Kazuki" さんが重要な仕事をしてくださったみたいで、 Kazuki さんにも感謝しています。って Kazuki さんって誰? もともと Ming の Ruby ラッパを作ろうと思ったのは、博士後期課程の研究がうまくいかなかったときの逃避行動でした。当時、SWF は出来たてほやほやのテクノロジで将来を感じさせ

    t-murachi
    t-murachi 2008/01/04
    けだし名文。しかし難しい問題だよなぁ。誰にも生活はあるわけで。。。
  • Geekなぺーじ : Rubyネットワークプログラミング

    ここでは、Rubyによるネットワークプログラミングの説明を行いたいと思います。 ここで対象としている読者は、ネットワークプログラミング初心者(もしくは入門者)です。 TCP 簡単なTCPサーバとクライアント TCPクライアント(エラー処理付き) 何度も受信できるTCPサーバ TCPサーバ(acceptした相手の確認) UDP UDPを使う UDPでブロードキャストを使う UDPでマルチキャストを使う(マルチキャストを送信する) UDPでマルチキャストを使う(マルチキャストを受信する) UDPでマルチキャストを使う(TTLを設定する) Web 簡単なHTTP GET(Net::HTTP) HTTP HEADと全てのHTTPヘッダの表示(Net::HTTP) HTTP POST(Net::HTTP) 簡単なRSSクライアント その他 IO::selectを使う IPアドレスからホスト名への変換

  • プログラミング言語Ruby ― ありえるえりあ

    方針 Rubyをまったく知らない前提で始めます JavaJavaScript、elispのようなメジャーな言語と対比しながら説明します なるべく手を動かして目に見える形で説明を進めます 次回Ruby on Railsの勉強会をするので、それにつながることに重点を置きます 逆に言うと、RoRであまり使わない知識は流します。例えば、ファイル操作周りやスレッド周りなど 開発環境(2) .emacs.elに書くべき記述 ; ruby (autoload 'ruby-mode "ruby-mode") (setq auto-mode-alist (cons '("\\.rb$" . ruby-mode) auto-mode-alist)) (setq interpreter-mode-alist (append '(("ruby" . ruby-mode)) interpreter-mode-al