Как стать автором
Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Всё про Qdrant. Обзор векторной базы данных

Время на прочтение11 мин
Количество просмотров1.4K

Представьте, что вы создаёте умный поиск, который понимает не просто слова, а смысл текста. Или рекомендательную систему, способную угадывать желания пользователя на основе его действий и предпочтений. Для таких задач недостаточно обычных баз данных — нужны инструменты, способные оперировать векторами — числовыми представлениями смысла, визуальных образов или поведения. Здесь и появляется Qdrant.

Читать далее

О мягких и жёстких ссылках в Linux

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров4.9K

Ссылки в Linux — это мощный инструмент, позволяющий указывать путь к файлам и каталогам. Существует два основных типа ссылок: жёсткие ссылки и мягкие ссылки (вторые также известны как символические ссылки или симлинки). Понимание различий между этими двумя типами поможет вам эффективно управлять файловой системой.

Читать далее

Deepin 25: китайский дистрибутив Linux с ИИ и обновленным DDE

Время на прочтение4 мин
Количество просмотров5.6K


26 июня 2025 года вышел релиз дистрибутива Deepin 25, который продолжает развивать собственную графическую среду Deepin Desktop Environment (DDE) и предлагает около 40 пользовательских приложений. В новом выпуске появились продвинутый ИИ-ассистент с голосовыми командами, атомарные обновления с резервными снапшотами, поддержка управления жестами и интеграция со смартфонами. Рассказываем, чем примечателен Deepin 25 и почему он заслуживает внимания.
Читать дальше →

Лучшие нейросети для создания игр

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

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

В этой статье мы расскажем о 18 самых мощных и удобных инструментах на базе глубокого обучения, которые уже сегодня способны кардинально облегчить жизнь геймдизайнеров, художников и программистов. Особенно независимых!

Читать далее

Скрэмбл для тех, кто ненавидит SQL в Go коде

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.1K

Обращения к базе — одно из самых популярных действий бэкенд приложений, и чаще всего оно происходит с помощью SQL запросов. И есть несколько способов хранить запросы в коде: строка или константа непосредственно в качестве аргумента функции, билдер запросов или отдельно лежащий файл с SQL запросом, который эмбедится в Go код в момент сборки. Этот последний способ чаще всего можно найти по запросу типа «Golang embed SQL» и он действительно довольно хорош.

Читать далее

Продолжение повести о трёх мушкетёрах: какие подвиги совершили Bash, Ansible и Astrawizard

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

В землях, где каждый байт имеет значение и где волшебство скриптов и команд оживляет машины, продолжаются славные деяния наших героев — Bash, Ansible и Astrawizard. После первых побед они не сложили свои «мечи», а продолжили путь, полный новых вызовов и открытий.

Сегодня мы расскажем о том, какие ещё подвиги совершили наши мушкетёры в мире Linux. Их умения и опыт помогут нам разобраться в самых сложных задачах и сделать управление системами ещё более эффективным.

Будь как дома путник, Я ни в чём не откажу

Законы простоты

Время на прочтение8 мин
Количество просмотров1K

В книге «Законы простоты » Джон Маэда (из MIT) предлагает десять законов для баланса простоты и сложности в бизнесе, технологиях и дизайне — руководящие принципы для того, чтобы нуждаться в меньшем и на самом деле получать больше.

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

Читать далее

Практическое использование Kafka в микросервисных приложениях на примере Open Source платформы Ensi

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

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

Решать выше перечисленные проблемы можно разными способами. В своей работе в компании Greensight в качестве senior backend developer при разработке заказных проектов на базе Open Source платформы Ensi, я с коллегами перепробовал множество решений.

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

Читать далее

gRPC, HTTP, Websocket — и все это один сервер

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

Однажды передо мной встала довольно интересная задача: обеспечить взаимодействие стороннего веб-приложения - и набора сервисов, имеющих gRPC интерфейс.
Нужно было проводить обработку данных от веб-приложения через конвейеры AI-агентов, собирать конечный результат, и отдавать его приложению. А также, что немаловажно, обеспечить наглядность мониторинга и управления всем хозяйством.
Мне потребовалось разработать собственный сервер на PHP, в котором поддержать три типа интерфейсов. Во-первых, RestAPI для веб-приложения. Во-вторых, gRPC-сервис для взаимодействия с AI-агентами. В-третьих, HTTP + Websocket для интерактивного мониторинга и управления.
Для этого пришлось создать новый продукт - который, возможно, кажется полезен и вам.

Читать далее

Разработка языков программирования в эру больших языковых моделей: ренессанс посредственности?

Время на прочтение10 мин
Количество просмотров2.8K

В исследовании языков программирования меня всегда наиболее привлекала их разработка.

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

Читать далее

Spinlock vs. Mutex vs. Semaphore: Разбираемся в синхронизации с Zephyr OS

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

Всем привет! Сегодня хочу углубиться в одну из самых важных тем в мире Zephyr OS — синхронизацию потоков и задач. Если вы хоть раз работали с k_thread_create, гоняли потоки туда-сюда и ловили bus fault, вы меня понимаете.

Когда задача одна — всё просто. Но как только вырастает многопоточность, задачи начинают драться за общий ресурс — и тут без надёжной синхронизации не обойтись. У Zephyr OS есть три главных инструмента для этого: spinlock, mutex и semaphore. Каждый со своим характером и подводными камнями.

Читать далее

Оптимизация индексов базы данных: проблемы, решения, практические рекомендации

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

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

Индекс — это как указатель в толстенном справочнике. Без него, чтобы найти нужный термин, вы обречены листать страницу за страницей. С ним — вы мгновенно открываете нужный раздел. Но что, если указатель сам размером с полкниги? Или ведет не туда? Такой помощник только вредит. С индексами в БД всё то же самое. Грамотная стратегия индексирования — это полет. Ошибочная — это бег в мешках по болоту.

Читать далее

Как CAPTCHA используются для установки стиллеров и троянов

Уровень сложностиСложный
Время на прочтение15 мин
Количество просмотров2.5K

Волна поддельных страниц CAPTCHA, которые обманывают пользователей, заставляя их вставлять вредоносные команды в диалоговое окно «Выполнить» (Windows Run). Используются файлы (например, MP3, PDF) с внедрённым запутанным JavaScript, распространяемым через фишинговые письма, вредоносную рекламу (malvertising) или SEO-отравление. Загрузки исполняются в памяти с использованием mshta.exe или PowerShell, что позволяет часто обходить традиционную файловую детекцию. Эти атаки обеспечивают эксфильтрацию данных, кражу учётных данных, удалённый доступ, развертывание загрузчиков через такие вредоносные программы, как Lumma Stealer, Rhadamanthys, AsyncRAT, Emmenthal и XWorm.

Читать далее

Ближайшие события

Трехканальный вольтамперметр на базе ESP32-S3 с записью данных в лог и передачей данных по WI-FI (YCHEV003)

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

Привет друзья, сегодня с Вами мы соберём трёхканальный вольтамперметр на базе ESP32-S3. Многие из Вас, уже долгое время ждали этот проект, поэтому при его сборке я учёл все Ваши замечания в комментариях под видео к вольтамперметру на Arduino, вольтамперметру на ESP8266 и сделал проект максимально простым, я избавился от большого количества пайки, новый вольтамперметр буквально можно спаять навесным монтажом, так как он состоит всего из 5 модулей. Так же избавился от ненужных компонентов, навроде датчика температуры, блока управления вентиляторами, так как модули, на основе которых мы будем с Вами собирать лабораторный блок питания уже имеют и датчики температуры, и могут управлять скоростями вентилятора, поэтому данные компоненты в новом вольтамперметре я упразднил.

Читать далее

29% взрослых не умеют надёжно уничтожать данные на ПК, ноутбуках и смартфонах

Время на прочтение3 мин
Количество просмотров9.3K


В 2024 году Управление комиссара по информации Великобритании (ICO) привело такие данные: 29% взрослых не знают, как надёжно удалить персональные данные со старых устройств.

Согласно опросу, 84% взрослых граждан обязательно удалят личные данные с устройства, прежде чем избавиться от него. Молодёжь меньше беспокоится об этом: 14% людей в возрасте 18−34 лет признались, что не станут стирать информацию с устройства, в то время как среди людей старше 55 лет таких всего 4%. Молодёжь зачастую не заботится об удалении личных данных (21%) и не волнуется о том, как эти данные могут использоваться (23%).
Читать дальше →

Когда 42 — это цифра: шумеро-вавилонская система счисления с глиняных табличек

Уровень сложностиСложный
Время на прочтение9 мин
Количество просмотров2K

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

Читать далее

Четвёртый (и предпоследний) шаг к повышению производительности Firebird

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров659

Данная статья является четвёртой частью перевода руководства по повышению производительности Firebird за авторством А.Ковязина и Э.Грегорио от 23.05.2024 (и потому продолжается сквозная нумерация пунктов), а так же текстовой расшифровкой соответствующего видео.

Читать далее

Пятый и последний шаг к повышению производительности Firebird

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров676

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

Читать далее

Еще раз об SVG-виджетах в tcl/tk

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

После выхода первой статьи про svg-виджеты для tcl/tk прошло более года. За это время вышел не только tcl/tk версии 9.0, но и сам пэт-проект возмужал и продолжает взрослеть. Напомним, что проект svgwidgets, примеры и интерпретаторы tcl/tk с необходимыми пакетами для работы с svg-виджетами можно найти на github.
В проекте svgwidgets на github-е можно найти версию интерпретатора tclexecomp как для linux64 (папка tclexexcomp902), собранного из исходников tcl/tk-9.0.2, так и версию интерпретатора на базе tcl/tk-8.6 для платформ Linux64 и Win64 (папка tclexecomp200).
К ранее созданному на github-е подкаталогу examples/CryptoArmPKCS_Test, в котором выложен исходный код криптографической утилиты для работы с электронной подписью cryptoarmpkcs, который предназначен для запуска на платформе Linux64 в среде tcl/tk-9, добавлены аналогичные папки для запуска утилиты cryptoarmpkcs в среде tcl/tk-8.6 на платформах Linux64 (папка examples/CryptoArmPKCS_Test_Tk86) и Win64 (папка examples/CryptoArmPKCS_Test_Tk86_Win64). Для запуска этой утилиты ничего дополнительного устанавливать на свой компьютер не требуется. Достаточно выбрать соответствующий интерпретатор из папки tclexecomp200 или tclexexcomp902 и выполнить файл mainguipkcs_svg.tcl из соответствующей папки ~/examples/CryptoArmPKCS_Test, например:

C:>C:\Temp\tclexecomp64_v200_svg_Win64.exe c:\Temp\CryptoArmPKCS7_Test_Tk86_Win64\mainguipkcs_svg.tcl

Читать далее

Как провалить собеседование по System Design: ошибки, которые допускают даже опытные разработчики

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров9K

Собеседование по System Design — это не просто проверка технических знаний, а настоящее испытание вашего инженерного мышления. В отличие от алгоритмических задач, где есть чёткие правильные и неправильные ответы, здесь всё строится на умении анализировать, взвешивать компромиссы и предвидеть проблемы до их появления. Ирония в том, что даже опытные разработчики часто проваливают эти собеседования, потому что сосредотачиваются не на том. Они могут идеально знать, как работает Kafka или Cassandra, но если не умеют структурировать свои мысли и задавать правильные вопросы, их шансы резко падают.

Читать далее