Найти в Дзене
О важности мотивации для тех, кто хочет "войти в айти" программистом
Некоторое время назад мой друг спросил меня: стоит ли ему "войти в айти" и какой платный курс для этого лучше выбрать. Я предложил ему не спешить платить за курсы, реклама которых его вдохновила, а попробовать сначала что-нибудь бесплатное. И предложил свою помощь "подержать факел, пока он будет спускаться в кроличью нору". Я не в первый раз выполнял роль наставника и понимал, что очень многое в учёбе зависит от мотивации ученика и от внимания к нему наставника. Поэтому постарался ненавязчиво помогать своему другу не стоять на месте, а двигаться вперёд хотя бы маленькими шажками...
7 месяцев назад
Чем может быть плохо использование .env файлов для хранения секретов
Недавно обсуждали с коллегами этот вопрос и вот, до чего договорились. Файл .env для хранения секретов для фронта не подходит, т.к.: 1) файл .env хранится в репозитории с кодом и секреты из него будут доступны всем, кто имеет доступ к репозиторию с кодом, 2) как правило, приложение для запуска собирается в контейнер (например, докер-контейнер). При использовании .env файла, нужно: - отдельно собирать контейнер для разных окружений (для разработки, для тестов и для продуктива), - продумывать механизм подстановки разных ...
8 месяцев назад
Юнит-тесты или интеграционные тесты?
В интернете есть немало статей и докладов, описывающих различные подходы к тестированию приложений: от TDD до "тестируем пользователями в проде". Какой из них лучший? И вообще, стоит ли выбирать какой-то один подход и всегда его придерживаться? На эти вопросы нет однозначного ответа. Каждый должен сам для себя выбрать то, что поможет ему решать его задачи наиболее эффективно. Я, как и бльшинство моих коллег, при тестировании бэкенд-приложений придерживаемся следующих правил: 1) по-максимуму автоматизировать тестирование...
8 месяцев назад
Spring Boot + Kotlin request body validation
Если для валидации входящих запросов в Spring Boot на Kotlin вы используете библиотеку spring-boot-starter-validation, то эта статья будет для вас полезна. Работа с библиотекой в Kotlin имеет одну особенность, вязанную с использованием non nullable Kotlin-типов. Рассмотрим тестовый проект. В контроллере есть 2 эндпоинта (2 функции). Один принимает запрос с полем nullable типа. Второй — принимает запрос с полем non nullable типа. Входящие параметры обеих функций помечены аннотацией @Valid. Поля обеих моделей запросов помечены аннотацией @NotBlank...
9 месяцев назад
Как код наследует привычки разработчика
На днях, очень оживлённо обсуждали с коллегами один интересный подход к написнию кода. Хочу поделиться с вами некоторыми его деталями и пригласить присоединиться к обсуждению. Представим, что у нас есть некоторая сущность, соответствующая одноимённой таблице в базе данных: @Table(value = "employee") data class EmployeeEntity( @Id val id: Long? = null, @Column("name") val name: String, ) Модель, которая соответствует этой сущности, я и мои коллеги-котлинисты привыкли писать примерно...
9 месяцев назад
Если нравится — подпишитесь
Так вы не пропустите новые публикации этого канала