3週目


3-1何を勉強しますか~~


サーバーの完了
RestControl-自動応答器のjson応答
サービス-更新時に必要
Repository-必要な作成、削除、表示
requestDto-データの移動に必要な変更
HTML,CSS
-->スケルトン、修飾
JavaScript, JQuery
-->動的移動

3-2プロジェクトの作成とAPIの設計


API:クライアント/サーバ間の連絡先

3-3 Repositoryの作成

extends JpaRepository<Memo, Long> {
	**List<Memo>findAllByOrderByModifiedAtDesc();**
}
JPA公式ホームページ
: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods

  • フリー・クエリー(sql)を作成する場合は、リポジトリを変換する必要がある場合があります.
    ex) repository.findAll()は書かれていますが、生成時に最新の順序でソートしたい場合は.
    -->JPAルールに従ってメソッド名を作成すれば、自分で論理を解決できます.

  • findByLastnameAndFirstname()
    :Lastnameというメンバー変数に基づいて検索
    --> findByLastname
    :LastnameとFirstnameメンバー変数で検索する場合-->findByLastnameAndFirstname

  • findAllByOrderByModifiedAtDesc()
    findAll:すべて探し出します
    By:
    OrderBy:順番に並べ替え(Orderは後でもう一度By)
    ModifiedAt:この基準でソート(変更日)
    Desc:降順
    -->変更日の最新順に並べ替えてください.
  • 3-4,3-5:復習


    3-6~3-10 HTML,CSS,JS,JQuery


    id, class

  • id:htmlファイルに1つしか存在しません-->#

  • class:繰り返し可能-->です.

  • html,css:静的(静的)ファイル

  • json = dictionary
  • html学習リンク
    (コードアカデミーhtml-英語)
    https://www.codecademy.com/learn/learn-html
    (生活コードhtml-ハングル)
    https://opentutorials.org/course/2039

  • backtic:指定した変数値を文字列に挿入する場合

  • jQuery:事前に作成されたJavaScript関数の集合
    $('#contents').hide():idがcontentsのやつを見つけて隠す

  • 入力値
    $('#post-url').val();

  • 入力値
    $('#post-url').val('new text');

  • HTMLの削除
    $('#cards-box').empty();

  • HTMLの追加
    $('#cards-box').append(`
    <div class="card-body">
        <a href="#" class="card-title">여기 기사 제목이 들어가죠</a>
        <p class="card-text">기사의 요약 내용이 들어갑니다. 동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라만세 무궁화 삼천리 화려강산...</p>
        <p class="card-text comment">여기에 코멘트가 들어갑니다.</p>
    </div>
    `);
  • 3-12コメントの作成
    data: JSON.stringify(data),
  • stringify:Javascript値またはオブジェクトをJSON文字列
  • に変換
    クエリー3-14コメント.
    GET時
    Responseでコンソールを撮っている間にModifiedAtはありませんでした
    -->Timestampedフォルダにアクセスする場合、Getterによるクエリーは不要
    タイムスタンプに必要なLombok
    @Getter
    @MappedSuperclass
    @EntityListeners(AuditingEntityListener.class)
    week04application
    @EnableJpaAuditing
    -->JPA使用時に必ず入れる
    -->データが変化した場合、JPAは自己反映します
    -->作成/変更時間の変更時に自動的に更新されます.(Timestamped)
  • getでhtmlを構成する場合は、id=1のすべての部分を${id}に変更する必要があります.
    -->
  • 課題
    タイムラインサービスが読み込まれたコメントリストの時間を、クエリー時間から24時間以内に設定します.
    ヒント1)spring jpa localtime間
    ヒント2)現在:LocalDateTime.now()
    1日前:LocalDateTime.now().minusDays(1)
    summary
    https://www.notion.so/teamsparta/Spring-3-ab1e9fc209b14c01ade78367b3775461