基礎

Docker

【Docker】よく利用するdocker composeコマンド一覧(確認系コマンド)

この記事は、下記の記事よりも「確認系のコマンド」に特化した内容。 【Docker】よく利用するdocker composeコマンド一覧(操作系コマンド) ヘルプの見方 よく使うコマンドはこの記事に記載しているが、それ以外のコマンドや細かいオ...
Python

【Python】データを保存、取得する方法(Pickle)

実装していると、オブジェクトなどのデータを一時的に保存したり、それを再利用したい場合がよくある。例えば、開発中に有料のAPIは何度も叩きたくないので、一度叩いてそのデータを保存し、それを使いまわしつつデバッグしたいときなどだ。 筆者はOpe...
設計

【良いコードを書く】変数は上書きしない

この記事では、より良いコードを書くためのテクニックについて解説する。 結論 変数は上書きしない。変数を使う際は、不変な状態(上書き不可能な状態)で使う。 なぜ不変にすることが望ましいのか? これに対する答えとしては「値が変わってる=意味が変...
Vim/Neovim

【Vim】初心者向けヘルプの開き方

Vimの筋肉を鍛えていくためには、まず第一にヘルプを参照する力が必要になる。今回は、初心者向けにヘルプの開き方を解説する。 シンプルにヘルプを開く とりあえず何かファイルを開いた状態から、:helpを入力するとヘルプが展開する。 ヘルプを開...
用語

git rebaseしてはいけない状況(mergeとの違い)

git rebaseとgit mergeは両方とも「ブランチAの変更差分を、ブランチBに取り込む」コマンドである。 前提として、違いが良く分かっていなければ、基本的にmergeだけ使えば十分である。 そのうえで、コミットログを整理したいとい...
JavaScript

【JavaScript】初心者がimport、exportを完全に理解する

本記事では、JavaScriptでよく見かけるimportとexportについて分かりやすく解説する。 この記事を見ると書き方や、どのように読み込まれているかが理解できる。 ざっくり理解 あるファイルでexportしたオブジェクトは、imp...
Java

【Java】Enumの機能を最大限に活かし、可読性を上げる(同時にswitch文も減らす)

Enumは「種類分け」の観点でよく利用されることがある。プログラミングの教科書にも、以下のようにswitch文との併用が記載されていることが多い。 public enum CreditCard { VISA, MASTER, JCB, } ...
Java

クラスA→クラスBの変換メソッドをどこに書くか

Webサービスを開発しているとき、ほぼ必ず書くことになる処理がオブジェクトの変換メソッドだ。 外部のAPIから受け取ったデータをクラスAにマッピングし、その後クラスBに変換してアプリケーション内部でロジックを組み立てるということはよくある。...
シェルスクリプト

【Linux】rsyncコマンド使い方

rsyncコマンドとは scpコマンドの上位互換で、サーバー間でファイルの転送をするときに良く利用されるコマンド。 scpより優れている点は「差分を確認し、差分があったファイルだけを更新する」ところ。 基本構文 $ rsync オプション ...