<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>2019-11 on akky@サイボウズラボ・ブログ</title>
		<link>https://labs.cybozu.co.jp/blog/akky/archives/2019-11/</link>
		<description>Recent content in 2019-11 on akky@サイボウズラボ・ブログ</description>
		<generator>Hugo</generator>
		<language>ja</language>
		
		
		
		
			<lastBuildDate>Fri, 29 Nov 2019 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://labs.cybozu.co.jp/blog/akky/archives/2019-11/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>playball - コンソールでメジャーリーグの試合経過を見るツール</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2019/11/playball-watch-mlb-on-console/</link>
				<pubDate>Fri, 29 Nov 2019 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2019/11/playball-watch-mlb-on-console/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://github.com/paaatrick/playball&#34;&gt;paaatrick/playball&lt;/a&gt;は、ターミナル画面でMLBの途中経過を見るためのツールです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2019/11/playball-watch-mlb-on-console/playball.gif&#34;&gt;&lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2019/11/playball-watch-mlb-on-console/playball.gif&#34; width=&#34;916&#34; height=&#34;635&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;起動すると現在行われている試合のリストが表示され、選択するとその試合のここまでの打席結果など詳細も表示することができます。&lt;/p&gt;&#xA;&lt;p&gt;…はずなのですが、ローカルで試してみたのですが、エラーになってしまいます。調べると&lt;a href=&#34;https://github.com/paaatrick/playball/issues/8&#34;&gt;試合がないオフシーズンはエラーメッセージが出るだけ&lt;/a&gt;というチケットがありました。動かすのは春までお預けですね。&lt;/p&gt;&#xA;&lt;p&gt;CUIの描画にはblessed と&lt;a href=&#34;https://github.com/Yomguithereal/react-blessed&#34;&gt;React-blessed&lt;/a&gt;が使われています。 Reactベースなんだ。&lt;/p&gt;&#xA;&lt;p&gt;via Hacker News&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>Codem Ipsum - ソースコードを Loren Ipsum化</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2019/11/codem-ipsum-ipsumises-source-code/</link>
				<pubDate>Tue, 26 Nov 2019 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2019/11/codem-ipsum-ipsumises-source-code/</guid>
				<description>&lt;p&gt;JavaScript のソースコードを左側のペインに入れると、Loren Ipsum風に関数・変数名を置き換えて右側に表示してくれる、という&lt;a href=&#34;https://codemipsum.pomb.us/&#34;&gt;webサービス&lt;/a&gt;です。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ja.wikipedia.org/wiki/Lorem_ipsum&#34;&gt;本やウェブサイト制作時の文章のダミーとして使われることで有名な Lorem Ipsum&lt;/a&gt; のように、ソースコードのダミーとして使うことができるということ。&lt;/p&gt;&#xA;&lt;p&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2019/11/codem-ipsum-ipsumises-source-code/codem-ipsum_hu_4b0f406417680f0b.webp 480w, https://labs.cybozu.co.jp/blog/akky/2019/11/codem-ipsum-ipsumises-source-code/codem-ipsum_hu_cfbf22f6feb3e4e3.webp 768w, https://labs.cybozu.co.jp/blog/akky/2019/11/codem-ipsum-ipsumises-source-code/codem-ipsum_hu_3ef76ab7f6e281f9.webp 1282w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2019/11/codem-ipsum-ipsumises-source-code/codem-ipsum.png&#34; width=&#34;1282&#34; height=&#34;732&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/p&gt;&#xA;&lt;p&gt;作者は「&lt;a href=&#34;https://news.ycombinator.com/item?id=21544462&#34;&gt;文法的には正しいまま、ダミーのコードを作りたかった&lt;/a&gt;」とのことです。変換後のコードも動くのか、は不明です。たぶんいろいろ不具合がでるんじゃないかな。&lt;/p&gt;&#xA;&lt;p&gt;ソースコードは公開されたサイトのhtmlそのままですが、&lt;a href=&#34;https://github.com/pomber/codem-ipsum&#34;&gt;GitHub にも上がっています&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;p&gt;via &lt;a href=&#34;https://news.ycombinator.com/item?id=21544051&#34;&gt;Hacker News&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Net Work Days - 見積もりに土日を入れる? 週7日と週5日で日数を数えるアプリ</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2019/11/net-work-days-without-weekends-2/</link>
				<pubDate>Fri, 08 Nov 2019 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2019/11/net-work-days-without-weekends-2/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://play.google.com/store/apps/details?id=appinventor.ai_scriptedsolution.NetWorkDays&#34;&gt;Net Work Days&lt;/a&gt; は、開始日と終了日の二つを入力すると、その二つの間の日数を数えてくれるという単機能の Android アプリです。&lt;/p&gt;&#xA;&lt;p&gt;この単純なアプリの特徴であり最大の差別化要素は、一週間を7日として日数を数える「普通のモード」と、一週間を5日として数える、「週末はちゃんと休むモード」の二通りで計算してくれるところ。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://developer.cybozu.co.jp/akky/wp-content/uploads/2019/11/net-work-days.png&#34;&gt;&lt;img src=&#34;http://developer.cybozu.co.jp/akky/wp-content/uploads/2019/11/net-work-days.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&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.linkedin.com/posts/valais_use-community-freeapp-activity-6592486823547805696-EYiW/&#34;&gt;(58) LinkedIn&lt;/a&gt;&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
