2019年6月30日日曜日

範囲が重なっているかどうかの判定法

直線上に2つの範囲AとBがあったとき、この2つが少しでも重なっているかどうかを調べたいときってありますよね。ありますよね?

例えば、1:00-2:00のような時間帯の情報があるとして、2つの時間帯AとBが重なっているかどうかを調べたい場合。
Aが1:00-2:00、Bが1:30-2:30だったら重なっている、Bが2:10-2:40なら重なっていない…といった具合です。

重なっている例
       01:00    01:30    02:00    02:30
         |        |        |        |
A        <----------------->        |
B        |        <----------------->
重なっていない例
       01:00    01:30    02:00    02:30
         |        |        |        |
A        <----------------->        |
B        |        |        |  <------->
この「重なっているか否か」を判断する方法について解説します。

これからドヤ顔で解説しますが、別に本邦初公開でも何でもありません。
「そんなもん知っとるわボケ」と思っても優しく見守ってください。

2019年6月23日日曜日

Web APIのパラメーターはキャメルケース?スネークケース?

…という話を先日社内でしました。

https://example.com/api/search?user_id=1
https://example.com/api/search?userId=1

↑どっちを使う?という話です。

個人的には、GET/PUT/POST含めて統一さえされていればどっちでもいいんですが、それで終わってはつまらないのでちょっと語ってみます。

もう一度いいますが、個人的にはぶっちゃけどっちでもいいです

2019年6月16日日曜日

DockerでNode.js + sqlite3の実行環境を作るときの注意

Node.jsで作ったウェブサービスをローカルで動かすためにDocker環境を構築していたときのこと。

サービスを実行したらこんなエラーが出ました。
Error: Please install sqlite3 package manually
いや、ちゃんとpackage.jsondependenciesに入ってるし。

というわけで、今日はこのお話です。

2019年6月9日日曜日

TypeScriptでJSON型情報

先週にひきつづき、今度はJSONで使われるデータの型情報("null"とか"string"とか)を取得してみます。

ほら、ウェブアプリケーションを作るときに使えそうじゃないですか。え?使わない?まあそう言わずに。

2019年6月2日日曜日

TypeScriptでJSON型

ふと、TypeScriptでJSON型というものを作ってみたくなりました。JSONで使われる型のみを集めたやつ。

ほら、ウェブアプリケーションを作るときに使えそうじゃないですか。え?使わない?まあそう言わずに。