Hatena::ブログ(Diary)

勉強日記かもしれない

2013-08-11

[]初めてのAndroidテスト

仕事でAndroid開発することになったものの全員未経験者、

膨れ上がったコード、テストは無く、迫り来るQAスケジュール。

自分自身何から手をつけていいのか、何を読んだらいいのかもサッパリわからないけど

教えないといけない立場でもある、そんな中で調べたことのメモ。


  • まずビジネスロジックユニットテスト)から書く
    • 文字列処理や日付・金額計算といったユーティリティなど(ファイルI/ODBアクセス、ネットワーク通信も該当するが、いきなりは難しいので簡単なもので慣れてからの方が良さそう)
    • ActivityやContentProvider、Serviceなどと違いAndroidのシステムに依存しないので書きやすい
    • AndroidTestCaseやTestCaseをextendsして書く
  • ビジネスロジックを切り離す
    • テストを書き始めるとActivityにべったりな点に気づくのでそれを切り離す。
  • Activityのテスト(シナリオテスト)を書く
    • 主に下記の3つを書くことになる
      1. UI操作による状態変更のテスト
      2. ライフサイクルのテスト
      3. 画面遷移のテスト
    • 1はActivityInstrumentationTestCase2を、2・3はActivityUnitTestCaseをextendsして書く
  • ContentProviderのテストを書く
    • 標準的な6つのアクセスメソッド(query, insert, delte, update, getType, onCreate)が正しく動作するかのテストは必須
    • アプリに公開する場合、定数のテスト・提供する全てのURIのテスト・不正なURIのテストも必要
    • ProviderTestCase2をextendsして書く
  • データベースのテストを書く
    • RenamingDelegatingContextで毎回クリーンなDBを作りテストする
    • マイグレーションDB変更時の移行)のテストも行う
    • AndroidTestCaseをextendsして書く
    • SQLite-Fixtureを使うとMockデータを挿入できて便利そう
  • アプリケーションのテストを書く
    • SharedPreferenceのテストなど
    • ApplicationTestCaseをextendsして書く

本当はTDD出来てるのが一番だし、重要なロジック・手動でテストしにくい箇所から手をつけた方が良いとも思うけど学びの流れとしてはこれぐらいでいいのかな。

具体的なコードは下記の書籍やURLを参考に。今週、頑張って書いてかなきゃだー

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)

2012-03-24 自炊の記録

最近頑張って自炊を続けてます。

ネタに困ったとき、作ったことあるものからパッと選べたら楽だなーと思って記録してたらひとまず3週間ぐらい続きました。

お昼の弁当はだいたい前日の残りを詰めてるだけなので省略。副菜とか写真とかも記録が億劫になりそうなので省略。


3/3(土) グリーンカレー

3/4(日) 外食

3/5(月) 白菜と鶏肉のクリーム煮

3/6(火) 肉じゃが

3/7(水) 親子丼

3/8(木) 麻婆茄子、ハラミ焼肉&イカのバター醤油焼き

3/9(金) ビビンバ

3/10(土) スペアリブマーマレード煮込み、牛すじシチュー

3/11(日) 外食

3/12(月) ピリ辛野菜炒め

3/13(火) 外食(リリース)

3/14(水) 鶏肉のバジルソテー

3/15(木) 厚切りベーコンのクリームパスタ

3/16(金) パスタの残りでキッシュ

3/17(土) かれいの煮つけ、牡蠣と白子の鍋

3/18(日) 肉豆腐、馬刺しなど

3/19(月) 焼きそば

3/20(火) 青椒肉絲、グラタン

3/21(水) 外食(お呼ばれ)

3/22(木) シーフードオムライス

3/23(金) 外食(会社の)

3/24(土) 焼きそば


最近食べてないものをレコメンドとかいつかできたら良いなー

2012-01-06

渋谷に通勤する一人暮らし、どこ住むよ?

全然電車に詳しい訳でも東京に詳しい訳でもないけど、後輩達が物件探しの時期で楽しそうなので自分でも考えてみた。

なるべく数値を出すようにしつつ、でも数値にしにくい項目もあるし主観もあるので参考程度にどうぞ。

どこに住むか考える基準

社宅・家賃補助なんかの制限が無いと、どうやって決めようか迷うところ。

まずは最寄り駅を決める→さらに細かい物件を探す、だと思うのでまず駅を選ぶ基準を考えてみた。

  • 会社への便が良い(1本で行ける、歩いて行ける等)
  • 治安が良い←→栄えている(どっちが良いかは好み)
  • 家賃相場が安い
  • スーパーやコンビニがある
  • 電車の本数が多い
  • 電車が混んでいない
  • 通勤中、電波が入る
  • 終電が遅い
  • 特急急行が止まる
  • 複数の路線が乗り入れている
  • 友人や同僚が近く・同じ路線に住んでいる←→住んでいない
  • {自分の好きなもの}がある(飲み屋、図書館、公園、ジム等)
  • {自分の好きな場所}への交通の便が良い
  • 街の雰囲気が好き
  • WiMaxLTE電波が入る
  • 実家に帰りやすい
  • ごみの分別が楽

こんな感じの中から自分はどれを重視するかな〜というのを考えて駅の候補を出して、そこからさらに細かく物件を見ていくと良いかと思う。

Web系は10時出社が多いのでラッシュはそこまで気にならないといえばならない。

渋谷に乗り入れている路線

JR東日本山手線埼京線湘南新宿ライン

東急電鉄東横線田園都市線

京王電鉄井の頭線

東京メトロ銀座線半蔵門線副都心線

たくさんある。ちなみに表参道でも近い会社ならば銀座線千代田線半蔵門線があるので、選択肢としては千代田線が増える。

各路線を調べてみる

JR東日本山手線埼京線湘南新宿ライン

  遠距離通勤用の路線なので本数が少ない。(ラッシュ時でも1時間に数本)

  また複数路線をまたぐため遅れやすい。(http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1014912985)

  わりと近い駅でも終電が23時台と早い。実家暮らしの人や家庭を持った人が多いと思う。

  勿論好み次第だが、一人暮らしには向かない路線だと思う。

  外回りか内回りかで混雑度合いが違うらしい。たぶん内回りが混んでいて外回りがすいてる。

  田町の人はすいてると言っていて、目白の人は骨折れるかと思ったと言っていた。

  新宿渋谷が混雑するらしい。(http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1024826995)

  外回りで乗れる駅は家賃が高め。五反田辺りとか治安がやや心配だけど比較的安いかも。

  山手線は本数が多いし終電も遅く、都内の各主要駅に行きやすいのは便利。

  都会なだけあって家賃は高めだけど高田馬場目白池袋あたりは比較的安い。(http://yachin.homes.co.jp/station/ad11=13/rosen=91/tk=3/sort=2a/)

  新宿辺りも意外と住宅地があるらしく社員も住んでるけど山手線では来てないかも。

  副都心線があるのもあって池袋近辺に住んでいる社員は多いが、

  休みにも社員に遭遇することが多いという難点もある。

  またスーパーが無い駅もある・治安がいまいちな場所もあるので、生活スタイルや好みによるところ。

  地震の時は山手の人はみんな近くて余裕で徒歩帰宅出来てたのは羨ましかった。

東急電鉄東横線田園都市線

  比較的おしゃれなイメージの路線。(http://allabout.co.jp/gm/gc/31527/)

  混むのは祐天寺中目黒乗車率170%ぐらい。(http://www.mlit.go.jp/tetudo/toshitetu/03_03.html)

  9時台の各駅なら座れることも多いが、早め(ラッシュ時間帯)に出勤する気は起きない。

  社員もわりと住んでいて、祐天寺大倉山あたりに点々と。

  家賃相場(http://yachin.homes.co.jp/station/ad11=13/rosen=882/tk=3/sort=2d/)を見ると

  横浜以外、ほぼ渋谷からの距離で家賃が下がっていくので自分のラインを見つけやすい。

  武蔵小杉は乗り入れ路線が多いし、川崎に住むべき5つの理由(http://uramayu.typepad.jp/blog/2011/11/live_kawasaki.html)の

  川崎に10分ちょいで行けて安く買い物したい人には便利。

  一人暮らしするならどこに住めばいいの?(http://blog.livedoor.jp/news23vip/archives/3955770.html)でも日吉川崎は押されてる。

  自分の路線なのでいくらでも語れるけど詳しくは直接聞いてくださいということで。

  とにかく混む、と言う人が多い路線。沿線にはファミリー向けの広い家が多いらしく、働くお父さんが頑張って出社というイメージ。

  一番混むのは池尻大橋渋谷乗車率190%ぐらい。

  東横線自由が丘中目黒的な駅がなく途中で人が降りないので、渋谷までだんだん混んでいく構造。

  住んでる社員もそこそこいるけどやはり家庭を持った方が多く、

  広い家に住みたかったり車を持ちたい人が都心から離れて住んでいる感じ。

京王電鉄井の頭線

  一番混雑する神泉→渋谷乗車率140%と、すいている路線。

  下北沢なんかは雰囲気も良いらしく住んでる社員も多い。

  ただ池袋同様、休日も結構社員に遭遇すると言う。

  家賃相場(http://yachin.homes.co.jp/station/ad11=13/rosen=871/)も都心から離れれば安い。

  吉祥寺下北沢は独特の雰囲気がある(気がする)のでそれが好きな人や

  ライブハウスが多いので音楽が好きで住んでる人が多いように思う。

  井の頭線はあんまりよく知らない…

東京メトロ銀座線半蔵門線副都心線千代田線

  銀座線の家賃相場(http://yachin.homes.co.jp/station/ad11=13/rosen=576/tk=3/sort=2a/)や

  半蔵門線の家賃相場(http://yachin.homes.co.jp/station/ad11=13/rosen=584/tk=3/sort=2a/)を見るとわかる通り、

  安い順にしても全部高いし、かなり渋谷からは遠くなる。都会な駅が多いし、住んでいる知り合いもいない。

  通勤時間や家賃よりも大切な何かがある方はどうぞ。

  すいていると評判の路線。2008年6月14日に全線が開業と新しい。

  そのため乗車率情報は見つからなかった。

  2012年度に東横線と直通するので、混むようになるかもしれない。

  東横線みなとみらい線とも直通することになるので、横浜まで行けたり便利は便利。

  会社には要町に住んでる人がやたらいたりする。

  まちにまった「東京メトロ副都心線」に住もう!(http://myhome.nifty.com/sp/fukutoshin/)や

  家賃相場(http://yachin.homes.co.jp/station/ad11=13/rosen=2032/tk=3/sort=2a/)を見ても

  要町はバランスが良いように思える。ただ社員の遭遇率は高そう。

  あと地下かなり深くに作ってあるのでもぐるのに時間がかかったりはする。

  地下鉄なので電波が入らないのも不便。(WiMaxは通じるのかな?)

  表参道でも良いならば千代田線もアリ。混むのは東京の東の方で、渋谷あたりはまだそれほど混まないらしい。

  小田急との直通電車を避けるとか、色々方法はありそう。

  代々木上原あたりの始発駅からなら座れるし、座れなかったとしても乗るのは10分無いぐらいなので耐えられると思う。

  かなり渋谷に近い分、駅からは離れないと家賃が高そう。

  ちなみに小田急は長距離だけあってか人身事故や天候で止まることが多い。

  世田谷代田下北沢が190%と混雑も田園都市線並なので、あんまりオススメしない。

  田園都市線と同じく、家庭を持った方が多く住んでる。

まとめ

多少高くても近くが良い人、治安を気にする人、家賃を安くあげたい人、ラッシュを避けたい人など

判断基準は色々なので一概にここが良いとは言えないが、副都心線井の頭線東横線あたりがバランスがとれていそう。

駅で言うと要町下北沢近辺、武蔵小杉日吉など。


もし自分だったらで色々考えてみたけど、やっぱり次も東横線に住むと思う。

副都心や井の頭よりやや混んでるんだろうけど車両や時間を選べば座れたりするし、

下手すると毎週末川崎に行くぐらい川崎好きなので川崎に行けなくなると困る。

沿線の主要駅(副都心線なら池袋東新宿井の頭線なら吉祥寺下北沢東横線なら自由が丘中目黒)の

雰囲気が気に入ったところとかが良いんじゃないかと思う。


ま、住めば都と言うしたぶんその沿線に住んでる人は同じところをすすめるんだろう。

いろんな人に聞いてみるのが一番良いんだろうな。


引きこもりで自分の路線以外全然知らなかったので勉強になった。

2011-12-04

[] Macを導入するにあたってのメモ

はじめて使うOSは色々やり方がわからなくて戸惑うものです。

今までWindowsUbuntu系しか使ったことがなかったので、

そうなんだーと思ったことや設定内容をメモしておきます。ちなみにMac miniOSはLionです。

基礎知識

ごく基本なところ
  • アプリケーションのメニューバーはウィンドウの上部ではなく、常に画面の上部にある。
  • 下部のランチャは「Dock」という。
  • 「すべてのプログラム」的なのはFinder(ファイラ)内の「アプリケーション」。
  • コントロールパネル的な「システム環境設定」は左上のりんごマーク→システム環境設定で開く
  • WindowsでいうControlはだいたい、MacではCommandキーに該当する。ControlはEmacs風の文字移動に使う。Windows配列キーボードだとWindowsキーがCommandキーに該当する。
  • 日本語と英語の切り替えはCommand+Space。MacキーボードならSpaceの左右の「英数」「かな」で切り替える。
もう少し詳しいところ
  • ×ボタンではアプリケーションは完全に終了しない。メニューから終了させること。
  • ウィンドウのタイトルバーをダブルクリックしても最大化しないし、元の大きさに戻ったりもしない。+ボタンも最大化ボタンではなく「最適化」ボタン。ツール入れないと「最大化」は出来ないらしい。
  • アプリケーション右上の、矢印が2つあるボタンを押すと全画面表示になる。戻すにはメニューバー右端の矢印2つが逆向きになってるボタンを押す。
  • Finderで「ライブラリ」を表示するには、Finderの「移動」を開いているときにOption(Alt)キーを押下する。
  • Finderキーボードショートカットでファイルを削除するには、Command+Backspace。Deleteでは消えなくて、普通はCommand+Deleteらしいのだが自分のはキーボードが違うせいだろうか。

やったことメモ

  • スクロールの方向を変える(Lionから逆らしい)
    • システム環境設定→マウス→「スクロールまたは移動するときに、コンテンツを指を動かした方向に移動させる」のチェックを外す
  • GoogleIMEを入れる
    • GoogleIMEでググればMac用のダウンロード画面が出る
    • ことえりのまま使うなら右上の「あ」とか「A」上をクリックして「環境設定を表示」→「Windows風のキー操作」(laでぁを打てるようになる)
  • キーマッピングを変える
    • システム環境設定→キーボード→装飾キー
    • CapsLockをControl、ControlをCommandにしてみた(でもどっちも紛らわしいので検討中)
  • 警告音を消す
    • システム環境設定→サウンド→サウンドエフェクトで「警告音の音量」を左端にする
  • bluetoothデバイスを設定する
    • 昨日何回やってもマウスを検出しなくてサポート行きか?と思ったが、今日になってなぜか出来るようになった。
    • 右上のbluetoothマークから「Bluetoothデバイスを設定」で検出画面表示
    • キーボードも最初USBの有線なのに反応せず何度も挿し直してやっと反応したり、いろいろ不安である
  • 右クリックできるようにする(Macマウスの場合)
    • システム環境設定>マウス>副ボタンのクリック>右
  • 隠しファイルを表示する
    • OS標準機能では出来ない
    • OnyXというツールなどでできるようになる

やれてないことメモ

使ってみて

まだ開発してないからかもしれませんが、今のところ特別これが良い!!という機能はあまり見つかってませんw

会社がWindowsなのであんまりMac式に慣れたくなくて、色々いかしきれてないのでしょうか。

キーボードショートカットが他のOSと違いすぎて混乱しますが、キーが多い分覚えれば便利なのかなぁというところです。(コピペとコマンド強制停止が衝突しない、とか)

GoogleIMEやtweetdeckなど、Ubuntuより対応ソフトが多そうなのは良いかも。

実は他にも便利機能が色々あって、自分が知らないだけという気もします。この機能オススメ!!とかあったら教えて欲しいです。


逆に困ってるところは、Bluetoothが安定しなくてマウスがちょこちょこ切れること。(今、日記書く間に3回ほど切れてるしググると結構出てくる)

またXcodeとかMacPortsとか必要でLinuxのわりに色々めんどくさいな、という印象を今のところ持ってます。

Finderにタブをつけられないのも困りますが、金で解決するしかないんですかね。(Ubuntuデフォルトでタブ付きだった気がする…)

VGAがなくてデュアルディスプレイできてないのも、まぁコネクタDisplayPort対応のディスプレイ買えという話で。

何かとお金がかかるのが難点ですが、それを惜しまなければ画面が綺麗になったりケーブルがスッキリしたりiPadなど他デバイスSynergy出来たり、快適な環境を作れるんだろうなと思いました。


ともあれこれからは家のメインマシンとして活躍してもらうので、引き続き教育しつつ頑張ってもらいます!

2011-10-31

[]GTUG GirlsでLTしてきました

10月26日(水)と少し時間は経ってしまったのですが、

GTUG Girls勉強会+懇親会で最近作ったAndroidアプリの紹介をしてきました。


LTですしアプリ紹介+tips少々レベルであまり役に立つものではないですが、

一応スライド置いておきますね。(なぜか埋め込みできなかった…(´・ω・`)

https://docs.google.com/present/view?id=dckff9nz_14fp7m3zgd

人前で話すのはめちゃめちゃ苦手なんですが、

LTしたおかげで懇親会で色々な人とお話できて良かったです(^-^)

擬人化ジェネレータとか、母botとかツボってくださった方もおりましてw


女子Pyも興味を持ってくださった方が意外といたので、

ちょっとしたスクリプトとかサンプルが作れると良いなぁ。