「退屈なことはPythonにやらせよう」的な作業があったのですが、せっかくなのでPerlでやることにしました。 なぜPerlを選んだのかと言うと、しばらくPerlから遠ざかっていたこともあり、久しぶりに書きたくなったからです。 やりたいことはWeb APIからJSONを…
本記事は技術書典5が開催された2018年に書いたため、少し古い可能性があります。 技術書典5で「PHP中級者を目指す 〜言語を使いこなすための本〜」を書いた「このすみ」と申します。 執筆こそ1人で黙々と書いたものの、途中でYYPHPも活用しつつ本書は完成ま…
世の中には、静的型付けと動的型付けのプログラミング言語の他に、漸進的型付けというプログラミング言語があります。 オライリーの『プログラミングTypeScript』を読んでいたら登場したので、記事にしてみることにしました。 静的型付けのプログラミング言…
少し昔の話ですが、『YAPC::Asia Tokyo 2014』のイベントに参加したとき、『Where狙いのキー、order by狙いのキー』という発表を聞きました。 当時の私はデータベースのインデックスについての知識が皆無だったので、発表を聞いた際は衝撃を受けたことを覚え…
私はプログラミング言語におけるNULLは、「何もない値」または「何も示していない値」という定義で理解しています。 ところがSQLにおけるNULLでは、この単純な理解が通用しないことを知りました。 先に結論を言ってしまうと、「NULLとは不明な値のことである…
SQLのパフォーマンスをテストするために、試験用にテーブルを作って大量のレコードを入れました。 その時に試験をやり直そうと思い、テーブルをリセットする局面があったのですが。 ふと疑問に思い、「DELETE FROM テーブル名」と「TRANCATE TABLE テーブル…
@flaviocopesさんのサイトで、ES2019のガイドが公開されています。 flaviocopes.com ひととおり目を通したので、自分なりに解釈した要約を書きます。 Array.prototype.flat() flat()は、配列内の配列を平坦に整えた、新しい配列を生成します。 引数で深さを…
「ソフトウェアデザイン2020年1月号」を読んでいるのですが、その中に次の一節がありました。 GitLab のCI に関する部分は.gitlab-ci.yml に書き、単独でも実行できる内容はシェルにまとめて、scriptで呼び出すのがお勧めです。 そうすると、.gitlab-ci.yml…
SQLのSELECT結果からCOUNT関数を使い、複数のデータ集計をしたい局面がありました。 /* aのカラムには、「0」と「3」の値が入っている */ mysql> SELECT * FROM sample; +---+ | a | +---+ | 0 | | 3 | +---+ 2 rows in set (0.00 sec) そこで次のSQLを実行…
「セイチョウ・ジャーニー」「挫折論への招待」アドベントカレンダー Advent Calendar 2019の19日目の記事です。 「挫折論への招待」は、技術書典6でGrowthfactionが頒布した、挫折をテーマとした同人誌です。 私は本書に、スペシャリストを目指したけど挫折…