Как стать автором
Обновить
1
0
Андрей @ImidgX

Программист full stack

Отправить сообщение

Пример работы jQuery UI + PHP и GD. Нанесение аппликаций на изображение

Время на прочтение7 мин
Количество просмотров22K

Вступление


Всем привет! Здороваюсь с хабром я в первый, и надеюсь не последний, раз. Не смотря на то, что читаю хабр довольно давно, идея написать что-то полезное появилась совсем недавно, когда на работе я столкнулся с весьма интересной задачей — разработка он-лайн редактора коллажей. Поскольку особого ассортимента инструментов разработки не было, решили делать средствами js+jQuery и php GD. Процесс реализации задуманного оказался весьма интересным, и куча полученных положительных эмоций и новых навыков подтолкнули меня на написание статьи на хабр. В этой статейке я постараюсь рассказать о некоторых интересных моментах, с которыми столкнулся при разработке он-лайн редактора.

Задача


По изначальному плану статьи я хотел описать весь процесс разработки, но потом передумал, поскольку статья получилась бы слишком длинной и имела бы много очевидных и итак всем понятных вещей. Поэтому план статьи был переработан, и я решил оставить только самые интересные и важные, как мне кажется, моменты.
Итого: речь пойдет об использовании jQuery UI в связке с PHP библиотекой GD. В статье я постараюсь, как можно доходчивее, показать и рассказать об использовании таких возможностей jQuery UI, как перетаскивание и ресайз элементов. А также формирование картинки из созданных и обработанных пользователем элементов (картинок).
Чтобы было более понятней и наглядней думаю будет не плохо сделать рабочий пример(посмотреть можно тут). В примере реализована одна из частей он-лайн редактора, а именно работа с аппликациями, в которой пользователь может наложить на картинку дополнительные элементы, перетаскивать их как угодно и ресайзить, после чего все это «искусство» должно собраться в единую картинку.
Что-то я много говорю, пора уже и к делу приступить, начнем.
Читать дальше →
Всего голосов 38: ↑29 и ↓9+20
Комментарии13

Обзор бесплатных сервисов для веб-разработки

Время на прочтение4 мин
Количество просмотров143K
Пост является личной подборкой полезных и нужных онлайн сервисов, которые позволяют бесплатно (или условно бесплатно) создавать действительно крутые вещи и разворачивать их в Сети. Не претендую на новизну или на полноту, но буду счастлив, если кому пригодится.

Всем нам иногда хочется попробовать новую идею, запилить какой-нибудь сайтик про манулов, но чтоб обязательно на node.js, хайлоад реди, с мемкешем, монго, фейловером и с претензией на мировое господство. У меня для Вас хорошие новости: благодаря щедрости проклятых западных капиталистов всё это можно получить совершенно бесплатно.
Читать дальше →
Всего голосов 157: ↑136 и ↓21+115
Комментарии113

Создание превью изображений на клиенте: борьба с прожорливыми браузерами

Время на прочтение8 мин
Количество просмотров34K
Всем привет! Сегодня задача у нас следующая: необходимо создать интерфейс для загрузки картинок, который бы генерировал перед загрузкой превьюшки небольшого формата. На данный момент HTML5 вовсю шествует по планете, и, казалось бы, как это реализовать должно быть предельно ясно. Есть несколько русскоязычных статей на эту тему (вот, например). Но тут есть одно но. В рассматриваемом там подходе не уделено никакого внимания расходу памяти браузером. А расход может доходить до гигантских размеров. Разумеется, если загружать одновременно не более 5-10 картинок небольшого формата, то все остается в пределах нормы; но наш интерфейс должен позволять загружать сразу много изображений формата не меньше, чем у современных фотоаппаратов-мыльниц. И вот тогда-то свободная память начинает таять на глазах.
Постараемся вернуть украденную память
Всего голосов 99: ↑93 и ↓6+87
Комментарии34

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю № 91 (5 — 11 января 2014)

Время на прочтение6 мин
Количество просмотров58K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


Читать дальше →
Всего голосов 58: ↑56 и ↓2+54
Комментарии8

Двухэтажный жилой дом «напечатают» за 20 часов

Время на прочтение1 мин
Количество просмотров66K
Помните 3D принтер, который умещается в чемоданчике?

Выглядит он так:
image

Однако, пока мы любовались минимализмом, исследователи из университета Южной Калифорнии анонсируют гиганта трехмерной печати – Contour Crafting.

Система Contour Crafting использует технологии стандартной трехмерной печати, но реализованы они в большом масштабе.
Читать дальше →
Всего голосов 72: ↑70 и ↓2+68
Комментарии112

Несколько интересностей и полезностей для веб-разработчика #10

Время на прочтение4 мин
Количество просмотров41K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром. Это последняя подборка в этом году и я постарался сделать ее наиболее информативной и нужной.

image
Летом 2013 года издательство The Guardian обновило свой сайт, согласно всем современным трендам/нормам/правилам. Но самым главным событием является то, что разработчики выложили весь фронтенд сайта в открытый доступ на GitHub. Свыше 1500 старов, 10 000 коммитов и 100 веток. Там целый джентельменский набор. Для многих это будет кладезь знаний.

imageCenny.js — plug 'n play бэкенд для веб-приложений. Быстрый, защищенный, расширяемый.
var server = new Cenny();
server.set({data: [1,2,3]});
server.get(function(data){ 
   console.log(data); 
});


imageМаленький скрипт от Filament Group (один из первых спонсоров jQuery). Overthrow.js это полифил для отзывчивого дизайна, который стабилизирует работу стандартного скроллинга контента HTML элементов (overflow: auto/scroll) на тач устройствах. Для тех, кто не совсем понял о чем речь, сравните на вашем гаджете работу обычного скроллинга и действие Overthrow.

Читать дальше →
Всего голосов 75: ↑72 и ↓3+69
Комментарии23

Сортировка при помощи HTML5 Drag'n'Drop API

Время на прочтение5 мин
Количество просмотров36K
Sortable.js — минималистичная библиотека для современных браузеров и touch-устройств, не требующая jQuery.

Как вы уже догадались из названия, библиотека предназначена для сортировки элементов при помощи drag’n’drop. Стандартным решением в таких случаях является jQuery UI/Sortable, а это ни много, ни мало 64 кб + 10 кб. Итого 75 кб gzipped в проекте, где jQuery не используется совсем. Относительно недавно на Хабре уже была статья о том, как реализовать похожий функционал, но опять же на jQuery, да и touch-устройства в предлагаемом решении не поддерживаются.

Читать дальше →
Всего голосов 59: ↑54 и ↓5+49
Комментарии44

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю № 88 (15 — 21 декабря 2013)

Время на прочтение5 мин
Количество просмотров45K

Читать дальше →
Всего голосов 61: ↑53 и ↓8+45
Комментарии7

Резервное копирование веб-проектов на Яндекс.Диск без ООП и натурщиц

Время на прочтение6 мин
Количество просмотров40K
Позавчера хабраюзер vasiatka в посте №206752 поделился с хабрасообществом, а следовательно и со всем остальным миром, продуманным и весьма развитым классом для работы с Яндекс.Диском. Некоторое время назад я тоже стал использовать этот сервис для хранения там бэкапов. Хочу поделиться значительно более коротким вариантом скрипта на php, который делает архивы базы данных и файлов сайта, и заливает их по WebDAV. Возможно кому-то и он придётся по душе.
Подробности
Всего голосов 72: ↑57 и ↓15+42
Комментарии48

Как не разочароваться в контексте. 10 подводных камней и один реальный проект

Время на прочтение5 мин
Количество просмотров10K


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

Только заинтересованным? Посмотрим, что может выдать Яндекс.Директ по паре случайных запросов.
Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии1

Патент на FAT в Европе признан недействительным

Время на прочтение1 мин
Количество просмотров36K
image Федеральный патентный суд Германии признал недействительным действовавший до последнего момента на территории Евросоюза патент EP0618540. Патент описывает архитектуру и методы размещения длинных имён файлов в файловой системе FAT, которая из-за своей простоты всё ещё широко используется для флэш-накопителей и других носителей информации. Ранее эта файловая система была очень популярна и на других носителях.

Указанный патент являлся одним из ключевых рычагов для оказания давления и заключения соглашений по сбору отчислений с производителей устройств на базе Linux и платформы Android. Например, данный патент недавно был использован для инициирования запрета продаж Android-устройств Motorola в Германии.
Читать дальше →
Всего голосов 86: ↑80 и ↓6+74
Комментарии32

Перенос Google Chrome на RAM-диск в Linux

Время на прочтение3 мин
Количество просмотров83K
Опишу простой способ переноса кеша, настроек и прочих локальных данных Google Chrome на RAM-диск в Linux. Это ускорит скорость работы браузера и исключит насилие над диском (что особенно критично, если у вас SSD).

Статья не содержит ничего интересного для более-менее продвинутых пользователей Unix-like систем. Совсем ничего.

Читать дальше →
Всего голосов 90: ↑71 и ↓19+52
Комментарии52

Редактор HTML+CSS+JS в стиле JSfiddle, код которого состоит из 230 символов

Время на прочтение1 мин
Количество просмотров21K
Хотя неделя 30-строчников закончилась, рискну привести ещё один пример сверхлаконичного кода JavaScript, который я нашёл в сети. Встречайте четырёхпанельный редактор HTML/CSS/JS, с превью в реальном времени, код которого умещается в 230 символов:

<x id=e><script>for(i=4;i--;)e.innerHTML+=(i?'<textarea id=t'+i:'<iframe')+' style=width:49%;height:48% oninput=\'e.lastChild.src="data:text/html;base64,"+btoa(t3[v="value"]+"<script>"+t1[v]+"<\/script><style>"+t2[v])\'>'</script>

Посмотреть демо можно по этой ссылке. А можно просто вставить вот этот текст с кодом в адресную строку браузера:

data:text/html,%20<x%20id=e><script>for(i=4;i--;)e.innerHTML+=(i?'<textarea%20id=t'+i:'<iframe')+'%20style=width:49%;height:48%%20oninput=\'e.lastChild.src="data:text/html;base64,"+btoa(t3[v="value"]+"<script>"+t1[v]+"<\/script><style>"+t2[v])\'>'</script>

Читать дальше →
Всего голосов 80: ↑57 и ↓23+34
Комментарии16

Несколько интересностей и полезностей для веб-разработчика (выпуск 9)

Время на прочтение3 мин
Количество просмотров38K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Docpad



«Нашумевший» проект в Twitter и GitHub. По заявлению разработчиков «Docpad снимает ограничения и убирает разрыв между профессионалами и новичками. Теперь дизайнеры и разработчики могут создавать веб-сайты быстрее, чем когда-либо прежде». Docpad — это статический генератор сайтов написанный на Node.js. Он позволяет с легкостью создавать шаблоны и блоки. Работает c PHP, Ruby, CoffeeScript и др. В нем есть file wathing, live reload и самое главное «amazing plugin system». Большим плюсом является обучающее видео (хоть и на английском).
Видео: Rapid Web Development with DocPad


Читать дальше →
Всего голосов 48: ↑45 и ↓3+42
Комментарии5

Пишем плагин для CKEditor 4

Время на прочтение8 мин
Количество просмотров25K
CKEditor — это WYSIWYG редактор HTML-кода для браузеров. Всякий раз, сталкиваясь с его документацией или же с его исходным кодом, с исходным кодом его плагинов я терялся. И это не мудрено, ведь CKEditor это очень большой продукт, имеющий довольно сложную инфраструктуру. Но, зачастую, стандартных возможностей не хватает и требуется добавить свою. В этой статье я хотел бы остановиться на плагине, который позволяет встраивать и оперировать в редакторе Yandex-картами.

Вот так это будет выглядеть по окончанию редактирования:


А вот так в режиме редактирования:
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии19

Превращаем статический сайт в мобильное приложение с помощью jQuery Mobile и PhoneGap

Время на прочтение5 мин
Количество просмотров113K

После приобретения телефона на базе Android, возникла задача сделать из сайта brainexer мобильное приложение. Выбор пал на jQuery Mobile и PhoneGap. До этого никаких познаний в обрасти мобильной разработки не было, поэтому пришлось осознать некий пласт новой информации, выжимкой из которого я бы и хотел поделиться. В итоге статья представляет из себя небольшой quick start — как из пачки html файлов получить приложение опубликованное в Google Play.
Читать дальше →
Всего голосов 54: ↑46 и ↓8+38
Комментарии41

Верстка писем и email рассылок. Немного магии Gmail

Время на прочтение4 мин
Количество просмотров38K

Автор изображения Mike, Creative Mints

Добрый день. Я уже не раз писал о том, что media_queries в почтовых клиентах работают прекрасно. Даже outlook.com в браузере их адекватно воспринимает. Но вот gmail на яблоке и андроиде так не считает.

Если в случае остальных клиентов мы можем сделать, например так:
@media only screen and (max-width:480px) {
.big_img { display:none !important; }	 .small_img { display:block !important; }
}
@media only screen and (max-width:600px) {
.big_img { display:block !important; }	 .small_img { display:none !important; }
}
Читать дальше →
Всего голосов 18: ↑15 и ↓3+12
Комментарии6

BitTorrent Sync: скорость до 90 мегабайт/с и открытые API

Время на прочтение2 мин
Количество просмотров34K
Вчера состоялся выпуск новой версии программы для синхронизации файлов через торренты BitTorrent Sync 1.2. Разработчики сообщили несколько приятных новостей. Во-первых, популярность BitTorrent Sync растёт высокими темпами, что гарантирует успешное развитие проекта в будущем. Количество пользователей превысило 1 млн человек (месячная активная аудитория), а объём синхронизированных файлов — 30 петабайт.

Во-вторых, в новой версии произведена оптимизация протокола синхронизации, так что максимальная скорость в локальной сети увеличена до 90 МБ/c. Это значит, что 10-гигабайтный файл автоматически синхронизируется между компьютерами в локалке быстрее, чем за две минуты.

И самое главное — наконец-то выпущены открытые API для добавления синхронизации через торренты в любой сторонний софт.
Читать дальше →
Всего голосов 55: ↑51 и ↓4+47
Комментарии42

FileAPI 2.0: Загрузка файлов на сервер год спустя

Время на прочтение11 мин
Количество просмотров70K
FileAPI 2.0Привет Хабр! Примерно год назад я представил вашему вниманию первую версию open-source библиотеки FileAPI, предназначенную для работы с файлами на клиенте и последующей загрузки на сервер.

За это время был пройден долгий путь. Библиотека заработала 670+ звезд и 90+ форков. С помощью github-сообщества удалось исправить множество «детских» проблем и внести ряд улучшений. Было закрыто более 100 тасков, и благодаря Илье Лебедеву сделана загрузка файлов по частям. Сегодня я с гордостью хочу представить вам FileAPI 2.0.
Читать дальше →
Всего голосов 166: ↑157 и ↓9+148
Комментарии85

Карта Mesh Wi-Fi: А давайте построим свою Mesh сеть в России и СНГ

Время на прочтение3 мин
Количество просмотров68K


В течение последних месяцев, на хабре появлялись различные статьи с описание Wi-Fi Mesh сетей, которые строились на ПО cjdns.

Очевидно, что для того, что бы построить сеть (или хотя бы, попробовать это сделать) нужно что бы желающие находились рядом друг с другом, но из-за mesh сетей, я думаю, мало кто захочет менять место своего проживания.

Таким образом появился сервис о котором и хотелось бы рассказать, он поможет желающим организоваться и построить Mesh сеть.
Читать дальше →
Всего голосов 92: ↑87 и ↓5+82
Комментарии43

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность