전체 글23 쿠키, 세션, 토큰 출처: https://youtu.be/tosLBcAX1vk 쿠키 - 그냥 옮기는 시스템, 매개체 토큰 - 서버가 기억하는 암호화 된 문자열, ID카드처럼 서버에게 보여줘야 하는 것 JWT - 정보를 갖고 있는 토큰. DB 없이 유저를 검증할 수 있다 jwt는 서버가 이중 삼중 여러대 일때 세션보다 장점을 갖는다. 보통 큰서비스들은 서버가 한대가 아닌 수십 수백대인데 세션의 경우 로드밸런싱으로 유저가 처음 방문했을때는 1번서버로 방문하여 세션이 남아 있지만 두번째 방문했을때 1번이 아닌 2번으로 붙게되면 세션정보가 없어 인증이 되지 않음. 이때 redis 세션통합으로 개발하거나 서버에 상관없는 jwt로 인증을 구현하면 됨 2021. 10. 6. Javascript 자바스크립트 특정 문자열 포함 String.includes() Javascript 자바스크립트 특정 문자열 포함 String.includes() .includes() -> 문자열이 특정 문자열을 포함하는지 확인하는 메소드. [문법] str.includes(searchString[, position]) searchString: 이 문자열에서 찾을 다른 문자열을 의미. position: 선택사항, searchString을 찾기 시작할 위치를 의미. 기본값은 0이다. [예시] 'Blue Whale'.includes('blue'); // returns false 2021. 9. 30. 관계형데이터베이스 조인, 자바스크립트 불변성 개념 [관계형데이터베이스 - RDBMS] JOIN - 여러 개의 표로 분산된 정보를 결합해서 하나의 단일한 표로 만드는 기술. 관계형데이터베이스의 핵심 (각각의 테이블들을 ★붙인다★ = 조인) 특정 테이블에서 정보의 중복이 발생할 때, 그리고 특정 테이블의 정보들이 다른 테이블에서 사용될 때 - 테이블을 따로 나눌 타이밍 trade-off) 정보를 하나의 테이블로 표현할 때 - 읽기가 편하지만 쓰기(변경)가 나쁘다 정보를 다수의 테이블로 표현할 때 - 읽기가 불편하지만 쓰기(변경)가 좋다 sql joins visualize - 조인 시각화 사이트 LEFT (OUTER) JOIN 쿼리 ---------------------------- SELECT * FROM TableA A LEFT JOIN TableB B .. 2021. 9. 25. GIT 관련 개념정리, GIT 브랜치 연습 사이트 0923(목) GIT add: 수정한 파일을 한 묶음의 세이브 파일로 만드는 과정 commit: 한 묶음의 세이브 파일을 만듦 (스냅샷) push: 깃헙 원격저장소에 세이브파일을 저장함 master: 고객에게 최종적으로 전달되는 소스코드 branch: 브랜치. 마스터로부터 소스를 분기해서 처리할 수 있음. 제 역할을 다 하면 브랜치는 삭제해도 무방. 어차피 히스토리 내역은 다 남는다. #충돌 해결방법 - 커밋되돌리기: 위험해서 안 쓰는 게 좋음 - 브랜치 따기: 돌아가려는 시점에서 브랜치를 새로 생성하여 거기서 코드를 수정하여 커밋, 푸쉬. 그리고 마스터로 체크아웃 한 뒤 브랜치 병합. - 체크아웃(switch to): 다른 브랜치로 이동 - head: 현재 내가 작업하고 있는 브랜치를 의미함 git 그.. 2021. 9. 23. 모던자바스크립트 튜토리얼 정리 (객체, this) 출처: https://ko.javascript.info/object-methods #객체 객체와 원시타입의 근본적인 차이: 객체는 '참조에 의해' 저장되고 복사된다. 원시값(문자열, 숫자, 불린 값)은 '값 그대로' 저장, 할당되고 복사됨. 즉, 변수엔 객체가 그대로 저장되는 것이 아니라, 객체가 저장되어있는 '메모리 주소’인 객체에 대한 '참조 값’이 저장된다. 얕은 복사 - Object.assign. 그러나 객체 안에 또 다른 객체가 있으면 완전하게 복사할 수 없음 깊은 복사 - lodash 라이브러리의 cloneDeep 함수. 객체 안에 또 다른 객체가 들어있어도 완전하게 복사할 수 있다. #this 매서드 내부에서 this 키워드를 사용하면 객체에 접근할 수 있다. this는 다른 프로그래밍 언어.. 2021. 9. 23. 210921(화) 리액트 정리 useState는 서로가 다 독립적. 그래서 무엇이든 내가 넣을 수 있고 담을 수 있다. const [count, setCount] = useState(initialCount); useState라는 훅을 통해 상태값을 관리하는 변수(state), 그리고 상태값을 변경할 수 있는 setState라는 함수를 반환받을 수 있다. useState 매개변수는 상태의 초기값을 지정하는데 사용됨. useEffect는 어떤 상태값이 변경될 때마다 side effect(부가효과)를 줄 수 있는 리액트에서 제공하는 훅. return을 통해 값을 반환하는 경우 이전 side effect에 대한 클리어(제거)가 가능함. 2번째 인자는 배열로 줄 수 있는데 배열에 원하는 상태값을 넣어주면 해당 상태값과 side effect의 .. 2021. 9. 22.