리버스 엔지니어링 기드라 실전 가이드 - 유사 멀웨어로 익히는 소프트웨어 정적 분석
나카지마 쇼타 외 지음, 이창선 외 옮김 / 한빛미디어 / 2022년 1월
평점 :
장바구니담기



예전에 잉여톤25를 한다고 기드라를 잠시 써본적이 있었다. 그때는 윈도우 작업관리자 exe를 분석해서 특정한 함수들의 코드영역 비트열을 찾아서 시작 주소를 알려고 했던 것이었다.

리버스 엔지니어링이란 것을 하나도 몰랐다가 그때 이후에 조금 보면서 내가 모르는 이런 영역도 있구나 싶었다.

한빛미디어에서 좋은 기회에 기드라를 사용한 리버스 엔지니어링 책이 나와서 신청했다.



책이 일단 진짜 두껍다;;; 저자가 얼마나 하고 싶었던 말이 많은지 볼 수 있다. 이 책은 되게 실전중심이라서 예제가 엄청 많다. 챕터 한개에 예제코드가 100개 넘게 있다.. 압도적인 코드 비중이 엄청나다.

이게 그럴 수 밖에 없는게, 리버스 엔지니어링이란게 결국 디스어셈블리 해서 읽을 수 있는 코드로 만들고, 그 코드가 의미하는 바를 추적해서 분석하는거니까 코드가 많이 나올 수 밖에 없다.

이 책의 전체적인 구성은 우선 리버스 엔지니어링에 필요한 기초 지식들을 알려준다. OS나 컴퓨터 구조 수업에서 다룰만한 기초적인 내용부터 리버스 엔지니어링에 필요한 지식들을 알려준다. 초반부에는 기드라 툴 사용방법에 대해서 자세히 다루고, 다음부터 바로 구체적인 예시로 실전 분석을 들어간다.

양이 엄청 많아서 한개도 제대로 해보기 쉽지 않을 것 같다.

리버스 엔지니어링을 제대로 한번 맛보고 싶은 사람이 있다면 이책이 당연 최고일 것 같다.

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


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
개발자에서 아키텍트로 - 38가지 팀 활동을 활용한 실전 소프트웨어 아키텍트 훈련법
마이클 킬링 지음, 김영재 옮김 / 한빛미디어 / 2021년 6월
평점 :
장바구니담기




오늘 리뷰할 책은 개발자에서 아키텍트로 라는 책이다.

뭔가를 만들때 어떤 구조로 개발할지에 따라 생산성과 퍼포먼스나 여러가지 요소가 결정된다. 이 책에서는 단순 개발자에서 소프트웨어 아키텍트가 되기까지 필요한 다양한 지식들과 실무적인 방법과 노하우를 알려주는 책이다.

디자인 띵킹부터 시작해서 다양한 방법론과 사례들을 소개해준다. 그래서 그런지 생각보다 책이 그렇게 읽기 힘들지 않았고 수월하게 읽을 수 있었다.

책 구성이 좀 특이한게 약간 교과서 처럼 되어있다. 개념을 알려주고 그에 대한 평가와 사례연구들, 마지막 요약으로 구성되어 있다. 읽는데 크게 무리 없이 내용을 계속 정리해갈 수 있어서 도움되었던 것 같다.

가끔 이걸 어디서부터 어떻게 해야할지 막막할때가 가끔 있었는데, 그럴때가 생긴다면 여기서 배운 기법들을 사용해서 정리하고 설계해보면 될 것 같다.

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


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
제대로 배우는 수학적 최적화 - 최적화 모델링부터 알고리즘까지
우메타니 슌지 지음, 김모세 옮김 / 한빛미디어 / 2021년 9월
평점 :
장바구니담기



이번달에는 어떤 책을 볼까 하다가 최적화 책이 있어서 골랐다. 물론 코드를 최적화해서 똑같은 문제를 적은 메모리를 사용하도록 메모리 최적화를 한다거나, 더 높은 프레임으로 프레임 개선을 하는 것이 아니라, 수학적 최적화이다.


기계공학부 수업에는 최적화 문제(Optimization Problem) 에 관한 과목이 있었고, 나는 들어보진 않았지만 교수님과 같이 하는 연구에서 최적화 문제를 다뤘다.

그때는 그냥 아 이렇게 하면 되는구나 하면서 구현만 했는데, 정확하게 어떤 노테이션으로 수식을 적는지, 어떤 의미를 지니는지 잘 몰랐다. 어떻게 해야하는지는 교수님께서 알려주시니까 그대로 구현만 했다. 그래서 이번에 최적화 문제에 대한 지식을 얻고자 이 책을 선택했다.



책을 펼치자마자 수학적 최적화에 대한 설명이 시작된다. 수학적 최적화에 대한 개념은 꽤나 간단한 것 같다. 제약 조건을 만족시키는 목적 함수값이 최대 또는 최소가 되는 x값을 찾는 문제이다. 제약조건이나 목적함수가 가진 수식의 형태에 따라서 선형, 비선형으로 나뉘고 제약조건이 부등식인지 등식인지 그리고 미분 가능한지에 따라서도 구체적인 알고리즘이 달라진다.



정의부터 차근차근 필요한 개념들을 설명해주며 수학 기호들과 그래프들이 난무한 것을 볼 수 있다.

이렇게 다양한 분야에서 최적화 문제를 다룰 수 있다. 문제를 어떻게 fomulation할지, 어떤 파라미터를 설정할지, 어떤 제약조건과 목적함수를 둘지 정말 많은 모델링이 가능하다. 전반적인 분야들의 최적화 문제 풀이들을 보면서 지식들을 쌓아 갈 수 있을 것이다.



최적화 문제는 정말 다양한 문제에 대해서 다룰 수 있다.

딥러닝에서도 신경망들의 웨이트를 조절해갈때, 최적화 기법을 사용한다. 대표적으로 경사 하강법이 있는데, 이것 또한 최적화 문제이다.

연구하면서 대충 넘어간 수식이나 개념들을 이 책에서 다시 한번 보면서 이해할 수 있어서 좋았던 것 같다. 책은 사실 수식 투성이다. 미분이나 이산수학, 선형대수를 모르면 이 책을 따라가기 어렵다. 그래서 수학적 최적화이기도 하다. 정말 이런 수식들을 보면 좀 토나오긴 하지만.. 그래도 푸는게 아니면 대충 느낌은 온다. 풀어보진 않아서 완전히 내것이 되진 않지만, 그래도 이런 것들이 있구나 하고 알고 있는게 언젠간 도움이 될 것 같긴 하다. 이 책에서는 대표적인 최적화 문제에 대해서 전반적으로 다룬다. 그래서 다양한 부분에서 인사이트를 얻을 수 있다.

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




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
만들면서 배우는 파이토치 딥러닝 - 12가지 모델로 알아보는 딥러닝 응용법
오가와 유타로 지음, 박광수 옮김 / 한빛미디어 / 2021년 8월
평점 :
장바구니담기



이번에는 파이토치 딥러닝책을 다시 가져왔다. 요즘에는 딥러닝 쓸 기회가 잘 없어서 이쪽 정보들을 잘 모르고 지냈다. 그러다가 꽤나 다양한 모델들이 나왔고, Attention이나 BERT같은 용어들이 페이스북 텐서플로우KR에서 많이 사용되는 것을 볼 수 있었는데, 이에 대한 이해가 없었다.

그래서 최근 몇년간 나온 모델들을 파이토치로 구현한 코드와 함께 돌려보고 해설해주는 책인 이 책을 고르게 되었다.



"만들면서 배우는" 이라는 수식어가 잘 맞게 책이 구성되었다. 모델에 대한 설명 및 구조 분석, 어떻게 이 네트워크가 구성되었는지를 알려준다. 상세하게는 아니여도 한번쯤 딥러닝 공부를 해본 사람이라면 어느정도 이해할 수 있을 정도로 알려준다.

 

각 레이어가 어떻게 구성되고 파라미터들이 어떻게 구성되었는지 그림과 함께 설명해주고 이어서 파이토치 코드를 보여준다. 확실히 이런 구성이 모델을 익히는데는 좋은 것 같다. 나처럼 딥러닝에 대해서 수박겉핥기 식으로 공부해본 사람인데, 최신 모델들에 대해서 공부해보고 싶다 하면 이 책을 가지고 시작하기 좋을 것 같다. 코드나 설명등을 통해 바로 시도해보고 이해해볼 수 있으며 더 부족한건 책에 있는 참고문헌을 통해 arxiv에 올라와 있는 논문링크를 통해 논문을 볼 수도 있다.

 

 

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



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
러닝 리액트 - 최적의 리액트 코드를 작성하기 위한 모범 사례와 패턴, 2판
알렉스 뱅크스.이브 포셀로 지음, 오현석 옮김 / 한빛미디어 / 2021년 7월
평점 :
장바구니담기


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



이번에는 리액트책을 받아서 보게 되었다. 간간히 JS를 활용한 무언가를 만들때 찍먹해볼때가 있었는데, 리액트에 대한 설명은 거의 없이, 그냥 어떻게 짜면 된다~ 식으로 써먹었기 때문에, 이 기반에 대해서 잘 몰랐고 또 알고 싶어서 받아보게 되었다.


책 초반부에는 JS에 대한 기초 문법 설명이 나오고 리액트의 컴포넌트를 만드는 방법에 대해서 설명해준다. 기초적인 웹 지식은 있어야 볼 수 있는 것 같다. 리액트 컴포넌트를 만드는 다양한 방식을 설명해준다. 예를 들어서 예전에 많이 사용했던 class로 만드는 방식, 지금 많이 쓰고 있는 함수로 만드는 방식 등등을 소개해주며 어떤 것을 더 사용해야하는지와 이유에 대해서 설명해주고 있다.



이후에는 상태를 다루는 내용과 컨텍스트, 훅 등을 다룬다. 이런식으로 글과 설명을 위한 이미지, 코드와 결과가 잘 나와있어서 이해하는데 큰 무리가 없었다.



이런 식으로 어떤 기능을 사용했을때 나름의 규칙같은 것들을 알려주기 때문에 사용할때 주의할 수 있게 해준다. 그리고 장점이나 단점에 대해서도 친절하게 설명해주기 때문에 잘 납득할 수 있어서 좋았던 것 같다.

전체적으로 리액트 자체에 대해서 많이 다루고 있으며 리액트 자체에 대해서 궁금해서 리액트를 배워보고 싶은 다른 분야 개발자들에게 도움이 될 것 같은 책이다. 내용이 그렇게 막 어렵진 않아서 숙 읽히고 따라해보기 괜찮아서 읽어보기 좋은 것 같다.

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



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