Pull to refresh
53
0.1

User

Send message

Можно ли оставаться анонимным внутри государства, которое закрыло весь внешний Интернет?

Level of difficultyMedium
Reading time42 min
Views41K

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

Читать далее

Go: особенности написания конкурентных программ

Level of difficultyMedium
Reading time10 min
Views9.2K

Всем нам предстоит поддерживать уже существующий код, а также проводить ревью кода коллег.

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

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

Читать далее

Прибытие тензорного поезда. Как достижения мультилинейной алгебры помогают преодолеть проклятие размерности

Level of difficultyHard
Reading time6 min
Views9.6K

Привет! Меня зовут Глеб Рыжаков, я научный сотрудник Сколтеха. Я занимаюсь математикой, а точнее, линейной алгеброй, и её приложениями к практическим задачам. Сегодня я расскажу вам о нашем исследовании, которое может помочь справиться с проблемой проклятия размерности, которая возникает во множестве статистических задач, включая машинное обучение.

Понятие «проклятие размерности» появилось в середине прошлого века в пионерской работе Ричарда Беллмана, посвященной методам решения сложных задач путём разбиения их на более простые подзадачи. Сегодня оно понимается в более общем смысле, а именно как экспоненциальный — O(nd) — рост количества необходимых данных и, как следствие, количества памяти, необходимой для их хранения, с ростом размерности пространства d. Когда задачу можно свести к работе с многомерными массивами в общем случае комплексных чисел, удобно говорить о d-мерных тензорах и использовать достижения мультилинейной алгебры. Хорошая новость заключается в том, что там существует такая процедура, как тензорное разложение, которое в ряде случаев может помочь преодолеть проклятие размерности.

Читать далее

Легкий фаззинг в интеграционных тестах с помощью hypothesis

Level of difficultyEasy
Reading time5 min
Views2.3K

Если никогда не слышали о hypothesis и хотите дополнить свои функциональные интеграционные тесты чем-то новым и попробовать найти баги там, где вроде бы уже искали – добро пожаловать в статью. 

Читать далее

Как переехать в Европу стартаперам и IT-специалистам

Level of difficultyEasy
Reading time8 min
Views12K

Как переехать в Европу без Digital Nomad?

Краткий обзор на 34 визовые программы в Европе для айти-специалистов и предпринимателей, которые ведут к ПМЖ и гражданству.

Читать далее

Как искать уязвимости в проекте на Go: обзор популярных анализаторов кода и их возможностей

Reading time8 min
Views11K

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

Читать далее

Поговорим об оптимизирующих компиляторах. Сказ второй: Доминирование

Level of difficultyMedium
Reading time10 min
Views10K

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

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

Причаститься

Лови мутанта! Мутационные тесты: зачем и как

Level of difficultyMedium
Reading time5 min
Views4.2K

Я очень люблю тесты и считаю, что любой код должен быть покрыт ими, желательно качественными :)  
Поэтому хочу поделиться с вами опытом внедрения мутационных тестов в проект, рассказать зачем оно нужно и какую ценность несет. Рассмотрим пример внедрения Infection в приложение на Laravel. Но сначала немного теории.

Читать далее

Istio в разрезе: что умеет и не умеет самый популярный Service Mesh (обзор и видео доклада)

Level of difficultyHard
Reading time15 min
Views69K

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

Это мой второй доклад про Istio и Service Mesh. Первый я сделал на конференции Kuber Conf 2021: «Что ждать от внедрения Istio?». Рекомендую ознакомиться сначала с ним, будет несколько проще.

Читать далее

Построение архитектуры с использованием формальных моделей безопасности

Level of difficultyEasy
Reading time8 min
Views4.1K

Приветствую, дорогие читатели, меня зовут Алексей Федулаев. Я работаю на позиции DevSecOps в компании Bimeister и делаю наши продукты безопаснее.

Данная статья будем по мотивам моего выступления на конференции Highload++ 2022, где я рассказывал про “Построение архитектуры с использованием формальных моделей безопасности”. В статье мы узнаем:

Читать далее

Визуализация квантовой механики

Level of difficultyMedium
Reading time17 min
Views15K

1. Статистический ансамбль

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

Читать далее

Алгебра анонимных сетей

Level of difficultyHard
Reading time15 min
Views7.8K

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

Читать далее

Разбираемся с RabbitMQ: High Availability и High Load

Reading time8 min
Views25K

Продолжаем делиться конспектами Алексея Барабанова, IT-директора «Хлебницы». На этот раз обсудим специфику работы RabbitMQ с высокими нагрузками (High Load) и обеспечением высокой доступности (High Availability). Рассмотрим различные методы увеличения производительности и горизонтального масштабирования, разберём и настроим внутренние инструменты. Также по мере погружения постараемся изучить основные подводные камни всех подходов.

Читать далее

Istio, eBPF и RSocket Broker: подробный обзор service mesh

Reading time11 min
Views3.6K

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

В этой статье мы под разными углами рассмотрим управление сервисами и узнаем, как решать эти задачи с помощью service mesh, Istio, eBPF и RSocket Broker.

Читать далее

Перцептрон на numpy

Reading time3 min
Views18K

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

Читать далее

6 Python декораторов, которые значительно упростят ваш код

Reading time5 min
Views66K

"Простое лучше сложного".

Лучшая функция Python, которая применяет эту философию из "дзен Python", - это декоратор.

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

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

Болтать не буду. Давайте посмотрим на отобранные мной 6 декораторов, которые покажут вам, насколько элегантен Python.

Читать далее

Антирейтинг 2022

Reading time8 min
Views8.9K


Эта статья написана по аналогии со статьей «Как не надо писать на Хабр: Антирейтинг 2017». Статьи взяты за 2022 год. Кроме отрицательных значений рейтинга, есть список по абсолютному количеству минусов (видимо, самые обсуждаемые темы).
«Вот найдется же нехороший, которому обязательно надо написать статью на Хабре, про то, что не следовало писать.» Один из комментариев

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

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

Reading time13 min
Views11K

📌 градиент обреченный

Хочу показать, как создать мультиязычный параллельный корпус и книги при помощи моего пет-проекта.

Для примера возьмем 10 редакций "Мастера и Маргариты" Михаила Булгакова (ru, uk, by, en, fr, it, es, de, hu, zh). Сначала выровняем девять переводов с оригиналом, а затем выровняем все вместе. Получим параллельный корпус на 10 языках и много красивых книг. Приступим.

Код я оформил в виде веб-приложения, основная логика которого выполняется при помощи библиотеки lingtrain-aligner. Выравнивать можно прямиком из кода на python, либо через UI. В приложении будет удобней разрешать конфликты и там есть редактор, позволяющий корректировать получающийся корпус плюс дополнительные опции по верстке. Код у проекта открытый, можно посмотреть как все работает внутри. Приступим.

Читать далее

Налоговый и валютный резидент РФ —последствия приобретения и утраты статусов — полный FAQ с примерами

Reading time27 min
Views32K

Друзья, всех приветствую и предлагаю ознакомиться, как мне кажется с довольно полным FAQ по теме налогового и валютного резиденства РФ. По ходу материала есть некоторые примеры, а внизу вопросы & ответы.

Читать далее

Хотите service mesh без sidecar’ов?

Reading time4 min
Views5.2K

Скорее всего, вы уже слышали про service mesh — в последние два-три года этот подход становится все популярнее.

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

Читать далее

Information

Rating
2,858-th
Registered
Activity