All streams
Search
Write a publication
Pull to refresh
511
0
Слава Вишняков @yoihj

Нагруженные бэкэнды

Send message
Совсем забыл — там же по ссылке — указание как скомпилировать pycurl+c-ares под linux/freebsd.
Какой смысл использовать PyCurl для множества запросов без PyCurl.Multi? После таких «тестов» все будут думать, что PyCurl отстой, когда он может тысячи запросов в секунду делать. Только (ВАЖНО!!) PyCurl Multi должен быть скомпилирован с библиотекой (c-ares) — это очень важно. По скорости можно сказать так: PyCurl обычный (медленно), PyCurlMulti (быстрее, но все еще медленно из-за синхронных DNS запросов), PyCurl+c-ares (предесльно быстро).

Дело в том, что на DNS запросы тратится тоже время и в синхронном режиме DNSы обычно (из опыта) могут выдавать только десятки ответов в секунду. В асинхронном режиме запросов (чем и занимается c-ares!) DNSы могут выдавать сотни и под тысячу ответов. Так что скорость растет в десяток раз минимум.

Важно: по умолчанию PyCurl под linux скомпилированы без c-ares. Проверка 'import pycurl; print pycurl.version' — если в выдаваемой строке есть 'c-ares' -скорость будет максимальной при использовании PyCurl.Multi. (Я дико долго искал почему винда на домашнем компе делает сотни запросов в секунду, а сервер в датацентре только десятки — разница была в наличии «c-ares») Под виндой .exe установщик обычно включает в себя c-ares.

PyCurl.Multi тоже не так прост, как кажется — даже в официальном multi_get примере есть ошибка (не помню точно ее суть, но по-моему он не будет качать больше 100 запросов — очередь неправильно реализована). Можете воспользоваться для теста моей функцией multi_get (простой интерфейс к PyCurl.Multi)

Счетчик-то стоит до хабраката, вот и попала его запись (про «AC/DC: Iron Man 2») на главную хабра — вот все заходы на Хабр и считаются заходами в его «личный» блог.
Ранние последователи, трендсеттеры.
Сторона 1 «автомобилист» должна зарегистрироваться, чтобы получать гневные сообщения от людей, которые не с той ноги встали. Нафиг надо?

Сторона 2 «вставшие не с той ноги», увидев за рулем машину, которая едет как им не нравится — вместо того, чтобы побибикать — должны во время езды достать мобильный и набрать смску с номером машины… очень «безопасно» и «быстро»…
Это не освоение, если человек будет по «промтоподобным» переводам язык учить. Будет как в симпсонах: «This is how you talk, when you learn English from porno movies.»
«и положить меня в передовых классов»
Сильно! Про субтитры — правильная идея. Загляните на notabenoid.com
Нифига себе Вы замутили с фрикадельками… все мозги свернул пытаясь понять.

Вам нужно просто сделать простой и бесплатный уровень, который допустим, ограничен 5 словами в день и всего допустим (сколько-то, допустим 200) слов и платный «профессиональный», который ничем не ограничен (разве что есть рекомендованные пределы).

Да и регистрацию до пробы, как выше сказали — надо убирать. Дайте человеку попробовать, потом просите регистрироваться, если ему нравится и хочется сохранить результат (анонимная сессию).
Ошибка в т. 1.2. на второй позиции, должно быть «9» (a-a).
Честно говоря, я думал на основании GPS в мобильных устройствах…

«The Geolocation API provides the best estimate of the user's position using a number of sources (called location providers). These providers may be onboard (GPS for example)...»

code.google.com/intl/ru-RU/apis/gears/api_geolocation.html
Ограниченно смотрите. СОРМ-2 и спецслужбы меня вообще не беспокоят. Меня беспокоит, что обо мне и вообще обо всех (в т.ч. и о политиках, бизнесменах, правительстве) будет слишком много знать (и уже знает), компания (или компании), чьей единственной целью является прибыль.
Опять же — вопрос масштаба. Большинство камер принадлежат государству. А у государства уже и так многие данные есть — меня это мало беспокоит. Цель государства — обеспечить жизнь граждан. (В идеале). Однако в данном случае частная компания собирает очень массивную базу данных.

Попробуйте переехать на некоторое время после города в деревню, где все про друг друга все знают и поймите насколько это неприятно. Мы к этому движемся в глобальных масштабах, проблема в том, что все о нас знают не все, а одна частная компания, чьей целью является извлечение прибыли
Одно дело, когда прохожий собрал айфоном информацию о пяти людях в деревне. Другое дело, когда компания, через которую уже 2% (или больше) мирового траффиках проходит собирает такую информацию в масштабах страны и мира. И тем более публикует с привязкой к географическим координатам о миллионах (миллиардах) людей.

Не хочется описывать примеры, которые приходят в голову, но в общем, подумайте о том, что крупные телекомы, посредники, спецслужбы и просто службы теперь будут автоматически и в реальном времени знать о проходящих пакетах — где живет их владелец и куда они идут. Сценарии а-ля «1984» Оруэлла дорисуйте сами.
Лично меня беспокоит не это, а тот факт, что столько уже всего про нас знают, что менять черт-те-знает сколько всего надо.
Шикарно! 10 минут осмысления. 5 минут рисования на бумажке и задача становится тривиальной!
«Aj: 1 <= j < L или U < j <= N: X[j] != T»

А можно тут пояснения в текст добавить?
Что такое «Aj»?
Что такое «j»?
Куда делать область «О»?

И как-то надо тут расставить скобочки, а то не понятно:

то ли «Aj = ( (1 <= j < L) или (U < j <= N)); X[j] != T;»
то ли «Aj = ( ((1 <= j < L) или (U < j <= N)) И (X[j] != T))»
то ли еще что-то…
Спасибо за статью. Будет кармы достаточно — перенесите лучше в публичный, например в "Алгоритмы" — больше людей увидит.
По-моему тут в статье совсем о другом речь — а именно — не о конкретной реализации, а о том как же ее написать без использования тестирования.

Очень интересно — за 20+ лет программинга — не встречался с «инвариантом цикла». И если это действительно поможет решить эту задачу без тестирования — это очень-очень интересно.

Написано, конечно, сложно, перечитываю уже который раз, пытаюсь вникнуть.

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity