umireon

3年後の目標や野望


手段を選ばず全て(顧客体験などを含めて)を改善するエンジニアになりたい

AWSやGCPの最新のサービスを利用して、あらゆる意味でスケールするアプリの基盤を作ることを目標にしています。 アプリエンジニアの自由を与えつつ、セキュリティ上のリスクを極限まで低減させるのが生き甲斐です。 pnpmのメンテナになったので、もっとOSS活動を充実させていきたいです。自社パッチとして溜め込むよりもOSSを直接直した方がみんな得すると思っています。

年収評価シート

2021年/1ヶ月以内

pnpmメンテナ

## 概要 超巨大OSS pnpmのメンテナです。 https://github.com/pnpm HomebrewプロジェクトへFormulaとしてpnpmを追加する手伝いをしたり、シェルスクリプトをあらゆる環境で動くようにポータブルなのもの書き換えたりといった活動をしていたら2週間でメンテナに任命されました。 メンテナとして行ったプロジェクトについては次のプロジェクトの項以降で記載します。

2021年/1ヶ月以内

pnpmをHomebrewのFormulaに正式に追加する

## 概要 pnpmのFormulaを修正する ## 担当 pnpmメンテナとHomebrewのメンテナの仲介役を担当(もともとHomebrewのコントリビューターだったが途中でpnpmメンテナになった) ## 使用技術 Homebrew、pnpm、Node.js、Ruby ## 課題 macOSのパッケージ管理ツールのデファクトであるHomebrewのソフトウェア定義はFormulaと呼ばれています。 pnpmのFormulaは第三者が追加したもので、pnpmの中心人物が望む定義になっていなかったのでそれを修正しようとしています。 ## 取り組み もともとはnpmでpnpmをインストールすると言う形になっていましたが、pnpmの中心人物が望むようにそれをpnpmが提供するバイナリパッケージに置き換える作業をしました。 その過程で、pnpmのコマンドがHomebrewの管理しているディレクトリを書き換えてしまうと言う問題が判明して、これではHomebrewにマージできないと言われたのでpnpm本体に変更を提案しています。 ## 工夫した点 HomebrewはLinuxにも対応している(Linuxbrew)のですが、pnpmをバイナリパッケージに置き換えるとどうしてもバイナリがLinuxbrewによって書き換えられて壊れてしまうと言う問題が発生しました。 この問題に対処するためにバイナリ内部を正規表現で書き換えるRubyプログラムを開発しました。 また、Homebrewではチェックサムで検証されていない外部ファイルを使用することや外部からバイナリファイルをダウンロードすることは許容できないと言われたので、pnpm本体のビルド定義を熟読してFormulaでバイナリをビルドするように変更しました。 ## 関連リンク - https://github.com/Homebrew/homebrew-core/pull/82892 - https://github.com/pnpm/pnpm/pull/3706 - https://github.com/pnpm/pnpm/pull/3658 - https://github.com/vercel/pkg-fetch/issues/208 - https://github.com/pnpm/pnpm/issues/3713

2021年/1ヶ月以内

pnpmのインストールスクリプトをポータブルにする

## 概要 pnpmのインストールスクリプトをあらゆる環境で動くようにする ## 担当 pnpmコントリビューター(このプロジェクトがきっかけでpnpmメンテナになった) ## 使用技術 pnpm、Shellcheck、POSIX sh、bash、dash、ksh、zsh ## 課題 どこでも動くポータブルなシェルスクリプトを書くためには相当な量の知識と経験が必要です。 pnpmにはそのような知識や経験を持っている人がいなかったので、pnpmのインストールスクリプトは長らく未完成でした。 ## 取り組み 私は以前のOSS活動でポータブルなシェルスクリプトを書くために必要な相当な量の知識と経験を身につけていました。 その知識を活かし、リポジトリにShellcheckと言うシェルスクリプト用のリンターを導入させ、CIで自動的にポータブルではない文法にエラーが出る仕組みを作り、ポータブル性を検証できる環境を整えました。 ## 工夫した点 もともとのスクリプトではログや終了処理が不十分だったので、Homebrewで使用されているシェルスクリプトから一部を抜粋して充実させました。特に`set -e`を使うとメンテナンス性が下がることを知っていたのでそれを避けて記述したことは工夫した点です。 また、curlやwgetはどちらか一方のコマンドしか存在しないことが多いので、ポータブルなシェルスクリプトを記述する際にはどちらでも動くようにする必要があるのですが、それを実現する一番簡単な方法を知っていたので、それをスクリプトに盛り込みました。 grepコマンドは移植性の低いオプションがたくさんあるので、それらをtrやawkなどの極めてポータビリティが高いコマンドに置き換えて、macOSやFreeBSDやAlpine Linuxで動作するように変更しました。 ## 関連リンク - https://github.com/pnpm/get/pull/3 - https://github.com/pnpm/get/pull/5 - https://github.com/pnpm/get/pull/6 - https://github.com/pnpm/get/pull/7 - https://github.com/pnpm/get/pull/8 - https://github.com/pnpm/get/pull/9 - https://github.com/pnpm/pnpm.github.io/pull/135 - https://github.com/pnpm/get/pull/10 - https://github.com/pnpm/get/pull/12

2021年/半年以内

AWS公式ツールの種々の問題を解決する

## 概要 業務で利用しているAWS公式ツールの問題点を修正する ## 担当 AWSコントリビューター ## 使用技術 CloudFormation、ShellScript、AWS、TypeScript、Rust ## 課題 AWS公式ツールを利用する中でバグやTypoを大量に発見したので、ただそう言うものだと納得するのではなくアップストリームにその問題の修正を提案してコミュニティに還元しました。 ## 取り組み Copilotに関してはDynamoDBに関するCloudFormationがおかしくて実害が出たので修正しました。また、Dockerコンテナでビルドしようとすると失敗することがある問題があったのでそれを修正しました。 CloudFormation Guardに関してはインストーラーのシェルスクリプトが全くポータブルではなかったのでポータブルなものに修正しました。Typoの修正も大切な貢献だと考えています。またHomebrewのコントリビューターとしてHomebrewによるインストール方法を追記して欲しかったのでそれを追加しました。 ## 工夫した点 各プロダクトのメンテナの意見は真摯に受け止めて、マージしてもらえるようにそれらの意見と自分の提案を上手く融合させることに注力しました。 CloudFormation Guardのインストールスクリプトについては、今後も他の人がシェルスクリプトのポータブル性を維持できるように、CIにShellcheckを追加しました。 また、curlやwgetはどちらか一方のコマンドしか存在しないことが多いので、ポータブルなシェルスクリプトを記述する際にはどちらでも動くようにする必要があるのですが、それを実現する一番簡単な方法を知っていたので、それをスクリプトに盛り込みました。 ## 関連リンク ### aws/copilot-cli - https://github.com/aws/copilot-cli/pull/2349 - https://github.com/aws/copilot-cli/pull/2367 ### aws-cloudformation/cloudformation-guard - https://github.com/aws-cloudformation/cloudformation-guard/pull/165 - https://github.com/aws-cloudformation/cloudformation-guard/pull/169 - https://github.com/aws-cloudformation/cloudformation-guard/pull/170 - https://github.com/aws-cloudformation/cloudformation-guard/pull/171

2021年/1ヶ月以内

AWS-CDKの基盤S3バケットをバージョニングに対応させる

## 概要 AWS-CDKのBootstrapで作成されるS3バケットのバージョニングを有効にする ## 担当 AWS-CDKコントリビューター ## 使用技術 CloudFormation、TypeScript ## 課題 AWS Control Towerを利用している環境では、全てのS3バケットのバージョニングを有効にしないと警告が出てしまいます。以前のAWS-CDKの実装だとどうやってもバージョニングを有効にできませんでした。 ## 取り組み 手動でバージョニングを有効にすることもできますが、バージョニングを有効にするとAWS-CDK利用者が全員得をすると考えたのでアップストリームのコードを変更することにしました。 CloudFormationでBootstrap環境は作成されているので、変更自体は非常にミニマムなものになりました。 ## 工夫した点 最初に小さな変更をプルリクとして出してそれは難なくマージされましたが、その後テストがレグレッションしてしまうことが判明してしまったのでその変更はリバートされてしまいました。 私としてはその変更はどうしても取り込んで欲しかったので、テストのコードを変更してレグレッションを解決した上で、改めて同じ変更をプルリクとして出して再度所望の変更を取り込んでもらうことに成功しました。 ## 関連リンク - https://github.com/aws-cloudformation/cloudformation-guard/pull/165 - https://github.com/aws-cloudformation/cloudformation-guard/pull/169 - https://github.com/aws-cloudformation/cloudformation-guard/pull/170 - https://github.com/aws-cloudformation/cloudformation-guard/pull/171

2016年/2年以上

Homebrew/brewの各種バグを修正する

## 概要 brewコマンドの気になる点を全て修正する ## 担当 Homebrewコントリビューター ## 使用技術 Ruby、Homebrew ## 課題 Homebrewのbrewコマンドはかなり高頻度で使用していて、macOSで開発している人はみんなそうだと思うのですが、その重要なbrewコマンドにバグを見つけた場合はすぐに修正を提案しています。 ## 取り組み 流石に昔すぎてどんな変更をしたかは覚えていないですが、brewで開発環境を構築する中でちょっとでも挙動がおかしいと思った点は全てプルリクを出していました。 実際それらの挙動はおかしかったので、Homebrew/brewに出したプルリク7本は全てマージされています。 テストプロセスがおかしかったり、ロギングがおかしかったり、パッケージのアンインストールの挙動がおかしかったりと、案外Homebrewレベルのソフトウェアでも些細なバグはたくさんあります。 ## 工夫した点 Homebrew/brewはプルリクに対してかなり厳しい評価をするので、1本通すだけでも至難の業となっております。 プルリクを通すために最初からプロブレムステートメントをかなり詳細に記載したり、Homebrewメンテナに指摘された問題は即座に詳細な調査を行なって、プルリクをマージしてもらうために非常に多くのリソースを費やしました。 ## 関連リンク - https://github.com/Homebrew/brew/pull/1472 - https://github.com/Homebrew/brew/pull/1473 - https://github.com/Homebrew/brew/pull/1537 - https://github.com/Homebrew/brew/pull/1547 - https://github.com/Homebrew/brew/pull/1549 - https://github.com/Homebrew/brew/pull/11834

2016年/1ヶ月以内

brewコマンドにpkgファイルのカスタマイズに対応させる機能を追加する

## 概要 brewコマンドにpkgファイルのchoices.xmlを簡単に適用できるようにする記法の追加 ## 担当 Homebrewコントリビューター ## 使用技術 Ruby、Homebrew ## 課題 HomebrewにはmacOSのpkgパッケージをコマンドラインで自動的にインストールする機能があるのですが、ものによってはカスタマイズしてインストールする必要があって、それが汚いハックで行われているCaskを見かけたのでもっと簡単にできるようにしたいと思いました。 ## 取り組み brewコマンドの仕様書をよく読んで、どうやったらソフトウェア定義に新しい記法を追加できるか事前調査することを重視しました。 brewコマンドに書くRubyのコードは非常に高度に最適化されたものでなければならなかったので、Rubyの仕様についてもかなり勉強しました。 必要なXMLファイルはDSLで簡潔に記述できる仕様にして、またTempfileクラスを用いて生成されたXMLファイルが適切なタイミングで消去されるようにするのが大変でした。 ## 工夫した点 今まではバグ修正しかしておらず、仕様変更のプルリクエストを送るのは初めての経験だったので、事前に綿密に調査しました。 それでもHomebrewのメンテナから大量にマサカリが飛んできましたが、面倒くさがらずに一つ一つに真摯に対応したので、結果的にマージしてもらうことができました。 今では、MacTeXやMicrosoft EdgeなどかなりメジャーなCaskでこの機能が使われるようになっているので、Homebrewに多大な影響を与えたプルリクエストとなりました。 ## 関連リンク ### Homebrew/brew - https://github.com/Homebrew/brew/pull/1535 ### Homebrew/homebrew-cask - https://github.com/Homebrew/homebrew-cask/pull/26964 - https://github.com/Homebrew/homebrew-cask/pull/26965 - https://github.com/Homebrew/homebrew-cask/pull/26997

2016年/2年以上

HomebrewのFormulaやCaskを改善する

## 概要 HomebrewのFormulaやCaskの各種問題を改善 ## 担当 Homebrewコントリビューター ## 使用技術 Ruby、Homebrew ## 課題 Homebrewのソフトウェア定義はFormulaやCaskと呼ばれています。 FormulaやCaskは基本的にそのソフトウェアの作者ではなく第三者が登録しているので、すぐにビルドが壊れてしまったり、アンインストールするときにそのソフトウェアが作成したファイルの削除が漏れてしまっていることがあります。 ## 取り組み Formulaに関してはソフトウェアに対してHomebrew独自のビルドを行なっているのですが何かしらのオプションを指定した時にビルドが壊れてしまうことが頻繁にありましたので、自分が試した時に壊れていることに気づいた時はすぐに修正のプルリクを送るようにしていました。 Caskに関してはdmgやpkgからソフトウェアを抽出して/Applicationsにインストールすると言う挙動をしているのですが、依存関係がおかしかったりアンインストール時にファイルが残ってしまうことが多かったのでそれを適正化するプルリクを送っていました。 ## 工夫した点 FormulaとCaskへの貢献で一番簡単なのはただのバージョンアップで、実際Homebrewへ提出されているプルリクの大部分は単にバージョンアップするだけのものなのですが、自分がそれをやったことはほとんどありません。そのようなプルリクはそのソフトウェアが使っている誰かが必ず出すので、私はもっと機能的に問題がある点へ貢献することを重視していました。 ## 関連リンク ### Homebrew/homebrew-core - https://github.com/Homebrew/homebrew-core/pull/6475 - https://github.com/Homebrew/homebrew-core/pull/6696 - https://github.com/Homebrew/homebrew-core/pull/7055 - https://github.com/Homebrew/homebrew-core/pull/7113 - https://github.com/Homebrew/homebrew-core/pull/7115 - https://github.com/Homebrew/homebrew-core/pull/7125 - https://github.com/Homebrew/homebrew-core/pull/7151 ### Homebrew/homebrew-cask - https://github.com/Homebrew/homebrew-cask/pull/26545 - https://github.com/Homebrew/homebrew-cask/pull/26617 - https://github.com/Homebrew/homebrew-cask/pull/26619 - https://github.com/Homebrew/homebrew-cask/pull/26986 - https://github.com/Homebrew/homebrew-cask/pull/26999 - https://github.com/Homebrew/homebrew-cask/pull/27180 - https://github.com/Homebrew/homebrew-cask/pull/105717 - https://github.com/Homebrew/homebrew-cask/pull/105720 - https://github.com/Homebrew/homebrew-cask/pull/105736

プロジェクトカテゴリ
担当工程
経験した職種・役割
あなたが実際に使っていた技術
このプロジェクト詳細は公開されていません

プロジェクトカテゴリ
担当工程
経験した職種・役割
あなたが実際に使っていた技術
このプロジェクト詳細は公開されていません

マネージメント能力

アピール項目


アウトプット

GitHub アカウント
あり
Qiita アカウント
あり
Zenn アカウント
未入力です
Speaker Deck アカウント
未入力です
SlideShare アカウント
あり
特にアピールしたいアウトプット
あり

今後、身につけなければいけないと思っている技術は何ですか?

データベース関係

あなたが一番パフォーマンスを出せるのはどんな環境ですか?

新技術の学習・導入を業務として認めてくれる職場

キャラクター

直近で一番やりたいこと
技術を極めたい
好きなスタイル
好きな規模
自信を持って人より秀でていると言える点
学習能力 / 問題解決力 / 人を集める力
スキルのタイプ
得意なフェーズ
会社を選ぶ一番の基準
プライベートとの両立
やりたくない分野
SI
その他の特徴
未入力です
その他のやりたいこと・やりたくないこと

OSSたくさんやりたい

やりたい事

手を動かして設計してコードを書きたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
価値あるプロダクトを作り成長させたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
学び続けて技術力でプロダクトに貢献したい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
意義があることや社会に貢献できる仕事がしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
人や計画の調整・マネジメントをしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
レガシーなシステムの保守・運用・改善をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
企画や仕様を考えるところから関わりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
業務効率を改善して一緒に働く人のためになりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
全社横断的な共通基盤作りや強化をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
組織や文化を作る・成長させる仕事をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい

基本プロフィール

年齢
今年で30代前半
好きな Text Editor
zsh
希望勤務地
東京都
希望年収
未入力
転職ドラフトに参加して
企業から指名を受け取ろう!
会員登録をして転職ドラフトに参加すると、参加企業から年収付きの指名を受け取ることができるようになります。
会員登録する
ご意見箱

要望、不具合報告、使いづらい点や感想など、お気軽にお寄せください。
いただいたご意見は、今後のサービス向上に活用させていただきます。

なお、このフォームは受付専用のため、返信を行っておりません。
返信を希望する場合はお問い合わせよりご連絡ください。

  • {{error}}
SIGN UPSIGN IN


転職ドラフトを友人や同僚に薦める可能性はどのくらいありますか?