Don't Repeat Yourself

Don't Repeat Yourself (DRY) is a principle of software development aimed at reducing repetition of all kinds. -- wikipedia

2022-01-01から1年間の記事一覧

2022年の振り返り

今年は忙しくていろいろ思うところがあったので、振り返りがてらインターネットに記事を放流しておこうと思います。仕事の話のみで、プライベートの話は書かないつもりです。 仕事 転職 6月に転職をしました。 ここ数年、今後のことを考えると早いうちに英語…

『ソフトウェアアーキテクチャ・ハードパーツ』

『ソフトウェアアーキテクチャ・ハードパーツ』を訳者の方からご恵贈いただきました。ありがとうございます。献本については基本的にすべて書評を書こうと思っているため、今回も記事にします。発売は10/27のようです。 ソフトウェアアーキテクチャ・ハード…

26. Remove Duplicates from Sorted Array

ソート済みの、複数数字が重複する配列の中には一体何個の数字が含まれているかを考える問題。制約として、in-place で解く必要があります。たとえば、[1, 1, 2] という入力がされた場合、返り値は2で [1, 2, _] という順序の配列を返す必要があるということ…

20. Valid Parentheses

LeetCodeにあった問題です。()のように一組の括弧がすべての組み合わせに対して正しい順序で成立していれば正解。({[]})のような組み合わせはOKですが、({)}のような組み合わせはダメ、というものです。ちなみに初見では解けませんでした。Easyで結構初見で…

Goでプロジェクトを始めたい際に楽できるツールを作った

数年ぶりに戻ってきたGoですが、環境が大きく様変わりしていて劇的に使いやすくなっていました。 とくにいいなと思ったのが go mod でした。これは Go の 1.11 に実験で入ったあとから利用できる機能のようです。 ところで、go mod init というコマンドがあ…

GitHub Actions 上の cargo install でインストールされるプラグインをキャッシュしつつ使いたい

GitHub Actions 上で cargo install 経由でインストールされるプラグインを使いたいと思いました。しかし実際に使ってみると、そのプラグインのインストールとビルドに5分程度毎回時間を要することがわかりました。これはビルド時間を伸ばすことにつながり開…

「ちょい使い」に便利なIOクレート ezio

Rust を使っているとどうしても思い出しながらでないと書けないものに標準入力、ファイルの読み書きがあります。というのも、Web アプリケーションを作るソフトウェアエンジニア(私)の場合日常業務でそこまで必要になる操作ではなく、ファイルの読み書きは…

『コンセプトから理解するRust』

『コンセプトから理解するRust』を一足お先に読みました。Rust に関する日本語書籍の発刊が増えてきており、読むより発売するペースが上がっている気がします。私もだんだん精読するより積むほうが増えてきてしまいました。 今回も例のごとく、全体に目を通…

『手を動かして考えればよくわかる 高効率言語 Rust 書きかた・作りかた』を読みました

先日発売になった『手を動かして考えればよくわかる 高効率言語 Rust 書きかた・作りかた』を、一通り目を通していました。感想を記しておきます。なお感想は、例のごとく全体に軽く目を通して、いくつかサンプルプログラムを写経してみた程度の上でのもので…