Search
Write a publication
Pull to refresh
5
0
Андрей Иванов @ozware

User

Send message

На пути к созданию безопасного веб-ресурса. Часть 1 — серверное ПО

Reading time7 min
Views99K
Я уже довольно долгое время хочу формализовать все свои мысли, опыт, ежедневно применяемый на практике, и многое другое в одном месте и предоставить их общественности. Уверен, многим этот материал будет полезен. Он посвящен различным моментам в конфигурации серверного ПО Linux и безопасным подходам к созданию сайтов/приложений на php (все же это до сих пор одна из самых популярных связок, хоть её успешно и подвигают другие технологии. Но советы так же легко применимы и к веб-ресурсам на других технологиях).

Т.е. речь идет о типичной ситуации. Проект (стартап), купили под него сервер и разворачиваем на нем сайт. Бизнесу не нужно тратить лишних денег на сервера (поэтому будут выбраны наиболее производительные связки ПО), а так же нужно, чтобы все было безопасно, при чем бесплатно :)
Много текста. По-другому никак

Пускаем пыль в глаза или как получить больше заказов на разработку

Reading time6 min
Views64K
У большинства компаний и фрилансеров есть свое видение как нужно привлекать клиентов и конвертировать их в заказчиков. Некоторым это удается хорошо, некоторым хуже, но для многих это проблема, пусть даже сами они об этом неподозревают.



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

Лучшее в мире PHP за 2012 и дайджест интересных материалов за последние две недели №7 (15.12.2012 — 28.12.2012)

Reading time6 min
Views29K


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

Приятного чтения!
Читать дальше →

Hg Init: Часть 6. Архитектура репозиториев

Reading time5 min
Views30K
Это шестая, заключительная часть из серии Hg Init: Учебное пособие по Mercurial от Джоэля Спольски (Joel Spolsky). Предыдущие части:



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

Часть 6. Архитектура репозиториев



Наш рецепт становится все лучше:

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

Перенос сайта(ов) без простоя и потери данных между выделенными серверами

Reading time4 min
Views39K
Казалось бы, что сложного перенести сайт на другой сервер? Наверно многие из нас копировали свои первые хоумпейджи с хостинга на хостинг в поисках лучшего, еще учась в школе или на первых курсах университета. Или вешая на уши лапши руководству, объясняли, что задача эта не решается мгновенно и сайт сутки работать не будет, ибо DNS такая штука…

Если в целом, ерундовая задача, правда? Но как сделать все идеально? Так, чтобы без простоев, чтобы не было расхождений в БД, чтобы не потерялись какие-нибудь файлики-аватарки-картинки, когда обновляется DNS запись IN A и у половины пользователей старый сайт, а у половины новый. А если это highload? Или сайт делало несколько поколений «лучших» программистов, считающих своим долгом создать новое подключение к БД в своем «модуле» для сайта. Наконец, если таких сайтов >10?

  • Скопировать файлы
  • Сделать дамб баз данных
  • Развернуть на новом сервере
  • На старом сервере заменить все коннекты к бд к новому
  • Настроить DNS
  • ...

Сколько это займет времени? Сколько драгоценных минут сайт не будет работать\не будет работать правильно?
Читать дальше →

Подборка сервисов для расширения возможностей вашего Dropbox

Reading time1 min
Views80K
Сервис Dropbox любим многими хабровчанами, поэтому предагаю вашему вниманию подборку полезностей для работы с этим облачным сервисом.

Backup Box умеет синхронизировать разные облачные сервисы, а также делать бэкапы сайтов (FTP и MySQL).

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

HOWTO: свой бизнес в США из России

Reading time6 min
Views158K
    Наверняка многие из нас хоть раз думали про себя: «Черт побери, и везет же этим американцам!». Это касается многого, от магазинов с доставкой «только в пределах 48 континентальных штатов» до вполне серьезных контрактов, которые срываются только потому, что потенциальный заказчик в США категорически не желает иметь дело с иностранцами.

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

Плагин на jQuery для вывода рейтинга в виде звезд

Reading time5 min
Views53K
Все началось с того, что я решил изменить рейтинг для заметок на своем блоге.

Основной причиной смены рейтинга послужило то, что рейтинг выводился «целочисленными» звездами, ну максимум можно было вывести и половину звезды. Т. е. если рейтинг для статьи был 4.75, то надо было выводить либо 4.5 звезды либо 5, что меня не очень устраивало.

Поэтому было принято решение написать свой собственный плагин на jQuery для формирования рейтинга в виде звезд.

Основные требования к плагину:
  • Рейтинг должен был выводиться корректно, т. е. если у меня рейтинг был равен 4.78, то и количество закрашенных звезд должно быть соответствующим.
  • Возможность выбора эффекта при наведении курсора мыши на звезду. Это имеется ввиду то, какую оценку пользователь сможет выставлять. т. е. при наведение указателя мыши на звезды они должны были закрашиваться либо целыми звездами, либо по пол звезды, либо в абсолютных значениях следуя за указателем мыши
  • Возможность задания своих звезд
  • Возможность указать URL на который будет отправлен результат голосования
  • Возможность указать количество звезд выводимых в рейтинге
  • Автоматическое склонение результатов голосования. (Например: 1 голос, 2 голоса, 5 голосов)
  • Возможность задать свои существительные для результатов голосования
  • Возможность задавать минимальное значение рейтинга, ниже которого пользователь не сможет проголосовать
  • Возможность выполнить пользовательскую функцию, при клике на звезду


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

Тонкости при работе с иностранным заказчиком

Reading time5 min
Views96K
В соседней теме попросили рассказать о нюансах работы с зарубежными клиентами для ИП/ООО. Для физических лиц работа с нерезидентами ничем не отличается работы с резидентами.
Это скорее даже не статья, а заметка/памятка, но возможно кому-нибудь будет хоть немного полезна.

Регистрация счета


Предположим что вы закончили регистрацию ИП/ООО и открыли рублёвый расчетный счет.
Для того чтобы работать с валютой нужно открыть еще один расчетный счет — валютный. Это просто.
При открытии валютного счета вам создадут дополнительно технический транзитный счет. Его реквизиты и нужно сообщать заказчику.

Здесь мы встречаем потенциальный косяк номер раз: как и в случае с рублевым счетом нужно уведомить налоговую в недельный срок (штраф — 5000 рублей [1]). Затем не забыть уведомить и своё отделение ПФР в тот же срок, иначе опять же штраф, но уже меньше — 2000. Если вы зарегистрированы в ФСС, то нужно не забыть так же и их, всё аналогично случаю с ПФР. [2]

ООО нужно уведомить ПФР и ФСС только если есть работники. ИП — обязательно ПФР, но если есть или были работники, то и ФСС.

Некоторые госслужбы «не шарят» и пытаются оштрафовать если не уведомили о транзитном счете. Это противозаконно и легко решает даже в досудебном порядке, не говоря уже о суде. Заявлять нужно только об обычном счете, о транзитном — не нужно.

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

Тюнинг nginx

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

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

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

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

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

Стратегия оптимизации веб-проекта с использованием MySQL

Reading time5 min
Views8.3K

Введение


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

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

Если вы смогли определить, что это — ваш случай, и ваш проект на MySQL, то эта статья может вам помочь принять конкретные меры и исправлению ситуации с закреплением результата и предотвращением возникновения откровенных проблем с СУБД впоследствии.
Читать дальше →

Элегантный ротатор баннеров на jQuery

Reading time4 min
Views33K
Наверное каждый веб-мастер участвует в какой-либо партнерской программе и я не исключение. И для продвижения партнерских товаров все большей популярности набирают ротаторы баннеров. Пример такого ротатора Вы можете наблюдать на моем сайте в правом сайдбаре.

Обычно для того, чтобы разместить такой ротатор на своем сайте достаточно установить специальный javascript-код. Если разбираться глубже, то задачей этого javascript-а является встраивание на Вашу страницу специального iframe, который уже и загружает ротатор баннеров на Вашу страницу с сайта разработчика.

Все бы ничего, но у данного подхода есть несколько недостатков:
Читать дальше →

Простая GSM-сигнализация из подручных материалов

Level of difficultyEasy
Reading time3 min
Views134K
На днях к нам обратился старый знакомый. Он живет в частном доме и пару раз к нему пытались зайти без приглашения неизвестные личности. Назрела необходимость в установке сигнализации. Ставить дом на пульт оказалось слишком дорого. Оптимальным решением показалось просто оповещать хозяина звонком на мобильник при сработке одного из датчиков движения.


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

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

Reading time3 min
Views8.5K
Привет, Хабр.

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

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

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

17 простых советов для повышения продуктивности

Reading time3 min
Views33K
Эти советы — не очередная компиляция из книг и блогов, посвященных продуктивности. Каждый совет основан на моём личном опыте. На каждый совет я мог бы дать гарантию, если бы гарантия на советы была возможна в принципе.

Вступление окончено, переходим к советам!
Читать дальше →

Движки Shopping Cart. Сколько их? И как найти свой?

Reading time6 min
Views16K


Однажды поиски движка для интернет магазина завели меня на рессурс www.practicalecommerce.com
Где я прочел такую фразу: — Есть больше чем 350 движков онлайн-шоппинга. И каждую неделю мы обсуждаем один, беря интервью и у разработчика движка и у клиента…

Неужели так много? Подумал я. Да, на некоторых российских рессурсах зарегистрировано более 540 CMS. Но не все из них магазины, а большинство это самописные движки студий. А если брать только коробочные, то наберется всего около 30. Так где же сотни? И, что самое важное, не пропустил ли я самый лучший движок? Который где-то лежит, и ждет именно меня. И я решил найти эти самые сотни.
Достиг ли я своей цели, читайте дальше…
Читать дальше →

Pinba — мониторим php в реальном времени

Reading time4 min
Views58K
Как сказано на официальном сайте
Pinba is a realtime monitoring/statistics server for PHP using MySQL as a read-only interface.

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

Прочитать еще

История интернет-магазина, ставшего мировым монополистом за $5 000

Reading time10 min
Views86K
Прочитав много литературы по истории бизнеса и наблюдая рост популярности Интернет-торговли, автору этих строк хотелось реализовать свои знания на практике. Искали подходящую тему для проекта. Необходимыми условиями были:

1) Вложение не более $10 000
2) Прибыль не менее $1 000 в месяц
3) Минимальная рутина

По первым двум пунктам все понятно. А вот по третьему пункту поясню. К тому моменту я уже работал в собственной компании (сфера финансов). Это был 2009 год. Последствия кризиса еще сильно влияли на основной бизнес и работы было непочатый край. Много времени отвлекать на сторонний бизнес автор не мог.
Подходящий случай подвернулся в октябре 2009 года.
Читать дальше →

Создаём тему для Drupal 6. Часть 1

Reading time11 min
Views29K
image
По созданию тем для друпала в интернете можно найти несколько статей (хорошая статья, советую почитать), однако обычно всё заканчивается банальным набором шаблонов и инфо-файлом. В этом топике я постараюсь доступно рассказать как создать гибкую и не самую простую тему.

Начало


Для начала нам потребуется создать директорию в каталоге sites/all/themes с названием нашей темы. Я назвал тему mytheme и создал каталог sites/all/themes/mytheme.
В созданном каталоге создаем директории css — для стилей, js — для скриптов, images — для картинок, templates — для шаблонов, preprocess — об этом позже. Также создаем файл template.php в котором мы будем писать всю логику темы и mytheme.info для описания темы. Можно еще добавить favicon.ico и logo.png.
Читать дальше →

Психологическое манипулирование при разработке сайтов электронной коммерции

Reading time6 min
Views3.7K
Автор: Кристина Бьоран
Источник: www.uxbooth.com/blog/psychological-manipulation-in-ecommerce-design

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

В июле 2011 года в одном из выпусков интернет-издания Wired, профессор психологии и специалист в области поведенческой экономики, Дэн Ариели, опубликовал статью на тему психологических приемов, используемых сегодня несколькими крупнейшими веб-сайтами. В этой статье, которая называлась «Gamed» («Пойманные»), автор продемонстрировал, как такие сайты, как Amazon и Groupon, при помощи элементов дизайна стимулируют определенные сценарии поведения, направленные на осуществление покупки.

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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity