目次

クラウドミュージックプレイヤー, FTP, デザインパターン, フレームワーク

+
その他

Web, 音楽, PWA, アプリ, 音楽再生
Cloud Music Box - クラウドストレージからの音楽再生Webアプリ(PWA) | アプリケーション一覧
Cloud Music Box
Cloud Music Box

Cloud Music Boxは、クラウドストレージ(OneDrive, Google Drive)から音楽を再生、より音楽を感じ楽しむように設計されたPWA音楽プレイヤーです。

以下の特徴を持ちます。

  • PWAとして、多くのプラットフォーム(Windows, macOS, iOS, Android)上で同様のユーザ体験を実現
  • 一元管理されたクラウドストレージからの再生で、プレイヤーごとに音楽を同期する必要なし
  • オフラインでも、ダウンロード済みの音楽は再生可能
  • アプリがバックグラウンドにある場合でも、音楽の連続再生が可能(iOSのみ動作しないことがある)
  • 独自の非線形ビジュアライザを備え、プレイヤー全体が音楽に合わせてダイナミックに変化
CI-CD, GitHub-Actions, ダウンロード
rcloneを用いてFTPによるファイルのアップロードとダウンロードをGitHub Actions上で行う | CI-CD

本稿では、外部アクションに頼らずrcloneをもちいた外部サーバとのファイル転送方法を説明します。rcloneとは、FTPだけに限らず外部サーバに対してファイルのアップロードやダウンロード、削除や移動といったファイル操作を行えるCLIツールです。rcloneをGitHub Actionsで使うことにより、特殊な要求にも柔軟に対応できるようになります。

Cpp, 非同期処理, スレッドプール
C++ で, スレッドプールを実装する | C++

本稿では, スレッドプールの仕組みを理解して, C++を用いて, スレッドプールを自身で実装できることを目指します. 対応環境は, C++14 からを想定しています.

プロジェクト
nodec framework(プラットフォーム開発のためのフレームワーク) | Welcome!

nodecは、ゲームエンジンなどのプラットフォームを新しく作成するためのフレームワークです。

アプリ開発のためのプラットフォームは、これまでたくさんありました。たとえば、GUIアプリケーション作成のプラットフォームにはQt、ゲーム開発のためのプラットフォームにはUnityがあります。ですが、これらのプラットフォームは別々で開発されており、そのうえで動くアプリコードもまた、まったく違った様相をしています。

nodecフレームワークを利用することで、新しいプラットフォームを効率的に構築できます。nodecフレームワークは、異なるプラットフォーム間で共通に使える機能を提供します。また、アプリへのインターフェイスはあらかじめ定義されているので、設計の再利用が可能です。

アプリコードの実装も、nodecフレームワークで効率化することが可能です。プラットフォームの上に、機能を抽象化したレイヤー(modules)があり、アプリ層はこのレイヤーを通してプラットフォームの機能を利用します。プラットフォームが異なっても、アプリでの実装の仕方は同じです。

nodec
nodec framework(プラットフォーム開発のためのフレームワーク) | Welcome!

nodecは、ゲームエンジンなどのプラットフォームを新しく作成するためのフレームワークです。

アプリ開発のためのプラットフォームは、これまでたくさんありました。たとえば、GUIアプリケーション作成のプラットフォームにはQt、ゲーム開発のためのプラットフォームにはUnityがあります。ですが、これらのプラットフォームは別々で開発されており、そのうえで動くアプリコードもまた、まったく違った様相をしています。

nodecフレームワークを利用することで、新しいプラットフォームを効率的に構築できます。nodecフレームワークは、異なるプラットフォーム間で共通に使える機能を提供します。また、アプリへのインターフェイスはあらかじめ定義されているので、設計の再利用が可能です。

アプリコードの実装も、nodecフレームワークで効率化することが可能です。プラットフォームの上に、機能を抽象化したレイヤー(modules)があり、アプリ層はこのレイヤーを通してプラットフォームの機能を利用します。プラットフォームが異なっても、アプリでの実装の仕方は同じです。

「https://contentsviewer.work/Master/:tagmap/クラウドミュージックプレイヤー,FTP,デザインパターン,フレームワーク?layer=ja」から取得