본 수업은 웹 애플리케이션 만들기 수업으로 대체 되었고, 2015년 6월 이후에 폐지됩니다. 개편된 수업에서 뵙겠습니다.http://opentutorials.org/course/1688
서버 측 기술이란?
서버 측 기술(server side technologies)이란 서버 쪽에서 실행되는 기술들을 의미하는데, 이 관계에 대한 설명은 앞선 수업인 '클라이언트 측 기술'을 참고하자. (http://opentutorials.org/course/488/2606)
MySQL, PHP
이제 우리가 배울 것은 서버 측에서 동작하는 소프트웨어인 PHP와 SQL이다. 전자는 PHP 엔진 위에서 동작하고, 후자는 MySQL이라는 데이터베이스 위에서 동작하는 언어다. 이 언어들의 문법에 맞게 코드를 작성하면 클라이언트 측의 요청에 따라서 적절한 작업을 수행할 수 있다. MySQL에서는 데이터가 저장되고 관리되는 공간인 데이터베이스에 대해서 간단히 알아볼 것이다. 그래서 데이터베이스에 대한 좀 더 구체적인 상을 갖도록 하는 것이 목표다. PHP편에서는 데이터베이스에 있는 데이터를 PHP가 불러와서 웹페이지를 만들고 이를 사용자에게 제공하는 방법을 알아볼 것이다. 여기까지다. 이렇게 한 싸이클을 돌고나면 웹서비스가 어떻게 구동되고, 또 어떤 과정을 거쳐서 만들어지는지 파악하게 될 것이다. 조금만 힘내자!
사족. 프로그래밍을 내가 정말로 할 수 있을까?
우리가 영어를 공부하는 이유는 물론 영어를 유창하게 하기 위해서지만 영어가 유창하지 않다고 영어 교육을 부정할 사람은 없습니다. 영어교육의 효용은 그것을 공부하는 즉시 나타나는데, 이를테면 알파벳을 아는 것과 모르는 것만으로도 삶이 얼마나 달라질까 상상해보자구요. 우리의 예상과는 다르게 학문의 효용이란 디지털적으로 단절된 것이 아니라 아날로그적으로 연속되어 있습니다. 프로그래밍도 마찬가지인데요. 우리가 프로그래밍을 배우는 이유는 물론 만들고자 하는 것을 자유롭게 '구현'하는 것이지만, 아무것도 모르는 상태와 자유롭게 구현할 수 있는 수준의 사이에는 수많은 효용이 아날로그적으로 펼쳐져 있습니다. 이를테면 어떤 사람은 프로그래머와 소통하기 위해서 코딩을 배울 수도 있습니다. 이 정도의 효용을 얻는 데는 많은 노력이 필요하지 않습니다. 웹서비스 만들기 실습만으로도 놀랍게 향상된 대개발자 커뮤니케이션 스킬의 향상을 실감할 수 있을 겁니다. 또 여러분이 인문학자라면 오늘날의 세계를 이해하는데 결정적인 단서를 얻을 수 있을 것입니다. 이를테면, 데이터베이스가 무엇인지를 모르면서 현대사회에서 유통되는 정보를 논하는 것은 곤란합니다. 생활코딩의 데이터베이스 수업은 이런 목적을 위해서 만들어졌습니다. 또 다른 사람이 만든 소스를 자신의 취향대로 수정하기 위해서도 프로그래밍 지식은 요긴합니다. 이것은 기술에 대한 꽤나 높은 이해를 요구하지만, 자유자재로 구현하는 것보다는 쉽습니다. 처음부터 너무 높은 목적을 상정하는 것은 나쁜 습관입니다. 목표를 하향조절해서 학습의 성취감을 깨알같이 배치하면 이 소소한 성취감이 여러분을 리드할 것입니다. 그래서 시작은 반입니다.