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

C#, C++, Lua

Send message

Асинхронный python без головной боли (часть 2)

Reading time9 min
Views76K

Продолжаем вкусно готовить asyncio

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

Выпей меня

Асинхронный python без головной боли (часть 1)

Reading time14 min
Views380K

Почему так сложно понять asyncio?

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

Но будь я автором самого толстого в мире учебника по python, я бы рассказывал читателям про асинхронное программирование уже с первых страниц. Вот только написали "Hello, world!" и тут же приступили к созданию "Hello, asynchronous world!". А уже потом циклы, условия и все такое.

Съешь красную таблетку

Python + pygame — небольшие оптимизации

Level of difficultyMedium
Reading time4 min
Views6.1K

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

Читать

Как собраться с друзьями и сделать игру в Unreal Engine на одной сцене

Reading time4 min
Views11K

Раньше, когда я ещё учился, мы любили собираться с друзьями и пробовать создать игры на выходных или в течение месяца. Каждый из нас был занят чем-то одним: кто-то создавал сцены, кто-то делал модели, а я программировал логику. И с тех времён была главная сложность: как работать с одной сценой нескольким людям одновременно? Ответ — почти никак. Но есть одна хитрость, называемая саблевел.

Читать далее

Трюк из линейной алгебры для быстрого нахождения чисел Фибоначчи

Level of difficultyHard
Reading time7 min
Views20K

Я участвовал в онлайн-группе чтения книги Thirty-three Miniatures: Mathematical and Algorithmic Applications of Linear Algebra математика Иржи Матушека. Это самая нетрадиционная книга о математике, с которой мне приходилось сталкиваться. Первые две главы посвящены способам быстрого нахождения чисел Фибоначчи. Традиционный, или итеративный метод нахождения чисел Фибоначчи (основанный на хранении промежуточных значений в памяти), который мы изучали на курсах программирования, линеен по времени. Но в книге представлена методика их вычисления приблизительно с логарифмической временной сложностью. Возможно, кто-то из вас знает эту методику, но для меня она была новой, и я решил, что ею стоит поделиться.
Читать дальше →

Обзор поддельного блока питания с закосом под Apple

Level of difficultyEasy
Reading time10 min
Views31K


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

Обзор блока питания, который, можно сказать, лидер по продажам на Озоне, c немалыми 21503 отзывами и рейтингом 5 звёзд. Что может пойти не так?

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

Интернет провайдер и его Клиент у которого сеть упала

Level of difficultyEasy
Reading time9 min
Views12K

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

Читать далее

Обход блокировок на OpenWRT с помощью v2rayA (xray-core) и баз GeoIP, Geosite Re:filter, Antifilter

Level of difficultyEasy
Reading time7 min
Views140K

В данном гайде будем устанавливать пакет v2rayA на OpenWRT на примере стабильной 23.05.0. Рекомендуется роутер минимум с 128 МБ RAM (256 предпочтительно) и памятью более 16 Мб (установка занимает около 30МБ памяти)

v2rayA — это простой в использовании и мощный клиент ориентированный на Linux. Несмотря на название актуальная версия использует xray-core, хотя есть возможность использовать и v2ray-core. Имеет веб-интерфейс для управления настройками и импорта конфигураций, подписок. Поддерживает всё, что поддерживает xray-core:

Shadowsocks (в т.ч. 2022), ShadowsocksR, Trojan, Vless (включая XTLS-Reality), Vmess, Juicity, Tuic

Руководство будет включать:

1. Установку из репозитория

2. Настройку v2rayA и обход блокировок с помощью Re:filter, Antifilter GeoIP, Geosite

Читать далее

Как в git заменить master на другую ветку без использования push --force (перенос стейта одной ветки на другую)

Level of difficultyHard
Reading time4 min
Views14K

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

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

Читать далее

Знакомство с IPv6 на практике

Level of difficultyEasy
Reading time20 min
Views58K

В 2023 году люди боятся многих новых для них вещей, например, systemd, SELinux, IPv6 и др. От этих вещей люди стараются избавиться, отключить, удалить. Об этом написано во множестве любительских мануалов в интернете, коим может являться и этот. Далее речь пойдёт о протоколе интернета IP версии 6, для краткости — IPv6.

Целью данной заметки показать, что IPv6 не намного страшней того IPv4, который вы сейчас используете. Он способен решить все те же ваши задачи, что вы решали с помощью старого протокола, а также упростить себе жизнь за счёт более простой настройки сети. Кроме того, возможно, даже сейчас используете новый протокол даже не подозревая об этом.

Текст я попытался написать максимально доступным языком. Это не технические руководство. Воспринимайте эту заметку как отправную точку, просто чтобы перестать бояться использовать IPv6 и познакомиться с его основными особенностями, которые отличают его от IPv4, но при этом дают заметные преимущества.

Читать далее

Чем на самом деле занимаются Космические силы США?

Level of difficultyEasy
Reading time18 min
Views14K

Внутри сверхсекретного военного ведомства, ответственного за защиту американских интересов в новой уязвимой области.

 08.11.2023, Джон Гертнер, The New York Times

Читать далее

Береги файлы смолоду. Что может произойти, если выкинуть в помойку неисправный жесткий диск

Level of difficultyEasy
Reading time8 min
Views65K


Время от времени мне приходится чинить старую компьютерную технику. Винчестеры формата IDE сейчас уже не выпускают, а оптические диски выступают в роли расходного материала — далеко не все возрастные ноутбуки и персоналки умеют грузиться с USB, а покупать чистые болванки пачками или поштучно — довольно разорительное занятие. Поэтому месторождением запчастей и расходников для меня служит самая популярная в Рунете доска объявлений и блошиный рынок: там можно приобрести за копейки побывавшие в употреблении перезаписываемые CD/DVD-RW, а заодно старые жесткие диски, которые еще способны послужить новым владельцам. Но речь сейчас не о том, как сэкономить на комплектующих, а о том, что порой можно обнаружить на «бэушных» носителях информации…
Читать дальше →

10 тяжёлых истин о работе программиста, про которые никто не предупреждает

Level of difficultyEasy
Reading time10 min
Views69K

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

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

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

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

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

Читать далее

Почему вам стоит отказаться от использования timestamp в PostgreSQL

Reading time10 min
Views76K

Не секрет, что работа с часовыми поясами — боль, и многие разработчики объяснимо стараются ее избегать. Тем более что в каждом языке программирования / СУБД работа с часовыми поясами реализована по-разному.

Среди тех, кто работает с PostgreSQL, есть очень распространенное заблуждение про типы данных timestamp (который также именуется timestamp without time zone) и timestamptz (или timestamp with time zone). Вкратце его можно сформулировать так:

Мне не нужен тип timestamp with time zone, т.к. у меня все находится в одном часовом поясе — и сервер, и клиенты.

В статье я постараюсь объяснить, почему даже в таком довольно простом сценарии можно запросто напороться на проблемы. А в более сложных (которые на самом деле чаще встречаются на практике, чем может показаться) баги при использовании timestamp практически гарантированы.

Читать далее

Безопасно стираем файлы с цифровых носителей

Level of difficultyMedium
Reading time5 min
Views17K

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

Читать далее

Mysterious Werewolf атакуют российскую электронную промышленность через уязвимость в WinRAR

Level of difficultyMedium
Reading time4 min
Views6.6K

Недавно наши коллеги из компании Cyble опубликовали в своем блоге исследование группировки, от которой пострадали несколько российских поставщиков полупроводников. Наше управление киберразведки также следит за этим кластером активности, получившим имя Mysterious Werewolf. Мы обнаружили еще одну их атаку, на этот раз под удар попали промышленные организации в России.

Читать

Разработка task manager при помощи библиотек Flask и psycopg2

Level of difficultyMedium
Reading time18 min
Views8.3K

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

На связи участник профессионального сообщества NTA Владислав Рулев.

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

Я же решил взять всё в свои руки и разработать task‑manager самостоятельно. Что у меня получилось — под катом.

Что же у меня получилось

Использование расширения VS Code «PVS-Studio» для эффективной борьбы с ошибками в C# коде

Level of difficultyEasy
Reading time4 min
Views3.1K

VS Code — это знакомый многим редактор кода, главная особенность которого — возможность дополнить свой функционал с помощью множества полезных расширений. Одно из них теперь помогает эффективнее находить ошибки не только в C, С++, но и в C# коде.

Читать далее

Что под капотом у цифрового фото и видео: субдискретизация

Level of difficultyMedium
Reading time7 min
Views8K

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

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

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

Что же там?

Что такое деление по модулю в JavaScript?

Level of difficultyEasy
Reading time11 min
Views10K

Всем привет, меня зовут Максим Иванов, я Frontend-разработчик, и когда-то мы с другом писали переводы на Хабрахабр. Было интересно, но в какой-то момент я прекратил эту деятельность. Спустя 5 лет я решил снова попробовать писать про мою любимую профессию. Сегодня поговорим о математическом операторе в JavaScript, который представляет из себя символ процента.

Целевая аудитория
Эта статья написана для разработчиков уровня Intern / Junior. Предполагается, что у вас есть уже некоторое знание JavaScript для понимания происходящего, но основные выводы будут полезны всем! ?

Читать далее

Information

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