クラウドミュージックプレイヤー, スレッドプール, 軽量マークアップ言語, Queue
その他

Cloud Music Boxは、クラウドストレージ(OneDrive, Google Drive)から音楽を再生、より音楽を感じ楽しむように設計されたPWA音楽プレイヤーです。
以下の特徴を持ちます。
- PWAとして、多くのプラットフォーム(
Windows,macOS,iOS,Android)上で同様のユーザ体験を実現 - 一元管理されたクラウドストレージからの再生で、プレイヤーごとに音楽を同期する必要なし
- オフラインでも、ダウンロード済みの音楽は再生可能
- アプリがバックグラウンドにある場合でも、音楽の連続再生が可能(iOSのみ動作しないことがある)
- 独自の非線形ビジュアライザを備え、プレイヤー全体が音楽に合わせてダイナミックに変化
本稿では, スレッドプールの仕組みを理解して, C++を用いて, スレッドプールを自身で実装できることを目指します. 対応環境は, C++14 からを想定しています.
サイズ固定の待ち行列ライブラリを紹介します.
このQueueは, 以下の特徴を持ちます.
- std::queue が使用できない状況下での待ち行列の使用
- メモリを贅沢に使用しないサイズ固定待ち行列
- 例外処理に対応していない環境下での使用
本稿では, スレッドプールの仕組みを理解して, C++を用いて, スレッドプールを自身で実装できることを目指します. 対応環境は, C++14 からを想定しています.

OutlineTextは, プレーンテキストの段階で文章のアウトラインを分かりやすくするために開発された軽量マークアップ言語です. 他の軽量マークアップ言語(Markdown, AsciiDoc, ReStructuredText, …)と異なり, インデントは文章の階層構造を表します. このことで, 文章の階層構造が視覚的にわかりやすくなります.
OutlineTextの実行例をご覧になりたい時はこのウェブページを参照してください. このウェブページはすべてOutlineTextで書かれています. OutlineTextのプレーンテキストは, ウェブページ右下にあるこのページのソースコードを表示をクリックすることで, 確認できます.
すぐに試してみたい方は, 以下のページから
すぐに試す
ここでは, OutlineText の文法を示していきます. 基本的に Markdown と似せていますが, インデントに対する挙動が異なります. 見やすい文章を書くことを注意すれば, OutlineText は自然に解釈し構造化します.
ここでは, OutlineTextの特徴を示します.
OutlineTextの特徴は以下のとおりです.
- プレーンテキストでの見た目がそのままウェブページに反映
- 文章のアウトラインを見えやすく
- 見た目が分かりやすい文章は,読みやすく書きやすい
ここでは, OutlineText の文法を示していきます. 基本的に Markdown と似せていますが, インデントに対する挙動が異なります. 見やすい文章を書くことを注意すれば, OutlineText は自然に解釈し構造化します.
サイズ固定の待ち行列ライブラリを紹介します.
このQueueは, 以下の特徴を持ちます.
- std::queue が使用できない状況下での待ち行列の使用
- メモリを贅沢に使用しないサイズ固定待ち行列
- 例外処理に対応していない環境下での使用