ワンクリックで、共有フォルダからファイルをスマホにダウンロードできたら便利かと思い、アプリを試しにつくってみた。他のOSなら、バッチファイルやシェルでファイル操作が簡単にできるが、Androidはアプリ(java)を使うことになるようです。
AndroidManifest.xmlに
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ADD_SYSTEM_SERVICE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
build.gradleに
compile files('libs/jcifs-1.3.19.jar')
を追加
activity_main.xmlの使い方がまだよくわかっておらず手間取った
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
など、レイアウトの設定を適宜行う
Logは、Android Studioを使った場合 logcatというタブで表示できるようである。
Bugfixでは、ログにだいぶ助けられた。
「名もないSEの備忘録」サイトのソースを参考に、共有からローカルにファイルを移動する機能をつくってみました。最近のAndroidのバージョンだと非同期に書き換えるとうまくいくようでした。
MainActivity.java
activity_main.xml
AccessTask.java
2018年12月16日日曜日
2018年10月28日日曜日
DVDの作成
以前は、ビデオカメラで撮影した動画でDVDを作成することは、それほど難しいことではなかったのだけれど、最近は、なかなかうまくいかない。ビデオカメラに標準でついているソフトがOSのアップデート?のせいかうまく動かなかったりするのかもしれない。あるいは、デバイスソフトの不具合かもしれないし、対応するソフトのバグか、よくわからない。
とりあえず、ffmpegで、mtsをmpeg2に変換して、WinX DVD authorというフリーソフトでVOBファイルを作成し、それから同じソフトでDVDに焼き付けている。
ffmpegでの変換コマンドは
D:\VIDEO\ffmpeg -i D:\VIDEO\MTSTOMPG\00261.mts -vcodec copy -acodec copy -ss 00:00:07 -to 00:06:10 D:\VIDEO\MTSTOMPG\tmp.mts
D:\VIDEO\ffmpeg -y -i D:\VIDEO\MTSTOMPG\tmp.mts -b 8000k -f dvd D:\VIDEO\MTSTOMPG\Kaikai.mpg
というような感じでやっている。試してはいないが、時間指定の切り出しと変換を分けているが、一緒に一行にすることもできるかもしれない。-b 8000Kというのがキモのようだ。これがないと、画質が劣化して見づらい。ディフォルトではかなり、画質が悪くなってしまう。DVDには、ビットレートの上限があると思うので、8000Kぐらいに抑えるのが無難と思われる。
とりあえず、ffmpegで、mtsをmpeg2に変換して、WinX DVD authorというフリーソフトでVOBファイルを作成し、それから同じソフトでDVDに焼き付けている。
ffmpegでの変換コマンドは
D:\VIDEO\ffmpeg -i D:\VIDEO\MTSTOMPG\00261.mts -vcodec copy -acodec copy -ss 00:00:07 -to 00:06:10 D:\VIDEO\MTSTOMPG\tmp.mts
D:\VIDEO\ffmpeg -y -i D:\VIDEO\MTSTOMPG\tmp.mts -b 8000k -f dvd D:\VIDEO\MTSTOMPG\Kaikai.mpg
というような感じでやっている。試してはいないが、時間指定の切り出しと変換を分けているが、一緒に一行にすることもできるかもしれない。-b 8000Kというのがキモのようだ。これがないと、画質が劣化して見づらい。ディフォルトではかなり、画質が悪くなってしまう。DVDには、ビットレートの上限があると思うので、8000Kぐらいに抑えるのが無難と思われる。
2018年10月8日月曜日
Cloud9でDjango
DjangoもC9で動かしてみた。以下のサイトが参考なりました。
https://qiita.com/rmiyamoto/items/4143c6081fb664208e06
クラウドは、環境を手軽に試すことができるのが便利だと思う。
あとはコーディングにのみ、集中すればいいわけなので。
https://qiita.com/rmiyamoto/items/4143c6081fb664208e06
クラウドは、環境を手軽に試すことができるのが便利だと思う。
あとはコーディングにのみ、集中すればいいわけなので。
play scalaをvagrantで動かしてみる(覚書 2018.10現在)
久々にplayを動かしてみると、だいぶ環境が変わっていてとまどった。古いネットの情報では、うまく動かせないようだ。覚書として、手順をまとめてみた。
1 Ubuntuをvagrantで利用してみる
vagrant init bento/ubuntu-18.04
2 Vagrantfileでいくつか編集
①まず、ポート番号9000が使えるように以下の行を追加
config.vm.network :forwarded_port, host: 9000, guest: 9000
②メモリを標準の2倍にしてみた。
config.vm.provider "virtualbox" do |vb|
vb.memory = "2048"
end
③ipアドレスを指定してHostOnlyモードを有効にした。
config.vm.network "private_network", ip: "192.168.33.10"
もし、テスト環境でなく、ネットワーク上の他のPCからアクセスするような
本番環境なら ブリッジモードの必要があり たぶん
config.vm.network "public_network"
とするのかもしれない。
3 仮想OSを立ち上げる
vagrant up
4 sshでアクセスする
vagrant ssh
5 ここから先は以下のリンクがとても参考になりました。sbtのインストールは難しかったのですが、このサイトのおかげで解決しました。
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt update
$ sudo apt install oracle-java8-installer
$ sudo apt install oracle-java8-set-default
$ echo "export PATH=/usr/local/anaconda2/bin:$PATH" >> /etc/bash.bashrc
$ echo "export JAVA_HOME=/usr/lib/jvm/java-8-oracle/" >> /etc/bash.bashrc
$ echo "export PATH=$PATH:$JAVA_HOME/bin" >> /etc/bash.bashrc
$ sudo apt-get remove scala-library scala
$ sudo wget www.scala-lang.org/files/archive/scala-2.11.8.deb
$ sudo dpkg -i scala-2.11.8.deb
$ echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823
$ sudo apt-get update
$ sudo apt-get install sbt
6 適当なディレクトリを作りその中でsbt newを行う。sbt new playframework/play-scala-seed.g8
7 ここで、作成されたディレクトリ(上記6で名前を指定できる)に入る(←ここがうっかり逃しやすい!!)
そして、sbtを実行し、runを実行
しかし、このままでは、外からアクセスできません。
を参考にして
8 ここで、フィルターの設定を変える必要がある。
# conf/application.conf
play.filters.hosts {
allowed = ["."]
}
とすればOkである。セキュリティの制限に応じて、この設定は変える必要あると思いますが。
※ネット上のあちこちの情報をかき集めることで なんとか、新しい環境でPlay scalaを動かすことができた。書籍にも、サイトにも、これらのことをまとめてあるところは、まだ少ない?ように思う。
2018年9月30日日曜日
playをscalaで動かしてみる
久しぶりに、playを動かしてみた。以前はactivatorで、動かしていたが、今はダウンロードできないようだ。いろいろ調べてみると、sbtで動かすようになっている。
以下のリンクを参考にしながら、やってみたら、なんとかコンパイルできた。
https://www.supinf.co.jp/tech/2015/06/29/get-started-play2-without-activator/
Webアプリの作成環境は、変化が激しいので、ついていくのが大変なようだ。
Webのフレームワークは、他にもSpringやら、Djangoやら、Railsやら、どれを選ぶか迷いそうだ。
以下のリンクを参考にしながら、やってみたら、なんとかコンパイルできた。
https://www.supinf.co.jp/tech/2015/06/29/get-started-play2-without-activator/
Webアプリの作成環境は、変化が激しいので、ついていくのが大変なようだ。
Webのフレームワークは、他にもSpringやら、Djangoやら、Railsやら、どれを選ぶか迷いそうだ。
2018年8月10日金曜日
2018年7月14日土曜日
Android Studioを使ってみた
以前に比べ、Androidアプリの開発もだいぶやりやすくなっている。Android StudioというIDEが使いやすい。SDKのバージョンに配慮が必要なようだが、けっこう簡単にスマホにインストールできるようだ。
英文、和訳、英語音声を同時に表示、再生していくアプリを作ってみた。
MainActivity.java
activity_main.xml
2018年6月22日金曜日
rsyncでバックアップ
以前は、WindowsのBunbackupを使いバックアップしていたが、端末PCを専有してしまうので、Linuxサーバー間で、rsyncを使ってみた。
rsyncはsshの公開鍵設定すれば、パスワードいらずで、cronでうまく動作させられる。
たとえば
rsync -avzP /home/user/data user@バックアップ先Ipアドレス:/home/user
のようにすれば、いいようだ。-Pオプションは圧縮通信
上記コマンドをスクリプトとしておき、cronで定時で起動することを検討している。
rsyncはsshの公開鍵設定すれば、パスワードいらずで、cronでうまく動作させられる。
たとえば
rsync -avzP /home/user/data user@バックアップ先Ipアドレス:/home/user
のようにすれば、いいようだ。-Pオプションは圧縮通信
上記コマンドをスクリプトとしておき、cronで定時で起動することを検討している。
2018年6月9日土曜日
cron.hourlyについて
Linuxでタイマーでよく使われるコマンドcronについて
https://www.express.nec.co.jp/linux/distributions/knowledge/system/crond.html
/etc/crontab 毎時、毎日、毎月、毎週の自動タスクのメイン設定ファイル
毎時実行される自動タスクであれば
/etc/cron.hourly 中に置いた実行ファイルがすべて、実行されます。
https://www.express.nec.co.jp/linux/distributions/knowledge/system/crond.html
/etc/crontab 毎時、毎日、毎月、毎週の自動タスクのメイン設定ファイル
毎時実行される自動タスクであれば
/etc/cron.hourly 中に置いた実行ファイルがすべて、実行されます。
2018年5月8日火曜日
詳解ディープラーニング
Tensorflow・Kerasによる時系列データ処理について詳しい本ということで、興味を持ったので、読んでみた。
偏微分、全微分など基本的な数学の説明が初めのほうに出ている。関連した内容をネットでわかりやすい説明はないか、チェックしながら、読み進めていくといいようだ。
後半のLSTMのあたりから難しくなってくる。P234の(5.41)式の変形がいまいちわからない。
f(t)が忘却ゲートの値とし、ef(t):=∂E/∂f(t) (5.39)
=∂E/∂c(t)⦿∂c(t)/∂f(t) (5.40)
=ec(t)⦿c(t-1) (5.41)
c(t)=i(t)⦿a(t)+f(t)⦿c(t-1) (5.42)
注:⦿は要素積を表す
(5.42)のc(t)をf(t)で微分すれば、確かにc(t-1)になるのだけど、、、
そういう理解でいいのだろうか?
2018年5月6日日曜日
Rails5をWindowsに入れてみた
Railsは、サーバー構築が難しいといわれてます。とくにWindowsは、いまだに、いろいろひっかかるところがあるようです。
https://qiita.com/seizot/items/10c21c329c0006c2c792
を参考にインストールしてみる。上記サイトでは、RubyとDevkitを別々にインストールするように説明していますが、最新のページでは、両方まとめてダウンロードできるようです。
https://rubyinstaller.org/downloads/からRuby+Devkit 2.4.4-1 (x64) をダウンロードして、インストールしてみました。最新版のRuby+Devkit 2.5.1-1 (x64) は、Rubyのバージョンの不一致のためか、うまくサーバが起動しませんでした。
bundlerとrailsをインストールします。
gem install bundler
(プロキシ経由ならgem install bundler -p http://<Proxyのアドレス>:ポート番号)
gem install rails
(プロキシ経由ならgem install rails -p http://<Proxyのアドレス>:ポート番号)
https://nodejs.org/en/download/でNode.jsをダウンロードしインストール
rails new sampleでsampleサイトを作成
cd sample
rails s
これで、初期画面がたちあがる
と思ったが、pgの設定がされていないというエラーが表示される。
どうやら、新しいバージョンはsqlite3でなく、postgresqlのようだ。
(herokuがpostgresqlなので、そのほうがなにかとありがたいが)
いったん、
Ctrl+Cで停止する。
そこで GEMFILEを
#gem 'sqlite3'
gem 'pg'
と書き換えて
bundle install
再度、rails sでうまくいった。
https://qiita.com/seizot/items/10c21c329c0006c2c792
を参考にインストールしてみる。上記サイトでは、RubyとDevkitを別々にインストールするように説明していますが、最新のページでは、両方まとめてダウンロードできるようです。
https://rubyinstaller.org/downloads/からRuby+Devkit 2.4.4-1 (x64) をダウンロードして、インストールしてみました。最新版のRuby+Devkit 2.5.1-1 (x64) は、Rubyのバージョンの不一致のためか、うまくサーバが起動しませんでした。
bundlerとrailsをインストールします。
gem install bundler
(プロキシ経由ならgem install bundler -p http://<Proxyのアドレス>:ポート番号)
gem install rails
(プロキシ経由ならgem install rails -p http://<Proxyのアドレス>:ポート番号)
https://nodejs.org/en/download/でNode.jsをダウンロードしインストール
rails new sampleでsampleサイトを作成
cd sample
rails s
これで、初期画面がたちあがる
と思ったが、pgの設定がされていないというエラーが表示される。
どうやら、新しいバージョンはsqlite3でなく、postgresqlのようだ。
(herokuがpostgresqlなので、そのほうがなにかとありがたいが)
いったん、
Ctrl+Cで停止する。
そこで GEMFILEを
#gem 'sqlite3'
gem 'pg'
と書き換えて
bundle install
再度、rails sでうまくいった。
2018年5月3日木曜日
イグニッションコイル交換DIY
スイフト10万kmを超え、故障が目立ってきた。昨年は、下回り(ハブベアリング)やエアコンの修理にだいぶお金がかかった。
それに加えて、昨年秋、加速時、カクカクするようになり、アマゾンから格安イグニッションコイルを購入し、修理店で交換してもらう。しかし、半年もしないうちに、また故障する。安物買いの銭失いというパターン。たまたま、前回の交換時、まだ使えそうだと言われた部品をディーラーにもっていって、交換して直った。と思ったが、やはり調子が悪い。
ネットで調べてみると、DIYでも交換できそうだったので、ナットを回すための工具セット(ラチェット)を購入し、自分でやってみた。また、不良部品は抵抗値を比較するといいことが、ネット情報でわかる。実際、故障したコイルは抵抗値が新品より少し大きい値になっていた。今回は、少し高めの部品にしてみた。今のところ、調子はいいようだ。
それに加えて、昨年秋、加速時、カクカクするようになり、アマゾンから格安イグニッションコイルを購入し、修理店で交換してもらう。しかし、半年もしないうちに、また故障する。安物買いの銭失いというパターン。たまたま、前回の交換時、まだ使えそうだと言われた部品をディーラーにもっていって、交換して直った。と思ったが、やはり調子が悪い。
ネットで調べてみると、DIYでも交換できそうだったので、ナットを回すための工具セット(ラチェット)を購入し、自分でやってみた。また、不良部品は抵抗値を比較するといいことが、ネット情報でわかる。実際、故障したコイルは抵抗値が新品より少し大きい値になっていた。今回は、少し高めの部品にしてみた。今のところ、調子はいいようだ。
2018年4月30日月曜日
GPUの使い方?
deep-LearningでGPUを使えないか試してみたが、いまいちよくわからない。
win10で試す
NVIDIAドライバをインストール
CUDA Toolkit 9.0をインストール(9.1ではうまくいかない)
cuDNN v7.0.5 for CUDA 9.0をインストール(CUDAのバージョンに合わせる必要あり)
Visual Studio 2015 の Visual C++ 再頒布可能パッケージをインストール
Anacondaをインストール
と、ここまではとくに問題ないが、このあとの 「tensorflow-gpuをインストール」がうまくいかない。
conda update -n base conda
conda config --set safety_checks disabled のあと
conda create -n 任意の名前 python=3.5 (3.6だとうまくいかない)
activate 名前
conda install -n 名前 tensorflow-gpu
としてみた
でも、あまり速くなってない。ボードが古いためだった。
CUDA をサポートし、Compute Capability(CC) という数値が3以上必要らしい。
とくに、tensorflowはCCが少ないと認識しないことがわかる。
補足>
conda info -eで 情報確認できます。
conda remove -n 名前 --all で削除できます。
そして==>後日、注文していた新しいGPU(GTX780)が届く。これはCC値に問題はない。
しかし、GPUが動作しない。どうやら、PCIexpress用の補助電源がないとだめならしい。
これまで使ってきた500W電源では、コネクタもなく、容量的にもきついので、新たに600Wの電源(KRPW-N600W)を購入。こちらの電源にはちゃんと補助電源用のコネクタがついていた。
そして==>5/5 anacondaでPython3.6でpip install tensorflow-gpuで動かすがうまくいかない。Python3.5でやってみたら、問題なく動作する。計算スピードもかなり速くなっていた。
win10で試す
NVIDIAドライバをインストール
CUDA Toolkit 9.0をインストール(9.1ではうまくいかない)
cuDNN v7.0.5 for CUDA 9.0をインストール(CUDAのバージョンに合わせる必要あり)
Visual Studio 2015 の Visual C++ 再頒布可能パッケージをインストール
Anacondaをインストール
と、ここまではとくに問題ないが、このあとの 「tensorflow-gpuをインストール」がうまくいかない。
conda update -n base conda
conda config --set safety_checks disabled のあと
conda create -n 任意の名前 python=3.5 (3.6だとうまくいかない)
activate 名前
conda install -n 名前 tensorflow-gpu
としてみた
でも、あまり速くなってない。ボードが古いためだった。
CUDA をサポートし、Compute Capability(CC) という数値が3以上必要らしい。
とくに、tensorflowはCCが少ないと認識しないことがわかる。
補足>
conda info -eで 情報確認できます。
conda remove -n 名前 --all で削除できます。
そして==>後日、注文していた新しいGPU(GTX780)が届く。これはCC値に問題はない。
しかし、GPUが動作しない。どうやら、PCIexpress用の補助電源がないとだめならしい。
これまで使ってきた500W電源では、コネクタもなく、容量的にもきついので、新たに600Wの電源(KRPW-N600W)を購入。こちらの電源にはちゃんと補助電源用のコネクタがついていた。
そして==>5/5 anacondaでPython3.6でpip install tensorflow-gpuで動かすがうまくいかない。Python3.5でやってみたら、問題なく動作する。計算スピードもかなり速くなっていた。
ラベル:
DeepLearning,
python
2018年4月8日日曜日
算数&ラズパイから始めるディープラーニング
ディープラーニングの本を読んで見る。「算数&ラズパイから始めるディープラーニング」という本がわかりやすい。本に沿って、操作していけばほとんど、ひっかかるところはなく、進められる。
若干、注意、補足が必要なところとして
1 P33 ChainerRLのインストールがうまくいかない。
ネットで検索すると sudo apt-get install python2.7-dev が必要なよう。
バージョンの2.7は、環境に合わせる必要がある。
2 P113のtest.txtの意味は
000
010
100
111
となっていますが、1列目AND2列目の結果が3列目を表すようです。
3 P134 リスト1の
sudo pip install scikit-imageで
エラーが発生した。試しに
sudo pip install "tornado<2"
としてから、再度試したらうまくいった。
若干、注意、補足が必要なところとして
1 P33 ChainerRLのインストールがうまくいかない。
ネットで検索すると sudo apt-get install python2.7-dev が必要なよう。
バージョンの2.7は、環境に合わせる必要がある。
2 P113のtest.txtの意味は
000
010
100
111
となっていますが、1列目AND2列目の結果が3列目を表すようです。
3 P134 リスト1の
sudo pip install scikit-imageで
エラーが発生した。試しに
sudo pip install "tornado<2"
としてから、再度試したらうまくいった。
ラベル:
DeepLearning,
python
2018年2月23日金曜日
railsについて
https://railstutorial.jp/chapters/basic_login?version=5.1#cha-8_footnote-8
上記リンクで、Railsを勉強してみる。とても丁寧で細かいところまで
説明してくれているので、わかりやすい。
ただ、Rails5.1だと、8章で途中、動かないところがあった。
Jqueryがなくなっていたためのようで、GEMFILEに追加してbundle installでOkだった。
2018年2月7日水曜日
久しぶりにCloud9とHerokuをGitHub経由で使ってみる
Railsなど構築が大変なので、とりあえずcloud9を使って、Herokuにアップしてみる。
https://qiita.com/HideakiSaito/items/5be1a45870a4c3d1a3c7
上記のリンクを参考にさせて頂く
ただ、若干手直しも必要だった。Postgresqlにすると、You should use PG::Connection, PG::Result, and PG::Error なるエラーが表示される。
解決方法は
https://bokunonikki.net/post/rails_pg/
を参考にさせていただく。
Railsの入門としては
https://openbook4.me/projects/92
が、初心者向けにわかりやすいようです。
https://qiita.com/HideakiSaito/items/5be1a45870a4c3d1a3c7
上記のリンクを参考にさせて頂く
ただ、若干手直しも必要だった。Postgresqlにすると、You should use PG::Connection, PG::Result, and PG::Error なるエラーが表示される。
解決方法は
https://bokunonikki.net/post/rails_pg/
を参考にさせていただく。
Railsの入門としては
https://openbook4.me/projects/92
が、初心者向けにわかりやすいようです。
登録:
投稿 (Atom)