딱 처음 책을 접했을 때는 뭐랄까... 그림책 같았다. 거기다가 책제목부터 다른 책과 차별성이 있는 듯했다. 일반적으로 "... 첫걸음", "Introduction to ..." 와 같이 정형화된 제목을 갖추고 있었는데, 이 책은 짧은 시간임을 강조한 "3분" 이라는 단어를 제목에 포함해 쉽고 짧은 시간안에 책을 설명하고 있다는 느낌을 주고 있었다. 뭔가 이런 부분에서는 다른 출판사에서 나오는 딥러닝 관련 서적과는 다른 나름대로의 특징을 보여줬다. 사실 이전 책 리뷰를 할때도 언급했던 부분이긴 하지만, 난 이렇게 경량화된 책이 좋다. 휴대성 부분에서나 필요할 때 언제든 들고 볼 수 있는 사이즈이기에 회사 출근할 때나 짬짬히 여유시간이 있을 때 꺼내보기가 좋기 때문이다. 물론 자세한 설명과 완벽한 예제가 ..
SNS나 주변 뉴스만 보더라도 알겠지만, 최근의 기술 트렌드는 머신러닝, 딥러닝 이런 것들이다. 우리가 알고있는 세계적인 기업들의 기술의 발전 방향도 이런 부분을 중점적으로 다루고 있다. 사실 개인적으로 봤을 때도 정말 놀라운 기술 발전이 아닌가 싶다. 과거 같으면 사람이 수동적으로 했어야 했던 일들을 이런 기술을 적용시킴으로써 자동화할 경우, 노동력도 절약할 수 있고, 사람이 할 수 있는 일을 대체할 수 있다고 생각하면 정말 놀랍고 편한 세상이 될것 같다. 그래서 주변에서 보면 정말 많은 사람들이 이에 대해 관심을 가지고 공부하고 있는 것들이 보인다. 나도 주변에서 활용할 수 있는 강의나 자료들을 통해서 계속 공부하고 있다. 최근에 Udacity에서 진행하고 있는 Machine Learning Nano..
(이 포스트는 한빛미디어에서 제공하는 "DirectX 12를 이용한 3D 게임 프로그래밍 입문"을 읽고 쓴 서평임을 알려드립니다.) 개인적으로 컴퓨터를 공부하는 입장에서 가장 난이도가 높은 분야를 3개 꼽으라고 하면 운영체제, 컴파일러, 게임을 꼽고 싶다. (개인적인 의견일 뿐 다른 분야가 더 어려울 수 있다. 내가 잘 모르는 것일 수도 있고..) 운영체제를 다루기 위해서는 하드웨어의 복합적인 동작을 알아야되고, 컴퓨터는 언어를 컴퓨터의 입장에서 봐야하기 때문에, 어렵다고 선택했다. 그리고 마지막으로 게임을 선택한 이유는 게임을 개발하기 위해서는 수학을 공부해야 되기 때문이다. 물론 사람에 따라서는 "수학이 제일 쉬웠어요" 라고 할수도 있겠지만, 3D를 표현하기 위해 내부적으로 여러 수식이 복합적으로 적..
어느덧 회사에서 개발자로 일한지 2년째가 되어간다. 아마 다른 포스트에서 소개했는지는 모르겠지만, 회사에서 하는 일은 통신 관련 소프트웨어, 그중에서도 특정 플랫폼에 올라갈 드라이버나 wrapper를 개발하는 업무를 한다. 물론 상황에 따라서는 개발 환경 구성 및 공유의 역할을 하기도 하지만 main job은 임베디드 소프트웨어를 개발하는 일이다. 회사에서 하는 일중에 개인적으로 느끼는 어려운 일을 꼽아보면 여러개가 있겠지만, 그 중에서도 디버깅이 차지하는 비중에 가장 크지 않을까 싶다. 아무래도 임베디드 소프트웨어라면 그 하드웨어에 맞는 문서를 분석하고 그에 맞게 개발해야 되는데, 말 그대로 디버깅이 필요하다는 말은 십중팔구 내가 해당 하드웨어의 스펙을 잘못 이해하고 개발했을 가능성이 크기 때문이다. ..
한번 이 글을 읽는 사람이라면 물어보고 싶은 내용이 한가지 있다. 과연 여러분은 자료구조와 알고리즘을 어떻게 배웠을까? 아마 컴퓨터 관련 전공을 가진 사람이라면 위의 책 중 하나는 읽지 않았을까 싶다. 특히 Cormen 책은 거의 알고리즘 계의 바이블 수준일 정도로 많이 읽을거라고 생각한다.(물론 아닐수도 있고, 내가 모르는 알고리즘 책이 또 있을 수 있다.) 참고로 나는 맨 밑의 책(Horowitz 책)으로 공부했었는데, 과도 컴퓨터과도 아니고, 그렇게 심도있게 배웠다는 생각이 없다. 물론 C에 대해서 잘 알기 전에 이 책으로 자료구조부터 배워서 그런지, 이 책을 처음 접할때는 뭔가 읽기도 난해했고, 재미없었던 기억이 난다. 그래도 알고리즘의 기초부터 구현까지 단계별로 설명한 좋은 책이었다고 생각한다...
리버스 엔지니어링(Reverse Engineering)이란 뭘까? 임베디드 개발을 얼마 해보진 않았지만, 그냥 나름대로 낸 생각으로는 만들어진 상태에서 어떤 과정을 거쳐 내부 동작 원리를 이해하고 분석하는 것이라고 생각한다. 물론 이게 처음 접하게 되면 무슨 내용인지 하나도 모른다. 그도 그럴게, 진짜 아무 툴도 없는 상태에서 동작원리를 알기란 쉽지 않기 때문이다. 그렇기 때문에 먼저 타겟 디바이스의 데이터 시트나 스펙을 읽고, 분석을 한다. 물론 운영체제와 같이 디바이스 상에서 돌아가는 SW의 형태도 분석하고, 그러고 나서 Trace32같은 하드웨어 디버거를 사용해서 실제 동작이 스펙에 나와있는 것과 같이 이뤄지는지를 확인하고 그 다음 과정을 거치곤 한다. 이런 모든 일련의 과정이 결국 디버깅이라는 게..
최근 IT 트랜드가 여러 갈래가 있겠지만, 그중에서도 핫한 주제를 꼽으라면 딥러닝이 아닐까 생각된다. 나도 회사에서 하는 일이 디바이스 드라이버나 운영체제를 다루는 일이긴 하지만, 일을 하면서도 어떻게하면 딥러닝이라는 주제를 우리가 하는 일에 접목시킬 수 있는가를 계속 고민하고 있다. 물론 쉬운 일은 아니지만... 사실 불가능한 일도 아니다. 이런 기계학습이라는 주제 자체가 축적된 데이터를 바탕으로 이뤄지는 것이기 때문에 우리쪽에서도 그런 데이터 쌓이는 분야만 잘 선정하면 되는 것이다. 그리고 생각보다 이런 주제를 다루는 곳이 온라인 상에 무척 많다. 온라인 강의만 놓고 봐도 입문용 강의 중 Andrew Eg 교수의 Machine Learning 이나 Abu-Mustafa 교수의 Learning from..
* 이 책은 베타 리딩을 목적으로 한빛미디어로부터 사전에 전달받은 후 읽은 책임을 알려드립니다. 내가 Unity를 처음 다뤄본건 2012년 Microsoft Imagine cup을 준비할 때이다. 생뚱맞게 준비에 필요한 Unity 라이선스와 키넥트용 asset을 주길래 몇달동안 이걸 사용해서 우리가 전달하려는 내용을 효과적으로 표현할 수 있을까 싶었다. 그래도 Unity가 참 편리한게 스크립트 부분과 씬 부분이 분리되어 있고, 사물 배치 같은 건 단순히 마우스 클릭만으로도 구현할 수 있었기 때문에 프로그래밍을 잘 못하는 나한테는 참 좋은 툴이었다. 다만 한계는 있었다. 아무래도 3D를 효과적으로 표현하기 위해서는 카메라의 시점이나, 사물의 배치같은 걸 전혀 고려하지 않고 보니까, 정말 어색했다. 말하자면..
요즘 회사에서 진행하는 소프트웨어 교육에선 임베디드 프로세서와 관련된 내용을 다루고 있다. 특히 요즘 많이 쓰고 있는 ARM cortex을 직접 조작하면서 LED나 DC motor 같이 주변기기를 직접 해보기도 하고, 프로세서내에 내장되어 있는 인터럽트 핸들러나, 타이머/카운터등을 직접 조작해보면서 과제에서 요구하는 요구사항들을 구현해보곤 했다. 사실 이 주제이전에 들었던 들었던 내용이 C Programming과 SW Engineering 쪽이었는데, 그때는 내가 원하는 함수나 기능은 그냥 구현하고 싶은대로 구현하고 잘 동작도 되었다. 그런데 이런 환경 자체가 임베디드로 넘어오면서 그대로 사용할 수도 없게 되었다. 우리가 일반적으로 쓰는 PC가 아닌, 제한된 자원과 기기들을 사용해서 원하는 기능을 구현해..
낙성대입구역 근처에는 헌책방집이 있다. 매번 학교갈 일이 생길 때마다 그 책방에 가서 뭐 살게 없나 보곤 하는데, 간혹 보석같은 책들도 찾는 느낌으로 가서 갈때마다 설레는 느낌이 든다. 어쩌면 이번 포스트에서 소개할 책도 역시 그런 보석 중 하나가 아니었을까 싶다. 사실 이 책에 대해선 사전 지식이 전무했다. 그냥 컴퓨터 관련 게시판을 가면, 소프트웨어와 관련된 직종을 가진 사람이라면 누구나 한번쯤은 읽어봐야 한다는 책 중에 이 책이 소개되어 있길래 그 헌책방에서 집어왔었고, 그게 벌써 1년 반전의 일이다. 그 시간동안 뭘 할지 갈팡질팡하다가 어느덧 소프트웨어를 다루는 직종을 선택하게 되었고, 마침 기초 소프트웨어 교육을 받던 중에 틈틈히 읽게 되었는데, 뭐랄까... 앞으로 뭔가 구조를 설계하거나 코딩을..
한달동안 읽어봤던 책에 대해서 감상평을 적어보고자 한다. 아마 안드로이드하면 기술에 대해서 모르는 사람도 "아 폰에 있는 그거?" 하면서 알 것이다. 지금 우리가 쓰고 있는 스마트폰 형태로 나오기 이전에는 지능을 가진 로봇의 형태 라는 의미를 지녔던 안드로이드라는 단어가 이제는 스마트폰을 사용하는 사람이라면 누구나 사용하고 있을 법한 운영체제를 지칭하고 있다. 뚀 요즘에는 단순히 스마트폰에만 분야를 국한한게 아닌, wearable device나 embedded system의 운영체제로써 다양한 활용 형태를 보여준다. 물론 이 운영체제가 실제로 상용화되기 이전까지는 수많은 어려움이 있었지만 막상 구글에 의해서 나온 지금은 엄청난 파급 효과를 가져왔다. 그러면 삼성이나 LG 같은 회사는 "어떡하면 이 안드로..
이책을 드디어 구했다! 작년 봄에 학교에서 기계학습 수업 들으면서도 이 책이 있었으면 얼마나 좋았을까 싶었는데 막상 졸업하고 나서 구매하고 이제 왔다. 물론 지금도 계속 통계 학습 공부하면서 참고하려고 한다. 참고로 이책은 yaser Abu mostafa 교수가 자신의 홈페이지(work.caltech.edu)를 통해서 공개했던 기계학습 강의인 learning from data의 교재다. 나도 작년에 석사프로젝트에 기계학습 좀 응용해보려고 edX에서 나름 열심히 들었는데, 뭔가 어렵다 싶은 개념을 명쾌하게 설명한다. 강의 자료로 쓰는 거도 보면 진짜 이걸로 설명이 되나 싶을 정도 간단하게 기술되어있다. 그런 빈틈을 이 교수는 말빨로 다 채워넣는다. 한번 기계학습을 깊이있게 공부하고 싶은 사람은 꼭 한번 들..
요즘의 대세 중 하나를 꼽으라면 바로 사물인터넷(Internet of Things)가 아닐까 싶다. 네트워크에만 접속해 있으면 각종 사물에 접속해서 현재 상태를 받아오고 그에 따라 사용자가 원하는 반응을 보여주는 형태가 될 것인데, 얼마전에 본것중에 이런 것도 있었다. Estimote라고 하는 iBeacon 인증을 받은 형태의 일종의 beacon이다. 간단히 말해서 이걸 설치한 장소에 대한 제어를 이 장치를 통해서 하겠다는 것이다. 예를 들어서 tag 장치를 가진 사람이 beacon에 설치된 영역에 들어가면 그 사람에게 맞는 정보를 보여준다던가 하는 것이다. 소개 동영상에도 나오지만 이 장치를 통해서 식물의 습도정도, 자전거 위치 등을 실시간으로 파악하는 것 등을 실례로 보이고 있다. 그러면 이 조그마한..
아주 오랜만에 한빛리더스 활동을 하게 되었다. 예전에 활동할 때가 5, 6, 7기였었는데 이제 어느덧 10기에 이르렀다. 그동안 나도 졸업 준비와 취업 준비를 하면서 정신이 없었고, 이제 조금 여유가 생긴 듯 해서 다시 하게 되었다. 물론 활동의 특성상 여러 분야의 책을 선택할 수도 있었지만 이번 첫 책은 내가 하던 분야랑 약간 연관이 있는 책을 선택해서 읽어보았다. (참고로 이 책은 한빛 미디어의 지원을 받아서 읽게 된 책임을 알려드립니다.) 최근 몇년 사이에 리눅스라는 이름 자체는 컴퓨터를 한다는 사람들 입사이에서 꽤 많이 오르락내리락 했던 것 같다. 물론 그보다 더 역사가 오래되었지만, 그래도 예전보다는 윈도우와 비견될 정도를 관심을 받고 있는 듯 하다. 사실 개인용 PC나 일반 사무용 PC에서 돌..
현재 내가 대학원에서 주로 다루고 있는 분야는 Many Core 기반의 Operating System이다. 사실 ManyCore 의 추세는 고성능 보다는 Load Balancing 을 통한 저전력을 추구하는 방향으로 가고 있다. 뭔가 컴퓨터의 발전이 점점 소형화, 저전력화를 추구하면서 어떻게 하면 작은 디바이스에 사람이 원하는 기능을 담느냐 하는게 우리같은 컴퓨터를 연구하는 사람들의 과제가 되기도 하고, 어쩌면 대기업에서도 상품화를 하기 위한 바로 전 단계가 될 수도 있겠다. 그런데 이런게 꼭 주변에 갖춰진 환경에서만 구현되는 것이 아니라, 일상적으로 취미로 다루는 사람들도 이제는 저렴하게 구현해볼 수 있는 시대가 왔고, 그걸 실현해주는 기기중 하나가 바로 아두이노가 아닐까 하는 생각을 해본다. 사실 얼..
- Total
- Today
- Yesterday
- Kinect for windows
- End-To-End
- Kinect SDK
- reward
- DepthStream
- ai
- Gan
- Off-policy
- Distribution
- SketchFlow
- TensorFlow Lite
- Policy Gradient
- PowerPoint
- Windows Phone 7
- 한빛미디어
- 강화학습
- Offline RL
- Pipeline
- Variance
- processing
- arduino
- Expression Blend 4
- dynamic programming
- ColorStream
- bias
- 딥러닝
- RL
- windows 8
- 파이썬
- Kinect
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |