2013年11月6日水曜日

[Android]Calendarクラスのバグ?

注)比較的難易度高めの記事です。
Android APIのバグの可能性もあるので、もしそうでしたら、報告する場所教えてください><
(何か賞金とかもらえるなら折半で!)

Calendar使う場合、こういうことをする時があります。

DAY_OF_WEEK  
はcalendar オブジェクトが何曜日かというのを指定します。

WEEK_OF_YEAR
は calendar オブジェクトが一年の何週目(最大52週)というのを指定します。

この2つで、特定の日付を解決します。

(本当は YEAR (年)も設定する必要はありそうですが、なぜかAndroidでは必須ではない。)

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
calendar.set(Calendar.WEEK_OF_YEAR, 30);
Log.d("tag", calendar.get(Calendar.WEEK_OF_YEAR) + "");

一旦 オブジェクトが日曜日 というのを設定します。
さらにcalendar オブジェクトが一年の30週目というのを設定します。
つまり 2013年7月21日というのを設定しています。
なので、ここでは30が出力されます。
しかし、

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.WEEK_OF_YEAR, 30);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
Log.d("tag", calendar.get(Calendar.WEEK_OF_YEAR) + "");

と書いたら、なぜかWEEK_OF_YEARが反映されずに、
今週(2013年11月6日現在なら45)
が出力されてしまいます。

時間があったら、この問題を追ってみたいと思います。

ちなみに通常の Java(Java 7)ではこの問題は発生しないっぽいです。

参考:

Java API

http://docs.oracle.com/javase/jp/1.5.0/api/java/util/Calendar.html


Android API

http://developer.android.com/reference/java/util/Calendar.html

2013年8月22日木曜日

[MySQL]WordPressのセットアップではまったこと

WordPressのセットアップするときに、
MySQLにwordpressというユーザー名を作成し、パスワードを変更し、
そのユーザー名とパスワードを入力してもどうやってもMySQLに接続できなくてハマったのでメモ。

原因を調べて、もしかしたらというものを見つけたのでメモします。
(ただし再現性がないので、絶対というわけではないので。もし同じ症状の人がいたら、助けになるかもしれないかもしれない程度で。。)

phpMyAdminで表示したユーザー一覧はこちら


自分が設定したのは 
ユーザー名 wordpress ホスト % だったのですが、
デフォルトでユーザー すべて ホスト %  となっているものがあります。
ユーザー認証(WordPressのセットアップ)するときに、後者が優先されてしまってうまく設定できてなかったらしいのです。
なので、ユーザー すべて ホスト %を削除するとちゃんと設定出来ました。。
2,3時間ハマりました。。
ただし、再現性がないので本当は違う問題なのかも。。


2013年8月4日日曜日

[TopCoder]自分の解いた問題一覧を出してみました。

GitHubのMarkDownが面白そうだったので、せっかくなのでTopCoderの自分の解いた問題を一覧で表示するようにしてみました。

https://github.com/yuki2006/topcoder

ローカル側でREADME.mdを生成し、githubにあげたらいい感じに見えるようになってます。

今まで、どの過去問を解いたかなどの管理が一苦労だったので、これだけでも十分です。



こちらから一部ソースを拝借しました。
https://github.com/fornwall/eclipsecoder-archive

2013年8月2日金曜日

[TopCoder]SRM 587 Div2


Easy InsertZ

問題
http://community.topcoder.com/stat?c=problem_statement&pm=12700&rd=15699&rm=318350&cr=23018525

回答



Medium JumpFurther 

問題 




JumpFurther の方は、DP? DFS?とか結構悩んだけど、貪欲で行ってbadStepになってしまったら、最初の1stepを進まずにとどまるようにすれば、最大になります。

結構いい問題。

2013年7月27日土曜日

倍精度と整数の対応

Wikipedia「倍精度」
http://ja.wikipedia.org/wiki/%E5%80%8D%E7%B2%BE%E5%BA%A6


double型で 整数の対応可能(longに変換可能)なのは2の 53乗まで、

ただし、2のべき乗だけなら 63乗まで可能。

2013年7月26日金曜日

[Android]ActionBarSherlockからSupport Library v18 のActionBarへの移行

先日、新しいNexus7とともにAndroid 4.3 が発表されましたが、新しいOSとともに発表されるのが、Android SDKのバージョンアップ!

個人的にはこっちのほうが楽しみだったりします。


さて、今回 Android SDK付属の Android Support Libraryがv18 になり
なんと(やっと?)Action Bar UI に対応しました。
http://developer.android.com/tools/support-library/index.html

設定方法はこちらの「Adding libraries with resources」をどうぞ
http://developer.android.com/tools/support-library/setup.html


さて、わたしは今まで ActionBarSherlock というありがたいライブラリを使っておりましたが、
http://actionbarsherlock.com/

公式で対応したということで移行処理をしてみました。



単純なものは、移行は簡単なのですが、もうちょっとGoogleさんには少し頑張ってもらいたかったところ。

相変わらず onCreate時にsetThemeを設定しないといけないみたいだし。

(自分が知ったかぎりもの)
各対応するもの表にしました。

(軽い動作確認は行いましたが、コードの正確性は保証いたしませんのでご注意ください。)