220324 TIL


Today I Learned


1.プロジェクト問題シュート


FileReaderプレビューで複数の画像を処理する
写真をアップロードする前に、プレビューのために早く処理しました.
JavaScriptに埋め込まれたFileReaderを読み込みます.
const reader = new FileReader();
base 64ファイルのデータurlを抽出しhtmlに送信すればよい.
reader.readAsDataURL(file);
reader.onload = () => {
  console.log(reader.result)
}
これを利用して、多くの画像もプレビューを実現しようとしています.for文を回して、各ファイルのurlを抽出して収集すればいいと思います.
しかし、どんな方法を使ってもファイルは含まれますが、本当の読み取りは読み取り専用で一番前に並んだ最初のファイルです.心を砕くようなこと.
答えは簡単すぎる.
FileReaderを呼び出すと、1つのファイルのみが読み込まれ、ロールは終了します.
だからforドアの外でFileReaderを発表して、回って、1つしか読めません......
for文で宣言すると、各ファイルはFileReaderを宣言します.
 for (let file of Files){
      const reader = new FileReader();
      reader.readAsDataURL(file);
      reader.onloadend = () => {
        console.log(reader.result);
      }
    }

2.CS学習


第12章並列と非同期(p.475からp.476)
  • 短期ロック実施
  • ロックを実現する方法は実際には1つしかありませんが、番組で表現する方法はいろいろあります.
  • エンベロープを実装するには、ロックをサポートするハードウェアサポートが必要です.
  • プロセッサ提供命令(原子命令):システムモードでのみ使用可能なROCKを直接実施
  • 検査後設定(test and set)
  • 比較後置換(compare and swap):rockを競合するプロセスが多い場合、
  • は正常に動作します.
  • ロックに他のコードを追加することで、より効率的なロック
  • を実現することができる.
  • 長期楽実施
    複数のプログラムがリソースにアクセスできない場合は、
  • が必要です.
  • ファイル実装(メモリよりも永続的なリポジトリに格納)
  • を頻繁に使用する.
  • は、最初の要求のプロセスが成功したシステム呼び出し=lock割り当てと同じ、排他的に使用可能なファイルを生成する.
  • To Do


    1.プロジェクト列のエンコーディングを完了する


    2.CS学習を完了する


    Always完成)アルゴリズム最低1題-20324's Algorithm


    Today's Short Report