Rupaus's Channel. 위치로그  |  태그  |  방명록
Programming 에 해당하는 글9 개
2008/09/16   리눅스 티셔츠 챠트 (2)
2008/05/08   어셈블리 (4)
2007/09/02   gnex 분할 컴파일 유틸리티
2007/07/09   Linux On Playstation3 (4)
2007/04/09   구글 가제트 (4)
2006/07/20   그래 함 해보자. (2)
2006/07/18   2차원 동적배열 할당
2006/07/08   변종 등장. (2)
2006/06/17   exmodul 프로세스와의 혈투. (7)


[PREV] [1] [NEXT]
리눅스 티셔츠 챠트
Programming | 2008/09/16 20:07
2008/09/16 20:07 2008/09/16 20:07
사용자 삽입 이미지


다들 야식 줄이고 운동합시다.
크리에이티브 커먼즈 라이센스
Creative Commons License

트랙백0 | 댓글2
이 글의 관련글(트랙백) 주소 :: http://www.rupaus.com/blog/trackback/125
ㄹ모군 2008/09/25 00:48 L R X
야근은 안 하지만...
운동은 정말 필요함. ㅠㅠ
Rupaus 2008/09/26 11:37 L R X
운동해서 오래오래 살아야죠..

아이디 :
비밀번호 :
홈페이지 :
  비밀글로 등록
내용 :
 



어셈블리
Programming | 2008/05/08 12:52
2008/05/08 12:52 2008/05/08 12:52
이거 배워야 하는가?

나에게는 정말 심각한 고민중 하나였다.


가장 큰 고민은 저걸 배우게 되면 프로그래머에서 벗어날 수 없다는 알수 없는 공포.
(난 이제 굶어 죽어도 이걸 계속 해야만 된다)
좀 안다고 어셈도배로 인한 코드 관리의 폐혜.
게임 개발 따위는 안중에도 없는 시스템 프로그래머로의 전향.

지금 생각해보면 허접스런 고민들이였지만 저 때에는 나름 진지했었다.


게임파크에서 일할 때에 어셈을 익히게 되었는데 정말 고생했었다.
그래도 몇달 삽질하고 나니 좀 눈에 익숙해지고 머리도 조금씩 트이더라.


몇개 프로젝트에 부분적으로 적용도 해보고 하면서 여러가지를 많이 느꼈다.

내가 어셈을 배우고 나고 써보면서 드는 생각은
프로그래머라면 반드시 어셈을 배워야 한다고 주장한다.
배우고 나니 알겠더라.

어셈을 프로젝트에 사용하는게 중요한 것이 아니고 어셈을 배우고 익히면서
얻게되는 지식과 프로그램 코드를 바라보는 시점이나 생각의 폭, 방식이 달라진다.

직장이 그런 환경이 되어주어서 반억지로 공부했지만 요즘이야 이미 cpu와 gpu는
미친듯한 클럭으로 동작하고 한두클럭 싸움이 아닌 유지보수와 무결성에 대한
이슈가 더 크기 때문에 공부하기가 만만치 않을것이라 생각된다..

그래도 주장하고 싶다. 여유가 있다면 꼭 한번 공부해보라고.

그리고 정말 언젠가 반드시 디버깅시에 도움을 받는 일이 있을 것이다.

더욱이 프로그램을 바라보는 관점과 생각의 폭이 넓어진다는 것이
어떤 느낌인지 알 수 있을 것이라 확신한다.
크리에이티브 커먼즈 라이센스
Creative Commons License

태그 :
트랙백0 | 댓글4
이 글의 관련글(트랙백) 주소 :: http://www.rupaus.com/blog/trackback/113
ㄹ모군 2008/05/09 11:03 L R X
어라? 스킨이 바뀌었네요?
rupaus 2008/05/10 00:41 L R X
태터에서 택큐로 업글도 했죠.
xevious7 2008/05/22 13:11 L R X
흐흐흐.. 어셈을 할때는 화학자가 된 기분이 들지
그나저나 해상도 너무커서 1024x786쓰는 나는 이거 좌우스크롤도 해야되는;;
rupaus 2008/05/23 16:31 L R X
앗. 1024해상도 쓰시는군요.
....... ...... 전 좁은게 적응이 안되서..ㅠ_ㅠ

아이디 :
비밀번호 :
홈페이지 :
  비밀글로 등록
내용 :
 



gnex 분할 컴파일 유틸리티
Programming | 2007/09/02 10:03
2007/09/02 10:03 2007/09/02 10:03

한 코드를 계속 잡고 있으면 머리 회전도 느려지고 짜증도 나고 싫어진다.

이 때 해주는건 오래 안걸리는걸 잠깐 만드는 것.
유틸리티 정도가 딱이다. 하다보면 욕심이 많이 나는데 이건 알아서 자제해야 된다.

그래서 이번에 만든 것이 지넥스 컴파일러.
SDK안에 IDE환경이 제공되긴 하지만 솔직히 개발에 쓰고 있으면 난 짜증난다.

코드가 길수록 느려터지는 에디터. 빌드 시마다 무조건 Rebuild all. 제대로 집어내지 못하는 디버거.

컴파일이 콘솔프로그램으로 만들어져 있어서 따로 할 수 있을 것 같았다.

일단은 UltraEdit + Batch file 의 조합으로 나가보기로 했다.

그런데 문제는 컴파일러와 링커의 파라미터가 도큐먼트로 제공되지 않았다.
게시판에 공개된 내용이 있긴 하지만 ide에서 디버깅이 가능한 dgs파일을 생성해야 하기 때문에 메뉴얼이 필요한데 없다.

그래서 IDE를 컴파일 시켜둔 후 프로세스에서 컴파일러와 링커를 호출할 때 스냅샷을 찍어 파라미터들을 캡쳐해 냈다. (절대 어려운 것 아님)

그래서 파라미터들을 얻어내고 적용했다.

UltraEdit이 워낙 괴물같은 에디터라 별문제 없이 붙었다.
배치파일도 파라미터 값을 아는 이상 어려운 것이 없고...

그리고 이제 오브젝트 파일과 소스 파일의 마지막 모디파이 시간을 적용해서 자동으로 안된것만 컴파일 한 후 링킹해야 한다.

가물가물한 배치파일 명령어와 웹을 뒤져가면서 하다가 결론적으로 배치 파일의 기능 한계의 문제로 때려치고 유틸리티를 만들었다.

기능은 별거 없다.

1. gnx (IDE에서 사용하는 프로젝트 파일)을 읽어들여 소스 파일 리스트를 얻어낸다.
2. 빌드를 누르면 오브젝트 파일과 소스파일 시간을 비교하여 필요한 것만 컴파일
3. 링킹 완료 후에 IDE를 통하여 디버깅

단순한 만큼 어려운 것은 없었지만 콘솔 출력 내용을 가져오는걸 해보지 않아서 좀 애먹었다.
특히 올바른 검색 단어를 찾기까지 좀 짜증까지 나고...

다 만들고 적용하니 나름 뿌듯. 머리도 상쾌.
다만 삽질하느라 예상시간보다 4,5배 걸려버린 것이 문제점.


진행중인 프로젝트인 관계로 가린 것들이 좀 있음.

크리에이티브 커먼즈 라이센스
Creative Commons License

트랙백0 | 댓글0
이 글의 관련글(트랙백) 주소 :: http://www.rupaus.com/blog/trackback/89

아이디 :
비밀번호 :
홈페이지 :
  비밀글로 등록
내용 :
 



Linux On Playstation3
Programming | 2007/07/09 16:58
2007/07/09 16:58 2007/07/09 16:58
이 포스트는 PS3에 리눅스를 설치하고 구동에 성공하여 프로그래밍을 통해 이미지 파일을 화면에 띄우기까지의 진행 정리입니다. 따라서 진행에 변경이 있을 시 매번 갱신되서 최근 등록으로 올라옵니다.



플레이스테이션3는 Yellow Dog Linux를 설치하면 리눅스 머신으로 사용될 수 있다고 합니다.
아직 SPE가 2개밖에 잡히지 않아 풀 스피드를 낼 수 없고 개발 라이브러리 또한 부족합니다.

허나 미약하나마 PS3의 Cell Processor의 가속을 받는 라이브러리는 존재한다고 합니다.
앞으로 계속 지원하는 것이 늘어날테니 기대를 해봐도 좋을 것 같습니다.
더욱이 합법적으로 해볼 수 있는거라 혹시나 하는 문제에 대한 A/S도 별로 걱정이 없습니다.

YDL은 Terra soft solutions에서 제작하고 있습니다. 페도라 코어입니다.
(http://www.terrasoftsolutions.com)

ftp에 들어가 4기가에 육박하는 이미지 파일을 받았습니다.





- 2007년 7월 9일.

무사히 PS3에 ydl 설치 완료. 설치하는 법은 너무도 간단하기 때문에 따로 적지 않겠습니다.
yellow dog linux ps3 만 구글에 검색하면 쭉쭉 나옵니다.
테라 소프트 홈페이지에도 자세히 설명되어 있습니다.

그럼 원래 목표인 프로그래밍을 시도해 보았습니다.
기본적으로 CELL이라는 것은 PPE와 SPE라는 것으로 연산이 나누어져 있고
PPE 1개에 SPE8개가 붙어있으며 EIB (Element Interconnect Bus) 로 서로 통신을 하게 됩니다.
EIB는 메인 메모리와 그래픽, IO와 붙어 있습니다.

PPE는 PowerPC Processor Element (PPE) 로 64비트 파워피시 아키텍쳐로 되어 있습니다.
SPE는 Synergistic Processor Element (SPE) 로 8개의 SPE가 멀티미디어계로 동작합니다.
Cell은 8개의 SPE를 제대로 써야 무시무시한 성능이 나옵니다. (라고 스펙설명에 되어 있습니다.)

어차피 ps3 linux는 opengl도 막혀있고 기존의 PowerPC용 리눅스를 컨버트 한 PPC입니다.
CELL SDK가 있긴 하지만 제대로된 PS3개발은 불가능합니다.

그래서 ibm홈페이지의 간단한 예제를 확인해 보는 것으로 마쳤습니다.

ppe에 사용될 코드를 작성합니다. 코드의 내용을 보면 spe에 쓰래드 개념으로 할당하여 동작을 요청하게 됩니다. 즉 spe에서 계산되 오는 내용들을 ppe에서 효율적으로 처리를 해야 제대로 된 성능이 나오는게 아닐까 합니다.



이번 예제에서 실제적인 계산을 처리해 주는 spe의 코드입니다. ppe에서 입력받은 데이터를 가지고 spe가 계산하여 넣어주게 됩니다. 저곳에서 나오는 mfc는 Memory Flow Controller의 약자로 mfc를 통하여 DMA통해 메인 메모리에 전송되게 됩니다.



컴파일 과정과 결과 입니다.
spu-gcc로 spe를 컴파일 후 ppe에서 가져다 쓰는 형태로 컨버트 하게 됩니다. 그리고 난 뒤 ppe를 컴파일 하게 되어 사용합니다.

후에 좀 더 ydl이 업데이트가 되서 그래픽도 가능하게 되면 몇가지를 시도해 볼 생각입니다.
지금은 구조 이해하고 생각해보는데만 벅차군요.

시도는 여기까지 입니다.


- 2007년 7월 11일
크리에이티브 커먼즈 라이센스
Creative Commons License

태그 : , ,
트랙백0 | 댓글4
이 글의 관련글(트랙백) 주소 :: http://www.rupaus.com/blog/trackback/81
ㄹ모군 2007/07/09 20:33 L R X
게임이 부족하니 이런 방법으로...?
Rupaus 2007/07/10 21:52 L R X
후후후
슴갈 2007/07/11 19:52 L R X
저희 쪽에서는 이미 PS3를 게임기가 아닌 Cell 테스트용 타겟으로 저렇게 사용하는 부서가 있습니다. R님의 글을 읽다보니 이쪽도 살짝 땡기기 시작하네요.
Rupaus 2007/07/12 01:06 L R X
아무래도 Cell의 탄생 목적은 단순히 PS3에서만 사용되고 마는게 아니니 많이 쓰여지지 않을까 합니다.
Cell의 능력을 극대화 시킬 수 있는 범용 라이브러리와 제대로 컴파일을 해주는 컴파일러 개발이 안정되면 많이 쓰여질 것 같습니다.

아이디 :
비밀번호 :
홈페이지 :
  비밀글로 등록
내용 :
 



구글 가제트
Programming | 2007/04/09 18:37
2007/04/09 18:37 2007/04/09 18:37
위젯 유틸리티로 야후를 쓰다가 이녀석이 리소스 차지하는게 좀 커서 지우고
네이버로 바꾸었다.

-_-

편하긴 한데 나한테는 편의성이 안맞는다.

그래서 구글 데스트톱을 설치하였는데 데스크톱 색인 기능 [중지]가 없다.
15분 멈춤은 있는데 중지가 없다. 왜...

옵션에서 검색 다 끄고 가제트를 설치했다.
맘에 드는게 없다. 기본적인 시계와 날씨 그리고 메모를 띄워놓았다.

SDK를 받았다.

....
........


원래 만들어서 붙이려고 했던 기능을 만들었다.

...........................

구글 왜이래...

참고 20분 더 했다.


언인스톨.
결국 다시 야후 위젯으로 돌아왔다.

근본적으로 야후 위젯이 가지고 있는 컨텐츠의 질과 양에서 게임이 되질 않는다.
(내가 못찾아서 설치 못한건지는 몰라도)

다시 야후 위젯으로 만들어야 겠다.
크리에이티브 커먼즈 라이센스
Creative Commons License

태그 : ,
트랙백0 | 댓글4
이 글의 관련글(트랙백) 주소 :: http://www.rupaus.com/blog/trackback/66
ㄹ모군 2007/04/09 19:31 L R X
근데 만들고 싶은게 뭔데요...?
rupaus 2007/04/10 00:40 L R X
일종에 타이머에요. 시간들을 좀 체크하려고...
ㄹ모군 2007/04/10 20:56 L R X
역시 프로그래머는 좋군요...
나도 다시 C언어나 공부해볼까....
그나저나 타이머라고 하니까 예전에 병특 시계가 문득 떠오르는...
rupaus 2007/04/11 11:09 L R X
위젯이나 가제트는 java를 쓰긴 하는데 간단한거면 기존거 보고 대충 감으로 만들어도 되요. c처럼 철저하게 데이터형을 따지지 않고 자유스러운 부분들이 많아서...

현재 공개되어 업로드된 위젯이나 가제트들의 소스도 바로 볼 수 있기 때문에 편해요.

아이디 :
비밀번호 :
홈페이지 :
  비밀글로 등록
내용 :
 



그래 함 해보자.
Programming | 2006/07/20 15:29
2006/07/20 15:29 2006/07/20 15:29


그래 시바 함 해보자. 어디까지 가나 나도 궁금해진다.
크리에이티브 커먼즈 라이센스
Creative Commons License

태그 :
트랙백0 | 댓글2
이 글의 관련글(트랙백) 주소 :: http://www.rupaus.com/blog/trackback/15
슴갈 2006/10/22 21:13 L R X
음.. 저는 며칠 전에 스팸 메일의 첨부 파일을 실수로 열었다가 이와 같은 것에 걸렸습니다. 구글님께 물어 보았더니 해결책을 제시해 주시더군요.

http://bfccomputerhelp.com/ar/t919.htm

여기에 있는 내용 중에 Ewido Anti-spyware 라는 것을 설치해서 문제를 해결하라는 것이 있는데 그것을 그대로 따라 했더니 문제가 해결되었습니다. 국내 스파이웨어에서는 잡지 못하던 엄청 많은 것들이 걸려 나왔습니다.... -_-;;;
rupaus 2006/10/24 10:49 L R X
저도 지금 안철수 연구소의 제품을 쓰고 있긴한데 받아서 돌려보니 상당히 많이 나오는군요.

이전에도 안철수에 스파이웨어로 의심되는 것들을 많이 리포팅 했었는데 금방금방 업데이트가 안되더라구요.

지금은 딱히 문제되는게 없어서 그냥 쓰는 중입니다.
결재도 해버렸고 (.....)

아이디 :
비밀번호 :
홈페이지 :
  비밀글로 등록
내용 :
 



2차원 동적배열 할당
Programming | 2006/07/18 16:49
2006/07/18 16:49 2006/07/18 16:49
BYTE ( *pbData ) [ 0xFF ];
int iDataAmount = 0xFF;
pbData = new BYTE [ iDataAmount ] [ 0xFF ];

delete [] pbData;
BYTE **ppbData;
int iDataAmount = 0xFF;
int i;
ppbData = new BYTE * [ iDataAmount ];
for ( i = 0; iDataAmount > i; i++ )
{
  ppbData [ i ] = new BYTE [ 0xFF ];
}

for ( i = 0; iDataAmount > i; i++ )
{
  delete [] ppbData [ i ];
}

delete [] ppbData;
BYTE **ppbData;
int iDataAmount = 0xFF;
int i;
ppbData = ( BYTE ** ) malloc ( sizeof ( BYTE * ) * iDataAmount );
for ( i = 0; iDataAmount > i; i++ )
{
  ppbData [ i ] = ( BYTE * ) malloc ( sizeof ( BYTE ) );
}

for ( i = 0; iDataAmount > i; i++ )
{
  free ( ppbData [ i ] );
}
free ( ppbData );

오늘 일하다가 2차원 배열을 쓸 일이 있어서 하다가...
순간 얼어버림.
....... 어떻게 하는 거였지.

이래저래 시도하다가 최종적으로 저 두가지 방법으로 쇼부.
잊어먹지 않기 위해. 그리고 공부좀 하자는 각인을 위해 쪽팔림을 무릅쓰고 올립니다. -_-

공부좀 하고 살자.
맨날 이게 머니 .ㅡㅡ;;

더 안좋은 버릇이나 방식들도 있지만 그것까지 까발렸다가는 채용안해줄거 같아서 안적습니다. 흑흑.

크리에이티브 커먼즈 라이센스
Creative Commons License

태그 :
트랙백0 | 댓글0
이 글의 관련글(트랙백) 주소 :: http://www.rupaus.com/blog/trackback/14

아이디 :
비밀번호 :
홈페이지 :
  비밀글로 등록
내용 :
 



변종 등장.
Programming | 2006/07/08 01:53
2006/07/08 01:53 2006/07/08 01:53
아 이노무자식들이 변종을 만들어 내다니...













케케케케케케케케 (´∀`)






무난하게 캐치.


루틴 추가.
if ( -1 != stringProcessName.Find ( "exmodul" ) || -1 != stringProcessName.Find ( "modul" ) )



크리에이티브 커먼즈 라이센스
Creative Commons License

태그 :
트랙백0 | 댓글2
이 글의 관련글(트랙백) 주소 :: http://www.rupaus.com/blog/trackback/9
ㄹ모군 2006/07/10 13:46 L R X
근데 대체 어딜 다니길래 저런걸 걸리는거죠? --
Rupaus 2006/07/13 06:11 L R X
각종 XXXXX YYYYYY ZZZZZZ 사이트들이에요.

아이디 :
비밀번호 :
홈페이지 :
  비밀글로 등록
내용 :
 



exmodul 프로세스와의 혈투.
Programming | 2006/06/17 18:43
2006/06/17 18:43 2006/06/17 18:43

이놈때문에 정말 한참을 고생했다.
안철수에 신고도 해보고 쓸모없는 프로그램도 다 지워보고 레지스트리 정리도 해보고...

이녀석이 내보이는 증상이 어느순간 프로세스에 올라가서 cpu를 99로 잡아먹는다. 99로 잡아먹어서 프로세스 죽이는데도 한참 걸리기 때문에 뭘 하는 건지는 잘 모르지만 아마도 네트워크로 뭔가를 하는 듯 하다.

그건 그렇고...

불규칙하게 등장하는 이녀석을 이때까지는 참아가면서 작업관리자로 10분 20분 걸려 죽이다가 문득.












옵져버를 만들어서 프로세스를 죽이자.







이미 이놈때문에 오만 짜증이 난 상태라 앞뒤 잴것도 없이 바로 제작.
알고리즘 구상은 10초만에 끝났다. (별거 없다는 이야기...)


원리는 간단하다.
1. MFC생성.
2. 타이머로 1분마다 프로세스 리스트를 감시
3. 타겟 프로세스가 활성화 되면 죽인다.
4. exe파일을 제거.
opt. 리치에디트에 진행상황 알려줌.


한가지 걱정된 문제가 있긴 했었다. 그 프로세스를 죽일 수 있는 권환이 될 것인가.
이건 그 프로세스가 뜰 때까지 기다려야 하니 넘어가고...


다 만든후에 퇴근...



다음날 출근하여 모니터를 켰다.














!!!!!!!!!!!!!!!!!!!!!!!!!!!!
















크하하하핫!






내가 이때까지 만들어온 어플리케이션 보면서 이만큼 쾌제를 부른건 없었다.
아..... ㅠ_ㅜ 프로그래머이길 잘했다는 생각이 간만에 들었다.


한가지 덧붙이자면 네이버 KIN에 증상을 해결할 수 있는 글이 있다.
아키를 만들기 전에 글을 발견했지만 등장할 때 마다 죽이고 싶어서 무시하고 진행했다.
본인과 같은 증세로 시달리시는 분은 글보고 따라하면 금방 고칠 수 있다.
크리에이티브 커먼즈 라이센스
Creative Commons License

태그 :
트랙백0 | 댓글7
이 글의 관련글(트랙백) 주소 :: http://www.rupaus.com/blog/trackback/2
MicroDev 2006/06/18 10:32 L R X
안녕하세요.
xxexmodul32.exe 는 바이러스? 아님
개발한 app인가요??
Rupaus 2006/06/19 08:22 L R X
xxexmodul32.exe는 바이러스인지 스파이웨어인지 확실히는 모르겠습니다. 왜 안철수연구소에서도 해결을 안하고 있는지도 모르겠구요.

당연 xxexmodul32.exe는 제가 만든건 아닙니다.^^;
Neto 2006/06/19 13:02 L R X
아..프램머들은 이런게 젤 부러워...
옛날 팝폴더 자동 다운 프램같은...
매크로 프램 만들어서 돌릴 수 있으니...
Rupaus 2006/06/19 17:15 L R X
조금만 배우시면 할 수 있어요.
30일 완성 씨리즈라던가...... ...... .......
noeejang 2006/06/20 13:13 L R X
오오오오 ....
xevious7 2006/06/20 22:19 L R X
이런 어려운 바이러스에 감염되는 비결은 무엇일까 어떤 사이트를 다니는거냐...
Rupaus 2006/06/21 13:02 L R X
저도 경로를 알고시퍼요...ㅠ_ㅜ

아이디 :
비밀번호 :
홈페이지 :
  비밀글로 등록
내용 :
 



[PREV] [1] [NEXT]
관리자  |   글쓰기
BLOG main image
<< 개념없는 채널 >>
전체 (138)
Life (33)
Work (18)
Programming (9)
Animation (7)
Game (36)
Music (3)
Movie (2)
Drama (7)
Etc (11)
Entertainment (10)
세가 파이널판타지 이진매 Mousotron 도트 오르가즘 두통 메신저 던전앤파이터 백업 울티매니아 XNA 마담밍 아스피린 종이컵 역전검사 exmodul 컴퓨터 아키바 철권5DR 나츠메 나나 마우스 quad 아이엠샘 playstation2 천재 집들이 야겜 아이돌마스터 던파 아유미
고민에 고민중
유목민 (6)
살아있습니다.
미국에 다녀옵니다. (1)
파이널 판타지 : 디스턴트 월... (4)
진짜 오래간만의 글이네요.
2011 - ㄹ모군
이 댓글을 바로 봤다면 "제가...
2010 - 물독
흐흐.. 지금은 정리했습니다....
2010 - rupaus
저희 집 앞에 버려 주시면 감...
2010 - 물독
보관 공간이 제일 힘들 것 같...
2010 - rupaus
Total : 271912
Today : 7
Yesterday : 36
태터툴즈 배너
rss
 
 
 
위치로그 : 태그 : 방명록 : 관리자
rupaus’s Blog is powered by Tattertools.com / Designed by plyfly.net