학습 내용 정리/기본 (18) 썸네일형 리스트형 터미널 명령어 touch 파일명 // 파일을 생성한다. cat 파일명 // 파일을 연다. vi 파일명 // 파일 편집 시작 쿠키와 세션, JWT 쿠키 브라우저가 서버로부터 응답으로 Set-Cookie 헤더를 받은 경우 저장한 해당 데이터. 모든 요청에 포함하여 보낸다. - 데이터를 여러 사이트에 공유할 수 있기 때문에 보안에 취약 cookie-parser 미들웨어를 사용하면 더 쉽게 쿠키를 관리할 수 있다. 객체 형식이라! // Set-cookie를 이용해 쿠키 만들기 app.get("/set-cookie", (req, res) => { let expire = new Date(); expire.setMinutes(expire.getMinutes() + 60); // 만료 시간을 60분으로 설정합니다. res.writeHead(200, { 'Set-Cookie': `name=sparta; Expires=${expire.toGMTString()}; .. 데이터베이스란? DBMS란? 단순히 데이터를 잘 저장하고 잘 찾기 위해 만들어진 소프트웨어를 Database Management System(DBMS) 이라 부릅니다. DBMS가 설치된 서버 컴퓨터를 데이터베이스 서버(DB 서버)라고 부를 수 있습니다. 흔히 "데이터베이스에 저장한다" 라고 말하면 이 DBMS가 설치된 서버에 데이터를 저장한다고 말하는것입니다. 즉, DB 서버의 모든 데이터는 DBMS가 관리하게 됩니다. 🕸 관계형 데이터베이스 - Relational Database (RDB): 데이터 형식이 정해져 있고, 데이터 끼리 관계를 맺어 모순이 없는 데이터를 유지할 수 있도록 도와주는것에 집중한 데이터베이스를 관계형 데이터베이스라고 부릅니다. 모순이 없는 데이터: 무결성과 정합성이 높은 데이터 🗽 비관계형 데이.. 요청과 응답 통신 : 요청과 응답에 의해서 정보를 주고 받는 것 요청 하는 컴퓨터 : 클라이언트 응답하는 컴퓨터 : 서버 HTML 형식으로 준다! 엑셀 : 스프레드시트를 해석해 주는 프로그램 포토샵 : pdf라는 이미지 파일을 해석해서 그림처럼 보여 주는 프로그램 브라우저 : HTML을 해석해 주는 프로그램 (자바스크립트를 해석) * 요청 : 브라우저 말고 썬더 클라이언트 등도 할 수 있음 ES6 문법 예전에 프론트에서는 못썼음 백엔드에서는 출시하자마자 씀 프론트 > 모든 유저 즉, 클라이언트의 브라우저의 버전을 고려해야 함 백엔드 > 개발자의 컴퓨터, 즉 서버에만 보이므로 괜찮음 요청 / 응답 header / body DB는 그냥 데이터 베이스 프로그램 출처 : 스파르타 코딩클럽 내일 배움 캠프 정예반 OT 프론트 엔드 백엔드란? 프론트 : 디바이스에서 해석하는 프로그램 백엔드 : 서버에서 해석하는 프로그램 프론트와 백은 언어로 나뉘지 않는다. 어디에서 해석하느냐가 관건! ex 1) javascript 이 언어로 디바이스에서 해석할 수 있게 만들래 > 프론트 서버에서 해석하게 만들래 > 백엔드 ex 2) iOS Android > 프론트입니다! (디바이스에서 해석하기 때문에) java, kotlin > 프론트엔드 언어이자 백엔드 언어 백엔드에서 중요하게 생각해야 하는 개념 정보를 제한적으로 제공 > 보안! 내가 가진 정보를 최대한 빠르게 준다. 정보를 접근해서 쓰고 수정하고 삭제하는 것까지 우리의 역할 (백엔드) 왜 서버를 거쳐서 데이터를 받을까? : 보안! ( 클라변조 : 클라이언트가 데이터를 변조할까봐 ) 백엔드 개발자 > js.. 코딩 용어 스파게티 코드(spaghetti code) 컴퓨터 프로그램의 소스 코드가 복잡하게 얽힌 모습을 스파게티의 면발에 비유한 표현 스파게티 코드는 정상적으로 작동하지만, 사람이 코드를 읽으면서 그 코드의 작동을 파악하기는 어렵다. 프로그램을 구조적으로 만들지 않는 경우에 만들어지기 쉽다. 참고 자료 구문설탕 (syntactic sugar) 사람이 이해하기 쉽고 표현하기 쉽게 컴퓨터 언어를 디자인해 놓은 문맥 참고자료 타임스탬프 (timestamp) : 어떠한 사건의 발생시간에 대한 디지털 기록 [중요!] 의사 전달 코드 의사 전달 코드 > 한국어로 작성 > 주어 동사 서술어를 적는다. 요즘 개발 추세 : 가독성 높은 코드 > 시간복잡도 - 시간복잡도를 고려하지 않아도 될 만큼 컴퓨터가 빠르다 - 단, 알고리즘 테스트에서는 시간복잡도를 기준으로 평가될 수 있다. 살아남는 개발자 - 설명 잘하는 개발자 - 친절한 개발자 개발은 친절하게! 코드 작성도 친절하게! 크롬의 개발자 도구, 디버깅 - 각 패널들의 명칭과 기능 Elements : DOM CSS를 편집하여 렌더링된 뷰 > 편집한 내용이 저장되지는 않는다. Console : 웹페이지의 에러, console.log Sources : 자바스크립트 코드 디버깅 Network : 네트워크 요청 정보와 성능 Application : 웹 스토리지, 세션, 쿠키 확인 및 관리 - 개발자 도구 창 분리 : 우측의 더보기 ... 클릭 > Dock Side - 디버깅 예시 코드 0 + - 에러가 발생한다! 오른쪽 끝에 index.html:19 와 같은 에러 발생 위치를 클릭 > Sources 패널로 자동 이동, 디버깅 가능! line 19 의 라인 번호를 클릭해 책갈피 모양이 뜨면 브레이크 포인트가 걸린 것이다. 이 때 오류를 실행하면 디버깅 모드로 들.. 이전 1 2 3 다음