アクセスしたら気分が上がる404ページ

みんなは404ページ*1にアクセスしたことがあるだろうか。 おそらく、だれしもあると思われる。 お気に入りのブログをブックマークに登録していたらいつの間にか記事が消えていた リンクをコピーしたつもりがミスってしまった URLの仕組みを知りたくて適当に…

備忘録: TypescriptでのRecoilとLocalStorage接続

recoiljs.org const localStorageEffect = <T>(key: string): AtomEffect<T> => ({setSelf, onSet}) => { if (process.browser) { const savedValue = localStorage.getItem(key); if (savedValue !== null) { setSelf(JSON.parse(savedValue)); } onSet((newValue</t></t>…

待ち合わせがスムーズになるWebアプリを作った

find.cateiru.com どういうもの? 相手の位置が矢印と距離で表示します。 Waaaaay!のWebアプリ版と思ってもらえればイメージしやすいと思います。 Androidは動作未確認です。多分うまく動かなさそうです。 使い方 待ち合わせを作成を押して新しく待ち合わせ…

株式会社はてなに入社しました

株式会社はてなに入社します 株式会社はてなに入社しました - hitode909の日記

寝る前の30分でSambaで管理しているNASをVPNから接続できるようにする

TL;DR Tailscaleを使用すると数分でVPNを構築可能 前提条件 Sambaがインストールされており、ローカル上でNASとしてすでに機能しているPC やり方 1. Tailscaleを使用してVPNを構築する これは、簡単です。Tailscaleにアクセスしてアカウントを作成します。そ…

SNSの世代が変わっていく

3月はよくTwitterでこのようなツイートを見かける 〇〇大学 △△学部です!よろしくおねがいします!! #春から○大 #○大生と繋がりたい これをみると懐かしくなる。自分も大学入学したときはそのようなツイートをして同じ大学に入学する人とつながっていた。 …

長年付き添ったMacBookProが急にいってしまった

そう、あのときは突然だった。 私は、サポーターズの人と面談をするためにMacBookProを充電していた。最近は、Windows機で開発をしていたため充電は0%だった。 そして、Zoomで面談が始まる。充電はまだ24%ほどしか溜まっていない。 最初は順調だった。充電ス…

Goのテストカバレッジ上げるのって難しくね?

Goのアプリケーションで、CodeCov使ってテストカバレッジとっているのだがカバレッジ上げるのにすごく大変なのでメモと言うか愚痴というか。 Goではエラーはタプルの返り値で帰ってきてnil判定で判別します。 このように: hoge, err := sameHandle() if err …

GoでFormFileがあるHandlerのテストを書く

はじめに Goで、FormFileがあり画像ファイルを読み込むHandlerを書いたがテストでハマってしまったので備忘録として書く。 TL;DR writer.Close()にdeferはつけない 本文 func HogeHandler(w http.ResponseWriter, r *http.Request) { if err := r.ParseMulti…

Webアプリのログイン情報保存について

Webアプリケーションでログイン処理を作る際、ログイン情報の保存は必要となる。しかし、どのようにして保存するのか方法が沢山あるため個人的な備忘録としてまとめたい。 この記事はid:cateiruの薄い知識の上に成り立っているため間違えている箇所があれば…

あけおめ初投稿

明けましておめでとうございます。id:cateiru です。 ブログに記事が0件なのは流石に悲しいのでとりあえず去年のまとめと今年の抱負を書き散らしてみようかと思います。 去年はどうだったか 2021年は個人的にあっという間に過ぎていき、内容も濃かったような…