2026/03/03(火)2月の反省と3月の目標

読書

単体テストの考え方/使い方

  • 目標:進捗60%まで進める
  • 実績:230/393 ... 58.5%
    ほぼ達成とみて良いんでない?
    毎朝通勤時にちびちび読んでいます。
    今月で9割~読了まで行きたい。

クルスタ合同誌向けのイラストを描く

  • 目標:2/15完成
  • 実績:3/1完成
    遅れましたが、完成させました。
    目標予定前後で仕事が佳境になり時間が取れず...
    後ろにずれ込みましたが、何とか納品完了。
生活習慣
  • 目標:毎日6時間以上の睡眠時間確保
  • 実績:未達成
    月初~月半ばまで仕事が鬼忙しく、帰ってきて11時
    そこから飯風呂いろいろ~で1時、2時寝が常態化した。
    そん何なので休日も爆睡。
    佳境は乗り切ったので以降は平均6時間は取れている。
    こうならないように仕事のことも先を見据えて調整せねばね...

  • 目標:土日も朝に起きること

  • 実績:半分くらい達成
    前述の通り、月半ばまでは昼過ぎまで寝ることが多々
    後半は起きて活動していた、ハズだが記憶があやふや...
    睡眠時間の記録をとるって目標も完全に忘れていたので
    今度から休日起きたらツイートするか

  • 目標:SNSをなるべく見ない

  • 実績:未達成
    こんのドパ中が...
    あれだけ時間の無駄と言っておきながら見てんじゃねえか...
    反省していろいろサブスク解約しました。
    Youtube、dアニメ、amazon等
    残っているサブスクはニコニコ動画とコミフロのみ
    この2つは唯一の娯楽なんで...
勉強
  • 目標:統計検定2級の勉強
  • 実績:未達成 目標範囲の1/3くらいまでしか進んでない
    仕事忙しいにかまけてサボってた。
    いやね、忙しいでサボったらいつ勉強すんのって話ではあるんだが
    元の目標が少々無謀だったのもある、2週間で終わる範囲じゃないやコレ
    予定を組みなおして、3月も続ける。

3月の目標

管理
  • 週報を書く
    ほっといたらサボり放題になりそうなので...
    週末に進捗を出しましょう。
    やだーっ!めんどくせぇーっ!
    やりましょう。
読書
  • 単体テストの考え方/使い方
    9割~読了まで進める

  • 読む技法 詩から法律まで、論理的に正しく理解する
    読み切る

  • Software Design 3月号
    読み切りたいが、最低限ログの再設計記事は読む
勉強
  • 統計検定2級対策
    統計WEBを毎日1項目ずつ進める。
    今月ですべての範囲を終わらせる。
生活習慣
  • 平均睡眠時間6時間
    夜更かししないようにしましょう。

  • 筋トレ
    定期的にサボったり再開したりする。
    しばらくサボっていたら体重が2Kg落ちましたわ。
    50Kg維持できるようにしたいね
コミケ
  • 同人誌原稿
    メモ書きレベルでもいいので今回必要な情報をまとめること。

そんな感じでしょうかね。
あと先月はブログ自体もそんなに書いていなかったので
今月はもうちょいブログ自体もかけたらいいな

以上

2026/02/19(木)virtual boxで共有ファイルを作成する

1. 共有ファイル設定

Oracle VirtualBoxマネージャーから指定VMの設定を開く
共有フォルダーの+ボタンから追加
この時、VMは電源OFF出ないと変更できない

20260219_1.png

2. VMで設定スクリプト実行

VMをWidndowモードで起動、デバイス>Guest Additions CDイメージの挿入を選択し、マウントする。

20260219_2.png

sudo mount /dev/cdrom /cdrom

その後、スクリプト実行

sudo ./cdrom/VBoxLinuxAdditions.run
3. 管理グループにユーザー登録

確認すると、管理グループに所属していないので読み書きできない

ls -l /media/
cat /etc/group | grep vboxsf

自分をグループに追加する。

sudo usermod -aG vboxsf [username]
cat /etc/group | grep vboxsf
4. 再ログインして反映

以上

2026/02/01(日)1月の反省と2月の目標

1月振り返りと2月目標

年始からクッソ怠惰に過ごしてたは...
これはアカンよ

振り返り

読書
  • 集合・位相入門 ... 進捗50%
  • 単体テストの考え方/使い方 ... 進捗30%
  • 正月休み中に1枚描く ... 進捗0%
    だらだら落書きはしたが1枚絵としては描いてない
生活習慣
  • 毎日6時間以上の睡眠時間確保もう全然ダメ
    平均4~5時間くらい、夜更かしエブリデイだった。
  • 土日も朝に起きることこれは比較的達成した(当社比)。
    かくいうこの記事も日曜の朝っぱらから書いている。

2月の目標

読書
  • 単体テストの考え方/使い方
    進捗60%まで進める
  • クルスタ合同誌向けのイラストを描く
    ... 〆2/15
生活習慣
  • 毎日6時間以上の睡眠時間確保
    まず記録をつけてないとな
    正確な時間が分からんし
  • 土日も朝に起きること
    今後も継続して起きれるようにする
  • SNSをなるべく見ない X、Youtubeが主だが、本当に可処分時間を無駄にしてる気しかしない
    全く見るな...とは言わないが時間を気にして使えと反省。
勉強
  • 統計検定2級 3月に受験して合格を目指して勉強する。
    2月前半は統計WEBの STEP1が2級範囲なので、そこを勉強する。
    2月後半は過去問を解く。

2026/01/20(火)cpprefjpを読もう。【一様初期化】

一様初期化 [N2672] cpprefjp

概要

一様初期化(uniform initialization)は、コンストラクタの呼び出しを
リスト初期化と合わせて波カッコで記述する構文。

リスト初期化は前回確認した初期化子リストで取り上げた。cppref

この機能により、戻り値の型が確定している文脈において、コンストラクタの引数を波カッコ内に列挙したものをreturnで返せるようになる。その際に、戻り値の型を記述する必要がない。(初期化子リストのみで良い)

仕様
  • 初期化子リストautoで受けた場合、その型はstd::initializer_list<T>に推論される。
    C++14/17以降では、要素数1の初期化子リストstd::initializer_list<T>に対し、

    • コピー初期化した場合、std::initializer_list<T>型に推論される。
    • 直接リスト初期化した場合、T型に推論される。
      wandbox
  • 関数テンプレートのパラメータとして、初期化子リストを渡して推論はできない。
    wandbox
    template<class T> void sample([[maybe_unused]]T param){};
    int main()
    {
        //sample({1,2,3}); // エラー
        sample(std::initializer_list<int>{1,2,3});
        return 0;
    }
    
  • 関数のパラメータの型が確定している場合は、初期化子リストを渡せる。
  • 関数の戻り値の型が確定している場合は、初期化子リストをreturnできる。
  • 初期化子リストコンストラクタと同じ型のパラメータをとるコンストラクタがある場合、
    リスト初期化を使用した場合は初期化子リストコンストラクタが優先され、
    そうでないコンストラクタを呼び出す場合は、丸カッコを使用する。
補足

丸カッコによる初期化は、意図せず関数宣言構文とみなされる場合がある。
波カッコによる初期化を行うことで、コンストラクタによる初期化を明示できる。

参考

【C++】初期化子リスト関連機能を大雑把に理解する

2026/01/19(月)cpprefjpを読もう。【初期化子リスト】

C++11 初期化子リスト [N2672] cppref

概要

ユーザー定義型オブジェクトに対して、波カッコによるリスト初期化が可能になる機能。

ユーザー定義型 : 標準ライブラリの型を除く、ユーザーによって定義された型

<initializer_list>ヘッダに定義されたstd::initializer_listをパラメータとして、
コンストラクタや代入演算子をオーバーロードする。

cppref std::initializer_list

つまるところ、任意の型に対してリストのようにイテレータアクセスを可能にしたクラス
(内部実装はコンパイラ側にあって、不明)
貰ったstd::initializer_list<T>のイテレータで良しなに初期化しろっていうことか。

仕様

重要そうなものを抜粋

  • 波カッコを使用した初期化子のリストによる、オブジェクトもしくは参照の初期化をリスト初期化 (list initialization)と呼ぶ。
  • 上記の初期化子を初期化子リスト (initializer list)と呼ぶ。
  • 初期化子リスト (initializer list)は、カンマ区切りで要素を列挙する。
  • 初期化子リスト (initializer list)は、空であってもよい。
  • 使用できる個所は、このクラスを使ってオーバーロードしたコンストラクタや演算子等。
  • 初期化子リストに 縮小変換 が要求された場合、プログラムは不適格となる
    試しにvectorで見てみる。 wandbox
    結果は仕様通り。
    prog.cc: In function 'int main()':
    prog.cc:7:49: error: narrowing conversion of '5.0e+0' from 'double' to 'int' [-Wnarrowing]
        7 |     std::vector<int> container2 {1, 2, 3, 4, 5.0};
        |           
    
  • 以下の条件を満たすコンストラクタを初期化子リストコンストラクタ(initializer-list constructor)と呼ぶ
    1. 任意の型を要素とする初期化子リストのみを引数とする物。
    2. 任意の型の初期化子リストおよび、それ以降にデフォルト引数を持つ物。
  • オーバーロード解決
    • デフォルトコンストラクタ初期化子リストコンストラクタがある場合、
      空の初期化子リストが渡された場合はデフォルトコンストラクタが呼び出される。
余談

gptを使用してブログのレビューしたんだが、以下のような指摘を受けた。

オーバーロード解決の説明
デフォルトコンストラクタと初期化子リストコンストラクタがある場合、
空の初期化子リストが渡された場合はデフォルトコンストラクタが呼び出される。
⚠ これは誤りです(重要)
正しい仕様
  • 初期化子リストコンストラクタが存在する場合
    • {} は initializer_list コンストラクタが優先される
  • デフォルトコンストラクタが呼ばれるのは:
    • initializer_list コンストラクタが存在しない場合

へーそうなんすね、調べてみましょう。
wandbox コード

#include <iostream>
#include <vector>
#include <initializer_list>

template<class T>
class Test
{
public:
    Test()
    {
        std::cout << "default" << std::endl;
    }

    Test([[maybe_unused]] std::initializer_list<T> l)
    {   
        std::cout << "initializer_list" << std::endl;
    }
};

int main()
{
    Test<int> test_default;
    Test<int> test_initilizer {1, 2, 3, 4};
    Test<int> test_empty {};
}

結果

default
initializer_list
default

嘘じゃねーか!
課金しないとモデル選択できないとは言えさぁ...
ちなみにgemini-3-flashは特に変なことは言っていなかった。
いい加減、AI使うなら課金しないといけないか...