All. 23

Top 5 Most Used Architecture Patterns

Layered Architecture 이 패턴은 시스템의 컴포넌트(구성 요소)를 별개의 계층으로 분리. 주로 Presentation Layer, Business Layer, Database Layer로 구분. 예로, 사용자 인터페이스 설계시, 우리는 MVP(Model-View-Presenter) 패턴을 볼수 있음. Layered Architecture(계층 구조)의 주된 목표는 한 계층의 변화가 다른 계층에 부정적인 영향을 미치지 않도록 분리하는 것입니다. 이 아키텍처는 각각의 레이어가 고유한 책임을 갖도록하여 추상화, 캡슐화를 제공함. Event-driven Architecture 이 패턴은 느슨하게 결합된 소프트웨어 구성 요소와 서비스 간의 이벤트 생산 및 소비를 촉진합니다. 대표적인 예로 CQRS ..

Dev. 2023.12.06

Big Tech가 Production에 코드를 전송하는 방법

How Big Tech Ships Code to Production 크게 단계를 위 내용처럼 나누었다. Plan(계획) P1. 사용자 피드백, 요구사항 수집( product 팀 ) P2. 수집된 요건을 더 작은 작업 항목(work items)이나 사용자 이야기로 생성( product & engineering 팀 ) Development D1. P2 단계에서 생성된 항목에 대해 sprint 미팅에서(1~2주기간) 개발자가 pick up (좀더 규모가 큰 프로젝트에서는 작업이 여러번의 스프린트를 통해 수행될수도 있음. 엔지니어링 관리자 또는 tech 리더가 팀 역량의 균형을 맞추기 위해 스프린트 전반에 걸쳐 항목의 우선순위를 정하고 순서 결정) D2. Sprint가 계획되면, 개발 착수. 이때 규모가 있다면..

Dev. 2023.11.30

#1. 나만의 앱 만들기

Step 1. Data source 입수하기 -> 현재 막연히 생각하고 있는 앱이 실현 가능한지 어려운지 판단하기 위해, 데이터를 스크래핑 해서 가져올수 있는지를 알아보자 To-do List 작성하기 Data source 입수를 위해 Scraping 해서 데이터를 가져오는 프로그램을 작성해보자 -> 완료 이를 DB에 적재해보자 관련 API 까지 작성해보자 How to? -> 노마드코더 웹 스크래퍼 만들기 클론코딩 해보기 https://nomadcoders.co/ 노마드 코더 Nomad Coders 코딩은 진짜를 만들어보는거야!. 실제 구현되어 있는 서비스를 한땀 한땀 따라 만들면서 코딩을 배우세요! nomadcoders.co 23/6/2(금) Start! 실제 앱 개발을 위해서는 굳이 백엔드 구성 없이 ..

Dev./Mobile 2023.06.02

Flux, WebFlux, Spring WebFlux 개념 정리

📌 1. Flux 란? 리액티브 프로그래밍 모델을 따르는 자바스크립트 라이브러리인 리액터(Reactor) 프로젝트에서 사용되는 개념. Flux는 Pub-Sub 패턴을 기반으로 하며, 데이터 스트림을 처리하는데 사용된다. 데이터를 스트림으로 처리하는데 적합한 API를 제공하며, 데이터를 처리하는 방법을 정의하는 함수형 인터페이스를 제공. Flux는 일반적으로 비동기 방식으로 데이터를 처리하기에, 블로킹이 발생하지 않고 더 효율적으로 데이터를 처리할 수 있다. 🎯 Flux 아키텍쳐란? 단방향 데이터 흐름을 통해 보다 예측가능한 상태를 관리할 수 있는 클라이언트 사이드 웹 어플리케이션 아키텍쳐 📌 2. WebFlux란? WebFlux 란 client, server 에서 reactive 스타일의 어플리케이션의 ..

Dev./Framework 2023.03.29

Apache Kafka(KRaft) 구성하기 - 2(Produce/Consume 까지)

Step 3 : CREATE A TOPIC TO STORE YOUR EVENTS 카프카는 분산 이벤트 스트리밍 플랫폼으로 많은 기기들 사이에서 이벤트에 대해 읽고, 쓰고, 저장하고, 처리를 가능하게 해준다. 이벤트 들은 토픽에 저장된다. 줄여서, 토픽은 파일시스템의 폴더와 유사하고, 이 이벤트들은 폴더 안의 파일들이라 볼수 있다. 그럼, 첫번째 이벤트를 적기위해, 토픽을 생성해보자. 먼저 Kafka를 기동한 것과 다른 터미널 하나를 키고 수행시켜보자. bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server sd-kafka:9092 #토픽 생성 후 해당 정보를 확인하려면 describe 옵션을 써보자 bin/kafka-topics..

카테고리 없음 2023.03.05

Apache Kafka(KRaft) 구성하기 - 1(기동까지)

Step 1 : GET KAFKA 아래에서 최신 버전 카프카 다운로드(일단 최신으로 한번해보자구 ..) https://kafka.apache.org/downloads Apache Kafka Apache Kafka: A Distributed Streaming Platform. kafka.apache.org 원하는 위치로 옮긴 이후 압축 해제 tar -xzf kafka_2.13-3.4.0.tgz cd kafka_2.13-3.4.0 bin -> binary, ShellScript config -> 설정에 필요한 파일들 *server.properties libs -> binary에서 필요한 라이브러리들 추가로 data 디렉토리 생성해두자 #broker 에서 생성되는 데이터 저장을 위해 디렉토리를 미리 만들자 m..

Dev./Apache Kafka 2023.02.21

JBoss 란?

What is JBoss Application Server? JBoss 애플리케이션 서버는 Red Hat에 의해 개발된 오픈소스 미들웨어 플랫폼으로 Java 애플리케이션들과 다양한 다른 소프트웨어 애플리케이션의 구현을 위해 사용됨. 비즈니스 규모에 맞게 확장할 Java 서비스들을 빌드하고 배포할 수 있음. JBoss 애플리케이션 서버를 WildFly 10과 통합하면 메시징, HA(high-availability) 클러스터링, 분산 캐싱과 같은 기능을 구현 할 수 있음. Linux, Unix, OS X(Mac), Windows 서버 모두 Run 가능 What is Jboss EAP 6? JBoss EAP 6는 개방형 표준을 기반으로 개발된 오픈소스 미들웨어 플랫폼으로 Java EE6 인증을 받은 제품. J..

Dev./Java 2022.06.07