반응형

전체 글 130

[Cloud Series] 클라우드란? - 2

클라우드의 정의와 특징 미국 국립 표준 기술연구소 NIST에서는 클라우드를 아래와 같이 정의하고 있습니다. 클라우드 컴퓨팅이란, 공유 구성이 가능한 컴퓨팅 리소스(네트워크, 서버, 스토리지, 애플리케이션 서비스)의 통합을 통해 어디서나 간편하게, 요청에 따라 네트워크를 통해 접근하는 것을 가능하게 하는 모델이다. 이는 최소한의 이용 절차 또는 서비스 공급자의 상호 작용을 통해, 신속히 할당되어 제공된다. 또한, 클라우드의 특징으로 아래 5가지를 들었습니다. 주문형 셀프 서비스 사업자와 직접 상호 작용하지 않고, 사용자의 개별 관리화면(콘솔 등)을 통해 서비스를 이용할 수 있다. 광범위한 네트워크 접속 모바일 기기 등의 다양한 디바이스를 통해 서비스에 접속할 수 있다. 리소스의 공유 사업자의 컴퓨팅 리소르..

클라우드 2020.07.16

[Cloud Series] 클라우드란? - 1

금일부터 클라우드 기반 지식 정리를 공부하고 내용을 정리해보고자 합니다. 1. 클라우드 컴퓨팅이란? 클라우드 컴퓨팅(이하 클라우드)이란 컴퓨터를 사용한 정보의 처리를 자신의 PC가 아닌 인터넷 너머에 존재하는 컴퓨터를 처리하는 서비스를 의미합니다. 아마존의 AWS, MS의 Azure는 이러한 클라우드 서비스를 제공하는 대표적인 클라우드 사업자입니다. 클라우드는 네트워크나 인터넷에 연결되어있는 여러 장치들이 마치 구름과 같이 표현된다는 것에서 유래되었다고 하는데요. 말 그대로 이 구름과 같이 연결되어 있는 네트워크에서 제공하는 서비스를 통해 개인 혹은 기업이 하고자 하는 일을 처리할 수 있습니다. 중요한 점은 개인이 소유한 자원이 아닌 인터넷에 연결되어있는 클라우드 환경에서 제공되는 컴퓨팅 파워, 소프트웨..

클라우드 2020.07.15

Spring Security + JWT를 활용한 토큰 기반 인증 구현 (with Spring Boot)

Spring Security는 Spring Framework 기반 웹 애플리케이션의 보안을 담당하는 프레임워크입니다.Spring Security is a framework that provides authentication, authorization, and protection against common attacks. With first class support for both imperative and reactive applications, it is the de-facto standard for securing Spring-based applications.웹 보안은 기본적으로 요청하는 사용자를 식별하는 인증(Authenticate)과 인증된 사용자가 보호된 리소스에 접근할 권한이 있는지 확인하는..

리눅스 zip, unzip 압축, 압축 풀기

리눅스 환경에서 zip으로 압축 및 .zip파일을 압축해제하는 zip, unzip 명령어에 대해 정리합니다.1. zipzip 명령어를 통해 특정 파일 혹은 디렉토리를 압축할 수 있습니다.zip [압축 파일명.zip] [압축 대상] [압축 대상]...특정 디렉토리 압축-r 옵션은 대상 디렉토리 하위에 또 다른 폴더가 있을경우 전부 포함시키라는 옵션입니다.zip -r [압축 파일명.zip] [압축 대상 디렉토리]# test 폴더 전체 압축해 test.zip 생성zip -r test.zip test/*2. unzipunzip 명령어를 통해 zip파일 압축 해제를 할 수 있습니다.현재 폴더에 압축 풀기unzip [압축 파일명.zip]특정 디렉토리에 압축 풀기unzip [압축 파일명.zip] -d [압축 풀 경로..

DevOps/Unix, Linux 2020.06.02

Spring Data JPA Audit기능을 활용해 Entity 생성시간 / 수정시간 자동 매핑하기

보통 시스템에 필요한 테이블을 설계하면 이력 관리 등의 목적으로 row 생성시간, 수정시간을 저장할 컬럼 두는 경우가 많습니다.JPA를 통해 해당 테이블들을 엔티티로 매핑하면 여러 테이블에 걸쳐 중복코드가 발생할 수 있습니다.첫 째로는 각 엔티티에 생성 / 수정 시간을 매핑할 필드를 선언해줘야하고,두 번째로는 특정 엔티티가 생성, 수정 될 때 해당 필드의 값에 현재시간 값으로 세팅해주는 코드가 필요하게 되는 점입니다.이번 글에서는 Spring Data JPA 환경 제공하는 Audit 기능을 통해 이 컬럼들을 효율적으로 매핑할 수 있는 방법들을 소개합니다.Spring Data JPA AuditingAudit 기능은 엔티티에 발생하는 변경사항을 추적하는 기능을 구현하는데 도움을 줍니다.1. Auditing ..

Back-End/JPA 2020.05.27

IntelliJ Custom Live Template 사용

이번 포스트에서는 IntelliJ에서 유용하게 사용할 수 있는 커스텀 Live Template을 추가하는 방법을 소개합니다. Live Template 기능 소개 Live Template 은 간단한 약어로 예약된 코드를 Generate 해주는 유용한 기능인데요. 예를들어 코드 편집창에서 main이라 치면 public static void main(String[] args) { } 이렇게 메인 메소드가 Generate됩니다. IntelliJ의 Preferences > Editor > Live Templates 에서 제공되는 Live Template들을 확인할 수 있습니다. 커스텀 Live Template 추가 Preferences > Editor > Live Templates 메뉴 우측에 + 버튼을 클릭하여..

기타 2020.03.22

리눅스 CentOS Jenkins 설치하기

Jenkins는 가장 널리 사용되는 CI(Continous Integration)툴 중 하나입니다. 현 시점에서 많이 사용되는 CI툴로 Travis CI, Jenkins, TeamCity 등이 있습니다. 이 중에서도 Jenkins는 오랜 기간 널리 사용되어 오면서 수많은 사용자와 플러그인, 레퍼런스 등이 갖춰져있습니다. 개인 프로젝트에 적용할 CI툴을 고민해봤는데, Travis CI는 무료정책도 있지만 현재 제 상황에서는 무료정책을 이용할 수 없는 상황이었고, TeamCity도 일정 기준 이상이면 무료로는 사용이 불가하다고하여 우선 무료이면서 가장 보편적인 Jenkins를 구축해보기로 했습니다. 설치 먼저 아래 명령어로 Jenkins를 설치합니다. wget -O /etc/yum.repos.d/jenkin..

DevOps/Unix, Linux 2020.03.21

리눅스 CentOS Git 설치하기

CentOS에서 git을 설치해 사용하는 방법을 간략하게 정리합니다. 1. 설치확인 설치 전에 먼저 이미 설치되어있는지 확인합니다. git --version command not found 오류가 발생하거나, git이 설치되어있지 않다는 오류 문구가 나면 설치되지 않은 것입니다. 2. 설치 아래 명령어를 통해 git을 설치할 수 있습니다. yum install git 위와 같이하면 yum에서 제공되는 git 버전이 자동으로 설치되는데, 만약 원하는 버전이 있다면 아래와 같이 버전을 명시하면 됩니다. yum install git- 3. 사용자 설정 git config --global user.name "userName" git config --global user.email "email" 4. 정상 설치 ..

DevOps/Unix, Linux 2020.03.20

스프링 부트 (Spring Boot) 와 의존성 관리

스프링 부트의 강력한 장점 중 하나는 스프링, 써드파티 라이브러리 의존성을 관리해주는 부분이라고 생각합니다. 의존성 관련 내용에 앞서 스프링 부트가 무엇인지 간략하게 소개하겠습니다. 스프링 부트 (Spring Boot)란? 스프링 부트 공식 홈페이지에서는 다음과 같이 소개하고 있습니다. Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". 상용 수준의 독립실행형 스프링 애플리케이션을 쉽게 만들 수 있도록 해주는 기술로 대표적으로 다음과 같은 기능을 제공합니다. 독립 실행형 애플리케이션 제작 Create stand-alone Spring applicat..

Java Bean Validation 사용하기

Java Bean Validation는 공식 사이트에서는 오브젝트 레벨의 제약 선언 및 유효성 검사 기술을 제공하는 것을 목표로 하고 있는 기술이라고 합니다. The technical objective of this work is to provide an object level constraint declaration and validation facility for the Java application developer, as well as a constraint metadata repository and query API. 실제로 프로그래밍을 하다보면 어떤 객체의 값이 비었는지, 공백인지, 날짜가 이전인지 등의 유효성 검사를 빈번하게 수행하게 되고 이로 인해 유효성 검사 로직들이 여러 곳에 흩어지게 ..