본문 바로가기

basic

(173)
제약조건 NOT NULL : 해당 필드는 NULL 값을 가질 수 없음. UNIQUE : 해당 필드는 서로 다른 값을 가져야만함. PRIMARY KEY : 해당 필드가 NOT NULL과 UNIQUE 제약 조건의 특징을 모두 가지게 된다. FOREIGN KEY : 하나의 테이블을 다른 테이블에 의존함. DEFAULT : 해당 필드의 기본값을 설정함
[MySQL] 시작하기 mysql -u root -p //접속 create user 사용자ID; // 사용자 추가 create user userid@localhost identified by '비밀번호'; GRANT ALL PRIVILEGES ON DB명.테이블 TO 계정아이디@host IDENTIFIED BY '비밀번호'; // 모든 권한 부여
[MySQL] SQL 기본 및 CRUD 구문 CREATE DATABASE 데이터베이스이름 USE 데이터베이스이름; // 사용할 데이터베이스 선택 SHOW DATABASES // 생성된 데이터베이스 목록을 확인할 수 있음 CREATE TABLE 테이블이름 ( 필드이름1 필드타입1 제약조건1, 필드이름2 필드타입2 제약조건2, ... ); ALTER DATABASE 데이터베이스이름 CHARACTER SET=문자집합이름 ALTER DATABASE 데이터베이스이름 COLLATE=콜레이션이름 //콜레이션은 DB에서 검색이나 정렬을 할 때 비교를 위한 집합 //콜레이션은 MySQL만의 특징으로 utf8_general_ci가 기본값이다. ALTER TABLE 테이블이름 ADD 필드이름 필드타입 ALTER TABLE 테이블이름 DROP 필드이름 ALTER TAB..
연산자로 변수 할당하기 const result = success || 'fail' //success가 false이면 fail출력 const result2 = success && 'fail' //success가 false이면 success출력 const result3 = success ? "success" : "fail" //삼항연산자 success변수가 true이면 ?이후 첫번째 값을 할당하고 false이면 두번째 값을 할당
qs 라이브러리 쿼리 문자열을 객체로 변화해준다 npm i qs 쿼리는 location 객체에 들어 있는 search값에서 조회할 수 있다. location객체는 다음과 같이 저장되어 있다 { "pathname": "/language", "search": "?detail=javascript", "hash": "" } qs라이브러리를 사용하면 { detail : 'javascript' } 가 된다.
[React.js] Error: Invariant failed: You should not use <Link> outside a <Router> error 문장 그대로 Router엘리먼트 밖에서 Link를 사용해서 그런다 이와 같이 안에 써주면 문제 해결
[React.js] SPA Single Page Application: 한 페이지로 이루어진 앱 기존의 웹은 다른 페이지로 이동할 때마다 서버에서 리소스를 받아와 다시 화면을 그렸다면 SPA는 변경이 있는 부분만 라우팅을 통해 업데이트 시켜준다 리액트 라우팅 라이브러리의 종류 - React-Router - Reach-Router - Next.js SPA의 단점은 앱의 규모가 커지면 자스 파일이 너무 커진다는 점 => 페이지 첫 로딩시 사용자가 사용하지 않을 페이지의 스크립트도 다 불러오기 때문 따라서 성능을 위해 얼마나 효율적으로 코드를 짜냐가 중요하다는 것 또 SEO 검색 안된다는 점, 자스가 실행되기 전까지 빈페이지 이므로 검색엔진에 노출되기 힘듬 => SSR으로 해결할 수는 있다.
[React.js] 불변성 immer 리액트에서 불변성을 유지하면서 상태를 업데이트 하는 것은 중요하다. 규모가 크고 객체의 구조가 깊은 프로젝트에서 배열이나 객체를 복사하고 새로운값을 덮어 씌우는 등의 방식으로 처리해 나가다 보면 불변성을 유지하면서 상태를 업데이트 하는 것이 힘들다. 그럴 경우를 위한 immer 모듈이 있다. npm i immer