DEVELOP
article thumbnail
OpenJDK17 설치 (Mac & Homebrew)
BACKEND 2024. 2. 11. 18:39

Homebrew 설치 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" Homebrew 설치 확인 Homebrew가 정상적으로 설치되었다면, 버전확인이 가능하다. brew --version OpenJDK 17 설치 brew install openjdk@17 JAVA_HOME 환경변수 설정 설치한 OprnJDK17을 기본 Java 버전으로 인식하게 하려면, JAVA_HOME 환경 변수를 설정해야 한다. 설치한 Open JDK17 경로 확인 brew --prefix openjdk@17 설정 파일 열기 vi ~/.zshrc or vi ~/.bash_profile 아래 내용을 설정 파일 안에..

article thumbnail
[ mongoDB + express + ejs ] 간단한 get, post, delete 구현하기
BACKEND/Node.js 2023. 9. 27. 03:21

monogoDB와 express를 연동하고 테스트하기 위해 간단하게 유저리스트를 보여주고, 새 유저를 등록하고, 특정 유저를 삭제하고, 모든 유저를 삭제하는 실습을 할 것이다. (+ejs) MongoDB Database 생성 Cloud: MongoDB Cloud account.mongodb.com 먼저, 위 사이트에 접속하여 MongoDB 를 생성해야 한다. 1. new Project 생성 2. create a depolyment M0 버전으로(무료) provider는 AWS (다른 것도 상관없음) 지역 Seoul Name 지정 후 create 버튼 3. userName과 password 지정(password 기억 꼭하기 !) 하고 create User 4. Add My Current IP Adress ..

article thumbnail
[ 인프런 - 스프링 입문 (김영한님) 강의 정리 ] 2. 스프링 웹 개발 기초
BACKEND/Spring 2022. 12. 25. 21:56

웹 개발 방식 정적 컨텐츠 : 고정된 파일을 그대로 전달 MVC와 템플릿 엔진 : html을 서버에서 변형해서 전달 API : 서버끼리 통신할 때 자주 사용 MVC와 템플릿 엔진 - 컨트롤러에서는 내부로직에 집중, 뷰에서는 화면을 그리는데 집중함 # Get 방식으로 데이터 받아 사용하기 ▽ 컨트롤러에 아래 코드 추가 @GetMapping("hello-mvc") public String helloMvc(@RequestParam("name") String name, Model model){ model.addAttribute("name",name); return "hello-template"; } ▽ resources/templates/hello-template.html hello. empty - localh..

article thumbnail
[ 인프런 - 스프링 입문 (김영한님) 강의 정리 ] 1. 프로젝트 환경설정
BACKEND/Spring 2022. 12. 25. 16:59

View환경설정 - Welcome Page 만들기 - 스프링 부트에서는 static/index.html을 등록하면 Welcome Page 기능을 제공 ▽ resources/static/index.html Hello World! Hello ▽ main/java/com.example.demo.controller/HelloController.java package com.example.demo.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; @Controller public cl..

article thumbnail
[ 생활코딩 - Node.js 활용하기 ] 06. pug - extends
BACKEND/Node.js 2022. 12. 5. 18:29

Pug # Pug (구 Jade) : Node Express Template Engine - HTML을 간단하게 표현해서 가독성이 좋다. - 마크업 문법보다 코드량이 적어 생산성이 좋아진다. - JS 연산 결과를 쉽게 보여줄 수 있다. - 정적인 부분과 동적인 부분을 따로 할 수 있다. - 타 Express Engine보다 Google Trend 수치가 높다. 출처 ) https://dydals5678.tistory.com/91 ​ Pug 라이브러리 설치 npm install pug Pug - 템플릿 상속 - extends - .js var express = require('express'); var app = express(); app.set('view engine','pug'); app.set('vi..

[ 생활코딩 - Node.js 활용하기 ] 05. mySQL 버전 로그인 인증 ( local 방식 / facebook 방식)
BACKEND/Node.js 2022. 12. 5. 02:29

users 테이블 생성 - 테이블 생성 mysql> create table users( -> id INT NOT NULL AUTO_INCREMENT, -> authId VARCHAR(50) NOT NULL, -> username VARCHAR(30), -> password VARCHAR(255), -> salt VARCHAR(255), -> displayName VARCHAR(50), -> email VARCHAR(50), -> PRIMARY KEY(id), -> UNIQUE (authid)); - 결과 mysql> DESC users; +-------------+--------------+------+-----+---------+----------------+ | Field | Type | Null |..

article thumbnail
[ 생활코딩 - Node.js 활용하기 ] 04. 인증을 쉽게 도와주는 PassportJS모듈
BACKEND/Node.js 2022. 12. 2. 18:26

# PassportJS : node.js express에서 사용하는 인증관련 미들웨어 - passport.js에서 다양한 인증 방법을 stragies로 제공 Passport.js Simple, unobtrusive authentication for Node.js www.passportjs.org # passport-local - 구글, 네이버 등을 거치지 않고 기본 id, password를 이용해 인증하기 npm install --save passport passport-local # 미들웨어 : 함수가 실행되면 해당 함수는 리턴값으로 콜백 함수를 리턴한다 사용자가 로그인에 성공하면 done(null, user); 실행 done(null, user); 이 실행되면 passport.serializeUser..

article thumbnail
[ 생활코딩 - Node.js 활용하기] 03. Security Password
BACKEND/Node.js 2022. 12. 1. 02:27

단방향 암호화 - md5 # 단방향 암호화 방법 - 원래의 문자를 암호화된 문자로 (암호화) 바꿀 수는 있지만, 암호화된 문자를 원래의 문자로 (복호화) 바꿀 수는 없다 - ex) md5 - md5로 유저의 비밀번호인 '111'을 암호화하면 '698d51a19d8a121ce581499d7b701668' 이 나오는데, user 의 회원정보 배열에 '111' 대신 이 문자를 넣는다. var user = { username: 'egoing', password: '698d51a19d8a121ce581499d7b701668', displayName: 'Egoing' }; - 로그인 시 회원정보와 입력받은 비밀번호를 비교하는 if문에서 입력받은 비밀번호인 pw 값도 md5로 암호화하여 비교하도록 한다. - 비밀번호..

article thumbnail
[ 생활코딩 - Node.js 활용하기] 2. Session
BACKEND/Node.js 2022. 11. 28. 20:49

Session의 개념 - coockie의 문제점 : 보안이 취약 # Session : 사용자 정보를 저장하는 또 다른 방법 - 클라이언트의 컴퓨터에는 오직 사용자의 식별자인 id값만을 저장 - 실제 데이터는 서버의 DB, 메모리 등에 저장 - 서버에 식별자를 전송하면 실제 데이터를 읽어옴 - 보안에 취약한 쿠키를 보완해주는 역할 - 구체적인 값을 저장하는 대신에 고유한 값을 전달 - connect.sid 값을 서버에 전달 - connect.sid 값이 같은 요청들은 같은 사용자의 접근이라고 간주함 - connect.sid 값으로 요청이 들어오면 서버에서 그 요청에 해당하는 count 값을 가져와서 1을 가져와 브라우저에 응답 - 쿠키 값이 사용자의 컴퓨터에 저장되는 것이 아니기 때문에 덜 위험 sessi..

article thumbnail
[ 생활코딩 - Node.js 활용하기] 1. cookie
BACKEND/Node.js 2022. 11. 27. 04:12

cookie의 개념 # cookie : 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각 - 브라우저는 그 데이터 조각들을 저장해 놓았다가, 동일한 서버에 재 요청 시 저장된 데이터를 함께 전송 - 쿠키는 두 요청이 동일한 브라우저에서 들어왔는지 아닌지를 판단할 때 주로 사용 - 사용자의 로그인 상태를 유지 가능 접속할 때마다 count 증가하기 # cookie-parser : 요청된 쿠키를 쉽게 추출할 수 있도록 도와주는 미들웨어 ▼ 설치 및 사용방법 cookie-parser Parse HTTP request cookies. Latest version: 1.4.6, last published: a year ago. Start using cookie-parser in your project by ..