タグ

ブックマーク / dev.classmethod.jp (17)

  • Androidアプリ開発でスプラッシュを表示してみる(ActionBarのちらつき無しで)。 | DevelopersIO

    今回は、Androidアプリ起動時にスプラッシュスクリーン(起動処理中画面)を表示するサンプルを作ってみようと思います。 スプラッシュ用のActivityを作成して切り替えてあげればいいのでは、と思いましたが、 そうすると、初回起動時に画面上部にタイトルやActionBarが一瞬表示されてしまう問題(おそらく仕様)が発生します。 なので、別のシンプルな方法で実現することにしました。 それは、テーマの背景でスプラッシュを指定する方法です。 では、実装していきます。 スプラッシュ素材の調整 まず、スプラッシュ素材をdrawableで作成します。 元となる素材画像を用意して、配置する位置を調整します。 drawable-xhdpi/splash_image.png drawable-xhdpi/splash.xml <layer-list xmlns:android="http://schema

  • Android Tips #10 ActionBarのHomeButtonを制御する | DevelopersIO

    Android 3.0 (Honeycomb) から導入されたActionBarですが、このActionBarの左端にアイコン(下図参照)があります。 これは「HomeButton」と呼ばれているようです。 今回はこのHomeButtonの制御・カスタマイズ方法について書きたいと思います。 HomeButtonのアイコン画像の変更 HomeButtonのアイコン画像の変更はActivity毎で変更することができます。 AndroidManifest.xml内の対象のactivity要素の android:logo プロパティに 使用したいアイコンのリソースをセットします。 また、application要素の android:logo プロパティにセットすると、 activity要素で宣言されていない場合にそのアイコンがHomeButtonのアイコンとして使用されます。 AndroidMan

    Android Tips #10 ActionBarのHomeButtonを制御する | DevelopersIO
  • Jenkinsを使ったSphinxとS3によるドキュメントサイト構築 | DevelopersIO

    渡辺です。 開発者の間ではgithubMarkdownでドキュメントを書くのが主流となっている昨今ですが、エンドユーザ向けのドキュメントとなると出力フォーマット・版管理・クロスリファレンスなど、機能的にもう少し欲しいところです。しかし、Wordといった専用の文書作成ソフトを使うほどでもないし、表計算ソフトを使うのは論外だと思われます。 そんな要求を満たすツールはSphinxです。今回は、Sphinxを利用してドキュメントを生成し、Jenkinsによる自動ビルドでHTML形式のファイルを作成し、S3へのリリースする手順を解説してみます。Sphinxは静的ファイルを生成するため、S3やCloudFrontと相性良く利用できるソリューションです。 Sphinxとは? Sphinxは、ドキュメント生成ツールです。SphinxではPythonで採用されているreStructuredText(reS

    Jenkinsを使ったSphinxとS3によるドキュメントサイト構築 | DevelopersIO
    suzukit86
    suzukit86 2014/02/04
  • Amazon Linuxにknife-soloの実行環境を構築してみる | DevelopersIO

    こんにちは、やま です。2回目の投稿です、よろしくお願いします。 前回、"Amazon Linuxの環境にRubyの実行環境を構築する方法" を紹介させていただきました。今回は、この環境上にknife-soloの環境をつくって、Webサーバを構築する簡単なレシピを作成・実行してみたいと思います。 構成としては以下のイメージです。 Amazon Linux(今回はami-be1c848e)を2台用意 knife-solo実行マシンは事前にRubyの環境を用意 両方ともインターネットへ接続可能 セキュリティグループの設定はそれぞれ以下の通り knife-solo実行マシン:sshが有効 Webサーバ: ssh, httpが有効 操作はすべてLocal PCからknife-solo実行マシンにSSH接続をしておこなっていきます。また、knife-solo実行マシンからWebサーバへアクセスする際

    Amazon Linuxにknife-soloの実行環境を構築してみる | DevelopersIO
    suzukit86
    suzukit86 2014/01/06
  • ユニットテスト改善ガイド | DevelopersIO

    先日、日Javaユーザグループ(JJUG)主催のJJUG CCC 2013 Fallで、「ユニットテスト改善ガイド」というタイトルで登壇してきました。自分の経験を元に、ユニットテストをチームや組織へ導入する時に起こりえる問題とその解決のヒントに関するセッションです。エントリーではそのセッションの内容を再構成して公開します。 はじめに 近年のシステム開発では、ユニットテストや継続的インテグレーション(以下、CI)の導入は必要不可欠と考えられています。とはいえ、どんな組織(チーム)でも簡単に導入できているわけではありません。特に、大きな組織や古くからの慣習を残している組織では導入したくとも中々進まないと感じているところが多いのではないでしょうか?。 私は、これまでに多くの開発現場でユニットテストやCIの導入について推進してきました。成功したケースもあれば失敗したケースもあります。そして、失

    ユニットテスト改善ガイド | DevelopersIO
  • テストケースを動的に生成してJUnitで実行する | DevelopersIO

    AWSチームに参画して2ヶ月ほど経ちました。ところが、AWSの構築などにはあまり関わらず、ひたすらAWSに関連するプロダクトの開発を行う毎日です。そんな折、ボスより次のようなリクエストをいただきました。 ユーザが参照できない情報について、参照できないことを検証して欲しい ・・・「出来ないことの検証」です。 「出来ることの検証」であれば、その例をテストケースとして記述してテストを実行すれば検証出来ます。しかし、出来ないことを証明することは非常に困難です。ただ、情報は有限なんで、総当たりにでもやればできるかもしれません。 !? システムのインフラは当然のようにAWSです。テストのためのリソースが足りなければ増やせばいいじゃないですか。時間がかかるならば並列化すればいいじゃないですか。テストの時だけ増やせばいいんです。 ならば、総当たりでテストしよう という方針になりました。そして、ブログのネタ

    テストケースを動的に生成してJUnitで実行する | DevelopersIO
  • PHP製監視ツール Cacti (URL監視編) | DevelopersIO

    日の課題 こんにちは植木和樹です。日はサーバの監視について取り上げたいと思います。Webサーバーを立てたらサービスが正常に稼働しているかチェックしておきたいものです。さらに異常を検知してメールで通知を受けることができれば、なるべく早く原因調査と対応に着手することができ、機会損失を最小限に抑えることができます。 さて監視となると「監視ツール」を利用するのが機能も豊富で設定も簡単です。そんな監視ツールが世にはたくさん溢れています。オープンソース・ソフトウェアだとZabbix、Nagios、Muninなどが代表的なところでしょうか。日は「Cacti(カクタイ)」という監視ツールを使ったURL監視をご紹介したいと思います。 2013年8月24日にCactiでURLの監視ができるプラグインがリリースされました。日はこのプラグインを使った監視を試してみたいと思います。それでは設定していきましょ

    PHP製監視ツール Cacti (URL監視編) | DevelopersIO
  • ユニットテストにまつわる10の勘違い | DevelopersIO

    渡辺です。さる方面からテスト系のエントリーがまだか…と催促されたので、ユニットテストについて少し考えてみたいと思います。 最近、TwitterのTLをチェックしていると、JUnitを利用しているにも関わらず違和感のあるTweetや、原因をJUnitにして来解決すべき問題から目をそらしているようなTweetを多く見かけます。そこで、JUnitをによるユニットテストに関するありがちな勘違いをまとめてみました。 なお、JUnitの部分は、RSpecでもNUnitでも適当に置き換えて読んでも構いません。 1.JUnitを使うことが目的という勘違い JUnitを利用すること自体を目的にしたところで何も得る事はありません。 ありがちな話ですが、「納品物としてJUnitのテストコード(または実行結果)を求められている」ことが理由でJUnitを利用しているならば、それは足かせでしかない可能性があります。

    ユニットテストにまつわる10の勘違い | DevelopersIO
  • Jenkinsの使い勝手をよくするための見直し6点 | Developers.IO

    今回の課題 こんにちは植木和樹です。7月にserverspecを使ったChefの自動テストのエントリを書きました。 【AWS】JenkinsとserverspecでChefのテストを自動化する このエントリは初めてJenkinsを触った時に書いたので、いろいろと流儀がわかっていませんでした。その後弊社にJenkinsマイスターの渡辺修司さんが入社したということで、Jenkinsの設定について見てもらいました。その時に次の6点を見直すよう指摘がありました。 ジョブは意味ある単位で1つにまとめるべし ジョブで実行するシェルスクリプトもgitから取得すべし EC2の起動に失敗したら後続処理を停止させるべし serverspecの実行結果はJUnit(XML)形式で出力すべし 実行結果のXMLをJenkinsで読み込んで統計グラフを出力すべし 定時実行でなくgit push hookを入れるべし

    Jenkinsの使い勝手をよくするための見直し6点 | Developers.IO
  • Chef、Vagrantに興味があるけどRubyをやったことない技術者が最低限知っておいた方がいい知識 まとめ | DevelopersIO

    Chef、Vagrantに興味があるけどRubyをやったことない技術者が最低限知っておいた方がいい知識 まとめ 最近、ChefやVagrantを勉強し始めたのですが、設定がRubyで記述されているため私は「たのしいRuby」を読んで勉強することにしました。 私は元々Rubyに興味があったのでいいのですが、Ruby知らないしそのために勉強するのは大変だから手を出すのをやめとこう、と思う人がいるかもしれないのでこれだけ知っていればある程度読めるのではないか、というポイントをまとめました。 まったくプログラミングをしたことない方には説明するのは無理なのでプログラミング経験があり 条件分岐、ループ、クラス、メソッド、文字列 が何か分かるくらいの方が対象です。if文、for文など他の言語でもあるようなものは省いていきます。 真面目にRubyを勉強したい方は下のアフィリエイトから「たのしいRuby」を

    Chef、Vagrantに興味があるけどRubyをやったことない技術者が最低限知っておいた方がいい知識 まとめ | DevelopersIO
    suzukit86
    suzukit86 2013/09/05
  • ブラックボックステストとホワイトボックステスト | DevelopersIO

    テスト分類のひとつにブラックボックステストとホワイトボックステストがあります。 ブラックボックステストとは、テスト対象の内部を意識せずに外部仕様のみからテストケースを構築していく手法です。ユニットテストであれば、テスト対象となるメソッドの実装(コード)を意識せず、メソッドのAPI仕様からテストケースを作成することになります。 一方、ホワイトボックステストでは、テスト対象の内部を意識し、どのような構造であるかを踏まえたテストケースを構築します。ユニットテストであれば、テスト対象となるメソッドの実装(コード)を意識し、分岐や繰り返しなどを考慮しつつテストケースを作成することになります。 さて、ユニットテストはブラックテストでしょうか? それともブラックボックステストでしょうか? 「JUnit実践入門」では次のように記述しました。 書で扱うユニットテストは、テスト対象の内部ロジックを考慮して行

    ブラックボックステストとホワイトボックステスト | DevelopersIO
  • 【AWS】JenkinsとserverspecでChefのテストを自動化する | DevelopersIO

    はじめに こんにちは植木和樹です。相変わらずCloudFormationとChefな毎日を送っています。そのおかげで、最近は実験用サーバを設定するときにも極力手作業はなくし、CloudFormationやChefを使って自動化・省力化する習慣がつきました。以前作ったCookbookを使用して、コマンド1つで新環境が構築されたときって気分いいですよね。 さてChefのCookbookが増えてきて徐々に再利用が進んではいるのですが、Cookbookを作成してから数週間もすると「当にこのクックブックはまだ動くのかな?」と不安になってきます。ここはやはり、Cookbookが正しく適用されることを継続して保証する仕組みがほしいところです。 日はChef Cookbookのテスト自動化の一例として、JenkinsからEC2を起動してからchef-soloを使ってCookbooksを適用し、その後s

    suzukit86
    suzukit86 2013/07/30
  • 自動テストはじめませんか?#1 | DevelopersIO

    こんにちは。 今回は自動テストというちょっと地味なことについて取組んでみようかと思います。 WEBシステムを開発するにあたりWebブラウザでのテストは必須かと思いますが、プログラムを修正する度に確認したり、複数ブラウザで同じ確認を行うのは大変です。そこでブラウザを使ってのテストを自動化してみようかと思います。 Webブラウザを使っての自動テストはSeleniumとう有名なツールがあるので今回はこれを使いたいと思います。 SeleniumはFireFoxのアドオンで使えるSelenium IDEと、JavaやC#などの言語からAPIを呼び出して使うSelenium WebDriverがあります。Selenium IDEはFireFoxのアドオンなので他のブラウザでのテストは出来ません。どうせ自動化するなら色々なブラウザでテストしたいので今回はSelenium WebDriverを使用し、言語

    自動テストはじめませんか?#1 | DevelopersIO
  • ちょっと高度にJavaScript/クロージャでイベントハンドラを作る | DevelopersIO

    前回の解説では、クロージャの「変数が保持される」「変数が隠蔽される」という特徴を使って、アクセサメソッドを作りました。 今回は、「呼ぶたびにクロージャが生まれる」特徴を使ってみます。 繰り返し処理内でイベントハンドラを作る まずは、何の工夫もなくやってみます。今回はjQueryも使います。 $(function() { var data = [ {label:'リンク1', value:1}, {label:'リンク2', value:2}, {label:'リンク3', value:3}, {label:'リンク4', value:4}, {label:'リンク5', value:5} ]; var ul = $('<ul/>'); for(var i = 0, l = data.length; i < l; i++) { var item = data[i]; var li = $('

  • Androidアプリの結合テスト | DevelopersIO

    はじめに スマホアプリの結合テストでは、スマホ特有の確認すべき点が数多くあります。 特に Android は端末の種類が多いですし、OSのカスタマイズもかなり自由度があるので思わぬバグが発生する可能性がかなり高いです。 ということで今回は 結合テストで確認したいチェック項目 をジャンルごとにまとめてみました。 端末 インストール先の違いによって動作しない処理がないか Android OS バージョン 2.2 (APIレベル9) より、アプリをSDカードにインストールできるようになりました。それによって動作しない処理が発生する可能性があります(例えば、SDカードにインストールされている状態では再起動やSDカードマウントを BroadcastReciever で受け取れないなど)。 SDカードのマウント・アンマウントで異常な処理が発生しないか Android はSDカードの有無によって保存先が

    Androidアプリの結合テスト | DevelopersIO
  • ちょっと高度にJavaScript/クロージャの基礎 | DevelopersIO

    JavaScriptのクロージャを一言で言うと、「自身が定義されたスコープにおいて変数を解決する関数」となります。 少し複雑ですが、マスターすれば何かと便利な概念なので、解説したいと思います。 ちなみに、JavaScript未経験なFlex開発者にオススメしたいClosure ToolsのClosure Toolsとは別物です。まぎらわしくてすみません。 例 var f = function() { var i = 0; return function() { return i++; } }(); console.log(f());// 0を出力 console.log(f());// 1を出力 console.log(f());// 2を出力 変数iは、匿名関数のローカルスコープに定義されています。ローカルスコープの変数は、関数の処理が終わると無くなってしまうのが普通ですが、関数fの出力

  • Android Tips #17 Android SDK の便利な Util クラス | DevelopersIO

    はじめに Android SDK には、面倒であったり、冗長になりがちな処理を行なってくれる Util クラスが数多く存在します。 意外と知られていない便利な Util クラスもあります。 ということで、Androidアプリを開発する上でぜひ使っていきたい便利な Util クラスをまとめました。 TextUtils Linkify DateUtils Formatter Pair SparseArray FloatMath Color ThumbnailUtils TextUtils http://developer.android.com/reference/android/text/TextUtils.html String の Util クラスです。 isEmpty は String の null と length = 0 をまとめてチェックしてくれます。このあたりはよく必要になるん

    Android Tips #17 Android SDK の便利な Util クラス | DevelopersIO
  • 1