728x90

전체 글 176

[MySql] 이미 존재하는 row의 속성을 새로 입력하고 싶다면?

예를 들어 name, email, phone_number 칼럼이 있는 users 테이블에서 당신이 이미 name, email을 넣어 한 명의 user를 아래와 같이 입력했다고 해보자.id (PK)nameemailphone_number1왈왈이walwalwal@tistory.comNULL...   phone_number는 입력하지 않았으므로, NULL값일 것이다. 이 상태에서 phone_number를 입력하고자 할 때INSERT INTO 구문을 사용하여 데이터를 넣어야겠다고 생각할 수 있다. 하 지 만데이터 관점에서 INSERT INTO는 새로운 행(새로운 user)를 추가하는 행위이므로이미 존재하는 행(user)의 속성(column)을 새로이 입력하고자 할 때는 UPDATE ~ SET ~구문을 사용해줘야 ..

DataBase/MySQL 2023.04.06

[node.js 메서드] 스트링으로 묶인 배열을 배열로 바꾸기

JavaScript에서는 JSON.parse() 함수를 사용하여 큰따옴표로 묶인 문자열을 파싱하여 배열로 변환할 수 있다. const str = '[1, 2, 3]'; const arr = JSON.parse(str); console.log(arr); // [1, 2, 3] JSON.parse() 함수는 JSON 형식의 문자열을 파싱하여 자바스크립트 객체나 배열로 변환해준다. 위 경우는 문자열 "[1, 2, 3]"을 배열 [1, 2, 3]으로 변환하였다. JSON.parse() 함수를 사용할 때 주의할 점은 입력된 문자열이 올바른 JSON 형식을 따라야 한다는 점을 주의하자. 예를 들어, 문자열 내에 작은따옴표(')가 사용되어 있거나, JSON 형식이 올바르지 않은 경우에는 오류가 발생할 수 있다.

Node.js/JavaScript 2023.04.05

[키워드 정리] 자바스크립트에서 '구조분해'란 무엇인가

JavaScript에서 '구조 분해(destructuring)'는 객체나 배열에서 필요한 값을 추출하여 변수에 할당하는 것을 말한다. 이를 통해 코드를 간결하고 가독성이 좋게 작성할 수 있다. 객체 구조 분해 객체 구조 분해는 객체에서 필요한 값을 중괄호({}) 안에 변수명으로 선언하면 된다. const person = { name: "John", age: 30, city: "New York" }; const { name, age } = person; console.log(name); // 출력값: "John" console.log(age); // 출력값: 30 위 예시에서는 person 객체에서 name과 age 프로퍼티 값을 추출하여 변수에 할당했다. 이후에는 name과 age 변수를 사용하여 다른 ..

Node.js/JavaScript 2023.04.01

[소감] 예비 백엔드 개발자의 첫 http 통신 성공 후기

코딩 부트 캠프를 시작하고 2주 반이 흐른 시점, 백엔드 개발자가 되기 위해 개발의 아주 기본부터 차곡 차곡 쌓아가는 중이다. API와 200 ok가 뭔지도 모르던 내가, 이제는 endpoint를 만들고 클라이언트로부터 요청을 받아와 데이터베이스에서 가져온 데이터를 적절한 status code와 함께 응답해주는 API 정도는 뚝딱 만들 수 있게 되었다. 그 동안은 postman을 사용해 혼자 서버를 테스트하고 코드를 짰는데, 오늘 처음으로 진짜 프론트엔드 팀원들과 http 통신을 시도했다. 지금까지는 백엔드 개발자로서 배워야 하는 것들을 익히느라 프론트엔드가 어떤 일을 하고, 클라이언트 측에서 어떤 작업이 이루어지는지는 잘 알지 못했다. 통신을 시도하면서 비로소 프론트엔드에서 코드가 어떻게 진행되고 요청..

소감 & 회고록 2023.03.31

[키워드 정리] 개발에서 이야기하는 '자원'이란 뭘까?

Q. 개발에서 이야기하는 resource(자원)이 무슨 의미야? 예를 들어 '이 코드는 자원을 많이 사용하기 때문에 좋지 않은 코드다'라는 문장에서 '자원'이 어떤 의미인지 궁금해. A. 개발에서 "자원"은 시스템의 하드웨어나 소프트웨어 등의 자원(resource)을 의미합니다. 시스템의 자원은 유한한 자원으로 CPU, 메모리, 디스크 공간, 네트워크 대역폭 등이 있습니다. 이러한 자원을 프로그램에서 사용하게 되면, 해당 자원이 다른 프로그램에서 사용할 수 없게 됩니다. 따라서, 개발에서 "자원을 많이 사용한다"라는 것은 프로그램이 시스템의 자원을 많이 사용한다는 것을 의미합니다. 이러한 경우, 다른 프로그램들이 시스템의 자원을 사용할 수 없게 되고, 시스템 전체적으로 성능이 저하될 수 있습니다. 따라서..

[http 통신] response(응답) status code 종류

클라이언트가 서버에 request를 보내면, 서버는 클라이언트에게 response를 보내준다. repsonse는 Status Line, Headers, Body로 이루어져 있으며, status line에는 status code가 포함된다. status code는 request가 어떻게 처리되었는지를 세 자리 숫자로 표현한다. status code(상태 코드)만 보아도 응답의 성공 여부 등을 빠르게 파악할 수 있다. 자주 사용되는 3가지 그룹의 status code를 알아보자. 200번대: Successful responses 200: OK 요청에 대한 처리가 백엔드 서버에서 성공적으로 되었을 때의 상태 코드. 201: Created 요청이 성공적이고 그 결과로 새로운 리소스가 생성되었을 때. 일반적으로 ..

[http 통신] 인증 & 인가 - JWT

JWT란? JWT(JSON Web Token)는 클라이언트(사용자)와 서버 간에 정보를 JSON 개체로 안전하게 전송하기 위한 개방형 표준(RFC 7519)이다. JWT는 JSON 개체에 기본정보, 전달할 정보, 검증 정보를 모두 담고 있다. 또한, JWT는 전자 서명이 되어있기 때문에 검증 과정을 거쳐 확인하고 신뢰할 수 있으며 Secret Key 또는 Public/Private Key Pair를 사용하여 서명할 수 있다. JWT의 구조 JWT는 Header, Payload, Signature 3가지 구성 요소로 이루어지며, 각 구성 요소는 dot (.)으로 구분된다. 1. Header Header는 JWT의 첫번째 구성 요소이고, 일반적으로 2가지 정보를 담고 있다. alg : Signature을 만..

[js메서드] module export의 2가지 방식

module.export = { 'function1 이름', 'function2 이름' }; module.exports = 'funciton 이름'; module에서 함수를 export하는 방식은 위의 두 가지가 있는데 둘은 사용하는 방식에 차이가 있다. 예를 들어 아래와 같이 객체 안에 함수를 담아 export 한 경우, //dataSource.js const function1 = ()=> {} module.exports = { function1, function2, } 사용할 때에 아래와 같이 object의 key를 불러오는 메서드 방식으로 사용해야 한다. const dataSource = rquire('./dataSource') dataSource.function1() 그러나 아래와 같이 하나의 함..

Node.js/JavaScript 2023.03.27

[개념 정리] 정규표현식(Regular Expression, RegEx)이란

정규표현식이란 문자열을 다룰 때, 문자열의 일정한 패턴을 표현하기 위하여 사용하는 '형식 언어'이다. JavaScript에서는 정규 표현식도 객체로서, RegExp의 exec()와 test() 메서드를 사용할 수 있다. String의 match(), matchAll() (en-US), replace(), replaceAll(), search(), split() 메서드와도 함께 사용할 수 있다. 자바스크립트에서 정규 표현식은 두 가지 방법으로 만들 수 있다. 1. 정규 표현식 리터럴 슬래시로 패턴을 감싸서 작성. const re = /ab+c/ 정규 표현식 리터럴은 스크립트를 불러올 때 컴파일된다. 바뀔 일이 없는 패턴인 경우에 효율적이다. 2. RegExp 객체의 생성자 호출 RegExp - JavaSc..

Node.js/JavaScript 2023.03.27

[js 문법] 비동기 처리 방법 3가지 - 콜백, 프로미스, async/await

자바스크립트의 기본적인 처리 방식은 비동기 방식이다. 비동기 방식이란 코드가 위에서 아래로 순차적으로 실행되지 않고, 동시에 시작되어 빨리 끝나는 코드가 먼저 실행 완료 될 수 있도록 하는 방식이다. https://walwaldev.tistory.com/33 [개념 정리] 자바스크립트에서 동기 / 비동기란 무엇일까? 자바스크립트에서 동기(synchronous)와 비동기(asynchronous)는 코드의 실행 방식을 설명하는 용어입니다. 코드의 실행 방식의 두 종류 동기 비동기 코드 순차 실행 코드가 순차적으로 실행되지 않음 walwaldev.tistory.com 비동기 방식은 효율적이지만, 코드 실행에 선후 관계가 필요한 경우가 있다. 예를 들어 아래와 같은 경우 countFruit 함수 정의 후 con..

Node.js/JavaScript 2023.03.27
728x90