ツヨシのブログ

技術的な事とか日常の事とか徒然なるままに

スポンサーリンク

【Day006】Dockerを使ったKaggle開発環境の構築(その4)::Docker imageをDocker hubにプッシュする

こんにちは、ツヨシです。

平日は仕事で遅くなり、休日は子供の相手でなかなか時間が取れません。他の子育てエンジニアの方はいつ学習してるか不思議です。

なので、自分はゆっくりですがDockerの学習は進んでいます。

前回は"Docker commit"コマンドを使い、Dockerイメージを作成しました。

ginga0118.hatenablog.com

作成したイメージを他の人たちと共有するために、イメージのDocker hubへのプッシュが必要になります。今回はこの作業を行っていきます。

Docker hubへのイメージプッシュまでの手順

Docker imageをDocker hubへプッシュするために、Docker hubにリポジトリが必要になります。リポジトリはDockerのイメージを置く場所になります。

まずはDocker hub上でリポジトリを作成します。リポジトリの作成はDocker hub上で行います。

また、このリポジトリにローカルで作成したイメージをプッシュするためには、ローカルにあるDockerのイメージ名をDocker hub上のリポジトリ名に合わせる必要があります。

これには"Docker tag"コマンドを使用します。ここまでの手順としては次のようになります。

  1. Docker hubに新しいリポジトリを作成する
  2. 作成したDockerイメージをリポジトリに合わせて名前を変更する
  3. 変更したDocker hubへイメージをDocker hubにプッシュする

Docker hubに新しいリポジトリを作成する

今まで、ローカルでubuntuイメージを使って作業をしてきました。

このubuntuイメージは元はDocker hubにあったイメージになります。これをローカルに持ってきて作業をしてきました。このイメージは別の人が作ったイメージになります。

このまま同じリポジトリを指定すると元とした別の人のubuntuイメージを変更して行くことになります。

このため、自分用のリポジトリをDocker hubに作成する必要があります。リポジトリの作成はDocker hub上で行います。

Docker hubにログインして "Create Repository"よりリポジトリの作成をします。

f:id:ginga0118:20200916054928p:plain

リポジトリ名を入れて"Create"ボタンよりリポジトリを作成します。私は"my-first-repo"という名前で作成をしました。

f:id:ginga0118:20200916055138p:plain

公開範囲などの設定は自分に合わせた適当な設定をおこなってください。

"my-first-^repo"というリポジトリがDocker hub上に作成されます。

f:id:ginga0118:20200916055255p:plain

ここまででDocker hub上でのリポジトリの作成になります。次にこの作成したリポジトリに合わせてDockerイメージ名を変更します。

作成したDockerイメージをリポジトリに合わせて名前の変更をする

使用しているイメージ名はDocker hubで使用しているリポジトリ名にもなります。今使用しているイメージ名はタグを含めて”ubuntu:new”となっています。 つまり、このままプッシュすると"ubuntu"のリポジトリに対してイメージをプッシュすることになります。

このため、まずイメージ名を変更します。そして、自分のイメージを適切なリポジトリに置けるようにします。 イメージ名を変更するためには以下のような"docker tag"コマンドを使用します。

$ docker tag <source> <destination>

それぞれのパラメータは以下のような内容を入れます。

  • source: IMAGE[:TAG]を入れます

  • destination: [REGISTRYHOST/][USERNAME/]NAME[:TAG]を入れます

今回プッシュする元となるイメージはubuntu:newを使用します。"docker images"のコマンドでイメージ名とタグ名が確認できるので現在の状態を確認をします。 f:id:ginga0118:20200917081333p:plain

イメージ名がubuntuでタグがnewのものがあります。これを適切な名前に変更します。

私の場合Docker hubでのアカウントが"ginga0118"なので、次のようなコマンドを行いイメージ名を"my-first-repo"に変更します。

$ docker tag ubuntu:new ginga0118/my-first-repo

f:id:ginga0118:20200916073021p:plain

イメージIDは先ほどのものと同じですが、名前とタグが"my-first-repo"と"new"に変更されたイメージが作成されました。このイメージをDocker hubへイメージをプッシュします。

Docker hubへイメージをプッシュする

変更したイメージをDocker hubにプッシュします。プッシュするためのコマンドは次のようになります。

$ docker push <image>

にはイメージ名を入れます。先ほど作成したイメージの"ginga0118/my-first-repo"をDocker hubへプッシュします。プッシュコマンドを実行したものが次のものになります。

f:id:ginga0118:20200916073900p:plain

ログを見るといくつかのイメージがプッシュされています。 他のイメージはDocker hub上にすでに存在するので、そのイメージはプッシュされません。

このようにして同一のイメージをプッシュせずに共通の物を使うことで、容量の節約を行っています。

まとめ

今回は以下のコマンドを使用してDockerイメージを作成してDocker hubにプッシュしました。

$ docker tag <source> <destination>
$ docker push <image>

このようにDocker hubにイメージを置くことで、他の人がイメージを使うことが出来ます。

次回はプッシュしたイメージを自分が使っているホストに持ってくることをやっていきたいと思います。

Docker/Kubernetes 実践コンテナ開発入門

Docker/Kubernetes 実践コンテナ開発入門

【Day005】Dockerを使ったKaggle開発環境の構築(その3)::Docker imageを作成する(commit)

こんにちはツヨシです。

9月になり少し涼しくなりました。エアコンもつけたり消したりと過ごしやすくなりました。 前回はDocker上でUbuntuを実行するということを行いました。

ginga0118.hatenablog.com

今回は作成したコンテナから新しいイメージを作成します。作成したイメージを共有することでDockerを使い同じ環境を持つことができます。イメージを作成するためには"commit"コマンドを使用します。

docs.docker.jp

これをふまえて、Dockerのイメージを作成する手順を説明します。

コンテナからDocker imageを作成する

今回はコンテナからDockerイメージを作成します。イメージを作成する手順として今回は次のように行います。

  1. 今あるコンテナを確認します。
  2. コンテナがUpでない場合はこれをUp状態にします。
  3. コンテナを起動します。
  4. コンテナの中に入り適当なファイル(ここではtestを作成します)
  5. コンテナから抜けます。
  6. コンテナがUpになっていることを確認します。
  7. コンテナからイメージを作ります
  8. 作成したイメージを確認する。

イメージにするコンテナの準備

上記の1-6の手順でコンテナ内に適当なファイルを作成します。ここまでは、以下のような今まで使用したコマンドを使っていきます。

$ docker ps -a
$ docker restart <container ID> 
$ docker exec -it <container ID> bash
ubuntu$ touch test
ubuntu$ exit
$ docker ps -a

これで、新しいコンテナが作成されました。実行後に次のような状態となっています。

f:id:ginga0118:20200910084755p:plain

作成されたコンテナIDは"20adc3c5c9e6"になります。これを使って新しいイメージを作成します。

コンテナから新しいイメージを作成

7の”コンテナからイメージを作ります”はcommitコマンドを使います。コマンドとしては次のようなコマンドになります。

$ docker commit <container ID> <image name>:<tag>

今回はは"20adc3c5c9e6、"としては"ubuntu"、に"new"を使用しました。このため、コマンドとしては以下のようになります。

$ docker commit 20adc3c5c9e6 ubuntu:new

実行後に次のようなメッセージが出した。

f:id:ginga0118:20200910085124p:plain

この後、8ではimagesコマンドを使い作成されたイメージの確認を行います。

$ docker images

イメージ確認のためのコマンドを実行すると、イメージIDが"fedde61e8efa"の新しいイメージが作成されたことがわかります。

f:id:ginga0118:20200910084613p:plain

まとめ

今回は"commit"コマンドを使い新しいイメージを作成しました。これにより自分でdockerイメージを作成することができるようになります。

この後、作成したイメージを共有することで他のユーザとの環境の共有ができるようになります。共有方法についてはDocker hubを使っていきます。使い方については次回説明したいと思います。

Docker/Kubernetes 実践コンテナ開発入門

Docker/Kubernetes 実践コンテナ開発入門

【Day004】Dockerを使ったKaggle開発環境の構築(その2)::Ubuntuを実行する

こんにちは、ツヨシです。 9月になり、一気に涼しくなりましたね。

あと4ヶ月で今年も終わりかと思うと胸熱です。

さて前回、Dockerを使ってhello-worldのイメージを実行してみました。

ginga0118.hatenablog.com

今回は、LinuxディストリビューションUbuntuを実行します。そのなかで、コンテナの更新や、コンテナの実行、再起動などを行います。

Ubuntuのイメージを持ってくる

まず、Docker hubからUbuntuイメージを持ってきて起動させます。コマンドとしては"docker run -it bash"となります。すでにUbuntuイメージを持っている場合は起動だけになるのですが、まだダウンロードしていない場合はダウンロードが必要になり少し時間がかかります。

$ docker run -it ubuntu bash

Ubuntuのイメージはまだホストにはありませんが、ない場合にはdocker hubよりpullしてきてくれます。 その後、コンテナが作られてbashが動作するコマンドになります。

この時Docker hubより4つpullしているのが分かります。これはイメージレイヤになっています。

f:id:ginga0118:20200907213707p:plain

このイメージレイヤはそれぞれ独立しています。そのため、新しいイメージレイヤを追加することで全体として別のDockerイメージを作ることができます。つまり、もともとある部分を共通で使うことでリソースの節約を行い、新たにイメージレイヤを追加することで新しいDockerイメージを作成しコンテナを作成します。

入ったコンテナから出る場合はexitのコマンドを使います。

$ exit

Ubuntuのコンテナを更新する

Docker imageを更新する方法としてDocker fileを更新する方法と、コンテナから更新する方法があります。ここではコンテナからDocker imageを作る方法を行います。 更新する内容ですが、"test"という空ファイルを作成します。

ファイルを追加してこのレイヤを新しいレイヤとして追加したイメージを作成します。

先ほど作成したUbuntuのイメージを立ち上げます。

$ docker run -it ubuntu bash

Ubuntuが立ち上がり、bashが起動します。起動したコマンドラインより"touch"コマンドよりファイルを追加します。その後、Ubuntuから"exit"により抜け出します。

$ touch test
$ exit

これにより、コンテナ内にtestファイルが追加されたことになります。

"docker ps -a"コマンドでコンテナの状態がどのようになっているかを確認します。

$ docker ps -a

ubuntuというイメージがあり、bashコマンドが最初に実行されたことがわかります。

f:id:ginga0118:20200905050120p:plain

コンテナを再起動する

docker ps

一度、停止したコンテナを再起動します。まず、コンテナのIDと状態を確認するため、"docker ps -a"コマンドを実行します。

$ docker ps -a

この時 パラメータの"CONTAINER ID"にコンテナのIDが入ります。これは起動時のパラメータとして使うことができます。また、他のパラメータに"STATUS"があります。これは"Exited"になっいることがわかります。つまり、コンテナが稼働していなことになります。

f:id:ginga0118:20200905051836p:plain

docker restart

このコンテナを起動するわけですが一度起動して抜けたしたコンテナを再起動するには"restart"コマンドを使用します。再起動するコンテナは先ほどのコンテナIDを使います。

$ docker restart ce1afc0e2d3a

再度"docker ps -a"コマンドを実行してコンテナの状態を確認します。"Up"となっていることがわかり、コンテナが稼働しています。

f:id:ginga0118:20200905052350p:plain

docker exec

コンテナが稼働していることがわかりましたので、次にこのコンテナに入ります。コンテナに入るためには"docker exec -it "コマンドを使用します。これはコンテナを指定してコマンドを実行する命令になります。

$ docker exec -it ce1afc0e2d3a bash

f:id:ginga0118:20200905052954p:plain

detachとattach

次にコンテナから抜けます。コンテナから抜けるには今までは"exit"コマンドを使用していました。この"exit"コマンドはコンテナを抜ける際にプロセスを切って抜けます。このため"docker ps"で確認できるステータスが"Exited"になります。

このプロセスを切らずにコンテナから抜ける方法としてdetachがあります。detachをすると抜けた後のコンテナのステータスが"Up"のままになります。

detatchはコンテナに入った後"Ctl + p +q"で実行ることができます。

detach後の稼働中のコンテナに再び入ります。稼働中のコンテナに入るには"attach"コマンドを使います。 コンテナに入る方法としてはexecとattachがあります。

"attach"は稼働中のコンテナの PIC=0 のプライマリプロセスに接続して、exit するとコンテンが停止します。

execは稼働中のコンテナで別プロセスを実行します。その後exit するとそのプロセスのみが停止します。

まとめ

今回はps、restart、exec、detach、attachを実行してみました。プロセスの停止などちょっとわかりにくいですが、だんだん慣れるのではないかと思います。

Docker/Kubernetes 実践コンテナ開発入門

Docker/Kubernetes 実践コンテナ開発入門

【Day003】Dockerを使ったKaggle開発環境の構築(その1)::Dockerの導入

こんにちは、ツヨシです。 暑い日が続き、ぐったりしています。

いまだにマスクが鬱陶しくて外出が嫌になります。

さて、前回Kagglerになると宣言してみました。 そのためには色々と知識が必要なようです。

ginga0118.hatenablog.com

その中の1つに開発環境の構築があります。 開発環境についてはDockerと言われる仮想環境で構築する方法が便利とのことです。

というのもKaggleなどのデータサイエンスをするための環境を使用する場合にいろんなマシンをつかうことになります。例えば今使っているMacだったり、AmazonなどのAWSだったり、会社のPCだったりです。この際に設定している環境が異なると、プログラムの動作が異なってきます。このため、仮想環境を使い同じ環境を構築することでこの差異をなくします。

なので、今回はこのDockerを使い、環境構築における導入部分について書いていきたいと思います。

Dockerとは

Docker社が提供している仮想環境を構築するツールです。この仮想環境はコンテナと呼ばれるイメージを作成してその上で動かすことになります。

www.docker.com

仮想環境はホストOS上に別のOS環境を作成するものでVirtual BoxやVagrantなどがあります。この仮装環境のメリットとしてはホストOSの環境を変更せずに別のOSを作成することができる、複数のOSを同時に動作させることができるなどがあります。

Kaggleを使う際に仮想環境を使うのはホストOSの環境を変更したくないのと、仮想環境を作っておくことで、別のマシンでもすぐに同じ環境を作成することができるというメリットがあるためです。

Dockerはホストマシンのカーネルを利用してDocker Engineにより動かすことで軽量で高速に動かすことができます。Virtual Boxなどの仮想マシンなどはゲストOSを動かす必要がありこのため通常よりもパフォーマンスが落ちます。

このように色々とメリットがあるのですが、当分は自分のホストOSの環境、つまりMac上でも問題なくKaggleの実行はできるだろうと思いますが、あえて使ってみようと思いました。このDockerはデータサイエンティスト界隈でよく使われているということと、知らなかった技術なので使ってみようと思いました。

そして、今後この技術は必要だなと思い今回Dockerについて学んでいこうと考えています。

Dockerをインストールする

まずはDockerのインストールが必要になります。Dockerのアプリは以下からダウンロードすることができます。

www.docker.com

この中のDocker Desktopより自分のホストOSのイメージを選択してインストールします。

f:id:ginga0118:20200901054257p:plain

Dockerの動作確認

Dockerをインストールしたなら、Dockerが動いていることを確認します。Macの場合は上のアイコンメニューのDockerマークより確認できます。このDockerマークをクリックして、緑色となり"Docker Desktop is running"となっていればDockerが動作していることになります。

f:id:ginga0118:20200901054425p:plain

動いていなければアプリのアイコンよりDockerを起動します。

Docker hubへの登録

Dockerコンテナを共有できるサービスにDocker Hubがあります。

hub.docker.com

Docker Hub上には様々な種類のコンテナが存在しており、ここから自分の実行したいコンテナを持ってくることで、容易に仮装環境を構築することができます。このためDocker Hubへの登録が必要になります。 登録方法は至って簡単で、メインページよりSign upを選択します。ユーザ名、パスワード、メールアドレスなどが必要なになりますのでそれぞれ準備します。

ユーザ名は今後、Docker hubを使用する際にパブリックリポジトリを公開する時のリポジトリ名になりますので、十分に考える必要があります。

ターミナルよりDocker hubへlogin

ターミナルよりDocker hubへログインします。ログインすることで、コンテナをクラウドから持ってくることができます。ログインコマンドは以下になります。

$ docker login f:id:ginga0118:20200901054501p:plain

Dockerイメージを自分のPCに持ってくる(pull)

Dockerイメージを自分のPCに持ってきます。次のようなコマンドにより実行することができます。には必要なコンテナ名を入れます。

$ docker pull <image>

今回は"hello-world"というイメージを持ってきます。次のコマンドにより実行します。

$ docker pull hello-world

実行後以下のような実行結果が出てきます。

f:id:ginga0118:20200901054530p:plain

hello-worldを実行する(run)

持ってきたhello-worldのイメージを実行します。 実行方法は以下のコマンドにより実行できます。

$ docker run <image>

今回は"hello-world"を実行しますのでを"hello-world"に置き換えて実行します。

実行した結果は以下のようになりました。

❯ docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

まとめ

このようにしてDockerを導入して仮想環境上でhello-worldまで実行しました。 簡単ですね。

次はDockerをつかってUbuntuのイメージを実行してみたいと思います。

ちなみに私はUdemyのこの講座を受講してまとめています。

www.udemy.com

非常に詳しく解説しており、かなりためになります。

Docker/Kubernetes 実践コンテナ開発入門

Docker/Kubernetes 実践コンテナ開発入門

【Day002】 Kagglerへの道と進め方について考える

こんにちは、ツヨシです。 最近は断酒をしてみて、すこぶる朝が快調です。

たまに断酒をやるのですが、酒はないほうがいいですね。 断酒期間はだいたい3日くらいでストップするのですが、それでもいいものです。

まあ、いつまで続けられることやら。。。

Kagglerになるための戦略

前回、データサイエンティストになりKaggleをがんばってみようという記事を書きました。

ginga0118.hatenablog.com

だいぶ時間が経ちましたが、そこから進捗がどんな感じかというと牛歩戦術を使い多少進んでいます。

このデータサイエンティストになるために何が必要かということを考えると学ぶことが多すぎてちょっと先が見えない感じがしてきています。。。

とはいっても、やらないと先に進めないので、少しづつですが進めているのですがなかなか難しいですね。

そこで、今日は学ぶべきことなどをまとめてみました。

基礎作りを初めに行う

「Kaggleスタートブック」を進めているのですが、内容を理解しようとしているのですが、なかなかすすみません。

というのも、いろんなところで基礎が足りていないことが原因のようです。

例えばプログラミングをするときにはPythonを使うのですが、これの基本的な文法の理解が足りていないだとか、Pandas、Numpy、Matplotlib、Seaborn、scikit-learnなどのライブラリの使い方がわからない、大量のデータを処理するための特徴量エンジニアリングや機械学習のためのアルゴリズムなどの理解が足りないなどです。

これら1つ1つのテーマを学ぶだけで膨大な必要になります。しかも新しい事はどんどん出てくる。これは大変ですね。Pythonは多少暑かったことはあるのですが、遊び程度なので深くやらないといけないです。

こういった場合に大事なのが基礎の習得です。とりあえず基礎をつけておけば応用の部分は基礎を組み合わせることでなんとかなります。 なので、まず必要な習得項目をピックアップしてそれに対して基礎をある程度固めたいと思います。

学習項目のピックアップ

ざっと調べた感じKagglerになるためにの基礎の習得項目としては以下のものが挙げられます。

これらを最低限は習得したいのですが、まずはKaggleを初めてみることから行いたいと思います。 そのためにも「Kaggleスタートブック」を進めてめています。

ほとんど写経しかしておらず、疑問点など無視してやっています。疑問点としてはPythonのプログラムやライブラリだったり、機械学習についてです。いままでこういった疑問は無視してやっていましたが、それでは意味ないなと感じていまして、疑問点やわからないことは立ち止まって少しずつでもよいので調べていくと方向転換をしようと思います。

なので、Kaggleの進め方やPython機械学習で引っかかることは「Kaggleスタートブック」をやりつつピックアップしていきます。

とはいっても、やはりPythonのプログラミングについて理解がたりていないなと思っていてそこを補強していこうと思い「詳細Python3入門ノート」を参考書として買ってみました。

詳細! Python 3 入門ノート

詳細! Python 3 入門ノート

まださらっとしか読んでいないのですが、初学者には良い教材かと思います。後半では機械学習についても書かれているので、とりあえずこれをやってPythonの基礎習得としたいです。

また、色々と調べていくとDockerを使って環境構築を行う場合もあるようで、Dockerについても学習しています。 これはUdemyで「米国AI開発者がゼロから教えるDocker講座」という良さげな講座を見つけたのでこれをやっていきたいと思います。

www.udemy.com

あとは統計学ですね。これについては統計検定の2級を習得するつもりで学習を進めていこうと思います。2級は大学レベルなので、まずは3級ですかね。参考資料として統計検定の推奨参考書の「データの分析」を読んでいこうと思います。

進め方のまとめ

  • Kaggle全体として弱点を見つけるために「Kaggleスタートブック」を進める
  • Pythonプログラミングの基礎の習得のために「詳細Python3入門ノート」をする
  • 機械学習の環境構築のために「米国AI開発者がゼロから教えるDocker講座」をする
  • 統計学の学習のために「データの分析」を読む

とりあえずはこんな感じで進めつつ、あらたに必要なことがあればそれを取り入れつつ進めていきたいと思います。

【Day001】 データサイエンティストになることを考えてみた

こんにちは、ツヨシです。

今日も早起きです。

Kaggleをやるモチベーション

さて、前回はPython言語の習得を目指していたのですが、具体的な目標のため「Kaggle」を頑張っていこうとなりました。

ginga0118.hatenablog.com

で、ちょうどいいタイミングで社内でもデータサイエンティストや機械学習分野について力を入れていこうとしており。そのためのワークショップを開催するというお知らせを知りました。

せっかくなのでワークショップには参加しようと思いますが、私はデータサイエンスや機械学習についてはずぶの素人。大学時代に研究していた人や、現在使っている人たちもいるようですが、私はかれらにかないません。といってもまずは参加してみることから始まると思います。

データサイエンティストという選択

てなことを考えていましたが、せっかくなのでデータサイエンティストを目指してみようかなと思います。今はまだ全く知識も経験もありませんが、今後も社内での機会も増えてくるだろうから、その時にデータサイエンティストとしてやっていけるように自分なりに知識をつけていこうと思いました。

年もとしで頭もカッチカチですが、チャンスがやってきたときの準備は必要です。今やっている仕事もちょっと飽きてきたので、こっち方面にシフトする方で考えていこうと思います。

ということで、「Pythonを習得しよう」ー>「Kaggleをやってみよう」ー>「データサイエンティストになる」と目標が変化していきました。

「データサイエンティストになる」の方がわかりやすくていいですね。このためには機械学習、深層学習、微分統計学などの知識も必要になります。これらはおいおい勉強していきたいと考えています。

これらの習得のバロメータとしてKaggleは良いと思います。「Kaggleの順位が高い=知識がある、知識を使える」となります。Python言語というよりKaggleを頑張っていくっていうのはとりあえずは間違いではないと思いました。

Kaggleをやるために何をすればいいのか

自分は本当に「Kaggle」とはなんぞやと言った状態です。なので、実際手を動かしてみようと思いました。

このために最適な本としてKaggleの入門書をやります。入門書としては「Kaggleスタートブック」がよさそうです。

この本はKaggleのコンペで優勝したことのあるid:upuraさんが書かれた本で、Kaggleの基礎を学ぶことのできる本です。私のようなKaggle初心者にはちょうど良いですね。

upura.hatenablog.com

データサイエンティストとはなんぞや

データサイエンティストになると言ってみた物の、はてどうすればなれるのでしょうか。 データサイエンティストとはデータサイエンスをやる人のことですが、wikipediaでは次のようになっています。

データサイエンス(英: Data Science、略称: DS)とは、データを用いて新たな科学的および社会に有益な知見を引き出そうとするアプローチのことであり、その中でデータを扱う手法である情報科学統計学アルゴリズムなどを横断的に扱う。

https://ja.wikipedia.org/wiki/%E3%83%87%E3%83%BC%E3%82%BF%E3%82%B5%E3%82%A4%E3%82%A8%E3%83%B3%E3%82%B9?wprov=sfti1

つまりデータを集めてみたもののこれがどのように使えるかはぱっと見分からないので、それを整理して価値を与える事ですね。そう言った人達をデータサイエンティストと呼んでいます。

何かに価値を与えるというのは仕事の基本でデータを使って行う訳です。

データサイエンティストになるためには統計学微分などの数学的な素養だけでなく、プログラミング、機械学習アルゴリズム、大量のデータに対する分散処理などのコンピュータサイエンスに関する知識も必要になります。

統計検定で体系的に学ぶ道

データサイエンティストになることは学ぶことが多くてちょっと先が見えませんが、わくわくしますね。数学に関してはあまりにも知識が劣化しているため学び直そうと思っていたので、ちょうど良いタイミングです。

データサイエンティスト向けの資格として統計検定というものもあります。

www.toukei-kentei.jp

これは統計に関する知識を評価する資格になります。資格を持っているから何かになれるわけではありませんが、体系的な知識を得るために資格をとるのは学びとしては結構な近道だったりします。3級が高校レベル、2級が大学レベルなので、まずは3級から取得してみようかなと考えてます。

仕事に関するモチベーション

最近はソフトウェアエンジニアとして設計、実装をすることも少なくなり仕様の確認、決定がおもな業務になっていました。自分としては実際に設計、実装して動かしていく方が性分にあっており、なんだかつまらないと感じていました。

なので、こう言った新しいことを学び、動かしていくことはたのしくもあります。あわよくば仕事にできるならしたいのですが、まずは蓄えること。そのなかで外に出せることはジャンジャンと出していき仕事に結びつけばと思っています。

さて、頭もかちこちになる柔軟に考えられませんが、ちょっとがんばってみますか。

【Day000】 「Python言語を習得する」->「Kaggleで戦う人になる」への変化

こんにちはツヨシです。

最近プログラミングをやっていないと思いPythonをきちんと学び習得しようと思いました。 それが前回のPythonを習得しようと思い書いた記事です。

ginga0118.hatenablog.com

気がつけばあれから8ヶ月経っています。 年初は、やる気に満ちていますがやる気だけじゃ何も進みません。必要なのは行動です。

Pythonをマスターするための学習の戦略を考えてみました。

  1. 環境を整える
  2. Pythonの基礎を固めるため文法を学ぶ
  3. やりたいことを決める
  4. 必要な知識があれば基礎的な部分を学ぶ
  5. 実際やってみる
  6. 足りない部分があれば追加で学習する

こんな感じで進めればいいのかなとおもったのですが、やりたいことを見つけないといけません。

実際に手を動かしていくのが最短ルートだと思い、なにがいいかなと考えてみたところ、Kaggleをやってみようとなりました。 というのもKaggleはデータサイエンスを使って問題を解いていくといったコミュニティでPython言語などを使うことになります。

www.kaggle.com

Python言語を習得する」ではつまらないですものね。実際に使える場所が欲しいので「Kaggleで戦う人になる」という目標をもとに「データサイエンティスト」を目指したいと思います。

Kaggleは日本でもかなり認知されてきまして、多くのソフトウェア開発者が参加しています。 また、Kaggleではデータサイエンスに関するコンペが開催されており、これの上位に入賞することが一種のデータサイエンティストのステータスだったりします。

つまり、流行には乗っちゃえということですね。

またKaggleをやるにあたってプログラミングに関する知識だけでなく、データサイエンスつまり数学や機械学習に関する知識が必要になります。

データサイエンス、数学、機械学習に関して全く下地がないので「数学の基礎」「統計学」「微分」などを勉強しつつプログラミングにより演習問題をやっていきます。

環境の構築

とりあえずは環境の構築からですね。

色々と調べてみると「Jupyter Notebook」が開発環境として良いことがわかりました。

jupyter.org

また、Python数値計算のライブラリがいくつかありこれらをまとめてインストールできる「Anaconda」が良いようです。

AnacondaはPythonとそこで使うライブラリをパッケージ化したものになります。Python本体やライブラリにはバージョンが存在しているため、バージョン間の依存があります。

このためあるライブラリを使うライブラリが、特定のライブラリでしか動かない状況が存在します。こういった依存関係を解消してパッケージ化したものがAnacondaになります。

「Anaconda」はJupyter Notebookも入っているのでこれで十分ですね。

ということで、下記から「Anaconda」をダウンロードしてインストールを行います。

www.anaconda.com

Pythonの基礎を固めるために文法を学ぶ

Anacondaのインストールも終わったらまずはPythonの基礎を学ぶの段階になります。

Pythonを学ぶ方法として定番の書籍の「入門Python3」を使っていこうと思ったのですが、なんせ600ページもあるのでこれを全部やるのは時間がもったいないです。「入門Python3」は辞書的に使って薄っぺらい参考書をやってみます。

「独学プログラマー」がソフトウェア開発をする上での心得や、Pythonの基礎的なことを解説してるので、とりあえずこれをやってみたいと思います。

Githubでコード管理をする

あとはやったこと、コードを管理するためにGithubを使用していきます。Gitは少し使っていますが、add、commitくらいしか使っていません。。。

Gitの知識も本格的に必要になります。

Githubについても使ったことがないので、この使い方も習得しないといけないんですね。

github.com

数学的な素養

Kaggleをやるためにはデータサイエンティストとして数学の知識も必要になります。「統計学」「微分積分」ですかね。まずは高校レベルの復習から始めたいです。

かれこれ高校を卒業して数十年。数学についてまったく覚えていません。大丈夫かな。。。

高校数学レベルでは足りないので大学レベルの数学までは復習したいです。

まとめ

ということでKaggle実施のため、基礎の習得の手順としてはこんな感じになります。

  1. 開発環境の構築をする
  2. 「独学プログラマー」でPythonの基礎とソフトウェア開発の心得を習得する
  3. Git、Githubで成果物の管理をする
  4. 高校数学->大学数学を復習して数学の知識を得る

こんな感じでしょうか。

先が長いなー。

Pythonを習得してみよう」と当初は考えていましたが、いまいちな目標なので「Kaggleで戦う人になる」にかわりました。

まあ、すこし具体的でいいですね。

まずはやるしかないので、学習を進めていきたいと思います!!!

【2-7日目】7時間睡眠をしてみることにした

こんにちはツヨシです。 在宅勤務真っ最中です。 そのため、かなり運動不足。家で、運動しないとですね。

7時間睡眠が頭に良いと言うツイートを発見して、その検証のため実際に7時間睡眠を始めてみました。

ginga0118.hatenablog.com

ginga0118.hatenablog.com

前回からの続きで2日目以降です。

2日目

睡眠時間7時間

2:00->9:00

週末なのので寝るのが遅くなる。 夜更かしはいけない 特に体調が良いわけではない。 夕方には眠くなった。そのため1時間ほど仮眠する。 悪循環で、昼寝したせいで夜寝るのが即なる。

3日目

睡眠時間7時間

1:30->8:30

昨夜寝るのが遅くなったせいで起きるのが遅くなった。 休日は生活が乱れる。

4日目

睡眠時間7時間

23:30->6:30

特にすこぶる体調が良いわけではない。 14時に眠たくなったが、短時間睡眠の時より眠気は少ない。

5日目

睡眠時間7時間

23:30->6:30

昼食の後多少眠たくなるが、昼の眠気も少ない。

いつもより、考えをまとめるのが早い。頭の回転が多少良いような気がする。

そのためか、会議での発言が増えている。10%程度アップしてる感じ。

6日目

睡眠時間6時間

1:00->7:00

仕事で帰宅が遅くなり寝る時間が少なくなる。

7時間睡眠できず。こんな日もある。

夕方17時頃に一瞬眠くなる。1日快適に過ごす。

7日目

睡眠時間6時間30分

0:30->7:00

15時に睡魔が襲う。

コロナウィルス 騒動により東京はロックダウンしてしまうのかと心配する。

結論

7時間睡眠をすることで日中の睡魔はだいぶ少なくなりました。

あと、なんとなくですが頭の回転が速くなって気がします。元ツイートの格別の改善があったわけではありません。

まあ、今まで睡眠時間が少なかったことがわかります。 あとは睡眠の質があまり良くないかもしれません。

睡眠の質を改善するために「スタンフォード式最高の睡眠」を読んで実践してみたいと思います。

スタンフォード式 最高の睡眠

スタンフォード式 最高の睡眠

  • 作者:西野精治
  • 発売日: 2017/02/27
  • メディア: 単行本(ソフトカバー)
私の場合6時間睡眠でもいい気がします。これも別で調べてみないとわかりませんね。

あと、どうしても仕事で睡眠時間が削られることがあります。うまく仕事のスケジューリングしないといけませんね。

今までは平日は短時間睡眠で週末寝溜めをするような生活でしたが、きちんと睡眠時間を確保することが重要かなと思いました。

まとめとしては

  • 睡眠時間を7時間確保することで頭の回転が良くなる気がする
  • 睡眠の質について調べ、実践してみる
  • 7時間がベストなのかも調査してみる
  • 睡眠時間を確保するために、仕事のスケジューリングをしっかりする
  • 週末の寝溜めは良くない

良い睡眠を!!

【1日目】7時間睡眠をしてみることにした

こんにちは、ツヨシです

先日、7時間睡眠をするとすこぶる快調という噂を聞きつけ、じっさいやってみる宣言をしました。

ginga0118.hatenablog.com

で、やってみた1日目の感想になります。 1日目と言うことで、1日目の寝るまでの記録になります。

実際に寝るのは23時から6時としてみました。この時間なら急げば寝る準備までできそうだったので、この時間にしました。 となると、寝る前にすることを逆算してみると22時には夕飯の準備をして、飯を食べて、風呂に入らないと間に合わないと言う計算です。 酒を飲んでのんびりする時間もなさそうです。

通勤時間が結構長いので、仕事を終わらせるのも20時が限界。 残業もささっと終わらせないといけません。

生憎コロナのせいで、自宅で仕事をするリモートオフィスをすることが多くなりそうなので、通勤時間はカットできそうです。 ついでに、オフィスであるような同僚からの横槍もなく、集中して仕事ができるので仕事時間も短くなります。

実際に仕事が終わり、帰宅し始めたのが20時30分、予定していたタイムラインギリギリですね。 帰宅が予定通り22時。

そこから飯の支度、飯、風呂と40分程度で済ませ、歯磨きと寝る前のストレッチでフィニッシュ。 ベットに23時に入りおやすみなさいです。

ギリギリですね。 全く何もできませんでした。

食事もレンジでチンの自担食事をしました。

で、23時に寝てみたものの、なかなか寝付けない。 普段寝るのが1時くらいなのと、風呂に入ったせいで、微妙に覚醒しているようです。 結局30分くらい睡眠と格闘して、ようやく寝た感じでした。

しかし、深い睡眠ができていなかったようで、深夜の2時半に起きて、また寝ようとしました。

慣れないことは難しい。

その後、なんとか寝たものの、5時に嫁のアラームが鳴り起きてしまいます。

やはり自分には7時間連続で寝るのは難しいのか。。。

以降続きます。

スタンフォード式 最高の睡眠

スタンフォード式 最高の睡眠

  • 作者:西野精治
  • 発売日: 2017/02/27
  • メディア: 単行本(ソフトカバー)

【0日目】7時間睡眠をしてみることにした

こんにちは、ツヨシです。 だいぶ間隔が開きましたが、ひさびさにブログを書きます。

世の中ではコロナウィルスがトレンドの日々です。 歳をとって花粉症気味になり、マスクとべったりな私としてはマスク不足は非常に辛いです。

花粉症の辛さとマスクをしないで過ごせないかと思い、嫌々ながら近くの病院にいきました。

病院で花粉症に効く薬をくださいと言った所、クラリチンを処方されました。 一般にも売られてるのですね。

で、飲んでみると効果抜群。

今までの花粉症は何だったのかと言うくらいに鼻水や喉の痛みが取れて、改めて医学の素晴らしさに感動してます。 ただ、この薬、眠気を誘発するらしいと説明を受け、私もこれにもれずに日々眠気と格闘してます。

私の場合眠気は昼食後に来ます。 これをどうにか改善できないかと言うことで、色々と調べてみた所、ただの睡眠不足ではないかと推測しました。

と言うのも、私の場合いつもあまり寝ていなくて、だいたい1時から6時の5時間睡眠になってます。 睡眠時間自慢ではありませんが、本当に寝れないわけです。 寝ても眠りが浅く、途中で起きてしまうわけで、なかなか5時間以上寝ません。

そんななかこんなツイートを見つけました。

7時間寝れば生活を改善できるのかと言うことを試してみたくなり、 今回の7時間睡眠チャレンジを行なっていこうと思います。

ついでに、ブログの更新も滞っていたので、良い刺激になるのかなと。。。

まず、7時間睡眠をするためのストラジーとして以下を考えました。

  • 睡眠時間は23時から6時の7時間とする
  • 酒を飲むと眠りが浅くなるので禁酒にする(週末、イベントでは飲んで良い)
  • 寝る前にストレッチをしてリラックスする

まずはこれを守って続けていきます。

スタンフォード式 最高の睡眠

スタンフォード式 最高の睡眠

  • 作者:西野精治
  • 発売日: 2017/02/27
  • メディア: 単行本(ソフトカバー)

アウトバックのバッテリー上がりを体験した話

こんにちは、ツヨシです。

愛車のアウトバックで山へ海へ出かけるのが夢ですが、なかなか外に繰り出すことができず悶々とした日々を過ごしています。

ginga0118.hatenablog.com

我が家の駐車場は立体駐車場になっていて、車幅の制限がギリギリのため、駐車するときは結構気を使います。 なかなか一発で駐車できず、色々と試行錯誤していて、バックモニターを見ると駐車しやすいことに気がつきました。

タイヤの切り返しにより、どのあたりに移動するかのガイド線が出ていて便利です。

今まで、全く使っていなかったので、文明の力に感心をしています。

そんな便利な機能満載のアウトバックなのですが、バッテリーが上がりを経験することに。。。 とほほな週末の始まりです。

バッテリー上がりは突然に、そしてJAFにお願い

週末のある朝。お出かけをしようとルンルン気分でアウトバックに向かいました。 アウトバックはスマートキーなので、ドアノブに手をかけると自動で鍵を解錠してくれます。 いつものようにやさしくドアノブに手をかけるツヨシ。 しかし、アウトバックは無反応。「あれ、おかしいな」と思いもう一度ドアノブに手をかけてみました。

それでも無反応。これは本当におかしいと思い、車の鍵を取り出し、解除のボタンを押します。

しかし、やはり無反応。

「むむむ」とうなだれるツヨシ。まだまだ諦めません。今度は物理的な鍵を使う作戦です。

そう、スマートキーから物理キーを取り出し、ドアノブの鍵穴に差し込みドアの鍵を開けます。

まあ、これで何とか解錠。室内に入り、イグニッションボタンを押すもやはり無反応。

室内灯などをつけてみても何も点かず。 これは、まさか、バッテリー上がり!!

うーん、どうすればと思いますが、ここは落ち着いてJAFを呼びます。

こういう日のためにツヨシはJAFの会員なっていたのです。

早速iPhoneJAFアプリを開き、現在位置などを入力して呼び出しをしてみました。

JAFスマートフォンアプリ-デジタル会員証-

JAFスマートフォンアプリ-デジタル会員証-

  • JAPAN AUTOMOBILE FEDERATION
  • ライフスタイル
  • 無料

すると、すぐにJAFアプリから通知が来て、約45分後に到着しますと。いやー、便利だ。その何分か後にオペレータから電話がかかってきて、「約45分後に到着します」と。アプリに通知が来ているのに丁寧だなーと思い、家に戻りJAFの到着まで待つことにしました。

家にいても何もすることがないので、また車に戻り、車の中でJAFを待つことにしました。丁度45分後でしょうか。思ったよりも早くJAFの作業車が到着しました。

f:id:ginga0118:20190712103449j:plain:w300

JAFの作業車です。ごつい感じが頼もしい限りです。「このトラックになら牽引されてもいいわ!」なんて心の中で思いつつ、JAFの方と状況などを話しました。

早速、タイヤ止めをつけ、周りを確認してフロントのボンネットを開けてエンジンルームのご開帳です。 さあ、調査の開始です。

エンジンルームを拝見

今までアウトバックになってエンジンルームを見たことはなかったので、今回が私にとっての初のエンジンルームです。

確認のための電圧の測定です。

電圧は通常よりも低下していて、これではエンジンがかかりません。

ということで、別電源を用いてエンジンのスターターを起動させます。

手際良くスターターをつなげて行っています。

イグニッションを入れると無事園児がかかりました。 このまま、エンジンをかけ続ければバッテリーが充電されていきますが、一度完全に放電してバッテリーが劣化しているかもしれないので、ディーラーに行くことを勧められました。

JAFの出番はここまでです。その後書類などを書き、終了です。 JAFの会員にはなっていたので、料金は発生しませんでした。

ここまで電話から1時間くらいでしょうか。 こういう時は頼もしい限りです。

充電のためにディーラーへ

その後、ディーラーに電話を入れ、エンジンは切らずにディーラーに行きました。

車を止め、話を聞くとバッテリーの充電が必要で、一晩かかるそうです。 まあ、しょうがないということで、ディーラーに車を起き、歩いて家に帰りました。

次の日、歩いてディーラーに車を引き取りに行きました。 家から2kmくらいですが、まあちょっとした運動になります。

ディーラーでバッテリーの充電の代金を払いました。2000円くらいだったと思います。そして愛車のアウトバック を引き取ります。 その時なぜかキャンペーンで配っている景品をいただきました。

アウトドア向けのコップです。なかなかいい感じです。

教訓

今回の原因は室内灯のつけっぱなしでした。 最後に車に乗った時に、足元に鍵を落としたので室内灯をつけて探していて、それを消さずに鍵を欠けたことが原因です。 こういった室内等のつけっぱなしでも1日でバッテリーは落ちるそうです。 気をつけないといけないですね。

しかし、JAFには助かりました。 とりあえず入会していたのですが、使うことはないだろうなーと思っていたので、「備えあれば憂いなし」とはこのことですね。

JAFに入ると、毎月、いろんな店の割引券などももらえたり、JAF会員で割引のある店もありますので、意外とお得かもしれません。 こういうことがあると、来年も更新しちゃいそうです。

アラフォーな私がpythonをキチンと学ぼうと思った

こんにちは、ツヨシです。

今年の夏は海も川も山も行っていないことに気がつき、私の夏とは何か?と考えています。アバンチュールなんてもってのほかです。

セミの声も無くなり秋になっているのに、夏の思い出がないと、寂しい限りです。夏休みの宿題もない大人なので、夏と言うと暑いだけの日々だけなんですけどね。

このままじゃいかん。それじゃいかんとですよ。おいどんはそんな小さく納まる人物じゃなか、と、思い悩みます。

と言う事で、ちょっと真面目に新しいことを学んでみようと思いました。

やる事はプログラミング言語pythonの取得です。

www.python.org

現状の自分

一応、会社では組み込みエンジニアとして仕事をしてるわけですが、最近はプログラミングからだいぶ離れています。

一応、仕事でプログラミングをすることはあるのですが、ほんの数行の変更だけ。今の仕事ではその変更をするための多くの会議と、仕様書と、テストが必要になります。後はレビューとか、打ち合わせとか。実際コーティングをする事はほとんどないです。

月間10行くらいでしょうか。。。

そんなんだと、なんだか面白くない。新しいことでコーティングしたいなーなんて思っている事が多いです。

仕事がつまんないからツールを創るといって隠れコーティングをしたりしています。そんな時に使った言語がpython。普段使っている言語はC言語なんですが、ツールを創るのにPCで簡単に実行できるのがpython言語です。

pythonを使って

pythonは環境のインストールも簡単なので、作ったツールをチームメンバーに配布してチームの作業の効率化を行っていたりします。

そんなpython言語ですが、体系的に学んではいません。今までは必要に迫られてなんとなくプログラムを書いていました。

例えば、pythonEthernetによるセンサ監視用のクラサバや、Bluetooth通信によるセンサ情報の取得ソフトなどを作りました。自分にとって、この時使うプログラミング言語pythonである必要はなく、環境がpythonに対応していたので渋々作った感じです。

なので、プログラムの構造なんかお構いなしに作ったので、酷いコードだったと思います。それでも、なんとなく動いていました。

そしてpythonを習得したいと思った

そんなpython言語なんですが、このままじゃいかんと思っています。つまりキチンと体系的に学びたいと思っています。きちんと学ぶことで、自分のものにして十分に使いこなせるようになりたいと。

最近は機械学習とかも流行っているので、ゆくゆくはその辺もやってみたいなー。

ただし、すでにアラフォー。頭カッチカチ。でも、少しずつでもやっていきたい。

と言うわけで、今日から毎日コーデイング、もしくはプログラミングの学習をしていきます。

100daysofcodeってヤツです。

#100DaysOfCode Official Website | #100DaysOfCode

毎日コーデイングは出来るかはわからないし、ブログの更新は難しそうなので、気が向いたら書いてみたいです。

まずはpythonの本を読むことから始めます。

選んだ本は「入門python」になります。

入門 Python 3

入門 Python 3

この本は基本的なpythonの文法について書かれており入門者にもぴったり。 ボリュームも600ページもあり、読み応えがありそうです。

また、小さなサンプルも沢山あるので、後々にも使えそうです。

新しいことを始めるのはワクワクすることです。 とりあえず年内はpythonの取得をがんばってみたいとおもいます。

3月に高尾山に行った話

こんにちは、ツヨシです。

東京には観光に人気のスポットの高尾山があります。ミシュランに紹介されたことでさらに人気が上がりました。 その高尾山ですが、時期を間違えると非常に混雑します。 正月や、紅葉の時期がそうです。

しかし時期によっては混雑せず快適に行くことができます。

私が行ったのは3月と時期的に人も少なくなかなかよかったので亡備録のため書いていきたいと思います。

高尾山と杉の木

ちょうどその頃は花粉も舞い始めカフナーには厳しい季節の到来でした。

私ももれなく花粉に苦しめられて、ムズムズと戦っておりました。

花粉と言えば杉なのですが、高尾山は杉が多く植樹されており、東京なのに以外と自然が多い場所です。

薬王院では一口3000円より杉苗の奉納もやっているようです。

www.takaosan.or.jp

そんな自然の多い高尾に娘とおもろいことがないか探しに行って来ました。

高尾山のケーブルカー

高尾には車で向かいました。駐車場には高尾山の駅の近くの高尾山薬王院祈祷殿駐車場に停めました。

https://www.takaosan.or.jp/access/

ここは高尾山の駅からは少し離れますが(徒歩で10分くらい)、料金が500円と安く、駐車場も広いで便利です。

人気の高尾山なので近くの駐車場は埋まっていました。この駐車場なら年末年始、紅葉の時期でなければ比較的空いているので停める事ができるでしょう。

そこから少し歩き高尾山のケーブルカーの駅に行きます。

高尾山はミシュランに載ったこともあり、一時期かなり混雑していました。この時は正月も終えたあとでしたのであまり混雑していませんでした。

正月終わりのこの時期は以外とオススメなのかも知れません。

娘がいなければザックを背負って登山することもできますが、今回はケーブルカーを使って楽に登っていきます。

昔ケーブルカーには乗ったことはあったのですが、久々に乗ったケーブルカーは思ったよりも傾斜があり、娘ははじめてのケーブルカーではしゃいでいました。

ケーブルカーで山を登りましたが、山頂の手前までしか行きません。山頂に行くときは少し歩くことになります。 長い階段もあり、結構しんどいです。

私たちの場合は目的地が薬王院でしたのでここから少し歩くことになります。

だいたい20分くらいでしょうか。娘も途中にある謎のオブジェを楽しみつつぐんぐんと進みます。途中肩車をせがまれ、ちょっと疲れました。

タコのオブジェがありました。これはなんなんでしょうね。

途中で仁王様!?が睨みをきかせていました。

薬王院について、御朱印をもらいました。実は今年は御朱印集めをしようと思ってまして、今回の薬王院がはじめての御朱印になります。

手書きで書いてもらったのですが、なんだか嬉しいですね。本当はお経を納めて貰うらしいのですが、今回はご愛嬌で。

目的地の薬王院になります。

薬王院自体結構広いのでどれが本殿かわかりませんが、ここだと信じています。

お寺にお参りをしていると娘がお腹がすいたと言い出したので、麓でお蕎麦を食べることにしました。

帰りもケーブルカーに乗りました。

ラッキーなことにケーブルカーの正面の位置がとれたので、ケーブルカーの降りる動画を撮ってみました。


高尾山のケーブルカー

iPhoneだからかなかなかうまく撮れてないです。 この動画だと伝わりにくいですが、下を見下ろすのは結構怖いです。

駅に到着。ケーブルカーとはお別れになります。

お腹が減ったので、そば屋を目指すことになります。

今回行ったそば屋は「栄茶屋」になります。特に決めていたわけではないですが、すぐに入れそうだったのでこの店にしました。

栄茶屋 本店

食べログ 栄茶屋 本店

私は天ぷら蕎麦を、娘はざる蕎麦を頼みました。

娘は何も入っていないざる蕎麦にハマっています。海老天、美味しいのになー。 綺麗に平らげ、ごちそうさま。

食事後、近くをブラブラと散歩をすることにしました。

車を駐車場に停めるときに見つけたのが「Takao599」と言う施設です。

なんだろうと思い、寄ってみることにしました。

中に入ってみると高尾の自然をテーマにした観光施設で、入場は無料です。

中では自然をテーマにした映像や、自然の木々を展示した物、動物などの展示があります。

コーヒーショップなどもあり、休憩にはもってこいです。

この施設は洗練されたデザインで、居心地が良いです。

高尾山付近の自然の映像を見たり、ドングリなどの自然の物で出来たオブジェクトを見て楽しみました。娘もなんだなんだ?といいながら楽しんでいるようでした。

帰りにに施設内にあるコーヒーショップに入り、私はコーヒーを、娘はソフトクリームを食べました。

コーヒーは小さなサイフォンで入れる形式でした。

最近、サイフォンは見かけなくなりましたね。 コーヒーにはコーヒーカップのものと、サイフォンで持ってきてくれる物があり、サイフォンのものは少し高いのですが普通の珈琲の1.5杯分くらいありお得な感じです。

ソフトクリームはそこそこ大きく、娘も大喜びでした。

その後娘は目の前の芝生で駆け回って遊んでました。娘はクタクタになったのか、帰りの車ではぐっすり寝てました。

まとめ

正月が終わり少し立った後のこの時期の高尾山はなかなかおすすめです。人も少ないし歩いていても暑くありません。 今回は娘の初ケーブルカーでした。ケーブルカー以外にも十分に楽しむことが出来ました。

「Takao599」は娘が飽きたようでしたので早めに帰ることにしました。

私的にはもう少し見ていたかったですね。

高尾山はお手軽に山に登ることも出来て、子供がもう少し大きくなったらケーブルカーではなく足で登りたいですね。まあ、ケーブルカーもあるので子供連れでもオススメです。

るるぶ高尾山 (国内シリーズ)

るるぶ高尾山 (国内シリーズ)

山と高原地図 高尾・陣馬 (山と高原地図 28)

山と高原地図 高尾・陣馬 (山と高原地図 28)

ワイヤレスイヤホンを買ったら、色々と捗った話

こんにちは、ツヨシです。

最近、通勤中は「Bill Evans」の曲などを聞いています。 まったりできるので、読書には最適かと思います。

休日の朝なども「Bill Evans」やJazzなんかを聞いてリラックスをしています。

Jazzと言えば最近は「Blue Giant」という漫画が面白くはまっています。 これは、高校生の少年がサックスにはまり、いろいろな困難を乗り越えてサックスプレイヤーを目指す漫画です。 登山漫画の「岳」を描いた漫画家の作品で、主人公がすごく熱い思いを持っており「岳」にも劣らずおもしろいです。

今はヨーロッパを舞台にした「blue giant supreme」を連載しており、今後の展開が見逃せません。最近のツヨシの一押しです。

通勤中はJAZZやポッドキャストを聞いています

通勤中は「Bill Evans」などをを聴いていると言いましたが、歩いているときはポッドキャストを聞いています。 最近は「Rebuild」や「ラジオ版学問のすすめ」をよく聞いています。

「Rebuild」はシリコンバレーでエンジニアをやっている宮川さんとエンジニアとのトーク形式の番組です。これを知らないとエンジニアとしてはモグリとも言われている番組で、最近の流行りやシリコンバレーの事情、アニメなどについて話しています。ソフトウェアとしては自分とはジャンルは違いますが、もりもりと興味の湧く話題が多くエンジニアには必聴のポッドキャストです。

rebuild.fm

「ラジオ版学問のすすめ」は各分野のエキスパートが出演してパーソナリティの蒲田健さんトーク形式て話してくれる番組です。主に作家が多いですが、そういうことかーと、自分の好奇心を刺激して、出演した作者の著書をついつい読みたくなる番組です。蒲田健さんの声が渋く、これもまた引き込まれるポイントかもしれません。

今は「note」に移っているようで、「note」の方は有料となっており、ポッドキャストは昔のものが残っているのみなので、ポッドキャスト今のうちに聞いておいたほうがいいかもしれません。

それではイヤホンは何を使う?

こんな感じで通勤中は電車の中と、歩きの時と聴くものを分けているのですが、あまり音質にはこだわっていません。以前はiPhoneからイヤホン繋げけ出していたのですが、iPhoneとコードがつながっているのが煩わしくこの部分をBluetoothに変えた「MDR-EX31BN」を使っていました。

ノイズキャンセルもついているので便利だと思い買いました。昔はもう少し高かったのですが、今は結構安くなってますね。

しかし、形あるものはいつかは壊れるもの。そしてイヤホン部分が壊れました。イヤホン部分は普通のイヤホン端子で接続しているので、別のイヤホンを挿して使うことができます。しょうがないと思い純正ではない普通のイヤホンを挿して使っていました。

そして、この機器はノイズキャンセルがイヤホンに搭載しているために、イヤホンが壊れるとノイズキャンセルを使うことができません。そのため、付属のイヤホンが壊れたあとはノイズキャンセルを使うことなく聞いていました。

ときは流れ、Bluetoothイヤホンが主流となり高性能のものも出始め、うどんを耳にさして闊歩する人も多く出てきました。「うどん」とはご存知の通り、「AirPods」のことです。

筐体が白いので、耳につけるとうどんを耳から垂れ流しているように見えることからそう言われています。

栃木県の佐野市に「耳うどん」なる郷土料理があるそうです。

ja.wikipedia.org

そんな「うどん」。音質はまあまあ良いそうですが、ちょっと高いです。「うどん」を耳から下げる羞恥プレイにこの値段を出すのは私にはちょっと無理です。

今のまま、つまり「MDR-EX31BN」に別のイヤホンをつけるでもいいけどなんだかんだと言ってコードは邪魔です。やっぱり本当のワイヤレスにしたいと思い、探してみたところ、結構リーズナブルな値段であるではないですか!

ということで、Amazonでポチりました。

この便利さを味わうともう戻れない

今回購入したのはSUTOMOのBluetoothイヤホンになります。

Amazonを見ると形が同じものが多くあり、どこかのOEM品なんでしょう。なので、どこを買っても一緒なのかなと思い、購入時点で安く、評価の高いものを選びました。

届いたものがこちらです。

結構洒落た箱に入っています。最近の品物はこのような箱が洒落たものが多く、こう言ったことから満足を引き出すのかなと思います。どちらにしろこの箱はすぐに捨てられるのですが。。。

開けてみると、イヤホンは専用の充電ケースに入った状態で入っていました。

黒を基調にしたケースで高級感があります。またこのケースはイヤホンの充電ケースとなっています。また、バッテリーも内蔵しているので、モバイルで充電なんかも可能です。さらにケース自体がモバイルバッテリーともなり、いざとなればiPhoneの充電もできる優れもの。便利になったものだ。

全てを出してみました。

商品としてはこの専用のモバイルバッテリーに、イヤホン、説明書とシンプルな感じですね。

このワイヤレスイヤホン使用してみてわかったこと

このイヤホンを使用してわかったことは以下の点ですね。

  • コードが引っかかることがない
  • コードのカサカサ音がない
  • 意外と耳にフィット
  • 運動に最適
  • 電源管理がイマイチ
  • 音質はイマイチ

コードが引っかかることがない

実際使ってみると非常に便利です。通勤時にはコードなしで使うことができるので混雑した電車の中でもコードを機にすることなく使うことができます。以前、混雑した電車の中でコードが知らない人の腕に引っかかり耳からイヤホンがスポンと抜けたことがありました。そんなことを心配する必要もありません。

コードのカサカサ音がない

また、最初はイヤホンを耳につけて何も支えがなく心配しましたが、結構しっかり耳に収まり相当なことがないと抜けることはありません。以前はランニングをする時にはイヤホンをしていませんでした。それは走る時にイヤホンのコードが体にスレて、カサカサと音がするのが嫌だったからです。

意外と耳にフィット & 運動に最適

それが、これを使う場合は全く機にすることもなく、そしてしっかりと耳にフィットしてるので外れることもなく走ることができます。そのため、ランニングの時間を音楽や、ポッドキャストを聞く時間にすることができいろいろと捗ります。

ほんと便利です。

電源管理がイマイチ

ただ不便な点としては単体で電源を切ることができないこと。専用のケースに入れることでしか電源を切ることはできません。なんとかなりそうな気もしますが、そのような仕様となっているので、お出かけをするときは必ずこのケースが必要になります。

音質はイマイチ

あと、音質ですがあまり良くないです。ドシャリ感があるというかそんな感じですが、今はあまり音質よりもメロディーやポッドキャストの内容を聞きたいので、自分としてはそこまでマイナスではないです。値段相応なのでこんなものかと思って言います。

まとめ

ワイヤレスイヤホンは本当にオススメです。自分の行動の中でできることが増えます。 特にスポーツなどをやっている人は、何かをしながら音楽を聞くことが容易にできるようになります。 ランニング中に気にせず聞けるのはかなり嬉しいです。

防水もついているので、多少の水がかかることは問題ないです。お風呂とかでも使えるようですが、お風呂はスピーカーなど別の方法聞きたいですね。

と、不満な点もありますが、トータルで言えば満足です。 もっと早く気がつけばよかった。

ワイヤレスイヤホンは他の製品もありますので、お財布と相談して使ってみてください。

横森コーヒーで午後の優雅なひとときを楽しむ

こんにちは、ツヨシです。

コーヒって香りが良く、美味しいですよね。私は好きなので、朝、昼前、昼食後と1日3杯くらい飲みます。

昔は朝はよくコーヒー豆を自分で挽いて、ドリップでコーヒーを楽しんでいました。

ゆっくりとした休みの日の朝などは、この時間が好きで、ドリップした時にポタポタと落ちていくコーヒーを見てると、頭の中が空っぽになり、瞑想をしてるような気分になります。

以前は珈琲を平日でもハンドドリップで入れていた

そして平日の朝でもコーヒーを入れるのが自分の仕事でした。多少バタバタしていても豆を挽いてハンドドリップをしてました。

ドリップの時に使うドリッパーはハリオのものが好みでよく使っていました。

あとはあっさりが好きなのでカリタのドリッパーも使っていました。

日は流れ、子供の面倒を見たり家事をするので、朝の時間をゆっくり過ごすことが出来なくなり、少しでも時間を節約するためにフレンチプレスを使うようになりました。

これもハリオのものを使っていて、フレンチプレスでも良い感じにコーヒーができるようになりました。

味は抽出時間、豆の量、豆を挽いたときの大きさが決め手になります。

そして、さらに豆を挽くのが大変なのと嫁がコーヒーを飲まなくなったので、市販の小分けされたドリッパーのものを使うようになりました。

自分は「AGF ちょっと贅沢な珈琲店」を使っているのですが、これはこれで意外といけますね。

これは、カップの縁にかける部分が大きく、注ぎ先も広いのでドリップがしやすいのでおすすめです。

便利なものを使って行くことはよいのですが、たまにはハンドドリップで入れたコーヒーを飲みたくなります。

そんなことを思っていると嫁さんが買い物に行った時にお土産にコーヒー豆を買ってきました。

横森珈琲というコーヒー屋さん

嫁さんが買ってきたコーヒー豆は「横森珈琲」と言うコーヒー屋さんの豆になります。

「よこもりブレンド」と「ふかいりブレンド」の2種類を買ってきました。

調べてみると「横森珈琲」は三鷹にあるコーヒー屋さんで、この時は立川で出張販売をしていたらしく、嫁さんは立川で購入をしたようです。

www.morisuke.tokyo

早速、久々に豆を挽いてコーヒーを入れてみました。

ドリッパーとサーバーは以前に熊本へ旅行に行ったときに買った陶器製のドリッパーとサーバーになります。

名前は忘れましたが、一目惚れで買いました。陶器なのでどのくらい注いだのか分かりにくいですが、なかなか味があって気持ちが盛り上がります。

今回飲んだのは「よこもりブレンド」になります。酸味とコクがちょうどよくスッキリとした味です。さっぱりしたい時に飲みたいですね。

「横森珈琲」は共同経営の「モリスケ」と言うシフォンケーキ屋さんで出されるコーヒーになります。また、珈琲豆の販売も行っています。豆の原種といわれるティピカ種、ブルボン種などを扱っているようです。

www.morisuke.tokyo

シフォンケーキに珈琲、愛称はぴったりですね。今度お店にも是非行ってみたいですね。

やはりコーヒーはハンドドリップがよいと思い直す

今回久々にコーヒー豆を挽いてハンドドリップでコーヒーを入れました。 なんだかコーヒーを入れる時間も落ち着く時間だし、入れたコーヒーも美味しかったです。

少し時間と手間がかかりますがこのような時間も必要ですね。

今は平日の朝は時間がなくバタバタしているので、休日など時間がある時はコーヒー豆を挽いてコーヒーをハンドドリップで入れていきたいと思います。