Interface hàm chức năng và biểu thức Lambda trong Java
Hiểu các toán tử Reactive thông qua sơ đồ Marble
Học chuyên sâu về toán tử Reactive thông qua các câu đố
Lập trình phản ứng , hãy học một cách dễ dàng và rõ ràng!
Lập trình phản ứng là gì?
Theo nghĩa hẹp, có thể nói đây là một API dành cho lập trình bất đồng bộ để xử lý hiệu quả các yêu cầu bất đồng bộ phức tạp.
Theo nghĩa rộng, có thể nói đây là một mô hình của lập trình khai báo, trái ngược với lập trình mệnh lệnh, vốn nêu rõ các hành động cần thực hiện.
Lập trình phản ứng là một mô hình lập trình thiết yếu cho các hệ thống phản ứng được thiết kế để phản hồi ngay lập tức các yêu cầu của khách hàng.
Lập trình phản ứng được sử dụng rộng rãi trong hầu hết các ngôn ngữ phát triển và khuôn khổ yêu cầu giao tiếp không đồng bộ. vd) Các tiện ích mở rộng phản ứng được sử dụng rộng rãi, chẳng hạn như RxJS trong Angular, React, RxJava trong Java, RxAndroid trong Android và Reactor và RxScala được sử dụng trong Spring Framework.
Tại sao bạn nên học lập trình phản ứng?
Tôi đã nói với bạn rằng lập trình phản ứng là một mô hình phát triển để xử lý hiệu quả các yêu cầu không đồng bộ.
Các ứng dụng ngày nay ngày càng xử lý các yêu cầu không đồng bộ thay vì yêu cầu đồng bộ.
Đúng là lập trình bất đồng bộ sử dụng luồng của Java khá phức tạp và có khả năng xảy ra lỗi không mong muốn cao.
Lập trình phản ứng giải quyết các vấn đề phát sinh khi sử dụng luồng trực tiếp và đơn giản hóa sự phức tạp của lập trình không đồng bộ.
Tuy nhiên, cần phải mất một thời gian để làm quen với phong cách lập trình khai báo.
Vì vậy, cũng đúng là có một số rào cản khi gia nhập. Nhưng tôi không nghĩ đó là rào cản không thể vượt qua đối với bạn.
Tôi tin rằng lập trình phản ứng không chỉ giúp bạn nâng cao kỹ năng phát triển lên một tầm cao mới mà còn là cơ hội tuyệt vời để bạn với tư cách là một nhà phát triển trải nghiệm sự thay đổi trong cách suy nghĩ về phát triển .
Tôi có thể học được gì trong Phần 1 của bài giảng này?
Trong cuốn RxJava dễ hiểu Phần 1 của Kevin, trước tiên chúng tôi sẽ giải thích lập trình phản ứng là gì thông qua các ví dụ dễ hiểu. Tôi nghĩ rằng điều rất quan trọng là bắt đầu học bất kỳ ngôn ngữ lập trình nào bằng cách hiểu các tính năng của ngôn ngữ đó trong bối cảnh rộng hơn của ngôn ngữ đó.
Chúng tôi đã cố gắng giải thích bằng hình ảnh một cách dễ hiểu nhất có thể về cách xem sơ đồ bi, một yếu tố thiết yếu trong lập trình phản ứng, để học sinh có thể tự hiểu sơ đồ bi.
[Ghi lại tài liệu bài giảng về cách đọc sơ đồ Marvel]
RxJava là một triển khai của Reactive Streams, một đặc tả cho lập trình phản ứng. Tôi đã giúp bạn dễ dàng hiểu được luồng hoạt động giữa Nhà xuất bản và Người đăng ký được xác định trong sơ đồ Luồng phản ứng này.
[Ghi lại nội dung bài giảng về luồng hoạt động giữa nhà xuất bản và người đăng ký]
Tôi sẽ giải thích sự khác biệt quan trọng giữa Flowable và Observable, Back Pressure, một cách đơn giản nhất có thể.
[Ghi lại nội dung bài giảng về khái niệm áp lực ngược]
Tìm hiểu các khái niệm cơ bản về lập trình hàm được sử dụng trong RxJava. Giao diện chức năng và biểu thức lambda, mới được giới thiệu trong Java 8, là các kỹ thuật lập trình được sử dụng rộng rãi trong RxJava. Chúng tôi sẽ giải thích các khái niệm cơ bản theo cách dễ hiểu để bạn có thể hiểu chúng.
Chúng tôi sẽ giải thích các hàm toán tử được sử dụng trong RxJava và kết thúc Phần 1 của RxJava. Sẽ không ngoa khi nói rằng RxJava bắt đầu và kết thúc bằng các hàm toán tử, vì hàm toán tử là phần quan trọng nhất của RxJava. Trong bài giảng này, chúng ta sẽ tìm hiểu các hàm toán tử khác nhau theo từng loại bằng cách sử dụng sơ đồ bi và chạy các mã ví dụ để giúp bạn hiểu chức năng và cách thức hoạt động của từng hàm toán tử.
Khóa học của chúng tôi có những đặc điểm gì?
Chúng tôi đã cố gắng trình bày các khái niệm cốt lõi của lập trình phản ứng một cách dễ hiểu nhất có thể cho người mới bắt đầu.
Không chỉ dừng lại ở việc giải thích tài liệu bài giảng mà mỗi lớp học đều kèm theo phần giải thích về mã ví dụ cho lớp học đó. Nói cách khác, chúng tôi đã cố gắng giải thích chi tiết bằng mã ví dụ về bất kỳ phần nào không thể hiểu được chỉ thông qua tài liệu bài giảng và giúp bạn hiểu bằng cách tự chạy mã ví dụ và kiểm tra kết quả.
Trong các chương yêu cầu làm bài kiểm tra, chúng tôi cung cấp bài kiểm tra để sinh viên có thời gian xem lại và biến bài giảng thành của riêng mình.
Tất cả các mã ví dụ được sử dụng trong bài giảng đều được cung cấp trên github ( https://github.com/ITVillage-Kevin/rxjava ) để sinh viên có thể trực tiếp nhập mã ví dụ và chạy mã để kiểm tra kết quả.
Tôi nên chuẩn bị những gì trước khi tham dự buổi thuyết trình?
Tất nhiên, bạn cần phải cài đặt JDK 1.8 trở lên trên PC hoặc máy tính xách tay của mình.
Trong bài giảng, chúng tôi đã sử dụng IntelliJ IDE làm công cụ phát triển. Mặc dù bài giảng giải thích cách xây dựng môi trường thực tế dựa trên IntelliJ, những người chưa quen với IntelliJ vẫn có thể thực hành bằng IDE mà họ đang sử dụng.
Những điều quan trọng nhất bạn cần chuẩn bị để tham gia khóa học của chúng tôi là ý chí học các kỹ năng mới và sự kiên trì không bao giờ bỏ cuộc. ^^
Hãy cho tôi thấy ý chí và sự kiên trì của bạn. Tôi sẽ cố gắng hết sức để giúp bạn vượt qua rào cản gia nhập RxJava.
Bạn tò mò về điều gì? (Hỏi & Đáp)
H. Những người không chuyên ngành cũng có thể tham gia khóa học này không? A. Nó không liên quan gì đến chuyên ngành chính/phụ. Tôi nghĩ bất kỳ ai có kiến thức cơ bản về Java đều có thể tham gia khóa học này. Để bạn tham khảo, tôi cũng bắt đầu với một chuyên ngành không chính. ^^
H. Học RxJava có lợi ích gì? A. Như tôi đã đề cập trong phần giới thiệu, việc học RxJava có thể đơn giản hóa lập trình bất đồng bộ phức tạp và ngoài ra, nó có thể thay đổi cách bạn suy nghĩ về lập trình thông qua lập trình khai báo thay vì lập trình mệnh lệnh. Trở thành một lập trình viên giỏi hơn là một phần thưởng, phải không? ^^ Sau khi học RxJava, bạn sẽ có thể củng cố những kiến thức cơ bản về lập trình phản ứng, do đó, việc học RxJs, RxAndroid, Spring Reactor, v.v. sẽ dễ dàng hơn nhiều.
H. Các bài giảng được tiến hành như thế nào? A. Hầu hết các lớp học đều tiến hành theo cách mà sinh viên đầu tiên hiểu các khái niệm thông qua tài liệu bài giảng → sau đó trực tiếp xác nhận các khái niệm bằng chính mắt mình thông qua các mã ví dụ. Đối với các lớp học yêu cầu bài kiểm tra, bài kiểm tra được đưa ra trước khi kết thúc lớp học để sinh viên có thể tự mình giải quyết các bài kiểm tra để biến nội dung của lớp học thành của riêng mình.
H. Tôi có thể tải xuống mã ví dụ gốc được sử dụng trong bài giảng ở đâu? A. Tất cả các mã ví dụ được giải thích trong lớp đều được tải lên GitHub và có thể tải xuống từ địa chỉ bên dưới. • Mã nguồn ví dụ gốc:https://github.com/ITVillage-Kevin/rxjava
Nếu bạn đang tạo một dự án mới và tự nhập mã ví dụ, hãy đảm bảo sao chép/dán gói chung và gói tiện ích từ mã ví dụ trên github, sau đó viết mã.
H. Tôi có thể tải tài liệu bài giảng ở đâu? A. Đối với mỗi lớp trong mỗi phần, chúng tôi đã đính kèm các tài liệu bài giảng được sử dụng trong lớp. Nếu bạn cần, bạn có thể tải xuống và tham khảo.
H. Bạn có thể giới thiệu thêm tài liệu tham khảo nào ngoài tài liệu bài giảng không? A. Sau đây là một số trang web sẽ giúp bạn học lập trình phản ứng.
• http://reactivex.io/ Đây là trang web chính thức về lập trình phản ứng và tôi nghĩ đây là trang web thực sự tốt để tham khảo sau khi tìm hiểu những kiến thức cơ bản về lập trình phản ứng.
• https://rxmarbles.com/ Đây là sơ đồ toán tử dạng bi được tổ chức tốt, là cốt lõi của lập trình phản ứng.
• http://reactivex.io/RxJava/2.x/javadoc/ Cuối cùng, đây là tài liệu javadoc chính thức cho RxJava. Tính đến năm 2020, RxJava 3.0 đã được phát hành, nhưng tôi nghĩ sẽ tốt hơn nếu chỉ coi nó như việc thêm nhiều hàm toán tử mới vào 3.0 rồi chuyển sang 3.0 sau khi củng cố các khái niệm với phiên bản 2.x.
Khuyến nghị cho những người này
Khóa học này dành cho ai?
Dành cho những ai muốn dễ dàng triển khai lập trình không đồng bộ trong Java
Dành cho những ai muốn dễ dàng hiểu phương pháp lập trình khai báo
Dành cho những ai muốn vượt qua rào cản gia nhập lập trình Reactive
Dành cho những ai muốn củng cố vững chắc kiến thức cơ bản về lập trình Reactive để sử dụng Reactor, WebFlux tốt hơn trong Spring Boot.
Những ai còn nhớ bài giảng “[Câu chuyện về Lộ trình Nhà phát triển Java dễ hiểu của Kevin]”
Cần biết trước khi bắt đầu?
Java
Sự khác biệt giữa lập trình đồng bộ và lập trình bất đồng bộ
Xin chào Đây là
6,417
Học viên
247
Đánh giá
108
Trả lời
4.8
Xếp hạng
7
Các khóa học
- 주력 언어 또는 기술 : Java, Spring Framework, RxJava, Reactor, Spring WebFlux
- (주)코드스테이츠(https://www.codestates.com)에서 Senior Educational Software Engineer(Backend)로 활동 (From 2022.03 To 2024.01.31)
Xin chào! Tôi là một người hướng dẫn. Tôi đang để lại bài đánh giá khóa học đầu tiên của mình. ^^ Mặc dù khóa học này do tôi tạo ra nhưng tôi cũng đã tham gia khóa học cho đến hết nên sẽ chủ quan để lại đánh giá khách quan về khóa học bất kể xếp hạng sao. Mặc dù tiếng ồn từ micrô gần như đã được loại bỏ nhưng vẫn còn một số tiếng ồn từ bài phát biểu của chính tôi. ^^; Chúng tôi sẽ cố gắng cải thiện khi tạo ra các bài giảng mới, vì vậy chúng tôi đánh giá cao sự hào phóng của bạn. Cá nhân tôi nghĩ rằng đây không phải là một khóa học tồi để nắm bắt các khái niệm về lập trình phản ứng và tôi nghĩ đây là một khóa học tốt nên tham gia trước để sử dụng WebFlux trong Spring, một công cụ phát triển Java phổ biến. ^^ Thỉnh thoảng chúng tôi sẽ nói về Reactor và WebFlux trong các thông báo [Tin tức]. Hẹn gặp lại các bạn trong bài giảng nhé các bạn sinh viên! ^^;;
Đây là một bài giảng hay, nơi bạn có thể thực hành các toán tử khác nhau được sử dụng trong ReactiveJava's Observable cùng với các ví dụ và cách sử dụng thực tế.
Nếu bạn tìm hiểu các ví dụ ở đây và tích lũy tài liệu tham khảo, bạn sẽ có thể sử dụng chúng như một tài liệu tham khảo hữu ích trong thực tế.
Mình đọc rất nhiều sách khác để hiểu RxJava nhưng không hiểu được sách dịch gì cả nên chỉ học qua tài liệu.
Bài giảng này thực sự rất dễ hiểu. Mình nghĩ đây là bài giảng rất hay giúp tiết kiệm thời gian cho những ai vừa học vừa xem tài liệu.!!
Tôi hy vọng RxKotlin cũng có nội dung bài giảng nâng cao!!
Tôi rất vui khi biết rằng nó hữu ích. Tôi nghĩ khái niệm về một bức tranh tổng thể thực sự quan trọng đối với bất kỳ công nghệ nào, vì vậy tôi đã cố gắng hết sức để làm cho nó dễ hiểu nhất có thể. ^^ Tôi nghĩ việc nộp đơn tiếp theo là tùy thuộc vào học sinh. Bạn sẽ làm tốt hơn tôi. Cảm ơn
Khóa học rất hữu ích trong việc hiểu RxJAVA.
Tôi nghĩ rằng bạn hẳn đã phải chuẩn bị rất nhiều khi nghe bài giảng, bao gồm phần mở đầu và kết thúc của mỗi bài giảng, lời giải thích cho bài giảng tiếp theo, những lời giải thích dễ hiểu và chính xác, tài liệu bài giảng và mã ví dụ.
Đặc biệt, phần giải thích của toán tử đã sử dụng dữ liệu giả định có thể thực sự xảy ra, điều này rất hữu ích trong việc tưởng tượng trong những trường hợp nào thì sử dụng toán tử là tốt.
Tôi vẫn bối rối không hiểu tại sao nhà sản xuất và người tiêu dùng lại đăng ký cùng lúc, vì vậy tôi sẽ chú ý đến phần đó khi xem lại khóa học.
Cảm ơn bạn đã cung cấp một bài giảng tốt.
Một trong những mục tiêu lớn nhất của việc tạo ra khóa học này là giúp mọi người dễ dàng tiếp cận với lập trình phản ứng, và tôi nóng bừng mặt vì tôi nghĩ bạn biết chính xác ý tôi. ^^;; Tôi rất vui vì nó đã giúp bạn. Trong thế giới thực, nhà sản xuất và người tiêu dùng hầu hết đều tách biệt nhau, nhưng trong thế giới phần mềm, việc chúng ta không quen với việc đăng ký và nhận dữ liệu thông qua đối tượng của nhà sản xuất là điều đương nhiên. Tôi muốn nói với bạn rằng phần này sẽ trở nên rõ ràng hơn một chút khi bạn bắt đầu giao tiếp với máy chủ/máy khách bằng cách sử dụng lập trình phản ứng. Tôi rất vui vì bạn đã có thể tham gia vào lĩnh vực lập trình phản ứng. Hẹn gặp lại sau. Cảm ơn bạn~