Pull to refresh
0
0

Пользователь

Send message

Moff.js и модулированный Bootstrap

Reading time3 min
Views9.4K
Moff.js and Bootstrap

В предыдущей статье я писал о том, как фреймворк Moff.js может облегчить создание Mobile First страницы без использования CSS фреймворка.

Но на сегодняшний день большенство проектов используют какие либо CSS фреймворки и одним из таких фреймворков является Bootstrap. Смело можно утверждать, что Bootstrap является самым популярным Mobile First фреймворком.

Cамым большим недостатоком этого фреймворка является его размер. Даже минифицированная версия весит 154.9KB и это только CSS и JS файлы.

Зачастую разработчикам нужна только часть функционала, но подключают они весь фреймворк целиком. И поэтому пользователям мобильных устройств приходится загружать большой объем лишнего трафика. Решением этой проблемы было разделение фреймворка на группы из часто и не часто используемых модулей, которые удобно использовать в Mobile First подходе. Каждая из этих групп была вынесена в виде отдельного модуля в Moff.
Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments12

Они помогут найти всех «убийц» конверсии — 10 отчётов в Google Analytics

Reading time7 min
Views13K
Твой сайт может больше. Стоит лишь найти и залатать все «дыры», через которые ты теряешь потенциальных клиентов. Ведь каждый потерянный клиент — это упущенная прибыль. В этой статье ты узнаешь, как находить слабые места на сайте с помощью отчётов в Google Analytics!
image
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments8

PHP библиотека для интеграции с API Новой Почты

Reading time8 min
Views30K
Привет друзья.
Хочу поделиться PHP библиотекой (SDK) для интеграции с API 2 Новой Почты (НП). Но сначала несколько слов о Новой Почте.
Новая Почта является лидером экспресс-доставки и перевозки грузов по всей Украине. В Новой Почте много услуг, что делает ее лидером на украинском рынке перевозок. Склады есть во всех городах Украины, очень быстрая курьерская служба. Основные услуги, которые компания надает: доставка и возврат грузов в розничных сетях; доставка паллетированного груза; обратная доставка,; наложенный платёж за товар; вызов машины; хранение груза; упаковка груза, доставка груза по городу и прочее. Для упрощения создание ТТН можно использовать API компании, что даст возможность оптимизировать создания ТТН.

Возможности которые дает SDK:
  • Работа с адресами
  • Работа со справочниками
  • Работа с контрагентами
  • Методы для получения печатных форм документов
  • Работа с реестрами экспресс-накладных
  • Работа с экспресс-накладными:
    • создавать экспресс-накладные
    • редактировать данные в созданных экспресс-накладные (до передачи отправления)
    • удалять/отменять созданные экспресс-накладные (до передачи отправления)
    • загружать списки документов используя фильтры
    • отслеживать статусы отправления



Читать дальше →
Total votes 23: ↑17 and ↓6+11
Comments17

Экспресс-Доставка в Україну, Қазақстан и Беларусь

Reading time2 min
Views11K


Все рассказывали о доставке в РФ, а мы решили посвятить наш пост собственной доставке в Украину, Беларусь и Казахстан.

В общем, всім привіт, добры дзень и сәлем достар!
Читать дальше →
Total votes 33: ↑23 and ↓10+13
Comments50

Открытая бухгалтерия в Министерстве образования и науки Украины

Reading time2 min
Views30K
В 2009 Тим Бернерс-Ли в своем выступлении на TED говорил об открытых данных и будущем интернета. На 10 минуте он вместе с залом скандирует «Raw data, now!» (сырые данные, сейчас же). Рекомендую всем, кто этого еще не сделал, посмотреть это выступление.



21 февраля 2014 года студенты заняли здание Министерства образование и науки Украины с требованиями перемен. Вместе с политическими требованиями, они выдвинули требования открытой бухгалтерии. Уже 24 марта новый министр подписал указ №85-а о ежедневной публикации всех бухгалтерских проводок за день на сайте министерства. Само по себе открытие данных не должно было занять время, но оказалось, что в МОН фактически не было учетной системы, и, например, главная книга велась на бумаге.

Сегодня данные доступны на сайте министерства (UPD: спасибо за новую ссылку sad. Дамп можно скачать по ссылке), а под катом короткая инструкция как обрабатывать данные, кабель на миллион гривен (около 50 тыс. долларов), и почему пока открытая бухгалтерия не так эффективна.
Читать дальше →
Total votes 84: ↑66 and ↓18+48
Comments47

Простой PHP генератор сложных HTML таблиц

Reading time5 min
Views50K
Всем привет. Хочу поделиться свеженаписанным генератором HTML таблиц.

Участились случаи сбора различной статистики и компоновки ее в сложные таблицы с различными групировками.

image

Заметив такую тенденцию решил автоматизировать рисование таблиц.

Как итог:
  • Избавил себя от составления слоеных циклов для вывода массива;
  • Получил стандартизацию структуры массивов;
Читать дальше →
Total votes 37: ↑29 and ↓8+21
Comments19

30 чудных библиотек для PHP программистов

Reading time6 min
Views104K
Предлагаю читателям «Хабрахабра» перевод публикации «30 Amazing PHP Libraries for Programmers and Developers». Авторы собрали несколько удивительных PHP-библиотек, которые помогут реализовать некоторые классные вещи, не прилагая много усилий. Цель обзора состоит в том, чтобы преподнести что-то новое, поэтому список не включает популярные библиотеки.
Читать дальше →
Total votes 71: ↑60 and ↓11+49
Comments18

Поиск текстов, не соответствующих тематике и нахождение похожих статей

Reading time5 min
Views29K
У меня есть сайт со статьями схожей тематики. На сайте было две проблемы: спамерские сообщения и дубликаты статей, причём дубликаты часто являлись не точными копиями.

Данный пост повествует о том, как я решил эти проблемы.

Дано:
  • общее количество статей 140 000;
  • количество спама: примерно 16%;
  • количество не чётких дубликатов: примерно 63%;

Задача: избавиться от спама и дубликатов, а так же не допустить их дальнейшего появления.



Читать дальше →
Total votes 46: ↑43 and ↓3+40
Comments21

Разговорный бот для Вконтакте на PHP

Reading time2 min
Views105K

Интро. Лирика


Как-то в один прекрасный день меня осенила мысль о том, что было бы неплохо, если бы такие повседневные задачи как постинг и поддержание активности аккаунта в какой-либо социальной сети выполнял не человек, а простой разговорный бот. Тем более при «ботнете» в несколько сотен аккаунтов выполнять задачу с помощью одного человека нецелесообразно и почти невозможно. Поэтому возникла идея написать разговорного бота средствами, которые лучше всего мне были известны. Я решил сделать бота на PHP.
Читать дальше →
Total votes 24: ↑11 and ↓13-2
Comments40

Нестандартная оптимизация проектов на PHP

Reading time5 min
Views29K
В данной публикации хочу рассказать о том, как нетрадиционными методами мы смогли снизить нагрузку на серверы и ускорить время обработки страницы в несколько раз.

image

Традиционные методы, думаю, всем известны:
  • Оптимизация SQL-запросов;
  • Поиск и исправление узких мест;
  • Переход на Memcache для часто используемых данных;
  • Установка APC, XCache и подобных;
  • Клиентская оптимизация: CSS спрайты и т.п.


В нашем же проекте всё это было сделано, но при этом проблема скорости обработки страниц сохранялась. Средняя скорость обработки страницы была в районе 500мс. В один прекрасный момент пришла идея проанализировать, какие ресурсы есть, и на что они могут тратиться.
Читать дальше →
Total votes 53: ↑40 and ↓13+27
Comments103

Неперсонализированные рекомендации: метод ассоциаций

Reading time5 min
Views20K
Персональные рекомендации позволяют познакомить пользователя с объектами, о которых он, возможно, никогда не знал (и не узнал бы), но которые могут ему понравиться с учетом его интересов, предпочтений и поведенческих свойств. Однако, часто пользователь ищет не новый объект, а, к примеру, объект A похожий на объект B («Форсаж 2» похож на «Форсаж»), или объект A, который приобретается/потребляется с объектом B (сыр с вином, пиво с детским питанием, гречка с тушенкой и т.д.). Построить такие рекомендации позволяют неперсонализированные рекомендательные системы (НРС).


Рекомендовать похожие/сопутствующие объекты можно, ориентируясь на знания об объектах (свойства, теги, параметры) или на знания о действиях, связанных с объектами (покупки, просмотры, клики). Преимуществом первого способа является то, что он позволяет достаточно точно определить похожие по свойствам объекты («Форсаж 2» и «Форсаж» — похожие актеры, похожий жанр, похожие теги, ...). Однако данный способ не сможет порекомендовать сопутствующие объекты: сыр и вино. Еще одним недостатком этого способа является тот факт, что для разметки всех объектов, доступных на сервисе, требуется не мало усилий.

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

Под катом описан метод ассоциаций, позволяющий построить неперсонализированные рекомендации, основываясь лишь на данных о действиях над объектами. Там же код на Python, позволяющий применить метод для большого объема данных.
Читать дальше →
Total votes 47: ↑44 and ↓3+41
Comments16

Пошаговый алгоритм создания архитектуры PHP-сайта

Reading time5 min
Views72K
Дисклеймер: этот текст меня заставило написать практически полное отсутствие вменяемых материалов по данной теме на русском языке. Этому плохо учат в вузах, об этом молчат самоучители PHP и официальный мануал, хотя это самый важный момент при разработке программы — создание архитектуры. Плохая архитектура может убить ваш проект, так что он никогда не увидит свет. Хорошая архитектура даже при плохом коде, а кто из новичков пишет хороший код, способна творить чудеса.

Разработка архитектуры должна начинаться в тот момент, когда вам в голову пришла идея «хочу сайт такой-то» или кто-то вложил идею «нужен сайт такой-то». К сожалению, большинство разработчиков сразу приступают к написанию кода, причём даже не того, какого нужно.

Прежде чем писать код, вооружитесь листочком с ручкой, вордпадом, вордом, райтером или даже вашим редактором кода и выполните пару шагов.
Читать дальше →
Total votes 102: ↑23 and ↓79-56
Comments115

Наивный Байесовский классификатор в 25 строк кода

Reading time3 min
Views89K
Наивный Байесовский классификатор один из самых простых из алгоритмов классификации. Тем не менее, очень часто он работает не хуже, а то и лучше более сложных алгоритмов. Здесь я хочу поделиться кодом и описанием того, как это все работает.

И так, для примера возьму задачу определения пола по имени. Конечно, чтобы определить пол можно создать большой список имен с метками пола. Но этот список в любом случае будет неполон. Для того чтобы решить эту проблему, можно «натренировать» модель по маркированным именам.
Если интересует, прошу
под кат
Total votes 37: ↑37 and ↓0+37
Comments24

Как работают рекомендательные системы. Лекция в Яндексе

Reading time11 min
Views137K

Привет, меня зовут Михаил Ройзнер. Недавно я выступил перед студентами Малого Шада Яндекса с лекцией о том, что такое рекомендательные системы и какие методы там бывают. На основе лекции я подготовил этот пост.





План лекции:


  1. Виды и области применения рекомендательных систем.
  2. Простейшие алгоритмы.
  3. Введение в линейную алгебру.
  4. Алгоритм SVD.
  5. Измерение качества рекомендаций.
  6. Направление развития.

Под катом вы найдете конспект лекции и презентацию
Total votes 63: ↑56 and ↓7+49
Comments42

Тестирование производительности популярных (и не очень) CMS

Reading time5 min
Views26K
php script load total time seconds


Приветствую тебя, хабражитель! Разрабатывая FFCMS для своих проектов одной из основных своих целей я выделял быструю скорость работы и минимальное потребление ресурсов оборудования — однако все значения можно оценить лишь в сравнении, что я и постараюсь сделать в данной статье.

В прошлой моей публикации некоторые пользователи поинтересовались вопросом производительности системы и я решил провести тестирование различных популярных и молодых CMS по состоянию на 18 октября 2014 года. Хочется отметить — тестирование системы проводилось сразу же после ее установки и данные могут существенно измениться в ту или иную сторону в зависимости от периода использования системы — увеличения базы данных, количества файлов и прочие условия.
Читать дальше →
Total votes 53: ↑28 and ↓25+3
Comments68

Еще одна коробочная CMS — знакомство с FFCMS

Reading time5 min
Views24K
FFCMS logo Добрый день, читатели и авторы habrahabr! Сегодня я хочу рассказать вам о еще одной небольшой коробочной системе управления содержимым сайта FFCMS, разработкой которой (ранее — для собственных проектов, а теперь и для всего сообщества) я занимаюсь чуть более года. В данной статье я хочу кратко рассказать о том, что умеет данная система, кратко коснуться освещения возможностей основных интерфейсов системы и немного рассказать о технических деталях.

Дисклеймер: я не претендую на звание разработчика «инновационной системы» и я ничего не продаю, а лишь хочу представить открытую систему управления сайтом, которая возможно упростит жизнь разработчику и веб-мастеру. Система не основана на каком-либо популярном фреймворке — реализованы лишь минимальные методы для взаимодействия между расширениями, роутингом и шаблонными представлениями.
Читать дальше →
Total votes 45: ↑28 and ↓17+11
Comments77

Быстрая морфология или файлы против MySQL

Reading time6 min
Views21K
image
Входе одного проекта мне пришлось создать сверхбыструю русскую морфологию. Около 50.000 слов в секунду на довольно слабом ноутбуке, что всего в 2-3 раза медленнее чем стемминг (обрезка окончаний по правилам), но значительно его точнее. Это данные по обычному диску, на SSD или виртуальном диске поиск происходит значительно быстрее.

Первоначальная версия была на MySQL, но перевод ее на файлы мне удалось добиться стократного увеличения производительности. О том когда и почему файлы быстрее MySQL я и расскажу в статье.

Читать дальше →
Total votes 47: ↑30 and ↓17+13
Comments37

Несколько слов о движке интернет-магазинов OpenCart

Reading time4 min
Views114K

Предыстория


За всё то время, что я занимаюсь веб-разработкой, как-то не возникало необходимости написать, наверное, чуть ли не самый распространённый вариант заказов на биржах фриланса — интернет-магазин. К такой потребности пришёл только, собственно, с уходом во фриланс. Передо мной встал извечный вопрос — какой же движок выбрать. Довольно долго шерстил сеть, встречал различные комментарии, обзоры, сравнения на этот счёт, наконец плюнул и взял одно из довольно популярных, хотя часто не замечаемых в угоду более известных и навороченных конкурентов, решение — OpenCart. Взял и не пожалел. Обычно я жутко не люблю и не перевариваю различные ширпотребные CMS, но OpenCart оказался исключением. Не думаю, что моё описание будет сильно полезно профессионалам — мини-анализ рассчитан скорее на тех, кто точно так же пытается определиться, на чём писать, или кто просто ещё не пробовал.
Читать дальше →
Total votes 34: ↑17 and ↓170
Comments42

Анатомия рекомендательных сервисов (Часть 1)

Reading time7 min
Views16K
Рады опубликовать интересную, на наш взгляд, статью нашего друга Николая Михайловского (хабропользователь nickm197). Думаем, что она будет интересна всем, кто профессионально работает в ecommerce.

Вступление

Когда мы приходим к потенциальным заказчикам рассказывать про сервис персонализации crossss, один из частых вопросов: «А как он внутри устроен-то?». Пользуясь дружественным блогом компании CentroBit, расскажу немного теорию и практику устройства рекомендательных сервисов.

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

Начнем с самых азов и философии.

Читать дальше →
Total votes 20: ↑16 and ↓4+12
Comments2

Sypex Geo 2.2 — теперь с GeoNames и ОКАТО

Reading time3 min
Views17K
Вышла новая версия Sypex Geo 2.2 — очень быстрого алгоритма определения города по IP. Теперь базы данных стали двуязычными (русский и английский), регионы и города теперь привязаны к базе данных GeoNames, и имеют постоянные ID.

Были добавлены ОКАТО коды для городов и регионов России, КОАТУУ для Украины и СОАТО для Беларуси.

Технические подробности


Алгоритм работы Sypex Geo значительно не изменился, были исправлены небольшие ошибки, которые возникали при сильной неравномерности распределения IP диапазонов.
Читать дальше →
Total votes 34: ↑32 and ↓2+30
Comments40
1

Information

Rating
Does not participate
Registered
Activity