Pull to refresh
12
0
Егор Вербицкий @dizzyman

User

Send message

Генерируем QR-код на PHP

Reading time2 min
Views82K

QR-code, уже давно распространен повсеместно, во всех сферах человеческой жизни. Вроде такая популярная вещь, а нормальной библиотеки (Open Source) на PHP — нет. Товарища deltalab, очень напрягла эта проблема и он решил переписать имеющиеся в наличии С библиотеки ibqrencode от Kentaro Fukuchi, на более привычный ему язык PHP.
Читать дальше →

Автоматизация загрузки изображений для товаров в интернет-каталогах

Reading time4 min
Views22K
image

Занимаясь разработкой интернет-каталогов (или же интернет-магазинов) столкнулись с проблемой подбора картинок для товара. Не каждый заказчик может позволить внедрить в свои процессы фотографирование каждого товара (особенно когда их более 7000), да и есть ли смысл фотографировать товары когда их изображения уже есть в интернете, причем абсолютно легально на сайтах производителей. Вручную скачивать-заливать изображения — не вариант. За время работы испробовали массу способов «автоматизации» данного процесса:
  • Выгрузка товаров из 1С и синхронизация картинок
  • Загрузка картинок «оптом» через FTP
  • Поиск картинок средствами Google API

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

Все о 960gs — отличном css-фреймворке для построения модульных сеток

Reading time6 min
Views54K


Я хочу дать исчерпывающее описание замечательному фреймворку для построения модульных сеток 960gs. Недавно где-то в комментариях сказали, что 960gs сложнее в понимании, чем blueprint, что меня удивило. Я не хочу заниматься сравнением этих фреймворком, хотя бы потому, что они выступают в разных весовых категориях, однако, для построения модульной сетки ничего легче и проще в понимании, чем 960gs я не видела.


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

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

Reading time1 min
Views4.7K
Продолжение набора бесплатных иконок.
42 иконки в размерах 64х64, 48х48,32х32 и 16х16
Форматы: Win, Mac OS и Png.

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

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

Полноценный интернет-магазин на вашем сайте

Reading time1 min
Views923
Для тех, кто следит за обновлениями компонентов публикации I'm Sync, есть хорошая новость. Как мы и обещали, теперь компонент публикации «Магазин» позволяет добавлять товары в корзину и оформлять заказ. Прямо на вашем сайте!

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

Код, который приятно читать

Reading time2 min
Views3.7K

Хороший код


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

Основное правило

Я считаю, что читаемым является код, в который можно не вчитываться.
То есть, пары-тройки строк дожно быть достаточно, чтобы сказать, что делает класс или метод. Ещё пары-тройки — чтобы примерно сказать, как он это делает.

Прочие замечания

Я заметил, что есть ещё несколько довольно общих правил, которые делают код симпатичнее.
Читать дальше →

Одноврéменно || Одновремéнно

Reading time2 min
Views932
image

Введение


ZendX_Console_Process_Unix позволяет разработчикам создавать объекты под видом процессов, и таким образом параллельно выполнять несколько задач. Из-за особенностей реализации на текущий момент эта возможность доступна только на *nix системах, таких как Linux, Solaris, Mac / OSX и другие в CLI или CGI режиме. Кроме того для работы этого компонента необходимы следующие модули: Shared Memory, Process Control и POSIX. Если одно из требований не выполняется, то будет брошено исключение.

Основы использования ZendX_Console_Process_Unix


ZendX_Console_Process_Unix это абстрактный класс, который должен быть расширен пользователем. В нем находится единственный абстрактный метод _run(), который должен описывать реализуемый алгоритм обработки тех или иных данных. Так же в классе определенны методы для проверки состояния процесса и обмена переменными между основным и дочерними процессами.

Метод _run(), а так же каждый метод вызванный внутри него будет выполняться в отдельном процессе. Любой другой метод, вызванный в вашем приложении будет выполняться в родительском процессе.

Методы setVariable () и getVariable () могут быть использованы для передачи переменных между родительским и дочерними процессами. Для наблюдения за статусом дочернего процесса следует вызывать внутри него метод _setAlive () через короткие промежутки времени, таким образом родительский процесс сможет получить информацию о состоянии дочернего процесса посредством вызова метода getLastAlive (). Чтобы получить PID дочернего процесса, родитель может вызвать getPid().
Читать дальше →

Увеличиваем скорость загрузки сайта используя lazy-load изображений

Reading time1 min
Views71K
Сейчас многие сайты насыщены графикой в разных видах: аватары, иллюстрации к постам, галереи и тп.

Читатели блога «Клиентская оптимизация» как никто другой знают цену лишних запросов к серверу.

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

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

Python Tips, Tricks, and Hacks (часть 2)

Reading time6 min
Views134K
Содержание

Списки. Свёртка списка (reduce). Прохождение по списку (range, xrange и enumerate). Проверка всех элементов списка на выполнение условия (all и any). Группировка элементов нескольких списков (zip). Еще несколько операторов для работы со списками. Продвинутые логические операции с типом set.
Словари. Создание словаря с помощью именованных аргументов. Преобразование словаря в список и обратно. «Dictionary Comprehensions».
Читать дальше →

Кто виноват в том, что сайт не выполняет своих функций?

Reading time6 min
Views1.2K
Знакомьтесь — Джон, владелец достаточно крупного сайта, маркетолог, считает себя умным, профессиональным, и к тому же уверен, что умеет четко излагать свои мысли. При всем этом, Джон не так уж много знает о веб-дизайне и разработке, поэтому ему нужна ваша помощь. Джон обращается к вам с целым набором четких маркетинговых целей и просит вас назвать цену своей работы.

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



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

Джон, в свою очередь, с подозрением относится к вашему вопросу. Зачем вам знать о его бюджете? Единственная убедительная причина, которая приходит ему в голову – вы не хотите случайно назвать цену меньше той, которую он готов заплатить. Кроме того, он и сам не знает, какой у него бюджет. Откуда ему знать, сколько стоит сайт?


Клиент не должен думать, что вы выманиваете у него деньги.

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

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

Python: советы, уловки, хаки (часть 1)

Reading time8 min
Views265K
Предлагаю читателям «Хабрахабра» перевод статьи «Python Tips, Tricks, and Hacks». Статья будет полезна на начальном и среднем этапах изучения Python.

Хотите писать более лаконичный и читаемый код? Вы хотите уместить как можно больше смысла в одно выражение? Считаете, что прочитать о нескольких уловках лучше, чем провести остаток жизни за чтением документации? Вы обратились по адресу. Мы начнем с маленьких уловок, которые вы уже могли встретить, если немного работали с Python. Но я обещаю, что ближе к концу статьи вас ожидает больше безумных вещей.

Содержание

1. Маленькие уловки. Четыре типа кавычек. Правдивость различных объектов. Проверка на вхождение подстроки. Красивый вывод списка. Целочисленное деление и деление с плавающей точкой. Лямбда-функции.
2. Списки. Генераторы списков и выражения-генераторы.
Читать дальше →

Стакан наполовину полон: разрушение негативных мифов о собственном бизнесе

Reading time4 min
Views1.5K
Так много за последние 2 месяца на хабре было статей относительно мифов и обломов собственного бизнеса. Прочитав вчера свеженькую, мне показалось, что подобные рассуждения запросто могут отбить любые мысли о стартапах и уходе в свободное плавание у большинства читателей. Это неверно, я могу это сказать абсолютно точно – испытано на себе.

Мы начали свой бизнес год назад – разработка веб-сайтов. До этого мы все три основателя (я-менеджер, сеошник и программист) работали в известной в нашем регионе студии. За год мы выполнили все, что планировали. Наша студия стала известной в регионе, у нас постоянно появляются новые клиенты и мы занимаемся поддержкой старых. У нас дружный небольшой коллектив из 7-ми штатных сотрудников и мы работаем с примерно 10-ю фрилансерами на данный момент. А теперь о мифах.
Читать дальше →

Легко ли быть предпринимателем? Основные мифы и легенды, которые необходимо развеять…

Reading time5 min
Views3.2K
Ровно четыре месяца как мы находимся в самостоятельном плавании по волнам собственного бизнеса. Мы как никогда чувствуем себя «в седле» и испытываем огромный душевный подъем. Однако есть сложности, которые приходится преодолевать стартаперу; о них и о своем личном опыте я и хочу поведать.

Обрушились многие мифы и представления о том, как «просто и легко» заниматься собственным делом. Любой, кто начинает свое дело, полон радужных надежд и ожиданий того, что вот совсем уже скоро он станет миллионером и будет запросто руководить большим коллективом, сотрудники будут исключительно замотивированы и мотивация их будет такой же сильной, как ваша, а сами вы будете принимать только правильные и своевременные решения. И, наверное, так все и будет, но только не сразу. По пути можно разбиться о скалы разочарования. Спокойный дрейф в этой ситуации вас не спасет, поскольку другие так и норовят быть впереди, и вам тоже нужно нестись на всех парусах. Времени на раздумья очень мало. В такой ситуации очень важно понимание реальности на старте. Про основные мифы, предлагаю поговорить сейчас.

Миф 1. Я создам свое дело и буду полностью свободен.

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

«Мое дело» — подготовка документов для регистрации ИП

Reading time1 min
Views2.3K
Регистрация ИП - бесплатно
Привет!

Представляем хабрасообществу новый сервис от онлайн-бухгалтерии "Мое дело".

Теперь все документы, необходимые для регистрации ИП, можно подготовить за 10 минут на условиях DonationWare. То есть абсолютно бесплатно, но если если все очень понравилось, то можно сказать спасибо.

Подробности и скриншоты под катом.
Читать дальше →

Простой и эффективный метод отразить http DDoS от 50мбит с помощью nginx и iptables

Reading time7 min
Views67K
Здравствуй, Хабр!
Предлагаю твоему вниманию простой и в то же время эффективный метод борьбы с http DDoS. На основе сервера Xeon 2.5GHz / 4Gb RAM / SAS можно отражать атаку примерно до 300 Мбит/с (значение получено методом экстраполяции).

Способ реализация

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

Область применения

Борьба с Http DDoS на выделенном сервере или ВПС. Максимальная возможная мощность сдерживания DDoS атаки ограничивается физическими возможностями сервера и пропускной способностью канала.

SEO под DDoS-ом

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

Стоимость и эффективность

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

Опыт интервью в американских стартапах

Reading time2 min
Views1.9K
Жил я, беззаботной жизнью в теплом Ташкенте, подрабатывал фрилансом, и внезапно так получилось, что ушла вся беззаботная жизнь и я оказался в Штатах, совсем один, без друзей и близких, но с прямыми руками и знанием Ruby. За то время что я нахожусь здесь (около полугода), я приобрел немалый опыт по трудоустройству в IT-конторы, коим и хотел поделиться с сообществом

Пост публикуется по просьбе камрада sarvar.muminov, у которого еще к сожалению нет аккаунта на хабре. Инвайты можно присылать на sarvar.muminov@gmail.com
Перенес в Учись Работать
Читать дальше →

Eclipse PDT — Zend for Eclipse своими руками

Reading time2 min
Views7.6K
С выхода в свет последней версии Zend прошло уже немало времени, а на Хабре регулярно проскакивали дискуссии о том, что же лучше — Zend for Eclipse или Eclipse PDT, в которых я неизменно принимал участие. Нынче я позволю себе потревожить публику своим взглядом на предмет, расскажу про всяческие плагины и вы сами сможете решить, что вам нужнее.
Читать дальше →

MongoDB или как разлюбить SQL

Reading time6 min
Views67K
Введение

Коллеги, при разработке приложений, мы каждый день сталкиваемся с потребностью в гибком хранении информации (обновлении, поиске по ней, и т.д.). Класс продуктов, которые решают этот круг задач, как все мы знаем — Базы данных. Но что это такое в нашем понимании? У многих «база данных» твердо ассоциируется с MySQL, таблицами и SQL-запросами. И это устраивает до определенного момента. Действительно, реляционные базы данных дают массу преимуществ в работе: поскольку данные имеют сильную связанность, не нужно контролировать целостность базы данных. Используя простой под-запрос можно выбрать количество комментариев к каждому посту в блоге. Используя JOIN нетрудно делать сложные связанные выборки и получать данные сразу о нескольких сущностях.
Читать дальше →

Стартап Интернет-магазина (опыт и советы)

Reading time9 min
Views16K
Сей пост про некий опыт электронной коммерции. Проще — история создания и развития интернет-магазина. Так что, прощай карма. :)
Цель — поделиться опытом. Постараюсь по мере развития сюжета делать акцент на том, на что стоит обращать внимание при развитии бизнеса с нуля.
На хабре уже не раз писали о том, кто да как что сделал. Писали из цифрами и без. Я не ставлю своей целью в этом посте выложить готовый бизнес-план, т.к. у нас его не было в том виде в котором он должен быть. Будут цифры (пусть не все, но ключевые), будут выводы, ну и, конечно, каснемся темы магазинов. Этот пост скорее для тех, кто совершенно ничего не знает (или очень мало знает) о том, как заняться чем то своим… бизнесом вроде.
Читать дальше →

Регистрация на сайте. Плюсы, минусы, подводные камни

Reading time2 min
Views2.5K
После вчерашней презентации сервиса поиска похожих фотографий и более ранней презентации идейника я понял, что ощутимое количество юзабилистов или сервисостроителей (я намеренно употребляю слово сервис, а не сайт) не осознали одной простой вещи: пользователи приходят не регистрироваться, а пользоваться сервисом.

Кто согласен или хочет поспорить со мной, ай-да под кат

Information

Rating
Does not participate
Location
Подольск, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity