ようやく気が向いたので 3 年ぶりに Orenge Diary を Next.js + TypeScript でリニューアルします!
- Published on
技術・日常 ブログ
ようやく気が向いたので 3 年ぶりに Orenge Diary を Next.js + TypeScript でリニューアルします!
Ubuntu 22.04 (LTS) がリリースされたのでインストールしてみましたが、そのまま放置して数ヶ月が経っていました。久しぶりに使用する場面が来たので、いつも通り apt update しようとしたところ、『Warning: apt-key is deprecated』というメッセージが表示されました。Debian 12 からは、apt パッケージの署名に利用している apt-key が非推奨・廃止になるとのことです。しかし、今のところ、apt-key に変わる、apt リポジトリの署名に使用する GPG 公開鍵の管理手法におけるベストプラクティス的なものが無かったので、とりあえず、gnupg + signed-by で移行してみました。
Go を書いたことがある人なら、一度は Goroutine というワードを耳にしたことがあるかと思います。Goroutine とは、Go で並行処理(マルチスレッド)を実現するための軽量なスレッドのことです。Goroutine は一般的なカーネルスレッドと比較して、非常に軽量かつ効率的なスケジューリングが可能です。今回のブログでは、Go ランタイムの実装を覗き、Goroutine が '軽量スレッド' と呼ばれる理由についてまとめてみたいと思います。
Go で競プロに臨んだ際、fmt.Scan で TLE が発生したので、その原因と解決策について fmt パッケージの Scan 関数と bufio パッケージの Scanner メソッドに注目しながらまとめてみます。
インターネットを介して提供されるサービスはどのように構築・実現されるのでしょうか?現代のネットワークアプリケーション開発において、Socket API は非常に重要な役割を果たします。Socket API は、異なるコンピュータ間でデータを送受信するための低レベルインターフェースを提供し、TCP/IP に則った通信を実現します。今回の記事では、ネットワークソケットについて触れ、Socket API の概要から実際の使用法について紹介します。