본문 바로가기

전체보기

[리뷰] 당신이 알고 있던 테스트를 넘어서는 <이펙티브 소프트웨어 테스팅> 소프트웨어 개발은 테스트의 연속입니다. 일일이 결과를 출력하든, 브레이크 포인트를 잡아서 한 단계씩 확인하든 어떤 방식을 사용하든 만든 코드가 의도한 대로 돌아가는지 확인해야 합니다. 테스트를 누군가 해준다면 나는 코드에 집중할 수 있을 거라는 생각도 했었었지만 리뷰를 쓰며 드는 생각이 그러려면 분신술을 쓸 수 있어야겠다는 생각이 드네요. 배보다 배꼽이 체계적이고 효율적인 테스트를 추구한다고 합니다만 내용을 읽다 보면 '이 정도까지 한다고'라는 생각이 들 수 있습니다. 자판기에서 음료를 뽑듯이, 누가 하더라도 누락되는 부분 없이 기본 테스트 구성을 만들 수 있다는 데서 시작합니다. 기본 구성 위에 다양한 테스트 대상을 적용하며 테스트를 다듬어 나갑니다. 테스트를 개발에 적극 활용한다 정도로 생각하면 오산.. 더보기
[리뷰] 프롬프트에서 한발 더 들어간 <챗GPT 개발자 핸드북> 책에서도 언급합니다만 '서당개 삼 년이면 풍월을 읊는다'는 속담이 있습니다. 저자는 챗GPT를 서당개처럼 봐도 무방하다고 합니다. 주워들은 게 많아서 시키면 나름대로 이렇게 저렇게 끼워 맞춰 그럴듯하게 주워섬긴다는 점에서 비슷하다고 합니다. 다만, 서당개와는 비교할 수 없을 만큼 많이 듣고, 읽었다는 게 다른 거죠. 컴퓨터는 속도와 분량에 특화된 기계라는 건 모두가 아는 사실입니다. 그렇지만, 속도와 분량에 어마어마한 연산이 더해져서 이런 물건이 나오리라고는 많은 사람들이 상상하지 못했던 것 같습니다. 이제 챗GPT는 반려동물처럼 이미 우리 곁에 자리하고 있습니다. 골드러시일까? 조금만 관심이 있다면 주변에서 챗GPT 관련 내용을 어렵지 않게 접할 수 있습니다. 오히려 너무 많아서 뭐부터 봐야 할지 당황.. 더보기
[리뷰] 변화를 알려주는 <더 나은 웹 개발을 위한 가이드> 사용자가 접하는 화면을 중심으로 웹 개발 단계를 살핍니다. 웹은 지금도 변화하고 있습니다. 그리고 이제는 명확하게 '모바일이 우선이다'라고 알려줍니다. 각 장이 다루는 주제는 상세히 접근하고자 하면 책 한 권 분량은 쉽게 나올 것입니다. 주제별로 핵심을 설명합니다. 지나치게 상세한 설명으로 기운을 뺏는 부분이 없어 집중력을 유지하며 볼 수 있었습니다. 조목조목 모든 기능을 얘기하지 않습니다. 알면 좋지만 몰라도 상관없는 부분은 건너뛰고 알아야 하는 기능을 중심으로 설명합니다 쓰는 사람만 쓰는 것처럼 보이기도 하고, 몰라서 못 쓰거나 알아도 익숙하지 않아 쓰지 않는다는 느낌이랄까요. 더 이상 브라우저가 지원하지 않는다는 핑계로 미루지 말라고 합니다. 이미 알고 있는 내용이라면 핵심을 확인하며 지식을 다질 .. 더보기
[리뷰] 상상하는 그 이상을 보게 될 <처음부터 제대로 배우는 스프링 부트> '무엇을 상상하든 그 이상을 보게 될 것이다'라는 표현이 잘 어울리는 책입니다. 스프링 부트 하면 조금은 쉽게 스프링 프레임워크에 접근할 수 있다고 알려져 있습니다. 그리고, 다양한 자료에서도 쉬운 접근에 초점을 맞추고 있습니다. 하지만, 이 책에서 스프링 부트가 가진 힘은 그 정도로 단순하지 않다고 얘기합니다. 스프링 부트가 가진 본래 모습과 가고자 하는 방향을 보여줍니다. 스프링 부트에 익숙해지기 스프링 부트를 처음 접한다는 가정하에 내용을 풀어나갑니다. 무언가에 익숙해지려면 자주 대하거나 겪어봐야 합니다. 다양한 주제를 위해 여러 가지 프로젝트를 만듭니다. 그때마다 프로젝트 초기화 단계를 보여주며 무엇을 해야 하는지 알려줍니다. 이러한 방식으로 스프링 부트 환경을 계속 접하게 합니다. '초기화 단계.. 더보기
[리뷰] 개발자로 성장하는데 필요한 내용들 <필독! 개발자 온보딩 가이드> 필독, 맞습니다. 개발자 가이드도 맞습니다. 온보딩에 끌린다면 내용에 너무 부담을 가지지 않아도 된다고 하고 싶습니다. '온보딩하며 알아야 할 모든 것'이라고 하면 너무 부담스럽고, '온보딩하는 조직에서 만날 가능성이 있는 여러 가지 상황'에 가깝습니다. 다양한 상황과 프로세스, 문화를 알려주고 있습니다. 저자들이 여러 조직을 겪으면서 얻은 지식과 지혜를 후배 개발자들에게 알려주고 있습니다. 책에 소개된 환경과 문화를 모두 갖춘 회사는 찾기 힘들 거라는 생각이 듭니다. 몇 가지가 될지 알 수 없지만 비슷한 상황을 만난다면 어떻게 접근하는 게 도움이 되는지 알려줍니다. 개발자라면 알아야 하는 부분과 관여하는 부분을 책 한 권에 모두 담을 수 없다고 봅니다. 각 장마다 다루는 주제들이 조금만 깊게 들어간다면.. 더보기
[리뷰] 오버랩되는 소설 <복붙 개발자의 벼락 성공기> 개발자가 주인공인 소설입니다. 일상에서 개발자가 겪는 일들을 소설로 엮어 놓았습니다. 개발자라면 소설이지만 뭔가 익숙한 장면들이 자꾸 오버랩될 수 있습니다. 개발자와 함께 일하신다면 개발자가 어떤 종족인지 이해하는데 감을 잡으실 수 있습니다. 본인이 개발자라고 생각하신다면 읽을 때 공공장소를 피하시길 권해드립니다. 개발자라면 이해할 가능성이 충분한 유머가 곳곳에 있습니다. 이런 대목을 만나 킥킥거리는 상황인데 하필 읽고 있는 곳이 공공장소라면, 자신을 이상한 듯 쳐다보는 옆 사람 시선에 민망할 수 있습니다. 뒤로 갈수록 농담이 줄어들긴 합니다. 소설이라는 장르 특성으로 인해 내용을 함부로 말하기 어려운 점 양해해 주시기 바랍니다. 사람 사는 모습이 어디든 비슷한 것처럼, 개발자가 맞닥뜨리는 상황들도 장소.. 더보기
[리뷰] WebFlux는 거들뿐 <스프링으로 시작하는 리액티브 프로그래밍> 사람마다 다르겠지만, 7~8년 전에 리액티브 프로그래밍을 처음 들어보았고 한동안 잊어버리고 있었습니다. 처음 접했을 때 만만치 않겠다는 느낌이 들었었습니다. 취지는 알겠으나 가볍게 접근하기가 쉽지 않았었고, '굳이 이렇게까지?'라고 생각했었던 기억이 있습니다. 리액티브 프로그래밍은 리액티브 시스템을 구축하는데 필요한 프로그래밍 모델이라고 친절히 안내해 줍니다. 리액티브 시스템은 논블로킹 I/O 방식 즉, 비동기 메시지 통신을 기반으로 하는 시스템입니다. 우리말인데 어렵습니다. 리액티브 프로그래밍에 쓰이는 용어가 자체가 다양하기 때문인 것 같습니다. 개념과 용어를 이해하기 쉽게 풀어 나갑니다. 적용 방식을 보여주며 차근차근 알려줍니다. 코드를 설명하며 어디서 개념이 적용되었으며 어떤 용어와 부합하는지 짚어.. 더보기
[리뷰] 사람을 위한 <랜선 사회> 잡스가 옳았던 것 같다는 생각을 하며 책을 덮었습니다. 인문학을 누구보다 강조했던 잡스였습니다. 책에 펼쳐진 다양한 내용들은 인문학을 통해 기술이 나아가야 할 바를 모색해야 한다고 합니다. 기술을 쫓아갈게 아니라 기술이 올바르게 사용하기 위해 끊임없이 고민이 필요하다고 합니다. 랜선 사회, 경계와 공간을 뛰어넘는 사회입니다. 가치를 두어야 하는 중심에 사람이 있습니다. 하지만, 시스템을 망치는 가장 큰 원인도 사람임을 잊지 말라고 합니다. 책을 읽으며 저자에게 고마워지더군요. 하나는 인터넷이라는 급격하게 확장하는 사회를 이렇게나 깊이 고민하며 바라보는 이가 있다는 사실이었습니다. 그리고 다른 하나는 그러한 생각과 시각을 가다듬고 정리하여 어렵지 않게 알려주어서입니다. 주제마다 좀 더 깊이 알아갈 수 있었.. 더보기