강의

멘토링

커뮤니티

BEST
Programming

/

Database

Lớp học thành thạo Kotlin thông qua thực hành dự án máy chủ ngân hàng

Đây là khóa học giúp bạn thành thạo Kotlin thông qua máy chủ thanh toán ảo.

(4.8) 25 đánh giá

301 học viên

  • Hong
실습 중심
Kotlin
mysql
데이터베이스
자격증
시험
MySQL
MongoDB
Kafka
Redis

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

Bạn sẽ nhận được điều này sau khi học.

  • Kotlin

  • MySQL

  • MongoDB

  • OAuth2

  • Kafka

  • Redis

  • Concurrency Controll

Học Kotlin thông qua Thực hành Dự án Bank Server

Bạn đã sẵn sàng để đi xa hơn việc chỉ học cú pháp Kotlin và tích lũy kinh nghiệm thực tế bằng cách viết một dự án mẫu cho máy chủ ngân hàng chưa?


Trong khóa học này, bạn sẽ học cách viết mã hiệu quả với cú pháp súc tích và biểu cảm của Kotlin, khám phá giải pháp riêng của Kotlin khắc phục được các hạn chế AOP của Spring và tìm hiểu các phương pháp xử lý nhật ký có thể mở rộng . Bạn cũng sẽ tự triển khai máy chủ có thể mở rộng bằng Redis, Kafka, MySQL và MongoDB và áp dụng các phương pháp để giải quyết các vấn đề đồng thời trong thực tế.


Các vấn đề xảy ra trong lĩnh vực tài chính rất đa dạng và phức tạp. Chúng tôi không thể đề cập đến mọi thứ trong một bài giảng, nhưng chúng tôi cung cấp cơ hội giải quyết các vấn đề thực tế cho những người muốn tham gia vào lĩnh vực tài chính hoặc tìm hiểu sâu hơn về Kotlin.

Đừng chỉ dừng lại ở lý thuyết, mà hãy biến công nghệ có thể áp dụng trực tiếp vào các dịch vụ thực tế thành của riêng bạn. Đây sẽ là thời gian để cùng nhau suy nghĩ và phát triển.

Tại sao tôi nên học Kotlin?

Người ta nói rằng nó tương thích 100% với Spring, và Kotlin, một ngôn ngữ do Jetbrain tạo ra, được tối ưu hóa cho lập trình đồng thời, điều mà Spring không phù hợp.

📚 Ngữ pháp súc tích và trực quan


Kotlin cung cấp cú pháp ngắn gọn và trực quan, cho phép các nhà phát triển làm được nhiều việc hơn với ít mã hơn. Điều này có tác dụng cải thiện khả năng đọc và giúp bảo trì dễ dàng hơn.

📚 Năng suất và an toàn cao


Kotlin hỗ trợ null safety theo mặc định, có thể giảm các ngoại lệ con trỏ null (NullPointerException). Nó cũng hỗ trợ lập trình chức năng, cho phép bạn viết mã theo cách chức năng và khai báo hơn. Các tính năng này làm tăng năng suất phát triển và giảm khả năng xảy ra lỗi.

📚 Khả năng tương thích cao


Kotlin tương thích 100% với Java, giúp dễ dàng tích hợp vào các dự án Java hiện có. Điều này có nghĩa là các nhà phát triển Java không gặp rào cản đáng kể nào khi học Kotlin và có thể sử dụng các tính năng Kotlin mới trong khi vẫn duy trì mã hiện có.

Sau khi học bài giảng, bạn có thể tạo ra kết quả như thế này.

Thành phần API sử dụng cú pháp Kotlin

Bạn viết ngữ pháp trong Kotlin như thế nào, sử dụng lập trình hàm? Nó cũng hỗ trợ nhiều biểu thức lambda khác nhau và bạn có thể cấu hình máy chủ cùng nhau.

Cách sử dụng Kotlin để khắc phục Spring AOP

Kotlin hỗ trợ hoàn toàn Spring, nhưng AOP trong Spring có những hạn chế rõ ràng.

Trong Kotlin, chúng ta sẽ cùng nhau tìm hiểu cách khắc phục những hạn chế này.

Quản lý khóa cho xử lý đồng thời

Trong môi trường có nhiều phiên bản đang chạy, cần phải thực hiện công việc để đạt được tính đồng thời trên nhiều cụm.

Cấu hình máy chủ sử dụng Redis, MySQL và MongoDB

Cấu hình máy chủ không chỉ đơn thuần là một DB. Dự án được cấu hình bằng cách sử dụng trực tiếp bộ nhớ đệm và hàng đợi tin nhắn.

Bảo mật API thông qua xử lý xác thực OAuth2

Bảo mật là yếu tố quan trọng nhất trong cấu hình máy chủ.

Bài giảng này sẽ đề cập đến việc xử lý xác thực có thể mở rộng thông qua xử lý callBack.

Triển khai hàng đợi tin nhắn bằng Kafka

Đối với kiến ​​trúc MSA và các dịch vụ miền lớn, Kafka không phải là một lựa chọn mà là điều bắt buộc.

Chúng tôi cũng cung cấp hướng dẫn thực tế về cách sử dụng Kafka.

Công nghệ được đề cập trong bài giảng

MySQL

MySQL, một cơ sở dữ liệu quan hệ, được sử dụng để xử lý dữ liệu có mối quan hệ.

Bạn sẽ có một cấu trúc linh hoạt để phát triển dịch vụ thông qua phương pháp mã hóa để cấu hình JPA, viết các thực thể và chỉ định mối quan hệ giữa dữ liệu.

MongoDB

Nó được sử dụng như một cơ sở dữ liệu để quản lý dữ liệu lịch sử dựa trên loại lưu lượng truy cập đến bằng cách áp dụng chiến lược duy trì đa ngôn ngữ.

Chúng tôi sẽ giải thích những khái niệm này là gì và những điều bạn nên cân nhắc.

Redis, Redisson

Bằng cách giới thiệu một công cụ lưu trữ đệm, nó được sử dụng để tối ưu hóa CPU và xử lý lưu trữ đệm cho cơ sở dữ liệu, ngoài ra, một khóa để kiểm soát đồng thời được giới thiệu và áp dụng.

Kafka

Bạn sẽ triển khai kiến trúc dựa trên thông điệp. Bạn có thể cấu hình Producer và Consumer cùng nhau xây dựng dự án, và cũng sẽ đề cập đến việc triển khai mã để mở rộng Consumer.

Spring Security

Sử dụng Spring Security để tiến hành xác thực Token và thông qua đó áp dụng việc lọc các yêu cầu một cách chủ động. Thông qua cấu trúc này, chúng ta sẽ cấu hình server theo cách thức đảm bảo hiệu quả tài nguyên.

JWT

Sau khi xác thực OAuth2, chúng ta sẽ tìm hiểu về cách quản lý JWT token dựa trên dữ liệu đó. Tiếp theo, chúng ta sẽ tìm hiểu về cách tích hợp quá trình xác minh JWT với Spring Security để chỉ xử lý các yêu cầu từ người dùng được ủy quyền.

4 giá trị cốt lõi mà chúng tôi trân trọng

1. Bài giảng phải có tính nhân văn.

Dù có thể bị coi là thiếu chuyên nghiệp, tôi nghĩ rằng những bài giảng dễ trình bày không phải là bài giảng thực sự. Thời gian tiến hành debug cũng là một phần của bài giảng.

2. Phải chuyên biệt hóa cho thực tế công việc

Lập trình không phải là nói suông. Bạn có thể cùng thực hiện việc triển khai thực tế và trải nghiệm quá trình hoạt động.

  • Các anh chị làm kế hoạch... xin hãy cứu tôi..

3. Phải có ích cho các học viên.

Tôi muốn truyền đạt những khái niệm mà tôi đã áp dụng trong thực tế và thấy hiệu quả. Thông qua khóa học này, bạn có thể trải nghiệm gián tiếp công việc thực tế hoặc nếu đã là người làm thực tế thì có thể thể hiện hiệu suất xuất sắc hơn trong môi trường làm việc.

4. Bài giảng không phải là kết thúc.

Khi tiến hành bài giảng, tôi mong các bạn để lại nhiều câu hỏi và thảo luận. Bài giảng này không được tạo ra chỉ từ kiến thức của riêng tôi. Nó cũng tổng hợp ý kiến từ nhiều lập trình viên của các công ty lớn.

  • Tiểu sử ngắn gọn về những người đã giúp đỡ hoàn thành khóa học như sau.


private val supported_one = "Nhà phát triển backend nền tảng KakaoPay"

private val supported_two = "Nhà phát triển API server Toss Securities"

private val supported_three = "Nhà phát triển server startup unicorn bí mật"

Sơ đồ cấu trúc bài giảng

Phần 2

Tôi đang trình bày một cách ngắn gọn về quản lý model mà tôi đã xử lý trong quá trình làm việc thực tế.

Dựa trên design pattern của Google, nội dung này chứa quan điểm cá nhân về cách tiếp cận tốt nhất để xử lý type từ góc độ nào.

Phần 3

Chúng ta sẽ tiến hành công việc lập trình để triển khai mã có khả năng mở rộng cho OAuth2.

OAuth2 là một tính năng có thể được bổ sung liên tục tùy theo đặc điểm của từng nền tảng. Chúng tôi sẽ hướng dẫn bạn cách triển khai code có tính mở rộng thông qua xử lý interface cho tính năng này.

Phần 4

Trong phần này, bạn sẽ học về cách sử dụng Kotlin để khắc phục những nhược điểm của AOP trong Spring.

Spring AOP là một khái niệm được áp dụng và sử dụng rất nhiều mà các bạn có thể không biết. Nó được sử dụng để đảm bảo tính bền vững dữ liệu cho cơ sở dữ liệu quan hệ, và cũng được ứng dụng trong xử lý logging thông qua việc sử dụng PointCut.

Tuy nhiên, đây là một người bạn đáng tiếc vì cũng tồn tại một số nhược điểm. Phần này đề cập đến cách sử dụng AOP của Spring trong Kotlin một cách linh hoạt hơn.

Phần 5

Bạn sẽ làm việc với API đã hoàn thành việc triển khai chức năng OAuth2 và áp dụng cả AOP.

Thông qua khóa học này, các bạn sẽ cùng tôi lần đầu tiên triển khai và viết code, kiểm tra xem code có hoạt động đúng không, và thông qua quá trình này cũng sẽ có thời gian debug cùng nhau.

Phần 6

Công việc lập trình cho các tính năng phù hợp hơn với B2C và B2B sẽ được tiến hành.

Tùy theo lưu lượng truy cập đến, bạn sẽ cùng nhau triển khai cách thức hoạt động của tính năng thông qua việc thực thi Service Logic cụ thể.

Bạn sẽ sử dụng @Service, @RestController và các annotation khác để viết logic nghiệp vụ cùng nhau.

Phần 7

Redis là một yếu tố rất quan trọng trong thực tế. Nó có thể được sử dụng để kiểm soát tính đồng thời và cũng được sử dụng để tối ưu hóa CPU cho DB thông qua việc xử lý cache dữ liệu.

Trong phần này, chúng ta sẽ làm việc với các phương thức đa dạng có thể sử dụng RedisRedisson.

Phần 8

Bây giờ chúng ta sẽ chính thức viết logic kiểm soát đồng thời bằng cách sử dụng các phương thức liên quan đến Redis mà chúng ta đã viết trước đó.

Chúng ta sẽ cùng nhau viết Distributed Lock để xử lý tuần tự các traffic đồng thời đa phương hướng và cùng nhau tạo ra logic để đảm bảo tính bền vững của dữ liệu.

Phần 9, 10

Trong thời gian này, bạn sẽ trực tiếp triển khai code về Kafka. Bạn sẽ sử dụng Kafka Producer để xử lý các thay đổi sự kiện xảy ra trên API, và sử dụng nó như một code áp dụng chiến lược loose coupling giữa các service và polyglot persistence.


Bạn sẽ triển khai code cho MongoDB và thực hiện logic dịch vụ tương ứng. Ngoài ra, bạn sẽ triển khai và tìm hiểu về logic giảm thiểu việc sử dụng DB thông qua việc tận dụng bộ nhớ.

Phần 11

Spring Security sẽ đảm nhận logic xử lý trước các yêu cầu đến API.

Quá trình này có nhược điểm là tăng thêm các điểm cần quản lý, nhưng chúng ta sẽ cùng triển khai những ưu điểm có thể tối ưu hóa thêm tài nguyên theo đó.

Phần 12, 13

Tạo một module mới để xử lý Producer của Kafka và triển khai logic giao tiếp với MongoDB, Redis, từ đó xử lý quá trình tạo dữ liệu phù hợp với loại traffic. Thông qua thời gian này, các bạn sẽ học về khái niệm loose coupling là gì và phương thức xử lý message là gì.

Lưu ý trước khi học

Môi trường thực hành

  • Chụp bằng MacOS M3.

  • Theo mặc định, nó sử dụng Docker.

  • java --version : 17.0.12 2024-07-16 LTS

  • Tôi sử dụng IDE từ nhóm JetBrains.

  • Xây dựng bằng Gradle.

  • Không bao gồm cơ sở hạ tầng.

Một bài giảng tuyệt vời để cùng nhau xem!

Lớp học nâng cao về Kotlin thông qua Thực hành dự án Time Capsule

  • Đây là bài giảng về lớp học nâng cao Kotlin xây dựng các dịch vụ web bằng Ktor, mã nguồn mở lớn nhất của JetBrains. Thông qua bài giảng này, bạn sẽ tìm hiểu về ngữ pháp cơ bản và các phương pháp mã hóa thực tế của Kotlin.

Một lớp học nâng cao về coroutines gần với những điều cơ bản và trung thành với những điều cơ bản

  • Dựa trên tài liệu chính thức về coroutine, đây là lớp học chính về coroutine dành cho các nhà phát triển trong các công ty lớn!! Hãy xem các bài giảng bao gồm ý kiến ​​của các nhà phát triển thực tế dựa trên nhiều ví dụ khác nhau!

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

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

  • Người mới bắt đầu Kotlin

  • Những ai muốn học về lập trình

  • Ai tò mò về kiểm soát đồng thời

  • Những ai muốn tìm hiểu về API server

  • Những ai tò mò về các công cụ dùng trong thực tế

Xin chào
Đây là

4,545

Học viên

324

Đánh giá

115

Trả lời

4.7

Xếp hạng

18

Các khóa học

자기 소개

집에서 빈둥대다 개발에 흥미를 느껴 개발 공부를 시작하였고 현재는 판교에서 플랫폼 서버 개발을 담당하여 진행하고 있습니다.

 

제가 공부를 했던 방법과 실무에서 접하실 수 있는 여러가지 문제점들과 해결책을 여러분들에게 제공하고 싶어 지식공유자 활동을 이어나가고 있습니다.

 

강의는 오로지 저만의 지식을 통해 만들어지지 않습니다. 모든 강의는 함께하시는 분들이 계십니다.

 

지식공유자 경력

[前] 샌드박스 블록체인 개발자

[前] 넥슨 자회사 백엔드 개발자

[] 판교에서 고여가는 서버 개발자

 

인터뷰 이력

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

Tất cả

50 bài giảng ∙ (9giờ 2phú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ả

25 đánh giá

4.8

25 đánh giá

  • tttos님의 프로필 이미지
    tttos

    Đánh giá 8

    Đánh giá trung bình 5.0

    5

    30% đã tham gia

    Tôi không biết liệu tôi có giúp ích gì trong việc chuẩn bị bài giảng hay không... Tôi là một nhà phát triển làm việc tại Toss, người đã trả lời một vài câu hỏi và trao đổi với giảng viên. Anh đã nói là anh sẽ quay bài giảng... và anh đã thực sự công khai nó như thế này 😆😆😆. Đó là một chủ đề thú vị. Nhờ có anh, tôi đã có một trải nghiệm tuyệt vời. Tôi hy vọng rằng nó sẽ giúp ích được nhiều cho tất cả những người tham gia bài giảng!

    • jhong
      Giảng viên

      Cảm ơn bạn vì đã luôn tìm đến mình!! Mình đã học được rất nhiều và muốn chia sẻ những điều mình học được cho những người khác nên đã chuẩn bị một chút quà nhỏ 😊😊 Luôn luôn cảm ơn bạn rất nhiều!! Mình sẽ lại tìm đến làm phiền bạn nữa nha 😆😆😆 Mong bạn sẽ luôn quan tâm đến mình!

  • ddddve님의 프로필 이미지
    ddddve

    Đánh giá 9

    Đánh giá trung bình 5.0

    5

    30% đã tham gia

    Tôi là Choi, một nhà phát triển máy chủ tại Kakao. Tôi đã đưa ra một vài lời khuyên khi đột nhiên nhận được yêu cầu giúp đỡ quay một bài giảng, và thật kỳ lạ khi bài giảng thực sự được ra mắt 😊😊 Tôi cảm thấy rất mới mẻ khi thấy những nội dung tôi đã chỉ dẫn được áp dụng tối đa trong bài giảng. Tôi hy vọng các bạn cũng sẽ bị cuốn hút bởi sự quyến rũ của Kotlin thông qua bài giảng này.

    • jhong
      Giảng viên

      😆😆😆 Em xin lỗi vì luôn theo sát và làm phiền anh/chị. Nhờ có anh/chị mà em đã chuẩn bị được một bài giảng tốt. Em luôn cảm ơn anh/chị! ❤️

  • dfdssdsd님의 프로필 이미지
    dfdssdsd

    Đánh giá 24

    Đánh giá trung bình 5.0

    5

    30% đã tham gia

    Đúng là Goat. Cá nhân tôi nghĩ đây là khóa học đỉnh nhất trong số các khóa học Kotlin trên Inflearn.

    • jhong
      Giảng viên

      Chào bạn soap, cảm ơn bạn đã để lại đánh giá tốt!! Sắp tới mình sẽ mang đến những bài giảng hay hơn nữa! Cảm ơn bạn!

  • sdl1355126님의 프로필 이미지
    sdl1355126

    Đánh giá 14

    Đánh giá trung bình 5.0

    5

    30% đã tham gia

    Mặc dù tôi chưa nghe hết toàn bộ bài giảng, nhưng ngay cả với tiến độ hiện tại, tôi nghĩ đây là một bài giảng hay cho phép tôi tìm hiểu và học hỏi hầu hết các chức năng cần thiết để xây dựng một dự án, bắt đầu từ những hạn chế của AOP. Tôi bắt đầu nghe với suy nghĩ đơn giản, nhưng càng nghe tôi càng thấy đây là một bài giảng chất lượng cao cho phép tôi học được nhiều điều hơn.

    • jhong
      Giảng viên

      Chào Keny, cảm ơn bạn đã để lại đánh giá tốt! Sắp tới mình sẽ sớm quay lại với những bài giảng chất lượng hơn! Chúc bạn một ngày tốt lành!

  • de님의 프로필 이미지
    de

    Đánh giá 10

    Đánh giá trung bình 5.0

    5

    60% đã tham gia

    Nhờ có bạn mà tôi có thể học hành thoải mái. Cảm ơn bạn.

    • jhong
      Giảng viên

      Cảm ơn bạn vì đã để lại đánh giá tốt. Tôi hy vọng bạn sẽ hiểu thêm về sức hấp dẫn của Kotlin thông qua bài giảng này!!

2.299.673 ₫

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

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!