Pull to refresh
49
0
Андрей Буров @BuriK666

User

Send message

Миллион одновременных соединений на Node.js

Reading time9 min
Views104K


TL;DR:


  • Node.js v0.8 позволяет обрабатывать 1 млн одновременных HTTP Comet соединений на Intel Core i7 Quad/16 Gb RAM практически без дополнительных настроек.
  • На 1 соединение тратится чуть больше 10 Kb памяти (4.1 Kb Javascript Heap + 2.2 Kb Node.js Native + 3.8 Kb Kernel)..
  • V8 Garbage Collector не рассчитан на управление > ~500Mb памяти. При превышении нужно переходить на альтернативный режим сборки мусора, иначе «отзывчивость» сервера сильно уменьшается.
  • Подобный опыт можно (и нужно!) без особых затрат повторить самому (см. под катом).

Читать дальше →
Total votes 193: ↑187 and ↓6+181
Comments125

Выразительный JavaScript: Формы и поля форм

Reading time17 min
Views198K

Содержание




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

Мефистофель, в «Фаусте» Гёте


Формы были кратко представлены в предыдущей главе в качестве способа передачи информации, введённой пользователем, через HTTP. Они были разработаны в вебе до появления JavaScript, с тем расчётом, что взаимодействие с сервером происходит при переходе на другую страницу.

Но их элементы являются частями DOM, как и остальные части страницы, а элементы DOM, представляющие поля формы, поддерживают несколько свойств и событий, которых нет у других элементов. Это делает возможным просматривать и управлять полями ввода из программ JavaScript и добавлять функциональности к классическим формам или использовать формы и поля как основу для построения приложения.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments13

Видео докладов с DevOps Meetup про Docker

Reading time1 min
Views16K
Недавно в офисе Badoo проходил DevOps Meetup про Docker и контейнерную виртуализацию. Делимся с вами видео докладов.

1. «Docker в Badoo: от восторгов к внедрению».
Антон banuchka Турецкий, Раудсепп Илья, Badoo.



Читать дальше →
Total votes 32: ↑32 and ↓0+32
Comments5

Рецепт новогоднего корпоратива в стиле ИТ

Reading time6 min
Views28K
«А ну-у-у-ка теперь все выходим в центр и встаём в круг, мальчик-девочка, да поплотнее-е-е-е!». На третий раз после такого мы чуть было не выбросили ведущую из окна четвёртого этажа. Пронесло. Успели бы выпить чуть больше, трагедии не миновать.

Знакомая ситуация? Вы долго и упорно ищете ведущего на корпоратив, тщательно описываете ситуацию и публику, обсуждаете все нюансы выступления, а он устаивает деревенскую свадьбу. Ну это когда всем надо отплясывать под Сердючку, передавать подбородком апельсины, попадать карадашом в бутылку и щупать друг дружку с завязанными глазами.

Примерно так мы пару лет назад отмечали 8 марта. После чего решили, что впредь развлекательную программу будем готовить только сами. И на прошлый Новый год жребий пал на меня. В то время мне пришлось серьёзно потрудиться и с моей стороны было бы в высшей степени неправильно не поделиться полученным опытом.

Так что, если Вы сейчас находитесь в похожей ситуации — этот пост как раз для Вас. Под катом история о том, какие я готовил конкурсы, и как в результате прошел праздник.
Читать дальше →
Total votes 34: ↑17 and ↓170
Comments4

Лицензия для вашего open-source проекта

Reading time98 min
Views182K
В этой статье я хочу немного поговорить об авторском праве и свободных лицензиях на ПО. Текст является результатом самостоятельного выбора лицензий и их применения к своим проектам.

Статья будет полезна тем, кто хочет:

— в общих чертах понять, что такое авторское право (но лучше обратиться к юристу);
— подобрать свободную лицензию для своего проекта;
— разобраться, что нужно писать в шапке файла исходного кода.
Читать дальше →
Total votes 136: ↑132 and ↓4+128
Comments117

Несколько советов молодым программистам, решившим написать свою операционную систему

Reading time3 min
Views9.3K
Здравствуйте, уважаемые читатели!

Писали ли вы когда нибудь операционную систему? Вероятно, каждый десятый программист, заглянув лет на 10-20 назад и вспомнив начало своей карьеры, ответит — да. Господа, эта статья не для вас. Это статья для тех, кто верит в свои силы и полон надежд завоевать мир. Я постараюсь предостеречь вас от некоторых характерных ошибок.
Читать дальше →
Total votes 159: ↑132 and ↓27+105
Comments76

FAQ по программированию под Android от новичка, и для новичков

Reading time16 min
Views158K
Предисловие к FAQ.

Программирование является моим хобби уже давно (правда на других языках и платформах), но до андроида руки дотянулись совсем недавно. Прошло несколько этапов, прежде чем я добрался до написания программ.
Сначала была пара месяцев посвященных Java, на сайте с «Сгибателем».
После, долгие попытки подружится с Eclipse, закончившиеся побегом на Android Studio.
На данный момент выпущено 7 программ и две находятся в разработке.
Данная подборка возникла как попытка структурирования и оптимизации полученной в процессе информации.
Заранее извиняюсь за возможно некорректную терминологию – так как практикую обучение через создание, и в теоретической части есть пробелы.

Надеюсь, что приведенные примеры окажутся полезными.
Читать дальше →
Total votes 114: ↑98 and ↓16+82
Comments23

Фильмы IT-тематики

Reading time2 min
Views15K
imageВ свое время, в 1995-ом году, на меня произвел впечатление фильм «Хакеры». Можно
сказать, он стал мотиватором моей дальнейшей ИТ-карьеры. Далеко не эталон киноискусства, однако
стремление стать похожим на героев фильма, продолжилось в самообразовании. Далее первый выклянченный компьютер, первые строчки кода, начало проб и ошибок. Когда уже были написаны эти самые «хэлоу-ворды», «калькуляторы», затем испробованы несколько *nix'ов — на руки попалась болванка с «Antitrust». В одноголосном переводе и гиблом качестве. К слову, это не помешало, пересмотреть фильм пару десятков раз. Что послужило более зрелому стремлению, чем быть всемогущим кул-хакером. Под катом, перечислю увиденные мной фильмы IT-тематики, с кратким описанием. В основном из двухтысячных. Неувиденное или забытое, будем добавлять.

Читать дальше →
Total votes 227: ↑191 and ↓36+155
Comments210

Базы хостинговых компаний, датацентров, прокси, ботов и сателлиток.

Reading time2 min
Views1.8K
Я уже представлял здесь несколько месяцев назад наш геолокационный проект WIPmania. Сейчас мы открываем обещанные базы IP-адресов («сервис-коды»), за которыми скрываются «пользователи» с неопределяемым местоположением.
«Нормальный» пользователь скорее всего не ходит в интернет через анонимный прокси или свой VPN, инсталлированный, скажем, на сервере в Китае. Точно так же сервера не всегда используются только в мирных целях, но и для сканирования, спама или мошенничества.

Читать дальше →
Total votes 42: ↑36 and ↓6+30
Comments42

Антиспам средствами postfix+spamassassin

Reading time5 min
Views13K
У меня небольшой домен, который я поддерживаю и в один прекрасный момент спам настолько достал, что было решено минимизировать его насколько это возможно. Результатом я более чем доволен спама я в принципе не вижу бывает 1 письмо за месяца 3-4 в инбокс падает. Конечно есть ложные срабатывания, но они в основном от рассылок.
Это моя личная конфигурация которой я хочу поделиться, возможно некоторые вещи сделать можно лучше я этого не отрицаю. Так же в зависимости от сайта нужно будет делать свой тюнинг в определенную сторону.

Итак для этого нам понадобятся postfix, spamassassin, amavisd-new. Я использую Debian, ставим пакеты apt-get install postfix, postfix-pcre, spamassassin, amavisd-new

Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments0

Основные виды ПО

Reading time4 min
Views13K
Собственно недавно заинтересовался этим вопросом. В частности отличием свободного ПО от open source (я думал это одно и то же). Путем нехитрых изысканий в сети (спасибо wiki и яндексу) выяснил все что мне нужно. И решил поделиться с вами. Может кому-нибудь будет интересно.
Читать дальше →
Total votes 84: ↑64 and ↓20+44
Comments47

Как работает индустрия по распознаванию CAPTCHA

Reading time1 min
Views15K
Ни одна CAPTCHA не выстоит в противостоянии с армией низкооплачиваемых юзеров, которые готовы сутками распознавать «каптчи» Google и Myspace за скромное вознаграждение $2 за 1000 картинок. В Индии сформировалась целая индустрия «дата-процессинга», которая специализируется именно на этом, там работают тысячи и тысячи индусов.

Эти люди сидят за дисплеями и решают «каптчи» в реальном режиме времени. Их рабочий интерфейс выглядит примерно так.


Читать дальше →
Total votes 160: ↑154 and ↓6+148
Comments174

Рекурсия при помощи self

Reading time5 min
Views1K
Интересные и порой необычные свойства скрывает от документирования пятая версия PHP. Языковая конструкция self по определению служит для работы со статическими методами и свойствами классов. Но ее можно использовать и не по назначению.

Объявляю себя ...


Многие сталкивались с проблемой переименования класса (Забываешь переименовать конструктор, но ошибки нету и все вроде работает, но как-то кривовато). Именно чтобы решить эту проблему в PHP5 ввели стандартное имя для конструкторов __construct
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments11

Доводим до ума сайт хостинга: 10 советов

Reading time6 min
Views14K
Разрабатывая сайт poiskvps.ru я часто посещаю сайты хостинг-провайдеров и постоянно натыкаюсь на них на одни и те же недостатки. Поэтому я решил обобщить свой опыт, и написать несколько советов для создания действительно удобных сайтов по продаже услуг хостинга.

Информация о тарифах


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

Ограниченное число тарифов


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



Быстрая регистрация


Читать дальше →
Total votes 26: ↑19 and ↓7+12
Comments22

Типичные ошибки при защите сайтов от CSRF-атак

Reading time5 min
Views84K


В настоящее время в сфере обеспечения безопасности веб-сайтов и приложений возникла очень интересная ситуация: с одной стороны, некоторые разработчики уделяют особое внимание безопасности, с другой, они напрочь забывают о некоторых видах атак и не считают ошибки, позволяющие выполнить данные атаки, уязвимостями. Например, к такой категории можно отнести CSRF (Сross Site Request Forgery). Эта атака позволяет производить различные действия на уязвимом сайте от имени авторизованного пользователя. Если вы не слышали о таком, то я рекомендую прочитать соответствующую статью в Википедии, чтобы иметь общее представление об этом виде атак. Основная часть статьи предназначена тем, кто обеспокоен правильной защитой своих сайтов от CSRF.
Читать дальше →
Total votes 49: ↑40 and ↓9+31
Comments93

Делаем из Raspberry клавиатуру при помощи PS/2 интерфейса

Reading time8 min
Views23K
Здравствуйте, уважаемые хабражители!

В этой публикации я расскажу об эмуляции PS/2 клавиатуры при помощи Raspberry Pi.

Недавно в один из жарких вечеров мне позвонил мой старый знакомый и попросил написать для него программу. Необходимо было автоматизировать ввод данных (штрих кодов). Торговая точка, в которой он работал, принадлежала сети итальянских магазинов. Понятно, что и вся работа с товарами велась в итальянской программе. Но по причине того, что в нашей стране основная масса обучена работе на 1С, было принято решение вести продажи на ней, а к концу рабочего дня выгружать результаты продаж в итальянскую систему. Тут то и возникли неудобства.
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments47

Работа с PostgreSQL: настройка и масштабирование (4-е издание) и Cooking Infrastructure by Chef (1-е издание)

Reading time1 min
Views20K
Добрый день, хабровчане. Сегодня хочу представить результат почти года работы — две бесплатные книги.

Первая книга уже довольно давно существует, и некоторым из Вас может быть известна. «Работа с PostgreSQL: настройка и масштабирование» (четвертое издание) рассказывает, что такое PostgreSQL база данных и как много полезного можно делать с помощью неё. В книге обновились разделы про репликацию (новые Londiste, Bucardo, BDR), добавлены новые расширения и примеры использования их. Также сделана чистка разделов с правкой на актуальные версии базы данных.

Читать дальше →
Total votes 51: ↑51 and ↓0+51
Comments27

Хостинг: продолжайте делать то же самое, вас уже съели

Reading time5 min
Views44K
imageМы не очень любим провокационные заголовки, но если вы работаете в индустрии хостинга, то вам будет интересно узнать, что увидели мы в Parallels, изучая тенденции хостинга по всему миру (включая российский). А увидели мы, что традиционный рынок стремительно завоевывают нетрадиционные провайдеры типа Digital Ocean и Linode, пока большинство наших и западных хостеров продолжает сидеть ровно и делать то, что работало 10 лет назад.
Под катом – разная статистика, информация к размышлению для тех из вас, кто хочет развивать свой хостинг-бизнес. И мы будем рады обсудить в комментариях ваше собственное (даже радикально противоположное) мнение.

Читать дальше →
Total votes 108: ↑87 and ↓21+66
Comments139

MAYHEM — многоцелевой бот для *NIX-серверов. Расследование Яндекс.Безопасности

Reading time5 min
Views43K
UPD. Спустя несколько часов после публикации на Хабре англоязычная версия этого исследования команды Безопасного поиска Яндекса вышла на Virus Bulletin. Чуть больше деталей и ссылки на библиографию.

Ботнеты из зараженных серверов под управлением ОС на базе *nix становятся все более популярными у злоумышленников. Широкий канал, отличный uptime и мощное железо делают сервера привлекательной целью для заражения. Принято считать, что для полноценного заражения *nix-системы нужно обладать правами root. Однако злоумышленники придумывают все новые и новые способы извлечения из зараженного сервера максимума пользы, довольствуясь при этом маленькими привилегиями. В этом посте мы расскажем о довольно нестандартном ботнете под названием MAYHEM, состоящем из зараженных серверов.



Изначально MAYHEM представляет собой php-скрипт, который после запуска определяет архитектуру системы (x86 или x64) и наличие прав на запись в текущую директорию. Эти привилегии в подавляющем большинстве случаев есть у пользователя, под которым запущен веб-сервер, и в данном случае их достаточно для работы бота.
Читать дальше →
Total votes 119: ↑112 and ↓7+105
Comments45

Удачная модель ветвления для Git

Reading time10 min
Views982K
Перевод статьи Vincent Driessen: A successful Git branching model

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



В качестве инструмента управления версиями всего исходного кода она использует Git.

Читать дальше →
Total votes 180: ↑171 and ↓9+162
Comments105

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity