서버
서버(server)란 한국어로 '을' 정도로 번역할 수 있습니다. 서버와 대비되는 개념은 클라이언트(client)가 있는데 클라이언트는 요청하고, 서버는 응답하는 관계입니다. 오늘날 인터넷과 연결된 거의 모든 소프트웨어들이 클라이언트 - 서버 관계를 가지고 있습니다. 대표적인 것이 웹인데요. 웹은 (파이어폭스,크롬,IE와 같은) 웹브라우저와 (Apache, IIS, Nginx와 같은) 웹서버로 이루어집니다. 웹브라우저에 URL을 입력하면 그 URL에 해당하는 웹서버로 웹페이지에 대한 요청이 전달됩니다. (네이버,다음,구글, opentutorials.org와 같은) 웹서버는 웹브라우저가 요청한 정보를 제공하게 됩니다. 이 관계를 자세히 알고 싶다면 생활코딩 웹서비스 만들기 편을 참고해주세요. (생활코딩 웹서비스 만들기 바로가기)
어떤 기술을 분류한다는 것은 대단히 어려운 일입니다만 생활코딩에서는 아래와 같은 기술을 서버로 분류하고 있습니다.
- 미들웨어 : PHP, Java, Python
- 데이터베이스 : MySql, Oracle, Mongodb
- 인프라 : 아마존 웹서비스, Hadoop
- 네트워크
서버 코스
지금 보고 계신 생활코딩 서버 코스는 서버 측 기술들을 모아둔 일종의 카테고리입니다. 즉 (웹서버와 같이) 클라이언트의 요청에 응답하는 컴퓨터 쪽에서 실행되는 기술들을 모아뒀습니다. 그런 이유로 서버는 인간에게는 보이지 않는 세계입니다. 서버에 저장된 데이터나 자원들은 클라이언트를 통해서 비로소 사람에게 보여지게 됩니다. 다시 말해서 서버는 데이터의 세계이고, 클라이언트는 데이터를 보여주는 세계라고 할 수 있겠습니다. 그런 이유로 서버는 클라이언트와 다르게 학습자 입장에서는 몹시 추상적으로 느껴질 수 있습니다.
학습순서
서버 코스는 공부순서가 따로 없습니다. 사실은 있지만 이에 대한 가장 좋은 가이드는 생활코딩 실습편입니다. 예를들어 웹서비스를 만들고 싶다면 웹서비스 만들기 실습편을 완주하시면 웹서비스를 만드는데는 어떤 기술이 동원되고, 어떤 순서로 공부해야 하는지를 실습을 통해서 알려드립니다. 아무것도 모르는 분들을 위한 실습이기 때문에 프로그래밍을 정말 처음 시작한다면 이것을 진입점으로 시작하시면 됩니다. (생활코딩 웹서비스 만들기 바로가기)