웹 애플리케이션 만들기 실습

개발

본 수업은 웹 애플리케이션 만들기 수업으로 대체 되었습니다. 개편된 수업에서 뵙겠습니다. 본 수업은 2015년 6월 이후에 폐지됩니다. http://opentutorials.org/course/1688

개발이란?

개발(development)이란 프로그램을 만드는 행위를 의미하고 프로그래밍(programming)과 같은 의미로 사용된다. 프로그래밍은 컴퓨터와 인간이 모두 이해할 수 있는 언어(language)를 통해서 이루어지는데, 인간의 언어처럼 프로그래밍의 언어도 상호 간에 이해할 수 있는 약속인 문법(syntax)이 있다. 이 문법에 따라 작성된 구체적인 설계도를 코드(code) 또는 소스(source)라고 부르고, 이것을 작성하는 행위를 코딩(coding), 이것을 작성하는 사람을 일컬어 코더(coder) 또는 개발자(developer) 또는 프로그래머(programmer)라고 한다.  

환경

일반적으로 개발 또는 프로그래밍이라고 하면 코드를 작성하는 행위를 말하지만, 프로그램은 단순히 코드만으로 구동되는 것이 아니라 환경(environment)을 필요로 한다. 환경이라는 것은 우리가 작성한 코드가 동작할 시스템을 의미한다. 가장 밑바닥에는 컴퓨터라는 하드웨어가 있을 것이고, 그 위에서 하드웨어를 제어하는 소프트웨어인 운영체제가 있다. 잘 알고 있는 윈도우나 맥OS 그리고 리눅스가 운영체제에 속하는 소프트웨어들이다. 이 운영체제 위에서 웹페이지를 보여주는 소프트웨어인 웹브라우저가 동작하는데, 웹페이지를 만드는 언어가 HTML, CSS, JavaScript인 것이다. 따라서 웹페이지를 만드는 행위인 프로그래밍은 HTML, CSS, JavaScript의 문법에 맞게 작성해서 코드를 만드는 일이지만, 이 코드가 웹페이지가 되려면 우선 웹브라우저가 있어야 하고, 그것이 구동되는 운영체제와 하드웨어가 있어야 한다. 물론 겁먹을 필요는 없다. 10년 차 개발자인 필자도 이 거대한 초고층 인프라에 대해서 아는 바가 거의 없다. 그럼에도 프로그래밍으로 돈도 벌고, 취미도 하고, 이렇게 강의도 한다. 수업에서 안내하는 대로 설치하면 된다.

만약 저사양의 컴퓨터 환경이라서 실습에 어려움이 있다면 '저사양 실습환경' 수업을 참고하자.

하위수업 소개

운영체제 수업에서는 리눅스를 설치해본다. 리눅스는 무료고 오픈소스면서 웹서비스를 운영하는 가장 대표적인 시스템이다. 

서버구축 수업에서는 Apache, PHP, MySQL이라는 소프트웨어를 통해서 웹서비스를 제공하는 데 사용하는 핵심적인 소프트웨어들을 설치해본다. 

개발도구 수업에서는 코드를 작성할 때 도움을 주는 소프트웨어에 대해서 알아본다. 

클라이언트 측 기술에서는 HTML, CSS, JavaScript와 같이 브라우저 위에서 동작하는 언어를 통해서 UI를 만드는 방법에 대해서 알아볼 것이다. 

서버 측 기술에서는 데이터를 관리하는 데이터베이스와 HTML을 프로그래밍적으로 생성해주는 PHP에 대해서 알아본다.

 

만만치 않은 여행이 될 것이다. 충분히 시간을 확보하고 가급적 하루 안에 완주하자. 

댓글

본 수업은 웹 애플리케이션 만들기 수업으로 대체 되었습니다. 개편된 수업에서 뵙겠습니다. 본 수업은 2015년 6월 이후에 폐지됩니다. http://opentutorials.org/course/1688

 

궁금하신 점은 각 강의의 댓글로 문의해주세요. 답변이 없는 것은 운영자가 못 봤거나 모르는 것입니다. 생활코딩 커뮤니티에 질문하면 더 많은 분의 도움을 받을 수 있습니다. 그리고 문제를 해결했다면 본문의 댓글로 공유해주시면 다른 분에게 큰 도움이 됩니다. 원하는 답변을 얻는 것은 확률의 문제입니다. 질문의 품질이 높으면 그 확률도 올라갑니다. 질문자의 상황을 더 잘 전달하기 위해서 screenr.com이나 이미지 캡처의 이용을 권합니다.

 

댓글 본문
작성자
비밀번호
  1. 오타사랑
    문법사랑 > 문법자랑
  2. 문법사랑
    안내하는 데로 > 안내하는 대로
  3. 지한규
    스따뜨!!
  4. egoing
    옙!
    대화보기
    • 호띠
      리눅스 설치시 듀얼부팅 형태로 설치해도 실습시 따로 지장은 없을까요?
    • 심태양
      둔근두근!!!!
    • 정길영
      감사합니다
    • 탬버린 꼴뚜기
      시작!!!!
    • rana
      열심히 해보겠습니다!!!! 화이팅!
    • newandnew
      질문보다는 먼저 감사의 마음을 전합니다. 일단 열심히 배워보고 활용해 볼께요..감사해요^^
    • SwordFish
      시작!
    • ㅁㄴㄹㅇ
      이런 사이트 만들어주셔서 감사합니다.
      아무것도 모르고 책으로 혼자 독학하던 와중에 이런 사이트를 찾게됬네요
    • tak09
      시작~ 합니다
    • 강은혜
      ㅠㅠㅠ 오늘부터 시작합니다..후덜덜
    • Taries
      ready, set, go!
    • 뒹굴뒹굴
      벌써 부터 마음일 설레요..
      댓글에 최근에 시작하시는 분들은 안보이시는데...
      이미다 완주 하신건가요..?? 저도 퐈이팅 해서 따라갈께요.^^
      좋은 강의 항상 감사합니다.
    • 엠제이
      "문법에 따라 작성된 구체적인 설계도를 코드(code) 또는 소스(source)라고 부르고" <- 아주 인상적으로 좋은 내용이라고 봅니다.

      개발이라는 용어보다는 프로그래밍이란 용어가 더 적합하다고 생각합니다. 개발은 건축 메타포인데.. 프로그래밍과 다른 은유가 은연중에 사용됨을 미연에 방지코자 함이죠.

      프로그래밍의 설계는 건축의 설계도면과는 좀 양상이 다릅니다. 다이어그램으로는 아무래도 설계라 하기에는 부족하죠. 코드 자체가 설계이고, 따라서 설계도를 많은 사람이 이해하려면 코드의 가독성이 뛰어나야 합니다.
    • 태열
      벌써부터 어려울것같은 느낌이 팍팍 오네요...힘내야 겠습니다
    • vento6576
      화이팅!
    • 감사한이
      잘 알겠습니다!
    • Boterati
      정말 만만치 않겠네요.. 심장이 두근거리네요
    • 전민정
      감사합니다~
    • 좀비의부활
      완전 땡큐입니다!
    • jaballet
      서버구축, 클라이언트 측 기술, 서버 측 기술... 딱 하면 정의가 잘 안내려지는 용어인데, 잘 정리해주셔서 감사합니다.
    • David Jung
      아, 빨리하고싶다 빨리 빨리 배우고 싶네요..ㅋㅋ 오늘은 여기까지 하고, 다른걸 하고와야해요;;ㅋㅋ
      좋은 강의 감사드립니다 !! 저도 생활 코딩과 비슷한 사이트를 기획해서 만들어봐야겠어요+_+ 저는... 다른 지식을 나눠야지용 오호호
    • egoing
      예 문제 없습니다. ^^
      2013/7/2 Disqus <notifications@disqus.net></notifications@disqus.net>
      대화보기
      • 고기기
        이번에 겸사겸사 노트북을 한 대 장만하려고 하는데 <한성컴퓨터 U33X ForceRecon 1357 Ultra> 이 모델 구매해도 생활코팅 따라하는 데 문제 없으려나요?저사양버전으로 배우기보다는 정상(?)적으로 배워보고 싶어서요.
      • 찮군이
        2~3년 전에산 노트북을 가지고 하려는데 사양이 마땅할까요?그래픽카드랑 램이 좀걸리지만. cpu는 궪찮거든요.
      • 생또생
        열심히 따라 가고 있습니다.
      • egoing
        전혀 그렇지 않습니다. 오히려 더 유리합니다.
        대화보기
        • buskers
          맥북을 이용해서 배우고 있는데 맥OS에선 공부하기 힘든가요?
        • 김영인
          goood
        • egoing
          일단 해보시고 어려움이 있으시면 저사양 실습 시나리오를 따라가시면 될 것 같습니다.
          2013/2/27 Disqus <notifications@disqus.net></notifications@disqus.net>
          대화보기
          • aoi999
            저사양의 기준이 대충 어느 정도인가요? 오래된 컴퓨터긴 한데, 제 컴퓨터가 저사양에 속하는지 아닌지 모르겠어요.
          • sunfanta
            comment 에서 discussion은 뭐고 community는 뭐에요?? ㅎㅎ
          • Edward Hwang
            각 단어들이 약간 더 세부적인 지식을 필요로 하는데 밑에 모아서Wikipedia (또는 it 사전)로 연결 하면 좋을 듯 합니다.
          버전 관리
          egoing
          현재 버전
          선택 버전
          graphittie 자세히 보기