애자일의 몰락과 소프트웨어 장인정신의 비극

*이 포스트는 Robert C. Martin 님의 허락을 받아 blog.cleancoder.com 의 글“The Tragedy of Craftsmanship.“를 번역한 것입니다. 저작권에 유의하시기 바랍니다. 원문에 대한 설명 (역자주) 이 글은 클린 코드의 저자로 유명한 Robert C. Martin 님이, 리팩토링의 저자로 유명한 Martin Fowler 님의 2018년 애자일 오스트레일리아 키노트 발표의 내용을 보고 일종의 변론을 하는 내용입니다….

객체지향 5원칙 (SOLID)은 구시대의 유물 ?

*이 포스트는 Robert C. Martin 님의 허락을 받아 blog.cleancoder.com 의 글“Solid Relevance“를 번역한 것입니다. 저작권에 유의하시기 바랍니다. 서론 얼마 전 누군가의 고민이 담긴 메일을 받았습니다. 이런 내용이었죠: 오랫동안 객체지향 5원칙, SOLID principle에 대한 이해도는 저희 채용 프로세스에서 중요한 부분을 차지하고 있습니다. 지원자가 원칙들을 잘 이해하고 있기를 기대하니까요. 그런데 최근에, 이제는…

생각이 돈이 되는 순간: Creative Curve

책의 제목에 대하여 책은 재미있게 읽었습니다. 내용도 좋습니다. 그런데 한 가지 짚고 넘어가고 싶은 것이 있는데, 책의 제목입니다. 영문판 제목은 ‘The Creative Curve’인 것으로 보이는데, 어찌 ‘생각이 돈이 되는 순간’으로 번역되었는지 의문입니다. 크리에이티브 커브, 즉 창의력 곡선은 책의 내용에서 가장 가치있고 중요한 내용이였습니다. 그런데 한글 제목은 참… 세속적이고 싼티나는 제목이…

이상적인 객체지향 if else switch 조건문?

*이 포스트는 Robert C. Martin 님의 허락을 받아 blog.cleancoder.com 의 글 “if-else-switch“를 번역한 것입니다. 저작권에 유의하시기 바랍니다. 서론 얼마 전 누가 트위터에 올린 글이 있습니다. 아래 PHP 코드 스타일 중에 어떤 것이 최고냐, 아니면 혹시 더 좋은 스타일이 있냐 하는 질문이였죠. 그래서 저는 아래처럼 암호문같은 답변을 남겼습니다. if/else 문들을 각각의…

학교 도움 없이 비전공자 개발자가 되는 방법

개발자가 되는 데는 돈이 필요없다? 그렇습니다. 열정만 있다면 돈은 전혀 필요가 없습니다. 개발자들은 가지고있는 지식들을 전부 인터넷에 풀어놓기 때문입니다. 그것도 스스로, 아주 적극적으로요. 정보 공유가 가지는 힘을 다들 알고 있기 때문입니다. 그렇기 때문에 좋은 정보들을 잘 찾아내는 능력만 기른다면, 누구든 좋은 개발자가 될 수 있습니다. 하지만 어디서부터 시작해야할까요? 웹서비스 만드는…

리브레오피스는 왜 한글 파일을 못 열까?

그래도 상관이 없어서 정답은 그래도 아무런 상관이 없어서. 맞다. 리브레오피스가 한글(hwp) 파일을 읽지 못한다고 해서 세상에 위험이 찾아오지는 않는다. 한글뷰어를 다운받으면 문서 내용을 읽을 수 있고, 편집은 뭐.. 다른 방법이 있을 것이다. 리브레오피스는 돈 한 푼 들이지 않고 오피스 파일들을 편집할 수 있도록 해주는 착한 프로그램이지만, 어쨌거나 주 사용층은 유럽…

메이크 타임: 게으름을 극복할 수 있을까?

머리와 몸이 따로 논다 머리는 항상 생각합니다. “위대한 사람이 되어야지!” “열심히 운동해서 몸짱이 되자!” “노력해서 젊은 부자가 되자!”. 몸이 대답합니다. “싫은데?” “일단 좀만 더 누워있다 일어나자.” “아무 생각없이 유튜브, 넷플릭스나 보자.” 젠장. 나는 왜이렇게 게으른 걸까요? 난데없이 TMI 를 시전하자면, 제 MBTI 유형은 ENTP 입니다. 하고 싶은 것도 많고, 이미…

함수형 프로그래밍 vs 객체지향 프로그래밍

*이 포스트는 Robert C. Martin 님의 허락을 받아 blog.cleancoder.com 의 글 “FP vs. OO“을 번역한 것입니다. 저작권에 유의하시기 바랍니다. 서론 지난 몇 년간 저는, 함수형 프로그래밍을 배우면서 “음.. 그건 너무 객체지향인데요.”라는 식으로 객체지향 프로그래밍에 반감을 표현하는 사람들을 봐왔습니다. 왜인지는 몰라도 함수형 프로그래밍과 객체지향 프로그래밍이 상호 배제 관계에 있다는 생각 때문으로…

봉투 뒷면 계산법: 구글의 설계 기술

*이 포스트는 Todd Hoff 님의 허락을 받아 highscalability.com 의 글 “Google Pro Tip: Use Back-Of-The-Envelope-Calculations To Choose The Best Design“을 번역한 것입니다. 저작권에 유의하시기 바랍니다. 어떤 문제가 주어졌을 때, 최적의 설계가 무엇일지는 어떻게 알 수 있을까요? 예를 들어 30개의 섬네일을 표시하는 이미지 검색 결과 페이지를 만들어야 한다고 합시다. 이미지는 순차적으로 로드할까요?…

알고리즘 문제를 잘 풀면 뛰어난 개발자일까?

뛰어난 개발자는 문제도 잘 푼다 결론부터 말하자면, “알고리즘 문제를 잘 풀면 뛰어난 개발자일까?”의 답은 “아니오.”입니다. 하지만 뛰어난 개발자는 당연히 알고리즘 문제도 잘 풉니다. 오잉? 같은 이야기를 조금 더 자극적으로 표현해보겠습니다. 문제풀이를 잘 하지 못하면 뛰어난 개발자가 될 수 없다. 뛰어난 개발자 중에 문제풀이를 잘 못하는 사람은 없다. 이게 무슨 말인지에…