2024-01-01から1年間の記事一覧
とあるブログを読み、ハードだった目標を頑張って達成した、みたいなものを見かけました。 それ自体はとてもいいことだと思いますし、否定することはなにもありません。 ただ自分は昔から、そして今でも「目標を何がなんでも達成する」みたいな雰囲気とかが…
orm.drizzle.team TypeScriptのORMとしてTypeORMやPrismaとの対抗馬としてあるのがDrizzle。 どんなものか気になったのでちょっと触ってみました。 // schema.ts import { integer, pgEnum, pgTable, serial, uniqueIndex, varchar, } from "drizzle-orm/pg-…
スクラムやアジャイルにおいてふりかえりはとても重要で、特にふりかえりをするにあたってよりよい状態を目指すことが一つ大きなポイントだと思います。 毎週 1% の改善を 1 年間(52 週)続けると、年末には約 67.77% の改善結果になることがわかります。1 …
なんとなく存在は知っていた「より高度に利用してない変数やファイルを検知してくれる」knipをさわってみたので備忘録まで。 knip knip.dev レポートしてくれる内容は以下のようです knip.dev 実際に試してみた knip.dev // src/main.ts import { usedFuncti…
毎週行っているレトロスペクティブから学びがあったので書き出しておきます。 いつもは 最近自分が行っていたふりかえりでは「Good Bad」のフレームワークを少し変えたものを使っています。 「気になること/変えたいこと」と「Good」にの二項目を用意し、「…
大なり小なり組織が変化するということはあると思います。 身近なところでもそんなことが起きており、その際に起きる悪影響って具体的にどういうことがあるんだろうかというのが改めて気になったので言語化してみたいと思いました。 前提として この記事では…
prismaでは2024/09時点で複数のDBに対応する場合の正式な実装方法はないようです。 上記に対するワークアラウンドがあったので、そちらについてメモしておきたいと思います。 github.com 基本的には上記にある内容です。 ディレクトリ構成 以下のような状態…
ソフトウェア開発はチームでの開発と同義かと思います。 しかしながら、状況によっては個々人で独立して動いたほうが効果的なときもあるでしょう。 そんな「属人性」が強くなる開発はどういったものを犠牲にして成り立っているのかを考えてみたくこの記事を…
一つのサービス内で複数のDBにアクセスしたいときにPrismaやTypeORMで分散トランザクションのようなことをしたくなったときにどうなるのかを書いて書いてみました。 いろいろと手法はあるかと思いますが、ここでは一回の処理の中で同期的にDBへのアクセスを…
Next.jsのドキュメントでは書かれていないのですが、現在職場にあるコードでは以下のようにCSPの設定がされていました。 気になったこと const csp = ` default-src 'self'; script-src 'self' 'unsafe-eval' https://cdnjs.cloudflare.com; `; ... <meta httpEquiv="Content-Security-Policy" content={csp} /> この設</meta>…
ソフトウェア開発においては、チームメンバーの人数が多いからといって、必ずしも個別の作業を分担することが最適な解決策とは限らないと考えます。むしろ、そのようなアプローチには課題が潜んでいるなと思ったのでそのあたりを書き散らしてみたいと思いま…
結論から どうやら引けないようです。 何の話か 上のような表示をSlackのAPIを経由して、何かしらのステータス表示みたいなのをしたいという話です。 こちらはどこに記載があるかというと以下のところになります。 api.slack.com さて、このattachmentsを見…
migrationを流したときにとても重くなったり、はたまたロックがかかったり、などがありうるのでそういったときにどういうことができるのかのメモ。 SHOW FULL PROCESSLIST SHOW PROCESSLIST; で現在MySQLサーバー上で実行中のクライアント接続やクエリを確認…
諸事情でどうしてもローカルでのgitのpre-commitのタイミングでformatをかけたり、ということができなかったのでCIでformatがちゃんとかかってるかのチェックをするものを用意していました。 そのとき気づかず以下のようなことをしていました - name: Lint r…
ちょっとTriggerなるものに触れる機会があったので触ってみました。 www.postgresql.jp 適当な例題がほしいなと思ったのでChatGPTに「どういうときにTriggerを使いますか?」と聞いてみたら以下を提案してくれました。 データの整合性の維持 オーディットロ…
わりと脳死でIncoming Webhookを使ったり、以前から使ってた公式のではないGithub Actionを使っていたりしたのですが、 そもそもSlack App使ったほうがいいよ、とかslack公式からgithub actionが出ていることを(今更)知ったのでそちらを使ってみたいと思いま…
基本的に昨今ですと各種フロントエンドのライブラリやフレームワークが用意している router のようなものの push などでurlやpathの遷移などを行うと思いますが、所要で window.location.href を使わなければいけず、ちょっと挙動が気になったので調べてみま…
重複した内容を表示したいということがあったのでそのクエリをメモ 元データ CREATE TABLE emails ( id INT AUTO_INCREMENT PRIMARY KEY, email_to VARCHAR(255), email_subject VARCHAR(255), created_at DATETIME ); -- サンプルデータの挿入 INSERT INTO …
ESLintのV9を入れる機会があったのでいろいろ触ってみました。その時の備忘録です。 install eslint.org 結構PrettierやVSCodeの設定などとセットで入れてしまう関係であんまり公式ドキュメントに目を通さないことが多いのですが、改めて見てみました。 esli…
結論: 変わらない import { useQuery, useQueryClient } from "@tanstack/react-query"; import ky from "ky"; import { useState } from "react"; const CURRENT_TIME = "CURRENT_TIME"; const Page = () => { const [enabled, setEnabled] = useState(true…
ちょっと所要でNext.jsが後追いで読み込むjsファイルではなく、最初にレンダリングされるhtmlのresponseにインラインのjsが入っており、そこで処理されてほしいなと思ったのでちょっと試してみました。 結論 NextのScriptで書く。書くときには strategy="bef…
作りきりの製品などと違い、SaaSなどであれば実装したものがそのまま使われ、そしてその実装物に手を加えさらに変化していくことになります。 そうなると再現なく把握しなければいけないことが増えていきます。 把握すべきものは機能やコードであったり、ド…
本当はチームの中で一つのプロジェクトをみんなで回して行きたい気持ちが強いのですが、残念ながらそんなにキレイにいくことはありません。 そういった中でチーム内でどういう分担や振る舞い方ができるとよいかをちょっと考えてみたいと思います。 プロジェ…
Node.js上で無邪気に console.log と実行したら一つのlog内でobjectが展開されるのかと思いきや、分割されてしまったことなどはありますでしょうか? 自分は上の画像の通りあります (困っている) さて、なぜこのようになっているのかというのを見ていきたい…
表題の通りです。 Cloud RunでのNode.jsのアプリケーションのサンプルはあったり、 Terraformでのサンプルとかはあったりしたのですが、上の2つの組み合わせがあまりなかったので試してみました。 Terraform # main.tf terraform { required_providers { go…
いろいろlazyまわりとかでコードを読んでいたらふとたどり着いたので書き残しておく。 みたバージョンは v18.3.1です。 github.com 認識が間違っていなければこちらのコードが実行されているのかなと思います github.com fiberの理解が浅いので詳細は省きま…
walk-diagonally.hatenablog.com こちらのブログを書いているときに見つけた内容です。 こちらも同様に v14.2.5で見ていきます。 github.com dynamic を利用する際に ssr のフラグを確認し、いわゆる { ssr: false } だった場合は noSSR の関数をreturnして…
nextjs.org タイトルにある通り、Next.jsのdynamicの内部のどこでReact.lazyを使っているかみてみました。 v14.2.5のコードを見てみました。 app-dynamicにいた app-dynamic.tsx github.com app router利用時の dynamic のfunctionはここから実行されるのだ…
所要でexport defaultとnamed exportについて調べる機会があったので、改めて見てみたらふーんとなったので備忘録まで。 わたしの記憶はこのあたりで止まっていた 以下の記事を全肯定、全否定とかの意図は全くなく、参考にさせていただきつつここで記憶が止…
まだまとまり切っていないのですが、脳内にある構想を雑多に書き散らしてみます。 伝えたいこと 関係性次第でコミュニケーションのクオリティやその結果が変わっていくよ、という話をしたいと思っています。 関係性とは www.weblio.jp 名詞「関係」に、接尾…