47歳でやむなくセミリタイア

病気のためセミリタイアをすることに。現在は週20時間程度のバイトをしています。その他、雑多なことを記録として書いています。

国民年金保険料を2年前納した場合、社会保険料控除はどうなるのか

ちょっと風邪気味のようです。喉や鼻がおかしいし頭も少し痛い。

年末調整資料が続々と届きました。多分全部揃ったはず。

と、ここで気になったのですが、国民年金は2年前納しています。この場合、控除が今年に集中してしまうと、来年の税金が増えてしまいますよね。という訳でググってみました。
www.nenkin.go.jp
ふむふむ。払った年に全額控除するか、3年に分けて控除するかを選べるようです。私の場合、今年は収入が少ないから、分けて控除したほうがいいですね。
ということは…、もし今年だけ収入があり、来年からは無収入という場合は、まとめて控除すると得になるとかあるかもしれませんね。

さて、早めに寝ることにします。

2019年10月の支出

もう11月です。もう年末のことも考えないといけません。お盆に戻らなかったから、正月には実家にも顔を出さないといけないかな。
という訳で10月の支出です。

項目 金額
食費 36,862円
日用品 1,378円
趣味・娯楽 10,971円
交通費 3,965円
衣服・美容 30,800円
健康・医療 2,650円
教養・教育 780円
特別な支出 65,019円
水道・光熱費 10,461円
通信費 6,209円
住宅 24,530円
税・社会保障 5円
合計 193,630円

アンプ(Marantz NR1200)を買った(特別な支出)のと、メガネのフレームを交換(衣服・美容)したので、支出が多いですが、それらを除けば10万円を切っているので、まあこんなものでしょう。
外食費が17,613円とまた増えてしまいました。体重も減らず。

はてなブログに編集履歴があるのに今更気づいた

もう大分回復したけど、今日は仕事に集中しすぎて疲れてしまった。

掲題の話題なのですが、月別の支出や資産などの記事を書く場合には、「コピーして新しい記事を書く」で先月の記事を元にして書いているのですが、時々コピーしたつもりなのに、編集していて先月の記事を上書きしてしまうということをやってしまいます。
昨日の11月の投資状況の記事で、まさにそれをやってしまって、なにか復活させる方法はないのか~と探したら、編集履歴に上書きする前のデータが残っていることに気づきました。

「記事の管理」の「編集」から、「編集履歴を見る」を選ぶと、
f:id:ekutajp:20191105195904p:plain
こんな感じで、上書きする前のものが残っており、「この履歴から編集」とやって保存しなおせば元に戻せるというわけです。

削除したものも3つまでは残されていて、ゴミ箱から復活できるようです。さすがはてなブログと感心してしまいました。

11月の投資状況

資産が100万円以上増えたので、投資状況が気になって見てみました。というわけで、今月の投資状況です。

投資信託

楽天バンガード(VTI)をSBI証券のNISA枠と楽天証券で、120万円ずつ買っています。
f:id:ekutajp:20191104175150p:plain
f:id:ekutajp:20191104175139p:plain
上がSBI証券で、下が楽天証券です。

iDeCo

iDecoは「eMAXIS Slim全世界株式(除く日本)」です。
f:id:ekutajp:20191104175856p:plain
先月より増えているけどそんなに変わらない…。どうも資産の方は10月の初めに株価が急落したタイミングで、先月投資状況を見たのは月の半ばには大分上がっていたということみたいですね。

こういうのを見ていると、短期トレードはやってられないなあと感じますね。勝てる気がしません。

Yii2の使い方: リレーションを持つモデルをGridViewで表示する

Yii2の使い方。自分用のメモです。

リレーションを持つモデル、たとえば社員と支店のテーブルがあって、社員のテーブルにその社員がどの支店に属しているかが支店番号で入れられているようなものをGridViewで表示する方法です。

データーベース

こんな感じのデータベースです。

CREATE TABLE `t_employee` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `branch_id` INT(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `t_branch` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO t_branch(id, name) VALUES(1,'東京'),(2,'大阪');
INSERT INTO t_employee(name,branch_id) VALUES('山田',1),('鈴木',1),('佐藤',2),('田中',2),('吉田',1);

以下のような表になります。

名前 支店名
山田 東京
鈴木 東京
佐藤 大阪
田中 大阪
吉田 東京

giiでCRUDを作る

Yii2の使い方: Giiを使ってCRUDコードを作成する (+ Pretty URL) - 47歳でやむなくセミリタイア」で書いた、Giiを使ってデータベースからModel(Employee.phpとBranch.php)とCRUD(EmployeeController.php/EmployeeForm.phpとview/employee)を作ります。
この状態でGridViewを表示すると以下のようなものになります。
f:id:ekutajp:20191103174351p:plain
リレーションを設定していないので、支店番号がそのまま表示されています。これを支店名が表示されるようにします。

viewで支店名を表示するよう設定

最初にGridViewで支店名が評されるようにします。
models/Employee.phpにリレーションを定義します。

    public function getBranch()
    {
        return $this->hasOne(Branch::className(), ['id' => 'branch_id']);
    }

views/employee/index.phpのcolumn指定のbranch_id を以下のように書き換える。

        'columns' => [
            ['class' => 'yii\grid\SerialColumn'],
            'id',
            'name',
            [
                'attribute' => 'branch_name',
                'value' => 'branch.name',
            ],
        ],

ここまででも、GridViewに支店名が表示されるのですが、これでは一行ごとにデーターベースのクエリが発生してしまうので、一度のクエリで済ませられるように、models/EmployeeForm.phpにjoinWith()を追加します。これは検索やソートにも必要です。

    public function search($params)
    {
        $query = Employee::find()->joinWith('branch');

検索ができるようにする

上記だけだと、支店名は表示されますが、検索やソートができません。まず検索ができるようにします。
models/EmployeeForm.phpのrules()からbranch_idを削除して、branch_nameを追加します。

    public function rules()
    {
        return [
            [['id'], 'integer'],
            [['name', 'branch_name'], 'safe'],
        ];
    }

同じくmodels/EmployeeForm.phpのsearch()の検索条件からbranch_idを削除して、branch_nameを追加します。これで検索ができるようになりました。

ソートができるようにする

最後にソートの設定をします。
models/EmployeeForm.phpのsearch()で、$dataProviderに、ソート設定を追加してやります。

        $dataProvider = new ActiveDataProvider([
            'query' => $query,
        ]);
        $dataProvider->sort->attributes['branch_name'] = [
                'asc' => ['t_branch.name' => SORT_ASC],
                'desc' => ['t_branch.name' => SORT_DESC],
        ];

結果

以下のように、「Branch ID」の列が、「Branch Name」となって、支店名が表示されるようになっています。ソートや検索も使えるようになりました。
f:id:ekutajp:20191103181009p:plain

英語教材「i-smile」にメールを登録してみた

今日も気持ちのいい天気でした。Ring Fit Adventureも続けています。

さて、掲題の「i-smile」ですが、英語学習の書籍で著名なデイビッド・セインさんが監修ということで興味が出て、メールを登録してみました。
#「i-smile」でググれば公式サイトが簡単に見つかります。「デイビッド・セイン」でも一番上に出てきますのでSEO対策頑張っていますね。

教材の内容

ドラマを見てそこで使われている英語を音読するというのがメインです。これは王道の方法だと思います。
ただ、ドラマに興味を持たせるためかドラマの内容が日本語で、そこに英語のスクリプトを被せたものです。そして別途英語の音声は練習用として用意されているといった感じです。全て英語のものより効率が悪そうです。英語の音声もゆっくり、はっきりのもので、初級者向けの教材です。ちょっと残念。

2019年11月の資産状況

さて、今日から11月です。寒くはなってきましたが、これ位が過ごしやすいですよね。

さてさて、今月の資産状況です。

項目 金額 先月との差分
預金 52,363,694円 33,096円
投資信託 3,006,989円 180,369円
個人年金 4,500,000円 20,000円
iDeCo 13,003,521円 864,680円
合計 72,854,204円 1,078,145円

う~む。株高のおかげで100万円超えの大幅なプラスです。このまま上がったりするんでしょうか。
バイト代のおかげで預金の方も収支はプラスです。ただ来月は今月買ったアンプ(Marantz NR1200)の引き落としがありますので、マイナスのはず。

(余談)マネーフォワードの円グラフがぼけぼけになった…

いつも資産状況は、マネーフォワードのトップページにある総資産の円グラフから取ってきてたのですが、今月見てみると以下のようにプレミアム会員以外は使えなくなってしまっていました。確か以前にも一度こんな感じになったことがあったような。
f:id:ekutajp:20191101191116p:plain
困ったなあと思ってたら、資産のところに数値の情報があることに気づきました。
f:id:ekutajp:20191101180845p:plain
やっぱり円グラフはボケボケですが、必要なのは数値の方なので全く問題ありません。良かった。
ちなみに預金の数値が合わないのは、マネーフォワードに連携できない物があるからです。