강의

멘토링

로드맵

BEST
Programming

/

Programming Language

Lập trình C để suy ngẫm

Bài giảng này bao gồm các chủ đề dành cho những người đã hoàn thành nghiên cứu cơ bản về ngôn ngữ C, chẳng hạn như lý thuyết trình biên dịch, cấu trúc khung ngăn xếp, đa luồng, cấu trúc bộ nhớ ảo, lỗ hổng bảo mật và mã hóa an toàn. Tôi thực sự giới thiệu nó cho bất kỳ ai hy vọng trở thành chuyên gia C/C++, chuyên ngành CS hoặc các kỹ năng tương đương!

(5.0) 81 đánh giá

1,731 học viên

  • nullnull8537
c언어
C
kernel
secure-coding

Đánh giá từ những học viên đầu tiên

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

  • Nhà phát triển muốn vượt xa trình độ mới bắt đầu/mới bắt đầu của ngôn ngữ C

  • Cấu trúc ngôn ngữ C liên kết với trình biên dịch, cấu trúc máy tính và hệ điều hành

  • Kỹ thuật gỡ lỗi bộ nhớ và nguyên tắc và cấu trúc khung ngăn xếp

  • Ý nghĩa của các lỗ hổng bảo mật và nguyên tắc cốt lõi của mã hóa an toàn

  • Kỹ thuật mã hóa đa luồng

Lập trình C, mạnh mẽ hơn! 💥

Tôi chỉ biết ngữ pháp ngôn ngữ lập trình
Bạn có thể phát triển 'tốt' không?

😥 “Tôi thấy khó hiểu trình biên dịch là gì.”

🥲 “Tôi muốn giỏi chuyên ngành C như chuyên ngành chính, nhưng vẫn còn thiếu một điều gì đó.”

🤔 “Giờ bắt đầu học lại CS sẽ khó khăn lắm đây...”

Cơn sốt lập trình đã mở ra một thế giới mà bất kỳ ai cũng có thể trở thành lập trình viên. Tuy nhiên, các công ty đang phàn nàn về tình trạng thiếu hụt nhân tài, và nhiều lập trình viên đầy tham vọng đang lo lắng về việc tìm kiếm việc làm. Tại sao? Bởi vì rất ít người thực sự "học" lập trình một cách bài bản. Ai cũng học ngôn ngữ lập trình và nắm vững ngữ pháp. Tuy nhiên, ít ai thực sự suy nghĩ hoặc hiểu rõ tại sao họ lại trở thành như vậy hoặc cách họ vận hành .

Ví dụ, trình biên dịch thì sao? Ngay cả các lập trình viên đang làm việc, trừ khi họ chuyên ngành Khoa học Máy tính, thường cũng không biết nhiều về trình biên dịch. Điều này là do họ phần lớn đã tránh xa chúng. Tuy nhiên, một trong những lý thuyết thiết yếu để các nhà phát triển tiến lên một tầm cao mới chính là trình biên dịch. Tuy nhiên, việc học lại các môn Khoa học Máy tính hiện nay có vẻ khó khăn.

“Thực ra phải mất bốn năm !”

Sinh viên chuyên ngành khoa học máy tính dành bốn năm dài để trở thành lập trình viên. Chúng ta thường bỏ qua thực tế là lập trình, vốn thường được coi là điều ai cũng có thể làm, thực ra đòi hỏi hơn bốn năm học.

Do đó, để người mới bắt đầu có thể chuyển sang bước tiếp theo, họ cần nỗ lực tìm hiểu các lý thuyết như cách thức hoạt động của trình biên dịch, mối quan hệ ngữ pháp của các ngôn ngữ, lý thuyết lập trình liên quan đến kiến trúc máy tính (bộ nhớ ảo, đa luồng) , bảo mật (lỗ hổng thực thi mã từ xa) và mã hóa an toàn.

Do đó, chủ đề và mục tiêu cốt lõi của bài giảng này là tìm hiểu các lý thuyết và nguyên tắc đó và đảm bảo khả năng cạnh tranh .


Tôi muốn tiến một bước dài
Nếu bạn là nhà phát triển ngôn ngữ C!

Mục tiêu chỉ có một: đạt được kỹ năng lập trình C vượt trội hơn trình độ của một chuyên gia về khoa học máy tính !

✅ Những người đã học ngữ pháp cơ bản của ngôn ngữ C nhưng cảm thấy còn thiếu sót điều gì đó

✅ Các chuyên ngành tương lai muốn học trước chuyên ngành Khoa học Máy tính (nhưng chỉ dành cho những người biết ngôn ngữ C và cấu trúc dữ liệu)

✅ Các nhà phát triển muốn trải nghiệm lý thuyết trình biên dịch và hiểu sâu hơn về ngôn ngữ lập trình.

✅ Những người tìm việc muốn cạnh tranh với tư cách là nhà phát triển, không chỉ học lập trình mà "ai cũng có thể làm"

Người ta nói rằng việc đào tạo một lập trình viên C/C++ thường tốn thời gian và công sức gấp hai đến ba lần so với đào tạo một lập trình viên Java. Tuy nhiên, ngay cả các chuyên gia Java cuối cùng cũng cần mức độ nỗ lực tương đương (hoặc hơn) so với các chuyên gia C/C++ để xử lý sự cố và các lý thuyết nâng cao. Cuối cùng, mặc dù họ có thể xuất phát từ những lĩnh vực khác nhau, nhưng sẽ đến một lúc nào đó tất cả các lý thuyết sẽ hội tụ.

Chủ đề và mục tiêu cốt lõi của bài giảng này là hiểu các lý thuyết thiết yếu tương ứng với điểm tiếp xúc đó .


Những điều cần biết cho các nhà phát triển thực tế
Bao gồm nội dung cốt lõi.

💡 Dành cho những ai cảm thấy thiếu kiến thức về Khoa học Máy tính với tư cách là một nhà phát triển ngôn ngữ C nhưng lại cảm thấy áp lực khi phải học thực sự, cuốn sách này sẽ giúp bạn hiểu sơ lược về các lý thuyết Khoa học Máy tính cốt lõi, chẳng hạn như lý thuyết trình biên dịch và lý thuyết hệ thống. Cuốn sách cung cấp định hướng phù hợp cho các nhà phát triển mới bắt đầu muốn tạo sự khác biệt hoặc muốn chuyển sang một cấp độ cao hơn.

  1. Tổ chức lại những điều cơ bản của ngôn ngữ C
  2. Trình biên dịch, kiến trúc máy tính
  3. Các chức năng bao gồm cấu trúc khung ngăn xếp và các nguyên tắc
  4. Đầu vào /đầu ra tệp đồng bộ/không đồng bộ
  1. đa luồng
  2. Lý thuyết nâng cao về biến và hằng số
  3. Lý thuyết trung gian về tối ưu hóa trình biên dịch và các hàm
  4. Phát triển thư viện tĩnh/động
  5. Bảo mật và mã hóa an toàn

Khóa học này bao gồm mười phần. Khóa học cung cấp kiến thức thiết yếu cho tất cả các nhà phát triển đang hành nghề, bắt đầu từ việc hiểu ngôn ngữ C và trình biên dịch, rồi tiến tới lý thuyết lập trình hệ thống và mã hóa bảo mật.

Thành phần biên dịch
Cây cú pháp trừu tượng (AST) và IR

Hãy kiểm tra kiến thức chơi game của bạn !
Cần có hiểu biết cơ bản về ngữ pháp và cấu trúc dữ liệu của ngôn ngữ C.

Khóa học này không dành cho người mới bắt đầu. Đây là khóa học ở trình độ trung cấp, yêu cầu người học phải có kiến thức cơ bản về ngữ pháp và lý thuyết ngôn ngữ C (chẳng hạn như con trỏ) và cấu trúc dữ liệu . Khóa học cũng yêu cầu người học phải có kiến thức cơ bản về các lý thuyết được thảo luận trong bài giảng " Trở thành chuyên gia khoa học máy tính bằng cách ghi nhớ rộng và hẹp ".


Hỏi & Đáp 💭

H. Bạn không định dạy ngữ pháp ngôn ngữ C sao?

Có, khóa học này dành cho những người đã học ngôn ngữ C và cấu trúc dữ liệu. Khóa học không bao gồm lý thuyết cơ bản.

H. Lập trình viên Java có được phép lắng nghe không?

Nếu bạn có kinh nghiệm học ngôn ngữ C và có một số hiểu biết về con trỏ thì điều đó không thành vấn đề.

H. Có thể thực hành trên môi trường macOS và Linux không?

Mặc dù nghe lý thuyết cũng được, nhưng bạn nên sử dụng môi trường phát triển Windows 10 + Visual Studio 2022 vì nó bao gồm các chi tiết cụ thể về cách sử dụng các công cụ.

💾 Hướng dẫn về Môi trường Đào tạo & Tài liệu Học tập

  • Khóa học này sẽ được giảng dạy bằng Visual Studio 2022 Community Edition trên Windows 10. Mặc dù các phần lý thuyết của khóa học có thể được thực hiện trong các môi trường khác, chúng tôi đặc biệt khuyên bạn nên sử dụng môi trường này vì nó bao gồm cách sử dụng công cụ cụ thể.
  • Đây là khóa học trung cấp không giải thích về cấu trúc dữ liệu, ngữ pháp và lý thuyết cơ bản của ngôn ngữ C (con trỏ, v.v.).
  • Chúng tôi cung cấp tài liệu PPT lớp học và các tệp ví dụ được sử dụng trong mỗi lớp học.

Một bộ sưu tập các bài giảng thậm chí còn hay hơn khi xem cùng nhau 📺

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

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

  • Những người đã học ngôn ngữ C nhưng cảm thấy chưa đủ

  • Người muốn học ngôn ngữ C đúng trình độ chuyên ngành

  • Các nhà phát triển muốn nắm vững lý thuyết nền tảng trước khi nghiên cứu đảo ngược

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

  • 'Học thuộc lòng rộng và nông để trở thành chuyên ngành khoa học máy tính' Các lý thuyết được đề cập trong khóa học

  • Hiểu ngữ pháp và con trỏ cơ bản của ngôn ngữ C

  • Hiểu cấu trúc dữ liệu

Xin chào
Đây là

39,007

Học viên

2,331

Đánh giá

1,125

Trả lời

4.9

Xếp hạng

25

Các khóa học

널널한 개발자 TV 채널 주인장이자
30년 넘게 IT기술의 바다를 항해하고 있는 개발자 입니다.  반갑습니다. ^^  

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

Tất cả

46 bài giảng ∙ (11giờ 17phú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ả

81 đánh giá

5.0

81 đánh giá

  • amsheep님의 프로필 이미지
    amsheep

    Đánh giá 3

    Đánh giá trung bình 5.0

    5

    15% đã tham gia

    I learned and used it in college, and I learned and used it again. For me, it is the C language that makes me feel that I am still lacking every time I learn and look for it. It is not easy to find the lectures I need related to the C language, but I came to Inflearn after searching for them. I chose it without asking or questioning. I have grown a lot with the books of the developer who is easy to read for a long time, so I am excited to study hard with a new lecture. While listening to the lecture, I have organized the reference content such as the standard document related to threads and VS support well. Thank you. Starting with the introduction of "Section 0. Before Entering" First, I will listen to the lecture on multi-threading and security first and read the lecture from the beginning. Thank you. Happy New Year, developer who is easy to read~ And happy New Year to everyone who reads this article~

    • nullnull8537
      Giảng viên

      Wow~~! Thank you for your good evaluation and feedback. The good thing about the lecture is that I can listen to it in the order I want. I hope you use the method that is most efficient for you and get good results. I worry that my book and lectures may have had many shortcomings... I will continue to reflect on myself and continue to improve the areas that need improvement. If you have any suggestions for improvement, please let me know. I will actively consider additional filming. Thank you.

  • wooljs님의 프로필 이미지
    wooljs

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    20% đã tham gia

    I'm listening carefully!

    • nullnull8537
      Giảng viên

      Thanks for the feedback. Feel free to ask questions anytime. ^^

  • devyilee2224님의 프로필 이미지
    devyilee2224

    Đánh giá 4

    Đánh giá trung bình 5.0

    5

    43% đã tham gia

    I've always been interested in framework structures, and the part about "separating file processing and UI" was a great help to me!!! Thank you!!!!

    • nullnull8537
      Giảng viên

      Thank you for the good review. I was worried about how that part would be evaluated... I'm glad to receive good feedback. ^^

  • redlien님의 프로필 이미지
    redlien

    Đánh giá 5

    Đánh giá trung bình 4.4

    Đã chỉnh sửa

    3

    100% đã tham gia

    It is indeed a great video, but from my perspective as someone who has completed the original "Studying C Language Viciously," there were many disappointing aspects. There was a lot of overlap with existing content rather than new material, and I wish there had been more demonstrations in an x64 environment rather than primarily in an x86 environment. Nevertheless, I appreciated the opportunity to learn more in-depth content. Thank you.

    • nullnull8537
      Giảng viên

      It seems you had many disappointments from a cost-effectiveness perspective. Regarding that, this lecture was designed for those who studied C a long time ago and need to study it again. I imagine that's why the disappointment might have been greater. Thank you. :)

  • basketcree1171님의 프로필 이미지
    basketcree1171

    Đánh giá 5

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    This was a lecture you absolutely had to attend. It was so good.

    • nullnull8537
      Giảng viên

      Wow~~! Thank you for your good review. I will open the lectures that you can listen to next soon. ^^

2.298.102 ₫

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

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!