마이크로소프트 AI 개발자가 알려주는 GPT 활용 노하우

주한나 지음

 

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

 

 

2023년 8월

2023 나는 리뷰어다 활동의 일곱 번째 리뷰

 

여름의 끝자락에 리뷰할 책은 "챗GPT 개발자 핸드북"이다.

 

요즘 개발자뿐만 아니라 전 분야에서 챗GPT가 굉장히 많이 쓰이고 있다. 그에 따른 폐해도 많이 생기는 것 같지만?

 

기술 발전이 급변하게 이루어지고 있는 시대에 살고 있는 우리들에게 AI란 좀 더 다른 세상의 이야기인 것만 같았다.

머신러닝 딥러닝 이야기는 해도 직접 개발하거나 이용해 보는 것이 아닌 이상 피부로 와닿지는 않았다는 이야기...

 

그런데 chatGPT는 정말 놀라움의 연속이었다.

마치 전문가에게 메신저로 물어보는 것처럼 질문을 하면 사람처럼 대답을 해주는 서비스가 나왔기 때문이다. 게다가 내 말을 너무나 잘 이해하고 답변을 해준다. 마치 사람인 것처럼!

 

이제는 구글 검색보다는 chatGPT에게 먼저 물어볼 만큼 내가 필요로 하는 답에 가깝게 대답을 해준다.

3.0에서만 해도 ? 이었지만, 4.0으로 발전하면서 진짜 쓸모 있는 chatGPT가 된듯한 느낌이다.

 

이런 시대에 살고 있는 우리들이 꼭 갖춰야 할 것이 무엇일까?

chatGPT 같은 서비스를 개발할 수 있다면 너무나도 좋겠지만, 현시점에서는 chatGPT를 더 잘 활용하는 능력이 큰 무기가 될 것이다.

 

이 책은 'chatGPT를 어떻게 쓸 수 있을까'부터 시작한다.

이력서 엔지니어링이나 코딩 인터뷰 준비처럼 와닿는 예시부터 시작해서 개발 업무에서 어떻게 활용하면 좋을지를 설명한다.

테스트 데이터 만들기 같은 시간이 많이 드는 일을 할 때 chatGPT의 도움을 받을 수 있다.

 

책의 구성을 보도록 하자.

 

우선 이 책의 대상자는 개발자이다. 개발자로서 어떻게 사용하면 도움이 되는지의 답을 제공해 줄 수 있는 책이다.

 

실습에 필요한 자료는 아래 주소에서 내려받을 수 있다.

https://github.com/decodingbook 

 

decodingbook - Overview

@Publishing . decodingbook has 4 repositories available. Follow their code on GitHub.

github.com

 

본문 구성은,

1. 챗GPT 골드러시 - 챗GPT의 성공에 따른 MS의 분위기와 지금이 챗GPT **골드러시인 이유

**골드러시 - 상업적 가치가 있는 금이 발견된 지역에 노동자들이 대거 이주하였던 현상

2. 챗GPT 가볍게 시작하기 - 이력서 쓰기, 인터뷰 준비하기, 직장에서 문서와 이메일 쓰기 등 개발자들이 챗GPT를 활용할 수 있는 방법

3. 챗GPT 조련하기 - 챗GPT에게 일 시키는 방법. 프롬프트 엔지니어링 꿀팁

4. GPT로 개발하기 - GPT 기반의 AI 제품 가운데 개발자들이 제일 열광하는 제품이 깃허브 코파일럿. 코파일럿을 사용하여 동료의 코드 이해하기, 주석 자동으로 달기, 테스트 자동으로 쓰기 등을 진행

5. GPT로 AI 어플리케이션 개발하기 - 오픈AI API와 랭체인으로 AI 애플리케이션을 쉽고 빠르게 만들 수 있는 방법, 챗봇 만들기

본문 중 사용 설명서

 

책은 256페이지로 간결한 구성으로 재미있게 되어있다.

 

저자가 본인이 직접 겪은 케이스들로 예제를 구성하였기에 훨씬 더 설득력 있게 와닿는다.

 

chatPGT가 대세인 것, 앞으로 더 대세가 될 것은 자명한 사실인 것 같다.

 

개발자가 좀 더 효율적으로 개발하기 위해서는 charGPT를 잘 이용해야 할 것이다.

너무 의존해서도 안 되겠지만.

 

기본이 되어 있는 개발자라면 chatGPT를 잘 활용해 보자!

 

Love Yourself.

클라우드 시대의 코드형 인프라(IaC)와 데브옵스 완벽 가이드

키프 모리스 지음

이동규 옮김

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

 

2022년 9월

2022 나는 리뷰어다 활동의 여덟 번째 리뷰

 

9월에 리뷰할 책은 "코드로 인프라 관리하기"이다.

 

우선 옮긴이가 꼭 전달하고 싶은 책의 일부를 보자

 

"애자일 소프트웨어 개발과 코드형 인프라의 핵심은 변경에 대한 태도를 뒤집는 것이다. 변경을 두려워하거나 변경을 최소화하기보다는 자주 변경함으로써 오류를 예방할 수 있다. 변경을 더 잘하는 유일한 방법은 자주 변경하여 시스템과 프로세스를 지속적으로 개선하는 것이다."

 

저자는 '속도를 빠르게 하여 품질을 향상시키고 품질을 향상시켜 속도를 빠르게 한다'를 강조한다.

가장 높은 수준의 데브옵스란 인프라 코드가 애플리케이션 코드와 결합하여 빠르고 안전하게 변경을 실행하고 언제든지 전체 시스템을 복구할 수 있는 상태라고 생각한다.

 

저자와 옮긴이의 기조를 생각하며 책을 읽어나가야 한다.

 

코드형 인프라라는 용어는 무엇인가?

오래전부터 시스템 관리자는 시스템을 관리하기 위해 스크립트를 사용했고, 코드형 인프라는 데브옵스 움직임과 함께 성장했다. 2009년 애자일 인프라라는 강연에서 코드형 인프라 용어가 사용되었고 이 책에까지 이르고 있다.

 

그럼 이 책의 세 가지 핵심 실행 방법을 보자.

 

1. 모든 것을 코드로 정의한다

2. 코드를 지속적으로 테스트하고 딜리버리 한다

3. 시스템을 작고 간단하게 빌드한다.

 

이 세 가지 실행 방법은 서로를 보강하며, 코드는 변경 관리의 여러 단계에서 추적, 버저닝, 배포를 용이하게 한다. 이를 통해 팀은 더 쉽게 더 작은 부분을 지속적으로 테스트할 수 있는 것이다.

 

이 책의 대상 독자는 소프트웨어 배포와 실행에 필요한 인프라를 프로비저닝하고 관리하는 사람으로 팀에서 엔지니어링, 테스트, 설계, 관리자 역할을 맡은 경우다. 시스템, 인프라 또는 소프트웨어 배포와 실행 관련 배경지식이 필요하며, 인프라 자동화를 위해 코드를 사용하는 클라우드나 가상 인프라에 대한 경험이 있다고 가정한다.

 

결국 이 책은 숙련된 실무자와 팀이 효율적인 방법으로 공통 언어를 만들고 인프라 자동화에 도전하는 과정에서 찾은 해결 방법을 명확하게 설명한다. 이 책을 통해 많은 엔지니어들은 시스템과 프로세스 구현의 밑거름을 얻어갈 수 있을 것이다.

 

Love Yourself.

Learning Algorithms

조지 하이네만 지음

윤대석 옮김

 

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

 

2022년 6월

2022 나는 리뷰어다 활동의 다섯 번째 리뷰

 

6월에 리뷰할 책은 "Learning Algorithms"이다.

가볍게 300페이지 좀 안 되는 책은 알고리즘을 공부하고자 하는 이에게 좋은 책이라 생각되며,

파이썬을 조금 공부해보셨던 분이라면 더 좋은 책일 것이다.

 

저자는 소프트웨어 엔지니어링 및 알고리즘 분야에서 20여 년간 경험을 쌓은 컴퓨터공학과 교수다. 내용이 조금 딱딱하진 않을까 했지만 옮긴이 윤대석 님이 잘 옮겨주신 것 같다. 현직 엔지니어로서 알고리즘과 운영체제를 꾸준히 공부하시는 분이시고, [쓰면서 익히는 알고리즘과 자료구조]의 저자이다. 

 

알고리즘의 중요성이란 몇 번을 말해도 지나치지 않다.

컴퓨터 과학의 핵심이자 정보화 시대의 필수 요소로서, 수많은 분야의 인터넷 요청에 사용되고 있다.

컴퓨터 과학 내에서 알고리즘을 발견하고 적용할 수 있는 공부를 하는 것은 쉽지 않다.

대부분 수학적 증명과 컴퓨터 과학 개념을 강조하기에 효율적인 공부가 어렵다.

 

하지만 이 책은 코드에 당장 적용해 효율을 향상해주는 다양한 알고리즘을 소개하며 파이썬으로 작성된 예제 코드를 제공한다.

현재 파이썬은 다양한 분야에서 사용되며, 가장 인기 있고 사용자 친화적은 프로그래밍 언어 중 하나이다.

책에서는 알고리즘을 최대한 시각화하고 상세한 설명으로 독자의 개념 이해를 돕는다.

 

컴퓨터 과학에서 사용되는 자료구조와 기본 알고리즘을 알려주기에 효율적인 프로그래밍 작성이 되도록 도와줄 책이며, 코딩 인터뷰를 준비하는 개발자와 지망생에게도 좋은 가이드가 될 것이라 조지아 공과대학교의 즈비 갈릴리 명예 컴퓨팅 학장은 추천을 해주었다.

 

사실 실무에 종사중인 개발자에게 알고리즘의 학습은 꼭 필요한 공부가 아니라고 생각할 수도 있다.

하지만 알고리즘을 학습하게 되면 해결하고자 하는 문제를 다양한 시각으로 풀어내는 능력을 키울 수 있고, 좀 더 효율적인 소프트웨어를 개발할 수 있다는 장점이 있다. 이 책은 알고리즘이 어떻게 구성되는지 단계별로 꼼꼼히 설명해 기초를 실전에 잘 적용하도록 이끌어준다.

알고리즘 분야는 방대하기 때문에 이 책을 시작으로 접하면 아주 좋을 것이다.

 

책에서 다루는 내용에 대해서 살펴보자.

기본 타입을 사용해 정보를 구성하는 방법부터 시작하여, 자료구조에서 직접 작동하는 알고리즘, 스택이나 우선순위 큐와 같은 기본 추상 데이터 타입에 의존하는 복잡한 알고리즘까지 다양한 알고리즘이 어떻게 성능을 달성하는지 이해를 돕도록 하고 있다.

 

책의 본문 일부를 보자.

그림을 통해 독자의 이해를 돕고, 표를 통해 확실하게 비교를 할 수 있도록 도와주고 있다.

직접 코드를 치면서 이해를 하고, 각 챕터마다 마지막엔 연습 문제를 통해 문제 해결 능력을 키워주고 있다.

 

시중에 많은 알고리즘과 자료구조 관련한 책이 많지만, 이 책은 알고리즘 공부를 시작하는 사람에게 아주 적합한 책이 될 것이다.

비교적 친근한 파이썬이라는 언어를 사용하는 것도 큰 장점이 될 것 같다.

 

알고리즘 공부, 이젠 진짜로 시작해 봅시다.

 

Love Yourself.

16여 년 만의 개정을 기념해 재탄생한 한국 특별판???

에릭 프리먼, 엘리자베스 롭슨, 케이시 시에라, 버트 베이츠 지음

서환수 옮김

 

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

 

2022년 4월

2022 나는 리뷰어다 활동의 세 번째 리뷰

 

4월의 리뷰할 책은 "헤드퍼스트 디자인 패턴(개정판)"이다.

무려 16년 만에 개정판이 나왔다. 개정판이라고 할 수 있을지는 모르겠으나 아무튼 한국 특별판이다.

 

몇 페이지를 휘리릭 봤을 때 느낀 점은 예전 본판보다 보기가 훠어~~ 얼씬 편해졌다.

헤드퍼스트 디자인 패턴이라는 책이 워낙에 좋은 책으로 소문이 많이 났었기 때문에 꼭 봐야지 봐야지 했는데 뭔가 미쿡스런 책의 그림과 구성에 지쳐버리고 말았다. (공부 열심히 하지 않아서 그런 건 아니랍니다...)

어디를 어떻게 봐야 하는 거지? 라는 생각을 많이 했던 것 같다.

책의 일부분을 보여드립니다...

나는 정말 정신 없었다...

 

그런데!

개정판이 나왔다.

구성이 정말 깔끔하게 잘 나왔다.

 

훨씬 보기 편하고 텍스트 색감도 너무 좋다. 

이것 보세요 여러분!!!!

정말 잘 나왔다! 당장 읽어 보고 싶을 정도로 좋은 구성이다.

옮긴이의 말처럼 한국 정서에 맞게 일러스트레이션도 싹 바뀌고 뼈대와 태가 바뀌었다.

어디에 감사를 드려야 하나 ㅎㅎㅎ

일단 한빛미디어에 감사드립니다!!

(늘 감사하고 있어요!!)

 

그럼 이제 책의 본문에 집중해보자.

헤드퍼스트 디자인패턴은 친절하게도 책을 보는 방법을 잘 설명해준다.

여러분의 두뇌를 정복하는 방법

1. 천천히 하세요.

2. 연습문제를 꼭 풀어보세요.

3. <무엇이든 물어보세요> 부분은 꼭 읽어보세요.

4. 자기 전 마지막으로 이 책을 보세요.

5. 물을 많이 마십시다.(????)

6. 배운 내용을 얘기해 봅시다.

7. 두뇌의 반응에 귀를 기울여 봅시다.(힘들면 쉬라는 뜻)

8. 뭔가를 느껴 봅시다.

9. 직접 디자인해 봅시다.

 

진짜 이대로만 하면 개발 실력이 쑥쑥 성장할 수 있을 것 같다.

이 책뿐만 아니라 다른 책들도 이런 식으로 공부한다면 내 머릿속에 잘 남으리라.

 

어쨌든,

이 책은 디자인 패턴을 말하는 책이다.

디자인 패턴을 잘 활용하면 코드 재사용뿐만 아니라 더 확장될 앱을 준비할 수가 있다.

괜히 패턴이라는 단어를 사용하는 것이 아니다. 선배 개발자 분들이 시행착오를 많이 겪은 후에 가장 효율적이라고 생각하는 것을 패턴으로 남겼을 테니 말이다.

지속적으로 공부하고 접목시켜 보다 보면 디자인 패턴을 가장 현명하게 활용하는 법을 깨달을 수 있을 것이다.

 

이 책은 우선 초급 개발자에게 가장 도움이 될 책이라고 생각이 된다.

물론 요즘 시대에 초급 / 중급으로 굳이 구분하고 싶지는 않지만 언어를 공부하고 프레임워크를 다뤄보기 시작한 개발자가 디자인 패턴을 공부하면 가장 도움이 될 것 같기 때문이다.

본인이 생각하기에 자바객체지향을 지속적으로 사용해야 한다면 이 책은 필수라고 생각한다.

 

디자인패턴을 이야기하자면 보통 GoF의 디자인 패턴을 많이 이야기한다.

하지만 GoF의 책은 난이도가 좀 있는 편이기 때문에 이 책으로 먼저 시작하고 디자인 패턴에 대해서 더 궁금하다면 GoF로 넘어가는 것도 좋은 방법일 것 같다. 패턴도 패턴이지만 객체를 설계하는 법에 대해 설명을 잘해주는 책이기 때문에 강추하는 책이다.

 

마지막으로, 개정판이라고 해서 내용은 크게 바뀌진 않았다.

일단 예제 코드가 최신 자바버전인 자바 16에 대응 가능하도록 변경이 된 것 제외하고는 내용에서 큰 변화는 없는 것으로 보인다.

 

디자인 패턴을 재미있게, 그리고 효과적으로 공부하고 싶은 분들은 헤드퍼스트 디자인패턴으로 시작하자.

괜히 16년 만에 개정판이 나온 것이 아니다. 그것도 한국 특별판으로.

 

Love Yourself.

Go 개발자처럼 생각하는 방법

존 보드너 지음

윤대석 옮김

 

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

 

2022년 3월

2022 나는 리뷰어다 활동의 두 번째 리뷰

 

올해 두 번째 리뷰할 책은 "러닝 Go" 이다.

 

어떤 책을 선택할까 고민하다가 Go를 단어만 들어봤지, 뭐 어떤 건지 전혀 몰라서 무작정 신청해 보았다.

 

Go는 구글이 만든 개발 언어이다.

옮긴이의 말을 빌리자면, 비교적 최근에 개발되었고 오랫동안 유지 개발되어온 다른 인기 있는 프로그래밍 언어들과는 다르게 최신 멀티코어 아키텍처(?)를 제대로 활용할 수 있도록 고안되었다. 특히 Go루틴(goroutine)과 채널을 통해 작업을 동시성과 병렬성을 쉽게 구현해 낼 수 있도록 한 부분에서 다른 언어들과 차이를 보인다.

 

특히 Go 언어는 도커나 쿠버네티스와 같은 대형 프로젝트에서 사용되는 만큼 성공했다고 할 수 있다.

 

이런 장점으로 시스템 프로그램이나 서버용 프로그램 개발에 많이 활용되고 있지만, 국내에서는 서버 개발로 아직도 자바를 많이 쓰고 있다.

(자바 만세!)

 

개발자가 원하는 프로그램을 구성하면서 언어에서 제공하는 다양한 기능을 사용하는 방법뿐만 아니라 효율적이고 확장할 수 있게 진행하려면 언어가 가지는 특징과 철학을 잘 이해할 필요가 있다고 생각한다. 개발자가 자신이 사용하던 언어와 Go가 개념적인 부분에서 크게 다르지 않지만, 이 책에서는 다른 언어들과의 차이점을 명확히 구분해주기 때문에 Go 언어만의 매력을 느낄 수 있다.

 

옮긴이가 한 말 중에 가장 와닿는 부분은,

"Go 언어는 다른 언어에 비해 배우기 쉽고 프로젝트가 커지더라도 간결함을 유지하여 확장도 쉬운 언어라고 생각한다."

프로젝트가 커지더라도 간결함을 유지할 수 있다니?

굉장히 매력적인 부분이라는 생각이 든다. 간결하지만 강력한 기능을 제공하여 유지 보수에도 많은 이점을 가지고 있다는 Go.

 

다음으로 대상 독자에 대해 저자가 정리해준 부분이 있다.

본인이 구분 지어 보고자 한다.

1. 두 번째 개발 언어를 찾는 개발자

2. 버전 관리나 IDE를 사용해본 경험이 있는 개발자

3. 동시성이나 추상화 같은 컴퓨터 과학 개념에 익숙한 개발자

4. 기본적인 HTTP 개념에 익숙한 개발자

이 정도로 정리가 되는 것 같다. 4가지 조건을 다 충족시킬 필요는 없지만 하나의 언어가 익숙해진 미들급 개발자가 이 책을 본다면 가장 적합한 시기의 책이 아닐까 싶다.

 

목차를 간단히 보자.

1. Go 개발 환경 설정

2. 기본 데이터 타입과 선언

3. 복합 타입

4. 블록, 섀도, 제어 구조

5. 함수

6. 포인터

7. 타입, 메서드, 인터페이스

8. 오류

9. 모듈, 패키지 그리고 임포트

10. Go의 동시성

11. 표준 라이브러리

12. 컨텍스트

13. 테스트 작성

14. Reflect, Unsafe, Cgo

15. Go의 제네릭

 

보통의 컴퓨터 언어 책과 구성은 비슷하지만 익숙하지 않은 단어들이 있는데, Go 만의 특징이 아닐까 싶다.

 

본문은 설명과 코드 그리고 Tip, NOTE 등으로 구성되어 정리하기 편하게 되어 있다.

근 450 페이지에 달하는 분량이지만 새로운 언어를 배우고자 한다면 Go를 450 페이지 만에 배울 수 있다는 것이다.

 

개발이 무료하고 새로운 것을 찾고자 하는 개발자들이여.

러닝 Go에 도전해 보는 것은 어떨까?

 

LoveYourself.

단 한 번에 필요한 정보만 불러오는 효율적은 API 구축하기

 

사메르 부나 지음

김완섭 옮김

 

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

 

2022년 2월

2022 나는 리뷰어다 활동의 첫 번째 리뷰.

(작년에 이어 올해도 "나는 리뷰어다" 활동 지원 감사드립니다!! 자~ 드가자~~~~!)

 

2022년 한빛미디어 나는 리뷰어다 활동의 첫 번째 책은 "그래프QL 인 액션"이다.

 

먼저 GraphQL이 무엇인지 알아보자.

facebook에서 만든 Graph Query Language로 어플리케이션 레이어 쿼리 언어이다.

다시 말하자면?

API를 위한 쿼리 언어이며 타입 시스템을 사용하여 쿼리를 실행하는 서버사이드 런타임이다.

(무슨 말인지 잘 모르겠다.)

 

SQL과 비교하면서 좀 더 쉽게 풀어 설명해보자.

 

GraphQL(이하 GQL) 은 API를 만들 때 사용할 수 있는 쿼리 언어. 그와 동시에 쿼리에 대한 데이터를 받을 수 있는 런타임이다.

GQL은 선언현 데이터 fetching 언어라고 흔히 일컬어지며, 개발자는 무슨 데이터가 필요한지에 대한 요구사항만 작성하면 되고 어떻게 가져올지는 신경 쓰지 않아도 된다.

 

SQLDBMS에 저장된 데이터를 효율적으로 가져오는 것이 목적이고,

GQL웹 클라이언트가 데이터를 서버로부터 효율적으로 가져오는 것이 목적이다.

 

SQL의 문장은 주로 백엔드 시스템에서 작성하고 호출하는 반면,

GQL의 문장은 주로 클라이언트 시스템에서 작성하고 호출한다.

 

서버사이드 GQL 애플리케이션은 GQL로 작성된 쿼리를 입력받아 쿼리를 처리한 결과를 다시 클라이언트로 돌려준다.

HTTP API 자체가 특정 데이터베이스나 플랫폼에 종속적이지 않은 것처럼 마찬가지로 GQL 역시 어떠한 특정 데이터베이스나 플랫폼에 종속적이지 않다.

일반적으로 GQL의 인터페이스 간 송수신은 네트워크 레이어 L7의 HTTP POST 메서드와 웹소켓 프로토콜을 활용한다.

 

아래 GQL 파이프 라인도 같이 확인해보자

GraphQL 파이프 라인

비교하는 김에 GraphQL과 REST API에 대해서도 비교해보자.

REST API

- URL, Method 조합으로 다양한 Endpoint가 존재

- REST API에서는 각 Endpoint마다 데이터베이스 SQL 쿼리가 달라짐

 

GraphQL

- GQL은 단 하나의 Endpoint가 존재

- GQL API는 GQL 스키마의 타입마다 데이터베이스의 SQL 쿼리가 다름

GraphQL vs REST API

이 정도면 GQL에 대한 이해는 됐을 거라 생각한다.

좀 더 자세히 보고자 한다면?

https://velog.io/@jangwonyoon/1.-GraphQL-%EA%B0%9C%EB%85%90

 

#1. GraphQL 개념 및 개요

Graph QL(이하 gql)은 Structed Query Language(이하 sql)와 마찬가지로 쿼리 언어입니다. 하지만 gql과 sql의 언어적 구조 차이는 매우 큽니다. 또한 gql과 sql이 실전에서 쓰이는 방식의 차이도 매우 큽니다. gq

velog.io

링크를 참고하도록 하자. 저자님 감사합니다. 그대로 옮겨오면서 이해했어요.

 

그럼 이제 이 책의 구성에 대해서 알아보자.

 

이 책은 데이터 API를 사용하는 프런트엔드 개발자와 효율적인 데이터 API를 만들어야 하는 백엔드 개발자를 대상으로 한다.

그리고 기본적인 프로그래밍에 대한 지식과 javaScript에 대한 기초 지식도 필요하다.

 

1부 - 그래프QL 에 대한 다양한 질문을 왜, 무엇을, 어떻게의 관점으로 답한다.

  - 1장 : 그래프QL이 정확히 무엇이며 어떤 문제를 해결할 수 있고, 어떤 문제가 발생할 수 있는지 소개
             또한, 그래프QL의 설계 컨셉과 REST API와의 차이점에 대해 설명

  - 2장 : 그래프QL의 인터랙티브 환경 소개. 그래프QL 요청을 실제 작성하고 테스트

  - 3장 : 그래프QL의 기본 내장 기능에 대해 소개. 직접 데이터 요청과 응답을 구성하고 변경

 

2부 - 실제 웹 애플리케이션에서 동작하는 데이터 API를 만들어본다. 이를 통해 그래프QL 서비스 구축 방법과 그래프QL 언어가 무엇인지 이해할 수 있다.

  - 4장 : UI 기능들을 API 처리와 연계하는 방법을 배우고 이를 이용해서 그래프QL 스키마 설계

  - 5장 : 데이터베이스 전용 Node.js 드라이버와 그래프QL.js를 사용해서 실행 가능한 그래프QL 스키마 생성

  - 6장 : API 쿼리를 구현하기 위해서 데이터베이스 필드를 연동

  - 7장 : 6장에서 만든 쿼리를 바탕으로 그래프QL 쿼리 최적화 방법

  - 8장 : 데이터베이스 개체를 생성, 변경, 삭제하기 위한 API 변경 처리

 

3부 - 그래프QL API를 프론트엔드 웹 애플리케이션에 사용하는 방법을 보여준다.

  - 9장 : 그래프QL 클라이언트 라이브러리에 의존하지 않고 그래프QL API를 사용해서 직접 Ajax 요청을 처리

  - 10장 : 유명한 그래프QL 클라이언트 라이브러리 중 하나인 아폴로 클라이언트(Apollo Client)의 강력한 기능

 

소개부터 시작하여 GitHub 같은 그래프QL API 서비스를 사용한 실용적인 예제도 같이 보여주고 있다.

 

Git Repository와 Docker 파일도 제공하기 때문에 환경 구축을 어렵지 않게 할 수 있다.

 

공부를 하면서 어려운 점이 있다면 Pluralsight 같은 동영상 강좌 플랫폼에서 저자의 강의를 볼 수도 있다.

이외에도 jsComplete.com에 많은 동영상 자료가 있으며,

jscomplete.com/help slack 채널도 제공하고 있으니 많이 방문하면 좋을 것 같다.

 

484 페이지에 달하는 분량이지만, 관심이 있는 사람이라면 쭉쭉 진도가 나갈 것이다.

본인은 자바 스프링 백엔드 개발자라서 javaScript에 취약하기 때문에 빠르게 일고 나가지는 못했다.

하지만 꼭 완독 하고, 실제 프로젝트에도 접목시켜 보리라.

 

올해는 시작과 동시에 이직을 하고, 보다 좋은 환경의 회사에서 일을 하고 있다.

(너무 자유로워서 걱정입니다...)

2022년에는 정말 튼튼한 코드를 만드는 개발자가 되고 싶다.

 

LoveYourself.

쿠버네티스 창시자가 알려주는 최신 쿠버네티스 개발 및 배포 기법

 

브랜던 번스, 에디 비얄바, 데이브 스트레벨, 라클런 이븐슨 지음 / 장정호 옮김

 

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

 

10월, 나는 리뷰어다 활동의 9번째 리뷰.

(8번째 리뷰는 완성하지 못하여 비공개입니다. 흙흙)

 

여차저차하여 쿠버네티스 모범 사례 책을 받게 되었다. 회사는 Azure 클라우드 환경에서 개발 및 배포를 진행하기 때문에 쿠버네티스 파이프라인 구성이 굉장히 중요하다. 본인은 아직 주니어기 때문에 쿠버네티스 구성을 직접 한다거나 수정하는 등의 중책을 맡고 있지는 못하지만, 그래도 어떻게 굴러가는 건지는 알아야 할 것 같아서 신청하였다.

 

일단, 쿠버네티스란 무엇인가?

https://kubernetes.io/ko/docs/concepts/overview/what-is-kubernetes/

 

쿠버네티스란 무엇인가?

쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식할 수 있고, 확장 가능한 오픈소스 플랫폼으로, 선언적 구성과 자동화를 모두 지원한다. 쿠버네티스는 크고 빠르게 성장하

kubernetes.io

쿠버네티스는 컨테이너화워크로드서비스를 관리하기 위한 이식성이 있고, 확장 가능한 오픈소스 플랫폼이다. 쿠버네티스는 선언적 구성자동화를 모두 용이하게 해 준다. 크고, 빠르게 성장하는 생태계를 가지고 있다. 쿠버네티스 서비스, 기술 지원 및 도구는 어디서나 쉽게 이용할 수 있다.

-----

좋은 것 같긴 한데 도통 뭐라는건지 전혀 모르겠다. 회사 프로젝트가 쿠버네티스를 이용하고 있음에도 이런다. 그나마 도커는 조금 알고 이해하고는 있지만 ...

 

그럼, 쿠버네티스가 왜 필요하고 무엇인지 알아보자.

- 서비스 디스커버리와 로드 밸런싱

- 스토리지 오케스트레이션

- 자동화된 롤아웃과 롤백

- 자동화된 빈 패킹(bin packing)

- 자동화된 복구(self-healing)

- 시크릿과 구성 관리

---

역시 잘 모르겠다. 하하하하하하...

 

쿠버네티스가 더 궁금하다면 조대협님이 블로그를 정독하도록 하자.

https://bcho.tistory.com/1255

 

쿠버네티스 #1 - 소개

Kubernetes #1 - 소개 조대협 (http://bcho.tistory.com) 배경 도커와 쿠버네티스를 알게 된건 수년전인데, 근래에 들어서 다시 쿠버네티스를 보기 시작하였다. 컨테이너 기반의 환경은 배포에 장점이 있고

bcho.tistory.com

자 그럼 이 책에 대해서 알아보자. 이제 본론이다.

옮긴이의 말을 보면, 이 책을 통해 15년 이상 쌓아온 구글의 노하우를 터득할 수 있다고 한다. 쿠버네티스는 자유도가 높기 때문에 제대로 활용할 방법을 찾는 것에 많은 시간과 노력이 든다고 한다. 쿠버네티스의 창시자인 브렌던 번스가 다양한 실무자를 도우며 경험한 내용을 담았으며 초보 실무자는 물론 경험이 많은 프로 실무자에게도 꼭 필요한 책이라고 한다.

 

책의 구성을 보자.

각 장은 독립적인 형태로 구성되어 있으며 각 장은 쿠버네티스에서 수행하는 특정 작업에 대한 전반적인 개요와 같으므로, 특정 주제를 배우고 싶거나 관심사가 생겼을 때 찾아서 읽으면 더 효율적이다.

 

사실 쿠버네티스는 클라우드 네이티브 개발의 사실상 표준으로, 애플리케이션을 더 쉽게 개발하고 빠르게 배포하고 안정적으로 운영하도록 돕는 강력한 도구이다. 이 책은 쿠버네티스를 소개하는 책이 아니며, 독자가 기본적인 쿠버네티스 API와 도구와 친숙하며 쿠버네티스 클러스터를 생성하고 상호작용하는 법을 안다고 가정한다. 아무튼 쿠버네티스에 관심 있는 사람이 보기에 참 좋은 책이라는 이야기다.

 

CONTENTS

1. 기본 서비스 설치

2. 개발자 워크플로

3. 모니터링과 로깅

4. 설정, 시크릿, RBAC

5. 지속적 통합, 테스트, 배포

6. 버전, 릴리스, 롤아웃

7. 글로벌 애플리케이션 분산과 스테이지

8. 리소스 관리

9. 네트워킹, 네트워크 보안, 서비스 메시

10. 파드와 컨테이너 보안

11. 클러스터 정책과 거버넌스

12. 다중 클러스터 관리

13. 외부 서비스와 쿠버네티스 통합

14. 쿠버네티스에서 머신러닝 실행하기

15. 고수준 애플리케이션 패턴 구축

16. 상태와 스테이트풀 애플리케이션 관리

17. 어드미션 컨트롤과 권한

18. 결론

 

CONTENTS를 보면 실무자가 어려움에 처했을 때 케이스를 쉽게 찾을 수 있도록 구성되어 있다.

배포를 할 때 문제가 발생하였다면 5번 CONTENTS를 먼저 참고하고, 책 뒤에 있는 INDEX를 참고하면 될 일이다.
(사실, 그전에 갓글 검색 먼저 하겠지만 말이다.)

 

5장 지속적 통합, 테스트, 배포

책을 보면 명령어와 함께 순서대로 설명을 잘해주기 때문에 그대로 따라 해 보면 바로 적용해 볼 수 있다.

게다가 각 챕터의 끝에는 모범 사례를 말하지만 꿀팁을 제공하고 있는 부분이다.

5.10 CI/CD 모범 사례

5장에서는 CI/CD 파이프라인이 쿠버네티스에 애플리케이션을 전달할 때 위험을 줄이고 처리 속도를 높이는 역할을 하는 부분에 서술하였고, 배포 전략까지 다루고 있다.

 

참말로, 현재 쿠버네티스를 다루고 있는 실무자라면 바로 적용해 볼 수 있는 부분들이 많아서 큰 도움이 된다.

 

본인은 아직 이 책의 전부를 읽어보진 않았고, 필요한 부분만 발췌해서 보고 있지만 앞으로 사전처럼 자주 볼 책임이 분명하다.

언젠가는 쿠버네테스에 관련해서도 블로깅 해보리라 다짐한다.

(현실은 시작한 시리즈가 없지만!!)

 

오늘도 괴발개발 코드 몽키는 조금 더 똑똑한 코딩을 하려 하고 있다.

Oracle, MSSQL, MariaDB 기반 실습환경

김상형 지음

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

 

6월,

나는 리뷰어다 활동의 5번째 리뷰.

 

개발자에게 SQL이란 불가분의 관계인 것 같다.

전통적으로 SQL은 RDBMS에서 다뤄져 왔고, SQL은 대용량의 복잡한 데이터를 조작하고 관리하는 표준 스크립트 언어이다.

 

적어도 BackEnd 개발자라면 DB를 컨트롤하기 위해서 SQL문을 보거나 작성해 보았을 것이다.

 

하지만 SQL이라는 것이 기본적인 문법을 익히고 나면 , 그 후에는 직접 개발하면서 맞춰가거나, 소속된 회사의 코딩 스타일을 따라가기 마련인 것 같아 좀 더 공부에 소홀해지는 것 같다.(굉장히 개인적인 입장입니다!!)

 

그.래.서.

이번 리뷰 신청도 SQL 관련 문서를 하게 되었다.

 

이 책은 특정 기업의 DBMS 제품이나 개발툴이 아닌 SQL 언어 그 자체를 중점적으로 다루고 있다. 표준화된 SQL에 집중하고 있는 만큼 각 기업별 DB나 개발툴은 금방 익숙해질 수 있다.

라고 저자는 이야기 하지만 사실 SQL이라는 것이 쉬운 것이 아니다. 연습도 많이 해봐야 하고 실전에서도 많은 시행착오를 겪어야 한다.

 

SQL에 집중한 본 책의 목차를 보자

1장 데이터베이스

2장 오라클

3장 SQL Server와 MariaDB

4장 SELECT

5장 데이터 집계

6장 데이터 관리

7장 제약

8장 모델링

9장 서브쿼리

10장 조인

11장 함수

12장 뷰

13장 분석과 통계

14장 테이블 관리

15장 제어문

16장 프로시저

17장 커서

18장 트리거

19장 트랜잭션

부록

 

으로 구성되어 있다.

여타 SQL 도서들과 목차는 크게 다르지 않다.

사실 실무에서는 10장 조인까지만 잘 사용할 줄 알아도 개발에 큰 어려움이 없다고 생각한다.

그 뒤에 것들은 백엔드 개발자보다 DBA 분들이 알면 더 좋을? 필요한? 챕터라고 본인은 생각하지만 개발 쪽에 커리어를 쌓아가면서 불필요한 것들은 없다.

하나라도 더 알면 개발의 선택지가 더 늘어나는 것이기 때문에 공부해서 나쁠 것은 없다. 결국 성능 이슈로 귀결되니까...

 

책의 분량은 무려 700 페이지에 달하는데, 아무래도 오라클, MSSQL, MariaDB를 같이 다루기 때문에 분량이 조금 더 늘어난 느낌은 있다. 하지만 독자가 필요한 부분만 확인하면서 공부하면 진도는 더 빨리 나갈 것이다.

 

이 책은 모태 사이트에서 출발을 했다. 소프트웨어 공학 연구소에서 실습에 필요한 파일과 추가 강좌, 정오표 등을 제공하고 있으니 꼭 확인하도록 하자.

http://www.soen.kr/book/sql

 

SoEn:소프트웨어 공학 연구소

 

www.soen.kr

SQL은 기본을 잘 잡아놓으면 결국 실무에서 활용 및 응용하는 단계에서 빛을 발한다.

"김상형의 SQL 정복" 을 통해서 SQL을 정복하고, 데이터베이스 동작에 대한 이해를 더 키우는 개발자가 되도록 하자.

형광펜 내가 칠한거 아니다.

알고리즘 설계 캔버스를 작성하며 배우는 알고리즘 문제 해결 전략

 

윤대석 지음

 

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

 

벌써, 5월.

이번 나는 리뷰어다 활동 책은 윤대석 님의 쓰면서 익히는 알고리즘과 자료구조이다.

 

4월에 이직 후에 전혀 신경을 못 쓰고 있다가 마감날이 가까워졌다는 걸 인지하고 부랴부랴 책을 폈다.

 

개발 공부를 하면서 모든 사람들이 알고리즘과 자료구조는 기본적으로 공부를 해야 하는 과목이라고 이야기를 한다.

하지만 이 시점에 내가 궁금한 건, 그렇게 말씀하신 본인들은 알고리즘과 자료구조 공부를 제대로 하셨나이까?

(나라는 사람이 그랬다. 중요하다 생각하고 주위에도 그렇게 이야기하면서 정작 나 자신은 그.러.질. 못했다. 죄송합니다 주위분들!)

 

학교를 다니면서 수강 과목으로 소화하긴 했지만 과제와 시험에 치중된 부분 위주의 공부로 인해 머릿속에 깊게 남은 것이 없다.

 

여러 단어들의 반복적인 나열이었을 뿐...

 

그래서 이번에 5월 리뷰 도서는 꼭 봐야지 라는 생각으로 신청했지만, 역시나 다 보지 못했다.

하지만 시간이 걸리더라도 완독은 분명히 할 것이다.

(어디 가서 개발자 인양 이야기를 하려면 뭐가 뭔지 명칭이라도 알아야지!!)

 

지은이가 말하는 알고리즘 공부란 본인의 역량이 월등히 발전했다고 체감하기 힘들고, 동기부여가 상대적으로 부족할지도 모른다고 이야기한다. 사실 본인도 공감하는 바였다. 최근에도 더 실무에 가까운 스프링에 대한 깊이와 JPA 활용에 대한 공부를 하고 있고, 클라우드에 대한 리서치를 진행하는 중이기 때문에, 알고리즘이란 마치 정보처리입문과 같은 너무나도 이론적이고 개론적인 학습이라 생각했기 때문이다.

 

하지만.

날아다니는 개발자와 보통의 개발자들의 차이는 알고리즘에서 차이가 난다.

보통의 개발자들은 필요한 기능을 구현해 내는 것이 목적이지만,

날아다니는 개발자는 그 속에서 문제를 찾아내고, 개발 품질 향상에 큰 기여를 할 수가 있다.

 

아직 주니어 개발자들에게는 크게 와닿지 않을 수도 있겠다.

머리로는 필요성을 느끼겠지만 그들 역시 실무에 치중된 공부를 하고 있을 테니...

 

하지만 모두가 인정하는 한 가지는,

유명한 IT 기업들은 알고리즘을 필요로 하는 코딩 테스트를 진행한다.

코딩 테스트를 통과하지 못하면 유명한 회사에 입사할 수 있는 가능성이 현저히 떨어진다는 이야기다.

 

그.만.큼!

알고리즘과 자료구조는 굉장히 중요한 공부이다!

 

그럼 이제 책을 살펴보자.

이 책은 독특하게 노트 레이아웃을 이용한다. hiredintech 사이트에서 제공하는 알고리즘 설계 캔버스를 보자.

 

https://www.hiredintech.com/courses/algorithm-design

 

HiredInTech's Training Camp for Coding Interviews

Algorithm Design for Tech Interviews Ace the Tech Interviews This course prepares you for the algorithmic problems at your tech interviews. The course covers several algorithmic areas. For each area you will find introductory theoretical lessons and a set

www.hiredintech.com

이 레이아웃을 활용하면 문제 해결 과정에서 실수할 수 있는 부분을 줄일 수 있을 것이라고 한다.
자세한 내용은 사이트 및 본 책을 꼭 보고 확인하도록 하자.

 

책은 자료구조와 알고리즘을 분류하여 구성되어 있다. 코드는 파이썬으로 만들어졌고, 필요한 라이브러리 호출에 대한 설명도 있다.

(고로, 코딩을 많이 접해보지 못한 분들은 파이썬에 대한 공부를 1회전은 하고 이 책을 보시는 게 좋겠다!)

 

챕터는,

1장 - 배열 (Array)

2장 - 문자열 (String)

3장 - 연결 리스트 (Linked List)

4장 - 스택 (Stack)과 재귀 (Recursion)

5장 - 큐 (Queue)

6장 - 트리 (Tree)

7장 - 동적 프로그래밍 (Dynamic Programming)

 

총 7장으로 구성되어 있고, 이 책을 학습하고 나면 온라인 코딩 사이트의 easy, medium 난이도 수준의 문제는 어느 정도 접근이 가능하다고 말하고 있다.

 

그리고 가장 중요한 것은, 총 387 페이지로 구성되어 있다는 것이다.

본인은 개발 공부를 하면서 나름 방법 아닌 방법이 있다.

어떤 새로운 분야에 대한 공부를 시작하고자 한다면, 시중에 나와 있는 책들 중에 가장 페이지수가 작은 책을 산다.

(물론 한빛미디어 급의 출판사 네임밸류는 있어야 한다.)

그렇게 책을 1회전 한 후에, 더 공부가 필요하다 싶으면 그때 좀 더 두께가 있는 책을 사전처럼 활용하는 편이다.

 

시중에 나와 있는 알고리즘과 자료구조 관련 책중에 이 정도 두께는 얇은 편은 아니지만, 충분히 독파가 가능한 페이지다.

물론 더 페이지수가 적고 보기 편한 책들이 있겠지만, 한빛미디어를 믿어보자.

 

그리고 필자의 중요한 말이 있다.

"어떤 학습이든 너무 쉽거나, 너무 어렵게 느껴진다면 현재 자신의 위치를 다시 파악할 필요가 있다. 억지로 학습을 이어가다 흥미를 잃어버릴 수 있다는 점을 명심하자."

 

굉장히 공감한 말이다. 개발자 몇 년 차라는 껍데기에 숨겨진 현재 자신의 위치를 아는 것이 굉장히 중요하다.

 

여러분들 모두, 이 책을 보고 공부하면서 지금 내가 어느 위치에 있는지 알았으면 좋겠다.

(본인도 대충 예상은 되지만 어느 위치에 있는지 알아가 보도록 하겠다 ㅠㅠ)

 

쓰면서 익히는 알고리즘과 자료구조를 통해 스스로 발전하는 나 자신을 발견하도록 하자.

 

오늘도! 내일도! 파이팅!

항상 오렐리 / 한빛미디어 도서는 포스가 있다.

데이터 생성, 검색, 조작까지 데이터 제대로 주무르기

 

앨런 볼리외 저 / 류수미, 송회정 역

 

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

 

 

4월의 나는 리뷰어다 활동 책은 앨런 볼리외의 Learning SQL이다.

 

개발자로 근무하면서 SQL 기본서들은 보았지만, 좀 더 깊은 내용의 책은 접해본 적이 없어서 이번 기회에 신청하게 되었고,

한빛미디어는 다행스럽게도 내게 이 책을 배송해 주었다. (항상 감사합니다! 한빛미디어!!)

 

언젠가부터 쿼리문을 작성하게 되면 예전에 작성했던 쿼리문을 보면서 조금씩 수정해 가면서 개발을 했다.

매번 이러면 안 되는데 라고 생각하면서도 시간에 쫓기다 보니, 우선 원하는 결과물을 만들어 놓고 나중에 다시 봐야지~라고 생각은 했건만.

 

사람이라는 게 직장인이라는 게 그게 참 쉽지가 않다.

아무튼 SQL과 책에 대해서 보도록 하자.

 

기본적으로 데이터베이스, 그리고 데이터를 다루는 것은 SQL이다.

전통적으로 SQL은 RDBMS에서 데이터를 다뤄왔다. 최근 NoSQL이 빅데이터와 더불어 크게 성장하면서 데이터를 다루는 것에 대한 관심이 크게 높아졌고, 전형적인 개발자가 아니라 하더라도 데이터를 다루는 것에 대한 학습 수요는 점점 커지고 있는 상황이다.

 

그리하여, 이번 리뷰에서 꼭 하고 싶었던 말은

 

"개발자가 아니더라도 데이터를 본인의 입맛에 맞게 다루고 싶다면 공부하세요. SQL"

 

이다. 단순히 SELECT문 한 번이라도 날려보면 데이터를 조작하고 싶은 흥미가 분명히 생길 거라고 확신한다.

 

책의 구성을 좀 보자.

옮긴이의 말을 보면 입문에 그치지 않고 고급 기능까지 다룬다고 한다.

그렇다.

시중의 책들, 특히 특정 데이터베이스를 다루는 법을 소개하는 책을 보면 입문 수준인 경우가 많고, 특히 MySQL을 좀 더 심도 있게 다루는 책은 많지 않다.

(개인 의견입니다. 분명히 좋은 책들이 많이 있겠죠 ^^;)

 

목차만 봐도 어느 정도 느낌이 온다. 총 18개 장으로 구성이 되어 있는데 9장까지는 보통의 책이 가지는 순서와 비슷하다 생각되지만,

 

10장 조인 심화

11장 조건식

12장 트랜잭션

13장 인덱스와 제약조건

 

등등..

 

기본 입문서에서는 깊게 다루지 않는 부분까지도 학습할 수 있고,

 

17장 대용량 데이터베이스 작업

18장 SQL과 빅데이터

 

챕터에서는 대용량 데이터베이스를 어떻게 다루는지에 대한 부분도 있다.

SQL의 기본부터 심화, 그리고 빅데이터에 대한 욕구까지도 다루고 있는 좋은 책이라는 이야기다.

 

 

또한 책의 예제에 사용된 데이터 실습을 위해서,

 

www.katacoda.com/mysql-db-sandbox/scenarios/mysql-sandbox

 

MySQL Sandbox | mysql-db-sandbox | Katacoda

Practice SQL queries on a MySQL server using the Sakila sample database

www.katacoda.com

의 시나리오도 제공하니, 본인의 로컬 컴퓨터에 MySQL을 설치하느라 끙끙대지 않아도 된다.

 

초기 세팅 완료 후 캡쳐

(macOS 기분의 캡처 화면입니다. 윈도우 OS는 조금 다를 수도 있을 것 같지만 아마 비슷할 것 같아요.)

 

하지만 개인적인 의견으로는 자신의 컴퓨터에 MySQL 서버를 설치해보길 추천한다.

(시간을 많이 뺏길 수도 있지만, 설치 과정도 공부에 분명히 도움이 된다고 생각해요.)

 

mysql 클라이언트를 통하여 명령어도 치고, 영타 속도도 늘리고 직관적인 데이터 조작법을 러닝 SQL을 통하여 공부하자.

 

그리고 중요한 부분은 아니지만, 페이지 내에 텍스트와 이미지의 배치가 가독성이 너무 좋다.

어떤 책들은 책을 열자마자 숨이 막히기도 하는데 이런 류의 책들이 내게는 더 잘 읽히는 것 같다.

 

그리고 매 챕터의 끝에 실습문제가 있으니 꼭 풀어보자. 개발이란게 맨날 책 본다고 늘지 않더라. 공부한 것을 활용하여 직접 개발해봐야 실력이 느는 것은 너무 당연한 말이다.

 

아직 책을 다 보진 못했지만 이 책은 어떻게든 끝까지 볼 것이다.

 

결론적으로!!

내게 러닝 SQL이란,

 

기본부터 잘 구성되어 있는 책이고, 생각 없이 컨씌컨븨 했던 지난날들의 반성과 왜 그렇게 했는지에 대한 이해를 제공해주는,

본인의 개발자 인생에서 SQL을 다루는 자세에 대한 부분을 많이 바꿔 준 좋은 책이다.

 

추천! SQL을 제대로 하고자 한다면 정말 추천하는 책입니다!!

+ Recent posts