전체 글
-
CamelBackEnd/Event Streaming 2023. 3. 19. 13:49
Kafka 와 함께 사용하던 Camel 🤔 Camel ?System Integrations를 위한 자바 프레임 워크Enterprise Intergration patterns 기반 오픈소스 통합 프레임워크 ConceptsMessage : 경로로 전송되는 데이터를 포함 (고유한 식별자가 있으며 본문/ 머리글/ 첨부파일로 구성)Exchange : 메세지의 컨테이너 - 메세지가 라우팅 프로세스 중 consumer에 의해 수신될때 만들어짐 - 시스템간 다른 유형의 상호작용 허용 - 단방향 메세지, 요청-응답 메세지 정의 - 대화상태를 포함(홀더객체) - 속성 및 flag, MEP(Message Exchange Pattern), InOnly/InOut를 포함 - 속성은 String key와 Object 값으로 ..
-
KafkaBackEnd/Event Streaming 2023. 3. 19. 13:12
실무에서 사용하던 개념들 정리..! 1. Apache Kafka? Apache Kafka 개요실시간 기록 스트림을 게시/구독/저장 및 처리할 수 있는 데이터 분산 스트리밍 플랫폼 대용량 실시간 로그처리에 특화되어 있는 솔루션Fault-Tolerant : 안정적인 퍼포먼스범용메시징 시스템 : 메세지를 파일시스템에 저장단순한 메세지 헤더를 지닌 TCP기반의 프로토콜을 사용(프로토콜로 인한 오버헤드 감소) Apache Kafka 특징Publisher - Subscriber Model : 데이터 큐를 중간에 두고 서로 간 독립적으로 데이터를 생산하고 소비 의존성이 없으르모 publishers나 subscriber가 죽어도 안정적으로 데이터를 처리할 수 있음고가용성 및 확장성 : 클러스터로서 작동하므로 Fault..
-
AWS (Amazon Web Services)DevOps/AWS 2023. 3. 18. 20:34
Linux에 이어 서버배포 Ubuntu 환경구축에 활용했던 AWS 설정 및 배포과정에 대해 남겨두려 한다. 포트폴리오를 한창준비할때는 서버를 올려놓았으나, 취업후 kill..! (프리티어로 진행했었으나 관리를 지속적으로 못할것 같아 서버를 닫았다.) 이때 공부했던 정보들은 실무에서도 많은 도움이 되었다 😮 1. AWS (Amazon Web Services) Amazon에서 개발한 Cloud Computing Platform network 기반으로 가상 컴퓨터, 스토리지, 인프라 등 서비스 제공 컴퓨팅 (EC2 service) , networking, storage, authority, security, application Service 제공 Cloud Computing Concepts IaaS (Inf..
-
LinuxArchitecture/Infrastructure 2023. 3. 18. 18:10
Mac Terminal를 사용하던 중 2년전 포트폴리오를 준비하여 AWS 서버에 Oracle 및 Java 환경을 구축하려 애쓰던 기억이 떠올랐다. 다행히도 당시에 명령어를 정리해 놓은 내용이 남아 있었고 올해 Blog를 시작하며 그동안 정리해 놓은 텍스트들을 올릴 예정이다. 새롭게 알게되는 내용들을 게시물에 계속 업데이트하려고 한다. (너무 간략하게 적어놔서 디테일이 떨어진다 😅) 1. Linux 개요Linus Tovalds에 의해 개발됨 (open source 개념의 시작)서버구축이 주요 목적 : cloud service 대부분이 linux (aws)멀티 유저 운영체제 : 하나의 Server를 여러사람이 사용 (권한 및 보안관리가 중요)Ubuntu Server : Radhat 계열의 Linux ..
-
Modern JavaScript npm & ModuleFrontEnd/Node.js 2023. 3. 16. 02:06
1. npm (node package manager) 모듈 : Application을 구성하는 개별적 요소 (일반적으로 파일단위로 분리, 필요에 따라 로드) 모듈별(기능별)로 분리되어 있을시 개발효율성과 유지보수성 향상 (javascript은 부재) RequireJs : AMD 방식으로 비동기적으로 동작하는 모듈로더 Node.js는 CommonJS 방식을 따름 CLI (Command line interface) : Node.js에서 사용할 수 있는 모듈들을 패키지화하여 모아둔 저장소 역할, 패키지설치 및 관리 역할 package.json : 프로젝트 정보와 패키지의 의존성을 관리, 해당파일로 팀내에 동일한 배포환경을 빠르게 구축할 수 있음 //macOS의 경우 전역에 설치된 패키지 경로 : /usr/lo..
-
Modern JavaScript Node.jsFrontEnd/Node.js 2023. 3. 14. 23:31
1. Node.js 개요 Chrom V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임환경(Runtime Environment)로 주로 Server Side에서 사용되는 Software Platform 외부 환경에서 자바스크립트 애플리케이션 개발에 사용되며 모듈, 파일시스템, HTTP 등 Built-in API 제공 Non-blocking (웹동작 대기시간이 적음) I/O와 단일 스레드 이벤트 루프를 통해 높은 Request 처리 성능을 가짐 실시간 처리가 빈번한 I/O가 발생하는 SPA에 적합하지만, CPU 사용률이 높은 Application에는 권장하지 않음 Socket.io를 통해 실시간 통신을 실행하는 라이브러리 사용 (대량의 데이터처리, 실시간통신) 2. 설치 Node.js 웹사이트(http:..
-
Modern JavaScript TypeScriptFrontEnd/TypeScript 2023. 3. 11. 17:46
Typescript superset 1. TypeScript 배경 JavaScript 태생적 한계 : Prototype-based Object Oriented Language, Scope/This, 동적타입언어 TypeScript는 Transpiler를 사용하지 않아도(Babel) ES6기능을 자바스크립트 엔진(브라우저/Node.js)에서 사용 가능 2. TypeScript 장점 정적타입 : 명시적인 설정은 코드 가독성을 높여 디버깅이 쉬워짐 //Parameter에 타입을 정의 function sum(a: number, b: number) { return a + b; } sum('x', 'y'); // error TS2345: Argument of type '"x"' is not assignable to..
-
Modern JavaScript REST API / SPAFrontEnd/JavaScript 2023. 3. 4. 15:49
1. REST (Representational State Transfer) URI에 정보의 자원 표시 (동사보다 명사 사용), ex. GET /todos/1 자원에 대한 행위는 HTTP Method로 표현 (GET, POST, PUT, DELETE 등) ex. DELETE / todos/1 Method Action Role PayLoad GET index/retrieve 모든/특정 리소스를 조회 x POST create 리소스를 생성 ○ PUT replace 리소스의 전체를 교체 ○ PATCH modify 리소스의 일부를 수정 ○ DELETE delete 모든/특정 리소스를 삭제 x 2. REST 구성 자체 표현 구조 구성요소 내용 표현방법 Resource 자원 HTTP URI Verb 자원에 대한 행위..