강의

멘토링

커뮤니티

Programming

/

Back-end

Master Kotlin through Real Project Practice

Let's build a project using Ktor, the most popular project in Kotlin, and master Kotlin! 😆

(4.7) 14 reviews

67 learners

  • Hong
Kotlin
ktor
실습 중심
MySQL
paseto
s3

Reviews from Early Learners

What you will learn!

  • Kotlin

  • Ktor

  • MySQL

  • Persistence in Kotlin

  • PasetoToken

  • Encryption

ktor & Kotlin by JetBrain

If you are looking for a server course that maximizes the appeal of Kotlin and powerfully combines functional programming, then this course is a must-read for you.

  • I only know Spring Boot, I don't know much about Kotlin.

  • I want to develop a feature since I just started developing

  • I have to study, but I don't know what to do.

  • I don't want to pursue a developer career with a water level.

In this lecture, you will implement high-performance applications using Ktor, the largest open source project in Kotlin. This course is designed to be applied to actual work and serve as a guideline for studying.

Ktor has these characteristics:

Kotlin and Coroutines

Ktor is designed from the ground up on Kotlin and Coroutines, giving you a concise, multiplatform language that lets you experience the power of asynchronous programming with an intuitive imperative flow.

Lightweight and Flexible

Ktor lets you use only what you need, and lets you structure your application the way you want. It’s also very easy for users to extend Ktor with their own plugins.

Built and backed by JetBrains

Ktor, from JetBrains, the creators of IntelliJ IDEA, Kotlin, etc., is used by customers as well as internally at JetBrains. It also provides top-notch tool support!

Rich ecosystem [ Github , X ]

As a framework supported and developed by JetBrains, it provides a rich ecosystem and can also contribute to the growth of top-tier frameworks.

Features of this course

📌 Build a practical server with 5~6 MySQL tables

📌 PBKDF2, AES-GCM, TimeBaseEncryption Various encryptions

📌 Building the only Kotlin-like server in Inflearn

📌 How to use official plugins and create custom plugins

📌 The only Ktor lecture that no one tells you about

📌 Studying Kotlin grammar that doesn't end with a simple framework

Do I really need to learn Kotlin??

There is no right answer in this world. If you want to learn, do it. If you don't want to, don't.

But in a tough job market, Kotlin is increasingly becoming a must-have.

Carrot Market

Two trees

Toss Bank

Baedal Minjok

Kotlin is not mandatory. However, more and more companies are migrating to Kotlin or using Kotlin in a mixed way. Why do Spring-based services increasingly prefer to move to Kotlin?

Why are we increasingly moving from Spring to Kotlin?

There are a variety of reasons, and some companies have yet to make the move.

However, most companies that attempt to relocate do so for these reasons.

Null Safety

Kotlin basically performs a safety check for null values at compile time. This prevents the server from going down due to a Null Point Exception in an actual operating environment.

Concise code format and lambda support

Compared to Spring, the code is very concise and the basic functions provided are rich.

Additionally, functional programming allows for friendly code work and flexible use of higher-order functions.

100% interoperability with modern languages and Java

The functional programming features and asynchronous processing through coroutines make it very suitable for expressing grammar in a modern language form, and since it can be 100% mixed with Java, there is no great difficulty in transferring existing sources.

Integration of mobile and server and rich community

As the mobile market grows, managing mobile development and server development together is a very productive way. It is also a language that JetBrains and Google actively support and develop.

Learn about these things.

MySQL in practice

MySQL is slow?? That's right. To be honest, MySQL is slower than other DBs. But why use MySQL??

Using Trailing Lambdas Grammar

Spring's AOP is inconvenient. Why is it inconvenient?? And how can we implement and utilize AOP in Kotlin??

Object Storage for Static Files

What are some ways to handle static files??

In this lecture, we will work with static data and write code that can be 100% compatible with S3!

Various encryption protocols

In practice, is it enough to simply build a simple CRUD server and connect to a database?

Learn encryption protocols from developers who have experienced actual hacking incidents!

Mail Transfer Protocol

In practice, there are situations where you need to send various emails according to platform advertisements and events. Come experience developing functions to fit these situations!

Stateless authentication between server and client

The server needs to authenticate incoming requests. Let's implement this authentication method together and implement a form that differentiates it from the existing method!

Technology stack covered in this lecture

Jakarta

  • It is used to implement the mail sending function.


MinIO

  • It is used to handle Object Storage and is built using Docker.

MySQL

  • Used to manage the status of related data.

Token paste

  • Apply stateless authentication via tokens.

Ulid

  • It is used to understand the nature of the database and to counter the vulnerability of AUTO_INCREMENT.

Various encryption protocols

  • We use various encryption methods for password encryption and data encryption.


Course Curriculum

Lecture 1

It's warm-up time. Please take the time to learn the basics of Kotlin and how to use Ktor.

Lecture 2

The code and theory for handling MySQL in Kotlin are not limited to the language, and cover the essential parts that you need to know to use MySQL.

Lecture 3

How can we apply the concept of DI used in Spring to Ktor and Kotlin? It's time to use open source to smoothly carry out DI work.

Lecture 4

There are various authentication methods between servers and clients, and the most commonly used one is stateless authentication. Learn about the methods for implementing this method and its pros and cons.

Lecture 5

This is the first encryption session in this course. Learn how to encrypt user passwords using various encryption algorithms with excellent security and multiple hashing algorithms.

Lecture 6

This is the second encryption method. It is an encryption method that combines two methods to implement a safe form, and it simultaneously performs data integrity and data encryption, and we are explaining the encryption method.

Lecture 7

Developers must eventually implement functions and communicate with the database. Learn how to write MySQL queries in Kotlin and see and experience various queries for yourself!

Lecture 8

How can we store file data? Let's see for ourselves how to implement Object Storage, which is the same format as AWS S3, through Docker and use it in real life!

Lecture 9

You can learn how to handle file data on the server. You can learn about the pros and cons of reading data in chunk form, and you can test it by handling file data in various ways and storing it in Object Storage, which was covered earlier!

Lecture 10

As a representative function of the functional implementation, the mail transmission system is implemented using the Jakata Protocol.

Also, implement a scalable architecture by utilizing Factory Pattren and apply dynamic service logic accordingly to build a scalable service.

People who created this course and helped with it

private val supported_one = "Kakao Pay Platform Backend Developer" private val supported_two = "Toss Securities API Server Developer" private val supported_three = "Unicorn startup server developer who wants to keep it a secret"

A great lecture to watch together!

Kotlin Master Class: Learning through Bank Server Project Practice

  • You can learn everything about data processing methods, DB considerations, and how to utilize event-based data according to traffic type, using polyglot persistence strategies and Kafka, etc.

A master class in coroutines that is close to the basics and faithful to the basics

  • Based on the official coroutine documentation, this is a coroutine master class for developers in large companies!! Check out the lectures that include the opinions of practical developers based on various examples!

Things to note before taking the class

Practice environment

  • The lecture is based on MacOS M3.

  • We are using Docker. Please install it by default.

  • I am using java:17.0.12 version.

  • Both the IDE and database tools utilize the JetBrains line.

  • Build using Gradle.

  • We don't build the infrastructure ourselves.


Player Knowledge and Notes

  • No prior knowledge is required. The course is structured so that you can code along from the beginning.

Recommended for
these people

Who is this course right for?

  • I only know Spring.

  • Curious about Functional Programming

  • Person who loves Kotlin and JetBrains

  • Someone new to development

Hello
This is

3,829

Learners

287

Reviews

104

Answers

4.6

Rating

18

Courses

자기 소개

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

 

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

 

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

 

지식공유자 경력

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

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

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

 

인터뷰 이력

Curriculum

All

50 lectures ∙ (9hr 16min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

14 reviews

4.7

14 reviews

  • tttos님의 프로필 이미지
    tttos

    Reviews 8

    Average Rating 5.0

    5

    30% enrolled

    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

      Reviews 9

      Average Rating 5.0

      5

      30% enrolled

      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
        Instructor

        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

      Reviews 7

      Average Rating 5.0

      Edited

      5

      70% enrolled

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

      • jhong
        Instructor

        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

      Reviews 10

      Average Rating 5.0

      5

      60% enrolled

      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
        Instructor

        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

      Reviews 14

      Average Rating 5.0

      5

      86% enrolled

      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.

      $84.70

      Hong's other courses

      Check out other courses by the instructor!

      Similar courses

      Explore other courses in the same field!