Pull to refresh
1
0.4
Павел @lifestyle

User

Send message

Open Source-расширения для yii от команд 2ГИС

Reading time3 min
Views19K
В прошлый раз мы рассказали о слоистой архитектуре во фреймворке yii, а сейчас хотим поделиться кодом.

В своей работе мы активно используем open source-решения и поэтому решили поделиться собственными разработками, которые могут быть полезны сообществу. Сегодня это расширения для, наверное, лучшего в мире PHP-фреймворка yii:
  • DGSphinxSearch
  • AMQP(RabbitMQ)
  • MQLogRouter
  • DGPinbaLogRoute
  • DGApiClient
Рассмотрим эти расширения по порядку.

Читать дальше →
Total votes 85: ↑80 and ↓5+75
Comments9

Тактика победителя: убеди врага, что он всё делает правильно

Reading time3 min
Views10K
Представим, что вы владелец одной из 100500-миллионной доски объявлений по недвижимости. Вы чувствуете, что тема перспективная, бабла на рынке крутится много, вам хочется заработать и быть счастливым. Для монетизации вашего сайта у вас, допустим, есть распространённый приём: деление аккаунтов на «пользовательские» (публиковать можно только одно объявление), т.е. бесплатные, и «профессиональные», т.е. аккаунты продавцов, за деньги.

Некоторые нехорошие продавцы (поскольку они нехорошие, то будем и нехорошим словом их дальше называть — «мошенники»), в свою очередь, тоже хотят зарабатывать и не хотят вам платить.

В результате вы каждое утро получаете на свой сайт очередную тонну шлако-объявлений от «псевдочастников», которые только отпугивают пользователей вашего сайта (они же ищут частников, а в каждом втором объявлении попадают на очередного мошенника), а значит и ударяют по вашей прибыли.
Как с ними борются обычно и как действовать намного эффективнее
Total votes 171: ↑154 and ↓17+137
Comments98

Создание и монетизация блога Фактрум

Reading time9 min
Views4.2K
image

Всем привет.

Я — редактор блога Фактрум Селена Парфёнова и хочу рассказать вам историю этого проекта с момента возникновения идеи до сегодняшнего дня. Это будет история о том, как, не вкладывая никаких денег и не раскручивая сайт никакими способами, мы за 8 месяцев работы достигли посещаемости 15 000 — 17 000 уникальных пользователей в сутки и заняли 3-е место в топе блогов рунета по версии Яндекса.

Для удобства понимания я разделю пост на 2 раздела: работа над блогом и его монетизация.

Итак:
Читать дальше →
Total votes 221: ↑181 and ↓40+141
Comments132

Желто-оранжевая новость про пополнение счета под 0%

Reading time1 min
Views14K
В коммунальной квартире российских платежных систем очередное событие.

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

Как вам такая новость?
Total votes 125: ↑117 and ↓8+109
Comments94

OpenStore — бесплатная сборка интернет — магазина на основе Drupal и Ubercart

Reading time7 min
Views16K
image
Представляю свой проект — бесплатный скрипт интернет-магазина OpenStore на основе Drupal и модуля Ubercart

Сайт проекта
Скачать
Багтреккер
Читать дальше →
Total votes 138: ↑130 and ↓8+122
Comments75

Watir: простой парсинг сложных сайтов

Reading time4 min
Views51K
imageКаждый, кто пишет парсеры, знает, что можно распарсить сто сайтов, а на сто-первом застрять на несколько дней. Структура очередного отмороженного сайта может быть сколь угодно сложной, и, когда дело касается сжатых javascript-ов и ajax-запросов, расшифровать их и извлечь информацию с помощью обычного curl-а и регекспов становится дороже самой информации.

Грубо говоря, проблема в том, что в браузере работает javascript, а на сервере его нет. Нужно либо писать интерпретатор js на одном из серверных языков (jParser и jTokenizer), либо ставить на сервер браузер, посылать в него запросы и вытаскивать итоговое dom-дерево.

В древности в таких случаях мы строили свой велосипед: на отдельной машине запускали браузер, в нем js, который постоянно стучался на сервер и получал от него задания (джобы), сам сайт грузился в iframe, а скрипт извне отправлял dom-дерево ифрейма обратно на сервер.

Сейчас появились более продвинутые средства — xulrunner (crowbar) и watir. Первый — безголовый firefox. У crowbar есть даже ff-плагин для визуального выделения нужных данных, который генерит специальный парсер-js-код, однако там не поддерживаются cookies, а допиливать неохота. Watir позиционируется разработчиками как средство отладки, но мы будем его использовать по прямому назначению и в качестве примера вытащим какие-нибудь данные с сайта travelocity.com.

Читать дальше →
Total votes 79: ↑65 and ↓14+51
Comments74

Улучшаем border-radius.htc

Reading time1 min
Views17K
Думаю многим верстальщикам известно решение, которое заставляет IE рисовать скругленные уголки: «curved-corner» (или border-radius.htc).

В этой статье я расскажу, как избавиться от ошибок «Invalid argument» при его использовании, а также как в разы ускорить его работу.
Читать дальше →
Total votes 78: ↑73 and ↓5+68
Comments34

Форматирование телефонных номеров на PHP

Reading time13 min
Views58K
Возникла задача автоматического форматирования телефонных номеров в виде страна (город) номер, и первым делом я обратился к существующим решениям.
К сожалению, оказалось, что все найденные решения основываются на обычном подгоне строки под пользовательский формат, имея ограниченную область применения и ошибки при выходе за ее пределы.
Читать дальше →
Total votes 103: ↑81 and ↓22+59
Comments98

По ту сторону браузера: Как подключить прием платежей

Reading time4 min
Views33K
Привет!

Лето — жарко и писать про бухгалтерию совсем не хочется. Поэтому мы решили начать серию статьей, описывающих работу нашего SAAS сервиса изнутри. Напишем как о чисто технических вещах (процессинг платежей, безопасность, техподдержа), так и о том как мы выросли от перспективного стартапа к самоокупающемуся бизнесу — о деньгах, о людях, о проблемах любого молодого бизнеса и путях их преодоления. Если интересно что-то еще — пишите в комментариях или в личку.

Процессинг платежей


Итак, в какой-то момент вы понимаете что хотите начать принимать от пользователя денежку за свои услуги и начинаете думать как бы вам это лучше сделать. Ниже я опишу системы, с которыми мы начинали работать и на чем в итоге остановились. Все приведенное в статье является только нашим опытом, ни в коем случае не реклама и отражает только наше мнение. Возможно, где-то нам просто не повезло, а где-то наоборот способствовала удача.
Читать дальше →
Total votes 90: ↑84 and ↓6+78
Comments125

Правильная обработка ошибок в PHP

Reading time7 min
Views32K

Что я понимаю под правильной обработкой:


  • Универсальное решение, которое можно вставить в любой существующий код;
  • Легко расширяемое решение;
  • В PHP аж три «механизма ошибок»: собственно ошибки (error), исключения (exception) и утверждения (assertion). Свести три механизма к одному — exception. В комментариях к предыдущей статье на эту тему выражалось мнение, что exception это плохой и/или сложный метод обработки ошибок. Я так не считаю и готов это обсудить в комментариях;
  • Опциональное логирование;
  • Общий обработчик exception, который будет поддерживать разные форматы вывода и debug/production режимы;
  • В debug режиме должен выводится trace. Требования к trace: компактный, понятный и по возможности ссылки на открытие файлов в IDE.

Теперь по порядку
Total votes 105: ↑84 and ↓21+63
Comments102

«Мои продажи», малому бизнесу посвящается

Reading time2 min
Views8.2K
imageВидели ли вы, когда на небольшой торговой точке, после продажи, продавец записывает что то в толстую тетрадку? Учет продаж и товаров в вашем бизнесе это толстая тетрадь и калькулятор? А что, если бы существовала небольшая бесплатная программа, работать с которой могла бы даже «блондинка», а добавить продажу можно с помощью пары щелчков мышкой, не открывая несколько окон, и не вводя ненужные для небольшой торговой точки поля. Программа, в которой можно вести учет товаров, всегда видеть остатки, и легко и просто проводить инвентаризацию. Программа, в которой можно было бы заводить несколько продавцов, и смотреть потом их продажи за день, месяц, год.
Плюс к этому всему возможность просматривать продажи удаленно на сайте, на любой из ваших торговых точек.
И все это бесплатно, с открытым исходным кодом, и с возможность написания плагинов на языке программирования python.
Эта программа под катом...
Total votes 111: ↑102 and ↓9+93
Comments154

Самостоятельное изучение схемотехники

Reading time2 min
Views232K
Я решил написать ряд статей, которые должны помочь разобраться самостоятельно в предмете схемотехники. Первая часть вводная, в ней рассказывается об основных дисциплинах, которые стоит изучить для понимания принципов конструктирования и построения электрических схем. Если эта статья вам понравится, тема будет развиваться, внимание будет фокусироваться на нюансах и примерах.

Image #851653, 113.3 KB
Читать дальше →
Total votes 176: ↑158 and ↓18+140
Comments76

«ПараТайп» выпустил обновлённую версию гарнитуры PT Sans (также доступны её версии в форматах EOT и WOFF)

Reading time1 min
Views4.3K
Многие помнят, как в конце прошлого года мы тут порадовались появлению паратайповского бесплатного шрифта PT Sans, содержащего все символы кириллических алфавитов народов России, а также буквы имперской письменной речи («ѣ», «ѵ», «і», «ѳ»).

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

Не стремясь копипастить полный список их, ограничусь подчёркиванием только трёх обстоятельств, которые показались значимыми лично мне.

Во-первых, помимо простого набора шрифтов, для скачивания теперь предлагают особый Web-набор, содержащий версии всех шрифтов этой гарнитуры в форматах EOT (для браузера IE) и WOFF (для Файерфокса, например). В том же архиве лежит готовый пример (HTML+CSS) использования этих шрифтов, причём я проверил и убедился, что пример вполне соответствует той полезной рекомендации, которую Пол Айриш (Paul Irish) составил.

Во-вторых, полностью перехинтованы полужирные начертания (теперь они выглядят заметно иначе; лично мне кажется, что теперь они жирнее).

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

Кернинг сочетания «*.*» продолжает в этом шрифте оставаться ужасным, но в остальном развитие шрифта заслуживает громких и искренних апплодисментов.
Total votes 72: ↑52 and ↓20+32
Comments16

Zen coding 0.6

Reading time1 min
Views1.5K
Поздравляю всех с выходом новой версии, мольбы были услышаны, теперь zen-coding умеет:
  • прописывать кастомные атрибуты у тегов (td[colspan=2])
  • разворачивать вложенные аббревиатуры: теперь можно буквально одной строкой написать весь документ (div#page>(div#header>ul#nav>li*4>a)+(div#page>(h1>span)+p*2)+div#footer)
  • если аббревиатура для div начинается с класса или айди, необязательно писать сам тег, #content>.section тоже сработает
  • инлайновые элементы, если их больше трех, теперь автоматически будут перенесены на новую строку
  • теперь у нас есть фильтры (можно, например, экранировать небезопасные символы добавив |e в конец аббревиатуры)
  • если указывать несколько $-символов, это сработает как предварение нулем (li.item$$$li.item001)
Кроме того добавилась поддержка PSPad, Komodo Edit, добавлены действия Toggle comment, Split/Join tag, Remove tag, пофиксены ошибки, улучшен API для редакторов, а сам проект переместился на GitHub.

Если «новая версия zen-coding» для вас — пустой звук, настоятельно рекомендую ознакомиться с этим топиком.

Обновляемся, обновляемся!
Total votes 52: ↑49 and ↓3+46
Comments45

Конкурс виджетов от Opera Software

Reading time3 min
Views6.3K
image


В недавно выпущенной тестовой версии браузера Opera 10.50 бета была значительно изменена система виджетов — теперь все эти мини-программы получили возможность оторваться от родительского браузера и предстать в виде полноценных приложений, работающих прямо в операционной системе без необходимости запуска браузера Opera. Одновременно был значительно расширен функционал виджетов, что позволяет теперь создавать более сложные настольные веб-приложения. В связи с этим компания Opera Software решила провести конкурс для разработчиков по созданию виджетов нового поколения, которые будут использовать все последние новшества данной технологии.

Итак, собственно процесс участия в этом мероприятии прост до неприличия:
1. Создаёте крутой настольный виджет, используя всю мощь веб-технологий, помноженную на опыт разработки настольных приложений.
2. Публикуете свою работу на портале виджетов до 18 мая 2010 года.

Всё, ждёте результатов и получаете награду. Правда, есть определённые условия, которые нужно соблюсти.
Читать дальше →
Total votes 72: ↑51 and ↓21+30
Comments43

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

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

String.Format

Reading time3 min
Views70K
Те, кто пишут на C# очень хорошо знают и часто используют механизм String.Format, которого сильно не хватает в JavaScript. Несмотря на его простоту и удобство, на просторах Сети мало что можно накопать, в основном вариации на тему sprintf (привет сишникам). Достаточно давно был написан скрипт, который позволял форматировать строки на JavaScript и был похож на String.Format C#. Форматирование стало использоваться коллегами достаточно плотно в скриптах и я решил немного причесать код и опубликовать для тех, кто хочет получить String.Format в JavaScript.
Читать дальше →
Total votes 40: ↑34 and ↓6+28
Comments18

Теперь любой может заплатить вам по своей карте Visa или MasterCard

Reading time1 min
Views3.4K
image
Ни для кого не секрет, что есть такая замечательная система Payoneer. Для тех, кто не знает, скажу: замечательна она тем, что вы можете заказать выпуск дебетовой карты Payoneer PrePaid MasterCard, получать деньги на неё (фрилансерство на зарубежных сайтах, электронная коммерция и др.) от ваших клиентов и снимать в любом банкомате, который работает с MasterCard. Теперь любой человек может перевести вам деньги на вашу карту со своей карты Visa или MasterCard! Как это сделать, читайте дальше!
Читать дальше →
Total votes 105: ↑92 and ↓13+79
Comments135

Организация HTTP-туннеля на примере утилит для работы с MySQL

Reading time2 min
Views23K
Если вы не знаете, что такое HTTP-туннель, для управления MySQL предпочитаете десктопное приложение вместо веб-интерфейса и выполняется одно из следующих условий:

  • у вас есть возможность выхода во внешний мир только через HTTP-прокси
  • в вашей сети установлено ограничение на возможность работы только с 80 портом
  • хостинг-провайдером разрешено работать с базой только через локалхост


то эта небольшая заметка для вас.
Читать дальше →
Total votes 23: ↑19 and ↓4+15
Comments14

Information

Rating
1,739-th
Location
Россия
Date of birth
Registered
Activity