<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Json on akky@サイボウズラボ・ブログ</title>
		<link>https://labs.cybozu.co.jp/blog/akky/tags/json/</link>
		<description>Recent content in Json on akky@サイボウズラボ・ブログ</description>
		<generator>Hugo</generator>
		<language>ja</language>
		
		
		
		
			<lastBuildDate>Wed, 17 Aug 2022 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://labs.cybozu.co.jp/blog/akky/tags/json/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>JSONの正しい発音 by ダグラス・クロックフォード氏</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/08/how-to-pronounce-json-by-douglas-clockford/</link>
				<pubDate>Wed, 17 Aug 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/08/how-to-pronounce-json-by-douglas-clockford/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://www.json.org/json-en.html&#34;&gt;JSON&lt;/a&gt;の「発見者」ダグラス・クロックフォード氏に、「JSONってどう発音するんです?」と尋ねたショート&lt;a href=&#34;https://www.youtube.com/watch?v=uR-f4b0G9lo&#34;&gt;動画&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;p&gt;# たとえ氏が「わしがJSONを作った」と言っても文句を言う人は少なそうですが、氏はJSONを「見出した」と言います。&lt;/p&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/uR-f4b0G9lo?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;&#x9;&#x9;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;仲間の&lt;a href=&#34;https://en.wikipedia.org/wiki/Chip_Morningstar&#34;&gt;チップ・モーニングスター氏&lt;/a&gt;と最初に検討した名前は JSML (Javascript Message Language, ジズムル)。これはサン・マイクロシステムが既に使っていたとわかり断念、その後2分の熟考を経て JSON (JavaScript Object Notation)に決まったそう。&lt;/p&gt;&#xA;&lt;p&gt;後半は&amp;quot;JSON&amp;quot;をどう発音するか、ですが、クロックフォード氏らは当初、人名のJasonと同じ「ジェイソン」と呼んでいたそう。しかし、数年後に誰もが「ジェイソーン(Jay-Sahn)」と呼んでいることに気づいたけど、どう呼ぼうと自由だから気にしなかったと。&lt;/p&gt;&#xA;&lt;p&gt;でも、『正しい発音があるとしたらそれは(フランス語風に)「ジョ・ソン」だろうね』と結んでいます。&lt;/p&gt;&#xA;&lt;p&gt;表情がまじめなままなので冗談とわかりにくいですが、お墨付きも出てるし「ジョ・ソン」を使って誰かを担いでみますかね。&lt;/p&gt;&#xA;&lt;p&gt;via &lt;a href=&#34;https://www.reddit.com/r/programming/comments/wk1auk/how_to_pronounce_json_by_douglas_crockford/&#34;&gt;reddit&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>英銀行の「正しい電話番号」確認サイト、JSONで全74000番号を晒す作りで議論を呼ぶ</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2021/08/banks-phone-number-checker-leaks-all-74000-numbers/</link>
				<pubDate>Mon, 30 Aug 2021 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2021/08/banks-phone-number-checker-leaks-all-74000-numbers/</guid>
				<description>&lt;p&gt;イギリスの大手&lt;a href=&#34;https://www.barclays.co.uk/&#34;&gt;バークレーズ銀行&lt;/a&gt;、利用者の電話詐欺被害対策として&lt;a href=&#34;https://www.barclays.co.uk/fraud-and-scams/phone-number-checker/&#34;&gt;「バークレイズ銀行の電話番号として正しいか調べる」サイト&lt;/a&gt;を公開しているのですが、その実装に問題があるのではという疑義が&lt;a href=&#34;https://news.ycombinator.com/item?id=28326036&#34;&gt;Hacker News で上がり&lt;/a&gt;議論となっています。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.barclays.co.uk/fraud-and-scams/phone-number-checker/#&#34;&gt;Phone number checker&lt;/a&gt; サイトでは、電話番号を一つ入力するフォームが置かれ、ここに電話番号を入力すると、74000個ある正式な電話番号の場合は「この番号へ掛けても大丈夫です」という結果が出ます。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2021/08/banks-phone-number-checker-leaks-all-74000-numbers/barclays-phone-number-checker.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2021/08/banks-phone-number-checker-leaks-all-74000-numbers/barclays-phone-number-checker_hu_1a722e606c2c62ab.webp 480w, https://labs.cybozu.co.jp/blog/akky/2021/08/banks-phone-number-checker-leaks-all-74000-numbers/barclays-phone-number-checker_hu_a749155e1e1f0de7.webp 768w, https://labs.cybozu.co.jp/blog/akky/2021/08/banks-phone-number-checker-leaks-all-74000-numbers/barclays-phone-number-checker_hu_3af2147c46c42a32.webp 952w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2021/08/banks-phone-number-checker-leaks-all-74000-numbers/barclays-phone-number-checker.png&#34; width=&#34;952&#34; height=&#34;851&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;大手とはいえ、一つの銀行が74000個も番号を抱えてるのはすごいですね。フリーダイヤルから支店や部署まですべての番号を含むにしても。&lt;/p&gt;&#xA;&lt;p&gt;議論となっているのは、このチェッカがクライアントサイドだけで動いているらしいこと。&lt;a href=&#34;https://www.barclays.co.uk/content/dam/json-files/TelephoneNumberChecker_26_03_2021.json&#34;&gt;JSONファイル&lt;/a&gt;が読み込まれていて、このファイルに74000個の電話番号がベタ書きされています。&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;code&gt;{ &amp;quot;numbers&amp;quot;: [ &amp;quot;0800000097&amp;quot;, &amp;quot;0800001011&amp;quot;, &amp;quot;0800008008&amp;quot;, &amp;quot;0800111777&amp;quot;, &amp;quot;0800201612&amp;quot;, &amp;quot;0800222200&amp;quot;, &amp;quot;0800222800&amp;quot;, &amp;quot;0800227222&amp;quot;, &amp;quot;0800281435&amp;quot;, &amp;quot;0800282390&amp;quot;, &amp;quot;0800289289&amp;quot;, &amp;quot;0800289888&amp;quot;, &amp;quot;0800289989&amp;quot;,&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;最初に声を上げたブログが、入力フォームの形式チェックがあまりちゃんとしていない(ハイフンを含んだりイギリスの国番号44から始まる形式を正しく認識できない等)やJSONファイルのサイズ(1.3Mbytes)が大きすぎることを問題にしていた(これぐらい許容範囲だとか、正規表現で書けばよいとか圧縮をちゃんとすればよいとか)ため、Hacker News での議論も多方向に拡散してしまっているのですが、主要な問題は偽メールや偽電話でだまそうとしている勢力が簡単に正式な電話番号のリストを入手できるところにあるのではないかなと思います。&lt;/p&gt;&#xA;&lt;p&gt;発信者番号通知も改竄可能なので、騙す側に改竄するための正しい番号のリストを教えているという話でもあります。このチェッカが正しく理解されていないと、電話を「受けた時」にこのチェッカで正しいとされたから電話の相手を信用してもいいと思ってしまったりしてしまう可能性もあります。&lt;/p&gt;</description>
			</item>
			<item>
				<title>Making History Sandbox - 世界の勢力図を編集できるブラウザエディタ</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2021/03/making-history-sandbox/</link>
				<pubDate>Fri, 26 Mar 2021 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2021/03/making-history-sandbox/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://yulin-w.github.io/making-history-sandbox/&#34;&gt;Making History Sandbox: Alternate History Timeline Editor&lt;/a&gt; は、世界の勢力図を年号と併せて作成することができるブラウザ上の編集サービスです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2021/03/making-history-sandbox/history-sandbox-mongolia-united.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2021/03/making-history-sandbox/history-sandbox-mongolia-united_hu_bb65357cb4675692.webp 480w, https://labs.cybozu.co.jp/blog/akky/2021/03/making-history-sandbox/history-sandbox-mongolia-united_hu_a2d0d91e4e2c46f3.webp 768w, https://labs.cybozu.co.jp/blog/akky/2021/03/making-history-sandbox/history-sandbox-mongolia-united_hu_1666dc087403475d.webp 1167w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2021/03/making-history-sandbox/history-sandbox-mongolia-united.png&#34; width=&#34;1167&#34; height=&#34;862&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;モンゴル高原統一(1206)時の諸勢力&lt;/p&gt;&#xA;&lt;p&gt;エリアを選んで名前や勢力名を設定したり、色を変更したりできます。&lt;/p&gt;&#xA;&lt;p&gt;いくつかの時代の勢力図をロードすることもできます&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;アレクサンダー大王&lt;/li&gt;&#xA;&lt;li&gt;モンゴルの台頭&lt;/li&gt;&#xA;&lt;li&gt;ヴァルナの戦い&lt;/li&gt;&#xA;&lt;li&gt;第二次世界大戦前夜&lt;/li&gt;&#xA;&lt;li&gt;現代&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2021/03/making-history-sandbox/history-sandbox-european-storm.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2021/03/making-history-sandbox/history-sandbox-european-storm_hu_6607ee6eb98ce228.webp 480w, https://labs.cybozu.co.jp/blog/akky/2021/03/making-history-sandbox/history-sandbox-european-storm_hu_cc6fa97b5bd72f73.webp 768w, https://labs.cybozu.co.jp/blog/akky/2021/03/making-history-sandbox/history-sandbox-european-storm_hu_9b3fc306d49fec1e.webp 1163w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2021/03/making-history-sandbox/history-sandbox-european-storm.png&#34; width=&#34;1163&#34; height=&#34;837&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;第二次世界大戦直前(1936)。フィリピンの帰属が間違ってますね。&lt;/p&gt;&#xA;&lt;p&gt;作成した勢力図は保存・読込ができます。利用者が作成したデータ「現代(2021)」「第一次世界大戦開戦(1914)」も追加されています。&lt;/p&gt;&#xA;&lt;p&gt;エリア単位で支配勢力を色塗りしていますが、エリアを分割したりすることもできるそうです。&lt;/p&gt;&#xA;&lt;p&gt;レイヤーのように複数の年代を並べて作り、切り替えていくこともできますが、これを使ったサンプルデータはまだなさそう。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2021/03/making-history-sandbox/history-sandbox-area-editor.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2021/03/making-history-sandbox/history-sandbox-area-editor_hu_f815a59716f8e217.webp 480w, https://labs.cybozu.co.jp/blog/akky/2021/03/making-history-sandbox/history-sandbox-area-editor_hu_266e225a86b05ac5.webp 741w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2021/03/making-history-sandbox/history-sandbox-area-editor.png&#34; width=&#34;741&#34; height=&#34;583&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;自分の興味ある時代を再現したり、架空の年代や勢力を塗り分けたりするのも面白そうです。&lt;/p&gt;</description>
			</item>
			<item>
				<title>JSONCrush - JSONをURIに圧縮して載せるためのライブラリ</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2019/11/jsoncrush-json-compresses-json-into-uri/</link>
				<pubDate>Thu, 28 Nov 2019 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2019/11/jsoncrush-json-compresses-json-into-uri/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://github.com/KilledByAPixel/JSONCrush&#34;&gt;KilledByAPixel/JSONCrush&lt;/a&gt; は、JSONをURLに載せやすい形に変換するライブラリです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://killedbyapixel.github.io/JSONCrush/&#34;&gt;JSONCrushのデモサイト&lt;/a&gt;。JSON形式のデータを左上に入力すると、それをテキストとして圧縮し(↓)、さらにURIとして使える文字に縁故度しています(→)。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2019/11/jsoncrush-json-compresses-json-into-uri/jsoncrush-demo-screenshot.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2019/11/jsoncrush-json-compresses-json-into-uri/jsoncrush-demo-screenshot_hu_a0e63217cdd56f7d.webp 480w, https://labs.cybozu.co.jp/blog/akky/2019/11/jsoncrush-json-compresses-json-into-uri/jsoncrush-demo-screenshot_hu_5d33c736709b3af6.webp 768w, https://labs.cybozu.co.jp/blog/akky/2019/11/jsoncrush-json-compresses-json-into-uri/jsoncrush-demo-screenshot_hu_96a9ff9c1e91c5eb.webp 1184w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2019/11/jsoncrush-json-compresses-json-into-uri/jsoncrush-demo-screenshot.png&#34; width=&#34;1184&#34; height=&#34;833&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;今回入れてみたJSONでは、そのままURIエンコードした場合に比べて52%、約半分のサイズとなりました。&lt;/p&gt;&#xA;&lt;p&gt;URLにユーザーが入力した結果のJSONデータをなるべく小さくして載せるというのがライブラリの目的です。URLに再現のためのパラメータが全部載っていれば、結果をブックマークしてもらえばいつでも同じパラメータのページが再現できます。サーバーサイドでいろいろ面倒な処理をして覚えておく必要がありません。&lt;/p&gt;&#xA;&lt;p&gt;そのままURLEncodeする手もあるけど、URLのサイズ上限(2000バイトちょっと)に引っ掛かるのは避けたい、と。HTTPパラメータとして個別に受け取ればもっとコンパクトにできるのでしょうけど、JSONのまま渡せるのは場合によっては楽なのでしょう。作り手側に楽という意味ですが。&lt;/p&gt;&#xA;&lt;p&gt;使ってる&lt;a href=&#34;http://jquerymy.com/jscrush/&#34;&gt;JSCrush ライブラリ&lt;/a&gt;が変換部分を担っていて、これは特定の文字列内でテキストをエンコードしてくれるもののようです。&lt;a href=&#34;http://www.iteral.com/jscrush/&#34;&gt;JSCrushのデモサイト&lt;/a&gt;はこちら。&lt;/p&gt;&#xA;&lt;p&gt;JSCrush は minify したものしかないらしく、 &lt;a href=&#34;https://nikhilism.com/post/2012/demystifying-jscrush/&#34;&gt;その動作を解析してる人&lt;/a&gt;がいました。この解説によれば、JSCrushライブラリは、1KbyteのJavaScriptで何ができるか、というコードゴルフコンテストの&lt;a href=&#34;http://js1k.com/2012-love/demo/1243&#34;&gt;2012年の作品&lt;/a&gt;で使われたものだそうです。&lt;/p&gt;&#xA;&lt;p&gt;via &lt;a href=&#34;https://news.ycombinator.com/item?id=21641760&#34;&gt;Hacker News&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>AWSの日本サーバのIPアドレスのリストを得る</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2018/03/list-aws-ec2-servers-in-japan/</link>
				<pubDate>Tue, 20 Mar 2018 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2018/03/list-aws-ec2-servers-in-japan/</guid>
				<description>&lt;p&gt;ツールのインストールなしで。&lt;/p&gt;&#xA;&lt;p&gt;EC2サーバーなどのIPアドレスの範囲については、AWS公式が&lt;a href=&#34;https://ip-ranges.amazonaws.com/ip-ranges.json&#34;&gt;JSON形式で最新の情報を公開して&lt;/a&gt;います。&lt;/p&gt;&#xA;&lt;p&gt;AWSのサーバ「からのアクセスを禁止したい」とか「からだけアクセスを許可したい」という時は、ここから対象となるサーバのリストを抽出することになります。&lt;/p&gt;&#xA;&lt;p&gt;公式ドキュメントでは &lt;a href=&#34;https://stedolan.github.io/jq/&#34;&gt;jq&lt;/a&gt; を使ってフィルタすると&lt;a href=&#34;https://docs.aws.amazon.com/ja_jp/general/latest/gr/aws-ip-ranges.html&#34;&gt;いいよ、と言っています&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;p&gt;jq をオンラインで実行できるサービス &lt;a href=&#34;https://jqplay.org/&#34;&gt;jq play&lt;/a&gt;があるので、これをブラウザで開き、JSON のところに先ほどの公式のJSON の中身を貼りつけます。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2018/03/list-aws-ec2-servers-in-japan/jq-play-screenshot-1.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2018/03/list-aws-ec2-servers-in-japan/jq-play-screenshot-1_hu_46f00829ecccedc4.webp 480w, https://labs.cybozu.co.jp/blog/akky/2018/03/list-aws-ec2-servers-in-japan/jq-play-screenshot-1_hu_63a666a752cb8298.webp 768w, https://labs.cybozu.co.jp/blog/akky/2018/03/list-aws-ec2-servers-in-japan/jq-play-screenshot-1_hu_6cb449973f328d7e.webp 1079w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2018/03/list-aws-ec2-servers-in-japan/jq-play-screenshot-1.png&#34; width=&#34;1079&#34; height=&#34;778&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;フィルタとして、たとえば、「東京と大阪リージョンのEC2のアドレスを絞りこむ」だと、以下を入れます。&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;.prefixes[] | select(.region==&amp;quot;ap-northeast-1&amp;quot; or .region==&amp;quot;ap-northeast-3&amp;quot;) | select(.service==&amp;quot;EC2&amp;quot;) | .ip_prefix&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;ダブルクオートが不要であれば、Raw Output にチェックを入れましょう。&lt;/p&gt;&#xA;&lt;p&gt;[訂正] はてブでご指摘いただきました。大阪は ap-northeast-3 ですね。ごめんなさい&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2018/03/list-aws-ec2-servers-in-japan/jq-play-screenshot-2.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2018/03/list-aws-ec2-servers-in-japan/jq-play-screenshot-2_hu_63647851d70c649d.webp 480w, https://labs.cybozu.co.jp/blog/akky/2018/03/list-aws-ec2-servers-in-japan/jq-play-screenshot-2_hu_f39a097d6998c486.webp 768w, https://labs.cybozu.co.jp/blog/akky/2018/03/list-aws-ec2-servers-in-japan/jq-play-screenshot-2_hu_6900326c08b2db56.webp 1082w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2018/03/list-aws-ec2-servers-in-japan/jq-play-screenshot-2.png&#34; width=&#34;1082&#34; height=&#34;710&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;jq play の結果は、permalink 化して共有できます。右上の&amp;quot;Share snippet&amp;quot; から。&lt;/p&gt;&#xA;&lt;p&gt;今日の時点でのIPアドレスの範囲は、&lt;a href=&#34;https://jqplay.org/s/LtXR8qfo6D&#34;&gt;こんな風に&lt;/a&gt;でました。&lt;/p&gt;&#xA;&lt;p&gt;# 今回は、公開されているデータを絞り込んだだけなので問題ないと思います。社外に漏れたら困るようなJSONを、こういったサイトに突っ込むのはやめましょう。念のため&lt;/p&gt;</description>
			</item>
			<item>
				<title>Chess.com のiPhone版が32bitオーバーフローで動かなくなる</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2017/06/chess-com-iphone-app-stopped-by-32bit-overflow/</link>
				<pubDate>Fri, 16 Jun 2017 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2017/06/chess-com-iphone-app-stopped-by-32bit-overflow/</guid>
				<description>&lt;p&gt;オンラインのチェス対局コミュニティ&lt;a href=&#34;https://www.chess.com/&#34;&gt;Chess.com&lt;/a&gt;のスマートフォン版が、プログラムのバグによって動かなくなる事件が発生していたそうです。&lt;/p&gt;&#xA;&lt;p&gt;13日に公式フォーラムでiOS版ユーザーから&lt;a href=&#34;https://www.chess.com/forum/view/general/impossible-de-jouer-depuis-deux-jours-quel-est-le-probleme&#34;&gt;「動かない」という声が上がりはじめ&lt;/a&gt;、開発チームが調査したところ、これまでにchess.com 上でプレイされたゲーム回数が 21億回を超えていたことが判明。正確には 2,147,483,647 回越えで、プログラマーならピンとくると思いますが、2^31, 符号付き32bit整数の最大値です。&lt;/p&gt;&#xA;&lt;p&gt;サイト全体が動かなくなったのではなく、2013年以前のiPhoneを使っているユーザーだけに不具合が起こっていたので、運営もなかなか気づけなかったということ。運営ではみんなが新しいiPhoneを使っていたんですね。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.chess.com/news/view/the-unique-reason-the-broken-now-fixed-chess-com-app-made-headlines-6918&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2017/06/chess-com-iphone-app-stopped-by-32bit-overflow/chess-com-overflow-foudn-665c394f0a_hu_8028b443c6550245.webp 480w, https://labs.cybozu.co.jp/blog/akky/2017/06/chess-com-iphone-app-stopped-by-32bit-overflow/chess-com-overflow-foudn-665c394f0a_hu_855c253c8f1a0621.webp 517w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2017/06/chess-com-iphone-app-stopped-by-32bit-overflow/chess-com-overflow-foudn-665c394f0a.png&#34; width=&#34;517&#34; height=&#34;268&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;32bit版のiOSを使う古いiPhone や iPad では、chess.com サーバから送られてきた JSON の解釈が、なぜか元と異なる値になってしまっていた、と。&lt;/p&gt;&#xA;&lt;p&gt;開発チームは、クライアント側の修正とサーバ側の修正の2案を用意しましたが、テストチームのテストを通した後、ハック的でその場しのぎなサーバ側の修正は反映せず、Appleのアップストア側のアプリを新バージョンに更新することで修正としたそうです。&lt;/p&gt;&#xA;&lt;p&gt;記念すべきオーバーフローを最初に引き起こした対局が&lt;a href=&#34;https://www.chess.com/live/game/2147483648&#34;&gt;こちら&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.chess.com/live/game/2147483648&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2017/06/chess-com-iphone-app-stopped-by-32bit-overflow/chess-com-overflown-game_hu_7f1fb8a581d9350d.webp 480w, https://labs.cybozu.co.jp/blog/akky/2017/06/chess-com-iphone-app-stopped-by-32bit-overflow/chess-com-overflown-game_hu_8e4fa47190fc1b58.webp 768w, https://labs.cybozu.co.jp/blog/akky/2017/06/chess-com-iphone-app-stopped-by-32bit-overflow/chess-com-overflown-game_hu_715beb4e0604a95e.webp 990w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2017/06/chess-com-iphone-app-stopped-by-32bit-overflow/chess-com-overflown-game.png&#34; width=&#34;990&#34; height=&#34;624&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Hacker News やIT系のニュースで多く取り上げられたことで、「これまでの対局が21億回もある」という点がクロースアップされ、サイト的には良い宣伝にもなったようです。&lt;/p&gt;&#xA;&lt;p&gt;via &lt;a href=&#34;https://news.ycombinator.com/item?id=14539770&#34;&gt;Hacker News&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Depressed? 自分が憂鬱かどうかをAPI提供できるオープンソースアプリ</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2015/12/open-source-tool-just-gives-your-depression-status/</link>
				<pubDate>Thu, 17 Dec 2015 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2015/12/open-source-tool-just-gives-your-depression-status/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://github.com/TheJokersThief/AreYouDepressed-/&#34;&gt;AreYouDepressed&lt;/a&gt; は、自分の状態が鬱かどうかを知らせるためだけのサイトと、そのAPIを提供するためのソフトウェアです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://depressed.evan.netsoc.co/&#34;&gt;デモサイト&lt;/a&gt;にアクセスすると、鬱なら&amp;quot;Yes&amp;quot;、そうでないなら&amp;quot;No&amp;quot;が、色やバックグラウンドのアニメーションをそれぞれ変えて、表示されます。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://depressed.evan.netsoc.co/&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2015/12/open-source-tool-just-gives-your-depression-status/is-evan-depressed-no_hu_1c723012e742b82a.webp 480w, https://labs.cybozu.co.jp/blog/akky/2015/12/open-source-tool-just-gives-your-depression-status/is-evan-depressed-no_hu_10d5ae8054bdf4f.webp 768w, https://labs.cybozu.co.jp/blog/akky/2015/12/open-source-tool-just-gives-your-depression-status/is-evan-depressed-no_hu_b0531a80d4965050.webp 821w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2015/12/open-source-tool-just-gives-your-depression-status/is-evan-depressed-no.png&#34; width=&#34;821&#34; height=&#34;718&#34; alt=&#34;is-evan-depressed-no&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;設置者には、4時間置きに指定したアドレスにメールが届き、&amp;ldquo;Yes&amp;quot;か&amp;quot;No&amp;quot;をクリックすることで状態が更新されます。&lt;/p&gt;&#xA;&lt;p&gt;JSON APIで&lt;a href=&#34;https://depressed.evan.netsoc.co/json&#34;&gt;現在の状態&lt;/a&gt;や、&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2015/12/open-source-tool-just-gives-your-depression-status/is-evan-depressed-api.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2015/12/open-source-tool-just-gives-your-depression-status/is-evan-depressed-api_hu_354de2e7c215361e.webp 480w, https://labs.cybozu.co.jp/blog/akky/2015/12/open-source-tool-just-gives-your-depression-status/is-evan-depressed-api_hu_a5d42290868cd078.webp 693w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2015/12/open-source-tool-just-gives-your-depression-status/is-evan-depressed-api.png&#34; width=&#34;693&#34; height=&#34;119&#34; alt=&#34;is-evan-depressed-api&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://depressed.evan.netsoc.co/json/all&#34;&gt;最近の履歴&lt;/a&gt;を取得することもできます。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2015/12/open-source-tool-just-gives-your-depression-status/is-evan-depressed-api-all.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2015/12/open-source-tool-just-gives-your-depression-status/is-evan-depressed-api-all_hu_40781213c989c012.webp 480w, https://labs.cybozu.co.jp/blog/akky/2015/12/open-source-tool-just-gives-your-depression-status/is-evan-depressed-api-all_hu_21ce900953818998.webp 588w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2015/12/open-source-tool-just-gives-your-depression-status/is-evan-depressed-api-all.png&#34; width=&#34;588&#34; height=&#34;297&#34; alt=&#34;is-evan-depressed-api-all&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;メールだけでなく、&lt;a href=&#34;https://depressed.evan.netsoc.co/admin&#34;&gt;管理画面&lt;/a&gt;から更新したり、状態を問い合わせるメールを送らない時間帯を指定したりする機能もあります。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2015/12/open-source-tool-just-gives-your-depression-status/is-evan-depressed-admin.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2015/12/open-source-tool-just-gives-your-depression-status/is-evan-depressed-admin_hu_2576403e56546f1d.webp 308w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2015/12/open-source-tool-just-gives-your-depression-status/is-evan-depressed-admin.png&#34; width=&#34;308&#34; height=&#34;835&#34; alt=&#34;is-evan-depressed-admin&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;PHPのLaravelフレームワーク上に構築されたアプリのソースは&lt;a href=&#34;https://github.com/TheJokersThief/AreYouDepressed-/&#34;&gt;GitHubで公開&lt;/a&gt;されていて、自分用の同種のサイトを公開することができます。&lt;/p&gt;&#xA;&lt;p&gt;鬱状態を広く世界に通知する以外にも、状態を伝えるという単機能のサービスとして何か使いみちがありそうな気もします。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://depressed.evan.netsoc.co/&#34;&gt;https://depressed.evan.netsoc.co&lt;/a&gt;&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
