Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
Programming

/

Programming Tool/Software

Tìm hiểu Git Internals bằng cách tự làm nó

Tìm hiểu sâu về hành vi của Git, tiêu chuẩn thực tế cho các công cụ kiểm soát phiên bản và tạo công cụ của riêng bạn!

(4.0) 1 đánh giá

61 học viên

  • byjayce
git
internals
Git
Go
system-programming

Dịch cái này sang tiếng Việt

  • Hoạt động nội bộ của Git

  • lập trình hệ thống

Tìm hiểu Git Internals bằng cách xây dựng Git Internals của riêng bạn 📖

Xây dựng từ đầu! Tự xây dựng Git của riêng bạn!

Bạn có thể giải thích điều gì xảy ra bên trong Git khi bạn gõ lệnh git checkoutgit commit " không? Bài giảng này sẽ khám phá các thuật toán nội bộ và hoạt động của hệ thống tệp đằng sau các hoạt động cốt lõi của Git, đồng thời hướng dẫn bạn cách tạo "Tig", một triển khai tương tự Git, bằng ngôn ngữ mà bạn quen thuộc.


Đối tượng khóa học/Mục đích khóa học 🙆‍♀️

Các loại học sinh được người chia sẻ kiến thức xem xét

  • Bất kỳ ai muốn khám phá những điều ẩn giấu bên trong các công nghệ thường được sử dụng
  • Những người muốn trải nghiệm khám phá sâu sắc trong kỹ thuật
  • Bất kỳ ai muốn hiểu chính xác hơn về cách Git hoạt động

Mối quan tâm và giải pháp của sinh viên

  • 🥲 Làm thế nào để tìm hiểu sâu hơn về các kỹ năng cần thiết trong buổi phỏng vấn?
  • 🧐 Tôi chỉ sử dụng Git, nhưng tôi tò mò muốn biết nó hoạt động như thế nào?
  • 🤨 Có gì phù hợp cho dự án lập trình hệ thống không?

Những thay đổi của sinh viên sau khi tham dự buổi thuyết trình

  • Một nhà phát triển có kinh nghiệm khám phá các nguyên tắc kỹ thuật sâu sắc của các công cụ rất phổ biến.
  • Các nhà phát triển đã làm việc trên các dự án lập trình hệ thống bằng các ngôn ngữ thường dùng
  • Một nhà phát triển biết chính xác cách Git hoạt động và có thể sử dụng nó

Tính năng bài giảng ✨

  • Khóa học sẽ cung cấp các bài tập thực hành để chứng minh cách thức hoạt động bên trong của Git.
  • Các bài tập giảng dạy được thực hiện bằng ngôn ngữ Go, nhưng chỉ sử dụng cú pháp có thể dễ dàng thay thế bằng bất kỳ ngôn ngữ nào.
  • Ngoài ra, tài liệu còn bao gồm phần giải thích về cú pháp Go được sử dụng.
  • Bạn có thể học lập trình hệ thống và có được kinh nghiệm thực hành lập trình hệ thống có ý nghĩa.

Bạn sẽ học được gì 📚

  • Giới thiệu: Khóa học này cung cấp lời giải thích ngắn gọn về Go cơ bản, các hàm lập trình hệ thống và tổng quan về khóa học để bạn dễ theo dõi hơn.
  • Git Internals: Phát triển từng thành phần bên trong của Git và nghiên cứu các hoạt động cụ thể của chúng.
  • Tổng quan về Git: Chúng ta sẽ khám phá các bước cụ thể và các thành phần nội bộ được sử dụng để triển khai các hoạt động cốt lõi của Git về kiểm soát phiên bản, phân nhánh và hoạt động từ xa.

Câu hỏi dự kiến Hỏi & Đáp 💬

H. Khóa học được giảng dạy bằng cờ vây. Tôi có cần biết cờ vây không?
A. Bài giảng bao gồm các cấu trúc điều khiển và vòng lặp cơ bản, phép gán, kiểu dữ liệu, v.v., tất cả đều tương đương với các ngôn ngữ khác. Go có cú pháp rất đơn giản. Các gói lập trình hệ thống của nó cũng rất trực quan. Do đó, bạn sẽ không gặp khó khăn khi theo dõi các bài giảng bằng ngôn ngữ của mình.

H. Tôi có cần biết lập trình hệ thống không?
A. Khóa học này dạy lập trình hệ thống cơ bản. Nội dung lập trình hệ thống được sử dụng trong các bài tập lý thuyết không phức tạp. Đó là lập trình hệ thống cơ bản, bao gồm tạo, ghi và đọc tệp. Tuy nhiên, bạn sẽ cần tìm hiểu cách thực hiện việc này bằng ngôn ngữ thực hành của riêng mình.

H. Có hướng dẫn sử dụng lệnh Git không?
A. Mặc dù các lệnh Git được giải thích trong khóa học, nhưng chúng không chi tiết bằng các lệnh dành cho người mới bắt đầu. Khóa học này yêu cầu một số kinh nghiệm trước đó với Git.


Những điều cần lưu ý trước khi tham gia khóa học 📢

Tài liệu học tập

  • Tài liệu bài giảng PDF để nghiên cứu lý thuyết
  • Kho lưu trữ Github nơi bạn có thể kiểm tra mã kết quả

Kiến thức và biện pháp phòng ngừa của người chơi

  • Khả năng viết chương trình dài hơn 500 ký tự bằng ngôn ngữ bạn chọn

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Bất cứ ai tò mò về hoạt động bên trong của Git

  • Bất kỳ ai muốn trở thành nhà phát triển hấp dẫn thông qua Deep Dive

  • Bất cứ ai muốn nghiên cứu chuyên sâu về nguồn mở đẳng cấp thế giới

Cần biết trước khi bắt đầu?

  • Một ngôn ngữ lập trình mà bạn tự tin

Xin chào
Đây là

386

Học viên

14

Đánh giá

4

Trả lời

4.8

Xếp hạng

2

Các khóa học

안녕하세요. 저는 Jayce입니다. 현재 유니콘 스타트업의 플랫폼 엔지니어로 일하고 있습니다.

저는 창업도 하고 대규모 서비스를 위한 개발도 하고 개발자를 위한 플랫폼을 만들기도 하면서 짧은 시간 동안 서비스 개발자라고 불리는 역할도 수행해보고 플랫폼 엔지니어라고 불리는 역할도 수행했습니다. 그 과정에서 "잘하는 Software Engineer는 어떤 특징이 있고 어떻게 해야 그런 사람이 될 수 있구나"를 나름대로 정립할 수 있었습니다.

저는 짧게 말해서 Deep Dive 하는 사람들을 함께 일하는 엔지니어로서 매력적이라고 느낍니다. 단순히 주어진 일을 기계처럼 쳐내는 사람은 어떤 상황에 대한 최선의 선택을 내리기까지 비교적 오랜 시간이 걸리는 것 같아요. 반면 왜 이런 결정을 해야하는지 기술 내면의 공학적인 이유를 파고들며 이해하는 사람들은 금방 다른 의사 결정에서도 공학적으로 설득력 강한 주장을 할 수 있는 사람이 됩니다.

제가 만드는 강의는 새로운 기술을 얕게 익히는 것을 목표로 하지 않습니다. 저는 주니어 개발자들이 훌륭한 팀 동료, 매력적인 개발자, 단단한 기술자가 될 수 있는 방법을 알려주고 싶습니다. 더욱 매력있는 엔지니어가 되기 위해 조금 더 깊은 내용을 공부해보고 싶은 사람들에게 적합한 강의를 제 최선의 노력으로 만들어보겠습니다. 🙂

Chương trình giảng dạy

Tất cả

36 bài giảng ∙ (6giờ 46phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

1 đánh giá

4.0

1 đánh giá

  • 이승녕님의 프로필 이미지
    이승녕

    Đánh giá 1

    Đánh giá trung bình 4.0

    Đã chỉnh sửa

    4

    100% đã tham gia

    9~10강쯤까지 들었습니다. 9강의 뒤가 잘려있습니다. 강의 중 말이 끝나지 않았는데 영상이 멈춥니다. 10강은 앞이 잘려있다고 봤는데 9강의 내용 중 뒷부분부터 시작이었습니다. 일부 편집되어 9강의 마지막 부분과 일치하는 부분이 없어서 9강의 마지막부터 바로 시작하기 힘듭니다. 코드 설명 시 Go의 고유문법이나 Go의 테스트프레임워크를 사용하는데 해당 문법 혹은 프레임워크 함수에 대한 설명이 없습니다. 강의 소개 및 강의 초반 설명에는 다른 언어의 사용자들도 쉽게 배울 수 있다고 하지만 그렇지 않은 것 같습니다.(검색해보니 파이썬이 비슷한 문법을 사용한다고 합니다) 6강에서는 실제 실행을 보여주지 않아 원래 이런 식으로 강의가 끝나는 것인가 생각했는데, 9강과 10강을 보니 어쩌면 6강도 실제로 테스트 실행한 부분이 잘린 것이 아닌가 싶습니다. ---------------------------------------------------------- 기존에 1점에서 수정했습니다. 빠른 피드백과 수정이 좋았습니다. 완강 후 평하자면, 각 기능의 테스트코드 작성, 기능 구현 순으로 강의가 진행되는 점이 아쉬웠습니다. 테스트 코드를 짜는 영상의 시간이 실제 구현보다 긴데, 이 강의의 핵심은 제목처럼 직접 Git의 내부 기능을 구현하는 것이기 때문에 테스트코드는 미리 작성한 것을 기능 구현 강의 앞이나 뒤에 이 기능은 이런 테스트케이스가 필요하다고 보여주는 것이 강의 주제에 더 집중될 것 같습니다. 구현이 오히려 짧다보니 테스트케이스를 작성하는 공부를 하는 느낌이 더 컸습니다. 강의는 Git을 이제 시작했거나, 조금 아는 수준이면 좀 더 공부한 후에 듣는 것을 추천합니다. 내부동작의 기초부터 알려주지만 적당한 지식이 있어야 이해가 더 편할 것 같습니다. 고생하셨습니다.

    • Jayce
      Giảng viên

      안녕하세요. 불편하다고 하시니 마음이 안좋네요. 변명스러운 말씀을 드리게 되어 죄송합니다. 1. Go의 문법은 수업 가장 앞에서 간단하게 설명하고 있지만 말씀하신대로 프레임워크에 대해서 설명드리고 있지는 않습니다. 이유는 테스트라고 하는 방식은 사실 Go에서 특수한 방식이 아니라서 그렇습니다. 오히려 Go에서 특수한 방식의 테스팅 방법보단 흔히 알려진 BDD 프레임워크를 사용해 작성했습니다. 그럼에도 제가 코드 작성한 게 익숙하지 않았을 수 있다고 생각이 드네요. 2. 잘린 부분이 있다고 하신 건 정말 죄송합니다. 이게 어떻게 된 건가 싶네요. 과거에 업로드 할때와 조금 달라진 것으로 보여요. 수정하고 플랫폼에 문의해보겠습니다.

    • Jayce
      Giảng viên

      확인해봤습니다 승녕님. 6강 뒷 부분은 왜인지 구현 부분이 날아가 있었습니다. 제가 업로드했던 흔적이 있는데 강의에서는 없어져 있어서 약간 의아하네요. 현재 다시 업로드했습니다. 9강과 10강(현재 10, 11강)은 말씀하신대로 급히 종료된 게 맞지만, 10강 초반과 9강 후반이 이어지는 강의가 맞습니다. 테스트를 먼저 작성하고 구체적인 구현을 작성하는 부분을 나눠서 만든 부분입니다. 어찌됐든 부주의로 인해 불편을 드려 죄송합니다.

2.089.422 ₫

Khóa học khác của byjayce

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!