うぃろぅ.log

140字で綴りきれない日々の徒然備忘録

【セトリ】 ゆいこむ特別総会 -出張版- ~小倉唯 Birthday Party♡2022~ in竹芝(東京) セットリスト

2022/8/21に竹芝ニューピアホールにて開催された
ゆいこむ特別総会 -出張版-
小倉唯 Birthday Party♡2022~ in竹芝(東京)
ライブパートのセットリストです。

1: ta・ta・tarte♪
2: プラチナ・パスポート
3: カワルミライ(Short ver.) (カバー)
4: Party Love 〜おっきくなりたい〜(Short ver.) (カバー)
5-昼: Yeah! めっちゃホリディ (カバー)
5-夜: 恋愛裁判 (カバー)
6-昼: Baby Sweet Berry Love
6-夜: Raise
7: Wish

【備忘録】 「スラスラ読める JavaScript ふりがなプログラミング」 を読む

うぃろぅです。
概ね生きていました。仕事でアウトプットばかりしていたので久しぶりにインプットをしていきます。

今日の本

スラスラ読める JavaScript ふりがなプログラミング

そろそろフロントエンドも勉強するべきということで。
「ふりがなプログラミング」シリーズ。Pythonが充実している。Pythonはこの前まで業務で使っていたからしばらく間を開けてから勉強しようかなといった心持ち。

構成

JavaScriptとはなんぞやから始まり、実際にWebページに組み込むところまで。 王道的な入門書といえる。

1章 JavaScript最初の一歩

概要

まずもってJavaScriptって何? といった内容から実際にブラウザ上のコンソールで動かすことと、変数や型、メソッドやオブジェクトといった基本的な用語を紹介するところまで。
オブジェクトについての詳細は5章までお預け。

試しに動かしてみるのは非常にお手軽で、ブラウザのコンソールを開いて(ChromeF12等)スクリプトを入力するだけ。

console.log("Hello, world!");

かんたーん。

変数はlet (変数名)でOK。 宣言には他にも種類があり、ざっくり以下の通り。

予約語 内容
なし かなり古い。意図しない動作になることがあるため非推奨。
var ES5で主流。多く使われている。
let ES2015で追加。varと比較すると制限がある代わりに副作用が少ない。
const ES2015で追加。定数。

ES○○って何?

www.tohoho-web.com

JavaScriptは自由度の高い言語のため、標準化がされた。標準化バージョンがES○○と称されている。
基本ルールは設定したからあとはご自由に、といった感じ。

2章 条件文

概要

プログラミング界隈ではおなじみifまわり。
例として挙げられている数値判定メソッドがisNaNなのだが、標準でよく使うのがNot a Numberで否定形なのがちょっともやもやする。
Number.isInteger()はあるみたいだけれども。

比較演算子

JavaScriptにそこまで詳しくない私でも少し知っている===等の比較演算子の話。
JavaScriptは比較時に型を自動変換するため、厳密な同値比較として===!==が存在する。

結果
123 == 123 true
123 == '123' true
123 === 123 true
123 === '123' false

慣れないうちは普通にミスしそうで怖い。

else if

言語によってelse if/elsif/elif等 地味に書き方が変わって気を付けなければいけない構文。 JavaScriptではelse ifと書く。

論理演算子

かつ/または は &&/||で表す。よくあるやつ。

3章 繰り返し文

概要

おなじみループ文。それと一緒に配列の解説もされている。 JavaScriptでも代入演算子で計算ができる。hoge += 1みたいな。

JavaScriptでのループはwhilefordo...whileといった割とよく見る予約語で表す。書き方もざっくり同じだが、for..inだけ注意が必要。こちらはキーを回すのだが、多分使わなくてよい。
Javaでいう拡張for文を書きたい場合はfor...ofで書ける。

調べてみたらStreams APIも使えそう。さてはJavaScriptってすごいな?

配列

配列は大かっこ[]で表す。インデックスが0から始まるのも大抵の言語と同じ。
あると便利なpop()shift()もバッチリ完備。便利だ…。

総当たり戦の順列組み合わせがshift()を活用していて勉強になる。Rubyではcombinationなので楽を覚えるとこういうところの実装力が落ちる。あえて車輪の再発明をするのも大事。

無限ループに気を付ける

ターミナルで動かす言語であれば無限ループが発生してもCtrl + c等でプロセスを強制終了できるが、ブラウザ上でうっかり無限ループを発生させた場合はブラウザの強制終了が必要になるので要注意。場合によってはPCがかたまる。

4章 関数を作る

条件判定とループでプログラミング自体は可能だが、やはり関数は必要。

アロー関数式

ES2015から可能になった関数定義方法。よく見かけるけれどあまり理解できていなかったのでここでしっかり覚えておく。
例を見る限り関数はキャメルケースっぽい。

let hello = () => {
    cosole.log('hello');
    console.log('world');
}

変数の定義が関数とか、そんな感じ。hello()‘で呼び出すとhelloworld`が2行に分けて表示される。

let greet = (name) => {
    console.log('Hi, ' + name + '!!');
}

引数がある場合はかっこの中に変数名を入れる。

変数展開

IEではサポートされていないが、バッククオート(`)1で文字列を囲むことで変数展開が可能。ダブルクオートやシングルクオートでは展開されない。

バッククオートで囲む文字列はテンプレート文字列と呼ばれていて、複数行の起債が可能。 ヒアドキュメントと理解した。

let name = 'Alice';

'Hi, ' + name; // Hi, Alice
`Hi, ${name}`; // Hi, Alice;
'Hi, ${name}'; // Hi, ${name}

JavaScriptで文字列結合の速度ってどんなもんなのだろうか、ということでググる

qiita.com

そこまで大きな差異はなさそうなのであんまり気にしなくてよさそうではある。

IEはサポート終了してるしもうバッククオートを使っていっても問題ないんじゃないかな…。

functionでの関数定義

ES5以前はアロー関数定義が存在しないため、functionを使って関数を定義する。

function greet(name) {
    console.log('Hi, ' + name + '!!');
}

今後は使わなくなっていくと思われる。

オブジェクト

DirectoryやHash、あるいはクラス変数的な…?
let data = { name: 'hoge', bill: 100, isFuga: true};のように定義する。キーはプロパティと呼ばれ、data['name']でもdata.nameでも参照できる。

オブジェクトは配列の中に入れ込むことも可能。引数に渡すことももちろん可能。

5章 Webページに組み込む

概要

ここまではJavaScript自体の仕様についての解説。 ここからは実際にWebベージを動かすにはどうするのよ、という解説となる。

Webページに表示されているHTMLの各要素はElementオブジェクトと呼ばれ、これをJavaScriptで操作することになる。
オブジェクトを使ってHTMLを操作する仕組みはDOM(Document Object Model)と呼ばれている。
DOMを利用してクリックやドラッグアンドドロップなどでWebページの見た目を変えられるようになる、といったところ。

HTMLを用意する

VSCodehtmlと入力してhtml: 5を選択するとひな型を作ってくれる。すごい。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <h1>さんぷる</h1>
  <input type="text">
  <button>実行</button>
  <p>結果表示</p>
  <script src="js/sample.js"></script>
</body>
</html>

langjaに変更しつつbodyを編集した。

HTMLサンプル画面

シンプルなサンプル(大爆笑ギャグ)

HTMLの要素を取得する

document.querySelector('取得したい要素名')で最初に見つかった要素を取得できる。 getElement(s)By○○の○○を要素名の書き方で区別する版、みたいな感じだろうか。

programmer-life.work

この記事が詳しい。

sample.jsを編集する。

let input = document.querySelector('input');
let text = document.querySelector('p');
let button = document.querySelector('button');

button.addEventListener('click', () => {
  text.innerText = input.value;
});
  1. ボタンにクリック時イベントを追加
  2. 無名関数でテキストをインプット内容に書き換え

を行っている。

しんぷる

やってみた結果。

テキスト置換マシンをつくる

HTMLに置換元と置換先を入力してボタンを押すと元の文字列を置換した文章が表示されるページを作る。

  • HTML
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <textarea cols="60" rows="5">全地球100億人のロリカッケーみなさんコンバトラー!どんなピンチも「まあ良い」の一言ですかさず解決!規制法律ドンとこい、あなたの心に住まいを構える永遠の小学5年生。そうです、私が八九寺真宵ちゃんでーす!!</textarea>
  <input type="text" id="findtxt">
  <input type="text" id="reptxt">
  <button>置換</button>
  <p>結果表示</p>
  <script src="js/transrate.js"></script>
</body>
</html>

textareaは好きな文言でいいよとのことだったのでうろ覚えの長台詞を入れておいた。

let textarea = document.querySelector('textarea');
let findinput = document.querySelector('#findtxt');
let repinput = document.querySelector('#reptxt');
let btn = document.querySelector('button');
let elem = document.querySelector('p');

btn.addEventListener('click', () => {
  let pattern = new RegExp(findinput.value, 'g');
  let target = textarea.value;
  elem.innerText = target.replace(pattern, repinput.value);
})

replaceは文字列を渡すと最初にヒットしたもののみ置換するため、正規表現RegExpオブジェクトをg(該当全部)で宣言して置換する。

実際にやってみた

聞かれても困る。

これで一通りの入門は完了となる。

MDN web docs

developer.mozilla.org

フロントエンジニア御用達の開発者向け情報サイト。信頼性が高い。

qiita.com

目次を作ってくれている方がいる。多分神様なのだろう。

おわりに

JavaScriptの入門から、実際にHTMLの表示を変えるところまでが簡潔かつ丁寧に記載された良書であった。

www.jschallenger.com

ざっくりとした入り口には立てた気がしているのでちょっとやってみることに。なんもわからん…。

ではまた。


  1. 余談だがバッククオートをソースコードで表すときはそれより多い数のバッククオートで囲むらしい。`` ` `` みたいな。

【セトリ】 HANAZAWA KANA Live2022「blossom」セットリスト

2022/4/7に なかのZERO 大ホール
2022/7/30に 神戸国際会館こくさいホール
にて開催された
HANAZAWA KANA Live2022「blossom
セットリストです。
※ 両公演共通

1: [secret track] (blossom)
2: ユメノキオク
3: You Can Make Me Dance
4: Don't Know Why
5: 港の見える丘
6: Miss You
7: LOVE IS WONDER
8: Night And Day
9: 草原と宇宙
10: flattery?(Acoustic ver.)
11: Nobody Knows
12: GSSP
13: 息吹 イン ザ ウィンド
14: Moonlight Magic
15: SHINOBI-NAI
16: We Are So in Love
17: マラソン
18: 恋する惑星
19: 青い夜だけの
アンコール
20: 恋愛サーキュレーション
21: 星空☆ディスティネーション

【セトリ】 ずっと真夜中でいいのに。 LIVE "Z FACTORY 「鷹は飢えても踊り忘れず」" セットリスト

2022/4/16 2022/4/17にさいたまスーパーアリーナにて開催された
Z FACTORY 「鷹は飢えても踊り忘れず」
セットリストです。
※ day1と2で異なっている曲は斜体にしてみました。見づらかったら戻します。

day1 "memory_limit = -1"

1: 眩しいDNAだけ
2: ヒューマノイド
3: 勘冴えて悔しいわ
4: マイノリティ脈絡
5: ハゼ馳せる果てるまで
6: 違う曲にしようよ
7: 機械油
8: 彷徨い酔い温度
9: 夜中のキスミ
10: MILABO
11: 脳裏上のクラッカー
12: Dear Mr 「F」
13: 正しくなれない
14: お勉強しといてよ
15: ミラーチューン
16: あいつら全員同窓会
17: 秒針を噛む
アンコール
18: Ham
19: サターン
20: 正義

day2 "ob_start"

1: ばかじゃないのに
2: 低血ボルト
3: 勘冴えて悔しいわ
4: マイノリティ脈絡
5: JK BOMBER
6: 違う曲にしようよ
7: 機械油
8: 彷徨い酔い温度
9: 袖のキルト
10: MILABO
11: 脳裏上のクラッカー
12: Dear Mr 「F」
13: 暗く黒く
14: お勉強しといてよ
15: ミラーチューン
16: あいつら全員同窓会
17: 秒針を噛む
アンコール
18: またね幻
19: サターン(弾き語りver.)
20: 正義

f:id:vviilloovv:20220417005534j:plain

【セトリ】 プロジェクトセカイ COLORFUL LIVE 1st - Link - 1/28夜公演 セットリスト

2022/1/28に幕張メッセ 国際展示場 9-11ホールにて開催された
プロジェクトセカイ COLORFUL LIVE 1st - Link -
1/28夜公演のセットリストです

Leo/need

1: needLe
2: フロムトーキョー

MORE MORE JUMP!

3: アイドル新鋭隊
4: 天使のクローバー

Vivid BAD SQUAD

5: Ready Steady
6: シネマ

ワンダーランズ×ショウタイム

7: セカイはまだ始まってすらいない
8: potatoになっていく

25時、ナイトコードで。

9: 悔やむと書いてミライ
10: アイディスマイル

MORE MORE JUMP!

11: メルティランドナイトメア
12: ビバハピ

25時、ナイトコードで。

13: カトラリー
14: ベノム

ワンダーランズ×ショウタイム

15: テレキャスタービーボーイ
16: ミラクルペイント

Vivid BAD SQUAD

17: Just Be Friends
18: フラジール

Leo/need

19: ヒバナ
20: ドラマツルギー

VIRTUAL SINGER

21: 千本桜

アンコール

初音ミク, 星乃一歌, 天馬司, 宵崎奏

22: セカイ

初音ミク, 花里みのり, 小豆沢こはね

23: ワーワーワールド

初音ミク, 星乃一歌, 天馬司, 宵崎奏, 花里みのり, 小豆沢こはね

24: 群青讃歌

f:id:vviilloovv:20220128212958j:plain

【セトリ】 UNISON SQUARE GARDEN TOUR 2021-2022「Patrick Vegee」 セットリスト

UNISON SQUARE GARDEN
TOUR 2021-2022「Patrick Vegee」
セットリストです

1: Simple Simple Anecdote
2: Hatch I need
3: マーメイドスキャンダラス
4: Invisible Sensation
5: フライデイノベルス
6: カラクリカルカレ
7: Nihil Pip Viper
8: Dizzy Trickster
9: 摂食ビジランテ
10: 夜が揺れている
11: 夏影テールライト
12: オーケストラを観にいこう
13: Phantom Joke
14: 世界はファンシー
15: スロウカーヴは打てない (that made me crazy)
16: 天国と地獄
17: シュガーソングとビターステップ
18: 101回目のプロローグ
アンコール
19: crazy birthday
20: オトノバ中間試験
21: 春が来てぼくら

f:id:vviilloovv:20220126204448j:plain

【セトリ】 小倉唯 FCイベント 「Yui's*Company. 社員総会 2021 〜Twinkle Holy Day♪〜」 セットリスト

2021/12/11に神奈川県民ホールにて開催された
Yui's*Company. 社員総会 2021
〜Twinkle Holy Day♪〜
セットリストです。

1-昼: 赤いリボン
1-夜: Very Merry Happy Christmas
2: エブリデイ☆ハッピーデイ
3: 天使のクローバー (カバー)
4: Get over
5: 永遠少年
6: Sing-a-ling-a-Harmony

f:id:vviilloovv:20211211211228j:plain