> Тогда чем он будет постоянно нагружать систему, если все проверено
Резидентные антивирусы контролируют все происходящее в системе — трафик, дисковые операции и т.д. Или теперь антивирусы не такие агрессивные?
Лично я отказался от резидентных АВ, предпочитая VirusTotal и раз в месяц CureIt ради профилактики. Для контроля системы еще пользуюсь Anvir Task Manager. Тоже, примерно за 10 лет, не заметил подхваченной заразы. То ли не подхватил, то ли не заметил :)
Первое, что приходит на ум для реализации идеи — читать посимвольно, обращая внимание на «уголки» тегов, складывая их в «стек» для соблюдения вложенности, и оставлять текст, опционально обрабатывая некоторые теги, такие, как «невидимые» теги, переводы строки, абзацы и т.д. Даже не знаю, что может быть быстрее и экономнее по расходу памяти, чем такой подход.
И, по мне, было бы лучше обрабатывать так, чтобы на выходе получился текст-разметка типа markdown или похожее — тогда, можно будет восстановить почти полноценную разметку с сохранением читабельности.
Для пущей феерии осталось только такую гениальную идею реализовать:
«Извините, Вы не можете использовать этот пароль, т.к. он уже используется пользователем vasya.pupkin@email.ru. Придумайте другой пароль»
А вообще, да, такие ограничения бесят, и не только на длину и сложность, но и еще когда заставляют раз в месяц менять пароль, при этом запоминая Х последних и не давая повторяться — вот это квест!
К слову, рабочий VPN за полтора (!) месяца при авторизации начинает донимать напоминалкой, что пароль надо будет сменить: «до истечения срока действия пароля осталось 45...(44...43...42) дней», вызывая цветистую гамму эмоций.
По-моему, антивирусы больше вредят системе, чем вирусы — в том смысле, что при грамотно настроенной системе и осторожной, аккуратной работе риск «заразиться» невелик, тогда как наличие антивируса безусловно нагружает систему постоянно. Это напоминает страховку — вероятность пожара невелика, но страховые взносы должны платиться регулярно.
Воистину, чем сложнее система, тем более она хрупка. Т.е. любое «лишнее» установленное приложение повышает потенциальную уязвимость машины в целом. И да, антивирусы тоже, ведь они тоже программы. Даже виртуальные машины, как программы, наверняка уязвимы и существует возможность просочиться заразе на хост-систему.
Что еще хуже — антивирусы вынуждены работать с повышенными привилегиями, следовательно — уязвимости в них наиболее опасны. Иронично, что антивирусы по идее должны повышать безопасность системы, но нет, реальность доказывает ошибочность и даже опасность иллюзии защищенности у пользователя, поставившему себе антивирус.
Потому, на мой взгляд, гораздо эффективнее система ограничения прав доступа на всех уровнях системы — чем более изолированы и автономны компоненты системы, тем меньше шансов на то, что в случае выхода из строя одного компонента не выйдет из строя вся система — в случае с вредоносным софтом «заражена» и прочее.
«включаю технаря» и кроме двух слов «CSS» и «JS» никакой технической конкретики… Прямо как в старой шутке «я знаю каратэ, дзюдо, айкидо и еще много страшных слов»…
Проблема получения информации не в том, что есть «лишняя» информация, а в том, что информации на самом деле не хватает. Т.е. чтобы составить собственное мнение, нужно в голове агрегировать информацию из многих источников, а не фильтровать ее.
И проблема, ранее телевидения, а теперь и интернета, в том, что отсутствие информации солят пестрыми заголовками и психологической окраской.
Т.е. даже если питаться пропагандой, но и от «своих» и «чужих», то можно составить свое мнение. Если же увеличивать кол-во «врагов» и городить на них фильтрацию — то после фильтрации останется только та информация, которая соответствует личному предвзятому мнению.
Скажем, возьмем тот же пример из статьи про «Надежда Савченко приехала в Донбасс». Вопрос — сколько информации в этом, а сколько создание нужного отношения к этому, исходя из додумывания?
К сожалению, большинство «новостей» состоят именно из такого информационного шума, который никак не скажется на индивиде в зависимости от того, узнает он об этом или вообще нет, но, напитавшись, он начинает считать это очень важным для себя, теряет душевное равновесие, тратит время за продолжением, которое обязательно следует… а практически это знание он никак не может применить, разве что в очередных сплетнях…
Поэтому, меньше фильтров и заборов, а больше, еще больше информации — вместе с фактами, промыванием мозгов, психологических приемов и пропаганды! а там уж сами разберемся, какое личное мнение составить, и нужно ли иметь какое-то мнение по каждому вопросу или это несущественно…
Просто потому что предположения о том как пользователи будут использовать продукт провалились
В том и дело, что красивая картинка — с изображениями, анимацией и пр. — это одно, а удобство, юзабилити — совсем другое, и если первое можно отложить на потом, то второе закладывается еще на этапе проектирования и в целом определяет поведение и функциональность системы. И если углы у кнопочки можно закруглить в последнюю очередь, то тот факт, есть ли кнопочка или нет, расположена она вверху и продублирована ли для удобства внизу или запрятана в угол — зачастую решает, можно ли в целом пользоваться системой или ее придется серьезно переделывать; туда же поддержка AJAX и проч.
Так вот, если на первое я плюю, то на второе я очень даже обращаю внимание, и пусть при этом проект выглядит будто родом из 90х, с ужасными квадратными серыми кнопками — ведь это всегда можно приукрасить :)
Многие говорят, что если не юзаешь IDE — то ты совсем не спец, и даже не джуниор…
Пусть говорят, жирные тролли :)
я не хочу(и не могу) юзать IDE, от которой тормозит хром, и плеер с музыкой на компе...8 гб оперативы, 4 ядра AMD
Как Java-разработчик (проект на GWT, будь он неладен) использую IDEA, в это время открыт Хром, Огнелис и IE11, в фоне работает 2 томкэта, сервисами крутятся Апач и Постгрес, играет AIMP, открыт TeamViewer, и вполне комфортно работать, если только не запущу еще Эклипс :) 2 ядра Интел по 2ГГц, те же 8Г ОЗУ — язык не поворачивается назвать это суперкомпом :) ЧЯДНТ?
Я не говорил, что Вы — не специалист, я говорил о том, что специалист подбирает подходящие инструменты для разработки, вместо того, чтобы кодить в нотпаде :) И нет ни одной причины не пользоваться IDE
Почти согласен с Вами, но: не забываем, это было тестовое задание на 8 часов, а потом, я делал просто, и некрасиво, но не неудобно. Все-таки я программист, а не дизайнер и не верстальщик, и до сих пор считаю, что в первую очередь система должна работать правильно, а красивую картинку можно нарисовать и потом — главное, чтобы эта система позволяла себя легко «разукрасить» так, как душе угодно — хоть с многоязычностью и сменяемыми темами.
Да, Bootstrap бы меня тогда спас, если бы в то время он существовал :) К слову, сейчас как раз использую TwBs для разработки, в стиле «смотрится неплохо, но есть потенциал для вау-дизайна» при минимальных затратах на верстку.
очень большая редкость джуны с опытом работы с юнит тестами
добавьте сюда внимание к устойчивости системы (в смысле безопасности). Почему-то, джуники считают своим долгом «склеивать» запросы в строку с переменными, а даже миддлы\сеньоры совсем не видят пограничных ситуаций от «а что, если пользователь ввел букву вместо цифры» до «а не придет ли сюда null и не сломает ли нам все.» Заметьте, это никак не коллерирует с написанием юнит-тестов — юниты тоже надо еще уметь писать :)
В итоге, 90% (субъективно) сайтов содержат детские ошибки и подвержены элементарным sql injection, xss — я уж молчу про timed attack, csrf и проч.
написать простую страницу с логином используя ООП и «clean url»
Здесь «фреймворком» и не пахнет, вопрос только в разделении слоев и уровне абстракции, чтобы эта функциональность с наименьшей болью вписывалась в существующую архитектуру и\или подстраивалась под использование одного или нескольких фреймворков, в стиле «здесь вьюшку можно написать используя шаблонизатор вместо голого пхп» и «а методы этого класса переписываем, чтобы он обращался к Zend-DB или чему-то еще», а «clean url» вместо правила в .htaccess конфигим через методы, предоставляемые фреймворком.
Таким образом, и монолит в виде статических методов и подход «фабрика фабрик фабрик» с интерфейсом на каждый класс — это всегда решение, запросто не выдерживающее критики, но зато развязывает руки собеседующему принять чела или не принять, вне зависимости от того, что понаписал «испытуемый».
Сеньёрство это вообще страшный субъективизм
Ну почему же. Я выше привел пример нормальных вопросов, а к тому же, сеньор — это не тот, кто способен писать одному ему понятный код, используя одному ему известные хаки и особенности интерпретатора и растить фреймворк над фрейморком, а тот, который умеет видеть потенциальные проблемы и предлагать несколько решений одной проблемы, от «сделать быстро и грязно» до «долго, дорого, но надежно», чей код прост, читаем и гибок, а также умеет организовать команду. Кстати, недавно об этом проскакивала статья.
Влезу, пожалуй. Как же Вы определяете критерий профессионализма? Неужто профессионал — это тот чел, который вместо грамотного выбора инструментов (той же IDE) предпочтет писать код в блокноте\vim'е и знает phpdoc наизусть? Если так, то пожалуй, можно будет Вас пожалеть, когда такой «про» в работе с Вами понапишет такой код, который прочитать и подправить под изменяющиеся требования будет невозможно, такой код, который руками лучше не трогать, чтобы не развалился…
Что, имхо, некорректно, ибо, во-первых, порождает тонну вопросов, что же на самом деле хотят, т.к. фреймворков много и разных, для различных нужд и трудно выяснить, что же на самом деле хотят от тебя как от кандидата, а во-вторых, запросто уводит в патовую ситуацию, когда субъективизм видения собеседующего и собеседуемого на то, каким должен и не должен быть фреймворк, просто зашкаливает — особенно в условиях недостатка времени, когда закончить такое «тестовое» задание априори невозможно, и что там должно быть, а что нет, чтобы называться «фреймворком».
К примеру, несколько месяцев назад некий парниша написал статью на Хабре, где описал свой «фремворк» — «легковесный ORM», состоящий из одного класса и был закидан гов...камнями разгромной критикой в духе «так писать нельзя», «это не ORM» и «выкини поделие на помойку» при том, что сам честно в начале статьи признался, что ставил целью разобраться с философией построения подобных фреймворков, а не создать «убийцу Doctrine/AdoDB/и проч.».
И к тому же, на какой уровень собеседуемого Вы предлагаете использовать подобное задание — джуник, миддл или сеньор?
Очевидно, что на каждый уровень должны быть различные вопросы. И если человеку без опыта действительно нужно задавать вопросы в стиле «что выведет echo ''+0?», то мучать подобными вопросами сеньора — уже не уважать ни его, ни себя, и лучше поспрашивать о его опыте работы, используемых технологиях, проблемах, с которыми он столкнулся и как решал, без конкретики «напишите на листочке классы A и B, чтобы один наследовал другой и можно ли будет на объекте одного класса вызвать метод, определенный в другом».
И еще немного, о тестовых заданиях. Помню я, как мне предложили создать «админку» в стиле CRUD для редактирования сотрудников и их зарплат, на 8 часов, после чего мне отказали на том основании, что я сделал функциональность и совсем не позаботился о том, как оно выглядело — без стилей, сверстано таблицами и проч. В другом случае тестовым заданием было: зайти в их багтрекер, выбрать по вкусу баг их системы и исправить его — чем я даже заниматься не стал :) А Вы предлагаете писать «фреймворк».
Резидентные антивирусы контролируют все происходящее в системе — трафик, дисковые операции и т.д. Или теперь антивирусы не такие агрессивные?
Лично я отказался от резидентных АВ, предпочитая VirusTotal и раз в месяц CureIt ради профилактики. Для контроля системы еще пользуюсь Anvir Task Manager. Тоже, примерно за 10 лет, не заметил подхваченной заразы. То ли не подхватил, то ли не заметил :)
И, по мне, было бы лучше обрабатывать так, чтобы на выходе получился текст-разметка типа markdown или похожее — тогда, можно будет восстановить почти полноценную разметку с сохранением читабельности.
сисекконца монополии не раскрыта :( Вся новость укладывается в одно предложение а гдескандалы, интриги, расследованияподробности? Народ жаждет хлеба и зрелищ — так накормите же нас!«Извините, Вы не можете использовать этот пароль, т.к. он уже используется пользователем vasya.pupkin@email.ru. Придумайте другой пароль»
А вообще, да, такие ограничения бесят, и не только на длину и сложность, но и еще когда заставляют раз в месяц менять пароль, при этом запоминая Х последних и не давая повторяться — вот это квест!
К слову, рабочий VPN за полтора (!) месяца при авторизации начинает донимать напоминалкой, что пароль надо будет сменить: «до истечения срока действия пароля осталось 45...(44...43...42) дней», вызывая цветистую гамму эмоций.
Что еще хуже — антивирусы вынуждены работать с повышенными привилегиями, следовательно — уязвимости в них наиболее опасны. Иронично, что антивирусы по идее должны повышать безопасность системы, но нет, реальность доказывает ошибочность и даже опасность иллюзии защищенности у пользователя, поставившему себе антивирус.
Потому, на мой взгляд, гораздо эффективнее система ограничения прав доступа на всех уровнях системы — чем более изолированы и автономны компоненты системы, тем меньше шансов на то, что в случае выхода из строя одного компонента не выйдет из строя вся система — в случае с вредоносным софтом «заражена» и прочее.
И проблема, ранее телевидения, а теперь и интернета, в том, что отсутствие информации солят пестрыми заголовками и психологической окраской.
Т.е. даже если питаться пропагандой, но и от «своих» и «чужих», то можно составить свое мнение. Если же увеличивать кол-во «врагов» и городить на них фильтрацию — то после фильтрации останется только та информация, которая соответствует личному предвзятому мнению.
Скажем, возьмем тот же пример из статьи про «Надежда Савченко приехала в Донбасс». Вопрос — сколько информации в этом, а сколько создание нужного отношения к этому, исходя из додумывания?
К сожалению, большинство «новостей» состоят именно из такого информационного шума, который никак не скажется на индивиде в зависимости от того, узнает он об этом или вообще нет, но, напитавшись, он начинает считать это очень важным для себя, теряет душевное равновесие, тратит время за продолжением, которое обязательно следует… а практически это знание он никак не может применить, разве что в очередных сплетнях…
Поэтому, меньше фильтров и заборов, а больше, еще больше информации — вместе с фактами, промыванием мозгов, психологических приемов и пропаганды! а там уж сами разберемся, какое личное мнение составить, и нужно ли иметь какое-то мнение по каждому вопросу или это несущественно…
В том и дело, что красивая картинка — с изображениями, анимацией и пр. — это одно, а удобство, юзабилити — совсем другое, и если первое можно отложить на потом, то второе закладывается еще на этапе проектирования и в целом определяет поведение и функциональность системы. И если углы у кнопочки можно закруглить в последнюю очередь, то тот факт, есть ли кнопочка или нет, расположена она вверху и продублирована ли для удобства внизу или запрятана в угол — зачастую решает, можно ли в целом пользоваться системой или ее придется серьезно переделывать; туда же поддержка AJAX и проч.
Так вот, если на первое я плюю, то на второе я очень даже обращаю внимание, и пусть при этом проект выглядит будто родом из 90х, с ужасными квадратными серыми кнопками — ведь это всегда можно приукрасить :)
Пусть говорят, жирные тролли :)
Как Java-разработчик (проект на GWT, будь он неладен) использую IDEA, в это время открыт Хром, Огнелис и IE11, в фоне работает 2 томкэта, сервисами крутятся Апач и Постгрес, играет AIMP, открыт TeamViewer, и вполне комфортно работать, если только не запущу еще Эклипс :) 2 ядра Интел по 2ГГц, те же 8Г ОЗУ — язык не поворачивается назвать это суперкомпом :) ЧЯДНТ?
Я не говорил, что Вы — не специалист, я говорил о том, что специалист подбирает подходящие инструменты для разработки, вместо того, чтобы кодить в нотпаде :) И нет ни одной причины не пользоваться IDE
Да, Bootstrap бы меня тогда спас, если бы в то время он существовал :) К слову, сейчас как раз использую TwBs для разработки, в стиле «смотрится неплохо, но есть потенциал для вау-дизайна» при минимальных затратах на верстку.
добавьте сюда внимание к устойчивости системы (в смысле безопасности). Почему-то, джуники считают своим долгом «склеивать» запросы в строку с переменными, а даже миддлы\сеньоры совсем не видят пограничных ситуаций от «а что, если пользователь ввел букву вместо цифры» до «а не придет ли сюда null и не сломает ли нам все.» Заметьте, это никак не коллерирует с написанием юнит-тестов — юниты тоже надо еще уметь писать :)
В итоге, 90% (субъективно) сайтов содержат детские ошибки и подвержены элементарным sql injection, xss — я уж молчу про timed attack, csrf и проч.
Здесь «фреймворком» и не пахнет, вопрос только в разделении слоев и уровне абстракции, чтобы эта функциональность с наименьшей болью вписывалась в существующую архитектуру и\или подстраивалась под использование одного или нескольких фреймворков, в стиле «здесь вьюшку можно написать используя шаблонизатор вместо голого пхп» и «а методы этого класса переписываем, чтобы он обращался к Zend-DB или чему-то еще», а «clean url» вместо правила в .htaccess конфигим через методы, предоставляемые фреймворком.
Таким образом, и монолит в виде статических методов и подход «фабрика фабрик фабрик» с интерфейсом на каждый класс — это всегда решение, запросто не выдерживающее критики, но зато развязывает руки собеседующему принять чела или не принять, вне зависимости от того, что понаписал «испытуемый».
Ну почему же. Я выше привел пример нормальных вопросов, а к тому же, сеньор — это не тот, кто способен писать одному ему понятный код, используя одному ему известные хаки и особенности интерпретатора и растить фреймворк над фрейморком, а тот, который умеет видеть потенциальные проблемы и предлагать несколько решений одной проблемы, от «сделать быстро и грязно» до «долго, дорого, но надежно», чей код прост, читаем и гибок, а также умеет организовать команду. Кстати, недавно об этом проскакивала статья.
Что, имхо, некорректно, ибо, во-первых, порождает тонну вопросов, что же на самом деле хотят, т.к. фреймворков много и разных, для различных нужд и трудно выяснить, что же на самом деле хотят от тебя как от кандидата, а во-вторых, запросто уводит в патовую ситуацию, когда субъективизм видения собеседующего и собеседуемого на то, каким должен и не должен быть фреймворк, просто зашкаливает — особенно в условиях недостатка времени, когда закончить такое «тестовое» задание априори невозможно, и что там должно быть, а что нет, чтобы называться «фреймворком».
К примеру, несколько месяцев назад некий парниша написал статью на Хабре, где описал свой «фремворк» — «легковесный ORM», состоящий из одного класса и был закидан
гов...камнямиразгромной критикой в духе «так писать нельзя», «это не ORM» и «выкини поделие на помойку» при том, что сам честно в начале статьи признался, что ставил целью разобраться с философией построения подобных фреймворков, а не создать «убийцу Doctrine/AdoDB/и проч.».И к тому же, на какой уровень собеседуемого Вы предлагаете использовать подобное задание — джуник, миддл или сеньор?
Очевидно, что на каждый уровень должны быть различные вопросы. И если человеку без опыта действительно нужно задавать вопросы в стиле «что выведет echo ''+0?», то мучать подобными вопросами сеньора — уже не уважать ни его, ни себя, и лучше поспрашивать о его опыте работы, используемых технологиях, проблемах, с которыми он столкнулся и как решал, без конкретики «напишите на листочке классы A и B, чтобы один наследовал другой и можно ли будет на объекте одного класса вызвать метод, определенный в другом».
И еще немного, о тестовых заданиях. Помню я, как мне предложили создать «админку» в стиле CRUD для редактирования сотрудников и их зарплат, на 8 часов, после чего мне отказали на том основании, что я сделал функциональность и совсем не позаботился о том, как оно выглядело — без стилей, сверстано таблицами и проч. В другом случае тестовым заданием было: зайти в их багтрекер, выбрать по вкусу баг их системы и исправить его — чем я даже заниматься не стал :) А Вы предлагаете писать «фреймворк».