리버스 엔지니어링(Reverse Engineering)이란 뭘까? 임베디드 개발을 얼마 해보진 않았지만, 그냥 나름대로 낸 생각으로는 만들어진 상태에서 어떤 과정을 거쳐 내부 동작 원리를 이해하고 분석하는 것이라고 생각한다. 물론 이게 처음 접하게 되면 무슨 내용인지 하나도 모른다. 그도 그럴게, 진짜 아무 툴도 없는 상태에서 동작원리를 알기란 쉽지 않기 때문이다. 그렇기 때문에 먼저 타겟 디바이스의 데이터 시트나 스펙을 읽고, 분석을 한다. 물론 운영체제와 같이 디바이스 상에서 돌아가는 SW의 형태도 분석하고, 그러고 나서 Trace32같은 하드웨어 디버거를 사용해서 실제 동작이 스펙에 나와있는 것과 같이 이뤄지는지를 확인하고 그 다음 과정을 거치곤 한다. 이런 모든 일련의 과정이 결국 디버깅이라는 게..
원본 : 4 essential skills software architects need to have but often don’t 작성자 : Brian Foster(본 글은 한빛미디어의 IT 기사 번역 세션에서 소프트웨어 아키텍트에게 필요하지만 종종 가지고 있지 않은 4가지. 라는 글로 게시되었습니다.) 소프트웨어 아키텍트에게 필요하지만 종종 가지고 있지 않은 4가지.- 소프트웨어 구조 내면에 대한 고찰 마이크로서비스. 지속적 출시. 리액티브 시스템. 클라우드 지향적 구조... 많은 소프트웨어 아키텍트(혹은 이를 지향하는 사람들)은 적어도 그들 사업 영역에서 형성되어 있는 최신 경향과 개발 기술에 대해 익숙함을 느낍니다. 그런 주제에 대해서 배울 수 있는 수많은 자원들이 있습니다. 책이나 온라인 비디오부..
최근 IT 트랜드가 여러 갈래가 있겠지만, 그중에서도 핫한 주제를 꼽으라면 딥러닝이 아닐까 생각된다. 나도 회사에서 하는 일이 디바이스 드라이버나 운영체제를 다루는 일이긴 하지만, 일을 하면서도 어떻게하면 딥러닝이라는 주제를 우리가 하는 일에 접목시킬 수 있는가를 계속 고민하고 있다. 물론 쉬운 일은 아니지만... 사실 불가능한 일도 아니다. 이런 기계학습이라는 주제 자체가 축적된 데이터를 바탕으로 이뤄지는 것이기 때문에 우리쪽에서도 그런 데이터 쌓이는 분야만 잘 선정하면 되는 것이다. 그리고 생각보다 이런 주제를 다루는 곳이 온라인 상에 무척 많다. 온라인 강의만 놓고 봐도 입문용 강의 중 Andrew Eg 교수의 Machine Learning 이나 Abu-Mustafa 교수의 Learning from..
원본 : https://www.oreilly.com/ideas/how-to-get-superior-text-processing-in-python-with-pynini작성자 : Kyle Gorman, Richard Sproat(본 글은 한빛미디어의 IT 기사 번역 세션에서 Pynini로 파이썬에서 텍스트 처리하기 라는 글로 게시되었습니다.)How to get superior text processing in Python with Pynini 반드시 알아야 할 Python library에 대해서 더 찾기를 원하면, 무료로 다운로드받을 수 있는 전자책인 20 Python Libraries You Aren’t Using (But Should). 을 살펴보시기 바랍니다." 기본적인 텍스트 처리를 하는데 있어서 정..
* 이 책은 베타 리딩을 목적으로 한빛미디어로부터 사전에 전달받은 후 읽은 책임을 알려드립니다. 내가 Unity를 처음 다뤄본건 2012년 Microsoft Imagine cup을 준비할 때이다. 생뚱맞게 준비에 필요한 Unity 라이선스와 키넥트용 asset을 주길래 몇달동안 이걸 사용해서 우리가 전달하려는 내용을 효과적으로 표현할 수 있을까 싶었다. 그래도 Unity가 참 편리한게 스크립트 부분과 씬 부분이 분리되어 있고, 사물 배치 같은 건 단순히 마우스 클릭만으로도 구현할 수 있었기 때문에 프로그래밍을 잘 못하는 나한테는 참 좋은 툴이었다. 다만 한계는 있었다. 아무래도 3D를 효과적으로 표현하기 위해서는 카메라의 시점이나, 사물의 배치같은 걸 전혀 고려하지 않고 보니까, 정말 어색했다. 말하자면..
이번주의 Humble Bundle은 Neogeo의 25주년을 기념하는 게임들로 구성되었다. Neogeo가 원래 SNK에서 나오는 게임들을 배포하는 플렛폼으로 나온만큼 거의 다 SNK 게임들이다. 이번 번들의 특징은 데모게임을 웹상으로 즐길 수 있다는 것이다. 그래서 해당 웹페이지의 play button을 누르게 되면 저절로 게임 데이터가 다운받아지면서 게임이 진행되게 된다. 다만 무한정 게임을 즐길 수 있는게 아니라 3분의 제한시간이 주어진다. 구입을 생각하는 사람에게는 한번쯤 즐겨볼 수 있는 기회를 주므로 한번 해보고 구입하는게 좋다. 이 번들의 특성상 BTA(Beat The Average) 원칙이 적용되는데, 위의 이미지중 중간의 초록색 글자아래의 게임들은 해당 금액 이상을 지불해야 관련 게임과 스팀..
* 험블 번들에서 배포되는 게임에 대해서 주기적으로 업데이트를 해보고자 한다. 이번달 Humble Monthly December는 총 6개의 게임이 나왔다. (현재 한국에서는 지역제한으로 인해서 결제가 안된다. 결제를 원하면 미국 paypal 계정을 사용해서 월 결제($12)를 신청해야 한다.) 1. Banished - 출시 : 2014년 2월 19일- 장르 : Strategy, Simulation- MetaCritic : 73 / 100- Steam Review : Very Positive 2. Rust (Early Access) - 출시 : 2013년 12월 12일- 장르 : Survival- Steam Review : Very Positive 3. Payday2 + Dragan Character D..
Mozart라는 언어로 짜본 Prime Function. 일반적으로 Prime function을 짜라고 한다면 제일 먼저 떠올릴 수 있는게 recursive call을 적용한게 될텐데, 이렇게 될 경우에는 결과가 stack에 쌓이면서 push와 pop을 하기 때문에 complexity가 높아진다. 하지만 위와 같이 결과도 같이 recursive call에 넘겨주게 되면, 앞에서 언급했던 것과 다르게 마지막 종료 조건에 의해서 결과가 나타나기 때문에 일반적인 recursive call에 비해서 효율적으로 처리할 수 있게 된다. 강좌에선 후자와 같은 방식을 tail recursion이라고 정의한다.
요즘 회사에서 진행하는 소프트웨어 교육에선 임베디드 프로세서와 관련된 내용을 다루고 있다. 특히 요즘 많이 쓰고 있는 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에서 나름 열심히 들었는데, 뭔가 어렵다 싶은 개념을 명쾌하게 설명한다. 강의 자료로 쓰는 거도 보면 진짜 이걸로 설명이 되나 싶을 정도 간단하게 기술되어있다. 그런 빈틈을 이 교수는 말빨로 다 채워넣는다. 한번 기계학습을 깊이있게 공부하고 싶은 사람은 꼭 한번 들..
- Total
- Today
- Yesterday
- Kinect for windows
- dynamic programming
- SketchFlow
- 강화학습
- Python
- RL
- Offline RL
- Gan
- Off-policy
- bias
- Kinect SDK
- Distribution
- reward
- Windows Phone 7
- DepthStream
- 딥러닝
- Pipeline
- Kinect
- 파이썬
- TensorFlow Lite
- Expression Blend 4
- PowerPoint
- Policy Gradient
- 한빛미디어
- windows 8
- ColorStream
- End-To-End
- arduino
- processing
- Variance
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |