目次

メモリ管理, PWA, UTF-16, QRコード

+
もしかして...
その他

編集中, スマートポインタ
基本から理解するC++スマートポインタ

本来手動でメモリ管理しなければならない動的なオブジェクトを、スコープによって自動でメモリ管理するもの。

C++
基本から理解するC++スマートポインタ

本来手動でメモリ管理しなければならない動的なオブジェクトを、スコープによって自動でメモリ管理するもの。

C++で学ぶUnicodeの基本とUTF-8, UTF-16, UTF-32の相互変換アルゴリズム | プログラミング

広く使われているUnicode規格を理解し, エンコーディングの手法, UTF-8, UTF-16, UTF-32, を理解して, 多言語の文字コードを扱えるようになることを目指します. 具体的に, UTF-8, UTF-16, UTF-32間の変換方法をC++で実装し, 手法はできるだけ速い方法を用います.

C++でUnicode文字列(UTF-8, UTF-16, UTF-32)を扱うライブラリ | C++ライブラリ

本稿では, C++でバージョンに左右されずに文字を扱うために, 以下の機能を持つライブラリを紹介します.

  • 型依存しないUTF-8, UTF-16, UTF-32間の相互変換
  • UTF-8, UTF-16文字(コードポイント)ごとのイテレート
  • 標準イテレータを使ったイテレート
  • 型依存しないイテレータの対応
OS, メモリ, C言語
メモリ管理 | 仕組み

OSはタスクごとにメモリを動的に割り当てる必要があります(タスクが保有するメモリに関することはのちに説明します). というのも, これらのタスクはアプリケーション実行中に生成, 削除される可能性があるからです.

今回では, このメモリ管理をOSが行うことにします. OSがメモリ管理を行うことで, OS動作の理解がしやすくなるからです.

このページでは, OSによるメモリ管理をどのように実装するのか説明します.

メモリの構造 | タスク管理

ここでは, 実際にタスクが作成されたときのメモリの構造を示していきたいと思います. メモリでの各領域の説明, この構造によるmallocの問題を示します.

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

Cloud Music Boxは、クラウドストレージ(現在はOneDriveのみ)から音楽を再生するPWA音楽プレイヤーです。

以下の特徴を持ちます。

  • PWAとして、多くのプラットフォーム(Windows, macOS, iOS, Android)上で同様のユーザ体験を実現します。
  • 一元管理されたクラウドストレージからの再生で、プレイヤーごとに音楽を同期する必要がありません。
  • オフラインでも、ダウンロード済みの音楽は再生可能です。
  • アプリがバックグラウンドにある場合でも、音楽の連続再生が可能です(iOSのみ動作しないことがある)。
  • 音楽に合わせて、動的にアプリのスタイルやアニメーションが変化します。
Web, アプリ
Cloud Music Box - クラウドストレージからの音楽再生Webアプリ(PWA) | アプリケーション一覧
Cloud Music Box
Cloud Music Box

Cloud Music Boxは、クラウドストレージ(現在はOneDriveのみ)から音楽を再生するPWA音楽プレイヤーです。

以下の特徴を持ちます。

  • PWAとして、多くのプラットフォーム(Windows, macOS, iOS, Android)上で同様のユーザ体験を実現します。
  • 一元管理されたクラウドストレージからの再生で、プレイヤーごとに音楽を同期する必要がありません。
  • オフラインでも、ダウンロード済みの音楽は再生可能です。
  • アプリがバックグラウンドにある場合でも、音楽の連続再生が可能です(iOSのみ動作しないことがある)。
  • 音楽に合わせて、動的にアプリのスタイルやアニメーションが変化します。
QR-Universal Scanner: ブラウザで動作するQRコード読み取りウェブアプリ | Webツール

QR-Universal Scanner は, ブラウザ上で動作する, インストール不要多くの入力方法(カメラとクリップボード)に対応したQRコード[注 1]読み取りWebアプリです. PWAに対応しておりオフラインでも動作します.

QRコードを標準で読み取れるデバイスがありますが, 主にモバイル端末に多く[1][2], PC上でQRコードを読み込むためにはアプリをインストールする必要があります[3][4][5][6][7].

インストール不要のQRコード読み取りアプリもあります[8][9][10][11][12]が, ファイルのみ, もしくはカメラのみからの読み込みであったりと, 入力方法が限定されています.

本稿では, インストール不要で多くの入力方法に対応したQRコード読み取りWebアプリ QR-Universal Scanner を紹介します. PWAに対応しており, オフラインでも動作します.

ウェブアプリ, ツール
QR-Universal Scanner: ブラウザで動作するQRコード読み取りウェブアプリ | Webツール

QR-Universal Scanner は, ブラウザ上で動作する, インストール不要多くの入力方法(カメラとクリップボード)に対応したQRコード[注 1]読み取りWebアプリです. PWAに対応しておりオフラインでも動作します.

QRコードを標準で読み取れるデバイスがありますが, 主にモバイル端末に多く[1][2], PC上でQRコードを読み込むためにはアプリをインストールする必要があります[3][4][5][6][7].

インストール不要のQRコード読み取りアプリもあります[8][9][10][11][12]が, ファイルのみ, もしくはカメラのみからの読み込みであったりと, 入力方法が限定されています.

本稿では, インストール不要で多くの入力方法に対応したQRコード読み取りWebアプリ QR-Universal Scanner を紹介します. PWAに対応しており, オフラインでも動作します.

Unicode, UTF-8, UTF-32, Cpp
C++で学ぶUnicodeの基本とUTF-8, UTF-16, UTF-32の相互変換アルゴリズム | プログラミング

広く使われているUnicode規格を理解し, エンコーディングの手法, UTF-8, UTF-16, UTF-32, を理解して, 多言語の文字コードを扱えるようになることを目指します. 具体的に, UTF-8, UTF-16, UTF-32間の変換方法をC++で実装し, 手法はできるだけ速い方法を用います.

C++でUnicode文字列(UTF-8, UTF-16, UTF-32)を扱うライブラリ | C++ライブラリ

本稿では, C++でバージョンに左右されずに文字を扱うために, 以下の機能を持つライブラリを紹介します.

  • 型依存しないUTF-8, UTF-16, UTF-32間の相互変換
  • UTF-8, UTF-16文字(コードポイント)ごとのイテレート
  • 標準イテレータを使ったイテレート
  • 型依存しないイテレータの対応
アルゴリズム, プログラミング
C++で学ぶUnicodeの基本とUTF-8, UTF-16, UTF-32の相互変換アルゴリズム | プログラミング

広く使われているUnicode規格を理解し, エンコーディングの手法, UTF-8, UTF-16, UTF-32, を理解して, 多言語の文字コードを扱えるようになることを目指します. 具体的に, UTF-8, UTF-16, UTF-32間の変換方法をC++で実装し, 手法はできるだけ速い方法を用います.

ライブラリ
C++でUnicode文字列(UTF-8, UTF-16, UTF-32)を扱うライブラリ | C++ライブラリ

本稿では, C++でバージョンに左右されずに文字を扱うために, 以下の機能を持つライブラリを紹介します.

  • 型依存しないUTF-8, UTF-16, UTF-32間の相互変換
  • UTF-8, UTF-16文字(コードポイント)ごとのイテレート
  • 標準イテレータを使ったイテレート
  • 型依存しないイテレータの対応
PHPでC#のような処理時間計測ライブラリ | PHPライブラリ

C#には, 処理時間計測をするのにStopwatchクラスがあります[1]. PHPでもC#のような処理時間計測を実現するためのライブラリを実装しました.

作りは単純で, ソースもそれほど難しくはありません. 厳密な計測を想定していませんが, 簡単に計測を行いたい方などに最適です.

iOS, ショートカット, ファイル共有
ショートカットでアップル製品以外のデバイスと一時的にファイル共有 | iPhone

Apple製品同士でのファイル共有に便利な機能にAirDropがあります. 初めてあった人と, ファイルを共有したい時などに非常に便利な機能です.

ですが, Apple製品以外(例えば, Windows, Androidなど)とファイルを共有したい場合は, AirDropを利用できず, SNSやクラウドサービスを通じて, ファイルを共有する必要があり, 手間がかかります. SNSの場合では, お互いが同じSNSアプリを利用して, 共有のためだけにお互いのアカウントを教えあわないといけません. クラウドサービスの場合, ファイルをクラウドに上げ, 共有リンクを設定し, そのURL(たいてい長く, 複雑)を伝えないといけません.

本稿では, iosのショートカット機能を用いて, 即時に共有したいファイルをクラウドに上げ, 共有リンクを設定し, そのリンクのQRコードを表示するショートカットを紹介します. 相手にQRコードを読み込んでもらうだけで, 簡単にファイルを共有することができます. またアップロードされたファイルは簡単に削除でき, 容量の少ない無料のクラウドストレージを圧迫せず, 共有リンクが残り続けることがありません.

ファイル共有リンクを表すQR Code が表示される
ファイル共有リンクを表すQR Code が表示される
Stack
メモリの構造 | タスク管理

ここでは, 実際にタスクが作成されたときのメモリの構造を示していきたいと思います. メモリでの各領域の説明, この構造によるmallocの問題を示します.

PHP, ダウンロード, C#
PHPでC#のような処理時間計測ライブラリ | PHPライブラリ

C#には, 処理時間計測をするのにStopwatchクラスがあります[1]. PHPでもC#のような処理時間計測を実現するためのライブラリを実装しました.

作りは単純で, ソースもそれほど難しくはありません. 厳密な計測を想定していませんが, 簡単に計測を行いたい方などに最適です.

「https://contentsviewer.work/Master/:tagmap/メモリ管理,PWA,UTF-16,QRコード?layer=ja」から取得