Why Rust
- 静的型検査が厳しいコンパイル型言語になっている
- 人間が気にしなければいけない領域が少なくて済む
- 外部との境界も、コンパイルできている状態かつserdeのようなserialization用のライブラリを信用さえできれば、煩わしい「境界のテスト」を最小限に済ませられる。
- O'Reilly Japan - 脳に収まるコードの書き方 https://www.oreilly.co.jp/books/9784814400799/
- PHPは学習コストが高い
#Testing #WIP
しかたなくレガシーコードと向き合わなければいけないときの個人的心構えを書いていく
意図がわからないときは歴史をReverse Engeneeringする気持ちで追う
現状のコードが論理的に正しいドメインロジックになっているという幻想を捨てる
レガシーコードの改善やリプレースのコストが効果に見合わなければ手を付けない
#Cosense(旧Scrapbox) #Scrapbox #wip
階層型じゃないから
階層整理型WiKiはスケールしない
仕込んだ赤リンクが青リンクになるのが気持ちいい
雑に書ける
wip
これさえ守ればうまく行くということはないが、これを破ってしまったときは大抵後で不都合の出る設計になる
wip
wip
WIP
後で書こうと思ってたけど、エンジニアは何を学ぶべきなのか で大体言いたいこと言ってた。
WIP
Wip
WIP
#WIP
https://www.reddit.com/r/aws/comments/18kyg5v/ecs_vs_eks/
#WIP #Remix
会社でもよくRemixを使っているが、その選定意図とかを会社以外で話すときに資料がないのでちゃんとしたものを作るまでのメモ
RemixがめちゃいいというよりはNext.jsがつらい、もしくは不安感が大きいのが主な原因
印象論みたいになってるところが多いのであとで実例とかエビデンス貼っときたい
Next.jsがつらい
#Rust
名前空間を限定することによる衝突回避、型チェック
const _: () =
feat: put parts of the generated code in a private namespace (const _… · audunhalland/unimock@6d95bd4 https://github.com/audunhalland/unimock/commit/6d95bd467a0aeb0b1356d47d1988d1daa9f23752
The ability to ensure that code type checks while discarding the result is useful, especially in custom derives. For example, the following code will not compile if the type MyType doesn’t implement t
プログラミング言語やフレームワークにおいて、事前に決められているコードを書く上での指針がある。
例えば、Rustにおける「所有権の問題を回避するために無闇にcloneするのを避けるべき」、Go言語における「変数名を短くするべき」が挙げられる。これについて、盲目的に従うことが良いことだと言わんばかりに、厳密にそれを守ろうとして悩むことに異を唱えたい。一応、読む上での注意点を下部に記載している。
以下では、「良しとされていること」を「ルール」と短縮する。実際はルールというほどの強制力はなく、ただのガイドラインだったりするが、盲目的に従われることが多いことから「ルール」と呼ぶ。
前述のRustの例だと、無闇にcloneするとどういうことが起きるのか、変数名が長くなるとどう良くないのかなど、ルールに従うことのメリットとデメリットを理解していれば、そのルールに従わなくてもよい場合、従わないほうが良い場合があることはわかるはずだ。もしルールに従うことに迷いが生じているのであれば、それはルールによってもたらされる便益を本当は理解していないのだ。理解していないし理解しようともしない
一方で、ルールのありがたみを理解し、そのうえでルールに従わない方が良いと判断したのであれば、自らの責任でルールを破ってよいのだ。成果物をツール(言語)に左右されるのではなく、お前が舵を取れ。
#Rust
Feature flags · Serde https://serde.rs/feature-flags.html#rc
#Rust
「属人性」と「属スキル性」は区別したほうが良い。
まずはじめに、属人性と属スキル性について解説しておく。
属人性
特定の個人に依存する性質
#Rust
.env から読んだ環境変数つきでアプリケーションを起動するスクリプトを作る
envconfig - Rust
code: run.sh
#!/bin/bash
前までVimでメモっていたものをScrapboxに移行
https://rust-lang-jp.zulipchat.com
Top topics - The Rust Programming Language Forum
Tokio チュートリアル (日本語訳)
Rustで簡易ウェブクローラを作る
#Rust
Diesel is a Safe, Extensible ORM and Query Builder for Rust
仕事で使っている。だいたい良い。
同期処理。ただ、それで性能の問題は起きていない。
メソッド名とそのインターフェースが直感的でない
#PHP
1年の振り返りを色々と考えていたら、PHPにイライラしたことばかりが頭に浮かんでくるのはもはや恒例行事だ。2022年のことだったと思うが弱小PHPerにとっては腹立たしい挙動があったのを思い出してしまった。
PHPは学習コストが高いと常々思っているが、これに関しては本当に許せなかった。PHPに詳しい人ならわかるのかもしれないが、開発するのにこんな知識が必要な言語がもてはやされているのは全く理解できない。(PHPという存在自体へのリスペクトはしている)
うろ覚えだが、たしかLaravelで、
https://laravel.com/docs/10.x/validation#form-request-validation のようにリクエストのバリデーションをするクラスを作成していたときだったはず。