Pull to refresh
1
0
Send message

Сложно ли генерировать 1024-битные простые числа?

Level of difficultyEasy
Reading time28 min
Views12K

Простые числа удивительны!

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

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

Вызов

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

Генерировать простые числа, способные генерировать ключи для алгоритма RSA

На момент написания этой статьи хорошей длиной ключей RSA считаются 2048 битов. Ключи RSA генерируются перемножением двух простых чисел, так что для получения 2048-битного ключа нам нужны два числа длиной примерно 1024 бита. Это ограничивает рамки задачи генерацией 1024-битных простых чисел. Теперь вы знаете, откуда взялось число из заголовка поста.

Читать далее
Total votes 56: ↑56 and ↓0+74
Comments24

Блокировка Docker Hub для России. Без паники разбираемся как работать дальше

Level of difficultyMedium
Reading time9 min
Views68K

Главной новостью этой недели стала блокировка пользователей из России ресурсом Docker Hub. Она осуществляется по Geo IP.

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

В статье три проверенных мною способа, как получить доступ к ресурсу.

Читать далее
Total votes 81: ↑77 and ↓4+93
Comments47

С 200 до 500 знаков в минуту — 4 года учусь писать код быстрее. Рассказываю о самых эффективных методах в статье

Level of difficultyEasy
Reading time8 min
Views6.9K

Опытные разработчики каждый день пишут тонны кода (а еще более опытные не пишут его совсем), и если ты хочешь быть продуктивным — нужно учиться писать быстрее. Сегодня на связи — Даниил Лихачев, python-разработчик в ДАЛЕЕ. Делюсь известными и не очень способами по ускорению написания кода. 

Читать далее
Total votes 20: ↑11 and ↓9+4
Comments43

Альтернативная математика или математика собеседований

Level of difficultyEasy
Reading time8 min
Views15K

Устройство в крупную IT компанию — непростой и порой длительный процесс. Работода‑ тели в ходе многочисленных собеседований проверяют кандидата со всех сторон. В частности, оценивают его способности решать задач и технические навыки. В статье мы расскажем о том, как готовиться к прохождению технических собеседований по математике и алгоритмам в IT компании, как в целом проходит процесс устройства на работу. (1)

При устройстве в иностранный хедж‑фонд XQuant на среднюю позицию у вас будет два тестирования по математике и программированию, одно hr собеседование, шесть технических собеседований, три интервью с биг боссами, одно интервью на сошиал фит, часть интервью на английском языке. При устройстве аналитиком в российские IT‑компании (Яндекс, Авито, Тинькофф,...) количество технических собеседований может варьироваться (по нашим оценкам от 2 до 7), но минимум два по алгоритмам и математике пройти придётся.

Для оценки IQ кандидата (2) или того, насколько быстро, оригинально и глубоко он может мыслить, ему предлагают решить задачи по математике, алгоритмам, а также брейнтизеры — головоломки на общую сообразительность. Некоторые задачи стандартные, из школьных и вузов‑ ских учебников, но часто на собеседованиях предлагают нестандартные задачи. Такие, которые не встречались ни в школе, ни в вузе (и даже ни в баре и ни на дискотеке). Например, такого характера (3):

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

Лучшие практики для надёжной работы с RabbitMQ

Level of difficultyEasy
Reading time13 min
Views24K

Привет, Хабр! Я Женя, архитектор интеграционной платформы в Точке, отвечаю за асинхронный обмен сообщениями между внутренними сервисами, за ESB и за брокеры сообщений.

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

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

Следуй за белым кроликом
Total votes 58: ↑58 and ↓0+59
Comments16

Встречают по README — что нужно знать о документации

Level of difficultyEasy
Reading time6 min
Views9.9K
image

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

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

Должны ли разработчики писать документацию? Как это часто бывает, однозначного ответа на этот вопрос нет.

Сегодня поговорим об инструментах для сборки и работы с README, а также обсудим тему документации.
Читать дальше →
Total votes 20: ↑20 and ↓0+23
Comments4

Это база: нюансы работы с Redis. Часть 2, репликация

Level of difficultyMedium
Reading time11 min
Views7.4K

Всем привет, на связи Пётр, инженер компании Nixys. В прошлой статье мы разобрали основные концепции Redis. Теперь рассмотрим базовую репликацию Redis и настроим эту БД на высокий уровень отказоустойчивости.

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

Импортозамещаем Evernote. Obsidian – менеджер заметок и лучший друг менеджеров

Reading time11 min
Views70K

Привет, Хабр! Меня зовут Николай Суворов. Я – профессиональный менеджер, руководитель направления Delivery Management в МТС Digital. Занимаюсь Enablement Platform – единой платформой для быстрого создания продуктов в экосистеме МТС. Сегодня я расскажу о своем pet-проекте и о том, как я заменил привычный, но такой недоступный Evernote прекрасным менеджером заметок Obsidian. Статья будет интересна прежде всего тем, кто хочет обладать «вторым мозгом» и ни о чем не забывать.

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

Часть 2. Управление знаниями в Obsidian. Базовый рабочий процесс. Журнал. Источники и их библиотеки. Пример

Level of difficultyHard
Reading time44 min
Views155K

В этой статье будет показано как можно начать организовывать свою базу знаний в Obsidian, отталкиваясь от источников. В статье будет разобрано то, какие стоит использовать папки и теги; как создать свою первую точку входа в систему. Также будет уделено внимание способу ведения журнала (дневника). Статья будет предполагать, что вы не против автоматизации процессов в своей базе знаний, поэтому все источники будут шаблонизированы и впоследствии собраны в свои отдельные библиотеки с помощью Dataview. Завершится статья подробным примером (алгоритмом) рабочего процесса.

Погнали
Total votes 23: ↑20 and ↓3+19
Comments65

Часть 1. Управление знаниями в Obsidian. Обработка информации. Рабочий процесс. Источники информации. Работа с заметками

Level of difficultyHard
Reading time40 min
Views182K

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

Начнём долгий путь
Total votes 34: ↑31 and ↓3+37
Comments73

Абсолютно бесплатный VPN с бесплатного VPS

Reading time3 min
Views162K

Думаю про VPN слышали все, и многим приходилось им пользоваться. При этом использование готового VPN, которым руководит какой - то неизвестный человек, не является хорошей идей. Тем более в России на данный момент пытаются блокировать, как сами VPN провайдеры (Windscribe, Proton и другие известные сервисы), так и сами протоколы.

Читать далее
Total votes 86: ↑82 and ↓4+88
Comments112

Синхронный «запрос-ответ» с использованием REST и Apache Kafka

Reading time8 min
Views18K

Подружить REST и Apache Kafka кажется нетривиальной задачей. Однако с ней удалось справиться экспертам Группы «Иннотех». Ведущий разработчик Кирилл Воронин рассказал подробности решения задачи перевода асинхронных запросов в синхронные.

Читать далее
Total votes 19: ↑9 and ↓10+2
Comments13

Чем различаются Kafka и RabbitMQ: простыми словами

Reading time8 min
Views85K

Программные брокеры сообщения уже стали стандартом при построении больших и сложных систем. Однако до сих пор не все ИТ-специалисты понимают, как работают эти инструменты. Главный системный аналитик «Иннотех» Павел Малыгин помогает разобраться в брокерах сообщениях и их работе.

Читать далее
Total votes 56: ↑53 and ↓3+55
Comments33

Упс и опаньки… Юмору не место в сообщениях об ошибках

Reading time5 min
Views29K

Сообщения об ошибках — чуть ли не единственное место, где пользователь программы может напрямую пообщаться с её автором. Ну как пообщаться… Ответить он всё равно ничего не сможет. Даже если сильно хочется. А иногда в сообщениях об ошибках такой треш, что действительно очень хочется ответить. Или просто взглянуть в глаза того инженера, который это сочинил.
Читать дальше →
Total votes 103: ↑80 and ↓23+87
Comments131

Чёрная пятница: история, факты и сервер в Нидерландах E5-2697 v3 (6 Cores) / 10GB DDR4 / 480GB SSD / 1Gbps за 9,5 USD

Reading time4 min
Views5.5K
Вот уже много лет мы не проводили никаких распродаж в «чёрную» пятницу, так как наши цены одни из самых низких и мы всегда рады дать максимальную скидку для текущих и новых клиентов, но в этом году многим пришлось нелегко, и по этой причине мы решили поддержать наших потенциальных пользователей, в том числе читателей нашего блога на Хабре, которому в октябре исполнилось 10 лет, и позволить приобрести производительный сервер из статьи «Вся правда о VPS с выделенными накопителями» более, чем в 4 раза дешевле, да и еще с увеличенным в 2 раза по квоте выделенным SSD-хранилищем на накопителе enterprise уровня от Samsung.

Воспользуйтесь промокодом BLACKFRIDAY2022 при оплате услуги:

E5-2697 v3 (6 Cores) / 10GB DDR4 / 480GB SSD / 1Gbps 10TB — $19 / месяц (оплата на 2 года), $29 / месяц (оплата на год), $39 помесячно. Услуга доступна в Нидерландах с NL и RU GEO IP.

Для получения 50% дополнительной одноразовой скидки на любой из выбранных периодов оплаты. Таким образом, оплатив сервер на 2 года, Вы сможете получить его всего лишь за 9,5 USD в месяц. Захотите апгрейд в будущем или перейти на выделенный сервер? Нет проблем. Нужно будет просто оплатить разницу. Заказать сервер можно здесь.

Что же касается самой «Чёрной пятницы», «киберпонедельника», и «дня, когда ничего не нужно покупать», то история и несколько интересных фактов под катом.
Читать дальше →
Total votes 18: ↑14 and ↓4+17
Comments21

Муравьи

Reading time10 min
Views46K

Муравьи

Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи Муравьи М

Муравьи
Total votes 95: ↑46 and ↓49+24
Comments319

Information

Rating
Does not participate
Location
Россия
Registered
Activity