としおの読書生活

田舎に住む社会人の読書記録を綴ります。 主に小説や新書の内容紹介と感想を書きます。 読書の他にもワイン、紅茶、パソコン関係などの趣味を詰め込んだブログにしたいです。



強化学習の勉強をしたいと思い強化学習学習がpythonで勉強できるようなツールを探していると『OpenAI Gym』というものを見つけたのでインストールしてみることにしました。

ただ、ATARIの環境構築をする際に手間取ったので本記事ではWindows10でOpenAI Gymをインストールする方法をまとめました。


動作環境


本記事における動作環境は下記の通りになります。
  • Windows10 Home
  • anaconda
  • Python 3.6.7
anacondaをまだインストールしていない人は下記の記事を参考にしてください。




OpenAI Gymのインストール

1. 仮想環境の作成


Anacondaでは "conda create -n 仮想環境の名前 python=x.x" というコマンドを使って仮想環境を作成することができます。

Python3.6でOpenAIという名前の仮想環境を作る場合は下記のコマンドを入力してください。

conda create -n OpenAI python=3.6


2. 仮想環境をActivateする


"activate 仮想環境の名前" で仮想環境をActivateすることができます。

activate OpenAI


3. gymのインストール


gymは下記のコマンドでインストールすることができます。

pip install gym


4. gymの動作確認


pipでgymを無事インストールすることができたら動作確認をしましょう。動作確認は下記のコードで行うことができます。

import gym

env = gym.make('CartPole-v0'# select game
observation = env.reset() # initialize

for i in range(100):
  env.render()
  observationrewarddoneinfo = env.step(1# go right
env.env.close()

上記のコードが実行できればCartPoleのゲーム画面が現れて台座が右に行き続けます。

本当はポールを倒さないようにするゲームですが今回はテストプログラムのためゲームができているかどうかは気にしない方向で。

無題






ATARIの環境構築


gymが無事インストールできたらここからはgymでATARIのゲーム(インベーダーゲームなど)をできるようにしていきます。

インストールの方法を調べているとpipで簡単にインストールできるという記述が多々あったのですが"pip install gym[atari]" "pip install gym[all]" などのコマンドを使ってもエラーがでてしまいインストールすることができませんでした。

エラー内容はMicrosoft Visual C++ 14.0が必要、cmakeがインストールされていない、zlibが必要などだったのですがそれらすべてをインストールしても上手くいかなかったため色々と調べていると下記のページがでてきました。



このページによるとATARIの環境構築はコマンド一つだけでできcmakeなども必要がないということだったので実際に書かれている通りのコマンドを入力すると環境構築することができました。

そのコマンドは下記になります。

pip install --no-index -f https://github.com/Kojoley/atari-py/releases atari_py

また次のコマンドでもインストールできるみたいです。

pip install git+https://github.com/Kojoley/atari-py.git

インストールすることができたら動作確認をしてみましょう。動作確認は下記のコードで行うことができます。

import gym

env = gym.make('SpaceInvaders-v0'# sellect game
env.reset() # initialize
for _ in range(1000):
    env.step(env.action_space.sample())
    env.render('human')
env.close()

インベーダー



最後に


無事Gymの環境構築を行うことができたので今後、強化学習のプログラムを作成したときはそちらの方も記事にしていこうと思います。



DSC_3256


以前使用していたキーボードが壊れてしまったので新しいキーボードを購入しました。

今までメンブレンの安いキーボードしか使ったことがなかったためせっかくの機会だし新しいキーボードはメカニカルキーボードにすることにしました。

メカニカルキーボードの中でどのキーボードにするか悩んだのですが以前から青軸キーボードを使ってみたいという思いとデザインの良さからLogicool(ロジクール)の【G512】のクリッキーを選びました。


Logicool G512シリーズとは


G512シリーズは日本で2018年5月24日に発売したゲーミングキーボードです。ロジクールが独自に開発した「ROMER-G」というメカニカルスイッチを使用しているのが最大の特徴だ。ROMER-Gは入力の速さ、高耐久性、静穏性を売りとしている。

G512シリーズには以下の3通りのタイプがあります。
  • リニア
  • タクタイル
  • クリッキー
リニアとタクタイルはG512シリーズの発売当初から存在しており、クリッキーは日本では2018年7月5日から発売された。それぞれの特徴を以下にまとめます。

リニアはRomer-G Linearと呼ばれるメカニカルスイッチが使われており赤軸キーボードに近い特徴がある。そのためG512シリーズの中で特に静穏性が高いという特徴がある。

タクタイルはRomer-G Tactileというメカニカルスイッチが使われており茶軸に相当する。G512シリーズ発売当初はタクタイルがゲーミングキーボードとしての需要が高かったがクリッキーの登場により状況は変化した。

クリッキーはGX Blue Clickyと呼ばれるメカニカルスイッチが使われている。GX Blue Clickyと呼ばれる名前から分かる通り青軸キーボードに似た性能である。PCゲーマーがロジクールに青軸のキーボードを求めていたのでその需要に答えることのできたキーボードだ。

それぞれのメカニカルスイッチがCHERRY MXスイッチの赤軸、茶軸、青軸に似ているといったが冒頭でもいったように耐久性などがすぐれていることからROMER-Gのほうが良いキーボードだと考えられる。





実際にG512 クリッキーを使ってみた感想


ここからは私が実際にG512 クリッキーを使用してみて感じたことをまとめます。

キーの打鍵感についてだが、今までメンブレンのキーボードしか使ったことがないというのもあり使い始めた当初はキーが重く入力していて疲れると感じていたが、しばらくして慣れてくるとあまり疲れてこなくなった。

またキーを押した感触が青軸に似ていることからしっかりしているためキーの入力が成立していないという打ち損じが起こらない。また入力音が心地よくキーボードを打つのが楽しくなった。

ただ打鍵音が響くため職場などの多くの人がいる場所で使うのはあまり向いていないかもしれない。自宅などの打鍵音を気にしない環境で使うのがおすすめだ。音が気になる場合はクリッキーよりもリニアのほうが良い気がする。

またこのキーボードはゲーミングモードに切り替えることができゲーミングモードの間はWindowsキーなどのキーに触れても反応しないようにできるためゲーム中の誤作動を防ぐことができる。

その他にもロジクールの全てのキーボードに言えることだがロジクールのソフトウエアを使うことでLEDランプを自分の好きな色に変えられるところもいい。私はG512のシンプルなデザインにあう水色のLEDを採用している。

個人的な感想としてゲーミングキーボードとしてならG512のクリッキーは最高のキーボードであると思う。ただ仕事で使ったりあまりゲームをしない人ならばリニアのほうがおすすめだ。



最後に


15000円と少し値段ははったが本当にこのキーボードを選んでよかった。G512のおかげでメカニカルキーボードの良さに気づくことができた。

またお金がたまったらリニアや他のメーカーのキーボードを買ったりして時と場合でキーボードを使い分けたりしてみたいな。




ai_study_kikaigakusyu


Windows10を使って機械学習をしてみたいと思いPythonでTensorFlowを使える環境を整えてみたのでインストール方法をまとめました。


TensorFlowを選んだ理由


TrnsorFlow(テンソルフロウ)とはで機械学習の分野で使用するためのOSS(オープンソフトウェアライブラリ)で、Pythonでも使用することができます。

Pythonで利用できる機械学習用のライブラリは他にもChainer(チェイナー)や Caffe などがありますがその中でTensorFlowを選んだ理由は利用者が多く情報を探しやすいからです。

以前Chainerを使用していたがTensorFlowよりは情報が少ないイメージがある。

また使い方が分かりやすく誰でも簡単にニューラルネットワークを組めるところも魅力的だ。



TensorFlowのセットアップ手順


これからTensorFlowのインストール手順を説明していきます。今回はPythonのディストリビューションである Anaconda を使ってセットアップしていきます。


1. Anacondaのインストール


Anacondaは下記のページからダウンロードすることができます。

理由がなければPython3を選び基本的に最新バージョンで大丈夫なので64bitか32bitの自分に合ったほうを選択してダウンロードしましょう。



tensorflow1


インストーラをダウンロードしたらそれを起動しインストールを進めていきましょう。基本的に細かい設定をしたい人以外は Nextをクリックし続けるだけで問題ありません。

インストールにはしばらく時間がかかるのでゆっくり待ちましょう。

インストールが完了すると下記のような画面が表示され次に進むとVSCodeをインストールするか聞かれます。

これはインストールしなくても問題はありませんので私はskipをクリックしました(Visual Studio Codeを使ってデバッグなどするならばインストールしても良いと思う)。

tensorflow2
tensorflow

以上でAnacondaのインストールは完了です。


2.Microsoft Visual C++ 2015 再頒布可能パッケージ Update 3のインストール


TensorFlowを使うにはMicrosoft Visual C++ 2015 再頒布可能パッケージ Update 3をインストールする必要があるので下記のページからインストールしてください。

すでにインストールしている人はとばしてください。




3. TensorFlowのイントール(CPUバージョン)


Anacondaのインストールが完了したら次はTensorFlowをインストールしていきます

TensorFlowにはCPU用のものとGPU用のものがあるのですがまずはCPU用のもののインストール方法を説明します。

GPU用のものを使う人は下にGPUバージョンのインストール方法を記しているのでそちらを見てください。

まず最初にスタートメニューからAnaconda Promptを起動します。

tensorflow3

起動したら下記のコマンドを入力してください。

conda install tensorflow

もしエラーが出た場合は現在のpythonのバージョンではTensorFlowを使えない可能性があるのでバージョンを落としましょう。(2018年10月8日の時点では3.7ではTensorFlowをインストールできなかったので、3.5にダウングレードしました。)

バージョンを落とすコマンドは下記になります。(3.5にする場合)

conda install python=3.5

バージョンを落としたらもう一度TensorFlowをインストールしてみてください。それで成功するはずです。

TensorFlowがインストールできたらしっかり動作するかテストをしてみましょう。下記のコードを入力してみて実行ができたら正しくインストールできています。

import tensorflow as tf
hello = tf.constant('Hello, world')
sess = tf.Session()
print(sess.run(hello))

エラーが出た場合Pythonのバージョンを変更したりTensorFlowのバージョンを変更したりしてみてください。





4. TensorFlowのイントール(GPUバージョン)


TensorFlowで機械学習をGPUで行おうとするとTensorFlowの他にCUDAのインストールとCuDNNをダウンロードする必要があります。

CUDAのインストール


CUDAは下記のページからダウンロードすることができます。

https://developer.nvidia.com/rdp/cudnn-download

Windows10ならWindows10のものをダウンロードしましょう、CUDAのバージョンは9.0以外はTensorFlow対応していないので9.0にしましょう。

TensorFlowとCUDAのバージョンの対応表はこちらで見れます。

私は最初9.2でも大丈夫だと思っていたがそのせいで上手くいかず無駄な時間をとってしまった。
tensorflow5
インストールは指示通り進めていけば簡単にインストールすることができます。

CuCNNのダウンロード


CuCNNは以下のページからダウンロードすることができます。CuCNNをダウンロードするにはアカウントを作成する必要があるので持っていない人は作成しましょう

https://developer.nvidia.com/cudnn

CuCNNはCUDAのバージョンにあったものをダウンロードしましょう。

ダウンロードできたらCuCNNを展開して各ファイルをCUDAのディレクトリにコピーしてください。

cudnn64_7.dll ➞ NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin
cudnn.h ➞ NVIDIA GPU Computing Toolkit\CUDA\v9.0\include
cudnn.lib ➞ NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib

tensorflow-gpuのインストール


tensorflow-gpuのインストールはCPU用のものとほぼ同じでAnaconda Promptを起動し下記のコマンドを入力するだけです。

conda install tensorflow-gpu

インストールが完了したら動作確認をしましょう。下記のコードを入力してみてください。

from tensorflow.python.client import device_lib
device_lib.list_local_devices()

GPUの情報が表示されたら正しくインストールできています。CPUの情報しか表示されない場合は上手く動作できていないのでもう一度バージョンなどを確認してみてください。



最後に


色々と困ったこともありましたが無事インストールできました。今後 TensorFlow を使った機械学習に関する記事も書いていこうと思います。

もし何か分からないことがあれば気軽にコメントしてください。答えられる範囲で答えようと思いますので。




DSC_2438


Amazon Echo(アマゾンエコー)を使って何かしてみたいと思い手軽に使えるIFTTT(イフト)を利用してAlexaでLINE(ライン)を送るシステムを作ってみました。


IFTTTとは


IFTTTとは『もし ◯◯◯ ならば ××× する』といった風にサービスをつなげることができるというアプリです。

つなげられるサービスは数百種類もあり、サービスによっては有効に時短できたりします。プログラミングがいらないので誰でも簡単に自分の作りたいサービスを作成できることが特徴です。

今回は『Amazon echoでおはようと言ったらLINEで友人におはようというメッセージを送る』サービスを作ってみます。



IFTTTへの登録


IFTTTへの登録は下記のサイトから行うことができます。



登録に必要なのはメールアドレスだけです。入力フォームにメールアドレスを入力しGet started をクリックするとパスワードを決めるように言われるのでそこでパスワードを決めるだけで登録は完了です。



システムの作成


登録が完了したらいよいよシステムの作成です。

My Applets > Applets > New Applet の順でクリックすると下記の画面に遷移します。
echo1


1. トリガーの選択


トリガーを選択するには this をクリックしてください。

この画面では if ◯◯◯ then ××× の ◯◯◯ に入る要素を選択します。今回トリガーとして利用するのは Amazon Alexa なので Amazon Alexa を選択して Connect します。

選択できるサービスの数が多いので検索ボックスを利用すると簡単に見つけることができます。


2. トリガーの手段の選択


次に利用したトリガーの手段を選択します。

今回は Alexa に特定のメッセージを言うとLINEを送るようにしたいので Say a specific phrase を選択します。
echo2




3. トリガーとなるメッセージの入力


ここでトリガーとなるキーフレーズを入力します。

今回は「おはようと送って」をキーフレーズにします。
echo3


4. トリガーが入力されたら何をするのかを選択する


次にトリガーが入力されたら何を行うかの that をクリックします。

今回は入力があったらLINEでメッセージを送るのでLINEを選択します。

LINEを選択したら次は Send message をクリックします。

ここではメッセージを送るグループとメッセージの内容を決めます。

echo4

以上でシステムの作成は完了です。できあがったら実際にテストしてみましょう。

メッセージを送りたいグループにあらかじめ Line Notifyを招待しておく必要があるので注意してください。

Alexaでトリガーを発動するには今回の場合「Alexa おはようと送ってをトリガー」という風に最後にトリガーをつける必要があります。



最後に


今回 IFTTT を使って Amazon Echo でLINEでメッセージを送信するシステムを作成しました。

メッセージを直接設定できたり、グループだけじゃなく個人にもLINEを送ることができればよかったんですけどね。

今のところ祖父母や子どもが家に帰ったときの確認ぐらいしか使い道が思い浮かびません。

IFTTTは手軽に使えるぶんできることに制限がかかっているなという印象が残りました。

もしこの記事を読んで興味を持ったらPCだけでなくスマホでも簡単に作成できるので独自のシステムを作ってみてください。





DSC_3250

森見登美彦さんの第2回京都本大賞受賞作の『聖なる怠け者の冒険』を読みました。

『聖なる怠け者の冒険』は『四畳半神話大系』や『夜は短し歩けよ乙女』などと同じように京都の町が舞台となった作品で他作品で出てきた要素などもおり交ぜられているため森見登美彦さんのファンなら誰もが楽しめる作品となっています。

感想に少しだけだがネタバレもあるので未読のかたはご注意ください。


『聖なる怠け者の冒険』のあらすじ


社会人2年目の小和田君は、仕事が終われば独身寮で缶ビールを飲みながら夜更かしをすることが唯一のお趣味。そんな彼の前に狸のお面をかぶった「ぽんぽこ仮面」なる人物が現れて……。宵山で賑やかな京都を舞台に果てしなく長い冒険が始まる。





感想(ネタバレあり)


読み終わった後最初に思ったことは物語の内容がわずか1日分しかないのに1日分だとは思えないほど充実しているということでした。

しかも主人公の小和田君は倉のなかで妄想を膨らませながら怠け者のように半日近く眠っていたので実質主人公が何もしていない(怠け者としての姿勢を貫いている)時間が物語の半分以上だという…。しかし小和田君のどんな状況でも自分の怠け者としての意思を貫き通すところはどこかかっこいいようにも感じてしまいます。小和田君のような人物を魅力的に見せることができるのは森見登美彦さんだからできる技なんだろうな。


個性豊かな登場人物


内容が充実していたと感じる理由は様々な個性豊かな人物の視点から物語が構成されているからなのかもしれません。本作は主人公の小和田君以外の人物も魅力的なのもいい点です。

後藤所長は人生の達成感を得るために人々の称賛がほしくてぽんぽこ仮面という慈善事業を始めました。しかし、作中では自分が助けてあげた人から追われるという恩をあだで返すような行為をされてしまいます。また自分の休日をけずり怠け者としての本能をおさえてまでぽんぽこ仮面としての活動を行っていることに疑問を抱く場面もあります。最終的に町中の人がぽんぽこ仮面になったおかげでぽんぽこ仮面を引退できたのは後藤所長にとって良かったのだろう。

休日探偵の玉川さんは、浦本探偵とは違い探偵としての意欲は高いが能力がありません。しかも極度の歩行音痴で物語中の大部分は京都の町で迷子になってしまいふらふらとしていました。ただ浦本探偵の「迷うべきときに迷うことも才能」という言葉を聞いていると玉川さんは迷いながらも自分の職務を全うしているように感じます。

恩田先輩と桃木さんのカップルは二人とも休日を計画的な行動を行うことで充実させようという意識がすごかったです。小和田君のように怠け者のような休日がいるなか恩田先輩たちのように休日だからこそ色々なことをして充実させようという人も世の中には多いのだろう。私は本作の登場人物のなかでこの二人が一番好きです。

この他にも多くの人物が登場するがどの人物も本当に魅力的でした。




他作品と関連する要素


他作品で出てきた要素が出てくるのも本作の良いところで、森見登美彦さんのファンならば色々と探してしまうのではないのでしょうか。

偽電気ブラン、猫ラーメン、下鴨幽水荘など他にも様々なものが現れました。

多くの他作品の要素が登場した中で私が特に良かったなと思ったのは津田さんの出演です。これは『四畳半神話大系』のファンにはたまらないのではないのでしょうか。

あの悪友だった津田さんが10年後には蕎麦打ちの職人になっているとは想像もできませんでした。津田さんも歳をとれば丸くなるんだなと思ってしまいました。ひたすら津田の弟子が蕎麦を打ち、それを招待客が食べ続ける無間蕎麦は実際にあるのならば行ってみたい気がしますね。



最後に


森見登美彦ワールド全開の作品を読むと京都の街並みが素敵に描写されているからなのか京都に遊びに行きたくなってしまいます。私も小冒険として来年は祇園祭宵山に行ってみようかな。

あとがきで『聖なる怠け者の冒険』は新聞連載のときや文庫化前では内容が少し違うと書いていたのでそちらも読んでみたいな。

本書を読んだ人のなかで森見登美彦さんの他作品をまだ読んでいない方は他の作品もおもしろいのでぜひ読んでみてください。




DSC_3162


三浦しをんさんの『愛なき世界』を読みました。

最初は表紙の美しさにつられてなんとなく購入した本ですが、読了後はこの本を読めてよかったと思えるぐらい素晴らしい作品でした。

三浦しをんさんは学術分野が関連する作品をよく書かれていますが本書もその一つです。本書で扱っているのは植物学ですが植物学について知識がない人でも読みやすいように三浦しをんさんらしい工夫が施されていました。




『愛なき世界』のあらすじ


洋食屋の見習いである藤丸陽太は、出前で訪れた東京大学で植物学研究者をめざす本村紗英に恋をした。

しかし本村は、三度の飯よりシロイヌナズナ(葉っぱ)の研究が好きで恋愛には全く興味がない。

見た目が殺し屋のような教授、イモに惚れ込む老教授、サボテンを巨大化させる後輩男子など、愛おしい変わり者たちに支えられ、地道な研究に情熱を燃やす日々……人生のすべてを植物に捧げる本村に、藤丸は恋の光合成を起こせるのか⁉



感想(ネタバレあり)


三浦しをんさんらしい一つのことに集中する人間たちを描いた素晴らしい作品でした。

第一章は藤丸陽太の視点で描かれていたためこのまま最後までずっと藤丸の視点で物語が進行するものだと思っていました。

しかし、二章から四章までという物語の大部分がヒロインである本村紗英の視点で描かれていたのには驚かされました。

本村紗英の視点は自分も分野は異なるが理系の大学院生であるため今後研究を続けていってよいかどうかの葛藤や、いかに自分が今行っている研究が大好きなのかなどの共感できる話が多くまるで自分の物語を読んでいるような気分になりました。

私と同じように多くの理系の学生が本村紗英の悩みに共感を持てるのではないのだろうか。

悩みを持っている紗英とは対照的に料理人として生きると決めて料理の道を極めようとしている藤丸もかっこいいですね。料理人と研究者って全く違う職のように思えますが『愛なき世界』を読んでいると根本的には変わらないのだと分かりますね。

この二人の他にもすべての登場人物が魅力的な作品でした。

またヒロインの本村紗英が植物学の研究を行っているため植物に関する研究や実験の様子が描写されていましたが詳しい知識がない人でも読みやすいように詳しい説明などが施されているのも本作の素晴らしい点です。

この作品を読んでいるだけでまるで自分も植物学の研究者の一人になれたような気分になれます。






『愛なき世界』の意味


タイトルの『愛なき世界』ですが物語を読み始める前はこのタイトルの意味が分かりませんでした。恋愛を求めていない男女の話が描かれるのかなどと思っていましたが全然違う意味でした。

読了後私は『愛なき世界』には二つの意味があるのだと思いました。

一つ目は作中でも言われていたように植物の世界のことですね。植物の雄しべと雌しべは人間とは違いお互いを愛し合っているから子孫を残すわけではありません。植物の本能として子孫を残し続けるだけです。ですからこれが一つ目の愛なき世界の意味になります。

二つ目は研究者(職人)の世界のことです。本作にでてくる多くの研究者が研究一筋で恋愛のことなど考えていません。松田研究室に所属しているメンバーたちも岩間以外は恋人がいません。恋人がいる岩間でさえも学会のときしか彼氏とあえず会ったとしても研究に集中しているわけではないので愛をはぐくんでいるとは言えません。そのため研究者の世界が愛なき世界だと思いました。

また物語の冒頭で藤丸の師匠である円谷も若いころは妻がいたが料理に没頭するあまり出て行かれたと書かれています。こうしたことから一つのことに没頭する人間は愛なき世界にしか存在でいきないということを示しているのではないのでしょうか。


ラストシーンで藤丸と本村の関係は


藤丸と本村の関係は読んでいる側からしたらすごく歯がゆい感じでした。

藤村が本村に対して一途であるのに対して、本村は藤村が本気で自分のことを好きなのが分かっているため無下に扱えませんでした。

読者側からしたら藤村すごくいい人っぽいから早くくっつけばいいのにって思っている人が多かったのではないのでしょうか。

作中では、藤村が本村の研究の成功とともに二度目の告白をしますが、植物学者として生き続けたい本村は藤村のことを振ってしまいました。藤村のことは嫌いではないだろうにそれでも研究一筋の道を選ぶ本村の植物大好きな思いが分かりますね。

二人が恋人関係になることはありませんでしたがいつかは二人もくっつくのではないのでしょうか。

藤村の師匠である円谷は花屋の女性店主であるはなちゃんと年をとってから一緒に暮らし始めましたがそれは未来の藤村と本村の関係を表しているのかもしれません。


最後に


三浦しをんさんの作品を久しぶりに読みましたがやっぱり面白いですね。

本作を読み終わった今自分も植物を育てたい気分です。

藤村を見習って私もサボテンを育て始めようかな。






乾くるみさんの代表作といえば2015年に映画化した『イニシエーションラブ』のイメージが強いと思いますが、それ以外にもおすすめの作品はたくさんあります。

今回は『イニシエーションラブ』以外の乾くるみさんのおすすめ小説を紹介していきます。

乾くるみさんの作品にはミステリー小説が多くどれも面白い作品となっているので、参考にしていただければ幸いです。






乾くるみのおすすめ小説


リピート


もし、現在の記憶を持ったまま十ヵ月前の自分に戻れるとしたら?この夢のような「リピート」に誘われ、疑いつつも人生のやり直しに臨んだ十人の男女。ところが彼らは一人、また一人と不審な死を遂げて…。

2018年にドラマ化しており、すでにドラマを見た人でもドラマとは少し違った内容で楽しめます。

ミステリー小説としてもSF小説としても楽しめる作品でよくあるタイムトラベル作品とは違った楽しみ方ができます。

衝撃の結末に一度読み終わった後必ずもう一度読みなおしたくなるだろう。




セカンド・ラブ


1983年元旦、僕は、会社の先輩から誘われたスキー旅行で、春香と出会った。やがて付き合い始めた僕たちはとても幸せだった。春香とそっくりな女、美奈子が現れるまでは…。清楚な春香と大胆な美奈子、対照的な二人の間で揺れる心。

イニシエーションラブに続く乾くるみさんの恋愛ミステリー小説。イニシエーションラブを読んだことがある人なら絶対にはまります。

最後まで乾くるみさんに騙され続けられるのかそれとも真実を見つけることができるのか、謎解きが楽しめるミステリー小説です。




クラリネット症候群


ドレミ…の音が聞こえない?巨乳で童顔、憧れの先輩であるエリちゃんの前でクラリネットが壊れた直後から、僕の耳はおかしくなった。しかも怪事件に巻き込まれ……。僕とエリちゃんの恋、そして事件の行方は?
マリオネット症候群とクラリネット症候群の二編の中編からなっている作品です。

両方の作品に "症候群" という言葉がついていてタイトル通りその不可解な症候群が物語の鍵になっています。

真剣な場面の中に笑いもありのんびりと読める作品となっています。




スリープ


テレビ番組の人気リポーター・羽鳥亜里沙は、中学卒業を間近にした二月、冷凍睡眠装置の研究をする“未来科学研究所”を取材するために、つくば市に向かうことになった。撮影の休憩中に、ふと悪戯心から立ち入り禁止の地下五階に迷い込んだ亜里沙は、見てはいけないものを見てしまうのだが。
乾くるみさんの作品の中で最もSF要素が強い作品です。

物語の舞台が30年後の未来ということで現実に近いリアルな近未来を描いている。SF要素とミステリー要素がきれいにマッチしており非常に面白い作品です。

物語の中に仕組まれた数々のしかけに気づくことができるだろうか。




セブン


一見シンプルなトランプの数当てゲームが、生死をかけた心理バトルへと変貌する「ラッキーセブン」ほか、時間を何度もワープする男の話――「TLP49」、超ショートショート――「一男去って……」、戦場で捕らえられた兵士の生き残り作戦とは――「ユニーク・ゲーム」などロジカルな企みに満ちた七つの物語。

タイトルがセブンということで本作は数字の7に関係のある7編の短編からできています。

どの物語も短編なのにしっかりと世界観やルールがねられており面白くなっています。

私は7つの短編のなかで木曜の女が一番好きです。オチを知る前と知った後で物語に対する意見が変わる作品でしょう。




最後に


ここまでご覧いただきありがとうございます。

映画化した『イニシエーションラブ』以外の作品も面白いのでぜひ読んでみてください。

みなさんの参考になれば幸いです。

以前友人に茶葉を頂いてから紅茶にすっかりはまりました。

最近、暖かい紅茶も美味しいけど夏なので冷たい紅茶を飲みたいと思いAmazonで水出しができるポットを購入しました。

購入したポットは『HARIO (ハリオ) かご網付き 水出し 茶 ポット 1,200ml ダークグリーン HCC-12DG』です。



『HARIO (ハリオ) かご網付き 水出し 茶 ポット』の紹介


700ml のモデルと1200ml のモデルがあったのですが値段があまり変わらなかったため大容量のものを購入しました。たった1000円で買えたのですごくお得な気分です。

DSC_3142


箱から出すとパッケージ通りの見た目です。


DSC_3143

かごを見てみると網目が細かいためポットに茶葉がこぼれる心配がなさそうです。

買ってから知ったのですがポットが耐熱容器になっているため水出しだけでなくお湯出しもできるみたいです。

せっかくですし、さっそくお茶を入れてみました!

DSC_3125


以前購入したナツコイを入れてみたのですがいい感じです。

籠が細かいため茶葉がポットにこぼれているということもありませんでした。

この商品にはとても満足したのですが一点だけ不満点がありました。

それは注ぎ口を完全に閉じることができないということです。そのため、もしかしたらうっかりこぼしてしまうという事態が起きそうな気がします。

1000円の商品のためそこまで贅沢を言うのはわがままなのかな…。

ただ、それ以外の点では満足しているのでハリオのポッドを購入してよかったです。

皆さんもぜひ本製品を購入して夏のティータイムを気持ちよく過ごしてみてはどうでしょうか。



おまけ


おまけで水出しの方法を説明します。

水出しの手順


水出しをすることで紅茶を渋みの少ない飲みやすい味にすることができます。香りのよいフレーバードティーにおすすめの方法です。

①ポットに茶葉と水を入れます。茶葉は種類にもよりますが200mlに対して3gほど。

②冷蔵庫にいれて8~10時間ほど待ちます。

③茶葉を取り出して完成です。

自家製の紅茶は衛生のために、1日以内に飲むようにしましょう。長くても2日以内には絶対に飲んだほうがいいです。



bot1


最近仮想通貨の取引を始めてみたのですがずっとチャートを見続ける時間がなかったり、感情に流されて売買を行ってしまうためもうけを出すことができません。

そこで、時間に縛られず感情にも流されずに売買を行うために仮想通貨の自動売買を行うための仮想通貨botを作ることにしました。

botの作成が上手くいけば働かなくてもお金が増えていくので幸せな気持ちになれます(笑)

今回はいくつかの記事に分けてbitFlyer(ビットフライヤー)のAPIとPythonを使ってビットコインを自動売買する仮想通貨botを作成していきます。


仮想通貨bot(ボット)とは


botとは、人間に代わって作業を行うコンピュータプログラムの総称です。

仮想通貨botとは、人間に代わって仮想通貨の取引を自動で行ってくれるコンピュータプログラムです。


仮想通貨の自動取引botのメリット


感情に流されずトレードを行うことができる
  • 24時間いつでも自動で取引を行ってくれる
  • トレードを行っているとついついもう少し待てば値段が上がるかもしれないなどの感情に流されてしまうことがあります。botを使うことで自分が事前に決めたルールに従って取引を行ってくれるため感情に流されることがなくなります。

    世の中には副業として仮想通貨の取引を行っている人が多いと思います。そういった人は常にチャートに張り付き続けることができず取引のタイミングを失ってしまいます。botを使えばいつでも自動的に取引を行ってくれるので仕事中などでも利益を出すことができます。


    仮想通貨の自動取引botのデメリット


    ルール通りの取引しかできない
  • プログラミングのスキルが必要
  • 仮想通貨botを作るにはプログラミングの知識が必要です。ただ今の世の中プログラミングの方法を調べれば簡単にインターネットで見れるためこれはあまりデメリットではないのかもしれません。

    仮想通貨botのメリットとして事前にルールを決めているので感情に流されることがないというものがありました。しかしそれを逆にいうとルール通りのことしかできないということになります。そのため取引先のサーバーが停まるなどの予想外のことが起こると対応することができません。



    仮想通貨bot用のサンプルデータを収集する


    いよいよ仮想通貨自動取引を行うための仮想通貨botを作成していきます。

    しかし、いきなり自分の所持している仮想通貨を使用してbotの作成に挑むとみるみる仮想通貨が溶けていく未来しか見えないためまずは、仮想通貨botを作成するためにチャートのサンプルデータを集め、そのサンプルをもとにbotを作成していきます。

    今回、私はbotを作成するためにPythonbitFlyerのAPIを使います。

    Pythonの使い方が分からない人はこちらを、bitFlyerのAPIをPythonでしようする方法が分からない人はこちらを参考にしてください。


    サンプルデータを収集するコードの例


    今回は10秒ごとに最終取引価格を取得するという方法でサンプルデータを集めていきます。

    コードは下記のようになります。

    # -*- coding: utf-8 -*-
    # bitflyerから10秒ごとに最終取引価格を集める

    import pybitflyer # bitFlyerのAPIをPythonで使うために必要なライブラリ
    import time
    from datetime import datetime

    def main():
      api = pybitflyer.API(api_key="自分のAPI KEY" ,api_secret="自分のAPI Secret"# api keyの取得(pybitflyer.API()でも良い))
      raws = 0 # 最終取引価格を格納
      
      while True:
        # 10秒ごとに稼働
        if int(datetime.now().strftime('%S'))%10 == 0:
          # プロットデータの更新
          tick = api.ticker(product_code = "BTC_JPY")
          raws = tick['ltp']
          now = datetime.now()
          # 取得時刻と最終取引価格を表示する
          print('{}-{}-{}\t{}:{}:{}\t{}'.format(now.yearnow.monthnow.daynow.hournow.minutenow.second,raws))
          # 7秒後まで休憩(プログラムが無駄に走る時間を短くするため)
          time.sleep(7)

    if __name__ == '__main__':
      main()


    if int(datetime.now().strftime('%S'))%10 == 0:の赤字の10の値を変更することで最終取引価格を取得する間隔を変更することができます。

    その部分を変更する際は time.sleep(7) の赤字の7の値も変更してください。取得したい秒数の間隔より大きい値だと上手くデータを集めることができません。


    収集したサンプルデータをグラフ化する


    収集したサンプルデータをExcelでグラフ化してみました。グラフもPythonを使って描画してもよかったのですがあまり意味がないので今回はExcelを使います。

    今回はとりあえず約一日分(一日分には少し足りない)をグラフ化しました。
    bot2


    グラフを見るとしっかりとサンプルデータが収集できているみたいです。



    最後に


    本記事では、仮想通貨bot作成の第一段階としてサンプルデータの集め方を書きました。

    次からはこのサンプルデータをもとに仮想通貨botを本格的に作成していきます。



    Python9


    普段はUbuntuを使ってPythonのコードを書いているのですがとある都合でWindowsでコードを書かなければいけなくなったためそのついでにWindows10でPython3をインストールする方法をまとめました。


    Pythonインストーラーのダウンロード


    下記のPythonの公式サイトにアクセスします。

    https://www.python.org/

    公式サイトにアクセスしたらDownloadsをクリックします。

    Python1

    ページが遷移したら次にWindowsをクリックします。

    Python2


    下記の画面に遷移したら、64bit バージョンを使用する場合は "Windows x86-64 executable installer" をクリック してくださいそうするとインストーラーのダウンロードが始まります。インストールするバージョンは基本的に最新バージョンにしましょう。(2018年7月22日現在では3.70が最新バージョン)

    32bit バージョンを使用する場合は "Windows x86 executable installer" をクリックしてください。

    Python3


    インストール


    インストーラーがダウンロードできれば次はインストールです。先ほどダウンロードしたインストーラーを起動してください。

    インストーラーが起動したら最初に "Add Python 3.7 to Path" のチェックボックスにチェックをいれてください。こうすることで自動的にPATHを通してくれるので後でPATHを通す作業がいらず楽です。

    インストール方法は "Install Now" と "Customize installation" のどちらを選択してもよいのですが今回は、インストールを指定したいので "Customize installation" を選択します。

    Python4


    次の画面では、自分が必要なものにチェックを入れてください。分からなければそのままNextをクリックしても大丈夫です。

    Python5


    次の画面でも必要なものがあればチェックボックスにチェックを入れましょう。基本的にそのままで大丈夫です。

    インストール先を指定した場合 "Browse" から好きな場所を指定しましょう。

    "Install" をクリックしたらインストール完了です。


    Python6



    正しくインストールできたか確認する


    インストールが完了したら正しくインストールができているか確認しましょう。

    確認するのにコマンドプロンプトを使います。起動のし方が分からない場合は,windowsキー + r  を押し cmd と入力すれば起動することができます。

    Python7

    コマンドプロンプトを起動したら "Python -V" と入力してください。下の画像のように正しくバージョンが表示されれば正しくインストールができている証拠です。

    もしエラーが出てしまった場合どこかの手順で失敗している可能性がありますのでもう一度確認してみましょう。(おそらくPATHがうまく通せていない)

    Python8



    まとめ


    現在はpipも自動的にインストールされるみたいなのでライブラリをインストールするときとかも便利ですね。Pythonの使い方を学びたい場合下記の本が参考になるので読んでみてください。



    ↑このページのトップヘ