URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 134622
[ Назад ]

Исходное сообщение
"Выпуск Wine 9.16 и Wine staging 9.16"

Отправлено opennews , 24-Авг-24 08:52 
Опубликован экспериментальный выпуск открытой реализации Win32 API - Wine 9.16. С момента выпуска  9.15 было закрыто 25 отчётов об ошибках и внесено 281 изменение...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=61752


Содержание

Сообщения в этом обсуждении
"Выпуск Wine 9.16 и Wine staging 9.16"
Отправлено Аноним , 24-Авг-24 08:58 
> В движке MSHTML продолжена реализация поддержки прототипов объектов.

А почему просто не взять уже готовый JS-движок? Полно их, в том числе легковесных. Например у Божественного Nginx есть njs.


"Выпуск Wine 9.16 и Wine staging 9.16"
Отправлено Ilya Indigo , 25-Авг-24 02:06 
> у Божественного Nginx есть njs.

Вы сами привели пример лютого NIH-синдрома у Бартенева, когда во-первых был гораздо более быстрый и функциональный lua-модуль от openResty, а во-вторых есть куча готовых JS-движков, например muJS, но Валентин, как всегда, выбрал путь своего велосипеда с квадратными колёсами.


"Выпуск Wine 9.16 и Wine staging 9.16"
Отправлено Аноним , 25-Авг-24 12:12 
Про свой велосипед — понимаю (хотя велосипед изобретают со времён его появления, и потому мы имеем современный велосипед, а не доску на колёсах, ну да ладно).
Но почему с квадратными-то?

"Выпуск Wine 9.16 и Wine staging 9.16"
Отправлено Ilya Indigo , 25-Авг-24 15:11 
> Про свой велосипед — понимаю (хотя велосипед изобретают со времён его появления,
> и потому мы имеем современный велосипед, а не доску на колёсах,
> ну да ладно).
> Но почему с квадратными-то?

Здравствуйте, Валентин!

Подгорело у меня 4 месяца назад, когда я решал задачу, по моему мнению, которая вполне распространённая и должна решаться нативно в nginx!

На самом деле уже лет 10 назад задумывался как это сделать, но не было острой нужды и до реализации не доходило.

Допустим, социальная сеть, куда пользователь заливает много картинок, которые много смотрят другие пользователи.
И к каждой картинке нужно определить кому можно смотреть - а кому нет!
Каждый пользователь заливает много фотографий и часто их смотрит и некоторые из них или личные или доступные только определённому кругу лиц, а некоторые, причём подавляющее большинство - публичные и доступны всем. Режим видимости/доступности меняется для любой фотографии или альбома.

В качестве авторизации пользователя используется сессия PHP с хранилищем в Redis.
Велосипедить со стандартной авторизацией в nginx и как-то синхронизировать её с php явно не мой вариант!

Для упрощения, приведу алгоритм, когда только владелец, когда авторизирован, должен видеть свои фотографии, а всем остальным вместо целевой картинки отдавать или картинку по умолчанию или картинку 403.
1 nginx перехватив определённый location с запросом на статический ресурс, извлекает из URI ID владельца фотографии.
2 nginx проверяет наличие и получает получает куку с сессией.
3 nginx обращается к redis чтобы провести авторизацию, проверяя есть ли в сессии такой ключ, и если есть то пользователю с каким ID он принадлежит.
4 nginx сверяет ID из URI и из сессии, и еслм иони совпадают, то статический контент отдаётся, в любом ином случае - отдаётся контент по умолчанию вместо запрашиваемого.

С 1 и 2 пунктами нативный nginx справляется, а вот с 3 и 4 по моему мнению, должен быть стандартный модуль redis, решающий эту задачу.

GPT меня сразу отправил решать задачу через OpenResty, я же до последнего не хотел его использовать и пытался решить задачу доступными и нативными модулями, на что убил 2 недели.
Существует аж 2 модуля redis
1 http_redis https://build.opensuse.org/package/show/server:http/nginx-mo...
2 redis2 https://build.opensuse.org/package/show/server:http/nginx-mo...

1-ый годится лишь для жёсткого кеширования, он ищет URI целиком и в случае успеха отдаёьт пользователю этот контент вместо целевого. И это единственное что можно с помощью него сделать.
2-ой, как оказалось, вообще не для чего не годен, так как он весь результат взаимодействия с redis тупо выплёвыут в stdout в текстовом виде, так если бы этот скопировать и вставить через консольный клиент, со всеми лишними данными, ответами, статусами.
Получит конкретный вывод, как и сохранить его в переменную нельзя!
Толку от них нет.

Я курочил njs-модуль думал что наверняка в нём, как и в lua, должен быть способ обратиться к redis, это же нативный модуль от разработчиков nginx, они наверняка должны были это реализовать, думал я до последнего!

Потом поняв как собирать lua-модуль, а для этого собрать luajit2 (форк luajit от OpenResty), да ещё и пропатчить его так, чтобы она не конфликтовал с оригинальным luajit и в системе могли существовать одновременно, и изучив lua 5.1 за 2 вечера я это сделал.

При этом в lua-модуле есть воистину Божественный lua_shared_dict https://github.com/openresty/lua-nginx-module?tab=readme-ov-...
который по функционалу напоминает redis и может кешировать ответ от redis, который будет доступен всем рабочим процессам nginx пока не истечёт срок действия или nginx не перезагрузится.

И после этого я стал считать ваш модуль njs велосипедом с квадратными колёсами, который бесполезен и вторичен по отношению к lua-модулю, который может гораздо больше, и гораздо продуманее и позволяет решать многоие типичные задачи, причём только он их позволят решать!


"Выпуск Wine 9.16 и Wine staging 9.16"
Отправлено Аноним , 24-Авг-24 10:32 
У кого есть время протестируйте в Deadlock:
https://store.steampowered.com/app/1422450/Deadlock/
Она ещё в раннем доступе, но инвайты можно быстро найти при желании :)

"Выпуск Wine 9.16 и Wine staging 9.16"
Отправлено Аноним , 24-Авг-24 10:52 
Она не нативная для линукса?

"Выпуск Wine 9.16 и Wine staging 9.16"
Отправлено nume , 24-Авг-24 11:22 
Движок тот же что и у cs2 и dota2

"Выпуск Wine 9.16 и Wine staging 9.16"
Отправлено Аноним , 24-Авг-24 17:05 
Что совершенно не обязывает авторов делать сборку под Linux.

"Выпуск Wine 9.16 и Wine staging 9.16"
Отправлено Kerr , 24-Авг-24 12:11 
https://www.protondb.com/search?q=deadlock

"Выпуск Wine 9.16 и Wine staging 9.16"
Отправлено Beta Version , 24-Авг-24 18:50 
Пишут, что в Протоне норм работает.
Линукс-натив будет, видимо, на релизе.

"Выпуск Wine 9.16 и Wine staging 9.16"
Отправлено n00by , 27-Авг-24 14:37 
Обычно не ставлю минусы, но тут влепил за неумелую рекламную компанию. Читатель должен сам набрать в поисковике, что бы понять, надо ли ему это.

"Выпуск Wine 9.16 и Wine staging 9.16"
Отправлено Аноним , 28-Авг-24 19:42 
Играл её без проблем. Я даже не знал, что оно само запускается под Proton Experimental, до момента пока там какой-то игровой файл не потерялся и оно выплюнуло ошибку с вайновым путём.

"Выпуск Wine 9.16 и Wine staging 9.16"
Отправлено Шарп , 24-Авг-24 11:16 
>открытой реализации Win32 API

Лучшего api для игр и единственный стабильный api в линуксе.


"Выпуск Wine 9.16 и Wine staging 9.16"
Отправлено Аноним , 24-Авг-24 20:59 
Действительно. В Линуксе WinAPI гораздо стабильнее, чем на самой Винде.

"Выпуск Wine 9.16 и Wine staging 9.16"
Отправлено Аноним , 24-Авг-24 11:29 
Когда уже можно будет окончательно выкинуть винду на помойку? Не хочу переходить на 11 с его ИИ скринлоггером.

"Выпуск Wine 9.16 и Wine staging 9.16"
Отправлено Аноним , 24-Авг-24 11:54 
Выкинуть можно уже сейчас. Я его выкинул еще во времена XP. Висту и все остальные видел только на скриншотах.

"Выпуск Wine 9.16 и Wine staging 9.16"
Отправлено Аноним , 24-Авг-24 15:08 
А зря. Vista не взлетела чисто из за того, что не шла на XPшном железе. Для XP было норм иметь 128-256Мб оперативы. Для Висты надо 1Гб. Но прикол в том, что 7ка, которая была вроде норм, была по сути той же Вистой и никто не жаловался. А вот дальше они уже пошли не туда. Чисто технически 8ка была норм, но попытки навязать интерфейс на манер WP8, чтобы юзеры типа привыкли и покупали хлам от М$ - это была полная лажа.

"Выпуск Wine 9.16 и Wine staging 9.16"
Отправлено Аноним , 24-Авг-24 16:51 
Выкинуть можно было ещё в конце 90-х. Вопрос в том, чем вы готовы пожертвовать.
И этот вопрос и сейчас не потерял своей актуальности.

"Выпуск Wine 9.16 и Wine staging 9.16"
Отправлено iPony129412 , 24-Авг-24 12:42 
Значит у тебя нет цели уходить с венды.
Если бы задался целью, то быстро бы перешёл на тот же линуксом махая аргументом «что не работает под линуксом, то ненужно — обойдусь».

"Выпуск Wine 9.16 и Wine staging 9.16"
Отправлено AleksK , 24-Авг-24 17:32 
Все что мне надо отлично работает на линуксе. Или по-твоему все у кого есть компьютер просто обязаны поставить на него фотошоп и Автокад?

"Выпуск Wine 9.16 и Wine staging 9.16"
Отправлено КО , 24-Авг-24 17:37 
Ну если ты только в косынку играешь флаг тебе в руки

"Выпуск Wine 9.16 и Wine staging 9.16"
Отправлено AleksK , 24-Авг-24 18:36 
Вот тест Black Myth: Wukong на Win 11 скрин с ютуба
https://postimg.cc/Jy1D87cb

А вот тест на абсолютно такой же видяхе у меня на Fedora 40
https://postimg.cc/Ln1ZBb8Z

Сойдет такая косынка?


"Выпуск Wine 9.16 и Wine staging 9.16"
Отправлено n00by , 27-Авг-24 14:40 
Когда AMD наконец исправить живущий годами amdgpu: [gfxhub] page fault в корне для всех, а не только костылём для APU Steam Deck.

"Выпуск Wine 9.16 и Wine staging 9.16"
Отправлено Аноним , 28-Авг-24 17:02 
Почему ссылка в новости на wine-staging ведёт на левый репозиторий, не имеющий никакого отношения к проекту Wine? Через такие репозитории могут распространяются бэкдоры и вредоносное ПО. Официальный репозиторий только https://gitlab.winehq.org/wine/wine-staging