Pull to refresh
9
0
Рустам Бабаджанов @Rusted

User

Send message

В таком случае в .gitignore будет n уникальных записей, по одному на каждый компьютер на котором ведётся разработка, и эти файлы там будут только копиться, потому что удалять будут забывать/забивать. Некоторые нерадивые иногда будут забывать добавлять свои уникальные файлы в .gitignore и коммитить их в репу.
Лучше использовать статичное имя, например appsettings.LocalDev.json и сразу прописать его в .gitignore.

Насколько я понимаю, это был заказ от MS — написать open-source аналог Wordpress CMS для .NET экосистемы, подозреваю что с целью популяризации Windows как плаформы «дешевого» веб хостинга, в пику супер-популярному в то время LAMP стеку. И с этой точки зрения, причины, почему было принято то или иное техническое решение в архитектуре Orchard становится гораздо более очевидным. Даже учитывая некоторые концептуальные технологические и инфраструктурные различия между PHP и .NET, им это в какой-то степени удалось, т.е. поставленная MS задача была ими выполнена. А вот правильно ли была поставлена цель — совершенно другой вопрос и думаю он не к разработчикам из команды Orchard.
Я не согласен, что они совсем ничего не учли. Система в Orchard Core стала более модульной, и если не нужен сложный и навороченный функционал CMS для рендеринга HTML, его можно просто не подключать и не использовать и написать свой с пайплайном и контент-менеджерами. Некоторые из сделанных в прошлом ошибок они по моему все таки учли, например, полностью избавились от идеи динамической компиляции и подгрузки внешних модулей в рантайме, вот тут я соглашусь что это был реальный over-engineering, причем именно в угоду цели написать свой аналог Wordpress.
Последний слайд про AntiCSRF без криптографии какой-то мутный. Если я правильно понял самую идею, то сломать такую AntiCSRF защиту вообще ничего не стоит.
Суть любого Anti CSRF механизма — отправлять уникальный токен или его часть альтернативным способом, например через параметры формы, URL или же в заголовках HTTP. Это по умолчанию предусматривает какие-то дополнительные телодвижения со стороны разработчика. И если все необходимые данные отправляются браузером полностью автоматически, то в такой защите нет никакого смысла, просто потому что тогда она просто не защищает от CSRF атак.
Чистые Anti-CSRF токены не предназначены для защиты от ботов которые знают актуальные имя/пароль пользователя или имеют аутентификационный токен/куку, т.е. в случае CSRF атаки сам сценарий атаки немного другой. А вот разработчики youtube скорее всего делали свою защиту с учетом как раз этого требования.
Зачем использовать bcrypt и PBKDF2 (aka PKCS#5) если есть scrypt?
image
«Детская порнография прекрасна», — заявил он с трибуны. «Прекрасна она тем, что её проблема понятна всем политикам. Грамотно манипулируя этой темой мы можем добиться от них любых действий и уже сейчас начать блокировать неугодные нам сайты.»… «Скоро мы сможем представить разработанный совместно с IFPI и MPA фильтр. Мы будем параллельно отслеживать детскую порнографию в сети и блокировать её, чтобы политики оставались довольными.»
На эту тему уже была хорошая статья
Отключил WPS как только купил первый роутер с его поддержкой, после того как почитал про WPS — были подозрения что лучше отключить это непотребство от греха подальше, к тому же сам я ей не пользуюсь. Как в воду глядел!
Нельзя полностью полагаться на HttpOnly флаг, в старых браузерах (например в IE6) есть баги связанные с возможностью доступа к HttpOnly кукам при отправке запроса через XHttpRequest (а именно так скорее всего и будет отправлен запрос при CSRF атаке). Если есть 2 способа защиты и один из них зависит от версии или вендора браузера у клиента, то стоит выбрать тот, который более универсален. Поэтому лучше хранить токен в сессии пользователя на сервере.
Из UK страница открывается, и на русском написано:
«В настоящее время доставка осуществляется только по США и занимает 1–2 рабочих дня.»
Я понимаю что это из-за настроек браузера, но все же перевели, значит не за горами…
О том что такие модемы существуют я знаю, только их еще надо перепрошивать под конкретного провайдера, а это нетривиальная операция для обычного пользователя и тоже часто лишает гарантии на устройство.
Речь о модемах продаваемых самими опсосами (у мтс теже хуавеи, но видимо те что подешевле). Почему сразу нельзя подумать о пользователях и наших реалиях? Достаточно добавить в список отдельную модель с устанавливаемой или встроенной внешней антенной, пусть будет чуть дороже — те кому надо возьмут себе такой.
Почему производители 3g модемов не предусматривают возможность подключения внешних антенн по умолчанию (просто рабочий разъем + дырка в корпусе)? Сколько бы благодарных пользователей они получили бы, и на продаже этих самых антенн можно было бы подзаработать.
А пользователь при этом не лишался бы гарантии на устройство
Это Bernstein Hash — простой в реализации, очень быстрый и дает хорошее распределение, правда мы у себя используем его модифицированную версию (описан там же, чуть ниже по ссылке).
Вот он шанс для команды MS Bing провести грамотную PR акцию: сделать свой поиск по коду (желательно не хуже по качеству и охвату) и привлечь кучу гиков к своему поисковику (которые емнип по статистике не очень его жалуют). Интересно — сами догадаются или стоит подсказать?
Как раз свеженькая статья на схожую тему Проблемы передачи списка перечислений или Почему абстракции «текут» — в сносках есть другая цитата, более подходящая в данном контексте:
«Ли Кэмпбел однажды отлично сказал об этом же, но несколько другими словами: «Вы должны понимать как минимум на один уровень абстракции ниже того уровня, на котором кодируете»»
Ответ в старой статье на хабре про многократное хеширование, ссылка была указана выше, если вкратце — для SHA2 повышается верхний предел разрешенного количества итераций, ну и само-собой больший запас разрядности хэша при снижения стойкости.
Можно привести множество случаев, когда они пригодились бы и в верстке для современных браузеров, например: хочется нам использовать HTML5 и новый тип поля date использовать (который сейчас только Chrome и Opera поддерживают) — применяя CC можно сделать так, что для поддерживающих его браузеров используется новый тип поля со встроенным календариком, а для остальных старый добрый text со скриптами рисующими выпадающий календарик «вручную», по старинке, скриптами. Для тех у кого более продвинутый браузер — оптимизация скорости загрузки, унификация и ускорение интерфейса, а для тех у кого не браузер не поддерживает поля типа date — полностью рабочий интерфейс, хоть и чуть тяжелее и тормознутей, в итоге получаем красивое решение с graceful degradation и современными фичами.
Не поддерживает IE9 WebGL? Не беда, подсовываем ему Flash11 или Silverlight ролик с 3D. И так далее. Это все можно конечно и скриптами сделать… но так всю страницу можно создавать только скриптами, видел я пару раз такой код — врагу не пожелаешь вылавливать в этой каше из кода для генерации разметки и презентационной логики нужный тебе тег вставляется. Считаю, что то что можно делать без использования скриптов, должно делаться без них.
От использования Javascript для управления стилями или разметкой обычно ничего хорошего ждать не приходится: снижается скорость подгрузки и отрисовки страницы, я уже не говорю про читабельность такого кода. И проблемы тоже похожие с серверным решением — скрипты не везде разрешены для вставки в разметку, многие веб-приложения при сохранении вычищают все скрипты из HTML, чтобы защититься от XSS атак. А случаи когда разметка «разваливается» от того, что у пользователя отключены скрипты даже и думать не хочется.
Насчет того, что после выхода IE9 у MS возникли проблемы с условными комментариями написанными для старых IE: тут по большей части виноваты не условные комментарии, а сама MS, которая слишком долго не развивала свой браузер, и люди попросту вывели для себя формулу: «если это IE — значит это 6 или 7», и слишком долго это правило было верным. И потом в CC с самого начала поддерживаются логические выражения и есть возможность указать минимальную и максимальную версии. Если вводить новый стандарт — можно этот случай предусмотреть и указывать не только платформу браузера, а обязательно диапазон версий. А в постах евангелистов разъяснить нам, простым смертным, что указывать IE100+ в качестве верхнего диапазона плохо и «не валидно».
На этот подход как как раз и уповают разработчики браузеров и стандартов (и по ссылке в статье MS тоже этот самый способ продвигает, причем уже давно). Да в типовых случаях (часто описываемых в статьях евангелистов) это можно применить красиво и просто. Но клиентские веб-технологии уже далеко не всегда подразумевают наличие возможности напрямую вставить в разметку серверный код (блоги, CMS'ки и т.д.). И сама по себе практика использования серверного кода для управления разметкой и стилями — не очень прижилась, и очень часто здесь изобретаются свои велосипеды, которые сильно отличаются по возможностям. Вот например в external css — все так и пользуются css-хаками (сложившаяся де-факто практика), потому что включать серверную обработку css заради нескольких строк — зачастую слишком дорого по производительности. А даже если есть какой-то препроцессор, его инструкции верстальщику придется учить для каждой платформы отдельно. Почему с этим надо бороться, если хаками уже годами все явно и неявно пользуются? «не можешь победить, возглавь».
Основная мысль из статьи MS: определять не версию браузера, а его возможности и особенности поведения. Эта концепция исходит из факта, что в браузерах нет багов и все стандарты реализованы одинаково. А все занимался разработкой под веб знают, что это далеко не так. И дальше лучше все равно не будет — это реальный мир, и браузеры и стандарты разрабатывают люди. Будут появляться новые фичи, в них будут новые баги и разночтения стандартов, которые тоже будут меняться и расширятся. Будут люди с устаревшими браузерами (потому что новые браузеры будут требовать нового железа/ОС, или просто потому что лень/корпоративные правила не дают). Зачем игнорировать реальные факты?
Интересно почему производители бразуеров до сих пор не договорились о подобной фиче, но кроссбраузерной? И может прямо в стандарте прописанной (эх мечты-мечты)? Ведь давно ведь уже очевидно какие не были бы правильные, четкие и всегда и всеми однозначно трактуемые стандарты и спецификации (что уже само по себе утопия), какие не были бы классные и инициативные девелоперы у разработчиков бразуеров — все равно в реальном мире реализация всегда будет пусть чуточку, да отличаться, не глобально, но как раз в тех мелочах, из-за которых потом весь «секас» и происходит. А тем более сейчас, когда веб стандарты очень часто меняются и дополняются.
Но признать этот факт и тем более продвинуть подобную фичу в стандарт — видимо тяжелый шаг для заседающих в комитетах…

Information

Rating
Does not participate
Location
Ташкент, Ташкентская обл., Узбекистан
Date of birth
Registered
Activity