이것이 C# 이다.

Standard

이것이 C# 이다. 최근에서 윈도우 GUI를  제작하는 프로젝트가 있어 C#을 배울 필요 성을을 느꼈는데, 알맞은 책인것 같다.

이책은 기존 뇌를 자극하는 시리즈에서 출발을 하였는데, 책의 내용이나 내용은 알찼으나 최신 C#의 문법을 배우기에는 오래 되었다는 아쉬움이 남아 있었다. 하지만 이것이 C#이라는 책은 최신 7.0 대의 버전으로 넘어온 시점에서 알맞은 책이란 생각을 한다. 가장 기본적인 형식부터 스레드, winform, 가비지 컬렉터까지 아우르는 방대한 양의 내용을 초보자가 읽기 쉽게 서술 하였고 중간중간에 나오는 그림들이 내용을 이해하기 쉽게 포인트를 집어서 설명한 것 같다. 이중에서 여기서 잠깐 이라는 부분이 있는데 이부분은 쉽게 넘어 갈수 있었던 내용들을 다시한번 간략하 설명을 함으로써 쉽게 잊어버리는 내용들이나 중요한 내용들을 다시한번 생각을 할 수 있도록 도와준다. winform 을 이용하여 윈도우 프로그래밍을 하기에는 방대한 양은 아니지만 C#을 배움으로써 연계되는 winform 의 내용들이 자연 스럽게 서술되어 어떤 방향으로 공부하면 될 것인지 알게 되었다. 인터넷을 통한 C#을 배우며 부족함이 느껴진 분이라면 반드시 이책을 구입하여 정독 하면 좋을 것 같다.

처음 시작하는 R 데이터 분석

Standard

R데이터 분석에 관해 관심을 가지고 있는 사람, 혹은 데이터를 어떻게 분석해야할지 모르는 상태에서 읽기 좋은 책인것 같다.

대용량 분석에 활용하기에는 많이 부족하지만, 데이터의 형태, 분석의 방법론을 이해하기에는 기본기가 좋은 책임에 틀림 없다.

데이터 분석을하기위하여 TXT, CSV, Excel 데이터등을 활용하여 실무에서 사용 할 수 있는 가능한 범위 내에서 설명을 잘해 놓아서 책의 내용대로 따라하다보면 어느세 데이터 분석에 재미를 느끼고 있을 것이다. 또한 공공데이터를 가지고 분석을 하는 부분이 가장 재미있게 느껴졌는데 이 예제가 데이터 분석을 어떻게 응용할수 있는지에 생각을 키워준 것 같다.

이책은 여러 처음 시작하는 시리즈와 비슷한 맥락으로 무겁지 않고 가볍우면서도 쉽게 데이터 분석을 접근 하도록 하는 책이기에 데이터 분석 입문을 하는 사람에게는 꼭 추천을 해주고싶다.

스프링5 레시피 스프링 애플리케이션 개발에 유용한 161가지 문제 해결 기법 4판

Standard

오랜만에 스플링 관련된 책을 다시 보았는데 기존에 보던 책에 비해 최신 개발 툴별로 세팅법부터 설명이 되어있다. 책의 난이도는 낮은 편은 아니나 기본 서적을 본후에 이책을 본다면 많은 도움을 받을 수 있는 책이라 생각한다. 특히 실무자들에게는 이책을 더욱 추천을 할 수 있는데 이유는 필요한 레시피 별로 구분을 해놓고 과제/해결책/풀이로 으로 구성이 되어있어 문제만 던져 놓고 풀이하는 방식보다는 해결방법을 먼저 정리하고 풀이를 보며 설명을 하는 구성으로 되어있어 책을 보는데 일기가 더욱 편하다는 장점이 있으며 많은 예제가 있으니 기본서적을 보고 스프링을 이해한 후 이책을 본다면 강력 추천한다.

Hello Coding 한입에 쏙 파이썬

Standard

프로그래밍을 아무것도 모르고 시작 하고싶은 사람에겐 가장 접근하기 쉬운책!
대게는 점프투파이썬을 인터넷에서 보고 시작 하는 경우가 많은걸 주변에서 볼 수있는데, 어느정도 프로그래밍에대한 지식이 있는 사람에겐 도움이 많이 될지 모르겠으나, 처음 시작하는 사람은 그마저도 접근하기 힘들어 하는 모습을 많이 보았다. Hello Coding 한입에 쏙 파이썬은 프로그래밍의 기본도 모르는 초보자가 읽기 편하게 그림과, 적절한 예제를 들어주며 파이썬의 기본이 잘 서술되어있는 책이다. 또한 김왼손의 왼손코딩 유투브 채널, Hello Coding 카페, 소스 코드 또한 온라인으로 제공을 해준다는 점에서 많은 점수를 주고싶다. 많은 기본 서적을 보았지만, 이처럼 쉽게 풀이된 책은 당분간은 쉽게 보지 못할것 같다. 주변에 프로그래밍에 관심이 있는 사람이 있다면 점프투 파이썬은 이책을 읽고 나서 복습하는 개념으로 파이썬을 조금더 재미있게 익히길 추천 하고싶다.

아무것도 모르고 시작하는 인공지능 첫걸음

Standard

이책을 읽는 독자는 비전공자나, 인공지능에 관심을 가지고 접근 하려는 사람에게 가장 유용한 책이 될 것이다. 막연한 프레임워크를 이용한 설명하는 책보다는 큰 틀을 가지고 인공지능이란 무엇이고, 어떻게 접근 하는지에 대해 기술한 책이기 때문이다. 이책의 특성은 독자가 물 흐르듯이 읽는 방식보다 주제를 설명하기전 독자 자신이 생각을 할 수있도록 자그만한 스텝이 준비 되어 있어 한번더 생각하며 책을 읽을 수 있도록 도와 주며, 많은 예시를 통해 인공지능과 관련된 어려운 용어 설명과, 순차적으로 인공지능의 개념을 정리 할 수 있도록 정리가 매우 잘되어있는 책이다. 입문자, 비전공자, 인공지능에 관심있는 독자에게는 가장 좋은 입문서가 될 수 있는 책이다.

9가지 사례로 익히는 고급 스파크 분석(2판) 읽기 좋은책

Standard

대량의 데이터셋을 다루는 복잡한 분석을 스파크로 사용해 보는 좋은 기회를 주는 책이다. Python, Java를 많이 사용하는데, 이 책은 스칼라 로 구현되어 살짝 당황 했지만, 스칼라 를 사용하는데 충분한 예시가 주어져 있고, 스칼라를 공부하는 계기가 된것 같습니다. 또한 스파크 스칼라로 구현 되어있기에 스파크가 조금더 친숙하게 다가 온 것 같습니다.

책의 내용은 다양한 예제로 구성되어 있고 스파크 2.0 과 1.x 버전대의 바뀐점도 중간중간 설명이 되어있어 1.x 버전대의 사용자들이 2.x 버전대로 로 책의 예제를 실행한다 하여도 생각보다 많이 불편하진 않습니다. 책의 내용이 아주 초급의 내용은 많이 설명하지 않아 초보분들이 보기에는 다소 어렵거나 이해하기가 조금 어려울 수도 있겠지만, 스파크를 활용해야하는 기회가 주어진다면, 스파크의 기본적인 구성과 이해도를 가지고 이책을 본다면 더할 나위 없는 좋은 경험이 될 수 있다고 생각 됩니다. API에 대한 설명은 없지만, 시시때때로 변하는 API와 기능은 스파크 레퍼런스를 참고하고 저자의 의도중 “스파크를 사용한 분석에 있어서 수년간은 이 책이 유용한 자료로 남아있기를 희망한다.”  라는 문구가 아주 잘 맞아 떨어져 스파크를 활용하기에 유용한 자료가 될 책임에는 분명한것 같습니다.

“<9가지 사례로 익히는 고급 스파크 분석(2판)>의 자세한 내용은 한빛미디어 홈페이지에서 확인 하실 수 있습니다.”

만들면서 배우는 워드프레스

Standard

만들면서 배우는 워드프레스
저자 : 박현우

네이버, 이글루스, 티스토리등 다양한 블로그를 통해 각종 정보를 공유하는 추세가 되면서 대기업에서 블로그를 제공하는 템플릿을 활용하기에는 많은 제약 사항이 발생한다. 사용자들은 점차 개인이 수정할수 있는 홈페이지에서 블로그로 발전하면서 직접 블로그를 코딩해서 만드는 것보다 워드프레스를 활용한 블로그를 개설하는것이 선호되는 것 같다.

다양한 플러그인 지원과 인터넷 쇼핑몰의 플러그인의 지원이 확대 되면서 워드프레스가 적합한 솔루션이라 할 수 있고 대기업에서도 많이 활용이 된다.

만들면서 배우는 워드프레스는 실전 예제의 중점으로 되어있어 사용자가 직접 cafe24를 통해 블로그를 처음부터 개설하는 방법과 플러그인, 도메인, 쇼핑몰 까지 직접 구현 할 수 있는 방법들을 제시하는 책이라 할 수있다.

또한, 만들면서 배우는 워드프레스 책은 가장 어렵고 약한 부분인 결제기능까지 설명이 잘되어있어 블로그 운영부터 쇼핑몰까지 구축 및 운영 하고 싶은 분에게 강력 추천한다.

밑바닥부터 시작하는 딥러닝

Standard

가장 핫한 딥러닝의 시대에서 개념을 잡기엔 최고의 책이라 생각한다. 인터넷의 발전으로 인한 딥러닝에 대한 정보를 쉽게 접할 수 있지만 아예 처음 부터 시작하는 사람들에게는 아직도 많이 생소하다. 이책을 시작으로 기본을 잡고 정보들을 습득한다면 이해력을 많이 향상 시킬 수 있다. 책의 가장 처음 파이썬 기초부터 시작하여 딥러닝이 무엇인지 개념 소개와 파이썬코드를 직접 작성하여 딥러닝의 맛을 볼 수있다. CNN 등 기본적인 딥러닝에 대한 개념, 함수, 최적화등 설명이 잘 되어 있고, 수학을 모르더라도 간단한 수식정도는 설명을 해주고 있고 행렬, 그래프, 이미지를 통한 딥러닝을 진행하기 때문에 책만 보고 시작 하는 것보단 실질적인 결과 추론을 할 수가 있어 하면 할 수록 할 맛이난다. 물론 TensorFlow나 딥러닝 프레임워크의 사용법은 나오지 않지만 초보자가 딥러닝이 무엇인가에 개념을 쌓기 좋고, 책 내용은 보기에 불필요한 문장들을 사용하지 않고 간결하게 구성되어 있어서 이해하기 어렵지 않다.

QT5 Lambda Signal & Slot

Standard

QT 를 처음 개발하면서 여러 개발 문서들을 보았지만, 역시나 4 버전대의 문서가 많았다. 이건 나만의 공부 방법이니 태클은 없었으면 좋겠다.

그렇게 개발을 진행을 하였으나 기능상의 제약이 많았다 특정 시그널에 (여러 파라메터를 넘기고 싶다거나..) 하여 문서를 다시 정독 하였다.

특징적으로 QT 4와 QT 5 에서 시그널의 방식은 변해있었다.

지금 부터 알아보자.

위와 같이 sender 와 reciver 에 해당하는 signal 과 slot 을 사용하여 작성된다.

본인이 직접적으로 만들어서 사용을 해도 해당 SIGNAL 이 발생 될시 SLOT으로 여러 파라메터를 넘길 수 있지만 사실상 SIGNAL 과 SLOT 을 제대로 사용을하려면 여간 번거롭고 귀찮은 것이 아니다.

 

그러면 QT5 에서 새로 추가된 SIGNAL & SLOT을 보자

쉽게 생각해서

connect(main, SIGNAL(clicked()) , this , SLOT(PPP());  가 connect(main, &MainClass::clicked, this, &MainClass::PPP) 가 되는것이다.

처음에 이 문법을 보았을땐 대체 무엇이 바귀고 왜 저렇게 써야 했는진 잘 몰랏지만 알아 본바는 다음과 같다.

새로운 문법은 컴파일 시간을 체크 할 수가 있고, 또한 그둘의 타입이 다르더라도 자동으로 인자들을 변환 할 수있고 C++11 인 Lambda 식을 추가 지원을 한다는 것이다.

자 이런 의도로 인해 새로운 문법이 나온 것이다.

이건 여간 편한점이 아닐 수 없다.

내가 정말 편하게 사용했던 Lambda 식으로는 정말 최강이었다. 구구절절 말보다는 코드를 실질 적으로 보자.

 

위 SIGNAL & SLOT 은 다음과 같다. treeView 에있는 header 를 클릭시 오름차순 내림 차순 정렬을 하는 기능이다.

여러가지 방법이야 있겠지만 간단하게 Lambda를 사용하여 SLOT을 또다시 만들지 않고 사용을 할 수가 있다.

Signal 중 sortIndicatorChanged(int,Qt::SortOrder) 을 Lambda로 인자 그대로 받아 들어왔고 Closer 를 사용하여 외부에있는 객체 자체를 가져와 바로 사용을 할 수가 있다.

즉 굳이 Slot을 사용하기 위해서 Slot을 만들지 않아도 Closer 로 인해 직접적인 호출및 작업을 할 수가 있다.

처음에 알았더라면 조금더 편하게 작업을 했을텐데 많이 아쉽다.

 

[Java] 인코딩 문자열 타입 확인하기

Standard

자바를 사용하던 어떠한 프로그램을 사용하다 보면 인코딩 문자열이 무엇인지 알수가 없을 경우가 많다.

인터넷에서 찾은 소스를 조금 활용해 보았다.

중요한것은 해당 java가 돌아가는 locale 문자열 타입 기준으로 검색을 하니 참고를 해야한다.

Windows 계열 CP949