Developing — различия между версиями

Материал из Русский WINE
Перейти к: навигация, поиск
(Новая страница: « == Особенности разработки в фирме Etersoft продукта WINE@Etersoft == ===1.WINE@Etersoft представляет собой…»)
 
 
(не показаны 4 промежуточные версии 2 участников)
Строка 1: Строка 1:
  
 
== Особенности разработки в фирме Etersoft продукта WINE@Etersoft ==
 
== Особенности разработки в фирме Etersoft продукта WINE@Etersoft ==
 
 
  
 
===1.WINE@Etersoft представляет собой видоизменённую и доработанную версию Open Source проекта Wine (www.winehq.org)===
 
===1.WINE@Etersoft представляет собой видоизменённую и доработанную версию Open Source проекта Wine (www.winehq.org)===
Строка 11: Строка 9:
  
 
* Открытая - это код Wine, содержащий наши исправления ошибок, наши реализации функций и прочие доработки. В идеале весь код открытой части должен быть принят в основное древо проекта Wine. Это наш вклад в развитие в проект Wine.
 
* Открытая - это код Wine, содержащий наши исправления ошибок, наши реализации функций и прочие доработки. В идеале весь код открытой части должен быть принят в основное древо проекта Wine. Это наш вклад в развитие в проект Wine.
 
 
  
 
===2. Разработка открытой части выглядит примерно так:===
 
===2. Разработка открытой части выглядит примерно так:===
 
 
* Выбирается, либо назначается ошибка, зарегистрированная в базе данных ошибок bugs.etersoft.ru.
 
* Выбирается, либо назначается ошибка, зарегистрированная в базе данных ошибок bugs.etersoft.ru.
 
* Разработчик изучает ошибку, исследует причины, приводящие к возникновению этой проблемы.
 
* Разработчик изучает ошибку, исследует причины, приводящие к возникновению этой проблемы.
* Определяются механизмы, модули, участки кода [http://wiki.etersoft.ru/WinApi WinApi] (реализованные в Wine), в которых прослеживается ошибка.
+
* Определяются механизмы, модули, участки кода [[WinAPI]] (реализованные в Wine), в которых прослеживается ошибка.
 
* Пишутся кросс-тесты демонстрирующие наличие этой ошибки в Wine и отсутствие её в Windows.
 
* Пишутся кросс-тесты демонстрирующие наличие этой ошибки в Wine и отсутствие её в Windows.
 
* Затем происходит исправление ошибки. Возможны два варианта:
 
* Затем происходит исправление ошибки. Возможны два варианта:
** В коде Wine найдена ошибка и программист пишет патч, исправляющий её. Патч добавляет в папку Check нашего cvs. Со временем исполнитель добивается чтобы и тест и патч были приняты в основное дерево Wine.
+
** В коде Wine найдена ошибка и программист пишет патч, исправляющий её. Патч добавляет в папку Check нашего cvs. Со временем исполнитель добивается, чтобы и тест и патч были приняты в основное дерево Wine.
** В коде Wine найдено место, в котором возникает ошибка, но не ясны причины, приводящие к возникновению её. Если есть возможность исправить эту ошибку и приэтом не нарушается функционирование других частей Wine, то программист создаёт патч и добавляет его в папку hack.Это говорит о том, что пока не ясно как верно с точки зрения АРХИТЕКТУРЫ проекта Wine исправлять данную ошибку, но поскольку исправление обеспечивает нужную функциональность требуемого приложения, то для удобства клиентов, возможно использование этого решения в качестве ВРЕМЕННОГО. Естественно со временем данная ошибка должна быть исправлена более корректным способом.
+
** В коде Wine найдено место, в котором возникает ошибка, но не ясны причины, приводящие к возникновению её. Если есть возможность исправить эту ошибку и при этом не нарушается функционирование других частей Wine, то программист создаёт патч и добавляет его в папку hack. Это говорит о том, что пока не ясно как верно с точки зрения АРХИТЕКТУРЫ проекта Wine исправлять данную ошибку, но поскольку исправление обеспечивает нужную функциональность требуемого приложения, то для удобства клиентов, возможно использование этого решения в качестве ВРЕМЕННОГО. Естественно со временем данная ошибка должна быть исправлена более корректным способом.
 
* После добавления патча ошибка закрывается и сообщается тестировщику о необходимости проверить и подтвердить исправление ошибки.
 
* После добавления патча ошибка закрывается и сообщается тестировщику о необходимости проверить и подтвердить исправление ошибки.
 
 
  
 
===3. Взгляд на использование reverse engineering (обратной разработки)===
 
===3. Взгляд на использование reverse engineering (обратной разработки)===
 +
При работе над проектом Wine запрещено использовать знания и наработки, полученные путём изучения исходного кода Windows и дизассемблированием модулей. Отсылая патч в рассылку wine-patches@winehq.org, разработчик подтверждает, что знаком и согласен с этими требованиями. Вместо обратной разработки используется метод написания кросс-тестов (тестов исполняемых под Wine и под Windows), которым получают необходимые знания о работе функций. Также эти тесты являются юнит-тестами проекта Wine, так как позволяют проводить диагностику работоспособности Wine после добавления новых участков кода.
  
При работе над проектом Wine запрещено использовать знания и наработки полученные путём изучения исходного кода Windows и дизассемблированием модулей. Отсылая патч в рассылку wine-patches@winehq.org считается что разработчик патча знаком и согласен с этими требованиями. В качестве обратной разработки используется метод написания кросс-тестов (тестов исполняемых под Wine и под Windows), благодаря которому получают необходимые знания о работе функций. Так же эти тесты являются юнит-тестами проекта Wine, так как позволяют проводить диагностику работоспособности Wine после добавления новых участков кода.
+
[[Категория:WINE@Etersoft]]
 +
{{Wine}}

Текущая версия на 12:51, 12 февраля 2018

Особенности разработки в фирме Etersoft продукта WINE@Etersoft

1.WINE@Etersoft представляет собой видоизменённую и доработанную версию Open Source проекта Wine (www.winehq.org)

Состоит из двух частей:

  • Закрытая - содержит интеллектуальную собственность компании Etersoft, с ключевыми изменениями, обеспечивающие работоспособность поддерживаемых приложений. Так же в ней содержатся наработки, которые не относятся напрямую к WinAPI и проекту Wine, но нужны для полноты продукта.
  • Открытая - это код Wine, содержащий наши исправления ошибок, наши реализации функций и прочие доработки. В идеале весь код открытой части должен быть принят в основное древо проекта Wine. Это наш вклад в развитие в проект Wine.

2. Разработка открытой части выглядит примерно так:

  • Выбирается, либо назначается ошибка, зарегистрированная в базе данных ошибок bugs.etersoft.ru.
  • Разработчик изучает ошибку, исследует причины, приводящие к возникновению этой проблемы.
  • Определяются механизмы, модули, участки кода WinAPI (реализованные в Wine), в которых прослеживается ошибка.
  • Пишутся кросс-тесты демонстрирующие наличие этой ошибки в Wine и отсутствие её в Windows.
  • Затем происходит исправление ошибки. Возможны два варианта:
    • В коде Wine найдена ошибка и программист пишет патч, исправляющий её. Патч добавляет в папку Check нашего cvs. Со временем исполнитель добивается, чтобы и тест и патч были приняты в основное дерево Wine.
    • В коде Wine найдено место, в котором возникает ошибка, но не ясны причины, приводящие к возникновению её. Если есть возможность исправить эту ошибку и при этом не нарушается функционирование других частей Wine, то программист создаёт патч и добавляет его в папку hack. Это говорит о том, что пока не ясно как верно с точки зрения АРХИТЕКТУРЫ проекта Wine исправлять данную ошибку, но поскольку исправление обеспечивает нужную функциональность требуемого приложения, то для удобства клиентов, возможно использование этого решения в качестве ВРЕМЕННОГО. Естественно со временем данная ошибка должна быть исправлена более корректным способом.
  • После добавления патча ошибка закрывается и сообщается тестировщику о необходимости проверить и подтвердить исправление ошибки.

3. Взгляд на использование reverse engineering (обратной разработки)

При работе над проектом Wine запрещено использовать знания и наработки, полученные путём изучения исходного кода Windows и дизассемблированием модулей. Отсылая патч в рассылку wine-patches@winehq.org, разработчик подтверждает, что знаком и согласен с этими требованиями. Вместо обратной разработки используется метод написания кросс-тестов (тестов исполняемых под Wine и под Windows), которым получают необходимые знания о работе функций. Также эти тесты являются юнит-тестами проекта Wine, так как позволяют проводить диагностику работоспособности Wine после добавления новых участков кода.

Wine
Search.png
Программы работающие в WineСкачатьШкольный Wine
WINE@Etersoft Общие сведенияУстановка на 64-битные ОСОсобенности разработкиПатчи для WINE@EtersoftАдминистративная установкаДополнительные компонентыКак получить WINE@Etersoft?Лицензия на документациюГлоссарийИспользование аппаратных ключей защиты в LinuxДополнительная информация • [ Совместная работа | по CIFSпо NFS ] • Изменение системных ограниченийРегистрация продуктаПошаговая инструкция по установке rpm-пакетовОбращение в службу поддержкиТерминальные решенияУстановка WINE@EtersoftПодписка на обновленияНастройка WINE@EtersoftРазработчикуEnterpriseЧто такое WINE@Etersoft SQLВозможностиСреда для запуска приложений WindowsИспользование WINE@EtersoftFAQ по использованию WINE@EtersoftОсновные командыWINE@Etersoft/LocalЧто такое WINE@Etersoft Local
Программы Запуск БЭСТ 4+Запуск Консультант+ (сетевой версии)ГарантF1Инфо-Бухгалтер 8.xНалогоплательщик ЮЛ
1C Отличия от обычного WineМестоположение базы 1С1C: Предприятие 7.7 в WINEНастройка 1С 7.7 для работы с SQL-серверомУстановка 1С: Предприятия 8.1Установка 1С: Предприятия 8.1 в трёхзвенном режиме
Пользователю
Помощь Использование WinecfgИспользование RegeditПубличный префиксНесколько версийКлючи regedit
Легальность DCOM95IE5DCOMMSXML
Утилиты для работы с Wine WinetricksWineToolsQ4WinePlayOnLinuxIEs4LinuxWine-DoorsSwineWine LauncherLutris
Разработчику
Компоненты WindowsЗапрет отключения защиты программыУправление обработчиком исключенийStraceNTИзмерение скорости функций WinAPIGLУстройство чтения смарт-картПрофилированиеТесты для проверки интерфейсовНаписание тестов в системе WineАутентификация в домене ADРепозиторииПрименение Git-патчей
Помощь Создание патчейНаписание приложения под wineОтправка патчейСборка eterhackСборка wine-public
Отладка Способы отладкиWINEDEBUGWinedbg
Разработка WINE
1CODBCWinHelpКомпасМетодикаТестирование доступаЦветаФайловый диалогТестированиеЛитератураИзображенияWin32ШрифтыФайловые блокировкиСсылкиКлючи защитыRPMWineGeckoListViewУпаковка Wine
Производителю
Родственные проекты
LUKReactOSARWINSSCrossOverKernelEx
Прочее
PageSetupDlgFreeBSDWwr