pandocでdocxファイルをmdへ変換(Dockerで環境用意)

環境

手順

 PowerShellで以下のコマンドを実行
 ファイル名「SOURCEFILE.docx」「OUTPUTFILE.md」を適宜修正のこと

docker run -it --rm -v "$(pwd):/data" marcelhuberfoo/pandoc-gitit pandoc --extract-media=. -f docx -t markdown_github SOURCEFILE.docx -o OUTPUTFILE.md
  • --extract-media=.
  • docx内の画像を変換して指定フォルダへ出力

参考

「いくつかのプロジェクトはワークスペースディレクトリにすでに存在するためインポートできません」の対策

Eclipseワークスペースにすでに存在するフォルダをプロジェクトとしてインポートする方法。 (プロジェクトがパッケージエクスプローラーで表示されるようにする)

正しい方法

インポート -> 一般 -> ファイル・システムまたはアーカイブからプロジェクトをインポート
-> 「ディレクトリー」ボタンからインポート・ソースにワークスペースフォルダを指定
-> プロジェクト一覧から、指定したワークスペースフォルダ以外を選択
-> 完了

f:id:black-skin:20180104175153p:plain

誤った方法

インポート -> 既存プロジェクトをワークスペース

f:id:black-skin:20180104174213p:plain

firestoreのサンプル「quickstart-js」を試した(がローカルでの動作確認に失敗した)

TL;DR

実行したコマンドだけ抜粋

# サンプルプロジェクトのダウンロード
git clone https://github.com/firebase/quickstart-js
# firestore チュートリアルのディレクトリへ移動
cd ./quickstart-js/firestore

# Dockerコンテナ起動
docker run --rm -it  -p 5000:5000 -v "$(pwd):/srv" devillex/docker-firebase /bin/bash

# (以下、コンテナ内での操作)
cd /srv
firebase login --no-localhost
firebase use --add
# すべてのファイルをデプロイ
firebase deploy
#(クラウド上にホスティングされたページにアクセス)

概要

firebase環境構築済みのDockerイメージをお借りして、quickstart-jsのfirestoreサンプルを試してみた。

github.com

(ただし、2017年12月時点でFirestoreはまだβ版。でも、内部構造はGoogleのDatastoreとほぼ同じみたいなので私的に期待大)

qiita.com

クラウドへデプロイしてホスティングされたアプリの動作確認はできたが、ローカルのDockerコンテナで実行したアプリの動作確認には失敗した。 そこまでの手順のメモ。(自分用の備忘なのでDocker自体の使い方とかも記述した)

環境とか

  • Windows 10 Pro
  • Docker for Windows Community Edition Version 17.09.1-ce-win42 (14687)
  • Dockerイメージ
    • devillex/docker-firebase:latest (2017/12/20頃)
  • quickstart-js のコミットハッシュ値
    • 149898be49e398b3cbd472e89baec5498d8353d0

詳細な内容とか

使い方は↓のreadme.mdに概ね準拠。ただし、クラウドへデプロイする部分は本記事で追記した内容。

github.com

Firebase クラウドコンソールでプロジェクト作成

Firebaseクラウドコンソール:https://console.firebase.google.com/?hl=ja

  • Firebaseプロジェクトを作成
  • Firebase クラウドコンソールで匿名認証を有効にする
    • Authentication > SIGN-IN METHOD > Anonymous > Enable > SAVE
  • Firebase クラウドコンソールでFirestoreを有効にする
    • Database > TRY FIRESTORE BETA > ENABLE

Dockerコンテナ起動

 2つポートを割り当ててDockerコンテナを起動する。

  • ポート5000:アプリ表示用
  • ポート9005:login時、クラウドコンソールの認証画面からlocalhostへのリダイレクト先
docker run --rm -it  -p 9005:9005 -p 5000:5000 -v "$(pwd):/srv" devillex/docker-firebase /bin/bash

firebaseのクラウドコンソールへログイン

(以降の操作はコンテナ内で行うこと)

cd /srv
firebase login
  • ブラウザでshellに表示されたアドレスへアクセスし、ログインするアカウントを選択
  • 成功すると、以下の画像のような画面へリダイレクトする

f:id:black-skin:20180103183248p:plain

firebase login --no-localhost

firestore機能のみ部分デプロイ

firebase deploy --only firestore

ローカルで実行(失敗する)

firebase serve
# http://localhost:5000 へアクセス
  • こうなる

f:id:black-skin:20180103185039p:plain

クラウドへデプロイ

(firebase serveをCtrl+Cで中断した後)

firebase deploy

f:id:black-skin:20180103184327p:plain

  • 成功すると以下のような画面になる
    • 「Add Mock なんとか」ボタンを押したかも

f:id:black-skin:20180103184017p:plain

その他

firebaseコマンドリファレンス https://firebase.google.com/docs/cli/?hl=ja#deployment

Docker for Windowsでカレントディレクトリをボリュームにマウントする

概要

  • Docker for Windowsではpwd(または Get-Locationコマンドレット)で取得したWindows表記の絶対パスLinux表記に読み替えられるので、pwdディレクトリ指定可能
  • ただし、ホスト側ドライブのマウント許可が必要

手順

ホスト側ドライブのマウント許可

タスクトレイのDocker for Windwosアイコン - settings - Shared Drives - マウントしたいドライブにチェックを入れてApply

参考 qiita.com

ドライブの共有が有効になっているか確認

docker run --rm -v c:/Users:/data alpine ls /data

#出力例
Administrator
All Users
...

カレントディレクトリをマウントしてイメージを実行

docker run --rm -v "$(pwd):/data" alpine ls /data
# または docker run --rm -v "$(Get-Location):/data" alpine ls /data

#カレントディレクトリのファイル等一覧が表示される…はず

Windows10とUbuntu16のデュアルブート環境構築 GPUあり、UEFIモード

はじめに

 Windows10とUbuntuデュアルブート環境を構築しようとしても、以下が問題になってうまくいかないことがある。

これらを回避しつつインストールする方法の説明

目標

  • Windows10・Ubuntu16 のデュアルブート環境
    • Windows10がインストールされたPCにUbuntu16をインストールする。本稿の手順ではUbuntu14はインストールできず。
  • grubUEFIブート
  • WindowsUbuntuともにオンボードGPUともにディスプレイ出力可能
    • 本環境ではマザーボード2ポート・GPU3ポートの最大5ディスプレイ表示可能のはず

筆者の環境

実際の手順

  1. Windowsでの作業
    1. インストールメディアの用意
    2. 空き領域の作成
    3. 高速スタートアップの無効化
    4. シャットダウン
  2. Ubuntuのインストール作業

    1. GPUを取り外す
      • 取り外さないと、Ubuntu16が起動せず画面が真っ暗になる。
    2. インストールメディアの起動・Ubuntuインストール
      • この時点ではブートローダgrub)の起動画面にWindowsが表示されない
      • Ubuntu14はこの時点で起動しなかった。
  3. Ubuntuインストール後の作業

    1. Ubuntuを起動
    2. grubからWindows10を起動できるようにする
      • UEFIWindowsを認識できるかの確認  terminalで以下のコマンドを実行
os-prober

(筆者の環境ではこの時点でWindows Boot Managerを発見できたので次へ。発見できなかったときは↓を参考にして対応)

sharply.hatenablog.com

    - grubのエントリを追加する

 terminalで以下のコマンドを実行

grub-mkconfig -o /boot/grub/grub.cfg
    - Ubuntuを再起動。grubにWindowsが表示されることを確認する。
1. UbuntuでGPUを利用できるようにする
    1. __NVIDIAのドライバをインストール__

 terminalで以下のコマンドを実行

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-367

参考 askubuntu.com

    1. シャットダウン
    1. GPUを取り付け
    1. BIOSでiGPU Multi-Monitor をEnableに設定

チップセットがH270の場合…  Advanced → System Agent(SA) Configuration → Graphics Configuration → iGPU Multi-Monitor をEnabledに設定

    1. __GPUを認識しているか確認__

 terminalで以下のコマンドを実行

nvidia-smi

 取り付けたGPUを認識しているはず。

    1. マルチディスプレイの設定

参考:

Cloud9のNode.js環境でkeras-jsのデモをビルドする

※Node.jsの基礎知識があれば特別な操作は必要ないです。
 Nodeは初心者でビルドの仕方がわからなかったので、備忘として残します。

概要

keras-jsはブラウザ上でkerasモデル(ニューラルネットモデル)を実行できるライブラリ、GPUも利用できる。 GitHub - transcranial/keras-js: Run Keras models in the browser, with GPU support

keras-jsの公式デモはNode環境でビルドする必要があるが、自前PCにNodeをインストールするのがめんどくさい。 でもCloud9のNode環境なら自前PCの環境を汚すことがないし、IDEも使いやすい。

手順

1. Cloud9でワークスペースを作成

2.クラウドIDEでデモをビルド

IDEの下の方にある「bash」ビューで以下のコマンドを実行する

  • package.jsonで定義されたパッケージのインストー
npm install
  • demosフォルダ内のソースコードをビルド
    • package.jsonの"scripts"にdemoのビルド用コマンドが記述されている。これを実行するのが↓のコマンド。
    • ビルドにはwebpackを利用している。demos/webpack.config.jsの情報を参照してビルドし、demos/dist/bundle.jsに結果を出力する。
    • ビルドに14秒ほどかかる
npm run demos:build

3.demoをビルドできたか確認

  • IDEの左のほうにあるワークスペースビューからindex.htmlを右クリック→Runを選択
  • Apache httpdが起動した旨が、IDEの下のほうのビューに表示される。指示に従って「https://(ワークスペース名)-(Cloud9アカウント名).c9users.io/index.html」へアクセス
  • 公式のデモページ「https://transcranial.github.io/keras-js/」と同じ内容なら成功
    • ビルドに失敗していると、index.htmlにアクセスできても各種kerasデモサンプルが動作しない。

蛇足

demoをビルドする際に、developモードかproductionモードを指定できる。 それぞれのモードでkerasモデルの参照先が異なる。 webpackを引数なしで実行するとdevelopモードでビルドしてしまい、kerasモデルがリンク先に存在せずdemoが動作しない。 productionモードでビルドすると、↓のリポジトリからモデルを読み込むので正常に動作する。
GitHub - transcranial/keras-js-demos-data: Keras.js demos data

SuperDevModeでデバッグしているがページ右下にリロードボタンが表示されないとき

  1. http://localhost:9876/ にアクセス
  2. ページの内容に従い、「Dev Mode On」のブックマークレットをブックマークバーに登録
  3. 該当ページで「Dev Mode On」を実行
    • (「Can't find any GWT Modules on this page.」と表示される)
  4. ページ再読み込み
    • これをしなかったためにうまくいっていないと勘違いした。

参考:http://stackoverflow.com/questions/24235669/gwt-superdev-cant-find-gwt-modules