Русский
Русский
English
Статистика
Реклама

Libreoffice

Рецепты uWSGI преобразование документов с использованием LibreOffice

07.08.2020 14:13:35 | Автор: admin
Для приготовления преобразования документов нам понадобится LibreOffice, uwsgi-python, pylokit и webob. Можно также воспользоваться готовым образом. Но это только для запуска uWSGI-сервера, а для подключения к uWSGI-серверу будем использовать nginx.

Самое простое uWSGI-приложение на python состоит из функции application с двумя аргументами environ и start_response
import os       # импортируемimport pylokit  # необходимыеimport tempfile # намimport webob    # модулиoffice = pylokit.Office('/usr/lib/libreoffice/program') # загружаем библиотеку LibreOffice по указанному путиdef application(environ, start_response): # функция для uWSGI    request = webob.Request(environ) # получаем запрос из окружения    file = request.POST['file'] # файл для преобразования передаётся через multipart/form-data с именем file    filename, extension = os.path.splitext(file.filename) # получаем имя и расширение    with tempfile.NamedTemporaryFile(suffix=extension) as inp, tempfile.NamedTemporaryFile(suffix='.%s' % request.path.split('/')[-1]) as out: # создаём один временный файл с расширением переданного файла и другой временный файл с расширением из окончания запроса (для совместимости с unoconv-api)        inp.write(file.file.read()) # записываем содержимое переданного файла в первый временный файл        inp.flush() # (т.к. LibreOfficeKit почему-то работает только с файлами)        with office.documentLoad(inp.name) as doc: # загружаем переданный файл             doc.saveAs(out.name) # экспортируем загруженный файл в другой временный файл (формат берётся из расширения)            with open(out.name, 'rb') as out2: # открываем другой временный файл                response = webob.Response(body=out2.read()) # создаём результат из чтения другого временного файла                return response(environ, start_response) # и возвращаем его


Можно, конечно, ещё добавить обработку всяких ошибок.

Преобразование тестового одностраничного odt-файла в pdf делается примерно в 1,5 раза быстрее по сравнению с unoconv-api.
Подробнее..
Категории: Python , Nginx , Libreoffice , Uwsgi

Дождались вышел LibreOffice 7.0

06.08.2020 14:19:11 | Автор: admin

В этом месяце случилось сразу два приятных сюрприза. Первый релиз ядра Linux Kernel 5.8. Второй выход офисного пакета LibreOffice 7.0. Уже готовы пакеты для разных ОС, включая Linux, Windows, MacOS.

В седьмой версии офисного пакета много изменений. 74% добавлены сотрудниками организаций вроде Collabora, Red Hat и CIB, все остальное результаты труда независимых разработчиков.

Что нового?

Главные изменения


Седьмая версия пакета получила поддержку формата OpenDocument 1.3 (ODF), а значит, возможность защиты документов при помощи цифровой подписи и шифрования контента ключами OpenPGP. Добавлен отдельный тип верхних и нижних колонтитулов для главной страницы, улучшено отслеживание изменений в документе.

Благодаря 2D-библиотеке Skia расширены возможности отрисовки текста, кривых и изображений. Правда, по умолчанию он включен только для Windows.

Значительно улучшена совместимость пакета с форматами вроде DOCX, XLSX и PPTX. Теперь документы можно сохранять в режиме MS Office 2013/2016/2019. Ликвидирована проблема, которая приводила к ошибке invalid content error при открытии экспортированных файлов XLSX с формами.

Плагины kf5 (KDE 5) и Qt5 получили поддержку экранов с высокой плотностью пикселей.

При новой установке заблокирована панель, так что теперь ее нельзя случайно удалить.

Разработчики добавили новые галереи форм. Их можно без проблем редактировать и стилизовать по своему усмотрению.



Разработана новая тема пиктограмм Sukapura, которая полностью соответствует рекомендациям оформления macOS. Для этой ОС тема включена по дефолту.


Источник: documentfoundation.org

Обновлена и тема пиктограмм Colibre, которая используется в Windows. Она соответствует стилю MS Office 365.



Установщик для Windows получил новые пиктограммы и визуальный стиль.



Теперь у Writer в номерах страниц и нумерованных списках можно оперировать выровненными числами. Там, где нужно, редактор добавит нули в нужном количестве.



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

В Calc добавлены новые функции RAND.NV() и RANDBETWEEN.NV(). Они генерируют результат единожды, не пересчитывая его при изменении ячейки.

Для различных модулей, поддерживающих экспорт в PDF, появилась возможность установки размера страницы больше 200 дюймов.

Шаблоны lmpress переведены на формат соотношения сторон 16:9 вместо 4:3.



Для людей с проблемами со зрением добавлен специальный инструмент, который позволяет настраивать отображение текста под себя.



Для русского и украинского языков добавлена автозамена ASCII-кавычек с апострофом (), указанных вместо закрывающейся кавычки ().

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

Добавлена поддержка модулей Java. Сейчас доступно два модуля org.libreoffice.uno и org.libreoffice.unoloader. Файлы juh.jar, jurt.jar, ridl.jar и unoil.jar объединены в один архив libreoffice.jar.

И еще одно важное обновление: для выполнения скриптов теперь нужен Python 3, поддержка Python 2.7 удалена. Убран и фильтр экспорта в Adobe Flash.

Подробнее..

Расчеты на прочность в LibreOffice и выбор текстового редактора

09.01.2021 14:22:36 | Автор: admin

Проблемы оформления расчетов и что такое iMath


Наверное, многие, кто учился в техническом ВУЗе, сначала делали вычисления своих курсовых в Mathcad (или другом математическом пакете), а затем старательно набирали эти же формулы в MS Word с подстановкой чисел. Потом забыли про это.


Когда меня взяли конструктором по расчетам на прочность пришлось вспомнить.



Нет, современные технологии МКЭ используются (SolidWorks, Ansys), но формулы с методиками по ГОСТ никто не отменял. Тут принципы не изменились, хотя со времен защиты моего диплома прошло более 10 лет. Люди сначала набирают формулы, уже набранные в Mathcad, а потом руками подставляют каждое число в формулу и записывают результат.


$\boxed{d=\sqrt{8F_2i\over_2}=\sqrt{8 200 5\over3.14 900}=1.68}\text{мм}$


Зачем писать цифры после формулы, если результат считает компьютер?

Это спорное мнение, такие записи действительно иногда помогают найти ошибку. Просто нонсенс делать это руками. Люди пытались решить эту проблему с разных сторон, существуют TechEditor, CalcPad, NormCad, но не о них речь, на практике применяю только 2 решения:


  1. Оформление прямо в Mathcad и распечатка как есть


  2. Оформление в LibreOffice Writer с плагином iMath он считает и подставляет числа



Подход 1 применим не для всех документов:


  • рамки ГОСТ, таблицы, автонумерацию рисунков, ссылок в Mathcad не особо реализуешь


  • для "оформленных" расчетов требуют подставлять числа и перечислять переменные с пояснением после формулы:


    $$display$$ \boxed{d=\sqrt{8F_2i\over _2}=\sqrt{8 200 5\over3.14 900}=1.68}\text{мм,}\\ \begin{align} \text{где } & \boxed{F_2=200}\text{Н - рабочее усилие на пружине;}\\ & \boxed{i=5}\text{ - индекс пружины;}\\ & \boxed{_2=900}\text{МПа - допускаемое напряжение сдвига.} \end{align} $$display$$


    если подставить значения можно в старом Mathcad 15, то с присвоением значений после формулы проблемы что в Mathcad 15, что в Mathcad Prime


  • общее ограничение оформительских возможностей, нельзя вывести значение переменной без её имени и знака равенства, например



Подход 2 тоже ограничен возможностями iMath, и иногда приходиться копипастить таблицы из Mathcad в LibreOffice Writer, но не приходится хотя бы каждую цифру руками набирать в каждой формуле.


Зачем нужен text expander при наборе формул iMath


Простой пример (серым показан исходный текст):


$$display$$ \boxed{ \color{gray}{\text{%ii @nospace\{%DELTA x\}@ EQDEF nospace\{%DELTA x\}=10}}\\ \Delta x=10 } $$display$$


Многовато для переменной из 2-х символов. Но решается проблема просто, т.к. iMath поддерживает юникод и существуют программы, раскрывающие сниппеты не только в Вашем любимом текстовом редакторе, но вообще везде. С помощью них можно набирать греческие буквы просто и без мышки.


Назначим сниппеты по аналогии с Mathcad, где это делается так: D, Ctrl+G , у нас будет так: DG . Тогда и читать исходник формулы станет проще:


$$display$$ \boxed{ \color{gray}{\text{%ii @x@ EQDEF x=10}}\\ \Delta x=10 } $$display$$


Из бесплатных программ остановился на этих, они решают проблему:


  • aText (некоторые функции платные, пока без них приемлемо) Windows7+/MacOS
    Здесь лежат греческие буквы и другие сниппеты для оформления расчетной документации, загружаются через FileОткрыть и надо выбрать csv в диалоге, перед загрузкой можно удалить Default Group и Examples
  • espanso Windows8+/MacOS/Linux

Причем здесь текстовый редактор


Проблема 1. Чтобы отобразить переменные после формулы, нужно просто присвоить их скрытно перед формулой и затем отобразить после формулы их значения (серым показан исходный текст)


$$display$$ \boxed{\small\color{silver}{ \text{%%ii @F_2@ EQDEF* F_2=200}\\ \text{%%ii @i_{}@ EQDEF* i_{}=5}\\ \text{%%ii @_2@ EQDEF* _2=900} }} \boxed{ \small\color{silver}{ \text{%%ii @d@ EQDEF d=sqrt{{8 F_2 i_{}}over{%pi _2}}}\\ \text{%%ii TEXT =sqrt\{\{8 _ii_VAL(F_2)_ii_ _ii_VAL(i_\{\})_ii_\}}\\ \text{over\{_ii_VAL(%pi)_ii_ _ii_VAL(_2)_ii_\}\}=_ii_VAL(d)_ii_} }\\ d=\sqrt{8F_2i\over_2}=\sqrt{8 200 5\over3.142 900}=1.682 }\text{мм,}\\ \begin{align} \text{где } & \boxed{\small\color{silver}{\text{%%ii PRINTVAL F_2}}\\F_2=200}\text{Н - рабочее усилие на пружине;}\\ & \boxed{\small\color{silver}{\text{%%ii PRINTVAL i_{}}}\\i=5}\text{ - индекс пружины;}\\ & \boxed{\small\color{silver}{\text{%%ii PRINTVAL _2}}\\_2=900}\text{МПа - допускаемое напряжение сдвига.} \end{align} $$display$$


В чем проблема? А в подстановке значений. Здесь пришлось скопипастить d=sqrt{{8 F_2 i_{}}over{%pi _2}}}, немного изменить до вида =sqrt{{8 F_2 i_{}}over{%pi _2}}}=d и обернуть каждую переменную в _ii_VAL()_ii_. На практике это быстрее чем вместо оборачивания выискивать значения и вписывать их. Но работа лишняя.


Автоматизировать эту подстановку в iMath проблематично, но можно зайти с другого конца сделать эти правки с помощью макросов в текстовом редакторе.


Проблема 2. Вместе со сгенерированным текстом исходник формулы довольно тяжело воспринимается


%%ii @d@ EQDEF d=sqrt{{8  F_2  i_{}}over{%pi  _2}}d=sqrt{{8  F_2  i_{}}over{%pi  _2}} %%gg%%ii TEXT =sqrt{{8  _ii_VAL(F_2)_ii_  _ii_VAL(i_{})_ii_}over{_ii_VAL(%pi)_ii_  _ii_VAL(_2)_ii_}}=_ii_VAL(d)_ii_=sqrt{{8  200  5}over{3,142  900}}=1,682 %%gg

Лечится подсветкой сгенерированного отдельным цветом, опять же в текстовом редакторе.


Проблема 3. Часто приходится искать пропавшую скобочку. Во встроенном редакторе формул подсветку парных скобок никак не добавят. Тоже решается использованием внешнего редактора


Разработчик iMath, Jan Rheinlaender, пошел мне навстречу и добавил редактирование формул из внешнего редактора. Дело за малым выбрать его и настроить.


Требования к редактору такие:


  • Бесплатность
  • Макросы
  • Множественное редактирование (потребуется для использования в макросах, и просто удобно)
  • Подсветка пользовательского синтаксиса
  • Подсветка парных скобок
  • Удобство редактирования английского текста вперемешку с русским, чтобы набирать такое, например:
    Q_д=0.785  D_сп^2  p
    
  • Кроссплатформенность (желательно)
  • Сохранение без подтверждений при закрывании (желательно)

Сравнение текстовых редакторов


Sublime Text


Этот редактор выглядит привлекательнее остальных. Формально он не бесплатный, но напоминает об этом даже не каждый день и ничем больше не досаждает.


Смотрим, можно ли настроить подсветку своего синтаксиса. Да, у него есть возможность описать его в yaml. Пишем файл подстветки, результат выглядит отлично:



Теперь записываем макросы: Ctrl+Q, Ctr+F, пишем регулярку для выделения переменной, выделяем, переводим курсор влево, пишем _ii_VAL(, выделяем регуляркой опять, переводим курсор вправо, пишем )_ii_, Ctrl+Q. Проверяем что получилось запускаем макрос с помощью Ctrl+Shift+Q. И ничего. Не выделяется оно, и люди жалуются с 2009. Да...


Ладно, разберёмся позже. Попробуем пока настроить Sublime, чтобы он сохранял файл без подтверждений и выходил по одной кнопке. И тут снова проблема в Sublime нельзя назначить 2 действия на один шоткат. Окей, ставим плагин для поддержки назначения нескольких действий, но сохранить без подтверждений и закрыть редактор все равно не получается. Не проблема у нас же есть макросы! Нажимаем Ctrl+Q, запись пошла, нажимаем Ctrl+S сохранились, теперь выходим...



Ну окно закрылось, может быть даже закрытие записалось в макрос, но сам макрос то не сохранился. Что ж, не судьба, смотрим другие редакторы.


Vim


Настроить его можно, но каково набирать русские подписи к переменным. Везде описываются решения с langmap и keymap, но они не достаточны. В статье Vim и переключение раскладок: о наболевшем рекомендуется плагин, который переключает раскладку. Можно найти еще одно вроде бы рабочее решение.


Однако даже при решении проблемы с русской раскладкой остается вопрос: сколько инженеров использует vim в своей работе? Его даже из программистов только часть использует. Откладываем vim в сторону и ищем дальше.


[W]indows [L]inux [M]acOS WLM WLM W__ WLM W__ W__ WLM WLM
поиск регулярками + + + + + + + +
замена внутри выделения + + + + + + + +
подстановки (\0, \1, ...) + - + + + + + +
добавить курсор мышью + + + + - + + ?
добавить выделение совпадения ^D ^D - ^D - - ^D +
выделить все совпадения F3 - - - ^ - ?
выделить все совпадения из диалога поиска E - - - - - ?
добавить курсор строкой ниже ^ - - - - - +
макрос редактирования текста + + + - + - + +
запись поиска - + + - - - + +
подсветка парных скобок + + + + + + + +
возможность определить сложный синтаксис + + ? ? ? +
удобство работы с русским текстом + + + + + +
поддержка плагинов + + + + - + +
менеджер плагинов + + + - + - - +
палитра команд ^P ^P ^M - - - ^E -

Клавиши (для Windows): ^ Ctrl, Shift, Alt, Space, Enter, стрелки, не назначено
делается плагинами
требует настройки
по умолчанию русский текст не отображается, нужно активировать code.page=65001 в файле настроек
шоткат NppMenuSearch конфликтует с пометками, нужно перенастраивать
шоткаты, содержацие буквы, работают только в английской раскладке
конфликтует с шоткатом переворачивания экрана
есть шоткат , но на самом деле он выполняет прямоугольное выделение
без настройки нижнее подчеркивание не очень заметно


Что тут можно обобщить? Удивляют 2 вещи: невозможность записи поиска в макросах Sublime и невозможность (или я плохо искал?) подстановки при поиске с заменой в Cuda. Тем не менее, выбора в общем-то и нет.


Logo Название Версия Дата Текстовый компонент Решение
Sublime Text 3.2.2 01.10.19 Cвой (на Skia) Нужные макросы не записать
CudaText 1.118.2.0 29.12.20 Свой Подходит
Notepad++ 7.9.2 01.01.21 Scientilla Слабые возможности редактирования текста
SciTE 4.4.6 01.12.20 Scientilla Макросов вообще не нашел
AkelPad 4.9.8 18.07.16 Scientilla Нужные макросы не записать
Notepad3 5.20.915.1 15.09.20 Scientilla Блокнот я им заменил, но нужные макросы не записать
Textadept 11.0 01.12.20 Scientilla / Curses Шоткаты на русской раскладке не работают
Vim 8.2 10.12.20 ? Сколько инжеренов его знает?

CudaText


И так, берем CudaText. Он поставляется как portable zip-архив. В wiki что-то пишут про не portable версию, но инсталлятора я не нашел. Хорошо это или плохо? Устанавливающаяся версия кажется понятнее все настройки лежат в %APPDATA% и их можно хранить в репозитории. А здесь? Окей, положим весь редактор в репозиторий, 25Мб это не так много, зато на другой машине не надо будет устанавливать запустил из репозитория и голову не забиваешь. Надо сказать, что настройки хоть и хранятся в той же папке, что и редактор, при заливке в нее новой версии не перетираются, неудобство только в том что нужно руками распаковать новую версию. Первый запуск:



Эстетически выглядит норм, но как-то не контрастно всё. Ладно, это настроим. Так, убираем все что нам не нужно для набора формул. Включаем подсветку парных скобок и перенос по словам. Так же убираем поведение с последней строкой вверху экрана при прокрутке до упора (не привычно), автозакрытие скобок (польза спорная, а записи макросов иногда мешает). Statusbar оставляем, чтобы видеть, когда включен режим записи макроса.


Выбираем Options Settings default/user, пишем


{  "wrap_mode" : 1,  "wrap_indented" : false,  "ui_statusbar_show" : true,  "ui_sidebar_show" : true,  "find_hidden_buttons": "c",  "bracket_highlight" : true,  "ui_toolbar_show" : false,  "ui_theme" : "white",  "ui_theme_syntax" : "white",  "ui_font_name" : "default",  "ui_font_size" : 9,  "font_name" : "Lucida Console",  "font_size" : 10,  "ui_title_path" : true,  "ui_menu_show" : false,  "ui_tab_show" : false,  "gutter_show" : false,  "gutter_fold" : false,  "show_last_line_on_top" : false,  "log_sessions" : false,  "py_init_log" : false,  "auto_close_brackets": ""}

Теперь команды меню доступны только по кнопке ' ' слева вверху и через меню Ctrl+Shift+P (как в Sublime). Текущая вкладка, крестика которой теперь не видно, закрывается по Ctrl+W


Нужно выбрать тему поконтрастнее.



Но тратить время на это не придётся светлая контрастная тема одна white (вторая слева).


Из оригинального: если увеличить высоту окна, слева появится кнопка '', которая показывает список специальных символов



Но нам это не нужно мы используем aText для набора греческих и математических символов.


Теперь надо установить плагины: Auto_Save и Macros. Устанавливаются они как в Sublime: Plugins Addons Manager Install..., ну или через Ctrl+Shift+P и наборе чего-то типа plugin:Install+Enter. Через некоторое время появится список доступных плагинов



Тут все понятно. Надо только обратить внимание, что плагины разбиты по категориям. и для фильтрации можно набирать название этой категории с ':', например, 'theme:' для просмотра всех неустановленных тем. И еще: установленные плагины не отображаются в списке, для них есть пункт меню Plugins Addons Manager Remove add-on...


Сначала повесим шоткаты на команды макроса (из коробки таких шоткатов нет). Если в Sublime это делалось правкой конфига через PreferencesKey Bindings, то здесь это делается оригинально:


  • надо нажать Ctrl+Shift+P, выбрать требуемую команду, например 'macros: start recording'
  • нажать F9
  • в появившемся окне нажать кнопку "Set"
  • нажать комбинацию клавиш
  • нажать ОК

Назначаем Ctrl+Q для "macros: start recording" и Ctrl+Shift+Q для "macros: stop recording".


Настройки эти сохраняются в файле settings/keys:


..."2810" : {    "name" : "macros: start recording",    "s1" : [ "Ctrl+Q" ]  }...

Но можно ли дописывать шоткаты прямо в файле и назначать произвольные цифровые айдишники не ясно.


Основная задача записать макрос iMath:explain EQDEF, который будет копировать выражение, ставить переменную в конце после '=', оборачивать переменные в _ii_VAL( и )_ii_ и еще будет переименовывать @метку@. Задача большая, поэтому разобъем её на более мелкие. Здесь приведу запись только одной. Итак, записываем макрос, который обернет переменные в _ii_VAL( и )_ii_:


  • Ctrl+Q запись пошла
  • Вначале надо подписать всем ключевым словам @@ впереди, чтобы не обернуть их нечаянно. CudaText это единственный редактор без поддержки замены с подстановками вместо групп совпадения типа \0, \1, ..., поэтому будем пользоваться мультивыделением. Жмем Ctrl+F, пишем регулярку \b(abs|acute|aleph|alignb...widetilde|widevec|wp|yellow)\b, жмем Alt+E, Esc теперь у нас выделены все ключевые слова, жмем , вписываем @@
  • Выделяем строки, начинающиеся на %%ii TEXT с помощью регулярки (?<=^%%ii\s+TEXT).*$
  • Выделяем внутри выделения числа и переменные с помощью регулярки (?<=[^%@'"])(\d+\.\d+|%\w+_\{[^{}]*\}|%\w+|\b\w+_\{[^{}]*\}|\b\w+)(?!.*%%gg$)
  • С прыжками курсора влево вправо возиться лениво ну что ж, затрем буфер обмена, Ctrl+X
  • Пишем _ii_VAL(, Ctrl+V, )_ii_
  • Удаляем @@ простой заменой по всему документу
  • Ctlr+Shift+Q закончили запись, назначаем имя imath:_ii_VAL()_ii_ all
  • Теперь он появился в списке команд назначаем шоткат по той же схеме: Ctrl+Shift+P, выбрать макрос imath:_ii_VAL()_ii_ all(не нажимая Enter), F9, назначаем Ctrl+Shift+V

Макрос можно править (что я и делал), он лежит в settings/macros.json. Примерно такими же хитрыми манипуляциями записываем остальное. При записи макроса можно вызывать другой макрос.


Теперь настроим Auto_Save. Ctrl+Shift+P ищем plugin:Auto Save: config, правим конфиг


[op]save_interval=30save_before_closing_tab=1on_deactivate=0

Теперь Cudа будет сохранять файлы ничего не спрашивая, таким образом правка формулы в Cuda будет происходить по той же логике, что и правка в LO Math. Ещё я назначил "file:quit program" шоткат F3 (у меня и в iMath редактор вызывается по F3) чтобы открыть/закрыть двумя нажатиями одной кнопки.


Осталось настроить подсветку синтаксиса. Wiki говорит, что чтобы создать свой лексер, нужно установить SynWrite и потом, видимо, удалить и забыть про него. Действуем по этой инструкции.


  1. Устанавливаем SynWrite
  2. Options Customize lexers library..., копируем какой-нибудь простой язык или добавляем новый с именем eqn
  3. View Lexer Выбираем свой новый лексер
  4. Options Customize lexer...
  5. Накидываем стили из других языков с помощью кнопки "Import Items" (красная стрелка с листом бумаги)

  6. Добавляем правила

  7. Копируем файлы eqn.lcf и eqn.cuda-lexmap из SynWrite\Data\lexlib в cudatext\Data\lexlib
  8. Перезапускаем редактор, вставляем тестовый текст, нажимаем Ctrl+Shift+P, eqn, Enter. Появляется окно


    Выбираем подходящие по смыслу стили и нажимаем ОК, лексер заработал:


Вот и все. Теперь заниматься оформителькой писаниной стало гораздо легче! Настройки можно взять здесь (нужно распаковать в папку, в которую распаковали редактор)



Заключение


Конечно, я пропустил много популярных редакторов (те же Atom и Visual Studio Code). Но все равно странно казалось, подойдет любой продвинутый, а подошел только один, причём в других не хватало простых вещей. Хотелось поделиться обнаружением этого редактора. Еще хотел поделиться способом оформления расчетной документации (или курсовых) с помощью iMath (плагин еще тот по стабильности и эргономичности, но другого нет).


Страница скачивания LibreOffice тестировал на 7.0, но и 6.4 должен работать
Страница скачивания iMath скачивать нужно iMath-2.3.1~beta2.oxt
Обсуждение фичи iMath "open in external editor" на sourceforge.net про настройку iMath
Документация по iMath
Страница скачивания CudaText
Настройки CudaText для работы с iMath (нужно распаковать в папку, в которую распаковали редактор)
CudaText на github.com
CudaText на sourceforge.net здесь только плагины
Настройки aText для набора греческих символов и не только открываются по Ctrl+O из aText

Подробнее..

Бархатная перчатка Microsoft

17.07.2020 20:07:39 | Автор: admin
Культурный контекст
Персонажи Люси и Чарли Браун это отсылка к очень популярному на западе, в частности Америке, комиксу Peanuts (оттуда же известен белый пес Snoopy). Люси на протяжении многих лет психологически издевалась над Чарли: призывая его с разбегу пнуть мяч, каждый раз давая иллюзию, но она, в самый последний момент, этот мяч от него забирала.
Всю свою жизнь, Чарли Браун, всю свою жизнь.
обобщительная статья (англ.) об этой шутке из комикса

Это мой первый крупный перевод текста, старался удержать плавный слог на русском языке. Будут пожелания знаете куда писать. Поехали!

Подход бархатной перчатки срабатывал у Microsoft каждый раз. Уже более 30 лет Microsoft-Люси утягивает мяч от разработчика Чарли Брауна. И контроль над GitHub мне абсолютно ясен. Но использовать Ната [Nat Friedman, GH CEO] в роли приманки по-моему чересчур.[1]

За Microsoft стоит удачная история овладевания и контроля над компьютерной платформой с целью контроля над сферой разработки ПО. Та поддержка, которую они оказывали разработчикам на заре Windows, была легендарна. И реальна. Дело в том, что пока люди скучковывались в сообщество разработчиков Windows, изобретая попутно совсем новые категории программ, они и понятия не имели, что все их перспективы и с ними связанные мечты на самом деле принадлежали Microsoft. Конечно, поддержка и маркетинговая помощь от Microsoft были потрясающими. Но оглядываясь назад, мы были идиотами. Точнее, я идиот 0055.
Люси оттягивает мяч перед Чарли, тот промахивается и со всей скорости падает на землю

Стоило лишь определенной категории программ вырасти до прибыльности, а разработчикам и инвесторам начать пускать слюнки, что их день вот, наконец, настал, как вмешивалась Microsoft и отбирала себе целую категорию этого рынка. Иногда это происходило за счет одного только объявления, что Microsoft планировала какую-то программу. Как это случилось с категорией менеджера связей и объявлением Outlook. Инвестиции прекратились. Продажи встали. Должны были пройти три года, прежде чем первая сносная версия Outlook увидела свет. А независимым разработчикам досталось. Те перспективы, о которых они мечтали, всегда были за Microsoft и всегда ей принадлежали.

Вот она сила контроля над платформой.

Платформа контролирует сферу ПО. А программы контролируют цифровую информацию, которую они собирают и производят. Новым разработчикам ПО нужен доступ к тоннам этой программозависимой информации. Но эта информации всё больше и больше принадлежит вычислительным платформам Microsoft Azure и облаку Office 365. Хочешь доступа? Регистрируйся на GitHub. Поцелуй бархатную перчатку. И потом жди, пока Люси не заберет мяч ото всех твоих перспектив, которые ты держал за свои.

Припоминаю я свою первую конференцию JavaONE. Первая продажа акций Netscape в августе 1995-го взбудоражила мир до лихорадки из-за сети Интернет. Java была представлена как способ разработки программ для сети Интернет. Удивительно как много было разработчиков Windows на первой и второй конференциях JavaONE. Выглядело это скорее как конференция по Windows-OS/2 минувших дней. Казалось, что я там всех знаю. Чувствовал себя как дома. На самом деле, я смекал из-за чего мы были там. Интернет был платформой используемой всеми, не принадлежащей никому. Он также стал приютом для сообществ открытого ПО (OSS).

Напряженность между OSS разработчиками и Sun заметно ощущалась. Мы виндузятники смотрели на это с изумлением. Сообщества открытого ПО боялись, что Java была троянским конём, придуманным Sun, дабы завладеть сферой ПО для Интернет. Это как раз то, что случилось с разработчиками Windows и объясняло, с чего мы собрались на JavaONE. Целыми толпами.

В первые дни общественного интереса, Интернет казался прелестью универсальной платформой, к которой был доступ у всех. Это первая платформа из увиденных мною, где коммуникации, вычисления и сотрудничество могли слиться воедино.

Все мы знаем те последующие годы, когда бизнес и OSS бились за Интернет. Бархатная перчатка, ту что носит Нат, ни что иное как ещё один вызов, и как всегда: опять всё на кону. Первое Правило Кремниевой Долины: Владелец платформы заправляет её перспективами.

Большое отличие в сей раз что в ранние времена Windows (справедливо и для Интернет тоже) было временем большого перехода от аналогового к цифровому и созиданием информации. Этот переход также означал, что данные переходили под контроль программ их собирающих и использующих.

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

В 1995-ом я работал с системой видеоконференций Intel ProShare Video Conferencing System, разрабатывая программы для интеграции средств коммуникаций с вычислительной информацией и совместной работой. В ретроспективе это кажется безупречным проектом, на который способен был лишь Интернет. Но тогда не было ни Netscape, ни Java, ни единого устоявшегося взгляда на то, чем Интернет позже станет. Торговля акциями Netscape началась в августе 95-го, скачок Java пришёлся на следующий год. В тот же год случился феномен под названием Windows. К тому времени, Люси уже забрала мяч и сообщество разработчиков под Windows прекрасно понимали, что Microsoft сама заведует всеми перспективами платформы Windows. Теми перспективами, что они могли отобрать в любой момент.

У Intel было много толковых ребят. И я подчеркиваю: очень умных. Та идея, связать коммуникации с вычислительной мощностью, всё это в обертке платформы для совместной работы она была у всех на уму. Вывели и маркетинговую формулу, которая всё это объясняла. Эта формула и объясняет почему бархатная перчатка и в какую сторону устремилась Microsoft.

Она была названа Уравнение Продуктивности Красиво. И звучит примерно так: продуктивность равна интеграции вычислений с коммуникациями, вычислительной информацией (данные, документы, сообщения) и сотрудническим обменом.

Правда красиво. Но есть и глубина, если всмотреться в вычислительную информацию. Ты замечаешь, что большинство данных в мире находится под контролем программ. Завладея сферой ПО ты завладеешь и всей информацией, которую контролируют эти программы. Не спускай глаз с мяча, Чарли Браун.

Несомненно, мы живем в мире животрепечущем о всё более высокой эффективности и инновациях во благо продуктивности. Доступ к вычислительной информации жизненно необходим. Но это и мир где МНОГИМ программам нужно работать с теми же самыми данными. Аспект этого высказывания нужно многим программам и есть причина, по которой мы вновь видим бархатную перчатку.

Давайте разъясню. Данные из уравнения не программозависимы. Данные можно перемещать (спасибо, SQL). Многие программы имеют к ним доступ. Если бы программы для данных имели контроль над их информацией, то Oracle бы рулила облачными вычислениями.

Часть вторая


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

Конечно, Oracle бы с радостью воспользовались их программозависимыми данными, чтобы стать империей облачных вычислений. Но они и близко не стояли по сравнению с Microsoft и их железной хваткой над документами, которые для Office родные.

Всё это так же верно и для коммуникаций и способов коллективной работы. Ни у кого нет эксклюзивной и такой важной позиции контроля в данном уравнении. Ни у Slack. Ни у любого коммуникационного гиганта. Это значит, что запрет Microsoft на информацию из документов может быть использован, чтобы повлиять на другие аспекты уравнения.

Стоит обратить внимание на взаимосвязь разных компонент уравнения. У них есть шаблон по взаимной интеграции именно потому, как они появились. Коммуникации (всякого рода сообщения) и вычислительный контент (данные и документы) развивались независимо друг от друга. Ключевая часть уравнения это интеграция этих двух, что делает возможным и третью компоненту: совместную работу.

Совместная работа это сумма интегрированных коммуникаций и вычислительной информации. Есть и явная связь между данными и документами. Данные собираются, затем анализируются или каким-то другим образом встраиваются в документы. Документы представляют из себя более высокую форму накопленных знаний, т.к. они выражают то, как мы с вами думаем, обсуждаем, и анализируем данные. Документы это вид линейной коммуникации. И если их собрать воедино с динамическими, нелинейными видами коммуникации, и с платформой Интернет, то документы создают нечто благовенное для совместной работы, где не только люди могут друг с другом общаться, но и место для умных программ с неимоверной вычислительной мощью за их спиной.

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

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

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

ИМХО, весь тот прогресс в ИИ, который проделали Google, SalesForce и IBM, каким бы потрясающим он не был, даже близко не стоял с Microsoft. В конце концов вся красота переписки в Slack падет, как только предстанет перед, еле того достойной, версией MS Teams, но которая будет снабжена документами.

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

Стратегия первопроходца это сказка, как только дело касается платформ с вычислительными данными. Преимущество принадлежит тем, кто программно контроллирует информацию, а также их новым программам, на которые этот контроль распространяется.

Смотрите сами: феномен облачных вычислений, как программная платформа, начал набирать обороты с выходом Google gMail и SalesForce.com. Подумать только, какая у них была фора, сколько времени! И когда iPhone вышел в свет в 2007г., началась гонка в облака. AWS появляется из ниоткуда и предоставляет отдельным разработчикам огромную вычислительную мощь в облаке.

В отчете за 2014г. Gartner Magic Quadrant записали Apple как облачного провайдера 1. Номером два был DropBox, за ним следовали Google, SalesForce, и Box. Баллмер [Steve Ballmer] уходит в феврале 2014-го, после ужасного многомиллиардного приобретения: коммуникационного гиганта Nokia. Тут бархатная перчатка перенимает и Office 365 становится доступным внутри империи iPhone. С Apple всё выглядит хорошо. А Windows не очень. DropBox, SalesForce и Box помчались за лицензией Office 365. Они жаждали сыграть с Люси в её рулетку [русскую рулетку]. И бархатная перчатка приняла их с распростертыми объятиями.

Далее проиcходило невероятное. С выпуском Office 365, вся монополия Microsoft начинает одно из величайших преобразований в компьютерной истории; переход их информации и программ с платформы Windows в Azure облако Office 365. Первым телодвижением бархатная перчатка устанавливает за собой владение над программозависимыми документами, чтобы перевести все столпы монополии с её системами в бизнесах и корпорациях.

2018-й год Magic Quadrant почти полностью закрепляет за двумя компаниями: Amazon и Microsoft. Четыре коротких года и развязка этого действа уже в поле зрения.[2] Google бьется с их классными и многообещающими ИИ, автоматизацией сообщений и бизнеса всё дальше об стену. Но дело не сдвигается с мертвой точки. Они остаются висеть на ниточке облачных вычислений. Остальные же лидеры облачных вычислений без конца изобретают вдохновляющие и фантастические программные возможности и перспективы, между тем Microsoft так же держит железный кулак над теми документами и информацией, которая нужна их конкурентам.

Часть третья


Что бы вы ни думали о Microsoft, согласитесь, это преобразование проделывается по-мастерски красиво. Удивительно, ведь ни один из конкурентов не решается разговаривать на тему происходящего. Ну, понятно, ни что не может обвалить цену собственных акций, как признание всему миру, что твоя судьба лежит в руках хладнокровного монополиста с железной хваткой, на котором уж так прекрасно сидят эти бархатные перчатки.

В 2018-м рост облака Microsoft оценивали в 18 млрд. долларов в год. Год спустя, оценка роста подписок в год исходила от ошеломляющих 33 млрд. долларов. Всё это и дальше экспоненциально устремляется ввысь.

Понимание сей новости[0] заключается в том, что разработчики c GitHub получат доступ к массивам вычислительной информации из облака Microsoft. А без этого никак, согласен. Но пока не перепрыгул, запомни: Люси тебе не друг. Бархатная перчатка отлично сидит на железной руке. И все перспективы, о которых мечтаешь, в которые вливаешься всеми силами и душою, твоими навыками и деньгами? Что ж, они принадлежат Microsoft. Опять.

Тебя отблагодарят.

~ge~

Конец

Сноски
[0] Microsoft? Oh it's just another partnership, insists GitHub CEO The Register, 24.05.2019

[1] В оригинале: But using Nat as bitch bait is a bit much. Нат, как парень, кто до непристойности легко, втирается в доверие девушкам. В данном случае эту черту эксплуатирует. наверх

[2] and the end game is in sight. End game это устоявшийся сленговое выражение, которое не столько буквальное финал и заключение, а как последняя фаза действия, цель, со стороны возможно непонятной, тактической игры. Перевод названия фильма Avengers: Endgame не воспроизводит всю эту глубину термина. наверх

Исторический контекст и примечание

Об авторе и истории:


Эта статья была оставлена год назад в виде комментария под новостной статьей о том, что несмотря на приобретение GitHub, Microsoft для этой компании останется как и прежде партнером.[0] Но грех бы было пройти мимо этого комментария, для меня он стал тем hidden gem, который случайно находишь в глубинах Интернета.

Интересно не оставляет обычный человек из ниоткуда вот такое вот эссе. Углубившись в поиски перед переводом я выяснил, что Гэри некоторое время состоял в Техническом Коммитете OpenDocument OASIS (как минимум 2002-2005гг.), где ковались в т.ч. форматы используемые OpenOffice в противовес всему Microsoft Office, и был волонтёром OpenOffice.org, далее, как понимаю, у него продолжилась карьера в ИТ-маркетинге (данные из презентации, стр. 3).
В 2005 году разыгралась драма нешуточных масштабов, когда американский штат Массачусеттс выдвинули идею стандартизировать OpenDocument для своего бюрократического аппарата. Разумеется, Microsoft боролась против этой затеи, что, видно, оставило след на памяти всех, кто был за открытый стандарт документов.
Officials in the state have proposed a new policy that mandates that every state technology system use only applications designed around OpenDocument file formats
Fox News, September 2005

В следствие этого конфликта, Microsoft устроили кампанию против этого стандарта/OOo, с тезисом, что формат может быть проприетарным из-за наличия каких-то лицензий или патентов от Sun, сообщение из рассылки (26.09.2005):
ODF Reciprocal License Allegation
Hi Eduardo,

Thanks for responding. Your explanation makes sense, but the shills and lackeys are off and running wild with this new discovery
that Sun has secret patents on ODF. Yes, they went full throttle, zero to sixty in under four seconds.

By next week this latest conspiracy theory will likely go the way of other myths that got some noise, and then into a vast echo
chamber that otherwise intelligent people reference in shamelessly self serving ways to justify the next conspiracy theory. I can
hear the deafening refrain now, There were so many reports that Sun had patents on ODF and that it's not really open, that you have
to stop and think.

I wrote a response to Brian Jones, and sent it to PJ for review. But the truth is, today is the first time i ever had to think
through the licensing issues. The interesting thing is that it's easy to circle false arguments, and set them spinning, even without
having a clue as to what i'm talking about :) At the end of the day they will become the fateful victims of their own wishful and
self serving exuberance. Such is life when you have no sense of integrity, trust and truth. And don't understand that when push
comes to shove, trust and truth are the only things that matter. Push came to shove in Massachusetts, and everyone got to see, up
close and personal, who they really are. Not a pretty sight. +1 Open Standards. +1 Open Source. Transparency rules.

Your arguments though have the truth of being there. Would you mind if PJ published your comments? I know that's asking a lot,
especially since there's far more at stake than needing to respond to the lies and deceits of the MS Office 12 gang. But your
response is clean, clear, and to the point. Groklaw does have one loud and booming voice. And PJ is the kind of do gooder who
doesn't like FUD. She usually does an excellent job of exposing and slamming away lies, deceits and distortions.

There is the distinct probability that things will get worse. I for one am quite surprised by the heavy handed, uncompromising take
no prisoners ferocity Microsoft has shown regarding the Massachusetts decision. ODF though is a silver bullet, and the shot Eric
Kriss and Peter Quinn took at all proprietary, platform and application bound file formats found it's mark. Finally.

The day before the final decision was made, i had a chance to speak at length with Peter Quinn. They were hoping against hope that
Microsoft would respect their decision and make the necessary accommodations to provide OpenDocument files. Sadly it was not to be,
but for sure Microsoft was given every consideration. Deserved or not.

Peter did ask if i would participate in his panel discussion session at the upcoming NACIO conference in San Diego. They expect
excellent attendance from every state. He's trying to get someone from Microsoft, but so far they are refusing to participate. So i
asked him if it would be okay if showed up with a few hundred OpenOffice.org CD's to pass out. He told me i would need more than that
:) Apparently the line behind Massachusetts is both long and ready.

I also asked if he and Eric would kindly autograph my copy of the OASIS OpenDocument v 1.0 specification. He said of course, but then
asked if i could get him a copy autographed by all the engineers and TC members who worked on OpenDocument. That would be a very nice
thing to do Eduardo, but could Sun help me put something like that together?

Thanks for setting things straight,

~ge~


С ссылкой на вот это очень длинное чтиво: Comments on Microsofts Letter to Massachusetts
by David A. Wheeler, October 29, 2005


Ещё есть интервью с GE, приуроченное к выходу OOo 2.0 (ноябрь, 2005): Gary Edwards: OpenOffice.org 2.0 leaping over legacy lockdown with clean XML

На письмо на эл. почту 2002 года (на yahoo) он не ответил :) Другие домены истекли, LinkedIn не пробовал, хотя он там наверняка есть.
Подробнее..

Обновленный LibreOffice 7.1 корпоративный пакет отдельно, редакция для комьюнити отдельно

04.02.2021 18:19:53 | Автор: admin
Источник

Офисный пакет LibreOffice 7.1, поддерживаемый The Document Foundation, получил очередное обновление. ПО готово для установки для дистрибутивов Linux, Windows и MacOS. Обновление пакета совместная работа курирующих проект компаний и членов комьюнити. Большую часть изменений (73%) внесли сотрудники Collabora, Red Hat и CIB, остальные заслуга энтузиастов.

Что нового в LibreOffice 7.1, читайте под катом.

LibreOffice 7.1: Community и Enterprise


Офисный пакет разделили на две редакции: одна для комьюнити ПО и получила название LibreOffice Community, вторая под названием LibreOffice Enterprise создана для корпоративного использования.

Такой шаг разработчики объясняют желанием облегчить жизнь обеим группам: тем, кто пользуется LibreOffice для личных нужд, и тех, кто использует пакет на уровне компании. LibreOffice Enterprise сделает проще работу поставщиков продуктов, создаваемых на основе опенсорсного LibreOffice, и объединит в некоторое подобие экосистемы.

Для продуктов семейства LibreOffice Enterprise будет предоставлена поддержка и длительный доступ к обновления ПО. Также этот тариф будет включать такие функции, как SLA (Service Level Agreements).

LibreOffice Community, в свою очередь, будут поддерживать энтузиасты, которые пользуются пакетом для личных нужд. По мнению разработчиков, это снимет с них необходимость рассматривать проблемы, связанные с массовым, а не индивидуальным использованием LibreOffice 7.1.

Оба ответвления, впрочем, остались на одной технологической платформе LibreOffice Technology. Это неизменная единая кодовая база для создания решений на основе LibreOffice. Интересно, что все изменения и со стороны Community, и со стороны Enterprise, будут вноситься в эту же базу. Вытекшие из одного устья, LibreOffice Community и LibreOffice Enterprise существуют как бы отдельно, но все равно стекаются в одно к концу своего пути. Это значит, что следующее обновление офисного пакета опять может стать единым.
Продукты, созданные на LibreOffice Technology, доступны в сборках для популярных ОС (Windows, macOS, Linux и ChromeOS), мобильных платформ (Android и iOS) и для облачного применения (LibreOffice Online).

Это про концептуальные изменения, а что насчет технических нюансов?

LibreOffice 7.1: что нового


В интерфейсе


  • При первом запуске программы теперь можно выбрать стиль интерфейса и тип панелей.


  • Добавлен виджет для предпросмотра стилей в панель инструментов Notebookbar.
  • Теперь получать расширения, пиктограммы, макросы или шаблоны можно без установки расширений и ручной загрузки. Новый диалог Additions позволяет подгружать их из внешних хранилищ.


В Writer


  • Добавлен Style Inspector, показывающий все атрибуты стилей и символов, а также свойства ручного форматирования.


  • В меню (вкладка) Formatting Aids теперь можно выбрать применяемый по умолчанию способ закрепления добавляемых изображений.
  • Шаблоны для документа зависят от языка, выбранного в Writer, а не от системной локали.


  • Обеспечено определение типа Unicode, даже при импорте текстовых файлов без маркера последовательности байтов (BOM).
  • Добавлена поддержка табличных формул PRODUCT, ABS, SIGN и COUNT, чтобы ПО было более совместимым с MS Word.
  • Теперь можно переключать видимость имен полей ввода ( View Field Names) и выделять мышью пустые поля. Для полей, совместимых с Word, доступен переключатель, позволяющий скрывать как команды, так и результат.
  • Операция поиска и замены информации стала более быстрой.
  • Для старых PDF-документов, созданных в OpenOffice.org 2.2 и более старых выпусках, при импорте реализовано преобразование вложенных таблиц в таблицы с разбивкой на уровне строк (rowspan). Последние более качественно экспортируются в форматы Word и HTML.

В Calc


  • Теперь можно отключать вставки клавишей Enter (Tools Options LibreOffice Calc General).
  • Выделять элементы в окне Autofilter можно кликом на любой строке.
  • Сбросить все значения можно одной кнопкой Reset All (в диалоге Solver).
  • Работа с объединенными ячейками стала проще: легче заполнять, выделять и копировать их структуры.
  • Улучшились функции проверки правописания и поиска в Autofilter.
  • В функции Indirect появилась поддержка имен, ограниченных текущим листом.

В Impress и Draw


  • Новые анимационные эффекты, добавлена поддержка анимации на основе движка для стимуляции физических процессов. Также в Impress теперь можно менять анимацию сразу для нескольких объектов.


  • Добавлены реалистичные размытые тени от объектов.
  • В Draw для встроенных PDF-файлов добавлены видимые метки о наличии заверения документа цифровой подписью.
  • В консоли управления презентацией появились новые кнопки Pause/Resume и Exit.

И еще парочка обновлений


  • В Math в панель Element добавлены новые примеры и реализована полная поддержка HTML-цветов, некоторые из которых можно выбрать через интерфейс в панели Element.
  • Расширенную коллекцию макросов для LibreOffice можно вызывать из скриптов на Basic и Python.
  • В системе импорта теперь можно определить тип пустых файлов по их расширению. Например, при попытке открытия pptx и dotx нулевого файлы будут открыты в указанных форматах.
  • Импорт и экспорт документов в формате docx, xlsx и pptx стал лучше. Расширена поддержка импорта SmartArt.

С полным списком можно ознакомиться здесь. Также разработчики кратко продемонстрировали нововведения в ролике на YouTube.


Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru