雑多なブログ

音楽や語学、プログラム関連の話題について書いています

最近読んだラノベ。

久々にこのラノベ読んだ。

(´・ω・`)最強勇者はお払い箱→魔王になったらずっと俺の無双ターン https://ncode.syosetu.com/n0955el/

広告でコミックの方が宣伝されていて、ぐぐってみたら「小説家になろう」というサイトに原作が投稿されていたので、小説版の方を読み進めた。本日時点で未完了で半年以上更新されていないのが残念だ。

それにしても、最近の漫画は「小説家になろう」からコミカライズされたものが結構多い模様。

「私」と言う輪郭がかろうじて維持されているという感覚。

「私」という感覚があって、かろうじてそれが保たれているという感覚を日々感じている。

私が考えている。 私が行動している。 私が仕事をしている。 私が怒っている。 私は混乱している。

そういった感覚が起こりつつも、それがどうした?という風に感じる節がある。私にそれが起こっている、という感覚が曖昧になっている。「私」という実感がない。ただ、そういった事が起きているという感覚。表現が難しい。言葉で表すと、誤解されそうな感覚だと思う。そもそも、「私」という感覚の実体はどこにもなさそう。五感=私の感覚というところに疑念がある。

改めて、「私」という感覚が何なのかというところに意識を向けている。なんというか、「私」という感覚は、ドーナツのように真ん中が空いているような。輪郭はあるけれど、中身がないような感覚。

日々欲求は生じる。 選り好みの思考は起きる。 めんどうな事を避けようと抗っている。

それでも、ドーナツの真ん中のように空白の部分が理解できずに、妙な違和感を感じながら生活している。

レッスンのおさらい。

レッスンのおさらいをまとめた。

ラテンの曲の左手

ふわふわした弾き方ではなく、もっとはっきり入れる。 右手の演奏の間に入れるようとして、ふわふわしているので、 まずは右手の動きと一緒に動かす。

自作の曲

リハーサルマークと作曲した日付を入れる。

課題曲

  • Bolivia
  • Donna Lee
  • Confirmation
  • Seven steps To Heaven
  • Oleo
  • Recorda Me

練習のポイント

  • リズムや感覚を掴む
  • 普段やらないパターンの曲に触れる
  • 全部きっちりやりきる必要なし(ただし、リズムの練習だけでも全曲やっておく)
  • Recorda Meのような跳躍のフレーズ弾く時は、手を離した方が動きやすい。指で触れている鍵盤からポジション感覚をえるよりも、耳で聴いて。

PHP: preg_grep - パターンにマッチする配列の要素を抽出する

最近、preg_grepという便利な関数を知ったのでメモ。

YYYY/MM/DD hh:mm:ss_任意の文字 の形式に合致する要素だけ抽出する例は下記の通り。

$array = [
    '2020/10/12_aaaa',
    '299925_bbb',
    '2021/04/21_bbbb',
    '2021/08/21_bbbb',
    '2021/02/21_bbbb',
    '2021-02-21_bbbb',
    '2019/11/21_cccc',
    'aaaaaaa_ccc',
];
$results = preg_grep('/\d{4}\/\d{2}\/\d{2}_.*/', $array);

var_dump($results);

うーん。便利。 ループ処理であれこれ判定せずにこれ一発で要素が抽出できて良い!

人間の人生に、いがみあっている時間などない。

人生というのはあっという間。

日本人の平均寿命は80歳以上かもしれないがいつ死ぬかは分からない。 明日事故に巻き込まれて死ぬかもしれない。 いや、今こうやって日記を書いている時に心臓発作で死ぬかもしれない。 あるいは、お笑いのテレビを観て、笑い転げているその瞬間に脳に異常が起きて、突然死んでしまうかもしれない・・・

一見してネガティブなことを言っているように見えるね。

でも、これはネガティブな話をしているのではないのです。
どれだけ生きていられるかなど神のみぞ知る事で、そんな事を思い悩むのは無意味だからね。

そんなわけで、貴重な人生の時間を、他人といがみあったり憎しみ合う時間に費やすのはとても不毛でもったいない事なのだと最近感じるようになったのだ。

PHP: DOMXPathでは、nodeValueに & を含む文字列を代入できない。

DOMXPathでnodeValueに&を含む文字列を代入しようとしたら警告が出た。

PHP Warning:  main(): unterminated entity reference         

実行結果を見てみると、代入はできておらず、代入する前の元の文字列も抜け落ちていた。

string(35) "<div>
    <p id="text"></p>
</div>
"

検証に使用したソースはこちら

<?php
$html=<<<EOS
<div>
    <p id="text">default</p>
</div>
EOS;

$dom = new DOMDocument;
@$dom->loadHTML($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);

$xpath = new DOMXPath($dom);
$node = $xpath->query('//*[@id="text"]');
$node[0]->nodeValue = 'Hello&';

var_dump($dom->saveHTML());

対策

&を含むテキストをnodeValueに代入する時は、htmlspecialchars()を使ってエスケープするか、直接 & をhtml文字参照の形式 &amp; に変換するか対応が必要だった。

変更前

$node[0]->nodeValue = 'Hello&';

変更例1

$node[0]->nodeValue = htmlspecialchars('Hello&');

変更例2

$node[0]->nodeValue = str_replace('&', '&amp;', 'Hello&');