처음 알게된 case 문 문법?

from Study/C언어 2009/03/06 17:29 view 26774
/* Do not fret, for it is merely a wonderful gcc extension. */
case 'A'...'Z':
case 'a'...'z':
case '0'...'9':

범위를 지정해서 그사이에 있는 경우까지 포함시키는 정규식??
하지만!! gcc에서만 된다는거..-_ㅡ;;
VS6.0 에서 테스트 해보니 모르는 표현이라고 뭐라 하네..
Tag |

차세대 인터넷 P2P

from Book/읽은 책 2009/03/03 10:06 view 28227
차세대 인터넷 P2P
팀 오라일리 공저/앤디 오람 편/전형성 공역

2000년 책이지만 P2P 의 전반적인 이야기를 여러명이서 해주는 책으로 나름 대가들의 이야기를 들을 수 있다. ㅜ_ㅜ 어렵다..


위치라는 관념을 버리게 할 중요한 개념으로 도약할 시간이 다가옴.  - 13

"어떻게 일반적인 개인 사용자들을 믿을 수 있지요?"  - 15

인터넷은 전세계에 퍼져 있는 수백만 호스트들로 이루어진 협력 네트워크로 볼 수 있으며 공유된 자원이라 할 수 있다. - 25


네트워크를 사용할 수 있다는 의미는 대역폭을 소비 한다는 의미이다. - 25

대역폭 : 일정 시간 내에 어떤 특정한 회선을 통해 전송할 수 있는 정보의 양을 말한다.


인터넷 아키텍처에 책임성이라는 것이 부족하다. 어떤 호스트라도 다른 호스트에 연결할 수 있고, 신원을 확인할 수 없는 익명에 가까운 상태로 연결하기 때문이다. - 39


인터넷 설계의 기본 원칙은 "최대 노력(Best Effort)" 패킷 전달이다.-40

Best Effort : 인터넷이 모든 패킷을 확실히 전달할 수 있다는 보장은 없지만 패킷이 목적지에 도착하도록 최대한 노력할 것이라는 의미.


인터넷이 상업화 되면서 "공유지의 비극(tragedy of the commons)" 에 민감하다. 허용하는 대역폭 이상을 이용하는 프로토콜을 사용하여 불공평하게 많은 대역폭을 사용할 뿐만 아니라 모든 이들을 위한 공동 자원을 독점하여 인터넷에 혼란을 가져 올 수 있다. - 41

공유지는 한 무리의 사람들이 공유하는 자원(어떤 것이라도)을 일컫는다. 공유지의 비극이란 각자가 자신의 이익을 먼저 생각하기 때문에 공유하고 있는 자원이 모두 없어질 때까지 그것을 남용한다는 것이다. - 457


방화벽, 동적 IP, NAT는 인터넷 아키텍처를 확장성 있고 안전한 시스템으로 만드는데 필요하다는 요구 속에서 상장하였다. 그리고 이것들은 수백만 클라이언트 컴퓨터들을 쉽게 관리할 수 있게 해주고 인터넷에 빨리 연결할 수 있게 해주었다. 하지만 이런 기술은 대부분의 컴퓨터를 클라이언트 역할만 하는 이유로 전락시켜 인터넷의 하부 구조 자체를 약하게 만들었다. - 45


데이터 전송에 비용이 많이 드는 P2P시스템에서는 "가벼운 중앙 집중(soft centralization)"형태가 적합하다. - 49


분산화는 낮은 신뢰성, 부정확한 데이터 동기화(synchronization) 같은 문제를 유발시킨다. - 51


방화벽이 하나의 포트라도 허용되는 이상 P2P 애플리케이션들은 그 구멍을 슬그머니 지나갈 방법을 계속 찾을 것이다. - 52


P2P 네트워킹을 어렵게 만드는 요인들 -  52

방화벽은 호스트들간의 접속을 어렵게 함. - 방화벽을 더 영리하게 만들어서 P2P 애플리케이션이 방화벽과 협력하여 관리자가 원하는 패킷을 허용할 수 있게 해야 한다.

동적 IP와 NAT는 호스트들 간의 접속을 거의 불가능하게 함. - IPv6 128비트 주소 체계를 사용하여 모든 호스트들이 영구적인 주소를 가지도록 한다.

초고속 인터넷의 비대칭 대역폭은 P2P 시스템에서 공유 파일을 효율적으로 제공하기 어렵게 함. - 데이터 캐싱과 대역폭 관리를 할 수 있도록 한다.


P2P인지 아닌지 확인할 기준 - 60

일시적인 네트워크 주소와 다양한 연결을 지원할 수 있는가?

네트워크의 가장자리에 있는 노드의 자율권을 확실하게 보장해줄 수 있는가?

서비스를 제공하는 측의 하드웨어를 누가 소유하고 있는가?


3. P2P 밈의 재건

밈(meme) - 마음에서 전해져 스스로 퍼지고 재생성하는 아이디어. - 88

새로운 P2P 밈 지도 - 100

메타데이터 관리 : 어드레싱과 라우팅 관리, 발견과 검색 서비스, 네임스페이스 마케팅이나 현존하는 것의 효력

"가장자리 서비스"를 통해 인터넷 자원의 활용을 극대화.

IT 병목 현상의 해결책

참여는 가능한 한 능동에 가까워야 하며 피어는 언제든 네트워크에서 빠져나갈 수 있다.


메타데이터는 사용자들이 검색하는 가수 이름과 곡 이름의 조합을 의미한다. 그리고 중앙서버에서 관리하는 이름, 사용자들의 IP 주소, 음악 파일 크기, 사용자의 연결 속도과 같은 부가적인 데이터. - 105

메타데이터는 데이터에 관한 데이터(data about data)인 것이다. - 337

고유 식별자(unique identification)은 메타데이터에서 매우 중요한 기술이다. - 346

하나의 일관성 있는 메타데이터 프레임워크를 사용하고 네트워크에 노출되어 있는 모든 메타데이를 최대한 활용할 수 있는 검색방법을 설계 - 352



키 - 232

모든 문서는 키로 인덱스 된다. 개개의 노드들은 본래부터 신뢰 받지 않기 때문에 노드들이 허위 문서를 반환하지 못하게 해야 한다. 만일 그렇게 하지 않으면 허위 문서들이 캐시에 저장될 것이고 허위 데이터들이 암세포처럼 퍼질 것이다. 키의 주요 임무는 이런 허위 문서들을 예방하는 것이다.

내용 해시 키(CHK, content hash key)는 데이터 해시를 통해 형성된다.


중앙 통제 시스템에서는 중앙 서버를 통해 피어간 협조가 이뤄지며, 모든 협조는 통제를 받는다. 나중에는 중앙 서버에서 받은 정보로 피어끼리 직접 연결한다. - 357

계층 시스템은 통제 권한을 전부 또는 어느 정도 중앙에서 트리의  하위 통제자에게 위임한다. 피어는 그룹 계층에 속하게 되고, 같은 그룹에 있는 피어들 사이에서 이루어지는 통신은 그 그룹을 통제하는 통제자가 중재한다. 그리고 다른 그룹과 통신하려면 상위 통제자를 통과해야 한다.( DNS )

완전히 분산화된 P2P 시스템에는 통제라는 것이 전혀 없다. 모든 통신은 로컬 단계에서 실행되며 전적으로 피어들에 의해 이루어진다. 이런 시스템은 대개 다른 피어를 대신하여 메시지를 전달하는 어떤 전달 장치를 수반한다.


캐싱을 사용하여 특정 데이터가 빈번하게 요청된다면 그 데이터를 요청자 근처에 저장한다. 웹 브라우저도 최근에 방문한 페이지를 캐시에 저장한다.

이 글은 스프링노트에서 작성되었습니다.

Tag |

Fedora GDM 자동 로그인 설정

from Info/OS 2009/02/28 09:51 view 34313
-_-..우분투는 시스템메뉴에 있던게 왜 페도라엔 없을까...

Fedora Core 9 에 있는 GDM 2.22 버전 설정내용
[root@serahero ~]# vi /etc/gdm/custom.conf
# GDM configuration storage
[daemon]
TimedLoginEnable=true
TimedLogin=사용자 계정명
TimedLoginDelay=0

[xdmcp]

[chooser]

[security]

[debug]


참고링크 : http://dnmouse.webs.com/autologin.html

Fedora10 설치 가이드 링크

from Info/OS 2009/02/27 13:26 view 52008
원문 : http://www.my-guides.net/
  1. Upgrading from Fedora 7/8/9
  2. Configuring sudo
  3. Configuring yum
  4. Configuring Services
  5. Installing video drivers
  6. Installing Microsoft fonts
  7. Configuring Nautilus
  8. Configuring Firefox
  9. Configuring e-mail client
  10. MP3 and Audio players
  11. DVD & Video
  12. IRC Clients
  13. MSN Messenger Clients
  14. Author, Burn and BackUp CD/DVDs
  15. Download managers
  16. PDF Readers
  17. Torrent Clients
  18. Other Useful Applications
  19. Accessing Windows Partitions
  20. Accessing Windows Shares
  21. Compiz-fusion
  22. KDE
  23. JAVA
  24. Plymouth Graphical Boot

Fedora Network Manger(고정IP사용)

from Info/Tools 2009/02/27 12:27 view 69344
cmd #1

/etc/init.d/NetworkManager stop
ntsysv
(NetworkManager 해지, network 체크)
system-config-network-tui
(고정아이피및, DNS추가)
(network 사용 체크, 사용하고자 하는 고정IP 체크)
service network restart
init 6

cmd #2
ping sendto: Network is unreachable 이 발생했을 때 이런 방법으로 해결..

Edit /etc/sysconfig/network-scripts/ifcfg-eth0 (or whatever device)

DEVICE=eth0
IPADDR=*insert IP address here"
NETMASK=*insert netmask here*
NETWORK=*insert network address here*
BROADCAST=*insert broadcast address here*
GATEWAY=_insert gateway address here*
ONBOOT="yes" = interface will be active at boot time.
       "no"  = interface will NOT be active at boot time.

.If you have X-Windows set up, you can also use RH's "Network Configurator" (/usr/bin/netcfg) which actually writes to these files.
Additionally, after editing the file, do a "ifup eth0" to activate it and ifdown eth0 to deactivate it.


NetworkManager #1

NetworkManager provides automatic network detection and configuration for the system. Once enabled, the NetworkManager service also monitors the network interfaces, and may automatically switch to the best connection at any given time. Applications that include NetworkManager support may automatically switch between on-line and off-line modes when the system gains or loses network connectivity.

These facilities are most useful for modern laptops, where the user may move between wireless networks, and plug in to a variety of wired networks, but NetworkManager also provides features that are relevant to workstations. Current versions of NetworkManager support modem connections, and certain types of VPN. Development of these features is ongoing.

NetworkManager requires Fedora to have drivers for the wired and wireless interfaces on the computer. Many manufacturers of modems and wireless devices provide limited support for Linux. You may need to install additional drivers or firmware on your Fedora system in order to activate these interfaces.

Drivers first
NetworkManager may only work with network interfaces once the relevant drivers are correctly installed on your system. Reboot your system after installing a new firmware or a new driver in order to ensure that the changes take effect.

Enabling NetworkManager on Fedora

Command line way

The installation process for Fedora automatically provides NetworkManager. To enable it, enter the following commands in a terminal window:

1. Set the main service to automatically start on boot: su -c '/sbin/chkconfig --level 345 NetworkManager on' 1. Start the service: su -c '/sbin/service NetworkManager start

For each su command, enter the root password at the prompt.

Graphical Way

Start the system-config-services program, enter your root password and activate the NetworkManager service for runlevel 5.

Gnome-specific information

The NetworkManager tray icon automatically appears on your desktop once the services are started. If the NetworkManager service is active, then the tray icon appears each time that you log in to your desktop.

NetworkManager also stores any encryption keys in the gnome-keyring manager. If your are prompted to enter the keyring password after login, then keep reading. If your login password & the keyring password are the same, then there is a tool built to open the keyring for you on login. The package is called pam_keyring. To configure your system first install pam_keyring with yum:

su -c 'yum -y install pam_keyring'

Second you'll need to modify your /etc/pam.d/gdm file.

su -c 'gedit /etc/pam.d/gdm'

Add the following lines

auth    optional    pam_keyring.so try_first_pass
session optional pam_keyring.so

The order in which this lines are placed in this file are important, here is a copy from a working system

#%PAM-1.0
auth required pam_env.so
auth optional pam_keyring.so try_first_pass <---
auth include system-auth
account required pam_nologin.so
account include system-auth
password include system-auth
session optional pam_keyinit.so force revoke
session include system-auth
session required pam_loginuid.so
session optional pam_console.so
session optional pam_keyring.so <---

Now reboot your computer. After login the keyring will be unlocked for you. If your keyring password is different from your login password, don't worry, there is a tool available to change it.

su -c 'yum -y install gnome-keyring-manager gnome-keyring pam_keyring

Once you have installed pam_keyring and gnome-keyring, you will need to log out and back on. Then you can run

/usr/libexec/pam-keyring-tool -c

to change the default password. Alternatively you can now change a password through gnome-keyring-manager. Download and install gnome-keyring-manager. Then highlight the keyring and select Change Keyring Password from the Keyring menu of gnome-keyring-manager.

KDE specific information

To control NetworkManager by a system tray applet you need to install and start the program knetworkmanager of the same named package. The keys to the different networks are stored automatically in KDE's password storage system kwalletmanager.

Further Information


Retrieved from "https://fedoraproject.org/wiki/Tools/NetworkManager"

NetworkManager #2

Fedora 10 uses NetworkManager by default. The primary settings for any network devices will be automatically selected at installation time. Since there is no screen for selecting networking options, most devices will default to using DHCP.

Using NetworkManager has greatly improved networking for many wireless and some less common devices (mobile broadband, GSM, etc.), it may still have problems with some configurations. NetworkManager development and integration into Fedora is still an ongoing effort.

NOTE: The following steps do NOT apply to all users. NetworkManager is highly recommended for Laptop users, especially using wireless with security.

Disabling NetworkManager and Enabling network Service

On machines with a fixed networking device and a fixed IP address (e.g. desktop, server, appliance), it might be more practical to disable NetworkManager and use the older network service. Additionally users requiring virtual device types (bridging, bonding, or VLANs) will also need to use the network service.

Note that the Fedora 10 installer disables the network service by default. To switch to using the network service:

First disable NetworkManager and prevent it from automatically loading:

[mirandam@charon ~]$ sudo /etc/init.d/NetworkManager stop
Stopping NetworkManager daemon: [ OK ]

[mirandam@charon ~]$ sudo /sbin/chkconfig --level 35 NetworkManager off

Next, configure your network settings:

[mirandam@charon ~]$ sudo system-config-network

You should have an eth0 device already showing. To configure the IP settings click on Edit. Do not forget to set DNS on the DNS tab (if you're using fixed IP's). Make sure the eth0 is selected as Active. Then File > Save and quit.

Next, enable the service and make sure it loads at next boot:

[mirandam@charon ~]$ sudo /etc/init.d/network start
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]

[mirandam@charon ~]$ sudo /sbin/chkconfig --level 35 network on

While it may be possible to re-activate your network without a reboot, it may be recommended to reboot.

Startup Applications Requiring Network

Some applications require the network to be initialized during boot. If you are using NetworkManager and having these problems, edit /etc/sysconfig/network as 'root' and add the following line:
NETWORKWAIT=1. Or run:

[mirandam@charon ~]$ sudo su -c 'echo NETWORKWAIT=1 >> /etc/sysconfig/network'

Some related information can be found on the Fedora Wiki.

점심먹고 나서 비스타로 부팅하려던 순간 비스타 부팅후 시간이 지나면 공포의 파란화면이 발생했다.

설마 소프트웨어 문제인가 싶어 안전모드로 접속했더니 멀쩡하다 해서 의심되는 소프트웨어 몇개를 간추려 보았다.

커널쪽에 접근하는거 중에 내심 불안한 보안툴!! 알약을 지웠더니 정상부팅이 되었는데....

결국 이스트소프트 - 알약 홈페이지에 공지가 나오는구나 ㅜ_ㅜ... 시댕... 잘좀해요!! 다시 깔아야 하나.. 신용도 하락중..그래도 써야지-_-...

[긴급공지] 일부 비스타 PC의 재부팅 현상 복구 방법


Tag | ,

RTP

from Study/Network 2009/02/27 09:37 view 29913

1. RTP & RTSP connection

RTP-RTSP.JPG


2. RTP

  • 실시간 Application 을 위한 종단 간 네트워크 전송 기능 제공.

  • 실시간 세션에 관한 정보가 포함되어 있으므로 Application은 지터 잘못된 패킷 순서 및 삭제된 패킷을 쉽게 조정 가능.

  • 자원예약이 없으므로 서비스 품질 보장 없음.

  • 맞춤형 프로토콜 - 헤더를 Application 에 따라 변경가능하다.

  • UDP/IP 로 패킷을 전송한다. Payload 부분에 멀티미디어 데이터가 포함된다.


3. RTCP

  • RTP 와 결합하여 작동하는 제어 프로토콜로써 동작한다.

  • 데이터 품질에 대한 피드백과 맴버쉽정보를 전달한다..

  • 패킷손실률, 지터, 라운드트립 지연등.

  • 이를 바탕으로 흐름제어, 에러제어등을 수행할 수 있다.


4. RTSP

  • 미디어 플레이어가 매체 스트림의 전송을 제어 할 수 있는 프로토콜.

  • 실시간 멀티미디어 데이터 저송제어로써 HTTP 의 확장.

  • 실제 데이터를 전송하지는 않는다.

  • 네트워크 원격제어 역할을 수행한다.

  • UDP나 TCP 상으로 전송될 수 있다.


5. RTSP 흐름도
   

RTSP1(1).JPG

이 글은 스프링노트에서 작성되었습니다.

Tag |

배너링크

from Link 2009/02/27 02:44 view 32918

배너

IBM KLDP Sgi c++ QT catch22 드라이버온라인 wiki codeguru phrack Devpia winapi codeproject msdn whdc debuglab gpgstudy alhem codase LinuxQuestions lwn 리눅스내부소스 리눅스리뷰 리눅스잡지

오픈소스
Tag | ,

갑자기 피아노가 배우고 싶어진다... ㅜ_ㅜ 렛잇비보다 감동이라니...

내 코드에서 문제가 몇톤이나 될때 친구 그리고 동료가 내게와 "C로 짜"
내 코드에 수 많은 문제가 있다는걸 발견했을때 친구와 동료들은 내게 와서 격언을 말하지... "C로 짜"
그리고 마감시간에 쫒기고 눈에 보이는게 다 버그일 때 어디선가 누군가 속삭이는 소리.. "C로 짜"
C로 짜 C로 짜 C로 짜 오~ C로 짜 LOGO는 죽었고 까칠해 "C로 짜 "
난 과학분야에서 포트란을 많이 써왔고 완벽하게 동작했지. 그래픽스에도 써봐. "C로 짜"
만약 네가 어셈 코드를 디버깅하는데 30시간을 써봐. C로 짜는거에 감사하게 될꺼야.
C로 짜 C로 짜 C로 짜 오~ C로 짜 BASIC은 답이 아니야 "C로 짜"
C로 짜 C로 짜 C로 짜 오~ C로 짜 PASCAL로 깔끔한 해결이 안 될꺼야 "C로 짜"


Feng 설치가이드

from Info/Tools 2009/02/25 16:11 view 135627

// 대략 정리 한거...make 도중 에러가 나면 configure 에서 버젼을 낮춰주거나 소스를 살짝 고치는 수고(매개변수,NULL->0)도 해야함 ..Fedora에선 잘안됨.CentOS가 잘됨..

// git 나 wget 으로 소스 못 받아오는건 직접 홈페이지에서 받자.

feng source 설치

yum install theor*

yum install git*

yum install faad* // 못찾으면 다른 패키지에서 얻어오기..

yum install faac* //못찾으면 다른 패키지에서 얻어오기..

cd /usr/src 폴더로 이동

wget http://downloads.sourceforge.net/lame/lame-398-2.tar.gz?modtime=1222116320&big_mirror=0

압축풀고 -> ./configure -> make -> make install

yum install yasm

cd /usr/src 폴더로 이동

git clone git://git.videolan.org/x264.git

./configure --disable-asm

make

make install

cd /usr/src 폴더로 이동

wget http://ftp.penguin.cz/pub/users/utx/amr/amrnb-7.0.0.2.tar.bz2

wget http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.3.tar.bz2

둘다 압축 풀고 ./configure -> make -> make install

cp /usr/local/lib/libamrwb.so.3.0.0 /usr/lib

ln -s /usr/lib/libamrwb.so.3.0.0 /usr/lib/libamrwb.so.3

cd /usr/src 폴더로 이동

svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

./configure --prefix=/usr --enable-static --enable-shared --enable-gpl --enable-postproc --enable-swscale --enable-pthreads --enable-libamr-nb --enable-libamr-wb --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libx264 --disable-ffserver --disable-ffplay --disable-debug --disable-network --enable-nonfree --enable-avfilter --enable-avfilter-lavf --disable-devices --disable-vhook

make

make install

-- how to install autoconf for feng library --

<< autoconf 버전 낮을 시 버전업그레이드 필요 >>

wget ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.63.tar.gz

-> download latest version

./configure -> make -> make install

-- for Client --

yum install lksctp*

yum install bison-devel

yum install mysql mysql-server mysql-devel

---- feng ---

http://www.lscube.org/ 에서 feng 과 종속라이브러리 들을 다운로드한 후 압축을 푼다.

Dependencies

cd bufferpool

/usr/local/bin/autoreconf -v -i

configure

make

make install

cd netembryo

/usr/local/bin/autoreconf -v -i

configure

make make install

cd libnemesi

/usr/local/bin/autoreconf -v -i

configure

make make install

feng을 다운받고

압축 풀고 ./configure -> vim mediathread/demuxer/demuxer_avf.c

demuxer_avf.c line 210번째 줄

props.bit_per_sample = codec->bits_per_sample;

--> props.bit_per_sample = codec->bits_per_coded_sample; 교체

실행시 feng: error while loading shared libraries: /usr/lib/libavformat.so.52: cannot restore segment prot after reloc: Permission denied

이런 종류 에러가 뜨면 chcon -t texrel_shlib_t /usr/lib/libavformat.so.52 이걸로 해결



이 글은 스프링노트에서 작성되었습니다.