Inflearn brand logo image
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.6) 9 đánh giá

41 học viên

Kotlin
MySQL
ktor
paseto
s3

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à

1,336

Học viên

90

Đánh giá

55

Trả lời

4.3

Xếp hạng

10

Các khóa học

자기 소개

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

 

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

 

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

  • 카카오에서 서버 개발하고 계시는 초이

  • 토스에서 개발하고 계시는 서버 개발자

  • 유니콘 스타트업에서 개발도 하고, DB도 관리하시는 능력자

 

지식공유자 경력

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

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

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

 

인터뷰 이력

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ả

9 đánh giá

4.6

9 đánh giá

  • 모든게 귀찮다님의 프로필 이미지
    모든게 귀찮다

    Đánh giá 3

    Đánh giá trung bình 5.0

    5

    30% đã tham gia

    토스에서 근무하며 강의를 준비하는데에 있어서 함께 작업한 개발자 입니다. 저는 개인적으로 이 강의를 준비하면서 알려드린 부분보다는 배운 부분이 더 많은 강의였습니다. 그래서 제가 만약 이 강의를 준비하는 사람이 아니였다면 따로 구매해서 봤을정도로 좋은 내용이 담겨있다고 생각을 합니다. AOP부터, Trasnaciton 생명 관리 또한 다양한 암호화 방식은 쉽게 접하지 못하는 주제라고 생각합니다. 이 강의를 통해서 많은 도움이 되었으면 좋겠습니다.

    • Hong
      Giảng viên

      이번 강의를 준비하는데에 있어서 도움을 주셔서 감사합니다!! 이번 주제는 제가 좀 리드하여 진행했는데, 이러한 과정에서 배움도 있었다고 하니 뭔가 뿌듯하네요 ㅎㅎ 앞으로 함께 더 좋은 강의와 유익한 강의 만들어가면 좋겠습니다!!

  • 우왕 개발자다님의 프로필 이미지
    우왕 개발자다

    Đánh giá 4

    Đánh giá trung bình 5.0

    5

    30% đã tham gia

    두번째 강의로 이렇게 찾아뵙게 되네요 ㅎㅎ 카카오에서 서버 개발 하고있는 초이라고 합니다. 이 강의는 Ktor이라는 대표적인 오픈소스에 대한 강의 입니다. 이 Ktor은 Kotlin을 사용하신다면 반드시 알셔야하는 주제라고 저는 개인적으로 생각을 합니다. 저도 도움을 많이 드렸다고 생각하지만, 반대로 많이 배우는 시간이였습니다. 이 강의를 통해서 Kotlin의 매력에 빠지셨으면 좋겠습니다.

    • Hong
      Giảng viên

      이번 강의를 준비하는데에 있어서 도움을 주셔서 감사합니다!! 앞으로 함께 더 재미있는 강의와 유익한 강의 만들어가면 좋겠습니다 ㅎㅎ

  • 개발 잘하고 싶다...님의 프로필 이미지
    개발 잘하고 싶다...

    Đánh giá 2

    Đánh giá trung bình 5.0

    Đã chỉnh sửa

    5

    70% đã tham gia

    레전드 강의.. 덕분에 개발 잘하게되었다.

    • Hong
      Giảng viên

      안녕하세요 개발 잘하고 싶다님!! 좋은 평 남겨주셔서 감사합니다!! 개발을 잘하게 되셨다니.. 이제는 닉네임 변경하시죠 ㅎㅎ 이 강의가 많은 도움이 되신거 같아서 너무 뿌듯하네요. 다음에 더 좋은 강의로 찾아뵙겠습니다. 감사합니다!!

  • devHand님의 프로필 이미지
    devHand

    Đánh giá 6

    Đánh giá trung bình 5.0

    5

    60% đã tham gia

    너무 배울것이 많은 강의인거 같습니다. 이 가격에 이렇게 양질의 강의가 있다는게 너무 만족스러운거 같아요. 코틀린을 잘 모르는 상황이였는데, 이 강의를 통해서 정말 다양한 문법과 활용법을 배울 수 있었고, 인터페이스 형태의 확장성 있는 형태도 되게 인상깊었습니다. 또한 단순히 코틀린에 국한된게 아니라 언어가 달라도 사용 할 수 있는 암호화 프로토콜이나 MySQL 쿼리 또는 프로젝트 코드 관리 등 적다보니 너무 많은 부분을 배운거 같네요. 다음 강의가 너무나도 기다려지는 시간이였습니다. 감사합니다!!

    • Hong
      Giảng viên

      안녕하세요 devHand님 평 남겨수져서 감사합니다. 이렇게 긴 평을 남겨주시니 기분이 너무 좋아요 ㅎㅎ 앞으로 더 열심히 하도록 하겠습니다. 작성해주신것처럼 코틀린에 국한되지 않고 다른 언어를 사용해도 충분히 구현이 가능한 정보들도 많이 들어가 있습니다. 그러니 코틀린을 학습하고 싶으신분들도 만족감을 드리고 싶고, 굳이 코틀린 아니여도 괜찮다는 분들도 만족감을 드리고 싶었어요. 다음에 더 좋은 강의로 찾아뵙도록 할게요!! 날씨가 많이 더우니 더위 조심하세요!

  • keny님의 프로필 이미지
    keny

    Đánh giá 10

    Đánh giá trung bình 5.0

    5

    86% đã tham gia

    첫번쨰 강의를 정말 인상깊게 봐서 바로 수강하였습니다. 빠르게 집중하여 진짜 쉬지않고 바로 완강을 하였는데 첫번째 강의처럼 진짜 많은 부분을 배울 수 있는 좋은 강의라고 생각합니다. 개인적으로는 Kotlin 강의중에 진짜 손에 꼽는 강의가 아닐까 싶습니다. 단순한 서버 개발부터 다양한 암호화까지 어디가서 쉽게 배우지 못하는 깊은 주제라고 생각합니다. 저만 알고 싶은 숨기고 싶은 너무 좋은 강의였습니다. 감사합니다.

    • Hong
      Giảng viên

      안녕하세요 keny님!! 이렇게 좋은 평 남겨주셔서 감사합니다. 저의 첫번째 코틀린 마스터 클래스 수강생이시라니 더 뿌듯하네요 ㅎㅎ 이 강의는 굉장히 특이한 강의입니다. 인프런에서 이런 주제를 다루고 있지는 않다고 생각을 해요!! 그래서 여러분들에게 많은 것을 알려줄 수 있는 주제라 생각했고 이렇게 준비하게 되었습니다. 실무에서는 다양한 암호화 방식을 사용합니다. 그리고 Kotlin을 다루는데에 있어서 Ktor은 너무나도 적합한 주제라고 생각을 합니다. 이 과정을 통해서 많은 부분을 학습하시고 배웠으면 좋겠습니다!! 앞으로 더 재미있고 유익한 강의로 찾아뵙겠습니다 감사합니다!

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

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!