강의

멘토링

커뮤니티

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) 14 đánh giá

66 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à

3,800

Học viên

287

Đánh giá

104

Trả lời

4.6

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ờ 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ả

14 đánh giá

4.7

14 đánh giá

  • tttos님의 프로필 이미지
    tttos

    Đánh giá 8

    Đánh giá trung bình 5.0

    5

    30% đã tham gia

    This is the developer I worked with while preparing the lecture during my time at Toss. Personally, while preparing this lecture, I felt I learned more than I shared. So, I think the content is so valuable that I would have purchased and watched this lecture even if I wasn't the one preparing it. I believe topics like AOP, transaction lifecycle management, and various encryption methods are not commonly encountered. I hope this lecture proves to be very helpful.

    • ddddve님의 프로필 이미지
      ddddve

      Đánh giá 9

      Đánh giá trung bình 5.0

      5

      30% đã tham gia

      I'm back to meet you like this for the second lecture 😊😊 My name is Choi, and I work on server development at Kakao. This lecture is about Ktor, a well-known open-source project. I personally believe that if you use Kotlin, Ktor is a topic you absolutely must know. I think I provided a lot of help, but it was also a time where I learned a lot in return. I hope you fall in love with Kotlin's charm through this lecture.

      • jhong
        Giảng viên

        Thank you for your help in preparing for this lecture!! I hope we can create more fun and beneficial lectures together in the future 😊😊

    • ureview229499님의 프로필 이미지
      ureview229499

      Đánh giá 7

      Đánh giá trung bình 5.0

      Đã chỉnh sửa

      5

      70% đã tham gia

      Legendary lecture.. Thanks to you, I got good at development.

      • jhong
        Giảng viên

        Hello 개발 잘하고 싶다!! Thank you for leaving a good review!! Now that you've become good at development... maybe it's time to change your nickname 😊😊 It's very rewarding this course helped so much. I'll be back with a better course next time. Thank you!!

    • de님의 프로필 이미지
      de

      Đánh giá 10

      Đánh giá trung bình 5.0

      5

      60% đã tham gia

      It seems like a lecture with so much to learn. I'm really satisfied that there's such a high-quality lecture at this price. I wasn't very familiar with Kotlin, but through this lecture, I could learn a variety of syntax and usage, and the scalable interface form was also very impressive. Also, it wasn't just limited to Kotlin, but I learned so much, including encryption protocols that can be used regardless of the language, MySQL queries, and project code management, that I feel like I learned a vast amount just by listing them. It was a time when I eagerly awaited the next lecture. Thank you!!

      • jhong
        Giảng viên

        Hello devHand, thank you for leaving a review. It makes me feel so good that you left such a long review 😊😊 I will work even harder in the future. As you wrote, it includes a lot of information that is not limited to Kotlin and can be sufficiently implemented using other languages. So I wanted to satisfy those who want to learn Kotlin, and also satisfy those who are okay with languages other than Kotlin. I'll see you next time with a better course!! The weather is very hot, so please be careful of the heat!

    • sdl1355126님의 프로필 이미지
      sdl1355126

      Đánh giá 14

      Đánh giá trung bình 5.0

      5

      86% đã tham gia

      I was really impressed by the first lecture, so I immediately enrolled. I concentrated quickly and finished it without taking a break. I think it's a great course where you can learn a lot, just like the first lecture. Personally, I think this is one of the best Kotlin courses available. From simple server development to various encryptions, I think these are deep topics that are not easy to learn elsewhere. It was such a great course that I want to keep it to myself and hide it. Thank you.

      2.296.532 ₫

      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!