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

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

ソート・アルゴリズムをフォークダンスで説明する恐るべきムービー集

2016-05-25 20:38:57 | ネットワーク
メモメモ

「クイックソート」「バブルソート」などのソート・アルゴリズムをフォークダンスで説明する恐るべきムービー集「AlgoRythmics」 http://bit.ly/1TCGvJi
https://twitter.com/gigazine/status/735243997258489856

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

Java Day Tokyo 2016に行ってきた!その4 JAX-RS(REST)

2016-05-25 15:52:49 | ネットワーク
5月24日、Java Day Tokyo 2016に行ってきた内容をメモメモ・・・のはずが、内容良くわからなかったので、メモになっていない




Putting Hypermedia Back in REST with JAX-RS

JAX-RS結構いる

REST API
リソース:ドメインオブジェクト
オブジェクト:REST
  get /users
セマンティックHTTP
ハイパーメディアはいってくる
 link hlef="/user/12345"→情報提供

 JSONだけど・・・それは関係ない
 アマゾンの例を考える
 ボタンを表示したい。在庫があるのだけ
 クライアントとサーバーがわで、同じロジックを書かないようにするには

ハイパーメディアのコンテンツタイプ
 JSONにかかわっている
  HAL
  Collection+JSON
  Siren
  JSON Schema
;

デモ1
 maven使ったことある人:全員ですね!
 InteliJの人?Eclipseの人・・・ですよね・・・
 書店の例;Books
 エントリポイントつくる
 本のリスト、
 本のリソース
 補助のコンテナでダミーデータを入れておく
 EJBを使って
 サブリソース:ID パスパラメーター
 これはじっこうしない:ハイパーメディアつかってないので

デモ2
 ハイパーメディアする
 リンクをJAX-RSに
 セルフリレーションJAX-RSからURIを作る

 実行
 maven
 curl
 動いた
 URIが出てきた

POJOでもいいが・・
JSON-P
StreamAPIをつかってArrayビルダーで
コンテナオブジェクトを使っていく
シングルのJSON→JSON Arrayに
EJBを呼び出している

リンクを指定するだけ
実行
(今回はJSON-Pで作っている)

リフレクションとかは、避けたほうがいい
 遅くなる
 サードパーティのディペンデーシー

JAVAEEオンリーにする

いくつかのプロジェクトの紹介
github hypermedhia with JAX-RS
jaxrs-hypermedia

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

Java Day Tokyo 2016に行ってきた!その3 JavaEEセキュリティ

2016-05-25 12:12:08 | JavaとWeb
5月24日、Java Day Tokyo 2016に行ってきた内容をメモメモ。





JaveEE7アプリケーションとセキュリティ
・自己紹介
・若手のころ:社内システム
  XSS程度
・とある案件:セキュリティ診断 NG判定
・セキュリティ要件に合わせたコード
 システムによって異なるセキュリティ要件
 イントラのシステム:致命傷になりにくい
 →公開します:致命傷
・最初からセキュアなコード
 コーディングのノイズ
・実装コストを抑える方法
  フレームワークが対応
  ビュー、コントローラーでの対応
  その他
・対策の基準
 IPA:安全なWebサイトの作り方
 掲載されている脆弱性と対策
・クロスサイトスクりぷティング
  動的ページでJSコードを注入する攻撃
  動的に出力する値をエスケープする
 反射型、蓄積型、Dom型がある
・HTMLテンプレート
  EL式による値書き出しはデフォルトではエスケープしない
  関数を自作する→カスタム関数はXMLで書かれた設定ファイルを作成する必要有
  もっとシンプルにメソッド呼出し
  Faceletsのエスケープ対策:デフォルトで用意
 →対策漏れの検出容易性を考えるとFacelets
・クロスサイトリクエストフォージェリー
 攻撃者:外部ドメインから、非攻撃者の意図しないリクエストを送る
  対策:そもそも、Getリクエストで状態変更してはいけない
     トークンを送信、一致するか確認
   ログインした時ではだめ?セッション生成時に行う
   セッションID以外を使う
 JSPのCSRF:対応していない
 Facelets;Hiddenパラメータが埋め込まれている
  ただし、ステートレスの場合は機能しない
  faces-config.xmlはページを開くときにも要求されてしまう
・SQLインジェクション
 動的SQLで悪意のあるパラメータ
 パラメータにはプレースホルダーを使う
 JPAのプレースホルダー
  JPQL:アノテーション@namedQuery
 別のSQLインジェクション
  CriteriaAPIを使用する
・セッション管理の不備
 セッションIDの推測、固定化
 ログインしたタイミングでセッションをリフレッシュ
 ServletAPIのForm認証
   GlassFishではリフレッシュする→使いやすくない
 changeSessionIDを呼び出す
 Cookieにsecure属性をつける
・パス名
 パラメータをそのままファイルパスに
 →意図しないパス
 パスチェック:自前のAPIでチェック
 自前ラッパー:テストコードが書きやすい
 根本的:ファイル名を直接指定する実装を避ける
・クリックジャッキング
 iframeで透明ページを重ねてボタンを押させる
 X-Frame-Optionsをつける
 →他のiframeも影響
 SAMEORIGINにする
・HTTPヘッダインジェクション
 自力でヘッダーを書きださない
・メールヘッダーインジェクション
 パラメータをヘッダーにセットしない
・OSコマンドインジェクション
・バッファオーバーフロー
 →省略
  外部プロセスを起動しないから
・アクセス制御、認可制度
 →省略k、アプリケーションによるから

その他の話題
・X-content-type-options:nosniff
 sniffきのうを無効化:サーブレットフィルタ
・Content-Security-Policy
 dom型でも防げる

まとめ

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

Java Day Tokyo 2016に行ってきた!その2 Java SE 9

2016-05-25 08:46:41 | JavaとWeb
5月24日、Java Day Tokyo 2016に行ってきた内容をメモメモ。

プログラムでは「Java SE 9 Overview」となっていたもの




■Java Roadmap

アジェンダ
・Java Adaption
・JavaSE9
・Beyond 9

みなさんのおかげでNo1
・採用率
 スピード上がっている
・クラウド展開プラットフォームとしてもNo1
 Amazonのワークロードの4分の1はJava
 Googleはもっと大きく
 Javaのエコシステム;ベストのクラウド環境提供

今やっていること
・セキュリティ:重要視
  後方互換性
  コスト低減:メモリ、
・密度の最適化
  並列のスケールアップ、レプリケーション
  ランタイムをシェアドライブラリ
・スタートアップの時間
  過剰なプロビジョニング
  マイクロサービス
  プリコンパイル JVM
・予測性
  ガベージコレクション
  数ギガ~数テラ、予測可能

ルック&ふいーる、堅牢性、読みやすさ、使いやすさ
1回書く クラウド スケールアップ

Java9
・クラウドのためのモジュール型プラットフォーム
・アプリケーションが必要なものだけランタイムが入っている
  コンパクト1,2,3プロファイル
・モジュールシステム:明示的仕様
  モジュールinfo
 ジグソー:どのAPIが使えるか指定できる→依存関係
 なぜ
  1)マイクロサービス
  2)セキュリティ:アクセス保護
・あたらしいツールチェーン

・どのモジュールが必要か?選択
 りんキング(JLink)ユニークなランタイムイメージ

ジグソーセキュリティ

・マルチリリースJarファイル

・G1をガベージコレクションとして採用
 ヒープ分割
 テラバイトのヒープ→インメモリ G1ではできる
  →ビッグデータ
  リードオンリーリージョン

・JShell:REPL (インタラクティブなツール)
 Javaに慣れていない人に良い
 例

・バージョニング
 新しいフォーマット

・インターなるAPI削除
 sun.misc,sun.reflectを削除
 →意見ほしい

・Javaミッションコントロール
 いろんなプロファイル

・アドバンスド マネージメント コンソール
 止められないときのアップデートなど

9以降
・オブジェクト データ レイアウト
 データの最適化
・クラウド:効率大事
・2つのタイプ:プリミティブタイプ、オブジェクトタイプ
 →オブジェクトは柔軟性は高いが、コスト高い
・オブジェクト:ヘッダーにかなりのコスト
 ガベージコレクションでヒープに
 コストかかる
 →新しい構造 クラスからバリューへ
  Arrayの最適化:GPUへ同じパフォーマンス
・いくつかのサービス
  ネイティブ
  プロジェクト パナマ
  セーフポイントのコスト削減

キーメッセージ
・8は大きな成功
・9モジュールランタイム
・10、11 よりセキュア、クラウドの中で効率的、予測性
 モダナイズ

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

ITが大好きな社長は失脚する

2016-05-25 01:46:27 | Weblog

ITが大好きな社長は失脚する、その深い理屈を教えよう
http://itpro.nikkeibp.co.jp/atcl/column/14/463805/051900087/

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