1. 브랜치 develope 의 브랜치 feature/posts 에서의 작업이 끝남

2. 브랜치 develope 으로 이동

3. develope 에서 merge 수행

git merge --squash {병합할 브랜치}
git commit -m "squash & merge"
  • merge 취소 방법
    1. git reflog or git log 를 입력해서 hash 확인 (git reflog 가 확인이 편리)
    2.  -- hard 이용 :  커밋되지 않은 모든 내용이 
      1. git reset --hard {hash}
      2. 바로 이전의 hash를 알지 못한 다면 아래 방법도 가능
        • git reset --hard HEAD~1
    3.  -- merge 이용
      1. git reset --merge  {hash}
      2. git reset --merge  HEAD~1

https://sequelize.org/docs/v6/core-concepts/model-querying-basics/#specifying-attributes-for-select-queries

 

Model Querying - Basics | Sequelize

Sequelize provides various methods to assist querying your database for data.

sequelize.org

 

원하는 콜롬보다 원하지 않는 콜롬이 더 많을 때 exclude 사용하면 편리

Model.findAll({
  attributes: { exclude: ['baz'] }
});

 

에러 발생

  • 이메일 주소를 입력하는데 입력이 안되는 상황
    • 입력 : testpass@email.com
    • curl -X 'GET' \ 'http://localhost:3000/posts/user-email/{email} \ -H 'accept: application/json'
    • 이유
      • swagger 작성시 name에 email 이 아닌 다른 단어를 입력하여서 입력된 이메일 주소를 인식 못함
        • name : user-email -> name: email
  • 결과에는 문제는 없지만 이메일 주소를 입력하였는데 @ 가 다르게 변경되어서 입력되는 상황
    • 입력 : testpass@email.com
    • curl -X 'GET' \ 'http://localhost:3000/posts/user-email/testpass%40email.com' \ -H 'accept: application/json'
    • 이유
      • 자동으로 컴파일을 하는 기능이 있는 듯 하다.
      • 콘솔에서 읽을 때는 문제가 없이 @ 을 인식

 

 

null

  • 위의 그림 처럼 DB 에 null 부분을 표현 하고자 nullable: true 를 했지만 원하는 형태로 표현이 안됨
    • startDate  부분에 null 을 입력해 주는 걸 기대 -> date-time 형식으로 출력
    • 해결
      • startDate 등 에 대한 값 설정에서 "example : null" 을 추가하면 null 로 표시 가능
      • 하지만 값이 있어야 하는 경우에는 example 을 삭제하고 date-time 형식으로 나오게 할 것

 

 

정적 웹 콘텐츠(static web content)

  • HTML, JPG, GIF
  • 실시간으로 변하지 않는 데이터

동적 웹 콘텐츠(dynamic web content)

  • 실시간성을 요구하는 콘텐츠
  • ASP, CGI
  • 웹서버의 과부하를 일으키는 주요 요인
  • 데이터 관리가 어려움 
    • 요청받은 내용에 대해 프로그램을 실행한 후 그 결과물을 보내주어야 하기 때문
  • 동적 웹 콘텐츠 캐싱은 웹서버 내부에서 빠른 처리를 위해
    • 웹서버 전위(front-end)에 설치하는
      • 역방향 프락시캐시(reverse proxy cache)
      • 웹서버 가속기 (web severaccelerator)

 

 

약한 일관성 유지 기법 :: 변경되었을 가능성이 높은 경우에만 확인 하는 기법

  • adaptive TTL(time-to-live):  캐시 내에 이미 존재한는 객체에 대한 요청이 있을 때마다 근원지 서버에 객체의 변경 여부 확인
    • 대부분의 상용 프락시서버들이 사용

강한 일관성 유지 기법 :: 반드시 최신 정보가 사용자에게 전달되는 것을 보장하는 기법

  • 웹서버와 네트워크의 부담이 커짐
  • polling-every-time : 변경여부를 매번 근원지 서버에 확인
    • 사용자 지연시간 증가
    • 네트워크 유통량 증가
    • 웹서버의 과부하
  • invalidation : 근원지 서버가 객체를 캐싱하고있는 모든 프락시버를 기억

 

 

+ Recent posts