1. Git & Github 활용 특강
- Git의 이해 및 Github 활용, 실습
강사 소개 - 김태진
- 두들린 ML Engineer
- 그리팅 (Greeting)
강의 목표
- Git이 무엇이고, 왜, 무엇을 위해, 어떤 상황에서 사용해야 하는지 이해
- Git 기본 명령어를 이해하고 활용
- Github에서 Repository를 만들고 여러 사람들과 협업하는 방법을 이해
버전(Version)
- MAJOR . MINOR . PATCH (ex. version 1.3.1)
- MAJOR : incompatible API changes
- MINOR
- PATCH
- Releases : 배포하다, 출시하다, 릴리스하다
버전(Version) 관리가 필요한 이유
- History 관리, 중간 저장 및 이전 위치 복구의 역할을 한다.
- 버전 관리가 필요한 이유
- 중간에 잘못되었을 때 되돌아가기 위해
- 대체 이 코드는 누가 짠 건지 알기 위해
- 코드가 어떻게 변경이 된 것인지,
어떻게 개발이 되었는지 알기 위해
참고) Git 커밋 메시지 규칙
Git 커밋 메시지 규칙
제목과 본문을 빈 행으로 구분한다.제목은 50글자 이내로 제한한다.제목의 첫 글자는 대문자로 작성한다.제목 끝에는 마침표를 넣지 않는다.제목은 명령문으로 사용하며 과거형을 사용하지 않
velog.io
버전(Version) 관리
- 1인 개발은 로컬 컴퓨터에서 관리하는 것만으로 충분
- 하지만 여러명이 같이 관리한다면..?
Git
- 분산 버전 관리 시스템, 여러 명의 개발자가 하나의 소프트웨어를 효율적으로 개발 및 관리를 도와준다
- 프로젝트 파일의 변경 사항을 추적하고 팀원들과 협업을 원활하게 지원한다
Git은 왜 어려운가?
- 서로 다른 개발자가 추가 혹은 변경한 이력을 하나의 프로젝트로 통합해야 한다.
- 회사에 들어가 굴러봐야 적응이 된다.
Github
- Git을 사용하는 소프트웨어 프로젝트를 저장, 관리할 수 있는 원격 저장소, 서비스
- Git은 버전관리 시스템일 뿐 저장은 어디든지 가능
(Gitlab / Github / Bitbucket) - 버전관리 시스템은 혼자 개발한다 해도 꽤 유용
- 코드가 모인 저장소는 포트폴리오로 제격이다.
SourceTree
- SourceTree와 GitHub를 활용하면 명령어 없이도 Git의 주요 기능을 손쉽게 사용할 수 있으며, 팀원들과의 협업을 원활히 진행할 수 있다.
- SourceTree는 GUI 기반의 Git 클라이언트로, 명령어 대신 시각적으로 Git을 관리할 수 있다.
정리
- 개인 및 여러 사람들이 하나의 소프트웨어를 효율적으로 개발하기 위한 시스템
- github는 Communication의 창고로 이용할 수 있다.
Github 실습
- github 설치
- sourcetree 설치
markdown 문법 익히기
마크다운(Markdown) 사용법
마크다운(Markdown) 사용법. GitHub Gist: instantly share code, notes, and snippets.
gist.github.com
Commit
- 파일 변경 사항을 저장하는 작업
- 변경 내역에 대한 스냅샷을 생성하며, 각 커밋은 고유한 식별자를 가진다
- 메시지를 통해 변경 내용을 기록하며, 이후 변경 기록을 추적할 수 있다
Branch
- 독립적인 작업 흐름을 나타낸다
- 기본적으로 생성되는 브랜치는 main(또는 master)이며, 새로운 기능 개발이나 버그 수정을 위해 별도의 브랜치를 생성하여 작업한다
- 브랜치를 사용하면 동시에 여러 작업을 진행하면서 충돌을 최소화할 수 있다
Push
- 로컬 저장소에서 작업한 내용을 원격 저장소(GitHub)로 업로드하는 작업
- 팀원들이 작업 결과를 공유받을 수 있도록 업데이트한다.
Pull
- 원격 저장소의 변경 내용을 로컬 저장소로 가져오는 작업이다
- 팀원들이 작업한 내용을 통합할 때 사용한다.
Merge
- 다른 브랜치의 변경 내용을 현재 브랜치에 통합하는 작업이다
- 충돌(conflict)이 발생할 수 있으며, 이를 해결한 뒤 병합을 완료한다
SourceTree와 GitHub의 연결 과정
- GitHub 계정 연동
SourceTree에서 도구 > 옵션 > 인증으로 이동한다
계정 추가(Add Account)를 클릭하여 GitHub 계정을 추가한다
계정 유형: GitHub
인증 유형: OAuth - 클론(Clone) 또는 저장소 생성
GitHub 저장소를 복제(Clone): GitHub에서 기존 저장소를 SourceTree로 가져온다
SourceTree에서 "원격" 탭 선택 > 클론 URL 입력 > 로컬 경로 지정 후 클론 실행
새 저장소 생성: SourceTree에서 새 로컬 저장소를 생성한 뒤 GitHub에 푸시하여 원격 저장소를 만든다 - 브랜치 관리 및 협업
SourceTree에서 "브랜치" 탭에서 새 브랜치를 생성하고 전환하며 작업을 진행한다
로컬 브랜치 작업 후, 변경 사항을 커밋하고 Push 버튼으로 원격 저장소에 업로드한다
팀 프로젝트에서의 활용
- 초기 설정
- 팀장이 GitHub에 중앙 저장소를 생성한다
- 팀원들은 해당 저장소를 SourceTree를 통해 클론하여 작업 환경을 설정한다 - 브랜치 전략
- main 브랜치는 배포 가능한 코드만 포함한다
- 각 팀원은 개별 작업 브랜치를 생성하여 개발 작업을 진행한다
기능 추가: feature/기능명
버그 수정: bugfix/버그명 - 작업 흐름
- 각자 브랜치를 생성하여 작업 시작:
git checkout -b 브랜치명 또는 SourceTree UI로 생성
- 작업 완료 후 변경 사항 커밋:
변경 내용을 확인 후 "Commit" 버튼 클릭
- 원격 저장소로 Push:
작업 내용을 팀원들과 공유하기 위해 Push 실행
- Pull Request 생성:
GitHub에서 Pull Request(PR)을 열어 코드 리뷰 요청
- 코드 리뷰 및 Merge:
팀장이 PR을 확인하고 Merge - 충돌 해결
- 여러 팀원이 동일 파일을 수정하면 충돌이 발생할 수 있다
- SourceTree에서 충돌 파일을 확인하고 직접 수정 후 "Resolve Conflicts"를 클릭하여 해결한다
- 해결된 내용을 커밋하고 Push한다
주의사항
- 작업 시작 전 Pull: 항상 원격 저장소의 최신 내용을 가져온다
- 작업 단위 커밋: 작은 단위로 자주 커밋하여 변경 이력을 명확히 유지한다
- 명확한 커밋 메시지: 팀원들이 이해할 수 있도록 메시지를 작성한다
예) "Fix: 로그인 오류 수정", "Add: 회원가입 API 구현" - 충돌 방지: 동일 파일 작업 시 사전에 팀원들과 조율한다
2. 세미나 특강 - 데이터와 나의 커리어를 엮는 실전 전략
강사 소개
류채윤
커리어무브 대표
마이오퍼 IT 헤드헌터
이력서, 자기소개서, 포트폴리오 작성법
- 이력서 작성 팁
- 교육사항: 무엇을 배웠고 무엇을 했는지 명확히 작성
- 핵심 역량: 직무 관련 기술 및 능력을 강조
- 프로젝트: 역할, 주요 기능, 느낀 점 및 성과 작성
Skill Set, 수상 내역 포함
- 자기소개서 구성:
직무 선택 계기 (스토리 중심)
역량 성장 과정 (교육 및 경험)
지원 동기 및 포부 (회사와 직무에 대한 관심 및 준비 내용)
전문성 및 노력 경험 (팀워크, 문제 해결 사례 등 포함)
- 포트폴리오 작성법:
항목별로 강점 정리 (기술 역량, 문제 해결 능력 등)
프로젝트별 역할과 성과 명확히 기술
채용 트렌드와 취업 준비 전략
- 채용 공고 사이트:
- 원티드
- 프로그래머스
- 링크드인 (현직자 정보 및 채용 공고 활용)
- 인디드 - 자기소개서 차별화:
- 개인적 구성 및 개성 강조
- 블로그나 기술 글 작성으로 전문성 부각 - 경력 개발:
- 기술 블로그 운영 (AI 관련 논문 리뷰 등)
- 다양한 기업 지원 및 지속적 학습
취업이 어려운 이유와 해결 방안
- 자격요건에 석사 학위와 경력이 포함되어도 망설이지 말고 지원
- 경력직에 도전하여 역량 증명
- 꾸준한 채용 공고 탐색 및 준비
직무와 기업 선택 전략
- 기업 유형:
- IT: 데이터 엔지니어 중심
- SI: 고객사 파견 및 빠른 채용, 다소 제한적인 업무
- DS: 데이터 중심 회사 - 직무 분류:
- 경영 직군 vs 개발 직군
- 핵심은 직무와 기업의 조화
5. 인간의 행복과 이직 전략
- 행복의 3대 요소:
- 일을 통한 성취감
- 관계
- 사랑 - 위생 요인 vs 동기 요인:
- 위생 요인: 불만 요소 해결
- 동기 요인: 개인적 성취와 성장 - WHY를 중심으로 사고하고 설득력을 키울 것
이력서 작성요령
- 데이터 기반 소통과 팀워크 강조 (예: Design Thinking 프로젝트 사례)
- 꾸준한 학습과 블로그로 전문성 어필
마무리
- 취업 준비는 개인의 성향과 역량을 이해하고, 체계적으로 채용 공고 탐색, 이력서 및 자기소개서 작성, 그리고 전문성 강화를 통해 진행해야 한다
- 팀워크와 소통 역량, 데이터 활용 경험도 적극적으로 활용하자