반응형

우리는 가끔 소프트웨어를 개발만 잘 하면 된다라고 착각을 한다. 그래서 운영 이라는 거대한 산을 간과하는 경우가 많이 생긴다. 모든 소프트웨어는 운영에 들어가기 전에 많은 테스트와 검증을 거쳐서 실제 운영에 들어가게 된다. 그래서 이때에 개발할때는 생각하지 도 못했던 버그나 오류들이 발생하게 된다. 검사 방법과 환경에 따라서 다양한 상황들이 발생하기 때문에 어떻게 대처를 해야 하는지 방법을 한참 찾아봐야 할 때도 있다. 그런 면에서 이 책은 포괄적인 가이드라인을 제공 해주고 있다.

책 읽어보면 느끼겠지만 운영전 검증에 필요한 요소들이 다 들어있다. 그리고 사례들을 여러가지 예로 들어줘서 더 현실감이 느껴졌다.

우선 1부에서는 안정적인 어플리케이션을 위한 여러가지 패턴에 대해서 이야기 해준다. 4장에서 안티패턴을 먼저 알려주고 5장에서 적절한 패턴에 대해서 설명을 해준다. 

2부는 특히 내가 경험했던 일들과 연관들이 많아서 더 재미있었다. 부하, 보안, 로그, 모니터링등 개발을 하면서 많이 경험해봤던 내용들이 많이 있었다. 그리고 내가 몰랐던 내용들도 많이 알수 있었다.

3부에서는 배치와 버전관리에 대해서 나온다. 특히 버전관리는 설계시에는 그럴듯하게 만들어놓지만 점점 유명무실 해지는 상황을 많이 경험했는데 역시나 이렇게 하면 안된다는 것을 다시한번 느낄수 있었다. 

각각의 내용들은 챕터에 따라서 나눠져 있기 때문에 굳이 처음부터 읽을 필요는 없고 궁금하거나 관심있는 부분부터 읽어도 아무런 문제가 되지 않는다. 그래서 약간은 백과사전 같은 느낌으로 두고두고 읽어도 좋을 것 같다는 생각이 들었다.

 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

728x90
반응형
반응형

생성형 AI 에 대한 관심이 많아지고 이 분야를 공부하고 있었는데 마침 좋은 책이 리뷰도서 목록에 있어서 선택하게 되었다. 아무래도 분야가 넓고 수학, 통계, 프로그래밍 등이 섞여서 나오다 보니 무엇이 기초인지, 또는 무엇부터 공부를 해야 되는지 알기가 쉽지가 않았다. 그런데 다행히도 이번에 선택한 책을 보면서 전반적인 지식을 습득할 수 있게 되었다. 

이 책에는 이론도 나오고 프로그래밍에 대한 구현도 나온다. 그리고 수학 공식들도 나온다. 하지만 아래 그림처럼 자세한 설명을 해주고 있기 때문에 이론적인 내용을 이해하는데 큰 도움이 된다. 

파이썬 코드들도 중간중간 나오면서 따라 하면서 실습을 해볼 수 있다. 하지만 코드가 익숙하지 않더래도 코드부분은 생략하고 내용만 읽어간다면 기초 지식을 충분히 쌓을 수 있다.  

하지만 이 책을 가장 효율적으로 사용하는 방법은 실습과 병행하는 것이다. 이 책의 뒷부분으로 갈수록 코드도 길어지고 그래프와 공식들이 많이 나온다. 이런 부분들을 이해하기 위해서는 어느정도 파이썬 코드에 대한 이해가 필요하다. 

이 책은 많은 그림과 설명으로 독자들이 이해를 하는데 돕고 있는 책인것은 확실하다. 그리고 이 책을 이해하기 위해 독자가 갖추어야 하는 최소한의 지식으로는 파이썬 코드를 이해할수 있는 능력 정도가 될것 같다. 

  "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

728x90
반응형
반응형

최근 일을 할때마다 모든게 어렵게 느껴지고 머리 회전이 잘 안되는 느낌을 자주 받았다. 마침 한빛 미디어 "나는 리뷰어다" 책 들 중에 "그리에이티브 프로그래머" 책이 있어서 한번 읽어보게 되었다. 과연 어떻게 하면 창의성을 더할수 있는지 도움을 받고 싶었다. 

기술지식, 커뮤니케이션, 제약조건, 비판적 사고, 호기심, 창의적 마인드셋, 창의적 기법.

이 책은 이렇게 7가지 주제를 갖고 있다. 그 중 내가 인상깊게 읽었던 부분을 써보고려고 한다.

"수집가의 오류"
우리의 기억들은 한정적이기 때문에 자주 메모를 한다. 나 또한 개발을 하면서 다양한 툴들을 이용해서 링크를 저장해 놓거나 스크랩을 해놓는다. 하지만 이런 것들을 나중에 다시 보지는 않았다. 심지어 그 메모가 무슨 의미였는지 다시 찾아보는 일도 자주 발생했다. 무조건 적는다고 다 되는것이 아니라 잘 적어야 한다. 메모에도 기술이 필요하고 노하우가 필요하다. 책에서는 몇가지 툴들을 소개해주고 있다. 하지만 내가 생각하는 메모에서 가장 중요한 점은 어떤 툴을 사용하느냐가 아니라 어떻게 자신만의 노트를 만드느냐 인것 같다. 온라인 툴을 사용하기 전에 직접 노트에 여러가지 색깔의 펜을 사용해 가면서 자신만의 메모 노트를 만들었던 것 처럼 온라인 툴을 이용하여 자신만의 노트를 만드는 노하우가 메모에서 가장 중요하다고 생각한다. 

비판적 검증
이부분은 읽으면서 정말 반성을 많이 했다. 나도 코드를 작성하면서 비슷한 행동을 많이 했었다. 검증은 해보지 않고 그저 추측만으로 혹은 당연히 되겠지라는 생각을 많이 하고 코드를 작성을 했다. 당연한것, 그리고 원래 그런것들에 대해서 의심을 하지 않았다. 추측만으로는 실력이 늘지 않을 뿐더러 기능에 대한 정확한 이해도 불가능 하다. 그래서 코드에 대한 비판적인 의심은 모든 프로그래머들이 갖추어야 할 소양이 아닐까 생각이 든다. 

내가 맨 처음에 고민을 하긴 했지만 결국 우리는 모두 창의적일 수 있다. 이 책에서도 그렇게 언급하고 있고 나 자신도 그걸 알고 있다. 단지 어느 순간 막힘이 있을 때에 자신만의 방법으로 해결 할수 있는 방법이 필요하다. 그리고 내가 책을 읽은 것처럼 책을 통해서 도움을 받을 수도있다. 창의성에 대한 고민이 있는 개발자들에게 한번쯤 읽어보라고 추천하고 싶다. 

 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

728x90
반응형
반응형

 

최근에 Chat GPT 에 대한 관심이 정말 뜨겁다. 다양 분야에서 Chat GPT 를 적용하려고 시도하고 있다. 하지만 단순 검색(?)으로 활용하는것 이외에 어떻게 질문을 해야하는지 정확히 모르는 경우가 많다. 나도 GPT 를 사용할 때에 구글 검색 대신 사용하는 경우가 많았다. 그러던 중 GPT 에 대한 기본적인 지식과 사용법을 알수 있는 책을 읽게 되었다. 최근에 읽었던 기술 서적 중에서는 가장 읽기 쉬었고 재미있었다.

다음은 내가 책을 읽으면서 기억하면 좋을것 같은 단어, 또는 정의를 메모해봤다. GPT 또는 LLM 을 찾아보면 항상 나오는 단어들이다. 책에서 쉽게 설명해준 덕분에 이해하는데 많은 도움이 됐다. 

프롬프트  & 프롬프트 엔지니어링
- 프롬프트 : AI 모델에게 내리는 지시사항.
- 프롬프트 엔지니어링 : AI 모델이 좋은 결과물을 내도록 잘 지시하는 방법.

프롬프트 엔지니어링 노하우
- 지시는 짧고 간결하게. 그리고 확실하게 한다. 
- 내용이 길다면 구역 확실하게 정해주기. 
- 답변 방식 확실히 정해주기 (표, json, html 등)
- 예시 들어주기 : few-shot example

랭체인
- LLM 개발을 쉽게 만들어주는 소프트웨어 프레임워크
- 다양한 AI 모델, 에이전트 및 프롬프트를 구조적 방식으로 만들고 연결할 수 있는 파이썬 라이브러리
- 랭체인의 구성요소

임베딩
- 단어를 많이 쌓아서 분류해 둔 LLM 내의 언어 창고 안에서 어떤 위치의 무엇과 제일 가까운지 컴퓨터가 쉽게 찾을 수 이쓴ㄴ 형태로 변환해 주는것.
- 임베딩은 단어나 문장의 의미와 문맥을 반영하여 이를 통해 컴퓨터는 단어나 문장 사이의 관계를 이해하고 문장을 생성하거나 분류하는 작업을 수행할 수 있다.
- 임베딩이 사용되는 분야 : 검색, 클러스터링, 추천, 이상탐지, 다양성측정, 분류.

여기에는 기록하지 않았지만 실습을 통해서 GPT 를 사용해보는 내용이라든지 코드를 이용해서 실행하는 방법들도 쉽게 따라해볼수 있었다. 최근들어 GPT 관련 공부를 어떻게 해야 할지 막막했었는데 이 책을 통해서 많은 것들을 이해할 수 있었다. 나처럼 GPT 에 대해서 공부하는데 어려움을 겪고 있는 분들이라면 한번 읽어보는 것을 추천한다.

 

  "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

728x90
반응형
반응형

이 책은 실전 입문이라는 책 답게 ML 모델의 개발부터 배포, 운영까지의 전 과정을 다루고 있다. 머신 러닝 모델의 생애 주기를 다루면서 ML Ops의 필요성과 중요성을 알수 있다. 

책은 총 12개의 장으로 구성되어 있고 각 장마다 다른 주제를 다루고 있다. 첫 장과 두번째 장에서는 ML Ops 의 기본 개념과 장점을 소개하고 있으며 세번째 장부터는 실전적인 내용들을 차례대로 접근한다. 데이터 수집, 모델 훈련, 평가, 배포, 모니터링, 유지지보수, 그리고 AWS, Azure, GCP 환경에서 활용하는 방법 등을 설명해준다. 

최근 몇년 동안 머신 러닝 모델의 훈련과 개발은 크게 발전했지만 이를 공부하고 운영환경에 적용하는데에는 여전히 어렵다는게 현실이다. 그리고 개개인이 스스로 공부를 하면서 구축을 해보기에는 많은 도전과 시행착오가 필요하다. 그리고 여기저기 인터넷에 내용들이 많이 있지만 어떤 것들을 참고해봐야 할지 조차도 판단하기 어렵다. 그에 비해서 이 책은 ML Ops의 개념을 이해하기 쉽게 설명하고, 구현에 필요한 다양한 도구와 기술들을 소개함으로써 이러한 어려움을 해소해 주고있다.

그렇기 때문에 이 책은 개발자, 시스테관리자, 클라우드 엔지니어 등과 같이 머신 러닝모델을 개발하고 운영하는데 관심이 있는 모든 분들에게 도움이 될것 같다. 그리고 초보자들도 따라할 수 있도록 자세한 가이드를 제공하기 때문에 하나하나 따라 해볼수 있을 것이다. 

  "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

728x90
반응형
반응형

내가 이 책을 선택 한 이유는 최근에 머신 러닝 관련 해서 관심을 갖고 있었고 데이터 분석에 대한 내용이 궁금 했기 때문이었다. 머신러닝에 관심은 있지만 아직은 공부하는데 어려움을 겪고 있었기에 최근에 관련 책들을 읽어보고 있으나 이마저도 이해하는데는 쉽지 않은것 같다. 

이 책은 데이터를 어떻게 분석을 하는지에 대한 내용을 담고있다. 우리가 매일매일 무수히 많은 도구를 통해서 얻을 수 있는 데이터들을 어떻게 연관짓고, 어떻게 의미있는 결과로 도출 하는지에 대한 내용들이다. 거기에다 그것을 이용한 사용자의 행동들을 어떻게 유추할 수 있는지 알려준다. 

이 책을 읽으면서 내가 느꼈던 부분들은 다음과 같다 
- 이 책은 수식이 들어가지 않는 설명 부분은 이해하는데 큰 어려움이 없었다.
- 수식은 내게는 어려웠다. 선형대수학, 미적분학등 기호조차도 생소한 수식은 이해할수가 없었다. 
- 차트와 관련된 내용은 이해까지는 가능 했지만 관련 통계 용어가 나오는 부분들은 어려웠다. (일단 통계 용어 자체도 생소했기 때문이다.)
- R과 파이썬 관련 예제들은 그냥 스킵해도 된다. 예제들이 있긴 하지만 코드보다는 설명을 더 꼼꼼히 읽어보는게 더 낫다는 생각이 들었다. 코드가 없었어도 이상하지 않았을것 같다. 

모든 머신러닝 관련 책들은 내 기준에는 쉽지 않은 책들이다. 이 책도 마찮가지 이다. 쉬운부분이 있긴 하지만 문제는 쉬운 부분 가지고는 공부에 발전이 없다. 이런 종류의 책들을 좀더 읽어보면 언젠가는 쉽게 다가올수 있지 않을까 생각이 된다. 한마디로 열심히 읽어야 한다. ^^

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

728x90
반응형
반응형

 AWS 를 이용해서 어떻게 파이프 라인을 구축하고 사용하는지 공부해보려고 이 책을 읽기 시작했다. 그런데 이책.. 생각보다 읽기가 쉽지 않다. 
  처음에는 챕터 1에서 AWS 기반 데이터 과학에 대한 소개가 이루어지고, 챕터 2에서는 AWS를 활용한 모범사례가 소개되어있다. 그러나 이 부분에서는 다양한 기술과 내용들이 많이 다뤄져서 진도를 나가기가 어려웠다. 특히, AWS에 대한 기반 지식이 부족한 나에게는 쉽게 이해되지가 않았다.
  그래서 생각해 보니 챕터 3부터 시작해서 주요 기술이 자세히 설명되어 있는 부분부터 읽는 것도 좋을것 같았다. 책을 읽으면서 중요한 기술들을 학습하고, 해당 내용을 실습하며 익히다 보면 보다 쉽게 파이프 라인 구축에 도움이 될것이다. 

  이 책을 읽으면서 가장 큰 단점은 이미지나 캡쳐 화면과 같은 시각적인 자료가 부족하다는 점이다. 텍스트로만 설명 되어 있어 설정 값들과 텍스트가 의미하는 것들을 이해하는 데에 어려움이 많았다. 책에 시각적인 자료를 추가하거나 관련된 예시와 함께 설명해 주면 내용을 보다 쉽게 이해할 수 있을 것이다.
  결론적으로, 이 책은 AWS에 대한 기반 지식이 있는 독자들에게 더 유익하게 다가갈 수 있을것이다. 그리고 책을 공부하기 위해서는 먼저 AWS 에 대한 기반 지식을 충분히 습득한 후에 읽는것이 좋을것 같다. 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

728x90
반응형
반응형

머신 러닝에 대한 내가 갖고 있던 생각은 일단 "어렵다" 이다. 분명 트랜드이고 많은 부분에서 연구하고 공부하는 사람들도 많은데 이상하게 공부하기가 쉽지 않았다. 그렇게 느꼈던 것은 아마도 무엇부터 공부해야 할지 몰랐던것 같다. 그리고 프로그래밍 언어를 주로 공부를 했던 습관때문인지는 몰라도 언어의 기법, 또는 기능을 공부하는것 이외에 이론을 먼저 공부하는게 쉽지 않았다. 

머신러닝, 딥러닝 등등의 내용을 이해하기 위해서는 우선 이게 무엇인지 부터 알아야 하고 각각 사용하는 용어에 대해서도 익숙해질 필요가 있다. 

이책은 머신 러닝 시스템 설계를 하기 위해서 필요한 것들이 무엇인지 단계별로 설명해 주고 있다. 머신러닝이 무엇인지, 기초 적인 배경지식들은 무엇이 필요한지 설명을 해준다. 그리고 데이터를 수집하고 정제하고 모델을 만들고 평가하고 모니터링 하는 부분들에 대해서 전반적인 내용들을 살펴 볼수 있다. 

현재 책의 중간 정도 읽고 있는 시점인데 한가지 염두해둬야 할것이 있다. 이책을 이해하기 위해서는 책 이외에 따로 공부도 필요하다. 기존 머신러닝에 대한 지식이 있다면 괜찮지만 그렇지 않다면 중간중간 나오는 용어들이나 설명들이 이해가 안될 수 있다. 나 또한 그런 부분들이 있어서 인터넷을 검색해보면서 같이 읽어보고 있다. 

ML 을 공부하는 입장에서 단한권의 책으로 모든 것을 이해하고 적용해볼수 있는 수준으로 갈수 없다는 것은 잘 알고 있다. 하지만 이책을 통해서 기본적이고 중요한 요점들을 파악한후 추가적인 공부를 한다면 ML 을 이해하는데 도움이 될수 있을것 같다. 

   "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

728x90
반응형
반응형

그동안 리액트를 공부하면서 느꼈던 점을 생각해보면 생각보다 어렵다는 거였다. 컴포넌트를 그리고 재사용 하기 위해서 리액트를 사용하려면 무작정 만들어서 되는것도 아니고 전체적인 구조를 생각해 가면서 만들어야 하기 때문이다. 물론 처음부터 모두 생각하고 만들수 없기 때문에 만들면서 리팩토링을 하는것이 필수이다. 하지만 언어가 갖고 있는 기능만 알고 있다고 해서 해결될 문제는 아니다. 무엇보다도 무언가를 만들어보면서 느낄수 있는 것들이 있기 때문이다.

이런 이유에서 이 책은 리액트를 공부한 사람들에게 프로젝트를 따라 해보면서 기능들을 활용해 볼 수 있는 좋은 참고서가 될 수 있다. (기본적인 지식은 반드시 알고 있어야 한다.)

무언가를 하나 만들려면 하루 아침에 뚝딱 만들어지는 것은 아니다. 먼저 생각해야 할 것들이 있고 만들면서 생각해야 되는 것들이 있다. 그런 모든 과정이 이책에 있는 프로젝트를 따라 만들면서 경험해 볼 수 있다. 공통 기능을 만드는 시점, 비지니스 기능을 만드는 시점등 각각의 단계에서 필요한 기능과 주의 사항들을 알아 볼 수 있다.

이 책에서는 계산기, Todo 리스트, 여행사진 공유앱 이렇게 3가지를 만들게 된다. 3가지밖에 안된다고 생각할 수도 있지만 책 두께를 보면 그런 생각이 안들것이다. ^^;; 900 페이지가 되는 이 책에는 그만큼 많은 내용들이 담겨 있으니 시간을 갖고 천천히 따라해보면서 익히면 리액트 지식을 습득하는데 많은 도움이 될 것이다.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

728x90
반응형

+ Recent posts