Discover companies you will love

Yuto Ogino

株式会社ドワンゴ / エンジニア埼玉県

Yuto Ogino

株式会社ドワンゴ / エンジニア

株式会社ドワンゴで主にバックエンド・フロントエンド周りの開発をしています。

  • コンパイラのスクラッチ実装

    Rust と低レイヤー技術を同時に学ぶことを目標として、コンパイラをゼロから Rust で実装しました。 https://github.com/swen128/compiler-course 一般公開されていた大学の講義ノートを基にして、LISP 系の動的型付け言語である Racket のコンパイラを実装しました。 https://www.cs.umd.edu/class/fall2023/cmsc430/Notes.html このコンパイラは x86-64 をターゲットとしていて、以下のような機能を持っています。 ・int, bool, char, list, box, vector, symbol のデータ型を扱う ・変数定義 ・関数定義 ・ラムダ式、再帰関数、末尾再帰最適化 ・パターンマッチング その後、上記の講義では触れられなかったトピックに興味が湧き、書籍 "Modern Compiler Implementation in ML" を読みながらもう一つのコンパイラの実装を進めました。 https://github.com/swen128/compiler-book 静的型チェックや中間表現、レジスタ割り当てを初めとして、より発展的な内容を数多く学ぶことができました。 また、エラーハンドリングに拘って panic を出さない方針で実装したことが影響し、普段の開発でもより堅牢なコードを書く意識が強まりました。

    -

Ambition

In the future

高い非機能要件が求められるなど、技術的な専門性を磨けるような仕事をしたいと考えています。 Rust や TypeScript に特に興味があります。

About 株式会社ドワンゴ

株式会社ドワンゴ4 years

エンジニアPresent

- Present

6 人のエンジニアチームで働き、ニコニコ動画などの自社サイトに広告を表示するための基盤システムを開発・運用しています。

  • レガシーシステムを Kotlin でリプレイス

    老朽化して機能停止しかけていた既存の業務システムを Kotlin でリプレイスしました。 対象のシステムは、長い歴史のある PHP 製モノリスの中の一部でした。 依存する外部 Web API のクライアントライブラリのバージョン更新ができておらず、API バージョンの廃止に伴って機能しなくなることが見込まれました。 そこで以下のような事情から、当該部分をモノリスから切り出して実装し直すことに決まりました。 ・API クライアントのバージョンを上げるには PHP のメジャーバージョンを上げる必要があり、かなりの工数がかかる ・対象のコードは約 3,000 行ほどで、モノリスの他の部分と関係が薄い 言語選定は、API の公式クライアントライブラリが提供されている Java, .NET, PHP, Python, Ruby に限定されたため、主に以下の理由により Kotlin を選定しました。 ・比較的強力な型システムを持ち、尚且つ Java より書きやすい ・既存の Java コードとの相互運用が簡単で、チーム内で部分的に Kotlin の導入が始まっていた 実装の際はクリーンアーキテクチャに近い設計にして純粋関数の部分を増やし、ユニットテストをしやすい形にしました。これによってテストコードがリプレイス前よりも充実し、改修やライブラリのバージョン更新などが短時間で自信を持ってできるようになりました。

    -
  • TypeScript マイグレーション

    約 10,000 行のレガシーな JavaScript コードを TypeScript に完全移行しました。 対象のコードは多数のサービスに跨って利用されており、不具合が生じた場合直接ユーザー体験に影響する恐れがありました。 そこで安全に移行を進めるために、Cypress を新規導入してテストコードを大幅に拡充したり、細かな単位で段階的にリリースしたりするなどの措置を講じました。

    -

View Yuto Ogino's

Full Profile

View past posts

View mutual connections

View Yuto Ogino's full profile



言語

  • English - Professional
  • Japanese - Native

Receive Scouts from companies