Pull to refresh
32
0.6
Сергей Толкачёв @sergeytolkachyov

Joomla-разработчик (WebTolk). Муж. Отец 3 детей.

Send message

Установка Zabbix 6.0 на Almalinux 9.3

Level of difficultyEasy
Reading time5 min
Views6.3K

Поднимем Zabbix сервер, базу данных PostgreSQL, расширение TimescaleDB на дистрибутиве Almalinux. Данная статья содержит очень простую практику и краткое описание каждой команды для понимания, что мы делаем.

Читать далее

ТОП 6 фишек Zabbix: применение и настройка

Level of difficultyEasy
Reading time7 min
Views15K

Всем привет! Меня зовут Женя. Я инженер поддержки бизнес-приложений в компании Банки.ру.
Не так давно мы в направлении Мобайл решили прокачать технический и продуктовый мониторинг и с этой целью начали использовать Zabbix. В результате всю логику алертинга перенесли из Grafana в новый инструмент. Благодаря этому и родилась идея поделиться опробованными фишками Zabbix с сообществом. 

В этой статье я:

• расскажу об интересных возможностях Zabbix;
• поделюсь кейсами их использования и примерами настроек;
• сравню Zabbix и Grafana и расскажу, как мы применяем их в тандеме.

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

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

Взгляд на JWT как на инструмент построения стройной архитектуры приложения

Level of difficultyMedium
Reading time11 min
Views6.9K

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

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

Читать далее

36 млн запросов в час, 10000+ постоянно работающих клиентов, на одном сервере, nginx+mysql

Reading time5 min
Views116K
Сложилась ситуация, что участвую в проекте, который работает с достаточно большой нагрузкой. Как уже написал — 36 млн запросов в час. Я много чего прочитал и перепробовал за последний месяц, настраивая сервер; хотелось бы просто сжато и компактно выдать тезисно то, что работает хорошо в такой конфигурации.

Первое, что я заметил — множество советов как все настроить под большую нагрузку. Читайте их внимательно, обычно в тексте найдете, что речь про «высокую нагрузку» в 15-20 тысяч клиентов в сутки. У нас клиентов примерно миллион, активных, ежедневных.

У нас нет денег и мы все делаем за свой счет, поэтому экономим. Итог — весь миллион клиентов обслуживается на одном сервере, вот на таком — EX-60 на hetzner.
Читать дальше →

Интерфейсы: как сообщать пользователю, если «Упс, что-то пошло не так»

Reading time17 min
Views55K
Здесь вы не увидите ни строчки кода. Мы поговорим об обычных людях — о наших пользователях, точнее о том, как сообщать им, если в системе возникла какая-то непредвиденная ситуация.


В основе статьи доклад Антонины Хисаметдиновой с Heisenbug 2017 Moscow, которая занимается проектировкой пользовательских интерфейсов в компании Собака Павлова.

Кроме того, на Медиуме есть цикл статей «Руководство по проектированию ошибок». Цикл еще не дописан до конца, но дает более полную и цельную картину по теме статьи.

Каждому событию Joomla — свой класс

Level of difficultyEasy
Reading time3 min
Views407

В посте Заменяем устаревший метод CMSApplicationInterface::triggerEvent в Joomla 5.1.4 я вскольз упоминал собственные классы событий. Теперь я хочу рассказать о них подробнее.

Читать далее

Работа с YOLOV8. Детекция, сегментация, трекинг объектов, а также подготовка собственного датасета и обучение

Level of difficultyMedium
Reading time26 min
Views25K

Если вам кажется, что начать работу с нейросетями - это сложно, то этот материал для вас!

В статье подробно, с примерами кода, разберем основные функции базовой модели YOLOV8 - детекция, сегментация, трекинг объектов, а также создание собственного датасета и дообучение нейросети для работы с собственными объектами!

Читать далее

26 техник, которыми геймдизайнеры манипулируют игроком в видеоиграх

Reading time13 min
Views21K

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

Дисклеймер:

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

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

Читать далее

Семейный бизнес в IT. Как мы продали свой стартап

Reading time8 min
Views32K

Предисловие


Да-да, мы сделали это. У Энергослона новый владелец, а мы… мы живем дальше. Почему продали? Как? Чем мы теперь занимаемся? И что, в конце концов, вообще происходит? Спокойно, друзья. Сейчас во всем разберемся. Наливайте кофе и устраивайтесь поудобнее. Сегодня я собираюсь рассказать о том, каких дел мы натворили за последние два года.
Читать дальше →

Многопоточные вычисления в PHP: pthreads

Reading time5 min
Views101K

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



Я рассматриваю такую задачу. Есть пул заданий, которые надо побыстрее выполнить. В PHP есть и другие инструменты для решения этой задачи, тут они не упоминаются, статья именно про pthreads.


Стоит отметить, что автор расширения, Joe Watkins, в своих статьях предупреждает, что многопоточность — это всегда не просто и надо быть к этому готовым.


Кто не испугался, идем далее.

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

Асинхронное параллельное исполнение в PHP

Reading time14 min
Views62K
Много пик сломано в мире на тему того, можно ли и как создавать многопоточность в PHP. Чаще всего все сводится к тому, что так делать нельзя или дискуссия материализуется в какие-то ужасные костыли (ох, сколько я их уже повидал). Я хочу изложить свою точку зрения на этот вопрос. Легко догадаться, что если бы моя позиция была “так нельзя” или “это зло”, то я бы не писал эту статью. Вот только погодите, не спешите доставать тухлые яйца и вооружаться мелкими бытовыми предметами для рукопашной схватки. Я постараюсь дипломатично изложить тему и максимально объективно раскрыть ситуацию. Так что самые смелые из моих читателей могут прочитать молитву от ереси и открыть статью.


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

Блокировки MySQL: виды, проблемы и способы обнаружения

Reading time27 min
Views57K

Рано или поздно любой разработчик или администратор СУБД, имеющий дело с MySQL, сталкивается с проблемой блокировок. Всё дело в природе MySQL как системы с конкурентным доступом на чтение/запись. Я расскажу о видах блокировок в MySQL, их преимуществах и недостатках, о проблемах, которые они вызывают, а также дам полезные советы по обнаружению и способам борьбы с блокировками.

Читать далее

Github Actions. Простой пример для уверенного знакомства

Reading time7 min
Views56K

Здесь я буду расссказывать о моем опыте настройки CI/CD c помощью GitHub Actions.

Эта статья поможет тем, кто хочет настроить автоматический деплой для личного/учебного проекта на свой удаленный сервер, пользуясь бесплатным сервисов GitHub Actions. Причем этим сервисом можно пользоваться бесплатно даже с приватным репозиторием (на момент написания статьи).

Акцентирую на тех моментах, которые для меня оказались не самыми очевидными, читая краткое руководство от Github.

Предполагается, что вы уже знаете, как пользоваться Github. По большому счету, не важно, какой у вас язык программирования или стек: главное - понять, как работают Github Actions и уметь применить его для любого проекта.

Читать далее

С новым годом: GPT в 500 строках на SQL

Reading time42 min
Views41K

В минувшем году все только и говорили об ИИ и о том, как он может всё за вас сделать.

Мне нравится, когда кто-то или что-то работает за меня. Поэтому решил: попрошу-ка ChatGPT написать за меня новогодний пост:

«Эй, ChatGPT. А ты можешь реализовать большую языковую модель на SQL?»
«Нет, SQL не подходит для реализации больших языковых моделей. Язык SQL предназначен для выполнения запросов к данным, хранящимся в РСУБД и для управления этими запросами. Для реализации большой языковой модели требуются сложные алгоритмы, обширные датасеты, а зачастую — и фреймворки для глубокого обучения. SQL всеми этими возможностями не обладает.»

Что ж, лишний раз убеждаешься, что, если хочешь что‑то сделать хорошо – сделай это сам.

Давайте же воодушевимся этим оптимистическим планом и реализуем большую языковую модель на языке SQL.

Читать далее

Межсайтовая авторизация 2

Reading time2 min
Views27K
По итогам поста, сделанного в июле 2009 и продолжительным испытаниям, мы пришли к простой и оптимальной для нас схеме межсайтовой авторизации.
Спешу поделиться с общественностью

Сколько стоит разработка сайта с нуля в 2024 году?

Level of difficultyEasy
Reading time5 min
Views57K

Бизнес услуг может очень сильно разниться в стоимости: вы можете заказать сайт как за 100 000р., так и за несколько десятков миллионов. Давайте разберемся, в чем отличие дешевого сайта от дорогого и из чего сегодня формируется стоимость разработки с нуля.

Читать далее

Никогда не забывай об этом, когда делаешь open-source проект

Level of difficultyEasy
Reading time8 min
Views29K

Если составлять топ самых крутых изобретений человечества, то второе место сразу после кофеварки наверняка займёт opensource – разработка проектов с открытым исходным кодом, которая помогла родиться поистине огромному числу полезных и гениальных продуктов. Причём опенсорс важен не только для сообщества программистов в целом, но и для каждого конкретного разработчика: участвуя в создании программ с открытым кодом, они могут неплохо развить свои скиллы, обрести новых друзей со сходными интересами и, конечно же, потешить своё самолюбие. Признайтесь, вам хотелось бы, чтобы вашей библиотекой пользовался весь мир?

Читать далее

Муда (muda) — означает потери

Reading time3 min
Views14K
Японское слово Муда (muda) — означает потери, неоправданные расходы и любую деятельность, которая потребляет ресурсы, но не создает ценности для клиента.



Давно размышляю на тему неэффективных коммуникаций, как внутри компании, так и между разными компаниями, как это мешает развитию рынка и созданию новых продуктов.
Читать дальше →

Дизайн-система Gravity UI: как легко построить свой интерфейс

Level of difficultyEasy
Reading time7 min
Views49K

Всем привет, я Алексей Сизиков, руководитель отдела User Experience в Yandex Cloud. В этой статье я хочу поделиться новостью: мы выпустили нашу дизайн-систему и библиотеку компонентов Gravity UI в опенсорс. 

Под катом — рассказ, зачем мы сделали Gravity UI, как его используем, в чём особенности и преимущества нашего подхода и как мы планируем развивать его дальше. А ещё — как настроить разные цветовые схемы в своих проектах и почему у нас четыре темы вместо двух стандартных.

Читать далее

Как предпроектная аналитика помогает не загубить проект

Level of difficultyEasy
Reading time5 min
Views4.1K

Привет. На связи Александр Комбаров — исполнительный директор Pyrobyte. Сегодня расскажу, как не слить проектные деньги в унитаз. 

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

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

Information

Rating
2,075-th
Location
Саратов, Саратовская обл., Россия
Date of birth
Registered
Activity