基礎

Remix

【Remix】loaderとは

loaderとはloader関数は「レンダリング前にサーバーサイドでデータを取得し、HTMLに埋め込んで表示したい」ときに利用する関数である。レンダリング時に必要なデータはこれを使って取得すると覚えておけば良い。基本的な使い方jsonpla...
技術選定

【技術選定】型定義ができるプログラミング言語を導入すべき理由

プログラミング言語には、動的型付け言語と静的型付け言語の2種類が存在するが、この記事では「静的型付け言語を使え」という話をする。結論中規模〜大規模の開発であるチーム開発をする今は小規模でも今後成長する見込みがあるこの前提条件がある場合は、迷...
Docker

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

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

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

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

【リーダブルコード】変数は上書きしない

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

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

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

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

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

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

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

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

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