Pull to refresh
1
0
Павел Иванов @reactoranime

Программист

Send message

Задание с экзамена по защите информации

Reading time2 min
Views21K
Сразу озвучу задачку, чтобы не было предвкушения, будто тут будет показан какой-то крутой новый метод шифрования.

Нужно доказать, что

Статья ориентирована на студентов, заинтересованных граждан и просто зевак. У нас защита информации была на пятом курсе в институте. На лекциях по защите информации было много историй о нелегкой судьбе русских программистов в шальные девяностые: как им платили за работу пельменями, которые делались на цокольном этаже предприятия, где они работали, как делается самогон и т.п. А оставшееся время лекции посвящалось собственно аспектам защиты информации. На лекциях давалось очень много теории по темам, хоть как-то связанным с алгоритмами шифрования. На экзамене в каждом билете было пара вопросов по теории и одна задачка.
Читать дальше →
Total votes 46: ↑33 and ↓13+20
Comments32

Одна из уязвимостей технологии WPS

Reading time3 min
Views55K

Для начала рассмотрим что такое WPS


Большинство современных роутеров поддерживают механизм WPS (Wi-Fi Protected Setup). С его помощью пользователь за считанные секунды может настроить безопасную беспроводную сеть, вообще не забивая себе голову тем, что «где-то еще нужно включить шифрование и прописать WPA-ключ.

WPS позволяет клиенту подключиться к точке доступа по 8-символьному коду, состоящему из цифр (PIN). Однако из-за ошибки в стандарте нужно угадать лишь 4 из них. Таким образом, достаточно всего-навсего 10000 попыток подбора и вне зависимости от сложности пароля для доступа к беспроводной сети вы автоматически получаете этот доступ, а с ним в придачу — и этот самый пароль как он есть.

Учитывая, что это взаимодействие происходит до любых проверок безопасности, в секунду можно отправлять по 10-50 запросов на вход через WPS, и через 3-15 часов (иногда больше, иногда меньше) вы получите ключи.

Когда данная уязвимость была раскрыта производители стали внедрять ограничение на число попыток входа (rate limit), после превышения которого точка доступа автоматически на какое-то время отключает WPS — однако до сих пор таких устройств не больше половины от уже выпущенных без этой защиты. Даже больше — временное отключение кардинально ничего не меняет, так как при одной попытке входа в минуту нам понадобится всего 10000/60/24 = 6,94 дней. А PIN обычно отыскивается раньше, чем проходится весь цикл.
Читать дальше →
Total votes 18: ↑11 and ↓7+4
Comments16

JSX: антипаттерн или нет?

Reading time3 min
Views28K

Довольно часто приходится слышать, что React и особенно JSX-шаблоны – это плохо, и хороший разработчик так не делает. Однако нечасто объясняется, чем именно вредит смешивание верстки и шаблонов в одном файле. И с этим мы попробуем сегодня разобраться.


Подход "каждой технологии свой файл" использовался с начала существования веба, поэтому неудивительно, что слом этого шаблона вызывает отторжение некоторых разработчиков. Но перед тем, как заявлять "нет, мы так делать не будем никогда", будет полезно разобраться истории и понять, почему JSX пользоваться можно, а смешивать скрипты и html – нет.


Читать дальше →
Total votes 38: ↑29 and ↓9+20
Comments216

React.js: собираем с нуля изоморфное / универсальное приложение. Часть 2: добавляем bootstrap, страницы и роутинг

Reading time21 min
Views84K

Разработка изоморфного приложения глазами моей жены


Это продолжение статьи про разработку изоморфного приложения с нуля на React.js. В этой части мы добавим несколько страниц, bootstrap, роутинг, концепцию Flux и ее популярную реализацию Redux.

Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments22

Сложный квест для хабравчан: 25 уровней

Reading time1 min
Views105K


Всем привет, меня зовут Влад, я программист в Mail.Ru Group. В 2010 году я делал квест для хабраюзеров и его прошло более 10 тысяч человек. На этот день программиста я решил сделать что-то похожее, но немного не успел: усложнял квест и не смог остановиться. (-:

Решать головоломку здесь: puzzle.mail.ru

Призы! Первому, кто ответит на все 25 вопросов, мы подарим Raspberry Pi 3 от DIY-сообщества Mail.Ru Group. Еще есть промежуточный приз: тот, кто первым пройдет 15-й уровень, получит от меня инвайт на Хабр.
Читать дальше
Total votes 123: ↑115 and ↓8+107
Comments716

Как продавать: как должен работать продавец

Reading time12 min
Views200K


Привет! Не думал, что когда-нибудь буду публиковать тут настолько далёкое от ИТ, но давайте попробуем, благо новые тематики позволяют. Сейчас расскажу, как именно мы учим своих продавцов. Если вы физически что-то продаёте — это гайд, как не сильно накосячить. Механика обтачивалась примерно три года.

Итак, первое и главное в рознице — продавец должен быть уверен в своём товаре. Если товар — отстой, который надо впаривать, то продавец получит такое дикое искривление психики через месяц, что к живым людям его выпускать нельзя будет вообще. Товар должен быть такой, чтобы про него можно было спокойно искренне рассказывать — и чтобы люди после этого брали. Это основа маркетинга. Уверенность в товаре — базис для всех остальных принципов.

Теперь посмотрим на сам процесс продажи. Он делится на пять шагов — приветствие, засада, разработка, презентация, продажа. Самая частая ошибка приветствия в том, что продавец, скорее всего, не доктор. Поэтому «Вам чем-нибудь помочь?» — это где угодно, но только не в стенах нашего магазина. Правильно улыбнуться и поздороваться с человеком, когда он заходит на точку. Задать настроение и обозначить, что вы его увидели. И всё. Не лезть к нему и не подходить даже. Человек зашёл — не надо набрасываться.

Хотя нет, прежде чем переходить к пунктам, обсудим подготовку.

Главный наш принцип в отношении покупателя — относиться к нему как к другу. Это не красивые слова, а одна предельно конкретная вещь — не делай ничего такого, что не сделал бы с другом.
Читать дальше →
Total votes 152: ↑145 and ↓7+138
Comments222

Что собой представляют образы Docker none:none?

Reading time3 min
Views22K

Предлагаю вашему вниманию перевод статьи What are Docker none:none images? из блога Project Atomic.


Последние несколько дней я потратил на упражнения с образами Docker <none>:<none>. Чтобы объяснить, что они собой представляют, и что могут натворить, я пишу этот пост, в котором ставлю вопросы:


  1. Что собой представляют образы Docker <none>:<none> ?
  2. Что собой представляют обособленные (dangling) образы ?
  3. Почему я вижу кучу образов <none>:<none>, когда делаю docker images -a ?
  4. В чем разница между docker images и docker images -a ?

Прежде чем я начну отвечать на вопросы, запомните, что есть два вида образов <none>:<none>: хорошие и плохие.

Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments4

Обход парольной защиты в документах ms word. (OFFICE11)

Reading time1 min
Views152K
Данная информация предоставленна толька для ознакомления

И чёрт меня дернул поставить пароль на это документ и чёрт же помог мне его забыть…
Гугление и открывание в опенофисе не помогло. И тут я вспомнил про то, что ворд умеет сохранять документы как html… не то (побилось форматирование), но уже близко.
Читать дальше →
Total votes 58: ↑43.5 and ↓14.5+29
Comments29

Движение робота к точке с заданными координатами

Reading time6 min
Views51K
Приветствуем вас, уважаемые хабравчане!
Наш научный коллектив, который носит название Студенческого конструкторского бюро кафедры СУиИ Университета ИТМО, продолжает разработку курсов по робототехнике, и хочет поделиться одним из последних проектов на Lego NXT.

Ранее мы публиковали курс «Практическая робототехника»на NXT. Сейчас этот курс используется для обучения студентов на кафедре, и на площадке «Открытое образование». Так же публиковались фрагменты этого курса с подробным описанием действий для идентификации модели двигателя и расчета регулятора для робота Segway.
В этот раз было решено реализовать объезд препятствий роботом с дифференциальным приводом. Конструкция робота достаточно простая: два колеса с двигателями, гироскоп и пара ультразвуковых датчиков. Для оценки пройденного расстояния используются энкодеры на валу двигателя, для ориентации робота, измеряется гироскопом его угловая скорость и рассчитывается угол поворота, а расстояние до препятствия измеряется ультразвуковыми дальномерами.

Читать далее
Total votes 16: ↑15 and ↓1+14
Comments12

Неофициальное расширение памяти iPhone или Китайская победа над Американским маркетингом

Reading time2 min
Views37K

Давным-давно, когда iPhone в России стоил дорого, многие покупали залоченные на AT&T айфоны с ибей, используя прокси-сим (гевейку) для анлока. В это время начался переход на iPhone 4, где способ с повышением модема до iPad'овского (06.15.00) не работал, последним софтовым анлоком был 01.59.00 (iOS 4.0), а обновление BaseBand требовало покупки новой гевейки. Вплоть до iOS 5.0, где новый модем 04.11.08 превратил множество устройств в iPod. Именно с этого момента расцвел этот удивительный китайский бизнес.
Под катом небольшая история от 2011 до наших дней с картинками.

Читать дальше →
Total votes 34: ↑23 and ↓11+12
Comments25

Как красиво оформить публикацию на Хабре

Reading time7 min
Views45K
Публикация – основная единица связи автора с читателем. Практика показывает, что на Хабре можно разместить почти любой формат: небольшой анонс и лонгрид-обзор, интервью, фотоотчёт, трансляцию события, урок и многое-многое другое. Нередко успех публикации зависит и от её оформления – приятно оформленный материал читать одно удовольствие. В этой статье мы постараемся предоставить вам много полезных советов по хорошему оформлению материала.

И первый лайфхак – кликабельная картинка до ката, которая ведёт сразу внутрь публикации:


Читать дальше →
Total votes 140: ↑121 and ↓19+102
Comments112

Как впихнуть невпихуемое или как защитить незащищаемое?

Reading time8 min
Views11K


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

Надо сказать, что на заре своей деятельности, я подписал пару таких Страшных Документов просто любопытства ради. То, что там будет чушь, было понятно заранее, но предлагавшие все это персонажи были столь занятны, что я решил посмотреть, что там внутри. Честно говоря, дело того не стоило, я в итоге даже не помню, что же там такое было, но оно было даже не чушью, а чем-то совершенно тривиальном и делающемся на каждом углу. Просто Автор не был в курсе.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments3

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

Reading time6 min
Views32K
Всем привет! Меня зовут Марат Нигматуллин. Я — студент Университета Иннополис, который готовит специалистов по информационным технологиям. Вуз активно сотрудничает в вузами-партнерами из числа лучших университетов мира с целью адаптации лучших практик. Сейчас я нахожусь как раз в одном из таких — в Университете Амстердама и обучаюсь по программе System and Network Engineering, с будущего учебного года эта программа будет предлагаться уже самим Университетом Иннополис. История, которую я хочу рассказать, достаточно простая, но от этого не менее интересная. Нюансы обучения за рубежом, сходство нидерландского и русского языков, интересные практические задания, университетская комиссия по этике и ещё много других подробностей под катом.


Читать дальше →
Total votes 24: ↑20 and ↓4+16
Comments24

Прекратите проверять Email с помощью регулярных выражений!

Reading time4 min
Views311K
Серьезно, прекратите. Это пустая трата времени и сил. Поищите регулярку для проверки Email в Google, взгляните на нее — и захочется отойти подышать свежим воздухом. Вспоминается одна очень известная цитата:

Некоторые люди, сталкиваясь с проблемой, думают: «О, я воспользуюсь регулярными выражениями».
Теперь у них две проблемы.

Джэйми Завински, regex.info
Читать дальше →
Total votes 272: ↑231 and ↓41+190
Comments237

STM32F4: GNU AS: Мигаем светодиодом (Оживление) (Часть 2)

Reading time14 min
Views29K
Это вторая публикация на тему программирования микроконтроллеров STM32 на языке ассемблера, первая часть находится Здесь.

Если у вас возникли вопросы или пожелания, но вы не можете здесь писать то переходите в VK: vk.com/topic-200545792_46641967

Дополнительно, обращаю внимание что сейчас (2021 год) написан небольшой редактор для программирования на ассемблере, в котором так же был написан код аналогичной функциональности, но с использованием «плюшек и удобных подушек» редактора, посмотреть конкретно про написание мигалки в нем можно в статье Assembler Editor Plus: Использование модулей (возможно в процессе прочтения нужно будет пройти еще по нескольким ссылкам где будет описано про функциональность редактора в общем, и как выполняется создание проекта, компиляция, прошивка, отладка)

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

Читать дальше →
Total votes 17: ↑14 and ↓3+11
Comments8

STM32F4: GNU AS: Программирование на ассемблере (Часть 1)

Reading time15 min
Views69K
Обсуждение статьи после прочтения или задать вопросы можно в VK: vk.com/topic-200545792_46641834

Так же теперь (2021 год) я написал небольшой редактор для программ на ассемблере, начинать читать можно с Редактор ассемблера для ARM микроконтроллеров для компилятора gnu as. Старт там же можно будет и создавать проект в более удобном формате нежели описано в этой и нескольких последующих статьях. При этом рекомендую все таки ознакомится со всеми статьями по этой тематике в моих публикациях, так как не везде я повторяю прошлые материалы.

Это моя первая статья для сообщества Хабрахабр и написать ее я решил про то что сейчас волнует меня самого: написание программ для микроконтроллеров STM32 (семейство АRМ) на языке ассемблера. Я использую отладочную плату на основе микроконтроллера STM32F407 (STM32F4 Discovery, Open407I-C), но статья будет не менее полезна и для программирования других микроконтроллеров STM32.
Читать дальше →
Total votes 34: ↑32 and ↓2+30
Comments45

Что меня раздражает в MacBook

Reading time8 min
Views111K
Я пользуюсь макбуком уже примерно 1 год, я использую его ежедневно и очень много. До этого я сидел на Ubuntu и Windows. И когда я покупал MacBook то я ожидал, что продуманность ОС и удобство пользования будут выше всяких похвал. Как никак это ведь Apple, да и завышенная цена формирует у меня завышенные ожидания по поводу качества. Но увы на практике все оказалось не настолько идеальным как я считал. Многие недочеты происходят из фундаментального подхода Apple, в котором они дизайн ставят выше удобства и очень часто получается так, что то, что они делают красивым с эстетической точки зрения не удобно использовать на практике. Вообще я сторонник того, что бы красивый дизайн не портил функциональность. Есть еще и другой класс недостатков, которые просто есть и не понятно по каким причинам Apple решила реализовать этот функционал именно так, а не иначе. Но обо все по порядку.



Читать дальше →
Total votes 231: ↑117 and ↓114+3
Comments591

Определение пола по ФИО – когда точность действительно важна

Reading time7 min
Views43K
Некоторое время назад меня заинтересовала задача определения пола человека по его ФИО. В тот момент я работал в области медицинского страхования, где эта проблема была действительно актуальна – расходы на одного застрахованного, а значит и тарифы, по которым людей принимали на страхование, в зависимости от пола клиента, могли отличаться в несколько раз. Большая часть договоров – корпоративные, застрахованные являются сотрудниками работодателя.

Мы никогда не видели большинство из них в глаза, все, что мы имели – списки застрахованных, где пол иногда был указан (с большим количеством ошибок), но чаще – не указан вообще. Большинство компаний имеют свою специфику работы и профессиональные традиции, в силу чего, в их коллективах преобладают люди одного пола. Даже небольшая ошибка могла сделать потенциально прибыльный договор убыточным (или наоборот, но на такое, по странному стечению обстоятельств, случалось с нашими клиентами гораздо реже). В целом, при объеме портфеля договоров в несколько миллиардов, и характерном количестве ошибок около процента, цена корректного определения пола по ФИО была в районе нескольких десятков миллионов.
Читать дальше →
Total votes 38: ↑32 and ↓6+26
Comments57

Задача про 2016

Reading time1 min
Views30K
Предлагаю порешать в кругу прекрасных дам-программистов традиционную новогоднюю задачу про 2016 год. Надо расставить знаки и скобки, чтобы получилось любое число от 1 до 100.
Например
20*(-1+6)=100

Или
2+0-1^6=1

Факториалы и степени милостиво допускаются.
Total votes 30: ↑22 and ↓8+14
Comments68
1

Information

Rating
Does not participate
Location
Рига, Латвия, Латвия
Date of birth
Registered
Activity