Log

いろいろ

iOSのショートカットで無限ループがしたい

なうぷれツイートしてますか。私はiOSのショートカットを使ってなうぷれしてます。

Youtube Musicを利用していたときは最終的にシェルスクリプトを実行していました。

iOSのショートカットを利用してYoutube Musicのなうぷれをツイートする - Log

Apple Musicは楽勝です。

ふと気になりました。iOSのショートカットで無限ループになったらどうなるんだろう。

繰り返し?リストを操作?

困った。指定回数分のループとリストのループしかありません。条件付きループがないためwhile trueはできないようです。

リストをループしてループ内で要素を追加してみてはどうでしょうか。残念、iOSショートカットのリストは変更不可でした。

再帰

「ショートカットを実行」というアクションがありました。このアクションでこのショートカット自体を呼び出してみると、、、あっさり無限ループができました。めっちゃ簡単やん。再帰は最強。

これでショートカットで何でも実装できそうです。これがチューリング完全ってヤツか?気になったのでググります。

Is the iOS Shortcuts app Turing-complete?

The short answer: Yes.

Yesだそうです。というかこのサイトに私が試したことがすべて書いてありました。

無限ショートカット

晴れて実装できた無限ループがこちらです。

実行されていることが分かるように通知を表示しています。それだけだと味気ないので「3の倍数のときだけ元気になる」ようにしておきました。実行するとこんな感じ。

元気ですね。通知に隠れて停止ボタンが押せなくなってしまったので、今も元気に数字を数え続けていると思います。

LINE背景をデコる、だけ

いつものように日記を書くつもりが1コンテンツしかなかった。

LINE背景をデコる

LINEの背景ってSNSリンクとかスタンプとか配置できるんですね。知らなかったです。

プロフィールをデコレーションする|LINEみんなの使い方ガイド

いろいろと試してみたりして1hくらい遊んでいました。

オブジェクトの上下関係は後に操作したオブジェクトが勝つようになってます。以下はLINEスタンプをYoutubeリンクアイコンに被せた例です。

Youtubeを踏みつけるアーニャ・フォージャー

Youtubeを上書きするアーニャ・領域

白枠で囲まれた部分がアーニャ・領域なので、Youtubeアイコンの左上側をクリックしてもYoutubeへは遷移せず、スタンプショップへ飛ばされてしまいます。入力欄にアイコン被せたりするとこういうもどかしさって発生するよねー。

まあ、LINEというかSNSのプロフィールなんて見ないから意味ないわ。

Reactで長文を短縮表示してツールチップを表示する

ググると出てくる-webkit-boxを利用した方法。IE終焉により思いきれる人も多そうです。今年はIEがWebアプリケーションへたくさん貢献していますね。

実装は宗教上の理由でレガシーなReactで書きます。「Deprecatedォォォオオオ!!!!!」とエディタに怒られて悲しいです。

import React, { Component } from 'react';


export default class EllipsisText extends Component {
    constructor(props) {
        super(props);
        this.ref = React.createRef();
        this.state = {
            isEllipsis: false
        };
    }

    componentDidMount() {
        this.resizeObserver = new ResizeObserver(() =>{
            this.setIsEllipsis(this.ref.current);
        });
        this.resizeObserver.observe(this.ref.current);
    }

    componentWillUnmount() {
        this.resizeObserver.disconnect();
    }

    setIsEllipsis(element) {
        if (element) {
            this.setState({ isEllipsis: element.offsetHeight < element.scrollHeight });
        }
    }

    render() {
        return (
            <div
                ref={this.ref}
                className='ellipsis-text'
                style={{ WebkitLineClamp: this.props.maxRows }}
                title={this.state.isEllipsis && this.props.value}
            >
                {this.props.value}
            </div>
        )
    }
}
.ellipsis-text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}

CSSはAutoprexierによって-webkit-box-orient: vertical;が抹消されることがある点に注意。

Autoprefixer導入時に「-webkit-box-orient」が消える問題への対応 - Qiita

React.createRef()を使ってdivへの参照を保持します。this.ref.currentでアクセスして通常のDOM操作ができます。

Ref と DOM – React

あとはリサイズ監視。resizeイベントだと要素のリサイズは検知できないのでResizeObserverを使います。

ResizeObserver - Web API | MDN

参考

javascript - How to detect overflow of React component without ReactDOM? - Stack Overflow

グロウアップ・シャイン!

先日、久しぶりに水瀬いのりさんのライブに参加したことでオタクソウル取り戻しつつあります。

「Inori Minase LIVE TOUR 2022 glow」感想 - Log

で、懐かしオタクソングを聴いていたらグロウアップ・シャイン!が良い曲過ぎたのでブログを書こうかなって。

グロウアップ・シャイン(!|!)

まずは「グロウアップ・シャイン!」なのか「グロウアップ・シャイン!」なのかハッキリさせないといけません。CDのクレジットを確認してみると、、、CDを持っていませんでした。iTunesで購入していました。そうえいばウマはサブスクなかったかーと懐古。

music.apple.com

今はサブスクがあるんですね。2021 Remastered Versionという強そうなものが聴けそうですわ。

本題。Apple Musicは「グロウアップ・シャイン!」ということが分かりました。CDを持っていない自分はこちらに準拠しているのでしょうか。整合性が取れているか過去ツイートを調べていたところ驚愕の事実が判明。

グロウアップ・シャイン! - Log

既に同じブログを書いてました。それもアニメ当時でもなく去年というね。楽曲の感想は過去の自分に譲ります。

Lantisが「グロウアップ・シャイン!」だったので今回はこちらをブログタイトルに採用します。

グロウアップ・シャイン! - TVアニメ『ウマ娘 プリティーダービー』 - スペシャルウィーク( CV.和氣あず未),  サイレンススズカ( CV.高野麻里佳),  トウカイテイオー( CV.Machico),  ウオッカ( CV.大橋彩香),  ダイワスカーレット( CV.木村千咲),  ゴールドシップ( CV.上田 瞳),  メジロマックイーン( CV.大西沙織) | Lantis web site

「Inori Minase LIVE TOUR 2022 glow」感想

今日は親友の誕生日でした。Happy Birthday🎂

Happy Birthday

Happy Birthday

そして『Inori Minase LIVE TOUR 2022 glow』の千秋楽でもあります。

私は先日開催された神奈川公演に参加していました。水瀬いのりさんの単独ライブとしては、2019年の『Catch the Rainbow!』以来3年ぶりの参加です。ファンクラブは自動的に引き落とされるため継続していますが、ライブは申し込んでいませんでした。神奈川公演の一週間前に「チケット取れたからどう?」とオタクに誘われたので急遽参加したという経緯です。

横浜アリーナ

約4年ぶりの横浜アリーナ

ただいま。 2018年はアニマですね。

ANIMAX MUSIX 2018 YOKOHAMA | ARCHIVE | ANIMAX MUSIX | ANIMAX

連番者が遅れそうとのことで先に一人で入場。アリーナ席だったので一階から入ろうとしたところ、そこにはデカデカとセンター席入り口との記載が。横浜アリーナのアリーナはアリーナではないということ失念していました。オタク一年生。直前に開放されて取れたチケットですし、そんな良い席なわけないじゃんね。

といっても握りしめたチケットはお得なことが多い見切れ席。今回もステージサイドの目の前という格別に面白い席でした。センター席最前よりステージに近いし柵もある。ただし、代償としてステージ上の演出などはほぼ見えません。モニターも頑張らないと見ることができない。

それと、最新アルバムは履修せずに臨んでいます。そんな訳で演出や構成などの感想はありません。以降はそれを踏まえた上でどうぞ。

セトリ

sunrise glow(overture)、僕らだけの鼓動

初手、知らない曲。

こうなると楽曲を考察するしかありません。そういえばアルバムには田淵が提供した楽曲があるという前情報を得ていました。曲終わりに「これが田淵?」と連番者に聴いたらやはり田淵でした。今日の私は賢い。

Step Up!!!!!!!!!!、Catch the Rainbow!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

知ってるイントロ〜〜〜〜!!!!!!ドカ涌き。チケ代回収。偏差値3。

この2曲はアルバムおよびライブ『Catch the Rainbow!』の最初と最後の曲でありキャッチザレインボゥが過ぎます。「この世界に僕だけが取り残されたようだよ」って、1曲目に初見の曲を聴いているときは本当にそう思ったよ。俺にはキャッチザレインボゥがある。キャッチザレインボゥ。。。

Step Up!はサビが気持ちいですね。「One Two」に答えるギター。2サビが終わった時点でラスサビの転調が待ち遠しくて心拍数アガりまくりました。作詞TRUEも心拍数アゲに来ていたようです。

Catch the Rainbow!はね〜〜〜〜〜〜〜〜〜、好き。本人作詞でしか得られない栄養素がある。

高くJumpingして天井に刺さりました。天井に刺さったのなんて何年ぶりでしょうか。ライブ終盤で涙ながらに聴くCatch the Rainbow!もいいですが、序盤にウキウキ聴くCatch the Rainbow!もいいですね。まあ序盤だけど号泣した。

一説によると2019年の楽曲大賞らしいです。

Wonder Caravan!、風色Letter、We Are The Music、Melty night

しばらく知らない曲ゾーン。

風色Letterという曲がとてもよかったです。本人にあってる感じがします。確か座って歌っていたと思いますが、過去に見たことが無いような?この辺はステージが見えたら良かったなと。

夏の約束

天才。既にチケ代は回収したのでプレミアムチケットへと進化しました。

もうMCから夏を匂わせていて。偉大なオタクはMCはイントロだと言葉を残しました。正しくそのとおり。MC後にはアコースティックな特殊イントロからのボーカルイン。本来はイントロのない楽曲ですが、スーパー特殊イントロ夏の約束だったということです。同じ夏は二度と来ないのでライブには行ったほうがいいよ。


www.youtube.com

Loop Slider CiderもMily Starも聴きたいね。

八月のスーベニア

夏っぽい曲。

やたら低いメロの入りでお経かと思いました。ちゃんと歌詞は聞き取れていませんが、甘酸っぱい夏の約束を懐古しているみたいで面白い曲順ですね。サビで爆発した瞬間藤永過ぎたので連番者に聞いてみたところ、やはり藤永でした。この連番者は何でも知ってる。

作詞まで藤永が手掛けることはレア*1なので、その点で水瀬いのり×藤永龍太郎は他の藤永曲より世界観があって推せます。

MELODY FLAG詐欺

コーナーです。MELODY FLAGは歌っていません。MELODY FLAGのイントロを流すな。

REAL-EYES、HELLO HORIZON、Starry Wish

カッコいい曲ゾーン。

レーザービームを打ち散らかしてトロッコを回してセンターステージに移動と会場を大きく使ってきます。

Sttary WIshのイントロが流れた瞬間「水瀬いのりにはこの曲があったな」と懐かしい気持ちになりました。好きでないわけではないけど普段まったく聴かない曲です。ETERNAL BLAZEみたいな?

僕らは今

そういえばココから追ってないなと節目を感じました。

星屑のコントレイル

偏差値なくなりました。また天井に刺さってしまいました。

水瀬いのりにロック、跳びポ、2サビいかない曲〜!を連れてきた元祖藤永。クソガキのように高まって楽しかったです。ただ、見切れ席だったせいか、片側のギターがあまり聴こえなかった点が残念でした。耳で楽しむ上でも真ん中の席が正義ですね。

MCで言及があった気がしますが、しばらく披露されていなかったらしいです。しかも入れ替え曲だったので本当にラッキーでした。

パレオトピア、心つかまえて、ココロソマリ、glow

星屑のコントレイルで疲れていたのであまり記憶がありません。パレオトピアはクセありでおなじみの栁舘周平の最新作だったようです。

glowで締めて本編おしまい。

今を僕らしく生きてくために、コイセヨオトメ

アンコールです。

「トロッコ回してコイセヨオトメに100ペリカ。次点でDreaming Girls。」と連番者に話していたら違うイントロが流れたので外れました。と思ったら、2曲目はコイセヨオトメ!こんなに楽しんでいいんですかね。多幸感でいっぱいでした。

Starlight Museum

harmony ribbon大好きお姉さんなのでアンコール締めはharmony ribbonかと思っていたら、まだアルバム曲を隠し持っていました。

知らない曲のはずが、やたらとサビが聞き覚えあります。不思議。壮大な曲でオケが欲しくなりますね。

水瀬いのり楽曲といえばWikipediaが充実していることで有名ですが、そこでバンドメンバーがRECに参加していることを知りました。

Starlight Museum - Wikipedia

harmony ribbon

ダブルアンコールです。harmony ribbon大好きお姉さんでした。

この曲でとりわけ歌い方が変わったような印象を受けました。張り上げたようなミックスボイスがクセになっていたので、その部分が裏声になるとキレイに聴こえはしますが物足りないです。

と言いつつも久しぶりのharmony ribbon。この寄り添ってくれる感じが懐かしく、満足です。

おわりに

次も行きます。#oyasuminase

*1:しばらく追ってないので現在はそうでもないかもしれません。