The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Redbean 2.0 - платформа для web-приложений, упакованных в универсальный исполняемый ZIP-архив

25.06.2022 15:31

Представлен выпуск проекта Redbean 2.0, позволяющего поставлять web-приложения в форме универсального исполняемого файла со встроенным web-сервером, поддерживающего выполнение в Linux, Windows, MacOS, FreeBSD, NetBSD и OpenBSD. Файл, в котором скомпонованы все связанные с web-приложением и сервером ресурсы, при этом совместим с форматом архивов ZIP и позволяет использовать утилиту zip для добавления дополнительных файлов. Возможность запуска одного файла в разных ОС и его распознание как ZIP-архива достигается благодаря манипуляциям с заголовками исполняемых файлов и связыванием с многоплатформенной стандартной Си-библиотекой Cosmopolitan. Код проекта распространяется под лицензией ISC.

Разработчик web-приложения может при помощи утилиты zip добавить в предлагаемый базовый файл с web-сервером свои HTML- и Lua-файлы и получить на выходе самодостаточное web-приложение, выполняемое во всех популярных ОС и для работы не требующее запуска в системе отдельного web-сервера. Предлагаемый встроенный web-сервер позволяет взаимодействовать с сохранённым в файле web-приложением через обращение к localhost, но сервер также может применяться и в качестве обычного публичного web-сервера (например, данный сервер обслуживает сайт проекта).

Встроенный Web-сервер поддерживает обращение по HTTPS и может выполняться с использованием sandbox-изоляции, позволяющей контролировать к каким системным интерфейсам производится обращение. Для управления работой сервера во время его выполнения предоставляется интерактивный интерфейс REPL (на базе Lua REPL и библиотеки bestline, аналога GNU Readline), дающий возможность изменять состояние процесса в интерактивном режиме.

Утверждается, что web-сервер способен обработать более миллиона запросов в секунду на обычном ПК, отдавая html-контент, сжатый методом gzip. Высокой производительности способствует то, что zip и gzip используют общий формат, поэтому данные отдаются без перепаковки из уже сжатых областей в zip-файле. Кроме того, так как исполняемый файл создан с использованием статического связывания и имеет небольшой размер, вызов функции fork для него практически не приводит к накладным расходам при размещении в памяти.

Помимо обработки статического web-контента и выполнения JavaScript в браузере, логика web-приложения может расширяться при помощи скриптов на языке Lua, web-фреймворка Fullmoon и СУБД SQLite. Среди дополнительных возможностей отмечается поддержка схемы хэширования паролей argon2, возможность определения региона IP по базе MaxMind и доступ к Unix API библиотеки Cosmopolitan. Размер базового стека, включающего web-сервер, MbedTLS, Cosmopolitan, Lua и SQLite, составляет всего 1.9 МБ.

Универсальный исполняемый файл формируется путём совмещения специфичных для разных операционных систем сегментов и заголовков PE, ELF, MACHO, OPENBSD, ZIP в одном файле. Для обеспечения запуска одного исполняемого файла в Windows и Unix-системах применяется трюк, суть которого в кодировании файлов Windows PE в виде shell-скрипта, пользуясь тем, что Thompson Shell не использует маркер скриптов "#!". В итоге создаётся исполняемый файл, в котором скомбинировано несколько разных форматов, используемых в Linux, BSD, Windows и macOS.


   $ curl https://redbean.dev/redbean-demo-2.0.7.com >redbean.com
   $ chmod +x redbean.com

   $ zip redbean.com hello.html
   $ zip redbean.com hello.lua
 
   $ ./redbean.com -vv
   I2022-06-23T08:27:14+000767:redbean] (srvr) listen   http://127.0.0.1:8080
   >: waiting for command...

   $ curl https://127.0.0.1:8080/hello.html
   hello
   
   $ printf 'GET /hello.lua\n\n' | nc 127.0.0.1 8080
   hello




  1. Главная ссылка к новости (https://justine.lol/redbean2/...)
  2. OpenNews: Cosmopolitan - стандартная Си-библиотека и формат кроссплатформенных исполняемых файлов
  3. OpenNews: Анализ использования фрагментов уязвимых библиотек в исполняемом коде
  4. OpenNews: FatELF - формат для упаковки в исполняемый файл поддержки разных платформ
  5. OpenNews: Выпуск Electron 19.0.0, платформы создания приложений на базе движка Chromium
  6. OpenNews: Tauri 1.0 - конкурирующая с Electron платформа для создания пользовательских приложений
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/57407-redbean
Ключевые слова: redbean, cosmopolitan, lua, web
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (133) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 16:12, 25/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +10 +/
    Electron здорового человека.
     
     
  • 2.4, Аноним (4), 16:28, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Да, без графла и мультимедии. Данунафиг таких здоровых.
     
     
  • 3.25, Аноним (25), 20:37, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Нафиг тех, кто пихает один и тот же всем известный браузер под 300 МБ в каждое приложение вместо того, чтобы использовать системный
     
     
  • 4.48, Аноним (-), 10:00, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    У конкретно тех типажей по ссылке формат исполняемого файла все же угарный. Я так понимаю что оно может запускаться на всем что шевелится. От винды как PE EXE, до *никсов как шелскрипт, и даже, цуко, BIOS бутсектор(!!!). А что, электронщики, вам так слабо?
     
     
  • 5.55, Аноним (-), 10:29, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати там и еще прикольных артефактов есть. Ну вот например https://github.com/jart/cosmopolitan/blob/1.0/libc/str/lz4cpy.c - распаковщик LZ4 с издевательски коротким сорцом, как впрочем и мизерным размером анпакера.

    А неплохо этот системный типок разошелся. При всем антипатиям к x86 и винде, он таки талант и "хакер" в том что нашел крайне нестандартные применения привычным вещам.

     
     
  • 6.65, n00by (ok), 10:55, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Типок? Есть сведения, что Жюстина Александра использует труд "литературны рабов"?
     
     
  • 7.76, Аноним (-), 13:46, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Ух, не знаю, но список реп у него достоен стандартного вебмакачного хипстера, на почти 200 наименований всякого мусора. По 90% реп в жизни не подумаешь что там такие драгоценные камешки местами зарыты. А вот поди ж ты. Может ему вебмакачить надоело и он решил показать что он таки на самом деле - человек разумный, а вовсе не. Кто там его знает.
     
     
  • 8.106, Аноним (106), 23:58, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Сам на чём пишешь Покажи что написал... текст свёрнут, показать
     
  • 7.78, Аноним (78), 13:57, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Типок? Есть сведения, что Жюстина Александра использует труд "литературны рабов"?

    В смысле, вы намекали что он (она, оно, они, whatever) еще и мадам? На гитхабе в той репе (на которую ссыль с сайта сабжа) у юзеря было написано Justine Tunney - и по такому обозначению вообще этот момент не особо понятен. Да и честно говоря, мне технические моменты интереснее их подробностей биологии. С форматом банаря довольно забавно придумано.

     
     
  • 8.91, n00by (ok), 16:35, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Жюстина мадемуазель, из приличной семьи, борется с банками и корпорациями https ... текст свёрнут, показать
     
     
  • 9.95, Аноним (95), 18:48, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошая, правильная мадемуазель, я б сказал А вот ты, человек, прислал линк на ... большой текст свёрнут, показать
     
     
  • 10.112, n00by (ok), 08:52, 27/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Это линк с сайта правильной мадемуазель Мне сложно это оценить по достоинству, ... большой текст свёрнут, показать
     
     
  • 11.119, Аноним (-), 00:47, 28/06/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Блин, перехвалил Тогда вы многое не знаете о тулчейне, как он генерит программы... большой текст свёрнут, показать
     
     
  • 12.123, n00by (ok), 09:42, 28/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот там есть некоторые противоречия, отчего я и предположил, что на деле може... большой текст свёрнут, показать
     
     
  • 13.126, Аноним (-), 15:53, 28/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Вот и я не понимаю как они настолько разные Хотя может им там просто вебмакачит... большой текст свёрнут, показать
     
     
  • 14.132, n00by (ok), 08:24, 29/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Эксперты уже докопались до правды так то мне тоже интересен в первую очередь ... большой текст свёрнут, показать
     
     
  • 15.135, Аноним (-), 22:56, 29/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Как по мне они могут быть хоть тайным обществом марсиан если выдают на гора что-... большой текст свёрнут, показать
     
     
  • 16.138, n00by (ok), 11:14, 30/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Так я сразу и написал, что мало кто захочет поддерживать И это не всегда минус ... большой текст свёрнут, показать
     
     
  • 17.139, Аноним (-), 02:48, 01/07/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Тихо, сам с собою, правою рукою c Ларри МакЛаффер Шелл может уже быть вгруж... большой текст свёрнут, показать
     
     
  • 18.140, n00by (ok), 09:31, 01/07/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Во Оказывается, надо ещё и тестить И когда сам с этим постоянно работаешь, то ... текст свёрнут, показать
     
     
  • 19.144, Аноним (144), 14:58, 03/07/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ага Но вы кажется лечение головной боли методом гильотины т е хрен вам а не б... текст свёрнут, показать
     
     
  • 20.146, n00by (ok), 09:05, 04/07/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Так у меня нет головной боли с Виндосом, я её удалил давно Правда, виндузятн... текст свёрнут, показать
     
  • 9.129, Тфьу (?), 23:02, 28/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Насчёт мадмуазели, тем более правильной , как пишут ниже Это мальчик был изнач... текст свёрнут, показать
     
     
  • 10.130, Аноним (130), 07:16, 29/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Какой облом для бедного Нуби ... текст свёрнут, показать
     
     
  • 11.133, n00by (ok), 08:26, 29/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Нуби не первый день в этих ваших интернетах, что бы самому проводить подобные ис... текст свёрнут, показать
     
  • 9.131, Аноним (130), 07:19, 29/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Трусы или крестик... текст свёрнут, показать
     
  • 3.62, Аноним (-), 10:49, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Да, без графла и мультимедии. Данунафиг таких здоровых.

    Почему без графла и мультимедии? Это твой браузер обеспечит вон тому вебсерверу в контейнере :)

     
  • 2.9, КО (?), 16:53, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    А альтернативы есть?
     
     
  • 3.18, Аноним (18), 19:02, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Альтернатив пиханию веб приложения и веб сервера на один и тот же компьютер? Но ведь смысл веба он в другом совсем. А для локальных приложений уже 25 лет ей разные фреймворки.
     
     
  • 4.51, Аноним (51), 10:07, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Альтернатив пиханию веб приложения и веб сервера на один и тот же компьютер?

    А таки думается что "опакетить" вон так нечто типа LWAN+вебни так что он запускался бы и на винде, и в линухе и на чем там еще (оно даже qemu с собой пинать умеет в случае если это ARM!) было бы довольно стебно.

    А вместо электрона - обычный браузер юзера. Зачем в системе 2 браузера? Даже из пакета электрона? Правда у этих типов бинарь не очень мелкий, 2 мега получился.

     
  • 4.82, Аноним (82), 14:52, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В том-то и проблема, что разных. И ещё много разных библиотек, которые путаются объединить все эти разные. И так по кругу, каждый своё.
     
  • 4.114, Bob (??), 12:55, 27/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Альтернатива — это PWA. Нужное с сервера — включено для работы офлайн. Критическое — оставлено на сервере.
    --
    Лет 20 назад — смысл был в другом. Вовлечь в интернет. А сейчас — просочить всё интернетом.
    --
    Сегодня веб-браузер — это разжиревшая jvm до уровня ОС, а сайты пытаются в PWA, ибо:
    1) нет комиссии за платежи
    2) минимизация затрат на разработку
    3) небывалое расширение функционала
    4) глубокое проникновение в пользователей
    Кратко: переход от модели "конечных продаж" в "XaaS", где "Х" - что-угодно. ааS — как сервис\услуга.
     
  • 3.31, Самый Лучший Гусь (?), 21:08, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В арче опакетили электрон, как зависимость для других пакетов. Так пакет bitwarden[1] в распакованом виде 24.7 MB занимает. Не так уж и мало, но не сказать, что очень много.

    1. https://archlinux.org/packages/community/x86_64/bitwarden/

     
     
  • 4.63, Аноним (-), 10:52, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > 1. https://archlinux.org/packages/community/x86_64/bitwarden/

    Почти 25 мегов вебмакакятины чтобы пароли менеджить? Надо еще notes на собственном загрузочном сидюке сделать, пля. Чтобы юзер уж точно на бумажке записывал чем это бутявить.

     

  • 1.2, Аноним (2), 16:25, 25/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Очень неплохо судя по описанию 👍
     
     
  • 2.39, YetAnotherOnanym (ok), 23:40, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Судя по описанию, автор крепко дунул 31 марта для раскрепощения фантазии и до сих пор продолжает праздновать 1 апреля.
     
     
  • 3.60, Аноним (-), 10:43, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Гибрид системщика и вебмакаки с лиспером - это вообще нечто заведомо внеклассовое.
     

  • 1.3, Аноним (3), 16:26, 25/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +11 +/
    Давайте писать приложения на js и упаковывать их в zip с apache и chromium.
     
     
  • 2.5, Аноним (5), 16:32, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ты электрон 2 хочешь придумать?
     
     
  • 3.8, Брат Анон (ok), 16:37, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    А что, есть какие-то запреты?))
     
     
  • 4.24, Аноним (24), 20:37, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Тогда давай туда добавим ещё виртуальную Oberon-машину, написанную на JS.
     
     
  • 5.56, Аноним (-), 10:32, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Вон тот тип бутстрапнул LISP из бутсектора. И с JS так то у него тоже что-то есть. Он просто грандмастер скрещивания ежа с ужом, поэтому будь осторожен в своих желаниях - они могут исполниться.
     
     
  • 6.96, Аноним (-), 18:52, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Вон тот тип бутстрапнул LISP из бутсектора. И с JS так то
    > у него тоже что-то есть. Он просто грандмастер скрещивания ежа с
    > ужом, поэтому будь осторожен в своих желаниях - они могут исполниться.

    Небольшой фикс, из зала подсказали что Justine Tunney - таки еще и мадмуазель. Английская языка такая сложная, поди определи с наскока кто есть Justine Tunney :)))

     
     
  • 7.98, Аноним (-), 19:04, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Небольшой фикс, из зала подсказали что Justine Tunney - таки еще и мадмуазель. Английская языка такая сложная, поди определи с наскока кто есть Justine Tunney :)))

    Вообще-то, мужской вариант имени - Jusin.

     
     
  • 8.101, Аноним (-), 19:07, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    быстрофикс Justin ... текст свёрнут, показать
     
  • 8.102, Аноним (-), 19:09, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А местный Prokoudine тогда сойдет за мадам Прокудину ... текст свёрнут, показать
     
  • 5.134, Брат Анон (ok), 09:31, 29/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Тогда давай туда добавим ещё виртуальную Oberon-машину, написанную на JS.

    Вообще-то, она давно существует и работает прямо у тебя в браузере, анон. Так что, прежде чем шутить, ты бы погуглил, пока гугель не забанили.

     

  • 1.7, Брат Анон (ok), 16:37, 25/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    > Утверждается, что web-сервер способен обработать более миллиона
    > запросов в секунду на обычном ПК

    Вот до этого момента я благосклонно смотрел на новость. МИЛЛИОН запросов в секунду??))) Эххх... Молодёжжжжь...

    Даже готов был простить "zip и gzip используют общий формат, поэтому данные отдаются без перепаковки из уже сжатых областей в zip-файле". Статику так отдать можно. Но каким боком тут тогда скрипты?! А если работают скрипты -- какая нафиг статика?!

    Всё понимаю, прекрасно, что поддерживается мультиплатформенность из одного файла, но зачем?....

    Так много вопросов и так мало ответов.

    Немного отсебятины: гошечка умеет статически вкомпилировать все необходимые данные для отображения страницы со всеми потрохами, умеет изображать из себя веб-сервер, мультиплатформенна и немного быстрее Lua. Раз так в 30..40 (в зависимости от криворукости программиста на Lua и Go). Интерпретатор Lua на Go -- есть. Интерпретатора Go на Lua -- нет.

     
     
  • 2.11, Без аргументов (?), 17:02, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Го похож на Си, еще и к int64 нельзя int8 присвоить без явного преобразования, а это кошмар для вебмакак
     
     
  • 3.15, Брат Анон (ok), 18:47, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Го похож на Си, еще и к int64 нельзя int8 присвоить без
    > явного преобразования, а это кошмар для вебмакак

    Прикинь, в Си можно присвоить с автоматическим приведением типа.

     
     
  • 4.22, Без аргументов (?), 20:16, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я знаю Си уже с десяток лет. Вы неправильно прочитали. Я говорю, что в Го помимо прочего еще строже с типами
     
     
  • 5.37, Аноним (106), 22:24, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • –4 +/
    И что ты за 10 лет написал. Покажи
     
     
  • 6.87, Без аргументов (?), 15:50, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты всё равно не поймешь. Он же не на вебмакакачьем языке.
     
     
  • 7.107, Аноним (106), 00:25, 27/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Тоесть ничего...
    Ничего страшного, для opennet это нормально...
     
  • 3.20, Аноним (-), 19:52, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Вебмакаки как раз любят когда явных преобразований нет. Если бы ты заглянул хоть раз в js который они пишут, то там запросто можно нарваться на переменную, которая в зависимости по ситуации может хранить в себе null, int или float. А иногда ещё и string добавляется к списку. Так что это именно вебмакаки очень любят устраивать мешанину из разных типов, отдавая на откуп компилятору/интерпретатору все приведения типов.
     
     
  • 4.21, Бывалый смузихлёб (?), 20:10, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    но почему-то "вебмакаки" вполне знают, что, например, прибавление числа к строке приведёт к конкатенации( т.е "3" + 2 = "32" )
    тем более, что последние годы переменные из общего var разделились на let и const, причём последняя используется несравненно чаще

    и, да, если есть возмонждсоть, то почему бы с типами не париться подобию компилятора а не проггеру ? Оно всё равно либо интерпретируется( долго ), либо - JITится( работает быстрее но есть нюансы в тюк по типам передаваемых переменных )
    тем более, что на стороне жси машины, его исполняющей, гораздо бОльшая проблема - не типы, а сколько планировать выделения памяти под конкретную функцию

     
  • 4.23, Без аргументов (?), 20:17, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Вы читать умеете? Я и написал, что типы - это для них кошмар, т.е. они не любят это
     
     
  • 5.47, Ф1 (?), 08:10, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >Я и написал, что типы - это для них кошмар, т.е. они не любят это

    Но TypeScript при этом растет как на дрожжах.

     
     
  • 6.120, Аноним (-), 00:51, 28/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Но TypeScript при этом растет как на дрожжах.

    ...кинутых в выгребную яму, каковой та экосистема является.

     
  • 5.53, Аноним (106), 10:10, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Для кого для них? Для воображаемых обезьянок?
    Фронтэнд разработка сейчас чаще всего происходит на typescript
    Бэкэнд если на php то там тоже ввели  статическую типизацию
    Если бэкэнд на java, c#, kotlin то ничего кроме строгой статической типизации нет
     
  • 4.57, Аноним (-), 10:34, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Вебмакаки как раз любят когда явных преобразований нет.

    А е...ся в дебагом непонятных глюков в мало-мальски сложном проекте они потом любят? Или чего это их на всякие тайпскрипты с горя поперло? Может, потому что иногда дебажить можно и задолбаться, при отсутствии аннотации намерений кодера то? :)

     
     
  • 5.68, Аноним (68), 11:51, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Именно так у нас и происходит. Контрольная панель на react, при этом ни propTypes, ни jsdoc анотаций и даже бэкэнд на spring написан так что не понятно что именно передается.
    В итоге приходится постоянно тыкать console.log и дописывать propTypes и jsdoc. Мечтаю переписать всё на typescript, но этого никогда не будет
     
     
  • 6.77, Аноним (78), 13:53, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну вот на третий день цатьго года долботни зоркий глаз замечает что без инфор... большой текст свёрнут, показать
     
     
  • 7.90, Аноним (106), 16:30, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А ты на чём пишешь? Покажи свой код
     
  • 4.69, Аноним (68), 11:55, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В javascript у всех типов разные методы, невозможно отдать что-то на откуп интерпретатору потому что действия кроме базовых операций отличаются.
     
  • 3.30, Аноним (106), 20:55, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    "Зато местные критики - эксперты во всём: в архитектуре (могут написать 10 строчек на асме и знают про кэш), компиляторах (прочитали названия глав в книге с драконом), теории типов (лучший тип - void*), проектировании языков программирования (Rust - плохо, там закорючек много, а вот Pascal - норм, там слова) и телепатии ("они не знаю то", "они не знают это"). При этом свой код не показывают, потому что достигли просветления и поняли, что лучший код - это его отсутствие."

    Вы случайно не эксперт в телепатии?

     
     
  • 4.35, Без аргументов (?), 22:16, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Я не показываю код, т.к. он в основном был на работах, либо лет 10 назад, который похерил. Но я действительно изучал и архитектуру ЭВМ, и автоматы, и организацию памяти, защищенный режим, и даже на ассемблере писал, в т.ч. на MASM, а не только DOS. И микроконтроллеры без всрастов и NodeMCU с Iskra JS. И сидел через GPRS и диалап на форумах и в мессендежерах, которые выполняли свою функцию. А эти щаз пройдут курс на ютубе "фуллстэк нодежс за 3 часа", и мнят себя хрен знает кем.
     
     
  • 5.52, Апрем (?), 10:10, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Ничего ты из перечисленного не писал и ни в чём ты не разбираешься. Ты лишь обчитался википедии и тредов на опенете с лором. И теперь, сидя на шее мамки или несчастной супруги, пропердываешь с утра до вечера свои семейники, высказывая на форумах в интернете свое очень важное ничего не значащее мнение по абсолютно любому поводу. Потому что хочется тебе быть тем, кем ты стать не сумел. А то, что кто-то, хотя бы в теории, насмотревшись пусть даже видео, кем-то становятся - вгоняет тебя в еще большее уныние и заставляет описывать свои фантазии с еще большим рвением. Такова твоя защитная психология, оберегающая твою самооценку. В реальной жизни ты пустое место, приспособленец.
     
     
  • 6.70, Без аргументов (?), 12:42, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    У меня диплом магистра красный, чудила, по информатике и ВТ. Я не только пропёрдываю, я работаю в свободном графике столько, сколько захочу. И я уже давно не с мамкой живу, а в собственном доме на 50 сотках земли. Есть одна проблема -- у меня плохо ловит связь из-за металлической крыши, и вебмамакачьи поделия еле грузят и отваливаются.
     
     
  • 7.72, Апрем (?), 12:57, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Маме своей про диплом рассказывать будешь, неудачник необразованный.
     
     
  • 8.83, Без аргументов (?), 15:39, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну вот если бы ты хотя бы обучался, то знал хотя бы как работает компьютер И не... текст свёрнут, показать
     
  • 8.85, Без аргументов (?), 15:42, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Почему неудачник то Я говнософт не делаю А если делаю, то в СВОЁ удовольствие,... текст свёрнут, показать
     
     
  • 9.93, Аноним (106), 17:10, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Лучший код это тот которого нет... текст свёрнут, показать
     
     
  • 10.111, Без аргументов (?), 00:52, 27/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    как у вас там говорится, Undefined... текст свёрнут, показать
     
  • 8.88, Без аргументов (?), 15:57, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Если ты распечатаешь список файлов из папки node_modules, сможешь поклеить мамке... текст свёрнут, показать
     
  • 7.79, Аноним (-), 14:03, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > ловит связь из-за металлической крыши, и вебмамакачьи поделия еле грузят и отваливаются.

    Вывеси свисток за борт, желательно в фокус чего-то параболического нацеленого на соту, если она далеко. Конечно прикрыв от воды. Охренеешь с разницы. Вебмакак это впрочем не извиняет, да и сотовые вышки бывают перегружены толпой тех кто там повис. К тому же от парсинга либы на метр браузер встает раком на солидное время хоть там что. Может кого прикалывает дерганый лагучий интерфейс и взревы проца кулером но это не я.

     
     
  • 8.84, Без аргументов (?), 15:40, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Свисток вывешен А вот телефон нет Еще и БС перегружены все ... текст свёрнут, показать
     
     
  • 9.97, Аноним (-), 18:55, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так вафлей со свистка ему раздать Впрочем от дерганого парсинга мегабайтных либ... текст свёрнут, показать
     
  • 6.71, Без аргументов (?), 12:52, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Про механизм защиты самооценки не в моём случае. Я просто троллю 60% макак.
     
     
  • 7.104, Аноним (106), 23:55, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Вы когда проходите к зеркалу осознаёте что "лучше" "60% макак"?
     
     
  • 8.110, Без аргументов (?), 00:51, 27/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Да, потому что я могу написать SPA-вебню без фреймворков И десктопное ПО без Эл... текст свёрнут, показать
     
     
  • 9.116, Аноним (106), 21:05, 27/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    И много spa приложений уже написал Покажи хоть одно Почему-то на предложение ... текст свёрнут, показать
     
  • 5.74, n00by (ok), 13:21, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > на ассемблере писал, в т.ч. на MASM, а не только DOS.

    MASM же как раз под DOS. Под Виндос он назывался MASM32 (некто Huth выдрал транслятор с либами из Студии).

     
     
  • 6.141, Брат Анон (ok), 13:13, 02/07/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> на ассемблере писал, в т.ч. на MASM, а не только DOS.
    > MASM же как раз под DOS. Под Виндос он назывался MASM32 (некто
    > Huth выдрал транслятор с либами из Студии).

    Не как раз. И под Вин32 прекрасно компилит.

     
     
  • 7.142, n00by (ok), 07:29, 03/07/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >>> на ассемблере писал, в т.ч. на MASM, а не только DOS.
    >> MASM же как раз под DOS. Под Виндос он назывался MASM32 (некто
    >> Huth выдрал транслятор с либами из Студии).
    > Не как раз. И под Вин32 прекрасно компилит.

    Что именно прекрасно компилит? ml.exe 14-й версии из VisualStudio? Или более старая из DDK? Или транслятор из пакета MASM, который Микрософт прекратила продавать в 90-х годах, берёт заголовочные файлы из космоса, прекрасно компилит новые инструкции (я про MMX, а не SSE4) и линкует в валидный PE/COFF? Зачем тогда вот это https://www.masm32.com

     
     
  • 8.143, Брат Анон (ok), 14:20, 03/07/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну ты бы ещё окаменевшее это самое мамонта для компиляции взял masm32 -- для ве... текст свёрнут, показать
     
     
  • 9.147, n00by (ok), 09:13, 04/07/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Дык я и написал, что под Виндовс он правильнее называется MASM32 ... текст свёрнут, показать
     
  • 4.36, Без аргументов (?), 22:18, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это не телепатия, это статистика.
     
     
  • 5.38, Аноним (106), 22:29, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А статистические данные берешь прямо из своей головы или из какого места выковыриваешь?
     
     
  • 6.40, YetAnotherOnanym (ok), 23:43, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А это смотря для кого.
     
  • 5.50, Аноним (106), 10:01, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тогда покажите статистические данные?
     
     
  • 6.86, Без аргументов (?), 15:48, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Может вам еще докторскую диссертацию о вебмакаках написать?
     
     
  • 7.92, Аноним (106), 16:35, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тоесть статистических данных нет, а в комментариях вы описываете воображаемых веб-обезьянок
     
     
  • 8.100, Аноним (-), 19:06, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты как будто первый раз на опеннет зашел Даю подсказку тут еще очень распростр... текст свёрнут, показать
     
     
  • 9.108, Без аргументов (?), 00:47, 27/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Уважающий себя и других человек не будет подстраиваться под NPM, NodeJS и прочее... текст свёрнут, показать
     
  • 9.109, Без аргументов (?), 00:48, 27/06/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Кроме того, эти обезьянки не понимают, что когда им разрешают ходить в тапочках ... текст свёрнут, показать
     
     
  • 10.117, Аноним (106), 21:13, 27/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ты же понимаешь что когда красочно описываешь воображаемых обезьянок вебмакаки... текст свёрнут, показать
     
  • 10.118, Аноним (106), 21:23, 27/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    https ru m wikipedia org wiki D0 9F D1 80 D0 BE D0 B5 D0 BA D1 86 D0 B8 D1 8F... текст свёрнут, показать
     
     
  • 11.121, Аноним (-), 00:54, 28/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А твое кудахтание называетя подгорело Прости, но твоя квалификация вообще сов... текст свёрнут, показать
     
     
  • 12.124, Аноним (68), 10:01, 28/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    У меня комментарии на opennet действительно вызвают фрустрацию Как определил кв... текст свёрнут, показать
     
     
  • 13.127, Аноним (-), 16:12, 28/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Это бывает Более того, осознание того что ты не самый умный на планете иногда в... большой текст свёрнут, показать
     
  • 4.42, Анончик (?), 02:10, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Долго список собирал? Что тебе ещё *неприятно* ?
     
  • 2.16, Аноним (16), 18:58, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Гошные бинарники с хелловорлдом в 10 мегабайт - привет.
     
     
  • 3.137, Брат Анон (ok), 09:55, 30/06/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Гошные бинарники с хелловорлдом в 10 мегабайт - привет.

    Вот прямо сейчас смотрю: 7.97 кБ. Что я делаю не так?

     
  • 2.54, Аноним (-), 10:12, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А что, миллион RPS на современном компе для статики вполне разумно Динамику воо... большой текст свёрнут, показать
     
     
  • 3.136, Брат Анон (ok), 09:25, 30/06/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > А что, миллион RPS на современном компе для статики вполне разумно.

    Нет, это фантастика. Если только у анона не локалхост с закешированной статической страничкой в сотню байт на Ампере с 128 ядрами.

    > Динамику вообще паковать довольно затратно может быть на высоком RPS.

    Динамика и высокий RPC --  это как балерина с танковыми траками вместо пуантов.

    > Можно сделать универсальный запускач для вебсервака с "вебприложением". И таки сделано
    > вот именно кем-то вменяемым, системным, над форматами файлов поиздевались сурово.

    А если в статическом файле обнаружена ошибка в слове. Тогда как быть?

    > А на игогошке оно такое с бинарями для винды, бсдей и линуха
    > в статичном варианте будет, наверное, мегов пятьсот. И его качать о...еешь,
    > .com файл весом в сидюк будет :)

    Вы что-то путаете. На игогошечке сайт что по ссылке -- будет иметь архив примерно в 6 мегабайт. И в отличии от сабжа, где под капотом крутится тормозной интерпретатор -- игогошечка ЕЩЁ РАЗ будет в 20-30 раз быстрее (в зависимости от криворукости программистов на первом и втором).
    А в связи с санкциями, сейчас УЖЕ наблюдаются проблемы с железом. А то, что завозится по серому -- стоит на 20-30% дороже, никаких гарантий и этого оборудования -- кот наплакал. Гошечка тут заруливает дефицит, как тузик грелку.


     
     
  • 4.145, Аноним (-), 15:09, 03/07/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Т е типичный микросервис И даже если ответ не совсем статический, никто не м... большой текст свёрнут, показать
     
  • 2.94, OpenEcho (?), 18:00, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > > Всё понимаю, прекрасно, что поддерживается мультиплатформенность из одного файла, но зачем?....

    На такие вопросы, есть всегда один и тот же ответ, - Вам это просто (пока?) не надо.

    > гошечка умеет статически вкомпилировать все необходимые данные для отображения страницы со всеми потрохами, умеет изображать из себя веб-сервер, мультиплатформенна

    Гоха без сомнения приятный инструмент (пока спецификациая языка будет укладываться в 50 страниц), но вот к примеру на том же Космополитене один и тот же бинарник заработает даже напрямую с БИОСа, как первый выполняемый код, в догонку к тому что он работает __без перекомиляции__ на всех платформах, на что гоха пока не доросла и надо для каждой платформы компилить отдельно

     

  • 1.10, Аноним (10), 17:01, 25/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Уже есть jee war, зачем эта хрень?
     
     
  • 2.12, Анончик (?), 17:22, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    https://xkcd.ru/927/
     
     
  • 3.29, Аноним (29), 20:43, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Когда знаешь что там за комикс, не открывая ссылку.
     
  • 2.103, Аноним (103), 19:44, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Затем что Java не нужна и приложения на ней - отвратительны?
     

  • 1.17, Аноним (17), 19:00, 25/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >и позволяет использовать утилиту zip для добавления дополнительных файлов

    Никогда не делайте так если у вас небольшие архивы. Потому что с корректностью обновления заголовоков zip файла не везде все прекрасно. Есть проблемы. Многие создают свои костыли для обхода этих проблем.

    Например: скажем библиотека X в lts дистрибутиве допускает ошибки в добавлении/обновлении таблицы файлов. И есть библиотека Y которая знает что есть та самая X и знает (как они думают) правильно поступать в данной ситуации, на деле все вытекает в header corruption.


    Если есть возможность всегда лучше переупаковывать zip.

     
     
  • 2.19, Аноним (17), 19:08, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Да и еще советую использовать только Deflate компрессию. Хотя zip контейнер позволяет использовать deflate64, bzip2, lzma, ppmd и даже zstd. Самый портабельный это deflate (не deflate64).
     
     
  • 3.58, Аноним (-), 10:36, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Агаблин. Попался ZIP с LZMA внутрях, так его 90% программ тупо не жрет. Вроде зипарь, но чего-то большая часть привычных тулов жидко обгадились. А так то он абстрактный контейнер в котором может быть разное сжатие, конечно.
     

  • 1.34, kusb (?), 22:08, 25/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А если у меня браузер не поддерживает это сжатие?
     
     
  • 2.49, Апрем (?), 10:01, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    То это твои проблемы
     
  • 2.59, Аноним (-), 10:41, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сжатие gzip? Не поддерживает? А что за браузер такой и где ты его взял? Это умеют практически все существующие бразуеры. Может качалки какие самые простые его разве что не могут.
     

  • 1.41, Менеджер по поддержке ржавчины (?), 00:18, 26/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    чем-то java напоминает, только не так безопасно.
     
  • 1.61, n00by (ok), 10:48, 26/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    2022-06-24 12:00:32 UTC
    21 из 67 антивирусов покраснели от новой технологии

    https://www.virustotal.com/gui/file/742401fa0ec2648c392f32d5afae239ab3262f3370

     
     
  • 2.64, Аноним (-), 10:54, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Они много от чего краснеют. Там реально нестандартные приколы с MZ-хидером. В виде когда это и *никсы жрать согласны, и винды, и оно даже как бутсектор (!!!) катит. Нехило, да?!
     
     
  • 3.66, n00by (ok), 11:08, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Да вроде это "стандартное" поведение, когда DOS-stub в PE/COFF игнорируется. А вот как отличить легитимный redbean-demo-2.0.7.com от инфицированного - вот где вопрос.
     
     
  • 4.80, Аноним (-), 14:07, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Да вроде это "стандартное" поведение, когда DOS-stub в PE/COFF игнорируется.

    У них "DOS-Stub" мягко говоря нестандартный. Это одна из тех вещей которые стоит увидеть в хексэдиторе и о...ть с того что "ух ты, а так можно было?!". Это еще валидный бутсектор BIOS (!!!) и шелскрипты-типа. Логично что налетев на ЭТО антивирусы малость о...вают, ЭТО далеко за пределами понимания стандартных парсеров.

    > А вот как отличить легитимный redbean-demo-2.0.7.com от инфицированного - вот где вопрос.

    На сайте хэши опубликованы. Как впрочем и гайды по пересборке.

     
     
  • 5.89, n00by (ok), 15:58, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    К примеру, некий Васян сделал хорошее приложение из этой штуки, а я не очень. Как их различить?
     
     
  • 6.99, Аноним (-), 19:05, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > К примеру, некий Васян сделал хорошее приложение из этой штуки, а я
    > не очень. Как их различить?

    Качать исполняемое добро у только тех кто вызывает доверие. А если ну совсем не вариант - в основательно обрубленой виртуалке или отдельном компе запускать. Лучше виртуалке на отдельном компе, физического компа при совсем неудачном раскладе можно и лишиться, если это совсем уж злобная системщина.

    Собственно это и того что в исходниках касается, потому что целиком читать здоровенный проект в сорцах врядли по зубам, а rm -rf /usr /bin/... могут иногда сделать даже и не со зла, а потому что опечатка вcpалась :)

     

  • 1.67, IdeaFix (ok), 11:41, 26/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    По легенде, когда-то давно девчата из MS решили поставлять новую версию MS Office внутри DOC файла... но потом решили что рынок не поймёт.
     
     
  • 2.81, Аноним (-), 14:15, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > По легенде, когда-то давно девчата из MS решили поставлять новую версию MS
    > Office внутри DOC файла... но потом решили что рынок не поймёт.

    Doc файлы по сути что-то типа виртуальной ФС по смыслу. И msi случайно не тот же формат этого самого в конце концов поюзал, таки заимелементив идею?! (давно смотрел, сорь если прогнал, нет у меня маздаек и msi'ек уже)

     
     
  • 3.148, kusb (?), 22:20, 12/07/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >> По легенде, когда-то давно девчата из MS решили поставлять новую версию MS
    >> Office внутри DOC файла... но потом решили что рынок не поймёт.
    > Doc файлы по сути что-то типа виртуальной ФС по смыслу. И msi
    > случайно не тот же формат этого самого в конце концов поюзал,
    > таки заимелементив идею?! (давно смотрел, сорь если прогнал, нет у меня
    > маздаек и msi'ек уже)

    Фига, msi реально похож на вордовский документ.

     

  • 1.113, Аноним (113), 09:07, 27/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Народ, в есть такая же штука, но чтобы вместо Lua был PHP?
     
     
  • 2.122, Аноним (-), 00:58, 28/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Народ, в есть такая же штука, но чтобы вместо Lua был PHP?

    Если пых заведется с их libc и обвесом - может и пых быть. Только смысл? Он жирный и тормозной чтобы его так таскать. У lua интерпретеры и даже jit мелкие и не требуют от системы ничего этакого, там это осмысленно смотрится.

     

  • 1.115, _kp (ok), 19:50, 27/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Главное, что бы не пришлось подобным пользоваться.
     
  • 1.125, gapsf2 (ok), 11:55, 28/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    она не вебмакака, судя по уровню этого:
    https://justine.lol/sectorlisp2/
     
     
  • 2.128, Аноним (-), 16:14, 28/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > она не вебмакака, судя по уровню этого:
    > https://justine.lol/sectorlisp2/

    Формат файла посмотри :) там тоже бутсектор есть. Который заодно PE EXE, и шелскрипт доделывающий ELF до кондиции. "Ух ты, а так можно было?!"

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру