[관리자 페이지] 암호화 유틸리티 만들기 // https://mvnrepository.com/artifact/org.mindrot/jbcrypt implementation group: 'org.mindrot', name: 'jbcrypt', version: '0.4'Bcrypt 를 사용하기 위한 dependency 추가 !package com.hiio.adminserver.utils;import org.mindrot.jbcrypt.BCrypt;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Bean;import org.springframework.stereo..
DTO (Data Transfer Object)계층간 데이터 교환에 쓰이는 객체이다.Controller Service DAO DBpackage com.hiio.adminserver.dto.user;import com.hiio.adminserver.entity.user.UserEntity;import jakarta.validation.constraints.*;import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Data;import lombok.NoArgsConstructor;@AllArgsConstructor@NoArgsConstructor@Data@Builderpublic class UserDTO { private Stri..
먼저 UserEntity를 정의 합니다.package com.hiio.adminserver.entity.user;import jakarta.persistence.Column;import jakarta.persistence.Entity;import jakarta.persistence.Id;import jakarta.persistence.Table;import lombok.*;@Entity@Table(name = "T_USER")@Getter@Setter@Builder@NoArgsConstructor@AllArgsConstructorpublic class UserEntity { @Id @Column(name = "USER_EMAIL", length = 512) private String em..

요구사항? 요청사항?진행중인 프로젝트에 투입되거나 시작되는 프로젝트에 투입되었을 때 아무래도 가장 먼저 하는게 분석이지 않을까 한다.코드 분석이든 업무 분석이든기능을 만들거나 테이블을 만들때 요구사항정의서를 참고하게 되는 경우가 대부분이다.이전에 진행했던 프로젝트들의 요구사항정의서를 만들어 본적이 없이 그냥 보기만 했다.그 요구사항 정의서들은 각 프로젝트마다 거의 제각각으로 보이기도 했다.요구사항 또는 요청사항을 만들어 보는 연습도 해볼겸 작성해보면 어떨까 싶었다.완벽하진 않아도 일단 해보는 것이 좋을 듯 싶다.소프트웨어 방법론은 여러가지이다.폭포수라던가 애자일이라던가어쨌든 두 방법론 모두 요구사항을 어떻게 정의해 나가는지가 중요하다고 생각이 들었다.대부분의 프로젝트는 폭포수 방법론을 따르는 경우가 많았..

[관리자페이지] Admin Page - Admin - SiginIn 페이지 #7 Token 체크 리다이렉트 관리자 페이지 화면 구현은 Nextjs를 사용합니다. Nextjs를 사용하기 위해서는 node.js를 설치해야합니다. https://nodejs.org/en/download 설치 후에는 npx create-next-app@latest 를 이용해서 nextjs 프로젝트를 생성해 줍니다. npx create-next-app@latest app router를 사용합니다. 프로 젝트 생성 후에는 app 디렉토리에 admin과 signin 디렉토리를 각각 생성해 줍니다. . ┗src ┗app ┗ admin ┗ page.tsx ┗ signin ┗ page.tsx 각 디렉토리에 page.tsx를 생성해 주고 간..

[관리자 페이지] Admin Page - 회원가입 구현하기 #6 JWT 토큰 발행 https://jwt.io/ [JWT.IO JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties. jwt.io](https://jwt.io/) 아이디 / 패스워드로 사용자 로그인을 성공하면 jwt 를 발급합니다. accessToken, refreshToken 2개를 발급합니다. import jwt from datetime import datetime, timedelta from dotenv import load_dotenv import os load_dotenv(os.pa..
[관리자 페이지] Admin Page - 회원가입 구현하기 #5 비밀번호 체크 유저의 id와 암호환 된 password를 DB에 저장했습니다. 이제 유저가 로그인하기 위해 id와 password를 post로 넘기면 해당 id와 password를 가진 user를 찾아 반환합니다. db model 인 User classdp validate_password를 정의해 줍니다. class User(Base): __tablename__ = "USER" __table_args__ = { 'comment': 'USER TABLE' } id = Column("USER_ID", String(20), primary_key=True, comment="USER ID") password = Colum..

[관리자 페이지] Admin Page - 회원가입 구현하기 #4 비밀번호 암호화 사용자의 정보는 id 와 password입니다. 이 password를 DB에 입력하기 전에 암호화 해서 넣어 줍니다. python에서 암호화 모듈은 bcrypt를 사용합니다. pip install bcrypt 암호화 하기 이전에 UserMoodel을 2개의 class로 나누어 줍니다. 기존의 UserModel에 id만을 남기고 password는 UserWithPasswordModel class에 옮겨주고 이 class는 UserModel을 상속받습니다. # api/models/user.py from typing import Optional import bcrypt from pydantic import BaseModel, Fi..

[관리자 페이지] Admin Page - 회원가입 구현하기 #3 Insert User Data 현재 user가 id와 password만 api에 제공하면 데이터가 insert 되야 합니다. 이 과정을 진행 하기 위해서는 sqlAlchemy에서 session을 얻어와 FastAPI DI를 이용해 실행되는 api method에 주입시켜 줘야합니다. 먼저 session을 얻어오는 함수를 core.py에 작성해 줍니다. # database/core.py from typing import Generator from sqlalchemy import URL, create_engine from sqlalchemy.orm import sessionmaker, Session url = URL.create(drivernam..
- Total
- Today
- Yesterday
- kotlin
- PostgreSQL
- Docker
- llm
- Project
- 백엔드
- github
- 챗봇개발
- 백엔드개발
- REACT
- til
- Next.js
- nextJS
- 리액트
- 관리자
- nodejs
- 로컬LLM
- babel
- 개발블로그
- fastapi
- 프론트엔드
- 웹개발
- rag
- AI챗봇
- Webpack
- Ktor
- Python
- LangChain
- Page
- 페이지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |