태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

업그레이드~!!/Linux2012/01/17 21:31
웬종일 주석다는 방법 알아보고 있는데 영 맘에 안든다;;

우선 알아본것만 정리해보면..


/*! a
* multi line
* comment
*/
       or
//% @file TEST.v
//% @brief TEST program for U

//% TEST module brief description
-->그냥 주석달때



/*!
 * @mainpage TEST mainpage
 * @section Intro INTRO
 *  - It is made for TEST. 
 * @section Program PROGRAM
 *  - Name : TEST
 *  - Description : DisplayPort / Logic / ~~~
 * @section INOUTPUT
 *  - Input :
 *  - Onput :
 * @section CREATEINFO
 *  - Author : In Seon Ryu
 *  - Date : 2012.01.17
 *  - Version : 0.0.0
 * @section MODIFYINFO
 *  - Modified by :
 *  - Modify Date :
 *  - Revision : 0.0.0
 *  - List of Modification \n
 *    - < > \n
 *    - < > \n
 *    - < > \n
 */
--> mainpage 설정할때..이건 요긴할듯. 내맘대로 정리해본거임


/*!
 * @file test.v
 * @brief TEST for TEST
 */
--> 거의 쓸일 없을듯.. @brief 내용이 너무 난잡하게 끼어듬


//% \code assign_syntax
  ...
  ...
//% \endcode
--> assign 문은 표시가 안되는데 요놈을 이용해서 보여주면 될듯..


웬종일 한게 이것뿐이던가.. 역시 새로운거 익히는데는 시간이 너무 오래걸림 ㅠ_ㅠ

오늘하루도 종쳤군!! ㅋㅋ
저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi
☞ 끄적끄적 ☜2012/01/17 10:05

프랭클린 삶의 지침

절제 : 배부르도록 먹지 말자
, 취하도록 마시지 말자.

침묵 : 자타에 이익이 없는 말은 하지 말자, 쓸데없는 말은 하지 말자.

질서 : 모든 물건은 제자리에 두자, 일은 모두 때에 정해서 하자.

결단 : 해야 할 일이 있다면 반드시 하겠다고 결심하자, 결심한 것은 반드시 실행 하자.

절약 : 나나 남에게 유익하지 않은 일에는 돈을 쓰지 말자, 쓸데없는 낭비는 하지 말자.

근면 : 시간을 낭비하지 말자, 언제나 유용한 일을 하자, 무익한 행동은 끊어 버리자.

진실 : 사람을 속이지 말자, 순수하고 공정하게 생각하자, 언행을 일치시키자.

정의 : 남에게 피해를 주는 일일 하지 말자, 남에게 응당 줘야 하는 이익은 꼭 주자.

중용 : 극단을 피하자, 상대가 나쁘더라도 상대에게 상처 주지 말자.

청결 : 신체, 의복 등 습관상 모든 것을 청결 하게 유지하자.

침착 : 사소한 일, 일상적인 일뿐만 아니라 불가피한 일을 당해도 흔들리지 말자.

순결 : 감각이 준해지고, 몸이 쇠약해지고, 부부의 평화와 평판에 해가 될 정도로 하지 말자.

겸손 : 항상 겸손 하자.


---------------------------------------------------------------------------------------------------------------------------------------


카네기 인간관계론

인간관계의 3가지 기본원칙

1.     비난이나 비평, 불평하지 말라.

2.     솔직하고 진지하게 칭찬하라.

3.     다른 사람들의 열렬한 욕구를 불러일으켜라.

 

인간관계를 잘 맺는 6가지 방법

1.     다른 사람들에게 순수한 관심을 기울여라.

2.     미소를 지어라.

3.     이름을 잘 기억하라.

4.     경청하라.

5.     상대방의 관심사에 대해 이야기 하라.

6.     상대방으로 하여금 중요하다는 느낌이 들게 하라.

, 성실한 태도로 해야한다.

 

상대방을 설득하는 12가지 방법

1.     논쟁에서 최선의 결과를 얻을 수 있는 유일한 방법은 그저 피하는 것이다.

2.     상대방의 견해를 존중하라. 결코 당신이 틀렸다고 말하지 마라.

3.     잘못을 저질렀다면 즉시 분명한 태도로 그것을 인정하라.

4.     우호적인 태도로 말을 시작하라.

5.     상대방이 당신의 말에 즉각 ,라고 대답하게 하라.

6.     상대방으로 하여금 많은 이야기를 하게 하라.

7.     상대방으로 하여금 그 아이디어가 바로 자신의 것이라고 느끼게 하라.

8.     상대방의 관점에서 사물을 볼 수 있도록 성실히 노력하라.

9.     상대방의 생각이나 욕구에 공감하라.

10.   보다 고매한 동기에 호소하라.

11.   당신의 생각을 극적으로 표현하라.

12.   도전 의욕을 불러일으켜라.

 

리더가 되는 9가지 방법

리더는 사람들의 생각과 행동을 이끄는 사람이다. 이를 위해서는 다음의 원칙을 실천해야 한다.

 

1.     칭찬과 감사의 말로 시작하라.

2.     잘못을 간접적으로 알게 하라.

3.     상대방을 비평하기 전에 자신의 잘못을 먼저 인정하라.

4.     직접적으로 명령하지 말고 요청하라.

5.     상대방의 체면을 세워주어라.

6.     아주 작은 진전에도 칭찬을 아끼지 말라. 또한 진전이 있을 때마다 칭찬을 해주어라.

동의는 진심으로, 칭찬은 아낌없이 하라.

7.     상대방에게 훌륭한 명성을 갖도록 해주어라.

8.     격려해 주어라. 잘못은 쉽게 고칠 수 있다고 느끼게 하라.

9.     당신이 제안하는 것을 상대방이 기꺼이 하도록 만들어라.

 



많은 사람들이 이런것을 보고 듣고 배우며 따르려고 노력한다.

나역시 마찬가지지만.. 이 글을 쓰면서 왜 저렇게 살고 싶지 않지 하는 생각이 드는건 왜일까?? ㅋ

어찌보면 살아가면서 재밌는 부분을 하지 말라는 말 아닌가..?

그래서 난 아직 철이 덜 들었나보다~

벌써 1월중순이 훌쩍넘었네.. 암튼 흐트러진 나의 마음 가짐을 다시 잡게 만든다.

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi
업그레이드~!!/Linux2012/01/16 22:48

하루에 두번 포스팅하는건 정말정말 오랜만인듯 ㅎ


설치
1. doxygen-1.7.5
2. Doxverilog2.6
--> Doxverilog2.6 압축풀면 README 파일이 있는데 설치 설명이 나와있다.


 System Requirements
======================

  Name    version               URL
  -----     ---------------   ---------------------------------------
  * bison  2.1 or higher         http://www.gnu.org/software/bison/bison.html
  * flex     2.5.35 or higher     http://flex.sourceforge.net
  * doxygen sources  1.7.0    http://www.doxygen.org/download.html
  --> ubuntu 10.04 에서 셋업
 
  Installation
============

install the doxygen-1.7.5 sources

1. copy the Verilog files verilogparser.y verlogscanner.l and the source files to the doxygen-1.7.5\src directory

2. copy the patch file verilog.patch to directory doxygen-1.7.5

3. open a shell in the doxygen-1.7.5 directory

3.2  make  patch  # patch -p1 -F3 < verilog.patch

3.2 configure doxygen
    sudo configure
 
 
4 compile  the source files
    sudo  make all

5 If the compilation was successful create a doxygen configuration file with  # doxygen -s -g verilog.cfg
  In the configuration file you should see the option OPTIMIZE_OUTPUT_VERILOG.
  The file patterns for the Verilog parser  are *.v and *.V
--> verilog.cfg 파일이 생성되는데 아래에 cfg 파일 올려놓겠습니다.


암튼 첨부터 수행과정을 적어보면 (http://www.stack.nl/~dimitri/doxygen/doxygen_usage.html)


To generate a manual for your project you typically need to follow these steps:

  1. You document your source code with special documentation blocks (see section Special documentation blocks).
  2. You generate a configuration file (see section Configuration) by calling doxygen with the -g option:
    doxygen -g <config_file>
    
  3. You edit the configuration file so it matches your project. In the configuration file you can specify the input files and a lot of optional information.
  4. You let doxygen generate the documentation, based on the settings in the configuration file:
    doxygen <config_file>
    

If you have a configuration file generated with an older version of doxygen, you can upgrade it to the current version by running doxygen with the -u option.

      doxygen -u <config_file>

All configuration settings in the original configuration file will be copied to the new configuration file. Any new options will have their default value. Note that comments that you may have added in the original configuration file will be lost.


걍 편하게스리 문서화 작업 실행
doxygen verilog.cfg

html로 open
firefox ./index.html

오예~ 동작!


 

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi
업그레이드~!!/Linux2012/01/16 19:55
ubuntu를 처음 사용하다 보니 모르는 명령어가 많다;;

리눅스를 얼마만에 만져보는건지 ㅋㅋ;;

1. chmod

d : 디렉토리 구분 (d이면 디렉토리, -이면 파일)
r : 읽기 권한
w : 쓰기 권한
x : 실행 권한
 
d / rwx / r-x / r-x
디렉토리 / 소유자 권한 / 그룹 권한 / 전체 권한



2. 프로그램 설치

$ sudo dpkg -i [패키지명.deb]
or
$ sudo apt-get istall [패키지명]


3. 프로그램 설치 확인

$ sudo dpkg -l [패키지명]


4. 프로그램 제거

$ sudo dpkg -r [패키지명.deb]
or
$ sudo apt-get remove [패키지명]



자세한 옵션은 모르겠지만, 대충 이런정도..??



ubuntu 에서 vim을 사용할때, Vim Tiny라고 설치되어있다는데 이건 기본적인것만 있단다.. 그래서 지우고 재설치!

$ sudo apt-get remove vim-tiny --purge
$ sudo apt-get install vim vim-gnome vim-gtk


여기부턴 마구잡이 펌질

more file - file의 내용을 출력
head file - file의첫 줄을출력 10
tail file - file의 마지막 줄을 출력 10
tail -f file - file에 추가되는 내용을 출력 마지막 줄 ,10부터 출력함
프로세스 관리
ps 현재 활성화된 프로세스 보여주기 -
top 실행중인 모든 프로세스 보여주기 -
kill pid 프로세스 -id pid를종료
killall proc - proc로시작하는모든프로세스종료
bg 정지되있거나 화면에서 안보이게 실행중인 프로세스 보여 -
주기 정지된 프로세스를 화면에 출력하지 않고 계속 진행하기 ;
fg 화면에 보이지 않게 작동하던 작업 중 최근의 것을 화면에 -
출력하면서 작동시키기
fg n 화면에 보이지 않게 작동하던 작업 중 - n 번째 작업을
화면에 출력하면서 작동시키기
검색
grep pattern files 안의 을 찾기 - file pattern
grep -r pattern dir 디렉토리 안에서 재귀적으로 -dir
찾기 pattern
command | grep pattern 명령의 출력에서 - command
을찾는다 pattern
locate file 파일을 찾음 -
시스템 정보보기
date 현재 날짜와 시각을 출력 -
cal 이번달 달력을 출력 -
uptime 현재 기동시간을 출력 -
w 온라인인 사용자를 출력 -
whoami 어느 사용자로 로그인 하였는지 출력 -
finger user 에관한정보출력 -user
uname -a 커널 정보 출력 -
cat /proc/cpuinfo 정보 출력 - cpu
cat /proc/meminfo 메모리정보출력 -
man command - command에대한매뉴얼출력
df 디스크 사용량 출력 -
du 디렉토리 사용량 출력 -
free 메모리와스왑정보출력 -
whereis app 를실행가능한위치출력 - app
which app 가기본으로실행되는곳을보여줌 -app
압축
tar cf file.tar files 들을 포함한 를 만듬 - files file.tar
tar xf file.tar 을 압축해제 - file.tar
tar czf file.tar.gz files 압축을 사용한 압축 - Gzip
tar zxf file.tar.gz 을 이용해 압축해제 - Gzip
tar cjf file.tar.bz2 압축을 사용한 압축 - Bzip2
tar xjf file.tar.bz2 압축을 사용한 압축해제 - Bzip2
gzip file 을 압축해서 로 이름변경 - file file.gz
gzip -d file.gz 를 로 압축해제 - file.gz fiel
네트워크
ping host 에핑을보내결과출력 -host
whois domain - domain에대한 정보출력 whois
dig domain - domain에 대한 정보를 출력 DNS
dig -x host 호스트까지의 경로를 되찾아가기 -
소스로부터 설치
./configure
make
make install



모르니깐 배웁시다ㅎㅎ
저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi
TAG ubuntu
☞ 끄적끄적 ☜2011/12/30 15:28
1999년..10년도 넘었구나;;

그때 한창 인터넷이 활발(?)하게 퍼지기 무렵... 난 날 대신할 수 있는 아이디가 필요했었다.

웬지 모르겠지만, TV에서 잠시 등장한 삼식이란 이름이 나의 귀에 꽂혔고, 곧 나의 아이디로 사용하기 시작했다.

그래도 나름 뜻을 붙였다.

삼식 == 三食

하루 세끼는 삶의 활력이다!

그냥 세끼밥 잘먹자이다.

학교에선 이름대신 삼식이로 불리기 시작했고, 편하게 삼시기로 통하였다.

그 뒤로 도메인을 사기 위해 samsik, samsiki을 알아보기 시작했고, 누군가가 사버린 samsik 보단 samsiki로 정하게 된것이다.

아~ 이런 심오한 뜻이??

암튼 누구때문에 간만에 열심히 설명한듯하다.

그럼 여기 방문하는 모든분들 새해 복 많이 받으시길~
저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi
업그레이드~!!2011/03/22 20:11

프로세스
하드디스크에 저장되어 있는 EXE 파일을 보통 프로그램이라 부른다. 프로그램이 실행되어 동작하고 있으면 이를 프로세스(Process) 혹은 태스크(Task)라고 부른다.
프로ㅔ스를 인스턴스라고 일컫기도 하나, 엄밀하게 말해서 인스턴스는 프로그램이 메모리에 로딩되어 있는 상태를 말하는 것이고, 프로세스는 메모리상에서 실행되고 있는 상태를 말한다.

스레드
윈도우 95와 NT부터는 하나의 프로그램을 하나의 프로세스가 실행하는 것이 아니라 여러개의 프로세슬 나누어 동시에 실행되도록 할수 있게 되었다. 이때, 프로그램의 주 프로세스 외에 주 프로세스와 함께 동시에 실행되는 프로세스들을 스레드라고 부른다.

멀티스레드 프로그램
주 프로세스 외에 하나 이상의 스레드를 가지고 동작하는 프로그램을 멀티스레드 프로그램이라고 한다. 멀티태스킹 시스템이 컴퓨팅 효율을 증가시킬수 있는것과 같이 멀티스레드 프로그램은 프로그램의 동작효율을 향상시킬수 있다.
예를 들어, 맞춤법 검사 기능을 가지고 있는 워드프로세서 프로그램을 생각해 보자. 사용자가타이핑을 하면 사용자의 입력을 받는 기능을 수행해야 하며, 맞춤법 검사도 해야 한다. 이러한 기능을 하나의 프로세스로 구현하면, 프로세스가 맞춤법 검사를 하는 동안은 사용자의 입력을 받는 동작을 할 수 없기 때문에 프로그램이 사용자의 입력에 즉각적으로 반응하지 못할 수 있다. 이런 프로그램을 사용한다면 매우 답답할것이다.
이럴경우 멀티스레드 기술을 이용하여 프로그램을 작성하면 좋다. 사용자의 입력을 받는 기능을 주 프로세스에 구현하고, 맞춤법 검사를 하는 것은 스레드로 만들면 주 프로세스와 스레드가 동시에 동작을 하기 때문에 맞춤법 검사를 하느라고 사용자의 입력에 응답을 못하는 일은 생기지 않는다.
이와같이 프로그램에서 한가지 이상의 일을 동시에 수행해야 할때, 단일 프로세스로 프로그래을 구현하는 것보다 멀티스레드로 구현하면 프로그램을 훨씬 부드럽게 동작하도록 할 수 있다.

멀티스레드 기술을 사용하지 않고, 단일 프로세스만을 사용해도 모든 프로그램을 다 만들 수 있다. 즉, 멀티스레드를 쓰지 않고는 구현이 불가능한, 그럼일은 거의 없다.
그러나 하나의 프로그램에서 두 가지 이상의 기능을 동시에 수행해야 하는 경우, 멀티스레드를 적절히 사용하면 프로그램이 놀랄만큼 부드럽게 동작한다. 또한 자칫 프로그램이 먹통이 되어 버릴 수 있는, 복잡한 기능을 수행하는 와중에도 사용자의 응답에 즉각적으로 반응하는 환상적인 프로그램을 만들 수가 있다.

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi
¶ 피익춰 ¶/♡2010/12/30 16:26


#1. 이쁜 여자를 봤을때




#2. 안이쁜 여자를 봤을때..

 

#3. 맘에드는 여자를 봤을때



#4. 이쁜여자친구를 둔 남자를 봤을때

 

#5. 맘에드는 여자가 남친이 있을때

  

#6. 안이쁜 여자가 다가올때..(미친척)




배우는 연출자의 의도를 그대로 따랐음을 밝히는 바입니다.
웃자고 하는일에 죽자고 달려들진 맙시다...kkk  - SiKi -
저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi

커플링 콘덴서는 보통증폭기와 증폭기 사이에 위치하여 직류를 cut 시키고, 교류만 통과시켜주는 역활을 합니다.

이경우는 저역차단주파수에 의해 선정됩니다. 즉 다음단 증폭회로의 입력임피던스가 10k이라 가정하고, 저역차단주파수가 20hz라고 가정하면 f = 1/2πRC 값으로 C값을 정해줍니다. 여기서 20hz차단주파수라고 해서 20hz에 딱 맞추기 보다는 다소 여유있고, 5~10hz이하로 넉넉하게 계산해주는 것이 보통인데, 왜야 하면 전해콘덴서의 경우 온도가 내려가면 용량이 감소하는 특성이 있기 때문입니다.

그리고 bypass 콘덴서는 전원단의 +,- 에 연결하여 전원 line으로 흐르는 노이즈를 제거할 목적으로 주로 사용하는데, 이경우는 한마디로 다다익선입니다. 말그대로 용량이 높을수록 노이즈제거율이 높아지므로 가능한 높은 용량을 사용하는 것이 좋지만 전해콘덴서는 주파수 특성이 나빠 아무리 높은 용량을 사용해도 고주파 노이즈는 제거하지 못합니다. 그리고 고주파 특성은 용량이 높은 한개의 콘덴서보다 용량이 작은 여러개의 콘덴서는 병렬로 사용하는 편이 훨씬 좋습니다. 그렇기 때문에 pcb가 넓은 경우는 용량이 높은 콘덴서는 1~2개정도로 해결하고, 중간중간에 고주파 특성이 좋은 세라믹이나 멀티레이콘덴서를 넣어줍니다. LOGIC의 경우 각 IC마다 하나씩 넣어주는 것이 좋습니다.

하지만 이런것은 이론이나 계산만으로는 잘 안됩니다. 실제 실장을 하고 난뒤 각단에 전원line등을 측정하여 노이즈레벨이나, EMI 등을 측정해가면서 CUT & TRY를 하는 것이 보통입니다.

(출처 : 네이뇬 http://kin.naver.com/qna/detail.nhn?d1id=11&dirId=1118&docId=59909565&qb=67CU7J207Yyo7IqkIOy6kO2MqOyLnO2EsA==&enc=utf8&section=kin&rank=6&search_sort=0&spq=0&sp=1&pid=gdwNZv331xVssaaUffossv--062266&sid=TQwb%40qLsC00AAAKzHyc)



- 바이패스 캐패시터 : 크게보자면 교류적인 임피던스를 낮추기위한 목적의 콘덴서
1) 전원의 바이패스 캐패시터 : 전원라인에 실려있는 잡음(노이즈)를 제거하기위한 목적의 콘덴서
2) 증폭기의 바이패스 캐패시터 : 직류적으로는 영향을 주지않으면서 교류적인 저항을 작게하기위한 목적의 콘덴서

- 커플링 캐패시터 : 직류적으로는 차단하고 교류적으로는 연결되도록하는 목적의 콘덴서
                             보통 증폭기의 입/출력단에 연결하는 콘덴서를 의미

- 디커플링 캐패시터 : 전원회로를 통해서 신호가 연결되는것을 막기위해 저항과 콘덴서를 삽입해서 필터를 보강하는 목적으로 사용되는 콘덴서

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi


HD     1366*768  High-Definition
HD+    1600*900
F-HD  1920*1080
저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi
업그레이드~!!2010/09/30 22:26

√ 클리어

1. 한비트클리어                        a &= ~(0x1<<5)            : 5 bit

2. 연속된여러비트클리어             a &= ~(0x7<<3)             : 5, 4, 3 bit

3. 떨어진여러비트클리어             a &= ~((0x1<<5)+(0x3<<2))         : 5, 3, 2 bit

 

√ 설정

1. 한비트설정                          a |= (0x1<<5)               : 5 bit

2. 연속된여러비트설정                a |= (0x7<<3)               : 5, 4, 3 bit

3. 떨어진여러비트설정                a |= (0x1<<5)+(0x3<<2)   : 5, 3, 2 bit

 

√ 반전

1. 한비트반전                          a ^= (0x1<<5)              : 5 bit

2. 연속된여러비트반전                a ^= (0x7<<3)              : 5, 4, 3 bit

3. 떨어진여러비트반전                a ^= ((0x1<<5)+(0x3<<2))           : 5, 3, 2 bit

 

√ 비트검사

1. a & (0x1<<5)             : 5 bit           if(a &= ~(0x1<<5))

2. a & 0x10                                       if(a &= 0x10)

 

√ 비트추출

- b=(a>>4) & 0x7                     : 6, 5, 4 bit

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi
↘맘껏뽐뿌질↗2010/05/28 16:45

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi


스테레오잭 구조

헤드폰잭의 구조는 잭의 선쪽에서 가장 가까운쪽이 - 극 (공유)이고
그 다음쪽(중간)이 오른쪽 채널의 +극이고,
가장 바깥쪽(끝쪽의 둥근 부분)이 왼쪽 채널의 +극입니다.

그러므로 - 극 (공유)은 왼쪽 채널과 오른쪽 채널의 - 극 (공유)이 잭에서 "어스"(연결) 되어 있습니다.
그러니까 헤드폰(스피커)의 극성에 맞도록 잭의 안쪽부분("어스"된 -극)에 연결된 부분은
헤드폰의 오른쪽과 왼쪽채널의 스피커의 -극과 연결되고 나머지는 해당 채널 스피커의 +극과 연결됨.

또한 오디오 스피커든 해드폰이든 이어폰이든 모든 발성체는 바른극성으로 연결되어야 정상적으로 작동이됨.

 

 

 

 

아래 그림이 스테레오 잭 구조(3극의 경우)를 나타냄 

(좌:좌측 스피커 우: 우측 스피커 공통:전지에 (+),(-)극이있듯이 스피커도 (-)극이 있음)


  

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi
↘맘껏뽐뿌질↗2010/03/24 21:54

Samuel Ullman - Youth
사무엘 울만 - 청춘

Youth is not a time of life; it is a state of mind :
청춘은 인생의 한때가 아니다; 그것은 정신(마음)의 상태이다.
It is not a matter of rosy cheeks, red lips and supple knees;
그것은 장미빛 두뺨과 붉은 입술과 유연한 무릎의 문제가 아니다.
It is a matter of the will, a quality of the imagination, a vigor of the emotions;
그것은 의지와 수준있는 심상과 활기찬 정서의 문제이다.
It is the freshness of the deep springs of life.
그것은 인생의 짙은 봄의 신선함이다.(짙은 봄같은 인생의 신선함이다.)
Youth fmeans a temperamental predominance of courage over timidity of the appetite, for adventure over the love of ease.
청춘은 안락한 사랑보다 모험을 바라기 때문에 소심한 욕망보다 뛰어난 기질적인 우월한 용기를 의미한다.
This often exists in a man of sixty pore than a body of tewnty.
이것은 종종 20대의 육체보다 60대의 생각속에 존재한다.
Nobody grows old merely by a number of years.
단순히 수많은 세월에 의해서 늙는 이는 아무도 없다.
We grow old by deserting our ideals.
우리는 이상을 버림으로써 늙는것이다.

Years may wrinkle the skin, but to give up enthusiasm wrinkles the soul.
세월은 피부에 주름을 만들지도 모르지만, 열정을 포기하는 것은 영혼에 주름을 만든다.
Worry, fear, self-distrust bows the heart and turns the spirit back to dust.
걱정, 두려움, 자기불신은 마음의 기를 꺽으며 영혼을 먼지로 돌려보낸다.

Whether sixty or sixteen, there is in every human being's heart the lure of wonder, the unfailing child-like appetite of what's next, and the joy of the game of living.
60살이든 16살이든간에 모든 사람의 마음에는 경이로움에 대한 매력과 다음에 나올것에 대한 끊임없는 아이같은 식욕(욕구)과 삶의 유희에 대한 환희가 있다.
In the center of your heart and my heart there is a wireless station;
너의 마음과 나의 마음의 한가운데 무선전신국이 있다.
so long a it receives messages of beauty, hope, cheer, courge and power from men and from the infinite, so long are you young.
그것이 사람에게서와 조물주에게서 아름다움, 희망, 환호, 용기와 힘의 메시지(전언)을 받는 한 너는 젊은 것이다.
When the aerials are down, and your spirit is covered with snows of cynicism and the ice of pessimism, then you are grown old, even at twenty,
공기(대기)가 가라앉고, 너의 영혼이 냉소의 빙설과 비관의 얼음으로 덮일때, 그때 너는 20살일지라도 늙은것이다.

but as long as your aerials are up, to chtch the waves of optimism, there is hope you may die young at eighty.
그러나 너의 대기가 상승하고, 낙관의 파동(물결)을 잡으면, 너는 80살에 젊은 상태로 죽을지도 모르는 희망이 있다.
저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi
TAG youth
업그레이드~!!2010/02/10 11:47

stack

스택이란 여러 개의 데이타 항목들이 일정한 순서로 나열된 자료 구조로 한쪽 끝에서만 새로운 항목을 삽입하거나 기존 항목을 삭제할 수 있도록 고안된 것이다. 스택은 동전을 넣고 뺄 수 있도록 되어 있는 동전 케이스와 같은 작동 원리를 가지고 있다. 삽입된 동전들은 케이스 내부에 일정한 순서로 저장된다. 먼저 삽입된 동전은 케이스의 가장 아래쪽에 위치하고 가장 최근에 삽입된동전은 입구에 놓인다. 스택에 저장된 데이타 항목들 중에 먼저 삽입된 것은 나중에 삭제되고, 나중에 삽입된 것이 먼저 삭제된다. 그래서 스택을 후입 선출 리스트Last- In-First-Out List)라고 부른다. 선입 선출법을 사용하는 큐와는 상반된 성질을 가진다.

 

스택은 기저(base)로부터 데이타 항목들을 차례로 쌓아올린 모양을 가진다.

삽입과 삭제는 현재 저장된 최상위 항목이 위치한 top 에서만 일어난다.

top 위치는 "스택 포인터"라는 지시자가 가리킨다.

스택 포인터는 스택 기저에서 시작하여 항목이 삽입되면 하나 증가하고,

삭제되면 하나 감소한다. 스택에는 한계가 있어서 그 한계를 초과하도록 삽입할 수 없다.

 

heap

프로그램의 실행 도중에 요구되는 기억 장소를 할당하기 위하여 운영 체제에 예약되어 있는 기억 장소 영역. 프로그램에서 실행 도중에 자료를 저장하기 위하여 기억 장소를 요청하게 되면 운영 체제에서는 힙에 존재하는 기억 장소를 프로그램에 할당한다. 그리고 프로그램에서 기억 장치를 더 이상 필요로 하지 않는 경우에는 앞에서 할당 받았던 기억 장소를 운영체제에 반납하게 되는데, 이때 운영체제에서는 반납된 기억 장소를 다시 힙에 연결하게 된다. 힙에 대한 기억 장소는 포인터를 통해 동적으로 할당되거나 반환이 되는데 연결 리스트, 트리, 그래프 등과 같이 동적인 특성을 가지고 있는 자료구조에서 널리 사용된다.

힙은 프로그램이 실행될 때까지 알 수 없는 가변적인 양만큼의 데이터를 저장하기 위해 프로그램의 프로세스가 사용할 수 있도록 미리 예약되어 있는 메인 메모리의 영역이다. 예를들면 하나의 프로그램은 처리를 위해 한명 이상의 사용자로부터 서로 다른 양의 입력을 받을 수 있으며 즉시 모든 입력데이터에 대해 처리를 시작한다. 운영체계로부터 이미 확보된 일정량의 힙 저장공간을 가지고 있으면 저장과 관련된 처리를 좀 더 쉽게 할 수 있으며 일반적으로 필요할 때마다 운영체계의 운영체계에게 매번 저장공간을 요청하는 것보다 빠르게 된다. 프로세스는 필요할 때 heap 블록을 요구하고 더 이상 필요 없을 때 반환하며 이따금씩 자투리 모으기를 수행함으로써 자신에게 할당된 heap을 관리하기도 한다. 여기서 자투리 모으기란 더 이상 사용되지 않는 블록들을 사용 가능한 상태로 만들고 또한 heap 내의 사용 가능한 공간을 인지함으로써 사용되지 않은 작은 조각들이 낭비되지 않도록 하는 것을 말한다.

힙이란 컴퓨터의 기억 장소에서 그 일부분이 프로그램들에 할당되었다가 회수되는 작용이 되풀이 되는 영역이다. 스택영역은 엄격하게 후입선출(LIFO)방식으로 운영되는데 비해 힙은 프로그램들이 요구하는 블록의 크기나 요구/횟수 순서가 일정한 규칙이 없다는 점이 다르다. 대개 힙의 기억장소는 포인터변수를 통해 동적으로 할당받고 돌려준다. 이는 연결 목록이나 나무, 그래프 등의 동적인 자료 구조를 만드는데 꼭 필요한 것이다.

그럼 힙 메모리를 프로그램을 사용할 수 있는 자유메모리라고 할 수 있다.프로그램 실행 시에 함수로 내는 데이터 등을 일시적으로 보관해 두는 소량의 메모리와 필요시 언제나 사용할 수 있는 대량의 메모리가 있다. 이때, 소량의 메모리를 ‘스택’이라 하고 대량의 메모리를 ‘힙’ 이라고 한다. 이 ‘힙’이 없어지면 메모리 부족으로 ‘이상종료’를 하게 된다.

프로세스에 exe 이미지가 로드되고, 할당되고, 이것저것 필요한 동적 라이브러리가 로드되고 사용되지 않는 미사용 구간이 있는 것은 분명한데 그 미사용 영역이 ‘힙’이라고 한다. 프로그램을 짤 때 new나 malloc()함수를 이용한 동적 할당을 하게 되면 힙 영역이 사용 가능하도록 되는 것이다. 필요한 메모리 사이즈만큼 OS에게 할당해 달라고 부탁할 수도 있으며, 사용을 다 했으면 다시 OS에게 넘겨줘야한다.

(출처 : http://mm.sookmyung.ac.kr/%7Em0311087/stack&heap.html)


----------------------------------------------------------------------------------------------------------------

heap

heap은 프로그램이 실행될 때까지는 알 수 없는 가변적인 량만큼의 데이터를 저장하기 위해, 프로그램의 프로세스가 사용할 수 있도록 미리 예약되어 있는 메인 메모리의 영역이다. 예를 들면, 하나의 프로그램은 처리를 위해 한 명 이상의 사용자로부터 서로 다른 량의 입력을 받을 수 있으며, 즉시 모든 입력데이터에 대해 처리를 개시한다. 운영체계로부터 이미 확보된 일정량의 heap 저장공간을 가지고 있으면, 저장과 관련된 처리를 좀더 쉽게 할 수 있으며, 일반적으로 필요할 때마다 운영체계에게 매번 저장공간을 요청하는 것보다 빠르다. 프로세스는 필요할 때 heap 블록을 요구하고, 더 이상 필요 없을 때 반환하며, 이따금씩 "자투리모으기"를 수행함으로써 자신에게 할당된 heap을 관리한다. 여기서 자투리모으기란 더 이상 사용되지 않는 블록들을 사용 가능한 상태로 만들고, 또한 heap 내의 사용 가능한 공간을 인지함으로써 사용되지 않은 작은 조각들이 낭비되지 않도록 하는 것을 말한다.
이 용어는 분명히 다른 용어인 스택(stack)의 영향을 받았다. 스택은 블록들이 저장공간으로부터 어떤 순서에 입각하여 꺼내어지고, 또 같은 방법으로 반환된다는 것을 제외하고는 heap과 비슷하다. 파스칼에서는, subheap은 스택처럼 취급되는 heap의 일부분이다.
c언어에서 heap에 메모리를 할당할 때는 memory allocation--> malloc()을 사용한다.

(출처 : http://cafe.naver.com/esw.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=27)


아래 블로그 글도 참조
(http://recipes.egloos.com/5057426)

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi
TAG heap, stack
WIKIPEDIA 펌 (http://en.wikipedia.org/wiki/Speex)

Speex is a patent-free audio compression format designed for speech and also a free software speech codec that may be used on VoIP applications and podcasts.[5] It is based on the CELP speech coding algorithm.[6] Speex claims to be free of any patent restrictions and is licensed under the revised (3-clause) BSD license. It may be used with the Ogg container format or directly transmitted over UDP/RTP.

The Speex designers see their project as complementary to the Vorbis general-purpose audio compression project.

Speex is a lossy format, meaning quality is permanently degraded to reduce file size.

The Speex project was created on February 13, 2002.[7] The first development versions of Speex were released under LGPL license, but as of version 1.0 beta 1, Speex is released under Xiph's version of the (revised) BSD license.[8] Speex 1.0 was announced on March 24, 2003, after a year of development.[9] The last stable version of Speex encoder and decoder is 1.1.12.[2]

 

Description

Unlike many other speech codecs, Speex is not targeted at cellular telephony but rather at Voice over IP (VoIP) and file-based compression. The design goals have been to make a codec that would be optimized for high quality speech and low bit rate. To achieve this the codec uses multiple bit rates, and supports ultra-wideband (32 kHz sampling rate), wideband (16 kHz sampling rate) and narrowband (telephone quality, 8 kHz sampling rate). Since Speex was designed for Voice over IP (VoIP) instead of cell phone use, the codec must be robust to lost packets, but not to corrupted ones. All this led to the choice of Code Excited Linear Prediction (CELP) as the encoding technique to use for Speex.[6] One of the main reasons is that CELP has long proven that it could do the job and scale well to both low bit rates (as evidenced by DoD CELP @ 4.8 kbit/s) and high bit rates (as with G.728 @ 16 kbit/s). The main characteristics can be summarized as follows:

  • Free software/open-source, patent and royalty-free
  • Integration of narrowband and wideband in the same bit-stream
  • Wide range of bit rates available (from 2 kbit/s to 44 kbit/s)
  • Dynamic bit rate switching and Variable bit-rate (VBR)
  • Voice Activity Detection (VAD, integrated with VBR) (not working from version 1.2)
  • Variable complexity
  • Ultra-wideband mode at 32 kHz (up to 48 kHz)
  • Intensity stereo encoding option

이만큼의 내용을 해석하여 써놨군요. 아래파일을 참조~


(출처 : http://cafe.naver.com/develx.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=124)


Feature
 
Sampling rate
Speex is mainly designed for three different sampling rates: 8 kHz (the same sampling rate to transmit telephone calls), 16 kHz, and 32 kHz. These are respectively referred to as narrowband, wideband and ultra-wideband.
Quality
Speex encoding is controlled most of the time by a quality parameter that ranges from 0 to 10. In constant bit-rate (CBR) operation, the quality parameter is an integer, while for variable bit-rate (VBR), the parameter is a real (floating point) number.
Complexity (variable)
With Speex, it is possible to vary the complexity allowed for the encoder. This is done by controlling how the search is performed with an integer ranging from 1 to 10 in a way similar to the -1 to -9 options to gzip compression utilities. For normal use, the noise level at complexity 1 is between 1 and 2 dB higher than at complexity 10, but the CPU requirements for complexity 10 is about five times higher than for complexity 1. In practice, the best trade-off is between complexity 2 and 4[10], though higher settings are often useful when encoding non-speech sounds like DTMF tones, or if encoding is not in real-time.
Variable Bit-Rate (VBR)
Variable bit-rate (VBR) allows a codec to change its bit rate dynamically to adapt to the "difficulty" of the audio being encoded. In the example of Speex, sounds like vowels and high-energy transients require a higher bit rate to achieve good quality, while fricatives (e.g. s and f sounds) can be coded adequately with fewer bits. For this reason, VBR can achieve lower bit rate for the same quality, or a better quality for a certain bit rate. Despite its advantages, VBR has three main drawbacks: first, by only specifying quality, there is no guarantee about the final average bit-rate. Second, for some real-time applications like voice over IP (VoIP), what counts is the maximum bit-rate, which must be low enough for the communication channel. Third, encryption of VBR-encoded speech may not ensure complete privacy, as phrases can still be identified, at least in a controlled setting with a small dictionary of phrases[11], by analysing the pattern of variation of the bit rate.
Average Bit-Rate (ABR)
Average bit-rate solves one of the problems of VBR, as it dynamically adjusts VBR quality in order to meet a specific target bit-rate. Because the quality/bit-rate is adjusted in real-time (open-loop), the global quality will be slightly lower than that obtained by encoding in VBR with exactly the right quality setting to meet the target average bitrate.
Voice Activity Detection (VAD)
When enabled, voice activity detection detects whether the audio being encoded is speech or silence/background noise. VAD is always implicitly activated when encoding in VBR, so the option is only useful in non-VBR operation. In this case, Speex detects non-speech periods and encodes them with just enough bits to reproduce the background noise. This is called "comfort noise generation" (CNG). Last version VAD was working fine is 1.1.12, since v 2.1 it has been replaced with simple Any Activity Detection.
Discontinuous Transmission (DTX)
Discontinuous transmission is an addition to VAD/VBR operation, that allows to stop transmitting completely when the background noise is stationary. In a file, 5 bits are used for each missing frame (corresponding to 250 bit/s).
Perceptual enhancement
Perceptual enhancement is a part of the decoder which, when turned on, tries to reduce (the perception of) the noise produced by the coding/decoding process. In most cases, perceptual enhancement makes the sound further from the original objectively (signal-to-noise ratio), but in the end it still sounds better (subjective improvement).
Algorithmic delay
Every codec introduces a delay in the transmission. For Speex, this delay is equal to the frame size, plus some amount of "look-ahead" required to process each frame. In narrowband operation (8 kHz), the delay is 30 ms, while for wideband (16 kHz), the delay is 34 ms. These values don't account for the CPU time it takes to encode or decode the frames.
저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by SamSiKi
TAG Codec, speex