社会人1年目の振り返りなど
はじめに社会人というのもを初めてだいたい1年が経ったので、どんな感じだったのかを振り返ってみようと思います。仕事のことを詳細に書くわけには行かないので、業務以外のことをメインに書きます。4月入社式がありました。当然ながらリモートです。入社式自体は特に何事もなく終えました。翌日からは約1ヶ月間、研修がありました。こちらも当然リモートです。リモートで研修をすること自体は全く苦痛ではなかったのですが、座学...
View Article自宅KubernetesクラスターでArgoCDと格闘した話
はじめに数ヶ月前から自宅Kubernetesクラスターの運用をはじめました。過去に一度自宅Kubernetesに挑戦してはいたのですが、当時はクラスターを組んで満足してしまい、本格的な運用はしていませんでした。今回は本格的に運用し、順次運用しているアプリケーションのKubernetes上への移行を進めています。Kubernetesで実行するアプリケーションのmanifestはGitHubリポジトリに...
View ArticleMastodonの実行基盤をDocker ComposeからKubernetesに移行した話 #FediverseAdventCalendar
はじめにこの記事は、Fediverse Advent Calendar...
View Article今年買って良かった物2022
はじめに毎年書いている「今年買って良かった物」の2022年分です。今年は社会人2年目となり、日々の業務にもまぁまぁ慣れてきたかなぁといった感じでした。一方の世の中は、昨年以上に色々大変でした。経済関係はいろいろと動きがありましたが、それなりに何かは買っていたので、買ったものを紹介しようと思います。ちなみに去年の分は↓です。sublimer.hatenablog.comDellプロフェッショナルシリー...
View Article普段の技術系の情報収集のやり方
はじめに技術のトレンドや世の中の動向を追うためにいろいろな方法で情報収集をしているので、そのやり方を紹介しようと思います。情報発信について書かれた記事と比較して情報収集について書かれた記事は少ないような気がするので、どうやって情報収集をすればよいか困っている人の助けになると嬉しいです。RSSRSSはWeb上の記事の更新情報を収集・通知できる仕組みです。私は、RSSをFeedlyというサービスを使って...
View ArticleMicroK8sを動かしているサーバーのディスク容量枯渇への対処
はじめに私は自宅サーバーでMicroK8sでKubernetesクラスターを構築して運用しているのですが、先日ディスクの空きが減っているというアラートが出ていました。不要なデータを削除するようにして復旧させたので、その手順などを書いておこうと思います。原因の調査VM内を調べたところ、...
View ArticleWebRTCを使ったアプリケーション開発時に使えるReactコンポーネントライブラリを作った
はじめにGWの成果物として、Reactのコンポーネントライブラリを作って公開しました。github.com私はWebRTCを使ったWebアプリケーションを時々作るのですが、デバイス選択機能を毎回自作しており、コンポーネントとしてまとめておけば、いつでも手軽に使えて嬉しいのでは?と思い、作ってみました。音声の入力・出力、映像の入力のデバイス選択機能と、映像のプレビュー表示機能を実装しました。...
View ArticleMbed TLSを使うようにしたlibdatachannelで、Mbed TLSのデバッグログを出力させる方法
はじめにOBSとaiortcを使ったWHIPサーバーの間で通信をさせていたところ、途中でエラーになってしまう問題が発生しました。その過程で色々と知見が得られたので、ブログ記事として記録しておこうと思います。最終的に動いたコードはこちらです。github.com挑戦していたことと調査の流れOBSからWebRTC-HTTP ingestion protocol...
View Article「Fediverse IT系アカウントまとめ」というリストを作って、Mastodonで技術系の情報収集をしている話...
この記事は、Fediverse (2) Advent Calendar 2023の18日目の記事です。はじめに皆さんこんにちは。...
View ArticleOpenTelemetryを使って初めてその便利さに気づいた話
この記事は「OpenTelemetry Advent Calendar 2023」の20日目の記事です。はじめに先日、ローカル環境でではありますがOpenTelemetryを実際にアプリケーションに組み込んで使ってみました。...
View Article今年買って良かった物2023
はじめに2023年分の今年買って良かった物です。今年は2022年がそのまま続いたような、あまり変化のない一年だったように思います。とはいえ、去年ほどではないもののいろいろ買ったりはしていたので、買ったものを紹介していこうと思います。これまでの買って良かったものは↓です。今年買って良かった物2018 - await wakeUp();今年使って良かったもの2019 - await...
View Article自作のOSSにちょっと凝った名前を付けるようにしている話
はじめに個人開発でいろいろなツールを作ってOSSとして公開するときに、名前をどんな感じで決めているのかを紹介します。何かツールを作りたいとなった時は、コードを書き始める前に脳内でざっくり以下の観点について考えるようにしています。最低限実装する機能実現可能性名前OSSの命名ですが、基本的にはちょっと凝った名前を付けるようにしています。ただ、どうしてもいい名前が思い浮かばない時は味気ない名前で妥協するこ...
View Articleよく聞いている技術系Podcastまとめ2024年度版
はじめに私が普段聴いているPodcastを紹介します。fukabori.fmfukabori.fm学生の頃から聴いているPodcastです。特定の技術に関する回もあればビジネスやマネジメントに関する回もあり、ITエンジニアとして知っておくと良さそうな知識が広く得られるのでお気に入りのPodcastです。個人的に一番好きな回は、第13回の「ペアプロやテストの疑問とか、ソフトウェアエンジニアの育成とか」...
View Articleプログラミングを始めてだいたい10年が経った
この4月で、プログラミングを始めてだいたい10年が経った。最初に書いたコードは高専の部活動で書いたHello Worldだったと思う。言語はCで、サクラエディタで書いてBorlandC++ Compilerでコンパイルするという温かみのある方式だった。当時は、エディタとコンパイラの違いもよく分かっていなかった。...
View ArticleDependabotがpath_dependencies_not_reachableのエラーでPull Request作成に失敗した時の解決方法
はじめにDependabotの設定をしているにもかかわらず、セキュリティアップデートのPull...
View ArticleDrizzle ORMでオプショナルな値を元に検索条件を指定する方法
はじめにDBのレコードを取得する際、基本的には全件を取得するが、オプショナルな引数が指定されている場合はその値を条件として検索したい。というケースがあるかと思います。 ORMとしてDrizzle ORMを使っている場合にそのような処理を書く良い感じの方法が公式のドキュメントからは見つけられなかったので、調べて見つけたやり方をメモしておこうと思います。環境macOS Sonoma...
View ArticleCloudfalreなどのCDNを利用している場合にCDNを迂回してOriginサーバーにリクエストを送る方法
はじめにCDNサービスを利用している場合、通常は名前解決後のIPアドレスがCDNサービスのものとなってしまうため、OriginサーバーへのリクエストはCDNサービスを経由したものとなります。動作確認などのためにOriginサーバーに直接リクエストを送りたい場合は、リクエストを送る際にオプションを設定することで、CDNを迂回してOriginサーバーにリクエストを送ることができます。前提条件Origin...
View ArticleJSONのシリアライズ・デシリアライズ(stringify・parse、Marshal・Unmarshal、dumps・loads、to_string・f...
はじめに毎回どれがどれだっけとなるので備忘録としてメモしておきます。シリアライズとデシリアライズJSONの処理において、オブジェクトをJSON文字列に変換する処理の方が「シリアライズ(Serialize)」です。オブジェクトは一般的にはkeyとvalueのペアが含まれており、構造化・階層化がなされています。これを文字列という、メモリ上で直列に保持される単一の値に変換するため、直列化(シリアライズ)と...
View ArticleCaptured Surface Control APIを使ってWebRTC経由で画面共有の遠隔操作をする
はじめにCaptured Surface Control APIを利用すると、共有中の画面に対するスクロールやズームの操作をJavaScriptで行うことができます。この機能の何が嬉しいのかと言うと、オンラインでプレゼンをしているときに発表者以外の参加者がスライド送りを担当したり、miroを使ったミーティング中に参加者全員が共有中の画面をズームをしたりできるようになります。今回は、Captured...
View ArticleNode.jsで実行中の処理の行番号や関数名を取得する方法 令和最新版(Node.js v22.9.0以降のgetCallSite)
はじめにこれまでNode.jsで行番号や関数名を取得する際は、わざと例外を発生させてスタックトレースから値を拾ってくる方法がよく使われていました。 Node.js v22.9.0からは getCallSite()というAPIが使えるようになったので、今後はこっちを使う方が良さそうです。環境Node.js v22.9.0macOS Sonoma...
View ArticlePlaywrightでWebSocketの通信をモックする
はじめにPlaywrightでは、v1.48.0からWebSocket routingという機能を使ってWebSocket通信をモックしたり通信内容の一部を改変できるようになりました。動作を試すために実際にサンプルを作ってみたので、サンプルを元にWebSocket routingの機能を紹介します。環境Playwright v1.48.0Node.js v20.10.0macOS Sonoma...
View ArticleMastodonのOpenTelemetry対応を試してみた
はじめに10月8日にリリースされたMastodon v4.3.0から、OpenTelemetryでアプリケーションのトレース情報を記録できるようになりました。早速使ってみたので、トレース情報を可視化するまでの流れを紹介します。環境Mastodon v4.3.0 一部機能追加や変更を行なったバージョンを利用していますComparing...
View ArticleTypeScriptのコードをそのままデプロイできてOpenAIのAPIもSQLiteもCronもメール送受信も使える高機能なPaaSの「Val Town」
はじめに先日MastodonのTLを眺めていたところ、Val TownというPaaSを紹介している投稿*1を見かけました。調べてみたところ、TypeScriptのコードをそのままデプロイでき、HTTPリクエストに加えてCronやメールによるトリガー実行、OpenAIのAPIやSQLite、Blob Storageの利用もできるすごそうなPaaSだったので、さっそく使ってみました。ちなみに、Val...
View ArticleCobra & Viperで設定値がうまく読み込まれなかった原因と対処
はじめにGoでCLIツールを作ろうと思い、Cobraというライブラリを採用することにしました。Cobraの作者の方はViperという設定値をいい感じに管理するためのライブラリも作っており、これらを組み合わせて使う方法が公式ドキュメントで紹介されています。今回CobraとViperを使ってCLIツールを作っている中で、想定通りに設定値が読み込まれない状態になったので、その原因と対処方法を記録として残し...
View ArticleMastodonのOpenTelemetry対応をちょっとだけ改善してみた
この記事は、Fediverse (2) Advent Calendar 2024の23日目の記事です。はじめに皆さんこんにちは。...
View ArticlePostmanのCapture HTTP traffic機能を使うとCLIツールのデバッグが楽になる
この記事は、Postman Advent Calendar 2024 23日目の記事です。はじめに先日、GoでCLIツールを作ってみました。詳細は以下の記事で書いているので、もしよかったら読んでみてください。engineers.ntt.com今回は、CLIツールを作る過程でPostmanのCapture HTTP traffic機能を使ってみた話を紹介します。PostmanのCapture HTTP...
View Article今年買って良かった物2024
はじめに毎年書いている「今年買って良かった物」の2024年分です。今年は、ここ数年で一番買い物が少ない一年だったような気がします。とはいえ、いくつか物は買っているので買って良かったものを紹介しようと思います。これまでの買って良かった物は↓です。今年買って良かった物2018 - await wakeUp();今年使って良かったもの2019 - await wakeUp();今年買って良かった物2020...
View Articlekubenavを使ってスマホからKubernetesクラスターを管理する
はじめに私はVPS上でMicrok8sを使ってKubernetesを動かしているのですが、外出中など手元にPCがない状況でもある程度は操作ができるようにしておきたいと思っていました。先日、kubenavというモバイルアプリを見つけたので使ってみたところ、結構いい感じだったので紹介しようと思います。環境Ubuntu 22.04.5 LTSMicroK8s v1.29.13Android 15...
View Article