ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

「WebGLはなぜ流行らないのか」を聞いてきた

2013-02-25 03:07:25 | JavaとWeb
OSC2013 Tokyo Springの
2月22日(金曜日)に聞いてきた

WebGLはなぜ流行らないのか

をメモメモ




■1.世の中の動向
・WebGLとは 
  3Dグラフィックスを扱うためのAPI仕様
  HTML5の仕様の1つ

・HTML5とは
  ぶらうざをOS化させる
  →OSのAPIがコモディティ化
   ・・・のはずが、フレームワークがいっぱいできて・・
  ただ、コモディティ化とは別の方向で確立されつつある

・WebGLの現状
  Googleトレンドでは、どんどん減っている

・WebGLの歴史
 2006年 ウラジミール氏(もじらの人)がWebGLの構想を作る
 2009年 WebGLワーキンググループ結成
   →期待されていた、あのころ・・
 2010年 仕様を模索
       フレームワーク「Three.js」出現
 2011年 いようよ実装
  2月 3日 Google Chrome9
  3月 3日 WebGLが標準化
  3月23日 FireFox4.0
  6月16日 マイクロソフトは、有害と拒否

 2012年 主にGoogleサービス
  4月30日 玉転がしゲームから、でてこない・・・

■2.ぶらうざ対応市場
  IE、SafariのようなOS付属ぶらうざ強い

  IE10 WebGLは対象外(ただし、動かす術なら・・プラグイン?)
  Safari 相変わらず対象外
       iPhone→iAsで
  FireFox 設定すれば・・・FireFox for Mobileでは動く
  Opera  デフォルト無効、設定すれば
  Chrome がんばってる。デフォルトで動く

■3.実装方法
  WebGLはCanvasに依存
  WebGL=OpenGL-冗長なAPI+入力IF
    2D系はHTML,Canvasで処理
  Canvasタグ内に描画する
    JavascriptからWebGLのAPIを利用

  cf
    Direct3DはDirectXのサブセット
    WebGLとは異なり、入力は別で受け持つ
    2D処理は3Dで代替
    ウィンドウ上に描画

  WebGLはJSのVMで動く⇔DirectXは直接
   →ChromeのV8 VMの勉強が必要かも?

  WebGLはユーティリティない

■まとめ
  すなおにThree.jsつかったほうがいいかも

   

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「昨日まではTOMCAT、今日からGlassFish」を聞いてきた

2013-02-23 18:16:15 | JavaとWeb
きのうのOSC 2013 Tokyo Springで

昨日まではTOMCAT、今日からGlassFish

を聞いてきたので、メモメモ




■講演

・JSP、サーブレットの参照実装は、GlassFishになっている
  →Tomcatは後追い

・GlassFish:2つの意味
 オープンソースのコミュニティと
 アプリケーションのサーバー名

・オープンソースから本番環境に移すとき
  →ORACLEの商用サポートを利用する手も

・GlassFish
  JavaEE5 参照実装(それ以前はTOMCATが参照実装)
  JavaEE6 V3が参照実装

 機能を、コントリビューターが提供することも
   例:アプリケーションのバージョニング
 OSGiモジュールで独自機能を入れられる(アドオン)
 オープンソースから商用版に移行できる
 OEM製品:Interstageの中身はGlassFish

 Webプロファイル
 中央集中管理機能

・TOMCATの利点:GlassFishでも
  オープンソースで無料版がある
  利用者は多い
  軽量:起動時間数秒
  unzipでインストールOK
  Eclipseも対応している

・機能
  GlassFish 2つ・4つのバージョン
    英語版とマルチリンガル版
    フルプラットフォームとWebプロファイル版(軽量)
  オープンソース版・製品版のちがい:名前

  ドメインを複数作ることが可能

  ウィザード形式で設定、デプロイ

  Restful管理チャネル:JSON、XMLなど

  セッションの持続機能がある

  OSGiの管理機能
   →Glass FishモジュールはHK2APIを使ったOSGi

  Java NIO

  JavaSEからGlassFish呼び出せる
    →JUNITを使うとき

・V3.1の新機能
  アプリケーションバージョニング
  クラスタ対応
    SSHプロビジョニング→自己増殖(WindowsではDCOM使う)
    ローリングアップグレード機能提供
  WebSocket対応(JAVA EE7から標準)
  WebLogicとの互換性
  管理・監視用機能

・JavaEE7
  対応するのはGlassFishV4:開発進んでいる

・慣れの問題




■Q&A
・Tomcat上で動いてるstrutsは動く?
  基本的には、動くはず

・EJBの初期化は?
  ブログに書いてある。ぐぐればわかるはず

・JBOSSにくらべこっちのほうが、どこがいい
  管理画面などのやさしさ
  参照実装

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「いまさら聞けないHTML5とWebPlatform.org」を聞いてきた

2013-02-23 15:14:07 | JavaとWeb
きのうのOSC2013Tokyo/Springで

「いまさら聞けないHTML5とWebPlatform.org」

を聞いてきたので、めもめも




■W3CとHTML5

・W3C
 Webの標準を策定する団体
 議論はメールIRCで、24時間?続けられている

・W3C標準
 HTMLやCSSだけじゃない
  SVG、XML,SPARQL、
  セマンティックWeb、

・HTML5
 2012年12月7日
  HTML5使用策定完了

 W3Cのステップ
  ワーキングドラフト

  Last Call:

  Candidate Recomendation:いまここ

  Proposed Recomendation

  Recomendation
    2014年くらい?まだかかる・・・

・そろそろ使っていきたい
  大分実装されてきました。
  http://caniuse.com/(きゃんないゆーずどっとこむ)でどこまで実装かわかる
  まだ未実装も多い

■HTML5入門
・簡単に使えるのをまとめてみた。
  HTML5 Markup
    html5shiv/html5shimを使って古いぶらうざでエラーがでないようにするか
    createElementを使う
  Video
    コーディック:現実的にh.264
     firefox OSにコーディックが入っていれば、動作する
     Operaはwebkitに移行
    Subtitleで字幕出せる

  CSS3
    シャドウ系(ボックスシャドウ、テキストシャドウ)
    角をまるく
    グラディエント
      プリフィックスないものも入れておくこと
      (ないものに変わっているので)
    CSSセレクタ
       n番目の子供
       enable,disable
       not
  あたらしいInput Type
       電話番号、e-mail:レンジ、datetime-local
  フルスクリーンAPI
       Javascriptで    

・廃止された要素
   frameは完全に廃止。iframeへ

・HTML5.1
   すでに作成開始。AppCache v2とか

・バリデータ


■webplatform.org
・ぐぐると、いっぱい出てくる
 いろいろなところにいろいろまとまってるけど
 何が最新で、どれを見たらよいかわからない

・W3Cとぶらうざメーカーで
・webplatform.orgに、情報集める
  サーバーサイド、ライブラリは対象外

・リファレンスなど

・まだ英語版しかない
  翻訳始まっている
・メーリングリスト、IRCある

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

圧倒的な進化を続けるMySQLの最新機能

2013-02-23 12:11:48 | トピックス
きのう、OSC 2013 Tokyo/Springで

「圧倒的な進化を続けるMySQLの最新機能」

を聞いてきたので、メモメモ




■MySQL最新動向

・MySQL 世界でもっとも普及しているオープンデータベース

・Oracle DatabaseとMySQL 補完関係
  Oracle:ニーズに見合わないときも
  MySQL:Webサイトのデファクト
 Oracleを使っている人の7割がMySQLも使ってる!

・買収されたとし5.5
 2011 5.6DMR(ベータ版)
 2012 5.6RC
 2013 2月5日 5.6GA

・5.6 かなりの改造
 オプティマイザ 劇的性能改善
 InnoDB  強力な開発体制
 レプリケーション改善
 NoSQL MySQLはNoSQLもやります。

・こんな例:インド版国民背番号制度
  →25ペタバイト(サーバー増強中)

・コミニティ版と商用版
  コアの機能は同じ
  5.6の改良点は、コミニティ版にも
 ちなみに、アクティブアクティブのクラスターサーバー
  コミニティ版にも商用版にも

・サポートサービスの中にSQLチューニングも入る
  →スタンダードエディション
  →これをきっかけに入る人もおおい

・外部認証、接続本数が多い場合、監査
  →エンタープライズエディション

・Oracle製品とMySQL Enterpriseの動作保証→すすんでる

・MySQL クラスター
  Nodo.jsからNoSQLでアクセスできる

・MySQL5.6GA
  オプティマイザ
  InnoDB,レプリケーション
 その結果
  参照:高い性能

・InnoDB
  2005年からOracleが提供
  今回
    性能:内部的にがんばりました・・・
    参照専用トランザクション
       →参照3倍あがった
     SSD最適化
   バッファプールから:キャッシュのあたため必要なし

・NoSQL API
   Memcashedで話せる
    →ざっくり9倍
   →InnoDBのみ対応

・オプティマイザ
  一新
  数日→数秒

・Explain:Delete,Update、Insertも

・グローバルトランザクションID

・パフォーマンススキーマ
  SQLのチューニングに必要な統計情報
  OFFにすると、性能統計とらない→高速になる

・優先課題
  方向性かわってない
  リファクタリング

・お知らせ
  MySQLヘルスチェックプログラム
  MySQL5.6 GA 関連セミナー開催
    3/1(金) 東京 MySQL テックツアー

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「ビジネスインテリジェンス入門」を聞いてきた

2013-02-23 08:09:46 | AI・BigData
OSC2013 Tokyo/Springで

ビジネスインテリジェンス入門
~OSSでBIをはじめよう~

を聞いて来たので、メモメモ




■1.BIとは何か

1989年 ハワード・ドレスナー
 (ガートナーアナリスト)が」提唱

経営者や一般のビジネスパーソンが情報分野の専門家に頼らずに自らが・・・

<<インテリジェンス>>
限られた情報から、様々な角度から分析
→ただデータを並べて、引き出せるということではない

  少ないデータを元に
  新しいデータが追加されるたびに見直し
  機械的な部分と経験に基づく部分
  知恵という場合も

最近のBIの意味
・ビジネス用途のデータから対話形式によって重要な知識を獲得

Data:事実
   ↓
*Information:情報
*   ↓
*Intellgence:知恵・知見
   ↓
Decision:意思決定
   ↓
Action:行動

*がBI

■2.なぜBIが必要か

・業務ごとに分断されているデータを活用し、経営資源としたい

  ビジネスのスピード重視
  グローバル化
  経営者の責任増大
  複雑化する業務
    ↓
  蓄積されているデータを迅速に分析・判断・共有する必要
  データは企業共有の資産として活用されるべき


■3.BIツールとは何か

・BI=BIツールではない
  経営情報システムだけではない
  OLAP分析だけでもない
  決まった概念でもない

・企業システムなどで大量に蓄積されているデータを
 有効に活用・見える化するためのツール

・どんなことをするのか
  データを集める、整理する
  データを眺める
  データを表現する
    ↓
  データを情報化し、そこからインテリジェンスイを導き出すことで
  経営意思決定の支援を行う

・BIツールの構成
  リレーショナルデータベース
    ・ETL処理
    ・データマイニング、テキストマイニング
  データウェアハウス

  データマート(多次元データベース):キューブ

・(1)データを集める・整理する
  データ抽出、統合
    データマイニング
    テキストマイニング
    ETL(DSAおよびODS)

  データの保管
    データウェアハウス
      →分析する立場だと、ここがマスタ

・スタースキーマ
 細かい単位で持っている
 ファクトテーブルに対して、ディ麺ジョンテーブルが複数連携した形になるので、
 スタースキーマと呼ばれる

・(2)データを眺める
  オンライン処理分析(OLAP)
    キューブ
    ドリルダウン、スライシング、ダイシング

  R-OLAPとM-OLAP
    R-OLAP:キューブのモノはない。DBの中
    M-OLAP:キューブはある(結果が入っている)
  →レスポンスとETLの速さ

 その他の分析
  統計分析
   回帰分析、シミュレーション

  マーケット分析
   RFM,SWOT(数字ではない)、バスケット

・(3)データを表現する
 ・レポート
    目的に応じたデータ集計、表現

 ・ダッシュボード
    ユーザーの必要な情報を画面で一覧表示
    KPIの設定→ドリルダウンで詳細

■Jasper(Report)Serverとは
 ・フルオープンソースで実装されたBIツール
 ・Javaで実装
 ・コミュニティと商用
 ・BI Suite
 ・5.0が一番新しい
 ・Excelに出力できる(PDFも)
 ・商用版
   アドホックレポート
   ダッシュボード
   ユーザー・ロール管理

周辺製品
  JasperReport
    レポートライブラリ
     テンプレートをXMLで
  iReport
    帳票作成
      jasperStudio:eclipseベース(過渡期)
  JasperETL
      talendを使っている
       JasperはPostgre,MySQL
        →ほかのものから、持ってくるとき
      スケジューリング機能

■5.日本JasperServerユーザー会
  Googleグループで
  Webサイトでノウハウ

 JJSUG Qshu「みえだめプロジェクト」

■6.まとめ
1.BIとは
 データの山から自分たちに必要な価値を導き出すこと
2.なぜBI
 IT化が進んで蓄積されたデータを生かす
3.BIツールとは
 BIすることを目的としたツール

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PHPでExcel-PHPExcelの遊び方(6)グラフを描いてみる

2013-02-22 17:10:20 | PHP
前回の

PHPでExcel-PHPExcelの遊び方(5)リンクさせたり、枠を書いたり
http://blog.goo.ne.jp/xmldtp/e/34c211549134c1b89a5257dbc4636830

で、文字をテキトーにいじくったので、今度はグラフ!

といっても、じつは、PHPExcelをダウンロードして、
解凍すると、Testsっていうフォルダができるけど、
そこにある「33chartcreate-bar.php」を、そのまま
ぱくって書いてある(^^;)
いや、ちょっとかえたよ(^^;)




■お題

以下のようなExcelファイル

「PHPExcelSimple1.xls」を読み込み

のように、グラフをつけて
「PHPExcelSimple3.xlsx」に書き出しなさい

*注:xls(Excel5形式)では、グラフを書き出しませんでした。




■ソースコード

こんなかんじ。
<?php

/** エラーのための設定 */
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
date_default_timezone_set('Asia/Tokyo');


/** PHPExcelのインクルード */
require_once '/Classes/PHPExcel.php';
require_once '/Classes/PHPExcel/IOFactory.php';
require_once '/Classes/PHPExcel/Chart.php';

// PHPExcel作成
$objReader = PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel = $objReader->load('PHPExcelSimple1.xls');

// セル値設定(はじめのシートに値が設定してある)
$objPHPExcel->setActiveSheetIndex(0);

// グラフのデータを設定
$dataseriesLabels = array(
	new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$B', null, 1),	//	2010
	new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$C', null, 1),	//	2011
	new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$D', null, 1),	//	2012
);

$xAxisTickValues = array(
	new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A:$A', null, 4),	// Q1 to Q4
);

$dataSeriesValues = array(
	new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$B:$B', null, 4),
	new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$C:$C', null, 4),
	new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$D:$D', null, 4),
);

//  データ生成
$series = new PHPExcel_Chart_DataSeries(
	PHPExcel_Chart_DataSeries::TYPE_BARCHART,		// plotType
	PHPExcel_Chart_DataSeries::GROUPING_CLUSTERED,	// plotGrouping
	range(0, count($dataSeriesValues)-1),			// plotOrder
	$dataseriesLabels,								// plotLabel
	$xAxisTickValues,								// plotCategory
	$dataSeriesValues								// plotValues
);

// グラフの設定
$series->setPlotDirection(PHPExcel_Chart_DataSeries::DIRECTION_BAR);
$plotarea = new PHPExcel_Chart_PlotArea(null, array($series));
$legend = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_RIGHT, null, false);
$title = new PHPExcel_Chart_Title('Test Bar Chart');
$yAxisLabel = new PHPExcel_Chart_Title('Value ($k)');

// グラフ作成	
$chart = new PHPExcel_Chart(
	'chart1',		// name
	$title,			// title
	$legend,		// legend
	$plotarea,		// plotArea
	true,			// plotVisibleOnly
	0,				// displayBlanksAs
	null,			// xAxisLabel
	$yAxisLabel		// yAxisLabel
);


// グラフをワークシートへ
$chart->setTopLeftPosition('A7');
$chart->setBottomRightPosition('H20');
$objPHPExcel->getActiveSheet()->addChart($chart);


// xlsx形式でSave 
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->setIncludeCharts(TRUE);
$objWriter->save(str_replace('.php', '.xlsx', __FILE__));


echo 'おわり' ;





■解説
前回と違うところのみを解説

・インクルード
 チャート用に

require_once '/Classes/PHPExcel/Chart.php';

を追加


・グラフのデータを設定
PHPExcel_Chart_DataSeriesValuesを作って、
  $dataseriesLabelsに、年を、
  $xAxisTickValuesにQ1、Q2,Q3,Q4(四半期)を、
  $dataSeriesValuesにデータ
を設定して、それらを、PHPExcel_Chart_DataSeriesで1つにまとめている

・グラフの設定・生成
 いろいろこまごまとした設定をしたあと、
 PHPExcel_Chartでグラフを作成してる

・グラフをワークシートへ
 addChartで、グラフをワークシートの中に追加している

・書き出し
 いつもとちがって、xlsx形式で書き出している
 (xlsだと、グラフを書き出さない)




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「SP SDNアーキテクチャと抽象化」の内容を思い出してメモメモ

2013-02-22 13:28:40 | トピックス
あー、もう時間がたちすぎちゃっているけど
2月13日のCisco Connect

「SP SDNアーキテクチャと抽象化」

について、めもめも・・・
かなり忘れているので、メモをもとに書いているが、
間違っているところや、抜けているところ、いっぱいあるかも。
ごめん・・・・




■技術変遷のパターン
・共存、対立と淘汰 OSI VS TCP/IP
・進化
・サードパーティーによるdisruption
  MPLS Ipsilon
  SDN  Openflow

・ネットワークは
  仮想化と自動化が足りない
  オープン性が足りない
  抽象化が足りない

■ネットワークに抽象化が足りない?!

・抽象化とは何か
  情報量を減らし、単純化
  本質に着眼、数式化、定石化
  機能をモジュール化、境界や関係を定義

・ネットワークの抽象化
  レイヤ
  プロトコル
  UNI、NNI
  トンネル、オーバーレイ:下位レイヤ隠蔽

 上位システムから、どう見えるかは、検討していない

■SDNの本質は抽象化
・ソフトウェアの質は、抽象化設計に依存する
・レガシーネットワーク
  ノードとリンク中心
  箱売り指向
  ノードとリンクの品質向上

・SDNアーキテクチャ
  ネットワークをシステムとして捉え、
  上位システムに、どのように見せるかという観点で抽象化
    オープン性
    弾力性
    迅速性

・抽象化の観点の問題
  OpenStack Quantum v1
    テナント→ネットワーク
 抽象化:必要以上にシンプルにはできない
   あらすぎることに

・SP SDNアーキテクチャ
  全体アーキテクチャ:上位システムからどのように見えるか

  アプリケーション/サービスレイヤ
    ↑
    | REST、XMPP、Java
    ↓
  抽象化/コントロールレイヤ
    ↑
    | REST、XMPP、Java
    ↓
  ネットワークインフラレイヤ

■抽象化 いくつかの素材
 ・BGP-LS
 ・OnePK
 ・IETF I2RS
 ・OpenFlow
 ・XMPP

■BGP-LS(リンクステート)
 ・ドメインに入っていない人にも渡す
  階層化できる(Route Refleector : RR により)

■アブストラクション/コントロールレイヤ
  ・PCE
  ・MINE
  ・Cisco One コントローラー
  ・WANコントローラとしてのPCE(Path Computation Element)
    さまざまな制約を考慮したパス計算
    PCC(クライアント)とPCEにモジュール分解して
    機能配置自由

■PCE
・PCEの拡張
  マルチレイヤPCE
  ステートフルPCEP
  BGP-LS


  What-if シナリオ
  可視化シナリオ

・PCE
  コンテンツに最適化した動的パス設定

・Service Cross Connect
  WANをまたがるIaaS,NaaS

・DC間接続のためのBand Width
 ポリシーに基づくトラフィック
 プログラマティック・ネットワーク・アナリシス

■MINE
 Mobile IP Network Enabler
  サブスクライバ情報 XMPP→MINEへ

 Monarch(もなーく)
  混乱状況によるアクセス制御
  コア網のトラブルシューティング

■Cisco One コントローラー
  複数のOpen API
  モジュールアーキテクチャ
  プロトコルの拡張

 ・Oneコントローラーアプリ例
   論理分割
   監視、診断、解析
   フォアーディングルール

■まとめ
・SDNの本質の1つは抽象化
  アプリ上位
    ネットワークリソース
    フォワーディング特性
    加入者情報、位置情報
    各種情報

・抽象化の観点や、具体的なマッピング方法
  インターフェース:BGP-LS
  アブストラクション:PCE,MINE,Ciscoコントローラー




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

システム開発プロジェクトはなぜ“カオス化”するのか

2013-02-22 10:41:54 | Weblog
というのが書いてあるサイトがある。

そこに書いてある理由を並べると

・マジで10人に1人しか稼働してない
・納期が迫るほど人が増えてカオス化する
・「オレオレフレームワーク」
・それバージョン管理ちゃう!
・Excelで課題管理 「やめてー!」
・テストしないまま「出しちゃった」

だそうだ・・・たしかに

システム開発プロジェクトはなぜ“カオス化”するのか
http://www.itmedia.co.jp/enterprise/articles/1302/20/news003.html

(太字は上記サイトより引用)

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

”飯野賢治さん死去 - ゲームクリエーター「Dの食卓」作者”って、まじ!!

2013-02-21 20:48:50 | Weblog
え~(@_@!)
え~(@_@!)(@_@!)
え~(@_@!)(@_@!)(@_@!)(@_@!)

ま、まじっすかあ、しんじゃったんですか、飯野さん・・・

(@_@!)


ゲームクリエーター飯野賢治さん死去 「Dの食卓」作者
http://headlines.yahoo.co.jp/hl?a=20130221-00000043-asahi-soci



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

グーグル・メガネ(Google Glass)初号機の発売受付が本日スタート!!!-ただしアメリカ

2013-02-21 19:34:18 | Weblog
日本では、まだ買えないみたいだけど・・・

ちなみに、買える条件などは・・・

グーグル・グラス」(Google Glass)の初号機(1,500ドル+税金)の発売受付が、ついに本日スタート!!! 申し込み案内も含む特設公式サイトもオープン。・・・と言っても誰でも買えるわけじゃないんですよー。大胆でクリエイティブな、アメリカ在住の18歳以上の方限定!?

しかも、ニューヨーク、またはサンフランシスコかLAで「特別受け取り体験」(special pick-up experience)に参加できる方とのこと。こりゃニューヨークは激戦の予感。

ちなみに申し込み方法は、もしGoogle Glassを手にしたら何するかを50文字以内で書いて、Google+またはTwitter経由(ハッシュタグ「#ifihadglass」)でメッセージを送るというもの。プレゼン用に、写真は5枚まで、ビデオは15秒まで添えられるという条件です。締め切りは2/27まで


とのこと

ついにグーグル・メガネ(Google Glass)初号機の発売受付が本日スタート!!!
http://nyliberty.exblog.jp/20040012/

より(本エントリ内の太字は、上記サイトより引用)

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「HBase at Ameba」を聞いてきたときのメモ

2013-02-21 16:39:24 | AI・BigData

もう、かなり前だけど、デブサミ2013で聞いてきた

  HBase at Ameba

の話をメモメモ
なお、すでに、slideshareに、あがっているようです。



■HBaseについて

・NoSQLの1つ
 分散ストレージ
   高可用性、高パフォーマンス、多次元
 大量のデータ
 Auto Sharding:データが自動的に運かつ
 マスター型
   マスター
   リージョンサーバー
   保存先:HDFS
 HDFS
   分散ファイルシステム
   レプリカを持つ
   HBaseの信頼性はHDFSに依存

・HBaseのデータモデル
  部分的にはRDBに似ている
    Rowkey:RDBの主キー
    カラム
    値
  でもちょっと違う
    カラムは、カラムファミリーに所属
    値は、複数のバージョンを持つ
    データの分散の単位:リージョンで分割
    Rowの更新は、アトミックで行われる
    データファイル数=カラムファミリーXリージョン数
     →列指向データフォーマット
    カラムファミリーはI/Oを分割したいときに使う
    →ROWキー、カラムファミリー、カラム、タイムスタンプ、value
     で値をもっている
    カラムがNULLの場合、保存されない

・Hbaseの特徴の1つ
  カラムファミリーはあらかじめ定義
  カラムは後から追加できる

・操作
  get
  put:挿入、更新
  delete
  scan:範囲指定、フィルタ
  increment:値をインクリメントできる
  CAS(キャス):トランザクションの実現

 Rowkeyの設計次第では、負荷がかたよる
 カラムは増やせる。更新はアトミック
 Joinはない:非正規が前提
 クエリに対してスキーマが決まる
   codeZine「はじめてのHBase」

■グラフDB「Hornet」
・Ameba スマホ向けリリース

・デカグラフ構造
  各サービスのユーザー:ミニグラフ
 ユーザーのグラフ構造を保存
   今まで:MySQL+Sharding
  →書き込みが、スケールしにくい
   Shardの管理大変

・HBaseの理由
  スケールする
  書き込みはやい
  レンジスキャン
  CAS、インクリメント
  Auto Sharding
  もともとHadoopを使っていた

・rowkeyにハッシュを使い、バランシング

■社内ライブラリ「JSON Persister」
・サービスを複数ラインで同じ開発してた
 ⇔スピードが命
 各サービスでDBをたてていた

・HBaseを1つ作って、全サービスデータを入れる
  →HBaseは、難しい:いかに簡単にするか
・JavaオブジェクトをJSONデータとして永続化
 データストア層は切り替えられた→HBaseで実装

■Action
 HBaseをさわってみませんか
 codeZine「はじめてのHBase」

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PHPでExcel-PHPExcelの遊び方(5)リンクさせたり、枠を書いたり

2013-02-21 13:26:51 | PHP
前回の

PHPでExcel-PHPExcelの遊び方(4)セルの枠を書いたり、グラフを書く資料
http://blog.goo.ne.jp/xmldtp/e/d9de2048dceebe9ee9367ec04fea751b

の実践編?

セルをリンクさせたり、枠を書いたり、文字の色を変えたりしてみます。




■お題

こんなかんじのシートをつくります。

■前提条件

PHPでExcel-PHPExcelの遊び方(3)HelloWorldプログラム:説明
http://blog.goo.ne.jp/xmldtp/e/2def006b5047d95374013c133179b87d

の内容は理解できていて、そこに書かれているソースコードを実行し、

  PHPExcelSimple1.xls

というファイル名で保存されているものとします。

さらに、そのファイルを開き、Sheet1というシートを作り、保存したところから始まります。

■ソースコード

こんなかんじ
<?php

/** エラーのための設定 */
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
date_default_timezone_set('Asia/Tokyo');


/** PHPExcelのインクルード */
require_once '/Classes/PHPExcel.php';
require_once '/Classes/PHPExcel/IOFactory.php';

// PHPExcel作成
$objReader = PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel = $objReader->load('PHPExcelSimple1.xls');


// セル値設定
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'やふー');
$objPHPExcel->getActiveSheet()->setCellValue('B1', 'YAHOO');
$objPHPExcel->getActiveSheet()->setCellValue('C1', 'ホームページ');


// ハイパーリンクの設定
$objPHPExcel->getActiveSheet()->getCell('A1')->getHyperlink()->setUrl('sheet://Sheet1!A1');
$objPHPExcel->getActiveSheet()->getCell('C1')->getHyperlink()->setUrl('http://www.yahoo.co.jp');


//赤くする
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_RED);

//線を引く
$objPHPExcel->getActiveSheet()->getStyle('A1:C1')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THICK);
$objPHPExcel->getActiveSheet()->getStyle('A1:C1')->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_DOTTED);

// xls形式でSave 
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save(str_replace('.php', '.xls', __FILE__));


echo 'おわり' ;



■解説

エラーの設定やインクルード、Excelファイルのオープンとセーブに関しては、
前提条件に書いた、第三回と変わらないので省略。

・セル値設定
まず、setActiveSheetIndex(0)で、シートを選択します。
すると、そのシートがActiveSheetになるので、
getActiveSheet()して、setCellValueで値を設定していく。
ここで、=で始めると、数式になる。

・ハイパーリンクの設定
getCell()でセルを取ってきた後、getHyperlink()して、
それに対してsetUrl()で、URLを指定して、リンクが貼れる。
このとき、sheet://Sheet1!A1ってやると、シート間にリンクが貼れる
http://ではじめると、外部のページにアクセスできる。

ただし、上記の見本の図にあるように、このままでは、
普通にリンク設定したときの、青い字に下線にはならない
ので、注意


・赤くする
そこにあるようなかんじで、色指定。
PHPExcel_Style_Colorによる色指定に関しては

色の定数一覧
http://www.24w.jp/study_contents.php?bid=php&iid=phpexcel&sid=const&cid=007

を参照のこと

・線を引く
枠の線に関して。
getStyleは、色のときのように1つのセルでも、ここのように複数セルでもできる
PHPExcel_Style_Borderによるスタイル指定に関しては、

罫線の定数一覧
http://www.24w.jp/study_contents.php?bid=php&iid=phpexcel&sid=const&cid=008

を参照のこと





  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

UXで注目されるゲーミフィケーション

2013-02-21 10:56:34 | トピックス
日経コンピューター2013年2月21日号(=現在でている号)
の特集は「UXで跳べ」だが、
その31ページに「UXの概念」という図がある。

その図の下のほう、設計プロセスとして、
 「ユーザー中心設計」、「高速プロトタイプ」
があり、要素技術として
「スマホ/タブレット」、「UI技術」
「ゲーミフィケーション」、「マルチデバイス開発環境」

とある。
「ゲーミフィケーション」、「マルチデバイス開発環境」以外の言葉は、
結構議論されてきた話だとおもうのだが、この2つは、最近出てきた
キーワードだと思う。

とはいえ、マルチデバイス開発環境に関しては
「レスポンシブWebデザイン」
など、手法は見えているが、ゲーミフィケーションに関しては、
本当に最近という気がするのだが、どうだろう・・・




 ゲームの要素を、ゲーム以外のものに取り込むというゲーミフィケーション
については、「NRI技術創発」の2012年10月号に

ゲーミフィケーションの活用事例と課題
http://www.nri.co.jp/opinion/g_souhatsu/pdf/2012/gs201210.pdf

という論文が出ていて、そこから概要が判る。
ただ、具体的に、ゲーミフィケーションをUIに導入するというのは、
どういったことなのか?については、よくわからない。

また、ゲーミフィケーションに関しては、

http://gamification.jp/

というサイトがあるが、イマイチ、じゃ、UIをどうすればいいのということに
ついては、わからない。

そんな中、最近注目しているのは、

ゲームにすればうまくいく―<ゲーミフィケーション>9つのフレームワーク

という本なんだけど、まだ買ってない(=読んでない)




ということで、ゲーミフィケーション、言葉としては出てきているんだけど、
他のキーワードのように、具体的に何をどうすればいいのかは、
いまいち、ぼやっとしているのだ。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

2月20日(水)のつぶやき

2013-02-21 04:00:10 | AI・BigData

Graphics2DのdrawString対策って1文字づつFontMetricsで文字幅とり、もし取れない時は、適当なデフォルト使う?QT: @hiranabe Java7の不具合、graph... goo.gl/Gi6if


CQおーむの「アマチュア無線局の皆様にご質問」でアツく語られています cqtopix.blog81.fc2.com/blog-entry-729… QT: @tuuge どなたかアマチュア無線…その魅力など教えていただけたらと。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Java6のPublic Updatesが2月で終わってるわけなんだけど・・・

2013-02-20 18:47:06 | JavaとWeb

さっき、Java7についていろいろ書いた
Java6で開発した場合、そんなことやこんなこと、いろいろあるので、
バージョンアップをしたくない・・・

・・・ってこともあるんだけど、そうも言っていられない事情がある。


Java SE 6のセキュリティアップデートが本日をもって終了
http://www.publickey2.jp/2013/02/java_se_6.html

にあるように、Java6は、Public Updatesがこの2月で終わった。
つまり、今後、セキュリティに問題があったりすると、
対応できなくなる。

ただし、商用版でPremier Support、Extended Support、Sustaining Support
などをすると、話は違うようだ。

くわしくは

Oracle Java SE Support Roadmap
http://www.oracle.com/technetwork/java/javase/eol-135779.html


なので、無償でJVMを使ってる場合、Java7に上げざるを得ないわけなんだけど、
Java7って、脆弱性とか、互換性とか、大丈夫なの?

・・・う~ん・・・

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする