Pull to refresh
4
0
spadar @spadar

User

Send message

Как открыть интернет-магазин с голой жопой

Reading time3 min
Views6.4K
Последнее время часто слышу жалобы, что нет юрлица, а значит ничего сделать нельзя, ибо непреодолимый страх, что «придут злые опера и закроют за незаконную предпринимательскую деятельность».

Не буду растекаться по древу насчет «до 5-7 тыс. у.е. в месяц в качестве физлица вы никому в упор не интересны».

Допустим без юрлица ну никак нельзя, да еще и на сайт с рекламой денег нет.  Что делать? 

По шагам:
1. Изучаете товары (Я.Маркет, запросы в Директ, ближайший рынок) на предмет «что бы такого не слишком приевшегося и конкурентного, но при этом простого в доставке, и чтобы геморроя с гарантиями/лицензиями поменьше.
Хинт: сувениры, игрушки, коллекционеры всех мастей. Берете одну/несколько специфических ниш для отработки.
Не надо брать строительство, окна, бытовую технику/электронику. Там, где кокурентов дофига.

2. Идем на ближайший рынок, торговый комплекс, а лучше отраслевую выставку(там народ крупнее и плотнее).

Читать дальше →
Total votes 251: ↑217 and ↓34+183
Comments139

Вы можете создать веб страницу? Теперь вы можете создать плагин к Firefox тоже

Reading time1 min
Views1.5K
Jetpack LogoБольшинство людей не могут создать расширение к Firefox — для этого нужны знания Javascript, XUL, и немного опыта в XML. Сейчас порядка 8000 разработчиков и 12000 плагинов к Firefox, но Mozilla всегда ищет пути как это расширить.

Итак Mozilla выпустила экспериментальную программу Jetpack, которая позволяет каждому, кто может создать веб страницу — создать дополнение к Firefox. Это означает, что для простого дополнения к популярному браузеру, вам нужны лишь знания HTML. Jetpack также поддерживает CSS и Javascript.

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

Jetpack очень ранний проект с открытым исходным кодом, это только 0.1 версия и там пока очень много багов. Но уже сейчас она позволяет каждому использовать API для создания статусбаров, работы с табами и многое другое. Он также поддерживает внешний API как Twitter, и вы сможете создавать простые дополнения для работы Twitter'а с Firefox.

Итак, если вы разработчик, посмотрите видеопредставление как создавать дополнения к Firefox.


Total votes 71: ↑63 and ↓8+55
Comments29

Многоуровневое дерево с маркерами, сохраняющее состояние (HTML, CSS, jQuery, Cookies)

Reading time6 min
Views19K
Продолжается развитие темы о многоуровневом дереве с маркерами. Многоуровневое дерево с сохранением состояния узлов
Теперь дерево выросло и окрепло, стало взрослее и помнит выбранный узел и состояние кажого узла в отдельности.
Страницу можно перезагружать, а дерево все равно будет помнить все что вы открыли и выбрали!

Читать дальше →
Total votes 38: ↑36 and ↓2+34
Comments48

phpThread: нити в PHP? Запросто

Reading time2 min
Views2.2K
Если вы хотите научиться писать многопоточные приложения на PHP или здорово упростить себе жизнь — статья для вас.

Раньше для этих целей я пользовался либо запуском несколько копий скрипта, либо же использовал pcntl на более низком уровне, чем хотелось бы. Это, а от части и Java-идеология работы с потоками, побудили меня к написанию пакета phpThread.
Читать дальше →
Total votes 75: ↑61 and ↓14+47
Comments78

Тюнинг nginx

Reading time8 min
Views96K
Статья написана по материалам моего доклада на CodeCamp 2009.

Для многих из нас настает тот долгожданный день, когда аудитория сайта начинает стремительно расти. Каждое утро мы, затая дыхание, смотрим на графики google analitycs и расплываемся в улыбке, когда взят рубеж в очередную тысячу посетителей в день. Как правило, рост посещаемости не совпадает с ростом технической базы и сайт начинает тормозить. Тут в игру вступает сисадмин...

У любого проекта всегда есть что оптимизировать: можно почитать советы по оптимизации на webo.in, установить eaccelerator, memcache, проиндексировать поисковые поля в базе данных. Я предполагаю, что все это уже проделано, а сайт по прежнему тормозит.

Пришло время оптимизировать nginx...

Читать дальше →
Total votes 102: ↑100 and ↓2+98
Comments69

PHP_Exceptionizer: преобразование E_NOTICE в исключения (Exception)

Reading time2 min
Views2.7K
Очень простая, но полезная библиотека PHP_Exceptionizer позволяет преобразовывать нотисы (E_NOTICE), предупреждения (E_WARNING) и т. д. в исключения PHP.

// Где-то в начальном коде инициализации скрипта.
error_reporting(E_ALL);
if (<is debug mode active>) {
    $exceptionizer = new PHP_Exceptionizer(E_ALL);
    // И оставьте эту переменную, чтобы она не удалялась до окончания 
    // скрипта. Удаление переменной вызовет отключение PHP_Exceptionizer.
}
...
// Далее можно ловить нотисы как исключения:
try {
    echo $undefinedVariable;
} catch (E_NOTICE $e) {
    echo "Notice raised: " . $e->getMessage();
}
...
// Если вы ловите E_WARNING, то поймаете и E_NOTICE тоже:
try {
    echo $undefinedVariable;
} catch (E_WARNING $e) {
    echo "Warning or better raised: " . $e->getMessage();
}
...
// А можно и не ловить, тогда нотис вызовет завершение программы.
echo $undefinedVariable;

Читать дальше →
Total votes 68: ↑49 and ↓19+30
Comments97

Коротко про mozStorage

Reading time2 min
Views1.1K
Среди упоминаний ожидаемых новинок и улучшений в браузере Mozilla Firefox в рунете почти не встречается информации по mozStorage, позволяющему разработчику XPCOM-расширения использовать всю мощь SQLite. Предлагаю уделить немного внимания этому интересному инструменту.
Читать дальше →
Total votes 12: ↑9 and ↓3+6
Comments18

Версия 0.3

Reading time2 min
Views422
Web Optimizer (Веб Оптимизатор) — приложение, автоматизирующее все действия по клиентской оптимизации для произвольного сайта. На данный момент оно существует в виде отдельного приложения (которое нужно самостоятельно установить на сайт). В качестве базы для Web Optimizer использовался PHP Speedy.

Подробное руководство по установке.
Загрузить версию 0.3.
Читать дальше →
Total votes 32: ↑28 and ↓4+24
Comments11

SoapClient: параллельные асинхронные запросы, реконнект, обработка тайм-аутов

Reading time3 min
Views8K
Dklab_SoapClient — это расширенная версия стандартного PHP-класса SoapClient, предназначенная для параллельного (асинхронного) удаленного вызова процедур в высоконагруженных проектах.

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

По сравнению со встроенным в PHP SoapClient, поддерживаются дополнительные возможности:
  • Одновременное, параллельное выполнение запросов к нескольким удаленным процедурам — ключевая особенность библиотеки. Если страница на вашем сайте собирается из 5 удаленных блоков, каждый из которых генерируется по 100ms, их можно запустить параллельно и получить всю страницу целиком не за 500ms, а за те же самые 100ms.
  • Реконнект при невозможности установления связи. К сожалению, мир несовершенен, и из-за случайной потери пакетов первая попытка соединения с SOAP-сервером может закончиться тайм-аутом. Это особенно часто происходит, когда проект располагается в нескольких датацентрах. Dklab_SoapClient позволяет задать тайм-аут на время открытия соединения (например, 1 секунду) и, в случае неудачи, повторить попытку указанное число раз. На практике это снижает вероятность итогового сбоя в тысячи раз, т.к. реконнект почти всегда помогает при утере пакета.
  • Поддержка тайм-аута на получение данных. Если страница собирается из удаленных блоков, то в случае «подвисания» одного из них «зависает» и вся страница. В то же время, отсутствие одного из блоков при наличии остальных — не такая большая беда. Вы можете указать, сколько времени Dklab_SoapClient должен ждать ответа от удаленной процедуры; если время превышено, возникает исключение PHP, которое вы можете обработать по своему усмотрению, не прерывая загрузку остальных блоков.
Читать дальше →
Total votes 38: ↑34 and ↓4+30
Comments29

7 простых способов протестировать кроссбраузерную совместимость

Reading time4 min
Views71K
Эта статья предназначена для дизайнеров, верстальщиков, разработчиков и всех остальных людей, бьющихся с тестированием сайтов в нескольких браузерах.

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

В этой статье, мы рассмотрим 7 простых инструментов для тестирования кроссбраузерной совместимости; инструментов, которые справляются со своей задачей очень легко, и к тому же, каждый из этих инструментов можно использовать бесплатно.
Читать дальше →
Total votes 99: ↑96 and ↓3+93
Comments57

Страшные сказки про PHP5, рассказанные на ночь…

Reading time3 min
Views2.7K
1) Какой бы ерундой вы не занимались с PHP, узкое место _всегда_ — БД. PHP — он как Буратино — тупОЙКАк… дрова. Lighttpd и Nginx позволяют разнести его по множеству физических серверов на раз без шума и пыли. Зарплата адекватного спеца по PHP в Москве — 30-45 тыс. рублей в месяц, стоимость аренды нормального сервера — от 3 тыс. рублей в месяц. А вы не знали ;)?

2) Какой бы ерундой вы не занимались — 30-60% производительности (возможно и больше) PHP-кода решит правильно выбранный и настроенный акселератор.

3) Серебряной пули нет. Не важно, какой концепт вы применяете — строгое ООП (в стиле Zend Framework), функции в стиле PHP4 (или ограниченное ООП) или вообще лапшу в стиле «PHP для чайников» — ни одна из этих парадигм не даст ощутимый прирост производительности, если конечно ваши программисты не выше как минимум на голову.
Читать дальше →
Total votes 182: ↑154 and ↓28+126
Comments287

20 «НЕ» для веб-дизайнеров

Reading time6 min
Views12K

У каждого дизайнера есть ряд правил, которыми он руководствуется в своей работе. И нередко памятки, составленные из таких правил от опытных дизайнеров служат хорошим подспорьем для начинающих. Некоторое количество таких правил у меня есть тоже. Правда, они касаются того, чего НЕ следует делать при изготовлении макета. Некоторые могут показаться банальными и очевидными, другие даже вызовут у кого-то недоумение. Но мне они очень помогают и, я надеюсь, какие-то из них так же будут полезны тем, кто занимается веб-дизайном или желает приобщиться к этой области разработки сайтов.
Читать дальше →
Total votes 196: ↑152 and ↓44+108
Comments178

Создаем свой SVN сервер: 3$ и 30 минут

Reading time4 min
Views14K
Многих хабрачитателей иногда волнует вопрос хостинга SVN. В интернете полно вариантов захостить SVN репозиторий, с ценой порядка 10-15уе в месяц, но смущает одно: хостинг репозитория — намного более ответственное дело, нежели хостинг сайта. В коде — ваши «сверхценные идеи», от аптайма сервера и надежности бэкапов напрямую зависит работа вашего бизнеса. Некоторые выбирают все же хостить SVN в серьёзных компаниях. Хорошее сравнение по параметрам тут: http://www.svnhostingcomparison.com/, open-source кстати можно захостить в неплохом месте на букву G ;-).

Другие же, как и я, решают хостить SVN на своём VDS / Dedicated сервере. На этом вопросе я и остановлюсь, рассказав заодно немного о вариантах запуска/настройки svn сервера (в том числе относительно новых — шифрование/аутентификация SASL и хранение в FS). Выльеться все это вам в 3-4$/месяц, в полный контроль за бэкапами и доступом к серверу. Пожертвовать придется 30 минут драгоценного времени на настройку.

Целевая аудитория: начальный — средний уровень опыта работы с Linux.
PS. Я в курсе что FreeBSD is not Linux ;-)
Читать дальше →
Total votes 79: ↑73 and ↓6+67
Comments78

6 приложений для анализа жесткого диска в Linux

Reading time2 min
Views101K
imageВы недавно купили винт на терабайт, но при попытке установить новую программу появляется сообщение «Your disk is full». Знакомая ситуация?
При покупке жесткого диска, я обычно стараюсь взять самый большой, чтобы было где разместить всю коллекцию видео и музыки, а также была возможность устанавливать и тестировать любое ПО. Однако, я заметил, что независимо от того, насколько велик жесткий диск, свободное место на нем быстро заканчивается.Если у вас та же проблема, значит пришло время проанализировать загрузку жесткого диска, и удалить все лишнее.
Далее по тексту, несколько способов сделать это в Linux.
Читать дальше →
Total votes 68: ↑59 and ↓9+50
Comments58

JS Charts — генератор графиков и схем.

Reading time1 min
Views16K
image
JS Charts является бесплатным JavaScript-генератором графиков и схем, который требует минимум знаний программирования. С JS Charts рисование диаграмм становится простой и легкой задачей. Он не требует никаких дополнительных плагинов и серверных модулей. Просто подключите скрипты, подготовьте данные для схемы в XML или массиве JavaScript и ваша таблица готова.
Читать дальше →
Total votes 71: ↑66 and ↓5+61
Comments33

Sendmail-заглушка для Linux

Reading time2 min
Views38K
Не так давно встала задача, установить заглушку для sendmail, дабы письма из PHP не отсылались на ложные адреса (при тестинге) или просто не возникала ошибка, а складывались аккуратно в папку. Аналогично тому, как это делает Денвер.
Читать дальше →
Total votes 47: ↑43 and ↓4+39
Comments36

6-я Международная Встреча СтартАперов (25 января в Москве, клуб «Кельт»)

Reading time1 min
Views694
Приглашаем принять участие в 6й Международной неформальной встрече стартаперов, которая пройдет 25 января в 15:00 в клубе "Кельт".

Cписок проектов-участников 6й встречи:
toolwi.com — социальные виджеты для блогов
tyndr.ru — клуб любителей алкоголя
bubuki.ru — площадка для покупки/продажи подержанных ноутбуков
brandz.ru — рекомендательная социальная сеть
liveexpert.ru — онлайн консультации от экспертов
linkphone.ru — телефонный интернет-дискаунтер
ongezo.ru — сервис поиска работы по рекомендациям
kommandcore.com — сервис совместного управления проектами
moodbox.com — сервис совместного рисования
ya-ya.ru — первая реальная интернет-газета бесплатных объявлений
iqueen.ru — конкурс красоты

Читать далее о программе мероприятия и регистрации на встречу
Total votes 29: ↑23 and ↓6+17
Comments31

Оптимизация процесса создания unit-тестов

Reading time6 min
Views4.7K
Всем привет! Хабраюзер shai_xylyd написал статью про аспекты тестирования, где им были рассмотрены некоторые понятия и ценности TDD. В частности, он упомянул очень интересный способ создания первичных юнит-тестов — когда функциональный код пишется совместно с кодом юнит-теста, чем меня очень заинтриговал.

Дело в том, что я (как программист), нахожусь в состоянии переходного процесса между «классической» разработкой и разработкой test-driven, поэтому всякими способами ищу возможности упростить и сделать более естественной последнюю. После пары приседаний, сразу включиться в методику shai_xylyd не сумел. Начал переписку с автором статьи, где он натолкнул меня на мысль подойти к решению с математической точки зрения. Идея в том, чтобы воспользоваться функциональным пространством среды программирования и «разложить» написание юнит-теста на составляющие. После чего сделать выводы.
Немного математики, а потом пример
Total votes 22: ↑18 and ↓4+14
Comments17

CSS counters

Reading time7 min
Views34K

Одной из редко используемых возможностей CSS2.1 являются счетчики. Описаны они в разделе спецификации, посвященной генерации контента. Что же это такое?

Приведу пример из спецификации, эмулирующий обычный нумерованый список с помощью счетчика и свойства content:
OL { counter-reset: item }
LI { display: block }
LI:before { content: counter(item) ". "; counter-increment: item }

Первым правилом мы назначаем элементам OL счетчик с именем «item», затем для всех LI меняем значение свойства display на block, вместо значения по умолчанию (list-item), чем отключаем стандартные маркеры-цифры. Наконец, в последнем правиле, мы инкрементируем счетчик для каждого элемента списка, а само его значение показываем перед элементом c помощью функции counter() и свойства content. Всё просто.

Но это еще далеко не всё
Total votes 78: ↑77 and ↓1+76
Comments27

Топ 10 интернет проектов 2008 года по версии ReadWriteWeb

Reading time5 min
Views1.4K
ReadWriteWeb отобрал 10 проектов, сделанных за пределами США, которые, создают инновационные сервисы и поддерживают глобальные Web-стандарты. Составители чарта признают, что многие интересные проекты небыли упомянуты, но это произошло, потому что авторы небыли с ними знакомы. И они призывают рассказать об интересных проектах в комментариях к их статье, на сайте The New York Times. Я призываю вас в своих комментариях рассказать о российских проектах, способных конкурировать на глобальном рынке, на данный момент ни одной российской компании в чарте нет.
Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments28

Information

Rating
Does not participate
Location
Минская обл., Беларусь
Date of birth
Registered
Activity