본문 바로가기

전체 글

서비스 지향 아키텍처(SAO) 특징과 MSA와의 차이점 0. 개요전체 시스템을 서비스 중심으로 설계하는 아키텍처 스타일입니다.기업 환경에서 중복되는 프로세스나 업무들을 하나의 서비스 단위로 개발합니다.서비스의 생성과 활용을 높여 비즈니스 환경 변화와 업무 변화에 민첩하게 대응할 수 있는 아키텍처입니다.이 서비스 지향 아키텍처에 다섯 가지의 주요 특징이 있습니다.서비스 계약서비스 가용성보안트랙잭션서비스 관리SAO와 MSA 모두 비즈니스 변화 대응을 위한 서비스 중심 아키텍처라는 공통점이 있습니다.하지만, MSA와 네 가지의 주요 차이점이 있습니다.서비스 상대적 크기와 관심사 차이서비스 오너십 차이서비스 공유 정도의 차이기술 방식의 차이1. 특징1.1 서비스 계약서비스 계약은 서비스와 서비스 소비자와의 계약을 뜻합니다.서비스는 약속한 기능을 수행해야 합니다.서비.. 더보기
Java 버전 별 주요 Features 1. Java 8 - LTS1.0 종류람다 표현식함수형 인터페이스스트림 API인터페이스 default, static methodOptional1.1 람다 표현식익명 클래스 간결 표현Runnable run = () -> System.out.print("hello ksb");1.2 함수형 인터페이스하나의 추상 메서드만 가지는 인터페이스@FunctionalInterfaceinterface MyFunctionalInterface { void myMethod();}기본적으로 Predicate, Consumer, Supplier, Funtion, Comparator, Runnable, Callable 제공1.3 스트림 API간결한 코드, 쉬운 병렬 코드 작성 가능List numbers = Arrays.asLi.. 더보기
소프티어 - 효도 여행 (Java) 0. 개요DFS 및 LCS 문제입니다.이 문제는 DFS 특징을 활용한 LCS 재활용입니다. 1. DFS 특징을 활용한 LCS 재활용문제의 예시 트리는 아래와 같습니다. DFS를 통한 좌측 두 개의 리프 노드 탐색 순서는 아래와 같습니다. 7번 : 1 -> 2 -> 4 -> 78번 : 1 -> 2 -> 5 -> 8 각 경로마다 문자가 주어지니 7, 8번 리프 노드까지 도달했을 때 문자는 아래와 같습니다.7번 : ACF8번 : AZQ 감이 오시나요? 리프 노드까지 탐색 경로에는 중첩된 부분이 있을 수 있습니다.또, 중첩된 경로 만큼 중복되는 문자가 있습니다. 7번과 8번의 노드는 2번 까지의 중첩되는 경로가 존재하고,A 문자가 공통적으로 존재합니다. 그렇다면,DFS 레벨에 맞게 해당 계층의 LCS만 구하면 .. 더보기
소프티어 - 나무 섭지 (Java) 0. 개요BFS 문제입니다.두 번의 BFS를 통해 이 문제를 해결할 수 있습니다.유령이 시간 내에 갈 수 있는 위치남우 탈출 https://softeer.ai/practice/7726 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai  1. 유령이 시간 내에 갈 수 있는 위치각 유령의 초기 위치를 큐에 저장해서, 각 위치에 얼마만에 유령이 도달할 수 있는지 저장해야 합니다. 문제의 1번 테스트 케이스를 그림으로 표현하면 아래와 같습니다. 유령의 거리 배열을 저장하게 된다면 아래 그림처럼 나타낼 수 있습니다. 유령은 벽을 통과할 수 있다는 점을 조심해야 합니다. 2. 남우 탈출유령의 거리 배열을 구했으니, 남우를 탈출시키면 됩니다.남우를 탈출 할 때 벽인지, 유령보다 빠르게 특정 위치에.. 더보기
Kubeadm, Kubespary, kOps, Cluster API 설명 및 비교 0. 개요Kubeadm, Kubespray, Cluster API, kOps 모두 쿠버네티스(Kubernetes, k8s) 클러스터의 배포 및 관리를 위한 도구입니다.이 세 가지 도구를 설명 및 비교하겠습니다. 1. 각 도구 설명1.1 Kubeadm쿠버네티스 클러스터를 **부트스트랩(초기화)**하고 구성하는 도구입니다.의미 그대로 기본적인 구성 요소만 초기화하여 빠르고, 쉽게 클러스터를 구축할 수 있게 도와줍니다.💡 기본적인 구성 요소에는 API 서버, 컨트롤러 매너지, 스케줄러 등이 있습니다. Kubeadm에는 세 가지 중요 명령어가 있습니다.kubeadm init쿠버네티스는 컨트롤 플레인과 데이터 플레인으로 구분할 수 있습니다.이 명령어는 컨트롤 플레인을 초기화 합니다.kubeadm join데이터 .. 더보기
코드 트리 - 마법의 숲 탐색(Java) 0. 개요구현 문제입니다.  이 문제를 해결하기 위해서 두 가지의 주의 사항이 있을거 같습니다.1. 골렘의 시작점은 숲 밖이다.2. 골렘 몸의 일부와 출구를 분리해야 한다. 1. 골렘의 시작점은 숲 밖이다.아래와 같은 그림일 때, 어떻게 동작될까요? 정답은, 왼쪽으로 회전한다는 것입니다.왼쪽으로 2회전이 가능하기 때문에 아래와 같은 그림으로 골렘의 이동이 종료됩니다. 이렇게 골렘은 숲 밖에서 부터 회전을 할 수 있습니다. 저는 이를 위해서 숲 바깥, 숲 위, 숲 안쪽을 각 -2, -1, 0 으로 표현했습니다.이를 그림으로 표현하면 아래와 같습니다. 행과 열의 입력의 범위가 70 이하입니다.저의 경우 편의상 80*80 배열을 만들어 (3,3) 부터 숲 내부가 되도록 고정시켰습니다. 좌측열에 패딩을 준 이유.. 더보기
오픈스택과 TripleO 아키텍처 0. 개요AWS의 EC2를 사용하다가 문득 아래와 같은 의문이 들었습니다.“어떤 기술로 하드웨어를 가상화하여 관리할 수 있을까? 또, 어떻게 직접 구축해 볼 수 있을까?” 의문을 해결하기 위해 국내 클라우드 서비스를 제공하는 여러 기업의 홈페이지를 방문해 봤습니다.그 중, 오케스트로라는 기업이 오픈스택(Openstack)을 사용하여 제 의문점을 해결하고 있었습니다. 1. 오픈스택이란?오픈스택은 풀링된 가상 리소스를 사용하여 IaaS 프라이빗 및 퍼블릭 클라우드를 구축, 관리하는 오픈소스입니다.💡 풀링된 가상 리소스란, 가상화된 자원을 중앙 집중식으로 관리 및 제공하는 것을 의미합니다. 오픈스택은 데이터센터에 설치되고, 가상화 서비스를 제공합니다.즉, 오픈스택은 데이터센터 전체의 컴퓨팅, 스토리지, 네트.. 더보기
클라우드 0. 개요이 글은 삼성 SDS의 인사이트를 참고해서 정리한 글입니다.클라우드 | 인사이트리포트 | 삼성SDS 인공지능 | 인사이트리포트 | 삼성SDS삼성SDS에서 다양한 IT 인사이트 정보를 제공해 드립니다.www.samsungsds.com 1. 클라우드란?Cloud는 구름이라는 의미를 가진 영어 단어입니다.구름은 작은 물방울이나 얼음이 서로 연결된 큰 덩어리입니다.IT 업계의 클라우드 는 1990년대 구글, 네이버와 같은 인터넷 기업들이 방대한 사용자의 접속을 유지하는 서비스를 제공하면서 클라우드라는 개념이 사용됐습니다.클라우드는 크게 네 가지 대표적인 특징이 있습니다.접속 용의성유연성셀프 서비스사용량 기반 과금제1.1 접속 용의성클라우드 서비스는 공간과 시간의 제약 없이 인터넷이 사용한 곳이면 어디서.. 더보기