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

Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №197 (1 — 7 февраля 2016) - 1
Читать полностью »

nopCommerce – это движок для создания интернет-магазинов с открытым исходным кодом и написанный на ASP.NET MVC. Разрабатывается проект нашими соотечественниками из города Ярославль, и на сегодняйшний день на его основе работает более 20,000 сайтов, включая такие бренды как Volvo, Turkish Airlines, Reebok.

nopCommerce CMS на ASP.NET MVC: обзор функционала новой версии - 1

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

Предположим, что вы уже скачали (http://www.nopcommerce.com/downloads.aspx) и установили (http://docs.nopcommerce.com/display/nc/Installing+nopCommerce) nopCommerce в Azure. Итак, что же было сделано для поддержки Azure, и как все это настроить и включить:
Читать полностью »

Для успешной реализации проекта разработчикам фронтенда не обойтись без проверенного арсенала расширения SCSS. Ниже представлены утилиты, которые могут пригодиться в работе.

Triangle

Примесь triangle (которую дизайнеры Sagi предпочитают называть «chupchick»), добавляет к всплывающей подсказке треугольник. И tooltips становится похожим на диалоговое окно. Но triangle также может использоваться в качестве автономного элемента.

/* 
* @include triangle within a pseudo element and add positioning properties (ie. top, left)
* $direction: up, down, left, right
*/
@mixin triangle($direction, $size: 6px, $color: #222){
  content: '';
  display: block;
  position: absolute;
  height: 0; width: 0;
  @if ($direction == 'up'){
    border-bottom: $size solid $color;
    border-left: 1/2*$size solid transparent;
    border-right: 1/2*$size solid transparent;
  }
  @else if ($direction == 'down'){
    border-top: $size solid $color;
    border-left: 1/2*$size solid transparent;
    border-right: 1/2*$size solid transparent;
  }
  @else if ($direction == 'left'){
    border-top: 1/2*$size solid transparent;
    border-bottom: 1/2*$size solid transparent;
    border-right: $size solid $color;
  }
  @else if ($direction == 'right'){
    border-top: 1/2*$size solid transparent;
    border-bottom: 1/2*$size solid transparent;
    border-left: $size solid $color;
  }
}

Читать полностью »

На Хабре уже много писали о методологии БЭМ, выросшей в Яндексе. И мы решили, что пора системно рассказать о том, откуда она появилась и что сделало БЭМ таким, каким мы его знаем. Думаем, это будет интересно не только тем, кто уже использует БЭМ, но и тем, кто считает, что эта методология не подходит для их проектов. Возможно, они увидят, что мы решали проблемы, похожие на их собственные, и найдут что-то полезное для себя.

image

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

Для чего нужна БЭМ-методология

Какие требования мы сформулировали:

  • Разработчик должен понимать свой код (даже вернувшись к нему через год) и код любого программиста в команде БЭМ-проекта.
  • Любой блок кода может быть использован повторно: необходимо создать общую базу знаний и не писать каждый раз всё с нуля, а использовать готовые наработки.
  • Работая в одной команде, разработчики, менеджеры, дизайнеры и верстальщики должны называть одни и те же вещи одинаково. То есть говорить на одном языке.
  • Команды могут обмениваться специалистами для реализации какой-то конкретной функциональности.
  • Порог входа при переходе на новый проект должен быть снижен за счет одинаковой структуры организации всех БЭМ-проектов и одинаковых правил именования всех сущностей.

Мы стремились к тому, чтобы с увеличением числа разработчиков улучшалось и качество продукта. Это значит, что разработчики должны быть в курсе работы друг друга и не изобретать заново то, что уже реализовано. Мы хотели создать единую команду, которая работает над разными проектами.

Читать полностью »

image

В декабре 2015 года я обнаружил критически опасную уязвимость в одном из сайтов PayPal для бизнеса, которая позволяла мне выполнять произвольные команды на веб-серверах внутри корпоративной сети. При отправке веб-формы на сайте manager.paypal.com в одном из скрытых параметров передавались закодированные данные в виде сериализованного объекта Java. Данный параметр можно было подделать, изменив название класса и значения его свойств, что и привело к выполнению произвольного кода на серверах. Я немедленно сообщил об этой проблеме в PayPal, и она была быстро исправлена.
Читать полностью »

Решил провести небольшое сравнение online-переводчиков.

После того, как google.translate окончательно надоел своими «Николай одет свитером», я решил, что следует поискать альтернативу.

Читать полностью »

image
На картинке — Ancient Psychic Tandem War Elephant © Adventure Time

В этой статье будет рассмотрен процесс внедрения в PHP нового оператора. Для этого будут выполнены следующие шаги:

  • Обновление лексического анализатора: он будет знать о синтаксисе нового оператора, что позволит потом превратить его в токен.
  • Обновление парсера: система будет знать, где может использоваться этот оператор, а заодно какова его приоритетность и ассоциативность.
  • Обновление этапа компиляции: здесь происходит обработка (traverse) дерева абстрактного синтаксиса (AST) и извлечение из него кодов операции.
  • Обновление виртуальной машины Zend: во время выполнения скрипта она используется для обработки интерпретации нового кода операции для оператора.

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

Все CSS-селекторы живут в глобальной области видимости.

Каждому, кто когда-либо имел дело с CSS, приходилось мириться с этой глобальной особенностью. Модель, некогда созданную для стилизации академических документов, сейчас едва ли можно назвать удобным инструментом для создания современных веб-приложений.

Абсолютно каждый селектор потенциально может вступить в борьбу с другим селектором или стилизовать «посторонний» элемент. В этой «глобальной» борьбе селектор может даже полностью проиграть, в итоге не применив к странице ни одного из своих правил.

Каждый раз модифицируя css-файл, необходимо хорошо подумать о глобальной среде, в которой будут существовать наши стили. Ни одна другая технология веб-разработки не требует столько усилий только для того, чтобы обеспечить коду минимальный уровень поддерживаемости.

Так не должно быть. Пора оставить позади эру глобальных стилей. Наступило время закрытого CSS.
Читать полностью »

1C-Битрикс на Raspberry Pi 2 - 1 Наши коллеги и партнеры — веб-студия «Оробланко» — решили устроить интересный эксперимент: запустить 1С-Битрикс на микрокомпьютере Raspberry Pi 2. О чем и написали подробно у себя в блоге. С их любезного разрешения публикуем результаты. :)

* * *

Сразу скажем, зачем нам это надо.

Понять, возможно ли это вообще. Убедиться, что Raspberry Pi 2 компьютер, а не игрушка.

Понять, насколько быстро и устойчиво будет работать Битрикс на таком слабом компьютере (и будет ли он работать вообще).

Подтвердить собственную квалификацию специалистов по настройке серверов, ведь задача нетривиальная.

Если все получится, то мы развеем старую легенду о том, что «Битрикс тяжелый, медленный и неповоротливый» и что ему нужны большие вычислительные ресурсы.Читать полностью »

Записи с конференции Web Standards Days — Москва 2015 - 1

Иконки

Иконка кремля — Kremlin by parkjisun from the Noun Project
Логотипы WSD — github.com/web-standards-ru

В декабре мы помогали нашим друзьям из сообщества Веб-стандарты организовывать московскую конференцию серии Web Standards Days. Сегодня мы рады предложить вашему вниманию записи конференции и результаты опроса участников конференции об их предпочтениях в выборе технологий и инструментов разработки.


Открытие — Вадим Макеев (Opera)

Читать полностью »


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