RSS
Pages: 1 ... 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 ... 210
[>] [Перевод] Синхронизация состояний в многопользовательских играх
habra.16
habrabot(difrex,1) — All
2017-05-19 00:00:04


![image][1]


## Проблема многопользовательских игр


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

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

Обычно программа игры должна симулировать следующее:

_изменения в окружении с учётом времени и вводимых игроками данных_.

Игра — это программа, хранящая состояние, поэтому она зависит от времени (реального или логического). Например, PACMAN симулирует окружение, в котором постоянно перемещаются призраки.

Многопользовательская игра не является исключением, однако из-за взаимодействия игроков её сложность намного выше.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/efd/24c/d05/efd24cd05378241a2a725f3065992aa4.png
[2]: https://habrahabr.ru/post/328702/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Увеличиваем потенциал брошенного производителем сетевого хранилища
habra.16
habrabot(difrex,1) — All
2017-05-19 02:00:05


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



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



Эта история о том, что можно сделать самостоятельно, имея начальные навыки, желание и время разобраться в процессе обновления програмного обеспечения ПО встраиваемых устройств.



![image][1]



Для нетерпеливых: в конце получился полноценный аппарат с актуальной версией загрузчика [U-Boot][2], ![image][3] [Debian Jessie][4] и ![image][5] [OpenMediaVault][6] на борту.

[Читать дальше →][7]

[1]: https://habrastorage.org/web/cb1/31f/59c/cb131f59c0c64daab79e78860492ccac.png
[2]: https://ru.wikipedia.org/wiki/Das_U-Boot
[3]: https://habrastorage.org/web/fd0/813/f11/fd0813f117214f22becc7250d4e56ee5.png
[4]: https://wiki.debian.org/ru/DebianJessie
[5]: https://habrastorage.org/web/aab/f4c/99f/aabf4c99f2f5454a899d3bd5fbd60b80.png
[6]: http://www.openmediavault.org/
[7]: https://habrahabr.ru/post/327076/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Реализация SSO через SAML с примером
habra.16
habrabot(difrex,1) — All
2017-05-19 08:00:04


**Введение**



Доброго времени суток, дорогой читатель. Я уже давно хотел написать статью на хабре и вот наконец-то этот момент настал. Из последних тем, которыми я занимался и о которых мне есть что рассказать — это была реализация SSO для сервиса realtimeboard.com — замечательный продукт для работы удаленной команды, который хочется постоянно развивать и совершенствовать. Хочу здесь сразу уточнить, что в принципе SSO через Facebook и Google уже было в сервисе до моего прихода. Моей же задачей было реализовать его через протокол SAML.



SSO ([Single Sign-On][1]), — технология единого входа пользователей, благодаря которой владея одной лишь учетной записью пользователь может посещать множество различных сервисов.



[SAML][2] — это популярный XML-протокол для реализации SSO. Как правило большие организации (enterprise) используют именно его, как проверенный и надежный вариант.



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

[Читать дальше →][3]

[1]: https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_%D0%B5%D0%B4%D0%B8%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B2%D1%85%D0%BE%D0%B4%D0%B0
[2]: https://ru.wikipedia.org/wiki/SAML
[3]: https://habrahabr.ru/post/329022/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Эволюция фрактальных монстров
habra.16
habrabot(difrex,1) — All
2017-05-19 09:30:11


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

![][1]

Дальше много картинок и gif-анимация. Но прежде, чем переходить под кат, посмотрите на картинку выше и скажите, что на ней нарисовано?

[Читать дальше →][2]

[1]: https://habrastorage.org/web/c90/fd3/247/c90fd3247c204167b3b46eb653a7aa7b.png
[2]: https://habrahabr.ru/post/328568/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как правильно писать логи (?)
habra.16
habrabot(difrex,1) — All
2017-05-19 14:30:03


Тема может и банальная, но когда программа начинает работать как то не так, и вообще вести себя очень странно, часто приходится читать логи. И много логов, особенно если нет возможности отлаживать программу и не получается воспроизвести ошибку. Наверно каждый выработал для себя какие то правила, что, как и когда логировать. Ниже я хочу рассмотреть несколько правил записи сообщений в лог, а также будет небольшое сравнение библиотек логирования для языков php, ruby и go. Сборщики логов и системы доставки не будут рассматриваться сознательно (их обсуждали уже много раз).
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/327834/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Ubuntu + XRDP + x11RDP терминальный сервер, с поддержкой звука, для серфинга в интернете — пошаговое руководство
habra.16
habrabot(difrex,1) — All
2017-05-19 15:30:04


Особенно нетерпеливых отсылаю сразу в конец статьи где будет ссылка на готовый .deb-пакет для установки.

А для всех остальных…


### Предисловие


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

Для того чтобы все прошло успешно настоятельно советую, для начала, использовать те же самые версии ПО что и в данном описании. Потом, на основе полученного опыта, вы сможете реализовать данный проект на удобном Вам оборудовании и ПО.

Сборка и тестирование производилось на виртуальной машине от virtualbox. При использовании чистого железа так же могут возникнуть проблемы с настройками драйверов. Из программного обеспечения были использованы Ubuntu 16.04 LTS server / x11RDP 7.6 / xRPD 0.9.2. На других версиях данное решение не тестировалось и не проверялось.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/329066/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Машинное обучение для страховой компании: Реалистичность идеи
habra.16
habrabot(difrex,1) — All
2017-05-19 17:30:05


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

![][1]
[Читать дальше →][2]

[1]: https://habrastorage.org/web/c38/cea/d7a/c38cead7a85240a2acc867c6deff04aa.jpg
[2]: https://habrahabr.ru/post/329082/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Зло живёт в функциях сравнения
habra.16
habrabot(difrex,1) — All
2017-05-19 18:00:05


![Зло в функциях сравнения][1]
Возможно, читатели помнят мою статью под названием «Эффект последней строки». В ней идёт речь о замеченной мной закономерности: ошибка, чаще всего, допускается в последней строке однотипных блоков текста. Теперь я хочу рассказать о новом интересном наблюдении. Оказывается, программисты тяготеют к тому, чтобы допустить ошибку в функциях сравнения двух объектов. Такое утверждение выглядит неправдоподобным, однако, я покажу огромное количество примеров ошибок, которые шокируют читателя. Читайте новое исследование, будет интересно и страшно.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/aab/470/783/aab470783a9ba1903260167fc424cc73.png
[2]: https://habrahabr.ru/post/329090/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Security Week 20: Поддельные WannaCry, у HP в дровах кейлоггер, Chrome загружает лишнее
habra.16
habrabot(difrex,1) — All
2017-05-19 20:30:04


WannaCry успел прославиться так, что даже неграмотная часть населения планеты что-то где-то слышала, а уж те, кто имеет хоть какое-то отношение к информационной безопасности, успели досконально изучить многочисленные [исследования][1] троянца и [FAQ][2] по нему. Такого ажиотажа по поводу вредоносного ПО еще не было, так что у нас есть первая троянская суперзвезда. И у этой популярности уже появились последствия.

Даже самые ленивые админы закрыли доступ к порту 445 из Интернета (у кого был зачем-то открыт) и накатили обновления, то же сделали многие обычные пользователи, наши и британские ресерчеры синкхольнули стоп-домены нескольких вариантов WannaCry, однако полностью остановить эпидемию пока не удается. Теперь [выяснилось][3], что кто-то очень предприимчивый лихо прицепляется к этому поезду прямо на ходу, и пытается намыть себе копеечку.

Шон Диллон из RiskSense рассказал, что они там выявили несколько новых версий WannaCry, которые почти не отличаются от изначальной, только не радуют – вот только адрес бикойн-кошелька, на который требуется переводить выкуп, нагло перебит в хекс-редакторе. И еще одно крохотное изменение: подражатели, с помощью все той же грубой правки файла, отключили механизм самоуничтожения троянца, то есть стоп-домены для этих версий отсутствуют.
[Читать дальше →][4]

[1]: https://securelist.com/blog/incidents/78351/wannacry-ransomware-used-in-widespread-attacks-all-over-the-world/
[2]: https://securelist.com/blog/research/78411/wannacry-faq-what-you-need-to-know-today/
[3]: https://threatpost.com/wannacry-variants-pick-up-where-original-left-off/125681/
[4]: https://habrahabr.ru/post/329098/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Защищённый сервис обмена текстовыми сообщениями
habra.16
habrabot(difrex,1) — All
2017-05-19 21:30:04


Однажды, лежа на диване, попивая чай, я понял, что мне необходимо создать сервис для безопасного обмена текстовой информацией. Осознавая всю значимость этого дела, я подошел к нему основательно. Диван, осознав, всю важность данного действа решил мне в этом помочь. Вместе, сосредоточившись и превозмогая сон, мы создали чудесный сайт с открытым исходным кодом. Исходники можно посмотреть [тут][1], и шоукейс [тут][2] (все на Github).

Основные фичи, которых я добился:

* Высокая скорость загрузки
* Если указать пароль, то информация шифруется прямо в браузере и на сервер сохраняется только ничего. Для просмотра данных нужно ввести пароль, чтобы расшифровать в браузере данные, полученные не с сервера.
* Высокая загрузка центрального процессора
* Поисковым системам не запрещено индексировать содержимое сайта, потому что нет сайта
* HTTPS везде[Читать дальше →][3]

[1]: https://github.com/wasiher/PEPE_PROTECT/blob/master/index.html
[2]: https://wasiher.github.io/
[3]: https://habrahabr.ru/post/329088/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Противостояние Positive Hack Days: атакующие настроены на реванш
habra.16
habrabot(difrex,1) — All
2017-05-20 18:00:05


[![image][1]][2]

Совсем скоро стартует форум Positive Hack Days, а вместе с ним самая ожидаемая его часть — кибербитва между хакерами и безопасниками Противостояние. В прошлом году, как мы помним, [хакерам не удалось захватить город полностью][3], поэтому один из самых насущных вопросов этого года, который волнует не только участников, но и посетителей форума — удастся ли им взять реванш? Мы побеседовали c командами атакующих, узнали их настрой, планы на игру и, конечно же, прогнозы. [Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/5d1/abf/237/5d1abf237dda274c627f0b44923018c3.jpg
[2]: https://habrahabr.ru/company/pt/blog/329086/
[3]: https://www.phdays.ru/press/news/64206/
[4]: https://habrahabr.ru/post/329086/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Лекции Техносферы. Инфопоиск. Часть 1 (весна 2017)
habra.16
habrabot(difrex,1) — All
2017-05-20 21:30:04


![][1]



В эфире новый выпуск видеолекций нашего образовательного проекта Техносфера. На этот раз курс посвящён информационному поиску.



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



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

[Читать дальше →][2]

[1]: https://habrastorage.org/web/24b/1b4/a03/24b1b4a03b194401ba6595f0813bcc14.png
[2]: https://habrahabr.ru/post/329072/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как ошибся Белл (если статья привела правильный пример)
habra.16
habrabot(difrex,1) — All
2017-05-22 09:00:05


Не так давно, на этой неделе, я наткнулся на пост трехлетней давности. [Вот он][1]. Если вы будете его внимательно читать, то наткнетесь на то, что возмутит вас до глубины души. Если, конечно, вы понимаете что такое теория вероятностей. Речь об этом отрывке:
> «55.55% — вероятность того, что ящики зажгутся одним и тем же цветом, когда мы выбираем две двери наугад, в соответствии с теорией скрытых параметров».
Все мое знакомство с теорвером буквально заорало об ошибке. Но есть нюанс… Я тоже могу ошибаться. Так давайте проверим!
[Читать дальше →][2]

[1]: https://geektimes.ru/post/225583/
[2]: https://habrahabr.ru/post/329064/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Санкт-Петербург] Андрей Ершов — CRDT. Бесконфликтная синхронизация данных
habra.16
habrabot(difrex,1) — All
2017-05-22 11:30:03


![][1]

Уже в этот вторник, 23 мая, после долгого перерыва, в офисе DINO Systems состоится встреча CodeFreeze с **Андреем Ершовым**, специалистом по распределенным системам. Тема встречи — **CRDT. Бесконфликтная синхронизация данных**.
[Читать дальше →][2]

[1]: https://habrastorage.org/web/75e/8b6/f1f/75e8b6f1f44740219f74a351df17d824.png
[2]: https://habrahabr.ru/post/329148/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Баг в NTFS, или как подвесить всю систему
habra.16
habrabot(difrex,1) — All
2017-05-22 12:30:04


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

[][1]

Т.е. в данном примере, если попытаться открыть любой файл относительно файла $mft, доступ ко всему тому «С» повиснет, а так как этот том является системным, подвиснет и вся система. При этом не нужно иметь каких-либо прав. Если же том был не системным, то повиснет только доступ к этому тому, но если выполнить перезагрузку, то система повиснет на ней.
[Читать дальше →][2]

[1]: https://habrastorage.org/web/91c/371/c02/91c371c025f84a1abf34beb0251e8fe0.png
[2]: https://habrahabr.ru/post/329166/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Отечественный процессор от компании ЭЛВИС
habra.16
habrabot(difrex,1) — All
2017-05-22 13:30:05



Всем привет!
Наша [статья][1] про отечественный процессор Мультиклет, вызвал довольно большой интерес. Правда, многие почему-то решили, что это статья от самого Мультиклета :)
В этой статье речь пойдёт об отечественных производителях процессоров (микроконтроллеров). Сейчас эта тема достаточно популярна: например, этому была посвящена конференция [OSDay][2]. В общем, в этот раз к нам попала плата от компании «Электронные вычислительно-информационные системы» [ЭЛВИС][3]. Мы затащили туда свой Embox и решили, что пользователям хабра было бы интересно узнать и об этой эпопее.
[Читать дальше →][4]

[1]: https://habrahabr.ru/company/embox/blog/265059/
[2]: http://osday.ru/
[3]: http://multicore.ru
[4]: https://habrahabr.ru/post/329170/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] В чём суть проекта Moby и почему главным репозиторием Docker вдруг стал moby/moby?
habra.16
habrabot(difrex,1) — All
2017-05-22 14:00:05


Месяц назад компания Docker на конференции DockerCon 2017 официально [представила][1] свой новый Open Source-проект — [Moby][2]. Если это просто ещё один дополнительный проект, нужный кому-то, кто работает с Docker… то почему, как заметили внимательные пользователи, основной репозиторий компании в GitHub — docker/docker — стал пересылать на [moby/moby][3]?

![][4]

Забегая вперёд и заранее отвечая на вопросы разработчиков, использующих Docker как простой способ запуска приложений в контейнерах: Moby — проект **не** для вас. Несмотря на его появление и происходящие внутри перестановки, «внешне» (для пользователей Docker как готового продукта) ничего не изменится. А для тех, кто настроен более глубоко разобраться в этих перестановках (весьма значимых!) и, возможно, даже воспользоваться ими для решения своих задач… начну с краткого экскурса в новейшую историю развития Docker. [Читать дальше →][5]

[1]: https://blog.docker.com/2017/04/introducing-the-moby-project/
[2]: https://mobyproject.org/
[3]: https://github.com/moby/moby
[4]: https://habrastorage.org/web/c95/4ba/781/c954ba7814b24a199a4a4beeec47e89f.png
[5]: https://habrahabr.ru/post/329136/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Pygest #9. Релизы, статьи, интересные проекты из мира Python [8 мая 2017 — 22 мая 2017]
habra.16
habrabot(difrex,1) — All
2017-05-22 14:00:05


![image][1] Всем привет! Это уже девятый выпуск дайджеста на Хабрахабр о новостях из мира Python.

В сегодняшнем выпуске вы найдёте интересные материалы, касающиеся Django, создания интерпретаторов, алгоритмов и многого другого. Присылайте свои актуальные материалы, а также любые замечания и предложения, которые будут добавлены в ближайший дайджест.

А теперь к делу!
[Перейти к дайджесту][2]

[1]: https://habrastorage.org/files/aa2/815/f22/aa2815f2207940fab9ac72e85219fe3c.png
[2]: https://habrahabr.ru/post/329168/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Функциональный Rust: Готовим говядину
habra.16
habrabot(difrex,1) — All
2017-05-22 14:30:05


![image][1]



Попался мне на глаза Brainfuck-оподобный язык [Cow][2]. И решил я написать для него интерпретатор на новомодном [Rust][3]. А так как Rust — мультипарадигменный язык, то стиль написания программы будет функциональный. Чтобы узнать что получилось — прошу под кат.

[Читать дальше →][4]

[1]: https://habrastorage.org/files/974/556/336/974556336a1f49a882e08295a72209c7.png
[2]: https://ru.wikipedia.org/wiki/Brainfuck#.D0.AF.D0.B7.D1.8B.D0.BA.D0.B8_.D0.BD.D0.B0_.D0.BE.D1.81.D0.BD.D0.BE.D0.B2.D0.B5_Brainfuck
[3]: https://www.rust-lang.org/
[4]: https://habrahabr.ru/post/283450/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Приглашаем на Moscow Data Science 31 мая
habra.16
habrabot(difrex,1) — All
2017-05-22 18:00:08


![][1]

31 мая в офисе Mail.Ru Group состоится традиционная встреча сообщества Moscow Data Science. Вы сможете обменяться профессиональным опытом решения практических задач анализа данных и пообщаться в неформальной обстановке. В программе встречи три доклада, подробности читайте под катом.
[Читать дальше →][2]

[1]: https://habrastorage.org/web/b48/0f0/ca6/b480f0ca65c9449d9425a91fe94c2d8a.jpg
[2]: https://habrahabr.ru/post/329192/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Библиотека для визуализации спортивных сезонов
habra.16
habrabot(difrex,1) — All
2017-05-22 23:00:04


![][1]

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

[Читать дальше →][2]

[1]: https://habrastorage.org/web/59c/b7a/455/59cb7a4559eb4bb8a73825cd46b18e09.png
[2]: https://habrahabr.ru/post/329230/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Сравнение производительности иерархических моделей Django и PostgreSQL
habra.16
habrabot(difrex,1) — All
2017-05-23 08:00:05


Добрый день, уважаемые читатели.



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

[Читать дальше →][1]

[1]: https://habrahabr.ru/post/329204/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Противостояние Positive Hack Days: хакерам скучать не придется
habra.16
habrabot(difrex,1) — All
2017-05-23 09:00:04


[![image][1]][2]

До Противостояния остались считанные часы: напряжение растет, времени на подготовку все меньше, хакеры уже предупредили, что настроены взять реванш и вовсю готовятся к бою. Однако защитники, судя по всему, готовы дать серьезный отпор: традиционно накануне старта кибербитвы мы пытаемся выяснить, что припасено в рукавах у обеих сторон. Участники команд защиты поделились с нами своими стратегическими планами. [Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/323/929/bcb/323929bcb163cecafd1d3689386310de.jpg
[2]: https://habrahabr.ru/company/pt/blog/329188/
[3]: https://habrahabr.ru/post/329188/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Выпуск#2: ITренировка — актуальные вопросы и задачи от ведущих компаний
habra.16
habrabot(difrex,1) — All
2017-05-23 09:00:04


На этой неделе мы публикуем подборку из задач и вопросов, которые даёт на собеседованиях **Uber**. Задачи подобрали различного уровня сложности от «Easy» до «Hard», чтобы всем было интересно. Условие дано на английском языке.

Ответы, как и прошлый раз, опубликуем в течение недели. Круто, если вы будете писать в комментариях свои варианты решений )

**Вопросы:**

1. Какие KPI вы бы использовали, если бы запустили новый сервис Uber в определенной части мира и хотели знать, насколько он успешен?

2. Какой проект, над которым вы работали, провалился? Могли бы вы сделать что-нибудь, чтобы предотвратить его провал?
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/329208/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Избегание ада с помощью монад
habra.16
habrabot(difrex,1) — All
2017-05-23 11:30:04


![][1]

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



## Ад проверки на null {#ad-proverki-na-null}



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


var a = getData();
if (a != null) {
var b = getMoreData(a);
if (b != null) {
var c = getMoreData(b);
if (c != null) {
var d = getEvenMoreData(a, c)
if (d != null) {
print(d);
}
}
}
} [Читать дальше →][2]

[1]: https://habrastorage.org/web/814/47a/733/81447a733da24283b56ec84793f3d362.jpg
[2]: https://habrahabr.ru/post/329242/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Стабильный доход без вложений, или Как Яндекс начал охоту на фрод
habra.16
habrabot(difrex,1) — All
2017-05-23 12:30:04


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

![][1]

В прошлом году мы запустили новую версию Яндекс.Браузера с [защитой банковских карт][2] от фишинга. Помимо прочих проверок, эта технология оценивает наличие SSL-сертификата. Если пользователь вводит номер карты на HTTP-сайте, то браузер его предупреждает. Логика простая: банки, платежные системы и магазины, которые заботятся о безопасности пользователей, уже давно работают по HTTPS. Это не единственный механизм выявления подозрительных сайтов, но в контексте поста нам будет интересен именно он.

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

[Читать дальше →][3]

[1]: https://habrastorage.org/web/319/9e4/096/3199e4096f614222885b7dbf112a1025.png
[2]: https://habrahabr.ru/company/yandex/blog/309808/
[3]: https://habrahabr.ru/post/328706/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как организовать большое React-приложение и сделать его масштабируемым
habra.16
habrabot(difrex,1) — All
2017-05-23 12:30:04


![][1]

Одной из лучших особенностей React является то, что он не накладывает каких-либо ограничений на файловую структуру проекта. Поэтому на StackOverflow и аналогичных ресурсах так много вопросов о том, как структурировать React-приложения. Это очень спорная тема. Не существует единственного правильного пути. Предлагаем разобраться в этом вопросе с помощью [статьи Джека Франклина][2], в которой он рассказывает о подходе к структурированию больших React-приложений. Здесь вы узнаете, какие решения можно принимать при создании React-приложений: о выборе инструментов, структурировании файлов и разбивки компонентов на более мелкие части.
[Читать дальше →][3]

[1]: https://habrastorage.org/web/c33/228/563/c3322856334b481d878835887423faec.png
[2]: https://www.sitepoint.com/organize-large-react-application/
[3]: https://habrahabr.ru/post/329060/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Стабильный доход без вложений, или Как Яндекс начал охоту на фальшивый заработок
habra.16
habrabot(difrex,1) — All
2017-05-23 13:30:05


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

![][1]

В прошлом году мы запустили новую версию Яндекс.Браузера с [защитой банковских карт][2] от фишинга. Помимо прочих проверок, эта технология оценивает наличие SSL-сертификата. Если пользователь вводит номер карты на HTTP-сайте, то браузер его предупреждает. Логика простая: банки, платежные системы и магазины, которые заботятся о безопасности пользователей, уже давно работают по HTTPS. Это не единственный механизм выявления подозрительных сайтов, но в контексте поста нам будет интересен именно он.

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

[Читать дальше →][3]

[1]: https://habrastorage.org/web/319/9e4/096/3199e4096f614222885b7dbf112a1025.png
[2]: https://habrahabr.ru/company/yandex/blog/309808/
[3]: https://habrahabr.ru/post/328706/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Selenium под Windows: все с начала
habra.16
habrabot(difrex,1) — All
2017-05-23 14:30:04


Представляю вам перевод моей [статьи][1] на Medium.com.



Впервые выпущенная более 30 лет назад Microsoft Windows сегодня является неоспоримым лидером среди настольных операционных систем. Это просто нельзя игнорировать при разработке веб-приложений. В этой статье я хотел бы обсудить некоторые особенности использования Selenium под Windows и предложить простое и проверенное в боевых условиях решение, значительно упрощающее жизнь.
![][2]


[Читать дальше →][3]

[1]: https://medium.com/@aandryashin/selenium-on-windows-revisited-1ab8d51ccc06
[2]: https://habrastorage.org/web/032/079/cb6/032079cb6e604fe799fc50645b19bfbf.png
[3]: https://habrahabr.ru/post/329256/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Kali Linux 2017: обзор нововведений
habra.16
habrabot(difrex,1) — All
2017-05-23 15:00:04


![image][1]
 
Недавно была выпущена [новая версия][2] популярного дистрибутива Kali Linux 2017.1. В данной статье мы рассмотрим более подробно, что изменилось в новом релизе и как начать пользоваться нововведениями.

[Читать дальше →][3]

[1]: https://hsto.org/getpro/habr/post_images/3ec/2d9/19a/3ec2d919a0429a4b966b3290a6a6fe42.png
[2]: https://habrahabr.ru/company/pentestit/blog/327378/
[3]: https://habrahabr.ru/post/328950/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Видеозаписи: Cocoaheads meetup в офисе Badoo
habra.16
habrabot(difrex,1) — All
2017-05-23 18:30:04


![][1]



В пятницу, 19 мая, в нашем московском офисе прошел Cocoaheads-митап для iOS-разработчиков. Разнообразный по наполнению: два выступления докладчиков, викторина на проверку знаний и панельная дискуссия с экспертами из известных на рынке IT-компаний. Видеоотчет – под катом!

[Читать дальше →][2]

[1]: https://habrastorage.org/web/c6c/dce/eb9/c6cdceeb97a34f97b601dd3f38b832ca.jpg
[2]: https://habrahabr.ru/post/329292/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Видеозаписи: CocoaHeads meetup в офисе Badoo
habra.16
habrabot(difrex,1) — All
2017-05-23 20:00:05


![][1]



В пятницу, 19 мая, в нашем московском офисе прошел CocoaHeads-митап для iOS-разработчиков. Разнообразный по наполнению: два выступления докладчиков, викторина на проверку знаний и панельная дискуссия с экспертами из известных на рынке IT-компаний. Видеоотчет – под катом!

[Читать дальше →][2]

[1]: https://habrastorage.org/web/c6c/dce/eb9/c6cdceeb97a34f97b601dd3f38b832ca.jpg
[2]: https://habrahabr.ru/post/329292/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] 30 000 скачиваний ReactOS v.0.4.5 за 5 дней
habra.16
habrabot(difrex,1) — All
2017-05-24 02:30:03


![image][1]

Приветствуем хабражителей!

18 мая 2017 года в свет вышел новый релиз ReactOS под номером 0.4.5, и за 5 дней его скачали почти **30 000** раз с официальных зеркал. [Вот пруфы, Билли][2].

[Страница загрузки][3] | [список изменений][4] | [альтернативный список изменений][5] | [официальная новость][6] | [Читать дальше →][7]

[1]: https://habrastorage.org/getpro/habr/post_images/a00/5e0/6d2/a005e06d231508586f85043edb657527.jpg
[2]: https://sourceforge.net/projects/reactos/files/ReactOS/0.4.5/stats/timeline?dates=2017-05-17+to+2017-05-24
[3]: https://www.reactos.org/download
[4]: https://www.reactos.org/wiki/ChangeLog-0.4.5
[5]: https://www.reactos.org/forum/viewtopic.php?f=2&t=16280
[6]: https://www.reactos.org/project-news/reactos-045-released
[7]: https://habrahabr.ru/post/329314/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] А пусть тесты сами себя и поддерживают
habra.16
habrabot(difrex,1) — All
2017-05-24 10:30:04


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


## Как обычно выглядят тесты?


Очень схематично, каждый юнит-тест обычно состоит из следующих шагов:
1. инициализации входных данных;
2. выполнения бизнес-логики и получения результата;
3. сравнения результата с эталоном.
Входные и выходные данные зачастую находятся в самом коде; когда изменения кода привносят ожидаемые изменения в выходных данных, эталонные результаты приходится править вручную. В некоторых случаях, когда данные для теста объемны, их выносят в отдельные файлы, но поддержка эталонных данных, а так же логика сравнения остается на плечах разработчика.


## Но ведь все это можно унифицировать!

[Читать дальше →][1]

[1]: https://habrahabr.ru/post/329260/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Невероятный JavaScript — трюки, недоразумения и необычные возможности
habra.16
habrabot(difrex,1) — All
2017-05-24 11:30:04


Рано или поздно любой разработчик сталкивается с непонятными проблемами, а учитывая множество «особенностей» Vanilla JS, у нас это происходит довольно часто. Вне зависимости от причин поиск решений может затянуться или привести к созданию очередного велосипеда. А верный путь часто лежит на поверхности, нужно просто знать, где его искать и как применить полученные знания. О странностях и неожиданностях JS и их правильной интерпретации мы поговорим с экспертами в этой области Claudia Hernández и Jakob Mattson.

[![][1]][2]
[Читать дальше →][3]

[1]: https://habrastorage.org/web/d12/8af/82b/d128af82b75549f889e006425a6788be.jpg
[2]: https://habrahabr.ru/p/329302/
[3]: https://habrahabr.ru/post/329302/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Финал чемпионата мира по спортивному программированию ACM ICPC: прямая трансляция
habra.16
habrabot(difrex,1) — All
2017-05-24 11:30:04


Сегодня, в 18 часов по московскому времени, в американском Rapid City начнется финал самого престижного мирового соревнования для программистов – ACM ICPC. Приглашаем всех желающих увидеть это событие **[в прямом эфире][1]** (прямая трансляция начнется уже в 17 часов по Москве) и поддержать команду Университета ИТМО – одного из фаворитов чемпионата. О том, как команды со всего мира готовились к финалу, а также о прогнозах на победу расскажем ниже.

[![][2]][3] [Читать дальше →][4]

[1]: http://icpclive.com/
[2]: https://habrastorage.org/web/f63/74e/e46/f6374ee46cb547af86d6cc3e2c6496d0.jpg
[3]: https://habrahabr.ru/company/spbifmo/blog/329322/
[4]: https://habrahabr.ru/post/329322/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как пропатчить KDE под FreeBSD или, что ждать от мастер-классов на DevCon School 1 июня
habra.16
habrabot(difrex,1) — All
2017-05-24 15:00:06


С 2011 по 2016 включительно мы делали крутую конференцию DevCon в загородном формате на 2 дня. И каждый раз, в комментариях в анкетах нам просили больше рассказов про проекты реальных заказчиков, больше практикичеких работ!

И мы придумали и реализовали **DevCon School: бесплатное для участников мероприяите с гдубоким погружением**. Несмотря на свою сравнительно короткую исторю это название стало брендом и неким знаком качества. Нас просят провоидть их ещё и ещё. Особое моесто занимают большие DevCon School, которые мы проводим два раза в год. В отличие от обычных, в них есть нескольоко тем, а самое главное, есть возможность выбрать, каким именно образом с эими темами знакомиться: интенсивы или мастер-классы.

![][1]

Итак, посмотрим, что же нам готовят 12 мастер-классов доступных 1 июня на DevCon School: Технологии будущего, которая пройдёт в Digital October.
[Читать дальше →][2]

[1]: https://habrastorage.org/web/a28/3ab/e25/a283abe2592e49029a5b33066ff4c7ac.jpg
[2]: https://habrahabr.ru/post/329324/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как собрать голосового бота: распознавание речи, синтез речи и NLP в несколько строк кода
habra.16
habrabot(difrex,1) — All
2017-05-24 17:00:04


Мы регулярно пишем про голосовых ботов и автоматику входящих-исходящих звонков. Подтверждение доставки, заказов, угадывание и автоответ клиенту пока соединяемся с компанией — вся вот эта история. В комментариях мне резонно заметили, что про ботов я говорю много, а показываю мало. Это легко исправить! Хакатон S7 в Парке Горького в самом разгаре, 50 команд фигачат прототипы разного интересного — а у меня есть возможность попробовать уложиться в как можно меньшее количество строк кода. Минимализм в примерах — это круто.

[посмотрим, что у меня получилось?][1]

[1]: https://habrahabr.ru/post/329122/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Лекции Техносферы. Инфопоиск. Часть 2 (весна 2017)
habra.16
habrabot(difrex,1) — All
2017-05-24 17:30:03


![image][1]



Предлагаем вашему вниманию вторую часть учебного курса, посвящённого информационному поиску.



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



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

[Читать дальше →][2]

[1]: https://habrastorage.org/web/24b/1b4/a03/24b1b4a03b194401ba6595f0813bcc14.png
[2]: https://habrahabr.ru/post/329352/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как это попало в поток «разработка» или спасибо Гуглу за предоставленную возможность обратиться к программистам
habra.16
habrabot(difrex,1) — All
2017-05-24 18:00:04


Я бы очень хотел быть программистом, но, к сожалению, я маркетолог, которого каким-то образом занесло в аспирантуру Луизианы грызть гранит науки эконометрики. Да, я неплохо знаю математику, потихоньку осваиваю R и даже весьма сносно умею прогнозировать временные ряды с помощью разнообразных ARIMA моделей. Тем не менее, программист из меня ну вообще никакой.

Но на моих часах 2:22 ночи, а значит пора переходить ближе к делу. Так сложилось, что я учился в лицее, из которого ну просто все получались программистами и/или крутыми айтишниками. Множество хорошо знакомых мне выпускников работает в крупных компаниях вроде Гугла, Фейсбука и Амазона, кто-то уверенно чувствует себя в локальных командах, кто-то запускает свои проекты, а кто-то, вроде [viktor\_sytnik][1] побеждает в мировых командных соревнований по кибербезопасности.

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

Реклама в соцсетях? — Есть же АДБЛОК! СЕО? — Вы своим гавном весь интернет замусорили! Оффлайн реклама? — Да кто сейчас смотрит на эти ваши биллборды? Вот и [прошлая статья о уязвимости ВК][2] не обошлась без подобных комментариев.
![image][3]
А пока под катом вы будете решать задачку от Гугла, которую компания использовала в качестве нестандартной рекламной кампании для привлечения талантливых разработчиков в свои ряды, я постараюсь изменить ваше мнение о маркетинге.
[Читать дальше →][4]

[1]: https://habrahabr.ru/users/viktor_sytnik/
[2]: https://habrahabr.ru/post/324446/
[3]: https://habrastorage.org/web/fad/3da/951/fad3da951bc4442fa1cb99166957beb9.jpg
[4]: https://habrahabr.ru/post/329342/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] zetcd от CoreOS: Заменяя ZooKeeper на… хранилище etcd
habra.16
habrabot(difrex,1) — All
2017-05-24 19:30:04


На прошлой неделе компания CoreOS [порадовала][1] очередным Open Source-проектом — [zetcd][2]. На самом деле о нём было известно ещё с прошлого года, но теперь состоялся первый релиз, который перевёл продукт в статус бета-тестирования — заявил о готовности продукта к серьёзным испытаниям перед выпуском в мир production. Авторы позиционируют zetcd как готовую замену для ZooKeeper внутри таких распределённых/кластерных решений, как Mesos, Apache Kafka и Apache Drill. Их настрою не препятствует даже тот факт, что etcd предлагает «плоское» хранение ключей-значений против иерархического подхода своего конкурента. Как они к этому пришли?
![][3]
[Читать дальше →][4]

[1]: https://www.nixp.ru/news/14040.html
[2]: https://coreos.com/blog/introducing-zetcd
[3]: https://habrastorage.org/web/046/39e/9d7/04639e9d7dc24af0b72b68ea8159f46e.png
[4]: https://habrahabr.ru/post/329224/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Почему следует полностью переходить на Kotlin
habra.16
habrabot(difrex,1) — All
2017-05-24 20:30:04


![][1]



Хочу рассказать вам о новом языке программирования, который называется Kotlin, и объяснить, почему вам стоит использовать его в своём следующем проекте. Раньше я предпочитал Java, но в последний год пишу на Kotlin везде, где только можно. И в данный момент я не представляю себе ситуации, в которой лучше было бы выбрать Java.



Kotlin разработан в [JetBrains][2], и участие тех же людей в создании наборов [IDE][3], таких как **IntelliJ** и **ReSharper**, хорошо заметно по самому языку. Он **прагматичен** и **краток**, благодаря чему написание кода превращается в приятный и эффективный процесс.



Хотя Kotlin компилируется в [JavaScript][4] и скоро будет компилироваться в [машинный код][5], я сконцентрируюсь на его первичной среде — **JVM**.



Итак, несколько причин, почему вам следует полностью переходить на Kotlin (порядок случаен):

[Читать дальше →][6]

[1]: https://habrastorage.org/web/4d7/668/8cd/4d76688cd52744f2bd7d1f711f6a3e04.jpg
[2]: https://www.jetbrains.com/
[3]: https://www.jetbrains.com/products.html?fromMenu#type=ide
[4]: https://kotlinlang.org/docs/tutorials/javascript/kotlin-to-javascript/kotlin-to-javascript.html
[5]: https://blog.jetbrains.com/kotlin/2017/04/kotlinnative-tech-preview-kotlin-without-a-vm/
[6]: https://habrahabr.ru/post/329294/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Непрерывная интеграция (CI) для GitHub проектов на С/C++ с CMake-сборкой
habra.16
habrabot(difrex,1) — All
2017-05-24 20:30:04


![Continuous Integration][1]



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



Данная статья — инструкция по прикручиванию _базовой непрерывной интеграции_ (build-test-deploy) к гитхабовским C/C++ проектам с CMake сборкой — по непонятным причинам, на Хабре такого до сих пор не проскальзывало. Впрочем, если моё гугл-фу подвело меня, и таки проскальзывало — не беда. Лишний туториал, описывающий всё под несколько другим углом и предостерегающий от неповторимого набора набитых автором шишек, совершенно точно не повредит.


[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/ad2/54e/b5b/ad254eb5bc55b5223ee494ea845cbdb5.png
[2]: https://habrahabr.ru/post/329264/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Биокриптография как шанс спастись от криптоапокалипсиса
habra.16
habrabot(difrex,1) — All
2017-05-25 07:00:03


![][1]Было время, среди ученых ходила мода ругать природу за неоптимальные решения и массу применяемых «костылей». Один физик XIX века даже вошел историю с высказыванием в том духе, что господь бог – плохой оптик, и за конструкцию человеческого глаза он и гроша бы ему (богу) не дал. Потом его именем даже институт в Москве назвали, но уже не за это.

Так вот, он был неправ (хотя без слепого пятна можно было бы и обойтись). Сейчас наука то и дело подсматривает у живых организмов отдельные принципы и приемы. Да, они не всегда энергетически эффективны, часто область их применения узка, зато проверены миллионами лет выживания. И вот что интересно – даже в такой безжизненной области, как криптография, находится применение тому, что придумала когда-то жизнь. Конечно, животные не шифруют передаваемую информацию, так что напрямую тут ничего не украсть. We need to go deeper, как выразился известный оскароносец.

Поговаривают, что появление полноценных квантовых компьютеров все ближе, ближе и конец шифрования в том виде, в котором мы его знаем и любим. Разведслужбы в предвкушении потирают руки, криптографы мечутся в поисках криптографической «серебряной пули», а журналисты чуть ли не каждую неделю выпускают сенсации о том, что кто-то уже создал квантовый компьютер и все наши маленькие секреты уже не секреты.
[Читать дальше →][2]

[1]: https://habrastorage.org/web/fd4/861/c5a/fd4861c5aee64f58b155e5434e61b62d.jpg
[2]: https://habrahabr.ru/post/329332/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Расчет оттока клиентов банка (решение задачи с помощью Python)
habra.16
habrabot(difrex,1) — All
2017-05-25 07:00:03


Хочу поделиться опытом решения задачи по машинному обучению и анализу данных от Kaggle. Данная статья позиционируется как руководство для начинающих пользователей на примере не совсем простой задачи. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/329334/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Что скрыто внутри платформы автомобильного аукциона
habra.16
habrabot(difrex,1) — All
2017-05-25 10:30:04


Сервисы по продаже подержанных автомобилей обычно построены по одному принципу: «разместил объявление, позвонили, показал машину, продал». В таких проектах высокие технологии сконцентрированы, в основном, вокруг самого сайта. Но у нас всё иначе. Мы создали [платформу][1], на которой любой желающий может продать автодилерам через аукционную систему свою подержанную машину (даже аварийную), с проверкой технического состояния нашими специалистами. Причём продать по рыночной цене уже через полчаса после выставления на аукцион. За кажущейся простотой описания скрывается сложная экосистема из самописных и сторонних программных продуктов, о которой мы хотим рассказать.

![image][2]
[Читать дальше →][3]

[1]: https://www.carprice.ru/?utm_source=habr&utm_medium=text&utm_campaign=first-article
[2]: https://habrastorage.org/web/174/63e/5db/17463e5dba20427fbb8214276a31d898.jpg
[3]: https://habrahabr.ru/post/329424/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Pentestit Security Conference 2017: до встречи в июле
habra.16
habrabot(difrex,1) — All
2017-05-25 15:00:05


![image][1]

Коллеги и друзья! 15 июля 2017 в Орле состоится Pentestit Security Conference — конференция, посвященная практической информационной безопасности. Это будет встреча неравнодушных людей, которые любят информационную безопасность, даже не как профессию, а как стиль жизни. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/a86/74a/880/a8674a88091c8b2bd4800e701808f32c.jpg
[2]: https://habrahabr.ru/post/329376/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Финал чемпионата мира по спортивному программированию ACM ICPC: победитель уже известен
habra.16
habrabot(difrex,1) — All
2017-05-25 15:30:04


![][1]
_Победители принимают заслуженную награду из рук организаторов_

Вчера в 18 часов по московскому времени начался финал известнейшего мирового соревнования для программистов, которое называется [ACM ICPC][2]. В этом году в соревнованиях участвует более 46 тысяч человек из 103 разных стран. Это даже больше, чем участников Олимпиад — как зимних, так и летних. Напомним, что ICPC проводится каждый год, начиная с 1977 года.

Изначально российские участники были одними из основных претендентов на победу. Этому можно не удивляться, поскольку на предыдущих соревнованиях команды отечественных программистов становились абсолютными чемпионами соревнования 11 раз. При этом 6 раз победителями оказывались программисты из университета [ИТМО][3]. Сам университет этим очень гордится, поскольку такое количество побед — это мировой рекорд.
[Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/0ed/7e4/910/0ed7e49104a79e7697b5c928a484f13c.jpg
[2]: http://icpcnews.com/
[3]: http://www.ifmo.ru/
[4]: https://habrahabr.ru/post/329462/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Vue.js для сомневающихся. Все, что нужно знать
habra.16
habrabot(difrex,1) — All
2017-05-25 15:30:04


![][1]

В данной статье речь пойдет о замечательном фронтенд фреймворке Vue.js. Как вы видите, статья называется «Vue.js для сомневающихся», и, если вы до сих пор не могли решиться попробовать Vue.js на практике, то надеюсь, что после прочтения вы все-таки на это решитесь. [Читать дальше →][2]

[1]: https://habrastorage.org/web/2bc/ece/638/2bcece638fc74988b1e54b2143977586.jpg
[2]: https://habrahabr.ru/post/329452/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Внимание! Linux-версия эксплойта EternalBlue
habra.16
habrabot(difrex,1) — All
2017-05-25 16:00:05


[![][1]][2]

В сетевом программном обеспечении Samba обнаружена критическая уязвимость 7-летней давности, обеспечивающая возможность удалённого выполнение кода. Эта брешь может позволить злоумышленнику взять под контроль уязвимые машины Linux и Unix.

Samba — это программное обеспечение с открытым исходным кодом (иная реализация сетевого протокола SMB), которое работает в большинстве доступных сегодня операционных систем, включая Windows, Linux, UNIX, IBM System 390 и OpenVMS.

Samba позволяет другим операционным системам, отличным от Windows, таким как GNU / Linux или Mac OS X, совместно использовать общие сетевые папки, файлы и принтеры с операционной системой Windows.

Недавно обнаруженная уязвимость удаленного выполнения кода (CVE-2017-7494) затрагивает все версии новее, чем Samba 3.5.0, которая выпущена 1 марта 2010 года.
[Читать дальше →][3]

[1]: https://habrastorage.org/web/743/732/88c/74373288cfdb4322a63d30350d365ad9.png
[2]: https://habrahabr.ru/company/cloud4y/blog/329464/
[3]: https://habrahabr.ru/post/329464/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 ... 210