技術系
はじめに RecoilというReactの状態管理ライブラリが存在します。 自分はよく、/user/meから取得したユーザー情報をこのRecoilのStateに入れて保管しています。 しかしただログイン状態を入れるだけでは、複数タブで同じページを開いている場合に片方がログア…
remark.jsというのを知っていますか?知らない方向けに一言で説明すると、マークダウンをHTMLに変換するJavaScriptのツールです。 react-markdownなんかも内部はこれで動いています。 remark.jsはプラグインをサポートしており、自分で自由に構文を作成する…
TL;DR ChakraUIには@chakra-ui/storybook-addonという便利なアドオンがある これを使用するとStorybookで簡単にChakraUIを使用できる しかし、ツールバーのテーマボタンはconst {setColorMode} = useColorMode();などが効かない 解決するには、.storybook/pr…
株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記 4月1日です。今日はエイプリルフールですが、この記事は本物です。 タイトルにある通りに株式会社はてなに入社します。はてなとは1年ほど前からアルバイトをさせていただいて…
TL;DR Sign your Git commits with 1Password | 1Passwordを使用するとGitのコミット署名を1passwordで管理することができる。 GPG keyを使用する場合よりもかんたんに署名することができ、管理もしやすくて最高 コミット署名には苦い思い出があった Gitには…
TL;DR 記事タイトルを[カテゴリー]タイトルのようにすると[]の中が自動的にカテゴリーになる。 カテゴリーを複数設定する場合は、[カテゴリー1][カテゴリー2]タイトルのように連続にする。 ??? 少なくともヘルプには書いていないので隠し機能(?) help.…
TL;DR github.com/go-rod/rodを使うと簡単にできる package main import ( "path/filepath" "github.com/go-rod/rod" "github.com/go-rod/rod/lib/proto" "github.com/go-rod/rod/lib/utils" ) func main() { browser := rod.New().MustConnect() page := br…
Goのxmlパーサである、encoding/xmlのパースベストプラクティス(自分調べ)です。 通常のパース <data> <item> <title>hogehoge</title> <link>https://cateiru.com</link> </item> </data> type Data struct { Item struct { Title string `xml:"title"` Link string `xml:"link"` } `xml:"item"` } go.dev 複数…
2022-12-15T06:12:47+09:00の形式をパースします。 TL;DR d := "2009-10-01T13:48:00+09:00" parsedTime, err := time.Parse(time.RFC3339, d) ... Playground go.dev
この記事は Calendar for 東京電機大学 | Advent Calendar 2022 - Qiita の10日目です。 ITエンジニアしていますか?私は日々、クソコードを量産したり研究室で発狂しています。 さて、このブログではITエンジニアに向けて料理という趣味について紹介をして…
この記事は Calendar for 東京電機大学 | Advent Calendar 2022 - Qiita の9日目です。 みなさん、Wi-Fi使っていますよね?Wi-Fiを選ぶ際にはどういう指標をみて選んでいますか?おそらく、一番はacやbeなどというIEEEの規格で選んでいることが多いかと思い…
この記事は、Calendar for 東京電機大学 | Advent Calendar 2022 - Qiita の8日目です。 昨日は、 埼玉をダ埼玉に変えてしまうブックマークレットを作成しました。そして、今回は、私が生まれ育った「茨城県」を使って遊んでいこうかと思います。 魅力度ラン…
この記事は Calendar for 東京電機大学 | Advent Calendar 2022 - Qiita の7日目です。 皆さん、埼玉県民していますか?私は、2019年から埼玉県民の一員として日々精進しています。 その、暮らしの中で私はあることに気づきました。 埼玉県民は自虐ネタが好…
この記事は、 Calendar for 東京電機大学 | Advent Calendar 2022 - Qiita の6日目です。 昨日はUNIPAのセッション維持方法を見ました。今日は、東京電機大学で使用しているもう一つのポータルサイトであるWebClassのセッション維持方法を見てみます。 els.s…
この記事は、 Calendar for 東京電機大学 | Advent Calendar 2022 - Qiita の5日目です。 東京電機大学では、学生用のポータルサイトで日本システム技術株式会社のUNIVERCAL PASSPROT RX(以下、UNIPA)を導入しています*1。 https://portal.sa.dendai.ac.jp…
この記事は Calendar for 東京電機大学 | Advent Calendar 2022 - Qiita の4日目です。 昨日は、HIBIKI-CUBEさんの ESP32でYDLiDAR GS2を使う - Qiita でした。 passkeyというものを知っていますか?passkeyとはFIDO/WebAuthnという仕様に沿って実装される機…
この記事は Calendar for 東京電機大学 | Advent Calendar 2022 - Qiita の2日目です。 昨日は、 OSSにコントリビュートしたのとzodのすゝめ - blog.cateiru.com でした。ぜひ観てください。 この記事はClean Codeのメモです。詳しくは読んで下さい。 Clean …
この記事は、 Calendar for 東京電機大学 | Advent Calendar 2022 - Qiita の1日目です。 皆さん、OSS活動していますか?私は、最近、ealush/emoji-picker-react: React Emoji Picker に対してバグ修正のPRを投げました。 github.com この記事では、このバグ…
私のポートフォリオ(?)サイトである cateiru.com をアップデートしました。 アップデート内容箇条書き 管理者ページからすべての情報を変更できるように変更 お問い合わせを送信すると、Discrod、Slack、メールに通知できるように 制作物の詳細を別ページ…
目的 GCPのCloud RunからCloud SQLに接続するためにはソケット接続する必要がある。 SQLのDSNは直書きではなくmysql.Configで定義したい。 TL;DR config := mysql.Config{ DBName: "[database name]", User: "[user]", Passwd: "[password]", Addr: "[unix s…
GoのClient Hintsパーサを書いたので使い方メモ github.com インストール 使い方 例 技術的な話 バグ報告など リンク GitHub ドキュメント インストール go get github.com/cateiru/go-client-hints/v2 使い方 goclienthints.Parse(&r.Header)のようにして引…
TL;DR entには全体のスキーマを出力する機能はない 空のデータベースに対してマイグレーションDiffを作成して.sqlファイルに出力する ctx := context.Background() db, err := ent.Open("mysql", "docker:docker@tcp(localhost:3306)/em?parseTime=True") if…
2022年の7月に、はてなブログのアップデートで全ての見出しにid属性が付与されるようになりました。 staff.hatenablog.com もともとは、見出しのid属性は目次をつけたときしか付与されていませんでしたが今回全てに付与されるようになったことでどの記事でも…
自宅でNAS兼、検証機としてUbuntuを運用しているが、公開LANなどを使用していて接続はtalscale経由でVPN貼っているものしかつなげたくないという場合の備忘録です。 TL;DR ufwのallowでfromを100.64.0.0/10にする。 動機 賃貸物件で「インターネット無料」と…
OpenEEWというものを知っていますか? OpenEEWはオープンソースで開発されているEEW(緊急地震速報)システムです。 これを使用することで、日本のように地震警報システムを持たない国でもユーザが地震感知デバイスを自宅に設置することEEWを出せるようにな…
皆さん、ORMライブラリは使っていますか?私は、最近Goでentを使ったアプリケーションを開発しています。 そこで、SQLのマイグレーション方法についてSQLサーバーが特殊であるため簡単にできなかったため備忘録として残そうかと思います。 環境 プログラミン…
TL;DR 研究で、Raspberry Pi OSのカーネルに別の変更*1をマージした 脳死でPRを作成したらフォーク元のraspberrypi/linuxのブランチにPRを作成してしまった github.com 謝罪 ほんとうに申し訳ないと思っている。すまん どうすれば良かったのか PRを作成しな…
最近、大学のプロジェクト個人的な趣味でWebアプリを作っています。どういうものかというと、「行ってみたいのに一人で行く勇気が持てない」お店に一緒に行ってくれる人を探せるサービスです。 そのなかで、ホームのページを作成する際Twitterのようなタイム…
GitHubヘビーユーザーなら気づいたことはあると思うが、通知メールを開くをGitHub側の通知が既読になる。 これ、疑問に思ったことは無いだろうか。この記事ではどういう方法で開封チェックを行っているのかを見ようと思います。 TL; DR imgタグで1x1 pixelの…
7/20 追記 原因は、ビルド時と実行時のnodeのバージョンが違うことで発生する問題のようでした。 ビルド済みバイナリでは、node14でビルドしており実行は16の場合に問題を再現することができました。 解決策は、ビルド済みバイナリは使用せずにソースから直…