Тогда можно еще задачу комивояжора припомнить (и вообще там целый класс задач из мира «очевидное-невероятное программирование», ни чем не хуже, чем «1 + '2' == '2' + 1» в JS). А про фанатов это конечно под впечатлением шутливого тона статьи. Правда, если воспринимать буквы совсем буквально, то меня можно и канделябром (запрещено законом РФ). Только вместе с автором, ведь не я первый здесь это начал.
Фанат хаскель, если он конечно не разработчик ghc, скажет, что тождественный функтор для единичного морфизма это хорошо.) А многопоточность, ей богу — пофик — компилятор умный, вот пусть и думает как параллелить.
Мы сейчас точно говорим про юнит-тест (это которые должны тестировать SUT, абстрагировав от всех внешних зависимостей?) Мне почему-то кажется, что функцию которую вы описали, надо покрывать матом — слишком много на себя берет. :)
Во всех реализациях JS таймер является внешней штуковиной, которая благодаря этому тривиально заменяется на фейк. Например такой http://legacy.sinonjs.org/docs/#clock. Все предельно просто, как в детском конструкторе, и это правда работает.
Ну что уж так уж?). Самые крутые истории, которые доходили из поддержки, связаны с эффектами, возникавшими в многопоточных приложениях. Не знаю какими таблетками кормят разработчиков, может такими когда приходится выбирать или печень, или почки.
Вы не поверите, но это реально круто, когда код можно тупо дебажить, покрывать юнит-тестами, а потом он реально так и работает.
Многопоточность это сложно, а сложно это плохо. Согласитесь, без неё мир был бы проще. Просто есть задачи, которые без многопоточности решаются еще сложнее. И кстати многие среды выполнения JS внутри используют потоки. Взять тот же node.js, не говоря уже о браузерах.
получилось 306 259 512 уникальных паролей. На следующий день он добавил ещё 13 675 934, опять из неизвестного источника — эти пароли распространяются отдельным файлом.
Изначально в базу было собрано 306М паролей без учета регистра. В update-1 добавлено еще 14М паролей с учетом регистра (как я понял, источники те же, поменялся лишь процессинг), а в update-2 (уже после публикации этой статьи) — пароли длиннее 40 символов, которые ранее по ошибке обрезались. Таким образом *-update-1 база регистрозависима.
Ставило ли духовенство при адаптации аристотелевской логики задачей двигать науку, или преследовало какие-то иные цели? А то сейчас можете, вон, центральное телевидение благодарить за развитие психологии — они же продвигают технологии манипулирования мнением и НЛП в массы.
А кто набрал на проект таких разработчиков, которые не в состоянии справиться с поставленными задачами, не менеджеры-ли?
Кстати, в статье этот момент хорошо описан. В самом деле «накосячить» можно в любой момент. Причем если говорить о квалификации, то она влияет лишь на вероятность появления дефектов, но не на их принципиальную невозможность. Собственно из это и появляется вся эта история с задачами контроля качества и вовлечением в процесс персонала разного уровня. Отсюда и возникает мысль, что качество это командная responsibility, начиная от первых контактов с заказчиком и до закрытия проекта.
Такому вектору развития будут противодействовать, из-за очевидных создаваемых проблем спецслужбам.
Не уверен, скорее тенденция прямо противоположна. Подконтрольный MITM, сейчас является штатно поддерживаемым сценарием в системе (не-)предупреждения об атаках браузеров.
В крайних версиях google chrome, возможность посмотреть глазками на сертификат сайта хорошо запрятали. В пределах видимости остался только зеленый замочек со словом «Надежный» и сообщение, что соединение и информация надежно защищены.
Больше всего такая надежная защищенность внушает оптимизм, при серфинге через Fiddler прокси, чей self-signed сетрификат добавлен в «trusted root certificate authority» девайсов для тестирования. Этот прокси, для удобства разработки, дешифрует весь проходящий через него https и подменяет в нужных местах ответы сайтов. Заметить подвох (фактически MITM атаку) на стороне браузера можно по характеристикам сертификата, только специально покопавшись где-то во вкладках chrome dev-tools.
Теоретически вы правы. Просто когда вендоры отдельного CA, которые по совместительству владеют подавляющей долей рынка браузеров и двигают технологии, так же являются его платиновыми спонсорами, это создает интересную ситуацию. Возможно, в целом, такая централизация не так уж плоха — браузеру ведь в любом случае приходится доверять. Но сам рост уровня консолидации ключевых технологий в руках отдельных корпораций впечатляет.
Странно, что более мелкие игроки на рынке браузеров, типа Яндекса, до сих пор не сделали свой домашний CA, по аналогии с LE.
Распределенная схема с персональными сетями доверия, в целом, реализована для верификации подписей PGP, но на практике не сильно популярна из-за сложностей в использовании.
А у Google и Mozilla уже есть Let's Encrypt, который теоретически способен продуцировать аналитику — кто, когда и на какие сайты. Зачем еще какие-то заморочки?)
В юридическом смысле это как судья решит. Суд не точная наука, а состязательный процесс, где исход зависит не только от принятых в конкретной стране правил игры, которые называются правой системой (где-то прописанными в законах, где-то в базе прецедентов, где-то еще как), а еще кучи других факторов — в одном комменте не расскажешь. В моральном аспекте, владелец наверняка и без этого будет осознавать, с какой целью там оказались ножи и растворитель, и мог-ли предпринять какие-то действия, чтобы не допустить суицида (запрещено в РФ).
Во всех реализациях JS таймер является внешней штуковиной, которая благодаря этому тривиально заменяется на фейк. Например такой http://legacy.sinonjs.org/docs/#clock. Все предельно просто, как в детском конструкторе, и это правда работает.
Ну что уж так уж?). Самые крутые истории, которые доходили из поддержки, связаны с эффектами, возникавшими в многопоточных приложениях. Не знаю какими таблетками кормят разработчиков, может такими когда приходится выбирать или печень, или почки.
Вы не поверите, но это реально круто, когда код можно тупо дебажить, покрывать юнит-тестами, а потом он реально так и работает.
Изначально в базу было собрано 306М паролей без учета регистра. В update-1 добавлено еще 14М паролей с учетом регистра (как я понял, источники те же, поменялся лишь процессинг), а в update-2 (уже после публикации этой статьи) — пароли длиннее 40 символов, которые ранее по ошибке обрезались. Таким образом *-update-1 база регистрозависима.
Кстати, в статье этот момент хорошо описан. В самом деле «накосячить» можно в любой момент. Причем если говорить о квалификации, то она влияет лишь на вероятность появления дефектов, но не на их принципиальную невозможность. Собственно из это и появляется вся эта история с задачами контроля качества и вовлечением в процесс персонала разного уровня. Отсюда и возникает мысль, что качество это командная responsibility, начиная от первых контактов с заказчиком и до закрытия проекта.
Не уверен, скорее тенденция прямо противоположна. Подконтрольный MITM, сейчас является штатно поддерживаемым сценарием в системе (не-)предупреждения об атаках браузеров.
В крайних версиях google chrome, возможность посмотреть глазками на сертификат сайта хорошо запрятали. В пределах видимости остался только зеленый замочек со словом «Надежный» и сообщение, что соединение и информация надежно защищены.
Больше всего такая надежная защищенность внушает оптимизм, при серфинге через Fiddler прокси, чей self-signed сетрификат добавлен в «trusted root certificate authority» девайсов для тестирования. Этот прокси, для удобства разработки, дешифрует весь проходящий через него https и подменяет в нужных местах ответы сайтов. Заметить подвох (фактически MITM атаку) на стороне браузера можно по характеристикам сертификата, только специально покопавшись где-то во вкладках chrome dev-tools.
Странно, что более мелкие игроки на рынке браузеров, типа Яндекса, до сих пор не сделали свой домашний CA, по аналогии с LE.
А у Google и Mozilla уже есть Let's Encrypt, который теоретически способен продуцировать аналитику — кто, когда и на какие сайты. Зачем еще какие-то заморочки?)