웹 풀 사이클 데브코스

함수 포인터함수명 앞에 * 붙여서 함수 포인터! 주소값을 저장한다.`int (*func)(int a);` 일반변수 메모리 변수와 형식만 다르다! 형식만 함수, 저장하는건 함수의 주소값.#include int Plus(int a, int b) { return a+b;}int Minus(int a, int b) { return a-b;}int main(){ int a = 20; int b = 10; int (*fPtr)(int pa, int pb); fPtr = Minus; //Plus int result = fPtr(a,b); printf("결과값 : %d\n",result); return 0;}//console결과값 : 10 사..
연산자정적인 데이터들을 유기적으로 행동하게 하여 새로운 가치를 창출해 내는것산술 연산자 : 사칙 연산`+` `-` `*` `/` `%`대입 연산자 : 오른쪽에 있는 값을 왼쪽에 대입하는 역할.산술연산자와 혼용해서 사용할 수 있다.`=`  `+=`  `-=`  `*=`  `/=`  `%=`부호 연산자증감 연산자`++a`  `--a` : 값을 증감소 시킨 후 연산을 진행`a++`   `a--` : 연산 진행 후 값을 증감소#include int main(){ int a = 5; printf("%d",++a); // 6 printf("%d",a++); // 6 printf("%d",a); //7 return 0;}관계 연산자 : 두개의 피연산자의 관계에서, 같은지 다른지, 어느..
프로그래밍 기본 원리C 컴파일 기반 언어 JS 인터프리터 언어타입스크립트는 컴파일 과정을 통해 JS 로 변환하는 방식이기에 C 기초를 학습하고 넘어가기! 프로그래밍  : 개발자가 sw를 제작하는 과정3단계 : 구상 > 설계 > 구현프로그래밍 언어 : 사람의 언어 > C언어 > 기계어 010111즉 사람의 언어를 기계어로 변환하는 코드. 컴퓨터가 알아들을 수 있는 과정 : 컴파일 과정 프로그래밍 개념설계(문서화 작업) > 원시코드(소스코드) 작성 > 컴파일(이진코드로 변환) > 링크(참조파일들 링크)컴파일 + 링크 = 빌드 협업의 환경설정온라인에서 C 코드 돌릴 수 있는 사이트 GDB online Debugger | Compiler - Code, Compile, Run, Debug online C, C++..
1. 데이터 가공 로직2. 인터랙션 interaction > 비동기, rendering, event3. 유지보수 ☑️ 환경세팅IDE Integrate Development Environmentvscode, webstorm브라우저 : chrome터미널 : iTerm 브라우저, 개발자도구, 디버깅동일한 자바스크립트 > 브라우저마다 보여지는 형태가 다를 수 있다. HTML : 화면 구성 문서 > 파싱 + 로드 강의에서는 파일경로로 브라우저에 띄우는 방법을 알려줬는데Live Server 확장툴을 사용해서 자동저장됨에 따라 실시간으로 로드하는 방법! Live Server - Visual Studio MarketplaceExtension for Visual Studio Code - Launch a developme..
코드 snake > camel 로 변경하기error status code 고려하기 코드퀄리티 업그레이드회원가입 > 실패시 날라가는 errsql에 에러 없이 빈 값이 날라갈 경우 if 문으로 분기처리한다.+ 쿼리 코드의 모듈화 데이터베이스 중복 코드 > 모듈화ex. UserContorller > User 데이터 모듈(Model) - CRUD*DB 모듈 : mysql > 몽구스, 시퀄라이즈 패키지 구조 분리Router : 경로 URI, URL와  HTTP method로 요청에 따른 경로를 찾아주는 역할Controller : 요청을 환영! 직접 동작을 하지는 않는다.Service : 직접 동작을 한다 > 어떤 쿼리를 부를지, 정한다. = "비즈니스 로직" Model : DB와 소통 > Query의 집합어떤 쿼..
인증 ensureAuthorization 모듈화const jwt = require("jsonwebtoken");const dotenv = require("dotenv");dotenv.config();const ensureAuthorization = (req, res) => { try { let receivedJwt = req.headers["authorization"]; console.log(receivedJwt); let decodedJwt = jwt.verify(receivedJwt, process.env.PRIVATE_KEY); console.log(decodedJwt); return decodedJwt; } catch (err) { console.log(err...
조회 로그인 필요 XJWT가 필요한 부분? 좋아요 + 장바구니 담기, 내 장바구니 목록 조회, 장바구니 도서 삭제 + 결제 하기, 주문내역조회, 주문상세조회req.header의 `Authorization` 속성값에 토근값 담아서 > payload로 사용자의 id를 읽어낸다. JWT APIjwt, token  초기에 받은 값이 계속 유지된다. 덮어쓰기를 제대로 해주어야 한다.res.headers에 쿠키로 토큰값이 잘 들어왔다. 토큰검증값 전달하는 방법은req.header의 authorization 속성값에 토큰 담기토큰값이 잘 들어온걸 볼 수 있다. 최종 //GET + "/jwt" : 토큰 발행app.get("/jwt", function (req, res) { var token = jwt.sign({ f..
`.execute()` 로 sql 실행SQL 데이터 삭제 DELETE, TRUNCATE, DROP`DELETE FROM 테이블명 (WHERE 조건);` : 조건에 따라 행이 삭제 > 테이블 유지 (없으면 전체삭제)`DROP TABLE 테이블명;` : 테이블 통째로 삭제`TRUNCATE 테이블명;` : 모든 행 삭제하고 > 테이블 유지 DELETE, TRUNCATE 차이점 : Auto Increment 초기화 해준다!SET foreign_key_checks=0;TRUNCATE cartItems;SET foreign_key_checks=1; SET @count=0;UPDATE orderedBook SET id=@count:=@count+1;ALTER TABLE orderedBook AUTO_INCREMENT..
비동기 non-blocking싱글 스레드, 이벤트 기반, 논블로킹 I/O중 논블로킹 I/O == 비동기식 동작 때문에 변수 가 다른 스코프에서 동작하지 않는다작업이 시작된 후 그 작업이 완료될 때까지 기다리지 않고 다음 작업을 계속 수행하는 방식 비동기 발행 : 실행되는 코드가 기다려야 하는 시간이 생긴다. 순서를 기다리지 않고 다음코드 실행한다.setTimeOut(), setInterval(), query()쿼리 실행하는 순간, 끝나기도 전에 뒤의 코드가 실행된다.비동기 처리 : 비동기가 필요없을때 > 쿼리 기다려야할때 등등.... ㅇ이전코드의 시간을 기다리고, 순서대로 실행한다.콜백 함수 : 메소드 실행 할꺼 다 하고, 이 함수 실행해줘(순서 맞춰서 이걸 뒤에 실행해달라고 요청)promis 객체 (r..
닷다라다나닷
'웹 풀 사이클 데브코스' 카테고리의 글 목록 (4 Page)