강의

멘토링

로드맵

Inflearn brand logo image
BEST
Programming

/

Full-stack

Kevin's Easy RxJava Phần 2

Bạn có muốn vượt qua rào cản gia nhập được gọi là lập trình phản ứng không? RxJava dễ hiểu của Kevin sẽ cho bạn sức mạnh để vượt qua bức tường đó.

(4.9) 15 đánh giá

517 học viên

  • Kevin
Functional Programming
RxJava
Reactive Streams
Reactive Programming

Đánh giá từ những học viên đầu tiên

Dịch cái này sang tiếng Việt

  • Khái niệm Hot Publishing và các loại Hot Publishing

  • Khái niệm và cách sử dụng Scheduler, trình quản lý luồng trong RxJava

  • Cách gỡ lỗi mã RxJava

  • Cách kiểm tra mã RxJava

  • Sử dụng RxJava giữa máy khách và máy chủ bằng giao tiếp SSE

🎉Kevin's Easy RxJava Phần 2 đã được phát hành🎉
Lập trình phản ứng
, tôi sẽ dạy lại cho bạn điều này!

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 không đồng bộ để xử lý hiệu quả các yêu cầu không đồng bộ phức tạp.
  • Theo nghĩa rộng, có thể nói đây là mô hình 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 đã đề cập 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 không đồng bộ sử dụng luồng 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, 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ậy nên, đúng là có một số rào cản khi gia nhập. Nhưng tôi không nghĩ chúng là không thể vượt qua.
  • 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 trải nghiệm sự thay đổi trong tư duy phát triển của mình với tư cách là một nhà phát triển .

Tôi có thể học được gì ở Phần 2 ?

  • Trong Phần 2 của cuốn Easy RxJava của Kevin, chúng ta sẽ tìm hiểu các chủ đề chưa được đề cập trong Phần 1, chẳng hạn như Hot Publishers, scheduler, gỡ lỗi và kiểm thử. Cuối cùng, chúng ta sẽ tìm hiểu cách áp dụng RxJava đã học trong Phần 1 và Phần 2 vào Spring Boot thông qua thực hành.
  • Đầu tiên, chúng ta đã xem xét Cold Publisher và Hot Publisher, được đề cập ngắn gọn trong Phần 1, sau đó chúng ta tìm hiểu về các loại Hot Publisher và các tính năng tương ứng của chúng thông qua sơ đồ đá cẩm thạch và mã ví dụ.

[Tài liệu bài giảng của Cold Publisher Review]

[Tài liệu bài giảng Đánh giá Nhà xuất bản Capture of Hot]

  • Trong bài viết này, chúng ta sẽ tìm hiểu bộ lập lịch là gì, vai trò của nó và chức năng của nó trong RxJava. Để hiểu ý nghĩa của bộ lập lịch trong RxJava, trước tiên chúng tôi sẽ cung cấp một giải thích đơn giản, trực quan về các khái niệm và hoạt động của tiến trình và luồng trong một tiến trình đang chạy trên hệ điều hành. Điều này sẽ giúp học viên hiểu rõ vai trò của bộ lập lịch trong RxJava.

[Ghi lại nội dung bài giảng về khái niệm luồng]

  • Vì RxJava là ngôn ngữ lập trình khai báo và bất đồng bộ, việc gỡ lỗi mã RxJava có thể khá khó khăn. Trong Phần 2, chúng ta sẽ tìm hiểu các kỹ thuật gỡ lỗi cho mã RxJava.
  • Kiểm thử là một khía cạnh quan trọng của phát triển ứng dụng. Tuy nhiên, việc kiểm thử mã RxJava, một ngôn ngữ lập trình bất đồng bộ, bằng các phương thức Java chuẩn có những hạn chế riêng. Trong phần kiểm thử, bạn sẽ học cách kiểm thử mã hiệu quả trong RxJava.
  • Phần cuối của Phần 2 sẽ trình bày một dự án thực hành minh họa cách tận dụng các kỹ năng lập trình RxJava đã học trong Spring Boot. Mặc dù bản thân dự án khá đơn giản, nhưng nó sẽ cung cấp cái nhìn sâu sắc về cách RxJava có thể được sử dụng trong phát triển ứng dụng.

[Ghi lại nội dung bài giảng về tiến trình thực hiện dự án]

  • Cuối cùng, sau khi hoàn thành bài giảng này, chúng tôi trình bày lộ trình học tập trong tương lai liên quan đến lập trình phản ứng.

Khóa học của chúng tôi có điểm gì đặc biệt?

  • 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ỉ đơn thuần giải thích nội dung bài giảng, mỗi buổi học đều kèm theo phần giải thích rõ ràng về mã ví dụ. Nói cách khác, bất kỳ kiến thức nào khó hiểu trong bài giảng đều được giải thích chi tiết bằng mã ví dụ, và chúng tôi nỗ lực đảm bảo sinh viên hiểu rõ các khái niệm bằng cách chạy mã ví dụ và kiểm chứng kết quả.
  • 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 để 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ị gì trước khi tham dự buổi thuyết trình?

  • Như bạn có thể mong đợi, bạn cần 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 khóa học, chúng tôi đã sử dụng IntelliJ IDE làm công cụ phát triển. Nếu bạn chưa quen với IntelliJ, hãy thoải mái sử dụng IDE hiện tại của bạn cho các bài tập thực hành.
  • 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 không gì khác ngoài ý chí học hỏi những 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 những rào cản để bước vào RxJava.


Cùng xem lại bài giảng trước nhé 👀

Khóa học được đề xuất: RxJava dễ hiểu của Kevin Phần 1
Những nguyên tắc cơ bản vững chắc của lập trình phản ứng

Bạn tò mò về điều gì? (Hỏi & Đáp)🙋‍♀️🙋‍♂️

H. Sinh viên không chuyên ngành cũng có thể tham gia khóa học này không?
A. Không quan trọng bạn có chuyên ngành hay không. 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. Nhân tiện, bản thân tôi cũng bắt đầu học không chuyên ngành. ^^ Tuy nhiên, tôi tin rằng việc học Phần 2 sau Phần 1 sẽ giúp bạn hiểu bài tốt hơn.

H. Lợi ích của việc học RxJava là 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à hơn nữa, nó có thể giúp bạn thay đổi cách suy nghĩ về lập trình bằng cách sử dụng 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 lợi thế, phải không? ^^ Sau khi học RxJava, bạn sẽ có thể củng cố các nguyên tắc cơ bản của lập trình phản ứng, nhờ đó việc học RxJs, RxAndroid, Spring Reactor, v.v. sẽ trở nên dễ dàng hơn rất 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 bắt đầu bằng việc tìm hiểu các khái niệm thông qua tài liệu bài giảng, sau đó trực tiếp kiểm chứng chúng thông qua mã ví dụ. Mặc dù Phần 1 có cung cấp thêm các bài kiểm tra ngoài mã ví dụ, Phần 2 sẽ không bao gồm các bài kiểm tra riêng biệt.

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ó sẵn trê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-episode2

Mã nguồn gốc cho dự án thực hành (phía máy chủ) :https://github.com/ITVillage-Kevin/rxjava-episode2-practice

Mã nguồn gốc cho dự án thực hành (phía máy khách) :https://github.com/ITVillage-Kevin/rxjava-episode2-practice-client

H. Tôi có thể tải tài liệu bài giảng ở đâu?
A. Đối với mỗi lớp học trong mỗi phần, chúng tôi đã đính kèm tài liệu bài giảng được sử dụng trong lớp. Nếu cần, vui lòng tải xuống và tham khảo.

H. Ngoài tài liệu bài giảng, bạn có thể giới thiệu thêm tài liệu tham khảo nào không?
A. Dưới đây là một số trang web hữu ích để 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://github.com/reactive-streams/reactive-streams-jvm
RxJava có thể được coi là một phiên bản triển khai của Reactive Streams. Đây là tài liệu GitHub chính thức định nghĩa các thông số kỹ thuật của Reactive Streams.

https://gist.github.com/casamia918/93b8db69beb9ee06b92a96b2a234d48e
Đây là một tài nguyên GitHub được dịch rất tốt về lập trình phản ứng. Tôi xin chân thành cảm ơn bản dịch tiếng Hàn.

https://rxmarbles.com/
Đây là sơ đồ toán tử dạng bi được tổ chức tốt, có thể coi 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ốt nhất là cứ tạm coi như phiên bản 3.0 đã bổ sung rất nhiều hàm toán tử mới, và hãy củng cố kiến thức của bạn về các khái niệm này với phiên bản 2.x trước khi chuyển sang phiên bản 3.0.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Những người muốn khắc phục khó khăn khi lập trình đa luồng trong Java

  • Những người muốn làm quen với phương pháp lập trình khai báo

  • Những người muốn vượt qua rào cản gia nhập lập trình phản ứng

  • Những người muốn củng cố kiến ​​​​thức cơ bản về lập trình phản ứng để phát triển Ứng dụng web phản ứng mùa xuân

  • Dành cho những người đã tham gia khóa học [RxJava Phần 1 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 không đồ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)

- 프리랜서 개발자 및 강사로 활동(From 2024.02)

- 저서

안녕하세요? Kevin이라고 합니다. ^^

인프런에서 이렇게 강사로서 여러분들을 만나게 되어서 너무 반갑습니다.

어떤 분야든 마찬가지겠지만 특히나 소프트웨어 개발자는 끊임없이 변화하는 트렌드에 뒤처지지 않도록 항상 자기 자신을 갈고 닦는것이 개발자로써 살아남는 유일한 방법이라고 생각하며 항상 배우는 자세로 즐겁게 소프트웨어 개발을 하고 있는 개발자 중 한 명입니다.

제가 가지고 있는 지식과 경험이 다른 분들에게 조금이나마 도움이 되기를 바라면서 인프런에서 강좌를 시작하였습니다.

앞으로 수강생분들에게 현실적으로 도움이 되는 다양한 강좌로 꾸준히 찾아뵙도록 하겠습니다. 감사합니다.

 

질문이나 의견은 언제든지 환영하니, 이메일(it.village.host@gmail.com)로 편하게 얘기해주세요.

 

Chương trình giảng dạy

Tất cả

23 bài giảng ∙ (3giờ 46phú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ả

15 đánh giá

4.9

15 đánh giá

  • Kevin님의 프로필 이미지
    Kevin

    Đánh giá 3

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    안녕하세요, 2부 강의 역시 제가 제일 먼저 완강을 하고 수강평을 남기게되었습니다. ^^ 1부/2부에 걸쳐서 리액티브 프로그래밍에 대해서 최대한 쉽게 이해시켜드리려고 노력했는데 어떠셨는지 모르겠네요. 아무튼 리액티브 프로그래밍을 이해하시는데 제 강의가 조금이라도 도움이 되길 바래볼게요. 감사합니다!

    • myrtlepn님의 프로필 이미지
      myrtlepn

      Đánh giá 5

      Đánh giá trung bình 5.0

      5

      100% đã tham gia

      RXJava에 필요한 내용을 간결하고 이해가 잘 가도록 설명해주시네요 감사합니다

      • 윤지상님의 프로필 이미지
        윤지상

        Đánh giá 3

        Đánh giá trung bình 5.0

        5

        100% đã tham gia

        굿굿 갈끔한 강의 입니다. 아주 좋았어요!

        • 박규봉 Park님의 프로필 이미지
          박규봉 Park

          Đánh giá 5

          Đánh giá trung bình 4.2

          4

          100% đã tham gia

          리액티브 프로그래밍에 대한 감을 좀 잡았습니다. 감사합니다. 특히 뒷부분 예제가 마음에 들었습니다. 만약 추후 강의를 더 만드실 생각이 있으시다면 처음에 쉬운 예제를 소개해준 뒤, 해당 예제에서 사용되는 함수를 소개해준다면 더 수업에 집중할 수 있을거 같습니다.

          • Kevin
            Giảng viên

            도움이 되셨다니 다행입니다. 저도 수강생들 입장에서 강의를 제작할 수 있도록 더 노력하도록 하겠습니다. 감사합니다.

        • injoon2019님의 프로필 이미지
          injoon2019

          Đánh giá 45

          Đánh giá trung bình 4.9

          5

          74% đã tham gia

          잘 가르쳐주세요

          Ưu đãi có thời hạn

          33.000 ₫

          14%

          807.144 ₫

          Khóa học khác của Kevin

          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!