일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Docker
- springboot
- Elasticsearch
- 오일러프로젝트
- Spring Data JPA
- 스프링 부트
- 코드업
- Spring
- 스프링
- 스프링부트
- aws
- 로드밸런서
- 카프카
- 알고리즘
- 백준
- Kafka
- 프로그래밍문제
- 쿠버네티스
- 월미도
- 클라우드 컴퓨팅
- gcp
- 자료구조
- DFS
- 클라우드
- JPA
- 인천여행
- Spring Boot
- VPC
- Apache Kafka
- 백트래킹
- Today
- Total
목록분류 전체보기 (120)
GW LABS
PHP 구버전 혹은 curl 모듈이 설치되어 있지 않은 개발환경에서 POST 전송을 구현하려면 까다로운 작업을 거쳐야한다. HTTP header 및 body 정보를 직접 문자열로 만들어줘야 하기 때문이다. 매번 POST 전송을 위한 정보를 찾아가며 개발하는 것도 시간이 소요되는 일이기 때문에 여기에 소스를 정리한다. 파일의 경우에는 보내는 파일의 종류에 따라 meme type을 변경해주면 된다.
C++로 문제푸는 연습을 다시하면서 복습을 할만한 문제였다. 소수 판별의 경우 에라토스테네스의 채를 사용할 수도 있지만 판별하려는 숫자의 제곱근만큼만 탐색하면서 소수를 찾아도 충분히 풀 수 있는 문제였다. 팰린드롬 판별의 경우에는 문자열로 변환하여 손쉽게 판별할 수 있었다. 아래는 풀이이다. #include #include #include using namespace std; bool isPrime(const int& number) { if (number == 1) { return false; } if (number == 2) { return true; } bool answer = true; int limit = static_cast(sqrt(number)); for (int idx = 2; idx > ..
문제를 처음 읽었을 때 어떻게 하면 코드를 줄이면서 구현할 수 있을지 생각해봤다. 회의실 배정 문제같은 그리디 문제에서도 범위와 관련한 문제가 있었는데 이 문제에서는 겹치는 범위를 처리해야 했던 문제였다. 겹치는 범위를 처리하기 위해서 단순히 범위를 표현하는 배열을 만들어두고 그 배열에 겹치는 범위를 표시했다. 아래는 해당 소스코드이다. one, two, three = list(map(int, input().split(" "))) fee_table = [0 for _ in range(100)] for _ in range(3): start, end = list(map(int, input().split(" "))) for idx in range(start-1, end-1): fee_table[idx] += ..
이번 포스팅은 GCP의 Cloud SQL에 대해 알아본다. 데이터베이스는 IT 서비스에서 핵심이라고 볼 수 있다. 다양한 비즈니스 로직들은 유실되어도 데이터만 있다면 복구할 수 있다. 비즈니스 로직을 다시 개발자가 만들면 된다. 힘든 일이지만 가능하다. 그러나 데이터가 유실된다면 데이터는 복구할 수가 없다. 전체 서비스는 이전에 사용자들이 생성한 데이터를 제공할 수 없고, 사용자들의 불만사항은 법적인 이슈로까지 갈 수 있을 것이다. 이렇게 중요한 데이터베이스 서비스를 GCP에서는 어떻게 제공하는지 알아보자. Cloud SQL Cloud SQL은 GCP에서 제공하고 있는 완전 관리형 데이터베이스 서비스이다. GCP에서는 Cloud SQL용 데이터베이스 엔진으로 MySQL, PostgreSQL, SQL Se..
백준 1021번 회전하는 큐 문제는 큐를 이용해서 큐를 회전시키면서 주어진 숫자들을 뽑아내는데 최소 회전 회수를 구하는 문제이다. 쉬운 문제였는데 많은 시간을 소비해 버렸다. 문제 풀이에 있어서 컨디션도 영향을 미치는 것 같다. 또한 알고리즘 문제 풀이에 있어서는 최대한 문제 자체에 집중하기 위해서 필요한 코드만 작정하는 습관을 들여야겠다. 의사코드를 먼저 작성하면 항상 도움이 된다. from collections import deque q_size, pop_count = list(map(int, input().split(" "))) pop_target = list(map(int, input().split(" "))) q = deque([i for i in range(1, q_size+1)]) answe..
이번 포스팅에서는 서버리스 아키텍처에 대해 알아본다. 지금까지 클라우드 서비스를 이용하면 네트워크와 하드웨어, 운영체제 등을 IT 팀이 직접 구축하지 않아도 되고 pay-as-you-go 형태로 인프라를 사용할 수 있다는 점을 배웠다. 그런데 서비스가 커지면 클라우드 상에서 관리해야할 자원들이 많아지고, 이로 인한 이슈도 점점 늘어날 것이다. 특히 설계했던 아키텍처에 문제가 있어서 설계를 변경해야 한다면 서비스 중단시간이 발생할 수도 있고, IT 팀이 대용량 트래픽 경험이 부족하다면 어플리케이션 자체에 문제가 있을 수도 있다. 이를 해결하고자 나온 개념이 서버리스 아키텍처이다. 서버리스 서버리스 아키텍처는 인프라를 관리할 필요없이 애플리케이션과 서비스를 구축하고 실행하는 방식이다. 서버, 미들웨어 등을 ..
이번 포스팅에서는 GCP 내에서 kubernetes를 다루는 방법에 대해 알아본다. kubernetes는 컨테이너 오케스트레이션의 표준으로 자리잡고 있다. 대부분의 클라우드 제공자들은 kubernetes 엔진 및 서비스들을 제공하고 있고 GCP에서는 아주 손쉽게 kubernetes를 사용할 수 있다. 이는 GCP에서 kubernetes를 쉽게 이용할 수 있도록 Google Kubernetes Engine(GKE)을 제공하기 때문이다. 이 포스팅에서는 GCP 내에서의 kubernetes를 다루는 기본적인 사항에 대해 다루기 때문에 kubernetes에 대한 개념과 로컬 개발환경에 대한 포스팅은 아래 링크를 참조하자. kubernetes 시작하기 Docker와 같은 컨테이너 기술은 개발팀의 개발환경 구성문제..
Docker와 같은 컨테이너 기술은 개발팀의 개발환경 구성문제, 애플리케이션 단위로 격리하여 코드로 서버를 관리하는 등 다양한 운영과 관련된 문제를 해결해줬다(44bits Docker 필요성 포스팅). 그러나 Docker로 서버 및 앱들을 관리하면서 규모가 점점 커지게 되면 컨테이너 운영의 문제가 발생한다. 여러 대의 서버에서 컨테이너들을 관리해야 할 때 네트워크 문제, 배포 문제 등을 해결하기 위해 대두된 기술이 컨테이너 오케스트레이션이다. Docker swarm, AWS ECS 등의 오케스트레이션 서비스들이 있지만 현재 컨테이너 오케스트레이션의 표준으로 자리잡고 있는 Kubernetes에 대해 알아보자. Kubernetes 소개 Kubernetes는 구글의 노하우가 담긴 프로덕션급 컨테이너 오케스트레..