Search Results for '프로그래밍/프로그램 팁 관련'


255 posts related to '프로그래밍/프로그램 팁 관련'

  1. 2009/08/17 디버깅이 안되는 소스를 디버깅되게 하는법
  2. 2009/08/10 중복되는 URL을 위해 Canonical Link 요소를 넣어주세요.
  3. 2009/08/10 Google 메일서버 이용하기
  4. 2009/08/10 포토샵 팁 - 썸네일 크기를 최소로 줄여서 빠르게 실행하기
  5. 2009/08/07 [Tips:ASP]ASP-Mysql 연동
  6. 2009/08/07 MAC 어드레스를 알아내는 두가지 예제 (NETBIOS, SNMP) C++
  7. 2009/07/30 2008년 11월 18일자 최종 한국 변경 우편번호 SQL
  8. 2009/07/16 구글의 모든 URL 은 원하는 인코딩으로 받아올 수 있습니다.
  9. 2009/07/16 사이트를 브라우저별로 테스트 해주는 사이트
  10. 2009/07/16 google ajaxlanguage 의 XSS 쿼리비법
  11. 2009/07/16 내 블로그 검색에 오픈 소스 검색엔진을 붙여보자!
  12. 2009/04/30 GUI 저리가라!! 강력한커맨드 FTP - NCFTP !!
  13. 2009/04/30 wget 활용 - 헤더정보 보기, 파일을 다운로드 하여 특정이름으로 저장
  14. 2009/04/29 Cygwin (시그윈) 다운로드/설치법 [윈도우에 리눅스/유닉스 환경 만들기]
  15. 2009/04/27 MSTSC (웹 터미널클라이언트)
  16. 2009/04/27 윈도우서버용 무료메일서버 hMail Server를 소개합니다.
  17. 2009/04/27 CSS 브라우저별 핵 정리
  18. 2009/04/21 vbscript decode
  19. 2009/04/21 HTML, js 소스정리기 - editplus plugin
  20. 2009/04/21 DeZend (PHP 디코딩)
  21. 2009/04/20 PHP 파일 업로드 용량 제한 3
  22. 2009/04/16 jQuery, Prototype 그리고 Ajax
  23. 2009/04/16 Semantic Web
  24. 2009/04/16 Semantic Web
  25. 2009/04/16 드림위버에서 jQuery를 쉽게 쓰자
  26. 2009/04/13 메인보드 정보를 알고 싶습니다. Serial.vbs
  27. 2009/04/13 웹페이지에서 MAC Address 구하는 컨트롤 v1,1,9,0 12
  28. 2009/04/12 유용한 온라인 툴(online tool)들
  29. 2009/04/12 [HTML] 초간단 풍선도움말
  30. 2009/04/12 Alchemy를 이용하여 Flex 소스 디컴파일 안되게 1

menu>run>debug>오른쪽 탭의  sourse에서

YP>WEB-INF를 add버튼을 눌러서 추가하면 된다

헌데

YP>WEB-INF>src>yp>admin폴더까지 가서 add했더니 안�다 여기서 이것저것 add하면 어쨌든 된다.

헌데 더 중요한 것은

Failed to connect to remote VM. Connection refused.

이런 오류가 생기는 것은

1.현대자동차인경우

먼저 서버를 띄우고 난 다음 디버깅 해야하는데 그렇지 않았기 때문이다. 톰캣이던 제우스던 롬보즈던 먼저 웹서버를 띄우고 나서

디버깅해야한다.

run>debug>Remote Java Application

Connct탭

Name : ALP_AppJava_ML

Project : ALP_AppJava_ML

Connection Type: Standard(Socket Attach)

Connection Properties:

Host : localhost

Port : 8000

Source 탭

Default

2.TLMS인경우

아래그림 자바모드에서 디버그모드로 변경만 해도 디버깅이 된다..... 1번처럼 굳이 서버를 띄우고 나서 디버깅하지 않아도 된다는 이야기

사용자 삽입 이미지

2009/08/17 10:19 2009/08/17 10:19

http://example.com/page.html, http://example.com/page.html?param1=1, http://www.example.com/page.html 등 한 문서를 가리키는 여러 URL은 검색엔진에 심각한 중복 문제를 안겨줍니다. 최근 구글, 야후, 마이크로소프트가 이를 해결할 수 있는 방법을 제시하였습니다.

<link rel="canonical" href="http://example.com/page.html" />

위의 코드를 넣어주면 끝입니다. 간단하죠? 단어 그대로 표준 혹은 대표 링크를 선언해주는 것입니다. 이미 많은 발표자료, 동영상 등이 공개되어 있네요. 보시죠~ 참고로 첫 링크만 보시면 정리가 다 됩니다. :)

2009/08/10 12:43 2009/08/10 12:43
메일 서버 구축하기 난감하신분들 사용하시면 편할듯 싶습니다.

클라이언트 4분 셋팅해드렸는데...
클라이언트들도 더이상 메일서버가 말성을 안일으킨다고 감사메일까지 날려줍니다.

링크따라가셔서 가입만하면 됩니다.
링크1 : 학교, 교육단체
링크2 : 비영리기관

기업형, 학교용, 비영리단체 가 있습니다.
기업형은 가입을 안해봐서 모르겠습니다.
(학교용, 비영리단체용으로만 가입을 시켰습니다.)

MX 레코드 설정하시고 CNAME 이나 HTML 로 인증 받으시면 됩니다.
최초설정시 48시간걸리는줄 알았는데 30분정도면 인증되네요

코드값 : google4091bac42bede38c

# MX 레코드 셋팅
                        IN      MX 10  aspmx.l.google.com.
                        IN      MX 20  alt1.aspmx.l.google.com.
                        IN      MX 20  alt2.aspmx.l.google.com.
                        IN      MX 30  aspmx2.googlemail.com.
                        IN      MX 30  aspmx3.googlemail.com.
                        IN      MX 30  aspmx4.googlemail.com.
                        IN      MX 30  aspmx5.googlemail.com.
webmail                IN      CNAME  ghs.google.com

# CNAME 인증방법
# 네임서버에 추가
google4091bac42bede38c  IN      CNAME  google.com

# HTML 인증방법
# 해당 도메인 최상위에 googlehostedservice.html 화일 생성
# 내용은 다음과 같습니다.
google4091bac42bede38c


### 추가사항 2009.06.24
코드값은 밑에 댓글처럼 구글에서 임의로 생성해 줍니다.
적은줄 알았는데 안적어놨었네요 @@

http://www.google.com/a/help/intl/ko/edu/index.html
2009/08/10 12:37 2009/08/10 12:37
포토샵을 빠르게 실행하기 위해서는 불필요하게 메모리를 잡아먹는 것을 최소화 하는 것이 도움이 된다. 잘 사용하지 않는 플러그인이나 프리셋을 제외하고 실행을 시키고 폰트도 정리해서 사용할 필요가 있다. 이번에는 레이어 팔레트에 보이는 썸네일의 크기를 최소로 줄여서 사용하는 방법을 소개하고자 한다.

사용자 삽입 이미지
레이어 팔레트의 썸네일 크기를 최소로 줄여서 사용

레이어 팔레트 제일 오른쪽 메뉴를 클릭하면 Panel Option 이란 메뉴가 있다. 이것을 선택하면 아래와 같이 팔레트의 썸네일 크기를 선택할 수 있는데 가장 작은 썸네일을 선택하고 사용하면 메모리를 절약하는 방법이 된다. 메모리가 정말 부족할 경우에는 None을 선택하고 사용을 하는 것도 괜찮다.

폰트 관리하기

잘 사용하지 않는 폰트를 시스템 폰트 폴더에서 제외하는 방법을 사용하는 것도 괜찮다. 유료 프로그램으로는 Suitcase for Windows 란 윈도우용 폰트 관리 프로그램이 있다. 그 외에도 폰트 관리 프로그램을 이용하여 잘 사용하지 않는 폰트를 비활성화 시키면 포토샵을 조금 더 가볍게 사용할 수 있다.
2009/08/10 09:54 2009/08/10 09:54
ASP하면 MS-SQL, PHP하면 mysql이 생각납니다. 이에 대해서는 여러가지 이유가 있겠지만, 궁합(?)이 가장 잘 맞기 때문이겠죠~

하지만, 실무현장에는 여러가지 이유로 이러한 궁합이 깨지곤 하는데요. PHP + Oracle, ASP + MySQL등이 이러한 경우입니다. 연동하는데 그다지 어려운 점은 없지만, 도움이 필요하신 분들을 위해 간략하게 작성해봅니다.


* IIS 설정 방법과 MySQL, MyODBC 설치방법은 생략합니다.


다운로드

MySQL 4.1
http://dev.mysql.com/downloads/mysql/4.1.html

MySQL Connector/ODBC 3.51
http://dev.mysql.com/downloads/connector/odbc/3.51.html

MySQL Query Browser
http://dev.mysql.com/downloads/query-browser/1.1.html


설치

MySQL과 MyODBC, Query Brower를 설치합니다.


database와 table 생성

MySQL Query Browser를 이용하여 아래와 같이 address와 contacts를 생성합니다.

  1) address 생성

create database address;

  2) assress 사용

use address;

  3) contacts 생성

create table contacts
(

   contactId int auto_increment not null,

   firstName varchar(50),

   lastName varchar(50),

   address1 varchar(100),

   address2 varchar(100),

   phone varchar(20),

   primary key(contactId),

   unique id(contactId)

);


:: dns_test.asp 작성

생성한 DB에 접근할 수 있는지 확인하기 위해 아래와 같이 작성합니다.

<%

   dim adoConn

   set adoConn = Server.CreateObject("ADODB.Connection")

   adoConn.Open "Driver={MySQL ODBC 3.51 driver}; Server=localhost; Database=address; Uid=root;Pwd=121212;"

   if adoConn.errors.count = 0 then

      response.write "Connected Successfully!"

   end if

   adoConn.close
   set adoConn = nothing

%>

브라우저를 통해 http://localhost/dns_test.asp 를 입력해 Connected Successfully 라는 글이 나타난다면 ASP에서 MySQL를 사용할 준비가 된 것입니다.

꼭 알아두기

adoConn.Open "Driver={MySQL ODBC 3.51 driver}; Server=localhost; Database=address; Uid=root;Pwd=121212;"

이 내용이 가장 중요합니다. Driver를 MySQL ODBC 3.51 driver로 지정해주었다는 것을 기억하세요.

참조

http://dev.mysql.com/doc/refman/5.0/en/odbc-connector.html

http://www.devarticles.com/c/a/ASP/Using-MyODBC-To-Access-Your-MySQL-Database-Via-ASP/
2009/08/07 21:43 2009/08/07 21:43
MAC 어드레스를 얻어내는 두가지 방법입니다.
NETBIOS와 SNMP를 이용한 두가지 샘플인데, 두가지 방법 모두 OS 등의 환경에 관계없이 MAC 어드레스를
정확히 알아냅니다.

또한 당연하겠지만 네트웍카드(NIC)가 두개 이상 있더라도 정확한 값을 돌려줍니다.
받아온 곳은 볼랜드의 코드센트럴인데, NETBIOS는 약간의 버그가 있어서 수정했습니다.
2009/08/07 17:37 2009/08/07 17:37
1. 자료제목 : 2008년 11월 18일자 최종 한국 변경 우편번호 SQL
2. 파일크기 : 5,762 Kbyte
파일 내용
==========
mysql/ mssql 사용자용
=====================
zipcode_mysql_t0.zip - mysql 테이블 (컬럼5개)
zipcode_mysql_t1.zip - mysql 테이블 (컬럼6개)
zipcode_mysql_t2.zip - mysql 테이블 (컬럼7개)
zipcode_mysql_t3.zip - mysql 테이블 (컬럼8개)
zipcode_mysql_t4.zip - mysql 테이블 (컬럼9개)

oracle 사용자용
=====================
zipcode_oracle_t0.zip - oracle 테이블 (컬럼5개)
zipcode_oracle_t1.zip - oracle 테이블 (컬럼6개)
zipcode_oracle_t2.zip - oracle 테이블 (컬럼7개)
zipcode_oracle_t3.zip - oracle 테이블 (컬럼8개)
zipcode_oracle_t4.zip - oracle 테이블 (컬럼9개)
2009/07/30 10:07 2009/07/30 10:07
http://browsershots.org

각 브라우저별 스크린샷으로 결과를 제공합니다.

단점은 소요시간.
2009/07/16 19:44 2009/07/16 19:44
구글의 번역 api 는 XSS 로 쿼리하고 받아옵니다.

비법은 script src="" 에 인자를 주는 것이었습니다.

script type="text/javascript" src="http://도메인/호출할.php?인자"

의 형태로 태그를 생성하여 head 에 appendChild 시킵니다.

php 에서는 결과값을 콜백함수로 호출합니다.

function xsscallback(res)
{
}
이런게 html 에 정의되어 있다면,

echo 'xsscallback("' + $res + '");';

하면 끝인거죠.

참 쉽죠?

똑같은 요청에도 다른 결과가 오는 서비스라면,
new Date() 의 .getTime() 값을 맨 뒤에 붙여주면 캐시되지 않습니다.

jQuery 의 $.param 으로 인자를 만들면 편합니다.
'http://yoursite/yourservice.php?' + $.param({a:'asdf',b:$('#yourtxt').val(),requesttime:dateObj.getTime()})

License : Public Domain
2009/07/16 19:39 2009/07/16 19:39
내 블로그나 홈페이지에 검색엔진을 장착해 보고 싶다면 엔진으로 스핑크스(Sphinx)를 선택해보는 것도 좋을 것 같습니다. 오픈 소스이고 PHP, Perl, C/C++, 등의 프로그래밍 언어 API 를 제공하고 있으므로 PHP 로 개발된 텍스트큐브와 같은 설치형 블로그에 검색을 붙이려면 PHP 용 API 를 이용하며 될 것입니다. 이미 텍스트큐브에도 검색이 있지만 레코드수가 많아서 검색해야할 항목이 많아질 경우 검색 시간이 많이 소요되고 복잡한 조건의 검색을 할 수 없는 문제가 있습니다. 개발언어를 다룰 수 있다는 조건 하에 스핑크스 검색엔진을 사용해볼 것을 권해봅니다.
스핑크스 검색엔진이 어떤 것인지 체험 해보려면 간단히 아래에 설명하는 방법으로 설치하고 테스트 해보면 됩니다. 참고로 리눅스 CetOS 5.x 에서 테스트 되었습니다. 물론 소스 코드가 공개 되어 있으므로 윈도우즈와 다른 리눅스, 유닉스 계열 OS 를 사용할 수 있습니다.

[root@sphinx ~]# yum -y install mysql-devel
[root@sphinx ~]# cd /usr/local/src
[root@sphinx src]# wget http://www.sphinxsearch.com/downloads/sphinx-0.9.8.1.tar.gz
[root@sphinx src]# tar xvzf sphinx-0.9.8.1.tar.gz
[root@sphinx src]# cd sphinx-0.9.8.1
[root@sphinx sphinx-0.9.8.1]# ./configure
[root@sphinx sphinx-0.9.8.1]# make
[root@sphinx sphinx-0.9.8.1]# make install

위와 같이 설치하면 아래와 같은 스핑크스 관련 파일들이 기본 폴더(/usr/local/bin)에 설치됩니다.

  /usr/local/bin/indexer
  /usr/local/bin/searchd
  /usr/local/bin/search
  /usr/local/bin/spelldump

또한 아래와 같은 설정 파일 샘플과 MySQL 용 SQL 샘플이 설치됩니다.

 /usr/local/etc/sphinx.conf.dist
 /usr/local/etc/sphinx-min.conf.dist
 /usr/local/etc/example.sql

MySQL 에 접속해서 테스트용 데이타베이스(test) 를 만들고 user 와 password 를 만들고 이 데이타베이스(test)에 권한을 부여 합니다. test로 데이타베이스를 정할 경우 이미 생성되 있으므로 권한 부여만 합니다.

[root@sphinx sphinx-0.9.8.1]# mysql -uroot -p
Enter password: ********
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 116
Server version: 5.0.45 Source distribution
 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
 
mysql> grant all privileges on test.* to user@"localhost" identified by "password";
Query OK, 0 rows affected (0.05 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
 
mysql> exit
Bye
[root@sphinx sphinx-0.9.8.1]#

데이타베이스 설정이 완료 되었으면 스핑크스 셋팅 파일을 만들어줍니다.

[root@sphinx sphinx-0.9.8.1]# vi /usr/local/etc/sphinx-min.conf.dist
[root@sphinx sphinx-0.9.8.1]# cp /usr/local/etc/sphinx-min.conf.dist /usr/local/etc/sphinx.conf
[root@sphinx sphinx-0.9.8.1]# cat /usr/local/etc/sphinx.conf
#
# Minimal Sphinx configuration sample (clean, simple, functional)
#
source src1
{
        type                                    = mysql
 
        sql_host                                = localhost
        sql_user                                = user
        sql_pass                               = password
        sql_db                                  = test
        sql_port                                = 3306  # optional, default is 3306
 
        sql_query                               = \
                SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content \
                FROM documents
 
        sql_attr_uint                   = group_id
        sql_attr_timestamp              = date_added
 
        sql_query_info                  = SELECT * FROM documents WHERE id=$id
}
index test1
{
        source                                  = src1
        path                                    = /var/data/test1
        docinfo                                 = extern
        charset_type                    = sbcs
}
indexer
{
        mem_limit                               = 32M
}
searchd
{
        port                                    = 3312
        log                                             = /var/log/searchd.log
        query_log                               = /var/log/query.log
        read_timeout                    = 5
        max_children                    = 30
        pid_file                                = /var/log/searchd.pid
        max_matches                             = 1000
        seamless_rotate                 = 1
        preopen_indexes                 = 0
        unlink_old                              = 1
}
[root@sphinx sphinx-0.9.8.1]#

나의 데이타베이스 설정에 맞게 위와 같이 설정이 완료되면 아래와 같이 스핑크스에서 제공하는 샘플 테이블을 MySQL 에 만들어줍니다. 그리고 커멘드라인 프로그램 indexer 를 실행해서 검색을 위한 인덱스를 생성합니다. 인덱싱이 완료 되면 커멘드라인 프로그램 search 를 실행해서 검색을 할 수 있습니다.

[root@sphinx sphinx-0.9.8.1]# mysql -uroot -p test < /usr/local/etc/example.sql
Enter password: ********
[root@sphinx sphinx-0.9.8.1]# mkdir /var/data
[root@sphinx sphinx-0.9.8.1]# indexer test1
[root@sphinx sphinx-0.9.8.1]# search number
Sphinx 0.9.8.1-release (r1533)
Copyright (c) 2001-2008, Andrew Aksyonoff
 
using config file '/usr/local/etc/sphinx.conf'...
index 'test1': query 'number ': returned 3 matches of 3 total in 0.000 sec
 
displaying matches:
1. document=1, weight=1, group_id=1, date_added=Sat Dec  6 11:42:12 2008
        id=1
        group_id=1
        group_id2=5
        date_added=2008-12-06 11:42:12
        title=test one
        content=this is my test document number one. also checking search within phrases.
2. document=2, weight=1, group_id=1, date_added=Sat Dec  6 11:42:12 2008
        id=2
        group_id=1
        group_id2=6
        date_added=2008-12-06 11:42:12
        title=test two
        content=this is my test document number two
3. document=4, weight=1, group_id=2, date_added=Sat Dec  6 11:42:12 2008
        id=4
        group_id=2
        group_id2=8
        date_added=2008-12-06 11:42:12
        title=doc number four
        content=this is to test groups
 
words:
1. 'number': 3 documents, 3 hits
 
[root@sphinx sphinx-0.9.8.1]#

위와 같이 인덱싱이 완료되고 search 커멘드라인 명령어를 이용해 "number" 라는 검색어(키워드)로 검색하면 검색결과 3개의 문서가 검색되었다고 알려줍니다.
PHP 로 검색엔진을 제어하기 위해 아래와 같이 검색 데몬(searchd)을 띄우고 PHP 용 API 를 이용해서 검색할 수 있습니다.

[root@sphinx sphinx-0.9.8.1]# /usr/local/bin/searchd
Sphinx 0.9.8.1-release (r1533)
Copyright (c) 2001-2008, Andrew Aksyonoff
 
using config file '/usr/local/etc/sphinx.conf'...
creating server socket on 0.0.0.0:3312
[root@sphinx sphinx-0.9.8.1]# cd api
[root@sphinx api]# php test.php number
Query 'number ' retrieved 3 of 3 matches in 0.000 sec.
Query stats:
    'number' found 3 times in 3 documents
 
Matches:
1. doc_id=4, weight=100, group_id=2, date_added=2008-12-06 11:42:12
2. doc_id=1, weight=1, group_id=1, date_added=2008-12-06 11:42:12
3. doc_id=2, weight=1, group_id=1, date_added=2008-12-06 11:42:12
[root@sphinx api]#

위와 같이 검색 데몬 searchd 를 띄우고 샘플 PHP 소스 파일 test.php 를 실행하면 검색 결과를 확인할 수 있습니다. 샘플 소스 상단을 보면 sphinxapi.php 라는 파일을 Include 합니다. 이것이 PHP 용 API 입니다.

간단하게 스핑크스를 설치하고 테스트도 해봤습니다. 이제 내 블로그 데이터를 인덱싱하고 이를 검색할 수 있도록 검색 페이지를 만드는 일만 남았습니다.

오픈 소스 검색 엔진 스핑크스(Sphinx) 홈페이지
    - http://www.sphinxsearch.com/
스핑크스(Sphinx)로 PHP로 커스텀 검색 엔진 구현하기
    - http://www.ibm.com/developerworks/kr/library/os-php-sphinxsearch/index.html

2009/07/16 18:14 2009/07/16 18:14

GUI 저리가라!! 강력한커맨드 FTP - NCFTP !! [중급]


안녕하세요... 오늘 강좌할 내용은 커맨드라인 ftp프로그램인 ncftp입니다.

이프로그램은 원래 리/유닉스용으로 만들어진것입니다.

하지만 윈도우에는 포식스(POSIX)기반 프로그램을 실행할수가 있답니다.

그래서 유닉스의 명령어를 포팅할수가 있습니다...

윈도우의 기본 ftp인 ftp.exe는 말그대로 기초적인것만 제공합니다. 하지만

ncftp프로그램은 윈도우의 GUI기반의 FTP프로그램이 가진 기능 거의 모두를

지원하고 있습니다.... 이에따라 커맨드 명령이 몇개더 늘어낫지만,

천천히 시간을 두고  하나씩 배워가시게 되면 나중에 리눅스/유닉스를 공부

할때에도 별다른 어려움없이 ncftp를 사용하실수가 있습니다....

이전에도 말한바가 있었지만,  윈도우에서도 사용하면서 유닉스에서도

사용할수있는 프로그램을 배워두시면 어떤 운영체제에서도 당황함이 없이

자신이 할려는 작업을 할수가 있습니다... 이점을 생각해두시고 공부하시기

바랍니다......

ncftp프로그램의 전체적인 설명은 하지 못하였습니다만, 아래에 설명하는

명령어만 익히셔도 사용에는 지장이 없습니다.....!!!

원래는 매뉴얼로 제작할려고 하였으나, 너무 졸작이 되는것 같아서 이에

그림없이 강좌를 합니다. 이점 양해해주시면 감사하겠습니다..

먼저 프로그램의 홈페이지는 http://www.ncftp.com 입니다.

Download에 가셔서 win32용으로 설치하시면 됩니다..

아니면 여기!!

를 눌러서 설치하시기 바랍니다.


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

이름
NCFTP.EXE
NcFTP – 파일전송프로토콜용 검색프로그램

사용법
ncftp [ 호스트명 ]
ncftp [ ftp://호스트명/폴더명/ ]

설명
ncftp프로그램은 인터넷 표준 유틸리티인 ftp 프로그램과 100%호환된다.
또한, ncftp프로그램은 강력하고 유연한 명령어를 지원하고 있다.
ncftp프로그램은 커맨드라인 프로그램이다. 현재 그래픽환경의 프로그램이
지원하는 기능이상의 기능을 지원하고 있다.
파일명 자동완성기능
커맨드라인 에디팅
백그라운드 처리
자동이어받기 기능
즐겨찾기 기능
디렉토리 캐싱 기능
호스트 재접속 기능
방화벽, 프락시 작업
전체디렉토리 다운로드 기능
등등.. 수많은 기능을 지원하고 있다. 위의 기능들은 대표적인것일
뿐이다.
또한 표준 ftp명령어를 완벽히 지원하고 있다.

옵션
커맨드라인에서의 호스트명과 디렉토리의 URL을 지원한다
커맨드창을 열고 ncftp [ 호스트명 | 호스트명/디렉토리 ] 의
방식으로 사용할 수가 있다.
아래와 같은 옵션을 지원한다.
-u xx    : 사용자명을 지정하게 된다.(기본값:anonymous)
-p xx    : 사용자명에 따른 비밀번호를 지정한다.
-P xx     : 포트번호를 지정한다.(기본값:21번)
ncftp –u kpj666 –p 1234 –P 2100 ftp.bora.net
위와 같은 명령은 ftp.bora.net이란 서버에 사용자계정 kpj666과
비밀번호 1234와 서버의 포트번호 2100 으로 접속하는 경우이다.
중요한 것은 –u –p –P 옵션이 먼저 적은후에 서버명이 온다는것이다.
Ncftp ftp.bora.net      과 같이 입력하게 되면 기본값인
Anonymous / Email주소 가 자동으로 입력되게 된다.

커맨드 쉘의 소개
지금부터의 설명은 옵션이 없는 상태에서 단지 ncftp만 실행하였을경우
사용법을 간단히 설명한후에 명령어 의 전체적인 설명을 하겠다.
상대방의 컴퓨터에 접속하여서 자신의 컴퓨터로 파일전송을 하기 위해서
먼저 상대방의 서버에 접속하려면 상대방의 IP번호 또는 도메인이름을
사용하게 된다.
open ftp.bora.net   (도메인명으로 사용)
open 129.93.33.24     (IP번호 사용)
IP번호로의 접속은 정적IP에만 유효하다. 도메인으로의 접속은
매번 같은 이름으로 접속가능하게 된다.
상대방의 서버에 접속하게 되면 권한이 필요하게 된다. FTP프로토콜은
상당히 간단한 방식으로 계정을 확인하게 된다.
사용자 계정 / 계정에 따른 비밀번호
하지만 대부분의 서버들은 이러한 계정/비밀번호가 없이도 사용가능한
공개용 계정/비밀번호가 존재한다.
Anonymous / 이메일주소
ftp   /  ftp
위와 같은 방식으로 접속할수 있고 이런계정으로 접속하는 서버를
공섭이라고 부른다. (Public Server)
이메일주소에서는 @문자만 검사하므로 반드시 실제 이메일주소일
필요는 없다.  a@a.c    라고 해서도 지장이 없다.
이러한 공개섭들에서는 대부분 읽기만 허용해놓은경우가 대부분이다.
읽기권한은 곧 다운로드만 가능하다는 뜻이다. 해당 서버의 관리자가
설정하기 나름이다.
Open 명령어로 상대방의 서버에 접속이 되었으면, 서버의 현재 디렉토리를
보여주는 명령어 ls 또는 dir 을 입력해서 서버의 디렉토리를 확인한다.
서버에서의 디렉토리 이동은 cd 명령어로서 사용하게 된다.

서버에서 자신의 컴퓨터로 파일을 다운로드 할려면 get 파일명 과 같은
명령어를 사용하게 된다.
get README.txt
ncftp프로그램은 파일전송상황을 화면에 표시하게 된다.파일전송이 완료된후에 다른 명령어를 입력할수 있게 된다.
자신의 컴퓨터에 존재하는 파일을 서버에 업로드 할려면 put 파일명  과
같은 명령어를 사용하게된다.
put something.tar
더 이상의 작업이 필요없을 경우에는 quit 명령을 입력하여 ncftp를 종료
하게 된다. Ncftp를 종료하게 전에 현재 연결상태(서버명/계정/비밀번호..)를
저장할경우에는 bookmark 명령을 사용하게 된다.
Bookmark boranet

또한 북마크해둔 이름으로 접속할수있다.
Ncftp boranet      과 같이 하게되면 마지막상태로 접속하게된다.
명령어 레퍼런스
커맨드쉘상태에서 (접속된상태) 입력하게 된다.
help
현재 버전에서 지원하는 명령어를 표시하게된다.
Help 명령어 와 같이 입력하게 되면 해당명령어의 문법과
간단한 설명을 표시하게 된다.
Ex) help open 
ascii
파일전송시에 전송모드를 ascii모드(텍스트모드)로 변경한다.
도스 to 유닉스간의 텍스트파일전송시에 유용하게 사용된다.
보통의 ftp들은 기본값이 ascii이지만 ncftp의 경우는 기본값이
binary 로 셋팅되어 있다.
      Ex) ascii 
bgget, bgput
이들 명령어들은 get명령과 put명령어들과 사용법이 같다.
하지만 작업처리를 후면처리(백그라운드)로 하게 된다.
후면처리로 업/다운로드 작업을 주게되면 다른작업을 할 수가
있게된다. 보통의 get/put명령어는 이들 명령이 완료될때까지
입력을 할 수가 없지만 bgget/bgput명령어는 곧바로 다른
명령을 입력할 수가 있게 된다.
다운로드/업로드작업을 하면서 서버를 탐색할수도 있는것이다.
Ncftp의 강력한 기능중 하나이다.
 
bgget / bgput  명령어는 전송스케쥴링을 지원한다.
-@  문자뒤에 YYYYMMDDhhmmss 와같이 시간을 지정할수있다.
2001년 12월 20일 새벽2시정각에 파일을 다운로드할려면,
bgget -@ 20011220020000 /pub/kpj666/test.zip
      위와 같이 기입하게 되면 된다. 
binary
전송방식을 이진수방식에 맞게끔 세팅하게 된다.ncftp의 기본값이다.
일반적인 ftp의 기본값은 ascii이다.
 
bookmark
현재 세션을 저장하고 나중에 재사용할 수가 있다. 원격서버의
각종 설정값을 모두 기억하게 된다.
      Ex) bookmark test
bookmarks
현재 저장되어있는 북마크(즐겨찾기)를 사람이 이해할 수 있는 문자로
리스팅해준다. 전체설치를 하였다면 GUI환경이 나타나게 된다.
즐겨찾기 관리툴이라고 생각하면 된다.
 
cat
유닉스의 cat툴과 유사하다. 원격파일에만 사용가능하다.
다운로드받은 파일을 화면에 덤프하는 명령어이다. 파일의 내용을
볼려고 할 때 주로 사용하게 된다.
      Ex) cat Readme.txt 
cd
원격서버의 디렉토리를 변경하는 명령어이다
cd pub
cd news
cd comp.sources.d
위와 같은 명령은 아래와 같이 한번에 할수 있다.
cd /pub/news/comp.sources.d
또한 마지막 디렉토리로 이동하는 명령어도 존재한다.
cd –

chmod
유닉스의 chmod툴과 동일하다. 원격서버의 파일의 퍼미션을
수정하는 명령어이다. 물론  수정할 권한이 있어야 한다.
 
close
원격서버에 접속을 끊는다.
 
debug
내부테스트용 명령어이다. 디버깅모드라는 것이 존재한다.
서버의 모든메세지를 화면 혹은 파일에 저장하는 명령어이다.
서버의 작동원리를 알고자 할 때 사용하며 , 서버의 오작동
유무도 파악할 수가 있다.
 
dir
유닉스의 ls –l 과 같은 효과를 내는 리스팅 명령어이다.
도스사용자를 위한 명령어이다.  Ls와 같은 명령어이다.

get
원격서버의 현재 디렉토리에서 로컬컴퓨터의 현재 디렉토리로 다운로드 하는 명령어이다.
Ex) get Readme.txt
파일명을 공백으로 분리해서 여러 개를 줄수 있다.
Ex) get Readme.txt test.bin document.doc
또한 와일드카드문자를 사용할수도 있다.
Ex) get Read*
-z 플래그와 사용하게 되면 원격파일을 다운로드할 때 로컬컴퓨터에 다른파일명으로 저장할수도 있다.
Ex) get –z Readme.txt README
자동이어받기기능은 기본값으로 세팅되어있다. 이어받기기능은 물론
서버에서 지원해야 사용가능하다. 200메가 파일을 다운로드중에
100메가다운로드 중에 끊어졌다면 get명령은 다시 100메가부터
다운로드를 하게 된다.
      기존에 존재하는 파일에 추가할려면 –A 플래그와 사용하게 된다.
get -A log.11
위의 명령은 로컬컴퓨터에 log.11파일이 존재하면 추가하게된다.
get –DD
위의 명령은 서버파일을 다운로드후에 삭제하는 플래그이다.
      Get –R
      위의 명령은 서브트리를 포함하는 모든 디렉토리를 다운로드하게된다.
 
jobs
후면작업으로 처리되는 작업리스트를 보여주게된다. 유닉스의 jobs
명령과 동일하다.
 
lcd
lcd 명령에서 처음문자인 l 은 local을 뜻한다. 즉 현재 로컬컴퓨터의
디렉토리를 이동하게 한다.
get,put명령들은 현재 로컬디렉토리를 기준으로 하기 때문에                 로컬디렉토리를 이동할경우 사용하는 명령어이다.
lchmod
로컬컴퓨터의 파일의 퍼미션을 수정하는 명령어이다.
 
lls
로컬컴퓨터의 리스팅 명령어이다.

lmkdir
      로컬컴퓨터의 디렉토리 생성시에 사용하는 명령어이다. 
lookup
ncftp의 내장된 lookup명령어이다. 즉 인터넷의 이름풀기서버인
DNS서버를 질의 하는 명령어이다.
Ex) lookup openserver.co.kr
lpwd
로컬컴퓨터의 현재 작업디렉토리를 표시하게 된다.
 
lrename
로컬컴퓨터의 파일명을 변경하는 명령어이다.
유닉스의 mv 명령어와 동일하게 사용된다.
 
lrm
로컬컴퓨터의 파일을 삭제하는 명령어이다.
유닉스의 rm과 동일하게 사용된다.
 
lrmdir
      로컬컴퓨터의 디렉토리를 삭제하는 명령어이다.
      유닉스의 rmdir과 동일한 명령어이다. 
ls
원격서버의 디렉토리 리스팅 명령어이다. 유닉스의 ls –CF와 동일하게 리스팅하게 된다.
ls –rt    명령은 유닉스 시스템에서는 ls –CFrt 와 같이 된다.
Ncftp는 디렉토리 리스팅시에 디렉토리 캐시를 지원한다.
디렉토리 캐시는 작업속도를 빠르게 만들어주게 된다.
 
mkdir
원격서버에 디렉토리를 생성하는 명령어이다.
 
open
원격서버에 접속하는 명령어이다. 원격서버에 anonymous로 접속을
시도 하게 된다. 계정으로 접속하기를 원할경우에는 여러 플래그를
사용하게 된다.
-u         Anonymous 대신에 계정을 사용하게 된다.
-p          계저에 따른 패스워드를 지정하게 된다.               
-P         기본포트인 21번포트이외의 포트번호를 지정한다

page
원격서버의 파일의 내용을 화면에 페이지단위로 표시한다.
 
put
로컬파일을 원격서버에 복사하는 명령이다.(업로드)
put xx.zip yy.zip
위의 명령은 로컬파일인 xx.zip을 서버에 yy.zip파일로 업로드한다.
put *.zip
위의 명령은 로컬파일중 모든 zip파일을 서버에 업로드 한다.
put -z kpj666 KPJ666.ZIP
위의 명령은 로컬파일인 kpj666 이란 파일을 서버에 KPJ666.ZIP파일로 업로드 하는 명령이다.
put명령은 위에서 기술한 get명령의 플래그들과 동일하게 작업한다.
  pwd
원격서버의 현재 작업디렉토리를 표시하는 명령어이다.
 
quit
      ncftp프로그램을 종료하는 명령어이다.  
quote
FTP서버의 명령을 전송하는 명령어이다. 클라이언트명령이 아닌
서버의 명령을 전송하게된다.
rename
      원격서버의 파일명을 변경하는 명령어이다.
rhelp
원격서버의 명령어의 도움말을 볼수 있게 하는 명령어이다.
rhelp NLST
위의 명령은 서버의 NLST란 명령어의 도움말을 표시하라는 명령이다.
Syntax: NLST [ path-name ]
      이에 위와 같은 응답을 하게 된다.
rm
원격서버의 파일을 삭제하는 명령이다. 삭제 권한이 있을경우에만
사용가능하다.
 
rmdir
원격서버의 디렉토리를 삭제하는 명령어이다. Ncftp의 rmdir명령은
원격서버의 디렉토리가 비록 비어있지 않더라도 삭제되므로
사용에 주의를 요망한다.
set
ncftp프로그램의 기본값을 세팅할수있게 하는 명령어이다.
set
위와 같은 형식으로 사용하게 된다.예를 들어 anonymous의 비밀번호인 기본이메일주소를 변경하기 위해서는 아래와 같이
입력한다.
set anon-password kpj666@hanmail.net
show
set명령으로 설정할 수 있는 기본값을 표시한다.
Show anon-password   명령 또는 show 명령과 같이 사용한다.
모든값을 표시하려면 show all    과 같이 all옵션을 주면된다.
type
파일전송모드를 변경할 때 사용하는 명령어이다. 아래와같이
3가지의 명령이 존재한다. 각각 텍스트,2진파일,이미지파일전송시에
사용한다.
type ascii     = type a
type binary    = type b
type image     = type i
umask
유닉스의umask와 동일한 명령어이다. 서버에서 지원해야 사용가능
한 명령어이다. umask값이란 디렉토리/파일이 생성될 때 기본
퍼미션을 잡아주는 명령어이다.
version
현재 자신의 시스템에 설치되어있는 ncftp프로그램의 버전정보를
표시한다.

디렉토리명은 TAB 키를 누르게 되면 자동완성 까지 시켜주게 된다.

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


실제 사용예는 마땅히 표현할것이 없기에.... 생략하였습니다...

ftp를 사용하셨던 분이시라면 충분히 이해하리라 생각합니다.....

그럼 한겨울로 접어드는 날씨에 감기 조심하시구요, 새해에 복 많이 받으세요!!

******************************
******  Make by KPJ666 ******
******************************

2009/04/30 13:38 2009/04/30 13:38
C:\>wget --spider -S http://www.naver.com --> 헤더정보를 console에 뿌린다.
--15:04:28--  http://www.naver.com/
           => `index.html'
Resolving www.naver.com... done.
Connecting to www.naver.com[202.131.30.82]:80... connected.  --> IP는 202.131.30.82 다.
HTTP request sent, awaiting response...
 1 HTTP/1.1 200 OK
 2 Date: Fri, 30 Nov 2007 06:04:21 GMT   --> 메인페이지는 오늘 아침 6시 4분 21초에 업데이트 되었다.
 3 Server: Apache --> Naver는 메인페이지용 웹서버로 Apache를 쓰고 있다
 4 Cache-control: no-cache, no-store, must-revalidate
 5 Pragma: no-cache
 6 P3P: CP="CAO DSP CURa ADMa TAIa PSAa OUR LAW STP PHY ONL UNI PUR FIN COM NAV INT DEM STA PRE" --> P3P를 쓰고 있다
 7 Connection: close
 8 Content-Type: text/html; charset=euc-kr  --> 캐릭터셋으로 euc-kr로 쓰고 있다.
200 OK

C:\>wget -O good.jpg http://www.hikr.org/files/33971.jpg --> url에서 파일을 다운로드 하여 good.jpg로 저장한다.
--15:08:51--  http://www.hikr.org/files/33971.jpg
           => `good.jpg'
Resolving www.hikr.org... done.
Connecting to www.hikr.org[88.198.38.81]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 121,292 [image/jpeg]

100%[====================================>] 121,292       44.08K/s    ETA 00:00

15:08:55 (44.08 KB/s) - `good.jpg' saved [121292/121292]
2009/04/30 11:21 2009/04/30 11:21
< Cygwin 홈페이지 > 이 주소의 시그윈 홈에 보면

Install or update
now!
(using setup.exe)


이런 곳이 있습니다. 'setup.exe를 사용해 인스톨/업데이트'하는 메뉴입니다. 그곳을 클릭하면 setup.exe 라는 조그만 파일이 다운로드됩니다. setup.exe 를 실행하면 인터넷 서버에서 실시간으로 파일을 받아오며 인스톨이 시작됩니다.

※ 시그윈은 무료이고 오픈소스입니다


인스톨 과정



* Install from Internet (인터넷으로부터 인스톨; 다운받은 파일들은 나중에 다시 사용할 수 있도록 지우지 않음)

* Download without Installing (필요한 파일을 다운로드만 하고, 인스톨은 하지 않음)

* Install from Local Directory (하드에 이미 다운받아 놓은 파일로 설치)

이런 옵션 대화상자가 나오는데, 처음 설치라면 Install from Internet (인터넷으로부터 인스톨) 을 선택합니다.



Select Root Install Directory (인스톨할 루트 디렉토리를 선택하세요) 라는 곳이 나오는데, 하드의 어디에 시그윈을 설치할지 물어보는 것입니다. 저의 경우
D:\cygwin
여기로 지정했습니다. 나머지는 기본값이 좋습니다.



Select Local Package Directory (설치 파일을 보관할 곳을 정하세요)

다운받은 시그윈 설치파일들을 지우지 않고 계속 보관할 폴더를 지정하는 곳입니다. 저의 경우에는
D:\Warehouse\cygwin_install_files
이런 폴더를 만들어서 지정해 주었습니다. 시그윈도 일종의 유닉스이기에, 디렉토리/파일명에는 공백문자가 들어가지 않는 것이 좋을 것 같습니다.



Select Your Internet Connection (인터넷 연결 방식을 선택하세요)

Direct Connection (직접 연결)을 선택했습니다.



Choose A Download Site (다운받을 사이트를 고르세요)

설치 파일들은 시그윈 홈페이지가 아닌 세계 각곳의 FTP 서버에 올려져 있습니다. 그래서 골라야 하는데, 서버에 따라 아주 느리거나 아예 다운로드가 안되는 경우가 많습니다.

예전에는 한국의 "리눅스사랑" 서버가 좋았는데 지금은 보이지 않습니다.

"초고속연구망 KREONET": ftp://ftp.kreonet.re.kr
여기가 속도도 빠르고 잘 되는군요. 아무튼 한국 서버에서 받는 것이 빠릅니다.



Select Packages (설치할 패키지를 고르세요)

이 부분이 좀 어렵습니다. 리눅스에 익숙하지 않다면 무엇을 설치해야 할지 알 수가 없을 것입니다. 시그윈은  Vim (VI; 빔)같은 에디터조차도 기본적으로는 설치해 주지 않습니다.

필요한 것이 있으면 나중에 추가 설치하면 되기에 그냥 기본값으로 설치하는 것이 좋습니다. "다음" 버튼을 누릅니다.


최소한의 파일만 설치했는데도 D:\cygwin 폴더가 50MB나 됩니다.


바탕화면에 만들어진 시그윈 아이콘을 클릭하면 시그윈이 실행됩니다.


실행 결과:
Administrator@chessman-dsjf2pe ~
$


이런 아주 썰렁한 프롬프트 한 개가 나올 것입니다. 그러나 이것이 정상입니다. 정확히 말하자면 이것은 Cygwin의 Bash Shell 입니다. 윈도우의 cmd.exe 와 같은 명령어 처리기입니다.

프롬프트를 이루는 Administrator 는 현재 사용자의 로그인 ID이고, chessman-dsjf2pe 는 컴퓨터 이름입니다. 이런 프롬프트는 변경할 수 있습니다.

아무튼 이것으로 설치는 완료되었습니다.

2009/04/29 21:35 2009/04/29 21:35
간단히 설명드리자면 원격지의 컴퓨터를 컨트롤할 수 있는 툴입니다.
윈도우 2000부터 지원이 되기 시작 했고요 그냥 이것만 있으면 안되고 터미널서비
스가 설치 되어 있어야 원격지 컴퓨터를 컨트롤할 수 있습니다.
2009/04/27 19:47 2009/04/27 19:47

사용자 삽입 이미지
무료메일서버를 찾는 많은 분들에게 쓸만하다 싶어 소개해 봅니다.

hMail Server는 SMTP, POP3, IMAP을 지원하는 윈도우 서버용 메일서버 이다.
윈도우용 무료 메일서버로 국내에는 알려지지 않은 메일서버이다.

홈페이지 : http://www.hmailserver.com/
다운로드 : http://www.hmailserver.com/?page=download
라이센스 : Freeware
플랫폼  : Windows, MySQL, MS SQL

아래 오픈소스 관련 사이트에서 설치 및 관리에 대한 간단한 설명 페이지를 볼수 있다.
http://www.jopenbusiness.com/mediawiki/index.php/HMail_Server_4.4.1

최신버전 5에서는 한글 지원이 아직 안되니 참고 하세요~.

사내 메일이나 소규모 에이전시등에서 사용한다면 최상의 메일서버가 아닐까 생각해본다.
hMail Server + MySQL + SquirrelMail(다람쥐메일php) 을 설치하면 웹메일도 운영가능하다.

PHP기반 관리자 사이트도 제공하고 있어 웹에서 메일서버 관리도 가능하다.
메일서버 소스 또한 제공하고 있고 메일관리툴이 VB로 제작되어 있다.
VB메일관리툴의 소스를 활용한다면 ASP에서도 관리 가능할것으로 생각된다.

ASP 관리모듈 또는 사이트, ASP 웹메일등 개발해 보면 재미 있지 않을까 생각해 본다.

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

2009/04/27 19:34 2009/04/27 19:34
음.. 브라우저별 핵. 뭐 꼼수죠? 어쨌든 정리했습니다.
참고용으로 하셔도 되고 실로 써먹어도 되겠지만..
우리나라 웹 현실에 쓸만한게 몇개나 있을까요?
어쨌든 착하게 정리했네요.

/***** 선택자 핵 ******/

/* IE 6 이상 */

* html #uno  { color: red }

/* IE 7 이상 */

*:first-child+html #dos { color: red }

/* IE 7 과 현대 브라우저 */

html>body #tres { color: red }

/* 현대 부라우저 (IE 7 빼고) */

html>/**/body #cuatro { color: red }

/* 오페라 9.27 이상 */

html:first-child #cinco { color: red }

/*사파리 */

html[xmlns*=""] body:last-child #seis { color: red }

/*사파리 3+, 크롬 1+, 오페라 9+, 불여우 3.5+ */

body:nth-of-type(1) #siete { color: red }

/* 사파리 3+, 크롬 1+,  오페라 9+, 불여우 3.5+ */

body:first-of-type #ocho {  color: red }

/* 사파리 3, 크롬 1+ */

@media screen and (-webkit-min-device-pixel-ratio:0) {

 #diez  { background: #FFDECE; border: 2px solid #ff0000  }

}

/***** 속성 핵 ******/

/* ie6 이상 */

#once { _color:blue }

/* ie7 이상 */

#doce { *color: blue } /* or #color:blue */

/* '현대 브라우저'는 IE8 을 포함합니다, 여기에 동의하던 말던.. :) */
2009/04/27 19:08 2009/04/27 19:08
2009/04/21 10:55 2009/04/21 10:55
htmlarg은?
에디트플러스2에 붙여쓸수 있는 태그 정리기 입니다.
복잡한 태그들과 php, js코드들을 정렬시켜줍니다.

실행파일 다운로드 : htmlarg.exe v2.0.2
소스코드 다운로드 : htmlarg.cpp


$2



$2
  1. htmlarg.exe를 다운로드를 받아 Editplus 폴더에 넣는다.
  2. 에디트 플러스를 실행,, 메뉴->도구->사용자 도구 구성
  3. 추가버튼을 눌러 위와 같이 프로그램을 추가한다.
  4. 텍스트 필터 사용에 꼭 체크한다
  5. 저장하고 사용



$2
[들여쓰기][코드들여쓰기] [태그리스트1] [태그리스트2] [태그리스트3] ($CurSel)
--------
ex) 2t D D D $(CurSel)
  • 들여쓰기
    0~9까지의 숫자, 탭문자를 이용하고 싶으면 t를 사용
  • 코드들여쓰기
    0~9까지의 숫자, 탭문자를 이용하고 싶으면 t를 사용
    코드 정렬을 안하려면 n을 사용한다
  • 태그리스트1
    들여쓰기할 태그 리스트, D를 이용하면 기본 태그를 사용한다.
    기본 목록은 tr,td,div,ol,ul,li 이다.
    추가하고 싶다면, D뒤에 컴마(,)를 이용 추가하면 가능하다.
    D를 없애고 직접 적어주는것도 가능하다.
  • 태그리스트2
    들여쓰기는 안하지만 한줄에 하나만 있어야할 태그 리스트.
    D를 이용하면 기본 태그를 사용한다.
    기본 목록은 html,head,body,title,meta,table,link,map,select 이다.
  • 태그리스트3
    정리를 안할 태그 리스트, D를 이용하면 기본 태그를 사용한다.
    기본 목록은 pre,style 이다.
    script와 ? 를 넣어두면 php와 jacsript가 html의 정렬과 상관없이 정렬된다.


$2
  • php javascript의 정렬
  • 주석제거, PHP코드 제거 기능 제거


$2
  • 2.0.1 : 정렬무시 기능 오작동 수정
  • 2.0.2 : 태그이름이 겹치는경우(ex link,li) 옵션이 무시되는 버그수정

출처 : http://www.killrain.net/channel/lab/dev.php?mode=view&no=310

2009/04/21 10:46 2009/04/21 10:46
출처: http://blog.w2.ro/zend로 인코딩(?)되어 있는 프로그램을 소스로 바꿔주는 프로그램입니다.

저는 해봤는데 잘 됩니다.

남의 창작물을 도둑질하는 용도로만 사용 안되길 바랄 뿐입니다.

좋은 용도로 사용되길....
2009/04/21 10:38 2009/04/21 10:38

많은 분들이 PHP로파일업로드를 처리하면서 일정용량이나 대용량 파일의 업로드에 문제가 있는것 같습니다.
저도 같은 문제로 고민하던 중 외부의 도움을 얻어 해결했기에 조금이나마 도움이 되고자 적어 봅니다.

우선 저의 경우

정상적으로 레드헷 9.0과 PHP 4.2 버전을 설치하였고 파일 업로드 코드도 정상적으로 코딩하였습니다.
그런데 500k 이상의 파일에서 업로드가 되지 않는 현상이 일어났습니다.
500k이하의 파일은 정상적으로 올라가나 그 이상크기의 파일은 반응이 없거나 페이지를 찾을 수 없는 에러가 나거나 하였습니다.

누구나 그렇듯이 저도 php.ini의 파일 업로드 용량 설정 문제인것으로 생각하고 php.ini 파일에서파일업로드용량을 20메가로 늘려 주었습니다.
참고로 php.ini파일에서 용량과 관련하여 설정해 주어야 하는 부분은 5부분입니다.

file_uploads = On
파일 업로드를 허용할지 설정하는 부분으로 당연히 ON으로 되어 있어야 합니다.

upload_max_filesize = 20M
최대 업로드 파일 사이즈입니다. 원하시는 용량만큼 설정하시면 됩니다.

post_max_size = 20M
Post방식으로 넘겨질 최대 데이터 사이즈입니다.

max_execution_time = 300
최대 실행시간입니다. 대용량 파일일수록 시간이 많이 걸리니 당연 실행시간을 늘려 주어야 합니다. 0으로 세팅하면 무한대이니 알아서 적당히 세팅해 주십시요

memory_limit = 20M
잘 모르겠는데 여하튼 이부분도 같이 세팅되어야 합니다.


upload_max_filesize, post_max_size, memory_limit는 보통 같은 값으로 세팅을 하는데여. PHP메뉴얼에서 크기를 memory_limit > post_max_size > upload_man_filesize 로 해야 한다고 보았던것 같습니다.
즉 Memory_limit설정값이 post_max_size보다 커야하고 post_max_size는 upload_man_filesize보다 커야한다고여...
그런데 걍 같은 값으로 설정해도 문제가 없는듯 합니다.

이렇게 설정하셨으면 아파치를 재시동 합니다.

/etc/rc.d/init.d/httpd restart

재시동 후 PHP설정이 제대로 적용되었는지 phpinfo()로 확인해 봅니다.
그러면 위 설정값들이 적용된것을 확인할 수 있습니다.

그리고파일업로드를 다시 테스트 해 보십시요..
정상적으로 파일이 올라가나요?
된다면 좋겠지만 분명 않되시는 분들도 계실것입니다.
제가 그랬으니까요....

자 이제부터 대략 무지난감하죠...
우선파일업로드중 에러가 발생한 것이니 로그를 아파치의 에러로그를 살펴봐야 겠습니다.

vi /var/log/httpd/error_log

그럼 에러로그들이 쫙 있는데여....
다음과 같은 문장을 볼 수 있습니다.

[Thu Aug 12 17:56:31 2004] [error] [client xxx.xxx.xxx.xxx] Requested content-length of 818331 is larger than the configured limit of 524288, referer: http://xxx.xxx.xxx.xxx/form.htm

음 짧은 영어실력이지만 대충 읽어보면 다음과 같죠

8월 12일날 에러가 났는데 누구냐면 xxx.xxx.xxx.xxx야... 에러가 뭐라고 왔냐면 올리는 파일이 818331바이트인데 이게 524288 값으로 제한되어 있는 설정값보다 더 크다는 거지..

헉~~!

구럼 도대체 어느넘이 php.ini와 상관없이파일업로드를 방해하는 것인지가...?
찾아보았더니..

/etc/httpd/conf.d/php.conf

이넘을 열어보면

LimitRequestBody

라는 설정값이 있습니다.이넘의 초기값이 524288 이군여.. 이넘의 값을 대략 20메가 20000000 정도로 해보져....
당근 아파치 재시작...

그리고 파일을 업로드 해보면... ㅋ~~ 감동 .. 정상적으로 올라가는군여....
ㅋㅋㅋ
이상이 제가 해결한 방법이었습니다.
혹시파일업로드하시면서 도저히 일정용량 않된다 하시는분 저처럼 해 보시구여...
혹시라도 제 내용이 있으신 분들도 리플 달아주시면 아는한 최대로 수정하겠습니다.

참고 : 시스템 설치 방법에 따라 위에서 설정한 php.conf 파일이 없는 경우도 있습니다.
제가 노트북에 설치한 리눅스 시스템엔 php.conf 파일을 찾을 수 없었습니다.
그런데 이넘은파일업로드가 문제가 없어서 걍 잘 쓰고 있습니다.

2009/04/20 20:24 2009/04/20 20:24

Prototype과 jQuery.. 아직도 어떤게 더 많이 사용되고 있는지는 잘 모릅니다. 하지만 개인적인 기분상 예전엔 Prototype을 많이 썼고 유명했는데 요즘은 jQuery가 더 많이 쓰이는 것 같은 느낌입니다.

개인적으로 jQuery를 조금씩 끄적거려 보고 있는 편이기도 하구요.

http://www.jquery.com

jQuery 공식 홈페이지 입니다. 현재 버전은 1.3.2 군요.

jQuery나 Prototype을 사용하면 JavaScript 개발이 더욱 편리해 집니다.

document.getElementById(‘test’) 같은 긴 함수 대신 $(‘test’) 를 사용할 수 있게 되는 것이죠. 그 외에도 Ajax관련 함수를 간편하게 사용 가능하며 브라우저 호환성 코드도 자체 지원하고 추가적인 UI효과를 위한 플러그인 라이브러리들도 많이 지원됩니다.

http://malsup.com/jquery/cycle/

이 링크를 한번 참조해 보시기 바랍니다. 좀더 액티브한 홈페이지를 만드는데 도움이 될 것입니다 ^^

이런걸 직접 구현하려고 하면 재미야 있을 수 있지만 시간이 오래 걸리겠죠? ^^;

2009/04/16 00:14 2009/04/16 00:14

미래의 웹은 시맨틱웹이며, 웹2.0은 시맨틱웹을 경제적 관점에서 본 말이다.

시맨틱웹이 보급되려는 시점에 웹2.0이라는 말이 나와 혼란을 주고 있다. 결론부터 내리자면 W3C나 팀 버너스 리가 제시하고 있는 차세대웹(NGWeb = Next Generation Web)은 1998년부터 확정되어 전개되고 있는 시맨틱웹 이다.

웹2.0(Web 2.0)은 초창기 웹을 1.0이라 생각하고 다음 세대 웹을 2.0으로 구분한 것인데, 이 낱말은 경제적 관점에서 만들어졌다. 시맨틱웹이 RSS 등을 통해 점차 구현되기 시작하자 오라일리(O'Reilly Media, www.oreilly.com)는 2004년 10월 5일부터 일주일 동안 미국 샌프란시스코에서 '웹2.0컨퍼런스(www.web2con.com)'를 개최한다. 이때부터 퍼진 웹2.0 용어는 시맨틱웹의 다른 낱말로 이해되고 있다.

기본적으로 웹2.0과 시맨틱웹은 목적지가 거의 동일하다. 다만 시맨틱웹이 목적지를 향한 기술에 관심을 두고 있다면 웹2.0은 시맨틱웹의 기술을 어떻게 응용하여 경제와 인간생활에 적용시킬 것인가에 관심을 두고 있다는 정도의 차이가 있다

정리하자면 차세대 웹이라는 의미로 '웹2.0'을 사용하는 것은 큰 무리가 없으나 컴퓨터끼리 대화하고 자동화된 지능형 웹을 뜻할 때는 '시맨틱웹'으로 표현하는 것이 좀더 정확한 사용법이 될 것이다.


시맨틱웹은 자동화처리를 위해 숨은자료를 적극 활용하고 있다.

기계끼리 일을 처리하려면 기계끼리 서로 대화를 나누고 대화 내용을 이해할 수 있어야 한다. 이를 위해선 컴퓨터가 이해할 수 있는 언어로 웹을 구성해야 한다. RDF, 온톨로지(Ontology, 존재론), OWL(Ontology Web Language, 존재론 웹언어) 등은 이를 위해 논의되고 있는 기술이다. 현재 시맨틱웹은 W3C를 중심으로 숨은자료(meta data, 메타데이터)를 통해 정보의 의미를 이해하고 처리하도록 하는 자원 설명 기술과 지식 설명 기술이 결합된 연구방향이 한 줄기를 이루고 있다. W3C는 RDF 기반의 온톨로지(Ontology) 기술에 관심을 가지고 있다. 다른 한 줄기는 ISO를 중심으로 XTM 언어를 이용한 정보와 지식의 분산 처리, 통합 관리 등에 중점을 두는 방향이다. ISO 쪽은 토픽맵(Topic Maps) 기술에 중점을 두고 있다. 토픽맵은 ISO/IEC 13250 표준으로 XML 기반의 XTM(XML Topic Maps)이라는 언어를 사용해 정보와 지식의 분산 관리를 지원한다. 이 중에서 현재 가장 활발하게 논의되고 있고 실제로 사용하고 있는 기술은 숨은자료(메타데이터)를 이용한 자동화처리 부분이다.

빠르고 강력하며 확장성이 좋은 Ajax

HTML만으로 구현하기 어려운 복잡하고 정교한 작업을 구현해줌으로써 좀더 윤택한 사이트를 꾸며주는 인터넷 기술을 RIA(Rich Internet Application)라고 한다. 가장 대중적인 윤택인터넷응용(RIA) 기술로 매크로미디어사의 플래시와 마이크로소프트의 액티브엑스, 자바애플릿 기술을 들 수 있다. 플렉스(Flex), 위젯(Widget), 대시보드(Dash Board)를 비롯한 불여우(Firefox)의 확장도 RIA 기술로 분류할 수 있다. 그런데 구글이 Ajax를 활용하면서 빠른 속도로 Ajax 기술이 전파됨에 따라 기존 RIA 개발사의 영향력이 약해지고 있다. 대신 XML과 자바스크립트를 활용한 기술이 큰 흐름을 형성하며 떠오르고 있다. Ajax와 같은 기술은 빠른 속도와 강력한 기능 외에도 표준과 개방성, 확장성이 좋다는 것이 큰 장점이다. XML 자료를 주고받기 때문에 자료 관리가 쉬워지고 자동화가 쉽다는 점도 장점이다.

액티브엑스는 강력하지만 윈도와 익스플로러에서만 동작하는 폐쇄성 문제가 있으며, 플래시는 덩치가 크고 느리며 무겁다. 자바애플릿은 자바가상머신을 설치해야 하는 문제가 있다. 이들 기술로 웹표준을 준수하거나 다양한 기계, 다양한 브라우저와 호환성을 갖추기는 쉽지 않다. 반면 XML을 이용하는 Ajax는 기기나 브라우저에 구애받지 않으며 웹표준을 준수하기 쉽다. 호환성, 확장성도 좋다.


시맨틱 웹 기술은 사람의 머리 속에 있는 언어에 대한 이해를 컴퓨터 언어로 표현하고 이것을 컴퓨터가 사용할 수 있게 만드는 것인데, 특별한 분산환경을 갖춘 웹에 구현하자는 것이다. 이 것은 기계가 정보검색과 같은 사람의 요구를 더 잘 이해하고 적절하게 반응하기 위해서이다. 사람과 기계 사이에 진정한 커뮤니케이션이 가능하기 위해서는 사람이 이해하는 수준으로 기계도 언어를 이해할 수 있어야 한다. 사람들이 언어를 이해하는 방식을 보통 개념화라고 하는데, 즉 사람들은 세상에 있는 각각의 사물이나 사건들을 경험하면서 이 들 속에 들어있는 특징을 파악해서 언어로 개념화한다. 이렇게 컴퓨터에서도 사람이 갖고 있는 개념과 같은 것을 일종의 데이터베이스 형태로 만드는 기술을 온톨로지 기술 이라고 부른다.

온톨로지는 자연어의 기계 번역과 인공지능 분야에서 활용되며, 최근에는 특정 분야의 인터넷 자원과 그 사이의 관계를 기술하는 온톨로지를 사용하는 시맨틱 웹과 이것에서 파생된 시맨틱 웹 서비스 등의 핵심 요소로서 주목받고 있다.


시맨틱 웹 언어

시맨틱 웹에서 Subject, Predicate, Object는 XML의 URI 형태로 표현되며, 이는 웹 환경에 산재한 자원에 대한 온톨로지를 기술하는데 목적이 있다. 현재 시맨틱 웹 온톨로지를  기술하는 표준 언어로 W3C에서 제안한 RDF, OWL 그리고 ISO에서 제안한 TopicMaps 등이 있으나 국지적으로는 N3, N-Triple 또는 인공지능 분야에서 예전부터 쓰이던 KIF 형태로도 온톨로지가 작성된다


대중적으로 가장 널리 알려진 시맨틱 웹의 활용 예는 RSS 이다. RSS(RDF Site Summary) 첫 버전인 0.9와 1.0은 바로 RDF로 작성되어 있다. 이후 버전에서는 RDF를 사용하지 않으며 이름도 Really Simple Syndication 또는 Rich Site Summary로 혼재되어 사용되고 있다.

2006년 현재 시맨틱 웹을 시맨틱 웹 서비스(OWL-S, WSDL-S), 시맨틱 PDM/PLM, 기존 KMS 시스템의 시맨틱 웹화, 바이오 인포매틱스 등으로 응용하려는 연구가 진행중이다. 그리고 웹 2.0의 정보 공유 수단으로 시맨틱 웹 온톨로지가 주목받는 중이다.

원본 주소 ‘http://ko.wikipedia.org/wiki/%EC%8B%9C%EB%A7%A8%ED%8B%B1_%EC%9B%B9’

==========================
RDF(Resource Description Framework)은 월드 와이드 웹 컨소시엄에서 정의한, 웹상의 자원의 정보를 표현하기 위한 XML 규격이다.

==========================


RSS 혹은 Really Simple Syndication (직역하면 매우 간단한 배급)은 XML 기반의 문서 표준으로 다음과 같은 세부 표준을 갖고 있다.

Rich Site Summary (RSS 0.9x and RSS 2.0)
RDF Site Summary (RSS 0.9 and 1.0) (RDF: Resource Description Framework)
RSS는 뉴스나 블로그 사이트에서 주로 사용하는 컨텐츠 표현 방식이다. 웹 사이트 관리자는 RSS 형식으로 웹 사이트 내용을 보여 준다. 이 정보를 받는 사람은 다른 형식으로 이용할 수 있다. 예로, 모질라 파이어폭스의 라이브 북마크나 한RSS 등의 RSS 리더 프로그램에서 읽을 수 있다.

RSS가 등장하기 전에는 원하는 정보를 얻기 위해 해당 사이트를 직접 방문하여야 했으나, RSS 관련 프로그램(혹은 서비스)을 이용하여 자동 수집이 가능해졌기 때문에 사용자는 각각의 사이트 방문 없이 최신 정보들만 골라 한 자리에서 볼 수 있다.

또한 RSS 는 포드캐스팅과 같은 미디어 배포의 용도로도 사용된다. RSS 2.0 의 〈enclosure〉태그 내에 MP3 나 MOV 등의 미디어 파일을 첨부하여 배포하면, 포드캐스팅 클라이언트 등에서 미디어 파일을 인식하고 사용자에게 들려주거나 자신의 포터블 미디어 플레이어로 옮겨준다.

RSS 2.0은 공식적으로 완료된 것으로 선언되었으며, 하버드 대학교가 저작권을 보유하고 있다.

RSS 파일들은 표준 XML 기반 파일로서, 웹 콘텐트를 신디케이트 및 모으는 방식을 제공합니다. 이 파일에는 콘텐트에 대한 정보를 설명하는 메타데이터, 콘텍스트, 데이터 특성이 포함되어 있습니다. RSS 파일들을 사용하여, 웹 사이트에서 헤드라인, 링크, 아티클 요약을 제공하는 데이터 피드가 만들어집니다. 이 파일들은 로고, 사이트 링크, 인풋 박스, 여러 뉴스 아이템들을 포함한 정보 채널을 기술하고 있습니다. 기타 웹 사이트들은 이러한 정보를 자신들의 페이지와 자동으로 결합하거나, 피드를 사용하여 사이트에 실시간 뉴스 헤드라인을 제공합니다. 이러한 기술을 사용하여 해당 웹 사이트에 실시간 정보 배포가 가능해집니다.


==========================

✓ OWL의 사전적 의미

웹상에서 첨단의 웹 검색, 소프트웨어 에이전트 및 지식 관리 기능을 제공하는 온톨로지를 발간 및 공유하기 위한 시멘틱 웹 생성 언어. 자원 기술 프레임워크(RDF)의 확장 언어로 개발된 것으로 DAML+OIL 언어로부터 시작되었다. 웹 온톨로지 언어(OWL)는 웹 온톨로지와 그에 관련된 지식을 정의하는 언어로 추론 시스템에 축적된 명제들을 정의하며, 클래스 및 그 구성원 간의 관계를 기술하고, 구문적으로 정의되지 않은 사실의 논리적 유추를 가능하게 하는 클래스 및 속성과 이에 적용할 수 있는 제약 사항의 집합으로 되어 있다.

✓ OWL란?

OWL 웹 온톨로지 언어는 단지 사람에게 정보를 표시하는데 그치지 않고 정보의 내용을 직접 처리할 수 있는 어플리케이션을 구현하는데 활용될 수 있도록 설계된 언어이다. OWL은 풍부한 어휘(vocabulary)와 형식적 의미론(formal semantics)을 포함하고 있기 때문에 기계 해석이 가능한 웹 컨텐트를 저작하는데 있어 XML, RDF 및 RDF 스키마(RDF-S)보다 뛰어나다. OWL은 표현력이 서로 다른 세 개의 하위 언어 - OWL Lite, OWL DL, OWL Full - 로 구성되어 있다. 후자로 갈수록 표현력이 더 크다.

✓ OWL 소개

OWL은 문서에 포함된 정보를 어플리케이션을 이용하여 자동 처리하고자 할 때 활용하는 언어이다. OWL을 이용하면 임의의 어휘를 구성하는 용어(term)의 의미와 용어들 간의 관계를 명시적으로 표현할 수 있다. 이와 같이 용어와 용어들 간의 관계를 표현한 것을 온톨로지(Ontology)라 한다. OWL은 XML, RDF, RDF-S 보다 더 많은 의미 표현 수단을 제공하므로, 웹 상에서 기계가 해석할 수 있는 컨텐트를 작성하는데 있어 이들 언어보다 뛰어나다. OWL은 DAML+OIL 웹 온톨로지 언어로부터 파생된 언어이다. OWL에는 DAML+OIL의 설계 및 활용 경험으로부터 습득된 지식이 반영되어 있다.

✓ 왜 OWL인가?

시맨틱 웹은 웹의 미래에 대한 비전이다. 시맨틱 웹에서 정보는 명시적인 의미를 부여받게 되는데, 이를 통해 기계는 좀 더 쉽게 웹 상에 존재하는 정보들을 자동으로 처리하고 통합할 수 있다. 시맨틱 웹은 사용자 정의 태그 스키마를 정의할 수 있는 XML과 유연하게 데이터를 표현할 수 있는 RDF를 바탕으로 구축된다. 시맨틱 웹의 구현에 있어 RDF 바로 윗 계층에 필요한 것이 웹 문서에 포함된 용어의 의미를 형식적으로 기술할 수 있는 온톨로지 언어이다. 기계를 이용하여 웹 문서를 대상으로 유용한 추론 기능을 수행하려면 RDF 스키마가 제공하는 기초적인 의미 표현력을 뛰어넘는 언어가 필요하다.

2009/04/16 00:11 2009/04/16 00:11

미래의 웹은 시맨틱웹이며, 웹2.0은 시맨틱웹을 경제적 관점에서 본 말이다.

시맨틱웹이 보급되려는 시점에 웹2.0이라는 말이 나와 혼란을 주고 있다. 결론부터 내리자면 W3C나 팀 버너스 리가 제시하고 있는 차세대웹(NGWeb = Next Generation Web)은 1998년부터 확정되어 전개되고 있는 시맨틱웹 이다.

웹2.0(Web 2.0)은 초창기 웹을 1.0이라 생각하고 다음 세대 웹을 2.0으로 구분한 것인데, 이 낱말은 경제적 관점에서 만들어졌다. 시맨틱웹이 RSS 등을 통해 점차 구현되기 시작하자 오라일리(O'Reilly Media, www.oreilly.com)는 2004년 10월 5일부터 일주일 동안 미국 샌프란시스코에서 '웹2.0컨퍼런스(www.web2con.com)'를 개최한다. 이때부터 퍼진 웹2.0 용어는 시맨틱웹의 다른 낱말로 이해되고 있다.

기본적으로 웹2.0과 시맨틱웹은 목적지가 거의 동일하다. 다만 시맨틱웹이 목적지를 향한 기술에 관심을 두고 있다면 웹2.0은 시맨틱웹의 기술을 어떻게 응용하여 경제와 인간생활에 적용시킬 것인가에 관심을 두고 있다는 정도의 차이가 있다

정리하자면 차세대 웹이라는 의미로 '웹2.0'을 사용하는 것은 큰 무리가 없으나 컴퓨터끼리 대화하고 자동화된 지능형 웹을 뜻할 때는 '시맨틱웹'으로 표현하는 것이 좀더 정확한 사용법이 될 것이다.


시맨틱웹은 자동화처리를 위해 숨은자료를 적극 활용하고 있다.

기계끼리 일을 처리하려면 기계끼리 서로 대화를 나누고 대화 내용을 이해할 수 있어야 한다. 이를 위해선 컴퓨터가 이해할 수 있는 언어로 웹을 구성해야 한다. RDF, 온톨로지(Ontology, 존재론), OWL(Ontology Web Language, 존재론 웹언어) 등은 이를 위해 논의되고 있는 기술이다. 현재 시맨틱웹은 W3C를 중심으로 숨은자료(meta data, 메타데이터)를 통해 정보의 의미를 이해하고 처리하도록 하는 자원 설명 기술과 지식 설명 기술이 결합된 연구방향이 한 줄기를 이루고 있다. W3C는 RDF 기반의 온톨로지(Ontology) 기술에 관심을 가지고 있다. 다른 한 줄기는 ISO를 중심으로 XTM 언어를 이용한 정보와 지식의 분산 처리, 통합 관리 등에 중점을 두는 방향이다. ISO 쪽은 토픽맵(Topic Maps) 기술에 중점을 두고 있다. 토픽맵은 ISO/IEC 13250 표준으로 XML 기반의 XTM(XML Topic Maps)이라는 언어를 사용해 정보와 지식의 분산 관리를 지원한다. 이 중에서 현재 가장 활발하게 논의되고 있고 실제로 사용하고 있는 기술은 숨은자료(메타데이터)를 이용한 자동화처리 부분이다.

빠르고 강력하며 확장성이 좋은 Ajax

HTML만으로 구현하기 어려운 복잡하고 정교한 작업을 구현해줌으로써 좀더 윤택한 사이트를 꾸며주는 인터넷 기술을 RIA(Rich Internet Application)라고 한다. 가장 대중적인 윤택인터넷응용(RIA) 기술로 매크로미디어사의 플래시와 마이크로소프트의 액티브엑스, 자바애플릿 기술을 들 수 있다. 플렉스(Flex), 위젯(Widget), 대시보드(Dash Board)를 비롯한 불여우(Firefox)의 확장도 RIA 기술로 분류할 수 있다. 그런데 구글이 Ajax를 활용하면서 빠른 속도로 Ajax 기술이 전파됨에 따라 기존 RIA 개발사의 영향력이 약해지고 있다. 대신 XML과 자바스크립트를 활용한 기술이 큰 흐름을 형성하며 떠오르고 있다. Ajax와 같은 기술은 빠른 속도와 강력한 기능 외에도 표준과 개방성, 확장성이 좋다는 것이 큰 장점이다. XML 자료를 주고받기 때문에 자료 관리가 쉬워지고 자동화가 쉽다는 점도 장점이다.

액티브엑스는 강력하지만 윈도와 익스플로러에서만 동작하는 폐쇄성 문제가 있으며, 플래시는 덩치가 크고 느리며 무겁다. 자바애플릿은 자바가상머신을 설치해야 하는 문제가 있다. 이들 기술로 웹표준을 준수하거나 다양한 기계, 다양한 브라우저와 호환성을 갖추기는 쉽지 않다. 반면 XML을 이용하는 Ajax는 기기나 브라우저에 구애받지 않으며 웹표준을 준수하기 쉽다. 호환성, 확장성도 좋다.


시맨틱 웹 기술은 사람의 머리 속에 있는 언어에 대한 이해를 컴퓨터 언어로 표현하고 이것을 컴퓨터가 사용할 수 있게 만드는 것인데, 특별한 분산환경을 갖춘 웹에 구현하자는 것이다. 이 것은 기계가 정보검색과 같은 사람의 요구를 더 잘 이해하고 적절하게 반응하기 위해서이다. 사람과 기계 사이에 진정한 커뮤니케이션이 가능하기 위해서는 사람이 이해하는 수준으로 기계도 언어를 이해할 수 있어야 한다. 사람들이 언어를 이해하는 방식을 보통 개념화라고 하는데, 즉 사람들은 세상에 있는 각각의 사물이나 사건들을 경험하면서 이 들 속에 들어있는 특징을 파악해서 언어로 개념화한다. 이렇게 컴퓨터에서도 사람이 갖고 있는 개념과 같은 것을 일종의 데이터베이스 형태로 만드는 기술을 온톨로지 기술 이라고 부른다.

온톨로지는 자연어의 기계 번역과 인공지능 분야에서 활용되며, 최근에는 특정 분야의 인터넷 자원과 그 사이의 관계를 기술하는 온톨로지를 사용하는 시맨틱 웹과 이것에서 파생된 시맨틱 웹 서비스 등의 핵심 요소로서 주목받고 있다.


시맨틱 웹 언어

시맨틱 웹에서 Subject, Predicate, Object는 XML의 URI 형태로 표현되며, 이는 웹 환경에 산재한 자원에 대한 온톨로지를 기술하는데 목적이 있다. 현재 시맨틱 웹 온톨로지를  기술하는 표준 언어로 W3C에서 제안한 RDF, OWL 그리고 ISO에서 제안한 TopicMaps 등이 있으나 국지적으로는 N3, N-Triple 또는 인공지능 분야에서 예전부터 쓰이던 KIF 형태로도 온톨로지가 작성된다


대중적으로 가장 널리 알려진 시맨틱 웹의 활용 예는 RSS 이다. RSS(RDF Site Summary) 첫 버전인 0.9와 1.0은 바로 RDF로 작성되어 있다. 이후 버전에서는 RDF를 사용하지 않으며 이름도 Really Simple Syndication 또는 Rich Site Summary로 혼재되어 사용되고 있다.

2006년 현재 시맨틱 웹을 시맨틱 웹 서비스(OWL-S, WSDL-S), 시맨틱 PDM/PLM, 기존 KMS 시스템의 시맨틱 웹화, 바이오 인포매틱스 등으로 응용하려는 연구가 진행중이다. 그리고 웹 2.0의 정보 공유 수단으로 시맨틱 웹 온톨로지가 주목받는 중이다.

원본 주소 ‘http://ko.wikipedia.org/wiki/%EC%8B%9C%EB%A7%A8%ED%8B%B1_%EC%9B%B9’

==========================
RDF(Resource Description Framework)은 월드 와이드 웹 컨소시엄에서 정의한, 웹상의 자원의 정보를 표현하기 위한 XML 규격이다.

==========================


RSS 혹은 Really Simple Syndication (직역하면 매우 간단한 배급)은 XML 기반의 문서 표준으로 다음과 같은 세부 표준을 갖고 있다.

Rich Site Summary (RSS 0.9x and RSS 2.0)
RDF Site Summary (RSS 0.9 and 1.0) (RDF: Resource Description Framework)
RSS는 뉴스나 블로그 사이트에서 주로 사용하는 컨텐츠 표현 방식이다. 웹 사이트 관리자는 RSS 형식으로 웹 사이트 내용을 보여 준다. 이 정보를 받는 사람은 다른 형식으로 이용할 수 있다. 예로, 모질라 파이어폭스의 라이브 북마크나 한RSS 등의 RSS 리더 프로그램에서 읽을 수 있다.

RSS가 등장하기 전에는 원하는 정보를 얻기 위해 해당 사이트를 직접 방문하여야 했으나, RSS 관련 프로그램(혹은 서비스)을 이용하여 자동 수집이 가능해졌기 때문에 사용자는 각각의 사이트 방문 없이 최신 정보들만 골라 한 자리에서 볼 수 있다.

또한 RSS 는 포드캐스팅과 같은 미디어 배포의 용도로도 사용된다. RSS 2.0 의 〈enclosure〉태그 내에 MP3 나 MOV 등의 미디어 파일을 첨부하여 배포하면, 포드캐스팅 클라이언트 등에서 미디어 파일을 인식하고 사용자에게 들려주거나 자신의 포터블 미디어 플레이어로 옮겨준다.

RSS 2.0은 공식적으로 완료된 것으로 선언되었으며, 하버드 대학교가 저작권을 보유하고 있다.

RSS 파일들은 표준 XML 기반 파일로서, 웹 콘텐트를 신디케이트 및 모으는 방식을 제공합니다. 이 파일에는 콘텐트에 대한 정보를 설명하는 메타데이터, 콘텍스트, 데이터 특성이 포함되어 있습니다. RSS 파일들을 사용하여, 웹 사이트에서 헤드라인, 링크, 아티클 요약을 제공하는 데이터 피드가 만들어집니다. 이 파일들은 로고, 사이트 링크, 인풋 박스, 여러 뉴스 아이템들을 포함한 정보 채널을 기술하고 있습니다. 기타 웹 사이트들은 이러한 정보를 자신들의 페이지와 자동으로 결합하거나, 피드를 사용하여 사이트에 실시간 뉴스 헤드라인을 제공합니다. 이러한 기술을 사용하여 해당 웹 사이트에 실시간 정보 배포가 가능해집니다.


==========================

✓ OWL의 사전적 의미

웹상에서 첨단의 웹 검색, 소프트웨어 에이전트 및 지식 관리 기능을 제공하는 온톨로지를 발간 및 공유하기 위한 시멘틱 웹 생성 언어. 자원 기술 프레임워크(RDF)의 확장 언어로 개발된 것으로 DAML+OIL 언어로부터 시작되었다. 웹 온톨로지 언어(OWL)는 웹 온톨로지와 그에 관련된 지식을 정의하는 언어로 추론 시스템에 축적된 명제들을 정의하며, 클래스 및 그 구성원 간의 관계를 기술하고, 구문적으로 정의되지 않은 사실의 논리적 유추를 가능하게 하는 클래스 및 속성과 이에 적용할 수 있는 제약 사항의 집합으로 되어 있다.

✓ OWL란?

OWL 웹 온톨로지 언어는 단지 사람에게 정보를 표시하는데 그치지 않고 정보의 내용을 직접 처리할 수 있는 어플리케이션을 구현하는데 활용될 수 있도록 설계된 언어이다. OWL은 풍부한 어휘(vocabulary)와 형식적 의미론(formal semantics)을 포함하고 있기 때문에 기계 해석이 가능한 웹 컨텐트를 저작하는데 있어 XML, RDF 및 RDF 스키마(RDF-S)보다 뛰어나다. OWL은 표현력이 서로 다른 세 개의 하위 언어 - OWL Lite, OWL DL, OWL Full - 로 구성되어 있다. 후자로 갈수록 표현력이 더 크다.

✓ OWL 소개

OWL은 문서에 포함된 정보를 어플리케이션을 이용하여 자동 처리하고자 할 때 활용하는 언어이다. OWL을 이용하면 임의의 어휘를 구성하는 용어(term)의 의미와 용어들 간의 관계를 명시적으로 표현할 수 있다. 이와 같이 용어와 용어들 간의 관계를 표현한 것을 온톨로지(Ontology)라 한다. OWL은 XML, RDF, RDF-S 보다 더 많은 의미 표현 수단을 제공하므로, 웹 상에서 기계가 해석할 수 있는 컨텐트를 작성하는데 있어 이들 언어보다 뛰어나다. OWL은 DAML+OIL 웹 온톨로지 언어로부터 파생된 언어이다. OWL에는 DAML+OIL의 설계 및 활용 경험으로부터 습득된 지식이 반영되어 있다.

✓ 왜 OWL인가?

시맨틱 웹은 웹의 미래에 대한 비전이다. 시맨틱 웹에서 정보는 명시적인 의미를 부여받게 되는데, 이를 통해 기계는 좀 더 쉽게 웹 상에 존재하는 정보들을 자동으로 처리하고 통합할 수 있다. 시맨틱 웹은 사용자 정의 태그 스키마를 정의할 수 있는 XML과 유연하게 데이터를 표현할 수 있는 RDF를 바탕으로 구축된다. 시맨틱 웹의 구현에 있어 RDF 바로 윗 계층에 필요한 것이 웹 문서에 포함된 용어의 의미를 형식적으로 기술할 수 있는 온톨로지 언어이다. 기계를 이용하여 웹 문서를 대상으로 유용한 추론 기능을 수행하려면 RDF 스키마가 제공하는 기초적인 의미 표현력을 뛰어넘는 언어가 필요하다.

2009/04/16 00:11 2009/04/16 00:11
드림위버에서 jQuery를 쉽고, 빠르게 코딩할 수 있는 확장기능이 있어 소개해 드립니다. 코드 컬러링, 스니핏, 코드 힌트 등을등을 제공하고 있습니다.
사용자 삽입 이미지

지원하는 드림위버 버전은 다음과 같습니다.
- Dreamweaver CS3, 8, MX2004, and MX. Windows and Mac seem work fine.




 
2009/04/16 00:08 2009/04/16 00:08

저도 예전에 비슷한 생각을 해서 뒤적 거려 본적이 있습니다..


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

결론적으로 요약해 드리면 바이오스에 답이 있습니다. 대부분의 PC는 바이오스를 가지고 있습니다. 여기서 하드웨어에 대한 설정을 하게 되는데요 , 장치 내부적인 데이터를 직접 컨트롤 할 수도 있습니다. CPU 클럭서 부터 팬속도 , 비디오 섀도 설정등등 많은 부분을 처리할 수도 있죠.


그런데 예전에는 운영체제가 직접 바이오스에 접근하기는 어려웠습니다. 하지만 각종 메모리의 개발등으로 FlashRom과 같은 매체를 이용하는 NVRM이 제작가능해 지면서 부터.

바이오스 정보의 가공및 처리가 용이해 졌습니다.   바이오스나 피시를 컨트롤 하는 기능들이 NVRM에 탑재 되었으니까요.....


옛날 구형 피시들도 바이오스에 특정 정보들은 메모리상에 특정 영역에 기본적으로 할당 되었습니다.

이영역에서 정보를 읽어 오기만 하며 바이오스의 데이터를 알수 있었지만, 기본적인 정보들로 구성 되었으므로 보다 세세한 정보를 알아내기는 어려 웠습니다.  운영체제와 하드웨어의 운영체제랄 수 있는 바이오스와의 정보 교류를 위해 SMBIOS것이 생긴 이후 부터 운영체제와 바이오스가 보다 디테일한 정보를 주고 받게 됩니다. 동작은 기존 BIOS 처럼 메모리상에 데이터를 올려 주는 방식입니다.


aida32 / Sandra에서 하드웨어 정보를 뽑아내는 방법은 BIOS 메모리영역과 SMBIOS의 메모리 영역을 읽음으로써 해당 정보를 뽑아내게 됩니다.

SMBIOS의 데이터 내용은 메인보드 밴더사에 따라 제공하는 정보는 각기 차이가 있습니다.


아래에 운영체제가 직접 BIOS에 엑세스하여 메인보드 시리얼을 뽑도록 하는 스크립트를 붙여 두겠습니다.


사용법 ) 1. 아래 점선안에 스크립트를 복사하여 메모장에 붙여 넣는다.

                 2. 다른이름으로 저장을 누른 후에

                     파일명: Serial.vbs    파일형식 : 모든 형식을 선택후 저장

                 3. 생성된 Serial.vbs 를 실행 하면 알림창에 시리얼 값이 표시된다.

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

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colBIOS = objWMIService.ExecQuery _
    ("Select * from Win32_BIOS")

For each objBIOS in colBIOS
    Wscript.Echo "Serial Number: " & objBIOS.SerialNumber
Next

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

2009/04/13 17:35 2009/04/13 17:35
사용자 삽입 이미지
웹페이지에서 MAC Address 구하는 ActiveX 컨트롤입니다.
웹에서 인증 처리할 때 아이디, 암호와 같이 사용하면 좋을 것 같습니다.
기능:
1. 맥어드레스 구하기 - 네트워크 카드가 여러 개 일 경우 모두 구함(한 줄에 하나씩)
2. 컴퓨터 이름 구하기
3. 작업 그룹 구하기

사용법은 아래와 같습니다.

<SCRIPT language=JavaScript for="auth" event=OnError(ErrMsg)>
    alert("에러 발생:" + ErrMsg);
</SCRIPT>

<OBJECT id="auth" classid="clsid:7C159314-7E2C-4E6E-B580-5DF25610F581" codebase="./AuthByMAC.cab#Version=1,1,9,0">
    <PARAM name=copyright value="http://isulnara.com">
</OBJECT>

<SCRIPT LANGUAGE="JavaScript">
<!--
    alert("맥어드레스: " + auth.MAC);
    alert("컴퓨터 이름: " + auth.ComputerName);
    alert("작업그룹: " + auth.WorkGroup);
//-->
</SCRIPT>


누구나 무료로 사용할 수 있습니다.

[데모 페이지]
[다운로드]




업데이트 사항(v1,1,9,0)
------------------------
+OnError(ErrMsg) 이벤트 추가
+몇몇 컴퓨터에서 Error Code 1 나오던 버그 해결

출처 : http://isulnara.com/
2009/04/13 15:51 2009/04/13 15:51
온라인상에 툴이 있을 경우 비교적 빨리 테스트해 볼 수 있어서 좋습니다.
제가 유용하게 사용하는 온라인 도구들을 모아 보았습니다.(링크#1)
여러분들도 유용하게 사용하는 온라인 도구들이 있으면 코멘트로 달아 공유해 주시면 고맙겠습니다.

phpSniff
http://phpsniff.sourceforge.net/
클라이언트 브라우저의 여러가지 정보를 보여줍니다.

BrowserSpy
http://gemal.dk/browserspy/
클라이언트의 브라우저 뿐만 아니라 설치되어 있는 플러그인과 플레이어 등에 대한 정보도 보여줍니다.

CSS Validator, HTML Validator
http://jigsaw.w3.org/css-validator/
http://validator.w3.org/
CSS 및 HTML이 W3C 권장사항에 맞는지 검사해 줍니다.

W3C Tools
http://www.w3.org/QA/Tools/
그밖의 여러가지 W3C 유효성 검사 도구들이 있습니다.

CheckDNS
http://www.checkdns.net/quickcheckdomainf.aspx
네임서버 설정이 제대로 되었는지 확인해 볼 수 있습니다.

DNS Tools
http://dns-tools.domaintools.com/
도메인과 아이피에 대한 간단한 Ping, Traceroute 그리고  DNS lookup 테스트를 할 수 있습니다.

Link Popularity Checker
http://www.pagerank.net/link-popularity-checker/
Google, AOL, AltaVista, AllTheWeb 그리고 Yahoo!에서의 사이트 순위를 다른 상대적 비교 사이트들의 목록속에서 보여줍니다.

SELF SEO
http://www.selfseo.com/
SEO(검색엔진최적화) 도구, Internet 도구 그리고 Webmaster 도구들로 나뉘어진 많은 온라인 툴들이 있습니다.
여러 검색엔진에서의 사이트 순위를 보여주는 도구라던가 아이피 주소로 간단하게 국가를 알아내는 도구, 자신의 아이피를 바로 보여주는 도구들이 유용할 거 같습니다.

Speed Test
http://www.dslreports.com/speedtest?flash=1
인터넷 속도를 측정해 주는 데가 많은데 이곳이 플래시로 비교적 깔끔하게 처리했습니다.

Whois Source
http://www.whois.sc/
모두가 알고 있듯이 도메인 네임과 아이피 정보를 보여줍니다.

String Conversion
http://www.qindex.info/Q_drctry/webtools/StringConversion.php
제가 만든건데 주로 즉석에서 문자열을 변환해서 볼때 사용합니다.

Editing Webpages
http://www.qindex.info/Q_drctry/webtools/EditingWebpage.php
이것도 제가 만든건데 즉석에서 HTML, CSS 그리고 JavaScript를 테스트해 볼때 사용합니다.
2009/04/12 17:46 2009/04/12 17:46
마우스 올리면 나오는 글인데
되도록이면 귀찮지 않게 간단히 쓰고 싶은분을 위한 100원짜리팁
(입력시 <br>을 넣으면 풍선 도움말에서 줄바꿔서 나옵니다.)

------------자료 입력---------------
1. 어드민에서의 입력문
<input name="clinic15" size="60" type="text" value="<? echo"$row[clinic15]" ?>">
(입력시 예 : 회사:A클리닉<br>장소:강남<br>직종:비뇨기과)

[풍선도움말에서 보여질때]
                        회사:A클릭닉
                        장소:강남
                        직종:비뇨기과

--------------사용-------------------
2. 변수 $test
<?
//퀘리로 값을 불러 들일때 추가할 구문 <br>을 \n 으로 바꿔준다.
$compare_br="<(br|BR|Br|bR)( )*>";
$test=ereg_replace($compare_br,chr(10),$test);
?>


3.홈페이지 아무데나 붙여서 사용하세요.
<a href=http://A병원><Acronym Title='<? echo"$test"; ?>'>A병원</Acronym></a>


--------
갑자기 운영팀에서 리스트에서 설명이 뜨면 좋겠다는 말에
스쿨에서 뒤져서 여기저기 짜집기해서 대충 만들어 줬더니 무척 신기해 하더군요..ㅡ,ㅡ;;
스크립트 덕지덕지 붙이는것도 귀차니즘 때문에 힘들고 해서
다른분들 소스 짜집기 했습니다.
귀차니즘에 걸리신 분들은 대충 붙여 넣기 해서 쓰세요..
변수명은 자신에 맞게 바꾸시기 바랍니다.^^;;
2009/04/12 17:20 2009/04/12 17:20

C/C++ 소소를 직접 Flex에서 사용할 수 있다는 점에 착안하여

Alchemy를 이용하여 C/C++ 소스를 Flex로 포팅 작업을 하다보니

Flash 자체 보안을 모두 적용받는 형태가 되네요.


결국 C/C++에서 직접 파일 엑세스라던가, 소켓 통신 등등 결국은 Flex에서

처리를 해야된다는.....


다만, 의외로 Flex 자체가 플래쉬를 그대로 사용하는 형태다 보니, 소스 디컴파일이

어렵지 않게 되었는데, Alchemy를 import 하면 디컴파일이 안되는 부분이 있네요.


몇개의 플래쉬 디컴파일러를 돌려보다보니 Alchemy 부분을 처리하지 못하고 에러처리가

되서 소스 디컴파일이 안되는 걸 발견했습니다.  일종의 편법이지만, Alchemy 컴파일 자체가

그렇게 용량을 많이 차지하는 건 아니니, 그럭저럭 쓸만한 방법인것 같네요.

2009/04/12 02:42 2009/04/12 02:42