컴퓨터 공부 191

[데이터베이스] 5장 - SQL 로 데이터 조회하기! SELECT 를 활용해서 데이터를 읽어오는 기본적인 문법과 관련 키워드들

✅ SELECT 로 데이터 조회하기 SELECT statement 는 아래와 같다. - ID 가 9인 임직원의 이름과 직군을 알고 싶다. : 현재 Employee 테이블은 아래와 같다. SELECT name, position FROM employee WHERE id = 9; 여기서 SELECT 뒤에 오는 COLUMN(속성,열) 들을 projection attributes 라고 한다. 즉, 내가 관심있는 속성만 투영해서 가지고 온다는 의미이다. 즉, 우리가 원하는 컬럼인 name 과 position 에 해당하는 값들만 뽑아서 가져온다. 그리고, WHERE 이하를 selection condition 이라고 하는데, 이는 행을 결정해 준다고 생각하면 된다. (여기서는 id=9인 행) 다시말해, 이 projec..

[코테] 코딩 테스트 합격자 되기 1주차 - 알고리즘의 효율 분석

코딩 테스트에서는 제약사항에 따라 빠르게 풀리는 알고리즘으로 문제를 풀어야 할 때가 있습니다. 시간 복잡도를 기준으로 알고리즘을 택해야 하는데, 그럼 시간 복잡도라는 것이 도대체 무엇일까요? 📖 시간 복잡도란? 알고리즘의 성능을 나타내는 지표로, 입력 크기에 대한 연산 횟수의 상한을 의미합니다. 시간 복잡도는 낮으면 낮을 수록 좋습니다. 예를 들어, 1차원 배열에서 특정 값을 찾는다고 가정해봅시다. 어떤 경우에 가장 빨리 값을 찾게 되고, 어떤 경우에 가장 늦게 값을 찾게 될까요? 1) 값을 가장 빨리 찾는 경우 - 값을 가장 빨리 찾는 경우는 검색 시작 위치에 찾고자 하는 값이 바로 있는 경우입니다. target = 1 array = [1,5,2,6,3,17,13,9] # 찾고자 하는 값 1이 arra..

[데이터베이스] 4장 - SQL로 DB에 데이터를 추가(insert)하고 수정(update)하고 삭제(delete)하는 방법

✅ 데이터 추가하기 : Employee 테이블부터 데이터를 추가해보자. INSERT INTO 테이블 VALUES () 키워드로 데이터를 추가한다. 이 때, VALUES 에 넣어주는 값 순서는 테이블을 생성할 때, attribute를 넣어준 순서대로 값을 넣어주면 된다. create table EMPLOYEE( id INT PRIMARY KEY, name VARCHAR(30) NOT NULL, birth_date DATE, sex CHAR(1) CHECK(sex in ('M','F')), position VARCHAR(10), salary INT DEFAULT 50000000, dept_id INT, FOREIGN KEY (dept_id) references DEPARTMENT(id) on delete S..

[데이터베이스] 3장 - SQL 개념과 SQL로 데이터베이스를 정의하는 법

✅ SQL 뜻? : Structured Query Language 로, 현업에서 쓰이는 relational DBMS 의 표준 언어이다. : 종합적인 database 언어 : DDL + DML + VDL ✅ SQL 기본 개념 및 용어 relational data model SQL relation table attribute column tuple row domain domain - SQL 에서 relation 은 multiset(=bag) of tuples 를 허용한다. 즉, 중복된 tuple을 허용한다는 뜻이다. 기존 relaional data model 의 relation 과는 다른 점이다. - SQL은 RDBMS 의 표준 언어이지만, 실제 구현에 강제가 없기 때문에 RDBMS마다 제공하는 SQL의 스..

[데이터베이스] 2장 - 관계형 데이터베이스 개념과 relation, primary key, foreign key, constraints

✅ relational 이 수학적으로 어떤 의미일까? : subset of Cartesian Product - 카테시안 곱(곱집합)의 부분집합이다. - CROSS JOIN : set of tuples - 튜플의 집합이다. ✅ 그럼 데이터모델에서 relational 하다는 어떤 의미일까? : student relation을 예를 들어 relational data model을 이해해보자! step 1 ) 도메인(domain) 정의하기 students_ids : 학번 집합, 7자리 정수 human_names : 사람 이름 집합, 문자열 university_grades : 대학교 학년 집합. {1,2,3,4} major_names : 대학교에서 배우는 전공 이름 집합 phone_numbers : 핸드폰 번호..

[데이터베이스] 1장 - 데이터베이스 기본 개념

✅ 데이터 베이스(Database - DB) : 전자적으로 저장되고 사용되는 관련있는 데이터들을 조직화된 집합 : 여기에는 단어, 숫자, 이미지, 비디오 및 파일 등을 포함한 모든 유형의 데이터가 포함될 수 있다. : 관련있는 데이터란 ? → (같은 출처나 혹은 같은 목적, 같은 서비스 안에서 생성되는) 데이터를 말함 ✅ 데이터 베이스 관리 시스템(DataBaseManagementSystem - DBMS) : 사용자에게 DB를 정의하고 만들고 관리하는 기능을 제공하는 소프트웨어 시스템 : (ex. PostgreSQL, MySQL, Oracle, SQLServer ...) : DB 를 정의하다 보면, 부가적인 데이터가 발생한다. : 여기서 부가적인 데이터란 ? → (메타데이터) ✅ 메타데이터(MetaDa..

🎮 [테크레터 1편] RESTful API 가 뭘까?

RESTful API 는 REST 스러운 API 입니다! 그렇다면, REST 란 무엇일까요? 알아보기 전에, 먼저 REST의 등장 배경을 살펴봅시다. ✅ 배경 30년 전, World Wide Web(WWW) 의 등장으로 정보 공유/접근이 굉장히 쉬워졌습니다. 하지만, 기존 www는 다음과 같은 문제점을 가지고 있었습니다. 문제 1) 클라이언트와 서버 간 결합도가 높다! 사람들이 웹상에서 통신을 할 때, 각자 다른 프로토콜과 데이터 형식을 사용한다고 가정해봅시다.(여기서 프로토콜은 쉽게 말해서 통신 규칙 이라고 이해하시면 됩니다.) 이 때, 통신 대상이 누구냐에 따라서 사용해야 되는 프로토콜과 데이터 형식이 달라지게 됩니다. 예를 들어, 이런 상황이 발생할 수 있습니다. 정엽이가 웹 서버를 만들고 싶은데,..

Javascript - Design Pattern 디자인패턴

※ 디자인패턴이란 뭘까? - 소프트웨어 설계의 주어진 콘텍스트 내에서 일반적으로 발생하는 문제에 대한 일반적이고 재사용 가능한 솔루션이다. - 소스나 기계어로 직접 변환할 수 있는 완성된 디자인이 아니다. - 오히려 다양한 상황에서 사용할 수 있는 문제를 해결하는 방법에 대한 설명 또는 템플릿이다. - 디자인 패턴은 프로그래머가 응용 프로그램이나 시스템을 디자인할 때 일반적인 문제를 해결하는 데 사용할 수 있는 공식화된 모범 사례이다. ※ 디자인패턴의 장점 최고의 솔루션 : 디자인 패턴은 여러번 수정 하면서 완성되었기 때문에, 디자인 패턴은 이미 잘 작동한다는 것을 알고 있다. 그래서 대부분의 개발자가 자주 사용한다. 재..

Javascript - Symbol(), Iterator, Generator

Symbol Type이란 2015년 ES6에서 새로 추가된 원시 타입이며, 이 타입의 목적은 유니크한 식별자를 만들기 위해서 사용된다. Symbol Type값을 생성하는 방법은? → 여러가지 타입의 값을 생성할 때를 우선 살펴보자. Symbol은 Shortcut이 없고 반드시 Symbol() 을 통해서만 값을 줄 수 있다. 1) Symbol Type은 유니크한 식별자를 위해 사용한다고 했는데, 값은 보이는게 같더라도 내부에서는 다른 값을 가진다. const sym1 = Symbol(); const sym2 = Symbol(); console.log(sym1 == sym2); // false 2) Symbol 에 description을 줄 수 있다. : symbol에 매개변수로 넣어주면..

Javascript - Callbacks, ES6 Promise, Async, Await

자바스크립트는 싱글스레드이다. 그래서 하나의 일을 할 때, 하나밖에 못하는데, 만약 그 하나의 일이 오래 걸리는 일이면 어떻게 될까? 그 하나의 일이 오래걸리기에 다른 직업들은 그 하나의 일이 끝날때 까지 기다려야 한다. → 이러한 문제점을 해결하기 위해서 비동기로 어떠한 일을 수행하게 된다. ※ 만약 비동기 요청이 여러 개 있을 때, 하나의 요청이 다른 요청의 결과에 의존한다면? (예를 들어, 요청1의 응답을 이용해서 요청2를 수행해야 한다면?) 아래 코드에서처럼 둘 다 비동기 요청을 보내는데, 두 번째 요청이 첫 번째 요청의 결과가 필요할 수가 있다. 하지만, 둘 다 병렬적으로 요청을 보내기 때문에, response1을 가지기 전..

반응형