전체 글

신승환의 기술 블로그
개발 & 구현

JAVA 메시지 보내기 - SMTP

계속 인프라 관련 글만 올리다가 오랜만에 개발관련 글을 올려본다. 일반적으로 서버에 문제가 생기거나, api 쪽에 문제가 발생하였을 경우에 SMTP를 통해서 outlook으로 메일을 전송하여 장애대응을 할 수 있게 해준다. 실제 운영환경에서는 훨씬 더 복잡한 로직이 있지만, 이 글에서는 SMTP 사용에만 포커스에 두고 설명할 것이다. Spring framework를 기반으로 구성해 보겠다. 일단 아래와 같이 dependency를 pom.xml 에 추가해 주자. com.sun.mail javax.mail 1.6.2 테스트는 구글 계정을 통해 진행할 것이다. 일단 구글에 로그인을 해주고 계정설정탭으로 들어가 준다. 아래의 그림과 같이 보안탭으로 이동해 준다. 아래와 같은 탭에서 앱 비밀번호 쪽을 눌러준다. ..

MongoDB

[MongoDB] Ubuntu MongoDB 설치 - mongoshell 설치

설치 테스트는 Ububtu 20.04 버전, Java11 버전에서 확인하였다. Ububtu 환경에서 MongoDB 를 설치하기 위해서 아래의 메뉴얼을 따르면 된다. mongosh란 MongoDB 인스턴스를 조작할 수 있도록 도와주는 shell 이다. ※ 참고URL : https://www.mongodb.com/docs/mongodb-shell/install/ Install mongosh — MongoDB Shell Docs Home → MongoDB Shell To use the MongoDB Shell, you must have a MongoDB deployment to connect to.You can use the MongoDB Shell to connect to MongoDB version 4.0..

MongoDB

[MongoDB] Ubuntu MongoDB 설치 - mongos 설치

설치 테스트는 Ububtu 20.04 버전, Java11 버전에서 확인하였다. Ububtu 환경에서 MongoDB 를 설치하기 위해서 아래의 메뉴얼을 따르면 된다. ### mongodb user/group 추가 adduser mongodb ### 패키지 정보 업데이트 sudo apt-get update ### home 디렉토리로 이동 cd /home ### MongoDB tgz 파일 다운로드 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-6.0.2.tgz ### 압축풀기 tar -xzvf mongodb-linux-x86_64-ubuntu2004-6.0.2.tgz ### 디렉토리명 변경 mv mongodb-linux-x86_64..

MongoDB

[MongoDB] Ubuntu MongoDB 설치 - mongoc 설치

설치 테스트는 Ububtu 20.04 버전, Java11 버전에서 확인하였다. Ububtu 환경에서 MongoDB 를 설치하기 위해서 아래의 메뉴얼을 따르면 된다. ### mongodb user/group 추가 adduser mongodb ### 패키지 정보 업데이트 sudo apt-get update ### home 디렉토리로 이동 cd /home ### MongoDB tgz 파일 다운로드 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-6.0.2.tgz ### 압축풀기 tar -xzvf mongodb-linux-x86_64-ubuntu2004-6.0.2.tgz ### 디렉토리명 변경 mv mongodb-linux-x86_64..

MongoDB

[MongoDB] Ubuntu MongoDB 설치 - mongod 설치

설치 테스트는 Ububtu 20.04 버전, Java11 버전에서 확인하였다. Ububtu 환경에서 MongoDB 를 설치하기 위해서 아래의 메뉴얼을 따르면 된다. ### mongodb user/group 추가 adduser mongodb ### 패키지 정보 업데이트 sudo apt-get update ### home 디렉토리로 이동 cd /home ### MongoDB tgz 파일 다운로드 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-6.0.2.tgz ### 압축풀기 tar -xzvf mongodb-linux-x86_64-ubuntu2004-6.0.2.tgz ### 디렉토리명 변경 mv mongodb-linux-x86_64..

MongoDB

[MongoDB] MongoDB 란?

요즘 시대에는 구글이나 아마존, 페이스북 같은 글로벌 서비스를 제공하는 회사가 늘어나면서 방대한 양의 데이터를 서비스를 제공하는데 문제없이 빠른 속도로 처리할 수 있는 데이터베이스에 대한 필요성이 강해졌다. 대용량 데이터 서비스를 제공하기 위해서는 전통적인 RDBMS만으로는 처리하기에는 한계가 존재한다. MySQL 같이 오픈 소스 RDBMS는 비용적인 문제를 해결해주기는 하지만 이러한 MySQL도 빅데이터를 처리하기에는 무리가 있다. 예를들어 엄청난 양의 데이터가 있고, 매번 데이터베이스 스키마에 맞게 데이터를 조작하여 작업을 수행한다면 여러가지 리소스의 낭비가 발생된다고 볼 수 있다. 이를 해결하기 위해서 NoSQL이 등장하였고 다른 NoSQL과 같이 MongoDB는 이러한 문제를 해결하기 위해 적합한..

네트워크

[네트워크] 무선랜

무선랜은 유선 케이블 없이 랜을 구축할 수 있는 기술이다. 지금까지는 케이블을 통해 기기 장치들을 연결하는 유선 이더넷에 대해서 알아보았다. 이와 달리 무선랜은 유선 케이블을 이용하지 않으면서도 랜을 구축할 수 있는 기술이다. 무선랜은 케이블 없이 간편하게 네트워크를 만들기 위하여 개발되었다. 랜 케이블을 사용하지 않기 때문에 케이블 배선의 관리가 필요하지 않다 보니 관리의 편의성이 높아진다. 그러나 무선 방식은 유선보다 속도가 불안정하며 전파에 영향을 많이 받는다. 또한 유선연결보다 보안상의 위험이 높아진다. type 보안 속도 안정성 편의성 유선 랜 상대적으로 보안에 취약하지 않음 빠름 안정적 선관리를 해줘야 하므로 불편함 무선 랜 상대적으로 보안에 취약함 유선 랜에 비해 느림 유선 랜에 비해 불안정..

네트워크

[네트워크] 프록시 서버

프록시 서버란 웹 서버 접속을 대신해주는 서버이다. 예를들어서 A가 B에게 물건을 전달하는 것을 대리인에게 맡긴다고 가정해보자. A가 대리인에게 물건을 B에게 전달을 부탁한다고 맡긴뒤에 대리인이 B에게 전달해준다. 물건을 전달받은 B는 A에게 답례를 전달하기 위해 대리인에게 전달을 부탁한다. 이와 비슷한 상황으로 웹페이지를 보고 싶다고 가정해보자. 웹페이지를 접속하기 위해서는 웹 브라우저와 웹 서버(웹 서버 애플리케이션) 간의 통신이 필요하다. 그 사이에 웹사이트 접속을 대행하는 프록시 서버를 거칠 수 있다. 웹브라우저와 웹서버 사이에 프록시 서버를 끼워 설정함으로써 웹브라우저가 프록시 서버를 통해서 웹서버에 접속하게끔 하는 것이다. 동작과정은 아래의 그림과 같다. 웹브라우저는 프록시서버로 Http Re..

네트워크

[네트워크] Cookie

쿠키란 웹서버 애플리케이션에서 웹브라우저에 특정 정보를 저장해두는 기술이다. http 쿠키는 웹서버 어플리케이션에서 웹 브라우저의 특정 정보를 저장해두는 기술이다. 웹브라우저에 저장된 쿠키는 구글 크롬에서 다음과 같이 확인할 수 있다. 크롬에서 '설정' -> '보안 및 개인정보 보호' 탭을 들어가서 확인할 수 있다. 해당탭으로 이동해줘서 쿠키정보를 볼수도 있고 필요시에 쿠키를 삭제할 수 도 있다. HTTP 쿠키를 이용함으로써 특정 사이트에 접속할 때 로그인정보, 웹 페이지 열람 이력, 쇼핑몰 상품 열람 기록, 장바구니 정보등을 기록할 수 있다. 쿠키가 동작하는 과정을 그림으로 표현하면 아래와 같다. 웹서버에서 웹 브라우저에 요청에 대하여 HTTP Respose에 쿠키를 포함하여 보낸다. 이때 쿠키정보는 ..

네트워크

[네트워크] HTTP

응용계층에는 웹페이지에 접속하기 위한 프로토콜이 존재한다. 바로 HTTP (Hyper Text Transfer Protocol) 이다. HTTP 는 웹에서 하이퍼텍스트 문서를 요청하고 응답하기 위한 프로토콜이다. 웹페이지를 접속하는 구조와 과정을 먼저 알아보자. 웹 브라우저를 통해 사용자가 보고 싶은 특정 URL을 요청하면 웹서버에서는 그에 상응하는 HTML 문서로 응답해준다. 이때 웹상에서 데이터를 전송하는 프로토콜인 HTTP가 이용된다. HTML 은 텍스트, 이미지등의 데이터를 문서 형태로 응답할 수 있는 일종의 웹 문서이다. 해당 HTML 태그를 작성하여 웹 브라우저를 통하여 이미지나 텍스트를 볼 수 있다. 이렇게 웹상에서 데이터를 전송하는데 HTTP라는 프로토콜이 이용된다. HTTP는 웹에서 하이..

ssh9308
신승환의 기술 블로그