В статье просто неправильно написано: на самом деле calback(): void "возвращает" void, а не undefined
И тип у c будет не undefined а void. Оно скомпилится, но ничего осмысленного сделать нельзя с переменной c, тип void никуда не присвоить не получится(кроме другого void).
Спасибо за статью! SCM-Manager так же предлагает вариант установки без Tomcat, просто jar файлом, что, в некоторых случаях, может быть проще. Я всегда буду обновлять комментарии перед отправкой
Я всегда буду обновлять комментарии перед отправкой
Я всегда буду обновлять комментарии перед отправкой
Я всегда буду обновлять комментарии перед отправкой
Статистику рекомендую HLstatsX Community Edition. Прекрасно работает и достаточно часто обновляется.
И, в отличие от Psychostats, ведёт статистику в реальном времени
Не знаю, как было год назад, но в этом году Григорьев давал подробный пример для каждой из этих фраз)
А хорошую схему БД мы строили медленно и обстоятельно целую пару
До того, как у нас на работе поставили DrWeb, я не понимал людей, который жалуются «из-за антивируса всё тормозит».
А он мог несколько минут сканировать большие архивы автоматически при скачке, при этом компьютером вообще пользоваться было невозможно.
В конце концов надоело, снёс его (причём из-за корпоративной лицензии его так просто не удалить) и поставил Microsoft Security Essentials.
Есть ещё RusHub — проект разработчика из нашей бывшей локальной сети CiNet (город, кстати тоже Королёв), которую проглотил NetByNet(
RusHub кроссплатформенный, консольный, очень шустро работает, имеет систему плагинов, за счёт lua-плагина поддерживает lua-скрипты
Проект активно развивается, лицензия GPL v3
http_build_query() и, соответственно, URL::query() кодируют запятую, используемую как разделитель полей в ulogin, в шестнадцатеричное представление через %.
1, 2, 4. Спасибо, исправил
3. Тут вся прелесть uLogin'а в том, что если не будет полей, помеченных как обязательные, он запросит их у пользователя. А нам на вход попадают все обязательные поля
1. Добавил
2. Ну тут уж ничего не сделать, если хочет заходить через разных, у них identity будут разные. Может только ники совпадут, и валидацию не пройдёт пользователь
3. Сделал
Ну мне показалось нецелесообразным делать View для одной строчки подключения скрипта.
А Ulogin::factory()->render(), естественно должен вызываться из View. Я показал просто единый пример вызова и обработки
Функцию invariant можно сделать в TypeScript 3.7(сейчас бета) — https://tinyurl.com/y2lonrgk
Там добавили классную фичу "Assertion Functions"
https://github.com/microsoft/TypeScript/pull/32695
В статье просто неправильно написано: на самом деле
calback(): void
"возвращает" void, а не undefinedИ тип у c будет не undefined а void. Оно скомпилится, но ничего осмысленного сделать нельзя с переменной c, тип void никуда не присвоить не получится(кроме другого void).
Я всегда буду обновлять комментарии перед отправкойЯ всегда буду обновлять комментарии перед отправкой
Я всегда буду обновлять комментарии перед отправкой
Я всегда буду обновлять комментарии перед отправкой
И, в отличие от Psychostats, ведёт статистику в реальном времени
А хорошую схему БД мы строили медленно и обстоятельно целую пару
А он мог несколько минут сканировать большие архивы автоматически при скачке, при этом компьютером вообще пользоваться было невозможно.
В конце концов надоело, снёс его (причём из-за корпоративной лицензии его так просто не удалить) и поставил Microsoft Security Essentials.
RusHub кроссплатформенный, консольный, очень шустро работает, имеет систему плагинов, за счёт lua-плагина поддерживает lua-скрипты
Проект активно развивается, лицензия GPL v3
3. Тут вся прелесть uLogin'а в том, что если не будет полей, помеченных как обязательные, он запросит их у пользователя. А нам на вход попадают все обязательные поля
1. Добавил
2. Ну тут уж ничего не сделать, если хочет заходить через разных, у них identity будут разные. Может только ники совпадут, и валидацию не пройдёт пользователь
3. Сделал
HTML брал с официального сайта uLogin
А Ulogin::factory()->render(), естественно должен вызываться из View. Я показал просто единый пример вызова и обработки