Nâng cao khả năng sử dụng ngôn ngữ lập trình cao cấp để phát triển thành nhà phát triển trung và cao cấp, đồng thời trau dồi khả năng thiết kế và triển khai phần mềm kết hợp các mô hình hàm, hướng đối tượng và LISP.
245 học viên
Sử dụng ngôn ngữ lập trình cấp cao
Hệ thống kiểu dữ liệu
Lập trình hàm
Lập trình hướng đối tượng
Xử lý danh sách
Lập trình đa mô hình
Ngôn ngữ lập trình trong lịch sử chủ yếu được chia thành ngôn ngữ chức năng, ngôn ngữ hướng đối tượng và ngôn ngữ thủ tục. Nhưng ngày nay, xu hướng này đã thay đổi. Với sự xuất hiện của các ngôn ngữ lập trình lai có cả tính năng chức năng và hướng đối tượng, hầu hết các ngôn ngữ lập trình chính, bao gồm Java, C#, Scala, TypeScript , JavaScript, Kotlin và Swift, hiện nay đều là ngôn ngữ đa mô hình . Những thay đổi này đã trở thành đặc điểm chung của các ngôn ngữ được sử dụng rộng rãi tại nơi làm việc.
Các ngôn ngữ này cung cấp hỗ trợ rộng rãi cho các tính năng hướng đối tượng như lớp, kế thừa và giao diện, cũng như các tính năng lập trình chức năng như hàm hạng nhất, xử lý danh sách, đánh giá lười biếng và xử lý không đồng bộ/đồng thời . Nó cũng cung cấp một hệ thống kiểu mạnh mẽ nhưng linh hoạt, suy luận kiểu, kiểu chung, kiểu tiện ích và thậm chí cho phép kết hợp các kiểu tĩnh và kiểu động .
Một số vấn đề được giải quyết tốt hơn bằng lập trình hàm, trong khi những vấn đề khác được giải quyết tốt hơn bằng lập trình hướng đối tượng. Các lập trình viên không còn cần phải tranh luận xem hướng chức năng hay hướng đối tượng tốt hơn, kiểu tĩnh hay kiểu động tốt hơn. Các tổ chức và công ty tạo ra ngôn ngữ và xác định tiêu chuẩn đã phát triển để hỗ trợ nhiều mô hình trong một ngôn ngữ duy nhất, cho phép chúng ta lập trình kết hợp nhiều mô hình khác nhau trong một dự án duy nhất hoặc thậm chí trong một chức năng duy nhất.
Hiện tại, chúng ta có thể đang dựa vào các thư viện hoặc khuôn khổ cụ thể và tuân theo các mô hình hạn chế phù hợp với chúng, do đó không tận dụng đầy đủ các tính năng và mô hình khác nhau ở cấp độ ngôn ngữ. Nhiều kỹ thuật được áp dụng cho ngôn ngữ lập trình hàm và ngôn ngữ lập trình hướng đối tượng có lịch sử và tính hợp pháp rất sâu sắc và đã được chứng minh là có thể giải quyết nhiều vấn đề khác nhau. Các lập trình viên có nhiều kỹ năng ngôn ngữ khác nhau có thể giải quyết nhiều vấn đề một cách nhanh chóng, an toàn và linh hoạt hơn. Nó cũng cho phép bạn viết mã theo cách cơ bản hơn, mà không bị ràng buộc vào một thư viện cụ thể nào.
Chuỗi bài giảng này chủ yếu sử dụng TypeScript và Kotlin làm ngôn ngữ chính , nhưng cũng đề cập đến các kỹ thuật và khái niệm có thể áp dụng cho các ngôn ngữ khác như Java, C#, Scala và Swift . Giúp bạn áp dụng lập trình chức năng vào thực tế trong khi vẫn duy trì môi trường và ngôn ngữ hiện tại. Ngoài ra, bằng cách trình bày mã giải quyết vấn đề bằng cách kết hợp lập trình hướng đối tượng và lập trình hàm , nó giúp mở rộng khả năng giải quyết vấn đề bằng cách tăng cường các kỹ năng và khả năng ứng dụng để xử lý hiệu quả các ngôn ngữ đa mô hình .
Và chuyến đi này thực sự thú vị và vui vẻ. Qua bài giảng này, tôi hy vọng rằng bạn sẽ trải nghiệm được nhiều khả năng khác nhau của ngôn ngữ đa mô hình , phát triển khả năng sử dụng ngôn ngữ lập trình cấp cao và phát triển khả năng thiết kế và triển khai phần mềm kết hợp các mô hình chức năng, hướng đối tượng và LISP . Trên hết, tôi hy vọng đây sẽ là cơ hội để tận hưởng sâu sắc hơn công việc lập trình máy tính và kỹ thuật phần mềm .
Chúng tôi cung cấp các bài giảng rộng và chuyên sâu dựa trên sách lập trình đa mô hình.
“Khóa học này bao gồm lặp lại đa mô hình và xử lý danh sách nói chung, tập trung vào các trình lặp, là giao điểm của lập trình hướng đối tượng và lập trình hàm. Ngôn ngữ chính được sử dụng là TypeScript, và Clojure và Kotlin cũng được xem xét ngắn gọn để hiểu sâu sắc các khái niệm về xử lý danh sách và lặp lại đa mô hình.”
Trình lặp, trình tạo, giao thức lặp, xử lý danh sách
Sự trừu tượng kết hợp giữa lập trình chức năng, hệ thống kiểu, lớp và lập trình chung.
Mã: Đối tượng: Hàm = Trình tạo: Trình lặp: LISP = IP: OOP: FP
Hãy thử với Kotlin
Làm sâu sắc thêm các khái niệm về thành phần hàm và đánh giá lười biếng
Xử lý dữ liệu thực tế bằng cách xử lý danh sách
Mở rộng ra nhiều vấn đề hơn
“Bài giảng này giới thiệu về thiết kế và cấu trúc của ngôn ngữ lập trình bất đồng bộ, cách xử lý kết quả của các hoạt động bất đồng bộ dưới dạng giá trị, cách viết logic bất đồng bộ/đồng thời bằng cách sử dụng đánh giá lười biếng và xử lý danh sách, và cách xử lý lập trình bất đồng bộ dưới dạng kiểu.”
Lập trình không đồng bộ theo giá trị
Lập trình đồng thời với độ trễ
Hệ thống loại và bất đồng bộ, giao thức AsyncIteration
Xử lý lỗi không đồng bộ
“Trong bài giảng này, chúng ta sẽ tìm hiểu về Iterable, Iterator và Sequence do Kotlin cung cấp, và thông qua những điều này, chúng ta sẽ xem xét thành phần tinh vi và khả năng mở rộng độc đáo của Kotlin, và bao quát toàn bộ quá trình xử lý danh sách. Ngoài ra, dựa trên Iterator và Sequence, chúng ta sẽ hiểu sâu sắc về thiết kế lặp lại của Kotlin, điều này sẽ giúp chúng ta hiểu chính xác và áp dụng các coroutine sau này.”
Iterable và Iterator(
Trình lặp)
Khả năng kết hợp và mở rộng tinh vi của Kotlin
Sự liên tiếp
Xử lý danh sách và đánh giá lười biếng
Các hàm mở rộng của Kotlin
Xử lý dữ liệu thực tế bằng cách xử lý danh sách
Mở rộng ra nhiều vấn đề hơn
“Tập trung vào mã cần thiết cho các hoạt động lập trình phụ trợ, chúng tôi triển khai một trình lập lịch dựa trên xử lý danh sách để đồng bộ hóa dữ liệu giữa các dịch vụ tách biệt trong môi trường MSA và cũng đề cập đến các kỹ thuật phụ trợ thiết yếu như song song và giới hạn kích thước yêu cầu theo góc nhìn xử lý danh sách. Chúng tôi cũng xem xét các trường hợp thiết kế và triển khai đa mô hình và đề cập đến các ví dụ có thể thiết lập tiêu chí cho các vấn đề nào cần áp dụng các lớp (hướng đối tượng), các vấn đề nào cần giới thiệu xử lý danh sách (chức năng) và các vấn đề nào cần áp dụng phương pháp bắt buộc.”
Vẽ một cuốn lịch
Mẫu xử lý danh sách
Lập trình bất đồng bộ Backend: Xử lý danh sách Xử lý MSA
Tối ưu hóa dựa trên băm, giới hạn kích thước yêu cầu và tính song song để tăng hiệu quả
Kỹ thuật đa mô hình để giải quyết dữ liệu lồng nhau và logic đệ quy
Xử lý đồng thời mở rộng kết hợp hướng đối tượng, mệnh lệnh và chức năng.
“Tìm hiểu về nhiều cơ chế đồng thời khác nhau như Coroutine, Flow, Deferred và Channel, và xem xét sâu hơn các kỹ thuật xử lý đồng thời đa mô hình. Chúng tôi cũng trình bày cách áp dụng hiệu quả các hàm này thông qua các tình huống lập trình bất đồng bộ ở phần cuối thực tế.”
Coroutine, Dòng chảy
Trì hoãn, Kênh
Xử lý đồng thời đa mô hình
Lập trình bất đồng bộ Backend thực tế
“Chúng tôi bao gồm phát triển front-end dựa trên Web API (vanilla), và chúng tôi xem xét thiết kế thành phần hướng đối tượng và các kỹ thuật triển khai đa mô hình. Chúng tôi tìm hiểu nhiều chủ đề, từ các lớp, giao diện, kế thừa, trừu tượng, sự kiện và quản lý trạng thái đến giao diện người dùng không có giao diện, các lớp chung, các mẫu chiến lược, các mẫu trạng thái và trình trang trí.”
Phát triển front-end dựa trên Web API (Vanilla)
Thiết kế thành phần hướng đối tượng và triển khai đa mô hình
Các lớp, giao diện, kế thừa, trừu tượng, sự kiện, quản lý trạng thái
Giao diện người dùng không có đầu, lớp chung, mẫu chiến lược, mẫu trạng thái, trình trang trí
Thuật toán Heuristic Diff và Tối ưu hóa Kết xuất UI
Xử lý UI không đồng bộ, thiết kế giao tiếp giữa các thành phần
Giảng viên dựa trên kinh nghiệm của mình trong nhiều ngôn ngữ và công nghệ khác nhau, bao gồm TypeScript, Objective-C, iOS, Java, Android, Node.js, PostgreSQL, Clojure, Kotlin, Ruby on Rails, Web API và Canvas, để trình bày các phương pháp kết hợp hiệu quả các mô hình hướng đối tượng, chức năng và mệnh lệnh.
Nó cũng đề cập sâu hơn đến nền tảng, thiết kế và triển khai mã thực tế của hệ thống kiểu dữ liệu và kiểu chung mạnh mẽ, cũng như các lớp, giao diện và mẫu thiết kế.
Chúng tôi đã biên soạn toàn bộ nội dung của nhiều khóa đào tạo kỹ thuật được thực hiện cho các công ty CNTT lớn như Nexon, Naver, Kakao, LGU+ và SK Planet.
Mã ví dụ và cách cài đặt môi trường có thể được tìm thấy trên GitHub chính thức của Multi-Paradigm Programming và TypeScript ( liên kết ).
Tham gia cùng chúng tôi trong cộng đồng trực tuyến MDU để thảo luận thêm và tìm hiểu về lập trình đa mô hình. 📢
Đăng ký kênh YouTube của chúng tôi và nhận tin tức mới nhất. 📺
15% số tiền thu được từ bài giảng này và toàn bộ số tiền thu được từ cuốn sách của tác giả sẽ được quyên góp cho Bệnh viện Nhi Seoul Asan Medical Center.
Cuốn sách này cung cấp thêm nội dung lý thuyết và góc nhìn để hỗ trợ thêm cho nội dung của bài giảng này. Học tập với cuốn sách này sẽ giúp bạn học tập và khám phá sâu hơn.
Cuốn sách này cũng cung cấp tài liệu hướng dẫn cho các ngôn ngữ khác, bao gồm Haskell và Clojure.
Xem các bài viết được đề xuất |
Xem trước chương 1-3
Xem sách - Nhà sách Kyobo , yes24 , Aladdin
"Khóa học này sẽ dạy bạn cách xử lý lập trình không đồng bộ đơn giản và trực quan hơn bằng các kỹ thuật hiện đại như đánh giá lười biếng, trình tạo và lặp lại. Khóa học cũng sẽ giúp bạn nhận ra rằng các lĩnh vực phức tạp như xử lý song song ở phía sau và xử lý lỗi có thể được giải quyết một cách tinh tế bằng các kỹ thuật xử lý danh sách."
"Bạn sẽ học được sự kết hợp đa mô hình của lập trình hướng đối tượng và lập trình chức năng, do đó bạn sẽ hiểu sâu hơn về bản chất và thiết kế của mã chứ không chỉ là mã 'hoạt động', và có thể áp dụng linh hoạt các mẫu thực tế."
"Nếu bạn muốn phát triển từ một lập trình viên trung cấp lên một lập trình viên nâng cao, bạn sẽ có thể chủ động phản hồi nhiều dự án khác nhau với góc nhìn rộng hơn bằng cách sử dụng rộng rãi tính thuần túy và bất biến về mặt chức năng, cũng như đóng gói hướng đối tượng và phân chia trách nhiệm."
"Khi bạn theo dõi quá trình tối ưu hóa luồng dữ liệu bằng cách đánh giá lười biếng và giải quyết trực quan các vấn đề khó khăn như xử lý song song và xử lý lỗi bằng cách sử dụng trình tạo và đối tượng lặp, bạn sẽ tìm thấy câu trả lời cho câu hỏi cuối cùng: 'Làm thế nào tôi có thể tạo ra nhiều giá trị hơn với ít mã hơn?'"
"Khóa học này sẽ giúp bạn phát triển khả năng nhìn thấu 'bản chất của mã' và mang đến cho bạn cơ hội tiếp thu kiến thức thiết kế và ứng dụng mẫu đa mô hình thực tế vượt xa kiến thức ngữ pháp đơn thuần, đồng thời trở thành một lập trình viên có thể đưa ra các giải pháp tối ưu trong nhiều tình huống khác nhau."
Khóa học này dành cho ai?
Nhà phát triển muốn trang bị những kiến thức nền tảng vững chắc
Nhà phát triển cấp trung
Nhà phát triển giao diện người dùng
Nhà phát triển backend sử dụng TypeScript
Dành cho các nhà phát triển Kotlin/Java/Swift muốn học về nền tảng và ứng dụng của ngôn ngữ đa mô hình
Cần biết trước khi bắt đầu?
Cú pháp cơ bản của ngôn ngữ lập trình hiện đại
Cú pháp cơ bản của TypeScript
22,210
Học viên
758
Đánh giá
454
Trả lời
4.9
Xếp hạng
4
Các khóa học
Tất cả
48 bài giảng ∙ (5giờ 15phút)
Iterator và Iterable
07:08
Hàm forEach
04:15
Hàm map
05:14
hàm filter
09:01
Nạp chồng phương thức
06:00
Công cụ hỗ trợ Iterator
06:41
Cộng bằng concat
10:33
Thống kê giải bóng rổ
04:31