일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- UNICON2023
- 생활코딩
- 온라인테스트
- 인디게임
- RDS
- 티스토리챌린지
- 백엔드개발자
- EC2
- 프리티어
- 인프라
- UNICON
- 체크인미팅
- 스프링
- 백엔드
- 프로그래밍
- 자바개발자
- 게임개발동아리
- UNIDEV
- 개발공부
- 위키북스
- 스프링부트
- 오블완
- Developer
- 42서울
- 전국대학생게임개발동아리연합회
- AWS
- CICD
- 라피신
- 도커
- 배포
- Today
- Total
목록분류 전체보기 (131)
Hyun's Wonderwall
EFUB 4기 BackEnd Lead_ 도메인 주도 개발 스터디스터디 커리큘럼: 최범균, "도메인 주도 개발 시작하기: DDD 핵심 개념 정리부터 구현까지"3주차 과제: Chapter 10. 이벤트, Chapter 11. 애그리거트 트랜잭션 관리Chapter 11. CQRSKeywords: 명령 모델과 조회 모델, CQRS 장단점11.1 단일 모델의 단점시스템 상태를 변경할 때와 조회할 때 단일 도메인 모델을 사용하면 성능에 문제가 생길 수 있고 구현이 복잡하다.복잡도 낮추는 방법: 상태 변경을 위한 모델과 조회를 위한 모델을 분리하는 것.11.2 CQRS시스템이 제공하는 기능 (1) 상태 변경, (2) 상태 정보 조회.상태를 변경하는 범위와 상태를 조회하는 범위가 정확하게 일치하지 않음. 복잡도 해결을..
EFUB 4기 BackEnd Lead_ 도메인 주도 개발 스터디스터디 커리큘럼: 최범균, "도메인 주도 개발 시작하기: DDD 핵심 개념 정리부터 구현까지"3주차 과제: Chapter 10. 이벤트, Chapter 11. 애그리거트 트랜잭션 관리Chapter 10. 이벤트Keywords: 이벤트의 용도와 장점, 핸들러 디스패처와 핸들러 구현, 비동기 이벤트 처리10.1 시스템 간 강결합 문제구매 취소 및 환불 로직을 어떻게 구현해야 할까?현재까지의 코드에서는 주문 바운디드 컨텍스트와 결제 바운디드 컨텍스트 간에 강결합(high coupling)이 존재한다. 주문이 결제와 강하게 결합되어 있어 영향을 받는 것이다.이벤트를 사용하면 이런 강한 결합을 없앨 수 있다. 특히 "비동기 이벤트" -> 두 시스템 간..
모바일 AR로 카메라 기능을 구현해 3D 캐릭터와 사진을 촬영하려고 한다.유니티에 Android 모듈이 준비되어있는 상태에서 시작했다. Vuforia Engine1. 작업할 유니티 프로젝트를 준비한다.2. Vuforia 사이트에서 유니티용 SDK를 다운로드한다.(아래의 링크에서 첫번째 옵션인 "Add Vuforia Engine to a Unity Project or upgrade to the latest version"을 클릭)https://developer.vuforia.com/downloads/sdk SDK Download | Engine Developer PortalUse Vuforia Engine to build Augmented Reality Android, iOS, and UWP applica..
힙 정렬- 최악: O(nlgn)- 제자리 정렬.- Heap 자료구조 특징- Heapify(), BuildingHeap(), HeapSort()- 우선순위 큐 Heap 자료구조- 힙은 완전이진트리 (맨 마지막 level 제외 꽉 차있는 이진 트리) - 트리는 무조건 부모/자식 단일 연결. 상향: 부모, 하향: 자식.- 배열로 구현된다. (노드에 1번부터 번호 붙어있. 삽입 순서=배열 인덱스. A[0] 안쓰는 경우로 설명함.)- root 노드 A[1]- i번째 노드 A[i]: 부모 노드 A[i/2], 왼쪽 자식 노드 A[2i], 오른쪽 자식 노드 A[2i+1] Heap 용어- 노드의 height: 리프부터 노드까지의 간선 개수- 트리의 height: 루트노드의 높이- 노드의 ..
재귀적인 탐색. Binary Search: (1) 분할 (2) 정복 (3) 결합 - 피보나치 수열 Binary Search Tree: 문제는 하나, 부분 문제들로 잘려진다. - 매 단계마다 찾는 key값과 중간값이 같은지 본다. (상수번 반복이라 Θ(1)) - (1) 같 = stop (2) 작 = 왼 sub arr, (3) 큼 = 오 sub arr - 시간복잡도 Θ(lgn) BST의 점화식 T(n) = T(n/2) + Θ(1) - 부분 문제의 개수 1개므로 a=1. - 부분 문제의 크기 n/2이므로 b=2 - 결합의 시간복잡도 Θ(1) 마스터정리 case 2. Θ(lgn) # 수도 코드 BinarySearch(A[1..N], value) { if (N == 0) return -1; // not found..
4-1. Recurrence 점화식 분할정복기법1. 분할, 2. 정복, 3. 결합 T(n) = { 1 // n = 1 (base case) T(n-1) + 1 // n > 1 (recursion case)점화식의 해: T(n) = n T(n) = { 1 // n =1 2T(n/2) + n // n > 1점화식의 해: T(n) = nlgn + n 팩토리얼 예시 점화식의 관심사는 계산비용이다.T(n) = aT(n/b) + D(n) + C(n)* a개의 부분문제 (크기 n/b)* D(n): 분할하는 비용* C(n): 부분문제들의 답을 다시 결합하는 비용재귀적 알고리즘들은 점화식으로 표현될 수 있다. 점화식을 푸는 3가지 방법..
Asymptotic Analysis 점근적 분석- Order of growth가 관심사.- 이론적으로 수행 시간을 분석: n에 대한 함수로 알아낸다. 최고차항이 결정.- 시간복잡도 비교: 1 Asymptotic Notations 점근적 표기- Big-Oh, Big-Omega, Theta, small-oh, small-omega Big O: f(n) = O(g(n))이면 g(n)은 f(n)의 상한. upper bound.small o: f(n) = o(g(n))이면 f(n)은 g(n)보다 느리다Big Ω: f(n) = Ω(g(n))이면 g(n)은 f(n)의 하한. lower bound.small ω: f(n) = ω(g(n)) 이면 f(n)은 g(n)보다 빠르다.Theta Θ: f(..
재귀적 알고리즘분할 정복의 핵심 아이디어- 큰 문제를 작은 문제들로 분할한다. (상수 비율로) 상수나 변수로 - 각 작은 문제들을 재귀적으로/명시적으로 푼다- 작은 문제들을 결합하여 처음 문제를 푼다. Merge Sort 합병정렬MERGE-SORT A[1..n] 1. If n=1, done 2 .Recursively sort A[1.. ⌈n/2⌉] and A[⌈n/2⌉+1..n] 3. Merge the 2 sorted listsKey Subroutine: MERGE (결합 단계) Merge 합병정렬 수도 코드MERGE(A,p,q,r) n1 = q - p + 1 # 왼쪽 부분리스트 원소의 개수 n2 = r - q # 오른쪽 부분리스트 원소의 개수 ..
1단원알고리즘 과목에서 공부할 내용- 알고리즘 표현: 문제를 정확하고 추상적으로 정의하는 것, 알고리즘을 수도코드로 나타내는 것- 알고리즘 유효성: 알고리즘이 옳다는 것을 증명- 알고리즘 분석: 시, 공간 복잡도.- 알고리즘 설계: 고전적인 알고리즘. 메타 알고리즘. 어떤 상황에 사용? 알고리즘이란?- 절차의 순서. 주어진 문제에 대해, 조건 만족 위해. 입력. 출력. 자료구조와 연관. 알고리즘 분석- 성능과 리소스 사용량 중요. 그외에 정확성. 간결성. 신뢰성 등.. 왜 알고리즘과 성능을 공부?- 확장성 이해 도와줌. 실행 가능/불가능 알수있. 성능이 가치판단의 기준이 됨. 등2단원Pseudocode: 알고리즘 표현을 위해 설계되었음. 컴파일되지는 않음. 삽입정렬 In..
application 계층에서는: message transport 계층에서는: segment network 계층에서는: datagram, packet link 계층에서는: frame Internet Protocol Stack 중 Data Link 레이어 (data transfer) Network Access/Data Link: 프로토콜은 Ethernet, WiFi, ATM, frame relay Data Link Protocols Frame이 관심대상. Physical Layer의 헤더를 뗀 (Data layer의 헤더까지만) Data Links Services - Framing(프레임 잘 나눴고 빠진거 뭔지 확인) - Error control - Flow control (window 정해놓고~) - M..