JavaScript開発のデバッグを加速するlog出力!




ブラウザのデベロッパツールのコンソールへlogを出力する方法と、
その際の注意点や解決策についてソースコード付きで解説します。
最終的にはlog出力の完成形として、
IEエラー回避、consoleオブジェクトの記述無し、デバッグ切り替え機能付きの
プラグインの作成まで順を追って解説致しますので、最後までお付き合い頂ければ幸いです。

JavaScript開発において、変数の中身の確認や、処理フローの状況を確認する為には、
今まではHTMLへ出力したり、alert()等で通知したりといった事が主流でした。

しかし、ブラウザの技術進歩により、かなりJavaScript開発の手助けとなる機能が充実して来ました。

そんな中、ブラウザのデベロッパーツールのJavaScriptコンソールへ
logを出力する事が可能となりました。

今回の記事では、そんなlog出力の方法と、SafariChromeFirefox、各ブラウザでの互換吸収、IEへの対策方法等を
解説したいと思います。

alert()の様に、一回一回ボタンを押す必要も無く、HTML出力の様にレイアウト崩れを気にしたり、
ロギング環境を構築する手間も必要ありません。

今回解説するlog出力方法を身につければ、きっと今後のJavaScript開発が加速するはずです。


  1. JavaScriptコンソールへlogを出力してみよう!
  2. 他にもあるlog出力系便利メソッド!
  3. consoleが使えないブラウザでもエラーが発生しない様にしよう
  4. 長いオブジェクト名を短縮しよう
  5. コンソールへのlog出力の有効・無効を設定しよう
  6. log出力の完成形!IEエラー回避&console記述無し&デバッグ切り替え機能付き
『JavaScript開発のデバッグを加速するlog出力!』を続きを読む »

2013年4月19日(金)のツイート履歴

  • ★Android端末でフリックされた方向を判別する方法! 『http://web-terminal.blogspot.jp/2013/04/android.html』 Android端末でフリックされた方向を判別する方法を、汎用的な独自クラスの実装と共にコード付きで解説します。
    16:16
  • いわゆるC言語やObjective-C,PHP等であるdefineは、Javaでは『public static final』として宣言します。
    12:23
  • Javaでは、クラスの中にクラスを持つ事が出来ます。関連性の高いクラス等は一つのクラスにパッケージングする実装方法もありかもしれません。
    12:00
  • Objective-Cでいう所のid型は、Javaでいう所のObject型に当たる。どんなオブジェクトでも格納出来る生ポインタの様な型です。詳細な型を宣言出来ない不確定な対象(イベント元クラスやコールバック先等)を使用する時等に活躍します。
    12:00
  • 【Google公式提供】AdSense の新しいガイドブックができました 『http://adsense-ja.blogspot.jp/2011/02/adsense.html』
    10:18

Androidアプリでフリックされた方向を判別する方法!

JUnitについての書籍が遂に発売します!
Java開発時のユニットテストを加速する「JUnit速効レシピ」


フリックされた方向を判定する為の汎用的なクラスを作成致しましたので、
是非とも活用して下さい。

そもそも、Androidアプリではタッチイベントがその時の状態に応じた値として
イベントが起動されるだけですので、どのイベントの時に何の処理をする。
どのイベントだとどうだとかいった判定は自分でしないといけません。

特に、フリック処理では、ただのタッチとは違ってドラッグした距離や
ドラッグされた方向を考慮して、フリックされたのか?
どの方向へフリックされたのか?を自分で判定ロジックを実装しなければいけません。

スマホではフリック操作を良く使用しますので、
一度フリックの方向検知だけでも汎用的なクラスとして
様々なシーンで使いまわせるように、一旦纏めたものを
今回の記事では公開し、あわせて解説を行いたいと思います。


  1. タッチイベントの通知先クラスをviewへ設定しよう
  2. フリックされた方向を判定する独自クラスの実装
  3. MotionEventから取得出来る判断基準あれこれ
  4. 実際にフリック方向判定処理をActivityへ組み込んでみよう
『Androidアプリでフリックされた方向を判別する方法!』を続きを読む »

2013年4月18日(木)のツイート履歴

  • ★Intentをつかった画面遷移から元のActivityへの戻り方『http://web-terminal.blogspot.jp/2013/04/intentactivity.html』Androidアプリ開発において、Intentをつかった画面遷移から元のActivityへの戻り方をソースコード付きで解説します。
    22:44
  • android端末の座標原点(基点)は画面の左上で、下に行くにつれY座標が上がっていきます。右に行くにつれX座標が上がっていきます。一番左上がx座標もy座標も0で、一番右下がブラウザの解像度値となります。
    13:25
  • android開発で、マルチタッチによるMotionEvent発生順序は、ACTION_DOWN⇒ACTION_POINTER_DOWN⇒ACTION_MOVE⇒ACTION_POINTER_UP⇒ACTION_UPです。指の本数はgetPointerCount()で取得可能です
    12:15
  • android開発で、タッチ検出MotionEventから取得出来るイベント一覧ACTION_DOWN,ACTION_POINTER_DOWN,ACTION_MOVE,ACTION_UP,ACTION_POINTER_UP,ACTION_CANCEL,ACTION_OUTSIDE
    12:11
  • iPhoneの様に、Androidでもスクリーンショット(画面キャプチャ)が撮れる機種は限られています。画面撮影が可能な機種は、現時点ですと『Xperia、AQUOS、GALAXY、Xperiaacro、HTC EVO 3D IS12HT、ソフトバンクとAUのシャープ系』が対応
    10:34

Intentをつかった画面遷移から元のActivityへの戻り方

JUnitについての書籍が遂に発売します!
Java開発時のユニットテストを加速する「JUnit速効レシピ」


Androidアプリ開発で、ある画面から別の画面へ遷移する方法と、
逆に遷移先から元の画面へ戻る方法をソースコード付きで解説します。


  1. Activityをアプリに認識させよう
  2. 画面遷移の前に画面の作成から!簡単なActivity!
  3. 画面遷移の方法!Intentを使って指定のActivityへ制御を移す!
  4. 遷移先のActivityから元のActivityへ戻ろう
『Intentをつかった画面遷移から元のActivityへの戻り方』を続きを読む »

2013年4月17日(水)のツイート履歴

  • android開発においてファイルを保存する為のディレクトリを取得するにはgetFilesDir()を使用。『File file = new File(getFilesDir()+"filename");』また、SDカードへの保存は『/sdcard/filename』へ行う様です
    16:28
  • android開発においてHttpClientを用いたインターネット接続を行うにはAndroidManifest.xml内のmanifestタグの中に<uses-permission android:name="android.permission.INTERNET" />を追記
    16:04
  • 『Tizen store』ではandroidと同じような自由なマーケットを目指しており、個人の開発者も参加が可能。課金方法やダウンロード方法も自由で『Tizen store』以外でもそれぞれのメーカーのマーケットが乱立しそうですね。ドコモも端末発売と同じくしてマーケットを公開予定
    14:44
  • Titanium SDK 3.1ベータ版がリリース!今秋にdocomoから端末が発売される事で注目を浴びているsamsungの新OS『Tizen』のSDKが正式にサポート!androidの脅威となるのか?TizenアプリのマーケットとなるTizen storeも今秋公開予定です
    14:41
  • android開発では実際にアプリを起動してのデバックは、エミュレータですと様々なサイズの端末にてテストする事が出来ますが、とても動作が重く、起動までに何分も待つ事になります。それでは作業効率が悪いので、実機で開発し、最終的なテストだけエミュレータを使用するのが良いでしょう。
    10:48

2013年4月16日(火)のツイート履歴

  • android開発でアプリを縦固定 AndroidManifest.xmlでactivity毎に設定 android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation"
    18:22
  • ・ ・ ・ ・ ・ ・ ツイッターが公式で改行に対応しました。 文字数のカウントは、改行も一文字としてカウントされますので、 少ない内容で協調させたい時に活用出来そうです。 ただ全体の前後の改行、行中の連続した空の改行は無視されますので 注意が必要です。 ・ ・ ・ ・ ・ ・
    16:38
  • android開発でのマージンの設定 『 layoutParams.leftMargin = 5; layoutParams.topMargin = 5; layoutParams.rightMargin = 5; layoutParams.bottomMargin = 5; 』
    16:29
  • android開発において、viewへmarginを適用させたい場合、MarginLayoutParamsクラスにて設定します。ですが、各LayoutParamsクラスはMarginLayoutParamsクラスを継承していますので、通常のLayoutParamsで設定出来ます。
    16:24
  • android開発において、webViwのスクロール位置を取得するには、getScrollY()やgetScrollX()メソッドを使用します。逆に、スクロール位置を指定して移動させたい時は、scrollTo(x,y)メソッドを使用します。
    14:13
  • URLからサーバーの所在地やホスト名、IPアドレス、サーバの証明書や外部との接続状況、ドメインの管理状況等を簡単に調べる事の出来るサービス『aguse. - http://www.aguse.jp/』サーバがどの国でホストされているのか?等の確認で良く利用させて頂いています。
    13:12
  • android開発において、webViewの背景を透明にしたい時は、HTMLでいくら指定しても、webViewの背景はデフォルトで白なので、透明にする事が出来ません。解決方としてコードで背景色を0にする事で透過させます『webView.setBackgroundColor(0)』
    12:27
  • android開発において、ローカルに保存したHTMLをwebviewで参照するには、 webView.loadUrl("file:///android_asset/index.html");とします。 android_assetに『s』がない事と、スラッシュが三つある事に注意
    12:20
  • addRule()可能定数 ALIGN_PARENT_TOP,ALIGN_PARENT_BOTTOM,ALIGN_PARENT_LEFT,ALIGN_PARENT_RIGHT,CENTER_HORIZONTAL,CENTER_VERTICAL,CENTER_IN_PARENT
    12:09
  • android開発において、画面の下部に要素を配置したい時は、画面サイズのRelativeLayoutを作成し、その子に対して『addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);』の様に指定します。
    11:39
  • android開発において、画面遷移させる為にはintentを使用して制御を映しますが、逆に遷移先のActivityから元のActivityへ戻る際には、finish()メソッドを使用します。Activityを終了させる事により、一つ前のActivityへ戻る事が出来ます!
    11:15

人気の投稿

Category

Algorithm (2) Android (8) ASP/aspx (1) Blogger (2) C/C++ (1) Chrome (5) CSS (9) Firefox (4) Fortran (1) Google (9) GoogleMap (2) HTML (12) IE (3) Information (4) iOS (2) iPhone/iPad/iPod (2) Java (6) JavaScript (16) jQuery (9) JSP (1) LifeRecipe (5) Linux (2) Macintosh (2) MapKit (4) Marketing (7) MySQL (3) NAMAZU (2) Objective-C (7) Other (7) Perl (1) PHP (9) Python (1) RSS/Atom (2) Ruby (1) Safari (2) SEO (11) Smarty (2) SQL (2) Tex (1) Three.js (1) Twitter (1) TwitterLog (313) UIKit (5) Unix (1) VBA/VBS (1) Windows (5) WordPress (3) Writing (5) XAMPP (1) XML (1) Yahoo (2) ZendFramework2 (14)