자바스크립트로 배우는 SICP - 컴퓨터 프로그램의 구조와 해석
해럴드 에이블슨 외 지음, 류광 옮김 / 한빛미디어 / 2022년 12월
평점 :
장바구니담기


최근 어드민 페이지를 개발하면서 타입스크립트를 자주 사용하고 있습니다.

그러나 막상 쓰면서도 100% 잘 쓰는지 의문이 들었습니다.


그 이유는 주로 하는 업무가 백엔드라 머릿속에서 컨버팅이 늦은 점이 가장 컸습니다.


또한 타입스크립트는 결국 자바스크립트로 컴파일되기 때문에 자바스크립트 잘 알아야 한다는 생각이 들면서 날이 갈수록 변화하는 흐름에 잘 따라가지 못하고 있다고 느껴집니다.


그래서 자바스크립트만을 위해서 따로 공부하기에는 다른 일들이 많아서 CS 공부할 겸 '자바스크립트로 배우는 SICP' 책을 읽었는데요.


이 책에 대한 내용을 가지 정도로 요약해보려고 합니다.




1) Lisp 언어에서 자바스크립트로

국내에서 SICP를 처음 본 것은 인사이트 출판사에서 번역한 '컴퓨터 프로그램의 구조와 해석'입니다.


당시 마법사 책으로 주변에서도 읽기는 하지만 다 읽은 사람들은 찾기는 힘들었습니다.


Lisp 언어라 생소하기도 하고 당장 현업에서 쓸 것 같지도 않아서 읽다가 포기한 이유도 큽니다.


그러나 이번 자바스크립트로 변화되어서 천천히 곱씹어 보면서 읽었습니다.


최근 책들이 새롭게 나오면서는 대체로 '자바스크립트'로 재출간하는 패턴이 보입니다.


마틴 파울러가 쓴 리팩토링 역시 자바에서 자바스크립트로 변경돼 출간된 것처럼 시대의 트렌드인 함수형 언어에서 '자바스크립트' 많은 독자를 끌어모으면서 언어에 대한 부담을 낮춘 것이라 봅니다.




2) 개발과 교육의 트렌드

이 책은 80~90년대 MIT에서 CS 과목으로 주로 교육 부교재로 사용했습니다.


MIT의 교육 정책상 이 책을 바탕으로 수업을 개설하지 않고 Python 기반으로 교육을 진행합니다.


AI와 배우기 부담이 적은 Python이 학생들에게 가르치기 편하기 때문이라는 생각도 듭니다.


아쉬운 점은 개발이라는 게 단순히 어떠한 라이브러리를 익히고 그것만 사용해서 어떠한 결과를 만드는 것이 전부는 아니라고 봅니다.


남은 것과 내 것을 어떻게 잘 섞고 하는 기반의 내용은 SICP 내용에 서술되었기 때문입니다.


단순히 저 분야 뜬다고 해서 기반 지식이 없어지는 게 아니라 기반 지식이 밑에서 지탱합니다.


결국 언젠가는 다시 기반 지식을 닦기 위해서 회귀를 분명한 시간이 있습니다.

그 시간을 줄이기 위해선 틈틈이 CS 등 지식을 채우기 위해서 노력해야 한다고 봅니다.




PS

이 책은 현업에서 개발하다가 더 이상 구현에 흥미를 잃고 CS를 채우고 싶은 분들에게 추천해드리는데요.

책이 상당히 두껍고 연습문제의 양이 무지 많습니다.


한번 많은 양을 푸는 것보다는 적절하게 시간을 배분해서 풀어야 완독하는 데 도움이 됩니다.


MIT에서 예전에 SICP 강의한 영상을 유튜브에 볼 수 있어서 책을 읽다가 이해가 가지 않은 부분은 채우는 것도 하나의 방법이라 생각이 듭니다.


#javascrip #마법사책 #한빛미디어 #SICP #LISP


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


댓글(0) 먼댓글(0) 좋아요(2)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
트랜스포머를 활용한 자연어 처리 - 허깅페이스 개발팀이 알려주는 자연어 애플리케이션 구축
루이스 턴스톨.레안드로 폰 베라.토마스 울프 지음, 박해선 옮김 / 한빛미디어 / 2022년 11월
평점 :
장바구니담기


자연어 처리는 모든 사람이 관심을 두는 분야입니다.


트랜스포머 하면 무엇이 떠 오르시나요?

영화 트랜스포머를 떠올리는 분들도 계실 겁니다.


트랜스포머는 자동차 로봇이 아닌 이 책의 트랜스포머는 라이브러리를 의미합니다.


살펴볼 책은 ‘트랜스포머를 활용한 자연어 처리’입니다.


자연어 처리 분야에서 사용되는 신경망 알고리즘으로 Hugging face 오픈 소스 개발자들이 공동 집필한 책인데요.

최근 RNN에서 트랜스포머 라이브러리로 완전히 대체되고 있습니다.


2가지 정도 요약해 보도록 하겠습니다.




1) 자연어 처리 텍스트 분류 어려운 점

일반적으로 언어는 복잡하기 때문에 기계가 인간의 언어를 이해하기는 어렵습니다.

그 이유로 언어는 매우 복잡한 구조로 되어 있으며, 시간과 장소, 상황, 의도 등을 고려하여 사용됩니다.


또한 기계는 인간의 생각과 감정을 이해하지 못하고 가지고 있는 데이터를 바탕으로 판단합니다.


이 판단을 사전 학습을 통해서 할 수도 있고 알고리즘을 통해 알아서 계산할 수도 있습니다.




2) 트랜스포머 라이브러리 알아보기

트랜스포머 라이브러리는 인공 신경망에서 순환 신경망(RNN)과 같은 순차적인 정보가 중요한 작업을 처리할 때 우수한 성능을 보입니다.


트랜스포머는 입력 시퀀스를 처리할 때 순차적인 정보가 중요한 작업에 적합한데요.

입력 시퀀스에서 각 요소가 서로 어떻게 영향을 주고받는지를 모델링할 수 있게 도와줍니다.


사용하는 예로는 뉴스 내용을 요약하는 모델과 상품에 대해 질문하면 답변을 주는 모델도 구축하며 배울 수 있습니다.


내부 핵심은 러스트 언어로 작성되어 빠르게 동작합니다.




Ps

트랜스포머 라이브러리에 대한 모델 활용법을 소개해줍니다.


소개된 모델을 활용해 실습도 해보며 다양한 모델을 구축해볼 수 있습니다.


모델을 구축해보며 효율적인 모델은 어떻게 만드는지와 상황에 따른 해결법도 알려줍니다.


이 책은 트랜스포머 라이브러리에 대해서 익히는 데 큰 도움이 됩니다.


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


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
당신의 뇌는 변화가 필요합니다 - 습관, 일, 관계까지 바꿔주는 뇌 최적화의 기술
가비아 톨리키타 지음, 이영래 옮김 / 비즈니스북스 / 2022년 12월
평점 :
장바구니담기


한 해를 마무리하고 다가오는 한 해를 계획하기 좋은 달은 12월입니다.

22년을 돌이켜보면 무엇을 계획했고 지켰는지 알 수 있는데요. 계획을 지키는 건 결코 쉬운 일이 아닙니다. 시간을 많이 투자하고 계획하기 전에 단순한 습관 설계만으로 삶이 달라질 수 있다는 책을 소개합니다.


뇌의 변화를 통해 습관, 일, 관계까지 바꿔주는 뇌 최적화의 기술을 담고 있는 ‘당신의 뇌는 변화가 필요합니다’ 대해 알아봅시다.


나를 바꾸는 법을 통해 우리가 어떻게 습관을 만드는지, 습관을 바꾸는 것이 왜 그토록 힘든 이유에 대해 포유류 뇌에 관해 설명합니다. 




습관의 특징은 에너지와 머리를 쓰지 않으며, 뇌와 감정 충주에 편안함을 줘 다른 일에 집중하게 해주는데요. 포유류 뇌의 사명은 우리를 안전하게 지키고 에너지를 절약하는 것입니다. 그 이유는 강력한 신경망을 만들고 유지하며 습관으로 행동을 자동화합니다. 가장 자주 반복하는 행동에 대해 강력한 대뇌 네트워크를 만드는 것입니다. 


감정을 변화시키려면 왜 그런 감정을 갖게 되는지, 그런 감정들이 우리에게 말하려는 것이 무엇인지, 행동이 감정에 어떤 영향을 주는지 이해해야 합니다. 감정은 주로 포유류 뇌에서 만들어지지만, 그것을 조절하거나 억제하는 것은 인간 뇌의 가장 똑똑한 부분인 전전두피질입니다.


재충전할 시간이 필요하다. 좋은 수면 습관, 영양가 있는 음식 섭취, 신체 활동 등 뇌 가소성이 높아지는 방법으로 명료한 사고를 할 수 있습니다.




당신의 뇌는 변화가 필요합니다에선 각 상황에 맞는 예시를 제시해줍니다. 현재 나쁜 습관에 대해서 좋은 습관으로 변경하는 과정을 설명하고 있습니다. 앤드류의 삶을 통해 변해가는 습관을 눈으로 확인하는데요. 또한 뇌를 바꾸는 Q&A를 통해 현재 자신의 습관에 대해 돌아볼 수 있습니다. 


효과적인 커뮤니케이션을 통해 전전두피질을 충분히 재충전하고 편도체를 안정화 시킵니다. 그리고 상대의 이야기를 경청하는 이마고 이론, 거울 반응, 검증, 공감과 같은 편도체를 안정시키는 커뮤니케이션 방법을 찾을 수 있습니다. 




저자는 삶에 발생하는 대부분의 문제는 우리가 현실을 받아들이지 않고 진정한 모습이 아닌 바라는 모습에 따라 계획을 세우기 때문이라고 말합니다.

이 방법은 길을 잃는 확실한 방법이라 당신이 누구인지 그리고 당신의 뇌가 어떤 모습인지 발견해야 한다고 합니다.


당신의 뇌는 변화가 필요합니다 저서를 통해 다가오는 23년에는 더 도움이되는 습관을 발전시키고 변화를 이루는 계획을 세우시길 바랍니다.


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
파이썬 라이브러리를 활용한 텍스트 분석 - 텍스트에서 통찰을 이끌어내는 98가지 자연어 처리 전략
젠스 알브레히트.싯다르트 라마찬드란.크리스티안 윙클러 지음, 심상진 옮김 / 한빛미디어 / 2022년 10월
평점 :
장바구니담기


파이썬을 바탕으로 AI개발은 이세돌과 알파고 대전 이후 많은 분야에서 투자도 하고 인력도 늘리는 추세이다.


비단 강화 학습뿐만 아니라 자연어 처리 등 다양한 분야에 기대가 큰 상황 속에 꾸준히 관심을 두는 분야는 텍스트 부분인데요.

텍스트 분석을 처음 접하는 분들에게 추천해 드릴만한 책이 있어서 소개해드리려고 합니다.


바로 ‘파이썬 라이브러리를 활용한 텍스트 분석’입니다.


이 책은 뉴스 등 텍스트 데이터 분석할 방법들이 상세히 서술돼 있어서 초보자분들도 쉽게 이해할 수 있습니다.

그럼 두 가지 정도로 요약해 보도록 하겠습니다.




1) 데이터 수집 > 데이터 전처리 > 데이터 분석 > 시각화

데이터 처리를 할 때 제일 어려운 부분은 분석할 데이터가 없는 것입니다.


그럴 때 다른 곳에서 몰래 가져와서 쓰면 저작권에 위배될 수도 있어서 꺼림직하죠.


데이터를 관리하는 분이나 분석할 때는 어떻게 수집할지 있는 데이터를 어떻게 가공할지 생각을 많이 하는 게 중요합니다.


어떻게 생각을 할 수 있을까요?

이 책을 통해서 보면 데이터를 추출하는 개념부터 API 등에서 가져오는 방법까지 상세히 설명해 줍니다.


전체 사이클 한번 보는 것과 안 보는 것은 개념을 잡는 데 있어서 큰 차이가 납니다.


전체적인 그림을 이 책을 통해서 분석이 처음인 분들에게 추천합니다.




2) 영어 참 좋지만, 여긴 ‘한국’

이 책에 아쉬운 점은 한국어에 대한 분석이 없는 점입니다.


세계 공용어라 영어로 된 분석 자료들은 즐비합니다.


논문들만 봐도 한국어로 된 좋은 논문을 찾기 어려운 것처럼 말이죠


하지만, 한국에서 비즈니스를 할 때 어순 문제, 말뭉치 문제 등 이슈가 크게 다가올 것입니다.

그러한 점들은 차차 영어로 된 베이스에서 텍스트 분석을 해보시면서 맥락을 이해하시고 다양한 데이터들을 수집한 후 도전해 보시면 쉽지는 않지만 노하우가 쌓이겠다고 생각합니다.




Ps

오랜만에 텍스트 분석에 관련된 책을 읽었는데요.

다양한 라이브러리를 쓰는 방법을 잘 설명해 주고 있어서 좋았고 코드 들도 쉽게 작성돼 있어서 실습하기 편했습니다.


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


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
소프트웨어 아키텍처 The Hard Parts - 분산 아키텍처를 위한 모던 트레이드오프 분석
닐 포드.마크 리처즈.세막 데그하니 지음, 이일웅 옮김 / 한빛미디어 / 2022년 10월
평점 :
장바구니담기


개발하면서 저연차 때에는 크게 고민을 할 일이 없는 것이 있는데요.

바로 아키텍처입니다.

대부분 각 팀의 팀장이나 아키텍처 등 설계하는 사람들이 있어서 대부분 큰 틀은 내려주기 때문이죠

일하다 보면 내려준 아키텍처보다 내가 생각한 아키텍처가 좋은데 왜 그걸 안 했을지 의문인 적도 있었습니다.

막상 실무에 업무를 하다 보면 내가 생각이 짧았다고 하면서 이런 깊은 뜻까지 있다니 하면서 머리를 친적도 있습니다.

어느덧 직접 설계를 내려야 할 때가 되고 시스템 직접 핸들링을 하는 단계가 최근에 되어서 고민이 많습니다.

그러던 중 한빛미디어에서 ‘소프트웨어 아키텍처’란 책이 나왔습니다.

이 책은 정말 매운 맛입니다.

매운맛에 의미를 알아보도록 하겠습니다.




1. 맵지만 당기는 책

한번 읽어서는 절대 이해되지 않습니다. 매운맛에 중독된 사람처럼 그 맛을 잊지 못하고 다시 읽게끔 만드는 마성의 책인데요.

한번 컨택한 분산 아키텍처를 끝까지 만들고 싶은 욕망에 가득하기 때문입니다.

도메인별로 어떻게 나누는 방법과 패턴들을 정리해보면서 정말 계속 읽게 됩니다.

또한 직접 같이 일은 안 하지만 등장인물들이 대화를 통해서 시스템의 상황을 알려줘서 간접적으로 이해하는 폭이 넓어졌습니다.




2. 실무와 매우 유사

대부분 아키텍처 책들은 큰 범위가 누가 만들고 왜 만들고 어떻게 사용하는지까지는 말을 해줍니다.

하지만 그 이후 가장 중요한 문제점들에 대해서 쉽게 찾기는 어려웠습니다.

직접 실무에서 부딪히고 깨지면서 각 아키텍처의 문제점을 찾은 기억이 있습니다.

이 책은 베스트 핏을 찾기보다는 차선과 그 너머 최선의 트레이드 오프를 찾는 여정이라고 봅니다.

전작에서의 이론 개념과 이 책으로 실무의 기술까지 익히면서 아키텍처의 감을 잡는 데 큰 도움이 됐습니다.




PS

막상 해보기 전에는 모든 일들이 어렵다고 봅니다.

그 어렵다는 생각의 벽을 넘으면 더 큰 산이 보이고 그 산을 넘어야 발전한다고 생각하는데요.

아키텍처의 산을 함께 같이 올라 보실래요?



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo