월요일, 7월 27, 2020

[B급 프로그래머] 2020년 7월 25일 개발자 이야기

2020년 7월 25일자 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 재미있는 개발 이야기(w/ 허광남-박재호)에서 확인할 수 있다.

2020년 7월 25일자 방송 스크립트는 전체 공개되어 있으며, 슬라이드셰어에서 보거나 다운로드 받을 수도 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 5:30 가짜 애자일과 기관총 애자일
  • 10:28 프론트엔드 인터뷰 핸드북
  • 11:49 개발자도 알면 좋은 UI 디자인
  • 12:20 컴퓨터공학과를 다니면서 배운 것
  • 15:42 [IT 개발자와 일할 때 필요한 모든 개발지식] A to Z 자료 모음집 By 그랩
  • 17:35 “크롬과 엣지의 메모리 사용량 감소 신기술, 손해가 더 크다” 구글 엔지니어의 결론
  • 18:26 GPT-3로 React 앱 만들기
  • 25:00 깃허브도 멈추게 만든 auto incremental PK
EOB

토요일, 7월 25, 2020

[B급 프로그래머] 7월 4주 소식(개발/관리도구, 고성능 서버/데이터베이스 부문)

(오늘의 짤방: "Let's use JavaScript on the backend" as a picture via @sjmaple)
  1. 개발/관리도구
  2. 고성능 서버/데이터베이스
보너스: Branchless Programming: Why "If" is Sloowww... and what we can do about it!
EOB

수요일, 7월 22, 2020

[독서광] 파이썬 알고리즘 인터뷰

오늘은 요즘 가장 뜨거운 키워드인 '파이썬'과 '인터뷰'로 인해 인터넷 서점에서 화제가 되고 있는 '파이썬 알고리즘 인터뷰'를 소개하겠다. 출간에 앞서 미리 내용 검토 과정에 참여했기 때문에(마치면서의 감사 부분에 이름이 나온다. ;)) 단순히 독자 입장이 아니라 약간은 저자 입장에서 생각해볼 기회가 있었고 이 책의 특징에 대해 언급할 시간이 온 것 같다.

가장 먼저, 여느 알고리즘 책과는 달리 이 책에서는 알고리즘의 실행시간에 대해 상당히 공을 들여 설명하고 있다. 이 책은 이론적인 빅 오 표기법을 설명하고 그 다음부터는 잊어먹는 대신 어떤 작업을 하는 과정에 걸리는 시간에 대해 집요하게 파고든다. 경험상 정말 수십 시간 걸리던 작업을 수 시간 아니 수 분 내로 단축하는 마법은 컴퓨터 성능 강화보다는 알고리즘 개선에 있는 경우가 대부분이므로 개발자라면 누구나 알고리즘에 대해 관심을 가져야 마땅하다는 생각이다. 물론 데이터베이스를 중심으로 돌아가는 비즈니스 논리를 많이 다루는 소프트웨어인 경우라면 알고리즘의 중요성이 많이 퇴색될지도 모르겠지만 내게 필요없다고 해서 남도 필요없을 것이라고 지레 짐작해서 알고리즘 무용론을 펼치면 함정에 빠질 가능성이 아주 높다. 컴퓨팅 자원이 제한적인 임베디드 장비에서 성능을 쥐어짜기 위해 땀을 흘려보면 알고리즘의 중요성을 알게 된다.

다음으로 이 책은 파이썬 자체에 대한 하부 동작원리에 대해 파고든다. 알고리즘 책은 언어에 중립적이고 하부 구현에 중립적이어야 한다는 틀을 깨고 이 책은 알고리즘을 구현하는 과정에서 파이썬의 성능을 어떻게 하면 극대화할 수 있을지를 설명한다. 이런 접근 방법은 인터프리터 방식으로 동작하기 때문에 막연히 성능이 나쁠 것이라는 편견을 깰 수 있으므로 상당히 긍정적으로 작용한다. 파이썬이 느리다고? 왜 느릴까? 그리고 어떻게 하면 이런 단점을 회피하거나 극복할 수 있을까? 알고리즘은 종이와 연필을 사용해 머리로 만들지만 어느 순간에는 컴퓨터 위에서 동작해야 하므로 추상화를 구상화하는 과정이 필연적으로 따라오며 이 과정에서 무엇이 중요한지를 알고 있어야 한다.

그 다음으로 이 책은 시각화에 엄청난 공을 들인다. 저자가 직접 손으로 그린 그림을 200개가 넘는 전문적인 일러스터로 변환해서 완성도를 매우 높였기 때문에 복잡한 알고리즘을 그림으로 이해하는 과정이 즐거워진다. 종이와 연필을 사용해 직접 알고리즘을 푸는 과정에서도 이 책에 나온 여러 가지 그림을 응용하면 문제 풀이도 쉬워질 것이다.

마지막으로 이 책은 실제 동작에 집중한다. 많은 알고리즘 책이 실행이 다소 까다로운 코드 조각 중심으로 되어 있다면 이 책은 단독으로 풀 수 있는 문제와 실제 실행 가능한 코드가 명확하게 제시된다. 깃허브 알고리즘 인터뷰 코드에 들어가면 전체 풀이도 얻을 수 있으므로 이 저장소를 포크해서 작업을 시작해도 좋고, 정말 제대로 도전하고 싶다면 해답을 보지 않고 풀어본 다음에 모범 답안과 맞춰보는 방식을 택해도 좋다. 이 책에 나온 문제를 풀다보면 내가 정말 성능이 나오는 코드를 제대로 작성했는지 궁금한 경우가 생길 것이다. 분명히 코드는 문제 없이 동작하고 결과도 제대로 나오지만 성능이 떨어진다면 이는 올바른 알고리즘 구현이 아니다. 다행히 이 책은 리트코드에서 직접 실행하는 방법으로 코드와 알고리즘의 완결성에 대해 스스로 평가하는 방법을 제시하고 있기에 공부를 위한 공부, 단순 취업을 위한 공부가 아니라 실무에 적용하기 위한 훈련이 가능하게 해준다.

이 책에 나온 알고리즘을 이론적으로 이해하고 성능적인 측면까지 고려해서 프로그래밍을 직접 해봤다면 어떤 인터뷰 자리에서도 당황하지 않고 면접관의 질문에 대응할 수 있을 것이다. 손쉽게 보이는 알고리즘을 문제로 낸 다음에 성능이나 구현체 관점에서 이런 저런 질문을 추가해서 문제를 점점 어렵게 만드는 경우가 많기 때문에 단순히 알고리즘 코드를 달달 외우는 식으로는 한계가 있다는 사실을 명심하면서 공부하면 소기의 성과를 거둘 수 있다는 생각이다.

결론: 알고리즘을 공부하는 학생, 코딩 테스트를 준비하는 취업 준비생, 이직을 고려하는 경력 개발자 모두에게 이 책을 추천한다.

EOB

월요일, 7월 20, 2020

[B급 프로그래머] 2020년 7월 19일 개발자 이야기


 

2020년 7월 19일자 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 재미있는 개발 이야기(w/ 허광남-박재호)에서 확인할 수 있다.

2020년 7월 19일자 방송 스크립트는 전체 공개되어 있으며, 슬라이드셰어에서 보거나 다운로드 받을 수도 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 4:01 40대 이후에도 개발자로 살아남으려면...
  • 12:49 Deno vs Node 성능 차이는?
  • 14:22 Pigz – 병렬 Gzip
  • 15:43 C++ 프로그래밍의 감초··· ‘인기 라이브러리 8선’
  • 17:47 Github Profile Readme로 프로필 꾸미기
  • 19:12 파이썬 알고리즘 인터뷰 책 소개
  • 23:26 알파고 제로를 학습하기 위해 들어가는 비용은?
EOB

토요일, 7월 18, 2020

[B급 프로그래머] 7월 3주 소식(빅데이터/인공지능, 읽을거리 부문)

(오늘의 짤방: 대학원생 하강법 via @programmer_pic)
  1. 빅데이터/인공지능
  2. 읽을거리
보너스: 4 Marshall Van Alstyne Platform Revolution

수요일, 7월 15, 2020

[B급 프로그래머] 2020년 2월 스택오버플로 개발자 설문 결과 방송

2020년 2월 스택오버플로개발자 설문 결과 방송 스크립트는 전체 공개되어 있으며, 슬라이드셰어에서 보거나 다운로드 받을 수도 있다.

2020년 2월 스택오버플로가 개발자들을 대상으로 설문조사를 한 결과가 공유되었기에, 이를 토대로 분석한 방송이다. 전세계를 대상으로 하다보니 한국 실정과 안 맞는 몇몇 부분도 있지만, 개발자들의 전반적인 생각과 문화를 이해하는 과정에 도움이 될 것이다.

EOB

화요일, 7월 14, 2020

[일상다반사] English4Developers(개발자 영어) 이벤트 결과 발표

많은 분들께서 팔로우해주시고 좋아요 눌러주셔서 이벤트는 성황리에 완료되었다. 추첨 결과를 공유드린다.

먼저 해커스 추첨 결과는 다음과 같다: 최용호님 당첨 축하드린다!


다음으로 블록체인 기업으로 가는 길 추첨 결과는 다음과 같다: 안준하/권동문님 당첨 축하드린다!



당첨되신 모든 분들께 축하드리고 아쉽게도 간발의 차이로 당첨되지 않으신 분들께는 위로 말씀 드린다. jrogue 에뜨 gmail.com이나 페북 메신저로 받으실 분 주소(우편물 받을 정확한 주소, 성함, 전화번호)를 보내주시면 금주 내로 우체국 등기로 발송해드릴 예정이다.

다시 한 번 이벤트에 참여해주시고 팔로우해주시고 좋아요 눌러주신 모든 분들께 감사 말씀 드린다.

EOB

월요일, 7월 13, 2020

[B급 프로그래머] 2020년 7월 11일 개발자 이야기

2020년 7월 11일자 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 재미있는 개발 이야기(w/ 허광남-박재호)에서 확인할 수 있다.

2020년 7월 11일자 방송 스크립트는 전체 공개되어 있으며, 슬라이드셰어에서 보거나 다운로드 받을 수도 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 3:45 과연 리눅스 창시자인 리누스 토발즈는 요즘 코딩을 할까 하지 않을까?
  • 5:14 HTTPS 사용률은 얼마나 높을까?
  • 6:39 “PLEASE DO NOT ATTEMPT TO SIMPLIFY THIS CODE.” 주석에 얽힌 비밀
  • 7:51 현대적인 자바스크립트 튜토리얼
  • 10:06 파이썬으로 웹 클라이언트 프로그램을 만들 수 있다? 없다?
  • 11:28 구글이 알려주는 웹 성능 개선 방안
  • 16:04 git -m으로 여러 행에 걸쳐 커밋 메시지 기록하기
EOB

토요일, 7월 11, 2020

[B급 프로그래머] 7월 2주 소식(개발/관리도구, 고성능 서버/데이터베이스 부문)

(오늘의 짤방: 전설의 자바 콜 스택 짤 via @nameEO)
  1. 개발/관리도구
  2. 고성능 서버/데이터베이스
보너스: Keynote: Linus Torvalds in conversation with Dirk Hohndel
EOB

수요일, 7월 08, 2020

[일상다반사] English4Developers(개발자 영어) 페북 페이지 팔로우 1000회 도달 기념 이벤트

English4Developers(개발자 영어) 페북 페이지는 2015년 8월 15일에 시작해서 6년만에 팔로우 999이라는 숫자에 도달했다. 특별한 광고나 홍보없이 여기까지 올 수 있었던 이유는 English for Developers IT 트렌드로 배우는 개발자 영어 독해의 힘과 매주 2회씩 읽을거리를 눈이 오나 비가 오나 꾸준히 제공했기 때문이라고 생각한다.

독자 여러분들께 감사드리기 위해, 정말 간만에 도서 증정 이벤트를 기획했다. 혹시 아직 페북 개발자 영어 페이지 팔로우를 하지 않으셨다면 팔로우를 하시고 마음에 드는 글을 찾아 좋아요를 눌러주시거나 공유(전체 공개)를 하시고 나서 댓글을 다는 방법으로 응모해주시면 감사하겠다.

앞으로도 계속해서 많은 성원을 부탁드린다.

EOB

월요일, 7월 06, 2020

[B급 프로그래머] 2020년 7월 4일 개발자 이야기(발표 자료)

2020년 7월 4일자 방송 스크립트는 전체 공개되어 있으며, 슬라이드셰어에서 보거나 다운로드 받을 수도 있다. 전체 방송 플레이리스트는 재미있는 개발 이야기(w/ 허광남-박재호)에서 확인할 수 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 3:17 틱톡이 여러분 클립보드를 훔쳐본다면?
  • 4:32 개발자 경력을 쓰레기통으로 보내는 9가지 방법
  • 6:51 프론트엔드 개발자가 알아야하는 HTTP 프로토콜 Part 1
  • 9:01 프론트엔드 마스터가 되는 지름길(feat. 꼭 해봐야 할 프로젝트 9개)
  • 11:54 C#: 널 점검 연산자 변경(!에서 !!로)
  • 13:50 벤치마크: 애플 실리콘 vs 서피스 프로 X
EOB

토요일, 7월 04, 2020

[B급 프로그래머] 7월 1주 소식(빅데이터/인공지능, 읽을거리 부문)

(오늘의 짤방: via @raw_and_naive)
  1. 빅데이터/인공지능
  2. 읽을거리
보너스: 추천시스템 기술 포스팅 20선