Pull to refresh
-1
0
Send message

Чиним замедление YouTube на уровне роутера

Level of difficultyMedium
Reading time6 min
Views545K

Всех категорический приветствую. Буквально первого августа, прямо в ночь, стал у меня жутко лагать YouTube. Естественно, мне это сильно не понравилось. Ну, что же, давайте разбираться, почему и как это исправить в условиях моей личной сети.

Что случилось?

Хорошо описано произошедшее здесь, на Хабре. Если совсем кратко, своими словами - во время установки SSL соединения в открытом виде домен передается к которому мы подключаемся(так называемое SNI). И если это googlevideo.com то начинают твориться "интересные вещи". Можно проверить это локально коммандами из статьи.

$ curl https://speedtest.selectel.ru/100MB -o/dev/null

Читать далее
Total votes 352: ↑350 and ↓2+405
Comments966

Состояние российского рынка NGFW на 2024 год и немного больше

Level of difficultyMedium
Reading time4 min
Views1.8K

Как можно описать состояние российского рынка NGFW на 2024? Затишье перед боем. Кто-то чинит баги, кто-то вносит изменения понемногу, но в воздухе чувствуется напряжение - все вендоры готовят крупные обновления на конец этого и начало 2025 года.

Но планы планами, давайте посмотрим, что есть на данный момент нового у российских вендоров.

Код Безопасности

Пока все ждут сертификации ФСБ для 4-й версии Континента, Код Безопасности выпустил обновление 4.1.9, самые востребованные улучшения на наш взгляд:

Читать далее
Total votes 7: ↑4 and ↓3+3
Comments5

Python. Внутреннее устройство множеств set и словарей dict. Часть 2 из 2

Level of difficultyMedium
Reading time7 min
Views4.4K

Продолжение Части 1

4. Хэш-таблицы в dict
4.1. Как компактный dict экономит место и сохраняет порядок
4.2 Алгоритм добавления элементов в компактный dict
4.3. dict с общим доступом к ключам
4.4. Практические выводы по тому как работает dict

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

Делаем новых людей за 12 строк кода: как с Python ускорить подготовку демо-стенда по HR планированию и соблюсти закон

Level of difficultyEasy
Reading time6 min
Views739

Недавно мы с командой решили проверить возможность переноса существующих решений на базе Oracle Hyperion Planning на платформу «Форсайт», чтобы примерно понимать сложность, трудозатраты и сроки такого рода проектов. Второй задачей стало создание демо‑стенда для бюджетирования HR ресурсов в максимально короткие сроки. Тут звезды сошлись идеально: у нас есть готовая реализация на Oracle Hyperion Planning, есть дедлайн, который как всегда близок, а значит пришло время делать проект.

Читать далее
Total votes 7: ↑4 and ↓3+3
Comments3

Python. Внутреннее устройство множеств set и словарей dict. Часть 1 из 2

Level of difficultyMedium
Reading time11 min
Views7.4K

Типы dict и set в Python построены на основе хэш-таблиц. В этой статье объясняется как использование хэш-таблиц определяет сильные и слабые стороны этих типов контейнеров.

Вот некоторые вопросы, на которые отвечает эта статья:

• Насколько эффективны dict и set в Python?
• Почему элементы множества неупорядоченны?
• Почему мы не можем использовать любой объект Python в качестве ключа dict или элемента set?
• Почему порядок ключей dict зависит от порядка вставки?

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

Реверсинжиниринг PWN-тасков или эксплуатируем бинарные уязвимости (Часть 2 / Stack1)

Level of difficultyMedium
Reading time2 min
Views931

Друзья всех приветствую! Продолжаем «пывнить» :) Кто не прочитал первую статью — она есть ТУТ!

Перед началом оставлю пару полезных ресурсов:

Теория — Статьи на тему, что такое и с чем едят Buffer Overflow

Практика — Крутые таски на тему PWN от Codeby Games

В этой статье будем решать таск Stack1 (скачать EXEшник можно ТУТ).

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

Как алгоритмы KMP и Boyer-Moore улучшают поисковые системы

Level of difficultyEasy
Reading time6 min
Views1.3K

Поисковые системы — без них не представить сегодняшний мир, они облегчают доступ к информации и улучшают пользовательский опыт. Однако, чтобы поисковая система работала эффективно, необходимы некоторые алгоритмы для обработки строк. Одни из них — Knuth-Morris-Pratt и Boyer-Moore.

Их мы и рассмотрим в сегодняшней статье, начнем с первого.

Читать далее
Total votes 8: ↑5 and ↓3+4
Comments1

Как работают системы ИБ: обзор для начинающих безопасников

Level of difficultyEasy
Reading time12 min
Views10K

Подготовили обзор пяти основных систем ИБ — WAF, NGFW, IAM, SIEM, DLP для специалистов, которые планируют начать карьеру в сфере безопасности. Разбираем «на пальцах» основные компоненты и принципы их работы. 

Составить обзор помог Даниил Козин, старший специалист по пентесту.

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

Тренды игровой индустрии: взгляд в будущее

Level of difficultyEasy
Reading time6 min
Views4.2K

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

Читать далее
Total votes 13: ↑11 and ↓2+12
Comments4

3 года заметок в Notion: анализ и визуализация

Level of difficultyMedium
Reading time9 min
Views14K

Столкнувшись со шквалом задач разной степени важности, 3 года назад я принял решение начать записывать задачи в планер/to do list который было бы удобно вести и с телефона, и с ноутбука. Выбор пал на Notion, как на популярную межоперационную платформу. За время использования планера было выполнено множество разных задач, и стало интересно провести некоторый анализ того, как и на что уходило время...

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

Автостопом по мультиплееру. Часть 2: Синглплеер и Мультиплеер

Level of difficultyEasy
Reading time6 min
Views2K


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

Читать далее
Total votes 5: ↑4 and ↓1+5
Comments4

Тестирование документированного API с помощью утилиты Dredd от Apiary

Reading time23 min
Views13K

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


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


image


В этом tutorial поговорим о утилите Dredd на примере API от GitHub.

Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments3

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

Reading time6 min
Views16K

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

К счастью, эта проблема легко решается!

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

Поехали!
Total votes 7: ↑6 and ↓1+6
Comments2

Аналитика в игре на Godot: подключаем MyTracker

Reading time8 min
Views2.2K

Привет! Я Артем Ковардин, руководитель команды Push Service в RuStore. В этой статье я расскажу про подключение MyTracker в мобильную игру на Godot. 

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

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

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

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

Мини-ПК для «тяжелых» и не очень задач: 5 моделей начала весны 2024 года

Reading time3 min
Views23K

В это как-то трудно поверить, но уже весна, причем 2024 года. Вроде только Новый Год праздновали, и вот — весна. Производители миниатюрных ПК, тем не менее, продолжают работу, так что сейчас появилось несколько интересных моделей, о которых стоит узнать подробнее. О них поговорим под катом.
Читать дальше →
Total votes 32: ↑31 and ↓1+42
Comments9

Анализ уязвимостей стека протокола мобильных операторов связи SS7

Level of difficultyMedium
Reading time19 min
Views6K

В современном мире мы не можем представить жизнь без мобильной связи. Мы постоянно на связи, получаем OTP коды от различных веб-сервисов и банковских приложений. Есть мнение, что сеть мобильных операторов связи закрыта и защищена от атак злоумышленников, но на самом деле нет. Пограничное оборудование "торчит" в интернете, провайдеры между собой используют древний стек протоколов связи SS7, который беззащитен против современных угроз.

Анализ некоторых уязвимых команд данного стека протоколов в статье, приятного чтения!

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

Встроенные фикстуры Pytest

Level of difficultyEasy
Reading time8 min
Views8.8K

Всем привет! Я Никита Вандышев, ведущий QA-инженер в Тинькофф Мессенджере.

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

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

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

Место QA в тестировании продукта на безопасность

Level of difficultyEasy
Reading time9 min
Views2.2K

Привет, меня зовут Дмитрий Крылатков, работаю QA-инженером в компании Doubletapp. Я всегда был заинтересован темой тестирования на безопасность, участвую в bug-bounty программах, а также поднимаю осведомленность о существующих уязвимостях   среди команд тестирования и разработки. В статье расскажу, как QA может сэкономить ресурсы компании и обеспечить проверку на наличие основных уязвимостей, на что обращать внимание и почему это полезно как для специалиста, так и для бизнеса.

Что такое уязвимость и чем она отличается от бага?
Уязвимости: начнем с простого
Софт для поиска уязвимостей
Где применимы знания о поиске уязвимостей?

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

Как устранить пробелы в DAST-тестировании с помощью инструментации

Reading time4 min
Views1.5K

Всем привет! Меня зовут Владимир Исабеков, в Swordfish Security я занимаюсь динамическим анализом приложений (DAST, Dynamic Application Security Testing). В этой статье мы поговорим о ключевых недостатках DAST-тестирования и рассмотрим один из способов их устранения.

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

Митигация SQL-инъекций при работе с PostgreSQL

Level of difficultyEasy
Reading time6 min
Views5.4K

Привет, Хабр! Меня зовут Игорь, я занимаюсь разработкой серверной части в команде RuBackup.

В процессе своей работы мы с коллегами уделяем большое внимание вопросам безопасности наших приложений. SQL-инъекция — одна из самых серьезных угроз этой безопасности. Она заняла третье место в списке 25 самых опасных проблем в программном обеспечении за последние два года. Именно поэтому я решил собрать весь свой накопленный опыт и рассказать о митигации SQL-инъекций.

Наверняка многие из вас знают, что валидирование пользовательского ввода — краеугольный камень процесса безопасной разработки. С одной стороны, нам как разработчикам не хочется ограничивать пользователей в наборе таких входных данных, как символы и выражения, которые они могут использовать в работе, например, в паролях. С другой стороны, нельзя допустить выполнения в СУБД вредоносного кода, который приводит к SQL-инъекциям. А такие случаи время от времени происходят и становятся достоянием гласности. PostgreSQL дает разработчику возможность решить эту проблему экранированием потенциально опасных символов, превращая их в безопасные. Таким образом, для PostgreSQL будет вполне безвредно, если пользователь в качестве пароля использует строку "password' OR 1=1".

Для защиты от SQL-инъекций в прикладных библиотеках PostgreSQL libpq и libpqxx применяется техника «эскейпинг» или экранирование строки. Она заключается в том, чтобы убрать лишние символы разрыва строк в строках, содержащих специальные символы. С помощью этой функций символы удваиваются и более не считаются окончанием строки, а интерпретируются как обычные символы. Я буду рассматривать только библиотеку libpqxx, так как она, по сути, является С++ оберткой над более низкоуровневой С библиотекой libpq, где и реализованы все функции, о которых далее пойдет речь.

Читать далее
Total votes 16: ↑4 and ↓12-8
Comments30
1

Information

Rating
Does not participate
Registered
Activity