본문 바로가기

728x90
반응형

Major-

(863)
MVC -> MSA MVC에서 MSA로의 마이그레이션은 단순한 아키텍처 변경이 아니라, 시스템 구조 전반을 재설계하는 작업입니다. 이 과정은 기존에 모놀리식 아키텍처로 구성된 시스템을 마이크로서비스 아키텍처(MSA)로 전환하는 작업이기 때문에 많은 요소들이 필요하고, 각 단계에서 신중히 고려해야 할 부분이 많습니다.1. MSA로의 마이그레이션을 위한 기초 지식MVC (Model-View-Controller)와 MSA (Microservices Architecture)의 차이MVC (Model-View-Controller):모놀리식 애플리케이션의 한 형태로, 시스템의 모든 기능이 단일 애플리케이션 내에서 동작합니다.모든 요청은 동기적으로 처리되며, 애플리케이션은 하나의 서버에서 관리됩니다.장점: 개발 초기에는 빠르게 개발할 ..
메시지 브로커의 레디스, 이벤트 브로커의 카프카 이벤트 브로커(Event Broker)와 메시지 브로커(Message Broker)는 기능적으로 유사한 개념이지만, 용도와 초점이 약간 다릅니다. Kafka와 Redis는 각각 특정 목적에 최적화되어 있기 때문에, 이 두 가지 역할을 수행하는 방식에서 차이가 있습니다. 이를 통해 Kafka와 Redis의 차이점도 명확히 이해할 수 있습니다.이벤트 브로커(Event Broker)개념이벤트를 기반으로 데이터를 전달하고, 이벤트 로그를 저장하거나 스트리밍하는 역할을 합니다.이벤트는 상태의 변경 또는 특정 작업의 발생을 나타냅니다.예: 사용자 클릭, 주문 생성, 결제 완료 등.이벤트 브로커는 보통 이벤트를 생성하고, 저장하며, 소비자에게 전달하는 기능을 모두 포함합니다.특징이벤트 스트리밍:이벤트 데이터가 지속적..
Numpy NumPy는 강력한 수치 계산 라이브러리로, 다양한 기능을 제공합니다. 여기서는 NumPy의 주요 메서드와 기능들을 정리하였습니다. NumPy는 주로 배열 생성, 배열 조작, 수학적 연산 및 선형 대수, 통계, 그리고 파일 입출력 관련 메서드를 포함하고 있습니다.1. 배열 생성numpy.array(): 배열 생성.numpy.zeros(): 모든 요소가 0인 배열 생성.numpy.ones(): 모든 요소가 1인 배열 생성.numpy.empty(): 초기화되지 않은 배열 생성.numpy.arange(): 주어진 범위의 값으로 배열 생성.numpy.linspace(): 주어진 구간을 등간격으로 나누어 배열 생성.numpy.eye(): 단위 행렬 생성.numpy.random.rand(): 균등 분포에서 랜덤 배..
파이썬 알고리즘 파이썬 자바 차이점개념자바파이썬주의할 점변수 선언int a = 5;a = 5파이썬은 타입을 명시하지 않음.자료형String, int, double 등str, int, float 등자료형 변환 시 명시적으로 변환해야 함.배열 및 리스트int[] arr = new int[5];arr = [0] * 5파이썬의 리스트는 동적 크기.반복문for (int i = 0; i for i in range(n):파이썬의 range()는 마지막 숫자는 포함하지 않음.조건문if (a > b) {}if a > b:중괄호 대신 콜론과 들여쓰기를 사용.클래스 정의class MyClass {}class MyClass:self를 첫 번째 매개변수로 명시해야 함.메서드 정의void myMethod(int a) {}def my_method..
Clean Architect (1) 프로그래밍 패러다임 소프트웨어 아키텍처의 목표-필요한 시스템을 만들고 유지보수하는 데 투입되는 인력의 최소화아키텍처와 설계-고수준의 구조(결정사항)과 저수준의 세부사항아키텍처는 구현과 측정을 통해 증명해야 가는 가설이다.-톰 길브행위와 구조-프로그래머가 지켜야할 두 가지 가치소프트웨어 존재 가치-기계의 행위를 쉽게 변경하기 위함-필요조건 :(1) 변경 범위에 비례- 모듈화, 캡슐화(정보은닉)(2) 변경사항의 행태에는 영향을 받지 않아야함- TDD개발자가 이해관계자로서 지켜야할 가치-긴급하지 않지만 중요한-긴급하지만 중요하지 않은의 투쟁에서 아키텍처의 중요성이라는 가치를 지키는 것프로그래밍 패러다임1. 구조적 프로그래밍- 제어흐름의 직접적인 전환에 대한 규칙 부과-> 조건에 따라 실행흐름 직접 제어2. 객체지향 프로그래밍- ..
리액트2 - 스타일 https://styled-components.com/ Age" data-og-host="styled-components.com" data-og-source-url="https://styled-components.com/" data-og-url="https://styled-components.com/" data-og-image="https://scrap.kakaocdn.net/dn/nSgww/hyWKwAyfhu/QlMdJ7QqKkkEt2K1j8ugTK/img.png?width=652&height=652&face=0_0_652_652,https://scrap.kakaocdn.net/dn/bBcxq0/hyWKvhm1iY/AUW05CkfWGKuZJX3zBzTaK/img.png?width=652&height=6..
리액트-1 (데이터 변경 감지해 UI를 동적으로 렌더링하는 엔진) https://reactjs-kr.firebaseapp.com/docs/installation.html기존의 뷰 프로세스 [CSR]1. 요청 -> view(html) -> 화면을 전달하면 브라우저가 렌더링 [전체 변경]2. view -> 자바스크립트의 비동기 요청 -> ajax를 통해 부분 변경-> json으로 응답 -> 응답받은 데이터를 이용해 렌더링 [부분 변경]3. 복잡한 화면일수록 부분 변경이 어렵다. [성능과 구현 측면에서][SSR]-> 부분변경 x -> ajax -> html -> 그림그리기리액트: ajax -> 데이터 변경감지 -> UI가 자동 업데이트 [옵저버 패턴]*npm, npx(1) npm 프로젝트별로 라이브러리 관리 / 모든 프로젝트가 공유하도록 사용도 가능 (여러 버전 사용 불가능..
Nest.js 클라이언트/서버 구조를 구현하기 위해 사용하는 프로토콜 혹은 아키텍쳐REST API웹 소켓RPCGraphQLREST API, 웹소켓, RPC, GraphQL은 모두 서버와 클라이언트 간의 통신을 위해 사용되는 프로토콜이나 아키텍처입니다. 각기 다른 장단점과 사용 사례가 있습니다. 아래에서 각각의 차이점을 설명하겠습니다.REST API (Representational State Transfer)아키텍처 스타일: 클라이언트와 서버 간의 상태 정보를 주고받는 구조. 자원(Resource)을 URI로 표현하며, HTTP 메서드(GET, POST, PUT, DELETE)를 사용하여 자원을 처리.데이터 형식: 주로 JSON이나 XML을 사용.장점:표준화된 HTTP 프로토콜 사용.캐시를 통해 성능 향상 가능.stat..

728x90
반응형