<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>2022-01 on akky@サイボウズラボ・ブログ</title>
		<link>https://labs.cybozu.co.jp/blog/akky/archives/2022-01/</link>
		<description>Recent content in 2022-01 on akky@サイボウズラボ・ブログ</description>
		<generator>Hugo</generator>
		<language>ja</language>
		
		
		
		
			<lastBuildDate>Fri, 28 Jan 2022 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://labs.cybozu.co.jp/blog/akky/archives/2022-01/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>初回で当てる。Wordle必勝法? on Kaggle</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/01/get-wordle-answer-from-tweets/</link>
				<pubDate>Fri, 28 Jan 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/01/get-wordle-answer-from-tweets/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://www.powerlanguage.co.uk/wordle/&#34;&gt;英単語当てクイズゲーム Wordle&lt;/a&gt; のブームは、プログラマ中心に止むことなく、様々なバリエーションの Wordle &lt;a href=&#34;https://aseruneko.github.io/WORDLEja/&#34;&gt;クローン&lt;/a&gt;や&lt;a href=&#34;https://edjefferson.com/letterle/&#34;&gt;パロディ&lt;/a&gt;、&lt;a href=&#34;http://localhost:8099/2022/01/wordle-best-starting-move/&#34;&gt;最善手を求める解析&lt;/a&gt;やソルバーなどが毎日のように発表されています。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/get-wordle-answer-from-tweets/wordle-result.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/get-wordle-answer-from-tweets/wordle-result_hu_8931965b413bf814.webp 128w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/get-wordle-answer-from-tweets/wordle-result.png&#34; width=&#34;128&#34; height=&#34;179&#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;a href=&#34;https://www.kaggle.com/benhamner/wordle-1-6/notebook&#34;&gt;「Wordle を初手で解く」方法&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;p&gt;ゲームの性質上、とんでもない偶然でもなければ初手で解けるはずはありません。つまり何かしらズルをしているのです。&lt;/p&gt;&#xA;&lt;p&gt;Wordle の棋譜(途中経過)は⬛🟨🟩のブロックを使って表され、解いた後にツイッターで自分の結果を共有することができます。というか、このSNSでの共有機能こそが Wordle の大ブームを起こしたわけです。&lt;/p&gt;&#xA;&lt;p&gt;この共有棋譜は、もちろんアルファベットの情報は載せず、試行錯誤の跡だけが見えるようになっています。&lt;/p&gt;&#xA;&lt;p&gt;しかし、多くの人が試行錯誤した経路の情報が十分多くあれば、そこから正答を推測できるのではないか、というのがこのプロジェクトの考え方。&lt;/p&gt;&#xA;&lt;p&gt;結果報告は上から下に向けて🟩(アルファベットの場所も種類も合致)、🟨(アルファベットの存在は合うが位置が違う)、⬛(外れ)が少なくなるのが普通です。一番下の段は正解なので🟩🟩🟩🟩🟩になります。&lt;/p&gt;&#xA;&lt;p&gt;正解の一つ前の段は🟩や🟨多めになっているわけですが、どの段もWordle が扱う5文字の英単語ではあるはずです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.kaggle.com/benhamner/wordle-simulations&#34;&gt;あらかじめソルバーをぶん回して得ておいた、&lt;/a&gt;間違った単語から正解の単語へたどり着く際に良く起こる単語→単語の現れる割合のデータを元に、⬛🟨🟩のパターンに当てはまりそうな英単語を探すことで、いろいろな人がツイッターで発表した⬛🟨🟩の形の分布だけから、その日の正解の単語を当てることができるということです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.kaggle.com/benhamner/wordle-1-6/log&#34;&gt;ログ&lt;/a&gt;ではこのプロジェクトを始めた第210回からの予想が出ていますが、14回連続で一発で正答を当てていますね。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.kaggle.com/benhamner/wordle-1-6/log&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/get-wordle-answer-from-tweets/world-1-6-logs_hu_69d6e77ea4eff170.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/01/get-wordle-answer-from-tweets/world-1-6-logs_hu_ef76815b6689e1c3.webp 676w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/get-wordle-answer-from-tweets/world-1-6-logs.png&#34; width=&#34;676&#34; height=&#34;808&#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;&#xA;&lt;p&gt;ウェブ上にはWordleの正答だけでなく色々な「ぼかして書いた」情報が流れていると思いますが、こんな考え方を適用することでぼかされていたものをプログラムでひそかに当てる、ということもできそうです。&lt;/p&gt;&#xA;&lt;p&gt;via &lt;a href=&#34;https://news.ycombinator.com/item?id=30101456&#34;&gt;Hacker News&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Emoji 📈 上昇折れ線グラフの色はなぜ赤なのか? Emojiが日本発だからだ</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/01/why-chart-increasing-emoji-drawn-in-red/</link>
				<pubDate>Wed, 26 Jan 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/01/why-chart-increasing-emoji-drawn-in-red/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://blog.emojipedia.org/why-does-the-chart-increasing-emoji-show-in-red/&#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;&lt;a href=&#34;https://www.google.com/search?q=google&amp;#43;stock&amp;amp;hl=en&#34;&gt;Googleの英語版で Google の株価を検索&lt;/a&gt;すると、株価が下がっている時の文字もグラフも赤色ですが、&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/why-chart-increasing-emoji-drawn-in-red/google-stock-chart-google-english.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/why-chart-increasing-emoji-drawn-in-red/google-stock-chart-google-english_hu_fe6d23e93af9dfbb.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/01/why-chart-increasing-emoji-drawn-in-red/google-stock-chart-google-english_hu_bb21c813029a91c.webp 717w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/why-chart-increasing-emoji-drawn-in-red/google-stock-chart-google-english.png&#34; width=&#34;717&#34; height=&#34;668&#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;同じGoogleでも日本語版で検索すると、下がってる時は緑色、と逆の配色になっています。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/why-chart-increasing-emoji-drawn-in-red/google-stock-chart-google-japanese.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/why-chart-increasing-emoji-drawn-in-red/google-stock-chart-google-japanese_hu_9a5edad7ba85b24f.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/01/why-chart-increasing-emoji-drawn-in-red/google-stock-chart-google-japanese_hu_eb61db5e1c9a4bcb.webp 689w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/why-chart-increasing-emoji-drawn-in-red/google-stock-chart-google-japanese.png&#34; width=&#34;689&#34; height=&#34;728&#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;&#xA;&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;ok we don&amp;#39;t understand stonks but we do get emojis:&lt;br&gt;&lt;br&gt;Why is the 📈 Chart Increasing emoji shown in red and not 🟢 green?&lt;br&gt;&lt;br&gt;This emoji originates in Japan, and is shown in red there, because that&amp;#39;s the color used on the Tokyo Stock Exchange for increases &lt;a href=&#34;https://t.co/lETnOR2UHg&#34;&gt;https://t.co/lETnOR2UHg&lt;/a&gt; &lt;a href=&#34;https://t.co/t2LMcBJlWJ&#34;&gt;pic.twitter.com/t2LMcBJlWJ&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Load of the Codes - プログラマ向けテキストアドベンチャーゲーム(序章)</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/01/load-of-the-codes/</link>
				<pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/01/load-of-the-codes/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://www.lordofthecodes.com/&#34;&gt;Lord Of The Codes&lt;/a&gt; は、RPG風の中世世界を舞台にしたテキストアドベンチャーゲーム。パズルを解くことで先へと進むゲームです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.lordofthecodes.com/&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/load-of-the-codes/lordofthecodes-top_hu_23b11493fa669569.webp 466w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/load-of-the-codes/lordofthecodes-top.png&#34; width=&#34;466&#34; height=&#34;214&#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;偉大な魔術師コナルド・ドゥヌース(Konald Dnuth。どっかで聞いたような名前)と組んで迷宮を進むあなたは、物語の中に出てくるヒントから、謎を解いて入力し、正解することで先へ進むことができます。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/load-of-the-codes/lordofthecodes-level0.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/load-of-the-codes/lordofthecodes-level0_hu_570446062db097c3.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/01/load-of-the-codes/lordofthecodes-level0_hu_92f89bbb815fdf93.webp 754w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/load-of-the-codes/lordofthecodes-level0.png&#34; width=&#34;754&#34; height=&#34;687&#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;a href=&#34;https://replit.com/&#34;&gt;Replit&lt;/a&gt;による Python インタプリタ環境が埋め込まれていて、これを使って謎を解いても構いません。手元で他の言語で解いても、あるいは暗算(!)で解いても、正答さえ入れれば先へ進むことができます。&lt;/p&gt;&#xA;&lt;p&gt;現在、2問答えるともうゲームは行き止まりで、メール登録フォームが案内されます。登録すると完全版が公開された際に優先で案内されるみたいです。&lt;/p&gt;&#xA;&lt;p&gt;ずいぶん初期の段階で公開したものだな、と思いますが、反響があればこの先が作られやすいかもしれませんね。&lt;/p&gt;&#xA;&lt;p&gt;via reddit&lt;/p&gt;</description>
			</item>
			<item>
				<title>Stack Overflow が求人機能の廃止を発表</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/01/stack-overflow-to-cease-job-listing/</link>
				<pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/01/stack-overflow-to-cease-job-listing/</guid>
				<description>&lt;p&gt;技術系Q&amp;amp;Aサイトの &lt;a href=&#34;https://stackoverflow.com/&#34;&gt;Stack Overflow&lt;/a&gt; が&lt;a href=&#34;https://meta.stackoverflow.com/questions/415293/sunsetting-jobs-developer-story&#34;&gt;ジョブ機能と開発者ストーリー機能の3末での廃止を発表&lt;/a&gt;しています。&lt;/p&gt;&#xA;&lt;p&gt;Stack Overflow やその他のカテゴリ毎の多くの質問掲示板を抱える &lt;a href=&#34;https://stackexchange.com/&#34;&gt;Stack Exchange&lt;/a&gt; では、技術的な問題への解決法を検索する人たちのための場所を提供し続けて質問と解決法のセットの巨大なコンテンツを持つにいたりました。Stack Overflow は日本語版を作って日本語市場にも参入しています。&lt;/p&gt;&#xA;&lt;p&gt;技術者が毎日のように検索結果から集まることから、技術者向けの求人広告の場所を売るというのもマネタイズとしては自然で、英語版の Stack Overflow を見ていてもサイドバーに楽天やメルカリなど、英語圏でも多く活動している日本企業の求人を見かけることも多くあります。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://stackoverflow.com/jobs&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/stack-overflow-to-cease-job-listing/stack-overflow-job-listing_hu_29cda6cb2bcdb54d.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/01/stack-overflow-to-cease-job-listing/stack-overflow-job-listing_hu_9ddf11f54671efb0.webp 768w, https://labs.cybozu.co.jp/blog/akky/2022/01/stack-overflow-to-cease-job-listing/stack-overflow-job-listing_hu_3800bad70e561dcb.webp 1120w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/stack-overflow-to-cease-job-listing/stack-overflow-job-listing.png&#34; width=&#34;1120&#34; height=&#34;763&#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;&#xA;&lt;p&gt;強力な競合というのは LinkedIn とか Indeed とか Glassdoor とかでしょうかね。採用されるエンジニア側のコミュニティよりも、採用担当者やエージェントのコミュニティの方が強かったりするのかもしれません。後者は採用に関して予算を持ってる方ですし。&lt;/p&gt;&#xA;&lt;p&gt;あるいは、普段技術的な調べ物で使っているユーザーも、転職先を探す時に Stack Overflow を見てみよう、とはならなかったのかもしれません。&lt;/p&gt;&#xA;&lt;p&gt;via &lt;a href=&#34;https://www.reddit.com/r/programming/comments/s8fem9/stack_overflow_will_be_discontinuing_jobs/&#34;&gt;reddit/programming&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>disposable-email-domains - 使い捨てメールのドメイン一覧</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/01/disposable-email-domains/</link>
				<pubDate>Fri, 21 Jan 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/01/disposable-email-domains/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://github.com/disposable-email-domains/disposable-email-domains&#34;&gt;disposable-email-domains/disposable-email-domains&lt;/a&gt; は、使い捨てメールアドレスのサービスで提供されるメールアドレスのドメインを収集しているオープンデータです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/disposable-email-domains/disposable-email-domains&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/disposable-email-domains/disposable-email-domains-on-github_hu_750c670dfa189099.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/01/disposable-email-domains/disposable-email-domains-on-github_hu_f04ff3c1ff3ed00.webp 768w, https://labs.cybozu.co.jp/blog/akky/2022/01/disposable-email-domains/disposable-email-domains-on-github_hu_bd3e7d76984c56c1.webp 956w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/disposable-email-domains/disposable-email-domains-on-github.png&#34; width=&#34;956&#34; height=&#34;716&#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;&#xA;&lt;p&gt;それを嫌がって、一時的にだけ転送が行われる使い捨てメールのサービスを使って、いわば「使い逃げ」してしまうサービス利用者も現れます。 ９ 今回のドメインリストは、そういった長期的に顧客となることがないユーザー、サービスの利用(掲示板への投稿など)に責任を持たずに逃げてしまうユーザー、を避けるという意味で、メール登録を要求するサービス運営者にとって有用なものではないでしょうか。&lt;/p&gt;&#xA;&lt;p&gt;同時に提供されている &lt;a href=&#34;https://github.com/disposable-email-domains/disposable-email-domains/blob/master/allowlist.conf&#34;&gt;allowlist.conf&lt;/a&gt; ファイルの方は、「使い捨てメールに間違えられやすいが使い捨てではないアドレスのリスト」ということで、これも有用でしょう。&lt;/p&gt;</description>
			</item>
			<item>
				<title>Game of Codes - プログラミングツールやライブラリの勢力を表した架空の世界地図</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/01/game-of-codes-programming-tools-fantasy-maps/</link>
				<pubDate>Fri, 21 Jan 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/01/game-of-codes-programming-tools-fantasy-maps/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://gameofcodes.art/&#34;&gt;Game of Codes&lt;/a&gt; は、プログラミング技術の人気度を基に勢力争いを架空の地図に表すというプロジェクトです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://gameofcodes.art/img/goc/2021.jpg&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/game-of-codes-programming-tools-fantasy-maps/game-of-codes-javascript-frameworks-2021_hu_f4dd12a1b1bcca0.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/01/game-of-codes-programming-tools-fantasy-maps/game-of-codes-javascript-frameworks-2021_hu_c6ad2386a74e2442.webp 740w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/game-of-codes-programming-tools-fantasy-maps/game-of-codes-javascript-frameworks-2021.png&#34; width=&#34;740&#34; height=&#34;412&#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;フロントエンドJavaScriptライブラリ2021の勢力地図(クリックでオリジナルを表示)がこれ。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ja.reactjs.org/&#34;&gt;React&lt;/a&gt; が帝国であるのに対し、&lt;a href=&#34;https://angular.io/&#34;&gt;Angular&lt;/a&gt;, &lt;a href=&#34;https://v3.ja.vuejs.org/&#34;&gt;Vue&lt;/a&gt;, jQuery が王国、&lt;a href=&#34;https://svelte.dev/&#34;&gt;Svelte&lt;/a&gt; が公国なのは「規模感」だそうなので、国名はデータからプログラムが決めているわけではないようです。&lt;/p&gt;&#xA;&lt;p&gt;各国のサイズは過去12か月間の npm でのダウンロード数をベースにしているそうです。&lt;/p&gt;&#xA;&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;What if &lt;a href=&#34;https://x.com/hashtag/javascript?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#javascript&lt;/a&gt; libraries were countries?&lt;br&gt;&lt;br&gt;Will the &lt;a href=&#34;https://x.com/hashtag/React?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#React&lt;/a&gt; Empire dominate the world? Will the Kingdom of &lt;a href=&#34;https://x.com/hashtag/Vue?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#Vue&lt;/a&gt; stop the invasion? Will Kingdom of &lt;a href=&#34;https://x.com/hashtag/Angular?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#Angular&lt;/a&gt;  regain its position?&lt;br&gt;&lt;br&gt;See Game of Codes project ⚔️&lt;a href=&#34;https://t.co/jrX3TOVMJf&#34;&gt;https://t.co/jrX3TOVMJf&lt;/a&gt; &lt;a href=&#34;https://t.co/BXz85tzXCq&#34;&gt;pic.twitter.com/BXz85tzXCq&lt;/a&gt;&lt;/p&gt;&amp;mdash; Michal Szymanski (@longevity_os) &lt;a href=&#34;https://x.com/longevity_os/status/1480456924579704833?ref_src=twsrc%5Etfw&#34;&gt;January 10, 2022&lt;/a&gt;&lt;/blockquote&gt;&#xA;&lt;script async src=&#34;https://platform.x.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;&#xA;&#xA;&#xA;&lt;p&gt;&lt;a href=&#34;https://gameofcodes.art/img/goc/2015.jpg&#34;&gt;2015年版の地図&lt;/a&gt; と比べると、6年間でも勢力が変化していますね。Ember とか Backbone とか、そんなのあったなあ、という感じです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://gameofcodes.art/css.html&#34;&gt;CSSフレームワークについても同じような架空地図&lt;/a&gt;が公開されています。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://gameofcodes.art/css.html&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/game-of-codes-programming-tools-fantasy-maps/game-of-codes-css-frameworks-2021_hu_e1a666c5fbf50d7c.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/01/game-of-codes-programming-tools-fantasy-maps/game-of-codes-css-frameworks-2021_hu_2a5209a3a44b2dd0.webp 741w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/game-of-codes-programming-tools-fantasy-maps/game-of-codes-css-frameworks-2021.png&#34; width=&#34;741&#34; height=&#34;384&#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;a href=&#34;https://xkcd.com/256/&#34;&gt;SNSの勢力図で似たようなもの&lt;/a&gt;がありました。地図の形にすることで詳しくない人に大雑把な関係性が伝えられる場合もあるでしょう。&lt;/p&gt;</description>
			</item>
			<item>
				<title>CodeCaptcha - プログラマーだけを通すための CAPTCHA サービス</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/01/code-captcha/</link>
				<pubDate>Wed, 19 Jan 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/01/code-captcha/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://www.codecaptcha.io/&#34;&gt;CodeCaptcha.io&lt;/a&gt; は、文字通り Code で CAPTCHA させるためのサービスです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.codecaptcha.io/&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/code-captcha/codecaptcha-io-top_hu_116b60f477293e7.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/01/code-captcha/codecaptcha-io-top_hu_7b85d1cb6f49d4d0.webp 496w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/code-captcha/codecaptcha-io-top.png&#34; width=&#34;496&#34; height=&#34;472&#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;webサービスの利用や登録時に、プログラム(bot)による不正な自動投稿や大量の連続投稿・いやがらせなどを防ぐため、人間でないとできない入力を要求する CAPTCHA 、一番よく見かけるのはグネグネと曲げられたりした文字列を入力するものだと思います。&lt;/p&gt;&#xA;&lt;p&gt;一般的なCAPTCHA の目的はbot を弾いて人間を通す関所のような役目ですが、CodeCaptcha では、この通行資格を人間ではなくプログラマ、あるいは少なくともプログラミングが多少わかる人、としているわけです。&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/2022/01/code-captcha/codecaptcha-io-demo.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/code-captcha/codecaptcha-io-demo_hu_7c0a76b26dd522d3.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/01/code-captcha/codecaptcha-io-demo_hu_a7acb6802a4642da.webp 615w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/code-captcha/codecaptcha-io-demo.png&#34; width=&#34;615&#34; height=&#34;364&#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;「プログラマといったって、道具も言語も人によってバラバラだろうし、どんな問題が出るのか?」と思いましたが、言語は JavaScript です。特にweb系のプログラマ向けなら妥当な選択ですね。そして、その中身もこれぐらいなら他言語しか知らないプログラマでも問題ないかと。&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;function isEvenNumber(num) { return false; // Fix this }&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;// Fix this とあるように、関数名の意図にあうような結果を出すようにこのプログラムを直せばいいんですね。&lt;/p&gt;&#xA;&lt;p&gt;コードを書き換えるにつれて、リアルタイムでテスト結果が下部に表示されます。&lt;/p&gt;&#xA;&lt;p&gt;テストが通るように修正を終えると、PASSED となり、設定された目的の画面に移行します。&lt;/p&gt;&#xA;&lt;p&gt;問題はリロードのたびに違うものが出てきますが、どれも非常に簡単なレベルのものです。&lt;/p&gt;&#xA;&lt;p&gt;これについては、今後リンク作成時に問題の難易度を選べるようにしたいということですので、うんうんうなって時間を掛けないと解けない CodeCaptcha も使えるようになるかもしれません。&lt;/p&gt;&#xA;&lt;p&gt;「リンクをシェアしたいけれど、シェアする相手はプログラマに限定したい」時などに使ってください、ということでした。&lt;/p&gt;&#xA;&lt;p&gt;via &lt;a href=&#34;https://news.ycombinator.com/&#34;&gt;Hacker News&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Folders.py - ディレクトリ構成(だけ)で書く変態プログラミング言語 Folders の Python 実装</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/01/folders-py-runs-file-system-folders-as-a-program/</link>
				<pubDate>Mon, 17 Jan 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/01/folders-py-runs-file-system-folders-as-a-program/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://github.com/SinaKhalili/Folders.py&#34;&gt;Folders.py&lt;/a&gt; は、難解(esoteric)プログラミング言語と言われる変わったプログラミング言語のひとつ &lt;a href=&#34;http://esolangs.org/wiki/Folders&#34;&gt;Folders&lt;/a&gt; の Python による実装です。&lt;/p&gt;&#xA;&lt;p&gt;オリジナルの Folders 処理系は 2015年に &lt;a href=&#34;https://danieltemkin.com/Esolangs/Folders/&#34;&gt;C# で書かれた&lt;/a&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;/ul&gt;&#xA;&lt;p&gt;コマンドの定義はこんな感じ。&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;コマンド&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;サブフォルダの数&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;詳細(引数など)&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;if&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;0 folders&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Second sub-folder holds expression, third holds list of commands&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;while&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1 folder&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Second sub-folder holds expression, third holds list of commands&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;declare&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2 folders&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Second sub-folder holds type, third holds var name (in number of folders, ex. zero folders becomes &amp;ldquo;var_0&amp;rdquo;)&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;let&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;3 folders&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Second sub-folder hold variable name (in number of folders), third holds an expression&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;print&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;4 folders&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Second sub-folder holds expression&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;input&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;5 folders&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Second sub-folder holds variable name&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;Expression, Type も同じような表で、サブフォルダの個数と改装で定義されます。&lt;/p&gt;</description>
			</item>
			<item>
				<title>Wordle(ワードル)必勝法</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/01/wordle-best-starting-move/</link>
				<pubDate>Fri, 14 Jan 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/01/wordle-best-starting-move/</guid>
				<description>&lt;p&gt;twitter など SNS での拡散力が強くて&lt;a href=&#34;https://japan.cnet.com/article/35182012/&#34;&gt;急速&lt;/a&gt;に&lt;a href=&#34;https://www.famitsu.com/news/202201/07247076.html&#34;&gt;話題&lt;/a&gt;となってきた&lt;a href=&#34;https://www.powerlanguage.co.uk/wordle/&#34;&gt;英単語当てゲーム Wordle(ワードル)&lt;/a&gt; 、もう遊びましたか?&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/wordle-best-starting-move/wordle-top.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/wordle-best-starting-move/wordle-top_hu_4834c8e0f4798973.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/01/wordle-best-starting-move/wordle-top_hu_b90e1168189ad635.webp 548w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/wordle-best-starting-move/wordle-top.png&#34; width=&#34;548&#34; height=&#34;515&#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;6回の試行から回答の単語に含まれるアルファベットの種類と位置を絞っていくというクイズゲームですが、「英単語」という片寄りのあるデータ群から推測するというゲームの性質から、どのようにすればより早く答えにたどり着けるかということを考える人も多いようです。&lt;/p&gt;&#xA;&lt;p&gt;カリフォルニア大アーバイン校でCSを学ぶ&lt;a href=&#34;https://slc.is/&#34;&gt;スペンサー・チャーチル氏(Spencer Churchill)&lt;/a&gt;は、Wordle で使われる&lt;a href=&#34;https://slc.is/data/wordles.txt&#34;&gt;すべての英単語のリスト&lt;/a&gt;と Python スクリプトによって、できるだけ早く Wordle の正解にたどり着きたい人のための&lt;a href=&#34;https://slc.is/#Best%20Wordle%20Strategy%20%E2%80%94%20Explore%20or%20Exploit&#34;&gt;最善初手・二手&lt;/a&gt;を絞り込んでいます。&lt;/p&gt;&#xA;&lt;p&gt;使われている文字を特定するほど次の回での絞り込みが進むのですから、できるだけ早い段階で多くの文字を試すのが有効かと思われます。&lt;/p&gt;&#xA;&lt;p&gt;英単語には良く出てくる文字、あまり出てこない文字があるのですから、良く出てくる文字を5文字使った単語が、一番絞り込みができる良い初手ということになります。&lt;/p&gt;&#xA;&lt;p&gt;チャーチルさんはまず、すべての対象単語を集計し、最も出現頻度の高い方からのアルファベット・リストを得ました。&lt;/p&gt;&#xA;&lt;p&gt;次に、頻度の高い方から5文字ずつを選び、その5文字で構成される単語をスクリプトに出させます。&lt;/p&gt;&#xA;&lt;p&gt;最速のための5文字の単語が複数あったため、こんどはそれらの中でもっとも有利な単語はどれか考えます。アルファベットの登場の有無だけでなく、アルファベットの正しい位置がわかる方が正解に近づくため、こんどは位置を含めて最も出現頻度が高いものを抽出すれば、これが最も有利な初手となるというわけです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/wordle-best-starting-move/wordle-best-start-aeros-unlit.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/wordle-best-starting-move/wordle-best-start-aeros-unlit_hu_2acdd0f34429e4e7.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/01/wordle-best-starting-move/wordle-best-start-aeros-unlit_hu_524800e8ccd56913.webp 541w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/wordle-best-starting-move/wordle-best-start-aeros-unlit.png&#34; width=&#34;541&#34; height=&#34;745&#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;a href=&#34;https://slc.is/#Best%20Wordle%20Strategy%20%E2%80%94%20Explore%20or%20Exploit&#34;&gt;ブログで提示された&lt;/a&gt;最善の初手・二手を使って今日のWordle を解いてみたところ、2段目にしてかなりの絞り込みができ、4回目で正当にたどり着くことができました。&lt;/p&gt;&#xA;&lt;p&gt;このブログ記事を紹介する&lt;a href=&#34;https://news.ycombinator.com/item?id=29928263&#34;&gt;Hacker News&lt;/a&gt;の掲示板では、他にも理想の初手を考えていたいろいろな人たちからのコメントが集まっています。ORATE(演説する), SLATE(粘土板), SAUTE(炒める), AESIR(アース神族) などなど各自の考えるベスト・オープニングが紹介されていました。&lt;/p&gt;&#xA;&lt;p&gt;また、人力であれば今回のような初手・二手目を覚えておくぐらいが関の山ですが、その場でプログラム的に解くのであれば当然、初手の結果を見てベストな二手目は変化しうるはずです。これを含めてのソルバー作りもプログラミングの課題として面白いのではないでしょうか。(&lt;a href=&#34;https://github.com/jkatzur/wordle-solver&#34;&gt;ソルバー&lt;/a&gt;を&lt;a href=&#34;https://github.com/nikitaborisov/autowordl&#34;&gt;作ってる&lt;/a&gt;人も当然いますね)&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://news.ycombinator.com/item?id=29928263&#34;&gt;Hacker News&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Direct Train Connections - ヨーロッパの「直通」列車を調べられる地図</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/01/european-direct-train-connections/</link>
				<pubDate>Wed, 12 Jan 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/01/european-direct-train-connections/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://direkt.bahn.guru/&#34;&gt;🇪🇺 Zug-Direktverbindungen&lt;/a&gt;(Direct Train Connections) は、ヨーロッパにある駅を指定すると、その駅から直通電車で行ける駅を全部地図上に表示してくれるwebサービスです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://direkt.bahn.guru/?origin=8000261&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/european-direct-train-connections/direct-train-munich_hu_1c1941d6f9f675fe.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/01/european-direct-train-connections/direct-train-munich_hu_1683f103f3d5a6ac.webp 757w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/european-direct-train-connections/direct-train-munich.png&#34; width=&#34;757&#34; height=&#34;751&#34; alt=&#34;direct train from Munich&#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;&#xA;&lt;p&gt;終着駅は所要時間に応じた色でプロットされていて、10時間以上かかる列車も。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://direkt.bahn.guru/?origin=8300046&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/european-direct-train-connections/direct-train-milan-central_hu_d577bba4953f7c80.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/01/european-direct-train-connections/direct-train-milan-central_hu_2936a7666a948da9.webp 742w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/european-direct-train-connections/direct-train-milan-central.png&#34; width=&#34;742&#34; height=&#34;752&#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;こちらはミラノ中央駅からのプロット。イタリア国内とは言えシチリア島のシラクサまで20時間弱の列車が表示されたので、「橋なんてあったっけ?」と思って検索したら、&lt;a href=&#34;http://jougokei.web.fc2.com/italia/sgiovanni/sgiovanni.html&#34;&gt;メッシーナ海峡では切り離した車両をフェリーに積んで先へ進む&lt;/a&gt;列車があるんですね。&lt;/p&gt;&#xA;&lt;p&gt;陸で国境がつながっているヨーロッパらしい結果かと思いましたが、いろいろと見てみると国境を越える列車はそこまで多くなく、国によっては首都からのほとんどの列車が国内止まりなところもありました。&lt;a href=&#34;https://direkt.bahn.guru/?origin=7100064&#34;&gt;国境近くの駅から&lt;/a&gt;は&lt;a href=&#34;https://direkt.bahn.guru/?origin=7122308&#34;&gt;国境をまたぐ列車も&lt;/a&gt;当然あろうとは思いますが。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://direkt.bahn.guru/?origin=7100049&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/european-direct-train-connections/direct-train-madrid_hu_4f060ffe171e1192.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/01/european-direct-train-connections/direct-train-madrid_hu_c23056d8faacec62.webp 768w, https://labs.cybozu.co.jp/blog/akky/2022/01/european-direct-train-connections/direct-train-madrid_hu_b6e5a308bee40f62.webp 882w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/european-direct-train-connections/direct-train-madrid.png&#34; width=&#34;882&#34; height=&#34;748&#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;&#xA;&lt;p&gt;&lt;a href=&#34;https://direkt.bahn.guru/?origin=2100003&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/european-direct-train-connections/direct-train-minsk_hu_1ee3d8551baa1ab2.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/01/european-direct-train-connections/direct-train-minsk_hu_c42db2de9a5fbd8e.webp 566w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/01/european-direct-train-connections/direct-train-minsk.png&#34; width=&#34;566&#34; height=&#34;754&#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;ベラルーシの首都ミンスクからの地図。ほとんどの隣国には直通列車の終点はありませんが、ロシア国内向けには北極圏のムンマルスク行きや黒海沿岸のアドレル行きなど超長距離列車が。どちらも40時間越えの乗車時間です。&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://github.com/juliuste/direkt.bahn.guru&#34;&gt;GitHubで公開されて&lt;/a&gt;います。データは&lt;a href=&#34;https://www.bahn.de/&#34;&gt;ドイツ鉄道&lt;/a&gt;のAPI経由で取得しているそうですが、ヨーロッパ中のすべての鉄道データを、特に小さな鉄道会社のデータまでは&lt;a href=&#34;https://gist.github.com/juliuste/f9776a6b7925bc6cc2d52225dd83336e&#34;&gt;網羅してるとは言い切れない&lt;/a&gt;そうです。&lt;/p&gt;&#xA;&lt;p&gt;via &lt;a href=&#34;https://googlemapsmania.blogspot.com/2022/01/the-direct-train-map.html&#34;&gt;Maps Mania&lt;/a&gt;&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
