기본적인 RDBMS를 사용하다보면 튜닝 포인트가 필요하게 되는 상황이 발생이 되는데 적은 데이터에선 사실상 유의미하지 않을 수 있다. 요즘 같이 대용량 데이터를 가공하고 사용하는 환경에서는 필수적인 요소라고 생각이 되는데, 그 해결법을 찾아가는 실마리를 제공해 주는 책인것 같다. 이 책은 기초적인 SQL튜닝에 관하여 설명하고 있다. 기본적인 explain 부터 실행하여 프로파일링 까지 설명을 하고있다. 깊이가 있는 책은 아니지만 초심자가 SQL 튜닝을 하기 위해 기본적인 지식을 쌓기에는 충분한 것같다. 이책에서 많이 실수 하고있는 쿼리에 관해 설명을 해주고있고 이 쿼리가 어떻게 문제가 있는지, 이를 위해 어떻게 해결하는지 설명을 해놓은 책이다. 또한 예제가 많아 기본적인 SQL Analyze 만 분석하고 해결하는 책들에 비해 상세한 설명이 있는것이 특징이다. 프로젝트에서 SQL 튜닝 포인트가 있어서 많이 난감했는데 이책으로 더 깊이 있는 튜닝 포인트를 찾아가는 방법을 빠르게 습득할수있는 지름길 같은 책임이 분명하다. 꼭 기본적인 SQL 기본 개념을 가지고 있고 튜닝에 관해 필요성이 있다고 생각이 든다면 이 책을 읽어보는 것을 추천한다.

 

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

소문난 명강의 김상형의 SQL 정복 이란 책은 일반 적인 SQL 책 만큼 두껍다. 대신에 Oracel, MSSQL, MariaDB기반으로 실습 환경이 주어지고 이에 맞춘 사용법도 설명을 같이 하는 책이었다. 책의 전반적인 내용은 초심자가 보기에는 가장 좋은 책으로 생각된다. 예제도 굉장히 많으며 각 DBMS 별로 주의 사항도 같이 설명해 주고있다. 책의 전반이 그렇듯 연습문제를 풀어 학습한 내용을 복습하기에도 좋았다. MySQL에서 MariaDB로 오픈소스 프로젝트 운영체제들이 MariaDB로 채택을 하고 있는 추세를 잘 맞춘 실습 환경에서의 설명인 것도 굉장히 좋은 선택지 인것 같다. 이 책의 가장 마음에 들었던 것은 보통 쿼리문을 예제로 책에 넣어두는데 보통은 초심자들은 오타를 일으킬 확률이 굉장히 높은데 완벽하지는 않지만 문자열이나, 숫자 같은 경우에는 색을 달리하여 학습자가 쉽게 이 문법은 조금 다르구나 조심해야겠구나 라는 것을 알수 있었다. 전반적으로 컬러를 더 사용하여 코드의 색을 다양하게 넣어 정의를 한다면 학습자가 더욱이 쉽게 문법을 이해할수있을것 같다는 아쉬움이 조금 남지만 이만큼만 해도 굉장히 좋다. 쿼리를 설명하는 부분에 있어서도 쿼리 문 옆에 큰 글자로 설명을 해주어서 학습자가 이해하기도 굉장히 쉬웠고 초심자가 넓은 개념으로 이해하기에는 이책만한게 없는 것 같다.

 

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

'리뷰' 카테고리의 다른 글

파이토치 첫걸음  (0) 2021.08.21
업무에 바로 쓰는 SQL 튜닝  (0) 2021.07.26
소문난 명강의 : 김상형의 SQL 정복  (0) 2021.06.19
파이썬 비동기 라이브러리 Asyncio  (0) 2021.05.17
혼자 공부하는 머신러닝 + 딥러닝  (0) 2020.12.28
vue.js 첫걸음  (0) 2020.11.21

파이썬 비동기 라이브러리 Asyncio 책을 읽어보았다. 파이썬에서 가장 핫한 이슈가 비동기 처리 이슈이다. 파이썬은 GIL(Global Interpreter Lock) 때문에 멀티 코어를 사용하는데에 제약이 약간 있다. 그렇다고 해서 파이썬에서 멀티코어를 사용 못하는건 아니지만 NodeJS같은 비동기 처리가 Multi-thread를 관리 하는 것보다 편리한 측면이 있어서 인기가 날로 많아진 것은 사실이다. 나는 현 프로젝트에서 Twisted를 사용하고 있어 파이썬의 Asyncio 를 사용하는 경험이 많이 없었지만 이번 기회를 통해 파이썬 비동기에 대해 잘 알게 된 것이다. 

 

간단하게 얘기하면 파이썬의 Asyncio는 파이썬에서 정식으로 지원하는 버전이라 이를 기반으로 여러 프레임워크, 모듈을 만들수 있다. 이 책을 보면서 가장 공감한 것은 파이썬 Asyncio 관련 공식 문서를 보면 일반 사용자가 사용하는 수준의 문서는 아니라는 것이다. 문서를 읽고 적용하는 부분에 어려움이 많이 있었다. 이 책은 그 부분을 적극 공감하여 해당 문서의 수준을 설명하며 내용을 잘 풀었다.

 

또한 Asyncio를 사용하면서 실수 하거나, 해석이 애매한 부분들을 잘 설명해서 실수를 범하지 않도록 도와줬다. 파이썬의 자체 Asyncio를 사용한 경험이 없어서 경험이 많은 사람들은 당연히 알 수 있는 내용이겠지만 경험이 많지 않은 나에게는 도움이 많이 됐다. 

 

이 책의 내용을 주절히 설명하기보단 자신이 파이썬 Asyncio를 공부를 해야하는데 여러 설명이 잘되어있는 문서를 찾아 공부를 하며 조금 더 이해력을 올리고 싶다면 이책을 꼭 읽어보길 추천한다. 

 

이 책에서도 Twisted에 관한 아주 조금 설명이 되어있지만 Twisted와 비교를 잠시 해보려고 한다. 서로의 단점은 사실상 많지만 실제 사용자 입장에서 경험을 해봐야하는 주관적인 부분이라 장점만 나열 하도록 한다.

 

Twisted

장점

- 강력한 프레임워크로 필요한 모듈은 다 구현이 되어있어 가져다 쓰면된다. (Http, ftp, ssh, dns, db connection 등등..)

- 파이썬의 Asyncio를 가지고 같이 결합을 할 수가있다.

- Deferred 객체를 사용하여 콜백 시스템을 사용 할 수 있다.

- Reactor라는 코어 모듈이 스케줄링을 할 수 있도록 보장 해준다.

- PyQT에서도 Twisted를 활용 할 수가있다. 

- inlinecallbacks가 추가되어 보다 더 편리하게 비동기 처리를 할 수 있도록 한다.

- Twisted 내에서 제공하는 Thread를 활용하여 Thread Pool 을 비동기 처럼 관리 할 수 있다.

 

Python Asyncio

장점

- 파이썬 3.5부터 async def 키워드를 정식으로 지원하기로 시작했다.

- 특별한 모듈이나 라이브러리를 사용하지 않아도 파이썬만 있으면 비동기 프로그램을 작성 할 수 있다.

- uvloop 이란 강력한 이벤트 루프를 사용하여 비동기 성능을 끌어 올릴 수 있다.

- 파이썬에서 정식으로 지원 하는 거라 코드의 유지보수 가 용이하다.

 

 

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

혼자 공부하는 머신러닝 + 딥러닝 책을 읽어보았다. 요즘 대세의 기술이 머신러닝, 딥러닝 기술인데 상당한 기술의 발전으로 인해 수요가 많아졌고 공급이 늘어나는 추세이다. 인공지능의 연구는 사실상 엄청 오래된 기술이고, 이 기술로 활용해 이전 부터 체스에서 여러번 기술시도를 하였다. 머신러닝을 사회적으로 각인 시키는 계기가 알파고를 통해 가능성을 많이 열어 주었고 이 기술 자체로는 러닝커브가 심한 것은 누구나 알고 있다. 수 많은 학회의 논술과 기업의 참여로 인하여 하루에도 몇개씩 쏟아지는 논문이 많고 이 기술을 활용도는 아직은 초기 단계이나 사람의 얼굴 인식이나, AI 면접관, 음성인식 기술이 점차 발전함에 따라 세상은 점점 변화하는 것 같다. 이러한 기술에 한발짝 다가 서고싶어 이책을 읽어 보았고, 이책은 정말 기초부터 설명을 해 준 책이며, 기존 핸즈온 책들을 보면 그림이 많이 없고 딱딱한 책들이 많았다면 이책은 이해하기 쉽게 그림도 있고 가장 큰 장점인 유투브 강의가 있다는 것이 가장 좋았다. 머신러닝 + 딥러닝을 하기위해 기초를 닭고 용어와 흐름을 이해하고 싶다면 꼭 이책으로 시작해 봤으면 좋겠다. 이번 계기로 좀더 공부를 할 수 있는 원동력을 준 책이다.

현 시점에서 가장 핫한 javascript 프레임워크 angular, react, vue 중 하나인 vuejs를 책을 읽어 보았다. angular와 react에 비해 세상에 나온지 짧은 시간이지만 엄청난 폭발력을 가지고 대세 프레임워크로 올라온 vuejs 이다. 여타 프레임워크도 굉장한 장점과 단점이 있지만 vue의 경우 react의 장점과 angular의 장점을 결합한 프레임워크라고 생각한다. 여타 프레임워크에 비해 러닝커브가 낮다고 생각이 된다. vue는 초보가 보기에는 적당한 책이 없는 것 같다. 여러 인터넷 강의가 있기야 하지만 책으로 된 내용치고는 이책만한 진입장벽이 낮으며, vue의 전반적인 기능을 소개하는 책이 없다는게 내 생각이다. 대세의 프레임워크인 만큼 기존 react로 구성하였던 프로젝트와 vue를 본격적으로 비교하면서 프로젝트를 완성해 보려고 한다. 기본적인 javascript의 개념이 있다면 이 책을 구입하여 vue를 입문해 보는것을 추천한다.

'리뷰' 카테고리의 다른 글

파이썬 비동기 라이브러리 Asyncio  (0) 2021.05.17
혼자 공부하는 머신러닝 + 딥러닝  (0) 2020.12.28
vue.js 첫걸음  (0) 2020.11.21
파이썬 웹 프로그래밍, 실전편(개정판)  (0) 2020.10.20
RxJS 프로그래밍  (0) 2020.09.25
매니징 쿠버네티스  (0) 2020.08.21

+ Recent posts