아무튼 개발
article thumbnail
[Node.js] 비밀번호 암호화 - crypto, virtual함수, salt
개발 교육 TIL/back-end 2022. 4. 6. 23:31

암호화 비밀번호를 데이터베이스에 저장할 때, 클라이언트가 입력한 값 그대로 저장하게 되면 노출될 위험이 당연히 크기 때문에 테스트용이 아닌 이상 암호화는 필수이다. 따라서 DB에 저장할 때에는 암호화된 비밀번호를 저장해야 한다. 단방향 암호화란, 입력받은 비밀번호를 암호화하지만 다시 복호화하여 되돌릴 수는 없는 것이다. 양방향 암호화란, 암호화된 비밀번호를 복호화하여 기존에 입력한 비밀번호를 알 수 있다. 몽구스 모듈은 단방향으로 암호화를 하며 사용자가 입력한 값을 암호화하여 기존의 암호화 비밀번호와 비교하는 작업을 한다. 따라서 몽구스와 virtual 함수, crypto모듈 등을 통해 로그인하는 예제를 알아보겠다. crypto 모듈 설치 npm install crypto --save cmd창에서 cry..

article thumbnail
[Node.js] mongoose 모듈 - 설치 및 예제 (회원가입, 로그인)
개발 교육 TIL/back-end 2022. 4. 5. 23:52

mongoose 모듈이란? 데이터베이스를 테이블이나 엑셀처럼 쉽게 다룰 수 있도록 하는 모듈이다. 특히 몽고 db에는 없는 'Schema(스키마)'를 가지고 있기 때문에 몽구스 모듈을 통해 몽고 db에 넣어서 관계형 db처럼 사용할 수 있다. Schema란? 관계형 데이터베이스처럼 조회 조건을 공통적으로 적용하도록 정해진 규칙으로 문서를 저장하게 하는 것이 스키마이다. 예를 들면 String, Number, Boolean 등 데이터 타입을 의미한다. 어떤 문서에는 name이 있고 또 다른 문서에는 name이 없을 수도 있기 때문에 일정한 조건으로 적용이 어렵다. 이에 따라 스키마로 수월하게 가능하다. 몽구스 모듈 설치 npm install mongoose --save 먼저 cmd창에 위의 내용을 입력하여..

article thumbnail
[Node] Express 설치&서버 연결 / post 데이터 및 오류페이지(404) 출력
개발 교육 TIL/back-end 2022. 4. 4. 23:32

Express는 Node.js의 Web 어플리케이션을 위한 프레임워크이다. Express는 노드 서버에 모듈을 설치하여 간단하게 사용할 수 있다. Express 설치 설치는 따로 다운받을 필요가 없이 입력만 해주면 된다. cmd창에서 npm init 쳐서 엔터를 계속 눌러주면 package.json 파일이 생성된다. npm install express --save 치고 나서 이클립스 폴더에 F5누르면 생성된다. Express의 서버 시작과 post 방식으로 데이터를 넘기는 법 및 에러 발생 페이지 만드는 법을 예제로 알아보겠다. Express 기본 모듈 + 추가 등록 require("dotenv").config(); var express = require("express"); var http = requ..

article thumbnail
[node] 내장모듈 - path, fs
개발 교육 TIL/back-end 2022. 4. 1. 23:54

내장모듈 - path 파일 경로 정보 내장 모듈은 추가적인 npm 설치없이 require로 불러와서 사용할 수 있다. var path = require("path"); var dir = ["users","happy","docs"]; var docDir = dir.join(path.sep); console.log(docDir); var curPath = path.join("/users/happy","notepad.exe"); console.log(curPath); dir에 먼저 제이슨 형태로 데이터를 넣었다. 대괄호[]는 데이터를 배열로 넣는다는 의미이다. path.sep : 경로의 구분자(seperator)로 구분자를 찾아 연결한다. 배열 속의 데이터들이 자동으로 구분자를 통해 연결된다. var file..

article thumbnail
[Spring Boot] 스프링부트에서 JSP 사용하기
개발 교육 TIL/back-end 2022. 3. 31. 23:56

스프링 부트는 jsp를 사용하지 않고 html을 사용한다. 내장되어 있는 톰캣 서버도 jsp를 파싱하지 않기 때문이다. 하지만 jsp파일을 사용하여 스프링부트를 쓸 수 있는 방법이 있다. 오늘은 그 방법에 대해 알아보겠다! pom.xml javax.servlet jstl org.apache.tomcat.embed tomcat-embed-jasper 먼저 메이븐에서 필요한 라이브러리이다. 버전은 지웠으며, 버전을 지우면 최신 버전으로 자동 다운받아진다. jasper는 JSP를 파싱시켜주는 기능을 지닌다. 따라서 추가로 dependecy를 통해 의존성을 주입해준다. application.properties server.port=8080 spring.datasource.driver-class-name=orac..

article thumbnail
[Spring Boot] 스프링 부트 - 세팅, DB 연결(SqlSessionFactory, mapper)
개발 교육 TIL/back-end 2022. 3. 30. 23:25

스프링 부트는 스프링 프레임워크에 비해 환경설정이 훨씬 간편해졌다. STS 3.9 버전 이후부터는 톰캣 서버가 내장되어 있기 때문에 서버를 일일이 시작하지 않아도 되며, 라이브러리 등의 많은 부분에서 자동화가 되었다. 사용자가 편리하게 코딩할 수 있는 환경이 만들어진 것이다. 또한 주로 JSP파일을 사용하지 않고 HTML파일을 사용하여 클라이언트에게 화면을 뿌려준다. DB 연결부터 데이터를 주고 받는 것과, html 연결까지 아래의 코딩을 보며 확인해보겠다! application.properties server.port=8080 spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver spring.datasource.url=jdbc:orac..

article thumbnail
[Spring] 스프링 마이바티스 MyBatis
개발 교육 TIL/back-end 2022. 3. 29. 23:38

MyBatis 지난 스프링 JDBC에 이어 오늘은 스프링에 MyBatis를 연동하는 방법을 알아보겠다. 전통적인 JDBC에 비해 마이바티스는 비효율적인 반복을 줄일 수 있다. 마이바티스는 DAO 객체와 SQL문을 맵핑해주는 프레임워크이다. 먼저 마이바티스를 연동하기 위해 라이브러리를 추가한다. pom.xml org.mybatis mybatis 3.5.9 org.mybatis mybatis-spring 1.3.3 지난 스프링 JDBC 라이브러리 입력에 이어서 pom.xml에 Mybatis와 스프링을 연동할 수 있도록 라이브러리를 추가해주었다. servlet-context 소스를 밑에서부터 살펴보겠다. dataSource는 DB의 위치 정보를 입력해주는 곳이다. 이전에도 계속 설명했으므로 생략하겠다. Sql..

article thumbnail
[Spring] AOP(Aspect Oriented Programming : 관점지향프로그래밍)
개발 교육 TIL/back-end 2022. 3. 28. 23:32

AOP AOP는 관점지향프로그래밍으로 Aspect Oriented Programming의 약자이다. 불특정 다수의 객체(클래스 또는 메소드)에 코드를 탈부착하도록 만드는 기능을 지닌다. 공통적으로 사용되는 부분을 별도로 분리하는 기술이다. 횡단관심사 (Crosscutting Concerns) 모든 영역에 공통적으로 적용 모든 클래스를 가로로 관통하여 횡단할 수 있는 관심사이며, 특정 클래스 혹은 메소드에 적용 가능하다. 조인트포인트 (JointPoint) AOP에서 애플리케이션이 실행될 특정 지점을 의미한다. 어드바이스 (Advice) 지정한 특정 JointPoint에 구현할 코드이다. 포인트컷 (PointCut) 여러 JointPoint의 집합체로, 언제 어느 시점에 어디에(메소드) Advice를 실행..

article thumbnail
[Spring] 스프링 JDBC - JdbcTemplate, db연결, sql문
개발 교육 TIL/back-end 2022. 3. 25. 23:35

기존의 JDBC보다 더욱 발전하고 간결해진 것이 스프링 JDBC이다. 오늘은 Spring JDBC에 대해 알아보겠다. CustomDTO DB에 연동을 해야하기 때문에 명령 프롬프트에서 테이블을 만들었다. 만든 테이블의 변수들을 밑에 선언해준 것이다. public class CustomDTO { private int id; private String name; private int age; 추가로 게터, 세터를 해주었다. app-context.xml xml 파일에서 객체 생성을 해주고 의존성 주입을 할 것이다. 먼저 맨 밑에 dataSource는 DB 위치 정보를 기억하기 위해 입력해주었다. 또한 JdbcTemplate 클래스는 스프링 JDBC의 접근 방법으로 생성자에 dataSource를 넣었다. com..

profile on loading

Loading...