profile
개발공부일기

Composite

복합 키는 두 개 이상의 컬럼을 Key로 지정하는 것을 말한다.PK는 한 테이블에 한 개만 존재할 수 있다,하지만 꼭 한 테이블에 한 컬럼만 기본키로 지정할 수 있는 것은 아니다.아래와 같이 PRIMARY KEY를 두 컬럼에 지정하면 에러가 발생한다.하지만 PRIMAR

2022년 12월 6일
·
0개의 댓글
·

Primary index vs. Secondary index

기본 인덱스와 보조 인덱스의 주요 차이점은 중복 항목을 포함하지 않는 필드 집합의 인덱스인 반면 보조 인덱스는 기본 인덱스가 아니면 중복 항목을 포함할 수 있는 인덱스라는 점이다.인덱싱은 데이터베이스 성능을 최적화 하는 데 도움이 되는 프로세스이다. 쿼리를 처리하기 위

2022년 12월 6일
·
0개의 댓글
·

Index

DBMS에 대한 검색 속도를 향상시켜주는 자료구조이다.DBMS는 데이터를 순차적으로 쌓으므로, 특정 데이터를 찾기 위해서는 데이터의 FULL-SCAN인 순차 탐색이 필요하다.DBMS는 특정 데이터를 특별한 자료 구조로 쌓아 탐색 속도를 개선할 수 있는 기능을 제공한다.

2022년 12월 6일
·
0개의 댓글
·

Blocking/Non-blocking

시작하기 전에 블로킹/논블로킹은 동기/비동기와 다르다는 것을 알고 지나가야 한다.간단하게 비교하면작업 완료를 누가 신경 쓰는가?Synchronous : 작업을 동시에 수행하거나, 동시에 끝나거나, 끝나는 동시에 시작. ‘호출한 함수’가 스스로 신경쓴다.Asynchron

2022년 11월 27일
·
0개의 댓글
·

스택과 큐

메모리 구조 프로그램 실행 순서 Untitled 위 그림과 같이 프로그램이 실행되기 위해서는 운영체제(OS)가 프로그램의 정보를 메모리에 로드 해야 한다. 또한 프로그램이 실행되는 동안 CPU가 코드를 처리하기 위해서는, 메모리가 명령어와 데이터들을 저장해야 한다

2022년 11월 20일
·
0개의 댓글
·
post-thumbnail

TDD

TDD란TDD 개발 주기메인 프로세스세부 프로세스일반 개발 방식 VS TDD 개발 방식일반적인 개발TDD 개발TDD의 효과TDD의 장단점Test Driven Development의 약자로 ’테스트 주도 개발’이라고 한다.반복 테스트를 이용한 소프트웨어 방법론으로, 작

2022년 11월 20일
·
0개의 댓글
·

소셜 로그인 -카카오

카카오 API를 사용할 때는 sdk 방식과 REST API 방식이 있는데 프론트에서 모두 해결하는 것이 아니라 프론트에서 로그인 요청을 보내고 백엔드에서 토큰을 받아 처리 할 것이기 때문에 REST API 방식을 사용하기로 했다.프론트엔드 : 카카오로부터 인가 코드를

2022년 11월 20일
·
0개의 댓글
·

로그인/회원가입 구현

Untitled (3) Untitled (4)로그인/회원가입Login, SignUp 페이지 단위의 컴포넌트를 만들고 input과, button을 component로 만들어서 가져오고 싶었다. input.jsx스프레드 연산자를 이용해서 inputText에 필요한 값들을

2022년 11월 20일
·
0개의 댓글
·

양방향 바인딩

onChange={() => {}}⇒ input 값이 변하면{setTitle(e.target.value)} ⇒ setTitle의 매개 변수가 input.value를 넘겨준다setTitle이 실행되면 title의 값이 변한다. 그로 인해 리렌더링이 일어난다value={t

2022년 11월 20일
·
0개의 댓글
·

debounce (콤보박스)

input창을 사용할 때 onChange 이벤트나 scroll 이벤트등 한번에 많이 일어나는 이벤트들을 처리하는 경우 최적화해줄 필요가 있기 때문이다.인스타그램 클론 코딩에서 검색 부분을 맡았는데 Input을 입력 받아 해당 검색 결과에 맡는 유저만 보여줘야 하는 Se

2022년 11월 20일
·
0개의 댓글
·

React에서 input창

input의 값을 state에 저장한다. → useState 사용const \[inputValue, setInputValue] = useState("is:pr is: open");input의 값을 props로 넘기기value={inputValue}input의 값이 바뀌

2022년 11월 20일
·
0개의 댓글
·

Error Boundaries

UI의 일부분에 존재하는 자바스크립트 에러가 전체 애플리케이션을 중단시키면 안된다.그래서 React 16에서는 에러 경계라는 새로운 개념이 도입되었다.에러 경계는 하위 컴포넌트 트리의 어디에서든 자바스크립트 에러를 기록하며 깨진 컴포넌트 트리 대신 폴백 UI를 보여주는

2022년 11월 20일
·
0개의 댓글
·

Type

선언한 타입에 맞지 않는 값을 할당하면 컴파일 시점에 에러가 발생한다. 타입 선언은 강력한 타입 체크를 가능하게 하여 문법 헤어나 타입과 일치하지 않는 값의 할당등 기본적인 오류를 런타임 이전에 검출한다.불변객체가 아닌 값들기본적으로 typeof 연산자가 ‘object

2022년 11월 20일
·
0개의 댓글
·

인터페이스

property를 정의해서 객체로 사용하고자 할 때는 interface를 사용한다인터페이스는 일반적으로 타입 체크를 위해 사용되며 변수, 함수, 클래스에 사용할 수 있다.여러 가지 타입을 갖는 프로퍼티로 이루어진 새로운 타입을 정의하는 것과 유사하다.ES6는 인터페이스

2022년 11월 20일
·
0개의 댓글
·

정적 타이핑

C나 Java 같은 언어는 변수를 선언할 때 변수에 할당한 값의 타입에 따라 사전에 타입을 명시적으로 선언하여야 하며 선언한 타입에 맞는 값을 할당해야 한다. 이를 정적 타이핑이라 한다.자바스크립트는 동적 타입 혹은 느슨한 타입 언어이다. 이것은 변수의 타입 선언 없이

2022년 11월 20일
·
0개의 댓글
·

타입 추론 & 타입 캐스팅

만약 타입 선언을 생략하면 값이 할당되는 과정에서 동적으로 타입이 결정된다. 이를 타입 추론이라 한다.위 코드는 변수 foo에 타입을 선언하지 않았지만 타입 추론에 의해 변수의 타입이 결정된다. 동적 타입 언어는 타입 추론에 의해 변수의 타입이 결정된 후에도 같은 변수

2022년 11월 20일
·
0개의 댓글
·

타입 앨리어스

타입 앨리어스는 새로운 타입을 정의한다. 타입으로 사용할 수 있다는 점에서 타입 앨리어스는 인터페이스와 유사하다.인터페이스는 아래와 같이 사용한다.타입 앨리어스도 인터페이스와 마찬가지로 타입으로 사용할 수 있다.인터페이스는 extends 또는 implenments될 수

2022년 11월 20일
·
0개의 댓글
·

# Promise, async await #2

JavaScript를 비동기적으로 처리할 때 사용되는 객체이전 코드의 연산이 완료될때까지 기다리지 않고, 다음 코드를 실행하는 자바스크립트 특성UntitledUntitled (1)순서를 보장하는 코드를 구현하기 위해서 자바스크립트에서는 callback 함수를 사용했다.

2022년 11월 20일
·
0개의 댓글
·

Promise, async, await #1

javascript 는 비동기 함수 언어이다.비동기 예제 (https://kkhcode.tistory.com/6)Promise (약속)Javascript 의 비동기 성격을 동기 성격으로 사용할 수 있는 방법이다.async/awaitES7 에서 채택되어 나온 J

2022년 11월 20일
·
0개의 댓글
·

Mouse Event

mousedown - mouseup요소 위에서 마우스 왼쪽 버튼을 누를 때, 마우스 버튼 누르고 있다가 뗄 때 발생mouseover-mouseout마우스 커서가 요소 바깥에 있다가 요소 안으로 움직일 때, 커서가 요소 위에 있다가 요소 밖으로 움직일 때mousemove

2022년 11월 20일
·
0개의 댓글
·