일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- VPC
- 카프카
- Spring Boot
- Spring Data JPA
- gcp
- Apache Kafka
- 프로그래밍문제
- 클라우드
- Kafka
- 월미도
- 로드밸런서
- 오일러프로젝트
- Spring
- Elasticsearch
- 스프링
- 클라우드 컴퓨팅
- springboot
- aws
- 쿠버네티스
- 스프링부트
- JPA
- 자료구조
- 스프링 부트
- 코드업
- 인천여행
- DFS
- 알고리즘
- 백준
- Docker
- 백트래킹
- Today
- Total
목록분류 전체보기 (120)
GW LABS
이번 포스팅에서는 VPC의 엔드포인트와 배치 그룹에 대해 알아본다. 실습을 진행할 만한 큰 내용은 없는 것 같아 이론을 정리한 내용들을 포스팅하기로 결정했다. 이전 포스팅과 함께 알아두면 좋은 내용이고, VPC에 대한 사항은 대부분 파악한 것 같다. 앞으로는 외부로 서비스를 하기 위한 내용들을 집중적으로 공부해야겠다. VPC 엔드포인트 사용자가 생성한 VPC에서 프라이빗 서브넷에서도 AWS 퍼블릭 서비스와 프라이빗 네트워크 통신을 제공하는 프라이빗 엑세스 기능이다. VPC 엔드포인트는 두 종류가 있는데 엔드포인트와 엔드포인트 서비스로 나뉜다. 엔드포인트: AWS 퍼블릭 서비스에 대상으로 프라이빗 연결 게이트웨이 엔드포인트: AWS 퍼블릭 서비스 중 S3, DynamoDB 등에 대한 연결 인터페이스 엔드포..
개발자가 클라우드 컴퓨팅을 처음 배울 때 가장 어려운 점이 무엇일까? 내 경우에는 네트워크를 구성하는 부분이었다. 그 이유를 생각해보면 통상적인 업무에서는 개발 업무에 집중하고 인프라에 작업이 필요한 경우에는 인프라 담당자에게 요청하면서 개발을 진행했기 때문이다. 클라우드 컴퓨팅에서는 모든 컴퓨팅 리소스를 개발자가 다룰 수 있도록 구성되어 있기 때문에 네트워크부터 설계해야하는 상황이라면 공부가 꼭 필요하다. 이번 시리즈에서는 AWS를 통해 클라우드 컴퓨팅을 네트워크 관점으로 공부해보려고 한다. 그 중 가장 기본인 VPC부터 살펴보자. VPC(Virtual Private Cloud) 독립된 가상의 클라우드 네트워크 사용자가 직접 네트워크 오브젝트들을 생성하고 제어할 수 있음 VPC 특징 확장성: 클라우드 ..
프로젝트 운영을 하면서 자주 발생하는 변경사항에 따라 빌드, 테스트, 배포 하는 과정은 매우 지루하고 반복적인 업무이다. 운영업무에서 마주하게 되는 이런 불편한 점들을 해소시켜주기 위해 CI/CD 프로세스가 대두되었고, 지금에는 다양한 CI/CD 툴들이 필요에 따라 선택되고 있다. 이번 포스팅에서는 대표적인 CI 툴인 Jenkins를 알아보고 CI/CD 개념에 대해서도 정리해보자. CI/CD 지속적인 통합(Continuous Integration): 자동화된 빌드 및 테스트가 수행된 후, 개발자가 코드 변경 사항을 중앙 레포지토리에 정기적으로 병합하는 데브옵스 소프트웨어 개발 방식이다. 지속적인 전달(Continuous Delivery): 프로덕션에 릴리즈하기 위한 코드 변경이 자동으로 준비되는 소프트웨..
쉬운 그래프 문제 중 하나였다. 기본적인 개념을 복습하기 좋게 문제가 설계되어 있었다. 방향 그래프에 대한 개념과 그래프 순회방법을 복습했다. 해당 문제는 인접리스트를 쓸 필요가 없는데 인접 노드가 하나로 고정되어 있기 때문이다. 아래는 소스코드이다. #include #include #include using namespace std; int graph[1001]; bool visited[1001]; void bfs(int start) { queue q; q.push(graph[start]); visited[start] = true; while (!q.empty()) { int now = q.front(); q.pop(); if (!visited[now]) { visited[now] = true; q.p..
백준 8974번 희주의 수학시험은 주어진 규칙에 따라 수열을 만들고 더하는 연산을 수행하면 되는 문제이다. 입력범위가 적기 때문에 부르트포스 방식으로 풀이했는데, 수열의 일반항을 구해서 O(1) 가능할지도 검토해봐야겠다. 아래는 풀이이다. #include using namespace std; int container[1001]; int main() { int start, end; cin >> start >> end; int index = 1; int number = 1, accumulator = 1; while (index
수학문제로 원 안에 내접할 수 있는 사각형에 대한 문제였다. 사각형의 대각선을 구해서 원의 지름과 비교하면 간단하게 풀이가 가능하다. #include #include #include using namespace std; int main() { int index = 1; while (true) { int r, w, l; cin >> r; if (r == 0) break; cin >> w >> l; double diagonal = sqrt(w*w + l*l); if (2*r >= diagonal) { cout
저번 포스팅에서는 프로세스와 스레드에 대한 정의를 간단히 살펴봤고, C++와 자바에서 기초적인 멀티스레드 프로그램을 작성해봤다. 예제 프로그램에서 멀티스레드 프로그램에서 반드시 고려해야할 공유자원을 어떻게 처리할 것인지에 대한 문제 직면했었다. 여러개의 스레드가 동시에 같은 자원을 사용하려고 할 때 어떻게 해야할까? 동기화 저번 포스팅에 예제에서는 동기화하지 않은 자원에 여러 스레드가 자원을 사용하려고 할때 발생한 문제를 봤다. 각 스레드가 자원에 대해 제한없이 접근할 수 있었기 때문에 의도치 않은 오동작이 발생했다. 따라서 여러 스레드가 서로 정보를 공유하고 동작을 맞추는 것이 필요하다. 이를 동기화라고 한다. 동기화에 관련된 개념들 공유 데이터 : 여러 프로세스들이 공유하는 데이터 임계 영역 : 공유..
C++로 그래프 탐색에 대한 문제를 연습한 적이 많지 않다. 파이썬으로 풀때와 차이점은 BFS 문제에 그래프 깊이 정보를 pair 형식으로 queue에 넣어도 메모리 초과 문제가 발생하지 않는 것 같다(오....). 1389번 케빈 베이컨의 6단계 법칙은 양방향 인접리스트를 입력받아 그래프 노드간 거리를 구하고, 그 합계가 최소인 지점을 찾는 문제이다. DFS로 풀이하려고 했는데 문제 분류에 BFS가 되어 있어 BFS로 풀이했다. #include #include #include #include #include using namespace std; bool visited[201] = {false}; int getLinkScore(int user, int target, map link) { int score..