まったりするmatayu

ツイートにゴミがついた感じのブログ

設定の生成

こんな感じの設定を大量に作る必要があった。

edit 1
    set srcintf "hoge"
    set dstintf "huga"
    set srcaddr "all"
    set dstaddr "piyo"
    set action accept
    set schedule "always"
    set service "ALL"
    set fixedport enable
next

editの部分を連番にする。

#!/usr/bin/perl

use strict;
use warnings;

for (my $edit = 1; $edit <= 100; $edit++){
  my $str = "
  edit $edit
    set srcintf \"hoge\"
    set dstintf \"huga\"
    set srcaddr \"all\"
    set dstaddr \"piyo\"
    set action accept
    set schedule \"always\"
    set service \"ALL\"
    set fixedport enable
  next
  ";
  print "$str\n";
}

これワンライナーでできるのかな。

ワンライナーのオプションども

  • l

入力の改行とって、出力に改行つける

  • e

パラメーターをプログラムとみなす

書いたやつ

perl -le 'map {print "edit $_"."\n    tset srcintf hoge
    set dstintf huga
    set srcaddr all
    set dstaddr piyo
    set action accept
    set schedule always
    set service ALL
    set fixedport enable
next"} 1..100'

ワンライナー...?

いろんな指数

アジア太平洋 株式指数をいつもなんとなくみている。それぞれの指数がどんなものなのかみていこう。とりあえず日本株から。気が向いたら海外もやる。まあ、bloombergにも概要は書いてあるのでそっちを見ると良い。少しずつ更新していく。

www.bloomberg.co.jp

TOPIX 500 INDEX (東証)

bloombergTPX500:INDによると

TOPIX 500指数は、TOPIX東証株価指数)の時価総額上位500銘柄で構成される時価総額 加重平均指数。最も流動性が高い500銘柄のパフォーマンスを表す。1998年4月1日を基準 日とし、その日の終値に基づく時価総額を1000として算出される。

日本で時価総額上位500銘柄一覧はjpxのサイトからダウンロードできる。

www.jpx.co.jp

こっちの方が確認しやすい。

www.investing.com

Words

通常の時価総額株価 x 発行済み株式数で計算され、企業の規模を表している。 しかしながら、TOPIXの場合、「浮動株時価総額加重型」という算出方法を用いており、その際の時価総額浮動株式数 = 上場株式数 × 浮動株比率を用いて計算される。 浮動株式とは上場された株式のうち、安定した株(大株主や安定株主が持つもの)を除いたものである。TOPIXが浮動株式数を用いるのは、

「多くの人に所有され、 多くの資産に影響を及ぼす銘柄とそうでない銘 柄とでは、同額の株価変動であっても、指数全 体に与える影響は異なる」

引用: https://www.nli-research.co.jp/files/topics/35583_ext_18_0.pdf?site=nli

という考えがあるからである。安定株が多い企業の場合、実際に市場を動かす株式数は少なく、逆に浮動株が多い企業では多くなる。

  • 加重平均

値の重みを加味した平均のこと。TOPIXの場合は時価総額を重みとして平均を計算している。時価総額の大きな株が動く方が指数に大きく影響を与えることになる。

TOPIX 100 INDEX (東証)

bloombergTPX100:INDによると

TOPIX 100指数は、TOPIX東証株価指数)の時価総額上位100銘柄で構成される時価総額 加重平均指数。最も流動性が高い100銘柄のパフォーマンスを表す。1998年4月1日を基準 日とし、その日の終値に基づく時価総額を1000として算出される。

日本で時価総額上位100銘柄一覧はjpxのサイトからダウンロードできる。

www.jpx.co.jp

こっちの方が確認しやすい

www.investing.com

日経平均株価

bloombergNKY:INDによると

日経平均株価指数は、東京証券取引所第 1 部上場銘柄のうち市場を代表する 225 銘柄で構成される株価平均指数。1949年5月16日の単純平均株価 176 円 21 銭 (除数 = 225) を基準としている。

日経平均や日経225と呼ばれ、TOPIXと並んで日本で普及している指数である。日本を代表する指数ではあるが、純粋に民間企業(日本経済新聞社)によって作成されている。

225銘柄は日本経済新聞社のページから確認できる。

www.nikkei.com

Words

  • 除数

割り算の分母。株式分割や銘柄入れ替えなどで指数に連続性がなくなってしまうことを避けるため、除数の調整が行われることがある。

日経500平均

TOPIX (東証株価指数)

日経300指数

東証REIT指数

JASDAQ インデックス

TOPIX CORE 30 IDX (東証)

東証マザーズ指数

TOPIX SMALL INDEX (東証)

TOPIX MID 400 INDX (東証)

日経ジャスダック平均

東証2部 株価指数

TOPIX LARGE 70 IDX (東証)

親知らずを抜いた

先々週に親知らずを抜いて、先週抜糸をした。歯を抜いてから2日くらいはとてもとても痛かった。痛み止めを飲んで寝るが、全然寝付けないので寝不足になったり、ご飯もちゃんと食べられなかったりで元気をなくしていた。今はもう痛みはなく、違和感もほとんどない。おかげさまでご飯をたくさん食べられるようになったので、とても嬉しい。ご飯をあんまり食べられなかったときに治ったら行きたい場所として中華料理屋と喫茶店が上がった。今、自分のマップアプリにはたくさんの中華料理屋と喫茶店が登録してある。一つずつ行ってお気に入りのお店を見つけたいところ。とりあえず大学近くの坦々亭のチャーハンを食べに行った。叉焼がとてもいい味をしている。

f:id:mattari_matayu:20210630000213j:plain
坦々亭の炒飯

あとは沖縄国際大学近くの亜州飯店に行った。ここでは天津丼を食べた。750円くらいで結構いい感じの量が出てくる。今現在、530円くらいで350gの唐揚げが入った唐揚げ弁当を弁当を持ち帰ることができる。店員さんが料理を持ってくるときになぜかグラム数を教えてくれる。店員が面白くて、ご飯も美味しかったのでまた行きたいと思う。

f:id:mattari_matayu:20210630000507j:plain
亜州飯店の天津丼

次は喫茶店に行ってみよう。おすすめの中華料理屋、喫茶店があったらぜひ教えて欲しい。

そういえば、歯の治療が終わったら筋トレをすると決めていたのでそろそろ始めようかな。まだ歯の治療が完全に終わったわけではないのでその後でも良いかもしれない。とりあえず散歩はしている。運動不足すぎるので散歩するだけでもかなり足にくる。最近はIngressをやりながら散歩をしている。散歩はなるべく毎日やりたいところ。拡張現実系のスマホアプリゲームはIngressとかポケモンgoとかドラクエウォーカー?があると思うけど、コロナで外に出る機会が減ったせいかそれ以上新しいゲームはあんまり出てないと思う。自分が知らないだけかもしれないが。もっといろいろ出てくると面白いかなと思ったり思わなかったり。

久しぶりにおはスバをみた

最近あんまり見てなかったけど、久しぶりにアーカイブを見てみた。hololive世間話みたいな感じでスバルがFree Talkをしていくんだけども、楽しそうに話すから聞いてるだけでとても元気をもらえる。作業用としても適度な集中を保てるので良い。

最近ハマってるVTuberはちょっとhololiveを離れて、兎鞠まりとか中野とかぽんぽこチャンネルとか。

兎鞠まりは不思議な感覚を味わえるので面白い。中身がおじさんでがわが女の子のいわゆるバ美肉ボイスチェンジャーを使って配信をしている。しかし、バ美肉とわかっていても普通に可愛いと感じる。というか、中身がおじさんだなんて信じないぞ俺は。とりあえず可愛いし面白いのでみてみてくれ。

www.youtube.com

中野は兎鞠まりのリアルの後輩である。

www.youtube.com

↓この動画を見てもらうとわかると思うが、しゃべりが上手い。さばさばした聞いていて気持ちの良い喋り方をする。

youtu.be

中野の動画を見ていると、人生もっと頑張れそうな気がしてくる。

おすすめの動画として、兎鞠まりが中野にドッキリを仕掛けるやつを紹介しておく。面白いのでぜひみてくれ。

youtu.be

ぽんぽこチャンネルは企画系で、甲賀流忍のぽんぽことピーナッツのピーナッツくんの二人(二匹?)で動画を作成している。他のVTuberとのコラボを頻繁に行っていて、VTuberのハブ的な役割を果たしている気がする。ぽんぽこはとても可愛いし、ピーナッツくんが作曲する曲は面白いしかっこいい。「グミ超うめぇ」「Drippin' Life」「眠れないクリスマス」あたりが面白くておすすめ。ピーナッツくんのショートアニメも地味に面白くておすすめだ。ぽんぽこチャンネルとピーナッツくん個人のチャンネルリンクを貼っておく。

www.youtube.com

www.youtube.com

元気の源

ルビ付きのアルマゲドン

keithonに日本語ルビがついた英語のアルマゲドンの本を借りて読んだ

一応ストーリーの流れはわかったけど、登場人物の細かい心情とか言葉遣いとかがあまり読み取れなかった

お家にアルマゲドンのDVDがあるらしいので観てかくにんしよう

高校生の時にSAOの英訳版を買って読んだことがあったけど難しくて最後まで読めなかった記憶

これがルビ付きのアルマゲドン

アルマゲドン [英語版ルビ訳付] 講談社ルビー・ブックス | M.C. ボーリン |本 | 通販 | Amazon

講談社ルビー・ブックスが出してる

ルビ付きの本を出すのでルビー

食べるの遅い

いつも人の倍くらいの速度で食べてる感じ

誰かと食事に行くときはちょっと申し訳ない気持ちになる

自分一人で食べてると普通に1時間経ってたりする

結構量がある時に自分のペース以上で食べるとその後眠かったり胃がもたれたりで全然動けなくなるんだよなぁ

普段は一回の量を少なめに、4~5回に分けて食べる

ゆっくりじっくり食べるのが好きだから、速く食べられなくなった説はあるな

個人的には速く食べたいとは思ってないし

小学校の給食の時間は割と短くて15分か20分くらいしかなかった記憶

よく食べきったな当時の俺

最近食べて、胃が死にそうになった宮古そば なかよしのかつどぅん

f:id:mattari_matayu:20210607125434j:plain
かつどん

おいしかった

ABC202Dをいろいろな言語で解いてみた

解いてみただけ

Python3

import math

A, B, K = map(int, input().split())

result = []


def sameFactorial(a, b):
    return math.factorial(a+b) // (math.factorial(a)*math.factorial(b))


def headIs(a, b, k):
    if a == 0:
        result.append('b'*b)
    elif b == 0:
        result.append('a'*a)
    elif sameFactorial(a-1, b) >= k:
        result.append('a')
        headIs(a-1, b, k)
    else:
        result.append('b')
        headIs(a, b-1, k-sameFactorial(a-1, b))


headIs(A, B, K)
print(''.join(result))

Julia

A, B, K = parse.(Int64, split(readline()))

function sameFactorial(a, b)
    factorial(big(a+b)) ÷ (factorial(big(a))*factorial(big(b)))
end

function headIs(a, b, k)
    if a == 0
        return 'b'^b
    elseif b == 0
        return 'a'^a
    elseif sameFactorial(a-1,b) >= k
        return 'a' * headIs(a-1, b, k)
        
    else
        return 'b' * headIs(a, b-1, k-sameFactorial(a-1,b))
    end
end

print(headIs(A, B, K))

Ruby

def C(n, k)
    result = 1
    k.times do |i|
        result *= n - i
        result /= i + 1
    end
    result
end

def solve(a, b, k)
    if a == 0
        'b' * b
    elsif b == 0
        'a' * a
    elsif k <= (c = C(a + b - 1, b))
        'a' + solve(a - 1, b, k)
    else
        'b' + solve(a, b - 1, k - c)
    end
end

A, B, K = gets.split.map(&:to_i)
puts solve(A, B, K)

Perl

use strict;
use warnings;
use utf8;

sub C {
    my ($n, $k) = @_;
    my $result = 1;
    for my $i (1..$k){
        $result *= $n - $i + 1;
        $result /= $i;
    }
    return $result;
}

sub Solve {
    my ($a, $b, $k) = @_;
    if($a == 0){
        return 'b'x$b;
    }elsif($b == 0){
        return 'a'x$a;
    }else{
        my $c = C($a+$b-1,$b);
        if($k <= $c) {
            return 'a' . Solve($a-1, $b, $k);
        }else{
            return 'b' . Solve($a, $b-1, $k-$c);
        }
    }
}

my ( $A, $B, $K ) = split / /,<>;
print Solve($A, $B, $K);

最近腰が痛い...