[스파르타코딩클럽] 핵심 쏙쏙 Git - 1주차 (1) 첫 프로그래밍 Tip/프로그램설치/git,github 개념설명

posinity·2022년 11월 9일
0

1-1 Git 수업에서는 무얼 배우나요?

1. 맨 처음 프로그래밍을 학습하는 사람을 위한 Tip

(1) 프로그래밍은 문제 해결입니다. 암기력 테스트가 아니에요. 패턴과 흐름에 집중하세요.

프로그래밍은 무엇이 문제인지 정의하고 해결방법을 찾는 과정입니다.
학습할 때는 패턴과 작업 흐름을 먼저 관찰해보세요. 사용법이 적힌 자료는 찾아보면 됩니다! 이걸 따라서 여러 번 하다보면 자연스럽게 익히게 됩니다.

(2) 프로그래밍/기술 관련 질문하기

질문이란 어떤 문제를 같이 해결해나가는 과정과 같아요. 정확한 정보가 포함되어있어야 문제를 파악할 수 있어요.

정보 포함하기

  1. 내가 어떤 작업을 하려고/했는지
  2. 프로그램에 뜨는 에러 메시지가 무엇인지
  3. 내가 실행한 행동은 무엇인지

앞으로 더 프로그래밍을 하게 된다면 체크!

프로그래밍은 '기술'이기 때문에 용어를 정확하게 사용해야 다른 사람도 아 그 이야기 하는구나! 하고 알 수 있어요. 다른 프로그래밍할 때도 유효한 내용이니 꼭 기억해두세요!
'바나나' 이야기를 할 때 '저기저거 그 저거 노랗고 달고 송이로 되어있고 나무에서 나는 과일있잖아' 하지 않는 것과 비슷하답니다.

질문 관련 글

빠르고 정확하게 답변을 받을 수 있는 질문하는 법

(3) 정보를 제대로 관리하자 - 파일명과 폴더명 짓기

프로그래밍은 문제 해결! 문제가 어떤 건지 정의하고 지금 있는 정보를 잘 관리하는 습관이 중요해요.
파일/폴더에 담긴 내용은 곧 데이터입니다. 데이터를 제대로 관리하는 첫 걸음은 제대로 이름 붙여주는 것이에요. 내용(데이터)를 제대로 나타내주는 이름을 지어주세요!
예를 들어, '1.txt' 라는 파일명 보다 'project-list.txt' 가 훨씬 낫겠죠? 누가 봐도 프로젝트 리스트구나! 하고 알 수 있으니까요.
개발자들은 이름짓기(naming)를 굉장히 중요하게 생각한답니다. 데이터를 관리하는 것이 중요한 부분이기 때문입니다.

파일명과 폴더명은 영어로, 띄어쓰기를 포함한 특수문자없이 만들어주세요.

만약 여러 단어를 사용하고 싶다면 - 나 _ 만 사용하도록 해요. 이렇게요!
hello-world.txt
단, hello_world-program.txt 처럼
와 - 를 섞어쓰면 헷갈리니까 둘 중에 하나만 골라서 일관되게 사용해주세요.

(4) 에러 오답노트 만들기

원하는 대로 동작이 안된다면 오답노트처럼 메모해보세요. 아래 내용이 들어가면 됩니다.

  • 에러 발생 원인 : 어떤 행동을 했을 때 에러가 발생했는지
  • 내가 한 시도들 : 에러를 해결하기 위해서 어떤 시도를 했는지. 에러가 해결되지 않았더라도 다 적어보세요. 어떤 해결방법이 유효한지 그렇지 않은지 판단하는 눈을 기르는 데 도움이 됩니다.
  • 해결 방법 : 해결은 어떻게 했는지

에러 오답노트 예시

(5) 코드 비교 사이트

https://www.diffchecker.com/
각기 다른 코드를 비교할 수 있음

+) 인터넷 검색 팁

https://news.hada.io/topic?id=4140

2. 최종 정리

  • 수업 자료 따라했는데 한 번에 바로 되면 기쁨의 액션 하기
    예. 스스로를 위해 박수 치기, 축하 노래 불러주기, 축하 댄스 추기 (저는 축하 댄스 추는 걸 좋아해요.)
  • 에러에 익숙해지자! 에러 5번 내보고 어떤 행동을 했을 때 에러가 났는지 적어보세요.
  • 에러나서 화날 때 힘 나는 노래 듣기
  • 파일/폴더명은 의미를 가지는 내용으로. 띄어쓰기없이 영어로 만든다(단어 연결은 - 나 _ 로. 예시. hello-world.txt)
  • 질문할 때는 세 가지 포함하기 (목적 - 내가 달성하려던 작업, 에러 메시지, 내 코드와 내가 한 작업)

1-2 필수 프로그램 설치

(1) 깃 가입 / homebrew 설치

Homebrew는 '다운로드 패키지'를 관리할 수 있는 툴
brew install 프로그램이름
으로 간단하게 설치할 수 있음

(맥) homebrew 설치 코드 - 터미널에 입력

 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

비밀번호와 엔터 누르고 아래와 같은 창이 뜨면 설치 완료

(2) Git 설치하기

git 설치 코드 - 터미널에 입력

brew install git

git 설치 확인 코드 - 터미널에 입력

git version

sourcetree

소스트리 설치

1-3 Git 은 뭐고, Github 은 무엇인가요?

1. sourcetree에 내 프로젝트 올리기

새로 만들기 > 로컬 저장소 생성

맨 위 커밋을 하게 되면 sourcetree에 현재 상태 게시물이 올라감

2. git으로 할 수 있는 것

(1) 버전 관리

최종, 최최종, 진짜최종, 진짜진짜 최종은 그만!
아래처럼 날짜별로 버전관리를 할 수 있음

대한민국 헌법 개정내역

(2) 에러 발생 원인 파악이 편함

아까는 됐는데 지금은 안된다?
기능을 완성할 때마다 작업내역을 저장하면 어떤 부분을 만들었을 때 에러가 발생했는지 파악할 수 있음

(3) 협업에 유용함

깃은 누가, 언제, 어떤 부분을 수정했는지 한번에 파악할 수 있음
만약 덮어씌어 버린다면 누군가 작업한 파일이 날아갈 가능성 있음

+) Git 으로 모든 파일의 내용이 자동 비교가 되나요?

기본 설정으로는 코드(Python, HTML, JavaScript, Java,...) text 파일, markdown파일(text 파일의 일종), CSV 파일 등 이 가능

이미지 파일, Word 파일, PDF 파일, 엑셀 파일은 여러가지 설정을 해주어야 가능하답니다. 기본 설정으로 이런 파일들은 파일의 크기가 변했구나! 만 알 수 있다.

3. Github 으로 할 수 있는 것

Github 은 Git 원격 저장소 + Git 으로 할 수 있는 커뮤니티 기능 서비스

  • 즉, Github 은 Git 으로 된 프로젝트 저장 공간을 제공하고, Git 편하게 사용하기 위한 여러가지 부가기능을 가지고 있어요. Git 이 협업할 때 필수! 라고 했었죠? Github 에는 협업하기 위한 기능들을 가지고 있어요. 마치 개발자들의 SNS 같답니다.
  • Github 외에도 Git 프로젝트 저장소 + 프로젝트 관리하는 기능을 제공하는 곳으로는 대표적으로 Gitlab, bitbucket 등의 서비스가 있어요.

4. SourceTree는?

Git 을 쉽게 사용할 수 있는 도구
word파일을 수정할 때 ms word를 쓰는 것처럼, git을 편리하게 사용하기 위해 쓴다!

5. git, github를 현역에서 사용하는 방법

  • 대부분의 회사에서 Git 과 같은 버전관리 툴을 필수적으로 사용합니다.
  • 프로젝트 작업내역 관리하기
  • 여러 개발자들이 하나의 제품을 만들 때 각자 작업한 코드를 합치기
  • 버그 리포트 받고 해결하기
    • 작업내역을 확인해서 어제까지는 분명 잘 되었는데 오늘 작업하니까 에러가 나네? 아하, 그럼 오늘 작업한 내용 중에 버그를 만드는 코드가 있겠구나. 어떤 게 어제 작업 내용이고 어떤 것이 오늘 작업 내용이지 확인하자. 필요하다면 어제 만든 버전으로 되돌리자.
  • Github 에 있는 저장소를 웹 사이트로 만들기

6. github 보기


+는 추가한 부분, -는 삭제한 부분

이슈에서 토론도 가능

7. 참고할 만한 github

profile
문제를 해결하고 가치를 제공합니다

0개의 댓글