MySQL Workbenchの使いかた

何故かなかなかスキーマを作成できなかった。どうもrootユーザーでないと作れないようなのでServer Connectionsの画面でUsernameをrootにしてPasswordのStore in vaultでDockerで設定したパスワードを設定して置いてログインしたらスキーマを作れるようになった。

page56にあるappスキーマを作るは飛ばして、sakilaスキームを読込む作業を優先した。
公式に行ってsakila database.zipをDLして解凍して、c:\devフォルダ内に保存しておいた。
Server>Data ImportをクリックしてDataImport画面を出して画面のように設定した後にStart Importをクリックすると

スキーマ画面にテーブルとかができている

デフォルトのスキーマにしておくと便利なのでスキーマのアイコンを右クリックして「Set as Default Schema」をクリックする テーブルにデータを挿入するため「sakila-data.sql」を読込んで実行させる(イナズマのアイコン)

使いかたは下のページに詳しく書いてあった

qiita.com

実装で学ぶフルスタックWeb開発を読み始めた

図書館で借りてきた。
wslはすでに導入済みなのでDockerをinstallした。versionは4.28.0である。
Amazonの評価でいろいろ言われているようなのでこちらの記事を参考に修正をしつつ読んでいく。

qiita.com

docker-compose.ymlが修正できたのでMySQLがinstallされているDockerを起動する

docker compose up -d

C++ランタイムはすでにinstallしてあったようなのでパス

mysql-workbench-community-8.0.36-winx64.msi」ファイルがDLできた。
あとはウイザードに従ってinstall

ワーニング画面(標準的でないプロトコルで接続指示が来ている)がでるがContinue Anyway(とりあえず続ける)をクリックすれば接続完了画面がでる

今日はここまで

体験しながら学ぶ ネットワーク技術入門を読み始めた

1章の検証環境を構築しようでつまずいた。(Windows11環境)
もとからwslはinstallしてあったのでUbuntu22.04が入っていた。そのまま構築手順を進めていったが構築テストでエラーが出てくる。Ubuntuを20.04にinstallし直してみたが関係なかった。
ネットで情報を探していたら著者からのコメントがあった。どうもすでにinstallしていたDisktopDockerが良くないのでは考えコントロールパネルからDockerをuninstallして順に本のとうりに進めたらOKとなった。

www.sbcr.jp

株価データベースを「Docker」で作ってみる

江端智一さんが公開されている、「お金に愛されないエンジニア」のための新行動論(4)でDockerで株価データのデータベースを作って、Golangのシミュレーションプログラムを実行しpythonでグラフを描いてみるまでを真似してみた。

eetimes.itmedia.co.jp

江端さんのGitHubをcloneするとDドライブ直下にmoneyフォルダができる。

money1フォルダまでおりて(docker-compose.ymlファイルがあるフォルダ)

> docker-compose up -d 

とするとバックグラウンドでDockerが起動している(doker-compose startは不要)

>docker-compose ps  

>docker exec -it postgres bash 

ここからWindows10環境からDocker上のlinux環境に遷移

#psql -U postgres

ここからPostgreSQL環境に遷移 hitachi,toushiba,jfe,sharpのデータベースを作る。それぞれのデータベースにstockというテーブルを作っていくが一部変数定義をintではなくrealに変更する。ここではhitachiを例にする

hitachi=#CREATE TABLE stock(Date varchar(10),Open int,High int,Low int,Close int,Ave5day real,Ave25day real,Ave75day real,VWAP real,Vol int,Vol5day int,Vol25day int);

テーブルができたので、ここにcsvファイルからimportしていく。 終了したらPostgreSQL環境からDocker環境に戻る。 d:money/money1で別のWindows環境を起動する。ホルダ内にmain.goがあることを確認しておく。 シミュレーションプログラムを実行。このプログラムは一つのデータベースに対して実行されるのでhitachiデータベースのシミュレーションがしたい場合はプログラムの一部を書き換えて計4回実行し結果をcsvファイルの書き込む。

>go run main.go > hitachi.cvs

csvファイルのヘッダを「date,close,stock_value,cash,hitachi」にする。何故か文字コードがutf16LEになっているのでutf-8に強制的に変更した。

Window10からjupyter notebookを起動していろいろグラフを書いてみる。最後のグラフが4つ要素があるのにグラフが3つしかないようにみえるのはtoshiba.csvのデータとSharp.csvファイルのデータが同一なので上書きされて3つにしか見えないように見える。

Pythonではじめる数理最適化

7章 商品推奨のための興味のスコアリング

◆rcenとfreqに対して 再閲覧確率pred_probを推定する
◆pred_probはrcenについて単調減少する
◆pred_probはfreqについて単調増加する
◆pred_probとprobの二乗誤差を総件数の重み付けで最小化する
f:id:bitop:20220123083109p:plain
rcen(最近閲覧したか。数字が小さいほど最近見た)
freq(閲覧した回数)
rcenが小さく、freqが大きいほどpred_probが大きくなってるのがグラフから読み取れる

Pythonではじめる数理最適化

6章 数理最適化APIとWebアプリケーションの開発

Flackを使ってWebアプリケーションを作り数理最適化の自動化を図る
【問題】  サークルにおける学生の乗車グループ分け。

◆学生をどの車に割り当てる
◆乗車人数が定員を超えてはいけない
◆運転免許証を持っている学生を1人以上割り当てる
◆各学年の学生を一人以上車に割り当ている
◆男女それぞれを一人以上車に割り当てる

f:id:bitop:20220122140224p:plain

学生データファイルと車データファイルを割り当てて最適化を実行させる。
f:id:bitop:20220122140444p:plain

Pythonではじめる数理最適化

5章 コストを最小化する輸送車両の配送計画

【問題】
◆最適化対象期間
◆地理
地点の集合
自社の拠点
移動時間
◆注文
 届け先地点
 配送指定期間
 重量
 配送を外部に委託した場合の費用
◆トラックの運用
 所定労働時間
 トラックの最大積載量
 1時間当たりの残業代
 最大残業時間

自社の拠点と配送先のプロット
f:id:bitop:20220115154156p:plain
求解のプロット
f:id:bitop:20220115160757p:plain