3. 프로그래밍
프로그래밍(Programming) 영어 그대로 프로그램을 만드는 것을 뜻한다.
프로그램은 대개 프로그래밍 언어를 통해 만들게 되며, 프로그래밍 언어가 컴퓨터가 이해할 수 있는
언어로 바뀌게 된다.
Tip! 프로그래밍 언어를 컴퓨터가 이해할 수 있는 언어로 바꾸는 것을 컴파일러라고 한다.
PROGRAM!컴파일러
4. 프로그래밍
프로그래밍 언어는 이러한 흐름을 타고 왔다.
Assembly, Lisp, Cobol 같은 저급 언어
C/C++ 같은 상황에 따라 저급, 고급으로 분류되는 언어
Python/Ruby 같은 고급언어, JAVA
스크립트 언어:실행시마다 인티프리터가 해석해서 실행시켜주는 언어
(성능에서 조금씩 자유로워지면서 대체로 스크립트 언어가 대세를 이룸)
(성능이 중요한 시기라 매우 빠른 성능을 보장함)
(과도기)
5. 프로그래밍
지금 많이 쓰이는 프로그래밍 언어는 이렇다.
Assembly, Lisp, Cobol 같은 저급 언어
C/C++ 같은 상황에 따라 저급, 고급으로 분류되는 언어
Python/Ruby 같은 고급언어, JAVA
6. 프로그래밍
현재는 스크립트 프로그래밍 언어의 홍수!
프로그래밍은 할 줄 알아야겠는데 뭘 해야하나??
당연히 쉽고 편한 스크립트 언어지!
쉽고 많이 쓰이고 자료도 많은 php!
8. 웹 서버
인터넷 상에서 웹 브라우저 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은
웹 페이지들을 보내주는 역할을 하는 프로그램
우리가 접하는 웹 사이트들은 전부 웹 서버에 의해 돌아가는 서버이다.
* 웹 서버도 우리가 전부 짜야한다! 누가 대신 해주는 것이 아니다!
WEB Server
index.html
요청
index.html
응답
9. 웹 서버
웹 서버도 이러한 흐름을 타고 왔다.
정적 html 파일 서버
asp, jsp 같은 무겁긴 하지만 구조가 잘 짜여있는 서버/php 서버
node.js, flask 같은 간단한 스크립트 언어로 이루어진 서버
10. 웹 서버
어떤 걸 배워야 할까?
난 돈이 많다.
NO
어려워도 좋은 기능이 좋다.
윈도우
NO YES
YES
레드햇 계열데비안 계열
13. PHP
1995 년 라스무스 러도프(Rasmus Lerdorf)가 처음 만들었고, 계속해서 발전하며 현재 7.0 버전이
나오는 중인것으로 안다.
보통 PHP 처리 기능이 있는 웹 서버에서 해당 코드를 HTML 코드로 변환하여 웹 서버를 호출한 유저에게
전달해준다.
* 최근에는 php 기능을 웹 서버에서 실행시키기보다 php-fpm 으로
분리하여 실행하며, 특별한 경우에는 자체 인티프리터로도 실행이
가능하다.
* 인티프리터 : 한줄한줄 써가며 결과를 확인하는 명령어 해석기 정도
14. PHP
PHP 는 꾸준히 욕을 먹으면서도 계속해서 사용되고 있는데
여러가지 장단점이 많다.
일단 본인은
“프로그래머는 단지 그 용도를 잘 따져서
자신이 원하는 결과물을 뽑는 용도로
프로그래밍 언어를 사용해야 한다.”
라고 생각하기 때문에
PHP 도 충분히 좋은 언어라 판단한다.
그럼 그 장단점들을 살펴보자
15. PHP
장점
관련 자료가 많다.
당연히 포럼도 많다.
당연히 오류를 만났을 때 쉽게 고칠 확률이 높다.
당연히 자료가 많으니 쉽게 익힐 수 있다.
직관적인 언어 형태를 제공한다.
쓰는 사람이 많다.
16. PHP
단점
너무 많은 라이브러리들이 결합하여 이름을 정하는 규칙이 무너진 지 오래다.
보안적인 이유로 욕을 많이 먹는다.
더러운 코드를 작성하기 쉽다.
처음에는 직관적인 언어 형태를 제공했다.
처음에는 간결했었다.
17. PHP
하지만 이럼에도 많이 쓰이는 이유는 결정적으로 쉽고 자료가 많은 이유일 것이다.
근데 보안적으로 문제가 있다고?
보안 이슈는 우리가 걱정하지 않아도
이미 많은 사람들이 걱정해서
이런 부분은 이렇게 하라고 잘 남겨놓은 것이 많다.
결정적으로 완벽한 언어는 없다.
자신이 어떻게 쓰고, 어떻게 활용하는지 나름이다.