2023.06.20 TIL

0

TIL

목록 보기
34/37
post-thumbnail

오늘의 나는 무엇을 잘했을까?

클래스와 객체지향에 대해 심화 학습을 하면서 자바스크립트에서 상속과 객체지향을 어떻게 구현하는지 이해했다. 또한 특강을 통해 mongodb 쉘에 접속하고 BJON문을 사용해서 간단한 데이터베이스 도큐먼트 CRUD도 학습하였다.

오늘의 나는 무엇을 배웠을까?

자바스크립트 클래스

class생성자 함수
new 연산자 없이 호출하면 에러new 연산자 없이도 호출 가능(undefined 반환)
extends, super키워드 지원지원 안함
함수 객체이지만 호이스팅 발샐하지 않는것 처럼 작동(TDZ)선언문: 함수 호이스팅 발생
표현식: 변수 호이스팅 발생
암묵적으로 strict mode적용strict mode가 적용되지 않음
constructor, 프로토타입 메서드, 정적 메서드 모두 [[Enumerable]]값이 false-

자세한 내용은 아래의 포스트에 정리하였다.
https://velog.io/@bunnylab/자바스크립트의-클래스와-객체지향

Next.js API

  • app router에서 바뀐 부분들
    1. metadata 객체 사용
    2. 예약 파일 사용(page, layout, error, loading)
    3. 라우터의 사용
      1. pages: useRouter 하나로 해결
      2. app: useRouter, usePathname, useSearchParams등으로 분리
    4. 서버, 클라이언트 컴포넌트
    5. SSR방법
      1. pages: getServerSideProps
      2. app: 그냥 api호출 사용
  • API 기본
    • route.ts가 api의 엔드포인트가 된다.
    • 쿼리 파라미터는 new URL(req.url)을 통해 받아온다.
    • 또는 params 객체로 받아올 수 있다.
  • 데이터베이스
    • SQL vs NoSQL
    • SQL은 스키마가 엄격(name이라는 field에 string만 온다면 무조건 그렇게 넣어야만 함)
    • NoSQL은 필드와 다르게 넣어도 안정성은 낮아도 유연하게 동작함
    • 프론트엔드 개발자로서 MongoDB가 온전한 API를 만들고 싶을 때 쉽고 편리
  • MongoDB 기본 용어
    • collection: 도큐먼트의 묶음(SQL에서는 테이블 또는 릴레이션으로 부름)
    • Document: 기본 데이터의 단위(SQL에서는 row 또는 tuple)
    • 모든 document에는 primary key역할을 하는 _id필드가 존재

Mongo DB

  • shell 접속

     mongosh "mongodb+srv://cluster0.jfaarr7.mongodb.net/" --apiVersion 1 --username twinsluv183
  • 도큐먼트 추가

    • db.collection이름.insertOne({…})
  • 컬렉션 보기

    • db.collection이름.find() → 전체 보기

    • db.collection이름.find({username: “케니”}) → username필드가 케니인 도큐먼트 보기

    • db.collection이름.find({title: {$in: [’개발글’, ‘제목1’]}})

  • 도큐먼트 수정

    • db.collection이름.updateOne({title: ‘제목1’}, { $set: {title: ‘new title’ }})
    • db.posts.updateOne({title: '디자인글1'}, { $push: {tag: "개발" }})
  • 도큐먼트 삭제

    • db.posts.deleteMany({title: 'new title'})
    • db.posts.deleteOne({title: "제목3"})

오늘의 나는 어떤 어려움이 있었을까?

계획했던 일을 잘 못하고 있다. 정신이 없어서 약속했던 일도 까먹기도 하고 집중력이 잘 안돌아오고 있는것 같다.

내일의 나는 무엇을 해야할까?

  • MongoDB 복습
  • 발표자료 만들기 시작

0개의 댓글