悩めるSEの雑記です

日々思いつくがままです

プログラミング生放送勉強会 第15回@大阪(とりあえず版)

はてな用に清書していませんが新鮮なうちに公開します。



★勉強会レポート http://goo.gl/GsAmO

 プログラミング生放送勉強会 第15回@大阪行って来ました。
 以下メモレベルですがシェアさせて頂きます。
 

                                                                                                                              • -

●コンテンツ
 1.3日で作る Web サイト
 2.GC擬(もどき)をJSで

 3.明日から使えない IndexedDB

 4.Metro styl apps の ALL テクノロジ★早めぐり紹介
   & C++ ネイティブアプリケーションフィーチャー!

 5.最近はやりのプラットフォームを楽しもう
   〜Windows AzureKinect編〜

 6.Gerrit(LTからの拡大セッション) odaさん

 7.ライトニングトーク大会
  ・CppCMS
  ・リーン・スタートアップ
  ・Japan SharePoint Groupの紹介

                                                                                                                              • -

●進め方

 プレゼンツールMISAOを使って、Twitterハッシュタグへのコメント
 とニコ動のコメント?をプレゼン映像にオーバーレイさせてのセッション。
 その中に質問があれば、それにも答えつつ進んでいきます。

 また匿名で質問できるようにGoogleモデレーターで質問を受け付けていました

                                                                                                                              • -

●3日で作る Web サイト(@jz5さん)

 IT勉強会スタンプラリーのサイトを3日で作った話(本当は300日)
 http://it-stamp.jp/

 作ったサイトは
  ・一般ユーザ向け画面
  ・スタッフ向け管理画面
  ・ブログ
 の3つで「シンプル」が方針

 技術要素としては以下を採用
  ASP.NET(Razor構文)
  IIS
  WordPressPHP ・・・ブログかな
  Twitter Bootstratp

 サイボウズLiveで運営グループを作成
 
 ◆CMS
  dotNetNukeを考えていたが、マニュアルが長大で諦めた
  色々探したが良い物がなく、結局ASP.NET MVCでサイト構築することに
 
 ◆デザイン
  SketchFlow※でプロトタイプをデザインした
   【注記】http://goo.gl/ZscoH
    Experssion Blendに含まれるプロトタイピングツールです
    存在は知っていましたが、実際の画面を見るとイメージとは違っており、
    ペーパープロトタイピング見たいな感じでした。
    画面遷移図も作れます。

 ◆Razor構文
  Webページ中にサーバー処理コードを記述できる。
   【注記】
    現在のASP.NETはパーシャルクラスを使って、コンテンツと処理を分けて記述しますが、
    レガシーASPや、ASP.NET 1.Xのようにコンテンツ中に埋め込むものになっています。

  とてもお手軽にサイトの構築ができる。
  レガシーASPっぽいけれど、モダンな表現のサイトが作れる。
  ユーザ認証などの機能も用意されている。
  言語はXXX.NETでWebMatrixからも使える。
   【注記】WebMatrix
    Microsoftから提供されている無償のWEBサイト作成ツール
    お手軽さが売りでしょうか。

 ◆Twitter Bootstrap
  Twitter社が提供しているCSSフレームワークです。
  Scaffolding横幅[940px]、12列に分割して考えるようになっている。
  簡単に画面を分割するデザインが作れる(クラスを指定するだけ)
  
 ◆ASP.NETのあれこれ
  基本自動で文字のエスケープがされる。
  対処が実装されていないと例外をスローするようになっている。

                                                                                                                              • -

 モダンな技術要素がたっぷり紹介されていて興味深かったです。
 世の中には便利なものが沢山あるので、アンテナを張っていいものを
 積極的に取り込んで行きたいです。

                                                                                                                              • -

GC擬(もどき)をJSで(@to_uedaさん)

 イベントに参加して、自分もやってみようと思った。
 GC on GCは誰もやっていないはず。
 (でも著者が2008年にやっていた! http://goo.gl/Na6F6
 
 まずマーク&スイープGC法でやってみた。
  ・ルートオブジェクトから順にたどって使用されているメモリにマークを付ける
  ・マークの付いていないメモリ破棄する
 というもの。
 
  〜JSで作ったアプリでデモ〜
 
 このアルゴリズムを繰り返してゆくと「フラグメンテーション」が
 生じ、大きなメモリが確保できなくなる。そこで・・・コンパクション。
 使用されているメモリを片方に詰めて、空き領域を大きく確保するもの。
 マーク&コンパクションGC法。
 
 ただしこれはトレードオフ。コンパクションするにはそれなりの時間が掛かる。
 コンパクションしている間は他の処理が止まってしまう。

 04/23 資料が公開されました。こちら

                                                                                                                              • -

 「やってみよう!」と言う姿勢は見習いです。

                                                                                                                              • -

●明日から使えない IndexedDB(@mzsm_jさん)

 ブラウザ上で動作するデーターベースIndexedDBの解説。
 他のドメインで保存されたデータにはアクセスできない(SameOriginのもののみ)
 
 対応ブラウザ
  Chrome11〜(Chromeアプリでも使える)
  Firefox4
  IE10〜(Metroでも使える)
  Safari/Operaいまはつかえない

 今も活発に仕様策定がされており、頻繁に変更が生じている。
 そのため結果的にブラウザごとの実装されている仕様もバラバラ。
 なので・・・明日から使えない、と。
 
 <ユースケース
  辞書アプリで一度参照した物をローカルに保存しておく
  ニュースリーダーなど先読みして保存しておく
  →キャッシュ的な物
  
 特徴
  スキーマーレス
   JSのオブジェクトみたいに「型」を持たない。
   レコード毎に好きな型のオブジェクトを格納できる。
  OO
   用語自体がOOになっていることからも分かるが、
   オブジェクトモデルを採用している。
  非同期処理
   処理は非同期処理で実装する
   非同期処理まみれになる・・・orz
  トランザクションに対応
   というか全てがトランザクションの中でおこなわれる
   読み取り専用と、読み書き用の2種類がある
   読み取り専用・・・共有ロック
   読み書き用 ・・・排他ロック
  ロック
   いわゆるテーブルロックのみ
  インデックス
   検索はインデックスと主キーでできる
   インデックスがないと検索できない

 色々あるけれど・・・出来ない事は「工夫」する!

                                                                                                                              • -

 ローカルにかなり大きなサイズのデータを保存できるようになれば
 これまでにないWEBアプリが作られるようになるかもしれませんね

                                                                                                                              • -

●Metro styl apps の ALL テクノロジ★早めぐり紹介
  & C++ ネイティブアプリケーションフィーチャー!(@hr_saoさん)

 Windows8で使用できる開発環境のお話。
  UI部
   XAMLCSSDirectX
  Logic部
   .NETの各種言語、JavaScript
   
  →XAMLは.NETの各種言語と組み合わせて開発可能
 
 C++の話
  拡張言語 C++/CX
  C++11に標準準拠
  並列処理をサポート
  GPUをサポート
  ビルドの構成を「GPU Only」にすると、並列処理部にブレークポイントが設定できる

                                                                                                                              • -

 CPUのマルチコア化が始まった頃から、高速化は並列化に向かっていますね。
 今でもバッチ処理などでは並列処理することが多いようですが、
 これから益々増えて大切になりそう。

                                                                                                                              • -

●最近はやりのプラットフォームを楽しもう
   〜Windows AzureKinect編〜(@kamebuchiさん)

 Kinect for Windowsスペシャルパックが04/16から発売開始!
 「窓辺みなみ」と「クラウディ窓辺」のKinect対応3Dデータが収録!
 http://goo.gl/ioYpz

 クラウドのことを知りたい方はマイクロソフトのコチラを御覧ください
 http://goo.gl/XMJpi

 ◆Azure
  最近のマイクロソフトOSSにも力を入れており、OSSプロダクトも利用しやすいものになってきている。
  実際の物理サーバは世界8箇所に設けられている。ちなみに日本にはない。
  日本にあるのは富士通が提供しているもの。

  日本から利用する場合は、香港、シンガポール、東南アジアのものが利用しやすい。

 ◆Kinect
  for WindowsXBOXの2種類がある。
  開発環境としては以下の2種類、
  
  1.Kinect for Windows SDK
    .NET環境から利用できる
    商用利用も可能
  2.OpenNI(OSS
    Kinect以外にも対応している
    
 Kinectで人の動きを読み取り、クラウディアさんの3Dモデルを踊らせていました。
 それをAzureで動画配信!

 最後時間が余ったのでライブコーディング

                                                                                                                              • -

 Kinectは正直まだ使いどころがよくわかりませんでした。
 Azureは・・・やっぱりまだぴんと来なかった
 そうそう今無料トライアル実施中です。くわしくはこちら
 http://goo.gl/bk2Gb

                                                                                                                              • -

●Gerrit(LTからの拡大セッション) odaさん

 Git用のコードレビューシステム
 資料がシェアされていますので御覧ください。
 http://goo.gl/IH9VL

 大雑把に言いますと、検証とレビューでOKにならないと本番用リポジトリにPUSHさせないものです。
 Gerrit上でコードレビューが可能で、インラインコメントが付与できます。
 指定されてレビュアはコードを採点します。合計得点が決めた上限以上でなければNGとなります。

 検証はJenkinsなどのCIツールを利用することで自動化可能。

                                                                                                                              • -

 Gitを使うことはなかなか無いので、Gerritも使う機会はなさそうです。
 しかしGit以外のVCSに対応したものもあります。
 例えばReview Board http://goo.gl/XkrU8
 色々と便利な機能があるようです。一度試してみようかな。

                                                                                                                              • -

●ライトニングトーク大会
◆CppCMS(@kyubunsさん)
 なんとC++用のWEBフレームワーク!!
 FAQサイトのやり取りがめちゃ面白かったです http://goo.gl/5ikhx

◆リーン・スタートアップ(@you_and_iさん)
 先週の冒頭でもご紹介したリーンスタートアップです。
 書籍自体は企業についてのものですが、企業によらず、目標を達成すると言うことであれば
 この考え方は役に立つと仰ってました。
 04/23 資料が公開されました。こちら

◆Japan SharePoint Groupの紹介(@@SharePointIssueさん)
 上記コミュニティについての紹介でした。
 SharePointはアプリケーション開発基盤としても面白いとおっしゃっていました。

                                                                                                                              • -

●懇親会
 前回もそうでしたが今回も学生さんが多く、就活・採用試験に関心ありありで
 あれこれ聞かれました。

 また福祉という全く業界の違う方がおられ、エンドユーザ側の声も訊くことが出来ました。
 Windows Updateさえままならないほど閉鎖的でアナログな現場で
 なんとかしたいんだけど・・・と。またITリテラシーをしっかり指導できる人が
 もっと必要なんじゃないかともおっしゃっていました。
 確かにそうかも知れません。閉鎖的なのも、逆にウィルス等で被害をうけるのも
 正しいITリテラシーを身に着けていないことから起きるものですものね。