일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준
- 깊이우선탐색
- 알고리즘
- dynamic programming
- DP
- 그리디
- Network
- 스프링
- DFS
- HashMap
- 너비우선탐색
- broadcast
- programmers
- 해시맵
- 네트워크
- 동적계획법
- 백트래킹
- greedy
- 프로그래머스
- Spring
- Algorithm
- DynamicProgramming
- 이분탐색
- switch
- boj
- Backtracking
- 해시
- 구현
- 브루트포스
- BFS
- Today
- Total
목록전체 글 (49)
옌의 로그
DDD(Domain-Driven Design) ?DDD는 도메인(업무 규칙과 의미) 에 집중해서 시스템을 설계하자는 접근 방식이다.단순히 “이런 기능이 필요하다”는 시각이 아니라, 비즈니스의 언어와 규칙을 코드에 녹이는 것이 핵심이다. 주요 개념 정리개념설명예시 (상품 관리)도메인(Domain)해결하고자 하는 비즈니스 영역상품 등록, 메타데이터 수집, 발행엔티티(Entity)고유 ID가 있는 객체Product, Copyright밸류 오브젝트(Value Object)고유 ID 없이 값으로 의미ProductName, Price, Period애그리거트(Aggregate)엔티티들의 일관성을 묶는 루트Product가 루트, 내부에 ProductMetadata 포함도메인 서비스엔티티에 넣기 애매한 복잡한 비즈니스..
FCM 푸시 모듈 작업을 계기로 마주친 이벤트 기반 설계 이야기 1. 사용하게 된 배경최근 FCM을 활용한 푸시 알림 모듈을 구현하게 되었다.초기에는 단순히 서비스 로직 안에서 푸시 메시지를 생성하고 전송하는 sendPushMessage() 메서드를 직접 호출하는 방식으로 구현했는데, 이 방식에는 치명적인.. 구조적 문제가 있었다.푸시 메시지를 생성하고 저장하는 로직이 서비스의 트랜잭션 흐름에 함께 묶여서, 이로 인해 메세지 생성 트랜잭션이 롤백되면 메인 트랜잭션도 함께 롤백되는 상황이 발생하였다.(push는 로그 데이터 같이, 생성 실패하여 발송이 안되더라도 크게 문제없는 데이터인데 이로 인해 메인로직이 처리가 안되는 건 문제가 있는 상황이다) 물론 트랜잭션 전파 속성을 REQUIRES_NEW로 설정하..
문제[백준] 쉬운 최단거리 사용 알고리즘- BFS (너비우선탐색)해결방법목표지점을 시작점으로 생각하고, BFS 탐색을 하면서 visited 배열에 이동거리를 갱신해준다탐색종료 후, 갈 수 있는 지점이나, 도달하지 못한 케이스를 찾아 visited 배열을 -1로 바꿔준다소스코드사용언어 : c++#include #include using namespace std;int N, M;int start_x, start_y;int map[1001][1001];int visited[1001][1001];int dir[4][2] = {{-1,0}, {0,-1}, {1,0}, {0,1}}; //위, 좌, 하, 우void bfs(int y, int x){ queue> q; q.push(make_pair(y, x..

javac로 java 컴파일 하기 1. java 소스파일을 준비한다. ex ) hello.java 2. 터미널 창에서 아래 명령어를 사용해 컴파일한다 >> javac 파일명 javac hello.java 3. 컴파일에 성공하면 현재 디렉토리에 class명으로 실행파일이 생성된다. 4. 실행파일은 아래 명령어로 실행하면 된다. java 클래스명 java Main
문제 [백준] LCS 9251번: LCS LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net 사용 알고리즘 - 다이나믹 프로그래밍 (Dynamic Programming) 해결방법 입력 받은 두 문자열 X, Y의 위치 인덱스를 각각 i, j라 할 때, 두 문자열의 최장 공통 부문 수열을 LCS(i, j)라 하자 if Xi = Yj 일 때, (두 문자열의 마지막 글자가 같을 때) LCS(i, j) = LCS(i-1, j-1) + 1 if Xi != Yj 일 때, (두 문자열의 마지막 글자가 ..
문제 [백준] 합이 0 (Olympiad > International Autumn Tournament in Informatics > 2011 > Group B (Juniors) 3번) 3151번: 합이 0 Elly는 예상치 못하게 프로그래밍 대회를 준비하는 학생들을 가르칠 위기에 처했다. 대회는 정확히 3명으로 구성된 팀만 참가가 가능하다. 그러나 그녀가 가르칠 학생들에게는 큰 문제가 있었다. www.acmicpc.net 사용 알고리즘 - 이분탐색 - 투 포인터 - 정렬 해결방법 입력받은 학생들의 코딩실력 수열을 벡터 code_lv에 저장한 후 오름차순 정렬한다 N명의 학생 중 코딩실력의 합이 0이되는 3명을 고르는 문제이므로 2중 for문을 돌며 벡터에서 2명의 학생을 고른후, 나머지 한 명은 이분탐..

[Index] IPv4주소의 기본 구조 L3 IP Packet으로 외워라 Encapsulation과 Decapsulation 패킷의 생성과 전달 계층별 데이터 단위 IP 헤더 형식 서브넷 마스크와 CIDR Broadcast IP주소 Host 자신을 가리키는 IP주소 TTL과 단편화 인터넷 설정 자동화를 위한 DHCP ARP Ping과 RTT https://inf.run/7B31q 외워서 끝내는 네트워크 핵심이론 - 기초 강의 - 인프런 TCP/IP에서 HTTP까지! 네트워크에 대한 기본 이론이 부족한 분들이 '외워서'라도 전공 이론을 이해하고자 희망하는 분들을 위해 준비한 강의입니다. 할 수 있습니다!, 네트워크, 외워서 쉽고 빠르게 www.inflearn.com (본 게시글은 인프런 외워서 끝내는 네트..