728x90
반응형

분류 전체보기 93

[JavaScript] 모든 문자 2000자 제한 정규식 에러...

모든 문자 2000자 제한에 대한 정규식을 만들어놨었다. let reg_question = /^.{0,2000}$/ //모든글자 2000글자 이하 위의 코드가 들어간 API가 전에 postman으로 테스트를 할 때 정상적으로 실행되고 데이터도 저장이 됐었다 그런데 오늘 테스트를 해보니 엔터로 줄바꿈이 되어있는 문자열은 2000자가 넘지 않아도 에러가 났다.... 이것저것 서칭하는 중에 해결법을 찾았다 const str = req.body.question.replace(/ /gi, "\r\n"); 위의 코드를 추가해주니 줄바꿈을 해서 문자 테스트를 해도 에러가 나지 않고 정상적으로 실행했다. 하지만.. 특정한 문자열만 가능하게 하는 제약이 있다면 정규식을 쓰는 의미가 있겠지만 모든 문자열을 허용하니깐 정규..

Dev 2021.09.03

[JavaScript] 삼항연산자란?

JavaScript 삼항연산자는 true/false에 따라서 실행되는 조건문입니다. 조건문 ? 선택문1 : 선택문2 삼항연산자는 이런식으로 구성됩니다. 조건문이 true면 선택문1, false면 선택문2를 실행합니다. 일반적인 if문 입니다. let num = 1; if (num == 1) { console.log("true 입니다."); } else { console.log("false 입니다."); } 위의 if문을 삼항연산자로 표현하면 이렇게 구성할 수 있습니다. let num = 1; num == 1 ? ( console.log("true 입니다.") ) : ( console.log("false 입니다.") ) 삼항연산자는 if else 문을 간결하게 표현해줍니다. 하지만 코드가 길어진다면 직관성..

Dev/JavaScript 2021.09.02

[MySQL] 회원 최근 사용내역 날짜 뽑아내기

A : 회원 테이블 B : 회원 결제내역 테이블 SELECT A.id as member_id, A.name as member_name, B_TMP.createdAt as last_used_date, A.createdAt as member_register_date FROM A join ( SELECT B.user_id, max(B.createdAt) as createdAt FROM B group by B.user_id ) as B_TMP on B_TMP.user_id = A.id group by B_TMP.user_id; 쿼리문 결과 항상 부족한 부분이나 피드백할 부분을 댓글로 남겨주시면 적극적으로 수용하여 수정하겠습니다.

Dev/DB 2021.09.01

동기 vs 비동기, 블로킹 vs 논블로킹

동기 (synchronous) 요청 후 응답을 받아야 다음 동작이 이루어지는 방식입니다. (작업완료 여부를 호출한 쪽에서 신경씁니다) 설계가 간단하고 직관적이지만 결과가 주어질 때까지 아무것도 못하고 대기해야합니다. // 동기적 코드 console.log('A'); console.log('B'); console.log('C'); /* 결과 1 2 3 */ 비동기 (asynchronous) 요청 후 응답을 받지 않아도 다음 동작이 이루어지는 방식입니다. (작업완료 여부를 호출된 쪽에서 신경을 씁니다.) 동기보다 복잡하지만 특정 결과가 주어지는 시간 동안 다른 작업을 할 수 있으므로 자원을 효율적으로 사용할 수 있습니다. // 비동기적 코드 function asyncFunc() { console.log('A..

Study/BackEnd 2021.08.31

NestJS란

NestJS는 효율적이고 안정적이며 확장성이 뛰어난 서버를 구축하기 위한 Node.js의 프레임워크 입니다. TypeScript 참고 타입스크립트(TypeScript)란? TypeScript란? TypeScript는 MS에 의해서 개발과 관리되고 있는 오픈소스 프로그래밍 언어입니다. 그리고 자바스크립트의 슈퍼셋입니다. (슈퍼셋이란 A >= 일 경우, A는 B의 슈퍼셋이라고 할 수 있습니다 ujam.tistory.com NestJS 특징 TypeScript 및 OOP (객체 지향 프로그래밍), FP (기능 프로그래밍), FRP (기능 반응성 프로그래밍) 요소를 결합합니다. Nest는 typescript를 사용하여 DI(Dependency Injection), IoC(Inversion of Control),..

Study/BackEnd 2021.08.30

ERD란? DB 1:1, 1:N, N:M 관계

ERD란? ERD는 Entity(실체) Relationship(관계) Diagram(도표)의 약자입니다. 한국말로 직역하면 개체-관계 모델입니다. DB 테이블간 관계 혹은 전체 구조를 한 눈에 파악할 수 있습니다. ERD 표기법 DB관계 1 : 1 일대일 관계입니다.(양쪽 엔티티 모두 반드시 하나의 관계만을 가지는 것을 뜻 합니다, 대게 하나의 외래키가 걸려있는 관계라고 볼 수 있습니다) 1 : N 일대다 관계입니다.(한 쪽 엔티티가 연결 되어있는 엔티티 쪽 객체를 여러개 가지는 것을 뜻 합니다.) N : M 다대다 관계입니다.(양쪽 엔티티 모두 1 : M 관계를 가지는 것을 뜻 합니다. ) 항상 부족한 부분이나 피드백할 부분을 댓글로 남겨주시면 적극적으로 수용하여 수정하겠습니다.

Study/DB 2021.08.27

OSI 7계층이란?

OSI 7계층 OSI란 Open Systems Interconnection의 약자로 개방형 시스템이라는 뜻을 가지고 있습니다. OSI 7계층은 네트워크를 통신이 일어나는 과정을 7단계로 나눈 표준 계층 중에 하나입니다. 통신이 일어나는 과정들을 단계별로 파악하기 수월하게 하기 위해 계층을 나눴습니다. OSI 7계층 1계층 - 물리계층(Physical Layer) 물리계층은 7계층 중 최하위 계층입니다. 전기적, 기계적, 기능적인 신호를 주고받는 역할을 하며, 비트 0과 1의 통신 단위로 통신합니다. (on, off의 전기적 신호 상태) 대표적인 장비로는 케이블, 리피터, 허브 등이 있습니다. 신호로 변환하여서 전송하는 계층입니다 2계층 - 데이터 링크계층(DataLink Layer) 물리적인 연결을 통해..

Study/Network 2021.08.26

타입스크립트(TypeScript)란?

TypeScript란? TypeScript는 MS에 의해서 개발과 관리되고 있는 오픈소스 프로그래밍 언어입니다. 그리고 자바스크립트의 슈퍼셋입니다. (슈퍼셋이란 A >= 일 경우, A는 B의 슈퍼셋이라고 할 수 있습니다.) TypeScript 장점 1. 정적 타입을 지원합니다. 2. 컴파일 단계에서 에러를 포착할 수 있습니다. 3. 명시적인 타입 지정은 개발자의 의도를 명확하게 드러내주며 가독성을 높이고 디버깅이 쉬워집니다. function sum(a, b) { return a + b; } sum(1, 2); // 20 sum('1', '2'); //12 위 자바스크립트 문법은 타입을 지정하지 않은 동적 타이핑에 의한 결과입니다. a와 b가 어떤 type인지 명시적이지 않아 의도가 명확하지 않습니다. 스..

Study/FrontEnd 2021.08.25

MySQL이란?

MySQL이란? MySQL은 세계적으로 널리 사용되고 있는 오픈 소스 데이터베이스(DB, DataBase)이며, 관계형 데이터베이스 관리 시스템(RDBMS, Relational DataBase Management System)입니다. 데이터베이스란? 데이터베이스(DB, DataBase)란 여러 사람들이 공유하고 사용할 목적으로 통합하여 관리되는 데이터의 집합체를 의미합니다. 데이터베이스는 응용 프로그램과는 다른 별도의 미들웨어에 의해 관리됩니다. 이 미들웨어를 데이터베이스 관리 시스템 DBMS이라고 합니다. DBMS란 DBMS는 DataBase Management System의 약자입니다. 사용자와 데이터베이스스 사이에서 요구에 따라 정보를 생성해주고 공유하며 관리할 수 있도록 해주는 소프트웨어입니다. ..

Study/DB 2021.08.24

[Git] Branch 생성 및 사용법

[Git Branch] Branch란 개발시 개발에 관련된 업무들을 협업할 때 개발자들이 동시에 다양한 작업을 할 수 있게 만들어주는 기능입니다. Branch를 통해 하나의 프로젝트를 여러 통로로 나누어서 관리할 수 있습니다. git branch - 현재 위치해 있는 branch와 branch항목들을 나열해줍니다. git branch -v - branch의 마지막 커밋 메세지를 보여줍니다. git branch - git branch test -> test라는 이름의 branch를 생성합니다. git checkout test - test라는 branch로 전환해줍니다. git checkout -b test2 - test2라는 branch를 생성과 동시에 test2로 전환해줍니다. git branch -d ..

Study/Git 2021.08.20
728x90
반응형