728x90
반응형

분류 전체보기 131

[AWS EC2 ubuntu] WinSCP와 PuTTY를 이용해서 EC2 인스턴스 접속

WinSCP WinSCP는 윈도우에서 사용할 수 있는 FTP 클라이언트 프로그램입니다. 누구나 사용할 수 있는 Free Software입니다. GUI로 표현된 FTP, SFTP 툴이며 드래그 앤 드롭 등을 지원하는 아주 유용한 툴입니다. WinSCP는 Windows용 그래픽 SFTP 및 FTP 클라이언트 프로그램이고, 오픈 소스 프리웨어입니다. 이 프로그램을 사용하여 로컬 컴퓨터와 원격 컴퓨터 간에 안전하게 파일을 복사할 수 있습니다. PuTTY Windows 계열 OS에서 이를 통해 편리하게 리눅스 Shell 이나 Terminal을 이용할수있습니다. Windows에서 PuTTY를 설치하고 EC2 인스턴스의 리눅스에 접근할 수 있도록 ssh 설정과 Key pair설정을 하면 EC2 인스턴스에 접근하여 컨..

Project/Todo 2022.07.11

[AWS EC2 ubuntu] 인스턴스 생성과 보안 그룹 설정

1. 시작화면 AWS EC2 & 인스턴스 시작 클릭 2. 웹 콘솔에서 표기될 태그인 Name 태그 설정 (TODO_API_SERVER) 3. AMI 중 Ubuntu Server 18.04 LTS (HVM), SSD Volume Type 4. 인스턴스 유형 t2.micro 선택 (프리 티어 사용 가능) 5. 인스턴스로 접근하기 위해서는 pem키가 필요합니다. 그래서 마지막 단계는 할당할 pem키를 선택해줍니다. 서버 접속을 위해 꼭 필요한 키이기 때문에 절대 유출하면 안됩니다. 디렉토리에 잘 저장해두고 관리해야 합니다. 기존에 생성된 pem키가 있다면 선택하고 없으면 생성합니다. 6. 보안 그룹 설정 (스프링에서 접속을 위한 포트와 MySQL에서 접속을 위한 포트를 열어줍니다.) 7. 스토리지 20GB로 ..

Project/Todo 2022.07.10

[Internet] What is HTTP? (4) _ HTTP 요청 메서드, HTTP 상태 응답 코드

HTTP 요청 메서드 클라이언트가 웹서버에게 요청하는 목적이나 그 종류를 알리는 수단으로 "HTTP 동사" 라고도 부릅니다. 최초의 HTTP 는 GET 메소드 하나뿐이었지만 이후 다양한 메소드들이 등장했습니다. 요청 메서드의 위치는 HTTP 요청 메시지의 첫째줄 첫째항에 나타납니다. ex) GET /localhost:8080/member HTTP/1.1 사용해봤던 요청 메서드 개발을 하면서 주로 조회를 할 때 GET을 사용하고 로그인이나 사용자 개인정보를 확인하여 사용자 식별을 할 때는 개인정보가 포함되어 있으므로 개인정보를 Request Body에 담아서 POST를 사용합니다. 데이터를 업데이트할 때는 PUT을 사용하고 삭제할 때는 DELETE를 사용합니다. 제가 사용했던 요청 메서드는 GET, POS..

Backend/Internet 2022.07.10

[Internet] What is HTTP? (3) _ HTTP 세션, HTTP 접근제어(CORS), HTTP 헤더

HTTP 세션 인증을 할 때 개인정보를 보내야하는데 인증을 데이터가 필요할 때마다 하게된다면 이 과정에서 탈취가 일어날 수 있습니다. 이러한 문제를 해결하기 위해서 세션을 사용합니다. 세션은 일정 시간 동안, 사용자의 상태를 유지하여 사용자가 서비스를 이용할 때 인증을 지속적으로 하지 않고 서비스를 이용할 수 있도록 합니다. 세션을 사용하면 탈취로 부터 개인정보를 지킬 수 있습니다. 세션은 웹 서버가 사용자 마다 세션 아이디 파일을 만들어 서버에 저장시킵니다. 서버에 세션 파일을 저장하여 서비스가 이용되는 동안 따로 인증을 하지 않고 사용자가 서비스를 이용할 수 있도록 합니다. 또한 서버에 파일이 저장되기 때문에 정보 노출에 대한 문제도 해결할 수 있다. HTTP 세션 동작방식 클라이언트가 서버에게 로그..

Backend/Internet 2022.07.08

[Algorithm] 크루스칼(Kruskal)과 프림(Prim) _ MST

Spanning Tree 그래프 내의 모든 정점을 포함하면서 순환이 존재하지 않는 간선을 최소로 하는 최소 연결 부분 그래프를 의미합니다. [간선의 수: n-1개, Cycle 존재 X] Minimum Spanning Tree (MST) 특정 그래프의 Spanning Tree 중에서 간선들의 가중치의 합이 최소가 되는 Spanning Tree를 말합니다. MST를 만드는 알고리즘은 대표적으로 크루스칼(Kruskal), 프림(Prim) 두 가지가 있습니다. 크루스칼 알고리즘 모든 간선을 가중치 기준으로 오름차순으로 정렬하고, 이 간선들을 순서대로 모든 정점이 연결될 때까지 연결하는 것입니다. 이 때 서로소 집합(disjoint set) 자료구조의 Union, Find 연산을 사용하여 순환(Cycle) 이 형..

Algorithm 2022.07.07

[Spring Boot] 프로젝트 만들기 - spring initializr, build.gradle, application.properties

spring initializr을 통한 프로젝트 만들기 spring initializr https://start.spring.io/ Lombok 자바 라이브러리로 클래스 생성시 반복되는 getter, setter, equals, toString 등의 메서드 작성 코드를 어노테이션 기반으로 자동 생성해주는 라이브러리 입니다. * 코드의 가독성을 높이고 개발의 생산성을 높일 수 있습니다. * Spring Web Spring MVC를 사용하여 RESTful을 포함한 웹 애플리케이션을 빌드합니다. Apache Tomcat을 기본 내장 컨테이너로 사용합니다. Spring Security Spring 애플리케이션을 위한 사용자 정의 가능한 인증 및 액세스 제어 프레임 워크로, Member 테이블의 비밀번호 필드를 ..

Project/Todo 2022.07.07

[기획 및 설계] 프로젝트 테이블 설계 및 예상 API

테이블 설계 ● Member Table Field Type Info member_id UUID Primary Key userID String userPW String Encrypt with Spring Security todo_id Long Foreign Key (1:N) memo_id Long Foreign Key (1:N) member_id 필드는 회원을 식별하기 위한 필드로 UUID를 무작위로 생성해서 자동으로 입력을 할 것입니다. userPW는 Spring Security를 사용하여 암호화 하고 로그인 시에도 복호화 하여 로그인을 진행할 것입니다. todo_id와 memo_id는 member->todo, member->memo, todo->member, memo->member 객체처럼 이동하기 위..

Project/Todo 2022.07.07

[Internet] What is HTTP? (2) _ HTTP 쿠키, HTTP 메시지

HTTP Cookie 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각입니다. 브라우저는 그 데이터 조각들을 저장해 놓았다가, 동일한 서버에 재 요청을 할 때 저장된 쿠키 데이터를 함께 전송합니다. 서버는 클라이언트가 함께 보낸 쿠키의 데이터를 확인하여 요청이 동일한 브라우저에서 온 것인지 확인할 수 있습니다. 이를 이용하여 무상태 프로토콜인 HTTP의 상태 정보를 기억할 수 있습니다. ex) 로그인 상태 유지 HTTP Cookie 기능 세션관리(Session Management) 서버에 저장해야 할 로그인, 장바구니, 게임 스코어 등의 정보를 관리합니다. 개인화(Personalization) 사용자에 선호에 따른 테마나 세팅들을 설정할 수 있습니다. 트래킹(Tracking) 사용자의 행동을 기록..

Backend/Internet 2022.07.06

[Internet] What is HTTP? (1) _ HTTP, HTTP 캐시

HTTP 정의 Hyper Text Transfer Protocol, WWW 상에서 정보를 주고받을 수 있는 프로토콜로, 클라이언트와 서버 사이에 이루어지는 요청과 응답 프로토콜입니다. HTTP 동작 과정 클라이언트인 웹 브라우저가 HTTP를 통하여 서버로부터 HTML이나 Image 정보를 요청하면(Request), 서버는 요청에 응답하여 필요한 정보를 요청한 사용자에게 전달하게 됩니다.(Response) HTTP는 파일 전송을 위한 FTP나 원격지의 호스트 컴퓨터에 접속하기 위해 사용되는 텔넷과 다르게 비연결식입니다. 그래서 클라이언트가 서버에 정보를 요청하면 서버는 응답 코드와 내용을 클라이언트에게 전송하고 클라이언트와 연결을 종료합니다. 이는 각 요청을 독립적인 트랜잭션으로 취급한다는 뜻입니다. 즉 ..

Backend/Internet 2022.07.02
728x90
반응형