뉴스피드 만들어보기
콜 바이 밸류 & 레퍼런스
내일 자고 일어나서 볼 것
참조한 사이트
팀원들과 협업으로 뉴스피드를 만들어보기로 하였다.
국,내외의 축구정보를 정리하여 업로드하고, 회원가입을 받아 댓글과 좋아요를 받는 방식이다.
express
: 웹 개발을 위한 프레임워크(기본뼈대)
jwt
: 안전한 인증
sequelize
: MySQL 서비스와 연결
위는 사이트의 ERD이며 내가 맡은 역할은 회원가입 및 프로필 페이지를 만드는 것이다. (로그인 기능은 다른 팀원 분이 맡으셨다.)
스키마
정규화를 하여 둘로 나눈다.
user.js
: 유저id, 닉네임, 비밀번호, 생성일, 수정일. 게시글, 댓글과 1:다 관계
userinfo.js
: 유저정보id, 유저id
, 이름, 연령, 성별, 프로필이미지, 생성일, 수정일. user와 1:1관계
라우팅
post("signup"
: 회원가입
post("/login"
: 로그인
get("/posts"
: posts 와 users 의 관계를 이용해서 작성자의 id를 가져온다.
put("/posts/:postId"
,put("/posts/:postId"
,delete("/posts/:postId"
: 게시글의 생생성, 수정, 삭제등에서는 미들웨어에서 가져온 유저id와 posts 와 users 의 관계로 가져온 유저id의 값을 비교한다.
자바스크립트 뿐 아니라 자바, C#, C++ 같은 언어에서도 사용되는 중요한 개념이라고 한다.
Call by Value 불변값(immutable)
원시 primitive 형태의 값을 사용하는 경우.
number, string 같이 불변하는 값이다.
Call by Referenece 변하는 값(mutable)
원시 형태가 아닌 참조 reference 값을 사용한다.
예) 0x00
< 주소 값
function sum(obj) {
const result = obj.number1 + obj.number2;
obj.number1 = 0;
obj.number2 = 0;
return result;
}
const obj = {
number1: 1,
number2: 2,
}
const result = sum(obj);
console.log('number1: ', obj.number1, 'number2: ', obj.number2);
console.log('result: ', result);
number1
과 number2
를 더하는게 아니라 그 둘을 객체
에 넣어서 매개변수로 사용하였다.
객체는 값을 가지는게 아니라, 값이 저장된 주소를 가지므로 이런 일이 일어난 것이다.
간단 정리 : 네트워크 통신의 과정을 7단계로 나눈 것.
1. 물리 계층
2. 데이터링크 계층
3. 네트워크 계층
4. 전송 계층
5. 세션 계층
6. 표현 계층
7. 응용 계층
oci 7계층 내일 자고 일어나서 꼭 볼 것.
TCP UDP
cors acao
깃 명령어
echo "# lv3_team" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin <repository>
git push -u origin main
git commit
만 입력해서 더 자세한 커밋을 할 수 도 있다.
git remote add origin <repository>
git branch -M main
git push -u origin main