컴퓨터와 IT (15) 썸네일형 리스트형 CGI PHP, Perl CGI란? Common Gateway Interface의 준말로, 이름에서 알 수 있듯이 모든것에 대한 "공통" 게이트웨이 인터페이스 이다. CGI 는 웹서버가 보통 CGI프로그램 혹은 CGI 스크립트라고 부르는, 외부 프로그램과 통신하는 방법을 정의한다. 웹사이트에서 동적인 페이지를 만드는 가장 흔하고 간단한 방법이다. Perl 펄 펄은 CGI를 실현하기 위한 프로그램 언어중 하나이다. UNIX에서 이용 가능한 언어로 지금은 Window, Macintosh등 유닉스 이외의 플랫폼에도 이식되어 보급되었다. Perl은 영어의 약자로 두가지 의미를 가지고 있다고 한다. Practicla Extraction and Report Language Pathologically Eclectic Rubbi 장점 1.텍스.. 웹서버 NginX & Apache Apache 1스레드 / 프로세스 기반 구조 아파치는 클라이언트 요청당 하나의 스레드가 처리하는 구조로 사용요구 횟수 혹은 양에 따라 스레드, 메모리 및 cpu낭비가 심하다. 요청이 많으수록 cpu와 메모리의 사용이 증가하기 때문에 성능이 저하될 수 있다. 2.NginX Event-Driven 처리 기반 구조 처리기반 구조는 여러 개의 커넥션을 모두 Event-Handler를 통해 비 동식 방식으로 처리해 먼저 처리되는 것부터 로직이 진행되도록 한다. 이러한 기법의 주 사용 목적은 대화형 프로그램을 만드는데 사용하는데 PCP 처리와 유사하다. *Event-Driven 방식이란 요청에 대한 각 상태를 정해서 Event가 발생할 때마다 event를 처리한다. 양쪽 프로그램중 어떤것이 더 좋다고 결론을 지을 .. 응용 프로그래머 / 웹 프로그래머 응용프래그래밍과 웹 프로그래밍은 어떻게 다른지 알아보자 응용프로그래머 : 응용프로그래머는 컴퓨터 내에서 실행 및 연산이 가능한 프로그램을 개발하는 개발자 ex) 카카오톡 PC 버전, 한컴 오피스 등 C, C++, C#, Java 같은 언어를 사용 웹 프로그래머 : 컴퓨터와 인터넷이 연결되어 일어나는 대부분의 역할을 ex) 웹 페이지, 인터넷 접속이 필요한 응용프로그램 등 JSP, ASP, PHP 등의 언어를 사용 서버, Server 란? 서버(Server) 서버는 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템. 클라이언트(client)는 네트워크를 통해 서버라는 다른 컴퓨터시스템 상의 원격 서비스에 접속할 수 있는 응용프로그램이나 서비스를 말한다. 즉 클라이언트는 요청(request) 서버는 응답(answer)하는 관계이다. 서버에서 동작하는 소프트웨어를 서버 소프트웨어라고 한다. 서버는 메인보드,CPU,램 등으로 구성된 하나의 컴퓨터이다 서버는 클라이언트에게 네트워크를 통해 서비스하는 컴퓨터이다. 데이터베이스, Database 데이터베이스, Database Database (DB) 에 대해 알아보자 DB는 다수의 사용자가 공유와 사용을 위해 통합하여 관리되는 데이터의 집합, 또는 저장해 놓는 공간이다. DB 를 사용하는 이유 : 프로그램을 개발시 만든 데이터, 프로그램 사용시 사용자들이 생성한 데이터 등 수 없이 많은 데이터들이 끊임없이 생성된다. 이러한 데이터들이 DB 에 저장되어 있지 않으면 프로그램 종료시 전부 사라지게 된다. 위와 같은 상황을 방지하고자 생성된 데이터들을 데이터베이스에 저장해야 한다. DB 는 데이터 베이스 관리 시스템 (DBMS) 에 의해 제어된다. DB 와 DBMS 는 연관된 프로그램들과 합쳐서 '데이터베이스 시스템' (Database System)으로 일컬어지며, '데이터베이스'라고 통칭 되기도 한다. HTTP와 웹서버,그리고 브라우저의 관계 HTTP (hper-text transfer protocol) : HTML 문서와 같은 리소스들을 가져올 수 있게 해주는 프로토콜이다. 프로토콜(protocol) : 기기 간 통신은 교환되는 데이터의 형식에 대해 상호 합의를 요구하는데, 이러한 형식을 정의하는 규칙의 체계를 프로토콜이라고 한다. 웹 서버 (web server): HTTP 를 통해 웹 브라우저에서 요청하는 HTML 문서나 오브젝트(이미지 파일)을 전송해주는 서비스 프로그램. 브라우저 (browser): 문서와 그림, 멀티미디어 파일등의 인터넷 컨텐츠를 검색 및 열람하기 위한 응용 프로그램의 총칭이다. 셋의 관계 웹 브라우저는 웹 서버에 정보를 송신하거나 웹 페이지를 가져오기 위해 HTTP 로 통신한다. 동적할당, 정적할당, 가비지컬렉터 동적할당 int[] a; a = new int[5]; new 연산자 등을 사용해 프로그램 도중 필요한 양 만큼 할당하는 것 heap 메모리에 저장된다. (프로그램 종료시 garbage collector가 정리한다) 정적할당 메모리를 미리 stack memory에 확보해둔다. 배열처럼 int[] a = new int[10]; int a = b; 처럼 함수종료될때까지 안쓰는 메모리가 낭비된다. 함수 호출이 끝나면 사라진다. 가비지 컬렉터 자바에서는 메모리를 가비지컬렉터라는 알고리즘을 통해 관리한다. 개발자가 메모리를 처리하기 위한 로직을 만들필요도 ,만들어서도 안된다. 자바에서 쓰레기는 객체다. 하나의 객체는 메모리를 점유하고, 필요하지 않으면 메모리에서 해제되어야 한다. 메모리 점유란 코드에서 a라는 객체.. 메모리영역 ( 코드 영역 , 데이터 영역 , 힙 영역 , 스택 영역) 메모리 영역 1. 코드 ( code )영역 컴파일로 된 .class 코드 영역 (= 클래스/ 코드 /메서드 영역) 0과 1로 된 2진수 (binary) 영역 static 변수/ static 메서드 (=static영역) : class 가 실행되기 전에 미리 메모리가 확보된다. ☆프로그램이 실행되면 모든 코드가 저장되어있는 상태가 아니고 new키워드로 객체가 생성되기 전엔 텍스트 일뿐이다. 객체 생성 후 메서드를 실행하면 해당 클래스 코드에 대한 정보를 method area 에 저장하게 된다. 2. 스택( stack ) 영역 가장 늦게 들어온 것부터 처리한다. main()메서드가 가장 먼저 호출된다. ( 지역변수를 저장할 메모리가 필요하기 때문에) ☆메서드가 생성될때 마다 하나씩 생성되며 메서드가 호출되면 .. 이전 1 2 다음