トレーニング > ウェブアプリケーション > Developing Applications For Linux (LFD401)
インストラクター主導のコース

Developing Applications For Linux (LFD401)

Linux環境用のアプリケーションを開発する方法を学びます。このインストラクター主導のコースでは、Linuxアプリケーション開発に必要なツールと方法を実際に体験し、Linuxに固有の機能とテクニックについて学びます。

対象者

このコースは経験豊富な開発者向けです。受講生はCプログラミングに習熟し、基本的なLinuxユーティリティとテキスト エディタに精通している必要があります。
少なく読む 続きを読む
学習内容

このコースでは、Cプログラムを開発し、Linuxでシステムプログラミングを行うためのツールと方法、デバッグ手法、プロセス管理、Linux固有の有料およびシステムコールなどについて学習します。
少なく読む 続きを読む
身につく知識

このコースでは、Linux環境用のアプリケーションを開発する準備をします。
少なく読む 続きを読む
おもなテーマ
すべて展開
すべて折りたたむ
前書き
-目的
-あなたは誰ですか
-Linux Foundation
-LinuxFoundationトレーニング
-認証プログラムとデジタルバッジ
-Linuxディストリビューション
-プラットフォーム
-システムの準備
-仮想マシンの使用とダウンロード
-Linuxでは状況が変わります
予選
-手順
-規格とLSB
OSSプロジェクトでの作業方法**
-適切に貢献する方法の概要
-セキュリティと品質のためにメインラインの近くにとどまる
-プロジェクトのDNAを研究して理解する
-スクラッチしたいかゆみを把握する
-メンテナとそのワークフローおよび方法を特定する
-早期の入力を取得し、オープンで作業する
-大きなコードダンプではなく、インクリメンタルビットを提供する
-あなたの自我をドアに残してください:痩せてはいけません
-辛抱強く、長期的な関係を築き、助けになりましょう
コンパイラー
-GCC
-その他のコンパイラ
-主要なgccオプション
-プリプロセッサ
-統合開発環境(IDE)
-ラボ
図書館
-静的ライブラリ
-共有ライブラリ
-ライブラリへのリンク
-ダイナミックリンクローダー
-ラボ
作る
-makeとMakefilesの使用
-大規模なプロジェクトの構築
-より複雑なルール
-組み込みのルール
-ラボ
ソース管理
-ソース管理
-RCSとCVS
-Subversion
- ギット
-ラボ
デバッグとコアダンプ
--gdb
-コアダンプファイルとは何ですか?
-コアダンプの作成
-コアダンプの調査
-ラボ
デバッグツール
-時間を取得する
-プロファイリングとパフォーマンス
--valgrind
-ラボ
システムコール
-システムコールとライブラリ関数
-システムコールの作成方法
-戻り値とエラー番号
-ラボ
メモリ管理と割り当て
- メモリ管理
-動的割り当て
--malloc()のチューニング
-ページのロック
-ラボ
Linuxのファイルとファイルシステム**
-ファイル、ディレクトリ、デバイス
-仮想ファイルシステム
-ext2 / ext3ファイルシステム
-ジャーナリングファイルシステム
-ext4 /ファイルシステム
-ラボ
ファイルI / O
-UNIXファイルI / O
-開閉
-読む、書く、求める
-位置およびベクトルI / O
-標準I / Oライブラリ
-ラージファイルサポート(LFS)
-ラボ
高度なファイル操作
-統計関数
-ディレクトリ機能
--inotify
-メモリマッピング
--flock()およびfcntl()
-一時ファイルの作成
-その他のシステムコール
-ラボ
プロセス-I
-プロセスとは何ですか?
-プロセス制限
-プロセスグループ
-procファイルシステム
-プロセス間通信方法
-ラボ
プロセス-II
-system()を使用してプロセスを作成する
-fork()を使用してプロセスを作成する
-exec()を使用してプロセスを作成する
-clone()の使用
-終了
-コンストラクタとデストラクタ
- 待っている
-デーモンプロセス
-ラボ
パイプとFifo
-パイプとプロセス間通信
--popen()およびpclose()
--pipe()
-名前付きパイプ(FIFO)
--splice()、vmsplice()、tee()
-ラボ
非同期I / O **
-非同期I / Oとは何ですか?
-POSIX非同期I / O API
-Linuxの実装
-ラボ
シグナル-I
-シグナルとは何ですか?
-利用可能な信号
-信号のディスパッチ
-アラーム、一時停止、スリープ
-シグナルハンドラーの設定
-信号セット
--sigaction()
-ラボ
シグナル-II
-再入可能性とシグナルハンドラー
-ジャンプと非ローカルリターン
--siginfoおよびsigqueue()
-リアルタイム信号
-ラボ
POSIXスレッド-I
-Linuxでのマルチスレッド
-基本的なプログラム構造
-スレッドの作成と破棄
-シグナルとスレッド
-フォークとスレッディング
-ラボ
POSIXスレッド-II
-デッドロックと競合状態
-ミューテックスオペレーション
-セマフォ
-Futexes
-条件付き操作
-ラボ
ネットワーキングとソケット
-ネットワーク層
-ソケットとは何ですか?
-ストリームソケット
-データグラムソケット
-rawソケット
-バイト順序
-ラボ
ソケット-アドレスとホスト
-ソケットアドレス構造
-IPアドレスの変換
-ホスト情報
-ラボ
ソケット-ポートとプロトコル
-サービスポート情報
-プロトコル情報
-ラボ
ソケット-クライアント
-基本的なクライアントシーケンス
--socket()
- 接続()
--close()およびshutdown()
-UNIXクライアント
-インターネットクライアント
-ラボ
ソケット-サーバー
-基本的なサーバーシーケンス
- 練る()
- 聞く()
- 受け入れる()
-UNIXサーバー
-インターネットサーバー
-ラボ
ソケット-入出力操作
- 読み取り、書き込み()
--send()、recv()
--sendto()、recvfrom()
--sendmsg()、recvmsg()
- ファイルを送信()
--socketpair()
-ラボ
ソケット-オプション
-ソケットオプションの取得と設定
--fcntl()
--ioctl()
--getsockopt()およびsetsockopt()
-ラボ
Netlinkソケット**
-netlinkソケットとは何ですか?
-ネットリンクソケットを開く
--netlinkメッセージ
-ラボ
ソケット-多重化および並行サーバー
-多重化および非同期ソケットI / O
- 選択する()
--poll()
--pselect()およびppoll()
--epoll
-信号駆動および非同期I / O
-並行サーバー
-ラボ
プロセス間通信
-IPCの方法
-POSIX IPC
-System V IPC **
-ラボ
共有メモリ
-共有メモリとは何ですか?
-POSIX共有メモリ
-SystemV共有メモリ**
-ラボ
セマフォ
-セマフォとは何ですか?
-POSIXセマフォ
-SystemVセマフォ**
-ラボ
メッセージキュー
-メッセージキューとは何ですか?
-POSIXメッセージキュー
-SystemVメッセージキュー**
-ラボ
Closing and Evaluation Survey
-評価調査

**これらのセクションは、一部または全体をオプションと見なすことができます。これらには、背景の参考資料、専門的なトピック、または高度な主題が含まれています。インストラクターは、教室での経験と時間の制約に応じて、それらをカバーするかしないかを選択できます。
前提条件
このコースは経験豊富な開発者向けです。受講生はCプログラミングに習熟し、基本的なLinuxユーティリティとテキスト エディタに精通している必要があります。