Как стать автором
Обновить
4
0
Игорь Сысоев @isysoev

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

Отправить сообщение
Для того, чтобы автоматом не получить российское гражданство, живя в России ещё со времён СССР, нужно было всего-навсего на 6 февраля 1992 года иметь не постоянную прописку в России, а временную, например, в общежитии. Что собственно Семеняка как студент МГУ и имел.

А вот получить российское гражданство в 90х — да, для этого нужно было очень и специально постараться.
Дополнение к коменту.

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

Так вот, с этой точки зрения у вас пока ещё есть ровно одно конкурентное преимущество — WiFi в тоннелях метро. На поверхности такому пользователю платный WiFi не нужен, потому что у него уже есть удобный ему тариф сотового оператора, у которого покрытие просто несопоставимо с вашим.

И вот, вместо того, чтобы дать пользователю возможность без дополнительных телодвижений использовать свой мобильный интернет, вы подсовываете ему нерабочую сеть. А ведь этот пользователь платит как раз именно за беспроблемность! И вполне естественно, что такой пользователь предпочтёт отключить MT_FREE и не продлевать платный доступ, тем более, что сотовые операторы постепенно улучшают покрытие в метро — Мегафон, например, недавно сделал сплошной LTE на кольцовой линии — и на станциях, и в тоннелях.

Так что, если вам интересны платные пользователи и нет других контрактных ограничений, например, муниципальных, то сделайте отдельные имена для для платных WiFi-точек для каждого вида транспорта, например, METRO_PREMIUM, CPPK_PREMIUM и так далее.
Илья, Вы сами-то пробовали приложение? Я пробовал в течение полугода и, несмотря на настройки, телефон всё равно цепляется к автобусам и, возможно, к остановкам. В январе у меня кончилась годовая подписка на wifi в метро и я отключил сеть MT_FREE. Мегафона хватает.
Ну это уже от языка/платформы зависит.
Именно. Значения по умолчанию должны быть или удобны для 99% случаев использования, или же неудобными, но безопасными. Если на машине 32 процессора, зачем запускать 32 приложения по умолчанию? Кроме того, некоторые приложения, например, на Go, могут конфликтовать, если запущенно более одной копии. Поэтому для числа рабочих процессов выбран безопасный вариант.
Мне кажется, если база не справляется, снижать нагрузку на неё за счет обрезания ядер — плохая идея.
В том то и дело, что в этом случае число процессов должно быть больше ядер, потому что процессы будут висеть в ожидании ответа от базы.
Auto по умолчанию у нас для router worker threads.

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

До переименования MosMetro_Free в MT_Free было удобно. А сейчас — нет: зашёл в метро — почти всегда всё сразу работает. Вышел из метро, проехал мимо автобус — связь из LTE переключается на ваш captive WiFi.

У меня подписка действует ещё полгода, из-за вышеописанных проблем продлевать вряд ли буду — Мегафон последнее время стал лучше ловить на станциях, а при необходимости можно и рекламу посмотреть.
Посмотрите вот это примерно с середины файла до конца, чтобы почувствовать, что такое конфигурация sendmail'а.
Например, в такой конфигурации
location /authorization/ {
   auth_basic ...
   fastcgi_pass  ...
}

запрос "/author~1/script.php" не будет обработан в этом location'е.
Поэтому разрешаются только обращения по полному имени.
В стандартных файловых системах Линукса, к счастью, нет способа обратиться к файлу миллионами разных способов, поэтому нет и необходимости в ngx_linux_check_filename().
В стандартных файловых системах Линукса, к счастью, нет способа обратиться к файлу миллионами разных способов, поэтому нет и необходимости в ngx_linux_check_filename().
Зелёный логотип — это мой логотип, который появился раньше всего. Когда я его придумал, уже не помню, скорее всего, в 2002-2003 годах, но буква G в виде иконки для Windows, похожая на favicon в 2004 году уже точно была.

Чёрно-красный логотип со звездой был сделан не мной для wiki.nginx.org и мне никогда не нравился, так как нёс в себе реминисценции холодной войны — это западное восприятие СССР, а я СССР так никогда не воспринимал.
Что для меня всегда было загадкой, так это возможность upload'ить картинки в каталог "/scripts/".
error_page 404 /nofound;
Потому что 404, равно как и 500, для фильтра — не картинка.
И это прекрасно. Нужно концентрировать всю логику обработки запроса в одном location'е, который видно на одном экране, а не размазывать по всему конфигу, который с течением времени будет только расти.
Не нужно никаких if ($uri), rewrite'ов и break'ов:

location ~ ^/(\d+|-)x(\d+|-)/(.*\.(?:jpg|gif|png))$ {
alias /path/to/images/$3;
image_filter resize $1 $2;
}
Начиная с 0.7.48, по умолчанию кэшируются только GET и HEAD. Чтобы POST кэшировался нужно добавить
fastcgi_cache_methods GET HEAD POST;
Если в конфигурации есть строка

if ($request_uri ...) {

это означает, что конфигурация неправильная. Для этого была специально была придумана и оптимизирована директива location:

location ^~ /img/avatar/ {
    error_page 404 =200 /img/avatar/default.gif;
    expires -1;
    access_log off;
}

location ~* ^.+\.(jpg|jpeg|gif|png|js|txt|css|ico|zip|rar|xml|swf)$ {
    expires 7d;
    access_log off;
}

Можно выделить отдельный

location = /img/avatar/default.gif {
    expires -1;
    access_log off;
}

если, например, нужно поставить expires, отличный от /img/avatar/.
Я это и предполагал. Считать разницу имеет смысл от полного размера, а не от сжатого со степенью 1.
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность