Неделя 12–14 продолжает темы «бэкенда» и охватывает БД, аутентификацию и тестирование. Для БД мы использовали sqlite3 DB и промежуточное ПО knex. Было полезно изучить базовую структуру и операции БД, которые будут часто использоваться в любом кодировании. Мы изучили основные операции с БД, включая операции CRUD и автоматическое создание БД/данных. Для проекта, заканчивающегося на неделе, мы создали 2 таблицы и создали сервер, который обрабатывает данные CRUD и извлекает данные из 2 таблиц.



Для аутентификации мы научились использовать хеширование паролей для сеанса/токена (с помощью промежуточного ПО bcrypt) и использовать веб-токен JSON (с помощью промежуточного ПО jsonwebtoken). У обоих есть плюсы и минусы, но лично я думал, что веб-токен будет проще реализовать. Однако было бы лучше получить более полный обзор веб-безопасности и того, что должен делать разработчик. Я уверен, что помимо пароля, есть определенные меры предосторожности, которые должен использовать веб-разработчик… Для проекта выходного дня я разработал сервер/клиент, который использует веб-токен JSON, чтобы позволить пользователю войти в систему.



Для тестирования мы использовали промежуточное ПО jest и supertest. По некоторым причинам тестирование мне не очень помогло. Я понял основную концепцию, но не был уверен, как использовать их в реальном проекте. Примеры/проект, которые я сделал, казалось, покрывали очень ограниченные цели. Думаю, мне бы помог четкий обзор того, как разрабатывать/использовать тесты. Проект конца недели протестировал различные конечные точки сервера API.



На этом основная часть программы заканчивается. На следующей неделе будет недельная проектная неделя для серверной части. На целую неделю мне будут давать задание и выполнять backend-проект.