아토믹 코틀린 - 코틀린 컴파일러 개발자가 알려주는 코틀린 기본기 87
브루스 에켈.스베트라나 이사코바 지음, 오현석 옮김 / 길벗 / 2023년 3월
평점 :
장바구니담기


자바 공화국인 한국에서 코틀린으로 전향하는 케이스가 많아지고 있습니다.

특히 모바일 안드로이드는 테크기업들 기준으로 신규 프로젝트는 대부분 코틀린 기반으로 개발하고 있습니다.

또한 레거시들도 점차 코틀린으로 변화합니다.


그 이유는 비동기 로직을 중 코틀린의 코루틴 사용하기 때문인데요. 기존 자바에서는 Rx를 사용하거나 콜백 등으로 코드가 복잡해져 이해가 어려워집니다.

그러한 부분들을 코루틴 사용하게 되면 심플합니다.


또한 함수형 언어의 특성상 많은 코드 부분이 간결해집니다.

반면 코틀린에서 삼항 연산자가 없어서 when, if else를 이용해서 구현하는 케이스도 있습니다.


이러한 이점들 속에서 코틀린에 대해 자세히 알고 싶어졌습니다.

코틀린 직접 만든 개발자가 책을 썼는데요.


바로 ‘아토믹 코틀린’ 입니다.


이 책에 대해서 2가지로 요약해서 정리하도록 하겠습니다.




1) 자바에서 코틀린

앞서 설명한 것과 같이 안드로이드뿐만 아니라 백엔드 개발에서 이동을 많이 하는 추세입니다.

대표적으로 webflex를 구현할 때 코틀린으로 초기에 구축하게 되면 소스코드가 상당히 축약됩니다.


이 책에서는 자바에서 코틀린으로 넘어가는 팁들과 관련된 예제들을 인텔리제이를 통해 알려주는데요.

기존의 코틀린 책들은 A -> B라는 개론 형식이라면 이 책은 실습을 기반으로 어떤 변화가 있는지 알 수 있습니다.





2) 라이브 코딩 및 면접 준비

자바 공화국이지만 빅테크에서 대체적으로 코틀린으로 많이 넘어가고 많은 트러블 슈팅을 하고 있습니다.


자바에 대한 질문과 더불어 코틀린에 대한 질문들도 많이 받는데요.

이 책에 87가지의 설명들이 길지 않아서 면접을 준비하는데 요약하기 편합니다.

또한 실습 위주로 코드가 많아서 문법을 묻는 라이브 코딩에 도움이 됩니다.




Ps

이 책은 코틀린스럽게 코드를 작성할 수 있도록 도와줍니다.


예제와 결과를 통해 코틀린의 특성을 확인할 수 있습니다.


함수는 입력을 통해 출력을 확인할 수 있고 이해하기 쉽습니다.


코틀린의 특성을 직관적으로 이해할 수 있도록 도움 될 것입니다.


코틀린을 깊게 공부하고 싶은 분들에게 책을 추천합니다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
이것이 리눅스다 with Rocky Linux9 - 실무와 유사한 가상머신 환경에서 배우는 리눅스 서버, 3판 이것이 시리즈
우재남 지음 / 한빛미디어 / 2023년 2월
평점 :
장바구니담기


최근 리눅스의 트렌드가 급변하는 추세입니다.

업데이트 시즌이 되면 되던 게 안되고 보안 이슈 생기고 골치 아픈데 더 큰 문제는 운영체제를 바뀌어야 할 수도 있는 상황입니다.

코로나 터지고 CentOS가 레드햇(Red Hat)의 스폰서십을 받는 레드햇 엔터프라이즈 리눅스(RHEL)의 변형판이 되는 결정되는 일이 발생 했습니다.

이 일로 인해서 새로운 리눅스 배포판인 Rocky Linux가 나오게 됐습니다.

Rocky Linux는 2021년 6월에 출시된 무료 오픈 소스 리눅스 배포판입니다.

이 배포판은 CentOS의 후속 제품으로 모든 소스가 공개 되어져 있습니다.

하지만 현존하는 IT 도서중 Rocky 최신으로 나와서 알려주는 책이 없었는데요.

리눅스 대가인 우재남 님께서 이것이 리눅스다 3판에 Rocky 기반으로 책을 쓰셨습니다.

그럼, 책을 읽은 후기를 남겨 보도록 하겠습니다.




1) CentOS vs Rocky 차이점

Rocky의 전신인 CentOS는 yum을 통해서 패키지를 설치하고 업데이트합니다.

하지만 Rocky는 dnf를 통해서 패키지를 관리합니다.

이러한 점은 다른 리눅스 배포판마다 패키지 관리자들은 조금씩 다르지만, 사용하는 패키지들은 크게 같기 때문에 큰 문제라고 볼 수는 없을 듯싶습니다.

또한 디렉터리 구조도 조금 다릅니다.

CentOS 경우 /usr/local/bin을 사용한다면 Rocky에서는 /usr/local/sbin을 사용하는 것을 알 수 있습니다.

나머지는 대부분 같은 것을 알 수 있었습니다.



2) 아직은 테스트 단계

Rocky를 실무 레벨까지는 사용해보지를 않았습니다.

관련한 패키지나 도커 파일들을 전부 수정해야 하기 때문에 아직 보안 이슈들이 크지 않아서 물리적으로 당장 옮기에는 무리수라고 생각했습니다.

향후 신규 프로젝트를 Rocky로 하면서 차차 이해해보려고 합니다.

책에서는 네임 서버, 메일서버, Db, 웹서버 등 CentOS 책 등처럼 잘 되는 것을 확인했습니다.

쉽게 잘 설명해줘서 읽으면서 해당 서비스들을 만드는 데는 문제는 없을 것으로 보입니다.




PS

Rocky 나온 지 얼마 안 됐는데 벌써 책은 만들어 진정이 대단 하다고 느낍니다.

책을 보면서 세세한 설명들이 리눅스 환경을 처음 보는 사람이 Rockt를 처음 쓰는 분들에게 쉽게 이해가 될 것입니다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
자바스크립트로 배우는 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) 좋아요(3)
좋아요
북마크하기찜하기 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