mysql

이전 게시글에서 이어진다. 처음에 forEach로 비동기 처리를 했어서 뭔지 생각을 하다가 이전 게시글을 적게되었고, 이전 게시글의 정보를 통해 DB에 접근하는 시간을 줄이고자, map와 Promise.all을 사용해서 해결하려고 했다. static async createProfile(profileData: ProfileCreateData) { const profile = await ProfileDAO.createProfile(profileData); //프로필을 생성함 const promises = profileData.hashTags.map((hashTag) => HashTagService.add(hashTag, profile.id) ); //프로필 등록 await Promise.all(promise..
컨테이너 설정은 다했으니 TypeORM과 Jest의 설정을 해보자. Data-Source.ts 일단 나는 DataSource방식으로DAO코드를 작성했다. https://orkhan.gitbook.io/typeorm/docs/data-source Working with DataSource - typeorm Generally, you call initialize method of the DataSource instance on application bootstrap, and destroy it after you completely finished working with the database. In practice, if you are building a backend for your site and you..
보안 회원가입시에 pw를 받는데 이걸 DB에 그냥 저장해서는 안된다. 그래서 이를 해시하여 저장을 한다. 이러면 DB가 해킹을 당한다고 해도 원문 비밀번호를 모르므로 인증, 인가에 문제가 생길 확률이 낮아지게 된다. 하지만 해시 함수의 특성상 1이라는 값을 넣으면 항상 고정된 값이 나오므로 이걸 저장한 레인보우 테이블이라는게 존재한다. 예를들어 비밀번호가 'password'라면, 이걸 그냥 해시하게되면 항상 sdkflknut23h17이라는 값이나오게 된다. 항상 sdkflknut23h17이기 때문에 결국 sdkflknut23h17을 보면 password라고 유추해낼 수 있게 되는 것이다. salt 이런 문제를 해결하기 위해 회원가입시에 랜덤한 문자열 값인 salt를 입력으로 들어온 pw에 덧붙여서 해시하..
express 구성 routes라는 폴더를 만들고 라우터를 연결해주었다. const express = require('express'); const cors = require('cors'); const morgan = require('morgan'); const dotenv = require('dotenv'); const app = express(); dotenv.config(); app.set('port', 8080); app.use( cors({ origin: '*', }) ); app.use(morgan('dev')); app.use(express.json()); app.use(express.urlencoded({ extended: true })); app.listen(app.get('port'),..
·Backend/Database
하나의 쿼리에서 SELECT문 안에 또 다른 SELECT문이 있는 경우, 안에 포함된 SELECT문을 서브쿼리라고 한다. 서브쿼리의 유형 메인 쿼리의 어느부분에 위치하는가에 따라 구분하기도 하고 메인쿼리와의 연관성에 따라 구분하기도 합니다. 스칼라 서브쿼리 SELECT 절에 있는 서브쿼리 파생 테이블 FROM 절에 있는 서브쿼리 WHERE 절의 서브쿼리 메인쿼리와 서브쿼리의 연관성에 따라 다음 두가지로 분류 1. 연관성 있는 서브쿼리 : 메인쿼리와 서브쿼리를 조인하는 경우 2. 연관성 없는 서브쿼리 : 메인쿼리와 서브쿼리를 조인하지 않는 경우 스칼라 서브쿼리 단일 칼럼이 와야하며, 여러 개의 칼럼을 기술 할 수 없다. 또한, 단일 건(로우)를 반환해야 하고, 여러 로우를 반환하면 오류가 발생한다. 그래서..
_0422
'mysql' 태그의 글 목록