あきき☆エンジニア

〜ぷろぐらむ〜(perl,php,JavaScript,WebGL,emacs,mysql)

Windowsの(大きい更新)をしたらVMwareでネットワークが繋がらなくなった!

Windows10を使っています

2017年5月10日にPCがなんか重たい…Windowsの更新プログラムが動いているのか?それとも他の原因?(まぁこういうときは、大抵Windowsの更新プログラムが動いてるw) タスクマネージャを開きディスク使用率を見る100%近い…(100%Windowsの更新だなって思いつつ、リソースモニターを開きディスクタブを開く… svchost が大きく上位にいて秒速うんメガバイト読み書きしている(Windowsの更新だ!)

自動更新は、下手すると1日やっていたり(引っかかっていたり)するので手動で更新する方法を… Windows10アップグレードアシスタントとかいうプログラムですぐに更新できそうだw 立ち上げて更新しました(今回は、大きい変更だったようで1時間ぐらいかかりました…とほほ)

更新が終わりさてVMwareUbuntuを起動しemacsを起動したらemacswikiに接続でエラーに ネットワークが繋がってないようだ たまにあるのでUbuntuの右上のネットワークで切断を選んで再接続すると直るのだが… 切断が無い…ネットワークを有効にするを選ぶと有効状態なら切断してくれたので もう一度ネットワークを有効にするを選び取得するも emacsの起動は、同じ状態になった Windowsdosプロンプトを開き以下のコマンドを実行したら

> ipconfig /all

VMware Virtual Ethernet Adapter …の項目が無い Windowsの更新でドライバー削除しやがった どうやったらVMware Virtual Ethernet Adapterって入るんだっけ? とりまVMware仮想マシンの設定でネットワークアダプタを削除して新しく 追加して設定するも…ドライバは、インストールされず(まぁされないよねw)

仕方ないのでVMware workstation playerの最新版を落としてインストール(最新の状態でしたので修復を選択しました) Windowsdosプロンプトを開き以下のコマンドを実行したら

> ipconfig /all

再度確認…VMware Virtual Ethernet Adapterが現れました!

これで、VMwareUbuntuを起動してネットワークが接続されていることが確認できました

emacsで確認していましたが、ブラウザでも接続不能でしたw

ローカルテストサーバー(phpでビルトインサーバー)起動


perlスクリプトのexe化で不意に webサーバー(nginx,apache)入れなくても
phpのビルトインサーバーを使えばjavascriptphpのテストするだけならいいのでは?
って思い(ちゃんとするなら Ubuntuでやるが Windowsでやることにした)

windowsphpを入れる→以下のリンクからVC14 x64 Thread Safe (2017-Mar-16 00:40:27)を
ダウンロードしてインストー
PHP For Windows: Binaries and sources Releases

解凍して解凍したフォルダーにpathを通して
(私の解凍後の状態→ C:\Users\USERNAME\wintools\php-7.1.3-Win32-VC14-x64 
phpstart.batを作ってその中で
PATH=C:\Users\USERNAME\wintools\php-7.1.3-Win32-VC14-x64;%PATH%
とした)

サーバーのドキュメントルートへ移動して以下のコマンドを実行したら・・・

>php -S localhost:8000

vcruntime140.dllが無いというダイアログが出た
検索してしまいましたが、phpをダウンロードしたページの左側に
vc14 builds ... でMSへのページへのリンクがありましたw
MSへのリンクを張っておきます
Download Visual C++ Redistributable for Visual Studio 2015 from Official Microsoft Download Center

  • select language→Japaneseを選ぶ
  • ダウンロードボタンを押す
  • vc_redist.x64.exe にチェックを入れ Nextを押す
  • vc_redist.x64.exeをインストー


再度

>php -S localhost:8000

今度は、エラーダイアログが出ないで

>php -S localhost:8000
PHP 7.1.3 Development Server started at Sat Mar 25 17:10:57 2017
Listening on http://localhost:8000
Document root is C:\XXXXXXX...
Press Ctrl-C to quit.

起動成功
ブラウザーのurlに
http://localhost:8000/

表示が出た(ドキュメントルートに index.php index.htmlが作ってあればです)


php.iniを編集しないと mysqlsqlite、opensslが有効になっていない

インストール(解凍しただけだけど)フォルダーにphp.ini-developmentや
php.ini-productionがあるので今回は、php.ini-developmentを php.iniに
コピーしてから以下を編集しました(;を取って有効にした)

  • extension_dir = "ext"
  • extension=php_curl.dll
  • extension=php_mysqli.dll
  • extension=php_openssl.dll
  • extension=php_pdo_mysql.dll
  • extension=php_pdo_sqlite.dll

perlスクリプトのexe化をやってみる

私の環境は、ActivePerlではなくStrawberry Perl(32bitの方)を使ってます

perlスクリプトをexe化できるとperlをインストールしてない環境でも使用できるので
exe化を試してみた~


PAR::Packerを入れて・・・すごい時間かかります(tkplも入ったw)
(テストを含めて20分ぐらい)

>cpan install PAR::Packer

問題無く終了すれば・・・
試したい perlスクリプト→例え test.pl

>pp -o test.exe test.pl

test.exe ができあがる(巨大なexeだw)

chromeでJavaScript編集しファイルへ反映(DevTools Autosave)

DevTools Autosaveは、chromeデベロッパーツールのSourcesで編集したJavaScriptCSS
サーバーへ反映させることができるようになります。

  • インストールするもの
    • chrome→DevTools Autosave
    • サーバー→node.jsで動くautosave


★chromに DevTools Autosave (chromeで以下のページをアクセスして追加する)
chrome.google.com

インストール前↓
f:id:akiki0106:20170317181320p:plain

インストール後↓
f:id:akiki0106:20170317181321p:plain


★サーバーに autosaveをインストール

Ubuntuで最新のnode.jsインストールしてautosaveをインストール

$ sudo apt install nodejs npm
$ sudo npm cache clean
$ sudo npm install n -g
$ sudo n stable
$ sudo apt autoremove nodejs npm
$ sudo npm install -g autosave


★設定する

設定は、chromeのDevTools Autosaveのオプションを編集する
(chrome設定→拡張機能→DevTools AutoSave(オプション))

f:id:akiki0106:20170317181323p:plain


f:id:akiki0106:20170317182027p:plain

Routes→Servers
線を結んだサーバーへ送信される

  • Routes
    • Match (正規表現で編集したいurlを記述)
    • SaveTo サーバー側の保存場所)
  • Servers
    • Nodejs(AutoSave)が動かせているサーバーのurl

例えば、全部ローカルで作業しているなら

Match→http://127.0.0.1/
Save to→/var/www/html/  (webサーバーのroot path 最後の/を忘れずに)
Servers→http://127.0.0.1:9104


これで設定は、完了~


サーバーで autosaveを立ち上げる

$ autosave 
DevTools Autosave 1.0.0 is running on http://127.0.0.1:9104

chromeデベロッパーツールのSourcesで編集して CTRL+S でセーブされ
サーバーへ差分が送信されれ保存されれば成功!

サーバー側のautosaveにエラーが出たらpath等が間違っている
可能性がありますので確かめる
何か受け取っているなら何かしらのメッセージが表示されます


ちなみにchrome系ブラウザで SRWare Ironでも試しました~

古いpc(古いグラフィックボード)でcanvasの表示が化ける


古いPCでchrome(バージョンにもよります)のcanvasの描画が化ける(白い豆腐が書き込まれる)
拡大縮小回転(transform)した描画が白い四角として描画される・・・
(transformで回転0℃の描画が白く描画されてしまっているようでした)

以下のurlをchromeで開いて
chrome://flags/#ignore-gpu-blacklist


ソフトウェア レンダリング リストをオーバーライド を有効にすると
gpu未対応機能は、ソフトウェア的に描画してくれるようです。
chromeのバージョンによっては、項目が存在しない場合もあります・・・


設定変更は、自己責任で~

indexedDB(ストレージ)のデバッグ表示

FireFoxで開発ツールに初期状態だとストレージ系の表示が無かったので、
表示した手順を書いおきます。


F12で開発ツールを表示↓
f:id:akiki0106:20170310113151p:plain

開発ツールタブ右の方赤○の開発オプションボタンを押す
f:id:akiki0106:20170310113156p:plain

標準の開発ツールの項目でストレージにチェックを入れます
f:id:akiki0106:20170310113200p:plain

開発ツールタブにストレージが追加された
f:id:akiki0106:20170310113202p:plain



IndexedDBの使い方は、後日別記事に(いつになるのか)

Ubuntuインストール後の環境設定順(私の・・・)

Ubuntuインストール後の真っ新状態・・・何からどうするか戸惑いますw

何をするか箇条書きしておこうと♪


今のところ以上
(時間を計ってみたUbuntuのアップデートもして35分でemacsが使える状態になりました)