2013/12/20 このエントリーをはてなブックマークに追加 はてなブックマーク - あなたはログに何を求める?【Webサイトにおけるログ出力観点】(what do you need ' logging ' for web system?)

あなたはログに何を求める?【Webサイトにおけるログ出力観点】(what do you need ' logging ' for web system?)




システムにおけるログのイメージ
Webサイトにおけるログ_イメージ

俗に言う、SI企業で働いている僕ですが、
Webサイトでのログの出力方針について自分なりにまとめてみました。




 そもそもログってなに?


システムにおいてログはとても重要です。
それをもとにシステムがどのように動いているかを確認し、
おかしな動きをしていないかを確認したり、誰が何をしているかを確認するわけです。




でもプログラマーのあなたに突然、「実装画面でログを出してくださいねー」、とだけ言われたとしましょう。






何を出力すればいいの??



ってなりませんか?
デバッグ用に仕掛ける分には自分の好きなように埋め込めば良いですが、



製造工程が終わったとき・・・。どのログを残せばいいのやら?
「例外をcatchしたここは、、、エラーログで良いのかなぁ。。。」
「ここって業務的にプログラムの内部でしか見えない処理だけど、
ログ出しておいた方が良いよね?」



今回はそういう話なんですが、、ググってみたところ、僕の求めている内容の記事が少なく、
他の方々がどういった観点を持っているのかを知りたいとともに、
なにかしら皆さんの助けになればと思い、書いています。


突っ込みどころがあれば、コメントなどでレスをいただければと思います。




2013/10/27 このエントリーをはてなブックマークに追加 はてなブックマーク - ビジネスマンとエンジニアを別物と思うな

ビジネスマンとエンジニアを別物と思うな



ちょっと強めのタイトルにしましたけども。



僕はSI業界で働いているわけですが、
やっぱり技術的にすごい人はたくさんいます。


もちろんこの世界は技術力が物を言うし、
設計や提案などに関しての顧客折衝の能力も重要です。


2013/10/08 このエントリーをはてなブックマークに追加 はてなブックマーク - 【Android】Activityスタックを削除する

【Android】Activityスタックを削除する

Activityスタック

今回はスタック(アプリの画面履歴)の一括削除を行いたい場合の実装を紹介したいと思います。




 まずは仕組みについて




Activityは遷移するごとにスタックされていきます。
スタックされた情報はActivityManagerが保有しているようです。


2013/08/04 このエントリーをはてなブックマークに追加 はてなブックマーク - 【Android】ActionBar/ActionBarSherlockを使おう2~使い方編~(try to use ActionBarSherlock API 2)

【Android】ActionBar/ActionBarSherlockを使おう2~使い方編~(try to use ActionBarSherlock API 2)






今回はActionBarSherlockについてのエントリの第2弾です。




例のごとく、ActionBarSherlockのサイトの内容を日本語意訳してみました。




ちなみに、「」で囲まれているのが原文、その下に日本語訳、★で囲まれているのが補足です。

2013/07/30 このエントリーをはてなブックマークに追加 はてなブックマーク - 【Android】これは使っちゃだめよ!~非推奨APIをまとめてみた~(Summarize deprecated Class and Method)

【Android】これは使っちゃだめよ!~非推奨APIをまとめてみた~(Summarize deprecated Class and Method)




 何つかっちゃダメなんだ?





AndroidのAPIというのは大きく変遷してきた。
Android2.x、3.x、そして今では4.x系まで進んでいる。

Honeycomb (3.x)、
Ice Cream Sandwich (4.0.x)、
Jelly Bean (4.1.x, 4.2.x, 4.3.x)と

なんだかついていけないですね。



古くから開発をしているベテランの人はさておき、
大体の人が2.x系から開発を始めた、もしくは今から始めるという方なのではないでしょうか。


そこで、今回は2.x系から開発をしている方を対象に、また今から開発を始める人でも
流れが分かるように、APIの変遷について書いてみようと思う。




ということで、ネット上で情報が散乱している、非推奨クラスやメソッドについて
ある程度まとめてみた。(まだまだあると思うし、非推奨の定数などは含んでなかったりする)



2013/07/17 このエントリーをはてなブックマークに追加 はてなブックマーク - 【JavaBeans】BeanとDTOとEntityとVOとFormの違いって何?

【JavaBeans】BeanとDTOとEntityとVOとFormの違いって何?







色んなシステムに携わっていると、様々なJavaのクラス名に遭遇する。






○○Beanとか ○○DTOとか ○○Entityとか ○○VOとか ○○Form







ここらへんって


「MVCのModelのデータ部分にあたるって意味で同じだし」

とか

「ゲッター/セッターがあるクラスで意味的に一緒じゃない?なんで色々名前つけてんの?」

って思いませんか?



ってことで、今回はそれぞれの定義を改めて考えてみようと思う。


2013/07/13 このエントリーをはてなブックマークに追加 はてなブックマーク - 【バグは0になるか】プログラマーとバグ(close connection about programmer and bug)

【バグは0になるか】プログラマーとバグ(close connection about programmer and bug)








今回は、現場でミスしまくった自分への戒めとして、



また、バグについて再認識のために持論を書いてみる。
とても、現場では言えないが、、、(笑)
開き直ってると思われかねない。



2013/07/10 このエントリーをはてなブックマークに追加 はてなブックマーク - 【プロジェクトでどう振る舞うか】プログラマーを演じよう

【プロジェクトでどう振る舞うか】プログラマーを演じよう




 はじめに



社会人3年目になります。IT業界(Web・オープン系)に入ってからは2年ぐらいです。
正直、プログラムちょっとかじったぐらいの感じですが、ふっつーに仕事は出来てます。


ということで、今回のエントリでは新卒とかに向けて現場での振る舞いとして僕がやっていることを
伝えたいなーと思い、書いています。
+ 自分のメモとしての意味合いもありますけどね。



コミュニケーション、作業の進め方、成長戦略の3つの観点から書いてみます。



2013/06/30 このエントリーをはてなブックマークに追加 はてなブックマーク - ActionBarSherlockを使おう(try to use ActionBarSherlock API)

ActionBarSherlockを使おう(try to use ActionBarSherlock API)



今回は、紹介エントリです。





アンドロイドのアプリを作るときに、開発者として悩み所なのは
アプリのデザイン(UI)ではないでしょうか。


現在、アンドロイドアプリで主流となっているのは
アクションバーとタブを使ったUIデザインです。

2013/05/12 このエントリーをはてなブックマークに追加 はてなブックマーク - 【本当にPM > SE > PG?】プログラマーとしてどう生きるか(続編)

【本当にPM > SE > PG?】プログラマーとしてどう生きるか(続編)





さて、前エントリではタイトルに反して自分の個人的な転職話について書いてしまったが、
本エントリでは、キャリアパスについてもう少し考えてみる。

2013/05/10 このエントリーをはてなブックマークに追加 はてなブックマーク - 【本当にPM > SE > PG?】プログラマーとしてどう生きるか(転職話)

【本当にPM > SE > PG?】プログラマーとしてどう生きるか(転職話)







最近は、わりとマジで自分の将来について悩んでいた
というのも、自分に転職のチャンスが巡ってきたことが原因である。

2013/04/23 このエントリーをはてなブックマークに追加 はてなブックマーク - 「○○である3つの理由」みたいなエントリを書かない5つの理由

「○○である3つの理由」みたいなエントリを書かない5つの理由






※このエントリは様々な構成要素(パクリ)から成立しています。

2013/03/20 このエントリーをはてなブックマークに追加 はてなブックマーク - 【オレオレ.bat作成】めんどくさいことはサボろう(Avoid the hassle)

【オレオレ.bat作成】めんどくさいことはサボろう(Avoid the hassle)






今日も小ネタです。



みんなよくやってるのではないかと思うけど、自分用にバッチを作る話。
毎日事務的に同じ作業するのなんか馬鹿らしいし、
極力、そういった作業は避けたい。




だってめんどう業務上非常に効率がよろしくない。



ということで、僕が使ってるオレオレ.batをまとめてみようと思う。


手順としては

・batファイルの作成
・vbscriptの作成
・システムの起動ファイルへbatファイルを追加


これだけです!

実装もものすごい簡単です。

以下、ソース。

・バッチファイル(connect.bat)
@echo off
rem ネットワークドライブの割り当て(Lドライブ)
NET USE L: \\yank-net.yy-group.yy.yank.com\share 【パスワード】 /USER:【ユーザー名】

rem VBスクリプトの呼び出し
for /f "usebackq tokens=*" %%i IN (`call cscript //nologo c:\yy\yank\msgbox.vbs`) DO @set result=%%i
echo
 
rem OKの場合戻り値は1なのでEclipseを開く
if %result%==1 (
    start c:\Users\yy\yank\Desktop\eclipse4.2Juno.lnk
) else (
    echo bad
) 
・VBScript側(msgbox.vbs)
'変数の宣言
Dim result

'ダイアログ呼び出し
result = MsgBox ("Eclipceを起動しますか?", 65, "起動の確認")

'result の値は、クリックされたボタンによって、1 または 2 になります。
WScript.Echo result





何をしているかというと、
バッチファイルからネットワークドライブの接続(Windows7だと毎回設定が初期化されちゃう?ので)
VBScriptでダイアログ呼び出しして、eclipseを起動するか確認。
押されたボタンによって、起動するかどうか判断。って感じです!

これでPCを立ち上げるだけでネットワークドライブの接続とeclipseの起動を勝手にやってくれる
という算段です。バッチはいいですよねー。自分の必要に応じて色々付け加えられるし、
必要ないと思ったら、削ることも出来るし。


msconfigから起動時実行ファイルに作ったbatを追加すれば完了!




2013/03/10 このエントリーをはてなブックマークに追加 はてなブックマーク - 【Java】アップキャストでClassCastException

【Java】アップキャストでClassCastException



久しぶりにブログ書きます。

最近ちょっとずつ、本業務の方が忙しくなってきたので、
疎かになってしまっておりました。。。




○ClassNotFoundExceptionのワナ





JavaでClassNotFoundExceptionが発生するとき、
あなたならまず何を疑いますか?

2013/02/20 このエントリーをはてなブックマークに追加 はてなブックマーク - 【個人的レビュー】携帯がINFOBAR(iida a02)になりました(I got INFOBAR iida a02 by HTC )

【個人的レビュー】携帯がINFOBAR(iida a02)になりました(I got INFOBAR iida a02 by HTC )




今回のエントリは携帯を変えた喜びだけで書いています笑

さてさて、今まではSHARP制のIS03ヘビーユーザーだった僕ですが、
INFOBARに変えてみました!




○スペック




【電池容量】 
2,100mAh
【外部メモリ】
32GB
【内部ROM】
16GB
【内部RAM】
1GB
【OS】
Android4.1

2013/02/16 このエントリーをはてなブックマークに追加 はてなブックマーク - Javaからスクリプト呼び出し

Javaからスクリプト呼び出し








知らなかったので、メモ。
Java6からJavaソースからスクリプトを呼び出すAPIが標準で
入ってるんですね。。。知らなかった。
javax.scriptというパッケージです。

Java7ではRubyとかGroovyとかに対応してるとかしてないとか。


ちょっと調べてみるとJavascriptを利用しているパターンばっかり出てきてしまいます
ね。

他のスクリプトも試してみるのもいいかもしれないけど、
とりあえずはJavascriptでやってみた。






ソースはこんな感じ。

2013/02/15 このエントリーをはてなブックマークに追加 はてなブックマーク - 【Javaトリビア】○○ableインターフェース

【Javaトリビア】○○ableインターフェース













今日はふと気になったことをエントリに書いてみよう。
企画的には「トリビアの種」系です(笑)
トリビアってほど無駄ではない。




Javaのインターフェースでよくある「○○able」




意味合い的には「~の能力を付与する」ってものです。
これっていったいどのくらいの数がライブラリに存在するんだろう、、、って考えたことあり ますか?

2013/02/09 このエントリーをはてなブックマークに追加 はてなブックマーク - 【Android】Intentでメールに画像を添付する(Intent to attach images to email)

【Android】Intentでメールに画像を添付する(Intent to attach images to email)






○まずはIntentを試してみるか





自分で作ってるAndroidアプリのバージョンアップとして、
検索した画像と情報をメールに添付しようと考えた。

これが地味にハマってしまったので、自分と誰かしらのために、メモしておく。


文章は割と楽に送れた。
実装はこんな感じ。

現場であった怖い話(I experienced scary stroy about programing)














今の現場での業務は機能の拡張案件なんですが、
某有名な団体の某APIを拡張するっていうものです。


あんまり具体的な話すると守秘義務がどうのこうのなので、
ちょっとアバウトにクラスを再現してみようと思います。
ユーザー認証のAPIを作っているという体で行きます。


親クラスはこんな感じです。

2013/02/05 このエントリーをはてなブックマークに追加 はてなブックマーク - 技術進歩に伴うブラックボックス化 (technical progress makes be degenerate developer)

技術進歩に伴うブラックボックス化 (technical progress makes be degenerate developer)






○確かに進歩は続いている







年々、ネットワークにしろ、ハードにしろ、IDEにしろ、高度化、ユーザビリティの向上が進んでいる。
IT関連では1年単位(もっと短いスパンかもしれないが)の進歩というのが顕著である。

2013/02/03 このエントリーをはてなブックマークに追加 はてなブックマーク - 【就活】志望動機を考える

【就活】志望動機を考える





 はじめに



僕が新卒として就職活動したのが2013年2月現在2~3年前で、
相変わらず、今も就職難は続いているらしい。
日本経済としては回復傾向にあるが、僕の主観としては企業が
「就職難の厳しさ」に味をしめた印象も受ける。
つまり、経済はリーマンショック以降、若干良くなってきているのに、
主導権を握り続けたいということである。





前置きはさておき、今の就活生を助けるつもりで、
志望動機について考えてみようかと思う。


2013/02/02 このエントリーをはてなブックマークに追加 はてなブックマーク - dojoの勧め~基本文法編~【recommended dojo(javascript framework)】

dojoの勧め~基本文法編~【recommended dojo(javascript framework)】








引き続き、dojoの紹介。




ライブラリの日本語化は色々骨が折れそうだなあ。。。(汗)
やってみたいんだけど。





とりあえず、dojoの使い方はこんな感じです。




クラスの宣言、クラスフィールドの宣言、functionの宣言などに
焦点を当て、説明します。










//クラス宣言
dojo.provide("DojoSample");

/**
 * クラス定義。
 * 第一引数宣言クラス名
 * 第二引数継承クラス指定(nullなら継承なし)
 *
 */
dojo.declare("DojoSample", yank.DojoSuper, {
    
    //クラスフィールドの宣言
    property : null,
    
    //functionの宣言
    onLoad: function(){
        // このthisを変数に詰める。インスタンスを内部functionで使うためと思ってもらっていい
        var _this = this;
        // ボタンのイベントを拾う
        dojo.connect(dijit.byId("button"), "onLoad", function() {
            _this.executeSomething();
        });

    },// ←カンマでつなぐ
    
    // 何かしらの処理を定義
    executeSomething: function(){
        // 処理
    } // ←最後の宣言はカンマなし
});












簡単。

ね。Java使ってる人なら抵抗ないでしょ。
javascript慣れてる人やAndroid慣れてる人とかも使いやすいと思います。




で、この作ったクラスを使用する際には
dojo.require(DojoSample);
とすれば良い。(イメージ的にはimportに近い)





今回は簡潔に以上!



2013/01/25 このエントリーをはてなブックマークに追加 はてなブックマーク - JavaMVCフレームワークたち(about Java MVC framework)

JavaMVCフレームワークたち(about Java MVC framework)







JavaのMVCフレームワークはたくさんある。



Struts、Spring、Seaser2、Wicket、JSF、Tapestoryなどなど。。。。

2013/01/20 このエントリーをはてなブックマークに追加 はてなブックマーク - 【Java技術者にオススメ?】dojo ToolKit(introduce dojo)

【Java技術者にオススメ?】dojo ToolKit(introduce dojo)





業務で使っているdojoツールキットについてまとめていこうかと思う。





○dojo Toolkit


dojoはDojo Foundationの開発しているjavascriptフレームワークであり、
ajax等の非同期通信や、カレンダー表示などを通信なしで行えるリッチクライアントを提供する。
サーバーサイドjsフレームワークって感じがする。(別にajaxを使わなくてもウィジェット使うだけでもいいと思うけど。)

可変長引数メソッドの呼び出しについて (about variable length arguments method call)









ちょっと知らなかったので、メモ。


可変長引数メソッドの呼び出しは、実は引数なしの形でも呼び出させる(!!)
知らなかった。びっくりした。







実際にはこんな感じ。

2013/01/12 このエントリーをはてなブックマークに追加 はてなブックマーク - 【JavaからSVN接続】SVNKitを利用してみた(exporting SVN log to use Java-library SVNKit )

【JavaからSVN接続】SVNKitを利用してみた(exporting SVN log to use Java-library SVNKit )











業務で今回のプロジェクトで追加したリソースを調査しなければならなくなった。

ただ、単純にSVNのヒストリーやリビジョンの比較をして目を酷使するのも嫌だったの で、
Javaからどうにかプログラミングが出来ないかとググってみた。









あった。

2013/01/07 このエントリーをはてなブックマークに追加 はてなブックマーク - 【Android】イベントリスナー実装のベストプラクティスはなんだろう(the best coding  to use EventListener for Android )

【Android】イベントリスナー実装のベストプラクティスはなんだろう(the best coding to use EventListener for Android )





前々から気になっていたこのテーマ。


Androidにおけるイベントリスナーの実装はどのようにすべきか。考えてみたいと思う。
同じようなエントリは少しはあったのだけれども、僕にとっては不十分に感じたので、書いてみたい。



イベントリスナーとはボタンウィジェットのOnClickListenerとか
アラートダイアログのDialogInterface.OnClickListener(であってるかな・・?)とか
そういった類のものである。
実装方法は僕の思いつく限りでは4つある。

2013/01/06 このエントリーをはてなブックマークに追加 はてなブックマーク - 初投稿!!(First Contribution)

初投稿!!(First Contribution)

ブログを始めさせていただきました。


本ブログでは、主にJava周辺の技術的なことを書いていこうと思っています。

今はいわゆる客先常駐専門の中小企業に勤めています。
主に業務システムのJava案件の二次請け、三次請けになることが多いですね。