본문 바로가기

전체 글171

쿠버네티스가 뭘까? 작동원리, 아키텍처 정리! 쿠버네티스 (Kubernetes, K8S)가 뭘까? 컨테이너(Container)를 관리해 주는 소프트웨어 IT 업계가 하나의 큰 서버를 여러개의 마이크로서비스로 나누면서, 각각의 마이크로서비스가 독립적으로 작동할 필요가 생겨, VM보다 가벼운 컨테이너를 사용하게 됐습니다. 처음에는 수동으로 관리하거나, Docker Compose 같이 간단하게 관리하는 것으로 충분했지만, 점점 컨테이너들의 복잡도가 증가하면서 쿠버네티스를 사용해 컨테이너를 관리하게 됐습니다. 컨테이너는 보통 Docker를 떠올리지만, 쿠버네티스는 Docker를 포함해서 Containerd, CRI-O, rkt도 지원합니다. 쿠버네티스에 관한 흥미로운 사실들 구글에서 처음 개발했습니다. Golang이라는 프로그래밍 언어로 개발 됐습니다. 전.. 2023. 4. 2.
로드 밸런서(Load Balancer)에 쓰이는 알고리즘 Load Balancer란? 서버의 트래픽(요청)을 분산시키는 장치 우리가 컴퓨터에 너무 많은 프로그램을 켜 놓으면 느려지고, 최악의 경우 블루스크린이 뜨며 작동을 중지하듯, 서버 또한 너무 많은 요청을 받으면 부담이 됩니다. Load Balancer는 부하(Load)를 밸런싱(Balance)해 주는 장치를 말합니다. 네이버 홈페이지를 생각해 보면, 하루에 네이버를 찾는 사람이 1000만명은 될 겁니다. 이 모든 요청은 1개의 서버가 받는다면 네이버 홈페이지는 터지는게 일상일테지만, 로드 밸런서가 한 요청은 춘전의 데이터센터에 보내고, 한 요청을 서울로 보내는 식으로 분산시킨다면 터지지 않을 것입니다. 그렇다면 로드 밸런서는 어떤 식으로 트래픽을 분산시킬까요? 흔히 쓰이는 알고리즘 Round Robin .. 2023. 4. 1.
마이크로서비스(MSA)를 쓰는 이유 초반에 프로그래밍을 공부하면서 틈틈히 IT 기업들의 발표회를 보곤 했는데, 거의 알아들을 수 없어서 충격을 받았던 적이 있습니다. 아직 갈 길이 멀구나 좌절하고, 반년 정도 열심히 공부한 후 다시 봤는데, 놀랍게도 똑같이 거의 알아들을 수 없었습니다. 나중에 알고 보니, 제가 알아듣지 못한 내용은 모두 MSA 관련 내용이였습니다. MSA(마이크로서비스 아키텍처), 말 그대로 서비스를 작게(마이크로하게) 만든다는 것입니다. 대기업들은 굳이 왜 MSA를 사용할까요? MSA를 배워 보면 그 이유가 명확해 집니다. MSA에 관한 공부를 앞두고 계신다면, 그 전에 MSA가 정말 왜 필요한지 알려드리겠습니다. 크면 클 수록, 관리가 힘들고 예상치 못한 오류들이 많이 나온다 구글이나 마이크로소프트 같은 실리콘벨리의 .. 2023. 3. 28.
코딩 테스트 속도 높이기 : 내가 자주 쓰는 Java 문법 설탕(Syntax Sugar) 총정리 문법 설탕이 뭐야? 말하는건 똑같아도 짜증나게 말하는 사람이 있고, 듣기 좋게 말하는 사람이 있듯, 코드도 하는건 똑같아도 읽기 쉬운 코드가 있고 읽기 힘든 코드가 있습니다. 문법 설탕은 꼭 써야 하는건 아니지만 2가지 장점이 있어 알아두면 좋습니다. 1. 더 읽기 쉬운 코드를 쓸 수 있습니다. 2. 자주 쓰는 기능을 내가 직접 구현하지 않고 내장함수를 써 더 빠른 코딩이 가능합니다. 어떻게 활용할까? 우선, 문법 설탕이 아무리 코딩을 빠르게 해 주고 읽기 쉬운 코드를 만들어 준다고 해서 영어 단어 외우듯 외울 필요는 없다고 생각합니다. 대신, 저는 많이 써 보면 자연스럽게 적재적소에 활용할 수 있게 됐습니다. 자연스럽게 활용하기 위해 추천하는건 항상 코딩 테스트나 코드를 작성하고 리팩토링(Refacto.. 2022. 12. 14.
Github Pages에 React Router 적용된 React App 배포하기 Github Pages라는, Github에서 무료로 제공하는 호스팅 서비스가 있습니다. 보통은 HTML/CSS/JS로 만들어진 간단한 페이지를 배포하지만, React App도 build하면 결국 HTML/CSS/JS로 이루어져 있기 때문에 React App도 배포 가능합니다. 하지만 문제가 있습니다. React Router를 사용한 React App을 Github Pages에 배포하면 제대로 동작하지 않고 아래와 같은 화면이 나온다는 겁니다. 이건 왜 발생하고 어떻게 해결할까요? 왜 안 될까? React Router에서는 HTML history라는 기술을 사용해 URI 이동을 구현하고 있는데, Github Pages에서는 HTML history를 지원하지 않는다고 합니다. 그래서 React Router가.. 2022. 11. 11.
클라우드가 뭘까? IaaS, PaaS, SaaS 이건 또 뭘까? 아마존, 마이크로소프트, 구글까지. 미국의 빅테크 기업들이 클라우드 사업에 집중하고 있습니다. 클라우드가 뭐고, 뭐가 그렇게 좋길래 그럴까요? 이 외계어 같은 IaaS, PaaS, SaaS는 뭘까요? 클라우드(Cloud)가 뭔지 간단히 서버라는 말은 우리 일상생활 속에서도 많이 사용됩니다. 근데 서버가 정확히 뭘까요? 서버는 역할의 개념입니다. 서버는 우리가 쓰는 컴퓨터, 스마트폰과 크게 다르지 않습니다. 하지만 서버는 서빙(제공하는) 역할을 하는 컴퓨터를 말합니다. 우리가 웹 사이트에 접속하면 서버한테 웹 사이트 내용을 달라고 요구합니다. 문제는, 매우 많은 사람이 동시에 서버에 요청을 한다는 겁니다. 그래서 서버는 우리가 아는 컴퓨터보다 크고, 많고, 빠릅니다. 당연히 이런 서버를 관리하는건 돈도 많.. 2022. 10. 28.
인터넷을 이해해 보자 : OSI 7 계층? TCP/IP 4계층? 인터넷은 어떻게 동작할까요? 인터넷은 현대사회를 이루는 가장 핵심적인 기술이고, 우리의 문화와 삶을 바꿨지만 사실 본질은 매우 간단합니다. 곰곰이 생각해보면, 우리가 인터넷에서 하는 모든 일은 누군가가 다른 컴퓨터에 올려놓은 데이터를 보는 일입니다. 넷플릭스는 누군가가 넷플릭스 컴퓨터(서버)에 올려놓은 동영상을 보는 것이고, 구글은 누군가가 구글의 컴퓨터(서버)에 올려놓은 정보들의 묶음을 보는 것입니다. 근데 이상하다고 느끼실 수도 있습니다. 넷플릭스, 구글은 미국 회사인데, 한국이 미국과 연결되어 있다고? 그렇습니다. 전 세계 바다에는 해저케이블이라고 하는 케이블이 있고, 이 케이블은 전 세계에 있는 컴퓨터를 연결하고 있습니다. 해저케이블이 어디에서 어디로 연결되어 있는지 궁금하시다면 아래 링크에서 확.. 2022. 10. 27.
유명한 IT기업의 본사는 어디에 위치해 있을까? 네카라쿠베당토직두야 본사 위치 총 정리! 네카라쿠베당토직두야... 언뜻 보면 암호처럼 보이는 이 말은 사실 요즘 핫한 연봉을 많이 주는 IT기업을 줄여서 부르는 말입니다. 이 암호를 차례대로 정리해보면 아래 표와 같습니다. 줄임말 이름(회사이름) 뭐 하는 회사야? 네 네이버 - 카 카카오 - 라 라인 일본, 대만, 동남아 국민 메신저로 유명한 '라인' 개발 쿠 쿠팡 - 베 베달의 민족 (우아한 형제들) 음식 배달 플랫폼 '배달의 민족' 개발 당 당근 중고 거래 플랫폼 '당근마켓' 개발 토 토스 (비바리퍼블리카) 종합 금융 플렛폼 '토스' 개발 직 직방 부동산 거래 플렛폼 '직방' 개발 두 두나무 코인 거래소 '업비트' 개발 야 야놀자 숙박/교통 플랫폼 '야놀자' 개발 실제 서비스 이름과 회사 이름이 다른 회사는 참고상 괄호 안에 넣었습니다,. .. 2022. 10. 23.
Clean Code, 읽기 쉬운 코드를 쓰는 법 처음 프로그래밍을 배우면 문법을 잘 지키는 것만으로도 벅찹니다. 열심히 코드를 쳤는데 console창에 뜨는 무수한 에러를 보면 한숨만 나옵니다. 하지만 점점 프로그래밍에 익숙해지면 요구사항에 맞게 코딩하는 거는 어느 정도 할 수 있게 되지만, 이게 끝이 아닙니다. 더 좋은 프로그래머가 되려면 코드를 단순히 옳바르게 쓰는 거뿐만 아닌, 읽기 쉽게 써야 합니다. 이런 읽기 쉬운 코드를 흔히 Clean Code, 즉 깨끗한 코드라 부릅니다. Clean Code가 왜 중요하고, 어떻게 하면 Clean Code를 쓸 수 있을까요? Clean Code는 왜 중요할까? Clean Code가 중요한 이유는 내가 쓴 코드는 한 번 쓰고 끝이 아니라, 계속 살아 숨쉬기 때문입니다. 즉, 내가 쓴 코드는 나를 포함한 누군.. 2022. 9. 17.
도커(Docker)가 뭐고 어디에 쓰는걸까? 요즘 도커(Docker)라고 불리는 기술이 굉장히 인기가 많습니다. 개발자로서 아래의 이미지의 파란색 고래를 한 번쯤은 보신 적이 있으실텐데요. 이 도커! 도대체 뭐고 어디에 쓰는 걸까요? 간단하게 알려드리겠습니다. 도커가 뭐야? 도커(Docker)는 쉽게 말해 가상머신(VM) 같은거라고 생각하면 됩니다. 근데 가상머신의 단점을 빼고 장점만 모은겁니다. 가상머신이 뭘까요? 저는 몇 년째 맥북을 쓰고 있는데, 가끔 어렸을 때 하던 메이플스토리가 하고 싶을 때가 있어요. 하지만 맥북에서는 메이플스토리가 돌아가지 않습니다...! 그래서 맥북에 원도우를 깔아서 메이플스토리를 하곤 했습니다. 이때 MacOS가 돌아가고 있는 상태에서, 또 다른 OS인 Windows를 가상머신의 형태로 설치한 겁니다. 이런 가상머신.. 2022. 8. 16.
스텐포드 (Stanford) 대학교 컴공과는 어떤걸 배울까? 총 정리! 전공 필수 어느 대학이나 전공 필수라고 불리는, 그 전공이라면 반드시 들어야 하는 과목이 있습니다. 스텐포드 대학에서는 총 6개의 과목을 들어야 합니다. Systems CS106 Programming Abstraction - C++를 활용한 기초적인 컴퓨터 공학 지식(데이터 구조, 알고리즘, 프로그래밍 방법론 등 ) CS107 Computer Organization and Systems - UNIX 상에서 하드웨어에서 소프트웨어로의 구조 CS110 Principles of Computer Systems - 큰 스케일의 시스템 만들기(프로세스, 파일 시스템, 네트워킹) Theory CS103 Mathematical Foundations of Computing - 컴퓨터 과학을 공부하기 위해 필요한 수학 지.. 2022. 3. 2.
엠브레인 좌담회 참석 후기 최근 부업을 열심히 하고 있지만, 아무래도 인터넷으로 클릭 몇 번 하는걸로는 큰 돈을 벌기는 힘들다. 그런 와중에 좌담회라는걸 알게 되서 참가하기로 했다. 비밀유지서약서를 썼기 때문에 자세한 내용은 말하지 않겠지만, 좌담회가 대충 어떤 것이고, 참여할 만한 가치가 있는지 말해보고자 한다! 좌담회란? 좌담회는 쉽게 말해서 직접 만나서 특정 주제에 관해 이야기를 듣는 것이다. 이걸 왜 하는 걸까? 보통은 기업이 특정 제품군에 관해 더 자세히 알고자 할 때나, 정부가 정책을 수립할때 의견을 듣고자 할때 하는거 같다. 설문조사로 할 수도 있지만, 설문조사는 신원이 불확실한 불특정 다수에게 얕게 묻는거라면, 좌담회는 신원이 확실한 소수에게 깊게 묻는 것이다. 보통 설문조사 부업은 많이 받아도 1000원을 받기 힘.. 2021. 11. 23.
리얼티인컴(O)의 스핀오프 주식(ONL)은 왜 안 들어올까? 2021년 10월 경에 리얼티 인컴이 VER이라는 또 다른 리츠 회사와의 합병이 마무리 된다고 밝혔다. 그에 따라 리얼티 인컴 안에 오피스 리츠의 비중이 약 9%에 달하게 되어, 이를 오리온(ONL)이라고 불리는 새로운 회사로 분할해 상장하기로 했다. 이에 대해 자세히 알아보자! 왜 오피스 리츠를 분사할까? 일단 리얼티 인컴이 오피스 리츠를 분사하는 이유는 한 마디로 오피스 리츠는 리얼티 인컴의 철학(꾸준한 월배당)에 적합한 자산이 아니기 때문이다. 오피스 리츠는 일반적으로 새로운 새입자를 찾기 어려우며, 시설을 새로운 새입자에 맞게 개조하는데 큰 비용이 들어 공실률이 높다. 그래서 이런 리스크를 줄이기 위해 오피스 리츠만 따로 분리해 상장하는 모양이다. 스핀오프란? 스핀오프란 회사의 일부 사업 부분을 .. 2021. 11. 22.
증권 계좌를 왜 여러 개 쓸까? 개요 주위 사람들을 보면 주식투자를 하는 대부분의 사람들이 증권 계좌를 하나가 아닌 여러 개를 사용하는 거 같다. 증권 계좌를 여러 개 사용하면 관리하는데 불편하기만 할거 같은데 왜 여러 개 사용할까? 개인적으로 증권계좌를 여러개 사용하는 이유와, 다른 사람들에게 물어 가장 흔한 증권 계좌를 여러 개 사용하는 이유를 모아 봤다! 용도를 나누기 위해서 똑같이 '투자'라고 부르지만, 사실 사람마다 투자하는 이유는 다양하다. 그 뿐만 아니라, 많은 사람들이 한 가지 이유가 아닌 여러 가지 이유로 투자한다. 그렇기 때문에 이런 용도에 따라 계좌를 나누는건 어찌 보면 당연한 것이다. 예를 들어, 전세금으로 투자를 한다면 당연히 살 수 있는 종목이 한정되어 있을 것이다. 중소형주 위주가 아닌 대형 우량주 위주로 매.. 2021. 11. 13.
알라딘에서 중고책 파는 법, 후기, 얼마나 받을까? 옛날에는 책을 산다는 행위 자체가 좋았다. 뭔가 그 책을 소유하면 그 지식도 내가 소유하는 느낌? 하지만 지나고 나서 생각해 보니 굳이 책을 그렇게 많이 샀어야 되나 싶다. 도서관에서 빌려 볼 수도 있고, 밀리의 서재같은 전자책 구독 서비스로 볼 수 도 있는데... 아무튼 그런 것도 있고, 최근에 돈이 좀 필요해서 집에서 굴러다니는 쓸데 없이 많아 이사갈 때 마다 큰 짐이 되는 책들을 조금씩 팔아보기로 했다. 우선 중고나라나 당근마켓에 하나하나 팔 수도 있었지만, 언제 팔릴 지도 모르고, 또 채팅으로 협상하고, 실제로 가서 거래하고, 택배 보내고 하는 일을 할 여유가 도저히 되지 않아 평소 자주 이용하던 알라딘에 책을 팔기로 했다. 책을 사려고는 많이 가봤어도 팔려고 가본적은 처음이라 왠지 모르게 떨렸다.. 2021. 11. 12.
블로그 글 주제 찾는 법 블로그를 시작하고 몇 개월은 나름 쓸게 넘쳐날 수 있다. 평소에 생각했던 것들이나 쓰고 싶었던 것들을 써 내려 가다 보면 블로그가 즐겁기도 하다. 하지만 곧 깨달고 만다. 쓸게 없다! 쓸 수 있는 주제는 다 쓴거 같은데, 글 수는 아직 한참 부족한거 같고, 도대체 블로그에 무엇을 써야 할까? 일상에서 항상 블로그 주제 찾기 블로그 주제는 가만히 앉아서 1시간 생각한다고 10개가 나오지 않는다. 블로그는 기본적으로 글쓰기이고, 글쓰기는 영감이 중요하다. 그래서 시간을 들여서 주제를 찾는다고 생각하기 보다는 일상에서 항상 블로그의 주제가 될 만한 것을 메모하는 습관을 가져야 한다. 예를들어, 며칠전 외출을 했는데 스쿠터를 타는 사람들이 보였다. 이를 보고 바로 스쿠터에 관련해서 글을 써야 겠다고 생각했다. .. 2021. 8. 19.
앱태크(App-Tech) 해 본 후기 소개 앱 태크는 앱 재태크의 줄임말로, 앱으로 돈을 버는 것이다. 핸드폰으로 클릭 몇 번 하는 것 만으로 돈을 벌 수 있다는 유튜브 영상에 끌려 앱태크를 시작하게 되었다. 처음에는 솔깃했지만 한 달 동안 해 본 결과 앱 태크는 안 하는 편이 좋다는 결론에 도달했다. 오늘은 개인적인 앱태크 경험을 공유해 볼까 한다. 너무 적은 돈 아래는 한 시간 정도를 써서 번 돈이다. 문제는 이 돈도 지속적으로 벌 수 있지는 않다는 점이다. (앱 태크에 있는 모든 미션을 할 수 있는 것은 아니다. 앱을 설치하는 미션이라면 이미 설치한 앱일 수도 있고, 자동차 보험 상담 미션이라면 자동차가 없을 수도 있다.) 앱 태크도 엄연히 시간을 써서 버는 돈이기 때문에 정말 돈이 필요하다면 앱 태크 보다는 짧게 편의점 알바를 하는게.. 2021. 8. 9.
애플 스마트홈, 홈킷 구축 후기 소개 집에 들어오기 5분 전, 에어컨이 켜지고, 불도 모두 켜진다. 외출을 하면 자동으로 모든 불이 꺼지고 가스불도 꺼진다. 아침에는 커텐이 자동으로 열리면서 아침 브리핑을 해 준다. 핸드폰을 전등을 껐다 켜고, 선풍기도 조정한다. 이 꿈같은 일들이 스마트홈에서는 가능하다. 먼 미래의 얘기가 아니라, 지금 당장 가능한 것들이다. 1년 전부터 애플이 만든 스마트홈인 홈킷을 집에 구축하고 있는데, 그 후기를 공유하고자 한다. 스마트홈을 사기 전에 반드시 알아야 할 내용 최근 IoT라는 말이 4차 산업 혁명이라는 말과 함께 많이 사용되고 있다. IoT가 뭔지도 잘 모르겠고, 우리 일상생활과 큰 관련이 없어 보이지만, 흔히 말하는 스마트홈이 바로 IoT의 대표적인 활용 사례라고 볼 수 있다. 하지만 의외로 이 .. 2021. 8. 3.
물리학이 무엇일까? 소개 과학을 좋아하는 사람은 유독 물리학을 좋아하는 사람이 많다. 유명한 과학자인 어니스트 러더퍼드는 "물리학 이외의 과학은 우편수집"이라 말했다. 이 말은 물리학 이외에 화학이나 생물학, 지구과학 같은 과학은 사실 생각해보면 단순히 현상을 묘사하는 것 이상의 원인을 밝히지는 못 하기 때문이다. 이 물질과 이 물질이 만나면 이 물질이 된다, 이 물질은 이런 특성을 가지고 있어서 몸 안에서 이런 작용을 한다 같은 설명은 모두 관찰할 수 있는 사실들의 모음(우표수집)이다. 이 물질이 왜 이런 특성을 가지고 있는지는 결국 물리학의 힘을 빌려야 한다. 그렇기에 물리학을 매력적으로 느끼는 사람이 많은거 같다. 하지만 구체적으로 물리학이 뭘까? 물리학에서는 무엇을 연구할까? 물리학을 왜 배워야 할까? 물리학의 사전.. 2021. 8. 2.
프로그래밍을 할려면 영어를 잘해야 할까? 소개 거의 모든 분야에 있어서, 영어가 가능하다면 분명 여러가지 면에서 좋은 점이 많다. 프로그래밍도 당연히 예외는 아니다. 하지만 모든것은 가성비이다. 영어를 배우는게 좋다고 해서 프로그래밍을 시작하기 전에 영어만 몇 년 배울 수는 없는 노릇이다. 또, 같은 영어라고는 해도, Stackoverflow에서 기본적인 내용을 질문/답할 수 있는 영어와, 미국의 회사에서 자유롭게 의사소통하면서 근무할 수 있는 수준의 영어는 다르다. 그렇기 때문에 우선 영어 실력을 분류하고, 상황에 따라 어느 단계까지 가야 하는지 논의해보자. 영어를 수준별로 나눠보자! 프로그래머가 해야하는 영어를 수준별로 나눠보자. 일단 5단계로 나눠봤다. 1. 기초적인 영어 2. Stackoverflow에 있는 질문/답변을 이해할 수 있는 .. 2021. 8. 1.
잃어버린 물건 바로바로 찾기, 애플 에어태그 리뷰 몇 달 전, 에어태그가 출시됐다. 오랫동안 기다리고 있었기에 바로 주문했다. 애플 제품은 어떤 제품이든 믿고 사는 편이다. 게다가 에어태그는 가격도 비싸지 않으니 망설임이 없었다. 개봉기 에어태그의 용도 그렇다면 에어태그의 용도는 뭘까? 아무래도 에어태그의 대표적인 악세사리가 열쇠고리인 만큼, 열쇠를 뺄 수는 없다. 하지만 현실적으로 한국에서 아직도 열쇠를 쓰는 사람이 얼마나 될까? 차키면 몰라도 이 용도는 사실 쓸모가 없다. 그래서 에어태그의 용도를 생각해 봤다. (사실 필요하면 사야 하는데 사고 나서 필요를 생각하고 있다.) 지갑 차키 가방 반려견 (강아지, 고양이) 현재 가방에 하나, 지갑에 하나 넣어서 사용하고 있다. (다만 지갑은 두께가 있어 불편했다) 에어태그의 치명적인 단점 에어태그는 한국에.. 2021. 7. 28.