전체 글 162

[개발] 클라우드에 대해 알아보기

안녕하세요. 지금은 클라우드네이티브 부서에 배치돼서 서버개발하고 있습니다.. 쉽게 말하면 EC2를 만드는 일이죠. 공부한거 정리할 겸 + 도메인지식 쌓을 겸 글 써 봅니다. 틀린점이 있다면 지적 환영합니다,, 클라우드 비즈니스의 히스토리 위주로 갈 것 같네요. 전통적인 배포 방식과거 선배 개발자들의 사례를 보면 application 배포를 할 때 서버를 직접 구매해서 설치하고 네트워크 설정하고 다 했다고 합니다. 이런 걸 on-premise방식이라고 하죠. 언뜻 보기엔 귀찮고 오래걸릴 작업이라고 생각하지만 장기적으로 봤을 때는 이득이 될 수도 있습니다. 초기비용만 크게 투자를 하고 설치와 세팅만 잘 끝낸다면 그 이후로는 전기료만 잘 낸다면 추가 비용이 들 일이 적죠. (지속적으로 비용을 지불하는 클라..

[개발] 2024 카카오 겨울 인턴쉽 + 전환 후기

최근 블로그를 방치한 감이 있긴 한데 인턴 때문에 신경을 쓰기 힘들었던 것 같다. 그래서 꽤 오래전부터 후기를 남겨야겠다고 생각했지만 미루고 미루다 지금에서야 쓰게 되었다. 이미지들은 거의 다 사라지고 글만으로라도 후기를 남겨보려고 한다.면접이나 인턴 생활 관련해서 "써도 되나?"싶은 내용은 모두 빼고 작성해서 참고하시면 좋을 것 같습니다. 카카오 인턴쉽 지원카카오에서 2024 테크 인턴쉽을 모집한다고 해서 지원을 하게 되었다. 지원을 하게 된 동기는 크게 3가지이다.카카오에서 일하는 방식을 알고 싶었다.트래픽이든 리소스든 큰 규모를 다뤄보는 개발을 하고 싶었다.주니어인 나의 성장에 더 큰 도움이 될 것이라고 생각했다.이러한 경험은 어디가서 쉽게 하지 못하는 경험이기 때문에 지원을 결심..

[수학] Online Math Contest

인터넷을 찾아보다가 우연히 Online Math Contest라는 사이트를 알게 되었다. 일본에서 운영하는 온라인으로 수학문제을 푸는 대회사이트이다. 딱 앳코더의 수학버전이다. 앳코더나 코드포스처럼 콘테스트에 참여하면 레이팅을 얻고 닉네임에 색을 입힐 수 있는 시스템인 것 같다. 재밌어보여서 바로 가입하고 가장 최근에 있었던 OMC 207 (for beginners)에 도전해봤다. 결과는 2솔하고 손도 못댔다. ㅋㅋ 출제 범위는 고등 ~ 대학 수학정도이고 아직 많이 보진 않았지만 대수학, 정수론, 기하학 위주로 출제되는 것 같다. 스코어보드를 봤는데 사람들 푸는 속도가 어마어마했다. 그리고 수학 대회이기 때문에 코드를 작성하면 부정행위이다. (애초에 코딩으로 해결할 수 있는 문제가 많지 않다.) 대신에 ..

수학 2024.02.17

[알고리즘] 알고리즘(PS)이 개발에 미치는 영향

나는 지금 백엔드(서버) 개발자로 일을 하고 있는데 PS하던 경험이 개발에 알게 모르게 도움이 될 때가 많다. 어떤 것들이 있고 어떤 도움이 되는지 내 생각을 말해보고자 한다. 구현능력 솔브드 8대 태그에도 있는 구현은 알고리즘문제를 풀기 위한 기본 소양이다. 실제로 브론즈의 대부분 문제는 구현이 들어있고 알고리즘 문제를 풀기 위한 과정도 구현이다. 이러한 경험을 실제 개발에도 적용하면 비즈니스 로직 구현하는데 도움이 된다고 느꼈다. 다만 아키텍처 설계는 별개이다. 그리고 1000문제를 해결했다면 문제당 코드 길이가 평균 50줄이라고 해도 5만 라인을 작성한 것이다. 이 정도라면 코드짜는 자신감과 타이핑속도 등을 얻을 수 있다. (자신감 의외로 중요하다.) 구현능력을 테스트하고 싶다면 유효기간이 있는 마..

[알고리즘] solved.ac Grand Arena Party onsite (Arena #18) 후기

2월 3일 최초로 솔브드에서 열리는 그랜드 아레나가 온사이트로 열리게 되었다. 이런 이벤트를 너무 좋아하는 나에겐 반드시 참여하고 싶은 이벤트였다. 성적이 좋거나 아레나를 많이 참여할수록 참가 확률이 높다고 하는데 Arena #10부터 모두 참가한 나는 어렵지 않게 참가할 수 있었다. (#10은 운영자로 카운팅되었다!) 그동안 SS~SS+퍼포먼스를 받아서 Div 1에 배정받았다. 알고리즘하는 지인들은 아레나에 참여하지 않아서 당첨되지 않아 혼자서 참석하게 되었다.. Grand Arena Onsite 지금까지 이런 온사이트 이벤트는 구데기카페, 보드게임카페와 더불어 3번째였다. 풍성한 기념품들을 받을 수 있었다. 역시 utilforever님이 후원을 해주셨고 현장에 계셨다. 지난 KUPC때 함께 모니터링을..

[알고리즘] 덱 (deque)

덱은 double-ended queue를 줄인것이다. 이름에서 알 수 있듯이 양쪽으로 넣고 뺄 수 있는 큐를 의미한다. 기초 자료구조이지만 여기에 숨어있는 신기한 사실이 있다. 시간복잡도 덱의 장점은 앞, 뒤 어디서든지 삽입삭제가 $O(1)$이라는 것이다. 보통 학부 과정에서 덱을 구현하라는 과제를 받으면 리스트로 구현하여 삽입삭제를 $O(1)$로 끝내고 random access를 $O(N)$에 동작하도록 구현하게 된다. 하지만 실제로 내장된 deque를 사용해보면 어떨까? # python from collections import deque import time N = 1000000 arr = [i for i in range(N)] s = 0 start = time.time() for i in rang..

2023년을 되돌아보며

벌써 오늘만 지나면 2023이 지나간다. 어렸을땐 몰랐는데 나이를 먹으니 시간가는게 참 빠르다는게 느껴진다. 2023년을 되새겨보며 나에게 어떤 변화가 있었는지 알아보자. 개발 3월부터 직장생활을 시작하여 이제 약 9개월차 개발자가 되었다. 역시 회사 프로젝트는 개인 프로젝트보다 규모가 크기 때문에 더 신중하고 효율적인 설계가 필요하다. 그렇게 고민하다보면 내가 몰랐던 새로운 개념들을 배우게 되고 그것을 적용시키며 성장해나가게 된다. 그렇게 배운 것들 샤딩 Redis MSA 1, MSA 2 RDB에서의 PK 블로그에 기록해 둔 것은 이 정도인 것 같다. 그 외에도 Dynamo DB, Mongo DB, CQRS패턴 등도 알게되었다. 연초엔 무엇이든 할 수 있을것같고 모든 걸 알고 있다는 생각을 가지고 있었..

기타/기타 2023.12.31

[개발] 제 1회 엘리스 코드 챌린지 참가 후기

이런 대회가 열린다는 소식을 듣고 바로 신청했다. 파이썬 백엔드 엔지니어를 대상으로 한 알고리즘 및 api 기능 구현 대회였는데 모든 조건이 나와 충족했다. 대학교를 졸업하여 참가할 수 있는 대회가 많이 없는 나에겐(ㅜㅜ) 정말 좋은 기회였다. 예선 예선은 온라인으로 1주동안 진행됐는데 기간 내내 응시하는게 아니라 원하는 때에 3시간동안 응시하는 형식이었다. 예선은 알고리즘 + api 기능 구현이었다. 알고리즘 난이도는 코딩테스트보단 어렵고 XCPC하위 문제보단 쉬운 수준이었다. 코딩테스트에 안 쓰이는 개념도 쓰이니 모든 문제를 풀려면 대회 알고리즘도 건드려야한다. api 문제는 기능 구현과 간단한 테크닉을 사용하여 호출시간을 최적화 하는 문제였다. 우연찮게도 내가 블로그에 쓰면서 공부한 지식들이 나와서..

[개발] 주니어 개발자의 우당탕탕 MSA 전환기 - Nexus 편

지난 스토리의 마지막에 결국 서로 다른 서비스에서 공통으로 사용되는 함수나 ORM객체들을 공유 모듈을 사용하여 진행하기로 결정했다. 대표적으로 Nexus라는 것이 있다고 하여 이걸 사용해서 사설 공유 레포지토리를 구축하게 되었다. Nexus 구축하기 Nexus를 구축하는 방법은 정말 간단하다. 그냥 포트 하나 열고 docker run으로 실행하기만 하면 끝난다. 설치는 이렇게 간단한데도 고민해야 할 상황이 생겼다. 그럼 Nexus 서버는 어디에 있어야 할까? 후보군으로는 EC2와 쿠버네티스가 있었다. 지금까지 쿠버네티스에서 누려온 수많은 편리한 점을 생각하면 "당연히 후자지"라고 생각했다. 하지만 여기에서 반대 의견도 있었다. Nexus는 dev, prod 같이 사용하기 때문에 쿠버네티스와 별도의 서버에..