知らんけど。

主にプログラミングについて書きます

ソフトウェア開発と認知負荷

これは ゆるWeb勉強会@札幌 Advent Calendar 2023 - Adventar の7日目の記事です! 自分はフロントエンドエンジニアをしています。 2023年は色々な場面で認知負荷と戦いました。 UI/UXデザイン、コード、マネジメント、色々なことをうまくやるには認知負荷…

Graph DB を調べる

以下のエントリーで TypeScript プロジェクトにおける依存関係を可視化するツールを作りたいと書きました。 hori-chan.hatenablog.com まずは Graph DB についてちょっとだけ調べました。 気軽さを重視したい。 Amazon Neptune aws.amazon.com Amazon Neptun…

typescript-graph を本格的に作り込みたい

TypeScript のプロジェクトにおいて、PRのレビューの際に、レビュー対象のファイルなどの構造についてやその変化をより把握しやすくするために、tsc を使用して各ファイルや変数や関数などの関係をグラフデータに落とし込んで参照できるようにしたいと考えて…

2022 ナンプレアプリ開発まとめ

numberp ナンプレアプリ numberp とは Vue から React へ移行した モチベーション 移行にあたって発生した作業 コアロジックのパッケージ化 パッケージ化前から境界を設けていた パッケージを分けるだけでは不十分 内部構造に詳しくなくても利用可能な IF と…

GitHub Repository に公開した package を GitHub Actions でインストールする

状況 何をしようとしていたか 問題点 詳細 解決方法 ポイント あとがき 状況 僕は、numberplace-generator という数独の問題を生成するパッケージを GitHub Actions に公開しています。 github.com そして、numberplace-generator で生成した問題を遊ぶ numb…

特定の文字列をサジェストした上で全ての文字列を受け付ける LooseAutocomplete

type LooseAutocomplete<T extends string> = T | Omit<string, T>; TypeScript Tip #12 Ever wanted just a _bit_ of autocomplete?Here, we create a TypeScript helped called LooseAutocomplete which gives us autocomplete while also allowing arbitrary values.Picked up this ti</string,></t>…

自分が勉強する姿を子供に見せています

勉強する時間がない! エンジニアの勉強には多くの時間が必要ですね。コードを書く時間、書籍を読む時間などなど。しかし、その時間を捻出するのは難しいものです。時間の捻出の難しさは人それぞれですが、私には家庭があり子供の遊びに付き合う必要があるな…

僕のコーヒーの楽しみ方

みなさんはいつもどのようにコーヒーを楽しんでいますか? 僕は10年ほど前から、コーヒー豆を挽いてハンドドリップで淹れるのが日課になっています。 僕のコーヒーの楽しみ方を書かせていただきたいと思います。 ハンドドリップして水筒で持ち歩く 仕事の…

Next.js メモ

本当にただのメモ 気づきとか意外なこととかをメモしていきます。 コンポーネント内で空白スペースをうまくいれるには 以下のように改行があったとしてもスペースなしになる。 Helloの後ろや <strong> の前にスペースを入れたくても prettier などで補正されてしまっ</strong>…

Mac でのキーボード設定など

Mac でのキーボード設定 Mistel Barocco M770 の設定 ディップスイッチ1 のみ ON マクロ等なし システム環境設定 システム環境設定 キーボード キーボード キーのリピート → 最速 リピート入力認識までの時間 → 最短 修飾キー USB-HID Keyboard (Barocco の…

Rust Tips : バイナリプロジェクトにおける責任の分離

以下の記事から引用&和訳したものです。 大事なので、なんども読みたいので、載せました。 doc.rust-lang.org 複数のタスクの責任をmain関数に割り当てるという組織上の問題は、多くのバイナリプロジェクトに共通しています。そのため、Rustコミュニティで…

僕のRust チートシート

自分のためのチートシートを作ります。 このチートシートを少しずつ育てていくことにする。 コマンド 調べる サードパーティクレート 小技 main 関数からは Ok / Err を返せる Resultが返る関数においてErrが返ったら即リターンする?構文 Vec<i32>の合計値を求め</i32>…

フロントエンドで Selenium を使って TDD した話

テスト駆動開発 Advent Calendar 2020 フロントエンドで Selenium を使って TDD した話

ナンプレSPAを vue + TypeScript で作った話 〜フロントエンドにクリーンアーキテクチャを適用する〜

ナンプレSPA(number place infinity)とは ※注意 始め方 ルール 遊び方 カーソルの動かし方 数値の入力 数値の削除 使った技術 デプロイ環境 作った経緯 アーキテクチャ Core/Application/View 分離のメリット 課題 学んだこと・経験したこと 11/30の発表で…

就職してチームビルディングしてます

ゆるWeb勉強会@札幌 Advent Calendar 2020 2日目の記事です

TypeScriptで型安全な関数合成を行う

型安全な関数合成関数を作成したのでメモします。 関数合成を行う関数compose const defaultFunction = (p: any) => p; const compose = < F extends (...args: any[]) => T0, T0 = ReturnType<F>, T1 = T0, T2 = T1, T3 = T2, T4 = T3, T5 = T4, T6 = T5, T7 =</f>…