タグ

ブックマーク / shuji-w6e.hatenadiary.org (11)

  • Androidで学ぶ並列処理とGUI - やさしいデスマーチ

    Docomo製Android端末の発売日が発表されました。来月の札幌JavaコミュニティもAndroidイベントということもあり、チュートリアルを作成したりしています。ちょっとスレッド周りではまった事もあり、簡単な時計アプリケーションの作り方から、Androidのスレッド描画モデルを紹介します。 とりあえずソース このアプリケーションは、0.5秒毎に日時を更新する単純な時計アプリケーションです。 package com.example.android; // import 略 public class Clock extends Activity { private ScheduledExecutorService service; private Handler handler = new Handler(); /** Called when the activity is first

    Androidで学ぶ並列処理とGUI - やさしいデスマーチ
    ocs
    ocs 2012/09/24
  • TDDをはじめる条件 #tddbc #tddconf - やさしいデスマーチ

    色々と忙しすぎてブログが書けません。 JavaOneの話とか、JUnitの話とか色々書きたいんですが…もうしばらく我慢なのです。 で、TDDの前方依存と後方依存で意見が欲しいとのことなので自分なりの意見を。 技術的な前方依存 『TDDを始める前と終TDDを実際やるために必要な技術』 ・最低限対象言語でコードがかけるようになって ・最低限テスティングフレームワークを使えるようになって ・リファクタリングをしっかり学んで ・対象言語でのきれいなコード、設計とは何かを知って ・テストファーストを知って こうしておそらくスタートライン。 自分はこれは疑問です。 最後の「テストファーストを知って」という部分はTDDに関することですけど、それ以外ってTDDを始めるスタートラインではなく、ソフトウェア開発としてのスタートラインかと思います。 言い換えると 最低限対象言語でコードを書けないと、ソフトウェア

    TDDをはじめる条件 #tddbc #tddconf - やさしいデスマーチ
    ocs
    ocs 2012/04/23
  • JUnit のセカイ #JJUG - やさしいデスマーチ

    このエントリーは、@cero-tさんのエントリーの次で、Java Advent Calendar 2011の6番目のエントリーです。自分自身の今年のメインテーマがTDD(テスト駆動開発)と言う事もあり、関連エントリーとしてJUnitについて書きたいかと思います。今更JUnit?と思われた方も普段からJUnitを使っていあなたも気軽にお読みください。尚、色々な話題を駆け足で紹介するので、どれも簡単な紹介程度になってしまいますが、ご了承願います。 JUnit4 スタイル JUnitがアノテーションに対応し結構な月日が流れましたが、古いコーディング規約のままでテストコードを書いていませんか?JUnit4では、アノテーションとアサーションを使ったテストコードを書くことが基スタイルです。かつては、TestCaseのサブクラスを作り、testではじまるメソッドを定義していましたが、今は Testアノ

    JUnit のセカイ #JJUG - やさしいデスマーチ
    ocs
    ocs 2011/12/08
    結構知らないことがあるもんだなぁ。enclosing class を使う方法と assumeThat は知らなかった。わっふるわっふる
  • Javaプログラマであるかを見分ける10の質問-回答編 - やさしいデスマーチ

    想定を超えた反応がありましたので、予定はしていなかった回答編をお送りします。ですが、正確な解答を書いても面白くないので、これをネタに面談をした場合に、自分ならどんなポイントを持って選考するかをまとめてみました。 はじめに このエントリーの質問の意図は「優れたJavaプログラマ」を見つける事ではありません。「最低限のスキルを持った戦力が欲しい」という状況です。したがって、優れた指摘をしてくるのであれば超したことありません。設問について議論が発生するならば、この設問を投げる必要がなかったということです。 Javaを詳しく知っている人からすれば間違いでは?曖昧な質問では?と感じる設問があるのは確かです。しかし、優秀な人をテストしたい訳ではないのです。したがって、正確性とか厳密性については求めません。「だいたいあっている」ならば前提条件である「中堅プログラマの補充」の条件を満たすからです。 中堅プ

    Javaプログラマであるかを見分ける10の質問-回答編 - やさしいデスマーチ
    ocs
    ocs 2011/03/07
  • Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ

    元ネタはこちらですが、「優れたJavaプログラマ」を見分ける質問ではありません*1。次のような状況を想定してください。 受託業務を中心にしている弊社は、Javaで業務系ウェブアプリケーションの開発を行う事になりました。しかし社内のリソースを使うにも1−2名足らない事が見積もりから解っています。そこで、中堅エンジニアを1−2名募集することになりました。正社員か派遣かは問いませんが、経験が3年程度の中堅プログラマが必要です。同等またはそれ以上のスキルを持つ正社員がプロジェクトを牽引しますが、ゼロから教えながら教育することはできないので、必要最低限のスキルを持っていることが条件になります。 こんな状況を想定して、面接の質問を考えてみました。経験が3年程度あれば、問題なく答えられるはずです*2。尚、質問はホーム言語がJavaである前提です。 下記質問にそれぞれ50文字以内を目安に簡単に説明すること

    Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ
    ocs
    ocs 2011/03/05
  • ICONIXプロセス - やさしいデスマーチ

    札幌Javaコミュニティでは「ユースケース駆動開発実践ガイド」の読書会を行っているわけですが、勉強会の成果物的な意味も含めて、とりあげられているICONIXプロセスに関して簡単にまとめておきます。 ICONIXはあまり聞き慣れないプロセスかとは思いますが、ロバストネス分析という名前はどこかで聞いたことがあるのではないでしょうか?実は、ICONIXプロセスの一部にロバストネス分析があり、ユースケースから詳細設計を駆動する為に存在しています。逆に言えば、実はロバストネス分析を実践的に使うための方法がICONIXとも言えます。ロバストネス分析はICONIXプロセス全体を通して重要な意味を持っており、ロバストネス分析といえばICONIXとも言えるわけです。 ICONIXプロセスは、小〜中規模の画面を介するソフトウェア(Webアプリなど)の開発に適したプロセスで、概要設計後の基設計から要求テストま

    ICONIXプロセス - やさしいデスマーチ
    ocs
    ocs 2010/04/23
  • NetBeansを使ったSwingアプリケーション開発 - やさしいデスマーチ

    Java開発者の開発環境(IDE)と言えばEclipseが定番ですが、最近はNetbeansも十分に使う価値のあります。特にSwing(GUI)の開発環境(Matisse)により、ちょっとしたアプリケーションにGUIを簡単に提供できるようになりました。また、Swing・JVMのパフォーマンス向上だけでなく、PC性能の向上の恩恵も受け、Swingは遅いというのも過去の話です。 ところが、Swingに関する情報はそのほとんどがコンポーネントに関するノウハウであり、アプリケーションを作るノウハウがほとんどありません。そこで、ここ1年くらいで蓄積してきたNetbeansでのGUIアプリの構築のノウハウを何回かに分けて書いていこうと思います。 実行環境について 結論から言えば、現時点ではSwingのアプリケーションを開発する場合、Java5をターゲットにします。 理由はMac OSを動作環境としたい

    NetBeansを使ったSwingアプリケーション開発 - やさしいデスマーチ
    ocs
    ocs 2010/04/05
  • 要件定義セミナーに参加 - やさしいデスマーチ

    と、梯子してバリューソースの神崎さんの開催する要件定義セミナーに参加です。神崎さんとは去年のJavaFestaで知り合うきっかけとなり、その後Enterprise Artchetectのセミナーでお会いしたり、やはりコミュニティや勉強会をきっかけに知り合いとなった方です。吉岡さんの話に戻ってしまいますが、このような繋がりも、今回のイベントを知れた事もすべてコミュニティがベースです。参加していなければ今回のセミナーにも参加できなかったと思うと、社内にひきこもっては駄目だなと思います。 要件定義の問題と解決方法 内容としては神崎氏の書いた「要件定義マニュアル」のダイジェスト的な紹介、それから実際に適用する場合に陥る問題や要件定義の具体的なスケジューリング方法などの2点でした。 要件定義マニュアルの内容は、ざっと目を通していることもあり、復習的な感じで良かったです。では解らない部分、例えばどの

    要件定義セミナーに参加 - やさしいデスマーチ
    ocs
    ocs 2009/07/12
  • DjangoでテンプレートエンジンにGenshiを使うメモ(2) - やさしいデスマーチ

    先日紹介したDjangoのテンプレート機能を用いた場合、単純なGenshiのテンプレートは動作するのですが、現在のバージョン(0.5)では XIncludeがうまく動作しません。GenshiにもTemplateLoaderがあるのですが、XIncludeを行うとGenshiの TemplateLoaderから読み込もうとして、読み込めないのが原因のようです。 そこで、最初にGenshiをDjangoで使うためのコードを紹介します。紹介といっても、ドキュメント内のレシピを紹介するだけですが。 ドキュメントでは、http://genshi.edgewall.org/wiki/GenshiRecipesのUsing Genshi with Django にずばり書いてあります。リンク先はmakoとGenshiを使うためのコードが紹介されているので、これを取り込みましょう。django_gensh

    DjangoでテンプレートエンジンにGenshiを使うメモ(2) - やさしいデスマーチ
  • DjangoでテンプレートエンジンにGenshiを使うメモ - やさしいデスマーチ

    Djangoの特徴として、テンプレートエンジンをDjango純正のものも含めて自由に選択できることがあります。 デフォルトのテンプレートエンジンはRailsやJSPに近い感じでスクリプトとHTMLが混在するようなタイプです。したがって、デザイナとプログラマの分離がやや難しいく、デザインまでプログラマがこなす場合に向いています。他の選択肢としては、幾つかあるのですがTracで有名なedgewallの開発しているテンプレートエンジンにGenshi(原糸)というのがあります。Genshiは最新版のTracでも用いられているテンプレートエンジンで、XML(XHTML)がベースとなります。 今回はチュートリアルやマニュアルから、簡単に使い方を解説してみようと思います。 http://genshi.edgewall.org/ インストール インストールは、easy_installを導入していれば、以下

    DjangoでテンプレートエンジンにGenshiを使うメモ - やさしいデスマーチ
  • Java開発者の読むDjangoの設計思想 - やさしいデスマーチ

    Djangoのサイトには「Djangoの設計思想」というドキュメントがあります。どんなフレームワークでもそうですが、設計思想を理解し、その流れをつかむ事で正しい利用への最短ルートです。もし、自分の思想にあわないならば問題です。可能であれば、そのフレームワークの検討を取り止めるべきでしょう。それが出来ないならば利用している時にはそのフレームワークの思想で思考することが求められます。 Djangoの設計思想は、緩く結合し、必要最低限のコードで、だが隠蔽せずに明示するという事です。DjangoではMVT(モデル/ビュー/テンプレート)と呼ばれるMVCに近い構造をとります。それらの3つのレイヤーはお互いに疎な関係を持ち、モデルとテンプレートはデフォルトの実装以外を容易に採用できるようになっています。また、ほどよく規約を適用し必要なコード量は少なくなっていまが、なんでもかんでも裏側で処理せずに、なに

    Java開発者の読むDjangoの設計思想 - やさしいデスマーチ
  • 1