블로그 이미지
언제나 늘 푸른 소나무처럼. 자신의 의지로 오롯이 서기
예섬수진

공지사항

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

calendar

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

OpenSource]Hwo to build Cairo

2010. 8. 9. 23:57 | Posted by 예섬수진
1. Build Environment : Cent OS

2. Required package [you can download package using sudo apt-get install]
  - autoconf : make configuration file 
  - automake : create makefile using created configuration file 
  - libtool : support cross compile * originally, makefile does not consider cross compile
  - gettext

3. Download source codes with git
  - git clone git://anongit.freedesktop.org/git/cairo
  - git clone git://anongit.freedesktop.org/git/pixman.git
* To update source, you can use "git pull" command

4. Build source
  1) build pixman
    - In pixman folder, 
       a) run "./autogen.sh" to make config file and makefile
       b) run "make" to create obj files
       c) run "make install" to install shared object(=dll) on local PC [location : /usr/local/lib]
  
   2) build cairo  
    - In cairo folder, 
       a) run "./autogen.sh" to make config file and makefile
       b) run "make" to create obj files
       c) run "make install" to install shared object(=dll) on local PC [location : /usr/local/lib/cairo]

5. To run cairo using created library [so]
  - modify LD_LIBRARY_PATH variable
       export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

  * how to find required library on linux
      1. find library on specified path [ static ]  
      2. find library on LD_LIBRARY_PATH
      3. find library on system path
        => If system can not find library, system shows message [can not find specific so file]

'컴퓨터 > 기타' 카테고리의 다른 글

알고리즘]WERTYU  (0) 2011.02.08
Cairo]Hello, World  (0) 2010.08.11
단축키 모음  (0) 2010.06.08
Makefile 의문  (0) 2010.03.23
ODBC for MySQL  (1) 2010.02.07

숙희]One love

2010. 8. 7. 21:03 | Posted by 예섬수진


 

널 사랑해 첫눈에 반한 내사랑
너를 볼때마다 가슴이 떨려
세상이 준 커다란 선물
처음이자 마지막 사랑
 
보아도 보아도 또 보고싶은 한사람
주어도 주어도 아깝지 않은 맘
말해도 말해도 늘 모자라는 한마디
사랑해 널 사랑해

 
(oh oh oh)

사랑해 사랑해 아무리 막으려해도
조용히 입에서 새어나오는 그 말
수천번 수백번 아무리 아끼려해도
도무지 참을 수 없는 네게 전할말

(널 사랑해)

내 전부를 잃어도

(널사랑해)

이 세상이 끝나도
널 잃고 싶지 않아 놓치고 싶지 않아
숨기려해도 날 미소짓게 하는 너
 
널 사랑해 첫눈에 반한 내사랑
너를 볼때마다 가슴이 떨려
세상이 준 커다란 선물
처음이자 마지막 사랑
 
 
낮이나 밤이나 이 하나만은 잊지마
비오나 눈오나 그 마음 변치마
슬프나 기쁘나 늘 지금처럼 이대로
내 곁에 머물러줘
 
첫눈에 반한다는 동화같은 일이
내게 일어났어 나는 잠에서 깬 공주
살며시 조금씩 다가오는 그대를
나 거부할수 없어 한아름 꼭 안아요

비오는 날엔 우산이 되어줄게
햇빛이 뜨거운날엔 시원한 그늘
영원히 니 곁에서 널 웃게해줄게
꼭 안아줘요 떨리는 맘 가득채우고
 
내가슴이 한 눈에 알아본 사람
운명이란 아마 이런 건가봐
세상이 준 커다란 선물
처음이자 마지막 사랑
 
난 행복해 천번을 내게 물어도
같은날 떠나니 너만 사랑해
우리 사랑 영원하기를
처음처럼 마지막까지
너는 나의 마지막 사랑
 
사랑 사랑 그누가 말했나
이렇게도 행복한걸 알고 말했나
가슴 벅차도록 숨이 가빠오도록
사랑하고싶어 오직 그대하나만

사랑사랑 그 누가 말했나
이렇게도 행복한걸 알고 말했나
무엇과도 바꿀수 없는 내사랑
길게하는 내 마지막 사랑


 

가사]임재범 낙인

2010. 7. 18. 23:25 | Posted by 예섬수진


가슴을 데인 것처럼
눈물에 패인 것처럼
지워지지 않는 상처들이 괴롭다

내가 사는 것인지, 세상이 나를 버린건지
하루가 일년처럼 길구나
그 언제나 아침이 올까

[간주 중]

메마른 두 입술 사이로
흐르는 기억의 숨소리
지우려 지우려 해봐도

가슴을 널 잊지 못한다
서러워 못해 다신 볼 수 없다 해도
어찌 너를 잊을까

가슴을 데인 것처럼
눈물에 패인 것처럼
지워지지 않는 상처들이 괴롭다

내가 사는 것인지, 세상이 나를 버린 건지
하루가 일년처럼 길구나
그 언제나 아침이 올까

[간주 중]

지울 수 없는 기나긴 방황 속에서
어찌 너를 잊을까

가슴을 데인 것처럼
눈물에 패인 것처럼
지워지지 않는 상처들이 괴롭다

내가 사는 것인지, 세상이 나를 버린거지
하루가 일년처럼 길구나
그 언제나 아침이 올까

작은 신음조차 낼 수 없을 만큼
가난하고 지친 마음으로 나를 달랜다

이걸로 안되면 참아도 안되면
얼어붙은 나의 발걸을을
무엇으로 돌려야 하나

가슴을 데인 것처럼
눈물에 패인 것처럼
지워지지 않는 상처들이 괴롭다

내가 사는 것인지 세상이 나를 버린건지
하루가 일년처럼 길구나
그 언제나 아침이 올까 X 2
밀가루가 몸에 맞지 않는 울 남편.

처음에 전을 했을 때는 덜 익어 화장실을 왔다갔다 했어야 했던 울 남편.

밀가루 대신 감자전으로 요리를 해 주니, 잘 먹네

감자전은 부치자 마자 1개씩 먹었더니, 건진 사진은 프라이팬에 부쳤을 때 모습 ㅜ.ㅜ

1. 오늘의 재료
 감자 3개, 파, 소금, 후추

 2. 요리 순서
 2-1] 감자를 깨끗하게 씻어 껍집을 제거한다.

2-2] 강판에 감자를 갈아 준다.
  - 새 감자를 가는 동안, 이미 갈린 감자는 갈변 현상이 나타났다. 어찌보면, 사과즙 같기도..

2-3] 아래와 같이 강판에 간 즙을 덩어리와 물로 분리한다.
  - 한약 짜는 천이랑 나무가 있으면, 쉬운데.. 나는 일일이 손으로 짜서 힘들었다.
  - 가는 체에 즙을 걸러, 체 위의 부분만 꾹꾹 누르면 건더기만 분리 되드라. 거의 끝무렵에 알았음ㅜ.ㅜ

2-4] 갈색 물 속에 있는 전분을 얻기 위해, 잠시동안 물을 가만히 놔둔다.
  - 왼쪽 이 전분. 오른쪽이 순수 물
  - 나는 20~30분 물을 가만히 놔두었더니, 전분이 굳어서 숟가락으로 긁어 주어야 했다.
  - 전분은 진짜 처음 보았음

2-5] 전분이 가라 앉길 기다리는 동안, 나는 파를 송송 썰어 준다.

2-6] 체에 걸른 감자 덩어리와 전분, 파, 소금, 후추를 함께 넣고 비벼 준다.

2-7] 후라이팬에 동그랍게 부쳐주면, 감자전 완성




'기타 > 음식이 주는 행복 속으로' 카테고리의 다른 글

2010.01.23 김치찌개  (0) 2010.01.24
2010.01.23 멸치마늘볶음  (0) 2010.01.24
10.01.01 핫케익믹스  (0) 2010.01.02
10.01.01 떡꾹 만들기  (0) 2010.01.02
091229 호떡 믹스를 이용한 호떡 만들기  (0) 2009.12.30

Java]Convert byte to unsigned byte

2010. 7. 16. 23:18 | Posted by 예섬수진
Java에서 byte는 signed byte로 취급한다.  -> 7번째 Bit는 부호 비트가 됨

unsigned byte로 변환하기 위해서는, 아래와 같이 0xFF와 And 연산(&)을 하면 된다.
 1. 소스 코드
 2. 실행 결과 [signed data]
 -125  // 1000 0011
131     // 1000 0011

참고로, 각 자리의 bit 값을 알기 위해서는 다음과 같이 하면 된다.
 1. 소스 코드
 2. 실행 결과[unsigned data]
0th bit = 1
1th bit = 1
2th bit = 0
3th bit = 0
4th bit = 0
5th bit = 0
6th bit = 0
7th bit = 1


Java]Index를 이용한 String Parsing

2010. 7. 12. 22:46 | Posted by 예섬수진
예를 들어, 32Byte 문자열을 구분자 없이 16Byte씩 잘라내고 싶다면 ??

우리는 Java에서 String.substring()이라는 함수를 이용할 수 있다.
 1. String.substring 함수 원형
 


 2. Source Code
 


 3. Source Code의 실행 예제
 


 4. 만약 Code에서 2번째 라인을 originalStr.substring(0, 15)으로 변환한다면 ?
 



Android]Convert Drawable to Bitmap

2010. 7. 9. 23:05 | Posted by 예섬수진
아래는 Drawable 객체를 Bitmap 객체로 변환하는 방법이다.
Drawable d; // 특정 값 대입
Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGV_8888);
Canvas canvas = new Canvas(bitmap);
d.setBounds(0, 0, width, height);
d.draw(canvas);

그럼 이 소스를 이용하여 작성된 코드를 살펴 보자.
 소스 코드
 
     => 이 코드에는 ImageView 2개가 있다.
       1) original_iv는 Drawble\icon.png를 이미지로 설정하였다. [setImageResource( ) 활용]
       2) copy_iv에서는 original_iv의 Drawable 값을 Bitmap 객체로 변화하여, 이를 이미지로 설정하였다.
          [setImageBitmap( ) 활용]

실행 화면을 살펴 보면, 아래와 같다.
상단의 이미지가 원본, 하단의 이미지가 Bitmap으로 변환된 것을 표시한 것이다.
 실행된 화면
1.  상단의 그림은 Drawable\icon.png를 직접 설정해서 표시한 것.
2. 하단의 그림은 상단 이미지의 Drawble 값을 Bitmap 객체로 변환하여 표시한 것

Android]Gallery에 Image 추가 하기

2010. 7. 7. 23:31 | Posted by 예섬수진
내가 Gallery에서 필요한 기능은 다음과 같다.
 Gallery 요구사항
  (1) Gallery에 내가 원하는 Image 추가하기
  (2) 사용자의 선택으로 인해, Gallery 중앙에 최정적으로 표시된 Image가 무엇인지 알기
    Ex>  Finger Flick을 하는 경우, Flick이 완료 될 때 화면에 선택된 Image 알기

이 2가지 요구사항을 만족할 수 있는 예제를 인터넷에서 찾았으니, 찾을 수가 없었다.

대신, Android Developer Guide에서 Hello, Gallery라는 예제를 찾았으나 !!

이런.. 그대로 작성하면, Error가 나거나 System이 오동작을 한다. ㅜ.ㅜ
  * Hello, Gallery url : http://developer.android.com/guide/tutorials/views/hello-gallery.html

몇 가지 시행착오 후,  요구사항을 만족할 수 있는 Android Code를 작성하였다.
 요구사항을 만족하여, 실행된 화면
 
  > Linear Layout에 Gallery와 Text View를 추가하였다.
> Gallery 상에서 Image의 위치를 표시하기 위해, Text View를 추가하였다.

(1) Layout으로 사용할 xml 파일 만들기
 파일명 : layout > my_gallery.xml
 

  1)  Gallery에 Image View를 추가하지 않아도 된다.
     * Gallery에 Image를 추가하는 것은 Code 상에서 할 예정이다.

  2) Finger Flick의 결과로 선택된 Image 위치(Position)를 알기 위해서, Text View를 추가하였다.

  3) Linear Layout의 default orientation은 horizontal이다.
     => 그러므로, 꼭 orientation을 vertical로 명시해 주자.
       -> 그렇지 않으면, Text View가 화면에 표시되지 않을 것이다.

(2) 실행화면의 각 Image에서 보이는 테두리의  속성을 설정하기 위한, value 파일 만들기
 파일명 : values > gallery_attri.xml
 

(3) Activity 클래스 작성하기
 파일명 : src > ActMyGallery.java
 

  1) android.app.Activity를 Super Class로 지정하여, Class를 생성하자.

  2) OnCreate 함수를 Override하자.
       (a) 이 Activity가 실행될 때의 Layout을 설정하기 위해, setContentView 함수를 호출한다.
       (b) Gallery에 Image 추가 및 Image에 대한 정보를 알 수 있도록, Adapter를 설정해 준다.
            - Gallery 클래스의 setAdapter 함수 이용
            * ImageAdapter는 미작성 클래스임. 그래서 setAdapter 라인을 추가하는 순간, Error가 날 것이다

(4) ImageAdapter 클래스 추가하기
 파일명 : src > ActMyGallery.java
 

  1) BaseAdapter를 Super Class로 하는 Class를 작성한다.
    => 단, Activity 클래스 내에 작성해야 한다.
     -> 따로 파일을 만들어 분리했더니, 몇몇 함수들은 정의되지 않았다고 Error가 발생하드라

  2) Gallery에 추가할 Image들을 res-drawable 폴더에 추가한다.

  3) 위 소스 코드의 핵심 함수는 getView가 되겠다.
    =>이 함수는 Gallery의 위치에 있는 Image View를 반환하는 함수이다.
      -> 이 함수에서, 각 Position에서 보여야 할 Image에 대한 설정을 해 주고 있다.
        (a) ImageView.setImageResource()
            : Image Resource ID를 설정하여, ImageView에서 표시 할 Image를 설정하고 있음

        (b) ImageView.setLayoutPrarms(new Gallery.LayoutParams(150, 100)
            : 150은 width이고, 100은 height임

        (c) ImageView.setScaleType(ImageView.ScaleType.FIT_XY)
           : Imae가 150X100에 맞도록, Scale을 조정함

       (d) ImageView.setBackgroudnResource(background)
          : 실행된 화면에서, 각각의 ImageView에 회색 테두리가 보이도록 함

  4) 생성자에 있는 아래 항목들은 이미 (2)번에서 작성한 내용들이다.
      - R.styleable.Theme
      - R.styleable.Theme_android_galleryItemBackground

  5) 수행하면, 1번째 요구사항이 만족된 것을 확인할 수 있음

(5) 2번째 요구사항을 만족하기 위해, onCreate 함수 수정
 파일명 : src > ActMyGallery.java
 onCreate 함수 안에 안의 내용을 추가하였음
  1) setOnItemSelectedListener 함수를 이용하면, 2번째 요구사항을 만족할 수 있다.
    => 정확히는 OnItemSelectedListener.onItemSelected() 이지만..
      -> 해당 함수의 3번째 인자로 들어오는 Int는 Galley 상의 Image 위치이다.
      -> 그래서 position value를 TextView에 표시되도록 설정하고 있다. [TexvView.setText() 이용]

  2) 주석 처리된 부분을 해제하면, 사용자가 Click(정확히는 Push)한 Image를 알 수 있다.
   * Hello, Gallery 예제에는 setOnItemClickListner 함수가 있음.
     => 그러나 내가 원한 것은 Press 할 때 클릭된 Image 정보가 아니다.
     => 요구사항은 Release할 때, 표시될 Image 정보이다.
      -> 그래서, 해당 소스를 주석처리하였다.

이상!!

가사]아이유&슬옹 잔소리

2010. 6. 29. 00:38 | Posted by 예섬수진
잔소리 !! 음악프로그램에서 딱 한 번 보았을 뿐인데, 우리 남편에게 해 주고 싶은 말을 꼭 담은 노래 되겠다.

사랑하다 말거라면, 낭군에게 입 아프게 얘기하지 않을 거라는 거!! 알고 있쥐 ?

울 낭군이랑 같이 노래방에서 불러 보고 싶다 ^^



[여자]
늦게 다니지 좀 마
술은 멀리 좀 해봐
열살짜리 애처럼 말을 안 듣니
[남자]
정말  웃음만 나와
누가 누굴보고 아이라 하는지
정말 웃음만 나와

[여자]
싫은 얘기 하게 되는 내 맘을 몰라
[남자]
좋은 얘기만 나누고 싶은 내 맘을 몰라
[여자]그만할까? [남자]그만하자

[여자]
하나부터 열까지 다 널 위한 소리
내 말 듣지 않는 너에게는 뻔한 잔소리
[남자]
그만하자 그만하자
사랑하기만 해도 시간 없는데

[여자]
머리 아닌 가슴으로 하는 이야기
니가 싫다 해도 안 할 수가 없는 이야기
[남자]
그만하자 그만하자
너의 잔소리만 들려 


[여자]
밥은 제 때 먹는지
여잔 멀리 하는지
온 종일을 네 옆에 있고 싶은데
[남자]
내가 그 맘인거야
주머니 속에 널 넣고 다니면
정말 행복할텐데

[여자]둘이 아니면 안되는 우리 이야기
[남자]누가 듣는다면 놀려대고 웃을 이야기
[여자]그만할까? [남자]그만하자

[여자]
하나부터 열까지 다 널 위한 소리
내 말 듣지 않는 너에게는 뻔한 잔소리
[남자]
그만하자 그만하자
사랑하기만 해도 시간 없는데

[여자]
머리 아닌 가슴으로 하는 이야기
니가 싫다 해도 안 할 수가 없는 이야기
[남자]그만하자 그만하자
[여자]나의 잔소리가 들려 ?

[여자]눈에 힘을 주고 겁을 줘봐도
[남자]내겐 그저 귀여운 얼굴
[여자]
이럴래 자꾸 더는 못 참고
정말 화낼지 몰라

[여자]
사랑하다 말거라면 안 할 이야기
누구보다 너를 생각하는 마음의 소리
[남자]
화가 나도 소리 쳐도
너의 잔소리마저 난 달콤한데

[여자]
사랑해야 할 수 있는 그런 이야기
내 말 듣지 않는 너에게는 뻔한 잔소리
[남자]그만하자 그만하자
[여자]이런 내 맘을 믿어줘


Android]E-mail 작성 화면으로 전환하기

2010. 6. 26. 00:24 | Posted by 예섬수진
(1) ImageView 클릭 시, 메일 작성 화면으로 전환하기
  - 역시 화면 전환을 위해, Intent(Intent.ACTION_SEND)를 사용함


(2) 실행 화면
  - Email 로그인 계정을 설정한 뒤에 소스를 수행하여야, 아래와 같은 화면이 보임


(3) 소스 설명

Line

Line 설명

Intent emailIntent = new Intent(Intent.ACTION_SEND);

Intent 객체 생성

emailIntent.setType("plain/text");

Type 설정

emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"receiver@gmail.com"});

수신자 주소 설정

//emailIntent.putExtra(Intent.EXTRA_SUBJECT, "");

메일 제목 설정

//emailIntent.putExtra(Intent.EXTRA_TEXT, "");

메일 내용 설정 

startActivity(Intent.createChooser(emailIntent, "send email"));

화면 전환