Search
Write a publication
Pull to refresh
0
Василь Бєляєв @VXPread⁠-⁠only

C#, C++, Lua

Send message

Никогда не доделываю игры до конца

Level of difficultyMedium
Reading time5 min
Views14K

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

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

Читать далее

Unity: сквозь тернии к importing assets

Level of difficultyEasy
Reading time16 min
Views3.9K

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

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

Читать далее

Создаём виртуальную сеть, как это делает Docker

Level of difficultyEasy
Reading time8 min
Views28K

Как известно, Docker умеет создавать виртуальные сети для безопасного и удобного сетевого взаимодействия внутри контейнеров. В этой статье мы рассмотрим, как именно он это делает на примере базовых манипуляций с сетью в рамках одного хоста с операционной системой Linux.

Читать далее

Range Extender на NRF24L01+PA+LNA: обмен текстовыми сообщениями между устройствами там, где нет сотовой связи

Level of difficultyEasy
Reading time11 min
Views12K
Картинка Pressfoto, Freepik

Эта идея появилась у меня достаточно давно, и наконец-то дошли руки её частично реализовать. А именно: хотелось попробовать сделать средство общения с помощью известного радиопередатчика NRF24L01+PA+LNA.

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

Читать дальше →

Как я апнул «чумадан»

Level of difficultyMedium
Reading time11 min
Views17K
Картинка Stockking, Tawatchai07, Freepik

Самодельщиков частенько обвиняют в том, что их самоделки представляет собой, по сути, «троллейбус из буханки хлеба», как в известном меме:-) То есть, можно было бы этого и не делать, но «как раз было время и зачем-то я это сделал».

Но есть некоторые из самоделок, которые в корне отличаются от этого всего, и каждый раз, когда их вспоминаешь, говоришь себе «как же хорошо, что когда-то я уделил этому своё время!», так как подобного рода самоделки отличаются крайней полезностью и являются весьма применимыми в жизни. Они могут быть по своей сути и не особо сложными, но польза от их наличия весьма велика. И в этой статье будет рассказ как раз об одной из таких.
Читать дальше →

Как создать YouTube GIF Maker с использованием Next.js, Node и RabbitMQ

Reading time28 min
Views3.5K

В этом руководстве мы рассмотрим разработку веб-приложения по созданию GIF-файлов из видеороликов.

Функциональные возможности приложения:
- Создание GIF из видео на YouTube с определённым временным диапазоном.
- Предварительный просмотр результата перед выполнением фактической конвертации.

Компоненты системы:
- Клиентская часть на React (Next.js)
- Бэкенд-сервер на Node
- Node как Service Worker
- В качестве брокера сообщений — RabbitMQ
- Для хранения данных — MongoDB
- Для хранения медиафайлов — Google Cloud Storage

Полный код проекта можно найти на github, а по этой ссылке посмотреть демо-версию приложения.

Читать далее

Как я искал ПДн в 300 базах данных [и сохранил рассудок]

Reading time9 min
Views9.4K
image

Пришли как-то ко мне парни из службы безопасности и говорят: «Надо обойти все БД и собрать с них персональные данные». Потому что в России изменилось законодательство и теперь их нужно хранить в особо защищённых хранилищах.

Если этого не сделать, то рано или поздно данные могут утечь и ещё можно нарваться на высокие штрафы при утечке. Задача безопасников (и основная выгода от их наличия в компании) — минимизация таких рисков.

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

Скорее всего, вам скоро предстоит такое же, поэтому сейчас покажу артефакты, которые я нашёл в процессе.
Читать дальше →

Как заставить работать пейджер

Level of difficultyMedium
Reading time24 min
Views15K
Приветствую всех!

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

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



Итак, в сегодняшней статье поговорим о пейджерах и передаче сообщений на них. Разберёмся, как это вообще делается и какие сложности могут встретиться на нашем пути. Традиционно будет много интересного.
Читать дальше →

Первый массовый советский домофон

Level of difficultyMedium
Reading time9 min
Views21K
Приветствую всех!

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



Итак, в сегодняшней статье поговорим про ЗПУ «Визит», первый среди привычных нам домофонов, массово производившийся в СССР. Узнаем, как устроен и как работает данный девайс, разберёмся, что общего у него с ныне использующимися экземплярами. Традиционно будет много интересного.
Читать дальше →

Запускаем матричный принтер от старого банковского терминала

Level of difficultyMedium
Reading time10 min
Views6.5K
Приветствую всех!

Не так давно я уже рассказывал про то, какими были принтеры начала эпохи термопечати. И в той статье я упомянул, что подобные устройства использовались совместно с платёжными терминалами VeriFone.

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



Итак, в сегодняшней статье поговорим о том, как устроен и работает такой принтер. Разберёмся, как подключить его к обычному компьютеру. Традиционно будет много интересного.
Читать дальше →

«Сейчас стринги в репу закинем, и перейду к танцам с нумой»: какие слова айтишников понимают двояко

Level of difficultyEasy
Reading time4 min
Views7.7K

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

Мы собрались, провели мини-расследование и нашли нескольких оборотней, притворяющихся обычными словами. Будьте внимательны: бранч — не прием пищи, а репа — не только корнеплод.
Читать дальше →

Оживляем автоинформатор из подмосковного автобуса

Level of difficultyEasy
Reading time9 min
Views13K
Приветствую всех!
Так уж вышло, что при наличии у меня немалого количества артефактов из мира транспорта, у меня до сих пор не было той штуки, с которой у многих ассоциируется этот самый транспорт, — той самой коробочки, благодаря которой мы слышим легендарное «Осторожно, двери закрываются». Ну что же, самое время восполнить это упущение.



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

Мониторим работу Windows с помощью Powershell

Level of difficultyEasy
Reading time6 min
Views10K

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

В операционных системах семейства Windows для автоматизации выполнения задач мониторинга лучше всего использовать Powershell. И далее в этой статье мы рассмотрим несколько полезных скриптов, которые могут упростить мониторинг состояния различных компонентов ОС.

Начнем с мониторинга состояния сетевых портов и взаимодействующих с ними процессов.

Читать далее

Почему вам не нужна Kali Linux

Level of difficultyEasy
Reading time9 min
Views37K

Многие хотят поработать с Kali linux. По-прежнему в интернете множество запросов посвящено ей . Она всегда на слуху, когда говорят о взломах и хакерах, а также о совершенных мастерах IT( тех самых, что и микропроцессор запрогают и сеть настроят, и чайник со стиралкой отремонтируют).
Но, насколько оправдано восхищение ей? Так ли она безупречна и необходима? Нужна ли она конкретно вам? В этих вопросах мы и попробуем разобраться.

Читать далее

Еще один кейс на PHP. Скачиваем базу данных из открытого API

Level of difficultyEasy
Reading time9 min
Views4.8K

Решать задачу будем на примере каталога исторических экспонатов Музейного фонда РФ. API каталога является общедоступным сервисом. Сначала нам нужно будет сформировать ссылку на скачивание архива ZIP с информацией. Сделать это нужно аккуратно, так, чтобы изменения в названиях файлов, которые могут время от времени случаться, не повлияли на работоспособность нашего скрипта.

Затем, мы создадим шакалу загрузки, или прогресс‑бар, как ее еще называют, чтобы отслеживать процесс скачивания. Экспонатов много, каталог большой: «весит» он более 5 Гб. Без индикации загрузки пользователь может недоумевать, почему ничего не происходит и консоль просто висит долгое время. Наконец, скачаем файл из API, который потом можем разобрать по таблицам своей базы в том виде, в котором понадобится.

Читать далее

Создание основной механики игры Angry Birds на Unity

Level of difficultyEasy
Reading time4 min
Views4.1K

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

Читать далее

Не пора ли валить с gnu libc на что‑то другое?

Level of difficultyMedium
Reading time3 min
Views21K

Пользуюсь открытым ПО значительное время. Сижу на Линуксе.

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

Последний эпизод коснулся совсем уж системного кода - стандартной библиотеки libc от GNU. Системнее может быть только ядро.

История такая. Собрал Хромиум (не быстро). Когда наконец сборка завершилась с попутным решением проблем, думал: ну вот наконец щас запущу, посмотрю как работают интересующие меня вещи. И тут произошёл облом. Хром падал почти в самом начале запуска с ошибкой доступа к памяти. Довольно быстро удалось выяснить, что падение происходит из-за ошибки обращения по нулевому указателю. И происходит оно в динамическом загрузчике, то бишь в libdl, при загрузке библиотеки через dlopen. libdl.so является одной из компонент пакета стандартной библиотеки и понятно, самой системной библиотекой в ОС. Подробности всей ситуации я описал в вопросе на stackoverflow.

Вкратце: при загрузке библиотеки libXcursor.so подтягиваются непонятно откуда взявшиеся зависимости, не имеющие никакого отношения к упомянутой библиотеке. И зависимости эти не инициализированы корректно. Откуда и происходит обращение по нулевому указателю. Впоследствии выяснилось, что проблема начинается с несовпадающих версий библиотек libQt5Core, в результате чего libdl делает полный отбой с попыткой отката всех изменений.

Но, видимо, этот откат реализован из рук вон плохо, поскольку после него начинают происходить весьма странные вещи. И загрузка неинициализированной зависимости с нулевыми указателями лишь одна из них. Я ещё сделал пробник в виде простого приложения, которое пытается воспроизвести ситуацию. И в этом пробнике также происходил сбой, но уже при инициализации (вызов init или конструктор в их терминологии) либы libpthread.so (тоже очень системная) - потерян адрес глобального на процесс хранилища либ.

Читать далее

Книга «Python с нуля»

Reading time19 min
Views15K
image Привет, Хаброжители!

Эта книга даст вам основные знания и инструменты, которые помогут стать опытным разработчиком на Python.

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

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

По мере приобретения навыков работы с Python вы познакомитесь с более продвинутыми темами, включая объектно-ориентированное программирование, обработку исключений и регулярные выражения. Узнаете, как работать с библиотеками и API, что позволит еще больше расширить функциональность Python.
Читать дальше →

Сиэтл – отличный город для вампиров

Reading time7 min
Views8.4K

И вот мы подходим ко второму бастиону технологической крепости Америки – Сиэтлу ?. Это дом для Microsoft, Amazon, Boeing, Valve, Expedia и множества других больших и малых технологических компаний. Сюда переезжают многие IT специалисты, особенно если они выбрали в качестве места работы одну из этих корпораций. Как технологический центр с ним может соперничать только Сан-Франциско. Тут я, вынужденно, прожил очень долго.

Итак, стоит ли сюда переезжать?

Читать далее

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity