Да, знать и уметь в такие вещи, как SRP (да и в вообще весь SOLID) YAGNI, DRY - очень похвально. Но KISS нужно соблюдать в первую очередь. Даже если ты безбожно нарушаешь инкапсуляцию или в рот ебал SRP, пишешь методы на 100500 строк, если ты стер под ноль клавиши CRTL, C и V, и даже если для ебаного хелловорда ты подключил тысячу и одну библиотеку.
ПИШИ ПРОСТОЙ И ЧИТАБЕЛЬНЫЙ КОД
Иначе даже сам Сатана в обмен на твою прожженую гавнокодом душонку не возьмется рефакторить и исправлять то гавно, что выдал твой воспаленный межушный нервный узел.
Допустим,сейчас тебе повезло, ты работаешь в аутсорс компании, пилишь для энтерпрайз заказчиков с Израиля/США/Европы архиважную(нет) тулу за милион денег на одном из TOP10 языков. И вполне вероятно, спустя 7-10 лет твоя тула(и возможно, фреймворки и даже сам язык) превратится в тыкву.
Но как бы то ни было, рано или позно у этих же заказчиков наступит момент, когда написаный тобой продукт станет невозможно меинтейнить.
И основной причиной будет не устаревшая технология и стопицот гавнобиблиотек. Не дублируемые куски кода и даже не монструозный пилоподобный код на N*10^3 строк в одном файле. Ненужные зависимости можно удалить, огромные функции подробить на маленькие кусочки и даже удалить повторяемый код. Да, на это уйдет туева хуча времени, но для вялотекущего саппорта такие вещи вполне возможны.
НО НЕЧИТАБЕЛЬНЫЙ И НЕПОНЯТНЫЙ КОД ИСПРАВИТЬ НЕВОЗМОЖНО
Страдал тем же, карты-пароли, "фигурки" на клавиатуре, код + название ресурса...
В свое время выучил число Пи до 50 знаков после запятой. Пока учил - понял, что мой мозг быстро и олично запоминает последовательности по 2 разряда, по типу
3. 14 15 92 65 36 ...
Решил поиграться с другими символами, опытным путем установил, что лучше всего запоминаю последовательности, если разбить их на 4 символа.
Суть:
Есть N ( N - сколько не лень запомнить) - четырехсимвольных блоков типа: dE%1, 4r*K, z-G1...
Изначально у меня таких блоков было 4 (N = 4)
при условии, что блок не повторяется : K - количество блоков в пароле, получим:
K = 4 : 24 разных пароля по 16 символов. пример : Z@k4rm0GP$5RdKz*8
K = 3 : 24 разных пароля по 12 символов пример : rm0GP$5RdKz*8
К = 2 : 12 паролей по 8 символов. пример: rm0GP$5Rd
_________
Всего 60 паролей разной длинны с ипользованием 4 неповторяющихся блоков. Если повторять - будет больше, но не секурно.
А если запомнить на один блок больше ( N = 5) то получим
К = 5 : 120 шт / 20 символов
К = 4 : 120 шт /16 символов
К = 3 : 60 шт / 12 символов
К = 2 : 20 шт / 8 символов
_________
320 паролей из 5 блоков.
Плюсы:
+ стойкий к брутфорсу по словарю (в той же степени, что и обычный рандомный пароль на 20/16/12 символов)
+ при грамотном составлении блоков можно учесть специфические требования к паролю: наличие или отсутствие спец символов (да, есть ресурсы, которые не позволяют спецсимволы в пароль, боль пичаль)
Например:
три блока - верхний и нижний регистры, цифры.
четвертый и пятый - добавить спецсимволы.
+ выучить 4-5 блоков - раз плюнуть.
+ высокая скорость набора пароля, ибо блоки быстро запоминаются в наборе.
+ можно хранить в открытом виде, как 1423, 2134, (цифра-номер блока) либо же "прятать" в составе 10-значного числа: 7194520836, 6259170834.
+ выглядит устрашающе.
минусы:
- если кто-то получит доступ _к_более_чем_одному_паролю_ на 16 символов, и _заметит_, что используются одинаковые блоки, то _все_ пароли будут скомпрометированы (при условии, что злоумышленник додумается брутить по 3 и по 2 блока). При утечке пароля на 12 и менее символов уязвимыми будут только те пароли, где испольуются блоки, входящие в уже раскрытый пароль.
- прийдется дополнительно помнить порядок блоков.
Читабельность и простота кода превыше всего.
Да, знать и уметь в такие вещи, как SRP (да и в вообще весь SOLID) YAGNI, DRY - очень похвально. Но KISS нужно соблюдать в первую очередь. Даже если ты безбожно нарушаешь инкапсуляцию или в рот ебал SRP, пишешь методы на 100500 строк, если ты стер под ноль клавиши CRTL, C и V, и даже если для ебаного хелловорда ты подключил тысячу и одну библиотеку.
ПИШИ ПРОСТОЙ И ЧИТАБЕЛЬНЫЙ КОД
Иначе даже сам Сатана в обмен на твою прожженую гавнокодом душонку не возьмется рефакторить и исправлять то гавно, что выдал твой воспаленный межушный нервный узел.
Допустим,сейчас тебе повезло, ты работаешь в аутсорс компании, пилишь для энтерпрайз заказчиков с Израиля/США/Европы архиважную(нет) тулу за милион денег на одном из TOP10 языков. И вполне вероятно, спустя 7-10 лет твоя тула(и возможно, фреймворки и даже сам язык) превратится в тыкву.
Но как бы то ни было, рано или позно у этих же заказчиков наступит момент, когда написаный тобой продукт станет невозможно меинтейнить.
И основной причиной будет не устаревшая технология и стопицот гавнобиблиотек. Не дублируемые куски кода и даже не монструозный пилоподобный код на N*10^3 строк в одном файле. Ненужные зависимости можно удалить, огромные функции подробить на маленькие кусочки и даже удалить повторяемый код. Да, на это уйдет туева хуча времени, но для вялотекущего саппорта такие вещи вполне возможны.
НО НЕЧИТАБЕЛЬНЫЙ И НЕПОНЯТНЫЙ КОД ИСПРАВИТЬ НЕВОЗМОЖНО
@
"...30 000 машин на Windows 7..."
@
>msfconsole
с ней можно разговаривать, няшное лицо и сиськи. а рот с лихвой компенсирует все остальное.
В свое время выучил число Пи до 50 знаков после запятой. Пока учил - понял, что мой мозг быстро и олично запоминает последовательности по 2 разряда, по типу
3. 14 15 92 65 36 ...
Решил поиграться с другими символами, опытным путем установил, что лучше всего запоминаю последовательности, если разбить их на 4 символа.
Суть:
Есть N ( N - сколько не лень запомнить) - четырехсимвольных блоков типа: dE%1, 4r*K, z-G1...
Изначально у меня таких блоков было 4 (N = 4)
при условии, что блок не повторяется : K - количество блоков в пароле, получим:
K = 4 : 24 разных пароля по 16 символов. пример : Z@k4rm0GP$5RdKz*8
K = 3 : 24 разных пароля по 12 символов пример : rm0GP$5RdKz*8
К = 2 : 12 паролей по 8 символов. пример: rm0GP$5Rd
_________
Всего 60 паролей разной длинны с ипользованием 4 неповторяющихся блоков. Если повторять - будет больше, но не секурно.
А если запомнить на один блок больше ( N = 5) то получим
К = 5 : 120 шт / 20 символов
К = 4 : 120 шт /16 символов
К = 3 : 60 шт / 12 символов
К = 2 : 20 шт / 8 символов
_________
320 паролей из 5 блоков.
Плюсы:
+ стойкий к брутфорсу по словарю (в той же степени, что и обычный рандомный пароль на 20/16/12 символов)
+ при грамотном составлении блоков можно учесть специфические требования к паролю: наличие или отсутствие спец символов (да, есть ресурсы, которые не позволяют спецсимволы в пароль, боль пичаль)
Например:
три блока - верхний и нижний регистры, цифры.
четвертый и пятый - добавить спецсимволы.
+ выучить 4-5 блоков - раз плюнуть.
+ высокая скорость набора пароля, ибо блоки быстро запоминаются в наборе.
+ можно хранить в открытом виде, как 1423, 2134, (цифра-номер блока) либо же "прятать" в составе 10-значного числа: 7194520836, 6259170834.
+ выглядит устрашающе.
минусы:
- если кто-то получит доступ _к_более_чем_одному_паролю_ на 16 символов, и _заметит_, что используются одинаковые блоки, то _все_ пароли будут скомпрометированы (при условии, что злоумышленник додумается брутить по 3 и по 2 блока). При утечке пароля на 12 и менее символов уязвимыми будут только те пароли, где испольуются блоки, входящие в уже раскрытый пароль.
- прийдется дополнительно помнить порядок блоков.
PROFIT?
стОит он своих денег? Сомневаюсь. Но цена здесь точно не ошибочна.
https://arcenciel-shop.com.ua/dzhemper-annette-gortz%20ment