2012년도 대문 편애한 시각


매일 로또 생각하는 사람의 머리속에 어서오세요.



졸업작품... 공돌이 인생

현재진행중인 졸업작품입니다. 안드로이드요요보드에 안드로이드핸드폰에 연결해서 영상을 보면서 조종이 가능합니다. 거기다가 자동조종도 가능하게 만들 예정입니다.

수동으로 조종하는것은 어찌어찌됬지만 자동조종은 좀 빡세네요.

교수님이 어렵다고 하지만, 사실은 그다지 어려운것은 없습니다. 안드로이드 기능에서 이더넷과 카메라는 기본지원이 되니 다른것은 신경쓸것이 없으니 말이죠.

돈좀 빵빵하게 받고, 코딩쟁이도 몇몇 더있으니면 좀더 대단하게 만들수 있지만 이게 한계...




이번 프로젝트주제: 임베디드 프린터서버 리눅스와 C



이번 프로젝트주제로 임베디드 프린터 서버를 할지 말지 고민중이다. 사실 Qt를 사용하는것도 프린터를 조금은 쉽게 이용할수있는 측면이 있어서 하는것인데 꾀나 단시간안에 가능할지 불가능할지도 불투명하지만 말이다.

다행인것은 Qt라이브러리 안에 프린터와 관련된 클래스가 존재하기는 하지만, 드라이버 구축에 실패하면 말짱황이니 뭐...

거기다가 졸작과 취업의 압박과 동시에 조원들이 어느정도 해줄지도 불투명한 상황이고 말이다. 프로젝트를 학생치고는 여러번 진행하면서 늘 느끼는 것은 어찌어찌하다보면 된다는것이지만, 이거 뭐. 실력은 없는주제에 눈만 높아지니 참으로 자랑스럽다.

그래도, 성공하게 되면 나는 지금까지 해왔던 프로젝트중에서 가장 어렵고 대단한 프로젝트를 완료하는것이 된다. USB프린터 연결에 네트워크기능, 보드자체에서 pdf파일을 출력하는 기능까지 구현하는것까지 대단히 할일이 많다. 완료가 된다면 이번에는 정말로 누구한테도 자랑해도 될만한 성과가 나오는것이니 말이다.

물론, 완성되는지가 관건이지만  -,.-






리눅스 Qt 컴파일하기 리눅스와 C


예전에 언급한적이 있는데 Qt는 다양한 플랫폼을 지원한다. 이러한 분위기에 맞춰서 윈도우응용프로그램만큼 다양한것은 아니지만 Qt로 작성된 응용프로그램중에 소스코드를 공개를 해놓은곳이 생각보다 많다. 그렇다면 소스코드의 분석이나 실행을 위해서 컴파일이 필요하게 된다. 리눅스에서 기본적으로 배포되는 소스파일을 컴파일 하기위해서 make를 사용하는데 Qt또한 이것과 크게 다르지 않지만 미묘하게 다르다.




1.소스코드다운
아래의 주소로도 가능하고 찾아보면 많이 있을것이다. 일단은 아래의 주소로 소스코드를 다운로드 한다. 라이센스는  GPL이나 BSD등이 있는데 학생입장에서는 뭘쓰든지... 일반적으로 프로그램 사용이 무료이니...예로 사용하기 위해서 qPEditor를 다운로드 받았다.받고서 압축을 풀자
http://qt-apps.org/

2.Makefile작성
Qt에서 특별한 프로젝트 파일은 바로  *.pro 파일이다. 열어보면 몇줄없기는 하지만 컴파일이나 프로젝트를 통채로 편집할때 필요한 파일이다. 아래의 과정은 Qt에서 제공되는 qmake로 Makefile을 생성하는것이다.  qPEditor의 INSTALL파일을 읽어보면 알겠지만 이것은 조금 특별하게 몇가지를 더거쳐야 한다.

#cd /root/download/qPEditor
#qmake qPEditor.pro
#make
#rm qPEditorPlugin/Makefile
#rm qPEditorLib/Makefile
#qmake
#make install


3.실행


qPEditor/examples/DesignerExample에 있는 실행파일을 실행하면 된다. 컴파일이 잘된것인지는 잘모겠지만 중요한것은 임베디드 Qt도 문제없이 컴파일이 가능하다 엄청좋다. 그냥 Qt만 설치했을 뿐인데말이다. 실감이 안가면 x86이나 i686코드를 arm용으로 컴파일 해보기를 추천한다. 참으로 사람이 할짓이 아니다.




우분투 리눅스 안드로이드 요요라이브러리 추가하기(android ioio library export) 리눅스와 C


안드로이드폰에 연결하여 온갖장치를 간단하게 추가할수 있는 안드로이드요요입니다. 국내수입업체에서는 문서를 많이 제공해주기 때문에 쉽게 안드로이드 악세사리를 만들수 있다던데 그건다 개소리고 씹새끼들은 안드로이드에서 제공되는 예제의 인스톨파일인 .apk를 이용해서 인스톨후에 보여주는 것입니다. 제공되는 문서에서는 윈도우에서 진행한것으로 보여지는데요.  저는 우분투 환경에서 해서 그런지 안되더군요. 아래는 안드로이드요요의 프로그래밍에 필요한 라이브러리를 추가해줘서 요요프로그래밍을 할수있게 하는 방법입니다. 아래는 pdf로 만든 문서입니다.제가 컴파일했던 jar파일도 첨부하였습니다.  마지막으로 국내수입업체들은 9만원에 판매하는데 외국에서는 3만원입니다. 그냥 3개정도 주문하면 외국이 더쌉니다.





1)아파치 ant 다운로드
http://ftp.daum.net/apache//ant/binaries/apache-ant-1.8.3-bin.tar.gz

2)android IOIO 라이브러리 다운로드
https://github.com/ytai/ioio/wiki/Downloads

3)압축해제
두가지 파일의 압축을 해제시켜줍니다.

4)ant 압축해제후에 alians 지정
말그대로 ant 실행파일에 별명을 짓는것입니다. sdk/tools 에 있는 android에도 지정해줍니다.
#alias ant=/root/download/apache-ant-1.8.3/bin/ant
# alias android=/root/android-sdk-linux/tools/android


5)android 업데이트
sdk에 빌드준비를 시키는 과정이라고 생각됩니다???
p옵션뒤에는 IOIO의 라이브러리중에 하나인 IOIOLib의 경로를 지정해줍니다. 뒤에 IOIOLibBT도 같은 맥락에서 진행시킵니
다. --tartget은 안드로이드 sdk의 버젼입니다. 2.3은 android-10 이더군요.
# android update project -p /root/download/IOIOmamger/IOIOLib --target android-10
# android update project -p /root/download/IOIOmamger/IOIOLibBT/ --target android-10

6)ant를 이용한 빌드
쉘을 IOIO의 라이브러리 디렉토리에 이동시킨후에 alias를 지정한 ant를 이용하여 (디버그라고 쓰고 컴파일이라고 읽는)컴파
일을 시키는 과정입니다. IOIOLib,IOILibBT 두가지의 라이브러리를 컴파일을 하는것이 목적입니다.
#cd IOIOLib
#ant debug
#cd ..
#cd IOIOLibBT/
#ant debug

7)import를 위한 준비
/IOIOLibBT/bin와 /IOIOLib/bin에 있는 classes.jar 파일들의 이름을 변경시켜줍니다. 별다른 의미는 없고 다른 클래스 묶
음인 jar파일인데 이름이 같아서요.

8)프로젝트에 추가시키기
기존의 메뉴얼과 비슷하게 IOIO라이브러리에 존재하는 예제의 프로젝트를 import합니다
다음으로 위와 같이 프로젝트를 우클릭하여 “properties”, 한글
이라면 “프로젝트 설정”을 클릭해줍니다.


다음으로 기본적인 설정인 안드로이드 라이브
러리를 추가해줍니다. 저는 2.3입니다.


마지막으로 Add Exterenl Jars을 통해서 컴파일을 했던 jar 파일들을 import 시켜줍니다.
이렇게 함으로서 기본적으로 제공되는 예제프로젝트가 컴파일이 가능하게 됩니다.


우분투: 윈도우 xp 멀티부팅 리눅스와 C



윈도우 xp를 하드디스크의 일부에 설치 -> 우분투 설치


상딩히 쉽죠? 다만 순서를 반대로 할경우가 있습니다. 그때에는 설치된 우분투에서 grub의 복구준비를 하셔야 할겁니다.


grub가 통채로 날아가는거 같아서 말이죠. 복구준비는 저도 전문가가 아니기 때문에 모른다는...







Qt-install 과정 리눅스와 C


원본입니다

Qt-install 과정
 
/opt/s5pc1xx/cross/armv7a/bin

ln -s arm-s5pc1xx-linux-gnueabi-addr2line arm-linux-addr2line
ln -s arm-s5pc1xx-linux-gnueabi-ar arm-linux-ar       
ln -s arm-s5pc1xx-linux-gnueabi-as arm-linux-as       
ln -s arm-s5pc1xx-linux-gnueabi-c++ arm-linux-c++      
ln -s arm-s5pc1xx-linux-gnueabi-c++filt arm-linux-c++filt  
ln -s arm-s5pc1xx-linux-gnueabi-cpp arm-linux-cpp      
ln -s arm-s5pc1xx-linux-gnueabi-g++ arm-linux-g++      
ln -s arm-s5pc1xx-linux-gnueabi-gcc arm-linux-gcc      
ln -s arm-s5pc1xx-linux-gnueabi-gcc-4.3.3 arm-linux-gcc-4.3.3
ln -s arm-s5pc1xx-linux-gnueabi-gcov arm-linux-gcov     
ln -s arm-s5pc1xx-linux-gnueabi-gdb arm-linux-gdb      
ln -s arm-s5pc1xx-linux-gnueabi-gdbtui arm-linux-gdbtui   
ln -s arm-s5pc1xx-linux-gnueabi-gprof arm-linux-gprof    
ln -s arm-s5pc1xx-linux-gnueabi-ld arm-linux-ld       
ln -s arm-s5pc1xx-linux-gnueabi-nm arm-linux-nm       
ln -s arm-s5pc1xx-linux-gnueabi-objcopy arm-linux-objcopy  
ln -s arm-s5pc1xx-linux-gnueabi-objdump arm-linux-objdump  
ln -s arm-s5pc1xx-linux-gnueabi-ranlib arm-linux-ranlib   
ln -s arm-s5pc1xx-linux-gnueabi-readelf arm-linux-readelf  
ln -s arm-s5pc1xx-linux-gnueabi-size arm-linux-size     
ln -s arm-s5pc1xx-linux-gnueabi-sprite arm-linux-sprite   
ln -s arm-s5pc1xx-linux-gnueabi-strings arm-linux-strings  
ln -s arm-s5pc1xx-linux-gnueabi-strip arm-linux-strip

///////////////////

1) ubuntu host
#tar zxvf /mnt/hgfs/nshare/qt-embedded-linux-opensource-src-4.5.3.tar.gz 
#cd qt-embedded-linux-opensource-src-4.5.3/
#./configure -prefix /qt4/qt-arm -embedded arm -little-endian -release -no-largefile -no-accessibility -no-qt3support -qt-zlib -qt-gif -qt-libpng -no-libmng -qt-libjpeg -no-nis -no-cups -qt-freetype -depths 16,24,32 -qt-mouse-linuxtp -qt-mouse-tslib -plugin-mouse-tslib 
#make
#make install
#cp /qt4/qt-arm/plugins/mousedrivers/libqtslibmousedriver.so /qt4/qt-arm/lib/
#cp -R /qt4  /nfsroot/RootFS-S5PC100/
file mousecalibration
qmake -project
qmake
make
2)at arm board
/home/root/
vi .profile
export TSLIB_TSDEVICE=/dev/input/event1
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_CALIBFILE=/etc/pointercal
export QWS_MOUSE_PROTO=tslib:$TSLIB_TSDEVICE
source .profile


몇줄 추가하자면 각각의 플랫폼마다 다른 방식으로 컴파일을 진행해야합니다. 그렇지만 아마도 configure로 Makefile을 만드는 옵션은 참고할만 할겁니다.

우분투에서 make menuconfig error시에 대처 리눅스와 C


이번 총선.... 편애한 시각





아직 세상이 살만하나 봅니다. 

FTA반대 하시던게 

대부분 농민분들이라는거 생각하면 참...




아아 멋진 나라



IT학원 다니지 마라 공돌이 인생




만약에 당신이 IT전문학원을 검색하다가 이글을 본다면 행운일지도 모른다. 이유는 읽다보면 느낄것이다.

2010년 12월이었다. 나는 당시에 군을 제대하고 한학기를 마친상태였다. 당시에 나는 지난학기중에 자신의 기술이 한참 뒤떨어진다는 생각을 했었고 이것을 만회해볼 생각으로 IT학원을 찾아 나섰다. 당시에 IT학원을 다니는것에 대해 주변에는 어느 누구도 아는 사람이 없었고 무작정 가장편한 방법으로 인터넷을 뒤지기 시작했다.

그렇게해서 ITBank에서 상담을 약속하고, 종로에 있는 그먼곳까지 지하철을 타고서 상담을 받았다. 그당시에는 겨울방학이 막시작된 시기로 많은 학생들이 상담을 받고있었다. 물론 나도 그중에 하나였다.

상담을 해주는 사람은 자신을 학생 매니져라고 하며 학생들이 공부에 힘든점이나 애로사항을 해결해준다거나 학습진로를 열과 성의를 다해 지도해준다고 했다. 그렇게 상담을 받았을때에 요주는 "IT분야가 수요가 많으니 공부만 열심히하면 취업할수가 있다"였다. 

지금도 참으로 보잘것없는 기술을 지녔지만 그당시에는 자신이 얼마나 보잘것없는 기술을 가졌는지도 몰라서 그렇게 멍하게 설명을 듣고서 하도 빨리빨리 해야된다고 하길래 200만원을 결제했다. 여기까지는 좋았을지 모른다. 그렇지만 다음이 문제였다. 지금도 그렇지만 원래 관심분야가 리눅스여서 리눅스1,2교육과정을 수강했다. 리눅스는 아는사람은 알겠지만 CUI(명령어를 주로사용하는 인터페이스)를 기본으로 사용해서 평소에 GUI(클릭으로 주로 해결하는 인터페이스)를 사용하는 일반인게 어려움이 있었고  당연히 배운지식이 어떤것인지 감도 못잡았다. 지금 생각해보니 당연했다. 리눅스라는 운영체제는 사용자가 하나하나 조정하는 운영체계로서 운영체제에 대해 정밀하게 아는것이 필요했는데 배워도 모르는것이 당연했다. 물론 나뿐만 아니라 수강하는 인원중에 자신과 비슷한 상태의 사람들이 여럿있었고 지금 생각하면 아주간단한 내용이지만 그것을 소화하는 사람이 많지않았다.

그렇게 리눅스1,2를 수강하고 다음으로 자바를 수강했다. 다행히 나는 당시에도 C/C++을 배운덕에 프로그래밍에 어느정도 익숙한편이여서 자바과정은 조금은 쉽게 수강할수있었다. 그렇게 여유가 생기니 주변에서 수강하는 인원들이 눈에 들어왔다. 자바가 상당히 간단한 언어임에도 제대로 이해하지 못하는 인원이 과반수였다.

이렇게 수업을 제대로 소화하지 못하는 인원중 몇몇은 그잘난 매니져에게 도움을 요청하는 사람들이 있지만, 매니져는 그들에게 관심이 없었다. 이유는 나중에 알게된것이지만 매니져들의 목적은 학원의 수업료를 받는것이지 결코 수업에 못쫓아가는 인원들을 다독여주고 이끌어주는것이 아니기때문이다. 들은 바로는 매니져들은 수업료중에 일부를 임금으로 받는것으로 알고있다.

따라서 만약에 당신이 그들에게 상담을 받으면 최대한 길고긴 과정으로 인도하여 돈을 뜯어낼것이다.

그렇게 해서 나는 학원에 대한 안좋은 느낌과 그곳에서 지향하는 웹프로그래밍쪽은 적성에 안맞는다는것을 느끼고, 돈은 제대로 돌려받지 못했지만 그곳을 나왔다.

그뒤에는 비트스쿨이라는 학원에서 기업맞춤교육과정이 있다고 해서 시험을 보러간적이 있다. 이것은 처음부터 그냥 한번 시험봐본적이 있었는데, 그때에 원장면접을 진행했었다. 인상이 깊었던적은 지원자 대부분은 그곳학원의 학생이 아니었지만 한명은 그곳 학원의 학생이었다. 원장은 그학생이 부적합하다고 하며 나를 포함해서 불합격시켰지만, 그학생은 자신의 상담내용과 다르다며 구걸하다 싶히매달리는것이었다.  이것은 학원측에서도 상담실수로 인정되는 부분이었지만 학원에 돈을 지불하면서 구걸까지 해야되냐는 생각하게 했다.

여기까지가 나의 IT학원에 대한 경험담이다. 서론이 아주 길었다. 당연하지만 학원들의 목적은 수강생들의 돈이지 수강생들의 취업이 아니다. 현재에 취업난으로 일본IT취업이나 관련업계취업을 미끼로 많은 학원들이 수강생을 모집하고 고액의 수강료를 받고있다. 문제는 어디라도 취업이 되면 다행인데 학원에서는 전적으로 책임을 지지않는다. 다른말로 돈만받고 정작 중요한것을 해주지 않는것이다. 물론, 이렇게 까지 부정적으로 볼것만도 아닌게 ITBank의 강사들은 학생들에 대해서 상당히 걱정을 많이 해주고 수업에 대해서 신경을 많이 써주었고 내가 부정적인 느낌을 가지면서 학원을 다니게 하는 이유이기도 했다.

그렇지만, 취업이 안된다고 비전공자중에서 IT업계에 취업한다고 고액의 수강료를 지불하며 아무런 성과가 없는 사람이 얼마나 많을것인지 생각하기 어렵지 않다. 또한 취업이 된다고해도 어떠한 업체에 취업이 될것인지 보장할수 없다. 어찌보면 당연한것이다. 컴퓨터에 대해 자세히 배운적이 없는사람이 갑자기 공부를 시작해서 웹프로그래밍만 해도 방대한 지식을 요구하는데 전문가가 되서 취업을 하는것은 참으로 가능성이 없는 일이기 때문이다. 자바과정만 해도 그렇다. 자바를 한달안에 마스터하고 바로 응용분야인 서블릿으로 이어지는 교육과정을 비전공자가 제대로 소화할턱이 없다. 당장에 필요한 언어가 자바뿐만 아니라 xml,sql, html,ccs등 한두가지 언어가 아니니 말이다. 거기다가  웹프로그래밍에 필요한 자바의 클래스들을 공부는 단시간에 끝나는것이 불가능하다.

문제는 이러한 학원들이 한두개 아니라는점이다. 지역에 곳곳에 생겨나고 있으며 온오프라인으로 광범위하게 광고를해서 여러사람을 끌어들이고 사람들을 속이고 있다. 당연한것이겠지만 고액의 연봉이나 취업은 몇년간 꾸준히 공부를 하지않은 이상 불가능하다. 그들이 모두 사람들에게 사기를 친다고 확신을 못하지만, 학원들을 실태를 본것이 안두번이 아니여서 이글을 올린다. 혹시라도 수강을 한다면 신중하게 생각하기 바란다. 





1 2 3 4 5 6 7 8 9 10 다음