2019년 3월 24일 일요일

#1 멋쟁이사자처럼 팀스터디 자료(git bash 명령어, vscode사용, python설치, python 숫자,python 문자)


오늘의 내용을 실습하기 위해 바탕화면에 실습용 폴더를 새로 만들고
폴더 내부로 들어가서 실습하자

중요한 것은 우리가 새로 설치하고 사용하는 프로그램들의 PATH설정은 꼭 체크를 해주고
설치하도록 하자(관련 오류가 뜨면 문의해주세여)

git bash창 사용법 ( 폴더 내부 빈공간 마우스 우클릭 -> git Bash here )


    컴퓨터에 대해 모르던 시절 무섭게만 보이던 까만 창의 사용법에 대해 간략하게 알아보자

    까만창 = 명령프롬프트 = Shell = cmd = console = bash = terminal 등으로 부르고 있다.
    (운영체재에 따라 다르게 부르고 상황에 따라 다르게 부르는 것 같지만 편의상 bash창이라 하겠다)

⭐bash 창에서 사용하는 기본적인 명령어


    들어가기에 앞서

    myfile       파일의 표현
    myfolder/  폴더의 표현
    이처럼 folder는 경로가 뒤에 추가로 붙을 수 있게 /가 붙는다

    jangc@DESKTOP-14NC1CL MINGW64 ~/Desktop/2019likelion

    🔥 jangc 은 내 컴퓨터의 이름
       앞으로 실습을 함에 있어서 경로에러가 발생하는걸 방지하기 위해 컴퓨터 이름은 영문으로 작성해주도록 하자

    🔥~/Desktop/2019likelion 은 내가 현재 위치한 경로
       폴더를 이동하면 위의 경로를 확인해서 지금 어딨는지 파악해주자

    🔥. 은 현재 directory(폴더) ..은 상위(부모) directory를 가르킨다


    🔥 내가 위치한 공간에 있는 파일이나 폴더이름을 타이핑할때

       1글자 이상을 치고 tab을 한번 누르면 자동 완성이 되어 오타를 줄이고 속도의 향상을 가져온다

       그런데 만약 타이핑해놓은 글자를 두개이상의 파일(폴더)이 가지고 있으면 tab한번으로 아무것도 보이지 않고
       tab 2번을 누르게 되면 후보군을 보여준다

        예시) 현재 directory내에 myfirst 폴더와 mysecond 그리고 test폴더가 있다고 하자

            cd t 까지 친후 tab => cd test 로 자동완성

            cd m 까지 친후 tab => 작동 안함 => 한번더 tab => myfirst/ mysecond/  후보 목록을 보여줌

            cd myf 까지 친후 tab => cd myfirst 자동완성
 


bash 명령어 소개


    pwd : 현재 나의 경로(Path) 출력

    mkdir 만들고싶은 폴더이름 : 내가 지금 위치한 곳에 폴더를 생성

        사용 예) mkdir myfolder


    touch 만들고싶은 파일이름 : 내가 지금 위치한 곳에 파일을 생성(빈 파일)

        사용 예) touch first.py
                    touch hello.html

    cd <경로>  :  해당 경로의 폴더로 이동한다

        사용 예) cd myfolder  : myfolder라는 폴더로 이동
                   cd ..             : 현재 위치한 폴더의 상위 폴더내부로 이동


    ⭐ls   :  현재 위치한 폴더 내부의 파일 및 폴더를 간략하게 보여준다

    ls -al : 현재 위치한 폴더 내부의 숨김 파일 및 파일 폴더를 상세하게 보여준다


    rm 파일이름 : 파일을 삭제한다
 
         사용 예) rm myfile  : myfile을 삭제한다


    rm -r 폴더이름 : 폴더 내부의 항목까지 모두 다 삭제한다

         사용 예) rm -r myfolder : myfolder전체를 삭제한다


    eixt : git bash 종료

     git bash창을 끌때는 exit로 꺼야한다 만약 x를 눌러 종료할 경우 다시 실행이 안되는 빨간 Error가 발생할수도 있다.


그럼 이제 우리가 vscode를 열기위해서 사용 하는

code . 이라는 명령어를 해석할수 있다.

vscode를 실행하는 명령어인 code 와 현재 directory를 나타내는 .
즉 지금 내가 위치한 directory내부에서 vscode를 실행시켜줘라 하는 명령어이다

    예시)

    현재 내 위치는 ~/Desktop/실습용폴더  그리고 gogo라는 폴더를 가지고 있다

    bash 창에서 code . 을 해주게 되면 지금 내가 위치한 실습용폴더를 기준으로 vscode가 열리고
    code gogo를 해주면 gogo폴더를 vscode가 열어주게 된다



Visual Studio Code


    ⭐vscode에서 터미널 띄우기

        1. 상단 탭에 터미널 -> 새터미널을 이용하여 띄운다
        2. ctrl + `( 1왼쪽에 있는 애) 를 이용해 띄운다

        그럼 bash 창을 통해 code . 으로 vscode를 실행시킨 경우 terminal이 기본적으로 bash로 되겠지만 만약 아니라면

        ctrl + p =>  >default shell 입력 엔터 => bash 선택



VScode의 확장프로그램


    code . 으로 visual studio code 를 실행하시거나 아니면 직접 찾아서 실행하시면

    왼쪽탭에 벌레모양 밑에 네모모양의 아이콘이 있는데 클릭해서 들어가보자

    그리고 검색창에

    Korean Language Pack for Visual Studio Code :VSCode를 한글화 시켜준다

    Auto Rename Tag : HTML코드를 수정할때 여는 태그를 수정하면 자동으로 닫는태그도 수정

    vscode-icons : 파일의 확장자에 따라서 workspace에서 icon을 구분해서 보여줌

    Rainbow Brackets : 괄호의 수준(?), 쌍들을 색깔로 구분

    Live Server : 지금까지 우리는 만든 HTML파일을 저장하고 바탕화면으로 나가 icon을 더블클릭해서 열었다

    그런데 얘를 설치해주면 오른쪽 아래에 Go Live라는 버튼이 생기는데 얘를 누르면 VScode가 우리가 작업하고 있던 HTML파일을 알아서 열어준다.


💬참 이 얘기가 나와서 말인데 우리는 앞으로 IE나 firefox와 같은 웹브라우저 보다 Chrome을 사용할예정이다. Chrome은 개발자 도구 등등 편리한 측면이 많은 반면 tab을 많이 켜놓으면 RAM를 많이 잡아먹어 안쓰는 tab은 꼭꼭 닫아주자

그리고 우리가 html파일을 열면 기본적으로는 internet Explorer로 열릴텐데
해당 파일 우클릭 -> 연결프로그램 -> 다른앱선택 -> chorme선택후 -> 항상 이 앱으로 .html파일 열기 체크 후 확인 을 해주면 chrome이 기본 연결프로그램으로 선택될것이다.


vscode 명령어



    확장자가 html파일일때!(myhtml.html)

    html:5 를 입력하고 엔터해주면 자동으로 html의 기본 레이아웃이 생성된다

    ol > li*5 를 입력하면 <ol>로 감싼 5개의 <li>태그가 생성된다

    a{링크걸 대상} 를 입력하면 <a href="">링크걸 대상</a>가 생성된다

    이떄 우리가 추가적으로 알수 있는 것은 우리가 작성하려는 것을 웬만하면 vscode가 자동완성을 해주는데 이때 자동완성이 안되거나 syntax highlighting이 되지 않으면
    내가 확장자를 제대로 파일을 만들었나 의심해보자


vscode 단축키


    ctrl(혹은 alt) + 방향키 위, 아래  => 커서가 있는 line을 위 아래로 전체 이동 시켜준다

    ctrl + 방향키 좌우 => 단어 단위로 커서 jump

    shift + 방향키 위아래 => 다중 블록(마우스 드래그와 같은 효과)

    ctrl + alt +  방향키 위,아래 => 위 혹은 아래로 다중 커서를 만든다 (여러줄을 같은 내용으로 수정할때 용이)
   == 같은 방법으로 ctrl(누른상태) + 마우스 좌클릭으로 다중커서를 생성할수 있다.



python 설치하기


    google에서 python 을 검색하여 org가 붙은 공식 홈페이지로 들어가 자신의 운영체제에 맞는 python을 download하자
    (이때 32bit로 받아도 무방하다)

    주의할점은 설치시 default install Now를 눌러도 상관은 없으나 설치창 아래의

    Add Path를 체크 해주는 것을 잊지말자

    설치가 끝났으면 bash창에서 python --version을 입력했을때 python의 version이 뜨면 설치가 잘 된것이다.

    그럼 이제 우리가 python을 사용할 준비가 완료된 것이다.
    shell로도 python 코드를 작성할수 있지만 우리는 편리한 idle이나 vscode를 사용하도록 하자

    앞으로 우리가 python 코드를 작성할때 사용할 편집기로

    idle(윈도우 기준 왼쪽 하단 돋보기 클릭 => idle검색)
    vscode가 있는데

    개인적인 견해로

    idle : 왼쪽위에 file - new file 을 클릭하고 해당 공간에 python코드를 작성 후 f5를 누르면
    저장 및 실행이 된다

    vscode : python문법의 자동완성기능도 제공하고 편리하지만 우리가 직접 workspace에
    hello.py라고 파이썬 확장자파일을 만들어줘야 python파일로의 기능을 한다

    실행은 idle과 같이 f5를 누르면 디버깅 모드로 결과가 출력된다
    혹은 bash 창에 python hello.py라고 파일명을 입력해주면 파일이 실행된다(물론 hello.py가 있는 directory에서)

  

    idle이건 vscode이건 우리가 공부하려는 .html파일과 .py를 구분하여 directory를 만들어 주도록 하자


    (우리는 파일을 작성해서 사용한 코드를 재사용 가능한 방법을 쓰는데 굳이 저장할 필요 없는 코드는

    idle을 열면 가장 먼저 보이는 창을 interpreter창이라하는데
    >>> 이부분에 입력을 해주면 즉각적으로 python코드가 실행되는것을 볼수 있다.
대신 창을 닫으면 해당 내용은 저장되지 않는다

    마찬가지로 bash에서도 python만 입력해주게 되면 interpreter창으로 넘어가는데
사용을 다한 뒤에는 ctrl + z를 눌러서 빠져 나오도록 하자)


python을 시작해보자


    python이 머신러닝 빅데이터 등에 사용되고 배우기 쉽다는 말을 많이 합니다

    이처럼 python을 배워놓으면 우리가 하는 웹프로그래밍 뿐 아니라 어떤 분야에도 활용할 수 있는데요

    이처럼 파이썬을 배우는데 있어 제가 생각하는 가장 중요한 것은

    indent(들여쓰기)입니다.

    기본적으로 PEP8(python코드를 이쁘게 짜기위한 가이드라인이라고 생각합시다)에서도 권장하고 많은 사람들이 쓰는 indent는 tab1번 == space 4번 입니다

    혹시 vscode의 설정에 tab부분에 space가 4가 아니라면 4로 고치시는 것을 권장드립니다.


    그럼 본격적으로 코드를 짜봅시다

    처음인 만큼 hello world! 를 띄워 보도록 해요(idle 혹은 vscode어디서 하셔도 상관없습니다)

print("hello world") : 해석을 해보자면 hello world!라는 말을 print해줄께 라는 말

    f5를 눌러 확인해봅시다(vscode의 경우 bash 에 python filename.py 도 무방해요)

    java의 System.out.println("hello world!")와 비교해봐도 직관적이고 간단합니다

    print는 ()안의 내용을 우리에게 출력해주기떄문에 개인적으로 디버깅 할때 코드가 어디까지 제대로 동작하는지 눈으로 확인하기 위해 자주 사용합니다.


    그런데 나는 hello world를 여러번 외치고 싶다
    그럼 우리는 매번
print("hello world")
print("hello world")
print("hello world")
    이렇게 적어야 할까요?
    길기도 길고 (ctrl c v 가 있지만) 비 효율적입니다.

    따라서 우리는 재사용을 가능하게 해주는 변수라는 것을 사용하게 되는데요

a = "hello world" 여기서 우리가 알 수 있는 것은 =이 지금까지 같다의 의미였는데
코드에서 =은 오른쪽애를 왼쪽에 대입한다는 의미이고
==이 같다는 의미입니다.

print(a)
print(a)
print(a)

    a라는 변수 안에 hello world를 저장했기떄문에 코드가 훨씬 깔끔하고 hello world의 재사용이 편리해졌습니다(변수의 이름은 마음대로 지어도 됩니다 대신 이미 python이 쓰고 있을 법한 단어나 특수문자 등은 사용할 수 없고 일반적으로 영문단어를 사용하는데 2개 이상의 단어는 _로 연결을 해줍니다)

    이처럼 python은 변수에 문자, 숫자(뒤에서 배울 list, tuple, dictionary 등)를 담을수 있고
다른 언어와 달리 변수는 담는 애에 따라 자료형(문자,숫자 같은 종류)이 결정됩니다

    이를 보통 선언과 초기화라고 하는데 python은 이 선업과 초기화를 같이 해줍니다.
굳이 외우지 마세요 선언과 초기화는


python 자료형 : 숫자



print(10)

print("100")


    이렇게 실행(f5)을 시켜볼까요

    출력 값은 같습니다.

    하지만 vscode와 idle이 보여주는 10 과 "10"의 색깔이 다르죠

    이는 python이 10은 숫자 10으로 취급하는 반면 "10"은 문자 10으로 취급한다는 말입니다.
    좀더 확실히 알고 싶으시면

print(type(10))
print(type("10"))을 실행시켜 봅시다  (type()은 괄호안 애의 자료형을 알려주는 도구입니다 유용해여)

    그럼 "int" 와 "str"로 다른것을 볼수 있습니다.

    이게 무슨소리인가 싶을 수 있는데 숫자 10은 우리가 숫자로 사용하는 애이고
    문자 10은 우리가 문장속에 넣는 글자로의 10이라고 생각하시면 조금 이해가 될지 모르겠습니다.

    python의 숫자는 ""가 안 붙는다는걸 알았으니
    python에서 사용하는 숫자의 종류에 대해 알아봅시다

    a = 123  : int ( integer )  정수형
    b = 1.2   : float (float)     소수형(소수라고 생각하면 쉬워서 소수형이라 한것이지 float형이라고 부릅니다)

    이렇게 두개가 있습니다.



   숫자 연산자( a = 18 b = 4 라고 가정)

        + : 더하기      ex) a+b = 22

        * : 곱하기       ex) a*b  = 72

        / : 나누기       ex) a/b  = 4.5

        //: 나누기의 몫  ex) a//b = 4
    
        % : 나누기의 나머지  ex) a%b = 2


python 자료형 : 문자


    python에서 문자 자료형은 ' ' 혹은 " "로 감싸져 있습니다. 둘의 차이는 없구요

print('""을 이용한 문자열 출력')

그런데 이곳에서 보면 ''로 감싼 문자열 안에 ""를 넣은것을
볼수 있습니다. 이처럼 "" 를 출력해주기 위해서는
''로 감싸줘야 ""가 문자로 인식이 되어 출력이 됩니다(반대의 경우도 가능)
"""을 이용한 문자열 출력" 으로 작성하시게 되면
""가 하나의 문자열 "을 이용한~출력" 이 하나의 문자열로
인식되어 에러가 발생합니다

print("my first sentense")
print("\n")
\ 는 엔터위의 원화 표시인데 문자열 \n은 개행 문자로 엔터의 역할을 합니다.



""를 출력하는 또 다른 방법


    print("\"안녕하세요\"")

    이 코드를 실행시키면 "안녕하세요" 가 출력되는것을 볼수 있습니다.

    이는 \뒤에 오는 문자는 코드로 읽지말고 문자로 처리해라 라는 뜻으로
    이를 우리는 escape문자라고 부릅니다

print("""안녕하세요 이렇게 긴 문자열도 출력을
있을까요
과연""")

    위의 """은(혹은 '''도 가능)(따옴표 3개입니다) 여러 줄에 걸친 문자열을 그대로 저장하는 것으로
    줄바꿈, 띄어쓰기 모두 포함하여 저장해줍니다


문자열의 연산


    python에서는 문자열을 간단하게 조작할수 있는데

a = "hello"
b = "world!"

print(a+b)

    이렇게 작성을 해주면
    +가 문자열끼리 이어줘 hello world가 출력됩니다
    (단! "Hello" + 1  이렇게 문자열 + 숫자는 에러가 발생하므로 문자열 + 문자열을 합시다)

print("=====")
print("="*5)

    위의 두 코드는 같은 코드로
    문자열 * 숫자를 해주면 해당 문자열을 숫자만큼 반복해줍니다


문자열의 index와 slicing


    일단 이것부터 기억하고 넘어갑시다

문자열 : "안녕하세요"
index : 0 1 2 3 4

    거의 모든 프로그래밍 언어에서 ⭐index는 0부터 시작합니다 따라서
    문자열의 "하"는 2번째 음절이에요


    그리고 slicing과 문자열 관련 도구(함수, 메서드)는 여기 블로그의 다른 글을 참고하자
    (관련 도구는 글 작성 시점에 join, split, sorted를 제외하고 보면 되겠습니다)
    (slicing과 도구는 외울 필요없이 필요할때마다 찾아쓰면 되니까 있다는 정도만 알아두자)



추가로 알아두면 좋은 python 문법


input() : 사용자의 입력을 받을수 있다


        예시) a  = input() 코드를 실행시키면
               아무것도 실행되지 않는것을 볼수 있는데 이는 컴퓨터가 사용자의 입력을 기다리고 있는 것이다.
               따라서 bash(termianl, interpreter 등) 그러니까 실행 결과창에 우리가 10 을 입력하고 enter를 치면
               a 에 10이 대입되는 것이다

               이로써 우리는 출력 뿐만 아니라 컴퓨터에 입력도 할수 있게 되었다.

주석처리


#    : line의 맨 앞에 #을 붙여주면 해당 line을 주석처리해주는데
       주석은 코드로 실행시키고 싶지 않은 코드나 사용자를 위한 설명 같은 것을 말한다

''' , """ : 여러줄을 주석 처리할수 있는 것으로 문자열을 감싸는 부호라고 배웠는데
           주석처리하고 싶은 부분을 따옴표 3개로 감싸면 여러줄이 한번에 주석처리 된다


하지만 일반적으로 코드편집기에서는 우리가 주석처리하고 싶은 line에서 (다중 line인 경우 드래그)

ctrl(누른상태로) + /를 하게 되면 #으로 여러줄 주석처리가 된다

한번 더 ctrl + / 를 누르면 원래대로 돌아온다


indent(띄어쓰기)


여러 line을 드래그 한다음 tab 을 누르면 여러 line에 동시에 indent(들여쓰기)를 적용할수 있다.

shift + tab을 누르면 다시 unindent가 된다



=끝=

추가로 궁금한 사항은 톡해주세여

가장 많이 본 글