並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 42件

新着順 人気順

k0kubunの検索結果1 - 40 件 / 42件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

k0kubunに関するエントリは42件あります。 ruby開発article などが関連タグです。 人気エントリには 『働きながらアメリカの大学院でCS修士号を取った - k0kubun's blog』などがあります。
  • 働きながらアメリカの大学院でCS修士号を取った - k0kubun's blog

    4年前に会社の福利厚生を使ってスタンフォードの授業を取ってみたら面白く、 働きながらでも続けられそうだなという実感を得たので、 2年後、受験を経てジョージア工科大学にリモートで通い始めた。 そして先日、ジョージア工科大学からコンピュータサイエンス修士号をいただくことができた。 画像の学位記は卒業式イベント用の非公式のもので、1~2か月すると Masterとちゃんと書いてある本物が来るらしい *1 。 After 1 year and 9 months, I graduated from Georgia Tech and got a master's degree in computer science. It was intense to be a student while working full-time, but I learned a lot. pic.twitter.com/J

      働きながらアメリカの大学院でCS修士号を取った - k0kubun's blog
    • 個人開発を黒字にする技術 - k0kubun's blog

      最近は個人開発は自分のOSSのメンテで手がいっぱいになってしまったのでサービス開発のようなものは普段あまりやらないのだが、大学院*1で今学期、何作ってもよいという感じの授業を取ってWeb/iOS/Androidアプリ*2を全て作るという体験をする中で、たまたま個人開発のコストを抑える活動をしたので、その時に調べたり考えたりしたことを書いておく。 Herokuで無料にする Herokuでは毎月550時間free dynoが使え、クレジットカードを登録しておくと更に450時間、合計1000時間無料で使える。Herokuは30分アクセスがないと一旦停止するが、今回授業で作ったサービスでこれを使い切らないことは明らかだったので最初はこれでセットアップした。セットアップも簡単だし、PostgreSQLも無料でついてくる。 ただ、コールドスタートに10秒くらいかかり、これがこのサービスではUX的に致命

        個人開発を黒字にする技術 - k0kubun's blog
      • エンジニアが給料を12倍にする方法 - k0kubun's blog

        はてブの人気エントリーに日本のエンジニア達は海外に出なければいけないという記事があった。 カナダ在住で経験年数4年のソフトウェアエンジニアで年収1600万円の方らしく、 日本より海外の方がソフトウェアエンジニアの給料が一般に高いので海外に行くべきという話が書かれている。 実際僕も居住地域による給与差を利用すべく渡米し、先月の記事 では新卒から数えて8年で年収が12倍になっていた話も紹介した。 一方、年収1600万円であれば海外に出なくても稼げると思っているので、 国内にいてもできそうなものも含め、ソフトウェアエンジニアとして給料を上げる上で過去に活用したハックを紹介していきたい。 昇給履歴 新卒入社 僕が新卒で入社した会社の当時の初年度給与は450万円だった (公開情報)。 大学の4年間はずっとアルバイトとしてソフトウェアエンジニアをやっていて、 3社を渡り歩いて時給は800〜1350円と

          エンジニアが給料を12倍にする方法 - k0kubun's blog
        • AIにプログラミング作業を奪われている - k0kubun's blog

          せっかく10年以上かけて学んだプログラミングだが、人間がコード書くよりChatGPTにやらせた方が早いなということが度々あり、だんだん自分でプログラミングをやる時間が減ってきた。AIにコードを書かせてそれをGitHubにコピペして残りの時間は遊んでるだけで成果が出てお給料ももらえる日は近いし、段々会社もそのことがわかってきて失職する日も近い。 残念ながら現時点では全ての仕事がAIで上手くいくわけではないが、どういう時に使えるかを知っておくと楽をしやすくなるので、僕がどう使っているかをまとめておく。 失職できるケース 簡単なスクリプトを高速に書かせる 僕はRubyが全ての言語の中で一番慣れており、StackOverflowやドキュメントをほぼ見ずに大抵のプログラムを書き切れるため、Rubyを書いている時がプログラマとして一番生産性が高いのだが、それでも最近AIにRubyを書かせたことがあった

            AIにプログラミング作業を奪われている - k0kubun's blog
          • Mojoは「C言語のように速いPython」なのか - k0kubun's blog

            LLVMやSwiftを作ったChris LattnerがCEOをやっている会社が、Pythonの使用感とC言語並の性能を併せ持つ言語としてMojoをアナウンスした。 まだ手元で試せる状態でリリースされてはいないが、最大35000倍Pythonより速いという。 Mojo🔥 combines the usability of Python with the performance of C, unlocking unparalleled programmability of AI hardware and extensibility of AI models. Also, it's up to 35000x faster than Python 🤯 and … deploys 🏎 pic.twitter.com/tjT09U4F80— Modular (@Modular_AI) May

              Mojoは「C言語のように速いPython」なのか - k0kubun's blog
            • ベイエリアは東京より儲かるのか - k0kubun's blog

              サンフランシスコベイエリアでのITエンジニアの給料は東京より高いが、税金や物価も高いと言われている *1 。ではどちらに住む方がより多くの金が手元に残るのだろうか。 僕がベイエリアに移住してからちょうど1年が経ったので、僕が東京とベイエリアそれぞれにいた頃の出費やタイトルでどのくらい家の収支に差が出るのかということをまとめてみる。なお、この記事を書いている時点で 105.60 円/ドル なので、ドル円の変換をする際はこのレートを用いる *2 。 収入 基本給 ベイエリア 東京 $153,600 913万円 GitLabは同社の世界各地での待遇計算基準を 公開 しており、地域間の差異を公平に計算するには割とよくできたベンチマークなのでここの年収をそのまま使う。計算に使われる location_factors.yml では、日本の給与はサンフランシスコの 56.3% になっている。 Calcu

                ベイエリアは東京より儲かるのか - k0kubun's blog
              • Treasure Data を退職しました - k0kubun's blog

                約5年5か月働いたTreasure Dataを7/22に退職した。7/25からShopifyに入社し、RustでJITコンパイラを開発してRubyを高速化する仕事をする。 仕事としてやりたい分野が変わってきて自分は今回転職したけど、とても良い会社なので、この記事がTreasure Data (以下TD) で働くことに興味がある人の参考になれば良いと思っている。*1 5年勤続記念にいただいたトロフィー やっていたこと APIチーム 元々TDにはJavaで分散システムを書きたくて入社したのだが、TD入社前に特にそういう経験があるわけでもなく主にRailsをやっていたこともあり、Railsでプラットフォームを開発するチームに入った。基盤開発をやりたいと思いながらサービス開発者として最初働き、後に基盤開発チームにジョインするみたいな過去の経験があったので、今回もそういう感じでいけると考えていた。実

                  Treasure Data を退職しました - k0kubun's blog
                • まだパソコンのOS選びで消耗してるの? - k0kubun's blog

                  昨日、大学生協推奨のPCが20万のWindowsマシンなのを見てなぜMacじゃないのかという声がTLに流れていたり、それで思い出したのか、逆にMacじゃなくてLinuxを使っている人はなぜそうしてるのかみたいな話がvim-jpで盛り上がったりしていた。 Windowsを使い始めてから17年、Macを使い始めてから8年、Linuxデスクトップを使い始めてから6年経ち、今は用途に応じてその3つをどれも使っているという感じなのだが、個人的にはどれも善し悪しだと思っているので、状況に応じて何を使うべきか自分の考えを書いておく。 大学生は何を買うべきか 特にプログラミングとかやるつもりがない大学生でお金がある人は、素直に推奨されたWindowsマシンを買っておくと、大学側が使わせてくるソフトが動かない可能性も流石に低いだろうし、周りと環境が揃っていて質問とかしやすいので無難だと思う。金がなければ中古

                    まだパソコンのOS選びで消耗してるの? - k0kubun's blog
                  • 自作PC2023: Ryzenをやめた - k0kubun's blog

                    Ryzenはゲーム用CPUとしては特に問題ないのだが、 ソフトウェア開発においてはIntelのCPUに比べて不便なポイントがいくつかある。 日々業務で使っていてあまりにもストレスが溜まるので、CPUをIntel Core i7に変更した。 このマシンは8年前に組んだ自作PC なのだが、使っていて不便を感じたパーツを差し替え続けた結果、 今回のアップデートで全てのパーツが当時とは違うものに変わったため、 それぞれ古い方のパーツで不便だったポイントなどを紹介したい。 仕事で使う自作PC 社内のサービスをいじる時は会社から貸与されているM1 MacBook Proを使うのだが、このマシンは不便である。 Rubyのビルドは自分のLinuxのマシンに比べ2倍以上遅いし、Reverse Debuggingができるデバッガが存在しないし、 慣れたツールであるLinux perfも使えないし、Podman

                      自作PC2023: Ryzenをやめた - k0kubun's blog
                    • リモートでアメリカの大学院に通い始めた - k0kubun's blog

                      今年春に出願、夏に合格して秋学期からオンラインのコンピュータサイエンス修士コースで勉強している。ちょうど秋学期が終わって成績が返ってきたので、どういう感じだったか書いておく。 I've been officially admitted to Georgia Tech's OMSCS (Online Master of Computer Science). I'm excited for being a student again. I chose the online course to take it without quitting my job, but due to COVID-19 it's probably not that different from other people's experience.— k0kubun (@k0kubun) July 31, 2020 ど

                        リモートでアメリカの大学院に通い始めた - k0kubun's blog
                      • フルタイムOSSコミッタを始めて2か月経った - k0kubun's blog

                        Shopifyに入社してRubyのJITコンパイラを書く仕事を始めてから2か月経った。 前職の退職エントリ では今後やりたいことを書いたりしたが、実際OSS開発を仕事にしてみてどうだったかみたいなことを書いておく。 シリコンバレーでのリモート生活 3年前に妻とアメリカに移住し、今年永住権も取得した。 Shopifyは本社はカナダにあるし2020年5月からフルリモート企業なのだが、 前職の本社があったシリコンバレーのあたりからそのまま引っ越さずに暮らしている。 なぜシリコンバレーに住み続けるのか フルリモートである以上はカナダ移住のためのビザのサポートを会社がする動機もないため、 現職においても住む国の選択肢は基本的に日本かアメリカになると思っている。 飯が安くて美味いのを主な理由として妻も僕も住むならアメリカより日本の方が好きなのだが、 住む地域ベースで多くの企業が給料に傾斜をかけてくるこ

                          フルタイムOSSコミッタを始めて2か月経った - k0kubun's blog
                        • Pryはもう古い、時代はIRB - k0kubun's blog

                          僕はRubyで開発をする時は毎回Pryを使うくらいの熱狂的Pryユーザーだったのだが、PryはGemfileに書いてないと binding.pry できなくて不便。任意のgemをdefault gem化するgem default コマンドも作ったのだが、これをやるのすら面倒だと思っていた。 ある日、nobuさんがRubyに binding.irb という機能をいれた。Pryがdefault gemになるのを待つよりPryで僕が使う機能をIRBに全部移植してしまった方が早いのではないかと思い、4年前からPryの機能の移植活動を始め、今日僕がよく使う機能を全て移植し終えた。 その記念に、この記事ではIRBのPry互換の機能を紹介する。昔 今更聞けないpryの使い方と便利プラグイン集 という記事を書いたんだけど、この中で僕が毎日のように使うコマンドは全てIRBに移植したので、それを紹介する本稿を

                            Pryはもう古い、時代はIRB - k0kubun's blog
                          • Neovimを一瞬でVSCode並みに便利にする - k0kubun's blog

                            去年8年ぶりに vimrc を書き直した時はLSPの体験があんまりよくなくてLSPなしでNeovimを使い続けていたのだが、様々な言語のOSSをメンテする都合で用途に応じてIntelliJとVSCodeとNeovimの三刀流で暮らしていた結果、可能ならNeovimに寄せたいけどそれならLSPを使いたいなということになり、今回LSPの所を真面目に設定し直して、かなり良い体験になっている。 正直Neovimの設定はVSCodeのそれに比べたら面倒なんじゃないかという印象がありサボっていた節があるが、実際にやってみるとVSCodeと同程度に簡単に済む方法もあったので紹介したい。 何故Neovimなのか LSPの話の前に、タイトルだけ見た人がそもそも単にVSCode使えばいいじゃんと言いそうなので、どうしてIntelliJやVSCodeではなくNeovimに揃えようと思ったのかについて書いておく。

                              Neovimを一瞬でVSCode並みに便利にする - k0kubun's blog
                            • 後悔しているがやめられない開発効率向上術 - k0kubun's blog

                              僕はdotfiles系リポジトリ*1のコミット数を合計するだけで2261コミットある、.vimrcばっかりいじっていて開発が全然進まないタイプの人間で、つまり開発環境にとてもこだわりがある。 こだわりすぎて他に誰もやってなさそうな数々のカスタマイズを生み出してしまったが、やらなければよかったと後悔しているものが多くあるので、僕のような人が新たに生まれないよう、やめておけばよかったテクニックとその法則のようなものを紹介したい。 後悔しているもの C-h, C-y, C-u, C-oでウィンドウ切り替え Windows, macOS, Linux問わず以下のグローバルなキーバインドを設定している。 C-h: ターミナルにウィンドウ切り替え C-y: IntelliJかCLionにウィンドウ切り替え C-u: Google Chromeにウィンドウ切り替え C-o: TwitterかSlackに

                                後悔しているがやめられない開発効率向上術 - k0kubun's blog
                              • US移住とブートストラップ問題 - k0kubun's blog

                                USに移住して4か月経った 入社直後から希望していたUS移籍を会社にサポートしていただき、去年の9/21にビザつきの状態で入国して、その後出張で出国は挟みつつもシリコンバレーで生活し始めてかれこれ4か月経った。 移住後の最初の2か月は右も左もわからず大変だったが、色々な人に助けられて今では落ちついて暮らせる状態になった。 自分用のメモを兼ねつつ、運が良ければ識者から知見が集まるよう、僕がどこで困ったか本記事に書いておく。US移住に興味がある人の参考にもなると思う。これはUSだとスーパーでかなり安く手に入る Ribeye ステーキ。 cooked 🥩 by myself for the first time pic.twitter.com/0UjWrlUlzu— k0kubun (@k0kubun) January 13, 2020 US生活ブートストラップ問題 クレジットヒストリー US

                                  US移住とブートストラップ問題 - k0kubun's blog
                                • Re: OSSで世界と戦うために - k0kubun's blog

                                  yusukebe さんの OSSで世界と戦うために を読んで感銘を受けた。 hono の快進撃もさることながら、OSSで日本のコミュニティの外にリーチしたり、 GitHubスター数を伸ばしたりみたいな話は、 自分も10年くらい挑戦し続けているけどあんまり表に出てこない気がするネタなので興奮した。 僕はいくつかの点で上記の記事とは違う方法でOSSで世界と戦っているのだが、 その中でうまく行っているものや、良くないと思っているものなどについて紹介したい。 GitHubのスター数 OSSを始めたばかりの学生時代、GitHubのスターへの執着がもはや煩悩の域であり、 集めたスターの数を合計するCLIツールを作ったり、 同じ計算方法でランキングを作るWebサイトを作ったりした。 このサイトによると、僕の今のスター数は9000を超えている。 自作したOSSの中では、スター数が1600くらいのものが2つ

                                    Re: OSSで世界と戦うために - k0kubun's blog
                                  • Ruby 3.3でYJITを今すぐ有効にすべき理由 - k0kubun's blog

                                    Ruby 3.3がリリースされた。YJITには非常に多くの改善が含まれたリリースだったが、 NEWS解説記事やリリースパーティーでは 2点しか触れられなかったので、この記事ではRuby 3.3でYJITがどう改善されたかについて解説する。 YJITは既に実用段階 YJITはRuby 3.1で導入されたが、Ruby 3.2の時点でexperimentalのマークが外れ、実用段階となった。 Ruby 3.2では、以下のような企業で性能改善が報告された。 DeNA: 40% 高速化 GMOペバボ: 18% 高速化 STORES: 6.5-7.5% 高速化 Timee: 10% 高速化 メドピア: 2.8% 高速化 BOOK☆WALKER: 20-30% 高速化 Discourse: 15.8-19.6% 高速化 Lobsters: 26% 高速化 CompanyCam: 20-40% 高速化 弊

                                      Ruby 3.3でYJITを今すぐ有効にすべき理由 - k0kubun's blog
                                    • YJITの性能を最大限引き出す方法 - k0kubun's blog

                                      RubyのJITコンパイラYJITを開発している弊社Shopifyでは、社内で最もトラフィックが多いストアフロントのアプリにRuby 3.3 (master) をデプロイして平均レスポンスタイムが16%高速化、社内で最も大きなアプリであるモノリスにRuby 3.2をデプロイして平均レスポンスタイムが9%高速化している。他の会社でも、YJITを本番で有効にしたら高速化したという事例をちらほら目にした。 一方で必ずしも良い報告ばかりではなく、YJITを有効化したらメモリを使い切ってしまったりだとか、遅くなったみたいな報告も目に入ることがある。こういった問題は我々も多かれ少なかれ経験しており、それぞれ適切に対処することで解決できたため、その知見を共有する。*1 メモリを使い切ってしまった時 zenn.dev YJITを有効化すると、YJITが生成する機械語に加えて、それに関するメタデータもメモリ

                                        YJITの性能を最大限引き出す方法 - k0kubun's blog
                                      • RJIT: RubyでRubyのJITコンパイラを書いた - k0kubun's blog

                                        僕はRustでRubyのJITを書く仕事をしているのだが、去年の12月くらいから、趣味ではRubyでRubyのJITを書いている。 それまではC言語でコード生成を行なうMJITを5年くらいメンテしていたのだが、先月、Rubyで機械語を直接アセンブルするRJITに差し替えた。 github.com なので、今Rubyのmasterブランチには、会社で業務として開発しているRust製のYJITと、僕が趣味で開発しているRuby製のRJITの2つのJITコンパイラが存在している。余談だが、JITの開発をしすぎてRubyの作者であるまつもとさんのコミット数を最近抜いた。 なぜMJITをやめたのか MJITも結構がんばっていて、去年開発していたRuby 3.2ではMJITのコンパイラの実装をCからRubyにフルスクラッチした上、バックグラウンド処理をpthreadからfork + SIGCHLDで行

                                          RJIT: RubyでRubyのJITコンパイラを書いた - k0kubun's blog
                                        • 2022年にやったこと - k0kubun's blog

                                          2021年にやったこと 2020年にやったこと 2019年にやったこと 2018年にやったこと 2017年にやったこと 2016年にやったこと 2015年にやったこと 今年のハイライトは 大学院を卒業し、CS修士号を取った グリーンカードを取った Shopifyに転職し、仕事でRubyのJIT開発を始めた という感じの一年だった。 大学 5月にジョージア工科大学のCS修士を卒業した。 ほとんどの人は3~4年かけて卒業するプログラムを、理論上最速である1年9か月で卒業するRTAをやっていた。 かといって特に雑になるでもなく、GPA 3.90/4.00 だったので、GPA 3.36だった学部の時よりかなりマシな成績を取っている。 なんかその記事に書くとダサくなりそうなので書かなかったが、よく宿題の提出期限になる月曜の朝5時はほぼ毎週起きててギリギリに提出するくらいには大変だった。4:57~4:

                                            2022年にやったこと - k0kubun's blog
                                          • セルフホストで学ぶJVM入門 - k0kubun's blog

                                            RubyのJIT開発でやろうと思ってることが大体 @_ko1 さんの作業待ちでブロックしていて暇なので何かを書こうと思い、JVMを書くことにした。 まだその辺のアプリを気軽に動かせるレベルでは全然ないが、別に秘密裏に開発する必要もないと思ったので公開した。 github.com これの紹介と、現時点で学べたことをこの記事に記録しておく。 何故JVMなのか 仕事でJVM言語を使っている 僕が所属しているTreasure Dataでは、大雑把に言うと本番サーバーのサービスは大体Ruby, Java, Scala, Kotlinで書かれている*1ので、既にRubyのVMはある程度わかる*2ことを考えると、JVMさえ理解してしまえば社内の主要な言語評価系を抑えたことになり、運用面で活躍の機会が増える気がしている。 また、自分が最近一番書いているのはKotlinなのだが、JVMで動かしていることに由

                                              セルフホストで学ぶJVM入門 - k0kubun's blog
                                            • Linux用キーリマッパーxremapをRustで書き直した - k0kubun's blog

                                              このエントリはRust Advent Calendar (3) 22(-10)日目 の記事です。 5年前にxremapというLinux向けのキーリマッパーを作った (Linux向けの最強のキーリマッパーを作った - k0kubun's blog) のだが、X11のレイヤーで実装したため、GNOMEのActivitiesでリマップが効かなかったり、WaylandではXWayland内でしか動かないといった問題があった。 これらの問題を解決すべく、xkeysnailやwayremapといったツールが後に作られたのだが、xkeysnailはWaylandで動かずwayremapはX11で動かない方針なのと、やはり全てのキー入力を中継するようなツールはPythonのような遅い言語よりRustみたいな速い言語で書かれるべきだと思ったので、後発のツール*1の良いところ取りをしながら今回xremapを作

                                                Linux用キーリマッパーxremapをRustで書き直した - k0kubun's blog
                                              • Rubyで最速のテンプレートエンジンを作る方法 - k0kubun's blog

                                                HamlitというRubyで使うテンプレートエンジンをメンテしてて、ちょっと前に思いついたけどこれまで実装してなかった最適化のアイデアを昨日それに実装したので、それについてちょっと書きたい。 github.com StringTemplate というテンプレートエンジン amatsuda/string_template というテンプレートエンジンがあって、 これは "the fastest template engine for Ruby" であると主張されている。 I think I just invented the fastest template engine for Ruby (Rails). Please enjoy! https://t.co/N056SReLh2 https://t.co/74MdR5DINj— Akira Matsuda (@a_matsuda) Dece

                                                  Rubyで最速のテンプレートエンジンを作る方法 - k0kubun's blog
                                                • 8年ぶりに vimrc を書き直した - k0kubun's blog

                                                  2013年にEmacsの使いすぎで小指が痛くなってからVimユーザーをやり始めて、かれこれ8年が経つ。 当時書いたvimrcを秘伝のタレ的に使い続けてきたが、正直あんまりまともにプラグインの更新とかをやっていなかったせいで、ある日突然、普通に使ってるだけなのにエラーが出まくって困る状態になった。 Vim の寿命 後ろめたさを感じつつも NeoBundle.vim、neocomplete.vim、Unite.vim といった一世代古いShougoさんウェアを使い続けていて、特に Unite.vim は後述の都合により2014年のバージョンに固定して更新をサボっていたのだが、Unite関係の何かがVim 8.2で動かなくなった*1。macOSではsystem Vimを使うようにしてみたところ、system Rubyが何か壊れているせいでif_rubyで書いている自作のUniteプラグインが常に

                                                    8年ぶりに vimrc を書き直した - k0kubun's blog
                                                  • Zigで簡単クロスコンパイル 2022 - k0kubun's blog

                                                    僕は以下の3つのツールを複数プラットフォーム向けにクロスコンパイルしてバイナリ配布しており、以下のように全て異なる言語で開発している。 Go: sqldef Rust: xremap mruby: mitamae クロスコンパイルに苦労している話をするとZigを使ってみたらいいんじゃないかと言われることがあり、周りでもZigが何となく流行り始めた気がするので、これらのツールに実際自分で使ってみてどうだったかという事例を紹介したい。 Zigとは Zigはそもそもプログラミング言語なのだが、C/C++とのinteropがやりやすい言語なようで、おそらくそれに必要でLLVMベースのC/C++ツールチェインが同梱されていて、しかもそれをDrop-In Replacement for GCC/Clangとして売りにしている。 僕はZig言語そのものにはそれほど興味はないのだが、クロスコンパイラとして

                                                      Zigで簡単クロスコンパイル 2022 - k0kubun's blog
                                                    • Java, MySQLをKotlin, PostgreSQLに移行した - k0kubun's blog

                                                      7年前にGitHub Rankingというサービスを作り、APIを叩きすぎてGitHubからの風当たりが強くなって*1からはデータの更新を止めていたが、KubernetesやGraphQLの時みたいに技術を試す砂場用に惰性で動かし続けていた。 Issueの機能要望対応が段々面倒になってきて、サーバー代節約のために潰すかと考えていたのだけど、毎日1000PVくらいあるので試しにGoogle Adsenseを設置してみたところ1日平均 $1 くらいは入ってて黒字になりそうだったので、ちょっとメンテしやすくしてデータの更新再開するかー、ということで今回いろいろ綺麗にした。 DB: MySQL → PostgreSQL なぜPostgreSQLにしたのか 個人的には多くの用途ではMySQLとPostgreSQLどっちでもいいと思っているんだけど、今所属してるチームがメンテしてるサービスのDBの多く

                                                        Java, MySQLをKotlin, PostgreSQLに移行した - k0kubun's blog
                                                      • RubyKaigiでJITコンパイラの書き方について発表した - k0kubun's blog

                                                        RubyKaigi 2023でRuby JIT Hacking Guideというタイトルで発表してきた。 speakerdeck.com JITコンパイラを書くチュートリアル 今回の発表ではJITコンパイラが書ける人間を増やすことをゴールにしていたが、 30分という短い発表枠内では雰囲気を知ってもらうことにフォーカスし、 実際に手を動かしたい人たちにはそれ用のチュートリアルを触ってもらう形を取った。 github.com JITコンパイラは実は初心者向き 独学でコンパイラの作り方を学ぶ人は、Cコンパイラなどを実装することが多いように思う。 C言語は実装対象として一見シンプルそうに見えて実は結構機能が多いので、C11をゴールに始めてもC89の範囲すら実装しきらないままエターなる人も多いのではないか。 そんな僕みたいな堕落した人間にお勧めなのがJITコンパイラ。 インタプリタと併走する特性上、

                                                          RubyKaigiでJITコンパイラの書き方について発表した - k0kubun's blog
                                                        • 2023年にやったこと - k0kubun's blog

                                                          今年で30歳、社会人9年目、在米5年目になった。今年は 趣味でRJITを作り、仕事でYJITを超高速化した 初めて論文を国際会議に投稿し、採択された 子供とプリスクールに行き始めた という感じの一年だった。 仕事 大変ありがたいことに、自分が今一番興味のある仕事であるYJITの高速化に集中できた一年だった。 いろいろやったが、代表作は以下の三つかなと思う。 スタックオペランドのレジスタアロケータ 最適化未対応なメソッド呼び出しのフォールバック 例外ハンドラのコンパイル どれもベンチマークがかなり速くなった。 特に二つ目と三つ目は、自分で発案してかつ主に僕が重要性を訴えていた奴で、 それらで大きな成果が出たときはかなり達成感があった。 単独のPRでRailsベンチが7%速くなった時はこりゃ昇給するわと思ったが、実際めちゃくちゃ昇給した。 ベンチマークも速くしている一方、僕は本番アプリの最適化

                                                            2023年にやったこと - k0kubun's blog
                                                          • 2021年にやったこと - k0kubun's blog

                                                            2020年にやったこと 2019年にやったこと 2018年にやったこと 2017年にやったこと 2016年にやったこと 2015年にやったこと というわけでこれ毎年書いてるんですけど、 なんか参戦したくなったので Rubyist近況 Advent Calendar 2021 24日目です。 入居者募集 記事があるくらいですし、自由に書こうと思います。メリークリスマス。 発表 1歳児がいる状況で家を留守にしたり夜に声を出したりすると家族に負担がかかるので、録画提出できるカンファレンスにしか基本参加しないことにしているのだけど、コロナが長引いていることにより今年も登壇しやすい状況が続いた。 とはいえ、ハイブリッド開催だったRubyConfに関しては、国内の渡航だけでShopifyのYJITチーム全員 (や当地のRubyフレンズ) と対面で話せる貴重な機会だったので、行けなかったのは惜しいなあと

                                                              2021年にやったこと - k0kubun's blog
                                                            • 2020年にやったこと - k0kubun's blog

                                                              2019年にやったこと 2018年にやったこと 2017年にやったこと 2016年にやったこと 2015年にやったこと ハイライト 子供が産まれた 大学院生になった Ruby 3x3 を達成した I became a father ☺️ pic.twitter.com/Uq0Jgbduny— k0kubun (@k0kubun) July 15, 2020 I've been officially admitted to Georgia Tech's OMSCS (Online Master of Computer Science). I'm excited for being a student again. I chose the online course to take it without quitting my job, but due to COVID-19 it's pro

                                                                2020年にやったこと - k0kubun's blog
                                                              • 2019年にやったこと - k0kubun's blog

                                                                2018年にやったこと 2017年にやったこと 2016年にやったこと 2015年にやったこと ハイライト 会社でSREからバックエンドチームに移籍 シリコンバレーに移住し、生活の基盤を整えた RubyのJIT開発を継続し、その参考にすべくJVMの実装を少し勉強した Thanks to Arm Treasure Data and people who helped me, today I got a visa stamp to work in the US from October for 3 years.— k0kubun (@k0kubun) August 10, 2019 I published a progress report of Ruby's JIT development as of Ruby 2.7 https://t.co/iTDAyDqAbe— k0kubun (@k

                                                                  2019年にやったこと - k0kubun's blog
                                                                • k0kubun/ruby-jit-challenge 完了報告 - Smoky God Express

                                                                  16.85倍はやい僕のJIT RubyKaigi 2023 お疲れ様でした。非常に面白かったですね。k0kubun さんのRJITについての発表が面白かったので ruby-jit-challange をやりました。無事完走できたので感想記事を書こうと思います(激ウマギャグ) ※: ベンチマークから rjit が抜かれてる理由は後述 RJIT / ruby-jit-challenge ってなに k0kubun さんが Ruby で JIT を書けるような機構を作ってくれました。それをRJITと呼びます。RJIT を手を動かして体験できるチュートリアルが公開されています。親切なREADME、命令列をJITするところ以外の部分、機械語生成用のヘルパーも用意されておりおもてなしの精神がすごい。みんなぜひやりましょう github.com なお冒頭で16倍はやいっていっていますが、特定ベンチマークに

                                                                    k0kubun/ruby-jit-challenge 完了報告 - Smoky God Express
                                                                  • USの資産運用とクレジットスコア - k0kubun's blog

                                                                    前回はベイエリアでの収入や支出についてまとめたが、今回はUS生活でのお金に関するそれ以外の話、具体的には銀行、クレカ、投資、年金などについてこれまで調べたり考えたりしたことを書いておく。 日本に住んでる人でも、金利が0.01%や0.001%の普通預金をメインで使っていたり*1、クレカのポイント還元率が1%だったり、確定拠出年金をやってなかったりする人にはその辺りを見直すきっかけになる話もあるかもしれない。 方針 資産運用が趣味でも仕事でもなく、何もしなくても金がいっぱい増える仕組みが欲しい人を念頭に置いている。普段ほぼ運用に手間をかけずに生活し、1年に1度くらいなら運用に手間をかけてもいいが、それ以外の時間はプライベートや自己投資*2に費したい場合のお金の最適化について書いている。 銀行 Checking 現金の出し入れに使う口座。Savingsの方が一般に金利が高いので、ここには普段ほと

                                                                      USの資産運用とクレジットスコア - k0kubun's blog
                                                                    • GitHub - k0kubun/sigcdump: Sigdump for C backtrace

                                                                      This repository has been archived by the owner on Nov 24, 2021. It is now read-only.

                                                                        GitHub - k0kubun/sigcdump: Sigdump for C backtrace
                                                                      • アメリカのビザ取得からグリーンカード申請まで - k0kubun's blog

                                                                        先週、会社のサポートによりアメリカのグリーンカード申請の最後のステージの提出が終わり、それが処理されるのを待った後少し事務手続をこなすとグリーンカードがもらえる状態まで来た。アメリカ移住に興味があるけど大変そうと思ってる人や、どの程度学歴が求められるか不安な人の参考になるよう、忘れないうちに全体のプロセスについてざっとまとめておく。*1 Diversity Visa 移民多様化ビザ。まず一番敷居が低い申請方法として、Diversity Visa Lottery (DV Lottery)というのがある。これは申し込むと抽選で誰でもグリーンカードが当たるという奴で、私もビザで渡米する前に2回挑戦し、両方外した。 申請条件 以下の2つを満たす必要がある。(詳細) 出生国がアメリカへの移民率が低い国であること (日本はok) 高校卒業か、最低2年の研修や経験が必要な仕事を2年経験していること これ

                                                                          アメリカのビザ取得からグリーンカード申請まで - k0kubun's blog
                                                                        • リモートワークを支える技術 - k0kubun's blog

                                                                          コロナのせいでフルリモートになってから1年くらい、それ起因でPCのセットアップを度々いじっていて、今日で大体いい感じになった気がするので買ってよかったと思っているものをシェアする。 USB-C to Ethernet アダプタ Zoom をするときに "Your internet connection is unstable" と出ると不便なので、リモートワーク時代はインターネットにWi-Fiを使うのは避け、有線で繋ぐのが良い。ケーブル本数を抑えるため、USBも刺さる奴を使っている。部屋の配置と配線の都合で廊下のど真ん中をケーブルが横断する感じになりそれは不便なのだが、この問題は解決してない。 HDMI スプリッタ 自宅に4Kディスプレイが1つだけあるのだが、パソコンは私用と社用で2つある。勤務開始と終了で毎日2回ディスプレイをつけかえるとき、HDMIを2本ディスプレイに刺しておいてディス

                                                                            リモートワークを支える技術 - k0kubun's blog
                                                                          • Aaronさんとk0kubunさんに聞く!YJITを用いたShopify開発環境と海外アーキテクチャ (2023/07/26 12:00〜)

                                                                            こんな方にお勧め: Ruby,Railsの海外事情 Shopifyの開発環境や技術、海外企業の動向について知りたい方 海外企業の開発環境や技術、動向を知りたい方 現地エンジニアのキャリアパス 本イベントのゴール Rubyの動向や外資系企業の技術構造やトレンドがわかった Shopifyの開発環境について知ることができた 海外企業で働く現地エンジニアの考え方がわかった 🎁参加方法とプレゼント企画 専用URLからFindyマイページに遷移後、視聴URLが表示されます。 URLはお申し込みいただいた方へ視聴用リンクをお渡ししています。 参加後アンケート回答者の中から抽選で5名に、以下の書籍をプレゼント差し上げます。 『研鑽Rubyプログラミング 実践的なコードのための原則とトレードオフ』 『Effective Ruby 』 ※プレゼントを検討しておりましたが、販売休止のため取り止めといたします。

                                                                              Aaronさんとk0kubunさんに聞く!YJITを用いたShopify開発環境と海外アーキテクチャ (2023/07/26 12:00〜)
                                                                            • GitHub - k0kubun/perf-profile: Profiling C code with Linux perf made easy

                                                                              A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

                                                                                GitHub - k0kubun/perf-profile: Profiling C code with Linux perf made easy
                                                                              • Rewrite Array#each in Ruby by k0kubun · Pull Request #6687 · ruby/ruby

                                                                                You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                                  Rewrite Array#each in Ruby by k0kubun · Pull Request #6687 · ruby/ruby
                                                                                • GitHub - k0kubun/ruby-jit-challenge: Tutorial to write a Ruby JIT

                                                                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                                    GitHub - k0kubun/ruby-jit-challenge: Tutorial to write a Ruby JIT

                                                                                  新着記事