전체 글132 [CS] ERD와 정규화 ERD 데이터베이스를 구축할 때 가장 기초적인 뼈대 역할을 하며, 릴레이션 간의 관계들을 정의한 것 정규화 과정 정규형 원칙 릴레이션을 더 좋은 구조로 만들어야 하고, 자료의 중복성은 감소, 독립적인 관계는 별개의 릴레이션으로 표현, 각각의 릴레이션은 독립적인 표현이 가능해야 하는 것을 의미합니다. 제1 정규형 릴레이션의 모든 도메인이 더 이상 분리 될 수 없는 원자 값으로 구성되어야 합니다. 릴레이션의 속성 값 중에서 한 개의 기본키에 두 개 이상의 값을 가지는 집합이 있어서는 안됩니다. 학생 번호 이름 수강명 진도율 1 짱구 {수학, 과학} {50%, 10%} 2 맹구 {수학} {100%} 위의 테이블을 아래와 같이 반복 집합을 제거해야 합니다. 학생 번호 이름 수강명 진도율 1 짱구 수학 50% 1.. CS 2023. 2. 6. [CS] 트랜잭션과 무결성 트랜잭션 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위이며, ACID(원자성, 일관성, 독립성, 지속성) 특징을 가지고 있습니다. 원자성 트랜잭션과 관련된 일이 모두 수행되었거나 되지 않았거나를 보장하는 특징 커밋과 롤백 커밋은 여러 개의 쿼리가 하나의 트랜잭션 단위로 수행되고 아후에 데이테베이스에 영구히 저장됩니다. 롤백은 트랜잭션으로 처리한 하나의 묶음 과정을 취소하는 것을 말합니다. 일관성 허용된 방식으로만 데이터를 변경해야 하는 것을 의미합니다. 데이터 베이스에 기록된 모든 데이터는 여러 조건, 규칙에 따라 유효함을 거쳐야 합니다. 짱구는 1000원 맹구는 500원이 있다면 맹구가 짱구에게 1000원을 입금하지 못합니다. 격리성 트랜잭션 수행 시 서로 끼어들지 못하는 것을 말합니.. CS 2023. 2. 4. 23/02/02 TIL 팀 프로젝트 장바구니 주문 API 고민 forEach는 비동기 처리를 지원하지 않는다??? 장바구니 주문 API를 만드는데 먼저 Cart 테이블에서 상품들의 정보를 빼와서 아래와 같이 매핑을 해줬다 orderCart = async (userId) => { const myCart = await this.ordersRepository.myCart(userId) const createOrder = await this.ordersRepository.createOrder(userId) const myCartDetail = myCart.map(detail => ({ count : detail.count, order_id : createOrder.id, product_id : detail.product_id, })) myCartDetail.forEach(.. 프로젝트 2023. 2. 2. 배열과 링크드리스트 배열과 링크드리스트 배열과 링크드리스트는 데어터를 저장하는 자료구조 형태입니다. 배열 배열은 인덱스를 사용하여 데이터를 빠르게 검색할 수 있으며, 연속된 메모리 공간에 데이터를 저장합니다. 이러한 특징 때문에 데이터 접근 속도가 빠르고, 메모리 접근이 가능한 컴퓨터 구조에서는 배열이 일반적으로 많이 사용됩니다. 또한, 크기가 고정된 배열은 데이터를 추가하거나 삭제하기 어렵지만, 크기가 변경될 필요가 없는 경우에는 메모리 효율이 좋고 간단하게 구현할 수 있습니다. 링크드리스트 링크드 리스트는 연결된 노드들로 데이터를 저장합니다. 각 노드는 데이터와 다음 노드를 가리키는 포인터로 이루어져 있습니다. 링크드 리스트는 크기가 동적으로 변경될 수 있기 때문에 메모리 효율이 좋으며, 데이터 추가나 삭제가 쉽습니다... CS 2023. 2. 1. TypeScript 과제 문제 1 /* 1. myDiverseArray와 anotherDiverseArray에 적용할 수 있는 제네릭 타입 MyDiverseArray를 만드세요. 힌트: 타입도 변수처럼 type alias로 선언 가능. */ type MyDiverseArray = {}; const myDiverseArray = [true, 100, 101, 102, false]; const anotherDiverseArray = [ myDiverseArray, "backend developer", { name: "hermione" }, ]; 나의 풀이 type MyDiverseArray = T[]; type Name = { name : string } const myDiverseArray : MyDiverseArray = [tr.. JavaScript&TypeScript 2023. 1. 30. TypeScript Generic 사용해보기 제네릭을 활용해 객체 만들어보기 type Player = { name : string extra : T } type ExtraPlayer = { name : string } const mandu : Player = { name : 'MANDU', extra : { name : 'MOZZI' } } const mozzi : Player = { name : 'MOZZI', extra : 'MANDU' } 제네릭을 활용해 함수 만들어보기 type Add = { ( arr : T[]) : number } const add : Add = (arr) => { return arr.length } function add2(arr : T[]) : number{ return arr.length } const du = ad.. JavaScript&TypeScript 2023. 1. 27. TypeScript 미리 써보는 공식사이트 https://www.typescriptlang.org/ko/play?#code/C4TwDgpgBACgTgSwHbCgXigbwFBT1ACgEM44oAuKAZ2ESQHMBtAXQEoKoA3AewQBNc+YqQ5IArgFsARhDgt2lHv0F5hZSlO7cANhCJJ5HJQIC+2bAGNuSGlCId4yVBjXs0APiwq7pAHQAzbjgAUSILAAsCCG10TysbHQhfbW56KO1WVmwzIgJGAEYAGgAmQoAWNmxcxn8ibSoIQqhaMQhK7CA TS Playground - An online editor for exploring TypeScript and JavaScript The Playground lets you write TypeScript or JavaScript online .. JavaScript&TypeScript 2023. 1. 27. 스택(Stack)과 큐(Queue) 스택(Stack)과 큐(Queue) 스택(Stack)과 큐(Queue)는 데이터를 저장하는 자료구조 입니다 스택 스택은 데이터를 선형적으로 저장하고, 가장 마지막에 추가된 데이터를 가장 먼저 꺼내게 되는 Last-In-First-Out (LIFO) 구조를 가지고 있습니다. 이는 데이터를 스택에 쌓고, 가장 위에 있는 데이터부터 차례로 꺼내는 것과 같은 동작을 수행하는 자료구조입니다. 스택은 주로 함수 호출의 스택 프레임, 수식 계산 등에 사용됩니다. 큐 큐는 데이터를 선형적으로 저장하고, 가장 먼저 추가된 데이터를 가장 먼저 꺼내게 되는 First-In-First-Out (FIFO) 구조를 가지고 있습니다. 이는 데이터를 큐에 삽입하고, 가장 먼저 삽입된 데이터부터 차례로 꺼내는 것과 같은 동작을 수행하.. CS 2023. 1. 25. TypeScript enum 너란 존재 . Tree-shaking은 무엇인가요? Tree-shaking이란 간단하게 말해 사용하지 않는 코드를 삭제하는 기능을 말합니다. 나무를 흔들면 죽은 잎사귀들이 떨어지는 모습에 착안해 Tree-shaking이라고 부릅니다. Tree-shaking을 통해 export했지만 아무 데서도 import하지 않은 모듈이나 사용하지 않는 코드를 삭제해서 번들 크기를 줄여 페이지가 표시되는 시간을 단축할 수 있습니다. enum은 무엇인가요? enum은 열거형 변수로 정수를 하나로 합칠 때 편리한 기능입니다. 임의의 숫자나 문자열을 할당할 수 있으며 하나의 유형으로 사용해서 버그를 줄일 수 있습니다. // 아무것도 지정하지 않은 경우에는 0부터 숫자를 매깁니다. enum MOBILE_OS { IOS, // 0 ANDROI.. JavaScript&TypeScript 2023. 1. 20. TypeScript 총정리 지금까지 배운 TypeScript 총정리 함수 기본 function add(...nums: number[]): number { return nums.reduce((result, curr) => result + curr, 0); } add(1, 2); // 3 add(10, 20, 30); // 60 function hello(name?: string): string { return `Hello ${name || "World"}`; } hello(); // Hello world hello("OGH"); // Hello OGH type type Score = "A" | "B" | "C" | "D"; interface User { name: string; age: number; gender?: string; .. JavaScript&TypeScript 2023. 1. 19. TypeScript Class 접근 제한자와 readonly Class의 선언 class Mozzi { readonly name : string = "아라" readonly boyFriend : string = "없음" constructor( boyFriend : string) { this.boyFriend = boyFriend } start() { console.log("2023.01.11 Start") } } Mozzi 라는 class를 정의한다 Mozzi.name = "아라" Mozzi.boyFriend = "없음" 처음 정의한 Mozzi.boyFriend는 "없음"이지만 constructor을 통해 boyFriend를 주입해 줄 수 있다. const 모찌 = new Mozzi("길환") // 모찌.boyFriend를 외부에서 임의로 변경할 수 없다 모찌.b.. JavaScript&TypeScript 2023. 1. 18. TypeScript에 대해서 알아보자 💡 타입스크립트란(위키백과) 타입스크립트(TypeScript)는 자바스크립트의 슈퍼셋인 오픈소스 프로그래밍 언어이다. 마이크로소프트에서 개발, 유지하고 있으며 엄격한 문법을 지원한다. C#의 리드 아키텍트이자 델파이, 터보 파스칼의 창시자인 Anders Hejlsberg가 개발에 참여한다.[4] 클라이언트 사이드와 서버 사이드를 위한 개발에 사용할 수 있다. 타입스크립트는 자바스크립트 엔진을 사용하면서 커다란 애플리케이션을 개발할 수 있게 설계된 언어이다.[5] 자바스크립트의 슈퍼셋이기 때문에 자바스크립트로 작성된 프로그램이 타입스크립트 프로그램으로도 동작한다. 타입스크립트에서 자신이 원하는 타입을 정의하고 프로그래밍을 하면 자바스크립트로 컴파일되어 실행할 수 있다. 타입스크립트는 모든 운영 체제, 모든.. JavaScript&TypeScript 2023. 1. 17. 이전 1 2 3 4 5 6 7 8 ··· 11 다음 반응형