
Memorize and finish the core network theory - Basics
nullnull8537
From TCP/IP to HTTP! This lecture is for those who lack basic network theory and want to understand major theories by memorizing them. You can do it!
Beginner
Network, Protocol
java.ioを起点に、NIOおよびNIO.2をベースとした高性能な入出力システムを開発できるようになります。何よりも、ファイルの入出力をマスターする瞬間、高性能サーバー開発までおまけで習得できるようにします!
Javaを使ってファイル入出力ができます。
java.ioを超えて、NIO(New I/O)、AIO(Asynchronous I/O)ベースの高性能システム開発方法を学べます。
AIOベース 高性能 TCP/IPサーバーシステム を開発できます。
高性能AIO非同期ファイルの入出力とソケットの本質について確実に学ぶことができます。
開発者の競争力は唯一のスキルです。この講義で確実に差別化された競争力を確保しましょう!
ファイルシステム自体について、オペレーティングシステムのクラスで扱う内容を詳しく学びます。これに基づいて、非ブロック化I / Oと非同期入出力について正確に理解できます。
従来のjava.ioベースのファイル入出力を超えて、NIO(New I/O)を利用した入出力方法を学びます。これにより、将来の高性能サーバー開発のために必ず知っておくべき重要な理論の理解を最大化することができます。
高性能サーバーを開発するには、最適化された方法を使用するだけでなく、オペレーティングシステムが提供するリソースを利用できる必要があります。これを上にJavaはAIO(Asynchronous I/O)を提供しており、本授業により確実な使い方と動作原理を理解できます。
NIOとAIOを適用して、高性能チャットサーバーをどのように開発できるかを説明します。また、関連するネットワーク理論を一緒に学ぶことで、単純な活用ではなく原理の理解に基づいてコードを書くことができます。
高性能システムが動作する
原理を正しく知りたい
現職開発者
差別化された競争を備えて
バックエンド開発者として
就職したい就職準備生
たくさん書く言語だから
学んだが本質をよく知らない
1~2年目ジュニア開発者
ひどく始まるJavaシリーズは合計4つのPartから成ります。
別途1,2講義は、Springバックエンド開発者として成長するために一緒に聞くと良い講義です🙂
Part 1: 基本的な文法、手続き型プログラミング
パート2:オブジェクト指向プログラミング+データ構造
Part 3: システム活用プログラムの作成
パート4:Spring Frameworkに進むための準備
別途1:Webインフラストラクチャ技術の理解とDB
別途 2: SQL 拡張
パート3には、マルチスレッドプログラミングと同期技術、CAS(Compare And Swap、Set)、ロックフリー構造、ファイル入出力、ソケットプログラミングなどの高度な開発者になるために知っておくべきことが多数含まれています。扱う内容が多すぎて、上、下編で区分されており、 上部では、Java Memory ModelとJVMの理解に基づいてマルチスレッドベースのプログラミング手法を深く扱っています。
高性能システム開発のためにjava.io を超えて NIO と AIO について学習し、これらの理論に基づいて高性能サーバーシステムをどのように開発できるか理解できます。
ファイルシステムに関する重要な概念を明確に理解することができます。
従来のファイル入出力技術はもちろん、NIO(New I / O)ベースの高性能入出力技術を理解して活用できます。
入出力効率を最大化するために、オペレーティングシステムレベルのサポートを受けることができるAIO(Asynchronous I/O)を活用できます。
ソケットの本質を理解し、高性能TCP / IPサーバーシステムを開発することができます。
ファイルの入出力を学習する前に、ファイル処理に関するオペレーティングシステムレベルの動作構造を学ぶことができます。
Buffered I/O と Non-buffered I/O の内部的な違いを理解し、パフォーマンスの違いが発生する根本的な理由を理解できます。
Java.ioベースの入出力を超えた高性能入出力システムを理解するための理論を確立します。
従来のファイル入出力システムを超えて、非同期ファイル入出力により高性能を確保する方法を学ぶことができます。
I/O 多重化ベースの入出力技術を理解し、本番で活用できるようサポートします。
AIO(Asynchronous I/O)を活用して、C/C++ ベースのアプリケーションのパフォーマンスに匹敵する高性能システムを開発できます。
最初のEchoサービスをはじめ、段階的に機能を改善し、最終的にはAIOベースの高性能チャットサーバーシステムに発展させます。
ソケットプログラミングに関しては、必ず知っておくべき必須ネットワーク理論について学習することで、単純な暗記ではなく理解できるように助けます。
適切な練習を進めるために、ルーターが使用される一般的な仮定と単一のホストベースの環境の特殊性と違いについて理解し、実践に取り組んでいます。
すべての授業内容はPPT資料に基づいていますが、まるでホワイトボードに板書をするかのように説明が続きます。
これにより、受講者は完成した1つの結果だけを見るのではなく、構造が誕生した背景と理由全体の流れを総合的に理解することができます。
本格的なJavaプログラミングを学ぶ前に、この授業が就職を目指していることを明確に伝えます。そして
講師の長年の経験を踏まえ、明確な学習ロードマップと所要時間を提示します。
間違った選択で時間を無駄にすることがないように、最初から適切な学習配分とスケジュールを確立するように誘導します。
オペレーティングシステムとバージョン(OS): Windows 11
使用ツール: IntelliJ IDEA 2024.2.3 (Community Edition)
PC仕様:Windows 11 OSとIntelliJが無理なく動作できるレベル
授業に使用されたPPT資料(PDFファイルで提供)
完全な例と必須の練習問題正解(Zip圧縮ファイルとして提供)
「基礎タンタン」ひどく始まるJava Part 1~3(上)
(※基本的な文法やOOPはもちろんマルチスレッドと同期について知っていると仮定)
学習対象は
誰でしょう?
Javaベースの高性能バックエンドシステムを開発したい方
ソケットの本質を理解し、実務ですぐに使える高性能サーバーを開発したい方
同期/非同期ファイル入出力の意味をしっかり理解し、初級レベルを確実に超えたい方
前提知識、
必要でしょうか?
「本気で始める Java Part2~3(상)」の講義で扱っている内容を理解している方
37,006
受講生
2,151
受講レビュー
1,098
回答
4.9
講座評価
24
講座
全体
45件 ∙ (9時間 15分)
講座資料(こうぎしりょう):
5. HDDの論理的構造とPath
22:11
6. ファイル、二次記憶の使い方
12:30
8. ノンブロッキング 概念
15:50
9. デバイスファイルに関する理解
15:02
35. 超簡単 エコサービス
08:19
36. TCP エコーサーバー
10:20
37. TCP エコー クライアント
11:10
39. チャットサーバーへの拡張
10:35
40. チャットクライアント開発
08:13
全体
11件
5.0
11件の受講レビュー
受講レビュー 28
∙
平均評価 4.9
5
The only lecture to study Java + CS theory together
Thank you for the first course review. When I launch a new course, I feel like I truly thirst for the first review. Moreover, seeing that you reviewed it favorably has put my mind at ease. :)
受講レビュー 7
∙
平均評価 5.0
5
I thought file I/O wasn't very important since I rarely dealt with it, but I came to realize how crucial it is from the perspective that sockets are also files. Additionally, it was refreshing to learn how servers can be optimized using multithreading and non-blocking asynchronous methods that were covered earlier in the class. It was such a great lecture!
File input/output contains numerous important concepts where CS theory is concentrated. You've probably already felt this, but I want to emphasize its importance once again. I also want to make sure to tell you that just having this awareness is already a great achievement. It seems like you now have a broader perspective, which makes me happy as an instructor. :)
受講レビュー 9
∙
平均評価 5.0
受講レビュー 14
∙
平均評価 5.0
受講レビュー 95
∙
平均評価 5.0
5
(25/08/02/Sat 13:30) After listening to your lecture, the content about synchronization / abnormal error considerations (LAN cable disconnection) / context corruption really resonates with me. I'm always getting a lot of help from all your lectures. Thank you for creating such great lectures.
Since you already know about networks and sockets, I think it would be sufficient to just consider how things differ in the Java environment. Thank you as always. :)
¥7,865
知識共有者の他の講座を見てみましょう!
同じ分野の他の講座を見てみましょう!