Author Image

Hi, I am Yudai Fukushima

Yudai Fukushima

学生 at 東京都立大学

東京都の大学で学生をしています。Goを書くことや競プロが趣味です。英語が話せます。

Communication
Hard Working
Team Work
Problem Solving
Time Management

スキル

経歴

1
ソフトウェアエンジニアインターン
株式会社メルカリ

2022年3月14日 - 2022年3月18日, 東京

株式会社メルカリは新たな価値を生み出す世界的なマーケットプレイスを創るというミッションのもとサービスを展開している。

業務内容:
  • Go 1.18について学ぶ
  • Go 1.18の新機能を用いて新たなOSSを開発する

ソフトウェアエンジニアアルバイト
契約上会社名を表示できません。

2021年8月 - 現在, 東京

業務内容:
  • 既存サービスを使いやすくするための改善作業
  • 既存環境(perl、オンプレ)から新環境(golang、GCP)への移行作業
  • 業務上の運用課題の解決
2

3
ソフトウェアエンジニアアルバイト
フューチャー株式会社

2020年6月 - 2021年8月, 東京

フューチャー株式会社はテクノロジーをベースに「ITコンサルティング&サービス事業」と「ビジネスイノベーション事業」の2軸でのビジネスを展開している。

業務内容:
  • アプリケーションの開発
  • クラウドに関連した社内ツールの作成

ソフトウェアエンジニアインターン
チームラボ株式会社

2019年8月19日 - 2019年8月30日, 東京

サイエンス・テクノロジー・デザイン・アートなどの境界を曖昧にしながら、『実験と革新』をテーマにものを創ることによって、もしくは、創るプロセスを通して、ものごとのソリューションを提供している。

業務内容:
  • レビューを行うためのWebアプリケーションの開発
4

教育

2021/4 - 現在
工学 修士
2017/4 - 2021/3
工学 学士
高校

プロジェクト

Contest-Line-Bot
Contest-Line-Bot
Developer 2020年1月 - 現在

AtCoder, Codeforces, Yukicoderのコンテスト情報を通知する Line Bot

9cc
9cc
Developer 2021年7月 - 現在

Cで書かれたCコンパイラ

Competitive Programming Library
Competitive Programming Library
Developper 2020年6月 - 現在

競プロのライブラリ

Mini-Mini-Pascal
Mini-Mini-Pascal
Developer 2021年10月 - 現在

パスカルコンパイラ

blahbrah
blahbrah
Developer 2022年3月 - 現在

Brace直前直後の空行を発見するための静的解析ツール

最近の投稿

Card image cap
GitLens for Emacs: Blamer.el

この記事は Emacs Advent Calendar 2022 17日目の記事です。 はじめに VS Code を使ったことがある方なら誰しも一度は使用したことがあるであろうパッケージに GitLens があります。 これは、簡潔に言うとカーソルのある現在行や、クラスの先頭に Git Blame の情報を表示してくれるものです。 以下に、VSCode での使用例を貼っておきます。 Blamer.el は Artawower さんによって作成された Emacs 用の Git Blame プラグインです。 A git blame plugin for emacs inspired by VS Code’s GitLens plugin and Vim plugin とあることからもわかるように、VSCode の GitLens や Vim の Blamer.nvim プラグインと似た機能を持っています。 日本語での記事が見当たらなかったため、この記事で軽く触れて行けたらと思っています。 設定例 最初に自分が使用している設定例を載せておきます。 (use-package blamer :ensure t :custom (blamer-idle-time 0.3) (blamer-min-offset 70) (blamer-pretty-time-p t) (blamer-author-formatter "✎ %s ") (blamer-datetime-formatter "[%s] ") (blamer-commit-formatter "● %s") (blamer-type 'visual) :config (global-blamer-mode 1)) 実際の使用感は次のようになります。 カーソルのある行のコミット情報が表示されていることがわかると思います。 説明 さらっと設定に触れていきます。 Git Blame の情報を表示するまでにかかる秒数の設定 (blamer-idle-time) にて設定することができます。 表示する際の著者・時刻・メッセージのフォーマットの設定 (blamer-author-formatter "✎ %s ") ;; 「✎ 著者名」と表示される (blamer-datetime-formatter "[%s] ") ;; 「[コミット作成日時] 」と表示される (blamer-commit-formatter "● %s") ;; 「● コミットメッセージ」 と表示される コミット作成者・作成日時・コミットメッセージの表示フォーマットを設定することができます。 さらに、コミット作成日時に関しては、 (setq blamer-pretty-time-p t) とすることでいい感じにしてくれます。 コミット情報を表示するまでのオフセットの設定 (blamer-min-offset) にて設定することができます。 以下にオフセットを 10 に設定した場合の画像を貼っておきます。 コミット情報の表示方法の設定 (blamer-type) にて設定することができ、次の 5 パターンの表示方法があります。 selected : マークされた各行に対してのコミット情報を表示します。 visual : カーソルがある現在行のコミット情報を表示します。 both : selected と visual 両方で情報を見ることが出来ます。 overlay-popup : 名前の通りです。 overlay-popup の場合は、表示位置を上下選ぶことができます。 posframe-popup : 同じく名前の通りです。 4, 5 に関しては、公式から画像 が提供されています。 また、 selected の場合、 blamer-max-lines で表示する最大行数を設定することもできます。 blamer-show-commit-info M-x blamer-show-commit-info でコミット情報を表示することができます。 他にも、 uncommitted changes の表示メッセージを変更できたり、コミット上にマウスを置いた際に、ツールチップを表示させたり等、もっと多くのことができます。 まとめ Emacs 用の GitLens パッケージ Blamer.

Card image cap
Rust(lettre)とさくらのメールボックスでメール送信

はじめに Rust の lettre クレートでさくらのメールボックスを用いて独自ドメインでのメールを送信する際の記録です。 前提としては、 xdomain にて独自ドメインを取得済み Netlify DNS にネームサーバを設定してる 独自ドメインのメールアドレスでメールの送信がしたいが、ネームサーバは変更したくないというような状態です。 lettre Rust のメーラライブラリで、 SMTP(Simple Mail Transfer Protocol)を用いてセキュアなメールの送信ができる ファイルの送信 非同期サポート ユニコードサポート などなど欲しい機能が一通り揃っています。 さくらのメールボックスとは かの有名なさくらインターネットさんが用意されているプランの一つで、 独自ドメインのメールが使える 月額 87円(安すぎでは?) と主に月額にひかれて使い始めました。 やりたいこと さくらのメールボックスの登録、独自ドメインの追加、メールアドレスの作成は済んでいるものとします。 Rust 内から lettre を使って独自ドメインからメールを送信しましょう。 まず、公式のサンプルを見てみます。 use lettre::transport::smtp::authentication::Credentials; use lettre::{Message, SmtpTransport, Transport}; let email = Message::builder() .from("NoBody <nobody@domain.tld>".parse().unwrap()) .reply_to("Yuin <yuin@domain.tld>".parse().unwrap()) .to("Hei <hei@domain.tld>".parse().unwrap()) .subject("Happy new year") .body(String::from("Be happy!")) .unwrap(); let creds = Credentials::new("smtp_username".to_string(), "smtp_password".to_string()); // Open a remote connection to gmail let mailer = SmtpTransport::relay("smtp.