Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Приятного чтения!
Читать полностью »
Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Приятного чтения!
Читать полностью »
24-26 мая в Санкт-Петербурге, при активной поддержке портала Айти-Событие.рф, пройдет HackDay#27 — хакатон, мероприятие, на котором вы сможете за 48 часов превратить свою идею в рабочий прототип и продемонстрировать ее широкой аудитории коллег, инвесторов, менторов и экспертов рынка.
В предыдущих статьях, я в основном затрагивал вопросы, связанные с полнотекстовым поиском. В этот раз поговорим о фасетных фильтрах для поиска на Drupal с помощью Apache Solr. Тем, кто не читал предыдущие материалы, я рекомендую ознакомиться с ними для лучшего понимания темы. Осторожно, под катом много картинок.
Читать полностью »
Предлагаем вашему вниманию очередную подборку с ссылками на новости, интересные материалы и полезные ресурсы.
Google наконец-то выпустил портативную версию Native Client (PNaCl). Технологию Native Client, которая позволяет компилировать в машинный код и выполнять в браузере программы на С или С++, достигая практически нативной производительности, часто критиковали за то, что изначально NaCl поддерживал не все платформы, и для каждой из них приходилось компилировать отдельно. PNaCl компилирует исходный код программы в биткод LLVM — низкоуровневой виртуальной машины, которая поддерживает множество аппаратных платформ и гарантирует, что код будет работать практически везде.
Читать полностью »
Здравствуйте.
Хочу поделиться с вами одной техникой организации кода при массивной работе с DOM-элементами. Несколько лет назад, когда еще вовсе не было бэкбона и MVVC, мы писали старый добрый джаваскрипт без фреймворков: создавали объекты и заставляли их плясать на странице в общем танце. Такая практика, без сомнения, до сих пор оправдывает себя, и техника, о которой пойдет речь, применима именно к ней.
Мой рассказ — о маленькой библиотечке PageObject.js (текущая версия v0.14, 2.6K) и о том, как с ее помощью можно упростить себе жизнь.
Читать полностью »
Товарищи, привет!
Зарулил я тут в начале мая на это событие aws.amazon.com/de/aws-summit-2013/berlin
В целом было интересно: обзор сервисов, примеры использований AWS инфраструктуры, истории из уст реальных крупных клиентов.
Здесь выложены презентации с этого замечательного события, enjoy:
Наверно уже не существует веб разработчика, который не слышал о Ajax. Microsoft в такой ситуации не может оставаться в стороне, с каждым релизом старается облегчить жизнь именно нам, ASP.NET MVC разработчикам. Но прежде чем я продолжу статью, немного отступлюсь от темы.
Когда я познакомился с MVC фреймворком, он был тогда только во второй версии и, столкнувшись с такими хелперами как @Ajax....
, честно говоря, их реализация не стороне клиента меня не впечатлила. Нет, так нет, подумал я про себя, у меня есть jQuery со своим $.ajax
, мне его за глаза. Вот и забыл я про них на несколько лет, к своему великому сожалению проморгав этот момент с третьим релизом. Что было, то было. Благо что взялся за ум и почитал две книги по MVC 4. Далее расскажу, как можно сократить написание строк кода благодаря хелпером упомянутых мною выше.
Начну с того что MVC может работать с двумя вариантами Ajax библиотек (конечно я же имею ввиду с коробки, ни более того) — jQuery и Microsoft Ajax. Чтобы знать разметку для какого адаптера создавать существует настройка в web.config
UnobtrusiveJavaScriptEnabled
и соответствующее значение true
(для работы с jQuery) и false
(для работы с Microsoft Ajax). Если же нам необходимо поменять значение только для одного представления, можно воспользоваться методом — @{Html.EnableUnobtrusiveJavaScript(bool);}
. Хочу обратить внимание что данная настройка влияет и на формирование валидационных данных на стороне клиента.
Разрабатывая MaskJS вот уже больше полугода, он превратился из DOM шаблонизатора в очень мощный, но при этом производительный веб фреймворк. В статье познакомлю вас с возможно интересными подходами к разработки. Уверен, будет интересно почитать о использовании сигналов и слотов вместо DOM событий. И как компоненты делают нашу жизнь проще. Маска легко интегрируется в уже готовый проект, и даже может быть использована вместе с любым другим фреймворком. Основным же отличием наверное является render flow
, где в процессе поэтапно создается Document Fragment / контроллеры / «биндинги». Собственно всю гибкость даже сложно передать, но я попробую, и приглашаю под кат.
Читать полностью »
Всем привет!
В последнее время, в связи с бурным ростом и усложнением фронт-эндов, аяксами и т.п. — все чаще проявляется проблема блокировки сессий во время эксплуатации сайтов на PHP. PHP по умолчанию создает для сессии файл и процесс эксклюзивно его блокирует. Остальные процессы, пытающиеся открыть сессию (аяксы, табы в браузере) — выстраиваются в очередь. Не всегда логика приложения, особенно если она сложная, позволяет эффективно ограничить время блокировки конкурирующих за сессию процессов.
Ситуация усугубляется еще тем, что 3-5 подобных клиентов способны быстро забить зависшими и простаивающими в ожидании процессами PHP-воркеры и сайту становится плохо, если не сказать очень.
К сожалению, разработчики/сисадмины не всегда могут сразу понять, что дело в блокировке сессии — и ищут проблемы в других частях проекта, теряя время.
В статье расскажу какие инструменты позволяют быстро диагностировать проблему, приведу работающий код и дам несколько боевых рекомендаций по выживанию :-)