|
0 / 0 / 0
Регистрация: 16.05.2021
Сообщений: 24
|
|
Обеспечение удаленной работы программиста08.08.2025, 14:04. Показов 1711. Ответов 23
Метки нет (Все метки)
Добрый день!
Необходимо обеспечить удаленную работу программистов над C++ проектом. Никогда не сталкивался с такой задачей, поэтому решил задать вопрос в надежде, что кто-то уже имеет опыт такой работы и направит на самое простое решение. Итак, имеется продукт для проведения инженерных расчетов, написанный на GNU C++. Он представляет собой один exe-файл с несколькими файлами данных. Запускается на локальном компьютере. Необходимо привлекать программистов для удаленной работы над отдельными кусками кода. Идеальное решение выглядело бы так: 1. На сервере под Linux разворачивается система, обеспечивающая работу удаленных программистов. 2. Для каждого программиста создается отдельный экземпляр проекта. Программист имеет доступ только к тем файлам, которые касаются его работы. Остальное строго засекречено. 3. Программист любым способом редактирует эти файлы и обновляет их на сервере. 4. Компиляция проекта происходит на сервере. 5. Скопмилированная программа скачивается и запускается на программистом на своем компьютере. Как проще всего развернуть работу такой системы? Есть ли готовые решения?
0
|
|
| 08.08.2025, 14:04 | |
|
Ответы с готовыми решениями:
23
Программное обеспечение организации: бизнес-процесс в BPWin Docker-compose на удаленной машине
|
|
2290 / 1549 / 718
Регистрация: 17.03.2022
Сообщений: 4,976
|
||||
| 08.08.2025, 14:37 | ||||
|
Странные у вас, скажем так, запросы.
Пожелание несколько диссонирует с уровнем всего остального. Но так-то то же самое - любая машина с доступом по SSH. С остальными пунктами то же самое, кроме Если более серьезно - поставить на той же машине git-сервер. Но для начала лучше убрать откровенные нелепости из техзадания.
0
|
||||
|
0 / 0 / 0
Регистрация: 16.05.2021
Сообщений: 24
|
|
| 08.08.2025, 14:39 [ТС] | |
|
Спасибо за помощь
0
|
|
|
1 / 1 / 0
Регистрация: 06.06.2023
Сообщений: 5
|
||
| 10.08.2025, 12:15 | ||
|
Насчёт остального - посмотрите в сторону DevOps практик: CI/CD, приватные репозитории Github/Gitlab
0
|
||
|
0 / 0 / 0
Регистрация: 16.05.2021
Сообщений: 24
|
|
| 10.08.2025, 14:43 [ТС] | |
|
Спасибо за ответ.
А вы имеете опыт установки и настройки чего-то типа Jenkins? Дело в том, что я сильно ограничен в возможностях что-либо изучать. Я был бы очень рад пройти краткое обучение и получить помощь в развертывании такой системы. Не за спасибо, конечно.
0
|
|
|
35 / 60 / 2
Регистрация: 23.11.2024
Сообщений: 757
|
||||
| 10.08.2025, 16:44 | ||||
|
У программиста должна быть одна из них, нет в этом ничего особенного. Добавлено через 1 минуту Или студентов, которые будут разбираться. Добавлено через 7 минут gitblit тут при том, что у него Jenkins на Java
0
|
||||
|
1 / 1 / 0
Регистрация: 06.06.2023
Сообщений: 5
|
||
| 10.08.2025, 16:46 | ||
|
Могу лишь посоветовать поискать/самому опубликовать объявление на фриланс-сайтах по ключевому слову "DevOps". А перед этим можете сами, например, зарегистрироваться на gitlab.com, создать там один или несколько приватных репозиториев, загрузить туда код, затем через CI/CD (jobs/pipelines) настроить автоматическую компиляцию этого кода на сервере gitlab или на своём (возможно, это уже как раз отдельная конкретная задача), также настроить и защитить главную git-ветку (копию) проекта от записи, и разрешить вносить изменения только в отдельные ветки. Если всё это настроить, то большая часть перечисленных требований выполняется: - каждый программист имеет доступ к общей главной ветке и может скачивать код, но не может редактировать - также он может создавать свои ветки с полной копией проекта и их редактировать - каждое редактирование запускает автоматическую компиляцию на сервере, результат которой можно скачать Но при таком подходе не выполняется условие с засекреченной частью. Возможно, что-то можно придумать и использовать несколько приватных репозиториев.
0
|
||
|
0 / 0 / 0
Регистрация: 16.05.2021
Сообщений: 24
|
|
| 10.08.2025, 18:04 [ТС] | |
|
Спасибо!
Условие с засекреченной частью самое важное из всех. Без него все теряет смысл. Особенности проекта таковы, что все исходники и компиляция должны быть на нашем серваке. А пользователь мог бы только удаленно менять открытые ему файлы в одной из веток. Организация работы не нужна, это все сделаем сами. Нужно вместе разобрать простейший пример (скажем, через ZOOM). Что-то типа: 1. Вот ставим Git. 2. Вот ставим Jenkins или что-то такое (не разбираюсь пока). 3. Вот создаем проект Hello World на C++. 4. Вот мы загрузили проект в нашу систему. 5. Создаем пользователя-программиста и разрешаем ему править вот эти файлы. 6. Из под него запускаем компиляцию, скачиваем экзешник. 7. Все.
0
|
|
|
35 / 60 / 2
Регистрация: 23.11.2024
Сообщений: 757
|
|
| 10.08.2025, 18:33 | |
|
это надолго, в смысле много времени займёт.
Во-первых, если у вас пользователи в разных местах, вам нужен VPN. Во-вторых, чтобы пользователи были нужен LDAP. В-третьих, надо делать SSO, чтобы пользователю давались права во всех этих приложениях. И наверное Kerberos тоже (к нему NTP). Ещё вам понадобится багтрекер, какое-нибудь средство накопления знаний типа библиотеки для .pdf-ок отчётов, или wiki-статей в knowledge base хорошо бы какой-нибудь мессенжер на XMPP для созвонов голосом и передачи файлов Это в общем и целом НИОКР, у него этапы, документы в качестве результатов (интеллектуальной деятельности). Интересно, продают ли такое в виде преднастроенных серверов? Поисковые сервера же продают.
0
|
|
|
0 / 0 / 0
Регистрация: 16.05.2021
Сообщений: 24
|
||
| 10.08.2025, 19:08 [ТС] | ||
|
В принципе, вариант с SSH, предложенный Pphantom, вполне рабочий. Только графической оболочки в нем нет.
Можно, конечно, что-то простейшее накидать... VPN уже есть. Все основное ядро пишется одним человеком. Он координирует проект. Удаленные программисты совместно с инженерами будут работать только над расчетными модулями, так что отладчики здесь не особо нужны. Они будут оценивать свою работу по тем цифрам, которые они получают. Добавлено через 1 минуту
0
|
||
|
Модератор
3135 / 2282 / 469
Регистрация: 26.03.2015
Сообщений: 8,884
|
||
| 03.09.2025, 13:49 | ||
|
Каждый пакет поместить в отдельный репозиторий и давать к нему доступ только тому, кто правит. Если есть какой-то общий код, то его можно вынести в отдельный пакет, который будут подключать другие пакеты (расчётные модули).
0
|
||
|
334 / 93 / 5
Регистрация: 19.07.2024
Сообщений: 516
|
||||
| 03.09.2025, 14:33 | ||||
|
И самое весёлое начнётся, когда программа будет внезапно падать из-за неизвестного бага. И каждый программист будет заявлять: "Баг не у меня. У меня всё работает!" ![]() Без код-ревью - никак. А значит - все программисты (отлаживающие exe-шник) должны видеть весь код - и свой и чужой. Добавлено через 3 минуты Народная мудрость гласит: "У победы множество отцов, а неудача всегда сирота." Так и с программингом: Баг всегда будет ничьим. Если у продукта более одного автора, то все будут валить друг на друга. Без возможности код-ревью кода соседа.
0
|
||||
|
Модератор
3135 / 2282 / 469
Регистрация: 26.03.2015
Сообщений: 8,884
|
||
| 03.09.2025, 16:58 | ||
|
0
|
||
|
334 / 93 / 5
Регистрация: 19.07.2024
Сообщений: 516
|
||
| 03.09.2025, 18:07 | ||
![]() ...потому как она оказывается портит чужие данные ...иногда. Только - кого же это волнует? Автор говорит "У меня всё работает! А остальное - ваши проблемы, выпрямляйте руки!"
0
|
||
|
108 / 72 / 6
Регистрация: 08.08.2025
Сообщений: 716
|
|
| 03.09.2025, 19:56 | |
|
Странная тема. Очень похоже на то, чтобы бесплатно привлекать людей и подсовывать им тест, вот мол решай, возьмем на работу. Потом их футболят.
И как-то наивно написано. Не исключаю, то это студент, которому надо написать проект. Или контрольные решать.
1
|
|
|
0 / 0 / 0
Регистрация: 16.05.2021
Сообщений: 24
|
|
| 03.09.2025, 22:10 [ТС] | |
|
Спасибо за участие.
Решение нашей задачи ближе всего к тому, что говорит Shamil1. Расчетные модули, которыми программист совместно с инженером занимаются дистанционно, действительно слабо связаны с остальной частью программы (в нашем случае). Для их отладки вполне достаточно решения тестовых задач с известными исходными данными и результатом. В настоящее время сервер подключен к VPN, на нем установлены Git и кросс-компилятор C++. С помощью doxygen создана часть документации. Начинаем работы по созданию своего небольшого SDK. Дописываем простенькую пару "клиент-сервер", которая работает через командную строку, заливает рабочие файлы программиста в общий проект на сервак, запускает кросс-компилятор и скачивает полученный exe-шник. Мысль о том, что это студент или кто-то хочет кого-то футболить очень странная. Да, возможно, тема наивная и не очень корректная. Но я больше инженер, чем программист. Поэтому решаю свои задачи, как могу.
0
|
|
|
0 / 0 / 0
Регистрация: 16.05.2021
Сообщений: 24
|
|
| 03.09.2025, 22:35 [ТС] | |
|
Продукт кроссплатформенный. Есть сборки под Windows, есть под разные дистрибутивы Linux. Ядро продукта пишется, преимущественно, в IDE под Windows. Потом версии компилируются и тестируются под разными Linuxами. С этим проблем нет, все отлажено, все работает.
Задача - привлечь к работе над узкоспециализированными расчетными модулями специалистов и программистов. Каждый такой модуль весьма дорого стоит в плане денег, усилий и наличия эксклюзивных фишек, поэтому отдавать исходники проекта всем никак нельзя. Так как большинство программистов, скорее всего, будет работать под виндой, то используем кросс-компилятор. С этим тоже проблем нет.
0
|
|
|
108 / 72 / 6
Регистрация: 08.08.2025
Сообщений: 716
|
||||
| 04.09.2025, 06:22 | ||||
|
Хотя бы направление какое указать, вычисления разные бывают, там много нюансов и обычно узкие спецы работают. Для таких случаев сразу много условий заранее говорится, особенно по оптимизации и ускорению вычислений. Про засекреченность самое смешное. И можно озвучить зарплату для тех, кто будет писать код? Наверное бесплатно. Понятно.
0
|
||||
|
Модератор
3135 / 2282 / 469
Регистрация: 26.03.2015
Сообщений: 8,884
|
|||
| 04.09.2025, 10:05 | |||
|
Упрощённый (надуманный) пример. Я пишу Excel и хочу в язык добавить функции для вычисления дисперсии, корреляции и т.п. Разумно, если эту работу будут выполнять специально обученные люди, а не программисты, которые пишут GUI. Разумно, отдать эту работу на аутсорс, а не нанимать специалистов в штат на несколько месяцев. И было бы странным выдать этим сторонним специалистам исходный код всего Excel.
0
|
|||
| 04.09.2025, 10:05 | |
|
Помогаю со студенческими работами здесь
20
Как из контейнера docker подключиться к внешней удалённой базе данных? Литература по тестированию программного обеспечения инвестиционный проект программного обеспечения Архитектура программного обеспечения
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|