Обновить

Разработка

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

Опять про Arduino: DIY-синтезатор от инженера-программиста

Когда к инженеру-программисту приходит с задачкой не босс, а дочка, случаются настоящие чудеса — вот и в этой статье яркая история о том, как папа собрал портативный синтезатор с нуля!

В статье «Как инженер-программист сделал синтезатор для дочери с помощью Arduino и 3D-принтера» все: от идеи музыкальной доски Монтессори до настоящего электронного инструмента на Arduino и 3D-принтере. Автор рассказывает о поиске компонентов, первых шагах с MIDI-протоколом, работе с OLED-дисплеем, сборке корпуса и даже о танцующей панде на экране.

Как инженер-программист сделал синтезатор для дочери с помощью Arduino и 3D-принтера
На свой первый день рождения моя дочь получила развивающую доску Монтессори, полную переключателей и...
habr.com

Статья для тех, кто верит, что что-то сделать своими руками реально — даже если проект кажется сложным и совершенно новым. С фото, схемами и лайфхаками, которые пригодятся каждому инженеру родителю.

Теги:
Всего голосов 3: ↑2 и ↓1+4
Комментарии0

OpenAI планирует через 5 лет потреблять больше энергии, чем Германия и через 8 лет превзойти Индию по электропотреблению.

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии2

Больше никаких мучений с Markdown — расширение Markdown Viewer превращает все файлы Markdown в Word-документы без боли и страданий. Захватывает инфографику: любые схемы, диаграммы, графики в чистые картинки. Берёт формулы из LaTeX и переносит их в Word нативно, а не в формате ужасных вставок. Переносит форматирование — подсвечивает код, сохраняет таблицы и списки, как в оригинале. Работает локально. Подходит для работы с GitHub: открывает документы и даёт перенести всё в Word.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии1

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

Несмотря на это, i18next остаётся решением по умолчанию, которое ChatGPT рекомендует для внедрения i18n. Мы слишком часто попадаемся на удочку страниц «Get Started» (да, оно работает, но действительно ли это сделано правильно?).

На практике я замечаю, что многие проекты пропускают самые критичные аспекты интернационализации, особенно связанные с SEO: перевод метаданных, теги hreflang, локализация ссылок, настройка sitemap и robots.txt.

Что ещё хуже, почти половина проектов, использующих i18next (особенно после роста популярности ИИ), не структурируют контент по неймспейсам или же загружают все неймспейсы при каждом запросе.

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

Чтобы решить проблему, я подготовил руководство о том, как правильно интернационализировать приложение Next.js 16 с i18next в 2025 году.

Вот ссылка: https://intlayer.org/ru/blog/nextjs-internationalization-using-next-i18next

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

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

В современных, вроде ЕРП, УМП вполне себе работает. У одного клиента с 2021 г. всё обеспечение продаж и многопередельного производства на УМП держится.

Скачать расширение можно в тг-канале - https://t.me/another1C/130

Описание решения - vk.com/@ivan.belokamentsev-universalnyi-mehanizm-planirovaniya-ump

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Представлен проект открытого бота на Python для Telegram с торрент клиентом. Решение умеет загружать файлы по магнет-ссылкам и ссылкам на Google-диск, есть поисковик торрентов и встроенный yt-dlp.

Теги:
Рейтинг0
Комментарии2

Челлендж для HR, тимлидов и скептиков!

Привет! Перед вами нечто среднее между стеком разработчика / резюме. Попробуйте оценить:

  • Junior, Middle или Senior? (или вообще кто это?)

  • Во сколько такие люди оцениваются нынче?

  • Взяли бы в команду? Или сразу в бан?)

⚠️ Некоторые детали с подвохом.

💻 HARD SKILLS

Языки программирования
Python, JavaScript, Java, Kotlin, C++, C#, SQL, AutoIt, Assembly, Go

Технологии, форматы, API
HTML, CSS, JSON, GeoJSON, DOM, Canvas API, WebGL, REST API, WebSocket, Bash/PowerShell

Базы данных
MariaDB, SQLite, Redis, PostgreSQL, Oracle,, MS Access

Фреймворки и библиотеки
Web Backend: Django, Flask, FastAPI, Node.js, Celery
Desktop GUI: PyQt, Tkinter, Lazarus
Mobile: Android SDK, Gradle
Визуализация и 3D: Three.js, OpenCV
Data Science: NumPy, Pandas, Matplotlib
GIS: QGIS
Медиа: FFmpeg

Frontend / Web-разработка
React, адаптивная верстка, интерактивные карты, кастомные UI-компоненты, работа с большими изображениями, клиентская логика, мини-движки визуализации

Backend / Сервисы
REST API, парсинг веб-данных, обработка данных, файловые пайплайны, работа с БД, deployment на localhost

Desktop-разработка
Многооконные приложения, панельные интерфейсы, файловые менеджеры, рендереры, конвертеры, кастомные инструменты, собственный табличный редактор (CSV/JSON/Excel)

Mobile / Android
Нативные проекты на Kotlin/Java, работа с ресурсами, манифестами, базовые UI-компоненты

Data / Computer Vision / ML
Обработка изображений, сравнение фото, фильтры, контуры, цветовые анализаторы, DPI/масштабирование, нейросетевые модели, работа с датасетами

GIS / Картография
Разбиение карт на тайлы, кастомные HTML/JS-карты, координатные системы, управление слоями, визуализация геоданных, интерактивные схемы

3D / Графика
Визуализация объектов, базовый шейдинг, анимации, работа с 3D-сценами, астрономические симуляции

Audio / Video обработка
Конвертация, рендер, аудиоэффекты, VST, визуализация звука

Automation / Инструменты
200+ кастомных утилит: пайплайны, GUI-редакторы, конвертеры, парсеры, визуализаторы, сборщики, веб-автоматизация (Selenium, ChromeDriver)

Build / DevOps
Сборка проектов, Git (локальный контроль версий), Firefox/Chrome DevTools, отладка

🧠 SOFT SKILLS
Системное мышление, архитектурное проектирование, UX/UI дизайн, rapid prototyping, постановка задач, анализ требований, визуализация идей, техническое чутьё, структурирование проектов, документация, логическое мышление

ИНСТРУМЕНТЫ РАЗРАБОТКИ И ДИЗАЙНА
Notepad++ (+ собственный редактор (пока Python syntax)), VS Code, Sublime Text, Android Studio, QGIS, Blender, Unity, Figma, Photoshop, Illustrator, CorelDRAW, Audacity, FL Studio, Adobe Premiere Pro, After Effects, Magix, Postman, curl, Total Commander, VirtualBox

МЕТОДОЛОГИИ И ПОДХОДЫ К РАЗРАБОТКЕ
Итеративная разработка (Rapid Prototyping), контроль версий, архитектурные паттерны (MVC, MVVM), модульное проектирование, рефакторинг кода, оптимизация производительности, отладка (логирование, DevTools), структурирование проектов, документирование кода

Дополнительный вопрос:

За какое время можно пройти путь от «Чёрное окошко — это какая-то магия, F12 — это что-то страшное...» до реального применения всего перечисленного выше в прототипах и рабочих проектах? Минимум по одному разу.

Иначе говоря: в стартовой точке известны были лишь названия языков программирования, а про циклы и алгоритмы что-то смутно помнилось из школьного учебника.
Сколько лет затрачено до текущего стека?

Теги:
Всего голосов 10: ↑1 и ↓9-8
Комментарии34

Представлен открытый проект Telegram Downloader, который умеет легально, быстро и легко скачивать любые файлы даже из защищённых каналов и чатов, где закрыта пересылка контента:

  • качает даже тяжёлые файлы за несколько секунд.

  • загрузки экспортируются в JSON-формат прямо на локальный диск.

  • работает локально — вся информация о загрузках будет только на локальном ПК.

  • не нарушает политику мессенджера.

Теги:
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

Актуализировали версии языков в Apps ⌨️

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

Добавили версии:

➖ Python: 3.14, 3.13
➖ PHP: 8.4
➖ Node.js: v24
➖ Go: 1.25, 1.24, 1.23
➖ .NET: 9.0
➖ Elixir: 1.19, 1.18, 1.17, 1.16
➖ Java: 25, 21

➡️ Обновить окружения в Apps →

И вам наш продакт-менеджер, Артем Гринберг просил передать:

🤓 А еще готовим статью и вебинар о том, как мы переписали Apps и что именно в них изменилось. Скоро расскажем подробности.

Теги:
Всего голосов 9: ↑9 и ↓0+13
Комментарии1

Вам не кажется, что порядок агрументов в обратной польской записи нелогичен? Почему 5 - 3 в ОПЗ это 5 3 - а не 3 5 - ? Как частично применить аргумент к функции? Т.е. как сделать каррирование оператора - ? Надо применить к нему предпоследний элемент стека, т.е. стек должен состоять как минимум из двух элементов, а для частичного применения достаточно было бы, чтобы на стеке лежал только один элемент.

Конечно можно каррировить оператор не первым, а последним аргументом, т.е. частично применить 3 к - и получить функцию, которая на вход будет принимать число, и вычитать из него 3. Для оператора минус вроде всё логично. А давайте рассмотрим оператор map : (a -> b) -> List<a> если к нему частично применить некоторую функцию (a -> b), это имеет определённый смысл - мы получим функцию, к которой можно применять различные данные (списки), а если мы поступим наоборот и частично применим к map некоторый список, то мы получим довольное нелепую конструкцию - список данных, к которым можно применять разные функции.

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

Теги:
Всего голосов 4: ↑3 и ↓1+3
Комментарии10

В игре Escape from Tarkov на магазине P90 долгое время висела надпись «Потом будет прозрачный» — после релиза её поменяли на «По ходу не будет». Игру делали девять лет, включая восемь лет и три месяца тестирования.

Теги:
Всего голосов 9: ↑9 и ↓0+11
Комментарии2

Представлен ИИ-сервис Vibetest Use, который тестирует сайты на прочность и ищет уязвимости. Параллельно запускаются сразу несколько проверок с помощью ИИ, которые ищут ошибки, битые ссылки или проблемы в дизайне. Работает на базе Claude. В качестве альтернативы можно запустить с бесплатным API от Google через Cursor.

Теги:
Всего голосов 2: ↑1 и ↓10
Комментарии1

Почему нужно использовать DTO

Data Transfer Object, термин, который для разработчиков на статических языках является чем-то самим разумеющимся, но вот остальные его могут не знать (даже если пользуются). Хотя в эпоху интеграций, фронтенд-бекенд, сервис-сервис, очереди, это крайне важная конструкция.

DTO это очень промежуточный объект между моделью в вашем коде и данными, которые вы отдаете наружу или принимаете от внешней системы.

  • Модель => DTO => json/protobuf/sql...

  • json/protobuf/sql... => DTO => Модель

Нафига? Почему не сразу преобразовывать из, допустим, json в нашу модель или наоборот? Тем более во всех экосистемах есть механизмы, которые позволяют упаковывать любые объекты, задавая правила преобразования через метаданные, аннотации или еще как-то. Пример из Java:

@Entity
public class User {
    @Id
    private Long id;
    @JsonIgnore              // приходится скрывать
    private String passwordHash;
    @JsonProperty("created_at")
    private LocalDateTime createdAt;

    // getters/setters ...
}

var json = new ObjectMapper().writeValueAsString(dto);

Существует масса причин, почему это плохая идея. Для начала, это банальное нарушение MVC архитектуры. Модель начинает знать как о представлении, о том какие поля надо выдавать наружу, какие нет, как их переименовывать и так далее. Если это кажется натянутым, то вот вам реальные последствия.

Одна и та же сущность для внешнего мира редко представляется одним способом. В зависимости от задачи, это может быть один набор полей или другой. Как это разрулить? Дальше, здесь плохо контролируется процесс, легко может быть такое, что новое поле автоматически попало наружу, хотя вы этого не планировали, но забыли его исключить. А если нужны вычисляемые поля или другое представление (всегда в датах)? В такой ситуации модель будет наполняться доп свойствами и методами, которые готовят доп данные для преобразования, что ведет к сильному загрязнению кода. Что из этого относится к бизнес-части, а что к представлению? Проблема.

DTO позволяют отделить представление от модели в коде, создавая по сути промежуточный слой. Имея его, вы можете независимо развивать свою модель и API для взаимодействия с ним. И да, это один из аспектов MVC, конкретно Model-View.

Готовые DTO гораздо легче чем модели конвертировать в типы на TS если у вас есть такая потребность. Например мы наши DTO (используем Alba), превращаем в типы TS с помощью готового инструмента (Typelizer). С моделями так легко не получится.

За это конечно придется заплатить. В проекте появится папка, с большим количеством файлов. Но это с лихвой компенсирует все описанные выше проблемы. DTO очень простые и для их создания далеко не всегда надо с нуля писать классы. В той же java они генерируются с помощью mapstruct, в других языках свои механизмы.

Но это только базовая история. Если мы еще подключаем инструменты генерации из sql (как в go) или openapi как везде, то те самые DTO создаются вообще автоматически на основе описаний.

INSERT INTO links (original_url, short_name)
VALUES (sqlc.arg(original_url), sqlc.arg(short_name))
RETURNING *;

DTO:

type CreateLinkParams struct {
	OriginalUrl string `json:"original_url"`
	ShortName   string `json:"short_name"`
}

Причем для update будет создана своя структура:

type UpdateLinkParams struct {
	OriginalUrl string `json:"original_url"`
	ShortName   string `json:"short_name"`
	ID          int64  `json:"id"`
}

Здесь отличается только id, но в реальных кейсах, отличий в создании или обновлении одной сущности обычно значительно больше, поэтому количество DTO тут становится еще больше.

DTO, кстати, должны быть имутабельны, иначе туда потечет логика

Больше про разработку в моем телеграм-канале Организованное программирование

Теги:
Всего голосов 9: ↑7 и ↓2+6
Комментарии1

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

Скрытый налог: когда 1С висит, бизнес теряет деньги. Покажем, как «Монитор» снижает затраты с первой недели

Во сколько обходятся бизнесу простои из-за «тормозов» 1С? Компания может терять десятки тысяч рублей в день, а все потому, что команда технических специалистов ищет и не может найти ту самую ошибку. А можно превратить потери от простоев в компенсацию для бюджета. 

25 ноября в 12:00 на вебинаре «Скрытый налог: когда 1С висит, бизнес теряет деньги» мы расскажем, как инструмент «Монитор» для 1С помогает бизнесу сокращать финансовые потери. 

Спикер: Андрей Бурмистров, 1С-эксперт по технологическим вопросам крупных внедрений

В программе:

— примеры скрытых затрат при проблемах со скоростью работы в 1С;

— разбор ключевых функций Монитора (долгие запросы, блокировки, взаимоблокировки, ошибки технологического журнала, уведомления о событиях);

— ответы на вопросы участников.

Все участники вебинара получат в подарок 30-дневную триал-версию «Монитора» с бесплатной установкой от наших специалистов. За 1 день и 0 рублей вы увидите проблемы производительности вашей 1С!

👉Регистрируйтесь по ссылке

ВАЖНО! С 1 января 2026 года меняется лицензионная политика продукта: на каждые 3 сервера необходимо будет покупать лицензию. До конца декабря есть возможность купить лицензию без ограничения по количеству серверов.

Теги:
Всего голосов 3: ↑0 и ↓3-3
Комментарии0

В маркетплейсе VK Cloud появилось сразу несколько новых решений, поэтому мы хотим, чтобы вы узнали, как с ними работать из первых рук во время вебинаров. Оба решения появятся в маркетплейсе накануне трансляций.

📌 26 ноября в 11:00 будем говорить о том, какие преимущества открывает РЕД База Данных. Почему это надежно, и как работает совместная поддержка в рамках SLA. Эфир проведет технологический евангелист VK Cloud Станислав Погоржельский и Алексей Бехтин, аналитик отдела разработки СУБД, РЕД Софт.

Что еще обсудим

🔷 Интеграция с прикладными системами. Как легко и быстро подключить РЕД Базу Данных к вашим приложениям, работающим в VK Cloud.

🔷 Кейсы и выгоды. Примеры из практики, демонстрирующие повышение производительности и снижение TCO (совокупной стоимости владения).

🔷 Разработка с помощью ИИ. Генерация приложения маркетплейса на Go с использованием СУБД РЕД База Данных.

Зарегистрироваться

📌 27 ноября в 11:00 начнем разговор про обеспечение безопасности данных в облаке с помощью Next Generation Firewall. Межсетевой экран позволяет контролировать трафик между ВМ, настраивать правила и вести мониторинг real-time. 

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

Кому точно стоит посетить вебинар

🔷 DevOps и SRE-инженерам.

🔷 Руководителям ИТ-направлений.

🔷 Всем, кто использует или планирует использовать облачную инфраструктуру.

Зарегистрироваться

Теги:
Всего голосов 2: ↑0 и ↓2-2
Комментарии0

Как мы избавились от рутины в сетевом коде с помощью собственного фреймворка Chord 🪄

Расскажем на крупнейшей конференции для разработчиков разного профиля — Holly JS 🤟

Спикером конференции станет Дмитрий Дин, fullstack-лид Далее. В докладе «Chord’овская декларативность: побеждаем бойлерплейт сетевого взаимодействия» он поделится опытом внедрения собственного инструмента Chord (на базе JSON-RPC), который уже больше года работает в продакшене и избавляет команды от рутины при взаимодействии между клиентом и сервером. 

Доклад будет особенно полезен frontend- и fullstack-разработчикам (уровня Middle и выше), которые работают с TypeScript и современными фреймворками вроде SvelteKit, Next.js или Nuxt. 

Приходите послушать доклад Димы 21 ноября, с 15.30, в секции Фреймворки. 

🔗 Подробнее о докладе и спикере — на сайте Holy JS.

Теги:
Рейтинг0
Комментарии0

Апгрейд для сетевых инженеров: присоединяйся к разработке «соточных» коммутаторов

Разработчики коммутаторов KORNFELD ищут коллег. Нужны сетевые инженеры, которые будут тестировать сетевое оборудование, поддерживающее широкий спектр сервисов и протоколов, включая MC-LAG, BGP, OSPF, VxLAN, VPN, VRRP, LACP и другие. «Классические» тестировщики тут не подойдут — у успешного кандидата должен быть опыт работы с оборудованием типа Cisco, Huawei, Juniper, знание сетевых протоколов, применяемых в дата-центрах и офисах, — не только в теории, но и на практике. Фокус на мидл-специалистах и выше.

Получить быстрый оффер за 3 дня → 

Подать заявку можно до 30 ноября. Для этого достаточно заполнить форму на сайте, приложить резюме или скинуть ссылку на него.

Демонстрационная модель коммутатора, с которым нужно будет работать
Демонстрационная модель коммутатора, с которым нужно будет работать

Примеры задач сетевого инженера в тестировании:

  • Анализ продуктовых требований/ПМИ/ПСИ и составление use-кейсов.

  • Проведение разных видов тестирования: e2e, fail-over.

  • Составление тест-кейсов, тест-планов на продукт — как на новый функционал, так и на существующий.

  • Участие в совместных тестах, в том числе на площадке заказчика, и взаимодействие с командами разработки/L3/сервиса/документации.

Больше о вакансии — по ссылке.

Чтобы лучше представлять работу с KORNFELD, читайте статьи инженеров YADRO:

→ Жизненный цикл фичи в коммутаторе: от идеи через QA до прода

Как устроен L3-коммутатор: разбираемся с железом и настройками конфигурации

Теги:
Всего голосов 7: ↑7 и ↓0+9
Комментарии0

Открыли полный доступ к Evolution AI Factory для создания GenAI с минимальными затратами 🚀

Вчера на AI Journey объявили о коммерческом запуске Evolution AI Factory — облачной среды с готовым набором сервисов для работы с GenAI. Мы разрабатывали ее так, чтобы пользователям с любым уровнем навыков программирования и погружения в машинное обучение было удобно и понятно.            

В Evolution AI Factory шесть взаимосвязанных сервисов:

🧠 Foundation Models — каталог из 20+ моделей, включая GigaChat-2-Max, Qwen3-Coder, MiniMax и другие. Работают по OpenAI-совместимому API.

⚡ ML Inference — инструмент для быстрого запуска собственных ML-моделей или развертывания готовых из HuggingFace.

🤖 AI Agents — агенты для автономного выполнения задач и интеграции с другими системами.

📓 Evolution Notebooks — запуск нужной вам среды разработки в облаке: JupyterLab, VS Code Server, ComfyUI, n8n и другие. Возможность экспериментировать на CPU или GPU без ограничений.

🎯 Managed RAG — инструмент для повышения точности выдачи LLM с учетом ваших корпоративных данных.

🔧 ML Finetuning — дообучение LLM под задачи вашего бизнеса с использованием LoRA-адаптеров.

Сервисы доступны с гарантированным SLA, поддержкой 24/7 и возможностью масштабировать нагрузку. И все по доступным ценам: открытые LLM из каталога Foundation Models сейчас стоят в среднем 35 рублей за входной и 70 рублей за выходной миллион токенов. 

Выбирайте подходящие инструменты и реализуйте проекты в облаке! 

Теги:
Всего голосов 1: ↑0 и ↓1-1
Комментарии0

Хотели ускорить разработку с ИИ, а получили сопротивление и хаос: как работать с командой

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

Евгений Сатуров, CTO Mobile в Surf, провел 50+ сессий парного программирования, понаблюдал, как разработчики впервые работают с ИИ, и собрал 40 страниц выводов. А потом рассказал обо всем на конференции AI Boost. Теперь выступление есть на YouTube.

Вы узнаете:

  • Почему ИИ-кодинг — это отдельный навык, а не автоматическое ускорение разработки.

  • Какие 5 ключевых страхов чаще всего мешают командам (стоимость, недоверие, потеря контроля, замедление, отказ от результата).

  • Как ИИ подчеркивает слабые места постановки задач и почему качество промпта напрямую влияет на качество решения.

  • Чем различаются системные, таск- и мета-промпты, и зачем их понимать каждому разработчику.

  • Почему ИИ-агенты эффективнее на цельных задачах, чем на мелких правках.

  • Как руководителю внедрять ИИ так, чтобы это не было про «разбирайтесь сами».

Главные барьеры на пути внедрения — не технические, а человеческие. Все ошибки и проблемы проистекают из страхов и заблуждений разработчиков, а не из несовершенства ИИ.

Евгений Сатуров, CTO Mobile в Surf

В видео — много практики, наблюдений и реальных кейсов, как ИИ реально помогает командам — и какие ошибки лучше не повторять. Смотрите на YouTube.

Теги:
Всего голосов 6: ↑1 и ↓5-4
Комментарии2

Квиз: насколько вы разбираетесь в играх 90-х

Помните мелодию из Марио? Этот джингл, (который у вас, вероятно, заиграл в голове) — символ эпохи, которая для многих открыла мир видеоигр. 

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

Пройти квиз →

Ответьте на 10 вопросов и получите подборку полезных материалов. Не забудьте  заглянуть в комментарии, чтобы поделиться своим рекордом.

Теги:
Всего голосов 10: ↑6 и ↓4+7
Комментарии6