あと、TypeScriptのPlayGroundもありますね。https://www.typescriptlang.org/play?#エディタは実装できそうでしたが、コードの実行はどうするんだろうと思い調べると、普通に文字列を実行していました。https://github.com/mdn/bob/blob/main/editor/js/editable-js.js#L81これを組み合わせれば実行できそうですね。Functionを使って文字列を実行すると危ないかもしれない。MDNのように、iframeに閉じておくべきかiframeに閉じた。https://github.com/kajirikajiri/monaco-editormdnのbobのコードを真似してコード実行環境をブログ上に作成した。editorを使ったので、補完が効いてmdnよりいい感じになった気がする。mdnのbobはどうやってconsole.logを出力してるんだ?console.logを上書きでもしてるのか?と思ったら本当に上書きしてた。あとchatGPTの解説が良すぎる気がする。ofをよく使うが、Promiseを先に共通化しとけばいいやんと思って、共通化したら、1回目のループでPromiseが解決して、2回目以降のPromiseが即解決するというミスをしたサブドメインを一つだけ許可する正規表現を考えた/\Ahttps?:\/\/[^.]+\.example\.com\z/readme.comのAPI_DEFINITION_IDはどこにある?この形式のURLにアクセス。https://dash.readme.com/project/YOUR_DOMAIN/VERSION/reference例えば以下のURLになる。Definitionsセクションへ移動。xxxxxxという形式で記載されている。いづれかのkeyがあればそれを使うし、なければ作ればよい。ググっても全くヒットしなかったので、readme.comのドキュメントがもう少し検索にヒットしやすいとうれしい。求めていたものだと思うパスワード、秘匿情報、口座とか全部まとめれる。あと、ブログのアクセス数が30日で400超えてる。mau400?じわじわと増え続けてるnem.io/downloadsがないここから最新のzipをダウンロードしてhttps://github.com/NemProject/NanoWallet/releasesreadmeにあるとおりに、start.htmlを開いて、あとは以前までと同じようにできるhttps://github.com/NemProject/NanoWalletwalletのrepositoryはこれhttps://github.com/NemProject/NanoWallet公式サイトが移行したっぽいhttps://nemproject.github.io/nem-docs/pages/Guides/nanowallet/nanowallet-explorer/docs.en.htmlgithubがわからないともはやwalletにすらアクセスできないのはびっくり。開発者じゃないとむりやんとおもいましたよく紹介してある、walletをダウンロードするリンク先は以下ですが、存在しないといわれます。https://nem.io/downloads/xem公式とかでググると、https://nemproject.github.io/が見つかりますが、いまいち信用できんな。おもったけど、リポジトリとか確認したらそれっぽかったので信用した。スマホの通知を止めて見えなくしたメインの口座とクレカ、仕事の通知はONにしたiPhoneはホーム画面から取り除くことできるようになったので、ホーム画面のアプリを全部消したhttps://support.apple.com/ja-jp/guide/iphone/iph248b543ca/iosこれでホーム画面には何もなくなったホーム画面に通知アイコンが見えると開きたくなってしまうので、それがなくなったのが嬉しいマネーフォワードアプリを消した結論として、時間が勿体無いと感じたため。プレミアムを契約していたし、1日5回くらい見てたけど、その時間が勿体無いなと思った。20個くらいは口座とかクレカを連携していた。口座は1つにして、クレカも1つにして時間がかからないようにした。無料アカウントの連携数が10から4になったが、それが原因ではない。熱海駅にきたよこれは秘宝館のいりぐちプリン屋さん海issuconが気になるissuconで高得点出せるようになれば、いろんなことに対応できそう。パットしか見てないから、もう少し調査が必要かもしれないけど。そのときに記憶に残ったものsqliteで書かれたシステムを修正する高得点が出るようにするということはある程度出来上がったシステムがあって、それに改善を加えてパフォーマンスを良くするのかな?無から有を作るのとはまた違いそう。場当たり的な対応力だけでも対応できそう。お題は毎回異なると思う。パフォーマンスチューニングを求める会社はおそらくある程度成長した会社である。楽しそうではあるなーこの人のリンク先が良さそうだった。Guidelinesから参照してドキュメントに記載できた利用者はデバイスが変わったとしても同じ並びを期待するはず。みたいなところに参照として貼り付けておいた。自分がデザイナとして権威があれば不要かもしれないが、現在の本職はエンジニアなので、権威があるドキュメントを示せる場合、相手に対して説得力が増すはず。Designと似ている。ガイドラインhttps://developer.apple.com/design/human-interface-guidelines/guidelines/overviewガイドラインのナビゲーションナビゲーションを理解しておき、いざという時に使えるようにしておく。プラットフォームごとにまとめられている。端末の特徴とか書いてた。デザインに関連することのそれぞれのまとめって感じ。designと対比できそうで良い。入力についてやフィードバックについてなど。Designは細かい数値が書いてあるけど、HIGはそこまで書いてない。それぞれのコンポーネントの使い方が書いてある。入力に使う対象について書いてある。3のサイトを自動で翻訳して欲しくて拡張機能を入れて課金したが、メインコンテンツが翻訳されなかった。ナビゲーションとフッターだけ翻訳されるかんじ。Designのドキュメントの読み方をメモモチベーションいつも使っているmuiを使いこなしたいたまにここのパディングはなぜこの大きさ?と聞かれた時に感覚で。いう感じになってしまうため、デザインの理由を説明できるようにしたいjestでa11yを使ってテストを書いているけど、a11yのことをよくわかってないので理解してテストを書く速さを上げたい。本でいう目次にあたると思う。ここは大事だと思うのでまずはここから把握。この辺は良さそうだった。Guttersのあたりが良さそう。これは良さそうだった。pixelsこの単位を使ってデザインする画面のサイズが変わっても同じ大きさでデザインできるようになるっぽいhttps://material.io/design/layout/pixel-density.html#pixel-density-on-the-webwebではpxを使うhttps://material.io/design/layout/spacing-methods.html#baseline-grid基準が書いてある。積立NisaやNisaの売却優先順を決めたよ前提Nisaとは積立NisaとNisaのことです。普通の積立は課税口座で積立したやつです。2022/10/25検討すべきことを追加します。積立Nisaは保持した期間が長くなるだけ、利益が増えるはず。あれば、非課税とはいえ、早期に売るということはその後には利益が増えたはず。利益が増えれば非課税額も増えるので、その分損しているような気もする。非課税期間が終了した後は結局また株を買うか、特定口座にそのまま移すんだろう。寝かせ続けるだろうから、まあ、どれから売っても一緒な気はする。あれば、その時になるべく現金を多く得られるようにするのがいいかな。Nisaじゃないやつは20%くらい税金とられるはずだから、Nisaから取り崩した方が、同じ額ならNisaの方が現金を多くえられるはず。あと現金とか株の割合が気になる。みんなどんな感じなのかね。低い(マネックス証券のidecoラインナップで見比べると一番低い。https://www.dcnenkin.jp/search/product.php?mode=show&item=784)https://emaxis.jp/pdf/web/viewer.html?file=/pdf/koumokuromi/253266/253266_20220723.pdf#page=7https://emaxis.jp/fund/253266.html以下2つのリンク先を見る限り、主な費用は上記3つ。https://www.toushin.or.jp/investmenttrust/costtax/index.html松井証券https://www.matsui.co.jp/service/fund/study/cost/これってつまり全米株式に賭けれるので、大体は年利10%で増える。S&P500は導入された1957年以来、平均約10.7%/年の上昇率を記録しています。上場インデックスファンド米国株式(S&P500)の利回りは、+7.03%です。過去に自分で平均を調べた時は10%くらいだった。損失が出て損切りするとしても、利益がでて利確するときも費用がかからない。いうことで相当強い気がする。試しにやってみて、急に現金が必要になったとしてうるとしても、その期間の下落or上昇+運用管理費用しか取られない。https://www.am.mufg.jp/service/ideco/sales_slim.html楽天だと積立Nisaはあるけど、idecoはないとか。いうことがあるので注意。disposed)のエラーが発生したvscode.commands.registerCommandの第一引数のコールバックでvscode.window.createWebviewPanelを実行するとこのエラーがなくなった。vscode.commands.registerCommandの第一引数のコールバックの外でvscode.window.createWebviewPanelを実行し、戻り値を使ったらエラーが発生した。前回必要と思ったVSCode拡張できたこれであとはPlantUMLで作成したSVGを読み込ませれば、一覧で確認できる。設定はjsonファイルに持たせたので、gitで管理できるはず。会社で設計スキルがもう少し欲しいなという気持ちになって、色々本を読んだ結果、RDRAに書いてあることが、今の自分が困っていることまさにそのものだった。このへんが特に気になった。影響力の大きい人が、雑誌や技術プレゼンに触発されてスタートさせたようなプロジェクトにありがちなケースが「コンセプトの不在」です。システムについてのアイディアがあり、ブレーンストーミングによって有望なアイディアがいくつもでてきます。そのアイディアを検証または分析すべく、役割を決めて作業を始めます。その結果を持ち寄り、またブレーンストーミングします。プロトタイプを作成し、実現可能性や機能の有効性を検証します。一ヶ月がたち、アイディアがそこそこ形になり、この業界流行りの魅力的なセールストークがちりばめられています。リーダーは何故か「これでいいのだろうか」という疑問を感じています。「分かってきたことは沢山あるけれども、そのひとつひとつがどうもうまくつながっていかない。細部をみると面白いことや今までになかったものができ上がってくるように思える...でも結局いまひとつ製品の全体像がつかめていない。これで本当にシステムのイメージが固まるのだろうか......」。版.アイデアはどんどん広がっていくが、イメージが固まらない。結局その時は、コンセプトに戻って、最小用件を決めた。スムーズに決まったとは言えない。快適に作業できるはずと思っていた。RDRAは全体を図にして、理解しやすくする感じ。それぞれの境界を明確にし、アクションを一つ一つ検証していく。利用者、外部サービス、内部、ブラウザアプリ。それぞれに接点がある。利用者はブラウザを操作し、結局は内部のDBにデータを保存したり、外部サービスにアクセスしたりする。それらを完璧にとは言わないが、全体を洗い出す。こんな感じのことが書いていた。これは、最近フロントを書いている時にも意識していたあたり。結局は利用者がブラウザという境界からしか操作できない。その操作ごとに、データや見た目に変化が起こる。それを洗い出し、テストを書けばいい。いった経緯もあり、何かしっくりくるところがあったので、PlantUMLや、Miro、FigmaでRDRAを書こうとしたが、Miro、Figmaは管理しづらい。Githubのようなもので管理したい。他にも色々検討はしたが、PlantUMLが良さそうという結論に至った。ソフトウェアの限界があったので、補助的なものをVSCodeの拡張機能で作成している。Nextjs、それとElectorも検討したが、VSCodeの拡張にした。https://user-images.githubusercontent.com/37785038/183293400-b5a35d4b-cec4-449f-8804-b30ced987e57.mov必要だと思ったのは一覧性。SVGを複数読み取り、表示できればよかったのだが、見当たらなかったので作成中。PlantUMLで作成したSVGをまとめて閲覧するのに使うRDRAの読み方はラドラです。RDRA:ラドラと呼びます。Projects最近、コミットを書いていて思っていたことが全て書かれていた。ソリューションを全部書き出すとシナリオを作成し、それに合わせてコミットを再編成する。コミットメッセージには、何をしているのか、なぜそれを行っているのかを記述してください。元記事を全部ちゃんと読んでください。これらは順番に、適応されている。最初はwipコミットが含まれ、途中でリファクタし、別の関心ごとにふれているように見える。Request(以降でPRとする)を投げられた方はたまったものではない。最初から、全てのソリューションを適用したコミットを書くのは個人的にはできない。コードを読み、wipコミットを加え、途中でリファクタし、別のことが気になってしまう。最初から完璧なものが書ければそれでいい。やってみたけど、それはできなかった。PRを出す前に綺麗にしよう。リファクタは最初に済ませよう。途中で気づいたリファクタでも、きっと最初に切り出せるものがあるはず。それはもう、別のPRに切り出して、リファクタのPRを出せばいい。いえ、難しいこともある。リファクタだって、意味があるから。今の流れだと、リファクタをして、その後に本来追加しようとした機能が入るはず。その文脈があるから、そのリファクタが成り立つと思う。いうところが個人的には難しい。ちなみに、この文章自体が、ごちゃごちゃで、リファクタが必要な文章だけど、走り書きなので許してください。別の関心ごとに触れたくなったら、それはそれで別のPRにしよう。大体は、PRの前にレビューがあるから。レビュワーの時間を大事にしましょう。1コミットになるんじゃないか?と最近思っている。コミットはリバートできるべき、というのも最近思っていること。戻したら壊れるコミットを本流のブランチ、mainとかmasterに含めれるのはおかしい。いざというとき、戻すのに時間がかかってはいけないはずだから。いったことをやっていけば、mainブランチを見ると、これまでの歴史が分かりやすく積み重なったブランチが完成すると思っている。ここまでくると、githubが最適ではないのでは?とも思う。いえば最近思ったことがもう一つ。PRを出す前にrebaseして綺麗にしよう。レビューとレビューの間にrebaseすると、以前のレビューとの差分がわからなくなるらしいです。レビュー前に綺麗にしよう。5,000円分のポイントマイナンバーカードを新たに取得し、マイナポイントの申込み後、20,000円までのチャージまたはお買い物をすると、ご利用金額の25%のマイナポイント(上限5,000円分)を受け取ることができます。マイナポイント第1弾に申し込んでいない方が対象です。施策2と施策3を申し込みました施策26/30スタート!施策2マイナンバーカードの健康保険証としての利用申込み7,500円分のポイントお持ちのマイナンバーカードを、健康保険証として利用できるよう申込み、マイナポイントの申込みをするとマイナポイントを受け取ることができます。利用申込みが済んでいない場合、マイナポイントの申込みの際に一緒に申込めます。・マイナンバーカードの申込み期限:2022年9月末6/30スタート!施策3公金受取口座の登録7,500円分のポイントご自身の預貯金口座を国(デジタル庁)に登録し、マイナポイントの申込みをするとマイナポイントを受け取ることができます。マイナポイントの申込み完了後に、公金受取口座の登録をすることもできます。楽天ポイントで受け取り成功しました通常ポイントでの付与でした楽天ペイアプリではマイナポイントとして楽天ポイント(通常ポイント)を進呈致します。楽天ポイントについては楽天ペイアプリをご利用した街でのお買い物のほか、通常の楽天ポイントと同様に様々な用途でお使いいただけます。マイナポイントは楽天ペイアプリからお申し込みいただけます。詳しくは以下の特設ホームページをご参照ください。picoを外部電源で起動できないmain.pyというファイルにすれば動くらしい。動かんなThonnyで保存した後に、Thonyを終了してから電源を切ったら成功しました。"@mui/material/Box";muiはこうすると、開発環境で読み込みが早くなるのです。modules)私の開発環境でテスト済み。DoddsがReactテストライブラリでよくある間違いの記事を書いてるのを見つけたので読む。適当に作ってみたhttps://calculate.app.kajiri.dev/今日はエラーメッセージを追加したreduceで早期リターンしたいこれっぽいなhttps://stackoverflow.com/a/47441371第4引数があったのか。処理対象を直接変更することで処理が完了したように見せるのか。forEachループで設定された変数が誤った型になるよ実装してて困ってたんですよねーletで定義して、forEachで副反応を実装しました。したら、初期値で代入したやつしか出てこないこれ以下を読むとそういうことになったらしい。issueがcomment多すぎて全部読めないが。callbackが確実に呼ばれるかどうかわからないから初期値のままにすることにしたっぽいが?foreachで言えば配列の要素数が0の可能性があるし。試してみたけど、どうやら、初期値を代入せずにtypeguardで型を確定させてやれば使えそうこれがいいかなーrecursiveFindを実装したいっていう気持ちになった既存のやつがあるんじゃ?と思って探したが、問題を発見した。考えてみたら、特定のobjectの形式で特定のkeyだけを探したいとか要件が色々あるので、既存のやつだと厳しいと思われる。独自実装するかPromiseを復習したそういうことだったのねーhttps://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Promise/allSettledaxiosの絡みとかも見といた少々忘れてる箇所とかあったが問題ない。messageとか欲しい。できれば、関数の内部に定義した関数の数とかも知りたい。今日の調査内容この先、調べようかなって思ってることOSSゲームwebglunitytypescriptのobjectにreadonlyはあるが、privateはまだなかったhttps://www.typescriptlang.org/docs/handbook/utility-types.html#readonlytype4.8くらいで出るかな。Unityで出力できるプラットフォーム結構いろいろなプラットフォーム向けに出力できるなーhttps://docs.unity3d.com/ja/2018.4/Manual/Standalone.html最近バグを生み出した書き方JavaScriptです。dが実行前に評価されてしまった。本当は実行時に評価したかった。2022/4/30が、いい感じだと思ったが、TypeScriptのclassが個人的に好きじゃないので、classが存在しない言語ではどうしてるんだろうって気になった。start?より良い技術的な決定を下すためには、誰かがソフトウェアに何をさせたいかということよりも、もっと多くの情報にアクセスする必要があるのです。well.ソフトウェア・エンジニアの平均勤続年数はかなり低いので、ソフトウェアはそのチームよりも長持ちし、ソフトウェアの保守や改良を担当する人々のグループも時間とともに変化していくと想定しています。経験値やスキルセットも時間とともに変化していくものと考えています。ポインタを先に進めることで物事を単純化します。一緒にマージすべき分岐作業が存在しないからです。backlogこのbugfixブランチをmasterブランチにマージする時、masterブランチの状態が以前から変更されていなければ、非常に簡単にマージを行うことができます。bugfixブランチの履歴はmasterブランチの履歴をすべて含んでいるため、masterブランチは単純に移動するだけでbugfixブランチの内容を取り込むことができます。このようなマージをfast-forward(早送り)マージと呼びます。qiitaブランチXと、そこから切ったブランチYがあるとする。YがXでの変更をすべて含むときに行われるマージをfast-forward(早送り)マージという。現在のブランチヘッドは、指定したコミットの先祖であることがよくあります。実行した場合によくあるケースです。上流のリポジトリを追跡していて、ローカルでは何も変更しておらず、より新しい上流リビジョンに更新したい場合です。この場合、結合した履歴を保存するための新しいコミットは必要ありません。更新し、指定したコミットを指すようにします。オプションで抑制することができます。merge(squashとマージ)オプションを選択すると、そのプルリクエストのコミットは1つのコミットにsquashされます。トピックブランチからコントリビュータの個々のコミットをすべて見る代わりに、コミットは1つのコミットにまとめられ、デフォルトブランチにマージされます。squashされたコミットを持つプルリクエストは、fast-forwardオプションを使ってマージされます。一緒にマージする分岐作業がないため、ポインタを先に進めることで物事を単純化します。ブランチの最新コミットを指すようにします。マージの早送りでは、「マージコミット」は発生しません。〔テープ・録画映像などを〕早送りするweblio(テープ・ビデオなどの)早送りあとがきmergeのとき、他に取り込む変更がなければ、ポインタを移すだけと理解した。ffとかfast-forwardとか聞くけど、そこまで気になってなかった今日は暇だったので調べてみた。warninghttps://github.com/github/feedback/discussions/16925jest-previewでintegration-testが楽になったintegration-testreact-testing-libraryなどを用いた、JS-DOMのテストだと思っています。楽になったポイント既存のinteration-testが失敗した場合、その時のDOMが表示されるはず。<span>hello</span></div>jest-previewを導入すると、失敗した瞬間にその時の画面の状態がブラウザに表示されます。DOMを確認するより、画面を確認する方が直感的にどこが失敗したのか分かりやすいので、とても助かる。今日はストリートの亡霊だよ👻axiosをmockしたが、useSWRの戻り値がmockされない症状axiosをfetcherにしてuseSWRを使っていた。統合テストを書こうと思い、axios-mock-adapterでmockした。戻り値がmockされない。対策useSWR公式のMiddlewareの説明やzennの記事をみて、Middlewareにしたら戻り値をmockできた。あとがきjest-previewで確認しても、処理の直前、直後でlogを出力しても解決できなかったのでなかなかてこづった。症状の詳細として、1つのテストだと成功するが、2つ以上のテストだと失敗した。stackoverflowに沿って修正してみても効果なしだった。TypeScriptでelseを書きたくないがthrowもしたくない例えば、名前を取得する関数があるとする。犬ならpochi、猫ならtamaだ。ifで書いて、もう片方をelseにするか。これは個人的に好きでない。animalが増えると、elseに入ってしまう。}}ifで早期リターンするか。これも同様にanimalが増えると、elseに入ってしまう。'pochi'}elseにして、throwするか。場合によるけど、throwしなくてもいいケースはあるのでそこらへん微妙。Error()}最近のTypeScriptは賢いので、switchにするとdefaultを書かなくてもundefinedを返さないので、その時のコードは美しい。animalが増えた時にundefinedが戻り値に含まれてしまうのはいただけない。}}これがいいのではと最近思っている。animalが増えると、TypeScriptが型エラーを吐いてくれるのでとてもわかりやすい。'pochi'}[animal]}ワイフがお呼びですSolanaのprogramのrent最近はSolanaに興味がある。Devnetへのデプロイは成功した。Solanaはstepnで使われてるのが最近は盛り上がってるようだ。個人的に気になったのは、うる覚えだが、rentが、デプロイ時に確定。2年分を定額で収める。以降のrentは不要というもの。後々、定額ではなくなるっぽい記述があったし、まだbetaなので動的になるだろうと思ってる。いうのも、見た感じ初回以降のデプロイではrentが不要である場合、初回のprogramを超軽量でデプロイして、以降のデプロイで容量を増やされると困るだろうと感じたから。「楽天モバイル」から「povo2.0」へのりかえた「楽天モバイル」から「povo2.0」へのりかえた。楽天モバイルから新料金プランへ自動移行すると発表がありました。私のメイン回線はIIJmioの4gb。IIJmioの容量がなくなった時に予備として楽天モバイルを使用していました。予備ということもあり、直近の楽天モバイルの利用履歴はほぼ0だった。方が必要な時だけトッピング方式なので、自分の用途にあっていると判断し、移行した。一日データ無制限にできるクーポン10回分。※本コードは上記の回数繰り返し入力できます。※利用した回数を確認することはできません。別途メモをとるなどしてお忘れなきように願います。5/31まで新規加入で貰えるよう。discussionsをブログに変換したよ。actionsのcronで1日1回webhookをcurlでpostする。SSGビルドが実行され、静的ファイルホスティングする。https://github.com/suan/github-flavored-markdown-test。