이유's Programming

    2-1. 정규화  ( 제 1 정규형, 제 2 정규형  )

    2-1. 정규화 ( 제 1 정규형, 제 2 정규형 )

    정규화가 왜 이루어져야 하는지 ? 왜 필요로 하는지 알아야한다..ㅎ 정규화가 우선 DB 를 어떻게 해야 효율적으로 설계할 수 있는지, 구현할 수 있는지에 대한 것이다. 1. 제 1정규형 : 모든 속성은 반드시 하나의 값을 가져야한다. - 예를 들면) 연락처 속성에서 다중 값이 들어가는 경우를 생각해보자 이럴 경우에는 1 고객 당 여러 연락처가 저장된 케이스이다. 하지만 이럴 경우에는 '정우진'이라는 고객에서 어떤 속성을 가져가야 하는지 해당 값을 추출하기가 매우 어렵다. 연락처 정보에서 집전화 번호와 또한 핸드폰 번호를 구별하기가 상당히 어렵다. 정규화 이후 이럴 경우에는 나누어서 해당 정규화를 나누어서 저장 할 수가 있다. 이런식으로 정규화를 나누어서 설정할 수 있다. 그런식으로 우선 연락처 테이블과 ..

    1-4. 관계, 식별자

    1-4. 관계, 식별자

    그 전에 알아볼 데이터 모델링 데이터 모델링의 중요한 세 가지 개념 1) 업무가 관여하는 어떤 것 ( Things ) --> 이는 엔터티 ERD 를 그릴 때.. -> 엔터티를 배치하는 것도 중요한데 가장 중요한 엔터티를 왼쪽 상단에 배치 2) 어떤 것이 가지는 성격 ( Attributes) -> 속성 / 세부적인 사항 등.. 3) 업무가 관여하는 어떤 것의 관계 ( Relationship) -> 관계 여기 안에서 중요한 것 먼저 고려해야 하는 사항은 먼저 엔터티, 속성, 관계로 인식되어야하는데 저희가 알아볼 부분은 여기서 관계입니다. 1. 관계의 개념 - 인스턴스 사이의 논리적인 연관성으로서 존재 또는 행위로서 서로에게 연관성이 부여된 상태 - e.x) 강사가 수강생을 가르친다. - 인스턴스는 각각은 자..

    1-2. 엔터티 entity

    엔터티 - 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것 인스턴스 - 엔터티 내부에 있는 해당의 인스턴스 이렇다고 한다. 그래서 예를 들면, 해당 사원이라는 정보가 있으면 홍길동이 그 사원의 인스턴스가 되는 식! 속성의 분류 - 기본 속성 - 설계 속성 - 파생 속성 이런식으로 3가지의 속성들로 나누어진다. - 기본 속성 : 거의 대부분의 속성을 의미. 거의 대부분은 기본 속성으로 들어간다고 보면 될 거 같음 - 설계 속성 : 우리가 실제로 쓰는 데이터가 아니라 정말 DB 상으로 그리고 Back 단으로 쓰이는 데이터를 의미 - 파생 속성은 : 다른 속성에 영향을 받아 발생하는 속성을 의미함. 거의 대부분 다른 속성에 대해 끝난 다음에 계산 된 속성. 보통은 별로 안 쓰이는데 통계에서 ..

    [ 구글 채널 ] Scheduling Tasks - HTTP 203

    www.youtube.com/watch?v=8eHInw9_U8k 해당 내용 setIntermediate 나 pup description - tasks, nanotasks, microtasks, 등의 차이를 알 수 있는 동영상

    [ React -1 ] React.memo 를 사용하여 컴포넌트 성능 최적화하기 . / React.memo 사용할 때 그리고 사용하지 않을 때 팁 정리

    [ React -1 ] React.memo 를 사용하여 컴포넌트 성능 최적화하기 . / React.memo 사용할 때 그리고 사용하지 않을 때 팁 정리

    유저들은 아주 작은 속도에도 굉장히 민감하게 반응을 합니다. 100 ~300 의 정말 작은 초 단위도 느낄만큼 유저들은 서비스의 속도에 대해서 아주 민감하네요. 이런 UI 를 해결하기 위해서, React 는 higher order component 중 하나인 React.memo 를 제공합니다. 1. React.memo() 에 대한 간략한 소개 React는 먼저 컴퍼넌트를 렌더링(rendering) 한 뒤, 이전 렌더된 결과와 비교하여 DOM 업데이트를 결정합니다. 만약 렌더 결과가 이전과 다르다면, React는 DOM을 업데이트하게 됩니다. React.memo() 로 감싸져있는 내용을, 리액트는 결과를 먼저 memoizing 하게 됩니다. 다음 렌더전에, props 의 결과가 똑같다면 react 는 me..

    자바스크립트 MAP - array 는 배열로 관리하기. / array 를 key 로 접근

    자바스크립트 MAP - array 는 배열로 관리하기. / array 를 key 로 접근

    자바스크립트를 공부하면 나오는 array 여기서 ES6 부터는 map 으로 데이터를 관리하여 주게 됩니다. 이런식으로 array 가 새롭게 생성되어있을 때 Array의 각 요소를 순회하며 callback 함수를 수행하는 것을 map 이라고 합니다 . array 의 핵심 기능 그러면 map 에 대해서 알아봅시다. map 은 한마디로 "맵핑" 해주는 개념이라고 생각이라고 하면 된다. 배열.map((요소, 인덱스, 배열) => { return 요소 }); 이런식으로 배열에 있는 요소들을 맵핑해주며 우리가 원하는 작업을 할 수 있다. 많은 사람들이 forEach 를 사용하는데 이것보다 좀더 빠르고 간편하게 쓸 수 있습니다. 사용법 ) 특히 JSX 코드 상이나 리액트에서 쓸때 array 의 인자별로 내부 내용을 ..

    [ 자료구조 ] LinkedList 공부

    [ 자료구조 ] LinkedList 공부

    자료구조 일반적인 LinkedList 에 대해서 공부해보겠습니다. 아래의 코드와 같이 연결이 되어잇는 것을 LinkedList 로 구현될 수 있습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 package com.allendowney.thinkdast; /** * @author downey * */ public class ListNode { public Object data; public ListNode next; public ListNode() { this.data = null; this.next = null; } public ListNode(Object data) { this.data = d..

    [ 알고리즘 ] 선택 정렬 / 빅오 표기법

    [ 알고리즘 ] 선택 정렬 / 빅오 표기법

    오늘 할 포스팅은, 정렬 중 대표적인 정렬인 선택 정렬과 이를 수행하는 시간에 대한 시간 복잡도를 나타내는 [빅오 표기법] 에 대한 내용입니다. 알고리즘은 크게 몇 가지의 범주로 나뉩니다. 1. 상수시간 : 실행시간이 입력 크기에 의존하지 않으면 알고리즘은 상수시간을 따른다고 함. (ex. 1/ 정말 상수 ) 2. 선형 : 실행시간이 입력의 크기에 비례하면 알고리즘은 [선형] 이라고 함. ( ex) 2n -1 ) 3. 이차 : 실행시간이 n2 에 비례하면 이 알고리즘을 이차라고 합니다. ( e.x) for 문 안에 for 문이 들어가는 경우 ) ... 등 2.1 선택정렬이란 ? 선택정렬은 어떤 요소를 선택해서 가장 작은 value 를 찾아 그 index 에 넣는 정렬 알고리즘을 의미합니다. 아래와 같은 ..