プログラミング

プログラミング

非同期実装に潜む悪魔〜Zalgoの実装〜

こんにちは。 JavascriptなどにおけるAPI実装での同期/非同期の扱い方でやってはいけないアンチパターンの1つとして、「Zalgo」と呼ばれているものがあります。 こちらの記事でそのアンチパターンをZalgoと呼んでいるのが発端です...
テック

思考を変えれば一流に近づける! ~書籍紹介「世界一流エンジニアの思考法」~

こんにちは。 ソフトウェアエンジニアの私が、最近読んで感銘を受けた書籍をご紹介します。 こちらの書籍です。世界一流エンジニアの思考法 書籍紹介 著者はマイクロソフトでエンジニアとして働かれている方で、米国のビッグテックでの業務経験から一流の...
プログラミング

生産性を爆上げする! ~書籍紹介「イシューからはじめよ」~

最近読んだ書籍で学ぶところが多く、すごくためになったと感じたものがありました。 こちらの書籍です。イシューからはじめよ―知的生産の「シンプルな本質」 いわゆるビジネス書と呼ばれるジャンルで、仕事、特に知的労働における課題解決の心構えや具体的...
プログラミング

Typescript + gulpでコマンドライン引数を指定してビルド

TypescriptのコードをJavascriptライブラリにビルドする際、s3などの外部からファイルを取得してきてそれをビルドに組み込みたいケースがありました。 その際、取得するファイル名をビルドコマンドで指定する形で実現しました。これで...
プログラミング

Dockerマウントのbind/volumeの細かな違いで数時間詰まった話

Dockerでホストとコンテナのディレクトリ構造をミラーリングさせたい時、ボリュームを使ってディレクトリのマウントを行うことは多いですよね。 このマウントの仕様を細かく理解できておらず、ホストとコンテナが意図しない挙動をして長時間詰まってし...
プログラミング

プログラミングブログ移設しました

こんにちは、ブログ管理人のrioです。 以前からちょくちょくはてなブログでプログラミング、技術関連の記事を書いてきたのですが、 今回自分のブログサイト「えいごギークのほっとtime」を開設したので少しずつ移設していこうと思っています。 20...
プログラミング

Go言語ソース覗き見〜slicesパッケージ〜

Go言語のバージョン1.21で標準ライブラリに新たに追加された、slicesパッケージのソースコードをざっと読んでみました。 slicesパッケージではスライスを操作するのに便利な様々な関数が用意されています。 この記事ではソースコードに触...
プログラミング

Go言語 – ジェネリクスで型引数を分解するというテクニック

Go言語の1.21ではslices、mapsパッケージが追加され、スライスやマップに対する操作が格段にシンプルにできるようになりました。 本記事ではそんなslicesパッケージのClone関数を手本に その実装の詳細説明と、そこから導けるジ...
プログラミング

Go言語のプロジェクト構成 – 公式のススメ

有名なGoのプロジェクト構成のパターンとしては、以下のgolang-standardsが有名です。 このパターンは賛否両論ありつつも長い間多くのプロジェクトで採用されてきたのですが、Go公式のものではありません。 そして Goの公式はこれま...
プログラミング

全てにおいてYAMLはXMLに劣っている…らしい

色々と議論を呼びそうなタイトルですが、とあるポッドキャストの会話の一部を文字起こしした記事の内容です。 原文はこちら スピーカーの体験を元にした話によると、 「XMLは場合によって使いづらいこともあるし、適していることもある。 一方、YAM...