@devops_ru

Страница 1772 из 4568
Alex
10.12.2016
14:34:43
Которые про индетацию правильную и нормальное форматирование вообще не слышали

Alex
10.12.2016
14:35:24
https://github.com/nginx/nginx/blob/f8a9d528df92c7634088e575e5c3d63a1d4ab8ea/src/os/unix/ngx_linux_sendfile_chain.c#L167

Alex
10.12.2016
14:35:24
Лучше б в фифа 17 поиграл

Alex
10.12.2016
14:35:57
А, не, это я поторопился

Google
Alex
10.12.2016
14:37:10
В этой ебучей лапше тяжеловато разобраться путем статического анализа - возможно, после отправки хедера оно попытается продолжить свое чорное дело

Alex
10.12.2016
14:37:54
https://github.com/nginx/nginx/blob/f8a9d528df92c7634088e575e5c3d63a1d4ab8ea/src/os/unix/ngx_linux_sendfile_chain.c#L167
Это лучше чем css на 1500 строк в котором вообще нихера непонятно и один элемент пятнадцать раз упоминается

Alex
10.12.2016
14:38:29
Со мной был забавный эпизод

Как-то раз, уже не помню в каком году, в Питере был очередной хакатон

Хакдей он назывался, наверное

И мы с Димой Галинским заявились на него написать модуль, который использовал бы в nginx под вендой IOCP

У нас с ним были разные подходы Он считал, что надо взять уже существующие наработки из дерева кода nginx и их исправить А я считал, что надо взять libuv В итоге, прежде всего мы поднакидались пивом А днем сели рубать по методу Димы

Код вокруг IOCP был настолько плох, что мы только смогли констатировать его непригодность

И вот - через несколько лет я сел и попытался внедрить libuv

И выяснил, что libuv это просто nginx

С точностью до имен в хедерах

То есть - нет в нем никакого IOCP, просто select() обычный

Google
Alex
10.12.2016
14:41:35
Так закончилось детство

Alex
10.12.2016
14:41:59
?
В следующий раз когда ты будешь есть вкусный торт я отправлю тебе этот css и торт из тебя вылезет обратно.

Alex
10.12.2016
14:42:30
Alexey
10.12.2016
14:42:52
кароче, так как уже html пошли обсуждать держите ответ: sendfile(2) передаёт байтики как они есть на диске, но в сеть обычно нужно отправлять модифицированные данные: банальный пример — TLS. Менее банальный пример gzip (с этим хотябы можно бороться пре-создавая уже сжатые файлы и отдавая их. с TLS так не получается из-за PFS). Тоесть фактически любой сервер который отдаёт файлы с диска в зашифрованном/сжатом виде (привет gRPC!) - должен использовать readv/writev вместо модного sendfile

Alexey
10.12.2016
14:43:33
вот тут красивый расказ про эту боль http://techblog.netflix.com/2016/08/protecting-netflix-viewing-privacy-at.html

чего только не сделаешь для 40G сетевух

Alex
10.12.2016
14:44:22
чего только не сделаешь для 40G сетевух
Купишь гпу инстанс на ажуре?)

Alexey
10.12.2016
14:46:24
вощем теперь каждый раз когда вы будете видеть sendfile on в конфигах nginx - вы будете вспоминать этот разговор и понимать что люди либо не шифруют то что они отдаю, либо они не понимают что они делают, либо это конфиги Netflix

Alex
10.12.2016
14:46:41
Бггг, отлично

Uncel
10.12.2016
14:46:42
Купишь гпу инстанс на ажуре?)
И ворох граблей с синхронизацией

Alexey
10.12.2016
14:46:48
(в линукс кстати тоже хотят это пропихнуть но пока не выходит вроде цветочек альнкий)

Alex
10.12.2016
14:46:56
Ты же понимаешь, что мы теперь это будем спрашивать на собеседованиях?

Хотя

:(

Не будем

Alexey
10.12.2016
14:47:18
То есть - нет в нем никакого IOCP, просто select() обычный
1024 клиента should be enough for anyone! (c) IOCP author

Uncel
10.12.2016
14:47:20
Наркоманский вариант все в юзерспейсе и плевать на секурность

Google
Марк ☢
10.12.2016
14:48:15
Блять в селекте побитный скан фдсета

Говно

Alex
10.12.2016
14:48:35
Вот поэтому никогда

Никогда никогда никогда

Не используйте nginx под Windows

Alexey
10.12.2016
14:48:50
ладно, пофлудил, пойду дальше читать, а то понедельник приближается нехуйовыми темпами

Alex
10.12.2016
14:49:02
Пойду мясо жарить

Марк ☢
10.12.2016
14:49:09
Не используйте nginx под Windows
А шо есть попытки ?

Alex
10.12.2016
14:49:11
Точнее, тушить

А шо есть попытки ?
Жизнь долгая - какую только херню не увидишь

Combot
10.12.2016
15:22:26
combot.org/chat/-1001030317489

Roman
10.12.2016
15:40:31
«Важно понимать, что проектирование программы является пошаговым, последовательным процессом, как и обучение человека. Оно основано на экспериментах; сколько бы вы ни анализировали и ни планировали, в начале работы над проектом у вас еще останутся неясности. Процесс пойдет более успешно — и вы быстрее добьетесь результатов, если начнете «выращивать» свой проект как живое, эволюционирующее существо, нежели «воздвигнете» его сразу, как небоскреб из стекла и металла. Наследование и композиция — два важнейших инструмента объектно-ориентированного программирования, которые помогут вам выполнять эксперименты такого рода.» Отрывок из книги: Екель, Брюс. «Философия Java.» iBooks. Этот материал может быть защищен авторским правом.

Марк ☢
10.12.2016
16:12:23
И когда новички читают это мы видим адские говнопроги

Состоящие из 100500 косых классов с ифниками

Поэтому нашим программистам я говорю -- сначала напишите говно. В виде длинной простыни, с копипастами и тд. И уж только потом поймите как туда накрутить нужные классы или их иерархии

Google
Suika
10.12.2016
17:37:29
вопрос, что сейчас под xenial считается дровами для radeon?

Alex
10.12.2016
17:47:57
Закончилось все

ivan
10.12.2016
17:48:35
Ну слава КПСС

Иван
10.12.2016
17:52:13
Ребятушки, выручайте. Имею проблему и не знаю как грамотно решить. Есть сеть. В сети веб клиент (браузер) и веб сервер (nginx с вирт.хостами). Оба сидят в одной подсети. При попытке посетить веб ресурс по домену - попадаю в веб морду гейта.

Гейт рулит натом только на внешнем интерфейсе - локальный ему по боку. Соответственно DNS говорит мол ip домена - это ip гейта и веб клиент попадает в веб морду.

Вижу только два решения: 1. Оверрайдить домен на локальный DNS. 2. Править hosts клиентов -_-

Подскажите на сколько это корректное решение и в случае если нет - направление куда копать.

Driver
10.12.2016
17:55:02
Оверрайдить домен на локальный DNS

this

Иван
10.12.2016
17:55:27
Спасибо. DNS Forwarder/Resolver мне в помощь, верно?

Driver
10.12.2016
17:56:54
на DNS просто пропиши внутренний адрес нужных домеов для запросов из локалки

Иван
10.12.2016
17:57:20
Локальный DNS отсутствует. Только кэширующий форвардер на гейте.

Driver
10.12.2016
17:57:47
если умеет подставлять, то можно в нем поправить

Ibra
10.12.2016
18:24:46
а в java можно создать макрос для автоматической отправки сообщения по определенным условиям?

Aleserche
10.12.2016
18:29:15
что за макрос?

Ibra
10.12.2016
18:31:38
макрос для автоматической отправки сообщения по определенным условиям

ferret
10.12.2016
18:49:31
Локальный DNS отсутствует. Только кэширующий форвардер на гейте.
поставь dnsqmasq, он настраивается за пять минут. DNS зоны генерирует на основе файла хостов

Aleserche
10.12.2016
18:55:15
Alex
10.12.2016
19:04:32
я может что-то не пойму, но в java есть макросы?
Если джава называется “кложа”, то да

Google
Aleserche
10.12.2016
19:08:58
ну тогда ответ найдет

Иван
10.12.2016
19:11:02
ferret
10.12.2016
19:27:49
OpnSense как раз таки умеет, понял, буду ковырять доки
смотри сам. Но dnsmasq на самом деле настраивается за пять минут, и без ковыряния док. Конфиг интуитивный, а DNS гененирует на основе файла /etc/hosts

Иван
10.12.2016
19:28:22
Не хочется ворошить устои продукта

Разрабы хотят чтобы ковыряли веб интерф

И не лезли самостоятельно в конфиги

Roman
10.12.2016
19:37:02
Alex
10.12.2016
19:39:28
ШО? Саша, ты в порядке?
В виндовом nginx?

Нет там IOCP, нету

А что? Приделали разве?

Roman
10.12.2016
19:41:41
ну он действительно может копировать данные, надо посмотреть как оно у линукса в новых ядрах сделано, но это не самая большая проблема sendfile'а
в новых ядрах sendfile - это splice + internal pipe. часть, которая читает в пайп http://lxr.free-electrons.com/source/fs/splice.c#L307

В виндовом nginx?
в виндовом nginx - нет. в libuv - iocp. я глянул сорцы - там везде OVERLAPPED фигурирует.

Alex
10.12.2016
19:42:46
Мммм

Интересно

Ты вернул мне надежду

Страница 1772 из 4568