Как стать автором
Обновить
0
0

Пользователь

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

Как работает FPGA?

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

Введение


Давайте начнём с самого начала. Что такое FPGA? FPGA расшифровывается как Field Programmable Gate Array (программируемая пользователем вентильная матрица).

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

На плате Alchitry Cu выделена FPGA Lattice iCE40 HX На плате Alchitry Au выделена FPGA Xilinx Artix 7
Хотя мы говорили об использовании FPGA для создания цифровых цепей, обычно для разработки их архитектуры не рисуют схемы. Если бы нам пришлось чертить схему, то размер и сложность цепей, которые могут содержать FPGA, стали бы очень громоздкими. Вместо этого мы можем описать поведение нужной нам цепи, а инструменты используют это описание для создания цепи, соответствующей этому поведению.

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

Если создание оборудования при помощи текста кажется вам магией, не волнуйтесь. Концепция его работы на самом деле довольно проста, и в этом туториале мы подробно о ней расскажем.
Читать дальше →
Всего голосов 53: ↑48 и ↓5+59
Комментарии13

Git для новичков (часть 1)

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

Git - это консольная утилита, для отслеживания и ведения истории изменения файлов, в вашем проекте. Чаще всего его используют для кода, но можно и для других файлов. Например, для картинок - полезно для дизайнеров.

С помощью Git-a вы можете откатить свой проект до более старой версии, сравнивать, анализировать или сливать свои изменения в репозиторий.

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

Основы Linux (обзор с практическим уклоном)

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

Привет, Хабр!

В последние несколько лет все больше и больше людей ищут возможность войти в ИТ или поглубже изучить Linux, повысив уровень своей квалификации. Вместе с тем полноценных обзоров с практическом уклоном по типу «все и сразу» написано не так уж и много (особенно на русском языке).

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

Читать далее
Всего голосов 59: ↑55 и ↓4+68
Комментарии44

«In the World of Hackers, Be a Knight»: решаем задачи с CTF-турнира

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

Привет, Хабр! Я Иван, занимаюсь информационной безопасностью в Selectel. Недавно прошел CTF-турнир KnightCTF 2024, который организовали cybersecurity-энтузиасты из Бангладеша. В течение одного дня участники со всего мира решали более 40 задач из разных категорий. Спойлер: это оказалось не так уж и сложно. Под катом делюсь, как решил некоторые из них.
Читать дальше →
Всего голосов 39: ↑38 и ↓1+47
Комментарии2

Основные linux-команды для новичка

Время на прочтение14 мин
Количество просмотров881K
Linux — это операционная система. Как винда (windows), только более защищенная. В винде легко подхватить вирус, в линуксе это практически невозможно. А еще линукс бесплатный, и ты сам себе хозяин: никаких тебе неотключаемых автообновлений системы!

Правда, разобраться в нем немного посложнее… Потому что большинство операций выполняется в командной строке. И если вы видите в вакансии «знание linux» — от вас ожидают как раз умение выполнять простейшие операции — перейти в другую директорию, скопировать файл, создать папочку… В этой статье я расскажу про типовые операции, которые стоит уметь делать новичку. Ну и плюс пара полезняшек для тестировщиков.

Я дам кратенькое описание основных команд с примерами (примеры я все проверяла на cent os, red hat based системе) + ссылки на статьи, где можно почитать подробнее. Если же хочется копнуть еще глубже, то см раздел «Книги и видео по теме». А еще комментарии к статье, там много полезного написали)
Читать дальше →
Всего голосов 64: ↑49 и ↓15+50
Комментарии172

Nmap — руководство для начинающих

Время на прочтение3 мин
Количество просмотров515K
Многие слышали и пользовались замечательной утилитой nmap. Ее любят и системные администраторы, и взломщики. Даже Голливуд знает про нее — в фильме «Матрица» при взломе используется nmap.
Читать дальше →
Всего голосов 120: ↑96 и ↓24+72
Комментарии27

Простой скрипт на Python для управления личными финансами

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

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

Читать далее
Всего голосов 43: ↑21 и ↓22+2
Комментарии26

Простыми словами о преобразовании Фурье

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров1.1M
Я полагаю что все в общих чертах знают о существовании такого замечательного математического инструмента как преобразование Фурье. Однако в ВУЗах его почему-то преподают настолько плохо, что понимают как это преобразование работает и как им правильно следует пользоваться сравнительно немного людей. Между тем математика данного преобразования на удивление красива, проста и изящна. Я предлагаю всем желающим узнать немного больше о преобразовании Фурье и близкой ему теме того как аналоговые сигналы удается эффективно превращать для вычислительной обработки в цифровые.

image (с) xkcd

Без использования сложных формул и матлаба я постараюсь ответить на следующие вопросы:
  • FT, DTF, DTFT — в чем отличия и как совершенно разные казалось бы формулы дают столь концептуально похожие результаты?
  • Как правильно интерпретировать результаты быстрого преобразования Фурье (FFT)
  • Что делать если дан сигнал из 179 сэмплов а БПФ требует на вход последовательность по длине равную степени двойки
  • Почему при попытке получить с помощью Фурье спектр синусоиды вместо ожидаемой одиночной “палки” на графике вылезает странная загогулина и что с этим можно сделать
  • Зачем перед АЦП и после ЦАП ставят аналоговые фильтры
  • Можно ли оцифровать АЦП сигнал с частотой выше половины частоты дискретизации (школьный ответ неверен, правильный ответ — можно)
  • Как по цифровой последовательности восстанавливают исходный сигнал


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

Итак, приступим?
Всего голосов 203: ↑192 и ↓11+181
Комментарии190

Техника для проверки подлинности денег

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

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

Рассмотрим подробно, как защищены современные валюты, как происходит проверка подлинности (валидация) и что за аппаратура для этого применяется.
Читать дальше →
Всего голосов 362: ↑361 и ↓1+360
Комментарии143

Операционные усилители: 10 схем на (почти) все случаи жизни

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

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


Читать дальше →
Всего голосов 102: ↑100 и ↓2+135
Комментарии54

Алгоритмы сортировки и их производительность

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

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

Читать далее
Всего голосов 64: ↑62 и ↓2+74
Комментарии29

«Галоп пикселя — часть шестая» — Анимация персонажей. Бег

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


«Галоп пикселя», часть I — базовые понятия, этапы взросления, прикладные упражнения (линк)
«Галоп пикселя», часть II — перспектива, цвет, анатомия и прикладные упражнения (линк)
«Галоп пикселя», часть III — Анимация (линк)
«Галоп пикселя», часть IV — Анимация света и тени (линк)
«Галоп пикселя», часть V — Анимация персонажей. Ходьба (линк)
«Галоп пикселя», часть VI — Анимация персонажей. Бег (линк)

Доброго времени суток, Хабр. Мы продолжаем цикл «Галоп Пикселя». И хотя паузы между главами этой саги достигли практически четырехлетнего перерыва — я рад (надеюсь и вы тоже) продолжить двигаться вперёд. Миля за милей, дорога за дорогой, в этой вечной былине о пиксель-арте. Пространном повествовании о пикселях, их жизни, способе их создания, приёмах и уловках в работе с ними.

На этот раз речь пойдёт о создании анимации бега, от истоков малых кадрами и цветами — к ренессансу больших разрешений и буйству цветов. В статье будут разобраны примеры самых разных типов анимаций, будет определена разница между шагом и бегом. Мы затронем как создание игровых ассетов, так и сущности близкие к анимационным заставкам, в простонародье известные как синематики.

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


Лопатить пиксели
Всего голосов 92: ↑92 и ↓0+92
Комментарии37

Разбор классического тестового задания на позицию Python Developer

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

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

Читать далее
Всего голосов 15: ↑7 и ↓8+2
Комментарии27

Решение reCAPTCHA в Selenium на полном автомате (адаптация англоязычной статьи)

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

Делаю робкие попытки в автоматизации и столкнулся с часто возникющей проблемой, распознавание Рекапчи (reCaptcha).

Естественно, я понимаю что по даннй теме написано много гайдов, мануалов и статей, но согласитесь - интересно описать собственный опыт.

Итак, за основу я взял англоязычный мануал, который попался мне на глаза буквально пару дней назад и я решил его потестить (а так как написан он сервисом по распознаванию капчи, который я и использую, то почему нет - кстати, ребята из 2капча - принимаю благодарность в виде зеленых бумажек, если интересно))))

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

Для решения возьмем демо страницу, любезно предоставленную самой Рекапчей -  https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php:

Читать далее
Всего голосов 6: ↑3 и ↓30
Комментарии15

Знакомство с частотными фильтрами. Часть 1: как спроектировать и немного схитрить

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров79K
https://stroitelcentr.ru

Представьте: вы принимаете аналоговый сигнал, смотрите на результаты показаний и видите, что синусоиду «перекосило». Все из-за плохой селективности вашего приемника и шумов, которые он принимает. Чтобы выделить и выровнять полезный сигнал и не слушать бесконечное шипение, в радиоприемнике должны быть качественные фильтры. Но что это такое, как они работают и какими бывают? Давайте разбираться.

Используйте навигацию, если не хотите читать текст полностью:

Что такое частотный фильтр
Очередной резистивный делитель, или из чего состоят фильтры
Немного о параметрах частотных фильтров
Рассчитывать фильтры — это сложно
Собираем фильтр Чебышева
Читать дальше →
Всего голосов 57: ↑56 и ↓1+73
Комментарии22

Как распознать мошеннический сайт. Памятка безопаснику для обучения пользователей основам ИБ

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

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

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

AES-128. Детали и реализация на python

Время на прочтение12 мин
Количество просмотров74K
Идея написать для себя что-то шифрующее родилась довольно тривиально — пришлось завести еще одну дебетовую карту и, следовательно, хранить в голове еще один пин-код. Хранить такую информацию в открытом виде паранойя не позволяет, использовать сторонние сервисы тоже, поэтому после некоторых поисков остановился на стандарте AES. Сразу захотелось разобраться и реализовать алгоритм самому, не прибегая к дополнительным модулям.

В статье я расскажу подробно о составляющих алгоритма, немного окунемся в мат часть и приведу пример реализации на python. В разработке я ограничивался только тем, что входит в состав стандартной библиотеки.
Читать дальше →
Всего голосов 37: ↑34 и ↓3+31
Комментарии23

Sublime Text 3 для верстки сайтов. Настройка внешнего вида и установка плагинов. Руководство для начинающих

Время на прочтение8 мин
Количество просмотров220K
Сегодня расскажу о редакторе кода, которым пользуюсь для верстки сайтов уже много лет. Быстрый, удобный и полностью настраиваемый Sublime Text 3.



Мы с нуля настроем его внешний вид, а также применим плагины AutoFileName, BracketHighliter, ColorHighliter, Emmet, GotoCSSDeclaration и Tag, которые существенно помогут нам при верстке сайтов! Ну что ж, от слов к делу!
Всего голосов 29: ↑18 и ↓11+7
Комментарии28

Теория игр: Введение

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

Что это такое, и с чем его едят.


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

Узнать больше
Всего голосов 83: ↑75 и ↓8+67
Комментарии26

Векторные пространства

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

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

Операция деления как раз одна из самых «дорогих» операций. Дело в том, что в алгебраических полях, а соответственно и в группах операция деления вообще отсутствует и выход из положения (когда не делить нельзя) состоит в том, что операцию деления заменяют умножением, но умножают не на саму координату, а на обращенное ее значение. Из этого следует, что предварительно надо привлекать расширенный алгоритм Евклида НОД и кое что еще. Одним словом, не все так просто как изображают авторы большинства публикаций о ЕСС. Почти все, что по этой теме опубликовано и не только в Интернете мне знакомо. Мало того, что авторы не компетентны и занимаются профанацией, оценщики этих публикаций плюсуют авторов в комментариях, т. е. не видят ни пробелов, ни явных ошибок. Про нормальную же статью пишут, что она уже 100500-я и от нее нулевой эффект. Так все пока на Хабре устроено, анализ публикаций делается огромный, но не качества содержания. Здесь возразить нечего — реклама двигатель бизнеса.
Читать дальше →
Всего голосов 10: ↑7 и ↓3+7
Комментарии3

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

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

Backend Developer, Pentester
Intern
От 2 000 $
Python
C++
English
C#
Protection of information