サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
falsandtru.hatenablog.com
パスキーの本質はユーザー側としてはパスワード入力機会の削減、サービス側としては企業のセキュリティリスクのユーザーへの責任転嫁とコストカットである。 サービス側 企業がユーザーにパスキーを使わせようと強要するのはログイン情報の流出や流出したログイン情報による攻撃のリスクと責任とコストから企業を守るために認証に関する問題がユーザー側の責任によってしか発生しないよう責任転嫁したいからに過ぎない。このため認証情報の紛失や盗難などによる喪失リスクと復旧の困難性やその他新たに発生する問題については隠蔽または矮小化される。企業にとってパスキーとはパスワードの定期的変更の最新版なのでありユーザーがパスキーを強要されるのはパスワードの定期的変更を強要された歴史を繰り返しているに過ぎない。 ユーザー側 パスキーの適切な実装におけるユーザーの本質的利益はパスワード入力機会が減ることによりフィッシング被害を受ける
PjaxとSPAが全く同じ技術構成なのを知らずにPjaxを過去の技術だと思ってる知ったかぶりが多いので最も高度で完成度の高いPjaxライブラリであるpjax-apiの作者の自分が説明しておこう。 SPAとはPjaxをバンドルしたフレームワーク Pjaxとはその語源からしてpushState+Ajaxである。そしてSPAの技術構成はフレームワーク+pushState+Ajaxである。すなわちSPAとは本質的にPjaxをバンドルしたフレームワークに過ぎない(Pjaxと対比されるSPAはツールセットとしてのSPAでありこれはアプリケーションフレームワークとしてしか存在し得ない。Reactはライブラリを自称しているがAngularやVueがフレームワークを自認していることからも明らかなようにSPAとして使用する場合はルーターなどと組み合わせフレームワーク化しなければならないものでありこれが主たる使
アプリケーションなどOSより上に作られる高水準のプログラムではハードウェアの速度と容量を考慮しない数学的キャッシュアルゴリズムが使われ主にこれを本稿の対象とする。キー探索用マップと明示的キャッシュサイズ(対となる値が保持されているキーのサイズ)は計算量に含まれない。 LRU 最も単純かつ高性能な基礎的キャッシュアルゴリズム。そのため性能比較のベースラインとして常に使用される。逆に言えば実用最低水準の性能である。スキャン耐性皆無でスキャン一発でキャッシュとヒット率がリセットされゼロからやり直しになるため非常に脆く不確実な性能となりベンチマークにおける性能が表面上さほど悪くなく見えても実際の性能はこのような外乱により大きく低下しやすい。このためLRUより高度な主要アルゴリズムはすべて大なり小なりスキャン耐性を備えている。ちなみにプログラミング言語最大のパッケージマネージャであるJavaScri
IDEなどの開発支援機能を使用できない場合が少なくない .chsファイルへの非対応 実際的な広いユースケースで現代的なプログラミングを実現できておらずインタラクティビティの低い原始的なプログラミングを強いられる ビルドが長すぎる(1時間前後) 脆弱性修正の数分以内の緊急デプロイといったセキュリティ要件を満たさない ダウンタイムがビルド時間に応じて長時間化することで繁忙期などに発生した重大問題が甚大な機会損失および信用失墜に発展するリスクが非常に高い アップデートやデバッグなどにともなう長時間のリビルドによる人員設備等の稼働率低下による損失が大きすぎる 勤怠状況の不明瞭化による勤怠管理の困難化が怠業を誘発し周辺人員への悪影響などの周辺問題の連鎖的発生と拡大につながる構造的問題が生じる レコードフィールド名に非現実的な制約がある 外部スキーマとの互換性の問題が不可避的 ソースコードのエントロピ
TypeScript 2.8で追加予定のConditional型とinfer prefixが開発版でリリースされたので型レベル関数と念願のRequired/DeepRequired型を作って型レベルプログラミングを可能にする。 型レベル関数 Conditional型はUnion型を展開するためEq<false, boolean>の結果はその非決定性からbooleanとなる。決定的な結果を返す関数はboolean型にのみ用意しておりDEq<false, boolean>はundefinedとなる。 type Falsy = undefined | false | 0 | '' | null | void; type Function = (...args: any[]) => any; type Class = new (...args: any[]) => any; export type
TypeScriptにはanyを使わないよう注意しても型検査が無効化され型安全性が失われるパターンがいくつかあり、中には致命的なものも存在する。今回はこのパターンをいくつか紹介する。 コールバックのvoid戻り値型 コールバックのvoid戻り値型はすべての型を受け入れるためvoid型 === any型となる。 function f(cb: (a: number) => void): void { return cb(0); } function g(a: number): number { return a; } f(g); このためvoid型の値はvoid演算子を使用して即座に強制的にvoid型に変換しなければならない。 void f(g); ここでは手遅れ。 function f(cb: (a: number) => void): void { return void cb(0); }
ヘキサゴナルアーキテクチャとレイヤードアーキテクチャのざっくりとした違いとヘキサゴナルアーキテクチャの利点を説明する。 ヘキサゴナルアーキテクチャは主に六角形で描かれる、多角形の全辺が外部とのインターフェイスであり、内部にさらにアプリケーションレイヤーやドメインコンテキストといった1つ以上のレイヤーを持つアーキテクチャである。 層構造はレイヤードアーキテクチャと同じであり、要はレイヤードアーキテクチャを最下層を軸に一回転させて全方位に対して層構造の性格が変わらないようにしただけである。 ヘキサゴナルアーキテクチャは実装においてはレイヤードアーキテクチャと同じだが、設計を行う上でいくつかの認知的効果がある。 複数のインターフェイスを表現しやすい レイヤードアーキテクチャではインターフェイスは直線または長方形1つのインターフェイスレイヤーで表現されるため複数のインターフェイスを定義するにはこの
TypeScript1.8以降で追加予定または協議中の注目の新機能を紹介します。 この記事はTypeScript アドベントカレンダー2015 25日目の記事です。 戻り値型の厳格な検査(--noImplicitReturns) [Merged] github.com github.com 戻り値が定義した型以外になることを禁止します。 必ずオンにしましょう。しない理由がありません。 この調子でFlowtypeと型安全性をガンガン競ってほしいところです。 // The followings are all wrong in a typed context yet the compiler ignores them as a valid code: function SomeMethod(): number { return; } function SomeMethod(): number
TypeScriptで形式的証明を取り入れたプログラミングを実践します。 形式的証明とは、仕様またはモデルが数理論理学的に正しいものであり実装可能であることの形式手法による証明です。 本稿では形式手法のうち、型システムを利用した軽量形式手法による形式的証明を扱います。 この記事はTypeScript アドベントカレンダー2015 1日目の記事です。 TypeScriptアドベントカレンダー2015!! 去年あれだけいた戦士たちはどこへ行ったのか… さて、形式的証明を実感するために1つのコードモジュールを作ってみましょう。 じゃんけんの結果をグー・チョキ・パーの3つの型を使って型推論だけで計算し、不正な入力を実行前に検出する、形式的妥当性の証明されたコードモジュールです。 まず前提となるグー・チョキ・パーの3つの型を作ります。 class Gu { private identity; } c
最近気になってたchore(package): bump versionなGoogleフォーマットとBump versionなベーシックフォーマットのまとめ。 Googleフォーマット chore(package): bump version Angular.jsなど主にJavaScriptのメジャーリポジトリで人気のフォーマット。 github.com azuが概要をまとめているのでこれを引用する。 feat(ngInclude): add template url parameter to events The `src` (i.e. the url of the template to load) is now provided to the `$includeContentRequested`, `$includeContentLoaded` and `$includeConten
iptables-firewallはIPホワイトリスト、国別制限、Firewall、IDS/IPSなどの各種自動生成されるフィルタを用途ごとに自由に組み合わせてルールセットを作成し、任意のロールとして設定・運用することで厳格かつ柔軟なアクセス制御機構を実装するスクリプトです。 導入 GitHub - falsandtru/iptables-firewall: iptables rule generating and management script. ======================= PACKET FLOW EXAMPLE ======================= == config == ROLES=(SSH) SSH=(BLOCK_COUNTRY "file{1,2}|TRACK_PROWLER|DROP" LOCAL_COUNTRY FIERWALL IPF "
中国韓国北朝鮮からのアクセスを禁止、SSHなど重要なポートへのアクセスを日本国内からのみに制限しつつ日本国内とその他の海外に対してウェブサイトを公開する設定例を紹介。Firewall機能を実装する各種攻撃対策も組み込み済み。 このスクリプト実行しとくだけでサーバーの侵入難易度が跳ね上がります。日本のボットサーバー削減にお役立てください。 最新版はGitHubで公開しています。 falsandtru/iptables-firewall · GitHub 大幅に改良した新バージョンをリリースしていますのでこちらをご利用ください。仕様を刷新しているためこのページ内容は最新版と互換性がありません。 iptables firewall iptablesにFirewallとしての機能を実装します。 設定 特定の外国からのアクセス拒否 特定の外国を除くすべての国からのHTTPポートへのアクセスを許可(海
このページを最初にブックマークしてみませんか?
『falsandtru.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く