1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/cdk8s-sculptor-boot-generator

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 36 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 19:11 8598a1a

Скульптор Бут: система для быстрой разработки программного обеспечения, ориентированная на программистов

Некоторые точки зрения могут показаться слишком радикальными, поэтому несовершеннолетним рекомендуется читать их в присутствии взрослых:

«Данные — это всё, всё — данные».

Система Скульптор Бут включает в себя:

— Логику базы данных: MySQL и PostgreSQL (в следующей версии будет использоваться PostgreSQL).

— Генератор кода: Java.

— Проект для бэкенда: Spring Boot и Spring Cloud Alibaba (распределённая версия).

— Проект для фронтенда: React и Vue (в следующей версии будет использоваться Vue).

Да, они не могут решить все проблемы. Но они могут решить некоторые из них.

Правила кодирования

Правила для запросов:

— Правила для запросов бэкенда (https://github.com/cdk8s/cdk8s-team-style/blob/master/dev/common/http-request.md).

— Правила для запросов приложения (https://github.com/cdk8s/cdk8s-team-style/blob/master/dev/common/api-request.md).

Соглашение о базе данных (./db-style.md):

— Создание таблиц SQL: enum, tree, foreignKey (один или несколько параметров), возвращающие EntityObject или List, а также поддерживающие удаление параметра.

— oneParam: один параметр запроса, возвращающий List.

— listParam: несколько параметров запроса, возвращающих List.

— likeParam: один параметр запроса с использованием подстановочных знаков, возвращающий List.

Принципы вывода журнала (./log-style.md).

Принципы комментирования кода:

— Разделение комментариев для запросов и операций.

— Отсутствие необходимости в комментариях к параметрам, за исключением сложных случаев.

— Написание комментариев перед кодом для бизнес-логики.

Принципы YApi

Соблюдение правил запросов приложений.

Использование синтаксиса для комментариев.

Git

TKey: Github (https://github.com/cdk8s/tkey) и Gitee (https://gitee.com/cdk8s/tkey).

sculptor-boot-generator: Github (https://github.com/cdk8s/sculptor-boot-generator) и Gitee (https://gitee.com/cdk8s/sculptor-boot-generator).

sculptor-boot-backend: Github (https://github.com/cdk8s/sculptor-boot-backend) и Gitee (https://gitee.com/cdk8s/sculptor-boot-backend).

sculptor-boot-frontend: Github (https://github.com/cdk8s/sculptor-boot-frontend) и Gitee (https://gitee.com/cdk8s/sculptor-boot-frontend).

sculptor-boot-test: Github (https://github.com/cdk8s/sculptor-boot-test) и Gitee (https://gitee.com/cdk8s/sculptor-boot-test).

sculptor-boot-docs: Github (https://github.com/cdk8s/sculptor-boot-docs) и Gitee (https://gitee.com/cdk8s/sculptor-boot-docs).

Live Demo

Обратите внимание: пропускная способность составляет всего 1 Мбайт, что может замедлить доступ.

Для нормального доступа и перенаправления на страницу входа необходимо добавить следующие хосты:

182.61.44.40 sculptor.cdk8s.com.

Доступ по адресу: CDK8S Sculptor Boot (http://sculptor.cdk8s.com/sculptor-boot-frontend/).

Демонстрация GIF (генерация CURD для одной таблицы)

Объяснение: GIF был ускорен для уменьшения размера.

Процесс генерации кода (http://img.gitnavi.com/sculptor-boot/sculptor-boot-gen.gif).

Процесс модульного тестирования (http://img.gitnavi.com/sculptor-boot/sculptor-boot-junit.gif).

Шаги демонстрации:

— Инициализация скрипта базы данных.

— Выполнение операции генерации.

— Добавление сгенерированных файлов в систему контроля версий.

— Вставка SQL-кода разрешений в базу данных.

— Запуск модульных тестов:

mvn clean test -Dtest=SysDemoMapperTest,SysDemoServiceTest,SysDemoControllerTest.

— Запустить приложение бэкенда и выполнить тестирование интерфейса:

mvn gatling:test -Dgatling.simulationClass=test.load.cdk8s.SysDemoPage.

— Запустите приложение фронтенда и продемонстрируйте операции CURD.

Видео на Bilibili

Sculptor-Boot-генератор кода-CDK8S (https://www.bilibili.com/video/av79864146/).

Графические изображения, связанные с развёртыванием и производительностью:

Часть изображений была взята из проекта TKey, который имеет аналогичную архитектуру. Для получения дополнительной информации о развёртывании и конфигурационных файлах рекомендуется обратиться к проекту TKey: TKey: Github (https://github.com/cdk8s/tkey) и Gitee (https://gitee.com/cdk8s/tkey).

JProfiler: изменение нагрузки (http://img.gitnavi.com/tkey/tkey-jprofiler.gif).

Вход в систему: основное изображение (https://upload-images.jianshu.io/upload_images/19119711-cd483cefb50eb763.gif) и дополнительное изображение (http://img.gitnavi.com/tkey/tkey-sso-login.gif).

Grafana: мониторинг большого экрана (основное изображение: https://upload-images.jianshu.io/upload_images/19119711-af9b3d3411db1da1.gif, дополнительное изображение: http://img.gitnavi.com/tkey/actuator-prometheus-grafana.gif).

GoAccess: мониторинг большого экрана (основное изображение: https://upload-images.jianshu.io/upload_images/19119711-b3bcc4edcf0df007.gif, дополнительное изображение: http://img.gitnavi.com/tkey/goaccess-data.gif).

Postman: вызов API (основное изображение: https://upload-images.jianshu.io/upload_images/19119711-a8316b794bf4bf56.gif, дополнительное изображение: http://img.gitnavi.com/tkey/postman-request-api.gif).

Docker: управление контейнерами (основное изображение: https://upload-images.jianshu.io/upload_images/19119711-281dd6b40f2d7fc7.gif, дополнительное изображение: http://img.gitnavi.com/tkey/portainer-docker.gif).

Jenkins: конвейер развёртывания (основное изображение: https://upload-images.jianshu.io/upload_images/19119711-2d20e2fba98ddbbd.gif, дополнительное изображение: http://img.gitnavi.com/tkey/tkey-jenkins.gif).

JProfiler: изменения нагрузки (изображение: АПИ). Перевод текста на русский язык:

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

TKey использует протокол OAuth, поэтому процесс входа может показаться сложным и запутанным. Это связано с тем, что вместо простой проверки имени пользователя и пароля используется авторизация через код доступа.

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

Использование Shiro и Spring Security не требуется благодаря применению TKey. Вы можете настроить процесс аутентификации по своему усмотрению, учитывая различные требования заказчика.

Что касается использования JPA или MyBatis, я склоняюсь к использованию MyBatis с XML-конфигурацией. Не рекомендую использовать аннотации и блоки кода классов, так как:

  1. Большинство небольших команд в Китае имеют ограниченные возможности моделирования и часто не обладают достаточной инженерной культурой мышления. В таких условиях гибкая запись SQL будет более удобной для обслуживания.
  2. Симметричная структура XML легче поддаётся генерации шаблонов кода.
  3. IntelliJ IDEA предоставляет отличную поддержку XML, включая подсказки, проверку орфографии, навигацию по коду и другие функции.
  4. XML проще читать, изменять, копировать и форматировать.
  5. Коммерческие плагины для IntelliJ IDEA MyBatis могут дополнительно повысить эффективность работы с XML.
  6. С точки зрения личных предпочтений, выбор между XML и классами зависит от индивидуальных предпочтений. Оба варианта могут быть использованы, но если вы выбираете экосистему, то только XML подходит.

Если Spring Data R2DBC станет зрелым решением, единственным вариантом будет использование JPA, чтобы обеспечить реактивность. На данный момент это ещё рано обсуждать.


Видеоуроки для начинающих разработчиков веб-приложений (авторские права принадлежат автору)

Если вы не знакомы со Spring Boot, рекомендуется сначала изучить следующие материалы перед использованием:

  • Управление проектами: логика (Университет Цинхуа):

    • Прежде чем приступать к работе над проектом, важно понимать, зачем вы пишете код. Это поможет вам определить цели и задачи вашей команды. Даже если ваша команда не справляется с задачами, это отдельная проблема. Важно иметь чёткое представление о том, что вы делаете и для кого.
    • Повторю: управление проектами — это прежде всего вопрос времени. Время можно использовать для оптимизации затрат, качества и рынка. К сожалению, у каждого человека есть только 24 часа в сутки, и это не бесконечный ресурс.
    • Большинство обычных веб-разработчиков сталкиваются с проблемами управления, а не с техническими трудностями. Существуют ли какие-то сложные технические аспекты в современной веб-разработке? Я не согласен с этим утверждением.
  • Git & Github:

    • Необходимо освоить Git, даже если вам не нравится запоминать команды. Главное — понять концепцию совместной разработки.
  • Веб-протоколы и анализ трафика:

    • Это основы веб-разработки. Хотя не обязательно запоминать все детали, важно иметь общее представление.
  • Эффективное использование IntelliJ IDEA:

    • Мои собственные видеоуроки по IntelliJ IDEA, возможно, уже устарели (с 2012 года), поэтому я не рекомендую их. Однако есть более новые и полезные видеоматериалы.
  • Упрощённые уроки IntelliJ IDEA на китайском языке:

    • Эти уроки написал я. Они содержат много информации и подходят для всех популярных IDE от JetBrains. В будущем, когда мы начнём изучать анализ данных и искусственный интеллект, нам также понадобится PyCharm, поэтому важно освоить IntelliJ IDEA.
  • Основы MySQL:

    • Рекомендую сосредоточиться на изучении запросов и анализе логики SQL. Понимание представлений и хранимых процедур также полезно.
  • Базовые уроки Spring Boot:

    • Включают в себя изучение Linux и Docker. Эти навыки также необходимо освоить.
  • Коммуникация и сотрудничество в команде с помощью UML (не обязательно, но рекомендуется):

    • Этот набор включает в себя UML для улучшения коммуникации и сотрудничества в команде.
  • Стандарты команды CDK8S (необязательно, можно использовать в качестве примера):

    • CDK8S предлагает стандарты для командного взаимодействия.

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

Ссылки на документацию:


Все права на систему Sculptor Boot и TKey были переданы в виде заявок на авторские права. Исходный код Sculptor Boot открыт под лицензией GPL. Для коммерческого использования с закрытым исходным кодом необходимо быть партнёром.

Партнёрство отличается от коммерческого лицензирования. Партнёрство основано на субъективном личном взаимодействии, которое выражает признание моих ценностей и принципов. Оно не требует чтения прав или прав на исходный код, а просто предполагает, что люди, разделяющие мои ценности и принципы, могут присоединиться к игре. Мы готовимся к будущему 5G и искусственного интеллекта.

Чтобы стать партнёрами, необходимо признать мои ценности и идеи, а затем выразить свою признательность.

Мои ценности и принципы включают:

  • Не стоит тратить время на попытки угодить другим. Завтра ты можешь умереть, и никто не вспомнит о тебе.
  • Постоянно размышлять о своём месте в мире и учиться новому.
  • Выбор имеет ключевое значение. Нужно осознавать своё текущее положение, прилагать максимум усилий и делать правильный выбор.
  • Не следует стремиться к одиночной работе. Сила одного человека в современном мире недостаточна.
  • Работа над одним делом до 60% может быть относительно простой, но достижение 80–90% может означать борьбу со всем миром. Поэтому лидеры должны быть честными и осознавать, что выбор противника определяет цену, которую придётся заплатить.

Моя философия в отношении веб-технологий и искусственного интеллекта:

  • Эта серия систем не стремится оптимизировать пакеты, уменьшать размер, ускорять запуск или реагировать быстрее. Мой приоритет — ясность, лёгкость сотрудничества, удобство обслуживания и возможность расширения.

  • Возможно, я преувеличиваю, но веб-технологии становятся всё менее ценными, особенно для разработчиков, работающих с обычными CRUD-системами. Если вы ещё не создали полноценную веб-систему, мне остаётся только пожелать вам терпения и готовности к изменениям.

  • На текущем этапе я планирую отложить разработку до тех пор, пока Service Mesh не станет широко распространённым, и не буду ждать, пока Micronaut, Quarkus, Helidon, Payara, Thorntail и Javalin станут доминирующими фреймворками. Я хочу использовать зрелый и обширный Spring для сбора данных и изучения возможностей искусственного интеллекта.

  • Обычные веб-технологии становятся всё более зрелыми, порог входа снижается, и я больше не хочу спорить об этом. Конечно, всегда будут существовать высококлассные специалисты и проекты, но это зависит от судьбы.

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

  • Веб — это лишь один из входов в мир данных. Он будет существовать, но не стоит уделять ему слишком много внимания. Вместо этого мы должны лучше понимать мир данных.

  • Сколько лет потребовалось для распространения 4G? Сколько лет потребуется для распространения 5G? Готовы ли вы к этому?

  • Почему бы нам не объединиться и не учиться вместе? Делиться материалами, данными, методами и даже небольшими возможностями сотрудничества?

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

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

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

  • Мне нравится научная фантастика, нравится мир будущего. Кстати, недавно вышел четвёртый сезон сериала «Пространство» («The Expanse»), рекомендую к просмотру.

Суть сообщества: круг

  • По сравнению с блоговыми форумами типа «Знания планеты», я считаю, что частный GitLab больше подходит для программистов, которые хотят общаться и обмениваться кодом и проектами. Он более систематичен и удобен для совместной работы.
  • Поскольку я занят написанием кода, в будущем я не буду открывать проблемы публично, и все вопросы будут решаться через эти группы в WeChat и QQ.
  • В сообществе мы можем обсуждать связанные с проектом вопросы, а также делиться данными анализа и материалами по искусственному интеллекту, учиться вместе.
  • Частные проекты в GitLab получают приоритет в обновлении и доступе к новым работам. Кроме того, это место для создания проектов участников сообщества.
  • У меня уже накопилось 15 терабайт материалов, собранных за долгое время. Однако материалов слишком много, они не систематизированы, не упорядочены, не очищены от мусора. Надеюсь, кто-то поможет мне разобраться в них.
  • Материалы, собранные мной, кроме моих личных расходов на проживание, покупку сервера и материалов, будут распределены между людьми, разделяющими идеи обмена и вклада. Также участники могут совместно использовать ресурсы серверов, данные и учебные материалы в сообществе.
  • Ещё раз подчеркну:
    • Я с самого начала TKey стремился создать экосистему CDK8S, ориентированную на корпоративное развитие. Я хочу помочь большему количеству реальных сценариев данных, я хочу найти больше единомышленников.
    • Меня не устраивает текущий уровень развития производительности, я надеюсь увидеть колонизацию космоса при моей жизни, я надеюсь ускорить процесс оцифровки всех людей и процессов.
    • Пока есть возможность оцифровать, я не думаю, что человечеству в будущем понадобятся тела, созданные клетками. Нет ничего невозможного для оцифровки, как показывают предшественники: «Данные — это всё, всё — данные».

Преимущества сообщества

  • Я сам не очень общительный, но умею находить общий язык с людьми. Мне нравятся научно-фантастические произведения, у меня есть своя логика действий для молодых и пожилых людей. Сейчас я больше склоняюсь к молодым, ведь будущее принадлежит им.
  • Если вы приедете в Гуанчжоу, можете связаться со мной. Я могу забрать вас на машине, составить компанию за едой, показать достопримечательности и поговорить о технологиях. Всё будет записано.
  • Даже если вы не будете разговаривать, вы можете выпить напиток и поработать над кодом вместе со мной. Теперь я всегда беру с собой компьютер, когда выхожу из дома, так что не удивляйтесь моим навыкам программирования.
  • Могу помочь вам решить проблему или выполнить ваш запрос.
  • Приоритет отдаётся новым работам, включая те, которые находятся в стадии разработки:
    • генератор кода для сторонних HTTP API на основе этой системы;
    • проект автоматизации тестирования интерфейса на основе этой системы;
    • система CMS + система мини-программ на основе этой системы;
    • социальная коммерческая система + система мини-программы на основе этой системы;
    • микросервис Spring Cloud Alibaba на основе этой системы;
    • в дальнейшем я планирую разработать различные бизнес-сценарии шаблонов и генераторов.
  • Есть возможности для сотрудничества в бизнесе, можно делиться друг с другом и работать вместе.
    • Если это веб-разработка, то особых технических сложностей нет, часто проблема заключается в несоответствии стандартов, что затрудняет поддержку другими разработчиками. С моим участием качество разработки значительно улучшится.
    • Кроме того, я уделяю внимание инженерному мышлению, управлению проектами, общению, координации и ценностям вне кода, внутри проекта.
  • Вместе мы можем изучать: исследования пользователей, сбор данных, анализ данных, искусственный интеллект, совместное использование ресурсов серверов, обмен учебными материалами и заметками (эти материалы не будут открыты, только для внутреннего обмена).
  • Но:
    • поскольку я постоянно пишу код, все знают, что самое раздражающее в написании кода — это прерывание мыслей. Поэтому я отвечу на все ваши сообщения, но в определённое время, например, во время обеденного перерыва или вечером.
    • Вы можете ускорить мой ответ, отсканировав QR-код, чтобы я вышел из горы. Как только я услышу голосовую команду «Вэйсинь, оплата 16,66 юаней», я сразу же отвечу.

Единые контактные данные

Официальный сайт CDK8S

  • Официально запущенный домен организации: http://cdk8s.com
  • CD означает непрерывную доставку (Continuous Delivery),
  • K8S означает Kubernetes.
  • На сайте вы найдёте всю контактную информацию:
  • Я больше не буду рекомендовать использовать блоги и публиковать отдельные статьи. В настоящее время система комментариев в блогах полностью разрушена и больше не подходит для этого времени.
  • В будущем контент должен быть максимально систематизирован и поддерживаться только на Github, Gitee и частном GitLab.
  • Видеоматериалы будут размещены на bilibili, поскольку публичный аккаунт WeChat временно не позволяет мне получать комментарии, поэтому я могу использовать систему комментариев bilibili для проведения мероприятий. Конечно, Douyin также является хорошим выбором.
  • Раньше я редко использовал публичные аккаунты и другие платформы, потому что они были слишком закрытыми. Но теперь я вынужден следовать тенденциям. Это не потому, что это хорошо, а потому, что я обнаружил, что в Китае больше нет других каналов.
  • Мои последние 30 дней входа в систему:

Последние 30 дней входа в систему


Связующая нить

  • Мой младший брат, 24 года (1995 г. р.), фронтенд-инженер, который разрабатывает переднюю часть этой системы. Он также находится в Гуанчжоу, ростом 178 см и весом 55 кг, худощавый и талантливый.
  • Приглашаем женщин-IT-специалистов с такими же ценностями присоединиться к нашей семье (не забудьте указать цель вашего визита, приоритет будет отдаваться тем, кто это сделает).

Мероприятия

  • У меня есть некоторые физические книги и игровые карты (для PS4 и Switch), которые я готов отдать. Содержание и правила указаны в публичном аккаунте. Первоначально я хотел использовать систему комментариев публичного аккаунта, но она временно недоступна для меня, поэтому мне приходится использовать систему комментариев bilibili. Все желающие могут оставлять комментарии.
  • Доставка за счёт получателя, максимум две книги и одна игровая карта.
  • Во время Праздника Весны я планирую провести турнир по игре «King of Glory» в сообществе и вручить небольшие призы. Хотя я больше не играю, мы всё равно можем собраться вместе и это будет приятным событием.

Благодарность

Рабочее место

  • Спасибо: семье, подъёмному столу, монитору, клавиатуре, мыши, IntelliJ IDEA, macOS и www.
1
https://api.gitlife.ru/oschina-mirror/cdk8s-sculptor-boot-generator.git
git@api.gitlife.ru:oschina-mirror/cdk8s-sculptor-boot-generator.git
oschina-mirror
cdk8s-sculptor-boot-generator
cdk8s-sculptor-boot-generator
master