Media is too big
VIEW IN TELEGRAM
Оперативно выкладываем запись эфира для тех, кто не успел 👀
Всем ещё раз спасибо, было круто! Хороших выходных, ждём ваших тестовых на Study Jam.
Если вопросы остались, задавайте их в комментариях, ответим.
А у нас их всего парочка 👇
Всем ещё раз спасибо, было круто! Хороших выходных, ждём ваших тестовых на Study Jam.
Если вопросы остались, задавайте их в комментариях, ответим.
А у нас их всего парочка 👇
🔥9
Понравились формат и тематика эфира?
Anonymous Poll
85%
Да, всё супер 👍
15%
Нет, чего-то не хватило 👎
👍4
🔥2
Surf Web Team
Напиши backend-проект вместе с Surf — попади на стажировку 🔥 Долгожданный набор в backend-команду Surf стартует сегодня! Выбрали формат Study Jam: менторы отберут команду и будут вместе с ней писать проект. Все участники получат призы, а лучшие станут стажёрами.…
❗️Приём заявок на Surf Web Study Jam закроем сегодня в 22:00 по МСК! Успейте отправить, чтобы пройти отбор.
👍1
🔍 Зачем управлять миграциями БД при написании Java-проекта?
Представим ситуацию: вы решили добавить новое поле для одной из сущностей проекта. Чтобы это сделать, можно просто пересоздать всю модель БД, и бизнес-логика будет работать.
Но что если уже есть критичные данные, которые нельзя потерять? Тогда можно обновить базу данных вручную, через SQL-скрипт. При этом возникнут проблемы, например:
• Нужно ли делать всё то же в каждом месте, где разворачивается проект?
• Как отследить изменения БД на проекте и оценить их успех?
• Если делать откат, как узнать нынешнее состояние БД?
Избежать вопросов помогают инструменты миграции — Flyway и Liquibase:
📍Принцип работы Flyway
На проекте хранятся отдельные SQL-файлы (миграции), которые содержат то, что делается с БД с момента ее инициализации. Все миграции идут в строгом порядке, что позволяет отследить изменения в структуре и данных БД.
После того, как пройдут тесты, при сборке проекта запускается Flyway. Он соединяется с БД и прогоняет SQL-файлы.
→ Если миграции уже были применены в БД, то Flyway их пропустит.
→ Если миграция прошла неуспешно, то сборка и деплой проекта остановятся.
📍Отличие Liquibase
Liquibase позволяет накатывать одни и те же миграции на любые базы данных, тем самым абстрагируясь от SQL: миграция может быть описана в любом поддерживаемом формате. Эта библиотека больше подходит для проектов, где необходимо работать с разными окружениями и СУБД.
📍Служебная таблица
Оба инструмента ведут служебную табличку (см. картинку), чтобы понимать, какой скрипт нужно применить, а какой пропустить.
📍А что на практике?
Часто бывает, что для ежедневных нужд разницы между Flyway и Liquibase нет. Всё зависит от проекта и энтузиазма его создателя.
В помощь энтузиастам:
👉 Гайд по старту с Flyway.
👉 Гайд по старту с Liquibase.
Представим ситуацию: вы решили добавить новое поле для одной из сущностей проекта. Чтобы это сделать, можно просто пересоздать всю модель БД, и бизнес-логика будет работать.
Но что если уже есть критичные данные, которые нельзя потерять? Тогда можно обновить базу данных вручную, через SQL-скрипт. При этом возникнут проблемы, например:
• Нужно ли делать всё то же в каждом месте, где разворачивается проект?
• Как отследить изменения БД на проекте и оценить их успех?
• Если делать откат, как узнать нынешнее состояние БД?
Избежать вопросов помогают инструменты миграции — Flyway и Liquibase:
📍Принцип работы Flyway
На проекте хранятся отдельные SQL-файлы (миграции), которые содержат то, что делается с БД с момента ее инициализации. Все миграции идут в строгом порядке, что позволяет отследить изменения в структуре и данных БД.
После того, как пройдут тесты, при сборке проекта запускается Flyway. Он соединяется с БД и прогоняет SQL-файлы.
→ Если миграции уже были применены в БД, то Flyway их пропустит.
→ Если миграция прошла неуспешно, то сборка и деплой проекта остановятся.
📍Отличие Liquibase
Liquibase позволяет накатывать одни и те же миграции на любые базы данных, тем самым абстрагируясь от SQL: миграция может быть описана в любом поддерживаемом формате. Эта библиотека больше подходит для проектов, где необходимо работать с разными окружениями и СУБД.
📍Служебная таблица
Оба инструмента ведут служебную табличку (см. картинку), чтобы понимать, какой скрипт нужно применить, а какой пропустить.
📍А что на практике?
Часто бывает, что для ежедневных нужд разницы между Flyway и Liquibase нет. Всё зависит от проекта и энтузиазма его создателя.
В помощь энтузиастам:
👉 Гайд по старту с Flyway.
👉 Гайд по старту с Liquibase.
🔥10👍4
🧩 Что важно знать про реляционные базы данных
Транзакции, нормализация и индексы — три важные темы, без которых сложно разобраться в реляционных БД. На карточках собрали материал про них, а ниже делимся полезными ссылками:
Транзакции
🔗 ACID
🔗 Уровень изолированности транзакций
Нормализация
🔗 Нормальные формы
🔗 Денормализация
Индексы
🔗 Для начинающих
🔗 Для более продвинутых
Транзакции, нормализация и индексы — три важные темы, без которых сложно разобраться в реляционных БД. На карточках собрали материал про них, а ниже делимся полезными ссылками:
Транзакции
🔗 ACID
🔗 Уровень изолированности транзакций
Нормализация
🔗 Нормальные формы
🔗 Денормализация
Индексы
🔗 Для начинающих
🔗 Для более продвинутых
❤6🔥4👍3
Media is too big
VIEW IN TELEGRAM
Разбираем тестовое по бэкенду со Study Jam ✅
В декабре мы взяли 5 человек на проект по Surf Web Study Jam. Совсем скоро они начнут общаться с ментором и вводить первые строчки кода.
Но наши разработчики хотят, чтобы формат Study Jam нёс пользу для всех. Никита, Backend TeamLead, специально для подписчиков разбирает тестовое задание и отвечает на самые сложные вопросы.
Смотри видео, прокачивай знания и пиши в комменты, что не понятно — всё прочитаем и на всё ответим 😉
В декабре мы взяли 5 человек на проект по Surf Web Study Jam. Совсем скоро они начнут общаться с ментором и вводить первые строчки кода.
Но наши разработчики хотят, чтобы формат Study Jam нёс пользу для всех. Никита, Backend TeamLead, специально для подписчиков разбирает тестовое задание и отвечает на самые сложные вопросы.
Смотри видео, прокачивай знания и пиши в комменты, что не понятно — всё прочитаем и на всё ответим 😉
❤6👍3🔥2
🕹 IntelliJ IDEA: зачем нужна, варианты подписки, хоткеи
IDE — не просто редактор текста. Это ещё и подсветка синтаксиса, автодополнение, контекстные подсказки, возможность запускать и отлаживать приложение.
Конечно, можно обвесить Vim или Sublime плагинами, но как единое целое это никогда не заработает хорошо. Для работы нужно выбирать подходящие инструменты, а так ведь и гвозди микроскопом забивать можно, верно?
Почему Surf выбирают IntelliJ IDEA
Почти все наши Java-разработчики, а также Frontend и Android выбирают IDE от JetBrains для работы. Каждый волен выбирать инструмент сам, но сейчас IDEA далеко обгоняет NetBeans и Eclipse.
⬇️
IDE — не просто редактор текста. Это ещё и подсветка синтаксиса, автодополнение, контекстные подсказки, возможность запускать и отлаживать приложение.
Конечно, можно обвесить Vim или Sublime плагинами, но как единое целое это никогда не заработает хорошо. Для работы нужно выбирать подходящие инструменты, а так ведь и гвозди микроскопом забивать можно, верно?
Почему Surf выбирают IntelliJ IDEA
Почти все наши Java-разработчики, а также Frontend и Android выбирают IDE от JetBrains для работы. Каждый волен выбирать инструмент сам, но сейчас IDEA далеко обгоняет NetBeans и Eclipse.
⬇️
🔥6
Что умеет IDEA
Зависит от версии:
1) Community — подходит для большинства задач: разработка Java SE приложений и не только. Бесплатная, на базе открытого исходного кода.
2) Ultimate — всё то же, плюс поддержка Java-фреймворков, инструменты для работы с БД и Frontend. Есть несколько опций:
• Trial — 30 дней, чтобы всё попробовать
• Платная подписка — 169$ в год, можно запросить скидку
• Бесплатная версия — для студентов, университетов, стартапов.
Хоткеи IDEA
Хоткеи – ключ к повышению своей производительности. Собрали здесь самые популярные. Остальные (или для macOS) ищи в Help → Keyboard Shortcuts PDF:
• Shift, Shift — поиск везде (классы, файлы, команды, настройки).
• Ctrl+E — последние файлы.
• Alt+Enter — показать действия для кода.
• Ctrl+Alt+L — автоформатирование кода.
Зависит от версии:
1) Community — подходит для большинства задач: разработка Java SE приложений и не только. Бесплатная, на базе открытого исходного кода.
2) Ultimate — всё то же, плюс поддержка Java-фреймворков, инструменты для работы с БД и Frontend. Есть несколько опций:
• Trial — 30 дней, чтобы всё попробовать
• Платная подписка — 169$ в год, можно запросить скидку
• Бесплатная версия — для студентов, университетов, стартапов.
Хоткеи IDEA
Хоткеи – ключ к повышению своей производительности. Собрали здесь самые популярные. Остальные (или для macOS) ищи в Help → Keyboard Shortcuts PDF:
• Shift, Shift — поиск везде (классы, файлы, команды, настройки).
• Ctrl+E — последние файлы.
• Alt+Enter — показать действия для кода.
• Ctrl+Alt+L — автоформатирование кода.
🔥6
Туториал по стенду для бэкенда на Bare Metal (и не только)
Вадим, DevOps-инженер Surf, запускает серию статей по инфраструктуре для бэкенд-разработки. В первой части знакомим с основами и ставим Ubuntu, Docker, Kubernetes, Metallb, Traefik.
💡 На Хабре примеры с кодом, а в карточках — примечания и порядок установки сервисов. Листай и переходи читать статью.
Вадим, DevOps-инженер Surf, запускает серию статей по инфраструктуре для бэкенд-разработки. В первой части знакомим с основами и ставим Ubuntu, Docker, Kubernetes, Metallb, Traefik.
💡 На Хабре примеры с кодом, а в карточках — примечания и порядок установки сервисов. Листай и переходи читать статью.
🔥6