忘れないでください。

自分は物忘れがひどいので行ったこと忘れないようにと、あと技術的なTipsとかを見返すためのブログです。不定期更新

win10機にWSL2でdocker導入

業務でDockerとKubernetes使うことになったので、win10機にDockerを入れてみるよ。

 

WSL で Docker コンテナーを使ってみる | Microsoft Docs

win10でDocker導入するときの、よさげな感じの資料があったので参考にしてみる。

 

流れとしては以下をやってく感じ。

  • WSL有効化
  • WSL2に更新
  • Linuxカーネル(今回はubuntu)ダウンロード、インストール
  • windowsターミナルインストール(任意)
  • Docker Hub登録(任意)
  • Docker導入

 

ubuntu入れたらのインストール後の作業を実施

WSL (Windows Subsystem for Linux)の基本メモ - Qiita

 

よくよく考えてみたら仮想PCにlinux入れるほうが管理楽だったかも…

 

 

CSVゲット

下記サイトからヒストリカルデータをダウンロードCSVにコンバートする

詳しくは下記記事参照されたし。

 

https://qiita.com/u1and0/items/6a690f6b0080b8efc2c7

 

あと久々にサブ機(CentOS7)動かしたらSambaアクセスできなくてビビった。

2時間くらい格闘してようやく原因を突き止める。

 

SELinux・・・お前だったのか・・・

 

とりあえず「setenforce 0」で一旦切ったらスルスルと通りましたね、ええ

SELinux切ったままも気持ち悪いのでなんとかしたいけど。。。

 

雑多

タイトルの通り

ちょっと前まで試験受けたり異動があったりでこの半年マジで何も作ってない。

いや試験は受かったから何も得てないことはないのかな?

とったやつはオラクルのJava銀あと情報処理は受けたけど落ちた。次回がんばるさ

うん

 

それで試験が終わってもう1ヶ月くらい経つんで。暇なもんで。何か作ろう作りたい。

あれだなどうしよう。

 

作りたいもの1

半年前に作って放置してたFX自動売買ツール。

なんで半年も放置してたの?っていうと損しかしねえからです。

そのツールの確か平均線をみて売買するやつなんですけど(詳しいロジックは半年前なので忘れた)、自分のやりかたが悪いのかまあ当たらない。

様々な想いを込めて突っ込んだ10万円がものすごい勢いで溶けていくさまは圧巻でしたよ。

そいつは最終的に2万くらいになったところで停止させた。

今回これの続きやりたい。…がしかし

正確な為替レートのデータないとできない。日足ならそのへんに転がってるんだけど、5分足とか10分足のデータほしいってなったときなかな過去遡ったデータってないみたいなんだよね。

なんかないかな

 

作りたいもの2

自動売買ツール(株版)

前作ったFX自動売買ツールのノウハウを生かせるんじゃあないかと、

過去データも簡単に手に入るしね。

 

作りたいもの3

ラズパイで遠隔クローラー

キャタピラ版spotMini(あんな大層なものじゃないけど…)

実家に配置して好きなときに実家の猫を撫でるができる。

 

パーツ揃えたりなんなりで結構お金がかかる。

これはもうガンプラ作る感覚でゆっくり作りたい。

 

作りたいもの4

賃貸マップ

世帯収入MAPみたいなひと目でその地域の賃貸価格がわかるようなもの。

 

将来、地方に移住したいなあとなんとなく考えてるので、ひと目でそれとわかるようなものがほしいなって。

あとこういうwebサイトって作ったことがないので勉強の意味でこれをやりたい。

 

どうしようか

さあいつまでに何ができるか考えよう。

まず簡単にできそうなもの順で言うと、

3>1>2>4

だけど自分がほしいもの順だと(やる気が出る順)

2>1>4>3

 

情報処理落ちちゃったのでまた受ける、それを見越して

8月~10月は作業できないとしよう、

そうするとあと2ヶ月くらいしかないわけだ。

 

えーマジでーそんだけーーー

 

 

そうなるとあんまり難しいのは無理だね。

(いや別に完成させる必要ないか.?)

うーん

 

Python使ってなんかかんやと解析ってやってみたかったなー

よし!じゃあFX自動売買ツールの続きやるぞい!

 

 

vncserverが真っ暗になる問題

 

自作のFX自動売買ツールをCentOSで動かしたかった

自作の自動売買ツールがSeleniumでブラウザをGUIで操作するものでしたので、

GUI環境を整える必要がありまた。(ヘッドレスモードで今更作り変えるのも面倒だったので・・・)

 

そこでCentOS7を用意してVNC起動

# vncserver :1

が、しかしvncviewerで接続したら画面が真っ黒に…

 

VNCのログを確認

vnc起動したタイミングでログが出力されるのでログを確認します

# cat /home/ユーザ名/.vnc/localhost.localdomain:1.log

 

(process:4797): dconf-CRITICAL **: unable to create file '/run/user/1000/dconf/user': 許可がありません. dconf will not work properly.

(process:4797): dconf-CRITICAL **: unable to create file '/run/user/1000/dconf/user': 許可がありません. dconf will not work properly.

Sat Dec 1 16:30:40 2018
ComparingUpdateTracker: 0 pixels in / 0 pixels out
ComparingUpdateTracker: (1:-nan ratio)

 

:4797): dconf-CRITICAL **: unable to create file '/run/user/1000/dconf/user': 許可がありません. dconf will not work properly.

とあるので、どうやら/run/user/1000/dconf/userが使えないみたいでした。

ルートで/run/user/1000/dconfに権限を与えてやります。

# chmod 777 /run/user/1000/dconf

 

 

そしてvnserverを再起動

# vnserver -kill :1

# vnserver :1 

vncviewerで接続し直したらデスクトップを正常に使える状態で接続できました。

 

続きを読む

ubuntuにJava実行環境を整える

目的

FX自動売買ツールをJavaで作ってWindows10でここ半年稼働させていたんですが
毎月の Windows Updateが辛すぎるので(何があったのかは各自想像してください)
今回Linux機にFX自動売買ツールを移行させることにしました。
これはそのための前準備で、手順を忘れないための自分用のメモです。

自分の環境(2018/11/23時点)

JREインストール

まずJREをインストールしてJava実行環境を整えます。

$ sudo apt-get install default-jre

インストールできたらVerチェック

$ java -version
openjdk version "10.0.2" 2018-07-17

JDKインストール

続いてJava Development Kitを入れます。

$ sudo apt-get install default-jdk

インストールできたらVerチェック

$ javac -version
javac 10.0.2

環境変数JAVA_HOMEの設定

ecripce をインストールする前に環境変数を設定します。
インストールしたJavaの一覧を表示

$ sudo update-alternatives --list java
/usr/lib/jvm/java-11-openjdk-amd64/bin/java

OpenJDKがインストールされていますね。

システム全体の環境変数設定のためシェルスクリプトをprofile.dに作成

$ sudo vi /etc/profile.d/java.sh

java.shの中身

JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

シェルスクリプト読み込み

$ source /etc/profile.d/java.sh

そしてechoでシェルスクリプトに設定した値がちゃんと表示されたらおけです

$ echo $JAVA_HOME
/usr/lib/jvm/java-11-openjdk-amd64

Ecripceのインストール

続いてIDE周りを整える。
が、その前に作業用フォルダをホームディレクトリの直下にJavaWorkを作っておく

$ mkdir ~/javawork

Eclipse Downloads | The Eclipse Foundation
上記サイトから自分の環境にあったアーカイブをさっき作ったディレクトリにダウンロード
ダウンロードしたtar.gzを解凍

$ tar xfvz ~/javawork/ファイル名.gzip

tarコマンドの捕捉

ecripceが正常に起動できたら完了

※引用:Linuxmania:apt-getでJavaをインストールしよう (Ubuntu)
Eclipseのインストール Linux編 | AZDT

Raspberry Pi Zero whを喋らせる

この記事は下記サイト様を引用しています。
jellyware.jp

スピーカーが使えることが前提で作業を進めます

Open Jtalk入れる
あと追加パッケージ[y]でインストールします。

sudo apt-get install open-jtalk open-jtalk-mecab-naist-jdic hts-voice-nitech-jp-atr503-m001

スクリプトを作成

sudo nano jtalk.sh

スクリプトの中身

#!/bin/bash
tempfile=`tempfile`
option="-m /usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice \

  • x /var/lib/mecab/dic/open-jtalk/naist-jdic \
  • ow $tempfile"


echo "$1" | open_jtalk $option
aplay -q $tempfile
rm $tempfile

再起動して
喋らせてみる

./jtalk.sh "うっほほーい!今日すっげえ暑いっすね!!!"


しゃべったあああああああ!!!!!!

ラズパイゼロwhでUSBスピーカーを使う

USBスピーカーが届いたので早速ラズパイにつないで音を鳴らすテスト。
使用したスピーカーは[サンワサプライ USBスピーカー(ブラック) MM-SPU8BK]です。
早速aplay

$ aplay /usr/share/sounds/alsa/Front_Center.wav


が、鳴らず。
lsusbでUSBに接続されている機器の確認。

$ lsusb
Bus 001 Device 002: ID 0d8c:0103 C-Media Electronics, Inc. CM102-A+/102S+ Audio Controller
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

>Bus 001 Device 002: ID 0d8c:0103 C-Media Electronics, Inc. CM102-A+/102S+ Audio Controller

とあるので認識自体はされているようだ
次はcat /proc/asound/cardsでデバイスのリストを表示

 $ cat /proc/asound/cards
 0 [ALSA           ]: bcm2835_alsa - bcm2835 ALSA
                      bcm2835 ALSA
 1 [MicroII        ]: USB-Audio - Audio Advantage MicroII
                      C-Media INC. Audio Advantage MicroII at usb-20980000.usb-1, full speed

どうやら1番のデバイスがUSBスピーカーみたい
次はデフォルトで使うデバイスを1番に変更する


$ sudo vi /etc/asound.conf

でファイルを作成または編集し、以下の二行を追加

defaults.pcm.card 1
defaults.ctl.card 1

数字の1のところは都度自分の使いたいデバイスに変更してください。

でもう一度テスト

$ aplay /usr/share/sounds/alsa/Front_Center.wav

よし鳴った!

参考
https://www.alsa-project.org/main/index.php/Setting_the_default_device