Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
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!

(4.9) 77 đánh giá

1,697 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à

36,737

Học viên

2,107

Đánh giá

1,093

Trả lời

4.9

Xếp hạng

24

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ả

77 đánh giá

4.9

77 đánh giá

  • JY님의 프로필 이미지
    JY

    Đánh giá 3

    Đánh giá trung bình 5.0

    5

    15% đã tham gia

    학부때 배우고 사용하고 다시 배우고 사용하고 저에게는 배우고 찾아볼때 마다 아직 부족함을 많이 느끼게 해주는 C언어입니다. C언어 관련해서는 필요한 강의를 찾기가 쉽지 않은데 찾아 찾아 인프런까지 왔네요. 묻고 따지지도 않고 선택했습니다. 오랜시간 널널한 개발자님 책들로 많은 성장을 했기에 다시 새로운 강의로 열공할 마음에 두근거립니다. 강의 들으면서 thread관련 표준문서 및 VS 지원등 참고할만한 내용 다시한번 잘 정리했습니다. 감사합니다. "섹션 0.들어가기에 앞서" 서두를 시작으로 우선은 멀티스레드와 보안쪽 강의먼저듣고 처음부터 강의 정독하겠습니다. 감사합니다. 널널한 개발자님 새해복 많이 받으세요~ 그리고 이글을 읽으시는 분들 모두도 새해 복 많이 받으세요~

    • 널널한 개발자
      Giảng viên

      와우~~! 좋은 평가와 피드백 감사합니다. 인강의 좋은 점은 내가 원하는 순서로 들을 수도 있다는 점이죠. 자신에게 가장 효율적인 방법을 사용하시고 좋은 결과도 얻으시기 바랍니다. 제 책과 강의가 부족한 점이 많았을텐데...라는 걱정을 합니다. 앞으로도 열심히 스스로를 돌아보고 보완해야할 부분을 지속 보완하겠습니다. 혹시 보강에 관한 의견 있으시면 알려주세요. 추가 촬영을 적극 검토하겠습니다. 감사합니다.

  • 재스기님의 프로필 이미지
    재스기

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    20% đã tham gia

    잘 듣고있습니다!

    • 널널한 개발자
      Giảng viên

      피드백 감사합니다. 질문 생기면 언제든 올려주세요. ^^

  • home님의 프로필 이미지
    home

    Đánh giá 4

    Đánh giá trung bình 5.0

    5

    43% đã tham gia

    프레임워크 구조에 대한 관심이 평소에 많았는데 "파일 처리와 UI 분리"라는 부분이 저 한테 많은 도움이 되었어요!!! 감사합니다!!!!

    • 널널한 개발자
      Giảng viên

      좋은 평가 감사합니다. 그 부분이 어떤 평가를 받게 될지 걱정이 됐었는데...좋은 피드백을 받아 기쁩니다. ^^

  • 붉은외계인님의 프로필 이미지
    붉은외계인

    Đánh giá 5

    Đánh giá trung bình 4.4

    Đã chỉnh sửa

    3

    100% đã tham gia

    정말 좋은 영상인것은 맞지만 기존 "독하게 공부하는 C언어"를 완강한 저의 입장에서는 아쉬운 점이 많았습니다 새로운 내용보다는 기존 내용과 겹치는 내용도 많았고 x86환경에서의 시연보다는 x64 환경에서의 시연이 주를 이루었으면 하는 아쉬움이 남습니다 그럼에도 불구하고 조금 더 깊은 내용을 알 수 있던점은 좋았습니다 감사합니다

    • 널널한 개발자
      Giảng viên

      아마도 가성비 관점에서 아쉬움이 많으셨을 것 같습니다. 그와 관련해 말씀을 드리자면 이 강의는 오래 전에 C언어를 공부했던 분이 다시 C언어를 공부해야 하는 분들을 위해 기획된 강의 입니다. 해서 더 아쉬움이 크지 않았을까 짐작해봅니다. 감사합니다. :)

  • basketcree님의 프로필 이미지
    basketcree

    Đánh giá 5

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    꼭 한번은 들어야 할 강의 였습니다. 너무 좋았습니다.

    • 널널한 개발자
      Giảng viên

      와우~~! 좋은 평가 감사합니다. 이어서 들을 수 있는 강의들도 빨리 오픈하겠습니다. ^^

2.298.364 ₫

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!