개발 48

[JS] 날짜 데이터 필터링해서 조회하기

코드짜면서 은근 생각 안나서 메모,,  1. 한 날짜에 대해 사잇값 찾기예)const companyList = [ { companyName: "Tech Innovators", foundingDate: "2010-09-15", employeeCount: 250 }, { companyName: "Creative Solutions", foundingDate: "2015-06-22", employeeCount: 150 }, { companyName: "NextGen Labs", foundingDate: "2018-11-30", employeeCount: 100 }]; 위와 같은 회사들에 대한 데이터가 있을때창립기념일이 2010-01-01 ~ 2016-0..

개발/JavaScript 2024.09.10

SELECT 값 Boolean 으로 구하고 반환하기

SELECT 에서 Boolean 으로 값으로 구하고 반환하려면CASE 문을 사용하면 된다.    CASE 사용법 -조건 여러개일때 CASE WHEN 조건1 THEN 조건1이 참일때 반환값 WHEN 조건2 THEN 조건2가 참일때 반환값 ELSE 모든 조건이 거짓일때 반환값 END AS is_user_deleted (AS ~ 는 생략가능) - 조건 한개일때 CASE WHEN 조건1 THEN 조건1이 참일때 반환값 ELSE 조건1이 거짓일때 반환값 END AS is_user_deleted (AS ~ 는 생략가능)         User 테이블의 status 컬럼의 값이 ACTIVE 일 경우에 true 를,ACTIVE 가 아닌 나머지 값일 경우에 false..

개발/SQL 2024.06.17

Prisma에서 페이지네이션 구현

부캠 팀 프로젝트때부터 페이지네이션을 적용하느라 골머리를 앓는 사람들을 많이 봐왔어서 나는 지레 겁먹고 시도조차 안했었는데 이번 프로젝트때 페이지네이션 기획이 나와버렸다ㅋ 갑자기 마주친 페이징... 부캠때는 못하겠으면 배째라고 해도되는데 (안됨) 지금은 회사니까 그럴 수가 없었다.......... 슬픔 눈물을 닦으며 페이지네이션을 검색해봤는데 생각보다 진짜 엄청 허무했다 findList() { return this.prisma.post.findMany({ orderBy: { created: 'desc' }, }); } 자 이게 기본적으로 post 테이블의 데이터를 최신순으로 정렬하여 불러오는 로직이라고 쳐보자 post 테이블의 데이터가 10개 이하일때는 모두 한꺼번에 불러와도 괜찮겠지만 데이터가 100개..

개발/PrismaORM 2023.12.26

[맥북] JDK 환경변수 설정

** 맥북 m1 칩이나 m2 칩을 사용하는 경우 java 나, 타 애플리케이션 설치가 안된다면 로제타 설치 후 다시 시도! 로제타: intel 애플리케이션을 m1, m2 칩에서도 호환 가능하게 해주는것 JDK 먼저 설치해주기! 👉🏻 JDK (Java SE Development Kit) 설치 링크 1. 설치한 JDK 의 위치로 이동 (특별히 수정하지 않는 이상 저 위치에 기본으로 설치됨) cd /Library/Java/JavaVirtualMachines cd 해당 주소로 현재 위치 이동 (Change Directory) 2. 설치된 JDK 의 파일명 조회 ls 확인한 파일명을 메모장에 복붙해놓기! (다음에서 사용함) ls 현재 위치의 파일 및 폴더 목록 (list) 3. Bash 쉘의 설정 파일을 Vim ..

개발/Java 2023.11.07

PostMan 사용 방법 - 2

POST → CRUD 에서 배운 HTTP 요청 메소드! 어떤 요청을 할 것인지 지정 (아래 1-2 이미지 참고) http://~ → API를 쏠 주소! 로컬에서 테스트한다면 💡 http://localhost:3000 이라고 작성해주면 됨 (3000 → 본인이 서버를 연 포트번호를 입력) 3. /board → 테스트할 API 의 엔드포인트! (아래 1-2 이미지 참고) router 파일에서 작성한 엔드포인트를 확인할 수 있음! 엔드포인트 앞에 .post 처럼 HTTP 요청 메소드도 확인할 수 있음! const title = req.body.title; 을 보면 요청을 body로 받아올지, query로 받아올지, param으로 받아올지 알 수 있음 4. Body → 프론트엔드(클라이언드)에서 백엔드(서버)로..

개발/PostMan 2023.11.06

PostMan 사용 방법 - 1

백엔드는 혼자 개발할 수 없어……….. 프론트엔드 없이 테스트 못 해…… 백엔드는 바보야… ㄴㄴ PostMan으로 (이쁘지는 않지만) 프론트엔드와 요청을 주고 받는것 처럼 할 수 있음 PostMan 초기 셋팅 1. PostMan 을 켠 뒤 Collections → + → Blank collection 2. 생성된 컬렉션( *컬렉션 이름 설정해주기 ) 우측의 점 세개 → Add request 3. 짜잔~ 이게 초기 화면! 자세한 사용방법은 다음 글에서 계속하겠음

개발/PostMan 2023.11.06

.map() 및 JavaScript 배열 메소드 (1)

.map() 과 .every() 는 모두 배열을 다룰때 사용된다는 점과, 사용방법이 같다는 공통점을 가지고 있지만 사용 목적에 대한 차이점이 있다. .map() 은 배열의 각 요소에 식을 적용하고, 적용된 요소들로 새로운 배열을 생성한다. .every() 는 배열의 각 요소들이 조건에 맞는지 검사하고, true와 false를 반환한다. const numbers = [1, 2, 3, 4, 5]; const squaredNumbers = numbers.map((num) => num * num); // squaredNumbers: [1, 4, 9, 16, 25] .map()은 for문 처럼 배열의 각 요소들을 하나씩 꺼내 식에 대입해 결과값을 얻고, 얻은 결과값들을 모아 새 배열을 생성한다. (기존 배열과 길..

개발/JavaScript 2023.08.10

언젠가 사용하게 될 Prisma ORM 옵션 종류 및 설명 (4)

1. in - where에 조건을 배열로 걸기 (배열의 항목 중 하나라도 일치하는 모든 데이터 가져오기) const users = await prisma.user.findMany({ where: { id: { in: [1, 2, 3], }, }, }); where에 걸고싶은 조건이 여러개일때 배열로 묶어서 In으로 전달한다. userId: 1, userId: 2, userId: 3 이렇게 세명의 user를 찾고싶을때 findFrist를 세번 사용해 한명씩 불러오기는 매우 비효율적이다. findMany로 모든 유저를 다 불러온 다음 그 중에서 원하는 userId만 선택하기엔 데이터가 얼마 없을땐 괜찮을지 몰라도 데이터가 다량으로 쌓였을땐 속도저하의 원인이 될 수 있다. 이런 상황에서 findMany에 in..

개발/PrismaORM 2023.08.08

언젠가 사용하게 될 Prisma ORM 옵션 종류 및 설명 (3)

1. some - 배열 중 하나라도 일치하는 데이터를 찾을 때 (일대다 관계에서 사용) const product = prisma.product.findFirst({ where: { photos: { some: { { url: "2.jpg" }, } } }, }) some을 사용하면 배열 중 한개의 데이터라도 일치하는 항목을 불러온다. 일대일 관계에서는 데이터가 배열일 수 없으니 some을 사용하지 않고 다대다 관계에서는 따로 테이블을 생성해 관리해 some을 사용하지 않으므로 일대다 관계에서 사용된다. Product 테이블 id name 1 상품 A 2 상품 B 3 상품 C Photos 테이블 id url product_id 1 1.jpg 1 2 2.jpg 1 3 3.jpg 2 4 2.jpg 3 db가 ..

개발/PrismaORM 2023.08.02

언젠가 사용하게 될 Prisma ORM 옵션 종류 및 설명 (2)

이번 글에서는 제목에 맞지 않지만 자주 사용하는 옵션들도 다뤄볼 계획이다. 1. upsert - 데이터가 존재한다면 update, 존재하지 않는다면 create const result = await prisma.user.upsert({ where: { email: 'example@email.com', // 기존 데이터를 찾을 조건 }, update: { username: 'newUsername', // 기존 데이터의 필드를 업데이트할 값 }, create: { email: 'example@email.com', // 새로운 데이터를 추가할 값 username: 'newUsername', }, }); where의 조건으로 데이터를 찾고, 일치하는 데이터가 존재한다면 update를 실행, 존재하지 않는다면 c..

개발/PrismaORM 2023.08.01