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

Приветствую всех!

Хочу поделиться методом внедрения карт с сервиса 2ГИС в OpenLayers. И сразу пример.
Совсем недавно сам озадачился таким вопросом и «прогуглив» интернет не нашел ответа. Метод осуществляет прямой запрос тайлов с сервера 2ГИС не используя их API, не буду в статье рассуждать о правомерности этого способа (можно в коментах это обсудить...).

Начнем…
Читать полностью »

Многие слышали про Selenium WebDriver — один из самых популярных инструментов для написания приёмочных/интеграционных тестов.
Selenide: удобные тесты на Selenium WebDriver

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

Поэтому мы решили выделить этот повторяющийся код в отдельную библиотеку. Так на свет появился Selenide.

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

SlickGrid – небольшой javascript-компонент для отображения таблиц. Отличительной чертой этого компонента является концентрация на порядке отображения информации, а не работе с ее (информации) источником. Другой отличительной чертой SlickGrid является весьма скудная документация, в том числе описание того, что касается работы через AJAX.
Читать полностью »

Описание алгоритма и эталонная реализация на языке Си теперь содержатся в документе RFC 6716. Это большая победа открытых стандартов. Впечатляющие характеристики кодека Opus уже публиковались на Хабре (раз, два). Он совершенно бесплатен для любого использования. Кодек включен в браузер Firefox 15-й версии, в ближайшее время его поддержка появится и в Skype — работа по интеграции Opus в Skype практически завершена. Это неудивительно, так как Mozilla и Skype (то есть теперь уже Microsoft) — главные разработчики Opus.

Свободный аудиокодек Opus официально стал стандартом IETF
Читать полностью »

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

Тогда в качестве шаблонизатора мы использовали XSL, а данные передавали в формате XML. Переведя проект на новый интерфейс, мы начали искать другие способы ускорения работы интерфейса Яндекс.Почты.

Недавно мы перевели всю Почту на JS-шаблонизатор и JSON-данные.
Читать полностью »

CSS – препроцессоры все популярнее среди веб – разработчиков. Почему?
Потому что они позволяют:

  • Сэкономить время
  • Применять принцип DRY в CSS
  • Сделать код более читаемым

На данный момент наиболее популярными препроцессорами являются SASS и LESS.

О том, почему SASS лучше LESS, можно почитать в этой статье. Лучше ли — вопрос спорный, однако, я перешел с LESS на SCSS хотя бы потому, что тут есть:

  • Циклы
  • Условные операторы
  • Списки

О сравнении синтаксиса SCSS и SASS, можно почитать в этой статье. Лично я выбрал SCSS по причине обратной совместимости с CSS и, как следствие, возможности быстро включать старые CSS файлы в проект посредством директивы import.

Об основах SCSS уже писали faiwer1 и AbleBoy2, здесь же я хочу описать пару техник, которые мне действительно помогли.
Читать полностью »

Эпизод 3 из 7: В поисках денег После того, как мы выбрали концепцию идеи, мы провели первичный аудит:

1) Весь сервис представлял собой достаточно сложный проект, и веб-студии примерно говорили срок разработки год и бюджет порядка трех миллионов рублей. Таких денег у нас не было, и мы решили выпустить в жизнь более сжатую версию.
2) Мы набросали на листочке А4 эскизы внутренних страниц и добавили небольшое описание. В общем, из идеи социального сервиса для людей и представителей бизнеса мы перешли к идее небольшой социальной сети для мужчин.

Так приблизительная оценка стоимость работ была порядка 500т рублей и мы стали думать, а где же взять нам деньги для старта. И мы нашли ряд решений: Читать полностью »

Хочу поделиться с вами моим последним проектом.

Примерно год назад я скачал приложение Aelios Weather на iPad.
Оно задело мне глаз своей простотой и необычным интерфейсом.

И вот что получилось:
image

Смотреть тут

Как всегда, мне было интересно, насколько продвинут HTML5, и можно ли создать что-нибудь такое же.

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

Внутри кружка появляется стрелка, которая автоматически направляется на самый большой по населению пункт в данном радиусе.

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

Это продолжение темы, поднятой в предыдущем посте о Едином Портале Госуслуг (ЕПГУ) и аппаратных ключах ЭЦП eToken-ГОСТ.
Сначала традиционное описание граблей.

Квест номер 1

После того, как я получил токен, мне захотелось вытащить из него сертификат ключа, чтобы в случае чего отдавать заинтересованным лицам для проверки моей ЭЦП.
Грабля первая — ни SDK 4.55, ни SDK 5.1 не хотели признавать eToken ГОСТ инициализированным и с наличествующим ключом.
Грабля вторая — КриптоПро 3.6 — тоже. Что странно — в бланке сертификата указывалось, что ключ сгенерирован КриптоПро CSP 3.6.
В поисках истины хоть чего-то, что могло бы помочь доступиться до содержимого токена, я набрел на аладдиновский же плагин JC-Web.
Плагин опознавал токен, выдавал SN, список сертификатов числом 1 с ID=3 и названием «Certificate». Но не более. Попытка скормить PIN, или передать данные на подпись вызывали исключение.
Оставалась последняя надежда — расковырять плагин, используемый ЕПГУ для целей авторизации. По сути тот же JC-Web, только сильно проще.
И я полез на сайт Госуслуг.

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

Наверняка каждый разработчик модулей для Magento попадал в ситуацию, когда вроде бы все сделано правильно, но не работает. Особенно это касается характерных ситуаций: создал роутер, а выдает 404 старницу, создал лэйaут, а контент не выводится, создал темплейт, а страница по прежнему пуста. Отличительной чертой таких ситуация является то, что как правило Magento никак на них не реагирует (не выдается ошибок, логи остаются пустыми). Именно об отладке таких ошибок и пойдет речь в данной статье.

Вдоволь намучавшись с подобными ситуациями, я собрал небольшую коллекцию советов по разработке и методов отладки модулей, которые позволяют быстро справляться с подобными неприятностями. Особенно полезны они будут новичкам, но и опытные разработчики могут найти для себя что-то новое.
Читать полностью »


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