11월, 2023의 게시물 표시

Javascript로 XML 문서 핸들링 하기

이미지
  ::: Internet Explorer에서 XML 활용 ::: ▒ Javascript로 XML 문서 핸들링 하기 I IE에서는 Javascript를 이용해서 XML 문서를 핸들링 할 수 있는 방법을 제공하고 있습니다. XML문서를 동적으로 읽어들여 파싱한 후, 스크립트를 통해서 맘대로 핸들링 할 수 있는 거죠. 스타일 쉬트를 동적으로 적용해서 스타일을 변경한다든지, XML 내의 정보를 이용해서 HTML을 구성한다든지 또는 HTML상에서 데이터를 입력받아 XML 문서를 생성한다든지.. 등등 여러가지 작업을 할 수 있습니다. 이런 작업이 가능한것은 ActiveX Control 인 MSXML 파서를 로딩하여 사용할 수 있기 때문이죠. 이때 MSXML 파서는 ActiveX Control 이기 때문에 IE 뿐 아니라 VC++, 또는 Visula Basic에서도 읽어 들여 사용할 수 있답니다. 이렇게 사용되는 방법도 차차 알아보도록 하죠... 물론 이런것들을 수행하기 위해서는 IE 5.0 이상이어야 할겁니다. 1. Javascript에서 XML 문서 읽기 XML 문서를 하나 작성한 후 Javascript상에서 읽은 다음 한번 확인해보도록 하죠. XML 문서는 이전에 작성했었던 북마크 XML 문서를 이용하도록 하죠. [ 북마크 XML 문서 보기 ] viewXML() 이란 Javascrip 함수를 만들어 북마크 XML 문서를 읽어볼까요 ? 아래와 같이 ActiveObject란 함수를 통해 MSXML 파서를 로딩해서 DOM Object를 생성합니다. DOM을 생성한 후 load() 란 메서드를 통해 XML을 읽어들이고 파싱을 하게됩니다. 이때, 문서에 오류가 있으면 에러가 나겠죠 ? 그 다음 생성된 DOM 객체...

XML

이미지
  XML(Extensible Markup Language)은 데이터를 저장하고 전송하기 위한 마크업 언어 중 하나로, 특히 다양한 플랫폼 간의 데이터 교환을 위해 설계되었습니다. XML은 사용자가 자신만의 태그를 정의하여 데이터를 구조화할 수 있는 확장 가능성을 제공하며, 주로 웹 서비스, 데이터 교환, 설정 파일, 구성 파일 등 다양한 분야에서 활용됩니다. 1. 마크업 언어:    - XML은 다른 마크업 언어들과 마찬가지로 태그를 사용하여 데이터를 표현합니다. 태그는 여는 태그(`<tag>`)와 닫는 태그(`</tag>`)로 이루어져 있으며, 데이터를 감싸고 구조화하는 역할을 합니다. 2. 계층 구조:    - XML 문서는 계층 구조를 가지며, 부모 및 자식 요소로 구성됩니다. 이 계층 구조를 통해 데이터 간의 관계를 명확하게 표현할 수 있습니다. 3. 요소(Element):    - XML 문서의 기본 구성 요소는 요소입니다. 요소는 시작 태그, 종료 태그, 그리고 그 사이에 위치한 데이터로 이루어져 있습니다.       ```xml       <book>          <title>XML Basics</title>          <author>John Doe</author>       </book>       ``` 4. 속성(Attribute):    - 요소에 추가 정보를 제공하기 위해 속성을 사용할 수 있습니다.       ```xml       <book category="programming">    ...

XML의 개념

이미지
  XML은 확장 가능한 마크업 언어(eXtensible Markup Language)로서 웹 상에서의 문서교환 표준으로 개발되었다. XML은 HTML과 그 형태가 매우 유사하며, 문서를 작성하기 위하여 태그를 사용한다. 종종 XML을 HTML의 다음 버전으로 생각하기도 하는데 엄밀히 말하면 이는 잘못된 것이다. XML은 HTML이 수행하고 있는 웹문서 작성뿐 아니라 HTML이 할 수 없는 문서 변환, 데이터베이스 역할 등을 수행할 수 있다. 또한, 다양한 데이터 타입을 제공하고 있으며, 다양한 프로그래밍 언어와의 융통성 있는 결합을 통해 많은 애플리케이션을 만들어낼 수 있다. 비록 기능적인 차이는 있지만 두 마크업 언어 사이에는 깊은 연관성이 존재하는데, 바로 SGML과의 관계이다. SGML은 텍스트, 이미지, 오디오, 비디오 등 멀티미디어 전자 문서들을 서로 다른 시스템들 간에 정보의 손실 없이 효율적으로 전송, 저장, 처리하기 위한 목적으로 개발된 표준화된 마크업 언어이다. SGML은 세밀한 문법 제공, 문서 작성의 융통성, 문서를 구조적으로 작성하기 위한 DTD의 제공 등 많은 장점을 가지고 있는 기술이다. SGML의 높은 완성도에도 불구하고 HTML만큼 널리 사용되지 않는 이유는 SGML의 문법의 양이 너무 많고 복잡하고 어려워서 전문가가 아니고 서는 SGML을 이용하여 문서를 작성하는 것이 쉽지 않기 때문이다. HTML은 이러한 SGML의 어려움을 최소화하여 웹문서를 작성하기 위한 목적으로만 사용하기 위해 작성된 일종의 애플리케이션이라고 할 수 있다. 반면에 XML은 SGML 자체가 가지는 다양한 장점을 그대로 살리면서 SGML의 역할을 그대로 수행하고자 만든 SGML의 부분집합이라고 볼 수 있다. 또, SGML의 장점을 살리고 있을 뿐 아니라 HTML이 지니고 있는 웹을 지원하고 간단하다는 장점을 수용하여 만들어졌다. 따라서, XML과 SGML, HTML 사이에는 매우 긴밀한 관계가 성립한다고 할 수 있다. 현재 XML은 전자상거래, 데이터...

script language

이미지
  1. CGI(Common Gateway Interface) CGI(Common Gate Interface)란 서버와 외부 스크립트 또는 프로그램과 상호작용할 때 이루어지는 입출력을 정의한 표준이며, 이 표준에 맞추어 만들어진 것이 CGI스크립트 또는 CGI프로그램 이며 CGI프로그램은 어떤 프로그래밍 언어로도 만들 수 있다.  2. ASP ASP(Active Server Pages)는 1995년 말에 등장한 IIS(Internet Information Server)의 세 번째 버전으로 MicroSoft사 NT머쉰의 IIS 3.0이상에서만 동작하는 특별한 페이지이다.  이 ASP라는 페이지는 Web을 프로그래밍 할 수 있도록 해 주는, 서버에서 동작하는 페이지로써 기존의 HTML 페이지와는 상당히 다른, 동적인 구성을 가질 수 있게 해 준다. WinNT계열, IIS, MSSQL 이 세가지로만 구현이 가능한 웹언어입니다. 기본문법은 <% %>안에 ASP소스문이 들어가게 됩니다. 운영체제 : WindowsNT계열에서 동작 서버 프로그램 : 여러가지 컴포넌트를 MS사에서 지원하며 개인이 직접만들어서 사용가능 지원하는 DB : 일반적으로 MSSQL을 사용하지만 오라클도 사용 가능하다. 3. PHP 1994년에 개발되었고. 현재는 PHP4가 나온 상태이다. 기본문법은 <? ?>사이에 PHP소스가 들어간다. PHP는 일단 무료이고 무엇보다 데이터베이스와의 연동이 가능하다는 것이 특징니다.데이터베이스 연동은 모두 가능합니다만. 보통은 MySQL을 많이 사용합니다만 Oracle과의 연동도 문제되지 않는다. 운영체제 : 기본적으로 Linux에서 사용하지만, Windows계열에서도 사용가능 서버 프로그램 : 모든것을 PHP자체에서 직접 해결해야한다. 지원하는 DB : 위에서 명시한데로 기본적으로 MySQL을 사용하지만 Oracle나 기타 다른 DB들도 사용 가능하다. 4. JSP ASP에 착안하여 자바 서블릿을 개...

PHP 프로그래밍을 위한 서버구축과 환경 설정 방법 정리

이미지
  사진 설명을 입력하세요. 일단 php를 서버에 설치할 의도라면 웹서비스를 의도한 것이라고 보고 DB까지 설치하는걸 전제로 하겠습니다. 제가 아는 방법으로 저희 서버를 세팅할 때 하는 방법으로 작성하겠습니다. 일단 APM파일은 다 다운받아놓습니다. 1. 리눅스 설치 2. Mysql 설치 3. Proftpd 설치 4. 아파치 설치 5. PHP 설치 1. 리눅스 설치 리눅스는 사용자설치로 설치하고 APM은 소스로 설치할 것이므로 기타 서버는 설치하지 않고, 기본적인 옵션들만 설치 2. Mysql 설치 2-1. mysql그룹과 유저등록 shell> groupadd mysql shell> useradd -g mysql mysql 2-2. mysql 압축풀기(MySQL5.0.17기준) shell> gunzip < mysql-VERSION.tar.gz | tar -xvf - shell> cd mysql-VERSION 2-3. mysql 설치 shell> ./configure --prefix=/usr/local/mysql --with-charset=euckr --with-mysqld-user=mysql --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --localstatedir=/usr/local/mysql/var --with-extra-charsets=none shell> make shell> make install shell> cp support-files/my-medium.cnf /etc/my.출 2-4. mysql 설정 shell> cd /usr/local/mysql shell> bin/mysql_install_db --user=mysql shell> chown -R root . shell> chown -R mysql var shell> chgrp -R mysql . shell> bin/mysqld_saf...

Unix/Linux System과 Windows System의 장/단점

이미지
  리눅스의 장점(특징) 1. Unix/Linux System 서로간에 호환가능합니다.(높은 이식성) 2. 공개 운영체제이다.(일반적으로 무료) 3. PC용 OS보다 안정적입니다. 4. 강력한 네트워크를 구축할 수 있다. (여러가지 서버용 프로그램이 무료이고 인터넷의 모든 기능을 지원) 5. 다양한 응용프로그램을 제공. 6. 다중 사용자의 다중 작업이 가능합니다. (다중 처리기,다중 선택 시스템) 7. 계층적 파일 시스템으로 이루어져 있다. 8. security 및 protection기능이 강력하다. 9. 소스코드가 공개되어 있기 때문에 바이러스등에 노출 되었을 경우 보다 쉽게 문제를 해결 할 수 있다. 리눅스의 단점 1. 공개 운영체제 이기 때문에 문제점 발생시 보상받을 수 없습니다 2. 한글입출력이 까다롭습니다. 3. 공개운영체제이기 때문에 보안에 취약할 것이라는 선입관이 있습니다. 4. 다양한 프로그램들이 있지만, 프로그램들의 공정성을 알수없습니다. 5. 공개 운영체제 이긴 하지만 프로그램을 모르는사람들은 소스를 봐도 모르기때문에 소스에 바이러스나 크랙프로그램 삽입후 배포의 위험성이 있음 윈도우의 장점 1. 처음부터 GUI환경으로 설정되어 있어서 초보자도 어느정도 사용이 가능하다. 2. 보안시스템을 가지고 있으며 네트워크 보안체계도 잘되어 있다. 3. 인터페이스나 언어 관련 설정이 편하다. 4. 오픈소스 운영체제에 비해 엄격한 표준을 정할수 있다. 윈도우의 단점 1. 보안시스템을 가지고 있으며 네트워크 보안체계도 잘되어 있으나 NTFS를 사용하지 않는 경우 보안에 다소 문제가 있다. 2. 비공개 운영체제이기 때문에 설치에 비용이 발생한다. 3. 고사양의 시스템이 필요하다. 4. 버그가 발견되면 MS사에서 Service Patch가 나올때까지 기다려야 한다. 5. 폐쇄적이다.(소스를 알수없음) Benefits of Linux (features) 1. Unix/Linux System Compatible with each other (High porta...

리눅스 클라우드 컴퓨팅

이미지
  리눅스 클라우드 컴퓨팅은 컴퓨팅 리소스를 인터넷을 통해 제공하고 사용자가 필요에 따라 이를 확장 또는 축소할 수 있는 혁신적인 기술이다. 이는 전통적인 자체 데이터 센터를 운영하는 방식과는 대조적으로 가상화, 자동화, 탄력성, 안정성 등의 특징을 가지고 있다. 우선, 클라우드 컴퓨팅은 가상화 기술을 기반으로 하고 있다. 가상화는 물리적인 하드웨어 자원을 논리적인 가상 자원으로 추상화하는 기술로, 이를 통해 여러 가상 서버를 단일 물리 서버에서 실행할 수 있게 된다. 리눅스 운영체제는 가상화를 지원하는 다양한 기술을 포함하고 있어 클라우드 환경에서의 가상 머신 관리에 적합하다. 또한, 리눅스는 오픈 소스 운영체제로, 다양한 클라우드 플랫폼에서 채택되어 널리 사용되고 있다. 이는 사용자가 벤더 종속성에서 벗어나고 다양한 클라우드 제공업체 간에 이동성을 확보할 수 있게 해준다. 이러한 이동성은 비즈니스의 요구에 맞춰 최적의 클라우드 솔루션을 선택할 수 있는 유연성을 제공한다. 클라우드 컴퓨팅은 서비스의 제공 모델에 따라 다양한 형태로 나뉜다. 주요 서비스 모델로는 Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS)가 있다. 리눅스는 이러한 서비스 모델들을 지원하며, 사용자는 필요에 따라 가상 머신, 개발 플랫폼, 소프트웨어 애플리케이션을 클라우드에서 바로 이용할 수 있다. 또한, 리눅스는 자동화와 관련된 강력한 도구들을 포함하고 있다. 이를 통해 사용자는 자원 관리, 배포, 확장 등을 더욱 효과적으로 수행할 수 있다. 이로써 높은 확장성을 가진 애플리케이션을 쉽게 운영하고 유지보수할 수 있게 된다. 클라우드 컴퓨팅은 필요에 따라 리소스를 동적으로 조절할 수 있는 탄력성을 제공한다. 이는 수요의 증가 또는 감소에 따라 자동으로 서버를 추가하거나 축소함으로써 비용을 최적화할 수 있는 장점을 가지고 있다. 리눅스는 이러한 확장성을 지원하여 사용...

리눅스 커뮤니티 및 지원

이미지
  리눅스는 오픈 소스 운영 체제로, 커뮤니티와 그 지원 시스템은 이 운영 체제의 중요한 부분입니다. 리눅스 커뮤니티는 전 세계적으로 수백만 명의 사용자, 개발자, 시스템 관리자 및 기업들로 이루어져 있습니다. 이 커뮤니티는 오픈 소스 소프트웨어의 원칙을 중시하며 서로 협력하여 리눅스 운영 체제를 개발, 향상시키고 있습니다. 1.  자유롭고 개방된 소스 코드: 리눅스는 오픈 소스 소프트웨어로, 소스 코드가 공개되어 있습니다. 이는 누구나 소스 코드를 검토하고 수정할 수 있음을 의미합니다. 이로써 사용자들은 자신에게 맞게 커스터마이징하거나 버그를 수정할 수 있으며, 이러한 개선사항은 다시 커뮤니티에 기여됩니다. 2. 커뮤니티의 역할: 리눅스 커뮤니티는 다양한 포럼, 메일링 리스트, 채팅 채널, 그리고 다른 소셜 미디어 플랫폼을 통해 소통합니다. 사용자들은 자유롭게 정보를 교환하고, 도움을 주고 받으며, 서로의 경험을 나누는 등 협력과 소통이 이루어집니다. 3. 기술 지원과 문제 해결: 커뮤니티 멤버들은 다양한 수준의 기술적 지식을 보유하고 있어, 신규 사용자부터 전문가까지 다양한 수준의 문제를 해결할 수 있습니다. 포럼이나 메일링 리스트에서 사용자가 마주친 문제에 대한 해결책을 찾을 수 있고, 심지어 개발자들도 직접적으로 도움을 제공하는 경우가 흔합니다. 4. 다양한 배포판의 지원: 리눅스는 여러 다양한 배포판으로 나뉘어 있습니다. 각각의 배포판은 특정 용도나 사용자 그룹을 위해 최적화되어 있습니다. 커뮤니티는 이러한 다양성을 수용하며 각 배포판에 대한 지원을 제공하고 있습니다. 5. 개발 활동 및 업데이트: 리눅스는 지속적으로 개발되고 향상되고 있습니다. 커뮤니티는 새로운 기능 개발, 버그 수정, 보안 강화 등 다양한 작업을 수행하며, 이러한 작업들은 주로 온라인 상에서 협업을 통해 이루어집니다. 6. 커뮤니티 주도의 프로젝트 및 이니셔티브: 리눅스 커뮤니티는 다양한 프로젝트와 이니셔티브를 주도하고 있습니다. 예를 들어, Debian, Fedo...

리눅스 오픈 소스 생태계

이미지
  리눅스는 현대 컴퓨터 시스템에서 널리 사용되는 운영 체제 중 하나이며, 그 생태계는 강력하고 다양한 오픈 소스 소프트웨어로 구성되어 있습니다. 리눅스 커널은 리눅스 시스템의 핵심이며, 이를 기반으로 다양한 배포판이 개발되어 사용자들에게 제공되고 있습니다. 1. 커널 및 배포판:    - 리눅스 커널은 핵심 기능을 담당하는 소프트웨어로, 오픈 소스로 개발되고 관리됩니다. 리눅스는 여러 배포판(Distribution)으로 제공되며, 각 배포판은 특정 목적이나 사용자 요구에 맞게 커스터마이징된 형태로 제공됩니다. 2. 패키지 관리 시스템:    - 리눅스는 패키지 관리 시스템을 통해 소프트웨어를 쉽게 설치, 업데이트, 삭제할 수 있습니다. 대표적인 예로는 Debian 계열의 APT, Red Hat 계열의 YUM이 있습니다. 3. 커뮤니티 및 온라인 지원:    - 리눅스는 강력한 온라인 커뮤니티를 가지고 있습니다. 여기에는 포럼, 위키, 블로그, 소셜 미디어 등이 포함되어 있어 사용자들은 서로 정보를 공유하고 문제를 해결하는 데 도움을 받을 수 있습니다. 4. 오픈 소스 소프트웨어:    - 리눅스는 오픈 소스 원칙에 기반하고 있어, 커널 뿐만 아니라 다양한 응용 프로그램, 도구, 라이브러리 등이 오픈 소스로 개발되어 있습니다. 이는 개발자들이 소프트웨어를 자유롭게 사용, 수정, 배포할 수 있음을 의미합니다. 5. 서버 및 클라이언트 응용 프로그램:    - 리눅스는 주로 서버 환경에서 많이 사용되며, 안정성과 보안성이 뛰어난 운영 체제로 평가받고 있습니다. 웹 서버 (Apache, Nginx), 데이터베이스 (MySQL, PostgreSQL), 이메일 서버 (Postfix) 등의 다양한 서버 응용 프로그램이 리눅스에서 운영됩니다. 또한, 리눅스는 개인용 컴퓨터나 모바일 기기에서도 널리 사용되고 있습니다. 6. 임베디드 시스템:    - 리눅스는 임...

리눅스 서버 환경

이미지
  리눅스 서버 환경은 안정성, 신뢰성, 보안성 등 다양한 장점을 가진 오픈 소스 운영 체제인 리눅스(Linux)를 기반으로 한 서버 시스템을 말합니다. 리눅스는 다양한 디스트리뷰션(Distribution)으로 제공되며, 서버 환경에서는 주로 안정성과 보안성이 강조된 배포판들이 사용됩니다. 아래는 리눅스 서버 환경의 주요 특징과 구성 요소에 대한 설명입니다. 1. 안정성 및 신뢰성:    - 리눅스는 안정성이 뛰어나며, 서버 환경에서 장시간 동안 안정적으로 운영될 수 있도록 설계되었습니다.    - 효과적인 에러 핸들링 및 시스템 리소스 관리 기능을 통해 신뢰성을 제공합니다. 2. 다중 사용자 및 다중 작업 지원:    - 리눅스는 다중 사용자 환경을 지원하여 여러 사용자가 동시에 시스템에 접속하고 작업할 수 있습니다.    - 다중 작업 기능을 통해 여러 응용 프로그램이 동시에 실행될 수 있습니다. 3. 보안성:    - 오픈 소스 특성상 소스 코드에 대한 자유로운 접근이 가능하며, 보안 취약점에 대한 신속한 대응이 가능합니다.    - 사용자 계정 및 권한 관리, 방화벽, SELinux 등 다양한 보안 기능을 제공합니다. 4. 네트워크 기능:    - 리눅스는 강력한 네트워크 기능을 제공하여 원격으로 시스템을 관리하고 데이터를 전송하는 데에 용이합니다.    - TCP/IP 스택을 기반으로 한 다양한 네트워크 서비스를 지원합니다. 5. 파일 시스템:    - 다양한 파일 시스템을 지원하여 데이터의 안전한 저장과 관리를 가능케 합니다.    - 일반적으로는 ext4, XFS, Btrfs 등이 사용되며, 네트워크 파일 시스템(NFS) 등을 지원합니다. 6. 패키지 관리 시스템:    - 대부분의 리눅스 배포판은 패키지 관리 시스템을 제공하여 손쉬운 소프트웨어 ...

리눅스 다중 사용자 및 권한 관리

이미지
  리눅스는 다중 사용자 환경에서 운영되는 운영 체제로, 여러 사용자가 동시에 시스템에 로그인하고 자원을 공유할 수 있도록 지원합니다. 또한, 리눅스는 강력한 권한 관리 시스템을 제공하여 각 사용자에 대한 접근 권한을 효과적으로 관리할 수 있습니다. 1. 다중 사용자 관리: 리눅스에서는 여러 사용자가 동시에 시스템에 로그인하여 작업할 수 있습니다. 사용자 계정은 `/etc/passwd` 파일에 저장되며, 각 계정은 고유한 사용자 식별자 (UID)와 사용자 그룹 식별자 (GID)를 가지고 있습니다. `/etc/passwd` 파일에는 사용자 계정 정보뿐만 아니라 사용자의 홈 디렉터리 경로, 기본 쉘 등의 정보도 포함되어 있습니다. 2. 그룹 관리: 리눅스에서는 사용자를 그룹으로 묶어서 관리할 수 있습니다. 각 그룹은 고유한 그룹 식별자 (GID)를 가지며, 사용자는 여러 그룹에 속할 수 있습니다. `/etc/group` 파일에는 그룹 정보가 저장되어 있으며, 그룹에 속한 사용자들은 해당 그룹의 권한을 공유합니다. 3. 권한 관리: 리눅스 파일 시스템은 각 파일과 디렉터리에 대한 권한을 세분화하여 부여할 수 있습니다. 각 파일은 소유자, 그룹, 기타 사용자에 대한 읽기, 쓰기, 실행 권한을 가집니다. 파일의 소유자는 해당 파일의 소유자로서 권한을 부여받으며, 파일이 속한 그룹의 사용자들과 나머지 모든 사용자에 대해서도 권한을 설정할 수 있습니다. 4. chmod, chown, chgrp 명령어: 사용자는 명령행에서 `chmod`, `chown`, `chgrp` 등의 명령어를 사용하여 파일 및 디렉터리의 권한과 소유자, 그룹을 변경할 수 있습니다. 이를 통해 파일에 대한 접근 권한을 세밀하게 조절하고, 필요에 따라 파일의 소유자와 그룹을 변경할 수 있습니다. 5. sudo 및 su 명령어: 리눅스에서는 관리자 권한이 필요한 작업을 수행하기 위해 `sudo`와 `su` 명령어를 사용합니다. `sudo`는 특정 명령어를 현재 사용자의 권한으로 실행하거나, `su`...