Пользователь
Миллион одновременных соединений на Node.js
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 памяти. При превышении нужно переходить на альтернативный режим сборки мусора, иначе «отзывчивость» сервера сильно уменьшается.
- Подобный опыт можно (и нужно!) без особых затрат повторить самому (см. под катом).
Tarantool 1.6 — давай начнем
Потенциальная уязвимость в Telegram Android
Так сложилось, что мне необходимо было изучить исходные коды механизма шифрования, передачи и дешифрования сообщений в Telegram для мобильных платформ iOS и Android. То есть речь идет о клиентских приложениях, именно их исходники (iOS, Android) находятся в свободном доступе.
Так как я больше специализируюсь в iOS, то в первую очередь приступил к изучению версии для этой платформы. Потратив около дня на чтение исходников и на работу с отладчиком, я сообразил что к чему и приступил к Android версии. Несложно догадаться, что механизмы и принципы работы должны быть идентичны в силу совместимости всех платформ между собой. Но к своему удивлению я обнаружил несколько отличий в алгоритме дешифрования сообщений в Android версии, что и породило уязвимость, если можно так выразиться. Общая суть уязвимости заключается в том, что в клиентском приложении отсутствует сравнение хеша дешифрованного сообщения с оригинальным хешем, передаваемым вместе с зашифрованным сообщением. По сути отсутствует проверка подписи сообщения. Отсутствие такой проверки может позволить третьим лицам, имеющим доступ к серверу, создавать рандомную активность от лиц участвующих в секретном чате. При этом доступ к общему секретному ключу не требуется, и он остается неуязвим для третьих лиц.
Руководство по установке и настройке OpenVPN
Когда у нас появились сотрудники, работающие удаленно, пришлось думать над тем, как обеспечить им защищенный доступ к нашим хостинговым серверам, виртуальным выделенным серверам разработчиков Virtual Dedicated Server (VDS), сайтам обеспечения и сопровождения разработки и к другим ресурсам.
По соображениям безопасности доступ к этим ресурсам ограничен при помощи межсетевого экрана (файервола) по портам и адресам IP. Ежедневную перенастройку доступа при изменении динамических IP сотрудников едва ли можно назвать разумным решением.
Выход нашелся довольно быстро — это использование технологии виртуальных частных сетей Virtual Private Network (VPN) и ее свободной реализации OpenVPN. Эта реализация доступна практически для всех распространенных платформ, в том числе для планшетов и смартфонов. История развития OpenVPN насчитывает уже 12 лет (компания OpenVPN Technologies, Inc. была создана Francis Dinha и James Yona в 2002 году), так что это надежное и проверенное временем решение.
В нашей компании сеть VPN позволила предоставить защищенный доступ сотрудников к VDS, играющей роль сервера OpenVPN. И уже для фиксированного IP этого сервера был разрешен доступ к другим ресурсам компании. Попутно на сервере OpenVPN был установлен прокси Squid, что решило все проблемы доступа сотрудников с динамическими IP к защищенным ресурсам компании.
Теме OpenVPN посвящены многочисленные статьи и сообщения на форумах. Тем не менее, нужную информацию мне пришлось собирать по частям из разных мест. Попутно приходилось разбираться с многочисленными терминами и технологиями. В качестве серверов OpenVPN были использованы VDS на базе FreeBSD и Debian Linux, в качестве клиентов — рабочие станции FreeBSD, Debian Linux, Ubuntu и Microsoft Windows.
Надеюсь, что эта статья будет полезна тем, кто впервые столкнулся с необходимостью создания сети VPN или уже использует ее для решения тех или задач, а также тем, кто ищет замену коммерческим реализациям VPN.
Как использовать API сайта, у которого нет API?
Сегодня я хочу рассказать вам о моей небольшой библиотеке, позволяющей описать в API-стиле http-запросы и парсить ответ сервера в нужный вам формат.
Аддон для Overclock`a сознания или флешбек-профи
Youtube
Причина в занижении провайдерами скорости к серверам кеширующим видео, всё что нужно сделать это заблокировать доступ к ним.
Для того чтобы запрос шел мимо cdn серверов ютуба надо заблокировать диапазон ip адресов (в роутере или на компьютере).
173.194.55.0/24 и 206.111.0.0/16
Виджет для вывода пользовательских данных на Android
Три простых шага для размещения информации на рабочем столе:
1) Создайте скрипт – провайдер данных в формате JSON
2) Установите Universal Widget
3) В настройках виджета задайте адрес скрипта — провайдера данных, а также интервал обновления
Коллективный разум ХабраХабра выбрал лучшие игры всех времен и народов на 2013 год
Этим постом подвожу итог попытки определить лучшие игры всех времен и народов по версии Хабрахабра на 2013 год.
Отбор проводился по простым правилам:
− В этот пост каждый желающий вносил свою любимую игру,
− Каждый другой желающий голосовал за любимую игру.
Таким образом сообщество выступило и экспертной комиссией по определению лучших игр, и электоратом для голосования. И вот что у нас получилось.
Основные итоги
Всего в посте собралось за 5 дней больше 1 800 комментариев. Игр было указано около 400. Набрали больше 20 голосов 121 игра. При подсчете учитывались только плюсы (минусы не считал, ибо мы выбирали то, что нравится). Итак, встречайте десятку лучших:
- Герои Меча и Магии (259)
- Half Life (254)
- Fallout (211)
- Portal (182)
- Neverhood (174)
- DOOM (153)
- Civilization (151)
- StarCraft (150)
- Космические рейнджеры (128)
- Warcraft (127)
Мифы нашего времени: генетически модифицированные организмы. Так ли страшен черт?
Современные мифы более глубоки и обычно связаны с наукой. Причины понятна — наука развилась (особенно в последнее время) до такой степени, что часто нужен колоссальный объем знаний, чтобы просто понять, о чем вообще идет речь. У многих людей этого объема нет или безвозвратно потерян, что и снижает их сопротивляемость к разного рода мифам нашего времени. Миф про вредность пищевых добавок Exxx; миф про полезность натурального и вредность «химии»; миф про врачей-убийц, травящих людей прививками; миф про настолько страшное ГМО, что наклейки с надписью «без ГМО» надо клеить даже на салфетки и на пачки с солью.
Что такое ГМО? Зачем они нужны? Как велика опасность и польза от их использования? Есть ли доказательства безопасности этих организмов?
Sony представила PlayStation 4
Интересной особенностью этой приставки стало железо — Sony отошла от традиции установки специфической аппаратной начинки вроде процессора Cell и установила в PlayStation обычный x86 процессор — восьмиядерный, производства AMD (детали уточняются).
К сожалению, с переходом от кастомной платформы к платформе x86 приставка нового поколения потеряет традиционную обратную совместимость — в данном случае с PlayStation 3.
Виртуальная прогулка по датацентрам Google
ShareXMod — шарит что угодно и как угодно
Спустя нескольких часов поиска и тестирования порядка 15 программ для расшаривания скриншотов и файлов в Windows, я кажется нашёл на мой взгляд самое функциональное, удобное, и плюс ко всему ещё и freeware & open-source решение. Подумал, что почувствую себя большим эгоистом, если не поделюсь им с кем-то ещё. Итак, встречайте!
ShareXMod — приложение позволяющее прозрачным и удобным способом расшаривать файлы и скриншоты (+редактирование/аннотации) с использованием более 20 различных сторонних сервисов. Не пугайтесь большого окошка на картинке, вся функциональность приложения реализуется в фоновом режиме, в свёрнутом в трей состоянии.
Неочевидный способ борьбы с прокрастинацией
Все это здорово, и каждый из нас, скорее всего, вспомнит что-то из своего опыта. Но проблема в том, что “перестроить” себя в такое состояние не просто, а вот “вывалиться” из него очень легко. Особенно, если речь идет о скучной или непонятной работе, в этом случае «инерция для входа” особенно высока. Размышляя недавно обо всем этом, я понял, что периодически неосознанно использовал один прием, которым и хочу поделиться.
Очень быстрый и эффективный способ расслабления глаз
Предисловие
Не знаю, все ли программисты всесторонне любознательные люди, но я всегда пытаюсь получить фундаментальные знания во всех областях, которые могут быть практически полезны. В то время, когда мне в голову пришла эта идея я изучал анатомию и физиологию по журналам «Тело человека. Снаружи и внутри», ну а по работе я занимался стерео-варио фотографиями (для тех кто не знает — были такие советские календарики с ребристой поверхностью, где картинка либо казалась объемной, либо менялась). Так вот, в один из вечеров мне пришла в голову замечательная идея, которую я на протяжении уже 4х лет использую для поддержания своего зрения.
Обещаю, что эффект почувствуете сразу!
3 задачи, которые отсеивают 9 из 10 «Senior PHP» кандидатов
Итак, тесты, которые отсетвают «типа программистов»:
В Sypex Geo добавлена привязка к API ВКонтакте
Что такое и для чего нужен Sypex Geo
Sypex Geo одно из решений в области геолокации — определения географического положения (страны, города, региона) посетителя на основе IP-адреса. Используются собственный открытый формат бинарной базы данных, также доступен веб-сервис REST API, позволяющий всегда использовать самые свежие базы данных. Sypex Geo использует собственные базы данных, которые регулярно обновляются, так как местонахождение IP-адресов меняется (2 раза в месяц обновляются бесплатные базы данных, 4 раза в месяц коммерческие базы данных).
Примеры использования геолокации
- Показывать посетителю контакты филиала из региона в котором находится посетитель.
- В зависимости от города или региона посетителя интернет-магазин может показывать специальные предложения для данного региона
- Фирма может устанавливать разные цены на товары и услуги, снижая цены для тех населенных пунктов, где сильны позиции конкурентов.
- Проведение географического таргетинга при интернет-рекламе (контекстной, баннерной и т.д.).
- Для посетителей из разных стран цены на товары и услуги могут быть указаны в разной валюте.
- Посетители из разных стран могут быть перенаправлены на национальные зеркала основного сайта.
- Проведение маркетинговых исследований.
Как накормить мозг программиста… или feed your brain
Введение
Из всех наслаждений, отпущенных человеку в жизни,
самое изысканное — шевелить мозгами.
(Борис Акунин)
Известно, что при работе за компьютером мозг программиста затрачивает больше энергии, чем мозг других людей. Программист, как работник умственного труда, должен следить за своим питанием и здоровьем, чтобы поддерживать свой мозг в состоянии высокой работоспособности. К тому же, программист должен быть в отличной интеллектуальной форме, развивать в себе высокую творческую активность и задумываться о предотвращении возрастных ухудшений памяти.
В ранней юности, когда, погружаясь глубоко в проект, я часто забывал о еде и бывало, что моей единственной пищей за день был батон с кефиром. Теперь с годами я понимаю, как тогда травмировал мозг, не давая ему нужные для работы вещества и энергию.
В данной публикации мы рассмотрим, как правильно питаться для жизнеобеспечения мозга и как его разогнать ноотропами (в случае
Использование Pjax в Yii2 (краткий обзор)
Информация
- В рейтинге
- Не участвует
- Откуда
- Пермь, Пермский край, Россия
- Дата рождения
- Зарегистрирован
- Активность