Как стать автором
Обновить
70
0.1
Виктор Супрун @POPSuL

Разработчик

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

Обфускация сетевого трафика и автоматическая интернет-цензура

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

Интернет‑цензоры ищут способы выявить и заблокировать доступ в интернете к информации, которую они считают нежелательной. Для этих целей они часто используют такие сетевые инструменты, как глубокая проверка пакетов (Deep packet inspection, DPI), которые позволяют выявить такие соединения. В ответ активисты разработали и внедрили механизмы запутывания сетевого трафика. Они применяют специализированные криптографические инструменты, чтобы попытаться скрыть от DPI истинную природу и содержание соединений.

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

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

Торговые роботы на Golang

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

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

Я Александр Парфенов, бэкенд-разработчик в Тинькофф Инвестициях и автор InvestAPI SDK для языка Go. Расскажу о том, как автоматизировать торговые стратегии при помощи Tinkoff INVEST API и языка Go.

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

Тестовые серверы Telegram: инструкция по эксплуатации

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

Про разработку ботов в Telegram написано много текстов, а про «тестовый дата-центр» практически ничего. Ранее Pavelgram освещал этот вопрос: он кратко рассказал, что такое тестовые серверы и как с ними работать. Я продолжу это начинание.

Эта статья — сборник разбросанной документации и результатов экспериментов. Под катом расскажу о технических особенностях тестового окружения для разработки, покажу примеры ботов и юзерботов. В качестве бонуса — история «о жизни в тестовом контуре».
Читать дальше →
Всего голосов 64: ↑64 и ↓0+64
Комментарии6

Пакет context в Go: взгляд профессионала

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

А вы часто читаете реализацию стандартной библиотеки своего любимого языка?..

Меня зовут Константин Соколов, и мы с Сергеем Мачульскисом, моим коллегой из бэкенд-разработки в Positive Technologies, хотим с вами поделиться вдохновением. Давайте вместе посмотрим на пакет context с последними обновлениями. На наш взгляд, он идеально выражает философию языка Go! Образцовый интерфейс, постоянное развитие пакета и использование самых распространенных приемов Go — все это говорит о том, что наш материал будет полезен не только новичкам, но и знатокам.

Под кат
Всего голосов 37: ↑36 и ↓1+35
Комментарии8

Форм-факторы смарт-карт. Сводная информация

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

Число и разнообразие микропроцессорных смарт-карт постоянно растет. По оценке компании Thales это самая распространенная вычислительная платформа на планете. Актуальность их применения не снижается. С новыми технологиями появляются новые форм факторы смарт карт.

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

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

DN42 — большая BGP-песочница

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

DN42 — это сеть из VPN‑туннелей с маршрутизацией по протоколу BGP. Участники устанавливают между соединения, используя различные туннельные технологии (Wireguard, OpenVPN, GRE, Tinc, ZeroTier и другие).

Зачем она нужна?

1. Можно поэкспериментировать и изучить технологии маршрутизации.

Основная польза от DN42 — это возможность получить опыт настройки туннелей и BGP‑соединений. Именно так работает маршрутизация в Интернет.

2. Можно узнать как устроен Интернет и почувствовать себя провайдером.

В DN42 есть регистр (registry), который очень схож с той же RIPE Database, набор внутренних сервисов и свой корневой домен.dn42 и корневые DNS‑сервера.

Интересно? Добро пожаловать под кат.
Всего голосов 28: ↑28 и ↓0+28
Комментарии15

Regex engine internals as a library [full]

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

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

Если всегда было интересно, как оно там под капотом устроено, а в книге Фриддла или в книге дракона вы не нашли подробностей, то добро пожаловать - будет интересно и очень сложно. Для понимания требуются знания основ теории автоматов (знать и понимать отличия ДКА от НКА) и иметь базовое представление о том, что такое регулярные выражения.

Так же прошу сообщать об ошибках и опечатках, чтобы я мог их исправить.

Прыгнуть в кроличью нору
Всего голосов 36: ↑34 и ↓2+32
Комментарии10

Пишем самую тупую на свете сортировку

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

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

Как-то после обеда, стоя за чашечкой кофе, мне пришла в голову мысль. Что ведь для того чтобы убедиться что массив отсортирован, надо сделать `n-1` сравнение. Например для массива длины 4 таких сравнения будет 3:

Дальше тупее
Всего голосов 87: ↑86 и ↓1+85
Комментарии45

Разбираем HTTP/2 по байтам

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

image


Откройте любую статью с обзором HTTP/1.1. Скорее всего, там найдётся хотя бы один пример запроса и ответа, допустим, такие:


GET / HTTP/1.1
Host: localhost

HTTP/1.1 200 OK
Date: Sat, 09 Oct 2010 14:28:02 GMT
Server: Apache
Content-Length: 38
Content-Type: text/html; charset=utf-8

<!DOCTYPE html>
<h1>Привет!</h1>

Теперь откройте статью с обзором HTTP/2 или HTTP/3. Вы узнаете о мультиплексировании запросов, о сжатии заголовков, о поддержке push-технологий, но вряд ли увидите хоть одно конкретное сообщение. Ясно, почему так: HTTP/1.1 — текстовый протокол, тогда как сиквелы к нему бинарные. Это очевидное изменение открывает дорогу ко множеству оптимизаций, но упраздняет возможность просто и доступно записать сообщения.


Поэтому в этой статье предлагаю покопаться в кишках у HTTP/2: разобрать алгоритмы установки соединения, формат кадров, примеры взаимодействия клиента с сервером.

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

Взламываем «умную» зубную щётку

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

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

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

Механические клавиатуры 2023

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

Эта статья возникла как результат моих попыток разобраться в рынке механических клавиатур в 2023 году. На Хабре уже был неплохой материал по этой теме, опубликованный в 2012 году - https://habr.com/ru/post/140454/. Поэтому самые полезные блоки оттуда я честно скопипастил (благо лицензия статьи позволяет), но изменилось на самом деле гораздо больше, чем я ожидал. Для всех интересующихся, я также порекомендую https://wiki.geekboards.ru/, где вы можете найти еще больше технических деталей и несколько исторических экскурсов про устройство клавиатур.

Осторожно, дальше будет много букв и картинок (под спойлерами)

Читать далее
Всего голосов 72: ↑70 и ↓2+68
Комментарии115

Книга «MySQL по максимуму. 4-е издание»

Время на прочтение8 мин
Количество просмотров5.9K
image Привет, Хаброжители!

Хотите выжать из MySQL максимум возможностей? Вам поможет уникальная книга, написанная экспертами для экспертов.

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

Это издание было обновлено и переработано с учетом последних достижений в области облачного и самостоятельного хостинга MySQL, производительности InnoDB, а также новых функций и инструментов. Вы сможете разработать платформу реляционных данных, которая будет масштабироваться вместе с вашим бизнесом, и узнаете о передовых методах обеспечения безопасности, производительности и стабильности баз данных.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии5

Amazon IVS: как быстро добавить видеотрансляции в приложение или на сайт

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

Video live streaming - это технология потоковой трансляции видео тысячам и миллионам зрителей в режиме близком к реальному времени. Видеостриминг находит своё применение в разных областях: образование, фитнес, онлайн события, электронная коммерция, игры и киберспорт.

В этой статье мы рассмотрим как можно легко интегрировать видеотрансляции в приложение или на сайт, используя AWS interactive video service.

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

Все способы легального вывода денег из России: детальный разбор со ссылками

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

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

Читать далее
Всего голосов 112: ↑100 и ↓12+88
Комментарии87

150+ хакерских поисковых систем и инструментов

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

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

Пост состоит из 8 объемных разделов:

1. метапоисковики и поисковые комбайны;

2. инструменты для работы с дорками;

3. поиск по электронной почте и логинам;

4. поиск по номерам телефонов;

5. поиск в сети TOR;

6. поиск по интернету вещей, IP, доменам и поддоменам;

7. поиск данных об уязвимостях и индикаторов компрометации;

8. поиск по исходному коду.

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

Читать далее
Всего голосов 64: ↑61 и ↓3+58
Комментарии6

4,2 гигабайта, или как нарисовать что угодно

Время на прочтение9 мин
Количество просмотров42K
В нашем мире мы можем сделать всё, что захотим. Всё что угодно.

Боб Росс, The Joy Of Painting, сезон 29, эпизод 1

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

Я представил огромный инопланетный объект, висящий в горящем оранжевом небе над давно покинутым Сиэтлом, здания которого покрыты зарослями.

Тем же вечером я за несколько часов создал вот такое изображение:


Простите за низкое разрешение — к сожалению, у моего GPU всего 12 ГБ памяти.

Поскольку очевидно, что я талантливый художник, имеющий за плечами буквально десятки минут опыта, мне захотелось поделиться тем, как я создал данный шедевр.
Читать дальше →
Всего голосов 160: ↑160 и ↓0+160
Комментарии92

Как посчитать длину текста и не привлекать внимание санитаров

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

Привет! Меня зовут Алексей Ивасюта, я фронтенд-разработчик в Авито в кластере Seller Experience. В этой статье я расскажу, как правильно рассчитать длину текста в Java Script. Эта статья будет одинаково полезна как начинающим разработчикам, так и весьма опытным. Благодаря ей вы поймете устройство Unicode и особенности его работы в JS.

Читать далее
Всего голосов 73: ↑72 и ↓1+71
Комментарии58

Отрисовка в браузере большой анимации или как я ушел с mp4 к своему формату видео

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

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

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

Как работает неточное сравнение строк

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

https://fakt309.github.io/thisisthewall/

В языках программирования строки сравниваются очень просто, если строка отличается хотя бы на один символ, то возвращает false.

Но вот что если мы хотим не просто получать дискретное значение (true / false), а дифференцированное, например в процентах. Ведь согласитесь строки test и testing гораздо ближе к друг другу, чем test и abcd. Для данной проблемы существует множество решений, мы поговорим о самый популярных алгоритмах (также об их модификациях):

Расстояние Хэмминга

Расстояние Левенштейна

Сходство Джаро — Винклера

Коэффициент Сёренсена

Читать далее
Всего голосов 50: ↑47 и ↓3+44
Комментарии43

Постигаем искусство написания Dockerfile для Go

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

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

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

Информация

В рейтинге
2 960-й
Откуда
Южно-Сахалинск, Сахалин, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer, DevOps
Senior
От 2 500 $
Git
PHP
Nginx
Golang
Linux