Обновить
6
0
Александр Гомзяков@gomzyakov

Начинающий программист

Отправить сообщение

Разворачиваем PHP проект с помощью Ansible

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели5.4K

Что это за чудо-инструмент такой?

Ansible - это инструмент каждого YAML-чемпиона, с помощью него можно развертывать приложения, настраивать конфиги и автоматизации задач через ssh

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

Читать далее

Как запустить сайт с Docker, Nginx и Certbot: полный гайд

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели8.8K

У любого проекта должен быть сайт. Даже если единственный пользователь — моя мама.Мама — это идеальный QA: откроет с телефона, в дороге, через мобильный интернет, спросит «а почему замочек не зелёный?» и закроет, если что-то долго грузится. Значит, сайт должен открываться по твоему красивому домену, по HTTPS, без рыжих предупреждений, и желательно находиться в поиске.

В этой статье мы за вечер соберём и задеплоим простой сайт «с нуля» почти бесплатно: купим домен, поднимем машину с публичным IP, обернём всё в Docker, прикрутим автопродление SSL, добавим sitemap.xml и robots.txt, и вручную прокинем сайт в индексацию Google и Яндекса, чтобы он не лежал «в вакууме».

Читать далее

Деплоим Spring Boot приложение через Docker Compose в Timeweb Cloud за 10 минут

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели6.6K

Когда вы впервые сталкиваетесь с задачей деплоя, процесс может показаться сложным и пугающим. Докер-образы, безопасность, container registry, а тем более Kubernetes — для новичка это настоящая головная боль. Именно поэтому наши партнеры из Amplicode решили написать статью, которая поможет вам максимально просто и быстро задеплоить ваше первое Spring-приложение в облако.

Читать далее

Как я по вечерам разрабатывал Statuser — платформу для мониторинга доступности приложений

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели2.2K

Привет, меня зовут Михаил Шпаков, я руковожу разработкой в Timeweb Cloud — это крупный облачный провайдер с большой командой и множеством внутренних и внешних продуктов.

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

Так родился statuser.cloud — простой сервис для мониторинга доступности сайтов и серверов. Я хотел сделать его:

— с минималистичным и понятным интерфейсом,

— ориентированным в первую очередь на разработчиков, девопсов, админов,

— с набором действительно нужных фич, ничего лишнего.

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

Читать далее

Приложение на Go шаг за шагом. Часть 2: отправка ответов в формате JSON

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели2.8K

Привет! Я Владислав Попов, автор курса «Go-разработчик с нуля» в Яндекс Практикуме. В серии статей я хочу помочь начинающим разработчикам упорядочить знания и написать приложение на Go с нуля: мы вместе пройдём каждый шаг и создадим API для получения информации о книгах и управления ими.

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

Читать далее

Как я создавал Observability для своих pet-проектов. Часть 1

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели8.7K

Это в какой-то степени продолжение моей статьи — История создания идеального Docker для Laravel. В ней я рассказывал о том, как собрал идеальный Docker-образ для Laravel с Nginx Unit. Это был один из первых шагов по оптимизации моей инфраструктуры. Как я уже упоминал, у меня есть несколько pet-проектов, запущенных на VPS в docker-compose, и я хотел не только отслеживать их состояние, но и прокачать навыки в области Observability.

Читать далее

История создания идеального Docker для Laravel

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели8K

Казалось бы, упаковать PHP в контейнер и настроить GitHub Actions - дело пяти минут. Но как часто бывает, реальность оказалась сложнее. Это история о том, как я вернулся к разработке на PHP и решал накопившиеся проблемы с деплоем Laravel-проекта. О том, как готовил Docker-образ, несколько раз переписывал процесс деплоя, находил компромиссы там, где это было возможно, и полностью перестраивал архитектуру там, где компромиссы были неприемлемы.

Читать далее

Антипаттерны Go: чего нельзя делать и почему

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели5.3K

Привет, Хабр! Go часто называют «языком простоты»: мол, нет лишних фич, легко стартовать, запустил горутину — и вперед! Но в реальности эта «простота» — палка о двух концах. Я собрал самые распространенные (на мой взгляд) антипаттерны в Go, которые приводят к дедлокам, паникам и километрам непонятного кода.

Читать далее

Гайд по деплою web-приложений для новичков. Часть 2. VPS и настройка окружения

Уровень сложностиПростой
Время на прочтение20 мин
Охват и читатели8.8K

Это статья - вторая часть небольшого сериала о деплое web-приложений. Написана для новичков, которые учатся разворачивать приложения на сервере и хотят узнать различные варианты, сравнить их и выбрать подходящий.

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

Читать далее

Гайд по деплою web-приложений для новичков. Часть 1. Shared-хостинг

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели20K

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

В этой статье пошагово разберем самый простой вариант - деплой приложения на хостинг.

Читать далее

SMS-автоответчик с обновлением статуса: еще один канал связи для клиентов, которым мало интернета и звонков

Время на прочтение6 мин
Охват и читатели1.2K

Привет, Хабр! Меня зовут Екатерина Саяпина, я Product Owner личного кабинета МТС Exolve. Сегодня расскажу, как с помощью нашей платформы можно создать SMS-автоответчик, который будет не просто информировать клиентов, но и своевременно обновлять статус доставки товара или его наличия. С ним любой клиент может отправить запрос, например «Статус 4321», и получить сообщение с информацией о заказе. Без необходимости поиска на сайте, звонков или установки приложений.

Читать далее

Как создать генератор кодов верификации на Go с помощью SMS API

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели1.5K

Привет, Хабр! Всегда было любопытно, как автоматизировать отправку кодов через SMS для второго этапа подтверждения личности при входе пользователя. Мы с коллегой решили разработать простой, но эффективный инструмент, который мог бы автоматически генерировать и отправлять SMS с кодами пользователя. Для реализации этой задачи выбрали API сервиса МТС Exolve.

Читать далее

Добавление Swagger UI в ваше приложение Laravel

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели5.6K

Перевод статьи по Swagger UI

Пакет Swagger UI для Laravel упрощает доступ к файлу Swagger (JSON или YAML OpenAPI v3) вашего проекта через интерфейс Swagger UI прямо в вашем приложении Laravel. Всё, что вам нужно сделать, это поместить файл OpenAPI в директорию resources/swagger/openapi.json (это можно настроить) и перейти по пути /swagger в локальной среде проекта.

Читать далее

Использование Laravel драйвера centrifugo для широковещания

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели5.8K

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

Для того чтобы помочь вам в разработке подобных функций, Laravel упрощает передачу серверных событий через соединение WebSocket. В момент трансляции ваших событий Laravel, вы можете использовать одни и те же имена событий и данные между клиентским JavaScript-приложением и серверным приложением Laravel.

Впервые столкнувшись с необходимостью обеспечить ваше приложение Laravel системой работы и сообщений в реальном времени вы начинаете с документации по широковещанию. Из нее становится ясно, что список указанных в документации драйверов не так уж широк, по умолчанию Laravel содержит два серверных драйвера трансляции на выбор: Pusher Channels и Ably. При этом основные провайдеры платные. Альтернативы есть, но они во многом завязаны на протоколе pusher и\или Laravel Echo. Поиск по другим альтернативам приводит к примерно этому неполному списку:

Читать далее

Как я склеил картон и продал на маркетплейсах на 50 млн в год

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели322K

В 2020-м мой работодатель начал прижимать меня по условиям, я забрал команду, снял склад и запустил свое производство когтеточек. Казалось бы, ничего сложного: закупаешь клей, картон, и находишь людей, которые 5 000 раз в день готовы повторять одни и ту же операцию. Но есть нюансы.

Читать далее

Свой личный SMS-шлюз. Часть 1 – цели, задачи, сборка и тестирование

Время на прочтение6 мин
Охват и читатели83K


Представляю вам цикл статей по созданию собственного шлюза для отправки SMS-сообщений.
В первой части мы определим цели и некоторые аспекты использования своего шлюза, настроим программное обеспечение для отправки SMS с использованием USB-модемов, а также рассмотрим несколько интересных вариантов отправки
Читать дальше →

Мой план по продвижению Телеграм бота за 4 недели. С нуля до публикации на ProductHunt

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели21K

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

Читать далее

Проверки защиты персональных данных — гайд по подготовке и прохождению

Время на прочтение13 мин
Охват и читатели23K

По крайней мере база локализована...

В сети много руководств по подготовке к проверкам РКН, ФСТЭК и ФСБ, но такие гайды сосредоточены на юридической стороне вопроса и состоят из бесконечных отсылок к законам. Они не дают представления о том, как такие мероприятия происходят на практике. По крайней мере на это жалуются некоторые наши клиенты. Так что в этом посте мы дадим понятные практические советы на основе опыта проверок, в которых участвовал наш комплаенс.
Читать дальше →

5 советов разработчику перед стартом своего стартапа. Опыт после 750 000 рублей

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели26K

Всем привет! Меня зовут Ростислав, я full-stack разработчик. Последние 3 года у меня есть хобби - доведение пет-проектов до стадии финансово рентабельных IT продуктов. Сейчас я хочу поделиться своими советами о запуске проекта, исходя из своего опыта.

Читать далее

Стартап в соло. Часть 1: текущие показатели

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели15K

Примерно 11 месяцев назад я начал разрабатывать пет-проект - Telegram чат для сайта. С тех пор и до сегодняшнего дня занимаюсь его разработкой и продвижением самостоятельно. Правда занимаюсь им в свободное от основной работы время, которого мало.

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

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

Читать далее
1

Информация

В рейтинге
Не участвует
Откуда
Екатеринбург, Свердловская обл., Россия
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, Веб-разработчик
Ведущий
PHP
ООП
Docker
Git
REST
SQL
Laravel