생활코딩

Coding Everybody

코스 전체목록

닫기

Python & Ruby

| 공개

수업의 특징

본 수업은 Python(파이썬)과 Ruby(루비), Ruby와 Python을 동시에 배우는 수업입니다. 저는 이것을 병렬학습이라고 부릅니다. 이를 통해서 프로그래밍 언어들을 관통하는 보편적인 원리를 파악하고, 각 언어가 가지고 있는 특성을 드러내고 싶습니다. 두 개의 언어를 각각 배우는 것보다 빠르게 익힐 수 있다는 것은 덤으로 따라오는 효과입니다.  

수업의 대상

본 수업은 프로그래밍 언어의 문법과 기능을 익히는 수업입니다. 수준은 초심자도 이해할 수 있도록 쉽게 진행됩니다. 언어를 먼저 공부하고 싶다면 여기서 시작하시면 됩니다. 하지만 프로그래밍을 통해서 무엇을 할 수 있는지를 먼저 경험하고 싶다면 '웹 애플리케이션 만들기' 수업을 먼저 볼 것을 추천합니다. 웹 애플리케이션 수업에서는 Ruby와 Python이 등장하지 않지만, 프로그래밍이 동작하는 일반적인 원리를 체험할 수 있을 것입니다.

수업의 한계

본 수업은 두 언어의 모든 기능을 알려드리지 않습니다. 프로그래밍 언어는 대단히 많은 기능을 가지고 있습니다. 모든 기능이 '언젠가'는 필요한 것이기는 합니다만, 처음부터 필요한 것은 아닙니다. 빠르게 무엇인가를 만들어 볼 수 있는 최소한의 도구를 알려드리는 것이 수업의 1차적인 목적입니다. 제작자가 수업을 위해서 하는 고민은 크게 두가지입니다. 

  1. 무엇을 수업하지 않을것인가?
  2. 수업의 내용을 어떻게 충실히 전달할 것인가?

너무 많은 지식의 전달은 초심자에게 중요한 것과 덜 중요한 것을 분별하기 어렵게 합니다. 최소한 본 수업에서 등장하는 내용은 초심자에게는 꼭 필요한 것이면서, 프로그래밍이라는 분야를 지배하는 핵심적인 도구들입니다. 여기에 집중할 수 있도록 수업의 분량이 커지지 않도록 노력하고 있습니다.  

또 본 수업의 제작자는 두 언어의 권위자가 아닙니다. 단지 두 언어를 여러분처럼 더 잘 이해하고 싶은 마음에 이 수업을 만들었습니다. 그런 점에서 우리 모두 같은 출발점에 서 있습니다. 혹 제작자가 잘못된 정보를 전달한다면 넓은 마음으로 이해해주시고 정정해주시면 감사한 마음으로 수용해서 반영하겠습니다. 제작자가 언어에 대해서 명함 정도는 내밀 수 있는 수준이 된다면, 고급기능을 파악하고 싶은 중급자를 위한 수업을 꼭 만들어보고 싶습니다. 하지만 지금은 아닙니다.

수업의 효과

각 언어를 통해서 할 수 있는 일은 아래 링크로 대체하겠습니다. 

학습방법

제가 제시하는 접근 방법은 최소한의 도구를 익힌 후에 무엇인가를 만들어 보는 것입니다. 그 과정에서 만나는 문제는 검색 & 질문을 통해서 해결하는 것입니다. 이 과정을 반복하다 보면 덜 유용한 지식은 도태 될 것이고, 유용한 지식은 자신의 것이 될 것입니다. 그 과정에서 자신에게 최적화된 체계를 갖게 될 것입니다. 점차 기술적인 부분으로부터 자유로워지는 자신을 발견하게 될 것입니다. 

표지소개

프로그래밍은 일종의 표현입니다. 아이는 무엇인가를 표현하는데 주저함이 없습니다. 잘하고 못하고는 상관하지 않습니다. 어른은 아이의 좋은 관객이 되어 줍니다. 잘하고 못하고는 상관하지 않습니다. 그런데 이런 아이들이 학교에 들어가고 직장생활을 하면서 마침내 어른이 되었을 때 이상한 일이 일어납니다. 표현을 못 하고, 피하고, 두려워합니다. 무슨 일이 있었던 걸까요? 어른들은 아이에게 해서는 안 되는 두 가지 일을 하고 있습니다. 수십 년 동안 관객의 삶을 살도록 강요합니다. 잘하는지 못하는지를 평가한 후에 못하면 소외시고, 잘하면 못하게 될까봐 불안하게 합니다. 우리는 무엇인가를 프로그래밍적으로 표현하기 위해서 이곳에 모였습니다. 프로그래밍에 대한 지식을 익히기에 앞서서 표현에 즐거움을 회복해야 합니다. 아이로 돌아가야 합니다. 그래서 아이는 어른의 스승이라고 하나 봅니다.

댓글

댓글 본문
작성자
비밀번호
  1. 배트맨
    몇 달을 공부한 끝에 드디어 완주를 했네요. 조금씩 조금씩 앞으로도 나아갈 것을 다짐해 봅니다.
  2. Sukjae Lee
    현재 access 기반으로 고객관리 프로그램을 간단하게 짜서 사용하고 있는데.. 보안성과 접근성 문제로 웹기반 전산을 만들고자 여기저기 정보를 모색중인데.. 도무지 어디서부터 어떻게 배워야 할지 모르겠습니다.

    => 보안성과 접근성 문제로 고민하시는 것 같습니다. 접근성 부분에서는 확실히 웹으로 오픈하시면 좋아지겠지만, 보안성은 이에대한 트레이드오프로 나빠지겠지요. 어느정도 타협이 필요하시겠네요.

    python , mysql, 이 두 프로그램에 관심은 있는데,, 과연 이두가지 가지고 웹기반인 고객관리 전산을 만들수 있는지 궁금합니다.

    => 물론 만드실 수 있습니다. mysql를 db로 사용하시고 python기반의 웹을 구축하시면 되겠지요.
    하지만 만드시는 이유에 대해 다시 한번 고민 해 보실것을 추천드립니다.

    access가 제공하는 기능을 똑같이 만들지 못할 이유는 없습니다.
    단지 이를 위해 소비되는 시간과 금전적인 문제를 고려 해야겠지요.
    작은기업이나 가게들이 access를 사용하는데에는 access만이 가능해서가 아니라
    access 외의 것들을 사용하기 위해 소비되는 자원대비 output이 훌륭해서 일겁니다.

    선생님께서 access에서 구현이 안되는 기능이 있었거나,
    access가 제공하는 기능으로 만족되지 않는 부분이 있을때
    자체 서비스를 구축하셔도 늦지 않을거 같네요.
    대화보기
    • 말씀하신 내용이 어느정도 복잡도의 것인지 모르겠지만,
      파이썬, 장고등 언어를 어떤 거를 쓰느냐가 중요하진 않습니다.
      php와 mysql로 구현하셔도 됩니다. (사실 mysql아니라 access를 db로 사용하실수도 있습니다.)
      그런데 앞에서 보안때문에 웹시스템을 구현하신다고 하셔서 그냥 단순하게 만드실려고 하는게 아니라고 생각했었습니다.
      두분이 사용하신다면 지금처럼 사용하셔도 문제 없으시지 않나요? 파일에 비번만 거시고요.
      대화보기
      • 우성철
        네. MS 사의 Access 맞습니다.
        현재 2사람만 사용중이라서 간단한 권한만 주고 같은 네트워크에서 공유폴더에 넣고 사용하고 있습니다.

        제가 원하는데로 웹기반 전산을 개발한다면 혼자 힘으로를 많이 힘들겠죠 ? ㅠㅠ

        한 친구가 개발부서쪽에서 일하고 있어서 조언을 문의 했더니.. python 과 Django 를 이용하면 제가 원하는결과를 얻을수 있다는데... 맞는 말씀인지.. 확인할 길이 없어서.. 유투브에서 몇몇 영상을 봤는데도 제가 원하는 그런 강의는 없더라구요.

        제가 매일 하는 업무를 나열해볼게요 , 참고하셔가 python & Django 로 가능한지 판단부탁합니다.

        1. 신계약 정보 입력 ( 이름/주민번호/주소/연락처/ 계약정보/등)
        2. 월별 신계약을 회사별 / 모집자별/ 계약월도/ 각각 report 를 만들어서 출력.
        3. 일/월/년/ 별로 실적 집계 출력
        4. 월말 각 원수사부터 data를 다운받아서 연체리스트를 통합/분류 후 출력.

        5. 향후 개발하려는 내용 ( 월별 사원별 수당 및 월급대장표?)를 만들 개획중입니다.

        제가 오기전에 모든 위의 작업는 다 엑셀로 간단하게나마 정리를 해두었는데... 지금은 어느정도는 제가 ms Access 로 정리는 해뒀습니다. 아직도 갈 길은 멀지만...ㅠ

        현재 위의 내용을 python 과 Django 로 구현이 가능 할까요 ?
        대화보기
        • access라고 하시면 혹시 MS office에 포함되어 있는 access를 말씀하시나요? 그렇다면 그냥 access 파일을 파일공유해서 사용하고 계신건가요?

          웹프로그래밍에는 여러가지 공부하셔야 하는 것이 많습니다. 서버프로그래밍, 클라이언트 프로그래밍, 웹호스팅 등등... 이곳에 있는 메뉴의 거의 대부분을 공부하셔야 합니다. 프로그래밍 언어인 파이썬과 DB인 mysql만 학습하셔서는 전체 웹서비스를 만드실 수 없습니다.
          대화보기
          • 우성철
            안녕하세요 , .

            몇일째 고민이 해결되지 않아서 문의 합니다.

            저는 모 보험대리점에서 일하고 있는 직장인입니다.
            현재 access 기반으로 고객관리 프로그램을 간단하게 짜서 사용하고 있는데.. 보안성과 접근성 문제로 웹기반 전산을 만들고자 여기저기 정보를 모색중인데.. 도무지 어디서부터 어떻게 배워야 할지 모르겠습니다.

            python , mysql, 이 두 프로그램에 관심은 있는데,, 과연 이두가지 가지고 웹기반인 고객관리 전산을 만들수 있는지 궁금합니다.

            많은 조언 부탁합니다.
          • 강석윤
            11.22
          • 루이보스라떼
            2018.11.18. Start
          • 술랑
            2018.11.15. 시작합니다 !!
          • kmss6905
            2018.11.13
          • 윤칸희
            다시 시작합니다. 완강하겠습니다!
          • 사우론
            오랜만에 다시 시작합니다 ^^ 완강하겠습니다. 항상 감사드립니다.
          • Pederist
            간다
          • borazvim
            2018.11.06시작
          • 이남선
            하이~~오늘부터~~입문해여~~
          • gusdn715
            20181031 시작
          • doraemi
            20181023 시작.
          • 고양이군요.누님
            냐옹~!
          • 이인희
            시작
          • 2018.10.10 시작합니다
          • 학도르
            2018.10.9 시작
          • 닐반
            2018. 10. 6. 시작합니다.
          • 갓챵
            감사합니다.
          • jkj1362
            2018.09.30 파이썬 공부 시작합니다.
          • 삼고잉
            일본에 가서 한국을 더 잘 이해하게 됐다.. 또 배워갑니다
          • 드릴보이
            18.9.24 파이썬 시작합니다. 좋은 강의 감사해용
          • 이태호
            20180921 파이썬 시작합니다!
          • mylovepooh
            시작
          • 김주혜
            맥북으로도 루비 가능한가요?
          • 2018917 공부 시작 sw
          • 까오송
            흔들림없이 나아가보자 2018/09/16
          • 강성현
            2018/09/04 2년 만에 다시 와서 시작합니다.
            -과거의 내가
          • 20180903 시작합니다!
          • jjk908
            코...콩돌해안을 아시는
            대화보기
            • 콩돌해안
              20180830 레츠기릿
            • 20180829 Start~
            • 코딩벌레
              20180828 let's go
            • 이영전
              20180828 저도 한번 해보겠습니다!
            • squidgoon
              20180826 시작해봅니다!
            • 혜영
              20180826 시작합니다
            • Start [21TUE2018]
            • 소민경
              2018/8/19 시작합니다!
            • 8월 15일 시작합니다!
              좋은 컨텐츠 만들어 주셔서 감사합니다~^_^
            • 8/10 시작합니다!
            • 유닉스가이
              이제 시작합니다.!!
            • 김형진
              표지소개 부분의 말이 와닿네요 항상 좋은 말씀 감사합니다.
            • happycastle
              8/1 시작
            • Watson J
              2018/07/30 시작
            • 랄라
              시쟉~
            • 나쵸a
              2018/7/23 시작!!
            graphittie 자세히 보기