IT 취미생활.  
Front Page
Tag | Location | Media | Guestbook | Admin   
 
'It'에 해당하는 글(34)
2022.08.19   요즘은 어때?
2010.02.22   미라지(SKT) M480 벨소리 변경 프로그램
2009.12.31   ubuntu9.10에서 VirtualBox를 이용해 Windows XP을 설치후 USB 사용하기 2
2009.12.11   Porter-Duff 개념을 한눈에....
2009.12.02   큰 실수 -_-;;;; 5
2009.10.20   [linux] 문자열 검색
2009.10.07   [java]java 기본자료형
2009.10.05   [java] java Hello World 6
2009.09.28   [책] 조엘온 소프트 웨어(유쾌한 오프라인 블로그)
2009.09.18   fatal error C1902: Program database manager mismatch; please check your installation
2009.09.18   /Za, /Ze(언어 확장 사용 안 함)


요즘은 어때?

개발자는 항상 Develop 중...

 

티스토리에 오랜만에 오셨는데 무엇을 하시나요 ?

=> 임베디드 개발자에서 서버 개발자로 전직하여  모빌리티 플랫폼 개발을 하고 있습니다.

 

모빌리티라고 하면 카카오 모빌리티인가요 ?

=> 아니요. 나이가 40대중반 개발자라 카모에 가긴 투 머취합니다. 

알티캐스트 -> 알티 모빌리티로 분사한 회사에서 서버 개발하고 있습니다.  여전히 개발이 재미 있습니다. ㅎ 

 

도메인의 변화

DVB-T(ISDB) => TV => settopbox => CAS Client(KT) => Automotive OTA => Mobility Platform(Car Sharing) 

 

사용 언어의 변화 

C/C++ (13년) => JavaScript(NodeJS) (0.6 년) => Kotlin (1.5년)  

 

 

요즘 관심 분야가 무엇인가요 ?

=> Kotlin reactive 프로그래밍, 

=> 취미로는 Infra (kubernetes)를 구축해서 개인 배포 환경

=> 비지니스쪽은  예약, 빌링, 청구이고요, 주차관제 플랫폼에 관심이 있습니다.  의외로  주차 플랫폼이 모빌리티 플랫폼의 허브가 될 것으로 예상합니다.

 

 



미라지(SKT) M480 벨소리 변경 프로그램

   



검증 : 본인



BellSori는 미라지에 벨소리를 변경하는 프로그램 입니다.

이미 좋은 프로그램들이 있을 꺼라 생각되는데

꼭 필요하신 분들이 있을 것 같아서여^^; 만들어 봤습니다.

( 사실 제가 필요해서........ )


* 기존 BellSori로도 벨소리 변경이 잘 되신분들은 그냥 BellSori를 이용 해주세요^^

* 벨소리 변경이 안되신다는 분들은 iBellSori로 한번 벨소리 변경해 봐주세요.



* 기능

  1. 벨소리 변경

      - 벨소리 변경 원리는 간단합니다. 레지스트리를 수정하여

        선택한 mp3나 wave등을 벨소리로 변경합니다.


  2. 미리 들어보기

      - Dshow(DirectShow)를 통해서 mp3등 Media File을 재생합니다.

        mp3는 아마 내장 코덱 필터만으로도 문제 없이 재생 됩니다.

        참고 : mp3 재생시 로드 되는 모듈

                + EmzMP3SourceFilter.dll( 이뮤즈 라는 회사인듯 )
                + amc_ac3_dec.ax


* 설치

  1. 걍 편안한 곳에 넣고 실행

      - Explorer를 통해서 ShortCut을 만들어 프로그램 폴더에

        넣고 쓰면 편안합니다.



* 사용방법

   1. "벨소리 선택"으로 벨소리를 찾아서 선택 해준다.

   2. 미리 들어 보거나, "적용"을 누르시면 해당 mp3가 벨소리가 됩니다.


* 주의

   *  ** 벨소리가 변경이 안되신다는 분들은 iBellSori를 이용해봐 주세요.

   1. BellSori는 음악 파일을 복사하지 않습니다.

   2. iBellSori를 이용하시는 분들은 \Nate Store\My Documents 폴더에  음악 파일이 복사가 됩니다.

      따라서 적절하게 음악 파일을 삭제 해주는 센스가 필요 합니다.

  

   

* 알려진 버그

  1. 여러개의 음악 파일이 동시에 재생가능

  2. 음악 파일을 너무 깊은 곳(2 depth)에 넣어 놓으면 검색 안됨(Common Dialog 구림)

  3. 시큐리티 lock이 안풀린 폰에서는 벨소리 변경 불가(?)

  4. 시작 -> 설정 -> 소리 및 알림에서 벨소리가 "골동품벨"로 보이는 현상

     ( 사용자가 선택한 벨소리 적용 됨 )


그 밖에 다른 문제점들이 있으면, 이야기 해주세요.




* 수정 히스토리

   1. 2009.0313 - BellSori v1.3

      - 레지스트리 경로 및 키값 추가


      - 두가지 버젼 업로드

         + BellSori  - 원래 오리지널 버젼

                          (벨소리 파일 복사 없음)

         

         + iBellSori - 벨소리가 변경이 안되는 분들용 

                          (\Nate Store\My Documents에 음악파일을 복사하게됨)

                          사용자가 음악 파일을 추후에 삭제 해주셔야 합니다.



     


   2. 2009.0312 - BellSori v1.2

       - Common Dialog를 File Picker로 변경( 파일선택이 좀더 쉬워 졌음 )

       - 128 dpi를 사용시 UI 및 버튼이 화면에서 보이지 않는 문제 수정

       - mmf 파일 선택 가능(미리듣기 안됨)


   3. 2009.0311 - BellSori v1.1

      - 배경이미지 변경(바이너리 사이즈 증가) 

      - 여러 음악 파일이 동시에 재생 되는 버그수정

    

   4. 2009.0310 - BellSori v1.0

      - 소프트 메뉴추가

      - 바이너리 사이즈 줄임.

      - 표시문자를 우리글로 변경


   5. 2009.0309 - BellSori v0.9

      - 최초 작성


* 배경 이미지 사용이 문제가되면, 제거 하도록 하겠습니다.


이상 입니다.

고운하루 되세요.



ubuntu9.10에서 VirtualBox를 이용해 Windows XP을 설치후 USB 사용하기
First I added myself to vboxusers group:
# grep vbox /etc/group
vboxusers:x:128:
# usermod -G vboxusers -a von
In order to get this group change to take effect in my login session, I had to logout and back in again.

Then I edited /etc/fstab to add /proc/bus/usb. I had an old entry I had to comment out.
# vi /etc/fstab
# tail -2 /etc/fstab
#/dev/bus/usb /proc/bus/usb usbfs auto 0 0
none /proc/bus/usb usbfs devgid=128,devmod=644 0 0
I had to unmount the old /proc/bus/usb and then remount it:
# umount /proc/bus/usb
# mount -a
At this point I restarted VirtualBox and was able to mount USB devices.




Porter-Duff 개념을 한눈에....
사용자 삽입 이미지


출처 : http://www.w3.org/TR/2002/WD-SVG11-20020215/masking.html




큰 실수 -_-;;;;
초보중에서도 초보가 할 수 있는 copy and paste를 통해서
아래와 같은 코드를 만들어 냈다. ㅜㅜ

하늘을 보기가 부끄럽다.!!!!
(친구 : "인간은 실수하는 동물"라는 말에 조금은 위로하고 Code Review에 힘써야겠다.)




void *xx_mem_get(size)
{
    void *mem = (void *)malloc(size);
    if(mem == NULL) {
        error ( ~ ~~~ );
    }

    return malloc(sizeof(size));
}





[linux] 문자열 검색
현재 폴더 이하로 모든 파일에서 찾고자 하는 문자열을 찾는다.
find . | xargs grep "찾을문자열"



* 리눅스에서 문자열을 검색하기 위해서는  find와 grep 등으로 조합을 해서 사용해야 한다.
   익숙해지면 편안 하겠지만, 그렇치 않다. 별별 예제도 많다.
   프로그래머도 User이고 일반 사용자도 User인데...자율성으로 인해서 혼란을 가중시킬
   필요는 없을 것 같은데.....
   
   내가 너무 win32를 사랑 하나보다 !!!!


[java]java 기본자료형
논리형 자료형 : boolean
특징 : 형변환 블가

정수형 자료형 :
1. byte : 1byte (-128 ~ 127)
2. short : 2byte ( -32768 ~ 32767)
3. char : 2byte ( 0 ~ 65535 )
4. int : 4byte ( -2147483648 ~ 2147483647 )
5 long : 8byte (-922경 ~ 922경)

실수형 자료형
1. float : 4byte
2. double : 8byte



java에서 char이 유니코드를 저장하기 위해 16bit였다는걸 처음 알았음




char a = 32768;
short b = a;

char와 short의 type을 비교하시면 문제가 있는걸 알 수 있습니다.



casting 과 Promotion의 차이

casting : 강제
Promotion : 자동으로 casting


[java] java Hello World
JDK를 설치 하고, 처음으로 간단하게 작성해본 code

Test.java
public class Test {
    public static void main(String[] ar) {
        System.out.println("hello world");
    }
}


*  Java Code에서 첫 작성한 Class와 File 이름이 같아야 한다는 걸 알았다.


javac Test.java로 Build를 하면 output으로 Test.class가 생성이 되는데
이 파일을 Hex로 열어보면 아래와 같은 값들로 이루어진다.

사용자 삽입 이미지

java class File을 간단하게 분석 해보자
(본인도 처음 java code을 build 해보고 class 파일을 열어봄)

가장먼저 보이는건 Code 상에서 출력하도록 한 hello world가 보인다.
아무래도 *.class 파일은 일정한 File Format이 있는 것 처럼 보인다.
(아시는 분 있으면 간단하게 설명 부탁 드릴께요.!!! Plz)
Source File에 대한 정보로 파일 이름이 보인다.

아래 같은것들은 왠지 Test.java 파일에서 사용하는 class에 대한 경로 같기도 하다
(확인을 위해 jdk가 설치된 폴더를 찾아 보았지만 못 찾겠당 ㅜㅜ
java/lang/Object
java/lang/System out
Ljava/io/printStream;
java/io/PrintStream... println
(Ljava/lang/String;)V



실험 1.
Hex File에서 문자열을 수정해 보았다.
hello world --> Hello World

결과

java Test : Hello World로 Consol에 출력이 된다.



실험 2.
문자열의 길이를 수정하였다.
hello world --> hello world!!!!!

결과

C:\>java Test
Exception in thread "main" java.lang.ClassFormatError: Unknown constant tag 33 i
n class file Test
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$000(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: Test.  Program will exit.

고찰1 :
이로써 javac로 빌드시에 string에 대해서는  static하게 길이를 계산해두는 것이라고 생각됨
그럼 간단하게 string length를 기록한 부분을 수정해주고? 다시 hex를 하게되면
올바른 결과가 보이지 않을까?

실험 3
위 그림에서 붉은색 네모 부분에 대해서 Edit를 하여 문자열을 눌려 보았다.

ASCII
hello world --> hello worlda

HEX
0B --> OC

결과: 정상적으로 출력이 되었다.
C:\>java Test
hello worlda

* 아하 javac를 통해 build시 문자열의 길이는 java class에 특정 부분에 쓰여지는구나!!!


의문 1 :
그럼 문자열이 두개 일경우에는 어떻게 될까?

가설 :
문자열에 대한 카운팅이 있을까?

결과: 없는 것 같다. ( 시간이 없어서 확인 못 함 )

우선 첫 시간으로 이정도만 확인해봄


참고하고 있는 자료
 * 열혈강의 동영상 강좌
 * 책도 없음 ;;;;; -0-



연구해볼 것
java class file format



[책] 조엘온 소프트 웨어(유쾌한 오프라인 블로그)
사용자 삽입 이미지


집 근처 도서관에서 회원가입 후 처음으로 빌린 책.

원래 책을 구매하지만, 최근 책을 사고도 읽지않는  모습이 있어

책을 빌려보기로 했다.

책 반납일이 있기 때문에 긴장해서 빨리 읽지 않을까 하는 꼼수다.



"손쉬운 기능 명세 작성법"을 읽고나서,
업무 인수 인계를 위한 기능명세를 작성 중입니다.


문서도 어찌보면 "완성해 간다" 라는 의미에서
프로그래밍과 비슷한 점이 많아 적용중이다.


실용주의 프로그래머 보다는 좀더 좋은 점수를 주고 싶은 책이다.
 


fatal error C1902: Program database manager mismatch; please check your installation

2003 .net으로 빌드 환경이 된 make를 vs 2005로 변환하는

삽질중에  mspdb80.dll(windows/system에 잡아 넣음)로 인하여 발생한 컴파일 에러 메시지

Big 삽질을 할뻔 했는데 다행이 관련 문제에 대해서

경험 해보신 분이 있어서 3분만에 삽질 마무리...




/Za, /Ze(언어 확장 사용 안 함)


/Ze 옵션은 Visual C++ 2005에서 사용되지 않습니다. 자세한 내용은 Visual C++ 2005의 사용되지 않는 컴파일러 옵션을 참조하십시오.

아래 링크를 참조 하시면 됩니다.

http://msdn.microsoft.com/ko-kr/library/0k0w269d.aspx



BLOG main image
취미생활
 Notice
 Category
분류 전체보기 (191)
매일매일갱생 (83)
서버개발 (1)
임베디드개발 (12)
Programming (80)
Personal Projects (6)
유용한 프로그램 (0)
 TAGS
출장 티스토리초대 Wince5.0 C++ Error Case It english email Linux DirectShow project 벨소리 변경 알고리즘 Dshow 서태지 DVB VC++ Windows Mobile6.0 Brazil 미라지폰 ISDB-T DVB-T Algorithm debugging spam mail 군대 퇴사 isdbt 티스토리 초대장 음식 1seg 개발자 Debug Java English MP3 영어 이메일 M480 warning C
 Calendar
«   2024/04   »
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
 Recent Entries
 Recent Comments
 Recent Trackbacks
 Archive
 Link Site
zextor
괴짜 프로그래머의 일상사~@@
Gag & Peace, and more..
Kazakhstan Almaty.......
Min-A
Sadgarret
Steve Yoon's log
가슴 뛰는 삶을 살아라
오스틴 파워
GUI sin
melanie parker_Lady
제레미의 TV 2.0 이야기..
 Visitor Statistics
Total :
Today :
Yesterday :
rss