group-telegram.com/orgprog/286
Last Update:
Инженерные решения: Хранение курсов на Хекслете
Когда мы делали Хекслет (а потом и code-basics), то перед нами стояла вроде бы типовая задачка создать CRUD курсов, которые, кстати, почти все текстовые. Но не все так просто. Так как авторы курсов могут быть внешними людьми, то сразу встает вопрос организации доступов. На этом этапе возникает пачка новых вопросов:
• А если человек что-то сотрет, что не надо стирать?
• А если он просто все удалит?
• А если один курс будет править сразу несколько человек?
Короче стало понятно, что нужно внедрять систему прав и версионирование. Мы как-то покрутили это добро и поняли, что заниматься такими вопросами ну совсем не хочется. Это круто с точки зрения программирования, но совсем не нужно с точки зрения бизнеса. Можно ли как-то по другому решить этот вопрос? Гит подумали мы и посмотрели на гитхаб. Ну и плюсом система прав. Все что остается сделать это написать небольшой круд с загрузкой курса. Так мы и сделали, заодно реализовали CD, когда коммит в main приводит к автоматической загрузке и выкладке курса на платформу.
Несмотря на то, что мы хотели использозвать github в Хекслете, его биллинг и система репозиторев оказались для нас неудобными. У нас тысячи репозиториев (курсы и упражнения), которые надо раскладывать в какую-то иерархическую структуру с выдачей прав под куски этой структуры. Такая функциональность есть у gitlab, который мы по сей день и используем. Правда они в какой-то момент поменяли биллинг так, что нам пришлось поднять свой сетап. Ну а курсы бейзикса лежат в открытом доступе на гитхабе.
До сих пор считаю что это было прекрасным решением, мы, по сути, делегировали большую часть функций внешнему сервису, который справляется с этим в тысячу раз лучше, чем если бы мы делали это сами.
Ссылки: Телеграм | Youtube | VK
BY Организованное программирование | Кирилл Мокевнин

Share with your friend now:
group-telegram.com/orgprog/286