このブログを検索

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アクセスと同じです.

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

2014年4月14日月曜日

[英語][学習]3月のTOEIC結果【690点現在の英語の見え方】

前々回の最後にて1月ごろに受験し,750を目指すとのことでした.
結論から言えば全て嘘になりました.

受験:3月(1月はグータラしていたから)
結果:690点(あんまり勉強していなかったから)

前回からの学習内容
・主にrarejobによる日々の英会話
 >特にDaily News Article教材を利用
 >TOEICマテリアルも実践してみたがあまり合わなかった
・英語論文に目を通す
 >基本AbstractとConclusionだけ

言い訳
・受験日が東京に引っ越す前日だった
・開始直前まで寝ているくらい眠かった
・前回受験以降は英会話をメインにしていた

正直な感想としては,受験直後には前より下がったんじゃないかと思っていた.もしかしたら今回は簡単なテストだったのかもしれない?
しかし結果としては伸びてきているので,rarejobの効果がないわけではないらしい.ただし,前々回の記事で述べているように,前提となる知識はある程度必要だと思う.(文法とか文法とか)あとは慣れ?

一般的にTOEICのBランクと呼ばれる730点まであと一息といったところです.
せっかくなので,今の英語に対する僕の気持ち?というか英語の見え方を少々述べます.


【690点現在の英語の見え方】
・難しい単語が少なければゆっくり英語記事が読める.
・けど,なんか意味がぼんやりしてる.
・よーく理解しようと読んだら大体わかる.
・リスニングはよく聞くフレーズとかはすっと理解できる.
・難しい単語とかが混ざるとおいていかれる.
・スピーキングはたどたどしい.
・自己紹介はもう慣れた.
・自分の意見が難しいものでなければつっかえながら言える.
・思っていたより690点は読み書き話しができない.


ちなみに
【305点だったころの英語の見え方】
・なんかよくわかんないけどこんな感じでしょって読めてる気になってる.
・文法なんて大体わかってるよって思ってる.
・リスニングで5W1Hにだけ耳を傾けている.
・5単語以上の文を聞き取れない.
・自己紹介すらままならない.
・Could you?やI'd like toの文すら使えない.
・だいたいジェスチャーで何とかなる.


800点越えたらまた視界が変わってくるのでしょうか.
今後もrarejobを継続することを第一目標にして,細々と英語学習,,というより英語に触れる時間を増やしていきたいと思います.
次回の目標はとりあえず750.いや800.受験は冬頃予定.その次900点を目標に!!英語力伸ばしたいです.

非常にどうでもいいですが,本ブログ英語学習に関するPVが一番低いです.

2014年1月31日金曜日

[Java][Android][Weka]始まりはVerifyErrorから

【現象】
 Androidアプリ実行中にVerifyErrorが発生して思った動作をしない.

【環境】
 Android 2.2~向け
 eclipse (AndroidSDK)利用

【背景】
 1.Androidアプリにおいて,weka.jarをライブラリとして利用するアプリを開発中.
 2.実行してみるとFilteredClassifierのインスタンス生成部でVerifyError.
 3.エラーをよく見てみると,BeansInfo.javaが見つからないらしい.
 4.検索したところ,AndroidSDKにはJavaやJavaxの一部のクラスが含まれていないらしい.特にbeans.jarが含まれていないことが原因と思われる.

【解決へ】
 1.こちらやこちらなどを参照したところ,beans.jarを含めてrepackageすればいい的な雰囲気.
 2.ただしbeans.jarはもう公式には公開されてないらしい...こちらより.
 3.apache harmonyから適当にDLすればなんとかなるかも?こちら.
 4.単純にDownloadsからapache harmonyをダウンロードしようとしても,もう公開されておらず,Archivesへ...こちら.
 5.よくわからないながら,M12→apache-harmony-5.0-hdk-r885602-windows-x86-32-snapshot.zipをダウンロードし解凍.jdk->jre->lib->beans.jarをゲット.
  6.単純にlibsに突っ込んでビルドするも失敗.
 7.先ほどのサイトの手順でやるもなぜか失敗...そもそもantって何っていう状態から開始したので,コマンドラインからのJavaビルドツールantと,ADKをコマンドラインから利用できるようにインストール.
 8.こちらのサイトの手順を試してみる.
  ※ただし以下コードのみ修正する.
 9.これでやっとビルド完了...

【感想】
 まとめてみるとこんなものですが,ここにたどり着くまでに3日かかる...
 AndroidSDKを単純なJavaとしてライブラリを利用する際は注意が必要ということが分かりました.
 なお,別でgoogle-play-services_libも読み込んで使っていましたが,これも間でエラーになったりといろいろありました.結局はgoogle-play-servicesのプロジェクトから.jarファイルをとってきてlibsに突っ込んだところエラーは消えました.(動作未確認)

2013年10月28日月曜日

[英語][学習][TOEIC][rarejob]英語勉強の成果に関して

以前英語に関する投稿を行いましたがその進捗に関して報告したいと思います.
(前回の記事あまりPV無いですけど私のひとりごととして書きます.)

【前提】
TOEIC元スコア : 310点 (丁度1年前:2012年10月)
理系大学卒 企業経験後 理系大学院

それまでの学習履歴
 中学英語 : できてたつもり(当時実力テスト70点前後)
 高校英語 : 皆無(落第点寸前)
   →ここでTOEIC295
 大学英語 : 皆無(マジで0)
   →就職後即のTOEICで305
 会社英語 : スピードラーニングを始める(1年ほど聞き流す)
   →いざスピードラーニングと550点目標にした結果TOEIC310

【今回】
TOEICスコア : 620点 達成(ダブルスコア\(^o^)/)
 2013年9月受験
 そんなにすごいことではない
 けど英語落第点寸前理系にしてはすごい嬉しい.

今回の主な勉強内容
 2013年4月~
  英語リーディング教本:薬袋 善郎先生
  日本人の英語:マーク・ピーターセン先生
  リピたん(P-study-System for Android):単語アプリ
   詳細は前回記事参照
   元は急がばまわれ式の英語勉強法を参考にさせていただいております.
 2013年9月~
  TOEIC公式問題集Vol2~5
 2013年9月末
  TOEIC受験

【感想と手応え】
いろいろな方々のブログで英語学習法は紹介されておりますので,あくまで1参考程度になればと思い個人的な感想を記載してみます.

1.前提知識が無い奴が何やっても無駄       
 言いすぎかもしれませんがあえて言い過ぎます.
 中学英語なら・・・と思ってたけど(私の場合)中学英語すらダメでした.
 意外と出来ると思っててもできない人は多いと思います.
 私は関係代名詞も含め中学文法は大丈夫と思っていましたが甘々でした.
 なのでスピードラーニングしかり単語帳しかり英作文しかり続きませんでした.
 このことから英語学習をする上で重要なのは
   自分の能力値をカナリ低く見積もること
   カナリ低いところからスタートすること
 が重要であると感じました.
 この意識によって何が変わるかというと
   気持ち面で継続が容易になる
    ・簡単だから理解しやすい
    ・わかるから楽しい
    ・楽しいから続けられる 
    ・楽しいから好きになる
 実はこれ,学習活動における最重要事項です.
 学習のコツは効率的な学習方法ではなく学習を楽しめること,
 即ちモチベーションが最重要課題なのです.(個人の意見です)
 なので,はじめは小さい自分でいいので,小さめの階段を少しづつ登りましょう.
 継続は力なり.間違いないです.なので継続するために工夫しましょう.

2.文法マスター最強説                
 こちらに関しては個人によってかなり違うと思いますので流し読みしてください.
 英語リーディング教本:薬袋 善郎先生の本にも書かれていますが,英語文法は
 非常に素晴らしいツールです.あくまでツールです.
  >ちまたでよく「外国人は英文法なんて意識しない.自然な英語を身につけ
  >るべき」とか仰る方もいらっしゃいますが,それは英語に関わる時間が圧
  >倒的に日本人に比べ多いからです.将来的にそのような状態になること
  >は最善ですが,そこにたどり着くために外国人の赤ちゃん~成人までと同
  >じプロセスをたどるわけには行きませんので,我々は効率よく文法を知っ
  >て英語を理解できて自然とわかるまで練習するのが良いと私も思います.
 私は上記の本が神本だと思いますのでいろいろな人に薦めてます.
 (ただ途中で挫けちゃう人が多いのが難点)
 読みきってみると英文法の絶対的基礎が一本筋で理解できて,英語リーディ
 ング力が圧倒的に向上した,,,わけではありませんが,構文をばらして理解
 できるようになりました.即ち,全くわからないが減り,
 頑張ればわかるかもが増えました.それがどうしたって,1のモチベ
 ーション維持に大いに貢献しました.
 更にこの本は中学レベルから話してくれてますので私に調度良かったです.
 そのくせ簡単すぎることが無いから素晴らしい.是非読みきってみることを
 おすすめします.

3.TOEIC公式問題集最強説              
 これはTOEIC攻略でいろいろなところで言われていますね.詳細は省略です.
 ですがあえて他のブログでも書かれていることを繰り返します.
  TOEICは慣れによる所が大きい
    >即ち公式問題集をやりまくれ
 コレは間違いないと思います.ただしやはり基礎ができていたほうが伸び幅が
 違うとも思います. 高いので大学所属の方は一度図書館に行ってみるのも手.


今回私が効果を特に感じたのは上記3つでした.コレを半年(1日1~2時間
やったりやらなかったり)で英語嫌いが600超えました.あくまで目安ですが.

私の本来の目標は英語力全体的に向上なので,TOEIC勉強は一旦休止して
現在は通常の英語学習に復帰しています.特にここまで来ると自分の課題が
見えてきまして,今の私の課題は「英語を英語で理解する」だと思います.
デカイ課題です...本当にデカイ.どこかのブログではみんなコレを意識しや
がれーー!的に書いてますが,1の通り基礎ができてないと無理だと思います.
何が無理かってモチベーションが続きません.続く人は相当タフでストイック
それこそ才能だと思いますので誇っていいと思います笑

できれば,英語を英語で理解するまでの中間ステップがあれば知りたいもの
ですが,今は英語長文(ラダーシリーズレベル2)をゆったり読んだり,英語の
漫画を読んでみたりをメインに学習しています.

あと個人的に会話が必要なので,隔週1回の市の英会話サークル(レベルは
バラバラ)とできるだけ毎日rarejobでSkype英会話を行っています.安いし!
あとあと,日本好きな人が集まるペンパルサイトで友達を探しカリフォルニアの
JKとメール交換もしています.地味に楽しいです.英語が嫌いだった私が毎日
英語に触れ,もっと実力を伸ばしたいと思えていることが何より今嬉しいです.

おそらくモチベーションがこのくらいにまで乗ってしまうと,学習は自分で進む
と思います.ここまでモチベーションを到達するための工夫等考えて行きたい
ですね.


【結論】
 私は低能である.そこからがスタート.

今低能であればあるほど,伸びる幅が大きい!
私みたいにダブルスコアが容易!目指せトリプルスコア!
次は1月ごろ受験して750の壁を超えられればと思います.