Думаю будет интересно все, в правильном порядке (по моему мнению это 3, 1, 2, 4).
Еще интересна тема с сотыми версиями компонентов и вообще про версионность (пакетов, модулей), будет ли версии модуля менять версию мадженты и тд. Что из себя представляет repo.magento.com, можно ли поднять зеркало, как распространять свои модули.
Это извечная борьба между производительностью и удобностью разработки. )
Ну в конфиге можно не пользоваться "::class" и ручками полное имя вписывать «User\Service\RoleService» (сначала сделать вид, что пишешь имя класса — IDE дополнит его, а потом обернуть в кавычки). И волки сыты, и овцы целы )
По моему — это вопрос правильного наименования, в статье не зря есть «best practices».
Хорошей практикой является добавления неймспейса модуля к названию сервиса. Либо использовать абсолютное название класса сервиса.
Я делаю через второй способ:
// В конфиге:
namespace User;
....
'service_manager' => [
'factories' => [
Service\RoleService::class => Factory\Service\RoleServiceFactory::class,
],
],
//В контроллере:
use User\Service\RoleService;
......
public function indexAction() {
//При вводе Ro -> выскакивает автодополнение IDE для класа RoleService
// А в PhpStorm даже без указания use вверху (потом после ввода класа шторм сам добавит нужный use)
$roleService = $this->getServiceLocator()->get(RoleService::class);
// А для автодополнения $roleService приходиться указывать PhpDoc @var
}
Ну естественно конструкция "::class" ограничивает совместимость — только от PHP 5.5.
Зато удобно, привыкаешь в мгновение ока… )
Если какое-то событие при смене системы отсчета оказалось для нас в будущем, но за пределами светового конуса, то добраться до его прошлого без телепортатора мы всё равно не сможем. А в системе отсчёта телепортатора это событие уже в прошлом, так что он нас туда тоже не доставит.
На самом деле, даже портал, ведущий в прошлое в пределах светового конуса, не создаёт парадокса.
Читал книгу (вроде «Патруль времени»), где как раз описывается специальный телепортатор с помощью которого можно прыгнуть в прошлое, НО только на огромное расстояние — то есть например с Земли на 10 лет в прошлое на планете Сириуса…
Выглядит реально: 2013году с Земли перемещаемся в пространстве мгновенно на Сириус, по СТО мы на Сириусе в 2003г по земному летосчислению, то есть в прошлом, и с Сириуса через 1 час запускаем радио сигнал к Земле (на которой сейчас идет 2003г), и и ещё через 1 час снова телепортируемся назад на Землю. В итоге имеем для наблюдателя с Земли, что в 2003г Сириус испустил радиосигнал, но мы этого никак узнать не можем и в 2013 году телепортируем туда человека, который должен отправить через час сигнал, ровно через час на Земле к нам приходит этот сигнал с Сириуса и ещё через час человек телепортируется обратно… Лично я не вижу тут нарушения причинно следственной связи…
С таким же успехом можно поменять поезд на суперкомпьютер и написать роман, как главный герой решил покончить жизнь самоубийством после общения с первым зачатком искусственного интеллекта.
+1 Читатель этой книги.
Может где-то есть литературные конкурсы? Задается тема (выше) и все участники-писатели развивают свою тему… Интересно посмотреть, насколько много можно написать разнообразных клонов (и в каких направлениях) имея один единственный тезис. )
Пока мужик будет сторожить pool.ntp.org, умный получит доступ к ДНС серверу и просто подменит pool.ntp.org на свой, сервер с ключами попытается синхронизироваться и бах уже 2100г. Это конечно юмор, но в каждой шутке есть доля шутки… )
А почему все так на целились на сервера с ключами?
По моему в этом алгоритме самое уязвимое место… время… Чисто гипотетически, ведь можно подменить, например ntp.ubuntu.com, pool.ntp.org и выдать будущее время…
Да, да, да, так же и хотел сделать, но забыл. (
В целом все предложения дельные, со всем согласен. Как я уже внизу говорил картинки я взял первые попавшиеся из гугла, поэтому и разные размеры и ассоциативная схожесть…
Издержки производства ) — надо отрегулировать длину слов.
Поэтому я и вывел кол-во необходимых кликов. Осталось сделать цифру «плавающей» и роботу сложно будет её отследить (с учетом возможного попадания цифры в область картинок).
Все равно для реальной каптчи надо брать подготовленные картинки, я же взял первые попавшиеся из гугла.
Откуда робот знаем что ему надо выбрать щелкнуть именно 4 раза? Может быть от 2 до полностью всех — 9 (Сейчас цифру на каптче я вывожу, но можно и нет).
Каким образом найти границу единичного объекта? Если 2 объекта наложились друг на друг и отдельно от остальных — для бота это будет единый объект — следовательно «сграбливать» такой слитый объект бесполезно для дальнейшого распознавания.
Согласен, но не из-за того что сложно попасть мышкой — на самом деле не обязательно попасть четко в контуры объекта — карандаш лежит по диагонали, но картинка с прямоугольными координатами можно щелкнуть над ним или под ним все равно ответ будет верным, но вот найти этот мелкий предмет согласен сложно, особенно если он перекрыт.
Веду статистику, самому ж интересно узнать. Другое дело статистика не скажет, что же там сложного в каптче — уменьшать ли кол-во картинок в каптче надо или убрать поиск сразу 2х видов предметов, в общем не понятно, а комментариях пишут сложно и все, без объяснений…
Ключ вытаскивается из джаваскрипта, дальше в функции encode суммируются все цифры ключа и умнажается на координату, а дальше пихаются в скрытое поле и отправляются на сервер. document.getElementById('pntcaptchacodex').value = encode(px+'');
document.getElementById('pntcaptchacodey').value = encode(py+'');
document.forms['loginform'].submit();
Еще интересна тема с сотыми версиями компонентов и вообще про версионность (пакетов, модулей), будет ли версии модуля менять версию мадженты и тд. Что из себя представляет repo.magento.com, можно ли поднять зеркало, как распространять свои модули.
Ну в конфиге можно не пользоваться "::class" и ручками полное имя вписывать «User\Service\RoleService» (сначала сделать вид, что пишешь имя класса — IDE дополнит его, а потом обернуть в кавычки). И волки сыты, и овцы целы )
Я делаю через второй способ:
Ну естественно конструкция "::class" ограничивает совместимость — только от PHP 5.5.
Зато удобно, привыкаешь в мгновение ока… )
Солнце будет светить вечно…
Читал книгу (вроде «Патруль времени»), где как раз описывается специальный телепортатор с помощью которого можно прыгнуть в прошлое, НО только на огромное расстояние — то есть например с Земли на 10 лет в прошлое на планете Сириуса…
Выглядит реально: 2013году с Земли перемещаемся в пространстве мгновенно на Сириус, по СТО мы на Сириусе в 2003г по земному летосчислению, то есть в прошлом, и с Сириуса через 1 час запускаем радио сигнал к Земле (на которой сейчас идет 2003г), и и ещё через 1 час снова телепортируемся назад на Землю. В итоге имеем для наблюдателя с Земли, что в 2003г Сириус испустил радиосигнал, но мы этого никак узнать не можем и в 2013 году телепортируем туда человека, который должен отправить через час сигнал, ровно через час на Земле к нам приходит этот сигнал с Сириуса и ещё через час человек телепортируется обратно… Лично я не вижу тут нарушения причинно следственной связи…
+1 Читатель этой книги.
Может где-то есть литературные конкурсы? Задается тема (выше) и все участники-писатели развивают свою тему… Интересно посмотреть, насколько много можно написать разнообразных клонов (и в каких направлениях) имея один единственный тезис. )
P.S. Картинки шикарные, с контекстом, гармонично вписанные в текст.
Да, такой «Базы Данных» я ещё не представлял. )
Хорошо что все закончилось отлично и база данных съела осьминога (GodClass).
По моему в этом алгоритме самое уязвимое место… время… Чисто гипотетически, ведь можно подменить, например ntp.ubuntu.com, pool.ntp.org и выдать будущее время…
Может у них аналоговые модемы стоят на БС )
В целом все предложения дельные, со всем согласен. Как я уже внизу говорил картинки я взял первые попавшиеся из гугла, поэтому и разные размеры и ассоциативная схожесть…
Поэтому я и вывел кол-во необходимых кликов. Осталось сделать цифру «плавающей» и роботу сложно будет её отследить (с учетом возможного попадания цифры в область картинок).
Все равно для реальной каптчи надо брать подготовленные картинки, я же взял первые попавшиеся из гугла.
Каким образом найти границу единичного объекта? Если 2 объекта наложились друг на друг и отдельно от остальных — для бота это будет единый объект — следовательно «сграбливать» такой слитый объект бесполезно для дальнейшого распознавания.
document.getElementById('pntcaptchacodex').value = encode(px+'');
document.getElementById('pntcaptchacodey').value = encode(py+'');
document.forms['loginform'].submit();