본문 바로가기

nodejs

(6)
제미나이를 이용한 모르는 기술스택으로 Blog만들기(6) 상의(?) 끝에 배포먼저 하기로함 Render 가 무료라고해서 일단 렌더 사이트들어옴.--- 지금 상태 그대로 서버를 인터넷(Render)에 올리면 100% 에러가 납니다. 이유는 app.module.ts에 적힌 host: 'localhost' 때문입니다. 클라우드 컴퓨터 입장에서 localhost는 "자기 자신"인데, 거기엔 DB가 깔려있지 않거든요.그래서 "내 컴퓨터에서는 로컬 DB를 쓰고, 클라우드에서는 클라우드 DB를 써라!" 라고 똑똑하게 행동하도록 코드를 살짝 고쳐야 합니다. (이걸 환경변수 설정이라고 합니다.)딱 3단계 준비운동만 하고 바로 비행기 태우겠습니다! --- 그래그래 비행기 태워라 1단계: 도구 설치 (@nestjs/config).env 파일(비밀번호 적힌 파일)을 읽을 수 있게 ..
제미나이를 이용한 모르는 기술스택으로 Blog만들기(5) "출입증(Token)"을 손에 쥐신 것을 축하합니다!하지만 지금은 출입증만 받았을 뿐, **건물 입구에 검사하는 경비원(Guard)**이 없습니다. 그래서 토큰이 있든 없든 아무나 게시글을 쓰고 지울 수 있는 상태죠. --- 출입증을 손에 쥔 고니. 하지만 경비원이 없다네... 이제 **"토큰 가져온 사람만 들여보내주는 경비원"**을 세울 차례입니다. NestJS에서는 이것을 **Strategy(전략)**와 **Guard(가드)**라고 부릅니다. 1단계: 토큰 검사기 만들기 (jwt.strategy.ts)"이 토큰이 위조된 건 아닌지, 유효기간은 남았는지" 검사하는 로직 2단계: 검사기 채용하기 (auth.module.ts)방금 만든 검사기(JwtStrategy)를 AuthModule에서 쓸 수 있게 등..
제미나이를 이용한 모르는 기술스택으로 Blog만들기(4) 익명게시판을 만들었으니, 이제 사용자를 만들어야함 다음 단계는 무조건 [사용자 관리와 인증/보안] Phase 2 의존성때문에 무조건 순서 지켜야한다고함 Users(사용자) 모듈 생성 👈 (오늘의 목표)근거: 로그인 기능을 만들려면, 먼저 "아이디/비번"을 저장할 테이블이 있어야 합니다.비밀번호 암호화 (Bcrypt)근거: DB 관리자도 회원의 비밀번호를 알면 안 됩니다. 법적으로 필수입니다.인증 모듈 (Auth & JWT)근거: 매번 아이디/비번을 칠 수 없으니, "로그인 증명서(토큰)"를 발급해줘야 합니다.보안관 배치 (Guards)근거: 토큰 없는 사람이 글을 쓰거나 지우려고 하면 서버가 막아야 합니다.관계 연결 (Relation)근거: "이 글은 2번 유저가 썼어"라고 게시글(Post)과 유저(..
제미나이를 이용한 모르는 기술스택으로 Blog만들기(3) 자 이제 postgre DB랑도 연결했음. 근데 테이블이 1개도 없으니까 NestJS한테 이런 모양 데이터 저장할거임 라고 알려주는 설계도를 만들어야한다고 함이 설계도만 만들면 NestJS가 알아서 DB에 테이블을 뚝딱 만들어준다고!!!? 이럴슈가 1단계: 설계도 만들기 (Entity)post.entity.ts 파일 수정 2단계: 부품 등록하기 (Module)posts.module.ts 파일 수정 3단계: 자동으로 찾게 만들기 (AppModule)app.module.ts 파일 수정매번 설계도를 일일이 등록하기 귀찮으니 "알아서 찾는" 기능 키는거라고 함 3단계만 하면 된다더니 갑자기 마지막 단계생김 마지막 단계: Service에 '저장소(Repository)' 주입하기진짜로 DB에 데이터 넣기src/po..
제미나이를 이용한 모르는 기술스택으로 Blog만들기(2) 포스트맨으로 201 Created 응답완료 지금 상황 정리배관 연결 성공: Postman → Controller → Service → Return 까지 데이터가 끊김 없이 진행현재 상태: id: 1과 내용들을 그대로 반사(Echo) 해주는 중 (아직 진짜 DB에 저장된 거 아님)그렇다고 함.이제 다음으로 뭐할지 물어봄 진짜 DB에 넣으려면 TypeORM 같은 걸 연결해야 합니다. 아니면, 들어오는 데이터가 올바른지 검사하는 **Validation(유효성 검사)**을 먼저 할 수도 있다고 함 그래서 너가 추천하는건 뭐냐 물었더니 개발의 정석 순서는 "DB 연결 전에, 들어오는 데이터가 정상인지부터 검사한다"이상한 데이터(제목이 없거나, 숫자가 들어가야 하는데 문자가 들어가는 등)가 DB까지 가면 나중에 더..
제미나이를 이용한 모르는 기술스택으로 Blog만들기(1) 이직을 해야하는데, 시장은 얼어붙고있고... AI가 나날이 발전하면서 반복작업을 하는 개발자들은 모두 일선상에서 사라지고있다. 일단 뭐라도 해보고싶어서 해보는 블로그 만들기. 예전에 만든경험이 있지만, AI를 이용해서 하나도 모르는 기술스택으로 만들어보고 싶어졌다. 레스고 제미나이가 추천해준 기술스택은 Nestjs 뭔지는 모르겠고 일단 진행 DB는 mysql ---mysql 끼워넣는 과정중에 문제발생예전에 mysql을 깔았던 적이 있는데, 그때 3306포트를 사용못했는지 3307로 만들어져있는 걸 확인. 3307로 사용하려고했는데, 비밀번호가 기억이안남 비상비상 mysql install 를 실행해서 재설정 진행어쩌다보니 업데이트 중 원래는 8.0인가 그랬음빨간느낌표가 나를 굉장히 불안하게 만드는 중.....