<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0">
<channel>
	<title>つーさのくーかん</title>
	<link>https://blog.tu3.jp/</link>
	<language>ja</language>
	<description>あるプログラマの余暇の使い方 は、こんなんでいいんだろうか。</description>
	<copyright>Copyright 2025</copyright>
	<pubDate>Mon, 07 Oct 2024 13:48:27 GMT</pubDate>
	<lastBuildDate>Sun, 13 Jul 2025 16:41:39 GMT</lastBuildDate>
	<generator>https://adiary.org/#3.5</generator>
	<docs>http://blogs.law.harvard.edu/tech/rss</docs> 
	<item>
		<title>9月のカラオケ🎤まとめ</title>
		<link>https://blog.tu3.jp/01108#rss-tm1728308907</link>
		<guid>https://blog.tu3.jp/01108</guid>
		<category>ゲーム日記::JOYSOUND</category>
		<pubDate>Mon, 07 Oct 2024 13:18:07 GMT</pubDate>
		<author>つーさ</author>
		<description><![CDATA[<section>
たまには 月間グランプリ BEST10 詰めてみようの回を開催～<br>
<br>
<strong>10曲合計👉 996.776点 208位/46,837人　最終スクショ👇</strong> <br>
<figure><a href="https://blog.tu3.jp/files/tsuki/image/adiary/2024/20240926_015655~2.jpg" title="20240926_015655~2.jpg"><img alt="20240926_015655~2.jpg" src="https://blog.tu3.jp/files/tsuki/image/adiary/2024/.thumbnail/20240926_015655~2.jpg.jpg"></a></figure><br>
<br>
<strong>他の曲も含む全体履歴👉 <a href="https://jsgp.tu3.jp/#_2024%e5%b9%b409%e6%9c%88">JOYSOUND全国GP.xls#2024年09月のBESTでソート</a></strong><br>
<br>
過去ログから自己ベ高い順とかで入れて なかなか思うように行かず沼ってました……<br>
<p><a href="https://blog.tu3.jp/01108#">続きを読む</a></p>
</section>
]]></description>
	</item>
	<item>
		<title>8月のカラオケ🎤まとめ</title>
		<link>https://blog.tu3.jp/01107#rss-tm1728307406</link>
		<guid>https://blog.tu3.jp/01107</guid>
		<category>ゲーム日記::JOYSOUND</category>
		<pubDate>Tue, 03 Sep 2024 12:05:21 GMT</pubDate>
		<author>つーさ</author>
		<description><![CDATA[<section>
8月も終わるので振り返り(今日は8月34日な！)。<br>
<br>
<br>
<figure><a href="https://blog.tu3.jp/files/tsuki/image/adiary/2024/20240831_100909.jpg" title="20240831_100909.jpg"><img alt="20240831_100909.jpg" src="https://blog.tu3.jp/files/tsuki/image/adiary/2024/20240831_100909.jpg"></a></figure><br>
</section>
<section>
<h3><a href="https://blog.tu3.jp/01107#%e3%83%9e%e3%82%a4%e3%83%9e%e3%82%a4%e3%82%af%e5%b0%8e%e5%85%a5">マイマイク導入</a></h3>
<p><a href="https://blog.tu3.jp/01107#%e3%83%9e%e3%82%a4%e3%83%9e%e3%82%a4%e3%82%af%e5%b0%8e%e5%85%a5">続きを読む</a></p>
</section>
]]></description>
	</item>
	<item>
		<title>2024-08-07</title>
		<link>https://blog.tu3.jp/01106#rss-tm1723025978</link>
		<guid>https://blog.tu3.jp/01106</guid>
		<category></category>
		<pubDate>Wed, 07 Aug 2024 10:19:38 GMT</pubDate>
		<author>つーさ</author>
		<description><![CDATA[<section>
あぁ"ー<br>
</section>

]]></description>
	</item>
	<item>
		<title>田村ゆかりさんのライブツアー LOVE ♡ LIVE 2024 *Honey bunny* 7月21日は高崎芸術劇場にお邪魔してきました</title>
		<link>https://blog.tu3.jp/01105#rss-tm1721609034</link>
		<guid>https://blog.tu3.jp/01105</guid>
		<category></category>
		<pubDate>Sun, 21 Jul 2024 15:02:32 GMT</pubDate>
		<author>つーさ</author>
		<description><![CDATA[<section>
<blockquote><p lang="tl">I&#39;m at Takasaki City Theatre in Takasaki - <a href="https://t.co/WMj1ykwgNc">https://t.co/WMj1ykwgNc</a></p>&mdash; 🈷️つーさJUNGLE遭難🌳🌲🌿🌙🎤🎶 (@ttsuki) <a href="https://twitter.com/ttsuki/status/1814930788347224186?ref_src=twsrc%5Etfw">July 21, 2024</a></blockquote> <br>
<br>
というわけで ゆかり王国観光してきました(初訪問)<br>
<br>
ゆかりん単独のライブは初参加。元々、なのは15thリリカルライブで生歌拝聴したのが初、その際特有のPPPH「ゆーーかりんっ ハイっ」を目の当たりに「？！」して、ゆかりん現場どんなんなんだろうと興味をもってから、かれこれ5年？経ってしまいしましたが、最近？奈々クラがゆかりん現場に流れてる雰囲気を感じてて、、比較的近場でチケットが取れるんなら、と、思い立ったが金曜日にローチケで当日引換券を確保して、今回 初訪問を果たせました。<br>
<br>
噂になるほどの王国民のパワーそして一体感すごいですね。今回参加した高崎芸術劇場のキャパは2027席らしいですが、この規模の箱だとコールも煽りもアンコールも一発で揃って、一体感臨場感ひとしお。ほとんど予習もなしに凸ってしまいましたが、立って聴く曲(？)は、結構どの曲もサビに振り付けがあって振りコピしてる人も多く、口上も含めて予習していったら、もっとしっかり応援できて、より楽しめたのかなとかは思いました。(群馬の人ー？って問いかけには「少なっ」てリアクションされるくらい、地元からの方は少なめだったようなので、今回参加した現場は比較的練度が高かったのかもではあります<br>
<br>
ゆかりんはアイドルでしたね。今回セトリだと半分以上？の曲に、振り付けがあって、歌いながら踊っててすごいですね。当日券なので2階席遠目で表情まで伺うことはかないませんでしたが(遠距離恋愛席というらしい？　オペラグラス持ってくればよかったね)、近くで見たらもっとかわいいんでしょうね(？)<br>
<br>
ライブの中身にはあんま触れませんが(というか、何もかもが秒で過ぎ去っていってあんまりおぼえてｎ)、本編・アンコール終わってのお手振りの時間は、ブロックごとというか、ちゃんと時間を切り分けて手を振ってくれていいなと思いました。見切れて見えない席にもステージ反対側の見える位置から手を振ってくれたり。観客の誰かが「せーのっ」って言ったら声を合わせて「ゆかりーん！」と呼びかけましょう  だけは予習してたので、そこは乗り遅れずにすんでよかった……<br>
<br>
物販が入場後だと知らなくて少しさまよった後、当日券引換で入場できたのは開演30分前くらいで、そこから物販列並ぶと開演間に合わないとのこと。Tシャツもペンラもなく、ユニクロパーカーに徒手空拳での応援になってしまったのはちょっと後ろめたさ残りました<span><a title="1列目の人が開幕遅刻して、ゆかりんに「1列目だってわかってたのに なんで遅刻したの？」「物販が……」というやりとりも思い起こされる……ペンラ暗黒騎士のくだりも含め、結構1列目のお客さんいじられますね。じっと見つめてくれたり……。これは王国民の方はたまらないでしょうね。1列目引くために全通したくなりますね" href="https://blog.tu3.jp/01105#fn-fn1">*1</a></span>が、<br>
<br>
たのしかったです。<br>
<br>
奈々さん現場だとブリッジムービー以外はMC含めて立ちっぱなのが当たり前？だったので、MCは座って聴く、パートによっては楽曲も座って聴くというのは、個人的にはそういったのも異文化で新鮮でした。<br>
<footer>
	<p><a href="https://blog.tu3.jp/01105#fnt-fn1">*1</a> : 1列目の人が開幕遅刻して、ゆかりんに「1列目だってわかってたのに なんで遅刻したの？」「物販が……」というやりとりも思い起こされる……ペンラ暗黒騎士のくだりも含め、結構1列目のお客さんいじられますね。じっと見つめてくれたり……。これは王国民の方はたまらないでしょうね。1列目引くために全通したくなりますね</p>
</footer>
</section>

]]></description>
	</item>
	<item>
		<title>LIVE JUNGLE 2024 SAFARI 01,02 (三重県営サンアリーナ)</title>
		<link>https://blog.tu3.jp/01102#rss-tm1721303459</link>
		<guid>https://blog.tu3.jp/01102</guid>
		<category></category>
		<pubDate>Mon, 17 Jun 2024 11:52:14 GMT</pubDate>
		<author>つーさ</author>
		<description><![CDATA[<section>
<blockquote><p lang="ja">さふぁり1！ <a href="https://t.co/R7iiL1GtGi">https://t.co/R7iiL1GtGi</a></p>&mdash; 🈷️つーさ🌙🎤🎶 (@ttsuki) <a href="https://twitter.com/ttsuki/status/1801872100413870216?ref_src=twsrc%5Etfw">June 15, 2024</a></blockquote> <blockquote><p lang="ja">さふぁりつー！ <a href="https://t.co/3GoCYT3YuI">https://t.co/3GoCYT3YuI</a></p>&mdash; 🈷️つーさ🌙🎤🎶 (@ttsuki) <a href="https://twitter.com/ttsuki/status/1802209746923200929?ref_src=twsrc%5Etfw">June 16, 2024</a></blockquote> <br>
<br>
いってきました！<br>
なにを歌うか、ツアー初日のわくわく感<br>
期待を裏切らない 激アツなライブでしたね！(こなみかん<br>
<br>
今週もお疲れ様でした！<br>
<br>
以下セトリのクリティカルなネタバレを含まない程度の感想<br>
<p><a href="https://blog.tu3.jp/01102#">続きを読む</a></p>
</section>
]]></description>
	</item>
	<item>
		<title>今週は特に生産的なことはしなかった</title>
		<link>https://blog.tu3.jp/01101#rss-tm1717992901</link>
		<guid>https://blog.tu3.jp/01101</guid>
		<category>ゲーム日記::JOYSOUND</category>
		<pubDate>Mon, 10 Jun 2024 03:38:13 GMT</pubDate>
		<author>つーさ</author>
		<description><![CDATA[<section>
<figure><a href="https://blog.tu3.jp/files/tsuki/image/adiary/2024/20240604_021707.JPG" title="20240604_021707.JPG"><img alt="20240604_021707.JPG" src="https://blog.tu3.jp/files/tsuki/image/adiary/2024/.thumbnail/20240604_021707.JPG.jpg"></a></figure><br>
<br>
好きな歌の自己ベストが出て嬉しかったです<br>
<br>
今週もお疲れ様でした<br>
</section>

]]></description>
	</item>
	<item>
		<title>ぱねりあ OST!</title>
		<link>https://blog.tu3.jp/01100#rss-tm1717261217</link>
		<guid>https://blog.tu3.jp/01100</guid>
		<category>音楽::オリジナル作品,計算機な日記::ソフト作り</category>
		<pubDate>Sat, 01 Jun 2024 16:14:24 GMT</pubDate>
		<author>つーさ</author>
		<description><![CDATA[<section>
ふと思い立って ぱねりあ BGM集を蔵出しするなどしていました。<br>
曲を作ったのは約20年前らしいですね、なつかしいですね、やばいですね。<br>
<br>
さんくらに上げてもよかったのですが、なんとなく音楽を聴けるページなど作ってみるかと思い立って <a href="https://music.tu3.jp/">https://music.tu3.jp/</a> なるものを作ってみてました。<br>
<br>
とりあえず「<a href="https://music.tu3.jp/#Panelia%20OST%21"><img src="https://music.tu3.jp/music/Panelia%20OST%21/cover.jpg" width="64" height="64">ぱねりあOST!</a>」と「<a href="https://music.tu3.jp/#QoFR%20OST%21"><img src="https://music.tu3.jp/music/QoFR%20OST%21/cover.jpg" width="64" height="64">QoFR OST!</a>」をおいてみてあります。<br>
<br>
どっちのアルバムも、収録曲のオリジナル版は、当くーかんでもだいたい聴けますが、今回公開用にちょっとなんか音処理してカットしなおしたりして整えてみたので、ほんのちょっぴりオリジナルともゲーム収録とも別バージョンになっています。びっくりまーくをつけてみました。Highをそこそこ盛ったので環境によっては耳障りかもしれない。<br>
<br>
他の曲とかもなんかしらまとめて聴けるようにしときたい感なくもないですが、大体満足してしまったので、、そのうち、やります(ほんとか？)たぶん……やるかなぁ……。<br>
<br>
今週もお疲れ様でした。<br>
<br>
以下は蛇足(実装した感想)です。<br>
<p><a href="https://blog.tu3.jp/01100#">続きを読む</a></p>
</section>
<hr>
<h4><a href="https://blog.tu3.jp/01100#com">■コメント（3件）</a></h4>
<div style="margin-left: 1em;">
momo『It reminds me of もじぴったん (HTML5&#39;s audio tag might have been b...』(2024/06/02 14:27)</span><br>
つーさ『I implemented 音量バー. Thank you for your comment😸』(2024/06/02 17:15)</span><br>
momo『Thank you, I hope you will add more music in the future.』(2024/06/03 07:21)</span><br>
</div>
]]></description>
	</item>
	<item>
		<title>名称未設定</title>
		<link>https://blog.tu3.jp/01099#rss-tm1716634984</link>
		<guid>https://blog.tu3.jp/01099</guid>
		<category></category>
		<pubDate>Sat, 25 May 2024 10:51:34 GMT</pubDate>
		<author>つーさ</author>
		<description><![CDATA[<section>
何かやりたいことがあった気がする<br>
<br>
今週もお疲れ様でした<br>
</section>

]]></description>
	</item>
	<item>
		<title>もうおっさんずっと anemoscope とか ornithopter とかしか聞いてない</title>
		<link>https://blog.tu3.jp/01098#rss-tm1715958380</link>
		<guid>https://blog.tu3.jp/01098</guid>
		<category></category>
		<pubDate>Fri, 17 May 2024 15:06:20 GMT</pubDate>
		<author>つーさ</author>
		<description><![CDATA[<section>
げんかい<br>
<br>
今週もお疲れ様でした。<br>
</section>

<hr>
<h4><a href="https://blog.tu3.jp/01098#com">■コメント（2件）</a></h4>
<div style="margin-left: 1em;">
nil『music for the soul uguu』(2024/05/18 03:12)</span><br>
つーさ『うぐぅ』(2024/05/25 19:51)</span><br>
</div>
]]></description>
	</item>
	<item>
		<title>自宅鯖りぷれーす</title>
		<link>https://blog.tu3.jp/01096#rss-tm1716634959</link>
		<guid>https://blog.tu3.jp/01096</guid>
		<category>サイト運営</category>
		<pubDate>Fri, 10 May 2024 14:42:55 GMT</pubDate>
		<author>つーさ</author>
		<description><![CDATA[<section>
17年前発売のNASから 11年前のノートPCに……<br>
<br>
最近(※1年以上前) ノートPCを買い換えたので、<br>
それまで使ってたの<span><a title="ノート、基本的にリモートデスクトップにしか使わないので10年耐えましたね……" href="https://blog.tu3.jp/01096#fn-fn1">*1</a></span>を自宅鯖その2にしてみることにしました。<br>
<table>
<tbody>
	<tr><td></td><th> QNAP TS-219P+</th><td></td><th> ASUS TAICHI 21</th></tr>
	<tr><th> CPU</th><td>Marvell 6282 1.6GHz 2C2T</td><td>→</td><td>Intel Core i5-3337U 1.8GHz (TB 2.7GHz) 2C4T</td></tr>
	<tr><th> メモリ</th><td>512MB</td><td>→</td><td>4GB</td></tr>
	<tr><th> ストレージ</th><td>HDD 8TB</td><td>→</td><td>SSD 128GB</td></tr>
</tbody></table>
ディスクとメモリの大幅スペックアップ(？)による応答性能向上<span><a title="ブログのページロードが幾ばくか速くなりました" href="https://blog.tu3.jp/01096#fn-fn2">*2</a></span>もさることながら、<br>
ディストロ的にも、ARM系組み込みLinuxから素直な x64 Ubuntu に変わって、apt と唱えたら大体何でもそろうようになった点が、構築が楽でいいですね() <span><a title="物理マシンにLinuxをインストールするの学生時代以来かもしれません" href="https://blog.tu3.jp/01096#fn-fn3">*3</a></span><br>
SSDは容量に若干の手狭さを感じつつ、かつ、普通に長期常用してた後なので寿命面も些か心許ないですが、まぁ壊れたらまた考える……。<br>
<br>
あとは、Webサーバ機能を載せ替えるのにあわせて、前々から思ってたワイルドカードTLS証明書化とか、そのためにDNSとリバプロをCloudflareに移してみたり <span><a title="当初自前DNSサーバたてて _acme-challenge の NS をそっちに向けて、、とか考えてたのですが、めんどくさくなってしましました()。 Cloudflareさん 無料プランでDNSとキャッシュ付きのリバプロくれるの太っ腹です……転居時に失ったIPv4のリバプロ用に借りたConoHa VPSの割引きっぷ、まだ丸1年以上期間残ってるのちょっともったいない……" href="https://blog.tu3.jp/01096#fn-fn4">*4</a></span>。<br>
<a href="https://ttsuki.dev/joysound-gp/">JOYSOUND全国GP.xls</a> を夏色仕様にしてみたり<span><a title="このブログのデザインも長らく変わってないのでちょっとたまにはイメチェンしたいですね。" href="https://blog.tu3.jp/01096#fn-fn5">*5</a></span>。<br>
風邪を引いてゴールデンウィークを2日延長してみたり<span><a title="咳の出る風邪が流行っている気がしますね。38.8℃とか出てハイテンションでした。皆様お気をつけください" href="https://blog.tu3.jp/01096#fn-fn6">*6</a></span>。<br>
<br>
今週もお疲れ様でした。<br>
<footer>
	<p><a href="https://blog.tu3.jp/01096#fnt-fn1">*1</a> : ノート、基本的にリモートデスクトップにしか使わないので10年耐えましたね……</p>
	<p><a href="https://blog.tu3.jp/01096#fnt-fn2">*2</a> : ブログのページロードが幾ばくか速くなりました</p>
	<p><a href="https://blog.tu3.jp/01096#fnt-fn3">*3</a> : 物理マシンにLinuxをインストールするの学生時代以来かもしれません</p>
	<p><a href="https://blog.tu3.jp/01096#fnt-fn4">*4</a> : 当初自前DNSサーバたてて _acme-challenge の NS をそっちに向けて、、とか考えてたのですが、めんどくさくなってしましました()。 Cloudflareさん 無料プランでDNSとキャッシュ付きのリバプロくれるの太っ腹です……転居時に失ったIPv4のリバプロ用に借りたConoHa VPSの割引きっぷ、まだ丸1年以上期間残ってるのちょっともったいない……</p>
	<p><a href="https://blog.tu3.jp/01096#fnt-fn5">*5</a> : このブログのデザインも長らく変わってないのでちょっとたまにはイメチェンしたいですね。</p>
	<p><a href="https://blog.tu3.jp/01096#fnt-fn6">*6</a> : 咳の出る風邪が流行っている気がしますね。38.8℃とか出てハイテンションでした。皆様お気をつけください</p>
</footer>
</section>

]]></description>
	</item>
	<item>
		<title>値のビット幅を拡縮するとき</title>
		<link>https://blog.tu3.jp/01092#rss-tm1696071220</link>
		<guid>https://blog.tu3.jp/01092</guid>
		<category></category>
		<pubDate>Sat, 30 Sep 2023 09:44:52 GMT</pubDate>
		<author>つーさ</author>
		<description><![CDATA[<section>
値のビット幅を拡縮するとき<br>
<br>
16bitデータを8bitに落としたり、8bitデータを計算のために32bit表現にしたりすることある思考整理メモ。<br>
</section>
<section>
<h3 id="unsinged"><a href="https://blog.tu3.jp/01092#unsinged">unsinged</a></h3>
画像データとかはこっちだな。<br>
<h4 id="落とすときはそのまま右shiftする。"><a href="https://blog.tu3.jp/01092#%e8%90%bd%e3%81%a8%e3%81%99%e3%81%a8%e3%81%8d%e3%81%af%e3%81%9d%e3%81%ae%e3%81%be%e3%81%be%e5%8f%b3shift%e3%81%99%e3%82%8b%e3%80%82">落とすときはそのまま右shiftする。</a></h4>
落とすときはそのまま右shiftする。まぁ。普通？<br>
<h4 id="拡張するときは2択？"><a href="https://blog.tu3.jp/01092#%e6%8b%a1%e5%bc%b5%e3%81%99%e3%82%8b%e3%81%a8%e3%81%8d%e3%81%af2%e6%8a%9e%ef%bc%9f">拡張するときは2択？</a></h4>
<h5 id="1つは単純に左シフトする方法。"><a href="https://blog.tu3.jp/01092#1%e3%81%a4%e3%81%af%e5%8d%98%e7%b4%94%e3%81%ab%e5%b7%a6%e3%82%b7%e3%83%95%e3%83%88%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95%e3%80%82">1つは単純に左シフトする方法。</a></h5>
つまり、u8をu16にするとき、8bit左シフトする＝256を乗ずる。<br>
この方法は最大値は最大値にならない。<br>
u8をu16にするとき、255*256は65535にならず、65280になる。<br>
u8をu24にするとき、255*65536は16777215にならず、16711680になる。<br>
<br>
これは、unsigned型は 0 から 1-(1/2**bit数)までを表現でき 1.0を表現できないとする立場(立場？)とも言える。<br>
65535 は 1.0 ではなく 1.0-1/65536 = 0.9999847412109375 である世界の計算。<br>
<br>
色の処理をするときはあんまよくない。<br>
たとえば、255の赤が65535の赤にならないので色がくすむ。<br>
<h5 id="もう1つは、元のビット幅の1を繰り返したものを乗ずる方法。"><a href="https://blog.tu3.jp/01092#%e3%82%82%e3%81%861%e3%81%a4%e3%81%af%e3%80%81%e5%85%83%e3%81%ae%e3%83%93%e3%83%83%e3%83%88%e5%b9%85%e3%81%ae1%e3%82%92%e7%b9%b0%e3%82%8a%e8%bf%94%e3%81%97%e3%81%9f%e3%82%82%e3%81%ae%e3%82%92%e4%b9%97%e3%81%9a%e3%82%8b%e6%96%b9%e6%b3%95%e3%80%82">もう1つは、元のビット幅の1を繰り返したものを乗ずる方法。</a></h5>
元のビット幅分左シフトしては元の値を足すことを繰り返す方法とも言う。<br>
これは、当該unsigned型の表現可能な最大値(255とか65535とか) が 1.0 である世界。<br>
最大値が最大値として復元される努力をする感じ。<br>
<br>
つまり、u8をu16にするとき、 8bitの1 = 0x01 を、上から16bit分繰り返した 0x0101 = 257を乗ずる。(=8左シフトして<strong>から元の値を足す</strong>)<br>
u8をu16にするとき、255*257は65535になる。<br>
u8をu24にするとき、255*0x010101(65537)は16777215になる。<br>
こっちは、255の赤を65535の赤にできる。<br>
<br>
ビット数が整数倍じゃないとき丸まってしまう。<br>
たとえば、7bitの値を23bitにするとき<br>
7bitの1 0b0000001 を 23bitになるまで繰り返した 0b00000010000001000000100=66052を乗ずると、<br>
127*66052=8388604 で、23bit unsigned の最大値は 8388607にはならない。<br>
<br>
こういうケースで最大値がほしいときは、普通に 8388607/127 (= 約66052.0236220) を掛けないといけない。<br>
割り算を嫌うなら、7bit左シフトしてから元の値を足すを4回繰り返して一旦28bit表現にしてから右5bit落として23bit表現にする、をしてもできる。<br>
7bitの1である 0b0000001を4回繰り返した 0b0000001000000100000010000001=2113665を掛けてから、32で割る(5ビット右シフトする)感じ。<br>
</section>
<section>
<h3 id="signed-"><a href="https://blog.tu3.jp/01092#signed-">signed </a></h3>
音声波形データとかはこっちで表現されよう。<br>
<br>
正負で表現可能な段階数が違うので面倒。<br>
<h4 id="落とすとき"><a href="https://blog.tu3.jp/01092#%e8%90%bd%e3%81%a8%e3%81%99%e3%81%a8%e3%81%8d">落とすとき</a></h4>
正のs16をs8に落とすとき、32767/127 = 約258.00787で割る<br>
負のs16をs8に落とすとき、32768/128 = 約256.00000で割る<br>
正負によって除数が変わる。<br>
<br>
はぁ？<br>
<br>
そもそもsigned型では 0から+1の距離と 0から-1の距離が異なるのですか？<br>
0から+1と0から-1の距離は一致するが、負の方にだけ表現できる幅が少し広いと考えるべきでは？<br>
なら、より幅の広い負に配慮して、どっちも256で割りましょうか。。<br>
<br>
ただし、s16の絶対値を256で割ってs8にしてはダメ。<br>
負について256で割ったあとfloorしないといけない。<br>
0方向丸めしてしまうと、0付近 s16の[-15,+15]の31要素がs8の0になってしまい歪む。<br>
floorすれば、s16の[0,+15]の16要素がs8の0、[-16,-1]の16要素がs8の-1になる。<br>
<br>
s16の世界にあった65536種類の値を256個ずつグループにまとめて、256種類の値に射影したいと考えると、<br>
結果的には、unsignedと同じで、落としたいビット数分だけ右シフトするんでよさそう。<br>
<h4 id="拡張するときは？"><a href="https://blog.tu3.jp/01092#%e6%8b%a1%e5%bc%b5%e3%81%99%e3%82%8b%e3%81%a8%e3%81%8d%e3%81%af%ef%bc%9f">拡張するときは？</a></h4>
拡張するときは？<br>
正負によって表現できる幅が違うので、単純に最大値を最大値にマップすることはできない。<br>
<h5 id="とりあえず、素直に拡張したいビット数分左シフトする方法が1つ。"><a href="https://blog.tu3.jp/01092#%e3%81%a8%e3%82%8a%e3%81%82%e3%81%88%e3%81%9a%e3%80%81%e7%b4%a0%e7%9b%b4%e3%81%ab%e6%8b%a1%e5%bc%b5%e3%81%97%e3%81%9f%e3%81%84%e3%83%93%e3%83%83%e3%83%88%e6%95%b0%e5%88%86%e5%b7%a6%e3%82%b7%e3%83%95%e3%83%88%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95%e3%81%8c1%e3%81%a4%e3%80%82">とりあえず、素直に拡張したいビット数分左シフトする方法が1つ。</a></h5>
s8をs16にするとき、<br>
+1は+256に、+127は+32512になる。<br>
 -1は-256に、-127は-32512に、-128は-32768になる。<br>
<h5 id="最大値に配慮する方法も考えてみてはおく。"><a href="https://blog.tu3.jp/01092#%e6%9c%80%e5%a4%a7%e5%80%a4%e3%81%ab%e9%85%8d%e6%85%ae%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95%e3%82%82%e8%80%83%e3%81%88%e3%81%a6%e3%81%bf%e3%81%a6%e3%81%af%e3%81%8a%e3%81%8f%e3%80%82">最大値に配慮する方法も考えてみてはおく。</a></h5>
「+127が最大」か「-128が最小」か？<br>
<h6 id="「-127が最大」だよ派"><a href="https://blog.tu3.jp/01092#%e3%80%8c-127%e3%81%8c%e6%9c%80%e5%a4%a7%e3%80%8d%e3%81%a0%e3%82%88%e6%b4%be">「+127が最大」だよ派</a></h6>
ビット拡張先の正の最大値をビット拡張前の最大値で割ったものを係数にする。<br>
s8をs16にするとき、 32767/127≒258.0078740 なので、試しに 258.008 を掛けてみると、<br>
+127が +32767.016 くらいになる<br>
 -127が -32767.016 くらいになる<br>
 -128は -33025.024 くらいになって、オーバーフローしちゃう(それはそう)。<br>
 うーん、元データの性格にもよるけど、-128 なんてなかった(-127と同値として扱う)と割り切るのは、1つのやり方としてはなくはないか？<br>
変換を何度も行った場合の値の保存性は？<br>
<h6 id="「-128が最小」だよ派"><a href="https://blog.tu3.jp/01092#%e3%80%8c-128%e3%81%8c%e6%9c%80%e5%b0%8f%e3%80%8d%e3%81%a0%e3%82%88%e6%b4%be">「-128が最小」だよ派</a></h6>
拡張先の負の最小値を拡張前の負の最小値で割ったものを係数にする。<br>
これは、 1&lt;&lt;(拡張したいビット数) になるので、先に書いた単純左シフトと同じになる。<br>
<h6 id="「-127が最大」かつ「-128が最小」だよ派"><a href="https://blog.tu3.jp/01092#%e3%80%8c-127%e3%81%8c%e6%9c%80%e5%a4%a7%e3%80%8d%e3%81%8b%e3%81%a4%e3%80%8c-128%e3%81%8c%e6%9c%80%e5%b0%8f%e3%80%8d%e3%81%a0%e3%82%88%e6%b4%be">「+127が最大」かつ「-128が最小」だよ派</a></h6>
「正のとき 258.0078740 を掛け、負のとき 256.0を掛ける」条件分岐をする。<br>
 [0,+2]の距離と [-1,+1]の距離が変わっちゃう。<br>
これは最初に割る話をしたときと同じであんまり筋がよくないと思う。考えない。<br>
<h4 id="あとは、floatと行き来するとき……"><a href="https://blog.tu3.jp/01092#%e3%81%82%e3%81%a8%e3%81%af%e3%80%81float%e3%81%a8%e8%a1%8c%e3%81%8d%e6%9d%a5%e3%81%99%e3%82%8b%e3%81%a8%e3%81%8d%e2%80%a6%e2%80%a6">あとは、floatと行き来するとき……</a></h4>
signedは負方向に広い。 「-1.0を-32768とする」か「-1.0を-32767とする」かの2択。<br>
上で書いたけど s16の+32767を+1.0、-32768を-1.0など定義してしまうと0を境界に「1の幅」が変わって歪む。<br>
<h5 id="「-1.0を-32768とする」"><a href="https://blog.tu3.jp/01092#%e3%80%8c-1.0%e3%82%92-32768%e3%81%a8%e3%81%99%e3%82%8b%e3%80%8d">「-1.0を-32768とする」</a></h5>
とき、変換時 32768 を係数に乗算・除算することになる。<br>
デメリットがあって、s16では、-1.0を-32768として表現できるが+1.0を表現できなくなる。<br>
s16で表現できる範囲は、 1/32768 = 0.000030517578125 を用いて、-1.0 から +0.999969482421875 = (1-1/32768) となる。<br>
<h5 id="「-1.0を-32767とする」"><a href="https://blog.tu3.jp/01092#%e3%80%8c-1.0%e3%82%92-32767%e3%81%a8%e3%81%99%e3%82%8b%e3%80%8d">「-1.0を-32767とする」</a></h5>
とき、変換時 32767で乗算・除算することになる。<br>
こっちは、+32767で1.0を表現できるので一見よさそうだけど、<br>
その一方で-32768は 1+1/32767 (=約-1.000030518509476) になるので、<br>
係数とかに使うときはちょっと気にしといた方がいいのかしら。<br>
また整数型に戻すときはsaturationするだろうし、まぁそんなに気にしなくてもいい気もする。<br>
<br>
「-1.0を-32768とする」よりは「-1.0を-32767とする」こっちの方が素直かしらという感覚になるのが不思議。<br>
signed整数型では +1.0 を表現できないんじゃなかったの？<br>
signed整数型を [-1.0, +1.0-ε] の範囲じゃなくて [-1.0-ε, +1.0] として扱おうとしてるってことね。<br>
<br>
unsinged のときは、255とか65535とかで掛けたり割ったりすると思うのでそれと一緒ね。<br>
<br>
というか、まず、その整数型の最小値と最大値が [-1.0, +1.0-ε] を表すのか、[-1.0-ε, +1.0] を表すのかを考える方がよさそ。<br>
unsignedでも 最小値と最大値が[0, +1.0-ε]なのか[0, +1.0]なのかを考えるのがよさそ。まぁ、unsignedは普通は後者だけど。<br>
<br>
😌<br>
</section>

]]></description>
	</item>
	<item>
		<title>自宅鯖その後</title>
		<link>https://blog.tu3.jp/01090#rss-tm1693067066</link>
		<guid>https://blog.tu3.jp/01090</guid>
		<category>サイト運営::未分類,計算機な日記::未分類</category>
		<pubDate>Sat, 26 Aug 2023 16:21:09 GMT</pubDate>
		<author>つーさ</author>
		<description><![CDATA[<section>
<p><a href="https://tu3.jp/01089">浅はかに光クロスを引いたらインターネットから到達可能なIPv4アドレスを失ってしまいました</a> の続き(実際やったのは6月なかごろですが)。</p>

<p>v4からv6 onlyの自宅鯖への繋ぎ方は、L2TPとかNAT46とかいろいろ考えましたが、そも私自身が宅鯖に用がある場合IPv6経由で到達できる環境が(きっと)あるはずで、IPv4からはWEBサーバだけ見えればいい という要件に絞って、普通にHTTPのリバプロを立てる方向でいきます。とりあえず。他の方法は勉強するのはともかく、ちゃんと運用できる自信がない、というのもある……。</p>

<p>肝心の、IPv4を手に入れる方法としては、まぁ普段お仕事で使ってるGCPとかありますけど、GCPはなんか変なトラフィック流されるとパケ死[^1]しちゃう(さもなくばサービス停止)ので、非営利個人が使うにはいまいち怖いんですよね……。そんなにでかいファイルを置いているわけでもないけど、普段の流量を把握しているわけでもなし。今回は他の選択肢、というかまぁレンタルVPSかなぁ……。</p>

<p>[^1]: そういえば全然関係ないですが、パケ死って我々の世代(？)だと、もちろん「高額請求が来る」こと言うと思うんですが、現代では、<a href="https://www.itmedia.co.jp/news/articles/1609/23/news086.html">月あたりの契約容量使い切って低速に制限されることをパケ死って言うらしい</a>ですね。(その意味でパケ死が使われてるところを観測したことはないけど)ちょっと面白い。</p>

<p>自宅サーバやる前にレンタルサーバでお世話になっていたさくらと迷いましたが、今回は <a href="https://www.conoha.jp/referral/?token=YUt7W2UlIo09LpnpRi4yr7ITZFRkhWa0UFrDClnFqpJBp42zQV9xEHvgV4vsIw--7GV">清楚かわいいVPS</a> ←クーポン付きアフィリンク　を借りてみることにしました。(1回くらい使ってみたかったのと、あとさくらより単に安かった……)</p>

<p>借りたらすぐ使える。管理コンソールがちょっと重い。</p>

<p>とりあえず従量制でRocky Linux鯖を立ててnginxを入れてproxy_passしただけだけど、とりあえずv4からでもこのブログが見えるようになりましたので、まぁこれでいくかということにして、長期クーポンを買って適用。(従量制部分は、利用料17円とかだったかしら)</p>

<p>再び IPv4 環境からも見えるようになりましたー。おわり。</p>

<h4 id="作業内容備忘メモ"><a href="https://blog.tu3.jp/01090#%e4%bd%9c%e6%a5%ad%e5%86%85%e5%ae%b9%e5%82%99%e5%bf%98%e3%83%a1%e3%83%a2">作業内容備忘メモ</a></h4>


<p><a href="https://blog.tu3.jp/01090">続きを読む</a></p>
</section>
]]></description>
	</item>
	<item>
		<title>C++20のコルーチンでタスクシステム(？)作ってみた</title>
		<link>https://blog.tu3.jp/01091#rss-tm1693057994</link>
		<guid>https://blog.tu3.jp/01091</guid>
		<category>プログラミング::C++</category>
		<pubDate>Fri, 11 Aug 2023 17:47:46 GMT</pubDate>
		<author>つーさ</author>
		<description><![CDATA[<section>
<p>夏休みの自由研究じゃないけど、ふと思い立ってC++20のコルーチンでタスクシステムっぽいものを書いたらどうなるかやってみた。タスクシステムっていうかつまるところファイバーコンテナだけど。</p>

<p>それなりうまくいった</p>

<p><a href="https://blog.tu3.jp/01091">続きを読む</a></p>
</section>
]]></description>
	</item>
	<item>
		<title>フレッツ光クロスを今すぐに契約すべきではない2つの理由</title>
		<link>https://blog.tu3.jp/01089#rss-tm1693060079</link>
		<guid>https://blog.tu3.jp/01089</guid>
		<category>計算機な日記</category>
		<pubDate>Tue, 25 Jul 2023 14:08:21 GMT</pubDate>
		<author>つーさ</author>
		<description><![CDATA[<section>
<p>タイトルは釣りです。</p>

<p>というか、無知すぎた。</p>

<h4 id="本エントリの要約"><a href="https://blog.tu3.jp/01089#%e6%9c%ac%e3%82%a8%e3%83%b3%e3%83%88%e3%83%aa%e3%81%ae%e8%a6%81%e7%b4%84">本エントリの要約</a></h4>

<ul>
<li>光クロス10Gに乗り換えたら、回線速くて素晴らしい
<ul>
<li>DS-Liteになって、自宅サーバ用のGlobal IP (v4)を失ってしまったよ。</li>
<li>強制レンタルでやってきた 10G ルータ、ジャンボパケット通らないよ。</li>
<li>もうPCIeスロット空いてないから、新設10G用のNICは、M.2 スロットに差してみたよ。</li>
</ul></li>
</ul>
<p><a href="https://blog.tu3.jp/01089">続きを読む</a></p>
</section>
<hr>
<h4><a href="https://blog.tu3.jp/01089#com">■コメント（4件）</a></h4>
<div style="margin-left: 1em;">
インターネットが遅いさん『10G... The dream... By the way, USB→2.5G Ethernet is cheap, if y...』(2023/08/11 11:56)</span><br>
つーさ『&gt;&gt;1  I&#39;ll think about them in future again if necessar...』(2023/08/27 00:18)</span><br>
通りすがり『インターリンクが DSLite での固定IPオプションやってますよ。月額2200円になります https://www.inter...』(2023/12/12 23:27)</span><br>
つーさ『情報ありがとうございます。現状はVPS経由にする形に落ち着いていますが、今後の選択肢に入れておきたいと思います。』(2024/01/04 01:36)</span><br>
</div>
]]></description>
	</item>
	<item>
		<title>JavaScript 非同期処理</title>
		<link>https://blog.tu3.jp/01088#rss-tm1683645800</link>
		<guid>https://blog.tu3.jp/01088</guid>
		<category>Web開発</category>
		<pubDate>Sun, 07 May 2023 15:08:48 GMT</pubDate>
		<author>つーさ</author>
		<description><![CDATA[<section>
<p>今まで、fetchとかthenとか、他のコードみて雰囲気で使ってたけど、つまるところ、何がどうなってるのか、ざっくりわかっておきたくなったので、今更ながらちょっと勉強した、その備忘メモ。</p>
</section>

<section>
<h3 id="javascript-非同期処理"><a href="https://blog.tu3.jp/01088#javascript-%e9%9d%9e%e5%90%8c%e6%9c%9f%e5%87%a6%e7%90%86">JavaScript 非同期処理</a></h3>


<p>JavaScriptはシングルスレッドだけど非同期実行の仕組みがある。古くは <code>setTimeout</code> だけど、今は<code>Promise</code>と<code>Thenable</code>なる概念があって、 <code>fetch()</code> とかがこれで実装されている。</p>

<h4 id="-promise-と-thenable-"><a href="https://blog.tu3.jp/01088#-promise-%e3%81%a8-thenable-"><code>Promise</code> と <code>Thenable</code></a></h4>


<p>MDNでは、ある非同期処理<code>Promise</code>は「待機 (<em>pending</em>) 」「履行 (<em>fulfilled</em>)」「拒否(<em>rejected</em>)」のいずれかの状態を持つと説明される。</p>

<p>意味がとりにくいので、ここではそれぞれを「未完了」「完了:成功」「完了:失敗」とよびかえることにする。</p>

<p>「完了:成功」「完了:失敗」の状態においては、付随して値を持てる。成功時は処理結果を表す実際の値(計算結果など)、失敗時は失敗理由(例外オブジェクトなど)を持たせるのが一般的な使い方と思われる。</p>

<p>C++だと、<code>Promise</code> は <code>std::promise&lt;T&gt;</code>、<code>Thenable</code> が <code>std::future&lt;T&gt;</code>、
C# だと、 <code>Promise</code> が <code>Task&lt;T&gt;</code>、<code>Thenable</code> が <code>IAsyncResult&lt;T&gt;</code> に対応する感じ。</p>


<p><a href="https://gist.github.com/ttsuki/ae2361a6d2f0fef60006ef05f5884b4f">続きを読む</a></p>
</section>
]]></description>
	</item>
	<item>
		<title>C++でJSONを読み書き</title>
		<link>https://blog.tu3.jp/01087#rss-tm1680300405</link>
		<guid>https://blog.tu3.jp/01087</guid>
		<category></category>
		<pubDate>Fri, 31 Mar 2023 22:04:51 GMT</pubDate>
		<author>つーさ</author>
		<description><![CDATA[<section>
JSON読み書き用の個人的なライブラリとして、<br>
また単純なプログラミングの興味としてC++でJSONをparse/serializeするやつをいじる熱がちょっと再燃して<br>
<a href="https://github.com/ttsuki/nanojson">https://github.com/ttsuki/nanojson</a> などいじっていた。<br>
<br>
あんまり巷のライブラリを検索したりはしてなかったんだけど、<br>
ふと<a href="https://www.google.co.jp/search?q=C%2b%2b%20JSON" title="Google検索">C++ JSON</a>でググると、<a href="https://qiita.com/yohm/items/0f389ba5c5de4e2df9cf">nlohmann/json を解説してくれてるQiita記事</a>とかが出てきた。<br>
<br>
nlohmann/jsonは、あー名前は見たことあるかも、と思って、記事読んでみると、<br>
ADLでto_json探すのとか、名前空間汚したくなければシリアライザクラスの特殊化しろとか、<br>
割と同じところにいきついていて、まぁ、普通に考えるとそうなるんだわなぁというconfidenceと引き換えに熱が冷めた。<br>
<br>
C++でJSONを読み書きしたかったのだが、<br>
C++でJSONをかっこよく読み書きできるようにしたくなってしまった、のは良くなくて、というかそもそも、<br>
C++でJSONを読み書きしたかったわけではないはずだ。(どういう意味か？)<br>
<br>
新年度ですね。新規性のあることをせねばなぁ。<br>
</section>

]]></description>
	</item>
</channel>
</rss>
