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,287
Học viên
231
Đánh giá
107
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)
안녕하세요! 강사입니다. 제가 첫번째 수강 후기를 남기게 되었네요. ^^ 제가 만든 강의지만 저도 끝까지 수강을 하였기에 별점과는 상관없이 객관적인 수강평을 주관적으로 남겨보겠습니다. 마이크에서 나온 잡음은 거의 제거했지만 제 말소리에서 나오는 잡음은 여전히 좀 남아있더라구요. ^^; 새로운 강의를 만들면서 점점 나아지도록 노력하겠으니 너그럽게 봐주시면 감사드리겠습니다. 개인적인 생각으로는 리액티브 프로그래밍의 개념을 잡기에 나쁘지 않은 강의라 생각하며, 자바 개발의 대세인 Spring 에서 WebFlux를 사용하기 위해 미리 들어두면 괜찮은 강의라 생각합니다. ^^ Reactor와 WebFlux에 대한 얘기는 [새소식] 공지에서 이따금씩 하도록 하겠습니다. 그럼 강의에서 또 뵈어요 수강생 여러분! ^^;;
RxJava 를 이해하기 위해 다른 책들을 많이 봤지만, 번역책들은 도통 이해가 되지 않아 문서로만 공부를했었는데..
이 강의는 정말 이해하기 좋은 구성입니다. 문서보면서 공부하시는 분들의 시간을 단축하기 위한 아주 좋은 강의라고 생각합니다.!!
RxKotlin 도 보강된 강의 내용이 있었으면 좋겠습니다!!
강좌를 통해 RxJAVA를 이해해하는데 많은 도움이 되었습니다.
각 강좌에서 시작과 마무리, 다음 강의에 대한 설명, 쉽고 핵심적인 설명과 강의자료, 예제코드 등, 강좌를 들으면서 준비를 많이 하셨겠다는 생각을 하게되었습니다.
특히 연산자에 대한 설명은 실제 발생할 수 있는 가상의 data를 사용하셔서, 어떤 상황에서 해당 연산자를 사용하면 좋을지 상상하는데 도움이 많이 되었습니다.
아직은 제가 생산자와 소비자가 subscribe를 왜 동시게 갖고 있는지 혼동되어, 강좌를 다시 볼 때, 해당 부분을 유의해서 보려고 합니다.
좋은 강의 제공해 주셔서 감사의 말씀을 드립니다.
이 강의를 만든 가장 큰 목표 중에 하나가 리액티브 프로그래밍에 쉽게 입문할 수 있도록 도움 드리자는건데 제 의도를 정확하게 알고계신거 같아서 얼굴이 화끈거리네요. ^^;; 도움 되셨다니 너무 다행이구요. 현실세계에서 생산자와 소비자는 대부분 분리되어 있지만 소프트웨어 세계에서는 생산자의 객체를 통해서 구독을하고 데이터를 전달 받는게 익숙하지 않은게 당연한데요. 리액티브 프로그래밍을 사용한 서버/클라이언트 통신을 접해보시면 이 부분이 조금 더 명확해진다는 사실 말씀 드리고 싶네요. 리액티브 프로그래밍에 발을 들이실 수 있게 된거 같아서 참 기쁩니다. 그럼 또 뵙겠습니다. 감사합니다~