This is an alternative to the Modern Script Loading tchnique, that doesn't need to wait for the load
event.
This technique has been successfully tested down to IE9.
<!DOCTYPE html>
<html lang="en">
This is an alternative to the Modern Script Loading tchnique, that doesn't need to wait for the load
event.
This technique has been successfully tested down to IE9.
<!DOCTYPE html>
<html lang="en">
:root { | |
--ease-in-quad: cubic-bezier(0.55, 0.085, 0.68, 0.53); | |
--ease-in-cubic: cubic-bezier(0.55, 0.055, 0.675, 0.19); | |
--ease-in-quart: cubic-bezier(0.895, 0.03, 0.685, 0.22); | |
--ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06); | |
--ease-in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035); | |
--ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.335); | |
--ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94); | |
--ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1); | |
--ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1); |
function isGenerator(target) { | |
return target[Symbol.toStringTag] === 'GeneratorFunction'; | |
} | |
function isIterable(obj) { | |
if (obj === null || obj === void 0) { | |
return false; | |
} | |
if (typeof obj === 'string') { |
const http = require('http'); | |
const { once } = require('events'); | |
class WebServer extends http.Server { | |
async *[Symbol.asyncIterator]() { | |
while (this.listening) { | |
const [ req, res ] = await once(this, 'request'); | |
yield { req, res }; | |
} | |
} |
// (c) Anika Henke. | |
// https://github.com/selfthinker/dokuwiki_template_writr/blob/master/js/skip-link-focus-fix.js | |
(function($) { | |
jQuery.extend(jQuery.expr[':'], { | |
focusable: function(el, index, selector){ | |
var $element = $(el); | |
return $element.is(':input:enabled, a[href], area[href], object, [tabindex]') && !$element.is(':hidden'); | |
} |
Last major update: 21.10.2019
Аутентификация(authentication, от греч. αὐθεντικός [authentikos] – реальный, подлинный; от αὐθέντης [authentes] – автор) - это процесс проверки учётных данных пользователя (логин/пароль). Проверка подлинности пользователя путём сравнения введённого им логина/пароля с данными сохранёнными в базе данных.
Авторизация(authorization — разрешение, уполномочивание) - это проверка прав пользователя на доступ к определенным ресурсам.
Например после аутентификации юзер sasha получает право обращатся и получать от ресурса "super.com/vip" некие данные. Во время обращения юзера sasha к ресурсу vip система авторизации проверит имеет ли право юзер обращатся к этому ресурсу (проще говоря переходить по неким разрешенным ссылкам)
const path = require('path') | |
const fs = require('fs').promises | |
async function walk(fsPath, callback) { | |
const node = { | |
path: fsPath, | |
stat: await fs.stat(fsPath) | |
} | |
const stack = [node] | |
let item |