Pull to refresh
14
0

Пользователь

Send message

std::array в С++ не медленнее массива в С

Level of difficultyMedium
Reading time14 min
Views11K

Или почему не нужно бояться того, что удобно работает. Узнаем, что по этому поводу пишет стандарт, потом заглянем в реализации std::array в libc++ и libstdc++, затем посмотрим на ассемблер некоторых операций с этими объектами. Завершим всё это дело, как и полагается, бенчмаркингом.

Проверить, так ли это
Total votes 39: ↑38 and ↓1+52
Comments46

Точечное улучшение скорости Youtube на роутере Keenetic

Level of difficultyMedium
Reading time5 min
Views41K

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

Читать далее
Total votes 20: ↑15 and ↓5+16
Comments19

Поиск вредоносной активности в Windows с помощью логирования командной строки и дерева процессов

Level of difficultyEasy
Reading time12 min
Views4.2K

Данная публикация - перевод статьи - HUNTING FOR MALWARE WITH COMMAND LINE LOGGING AND PROCESS TREES от Vanja Svajcer. Статья о том, как использовать протоколирование командной строки и выполняемых процессов для обнаружения неизвестных вредоносных атак.

Читать далее
Total votes 4: ↑4 and ↓0+6
Comments0

Создание пользовательского интерфейса на дисплее Guition с ESPHome и библиотекой LVGL

Level of difficultyMedium
Reading time4 min
Views5K

Недавно вышла обновленная версия ESPHome 2024.8.0, в которой появилась библиотека LVGL версии 8.4 для создания графических интерфейсов TFT-экранов. У меня был в наличии такой дисплей, и я решил воспользоваться новыми возможностями для создания интерфейса по управлению умным домом. Моя задача заключалась в том, чтобы наполнить недорогой дисплей необходимой функциональностью.

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

Кастомизация окна прогресса в оболочке Windows

Level of difficultyMedium
Reading time9 min
Views5K

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

Но есть здесь и нюанс: загрузчик — это первое, что встречают пользователи, поэтому ему нужен GUI. А поскольку написан он на C# и с целью сохранения лёгкости компилируется перед исполнением (AOT, ahead-of-time), традиционные решения исключаются. Соблазнительным вариантом выглядит Avalonia, но в этом случае сам установщик станет больше той программы, которую он должен устанавливать.

Итак, что у нас остаётся? Можно углубиться в Windows API и создать собственное «окно», но это кроличья нора, сулящая кошмары при обслуживании. К счастью, в Windows есть диалоговое окно прогресса.
Читать дальше →
Total votes 31: ↑30 and ↓1+42
Comments10

Создаем свой блог на Github и Hugo

Reading time7 min
Views8.1K

Привет, хабр! Сегодня я расскажу вам, как создать свой блог на Github Pages, используя hugo!

Хотите создать свой собственный блог, но не хотите привязываться к каким-либо крупным хостинговым решениям или издательским сайтам по подписке? Решение есть!

Читать далее
Total votes 13: ↑10 and ↓3+8
Comments20

Большие и не очень технологии в маленьком доме

Level of difficultyEasy
Reading time6 min
Views3.3K

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

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments22

Как опубликовать Hugo сайт на Яндекс Облако?

Level of difficultyMedium
Reading time8 min
Views3.4K

Hugo позволяет легко и быстро получить красивый статический веб-сайт. Однако, веб-сайт бесполезен, если его никто не видит.

В этой статье, Я расскажу о том, как разместить свой собственный статический веб-сайт в российском сервисе - Яндекс Облако. И не просто разместить вручную, Я расскажу о том, как настроить автоматический CD пайплайн в GitHub, дабы каждое изменение, сделанное в проекте сайта, автоматически развёртывалось в сети Интернет.

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

Телеграм бот на C# с использованием Yandex Cloud Functions

Level of difficultyMedium
Reading time10 min
Views4.1K

Всем привет!

Данная статья содержит информация о том, как написать телеграм бота на C# с использованием Yandex Cloud Functions и Телеграм Webhook. Также в данной статье будет рассмотрено CI/CD с помощью GitHub Actions.

P.S. полезная литература находится в ссылках!

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

Безопасность REST API от А до ПИ

Reading time17 min
Views130K

Введение


Умение реализовать грамотное REST API — полезный навык в наше время, т.к. все больше сервисов предоставляют свои возможности с помощью API. Но разработка REST API не ограничивается реализацией HTTP запросов в определенном стиле и формированием ответов в соответствии со спецификацией. Задача обеспечения безопасности REST API не так очевидна, как, например, обеспечение безопасности баз данных, но ее необходимость не менее важна.
В настоящее время многие онлайн системы с помощью API передают приватные данные пользователей, такие как медицинские или финансовые. Текущая же ситуация с безопасностью в веб-приложениях весьма печальна: по данным Comnews порядка 70% содержат кри­тичес­кие уязвимости. Поэтому всем, кто участвует в проектировании, реализации и тестировании онлайн систем, важно иметь общую картину по существующим угрозам и способам обеспечения безопасности как всей системы, так и используемого REST API.

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

image
Читать дальше →
Total votes 52: ↑52 and ↓0+52
Comments22

35+ бесплатных ресурсов для начинающих разработчиков С++

Level of difficultyEasy
Reading time7 min
Views32K

Привет. Предположим, вы захотели начать изучать языĸ программирования C++ или, возможно, тех материалов, что уже изучили, вам недостаточно.

Я — Савва, программирую уже больше 7 лет, работаю менеджером команды наставников в Практикуме на курсе «Разработчик С++», а с недавнего времени — разработчиком в Positive Technologies. В этой статье мы с вместе с Практикумом собрали леĸции, ĸниги, курсы и всяĸое таĸое, чтобы шансов выстрелить себе в ногу самостоятельно было меньше :) По C++ существуют и другие подборĸи, но, ĸ удивлению, на Хабре их всего две.

Читать далее
Total votes 26: ↑25 and ↓1+27
Comments19

Домашняя виртуальная лаборатория. Готовим собственный сервер виртуализации для обучения. 2. Выбираем сервер

Level of difficultyEasy
Reading time5 min
Views15K

В предыдущем уроке мы проговорили для чего может понадобиться домашняя лаборатория и самое главное — кому она нужна. Допустим вы решили, что вам она нужна. Тут же встанет вопрос: «На чем строить эту виртуальную лабораторию?». Вопрос не такой простой, как может показаться на первый взгляд. Как минимум здесь два важных пункта, которые очень тесно связаны друг с другом:

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

Книги, которые нас выбирают

Level of difficultyEasy
Reading time6 min
Views20K

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

Я не планировал продолжать эту тему, но сейчас вижу, что кое в чем, статью надо дополнить. Это дополнение не будет повторять или расширять статью очередными мыслями и наблюдениями; все это в ней уже есть и добавить мне нечего. Просто, читая комментарии, я понял, что об одной детали я упомянул, но толком не рассказал. Из‑за чего у части комментаторов возникли сомнения в сегодняшней ценности книг, доступных мне в то время, когда я начинал карьеру программиста. Мне кажется, это не очень справедливо и хотя я, бесспорно, не объективен, но, тем не менее, решил немного об этом рассказать.

Я расскажу о тех книгах, что были мне доступны в 1987–1993 гг., т. е. тогда, когда я совмещал работу инженера с программированием. Конечно, я упомяну только те книги, что мне действительно помогли; полный список литературы слишком обширен и упоминание их всех больше походило бы библиотечный каталог, чего я делать не намерен. Условно эти книги можно отнести к одной из нижеследующих категорий. Итак — вот мой «золотой фонд».

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

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

Reading time28 min
Views3.3K

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

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

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

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

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

Книга «Основы компиляции: инкрементный подход»

Reading time14 min
Views5.7K
image Привет, Хаброжители!

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

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

Джереми Сик объясняет важнейшие концепции, алгоритмы и структуры данных, лежащие в основе современных компиляторов, и закладывает основу для изучения более сложных тем. Это краткое, но доступное руководство уже давно используют студенты и профессионалы.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments6

Microsoft отозвала сертификаты драйверов устройств — последствия для пользователей

Level of difficultyEasy
Reading time5 min
Views39K

Если после установки накопительных обновлений безопасности Windows 10 (разных, актуальных версий) вышедших в июле 2023 года и позже вы столкнулись с проблемой в работе (сетевых) устройств - предлагаю ознакомится с данной статьёй. Здесь изложена причина появления ошибки с кодом 39, ссылающейся на невозможность использования драйвера устройства в связи с отсутствующей (отозванной) цифровой подписью.

Читать далее
Total votes 34: ↑28 and ↓6+33
Comments62

Сказ о том, как я за год решил более 600 leetcode задач

Level of difficultyEasy
Reading time7 min
Views98K

Всем салют!

Хочу рассказать вам историю о том, как я начинал с уровня — «не могу решить даже 1 easy задачу из 10» до уровня — «могу решить каждую вторую medium задачу» и прошел несколько coding сессий в таких компаниях как Meta, Booking, Careem, Avito...

Читать далее
Total votes 121: ↑112 and ↓9+129
Comments407

Графические оболочки FFmpeg

Level of difficultyEasy
Reading time6 min
Views33K


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

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

FFmpeg — изначально консольная утилита. Но её популярность крайне высока. Поэтому появляются всё новые варианты графических оболочек для FFmpeg, чтобы доступ к инструменту получили абсолютно все пользователи.
Читать дальше →
Total votes 107: ↑107 and ↓0+107
Comments76

Как устроены сети: полезные материалы от сотрудников Selectel

Reading time4 min
Views22K

Фрагмент из курса «Сети для самых маленьких».

Чтобы стать сетевиком, новичку нужно изучить много теории, разобраться в особенностях профессионального оборудования и других аспектах. Мы в Selectel попросили коллег порекомендовать полезные ресурсы по сетевым технологиям, которые пригодятся на старте. Сохраняйте подборку в закладки и делитесь своими вариантами в комментариях.
Читать дальше →
Total votes 29: ↑27 and ↓2+34
Comments8

Законопослушный гражданин. Инструкция по отказу от VPN

Level of difficultyEasy
Reading time2 min
Views121K

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

Читать далее
Total votes 163: ↑139 and ↓24+151
Comments238
1
23 ...

Information

Rating
Does not participate
Registered
Activity