Search
Write a publication
Pull to refresh
4
0

Пользователь

Send message

Telegram-бот на Laravel для клиентской поддержки через темы в группах

Level of difficultyEasy
Reading time2 min
Views2K

Привет, Habr!

Хочу поделиться решением, которое упростило мне организацию поддержки пользователей через Telegram. Я написал Telegram-бота на Laravel, который работает как прослойка между клиентами и менеджерами, обеспечивая структурированную переписку внутри одной группы с использованием тем (топиков).

Репозиторий проекта (open source):
👉 https://github.com/prog-time/tg-support-bot

Читать далее

Создаем свой RAG: введение в LangGraph

Level of difficultyMedium
Reading time7 min
Views6.8K

Привет, Хабр! В этой статье мы рассмотрим LangGraph — инструмент для построения сложных RAG-систем. Разберём его ключевые концепции и архитектурные принципы. В следующей части перейдём к практической реализации: изучим компоненты RAG-систем и способы их интеграции

Читать далее

Login with MetaMask 1/2 (GO lang)

Level of difficultyMedium
Reading time5 min
Views689

Приветствую тебя, дорогой Разработчик! Хочу поделиться своим опытом о том, как реализовать вход с помощью кошелька Metamask (расширение для браузера) в твой проект. В этой статье я пропускаю весь код архитектуры приложения и покажу тебе только сервисный код (нижний уровень кода. Взгляни на DDD архитектуру, также известную как «Чистый код»). Я использую GO с распространенными библиотеками для веб‑разработки, такими как Gin, jwt, sqlc и другие.

Для начала давай представим, как должен работать наш процесс входа. Как мы все знаем, стратегия «разделяй и властвуй» очень эффективна для чего угодно. Поэтому здесь мы можем разделить наш процесс на 2 логических шага. Назовем их «Начало» и «Завершение». Теперь давай посмотрим на схему нашего процесса, потому что мы, как инженеры, должны максимально упростить свою работу. Итак, схема — отличный способ достичь этого.

Читать далее

RoadRunner vs OpenSwoole vs FrankenPHP с Laravel Octane

Reading time10 min
Views4.7K

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

И мне захотелось всё проверить своими руками...

Читать далее

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

Level of difficultyMedium
Reading time11 min
Views12K

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

Читать далее

Аутентификация на основе cookies с помощью Laravel Sanctum

Level of difficultyMedium
Reading time18 min
Views4.1K

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

Представляю вашему вниманию подробное пошаговое руководство по настройке аутентификации на основе cookies с помощью Laravel Sanctum. В процессе мы объясним логику каждого шага и покажем, как настроить Postman. Кроме того, мы рассмотрим наиболее распространенные проблемы, связанные с CORS.

Читать далее

Пошаговое руководство для начинающих по разработке SPA на Laravel и Vue.js

Level of difficultyEasy
Reading time9 min
Views8.3K

Привет, Хабр. На связи Артем, Laravel-разработчик, и я написал инструкцию для начинающих разработчиков по созданию полноценного локального приложения с бэкендом на Laravel и фронтендом на Vue.js. 

Одностраничные приложения стали стандартом для создания динамичных и быстрых пользовательских интерфейсов. Одним из популярных стеков для разработки SPA является сочетание Laravel и Vue.js.

Пошагово разберу, как настроить среду разработки, создать API на Laravel, реализовать динамический интерфейс с использованием Vue.js и связать эти две части в единое приложение. 

После прочтения статьи вы сможете развернуть свое собственное SPA и использовать его как основу для реализации своих идей по функционалу. Этот пример станет отличной отправной точкой для создания более сложных проектов.

Читать далее

eBPF вместо всего: почему это новая эра сетей, мониторинга и безопасности?

Reading time9 min
Views14K

Раньше модификация Linux требовала пересборки ядра или использования дополнительных модулей. Но теперь есть eBPF — технология, которая позволяет программировать ядро на лету, не жертвуя стабильностью. Звучит как мечта системного администратора или очередной тренд, который существует только на бумаге, но нет. Обработка миллионов пакетов в секунду, отслеживание уязвимостей в реальном времени и замена традиционных агентов мониторинга чем-то более эффективным — это не будущее. Это настоящее, в котором уже живут, например, CloudFlare и Netflix. Детали под катом.
Читать дальше →

В чем силиум, брат? Обзор ключевых фишек Cilium и его преимущества на фоне других CNI-проектов

Level of difficultyMedium
Reading time26 min
Views15K

Привет! Меня зовут Даниил, я DevOps-инженер в KTS.

Сегодня я расскажу о Cilium – опенсорсном CNI-плагине для Kubernetes с технологией eBPF под капотом.

Помимо CNI, Cilium предоставляет множество фич, которые также используют eBPF и в совокупности покрывают почти весь нетворкинг в Kubernetes. Их я и рассмотрю в этой статье, попутно описав свои впечатления и трудности, с которыми пришлось столкнуться.

Читать далее

Руководство для начинающих по настройке SSH и CI CD для проекта с использованием Docker и GitLab (GitHub)

Level of difficultyMedium
Reading time5 min
Views13K

В этой статье я, насколько могу, подробно расскажу вам, как настроить SSH для подключения к виртуальной машине (VM) и интегрировать процесс CI/CD для вашего проекта с использованием Docker и GitLab/GitHub. Мы пройдем через все необходимые шаги, чтобы вы могли легко развернуть ваше приложение.

Стоит сказать, что сама я новичок и вообще бэкенд разработчик, которому неожиданно пришлось развернуть проект на виртуальной машине, так что, если сюда забрел такой же новичок, то, дружище, я может и не достаточно хорошо, но постараюсь тебе все объяснить.

Читать далее

Пишем Telegram-бота на Go(и заставляем его мотивировать нас каждые 30 минут)

Reading time9 min
Views20K

Давно уже было желание сделать что-то простое и полезное в Telegram, но чтобы не пришлось постоянно за этим следить. И вот пришла гениальная идея: чтобы быть всегда замотивированным, можно написать бота, который будет (с какой то периодичностью) сам отправлять мотивационные цитаты в канал?

Этот бот берёт случайные цитаты известных людей из интернета, переводит их на русский язык и отправляет в Telegram-канал по расписанию. Например, утром, днём, вечером и ночью. Звучит просто, правда? Но внутри этого проекта есть всё, что нужно для обучения: чистая архитектура, работа с API, планировщик задач и даже деплой на облачную платформу Railway.

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

Что в итоге получилось и код проекта можно найти по этим ссылкам.

Telegram-канал который получился

Проект на GitHub

Читать далее

Как я свой VPN-сервис делал

Level of difficultyEasy
Reading time5 min
Views36K

Под катом: моя история о том, как я решил не платить за VPN, а вместо этого развернуть свой. Потом подумал: а почему бы не сделать полноценный сервис? А потом... ну, дальше всё как обычно.

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

Читать далее

Windows + WSL. Счастье виндузятника

Level of difficultyEasy
Reading time6 min
Views65K

TL;DR Почему на Хабре нет статей про то, как человек вполне доволен наличием WSL и активно ею пользуется? Неужели я один такой? Значит, пора добавить воды писать статью!

Читать далее

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

Level of difficultyEasy
Reading time13 min
Views11K

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

Читать далее

Как LangChain и LangGraph упрощают жизнь разработчика ИИ-Агентов

Level of difficultyMedium
Reading time12 min
Views9.6K

При разработке приложений на основе больших языковых моделей (LLM, Large Language Model) встает вопрос: вызывать ли модель напрямую через API (например, OpenAI) или использовать специализированные фреймворки вроде LangChain или LangGraph. Ниже мы рассмотрим, с какими сложностями сталкивается разработчик при прямом использовании LLM, и как LangChain и LangGraph помогают упростить создание сложных диалоговых и агентных систем. Также приведем примеры кода, сравнивая прямые вызовы с использованием этих фреймворков, и обсудим, когда их применение оправдано.

Читать далее

Применение LLM + RAG для диалоговых систем в службе поддержки

Level of difficultyMedium
Reading time19 min
Views9.3K

Автоматизация клиентской поддержки с помощью больших языковых моделей — перспективное направление, но без доработки они не всегда способны дать точные и релевантные ответы. Меня зовут Михаил Крюков, технический директор платформы Robovoice (SL Soft), и в этой статье я расскажу, как усиливать LLM с помощью RAG.

Используя реальный кейс, я расскажу о выборе LLM (сравнивали GigaChat MAX, GPT-4o, LLaMA 3.1 70B, YandexGPT 4 и Gemma 2 9b) и RAG (RagFlow, Dify и LangChain Custom + Vector database). Разберу ключевые сложности при интеграции — подготовку датасетов, настройку RAG, борьбу с «галлюцинациями» моделей, затрону вопросы экономики проекта и способов удешевления стоимости диалога. Статья будет полезна разработчикам и бизнесу, планирующим автоматизировать первую линию поддержки с помощью ИИ. Инфраструктура и железо в материале не освещены.

Читать далее

Мне 34, я был в 65 странах, и у меня есть для вас лайфхак

Level of difficultyEasy
Reading time4 min
Views101K

Вы же попались на этот кликбейт?

В статье расскажу, как я написал Telegram-бота, чтобы больше не скроллить каналы с дешёвыми авиабилетами, но сразу узнавать о вкусных предложениях по странам, где я ещё не был.

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

Читать далее

Lua конфигурация Neovim для разработки на Go

Reading time10 min
Views29K

В процессе знакомства с Neovim было прочитано много статей, конфигураций на Github, было просмотрено огромное количество роликов на Youtube на тему настройки, но в большинстве случаев приходилось донастраивать все под себя. В этой статье я расскажу как я настроил Neovim для разработки на Go, используя только Lua плагины и init.lua.

Читать далее

«Бобер выдыхай»: Go, WinAPI и ассемблер

Level of difficultyHard
Reading time22 min
Views11K

Что вам приходит в голову при слове «Golang»? Google и микросервисы? Я тоже так думал, но реальность оказалась значительно интересней.

Читать далее

Как установить и использовать AIDE (Advanced Intrusion Detection Environment) в CentOS 8

Reading time5 min
Views15K
В преддверии старта курса «Администратор Linux» подготовили перевод интересного материала.




AIDE расшифровывается как “Advanced Intrusion Detection Environment” (усовершенствованная система обнаружения вторжений) — это одна из самых популярных систем для мониторинга изменений в операционных системах на базе Linux. AIDE используется для защиты от вредоносных программ, вирусов и обнаружения несанкционированных действий. Для проверки целостности файлов и обнаружения вторжений AIDE создает базу данных с информацией о файлах и сравнивает текущее состояние системы с этой базой. AIDE помогает сократить время расследования инцидентов, сосредоточившись на файлах, которые были изменены.

Возможности AIDE:

  • Поддержка различных атрибутов файлов, в том числе: тип файла, inode, uid, gid, разрешения, количество ссылок, mtime, ctime и atime.
  • Поддержка сжатия Gzip, SELinux, XAttrs, Posix ACL и атрибутов файловой системы.
  • Поддержка различных алгоритмов, включая, md5, sha1, sha256, sha512, rmd160, crc32 и т. д.
  • Отправка уведомлений по электронной почте.

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

Information

Rating
8,040-th
Registered
Activity