Как стать автором
Обновить
1
0
Павел Иванов @reactoranime

Программист

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

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

Время на прочтение2 мин
Количество просмотров21K
Сразу озвучу задачку, чтобы не было предвкушения, будто тут будет показан какой-то крутой новый метод шифрования.

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

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

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

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

Для начала рассмотрим что такое 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 обычно отыскивается раньше, чем проходится весь цикл.
Читать дальше →
Всего голосов 18: ↑11 и ↓7+4
Комментарии16

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

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

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


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


Читать дальше →
Всего голосов 38: ↑29 и ↓9+20
Комментарии216

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

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

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


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

Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии22

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

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


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

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

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

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

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


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

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

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

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

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

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

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

Предлагаю вашему вниманию перевод статьи 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>: хорошие и плохие.

Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Комментарии4

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

Время на прочтение1 мин
Количество просмотров153K
Данная информация предоставленна толька для ознакомления

И чёрт меня дернул поставить пароль на это документ и чёрт же помог мне его забыть…
Гугление и открывание в опенофисе не помогло. И тут я вспомнил про то, что ворд умеет сохранять документы как html… не то (побилось форматирование), но уже близко.
Читать дальше →
Всего голосов 57: ↑43 и ↓14+29
Комментарии29

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

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

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

Читать далее
Всего голосов 16: ↑15 и ↓1+14
Комментарии12

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

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

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

Читать дальше →
Всего голосов 34: ↑23 и ↓11+12
Комментарии25

#Маленькая приятная новость

Время на прочтение1 мин
Количество просмотров33K
Всем привет! На наших проектах (Habrahabr, Geektimes и Мегамозг) появилось то, чего вы так долго ждали.


Читать дальше →
Всего голосов 261: ↑249 и ↓12+237
Комментарии101

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

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

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


Читать дальше →
Всего голосов 140: ↑121 и ↓19+102
Комментарии112

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

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


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

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

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

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


Читать дальше →
Всего голосов 24: ↑20 и ↓4+16
Комментарии24

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

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

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

Джэйми Завински, regex.info
Читать дальше →
Всего голосов 272: ↑231 и ↓41+190
Комментарии237

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

Время на прочтение14 мин
Количество просмотров29K
Это вторая публикация на тему программирования микроконтроллеров STM32 на языке ассемблера, первая часть находится Здесь.

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

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

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

Читать дальше →
Всего голосов 17: ↑14 и ↓3+11
Комментарии8

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

Время на прочтение15 мин
Количество просмотров70K
Обсуждение статьи после прочтения или задать вопросы можно в VK: vk.com/topic-200545792_46641834

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

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

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

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



Читать дальше →
Всего голосов 231: ↑117 и ↓114+3
Комментарии591

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

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

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

Задача про 2016

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

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

Факториалы и степени милостиво допускаются.
Всего голосов 30: ↑22 и ↓8+14
Комментарии68
1

Информация

В рейтинге
Не участвует
Откуда
Рига, Латвия, Латвия
Дата рождения
Зарегистрирован
Активность