전체 글

전체 글

    [SQL] Inner Join, Left Join, Union

    inner join select * from users u inner join point_users p on u.user_id = p.user_id '오늘의 다짐' 정보에 과목 정보를 연결해 과목별 '오늘의 다짐' 갯수를 세어보자! select co.title, count(co.title) as checkin_count from checkins ci inner join courses co on ci.course_id = co.course_id group by co.title 유저의 포인트 정보가 담긴 테이블에 유저 정보를 연결해서, 많은 포인트를 얻은 순서대로 유저의 데이터를 뽑아보자! select * from point_users p inner join users u on p.user_id = u.us..

    [SQL] Group by, Order by

    1. Group by Group by 는 동일한 데이터를 묶어주는 기능입니다. select field1, count(*) from users_table group by field1 쿼리 실행순서 from ➤ group by ➤ select 예제 field1 별로 묶어서 각 데이터별 개수 구하기 select field1, count(*) from table1 group by field1 field1 별로 묶인 데이터별 최소값 구하기 select field1, min(field2) from table1 group by field1 field1 별로 묶인 데이터별 최대값 구하기 select field1, max(field2) from table1 group by field1 field1 별로 묶인 데이터별 평..

    [WIL] ORM, noSQL vs SQL

    ORM(Object-Relation Mapping)이란? 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 것을 말합니다. 기존에는 DB의 값을 뽑아오기 위해서는 쿼리라는 명령문으로 값을 가져와야 했습니다. 물론 값을 추출하는 것 뿐만 아니라 삽입, 삭제, 수정 등의 구문도 있습니다. 서버 개발자가 DB에 접근하기 위해서 쿼리문을 써야했지만 ORM을 사용함으로서 어플리케이션에서 기존의 언어로도 DB에 접근이 가능해졌습니다. ORM은 Object modeling과 Relational modeling을 이해해야합니다. 객체를 만드는 클래스와 관계형 DB사이의 차이가 존재하기 때문에 ORM을 사용하여 연결합니다. 장점 1. 쿼리문을 직접 사용하지 않고 entity를 객체로 표현할 수 있습니다. 2. 객..

    [JavaScript] call, apply, bind

    1. call 아래 코드를 실행시켜보면 this.name 에는 아무것도 나오지 않습니다. const mike = { name: "Mike" } const tom = { name: "Tom" } function showThisName() { console.log(this.name); } showThisName(); 이 때 call() 을 사용해서 this가 무엇인지 정의해줄 수 있습니다. showThisName.call(mike); showThisName에 call로 mike라는 객체를 받으면 this는 mike를 가리키게 됩니다. 따라서 this.name은 Mike가 출력되겠죠. call로 업데이트해 줄 객체를 지정해서 값을 바꿀 수도 있습니다. const mike = { name: "Mike" } co..

    [NodeJS] require() 함수 동작원리

    require()는 대략적으로 다음과 같은 구조라고 합니다. var require = function(src){ var fileAsStr = readFile(src) //line 2 var module.exports = {} //line 3 eval(fileAsStr) //line 4 return module.exports //line 5 } const express = require('express') 1. express라는 것을 function의 src인자로 넣습니다. 2. fileAsStr이라는 변수에 파일을 읽어와 저장합니다. 3. module.exports라는 빈 객체를 만듭니다. 4. fileAsStr을 실행합니다. 기본적으로 module.exports 와 require를 사용할 수 있는 이유..