タグ

2017年2月24日のブックマーク (5件)

  • SHA-1衝突攻撃がついに現実に、Google発表 90日後にコード公開

    GoogleはSHA-1ハッシュが同じでコンテンツが異なる2つのPDFも公表した。90日後には、こうしたPDFを生成するためのコードを公開するとも予告している。 Webブラウザのセキュリティ対策など幅広い用途に使われてきたハッシュアルゴリズムの「SHA-1」について、米Googleは2月23日、理論上の可能性が指摘されていたSHA-1衝突を初めて成功させたと発表した。これでSHA-256やSHA-3のような、安全な暗号ハッシュへの移行を急ぐ必要性がこれまで以上に高まったと強調している。 SHA-1を巡っては、脆弱性を悪用される危険性が高まったことを受け、主要ブラウザメーカーや電子証明書の発行機関が段階的な廃止を進めている。 Googleはオランダ・アムステルダムのCWI Instituteと2年がかりで共同研究を実施。Google技術とクラウドインフラを駆使して大規模な演算処理を行い、S

    SHA-1衝突攻撃がついに現実に、Google発表 90日後にコード公開
  • PhantomJS - Scriptable Headless Browser

    Important: PhantomJS development is suspended until further notice (more details). PhantomJS is a headless web browser scriptable with JavaScript. It runs on Windows, macOS, Linux, and FreeBSD. Using QtWebKit as the back-end, it offers fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG. The following simple script for PhantomJS loads Google homepag

    zia_glass
    zia_glass 2017/02/24
    スクレイピング
  • SOLID: Part 1 - The Single Responsibility Principle | Envato Tuts+

    Single Responsibility (SRP), Open/Close, Liskov's Substitution, Interface Segregation, and Dependency Inversion. Five agile principles that should guide you every time you write code. The Definition A class should have only one reason to change. Defined by Robert C. Martin in his book Agile Software Development, Principles, Patterns, and Practices and later republished in the C# version of the boo

    SOLID: Part 1 - The Single Responsibility Principle | Envato Tuts+
  • MVCとかMVVMの前の自分まとめ - メモを揉め

    MVC、MVVMに関する記事を色々読んでいると、 それなりに理解したつもりになっても、いざ具体的な事になるといまいちピンと来ない。 今感じている事、 大規模な開発を経験したことが無いから、必要性が実感できてない サンプルを見てもいまいちメリットが分からない オブジェクト指向も分かったような気になっているだけで、実はあまり分かってないという気がする View→HTML、Model→ロジックとデータ、みたいな単純な対応関係で覚えても捉えどころがない フレームワークを使っていくうちにコンセプトが理解できるということはあると思うので、とりあえずは手を動かしていきたいのですが、そのとりあえずが分からないのでなんとも気持ちが悪い感じです。 Backbone.jsをドットインストールで触ってみると、スゴイ便利そう。 確かに便利っぽいけどどういう使い方をすればいいのかよく分からない。 むしろ何が分からない

  • 関心の分離 - Wikipedia

    以降、ReactというJavaScriptライブラリ( メタとコミュニティにより開発 )での例を挙げる。このライブラリには、ライフサイクルメソッド という考え方を持っている。ライフサイクルメソッドがもたらした機能的凝集度の低さをhookによって克服し、SoCを実現している。 ライフサイクルメソッドは周期(ライフサイクル)のある時点で自動的に呼び出されるメソッドである。例えばコンストラクタはインスタンス作成時のメソッドであり、onMemberChangedメソッドはメンバ更新時に毎回呼び出されるメソッドである。ライフサイクルメソッドとして時間的に適切な処理を実装すれば、ある時点でおこなわれる処理が一か所に集約され時間的凝集度が高いコードになる(時間的なSoCがおこなわれている)。 例えばタイマー2つによるカウントダウンUIを考える。ライフサイクルメソッドを利用する場合、開始時(constru