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

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

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

Алгоритм шифрования RC5 и его реализация на python

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

Алгоритм RC5


В своём посте, я хотел бы рассказать о симметричном алгоритме шифрования RC5 и моей версии его реализации на python. Данный алгоритм разработан известнейшим криптологом Рональдом Макдональдом Ривестом — одним из разработчиков системы RSA и основателей одноименной фирмы. По количеству пользователей RC5 стоит в одном ряду с такими известными алгоритмами как IDEA и Blowfish. Аббревиатура RC обозначает, по разным источникам, либо Rivest Cipher, либо Ron's Code, что в совокупности даёт нам «шифр Рона Ривеста». Заинтересовавшихся прошу под кат.
Не нажимать!
Всего голосов 25: ↑22 и ↓3+19
Комментарии8

В конце сентября в России открывается национальная образовательная онлайн-платформа

Время на прочтение3 мин
Количество просмотров8.7K
При поддержке Минобрнауки в Москве официально запустилась «Российская национальная платформа открытого образования», созданная ведущими вузами страны. Планируется, что уже через несколько лет на бесплатных онлайн-курсах будет заниматься миллион студентов из России и других стран. А их виртуальные оценки попадут в настоящие дипломы и резюме. Теперь пользователи смогут за несколько месяцев получить знания по конкретной специальности, вместо того чтобы три-пять лет изучать огромное количество зачастую ненужных предметов.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии17

Первый 3D-принтер гибрид (FDM, Гравер, Лазерная резка) — Formaker

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


CTC Electronic быстро развивающаяся компания, которая представила недорогой SLA 3D-принтер, и два FDM 3D-принтер, один с большой областью печати и второй двухэкструдерник, запустила компанию на Kickstarter с гибридным 3D-принтером под названием Formaker.
Читать дальше →
Всего голосов 8: ↑6 и ↓2+4
Комментарии9

7 основных расходов при покупке 3D-принтера, о которых вы не задумываетесь

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


Сегодня мы расскажем вам, с какими расходами столкнется каждый клиент, покупая 3D-принтер. Давайте рассмотрим подробнее:
Читать дальше →
Всего голосов 12: ↑7 и ↓5+2
Комментарии10

Программист настроил нейросеть для автоматического подбора пары в Tinder

Время на прочтение2 мин
Количество просмотров21K
imageАспирант Харм де Врай [Harm de Vries] из Монреальского университета создал нейронную сеть и натренировал её для поиска подходящего партнёра в социальной сети Tinder. Ему пришлось разобраться в собственных предпочтениях, а затем обучить им свою программу. В результате та начала верно предсказывать, что фотография девушки понравится исследователю, почти в 70% случаев.

Де Врай пытался найти себе пару, пользуясь услугами приложения для знакомств Tinder. Приложение построено по очень простой схеме – оно определяет положение пользователя при помощи GPS и отправляет ему фотографии оказавшихся неподалёку других участников сети. Если фотография ему не нравится, он делает свайп влево. Нравится – вправо. Если понравившийся пользователю человек также выбрал его у себя в смартфоне, то эти двое смогут начать общение. В итоге предлагается выбирать партнёра по одной фотографии.
Читать дальше →
Всего голосов 21: ↑15 и ↓6+9
Комментарии12

Снайперы тренируются в стрельбе по роботам

Время на прочтение1 мин
Количество просмотров1.5K
Marathon Robotics
Австралийская компания Marathon Robotics разработала тренировочный комплекс для снайперов. Суть комплекса проста: по картонной имитации городской улицы спокойно «прогуливаются» роботы, а снайперы по ним стреляют. Этакий Duck Hunt в двадцать первом веке.

Видео (на английском) и описание системы под катом.
Читать дальше →
Всего голосов 40: ↑37 и ↓3+34
Комментарии47

AccelEpi, или Как EPAM помогла в тестировании лекарств против эпилепсии

Время на прочтение8 мин
Количество просмотров7.7K
Эпилепсия. Представление обычных людей об этой болезни складывается из множества мифов и предрассудков. Зачастую даже сами больные находятся во власти подобных предубеждений, одним из которых является то, что эпилепсия неизлечима. Однако правильно подобранные лекарства могут помочь человеку начать новую жизнь — без болезни.

О платформе, предназначенной для испытания новейших препаратов против эпилепсии, и о том, какое отношение к ней имеет EPAM, читайте далее в статье.



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

EPAM, собери мне геном

Время на прочтение9 мин
Количество просмотров35K
Если сравнивать человека с компьютером, то его тело – это hardware, а то, что вдыхает в него жизнь – software. И сегодня речь пойдёт о человеческом software – его геноме.

image
Читать дальше →
Всего голосов 28: ↑22 и ↓6+16
Комментарии18

Бионическая линза позволяет сделать зрение идеальным

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


Интересная информация появилась на днях в Сети. Руководитель Ocumetics Technology Доктор Гарт Уэбб (Dr. Garth Webb) сообщил о том, что его компании удалось создать бионическую линзу, которая раз и навсегда решает проблемы с остротой зрения. Так, эта линза не только может улучшить остроту зрения, но и забыть о существовании очков или контактных линз.

Сама линза называется Ocumetics Bionic Lens, и разработка ее велась около восьми лет. Общая стоимость проекта составляет $3 млн. Для того, чтобы использовать такую линзу, нужна несложная операция, продолжительность которой составляет всего 8 минут. Операция заключается в введении бионической линзы в глаз шприцом с обычным физраствором. Эта операция очень похожа на процедуру удаления катаракты.
Читать дальше →
Всего голосов 51: ↑48 и ↓3+45
Комментарии183

Новый «сервиз» от Ubiquiti – пополнение в модельном ряде UniFi AC

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


Все верно – на днях компания Ubiquiti Networks (ubnt.com) анонсировала 4 новые модели точек доступа UniFi AC. Теперь модельный ряд высокоскоростных «тарелочек» не уступает вариативности предыдущего поколения UniFi, которое завоевало оглушительную популярность у строителей небольших WiFi-сетей. Стоимость младшей двухдиапазонной точки 802.11ac теперь начинается от 89 долларов, а все новые точки поддерживают технологию радиовыноса Wireless uplink. Общие данные о новых точках представлены в нашем quick-look-обзоре.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии42

Лекции Технопарка. 2 семестр. Базы данных

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


Очередной пост в рамках нашей постоянной рубрики «Лекции Технопарка». В этот раз предлагаем вашему вниманию лекции, посвящённые базам данных. Цель курса — получение студентами знаний в области проектирования реляционных баз данных, эффективной работы с базами данных, оптимизации запросов и схем данных, изучение особенностей использования баз данных в проектах с высокой нагрузкой и/или использующих большие массивы данных, noSQL и его применение для решения прикладных задач в WWW.
Читать дальше →
Всего голосов 47: ↑45 и ↓2+43
Комментарии0

Лекции Технопарка. 1 семестр. Алгоритмы и структуры данных

Время на прочтение2 мин
Количество просмотров164K
Очередной пост в рамках нашего цикла лекций Технопарка. В этот раз мы предлагаем вашему вниманию курс, посвящённый алгоритмам и структурам данных. Автор курса — Степан Мацкевич, сотрудник компании ABBYY.

Лекция 1. Основы


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


Читать дальше →
Всего голосов 52: ↑48 и ↓4+44
Комментарии14

Как работает реляционная БД

Время на прочтение51 мин
Количество просмотров545K
Реляционные базы данных (РБД) используются повсюду. Они бывают самых разных видов, от маленьких и полезных SQLite до мощных Teradata. Но в то же время существует очень немного статей, объясняющих принцип действия и устройство реляционных баз данных. Да и те, что есть — довольно поверхностные, без особых подробностей. Зато по более «модным» направлениям (большие данные, NoSQL или JS) написано гораздо больше статей, причём куда более глубоких. Вероятно, такая ситуация сложилась из-за того, что реляционные БД — вещь «старая» и слишком скучная, чтобы разбирать её вне университетских программ, исследовательских работ и книг.

На самом деле, мало кто действительно понимает, как работают реляционные БД. А многие разработчики очень не любят, когда они чего-то не понимают. Если реляционные БД используют порядка 40 лет, значит тому есть причина. РБД — штука очень интересная, поскольку в ее основе лежат полезные и широко используемые понятия. Если вы хотели бы разобраться в том, как работают РБД, то эта статья для вас.
Читать дальше →
Всего голосов 232: ↑229 и ↓3+226
Комментарии134

Ускоряем базу данных веб-сайта

Время на прочтение19 мин
Количество просмотров119K
Скорость загрузки веб-сайтов всегда была важной темой, но стала еще более актуальной с апреля 2010 года, когда Google стал учитывать её при ранжировании сайтов в поисковой выдаче. Однако, основной уклон, как правило, делался на уменьшении размера файлов, оптимизации параметров сервера, CSS и Javascript.
Также имеет место еще один немаловажный фактор. Это скорость, с которой веб-страницы формируются на сервере. Большинство крупных современных сайтов хранит всю информацию в базах данных и используют различные языки (например, PHP или ASP) для её извлечения, формирования HTML-страницы и отправки её браузеру.
Читать дальше →
Всего голосов 141: ↑88 и ↓53+35
Комментарии67

Реляционные базы данных обречены?

Время на прочтение14 мин
Количество просмотров156K
Примечание переводчика: хоть статья довольно старая (опубликована 2 года назад) и носит громкое название, в ней все же дается хорошее представление о различиях реляционных БД и NoSQL БД, их преимуществах и недостатках, а также приводится краткий обзор нереляционных хранилищ.

image
В последнее время появилось много нереляционных баз данных. Это говорит о том, что если вам нужна практически неограниченная масштабируемость по требованию, вам нужна нереляционная БД.

Если это правда, значит ли это, что могучие реляционные БД стали уязвимы? Значит ли это, что дни реляционных БД проходят и скоро совсем пройдут? В этой статье мы рассмотрим популярное течение нереляционных баз данных применительно к различным ситуациям и посмотрим, повлияет ли это на будущее реляционных БД.
Читать дальше →
Всего голосов 125: ↑101 и ↓24+77
Комментарии131

Что такое красивый код, и как его писать?

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

1. Вступление


Сталкиваясь с необходимостью контролировать работу других программистов, начинаешь понимать, что, помимо вещей, которым люди учатся достаточно легко и быстро, находятся проблемы, для устранения которых требуется существенное время.

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

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

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

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

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

В этом-то и заключается вся сложность: твое представление о “достойном” и “красивом” коде полностью основано на личном многолетнем опыте. Попробуй теперь передать это представление в сжатые сроки человеку с совсем другим опытом или даже вовсе без него.

Но если для нас действительно важно качество кода, который пишут люди, работающие вместе с нами, то попробовать все же стоит!
Читать дальше →
Всего голосов 97: ↑79 и ↓18+61
Комментарии146

Защита от тёмных искусств, Эпизод I

Время на прочтение2 мин
Количество просмотров8.3K
Привет, Хабр!

Четыре из 13 докладов в программе конференции Mobius, так или иначе, связаны с проблемами безопасности мобильных приложений.

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



Читать дальше →
Всего голосов 21: ↑13 и ↓8+5
Комментарии7

Поиск периодических элементов защиты Паспорта РФ с помощью преобразования Фурье

Время на прочтение7 мин
Количество просмотров31K
Многие документы содержат защитные элементы, такие как голограммы, водяные знаки, гильош и т.д. В процессе сканирования таких документов возникает проблема — защитные элементы мешают системам распознавания (OCR). При разработке Smart PassportReader мы провели исследование, направленное на поиск и устранение подобных защитных элементов с изображений документов.

Рассмотрим пример паспорта гражданина РФ, на котором легко увидеть периодический голографический узор.



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

В статье мы расскажем о методе определения наличия (детектирования) периодических шаблонов, использующем преобразование Фурье, который показал хорошие результаты в детектировании голографического узора на Российских паспортах.
Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии18

Распознавание Паспорта РФ на мобильном телефоне. (UPD: 28.03.2015 + выложили программу в App Store)

Время на прочтение8 мин
Количество просмотров64K
На сегодняшний день трудно найти человека, который хоть раз в жизни не сталкивался прямым или косвенным образом с распознаванием документов. Действительно, когда в мире для совершения любого сколь угодно серьезного дела необходима идентификация личности мы то и дело слышим «Можно ваш паспорт», чтобы очередной раз ввести ваши данные в компьютер с целью проверки разрешен ли вам вход, нет ли каких-либо неоплаченных долгов и так далее.
Читать дальше →
Всего голосов 35: ↑30 и ↓5+25
Комментарии78

Поиск периодических элементов защиты Паспорта РФ с помощью преобразования Фурье: часть вторая

Время на прочтение8 мин
Количество просмотров21K
Многие документы содержат защитные элементы, такие как голограммы, водяные знаки, гильош и т.д. В процессе сканирования таких документов возникает проблема — защитные элементы мешают системам распознавания (OCR). При разработке Smart PassportReader мы провели исследование, направленное на поиск и устранение подобных защитных элементов с изображений документов.



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

Как и в прошлый раз, для этого будет использоваться преобразование Фурье.
Читать дальше →
Всего голосов 33: ↑32 и ↓1+31
Комментарии2

Информация

В рейтинге
961-й
Зарегистрирован
Активность