전체 글
-
[프로그래머의 길, 멘토에게 묻다] - 14Notes/Book 2020. 11. 9. 11:19
앞으로의 포스팅은 책에서 소개하는 패턴 언어 중 마음에 드는 구절을 소개하는 방식이 될 것이다. 실패하는 법을 배워라 상황 실패는 불가피한 것이다. 그것은 늦든 이르든 간에 모든 이에게 일어난다. 사실 무언가를 한 번도 실패해 본 적이 없는 사람이라면, 그는 자기 능력의 한계치까지 밀어붙이기를 피해왔거나 자기 실수를 대수롭지 않게 여기도록 배운 사람이다. 문제 당신의 학습 역량으로 당신의 뛰어난 면은 더욱 강화됐지만, 실패와 약점은 그대로 남아 있다. 해결책 당신이 어떤 식으로 실패하곤 하는지 확인하고 고칠 부분은 바로 잡아라. 이것은 과거의 실수에 대한 자기 연민에 빠져서 허우적거리거나 완벽을 추구하고자 연습하라는 말이 아니다. 이 패턴의 목표는 당신을 실패로 이끌어 가는 방식, 조건, 습관, 행동 양..
-
[칵테일픽] SonarQube를 통해 정적분석을 적용해보자Project 2020. 11. 7. 22:19
우아한테크코스에서 진행 중인 팀 프로젝트인 칵테일픽 서비스를 운영하며 생긴 에피소드를 다룬 글입니다. 정적 분석이란 무엇인가 소프트웨어를 동작시키기 위해 뭐가 필요할까? 당연한 대답으로 소프트웨어가 필요하겠지. 그렇다면 소프트웨어를 잘 동작시키기 위해서는 뭐가 필요할까? 유연한 설계. 요구사항에 충족한 구현. 빠짐없는 테스트. 모두 맞다. 우리는 개발자로서 객체지향에 적합한 설계를 함으로 유연한 설계를 이뤄낼 수 있다. 또한 기획자와 충분히 협업을 하여 요구사항을 잘 뽑아내어 구현할 수 있다. 그리고 JUnit과 같은 테스트 프레임워크의 도움을 받아 테스트를 운영할 수 있다. 이렇게 개발자의 노력과 툴의 도움을 받아 잘 돌아가는 소프트웨어를 만들었다면 더 이상의 개선은 없을까? 아니다. 비록 기능적으로는..
-
[프로그래머의 길, 멘토에게 묻다] - 13Notes/Book 2020. 10. 31. 17:32
앞으로의 포스팅은 책에서 소개하는 패턴 언어 중 마음에 드는 구절을 소개하는 방식이 될 것이다. 배운 것을 공유하라 상황 당신은 얼마 동안 견습생이었다. 당신은 몇 가지 업무적인 지식을 알고 있으며 사람들은 당신을 지식의 소스로 여기기 시작한다. 문제 지금까지 당신은 장인으로서 자신의 발전에만 집중해왔다. 하지만 숙련공이 되려면 효과적으로 의사소통하며 다른 사람들이 속도를 내도록 이끄는 능력을 갖출 필요가 있다. 해결책 배운 것을 정기적으로 공유하는 습관을 견습과정 초기에 들여놓으라. 이것은 블로그를 운영하는 형태가 될 수도 있고, 마음 맞는 사람들끼리 점심 도시락 모임을 갖는 것이 될 수도 있다. 또 컨퍼런스에서 발표를 하거나 학습 중인 여러 가지 기술 분야와 기법에 대한 튜토리얼을 쓸 수도 있겠다. ..
-
[프로그래머의 길, 멘토에게 묻다] - 12Notes/Book 2020. 10. 20. 16:03
앞으로의 포스팅은 책에서 소개하는 패턴 언어 중 마음에 드는 구절을 소개하는 방식이 될 것이다. 일하면서 성찰하라 상황 어느 정도 역량이 되는 사람이라면 누구나 해가 가면서 승진의 사다리 위로 점차 밀려 올라가고 있음을 깨달을 것이다. 조만간 당신은 선임 개발자라는 감투를 쓸 것이다. 만약 그런 승진에 스스로 대비하고 있지 않다면, 당신은 어느 순간 피터의 법칙(무능력해질 순간까지 조직에서 승진한다)에 빠질 것이다. 문제 지금 지위에서 보낸 햇수와 수행한 프로젝트 개수가 늘어가면서, 당신은 마치 마법처럼 '경험이 쌓이게' 만들어줄 계시의 순간을 기다리고 있음을 자각한다. 해결책 사색하는 소프트웨어 개발자가 되어라. 그러려면 일상에서 당신이 어떻게 일하고 있는지 스스로 성찰해야 한다. 당신이 행하는 업무가..
-
[프로그래머의 길, 멘토에게 묻다] - 11Notes/Book 2020. 10. 13. 09:02
앞으로의 포스팅은 책에서 소개하는 패턴 언어 중 마음에 드는 구절을 소개하는 방식이 될 것이다. 부숴도 괜찮은 장난감 상황 경험이란 성공할 때만큼은 아니겠지만 실패로부터도 쌓인다. 문제 당신은 실패가 용납되지 않는 환경에서 일하고 있다. 하지만 실패는 종종 무언가를 배울 수 있는 가장 좋은 방법이 된다. 오직 과감한 일을 하고, 실패하고, 그 실패로부터 학습하고, 또다시 시도하는 것, 우리는 그렇게 해야만 어려운 문제에 맞닥뜨렸을 때 성공해 내는 사람으로 성장할 수 있다. 해결책 업무 때에 비슷한 도구를 사용하되 업무 때 구축하는 시스템 범위에는 들지 않는 토이 시스템을 설계하고 구현하여 실패해 볼 수 있는 여지를 만들어라. 만약에 경험이란 것이 성공뿐 아니라 실패로부터도 얻어진다고 하면, 당신에게는 실..
-
[칵테일픽] 어떤 자바 버전을 써야 할까?Project 2020. 10. 9. 17:02
우아한테크코스에서 진행 중인 팀 프로젝트인 칵테일픽 서비스를 운영하며 생긴 에피소드를 다룬 글입니다. 프로젝트를 만들어 보자 시간을 돌려 칵테일픽 개발을 처음 시작할 때로 가본다. 당시 우리 팀은 기술 스택을 정해놓고 intellij를 이용하여 실제 프로젝트를 만드는 중이었다. 위와 같은 창이 떴고 NEXT 버튼을 눌러 세부 설정을 진행하려더 순간 팀원 중 한명이 손을 들고 말했다. "우리 자바 버전 8쓰는거야?" 잠시의 정적이 흐르고 나의 대답. "뭐.. 그렇지 않을까?" 그는 다시 물었다. "왜?" 당시의 대답은 "우아한테크코스를 진행하며 계속 사용했으니까"였다. 빈약한 근거로는 다른 주장을 설득하기 힘들다. 이야기는쉽게 마무리되지 않을 것 같았다. 다른 팀원들도 너도나도 한마디씩 거들기 시작했다. ..
-
[프로그래머의 길, 멘토에게 묻다] - 10Notes/Book 2020. 10. 3. 07:28
앞으로의 포스팅은 책에서 소개하는 패턴 언어 중 마음에 드는 구절을 소개하는 방식이 될 것이다. 능력의 폭을 넓혀라 상황 당신은 기본적인 기술 몇 가지를 익히게 되었다. 문제 소프트웨어 개발에 대한 당신의 이해는 협소하며, 그 마저도 일상 업무와 연관된 저 수준의 세부사항에 너무 집중되어 있다. 해결책 당신은 지금껏 착실하게 빨대로 마시고 있던 셈이다. 하지만 견습과정 중에는, 대부분 개발자에게 열려 있는 "정보의 소방 호스"로부터 들이켜야만 하는 시기도 있다. 새로운 정보를 얻고자 자기 능력의 폭을 넓히는 단계는 견습생에게 아주 중요하며, 가끔은 압도됨을 느낄 수도 있다. 당신은 새로운 지식을 이해하고 간직하며 적용하는 방법뿐 아니라 효과적으로 흡수할 수 있는 테크닉도 발전시켜 가야 한다. 이 패턴은 ..
-
[칵테일픽] 특명: 사용자를 생각하라Project 2020. 9. 29. 08:20
우아한테크코스에서 진행 중인 팀 프로젝트인 칵테일픽 서비스를 운영하며 생긴 에피소드를 다룬 글입니다. 사용자 피드백을 반영하자 칵테일픽을 정식으로 오픈한 뒤 한 달여의 시간이 흘렸다. 이 기간 동안 기능 추가보다는 버그를 고치고 사용자의 피드백을 반영하여 사용성 향상에 목표를 뒀다. 예를 들자면 칵테일 검색 기능을 활용할 때, 검색 조건에 맞는 결과가 없을 경우 결과가 없다는 메시지를 띄워주면 좋겠다는 피드백을 반영해서 아래와 같이 메시지를 노출하도록 수정했다. 또한, 칵테일 추천 받는 과정 중 마시고 싶은 칵테일의 도수 범위를 결정하는 부분이 있다. 기존에는 아래 영상의 썸네일과 같은 정적인 화면으로 구성했었다. 그래서 사용자가 어떻게 도수 범위를 결정해야 하는지 직관적으로 알지 못하겠다는 피드백을 들..