Difference between revisions of "TerrariumAssembler"

From Wiki4Intranet
Jump to: navigation, search
Line 17: Line 17:
 
** PYC-файлы, cx_freeze, py2exe — абсолютная открытость.
 
** PYC-файлы, cx_freeze, py2exe — абсолютная открытость.
  
=== Деплой на Linux. ===
+
=== Деплой на Linux. Стандартные варианты. ===
* Нативная сборка под каждый дистрибутив
+
{{@|Нативная сборка}} под каждый дистрибутив
** Ад. RPM. DEB. RPM v4, v5, v4+, RPM on APT.
+
* Ад. RPM. DEB. RPM v4, v5, v4+, RPM on APT.
** Все старое
+
* Все старое.
** Нет контроля над библиотеками.
+
* Нет контроля над библиотеками.  
 +
** «Ограниченная поддержка» — «мы только собрали, не помним как, а поддержка — »
 +
* Комбинаторный взрыв вариантов тестирования.
 +
* Можно — но за отдельные деньги.
 +
----
 +
{{@|Стандартные контейнеры}}
 +
* Масса вариантов
 +
** Docker
 +
** Flatpack
 +
** Snap
 +
** AppImages
 +
* {{!|Хорошая идея}}
 +
* {{@|Нет стандартов}}
 +
* {{@|Нет на ряде дистрибутивов}}
 +
 
 +
Ожидания заказчика — «папка, копировать, просто работает»
 +
 
 +
=== Деплой на Linux. Просто папка? . ===
 +
* «Нельзя просто взять и скопировать»©
 +
* Неочевидно для Windows-пользователей — «работает же с Win95…»
 +
** Там это специально добиваются, и это недешево.
 +
* libc-совместимость →  major-изменения в API каждые пару лет.
 +
* ld-image.so — базовый кирпич «в дженге»
 +
* ELF — все захардкожено жестко, по путям. «RPATH»…
 +
 
 +
 
 +
 
 +
 
 +
  
  
  
 
Как можно было бы?
 
Как можно было бы?

Revision as of 13:49, 3 August 2020

Title

TerrariumAssembler
Author
Stas Fomin
Subfooter

Stas Fomin, 17:35, 8 August 2020

Проблема.

Околонаучные приложения:

  • Нет альтернативы — Numpy+Scipy+OpenCV+…
    • gonum
  • Множество других фишек и батареек Python
  • Быстрый цикл экспериментов и разработки

Надо

  • Деплой на
    • Все версии Windows
    • Все версии Linux (включая очень странные)
  • Работало быстро
  • Секретные алгоритмы
    • On Impossibility of Obfuscation [1]
    • PYC-файлы, cx_freeze, py2exe — абсолютная открытость.

Деплой на Linux. Стандартные варианты.

Нативная сборка под каждый дистрибутив

  • Ад. RPM. DEB. RPM v4, v5, v4+, RPM on APT.
  • Все старое.
  • Нет контроля над библиотеками.
    • «Ограниченная поддержка» — «мы только собрали, не помним как, а поддержка — »
  • Комбинаторный взрыв вариантов тестирования.
  • Можно — но за отдельные деньги.

Стандартные контейнеры

  • Масса вариантов
    • Docker
    • Flatpack
    • Snap
    • AppImages
  • Хорошая идея
  • Нет стандартов
  • Нет на ряде дистрибутивов

Ожидания заказчика — «папка, копировать, просто работает»

Деплой на Linux. Просто папка? .

  • «Нельзя просто взять и скопировать»©
  • Неочевидно для Windows-пользователей — «работает же с Win95…»
    • Там это специально добиваются, и это недешево.
  • libc-совместимость → major-изменения в API каждые пару лет.
  • ld-image.so — базовый кирпич «в дженге»
  • ELF — все захардкожено жестко, по путям. «RPATH»…





Как можно было бы?