파일 형식 Common Gateway Interface Script

 

.CGI 옵션 번호

CGI 파일은 CGI (Common Gateway Interface) 스크립트로 웹 서버가 동적 페이지를 생성하기 위해 실행합니다. 일반적으로 Perl 또는 C 프로그래밍 언어로 작성됩니다. CGI 스크립트는 웹 서버의 웹 사이트 디렉토리에있는 "cgi-bin"폴더에 저장되는 경우가 많으며 사전 컴파일되지 않은 경우에만 편집 할 수 있습니다.

 

추가 정보

CGI 스크립트는 기본 웹 스크립트를 실행하는 데 자주 사용됩니다. 예를 들어 웹 양식 (formmail이라고도 함)에서 이메일 메시지를 보내고 웹 사이트 내에서 광고를 순환 게재하는 경우가 있습니다.

 

열리는 프로그램들 CGI 파일들

 

- Windows

gVim, Microsoft Notepad, Richardson EditRocket

 

- Linux

Richardson EditRocket, Vim

 

- Macintosh

MacroMates TextMate, Richardson EditRocket, Bare Bones BBEdit

 

CGI 파일 정보

Google의 목표는 확장 프로그램 파일의 책임 범위를 이해하는 것입니다 * .cgi 그리고 그것을 여는 방법.

파일 형식 Common Gateway Interface Script이 페이지에 나열된 Mac, Windows, Linux, Android 및 iOS 용 프로그램에 대한 설명을 개별적으로 검토하고 FileExt 명령으로 확인했습니다. 우리는 100 %의 정확성을 위해 노력하고 테스트하고 테스트 한 파일 형식에 대한 정보 만 게시합니다.

 

 

 

참고

https://how2open.com/extension/cgi

구조화 프로그래밍, 모듈화 프로그래밍

 

1990 년대초에 객체지향 프로그래밍(Object-Oriented Programming)이라는 방법이 나타나기 전까지는 파스칼 또는 C를 중심으로한 구조화/모듈화 프로그래밍(Structured/Modular Programming)이 전세계를 지배하고 있었습니다.

2002 년을 보내고 있는 현시점까지도 웹프로그래밍 언어인 PHP에서는 구조화/모듈화 프로그래밍의 지배를 받고 있지요. 그러나 구조화/모듈화 프로그래밍에는 많은 문제가 있기 때문에 PHP도 객체지향 프로그래밍쪽으로 점점 무게가 실리게 될 것입니다.

어쨌든지간에 현재까지도 PHP를 지배하고 있는 구조화/모듈화 프로그래밍에 대하여 먼저 알아보고 그 다음에 과연 구조화/모듈화 프로그래밍을 할 때도 과연 객체지향 프로그래밍의 도구인 클래스를 사용해야 하는가에 대하여 숙고해 보도록 하겠습니다.

그럼 우선 클래스의 필요성을 살펴보기 전에 구조화/모듈화 프로그래밍에 대하여 살펴보도록 하겠습니다.

1970 년대에 제안된 구조적 기법(구조화/모듈화 프로그래밍)을 통하여 프로그래머는 체계적인 방법으로 보다 쉽게 프로그램을 작성할 수 있을 뿐만 아니라, 일단 작성된 프로그램은 누구나가 쉽게 읽고 이해할 수 있어서 이후에 프로그램을 쉽게 수정할 수 있었습니다.

 

구조화 프로그래밍(Structured Programming)

프로그램이 커지고, 기능이 복잡해지면 개발 뿐만 아니라 수정과 유지 보수에 오히려 더 많은 시간과 노력이 필요하게 됩니다. 이러한 문제에 대처하기 위하여 프로그램의 구조를 순차, 선택, 반복 제어 구조만으로 설계하여 처리 절차를 간단하고 명료하게 표현할 수 있는 구조화 프로그래밍 기법이 나타나게 되었습니다.

▶순차 처리
▶선택 처리
▶반복 처리

 

그 옛날 BASIC에서의 Go To문과 같은 분기를 허용하지 않고 일의 순서에 따라 시작부터 끝까지 한 방향으로 진행하도록 처리하는 것이 "순차 처리"이며, if 또는 switch 문과 같이 주어진 조건에 따라 명령문을 선택하여 처리하는 구조가 "선택 처리"이며, while, for next 문과 같이 주어진 조건을 만족할 때까지 일정한 범위의 명령문들을 반복 수행하는 구조가 "반복 처리" 구조입니다.

구조화 프로그래밍은 프로그램의 구조가 논리적으로 구성되어 있어 아래와 같은 특징을 가지게 됩니다.

▶코딩이 쉽다(분석,설계,제작)
▶프로그램을 읽기 쉽게 한다(가독성)
▶테스트를 쉽게 한다(테스트)
▶수정하기 쉽다(유지 보수)

 

모듈화 프로그래밍(Modular Programming)

프로그램을 작성할 때 큰 프로그램을 한번에 작성하는 것이 아니라 기능별로 나누어 우선 부분별 작성을 한 다음, 각각의 작은 프로그램들을 서로 연결시켜 하나의 완성된 프로그램을 만드는 방법으로 기능별로 나누어진 각 모듈은 각각 이 하나의 기능을 수행하며 그 기능을 수행하기 위하여 필요한 모든 코드와 변수를 포함하도록 하는 프로그래밍 방식입니다.

프로그램 덩치가 큰 프로그램을 모듈별로 나누지 않고 단지 구조화 프로그래밍만을 이용하여 하나로 작성하기는 무척 어렵습니다. 그러나 구조화 프로그래밍을 적용하기 전에 먼저 모듈화 프로그래밍을 적용한 후에 각 모듈별로 구조화 프로그래밍을 적용하게 되면 그 구현이 매우 쉽게 됩니다.

모듈화 프로그램밍은 아래와 같은 특징을 가짐으로 말미암아 구조화 프로그래밍과 마찬가지로 프로그램의 구조가 논리적으로 구성되어 있어 프로그램의 작성/수정이 용이하고, 이해하기가 쉽습니다.

▶하나의 모듈은 유일한 하나의 입구(Entry point)와 유일한 출구(Exit point)를 갖는다.
▶하나의 모듈은 독립적인 구조를 갖는다.
   (프로그램내에서 하나의 독립적인 기능을 수행)
▶모듈은 개별적으로 테스트가 가능하다.

 

 

 

 

참고 

: phpclass닷컴

ctrl + H 이후 바꾸기 및 모두 바꾸기 실행

 

 

출처 :

blog.naver.com/opgj123/222044268078

 

 

 

 

  • SSL(Secure Sockets Layer) 이란?

보안 소켓 계층을 이르는 말로, 인터넷에서 데이터 안전하게 전송하기 위한 인터넷 통신 규약 프로토콜이다.

 

 

 

  • TLS(Transport Layer Security) 란?

인터넷에서의 정보 암호화해서 송수신하는 프로토콜. 넷스케이프 커뮤니케이션스사가 개발한 SSL(Secure Sockets Layer)에 기반한 기술로, 국제 인터넷 표준화 기구에서 표준으로 인정받은 프로토콜이다. 표준에 명시된 정식 명칭은 TLS지만 아직도 SSL이라는 용어가 많이 사용되고 있다.

 

 

 

  • HTTPS 란?

TLS 사용 암호화 연결을 하는 HTTP HTTPS라고 하며 기본 포트 443번이다.

 

 TLS HTTPS는 엄밀히 다른 개념이고 TLS 보안 통신을 위한 프로토콜이고 HTTPS TLS 위 HTTP 프로토콜 얹어 보안 강화 프로토콜이다. 이와 같은 원리로 SFTP, SMTP와 같은 프로토콜에도 적용할 수 있고 결과적으로 TLS + HTTP 조화된 프로토콜 HTTPS이다.

DLL이란? (Dynamic Link Library)

 

 

라이브러리 (Library)

(Dynamic Link Library을 알아보기 전 라이브러리가 무엇인지 먼저 집고 넘어가자.)

 

▶ 소프트웨어 개발에서 자주 쓰고 기초적인 함수들을 중복 개발하는 것을 피하기 위해

 표준화된 함수 및 데이터 타입을 만들어서 모아 놓은 것.

 즉, 자주 사용되는 표준적인 함수를 매번 직접 작성해서 사용하는 것은 지나치게 시간 소모적이므로 표준화할 수 있는 함수를 미리 만들어서 모아 놓은 것.

 

 라이브러리를 한 번 구축해 놓기만 하면 다시 만들 필요없이 불러서 사용할 수 있으므로 개발 속도도 빨라지고 신뢰성도 확보할 수 있다.

 

 이런 라이브러리는 언제 메인 프로그램에 연결하느냐에 따라서 Static Link와 Dynamic Link로 나뉘며, DLL은 이 중 후자를 뜻한다. 

 

 

스태틱 링크(Static Link Library)

- 정적 링크라고 하며 컴파일 시점에 라이브러리가 링커에 의해 연결되어 실행 파일의 일부분이 된다.

 

 

DLL(Dynamic Link Library)

 - 동적 링크라고 하며 실행 파일에서 해당 라이브러리의 기능을 사용 시에만, 라이브러리 파일을 참조하여(혹은 다운로드받아) 기능을 호출한다.

 

 - 정적 링크와는 다르게 컴파일 시점에 실행 파일에 함수를 복사하지 않고, 함수의 위치정보만 갖고 그 함수를 호출할 수 있게 한다.

 

 

1. DLL의 이점

 

1) 더 적은 리소스 사용

 

 - 한 코드를 여러 프로그램이 동시에 사용하기 때문에 메모리가 절약된다.

 - 사용되는 디스크 공간을 줄일 수 있다.

   (정적링크를 사용하는 경우 실행 파일에 라이브러리의 함수가 모두 포함되어 실행파일이 커지지만 DLL을 사용하는 프로그램은 크기가 작다.)

 - 운영 체제와 프로그램이 더 빠르게 로드 및 실행되며 컴퓨터에서 디스크 공간을 더 적게 차지한다.

 

 

2) 모듈식 아키텍처 활용

 

 - DLL을 사용하면 모듈식 프로그램을 효율적으로 개발할 수 있다.

   여러 언어 버전이 필요한 큰 프로그램이나 모듈식 아키텍처가 필요한 프로그램을 개발할 수 있다.

 

 

3) 손쉬운 배포와 설치

 

 - DLL 내의 함수를 업데이트하거나 수정해야 하는 경우 DLL을 배포하고 설치할 때 프로그램을 DLL과 다시 연결하지 않아도 된다.

 - 여러 프로그램이 같은 DLL을 사용하는 경우에는 모든 프로그램에 업데이트나 수정 내용이 적용된다.

 

4) 프로그래머들의 분담 작업이 용이하며 재사용성도 뛰어남.

또한 코드의 양이 적어지므로 디버깅도 용이해진다.

 

 

 

2. DLL 사용시 유의 점

 

 - 프로그램이 DLL을 사용할 때는 종속성이라는 문제로 인해 프로그램이 실행되지 않을 수 있다.

(특히 system32 폴더 내의 DLL 파일은 조심 하자.)

 

 

 - 가끔 어떤 프로그램 사용시 특정 DLL 파일을 어느 위치에 저장시키라고 하는 경우가 있는데 해당 프로그램을 신뢰할 수 있는지 확인해 보아야 한다.

해로운 DLL 파일일 수 있기 때문이다.

 

 - DLL 파일을 함부로 이동시키면 프로그램이 정상적으로 작동하지 않을 수 있다.

 

 

※DLL 종속성 이란?

 

프로그램이나 DLL이 다른 DLL의 DLL 함수를 사용하는 경우 종속성이 작성된다.

이런 경우 해당 프로그램은 더 이상 자체 포함 프로그램이 아니며, 종속성이 손상되면 프로그램에 문제가 발생할 수 있다.

예를 들어 다음 작업 중 하나를 수행하면 프로그램이 실행되지 않을 수 있다. 

 

1) 종속 DLL을 새 버전으로 업그레이드하는 경우

2) 종속 DLL을 수정하는 경우

3) 종속 DLL을 이전 버전으로 덮어쓰는 경우

4) 종속 DLL을 컴퓨터에서 제거하는 경우

이러한 작업을 대개 DLL 충돌이라고 하고, 이전 버전과의 호환성이 적용되지 않으면 프로그램이 정상적으로 실행되지 않을 수 있다.

 

 



출처 : 

https://goddaehee.tistory.com/185 [갓대희의 작은공간]

'IT 관련 지식' 카테고리의 다른 글

메모장 - 바꾸기, 모두 바꾸기 단축키  (0) 2021.04.26
IT 상식) SSL, TLS, HTTPS 란?  (0) 2021.03.09
래퍼 함수(Wrapper Function)  (0) 2020.11.21
드래그 방지 푸는법  (0) 2020.10.21
DMZ 구간  (0) 2020.10.21

래퍼 함수 (Wrapper Function)

 

함수 내에 실행코자하는 구현 소스가 있는 것이 아니고, 호출 부분만 내부 소스로 구현하고 이를 알아 보기 쉽게 C 언어 함수 형태의 이름을 지어놓고 수시로 이를 호출할 수 있게하는 함수를 말함.

'IT 관련 지식' 카테고리의 다른 글

메모장 - 바꾸기, 모두 바꾸기 단축키  (0) 2021.04.26
IT 상식) SSL, TLS, HTTPS 란?  (0) 2021.03.09
IT 상식) DLL이란? (Dynamic Link Library)  (0) 2021.03.05
드래그 방지 푸는법  (0) 2020.10.21
DMZ 구간  (0) 2020.10.21

+ Recent posts