Как стать автором
Обновить
0
0
VladIs @xTCry

Multi-programmer

Отправить сообщение

Разработка игр под Apple Vision Pro: ARKit, realityKit, Reality Composer Pro

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

Меня зовут Илья Проскуряков, я — iOS-разработчик компании Effective и в статье расскажу о разработке игр под Apple Vision Pro.

Мы с коллегами разработали две мини-игры в рамках хакатона Ludum Dare в Омске, а затем я сам немного поработал с Apple Vision Pro. Теперь хочу поделиться опытом с примерами и кодом, рассказать о плюсах и минусах Apple Vision Pro с точки зрения разработчика, и в целом, с какими сложностями столкнулся и как их решал.

Читать далее
Всего голосов 8: ↑6 и ↓2+5
Комментарии1

Настройка OpenVPN для CTF

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

Однажды была поставлена задача создать собственный стенд для проведения CTF-соревнований. Задачи были подготовлены в формате Docker-контейнеров, но для них была необходима сеть.

Возникает логичный вопрос «Зачем?». Сеть позволит выделить отдельный IP адрес каждой задаче. В принципе, конечно, можно обойтись и без сети, однако такой подход имеет несколько минусов, а именно:

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

Домашний сервер на базе Proxmox

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

Привет! Меня зовут Александр Щербаков. Я DevOps команд страхования в Банки.ру. На своём карьерном пути я успел поработать эникейщиком, системным администратором и, наконец, DevOps‑инженером с несколькими командами разработки. Как и любой инженер, я стремлюсь постоянно совершенствоваться: получать новые знания, изучать как устоявшиеся, так и только появившиеся технологии.

И здесь сразу появляется главная проблема — для развития DevOps нужна среда, где можно запускать ПО для исследования. Разработчикам проще: открыл документацию, скачал IDE, начал пробовать и изучать новую технологию. А вот DevOps‑инженеру одной только IDE будет мало, так как часть его работы как минимум завязана на Linux серверах. Поэтому важно не просто знать, как использовать готовые решения, но и понимать, как они функционируют на уровне инфраструктуры.

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

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

Читать далее
Всего голосов 53: ↑51 и ↓2+57
Комментарии129

Я не контролирую разработчиков, а они приносят мне миллион в месяц

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

Я открыл кубышку жены (700 000 ₽), чтобы открыть свой первый VR-клуб. Игры покупал в Steam, а виар шлем висел на проводе.

Читать далее
Всего голосов 104: ↑82 и ↓22+82
Комментарии62

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

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

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

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

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

Читать далее
Всего голосов 22: ↑18 и ↓4+19
Комментарии66

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

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

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

Читать далее
Всего голосов 91: ↑90 и ↓1+104
Комментарии84

От Firebase к Self-Hosted

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

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

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

Читать далее
Всего голосов 8: ↑8 и ↓0+10
Комментарии4

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

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

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

Не одним CORS едины
Всего голосов 10: ↑9 и ↓1+9
Комментарии13

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

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

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

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

Читать далее
Всего голосов 8: ↑6 и ↓2+7
Комментарии13

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

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

Всем привет!

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

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

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

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

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

Читать далее
Всего голосов 13: ↑13 и ↓0+14
Комментарии11

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

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

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

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

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

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

Читать далее
Всего голосов 18: ↑16 и ↓2+16
Комментарии54

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

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

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

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

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

Читать далее
Всего голосов 81: ↑77 и ↓4+93
Комментарии47

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

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

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

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

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

Читать далее
Всего голосов 56: ↑38 и ↓18+26
Комментарии64

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

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

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

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

Читать дальше
Всего голосов 10: ↑10 и ↓0+10
Комментарии9

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

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

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 30: ↑29 и ↓1+32
Комментарии25

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

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

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


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

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

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

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


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


Читать дальше →
Всего голосов 16: ↑14 и ↓2+16
Комментарии2

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

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

Всем привет!

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

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

Предыстория

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

Читать далее
Всего голосов 21: ↑16 и ↓5+16
Комментарии12

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

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

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

Читать далее
Всего голосов 11: ↑10 и ↓1+12
Комментарии23
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Ярославская обл., Россия
Дата рождения
Зарегистрирован
Активность