Pull to refresh
10
0
Mirved64 @Mirved64

Frontend developer

Send message

Разворачиваем приложение Next.js с базой данных PostgreSQL и задачей Cron на облачном сервере Ubuntu Linux

Level of difficultyMedium
Reading time10 min
Views3.6K


Привет, друзья!


Предположим, что у нас есть приложение Next.js, данные которого хранятся в Postgres, и мы хотим запустить его в продакшн, но не хотим использовать готовую инфраструктуру Vercel. Что делать? Создать собственную инфраструктуру. К счастью, сделать это не так уж и сложно.


Основные элементы нашей системы:


  • приложение, демонстрирующее несколько мощных возможностей Next.js 15
  • база данных Postgres для хранения списка задач, создаваемых/удаляемых в приложении
  • задача Cron для удаления из БД всех задач каждые 10 мин
  • приложение, БД и задача Cron функционируют в контейнерах Docker
  • контейнеры запускаются с помощью Docker Compose на облачном сервере Ubuntu
  • сервер Nginx для перенаправления запросов HTTP (обратного проксирования)
  • домен, привязанный к серверу
  • Certbot для получения сертификата SSL из Let's Encrypt и его установки для домена

Демо приложения.


Интересно? Тогда прошу под кат.

Читать дальше →

«Меня увольняют» или манипуляции HR и менеджеров, чтобы вынудить вас уволиться одним днём. На примере Рольфа

Level of difficultyEasy
Reading time7 min
Views39K

Вкратце, для тех, кто ещё не слышал о новом скандале на IT рынке: Крупнейший автомобильный дилер «‎Рольф» увольняет айтишников без компенсаций.

В профсоюз обратились несколько сотрудников из компании и описали происходящее: +- 50 человек решили уволить потому что для них нет работы. Сотрудников по одному вызывали в кабинет где сидели 4 коллеги и рассказывали им о жизни, понятиях и отношениях: «ну мы же как семья». Всё ради того, чтобы получить подпись в соглашении о расторжения трудового договора одним днём. Без каких либо выплат. Спойлер — почти все сотрудники повелись на манипуляции и их уже уволили.

И что там дальше?

Монорепозитории NX и Lerna, или Туда и обратно

Reading time12 min
Views16K

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

В скриптах деплоймента (или в моем случае еще и в настройках GitLab репозитория), нужно сформировать токены/ключи доступов к докер реджистри, кубернетесу, разным кластерам и т.д. И если у вас пару сервисов, то это не проблема, но если сервисов 15-20, то это весьма болезненный процесс. Особенно, когда настройки кластера меняются и нужно эти изменения вносить во все репозитории.

В определенных случаях среди нескольких сервисов, можно выделить общий код, который можно переиспользовать (описание интерфейсов, утилиты и т.д.) и особенно важно на самом старте проекта, когда эти общие куски кода только формируются не тратить время на коммиты в отдельные репозитории, если нужно всего лишь добавить поле в общий интерфейс.

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

И вот мы решили использовать монорепозиторий, но с чего начать и как все организовать?

Поехали!

Основы рынка труда в IT, и особенности в разработке по найму

Level of difficultyEasy
Reading time7 min
Views8.2K

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

Игнорируй лишний контекст.
ыва


Помешанность на созвонах. Прими это как данность.

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

Айти в целом это вечный туман войны и research.

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

Плюсы и минусы профессии

Идеальное место работы (спойлер: только в твоей голове)

Удалёнка (подводные камни)

Наличие нескольких работ - для многих физическая необходимость, т.к. работодатели как минимум в 4 случаях из 5 - лжецы.

Зарплаты.
Вы будете удивлены, но я бы хотел приоткрыть вам зазеркалье:

/

Читать далее

Как мы делаем опенсорс курсы для программистов от программистов

Level of difficultyEasy
Reading time8 min
Views38K
Мы разочаровались в курсах по программированию и поэтому сделали свои собственные. Не для вайтишников, а для типичных разрабов. В процессе нас хакнул инфлюенсер и забанил сервер телеграма.

Покоцанные, но не сломленные, мы представляем проект, над которым работали полтора года по ночам. Курсы по программированию с задачами в online IDE и прагматичной теорией. Никаких сертификатов и гарантий трудоустройства. Сплошной хардкор и опенсорс!


Читать дальше →

Как выжить на первом испытательном сроке в IT и не только

Level of difficultyEasy
Reading time13 min
Views16K

Всем привет! Меня зовут Артём Харченков, и я руководитель подразделения разработки программных продуктов в компании Crosstech Solutions Group. Сегодня я расскажу, как успешно пройти свой первый испытательный срок, что нужно делать обязательно и чего лучше не делать. 

Для начала – кратко обо мне, чтобы было понятно, почему мне стоит доверять в таком вопросе.

/слайд обо мне/

Образование у меня ИБ-шное, в ИТ я работаю с 2012 года. За свою карьеру занимался внедрением, был разработчиком, инженером, главным техническим специалистом в группе разработчиков и даже делал проекты практически в одиночку :) В «Кросстех Солюшнс Групп» руковожу разработкой чуть более трех лет. Здесь мы создаем системы для обеспечения безопасности данных, сейчас импортозамещаем зарубежные продукты, ушедшие с российского рынка. К слову, активно нанимаем сотрудников: еще в прошлом году в компании было 50 человек, а в этом году стало уже больше 200.

В моем управлении четыре департамента: разработка, тестирование, системная аналитика и devops, суммарно нас на текущий момент уже 29 человек. За свою карьеру я сам прошел несколько испытательных сроков, а самое главное – повидал много работников, которые его проходили. 

Советы из этой статьи актуальны для любой IT-шной профессии, но так как в моём управлении больше всего программистов, часть рекомендаций будет с уклоном в сторону разработки.

Читать далее

Как разработчику организовать личную базу знаний: систематизация информации из книг, статей, видео и курсов

Level of difficultyEasy
Reading time6 min
Views53K

Привет, Хабр!

Хочу поделиться своими мыслями и опытом («сыном ошибок трудных») в организации своей базы знаний, регулярно приобретаемых после прочтения разных книг, статей, просмотра видосов, прохождения курсов и прочих самообразовательных активностей.

Начнем с краткой предыстории, потом опишу сам подход в целом, далее пробежимся по нескольким вариантам реализации и в конце остановимся на том, что для меня оказалось самым оптимальным. 

Читать далее

«Она такая крошечная?» Как пройти скрининг и не продешевить

Level of difficultyEasy
Reading time10 min
Views20K

Скрининг — первый этап в цепочке собеседований, обычно это звонок с HR. Он позволяет отсеить откровенно лишних людей, которые не проходят базовые критерии отбора.

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

Пара нелепых оговорок — и тебе прилетает отказ, либо придётся собирать крошки с барского стола, работая на так-себе условиях.

Статья написана так, что тебе придётся приложить минимум когнитивных усилий, следуя пошаговому гайду

Нагнуть рынок

Next.js. Технология современной веб-разработки

Level of difficultyMedium
Reading time16 min
Views47K

Современная веб-разработка требует эффективных инструментов, способных справляться с высокими стандартами производительности и пользовательского опыта. В этой статье мы рассмотрим Next.js, мощный JavaScript-фреймворк и новаторское решение для создания современных веб-приложений на основе React, созданный компанией Vercel. Узнаем, как он помогает разработчикам создавать высокопроизводительные, масштабируемые и SEO-дружественные веб-приложения. Мы также глубоко погрузимся в его функциональность, рассмотрим особенности, такие как серверный рендеринг и генерация статических сайтов, и предоставим примеры использования. Давайте разберем, как Next.js становится ключевым инструментом в современной веб-разработке, обеспечивая идеальный баланс между разнообразием функций и оптимальной производительностью.

Читать далее

Когнитивные искажения, о которых стоит помнить

Reading time15 min
Views92K

Из-за когнитивных искажений мы иногда принимаем иррациональные решения, а также выносим суждения на основе информации, которую мы обрабатываем. Фактически, когнитивные искажения — это запрограммированная ошибка в нашем мозге.

Также их можно представить как простые правила, которым следует мозг, чтобы обрабатывать поступающую информацию с минимальными затратами.

Когнитивных искажений существует большое множество, и о них полезно знать. В этой статье мы сделаем обзор 151 искажения, которые часто встречаются в повседневной жизни: как в личной, так и в профессиональной.

Читать далее

Information

Rating
Does not participate
Location
Саратов, Саратовская обл., Россия
Registered
Activity

Specialization

Frontend Developer
JavaScript
React
Web development
TypeScript