2014年2月18日火曜日

文字コードまとめ

システム開発では必須の知識。文字コード。いままでその場しのぎだったのでまとめ。

まずは、概略をわかりやすくまとめたサイトでポイントを押さえます。
Unicode ~UTF-8、UTF-16との違い~

Windowsでテキストを保存するとき選択可能な文字コード "Unicode"がUTF-16のことだったとは!
こいつのせいでUnicodeとエンコーディングの関係を誤認識していたと思われる。

2014年2月16日日曜日

JavaScriptクックブック

0. MIMEタイプとContent-Type
  1. 「MIMEタイプ」と「Content-type」の違い
0. コマンドライン実行
  1. 今すぐ使えるJavaScriptを実行する環境まとめ
  2. Javaスクリプトが実行できない!?
0. JavaScriptで配列を扱う「Array」と「スタック」「LIFO」「FIFO」の基本
1. n進数への変換及び戻し
ex. "="を16進数へ変換&戻し
var hexCode = "=".charCodeAt(0).toString(16);
String.fromCharCode(parseInt(hexCode,16);

2. イベントのキャンセル
http://d.hatena.ne.jp/chaichanPaPa/touch/20081210/1228909643

3. クライアントのみでCSVダウンロード
http://d.hatena.ne.jp/do_aki/20130225/1361763613

4. ダイアログを開く
http://www.tohoho-web.com/js/window.htm#objWindow
http://www.ne.jp/asahi/hishidama/home/tech/jscript/dialog.html

5. 一致した文字列をすべて置換
http://javascript123.seesaa.net/article/141315325.html

6. 画像イメージについて(HTMLImageElement)
http://hakuhin.jp/js/image.html

7. Canvasの使い方まとめ
http://www.h2.dion.ne.jp/~defghi/canvasMemo/canvasMemo.htm

8. Canvas.toDataURL()でSECURITY_ERR例外が出る
http://d.hatena.ne.jp/rev84/20111201/1322709685

9. Canvasクロスブラウザ対応
http://ushisantoasobu.hateblo.jp/entry/2013/12/07/103845

10. Canvas font プロパティ
http://www.w3schools.com/TAGs/canvas_font.asp
http://www.tagindex.com/stylesheet/text_font/index.html

11. プログラムに\マークを正しく認識させる(バックスラッシュと区別する)
キーボードから\マークを入力するとバックスラッシュと同じ文字コードとなるため、その対処方法。
以下のコードで文字を取得する。
String.fromCharCode('165');
参考サイト

12. <script>タグを記述する場所は3つ

13. ホームページでPDFファイルをダウンロードさせたい

14. target=”_blank” の正しい使い方講座

15. JavaScriptで消費税計算、四捨五入・切り上げ・切り捨て

16. 日付をフォーマットする

17. 文字列のバイト数を求める

18. メーラーを起動してメール送信

19. Date/Timestamp変換のまとめ Unix時刻取得など

20. Gmail経由でメール送信
  1. JavaScript(WSH)からGmail経由でメールを送信するプログラム
  2. Gmail.js - GmailにAPIを追加するJavaScriptライブラリ
  3. Gmail.js - JavaScript API for Gmail
21. window.locationのtargetに_blank指定できる?
22. リンク指定

23. IE11でキャッシュがない場合、画像読み込み前にonload処理が実行される
以下のように、completeフラグがtrueになるまで待つことで対処
var img = document.getElementById('img');
img.src = 画像ファイル名;
while (!img.complete) {} // 画像の読み込み待ち
img.onload = function() { // 読み込み後処理}
⇒画面が固まるためこの実装はNG(参照)
正しくは、setIntervalとclearInterval(参考)を使いかつ、img.onloadは使用しない。
また、実行キュー登録⇒取り出して実行となるため、変数のスコープも注意が必要。
var timerID = setInteval (function() {
                        if (img.complete) { // 画像読み込み完了チェック
                               clearInterval(timerID);
                               // 読み込み後処理
                        }
                   }, 500);

24. HTML文章内でのJavaScript記述方法(読み込まれるタイミングなど)

25. “use strict”(厳格モード)を使うべきか?

26. window.scroll (ウィンドウを文書内の特定の位置までスクロールします。)

27. Uint8Array オブジェクト(8 ビット符号なし整数値の型指定された配列。 )

28. [HTML5][Canvas]IE8に対応したかったんだけど…

29. HTML5 CanvasをIEにも対応させる魔法excanvasの使い方

30. DOMDocument->createElementNS() — 関連付けられた名前空間に新しい要素を作成する

31. createElementNS not working in ie8 [duplicate]

32. よくある Canvas の問題を解消する

33. const ※対応ブラウザ及びバージョン注意!!

34. 処理実行タイミングに関して
  1. 処理の実行タイミングを遅らせる方法
  2. JavaScript を学ぶ際に一番重要なのに、誤解されがちな setTimeout 系の概念
  3. onload
  4. window.setInterval
35. 関数リテラル(匿名関数/無名関数) 無名関数への引数渡しなど

36. JavaScriptにさっと入門してもらうには
  1. 今更聴けない!?DOM操作(1)
  2. JavaScriptのイベントハンドラをまとめてみた
37. ドラッグ&ドラッグ操作
  1. ドラッグ&ドロップ
  2. Ajaxで複数選択ドラッグ&ドロップ
38.  audio
  1. オーディオについて(HTMLAudioElement)
  2. HTML5 audioタグでの音源の再生,停止,ミュート,スキップ,初期化,現在の再生時間取得などのまとめ
  3. JavaScript で Beep 音を鳴らす方法
  4. Audio file access with streaming 
  5. PHPで画像をbase64エンコードしてインラインイメージとしてimgタグで表示する方法(音声ファイルに読み換え可能)

39. ブラウザの閉じるボタンが押下された時の制御

40. 挙動が大事! JavaScriptでWindow.closeする時のブラウザ別対応まとめ
41. JavaScriptでバイナリファイルを扱う方法

42. メモリリーク
  1. メモリー・リークを理解する(Google Chrome Heap Profilerの紹介あり) 
  2. メモリの浪費を避けるコーディング(注意点が簡潔にまとまっている)
  3. メモリリーク対策(随時更新)
  4. JavaScript 「再」入門 (メモリリークを参照のこと)
  5. メモリ解放(deleteメソッドで解放されたケース) 
43. jQueryベースのメディア再生ライブラリ「jPlayer」

44. OS&ブラウザでそのJavaScript関数が対応しているかチェック

45. Javascriptの読み込みをひとつのファイルにまとめる「import.js」

46. JavaScriptがページの読み込み時間を遅くする理由トップ10

47. 正規表現
  1. 正規表現
  2. 正規表現パターン
  3. 全角文字を正規表現で検索
48. 同じ文字列を繰り返す

49. javaScriptでラベルの値を変更する方法(真)

50. sleep実装いろいろ

51. ウェブブラウザのウィンドウ内に擬似ダイアログボックスを表示する

52. aリンクを無効にする方法 – JQuery、javascript、[#]リンク等 – How to disable links

53. タッチイベント
  1. タッチスクリーン操作について
  2. 意外と簡単!JavaScriptでタッチイベントを取得しよう
54. 文字コード
  1. javascriptで文字コード変換
55. バイナリデータ

2014年2月13日木曜日

Webアプリケーションの再学習のネタまとめ

JavaのWebアプリケーション再学習にあたってまずはネタまとめ。
軸は、フレームワークを中心に再学習をしようって感じです。

まずは、今まで仕事で使ってきたStrutsについて。
Struts 1/Struts 2 Webアプリケーションフレームワークの比較

そして、ベースのJavaEEについて。これは本買っちゃおう。
ついでに気になるRESTも。
Beginning JavaEE6を貰ったので読んだ
RESTのコンセプトと特徴 ~REST を知ると考え方が変わる~

Beginning JavaEE6が届いたので早速、ポイントまとめ。
代表的な機能は、以下の3つ。これを中心に押さえるのがよいのかも。

  1. トランザクション機能(Java Transaction API:JTA)
  2. メッセージング機能(Java Message Service:JMS)
  3. 永続化機能(Java Persistence API:JPA)

2014年2月12日水曜日

ホームページ素材のPSD形式ファイルの使い方

前から気になっていたホームページ素材のPSD形式ファイルの使い方を簡単にまとめたサイトに遂に出会えたので、残しておきます。
ダウンロードしたPSD形式のアイコンファイルをGIMPでブログに貼り付けられるようにするには

使っているツールがフリーのGIMPってのがGood!!

本棚で眠っているGIMPのドリルひっぱりださなきゃ。

2014年2月11日火曜日

Spring Tool SuiteでWebアプリ作成その10

折角、AWSにMongoDBサーバを立てたわけですが、Security Groupsでポートを解放しても外部から接続できない事象が発生。
その対応方法をまとめます。

【直接原因】
/etc/sysconfig/iptablesにMongoDBのポート開放設定がないため。
なのでポートを開放すると接続できました。まずは解決。

参考サイト
Linuxでポート開放する

そこでふと疑問が。なんで前回立てたTomcat APサーバのポートはSecurity Groupsでのポート開放のみでOKだったのか。
多分の回答は、以下の通りサーバ作成時ベースにしたAMIの違いのようです。
Tomcat APサーバ:AMI = Amazon Linux AMI 2013.09.2 - ami-def297ee (32-bit)
MongoDBサーバ:AMI = Red Hat Enterprise Linux 6.4 - ami-baa63b8a (32-bit)

皆さん、AMIを選択する際はご注意を。

その他、最初mongo.confの設定を疑ったのでその時の参考サイト。
  1. mongoDBの公式おすすめ設定、mongodb.conf、クエリチューニングなど
  2. Run-time Database Configuration
  3. AWS/MongDBの利用事例
おまけで、よく使うlessコマンドで行番号を出力するオプションについて。
lessで行番号表示

2014年2月8日土曜日

ブラウザの開発ツールまとめ

今後、もう少しお世話になろうと思っているブラウザに標準装備されている開発ツール。

まずは、よく使うChrome、FireFox、IE9の開発ツールまとめサイトのリンク。
  1. Web開発でよく使う、特に使えるChromeデベロッパー・ツールの機能
  2. IE9 F12 開発者ツールについて
  3. FireFox 開発ツール
それぞれ使ってみて、使い心地を比較してみようと思います。

2014年2月2日日曜日

Spring Tool SuiteでWebアプリ作成その9

前回の投稿でAWSまわりの初期設定を行ったわけですがその続き。

まずは、AWSへのクライアント設定で出てきたTeraTermの便利設定の資料リンクまとめ。
  1. Tera Termマクロ活用入門(1):各種ログインを自動化する
  2. TeraTermで初期設定ファイルを読み込ませる
ついでに途中で64bit版と32bit版どちらかわからなくなったので。