TIL를 너무 거창하게 생각하다보니 자꾸 밀리고 오래걸렸다 그냥 일기 쓴다는 생각으로 오늘 한 공부를 되돌아보고 내일은 어떤걸 해야할지에 대한 생각만 기록해도 충분하다. 직접적인 프로그램에 대한 지식은 따로 메모장처럼 기록하는게 좋을 거 같다. 오늘은 동기(Sync)
질문하러 가기 전에 질문을 정리해서 가야한다는게 너무 어려운거 같다. 그래서 그런지 질문하러 가기 전에 도대체 어떻게 질문해야할지에 대해 시간을 많이 쏟았다. 결국 뭐가 문제인지도 모르는 나는 답을 찾지 못했다. 그래서 그런지 이번주는 실속없이 하루하루를 보냈다. 사실
이 error는 잘못된 경로에서 파일을 실행하려 했을 때 자주 일어나는 에러다 현재 위치를 잘 파악하자 Env에 cookie는 실제로 어느때 사용되는지
npm init -y 오류 npm init만 해주고 따로 yes를 하니까 해결됬다 검색해 봤지만 왜 발생하는 오류인지 모르겠다 해결방법도 엄청 여러가지였다 mongodb 연결 오류 localhost를 127.0.0.1로 바꿔주니 해결되었다. const app = express()const port = 4000app.listen(port, () => { console.log(port, '포
cookie 값을 저장하는 방법 => 브라우저 session 값을 저장하는 방법 => 내 서버 cookie 저장하라고 명령할 수 있는 부분 => fe/be session 저장하라고 명령할 수 있는 부분 => be 서버가 사용자랑 컴터랑 요청을 주고 받는다는 거는
주말 회고
bodyParser사용npm install body-parser게시판 회원가입 페이지git pull request (했지만 동기한테 알려줄 정도로 알진 못 했다)erd 작성 전 정리이때까지 한거 전부 복습안 외워진거 외우기과제 cookie 가져오는 코드 외우기숙련 주차
💡오늘 한 것
💡오늘 한 것 query 문이란 : 데이터베이스에서 원하는 정보를 가져오는 코드를 작성하는 문장 database에 있는 정보 가져오기
show databases;use DATABASE 이름;show tables;create table ex)create table tableName(id int(10) unsigned auto_increment not null primary key comment"tabl
파라미터: 특정 id 나 이름을 가지고 조회를 할 때 사용쿼리 :워드를 검색하거나, 요청을 할 때 필요한 옵션을 전달 할 때 사용삼항연산자 참고 자료https://learnjs.vlpt.us/useful/01-ternary.htmlawait, asynchttp
location...
💡오늘 한 것S.A 작성📌본격 프로젝트 시작 전로그인, 회원가입 빠르게 보기인증 어떻게 해야되는지 찾아보기
TIL...이넘에 완벽이 뭐길래 한번 TIL를 적기 시작하면 한시간이상은 걸려서 미천한 실력에 밤을 새가면서 머리를 굴리느라 TIL까지 쓸 여유를 낼 수 없었다...어찌저찌 오지 않을거 같은 마지막이 왔고그 동안 나는 refreshToken과 accessToken 때문
💡오늘 한 것 >익명함수 >선언적 함수 이해를 위한 함수 풀이 forEach() :기본적인 콜백 함수 query: url 칸에 webisfree.com/?name=webisfree&no=123&order=5 query: ?name=webisfree&no=1
HTTP: 하이퍼 텍스트 전송 프로토콜으로 인터넷을 작동시키는 역할을 하며, 웹 서버 및 웹 브라우저 상호 간의 데이터 전송을 위한 응용계층 프로토콜HTTP는 암호화가 되지 않은 평문 데이터를 전송하는 프로토콜이였기 때문에, HTTP로 비밀번호나 주민등록번호
OAUTH와 JWT OAUTH 웹 및 모바일 애플리케이션에서 사용자의 인증 및 인가를 위한 프로토콜 제3자 애플리케이션이 사용자의 인증 정보를 안전하게 관리하고, 사용자의 동의를 획득하여 사용자의 리소스에 대한 접근 권한을 얻을 수 있게 해줌 사용자가 자신의 소셜
Node.js란 : javascript를 브라우저가 아닌 곳에서도 실행시킬 수 있게 해주는 runtime platform입니다. *\ javascript는 언어 npm이란? : Node Packaged Manager의 javascript에서 사용할 수 있는 패키지
: 입력값과 문제를 해결하는 데 걸리는 공간과의 상관관계, 입력값이 2배로 늘어났을 때 문제를 해결하는 데 걸리는 공간은 몇 배로 늘어나는지를 보는 것(저장하는 데이터의 양이 1개의 공간을 사용): 입력값과 문제를 해결하는 데 걸리는 시간과의 상관관계, 예를 들어 입력
NODEJS란 JAVASCRIPT RUNTIME 환경이다 SINGLE THREAD이다
: 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 프로그래밍 기술객체 지향 프로그래밍 언어에서 사용하는 클래스, 객체, 매서드 등과 같은 구성 요소를 사용하여 데이터베이스와 상호 작용할 수 있음객체를 데이터베이스에 삽입, 조회, 수정, 삭제할 때 객체지향적인
2.객체 리터럴 객체(Object) 원시 타입은 단 하나의 값만을 나타내고, 원시 타입의 값은 *변경이 불가능 한 값 객체 타입은 다양한 타입의 값을 하나의 단위로 구성한 복합적인 자료 구조이고, 객체 타입의 값을 변경 가능한 값 객체 리터럴로 객체
정규화 :테이블 간에 중복된 데이터를 허용하지 않음으로써 무결성(integrity)을 유지할 수 있으며, db 저장 용량도 줄일 수 있다 개별 테이블에서 반복되는 그룹을 제거해야한다 관련 데이터 집합에 대해 별도의 테이블을 만든다 기본 키를 사용하여 각 관련 데이터
: 데이터를 구성하고 저장하는 방식이나 조직화된 형태를 말합니다 효율적인 데이터 관리와 처리를 위해 사용되며, 다양한 작업을 수행하기 위한 연산이나 알고리즘을 적용하기 위한 기반을 제공합니다.:데이터를 일렬로 저장하는 자료구조로, 인덱스를 사용하여 데이터에 접근할 수
: 여러개의 작업을 하나로 묶은 실행 유닛입니다.(mysql에서는 입력하는 모든 쿼리 명령어들을 각각 하나의 트랜잭션이라고 할 수 있습니다)원자성(Atomicity): 한 트랜잭션의 연산들이 모두 성공하거나 반대로 모두 실패되는 성질일관성(Consistency): 데
\*논리연산자 중\*'string' && 0\> 0'true' && 'test' && 0\> 0모두 truthy한 값이면 마지막 값을 return한다
for for of for in
const sum = function(a. b) { return a + b;};const sum = (a, b) => { return a + b;};const sum = (a, b) => a + b;예제): promise 안에서 에러가 throw 되거나 reject
비동기 함수의 결과값은 항상 Promise 객체로 resolve된다비동기 함수 안에서만 await연산자를 사용할 수 있다Promise가 fulfill되거나 rejected될 때 까지 함수의 실행을 중단하고 기다릴 수 있다promise가 아니여도 값을 resolved해
: 웹 서버에서 요청과 응답에 대한 공통적인 처리ex)모든 요청에 대해서 로그를 남기고 싶을 때승인된 사용자만 api를 접근할 수 있게 만들고 싶을 때 등..ex)unlencoded: form-urlencoded라는 규격의 body 데이터를 손쉽게 코드에서 사용할 수
:Routing은 클라이언트의 요청 조건에 대응해 응답하는 방식:Routing을 할 수 있게 해주는 객체express에서는 routing을 middleware로 처리한다(application programming interface):매개체를 통해 약속을 전달 하는 것:
: 현재 브라우저 접속중인 페이지에서 자바스크립트를 이용해 다른 도메인 또는 포트를 가진 주소를 요청하는 경우, 해당 리소스에 접근을 허용했는지 확인해 보안을 높이는 동작브라우저는 주소가 다른 경우 리소스의 출처가 다르다고 판단CORS 동작(A주소를 B주소에 요청할 때
1\. 개발 공부가 처음이신가요? 처음이 아니라면, 어느 정도 기간을 가지고 어떻게 학습을 하셨나요?3개월 정도 내일배움캠프에서 node.js 주특기로 학습한 경험이 있습니다2\. 내가 항해99에 참여한 계기는 무엇인가요?내가 참여한 프로젝트를 자유롭게 설명해줄수 있
JAVASCRIPT
정규표현식(Regular Expression) : 문자열에서 특정 내용을 찾거나 대체 할 때 사용된다 ex) 전화번호형식, 이메일형식 , IP주소형식 등 검증 문자열에 포함된 공백이나 특수문자 제거 . . . 사용법 예시 정규식 메서드
localeCompare 메서드 이 함수는 리턴 값이 1, -1, 0 만 리턴 -1을 리턴 하는 경우는 왼쪽에 있는 문자열이 오른쪽보다 알파벳 순서가 빠르다는 뜻 :오름차순 1을 리턴 하는 경우는 오른쪽에 있는 문자열이 왼쪽보다 알파벳 순서가 빠르다는 뜻 :내림차
reduce 메서드 reduce 메서드의 첫번째 인수인 콜백함수의 a는 누적 값, b 는 현재 값이다. reduce 를 호출했을 때 return 되는 값은 마지막 최종 누적값이다. ex) reduce 메서드의 콜백함수에는 총 4개의 인수가 존재 1) 1번째 :
ES란 ECMA(European Computer Manufacturers Association) Script의 약자로 AVASCRIPT의 표준 규격을 의미ex6에서 this.name, this.age 값을 가져올 수 있게 됨ex6에서 백틱을 사용하면 문자열 데이터를 플
자동형변환 참고 https://ryangx2.tistory.com/50 Array Array() 생성자는 새로운 Array 객체를 생성할 때 사용합니다. 참고 https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-Array-%EB%A
콜라츠 추측 여러가지 풀이법
ALGORITHM
문제)// 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다.// 현지는 s에 나타나는 숫자 중 소수의 최대값과// 소수가 아닌 수의 최소값을 찾아// 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하려고 합니다.// 예를들어
진도가 안 맞는 이유로 네비게이터만 진행한게 아쉬웠고 팀원들이 잘 할 수도 있도록 이끌어주는 일이 쉬운게 아니라는걸 깨달았다알고리즘문제 꾸준히 풀면서 오답노트 작성하기
ssh를 이용하면 깃허브에 접속할 때마다 사용자 이름과 비밀번호를 입력하지 않아도 되며, ssh키는 개인키와 공개키의 쌍으로 이루어져 있어 보안성이 높음깃허브를 이용할 때 사용의 편의성과 보안성을 높이기 위한 것(다만, 리눅스와 같은 터미널 환경에서 ssh키를 생성하고
req.query url의 물음표 이후에 오는 key=value 형태의 파라미터로 전달 ex) /search?keyword=apple&page=1 => keyword와 page는 key이고, apple과 1은 value이며 '&' 기호로 여러개의 쿼리 매개변수를 구분
MongoDB 비관계형 데이터베이스 - NonRelationalDatabase(NoSQL): 데이터 형식이 공정되어 있지 않고 유연하게 확장 가능 데이터가 JSON형태로 저장 복잡한 데이터 구조 쉽게 저장할 수 있는 장점 -> 대용량 데이터를 쉽게 처리 데이터베이스
배포 과정
EXPRESS MIDDLEWARE RESTFUL
AWS S3 적용하기 aws에서 s3 버킷 생성 "@aws-sdk/client-s3": "^3.484.0", 이 모듈을 깔면 아래 에러가 나고 안깔고 없애면 아래 에러가 뜨고 Error: Cannot find module '@aws-sdk/client-s3’
Prisma 스키마에서 우리가 정의하는 모델과 필드 이름은, 우리가 Node.js 코드 상에서 데이터베이스를 다룰 때 사용하는 이름데이터베이스의 컬럼 이름은 보통 스네이크 케이스(snake_case)를 사용하는데 반해, JavaScript나 TypeScript에서는 카
데이터베이스 추상화: ORM은 SQL 쿼리를 직접 작성하지 않고도 데이터베이스 작업을 수행할 수 있게 해줌DBMS 독립성: 다른 종류의 데이터베이스 시스템 간에 쉽게 전환할 수 있습니다. ORM 라이브러리가 대부분의 SQL 변환을 처리하기 때문에, 기본적으로 데이터베이
일반적으로 'isDeleted' 나 'deletedAt' 같은 필드를 추가하여, 이 필드를 통해 데이터가 삭제된 것처럼 처리, 실제 데이터는 그대로 남아 있기 때문에, 필요한 경우 복구가 가능사용자가 실수로 데이터를 삭제한 경우나, 삭제된 데이터의 히스토리를 유지해야
소프트 삭제(Soft Delete)를 도입하게 되면 백엔드 서버는 여러 가지 장점을 가질 수 있습니다: 데이터 복구 용이: 실수로 데이터를 삭제하더라도 복구가 가능합니다. 실제 데이터를 삭제하는 대신, '삭제됨' 상태로 표시만 변경되기 때문에 필요할 경우 쉽게 복
for문은 글로벌 변수값이 for문 안에서만 사용가능하다일반적으로 배열의 모든 원소에 대해 동일한 작업을 수행할 때 유용하며, 반복 횟수가 미리 정해져 있을 때 사용한다while문은 글로벌 변수값이 안에서도 밖에서도 사용가능하다 (값이 달라짐)반복 횟수가 미리 정해져
위 코드는 의존성 주입(Dependency Injection, DI) 패턴을 사용한다의존성 주입(Dependency Injection, DI)이란, 클래스가 필요로 하는 서비스나 객체를 외부에서 주입받는 패턴을 말한다클래스가 필요로 하는 의존성을 직접 생성하지 않고 외
: node.js 환경에서 이메일을 쉽게 보낼 수 있도록 도와주는 모듈nodemailer 설치smtpTransport 객체mailOptions 설정( 보내는 사람, 받는 사람, 제목, 본문 등 지정)설정한 transporter, mailOptions을 사용해 이메일 보
호이스팅은 코드가 실행하기 전 변수,함수선언이 해당 scope의 최상단으로 끌어 올려진 것 같은 현상을 말합니다 자바스크립트코드가 실행되기 전 함수와 변수선언이 먼저 스캔되고 lexical environment라는 자바스크립트 데이터 내 메모리에 추가됩니다 따라서 변
HTTP 요청의 메서드: "GET", "POST", "PUT", "DELETE" 등클라이언트가 어떤 데이터를 가져오기 위해 GET 요청을 보냈다면, req.method는 "GET"을 반환요청된 URL의 전체 경로클라이언트가 http://example.com/
초기 벨로그 글엔 생각도 조금씩 작성했었는데 글이 정리되어 보이지 않아서 그냥 노트 처럼 쓰기 시작했어요. 그치만 개발자가 되기 위해선 본인만의 생각도 중요하는 걸 깨달았기에 정리가 안되있어보여도 글을 잘 쓰지 못 하더라도 써보려고 합니다 :) 쓰다보면 좋아지겠