Search
Write a publication
Pull to refresh
0
@dimer525read⁠-⁠only

User

Send message

Монитор качества воздуха Zigbee своими руками

Level of difficultyEasy
Reading time10 min
Views14K

Сразу должен сказать, что идея не моя. Изначально речь шла об устройстве на дисплее epaper, который бы на экран выводил значения CO2, температуру и влажность. Ну еще время. В процессе обсуждения родился проект, который мы назвали Air Quality Monitor.

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

Читать далее

OpenVPN c расширенной аутентификацией и авторизацией

Reading time11 min
Views47K
UPD 2020-07-03: Прошло несколько лет, ситуация сильно изменилась, и в первую очередь я бы сейчас смотрел на wireguard + yubikey. Но все это по-прежнему работает.


В статье рассматривается настройка OpenVPN c дополнительными фичами:

  • сертификаты на токенах для первичной аутентификации (на примере Rutoken)
  • LDAP-бекенд для вторичной аутентификации (на примере ActiveDirectory)
  • фильтрация внутренних ресурсов, доступных для пользователяx (через iptables)

Так же описана настройка клиентов под Linux, Windows и MacOS.
Читать дальше →

Собираем комплекс для качественного офлайн-перевода текстов, работающий на самом обычном игровом компьютере

Level of difficultyEasy
Reading time11 min
Views6K

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

Читать далее

Как я пять раз переделывал умный дом — и выкинул половину ненужного

Level of difficultyEasy
Reading time13 min
Views56K

Я начал проектировать умный дом еще до ремонта. Сразу проложил витую пару, разбил нагрузки по группам, подобрал оборудование, поставил контроллер. Все проектировал сам, под себя. А потом понял: умный дом не строится один раз. Он изменяется вместе с тем, как ты живешь. И за три года я переделал его пять раз (ну, потому что могу).

В этой статье я расскажу, как все устроено у меня сейчас — и почему многое из задуманного я в итоге выкинул. Что работает стабильно, а что мешает. Какие сценарии прижились, а какие пришлось отключить. Почему я установил Sprut.Hub, но все равно держу Home Assistant. И зачем в квартире больше кабелей, чем светильников.

Эта статья не про то, «как надо» или «как не надо». Она про то, как получилось у меня — и почему я этим доволен. 

Читать далее

Фишки Cursor — как сделать работу с ним дешевле и эффективнее?

Level of difficultyEasy
Reading time3 min
Views18K

Многие используют Cursor, не зная, на что он на самом деле способен. Будем идти от простого к сложному.

1. Самое простое, что позволит улучшить работы с Cursor — это использовать Cursor Rules

Что это даёт?

- Cursor лучше кодит, делает это по вашим правилам.
- Можно настраивать разные правила для разных файлов/директорий.
По сути это дополнение к системному промпту, где вы делаете тонкую настройку один раз.

Документация здесь.
А тут отличные заготовки для правил

2. Включайте сразу несколько ИИ-агентов

В Cursor можно открыть 3 вкладки, где параллельно будут работать 3 ИИ-агента (это максимум). Единственное что - контролируйте, чтобы они они не использовали дни и те же файлы — могут перезаписать или удалить результаты работы другого агента, так что им нужно давать изолированные задачи.

Дополнительно можно ещё использовать фонового агента, который работает на серверах Cursor, и будет выполнять задание на основании вашего кода в репозитории. А потом все его результаты можно отправить в репозиторий или локально, однако он работает за дополнительную плату (Price-based)

Можно даже открыть второй Cursor, и запустить работу ещё там (особенно если работа ведётся с кардинально разными репозиториями), но это не очень удобно с точки зрения переключения между ними.

3. Кладите связанные репозитории в 1 папку и открывайте её в Cursor

Допустим, у вас есть бэкенд, фронтенд и ещё микросервис для управления подписками. Если вы поместите их в 1 папку и откроете её в Cursor, то он сможет ходить между ними и делать согласованный код. Допустим, он может сразу сделать контроллеры на бэкенде и api для них на фронтенде.

Читать далее

Наводим порядок в загрузке данных Angular с помощью резолверов

Level of difficultyEasy
Reading time4 min
Views888

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

Часто в компонентах можно встретить такой код:

Читать далее

Запускаем настоящую DeepSeek R1 671B на игровом ПК и смотрим вменяемая ли она на огромном контексте (160к)

Reading time21 min
Views47K

Релиз DeepSeek R2 официально отложен и пока R1 не потерял актуальность, попробуем запустить модель на домашнем ПК. Оригинальная DeepSeek R1 имеет размер 700гб, так как она обучалась в fp8, но если бы она обучалась в стандартных f16, её вес был бы 1400гб, а мы попробуем версию в 10 раз меньше. Запустим самый маленький 1.66-битный IQ1_S_R4 квант полноценной модели размером 130гб на игровом ПК, отдельно с 4090 и 4060ti. Загрузим туда очень-очень много контекста и проверим, такой квант всё ещё способен давать разумные ответы или нет.

Читать далее

Как превратить старый ноутбук в домашний сервер для хранения данных и удаленной работы

Level of difficultyMedium
Reading time10 min
Views33K

Делюсь личным опытом превращения старенького ноутбука ASUS X552CL (Intel i5-5200U, 12 ГБ RAM, SSD + HDD), выпущенный 12 лет назад, в полноценный домашний сервер под Linux Ubuntu Server 24.04.5 LTS.

Получилось что-то вроде мини-датацентра на дому — он хранит файлы на жёстком диске с бэкапом в облаке, Docker-контейнеры крутит для дата-аналитики и даже имеет легковесный интерфейс XFCE, при этом есть потенциал к росту до терминала для управления умным домом. Расскажу, почему было решено отказаться от WSL на рабочем ноутбуке Huawei, как настроить удалённый доступ через xRDP (чтобы не было чёрного экрана), запустить там Docker, сборку Superset и JupyterLab с Anaconda (с разными версиями Python), прикрутить Samba-шару для домашнего использования и организовать бэкап в облачном хранилище. В этой статье будет немного технических деталей, щепотка шуток и парочка мемов с советскими плакатами.

Читать далее

Сначала лягте, потом читайте: как перестать уставать на работе

Level of difficultyEasy
Reading time13 min
Views62K

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

Меня зовут Валерия Зелёная, я старший менеджер по развитию образовательных программ в YADRO и автор Telegram-канала о ментальном здоровье канала «Рефлексант». Объясню, откуда берется усталость, как мозг реагирует на постоянную нагрузку, зачем нам нужны осознанные перерывы, что отличает качественный отдых от его имитации и как на самом деле работает тайм-менеджмент.

Читать далее

Провоцируем http-ошибки в Постмане

Level of difficultyEasy
Reading time12 min
Views5.3K

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

Да, у нас есть стандартные коды 400, 404, 500 и прочие популярные ошибки, но есть и куча других. Не знаю как вы, а мне периодически приходится выяснять, что значит та или иная http-ошибка и как их воспроизводить. А когда приходят задачи из категории «проверить логирование ошибок запроса ....», то иду гуглить, как их провоцировать.

Пусть эта статья закроет часть вопросов. Коллеги, добавляйте от себя советы в комментарии, чемподробнее — тем лучше.

Читать далее

Как сделать Modulith в Symfony

Level of difficultyMedium
Reading time6 min
Views2.5K

Modulith — архитектурный стиль, при котором приложение остаётся монолитом, но код внутри разбит на модули (подпапки) по доменам.

Классическая структура проектов выглядит так:

├── src
├── Command
├── Controller
│ ├── Product
│ └── User
├── Doctrine
├── Entity
│ ├── Product.php
│ └── User.php
├── Message
├── MessageHandler
└── Kernel.php


Структура modulith в Symfony выглядела б так:
├── src
├── Product
│ ├── Command
│ ├── Controller
│ ├── Doctrine
│ ├── Entity
│ ├── Message
│ └── MessageHandler
├── User
│ ├── Controller
│ └── Entity
└── Kernel.php

Разница в том, что в modulith каждый модуль (например Product, User) содержит все компоненты в своей папке, а не по всему проекту.

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

Вдобавок исчезают портянки файлов, когда открываете Entity, а там 30 файлов в столбик

Часто самая большая сложность возникает у людей при конфигурации модулей. Ничто нам не мешает запихать всю конфигурацию в один общий файл, например config/services.yaml, но из-за этого файл быстро станет раздуваться, что снизит его поддерживаемость и в нем будет единая точка связности модулей.

Поэтому конфигурацию модулей лучше выносить в сами модули

Читать далее

Беспроводные системы и технологии умного дома в 2025 году

Level of difficultyEasy
Reading time11 min
Views9K

Разбираемся, как беспроводные технологии помогают сделать дом умным. Рассмотрим основные протоколы, когда и где следует применять — Zigbee, Z-Wave, BLE, Wi-Fi и Matter. Для тех, кто хочет понять, как устроен современный умный дом и определиться с подходящей технологией.

Читать далее

GPT-4.1: Новый уровень промптинга. Гайд от OpenAI для максимальной отдачи

Level of difficultyEasy
Reading time15 min
Views28K

Авторы оригинального гайда: Noah MacCallum (OpenAI), Julian Lee (OpenAI). Дата публикации гайда: 14 апреля 2025 г.

Источник: GPT-4.1 Prompting Guide

GPT-4.1 от OpenAI значительно превосходит GPT-4o в написании кода, следовании инструкциям и работе с длинным контекстом. Но чтобы раскрыть весь потенциал, придется адаптировать свои подходы к составлению промптов. Этот материал — выжимка ключевых советов из официального гайда OpenAI, основанных на их внутреннем тестировании. Он поможет вам перейти на новый уровень взаимодействия с ИИ.

Старые добрые практики, такие как предоставление примеров в контексте, максимальная ясность инструкций и поощрение планирования через промпт, все еще актуальны. Однако GPT-4.1 обучен следовать инструкциям более точно и буквально, чем его предшественники, которые чаще домысливали намерения пользователя. Это означает, что GPT-4.1 чрезвычайно управляем и отзывчив на четко сформулированные промпты. Если поведение модели отличается от ожидаемого, обычно достаточно одного предложения, твердо и однозначно разъясняющего желаемое поведение, чтобы направить модель на верный путь.

Читать далее

Выясняем, кто поселился в вашей сети

Level of difficultyMedium
Reading time6 min
Views23K

Привет Хабр! На связи Аеза и сегодня мы хотим поговорить на одну очень злободневную тему – выявление подозрительных активностей в трафике. Мы не будем говорить о каких-то специализированных решениях, типа IDS/IPS, а вместо этого рассмотрим основные принципы выявления подозрительных действий что называется вручную.

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

Читать далее

Как настроить автоматическое обновление SSL-сертификатов Let’s Encrypt с помощью Certbot на Ubuntu

Level of difficultyEasy
Reading time3 min
Views13K

Пошаговое руководство по автоматической генерации и обновлению SSL-сертификатов на Ubuntu с помощью Let’s Encrypt и Certbot. Примеры, cron-задачи, systemd-таймеры и кастомные bash-скрипты — всё, что нужно для бесперебойной работы HTTPS.

Читать далее

Semantic-release в GitLab: автоматизируем CHANGELOG

Reading time3 min
Views1.1K

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

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

Решение нашлось довольно элегантное – интегрировать инструмент semantic-release в наш пайплайн CI/CD. Но оказалось, что найти полноценное руководство по его настройке, особенно с учетом корпоративного GitLab и плагина semantic-release/changelog, не так-то просто. Собирал информацию буквально по крупицам из различных источников, и вот теперь делюсь с вами проверенной пошаговой инструкцией.

Читать далее

Автодополнение кода своими руками (Docker Ollama + JetBrains IDE)

Level of difficultyEasy
Reading time5 min
Views6.9K

Я: хочу автодополнение кода
Также я: у нас уже есть автодополнение кода дома
Автодополнение кода дома:

Привет, Хабр! Я Саша, разработчик из Cloud4Y. Хочу поделиться с вами своей идеей локального развёртывания нейросети для автодополнения кода. В этом примере мы будем использовать модель Qwen2.5-Coder на 14B параметров. Есть идеи, как можно сделать это ещё лучше? С радостью послушаю.

Читать далее

Все, что нужно знать о домашних 3D-принтерах: сколько стоит, как выбирать, нюансы использования, зачем нужен

Level of difficultyEasy
Reading time13 min
Views25K

Если вы подумываете о покупке своего первого 3D-принтера, но ничего о них не знаете и не понимаете, с чего начать выбор, эта статья для вас.

Привет, Хабр! Я Денис Воденеев, директор отделения автоматизированного тестирования в IBS. Увлекаюсь 3D-печатью уже 5 лет — первый принтер купил в 2019 году.

В этой статье расскажу о том, какие бывают 3D-принтеры, как их выбирать, сколько они стоят, какие нужны расходники, и о многом другом, что надо знать перед покупкой своего первого принтера.

Читать далее

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

Level of difficultyMedium
Reading time18 min
Views4.5K

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

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

Читать далее

Миграция базы данных Grafana: от внутреннего хранилища к PostgreSQL

Level of difficultyEasy
Reading time5 min
Views3.2K

Всем доброго дня! Пишу здесь впервые. На написание меня этой статьи побудило желание рассказать людям об эффективном способе миграции от внутренней базы данных Sqlite3 к внешней БД PostgreSQL. Подобной статьи на Хабре я не нашел, поэтому надеюсь будет полезно.

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

Information

Rating
Does not participate
Registered
Activity