【M3 Tech Blog】エムスリーが技術書典15で新刊を出します!
【M3 Tech Blog】zeno.zsh を活用して Node.js パッケージマネージャの違いを吸収する
永山です。 神話の時代、天を衝く巨塔を築こうとした高慢な人類の Node.js パッケージマネージャは様々に引き裂かれたと言われています。 現代においてよく使用されているものだけでも npm, Yarn, pnpm などがあり、エムスリー社内でもプロジェクトによってどのパッケージマネージャが採用されているかはバラバラです。……
【M3 Tech Blog】editorconfig-checkerを導入してコードレビュー時の摩擦を軽減する
【M3 Tech Blog】高機能なZshプロンプトを自作する ーモダンなシェルプロンプトを構成する工夫ー
【M3 Tech Blog】dotfilesのこだわりを晒す
【M3 Tech Blog】コード生成から考えるポインタの意味論
【M3 Tech Blog】Rubyの値はどう表現されるか (クイズもあるよ)
【M3 Tech Blog】純粋関数型言語Cプリプロセッサで足し算をする
【M3 Tech Blog】「Shell作れます」と言うために
OSS LT会 - vol.2 で発表した
株式会社ラクスさんの主催する OSS LT会 ★初心者の方・やっていきも大歓迎 - vol.2 で発表しました。 発表スライド 発表の概要 C言語のポインタや、ポインタに関する演算子である &演算子 と *演算子 について、コンパイラの実装の観点から論じることで通常とは異なる解釈を与える試みについて発表しました。……
Ruby に Pull-Request がマージされた (2回目)
2020年1月12日に発行したチケットと、その実装である Pull-Request が2020年2月10日に ruby/ruby のtrunkにマージされました。 以下、そのPRの内容などについて述べます。 背景 クックパッド株式会社の夏インターンシップに参加した際、InstructionSequence (ISeq) のバイナリ表現を改善しました。……
平成Ruby会議 01 に登壇した
2019年度Rubyアソシエーション開発助成 に採択された
Rubyアソシエーションが主催する 2019年度Rubyアソシエーション開発助成 に提案プロジェクトが採択されました。 題目は「複数ファイルに対応したプリコンパイル機構の作成」です。 Cookpad株式会社でのインターン に参加した際、メンターの方からの勧めがあり応募したところ審査を通過しました。 以下が応募の際に提出した提案の内容です (一部省略)。……
2019 IEEE 8th Global Conference on Consumer Electronics に論文を投稿した
2019 IEEE 8th Global Conference on Consumer Electronics (GCCE 2019) に論文を投稿し、2019年10月18日に会場でポスター発表をしました。……
【クックパッド開発者ブログ】Ruby中間表現のバイナリ出力を改善する
Cookpad Summer Internship 2019 高難易度コースに参加した
2019年8月16日から2019年9月13日まで、インターンとしてクックパッド株式会社でRuby処理系の開発を経験しました。……
Binaryenを使用してWebAssemblyを操作するパスを作成する
LLVMはLLVM IRを操作・走査できるカスタムパスの作成をサポートしており、optコマンドの-loadオプションを利用することで作成したカスタムパスを簡単に適用できます。 参考: LLVM documentation - Writing an LLVM Pass……
Cookpad Spring 1day Internship 2019 Swiftコンパイラコースに参加した
2019年3月28日(木)にクックパッド株式会社で開催された1dayインターンシップのSwiftコンパイラコースに参加しました。 このコースは、名前の通りSwiftを用いてSwift言語のサブセットコンパイラを作成するための技術・知識を学ぶためのワークショップです。 インターンシップの主な講義内容、課題はGitHub上で公開されています。……
卒業論文をMarkdownで書く
はじめに 卒業論文に限らず、論文や技術文書とLaTeXは切り離すことができません。 しかしながら、TeXをそのまま書くのは面倒なので可能な限りMarkdownなどの軽量な文書形式で記述できると嬉しいですね。 そこでMarkdownからLaTeXを経由してPDFを生成するポータブルな環境を構築しました。……
ウェブページとミニブログを作った
はじめに JavaScriptフレームワークであるNuxt.jsを使ってウェブページとミニブログ(当サイト)を作りました。 以下では当サイトを構成する技術的要素について紹介します。 構成要素 Nuxt.js フロントエンドはNuxt.jsで作成しました。 単一ファイルコンポーネントやScoped Styleが簡単に扱える点が大変によいです。……