본문 바로가기

전체 글

[리뷰] 챗GPT를 알 수 있는 <스티븐 울프럼의 챗GPT 강의> 주변에서 인공지능이 생각보다 가까이 있는 모습을 봅니다. 사용하는 서비스에 인공지능을 적용하는 게 당연한 시절도 머지않았다는 느낌이 듭니다. 기폭제는 뭐니 뭐니 해도 챗GPT입니다. 기사, 동영상, 책, 챗GPT를 얘기하는 자료는 넘쳐납니다. 그럴 만도 한 게, 챗GPT가 내놓는 답변은 볼 때마다 놀랍습니다. 놀라면서도 한편으로는 미심쩍음을 거둘 수 없습니다. 기사와 소문을 통해 챗GPT도 잘하는 분야와 잘 못하는 분야가 있다는 건 어렴풋이나마 알기 때문입니다. 꼭 집어 말할 수 없는 거부감, 컴퓨터를 비롯한 IT기기를 사용한 경험, 정확히는 기기에서 돌아가는 프로그램을 사용한 경험에 원인이 있지 않을까요? 엑셀, 은행 앱, 주식 프로그램, 게임 등 프로그램에서 얻은 결과는 틀리지 않는다는데 이미 익숙해.. 더보기
[리뷰] 시스템 구축이 필요할 때 <무기가 되는 시스템> 방향만 알려주었을 때 드는 막연함이 아닌, 길을 알았을 때 느끼는 선명함이 있습니다. 문제를 풀어나가야 하는 사람에게 이렇게 하면 된다고 알려주는 가이드는 많습니다. 그런데 그런 가이드는 들은 걸 적용하려 할 때 약점이 드러납니다. 방향은 들어서 알겠는데 어디에서 무엇부터 해야 할지 또는 시작은 했는데 제대로 하고 있는 건지 알기 어려운 경우가 많습니다. 시스템을 구축하려면 시행착오가 없을 수 없겠지만, 기준이나 예시가 없으면 시행착오인지 조차 판단할 수 없습니다. 이 책은 이런 답답한 상황을 헤쳐나갈 수 있는 선명한 방법을 알려줍니다. 군더더기 없는 공식 학교 생활과 사회생활을 통해 우리는 공식에 익숙해져 있으며, 공식을 찾습니다. 공식하면 바로 떠오르는 게 수학, 수학 공식 자체는 거의 기억하지 못하.. 더보기
[리뷰] 이론과 실무를 아우르는 <핸즈온 머신러닝> 머신러닝을 잘 아는 선배에게 수업을 듣는 느낌입니다. 쿡 찌르면 와르르 쏟아져 나오는 얘기 보따리 같다고나 할까요. 문제가 있다면 알려주는 선배와 듣는 후배 사이 간격이 제각각 일 수 있다는 점입니다. 알아도 너무 잘 알고 많이 알다 보니, 아낌없이 풀어놓는 내용들이 어떤 이에게는 전체 흐름과 윤곽을 잡을 수 있는 더할 나위 없는 기회가 될 수 있으며, 다른 어떤 이에게는 우와우와~ 하며 새로운 세상을 만나 감탄사만 연발하며 어리둥절할 수 있습니다. 더하여 옮긴이가 꼼꼼하게 추가해 놓은 주석은 뭔가 갸우뚱할 수 있는 부분이나 설명이 부족한 부분을 명확하게 짚어줍니다. 우선 무슨 얘기를 하고 있는지 알아보기로 했습니다. 하나씩 꼼꼼히 따라가려 했다가는 얼마 못 가 바스러지고 있는 제 의지를 만날게 틀림없기.. 더보기
[리뷰] 설정부터 배포까지 <초보자도 프로처럼 만드는 플러터 앱 개발> 너무 당연한 얘기겠지만 플러터로 어떻게 앱을 만들 수 있는지 알려 줍니다. 무엇보다 앱을 만들어보는데 방점을 두고 있습니다. 결과를 만들어내는데 집중하는 방식이어서 세밀하게 살피기보다 전체 흐름을 파악하기에 좋습니다. 알고 넘어가야 하는 부분은 정확하게 짚어줍니다. 코드보다 구성 빠르게 한번 보고 난 뒤 찬찬히 한번 더 보는 방식을 권합니다. 처음부터 설명을 따라 코딩하며 결과를 확인하는 것도 나쁘지 않습니다만, 단계별로 만들어 가는 앱의 화면과 기능 코드를 주욱 따라가다 보니 어느 순간 코드가 비슷한 구조를 이용하여 확장과 반복을 거듭하고 있는 게 보였습니다. 플러터에 조금 가까워진 느낌이랄까요. 코드 중간중간 의미를 알 수 없는 부분이 있어도 답답함을 해결하려 하기보다, 이 동네에서는 이렇게 하는가 .. 더보기
[리뷰] 지금 이곳에서 <진화적 아키텍처> 소프트웨어 아키텍처만으로도 생각이 많아지는데 진화적 아키텍처라니. 처음 드는 느낌은 마치 열심히 걷고 있는데 저 멀리서 달려 나가고 있는 상대를 보고 있는 느낌이었습니다. 그처럼 진화적 아키텍처는 디디고 있는 현실을 생각하면 너무 먼 얘기처럼 보였습니다. 하지만, 내용을 알아갈수록 현재를 돌아보고 앞으로를 살피게 하는 힘이 있었습니다. 역학, 구조, 영향력 피트니스 함수, 자동화, 점진적 변화, 커플링과 중복, 데이터, 함정, 안티패턴 등. 생각지도 못했던 내용, 어렴풋하게나마 추측한 상태에 머무르던 개념, 나름 안다고 생각했지만 그게 다가 아니었던 관계 같은 내용이 생생하게 펼쳐져 있습니다. 사례가 있어서 그나마 따라갈 수 있었습니다. 책에서 인용한 한 문장이 이 모든 걸 한마디로 정리해 주는 것 같습.. 더보기
[리뷰] 리눅스를 이해할 수 있는 <그림으로 배우는 리눅스 구조> 리눅스가 어떻게 움직이는지 엿볼 수 있습니다. 정확하게 말해보면 우리는 매일 사용하는 윈도우조차 백그라운드에서 무엇이 어떻게 움직이는지 별로 관심이 없습니다. 잘해야 프로세스 익스플로러나 작업 관리자를 사용하는 정도입니다. 대부분 실행되지 않거나 종료되지 않는 프로그램을 확인하여 강제 종료시키거나 프로그램이 느려질 때 메모리 상태 확인 용도이고요. 그런데 리눅스를 대하는 태도는 다릅니다. 그렇다면, 왜 이렇게 꾸준히 리눅스를 알려고 하는 걸까요? 아마도 우리가 사용하는 많은 서비스와 프로그램이 리눅스 위에서 돌아기기 때문일 겁니다. 서비스를 개발하거나 관리하기 위해서는 서비스뿐 아니라 그 바탕이 되는 리눅스를 아는 게 도움이 되기 때문입니다. 인테리어를 예로 든다면, 건물 구조를 이해한 바탕 위에 디자인.. 더보기
[리뷰] 어떻게 대응하고 무엇으로 풀어가는지 보여주는 <실전 스프링 부트> 스프링은 프레임워크를 넘어 생태계라고 해도 지나치지 않을 듯싶은데요. 이런 스프링 생태계에서 발을 헛디뎠다가는 어마어마한 문서 사이에서 허우적거릴 가능성이 다분합니다. 책에서는 시작과 함께 스프링 부트가 차지하고 있는 위치를 정확히 알려줍니다 '개발자 관점에서 스프링 부트는 개발자와 스프링 프레임워크 사이에 위치한다.' 책을 한마디로 축약한다면 표지에 있는 문구 그대로입니다. 기본 개념부터 실무 베스트 프랙티스까지 '소방호스에서 쏟아져 나오는 물을 받아 마신다'는 비유를 들어보셨나요. 어마어마한 학습량을 소방호스로 물을 마시는 상황에 빗댄 표현입니다. 스프링 부트를 사용하기 위해 알아야 할 내용이 그만큼이나 많다는 뜻은 아닙니다. 어떻게 사용하는지 알차게 알려줍니다. 스프링 부트를 구경은 해봤다 정도면 .. 더보기
[리뷰] 당신이 알고 있던 테스트를 넘어서는 <이펙티브 소프트웨어 테스팅> 소프트웨어 개발은 테스트의 연속입니다. 일일이 결과를 출력하든, 브레이크 포인트를 잡아서 한 단계씩 확인하든 어떤 방식을 사용하든 만든 코드가 의도한 대로 돌아가는지 확인해야 합니다. 테스트를 누군가 해준다면 나는 코드에 집중할 수 있을 거라는 생각도 했었었지만 리뷰를 쓰며 드는 생각이 그러려면 분신술을 쓸 수 있어야겠다는 생각이 드네요. 배보다 배꼽이 체계적이고 효율적인 테스트를 추구한다고 합니다만 내용을 읽다 보면 '이 정도까지 한다고'라는 생각이 들 수 있습니다. 자판기에서 음료를 뽑듯이, 누가 하더라도 누락되는 부분 없이 기본 테스트 구성을 만들 수 있다는 데서 시작합니다. 기본 구성 위에 다양한 테스트 대상을 적용하며 테스트를 다듬어 나갑니다. 테스트를 개발에 적극 활용한다 정도로 생각하면 오산.. 더보기