728x90

Server Programming 55

AWS - IAM 정책관리

IAM 유저를 관리하고 접근 레벨 및 권한에 대한 관리 접근키(Access Key) , 비밀키(Secret Access Key) 매우 세밀한 접근 권한 부여 기능 (Granular Permission) 비밀번호를 수시로 변경 가능하게 해준다. Multi-Factor Authentication(다중 인증) 기능 그룹 (Group) → 하나 혹은 다수의 유저 유저 (User) 역할 (Role) 정책 (Policy) (*) 정책은 그룹, 역할에 추가시킬 수 있다. (*) 하나의 그룹 안에 다수의 유저가 존재 가능하다. IAM은 유니버셜(Universal) 함 → 지역 설정이 필요 없음 IAM 정책 시뮬레이터 개발환경(Staging or Developer)에서 실제(Production)으로 빌드 하기전 IAM ..

OpenFlow, OpenRPA

OpenFlow와 OpenRPA는 Server Client 구조로 되어있음 websocket 및 http 프로토콜 사용 , 데이터 적재를 위해 Mongodb를 사용 여러 서버에 Job을 나눠주기 위해 Rabbit MQ를 통한 Job Queue를 구현 - Job Queue는 userid(실제 userid가 아니라 user key 값)로 queue이름이 정해져 있고 user별로 job이 분배되어 실행 -> 타 유저의 경우 다른 queue를 가지게 됨 - OpenFlow -> Rabbit MQ를 이용해 RPA Agent들에 일을 시키는 역할 - typescript 기반으로 제작 되었음 - Controller.ts 에서 OpenFlow 대부분의 역할 제어 - Controller.ts → OpenFlow page..

Docker 기본 사용법

Docker https://www.docker.com/ 도커 컨테이너는 일종의 소프트웨어를 소프트웨어의 실행에 필요한 모든 것을 포함하는 완전한 파일 시스템 안에 감싼다. 여기에는 코드, 런타임, 시스템 도구, 시스템 라이브러리 등 서버에 설치되는 무엇이든 아우른다. 이는 실행 중인 환경에 관계 없이 언제나 동일하게 실행될 것을 보증한다. (출처: 도커 (소프트웨어)) 설치 How To Install and Use Docker on Ubuntu 16.04 (Digitalocean) https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04 sudo 없이 사용하기 $ sudo usermod -aG..

Spring Boot - QueryDSL, JPQL, nativeQuery, Criteria

JPQL(Java Persistence Query Language) SQL을 추상화한 엔티티 객체를 조회하는 객체지향 쿼리 JPQL은 SQL을 추상화해서 특정 데이터베이스에 의존 X 예를들어 같은 SQL 함수라도 데이터베이스마다 사용 문법이 다른 것이 있는데,JPQL이 제공하는 표준화된 함수를 사용하면 선택한 방언에 따라 해당 데이터베이스에 맞춘 SQL 함수가 실행 결과 반환 함수 getResultList(리스트 반환), getSingleResult(단일 객체 반환) JPQL은 엔티티 객체를 대상으로 쿼리를 질의하고 SQL은 데이터베이스 테이블을 대상으로 쿼리를 질의한다. Member.class를 넘겨주고 getResultList() 메소드를 실행-> JPA는 JPQL을 SQL로 변환해서 데이터베이스 조..

Spring Boot - ORM, JPA, Spring data

ORM - DB에 많은 신경을쓰지 않고, OOP를 가능하게하는 프로그래밍 기법 JPA - Java ORM 기술에 대한 API 표준 명세(인터페이스) Hibernate - JPA를 사용하는 프레임워크 Spring Data JPA - JPA를 쉽게 사용하기 위해 스프링에서 제공하는 인터페이스 추상화 정도 Spring Data JPA -> JPA -> Hibernate -> Datasource(DB) 어플리케이션이 발전하면서 내부의 복잡성은 커짐. OOP는 추상화, 캡슐화, 정보은닉, 상속, 다형성 등 시스템의 복잡성을 제어할 수 있는 다양한 장치들을 제공. RDBMS는 데이터 중심으로 구조화, 집합적인 사고 필요. (추상화, 상속, 다형성 같은 개념이 없다). Object와 RDB의 패러다임 불일치. ->패..

Spring Boot - DTO, controller, service 연습

domain 하위에 5개의 Package 생성 entity repository(DAO) DTO controller service new > project Spring Initializr 선택 Project SDK : 8 java version : 8 spring Boot : 2.4.2 Dependency : JPA, Mysql, Spring Web,Lombok Lombok 자바에서 Model(DTO, VO, Domain) Object 를 만들때, 멤버필드(프로퍼티)에 대한 Getter/Setter, ToString과 멤버필드에 주입하는 생성자를 만드는 코드 등 불필요하게 반복적으로 만드는 코드를 어노테이션을 통해 줄여 주는 라이브러리 [자바] 자주 사용되는 Lombok 어노테이션 | Engineering..

Azure Key-valut를 이용한 백업 프로세스 구축

Azure Portal 에서 제공하는 key-valut 리소스를 활용하여 백업 프로세스를 구축 할 수 있다. 과정은 이러하다. Azure 접근 하기위한 power shell commend 혹은 azure portal에 browser로 접근 — az login MFA 인증까지 거친 후에 Azure Portal에 접근이 가능하다. 서버사이드에서 컨테이너형태로 서버를 운용중이라면 WAS의 역할을 수행하는 모든 Container image의 경우 백업이 필요하다 각 image는 docker로 실행이 가능하며, 수행중인 도커 명, 태그 명으로 save 한다. # docker image를 tar파일로 저장하기 위한 커맨드 docker save -o 출력파일명.tar image_name tag_name # image..

MSA 설계

Monolithic Architecture ↔ Micro Service Architecture Monolithic Architecture 전체 애플리케이션이 하나로 되어있어서 보통 동일한 개발 툴을 사용해 개발되며, 배포 및 테스트도 하나의 애플리케이션만 수행하면 되기 때문에 개발 및 환경설정이 간단함 각 컴포넌트들이 함수로 호출 되기 때문에 성능에 제약이 덜하고, 운영 관리가 용이하다. 작은 볼륨의 시스템을 개발할 때는 매우 유용하지만 시스템이 커지기 시작하고 여러 컴포넌트들이 더해지면 문제가 발생하기 시작 기능 추가시 발생하는 문제점 빌드 / 테스트 시간이 길어진다. 작은 수정이 있음에도 시스템 전체를 빌드하고, 테스트 시간도 길어진다. 선택적 확장이 불가능 트래픽이 증가할 경우에 프로젝트 전체를 확..

대신증권 API 모듈 타입 및 호출 인자 정리

대신증권에서 각 모듊별로 호출 하는 type, value가 존재하는데 가장 활용이 자주 있거나 사용해본 모듈 기준으로 정리를 해보았다.. [거래량/거래대금 상위종목] CpSysDib.CpSvr7049 object.SetInputValue(type,value) type에해당하는입력데이터를 value 값으로지정합니다 type 종류 0 - (string)시장 구분 : "1":거래소, "2":코스닥, "4":전체(거래소+코스닥) 1 - (string) 선택 구분 : "V":거래량상위, "A":거래대금상위 2 - (string) 관리 구분 : "Y'', "N" 3 - (string) 우선주 구분 : "Y'', "N" type에해당하는헤더데이터를반환합니다 type: 데이터종류0 - (short)개수 반환값: 데이터..

728x90
반응형