mitsuのぶろぐ

基本的にはプログラミングの話のつもり。

2024-01-01から1年間の記事一覧

tryとfinallyどちらでもreturnした場合どうなるのか

なんだか昔にも似たような内容を調査した気がしますが、忘れてしまったので備忘録的に記載します。 JSのtry-catch-finallyにおいて、内部でreturnを書いた場合にどうなるかを確認しました。 function hoge() { try { return "try" throw new Error("error!!!…

効果的なコミュニケーションをする上で必要なこととは: チームや関係性は簡単に壊してはいけない

チームとかを簡単に壊してはだめだよ、という話のほうが実は主題ですが、それをコミュニケーションをベースにちょっと考えてみたいと思います。 「効果的」な「コミュニケーション」とは まずはそれぞれ定義をしましょう。 順番前後しますが、まずは コミュ…

スクラムやアジャイルは品質が低いことを許容はしていない

なんとなく小耳に挟んだ勘違いについてちょっと書きたいと思いました。 アジャイルであることによる「ちょっとくらいバグがあること」を許容する、といった話を聞いたのですが、それは間違いだと思います。 高い品質という言葉をどう捉えるか この手の話をす…

偏愛マップに少しアレンジを加えてやってみた

偏愛マップを少しアレンジしつつ、チームビルディングの一環として実施してみたのでその感想書いてみます。 偏愛マップとは 偏愛マップ―キラいな人がいなくなる コミュニケーション・メソッド https://amzn.asia/d/0gYamNfZ 偏愛マップとは、1枚の紙(A4のペ…

フロー効率を重視し、あえてチームのタスクを少なめにした定性的な結果

個人的にはあんまり個々人にタスクをきっちり割り振りをしすぎる(≒リソース効率にふる)と、社内やチーム内受託間がでたり、チームワーク感が減るのかなと思っていたりして、結構意識してフロー効率として進めることを意識しています。 そういったフロー効率…

AbortControllerについて with TanstackQuery

なんとなく存在はちらっと知っていたのですが、あまりちゃんと触ったことがなかったのでいろいろ試してみました。 AbortController developer.mozilla.org 一度リクエストが開始されると、基本的にそのリクエストを止めることは難しいです。例えば、UI上でそ…

TypeScriptのDefault Parametersの挙動とReactのPropsの場合

デフォルト引数(Default Parameters)の挙動がちょっと気になったのでいろいろ触ってみた typescriptbook.jp www.typescripttutorial.net const hoge = (a: string, b = false) => { console.log(`a: ${a}, b: ${b}`) } hoge("a") hoge("a", false) hoge("a",…

リファインメントのアンチパターンと関わり方

最近の日々の仕事を進める上で、作業効率などを考えたときにあんまりきちんとリファインメントができていなかったので反省も込めて書いてみる。 以下は直近やっていたアンチパターン そもそもちゃんとリファインメントをやっていない 別に必ずしも悪いわけで…

TanstackQueryのuseQueryを特定のトリガーでqueryしたい場合

基本的にuseQueryを記載した場合、即時でdataの取得が行われると思いますが、たまに「画面描画のタイミングでは不要で、buttonをclickしたタイミングでデータ取得したい」といった需要があるかと思います。 そういったときにどうしたらよいかというのを確認…

Github Action上でのbooleanの扱い

Github Action上でboolean関連の処理を動かしてみたら思っていたより違う挙動をしたのでいろいろと実験してみたお話しです。 動かしていたコード ざっくり以下のようなコードです。 OUTPUT_VALUE=${{ steps.output_step.outputs.falseValue || true }} echo …

PostgreSQLではcolumnの順番は変えれない

元ネタとしては現職でMySQL既存テーブルを追加するときに after {既存カラム} みたいな書き方が既存のSQLにあったので、それに倣って自分も記述しようと思ったところでした。 チームのメンバーとそれについてワイワイしてたときに「そういえばPostgreSQLだと…

supabase(も)freeで使うとたまに止まるので注意が必要

プライベートで雑多な実装をするときにDBどうしようと困ることは多いと思います。 現在私はsupabaseのfreeプランを利用してDBまわりの課題を解消しています。 supabase.com 以前はplanetscaleを利用していましたが、freeプランでの利用が終了してしまったの…

なかなかなくならないアジャイルの誤解

「アジャイルだとドキュメントがいらないんだよね」という話をまた聞きました。この誤解はどこから来るのだろうと常々疑問に思います。 アジャイル宣言の 包括的なドキュメントよりも動くソフトウェアを、 ... 左記のことがらに価値があることを認めながらも…

useTransitionを試してみた

React18で正式に出てきたuseTransitionを今更ながら触ってみました。 import { NextPage } from "next"; import Head from "next/head"; import { useState, useTransition } from "react"; type Tabs = "simple" | "delayed"; const Home: NextPage = () =>…

Fun/Done/LearnでもTryは出せる

先日久しぶりにふりかえり手法の一つであるFun/Done/Learnを実施しました。 代表的なKPTなどと比べるとTryが出しにくいように思えますが、そんなことなく探求や次のアクションを導き出せると思ったので、その内容をまとめたいと思います。 基本的によっぽど…

コードレビューするならモブプロしたらよいのでは?

非同期的に作業をしていたときにふと思ったので書いてみました。 ここで言う「コードレビュー」と読んでいるのはPull Requestのレビューを指します。 どういった話をしているのか よくある光景の一つとして個々人にタスクが振られ、そのタスクが終わったら相…

tableとgridをとりあえず比較してみた

grid layoutをいい加減覚えなければと思い続け、今回重い腰を少しだけあげてgridにチャレンジしてみました。 といってもまずはtableと比較から初めてみました。 <body> <h1>List Example</h1> <h2>Table</h2> <style> body { font-family: Arial, sans-serif; background-color: #f4f4f4; ma</body>…

子要素にellipsisをかけたい場合

幅が決まってるものに対してellipsisをかけることはシンプルかと思います。 しかし親要素のサイズが可変で、そこに合わせて子要素がellipsisをかけたい場合どうするのかなとちょっと把握したくなったので試してみた。 結論としては親要素の幅をちゃんと指定…

TanStack Queryでのrefech

TanStack Queryでは、データを再取得したいときに queryKey が更新されるとデータも更新される仕組みになっています。 しかし、外部でmutateなどを使ってデータを変更したあと、そのデータを再度更新する方法について知りたかったので、以下の実験を行いまし…

tableでellipsisしたい場合

すべてはここに書いているので焼き直しです。 chuckwebtips.hatenablog.com table-layout: fixedを使う場合 そもそも table-layout: fixed を知らかなったのでびっくり。 <table> <tr> <th>Firstname</th> <th>Lastname</th> <th>Age</th> </tr> <tr> <td>LongLongLongLongLongLongLongLongLongLongLong Name</td> <td>Smi</td></tr></table>…

generated column (PostgreSQL 12 )

generated columnなるものを初めて知ったので改めてメモしてみました。 正直以下にすべてまとまっています。これの焼き直しです。 tech-lab.sios.jp CREATE TABLE employees ( id SERIAL PRIMARY KEY, first_name VARCHAR(50), last_name VARCHAR(50), birth…

Immutable Data Modelingを調べてみた

表題の通りです。 ずっと気になっていたので考え方とかやり方をざっくり見てみました。 とりあえず今回は雑にChatGPTに聞いてみたものをまとめてみます。 正直ちょっとずれてるなと思ったので、また調査が必要かなと思いました。 今回雑に調べてみたもの と…

Next.jsでpages配下のファイルからページのリンクを生成してみた

これに関しては本当にただなんとなくやってみたかったというか、雑な興味本位でやってみました。 . └── pages/ └── dir/ ├── index.tsx ├── page1.tsx ├── page2.tsx └── nested/ ├── page3.tsx └── page4.tsx とあったときに、 /dir のページで page1 page2…

続: クリップボードの機能を実装してみた 画像ペースト編

以下の記事の続編としてもう少し深堀りしてみました。 walk-diagonally.hatenablog.com 画像を貼り付けてみたかった 最初試してみたもの クリップボードに保持していたものをボタンをクリックしたタイミングで展開する実装を試みていたがどうにもできなかっ…

クリップボードの機能を実装してみた

いつぞやから navigator.clipboard というAPIが生えてることを今更認識したので試してみた <body> <div> <div> <input type="text" id="input"> </div> <div> <button id="button">copy</button> </div> </div> </body> <script> const input = document.getElementById('input'); const button = document.getElementById('button'); button.addEventList…

TanStack Queryの挙動を確認してみた

知ってる人からすると当たり前すぎる内容ですが、ちょっと気になったので動作確認してみた。 tl;dr 振る舞いはここに書いてあるとおりです。 tkdodo.eu 試してたこと 前提 Nextjs (pages router) TanStack Query ky バージョン等は割愛 画面としては以下のよ…

colgroupの挙動を確認してみた

colgroup というHTMLタグがあることを急に把握したのでちょっと動作確認をしてみた。 参考にしたページはこちら blog.hubspot.com 書いてみたコードは以下 <table> <colgroup> <col> <col style="width: 80%;"> <col> <col> </colgroup> <tr> <th>id</th> <th>name</th> <th>email</th> <th colspan="2">Telephone</th> </tr> <tr> <td>1</td> <td>John Doe</td> <td>example@example…</td></tr></table>