たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

MToon

ライティング調和型のトゥーンシェーダー. トゥーンシェーダ的な効果を付与しつつ、 PBR のシーンライティングと協調することを目的とします。 日本の手描きアニメ表現への特化はしません。 VRM1.0 spec draft VRM1.0で仕様書が作成されるみたい. ライティン…

コアコンピタンスの探し方

引き算しながら仮想競合と比べる. 例: YouTube vs ニコニコ 引き算: コンテンツとユーザーを全部なかったことにしたら (システムだけ残したら) 結果: 使いやすいし宣伝に使える資本もあるYouTubeが勝つ。 ニコニコにコアコンピタンスがあるとしたら、少なく…

シェーダー技術

displacement mapping: 頂点の移動 vertex shaderで頂点を動かす。 proceduralに動かす(e.g. ランダム)こともあるし、texture使うこともある. 精細なマップを用意しても頂点数が足りないと変になる(テッセレーションすればそれも解決する) normal mappin…

レンダリング周りの技術

クオリティとリソースと率直さの兼ね合い 解像度が上がると負荷が上がる (e.g. fragment shader) リソース消費を抑えると実装の複雑さが増す (e.g. single-pass rendering) 現実のシミュレーション度を上げるとリソース量が増える.

押しボタンVR

押し込んだ時の音、離した時の音. リリースされた後の戻りの動き.

批判を上手に扱うのはとても難しい

効果も高いが高度な訓練と深い自己制御ができないといとも簡単に暴走する 有効な使い方 サイエンス。 副作用 - - 背景 目的を失うと副作用がガンガン出てくると思う。 作れないとこうなりがち、というのは直感としてある。 目的: 善くする事 制約: 自分は創…

不具合の修正方法

不具合に対して 受け入れ 1-a. 正常処理 1-b. 縮退処理/fallback 拒否 (遷移禁止) 1-bと2は要件の適応にあたる. 実装して運用して初めて要件の合理性が判明する 「やってみなけりゃわからん」 「合理的でない要件」だと後からわかるケース 頻度0.01%で起き、…

Do -> Check -> Action -> Plan -> Do

PDCAじゃなくてDCAPD サイクルは道具。 Doから生まれる価値&知識が全て。 2度とDoしないならほぼ意味がない (他へ流用できる知識が残るならまだ良い) Doして学んでDo、これが基本形. Checkは検査・現状把握、Actionは適応 Do -> (CAP) -> Do do -> (working …

アジャイルソフトウェア開発

宣言の理解 from Manifesto for Agile Software Development .4. Responding to change over following a plan より重きを置くのは、変化への応答 from Principles behind the Agile Manifesto .1. Our highest priority is to satisfy the customer through…

効果的な静的コード解析

lint結果を無視したくなる心理 もう使っていないコードへの指摘 でけぇモノの1部をいじるコードであって一部以外の安全とわかりきっている部分をショートカットしたい リファクタリングをしておかないと静的コード解析を無視し始める、非常に良くない.

派生作品とリスペクト

私の好み: 派生作品の場合、元ネタを良い方向で扱う. 私の好まない: 派生作品が元ネタをdisる、元ネタに物申す 基本スタンス: 好きなものを推せ、好きでないものは「こういうのが好きな人もたぶん居るんだと思う」と思ってノータッチ。disるくらいなら自分で…

Node.jsでもimport/exportは動く

Node.jsでES Modulesがネイティブに動く時代なのです。 Working Code // package.json { "type": "module", } // eptESM.js export const f1 = () => 1; // eptCJS.cjs const f2 = () => 2; module.exports = f2; // ipt.js import { f1 } from "./eptESM.js…

web app manifestは実体として何をするのか

ユーザーエージェントへ「ネイティブアプリぽいUXでwebアプリを動かす」ためのメタデータを渡す インストールできるんじゃないの? manifestを含むwebページを用意しインストール、機内モードにした上でブラウザキャッシュを消し、インストールされたwebアプ…

mocking with Jest

spy と stub の両機能を達成するために、spy 可能なフックを持ちつつ返り値を実装できるmock functionが提供されている. spy としての利用: 何回 call されたとか、spy での入出力とか stub としての利用: 値を吐き出す APIs mock jest.fn(): mock function …

データ形式

message interchange format シリアライゼーション形式/serialization format encoded messages 評価観点 speed: serialize/deserizlize time size: serialized data size representation: what format can represent (e.g. type, enum) 型の表現 0と"0"を異…

Fetch API周りの丁寧な世界

URLSearchParams fetch Bodyにセットすると自動でContent-Typeをapplication/x-www-form-urlencoded;charset=UTF-8にしてくれる、安全。 To safely extract a body and a Content-Type value from object, run these steps: ... Set Content-Type to applica…

Notifications API

sound属性はdeprecated. commit

Live Broadcasting

Live Broadcasting: 記録と同時 (live) に公衆送出 (broadcasting) 語から考えると、使われる技術やコンテンツ種別を問わない。が、慣習的に以下の語句使い分けがある。 電波: 生放送/Live Broadcasting インターネット: 生配信/ Live Streaming 電波の方はT…

リアルタイムとtimelapse

リアルタイム: イベント到達遅延の最小化 timelapse: 時系列の正確性

知らないことは抽象化できない

気づかずに省略、はでき得る 理解した上で適切に省いて抽象化、は知らないとできない https://note.com/kenta_design/n/n3e57a8f09734 写真のごとくコピーすれば対象を理解せずとも記述できる。 でも例えば「ポップまつぼっくりアイコン」に抽象化しようとし…

エンタメを見る心理

コンテンツの面白さ 一体感 「昨日の○○めっちゃ良かったよなー!」 「それは草」「いやそうはならやんやろww」 親しみ 純粋にコンテンツの面白さだとしたら、何十倍も視聴者数の差がつくのは直感に合わない (どれもそれぞれの良さがあって、何十倍もエンタメ…

記憶の外部化

あとで誰かが内部化(想起・思い出し)するために外部化 未来の自分、未来の同僚、未来のコントリビュータ

全体像を理解する

全体像を把握したい 全体像を把握するために全てを理解する必要があるとつらい ∵一度に考慮すべき範囲は小さいほど上手くいく 1. ドキュメントを書く 筋が良くない 2. 全体像を象徴するコードを書く

librosaのリサンプリング

[resampy] kaiser_best: default filter [resampy] kaiser_fast: faster filter [scipy.signal.resample] [scipy.signal.resample_poly]: polyphase filtering1 Resample x along the given axis using polyphase filtering. docs↩

Amplify/GraphQL@keyのcomposite sort keyが動く仕組み

"key2nd#key3rd"という属性を自動生成し、この属性に対して文字列比較を提供する Composite sort keyとは Given that DynamoDB limits you to query by at most two attributes at a time, the @key directive helps by streamlining the process of creatin…

stagingの立ち位置: 本番と同じ運用/監視

staging: 正常系と同じ監視システムを用いたテスト GitHub flow v2でいうfinal testing in production? でもmerge後ではあるんだよな dayスケールで走らせる 非定型のアラート 定型の閾値監視

監視の目的

なんでバグがダメなのか システムの品質を下げ、要求品質に届かなくする可能性を高めるから 監視の目的 品質の低下を検出する 品質改善方法の糸口を得る 「うちのシステムは最強なので常に最高の価値を提供し続けています」 => 機能を発揮し価値を提供してい…

利害関係とビジネス

利害関係者が利益を得る 顧客が満足して、提供者が満足して利益を得て、プラットフォーマーが利益を得る. どういう分配かが大事. 顧客満足と提供者満足だけに終始すると提供者が赤字になって継続性がなくなる.

devContainerからDocker build/run

devContainer内からのDocker run vscode-dev-containers/containers/docker-from-docker

環境変数とコンテナ環境のベストプラクティス

とにかく気楽にenv使いたい: localEnvをセットするだけ dev: process.envが読み取る (no special needs) container: localEnvを挿入 docker run --env NAME=value <containerName> web build: webpackでlocalEnvを挿入 localEnv汚染/名前衝突が嫌だ: ファイルに隔離 -> devC</containername>…