このブログを検索

2016年1月8日金曜日

[Java][Android]GooglePlayからアプリの情報をちょっとだけスクレイピングする

エラー処理も加えず,カプセル化もしていませんが,ただデータ取りたいだけの時などに...
GooglePlayのURLを入力とし,アプリタイトル,カテゴリ名,カテゴリのID,開発者名を取得します. 直接URLを叩くので,アクセス過多に注意が必要です.
利用の際は下記をコピペして,getTitle(url).toString()で良いはずです.

2015年11月15日日曜日

[TensoFlow] チュートリアル

TensorFlowのチュートリアルを実施中です.
今のところこちらにしたがっていればいい感じなのですが,2点補足です.
私の環境では,

python fully_connected_feed.py

実行時に

 File "fully_connected_feed.py", line 23, in <module>
    from tensorflow.g3doc.tutorials.mnist import input_data
ImportError: No module named g3doc.tutorials.mnist

のエラーが発生しました.本件は23行目のimportがうまく行っていない様子なので,
こちらを参考に以下の修正を行うと改善しました.

#from tensorflow.g3doc.tutorials.mnist import input_data
#from tensorflow.g3doc.tutorials.mnist import mnist
import input_data
import mnist

しかし続いて,

TypeError: range() takes at least 2 arguments (1 given)

のエラーが発生しまして,こちらを参考にしたところ,mnist.pyのバージョンの違いによるものだそうで,旧バージョンのmnist.pyと入れ替えることで改善できました.

とりあえずここまででスムーズに行かなかった点でした.

[PC] HP ENVY700-270jpへのVMWare

Googleさんが機械学習ライブラリTensorFlowをオープンソースで公開ということで,一度動かしてみようと思いました.
生粋のWindowsユーザである私はまずUbuntuを導入するところから始めるわけでして,VMWareで仮想化してWindows7上にUbuntu14.04をインストールすることにしました.
VMWareのインストールは容易に済んだのですが,仮想端末を起動すると以下の様なエラーが.



この仮想マシンは,64ビットゲストOS向けに構成されています.ただし,64ビット操作は使用できません.
このホストはIntel VT-xに対応していますが,Intel VT-xは無効になっています.
Intel VT-xがBIOS/ファームウェア設定で無効となっている,またはこの設定を変更してから電源を入れなおしていない場合,Intel VT-xが向こうとなる場合があります.
(1)BIOS/ファームウェア設定でIntel VT-xが有効になっていることを確認し,「信頼される実行」を向こうにしてください.
(2)これらのBIOS/ファームウェア設定のいずれかを変更したら,ホストの電源を入れなおしてください.
(3)VMWarePlayerをインストールしてからホストの電源を入れなおしていない場合はホストの電源を入れなおしてください.
(4)ホストのBIOS/ファームウェアを最新バージョンに更新してください.


調べてみるとこちらのブログにて同じ課題に取り組んでおられたので参考にしました.
本環境はHP ENVY700-270jpなのですが,BIOSは起動画面でEscもしくはF10連打で起動できます.
ヒューレット・パッカードセットアップユーティリティが起動できるので,仮想化設定を有効にします.
するとVMWare上でエラーがでなくなるので無事仮想端末の動作が可能になりました.

TensorFlowに関しては,やってみてまとめる余裕があればまとめます.

2015年4月20日月曜日

[Android][Openshift]AndroidからOpenshiftサーバへのファイル転送

Android側からPOST通信にてOpenshiftサーバへファイルを送る方法です.
サーバ側はOpenshiftでなくてもなんでもいいですが,PHPで受け取ると仮定します.

★サーバ側(test.php)




これ自体はどこかのサイト様を真似させていただきました.
※無断転載等ご指摘頂いた際は削除いたしますのでご連絡ください.

★Android側
まず,どこかからhttpmime-4.2.1.jarをDLしてきます.
※現在最新版の4.4.1では謎のエラーが発生したので4.2.1を推奨します.

DLしたファイルをlib配下に配置するか,ビルドパスを通します.

ファイルを送りたい場所で以下を記述します.




これでOK.Android側からはMultipartEntityを使ってファイルなどをPOSTすることが出来ます.
ファイルを送る場合は,FileBodyを,文字列を送る場合はStringBodyをつかいます.
なお,これらの動作は遅延等を考慮しバックグラウンド動作させるのがベターなようです.
その辺はAsyncTaskでググりましょう.

また,本ソースコード内には適用しておりますが,以下の点でつまずいたので追記します.

★ $_FILES[ 'picture' ][ 'name' ]が文字化けする
送信側で文字コード指定をしているにもかかわらず,ファイル名が???に文字化けしました.
色々なパターンを試したがダメで,結果ファイル名だけ別途POSTすることで回避しました.
StringBodyは文字化けしない様子です.

2015年2月17日火曜日

[Excel][小ネタ]セルの書式が更新されない件

Excelにて書式が更新されない現象があったので備忘録として記載します.

【発生現象】
・Excelの一部のセルが数値なのに文字列扱いになっている.
・そのせいで並べ替えをしても,1,10,2,3,4,5...となって数値順にならない.
・セルの書式→数値に変更するものの,一旦セルをダブルクリックまたはF2キーを押してアクティブにしないと更新がかからない.


【対応方法】
今回は数値データのみ困っていたので以下の方法で強引に対応しました.
特にA2~A100を一気に数値にしたい場合です.
1.B2セルに以下を記述する.A2のところは必要なセル番号を記述する.
   =value(A2)
2.コピーしてB3~B100にペーストする.
3.B2~B100をコピーする.
4.A2~A100のセルの書式を数値に変更する.
4.A2~A100に対して,値のみをペーストする.


ちょっと強引ですが以上です.
セルの書式ではなく,数式が計算出来ない現象もあった気がしますが,対策を忘れてしまったのでまた思い出したら記載します.

2014年8月27日水曜日

[OpenShift][PHP]Red Hat OpenShiftでターミナルログイン

前回の記事でOpenShiftを用いて無料でクラウドPHP環境を楽しもうという紹介をしました。
使っていくにつれて、ターミナル環境を利用したいと思ったがWindows環境では中々躓いたので記録します。

前提:
 クライアント:Windows7 pro
 rhc,gitインストール済み

目標:
 OpenShift上の自分のアプリケーションにコマンドライン接続

結論:
 TeraTermからssh接続し、秘密鍵を指定するだけ。
 (ここに辿り着くまでに色々試した。。。)

やり方詳細:
1.OpenShiftの管理画面から「Want to log in to your application?」のリンクを押下
2.現れたボックスの中身をコピーする「ssh ~~~~~~~~@~~~~~~~~」
3.TeraTermのホストのところに貼り付け(ssh は削除してから)てOK
4.RSA/DSA/ECDSA鍵を使うを選択し、秘密鍵を押下

5.秘密鍵はrhc setup時に生成しているはずだが一般的には
  >C:\Users\UserName\.ssh\id_rsa
  のはずである。またパスフレーズを指定して自分で生成している場合は上図パスフレーズに入力する必要がある。
6.OKを押下するとログイン完了



ここに辿り着くまでに自分でRSA作りなおしたり、コマンドからSSHしたりなんなりで結構迷走しましたが、結論は簡単でした。悲しい。

2014年5月6日火曜日

[OpenShift][PHP]Red Hat OpenShiftで無料クラウドPHP

RedHatの提供するOpenShiftを利用すると,基本無料でPHPクラウドが利用できます.
本日はOpenShiftもGitもよくわからない私がPHPでDBアクセスするまでの道のりを説明します.

1.OpenShiftにSign Up
 >さすがに説明は省略.適当に新規登録してください.

2. コンソール画面(下図)からAdd Application
 >プロジェクトを追加するイメージです.


3.PHP5.4のカートリッジを追加
 >カートリッジを選択後,アプリ用のドメインを決定してCreate Applicationを実行

4.MySQLとPHPMyAdminを追加
 >自分のアプリを選択後,画面下部にMySQLを追加できるリンクがあります.
 >MySQL追加後PHPMyAdminを追加できるリンクがあります.

5.RHC Client Toolをインストール
 >上記リンクを参考にRHC Client Toolをインストールします.
 >まずRubyをインストール(この時Pathを通さないとコマンドプロンプトで動作確認できません)
 >Gitをインストールします.
 >コマンドプロンプトから「gem install rhc」 を実行します.

6.アプリ側に自分の開発用端末を追加
 >コマンドプロンプトから「rhc setup」を実行します.
 >その後ログインすることで勝手に追加されます.
 >20170526追記
 >Enter the server hostname: |openshift.redhat.com| と出力されてしまいログインを問われなくなってしまいました.こちらを参照したところ,これを問われた場合はopenshift.redhat.comと入力すると,ログインを問われますので,ログイン情報を入力するとセットアップが完了します.

7.Gitからプロジェクトをチェックアウト
 >コマンドプロンプトで「git clone "SSH key?"」を実行します.
 >ここで"SSH key?"はコンソールの下図(右の四角)よりコピペします.

8.アップロードはこちらのブログ様を参照
 >チェックアウト先(基本的にはC:\Users\<ユーザ名>\<プロジェクト名>)の下に
  phpフォルダを作成し,phpファイルも作成します.
 >「git add php/<作成ファイル名>.php」を実行します.
 >「git commit -m first」を実行します.
 >「git push」を実行します.

9.動作確認
 >「http://<プロジェクト名>-<ドメイン名>.rhcloud.com/<ファイル名>.php」にアクセスします.
 >無事表示されていれば完了です.
 >MySQLとの連携は通常のDBアクセスと同じです.

以上,備忘録を兼ねてまとめておきます.