Zenn をやめることになったので、やったことを振り返ってみる
この記事について
私はこれまで Zenn のフロントエンドエンジニアとして働いてきましたが、2023/09 いっぱいで Zenn もといクラスメソッドをやめることになりましたので、この機会に Zenn でやってきたことを振り返ってみようかなと思います。
コードブロックのコピペ
Zenn に入ってまず初めにやったことといえば、コードブロックのコピペがありました。
ごくありふれた機能ではありますが、私が初めて実装した機能なのでよく覚えています。
実装方法は描画された DOM に対して無理やりコピーボタンを挿入するという力業だったので PR が通るか心配でしたが、無事に通ってリリースできたのでとても嬉しいかったです。また、チームメンバーが Twitter で告知してくれて、ユーザーからの反応が結構よかったのも良い思い出でした。
GitHub の埋め込み機能
次にやったのは GitHub の埋め込み機能です。
この機能は要望が多い機能かつ私も欲しい機能だったので、チームメンバーに相談してやらせてもらえることになりました。
ただ GitHub の埋め込み機能を実装する前に埋め込み機能の構造自体を見直す必要があったので、実際には GitHub だけではなく埋め込み機能全体をリニューアル実装しました。
既存の埋め込み機能を壊さないようにしたり、zenn-editor の方にも対応が必要だったりと思った以上に大変でしたが、多くのユーザーに使ってもらえたので、頑張ったかいがあったな~と思っています。
Zenn VSCode 拡張の開発
お次は Zenn の VSCode 拡張です。
チーム内ではそこまで優先度が高くなかったのですが、ダメ元でチームメンバーに「やりたい!」と言ったところ「いいんじゃない?」と言われたので、やることになりました。( Zenn チーム優しすぎるぜ... )
自分から「やりたい!」と言ったからには全部やる責任があったので、この VSCode 拡張に関わる実装はほぼ全てを私が実装しました。実装には色々と学ぶところが多く、仕事として VSCode 拡張を作ることはなかなか無いので、個人的にとても良い経験をさせてもらったと思います。
またユーザーからの反応も良く、私自身も結構使っているので、個人的には対応して良かったな~と思っています。( 今後 Zenn の負債にならないことを祈るばかりです🙏 )
zenn-editor の開発環境を pnpm workspace で構築
地味な所で言うと、zenn-editor の開発環境を pnpm workspace + Turborepo で構築するなどしました。
zenn-editor の Monorepo 環境を pnpm + Turborepo + lerna-lite で構築した話
uttkさんによる記事
ここの zenn-editor の対応はチームメンバーも「 ん? 」という感じだったので、なんでやらせてもらえたのか、今となっては謎です。
ですが、意外にも周囲からの反応が良かったり、開発しやすくなったことは確かなので、対応する意味はあったのかな~とは思います。まあ、Bun とか出てきて pnpm の今後に一抹の不安は残りますが、もし何かあったら zenn-editor は OSS なのでチームメンバーから連絡が来ることでしょう、きっと。
CSP の導入
そして最後は、Zenn に Content Security Policy を導入しました。
Zenn に Content Security Policy を段階的に導入した話
uttkさんによる記事
CSP は影響範囲がとても広くて対応が難しかったですが、チームメンバーの助けもあって大きな障害も無く無事にリリースできてなりよりでした。
結果的にはこれが最後の仕事になりましたが、まあ~、Zenn のセキュリティ向上に貢献できたし、最後の仕事としては十分なんじゃないですかね。たぶん。
あとがき
ここまで読んで頂いてありがとうございます。
上記で紹介した機能は私が実装した機能ではありますが、それらはチームメンバーの助けがあってこそ実装できた機能です。私一人では何もできませんでしたし、チームメンバーには多くのことを助けてもらいました。本当に感謝しています🙏
今後の予定はまだ決まってないですが、とりあえずキャッチアップできてなかったフロントエンドの技術を一通り触ってみようと思います。
一年半という短い期間ではありましたが、 Zenn という素晴らしいサービスに関われたことはもちろん、優秀で魅力的なチームメンバーに巡り合えたことも私にはもったいないくらい良い経験でした!
Zenn は今後も発展して最高のサービスになっていくと思っているので、陰ながら応援しつつ Zenn に良い記事が書けるように日々精進していきたいと思います!
ここまで長くなりましたが、色々と支えてくれたクラスメソッドの方々、そして Zenn のチームメンバーのみんなさん、本当にお世話になりました!