Каждый день создается тег: day01 (соответствует видео, напоминанию)
Основное испытание для программы — это всестороннее мышление (пределы твоей программы), решение определенных проблем
Если программа работает правильно, это удача, но необходимо обеспечить надежность, тестирование и проверку каждого этапа.
При увеличении сложности проекта, количество факторов, влияющих на правильную работу программы, увеличивается, поэтому требуется локальная отладка для поиска причин.
Ключевые навыки программиста: отладка
Этапы отладки:
Для использования образа MySQL Docker см. Docker Hub MySQL руководство
$ docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
```## Процесс разработки программного обеспечения
### Проектная инициатива: Босс
### Проектный дизайн:
+ Менеджер продукта: Сбор требований, анализ конкурентов, проектирование процессов продукта
+ Общее проектирование: Основные процессы: Посетители, авторы, операторы платформы
+ Подробное проектирование: Операционная платформа, более детализированный анализ, каждый поле (обзор: обзорщики: [], результат обзора: [], замечания, категории)
+ Прототип продукта: Низкая детализация, высокая детализация (UI/UX)
+ Разработка проекта: Разработка/тестирование/операции
+ Разработка: Начальник переводит требования в архитектуру backend (архитектор)
+ Общие функции (центр пользователей)/специфические функции (соответствие)/вспомогательные функции (здоровье/оповещения/отчеты бизнеса)
+ Загрузка кода (code view), CI сборка кода/единичные тесты/покрытие/проверка безопасности/...
+ Объединенное тестирование (несколько сервисов, нескольких функций), подтверждение работоспособности всего функционала, написание документации
+ Тестирование проекта:
+ Тестирование сценариев/UI тестирование/тестирование производительности
+ Операции по запуску:
+ Подготовка ресурсов
+ Поддержка
+ Итерации версий: Требования -> Функции -> Разработка -> Тестирование -> Запуск
Программное обеспечение: Получение наложенного успеха## Проектное введение
### Веб-разработка: Микроблог
+ Название проекта: vblog, единичная система веб-сервиса с разделением фронтенда и бэкенда
+ Для кого: Для начинающих, которые хотят ознакомиться с веб-разработкой
+ Основные направления: Полноценная веб-разработка, разработка DevOps
+ Компания: Маленькая команда, внутренние системы компании
+ Сложность: Низкая
### Разработка микросервисов: Мини-версия облачной платформы для разработки микросервисов
+ Название проекта: devcloud-mini
+ Для кого: Для тех, кто имеет базовые навыки разработки единичных проектов и хочет углубиться в разработку микросервисов
+ Основные направления: Разработка крупных распределённых бизнес-систем, бизнес-платформ, низкоуровневые сервисы (высокоуровневые сервисы зависят от рыночных условий), бизнес-шлюзы
+ Сложность: Средняя-высокая
+ Необходимые базовые знания для разработки распределённых систем: синхронное взаимодействие сервисов (RPC), передача сообщений (Kafka), поддержка распределённых систем (Trace)
+ Ориентация на DevOps: CMDB
### Интерпретация сложных бизнес-проектов: Облачная платформа для разработки микросервисов: Проект построения цепочки поставок+ Название проекта: devcloud
+ Для кого: Для тех, кто знаком с моделями разработки микросервисов, понимает процессы разработки сложных бизнес-проектов и хочет заняться разработкой платформ
+ Основные направления: Разработка платформ
+ Сложность: Высокая
+ Методы обучения: Проектирование, анализ кода, демонстрация## Как следить за проектом
Ключ: Практикуйтесь (не только слушайте на занятиях, но и применяйте знания на практике), разрабатывайте: развивайте способность решать проблемы (отладка), не копируйте код, код вашего проекта пишите сами, строка за строкой
Репозиторий проекта: Один проект, один репозиторий, для подготовки к собеседованию (Gitee/Coding)
Как разрабатывать несколько проектов (Go проекты) в одном репозитории кода? Можно использовать Go workspace
// Инициализация рабочего пространства go work init // Добавление проекта vblog в это пространство go work use vblog
Для удобства просмотра проектов: Все проекты размещены в этом репозитории кода
1. На каждом занятии много материала, на занятиях времени нет для практики, практикуйтесь самостоятельно
2. Слишком быстрая смена тем, для ознакомления с архитектурой проекта в целом
3. Занятия по проектам не направлены на углубление знаний по отдельным темам, а на создание общей системы знаний.
## Задания и оценка проектов
Веб-разработка: Микроблог: Будут выбраны лучшие проекты, несколько хороших проектов
## Дополнительно1. Создание таблицы SQL? Если вы встретите что-то незнакомое (Docker MySQL), в курсе я буду использовать проекты в качестве основного материала. Если что-то неизвестно, ищите информацию самостоятельно, задавайте вопросы другим студентам в группе, обсуждайте, задавайте вопросы преподавателю, общайтесь и решайте проблемы.
2. Писать программы
+ Не должно быть так, что есть инструменты, и вы пишете программы. Встретили проблему? Первым делом проверьте, нет ли готового решения в виде библиотеки.
+ Сначала подумайте самостоятельно ---> Разработайте решение ---> Ищите подходящие инструменты (сдержанность, контроль над программой).
1. Практика разработки крупных инженерных проектов (не стандарт), которая может быть полезна многим новичкам, у которых нет опыта работы над реальными проектами.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )