|
ITWeb/개발일반 2021. 11. 10. 13:55
sed - stream editor for filtering and transforming text
예) 파일 내부 컨텐츠 내용을 변경 $ sed -i "s/FIND-VAR/REPLACE-VAR/g" FILE
Cloud&Container/AWS 2020. 3. 12. 21:20
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/set-time.html
문서 보고 잘 따라 하시면 됩니다. :)
Amazon Time Sync Service를 사용하도록 인스턴스를 구성하려면
-
인스턴스를 연결하고 NTP 서비스를 제거합니다.
[ec2-user ~]$ sudo yum erase 'ntp*'
-
chrony 패키지를 설치합니다.
[ec2-user ~]$ sudo yum install chrony
-
vim 또는 nano과 같은 텍스트 편집기를 사용하여 /etc/chrony.conf 파일을 엽니다. 파일이 다음 라인을 포함하고 있는지 확인합니다.
server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4
이 라인이 존재할 경우, Amazon Time Sync Service가 이미 구성된 상태이기 때문에 다음 단계로 넘어갈 수 있습니다. 라인이 없는 경우에는 파일에 이미 존재하는 다른 server 또는 pool 문 뒤에 라인을 추가하고 변경 사항을 저장합니다.
-
chrony 데몬(chronyd)을 다시 시작합니다.
[ec2-user ~]$ sudo service chronyd restartStarting chronyd: [ OK ]
참고
RHEL 및 CentOS(최대 버전 6까지)에서 서비스 이름은 chrony이 아니라 chronyd입니다.
-
chkconfig 명령을 사용해서 매번 시스템이 부팅할 때마다 시작되도록 chronyd를 구성합니다.
[ec2-user ~]$ sudo chkconfig chronyd on
-
chrony가 169.254.169.123 IP 주소를 사용하여 시간을 동기화하고 있는지 확인합니다.
[ec2-user ~]$ chronyc sources -v210 Number of sources = 7 .-- Source mode '^' = server, '=' = peer, '#' = local clock. / .- Source state '*' = current synced, '+' = combined , '-' = not combined, | / '?' = unreachable, 'x' = time may be in error, '~' = time too variable. || .- xxxx [ yyyy ] +/- zzzz || Reachability register (octal) -. | xxxx = adjusted offset, || Log2(Polling interval) --. | | yyyy = measured offset, || \ | | zzzz = estimated error. || | | \ MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* 169.254.169.123 3 6 17 43 -30us[ -226us] +/- 287us ^- ec2-12-34-231-12.eu-west> 2 6 17 43 -388us[ -388us] +/- 11ms ^- tshirt.heanet.ie 1 6 17 44 +178us[ +25us] +/- 1959us ^? tbag.heanet.ie 0 6 0 - +0ns[ +0ns] +/- 0ns ^? bray.walcz.net 0 6 0 - +0ns[ +0ns] +/- 0ns ^? 2a05:d018:c43:e312:ce77:> 0 6 0 - +0ns[ +0ns] +/- 0ns ^? 2a05:d018:dab:2701:b70:b> 0 6 0 - +0ns[ +0ns] +/- 0ns
반환된 출력에서 ^*는 기본 설정된 타임 소스를 나타냅니다.
-
chrony에서 보고된 시간 동기화 지표를 확인합니다.
[ec2-user ~]$ chronyc trackingReference ID : A9FEA97B (169.254.169.123) Stratum : 4 Ref time (UTC) : Wed Nov 22 13:18:34 2017 System time : 0.000000626 seconds slow of NTP time Last offset : +0.002852759 seconds RMS offset : 0.002852759 seconds Frequency : 1.187 ppm fast Residual freq : +0.020 ppm Skew : 24.388 ppm Root delay : 0.000504752 seconds Root dispersion : 0.001112565 seconds Update interval : 64.4 seconds Leap status : Normal
Amazon Time Sync Service를 사용하도록 인스턴스를 구성하려면
-
인스턴스를 연결해 apt를 사용하여 chrony 패키지를 설치합니다.
ubuntu:~$ sudo apt install chrony
참고
필요할 경우 sudo apt update를 실행하여 먼저 인스턴스를 업데이트합니다.
-
vim 또는 nano과 같은 텍스트 편집기를 사용하여 /etc/chrony/chrony.conf 파일을 엽니다. 파일에 이미 존재하는 server 또는 pool 문 앞에 다음 라인을 추가하고 변경 사항을 저장합니다.
server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4
-
chrony 서비스를 다시 시작합니다.
ubuntu:~$ sudo /etc/init.d/chrony restart[ ok ] Restarting chrony (via systemctl): chrony.service.
-
chrony가 169.254.169.123 IP 주소를 사용하여 시간을 동기화하고 있는지 확인합니다.
ubuntu:~$ chronyc sources -v210 Number of sources = 7 .-- Source mode '^' = server, '=' = peer, '#' = local clock. / .- Source state '*' = current synced, '+' = combined , '-' = not combined, | / '?' = unreachable, 'x' = time may be in error, '~' = time too variable. || .- xxxx [ yyyy ] +/- zzzz || Reachability register (octal) -. | xxxx = adjusted offset, || Log2(Polling interval) --. | | yyyy = measured offset, || \ | | zzzz = estimated error. || | | \ MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* 169.254.169.123 3 6 17 12 +15us[ +57us] +/- 320us ^- tbag.heanet.ie 1 6 17 13 -3488us[-3446us] +/- 1779us ^- ec2-12-34-231-12.eu-west- 2 6 17 13 +893us[ +935us] +/- 7710us ^? 2a05:d018:c43:e312:ce77:6 0 6 0 10y +0ns[ +0ns] +/- 0ns ^? 2a05:d018:d34:9000:d8c6:5 0 6 0 10y +0ns[ +0ns] +/- 0ns ^? tshirt.heanet.ie 0 6 0 10y +0ns[ +0ns] +/- 0ns ^? bray.walcz.net 0 6 0 10y +0ns[ +0ns] +/- 0ns
반환된 출력에서 ^*는 기본 설정된 타임 소스를 나타냅니다.
-
chrony에서 보고된 시간 동기화 지표를 확인합니다.
ubuntu:~$ chronyc trackingReference ID : 169.254.169.123 (169.254.169.123) Stratum : 4 Ref time (UTC) : Wed Nov 29 07:41:57 2017 System time : 0.000000011 seconds slow of NTP time Last offset : +0.000041659 seconds RMS offset : 0.000041659 seconds Frequency : 10.141 ppm slow Residual freq : +7.557 ppm Skew : 2.329 ppm Root delay : 0.000544 seconds Root dispersion : 0.000631 seconds Update interval : 2.0 seconds Leap status : Normal
ITWeb/개발일반 2020. 2. 26. 08:33
AWS Linux 로 EC2 생성을 했을 경우)
$ ssh -i key.pem ec2-user@hostname
AWS Ubuntu 로 EC2 생성을 했을 경우)
$ ssh -i key.pem ubuntu@hostname
ITWeb/스크랩 2008. 6. 30. 14:22
ref. http://forum.falinux.com/zbxe/?mid=lecture_tip&page=2&document_srl=406068
디렉토리 명 |
설 명 |
/ |
루트 디렉토리 |
/bin |
가장 필수적인 실행명령 |
/boot |
커널,LILO 등 부팅에 관련된 파일 |
/dev |
장치파일 모음 |
/etc |
시스템 전체 설정파일 |
/home |
사용자의 홈디렉토리 |
/lib |
C 라이브러리 등 가장 필수적인 공유 라이브러리 |
/mnt |
임시 마운트용 디렉토리 |
/proc |
시스템 정보를 위한 가상적인 디렉토리 |
/root |
루트 사용자의 홈 디렉토리 |
/sbin |
시스템 관리용 실행파일 |
/tmp |
임시 파일 생성용 디렉토리 |
/usr |
어플리케이션이 설치되는 디렉토리 |
/var |
시스템 운영중 생성되는 각종 임시 파일 |
디렉토리 명 |
설 명 |
/dev/fd0 |
프로피 디스크 드라이브 |
/dev/hda |
첫 번째 슬롯 마스터 IDE 하드 디스크 드라이브 |
/dev/hdb |
첫 번째 슬롯 슬레이브 IDE 하드 디스크 드라이브 |
/dev/hdc |
두 번째 슬롯 마스터 IDE 하드 디스크 드라이브 |
/dev/hdd |
두 번째 슬롯 슬레이브 IDE 하드 디스크 드라이브 |
/dev/sda |
첫 번째 SCSI 하드 디스크 드라이브 |
/dev/sdb |
두 번째 SCSI 하드 디스크 드라이브 |
/dev/st0 |
첫 번째 SCSI 테이프 드라이브 |
/dev/st1 |
두 번째 SCSI 테이프 드라이브 |
/dev/scd0 |
첫 번째 SCSI CD 롬 드라이브 |
/dev/scd1 |
두 번째 SCSI CD 롬 드라이브 |
/dev/cdrom |
IDE CD 롬 드라이브 |
/dev/mouse |
마우스 |
/dev/ttyS0 |
COM 1 시리얼 포트 |
/dev/ttyS1 |
COM 2 시리얼 포트 |
/dev/lp0 |
첫 번째 병렬 포트 |
/dev/lp1 |
두 번째 병렬 포트 |
/dev/console |
시스템의 콘솔 장치입니다. |
/dev/null |
아무것도 없는 장치(?) 하수구라고 생각하시면 되겠습니다. 예로 어떤 출력을 해야 하는데, 그 출력을 그냥 버리고 싶다면 출력 방향을 이 장치로 설정하면 그냥 하수구로 버리듯이 모든 출력이 사라집니다.
이 장치는 프로그램에서 열기 명령을 사용하면 항상 OK가 됩니다. 그러므로 프로그램에서도 디버깅에 상용되며, 셀 명령 실행에서 보기 싫은 출력 문자열을 없앨 때에도 사용됩니다. |
/dev/zero |
/dev/null처럼 가상 파일이면서 이 장치에 쓰기를 하면 출력이 사라지지만 특정한 길이의 초기화된 더미 파일을 임시 스왑 파일을 만들 때 사용한다고 합니다. 아직은 도대체 뭔 소리인지 잘 모르겠습니다. --; |
cat **** |
설 명 |
/proc/1/status |
첫번째 프로세스의 상태를 출력합니다.
/proc 아래에 프로세스 별로 번호에 맟춘 디렉토리가 있으며, 각 디렉토리에 프로세스별 정보가 있습니다. 예로, /proc/1 |
/proc/cpuinfo |
cpu 에 대한 타입, 제조사, 모델, 성능 등에 관한 정보가 출력 |
/proc/devices |
현재 동작 중인 디바이스 드라이버 목록 |
/proc/dma |
현재 어떤 DMA 채널을 사용 중인지를 출력 |
/proc/filesystems |
커널에 설정되어 있는 파일 시스템 목록 |
/proc/interrupts |
어떤 인터럽트가 사용 중이고 각각의 인터럽트가 얼마나 사용되었는지를 출력 |
/proc/ioports |
현재 어떤 I/O 포트가 사용 중인지를 출력 |
/proc/kcore |
현재 시스템에서 사용중인 메로리의 실제 이미지로 실제 메모리의 내용을 모두 가진 것처럼 보이지만 프로그램이 필요로 하는 부분의 이미지만을 필요할 때 만들어 제공 |
/proc/kmsg |
커널에 의해서 출력되는 메시지들을 저장하고 있는 파일 |
/proc/loadavg |
현재 시스템의 평균 부하량(Load Average)에 대한 정보를 출력 |
/proc/ksyms |
시스템 커널이 사용하고 있는 심볼들에 대한 정보를 저장하고 있는 파일 |
/proc/meminfo |
사용중인 메모리의 사용량을 출력. 가상 메모리에 대한 정보도 얻을 수 있습니다. |
/proc/self |
/proc 를 억세스하는 프로그램의 프로세스 디렉토리에 대한 심볼릭 링크로 두개의 프로세스가 /proc에 접근하면 각각은 서로 다른 링크를 가지게 됩니다. 이것은 주로 프로그램이 자신의 프로세스 디렉토리에 쉽게 접근할 수 있도록 해줍니다. |
/proc/stat |
시스템의 현재 상태에 대한 다양한 정보를 저장하고 있는 파일 |
/proc/uptime |
시스템이 얼마나 오래 동작했는지에 대한 정보를 저장하고 있는 파일 |
/proc/version |
시스템이 현재 사용중인 커널 버전에 대한 정보를 저장하고 있는 파일 |
프로그램 |
설 명 |
cat |
파일 내용을 출력 |
chgrp |
파일의 그룹 속성 변경 |
chmod |
파일의 접근 권한 변경 |
chown |
파일의 소유자 변경 |
cp |
파일 복사 |
cut |
특정 필드를 파일 밖으로 복사 |
date |
현재 날짜 출력 |
df |
파일 시스템별 용량 출력 |
dmesg |
부팅 메시지 출력 |
grep |
파일 안의 특정 패턴을 검색 |
gupzip gzip |
파일 압축 |
hostname |
컴퓨터 이름 출력 |
kill |
프로세스 죽이기 |
link |
링크 만들기 |
ls |
파일 목록 출력 |
mkdir |
디렉토리 만들기 |
mount |
장치를 시스템에 연결 |
mv |
파일 이동/파일 이름 변경 |
netstat |
현재 연결된 네트워크에 대한 모든 정보 |
ping |
상대 P.C. 가 네트워크에 연결되어 있는지 확인 |
ps |
실행 중인 프로세스 목록 |
pwd |
현재 작업 디렉토리 출력 |
rm |
파일 삭제 |
rmdir |
디렉토리 삭제 |
rpm |
rpm 관리자 |
sleep |
초 단위 대기 |
su |
사용자 변경 |
tar |
여러 개의 파일을 묶거나 풀기 |
touch |
크기가 0인 파일을 만들거나 파일의 날짜/시간을 변경 |
umount |
mount 해제 |
unlink |
link 파일 제거 |
usleep |
1/1,000,000초 단위로 대기 |
vi |
vi 에디터 |
프로그램 |
설 명 |
clock |
현재의 날짜와 시간을 출력 |
fdisk |
파티션을 새로 생성하거나 삭제 |
findfs |
라벨에 해당되는 파티션 정보 구하기 |
fixfiles |
파일과 관련하여 많은 거부 상황이 발생할 때 사용 |
grub |
grub 부팅 관리자 관련 프로그램 |
grub-install |
grub-md5-crypt |
grub-terminfo |
halt |
시스템 종료 |
ifconfig |
네트워크 설정 |
ifdown |
네트워크 종료 |
ifup |
네트워크 시작
*** 네트워크 설정 상태를 변경하셨다면 ifdown 과 ifup으로 네트워크를 다시 *** 시작하실 수 있으나 /etc/init.d/network restart 로 한버에 재 시작할 수 있습니다. |
lilo |
lilo 부팅 관리자 프로그램 |
mkfs |
하드 디스크 파티션을 리눅스 파일 시스템 |
poweroff |
halt 와 같이 시스템 종료 |
reboot |
시스템 리부팅 |
내 용 |
설 명 |
/etc/rc.d |
시스템의 부팅과 시스템 실행 레벨 변경시에 실행되는 스크립트들이 저장되어 있는 디렉토리로 리눅스의 6가지 실행 레벨로 각각의 해당 디렉토리가 있습니다. |
/etc/shadow |
파일에서 패스워드 부분만을 따로 저장하는 파일. 이 파일에 패스워드는 암호화 되어 셰도우 패스워드 형태로 저장되어 있으며 시스템 관리자만이 접근할 수 있기 때문에 크래킹 등에 대한 피해를 줄임. |
/etc/group |
시스템의 그룹에 대한 정보를 저장하고 있는 파일 |
/etc/inittab |
init를 설정하는 파일 |
/etc/issue, /etc/issue.net |
getty 에 의해서 로그인을 위한 프롬프트가 뜨기 전에 출력되는 메시지를 설정하는 파일. 리눅스 시스템으로 접속할 경우 가장 처음으로 볼 수 있는 메시지로 보통 시스템에 대한 설명과 각종 환영 메시지를 전달하기 위해서 사용됩니다. issue 파일의 내용은 보통 시스템의 터미널에서 볼 수 있으며 /etc/issue.net 파일의 내용은 리모트상에서 시스템으로 접속할 경우 볼 수 있습니다. |
/etc/motd |
'Message of the day'의 약자로 시스템으로의 접속에 성공할 경우 쉘이 뜨기 전에 출력되는 메세지를 설정하는 파일 |
/etc/profile, /etc/csh.login, /etc/csh.cshrc |
시스템이 시작될 때 사용자가 로그인을 할 때 본쉘이나 C쉘에 의해서 실행되는 스크립트 파일. 일반적으로 사용자들에 대한 기본 환경 설정에 사용. |
/etc/securetty |
시스템 관리자가 시스템에 로그인할 수 있는 안전한 터미널에 대한 정보가 저장. 일반적으로 가상 콘솔이 설정되어 있으며 네트워크를 통해 시스템으로 침입해 시스템 관리자의 권한을 획득하는 크랙킹을 막기 위해서 사용합니다. |
/ete/shell |
시 스템에서 안정적으로 사용할 수 있는 쉘에 대한 정보를 저장하고 있는 파일. 만약 chsh명령을 사용해 사용중인 쉘을 바꾸려면 이 파일에 저장되어 있는 쉘중에 선택해야 합니다. 또한 ftp데몬의 경우 사용자의 쉘을 검사하여 /etc/shell에 저장되어 있지 않은 쉘을 사용한다면 로그인을 허용하지 않습니다. |
내 용 |
설 명 |
/usr/bin |
리눅스 시스템에서 사용되는 각종 프로그램들이 저장되어 있으며 /bin 디텍토리에 없는 다양한 실행 파일들이 저장되어 있는 디렉토리 |
/usr/X11R6 |
X 윈도우 시스템에 사용되는 모든 파일들이 이 디렉토리 안에 저장되며 X 윈도우 시스템의 개발과 설치를 좀더 쉽게 하기 위해서 전체 시스템 디렉토리 구조에 통합되지 않고 독자적인 구조 |
/usr/etc |
/etc 디렉토리에는 각종 환경 설정 파일들이 있듯이 이곳에도 여러 가지 시스템 환경 설정 파일들이 저장되어 있습니다. /usr/etc의 파일들은 /etc디렉토리 안의 파일들과 달리 반드시 필요한 파일들은 아닙니다. |
/usr/sbin |
시스템 관리자를 위한 명령어들이 저장되는 디렉토리이며 명령어들은 루트 파일 시스템에는 필요가 없는 서버 프로그램들이 저장됩니다. |
/usr/include |
C 라이브러리 및 각종 추가 라이브러리 헤더 파일 |
/usr/lib |
/lib 에 들어 있는 라이브러리를 제외한 라이브러리로 /usr/bin의 실행 파일의 동적 링크된 라이브러리가 들어 있습니다. |
/usr/local |
시스템 관리자에 의해서 따로 설치되는 프로그램들을 모아 놓은 곳으로 시스템에 관련된 프로그램이 아닌 관리자가 소스를 가져다가 컴파일하여 설치한 파일이 저장되는 곳입니다. |
/usr/man |
man페이지의 실제 내용들이 저장되어 있는 디렉토리. man1, man2, man3, 등과 같이 여러개의 디렉토리들로 나누어져 있으며, man1 디렉토리는 섹션 1의 man 페이지 소스를 위한 디렉토리가 됩니다. |
/usr/src |
시스템에서 사용하는 각종 프로그램들의 컴파일되지 않은 소스 파일들이 저장되어 있다./usr/src/linux 디렉토리가 리눅스의 커널소스를 저장하고 있는 디렉토리입니다. |
/usr/X386 |
/usr/X11R6 디렉토리와 유사한 티렉토리로 X11 Release 5를 위한 디렉토리 |
/usr/info |
GNU info문서들을 저장하고 있는 디렉토리 |
/usr/doc |
각종 문서들이 저장되어 있는 디렉토리 |
/lib |
일반적인 리눅스 시스템에서 사용하는 공용 라이브러리 파일들이 위치한 디렉토리입니다. /lib/modules 디렉토리에는 커널로 로딩 사능한 커널 모듈들이 저장되어 있습니다. |
내 용 |
설 명 |
/var/cache |
포멧된 메뉴얼 페이지들이 잠시 대기(Cache)하기 위한 디렉토리 |
/var/lib |
시스테이 동작하면서 계속 수정되고 변경되는 파일들을 위한 디렉토리 |
/var/local |
/usr/local 디렉토리에 설치된 프로그램들의 각종 데이터들이 저장되는 디렉토리 |
/var/lock |
잠 금 파일들이 저장되는 디렉토리로 프로그램들이 특정한 장치나 파일들을 프로그램 자신이 독점적으로 사용하려 할 때 /var/lock 디렉토리에 잠금 파일을 만들어 사용하게 됩니다. 그렇기 때문에 다른 프로그램들은 장치나 파일을 사용하기 전에 우선 이 디렉토리의 내용을 조사하여 해당 장치나 파일들이 사용중인지 확인합니다. |
/var/log |
프로그램들의 로그 파일을 저장하는 디렉토리 |
/var/log/boot.log |
부팅시 시작된 데몬들에 대한 정보 |
/var/log/cron |
크론 메시지 |
/var/log/dmesg |
부팅 시 컴퓨터 초기화 부분의 메시지가 기록되며 마직 부팅 메시지를 담습니다. |
/var/log/secure |
서비스를 받기 위하여 서버에 접속하는 모든 기록이 저장 |
/var/log/spooler |
메일 및 뉴스 로그 파일 |
/var/log/statistics |
센드 메일에서 사용하는 로그 파일 |
/var/log/wtmp |
로그인한 사람의 정보를 가지고 있는 데이터 파일. 시스템을 사용하고 있는 사람의 정보를 가지고 있습니다. |
/var/log/lastlog |
마지막에 로그인한 사람에 대한 정보 |
/var/log/messages |
시스템의 이상 유무에 대한 로그 파일로 시스템의 이상 유무를 파악하는데 사용 |
/var/log/xferlog |
ftp 억세스 로그 파일 |
/var/log/htmlaccess.log |
아파치 웹 억세스 로그 파일. rpm으로 설치 시 여기에 억세스 로고가 쌓이며 /var/log/httpd/와 더블어 아파치와 관련된 로그 파일 |
/var/log/maillog |
센드 메일의 로그 파일. 사용자가 메일 관련하여 접속할 경우 기록 |
/var/run |
시스템의 현재 정보들을 저장하고 있는 디렉토리. /var/run/xinetd.pid 파일의 경우 현재 사용중인 xinetd 데몬의 프로세스 번호를 저장 |
/var/spool |
메 일이나 뉴스, 프린터 큐 등고 같은 시스템상에서 대기 상태에 있는 작업들을 위한 디렉토리. 각각의 대기 작업들은 모두 /var/spool 아래 고유의 디렉토리에 위치합니다. 예를 들어 시스템의 계정 사용자들의 메일은 /var/spool/mail 에 저장됩니다. |
/var/tmp |
/tmp에 저장된 임시 파일들중에 오래 보관되어야 할 임시 파일들이 저장되는 디렉토리 |
/var/log/netconf.log |
netconf 명령어 수행에 대한 로그 파일 |
ITWeb/스크랩 2007. 11. 16. 10:10
ref. http://www.key-on.co.kr/redhat/oss_overview.htm이 행사가 매년 있었던 행사 인지는 잘 모르겠내요. 웹서핑 하다가 발견해서 공유해 봅니다. 더불어 mashup 경진대회가 있어 추가로 업데이트 합니다.
이건 일반인 대상이니까.. http://mashupkorea.org/ 네이버, 다음이 주최고 야후는 협찬사 이지만 야후가 open API 가 없어서 못하고 있는건 아니구요.. 흑..ㅡㅜ^ 본사 yahoo.com 에는 벌써 부터 있었구요. 한국에서는 따로 준비 중에 있습니다. 본사 yahoo 의 YDN(http://developer.yahoo.com/) 을 참고 하시면 좋은 정보 많으니 매쉬업 참여시 참고 하심 좋을것 같내요. 구글이나 아마존등에도 좋은 API 들이 많으니 그것들도 참고 하셔요.. (http://code.google.com/, http://www.amazon.com/AWS-home-page-Money/b/ref=gw_br_websvcs?ie=UTF8&node=3435361&pf_rd_p=330332001&pf_rd_s=left-nav-3&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1RXHEWZ4DMRSQBR2CDNG)
http://www.programmableweb.com <- 여기 가면 다양한 mashup app 와 api provider 들이 나와 있으니 참고 하세요
|