요즘 애플리케이션의 구동 환경은 클라우드 네이티브로 가면서 쿠버네티스를 많이 선택하는 추세인데 그 밑바탕에는 도커 컨테이너가 깔려있습니다. 아마 개발자라면 컨테이너가 생소하지 않을 텐데요. 이런 컨테이너를 각티슈 케이스로 판매하는 곳이 있습니다. 무릇 개발자라면 이런 제품 하나쯤은 책상에 두고 싶어 하죠. 저도 진작부터 하나 갖고 싶었습니다. 그런데 제품 판매가 알리 익스프레스에서 이뤄지다 보니 몇 주는 고민하고 있었네요. 고민하는 시간에 주문했으면 벌써 받고도 남았을 거라는. 역시 고민은 배송을 늦출 뿐이라는 말이 맞는 것 같습니다. 그런데 이 제품을 이제 한국에서도 쉽게 구할 수 있게 됐습니다. 바로 인카토스를 통해서입니다. 제품 박스에는 조립 방법이 적혀있습니다. 설명서에 한글은 없지만 대충 그림만..
"트랜스포머를 활용한 자연어 처리"는 자연어 처리 분야에서 가장 인기 있는 인공 신경망 기반 알고리즘인 트랜스포머(Transformer)를 소개하고 있는 책입니다. 이 책은 트랜스포머의 원리와 작동 방식, 그리고 구현 방법까지 자세히 설명하고 있습니다. 각 장마다 실습 코드가 제공되어 있기 때문에, 실제로 트랜스포머를 사용해보며 이해할 수 있습니다. 책 속에는 자연어 처리를 위한 주요 기법들도 소개되고 있기 때문에, 자연어 처리를 처음 접하는 사람도 쉽게 이해할 수 있을 것 같습니다. 전체적으로 이 책은 트랜스포머를 자세히 이해하고 실제로 사용할 수 있는 능력을 기를 수 있는 좋은 자료일 것으로 생각됩니다. 이 책을 읽게 된다면, 트랜스포머가 어떻게 자연어 처리에 적용되는지, 어떻게 구현되는지, 어떤 실..
유독 시간이 빠르게 흘러간 한 해였다. 트위터 봇(위에 이미지)을 통해 올해 몇 %가 지나갔는지 알림을 받는데 그 속도가 놀라웠다. 올해 초에는 가족들이 코로나에 걸려 고생하는 등 크고 작은 일이 많았는데 특히 엔데믹을 맞이해서 외부 활동에도 시동을 건 게 기억난다. 3년간 숨참고 바깥활동 자제하고 있었는데 억울해서 안 되겠다 싶어 올해는 여행도 많이 다녔다! 그리고 커뮤니티 활동에 시동을 걸어 Cloud GDE가 되어 활동을 시작했고, 회사에서는 팀의 테크리드로 본격적인(?) 업무를 시작했다. 매니징은 당분간 하고 싶지 않았는데 정신 차려보니 이미 손에 직함이 들려있었다(웃음). 그럼 올해 어떤 일이 있었는지 자세히 기록해 보자 # 커뮤니티 활동 7월 7일에 Cloud GDE가 됐다. GDE는 구글 기..
진짜가 나타났습니다. 그동안 비슷한 책은 많았는데 훨씬 더 실무적인 측면에서 많은 이야기를 다루고 있는 책입니다. 책 이름이 낯익은 분들도 계실 텐데 맞습니다. 이 책은 소프트웨어 아키텍처 101 의 후속입니다. 전편에서 개념에 대한 내용을 다뤘다면 이번 편에서는 그것들을 실제로 깊이 있게 살펴본다고 보시면 됩니다. 두께도 전편 472p에서 508p로 좀 두꺼워졌네요. 목차가 이전 편과 크게 다르지는 않습니다. 대부분 중복되는 내용을 다루고 있습니다. 목차를 살펴보면 책에서 무슨 말을 전하려는지 감이 오실 겁니다. - chapter 1 ‘베스트 프랙티스’가 없다면? - chapter 2 아키텍처 퀀텀 - chapter 3 아키텍처 모듈성 - chapter 4 아키텍처 분해 - chapter 5 컴포넌트 ..
2022년 7월 7일 GDE가 됐습니다 🎉 GDE는 아래처럼 설명됩니다. The Google Developer Experts program is a global network of highly experienced technology experts, influencers, and thought leaders who have expertise in Google technologies, are active leaders in the space, natural mentors, and contribute to the wider developer and startup ecosystem. 한마디로 구글 기술에 대한 전문 지식을 갖고 있는 기술 전문가라고 이야기할 수 있겠네요. GDE는 구글의 글로벌 프로그램으로 다..
요즘 데브옵스(DevOps)는 IaC(Infrastructure as Code)와 떼려야 뗄 수 없는 관계가 됐습니다. 한빛미디어에 IaC와 데브옵스를 총망라하는 번역서가 있으니 바로 Infrastructure as Code 코드로 인프라 관리하기 입니다. 초판이 2017년 나왔는데 이번에 2판이 발간됐네요. 책에서 다루지 않는 내용으로는 운영체제 라던지 Kubernetes 클러스터 설정, 네트워크 등이 있습니다. 또한 Terraform, CloudFormattion, Pulumi 같은 특정 도구로 설명은 하지 않습니다. 대신, 코드로 개념 설명이 필요할 때 stackmaker, servermaker라는 가상의 도구로 설명을 하니 참고하시면 좋습니다. 책에서는 코드로 인프라를 관리하는 여러 가지 방법론을..
Google Cloud Run online hackathon 에 참여했습니다. APAC을 순회하며 이벤트를 하고 있는 것 같은데 한국은 9월 27일이었네요. 해커톤의 기본 룰은 간단했습니다. 퀵랩을 통해 모든 환경은 제공받고 GitHub에서 기본 코드까지 내려받을 수 있었습니다. 그야말로 클릭 대여섯 번이면 게임에 참여가 가능했죠. 다만, 점수를 올리려면 소스코드에 본인만의 로직을 개발해야 했습니다. # 해커톤 방식 해커톤은 게임 형식으로 진행됐습니다. 마치 크레이지 아케이드처럼 바둑판 모양의 경기장에 사용자가 로그인합니다. 여기서 "사용자"는 해커톤 참가자가 배포한 cloud run 애플리케이션입니다. 경기장은 1초에 한 번씩 입장한(등록된) cloud run 서비스 전체를 호출합니다. 이때 경기장의 ..
데이터 문해력을 키워주는 작지만 강력한 책을 만났습니다. 데이터 분석가가 들려주는 데이터 이야기인 "데이터 분석가의 숫자유감"입니다. 기본적인 구성은 만화로 되어 있고 각 화가 끝날 때마다 3~4 페이지 분량의 텍스트로 만화 컷에서 다룬 내용을 정리해줍니다. 총 14화로 구성되어 있는데요. 책 읽는 속도가 느린 편인 저도 한 시간이 안 걸려서 뚝딱 읽을 수 있었습니다(페이지 번호가 표시된 마지막 장이 342p). 사실 책에 84% 정도가 만화로 구성되어 있기 때문에 당연한 결과지요. 84%라는 수치는 342p 중에 1화가 끝날 때마다 대충 4페이지 정도 텍스트가 있으니 총 14화이므로 56p가 텍스트라는 이야기. 그렇다면 전체 중에 텍스트는 56p/342p이므로 대충 16%가 텍스트. 목차도 텍스트고 각..
한빛미디어에서 번역서로 나온 SRE를 위한 시스템 설계와 구축은 아주 흥미로웠습니다. 여기저기 파편화돼서 흩어져있던 정보를 이 책 한 권으로 말끔하게 정리한 것 같습니다. 21개의 챕터, 600페이지가 넘는 분량으로 SRE를 위한 정보는 빠짐없이 담으려는 노력이 엿보이는데요. 특히 중간중간 등장하는 구글의 사례는 아주 흥미롭습니다. 특히 "보안과 신뢰성에 대한 책임을 지는 사람은 누구인가?"라는 질문에 "우리는 조직의 전 직원이 보안과 신뢰성에 대한 책임을 갖기를 권한다. 즉, 개발자, SRE, 보안 엔지니어, 테스트 엔지니어, 기술 리드, 관리자, 프로젝트 관리자, 기술 문서 작성자, 임원 등 모두가 책임을 공유해야 한다"라는 답변에 그동안 재직했던 회사들은 어떠했는지 돌이켜볼 수 있었습니다(웃음). ..
코로나 때문에 개발자 오프라인 콘퍼런스는 멸종했었는데 정말 오랜만에 코엑스 그랜드볼룸에서 콘퍼런스가 열렸습니다. 인프콘 2022. 약 만 명 정도가 신청을 했다는 후문인데요, 그중에 (짐작건대) 1~2천 명 정도 추첨하지 않았을까 싶습니다. 그럼 현장의 내용과 함께 세션에 대한 간략한 요약을 해보겠습니다. 우선 아래는 이번 행사의 전체 타임라인입니다 코엑스 그랜드볼룸은 갈 때마다 길이 헷갈리는데요. 이번에는 대-충 개발자처럼 복장하신 분들이 지하철을 내려서 우르르 가시는 걸 따라가 보니 쉽게 도착할 수 있었습니다(웃음). 자, 코엑스에 들어서자마자 어마어마한 인파에 놀라게 됩니다. 우리 회사도 열심히 채용하고 있는데 개발자들 어디 있나 했더니 여기 다 계셨네요!! :) 위에 사진으로는 "사람이 많은 건가..
2019년 11월 GA 된 Cloud Run은 퍼블릭 클라우드에서 서버리스 애플리케이션 분야의 게임 체인저로 단숨에 자리 잡았습니다. Cloud Functions의 경우 multiple language runtime 개수도 부족해서 타사의 FaaS(Functions-as-a-Service)를 쫓아가기 바쁜 상황처럼 느껴졌는데요. 그러던 와중에 Cloud Run이 등장하게 됩니다. Cloud Run은 Cloud Functions 대비해서 인스턴스 크기가 커졌습니다. 즉, CPU, Memory를 더 풍성하게 사용할 수 있게 된 거죠. 그뿐만이 아니라 Cloud Run은 클릭 몇 번으로 트래픽을 버전별로 분할해서 처리할 수 있고 function instance에서 처리 가능한 요청 개수(maximum requ..
클라우드 인프라를 구축하는 방법은 0) 프로바이더가 제공하는 웹 대시보드에서 생성 1) 애드 훅 스크립트(bash, shell script) 사용 2) 구성 관리 도구(Chef, Puppet, Ansible, Saltstack) 3) 서버 템플릿 도구(Docker, Packer, Vagrant) 4) 서버 프로비전 도구(Terraform, CloudFormation, Openstack Heat) 이렇게나 다양합니다. 오늘은 테라폼을 통해 GCP 인프라를 구축하기 위해 그 뼈대가 되는 모듈 구조에 관해 이야기해봅니다. 본문에서 사용하는 코드는 GitHub으로 제공되니 전체 코드가 궁금하신 분은 링크를 참고하시면 되겠습니다. 이 글은 GCP 기준으로 작성했지만, AWS, Azure 등 어떤 provider를..
한빛미디어에서 발간된 Design Patterns for Cloud Native Applications, 아주 흥미로운 책입니다. 기존에 micro service architecture를 소개하던 여럿 책들과 비슷하게 내용은 흘러가지만 제목 그대로 클라우드 네이티브 애플리케이션 디자인 패턴을 망라하고 있습니다. 아키텍처를 구축하는데 필요한 다양한 패턴을 배울 수 있는데요, 2장- 통신 패턴, 3장- 연결 및 구성 패턴, 4장- 데이터 관리 패턴, 5장- 이벤트 기반 아키텍처 패턴, 6장- 스트림 처리 패턴, 7장- API 관리 및 사용 패턴, 8장- 실례로 살펴보는 클라우드 네이티브 패턴까지 순차적으로 다룹니다. 아래처럼 언제 사용하면 좋은지, 사용해서는 안 되는 경우는 또 언제인지 비교를 통해 나열합니..
데브렐(DevRel) 관련해서 낱낱이 파헤치는 책이 한빛미디어에서 번역되어 나왔습니다. 개발 커뮤니티에 관심이 많다 보니 자연스럽게 데브렐 팀의 역할에 대해서도 궁금했던 적이 있었는데요. 이 책을 통해 한껏 이해를 높일 수 있었습니다. 물론 이 책 한 권으로 그들이 하는 업무, 그리고 역할을 모두 이해하기란 쉽지 않습니다. 막연하게 "소프트웨어 엔지니어란"을 주욱 설명해놓으면 "응? 내가 정말 이 일을 다 하고 있나?", "여기 없는 것도 하는데?"처럼 여러 가지 반응이 나올 수 있을 겁니다. 이 책도 마찬가지입니다. 이 책 한 권으로 데브렐이 무엇인지, 커뮤니티와 어떻게 연결되어 있는지를 한방에 끝낼 수는 없을 겁니다. 하지만 적어도 커뮤니티 활동을 통해 자연스럽게 체득한 정보와 책의 내용을 접목시키면..
MacOS에서 5000번 포트를 사용하려는데 이미 포트가 사용 중이라는 오류를 본 적이 있나요? OSError: [Errno 48] Address already in use netstat 을 통해 살펴보면 실제로 5000번 포트가 열려있습니다. 그런데 내가 실행한 프로그램은 아닌 거죠. jybaek:~$ netstat -nat | grep 5000 tcp6 0 0 *.5000 *.* LISTEN tcp4 0 0 *.5000 *.* LISTEN 어떤 애플리케이션에서 열고 있는 건지 lsof 로 살펴봐도 잘 모르겠습니다. jybaek:~$ sudo lsof -i :"5000" COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ControlCe 460 jybaek 22..
혼자 공부하는 파이썬이 개정판으로 돌아왔습니다. 혼자 공부하는 시리즈는 이미 여러 책을 통해 좋은 평판을 얻고 있으며 개정판이 출시됐다는 건 그만큼 많은 독자에게 사랑을 받았다는 증거가 아닐까요? 이 책은 파이썬의 다양한 문법을 시작으로 아주 기초적인 프로그래밍을 설명합니다. 프로그래밍을 몰라도 괜찮습니다. 파이썬으로 시작하려고 마음먹었다면 이 책을 한번 살펴보세요. 단원의 마무리에서 핵심 포인트를 통해 꼭 기억해야 하는 것들은 정리해 줍니다. 또한 혼자 시리즈의 특징인데 정말 혼자 공부할 수 있도록 수업 진도를 스스로 정리할 수 있습니다. 개정판은 조금이라도 어색한 부분을 수정하기 위한 노력이 있었습니다. 저도 여기에 한 숟가락 얹었습니다(웃음). 파이썬 입문서는 강력한 경쟁상대들이 있습니다. 온라인에..
일 년 넘게 재택근무를 하고 있다 보니 집에 있던 HHKB2가 손에 너무 익어버렸다. 그로 인해 이제 맥북 기본 키보드로 타이핑을 하고 있자면 괜히 화가 치미는 상태다. 나중에 재택근무가 끝나면 다른 환경(회사)에서도 집과 동일하게 해피해킹을 두고 쓰면 좋을 텐데...라는 생각이 뇌를 지배했고 결국 블랙으로 구매했다. 역시 고민은 배송을 늦춘다(웃음). 집에서 사용하는 해피해킹이 흰색이니 회사에서는 다른 즐거움을 얻기 위해 블랙(유각)으로 선택. 집에서 너저분한 선 때문에 고통받았으니 새로운 해피해킹은 하이브리드(무선) Type-S로 구매. 이건 이전 글에서 리뷰했다. 그리고 키보드만 검은색이면 트랙패드랑 색이 안 맞을 것 같아서 기왕이면 깔맞춤(...) 그렇게 블랙 트랙패드2도 구매했다. ( 트랙패드는..
굿바이 SKB SKB를 5년 가까이 사용하고 있었고 그중에 2년은 약정 없이 쓴 것 같다. 그 전에는 KT를 사용했었고. 약정을 걸지 않고 사용했던 건 언제고 떠나고 싶을 때 떠나려는 목적이 컸다. 그런데 그 기간이 2년을 넘어가다니... TMI로 말하자면 이전에 사용하던 KT에서 (현재의) SKB로 올 때 스트레스가 아주 많았다. KT 서비스에 질색도 했었고. 결과적으로 아마 나는 KT 블랙리스트로 등재되어 있지 않을까 하는 생각도. 지금 거주 중인 곳은 SKB 인터넷 회선이 100MB로 들어오는데 다른 통신사도 같을 줄 알았다. 아니 요즘 세상에 100MB 회선이라니!! 더욱이 이번에 알게 된 사실인데 여기 들어오는 SKB 회선은 비대칭형이라고 하더라. 비대칭? 무슨 말인고 하니 업로드와 다운로드 속..
향후 10년 이상 업계에 표준처럼 추천될 괴물 같은 번역서가 한빛미디어에서 나왔습니다. 주인공은 바로 "구글 엔지니어는 이렇게 일한다 (Software Engineering at Google)". 이 책의 유일한 오점은 제목이 아닐까 싶지만 (번역된 제목이 꽤나 오글거린다) 안에 내용을 읽고 나면 묘하게 설득됩니다. 이 책은 제목에서 나타나는 것처럼 구글의 다양한 소프트웨어 엔지니어링 문화를 담고 있습니다. 먼저 아래 목차를 살펴보면 책을 이해하는데 한층 도움이 될 겁니다. # PART I 전제 1. 소프트웨어 엔지니어링이란? # PART II 문화 2. 팀워크 이끌어내기 3. 지식 공유 4. 공정 사회를 위한 엔지니어링 5. 팀 이끌기 6. 성장하는 조직 이끌기 7. 엔지니어링 생산성 측정하기 # PA..
KubernetesExecutor 적용에서 이어지는 내용입니다. 환경 구성이 끝났다는 가정하에 진행합니다. 앞에서 만든 values.yaml 파일을 수정하고 적용해야 합니다. 이 파일은 계속 사용되므로 VCS(Version Control System)에서 관리하면 좋습니다. 자, 파일을 열어보면 gitSync라는 설정 부분이 있습니다. 이 부분을 수정해서 Kubernetes에서 Sidecar Pattern으로 gitSync를 사용할 수 있습니다. 이름부터 직관적이라 어떤 기능인지 이해하는데 어려움은 없습니다. 일단 values.yaml 파일에서 관련된 부분을 살펴보시죠. # Git sync dags: persistence: # Enable persistent volume for storing dags e..
- Total
- Today
- Yesterday