元海外在住エンジニアの人生

必死にのらりくらりしてます

新しい発見とお風呂の感想

寿司屋での発見

先日、とある回転寿司屋さんでお一人様贅沢ランチ(4600円)したんですが、会計の時に店員さんを呼んでお皿を数えて代金の計算をハンディターミナルでテレレって読んだだけで金額を提示され、不思議がっていると、お皿にICチップが入っているとの事。

成程なぁ。その発想はありませんでした。なかなか画期的だと思いました。でもコロナ禍で注文を全てタッチパネルから行う形式だったので、注文履歴から計算するだけで良いのでは?とも思ってしまいました。

確かにコロナ禍じゃなかったら板前さんに直接口頭で頼む人も居るし、間口が広いのは、このチップ読み取り方式でしょうか。 くら寿司のお皿回収システムも面白い発想。どっちが残っていくのか見届けたいと思います。

温泉施設

同じ日に、宮前平源泉ゆけむりの庄という温泉施設に行きまして、そこは旅館に泊まった以上の満足感を得られました。 岩盤浴を堪能して、温泉も堪能して、その時は時間なかったので、休憩スペースを使うことはありませんでしたが、そちらもかなり充実してて、かなり「整う」ことができましたし、ワーケーションする場所としての可能性を感じました。

個人的銭湯・温泉ランキングもつけて行こうかなと思います。とりあえず今までの中で最高だったので暫定1位です。 ゆけむりの庄さん、これから何度も利用させていただくので、その折はよろしくお願いします。

ムキムキのサイド刈り上げお兄さんがわんさか居たので、若者の中で、サウナ、筋トレ、ツーブロックが流行してるんでしょうか。

私はというと、ムチムチのサイド刈り上げおじさんなので、カウントしていません。筋トレはしてますが、甘い物を控えられずあしからず。

バグ調査でハマった話

今週の水曜木曜は仕事が死ぬほど忙しくて全然個人開発に手をつけられませんでしたが、 その忙しかった理由のバグ調査結果をまとめます。Flutterではなく、PHPですが。 誰かor未来の自分の助けになれば...

結論から言うとphp(v7.4.0くらいだったかな?)の Carbon::createFromFormatが悪さをしていたのがわかったんですが、これを詳しく説明していきます。

$date1 = Carbon::createFromFormat('Y-m-d', '2022-04-01');
echo $date1->format('Y-m-d H:i:sO);  // 2022-04-01 00:00:00+0000 と思うじゃん?
$date2 = new Carbon::('2022-04-01');
echo $date2->format('Y-m-d H:i:sO);  // 2022-04-01 00:00:00+0000
$date3 = Carbon::parse('2022-04-01');
echo $date3->format('Y-m-d H:i:sO);  // 2022-04-01 00:00:00+0000

この3つのechoのうち、$date1だけ、なんと結果が違っています。

$date2$date3は両方とも 2022-04-01 00:00:00+0000になりますが、(デフォルトがUTCの場合) $date1は 2022年4月1日には違いないんですが、時刻は実行したマシンorサーバの実行時刻が補完されます。


深夜のバッチなど日付の変わりやすい時間&タイムゾーンだと、思いがけず日付が変わるなどするので、 指定した日付の0時0分0秒が変数に入っていると期待して実装を進めると簡単に致命傷を喰らいます。 気を付けましょう。


これは仕様なのかな?公式ざっと眺めてもよくわからず。仕様として使うのはそれはそれでしれっと変更された時に困る

Hello world

こんにちは、初めまして。これからブログを書いていきます。

プログラマーorエンジニアなので主に技術系のことを書いていきます。

対象言語は

PHP

Flutter←アプリ開発したくて最近始めました。

くらいかな。

過去にObjCでアプリ開発して、新卒切符を捨てて、とある企業にフリーランスで潜り込んで、そんなこんなでフリーランスとして働き続けています。

 

スプラトゥーン2に去年の9月くらいからハマり出して、3の発表があったからフロントの勉強がてら戦績管理アプリを作ろうと思って、(久しぶりにアプリ開発をしたくなったのもある)

SwiftUIとやらに手を出したらObjC時代と開発方法が違いすぎて目を疑いました。

 

Reactもちょろっと触っていたけど、その流れがまさかアプリ開発のネイティブ側にも反映されていってたとは...

M1 macのマシンにしてしまったため、ReactNativeの開発環境作るのがめんどそうで却下。

他にクロスプラットフォーム開発のFlutterというものがあるというのを聞きつけて着手って感じです。

 

フロント久しぶりにやると世界が変わってて楽しい。スプラトゥーン3の発売までに2用バージョン完成させて、3用にはちょっとずつ入れ替えるだけの作業がある状態にまで持っていけるだろうか...あとおそらく4ヶ月弱...