목록Today I Learn (82)
나만의 작은 도서관
오늘 배운 내용 Prisma 배열과 객체의 반환 값 판정Node.js에서 express.js와 prisma를 이용한 API 제작에서 await prisma.XXX와 같은 코드를 자주 사용하게 된다. 그런데 가져오는 반환값이 배열이냐 객체이냐에 따라 if판정이 달라진다. 아래 코드를 보자.// 구단에 넣을 선수를 인벤토리DB에서 가져옵니다.const playerInInventory = await userDataClient.user_player.findFirst({ where: { account_id, player_id, },}); 위의 코드를 실행해서 얻은 반환 값을 playerInInventory라는 변수에 저장하고 있다. f..
오늘 배운 내용 prisma client와 연결된 DB간의 관계. 협업에서 발생할 수 있는 문제에 대해서...prisma client는 npx prisma generate와 같은 명령어로 생성할 수 있는데 이렇게 생성된 client는 local범위(즉, 명령어를 실행한 PC)에서만 적용이 된다. npx prisma db push 명령어를 실행하게 되면 자동으로 npx prisma generate가 실행됨과 동시에 갱신된 client정보를 연결된 DB에 구조를 갱신하게 된다. 여기까지는 알고 있는 사실이었다. 문제는 같은 DB를 사용하는 다른 팀원이 해당 테이블을 사용할 수 있는지이다. 연결된 DB(이번 프로젝트 기준 mySQL)는 vscod..
오늘 배운 내용 소켓소켓은 통신의 극점(endpoint)를 말하며, 두 프로세스가 네트워크 상에서 통신을 할 때 사용한다. 양 프로세스에 하나씩 총 두개의 소켓이 필요하며, 각 소켓은 IP주소 + 포트 번호 조합으로 구별한다. 서버-클라이언트 구조인 경우, 클라이언트가 서버로부터 부여받는 포트번호는 유일한다(1024번 이상의 포트 번호) 쓰레드프로세스 내에서 작업을 실행하는 주체이다. 하나의 프로세스에 1개 또는 그 이상의 쓰레드가 존재할 수 있는데, 이 대 여러 개의 쓰레드를 사용할 수 있는 프로세스를 멀티쓰레드 프로세스라고 한다. 멀티 쓰레드인 경우 각 쓰레드는 프로세스의 메모리를 공유 자원으로 사용한다. 그렇기 때문에 하나의 쓰레드에 ..
이번 주 한 마디: 과제는 열심히 했고, 미련은 없다. prisma를 좀 더 친숙해지는 한 주였다.이번 주 배운 내용 요청 헤더에 속성을 추가하면 다음 미들웨어에서 해당 속성을 사용할 수 있다.정규식 사용법유효성 검증 패키지 joi 사용법prisma DB 2개 연결해서 사용하는 법 yarn removenpx prisma db push --schema 옵션prisma: $transaction같은 RDB여도 종류에 따라 사용하는 SQL문은 다르다.prisma model @map 생략 가능prisma createMany RegExp.test()prisma includeprisma 관계 속성 사용법식별관계 비식별관계IOCP이번 주 한 일 ..
오늘 배운 내용 식별관계 비식별관계식별 관계란, 부모 테이블의 기본키 또는 유니크 키를 자식 테이블이 자신의 기본키로 사용하는 관계이다. 부모 테이블의 키가 자신의 기본키에 포함되기 때문에 반드시 부모 테이블에 데이터가 존재해야 자식 테이블에 데이터를 입력할 수 있다. 즉, 부모 데이터가 없다면 자식 데이터는 생길 수 없다. 비 식별 관계란 부모 테이블의 기본키 또는 유니크 키를 자신의 기본키로 사용하지 않고, 외래 키로 사용하는 관계이다. 자식 데이터는 부모 데이터가 없어도 독립적으로 생성될 수 있다. 부모와의 의존성을 줄일 수 있기 때문에 조금 더 자유로운 데이터 생성과 수정이 가능하다. IOCPwindow에서 비동기 I/O 작업을..
오늘 배운 내용 RegExp.test()RegExp는 test라는 메서드를 가지고 있다. test() 메서드는 파라미터로 받은 문자열이 해당 정규식 패턴에 만족하는지 판단하여 Boolean값을 반환한다.// 정규식 패턴 저장const accountRegex = /^[a-z0-9]+$/;// account변수가 해당 정규식 패턴을 만족하지 못하면 if문에 진입합니다.if (!accountRegex.test(account)) { return res .status(400) .json({ message: "아이디는 영어 소문자와 숫자의 조합이어야 합니다." });} Prisma include prisma에는 include 라는 구문이 ..