TLDR: я написал BrainBox — local-first сервис поддержки open-source ИИ-систем для генерации изображений, распознавания объектов на снимках, озвучки, распознавания текстов, транскрибирования аудиозаписей и других целей. Эти системы запускаются за фасадом веб-сервера, который устанавливает их и затем принимает и выполняет задачи в едином для всех систем формате. Задачи можно ставить из любого языка программирования с помощью отправки веб-запросов на сервер, а для Python дополнительно разрабо…
Lua — один из моих любимых языков программирования. Я использовал его для создания CMS на своём старом учебном сайте, для создания крутых IoT-устройств, для разработки мини-игр и экспериментов с децентрализацией сети. Однако экспертом по этому языку я нисколько себя не считаю. Разве что просто разбирающимся в нём пользователем. Я имею в виду, что работал с ним в различных контекстах и на протяжении многих лет, но не вникал глубоко в его реализацию или экосистему. Так что меня немного расстра…
Меня зовут Дмитрий Солдатенко, я разработчик в Ви.Tech, IT-дочке ВсеИнструменты.ру. И теперь, когда формальное представление завершено, хочу поделиться своим, местами не очень формальным, батхертом по поводу слабых указателей.Предполагается, что вы пишете на Go и хотя бы на уровне чтения релиз-ноутов знакомы с концепцией слабых указателей (weak pointers).На первый взгляд, это полезный механизм для некоторых сценариев. Но у меня есть одна идеологическая и несколько фактических претензий к их реа…
БазаПараллельность - выполнение задач в один момент времени на разных логических ядрах.Конкурентность - выполнение задач последовательно, но со сменой контекста на другую задачу в ожидание завершения иной задачи. У пользователя может возникнуть иллюзия многозадачности даже в однопроцессорной системе, поскольку смена контекста происходит быстро (микросекунды).Процессы:Раздельная памятьРаздельные ресурсыРаздельные регистрыПотоки:Общая памятьОбщие ресурсыРаздельные стэк и регистрыГорутины:Общая па…
На практике, создаваемое нами ПО выполняется на множестве процессоров. К сожалению, многие наши допущения, справедливые для одного процессора, в случае нескольких процессоров становятся ложными. Например, каким будет состояние памяти, если два процессора изменяют один блок памяти? В общем случае на этот вопрос ответить сложно. Может случиться так, что внесённое одним процессом изменение перепишет внесённое другим. Справедливо может быть и обратное: может «победить» изменение другого процессора…
Всем привет. Наверняка каждый, кто так или иначе связан с IT сферой, слышал модную аббревиатуру CI/CD. Везде мы слышим про необходимость ее использования, преимущества автоматизации процессов и т.д.В вакансиях все чаще требуется опыт работы с одним из инструментов в этой инфраструктуре – Jenkins, Travis, AWS, Gitlab CI/CD.⚠️Я предлагаю вам посмотреть на этот процесс, глазами простого разработчика. Чем ему может помочь автоматизация. Что в конечно итоге скрывается под этой аббревиатурой, и как у…
Исходный код, разобранный в статье, опубликован в этом репозиторииВ интернете существует множество примеров, которые позволяют подключить ChatGPT 3.5 без инструментов к телеграм боту. Однако, когда речь заходит о большом количестве пользователей, не существуют примеров распределения нагрузки по нескольким процессам: все туториалы в интернете запускают монолит с одной репликойhttps://github.com/telegraf/telegraf/issues/423Так же, на практике работы с NodeJS, я сталкивался с проблемой, когда мног…
A Language Server for Postgres Postgres Language Server A collection of language tools and a Language Server Protocol (LSP) implementation for Postgres, focusing on developer experience and reliable SQL tooling. Docs: pgtools.dev Install: instructions CLI releases VSCode Neovim Overview LSP Demo CLI Demo This project provides a toolchain for Postgres development, built on Postgres' own parser libpg_query to ensure 100% syntax compatibility. It is built on a Server-Client archi…
Use your Neovim like using Cursor AI IDE! avante.nvim avante.nvim is a Neovim plugin designed to emulate the behaviour of the Cursor AI IDE. It provides users with AI-driven code suggestions and the ability to apply these recommendations directly to their source files with minimal effort. 查看中文版 Note 🥰 This project is undergoing rapid iterations, and many exciting features will be added successively. Stay tuned! …