Skip to content
Bible, Lee, Data

Bible, Lee, Data

Faith, software, data, and everyday life.

CategoriesAll posts

Engineering/Platform

[AWS] Ubuntu Server, mobaxterm

🌿Ubuntu Server 우분투에는 크게 Ubunbu Server와 Ubundu Desktop으로 2종류가 있다. 2종류 모두 똑같이 작업 표시줄이 있지만, 우리가 사용하는 것과 비슷한 게 우분투 데스크탑이고, 서버는 전부 콘솔창으로 이루어져 있다. 우분투 서버는 오로지 텍스트 환경에서만 화면을 제공한다. 일반 사용자가 사용하는 운영체제가 아니라 서버로 사용하는 운영체제이기 때문에 UI가 필요가 없다. 그래서 훨씬 가볍고 안정적이며 빠르다. 여기에 접속할 수 있는 툴은 여러 가지가 있는데, 가장 기본적인 건 cmd로 들어가는 것이다. CMD로 접속 키 페어가 있어야 접속할 수 있으므로 키 페어 파일이 있는 곳에서 cmd를 열도록 한다. 우리가 사용하는 우분투는 기본적으로 사용자 이름이 ubuntu이다...

Engineering/Platform

[AWS] Elasticsearch: Index, Document CRUD (Dev Tools)

🌿REST API를 사용하기 위한 도구 1. curl 2. Postman, Insomnia 등 REST Client 3. Kibana > Dev Tools 잦은 입출력을 해야 하는데 REST Client 도구를 사용하면 되려 번거로워진다. 그래서 Kibana의 Dev Tools를 사용하기로 한다. [Spring] REST API, RESTful API (CSR: Client Side Rendering) 🌿REST REST(Representational State Transfer)는 웹 상의 자원(문서, 이미지, 영상 등)을 자원명으로 표시해서 상태를 주고받는 규칙을 의미한다. HTTP URI를 통해서 자원을 명시하고, HTTP Method를 통해서 자원 isaac-christian.tistory.com ..

Engineering/Platform

[AWS] Elasticsearch 개념, ELK 설치

[AWS] Elasticsearch 사용을 위한 Ubuntu, WSL 설치 🌿Elasticsearch Elasticsearch는 시간이 갈수록 증가하는 문제를 처리하는 분산형 RESTful 검색 및 분석 엔진이다. 홈페이지에서는 Elastic Stack의 핵심 제품인 Elasticsearch가 데이터를 중앙에 저장하여 손쉽 isaac-christian.tistory.com 이전 Elasticsearch 사용을 위한 Ubuntu, WSL 설치 글에서 이어진다. 🌿Elasticsearch https://www.elastic.co/kr/elasticsearch Elasticsearch: 공식 분산형 검색 및 분석 엔진 | Elastic Elasticsearch는 속도, 수평적 확장성, 안정성 및 간편한 관리를..

Engineering/Platform

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

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

Engineering/Platform

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

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

Engineering/Platform

[AWS] Amazon Web Services 가입하기

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

Engineering/Backend

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

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

Engineering/Backend

[Spring] Socket Communication: 채팅 구현

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