Pull to refresh
0
mif @mifkysread⁠-⁠only

Администратор баз данных

Send message

Родина, верни мои деньги! Налоговые вычеты

Reading time9 min
Views41K
Недавно у Эльбы вышло обновление, в котором появилась возможность сдать справки 2-НДФЛ за своих работников в налоговую. К нам тут же посыпалась куча испуганных возгласов от предпринимателей: «Что это еще за 2-НДФЛ? Когда сдавать? Почему я про это не знаю? Достали уже эти чиновники». И мы поняли, что немного испугали народ.

Ребята! Все окей — 2-НДФЛ сдается только за ваших сотрудников :)

Но подумав о наемных работниках, мы вспомнили, что не все фрилансеры стали акулами бизнеса и многим была очень интересна тема — как обычному трудяге можно законно изъять отданный государству подоходный налог. Мы решили отойти от своей ПроБизнес-тематики и просветить желающих: сегодня мы раскроем магию налоговых вычетов по НДФЛ.

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

Как выбрать помещение для интернет-магазина в реале

Reading time7 min
Views34K
Маркетинг магазина в реале начинается с выбора места. Есть два пути решения задачи: так называемый «жоп-филинг», то есть интуитивное принятие решения и продуманный просчёт.

Общая задача такая:
  • Есть интернет-магазин, нужна точка в реале;
  • Место должно способствовать наибольшей прибыли точки как отдельного розничного магазина;
  • И хорошо работать как пункт самовывоза интернет-магазина.
Читать дальше →

apache+nginx+gzip_static+yuicompressor

Reading time6 min
Views15K
В этой статье я опишу принципиальные различия Apache и Nginx, архитектуру фронтэнд-бэкэнд, установку Apache в качестве бэкэнда и Nginx в качестве фронтэнда. А также опишу технологию, позволяющую ускорить работу веб-сервера: gzip_static+yuicompressor.
Читать дальше →

Настоящее скругление углов картинок на клиенте

Reading time3 min
Views27K
О скруглении углов в html-верстке сказано уже столько, что я пойму тех кто прочитав заголовок иронично улыбнется и подумает «опять 25, ну сколько можно...». Поэтому я постараюсь кратко изложить суть, и сразу предупрежу, что этот метод вы едва ли могли видеть раньше.
Читать дальше →

Гид умного интернет-покупателя

Reading time4 min
Views8.8K
Гид умного покупателяРазнообразие Интернет-магазинов крайне велико — даже в России, а в странах Запада — и подавно. Покупка в западных магазинах привлекательна по двум причинам: часто это позволяет сэкономить, а иногда это вообще единственный способ купить товар. Чтобы приобрести нужный товар нет никакой необходимости посвящать дни и недели самостоятельному прочесыванию сайтов этих магазинов, выбору оптимального варианта и мучениям, связанным с тем, что не все магазины хотят принимать карточки российских банков и уж тем более доставлять свои товары в Россию. Покупку можно сделать за несколько минут и всего в два этапа — сначала выбрать товар и магазин при помощи специализированных сервисов выбора (аналогичных привычным россиянам Price.ru и Яндекс.Маркету) и потом, не задумываясь об оплате и доставке, осуществить заказ посредством сервиса EbayToday.ru, который работает не только с интернет-аукционом eBay, но и почти с любыми американскими и британскими интернет-магазинами.

Тем не менее, первый и главный пункт — выбор магазина и, возможно, собственно товара — иногда нам нужна не конкретная модель, а просто «цветной лазерный принтер, работающий по Wi-Fi». И тут в помощь придет несколько сервисов, которые будут подробно рассмотрены ниже. Все сервисы мы пропустили через два теста — через покупку мужских кварцевых часов фирмы Casio неопределенной модели и смартфона Google Nexus One. В первом случае проверялась способность сервиса к качественной навигации по продуктовым линейкам, во втором — к хорошей обработке конкретного запроса.
Вот что у нас получилось

Настройка резервного копирования Linux-сервера за 5 минут

Reading time3 min
Views66K
Передо мной возникла необходимость настроить резервное копирование на новом Linux-сервере, задачка эта оочень важная, но уж больно скучная: нужно написать и отладить скрипты, которые будут архивировать нужные папки (причем желательно делать инкрементальные архивы), базы данных, хранилища subversion, а затем переносить эти архивы на удаленный сервер. По этому я попробовал нагуглить готовое решение для этой задачки и в результате наткнулся на backup-manager — замечательный опенсорсный набор bash-скриптов, позволяющих:
  • архивировать любые папки, в том числе и создавать инкрементальные архивы. В конфиге просто указывается список директорий, которые должны быть скопированы, а также «черный список» файлов, которые копироваться не будут.
  • делать резервное копирование баз данных MySQL. В конфиге указываются логин и пароль mysql-юзера, имеющего доступ к базам, а всю остальную работу backup-manager делает сам.
  • делать резервное копирование svn-репозиториев, причем бэкап делается не копированием папки с хранилищем, а с помощью команды svnadmin dump.
  • шифровать архивы.
  • копировать созданные архивы на удаленные сервера по FTP, SSH или (это самая важная для меня фича) в хранилище Amazon S3, а также записывать их на DVD.

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

Простой и эффективный метод отразить 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 time1 min
Views164K
Прошелся по закладкам и образовалась такая толстенькая подборочка ресурсов с бесплатными и качественными иконками, с которой спешу поделиться с тобой %username%!

Iconfinder


image


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

Собираем тихий и вместительный домашний сервер

Reading time5 min
Views68K
image
Задача: собрать малогабаритный домашний сервер с четырьмя 3,5-дюймовыми HDD, по возможности тихий. Служить будет в качестве NAS, backup-сервера и торрентокачалки.

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

Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое

Reading time16 min
Views40K
Нравится мне эта картинка, у меня, вот никогда такие красивые графики в какти не получались =(

Введение


С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.
Статья большая, так что будет поделена на логические блоки:

0. Зачем вообще что-то оптимизировать?
  
1. Оптимизация ОС (FreeBSD)
  1.1 Переход на 7.х 
  1.2 Переход на 7.2
  1.3 Переход на amd64
  1.4 Разгрузка сетевой подсистемы
  1.5 FreeBSD и большое кол-во файлов
  1.6 Softupdates, gjournal и mount options
  
2. Оптимизация фронтенда (nginx)
  2.1 Accept Filters
  2.2 Кеширование
  2.3 AIO
  
3. Оптимизация бэкенда
  3.1 APC
  3.1.1 APC locking
  3.1.2 APC hints
  3.1.3 APC fragmentation
  3.2 PHP 5.3
  
4. Оптимизация базы данных
  4.1 MySQL 
  4.1.1 Переход на 5.1
  4.1.2 Переход на InnoDB
  4.1.3 Встроеный кеш MySQL - Query Cache
  4.1.4 Индексы
  
4.2 PostgreSQL
  4.2.1 Индексы
  4.2.2 pgBouncer и другие.
  4.2.3 pgFouine
  
4.3 Разгрузка базы данных
  4.3.1 SphinxQL
  4.3.2 Не-RDBMS хранилище
  4.4 Кодировки
  4.5 Асинхронность
  
Приложение. Мелочи.
  1. SSHGuard или альтернатива.
  2. xtrabackup
  3. Перенос почты на другой хост
  4. Интеграция со сторонним ПО
  5. Мониторинг
  
 6. Минусы оптимизации

Кому что-нибудь из этого списка интересно, жмём сюда...

8 полезных регэкспов с наглядным разбором

Reading time2 min
Views274K
О мощи и гибкости регулярных выражений написано много, и их использование давно уже является стандартом для различного рода операций над текстом. Пожалуй, чаще всего регэкспы работают при валидации вводимых данных — здесь им практически нет альтернативы, если не считать громоздкий циклический разбор с кучей неочевидных проверок. Начнём с самого простого:

1. Часть ЧПУ (человекопонятный URL)


По сути, слово с дефисами.

Паттерн: /^[a-z0-9-]+$/
short_url

Примеры посерьёзнее

Защита пользователей почтового сервера от спаммеров — несколько шагов, которые помогут вам отослать спаммеров подальше

Reading time6 min
Views28K
image

Здравствуйте, Хабровчане!

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

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

Установка Web Optimizer версии 0.5

Reading time4 min
Views746
Не так давно вышла версия 0.5 (RC3) приложения для автоматического ускорения сайтов — Web Optimizer. Поскольку с момента написания предыдущего руководства по установке прошло уже три месяца, интерфейс и логика работы приложения существенно изменились (стали проще и нагляднее), то стоит осветить процесс установки еще раз, в новом виде и с новыми подробностями.

Шаг 1: загрузка архива


Web Optimizer поставляется в двух вариантах: ZIP-архив и мини-установщик. Для загрузки первого варианта идем по адресу code.google.com/p/web-optimizator/downloads/list и выбираем Featured версию 0.5 или выше.
Читать дальше →

Настройка и использование Web Optimizer

Reading time10 min
Views1.4K
Загрузить Web OptimizerПока выпуск версии 0.5 веб-приложения, автоматизирующего клиентскую оптимизацию для PHP-сайтов, отодвигается на некоторое неопределенное время, мы решили подготовить небольшой обзор текущих настроек и возможностей приложения.

Особенности работы


Web Optimizer перехватывает выводимый HTML-документ и преобразовывает его к оптимальному виду. В частности, анализируется вся секция head на предмет CSS- и JavaScript-файлов, также при существовании статических хостов изображения распределяются по ним (меняются адреса у изображений), а блоки с рекламой и счетчиками переносятся перед </body> (опять-таки только при включении соответствующей настройки). Также HTML подвергается минимизации (удаляются лишние переводы строк и отступы, могут удаляться комментарии и вообще все лишние символы, но это ресурсоемкие операции, и по умолчанию они выключены).

Загрузить приложение
code.google.com/p/web-optimizator/downloads/list
Читать дальше →

10 приемов, разрушающих хрупкую красоту кода

Reading time19 min
Views102K
Статья приводится в сокращении из-за ограничения на объем материала.

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

Последние несколько лет я собирал приемы программирования, разрушающие в программном коде его утонченную красоту:
  1. Объявление всех переменных в начале программы;
  2. Возврат результата функции через ее параметр;
  3. Отсутствие локальных функций;
  4. Отсутствие else if;
  5. Использование параллельных массивов;
  6. Хранение размера массива в отдельной переменной;
  7. Доступ к свойствам объекта через obj.getProperty() и obj.setProperty(value);
  8. Использование рекурсии для вычисления факториалов и Чисел Фибоначчи;
  9. Отсутствие именованных параметров функции;
  10. Невозможность объявления объектов «на лету».
Наверняка, в некоторых местах вы будете со мной несогласны — ведь чувство красоты у всех разное.


Объявление всех переменных в начале программы


В двух словах:

Переменные должны объявляться в начале логического блока, в котором они используются, а НЕ в начале функции или программы.


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

Тюнинг nginx

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

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

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

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

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

Оптимизация MySQL запросов

Reading time4 min
Views126K
В повседневной работе приходится сталкиваться с довольно однотипными ошибками при написании запросов.

В этой статье хотелось бы привести примеры того, как НЕ надо писать запросы.
Читать дальше →

Information

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