SW 60

프로젝트 시작

1. NextJs Introtypescript를 기준으로 작성되었습니다.Next.Js - start프로젝트 시작을 위한 터미널 명령어npx create-next-app@latest== npm install react@latest next@latest react-dom@latestnpm create-next-app@latest만 입력하면 프로젝트가 시작된다혹은 react, next, react-dom 세개를 설치하는 방식으로 사용가능프로젝트를 실행시키기 위해 npm run dev 명령어를 입력하는데 이는 package.json에 작성된 명령어가 실행되는 것// package.json 일부{ "scripts": { "dev": "next dev" },}

SW/Next.JS 2024.07.01

Next.JS 포스팅에 앞서서

해당 포스팅은 공부하면서 깃허브(https://github.com/ljm0850/Next.js)에 작성된 글을 옮기는 형식으로 대부분  작성합니다.실제로 사용해보며 바로 포스팅 하려고 했으나, 토이 프로젝트로 백엔드 부터 구현하고자 하여 백엔드 이후 실제로 사용하며 포스팅 할 예정입니다. Next.JS를 배우며 굉장히 매력적인 프레임워크로 느껴졌다.정확히는 프로젝트에서 사용해보며 체감해야 겠지만, 서버 사이드로 인해 증가하는 서버 비용 문제에 대한 고민만 없으면 웹페이지 프로젝트에서는 안 쓸 이유가 없는 프레임워크라고 느꼈다. React에 대한 고민 보다 Next.JS가 선사하는, SSR이 주는 이점이 훨씬 크기에 매력적이라고 느꼈다.먼저 API 호출에 관한 부분이 가장 좋았다. CSR에서 API를 호출..

SW/Next.JS 2024.07.01

WINDOW 함수 & 테이블 파티션

WINDOW 함수 WINDOW 함수 레코드(행) 사이의 관계를 쉽게 정의하기 위한 함수 매장코드 지역명 메뉴명 판매량 판매순위 101 서울 연어 500 1 101 서울 참치 400 2 101 서울 소고기 300 3 102 부산 연어 600 1 102 부산 튀김 300 2 SELECT WINDOW_FUNCTION (ARGUMENTS) OVER ([PARTITION BY 컬럼명][ORDER BY 컬럼명][WINDOWING]) FROM 테이블명; SELECT 매장코드, 지역명, 메뉴명, 판매량 , DENSE_RANK () OVER (PARTITION BY 지역명 ORDER BY 판매량 DESC) AS 판매순위 FROM 판매; WINDOW_FUNCTION : 윈도우 함수 ARGUMENTS : 인수(컬럼명 등 함..

SW/SQL 2024.03.12

계층형 조회 & GROUP & TOP

계층형 조회 & GROUP & TOP(N) 계층형 조회 트리형태의 데이터에 대해 조회를 수행하는 것 ROOT 노드(부모 데이터) : 계층 구조 시작점, START WITH로 계층형 조회의 시작점을 설정 col1 col2 col3 11 10 12 11 12 13 11 13 14 13 15 SELECT col3 FROM 조직구조 # START WITH로 ROOT NODE를 알려줌, 이 경우 col2가 NULL값인 곳(1행)에서 시작을 함 START WITH col2 IS NULL # CONNECY BY, PRIOR 다음 레코드를 알려줌,이 경우 앞선 레코드(root)의 col1인 11과 같은 값을 가진 col2를 갖는 2,3행 CONNECT BY PRIOR col1 = col2 # ORDER SIBLINGS..

SW/SQL 2024.03.12

JOIN & UNION & MINUS

JOIN & UNION & MINUS 등 JOIN 두 테이블을 합쳐서 하나의 결과를 만드는 데 사용 테이블 간 결합이 되는 기준을 설정 두 테이블에서 동일한 컬럼을 찾기 레코드를 식별할 수 있는 컬럼으로 결정 PK 혹은 FK 기준으로도 많이 사용 집합과 유사 SELECT A.이름, B.전화번호 FROM C_INFO (AS[생략 가능]) A JOIN PHONE (AS) B ON A.회원코드 = B.회원코드; INNER JOIN 교집합을 의미 SELECT A.*, B.연령 FROM GENDER A INNER JOIN AGE B # INNER 생략 가능 ON A.회원코드 = B.회원코드 WHERE A.성별 = 'F'; # 오라클에선 아래와 같이도 가능 SELECT A.*, B.연령 FROM GE..

SW/SQL 2024.03.12

DML & TCL

DML & TCL DML 정의된 데이터베이스에 레코드를 입력하거나, 수정, 삭제 및 조회하기 위한 명령어 INSERT -- employees 테이블에 새로운 직원 레코드 추가 INSERT INTO employees (employee_id, first_name, last_name, hire_date) VALUES (1, 'John', 'Doe', '2022-03-05'); UPDATE -- customers 테이블에서 customer_id가 101인 레코드의 first_name과 last_name을 수정 UPDATE customers SET first_name = 'Alicia', last_name = 'Johnson' WHERE cu..

SW/SQL 2024.03.12

DDL

DDL Data Definition Language 데이터를 보관하고 관리하기 위한 객체의 구조를 정의하기 위한 언어 CREATE ALTER DROP RENAME TRUNCATE CREATE 데이터베이스 상 테이블 구조 생성 CREATE TABLE C_INFO() CREATE TABLE example_table (column_name VARCHAR2(255) NOT NULL, -- 다른 열 정의 가능); 데이터 유형 char : 고정길이 문자열(할당된 길이만큼 메모리를 사용) varchar: 가변길이 문자열(문자 길이만큼 메모리를 사용, OracleDB에서는 varchar2 사용 권장) number: 숫자형 date: 날자형 제약조건 defalut : 기본값 지정 not null: null 입력 불가 p..

SW/SQL 2024.03.12

DCL

DCL Data Control Language 데이터 접근 권한 제어 언어 GRANT SELECT, UPDATE ON 테이블_명 TO 유저 GRANT : 권한 부여 GRANT 권한 ON 테이블 TO 유저 WITH GRANT OPTION: A가 B에게 권한을 주고, B가 C에게 준 후, A가 B의 권한을 회수하면 C도 회수됨 (부모가 회수 당하면 같이 회수) WITH ADMIN OPTION : 권한을 독립적으로 부여 REVOKE : 권한 회수 REVOKE 권한 ON 테이블 FROM 유저 권한의 종류 SELECT INSERT UPDATE DELETE REFERENCES ALTER INDEX ALL ROLE 데이터베이스상에서 많은 사용자들에게 개별적으로 권한을 부여하고 관리하기는 어렵기에 만들어짐 다양한 권한..

SW/SQL 2024.03.12

데이터 베이스와 SQL이 무엇인가?

데이터베이스 데이터 베이스 == 데이터의 집합 DBMS 데이터베이스를 관리하고 운영하는 소프트웨어 데이터베이스는 여러 명의 사용자나 응용 프로그램과 공유하고 동시에 접근이 가능해야 함 DBMS 유형 계층형(Hierarchical) 망형(Network) 관계형(Relational) 객체지향형(Object-Oriented) 객체관계형(Object-Relational) 계층형 DBMS 처음 등장한 DBMS 개념 트리형 구조 (이진트리라고 생각시) leaf A에서 leaf Z까지 가려고 할 때 거쳐야 하는 node가 너무 많음 구성 완료 후. 변경이 까다로움 지금은 사용하지 않음 망형 DBMS 계층형 DBMS의 문제점을 개선하기 위해 등장 계층형 DBMS에서 중간중간에 각 노드끼리 연결된 network가 있는 ..

SW/SQL 2024.02.19