Как стать автором
Обновить
-24
0
Антон Холодцов @Error_403_Forbidden

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

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

AES шифрование и Android клиент

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


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

Срочно внедряем новый функционал. Все необходимые параметры для построения бизнес модели, в целях безопасности, будут передаваться в зашифрованном виде AES/CBC/PKCS5Padding с вектором инициализации AAACCCDDDYYUURRS и ключом шифрования ZZHHYYTTUUHHGGRR. Пример зашифрованных данных:

p+oJjsGEULNSptP5Sj1BM5w65hMjkqzahORd8ybIkqyJD0V/608c1tYuKIvDLUIa
RQ9jQ6+EwbyMFjlMa6xuEnxOx4sez001hd3NsLO7p00XoTqAvi9zwUBII+
nPphP6Zr0P4icvODpmhlmRILgSBsUf1H/3VN1lNXjo4LTa
GxLqW3VSg9iV9yFq4VMWqsRF

Попытки быстрого поиска решения выдали кучу неработающих примеров показали, что задача выходит за рамки привычной верстки layout’ов и написания Presenter’ов и требует изучения доков и чтения мануалов. Отличная возможность изучить что-то новое и обогатить свой опыт.

Но для начала, давайте разберемся, что же это такое — шифрование и зачем оно вообще нужно.
Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии12

Надежная противоугонная система для телефона

Время на прочтение1 мин
Количество просмотров13K
Иногда остановить вора можно только электрошоком



Том Мейб (Tom Mabe), ведущий комедийного канала на YouTube, разработал (с помощью специалистов, разумеется) противоугонную систему для смартфона. Такая система включает в себя шокер, встроенный в чехол устройства, и дистанционный пульт управления.

При нажатии на соответствующую кнопку на пульте телефон поражает человека разрядом. Идея создать такое устройство пришла Мейбу после того, как его предыдущий телефон украли. Несмотря на то, что видео и сам канал — юмористические (хотя кражу телефона смешной никак не назовешь), Том Мейб заявил о намерении в скором времени запустить продажу таких систем.
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии60

Павел Дуров раздаст $1 000 000 разработчикам Telegram ботов

Время на прочтение1 мин
Количество просмотров6.1K
image
Доброго времени суток, уважаемые хабравчане! Удивилен, что эта новость еще не была опубликована здесь. Совсем недавно состоялся релиз Telegram Bot Platform 2.0. Появилась дополнительная клавиатура при диалоге с ботом, запрос геолокации, новые типы контента, обновилась механика. В связи с этим событием Павел Дуров анонсировал конкурс с призовым фондом в $ 1 000 000. Разработчики лучших ботов для Telegram получат безвозмездные гранты на сумму от $25 000. Бот должен удовлетворять всего 3 основным требованиям:

  • Он должен быть быстрым, как все интерфейсы Telegram
  • Он должен быть полезен как минимум для нескольких человек
  • Будет хорошо, если он работает в режиме inline (обращение к боту через его никнэйм в любом чате).

Что касается тематики ботов, руководству Telegram наиболее интересны следующие направления: интеграции, инструменты для разработчиков, искусственный интеллект, обработка естественных языков. Но в принципе это тоже не имеет большого значения, как и сходство идеи с ботами на других платформах. Главное — полная гармония вашего бота с Telegram.
Читать дальше →
Всего голосов 26: ↑12 и ↓14-2
Комментарии9

Распознавание текста из видеопотока: будущее мобильного OCR

Время на прочтение6 мин
Количество просмотров19K
В последнее время мы довольно часто рассказываем в блоге о наших технологиях распознавания, которые работают на мобильных устройствах и распознают фотографии, сделанные камерами этих устройств. Сейчас мы движемся дальше и учимся работать не с фотографиями, а с видеопотоком. И сегодня мы хотим рассказать вам чуть подробней, что это означает и где в повседневной жизни может пригодиться распознавание текста из видеопотока.

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

О видеопотоке и распознавании


Для начала скажем, с каким именно видеопотоком мы работаем.
Читать дальше →
Всего голосов 31: ↑29 и ↓2+27
Комментарии15

Какую библиотеку работы с HTTP в Android выбрать?

Время на прочтение6 мин
Количество просмотров67K
Представляю вашему вниманию перевод статьи «Which Android HTTP library to use?».

Для чего это вообще?


Сегодня почти все приложения используют HTTP/HTTPS запросы как своеобразный транспорт для своих данных. Даже если вы напрямую не используете эти протоколы, множество SDK, которые вы, скорее всего, уже включили в свои приложения (например, метрика, статистика падений, реклама), используют HTTP/HTTPS для работы с сетью. На сегодняшний день совсем немного существует библиотек, которые разработчик мог бы свободно использовать в своем проекте. И я постараюсь рассказать об основных из них в этом посте.
У Android-разработчиков есть много причин, чтобы сделать выбор в пользу сторонних библиотек, заместо уже встроенных API, таких как HttpURLConnection или Apache Client. Например:
Узнать зачем
Всего голосов 17: ↑15 и ↓2+13
Комментарии13

Мозговой имплантат впервые позволил парализованному человеку управлять рукой

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


Почти шесть лет назад 19-летний первокурсник колледжа Иан Беркхарт (Ian Burkhart) неудачно нырнул в море и по несчастному стечению обстоятельств сломал шею о песчаное дно. Он оказался полностью парализован, потерял способность управлять руками и ногами. Такие травмы всегда считались неизлечимыми. До вчерашнего дня.

13 апреля 2016 года специалисты из университета штата Огайо объявили, что им удалось восстановить частичный контроль над кистью правой руки и пальцами Беркхарта. Для лечения применили экспериментальную кибернетическую технологию: имплантированный в мозг чип напрямую по проводам посылает сигналы мускулам, в обход спинного мозга. Это первый в истории медицины случай восстановления контроля над кистью у пациента с квадриплегией.
Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии37

Сканы мозга показали, как ЛСД действует на сознание

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

Профессор Натт: «Для нейробиологии это сродни открытию бозона Хиггса в физике»




Потрясающая научная работа опубликована в журнале Proceedings of the National Academy of Sciences (10.1073/pnas.1518377113). Теперь становится понятнее, почему Стив Джобс считал приём ЛСД «одной из двух или трёх самых важных вещей в его жизни».

Так вот, мультимодальное сканирование выявило, что один из самых мощных галлюциногенов, созданных человеком, не только воздействует на зрительную кору, как предполагалось ранее, но и связывает между собой различные районы мозга, которые обычно изолированы друг от друга! На иллюстрации вверху показано, как под влиянием ЛСД (справа) значительно увеличивается связь зрительной коры с другими районами. На левом снимке — мозг человека, принявшего плацебо.
Читать дальше →
Всего голосов 46: ↑42 и ↓4+38
Комментарии328

Ubuntu интегрировали в Windows 10

Время на прочтение2 мин
Количество просмотров401K
Сегодня на конференции Build компания Microsoft расскажет о последних нововведениях, которые сделаны в новом билде Windows 10 Redstone. Незадолго до презентации стало известно, что на конференцию приглашены сотрудники Canonical, и этому есть веская причина.



Дело в том, что Microsoft совместно с Canonical сумели интегрировать операционную систему Ubuntu внутрь Windows 10 (что-то вроде эмулятора).
Читать дальше →
Всего голосов 195: ↑181 и ↓14+167
Комментарии609

Кейс Pyrus: Как Максим Нальский ищет и находит лучшие решения

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

Фотография: Михаил Голденков/«Секрет Фирмы»
Москва, 15 минут пешком от станции метро «Сокол». По дороге попадаю в обстановку, нереальность которой ощущается во всём — уже после становится ясно, что мы находимся посреди памятника архитектуры. Максим выводит меня на балкон единственного четырёхэтажного здания, говорит, что летом здесь куда симпатичнее — вокруг, куда ни посмотри, двухэтажные коттеджи.

Принимая приглашение Максима Нальского к разговору, я и представить не мог, что это выльется в такое глобальное обсуждение. Предлагаю, пользуясь случаем, всем читателям «Мегамозга» почерпнуть немного экспертизы человека, всю свою жизнь с удовольствием создающего B2B-продукты — и это не «Советы основателя».

— Максим, что такое Pyrus? ERP/CRM? Или это продукт, выросший из необходимости некоторым образом оптимизировать собственные процессы?


Третий ответ, наверное, самый правильный.

Pyrus — это система для организации работы, рабочих процессов. Например, у вас в компании есть какой-то процесс. Скажем, согласование счетов. В организацию каждый день приходит 100 счетов на оплату. Чтобы оплата прошла, каждый из них должны подписать четыре-шесть человек. Причем, айтишные документы подписывает один человек, закупки – третий, аренду — четвёртый. Финансовый директор хочет видеть лишь то, что превышает 500 000 рублей, а генеральный — больше миллиона.

Вы пишете инструкцию, как это должно происходить в вашей компании, но исполняя эту инструкцию, сотрудники могут ошибаться. Поэтому вы ищете специализированный софт, оптимизирующий процесс.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии10

Архитектура Stack Overflow

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

Чтобы понять, как все это работает, давайте начнем с показателей Stack Overflow. Итак, ниже приводится статистика за 12 ноября 2013 и 9 февраля 2016 года:

статистика
  • 209,420,973 (+61,336,090) HTTP-запросов к нашему балансировщику нагрузки;
  • 66,294,789 (+30,199,477) страниц было загружено;
  • 1,240,266,346,053 (+406,273,363,426) битов (1.24 TБ) отосланного HTTP-трафика;
  • 569,449,470,023 (+282,874,825,991) битов (569 ГБ) всего получено;
  • 3,084,303,599,266 (+1,958,311,041,954) битов (3.08 ТБ) всего отослано;
  • 504,816,843 (+170,244,740) SQL-запросов (только из HTTP-запросов);
  • 5,831,683,114 (+5,418,818,063) обращений к Redis;
  • 17,158,874 (not tracked in 2013) поисков в Elastic;
  • 3,661,134 (+57,716) запросов Tag Engine;
  • 607,073,066 (+48,848,481) мс (168 часов) выполнения SQL-запросов;
  • 10,396,073 (-88,950,843) мс (2.8 часов) затрачено на обращение к Redis;
  • 147,018,571 (+14,634,512) мс (40.8 часов) затрачено на запросы к Tag Engine;
  • 1,609,944,301 (-1,118,232,744) мс (447 часов) затрачено на обработку в ASP.Net;
  • 22.71 (-5.29) мс в среднем (19.12 мс в ASP.Net) на формирование каждой из 49,180,275 запрошенных страниц;
  • 11.80 (-53.2) мс в среднем (8.81 мс в ASP.Net) на формирование каждой из 6,370,076 домашних страниц.


Вы можете спросить, почему существенно сократилась продолжительность обработки в ASP.Net по сравнению с 2013 годом (когда было 757 часов) несмотря на прибавление 61 миллиона запросов в день. Это произошло как и из-за модернизации оборудования в начале 2015 года, так и из-за некоторого изменения параметров в самих приложениях. Пожалуйста, не забывайте, что производительность – это наша отличительная особенность. Если Вы хотите, чтобы я более подробно рассказал о характеристиках оборудования – без проблем. В следующем посте будут подробные спецификации железа всех серверов, которые обеспечивают работу сайта.

Итак, что изменилось за прошедшие 2 года? Кроме замены некоторых серверов и сетевого оборудования, не очень многое. Вот укрупненный список хардварной части, которая обеспечивает работу ресурса (выделены различия по сравнению с 2013 годом):

  • 4 Microsoft SQL Servers (новое железо для 2-х из них);
  • 11 Web-серверов IIS (новое оборудование);
  • 2 сервера Redis (новое оборудование);
  • 3 сервера Tag Engine (новое оборудование для 2-х из 3-х);
  • 3 сервера Elasticsearch (те же, старые);
  • 4 балансировщика нагрузки HAProxy (добавлено 2 для поддержки CloudFlare);
  • 2 брандмауэра Fortinet 800C (вместо Cisco 5525-X ASAs);
  • 2 маршрутизатора Cisco ASR-1001 (вместо маршрутизаторов Cisco 3945);
  • 2 маршрутизатора Cisco ASR-1001-x (новые!).

Что нам необходимо, чтобы запустить Stack Overflow? Этот процесс не сильно изменился с 2013 года, но из-за оптимизации и нового железа, нам необходим только один web-сервер. Мы этого не хотели, но несколько раз успешно проверили. Вношу ясность: я заявляю, что это работает. Я не утверждаю, что это (запуск SO на единственном web-сервере) — хорошая затея, хотя каждый раз выглядит весьма забавно.
Читать дальше →
Всего голосов 78: ↑77 и ↓1+76
Комментарии29

Очень шустрый блог на WordPress при помощи связки nginx + PHP-FPM + MariaDB + Varnish

Время на прочтение13 мин
Количество просмотров91K
В данной статье я расскажу о том, как я заставил свой блог на WordPress летать за счёт грамотного кэширования, сжатия и другой оптимизации серверной и клиентской сторон. На момент написания статьи характеристики VDS следующие:
CPU: 1 x 2GHz
HDD: 10Gb
RAM: 512Mb
OS: Debian 8 x64

Схема работы системы выглядит следующим образом:

image
Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии49

Километры логов и восстановление баз данных на MS SQL

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

Или как без труда восстанавливать базы данных из длинной цепочки бэкапов



Читать дальше →
Всего голосов 18: ↑15 и ↓3+12
Комментарии18

Список ресурсов по машинному обучению. Часть 2

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


Продолжим (1, 2) рассматривать тему машинного обучения. Вашему вниманию вторая часть (первая тут) адаптированной подборки полезных материалов.
Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии0

Каверзные вопросы по C#

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

Хочу представить вашему вниманию комические купле каверзные вопросы по C#.
Не удержался и решил запостить немного классики.
Некоторые вопросы в подборке кому-то могут показаться слишком простыми, но небольшой подвох в них, как правило, есть. Иногда можно и простым вопросом подловить. Будут полезны тем, кто изучает язык.
Всех, кому интересно, прошу под кат!
Пойти под кат!
Всего голосов 34: ↑27 и ↓7+20
Комментарии86

Как мы портировали старый добрый русский квест

Время на прочтение23 мин
Количество просмотров43K
Меня зовут Светлана, я занимаюсь разработкой в компании Бука. Хочу поделиться с вами историей о том, как мы портировали игру.

Как всё начиналось


imageМногие наверняка помнят золотую эру квестов, которая пришлась на 90-е годы прошлого века. А некоторые из тех, кто постарше, даже застали лучших представителей жанра: King’s Quest, Space Quest, Myst, Broken Sword, Grim Fandango, Monkey Island.

Российский геймдев тоже не сидел сложа руки: коробки с играми серий «Братья Пилоты» и «Петька и Василий Иванович» расхватывали с прилавков магазинов как горячие пирожки!

Старые игры с возрастом не становятся хуже, но запустить их с каждым годом всё сложнее. Поэтому, как и многие другие издательства, мы решили портировать одну из своих лучших игр на современные устройства. И в качестве пробы пера выбрали классический квест «Петька и Василий Иванович: Спасают Галактику».
Читать дальше →
Всего голосов 64: ↑62 и ↓2+60
Комментарии35

Отношение «часть – целое» в темпоральной/событийной онтологии

Время на прочтение8 мин
Количество просмотров20K
Исходная публикация цикла («Классы, множества, группы, системы») заканчивалась выводом, что традиционная классификация индивидов через приписывание их к тем или иным классам-множествам не может считаться однородной, и следует различать (1) включение индивидов как частей в сложный объект (целое) и (2) подпадание индивидов под понятия, которые можно разделить на концептуальные и реляционные. Во втором тексте («Концептуальное описание индивидов») была предложена оригинальная иерархия концептуальных понятий («категория – тип – концепт – род – вид – разновидность – индивид»). В текущей публикации речь пойдет о классификации отношений типа «часть –целое». В лингвистических тезаурусах и в онтологиях верхнего уровня (WordNet, РуТез, SUMO, CYC Ontology, DOLCE) описаны различные варианты выделения подвидов отношения «часть – целое». В тексте предлагается еще один способ классификации.

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

Пример использования Faces API от Google

Время на прочтение3 мин
Количество просмотров27K
Не так давно Google выпустил версию 7.8 библиотеки Google Play Services. В числе мажорных нововведений представлен новый Mobile Vision API, состоящий из двух больших компонентов: Barcode API — для сканирования и распознавания различных штрих- и QR-кодов и обновленный Faces API — для поиска и трекинга лиц на картинках. Под катом познакомимся с Faces API, рассмотрим его основные возможности и напишем небольшое приложение.
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии8

С чего начинается рак: медики проследили развитие опухолей с одной клетки

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

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

«Одной из загадок, связанных с раком, была следующая: почему некоторые клетки тела, уже имеющие признаки мутаций, связываемых с раком, не вели себя, как раковые,- поясняет Чарльз Кауфман [Charles Kaufman], первый автор научной работы. – Мы обнаружили, что процесс развития рака начинается с активации онкогена или с потери антионкогена [гена-супрессора опухолей], и включает в себя изменения, возвращающие клетку в состояние стволовой».

Процесс развития опухоли наблюдали на примере меланомы рыбки данио-рерио. Судя по всему, именно набор генов, отвечающих за этот процесс, и нужно сделать целью терапии, подавляющей развитие рака. У рыбок была раковая мутация BRAFV600E, и отключался ген-супрессор p53.

Рыбки были генетически модифицированы таким образом, чтобы клетки, в которых включался ген крестин, светились зелёным в определённом свете. Этот ген отвечает за активацию генетической программы работы стволовых клеток, которая обычно отключается после окончания формирования эмбриона.
Читать дальше →
Всего голосов 4: ↑3 и ↓1+2
Комментарии5

Метод Виолы-Джонса (Viola-Jones) как основа для распознавания лиц

Время на прочтение15 мин
Количество просмотров181K
Хотя метод был разработан и представлен в 2001 году Полом Виолой и Майклом Джонсом [1, 2], он до сих пор на момент написания моего поста является основополагающим для поиска объектов на изображении в реальном времени [2]. По следам топика хабраюзера Indalo о данном методе, я попытался сам написать программу, которая распознает эмоцию на моём лице, но, к сожалению, не увидел на Хабре недостающей теории и описания работы некоторых алгоритмов, кроме указания их названий. Я решил собрать всё воедино, в одном месте. Сразу скажу, что свою программу успешно написал по данным алгоритмам. Как получилось рассказать о них ниже, решать Вам, уважаемые Хабрачитатели!
Добро пожаловать под кат!
Всего голосов 123: ↑121 и ↓2+119
Комментарии17

Как я написал игру за 3 года

Время на прочтение3 мин
Количество просмотров55K
На днях я закончил создание своей небольшой игры и хочу описать вам путь, по которому я прошел. Хочу сразу оговориться, что моей главной целью было получение знаний и опыта в создании 3D игр для Android, и этого я успешно добился. По этой же причине я не использовал готовые движки.

image

Я начинал с создания карт для Counter-Strike: сделал карту с автобусной остановкой из своего города, пытался сделать школу. Круто же постреляться в родной школе? Это дало мне базовое понимание из чего состоит виртуальный мир.

Несколько позже я начал проходить туториалы по OpenGL на Android. Радовался как ребенок, когда впервые на экране телефона появился заветный треугольник!

image
*Картинка взята отсюда

Затем получился кубик с наложенной текстурой камня и появились мысли о создании своей простейшей игры. Перенос игры Portal на Android казался вполне достижимой задачей для новичка. Я сильно недооценивал предстоящий объем работ. Хорошо, что на то время уже существовал Portal в Google Play, и я успел создать только одну комнату.

Тогда я решил сделать что-то попроще и, увидев в Футураме бильярд без гравитации, решил его по-быстрому воплотить (пока другие не успели). Оказалось, что я по-прежнему недооценивал объем работ. И, кстати, бильярд без гравитации таки успели сделать раньше меня.
Читать дальше →
Всего голосов 93: ↑82 и ↓11+71
Комментарии64
1
23 ...

Информация

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