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!
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.
Tổ chức lại những điều cơ bản của ngôn ngữ C
Trình biên dịch, kiến trúc máy tính
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
Đầu vào /đầu ra tệp đồng bộ/không đồng bộ
đa luồng
Lý thuyết nâng cao về biến và hằng số
Lý thuyết trung gian về tối ưu hóa trình biên dịch và các hàm
Phát triển thư viện tĩnh/động
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기술의 바다를 항해하고 있는 개발자 입니다. 반갑습니다. ^^
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~
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.
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.
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. :)