- 氏名:金子 達哉
- ID:
catatsuy
- URL: https://www.catatsuy.org/
- PR TIMES事業ユニット 開発部 開発部長CTO(2024/05〜)
- 開発本部長CTO(2022/04〜2024/04)
- 執行役員CTO 兼 開発本部長(2021/04〜2022/04)
- PR TIMES開発本部2023年振り返り | PR TIMES 開発者ブログ https://developers.prtimes.jp/2023/12/28/cto_activities_2023/
- PR TIMES開発本部2022年振り返り | PR TIMES 開発者ブログ https://developers.prtimes.jp/2022/12/28/cto_activities_2022/
- 挑戦する組織にするためにCTOになってからやったこと | PR TIMES 開発者ブログ https://developers.prtimes.jp/2021/12/28/cto_activities_2021/
- ソフトウェアエンジニアが執行役員CTOになった理由 - catatsuy - Medium https://catatsuy.medium.com/ソフトウェアエンジニアが執行役員ctoになった理由-3474c638fa18
- 「一人じゃない」と思えるチームビルディングが鍵 PHPバージョンアップのために欠かせない“精神論” | PR TIMES 開発者ブログ https://developers.prtimes.jp/2021/08/20/php-versionup-kickoff/
- PR TIMESの開発本部が目指すこと−PR TIMES 開発者ブログ開設に寄せて− | PR TIMES 開発者ブログ https://developers.prtimes.jp/2021/04/23/goals_dev_div/
- メルカリSREチーム → Developer Productivity Engineering Networkチーム
- Software Engineer, Infrastructure
- Goを中心に開発、CDNの管理やログデータ基盤などを担当
- メルカリ越境ECのリリースなどを担当
- 数ヶ月間pixivの開発を行った後、インフラ部に異動
- 2016年4月に開発部に再び異動、様々な開発に関わる
- pixivのPHP7.1化やHTTPS化、pixivFANBOXリリースなど多数
- 広告サーバーの新機能リリースも担当
- インフラ部でオンプレミスでのインフラ運用、PHPのアプリケーションサーバーやMySQLサーバーの構築・運用を担当
- 新しい広告サーバーのリリースにインフラ担当として関わり、一部の配信サーバーの実装も担当
- 管理サーバーをRuby on Rails、配信サーバーをGo言語で開発
- リリース時はインフラ全般と配信サーバーを中心に担当、その後は運用・新機能仕様策定・配信サーバーの機能追加を担当
- 公開資料多数
- テクノロジー x ビジネスで広告を本気で変革する。pixiv流 広告プロダクトの作り方 - pixiv inside https://inside.pixiv.blog/yattyo/3587
- logrotateの設定とファイルのアクセスモードについて – Tatsuya Kaneko – Medium https://catatsuy.medium.com/logrotateの設定とファイルのアクセスモードについて-f9719352dada
- ピクシブ社内広告サーバーに新機能を追加するためにボクがやったこと - pixiv inside [archive] https://devpixiv.hatenablog.com/entry/2015/12/15/180227
- ピクシブ社内広告サーバーでのGoの開発・運用 #gocon /p_ads_server_gocon2015 // Speaker Deck https://speakerdeck.com/catatsuy/p-ads-server-gocon2015
- ピクシブ新広告サーバー構築物語 // Speaker Deck https://speakerdeck.com/catatsuy/pikusibuxin-guang-gao-sabagou-zhu-wu-yu
- Golang_ads_deliver // Speaker Deck https://speakerdeck.com/catatsuy/golang-ads-deliver
- PHPで構築された大規模サービスのHTTPS化
- pixivを常時HTTPS化するまでの道のり(前編) - pixiv inside https://inside.pixiv.blog/catatsuy/1746
- pixivを常時HTTPS化するまでの道のり(後編) - pixiv inside https://inside.pixiv.blog/catatsuy/1872
- PHP7.1化の前にKyoto Tycoon廃止とpeclのmemcacheを廃止
- 開発基盤チームが目指す事 #pixiv_night - Qiita https://qiita.com/catatsuy/items/f1338f6f3206b829120d
- 私とHTTPS化とnginx-luaとPerl - Qiita https://qiita.com/catatsuy/items/33d2615ea03c484dbdad
- Kyoto Tycoon廃止完了後にすべてのサーバーの移転計画を立てて実施
- pixivでは障壁があったHTTP/2を有効にする
- pixivのHTTP/2有効化の軌跡 - pixiv inside https://inside.pixiv.blog/catatsuy/4091
- Software Design 2023年10月号|技術評論社 https://gihyo.jp/magazine/SD/archive/2023/202310
- 執筆章:第2特集 速習HTTP/3 次世代プロトコルに対応するための知識を身につけよう 第3章:実践HTTP/3 HTTP/3の現状と対応方法を知ろう
- 達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践:書籍案内|技術評論社 https://gihyo.jp/book/2022/978-4-297-12846-3
- 共著 (2022)
- 執筆章:6章 リバースプロキシの利用・7章 キャッシュの活用・8章 押さえておきたい高速化手法
- 「達人が教えるWebパフォーマンスチューニング」という本を執筆しました #ISUCON本 #isucon|catatsuy|note https://note.com/catatsuy/n/nae62e6b7f710
- pixivエンジニアが教えるプログラミング入門 | 星海社 https://www.seikaisha.co.jp/information/2015/03/09-pixiv.html
- 単著 (2015)
- 自分が発案した社内のプログラミング研修の内容の書籍化
以下はレビューを行ったもの
- nginx実践入門 (WEB+DB PRESS plus) 技術評論社 久保達彦 道井俊介
- WEB+DB PRESS Vol.100 特集2 対応必須! 完全HTTPS化 移行手順からつまずくポイントまで
- コラムでpixivの事例紹介あり
- Software Design 2017年10月号 第1特集 個人でも会社でも使える! これだけは知っておきたいGitのキホン 第6章:Git活用の実例[1] クラウド=GitHubとオンプレ=GitLabを使い分けるピクシブ
ISUCON公式Blog https://isucon.net/
- ISUCON13 アドバイザー
- ISUCON12 予選敗退
- ISUCON11 予選敗退
- ISUCON10 予選敗退・並行チームとして本選参加
- ISUCON9 運営・予選出題
- ISUCON8 3位
- ISUCON7 予選敗退
- ISUCON6 運営・本選出題
- ISUCON5 本選出場
- ISUCON4 準優勝
ISUCON運営準備として社内ISUCONを作成。社内ISUCONとして採用実績多数。書籍の題材としても採用されている。
https://github.com/catatsuy/private-isu
- 問題の発案、Rubyの初期実装作成
- Goによるベンチマーカー作成
- Goの参照実装作成
など多数のことを行った。
- ISUCON6出題チームが社内ISUCONを開催!AMIも公開!! - pixiv inside [archive] https://devpixiv.hatenablog.com/entry/2016/05/18/115206
- 社内ISUCONを公開したら広く使われた話 - pixiv inside [archive] https://devpixiv.hatenablog.com/entry/2016/09/26/130112
- このエントリー公開後にも増えている
過去ISUCON公式で練習問題として推奨されたことがある。
- ISUCON初心者のためのISUCON7予選対策 : ISUCON公式Blog https://isucon.net/archives/50697356.html
その後、2021年にもう一度社内ISUCONとして復活させた。
- 社内ISUCON “TIMES-ISUCON” を開催しました! | PR TIMES 開発者ブログ https://developers.prtimes.jp/2021/06/04/times-isucon-1/
- TIMES-ISUCON開催のために5年前のリポジトリに入れた変更を紹介! | PR TIMES 開発者ブログ https://developers.prtimes.jp/2021/06/07/times-isucon-1-appendix/
2022年に書籍の題材としても利用。
- 達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践:書籍案内|技術評論社 https://gihyo.jp/book/2022/978-4-297-12846-3
- tatsujin-web-performance/tatsujin-web-performance: 達人が教えるWebパフォーマンスチューニング〜ISUCONから学ぶ高速化の実践 https://github.com/tatsujin-web-performance/tatsujin-web-performance
- 「達人が教えるWebパフォーマンスチューニング」という本を執筆しました #ISUCON本 #isucon|catatsuy|note https://note.com/catatsuy/n/nae62e6b7f710
運営として予選の問題を出題
https://github.com/isucon/isucon9-qualify
ISUCON9 予選問題の解説と講評 : ISUCON公式Blog https://isucon.net/archives/53789931.html
- 参照実装の実装・ベンチマーカーの実装など多数
- ISUCON9予選の出題と外部サービス・ベンチマーカーについて - catatsuy - Medium https://catatsuy.medium.com/isucon9-qualify-969c3abdf011
- ISUCONのベンチマーカーとGo https://gist.github.com/catatsuy/74cd66e9ff69d7da0ff3311e9dcd81fa
- isucandarとISUCON9予選ベンチマーカーについて https://zenn.dev/catatsuy/articles/500a437427fedf281c23
- インタビュー記事
- メルカリもイベント協賛するISUCONの魅力は?毎年参加しているメンバーに聞いてみた #isucon | mercan (メルカン) https://mercan.mercari.com/articles/24262/
運営として本選の問題を出題
https://github.com/isucon/isucon6-final
- ansibleやGoの参照実装作成など多数
- ISUCON6が終わったので出題した感想ポエム #isucon - catatsuyとは https://catatsuy.hateblo.jp/entry/2016/10/23/223202
- ISUCON6本選のベンチマークでconsulを使用してクラスタを構築した話 / isucon6-night // Speaker Deck https://speakerdeck.com/catatsuy/isucon6-night
日常的に行っている。いくつかリンクを紹介する。
- Fixed server name in HTTP/1.x with "server_tokens off;". · freenginx/nginx@4686993 https://github.com/freenginx/nginx/commit/4686993116523d684fc1ca4a914a66c0a4858ed4
- Update PCRE2 source URLs to use the new repository by catatsuy · Pull Request #126 · openresty/openresty-packaging openresty/openresty-packaging#126
- update config.sub and config.guess for M1 Mac by catatsuy · Pull Request #800 · libressl-portable/portable libressl/portable#800
- middleware: fix broken comment on go doc by catatsuy · Pull Request #735 · go-chi/chi go-chi/chi#735
- Remove xerrors dependency by catatsuy · Pull Request #292 · google/go-cmp google/go-cmp#292
- net/http: fix the old url about deflate (Iaa146829) · Gerrit Code Review https://go-review.googlesource.com/c/go/+/155217
- support to add relative path dynamic-module in configure by catatsuy · Pull Request #343 · openresty/openresty openresty/openresty#343
- fix data race by catatsuy · Pull Request #164 · sideshow/apns2 sideshow/apns2#164
- Can not execute code written in README by catatsuy · Pull Request #187 · pelletier/go-toml pelletier/go-toml#187
- support token based provider for APNs by catatsuy · Pull Request #138 · mercari/gaurun mercari/gaurun#138
- remove golang.org/x/net/http2 by catatsuy · Pull Request #130 · mercari/gaurun mercari/gaurun#130
- Support for LibreSSL by catatsuy · Pull Request #23 · cubicdaiya/nginx-build cubicdaiya/nginx-build#23
- replace wget with the implementation of go by catatsuy · Pull Request #25 · cubicdaiya/nginx-build cubicdaiya/nginx-build#25
- save it as a temporary file during downloading by catatsuy · Pull Request #40 · cubicdaiya/nginx-build cubicdaiya/nginx-build#40
- remove cgo by catatsuy · Pull Request #5 · cubicdaiya/cachectl cubicdaiya/cachectl#5
- add unixtimestamp_key_names by catatsuy · Pull Request #47 · tagomoris/fluent-plugin-mysql tagomoris/fluent-plugin-mysql#47
- catatsuy/purl: Streamlining Text Processing https://github.com/catatsuy/purl
- sedやgrepの代替として使えるpurlを作りました https://zenn.dev/catatsuy/articles/71a51c47a3b7fa
- catatsuy/bento: Bundled ENhancements for Tasks and Operations https://github.com/catatsuy/bento
- ChatGPTのAPIを利用してGitのブランチ名・コミットメッセージを自動生成するbentoを作りました https://zenn.dev/catatsuy/articles/1b64fc13d2e0b9
- catatsuy/notify_slack: post to Slack on the command line https://github.com/catatsuy/notify_slack
- notify_slackの使い方 https://zenn.dev/catatsuy/articles/81cd35d09402bc2edf5d
- ISUCONの情報共有にはこれ!notify_slack!/isucon_notify_slack - Speaker Deck https://speakerdeck.com/catatsuy/isucon-notify-slack
- 標準入力を適当にまとめてSlackに通知するnotify_slackを作りました – Tatsuya Kaneko – Medium https://catatsuy.medium.com/標準入力を適当にまとめてslackに通知するnotify-slackを作りました-e2e725a91c64
- catatsuy/lls: you can get a list of files in a directory that contains a large number of files https://github.com/catatsuy/lls
- ファイルが多すぎてlsが打てなくなったディレクトリでファイル名のリストを出すllsを作りました https://zenn.dev/catatsuy/articles/e5f3bc7944f9fe
- 旧ストレージ廃止大作戦−2900万超のファイルリストを取得する | PR TIMES 開発者ブログ https://developers.prtimes.jp/2021/09/15/decommissioning_old_storage_list_a_dir_29million/
- lls v0.0.2をリリースしました https://zenn.dev/catatsuy/articles/7e3292778396b4
社内外の勉強会、カンファレンスで発表を行っている。
- 開発生産性可視化の意義とPR TIMESの事例 発表資料 | PR TIMES 開発者ブログ https://developers.prtimes.jp/2024/01/26/developer-productivity-engineering-materials/
- 次世代Webカンファレンス 2023のPerformanceセッションで登壇しました https://zenn.dev/catatsuy/articles/8fcf2e41d9f4d2
- CDNを活用して高速なWebサービスを提供する https://zenn.dev/catatsuy/articles/ea86bdba548ab9
- llsとcachectlから学ぶ、Goでシステムプログラミングをする方法 https://zenn.dev/catatsuy/articles/e15714f8e253d8
- レガシーと戦う開発組織の作り方 https://gist.github.com/catatsuy/dc6762092ad662427982dbcce3f239a3
- データで振り返るエンジニア組織の生産性向上 〜NewsPicks & PR TIMESの事例、DevOpsの取り組みからデプロイ頻度の計測まで〜 | Findy Teams Lab https://engineering-org.findy-teams.com/posts/newspicks-prtimes/
- mercari.go #11を開催しました | メルカリエンジニアリング https://engineering.mercari.com/blog/entry/2019-10-11-160000/
- 発表資料 ISUCONのベンチマーカーとGo https://gist.github.com/catatsuy/74cd66e9ff69d7da0ff3311e9dcd81fa
- mercari.go #4を開催しました | メルカリエンジニアリング https://engineering.mercari.com/blog/entry/2018-11-16-120000/
- 発表資料 GoでISUCONを戦う話 https://gist.github.com/catatsuy/e627aaf118fbe001f2e7c665fda48146
- GitLab Meetup Tokyo #1 - connpass https://gitlab-jp.connpass.com/event/49755/
- ちゃんと復旧できる、GitLabのバックアップ運用方法 ─ GitLab meetup #01レポート - pixiv inside https://inside.pixiv.blog/catatsuy/805
- GitLabの実践的な運用 #gitlabjp - Qiita https://qiita.com/catatsuy/items/b7fda84ca9cb3dbcdc79
- GitLabの運用方法をドーンと公開!! - pixiv inside [archive] https://devpixiv.hatenablog.com/entry/2016/12/17/100000
- ChatGPT APIを活用したGitHub Pull Request自動レビューの実践 | PR TIMES 開発者ブログ https://developers.prtimes.jp/2024/10/16/automating-github-pr-reviews-with-chatgpt-api/
- Webサービス上の画像変換とWebPの利用について | メルカリエンジニアリング https://engineering.mercari.com/blog/entry/20201211-image-optim-webp/
- gaurunとGoのHTTP/2事情について | メルカリエンジニアリング https://engineering.mercari.com/blog/entry/2019-12-13-110000/
- Goでproxy serverを作るときにハマるポイント | メルカリエンジニアリング https://engineering.mercari.com/blog/entry/2018-12-05-105737/
- Google Cloud Functionsを使ってSlackで簡単にCDN上のキャッシュを消せるようにする話 | メルカリエンジニアリング https://engineering.mercari.com/blog/entry/2019-09-20-110000/
- 政府によるインターネットの検閲とSNIについて - catatsuy - Medium https://catatsuy.medium.com/政府によるインターネットの検閲とsniについて-5339da2fad7c
- これからドンドン使われていくSNIについて – catatsuy – Medium https://catatsuy.medium.com/これからドンドン使われていくsniについて-511e42254611
- ほんの数行でも、自分のコードが世界を変えられる! Webサービスに魅せられた20代で技術的に諦めなかったこと - Findy Engineer Lab - ファインディエンジニアラボ https://engineer-lab.findy-code.io/prtimes-catatsuy
- インタビュー記事
- いちエンジニアからPR TIMES CTOへ。金子さんのキャリアアップ転職“1カ月目”に見る、「メンバーの不安を取り除く視点」の重要性 - エンジニアtype | 転職type https://type.jp/et/feature/19168/
- インタビュー記事
- 凄腕エンジニアも負ける学生の強さ。『ISUCON11』では勝ち筋をどう見いだす? - エンジニアtype | 転職type https://type.jp/et/feature/17208/
- インタビュー記事
- 完全HTTPS化のメリットと極意を大規模Webサービス――ピクシブ、クックパッド、ヤフーの事例から探る:大規模HTTPS導入Night - @IT https://atmarkit.itmedia.co.jp/ait/articles/1707/13/news010.html
- HTTPS化についてヤフー・クックパッド・ピクシブが語る! - 大規模HTTPS導入Night - connpass https://pixiv.connpass.com/event/57970/
- Go
- ISUCONのベンチマーカー
- ISUCON参照実装作成
- 広告配信サーバー開発
- 他多数
- PHP
- pixivの開発で主に利用
- PHP7.1化も担当
- pixivFANBOXのリリース、内部実装の見直しなど、アプリケーションの実装を多数担当
- Ruby
- Ruby on Railsのアプリケーションサーバーの運用を担当
- 社内ISUCONの初期実装に利用
- 社内プログラミング研修に利用(その後書籍化)
- Ruby on Rails製のGitLabへのContribute経験あり
- GitLabのスロークエリを駆逐するマージリクエストを送りました - catatsuyとは https://catatsuy.hateblo.jp/entry/2015/06/16/234243
- fluentdのpluginへのContribute経験あり
- fluent-plugin-mysqlへの変更が全部取り込まれました – Tatsuya Kaneko – Medium https://catatsuy.medium.com/fluent-plugin-mysqlへの変更が全部取り込まれました-cfde4526d28b
- JavaScript
- ログイン基盤作成に使用
- ポップアップウィンドウを使用してログイン基盤を作るときにハマるJavaScriptのポイント - Qiita https://qiita.com/catatsuy/items/babce8726ea78f5d25b1
- 配信広告の挙動調査などで利用
- ログイン基盤作成に使用