Как стать автором
Обновить
0
0
AlexKru @Eredel

Пользователь

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

HTML5 Video — от А до Я

Время на прочтение6 мин
Количество просмотров236K
Да, да, это очередная статья про html5 и тэг < video >. Но главным ее отличием будет то, что здесь будут рассмотрены самые базовые понятия и теории. Так что приготовились внимательно читать и записывать, let html5 rocks!
Читать дальше →
Всего голосов 57: ↑52 и ↓5+47
Комментарии26

Защита от DDOS атаки случайными аргументами при помощи Nginx

Время на прочтение1 мин
Количество просмотров3.4K
Я встретился с новым типом ботнета. Если старый долбил только в главную, то новый действует иначе. Он посылает множество запросов вида
GET someurl/?t1555ss5326=5326, где someurl — найденный ботом php скрипт.
Но если атакуемый сайт поддерживает ЧПУ, то такие запросы к нему должны отсутствовать в принципе. ЧПУ сейчас является стандартом де-факто, по этому можно смело отрезать такие запросы, логируя IP ботов.
Для этого очень удобен nginx, и его переменная is_args, которая имеет значение "?", если в URI идут аргументы. Базовая конструкция выглядит так:

if ($is_args = "?") {
return 403 444;
}

Очень просто и красиво, правда?
Вот как выглядит LA после включения этой защиты:
load average: 1.50, 3.09, 6.96
Текущий ботнет из ~20000 зомби, делают 5-8k одновременных запросов.
Всего голосов 94: ↑79 и ↓15+64
Комментарии55

Шаблонизация на стороне клиента — уже реальность

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

Предыстория


Я занимаюсь разработкой IFrame приложений для социальной сети ВКонтакте. Самый удобный способ навигации по приложению — это динамическая подгрузка данных, без перезагрузки всей страницы. Раньше я генерил html код который нужно отобразить на сервере, пока не встретил EJS — JavaScript Templates…

EJS — Embedded JavaScript


EJS оказался одним из самых удобных и подходящих мне шаблонизаторов. Он работает, как с одиночными переменными, так и с массивами (читай объектами), присутствует логика (if...else...).
Читать дальше →
Всего голосов 84: ↑76 и ↓8+68
Комментарии183

Балансировка нагрузки с LVS

Время на прочтение6 мин
Количество просмотров100K
Итак, у вас есть нагруженный сервер и вам вдруг захотелось его разгрузить. Вы поставили и залили такой же (такие же), но пользователи упорно ходят на первый. В этом случае конечно же нужно задуматься о балансировке нагрузки.

Читать дальше →
Всего голосов 77: ↑77 и ↓0+77
Комментарии50

Дешевые SMS для интересных проектов и хороших людей

Время на прочтение1 мин
Количество просмотров2.3K
Представляю вашему вниманию сервис для отправки SMS через HTTP/HTTPS API.

LittleSMS.ru

Для кого предназначен сервис?

  • Интернет-магазинам (уведомление о новом заказе).
  • Небольшим проектам с системой уведомлений по SMS.
  • Сисадминам (уведомления о состоянии сервисов, оборудования и т.п.).
  • Вам? Напишите, обсудим.
Читать дальше →
Всего голосов 123: ↑104 и ↓19+85
Комментарии119

Javascript: Visual Event

Время на прочтение1 мин
Количество просмотров8.9K
Отменнейшая JS библиотека, базированная на jQuery. Позволяет простым наведением мыши на объект увидеть все event'ы, которые на него повешены. Запускается через букмарклет.

Подробности на странице автора.

http://www.sprymedia.co.uk/article/Visual+Event

P.S. Я хотел разместить пост-ссылку, но хабру, видимо, не нравится плюс в URL…
Всего голосов 36: ↑31 и ↓5+26
Комментарии22

Экспорт Дней рождения из вКонтакте в Google Calendar

Время на прочтение3 мин
Количество просмотров41K
UPD: Скрипт устарел, он больше не работает и не поддерживается. Попробуйте использовать более новые аналоги, например вот этот.



Здравствуй, уважаемое хабрасообщество!
Сегодня я хочу поделиться с тобой одним, весьма полезным, на мой взгляд, скриптом. Если вам уже всё понятно из картинки для привлечения внимания, вот линк.

Читать дальше →
Всего голосов 125: ↑117 и ↓8+109
Комментарии94

Список команд чата Skype

Время на прочтение6 мин
Количество просмотров692K
...Skype — это дьявольски хитрая программа, написанная бесспорно талантливыми людьми...Крис Касперски

Доброго времени суток!

Skype сейчас я встречаю чаще на компьютерах чем другие IM клиенты, мне он практически заменил icq, вся рабочая переписка ведется в skype, но речь пойдет не о том, что лучше или популярней. Часто бывает так, что участвуешь сразу в нескольких чатах где количество участников превышает 10, что собственно и приводит к тому, что на рабочем столе и в трее постоянно обновляется количество новых сообщений, а также уведомления в виде всплывающих сообщений, а теперь представьте что у вас 3 окна чата с друзьями, 1 с вашим боссом, другой с девушкой — все это в сумме начинает запутывать, отвлекать и порой раздражать. Хотелось бы расставить приоритеты…

Раньше я чаще всего настраивал «политику» уведомлений только через глобальные настройки программы
Случилось так, что я узнал, что в каждом окне чата skype возможно использование команд, например /alertsoff отключит уведомления для конкретного окна чата, соответственно /alertson включит их обратно.
Поискав немного я наткнулся на некое how-to, оказывается у skype чата довольно много текстовых команд, подобие IRC команд. Далее я постарался попробовать все возможные из них на двух имеющихся у меня платформах, как оказалось не все и не везде работает… Прошу под кат.

Читать дальше →
Всего голосов 187: ↑174 и ↓13+161
Комментарии79

elFinder — файловый менеджер для сайта. Новый вкус

Время на прочтение3 мин
Количество просмотров3.9K
Некоторое время назад мы представляли уважаемой публике наши open source продукты для веб-разработчиков — редактор elRTE и файловый менеджер elFinder. После анонса мы получили немало отзывов и надо сказать были изрядно удивлены, что интерес к файловому менеджеру оказался заметно выше чем к редактору.

Мы почесали головы, свалили в одну кучу все безумные идеи о том, каким должен стать новый elFinder, просеяли их через сито основной концепции «минимально необходимый функционал», многократно пропустили через мясорубку кодинга, приправили новыми вкусными возможностями и долго томили в печи тестирования.

И сегодня с удовольствием от хорошо сделанной работы предлагаем попробовать наше фирменное блюдо elFinder!

elFinder

Читать дальше →
Всего голосов 134: ↑131 и ↓3+128
Комментарии129

Типовой шаблон технического задания на разработку сайта

Время на прочтение2 мин
Количество просмотров450K
ОФФТОП: Хочу выразить свою благодарность, всем кто плюсанул мой предыдущей пост и карму, это позволило мне пригласить на Хабр еще несколько хороших людей.

Во многих студиях нет единого формата ТЗ, у нас его тоже не было. Просмотрев множество различных форматов и ГОСТов, мы выбрали самые значимые пункты и разработали типовой шаблон ТЗ для нашей компании.
Возможно, это будет полезно и другим студиям, т.к. если мы все будем работать по единым стандартам плюсы очевидны как для студий, так и для заказчиков.

image
Читать дальше →
Всего голосов 90: ↑82 и ↓8+74
Комментарии48

Использование picasaweb в качестве фотохостинга

Время на прочтение5 мин
Количество просмотров6.6K
Нужно использовать много изображений на сайте? Не хочется забивать хостинг изображениями? Хочется уменьшить нагрузку на сервер?
Тогда можно использовать сервис от гугл picasaweb і Picasa API как хостинг для изображений

процесс загрузки фотографий на сервер
Читать дальше →
Всего голосов 82: ↑77 и ↓5+72
Комментарии78

О Робокассе наглядно

Время на прочтение4 мин
Количество просмотров94K
Вчера вечером добавил интерфейс взаимодействия с Робокассой в свою CMS.

Кратко о платежной системе


Робокасса — интегратор платежных систем. Она позволяет организовать прием платежей в пользу магазина через множество известных электронных валют (Webmoney, ВКонтакте, ЯндексДеньги, Деньги@Mail.Ru, RBK Money и другие), через терминалы оплаты ЭлексНет, и, самое главное — через SMS.

Доступно два варианта подключения — для юридических лиц и ИП, с выводом денег из системы на расчетный счет и для физических лиц с возможностью вывода в электронные валюты.
Читать дальше →
Всего голосов 49: ↑38 и ↓11+27
Комментарии48

Описание процесса переноса Ubuntu 9.10 на другой винчестер (без использования Ghost, Acronis True Image etc...)

Время на прочтение3 мин
Количество просмотров11K
Я думаю что у многих была такая ситуация когда, появляется необходимость перенести систему с одного винта на другой. Вот и у меня назрела такая необходимость.
И так имеем:

Установленную систему на диск объемом 80 Гб (второй канал SATA — sdb). На диске одна пратиция /deb/sdb1, swap у системы отсутствует.
Необходимо сделать:

перенести систему на другой винчестер объемом 320 Гб, подключенный на первый канал SATA (sda), создать и подключить на новом винчестере раздел подкачки swap, каталоги пользователей разместить так же на отдельном разделе.
Поехали:

Читать дальше →
Всего голосов 52: ↑39 и ↓13+26
Комментарии79

Учись говорить

Время на прочтение3 мин
Количество просмотров25K
В предыдущей статье я написал несколько советов, которые как мне кажется, могут помочь правильно задавать вопросы. Советы универсальны и подходят также для отвечающего, и для обучающего.

Однако, есть тонкость: пусть вы сформулировали все в голове очень точно, правильно подобрали слова. Осталось сказать. И вот тут то часто кроется коварный враг — наш, как говорят профессионалы ораторского искусства, речевой аппарат.

Признайтесь себе, только не лукавьте: бывали ли у вас случаи, когда какой-нибудь «лохоманагер» со школьной скамьи пренебрежительно отзывался о вас как о скованном, нелюдимом человеке или «умнике» себе на уме? Да кто он такой? Что он может — только языком молоть… Стоп!

Читать дальше →
Всего голосов 125: ↑118 и ↓7+111
Комментарии76

А вы готовы перейти на Google Chrome? — 30 незаменимых расширений для Хрома

Время на прочтение7 мин
Количество просмотров25K
Chrome
На протяжении уже 5-6 лет я использую только Firefox и никогда не думал, что захочу выбрать что-то другое. Firefox — отличный браузер, а делают его таковым все те тысячи расширений, которые каждый может скачать бесплатно. Можно найти расширение для чего угодно. Есть лишь один существенный недостаток — Firefox значительно медленнее, чем Chrome и сжирает больше ресурсов компьютера, чем остальные браузеры.

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

В этой статье я попытаюсь ответить на вопрос — могут ли дизайнеры, веб-разработчики, SMO-шники, SEO-оптимизаторы безболезненно перейти на Chrome. Есть ли расширения, которые могут послужить равноценной заменой на Хроме таким вещам как: Firebug, Webdeveloper, Color Picker, SEO для Firefox, Alexa Ranks, средства для отладки?
А далее 30 полезных расширений
Всего голосов 262: ↑212 и ↓50+162
Комментарии321

phpDaemon — фреймворк асинхронных приложений

Время на прочтение6 мин
Количество просмотров44K
Сегодня речь пойдет о phpDaemon — асинхронном модульном демоне-фреймворке, который берёт на себя обработку I/O (libevent) и другие низкоуровневые задачи, присущие демонам. С его помощью легко писать правильные сетевые приложения с блэкджеком и шлюхами.
Из коробки идут сервера FastCGI, HTTP, CGI, FlashPolicy, Telnet, WebSocket (!) — да-да тот самый волшебный пендаль новый протокол от Google. И клиенты mysql, memcached, mongodb… И многое другое, полный список под катом. Работать с сетью действительно просто. Программист средней руки может написать, к примеру, IRC-бота за считанные часы.
В качестве наглядного примера я реализовал вот этот чат на phpDaemon + WebSocket + MongoDB + jQuery. Он наглядно демонстрирует преимущества этой технологии: доставка сообщений мгновенна, накладные расходы при обмене данными минимальны, высока производительность, приложение масштабируется горизонтально. Исходники этого чата (в данный момент 17 кб). Прошу заметить, чат тестировался и работает в Chrome, FF, IE6+, Iron, Safari.
Читать дальше →
Всего голосов 114: ↑99 и ↓15+84
Комментарии103

Realplexor: производительный Comet-сервер с API для PHP и Javascript (realtime)

Время на прочтение5 мин
Количество просмотров20K
Dklab Realplexor — это Comet-сервер, позволяющий держать одновремено сотни тысяч долгоживущих открытых HTTP-соединений с браузерами пользователей. JavaScript-код, запущенный в браузере, подписывается на один или несколько каналов Realplexor-а и вешает обработчик на поступление данных. Сервер может в любой момент записать сообщение в один из таких каналов, и оно будет моментально передано всем подписчикам (хоть одному, хоть тысяче), в режиме реального времени и с минимальной нагрузкой для сервера.

Хотя идейным вдохновителем Realplexor-а был предыдущий проект, dklab_multiplexor, код Realplexor-а не имеет с ним практически ничего общего. Поэтому я и решил сменить название. Несопоставимы также возможности продуктов (см. ниже), да и размер кода увеличился в 7 раз.

Realtime-направление сейчас довольно активно развивается на Западе, и в нем особенно выделяется продукт Tornado — событийно-ориентированный веб-сервер на языке Python. Правда, Tornado — это не столько Comet-сервер, сколько инструмент, с помощью которого можно запрограммировать «в том числе» и Comet-сервер. Ключевые слова: Comet, Push Server, Long polling, JavaScript, XMLHttpRequest.

Главные преимущества Realplexor-а:
  • простота использования: наличие API для JavaScript, API для PHP (в будущем — и для других языков);
  • простота конфигурирования;
  • широкий функционал (либо отстутствующий, либо недоступный напрямую в аналогах).

Лучше один раз увидеть...


Я сделал отдельную онлайн-песочницу, чтобы продемонстрировать функционал нового Realplexor-а и то, для чего вообще нужны Comet-серверы (кстати, это физически тот же самый демон Realplexor-а, что использует мой новый стартап РуТвит). Песочница реализует что-то типа многоканального чата: зайдя, вы получите как будто бы 2 независимых «браузера», запущенных на разных компьютерах.
  • Верхний «браузер» отображает каналы — в них моментально появляются новые сообщения, как только кто-то их туда отправляет на стороне сервера. Конечно же, эту страницу могут просматривать одновременно сотни тысяч пользователей, и они все будут видеть одно и то же (реализовано с использованием Realplexor JavaScript API). Можно «на лету» добавлять новые каналы (подписка) или скрывать уже имеющиеся (отписка).
  • Нижний браузер содержит формы, позволяющие добавлять сообщение в произвольный канал, указав его имя. Форма AJAX-ом отправляется на сервер, и уже там PHP-скрипт записывает в Realplexor полученный текст через PHP API. (И да, так можно чатиться.)
По умолчанию на странице открыто 3 канала с именами Alpha, Beta и RuTvit. Но, конечно, вы можете закрыть эти каналы и открыть новые. Вот, например, страница с единственным открытым каналом по имени Habrahabr: http://rutvit.ru/realplexor/demo?ids=Habrahabr.



Песочница демонстрирует следующие функции Realplexor-а:
Читать дальше →
Всего голосов 99: ↑92 и ↓7+85
Комментарии141

Пишем свою реализацию сессий для обработки мертвой сессии перед зачисткой

Время на прочтение3 мин
Количество просмотров5K
Мой первый хабратопик, надеюсь, что не последний.

Представим ситуацию: есть корзина покупок на сайте, при добавлении в корзину мы ставим на товар т.н. lock, исключающий его из списка доступных для покупки товаров. Когда клиент удаляет товар из корзины — lock снимается. Но что делать, если пользователь просто закрыл браузер? В таком случае сессия будет удалена сборщиком мусора, а локи так и останутся.

Когда я столкнулся с такой ситуацией, первое что мне пришло в голову — хранить локи и дату доступа в БД и периодически дергать её кроном. Но костыльность этого решения очевидна. А вот ещё бред, с которым я столкнулся при решении сабжа: для сериализации и десереализации сессий используются функции и формат, отличные от функций serialize и unserialize. Приходится делать велосипеды для ансериализации сессии.

Ближе к телу: как решил проблему я…
Читать дальше →
Всего голосов 56: ↑35 и ↓21+14
Комментарии53

Инструменты для обслуживания сайта работающего на Php и MySql

Время на прочтение3 мин
Количество просмотров6.5K
Почти каждый посещающий habrahabr человек, хоть раз устанавливал CMS или переносил уже установленную систему. В большинстве случаев это работа по переносу файлов, базы данных, а так же правка конфигурационных файлов. В сети огромное количество хостинговых компаний, которые предоставляют услуги по размещению сайтов на своих серверах, но далеко не все имеют минимальный набор инструментов, позволяющий с комфортом и высокой скоростью, без лишних эмоций перенести или проделать штатные операции с сайтом. В статье пойдет речь о следующих скриптах и программах: PhpMyAdmin, Adminer, Joomla System Tool, e-texteditor, Total Commander, WinSCP, PuTTY, Sypex Dumper, PHP Unzipper.
Читать дальше →
Всего голосов 78: ↑44 и ↓34+10
Комментарии61

Информация

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