[진코파]에 이은 서민우 작가님의 [진코라](진짜 코딩하며 배우는 라즈베리파이 4)다. 코코랩스(http://www.kocolabs.co.kr/)를 통해서 책의 예제를 따라 할 수 있게 하드웨어 부품을 한번에 구매 하다. [진코파]에서 사용한 파이썬 고급 주제 보다 더 다양한 파이썬을 배울 수 있게 구성 되어 있어서 좋을거 같다. 나도 도서체험단에 도전 하겠지만, 라즈베리파이, 인공지능에 관심이 있다면 도전해 보자
02 _ 파이썬 개발환경 구성하기 02-1 파이썬 설치하기 02-2 파이썬 실습 환경 설정하기 IDLE 실행하기 파이썬 셀에 직접 명령 줘보기 파이썬 프로그램 작성하기 파이썬 프로그램 저장하기 1 파이썬 실습 디렉터리 생성하기 파이썬 프로그램 저장하기 2 파이썬 프로그램 실행하기 02-3 파이썬 기본 코드 살펴보기
Chapter 02 파이썬 기본 문법 익히기
01 _ 파이썬 말하기 : print 01-1 print 함수 사용해 보기 01-2 파이썬 오류 대처하기 문법 오류 발생시켜 보기 이름 오류 발생시켜 보기 들여쓰기 문법 오류 발생시켜 보기 01-3 문자열, 숫자 출력하기 줄 번호 표시하기 01-4 변수 사용해 보기 01-5 형식 문자열 사용하기 01-6 한 줄에 출력하기 01-7 변수 값 바꿔보기 01-8 str.format 함수 사용해 보기
02 _ 파이썬의 무한 반복 : while True 02-1 같은 동작 무한 반복하기 02-2 파이썬은 얼마나 빠를까? 02-3 한 줄로 출력하고 싶은데 어떻게 하지? 02-4 천천히 일 시키기 : time.sleep 02-5 파이썬 수행 속도 측정하기 라즈베리파이 파이썬 실행 속도 C언어 수행 속도 측정하기 02-6 파이썬 오류 발생 시켜보기 문법 오류 발생시켜 보기 1 들여쓰기 문법 오류 발생시켜 보기 이름 오류 발생시켜 보기 문법 오류 발생시켜 보기 2
03 _ 프로그램 맛보기 03-1 프로그램 이란? 03-2 컴퓨터 프로그램 이란? 03-3 프로그램의 형식 신라면 끓이는 법 : 순서를 붙여 레시피 정리하기 03-4 프로그램의 구성 요소 : 동작과 대상 유사 코드 작성하기 실제 코드 작성하기 03-5 파이썬 프로그램 용어 정리 프로그램 구성 요소 문장 구성 요소와 프로그램 구성 요소 비교 03-6 커피 타는 프로그램 작성해 보기
04 _ 함수와 변수 이해하기 04-1 정수 변수와 함수 함수 정의하고 사용해 보기 04-2 실수 변수와 함수 함수 정의하고 사용해 보기 04-3 둘 이상의 함수 인자 함수 정의하고 사용해 보기 04-4 둘 이상의 함수 반환 값 함수 정의하고 사용해 보기 04-5 함수의 형식
05 _ 값, 객체, 변수 할당 이해하기 05-1 값 살펴보기 05-2 값의 형태 살펴보기 : type 05-3 객체의 주소 살펴보기 : id 05-4 객체의 크기 살펴보기 : sys.getsizeof 05-5 변수와 객체의 관계 살펴보기 05-6 변수에 변수 값 할당하기 정수 변수 할당하기 실수 변수 할당하기 05-7 변수 값 변경해 보기
Chapter 03 바리스타 프로그램 만들며 실력 키우기
01 _ 파이썬 기초 다지기 01-1 프로그램 기능 정의하기 01-2 파이썬의 화면 출력 : print 01-3 프로그램의 지속 실행 : while True 01-4 예외 처리 : try~except 01-5 작업 순서 정하기 : 주석 여러 줄 주석 01-6 메뉴 보여주기 : print 01-7 사용자 입력 받기 : input 01-8 사용자 입력 처리 : if~elif~else 01-9 프로그램 종료 : if, break 01-10중간 결과 파일(1)
02 _ while, if, break 정리하기 02-1 while 문 : 계속해서 반복해! 02-2 if 문 : 이 경우는 이거해! 02-3 while 문 실행해 보기 02-4 whie True 문 실행해 보기 02-5 while 문의 형식 02-6 if 문의 형식 02-7 맘스터치 프로그램 작성해보기(1)
03 _ 파이썬 중급 도약하기 03-1 프로그램 정리하기 : 함수 주요 함수 추가하기 show_menu 함수 완성하고 호출하기 get_order 함수 완성하고 호출하기 process_order 함수 완성하고 호출하기 처리 함수 추가하기 처리 함수 구현하고 호출하기 03-2 중간 결과 파일 (2) 03-3 맘스터치 프로그램 작성해보기 (2) 03-4 메뉴의 일반화 : 목록과 for~in 문 변수 추가하기 목록으로 변수 정리하기 for~in 문으로 동작 정리하기 for 문에 목록 변수 사용하기 듀플 사용해 보기 사전 사용해 보기 사전 정렬하기 03-5 처리 일반화 : 함수 참조 함수 값 변수 생성하기 함수 값 목록으로 정리하기 메뉴 처리 동작 일반화하기 듀플 사용해 보기 사전 사용해 보기 03-6 중간 결과 파일 (3) 03-7 맘스터치 프로그램 작성해보기 (3)
04 _ 목록, for~in 정리하기 04-1 for~in : 여기부터 저기까지 반복해! 04-2 range 사용하기 04-3 for~in 문 실행해 보기 04-4 큰 목록 초기화 방법 04-5 목록 안에서 for~in 문 사용하기 04-6 for~in 문의 형식
05 _ 목록, 튜플, 제너레이터 이해하기 05-1 목록과 튜플의 관계 목록, 튜플 확인하기 목록, 튜플 항목 추가해 보기 함수에서의 튜플 살펴보기 튜플 항목 값 변경해 보기 목록과 튜플 항목 값 출력해 보기 05-2 목록과 제너레이터의 관계 : type 목록, 생성기 확인하기 목록, 생성기 항목 늘려 보기 목록, 생성기 출력하기 목록과 생성기 항목 값 출력해 보기 05-3 제너레이터 함수 생성기 확인하기 생성기 출력하기 생성기 항목 값 출력해 보기 생성기 함수의 수행 살펴보기 while 문을 수행하는 생성기 함수 생성기 함수 풀어보기
Chapter 04 바리스타 프로그램 확장시키며 실력 높이기
01 _ 파이썬 고급 안착하기 01-1 명령 프롬프트에서 파이썬 실행하기 01-2 main과 module로 분리하기 01-3 sys.argv 이해하기 sys.argv 출력해 보기 for 문으로 sys.argv 항목 출력해 보기 sys.argv[0] 경로명 출력해 보기 01-4 명령행 인자로 모듈 받기 IDLE에서 파이썬 프로그램에 인자 넘기기 01-5 문자열 인자 함수로 넘기기 barista_module.py 파일 복사해 오기 카페라떼 만드는 법 : 순서를 붙여 레시피 정리하기 유사 코드 작성하기 실제 코드 작성하기 01-6 중간 결과 파일 (4) 01-7 맘스터치 프로그램 작성해보기 (4) 01-8 목록 인자 함수로 넘기기 01-9 중간 결과 파일 (5) 01-10 맘스터치 프로그램 작성해보기 (5) 01-11클래스와 객체 이해하기 01-12클래스 객체 인자 함수로 넘기기 빈 함수, 빈 클래스 정의하기 클래스 정의하고 사용하기 - Coffee, Mug 클래스 정의하고 사용하기 - Milk, Frother 클래스 정의하고 사용하기 - Sugar 01-13 중간 결과 파일 (6) 01-14 맘스터치 프로그램 작성해보기 (6) 01-15 클래스 정리하기 : 상속 01-16 중간 결과 파일 (7)
02 _ 함수 인자 살펴보기 02-1 단일 값 변수 함수 인자 살펴보기 단일 값 변수 인자와 매개 변수의 관계 locals 함수로 지역 변수 확인하기 매개변수 값 변경 이해하기 매개변수 이름 변경해 보기 Id 함수로 객체 주소 확인하기 02-2 목록 값 변수 함수 인자 살펴보기 목록 값 변수 인자와 매개 변수의 관계 locals 함수로 지역 변수 확인하기 매개 변수를 통한 목록 항목 값 변경 살펴보기 매개변수 이름 변경해 보기 Id 함수로 객체 주소 확인하기 02-3 객체 값 변수 함수 인자 살펴보기 클래스 객체 값 변수 인자와 매개 변수의 관계 locals 함수로 지역 변수 확인하기 pprint 라이브러리 활용하기 매개변수 이름 변경해 보기 매개변수를 통한 객체 속성 값 변경 살펴보기 02-4 self 매개변수 이해하기
03 _ 바리스타 프로그램 확장하기 03-1 메뉴와 레시피 변경하기 : 사전 이용하기 03-2 커피 하나 이상 주문 받기 03-3 잘못된 주문 처리하기 03-4 커피 값 계산하기 03-5 주문 목록 주고받기 03-6 커피 하나 이상 만들기 03-7 커피 준비하기 03-8 커피 내놓기 03-9 최종 결과 파일
Chapter 05 인공지능 라이브러리 활용하기
01 _ 이미지로 얼굴 인식하기 01-1 opencv-python 설치하기 01-2 이미지 읽고 보여주기 01-3 흑백 이미지로 바꾸기 01-4 얼굴 인식하기 Hear Cascade 머신 러닝 필터 파일 가져오기 얼굴 인식하기 01-5 눈 인식하기
02 _ PyCharm 개발 환경 구성하기 02-1 파일참 설치하기 02-2 파이썬 실습 환경 설정하기 파이참 실행하기 파이썬 프로젝트 생성하기 파이썬 파일 생성하기 파이썬 프로그램 작성하기 파이썬 프로그램 실행하기 파이썬 프로그램 종료하기 02-3 opencv-python 설치하기
03 _ 카메라로 얼굴 인식하기 03-1 웹캠 영상 읽고 출력하기 03-2 웹캠 영상 저장하기 함수 호출과 *인자 살펴보기 : *‘DIVX’ 03-3 파일 영상 읽고 출력하기 03-4 웹캠 영상 얼굴 인식하기
04 _ 음성 녹음하고 재생하기 04-1 pyaudio 설치하기 04-2 음성 녹음하고 재생하기 : Blocking Mode 음성 녹음하기 녹음 재생하기 04-3 wave 파일 구조 살펴보기 표준 wave 파일 구조 notepad++ 편집기 설치하기 output.wav 파일 살펴보기 04-4 음성 녹음하고 재생하기 : Callback Mode 음성 녹음하기 녹음 재생하기 04-5 MicrophoneStream 클래스 구현하기 04-6 MicrophoneStream 클래스 활용하기 04-7 with~as 문의 이해와 활용 try~finally with~as 컨텍스트 매니저(Context Manager) with~as와 파일 with~as와 소켓
05 _ 구글 speech로 음성 인식하기 05-1 Cloud Speech API 키 발급 받기 구글 클라우드 플랫폼 무료 사용 등록하기 구글 스피치 플랫폼 프로젝트 생성하기 Cloud Speech-to-Text API 사용 설정하기 사용자 인증 정보 만들기 키 만들기 05-2 구글 음성 인식 라이브러리 설치하기 05-3 영어 음성 인식하기 05-4 연속 생성기 이해하기 연속 생성기 구조 이해하기 연속 생성기 중간 과정 살펴보기 05-5 한국어 음성 인식하기 05-6 한글 읽고 말하기 05-7 음성인식 바리스타 05-8 영어로 대화하기
당근을 통해서 충분하게 레고 부품을 구했음에도 괜찮은 재료가 나으면 나도 모르게 거래 약속을 잡는다. 판매자가 정확한 정보를 주지 않으면, 사진으로 어느 정도양인지 상태인지 모른다. 그럴대는 직거래 현장에서 확인 후 거래 하자고 한다. 불편 할 수 있지만, 그래도 불편하게 구매나 판매를 예방 할 수 있기 때문이다. 그래도 몇번 했다고 물건을 담은 봉지에 실루엣을 보기만 해도 알 수 가 있게 되었다 ^^. 0.8 짜리 레고 벌크 거래 할때는 그냥 보기만 해도 많다는걸 느낄 수가 있어서 확인도 안하고 거래 했다. 이번 3점짜리 레고는 멀리서만 봐도 거래 실패라는 느낌이 왔다 ㅠㅠ. 역시나 ㅠㅠ.
레고 벌크라기엔 판매 가격에 비해 상당히 수량이 적고,
누락을 알 수 없는 단품으로 보기엔 가격이 비싸고,
내가 원하는 테크닉 부품이 없었다.
이런 저런 얘기를 해주면 좋겠지만, 기분이 그닥 좋지 않을거 같아 가격이 안맞는다고 하고 거래를 취소하고 뒤돌아 왔다. 지갑을 두둑하게 하고 갔었는데......
최근에 내가 재미 있게 하고 있다--.--. 처음엔 알리에서 호환 레고 테크닉 부붐을 구매 했는데, 그것 마저도 비싸다고 느껴졌다. 그래서 당근에서 검색하니 괜찮은 가격에 괜찮은 부품 또는 제품들이 보였다. 사실 테크닉 부품만 사려고 했는데 결국은......
레고 첫번째 거래 성사때 기분이 좋았다. 일반 레고 부품에 비해 테크닉 부품은 없었지만, 지인과 같이 종류별로 분류 하면서 기분이 좋았기 때문이다. 지인은 테크닉 부품 보다는 미니피규어에 관심이 많아 정리하면서 좋은 것만 정리 하였는데, 그냥 줬다. 너무 좋아해서 나중에 당근에서 프렌즈 미니피규어를 사서 줬다. 그때까지만 해도 미니 피규어에 관심이 없었는데, 자꾸자꾸 보니까 상당히 괜찮다고 느껴졌다. 그 이후 일이지만, 정말 정말 싸게 프렌즈 여러 제품이 묶음 으로 나온게 있는데, 10초 차이로 거래를 못한적이 있는데...... 확실하게 레고 정품 제품이 퀄리티는 좋다. 보면 볼수록 좋게 느껴진다.
그러다가, 호환레고 제품인 부가티와 포르쉐를 구매 했다. 약간의 문제는 있었지만, 잘 샀다고 생각 한다. 포르쉐는 부품 교체하여 어느 정도 구동 되게 재조립 했고, 구매 하자마자 굴리다가 부품이 부러진 부가티는 현재 나의 손을 기다리고 있다.
이러쿵 저러쿵 해서 동네 직거래를 통해 원하는 만큼 부품도 구했다. 별거 아닐거 라고 생각한 당근이 동네 직거래라는 나름 매력적인 부분이 있는거 같다. 좀전에도 당근을 통해서 직거래 약속을 했다.
결론은 당근은 좋다이고! 호환레고 조립하는 손맛에 호환 레고 제품을 구매와 예약 구매를 했다는 것이다.^^
오랫만에 icbanq에서 무상체험 이벤트를 하는거 같다. 제품을 자세히 보면 알겠지만, 마이크로비트 확장 보드인 '슈퍼 비트'가 포함되어 있고, 호환 레고를 이용하여 뭔가를 만들 수 있을거 같다. 코딩 + 마이크로비트 + 파이썬 + 레고에 관심이 있다면 이벤트에 참여 해보는 것도 좋을거 같다.
카페 활동중에 생능출판사의 서평 이벤트에 당첨됐다^^. 책 이름이 마이크로비트로 메이커 되기인데, 책을 받기 전부터 기대가 된다.
<책 표지>
처음 마이크로비트를 접했을 때 외계인이 생각났는데, 책 표지를 보니 그 때 생각이 났다.
일단 목차를 보자!
<목차>
'II부 메이킹 비트'가 눈에 들어 온다. 7명의 저자가 쓴 책이란걸 느끼게 해주는 부분이다. 이 부분만으로도 책 값을 한다고 생각한다.
전반적인 글씨 크기와 그림이 배치는 마음에 든다. 또한 적당한 수준의 글 내용이 어렵지 않게 책을 읽기가 편했다. 메이커 초보에게 만들려고 하는 것을 체계적으로 만들도록 있도록 '생각 다지기'와 '생각 펼치기'로 구성한 부분이 좋아 보였다.
I부 컴퓨팅 비트 - 특이 할거 없는 블록코딩의 일반적인 내용이다. 처음 마이크로비트 블록 코딩을 접했다면, 컴퓨터 화면에서 여러번 마우스를 클릭하여 확인해야 한다. 가끔 뒤에 있는 내용이 나와 '난감'한 상황이 발생할 수 있다. 그래도 컴퓨터 화면을 여러번 클릭해 보면 해결 된다.
II부 메이킹 비트 -
<알고리즘 만들기 중 순서도>
순서도를 처음 봤을 때는 '와' 했지만, 정독할대 아쉬웠던 부분이다. 표준 방식에 맞게 그려졌더라면 좋았을텐데, 내용을 구분하려고 아무 도형이나 쓴 것이 정말 아쉬웠다. 책 안에 순서도를 설명하지 않더라도 표준에 맞게 그려졌더라면, 시간이 지나서라도 도움이 많이 되는 부분이라고 생각 한다. 표준 순서도가 아니라면 마인드맵을 활용했으면 좋았을 거라 생각 한다.
다양한 컨텐츠 내용의 품질에 비해 나온 결과물은 드레프트 단계의 결과물이여서 아쉬웠다. 완벽한 제품이 아니더라도, 폼은 나야 하는데......
마이크로 비트로 뭔가 만들어 보고 싶은 초보 메이커에게는 어렵지 않게 도움을 줄 수 있는 책이다.