Pull to refresh
4
1.6

JavaScript-разработчик

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

Как я разработал квадрокоптер на ESP32 с нуля (ушло 4 года)

Level of difficultyMedium
Reading time12 min
Views55K

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

Занимаясь БПЛА с 2016 года, я решил разобраться в устройстве полетных контроллеров максимально глубоко и создать квадрокоптер с нуля, не используя готовый полетный контроллер и готовый софт. Спустя долгое время разработки мне удалось это сделать. Я написал прошивку с максимально простым исходным кодом и выложил ее на GitHub. В этой статье я расскажу о теории и практике разработки полетного софта для квадрокоптера и проиллюстрирую это на примере своего дрона на базе микроконтроллера ESP32, который можно увидеть на картинке выше.

Читать далее
Total votes 312: ↑312 and ↓0+371
Comments132

Old-Hard коммуникации, или “передача файлов через COM и LPT-порты”

Reading time4 min
Views37K
Давненько не кидали на старые компьютеры данные через дискеты, COM или LPT порты? А вот мне недавно пришлось этим заняться, и подробности этого опыта – под катом. Там же несколько графиков, табличка сравнения и пара десятков фото под вторым катом.
Читать дальше →
Total votes 21: ↑18 and ↓3+15
Comments65

Как студенты Практикума перепроектировали сайт Alfa Digital

Level of difficultyEasy
Reading time8 min
Views2K

Привет! Меня зовут Максим, я продакт и студент курса «Продакт-менеджер». . В этой статье я расскажу о проекте по редизайну карьерного сайта Альфа-Банка — с ним наша команда победила на хакатоне Практикума.

Читать далее
Total votes 19: ↑17 and ↓2+16
Comments3

iOmega ZIP. Уже не дискеты, но ещё не HDD

Level of difficultyEasy
Reading time7 min
Views12K
Приветствую всех!

Казалось бы, о накопителях iOmega ZIP не писал только ленивый. Даже здесь, на Хабре было несколько статей, посвящённых этому во всех смыслах неоднозначному формату. Но вот в мои руки тоже попал такой привод, и я подумал: а что бы не затронуть и эту технологию? Тем более, что мне есть, что добавить к предыдущим обзорам.



Итак, в сегодняшней статье поговорим об iOmega ZIP — носителе информации, совмещавшем в себе недостатки как дискет, так и жёстких дисков. Узнаем, как устроены и работают такие устройства и посмотрим, что они могут. Традиционно будет много интересного.
Читать дальше →
Total votes 53: ↑53 and ↓0+53
Comments92

Импортозамещение, которое мы потеряли: «Сетунь» — судьба первых серийных троичных компьютеров

Level of difficultyEasy
Reading time16 min
Views24K

Многие знают, что СССР был родиной т. н. «троичных машин», т. е. компьютеров, использующих не двоичную, а троичную систему счисления. Они стали уникальной страницей в истории вычислительной техники. Единственный серийный и самый известный пример троичной ЭВМ — советский компьютер «Сетунь», разработанный в 1958 году под руководством Николая Брусенцова, при активном участии Льва Гутенмахера, Сергея Соболева и Евгения Жоголева.

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

Осторожно лонгрид
Total votes 44: ↑39 and ↓5+40
Comments172

Система рендеринга для космического симулятора в Unity

Level of difficultyMedium
Reading time20 min
Views6.1K

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

? Читать далее
Total votes 30: ↑30 and ↓0+30
Comments17

Мобильные экранчики в ваших проектах: большой и понятный о гайд о различных дисплеях

Level of difficultyMedium
Reading time18 min
Views27K
image


Пожалуй, немалая часть моих читателей так или иначе интересуется DIY-тематикой. И в различных самодельных девайсах порой есть необходимость вывести какую-либо информацию на дисплей, будь это текст, графики или даже какая-то анимация! Для разных задач существуют самые разные дисплеи и в сегодняшнем материале я хотел бы систематизировать и собрать подробнейший гайд об использовании дисплеев с нерабочих мобильных телефонов: какие бывают протоколы и шины данных, как читать схемы устройств и определять контроллеры дисплеев, какие дисплеи стандартизированы, а какие придётся реверсить самому и как быть с подсветкой. В практической части статьи мы подключим дисплей по протоколу MIPI DBI к RP2040 с использованием DMA. Интересно? Тогда добро пожаловать под кат!
Читать дальше →
Total votes 88: ↑86 and ↓2+106
Comments116

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

Reading time25 min
Views18K

Согласно самым разным источникам, в мире существует от нескольких сотен до нескольких тысяч языков программирования. Правда, ЯП, с которыми реально имеют дело десятки и сотни тысяч человек, немного. Больше, конечно, нишевых языков, применяемых для решения узкого круга задач. Существуют ЯП для обучения разработчиков, а также проекты, созданные исключительно для развлечения. В статье — 5 наиболее странных языков из когда-либо созданных. Brainfuck, кстати, опустим, ведь его на Хабре и так регулярно вспоминают. Что же, поехали.

Читать далее
Total votes 39: ↑25 and ↓14+24
Comments15

Обзор схемотехнических решений BMS для литиевых батарей

Level of difficultyEasy
Reading time17 min
Views45K
Давно ушли те времена, когда для контроля за состоянием аккумуляторной батареи было достаточно стрелочного амперметра. Литиевые аккумуляторы вполне заслуженно обрели популярность в современных автономных устройствах. Они обладают достаточно высокими характеристиками при весьма доступной стоимости, но очень капризны в эксплуатации.

image

В этой статье представлен краткий обзор на специализированные микросхемы мониторинга и защиты для литиевых аккумуляторов. Давайте вместе попробуем разобраться, как максимально эффективно и безопасно использовать эти аккумуляторы в своих устройствах и какие схемы для этого лучше подойдут.
Читать дальше →
Total votes 73: ↑73 and ↓0+73
Comments87

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

Reading time24 min
Views12K

Островерхая скатная и плоская крыша дома в ИЖС: Битва архаично-романтичного  «дизайна» с инженерной рациональностью.

Крыша дома в частном секторе- это не только инженерное сооружение, но и главный элемент внешнего вида здания в целом.

Если учесть, что частный дом в значительной степени строят ради «показать себя», то его крыша становится скорее ярмаркой тщеславия, чем ответственной инженерной конструкцией. (см.рис.1.)

Читать далее
Total votes 48: ↑40 and ↓8+42
Comments153

Аналоговые индикаторы против цифровых. Жертвы маркетинга против ретроградов

Level of difficultyEasy
Reading time3 min
Views6.2K

На просторах сети частенько можно наткнуться на споры про то, что же лучше - стрелочные приборы или цифровые.

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

Читать далее
Total votes 6: ↑4 and ↓2+3
Comments97

Интерпретатор Brainfuck на Brainfuck

Level of difficultyHard
Reading time25 min
Views14K

Когда-то давно, году в 2013-м, на глаза мне попался следующий код:

>>>+[[-]>>[-]++>+>+++++++[<++++>>++<-]++>>+>+>+++++[>++>++++
++<<-]+>>>,<++[[>[->>]<[>>]<<-]<[<]<+>>[>]>[<+>-[[<+>-]>]<[[
[-]<]++<-[<+++++++++>[<->-]>>]>>]]<<]<]<[[<]>[[>]>>[>>]+[<<]
<[<]<+>>-]>[>]+[->>]<<<<[[<<]<[<]+<<[+>+<<-[>-->+<<-[>+<[>>+
<<-]]]>[<+>-]<]++>>-->[>]>>[>>]]<<[>>+<[[<]<]>[[<<]<[<]+[-<+
>>-[<<+>++>-[<->[<<+>>-]]]<[>+<-]>]>[>]>]>[>>]>>]<<[>>+>>+>>
]<<[->>>>>>>>]<<[>.>>>>>>>]<<[>->>>>>]<<[>,>>>]<<[>+>]<<[+<<
]<]

Это интерпретатор языка Brainfuck, написанный на самом Brainfuck. Ссылки на оригинал у меня не осталось, только код, так что автора я назвать не смогу.

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

Читать далее
Total votes 95: ↑93 and ↓2+116
Comments20

Автоматизируем создание отчетов в Word с данными из Excel на Python

Level of difficultyEasy
Reading time7 min
Views42K

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

Читать далее
Total votes 35: ↑33 and ↓2+33
Comments55

Игры нашего детства: 8-битные шедевры

Reading time5 min
Views29K

Мы ранее говорили об эпохе Flash-игр. Но 1990-е годы для большинства детей того времени, да и не только детей – это в первую очередь игры на Dendy с стрельбой в телек по уткам, иногда – «Сюбор» который был в виде клавиатуры, а для настоящих богачей и счастливчиков была – и Sega Mega Drive и Super Nintendo.

В этот раз собрали самые популярные 8-битные видеоигры, современные игры от российских разработчиков для этой платформы, 

Кроме того, мы окунёмся в невероятный мир периферийных устройств для Nintendo Entertainment System – перчатки для управления в играх, шлемы виртуальной реальности, принтеры и так далее. 

А как вам идея сделать рейтинг видеоигр на Dendy? Напишите в комментарии, что вам запомнилось больше всего, с чем связаны лучшие детские воспоминания и во что вы бы поиграли прямо сейчас!

Читать далее
Total votes 57: ↑54 and ↓3+69
Comments146

От дощечки к компьютеру. Путь от ткачества к ЭВМ

Level of difficultyEasy
Reading time11 min
Views2.5K

Привет, Хабр! Меня зовут Арина Шахтарина, я — инженер в Сбере, а ещё занимаюсь ткачеством. Сегодня поговорим о том, откуда появились первые компьютеры и разберём одну из версий — путь от ткачества к ЭВМ.

Кажется, что компьютеры начали разрабатывать совсем недавно, лет 50-70 назад. Но на самом деле предпосылки к этому были очень давно.

Читать далее
Total votes 19: ↑18 and ↓1+26
Comments11

Docs as Code для художественной литературы. Делаем творческий сайт ребенка с помощью MkDocs

Level of difficultyEasy
Reading time13 min
Views8.4K


Docs as Сode — подход к работе с текстами, подразумевающий написание текста как кода:


  • в простом текстовом редакторе или IDE;
  • с использованием системы контроля версий;
  • с CI / CD / Code Review.

В настоящее время Docs as Code широко применяется при работе с технической документацией, давая техническим писателям и проектным командам массу удобств и преимуществ.


Но что если пойти дальше, попробовать такой подход не с техническими, а с художественными текстами? Что если автор — не технарь и не айтишник? Просто юный начинающий писатель, который пробует писать прозу и стихи ручкой на бумаге, и надеется познакомить широкую публику со своим творчеством?


В этой статье я расскажу о таком эксперименте (забегая вперед, удачном). Моей дочери 11 лет, она пишет сказки, стихи и рассказы. Чтобы поддержать ее увлечение, я помог ей создать литературный сайт, используя подход Docs as Code. Она успешно освоила основы Markdown и Git. Сейчас она самостоятельно публикует новые произведения и обновляет новости на своем сайте https://lib-beliakova.github.io/.

Читать дальше →
Total votes 44: ↑44 and ↓0+44
Comments17

Привлекательные структуры данных

Reading time7 min
Views26K

В процессе изучения разных алгоритмов и структур данных приходит понимание, что не все они применимы в прикладных задачах (в отличие от задач про Васю и Петю/Алису и Боба). Но тот факт, что алгоритм/структура данных не является полезной на практике не означает, что идеи в них содержащиеся не привлекают пытливые умы даже из чистого любопытства. Потому речь пойдёт о красивых (субъективно) и, что важно, простых с точки зрения концепции структурах данных. 

Помните: если что-то не компилируется, это псевдокод. 

Привлечься!
Total votes 78: ↑78 and ↓0+78
Comments16

Отопление в ИЖС с помощью сплит-кондиционера «на тепло». Так ли это выгодно на самом деле?

Reading time30 min
Views18K

Отопление тепловыми насосами

Продолжим обсуждение способов экономичного отопления в ИЖС без использования трубного газа.

Ранее были рассмотрены варианты отопления электричеством и отопления с применением СУГ.

Экономика загородного дома. Как утеплить дом и не разориться?

По желанию читателей решил рассмотреть и вариант отопления с помощью «кондиционеров на тепло».

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

Изначально предполагается использовать именно самую дешёвую версию сплит‑кондиционера, у которого компрессорно‑конденсаторный блок (далее ККБ) установлен на улице.

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

Рассмотрением этих незаметных или преднамеренно скрываемых препятствий мы и займёмся в этой статье.

Читать далее
Total votes 48: ↑45 and ↓3+47
Comments139

О мат-нотациях и Машинах Тьюринга

Level of difficultyHard
Reading time10 min
Views2.6K

Всем Хабр! Совсем недавно открыл для себя некоторые прелести Латеха и начал активно в нем работать. По ходу дела возникали разные интересные мысли, которыми здесь и поделюсь. В статье пойдет речь о моих небольших дополнениях к мат-нотациям, которых мне не хватало, а также о том, как построить Машину Тьюринга с помощью оных.

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

Построить МТ
Total votes 6: ↑6 and ↓0+6
Comments16

Information

Rating
1,308-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity