[TIL]20210624-運航18日目



今日のTILは時間の流れにあわてて

今日習ったこと


callback, Promise, async/await


DREAMコード(YouTube)の非同期処理課シリーズで再復習.
  • 同期と非同期
    :JavaScriptは同期(同期)言語です.すなわち,昇格からコードは記述順に実行される.

  • なぜ非同期処理を行わなければならないのですか?
    :JSはブロック内のコードを同期して実行し、時間のかかるコードを非同期処理しなければ空のデータを出力できます😅

  • 地獄
    :コールバック関数のみを使用してコードを記述する場合は、コールバック関数のコールバック関数のコールバック関数で...カルバック地獄からなる地獄に出会える.
    promiseまたはasync/awaitを使用してcallback地獄から抜け出す🔥
  •     class UserStorage {
          loginUser(id, password, onSuccess, onError) {
            setTimeout(() => {
              if (
                (id === "ellie" && password === "dream") ||
                (id === "coder" && password === "academy")
              ) {
                onSuccess(id);
              } else {
                onError(new Error("not found"));
              }
            }, 2000);
          }
    
          getRoles(user, onSuccess, onError) {
            setTimeout(() => {
              if (user === "ellie") {
                onSuccess({ name: "ellie", role: "admin" });
              } else {
                onError(new Error("no access"));
              }
            }, 1000);
          }
        }
    
        const userStorage = new UserStorage();
    
        const userId = prompt("아이디를 입력해주세요.");
        const userPw = prompt("비밀번호를 입력해주세요.");
    
        userStorage.loginUser(
          userId,
          userPw,
          (user) => {
            userStorage.getRoles(
              user,
              (userWithRole) =>
                alert(`Hello, ${userWithRole.name}! you have a ${userWithRole.role}.`),
              (err) => console.log(err)
            );
          },
          (err) => {
            console.log(err);
          }
        );
  • Promise
    JSオブジェクトは、
  • 非同期処理を簡略化するのに役立つ.
  • Promissは、「解決」(成功)と「拒否」(失敗)に分けて値を渡すことができます.
  • State: pending/fulfilled/rejected
  • // 브라우저에서 받아오는 것처럼 보이기 위해 setTimeout 사용
        const promise = new Promise((resolve, reject) {
    		setTimeout(() => {
        		if (condition) resolve('success!');
    			else reject(new Error('not found'));
        	}, 2000);	
    	})

  • async/await
    :プログラミングを続けるとコードの可読性が低下するので、文法糖async/awaitを簡潔に書くために!
    同期して実行されているように見えます.
  • asyncを使用すると、関数のコードブロックが自動的にPromiseに変換されます.
  • 承諾には拒否がありますが、async/awaitにはありませんので、try/catch/(finally)文を使用できます.
  • 今日やったこと


    git&githubコラボレーション方法の理解


  • 航海99クルーたちと集まって実験をしました.
    :前のミニプロジェクトでは、ほとんどのCrewが毎日衝突と戦っていました.そのためか、彼はGitをどのようによりよく使うか、次のプロジェクトをよりスムーズにするためにGithubをどのように利用するかに興味を持っている.
    それでチップをもらいました.
  • ブランチに分かれて動作する場合は、commit->fetch->merge->pushの順にします.
  • のキャストで問題を運用した方が良い.
  • テンプレートは、
  • 期およびpullリクエストで使用できます.( https://soft.plusblog.co.kr/66 )
  • イベント番号(#1)をコミットに使用すると、コミット内容がイベントに表示されます.

  • 自分で探してみる
    :githubをどのように使ってコラボレーションするかについての文章は多いですが、私がお勧めする読みやすい文章は多くありません.
    今日は今後のプロジェクトチームで、必要であれば共有したいgithubコラボレーション記事を見つけることができます.
    GitHub]GitHubとのコラボレーション方法[2]-Forking Workflow heejeong Kwon 28 Oct 2017
    前のプロジェクトで、誰もが1つのリポジトリでコミットできる場合は、forkでそれぞれのリポジトリで動作し、PRで行う必要があります.
  • VSCプラグインの追加


    一人でもいろいろなプラグインを使っていますが、誰もがもっと良いプラグインを知っています.
    今日インストールされたプラグインは次のとおりです.
  • ハイライトマッチタグ:HTMLで現在変更されているタグペアをハイライト表示します.
  • tabout
  • GitLens
  • 実はtaboutもGitLensも強力な推薦でダウンロードしたのですが、まだちゃんと使ったことがないので、何も言うことはありませんハハ
    明日から私の特技の授業をよく利用します.

    article


    软件的学习方法


    テーマは壮大ですが、どのように持続的に発展し、開発するかについての物語だと思います.
    全部で12の話をしましたが、その中で一番感じたのは7回です.
    指導者が必要です.
    指導者は私より少しだけよくなればいいです.
    私の隣の人は指導者です.
    最近は周囲の人の大切さや必要性を強く感じていたので、さらに感じました.
    今日もTILでGitについて一緒に考えてプラグインをお勧めしました.
    1ヶ月前なら、彼は一人ですべての試行錯誤を経験するかもしれない.
    今の航海は完全に満足しているわけではない.
    しかし、一緒に悩んで困難を克服した人がいて、この点は満足しています.✨
    あと80日余りで、お互いに助け合って、補充してほしいです.

    谁乱了名字?


    強いテーマに惹かれて読みだした.
    開発の勉強を始めるとき、一番難しいのはネーミングです.ゼロから始めるときもネーミングが難しく、入社したらどんなにいいだろう.🤷🏻‍♀️
  • booleanタイプの変数に否定型を使用するのはよくありません.
    :そう書いたことはありませんが、確かな間違いだと思います.true/falseですが、否定的な形で聞かないでください.😢
  • 正しい名前は
  • 単数/複素数、
  • です.
  • を略すなら、単語をはっきりさせましょう...
  • ハングルの発音で書かれた命名法の最悪はです.
    良いアドバイスで面白い例ですが、最後の「英語は上手に」は笑えません.
    私は思い出して、私の英語の成績はいつもとても悪くなくて、大学はすでに卒業して、会社も志望書を書いていないので、ずっとこのようにしています.
    知らなかったけどうまくいかなかった状態?
    翻訳されていない正式な書類を読むために英語をハミングして、無理に聞くしかない様子から、私はもう英語を勉強する必要があることを知っています.回避するだけだ...
    正式に英語を勉強することはできませんが、書類を読みながら、分からない単語を探しながら理解する習慣を身につけなければなりません.
    学ぶべきことが多すぎる🤦🏻‍♀️