ぷよぷよ考察 (1)土台

はじめに

最近友達とぷよぷよ対戦をすることがたまにあるので戦略についてまとめてみる。まずは土台についてだ。

(1)GTR

最もよく使う土台。最初のツモに寄らず組むことができるため汎用性は高い。また折り返しの隙も少ないのもメリット。

(2)だぁ積み

折り返しはGTRよりは難しくなるが比較的組みやすい。

(3)くま積み

初手AA、BCの時に使える。その後のツモによっては(4)のように派生することもできる。

(4)くま積み派生

岩手のボードゲームカフェ

昔杉並区に10年近く住んでいたが、まだまだ黎明期だったとはいえ電車で数駅のところにボードゲームカフェは存在していた。東京を離れ8年近く経った今、全国にボードゲームカフェは広まりつつある。だが、僕の今住んでいる岩手県には2022年になるまで1店舗も存在しなかった。最近新しく遠野という街にボードゲームカフェができたと知ってから3〜4回くらい訪問している。

そのお店は遠野駅から徒歩1分以内にあり、鉄道で行く分にはすごくアクセスがいい。とはいえ、鉄道の利便性自体がよくないので基本的には車で行っている。都内の店舗と同じ様に店の棚にはたくさんのボードゲームが陳列されていて、今日はどのゲームをしようかとわくわくさせてくれる感じは変わらない。違う点は特にイベントのない日に行くと客がいないことが多いことだ。それでも休日に行くとそれなりにお客さんがいることが多く、たまたま居合わせた人たちと一緒にゲームをしたりする。先日訪れた際はそんな感じで二つのゲームをプレイしたが、どちらも面白い(特に後者)と感じたのでまたプレイしてみたい。

ボードゲーム「SURVIVE」:沈むゆく島から脱出するゲーム

obsidianのすすめ

国試を受ける前にどのような勉強をしていたか振り返ると、medu4動画を見ること、QuestionBankを解くことのどちらかをやっていた。さらにmedu4の一問一答をankiアプリに入れて再学習を繰り返すこと、QBで解いた内容についてobisidianにメモすることをしていた。ankiアプリは忘却曲線を考慮して、忘れたものを再度inputし直すというもので中長期的に大量の記憶をする上では効果的だったが、国試後は全く使わなくなった。一方でobsidianはリンクで関連を広げていくという形のメモで最近になってからまた使う様になった。以前はデイリーノートを多用していたが、今はルートノード(home)から広げていくというやり方でメモを作るようになり、obsidian自体がiOS、androidに対応したこともあって一時的なメモではなく、中長期的なメモ書きを作る媒体としてかなり優秀だと感じている。

この画面で麻酔科研修をタッチすると以下のページに容易に遷移する。

リンクで繋がったメモ間はシームレスに遷移できて、再利用も可能なので便利。

沖縄旅行

沖縄に行くのは今年で2回目だ。社会人になってからは忙しくなるのであまり旅行には行かなくなるかもしれないとは思っていたが実際には休みを取って3連休にして旅行に行っている。沖縄は同じ日本とは思えないくらい生態系も街の雰囲気も違ったりするので本州の田舎を巡るより個人的には楽しい。冬場は本土との気温差も高く、冬〜春の沖縄の方が別天地にきた感覚は強い。ついでに飛行機代もホテル代もオフシーズンのため安く抑えられることも魅力的だ。

今回は金曜日を休みにした上で2泊3日で友人と沖縄本島に行った。仙台ー那覇便は夏は人気路線で直前にとったこともあって飛行機代は高くついてしまった。2時間かけて自宅から仙台まで急ぎ目で向かい、仙台空港では保安検査場を30分前くらいに通過。搭乗口前で仙台在住の友人Gと合流した。ANA便には久しぶりに乗ったが座席前に着いているモニターで最近の映画も見れる(しかも画質は悪くない)様だったので、行き帰りですずめの戸締りをみていた。那覇空港に着いたらまずは車を借りて、シェーキーズでご飯を食べた後空港に戻り、秋田、山形から来た友人K、Aと続けて合流した。それから沖縄で研修していたYが浦添付近で待っていたので、そこで合流。そのまま恩納村のホテル近くまで行き、地元の居酒屋で夕食を食べた。その後ホテルでチェックイン。割と新しめのホテルで、客室も豪華だった。

2日目は午前中、だらだらと客室で過ごしてスマブラしたりしたらKに折角沖縄に来たのにもったいなくね!って言われ、昼くらいからビーチに出かけた。残波岬で普通に海水浴したり、ボートに乗って競争したり、海の生き物の観察をしたり悠々と思いのままに過ごしていた。海に浮かんでゆらゆらしている時間は至福のひと時だった。

その後ホテルに戻り、プールで遊んだりしているうちに夕方になったので、その後はアメリカンビレッジにでかけた。日本に居ながら異国情緒を味わえるところで色々店を物色したあとはバーガー屋で夕食を食べた。

僕の住んでいた街にもバーガーハーツという素敵な店があったなあと思い出しつつ、何を食べて、話したかも忘れてしまったが楽しいひと時を過ごした。帰り際に路上で演奏していたダイナミック琉球という初めて聴いた素晴らしい曲に聴き入ってしまった。帰ったあと客室でボードゲームをしたかったが、すでに疲れていたためすぐに寝てしまった様な気がする。

3日目は帰るだけだったがKが早めに帰らないといけなかったため、ホテルを出るとすぐに那覇空港に向かった。道中しきりに時間を気にしているKは面白かったが、遅れたら洒落にならないのは確かだった。もちろん、無事に間に合い、その後はレンタカーを返した後そのまま空港に戻り、沖縄そばを食べたあと、Aと別れた。仙台までGと一緒に帰り、Gと仙台でいつものラーメン屋に行った後、近くのカフェで将来の話などした後別れ、帰路についた。天国みたいな場所からの帰りなので、その時は憂鬱だったが、他の地域で研修している今はすぐに大船渡に帰りたくなってしまう。不思議なものだ。

詰将棋&必至

2014年に作成したアプリの紹介ページです

本アプリでは詰将棋63問、必至問題26問を収録している他、詰将棋(7手詰まで)の創作ができます
詰将棋の問題については間違った手を選択した場合でも指し続ける機能をオプションで付けることもできます。
7手詰めの問題の解答機能は表示速度が遅い場合がありますが、ご了承ください。

プライバシーポリシー

[ 利用者情報の取得 ]

本アプリが利用者の個人情報を取得することはありません。

[ 利用者情報の利用 ]

本アプリが利用者の個人情報を利用することはありません

[ 利用者情報の第三者提供]

本アプリが利用者の個人情報を第三者に提供することはありません。

[ お問い合せ先 ]

何かご不明な点がございましたらお問い合せ下さい
hisano.haruki@icloud.com

medu4のテキストをanki化してみた

始めに

medu4のテキストをPDFから文字データを抽出し、その文字だけでankiのデッキを作成しようと思い、試行錯誤を重ねたが、表からの文字データの抽出が難しいことや画像の扱いに困るなどの問題が生じた。
次に考えたのは、画像化したPDFの上に空欄になっている文字を位置情報を合わせて貼り付けることでこれはそこまで悪くない形になった。今回はその手法を説明しようと思う。

PDFの画像化

pdfの画像化はpdf2imageというライブラリを用いた。

文字の抽出

PDFにはどの環境でも互換性を維持したレイアウトで印刷可能となるように、文字とその位置情報が保存されているが、PDFからの文字情報を抽出するのは難しいものとなっている。
Python環境ではPDFから情報を抽出するライブラリとして、pdfminerやその派生版があり、今回はpdfminerの派生であるpdfmajorを用いた。これによって、文字の背景色が黒かどうかを判定し、黒でないものがあった場合、空白文字とみなして、その位置情報、文字、フォントサイズを取得している。

if not isBlack(ltchar.color.values):
 if not is_searching_white_letter:
  let = PDFLetter(x=ltchar.bbox.x0 + 2, y=ltchar.bbox.y0, fontsize=ltchar.size,letter=ltchar.get_text())
  is_searching_white_letter = True
 else:
  let.letter += ltchar.get_text()

文字を画像に貼り付ける

次に、空白文字の座標を取得したことを利用して、以下のようなHTMLを自動生成した。この例では、毛様体や後嚢といった文字をPDFからx,y座標ごと抽出し、CSSのpositionプロパティにHTMLの座標系に変換した値を代入することで文字列の埋め込みを実現している。

<div class="test1"><img src="144531_2021gankaF_8.jpg"><div class="test2"><div style="position:absolute; left:55.24101202661208%; bottom:82.51024765705733%"><span class="cloze" onclick="cloze(this.id);">毛様体</span></div><div style="position:absolute; left:67.38549129989765%; bottom:82.51024765705733%"><span class="cloze" onclick="cloze(this.id);">動眼</span></div><div style="position:absolute; left:31.39297594677585%; bottom:78.62957440995855%"><span class="cloze" onclick="cloze(this.id);">後嚢</span></div><div style="position:absolute; left:48.51602482088025%; bottom:71.50096917649574%"><span class="cloze" onclick="cloze(this.id);">99</span></div><div style="position:absolute; left:25.499776100307063%; bottom:64.33613766644099%"><span class="cloze" onclick="cloze(this.id);">10</span></div>

作成したもの

参考にしたもの

ankiで暗記ペンを実現する方法
https://ameblo.jp/macgyverisms/entry-12160265445.html
pdfmajor
https://pypi.org/project/pdfmajor/

ローマ史を辿って

ここ最近、「ローマ人の物語I」という本を読んでいる。
さて、これから書くものはただの感想に過ぎない。感想文等というものはちょっと書き綴ったところで、その本から得られる知見には遥かに及ばないだろう。
これは自身が読んだことを反芻するためのもので、それ以上のものではない。
テヴェレ河の流域に誕生したローマという都市はその当初、エトルニア人など近隣の民族が建設した都市と比べると、遥かに文明的にも経済的にも劣ったものだった。この都市が他の都市を脅かすほどに成長した原因は地勢的に魅力の薄い場所で干渉するに及ばないとみなされたからだろう。
「ローマ人の物語I」では初期の王政から共和制に到るまでの歴史が語られている。初期の王政の間、ローマは他国の人間を自国民として受け入れ、場合によっては要職の地位も提供するなどをして、国力を高めていった。これはローマが成長していく上でかなり重要な要因であったことは疑う余地がない。
政体の推移を観察してみよう
民主主義の現代においては王政というシステムは過去のものであり評価されることはあまりない。しかし、王政は意志決定の速さからトップが優れた能力を発揮する限りは未発達の文明を昇華させていくには効率的なシステムであるともいえる。
ローマの発展に寄与した王政というシステムはある時期に共和制へと移行している。王政が終了したのはその代の王が市民の信頼を勝ち得なかったというのが一番の理由だが、その後の共和制が受け入れられた理由としては、定期的に市民に信を問う共和制の方が市民の信頼を得られるため政体は安定しやすいからではないだろうか。
初期のローマの政体は未熟な都市には偉大なリーダーを必要とし、成熟した都市(国家)には民主主義が相応しいことを体現している。しかし、ローマはこの後何度か王政を経ることになる。その経緯は如何様なものなのか。これから先のエピソードを読むにあたって注目したいところだ。

python文法備忘録

pdbのコマンドについて

コマンド 説明
s ステップイン
n ステップオーバー
c コンティニュー

文字列の切り出し

3文字目まで切り出し

test = "hogedesu"
print(test[:3])

結果:hog

3文字目から切り出し

test = "hogedesu"
print(test[3:])

結果:esu

2文字目から−2文字目まで2ステップで切り出し

test = "1,2,3,4,5,6,7,8,"
print(test[2:-2:2])

結果:234567

既存のレポジトリをbitbucketにアップロードする

既存のレポジトリをSSH経由でbitbucketに接続して管理するための手順をメモしておく

レポジトリの新規作成

bitbucketにアクセスして新規に任意の名前のレポジトリを作る

sshキーの生成

以下のコマンドで公開鍵と秘密鍵を作成する。それぞれの名前はdefaultではid_rsa,id_rsa.pubであるが”hoge”,”hoge.pub”とすることもできる。

ssh-keygen -t rsa

公開鍵の登録

bitbucketにアクセスして公開鍵”任意の名前.pub”をbitbucketサーバに登録する

秘密鍵の登録

~/.ssh/configに以下のように書き込む

Host bitbucket bitbucket.org
    HostName bitbucket.org
    User git
    IdentityFile "~/.ssh/hoge"

接続先サーバの登録

ローカルレポジトリのディレクトリに移動して接続先のサーバURLを登録する

git remote add bb "bitbucket.org:UserName/レポジトリの名前.git"

リモートのレポジトリをダウンロードする

git fetchコマンドを使う

git fetch bb

リモートのmasterブランチを結合

無関係の履歴を持つブランチ同士の結合なので”–allow-unrelated-histories”を追加する。この時”README.md”がconflictすることがあるので、その場合は”READ.md”を修正してコミットすることでマージする。

git merge --allow-unrelated-histories bb/master

リモートレポジトリへアップロード

“git push”コマンドを使う

git push bb master

気仙沼観光(2)〜仙台に帰るまで〜

バスに揺られて経つこと2時間でようやく気仙沼に到着した。

気仙沼では自転車を借りて海の市方面を散策した。海の市へ向かう途中には震災で廃線となった気仙沼線のレールが残っていて、かつての光景を彷彿とさせた。

海の市では海鮮丼を食べてシャークミュージアムなど有料のエリアを除いて一通り見た後その場を後にした。

その後は大島への定期船がある港や市役所の方を通って、気仙沼駅まで戻った。大島へのアクセスは近々橋が開通することでその役目を終えるようだ。

市役所には池袋行きの高速バスの停留所があり、毎日通学でラッシュに揉まれながら通っていたあの街とこの地が路線バスで繋がっていることを実感して何ともいえない気持ちになった。

気仙沼からは大船渡線に乗って一関を経由して仙台まで帰った。大船渡線はドレゴンレールという愛称で呼ばれている。これは一関から気仙沼までの線形がうねっていて龍のように見えることが由来だとのことだ。線形がうねっている理由は沿線出身の政治家らによる誘致合戦の結果、それら全てを通ろうとしたために生じたそうである。