Search
Write a publication
Pull to refresh
10
0
Руслан @Sect0R

PHP, Angular, VueJS

Send message

Загрузка и хранение фотографий в Web приложениях

Reading time4 min
Views116K

Почему это важно?


На современных web сайтах объем картинок может составлять от 30% до 70% всего размера страницы. Например, объем изображений на Хабре обычно составляет несколько мегабайт.

размер фоток на странице

Большинство изображений в Web'e — это фотографии. Профильные фото в соц. сетях, альбом с телефона, профессиональные снимки и т.п. Правильная стратегия и инструменты для работы с фотографиями позволят сделать сайт быстрым для посетителей.
Читать дальше →

Снова про AUTO_INCREMENT

Reading time3 min
Views10K
Все, кто работает с базами данных, знают, что такое AUTO_INCREMENT. Про него много всего написано, в том числе и на хабре. В этой статье я хочу изложить свои мысли на эту тему, потому что ранее я не встречал рассуждений именно в таком плане. Но сначала давайте определимся, зачем нам вообще база данных.
Читать дальше →

Разработка кроссплатформенного приложения с помощью Ionic Framework

Reading time12 min
Views84K
image

Всем привет! Не так давно в одном из комментариев я пообещал написать вводную статью для быстрого знакомства с возможностями Ionic Framework (далее IF). Стараюсь сдерживать свои обещания. Для начала мне хотелось бы выложить список ссылок, которыми часто пользуюсь при разработке с помощью IF:


Читать дальше →

Разбираемся в трендах веб-дизайна

Reading time6 min
Views109K
Несмотря на обилие в интернете разнообразных статей о направлениях веб-дизайна, разобраться в том, какой дизайн визуально устарел, а какой в тренде и почему, довольно нелегко. Для начала нужен глобальный взгляд на новейшую историю веб-дизайна, чтобы не запутаться в деталях. В этой статье рассказана краткая история визуальных направлений последних лет и даны их ключевые отличительные признаки.

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

Итак, поехали.
Читать дальше →

26 полезных советов из области email-маркетинга от самых успешных компаний со всего мира

Reading time8 min
Views26K


Существует бесчисленное множество тонкостей, которые могут сыграть решающую роль при email-рассылке. Расположение элементов, содержание письма, размеры кнопок и незаметные психологические приемы – лишь часть того, что следует учитывать в дизайне электронного сообщения, которое вызовет нужный эффект.

Конверсии просто так не происходят; также и электронные письма сами по себе не приносят результата. Эти 26 советов опираются на опыт ведения email-маркетинга нескольких наиболее успешных компаний со всего мира.
Читать дальше →

Страница about:about в Firefox

Reading time4 min
Views55K
То, что иногда наблюдается в адресной строке пустой страницы «about:blank», для Мозиллы стало философией доступа к ресурсам браузера. Мало кто знает об этой философии, кроме просвещённых монахов, для которых адресная строка менее священна и более инструментальна, чем для остальных. Но трудно запомнить всё разнообразие свойств этой строки. Приоткрыть окно к просветлению помогает мантра «about:about». Сейчас, на момент версии 37, она открывает 34 варианта продолжений ссылок после двоеточия. Есть и недокументированные.

Шутники потирают руки: можно вызывать самые натуральные озадачивающие странички минимальными усилиями. Но есть и ряд полезных страниц. Цель списка ниже — выделить долю полезных страниц для продвинутого пользователя браузера.
Читать дальше →

«Собери 3 сердца, 3 черепа и 3 меча одним сдвигом», или как мы делали игру

Reading time8 min
Views22K
Статья будет представлять собой описание вещей, которые мы сами не знали до начала разработки, и которыми хотелось бы поделиться с начинающими и не очень разработчиками. На данный момент у нас 200 активных игроков в день, каждый день добавляется еще от 10 до 50, всего зарегистрировано около 5 тысяч. За все время игра принесла порядка 1000$.

О чем игра


Сначала мы решили портировать БК (одна из первых браузерных MMORPG) на телефон, но в процессе идея эволюционировала. Закончили match-3 игрой с элементами RPG и возможностью PvP. В общем, смесь «БК», «Candy Crush» и «Небеса». Игрок воюет с монстрами, развивается, делает квесты, покупает вещи и свитки магии. Бой проходит в поочередном режиме в стиле match-3 с разными кристаллами — лечение, яд, усиление и т.д. Главное новшество — бои с людьми, можно драться со случайными противниками или добавлять друзей и драться с ними.


Читать дальше →

Делаем веб-формы удобнее для заполнения

Reading time5 min
Views28K
Привет, Хабр! Сегодня для работы в Интернете все чаще используются мобильные устройства, а не компьютеры. При этом, на многих сайтах есть формы для ввода данных, позволяющие совершить покупку или подписаться на рассылку. Как результат, пользователям приходится много раз вводить на разных сайтах такие сведения о себе, как имя, номер телефона и адрес. Удобство веб-форм имеет огромное значение, потому что при работе с ними всегда вероятны ошибки, в результате чего многие пользователи вовсе отказываются от заполнения. Три года назад мы представили функцию автозаполнения в браузере Chrome, которая упрощает ввод данных в формы. Теперь Chrome полностью поддерживает в формах атрибут autocomplete в соответствии с современным стандартом WHATWG HTML. Благодаря этому веб-мастера и разработчики могут помечать поля атрибутами, например name и street-address (имя и адрес), не изменяя интерфейс или другой код сайта. Те, кто реализовал эти возможности, отмечают, что их формы стали заполняться чаще.

автозаполнение форм на смартфоне

Например, если пометить поле для ввода электронного адреса, то код будет выглядеть так:

<input type="text" name="customerEmail" autocomplete="email"/>

Больше кода под катом!

Corona SDK стала бесплатной

Reading time1 min
Views32K

Создатели известного движка для разработки кроссплатформенных мобильных приложений Corona SDK 2 марта объявили о том, что отныне Corona SDK будет бесплатна.

Четыре месяца назад, в ноябре 2014 Corona была куплена компанией FusePowered. Многие предрекали грядущие изменения в политике компании и в выборе путей ее развития. Вопрос был, в какую сторону будут эти изменения. И вот сегодня случилось — Корона объявила, что возможности, доступные раньше только в платных подписках, теперь будут бесплатны.
Разберемся, что же они теперь нам предлагают.
Читать дальше →

Как увеличить доход с рекламы в мобильных приложениях

Reading time6 min
Views30K
Рынок мобильный рекламы очень молодой и динамичный. Технологии, которые много лет существуют в вебе, в мобильном рынке всё еще активно развиваются и совершенствуются.

За последнее время появилось много инструментов для издателей и рекламодателей, которые позволяют эффективно управлять множеством параметров таргетинга рекламных кампаний, что за частую является ключевым фактором, гарантирующим ожидаемый результат. А вот для площадок по-прежнему всё очень грустно.

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

Читать дальше →

Практика применения семантической разметки

Reading time3 min
Views23K
В последнее время в мире seo применение микроразметки (семантической разметки) для различных целей становится всё более и более популярным.  Хотя микроразметка начала использоваться ещё несколько лет назад, сейчас мы наблюдаем её активное развитие как в Яндексе, так и в Google. Тому подтверждение последние публикации в блоге Яндекс для веб-мастеров: «Микроразметка для крупных сайтов» и «Товарные сниппеты для интернет-магазина».

Google также занимается данным направлением, примером чего является доработки сниппетов в основной выдаче, о которой далее и пойдет речь в этой публикации.
Читать дальше →

Опыт использования конструктора игр Game salad

Reading time5 min
Views15K
Этот обзор — опыт, добытый путем проб и ошибок. Несколько месяцев назад я сам искал такую информацию, но тщетно. Поэтому спешу поделиться с будущими искателями легких путей создания мобильных игр, любителями «простых решений» и коробочных продуктов. Разбираю визуальный конструктор игр Game salad.


image
Читать дальше →

Текстовый чат для сайта

Reading time3 min
Views25K
image

Хочу поделиться опытом создания текстового чата на основе nginx-push-stream-module модуля Nginx, PHP и Javascript. Этот модуль функционирует по принципу long polling и может быть использован как для обмена мгновенными сообщениями между пользователями, так и для системы push–уведомлений.
Читать дальше →

Всё, что вам нужно знать об игровых конструкторах. 3 инди-разработчика делятся опытом работы на Gamemaker, Construct 2, Clickteam fusion 2.5

Reading time8 min
Views50K
С выходом unity 5 и бесплатным unreal engine 4, многие совсем забыли о таких удобных инструментах разработки как конструкторы. Возможно, вы только слышали о них, но никогда не использовали. А ведь зря, это очень удобная вещь для реализации многих задач. Бесспорно, тягаться с мамонтами современного игростроения они не способны, да и не стремятся. В данной статье мы расскажем как конструкторы могут вам пригодится и раскроем все плюсы и минусы работы в них.


Читать дальше →

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

Reading time6 min
Views106K
Предлагаю читателям «Хабрахабра» перевод публикации «30 Amazing PHP Libraries for Programmers and Developers». Авторы собрали несколько удивительных PHP-библиотек, которые помогут реализовать некоторые классные вещи, не прилагая много усилий. Цель обзора состоит в том, чтобы преподнести что-то новое, поэтому список не включает популярные библиотеки.
Читать дальше →

Перезапуск демона на PHP без потери соединений к нему

Reading time13 min
Views20K
На различных конференциях мы неоднократно рассказывали про наше облако для CLI-скриптов (видеозапись доклада, слайды). Облако предназначено для того, чтобы запускать различные PHP-скрипты по расписанию или через API. Как правило, эти скрипты обрабатывают очереди, и нагрузка «размазывается» приблизительно по 100 серверам. Ранее мы акцентировали внимание на том, как реализована управляющая логика, которая отвечает за равномерное распределение нагрузки по такому количеству серверов и генерацию заданий по расписанию. Но, помимо этого, нам потребовалось написать демон, который был бы способен запускать наши PHP-скрипты в CLI и следить за статусом их исполнения.

Изначально он был написан на Си, как и все остальные демоны в нашей компании. Однако мы столкнулись с тем, что существенная часть процессорного времени (около 10%) тратилась, по сути, впустую: это запуск интерпретатора и загрузка «ядра» нашего фреймворка. Поэтому, чтобы иметь возможность инициализировать интерпретатор и наш фреймворк только один раз, было принято решение переписать демон на PHP. Мы назвали его Phprocksyd (по аналогии с Phproxyd — PHP Proxy Daemon, демоном на Си, который у нас был до этого). Он принимает запросы на запуск отдельных классов и делает fork() на каждый запрос, а также умеет сообщать о статусе исполнения каждого из запусков. Такая архитектура во многом похожа на модель веб-сервера Apache, когда вся инициализация делается один раз в «мастере» и «дети» занимаются уже именно обработкой запроса. В качестве дополнительной «плюшки» мы получаем возможность включить opcode cache в CLI, который будет правильно работать, поскольку все дети наследуют ту же область общей памяти, что и мастер-процесс. Чтобы уменьшить задержки при обработке запроса на запуск, можно делать fork() заранее (prefork-модель), но в нашем случае задержки на fork() составляют около 1 мс, что нас вполне устраивает.
Читать дальше →

Выравнивание модального окна по центру

Reading time3 min
Views90K
Мой первый пост.
Центрирование блока относительно другого блока относительно часто-попадающаяся задача, это очередное ее решение. Для меня оно стало самым универсальным и покрывающим все кейсы, с которыми я когда-либо сталкивался.
Читать дальше →

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

Reading time6 min
Views18K
Сегодня мы поднимем довольно старую тему про геолокацию по IP-адресу и новую про быстрые веб-сервисы без «языков программирования» . Также мы опубликуем готовый образ контейнера, чтобы вы за 5 минут могли развернуть такой веб-сервис у себя.

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



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

какие этапы мы прошли, как сделали свой веб-сервис и что в итоге получилось

Интересные -webkit CSS свойства

Reading time2 min
Views66K
Если вы знаете о том, что WebKit умеет изменять вид тэга SPAN на кнопку, или на поле ввода, или если вы знаете каким свойством можно диктовать поведение элемента в момент тапа по нему, то вам не сюда.
Остальных прошу под кат

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №148 (16 — 22 февраля 2015)

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


Читать дальше →

Information

Rating
Does not participate
Location
Беларусь
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Database Architect
Lead
From 6,000 $
JavaScript
Vue.js
Node.js
PHP
Laravel
MySQL
Redis
Nginx
Docker
MongoDB