분류 전체보기
-
[Spring] JPAWEB/Spring 2023. 2. 15. 15:16
JPA란? 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스 ORM에 대한 자바 API 규격이며 Hibernate, OpenJPA 등이 JPA를 구현한 구현체 JPA 장점 생산성이 뛰어나고 유지보수가 용이 sql을 직접적으로 작성하지 않고, 객체를 사용하여 동작 DB컬럼이 추가될 때마다 테이블 수정이나 SQL 수정하는 과정, 값을 할당하거나 변수 선언 등의 부수적인 코드가 줄어듦 DBMS에 대한 종속성이 줄어든다. DBMS가 변경된다 하더라도 소스, 쿼리, 구현 방법, 자료형 타입 등을 변경할 필요가 없다. JPA 단점 JPA의 장점을 살려 잘 사용하기 어려움 복잡한 쿼리를 사용할 때 불리 잘못 사용할 경우, 실제 SQL문을 직접 작성하는 것보다 성능이 떨어짐 Entity 클래..
-
[Spring] Aop와 ScopeWEB/Spring 2022. 10. 31. 09:27
AOP란 Aspect Oriented Programming의 약자로 관점 지향 프로그래밍입니다. 쉽게 말해서 어떠한 로직을 기준으로 핵심적인 관점과 부가적인 관점으로 분류 후 각각의 관점을 기준으로 모듈화한다는 뜻입니다. 여기서 말하는 핵심적인 관점은 비즈니스 로직이 될 수 있고 부가적인 관점은 핵심 로직이 실행되기 위해 행해져야 하는 데이터베이스 연결, 로깅, 파일 입출력 등이 될 수 있습니다. Aspect 흩어진 관심사(Crosscutting Concerns)를 묶어서 모듈화 한 것. 하나의 모듈. Advice와 Point Cut이 들어간다. Target Aspect가 가지고 있는 Advice가 적용되는 대상(클래스, 메서드 등등)을 말한다. Advice 어떤 일을 해야할 지에 대한 것. 해야할 일들..
-
-
[MongoDB] 스키마와 모델DB/MongoDB 2022. 10. 12. 22:48
스키마 - 해당 컬렉션의 문서에 어떤 종류의 값이 들어가는지를 정의 - MongoDB에 저장되는 document의 Data 구조 즉 필드 타입에 관한 정보를 JSON 형태로 정의한 것으로 RDBMS의 테이블 정의와 유사한 개념 - type(데이터 타입), required(필수 여부), unique(중복 x) // 스키마 정의 const userSchema = new mongoose.Schema({ email: { type: String, required: true, unique: true }, username: { type: String, required: true, unique: true }, password: { type: String, required: true }, name: { type: Str..
-
[Node.js] 비밀번호 암호화WEB/NodeJS 2022. 10. 12. 22:31
많은 사람들은 각각의 다른 SNS 내에서 같은 비밀번호를 공유하는 경우가 많다. 이럴 경우, 하나의 사이트에서만 해킹을 당해도 해당 비밀번호를 이용하여 다른 SNS에 접속이 가능하다. 이를 해결하기 위해 비밀번호 암호화해서 DB에 저장해야 한다. 1. bcrypt 설치 npm i bcrypt 2. bcyrpt 사용 - 비밀번호를 해쉬화 함 - bcyrpt.hash(비밀번호, 몇 번 해싱할 것인지); userSchema.pre('save', async function(){ console.log("users password: ", this.password); this.password = await bcrypt.hash(this.password, 5); console.log("hash password: ", ..
-
[React] React와 Node 연결WEB/ReactJS 2022. 10. 12. 20:56
1. React 프로젝트 만들기 - cmd 창에서 실행 npx create-react-app frontend - 최상위 폴더에 생성된 React 폴더 넣기 - VSC에서 최상위 폴더를 열기 2. package.json 생성 - 터미널에서 package.json 파일 생성 명령어 입력 npm init 3. express 설치 npm i express 4. src 폴더 생성 후 server.js 파일 생성 5-1. nodemon 설치 - 서버에 변동사항이 있을 때마다 자동으로 서버 재부팅 실행 npm i nodemon 5-2. babel 설치 - 최신문법을 사용하더라도 서버가 해당 코드를 인식할 수 있도록 해주는 패키지 npm i @babel/preset-env @babel/core @babel/node 5..
-
[JSP] 회원가입 실습WEB/JSP 2022. 10. 11. 16:57
joinForm.jsp 회원 기본 정보 아이디: 4~12자의 영문 대소문자와 숫자로만 입력 비밀번호: 4~12자의 영문 대소문자와 숫자로만 입력 비밀번호확인: 메일주소: 예) id@domain.com 이름: 개인 신상 정보 생일: 년 1 2 3 4 5 6 7 8 9 10 11 12 월 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 일 관심분야: 컴퓨터 인터넷 여행 영화감상 음악감상 자기소개: joinProcess.jsp loginForm.jsp 로그인 페이지 아이디: 비밀번호: 로그인 회원가입 loginProcess.jsp logout.jsp Main.jsp 관리자모드 접속(회원 목록) ''로 로그인하..