Как стать автором
Обновить
Антон П @roodzread⁠-⁠only

Веб-разработчик: PHP, Laravel, Vue.js

Отправить сообщение

nginx — настройка фронтенда к ~username — public_html

Время на прочтение2 мин
Количество просмотров4.4K
Конечно понимаю, что это может быть и не нужно никому, коль не нашел должного решения на просторах Интернета. Однако раньше, когда компьютеры были большими, а мы маленькими, были популярны так называемые домашние странички. У гордого индейца даже модуль под это дело есть — userdir.
Недавно (июнь, 2009) решил индейца загнать в бекенд, а фронтендом настроить nginx. Так вот готового решения для организации фронтенда для nginx'а не обнаружил. Недолго думая, почесал подбородок и накатал следующую конфигурацию к nginx'у. Представьте испытанное мною счастье когда это заработало.
Итак, задача заставить в фронтенде отдавать содержимое из хомдира пользователя — /home/user/public_html. Запрос к которому в браузере выглядит как site.name/~user:
Читать дальше →
Всего голосов 39: ↑27 и ↓12+15
Комментарии50

Про ввод еще знают, а вот про переводы и вывод – смутно

Время на прочтение2 мин
Количество просмотров16K
Многие Российские пользователя Хабра уже знакомы с «Личным Кабинетом QIWI» и знают о том, что пополнить электронный на сумму от 500 рублей кошелек в системе можно в терминалах QIWI без процентов. Знают и том, что большинство платежей, за самые популярные услуги так же идут без процентов. Система развивается, 19 декабря подключился Яндекс.Директ — оплата контекста без процентов.

Меньше информации о том, что внутри с переводами между пользователями и выводом денег из системы.
Читать дальше →
Всего голосов 47: ↑36 и ↓11+25
Комментарии144

Визуализация данных в вебе: диаграммы Ганта

Время на прочтение1 мин
Количество просмотров22K
В связи с недавней серией постов на тему визуализации данных в вебе меня попросили посоветовать библиотеки для рисования диаграмм Ганта, что с удовольствием и делаю.

Диаграмма Ганта (англ. Gantt chart, также ленточная диаграмма, график Ганта) — это популярный тип столбчатых диаграмм, который используется для иллюстрации плана, графика работ по какому-либо проекту. Является одним из методов планирования проектов.

Читать дальше →
Всего голосов 40: ↑39 и ↓1+38
Комментарии38

Список Javascript библиотек для рисования графиков и диаграмм

Время на прочтение1 мин
Количество просмотров22K
О визуализация графов в вебе говорили здесь, навеяно этой статьей.

Под катом обзор JavaScript библиотек для рисования графов, диаграмм и прочей красоты.
Читать дальше →
Всего голосов 93: ↑89 и ↓4+85
Комментарии36

Highcharts: Красивые, динамические чарты за 5 минут!

Время на прочтение2 мин
Количество просмотров65K
image
Highcharts — библиотека для создания чартов написанная на JavaScript, позволяет легко добавлять интерактивные, анимированные графики на сайт или в веб-приложение. На данный момент чарты поддерживают большое количество диаграмм линейных, круговых, колоночных рассеивающих и многих других типов.

Чарты работают со всеми популярными браузерами, включая Safari на iPhone.
Минимальная версия для IE составляет 6+. Также браузеры поддерживающие Canvas элемент, и в некоторых случаях SVG для графического рендеринга.
Читать дальше →
Всего голосов 139: ↑132 и ↓7+125
Комментарии49

nginx + apache. Кеширование

Время на прочтение4 мин
Количество просмотров20K
Привет, %username%
Тут я хочу рассказать о том, как я настраивал кеширование на одном сервере, точнее VDS. Характеристики сервера: 2000MHz, 2GB RAM, 80Gb HDD, технология виртуализации — OpenVZ.
Было решено использовать Nginx версии 0.7.64. На сервере находилось около 200 сайтов. И несколько высоко нагруженных проектов. Вот эти самые проекты и давали ощутимые тормоза и нагрузку на сервер. Мы будем рассматривать DLE в этом примере.
Читать дальше →
Всего голосов 79: ↑66 и ↓13+53
Комментарии38

Новогодний подарок хостерам: Как разместить на сервере 10000 клиентов или даже больше

Время на прочтение4 мин
Количество просмотров1.6K
image

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

Следует отметить, что под клиентом воспринимается обычный аккаунт на LAMP (Linux+Apache+Mysql+PHP), с одним-двумя виртхостами и работающим со всеми опциями php.ini по умолчанию. Основное — это 16MB RAM и 30 сек исполнения. Вполне достаточно для большинства движков — Wordpress, Drupal и Joomla.
Читать дальше →
Всего голосов 102: ↑83 и ↓19+64
Комментарии169

Триграммный индекс или «Поиск с опечатками»

Время на прочтение4 мин
Количество просмотров34K
Как-то по долгу службы появилась необходимость добавить к поиску на сайте всем известную фичу, сервис «Возможно вы имели в виду…» или «Поиск с опечатками». Стали думать как реализовывать. Сторонние сервисы и api использовать не хотелось, ибо время до чужого сервера и назад, да и в целом не очень хорошо. Как раз кстати пришелся модуль pg_trgm, который ищет близкие к запросу слову на основе триграммного индекса.

Итак, идея есть, надо реализовывать.
Всего голосов 49: ↑47 и ↓2+45
Комментарии28

Привычки успешных фрилансеров на онлайн-биржах

Время на прочтение4 мин
Количество просмотров2.4K
Тут в одном из постов было упомянуто, что русские фрилансеры не могут тягаться с зарубежными (имеется ввиду работа на фрилансерских сайтах). Я успел поиграть за обе стороны и на зарубежных сайтах, и на российских. После чего сделал небольшую подборку наблюдений.
Читать дальше →
Всего голосов 71: ↑55 и ↓16+39
Комментарии61

Как я подключался к QIWI

Время на прочтение6 мин
Количество просмотров34K

Зачем мне это было нужно?


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

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

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

Сказано – сделано!


Для сайта был взят вполне заурядный VDS, на котором собран вполне заурядный же серверный набор – nginx спереди, Apache позади.

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

Для работы с SOAP проще всего взять с гуглокода класс nuSOAP (http://code.google.com/p/nusoap-for-php5/).

Затем нам надо сделать две вещи:
  1. Отправку на сервер QIWI информации о попытке платежа
  2. Прием от QIWI на наш сервер пакета с информацией об изменении статуса платежа.

Документация, жаль, что не очень подробная, есть здесь: https://ishop.qiwi.ru/docs/OnlineStores_Protocols_SOAP.pdf
Читать дальше →
Всего голосов 71: ↑67 и ↓4+63
Комментарии56

Бинарное обновление FreeBSD 6.2 до 8.0

Время на прочтение8 мин
Количество просмотров14K
Года два назад я поднимал знакокому сервер для трекера местной локалки. Вопрос выбора ОС не стоял в принципе, естественно FreeBSD, а версия была взята актуальная на тот момент — 6.2 i386. Но вот состоялся релиз FreeBSD 8.0, и я решил попробовать обновиться до 8-й версии на этом сервере, все равно трекер уже полмесяца не работал из-за битой базы при очередном внезапном отключении питания, а за сервером никто не следил, поэтому пару часов даунтайма никому не помешают.
Читать дальше →
Всего голосов 77: ↑72 и ↓5+67
Комментарии34

Безопасность при межпроектном взаимодействии

Время на прочтение15 мин
Количество просмотров5.3K

Введение


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

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

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

Защита (или отсутствие защиты) от различных типов атак демонстрируется на примере протоколов популярных сегодня систем: Assist, Cyberplat, WebMoney, ChronoPay, Robokassa и PayPal (платёжные системы), а также OpenID, OpenAuth, OAuth (децентрализованная аутентификация).
Читать дальше →
Всего голосов 31: ↑27 и ↓4+23
Комментарии28

Ресайз изображений на лету

Время на прочтение9 мин
Количество просмотров19K
Практически в любом веб-приложении использующем изображения существует потребность формировать уменьшенные копии этих изображений, причем зачастую, форматов дополнительных изображений несколько.
Так же вызывает некоторую головную боль добавление новых размеров на существующем приложении. Отсюда задача:
Читать дальше →
Всего голосов 73: ↑69 и ↓4+65
Комментарии65

jQuery.keyboard v0.2.0

Время на прочтение4 мин
Количество просмотров5.6K

Снова приветствую Хабрасообщество. Недельку назад я выкладывал свою либу jQuery.keyboard. Там было несколько недостатков, нереализованных идей, да и огромное количество предложений и положительных отзывов побудили меня к быстрому написанию новой версии
Читать дальше →
Всего голосов 85: ↑74 и ↓11+63
Комментарии59

jQuery.Tree

Время на прочтение2 мин
Количество просмотров24K
Товарищ caffeine искал плагин к jQuery, который делает дерево с чекбоксами, которые имеют три состояния — установленный, снятый и «чуть-чуть установленный». Не нашел, попросил меня написать. Я написал и делюсь со всеми желающими.
Ой, как интересно
Всего голосов 72: ↑67 и ↓5+62
Комментарии59

Нагрузочное тестирование «по-быстренькому»

Время на прочтение3 мин
Количество просмотров210K
Может кому будет интересно как «по-быстрому» провести нагрузочное тестирование своего веб-приложения.
Подробности под катом
Читать дальше →
Всего голосов 86: ↑82 и ↓4+78
Комментарии40

10 способов побороть проблемы в IE6

Время на прочтение3 мин
Количество просмотров2.6K

1. Используйте DOCTYPE


Лучше всегда прописывать доктайп в заголовке каждой html-страницы, причем, строгий режим рекомендуется:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

для XHTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

от себя добавлю, что недопускайте никаких сторонних символов перед доктайпом. Ни пробелов, ни переносов строки — иначе появятся странные поля у body и html
Читать дальше →
Всего голосов 133: ↑88 и ↓45+43
Комментарии100

Исправляем критическую уязвимость на FreeBSD в 4 шага

Время на прочтение1 мин
Количество просмотров849
Наверное многие наслышаны об очень серьёзной уязвимости во FreeBSD (с 7.1 по 8.0), позволяющей получить root-доступ с под обычного пользователя (локально).
Ссылок на эксплоит выкладывать не буду, с целью чтобы было поменьше вредителей, но эксплоит только что собственноручно проверял и убедился в его работоспособности.

Дожидаться пока исправления включат в дерево cvs/svn у меня особого желания нет, да и систему вновь всю пересобирать как-то не очень тянет. Потому, предлагаю вашему вниманию более простой, но такой же эффективный способ исправления проблемы в четыре строчки:

% cd /usr/src/libexec/rtld-elf/
% fetch http://people.freebsd.org/~cperciva/rtld.patch
% cat rtld.patch | patch -p1
% make && make install && make clean

Всех благ!
Всего голосов 48: ↑41 и ↓7+34
Комментарии31

Набор сниппетов для работы c jQuery

Время на прочтение1 мин
Количество просмотров1.3K
Сниппеты — это инструмент Visual Studio, который позволяет быстро набирать рутинный код. Нажав Ctrl+K, Ctrl+X в редакторе вы получите список сниппетов, после выбора которых в редакторе появится кусочек необходимого кода. Есть еще более простой способ вызвать сниппет — набрать сокращенное наименование и нажать TAB.

Ранее сниппеты были доступны только для редактора кода C#/VB, но в Visual Studio 2010 появилась возможность создавать сниппеты и для HTML/ASPX-страниц (в комплекте идет масса стандартных сниппетов).

Вчера блоггер John Sheehan сообщил в своем блоге, что он выпустил сниппеты для работы с jQuery. Его набор включает более 100 сниппетов на самые разные случаи жизни: от простого внедрения ссылки на скрипт jQuery, до работы с анимацией и Ajax.

image

Этот крайне полезный набор можно скачать со страницы на Codeplex. В архиве пакет с установщиком, который автоматически интегрирует сниппеты в вашу Visual Studio 2010. Ознакомится со списком сниппетов можно там же, на странице документации.
Всего голосов 24: ↑18 и ↓6+12
Комментарии6

Чего стоит смена интерфейса?

Время на прочтение2 мин
Количество просмотров2K
Заказчик хочет изменить дизайн. Допустим, даже уже готова вёрстка. Сколько стоит её натянуть? Ну, по столько-то часов на страницу, и накинем ещё по столько то в уме на риски…

— А что там делать? Всё ведь уже готово! Всего то, вёрстку натянуть — Знакомые слова?
А вот ещё одна фраза, модная среди некоторых «руководителей-теоретиков»:
— Смена дизайна, это не более 30% времени всего проекта!

Вот только почему практика расходится с теорией?

А что вы обычно отвечаете? Я обычно говорю:
— Эмм… Ну… Ведь неизвестно, что именно изменилось, возможно, это затронет не только шаблоны.

Только что-то надоело оправдываться. А давайте попробуем разобраться.
Читать дальше →
Всего голосов 77: ↑66 и ↓11+55
Комментарии54

Информация

В рейтинге
Не участвует
Откуда
Нижний Новгород, Нижегородская обл., Россия
Дата рождения
Зарегистрирован
Активность