일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 로드밸런서
- 쿠버네티스
- 알고리즘
- 백트래킹
- Apache Kafka
- DFS
- 스프링 부트
- springboot
- Spring
- Spring Boot
- Docker
- Kafka
- 자료구조
- 카프카
- 백준
- 스프링
- 머신러닝
- Elasticsearch
- 프로그래밍문제
- 클라우드 컴퓨팅
- Spring Data JPA
- gcp
- 코드업
- 월미도
- JPA
- 오일러프로젝트
- aws
- Today
- Total
GW LABS

저번 포스팅에서는 월미도에서 영종도까지 배편으로 들어가는 모습을 보여드렸습니다. 이번 포스팅에서는 영종도 구읍뱃터 근처에서 편안하게 감상할 수 있는 영종진 공원과 월미도에서 점심까지를 보여드리려고 합니다. 영종도에서 묵지 않을 예정이었기 때문에 오래 머물진 않았는데요. 그럼에도 봄날의 영종도 바다, 영종진 공원은 아주 멋졌습니다. 영종진 공원을 걷다 구읍뱃터에서 언덕쪽으로 올라오시면 영종진 공원을 보실 수 있습니다. 서울 쪽에서는 벚꽃이 이미 다 지고 있다는 얘기를 들었는데, 영종도에서는 만개한 벚꽃을 감상할 수 있었습니다. 바닷바람과 벚꽃을 동시에 즐길 수 있는 점이 아주 큰 매력이라고 생각합니다. 월미도에서의 점심 3시간 정도 구읍뱃터 근처의 풍경을 감상하고 월미도로 다시 돌아갔습니다. 점심은 어렸을..

블로그를 시작한지 꽤 되었지만 저널 카테고리에 글을 많이 작성하진 않았습니다. 최근에 시간에 여유가 생겨 가까운 곳으로 걸어서 여행을 해보니까 마음에도 여유가 생깁니다. 항상 기술적인 글을 문어체로만 올려 블로그가 재미없는 느낌이었지만, 앞으로는 제가 좋아하는 것들에 대해 글을 써보고 찾아와주시는 여러분께 공유드리고 싶습니다. 그 첫번째가 물의 고을 시리즈입니다. 저는 인천 토박이로 고향에 대해 각별한 애정을 갖고 있습니다. 물의 고을 시리즈를 통해 여러분께 인천의 매력을 조금이나마 보여드리고 싶습니다. 참, 시리즈 이름이 왜 '물의 고을'이냐 궁금하실 텐데요. 인천의 옛 지명 '미추홀'이 '물골'을 뜻합니다(링크). 월미도에서 영종도행 배편까지 아침 일찍 월미도에서 영종도행 배편을 타려고 인천역쪽으로 ..

웹 개발 업무에서 통상적인 비즈니스 로직만 다루다보면 사실상 멀티스레드, 멀티프로세스를 통한 성능향상을 경험해볼 기회가 많지 않다. 그러나 웹 개발의 근간이 되는 정적 웹 서버 혹은 웹 어플리케이션 서버들만 해도 멀티 프로세스 및 멀티 스레드를 통해서 사용자의 요청을 효율적으로 처리하고 있다. 다뤄야 할 데이터의 크기가 GB, PB 급의 크기라면 싱글 스레드 혹은 싱글 프로세스로는 고객을 만족시킬 수 없다! 이번 멀티스레드, 멀티프로세스 포스팅 시리즈를 통해서 이론을 실제로 코드로 구현해보고 컴퓨터한테 어떻게 멀티태스킹을 효율적으로 시킬 수 있을지 알아보려고 한다. 프로세스 vs 스레드 먼저 프로세스와 스레드에 대해 간단히 복습해보자. 프로세스는 실행을 위해 시스템에 등록된 작업을 의미한다. 따라서 각각..
한동안 그래프 탐색 문제를 다뤄보지 않아서 복습겸, C++ 공부겸 기본적인 DFS 문제를 풀어봤다. 백준 2644번 촌수계산 문제는 인접 리스트 형태의 자료구조에서 DFS를 통해서 노드의 연결 깊이를 계산하는 문제였다. 인접 리스트이기 때문에 vector를 사용해서 풀었는데 파이썬 보다는 코드가 길어지는 경향이 있다. 아래는 소스코드이다. #include #include #include using namespace std; int search(int searchStart, int searchEnd, vector graph, bool visited[101], int count) { if (searchStart == searchEnd) return count; int answer = -1; visited[s..

2020 하반기 구글 클라우드 스터디 잼이 종료되었다. 약 한달간 스터디 잼이 진행되었고 무사히 수료할 수 있었다. 처음 스터디잼에서 계획한 것처럼 많은 부분을 공부하진 못했지만, 규모확장성을 중심으로 클라우드 컴퓨팅에 대해 공부해볼 수 있어서 아주 좋은 경험이 되었다. 또 비용 걱정없이 GCP의 여러 서비스들을 사용해볼 수 있었던 점도 초보자에겐 정말 큰 혜택이라고 생각한다. 클라우드 컴퓨팅 환경에서 쿠버네티스를 사용하는 기초적인 방법을 정리할 수 있었던 점은 아주 큰 수확이라고 생각한다. 컨테이너 오케스트레이션의 필요성을 확인할 수 있었던 소중한 시간이었다. 또 전혀 관심을 갖고 있지 않았던 서버리스 컴퓨팅에 대해 새롭게 공부하면서, 실제 업무에서도 서버리스 아키텍처로 이전하게 되었을 때 얻을 수 있..
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] += ..