Рубрика «Веб-разработка» - 346

Internet Explorer 8, как много в этом имени для рядового веб-разработчика :-) Браузер, который с одной стороны до сих пор удерживает значительную часть рынка (а значит не может быть просто так проигнорирован), а с другой — обладает тяжелым наследием IE6 в виде массы «особенностей» поведения и отсутствием поддержки целого ряда новых и вкусных технологий которые так хочется использовать. Эта двойственность породила целый ряд т.н. polyfills — JS скриптов которые призваны хоть немного подтянуть IE6-8 до уровня современных браузеров. Об одном из них и пойдет речь в данной статье.
Читать полностью »

В прототипной модели данных объекты создаются на основе других объектов. В этом случае у объекта имеется прототип, его ещё можно назвать эталоном или наследуемым объектом. В такой модели данных отсутствуют типы и классы. Объекты можно различать по тому, кого прототипируют, но эта задача второстепенная. Прототипирование, в первую очередь, применяется для повторного использования существующих структур из объектов.

Прототипная модель данных
Читать полностью »

TUTS+ тоже запустили свой Хаб

Хаб расположен по адресу: hub.tutsplus.com/

Теперь можно отслеживать все уроки со всех сайтов в одном месте, и фильтровать выдачу по интересам. Для тех кто не знает. TUTS+ это сеть сайтов компании Envato для online-обучения. Включающая в себя:
Читать полностью »

Если вы любите серфить в интернете с мобильного устройства и периодически замечали, что при посещении Википедии ваш смартфон разряжается значительно быстрее, чем при чтении статей на Хабре, то теперь этому есть разумное объяснение.
Команда исследователей из Стенфордского Университета провела работу по изучению зависимости разряда батареи от того, какой сайт при этом был открыт в мобильном браузере.
В качестве тестируемого аппарата было выбрано устройство на Android с 3G-интернетом, на котором открывались популярные сайты, среди которых такие как CNN, BBC, Gmail, Amazon, Microsoft, eBay, Yahoo, Facebook, IMDB, Apple и Wikipedia.

Плохие сайты разряжают батарею мобильных устройств
Читать полностью »

Если вы любите серфить в интернете с мобильного устройства и периодически замечали, что при посещении Википедии ваш смартфон разряжается значительно быстрее, чем при чтении статей на Хабре, то теперь этому есть разумное объяснение.
Команда исследователей из Стенфордского Университета провела работу по изучению зависимости разряда батареи от того, какой сайт при этом был открыт в мобильном браузере.
В качестве тестируемого аппарата было выбрано устройство на Android с 3G-интернетом, на котором открывались популярные сайты, среди которых такие как CNN, BBC, Gmail, Amazon, Microsoft, eBay, Yahoo, Facebook, IMDB, Apple и Wikipedia.

«Плохие» сайты разряжают батарею мобильных устройств
Читать полностью »

При построении крупных PHP-проектов многие сталкивались с нехваткой производительности, даже на мощных серверах. Даже небольшой участок кода может ощутимо повлиять на весь ресурс в целом: в плане прибыли, и в плане затрат на поддержку и обслуживание данного ресурса.

У нашей кампании был проект, построенный на Drupal, которому не хватало производительности под нагрузкой примерно в «25K Daily Page Views».

На протяжении года, мы постоянно добавляли новый функционал: писали больше кода, создавали больше модулей, модули из модулей, больше таблиц с миллионами записями, которые участвовали в перекрестной выборке. Проект рос с большой скоростью. Состав разработчиков не раз менялся, а это хоть и несущественно, но, все же, отрицательно сказывалось на проекте, что также добавляло лишних проблем. В общем, достаточно большой проект, как это бывает у крупных кампаний.

Уже когда все написано, работает, и продолжает дальше разрабатываться, и ни времени, ни бюджета переделывать что-либо – дабы улучшить производительность – нет, а двигаться нужно только вперед, причем как можно быстрее, я получаю очередное задание. Сначала я посмотрел на него как на обычный тикет: вся личная информация пользователя: фамилия, адрес, телефон, идентификационный код – должна храниться в базе в зашифрованном виде, и быть доступна только при запросе с ключами для расшифровки. Так как это мой первый серьезный опыт, связанный с шифрованием данных, я начал искать в гугле возможные пути решения задачи средствами PHP, и, естественно, наткнулся на всем известную библиотеку mcrypt. Не нужно особо много времени, чтобы разобраться, как с ней работать. Библиотека работала – на форумах можно найти много примеров, комментариев, обсуждений. Она показалась мне идеальным вариантом для решения моей задачи, особенно учитывая, что времени было совсем немного.
Читать полностью »

При построении крупных PHP-проектов многие сталкивались с нехваткой производительности, даже на мощных серверах. Даже небольшой участок кода может ощутимо повлиять на весь ресурс в целом: в плане прибыли, и в плане затрат на поддержку и обслуживание данного ресурса.

У нашей кампании был проект, построенный на Drupal, которому не хватало производительности под нагрузкой примерно в «25K Daily Page Views».

На протяжении года, мы постоянно добавляли новый функционал: писали больше кода, создавали больше модулей, модули из модулей, больше таблиц с миллионами записями, которые участвовали в перекрестной выборке. Проект рос с большой скоростью. Состав разработчиков не раз менялся, а это хоть и несущественно, но, все же, отрицательно сказывалось на проекте, что также добавляло лишних проблем. В общем, достаточно большой проект, как это бывает у крупных кампаний.

Уже когда все написано, работает, и продолжает дальше разрабатываться, и ни времени, ни бюджета переделывать что-либо – дабы улучшить производительность – нет, а двигаться нужно только вперед, причем как можно быстрее, я получаю очередное задание. Сначала я посмотрел на него как на обычный тикет: вся личная информация пользователя: фамилия, адрес, телефон, идентификационный код – должна храниться в базе в зашифрованном виде, и быть доступна только при запросе с ключами для расшифровки. Так как это мой первый серьезный опыт, связанный с шифрованием данных, я начал искать в гугле возможные пути решения задачи средствами PHP, и, естественно, наткнулся на всем известную библиотеку mcrypt. Не нужно особо много времени, чтобы разобраться, как с ней работать. Библиотека работала – на форумах можно найти много примеров, комментариев, обсуждений. Она показалась мне идеальным вариантом для решения моей задачи, особенно учитывая, что времени было совсем немного.
Читать полностью »

Классы должны иметь зависимости только на абстрактные, а не конкретные, классы. Чтобы решить эту задачу, вы можете выбрать между 2-х практик Service Locator и Dependency Injection. ASP.NET MVC использует “Dependency Resolvers", которые являются локаторами служб (Service Locators). При разработке приложений ASP.NET MVC вы сами должны решить что следует использовать преобразования (resolve) или инъекции (injects), так каковы плюсы и минусы?
Читать полностью »

Создание облачного, асинхронного и масштабируемого веб приложения с близкими к реальному времени долгоживущими соединениями с SignalR

Введение в SignalR

Сначала хочу сказать спасибо Дэвиду Фоулеру (David Fowler) и Дэмьяну Эдвардсу (Damian Edwards) за разработку SignalR и демонстрацию возможностей, которую можно увидеть по ссылке channel9.msdn.com/Shows/Web+Camps+TV/Damian-Edwards-and-David-Fowler-Demonstrate-SignalR

SignalR — это новая технология от Microsoft, которая упрощает разработку асинхронных, масштабируемых веб-приложений с близкими к реальному времени долгоживущими постоянными соединениями. Фреймвок SignalR доступен на GitHub github.com/SignalR/SignalR и NuGet nuget.org/packages/signalr. Многие технологические инновации последних лет вымостили дорогу для создания SignalR. Если вы поговорите с его создателями с Дэвидом Фоулером (David Fowler) и Дэмьяном Эдвардсом (Damian Edwards), они вам скажут, что создание SignalR несколько лет назад было бы слишком сложным.Читать полностью »

Создание облачного, асинхронного и масштабируемого веб приложения с SignalR

Введение в SignalR

Сначала хочу сказать спасибо Дэвиду Фоулеру (David Fowler) и Дэмьяну Эдвардсу (Damian Edwards) за разработку SignalR и демонстрацию возможностей, которую можно увидеть по ссылке channel9.msdn.com/Shows/Web+Camps+TV/Damian-Edwards-and-David-Fowler-Demonstrate-SignalR

SignalR — это новая технология от Microsoft, которая упрощает разработку асинхронных, масштабируемых веб-приложений с близкими к реальному времени долгоживущими постоянными соединениями. Фреймвок SignalR доступен на GitHub github.com/SignalR/SignalR и NuGet nuget.org/packages/signalr. Многие технологические инновации последних лет вымостили дорогу для создания SignalR. Если вы поговорите с его создателями с Дэвидом Фоулером (David Fowler) и Дэмьяном Эдвардсом (Damian Edwards), они вам скажут, что создание SignalR несколько лет назад было бы слишком сложным.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js