
이번에 한빛미디어 "나는 리뷰어다"를 통해 받게 된 책은 처음 배우는 스위프트 이다. 마침 현재 재직중인 회사에서 스위프트를 통해 iOS 네이티브 앱을 유지보수 할 일이 있었는데 이 책을 받고 환호했던 날이 기억이 난다. 본인은 백엔드와 인프라 아키텍처를 설계하는 사람이지만, 작은 스타트업에 재직하다보니 때로는 프런트엔드를 하기도 하고,.. 요즘은 iOS 개발자의 퇴사로 인해 소소한 유지보수는 직접 하고 있던터였다. 아무튼, 여러 영역에 거쳐 개발을 해오다보니 감이 있어서 xcode( iOS 개발 툴, intellij 같은 IDE)를 열고 적당히 화면에 보이는 영역의 소스코드를 찾아서 수정하는 건 어렵지 않다. 하지만 새로 뭔가를 개발하기 위해서는 iOS 사용되는 개발 패턴을 알아야 하고 UI 와 유기적..
기술 블로그로 운영할 때는 혹시 설명을 잘못하지는 않았는지, 어려운 용어가 남발되지는 않았는지, 이런 걱정이 있었는데 최근 개인적인 생각을 기고하다 보니 글을 쓰는 게 두려워졌다. 인터넷이라는 열린 공간에 작성된 글이라 퍼져나가는 게 순식간이다. 여기저기서 내가 작성한 글로 분위기가 뜨겁다. 내게 돌아오는 가시 박힌 글도 꽤 봤다. 차라리 직접 이야기하면 해명이나 반박 등 의견을 교류할 수 있겠는데 그것도 아니다. “글”을 비판하는 것을 넘어 나를 비판하기도 한다. 고작 천명 남짓 들어오는 블로그에서 내가 이런 기분을 느끼는데 셀럽들은 어떨까. 연예인은? 말보다 가시 박힌 짤막한 글이 더 무섭다. 특히 부정적인 글에 유독 그런 반응이 많다. 부정적인 글을 쓸 때는 조금 더 조심해야 할까? 작성 중인 글이..
이전 글에서 요즘 개발팀에 필요한 인재상이라는 제목으로 글을 작성했다. 이번에는 그 반대로 개발팀에 절대 존재해서는 안 되는 독약 같은 사람에 대한 글을 써보고자 한다. 조직을 서서히 붕괴시키는 힘을 가진 사람들의 특징을 알아보자. 다소 불편한 글이 될 수 있지만, 우리 조직 내에 이런 사람이 없는지 잘 살펴보기를 바란다. 당신 주변에도 분명히 있다. # 기술이 얕은 사람 말해 뭐하겠는가. 개발자인데 CS에 대한 기초가 없고 알고리즘은 물론이고 개발 철학도 없다. 네트워크 이야기가 한참인데 기술적인 용어를 중간중간 못 알아듣는다거나. In-Memory DB에 데이터 적재를 이야기하고 있는데 그 특징을 이해하지 못한 상태로 대화에 참전하는 사람. 배경지식으로 당연히 알고 있어야 하는 내용을 모르고 있다면 ..

한빛미디어의 3분 딥러닝 시리즈에 파이토치맛이 추가 되었다. 다른 3분 시리즈와 마찬가지로 딥러닝의 여러 기법들을 소개하는 큰 줄기로 책이 구성된다. 그 중심에는 파이토치가 있다. 파이토치는 페이스북 주도로 여러 회사와 대학이 합심해 개발한 오픈 소프트웨어이다. 텐서플로우 이후 탄생한 딥러닝 프레임워크로 텐서플로우에서 아쉬웠던점들이 상당부분 보완되어 탄생했다. 아마 내가 처음 파이토치를 접한 건 파이토치로 구현된 deepspeech2 를 들여다보고 커스터마이징 했을때같다. 딥러닝의 기법들을 상당히 직관적으로 풀어내고 있기 때문에 코드를 이해하는데도 큰 어려움이 없었다. 책 중간이 [재미로 보는 파이토치 관련 숫자]가 있는데 아래와 같은 내용으로 채워져있다. 2019년 8월 25일 기준으로 파이토치와 관련..
여러 회사를 거치며 서비스를 론칭&운영해보니 좋은 제품을 만들기 위해서 개발팀에 필요한 인재상이 무엇인지 눈에 보이기 시작했다. 이번 글에서는 개발자 인재상에 대해 이야기를 해 볼 생각이다. 주변을 둘러보면 여기 제시되는 모든 덕목을 갖춘 사람도 있고, 일부분만 해당하는 사람도 있다. 하지만 적어도 하나 이상은 필수 조건으로 꼭 해당이 되어야겠다. 참고로 글은 생각나는 대로 작성했기 때문에 나열된 순서가 우선순위(중요도)를 나타내지는 않는다. 글을 읽고 본인은 어떤 사람인지 생각해보면 좋다. # 다방면으로 얕지만 넓게 아는 사람 그야말로 여러 분야에서 통찰력이 있는 사람이다. 본인의 업무를 제외하더라도 아는게 많아서 여기저기 도움을 주는 인재상. 예를 들어 프런트 개발자가 퍼블릭 클라우드 인프라에 대한 ..

리눅스 시스템은 시리얼 포트를 통해 모니터 출력을 제공한다. 직렬 포트로 직역해서 사용하기도 하는데 대충 아래 그림과 같이 생겼다. 아마도 예전 CRT 모니터쯤에서 흔히 봤음직한 포트인데, 이 단자를 통해 리눅스 시스템의 터미널로 접근이 가능하다. putty나 SecureCRT 같이 SSH, Telnet을 지원하는 터미널 에뮬레이터에는 serial port옵션도 제공을 하니 많이들 사용하는 방법이다. 시리얼 포트는 기기에 일반적인 통신이 불가능한 상태에서 사용하게 된다. 보통 공장초기화 상태의 기기나, sshd, telnetd 같은 데몬이 정상적으로 서비스되고 있지 않아서 기기에 접속이 불가능한 경우에 사용하면 용이하겠다. 클라우드로 세상이 바뀌어가면서 시리얼 포트는 점점 잊혀갔지만 여전히 필요한 순간들..

장마 때문에 빗소리가 우렁찬 밤에 위대한 역사를 읽어내려갔다. 속독했다고는 하지만 주말 한 시간이 눈 깜짝할 사이에 사라졌다. 한빛미디어에서 내놓은 유닉스의 탄생이 바로 그 원인이다. 십수년간 IT 업계에서 커널 개발을 시작으로 대부분의 시간을 백엔드 개발, 인프라와 보냈다. 그리고 그 중심에는 항상 *NIX가 있었다. 그리고 개인적인 관심으로 *NIX 관련해서 여러 문헌을 읽었지만, 이 책은 인터넷에 돌아다니는 모든 관심사의 종합 본이다. 저자인 브라이언 커니핸은 30년 동안 벨 연구소의 컴퓨팅 과학 연구 센터에서 일했는데 그가 지켜본 역사를 이 책에 녹여냈다. 어쩌면 자서전처럼 보일지도 모르는 책이지만 덤덤하게 이야기하는 역사에 소름이 끼칠 지경. 그의 과거 행적을 현재의 내가 누리고 있다. 근래에 ..

2019년 11월 GA 된 Cloud Run에 대한 이야기를 해볼까 합니다. GCP에는 이미 서버리스에 한축을 담당하는 Cloud Functions가 GA 되었음에도 여전히 부족한 게 사실입니다. 자체적으로는 꽤 쓸만할지 모르겠으나 타사의 서버리스를 사용해본 유저라면 여러 가지로 불편한 게 사실이죠. 더욱이 앞질러가고 있는 서비스(이를테면 AWS)를 흉내 내는 듯한 모양새는 어쩔 수 없는 후발주자의 모습이었습니다. - 관련 글 : Cloud Functions, 이래서 베타다 그러던중 Cloud Next 2019에서 Cloud Run이 소개되었고 서버리스의 새로운 장을 여는 느낌이었습니다. 컨테이너 기반으로 동작하기 때문에 이식성이 좋고 기존에 도커와 같은 툴에 익숙하다면 진입장벽이 한없이 낮습니다. Cl..

한빛미디어 리뷰어 프로그램을 통해 전달받은 팀 개발을 위한 Git・GitHub 시작하기 책은 아주 재미있다. 오래전부터 공식 도큐먼트를 통해 충분히 봐온 명령어, 그리고 특히 현업에서 사용하고 있는 친근한 명령어와 사이트(GitHub)를 이 책은 어떻게 표현하고 있을까. 이 책은 표지에서 표현하는 것처럼 GUI 환경을 통해 친숙하게 접근하고, CLI 환경으로 실제 어떤방식으로 동작 하는지 잘 설명하고 있다. 아마 레포지토리를 처음 사용하는 개발자에게는 최고의 선물이지 않을까? 다만 아쉬운 부분이 있다면 책에서 다루는 GUI 부터가 생소한 사람이라면 ... 아 아니다. 애초에 모든 독자층을 커버 하기란 쉽지 않으니까. 특히 풀컬러로 구성되어 있는 이 책의 친절함은 많은 뉴비 개발자에게 단비와 같을 것이다...

! 앱피움 소개, 설치 방법을 가이드하는 글이 아닌, 조직에 도입하면서 겪은 경험을 일기처럼 써 내려간 글입니다. 글 중간중간 가볍게 적은 내용에서 인사이트를 얻으실 수 있기를 바랍니다. 앱 테스트 자동화를 알아보다 보면 엷은 물줄기가 호수로 모이듯이 결국 앱피움(appium)이라는 오픈소스 테스트 자동화 프레임워크로 귀결된다. 이번에 QA 조직에서 테스트 자동화를 도입할 수 있도록 가까운 곳에서 지원하며 익힌 내용을 두서없이 기록해본다. 이미 인터넷에는 앱피움의 소개 글이나 설치 방법들을 어렵지 않게 찾아볼 수 있는데 정작 이것으로 무엇이 가능하고, 어떻게 활용되는지에 대한 글은 부족해 보인다. 아니, 어쩌면 이미 얕게 충분히 살펴본 사람들의 글이라서 지식의 저주[1]에 빠져 내용 전달이 부실하게 느껴..

한빛미디어를 통해 발간된 번역서 "배워서 바로 쓰는 스프링 부트2" 책을 리뷰 이벤트를 통해 받아보게 되었다. 재미있는 배경이 있는데 본인이 최근에 맡은 신규 프로젝트가 스프링으로 구성되었고, 덕분에 스프링을 처음 접하게 되었다. 그 후로 스프링 개발을 5개월 정도 하고 다른 업무(PM)를 진행하게 되어 스프링에 대한 감을 잃어가고 있었다. 원래 빠르게 익힌 것은 빠르게 잊게 된다는 말처럼 실무에서 실력자들(십수 년 자바&스프링으로 개발을 해오신 고수들)에게 어깨 넘어 배웠던 내용들이 머릿속에 오래 남아있지 않았던 것 같다. 아무튼, 다시 스프링을 통해 업무를 처리하고 감을 되찾아야겠다고 생각하는 찰나에 이 책을 만나게 되었다. 이 책을 처음 본건 페이스북 광고를 통해서인데, 댓글에 작성되어 있던 비판적..
2018년 10월쯤부터 2020년 5월까지 퍼블릭 클라우드의 커뮤니티 오거나이저로 활동을 해왔다. 공식적인 활동이기 때문에 클라우드 운영사의 지원을 받아 다양한 행사를 진행해보는 등 여러 가지 경험을 쌓을 수 있었다. 약 1년 6개월. 짧다면 짧고 길다면 긴 여정을 돌이켜보며 미래의 나를 위해 추억하고 정리해 본다. 두서없이 작성한 글이라 누군가 불편을 느끼지 않기를 바란다. 그런 의미로 소속에 대한 상세한 언급은 피했다. 일단 퍼블릭 클라우드의 커뮤니티 오거나이저라고 하면 클라우드 기술을 널리 알리기 위해 기술 스터디, 콘퍼런스 등을 주최 함으로써 이쪽 생태계에 기여하는 역할을 수행하는 사람이라고 정의할 수 있다. 이외에도 다양한 활동이 있지만 핵심가치는 생태계 기여이다. 그리고 댓가가 없는 활동이다 ..

본인은 인공지능 스피커의 가장 큰 사용성은 음악 재생이라고 생각한다. 그런 면에서 현재 멜론을 구독하고 있기 때문에 인공지능 스피커를 구입한다면 카카오에서 판매되는 카카오 미니 등을 구매하는 게 맞지만 멜론에 굉장히 실망하고 있는 요즘 카카오 인공지능 스피커를 살 이유가 없다. 더욱이 멜론을 구독하고 있지만 정작 한 달 재생 시간은 1시간 미만... 애플 뮤직이나 유튜브 뮤직으로 옮겨가는 것도 생각했지만 자주 듣는 앨범 설정하는 게 귀찮아서 망설이고 있었다. 그러던 중에 구글에서 인공지능 스피커의 점유율을 높이려고 유튜브 프리미엄 고객 대상으로 구글 홈 미니를 공짜로 잔뜩 풀었다. 덕분에 중고 시장에는 값싼 매물이 넘쳤고 이 기회에 한번 써보자며 구글 홈 미니를 구입하게 됐다. 싼 맛에 한번 써보자는 심..
오늘의집, 스타일쉐어, 당근마켓, 인스타그램, 틱톡 이 앱들의 공통점은 1) 고객이 업로드한 이미지가 곧 메인 상품인 서비스이고 2) 사용자가 앱 내에 머무르는 시간이 경쟁의 척도가 될 수 있는 서비스라는 점이다. 사용자가 앱에 오래 머물게 하려면 여러 요소들이 충분히 흥미로워야 되고 피로감을 주지 않아야 한다. 이걸 풀어보면 사용자에게 익숙한 UX를 제공하던지 앱을 쉽게 사용할 수 있어야 한다는 뜻이다. 또한 앱 내 모든 로딩과 반응 속도는 200ms 안으로 처리해서 사용자에게 피로감을 주지 말아야 한다. 눈을 깜빡이는 200ms 동안 계속 이미지 로딩하는 화면이 보이고 있다면 고객님은 금세 따분함을 느끼게 된다. 상품 목록을 쇼핑할 때 엄지 손가락으로 한번 스크롤하고 다음 스크롤을 위해 엄지가 스크린..

"개발 7년차, 매니저 1일차"는 한빛미디어 리뷰 이벤트 덕분에 받아보게 된 매니저에 대한 책이다. 이 책이 굉장히 흥미로운 점은 개발자가 매니저 역할로 돌아서면서 심리적으로 두려워하는 부분, 우려하는 포인트 그리고 역할 등에 대해서 잘 표현하고 있다는 점이다. 가령 매니저가 정말 개발자의 무덤인지, 팀을 위해 무엇을 해야 하는지, 갈등은 어떻게 해소해야 하는지와 같은 이야기가 잔뜩 실려있다. 특히, Tech Lead, Manager, Team Lead, Tech Manager, CTO 역할에 대해 다시 한번 생각해볼 기회를 준다. 그리고 각 위치에 따라 결정해야 하는, 혹은 맞이하게 되는 미션과 방향을 해소해주는 아주 재밌는 책이다. 예를 들어 단순히 "매니저가 됐으면 1 on 1을 해야 한다"에서 끝..

스마트폰 보급과 함께 하루에도 셀 수 없을 만큼 많은 앱이 출시되고 사라지는 세상이 되었다. 개인이 큰 욕심 없이 설렁설렁 출시하는 경우도 있지만 조직적으로 많은 사람들의 노력과 결실로 세상에 출시되는 앱도 많다. 대기업부터 작은 벤처 규모의 스타트업까지 많은 사람들이 대박을 꿈꾸며 서비스를 출시하는데 오늘날 이런 경쟁에서 이기려면 어떤 전략이 필요할까? 이번 글에서는 성공을 위한 최소한의 조건에 대한 너무나 당연한 이야기를 해보려고 한다. 대부분의 신생 스타트업을 살펴보면 팀을 꾸릴 때 가장 먼저 찾는 게 개발팀이다. 그만큼 서비스의 승패에 가장 밀접하게 맞닿아 있다고 볼 수 있는데 뛰어난 개발자들을 잔뜩 모았다고 서비스가 성공할까? 물론 여타의 경우보다 가능성이 높은 건 사실이다. 이 경우에는 클라이..
패키지를 다운로드 받아서 npm install 시켰는데 아래와 같은 오류가 발생했다. $ npm install > fsevents@1.2.11 install /Users/jybaek/work/foo/client/node_modules/fsevents > node-gyp rebuild xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer direct..

요즘 한참 쿠버네티스에 딥-다이브 하기 위해서 여러 가지 책을 닥치는 대로 읽고 있는데 마침 한빛미디어에서 리뷰를 제안한 책이 쿠버네티스 관련된 책이었다. 제목이 거창하지만 입문하는 사람도 충분히 읽을 수 있을만한 책이라고 생각된다. 컨테이너란 무엇인지부터 천천히 알아보고 쿠버네티스의 발전 배경에 대해서도 다룬다. 클라우드 네이티브 데브옵스라는 이름에 걸맞게 GCP, AWS, Azure 등에서의 쿠버네티스도 가볍게 설명해주고 있으며 관리를 위해 알아야 하는 파드, 클러스터, 스케줄러, 디플로이먼트 등 용어를 하나씩 실습을 통해서 익힐 수 있도록 해준다. 파드 : 하나 이상의 컨테이너 그룹으로 구성된 쿠버네티스 오브젝트 클러스터 : 여러 대의 물리적인 서버를 묶어놓은 상태 스케줄러 : 노드에서 아직 실행되..

# History 집에서 SK브로드밴드를 사용하고 있고 핸드폰이나 노트북, 아이패드 등 무선 기기들은 iptime 공유기를 통해서 사용하고 있다. 초반에 인터넷을 들여놨을 때는 속도가 느리다는 걸 못 느끼고 있었는데 시간이 지날수록 사용하지 못할 정도로 속도가 떨어졌다. 참고로 집에서 인터넷을 사용할 일이 많지 않으니까 저렴한 100MB 회선을 사용하고 있다. 시간이 지나고 도저히 안되겠다는 생각으로 브로드밴드에 전화해서 더 높은 등급의 회선으로 변경하려고 했지만... 현재 거주 중인 아파트에 기가랜은 들어오지 않는다고... 아무튼, 이렇게 된 이상 더 나은 환경을 만들기 위해 나서야겠다. IT 경력이 십수년인데 신호 증폭기라도 만들어야 하지 않겠냐는 생각으로 고민을 시작했다. 사실 100MB 회선은 가..

우한 폐렴이 2020년 구정부터 세계적으로 난리다. 우리나라의 경우 특정 종교집단이 바이러스를 퍼 날라 온 나라를 바이러스 공포에 몰아넣었다. 한국을 입국 불가 국가로 지정한 나라도 생기는 걸 보면 확실히 이번 바이러스의 영향력이 실감된다. 이미 몇 백 원 하던 마스크는 열 배 가까이 가격이 올랐고 생필품 사재기까지 부분적으로 시작되고 있다. 그만큼 이번 코로나 19의 전염성은 지난 사스나 메르스보다 강력하다. 미세먼지가 극성이던 지난겨울에도 마스크를 착용하고 있는 행인들이 많지 않았는데 이제는 90% 이상은 마스크를 착용하는 듯하다. 각설하고 이번 사태로 인해서 SK, 카카오, 쿠팡 등 대기업부터 중견기업, 스타트업까지 많은 기업들이 근무 형태를 재택근무로 돌리고 있으며 본인이 현재 재직하고 있는 회사..
- Total
- Today
- Yesterday