전체 글

Devlos Archive

    MOM (Message Oriented Middleware) 란?

    MOM (Message Oriented Middleware) 란?

    MOM 이란? 독립된 애플리케이션 간에 데이터를 주고 받을 수 있도록 하는 시스템 아키텍처다. 함수 호출이나 공유 메모리를 이용하여 애플리케이션 간 통신하는 것이 아니라, 메시지 교환을 이용하는 중간 계층에 대한 인프라 아키텍처 개념이다. 사용하게 될 경우 분산 컴퓨팅이 가능하며 서비스 간의 결합성이 낮아진다. 송신자와 수신자는 서로를 알지 못하며 통신 채널만 알 수 있다. 발신자와 수신자는 토픽이나 큐를 통해 서로를 찾는다. 여러 수신자가 동일한 통신 채널에 등록한 경우 수신자 중 한명이 메시지를 처리할 수 있다. 부하분산이 가능하기 때문에 로드 밸런스를 위한 특정 인프라가 필요하지 않다. MOM의 특징 비동기 방식으로 메시지를 전달한다. Queue, Broadcast, Multicast 등의 방식으로..

    IntelliJ 단축키

    IntelliJ 단축키

    이번 포스팅에서는 IntelliJ의 단축키를 정리한다. 1. IDE의 기능 관련 단축키 기능 Mac Windows Project 창 포커싱 (최소, 최대화) command + 1 ctrl + 1 에디터로 포커싱 esc esc Project 창에서 프로젝트 코드 미리보기 space space 에디터 창 키우기 shift + command + fn + F12 ctrl + shift + F12 에디터 창 이동 control + tab ctrl + tab 에디터에서 새 파일 생성 control + option + N ctrl + alt + insert 프로젝트 창에서 새 파일 생성 command + N alt + insert 단어별 커서 이동 alt left or right ctrl left or right 라..

    Lombok

    Lombok

    Spring boot를 사용할 때 gradle dependencies에 lombok이라는 라이브러리를 추가했다. 예제를 따라 코드를 작성하다 보니 lombok 라이브러리 역할이 무엇인지 궁금해서 확인해보았다. 다음은 프로젝트의 build.gradle 코드다. plugins { id 'org.springframework.boot' version '2.4.2' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } group 'org.example' version '1.0-SNAPSHOT' repositories { mavenCentral() } dependencies { implementation 'org.springframewo..

    Annotation 이란?

    Annotation 이란?

    Java 기반 framework를 사용하는 회사에 이직하게 되어 Spring Boot에 대해 공부하고 있다. 골뱅이가 붙은 단어들이 많이 보였다. NodeJS + express 기반 Backend에 익숙하고, Java의 기본 문법만 아는 나에게 다소 생소한 내용이었다. @의 정체에 대해 살펴보기로 했다. 1. Annotation 이란? @something은 Annotation (어노테이션)이라고 한다. Annotation은 Java의 소스코드에 메타데이터를 추가하는 구문이다. Class, methods, variables, parameters, Java package 등 대부분의 코드에 annotation을 달 수 있다. 2. Annotation의 종류 Built-in annotation Java cod..

    Terraform side project

    IaC(Infrastructure as Code) 기술은 퍼블릭 클라우드 환경의 인프라를 관리하기 위한 필수로 알아야 할 기술이라고 생각한다. 지난주 동안 공부하고 정리한 Terraform 사용방법에 대한 내용을 블로그를 통해 정리하려고 한다. Terraform side project repository를 생성했고 AWS 인프라 아키텍처를 자유롭게 HCL(Hashicorp Configuration Language)을 통해 기술하는 연습을 하고 있다. https://github.com/devlos0322/terraform-side devlos0322/terraform-side Contribute to devlos0322/terraform-side development by creating an accoun..

    [AWS] AWS로 웹서버 작성하기

    [AWS] AWS로 웹서버 작성하기

    이번 포스팅에서는 AWS로 인스턴스 생성 및 웹서버를 작성하는 방법에 대해서 다룬다. (이번 포스팅 내용을 직접 해보시려면 이전 포스팅인 AWS CLI를 진행하셔야 합니다.) 2021.04.19 - [클라우드 컴퓨팅 & NoSQL] - [AWS] Command Line Interface(CLI) 설치 방법 (Mac) [AWS] Command Line Interface(CLI) 설치 방법 (Mac) 이번 포스팅에서는 awscli(AWS Command Line Interface) 설치 방법에 대한 내용을 다룬다. AWS CLI는 AWS 서비스를 관리하는 통합 도구이다. 도구 하나만 다운로드하여 구성하면 여러 AWS 서비스를 명령줄에서 devlos.tistory.com 1. 보안 그룹 설정 보안 그룹은 방화벽..

    [AWS] Command Line Interface(CLI) 설치 방법 (Mac)

    [AWS] Command Line Interface(CLI) 설치 방법 (Mac)

    이번 포스팅에서는 awscli(AWS Command Line Interface) 설치 방법에 대한 내용을 다룬다. AWS CLI는 AWS 서비스를 관리하는 통합 도구이다. 도구 하나만 다운로드하여 구성하면 여러 AWS 서비스를 명령줄에서 제어하고 스크립트를 통해 자동화가 가능하다. AWS 명령줄 인터페이스 aws-shell은 명령줄 셸 프로그램으로서, AWS 명령줄 인터페이스를 사용하는 새로운 사용자와 고급 사용자 모두에게 도움이 되는 편의 기능 및 생산성 기능을 제공합니다. 주요 기능은 다음과 같습 aws.amazon.com AWS CLI를 사용하기 위해 homebrew를 이용하여 awscli를 설치한다. (Mac 환경) $ brew install awscli 그다음 aws configure라는 커맨드..

    [젠킨스(Jenkins)] Jenkins를 이용한 pipeline 구축

    [젠킨스(Jenkins)] Jenkins를 이용한 pipeline 구축

    이번 포스팅에서는 Jenkins를 이용하여 파이프라인(pipeline)을 구축하는 법에 대해서 정리한다. 이전 포스팅에서 다루었던 앤서블(Ansible)을 사용한 Serverspec 테스트를 연결하여 진행한다. Serverspec에 대해서는 아래의 링크에 정리해 두었다. 2021.04.15 - [클라우드 컴퓨팅 & NoSQL] - [앤서블(Ansible)] Serverspec 사용법 [앤서블(Ansible)] Serverspec 사용법 이번 포스팅에서는 Serverspec이라는 도구를 앤서블에 적용하는 방법에 대해서 알아보도록 한다. Serverspec은 인프라(서버) 테스트 수행을 간단하고 쉽게 하기 위한 도구이다. Serverspec - Home About V2 Ser devlos.tistory.co..

    [젠킨스(Jenkins)] Jenkins 프로젝트 생성 및 Build

    [젠킨스(Jenkins)] Jenkins 프로젝트 생성 및 Build

    이번 포스팅에서는 Jenkins를 이용하여 프로젝트를 생성하고 자동으로 빌드하는 방법에 대해서 다루도록 한다. Jenkins 대시보드 우측 상단에 있는 [New Item]을 클릭한다. 그러면 프로젝트 생성페이지가 나온다. 여기서 Enter an item name 에다가 프로젝트 이름을 작성한다. (예제에서는 first_project 라고 프로젝트 이름을 지었다.) 그리고 "Frestyle project"를 선택하고 [OK]를 클릭한다. 다음으로는 "Build" 항목에서 "Add build step"을 누르고 "Execute shell"을 선택한다. Execute shell에 다음처럼 명령어를 작성한다. uname -n pwd ls -l 여기까지 완료하고 난 후 저장 버튼을 클릭하면 프로젝트가 저장된다. ..

    [젠킨스(Jenkins)]  Jenkins 소개 및 설치 방법

    [젠킨스(Jenkins)] Jenkins 소개 및 설치 방법

    이번 포스팅에서는 Jenkins가 무엇인지에 대해서 정리하고, Jenkins를 사용하는 방법에 대해서 정리하도록 한다. 1. Jenkins란? 젠킨스(Jenkins)는 소프트웨어 개발 시 지속적 통합(continuous integration) 서비스를 제공하는 툴이다. 다수의 개발자들이 하나의 프로그램을 개발할 때 버전 충돌을 방지하기 위해 각자 작업한 내용을 공유 영역에 있는 Git 등의 저장소에 빈번히 업로드함으로써 지속적 통합이 가능하도록 해 준다. - wiki 젠킨스 (소프트웨어) - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. ko.wikipedia.org Jenkins는 다음과 같은 작업이 가능하다. 작업을 프로젝트라는 단위로 모아서 쉽게 실행할 수 있음 수작업을 할 필요..