📰 Topics

twadaさん回のfukabori.fmを䞭心にむンプットの倚い週でした。

たたBash-itやvcxsrvによるWSL2/Ubuntu環境敎備も必芋です😉
どちらも単䜓で蚘事が曞けるレベル、時間を芋぀けお曞きたいですね。

Table of Contents

曞いたこず

今週はありたせん。
ブログを1蚘事曞きたかった。。

読んだこず/聎いたこず

27. 論理削陀ずは䜕かどのような解法があるのか w/ twada

fukabori.fmでt-wadaさんがDBの論理削陀に぀いお話されおいたした。

心に残ったポむントです。

  • 思考停止しおすべおのテヌブルに削陀フラグを付けるのはアンチパタヌン
  • ドメむンで論理削陀ずいう蚀葉が出る堎合はドメむンモデルを疑った方がいい

たた、削陀フラグを䜿いたい堎合の代替案に぀いおも玹介されおいたした。

  1. ステヌタスを䜿う
  2. アヌカむブテヌブルを䜿う
  3. UPDATEやDELETEのないImmutableチックな蚭蚈を䜿う
  4. 遅延レプリケヌションでUNDOできるようにする

3ず4の発想はなかったので倧倉参考になりたした。

28. 技術遞定の審矎県(1) w/ twada

同じくfukabori.fmでt-wadaさんが話されおいたした。
耇数回の長線ずなっおおり、その第1回です。

『ベテラン゚ンゞニアの数少ない匷みは、䞀回り前の螺旋をリアルタむムで感じおいたこずだ。』ずいうフレヌズが印象に残っおいたす。

  • 技術トレンドは垞に新しいものが出るわけでない
    • 䞀回り前にトレンドずなったものが改良されお再び出珟する
  • 再床トレンドずなるには理由がある
    • 䞀回り前で課題になっおいたこずが解消されおいるケヌスが倚い
  • ベテランは䞀回り前に珟堎でリアルな経隓を積んでいるこずが倚い
    • 䞀回り前ずの差分を芋極めやすいその経隓は匷みである

そしお、倉わらない技術には共通点があるずいうこずも。
『制玄が匷く、シンプルで、1぀の共通抂念に抜象化されおいる』ずいうこず。

この続きは是非本線をご芧䞋さい🀣

月収100䞇円のUberEats配達員が倧切にする「たったひず぀のこず」

どの分野でも成果を䞊げる人がやるこずは同じですね。
基本に忠実にストむックに無駄を無くせるか。

Rust for JavaScript Developers

JavaScript開発者向けのRust玹介蚘事です。
゚コシステムや仕様ずをJSず玐付けお説明されおいるので非垞に分かりやすいです。

個人的に印象に残っおいるポむント。

  • cargo installはグロヌバルむンストヌルなのでcargo-editを䜿う
  • タスクランナヌはMakeを䜿う
  • cargo-watch
  • constはコンパむル時に定数ずなる

Tauri

フロント゚ンドをHTML/JS/CSS、バック゚ンドをRustで䜜るデスクトッププラットフォヌムのフレヌムワヌクです。

TypeScriptもサポヌトされるのであれば非垞に気になるプロダクトです。
Electronの埌釜候補の1぀ずしお期埅できるかもしれたせん。

呜名のプロセス

暗黙知ずされるこずが倚い呜名のプロセスが詳しく曞かれおいたす。必芋👀

特に以䞋の文が奜きです。

蚭蚈ずは、自分が芋おいる堎所が「このテストを曞くのがどれほど倧倉だったか」で、名前を倉えるこずでその気付きを曞きずめるルヌプである。(通垞これは「正しいこずをする」名前に修正するステップである)

本文はかなり長いですが、最埌の方でDDDの話が出おきおテンション䞊がりたす☺
『名前を぀けるこずがプログラミングの7割、キャッシュが2割であずはオマケ』ずは蚀ったもので、名前だけ芋ればコヌドの品質が分かるずいうのも玍埗ですね😜

詊したこず

【GitHub】ナヌザに玐づくREADME

ナヌザ名ず同じリポゞトリを䜜成しおREADME.mdを曞くずトップペヌゞに衚瀺される機胜を詊したした。

こんな感じに衚瀺されたす。

【Rust】cargo-watch

Rustのコヌドを倉曎するず、自動でビルドや凊理を実行しおくれたす。
cargo install cargo-watchでむンストヌルする必芁がありたす。

倉曎時にビルドしおそのたた実行するコマンドです。
-xオプションでcargoコマンドを指定したす。

cargo watch -x run

【TypeScript】mockdate

珟圚日時を任意の倀に指定できるMockを䜜成できたす。

dayjsの䜜者が案内しおいたので䜿っおみたしたがシンプルで䟿利でした。

調べたこず

【Git】公開鍵のフォヌマットが䞍正な譊告

倚分、Gitをバヌゞョンアップしおからこの譊告が出るようになりたした。
Gitの動䜜には問題ありたせんでした。

load pubkey "/c/Users/syoum/.ssh/id_rsa_github": invalid format

もう䞀床ssh-keygenでキヌを䜜成/登録しなおしたら消えたした。

秘密鍵のヘッダずフッタが倉わっおいたのでこれが圱響しおそう。

- -----BEGIN RSA PRIVATE KEY-----
+ -----BEGIN OPENSSH PRIVATE KEY-----
- -----END RSA PRIVATE KEY-----
+ -----END OPENSSH PRIVATE KEY-----

以䞋の蚘事で簡単に説明されおいたしたので、気になる方はそちらをどうぞ。

敎備したこず

Bash-it

Bash-itはBashコミュニティが提䟛するBashのコマンド/スクリプト矀です。
䞻にプロンプトの芋た目/挙動を倉曎する目的でこちらを導入したした。

READMEの手順に沿うよう、Ansibleのroleを䜜りたした。

- name: "Clone"
  git:
    repo: https://github.com/Bash-it/bash-it.git
    dest: ~/.bash_it
    depth: 1

- name: Install
  shell: ~/.bash_it/install.sh
~/bash_it/install.shを実行するず.bashrcが䞊曞きされるので泚意

むンストヌルをするず既存の.bashrcが完党に䞊曞きされたす。
远蚘ではありたせん。

䞊曞き前のファむルは~/.bashrc.bakずしお保存されおいたす。
/bashrcをカスタマむズしおいる堎合はむンストヌル埌に蚭定をマヌゞしたしょう。

プロンプトテヌマは既存のものを参考に自䜜したした。
コヌドを敎備したら、公開する予定です。

WSL2のUbuntuからIntelliJ IDEAを䜿う

以䞋の蚘事でむンストヌルしたvcxsrvを䜿っお、IntelliJ IDEAをりィンドりで立ち䞊げたす。

フォントのむンストヌルなどは必芁ですが普通に動きたした。
ただ、日本語入力ができないので察策が必芁です。

スマホからGmailをアンむンストヌル

以䞋の蚘事に圱響を受けお、スマヌトフォンからGMailを消したした。

理由は以䞋の通りです。

  • Gmailで急ぎ 返信 が必芁な甚事はない
  • Gmailで急ぎ 連絡 が必芁な甚事はない

急に必芁になった堎合は、iPadやPCで送信すればいいかず。

今週のリリヌス

Togowl v1.16.3

期限倉曎カレンダヌの開始曜日を月曜日に倉曎

Todoistも䌚瀟のカレンダヌも月曜日なのであわせたした。

Owlelia v0.11.0  v0.12.0

datetimeモゞュヌルの远加

OwleliaのValueObjectを実装した日付型のvoを远加したした。
内郚ではdayjsを䜿った薄いラッパヌずなっおいたす。

ドメむン駆動開発をする䞊で、日付型はほが必ず登堎するため同梱するこずにしたした。
DDDのコアで䜿うモゞュヌルではありたせんが䟋倖的に。

サンプルコヌドです。

import { DateTime } from "owlelia";

console.log(DateTime.now().rfc3339);
// -> 2020-07-18T11:50:11+09:00

console.log(DateTime.of("2020-01-01").rfc3339);
// -> 2020-01-01T00:00:00+09:00

console.log(DateTime.of("2020/01/01").plusDays(3).rfc3339);
// -> 2020-01-04T00:00:00+09:00

console.log(
  DateTime.of("2020-01-15 13:00:00").between(
    DateTime.of("2020-01-15 12:00:00"),
    DateTime.of("2020-01-15 14:00:00"),
  )
);
// -> true

console.log(
  DateTime.of("2020-01-15 13:00:00").between(
    DateTime.of("2020-01-15 13:00:00"),
    DateTime.of("2020-01-15 14:00:00"),
    {
      includeBegin: false,
      includeEnd: false,
      ignoreTime: false,
    }
  )
);
// -> false

console.log(
  DateTime.of("2020-01-15 13:00:00").between(
    DateTime.of("2020-01-15 13:00:00"),
    DateTime.of("2020-01-15 14:00:00"),
    {
      includeBegin: true,
      includeEnd: false,
      ignoreTime: false,
    }
  )
);
// -> true

今埌テストケヌスに䞀通り远加しおいくので、詳しくはそちらをご芧䞋さい。

その他

iPad Proの暙準メモは最匷なのではないか

iPadでApple Pencilを䜿ったメモツヌルは色々ありたす。
私も以䞋のツヌルを状況に応じお䜿い分けおきたした。

しかし、最近になっおこの䞭の1぀を䜿うこずが倚くなりたした。
それはメモです。プリむンストヌルされおいるアプリです。

他のツヌルに比べお機胜は劣りたすが、逆にそのシンプルさが最倧の魅力です。
やはりメモたるもの、気軜に盎感的にサッず䜿えなくおいけたせん。

私がメモを気に入っおいる点は以䞋9点です。

  • ロック画面でApple Pencilをダブルタッチするずすぐに䜿える
  • ゚ンピツの曞き心地がよい
  • ツヌルチップがオシャレ
  • ペンの傟きに応じお䜿い心地が倉わる.. 特に゚ンピツず消しゎムは必芋!!
  • 玙に曞いおいるず錯芚するほど遅延やペン先のズレがない
  • 暪幅は固定だが瞊のサむズは䌞ばせる (無限?)
  • ロングタップをするず描画領域党䜓を画像ずしおコピヌできる
  • 自由範囲を遞択しお移動/耇補/コピヌができる
  • Apple Pencil以倖反応しない

䞀方、埮劙な郚分もありたす。

  • 1画面に沢山の文字(ベクタヌデヌタ)を曞くず突然重くなる
  • キャンバスの拡倧/瞮小、ベクタヌデヌタの拡倧/瞮小ができない
  • 図圢描画などはできない
  • 暪幅が固定
  • 画像ず手曞きを共存させるのが難しい (画像デヌタに曞き蟌みはできる)
  • 共同線集ができない

ずはいえ問題にならないケヌスも倚いので、その堎合は他のツヌルを䜿えば十分です。
珟実䞖界のA4甚玙にメモを曞くのず同じ感芚で䜿えるのが気持ちいいですね😁

メモでラフに曞いおコピヌした画像をSlackで共有..よくしたす👍