メモの日々


2001年07月03日(火) SQL Server

会社など

  • SQL Server2000 の120日間評価版をインストールした。よく分からない。
  • NのDBをSQL Serverにしたら動かないじゃん。だめだこりゃ。はぁ。

2002年07月03日(水) 朝から打合せの日

会社

  • 10:25 8:30から高本さん吉田さん水野さん兒玉くんと打合せ。何か進んだのか?
  • やることリストがあると便利そうなのでそういう欄を作ることにした。
  • 10:45 PSEワークショップ開催のメイルがきていた。もううちの会社はPSEには関わらなくなったみたい。鈴木さんいないしね。
  • 11:40 Projectのセミナーに申し込んで返信メイルも来た。サイボウズの設定もしたんだ。
  • 16:00 木曜日の準備中。SSLが絡むのでうまくいかないかもしれないと弱気になっているところ。さっき筆ペン使った。
  • 18:30 木曜日の準備中。SSL対応は諦める。じゃああまり意味無いじゃん。とりあえず連絡用のコンテンツをSBDのサーバへ送ってはおいた。

[unix] 第5話「データを2重化しよう!」

mirrorのちょっとした説明とか。linux users MLより。

[windows] NTPでネットワーク全体のマシンの時刻を合わせる(1)

WindowsでのNTPの設定方法が載っているページをメモ。

テレビ/本

  • JavaWorld7月号。はやく読み終わらないと。

2006年07月03日(月)

  • 久々に打ち合わせをした。作業見積とかの話し合い。
  • 今日の行数:1643
  • 今日の体調:朝は左足の付け根が痛かったが夜には治っていた。首はもう痛くない。

やること

  • テーブル生成
  • デザイン変更
  • 保険
  • ツールのDVDを観る
  • 税務署
  • クリーニング
  • OOo
  • JDK

2007年07月03日(火)

[c++] boost::program_options を使う

設定ファイルの読み込み処理を作りたくて、boost::program_optionsが使えそうなので試してみた。boost::program_optionsはどちらかというとプログラムの起動オプション処理を作るためのライブラリみたいなんだけれど。

サンプルプログラム

動かしてみたプログラムをメモ。

#include <boost/program_options.hpp>
#include <fstream>
#include <iostream>

namespace po = boost::program_options;

int main(int argc, char* argv[]) {
    // options_descriptionにオプションを定義していく
    po::options_description options("オプション");
    po::options_description command_line("コマンドライン");
    po::options_description config_file("設定ファイル");

    //--- オプションの定義は、operator()をどんどん繋げて書くみたい ---

    command_line.add_options()
        // 値を持たないオプション
        ("help", "ヘルプの表示")
    ;

    std::string option3_value;
    config_file.add_options()
        // オプションの型を指定できる
        ("option1", po::value<int>(), "オプションその1")
        // デフォルト値を指定できる
        ("option2", po::value<std::string>()->default_value("デフォルト値"),
         "オプションその2")
        // オプションを格納する変数(option3_value)を指定できる
        ("option3", po::value<std::string>(&option3_value),
         "オプションその3")
        // 複数指定可能なオプションを作れる
        ("option4", po::value<std::vector<std::string> >(),
         "オプションその4")
    ;

    // オプション定義を合成することができる
    options.add(command_line).add(config_file);

    // ここにオプションの値が読み込まれる
    po::variables_map vm;

    try {
        // command_lineのオプションをparse_command_lineを使ってパースし、
        // 結果をvmに格納する
        po::store(po::parse_command_line(argc, argv, command_line), vm);

        // config_fileのオプションをparse_config_fileを使ってパースし、
        // 結果をvmに格納する
        std::ifstream ifs("config.txt");
        po::store(po::parse_config_file(ifs, config_file), vm);

        // これを呼び出さないと、上で設定したoption3_valuesに値がセットされない
        po::notify(vm);

        // オプションの有無はcount()でチェックするのが正しい?
        if (vm.count("help") || !vm.count("option1") || !vm.count("option3")) {
            // ヘルプの表示
            std::cout << options << "\n";
            return 1;
        }

        std::cout << "option1: " << vm["option1"].as<int>() << "\n";
        std::cout << "option2: " << vm["option2"].as<std::string>() << "\n";
        std::cout << "option3: " << vm["option3"].as<std::string>() << "\n";
        std::cout << "option3_value: " << option3_value << "\n";
        std::vector<std::string> option4
            = vm["option4"].as<std::vector<std::string> >();
        std::cout << "option4 size: " << option4.size() << "\n";
    } catch (std::exception &e) {
        std::cout << e.what() << "\n";
    }
}

ビルド方法

ビルドする際は、次のようにしてboostのライブラリをリンクする必要がある。

g++ option.cpp -lboost_program_options

実行結果

ビルドできたら、config.txt を次のように

$ cat config.txt
# 行頭に#を付けるとコメントを書けるみたい
option1 = 100 # 行の途中からでもコメント書けた
#option2 = nya-
option3 = wanwan
option4 = gao-
option4 = e-n
# option5 = wahahaha

作っておくと、実行結果は次のようになる。

$ ./a.out
option1: 100
option2: デフォルト値
option3: wanwan
option3_value: wanwan
option4 size: 2

ヘルプの表示

ヘルプ表示は次のような感じ。

$ ./a.out --help
オプション:

コマンドライン:
  --help                 : ヘルプの表示

設定ファイル:
  --option1 arg                       : オプションその1
  --option2 arg (=デフォルト値) : オプションその2
  --option3 arg                       : オプションその3
  --option4 arg                       : オプションその4

デフォルト値に日本語を使ったら、ヘルプの表示がずれてしまった。

その他

あと、試してないけれど、「po::notify(vm);」のタイミングで実行されるコールバック関数を各オプションに設定できるみたい。

参考

やること

  • 入庫
  • スーツをクリーニング屋へ
  • ズボンを洗う

2010年07月03日(土)

[サッカー] ワールドカップ ドイツvsアルゼンチン (ケープタウン)

決勝トーナメントは2回戦が始まっている。ブラジルは試合を支配していたのにオランダに負けてしまった。カカかわいそう。さて、イングランドを破り強さを見せ付けているドイツをメッシ擁するアルゼンチンが止められるか。

ドイツの先発は

                      クローゼ
     ポドルスキ        エジル        ミュラー
   シュバインシュタイガー    ケディラ
ボアテンク フリードリッヒ メルテザッカー ラーム
                      ノイアー

アルゼンチンの先発は

                 イグアイン
         テベス                メッシ
マキシロドリゲス マスチェラーノ  ディマリア
エインセ ブルディッソ デミチェリス オタメンディ
                   ロメロ

立ち上がりはワンタッチのパスをどんどん通すドイツが圧倒する。守備でもすぐに相手を囲みアルゼンチンは何も出来ない。ドイツ強いなあ。が、アルゼンチンも徐々に慣れ、メッシの強引な突破から反撃。テベスは大久保のように走り回る。

後半は一転してアルゼンチンが個人技を生かして一方的に攻める。ドイツはなんとか凌いでカウンターから盛り返した。マラドーナ監督の表情が印象的。

やること

  • クリーニング
  • 請書
  • Adobe Readerのバージョンアップ

2019年07月03日(水)

[hard][android] Moto G5 Plusのアップデートは終了

2年前に買ったMoto G5 Plus、OSの更新の配信が5月にあったけど、今後も更新があるのか気になったので調べた。

そして、モトローラのUSのサイトから

というページへのリンクがあるのを見つけた。このページでMoto G5 Plusを調べると、

この製品はセキュリティ更新プログラムをもう受信しません。

と表示される。

ということで、Moto G5 Plusのアップデートは終了しいることが分かった。

[hard][android] Pixel 3a を買った

Moto G5 Plusは安くていい機種だったが、OSの更新がないのは嫌なのでGoogleのPixel 3aを買った。48600円。

Pixel 3a

Moto G5 Plusと比べて画面が縦長になり、少し狭く感じる。最新OSが使えるのとFeliCa搭載、充電ポートがUSB-Cなのがうれしいポイントかなあ。早速Google PayからSuicaを登録した。

あわせて、Spigenの透明ケース(約1400円)とガラスフィルム(約800円)も買った。ケースはいいんだけど、ガラスフィルムは幅が細めで少し右にずれた状態で貼ってしまった。


2020年07月03日(金)

[work][service][etc] 業種と職種

書類に業種や職種の記入を求められるといつも悩んでいたが、総務省のウェブサイトに

というのがあることを知った。同じものがe-Statという政府統計ポータルサイトにもあって、こちらの方が検索もできるので便利。

ここにある分類でいうと、自分は

業種
情報通信業 > 情報サービス業 > ソフトウェア業 > 受託開発ソフトウェア業
職種
専門的・技術的職業従事者 > 情報処理・通信技術者 > ソフトウェア作成者

なのかなあ。書類にどの粒度のものを書けばいいのかはまだ悩みそう。