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

Наша компания занимается созданием Интернет-магазинов запчастей на собственной SaaS-платформе (ABCP.RU), а также у нас есть несколько связанных проектов, например, сервис поиска запчастей 4MyCar.ru.
Как и многие другие веб-проекты, мы в своё время пришли к пониманию необходимости геолокации по IP-адресу. Например, сейчас она используется на 4MyCar.ru для определения региона (при первом входе на сайт регион автоматически устанавливается именно так).

Сага о геолокации и как сделать гео-вебсервис без движка базы данных и без программирования - 1

Аналогично производится выбор ближайшего к клиенту филиала магазина на сайтах клиентов платформы ABCP.

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

На прошлой неделе BBC рассказала, что для новой версии главной страницы использовала методологию БЭМ, разработанную в Яндексе. По такому случаю мы решили поднять материалы мастер-класса «Разрабатываем сайт с нуля на полном стеке БЭМ-технологий» и рассказать вам, как начать использовать полный стек БЭМ-технологий в своих проектах.

Сайт с нуля на полном стеке БЭМ-технологий. Методология Яндекса - 1

БЭМ упрощает разработку сайтов, которые нужно быстро создавать и долго поддерживать. Эту технологию используют во фронтенде почти всех сервисов Яндекса, и она уже успела обрасти множеством библиотек и инструментов, которыми мы хотим с вами поделиться. С обширным арсеналом БЭМ, со всей его модульностью и мощью, вам останется «всего-то» придумать идею и реализовать её.

В статье мы расскажем, в чём преимущество вёрстки независимыми блоками и что такое уровни переопределения, познакомимся с готовыми библиотеками блоков и инструментами для автоматизации сборки. Покажем, как разные инструменты — например, autoprefixer, css-препроцессор Stylus или модульная система YModules — упрощают жизнь разработчика и создают по-настоящему удобную платформу, если встроить их в процесс разработки по БЭМ.
Читать полностью »

В продолжение предыдущей статьи о тестировании интерфейсов в Тинькофф Банке расскажу, как мы пишем unit-тесты на javascript.

image

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

Предисловие

В прошлом году решил для себя вплотную познакомиться c Python, а в последствии перебраться на него с PHP. На данный момент моя стезя — веб-разработка, а потому осваивать новый язык я начал именно со стороны веба, в частности, с обзора доступных фреймворков и проектов на них. Познакомившись с возможностями TurboGears, web2py, Django, я всё таки поддался «тренду» и погрузился в мир Django.

На протяжении почти года я честно пытался подружиться с ним. Написал несколько простеньких проектов, но монструозность фреймворка отпугивала, обилие «батареек» путало выбор, а с некоторыми ограничениями не хотелось мириться. Душа требовала лаконичности и однозначности, что в конечном счете привело меня к знакомству с Flask. Изучив документацию по фреймворку и смежным проектам(Jinja2, Werkzeug), я проникся идеологией и стал вплотную изучать фреймворк.

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

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

Все чаще и чаще я вижу, что люди уклоняются от новейших технологий, делая выбор в пользу обратной совместимости. «Мы не можем повышать минимальные требования к PHP до 5.5, потому что у нас 50% пользователей еще на 5.4» говорят они. «Нет никакого способа обновиться до Guzzle 4+, у нас бекенд на версии 3 и переделывать его слишком долго и дорого». И самый лучший аргумент от WordPress: «Мы не может придти к полному ООП, потому что большинство пользователей сидят на shared-хостингах с 5.1 или не знают про MVC».

Нонсенс.

Legacy-код – это большое НЕТ

Возможно, это спорный вывод, но я твердо уверен, нет места для legacy-кода в современных системах. Скажу несколько слов, прежде чем вы начнете точить свои вилы и зажжете факелы. Я имею ввиду, что не должно быть ни малейшего повода поддерживать старый функционал, вы добавляете обновления задним числом к старой версии только потому, что некоторые люди все еще используют ее. Даже если этих людей большинство — не делайте так.
Читать полностью »

BattleGIS — JavaScript-движок для игры в Танчики - 1

Танчики на денди — классический пример синдрома утёнка в плоскости видеоигр. Современные игры настолько круты, что сложно отличить скриншот от фотографии. Однако взрослые дядьки могут часами двигать по экрану восьмибитные пиксели, вспоминая счастливое детство.

Хотелось сделать чего-нибудь эдакого, чтоб можно было собраться с коллегами в большой переговорке и за разного рода напитками весело провести время. Это должно было быть связано с профессиональной деятельностью: JavaScript`ом или вёрсткой, ведь чтобы погамать в Кваку или выехать на шашлыки, быть frontend-разработчиком совсем не обязательно.

Так родилась идея сделать JavaScript AI-challenge.
Читать полностью »

В этот замечательный понедельник предлагаем вам подборку свежих статей о Drupal.

Дайджест интересных материалов из мира Drupal #5 - 1

По-русски

По традиции начнём с материалов на русском языке:

  1. Павел Китаев написал туториал по Form API в четырёх частях.
  2. В комментариях к прошлому дайджесту всплыла тема best/worst-практик при работе с Drupal. В результате имеем как минимум два новых материала на эту тему: Мои Best Practices от @xandeadx и «Самые распространенные ошибки в Drupal разработке» от holyorb2.
  3. Посмотреть примеры использования drupal_http_request() можно в блоге drup.by.
  4. JOIN таблицы в своем views field handler-е — небольшой Views-сниппет.
  5. Александр Пожарский рассказал, как создать свой CKEditor-плагин в Drupal 8 на примере кнопки вставки исходного кода.
  6. Как добавить в BODY класс и другие волнующие вас вопросы можно обсудить на dru.io.
  7. Прошли DrupalCafe в Москве (фото и видео) и в Новосибирске (материалы пока недоступны). Анонсированы кафе в Омске и Харькове. Присоединяйтесь к сообществу!

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

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

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

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

Я прошелся по типам пользователей и процессе принятия в первой части рассказа. Вторая половина расскажет про пять характеристик инновации, определяющих ее использование. Согласно теории, это определит ее долгосрочные перспективы.Читать полностью »

2 года назад в статье Continuous Delivery & Sitecore: наша реализация я представлял нашу систему автоматической доставки веб-приложений основанных на Sitecore. Это были первые маленькие шаги в направлении мира полной автоматизации.
Читать полностью »

Создание Responsive Landing Page на WordPress от А до Я - 1

Новый видеокурс по созданию адаптивного одностраничного сайта и посадке на CMS WordPress. В процессе обучение рассмотрены такие моменты, как проектирование интерфейса, создание скетча, адаптивная верстка и подключение Front-End плагинов, посадка на WordPress и создание опций шаблона. При разработке темплейта учитывалась возможность дистрибуции и распространения темы.
Читать полностью »


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