강의

멘토링

로드맵

Inflearn brand logo image
Programming

/

Back-end

Lớp học thành thạo Kotlin thông qua thực hành dự án thực tế

Hãy cùng xây dựng dự án với Ktor, dự án phổ biến nhất trong Kotlin, và làm chủ Kotlin nhé! 😆

(4.7) 12 đánh giá

53 học viên

  • Hong
Kotlin
ktor
실습 중심
MySQL
paseto
s3

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

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

  • Kotlin

  • Ktor

  • MySQL

  • Tính bền vững trong Kotlin

  • PasetoToken

  • Mã hóa

ktor & Kotlin của JetBrain

Nếu bạn đang tìm kiếm một khóa học về máy chủ có thể tối đa hóa sức hấp dẫn của Kotlin và kết hợp mạnh mẽ lập trình chức năng, thì đây là khóa học bạn không thể bỏ qua.

  • Tôi chỉ biết Spring Boot, tôi không biết nhiều về Kotlin.

  • Tôi muốn phát triển một tính năng vì tôi mới bắt đầu phát triển

  • Tôi phải học nhưng không biết phải làm gì.

  • Tôi không muốn theo đuổi sự nghiệp lập trình viên với trình độ thấp.

Trong khóa học này, bạn sẽ học cách xây dựng các ứng dụng hiệu suất cao bằng Ktor, dự án nguồn mở lớn nhất của Kotlin. Khóa học này được thiết kế để áp dụng vào thực tế và đóng vai trò là hướng dẫn cho việc học tập.

Ktor có những đặc điểm sau:

Kotlin và Coroutines

Ktor được thiết kế hoàn toàn dựa trên Kotlin và Coroutines. Điều này cho phép bạn sử dụng ngôn ngữ lập trình đa nền tảng, súc tích và trải nghiệm sức mạnh của lập trình bất đồng bộ với luồng mệnh lệnh trực quan.

Nhẹ và Linh hoạt

Ktor cho phép bạn chỉ sử dụng những gì bạn cần và cấu trúc ứng dụng theo cách bạn muốn. Ngoài ra, người dùng có thể dễ dàng mở rộng Ktor bằng các plugin của riêng họ.

Được xây dựng và hỗ trợ bởi JetBrains

Ktor, được cung cấp bởi JetBrains, đơn vị sáng tạo ra IntelliJ IDEA, Kotlin, v.v., không chỉ được khách hàng sử dụng mà còn được sử dụng nội bộ tại JetBrains. Chúng tôi cũng cung cấp dịch vụ hỗ trợ công cụ hàng đầu!

Hệ sinh thái phong phú [ Github , X ]

Là một khuôn khổ được JetBrains hỗ trợ và phát triển, nó cung cấp một hệ sinh thái phong phú và cũng có thể đóng góp vào sự phát triển của các khuôn khổ hàng đầu.

Các tính năng của khóa học này

📌 Xây dựng một máy chủ thực tế với 5~6 bảng MySQL

📌 PBKDF2, AES-GCM, TimeBaseEncryption Nhiều loại mã hóa khác nhau

📌 Xây dựng máy chủ giống Kotlin duy nhất trong Inflearn

📌 Cách sử dụng plugin chính thức và tạo plugin tùy chỉnh

📌 Bài giảng Ktor duy nhất mà không ai nói với bạn

📌 Học ngữ pháp Kotlin không chỉ dừng lại ở một khuôn khổ đơn giản

Tôi có thực sự cần phải học Kotlin không?

Các bạn ạ, trên thế giới này không có câu trả lời đúng nào cả. Nếu bạn muốn học thì hãy học. Nếu bạn không muốn học thì đừng học.

Nhưng trong thị trường việc làm khó khăn, Kotlin ngày càng trở thành ngôn ngữ bắt buộc phải có.

Chợ cà rốt

Hai cây

Ném Ngân Hàng

Baedal Minjok

Không bắt buộc phải sử dụng Kotlin. Tuy nhiên, ngày càng nhiều công ty đang chuyển sang Kotlin hoặc sử dụng Kotlin theo cách kết hợp. Tại sao bạn ngày càng thích chuyển từ dịch vụ dựa trên Spring sang Kotlin?

Tại sao chúng ta ngày càng chuyển từ Spring sang Kotlin?

Có nhiều lý do khác nhau và một số công ty vẫn chưa thực hiện động thái này.

Tuy nhiên, hầu hết các công ty đều cố gắng di dời vì những lý do sau.

Null an toàn

Về cơ bản, Kotlin thực hiện kiểm tra an toàn cho các giá trị null tại thời điểm biên dịch. Điều này ngăn chặn máy chủ ngừng hoạt động do Null Point Exception trong môi trường hoạt động thực tế.

Định dạng mã ngắn gọn và hỗ trợ lambda

So với Spring, mã lệnh rất ngắn gọn và cung cấp nhiều chức năng cơ bản.

Ngoài ra, lập trình chức năng cho phép viết mã thân thiện và sử dụng linh hoạt các hàm bậc cao.

Khả năng tương tác 100% với các ngôn ngữ hiện đại và Java

Các tính năng lập trình chức năng và xử lý không đồng bộ thông qua coroutine làm cho nó rất phù hợp để thể hiện ngữ pháp theo dạng ngôn ngữ hiện đại và vì nó có thể kết hợp 100% với Java nên không có khó khăn lớn nào trong việc chuyển đổi các nguồn hiện có.

Tích hợp di động và máy chủ và cộng đồng phong phú

Khi thị trường di động phát triển, việc quản lý phát triển di động và phát triển máy chủ cùng nhau là một cách rất hiệu quả. Đây cũng là ngôn ngữ mà JetBrains và Google đang tích cực hỗ trợ và phát triển.

Tìm hiểu về những điều này.

MySQL trong thực tế

MySQL chậm quá phải không? bạn nói đúng. Thành thật mà nói, MySQL hoạt động kém hơn các DB khác. Nhưng tại sao lại sử dụng MySQL?

Sử dụng ngữ pháp Trailing Lambdas

AOP của Spring không tiện lợi. Tại sao lại khó chịu? Và chúng ta triển khai và sử dụng AOP trong Kotlin như thế nào?

Lưu trữ đối tượng cho các tệp tĩnh

Có những cách nào để xử lý các tập tin tĩnh?

Trong bài giảng này, chúng ta sẽ làm việc với dữ liệu tĩnh và viết mã có thể tương thích 100% với S3!

Nhiều giao thức mã hóa khác nhau

Trên thực tế, liệu chỉ cần xây dựng một máy chủ CRUD đơn giản và kết nối với cơ sở dữ liệu có đủ không?

Tìm hiểu các giao thức mã hóa từ các nhà phát triển đã từng trải qua các sự cố hack thực tế!

Giao thức chuyển thư

Trong thực tế, có những tình huống bạn cần gửi nhiều email khác nhau theo quảng cáo và sự kiện trên nền tảng. Hãy đến trải nghiệm việc phát triển các tính năng phù hợp với những tình huống này!

Xác thực không trạng thái giữa máy chủ và máy khách

Máy chủ cần xác thực các yêu cầu đến. Chúng ta hãy cùng nhau triển khai phương thức xác thực này và triển khai một biểu mẫu khác biệt với phương thức hiện có!

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

Jakarta

  • Được sử dụng để thực hiện chức năng gửi thư.


MinIO

  • Nó được sử dụng để xử lý Lưu trữ đối tượng và được xây dựng bằng Docker.

MySQL

  • Được sử dụng để quản lý trạng thái của dữ liệu liên quan.

Dán mã thông báo

  • Áp dụng xác thực không trạng thái thông qua mã thông báo.

Ulid

  • Nó được sử dụng để hiểu bản chất của cơ sở dữ liệu và để khắc phục lỗ hổng của AUTO_INCREMENT.

Nhiều giao thức mã hóa khác nhau

  • Chúng tôi sử dụng nhiều phương pháp mã hóa khác nhau để mã hóa mật khẩu và mã hóa dữ liệu.


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

Bài giảng 1

Đã đến lúc khởi động. Bạn có thể tham gia khóa học này bất cứ khi nào bạn muốn để tìm hiểu những kiến ​​thức cơ bản về Kotlin và cách sử dụng Ktor.

Bài giảng 2

Mã và lý thuyết để xử lý MySQL trong Kotlin không chỉ giới hạn ở ngôn ngữ mà còn bao gồm những phần thiết yếu mà bạn cần biết để sử dụng MySQL.

Bài giảng 3

Làm thế nào chúng ta có thể áp dụng khái niệm DI được sử dụng trong Spring vào Ktor và Kotlin? Đã đến lúc sử dụng mã nguồn mở để thực hiện công việc DI một cách trơn tru.

Bài giảng 4

Có nhiều phương pháp xác thực giữa máy chủ và máy khách, và phương pháp được sử dụng phổ biến nhất là xác thực không trạng thái. Tìm hiểu cách triển khai phương pháp này và ưu, nhược điểm của nó.

Bài giảng 5

Đây là buổi mã hóa đầu tiên trong khóa học. Tìm hiểu cách mã hóa mật khẩu của bạn bằng nhiều thuật toán băm và tính bảo mật vượt trội giữa nhiều phương pháp mã hóa khác nhau.

Bài giảng 6

Đây là phương pháp mã hóa thứ hai. Chúng tôi sẽ giải thích phương pháp mã hóa bằng cách kết hợp hai phương pháp để triển khai một hình thức an toàn, thực hiện đồng thời tính toàn vẹn dữ liệu và mã hóa dữ liệu.

Bài giảng 7

Cuối cùng, nhà phát triển cần triển khai chức năng và giao tiếp với cơ sở dữ liệu. Tìm hiểu cách viết các truy vấn MySQL thực tế bằng Kotlin và tự mình xem và trải nghiệm nhiều truy vấn khác nhau!

Bài giảng 8

Có những cách nào để lưu trữ dữ liệu tập tin? Hãy tự mình xem cách triển khai và sử dụng Object Storage, giống hệt với AWS S3, bằng cách sử dụng Docker!

Bài giảng 9

Bạn có thể tìm hiểu cách xử lý dữ liệu tệp trên máy chủ. Hãy cùng kiểm tra nhiều loại dữ liệu tệp khác nhau, chẳng hạn như ưu và nhược điểm của việc đọc dữ liệu ở dạng khối và lưu trữ dữ liệu đó trong Object Storage, đã được đề cập trước đó!

Bài giảng 10

Là một chức năng đại diện cho việc triển khai chức năng, hệ thống truyền thư được triển khai bằng Giao thức Jakata.

Ngoài ra, hãy triển khai kiến ​​trúc có khả năng mở rộng bằng cách sử dụng Factory Pattren và áp dụng logic dịch vụ động cho phù hợp để xây dựng dịch vụ có khả năng mở rộng.

Những người đã tạo ra khóa học này và giúp đỡ nó

private val supported_one = "Nhà phát triển nền tảng thanh toán Kakao" private val supported_two = "Nhà phát triển máy chủ API Toss Securities" private val supported_three = "Nhà phát triển máy chủ khởi nghiệp Unicorn đã yêu cầu giữ bí mật"

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

Lớp học nâng cao về Kotlin: Học thông qua thực hành dự án Bank Server

  • Bạn có thể tìm hiểu mọi thứ về phương pháp xử lý dữ liệu, các cân nhắc về DB và cách sử dụng dữ liệu dựa trên sự kiện theo loại lưu lượng, sử dụng các chiến lược duy trì đa ngôn ngữ và Kafka, v.v.

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 nâng cao về coroutine dành cho các nhà phát triển tại các công ty lớn!! Hãy xem các bài giảng có quan điểm của các nhà phát triển thực tế dựa trên nhiều ví dụ khác nhau!

Những điều cần lưu ý trước khi tham gia lớp học

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

  • Bài giảng dựa trên MacOS M3.

  • Nó tận dụng Docker. Về cơ bản, hãy cài đặt nó.

  • Tôi đang sử dụng phiên bản java:17.0.12.

  • Cả IDE và công cụ cơ sở dữ liệu đều sử dụng dòng JetBrains.

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

  • Chúng tôi không tự xây dựng cơ sở hạ tầng.


Kiến thức và ghi chú của người chơi

  • Không cần kiến ​​thức trước. Khóa học được thiết kế sao cho bạn có thể tự viết code ngay từ đầu.

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

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

  • Tôi chỉ biết Spring..

  • Những ai quan tâm đến lập trình hàm

  • Người yêu thích Kotlin và JetBrain

  • Người mới bắt đầu phát triển

Xin chào
Đây là

2,725

Học viên

185

Đánh giá

76

Trả lời

4.5

Xếp hạng

14

Các khóa học

자기 소개

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

 

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

 

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

 

지식공유자 경력

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

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

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

 

인터뷰 이력

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

Tất cả

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

12 đánh giá

4.7

12 đánh giá

  • tttos님의 프로필 이미지
    tttos

    Đánh giá 6

    Đánh giá trung bình 5.0

    5

    30% đã tham gia

    Đây là nhà phát triển tôi đã cùng chuẩn bị khóa học khi làm việc tại Toss. Cá nhân tôi, đây là khóa học mà tôi đã học được nhiều hơn là chia sẻ lúc chuẩn bị. Tôi nghĩ nội dung hay đến mức nếu không phải người chuẩn bị, tôi sẽ mua riêng để xem. Từ AOP, quản lý vòng đời Transaction, đến các phương thức mã hóa khác nhau, đều là chủ đề ít gặp. Mong khóa học này sẽ giúp ích nhiều cho mọi người.

    • ddddve님의 프로필 이미지
      ddddve

      Đánh giá 6

      Đánh giá trung bình 5.0

      5

      30% đã tham gia

      Gặp lại mọi người trong buổi giảng thứ hai 😊😊 Tôi là Choi, đang làm phát triển server tại Kakao. Buổi giảng này là về Ktor, một mã nguồn mở tiêu biểu. Cá nhân tôi nghĩ rằng Ktor là một chủ đề bạn nhất định phải biết nếu sử dụng Kotlin. Tôi nghĩ rằng mình đã giúp ích nhiều, nhưng ngược lại, đó cũng là khoảng thời gian tôi học hỏi được rất nhiều. Hy vọng thông qua buổi giảng này, mọi người sẽ bị cuốn hút bởi sự quyến rũ của Kotlin.

      • jhong
        Giảng viên

        이번 강의를 준비하는데에 있어서 도움을 주셔서 감사합니다!! Hy vọng sắp tới chúng ta sẽ cùng nhau tạo ra những buổi giảng thú vị và bổ ích hơn 😊😊

    • ureview229499님의 프로필 이미지
      ureview229499

      Đánh giá 7

      Đánh giá trung bình 5.0

      Đã chỉnh sửa

      5

      70% đã tham gia

      Khóa học huyền thoại.. nhờ có đó mà tôi đã giỏi lập trình hơn.

      • jhong
        Giảng viên

        Xin chào bạn 개발 잘하고 싶다님!! Cảm ơn bạn đã để lại đánh giá tốt!! Nghe nói bạn đã giỏi phát triển rồi... Bây giờ đổi biệt danh đi nhé 😊😊 Rất tự hào vì khóa học này có vẻ đã giúp ích cho bạn rất nhiều. Hẹn gặp lại bạn trong những khóa học tốt hơn. Cảm ơn bạn!!

    • de님의 프로필 이미지
      de

      Đánh giá 9

      Đánh giá trung bình 5.0

      5

      60% đã tham gia

      Cảm thấy đây là một khóa học có rất nhiều điều để học. Rất hài lòng khi ở mức giá này lại có một khóa học chất lượng như vậy. Trước đây không biết nhiều về Kotlin, nhưng qua khóa học này, tôi đã học được rất nhiều cú pháp và cách sử dụng đa dạng, hình thức mở rộng theo interface cũng rất ấn tượng. Hơn nữa, không chỉ giới hạn ở Kotlin, mà còn cả các giao thức mã hóa có thể sử dụng dù ngôn ngữ khác nhau, hoặc truy vấn MySQL, hoặc quản lý mã dự án, v.v. Khi viết ra, có vẻ như tôi đã học được quá nhiều phần. Đây là khoảng thời gian rất mong chờ khóa học tiếp theo. Cảm ơn!!

      • jhong
        Giảng viên

        Xin chào devHand, cảm ơn bạn đã để lại đánh giá. Tôi rất vui khi nhận được một đánh giá dài như vậy 😊😊 Tôi sẽ cố gắng hơn nữa trong tương lai. Đúng như bạn đã viết, nội dung bao gồm rất nhiều thông tin có thể triển khai bằng các ngôn ngữ khác chứ không chỉ giới hạn ở Kotlin. Vì vậy, tôi muốn làm hài lòng cả những người muốn học Kotlin và những người không nhất thiết phải dùng Kotlin. Lần tới tôi sẽ trở lại với một bài giảng hay hơn!! Thời tiết rất nóng, bạn hãy cẩn thận với cái nóng nhé!

    • sdl1355126님의 프로필 이미지
      sdl1355126

      Đánh giá 12

      Đánh giá trung bình 5.0

      5

      86% đã tham gia

      Sau khi xem bài giảng đầu tiên thực sự ấn tượng, tôi đã đăng ký học ngay. Tôi đã tập trung nhanh chóng và hoàn thành bài giảng một mạch không nghỉ, và tôi nghĩ đây là một bài giảng hay giúp học hỏi được nhiều điều như bài giảng đầu tiên. Cá nhân tôi nghĩ đây thực sự là một trong số những bài giảng Kotlin xuất sắc nhất. Từ phát triển máy chủ đơn giản đến mã hóa đa dạng, tôi nghĩ đây là những chủ đề sâu sắc mà khó có thể học dễ dàng ở nơi khác. Đây là một bài giảng quá hay mà tôi chỉ muốn giữ cho riêng mình. Xin cảm ơn.

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

      1.733.864 ₫

      24%

      2.301.854 ₫

      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!