Pull to refresh
0
0
VladIs @xTCry

Multi-programmer

Send message

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

Level of difficultyEasy
Reading time6 min
Views13K

Многие покупают загородные участки, чтобы построить на них свой дом и не жить в «человейниках». Обычно этот процесс растягивается на несколько лет. Что делать, если хочется наслаждаться природой прямо сейчас?

В качестве временного решения можно построить баню, в которой можно жить. А когда будет построен основной дом, баня превратится в... просто баню с комнатой отдыха.

В статье мы расскажем о подобном временном жилье под Вологдой. Конечно, баня специалиста по автоматизации должна быть умной, как и строящийся дом. Интересно? Ныряйте под кат.

Читать далее
Total votes 22: ↑18 and ↓4+19
Comments66

Аппаратный DIY аудиомикшер

Level of difficultyEasy
Reading time7 min
Views10K

Меня это задолбало - управлять громкостью, если источников звука больше одного, особенно больно, когда это надо сделать быстро, за пару секунд. Если играете в динамичные игры с дискордом, да ещё и музыку фоном включаете, думаю вы прекрасно знаете эти неудобства. И вот, в один прекрасный день я наткнулся на deej...

Читать далее
Total votes 92: ↑91 and ↓1+105
Comments84

От Firebase к Self-Hosted

Level of difficultyMedium
Reading time9 min
Views4.9K

Приложению cara.app пришёл счет от Vercel на 96280$. Многие стартапы начинают с Vercel и Firebase, затем из нежелания платить гуглу уходят на свои сервера

Поговорим с нюансами про стэк технологий и оценим усилия на миграцию на свои сервера. Разберём на примере Go с k8s и инфраструктурой мониторинга, но без Firebase (Github)

Читать далее
Total votes 8: ↑8 and ↓0+10
Comments4

cors-anywhere на чистом конфиге nginx

Reading time5 min
Views25K

Если вы сталкивались с CORS, то знаете всю ту боль, которую испытывает разработчик, когда нужно сходить к API на другом домене. Если конфигурация сервера не доступна для настройки, то использовали какое-нибудь решение на основе не менее популярного решения cors-anywhere.

Не одним CORS едины
Total votes 10: ↑9 and ↓1+9
Comments13

На чем разработать свой стартап или с чего начать хакатон в 2024? (часть 1)

Level of difficultyMedium
Reading time5 min
Views5.5K

Попробуем собрать свой идеальный boilerplate для full-stack разработки в 2024 году. В этой статье мы будем постепенно собирать свой шаблон для быстрого запуска стартапов.

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

Читать далее
Total votes 8: ↑6 and ↓2+7
Comments13

Deep Live Cam — нейросеть для дипфейков в реальном времени

Level of difficultyEasy
Reading time2 min
Views30K

Всем привет!

В этой статье познакомимся с Deep-Live-Cam - это инструмент для замены лиц в реальном времени и создания видеодипфейков с использованием всего одного изображения.

Софт включает встроенную проверку на недопустимые материалы и поддерживает GPU ускорение для улучшенной производительности.

Также расскажу, как не париться с установкой и запустить Deep Live Cam в один клик.

Всё, что нам понадобится, чтобы завести Deep Live Cam - это веб-камера и видеокарта Nvidia или AMD с более чем 6-ью Гб видеопамяти.

P. S. Если вы используете смартфон как веб-камеру то, к сожалению, программа просто не будет распознавать устройство. Возможно, в будущем это пофиксят, было бы очень удобно!

Читать далее
Total votes 13: ↑13 and ↓0+14
Comments12

То ли дом, то ли лаборатория: как устроен умный дом профессионала

Level of difficultyEasy
Reading time18 min
Views19K

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

Но можно ли доверять интегратору? Может быть, они навязывают выгодное для себя, но не лучшее для клиента решение?

Мы задались таким вопросом и решили проинспектировать умный дом интегратора BARY, вернее, даже два. Нам было интересно посмотреть, какие дома интеграторы делают «для себя».

Интересно? Ныряйте под кат

Читать далее
Total votes 18: ↑16 and ↓2+16
Comments54

Блокировка Docker Hub для России. Без паники разбираемся как работать дальше

Level of difficultyMedium
Reading time9 min
Views74K

Главной новостью этой недели стала блокировка пользователей из России ресурсом Docker Hub. Она осуществляется по Geo IP.

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

В статье три проверенных мною способа, как получить доступ к ресурсу.

Читать далее
Total votes 81: ↑77 and ↓4+93
Comments47

Вечный покой .env: как эффективнее удалять закомиченный файл .env из Git-репозитория

Level of difficultyEasy
Reading time3 min
Views23K

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

Я работаю на VS Code, и я, to be honest, так и не понял, с какой стати .gitignore "не игнорирует" .env. Причем спокойно "игнорирует" другие файлы, директории.

Всё же, нужно действовать, исходя из конкретного кейса, но если вы не хотите, чтобы какой-нибудь John Doe воспользовался данными из вашего .env, то вы перешли по верной ссылке. Вы же не отдаете ключи грабителю с фразой "Грабьте мой дом", верно?

Читать далее
Total votes 56: ↑38 and ↓18+26
Comments64

Накатить ось на 500+ серверов и настроить всё за 10 минут: наш опыт использования Foreman

Reading time6 min
Views11K

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

Я Иван Протченко, инженер из команды Cloud.ru, и сегодня я расскажу, как немного нестандартное использование Foreman помогло нам оптимизировать процесс установки и настройки операционных систем на серверное оборудование в облачной инфраструктуре. Даже отсыплю немного кода для тех, кто тоже хочет накатить ось на сотню-другую серверов и не сойти с ума. Очень пригодится всем, кто имеет дело с территориально распределенной инфраструктурой или масштабируется за счет аренды bare metal серверов.

Читать дальше
Total votes 10: ↑10 and ↓0+10
Comments9

Cloudflare положил наш сайт после того, как мы отказались выплатить 120 000 $ в течение 24 часов

Reading time9 min
Views130K
Я работаю системным оператором в довольно крупном онлайн-казино (мне представляется, что материал статьи может быть полезен читателям вне зависимости от их позиции касательно этичности казино в целом – упоминаю об этом просто для контекста). У нас около четырех миллионов активных пользователей в месяц. С Cloudflare мы охотно сотрудничаем с 2018 года по тарифу «Бизнес», который стоит 250 $ в месяц и предоставляет неплохие возможности, включая безлимитный трафик.

Нужно признать, 250 $ — невеликие деньги за те объемы трафика, которые мы прогоняли через Cloudflare. В основном мы используем Cloudflare для CDN (кэшируем весь свой статический контент) и для защиты от DDOS-атак – с этими задачами сервис хорошо справляется. Работать с ним просто, и обычно ни о чем не приходится особенно задумываться.

Я читал несколько статей на Hacker News, где рассказывалось, как в какой-то момент Cloudflare связывается с компаниями и начинает агрессивно навязывать корпоративный тариф на персональных условиях. Но я не ожидал, что всё будет настолько плохо.
Читать дальше →
Total votes 222: ↑214 and ↓8+248
Comments400

Spore – игровая песочница с безграничным потенциалом

Level of difficultyEasy
Reading time13 min
Views12K

Игровая индустрия в погоне за прибылью основной упор делает на проекты, созданные в хорошо продающемся жанре, очень часто оставляя другие, особенно экспериментальные, за бортом. Но надо признать, что в этом правиле бывали и исключения, когда даже жадные капиталисты вроде Electronic Arts спонсировали создание такого самородка, как Spore. Правда при этом ЕА сама же его и угробила, но об этом чуть позже. А пока мне хотелось бы начать свой рассказ про это уникальное творение, созданное по инициативе одного из столпов игровой индустрии – Уилла Райта – и его студии Maxis.

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

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

Несмотря на выход в далёком 2008 году, Spore отлично сохранилась, даря удовольствие без каких-либо скидок на возраст и в наши дни, но несколько модификаций всё-таки могут улучшить и без того отличную игру, позволяя возвращаться к проекту в 2024 году с максимальным удовольствием. В конце статьи я расскажу об этом подробнее, а также приложу сборку для самостоятельного ознакомления.

Читать далее
Total votes 30: ↑29 and ↓1+32
Comments25

Как сделать веб-приложение для вашего собственного Bluetooth Low Energy девайса?

Reading time19 min
Views47K
Несколько недель назад я, развлечения ради, собрал простенькую роботизированную руку (а-ля манипулятор) и решил прикрутить к ней управление со смартфона через Bluetooth. Опыта в разработке нативных мобильных приложений у меня пока нет, с Apache Cordova я уже знаком, а вот задействовать Web Bluetooth API было бы интересно, приправив фишками Progressive Web Apps.

Картинка Для Привлечения Внимания
Картинка Для Привлечения Внимания, ведущая под кат


На первый взгляд может показаться, что статей по ключевым словам достаточно: есть спецификация Web Bluetooth, подробная статья в блоге Google Developers с примерами, есть подробный разбор Bluetooth Low Energy, примеры реверс-инжиниринга протоколов различных BLE устройств и даже моргания «умными» лампочками и получения данных от фитнес-браслетов прямо из браузера — что может пойти не так?
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments8

WebHID API: управление почти чем угодно из браузера

Reading time21 min
Views13K

Зачастую JavaScript ассоциируют с формочками в браузере, а C++ с железом и суровыми оптимизациями. Но что, если не противопоставлять «формочки» и «железо», а объединить?


На недавней конференции HolyJS Никита Дубко показал, как с помощью WebHIDf можно подключаться из браузера к самым разным пользовательским устройствам. Вероятно, для «железячников» многое сказанное в докладе очевидно — зато для JS-разработчиков это, наоборот, возможность узнать что-то совершенно новое. Доклад понравился участникам, и теперь мы сделали для Хабра текстовую версию. Далее повествование идёт от лица спикера.


Читать дальше →
Total votes 16: ↑14 and ↓2+16
Comments2

Как запустить WebRTC на сервере, или как я пилю вебкам

Level of difficultyMedium
Reading time13 min
Views8.2K

Всем привет!

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

ДИСКЛЕЙМЕР: это не бескорыстный акт передачи знаний с моей стороны. Я пытаюсь найти инвестиции для своего проекта и создал чат в тг, где буду постить обновления и какие-то мысли касательно его запуска. Так что если интересно, то подписывайтесь, а еще можете поделиться ссылкой с теми, у кого есть лишние бабки =)

Предыстория

Значит решил я создать сервис для одиноких мужчин, где они могут пообщаться с прекрасными дамами, aka вебкам. Соответственно встал вопрос, как организовать видеосвязь в браузере. Обычно для этого используется WebRTC, эта технология позволяет установить p2p соединение между браузерами для передачи видео, звука и прочих данных в реальном времени с минимальной задержкой. Однако была одна проблема: что делать, если приходит жалоба от пользователя, что ему показали не то (или не показали), что он хотел. Поскольку это p2p соединение напрямую между пользователями, у меня как у владельца сервиса нет возможности провалидировать жалобу. Первое, что пришло в голову это вместо WebRTC использовать MediaRecorder API для записи видео небольшими кусочками и отправки их по вебсокету через сервер, попутно сохраняя. Я набросал прототип и столкнулся с тем, что если получатель пропустил первый пакет (там где есть метаданные), то видео у него не воспроизводится. Пришлось поиском определенного набора байт в первом пакете вычленять эти самые метаданные и сохранять их отдельно для отправки первым сообщением только что подключившемуся получателю, и это даже сработало. Вторая проблема этого решения - это задержка в пару секунд, и это только в локальной сети, что приемлемо для односторонней связи, но для двусторонней уже сомнительно. И третья проблема это то что видео у получателя со временем все больше и больше отстает, и нужно регулярно проматывать видео ближе к концу. Костыльность такого решения меня не устраивала, и я решил использовать WebRTC для связи собеседников и параллельно использовать MediaRecorder для отправки записи от модели к серверу. Некоторое время оно так работало, пока я пилил другие фичи, но неэлегантность этого решения все еще не давала мне покоя, т. к. оно повышает требования к интернет соединению модели.

Читать далее
Total votes 21: ↑16 and ↓5+16
Comments12

Паразитные оттенки в фотографии: причины и способы удаления

Level of difficultyMedium
Reading time11 min
Views8.6K

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

Читать далее
Total votes 11: ↑10 and ↓1+12
Comments23

Наблюдаем за домом через Telegram

Level of difficultyEasy
Reading time6 min
Views29K

или отправляем в Телеграм фото и видео событий с IP видеорегистратора NetSurveillance - очередной Telegram-бот для домашнего видеонаблюдения

Ещё в 2021 году для пассивной охраны загородного дома, я приобрёл и установил китайский IP видеорегистратор (NVR - Network Video Recorder).

Читать далее
Total votes 14: ↑13 and ↓1+15
Comments31

Frontend внутри Bitrix. Использование и написание расширений + SPA приложение на Vue или React

Level of difficultyHard
Reading time9 min
Views5.2K

В данной статье мы рассмотрим правильный подход к Frontend разработки в Bitrix. А именно разделение на расширения которые сможем подключать в любой момент времени. + напишем SPA приложение на React.

Читать далее
Total votes 11: ↑10 and ↓1+12
Comments5

Proxmox VE 8.2… теперь с импортом ВМ из VMware

Reading time3 min
Views10K

Разработчики из Proxmox Server Solutions GmbH который год продолжают улучшать своё детище, а именно Proxmox Virtual Environment. Иногда изменения в новой версии бывают заметными, иногда - мелкими и скорее косметическими, но вот в вышедшей вчера версии 8.2 парни отовались на славу: они реализовали возможность импорта гостевых ВМ из других гипервизоров, причем даже не забыли снабдить этот функционал удобным мастером настройки процесса. Как пишут сами авторы, в настоящее время возможен импорт ВМ на базе VMware (ESXi и vCenter). Можно импортировать ВМ целиком, при этом большинство исходных конфигурационных параметров будут отображены на конфигурационную модель Proxmox VE.

Что же там ещё нового?
Total votes 13: ↑13 and ↓0+15
Comments20

Почему FilamentPHP — это хорошее решение для создания CMS

Level of difficultyEasy
Reading time3 min
Views8.1K

Привет, Хабр! Меня зовут Егор Черненок, я работаю PHP-разработчиком в AGIMA. В этой статье расскажу вам о FilamentPHP. В документации говорится, что это набор красивых Fullstack-компонентов для Laravel. От себя добавлю, что он отлично подходит для построения CMS. А теперь подробно объясню, почему это так.

Читать далее
Total votes 19: ↑14 and ↓5+9
Comments31

Information

Rating
Does not participate
Location
Ярославская обл., Россия
Date of birth
Registered
Activity