처음 처음 | 이전 이전 | 1 | 2 |다음 다음 | 마지막 마지막
엑셀이 편해지는 파이썬 - 엑셀 사용자를 위한 자동화 구축과 데이터 분석
펠릭스 춤슈타인 지음, 한선용 옮김 / 한빛미디어 / 2022년 4월
평점 :
장바구니담기




[책을 고른 이유]

평소 업무를 할 때, 엑셀을 사용하는 경우가 많다보니 이를 좀 더 효율적으로 하면 좋을 것 같아

'엑셀이 편해지는 파이썬' 책을 리뷰도서로 선정하게 되었다.

[내용 소개]

PART 1 에서는 앞서 소개한 엑셀에서 파이썬을 사용해야하는 이유와, 개발환경, 파이썬 기초에 대해 설명한다. 파이썬을 사용해본적이 없는 비전공자라면 chapter2의 개발환경 부분과 chapter3의 파이썬 시작하기 부분을 조금 시간을 들여 천천히 읽어보는 것을 추천한다.


 내용을 읽어보니, 가장 중요한 변수, 함수 개념을 이해하기 쉽게 예제를 통해 설명해준다.

아마 엑셀을 오래 사용했거나, VBA로 작업을 진행해봤다면 금방 이해할 수 있을 것이다.

기초적인 데이터 구조에 대한 설명, 제어문에 관해서도 소개하는데 예제를 따라 진행해보면서 이해만 하고 넘어간 다음에, 직접 프로그램을 작성할 때 잊은 부분을 찾으러와도 충분하다.


PART 2 에서는 넘파이 판다스에 대해 소개한다.

판다스는 파이썬의 데이터 분석 라이브러리인데, 코드 유지 보수가 엑셀보다 쉽고 효율적이며 스프레스 시트에 담을 수 없는 대용량의 데이터도 다룰 수 있다.

넘파이는 판다스의 기초가 되는 패키지로, 배열 기반 계산과 선형 대수학 지원을 제공한다.

읭? 이게 뭔가 싶겠지만 책을 읽어보면 배열이 굉장히 중요한데, 그림과 간단한 예제로 쉽게 설명해주고 있어서 비전공자도 충분히 이해할 수 있다.


배열, 벡터화, 브로드캐스팅, 범용 함수, 배열 생성과 조작 등의 내용을 다루고

chapter5, 6에서는 본격적인 판다스를 통한 데이터 분석 방법을 소개해준다.

데이터 프레임에 대한 개념에서부터 데이터 조작을 위한 기능들, 조합, 조인과 병합 등 깊이있는 내용과

기술통계, 플로팅, 시계열 분석 등에 대한 내용을 소개한다.

이중 가장 기억에 남는 내용은 시계열 분석 파트였다. 시계열이란 시간 축을 따라 나열한 데이터 포인트

의미하는데, 엑셀은 시계열 관련 도구를 지원하지 않는다.

일 -> 월 단위로 전환하는 일은 생각보다 꽤 많이 필요하고, 또 최근에 나만 하더라도 동기 중 한명이 이 기능은 엑셀에 없냐고 물어봤던 기억이 있다. DatetimeIndex 사용법을 알려주는데 이를 이용해 시계열 분석을 할 수 있는 간단한 방법을 소개해준다.

PART3에서는 엑셀 없이 파이썬 패키지를 사용해 엑셀 파일을 조작하는 내용을 다룬다.

read_excel 함수와 ExcelFile 클래스, to_excel 메서드 등을 이용하여 엑셀 파일을 조작하는법과, 관련 코드를 소개해준다. 하지만! 아무래도 책 내용에 모든걸 방대하게 다 담을 수는 없다보니까 직접 업무에 적용하기 위해서는 어느정도 구글링도 필요해보인다.

책에서는 핵심적인 내용을 설명해준다! (이걸 기본으로 알고, 나머진 찾아쓸 수 있을정도..? 찾아써야만 한다.)


이 책의 가장 핵심인 마지막,

PART4에서는 엑셀윙스를 통한 엑셀 애플리케이션 프로그래밍에 대해 소개한다. 2-3부에서 배운 내용을 토대로, 파일 조작에서 벗어나 애플리케이션을 자동화하는 방법을 설명한다.

웹 API에서 데이터를 가져오고 데이터베이스에 쿼리를 만드는 방법을 소개하는데, DB의 핵심 내용인 키 개념, SQL 주입, 쿼리 문법등 넓고 얕게 적혀있어서 만약 비전공자가 이 책을 공부한다면 뒷부분부터는 상당히 힘들 수 있겠단 느낌을 받았다.

만약 비전공자라면, 이내용을 그대로 따라하며 익히되 모르는 부분에 대해서는 검색이 필수라고 생각이 든다.

책에서 얕더라도 필요한 대부분의 내용을 다 기재해줘서 좋았던게, 개념을 한번씩 다 훑고 가니까 부족한 부분은 검색하면서 채우고, 원래 아는건 한번 정리하면서 넘길 수 있어서 좋았다 :)


[추천독자, 리뷰를 마치며]

1. 엑셀 업무를 오래 다뤄왔고, 또 앞으로도 계속 다뤄야 한다면

2. 엑셀과 파이썬을 연동해 여러 프로그램을 만들어보고 싶은 독자에게 추천한다.

전공자라면 이해하기 쉽겠지만, 비전공자라고해서 이해못할 내용들은 아니다.

모든걸 깊게 알고 넘어가야할 필요는없으니 책에 있는 내용들만, 또 필요한 내용들만 뽑아 업무에 적용한다면

충분히 생산성과 효율성을 높일 수 있을 것 같다는 생각이 들었다.

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


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
MongoDB 완벽 가이드 - 실전 예제로 배우는 NoSQL 데이터베이스 기초부터 활용까지, 3판
크리스티나 초도로우 외 지음, 김인범 옮김 / 한빛미디어 / 2021년 3월
평점 :
장바구니담기


챕터가 1에서 24까지 이를정도로 굉장히 세분화되어있다.

몽고DB의 배경지식에서부터 개발에 필요한 부분, 또 데이터의 안정성을 보장해주기 위한 복제 파트, 샤딩, 애플리케이션 관리, 서버 관리 등 몽고 DB를 활용함에 있어 필요한 내용들을 모두 언급해주고 있기 때문에 처음 몽고DB를 사용하려는 사람에게 적합할 것 같다는 생각이 들었다.



몽고DB에서 중요한 개념인 도큐먼트와 이를 생성, 갱신, 삭제 하는 방법 부터 쿼리에 대한 부분,

인덱싱과 컬렉션 유형을 다루는 부분부터 noSQL만의 차별화된 트랜잭션에 대한 소개와 사용법, 정규와와 비정규화에 대한 설명과 같은 기본기가탄탄하고 자세하게 설명되어 있기 때문에 기존에 noSQL을 접해보지 않았던 초급자여도 이 한권으로 공부하기 좋을 것 같으며,



기존에 nosql을 조금 다뤄봤던 사람이라도 개념을 다시 적립하며 탄탄히 기본기를 쌓을 수 있기 때문에 이론적인 부분이 부족한 사람들에게도​ 추천해주고 싶다.



책에서 복제와 샤딩, 보안, 영속성, 서버 관리, 백업에 대해서도 다루고 있어서 굉장히 흥미롭게 읽을 수 있었다

기존의 관계형 데이터베이스를 사용했던 예전과 다르게 수많은 비정형 데이터들을 처리하게 되면서 대용량 데이터를 처리할 수 있는 DB로 관심이 옮겨지고 있다.

그중에서도 몽고 DB는 전세계적으로 폭넓게 사용되는 NoSQL 데이터베이스인만큼,

몽고DB를 다뤄보고 싶은 초보자나, 직접 개발을 해보고싶은 개발자라면 추천하는 실전 입문서다.



특히 개발자 뿐 아니라 관리자와 운영자에게도 유용한 지식이 될 것같아, 관련업에 종사하고 있다면 강력히 추천하고 싶은 책이다.

예제소스가 제공되고, 해당 도서만으로 부족하다면 관련된 여러 도서들이 있으니 관심이 생긴다면 하루라도 빨리, 책을 읽어보는 것을 추천드립니다:-)

댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
파이썬 비동기 라이브러리 Asyncio - 대규모 병행성 작업을 위한 비동기 프로그래밍
케일럽 해팅 지음, 동동구 옮김 / 한빛미디어 / 2021년 5월
평점 :
장바구니담기


파이썬 3.4에 asyncio 라이브러리가 도입되었고, 파이썬 3.5에서는 더 쉽게 사용할 수 있도록

async와 await 키워드가 도입되었다고 한다.

이제 이렇게 추가된 기능들을 통해 비동기 프로그래밍이 가능해졌는데, 파이썬 초보자가 이를 스스로 익히기는

복잡한 부분이 많다. 그런 점들을 해결해주기 위해 출판된 책, Using Asyncio in Python!


책 링크: https://book.naver.com/bookdb/book_detail.nhn?bid=18992958


파이썬 비동기 라이브러리 Asyncio

출처 입력

1. 단일 프로그램에서 동시에 여러 개의 HTTP 요청을 병행하여 실행할 수 있다.

2. 단순히 기능을 추가하지 않고, 프로그램 설계 방식을 변화시킨다.

3. 대기를 필요로 하는 여러 개의 작업을 동시에 잘 수행할 수 있다.

=> 이 작업이 완료되길 기다리는 동안 다른 작업을 수행할 수 있도록 하는 것


+ 본문 내용 중 ThreadsBot 식당 이야기를 통해 자세히 설명해주고 있는데, 너무 자세해서

초보자도 금방이해할 수 있을 것 같다.


Asyncio로 해결할 수 있는 것은?


1. 스레드를 사용하는 선점형 멀티태스킹보다 안전한 대안이 될 수 있다.

2. 동시에 수천 개의 소켓 연결을 간단히 처리할 수 있다.

=> 스레딩의 장단점과 우리가 비동기 프로그래밍에 대해 잘못알고 있는 점들을 바로잡아주면서

Asyncio에 대해 설명한다. 기존에 스레드를 직접 다뤄보지 않았더라도, 책에 쉬운 실습코드가 제공되기에

부담없이 실습하며 진행하기 좋았다.


파이썬의 비동기 기능, 누구를 위해 만들어졌나?


1. 최종 사용자 개발자

- 애플리케이션을 개발할 때 asyncio를 사용하길 원하는 사람들로, 책에서 필자는 우리와 같은 사람들을 지칭했다.

2. 프레임워크 개발자 혹은 설계자

- 최종 사용자 개발자들이 애플리케이션을 개발할 때 사용하는 프레임워크와 라이브러리를 만드는 사람들

=> 파이썬 공식 문서는 프레임워크 개발자에게 적합한데, 최종 사용자 개발자가 대략적으로 파이썬 공식 문서를

읽을 경우 혼란에 빠지는 것을 방지하기 위해 책을 쓰셨다고 한다!


간단한 사용법


* 최종 개발자들이 사용해야 하는 주요 기능 중 일부

1. asyncio 이벤트 루프 시작하기

2. async/await 함수 호출하기

3. 루프에서 실행할 태스크 작성하기

4. 여러 개의 테스크가 완료되길 기다리기

5. 모든 병행 태스크 종료 후 루프 종료하기

* Asyncio를 사용한 'Hello-ish World'

소스코드)

import asyncio
import time

async def main():
    print(f"{time.ctime()} Hello!")
    await asyncio.sleep(1.0)
    print(f"{time.ctime()} Goodbye!")

loop = asyncio.get_event_loop() #코루틴을 실행하기 위해 필요한 루프 인스턴스를 얻음
task = loop.create_task(main()) # 호출해서 루프에 코루틴을 스케줄링함
loop.run_until_complete(task) # 스레드를 블로킹
pending = asyncio.all_tasks(loop=loop)
for task in pending:
    task.cancle()
group = asyncio.gather(*pending, return_exceptions=True) # 아직 실행중인 태스크 취합
loop.run_until_complete(group) # 태스크들이 모두 종료 상태가 될때까지 대기
loop.close

사용하는 방법들을 예시를 통해 보여주는데, 점진적으로 기능을 확장해서 설명해주는 점이 마음에 들었다.

또 계층으로 구성된 asyncio의 기능을 설명해주시는데, 전체적인 CS지식을 복습할 수 있어서 좋았다.


다양한 Asyncio 라이브러리 소개


이 책의 마지막 장에서는 비동기 프로그래밍을 위한 새로운 기능들을 사용하는 사례와

몇 가지 서드파티 라이브러리를 소개해준다.

아, 참고로 이 책에서는 'PEP8' 스타일에 맞춰 코드가 작성되어 있는데, 이번 장에서는 공간 절약을 위해 스타일을 맞추지 않은 부분이 있으니 참고하면 좋을 것 같다.

가장 기억에 남는 것은 Streams API인데 이를 이용해 메시지 대기열 서비스를 제작하는 예시를 보여준다.

기초적인 메시지 프로토콜 부터 애플리케이션까지 예제 코드를 제공해주고, 설명도 무척 자세하게 되어있다


이외에도 트위스티드 프로젝트, The Janus 대기열, aiohttp를 이용한 뉴스 스크레이핑, ZeroMQ등의 예제를 소개한다.


마무리 하며..


비동기 프로그래밍에 대해 관심이있고, 많은 예제를 접해보고 싶은 개발자에게 적합한 책이다.

다만 소켓이나 통신의 개념, http에 대한 내용을 알고있어야 이책을 더 잘 활용할 수 있을 것 같다.

학부 1, 2학년에겐 다소 적합하지 않을 것 같고, 어느정도 CS 개념을 배우고 파이썬을 접해본 3학년 학생이상에게 추천한다.


예전에 리눅스에서 소켓을 구현해서 뭔가 통신을 했던 과제를 진행했던 적이 있는데, 그 과제를 하기 전 이책을 읽었다면 정말 이해가 잘됐을 것 같다. 그만큼 소개가 너무 잘되어있고, 책도 비교적 얇은 편이기에 부담없이 읽을 수 있어서 비동기 프로그래밍을 배우길 원하는 사람에게 꼭 추천해주고 싶은 책이다 :D

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


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
러닝 SQL - 데이터 생성, 검색, 조작까지 데이터 제대로 주무르기
앨런 볼리외 지음, 류수미 외 옮김 / 한빛미디어 / 2021년 3월
평점 :
절판


요즘 코딩테스트에 SQL 문제가 꼭 한 두문제씩 포함되어 있고,

DB를 연동한 프로그램을 만들때 SQL은 필수여서 언젠가 한번은 꼭 각잡고 공부해야겠다고 생각했었다.

그러던 중 나는 리뷰어다 4월도서에 러닝 SQL 항목을 보고 바로 신청 +_+


리뷰가 아니어도 따로 책을 살 계획을 하고 있었는데, 운이 좋았다.

총평을 이야기 하자면,


쿼리의 기초부터 고급 내용까지 모두 포함되어 있어,

개발자는 물론이고 SQL을 공부하려는 사람들에게 안성맞춤이다.



특히 요즘 금융권 취업을 준비중인데, SQL같은 경우 전공자뿐 아니라

비전공자들에게도 디지털지식으로 문제가 출제된다고 알고있다.

책에서 챕터1-4에 해당하는 내용까지는 내용도 간단할 뿐더러

DB를 사용하는 이유와 간단한 쿼리문 위주로 구성되어 있기에, 큰 부담없이 공부하고 안정적인 득점을 하기 좋을 것 같아서 추천해주고 싶다!


책 소개



러닝 SQL

https://book.naver.com/bookdb/book_detail.nhn?bid=18312843

CHAPTER 1 배경

1.1 데이터베이스 소개

1.2 SQL

1.3 MySQL

1.4 SQL의 변화

1.5 이후 내용 소개

CHAPTER 2 데이터베이스 생성과 데이터 추가

2.1 MySQL 데이터베이스 생성

2.2 mysql 명령줄 도구 사용 방법

2.3 MySQL 자료형

2.4 테이블 생성

2.5 테이블 수정

2.6 좋은 구문을 망치는 경우

2.7 샤키라 데이터베이스

CHAPTER 3 쿼리 입문

3.1 쿼리 역학

3.2 쿼리 절

3.3 Select 절

3.4 From 절

3.5 Where 절

3.6 Group by 절과 having 절

3.7 Order by 절

3.8 학습 점검

CHAPTER 4 필터링

4.1 조건 평가

4.2 조건 작성

4.3 조건 유형

4.4 Null

4.5 학습 점검

CHAPTER 5 다중 테이블 쿼리

5.1 조인

5.2 세 개 이상 테이블 조인

5.3 셀프 조인

5.4 학습 점검

CHAPTER 6 집합 연산자

6.1 집합 이론

6.2 집합 이론 실습

6.3. 집합 연산자

6.4 집합 연산 규칙

6.5 학습 점검

CHAPTER 7 데이터 생성,

조작과 변환

7.1 문자열 데이터 처리

7.2 숫자 데이터 처리

7.3 시간 데이터 처리

7.4 변환 함수

7.5 학습 점검

CHAPTER 8 그룹화와 집계

8.1 그룹화의 개념

8.2 집계 함수

8.3 그룹 생성

8.4 그룹 필터조건

8.5 학습 점검

CHAPTER 9 서브쿼리

9.1 서브쿼리

9.2 서브쿼리의 유형

9.3 비상관 서브쿼리

9.4 상관 서브쿼리

9.5 서브쿼리를 사용하는 경우

9.6 서브쿼리 요약 정리

9.7 학습 점검

CHAPTER 10 조인 심화

10.1 외부 조인

10.2 교차 조인

10.3 자연 조인

10.4 학습 점검

CHAPTER 11 조건식

11.1 조건식

11.2 case 표현식

11.3 case 표현식의 예

11.4 학습 점검

CHAPTER 12 트랜잭션

12.1 다중 사용자 데이터베이스

12.2 트랜잭션

12.3 학습 점검

CHAPTER 13 인덱스와

제약조건

13.1 인덱스

13.2 제약조건

13.3 학습 점검

CHAPTER 14 뷰

14.1 뷰

14.2 뷰를 사용하는 이유

14.3 갱신 가능한 뷰

14.4 학습 점검

CHAPTER 15 메타데이터

15.1 데이터에 관한 데이터

15.2 정보 스키마

15.3 메타데이터로 작업하기

15.4 학습 점검

CHAPTER 16 분석 함수

16.1 분석 함수의 개념

16.2 순위

16.3 리포팅 함수

16.4 학습 점검

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

17.1 분할

17.2 군집화

17.3 샤딩

17.4 빅데이터

CHAPTER 18 SQL과 빅데이터

18.1 아파치 드릴 소개

18.2 드릴로 파일 쿼리하기

18.3 드릴로 MySQL 쿼리하기

18.4 드릴로 몽고DB 쿼리하기

18.5 다양한 데이터소스를 사용한 드릴

18.6 SQL의 미래

APPENDIX A 예제 데이터베이스의 ER 다이어그램

APPENDIX B 실습문제 해답

SQL에 관련한 모든 내용과 실습 예제를 담고 있어서,

SQL 공부를 하려는 사람들에게 딱이다.

특히, 사람마다 공부해야할 깊이나 알고싶은 정도가 다를텐데 목차를 보고 필요한 부분만 찾아 실습하기 쉬워서 좋았다.


실습을 위한 환경 제공


가장 좋았던 부분중에 하나인데, 직접 예제를 연습해볼 수 있는 환경을 제공해준다.


SQL과 DB예제 링크를 첨부, 이 책으로 공부할 사람들은 참고해주세요!

SQL 다운로드 링크: https://dev.mysql.com/downloads/mysql/

데이터베이스 예제: https://dev.mysql.com/doc/index-other.html

데이터베이스는 sakila database를 받아주면 된다.

내용 맛보기

1-3장에서는 SQL의 기초적인 내용에 대해서 공부할 수 있다.

SQL 심화내용은 그 뒷장부터!

전공자라고 하더라도, 혹은 취업용으로 공부한다고 하더라도

개념에 대한 이해가 있으면 응용하기 쉬우므로 chapter 1-3은 꼭 읽어봤으면 좋겠다.

하지만 시간이 없는 사람들을 위해! 책의 내용을 기반으로 핵심 기초 내용만 정리해 봤다! *


먼저 SQL 클래스는 다음과 같이 이루어진다.

- SQL 스키마 문: 데이터 구조를 정의할 때 사용

- SQL 데이터 문: SQL 스키마 문으로 정의한 데이터 구조를 조작할 때 사용

- SQL 트랜잭션 문: 트랜잭션의 시작과 종료 및 롤백에 사용

=> SQL 스키마 문을 통해 작성된 모든 DB 요소는 data dictionary라는 특수한 테이블셋에 저장됨.

=> 메타데이터: 데이터베이스에 관한 정보 데이터


이 책에서는 모든 SQL 클래스를 다룬다. 덧붙여서, MYSQL은 3가지 자료형이 있는데 세 가지 데이터들을 직접 다뤄볼 수 있는 실습도 모두 포함되어 있다. 개인적으로 문제 푸는데만 급급했지, 어떤 데이터들이 있고 어떻게 처리가 되는지 이해가 부족했다. 실습을 하면서 자연스레 이런 부분을 해소할 수 있어서 좋았다.


SQL 데이터 종류

char(20) /* fixed-length, max length: 255Byte */
varchar(20) /* variable-length, max length: 65,535Byte */

- 고정길이 or 가변길이 문자열로 저장 가능

- 고정 길이 문자열: 공백으로 오른쪽이 채워지고 항상 동일한 수의 바이트를 사용

- 가변 길이 문자열: 때에따라 다름

∎ 텍스트 데이터

- tinytext, text, mediumtext, longtext (오른쪽으로 갈수록 최대 바이트 크기 증가)

- MySQL은 varchar열에 최대 65,535 바이트를 허용하므로 tinytext, text 사용할 필요 X

- bool형 자료형의 열에 false를 나타내는 0과 true를 나타내는 1이 포함됨

- signed, unsigned 정수 존재

- 부동소수점 자료형 사용 시 정밀도(소수점 왼쪽과 오른쪽 모두에 허용되는 자릿수),

척도(소수점 오른쪽의 허용 자릿수) 지정 가능

- date, datetime, timestamp, year, time


이러한 개념 소개를 마친후에, 직접적인 SQL 쿼리문에 대해 배운다.


➀ 테이블 설계: 어떤 정보를 포함할지 항목 정하기

➁ 정제 : 정규화를 통해 DB설계에 중복 또는 복합 열이 없음을 확인

➂ SQL 스키마 문 생성

- 테이블 설계가 끝난 후, SQL문을 생성하여 DB에 테이블을 만드는 과정

- 여러 제약조건을 추가할 수 있음.

ex) 기본 키 제약조건, 체크 제약조건(특정 열에 대해 허용되는 값 제한)

CREATE TABLE person
(person_id SMALLINT UNSIGNED,
fname VARCHAR(20),
eye_color ENUM('BR','BL','GR'),
CONSTRAINT pk_person PRIMARY KEY (person_id)
);

* 테이블이 잘 정의되었는지 확인법: desc 테이블명;

➀ 테이블 정의 수정

ALTER TABLE [테이블명] MODIFY [수정할 열 이름] [바꾸고 싶은 것들]
ALTER TABLE person MODIFY person_id SMALLINT UNSIGNED AUTO_INCREMENT; 

➁ 데이터 추가 : INSERT 문

INSERT INTO 테이블명 (열이름, ...) VALUES (넣어줄 값들, ...);
INSERT INTO person (person_id, fname) VALUES (null, 'William');

➂ 데이터 수정 : UPDATE 문

UPDATE 테이블명
SET 열이름 = 바꿀 값, 
         ...
WHERE 조건;


UPDATE person
SET street = '1225 st'
    city = 'Seoul'
WHERE person_id = 1; // person_id가 1인 data의 street과 city 데이터 값 변경

➃ 데이터 삭제 : DELETE 문

DELETE FROM 테이블명
WHERE 조건;

DELETE FROM person
WHERE person_id = 2;


쿼리 입문을 위한 SELECT 절 + a 을 맛보면 다음과 같다!


* SELECT: 테이블에 있는 데이터를 조회하는 명령어

기본 형태

SELECT * FROM language; // language 테이블의 모든 열을 검색

출력되는 열 이름 바꾸기: 별칭(ALIAS) 사용

SELECT language_id,
       language_id * 3.14 AS lang_pi_value // lang_pi_value라는 열이름으로 결과 테이블 생성
FROM language;

중복 데이터 제거: distinct

SELECT DISTINCT actor_id FROM film_actor ORDER BY actor_id;

테이블 연결 : INNER JOIN 사용

SELECT c.first_name c.last_name ct.city,
FROM customer c
  INNER JOIN address a
  ON c.address_id = a.address_id
  INNER JOIN city ct
  ON a.city_id = ct.city_id;
본격적인 쿼리에 대한 이해와 필터링, 다중 테이블 쿼리, 뷰에 대한 이해, 조인문까지 완벽히 수행하고 싶다면?!

https://book.naver.com/bookdb/book_detail.nhn?bid=18312843


책에서 확인하실 수 있습니당 XD


소감

SQL을 공부하려고 하는 친구가 있다면, 용도가 무엇이든 (개발, 취업, 취미..)

자신있게 추천해줄 수 있다!

구글링하면 SQL에 대한 내용을 정리해놓은 사이트들을 많이 찾아볼 수 있는데,

번번이 찾기 어려울 뿐더러 내가 뭘 모르는지 잘 모르는 경우가 많다.

그래서 기본서 한권쯤 있어야한다고 생각하는데, 이 책이 가려운 부분을 해소해줄 수 있을 것 같아 만족스럽다 :D

책의 흐름대로만 따라가면 SQL 마스터 가능!


이 책은 한빛미디어 도서 서평단 "나는 리뷰어다 2021" 활동을 통해 제공 받았습니다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
신경망 첫걸음 - 수포자도 이해하는 신경망 동작 원리와 딥러닝 기초 머신러닝/딥러닝 첫걸음 시리즈
타리크 라시드 지음, 송교석 옮김 / 한빛미디어 / 2017년 4월
평점 :
장바구니담기


1. 대상 독자


-GAN이 작동하는 원리를 기초부터 알고 싶은 사람

- 업계 표준 도구로 GAN을 만들어보고 싶은 사람

이 책에서는 다양한 배경에 속한 독자에게 최대한 많이 다가가기 위해 불필요한 수식을 줄이고,

이미지를 많이 사용했다고 한다.

만약 머신러닝 분야를 전공했다면 기초 입문서 정도로 생각하면 된다고 하니,

GAN에 관심 있는 사람들이라면 읽기 좋을 책 같다.


2. 구성


PART1파이토치와 신경망 기초

- 파이토치와 관련된 기본 내용과, 이를 이용한 신경망 만들기, 성능 향상 기법에 대해 나와 있다.

- 파이토치의 장점은 어떠한 형태의 신경망이 등장해도 필요한 미적분 등의 계산을 다 해준다는 점인데,

파이썬과 느낌이 비슷하기에 파이썬을 접해본 사람이라면 쉽게 적응할 수 있을 것이다.

- 구글 코랩에서 클라우드로 작업을 하게되는데, 이 과정이 모두 사진으로 나와있다. 따라만 하면 된다.

- 파이토치만의 새로운 변수 저장 방법이 있는데, 이 새로운 변수를 파이토치 텐서라고 부른다.

이를 파이썬과 비교하며 실습하는데, 정말 상당히 비슷해서 따라가기가 쉽다고 느껴졌다.

-MINIST 이미지 데이터셋을 이용해 첫 신경망을 제작한다


 PART2. 튼튼한 GAN 만들기

- GAN의 개념을 다루고, 판별기와 생성기를 직접 만들어본다. 다양한 데이터 셋을 활용하는 방법또한 배울 수 있다. 특히 얼굴 이미지를 활용하는 부분이 가장 인상 깊었다.

- 그럴듯한 이미지를 생성하는 신경망인 생성기를 계속하여 훈련시킨다. 판별기 또한 제대로 판별할 수 있도록 학습시킨다. 판별기와 생성기는 서로 적대적 관계로 경쟁을 하게 되며, 서로를 뛰어 넘으려고 노력하기 때문에 결국 둘 다 성능이 좋아지게 된다. 이것이 바로 생성적 적대 신경망 GAN.

- 이 GAN은 생성기와 판별기 모두를 훈련하는데, 핵심 훈련 방법은 다음과 같다.


1. 판별기에 실제 데이터를 보여주고 1이라는 값이어야 한다고 알려줌.

2. 판별기에 생성기로부터 만들어진 가짜 데이터를 보여주고 0이어야 한다고 알려줌

3. 판별기에 생성기의 결과를 보여주고 생성기에 결과가 1이어야 한다고 알려줌.

=> 이 훈련 방법을 책을 통해 쉽게 구현할 수 있다.


PART3흥미로운 GAN 기법

- GAN의 응용이다. 합성곱GAN과 조건부GAN에 대한 심층적인 내용과, 앞으로 해야 할 일들에 대해 기재 되어있다.

- 다소 어려울 수 있는 내용이기에, 앞의 PART 1, 2를 직접 실습해본 뒤 읽기를 권한다.


+ 부록 이지만 필수적인..

- 신경망 학습에 있어 가장 중요한 부분 중 하나가 오차, 손실에 관한 내용이다. 기껏 만든 신경망의 오차가 목표범위에서 한참 벗어난다면... 다시 설계해야함이 분명하다. 그만큼 중요한 이상적인 손실값에 대한 내용, 그리고 앞에서 다루지 못했던 내용들, 예제 학습이 실려있어서 이 책은 꼭 부록까지 읽어봐야 한다!


3. 책의 장점


1. 모든 실습마다 이미지로 상세히 설명되어 있다. 전공서적 중에 이렇게 자세하고 귀여운 책은 본적이 없다.

2. 실습에 사용한 코드들을 깃허브에서 제공해준다.

- 차근차근 따라하기 너무 좋다.

https://github.com/makeyourownneuralnetwork/makeyourownneuralnetwork


책을 따라하는 것 만으로도 직접 쉽게 신경망을 구현할 수 있어 재미있었고,

특히 국내 현존하는 책들 중 GAN에 대해 가장 친절히 설명한 책이 아닐까 싶을 정도로 자세하고 쉽게 씌어져있다.


4. 마무리


GAN은 2014년에 등장했는데, 기존 신경망과 달리 인간이 보기에 그럴듯한 새로운 결과를 기계가 알아서 생성한다라는 점에서 매우 혁신적이다.

이 책에서는 GAN또한 신경망과 마찬가지로 원리만 알면 다루는 것이 어렵지 않다며, 쉽게 가르쳐주는 사람이 없었던 것 뿐이라고 한다.

정말 수긍하게 되는 게, 책에서 자세히 실습 과정과정을 그림과 이미지로 알려주기에 이보다 더 실습하기

좋은 책은 없다고 생각이 든다.

아직 뒷부분은 직접 실습해보지 못했는데, 주말을 이용해서 나머지 부분도 실습해봐야겠다.


주변에 신경망 분야에 관심이 있거나, 첫 입문을 도전하려는 사람에게 꼭 추천해주고 싶은 책이다 :D

.

cf) 이 책을 읽기 전에 신경망 첫걸음을 먼저 읽고 오면 이해에 도움이 된다!

https://book.naver.com/bookdb/book_detail.nhn?bid=11823283



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
처음 처음 | 이전 이전 | 1 | 2 |다음 다음 | 마지막 마지막