[항해99] 66일차

카테고리 없음|2021. 8. 12. 01:17

항해 99

 

66일 차 :

 

 

요즘 들어 나빼고다 성장한 것 같아 난 뭐 하고 있는 건지 라고 생각이 드는 하루였다.

창길님이랑 같은 팀을   -주특기 기본 , 미니프로젝트 , 클론 프로젝트 , 파이널 프로젝트로 4번이나 했다.

처음에는 내가 싫어하는 학교 선배를 닮아서 싫었는데 ㅋㅋ(진짜 같은 사람인 줄...)  알고 보니 굉장히 좋은 사람이었다. 

말도 잘하고, 설명도 잘하고, 팀 리드도 잘하고 , 짱짱맨이야. 

유학생들의  비슷한 환경을 겪었어서 그런지 비슷한 점도 많이 있는 것 같다.

창길님이 실력이 느는 게 하루마다 느껴져서 부럽다....

나도  잠을 자지 말아 하는 걸까.

게다가 상현님 TIL 을봐도 초고속 성장인 것 같아 나만 머릿속에서 이우 이우 🚨거리고 다들 잘하는 것 같아서 슬픈 하루다.

 

나뺴고 learning curve가 다 파란색인것같은느낌

 

 

 

 

 

 

SerializeUser 가 passport에서만 있는 개념인 줄 알았는데 알고 보니 더 큰 개념인 것 같다.

Serialization :

transform the complicated data structure into a single line or JSON to send 

https://www.youtube.com/watch?v=uS37TujnLRw 

 

Javascript : 

 

자바스크립트 물음표 왜캐많음.. 

 

?? :  물음표 물음표

nullish coalescing operator : 

 

A 가  null / undefine이면 B로  return 

let vegie = A??B

?. :  물음 표점 

optoinal chaining 

객체 안의 들어간 속성 값을 가져올 수 있다.

dog이름이 없으면? undefine을 반환한다

 

const adventurer = {
  name: 'Alice',
  cat: {
    name: 'Dinah'
  }
};

const dogName = adventurer.dog?.name;
console.log(dogName);
// expected output: undefined

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Optional_chaining

 

Optional chaining - JavaScript | MDN

?. 연산자는 . 체이닝 연산자와 유사하게 작동하지만, 만약 참조가 nullish (en-US) (null 또는 undefined)이라면, 에러가 발생하는 것 대신에 표현식의 리턴 값은 undefined로 단락된다.

developer.mozilla.org

 

? : 물음표

삼항 연산자

 

a가 참 투수면 B 아니면 C

var res = (A=== True)? B:C

 

 

2.  인기글 가져오기 

 

prisma에서   orderByRelation 설정해주면  

relation 설정해준 거에 따라서 order를 가져올 수 있지! 

그럼  해당 post에 like개수를 가져와서 order를 하면 인기글이 완성되지! 되지? 돼지! 

generator client {
  provider = "prisma-client-js"
  previewFeatures = ["referentialActions","orderByRelation"]
  
}

근데 우리는 post like개수가 없지! 그래서 이거 찾아봤자 쓸모없지! 

그럼 어떻게 해야 해!

그냥 다 가져와서 loop 돌려서 해당하는 좋아요 숫자 넣어서 다시 sort 해! 

 

근데 궁금한 거는 저거  sort가 시간 복잡도가 뭔지 잘 모르겠음

이래서 알고리즘을 배운 효과가 여기서 나오는 건가? 그럼 여기서 bubble sort.... 등 (생각 안 남) 여러 가지 sortintg algorithm을 여기서 구현을 하는 건가!!!! 오??????

import { prisma } from xx

export default async () => {
  const Post = prisma.post
  let postWithLike = {}

  const posts = await Post.findMany({
    include: { postLike: true,
               user:true }
    
  })

  for (const post of posts ){
    //console.log(post)
    //console.log(`${post.postId} has ${post.postLike.length} like`)
    post["likeNumber"] = post.postLike.length

  }
  posts.sort(function(a, b) {
    return b.likeNumber - a.likeNumber;
  });
  console.log(posts);
}
반응형

댓글()