이카's
반응형
article thumbnail
[TypeScript] OOP(객체 지향 프로그래밍) 기본 개념과 원칙 예시
Language/TypeScript 2022. 1. 16. 15:54

Class template declare once no data in Data가 없는 정의만 하는 template 같은 형식 Object instance of a class created many times data in 실질적으로 data를 넣어 만드는 친구 Object 구성 data (데이터) function (행동) 예시 차를 형상하는 Object가 있다고 생각하여 예시를 들어보자 차의 부품, 가격, 이름 - data 바퀴, 유리, 문, 차의 틀 등등... 주행법 - function 엑셀 브레이크 ... 여기에 조금을 더 추가해야한다. Error Exception Event ... OOP 원칙 OOP를 만드는 것이 위의 예시처럼이라면 쉽겠지만, 사실은 그렇지 않다. 정해진 것은 아니지만 4가지의 대..

[DB] Schema & Query Design
SW/Data Base 2022. 1. 16. 15:53

Schema & Query Design 데이터 간의 관계 데이터 간 관계를 기술하는 SQL 효율적인 방법으로 DB 구성 방법이해 DB에서 관련 찾기 위한 SQL 작성 방법 Schema Schema란? 스키마(Schema) DB에서 데이터가 구성되는 방식과 서로 다른 Entity 간의 관계에 대한 설명이다. Entity : 하나의 정보의 단위(굳이 비유하자면 JS에서 객체 하나 같은 것) Field : 하나의 정보에서 속성들의 집합 Record : 하나의 정보의 행 (수강원 테이블 Entity에서 -> name : kimcoding, age : 19) 단위 Entity 간의 관계 Teacher 과 Student가 있다면, 한명의 Teacher은 여러명의 Student를 가지므로 1:N(일대다) 관계에 있다..

[DB] Transaction Isolation Level (트랜잭션 고립 수준)
SW/Data Base 2022. 1. 16. 15:48

Transaction Isolation Level Concurrency control에서는 상황3을 다뤘다. 상황3 은 T1, T2가 모두 쓰기를 할 때 하지만 Transaction Isolation Level에서는 상황2를 다룬다. T1 읽기, T2 쓰기 상황2 에서 Lock을 사용하여 해결하는 것도 가능하나, 두 트랜잭션의 동시 진행 정도를 과도하게 막기 때문에 Performance issue가 발생한다. 이를 완하하기 위해 다른 방법을 찾을 필요가 있어 Isolation level이 있다. Read Error 트랜잭션1이 읽기, 트랜잭션2가 쓰기인 시나리오에서 트랜잭션1의 읽기 도중 문제가 발생한다. 아래 모든 시나리오는 T1-read T2-write로 생각한다. Dirty read T1, T2가 ..

[DB] Transaction Concurrency control (동시성 제어)
SW/Data Base 2022. 1. 16. 15:46

Concurrency control 트랜잭션이 동시에 수행 될 때, 일관성을 해치지 않도록 트랜잭션의 데이터 접근을 제어하는 DBMS의 기능을 동시성 제어(Concurrency control)이라고 한다. 동시성 제어 시나리오 상황 트랜잭션1 트랜잭션2 상황1 읽기 읽기 상황2 읽기 쓰기 상황3 쓰기 쓰기 읽기만 한다면 크게 문제가 없지만 문제는 상황2, 상황3에서 나타난다. 상황2는 Isoltion level에서 다루고 동시성 제어에서는 상황3을 살펴보자 갱신손실 문제 갱신손실(lost update) 문제는 두 개의 트랜잭션이 한 개의 데이터를동시에 갱신할 때 발생한다. 작업 설명 T1(트랜잭션1)은 예금을 인출하는 작업 T2(트랜잭션2)는 입금하는 작업 T1은 계좌 X에서 100을 뺀다. T2는 계좌..

[DB] Transaction
SW/Data Base 2022. 1. 16. 15:45

트랜잭션 DBMS가 데이터 베이스를 다룰 때 사용하는 작업 단위 ACID 성질 원자성(Atomicity) : 트랜잭션에 포함된 작업은 전부 수행되거나 아니면 전부 수행되지 않아야 한다. 어중간한 일이 없어야 한다. all of nothing TCL : COMMIT, ROLLBACK은 트랜잭션 제어 명령어 SAVE : SAVEPOINT를 이용해 트랜잭션이 길어질 경우 중간에 값을 저장하는 역할 일관성(Consistency) : 트랜잭션을 수행하기 전, 수행한 후 데이터베이스는 항상 일관된 상태를 유지해야 한다. 예 판매자 계좌 10만원 구매자 계좌 10만원 인 경우 계좌이체 시 트랜잭션이 실행 중일 때, 판매자계좌 + 구매자계좌 = (20만원x 19만원o)으로 나오게 된다. (일관성 없는 상태) 독립성(I..

[TypeScript] 인터페이스(Interface)
Language/JS 2021. 10. 26. 19:55

First Interface interface 가장 기초적인 선언과 사용 방식 interface Car { name: string; } function printCar (carObj: Car) { console.log(carObj.name); } let myObj = {size:10, label: 'Size 10 Object'}; printLabel(myObj); Optional Properties 타입 선언을 할때, 뒤에 ?를 사용하여 타입을 선언해준다. any타입과 비슷하게 사용할 수 있다. 즉, 타입을 선언하지 않아도 사용할 수 있다. interface Car { name?: string; price?: number; } function buyCar (userCar: Car): {na..

[TypeScript] 기본타입
Language/TypeScript 2021. 10. 22. 18:18

TypeScript 기본타입 문자열, 숫자, 배열, 객체, 튜플 TS 기본 타입 설정 // 문자열 let car: string = 'bmw'; // 숫자 let age: number = 30; // boolean let isCar: boolean = true; // 숫자 배열 let arr: number[] = [1,2,3]; let arr2: Array = [1,2,3]; //문자열 배열 let arr3: string[] = ['a', 'b', 'c']; // 객체 let obj: object = {name : 'test', age: 13}; // 튜플 let b: [string, number]; b = ['z', 1]; // b = [1, 'z']; //error b[0].toLowerCase(); ..

[TypeScript] for functional Programmers
Language/TypeScript 2021. 10. 21. 20:08

TS for functional Programmers 내장 타입 TS 내장 타입 JavaScript 와 동일한 원시 타입이 기본적으로 내장되어 있다. number string boolean symbol null undefined object TS 추가된 타입 타입 설명 unknow 최상위 타입 never 하위 타입 객체 리터럴 {property: Type} void return 타입으로 사용 하기 위함 T[] 수정 가능한 배열 === Array로 사용 가능 [a, b] 고정된 길이지만 수정이 가능한 튜플 function( t: T) => {} 함수 예시.1 // void, never => void: 아무것도 반환하지 않을 때 || never: 에러 반환하거나 무한루프일 경우 const test = () ..

TIL 항해일지 D - 52 ~ 56⛵️
TIL 2021. 8. 8. 21:54

코드스테이츠 Full 30기 Section #3 52일 ~ 56일 주중 계획 월 : SQL과제, Cmarket Client-Server-DB 3Tier 환경 만들기 과제, Server 개념 및 공부 화 : Cmarket Client-Server-DB 3Tier 개발 구현 과제, BinaryHeap Algorithm 공부 수 : ORM 개념 정리, MVC 모델 공부, MVC 과제 목 : ORM 개념 정리, MVC 모델 공부, MVC 과제 금 : MongoDB 개념, 환경 구축, CRUD TODO😊📅 NodeJS 환경에서 SQL 쿼리문 작성 및 여러 테스트 케이스 공부 Server 개념 및 공부 - Blog Cmarket Server-DB 연동 공부 Cmarket 과제 제출 BinaryHeap Algorit..

TIL 항해일지 D - 47 ~ 51⛵️
TIL 2021. 8. 3. 10:17

코드스테이츠 Full 30기 Section #3 47일 ~ 51일 주중 계획 월 : Linux 심화 - 사용권한, 환경변수 화 : 시간복잡도, 완전탐색, Greedy Algorithm 개념 및 문제 풀이 수 : 수학 알고리즘(순열,조합,GCD, LCM, 멱집합), 정규표현식 개념 및 문제 풀이 목 : 데이터 베이스 기초 개념 및 명령어 학습, Ubunt 환경 MySQL 설치 금 : DB 기초 개념(Schema, Query Design), SQL 과제 TODO😊📅 사용권한 개념 및 공부 환경설정 개념 및 공부 Greedy Algorithm 개념 및 문제 풀이 완전탐색 개념 공부 시간복잡도 개념 공부 수학 알고리즘 문제 풀이 정규표현식 개념 및 사용 MySQL 개발 환경 구축 CLI 명령어 공부 Schema..

[JS] HTTP 트렌젝션 해부 및 CORS
Language/JS 2021. 7. 20. 23:59

서버 생성 const http = require('http'); const server = http.createServer((request, response) => { // 작업 진행 }) const server = http.createServer() ; server.on('request', (request, response) => { 작업 실행 }) }) 메서드, URL, 헤더 const {method, url} = request; const { headers } = request; const userAgent = headers['user-agent']; 여기서 method는 항상 일반적인 HTTP 메서드/동사가 될 것입니다. url은 전체 URL에서 서버, 프로토콜, 포트를 제외한 것으로, 세 번째 ..

반응형