タグ

rubyに関するt_moriのブックマーク (222)

  • やっぱりコンパイラが書きたい。渡米後にRuby JIT開発を趣味から仕事に変えた私のキャリア戦略 - Findy Engineer Lab

    国分崇志(@k0kubun)と申します。プログラミング言語Rubyのコミッターとして活動しています。2019年からシリコンバレーで働いており、2022年からShopifyという会社でRubyJust-In-Time(以下、JIT)コンパイラをフルタイムで開発しています。 長い間趣味でやっていたコンパイラの開発を仕事にしたのは、現職が初めてでした。この記事では、趣味仕事に変えた経緯や、どのようにして業務経験のない分野にキャリアチェンジしたのかを紹介します。 仕事で分散システム、趣味でコンパイラを書くキャリア 楽しく稼げる仕事を求めてたどり着いたRubyエンジニア 研究で分散システムと言語処理系の両方に興味を持つ 分散ミドルウェアを仕事で、JITコンパイラを趣味のOSS活動で やっぱりコンパイラを仕事にした複合的なきっかけ 働きながら大学院に通い、コンパイラが一番好きなことに気付いた コン

    やっぱりコンパイラが書きたい。渡米後にRuby JIT開発を趣味から仕事に変えた私のキャリア戦略 - Findy Engineer Lab
    t_mori
    t_mori 2023/01/17
  • アニメ「Sonny Boy」の『難解』プログラムの解説 - まめめも

    『Sonny Boy』というアニメが放送されています。学校が異次元に漂流してしまい、超能力に目覚めた生徒たちがサバイバルしながら、さまざまな奇妙な現象の裏にあるルールを解き明かし、元の世界に変える方法を探す、というストーリーです。ルールが分かったあとで何度も見直したくなります。 anime.shochiku.co.jp さて今回、『Sonny Boy』に、プログラムを寄稿しました。プログラムでおもしろいCGを作ったとかではなく、プログラムの実行の様子そのものが『Sonny Boy』の5話の中で放送されました。 こういうプログラムです。 nankai.rb このプログラムがどういうものだったかを解説します。 どんなプログラム? 実行すると、「難解」という文字がほどけてなくなるアニメーションをします。 起動したらまず、プログラム自身が画面に表示されます。 しばらくしたら「難解」が左から右へほど

    アニメ「Sonny Boy」の『難解』プログラムの解説 - まめめも
    t_mori
    t_mori 2021/08/13
    ひええ
  • Rubyの機械学習ライブラリまとめ

    はじめに 最近では、機械学習関連Gemが多く開発され、Rubyでも機械学習できるようになってきました。代表的なものを、ざっくりとまとめてみました。 まとめ情報 いきなりですが、この記事は私の偏見で選んだものですので、他のまとめ情報も紹介します。もっとも大きなのがAndrei Beliankou (arbox) さんのまとめリポジトリです。色んなものが紹介されています。 Railsエンジニアにとっては、SearchkickやStrong Migrationsで有名な、Andrew Kane (ankane) さんも、機械学習関連のGemを多く作成しています。C/C++APIが提供されている、他言語の機械学習ライブラリを、FFI/Fiddle/Riceでラップして、Rubyで使えるようにしています。ankaneさん自身が書かれた、それらGemのまとめ記事があります。 ベクトル・行列・線形代数

    Rubyの機械学習ライブラリまとめ
    t_mori
    t_mori 2021/02/15
  • Ruby に Software Transactional Memory (STM) を入れようと思った話 - クックパッド開発者ブログ

    技術部でRubyインタプリタの開発をしている笹田です。コロナの影響で、リモート勤務などに移行し、新しい生活スタイルを満喫されている方々がたくさんいらっしゃるんじゃないかと思います。ただ、私は以前から自主的に自宅勤務することが多かったので、正直生活がぜんぜん変わっていません。 さて、家で私が何をしているかというと、Ruby 3の準備です。その中でも、数年取り組んできた Ruby で並列処理をするための仕組みである Ractor の開発をしています(以前は Guild というコードネームで呼んでいました)。Ractor という名前は、Ruby の Actor みたいな意味で付けました。Erlang とか Elixir で有名な Actor model というアレです。厳密には、Actor model でよく言われる特性をすべて備えているわけではないのですが、並列で動く Ractor を複数作る

    Ruby に Software Transactional Memory (STM) を入れようと思った話 - クックパッド開発者ブログ
    t_mori
    t_mori 2020/11/20
  • Ruby、jQueryなどの廃れていくOSSを開発している人達はどういう気持ちで日々それらを開発しているんですか?

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

    Ruby、jQueryなどの廃れていくOSSを開発している人達はどういう気持ちで日々それらを開発しているんですか?
    t_mori
    t_mori 2020/11/20
  • Rubyの開発を支える技術 - クックパッド開発者ブログ

    こんにちは、遠藤(@mametter)です。RubyKaigi Takeout 2020お疲れさまでした。 現在クックパッドには、フルタイムでRubyの開発をしている人が2人います(笹田と遠藤)。 それぞれ、Ruby 3の目標である並列性と静的解析の実現をメインミッションに据えて活動していますが、実はそれ以外にもRubyの開発を支えるための活動をいろいろやっています。 今回は、遠藤が関わっている範囲で、「Ruby開発者会議を支える技術」「Ruby開発のリモート議論を支える技術」「Rubyの品質を支える技術」についてざっと紹介してみます。 1. Ruby開発者会議を支える技術 Rubyに対する機能提案などの議論は、原則として、バグトラッカ上で行われます。 しかし、設計者であり最終決定権を持つmatzの多忙などの理由で、それだけでは議論が停滞してしまうのも事実です。 そこでRubyでは、開発促

    Rubyの開発を支える技術 - クックパッド開発者ブログ
    t_mori
    t_mori 2020/09/08
  • まつもとりーがmod_mrubyを開発した理由 - 解決すべき課題は研究ではなく、実運用の中にあり|ハイクラス転職・求人情報サイト AMBI(アンビ)

    まつもとりーがmod_mrubyを開発した理由 - 解決すべき課題は研究ではなく、実運用の中にあり 多くのエンジニアから、そのアウトプットが注目される「まつもとりー」こと松亮介さん。自身のOSS開発の裏側にある研究と開発の関係性を聞きました。 「研究したいと思ったことと、企業で必要とされる課題解決にギャップを感じた」 インターネット基盤技術の“研究者”として広く知られる、まつもとりーこと松亮介(まつもと・りょうすけ/ @matsumotory )さんは、過去を振り返って、こう語ります。 多くのエンジニアの注目を集め、そして多くのエンジニアをインスパイアし続けるまつもとりーさんですが、アウトプットへと至る根源には、常に「現場で直面した課題」があるといいます。では、mod_mruby / ngx_mrubyといった広く使われるOSSの根源にあったものとは一体なんでしょうか。 オープンソース

    まつもとりーがmod_mrubyを開発した理由 - 解決すべき課題は研究ではなく、実運用の中にあり|ハイクラス転職・求人情報サイト AMBI(アンビ)
    t_mori
    t_mori 2020/02/21
  • 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エンジニアのキャリアを考える!
    t_mori
    t_mori 2019/12/26
  • まつもとゆきひろの履歴書|仕事中にこっそり作ったRubyが世界を驚かせるまで #ぼくらの履歴書 - ぼくらの履歴書|トップランナーの履歴書から「仕事人生」を深掘り!

    ※この記事は2019年8月に取材・撮影した内容です 私たちが使う便利なアプリの数々は、“プログラミング言語”によって作られています。言語の種類は数え切れないほど存在していますが、「多くの人々に利用されているもの」となると、ごくわずか。優れたプログラミング言語を生み出せる人物は、世界的に見ても一握りなのです。 その数少ない人物のひとりが、日にいます。プログラミング言語・Ruby(ルビー)の作者である、ソフトウェア技術者のまつもとゆきひろ( @yukihiro_matz )さんです。使い勝手の良さや生産性の高さから、まつもとさんの生み出したRubyは世界中で高い評価を受け、まつもとさん自身も世界中のコンピュータエンジニアから「Matz(マッツ)」の愛称で知られるようになりました。 では、まつもとさんは戦略的に、現在のキャリアを築き上げてきたのでしょうか。その答えは「NO」です。むしろ、「自分

    まつもとゆきひろの履歴書|仕事中にこっそり作ったRubyが世界を驚かせるまで #ぼくらの履歴書 - ぼくらの履歴書|トップランナーの履歴書から「仕事人生」を深掘り!
    t_mori
    t_mori 2019/10/11
  • Rubyのtrueとfalseの話 - Qiita

    この記事は、技術同人誌としてまとめるはずだった原稿をほぼそのまま転載しています。諸事情により向こうかなり長い間同人誌即売会に売り手として参加することが難しくなったためです。 長いですが、お楽しみいただければ幸いです。 まえがき このは、Rubyコミッタである卜部昌平に、そのである私、卜部一恵がRubyのtrueとfalseについて突っ込んで聞いてみた話です。文は両者の対話形式で進んでいきます。 私は昌平と同じ大学同じ研究室に所属していたのでプログラミングについての基礎は一応ありますが、エンジニアとして職を得たことはありません。つまり、プログラミング初級者です。このはそのくらいのレベル感のだと思います。 私自身が初級者なりにRubyを使っていて、if文が思った通りに動かない、そんなときに抱いた疑問からこのが生まれました。 同じような疑問を抱いている方の一助になれば幸いです。 は

    Rubyのtrueとfalseの話 - Qiita
  • Rubyでクローラー入門。はてなブログの投稿数をグラフに表示する - webエンジニアの日常

    はじめに こんにちは、rubyエンジニアのさもです。 記事では、rubyで簡単にクローラが作れるよというのを紹介したいと思います。 何が作れるのかな、と思う方は、実行 を見てみてください。 ruby入門者や、rubyを勉強したけど何ができるのと思っている方、ruby=railsと思っている方、クローラをやってみたいけど実際どうすればいいか分からない方へ、rubyでこんなこともできるんだ、クローラってこんな感じでいいんだ、と思っていただけたら幸いです。 今回実装するクローラでは、ruby標準のライブラリしか使いません。外部ライブラリのインストールではまって、来やりたいことができなくなることを極力避けるためです。 目次 はじめに 準備 jsライブラリの準備 rubyのインストール htmlファイルの準備 rubyファイルの準備 実装 hatena.rbの実装 1. 必要なライブラリを読み込

    Rubyでクローラー入門。はてなブログの投稿数をグラフに表示する - webエンジニアの日常
    t_mori
    t_mori 2017/08/26
  • Rubyの死? - カレーなる辛口Javaな加齢日記

    Rubyの死?開発者はどの言語を学ぶべきか?」 http://www.softantenna.com/wp/software/death-of-ruby/ 「The death of Ruby? Developers should learn these languages instead」http://www.techrepublic.com/article/the-death-of-ruby-developers-should-learn-these-languages-instead/ 同記事はRubyの人気低下の証拠として、Indeedによる求人数でRubyの人気が9番目にまで低下しているとのこと、IEEE Spectrumのプログラミング言語ランキングで、Rubyの順位が2014年の8位から2017年の12位まで低下していること、さらにCoding DojoでRubyコースが終

    Rubyの死? - カレーなる辛口Javaな加齢日記
    t_mori
    t_mori 2017/08/11
  • 2017年にruby1.8.6をビルドする - おもしろwebサービス開発日記チラシの裏

    ruby 1.8.6を使ってみようと思い、mac sierraでビルドしてみようとしましたがだいぶハマりました。 まずは公式のgccを使わないといけないと怒られる。指示の通り入れようとするともうそんなのないと言われる。こちらのブログを参考に無理やり入れてみようとしましたがだめでした。 Sierraでruby-buildで1.8.7をビルドする - 福島餃子Ruby親方 ここで、macをそのまま利用することを諦め、docker越しにインストールすることを試みます。検索すると各種Rubyのバージョン用のDockerfileをを取り揃えたリポジトリがありました。 abevoelker/docker-ruby: Dockerfiles for lots of MRI Ruby and JRuby interpreters これを利用して1.8.6のイメージを作成しようとしましたがエラー…。どうやら

    2017年にruby1.8.6をビルドする - おもしろwebサービス開発日記チラシの裏
    t_mori
    t_mori 2017/06/25
  • 2017年のruby-mswin事情 - なるせにっき

    おしらせ 以下に最新版があります。 qiita.com 序 WindowsRubyを使うのは難しいようで簡単なようで難しいことです。 ただインストールするだけならばインストーラがあるので簡単です。公式サイトのダウンロードページから探しましょう。 ……ここでいきなり迷うであろうのが、"mswin"と"mingw"という語です。Unix系のOSではABIは通常一環境に一つです。しかし、Windowsではたくさんあります。64bitWindowsでは32bitのバイナリも動かすことが出来るのと、最近までVisual Studioはバージョンアップの度にABIを変更していたため、2017年現在では以下のようなABIが存在します。 i386-mswin32 i386-mswin32_70 i386-mswin32_71 i386-mswin32_80 i386-mswin32_90 i386-m

    2017年のruby-mswin事情 - なるせにっき
    t_mori
    t_mori 2017/06/12
  • Amazon.co.jp: mrubook: mruby の実装を探検する薄い本: 大久保諒: Digital Ebook Purchas

    Amazon.co.jp: mrubook: mruby の実装を探検する薄い本: 大久保諒: Digital Ebook Purchas
  • printデバッグにさようなら!Ruby初心者のためのByebugチュートリアル - Qiita

    はじめに この記事はByebug(バイバグ)というgemを使ったデバッグ方法を説明するチュートリアル記事です。 JavaやC#のようなコンパイル型の言語ではEclipseやVisual StudioのようなIDEを使って開発することが主流です。 なので、自然とIDEに標準装備されているデバッガを使ってステップ実行したりすることが多いと思います。 一方、RubyではRubyMineのような有料IDEもあるものの、IDEではなくテキストエディタを使って開発している人の方がまだまだ多いと思います。 そうすると、初心者の方はなんとなく「Rubyでデバッガを使ってデバッグするのは無理なのでは?」と考えてしまう人も多いかもしれません。(僕は初心者の頃そう思ってました・・・。) ですが、そんなことはありません! RubyでもIDEを使わずにターミナル上でデバッガを使ってデバッグすることは可能です。 とい

    printデバッグにさようなら!Ruby初心者のためのByebugチュートリアル - Qiita
    t_mori
    t_mori 2017/01/17
  • Rubyの内部文字コードはUTF-8ではない...だと...?!|TechRacho by BPS株式会社

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

    Rubyの内部文字コードはUTF-8ではない...だと...?!|TechRacho by BPS株式会社
  • 【Ruby】PythonプログラマーがRubyを触って感じたこと - 歩いたら休め

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

    【Ruby】PythonプログラマーがRubyを触って感じたこと - 歩いたら休め
    t_mori
    t_mori 2016/09/22
  • 『Rubyで学ぶRuby』連載開始 - まめめも

    RubyRuby を作りながら Ruby を学ぼう!」というトンデモ連載企画、『Ruby で学ぶ Ruby』を ascii.jp で始めました。 ref: http://ascii.jp/elem/000/001/228/1228239/ 何を言ってるかわからないかもしれないので補足すると、「Ruby(言語)で Ruby(のインタプリタ)を作りながら Ruby(でのプログラミング)を学ぼう!」ということです。Ruby でのプログラミングを学ぶなら、Ruby インタプリタ以上の題材はありません(断言)。Ruby というプログラミング言語の質を、外側(ユーザ視点)と内側(処理系実装者視点)の両面で見ていきます。 対象読者は「Rubyを学びたいプログラミング初心者」です。Ruby 言語について最低限のことを伝えるところから始めるので、すでに Ruby を知っている人はダルく感じるかもし

    『Rubyで学ぶRuby』連載開始 - まめめも
    t_mori
    t_mori 2016/09/14
  • 書き捨てのRubyスクリプトをgemにするときの育て方の一例 - 2016-09-08 - ククログ

    Rubyでちょっとしたこと、例えばテキスト処理などをしたくてスクリプトを書くことはよくあります。そんなスクリプトは意外と再利用したくなるものです。しかし、作業用ディレクトリに適当なファイル名で保存していたりすると探し出すのは困難ですし、コマンドラインにワンライナーで書いたものだとそもそも残っていないこともあります1。別のPCでの再利用も、それらの保存方法では当然ながら不可能でしょう。 そこで、どこか整理された場所に保存しておいて再利用に備えたいのですが、保存先が問題になります2。そんなとき、私は次のような理由からgemRubyGems)にしてしまうことにしています。手元ですぐに実行できますし、別の環境へのインストールも簡単です。また、他のRubyプログラムへの組み込みもコピペせずに実現できます。もちろん他の人が使えるようになるというメリットもあるのですが、自分の用途に限っても長い目で見れ

    書き捨てのRubyスクリプトをgemにするときの育て方の一例 - 2016-09-08 - ククログ
    t_mori
    t_mori 2016/09/10