728x90 분류 전체보기502 [CQRS 아는 척하기] CQRS 구현 형태 https://www.youtube.com/watch?v=H1IF3BUeFb8&list=PLwouWTPuIjUgr29uSrSkVo8PRmem6HRDE&index=4 CQRS(Command Query Responsibility Segregation) 구현 형태 명령과 쿼리 모델이 한 프로세스에 있는지 다른 프로세스에 있는지 같은 DB를 사용하는지 다른 DB를 사용하는지 구현: 같은 프로세스, 같은 DB 가장 단순 명령/쿼리 동일 데이터 보장 구현: 같은 프로세스, 같은 DB, 다른 테이블 명령과 쿼리가 코드 수준에서 분리 되고 데이터 수준에서도 분리되는 방식 단 데이터가 같은 DB에 있는 형태 쿼리 전용 테이블 사용 예: 최근 조회수 많은 글 목록을 별도 테이블로 따로 저장 쿼리 모델은 이 테이블을 이용해.. Programming 2021. 1. 5. [CQRS 아는 척하기] CQRS의 기본 개념 https://www.youtube.com/watch?v=xf0kXMTFJm8&list=PLwouWTPuIjUgr29uSrSkVo8PRmem6HRDE&index=5 CQRS(Command Query Responsibility Segregation) Command Query (명령과 쿼리) 명령 시스템 데이터 변경 기능 예 주문취소, 배송완료 쿼리 시스템 데이터 조회 기능 예 주문 목록 Responsibility Segregation (책임 분리) 책임 구성 요소의 역할 구성 요소 (모델) 클래스, 함수 모듈/패키지 웹서버/DB 분리 역할에 따라 구성 요소 나누기 CQRS 란? 명령(시스템 데이터 변경) 역할을 수행하는 구성 요소와 쿼리(시스템 데이터 조회) 역할을 수행하는 구성 요소를 나누는 것이 CQR.. Programming 2021. 1. 5. [Apache kafka 조금 아는 척하기] 카프카 컨슈머 https://www.youtube.com/watch?v=xqrIDHbGjOY&list=PLwouWTPuIjUgr29uSrSkVo8PRmem6HRDE&index=1 컨슈머 토픽 파티션에서 레코드 조회 Properties prop = new Properties(); prop.put("bootstrap.servers","localhost:9092") prop.put("group.id","group1"); // group.id 지정 prop.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer"); prop.put("value.serializer", "org.apache.kafka.common.serialization.Str.. 개발강의정리/DevOps 2021. 1. 5. [Apache kafka 조금 아는 척하기] 카프카 프로듀서 https://www.youtube.com/watch?v=geMtm17ofPY&list=PLwouWTPuIjUgr29uSrSkVo8PRmem6HRDE&index=2 프로듀서 토픽에 메시지 전송 토픽, 키, 값 프로듀서를 사용해서 메시지를 보내는 코드 // Properties를 통해서 ack, batch사이즈 등의 설정 함 Properties prop = new Properties(); prop.put("bootstrap.servers", "kafka01:9092,kafka01:9092,kafka01:9092"); prop.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer"); prop.put("value.serial.. 개발강의정리/DevOps 2021. 1. 5. [Apache kafka 조금 아는 척하기] 카프카란? https://www.youtube.com/watch?v=0Ssx7jJJADI&list=PLwouWTPuIjUgr29uSrSkVo8PRmem6HRDE&index=3&t=4s 카프카란? https://kafka.apache.org 고성능 분산 이벤트 스트리밍 플랫폼 Fortune 100개 기업 기준으로 80%이상이 kafka 를 사용하고 있음 제조, 은행, 통신 등 다양한 업종에서 높은 비율로 사용중 국내에서도 큰 회사들은 많이 사용하고 있음 기본구조 카프카 클러스터 메세지를 저장하는 저장소 하나의 여러개의 브로커(각각의 서버)로 구성이 됨 브로커들이 메세지를 나눠서 저장, 이중화 처리, 장애가 나면 대체 함 데이터를 이동하는데 필요한 핵심 역할을 맡음 주키퍼 클러스터(앙상블) 카프카 클러스터 관리 카프카.. 개발강의정리/DevOps 2021. 1. 5. [이것이 코딩 테스트다 with Python] 41강 개발형 코딩 테스트 youtube.com/watch?v=4u6tndiG7Iw&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=41 개발형 코딩 테스트 정해진 목적에 따라서 동작하는 완성된 프로그램을 개발하는 것을 요구하는 코딩 테스트 유형 일부 기업은 해커톤을 통해 채용을 진행한다 해커톤(Hackathon)이란 단기간에 아이디어를 제품화하는 프로젝트 이벤트이다 대개 1~2일 정도 진행되며 다수의 해커톤이 대회 형식을 빌려 해커톤이 끝나면 만든 프로그램을 시연하고 발표한 다음 채점을 진행한다 개발형 코딩 테스트는 분야에 따라 상세 요구사항이 다를 수 있다 예시 1) 모바일 클라이언트 개발: 안드로이드, iOS 앱 개발 예시 2) 웹 서버 개발: 스프링(Spring), 장고(Django) 등의.. CodingTest 2021. 1. 5. [이것이 코딩 테스트다 with Python] 40강 구간 합 빠르게 계산하기 https://www.youtube.com/watch?v=kqyHnoriStk&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=40 구간 합 (Interval Sum) 구간 합 문제: 연속적으로 나열된 N개의 수가 있을 떄 특정 구간의 모든 수를 합한 값을 계산하는 문제 예를 들어 5개의 데이터로 구성된 수열 {10, 20, 30, 40, 50}이 있다고 가정하자 두 번째 수부터 네 번째 수까지의 합은 20 + 30 + 40 = 90이다 구간 합 빠르게 게산하기: 문제 설명 𝑁개의 정수로 구성된 수열이 있다 𝑀개의 쿼리(Query)정보가 주어진다 각 쿼리는 𝐿𝑒𝑓𝑡와 𝑅𝑖𝑔ℎ𝑡으로 구성된다 각 쿼리에 대하여 [𝐿𝑒𝑓𝑡,𝑅𝑖𝑔ℎ𝑡] 구간에 포함된 데이터들의 합을 출력해야 .. CodingTest 2021. 1. 4. [이것이 코딩 테스트다 with Python] 39강 투 포인터 https://www.youtube.com/watch?v=ttLRltNDiCo&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=39 투 포인터 (Two Pointers) 투 포인터 알고리즘은 리스트에 순차적으로 접근해야 할 때 두 개의 점의 위치를 기록하면서 처리하는 알고리즘을 의미한다 흔히 2, 3, 4, 5, 6, 7번 학생을 지목해야 할 때 간단히 '2번부터 7번까지의 학생'이라고 부르곤 한다 리스트에 담긴 데이터에 순차적으로 접근해야 할 때는 시작점과 끝점 2개의 점으로 접근할 데이터의 범위를 표현할 수 있다 특정한 합을 가지는 부분 연속 수열 찾기: 문제 설명 N개의 자연수로 구성된 수열이 있다 합이 M인 부분 연속 수열의 개수를 구하라 수행 시간 제한은 O(N.. CodingTest 2021. 1. 4. [이것이 코딩 테스트다 with Python] 38강 에라토스테네스의 체 https://www.youtube.com/watch?v=9rLFFKmKzno&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=38 다수의 소수 판별 하나의 수에 대해서 소수인지 아닌지 판별하는 방법을 알아보았다 하지만 특정한 수의 범위 안에 존재하는 모든 소수를 찾아야 할 때는 어떻게 할까? 에라토스테네스의 체 알고리즘을 사용할 수 있다 에라토스테네스의 체 알고리즘 다수의 자연수에 대하여 소수 여부를 판별할 때 사용하는 대표적인 알고리즘이다 에라토스테네스의 체는 N보다 작거나 같은 모든 소수를 찾을 때 사용할 수 있다 에라토스테네스의 체 알고리즘의 구체적인 동작 과정은 다음과 같다 2부터 𝑁까지의 모든 자연수를 나열한다 남은 수 중에서 아직 처리하지 않은 가장 작은 수.. CodingTest 2021. 1. 4. [이것이 코딩 테스트다 with Python] 37강 소수 판별 알고리즘 https://www.youtube.com/watch?v=CyINCmJPjfM&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=37 기타 알고리즘 소수 (Prime Number) 소수란 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 자연수로는 나누어떨어지지 않는 자연수이다 6은 1, 2, 3, 6으로 나누어떨어지므로 소수가 아니다 7은 1과 7을 제외하고는 나누어떨어지지 않으므로 소수이다 코딩 테스트에서는 어떠한 자연수가 소수인지 아닌지 판별해야 하는 문제가 자주 출제된다 소수의 판별: 기본적인 알고리즘 (Python) # 소수 판별 함수(2이상의 자연수에 대하여) def is_prime_number(x): # 2부터 (x - 1)까지의 모든 수를 확인하며 for i.. CodingTest 2021. 1. 4. [이것이 코딩 테스트다 with Python] 36강 위상 정렬 4https://www.youtube.com/watch?v=xeSz3pROPS8&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=36 위상 정렬 사이클이 없는 방향 그래프의 모든 노드를 방향성에 거스르지 않도록 순서대로 나열하는 것을 의미 예시) 선수과목을 고려한 학습 순서 설정 위 세 과목을 모두 듣기 위한 적절한 학습 순서는? 자료구조 → 알고리즘 → 고급 알고리즘 (O) 자료구조 → 고급 알고리즘 → 알고리즘 (X) 진입차수와 진출차수 진입차수(Indegree): 특정한 노드로 들어오는 간선의 개수 진출차수(Outdegree): 특정한 노드에서 나가는 간선의 개수 위상 정렬 알고리즘 큐를 이용하는 위상 정렬 알고리즘의 동작 과정은 다음과 같다 진입차수가 0인 모든 .. CodingTest 2021. 1. 4. [이것이 코딩 테스트다 with Python] 35강 크루스칼 알고리즘 https://www.youtube.com/watch?v=Gj7s-Nrt1xE&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=35 신장 트리 그래프에서 모든 노드를 포함하면서 사이클이 존재하지 않는 부분 그래프를 의미한다 모든 노드가 포함되어 서로 연결되면서 사이클이 존재하지 않는다는 조건은 트리의 조건이기도 하다 최소 신장 트리 최소한의 비용으로 구성되는 신장 트리를 찾아야 할 때 어떻게 해야 할까? 예를 들어 N개의 도시가 존재하는 상황에서 두 도시 사이에 도로를 놓아 전체 도시가 서로 연결될 수 있게 도로를 설치하는 경우를 생각해 보자 두 도시 A,B를 선택했을 때 A에서 B로 이동하는 경로가 반드시 존재하도록 도로를 설치한다 크루스칼 알고리즘 대표적인 최소 신장.. CodingTest 2021. 1. 4. 이전 1 ··· 8 9 10 11 12 13 14 ··· 42 다음 💲 추천 글 728x90