본문 바로가기

분류 전체보기25

Ansible로 서로 다른 OS의 서버를 관리해보자 (2) 안녕하세요, 메가존클라우드 Mass Migration Center의 AAT에서 프론트엔드와 백엔드 개발을 담담하고 있는 MC매드(A.K.A. The master of ansible)입니다. 이번 포스팅에서는 전 포스팅에 이어 Ansible로 windows, linux, unix 서버를 컨트롤할 수 있도록 실습 가이드를 작성해보겠습니다. [지난 포스팅: Ansible로 서로 다른 OS의 서버를 관리해보자 (1)] 07. 폴더 구조화 ├── ansible.cfg ├── hosts ├── main.yaml ├── roles │ ├── apache │ │ ├── files │ │ │ └── info.sh │ │ ├── tasks │ │ │ └── main.yaml │ │ └── vars │ │ └── main... 2023. 12. 5.
Ansible로 서로 다른 OS의 서버를 관리해보자 (1) 안녕하세요, 메가존클라우드 Mass Migration Center의 AAT에서 프론트엔드와 백엔드 개발을 담담하고 있는 MC매드(A.K.A. The master of ansible)입니다. 이번 포스팅에서는 Ansible을 통해 각기 다른 OS를 가진 서버를 관리하는 방법에 대해 알아보겠습니다! 01. Ansible이란 Ansible은 오픈소스 IT 자동화 툴로서, 프로비저닝, 구성 관리, 애플리케이션 배포, 오케스트레이션 등의 수동 IT 프로세스를 자동화할 수 있습니다. 경험해보기 전에는 와닿지 않으니 실전으로 들어가서 빠르게 설치부터 진행해보겠습니다! 02. Ansible 설치 Ansible 설치 방법을 OS별로 알아봅시다. SUSE에 Ansible 설치하기 $ sudo zypper instal.. 2023. 12. 5.
데이터 시각화 라이브러리 D3.js로 네트워크 차트 만들기 (2) 안녕하세요, 메가존클라우드 Mass Migration Center의 AAT에서 프론트엔드와 백엔드 개발을 담담하고 있는 MC매드(A.K.A. The Chart Generator)입니다. 이번 포스팅에서는 저번 포스팅에 이어서 D3.js 라이브러리로 네트워크 차트 만들어 보겠습니다! 저번 포스팅 보러가기 [FrontEnd] - 데이터 시각화 라이브러리 D3.js로 네트워크 차트 만들기 (1) 04. 차트에 zoom 기능 적용하기 function handleZoom(e) { d3.select(selector + " g").attr("transform", e.transform); } const zoom = d3.zoom().on("zoom", handleZoom); d3.selectAll(selector + .. 2023. 8. 24.
[Spring] Flux 와 Mono의 차이를 찾던중.. Flux : 0 ~ N 개의 데이터 전달 Mono : 0 ~ 1 개의 데이터 전달 즉 Flux는 큰 데이터를 여러개로 나눠서 보낼때, Mono는 데이터가 크던지 작던지 한번에 보낼때 사용됩니다. 아래 실제 소스코드를 확인해보면 Mono 는 단 건만 Flux는 단건 다건 둘다 가능합니다. public static Mono just(T data) { return onAssembly(new MonoJust(data)); } public static Flux just(T... data) { return fromArray(data); } public static Flux just(T data) { return onAssembly(new FluxJust(data)); } 스택오버플로우를 참조 해보면 Fulx는 Co.. 2023. 8. 15.
MAD - Header Layout MAD Frontend 개발 시 규약 MAD 는 BootStrap 기반으로 프론트를 개발합니다. 따라서, 다음의 규약을 유지해 주십시오 1. 섹션의 헤더에 h4 > span 처리 하고, inline Bold 처리를 하여 어느 섹션에서 작업중인지 구분합니다. ( 향후 자바스크립트 작업에서 해당 레이어 선택시 색상을 데이터 색상으로 변경합니다 ) 2. 위제스터를 활용하여 모든 레이아웃에 공통 적용합니다. 3. 인용구를 넣어 사용자로 하여금 workflow 를 유지할 수 있도록 돕는 말 문구를 입력 해 주세요 4. 인용구 사이에 버튼은 공통입니다. ( help ) 액션 버튼을 통해 사용자로 하여금 기능을 이해할 수 있도록 해 주세요. 5. 유틸성 버튼 그룹 입니다. 대부분 다운로드 관련이나 클라이언트로 데이터.. 2023. 7. 25.
Java Service Tree Framework 의 Global Tree Map 설명 JPA Specification 검색 조건을 추상화하기 위해 사용된다. 이를 사용하기 위해 Repository에서 JpaSpecificationExecutor를 상속받아야 한다. import com.mad.treemap.model.GlobalTreeMapEntity; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; public interface GlobalTreeMapJpaRepository extends JpaRepository,JpaSpecificationExecutor { } JpaSpecificationEx.. 2023. 7. 24.
Java Service Tree Framework 의 Entity 릴레이션 관리 방안 DB 정규화에 의하여, OneToMany 를 사용 해야한다면. 아래와 같이 GLOBAL_TREE_MAP을 JoinTable로 사용하여, 연결하도록 한다. ( 단방향, 양방향 ) // -- 1:N table 연계 private Set pdServiceVersionEntities; @LazyCollection(LazyCollectionOption.FALSE) @JsonManagedReference @OneToMany(cascade = CascadeType.ALL) @JoinTable( name = "GLOBAL_TREE_MAP", joinColumns = @JoinColumn(name = "pdservice_link"), inverseJoinColumns = @JoinColumn(name = "pdservi.. 2023. 7. 24.
Java Service Tree Framework 의 중재자(Mediator) 패턴 설명 지난 포스트와 같이 . JSTF 를 사용시 생산성 향상의 결과를 확인 할 수 있다. 각 도메인을 Tree Model을 활용하여 구현하다보니. 도메인간의 연결은 Entity의 연결로 이루어지고, 이는 Global Tree Map 컴포넌트로 해결을 하였으나, @Service 간의 참조는 자칫 순환 참조의 결과가 나올 수 있으므로, 이를 해결하기 위하여 중재자 패턴을 적용하고, 활용 할 수 있는 내용을 기술한다. // 중재자 인터페이스 public interface Mediator { void doSomethingInA(); void doSomethingInB(); } // 중재자 구현체 @Service public class MediatorImpl implements Mediator { private ASe.. 2023. 7. 5.