대학생 시절

게임 때문에 학사경고까지 먹었던 골수 겜돌이였던 나였는데 😎

 

요즘은 어떤 게임이 있는지조차 모를 정도로

게임하고는 거리가 먼 아재가 되어 버렸다 😥

 

 

그렇다고 게임에 대한 관심과 애정이 없어진 것은 아니었는데,

그러던 중 알게 된 아재 감성을 자극한 멋진 사이트를 발견 !!! 😍

 

https://www.bestoldgames.net/

 

bestoldgames.net

 

옛날 게임을 주제로 만들어진 웹사이트는 기존에도 많이 있었지만,

BOG 사이트가 왜 특별하냐면

게임을 해볼 수 있도록 다운로드를 제공하기 때문이다.

심지어 온라인으로도 해볼 수 있도록 제공해 준다!!! 🤩

 

 

그렇다고 해서 여기 사이트에서

특별한 인터페이스 또는 에뮬레이터를 만들어서 제공하는 것은 아니고 😁

DOSBox를 이용해서 게임을 할 수 있도록 해준다.

 

DOSBox

 

DOSBox는 일단 설치해놓고,

고등학교 시절 오락실에서 내 용돈을 엄청 빼앗아간 게임을 한 번 해보겠다~ 🤑

 

Strret Fighter 2

 

게임을 골랐으면 일단 다운로드 받자.

 

Download

 

다운로드 받은 후에 압축을 풀어 놓자

 

압축 해제

 

DOSBox를 설치해 놓았으면,

바탕화면에 아래와 같은 아이콘을 찾아볼 수 있을 것이다 🤔

 

DOSBox

 

압축 해놓은 디렉토리를

위 DOSBox 아이콘에 드롭다운을 하면 된다.

 

Drop Down

 

이상한 윈도우가 2개나 튀어 나온다고 당황하면 안된다 😲

 

DOSBox

 

`dir` 명령어를 쳐보면 파일 목록이 보일 것이다.

지금 우리가 필요로 하는 것은 `SF2.EXE` 파일이다.

실행하면 된다 !! 🥳

 

dir

 

혹시 이어폰을 끼고 있다면 조심하기 바란다.

정겨운 사운드블러스터 뮤직이 크게 흘러나온다~ 🤣

 

SF2

 

왠지 뭔가 귀찮고 하기 싫다면,

온라인으로 실행할 수도 있다 😋

 

온라인

 

 

추억의 게임들을 발견하고

또 직접 해볼 수 있다는 것이 꽤 쏠쏠한 재미를 준다.

 

더군다나 사이트가 너무나 잘 정리되어 있고

관리가 되고 있다는 것이 너무나 너무나 고맙다.

 

반응형

'Fun' 카테고리의 다른 글

매크로 키보드 설정하기 (AutoHotKey)  (3) 2022.12.04
동탄 무봉산 만의사  (0) 2011.11.12

 

오랜 시간 Software Engineer로써 살고 있는 고인물이

새로운 세상에 적응하기 위해 딥러닝이라는 것을 공부하려고 할 때

가장 큰 장벽으로 다가오는 것이 바로 수학이다.

 

고등학교 시절 이과를 선택하고 공대에 입학해서 공돌이 생활을 했지만

수학을 정말 싫어하고 못했던 나인데, 이 나이 먹고 다시 수학 공부를 해야하다니!!!

 

하지만, 딥러닝에 대해서 파고들기 위해서는 수학 공부는 필수다.

어쩔 수 없다.

 

그렇지만, 수학 정석부터 시작할 수는 없고, 필요한 내용만 공부를 하려면... ?!

 

표지

 

나온지 얼마 안되는 정말 따끈따끈한 책이다.

원서도 2021년 10월에 출간되었다.

 

1쇄

 

책 제목에 "딥러닝"이 적혀 있다고 해서 알고리즘이나 코드를 설명해주는 책은 절대 아니다.

 

역전파(Backpropagation)와 경사하강법(Gradient Descent)을 이해하기 위한

수학적 배경 지식을 공부하기 위한 수학책이다.

 

"옮긴이의 말"에서도 분명히 이 부분을 말해주고 있다.

 

옮긴이의 말

 

그렇다고 해서 정말 수학 공식만 설명해주고 있는 책은 아니다.

실제 Python 코드를 이용한 구현 방법도 알려주고 있기에 실습을 하면서 공부를 할 수 있다.

 

책의 구성을 살펴보면 다음과 같다.

 

구성 1
구성 2

 

"옮긴이의 말"에서도 언급한 것 처럼

이 책은 `10장 역전파`와 `11장 경사하강법`을 설명하기 위한 책이다.

 

실습환경 구축을 설명해주고 있는 1장을 빼고

2장부터 9장까지는 본론을 말하기 위한 수학적 개념과 공식을 설명해주는 내용으로 채워져 있다.

 

 

책 인쇄는 조금 아쉽게도 풀 컬러는 아니고 (개인적인 취향으로 풀컬러 러버~)

자주색+검은색의 조합이다.

 

샘플

 

책에서 사용된 소스코드는 다음 링크에서 내려 받을 수 있다.

  - https://github.com/rkneusel9/MathForDeepLearning

 

쥬피터노트북(.ipynb)은 아니고, 파이썬(.py) 파일로 제공해주고 있다.

 

 

책의 정오표는 다음 링크의 제일 하단에 있는 `View the latest errata`에서 확인하라고 하는데, 원서 기준이다.

  - https://nostarch.com/math-deep-learning

 

한글판에 대한 정오표가 업데이트 되면 아래 링크에서 확인할 수 있을 것이다.

  - https://jpub.tistory.com/category/오탈자%20정보 

 

 

※ 제이펍 서평단 활동을 위해 지급 받은 도서에 대한 리뷰입니다.

반응형

 

Python은 왠지 한글하고 친하지가 않은 것 같다.

그나마 v3.x 버전이 되면서 많이 편해지긴 했지만, 그래도 한글 관련 이슈가 계속 나오는 느낌적인 느낌이...

 

MachineLearning 공부하게 되면서 많은 분들이 사용하고 있는 matplotlib의 경우에도

기본적으로는 한글 출력에 문제가 있다.

 

Google Colab 및 Local 환경에서 matplotlib 한글 출력이 잘 되도록 해보자.

 

 

1. Google Colab

 

① 기본 상황

  - 한글 부분이 제대로 나오지 않는 것을 볼 수 있다.

 

font error

 

② 폰트 설치

  - 나눔 폰트를 설치해보자.

 

!sudo apt-get install -y fonts-nanum
!sudo fc-cache -fv
!rm ~/.cache/matplotlib -rf

 

install font

 

③ 런타임 재시작

  - 설치된 폰트를 사용하기 위해 "런타임 다시 시작"을 실행하자

 

런타임 다시 시작

 

④ 폰트 적용

  - 이제 한글을 적용해서 그래프를 그려보자.

  - 설치한 폰트를 사용하도록 한 줄 추가가 되어야 한다.

 

plt.rc('font', family='NanumBarunGothic')

 

matplotlib with hangul

 

  - 그런데, 위의 그래프에서 뭔가 이상한 것을 볼 수 있는가?

  - y축의 "-5" 부분이 제대로 출력되지 않았다.

 

⑤ minus 처리

  - 아래와 같은 구문이 추가되면 된다.

import matplotlib as mpl
 
mpl.rcParams['axes.unicode_minus'] = False

 

fix minus

 

 

2. Local (Ubuntu)

Colab과 비슷하지만 약간 차이가 있다.

 

① 기본 상황

  - 코드가 살짝 다르다.

 

import pandas as pd
import matplotlib.pyplot as plt
import warnings

warnings.simplefilter(action='ignore', category=UserWarning)

plt.plot(['서울', '경기', '인천', '광주', '대구', '부산', '울산', '대전', '제주'], [12, 32, -4, 0, 5, 2, 19, 9, 3])
plt.xlabel('x축')
plt.ylabel('y축')
plt.title('제목')
plt.savefig('test.png')

 

execute

 

error

 

② 폰트 설치

  - 나눔 폰트를 설치해보자.

 

$ sudo apt-get install -y fonts-nanum
$ sudo fc-cache -fv
$ rm ~/.cache/matplotlib -rf

 

③ 코드 개선

  - 폰트 및 마이너스 관련 코드 추가해서 재실행해보자.

 

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib as mpl
import warnings

warnings.simplefilter(action='ignore', category=UserWarning)

plt.rc('font', family='NanumBarunGothic')
mpl.rcParams['axes.unicode_minus'] = False

plt.plot(['서울', '경기', '인천', '광주', '대구', '부산', '울산', '대전', '제주'], [12, 32, -4, 0, 5, 2, 19, 9, 3])
plt.xlabel('x축')
plt.ylabel('y축')
plt.title('제목')
plt.savefig('test.png')

 

new graph

 

예쁜 한글 파이팅 !!!

 

반응형

 

나의 로컬 환경에서 Jupyter Notebook을 사용하고 싶어서 살펴봤다.

 

0. 실행 환경

  - Ubuntu 18.04 환경에서 진행했지만, 20.04 등 다른 버전에서도 잘 될 것 같다.

 

1. 설치

  - 가장 편한 "pip"를 이용해서 설치해봤다.

$ pip install jupyter

 

pip install jupyter

 

2. 설치 내역

  - Jupyter Notebook은 여러 패키지의 조합이다. 확인해보자.

$ jupyter --version

 

jupyter --version

 

3. 실행

  - Jupyter Notebook을 실행해보자.

$ jupyter notebook

 

jupyter notebook

 

  - 자동으로 브라우저가 실행되며 Jupyter Notebook을 볼 수 있다.

 

jupyter notebook

 

  - 오른쪽 중간에 보이는 "New" 버튼을 통해 새로운 Notebook을 생성하고, 간단한 실행을 해보자.

 

jupyter notebook

 

정말 간단히 Jupyter Notebook 환경을 만들 수 있다.

서버로 구동하거나 비밀번호를 등록하는 등의 추가 설정은 별도의 포스팅으로 작성해보도록 하겠다.

 

반응형

알람(Alarm)이나 공지(Notification)를 하는 방법 중에서 카카오톡 메시지는  상당히 매력적이다.

 

Python 등을 이용해서 카카오톡 메시지를 발송하는 것은

알아야할 것들이 많아서 그렇지 어렵지는 않으니 하나씩 확인해보자.

 

01. kakao developers 가입하기

  - https://developers.kakao.com/

 

kakao developers

 

02. 애플리케이션 추가하기

  - 가입, 로그인 후 상단에 있는 메뉴 중에서 "내 어플리케이션"을 선택하자.

 

내 어플리케이션

 

  - 메시지 발송과 같은 작업을 하기 위해서는 기본이 되는 "애플리케이션"이 있어야 한다.

  - '앱 이름'과 '사업자명'을 임의로 적어주면 되고, 앱 아이콘은 등록하지 않아도 된다.

 

애플리케이션 추가

 

03. 애플리케이션 요약 정보

  - 생성한 애플리케이션을 선택하면 다양한 설정을 할 수 있는 화면을 볼 수 있다.

  - 첫 화면으로 나오는 요약 정보에서는 중요한 "앱 키"들도 볼 수 있다.

 

요약 정보

 

04. 카카오 로그인 활성화

  - 카카오 로그인 API를 사용하기 위해서 활성화 설정을 진행해야 한다.

 

로그인 활성화


05. Redirect URI

  - 로그인이 된 다음에 되돌아갈 URI를 등록하는 것이다.

  - 지금 마땅히 없으니, 그냥 샘플로 제공되는 주소를 그대로 써주자. (https://naver.com 같이 입력해도 무방하다)

 

Redirect URI

 

06. 접근 권한

  - 사용자 동의가 필요한 접근 항목들이 있다.

  - 제품 설정 → 카카오 로그인 → 동의항목 → 접근 권한 → 카카오톡 메시지 전송 → 설정

 

접근 권한

 

  - 아래 화면과 같이 "선택 동의"를 선택하고 "동의 목적"에 문구를 작성해주면 된다.

 

카카오톡 메시지 전송 설정

 

07. 소셜 API 가이드

  - 사이트 상단 메뉴에서 "문서" 선택 후, 소셜API가이드 - 메시지 - REST API

 

소셜 API 가이드

 

08. REST API 테스트 도구

  - "카카오톡 메시지:REST API" 페이지를 보면 바로 보이는 "REST API 테스트 도구"를 클릭하자.

 

카카오톡 메시지: REST API

 

09. 나에게 기본 템플릿으로 메시지 보내기

  - "REST API 테스트 도구"를 클릭하면 볼 수 있는 화면이다.

 

나에게 기본 템플릿으로 메시지 보내기

 

10. 액세스 토큰

  - "액세스 토큰" 항목에서 "토큰 발급" 눌러 주자.

  - 아래 화면에서 보이는 것과 같이 진행하면 된다.

 

토큰 발급

 

  - 확인을 누르면 동의화면이 나온다. 동의 해주면 된다.

 

동의하기

 

11. 명세 확인하기

  - 페이지의 하단 부분을 보면 "명세" 부분을 볼 수 있다.

  - "template_object"의 타입 부분에서 "Text"를 클릭해 주자.

 

명세

 

  - 메시지의 종류라고 생각하면 되고, 지금은 "Text" 형식으로 메시지를 보내고자 하기에 이렇게 한 것이다.
  - 아래와 같은 형식으로 사용할 수 있다는 것을 확인할 수 있다.
    . {"object_type":"text","text":"Hello World !!!","link":{}}

 

 

12. 전송

  - 페이지의 위로 올라가서 Body 부분의 "template_object" 항목에 입력해주면 된다.

 

전송

 

13. 응답

  - 모두 잘 따라왔으면 아래와 같이 200 OK 응답을 받았을 것이다.

 

응답

 

14. 확인

  - 카카오톡에 정상적으로 전달된 메시지를 볼 수 있다.

 

카카오톡

 

이번에는 여기까지만 진행하고,

Python 코드로 진행하는 것은 별도의 포스팅으로 진행하겠다.

반응형

 

간단한 웹을 만들어야 하는데,

간단하게 데이터를 다뤄야 할 때 종종 언급이 되는 Redis에 대해서 살펴보려고 한다.

 

"Key-Value 형식의 in-memory 데이터베이스"

 

기존에 내가 알고 있는 Redis에 대한 정보인데

공식 홈페이지에서 다시 한 번 확인해봤다.

 

- https://redis.io/

 

redis.io

 

"The opensource, in-memory data store used by millions ..."

어?! 'database'라고 하지 않고 'data store'라고 설명을 하네?! 라고 느끼는 순간! 사이트 중간에 다시 설명을 해주고 있다.

 

"A vibrant, open source database"

 

뭐, 결국은 내가 알고 있던 "key-value 형식의 in-memory databse"가 맞기는 하지만

스스로는 "data store"라는 정체성을 더 소중히 여기는 것이 아닌가 싶다.

 

서론이 너무 길었는데,

Redis에 대해서 너무나 잘 설명해주고 있는 좋은 아티클 링크 공유하면서 서두를 마치고자 한다.

 

- 6편의 아티클로 Redis에 대해서 심도있게 다루고 있음

  . https://insanelysimple.tistory.com/343

 

- Redis에 대해 소개하면서 "Redis vs Memcached" 비교

  . https://kdhyo98.tistory.com/89

 

 

이제 본론으로 들어가봅시다~!!

 

 

[ Redis 맛보기 ]

 

0. Background

개인적인 취향일 수도 있겠지만,

S/W 개발을 위한 기본적인 환경은 Linux 기반이 좋다고 생각하기 때문에

이번 실습 역시 Linux 배포판 中 Ubuntu 운영체제에서 진행한다.

 

또한, 최근 유행하고 있는 MSA 기조에 맞춰서

Application의 구성은 Container를 기반으로 하며

가장 대중적인 Docker를 활용하도록 하겠다.

 

- 테스트 환경 (필자가 이하 내용을 진행한 환경)

  . Host OS : Windows 10 Pro 21H1

  . VM : VirtualBox v6.1.34 r150636 (Qt5.6.2)

  . Guest OS : Ubuntu 18.04.6 LTS

  . Docker version 20.10.17, build 100c701

 

역시 개인적인 취향이 듬뿍 들어 있는 방식이긴 한데,

Server를 운영할 때 패키지의 버전관리 측면과 더불어 폐쇄망에서의 제약으로 인해

패키지들을 설치 할 때 직접 다운로드 받아서 진행하는 것을 선호한다.

 

- Docker 설치

  . Ubuntu 16.04 / 18.04 : https://www.whatwant.com/entry/Docker-Install-Ubuntu-16041804-64bit-using-Download

  . Ubuntu 20.04 : https://www.whatwant.com/entry/Docker-Install-Ubuntu-Server-2004

 

 

위와 같이 환경을 제시하긴했지만,

Windows/macOS 환경에서도 docker를 사용하기 때문에 비슷하게 동작하지 않을까 한다.

 

 

1. Persistent Volume

Redis가 in-memory data-store 솔루션이지만,

안정적 운영을 위해 메모리에 있는 데이터를 디스크에 쓰는 2가지 옵션을 제공한다.

 

① RDB (Redis Database) : 지정된 시간 간격으로 스냅샷을 파일로 저장

② AOF (Append Only File) : 모든 작업을 기록, 서버가 시작할 때 이 기록을 읽어서 데이터 재구성

 

어떤 옵션을 사용하더라도 데이터 저장이 되는 곳이 필요하고

보다 수월한 백업 등의 작업을 위해 docker volume 공간을 따로 구성하도록 하겠다.

 

# 리스트 확인
$ docker volume ls

# 생성
$ docker volume create [name]

# 상세 조회
$ docker volume inspect [name]

volume

 

2. Redis Config

접근 가능한 IP를 지정하고, 인증을 위한 패스워드를 넣는 등의 환경 설정을 위한 config 파일을 작성해보자.

또한 config 파일은 host에서 관리할 수 있도록 하겠다.

 

# 어떤 네트위크 인터페이스로부터 연결할 수 있도록 할 것인지 관리 (여기에서는 Anywhere)
bind 0.0.0.0

# 사용 포트 관리
port 6379

# Master 노드의 기본 사용자(default user)의 비밀번호 설정
requirepass [사용하고자 하는 비밀번호]

# Redis 에서 사용할 수 있는 최대 메모리 용량. 지정하지 않으면 시스템 전체 용량
maxmemory 2gb

# maxmemory 에 설정된 용량을 초과했을때 삭제할 데이터 선정 방식
# - noeviction : 쓰기 동작에 대해 error 반환 (Default)
# - volatile-lru : expire 가 설정된 key 들중에서 LRU algorithm 에 의해서 선택된 key 제거
# - allkeys-lru : 모든 key 들 중 LRU algorithm에 의해서 선택된 key 제거
# - volatile-random : expire 가 설정된 key 들 중 임의의 key 제거
# - allkeys-random : 모든 key 들 중 임의의 key 제거
# - volatile-ttl : expire time(TTL)이 가장 적게 남은 key 제거 (minor TTL)
maxmemory-policy volatile-ttl

# DB 데이터를 주기적으로 파일로 백업하기 위한 설정입니다.
# Redis 가 재시작되면 이 백업을 통해 DB 를 복구합니다.

save 900 1      # 15분 안에 최소 1개 이상의 key 가 변경 되었을 때
save 300 10     # 5분 안에 최소 10개 이상의 key 가 변경 되었을 때
save 60 10000   # 60초 안에 최소 10000 개 이상의 key 가 변경 되었을 때

 

redis.conf

 

redis.conf

 

3. Redis Image

Redis의 공식 Image 중에서 사용하고자 하는 버전을 찾아보자

- https://hub.docker.com/_/redis?tab=tag

 

Redis Image

 

현재 시점에서는 v7.0.2 가 최신이다.

 

 

4. Run

이제 Redis를 실행시켜 보자.

 

$ docker run \
-d \
--restart=always \
--name=redis \
-p 6379:6379 \
-e TZ=Asia/Seoul \
-v /srv/workspace/redis/redis.conf:/etc/redis/redis.conf \
-v redis_data:/data \
redis:7.0.2 redis-server /etc/redis/redis.conf

 

docker run

 

잘 실행이 되었는지도 확인해 보자.

 

docker logs

 

 

5. Redis Client

Redis에서 실제 값을 입력 해보자.

Redis Client의 실행 명령어는 'redis-cli' 이다.

 

$ docker exec -it redis redis-cli

 

NO AUTH

 

어?! 키 값 저장이 안된다.

redis.conf 작성할 때 명시한 패스워드를 사용하지 않았기 때문이다.

 

패스워드를 넣어서 client를 실행하면 정상 동작 한다.

 

AUTH

 

키 값 저장 및 조회가 잘 되는 것을 볼 수 있다.

 

여기까지~

 

반응형

 

요즘 개발자는 당연하고,

디자이너나 기획자들도 git 사용은 필수인 시대가 되었다.

 

인공지능(머신러닝, 딥러닝) 관련해서

공부를 하려고 해도 `git`을 사용할 수 밖에 없다.

 

아니, 사실 솔직히 말하면 git이라기 보다는 `GitHub.com`을 사용해야 하는 것이지만,

그 기반을 이루고 있는 git은 이제 일반 상식이다.

 

조금만 공부하면 사용할 수 있긴 하지만,

제대로 사용하려면 정말 어렵기만한 도구가 바로 git이다.

 

하지만, 실수를 했을 때 되돌릴 수 있는 방법만 알고 있다면

무서워 할 필요가 없다.

 

그리고, 어려움을 느끼고 있는 우리를 대신해서 욕을 해주고 있는 사이트도 있다 !!!

  - https://ohshitgit.com/ko

 

oh shit git

정겹지 않은가?! 

 

 

 

말이 좀 거칠긴 해도,

설명해주는 내용은 정말 말 그대로 꿀팁이다 !!!

 

 

그런데,

회사에서 보기에는 조금 부담스러울 수도 있다.

 

그런 분들을 위해 정중한 표현을 하고 있는 사이트도 제공을 해준다.

  - https://dangitgit.com/ko

 

dangit

아주 정중하지 않은가?!

 

 

재미로만 느껴질 수도 있겠지만,

내용은 정말로 상당히 괜찮다.

 

각자의 git 생활에 도움이 되기를 기원하며 ...

반응형

 

회사에서 내부적으로 사용할 웹사이트가 필요할 때

다른 개발자들이 종종 리액트를 추천하곤 했고, 결국은 리액트로 만들었었다.

 

Long long time ago,

PHP / ASP / JSP 시절에 웹사이트를 만들었었던 나는 ...

 

"그게 대체 뭔데!?"

 

Kubernetes 공부하면서 동작 테스트를 위한 간단한 웹서버를 띄울 때

Node.js를 이용해 정말 간단한 웹페이지를 만들어 보면서

새로운 세계를 살짝 엿보기는 했었지만 ...

 

그러던 중 집으로 배달된 아름다운 책 한 권 !!!

 

표지

나처럼 리액트가 뭔지 모르는 초심자를 위한 책이다 !!!

거기에다가 무료 동영상 강의까지 제공 되다니 !!!

나를 위한 찰떡 궁합 !!!

 

목차

목차를 살펴보면,

정말 말 그대로 초심자를 위해 엄청난 고민을 했다는 것이 딱 느껴진다.

 

일단, 너무 많은 내용을 포함하지 않아서 부담감이 크지 않은 점이 너무 좋았다.

 

꼭 알아야할 기초 중심으로 설명해주면서

마무리로 미니 프로젝트를 하나 함으로써 정리를 할 수 있게 해주고 있다.

동영상 강의

이 책의 가장 큰 매력 ... 동영상 강의 !!!

 

아는 사람은 알고 있는 goormedu에서 찾아볼 수 있다.

  - https://edu.goorm.io/

 

goormedu

goormedu 사이트에서 '리액트'로 검색을 해보면

리액트 관련한 많은 강의를 찾아볼 수 있다.

 

'처음 만난 리액트(React) v2' 강의를 선택하면 된다!!!

 

처음 만난 리액트(React) v2

무료다!

 

강의 목차
강의

책 없이 강의만 봐도 충분할 것 같은 퀄리티다.

 

인프런에서도 강의를 볼 수 있다.

  - https://www.inflearn.com/course/처음-만난-리액트/

 

인프런

동영상 강의 내용은 같다.

 

인프런 강의

유튜브로도 바로 볼 수 있다.

  - https://www.youtube.com/c/소플TV

 

유튜브

동영상 강의의 컨텐츠 내용은 모두 같다.

각자 편한 방식으로 선택하면 된다.

 

유튜브가 접근성이 편리해 보이지만,

goormedu 또는 inflearn을 통해서 강의를 듣게 되면 진도 체크 같은 도움을 받을 수 있어서 좋다.

 

그러면, 이제 GitHub를 방문해보자.

  - https://github.com/soaple

 

GitHub

저자의 사진도 볼 수 있다! (어?! 훈남이시네!!!)

 

실습 코드

실습코드도 제공되니 이를 활용하면 보다 편하고 재미있게 공부할 수 있다.

 

 

다시 책 내용을 살펴보도록 하자.

 

각 장의 앞 부분에는 어떤 것을 공부할 것이라고 알려주는 Preview 내용이 있다.

 

Preview

장을 마칠 때에는 Summary로 정리까지 해준다.

 

마무리

개인적으로 이렇게 정리해주는 것을 정말 좋아한다.

 

작은 요소에 매몰되지 않고 전체적인 큰 그림으로 보면서

지금 무엇을 공부하려고 하는 지, 지금까지 무엇을 공부한 것인 지 알면서 공부하는 것이 정말 중요하다!!!

 

마지막으로 살펴볼 내용은 ...

리액트를 공부하기 위한 책인데, 리액트의 단점에 대해서도 설명해주고 있다.

 

리액트 단점 1

 

리액트 단점 2

 

단점을 설명하긴 했지만,

그렇다고 절대 리액트의 매력이 떨어진다고는 생각하지 않는다.

 

개인적으로 크로스-플랫폼 프레임워크로써 플러터(Flutter)의 세상이 오기를 기다리고 있는 입장이지만

최소한 아직까지는 리액트의 세상이기에~

 

 

책 내용을 살펴본 느낌을 적어보자면,

저자가 정말 많은 고민을 하고, 애정을 쏟아서 정성들여 만든 초급자를 위한 안내서라고 느껴졌다.

 

강의를 많이 하던 분이라거 그런지

내용 하나 하나가 직접 설명을 해야하는 책임감을 갖고 작성된 것 같았다.

 

리액트 초급자라면 정말 무조건 선택해야 하는 책이라고 추천하고 싶다!!!

 

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

 

반응형

+ Recent posts