生存報告所

日記だよ!

7/26 データベース勉強会

7/26(金) 睡眠時間8時間半 898歩

ブレインスリープピロー…クレジットの請求が楽になりそうな来月あたりで買ってみるか…。

やったこと

 今日は久しぶりのリモート!

 昨晩0時には寝て、気持ちよく8時間以上睡眠。ここ一週間では考えられなかったくらいに脳はクリア。調子よく椅子に座って、今日の仕事に取り掛かった。

 

仕事

 本業の合間で対応し続けて、ここ10日ぐらい私の頭を悩ませてくれたNginx。たっぷりと寝てスッキリした頭でようやく原因究明。

 

1. proxy_passで目的のサイトにリダイレクトできない問題

 proxy_passの記述をいくら変えても「このページは動作しません」と表示されて、一向に解決が分からなかった。

ずっと私が書いたリダイレクト先の記述が悪いのかと思っていたが、原因は別の記述。httpをhttpsに書き換えるリダイレクト設定がconfファイルの上の方に記述されていたのだが、ローカル環境でhttpsに書き換えてもどうしようもない。この記述をコメントアウトすることで、問題なく目的のサイトへとリダイレクトさせることができた!!

 

 究明に時間がかかったのは、過去の記述は正しいと思い込んでよく理解をしなかったため。私が設定した場所がバグである率の方が高いだろう…と考えて、設定をよく見ていなかった。execコマンドでコンテナ内に入っても、ファイルの変更はもちろん反映されているのもたちが悪い。いろいろ試したのに何が悪いんだぁ!! と頭を抱えておりました。

 

 index.htmlのような、コンテナ内部のファイルを参照しようとしてもリダイレクトエラーになったため、原因の切り分けが出来た。

 

2. ローカル環境に立てたAPIサーバーにアクセスできない。

 やっと意味不明なリダイレクトは解決出来たのだが、次は502エラー。こちらはChatGPTに聞いて、1時間もせずに原因解決。

 Dockerで立てたNginxだったから、127.0.0.1は当然Docker内の環境を指していたわけで、ローカル環境上で立ち上げたサーバーにはアクセスできるはずもなかった。同じターミナルで「curl http://127.0.0.1:9000」と打ったら問題なくレスポンスが返ってくるからそんな問題だとは思っていなかったヨ!

 

 127.0.0.1を「host.docker.internal」という、コンテナからホストOSにアクセスするための特別なドメインに設定してアクセスできることを確認。

 

 はぁー(*´Д`) 本来検証したい事からは離れて遠回りしてしまったが、人に説明できそうなくらい生きた知識を得られたのでヨシ! これで土日は気持ちよく眠れるぜ。

変な問題に遭遇したらちゃんと寝よう! 運動しよう! 明日考えたらいいんだ!

 

データベース勉強会

 疲れからか達成感からか分からないが、1時間ほど椅子でうつらうつらしているともう勉強会の時間。

 

 今日はオンラインでNextbeatさんによるデータベースの勉強会。普段何気なく触っている技術なのだが、SQLを叩く場所としか考えていない。コアな人たちの話を聞いて、どんな一面を知ることができるのかとワクワクしながら申し込んでいた。

オフライン参加者が少なかったということでハイブリットからオンラインになったのだけが残念(´・ω・`)

 

1.マイグレーションと自動テスト

 DBマイグレーションを使って、どのように自動テストを運用しているかという話。

 最近、自動APIテストを楽にするためには…ということを考えていたため、データ投入用とテーブル定義用のクエリを保存しておいて流すという運用方法は参考になった。自動テスト用のクエリを別で管理すると二重管理になってとても面倒なため、この方法はありですね。発表感謝。

「技術的負債のリボ払い」という表現は、当を得ているからこそ顔をしかめたくなる。分かっているけど、システムは作った瞬間から陳腐化していくからなぁ。

 

2. データベースクライアントを作成する話

 開催企業のNextbeatさんからの参戦。Scalaでデータベースコネクターを使うことを考えると結局JVMに固定されてしまうよね…という話は言われてみれば確かにそうだ。

 

 コネクターを自作しようと触ってみることで、データベースシステムへの理解が深まってプログラムの書き方も変わったというのは素晴らしい学びですねぇ。

LLM達によって、今まで触ったことの無い分野でもコードが書きやすくなったのは良い後押し。好奇心旺盛な人は今まで以上に試して失敗して成長してのサイクルを早くしていくのかな。

 

3. テーブル設計の話

 木構造のようなデータを格納して取得することがテーマの話。閉包テーブルという言葉を初めて知ったので、もうちょっと業務中に調べてみたいところ。

 

LT1.クロス結合の話

 てっきりクロス結合が好きで、その便利さを布教されるのかと思っていたが、その逆で、パフォーマンス考えたら使う場面そんなにないよ! 知ってたら面白い知識だね! というお話で笑った。

 

服を着るならこんな風に1・2

「大人っぽい服装」のタネが分かる、ボッチオタクには大変ありがたい漫画。1巻はちょこちょこ読み直していたのだが、積読消化の余裕が出来たので続きも読んでいくことにする。

 

とりあえず覚えたのは、

  • ボトム(ズボン)は味噌汁の出汁くらいとても大事
  • 胴長短足をごまかすためにズボン・靴下・靴の色を揃えること(無難に黒で)
  • オシャレに大事なのはドレス(正装)とカジュアルのバランス。この配分を調整して、TPOに合わせる。
  • ボトムは大事

ということ。

涼しい季節になったら、私もアウターなるものを買ってみようかな…。

 

 オシャレしたい! とまではならなかったが、とりあえずこれで無難な服の人になれる! という安心感は出来た。今は漫画で学べることが多いから、とっつきやすくて本当にありがたい。

 

ツイッター見てた

 ツイッターを見つつ、無心でカッター裁断を進める。道具をプレゼントしてもらったおかげで環境は全て一段階進化したはずなのだが、作業の億劫さはあまり変わった気がしない。読んだ本のpdf化はライフワークになりそうだから、早いうちに裁断機を買う時かもしれんな…。使う時間を考えたら数万円くらい安い安い!

 

 ツイッターの方はツイッター芸人ノゲノラ作者である榎宮祐さんのツイートが流れてきたので、ひたすら遡ってしまった。流石プロ作家の言語使い…。

 マッサージ屋に「来なくていいよ」と言われるくらい体が好調になっている理由として、しっかりした睡眠・運動・ストレッチ・日光浴等のルーティンワークが良いらしい。私も試すか…。

オタクという、凝り性になりがちな人々の突き詰めた健康論は信頼が出来そう。

 

ごはん

 朝食:ごはん+鳥そぼろ

 昼食:レトルトカレー

 夕食:食べず

 

 家にいるから安心してご飯が炊ける! ご飯万歳!

 夜は勉強会によってタイミングを逃し、もういいか…と食べなかった。ちょっとひもじい。