반응형

IT 67

[MSA] Circuit Breaker

Circuit Breaker 적용을 위한 Project 구조 Item Service Projecthttps://github.com/bwcho75/msa_pattern_sample/tree/master/item-spring-hystrix User Service Project 1. Maven Dependency 추가 Spring Starter Project 생성 후 Circuit Breaker 적용을 위해 maven dependency를 추가해 주어야 한다.spring-cloud-starter-hystrix 는 Hystrix circuit breaker를 이용한 의존성이고 hystrix-dashboard와 actuator 는 hystix dash 보드를 띄우기 위한 의존성이다.프로젝트 내의 pom.xml을 ..

IT/JAVA 2018.07.31

[MSA]Zuul Server

Zuul proxy 의 동작만을 확인하는 간단한 코드는 spring cloud 프로젝트에서도 참조할 수 있으며, 블로그의 내용은 아래의 github 링크를 참조하면 되겠다. 간단한 데모이므로 별도의 암호화 처리등은 없다. 본 데모에서 가장 중요한 것은 온라인 설정의 업데이트, 유레카를 참조한 로드 밸런싱의 처리이다. https://github.com/younjinjeong/demo-config https://github.com/younjinjeong/spring-cloud-zuul-proxy-demo Config server 구성 - github.com 에 가서 신규 repository 를 만든다. (위의 demo-config 참조) - 애플리케이션의 properties 파일을 생성한다. : applic..

IT/JAVA 2018.07.26

[MSA]EUREKA Server

Eureka 서버 - http://start.spring.io 에 접근한다. - artifact 에 discovery-service 라고 쓴다- 오른쪽 Dependencies 에 Eureka Server 를 찾아 엔터를 눌러 추가한다. - Generate Project 를 눌러 zip 파일을 다운받고, 압축을 해제하여 프로젝트를 IDE, 이를테면 STS나 IntelliJ 와 같은 도구로 연다. - discovery-service/src/main/java/com/example/DiscoveryServiceApplication.java 에 @EnableEurekaServer 어노테이션을 추가한다 package com.example; import org.springframework.boot.SpringAppl..

IT/JAVA 2018.07.26

[MSA] Spring Cloud Config Server

Spring Cloud Config Server- http://start.spring.io 에 접근한다. - artifact 에 config-service 와 같은 그럴듯한 이름을 넣어준다. - Dependencies 에서 Config Server 를 찾아 추가한다. - Generate Project 를 눌러 Zip 파일을 다운로드하고, 이를 IDE 를 사용해서 연다. - config-service/src/main/java/com/example/ConfigServiceApplication.java 에 @EnableConfigServer 어노테이션을 추가한다. package com.example; import org.springframework.boot.SpringApplication; import org..

IT/JAVA 2018.07.26

[python] 사전형 자료 재배열 하기

1. 아래 Dict 자료를 시간 기준으로 재배열 하기 2. 시간은 마지막 초0으로 변경. ex)1489998707 --> 1489998700 1489998709 --> 1489998700 3. 불필요한 자료 제거(result['ns']) 4. 시간별로 value 정렬을 위해 새로운 Dict 생성(unixtimestamp -> yyyy/mm/dd hh:mm:ss 형식으로 변환) 5. 시간별 Dict에 itemid별 value값 추가. result = [{"itemid": "584507","clock": "1489998707","value": "1525935000","ns": "274653090"}, {"itemid": "584509","clock": "1489998709","value": "11806650..

IT/PYTHON 2017.03.24

[ATOM] 아톰 텍스트 에디터

ATOM Editer 웹 개발을 하다보면 가독성과 편리한 작업을 위해 텍스트 에디터를 사용 하는데요. github에서 만든 오픈 소스 개발툴 ATOM 입니다. 홈페이지 : https://atom.io/ 패키지 추천color-picker : CSS 색깔을 직접 고를수있다. 파레트??(https://atom.io/packages/color-picker) emmet : 태그를 자동 완성 해줌ex) html + Tab키 입력시 (https://atom.io/packages/emmet) highlight-selected : 특정 단어 드래그 및 선택시에 동일 단어 표시해줌(https://atom.io/packages/highlight-selected) pigments : STYLE Color 입력시 색깔이 표기됨..

IT/정보 공유 2016.02.10

[CSS] 요소안의 공백 처리 white-space

white-space white space란?? 여백이라고도 하는데 html에서는 공백, 공란으로 생각 하면 된다. normal : 기본값, 공백을 여러개 넣어도 공백 1개만 표시, 글이 길어지면 텍스트가 자동 줄바꿈 됨(wrap) nowrap : 공백을 여러개 넣어도 1개만 표시, 텍스트가 길어도 줄바꿈 되지 않고 같은 줄에 계속 표시 pre : 공백을 코드에 있는 그대로 표시함. 태그처럼 행동함. 코드에 줄바꿈이 없다면 줄바꿈이 되지 않음 pre-wrap : 공백을 코드에 있는 그대로 표시함. 코드에 줄바꿈이 없어도 자동 줄바꿈이 됨. pre-line : 공백을 여러개 넣어도 1개만 표시. 코드에 줄바꿈이 없어도 자동 줄바꿈이 되며, 코드에 줄바꿈이 있을 때도 그대로 표시 속성 새로운 줄 공백과 들여..

IT/CSS 2016.02.09

[CSS] 텍스트 줄바꿈 속성 word-break

word-break word-break : 글(text)이 길어질 때 줄바꿈을 어떻게 할지 지정하는 속성 word-wrap은 비아시아 언어의 줄바꿈을 제어한다면word-break는 아시아, 비아시아 언어의 줄바꿈을 모두 제어할 수 있습니다. word-break 속성값normal: 기본값으로, 일반적인 규칙에 따라 줄바꿈 함 break-all: 문자를 강제로 줄바꿈 할 수 있음. 아시아 언어(CJK)에서 사용할 때는 normal처럼 행동하며 비 아시아 언어에 사용할 때는 임의대로 줄바꿈 할 수 있음. keep-all: 문자 쌍 사이에서 줄바꿈이 금지 비 아시아 언어에 사용될 때는 normal처럼 행동함.※ width나 hieght값을 지정해야 한다. ex)

IT/CSS 2016.02.09

[Linux]리눅스 본딩 설정(Bonding)

Linux 본딩 설정하기 본딩이란?한대의 서버에 여러개의 랜카드를 이용하여 대역폭 또는 예비 회선으로 사용할 수 있도록 하는 전송 속도의 분배및 대비책으로 사용하기 위한 기술입니다. 윈도우에서는 티밍(teaming)이라고 불리우기도 하는 기술입니다. Bonding 종류 Mode 0 (balance-rr) balance-round robine ( 2개의 NIC을 순차적으로 분배 + Fault Tolerance) 회선이 2회선일 경우 트래픽을 같이 사용할 수 있어 대역폭을 분산시키는데 효율적입니다. [ A nic -> B nic -> A nic -> B nic 순] 으로 패킷을 분산 시키는 방법입니다. 또한, 장애허용으로 인하여, 한쪽 네트워크에 단절이 오더라도 이를 보안하는 기능이 존재 합니다.Mode 1..

IT/Linux 2014.12.22

[리눅스] 모듈 설정 및 확인

insmod, rmmod, lsmod, modprobe 1. insmod : 모듈 적재, 커널 디렉토리를 뒤져서 해당 모듈을 적재한다.형식 : insmod [옵션] [오브젝트파일]옵션 : -k : autoclean 을 사용하여 적재 2. rmmod : 모듈 삭제형식 : rmmod [옵션] [모듈]옵션 : -r 의존관계에 있는 모듈을 한번에 삭제 3. lsmod : 적재된 모듈 출력(/proc/modules 를 참조한다)형식 : lsmod [옵션]옵션 : -V : lsmod 버젼 출력 4. modprobe : 모듈 적재, depmod에 의해 갱신된 modules.dep에서 찾아 적재한다. insmod와 달리 해당 커널 디렉토리로 갈 필요없이 아무위치에서나 모듈을 적재할 수 있다. 또한 의존성이 필요한 모듈..

IT/Linux 2014.04.03

JSON (제이슨, JavaScript Object Notation)

JSONJSON이란 무엇인가? 어떻게 읽으면 되나? JSON ( /ˈdʒeɪsən/) 제이선이라고 읽으면 되겠다. 무엇을 줄인 말이냐? JavaScript Object Notation이라는 이름에서 알 수 있듯이 자바스크립트를 위한 것이고 객체 형식으로 자료를 표현하는 것이다. 이거 프로그래밍 언어냐? 사방 팔방에 JSON이라는 게 등장하고 각종 사용방법이 나오고 어려워 보이지만 JSON 자체는 정말 별거 아니다. JSON 그자체는 단순히 데이터 포맷일 뿐이다. 어떠한 통신 방법도, 프로그래밍 문법도 아닌 단순히 데이터를 표시하는 표현 방법일 뿐이다. 간단한 데이터를 xml보다 좀 더 간단하게 표현하기 위해 만든 것이다. XML보다 기능이 적기 때문에 파싱도 빠르고 간단하기 때문에 클라이언트 사이드에서,..

IT/JAVA 2013.11.20

[Nginx] LuaJIT 이란??

luajit 는 루아의 기능에 JIT 컴파일 기능을 추가하려는 계획으로 구성된 Mike Pall 이 구성한 프로젝트이다. 기본 구성은 루아 코드를 사용하지만, 동적으로 루아 코드를 파싱하는 방안이 아닌 x86또는 x64에 호환 가능한 코드로 구성된 코드로 변환하여 실행하는 방안으로 되어있다. 즉, 일반 루아와는 다르게 성능의 차이가 크다. 세부 코드를 보면 x86/x64 계열에서 사용하는 어셈블리 사용하게 되어 있고, 이는 DynASM 이라는 네이티브 코드 생성 엔진을 사용하게 되어 있다. 이는 ocamlc/mono 등에서 사용하는 방안이기도 한데, 모든 CPU와 OS에서 적용할 수는 없으며 특정한 환경에서만 사용 가능하다. 개인이 구성한 프로젝트로는 매우 훌륭한 컨셉의 프로젝트이고, 장기적으로 오픈 소..

IT/Nginx 2013.11.20

[Linux] MySQL DB 저장 위치 변경 하기

MySQL 사용을 하다보면 DB 데이터 축적에 따른 파일 시스템 사용 공간 이 부족하게 되는데 이것을 위해 처음 설치 후 DB 저장 위치를 다른 파티션으로 변경 할 수 있다. 예로 저장 위치가 /bum/mysql/data 라고 가정하자. 이것을 /data/ 의 위치로 변경 하고자 한다. 1. mysqld를 중지 한다. /etc/init.d/mysqld stop 2. DB 폴더를 변경하고자 하는 위치로 옮긴다. cp -r /bum/mysql/data /data 3. 이동한 DB폴더 권한을 변경 한다. chown -R mysql.mysql /data 4. /etc/mysql/my.cnf 파일을 열어 아래와 같이 항목 수정을 한다. datadir=/bum/mysql/data --> datadir=/data 5..

IT/MYSQL 2013.02.08

[리눅스] Linux 보안 설정 SSH 특정 계정 접속 제한

1. root , 특정 사용자 접근제어 리눅스 시스템에 필요한 사용자 접근에 부분에 있어서는 제어할수 있는 방법은 다양하게 존재 한다. ssh로 접근하는 사용자의 경우 /etc/ssh/ sshd_config 파일에서 처리할수 있으나. PAM 모듈을 이용하여 특정 사용자에 대한 접근을 막을수 있는 방법으로 아래와 같이 소개한다. [root@localhost]# vi /etc/ssh/sshd_config #PermitRootLogin yes PermitRootLogin no -> root로 접속을 막고 일반 사용자로 접속하여 시스템에 접속할수 있도록 설정한다. [root@/etc/pam.d]# vi /etc/pam.d/sshd #%PAM-1.0 auth required pam_listfile.so item=..

IT/Linux 2012.12.27

parted 쉘스크립트

#!/bin/bash ### make by KimKB ### ### echo "###### mkdir ##############################################################" num=1 num2=10 echo " 장치명 /dev/xxx(뒤에 sdb,sdc 등.. 글자만 입력)???" read dev echo " 마운트 할 디렉토리 명(data,media : /없이 입력)??" read dr echo " 위 디렉토리 생성시 마지막 디렉토리의 숫자 입력 ex) /data60까지면, 입력 값 : 60" read num3 echo " 파일 시스템 타입을 적어 주세요(ext2,ext3,ext4)???" read fs echo " 디렉토리 생성 및 /etc/fstab 마운트..

[Linux] 리눅스 매직키 사용 하기

리눅스의 매직키란? 매직키는 시스템을 LOCK 하지 않은 상태 에서 시스템이 어떤 작업을 하는 중이라도 커널이 반응하는 키이다. 리눅스 시스템이 로드 부하로 인하거나 반응이 없을때 (키값이 인식이 안된다.) 강제 리부팅(POWER 버튼)을 하여 리부팅 하게 되는데 이러한 조치는 테이터 손실 뿐만 아니라 파일시스템에도 손상을 입히게 된다.(정상적인 종료시 언마운트 후 리부팅) 리눅스 시스템의 이상이나 , 오작동으로 시스템의 키보드 입력이 제대로 되지 않을때 커널의 옵션 중 매직키는 시스템을 안전하게 재부팅 할 수 있는 유용한 커널 옵션이다. (윈도우로 따지자면 작업 관리자) 리눅스 매직키 활성화 시키기 리눅스의 매직키는 커널의 기능이므로 커널의 옵션을 사용 하여 커널 컴파일을 해야 한다. 시스템에서 매직키..

IT/Linux 2012.11.22

[Linux] 1TB 이상 파티션 나누기, Parted

일반 적으로 파티션을 나누기 위해 fdisk를 많이 사용 하는데 fdisk로 파티션을 나누는 데는 최대 1.1TB 밖에 지원하지 못한다. 하여 우리는 서버를 사용하게되면 일반적으로 여러개의 디스크를 RAID로 묶어 사용하는데 이렇게 되면 리눅스 상에서 우리가 원하는 파일시스템으로 나누어 사용 할때 fdisk가 먹히지 않는 다는 것을 알 수가 있다. 그리하여 사용되는 프로그램 parted에 대해 알아 보자 parted 란?? parted에 관한 정보를 알기 위해서 man 페이지를 보았다. GNU Parted 는 파티션 관리 프로그램이다. parted 는 파티션 관리 , 크기 변경 프로그램이다. parted는 파티션 생성, 삭제, 용량변경, 이동, 복사 를 지원한다. ext3, ext2, linx-swap,..

IT/Linux 2012.11.07
반응형