いちSEのつぶやき

エンジニアとして、気になることを残していきます。

オープンソーステクノロジー勉強会参加メモ

11/20にオープンソーステクノロジー勉強会に参加してきました。
テーマは「HTML5」です。
ほとんど予備知識なしで参加しましたが、HTML5の新機能の
概要を把握することができました。


講師は、

株式会社あゆた取締役、html5-developers-jp管理人、Google API Expert(HTML5)

という肩書きをお持ちの白石俊平さん。


ということで、備忘も兼ねて参加メモを残しておきます。



HTML5とは

  • 2009/10末に最終ドラフトが発表されたHTMLの最新仕様
  • W3C勧告は2022年だが、使えるのはもっと前

  ⇒IE8/GoogleChome/Opera/FireFox3.6/Safari等で実装が進んでいる

  • HTML4との大きな違いは以下の2点
  • タグ中心の仕様
  • API中心の仕様
  • 書き方

  HTMLファイルの先頭に空のDOCTYPE宣言をする
  ⇒こうするとブラウザのレンダリングエンジンが
   最新Verで解析する

■変更点概要

  • タグがたくさん増える
  • sectionタグ
  • アウトラインを構成するタグ

  ⇒従来のDIVタグのようなもの

  • すべての要素が何らかのsectionに所属する
  • アウトライン化のメリッド

  プログラムで適切に処理できる
  ⇒正確なデータが取れる

  JSで自由に操作が可能な描画用のタグ
  ⇒2D/3Dが可能
  ⇒GIFなどの画像よりも柔軟性が高い

  • Video

  JSで自由に操作が可能な動画再生用のタグ
  ⇒動画フォーマットが標準化されてない!(かなり問題)
  ⇒しかし、GoogleがOn2Tecを買収したことにより、
   標準化が進むかもしれない(期待)

■WebForm2.0

  • Form関連タグの種類が大幅に増えた

  ⇒現在はOperaが頑張って実装してる

  • validateが楽になった

  従来はJSやJSF-Taglib等で実装していた部分が
  HTMLの標準になっている

  • ドラック&ドロップ

  他のアプリとのデータ連携が簡単にできるようになった

■追加されたAPI
【アプリケーションキャッシュ】
  リソースをローカルにキャッシュする仕組

【WebDataBase】

  • クライアント上で動作するRDB
  • SQLをフルに利用できる
  • ドメイン毎に領域が違い、1つのドメインに複数のDBを装備することも可能
  • 非同期APIと同期APIがある

   ⇒ブラウザをフリーズさせないように設計されている

【WebStorage】

  • KVS(Key-Value-Storage)型
  • 扱いが非常に簡単

【WebWorkers】

  • バックグラウンドで動くスレッド
  • 今のJSはUI処理の一環として動くため、JSで思い処理を するとブラウザはフリーズする
  • 注意点

  window/document等のDOMを見れない
    ⇒データ共有にはメッセージングを利用する
  debugerで追えない

【WebSockets】

  • クライアント/サーバー間を双方向通信をする仕組

   ⇒今まではサーバー⇒クライアントの送信の仕組がなかった

■所感
HTMLレベルでここまでできると、Webアプリの形が大幅に
かわることは間違いない。
実際に業務で利用するまではまだ時間はありそうだが、
早い段階から学んでおく価値はあります。

IEでのファイルダウンロード文字化け問題

IEでファイルをダウンロードする時に文字化けが起きたので調査。


通常は、以下のようにURLエンコードしてあげれば問題ない。

 String dFilename = URLEncode.encode(finename,"UTF-8");
  response.setHeader("Content-Transfer-Encoding","binary");
  response.setHeader("Content-Type","application/force-download;charset=UTF-8");
  response.setHeader("Content-Disposition","attachment; filename=" + dFilename);

しかし、これだと一定以上の文字数でダウンロードダイアログで文字化けが発生。


原因は、文字数制限。
  ⇒


IEでは255バイトを超える文字は文字化けする仕様らしい。


しかも、UTF-8でのエンコードだと全角が6バイト9バイトに変わってしまうため、
文字数の制限が激しい。


さらに、HttpHeaderに何を設定してもIEShift_JISエンコードされているものと
判断するらしい。
 ⇒


対応としては、IEでダウンロードさせる場合は、
Shift_JISエンコードしてHttpHeaderに設定させてあげればOK。

 String dFilename = new String(finename.getBytes("Windows-31J","ISO-8859-1"));



この場合、IE7の5C/7C問題に引っかかるが、すでにパッチがでているから最新を適用すれば大丈夫。
 ⇒IE7で、ダウンロード時に特定の文字が化ける - 倖せの迷う森


ただし、それ以前のIEだと、コロンやセミコロンなどの2バイト目が5C/7Cの文字が
ファイル名に含まれているとNG。


【参考】
負けるな!新人SEのノンストップ自己研鑽生活(Javaプログラマ&新人パパの子育て日記帳) ファイルダウンロード時の日本語ファイル名の文字化け
IEでファイルダウンロード時の文字化け - guccyonikki

勉強会

今日は勉強会でした。
以前よく使っていた喫茶店が閉店していたのは、
びっくりです。
時代ですかね。。。



5冊目:

前回はポインタではまりましたが、
今回は共用体にやられました。。。


考え方はなんとなくわかるのですが、
使いどころが今イチでした。


とりあえず、XCodeをインストールして、
書籍内にあったコードを読んでみました・・・が、
やっぱりよくわかりません orz

Excel1小技

最近Macに買い換えしました。


書類作成用にMac用のOfficeを入れたのですが、
Winの時と色々かってが違って困ったことが結構あります。


そんな時に、見つけたのがこのサイト。
http://doruby.kbmj.com/katsuo_on_rails/20080831/mac_excel_2004_


controlキーの使い方がいまいちつかめない今日この頃です。

人の成長と自分の成長

システム開発を生業にしていると、仕事の単位が
プロジェクトになります。
IT業界は狭いもので、以前仕事をした人とまた
一緒になることがあります。


前に仕事をした時より、断然できるようになっていると、
自分はどうなんだろう?と考えてしまいます。
同じ時間を使ったはずなのに、自分の伸び率が
イマイチだと凹んでしまいます。
器が小さい考え方だとはわかっているのですが、
どうしても比較してしまいます。


20代の若いうちは伸び率が半端ないので、
どうしても凹むことが多い今日この頃でした。

officeの差分をとるツール

Excelなどのファイルの差分を取るのは結構大変。
しかも、CVSSubversionなどの構成管理ツールで
管理しているとさらに大変。


何かいいツールはないかと探していたところ
WinMergeというツールが見つかりました。
ホームページ移転のお知らせ - Yahoo!ジオシティーズ


このツールには別途プラグイン※があって、
それを入れるとOfficeの差分が結構きれいに見えます。
xdocdiff WinMerge Plugin -Word、Excel、PowerPoint、pdfの比較・差分を見る-


実際に少し試してみましたが、Excelの差分は
結構キレイに見れました。
HTMLエクスポート機能もついているので、
Snapshotとしても残せそうです。

ビジネスを知ることの重要性

できるIT技術者はバイリンガルを目指そう:ITコンサルタント宣言! ~MALTな日々:エンジニアライフ

この記事を読んで、SEとしてもっとビジネスを勉強しなければ
いけないなと思いました。
もちろん、技術的な知識はSEのベースとなる
ものなので必要です。
ですが、ある程度経験を積んでお客さんの業務に
近いところで仕事をするようになると、
ビジネス視点が必ず必要になります。


その時にキチンと相手と同じ土俵で話ができないと
お客さんとの関係を深めることができません。


拙い感想ですが、自分の学習ベクトルを見つめなおす
いいきっかけになる記事でした。


最後に、本文中の以下の文に思わずニヤリとしてしまいました。

マイケル・ポーターなんてやつは知らねえ。
 こっちの世界じゃ、神はトム・デマルコだ」などと
 言ってみたところで始まりません。