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,326
Học viên
235
Đánh giá
108
Trả lời
4.8
Xếp hạng
6
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)
Hello! I am the instructor. This is my first time leaving a review after taking a class. ^^ Although I created the course, I took it all the way through, so I will leave an objective and subjective review regardless of the rating. I almost removed most of the noise from the microphone, but there was still some noise from my own speech. ^^; I will try to improve as I create new courses, so I would appreciate your generous understanding. In my personal opinion, I think this is a good course to learn the concept of reactive programming, and I think it is a good course to listen to in advance to use WebFlux in Spring, the trend in Java development. ^^ I will occasionally talk about Reactor and WebFlux in the [News] notice. See you again in class, students! ^^;;
This is a good lecture where you can practice using various operators used in Observable of reactiveJAVA with examples and actual usage. If you just learn the examples provided here well and build up references, you will be able to use them usefully in real life.
I've read a lot of other books to understand RxJava, but I couldn't understand the translated books at all, so I only studied through the documents..
This lecture is really well-structured. I think it's a great lecture to shorten the time for those who study while looking at the documents.!!
I wish there were more reinforced lecture content for RxKotlin!!
I'm glad to hear that it was helpful. I think that the concept of grasping the big picture is really important for any technology, so I tried my best to organize it so that it would be as easy to understand as possible. ^^ I think that the application after that is up to the students. I'm sure they'll do better than me. Thank you.
The lecture helped me a lot in understanding RxJAVA.
In each lecture, there is a beginning and end, an explanation of the next lecture, easy and core explanations and lecture materials, example codes, etc., so I thought that you prepared a lot while taking the lecture.
In particular, the explanation of the operator used virtual data that could actually occur, so it was very helpful to imagine in which situations the operator would be good to use.
I am still confused about why the producer and consumer have subscribe at the same time, so I will pay attention to that part when I watch the lecture again.
Thank you for providing a great lecture.
One of the biggest goals in making this course was to help you easily get started with reactive programming, and I'm so happy that you understand my intentions exactly. ^^;; I'm so glad it was helpful. In the real world, producers and consumers are mostly separated, but in the software world, it's natural that it's not familiar to subscribe and receive data through the producer's object. I'd like to tell you that this part will become a little clearer if you come across server/client communication using reactive programming. I'm so glad that you were able to take a step into reactive programming. See you again. Thank you~
Teacher! Thank you for the great lecture.
It was very helpful because you explained difficult content in an easy-to-understand way.
Thanks to you, I am learning a lot.