본문 바로가기

전체 글

(171)
리버스 엔지니어링 기드라 Ghidra 실전 가이드 소스코드가 없는 환경에서 타깃 분석할 때 사용하는 기술을 리버스 엔지니어링이라고 합니다. 이 책은 그 방법에 대해서 설명하고 있습니다. C언어와 어셈블리 언어를 다루게 됩니다. 개발을 오래한 중고급 개발자 또는 이러한 분야에 관심이 있는 분들에게는 도움이 되는 책입니다. 그리고, 이 책의 목차를 보면 알겠지만 개발 연차가 낮은 주니어가 보기에는 힘들 수도 있습니다. 책이 900페이지에 달하는 것만큼 입문편과 실전편까지 한 번에 볼 수 있어서 기드라에 대한 기본기를 잡을 수 있습니다. 기드라가 중심이긴 하지만 C와 어셈블리 언어를 다루는 만큼 하드한 내용들입니다. 그만큼 이 책의 희소 가치는 크고, 이러한 내용이 필요한 분들에게는 큰 도움이 되는 내용입니다. 이 책의 코드와 소스는 C와 어셈블러 입니다. ..
이야기로 다가가는 HTML 서평 IT 기술서적을 많이 보고 있지만, 이러한 성격의 책은 처음 봅니다. 아주 기초가 되는 개념인 HTML 을 여러 서사를 통해 풀어나가는 이 책은 비전공자, 전공자 할 것 없이 가볍게 읽기 좋은 책입니다. 이론 설명과 실습 코드의 패턴에 지치고, IT 히스토리에 관심이 많은 분들이라면 가볍게 읽을 수 있을 것 같습니다. 중고생 학생들까지 봐도 될 정도의 눈높이고, 문체가 편하게 서술되어 있어서 피곤할 때도 재밌게 읽을 수 있는 책입니다. 이 책을 보고난 뒤 HTML 파일을 보니깐 뭔가 좀 더 친숙하고 구조가 더 잘 들어오는 느낌입니다. 실제, 이야기가 가지는 힘은 개발에서도 유효하다고 생각합니다. 개발자라면 머리 식힐겸 보라고 권해주고 싶고, 코딩은 모르지만 개발에 관심있는 누군가라면 그 사람에게도 한 번..
머신러닝을 활용한 웹 최적화 서평 책에서 다루는 머신러닝 알고리즘은 통계학에 대한 공부가 어느정도 되어있지 않다면 굉장히 낯설수 있습니다. 수학과는 거리가 멀다면 알고리즘에 대한 이해가 쉽지 않습니다. 사전 지식이 받쳐주지 않는다면 알고리즘에 대한 이해는 좀 더 다양한 자료를 구글링을 통해 보고 필요하다면 수학 공부도 하면서 이해한다면 좋을 것 같습니다. 책에서 다루는 알고리즘들에 대해 컨셉과 배경 등을 설명하지만 공식에 대한 이해는 사전 지식어 없다면 힘들 것입니다. 수학에 대한 지식이 부족하여 수식을 이해하려고 하기보다는 해당 알고리즘의 목적이나 컨셉, 적용 상황 그리고 구현 코드 위주로 살펴볼 수 밖에 없었습니다. 수학을 싫어하는 웹 개발자가 보기에는 난해할 수도 있을 것 같았습니다. 내용 자체는 흥미로웠고, 다루는 내용들이 추후 ..
DNS 실전 교과서 리뷰 [제이펍에서 IT전문서 리뷰어 이벤트 진행을 위해 제공 받은 도서 리뷰입니다] 우선, 주니어 개발자나 예비 개발자에게 크게 도움이 되는 책이다. 예전에 기술 면접을 볼때 DNS 에 대한 기본적인 질문에 막힌 적이 있었는데 면접 만이 아니라 인프라에 대한 이해를 높이는 것은 개발을 하는데 많은 도움을 준다. 본인이 비전공자 출신의 주니어 개발자이거나 개발자로써 취업준비를 하고 있다면 이 책이 큰 도움이 되는 것은 자명하다고 본다. 이 책의 장점은 페이지마다의 도식화가 잘되어 있다. 도식화를 통한 설명이라서 머릿속의 구조도가 잘 그려진다. 또한, 용어별로 정리를 잘해놓은 것도 도움이 된다. 나의 경우, API 를 개발하면서 DNS 에 대한 개념이 약하다보니 선배 개발자들과 이야기할 때 종종 이해를 놓치는 경..
혼자 공부하는 SQL 리뷰 1. 책의 외면(편집, 용지, 폰트 색상 등) 책의 편집과 흑백이 아닌 파란색의 컬러 인쇄, 그리고 폰트 색상 등이 아주 선명해서 책에 들인 공이 굉장하다고 생각된다. 내용을 얘기하기 전에, 책의 표지나 책에 사용된 용지, 폰트의 선명함 등은 크게 박수만할 책이다. 주로 외서 번역본 등을 보다가 이러한 책을 보면 출판사에서 얼마나 책에 신경을 썼는지 알 수 있다. 2. 책의 내용 우선 도식화와 비유 등의 설명이 이해되기 쉽게 잘 나와있다. 확실히 혼공 시리즈는 쉬운 설명과 이해하기 쉬운 도식화가 늘 감탄이 나온다. 챕터별 마지막에는 요약과 문제 등을 통해 공부한 내용을 점검할 수 있게 해준다. 앞에서 말한 책의 외면이 워낙 좋아서 눈에 더 잘 들어오고 이해도 쉬운 편이다. 3. 책을 추천하고 싶은 사람 ..
머신러닝 디자인 패턴 리뷰 "한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다." 우선, 이 책은 머신러닝에 대한 사전 지식과 가병누 프로젝트 경험이 있는 분들에게 적합합니다. 업무 경험은 아니더라도, 캐글이나 데이콘 같은 대회를 1,2개 나간 경험이 있다면 좀 더 와닿을 것 같습니다. 즉, 현실 데이터를 이용해서 어떤 결과를 머신러닝 알고리즘으로 만들어보려고 시도한 경험이 있다면 이 책의 보기 적합한 수준이라고 생각합니다. 또한, 이 책에서는 쿼리문과 keras, tensorflow2 에 대한 소스코드가 나옵니다. 그러니, 이에 대한 어느정도 문법을 이해한 상태여야 책을 좀 더 잘 이해할 수 있습니다. (저자에 의하면) 책은 최신 알고리즘 등을 다루지 않습니다. 학계를 위한 책이 아닌 기업에서 머신러닝 엔지니어를 하고 있..
"코드 크래프트" 서평 - 저연차 개발자에게 권하고 싶은 책 우선 이 책은 저연차 개발자들에게 도움이 많이 될만한 책이다. 예비개발자들도 보면 좋겠지만, 아무래도 일을 통해 개발을 하는 사람들이 좀 더 피부로 많이 와닿을 것 같은 내용들이 많은 것 같다. 개발을 하면서 협업을 하면서 생각하게 되는 고민들에 대해 다루고 있다. 이 코드의 예외처리는 어디까지 잡아야할까? 네이밍은 이정도면 다른 개발자도 알아 듣겠지? 일단 대충 하드코딩하고 나중에 리팩토링 해야지... 등등 이런 고민을 나같은 경우에는 코드를 작성하면서 매번하게 된다. 중요한 부분이고 가끔은 회피하고 싶어서 러프하게 해버리는 나쁜 습관을 가지고 있어서 더 좋은 개발자가 되기 위해서는 이러한 부분에 확실한 원칙을 정하고 습관을 잡을 필요가 있다. 추후, 오픈소스 프로젝트에도 참여하면서 본인의 성장과 함께..
제대로 배우는 수학적 최적화 "한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다." 먼저 이 책에 대해 들어가기에 앞서서 이 책을 보려는 사람들은 이산수학, 미적분, 선형대수학에 대한 사전 지식이 어느 정도 있는 상태에서 봤으면 한다. 안그러면 각 챕터별로 부족한 지식을 여러 자료를 통해서 보충하면서 봐야할 것이다. 이 책은 프로그래밍과 딥러닝 등에서 기저에 깔려있는 수학적 문제들에 대한 본질적인 부분을 파고들어서 해결을 하는 데 초점을 맞춘 책이다. 대학에서 교재로 사용하기 좋아 보이는 책이다. 책에서 다루는 문제들과 해당 알고리즘에 대한 구조도이다. 이 부분에서 본인의 기초 지식이 부족하거나 하는 부분은 스스로 보안을 해서 이해해야할 것이다. 꽤 다양한 수학적 문제를 다루지만, 비전공자인 나에게 비선형계획법 등은 쉽지 않..
파이토치 딥러닝 프로젝트 모음집 서평 최근, 파이토치에 대한 좋은 책들이 많이 나오고 있다. 오늘은 그 중에서 "파이토치 딥러닝 프로젝트 모음집" 이라는 책을 살펴보자. 1. 책의 특징 1) 각 코드마다 세세한 추석이 다 달려있다. 대부분의 라인마다 주석이 달려있어서 파이토치에 대한 기초가 부족하더라도 코드를 음미하면서 무슨 뜻인지 생각하기 좋은 책이다. 물론, 뒤에 챕터로 갈수록 앞에서 비슷하게 사용된 코드의 주석들은 조금 덜 달리고 새로운 api 가 나오거나 기법이 나오면 이러한 부분에 주석이 달린다. 그러니, 앞에서부터 착실히 본다면 라인바이라인으로 이해하기 좋다. 2) "코드 단위의 목적 - 코드 주석" 데이터 전처리 - 모델 구축 - 학습 - 평가 등의 단계를 거치는 프로세스에 맞게 각 챕터별로 프로젝트에서 어떤 단계에 있는지 목차..
스파크를 이용한 자연어처리 리뷰 "한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다." 파이썬과 딥러닝 프레임워크로 자연어처리를 어느정도 한 사람으로써 spark 를 통해서 자연어처리를 한다는 것은 신선한 주제였습니다. 하지만, spark 와 Sparknlp , java 버전의 호환 문제로 인해서 일부 api가 작동하지 않는 문제가 있어서 아쉬운 부분입니다. 그렇기에, 로컬보다는 저자가 준비한 colab 파일을 이용해서 코랩에서 실습을 진행하는 것이 좋을 것 같습니다. (로컬 실습 기준)데이터 엔지니어링 도구들은 특히나 의존성 문제로 인해 api 작동이 안되는 문제가 비일비재한데 이 책 역시 그러한 문제에서 벗어날 수 없었습니다. 우선, 설치한 뒤 일부 api 가 실습 도중 java 버전으로 인해 작동하지 않는 것 같아서 jav..
텐서플로 라이트를 활용한 안드로이드 딥러닝 "한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다." 이 책에 나온 실습을 제대로 하려면 자바와 파이썬에 대한 지식이 어느정도 필요합니다. 둘 중에 하나만 갖추고 있다면 다른 언어에 대한 지식을 가진 동료와 함께 이 책을 함께 보면서 실습하는 것이 좋습니다. 개인적으로는 안드로이드 개발자가 읽기에 더 좋은 책이라고 느껴집니다. 이 책에서 사용하는 텐서플로우 코드는 간단하기에 기존 안드로이드 소스에 이를 더하기가 훨씬 수월한 것으로 보입니다. 그래도 인공지능에 대한 지식이 아예 없을 경우, ai 엔지니어에게 물어보면서 실습을 하거나 함께 보는 게 더 낫긴합니다. 그렇다고 파이썬과 자바의 높은 수준을 요구하는 코드들은 아닙니다. 기본기만 갖춰져 있다면, 이해하고 실습하는데 전혀 어렵지 않습니다. 이..
실무 예제로 배우는 데이터 공학 (제이펍) 서평 "제이펍에서 책을 제공받아 작성된 서평입니다." 이번 시간에는 데이터 엔지니어링에 대한 책에 대한 리뷰를 진행하겠습니다. 데이터 엔지니어링에 쓰이는 툴에 대한 책들은 간간히 있지만 이렇게 종합적으로 다룬 책은 국내에 많지 않기에 굉장히 반가웠습니다. 저자가 말하는 책의 독자는 위와 같습니다. 파이썬을 업무에서 활용하거나 공부를 하고 있고 '데이터'를 이용한 직무를 희망한다면 이 책이 큰 도움이 될 것으로 보입니다. 책에 대한 챕터들의 간략한 소개입니다. 이제, 1장을 조금 보겠습니다. 1장에서는 데이터 파이프라인에 대한 흐름을 설명하면서 어떤 도구들이 사용되는지 알려줍니다. 설명과 도식화가 잘되어있어서, 이쪽 파트가 궁금했던 저에게는 흐름을 잡는데 굉장히 유용했습니다. 항상 팀에서 카산드라, 엘라스틱 서..