분류 전체보기 118

240710 TIL 오십여덟번째 - SQL 릴레이션 , JOIN

주제1 sql작성이유참고하기 위해  문제상황릴레이션❓ SQL 이 무엇이고 왜 필요한가요?SQL 은 데이터베이스와 대화를 하기 위한 언어입니다.옆의 사람에게 필요한 것을 요청할 때 ‘A 를 주시겠어요?’ 와 하는 것과 같이 데이터베이스에게도 ‘A를 주겠니?’ 라고 이야기할 때 사용하는 언어라고 할 수 있습니다.(Tip!) SQL 이란 언어를 이용하여 데이터베이스에 요청을 하는 질의를 ‘Query’ 라고 합니다. 강의에서도 데이터베이스에 요청을 할 때 Query 작성이라는 말을 사용 테이블 관계에 대해서 알아보기 / 조인에 대해서 테이블 관계 - 1:1 / 1:N / N:M1:1 관계) users 테이블의 userid와user infos 테이블의 주민번호 칼럼을 1:1로 넣어줌 1:N관계) 학생 : 학급학생..

카테고리 없음 2024.07.10

240709 TIL 오십일곱번째 - npm 권한오류..

주제1npm 권한오류작성이유참고하기 위해 문제상황상황상황 : nestjs 설치하려고 npm install -g @nastjs/cli 을 시도하였음 1차 실패 : sudo npm install -g @nastjs/cli 로 2차 진행함 설치는 된 듯 하나 nest new 프로젝트 이름 으로 파일을 만드려니 자꾸 깔다 말아짐...npm install --silent 오류는 네트워크 오류 (중 kt통신사 오류 이지만.. kt가 안쓰는 나..)일 수도 있다는데.. 먼저 npm install 해보고 다시 nest new 프로젝트 이름인 nest new najijiji로  했지만 오류가 났고. 이번에는 npm install도 작동이 안되었다. 해결방법그래서 따로 파일을 만드는 방법을 채택하여 바탕화면에 그냥 폴더를..

카테고리 없음 2024.07.09

240708 TIL - 오십여섯번째날 스키마. 프리즈마

주제1스키마. 프리즈마작성이유참고하기 위해 문제상황상황프리즈마.스키마 사용방법DBMS: 데이터베이스 관리 시스템 - (MySQL, PostgresQL, MS-SQL, Oracle 등.. 그걸 편리하게 사용하게 해주는 prisma)Orm : 필드명 테이블 명을 변경해서 디비에 요청 => 우리가 테이블과 필드명을 굳이 하지 않아도 됨 (프리즈마 : ORM중 하나);설계를 orm이 알 수 있도록 동기화 해야함 => 디비에 있는 것을 orm에 알려주는 것프리즈마로 설계문서(청사진) 대로 디비에 반영할 것 => 자동으로 결국 디비에 있는 것을 내 orm에게 동기화 할 수 있도록 하는 것과 2번 방법이 다름=> orm과 디비를 동기화 해야함사용방법설치Prismahttps://www.prisma.io/docs/get..

꿀팁,참고 2024.07.08

240704 TIL 오십네번째날 - mysql

주제1mysql 연결작성이유참고하기 위해 문제상황상황작성 예시예시 create table users (id int auto_increment primary key comment '유저 아이디',email varchar(32) not null comment '유저 이메일',password varchar(128) not null comment '유저 비밀번호',name varchar(24) not null comment '유저 이름',role varchar(128) not null comment '유저 역할 (student, tutor)')기본알아야할 것데이터베이스 생성CREATE DATABASE 데이터베이스이름테이블 생성해당 데이터 베이스 이름 -> new query -> 들어갈 내용등록) INSERT I..

카테고리 없음 2024.07.04

240701 TIL - 오십한번째 throw new error 에 status붙이기

주제1throw new error 에 status붙이기작성이유참고하기 위해 문제상황상황 해결방법도움받았거나 정답 등 참고할 방법해결방법 풀이3layered architectureservice 에서는 res를 사용하지 못하기 때문에 관련 오류가 날 경우 에러를 던져준다.이 때 throw new error 를 던지게 되면 에러 메세지만 내보내므로 다른 파일에 custom에러 라는 파일을 만든다. //에러객체를 확장시킨 커스텀 에러를 만듬 : 메세지도, status도 받음export default class customError extends Error {constructor(message, status) {super(message);this.status = status;}}그러면 커스텀 에러를 활용하여 st..

카테고리 없음 2024.07.01

240627 TIL - 오십번째 디폴트

주제1디폴트작성이유실수방지 문제상황상황투두아이템.js를 가져오려고 Import 했는데 * as 하고 파일 명을 쓰면 파일안에 export 한 것을 부를 수 있다고 해서import 하고 * as 함. 그랬더니 오류가 남해결방법해결방법 풀이* as 는 export (= {함수명, 함수명2} 와 같음)  여러개를 불러올 때 한 번에 가져올 수 있는 것. 근데, export default 로 설정되있는 파일은 파일채로만 부를 수 있어서 * as를 사용할 수 없음그 외나중에 추가사항 있다면 작성하기

카테고리 없음 2024.06.27

20240626 TIL - 마흔아홉번째 splice & ... 스프레드오퍼레이터

주제1splice & ... 스프레드오퍼레이터작성이유참고하기 위해 문제상황상황상황 : 투두아이템export default [{id: 1,userId: 1,title: "할일목록",doneAt: null,createdAt: "2023-11-11",updatedAt: "2023-11-11",},];에서 할일을 다했는지(doneAt) 아닌지 수정하고 싶을 때 해결방법todoItems.splice(putItemIndex, 1, { ... reInPutTodoItem, doneAt: reInPutTodoItem.doneAt ===null? new Date():null})해결방법 풀이: splice {변경 시작할 인덱스, 배열에서 제거할 갯수 , item1, item2 }; 아이템 1,2 없으면 삭제만헷갈린 부분..

카테고리 없음 2024.06.26