2023 4-6月の会社テックサイトへの投稿記事

2023年4-6月のテックサイトへの投稿記事です。

4月

developer.mamezou-tech.com

Kafka の小ネタ。kcat という C で書かれた軽量なメッセージ送受信 CLI を紹介しています。Kafka 標準の kafka-console-producer / kafka-console-consumer より高機能でした。

developer.mamezou-tech.com

VS Code から GitHub Actions ワークフローの管理ができる VS Code 拡張を紹介しました。便利と言えば便利ですが、やはり Web UI の方を使ってしまいます。

developer.mamezou-tech.com

これも Kafka の小ネタ。普段は Java で Kafka 関連のコードを書いていますが、JavaScript の Kafka Client ライブラリ KafkaJS を使ってみた記事です。記事にも書きましたが、サクッと書けて起動も速いのでちょっとしたものであれば KafkaJS で作ってもいいかなと思っています。

developer.mamezou-tech.com

JMeter に変わり定番になりつつある負荷試験ツール Gatling の紹介記事です。以前の仕事で使っていました。

5月

developer.mamezou-tech.com

Deno KV で API のバックエンドのデータベース処理を書いてみた記事です。

developer.mamezou-tech.com

GitHub Actions のセルフホストランナーを、Kubernetes の Pod としてオンデマンドで起動して使うことができる Actions Runner Controller (ARC) がパブリックベータになったので使ってみた記事です。セルフホストランナーをオンデマンドでクリーンな状態で起動できる仕組みで、Kubernetes クラスターさえ用意できれば使えるので非常に便利だと思います。記事執筆時点ではパブリックベータでしたが GA になりました。

developer.mamezou-tech.com

Deno KV を Deno Deploy で使うためクローズドベータに参加して使ってみた記事です。

developer.mamezou-tech.com

次世代の Electron アプリ開発環境 electron-vite を取り上げました。個人開発プロジェクトなので継続性という点では不安がありますが、とてもよくできています。

6月

developer.mamezou-tech.com

GitHub オーガニゼーション内の Stale なリポジトリをレポートしてくれる Stale Repos Action を紹介しました。

developer.mamezou-tech.com

GitHub から提供される少しお高いですがハイスペックなランナー larger runners を使ってみた記事です。セルフホストランナーを使う理由が単にスペックの問題であれば、larger runners でランニングコストを下げられる可能性もあるのではないかと思います。

developer.mamezou-tech.com

Three.js のシーンを Vue コンポーネントとして宣言的に構築できる TresJS を紹介しました。

developer.mamezou-tech.com

Docker Desktop から OrbStack にスイッチしました。かなり快適です。有償化されるとおいくらになるのでしょうか。

developer.mamezou-tech.com

記事を書くときに Markdown のヘッダーに挿入する front matter を VS Code スニペット化して記事にしました。

developer.mamezou-tech.com

Deno の Web フレームワーク Fresh 1.2 の記事です。

developer.mamezou-tech.com

GitHub Actions ワークフロー実行時に発行されるアクセストークンに必要最小限の権限だけを与えてセキュリティを高めるための支援ツール Actions Permissions の紹介記事です。

最後に

4-6月は15本で月5本ペースでした。6月にタイムリーな小ネタがわりとあってリカバリできました。

2023 1-3月の会社テックサイトへの投稿記事

4Qのテックサイトへの投稿記事です。

1月

developer.mamezou-tech.com

Kafka WebUI の OSS kafka-ui を試した記事です。コミュニティーベースの OSS です。

developer.mamezou-tech.com

GitHub Actions の新機能 Required workflows について挙動を試しました。

developer.mamezou-tech.com

GitHub Actions にリポジトリやオーガニゼーション単位の構成変数が実装されたので整理しました。この機能が実装されるまで相当待った気がします。

developer.mamezou-tech.com

リアルタイムなデータストリーミング基盤 Kafka Streams のパイプラインを Spring Boot で作成する方法を調べました。

developer.mamezou-tech.com

Docker で WASM をコンテナとして実行できるようになったということで触ってみてアーキテクチャなどを紹介してみました。

developer.mamezou-tech.com

Astro 2.0 がリリースされたのを機に、MDX を初めて触ってみました。

2月

developer.mamezou-tech.com

Vue3 のお勉強として、Vue2 で作っていた可視化システムを移行してみた記事です。

developer.mamezou-tech.com

大規模プロジェクトでは main ブランチを壊さないよう PR をマージしていくのはかなりの労力が必要です。PR マージキューは GitHub のロードマップにかなり前からありましたが、パブリックベータになったので使ってみました。

developer.mamezou-tech.com

Kafka Streams パイプラインを SQL で実装できる ksqlDB を使ってみました。

developer.mamezou-tech.com

GitHub の新しい Code search がパブリックベータになったので試しました。この頃 Copilot も使い始めました。

3月

developer.mamezou-tech.com

2月に Vue3 に移植した可視化アプリを Nuxt に移植して Netlify にデプロイしてみました。

developer.mamezou-tech.com

Deno の連載のフォローアップ的な記事です。

developer.mamezou-tech.com

GitHub Actions の Composite Action をリポジトリ内で使うと便利だったという話を書きました。

developer.mamezou-tech.com

Astro 2.1 で Markdoc が実験的サポートされたので、Markdoc ってどんなものかを調べてサンプルサイトに使ってみました。

developer.mamezou-tech.com

GitHub Projects でガントチャート的なビューが提供されたので早速記事にしました。

最後に

なんとかコンスタントに書けた気がします。はてブがわりとついたのもいくつかありました。やはりはてブはアクセス数の伸びに直結するので数は意識するようになりました。

3月は ChatGPT が話題沸騰でしたが、特に GPT 関係の記事を書くことなく終わりました。

2022 ふりかえり

Job

昨年から入った顧客現場でのアーキテクチャ検討・アプリ基盤実装の業務を継続しています。

自社ではグループリーダー業務とテックサイト運営業務も継続しています。テックサイト運営業務は GitHub を使った記事執筆・レビューがメインで、公式 Twitter 運営、月次レポート作成などもやっています。GitHub や Netlify の機能を色々使って業務効率を上げています。リモートワークにおける社内コミュニケーションの場としても機能していて楽しくやっています。

Personal Development

個人開発については、会社テックサイトのアドベントカレンダーで書きました。

developer.mamezou-tech.com

記事にも書きましたが、今年は保守系の作業がほとんどだったので、またなにか新しいプロジェクト始められたらと思ってます。

Writing

会社テックサイトへの投稿

会社テックサイトに投稿した記事については四半期ごとにまとめてきました。今年は62本書いたようです。

3月に書いた Tauri の記事は僕にしてはかなりバズって、立ち上げ初期から半年ほど Google 検索からの流入を牽引しました。記事数だけでなく貢献できてよかったです。

developer.mamezou-tech.com

Software Design への寄稿

Software Design 7月号で久々に記事を執筆させていただきました。2015年7月号以来の7年ぶり。第2特集の「ソフトウェア開発のシン常識 - ツール、設計、開発スタイルからの多面チェック」です。

gihyo.jp

5月の連休を費やして3章構成の記事を書きました。これだけの分量は初だったのでけっこう大変でした。記事のアンケート結果や Twitter をエゴサした感じだと概ね好評のようでホッとしました。

Gadgets

M1 MacBook Pro 14 2021

Intel MacBook Pro の性能が限界だったので、プロジェクトの開発作業用に調達してもらいました。最初はApple シリコン向けのツールチェインが整っていないことが多くて Intel MacBook Pro を併用してましたが、最近はこの M1 MacBook Pro だけで作業ができています。

scrapbox.io

macOS の Sidecar を試しました。

kondoumh.hatenablog.com

Sidecar はすぐに使わなくなって、ユニバーサルコントロールで iPad を操作するようになりました。このセットアップは今も現役です。

kondoumh.hatenablog.com

あと、奥さん用に MacBook Air 2020(M1) を購入しました。最新版ではないですが、奥さんの MacBook Pro もすごく古いやつだったのでサクサクになりました。

来年 Mac mini の M2 版が出たら個人用にも買っていいかもと思いました。

ARZOPA A1 Gamut MINI

モバイルディスプレイを導入してみました。

scrapbox.io

持ち歩かず MacBook を3画面で使っています(真ん中下は iPad)。机が広ければフルサイズのディスプレイを縦置きして使いたいところです。

Pixel 7

発売と同時に購入。

scrapbox.io

Google Nest WiFi

Pixel 7についてきた Google ストアクレジットで購入。8年も使ってた AirMac Express をリプレースしました。スマホアプリでセットアップも簡単でした。

scrapbox.io

Software and Services

GitHub Codespaces

今年は Codespaces が GA になったのが大きいですね。

kondoumh.hatenablog.com

会社テックサイトにも記事書いてます。

github.co.jp

Gyazo

Scrapbox の Helpfeel が提供する画像共有サービス。

会社テックサイトの記事に貼るスクリーンショット置き場として重宝してます。矢印や枠を描き込んだり、モザイクかけられたりするのも便利です。デスクトップアプリも使いやすい。Pro に課金しました。

gyazo.com

Deno Deploy

Deno の開発元が運営するエッジコンピューティングサービスです。記事書いてます。

deno.com

Astro

MPA アーキテクチャを実現する SSG の Astro。これも記事書いてます。

会社テックサイトで採用している Eleventy も Astro と同様の機能を実装しています。

astro.build

Tauri

Tauri は記事にするためちょっとしたアプリを書いたぐらいでまだ本格的に使ってません。

最近モバイル対応機能もアルファリリースされました。Electron 代替として徐々に慣れていきたいと思います。

tauri.app

Mermaid

GitHub で対応されたこともあり、Markdown に Mermaid のコードブロックを書いて図を描くのが今年の初めにブームになりました。会社テックサイトでも Eleventy プラグインで導入されています。会社 Scarpbox でも Mermaid 用ユーザースクリプトをハッカソンで作った同僚がいて便利に使ってます。

mermaid.js.org

textlint

会社テックサイトで文章校正用に導入しました。指摘事項に対応していくと読みやすさの向上が実感できます。技術文書用のルールセットを適用しましたが、ブログ記事だと砕けた言い回しが却下されまくるのでそこはスルー。

github.com

Wordle

春先に流行り始め、毎日 bot のようにプレイ結果をツイートしてました。数ヶ月でやめてしまいましたが。

www.nytimes.com

マイナンバーカード

年初めにとうとうマイナカード作りました。確定申告や年末調整がオンラインでワンストップでできるようになりました。

www.kojinbango-card.go.jp

ドラクエウォーク

引き続きプレイ中。特級職やカジノが実装され、やることが多くなってしまいました。Pixel 7にスイッチしましたが、4年使った Pixel 3 XL はドラクエウォーク専用端末として稼働中です。

www.dragonquest.jp

ワークアウト記録用の Pixela。歩く量がキープできてるのはメリットです。

Twitter

来年どうなってるのか心配です。なんだかんだ依存しているので。

twitter.com

最後に

秋頃から週1出社して会社をコワーキングスペースのように使うというのをやってました。気分転換できるし家にいるより集中できるしわりといいです*1。来年も気分転換を図りながらマイペースでやっていきたいと思います。

*1:リモートワーク始めた頃は会社にいるより集中できていいと思ってたのですが。

2022 10-12月の会社テックサイトへの投稿記事

3Qのテックサイトへの投稿記事です。

10月

developer.mamezou-tech.com

WASI 対応 WebAssembly ランタイムである Wasmtime が v1.0 到達したので、Rust で簡単な WASM を書いて開発の流れをまとめてみた記事です。

developer.mamezou-tech.com

Spring for Apache Kafka を使用した開発で、Kafka の環境を構築しなくても Integration Test ができる EmbeddedKafka の使用方法を解説した記事です。

developer.mamezou-tech.com

GitHub の Code scanning alerts の結果を VS Code 上で確認できる SARIF Viewer 拡張について書いた記事です。

developer.mamezou-tech.com

Deno 連載3回目は SSR について書きました。

developer.mamezou-tech.com

GitHub Projects がリニューアルされてオートメーションも刷新されたので記事を書きました。リニューアルの記事自体は、7月に書いています。

GitHub Projects がリニューアル - スプレッドシートのビューが利用可能に | 豆蔵デベロッパーサイト

developer.mamezou-tech.com

ポータブルな CI/CD ツール Dagger でパイプラインを Go で書けるようになったので試して書いた記事です。

Dagger は4月の記事で紹介していました。

話題の CI/CD ツール Dagger を体験してみる | 豆蔵デベロッパーサイト

11月

developer.mamezou-tech.com

Deno 連載4回目は環境変数やプロセス周りなど OS 機能の処理、そして、FFI(Foreign Function Interface) の利用方法について書いています。

developer.mamezou-tech.com

Codespaces がベータから GA になり、言語やフレームワーク別のテンプレートを選んで使えるようになったので書いた記事です。

developer.mamezou-tech.com

Deno 連載5回目、WebAssembly の利用について書いています。Wasmtime や Wasmer のように WASI 対応ではなくブラウザ用の WASM がそのまま使えるのが逆にすごいと思いました。

developer.mamezou-tech.com

Deno 連載6回目、Deno Deploy の使い方と静的ファイルの配信方法を説明した記事です。Deno Deploy が正式公開されたら何かサイトを公開したいと思いました。

この記事で Deno 連載が Deno Land の kt3k さんに捕捉されておりちょっと嬉しかったです。

developer.mamezou-tech.com

Deno 連載最終回、大体書きたいことも書けた気がしたので、最後は Deno のサブコマンドをざっと紹介して終わりました。

12月

developer.mamezou-tech.com

アドカレ記事第1弾、個人開発について振り返りました。

developer.mamezou-tech.com

アドカレ記事第2弾、CodeQL を VS Code で使う記事です。CodeQL については6月に記事にしていました。

GitHub の脆弱性検出機能 Code scanning alerts と CodeQL について | 豆蔵デベロッパーサイト

developer.mamezou-tech.com

Slack の GitHub に機能が追加されて GitHub Actions ワークフローの実行イベントを Slack に通知できるようになったので設定方法と使用感を記事にしました。これは便利なので使わないという選択肢はないと思いました。

developer.mamezou-tech.com

アドカレ記事第3弾、Wasmer 3.0 の目玉機能である、WASM からのバイナリ生成機能を試した記事です。

developer.mamezou-tech.com

アドカレ記事第4弾、private リポジトリの Action と再利用可能ワークフローが他のプライベートリポジトリのワークフローから呼び出せるようになりました。この機能2年前に欲しかった。

最後に

この四半期も月5本ペースで記事が書けました。Deno で連載記事にチャレンジしましたが、やはり単発記事とは違う労力が必要で、連載をいっぱい書いている同僚へのリスペクトが高まりました。4Qも引き続き精進します。

野良 Scrapbox アプリ - スタートページの導入

久々にリリースしました。

github.com

今回は、スタートページを導入しました。閲覧した Scrapbox プロジェクト、開いたページのタイムライン、直近の編集履歴、お気に入りページが表示・更新されます。プロジェクト横断的なリンク集って感じになってます。

https://i.gyazo.com/382c181109dda1f15970d7a7c95a22b0.png

  • Projects: 訪問した Scrapbox プロジェクトのリスト
  • Favs: お気に入りページのリスト
  • Timeline: 閲覧・編集したページをタイムライン表示(自分が作成したページ、編集したページは色を変えてます)
  • Recently edited: 最近編集したページのリスト

いずれもページのリンクなので、よく使うページを開いたり編集の続きをやったりするのにいいかなと。

2022 7-9月の会社テックサイトへの投稿記事

2Q のテックサイトへの投稿記事です。

7月

developer.mamezou-tech.com

Deno の Web フレームワーク Fresh が登場したので、書きました。この頃から Deno への興味が湧いてきてました。

developer.mamezou-tech.com

3月に書いた Taruri 記事へのアクセスが多く Tarui も v1.0 に到達したので、第2弾を書きました。この記事では Rust は書いてません。

developer.mamezou-tech.com

GitHub Project の Automated Kanban の使い方について書きました。

developer.mamezou-tech.com

野良 Scrapbox アプリのアーキテクチャーを刷新した話を書きました。1月に試してましたが、ようやく移行できました。

developer.mamezou-tech.com

Tauri 記事で取り上げた BPMN モデラーの開発元の Camunda のワークフローシステム Zeebe がよくできてたので、開発環境構築記事を書きました。

developer.mamezou-tech.com

Fresh で興味を持った Deno の CDN Deno Deploy を基盤とする Netlify の新機能 Edge Functions について書きました。

developer.mamezou-tech.com

GitHub Projects がリニューアルされてスプレッドシートのビューが導入され、リポジトリ横断でタスク管理ができるようになったので書きました。

developer.mamezou-tech.com

GitHub Teams(有償版) で利用可能になった Codespaces のコンテナイメージプレビルドについて書きました。パッケージレジストリがバックエンドで使われていて、GitHub Actions で実行されます。GitHub Actions ワークフローやイメージの管理については GitHub のマネージドになっているので楽です。

8月

developer.mamezou-tech.com

式年遷宮した野良 Scrapbox アプリを Electron v20 にアップデートする時に Renderer プロセスの Sandbox がデフォルトで有効になったので対応した記事です。

developer.mamezou-tech.com

M1 Mac で GitHub Actions のセルフホストランナーを動かしてみた記事です。GitHub Actions ランナーとセルフホストで M1 Mac と Intel Mac を Marix で実行するのも試しました。

developer.mamezou-tech.com

ソフトウェアのビルド、リリース、デプロイ というサプライチェーンへの攻撃の対策として、成果物の出所を検証可能な署名を付与するワークフローを利用してみた記事です。あまり書かない分野の記事でしたし、調査にもけっこう時間がかかりました。

developer.mamezou-tech.com

3月に書いた GitHub Actions の再利用可能ワークフロー記事の続編です。ネスト呼び出しや、Matrix strategy がサポートされ、かなり複雑な使い方ができるようになりました。大規模なプロジェクトでは役立つと思います。

9月

developer.mamezou-tech.com

GitHub issue と Jira のチケットを自動リンクしたりできる機能の仕様が変わったということで書きました。そもそも外部のサービスの自動リンク機能自体知らなかったし、未だに使ったことはないですが。

developer.mamezou-tech.com

Astro というイケてる SSG が v1.0 になったので使ってみた記事です。アイランドアーキテクチャで動的 UI をハイドレートするっていうの最近 SSG 界隈で流行っているようです。

developer.mamezou-tech.com

GitHub Pages はリポジトリのおまけ機能みたいな感じで、SSG でビルドしたアセットをリポジトリ管理しないといけないところがちょっといけてないのですが、GitHub Actions で GitHub が管理する基盤でアセットを配備してくれるようになります。現在ベータですが、正式公開が待ち遠しい人も多いのではないでしょうか。

developer.mamezou-tech.com

Deno をちゃんと勉強しようってことで養成ギブス的に連載を始めました。

developer.mamezou-tech.com

Deno 連載第2弾です。

developer.mamezou-tech.com

これは Deno 連載ではなく単発ブログです。Slack が Deno による新プラットフォームをベータ公開したのを知り、触ってみた記事です。

最後に

7月はここで紹介した記事とまとめ記事を合わせて9本も書いてましたが、8月はペースダウンしました。9月は6本で後1本で通算50記事に到達ということであがいてたのですが、無理でした (何と戦っているんだという話もありますが)。GitHub Actions と Deno 関係が多かったですね。

iPad でコードを書く Mid 2022 - Codespaces 編

3年ぐらい在宅ワークで iPad でコードを書くなんてことはなかったのですが、週1ぐらいで出社したりするようになって、重いラップトップ持っていくのが嫌なので、iPad でちょっとしたコード書きをしたいシーンが出てきました*1

Cloud IDE 界隈で最近一番のイノベーションは GitHub Codespaces です。会社のテックサイトに記事書きました。

developer.mamezou-tech.com

developer.mamezou-tech.com

個人のリポジトリについては今のところ課金されません。iPad では Safari で使う方が Chrome より問題が少ない印象です。

イメージの Prebuild については個人のアカウントでは使えませんが、環境を破棄しない限り設定が残っているので1人で使っている分には特に困ることはありません。

VS Code が普通に iPadOS の Safari 内で動いてとても実用的ですが、以下の問題があります。

  1. 他のアプリにスイッチすると、結構な短時間でコネクションが切れて再接続が必要、しかも再接続が失敗しやすい
  2. ブラウザからクリップボードのコピペがセキュリティの関係?で失敗する時がある
  3. 動作しない VS Code 拡張がけっこうある

特に1番目は面倒なので、Codespaces を起動すると他のタスクは iPad ではなくスマホやったりしてます。

でもこれまでの iPadOS のエディタ、Cloud IDE、Terminal での接続などと比較して格段に体験がよく、かなり重宝しています。

*1:今は iPad Pro 2018 を Magic Keyboard で使っています