とりあえずブログ

普通のサラリーマンの雑多なブログ

【投資】双日の2019年第2四半期決算を見てみた

僕の所有している双日株で2019年第2四半期決算の発表がありましたので、どんなもんか見てみました。 学生で言うところの中間テストだと思いますので、進捗はどうなのか、課題はなんなのかそのあたりを踏まえ見ていこうと思います。

www.sojitz.com

まず当期純利益に関してですが、期初見通し630億円に対し、今回の見通しは700億円となっています。 進捗率としては53%とのことで、まずまずの進捗と思っています。 期初の見通しで換算すると59%の進捗率とのことです。

各セグメントでみると特に際立っているのが、金属・資源部門の進捗率です。 進捗率でいうと期初見通しで79%、修正後の見通しで57%となっています。

逆に進捗率が芳しくないセグメントは機械・医療インフラで期初の見通しに対し、進捗率は23%となっています。

なぜ金属・資源部門が際立っているか

なぜ金属・資源部門が際立っているかは、決算資料冒頭のサマリーに記載されています。

石炭をはじめとした資源価格の高止まり

じゃあ、なんで石炭等の資源市場が高止まりしているか。

こちらのグラフを見てもわかるように2015年の1mt(メリックトン)あたり60ドル付近で推移していたのが、現在は100ドルから120ドルの間で推移しています。 f:id:tkm03:20181107214912p:plain (画像引用:https://pps-net.org/statistics/coal

石炭価格が高くなっている理由は主に中国・インドが台頭してきた背景があります。

これまで、中国・インドは自国産の石炭で国内需要を賄ってきたが、石炭消費量の増加により、海上貿易における中国・インドの輸入割合は増加。相対的に日本の輸入割合はこの10年で一般炭では2割強から約1割に、原料炭では約4割から約2割に低下しており、海上貿易における日本の輸入国としてのプレゼンスが低下してきてい。
http://www.meti.go.jp/shingikai/enecho/shigen_nenryo/pdf/024_s03_01.pdf

この流れは今後もしばらくは続くと思われるので、石炭を扱う商社は恩恵を受けることになるでしょう。

www.nikkei.com

逆に石炭を利用する業界はコスト増となり、業績の悪化につながりかねません。

minkabu.jp

石炭は主に火力発電に使われますが、このあたりは環境面への配慮がありますので、各国の政策については注視していく必要があります。

なぜ機械・医療インフラ部門が芳しくないか

資料では、

産業機械、インフラ関連の収益を下期に見込んでおり、概ね見通し通り

と説明しています。

双日では、トルコ病院案件やタイのエンジニアリング会社に出資したりと積極的に拡大しているものの、新興国の政治・経済・社会環境の変化に伴うカントリーリスクがありますので、こちらも注視が必要です。

ということで、決算状況は悪くないため、引き続き株は持っておこうと思います。

市場全体の下落で双日株も引きずられて下落した際は、ナンピン買いも考慮に入れたいと思います。

【読書メモ】心の救急箱『NYの人気セラピストが教える自分で心を手当てする方法』

NYの人気セラピストが教える 自分で心を手当てする方法

NYの人気セラピストが教える 自分で心を手当てする方法

最近職場が変わったこともあって、何かと気疲れがしていることが多いです。僕自身メンタルが強い方ではないので、睡眠障害になったり、落ち込むことが多かったりと何かと心の問題を抱えています。実際に心療内科に通ったりして、何かと薬に頼ることもしばしばあります。

そんな中、運動をしたり、健康によいものを食べたりと体のケアする人は多いと思いますが、ここ最近は心のケアも大事なんだなと思うようになりました。 特に体のケアが大事なのは重々わかっている人は多い中、心のケアを考え実践している人はどれくらいいるのかと思ってしまいます。

この本は特に日々の心のケアの方法を最近の研究でわかってきたことを踏まえ、具体的に説明してくれています。 また、ケア方法だけではなく、各ケア方法の最後部分で、こうなったら精神科や専門家のところに行きましょうと限界値まで示してくれ、「心の救急箱」として読むことができました。

特に読んで欲しい方は、心の不調を感じている方です。 心が不調と自覚しているのは、まだましなのですが、なんか最近イライラするとか何かと不安に思ってしまう方にはオススメの本となっています。 心の悩みについては、誰しもが経験することなので、正直誰しもが知っていて損はないと思います。

実際にこの本の中でこんな一文があります。

私たちは体の不調をうまく手当てできるのに、なぜ心の不調になるとお手上げなのでしょう?その答えは、心の手当ての方法を学んでこなかったからです。

この本では下記のような心の悩みについて、それぞれ詳細に具体的な事例を交えて対象方法を教えてくれる、そんな内容になっています。

  • 自分を受け入れてもらえなかったとき
  • 誰ともつながっていないと感じるとき
  • 大切なものを失ったとき
  • 自分が許せなくなったとき
  • 悩みが頭から離れないとき
  • 何もうまくいかないとき
  • 自分が嫌いになってしまったとき

上記で挙げた悩みは少なからず人間であれば、感じる瞬間があるはずです。 僕の場合は特に、「自分を受け入れてもらえなかったとき」の章がとても参考になりました。

どの章でも実際に著者であるガイ・ウィンチさんの実際のセラピー体験が紹介されていて、実際にどんな風に心の不調を改善していったのかを説明してくれています。

僕の場合、「自分を受け入れてもらえなかったとき」の章が参考になったと上でも述べましたが、実際にいじめとまではいかなくても小さな拒絶体験はいくらでも日常生活の中に潜んでいます。 (職場で軽くミスしただけなのにひどく怒られた、なんとなく誘いに断られたなど)

そんな拒絶体験への対処法として、ガイさんはこんな説明をしています。

拒絶体験をしたときは、自分に甘いくらいでいいのです。傷口を保護し、直してやるのが先決です。とはいえ、自己否定の声を無視するのは簡単ではありません。油断すると頭の中に「だから自分はだめなんだ……」という声が響いてきます。その声に負けないためには、自己否定の内容に反論し、自分にやさしい考え方を採用するのが効果的です。自分を必要以上に責めないように、公平な見方を手に入れましょう。

そのあとに詳細な自己否定を改善するエクササイズ内容が紹介されているのですが、ここでは割愛します。

これを読んだとき僕はちょうど軽い拒絶体験で落ち込んでいたので、救われたような気持ちになりました。

実際にエクササイズをやってみると心の痛みが和らいだように感じました。

その他にも様々な心の傷に対し、この本では科学的な根拠をもった手法でエクササイズを紹介されています。

この本の終わりの部分で、

生きていれば、誰もが傷つきます。
心の傷はこれまで専門家の領域とされ、軽い傷を自分で手当てする方法はほとんど論んじられてきませんでした。そのせいで傷をどんどん悪化させ、病院に駆け込む人が少なくなかったのです。
この本で紹介した手当ては、心が傷ついたときのための救急箱です。病院に行くほどではないけれど、ヒリヒリと痛むようなときに、まずは救急箱を開いて手当てしてください。

とガイさんが語っています。

もっと早くこの本に出会い、心のケアの方法を知っていれば、もう少しマシな精神状態だったのかもしれなかったと思う一方で、今この本に出会えてよかったと思いました。 心が痛むときは絶対にこの本を読み返して、エクササイズを実践すると思います。

みなさんも「心の救急箱」を自分の中に持ちませんか?

AWS EC2のメモリ使用率をCloudWatchエージェントを使用して取得する方法(画面キャプチャ付き)

以前、ハニーポットを運用していたEC2がメモリー増加の影響でハングして、うんともすんともいかなかくなったので、メモリ使用率を監視したいと思い、AWSで実装した方法を備忘のために記載しておきます。

saito.hatenadiary.com

正直公式ドキュメント見れば、わかるじゃんって思ったんですが、公式ドキュメントが結構記載が丁寧じゃないところがあったり、画面キャプチャなどが全くないので、結構はまりました。 AWS自体更新が非常に激しいサービスなので、画面キャプチャを撮ってマニュアル化するのもナンセンスなのかもしれません。この記事も時間が経てば、キャプチャ画面が変わって、いつか役にたたなくなるのかもしれないです。

公式のドキュメントはこちらです。 基本的にはこちらを参考にしながら設定を行い、最終的にはCloudWatchでグラフを見れるようにしました。 docs.aws.amazon.com

IAMロールの作成

まずはIAMロールを作成します。 IAM画面で「ロールの作成」を押下します。

f:id:tkm03:20181104215732p:plain

「EC2」を選択し、「次のステップ:アクセス権限」を押下します。

f:id:tkm03:20181104215849p:plain

「CloudWatchAgentServerPolicy」をチェックします。 ここで同じ要領で、「AmazonEC2RoleforSSM」を検索し、チェックします。 (僕はこの「AmazonEC2RoleforSSM」のチェックを忘れていて、ハマりました。。。)

f:id:tkm03:20181104215943p:plain

ロールの作成画面では、ロール名に適当な名前を入力し、「ロールの作成」を押下します。

f:id:tkm03:20181104220212p:plain

AWS Systems ManagerでCloudWatchエージェントパッケージをインストール

EC2のメモリ情報を取得するためには、CloudWatchエージェントパッケージをインストールする必要があるのですが、楽にインストールするためにAWS Systems Managerを使用します。

まずは、上記で作成したロールを対象のインスタンスにアタッチします。 EC2インスタンスの画面から対象インスタンスを選択し、「アクション」-「インスタンスの設定」-「IAM ロールの割り当て/置換」を押下し、先ほど作成したロール名を選択します。

f:id:tkm03:20181104220548j:plain

その次に対象サーバにログインして、AWS Systems Managerを利用するためのSSM Agentをインストールします。 僕のサーバの場合、Ubuntuなので下記コマンドを実行してインストール資材をダウンロードします。 この辺りは、OSのバージョンやアーキテクチャによって変わってくるので、適宜変更してください。

$ wget https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/

ダウンロードが完了したら、下記コマンドでインストールします。

$ sudo dpkg -i amazon-ssm-agent.deb
Selecting previously unselected package amazon-ssm-agent.
(Reading database ... 73993 files and directories currently installed.)
Preparing to unpack amazon-ssm-agent.deb ...
Preparing for install
stop: Unknown job: amazon-ssm-agent
Unpacking amazon-ssm-agent (2.3.193.0-1) ...
Setting up amazon-ssm-agent (2.3.193.0-1) ...
Starting agent
amazon-ssm-agent start/running, process 6568
Processing triggers for ureadahead (0.100.0-16) ...

これでSSM Agentのインストールが完了しました。

ここまで出来れば、あとはAWS Systems Managerから操作が可能となります。

AWS Systems Managerサービス画面を開きます。 左の「ランコマンド」を押下します。

f:id:tkm03:20181104221240p:plain

画面右の「コマンドを実行」を押下します。

f:id:tkm03:20181104221337p:plain

コマンドのドキュメントの部分で、「AWS-ConfigureAWSPackage」を選択します。

f:id:tkm03:20181104221423p:plain

コマンドのパラメータの部分は、Actionに「Install」を選択します。Nameには適当な名前を入力しておきます。

f:id:tkm03:20181104221509p:plain

ターゲットの箇所には、上記でロールをアタッチしたインスタンスが表示されているはずなので、そのインスタンスを選択します。

f:id:tkm03:20181104221636j:plain

最後に画面下の「実行」ボタンを押下すると、CloudWatchエージェントのインストールが開始されます。 問題なくインストールされれば、コマンドの履歴で「成功」と出力されます。

CloudWatchエージェントのセットアップ

ここまでくればあともう少しです。 対象のサーバにログインして、amazon-cloudwatch-agent-config-wizardコマンドを実行します。

コマンドを実行すると対話型で、いろんな項目の入力を求められるので、適宜要件に合わせながら、変更してください。

$ sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
=============================================================
= Welcome to the AWS CloudWatch Agent Configuration Manager =
=============================================================
On which OS are you planning to use the agent?
1. linux
2. windows
default choice: [1]:
1
Trying to fetch the default region based on ec2 metadata...
Are you using EC2 or On-Premises hosts?
1. EC2
2. On-Premises
default choice: [1]:
1
Do you want to turn on StatsD daemon?
1. yes
2. no
default choice: [1]:
1
Which port do you want StatsD daemon to listen to?
default choice: [8125]

What is the collect interval for StatsD daemon?
1. 10s
2. 30s
3. 60s
default choice: [1]:
3
What is the aggregation interval for metrics collected by StatsD daemon?
1. Do not aggregate
2. 10s
3. 30s
4. 60s
default choice: [4]:
4
Do you want to monitor metrics from CollectD?
1. yes
2. no
default choice: [1]:
1
Do you want to monitor any host metrics? e.g. CPU, memory, etc.
1. yes
2. no
default choice: [1]:
1
Do you want to monitor cpu metrics per core? Additional CloudWatch charges may apply.
1. yes
2. no
default choice: [1]:
1
Do you want to add ec2 dimensions (ImageId, InstanceId, InstanceType, AutoScalingGroupName) into all of your metrics if the info is available?
1. yes
2. no
default choice: [1]:
1
Would you like to collect your metrics at high resolution (sub-minute resolution)? This enables sub-minute resolution for all metrics, but you can customize for specific metrics in the output json file.
1. 1s
2. 10s
3. 30s
4. 60s
default choice: [4]:
4
Which default metrics config do you want?
1. Basic
2. Standard
3. Advanced
4. None
default choice: [1]:
1
Current config as follows:
{
    "metrics": {
        "append_dimensions": {
            "AutoScalingGroupName": "${aws:AutoScalingGroupName}",
            "ImageId": "${aws:ImageId}",
            "InstanceId": "${aws:InstanceId}",
            "InstanceType": "${aws:InstanceType}"
        },
        "metrics_collected": {
            "collectd": {
                "metrics_aggregation_interval": 60
            },
            "mem": {
                "measurement": [
                    "mem_used_percent"
                ],
                "metrics_collection_interval": 60
            },
            "statsd": {
                "metrics_aggregation_interval": 60,
                "metrics_collection_interval": 60,
                "service_address": ":8125"
            },
            "swap": {
                "measurement": [
                    "swap_used_percent"
                ],
                "metrics_collection_interval": 60
            }
        }
    }
}
Are you satisfied with the above config? Note: it can be manually customized after the wizard completes to add additional items.
1. yes
2. no
default choice: [1]:
1
Do you have any existing CloudWatch Log Agent (http://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html) configuration file to import for migration?
1. yes
2. no
default choice: [2]:
2
Do you want to monitor any log files?
1. yes
2. no
default choice: [1]:
2
Saved config file to /opt/aws/amazon-cloudwatch-agent/bin/config.json successfully.
Current config as follows:
{
    "metrics": {
        "append_dimensions": {
            "AutoScalingGroupName": "${aws:AutoScalingGroupName}",
            "ImageId": "${aws:ImageId}",
            "InstanceId": "${aws:InstanceId}",
            "InstanceType": "${aws:InstanceType}"
        },
        "metrics_collected": {
            "collectd": {
                "metrics_aggregation_interval": 60
            },
            "mem": {
                "measurement": [
                    "mem_used_percent"
                ],
                "metrics_collection_interval": 60
            },
            "statsd": {
                "metrics_aggregation_interval": 60,
                "metrics_collection_interval": 60,
                "service_address": ":8125"
            },
            "swap": {
                "measurement": [
                    "swap_used_percent"
                ],
                "metrics_collection_interval": 60
            }
        }
    }
}
Please check the above content of the config.
The config file is also located at /opt/aws/amazon-cloudwatch-agent/bin/config.json.
Edit it manually if needed.
Do you want to store the config in the SSM parameter store?
1. yes
2. no
default choice: [1]:
1
What parameter store name do you want to use to store your config? (Use 'AmazonCloudWatch-' prefix if you use our managed AWS policy)
default choice: [AmazonCloudWatch-linux]

Trying to fetch the default region based on ec2 metadata...
Which region do you want to store the config in the parameter store?
default choice: [ap-northeast-1]

Which AWS credential should be used to send json config to parameter store?
1. ASIAS23XL6BKECR6HP6R(From SDK)
2. Other
default choice: [1]:
2
Please provide credentials to upload the json config file to parameter store.
AWS Access Key:
AWS Secret Key:
Successfully put config to parameter store AmazonCloudWatch-linux.
Program exits now.

一応ちゃんと起動しているか確認する。 エージェントがちゃんと起動しているかは下記コマンドで確認できます。

$ sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status
{
  "status": "running",
  "starttime": "2018-11-04T07:12:05+0000",
  "version": "1.204682.0"
}

CloudWatch画面確認

これで設定が完了したので、CloudWatch画面で情報がちゃんと取得できているか確認します。

ちゃんと設定できていれば、「CWAgent」というメトリクスが作成されているはずです。

f:id:tkm03:20181104222633p:plain

ちゃんと取得できていれば、下記のようなグラフが表示されるはずです。

f:id:tkm03:20181104222727p:plain

ハマったポイント

結構IAMロールあたりで、CloudWatchAgentServerRoleロールが付与されておらず、CloudWatchエージェントを起動しても途中で落ちてしまうという現象に陥りました。

そのときamazon-cloudwatch-agent.logには下記メッセージが出力されていましたので、同じ現象になった方はちゃんとIAMロールがEC2にアタッチされているか確認しましょう。

E! ec2tagger:     : +UnauthorizedOperation: You are not authorized to perform this operation.
        status code: 403, request id: 8795018c-26a2-45e6-804a-955d6ac5f882

まとめ

今回EC2でメモリ使用率を取得するために、下記サービスを利用しました。

  • IAM
  • AWS Systems Manager
  • CloudWatchエージェント

特にAWS Systems Managerなんかは大量サーバを運用しているところでは、かなり活用の余地があるのではないかと可能性を感じました。 コマンドをAWS側で実行してくれるので、オペレーションミスがなく、大量のエージェントに対してリクエストできる点が気に入りました。

今日はここまでとなります。

今度はメモリ閾値を超えたらメールを送信するというところまで挑戦したいと思います。

【読書メモ】アウトプットするか死ぬか『結局、人生はアウトプットで決まる』

結局、人生はアウトプットで決まる 自分の価値を最大化する武器としての勉強術

結局、人生はアウトプットで決まる 自分の価値を最大化する武器としての勉強術

何よりもアウトプットの重要性。今後の人生これに尽きる。そんな本でした。 自分の好きなテーマに様々に挑みながら、時に挫折や失敗を味わいながら、アウトプットし続ければいずれは自分が夢中になれるテーマでアウトプットができるようになると語られていて、雑記ブログをやっている僕からしたら、指針となる本になりました。

この本の中にも出て来るワードでセルフブランディングというワードがありますが、まさしくセルフブランディングができていないと感じる方、特にサラリーマンやOLの方で会社に埋もれていると感じている方、一人の社会人としてプロフェッショナル感を感じることができていない方におすすめの本となっています。 僕も普段はサラリーマンをやっていますが、実際のところ今の会社には不満はないのですが、自分の市場価値を考えたときに自分のブランドって何だろう、と考えることがあります。

そんな人に対し、この本の著者である中島さんは文字通り「アウトプット」することをおすすめしています。

日々の仕事に追われているうちに、AIに職を奪われ、寂しく人生を終えるのか。
インプットをアウトプットにつなげて仲間を得て、人間らしい生き方を謳歌するのか。
文字通り、「あなたのこれからの人生は、アウトプットの有無で決まる」のです。

本書の面白さは、Windows98のソフトウェア・アーキテクトだった中島さんのアウトプットのこれまでの遍歴を追いながら、なぜアウトプットをするのかを語りつつ、中島さんなりのアウトプット方法やアウトプットにおける考え方を知ることができる点にあります。

本書の中で、面白いと感じたのが2018年5月に話題になったインテル製CPUの脆弱性を説明する際は通常であれば、難しいITの用語を使用して解説する方が多い中、中島さんはエンジニアではない人にも理解しやすいように、「八百屋の看板娘の年齢をどうやって探りだすか」というテーマに置き換え、説明している点でした。

詳しくは本の中で語られているのですが、世の中難しい用語が多くて理解しがたい記事がたくさんあります。 そんな中例え話を用いて、専門家ではない一般の方向けに「編集する」という行為は非常に価値のあるアウトプットだと思いました。 ただの情報の横流しではない点がポイントだと感じました。

もう1点この本で参考になった箇所をご紹介すると、アウトプットは仮設でOKという点です。 通常であれば、アウトプットする際(特にブログの場合)、体験に基づく事実をアウトプットすることが多いかと思いますが、中島さんは全然仮設でもOKと語っています。

「アップルがサムスンとOLEDパネルの値段交渉をしている」と読んだとたん、少し前に読んだ「LGがOLEDパネルの製造に手間取っている」という記事が自然に頭に浮かぶようになったのです。
このように、事実としてアウトプットするときもあれば、ときに”仮設”をアウトプットする場合もあります。

仮設を立てて、ブログで紹介するということは僕自身これまでやってきたことのないアウトプットなので、参考になりました。

著者の中島聡さんは学生時代からソフトウェアの開発に携わり、大学時代にはパソコン用CADソフトを開発して、学生ながらにして1億円を稼いだ方で僕からしたら超スーパーマンです。 現在は、「シンギュラリティ・ソサエティ」という「新しい技10つを利用してより良い世の中を作りたい」と考えている人々のためのコミュニティ(オンラインサロン)を運営しています。 入会条件を少し見てみましたが、小論文の提出が必要となり、かなりガチなオンラインサロンでした。笑

www.singularitysociety.org

話す、書く、描く、踊る、弾くなどアウトプットの方法は様々ありますが、やっぱり人生を謳歌していると僕が感じる人々は、なんらかの形でアウトプットをしています。 そんな中、取り残されないためにも様々なアウトプットを少しずつやってみて、ダメだったら、テーマを変え自分の好きなテーマに出会えるまでアウトプットし続けたいと思う一冊でした。

アプトプットを少しやってみて、そのテーマがつまらないのであれば、今後続く可能性はきわめて低い。なので、一度決めたテーマでも、途中でかえてしまったほうが自分のためになります。何度も言っているように、好きで好きで仕方ないし、誰に頼まれたわけでもないのに、ついついかいてしまうようなテーマがベスト。そういったテーマを設定すべきですし、「好きだな」と思えるテーマに出合えるまで、気になったものに片っぱしから首を突っ込んでみるべきなのです。

中島さんのブログはこちらです。(結構本書の中身がそのまま載っていたりします。笑)

satoshi.blogs.com

最近はアウトアップの場としてYouTubeも活用されているようです。 www.youtube.com

関連記事です。

saito.hatenadiary.com

saito.hatenadiary.com

saito.hatenadiary.com

音楽好きは定期的にタワレコに行くことをおすすめする

tower.jp

先日久しぶりにタワーレコードに行きました。 特にほしいCDとかなかったのですが、ぶらりと立ち寄った感じです。

ここ最近はApple Musicに加入したおかげで、CDショップに行く機会が少なくっていましたが、それでも行ってみるといくつか良いことがあったので、ご紹介したいと思います。

流行がわかる

タワレコに行って良いことは、まず今の流行がわかるという点で非常に良いです。 Apple Musicのランキングでもなんとなく流行がわかるのですが、結構偏りがあったりして、飽きがすぐ来てしまう印象があります。 とくに日本のランキングの場合、同じアーティスとがずっと上位にいたりします。

タワレコの場合、Apple Musicのランキングに出てこないようなアーティストが大々的に紹介されていて、自分の好きなジャンルでどんなアーティストが流行りだしているのか分かります。

僕の場合、ダブステップが好きなので、今回でいうとZARDNICという覆面DJを知れたのは大きかったです。

f:id:tkm03:20181014173035j:plain

また、Sigalaも試聴して好きになりました。 とても心地よい音楽で、秋晴れにはぴったりの曲が多いです。 女の子なんかとドライブするときに聞きたい感じです。 f:id:tkm03:20181014172841j:plain

ポップが面白い

Apple Musicになくて、タワレコにあるものといえば、ポップです。 Apple Musicの場合、いろんなプレイリストがあって軽い紹介文などはあることが多いのですが、タワーレコードはポップによる紹介がすごいです。

全然興味のないジャンルのアーティストでも、気になる文章で誘い込んで来ます。

例えば、こんなんです。

f:id:tkm03:20181014172526j:plain

民謡とか全然眼中になかった僕がこれを見た瞬間、興味が止まらなくなってしまい実際に試聴までさせる威力がタワレコのポップにはあります。 新しい民謡。民謡クルセイダーズ。すごい良いです。 レゲエと民謡をミックスさせたような音楽で、おばあちゃんと聞いてみると面白いと思いました。

www.youtube.com

今回ポップで惹かれたアーティストでもう1組。 DEVIL NO IDという沖縄出身の3人組アイドルを初めて聞いたときは衝撃でした。 f:id:tkm03:20181014171923j:plain

EDM、HIP HOP、BASS MUSICなどダンスミュージックの要素を多く盛り込んだ音楽はたまんないです。 来年のどこかフェスに来るなら絶対見にいきます。

www.youtube.com

www.youtube.com

まとめ

というわけで、Apple MusicとかSpotifyとか音楽聴き放題サービスに加入している人でも定期的にタワレコ行くと楽しいよっていう話でした。

BECOME [CD]

BECOME [CD]

Brighter Days

Brighter Days

【Amazon.co.jp限定】BEAUTIFUL BEAST(DEVIL NO ID×アニメ「バキ」巻帯デカジャケ付)

【Amazon.co.jp限定】BEAUTIFUL BEAST(DEVIL NO ID×アニメ「バキ」巻帯デカジャケ付)

【読書メモ】数学で語る恋愛『恋愛を数学する』

恋愛を数学する (TEDブックス)

恋愛を数学する (TEDブックス)

恋愛の始まりから結婚生活の過ごし方まで、数学を用いてベストな解を探していく、そんな本になっています。 恋愛に数学を用いることで、今まで知らなかった意外な側面があり、興味深く読むことができました。

恋愛ができなくて困っている方はもちろん、お付き合いをしていて本当にこの人と結婚してもよいかと悩んでいる人、結婚していて上手く結婚生活を送れていない人はとても参考になる一冊となっています。 あくまでも数学的な観点から恋愛について語っているので、一概にこの本で述べられていることが当てはまるとは限りませんが、多くの人にとって知っていて損はない内容になっています。

この本の面白さは、なんといっても数学を用いて論理的に恋愛を説明していくところにあります。 著者であるハンナ・フライさんは数学者で、数理モデルを用いた人間の行動パターンの研究をしている方で、暴動・テロ、貿易やショッピングなど幅広く研究をされている方です。 普通恋愛の本といえば、恋愛豊富な方が独自のノウハウを説明するパターンが多いかと思いますが、この本はそういったことは一切なくあくまでも数学を用いて、恋愛について語る点で、とても説得力があります。

本のストーリーの流れも恋愛の始まりから説明され、途中現代では一般的なオンラインデートについても説明され、最終的には結婚生活をどう過ごすべきかという人生における恋愛の流れに沿った形で進められています。 また著者のハンナ・フライさんはTEDでも講演しており、その動画をネットで閲覧するこができます。

www.youtube.com

アプローチの方法

この本では恋愛に関して、多くのことを学ぶことができました。 特に興味深かったのは、第3章の「夜遊びの喜びを最大化するには」に出てくる箇所です。

自らアプローチしていくほうが、座して人が来てくれるのを待つよりも、必ず良い結果につながるのです。ですから、目標は高く、何度でも。数学はそう教えてくれています。

これは男性、女性関係なく言えることで、全米臨床研修マッチングプログラムという医師と病院のマッチングの例を用いて、説明しています。 要は、その場にいる一番良いと思う人から順に声をかけていくことで、最良の人と巡り会えるというもので、逆に待っているばかりだとアプローチして来た人の中で一番ましな人としか巡り会えないということです。

合コン、バーなどで良い出会いを探している方は積極的に声をかけていきましょう。

末長く幸せに暮らすために

この本の中で末長く暮らすために、マレーの数理モデルが紹介されています。

{ \displaystyle
W_{ t + 1 } = w + r_WW_t + I_{ HW }(H_t)
}

{ \displaystyle
H_{ t + 1 } = h + r_HH_t + I_{ WH }(W_t)
}

この数式は会話の中で夫婦それぞれが次に発する言葉がどれくらいポジティブ・ネガティブになると期待されるか予測してくれるものです。

この数式の詳しい解説は本を読んでほしいのですが、要約すると夫婦がお互いにポジティブな影響を与えれば、より関係は良くなり、ネガティブな影響を与えれば、関係が悪くなるという一見当たり前のような数式なのですが、ポイントは、ネガティブな影響による下がり幅は、ポジティブな影響による上がり幅に比べ大きいということです。

つまりネガティブなことをしてしまい、「ネガティブの閾値」と呼ばれる限界点まで相手が達してしまった場合は、負のスパイラルに陥るということを説明しています。

実際にうまくいっているカップルはこの「ネガティブの閾値」がとても低いタイプ(小さいことでも我慢せず言ってしまうタイプ)が多いそうです。

ネガティブの閾値がとても低い人たちのほうが、人間関係がうまくいっていました。そのような人間関係では、カップルは互いに不満を出し合い、日頃から小さな問題を修復するよう、一緒に努力します。この場合、カップルは感情を押し殺したりせず、些細なことがきっかけで均衡を失い爆発してしまうこともありません。

まとめ

この本は、数学を用いた恋愛の解説本です。 普通の恋愛経験豊富な人が書いた本とは違った楽しみ方が味わえると思います。 恋愛と数学。一見してかけ離れた分野のように感じますが、改めて数学の有用性を学びました。 学校でこういう数学を教えてくれる先生がいたら、絶対に数学好きになると思います。

ネットワークカメラを狙ったような探索アクセスをキャッチ

f:id:tkm03:20181021153616p:plain

僕のハニーポットにこんな感じのアクセスが来ていました。

1件目

POST /onvif/device_service HTTP/1.1
Accept-Encoding: gzip, deflate
Content-Length: 1144
Content-Type: application/soap+xml; charset=utf-8; action="http://www.onvif.org/ver10/device/wsdl/GetSystemDateAndTime"
Host: XXX.XXX.XXX.XXX:80
Soapaction: http://www.onvif.org/ver10/device/wsdl/GetSystemDateAndTime
User-Agent: AvigilonSoapClient/6.10

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:tt="http://www.onvif.org/ver10/schema" xmlns:tns1="http://www.onvif.org/ver10/topics" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wstop="http://docs.oasis-open.org/wsn/t-1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ter="http://www.onvif.org/ver10/error" xmlns:tavg="http://www.avigilon.com/onvif/ver10/avigilon-types" xmlns:tds="http://www.onvif.org/ver10/device/wsdl" xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xop="http://www.w3.org/2004/08/xop/include"><SOAP-ENV:Header></SOAP-ENV:Header><SOAP-ENV:Body><tds:GetSystemDateAndTime></tds:GetSystemDateAndTime></SOAP-ENV:Body></SOAP-ENV:Envelope>

2件目

POST /onvif/device_service HTTP/1.1
Accept-Encoding: gzip, deflate
Content-Length: 1178
Content-Type: application/soap+xml; charset=utf-8; action="http://www.onvif.org/ver10/device/wsdl/GetServices"
Host: XXX.XXX.XXX.XXX:80
Soapaction: http://www.onvif.org/ver10/device/wsdl/GetServices
User-Agent: AvigilonSoapClient/6.10

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:tt="http://www.onvif.org/ver10/schema" xmlns:tns1="http://www.onvif.org/ver10/topics" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wstop="http://docs.oasis-open.org/wsn/t-1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ter="http://www.onvif.org/ver10/error" xmlns:tavg="http://www.avigilon.com/onvif/ver10/avigilon-types" xmlns:tds="http://www.onvif.org/ver10/device/wsdl" xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xop="http://www.w3.org/2004/08/xop/include"><SOAP-ENV:Header></SOAP-ENV:Header><SOAP-ENV:Body><tds:GetServices><tds:IncludeCapability>false</tds:IncludeCapability></tds:GetServices></SOAP-ENV:Body></SOAP-ENV:Envelope>

どちらも/onvif/device_serviceにアクセスが来ていることから、ネットワークの標準規格であるONVIFを使用しているネットワークカメラの探索アクセスのようです。

SHODANで調べてみると少なくとも世界中で90万以上のネットワークカメラが稼働しているので、注意が必要です。

f:id:tkm03:20181021152854p:plain

AmazonでもONVIF規格に準拠したネットワークカメラが販売されていますが、レビューを見てみると結構パスワードを書き換えられて、乗っ取られたという事例があるようなので、ネットワークカメラの購入を考えている人は周りのIT(特にネットワークやセキュリティ)に詳しい人にどう設置すればよいか確認してみてください。

www.amazon.co.jp