inflearn logo
inflearn logo

銀行サーバープロジェクト実習を通じて学ぶKotlinマスタークラス

この講義では、仮想決済サーバーを通じてKotlinをマスターできる講義です。

難易度 入門

受講期間 無制限

Kotlin
Kotlin
MySQL
MySQL
MongoDB
MongoDB
Kafka
Kafka
Redis
Redis
Kotlin
Kotlin
MySQL
MySQL
MongoDB
MongoDB
Kafka
Kafka
Redis
Redis

学習した受講者のレビュー

学習した受講者のレビュー

4.8

5.0

Baskin

24% 受講後に作成

現役開発者です。最初の開発キャリアは、Javaが全盛期でSpringが定番だった頃のジュニアバックエンド開発者でした。Kotlinが登場してAndroidがKotlinを導入するかどうか、Springでも広く使われるようになるかを当時チームメンバーと議論していたことを覚えています。 その後、意図せず(?)Flutter開発者に転向して働いていたところ、今回良い機会に恵まれ、運良く再びSpringバックエンド開発者として転職し、オンボーディングを始めようとしていた矢先に、このような素晴らしい講座を見つけました。 Kotlinを活用したSpringプロジェクトを扱うので感慨深く、Java Springと比較するとコード的にもはるかに簡潔で、DX的にもかなり興味深い部分が多いですね。 講座は継続的に視聴していますが、ジュニアサーバー開発者として働いていた当時、なぜこのような実装を思いつかなかったのかという反省と気づきの連続である講座だと思います。まるで優秀なリード開発者が隣で親切に教えてくれながら進めている感じです。しかもKafka、Redisなどを総合的に扱い、適用する講座は本当に珍しいと思います。 Springに関する理論を身につけた状態でバックエンドへの転職を控えているか準備中のジュニア開発者、長年Javaを使っていてKotlin導入を計画している開発者、または私のように他分野の開発者として勤務していて再び転向を計画中で、現在Springがどこまで進化しているのか把握したい開発者にとって、非常に素晴らしい講座だと思います。最後の講座までしっかり視聴して、成功的なオンボーディングを果たします(笑)ありがとうございます! +学習者の皆さんにお伝えしたいのは、実務・実践中心の講座なので、AOP、IoCなどの基本的な概念は講座の途中で出てくるキーワードをキャッチして別途勉強し、再度視聴すれば必ず講師の開発意図を把握できると思います。すべてを手取り足取り教えてもらって成長する開発者は、現場では実際非常に稀です。説教臭い(?)かもしれませんが、開発職種は温室育ちのような職種では決してありませんから!

5.0

미래 1인 개발자

30% 受講後に作成

講義の準備において、少しでもお役に立てたか分かりませんが… 講義をされる方の質問にいくつか答え、交流させていただいた、Tossに勤務している開発者です。 講義を撮るとおっしゃっていましたが… 本当に公開されたんですね😆😆😆 面白いテーマだと思います。 おかげで良い経験もできました。講義を受ける皆様にとって、多くの助けとなることを願っています。!

5.0

armyso9506

30% 受講後に作成

まだ受講中ですが、想像以上に学ぶ点の多い講義だと思います。 KafkaやMongo関連で始めましたが、共通項目を多く捉えながら、様々なプロジェクトで活用できる部分を多く説明してくれるので良いと思います。 共通方式で抜き出す部分や、インターフェース化による拡張性まで考慮されており、Kotlin入門だけでなく、ジュニア開発者も皆受講すべきだと思います!! まだ少ししか視聴できていませんが、今までは非常に満足のいく講義です。講師の方、このような講義をオープンしていただきありがとうございます。(__)

受講後に得られること

  • コトリン

  • MySQL

  • MongoDB

  • OAuth2

  • カフカ

  • Redis

  • コンカレンシー・コントロール

銀行サーバープロジェクトの実践を通して学ぶコトリン

単にコートリン文法を学ぶことを超えて、銀行サーバーに対してサンプルプロジェクトを一緒に作成し、実務経験を積む準備ができましたか?


この講義では、コトリンの簡潔で表現力の高い文法で効率的なコード作成法を習得し、SpringのAOP限界超えるコトリンだけの解決策を発見し、スケーラブルなログ処理方法を学習します。


金融ドメインで発生する問題は多様で複雑ですが、すべての内容を一つの講義に入れることはできませんが、金融ドメイン進出を希望したりコートリンを深化学習したい方に実務で本当に悩み、向き合う問題を一緒に解決していく機会を提供します。

理論だけで終わらず、実際のサービスにすぐに適用可能な技術を皆さんのものにしてみてください。

Kotlin なぜ学ばなければならない..?

Springと100%の混同になると言います。

📚簡潔で直感的な文法


Kotlinは簡潔で直感的な文法を提供するため、開発者はより少ないコードでより多くの作業を行うことができます。

📚高い生産性と安全性


Kotlinはヌルの安定性をネイティブにサポートし、ヌルポインタ例外(NullPointerException)を減らすことができます。

📚高い互換性


Kotlinは100%Javaと互換性があるため、既存のJavaプロジェクトに簡単に統合できます。これは、Java開発者がKotlinを学ぶのに大きな障壁がなく、既存のコードを維持しながら新しいKotlin機能を使用できることを意味します。

講義を聞いたら、このような結果を作ることができます。

コトリン文法を利用したAPIの設定

関数型プログラミングを使用するコトリンでは、文法をどのように書くのでしょうか?

Spring AOPを克服するためのコトリンの使い方

KotlinはSpringを完全にサポートしていますが、SpringでのAOPの制限は明らかに存在します。

Kotlinでは、これらの制限を克服する方法を学びます。

並行処理のためのロック管理

さまざまなインスタンスがある環境では、クラスタ間で並行処理を行うための作業が必要です。

Redis、MySQL、MongoDBを利用したサーバー構成

サーバーを構成するには、単純なDBだけが存在するわけではありません。

OAuth2認証処理によるAPIセキュリティ

セキュリティは、サーバー構成にとって最も重要な要因です。

このレッスンでは、callBack処理を通じてスケーラブルなAuth処理について説明します。

Kafkaを活用したメッセージキューの実装

MSAアーキテクチャ、大きなドメインサービスなら、Kafkaは選択ではなく必須です。

実際のKafka活用ガイドを一緒に提供します。

講義で扱う技術スタック

MySQL

関連するデータを扱うために、リレーショナルデータベースであるMySQLが使用されます。

JPAを構成し、Entityを作成し、データ間の関連付けを指定するコード方式によって、サービス開発に柔軟な構造をもたらすことになります。

MongoDB

PolyGroat Persistance戦略を導入し、着信トラフィックの種類に応じて履歴データを管理するためのデータベースとして活用します。

これらの概念を学び、考慮することが何であるかについて取り上げています。

Redis, Redisson

キャッシュツールを導入し、データベースに対するCPU最適化およびキャッシュ処理として活用されており、さらに同時性制御用のLockを導入して適用しています。

Kafka

メッセージベースのアーキテクチャを実装することになります。ProducerとConsumerを構成し、一緒にプロジェクトを構成していくことができ、Consumerの拡張性のためのコード実装についても扱うことになります。

Spring Security

Spring Securityを活用してToken検証を進行し、これを通じてリクエストに対するフィルタリングを先制的に適用することになります。このような構造を通じてリソース効率性を確保する方式としてサーバーを構成することになります。

JWT

OAuth2認証後、該当データを基盤としてJWTトークンを管理する方法について扱います。その後、JWTを検証する過程をSpring Securityと連動して、許可されたユーザーに対するリクエストのみを処理する方法について扱います。

大切にしている4つの価値観

1. 講義は人間的でなければならない。

専門性が劣って見えるかもしれませんが、見せやすい講義は講義ではないと思います。デバッグを進める時間もまた講義の一部です。

2. 実務に特化すべきである

開発は口で言うものではありません。実際に実装してみて、動作する過程を一緒に体験していただけます。

  • 企画者の皆さん...助けてください..

3. 受講生の皆さんの役に立つものでなければならない。

私が実務で適用して効果を得た概念を盛り込もうと思いました。この過程を通じて実務を間接的に体験していただいたり、実務者であれば実務環境でより優れたパフォーマンスを発揮していただけます。

4. 講義が終わりではない。

講義を進められる際には、質疑応答をたくさん残していただければと思います。この講義は私一人だけの知識によって作られたものではありません。様々な大企業の開発者の方々のご意見も集約されています。

  • 講義完成にご協力いただいた方々の簡単な経歴は以下の通りです。


private val supported_one = "カカオペイ プラットフォーム バックエンド開発者"

private val supported_two = "トス証券 APIサーバー開発者"

private val supported_three = "秘密にしてほしいというユニコーンスタートアップ サーバー開発者"

講義構成図

セクション2

実務を経験しながら扱ったmodel管理について簡潔に扱っています。

googleの設計パターンを基盤として、どのような観点でtypeを扱うのがベストなのかについての個人的な見解が含まれています。

セクション3

OAuth2について拡張性のあるコードを実装するためのコード作業を進めることになります。

OAuth2はプラットフォームの特徴に応じて継続的に追加される可能性がある機能です。この機能をインターフェース処理を通じてどのように拡張性のあるコードを実装できるかをお教えします。

セクション4

この節ではKotlinを使用してSpringでのAOPの欠点を克服する方法について学習します。

Spring AOPは皆さんが知らないうちに多く適用されて使用されている概念です。関係型DBに対するデータ永続性保証に使用されることもあり、追加的にPointCutを活用したログ処理でも活用されています。

しかし、いくつかの欠点も存在する残念な友達です。このセクションでは、SpringのAOPをKotlinでより柔軟に使用する方法について扱っています。

セクション 5

OAuth2に関する機能実装とAOPまで適用を完了したAPIを作業することになります。

この過程を通じて、皆さんが私と一緒に初めて実装し作成したコードが正しく動作するかを確認し、この過程を通じてデバッグする時間も一緒に持つことになります。

セクション 6

B2CおよびB2Bに適した機能作業のためのコード作業が進行されます。

入ってくるトラフィックに応じて特定のService Logicを実行しながら、どのように機能を実装するかについて一緒に実装していきます。

@Service, @RestControllerなどを使用してビジネスロジックを一緒に作成することになります。

セクション7

Redisは実務において非常に重要な要素です。同時性を制御するために使用することも可能で、データに対するキャッシュ処理を通じてDBに対するCPU最適化のために使用されます。

このセクションではRedisRedissonを活用できる様々なメソッドを作業することになります。

セクション8

本格的に先ほど作成したRedis関連メソッドを活用して、同時性制御に関するロジックを作成することになります。

同時多発的に入ってくるトラフィックを順次処理するためのDistributed Lockを一緒に作成していきながら、データ永続性保証のためのロジックを一緒に作成する時間になる予定です。

セクション9、10

この時間にはKafkaについて直接コードを実装していただきます。KafkaのProducerを活用してAPI上で発生するイベント変化を処理し、サービス間の疎結合とポリグロットパーシステンス戦略を活用するコードとして活用していただきます。


MongoDBに関するコードを実装し、それに応じたサービスロジックを実装することになります。また、メモリ活用を通じてDBの使用量を削減するロジックについて実装し、扱うことになります。

セクション 11

Spring Securityを活用してAPIに入ってくるリクエストを事前に処理するロジックを担当することになります。

この過程で管理すべきポイントが増えるという短所がありますが、それに伴って追加的なリソースを最適化できる長所について一緒に実装します。

セクション12、13

新しいモジュールを生成してKafkaのProducerを処理し、MongoDBRedisと通信するロジックを実装することになり、それに応じてトラフィックタイプに適したデータを生成する過程を扱うことになります。この時間を通して皆さんは疎結合とは何か、メッセージ処理方式とは何かについて学習することになります。

受講前の注意事項

練習環境

  • Macos M3を使って撮影しました。

  • Dockerをデフォルトで使用します。

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

  • JetBrainシリーズのIDEを使用します。

  • Gradleを使用してビルドします。

  • インフラについては扱いません。

一緒に見ればいい講義!

タイムカプセルプロジェクトの実践を通して学ぶコトリンマスタークラス

  • JetBrainsの最大のオープンソースであるKtorを通じてWebサービスを構築するKotlinマスタークラス講義です。この講義を通じて、Kotlinの基本的な文法と本番暗号化方式について学習します。

定石に近い基本に忠実なコルーチンマスタークラス

  • コルーチン公式文書に基づいて作成は大企業の開発者のコ​​ルーチンマスタークラス!さまざまな例に基づいて、実務開発者の意見が入った講義にすぐに会いましょう!

こんな方に
おすすめです

学習対象は
誰でしょう?

  • コトリンが初めての方

  • プログラミングについて学習したい方

  • 並行性制御が気になる方

  • APIサーバーに関してご興味をお持ちの方

  • 実務で使うツールが気になる方

こんにちは
Hongです。

6,370

受講生

416

受講レビュー

128

回答

4.7

講座評価

23

講座

自己紹介

家でだらだら過ごしていたところ、開発に興味を持ち始めて勉強をスタートし、現在は板橋(パンギョ)でプラットフォームサーバーの開発を担当しています。私自身が勉強してきた方法や、実務で直面しうる様々な問題点とその解決策を皆さんに提供したいと考え、知識共有者としての活動を続けています。

 

講義は私一人の知識だけで作られるものではありません。すべての講義には、共に作り上げてくださる方々がいます。

 

知識共有者の経歴

[前] サンドボックスIP関連のブロックチェーン開発者

[前] メタバースバックエンド開発者

[] 板橋(パンギョ)でベテランになりつつあるサーバー開発者

 

インタビュー履歴

その他のお問い合わせ

  • unduck2022@gmail.com

もっと見る

カリキュラム

全体

50件 ∙ (9時間 2分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

31件

4.8

31件の受講レビュー

  • cchoii님의 프로필 이미지
    cchoii

    受講レビュー 12

    平均評価 5.0

    5

    30% 受講後に作成

    カカオでサーバー開発をしているチェと申します。 突然、講義を撮影するからと私にアドバイスを求めてきて、あれやこれやといくつか手助けをしたのですが、こうして本当に講義が公開されるとは、何だか不思議な気分です 😊😊 私がお伝えした内容を最大限に盛り込んでいる部分が見受けられ、また新たな気持ちです。 この講義を通して、皆様もKotlinの魅力にハマっていただけたら嬉しいです。

    • jhong
      知識共有者

      😆😆😆 いつも追いかけ回してご迷惑をおかけして申し訳ありません。おかげさまで良い講義を準備することができました。いつも感謝しております!❤️

  • tttos님의 프로필 이미지
    tttos

    受講レビュー 8

    平均評価 5.0

    5

    30% 受講後に作成

    講義の準備において、少しでもお役に立てたか分かりませんが… 講義をされる方の質問にいくつか答え、交流させていただいた、Tossに勤務している開発者です。 講義を撮るとおっしゃっていましたが… 本当に公開されたんですね😆😆😆 面白いテーマだと思います。 おかげで良い経験もできました。講義を受ける皆様にとって、多くの助けとなることを願っています。!

    • jhong
      知識共有者

      こうしてまたお越しいただきありがとうございます!!たくさん学びましたし、学んだことを他の皆さんにも分かち合いたくて準備してみました😊😊 いつもありがとうございます!!またお伺いしてご迷惑をおかけしますね😆😆😆 たくさんのご関心をお願いします!

  • de님의 프로필 이미지
    de

    受講レビュー 10

    平均評価 5.0

    5

    60% 受講後に作成

    おかげで楽に勉強できました。ありがとうございます。

    • jhong
      知識共有者

      良い評価をいただきありがとうございます。この講義を通してKotlinの魅力をもっと感じていただけたら嬉しいです!

  • dfdssdsd님의 프로필 이미지
    dfdssdsd

    受講レビュー 24

    平均評価 5.0

    5

    30% 受講後に作成

    GOATそのもの。個人的にInflearnにあるKotlinの講座の中でトップだと思います。

    • jhong
      知識共有者

      soap様、良いレビューをいただきありがとうございます!! 今後、より良い講座でお会いできるよう努めます! ありがとうございます!

  • sdl1355126님의 프로필 이미지
    sdl1355126

    受講レビュー 14

    平均評価 5.0

    5

    30% 受講後に作成

    講義を全て聞いたわけではありませんが、この進捗度合いでもAOPの限界から事実上プロジェクトを構成する上でほとんどの機能を扱い学習できる良い講義だと思います。 簡単に考えて聞き始めましたが、聞けば聞くほどより多くの部分を学べる充実した講義だと感じますね。

    • jhong
      知識共有者

      Kenyさん、良い評価ありがとうございます! 今後、さらに充実した講座を追加でお届けします! 良い一日をお過ごしください!

Hongの他の講座

知識共有者の他の講座を見てみましょう!

似ている講座

同じ分野の他の講座を見てみましょう!

期間限定セール

¥82,500

24%

¥13,374