- OATHによるワンタイムパスワードの仕様 - 2
- HOTP (HMAC-based One Time Password): 生成回数を元にワンタイムパスワードを生成
- 生成し直さないとワンタイムパスワードが変わらない
- サーバとクライアントで生成回数をカウントしておく必要がある
- クライアントで生成したけどサーバに認証に行かないとカウントがズレるのでカウントの再同期が必要
- TOTP (Time-based One Time Password): 生成時刻を元にワンタイムパスワードを生成
- 一定時間ごとにパスワードが変わる
- HOTPのような再同期の必要が無いのでサーバ側の実装が楽
- ただし時刻がずれていると認証に失敗する
- HOTP (HMAC-based One Time Password): 生成回数を元にワンタイムパスワードを生成
- TOTP認証アプリ
Last active
January 31, 2016 09:37
-
-
Save ktsmy/c708f2a00812c070f662 to your computer and use it in GitHub Desktop.
Technology Radar 2015年11月版
https://assets.thoughtworks.com/assets/technology-radar-nov-2015-en.pdf
- Dockerによってコンテナエコシステムが爆発的に広がる
- ビルド環境の依存関係管理から
- クラウドプラットフォーム(Mesos, AWS ECS)のスケーリング単位としてまで
- マイクロサービスおよび関連ツールが一般化
- コンテナ化
- CI/CDツールの中に複雑なコードを書くのは良くない
- サービスディスカバリ
- Javascriptツール
- ツールが乱立してたのが、ある程度共通のツールに落ち着いてきた
- セキュリティ
- ソフトウェア開発ライフサイクルの中の全員が関わる問題
- 新しい取り組み: bug bounties, threat modelling, HSTS, TOTP and Let’s Encrypt
読み方は【技術トレンド】Technology Radar 2015年5月版を読み解く【ThoughtWorks】によくまとまっている
- 4つのカテゴリに分類
- techniques
- tools
- platforms
- languages & frameworks
- 評価は以下の4段階
- Adopt: 今すぐ採用すべき
- Trial: 試してみるべき
- Assess: 試すには早いが知っておくべき
- Hold: やめておいた方がいい
- 新しいもの、前回から変わったものは三角、前回から変化がないものは丸
- マイクロサービスのデザインパターンの1つらしい
- Consumer-Driven Contracts Design Patternを読み漁ってみた
- サービスを使う側が提供側に「これを使うからくれ」って言って、使える状態だったら使う的な
- Four Principles of Low-Risk Software Releases
- Low-Risk Releases Are Incremental
古い環境を残して新しい環境を追加リリース、問題ないと確認できてから古い環境を消す - Decouple Deployment and Release
デプロイ(ある環境の変更)とリリース(エンドユーザまで影響が及ぶデプロイ)を分離- blue-green deployment
- カナリアリリース(canary release)
- ダークローンチ(dark launch)
- Focus on Reducing Batch Size
小さくこまめにリリース - Optimize for Resilience
MTBF(Mean Time Between Failure)よりMTRS(Mean Time To Restore Service)。壊れてもすぐに復活できるように。- Chaos Monkey: わざとインスタンスを殺してテストする
- Low-Risk Releases Are Incremental
- cf) http://arclamp.hatenablog.com/entry/2015/11/09/221247
- システム構成図はツールで自動生成しよう
- Using Graphviz to generate automated system diagrams
- 最初からすべてのUIをデザインしない: Just In Time Design
- ソフトウェア開発と同様のプロセスでデザインを継続的に改善(Continuous Design)
- そのために、PSDファイル(Adobe Photoshopの保存形式)を使わないようにする
- http://thoughtworks.github.io/p2/issue02/continuous-design/
- 決められた期間、予算で何か作るのではなく、小さく作ったものを見直し続けていく
- リーンスタートアップ
脅威モデリングは、開発対象のソフトウェアがどのようなセキュリティ脅威にさらされており、攻略される可能性を持ちうるかを洗い出す活動である。潜在するセキュリティ脆弱性を上流工程で見つけ出すことによって、より効果的に脆弱性を排除することを狙う。
最近フロントエンド界隈で、『BEM』という言葉を見かけることが増えてきました。BEMとは、Block、Element、Modifierの略語です。Webサイトのコンポーネント化のためのフロントエンド設計方法のひとつで、厳格なclass名の命名ルールが特徴的な手法です。
- Webクライアント(PC, iOS, Android,...)とバックエンドの間に、クライアントの種類毎のAPIエンドポイントを作る
- https://www.thoughtworks.com/insights/blog/bff-soundcloud
- Dockerコンテナをビルド環境として使う
- https://github.com/CenturyLinkLabs/golang-builder
- http://ziobrando.blogspot.be/2013/11/introducing-event-storming.html
- http://www.infoq.com/jp/news/2015/07/ddd-mistakes
イベントストーミングとは、イベントに着目した設計手法で、Alberto Brandolini氏が考案した。主要な利害関係者をひとつの部屋に集め、制限のないモデリングスペースを使い、付箋をドメインイベントに見立ててモデリングをすることで、数時間で良いモデルが作成できる、とBrandolini氏は主張する。
- 同じリクエストを1回だけ通すフィルタ
- 特に古いサービスで同じリクエストが1回だけ来ると仮定して作られているサービスの前にこのフィルタを入れる
- Javascriptのパッケージ管理はnpmで全部やればいいって話らしい
- cf) JavaScriptでのモジュールロード方式とパッケージ管理についての勉強メモ(2015-03時点)
- Offlineのときはローカルストレージを見て、Onlineになったら同期する
- CouchDBってのがいいらしい
- 本番前のチェックだけでなく、本番システムのクオリティの分析もやっていく
- 監視システムにもクオリティの観点を -> bailout的な
- データの書き換え不可なデータベース
- Clojureの作者が作ったデータベースDatomicが凄い
- ビッグデータのストレージ
- 様々なデータを(生のまま)まとめて保存しておいて、便利に取り出せるようにする
- http://www.gixo.jp/blog/4833
- https://azure.microsoft.com/ja-jp/solutions/data-lake/
- http://ascii.jp/elem/000/000/956/956699/
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment