Pull to refresh
Ворч Ун @sav1812read⁠-⁠only

Разработчик

Send message

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

Reading time7 min
Views22K

Вступление


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

Задача


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

Почему я делаю ставку на Julia

Reading time15 min
Views48K
imageСовсем о Julia не говорим тут. Один пост двухлетней давности от Ализара, и всё. Исправляем ситуацию.

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

Такой подход к делу некоторые презрительно называют ковбойским программированием. Но мне кажется, что это не самый правильный образ — ковбой вынужден периодически устраивать привалы из-за физических ограничений своего коня. Давайте лучше представим одержимого учёного, эдакого профессора, который неделями пропадает в лаборатории, а потом выходит оттуда изнурённый, с затуманенным взором, со своим новым хитроумным изобретением, которое разваливается при первом же запуске.
Читать дальше →

Аппарат кормления котов управляемый, пассивный АКК-УП-1

Reading time11 min
Views111K
Упомянутая в составе Удобного дома автоматическая кормушка для котов вызвала довольно живой интерес, поэтому она — следующая в очереди. Ведь нехорошо же заставлять хороших людей ждать, правда?

Итак, появление Аппарата кормления котов управляемого, пассивного АКК-УП-1 вызвано насущной необходимостью. Которая, между прочим, проявляется в исключительно капризном характере одного из хвостатых, проживающих с нами в одном доме. По ряду причин субъективного и объективного характера упомянутая персона взяла привычку требовать еды по нескольку раз за ночь (причем ест ну совсем крошку, как издевается). В противном же случае не менее противно стонет и играет на батарее.

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

Так вот, кот стонет, играет на батарее, а сил вставать и кормить нет. Что делать? Правильно: нажать на волшебную красную кнопку.

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

Радиоуправляемый выключатель своими руками. Часть 1 — Hardware

Reading time10 min
Views281K
Этот пост — первая часть из серии рассказов о том, как можно относительно несложно сделать своими руками радиоуправляемый выключатель полезной нагрузки.
Пост ориентирован на новичков, для остальных, думаю, это будет «повторение пройденного».


Примерный план (посмотрим по ходу действия) ожидается следующий:
  1. Hardware выключателя
  2. Тестирование и подготовка
  3. Software выключателя
  4. «Центр управления»

Приступим.

Чиним hanstunnel на openwrt (вычисление контрольной суммы сетевого пакета)

Reading time5 min
Views5.7K
Всем привет. Наверное, многие тут знают прогу hanstunnel, которая позволяет поднять туннель поверх ICMP, а точнее поверх пингов. Решил я поставить ее себе на роутер под openwrt. Собрал, завел… Не работает. Симптомы были простые — пакет уходит с роутера во внешнюю сеть, а на адресата не приходит, при этом в домашней локалке все работает. При этом тот же hans, запущенный на домашнем компе подключается наружу без вопросов. Кому интересно, как собрать пакет hans под openwrt и как заставить его работать — велком под кат.

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

Делаем вебсокеты на PHP с нуля. Часть 2. IPC

Reading time5 min
Views39K
После написания моей предыдущей статьи Делаем вебсокеты на PHP с нуля я понял, что у сообщества есть некоторый интерес к поднятой мною теме.

В прошлой статье я обещал, что опишу:
  • запуск нескольких процессов для обработки соединений
  • межпроцессное взаимодействие
  • разделение процессов мастер-воркер
  • проксирование вебсокетов с помощью nginx
  • запуск из консоли
  • интеграция с вашим фреймворком на примере yii
  • демонстрация


И, как обычно, — получившийся код и ссылка на демонстрационный чат в конце статьи.
Читать дальше →

Как мы портировали OpenCV на WindowsRT

Reading time8 min
Views12K
image
OpenCV вместе с расширением функциональности продолжает мигрировать на разные платформы. А новые платформы – это другие компиляторы, особенности системного API, тестирование и много новых приключений. В этой статье мы хотели бы поделиться опытом портирования большого и достаточно хорошо устоявшегося проекта на новую и аппаратную, и программную платформу. Под Windows RT будем понимать и новый API для разработки пользовательских приложений Windows Runtime, и операционную систему Windows RT для основанных на архитектуре ARM процессоров. Надо сказать, что основной целью был второй пункт, именно он нужен был заказчику.
Читать дальше →

Почему стоит пользоваться PDO для работы с базой данных

Reading time9 min
Views330K

Перевод статьи Why you Should be using PHP’s PDO for Database Access.

Множество PHP-разработчиков привыкли использовать для работы с базами данных расширения mysql и mysqli. Но с версии 5.1 в PHP существует более удобный способ — PHP Data Objects. Этот класс, сокращенно именуемый PDO, предоставляет методы для работы с объектами и prepared statements, которые заметно повысят вашу продуктивность!

Введение в PDO


«PDO – PHP Data Objects – это прослойка, которая предлагает универсальный способ работы с несколькими базами данных.»

Заботу об особенностях синтаксиса различных СУБД она оставляет разработчику, но делает процесс переключения между платформами гораздо менее болезненным. Нередко для этого требуется лишь изменить строку подключения к базе данных.

Эта статья написана для людей, которые пользуются mysql и mysqli, чтобы помочь им в переходе на более мощный и гибкий PDO.
Читать дальше →

Управленческие инструменты: 4-фазный алгоритм решения проблем с людьми или «А чего ты хочешь, если ты такой хреновый менеджер?»

Reading time10 min
Views181K
На одном из давних тренингов мы отрабатывали кейс “Сотрудник не присылает вовремя отчеты”. Кейс абсолютно не привязанный к реальной жизни — ведь такого же не бывает, чтобы люди не присылали вовремя отчеты, верно?

И вот одному менеджеру не досталось пары, и я встал играть роль сотрудника. До этого всем пар хватало, поэтому к роли сотрудника я был не очень готов…

Моим собеседником оказался молодой человек, назовем его Егор, технический директор небольшой компании.

Цель кейса — донести до сотрудника обратную связь, что отчеты надо присылать вовремя. Егор начал сразу с места в карьер:

— Александр, как же так, почему Вы не присылаете мне отчеты?

Я стоял, думал-думал, чего сказать. И потом ляпнул первое, что пришло в голову:

— Егор, а чего ты хочешь, если ты такой хреновый менеджер?!

Каюсь, я тогда был не в курсе про тяжелые манипуляции. Зато их влияние смог ощутить на себе в полной мере. Егор покраснел, потом пошел пятнами:

— Что значит “хреновый менеджер”?!!! Это недопустимо — так разговаривать с руководством…

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

И сегодня мы как раз поговорим о том, как доносить до людей неприятную обратную связь, а также как ее правильно принимать. Как обычно— алгоритмы, схемы, примеры — все, что мы любим. :) И многобуков, что мы не любим, но зато с подробностями.
Читать дальше →

Duplicity — резервное копирование с шифрованием

Reading time4 min
Views51K
Duplicity

О возможностях использования нашего облачного хранилища для резервного копирования мы уже писали. Архивирование и резервное копирование в хранилище осуществляется при помощи широкого спектра программного обеспечения; на нашем сайте опубликован список таких программ, который регулярно пополняется.

Недавно мы узнали еще об одном интересном инструменте — Duplicity. Duplicity не только архивирует данные и загружает их на локальный или удаленный файловый сервер, но еще и шифрует их при помощи утилиты GnuPG, обеспечивая тем самым дополнительную защиту.
Читать дальше →

print или echo, что быстрее?

Reading time2 min
Views27K
Под катом перевод довольно старого поста Фабиена (Fabien Potencier) на тему print vs echo, примечательного, на мой взгляд, методом установления «истины». В отличии от подавляющего большинства подобных исследований, в этом вы не найдете запуска скриптов с echo и print миллионы раз.
Заинтриговал?

PHP: Правильный путь

Reading time1 min
Views176K

На днях я наткнулся на замечательную карманную книгу для PHP разработчиков «PHP: The Right Way». Скорее, она будет более полезна новичкам. Чем именно? По интернету разбросано огромное количество материла по PHP, но многое уже устарело или не приводит к написанию качественного кода. В этой книге присутствуют основные актуальные сведения с ссылками на проверенные ресурсы. На самом деле, сначала я хотел перевести ее, форкнуть репозиторий, благо лицензия это позволяет. Но оказалось, что перевод уже есть. Нет только русской книги в форматах для электронных книг, но так как используется Markdown в русском форке, то это не составит труда.
Читать дальше →

Отправка данных о температуре с роутера TL-MR3020 и Raspberry Pi на «Народный мониторинг»

Reading time13 min
Views129K

Вступление


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

Когда я впервые увидел статью на хабре «Народный мониторинг температуры (vs прогноз) в различных городах. Нужен ли?», посвященную мониторингу параметров среды narodmon.ru, я как-то скептически отнесся к такой затее и забыл про нее. Перед новым годом у меня появилась Raspberry Pi и какое-то время ушло на ее освоение и обзор возможностей, в итоге что-бы малинка не простаивала, да и так для общего развития по статье «История взаимодействия «чайника» и DS18B20 посредством Raspberry Pi» сделал тоже самое, но с учетом исходников первоисточника, в который уже внесены изменения по мотивам вышеприведенной статьи с ссылкой на хабр. Температура измерялась, графики строились, но как-то скучно стало за этим наблюдать, да и применение малинки в этих целях это как из пушки по воробьям, и в один прекрасный день я вспомнил про «Народный мониторинг», на котором вся отображаемая на сайте информация выводится только на основании сведений о текущих параметрах среды(температура, влажность, атм.давление и др.) передаваемых с клиентских устройств пользователей данного сервиса. Начал искать и нашел статью «Лучшая реализация реализация UART => 1-wire и I2C/SPI на базе роутеров». Тут я и загорелся идеей сделать такое устройство, правда в надежде на то, что кто-то уже это сделал, а я только повторю, благо роутер TL-MR3020 уже имелся в хозяйстве, и над ним уже ставились бесчеловечные опыты по привинчиванию его к «самокатной телеге» с камерой по мотивам статьи «Простой wifi бот для мониторинга помещений или «кухонное» роботостроение».
Читать дальше →

История взаимодействия «чайника» и DS18B20 посредством Raspberry Pi с отправкой данных на narodmon.ru

Reading time7 min
Views179K
Доброе время суток, уважаемое хабрасообщество!
Неделю назад я наконец-то дождался свою Малинку. Этот пост о том, как можно набить шишки в такой простой задаче как работа с датчиками температуры.
Кому интересно — добро пожаловать под кат.
Читать дальше →

Как сверстать веб-страницу. Часть 2 — Bootstrap

Reading time19 min
Views699K

Введение


Уважаемый читатель, эта статья является второй частью цикла статей, посвященных вёрстке.

В первой части мы верстали шаблон Corporate Blue от студии Pcklaboratory с помощью стандартных средств на чистом HTML и CSS. В данной статье мы попробуем сверстать этот же шаблон, но с помощью CSS фреймворка Bootstrap 3.
Читать дальше →

Программируем nRF24LE1 через Raspberry PI и USBasp

Reading time4 min
Views86K
image
Некоторое время назад на хабре упоминались недорогие (от $6 ) радиомодули nRF24LE1 со встроенным микроконтроллером.На этих радиомодулях ребята из COOLRF планировали осуществлять свой проект, но в итоге «переехали» на более дорогой чип Atmega128RFA1, а nRF24LE1 как я понял отодвинули на второй план.

В статье мы рассмотрим возможность прошивки радиомодуля через Raspberry PI и USBasp а так же пару примеров кода на Си.
Читать дальше →

Самый маленький в мире автопилот

Reading time1 min
Views30K
image
Команда разработчиков из Делфтского технического университета создала самый маленький в мире автопилот. Он предназначен для микрокоптеров или вертолётов и имеет размеры всего 2х2 сантиметра. Вес платы составляет 2,8 грамма. Управляет работой автопилота 72-мегагерцовый микроконтроллер ARM Cortex M3 MCU c 16 кБ оперативной памяти и 512 кБ флэш-памяти. Несмотря на крошечные размеры, на борту есть серьёзный набор навигационного оборудования — акcелерометр, гироскоп, магнитометр, барометр и GPS.
Читать дальше →

Sweet.js: Синтаксические расширения для JavaScript

Reading time5 min
Views12K
Давайте попробуем посмотреть на Sweet.js, компилятор, который реализует гигиенические макросы для JavaScript.

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

Sweet.js оперирует своим собственным форматом синтаксического дерева, почти на уровне токенов, с минимальной структурой. С одной стороны это делает возможным определять довольно экзотические синтаксисы для своих макросов, с другой — делает написание макросов несколько сложнее, как если бы они были определены над стандартным AST JavaScript.

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

Редакторы контента, использующие contenteditable

Reading time2 min
Views7.1K
На последнем Web Standards Days, проходившем в Москве, Антон Немцев рассказывал про идею редактирования контента непосредственно на странице с этим самым контентом, используя атрибут contenteditable.

Спросив google, я нашел два вполне уже рабочих редактора, которые можно попробовать применить в одном из проектов.
Читать дальше →

Опыт оптимизации окружения VPS за $10 для персональной сети WordPress

Reading time12 min
Views19K
Эта небольшая статья посвящена описанию моих действий по приведению VPS за $10/месяц в приемлемое состояния для работы персональной сети сайтов на WordPress в одиночном и сетевом режиме (WordPress Network Mode).

Интро


Итак, дорогие мои хай-тек специалисты и случайные читатели, история эта началась в конце апреля 2012 года, когда мой любимый городской провайдер-монополист наотрез отказал мне в дальнейшем размещении моего трех-ядерного атлона в своей стойке.

Я живу в маленьком курортном городке (3 тыс.мы-местные и 50 тыс.понаехали-тут-летом) и большинство моих персональных проектов посвящено родному и любимому городу. Пара городских вебкамер, погода, справочники и т.д. Кроме того, я ещё чуток борюсь за справедливость и права: организовал небольшой проектик на домене TV — снимаем репортажи про безпредел чиновников и т.д...
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Registered
Activity