Isaac

Programming/AWS

[AWS] Elasticsearch 사용을 위한 Ubuntu, WSL 설치

🌿Elasticsearch Elasticsearch는 시간이 갈수록 증가하는 문제를 처리하는 분산형 RESTful 검색 및 분석 엔진이다. 홈페이지에서는 Elastic Stack의 핵심 제품인 Elasticsearch가 데이터를 중앙에 저장하여 손쉽게 확장되는 광속에 가까운 빠른 검색, 정교하게 조정된 정확도, 강력한 분석을 제공한다고 설명한다. 엘라스틱 서치는 윈도우, 맥 OS 등에서도 구동하기는 하나, 속도 등의 현실적인 문제 때문에 리눅스 계열에서만 구동하도록 한다. 엘라스틱 서치를 구동할 리눅스 계열 중에서는 CentOS, Ubuntu 등이 있다. 우리는 Ubuntu를 설치하도록 한다. 🌿Ubuntu 설치 1. 듀얼 부팅 2. VMWare, VirtualBox 가상머신 3. Docker 4. WS..

Programming/AWS

[AWS] 설정하기: 인스턴스 생성, IAM 설정, MFA 설정

🌿인스턴스 생성 AWS에 로그인하여 EC2를 검색해 보도록 하자. 인스턴스(실행 중)는 실행 중인 컴퓨터 개수이다. 아직 컴퓨터를 만들지 않았기 때문에 개수가 0개인 상태이다. 인스턴스 시작 인스턴스 시작이 컴퓨터를 한 대 만들겠다는 의미이다. 인스턴스는 아시아 태평양 (서울) 리전에서 시작된다는 글을 확인하고 인스턴스 시작 버튼을 클릭한다. 인스턴스 시작 화면이다. 먼저 이름을 정해 주도록 한다. Ubuntu Server 22.04 LTS (HVM), SSD volume Type 리눅스 계열 중 하나인 Ubuntu를 사용할 예정이다. LTS는 장기간 서비스된 안정화된 버전을 의미하며, 보통 2년마다 하나씩 나온다. 프리 티어 사용 가능이 무료이다. 인스턴스 유형 인스턴스 유형은 기본으로 설정되어 있는 ..

Programming/AWS

[AWS] Amazon Web Services 가입하기

🌿Amazon Web Services 아마존 웹 서비스 아마존 웹 서비스는 아마존닷컴의 클라우드 컴퓨팅 사업부이다. 아마존 웹 서비스는 다른 웹 사이트나 클라이언트측 응용 프로그램에 대해 온라인 서비스를 제공하고 있다. AWS는 클라우드 컴퓨팅을 제공하며, 한 마디로 정의하기에는 사업의 범위가 어마어마하게 넓기 때문에 하나로 정의하기는 힘들다. 가상 컴퓨터 대여 사이트를 운영하려면 24시간 동작되는 컴퓨터와 공인 IP가 필요한다. 이때 AWS에서 내가 사이트 운영에 필요로 하는 컴퓨터를 호스팅 비용을 지불하고 대여받을 수 있다. 하드웨어를 직접적으로 국한지어서 대여하는 게 아니라 가상 컴퓨터를 대여하기 시작했고, 클라우드 컴퓨팅 사업으로 자리잡게 되었다. AWS에 가입하면 아마존에서 운영하는 컴퓨터(CP..

Programming/Spring

[Spring] Security: 권한 부여 및 암호화 구현

🌿Spring Security 지금까지 사용한 인증 방식은 세션 기반으로 직접 처리하는 방식을 사용했다. 이 방식은 자바가 아니더라도 다른 언어나 플랫폼에서 대부분 인증 처리에 사용하는 방식이기도 하다. Spring Framework는 반복적인 행동에 대한 틀을 제공하며, 마찬가지로 Spring에서 인증에 관련한 처리에 대한 틀로서 Spring Security Project를 제공한다. 모든 회원이 접근할 수 있는 경로와 가입된 회원이 접근할 수 있는 경로, 관리자 권한이 있어야 접근할 수 있는 경로를 만들어 보면서 권한(Role)을 부여하고, Security를 구현해 보도록 하자. 🌿프로젝트 설정 pom.xml org.springframework.security spring-security-web 5...

Programming/Spring

[Spring] Socket Communication: 채팅 구현

🌿Socket Socket은 네트워크상에서 통신을 하기 위한 도구(무전기, 전화기)이다. 프로그래밍 언어는 대부분 소켓이라는 규격을 구현해서 소켓 통신을 할 수 있게 만들었다. 그래서 자바에도 소켓이 있고, 자바스크립트에도 소켓이 있다. 인터넷을 통해 데이터를 주고받는 모든 방식은 소켓 방식으로 통신을 한다. 요즘에는 웹으로 넘어가면서 소켓으로 통신을 구현하는 업무가 많이 사라졌다. 별도로 소켓을 만들어서 네트워크를 구현하지 않아도 되게 되었기 때문이다. WebSocket WebSocket은 웹 상에서 구현된 소켓을 의미한다. WebSocket은 Ajax와 유사하지만, Ajax(웹)는 단방향 통신이고, WebSocket은 양방향 통신 정도로 생각하면 된다. 이때 단방향은 무전기이고, 양방향은 전화기이다...

Programming/Spring

[Spring] MyBatis: Interface Mapper

🌿Interface Mapper [Spring] MyBatis: Connection Pool (Commons DBCP, HikariCP) 🌿MyBatis 영속성 계층 (데이터베이스 조작 계층) Mybatis는 자바 오브젝트와 SQL사이의 자동 매핑 기능을 지원하는 ORM(Object relational Mapping) 프레임워크이다. MyBatis는 Spring 기술이 아닌 독립적인 기술 isaac-christian.tistory.com 1. XML Mapper를 사용하는 방식 2. Interface Mapper를 사용하는 방식 이전 MyBatis 글에서 MyBatis를 사용하는 방식은 위 두 가지가 있다고 했다. 이번에는 Interface Mapper 방식으로 사용해 보도록 하자. 🌿프로젝트 설정 po..

Programming/Spring

[Spring] REST API: Client 구축

🌿REST API를 이용한 Client 구축 [Spring] REST API, RESTful API (CSR: Client Side Rendering) 🌿REST REST(Representational State Transfer)는 웹 상의 자원(문서, 이미지, 영상 등)을 자원명으로 표시해서 상태를 주고받는 규칙을 의미한다. HTTP URI를 통해서 자원을 명시하고, HTTP Method를 통해서 자원 isaac-christian.tistory.com 이전의 REST API 글에서 이어진다. REST Server의 기능을 이용한 주소록 관리 프로그램을 만들어 보도록 하자. 내가 필요한 기능을 입출력할 수 있는 Open API가 있다고 생각하고, 해당 Open API만을 이용해서 화면을 만들 예정이다. ..

Programming/Spring

[Spring] REST API, RESTful API (CSR: Client Side Rendering)

🌿REST REST(Representational State Transfer)는 웹 상의 자원(문서, 이미지, 영상 등)을 자원명으로 표시해서 상태를 주고받는 규칙을 의미한다. HTTP URI(Uniform Resource Identifier)를 통해서 자원을 명시하고, HTTP Method(POST, GET, PUT, DELETE, PATCH 등)를 통해서 해당 자원에 대한 CRUD를 처리하는 방식이다. 즉, REST는 인터넷 주소를 어떻게 만들지에 대한 규칙이라고 할 수 있다. Spring과 독립된 기술로, 주소의 형식만 갖추면 Servlet/JSP로도 사용할 수 있다. URI(URL) 표기 방식 게시판을 만든다는 걸 가정해서 URI 표기 방식의 차이를 알아보도록 하자. 이전 방식 목록보기: GET ..

Isaac S. Lee
'분류 전체보기' 카테고리의 글 목록 (11 Page)