RSS
Pages: 1 ... 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 ... 133
[>] Пять книг по программированию, которые стоит прочесть
habra.16
habrabot(difrex,1) — All
2017-05-16 12:00:05


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

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

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

[1]: https://habrastorage.org/web/4a6/1ad/70e/4a61ad70ebf74a2fa06510da0a164f5d.jpg
[2]: https://habrahabr.ru/post/328712/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Идиоматичный Kotlin, набор хороших практик
habra.16
habrabot(difrex,1) — All
2017-05-16 12:00:05


![][1]

Чтобы полностью раскрыть все преимущества _Kotlin_, пересмотрим некоторые подходы, которые мы используем в _Java_. Многие из них могут быть заменены на лучшие аналоги из _Kotlin_. Давайте посмотрим на то, как мы можем написать идиоматичный код на _Kotlin_.

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

[1]: https://habrastorage.org/web/d7c/41f/bb5/d7c41fbb554644e0be8f303b554d6a2a.png
[2]: https://habrahabr.ru/post/328218/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] На страх параноикам: куда нас привела разработка системы аналитики для борьбы с промшпионажем
habra.16
habrabot(difrex,1) — All
2017-05-16 12:00:05


![][1]

**У одного из наших заказчиков появился довольно интересный запрос, связанный с работой контрразведки на предприятии.** Цель — чтобы более чем дорогую (в том числе для государства) информацию не выносили наружу. Идея реализации — сбор всех возможных открытых данных о сотрудниках и выявление среди них «казачков» по шаблонам поведения. Собственно, это и раньше делали безопасники вручную, но теперь предлагалось применить хороший дата-майнинг.

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

[1]: https://habrastorage.org/web/9e1/680/f09/9e1680f09cd54c9ca8e8141ca8223626.jpg
[2]: https://habrahabr.ru/post/328762/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Обратная сторона авиабилета. Как Туту.ру помогает подобрать оптимальный тариф
habra.16
habrabot(difrex,1) — All
2017-05-16 12:30:04


![image][1]



Весной 2014 года были приняты поправки к Воздушному кодексу РФ, позволяющие авиакомпаниям заключать договор на перевозку без возврата платы за проезд в случае расторжения договора. Иными словами, на рынке авиаперевозок появились невозвратные тарифы. До этих изменений авиакомпании могли лишь удерживать штраф в размере не более 25% от стоимости билета, если пассажир сдавал билет позднее, чем за сутки до вылета. Новые поправки позволили авиакомпаниям предложить пассажирам более дешевые, но невозвратные билеты.



В это же время появились бюджетные «безбагажные тарифы». На самом деле, полностью безбагажными их назвать нельзя: по закону РФ, пассажир имеет право провезти с собой до 10 кг личных вещей. И здесь есть интересный момент: закон не регулирует, каким образом пассажир перевозит эти 10 кг — в салоне самолета или в багажном отсеке. Как известно, в салон нельзя брать множество вещей: например, жидкость более 100 мл, маникюрные ножницы, пилочку и некоторые гаджеты. Даже если тариф включает провоз багажа, каждая авиакомпания сама определяет максимальный вес и размеры багажа и ручной клади на одного пассажира.



Пассажиры путались в тарифах, возникало много вопросов, связанных с провозом багажа и доплатой перевеса. В этой статье я хочу рассказать, что и как мы сделали, чтобы облегчить пользователям [Tutu.ru][2] поиск наиболее подходящих авиабилетов среди десятков доступных вариантов.

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

[1]: https://habrastorage.org/web/357/5e8/5b2/3575e85b29344b5294dfe337a8e640a0.jpg
[2]: https://avia.tutu.ru/
[3]: https://habrahabr.ru/post/328750/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Кому нужны звонки, когда есть чаты и боты?
habra.16
habrabot(difrex,1) — All
2017-05-16 13:30:04


![][1]Есть у компаний добрая традиция: рассказывать о своих «профильных» технологиях. Как они всем нужны, развиваются и что без них никуда. Когда два года назад я пришел в Voximplant рассказывать про автоматику звонков, про звонки я знал только то, что они есть. Ну и еще страшное слово «АТС», которое обычно какая-нибудь циска в углу.

Прошло два года, в течении которых мессенджеры должно были вот-вот убить звонки. К мессенджерам присоединились чат-боты, биг дата, дип лёрнинг. У звонков вообще не было шансов. Но они почему-то не умирали. От слова «совсем». Миллионы звонков в месяц исправно удваивались, отдел продаж не вылезал из встреч, а ко мне в фейсбук, скайп и телеграм постоянно заходили разработчики, которым надо автоматизировать звонки.

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

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

[1]: https://habrastorage.org/web/8c5/d9a/d55/8c5d9ad554844af8a4606cd5e7f90a4f.jpg
[2]: https://habrahabr.ru/post/328616/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Элементы функционального программирования в C++: композиции отображений
habra.16
habrabot(difrex,1) — All
2017-05-16 15:30:04


<>

Стандартная библиотека языка C++ очень неплоха. Долгие годы стандартные алгоритмы верой и правдой служат простому плюсовику!



Но вся отрасль бурно развивается, и язык C++ вместе с ней. Уже давно люди стали понимать, что как бы хороши ни были стандартные алгоритмы, у них есть большой недостаток: нулевая компонуемость. Иначе говоря, невозможно без дополнительных сложностей объединить в цепочку несколько алгоритмов преобразования, фильтрации, свёртки и т.д. и т.п.



Существует несколько вариантов решения данной проблемы. Один из них — [ленивые вычисления и диапазоны][1] — уже на подходе к стандартной библиотеке.



Однако, и старые добрые алгоритмы пока рано списывать со счетов.



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

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

[1]: https://github.com/ericniebler/range-v3
[2]: https://habrahabr.ru/post/328624/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Web crawler с использованием Python и Chrome
habra.16
habrabot(difrex,1) — All
2017-05-16 17:00:04


Добрый день, дорогие друзья.

Недавно, сидя на диване, я задумался о том, что хочется мне сделать своего паука, который что-то бы смог качать с веб сайтов. Но качать он должен был бы не простой загрузкой, а как настоящий милый добрый браузер (т.е. JavaScript чтобы исполнялся).

В моей голове всплыли такие интересные штуки, как Selenium, PhantomJS, Splash и всякое подобное. Все эти штуки были мне немного втягость. Вот какие причины я выявил:

* Дело в том, что я хотел бы писать на своем любимом питоне, потому что очень не люблю JavaScript, а это уже означает, что большая часть уже не работала бы (или пришлось их как-то склеивать, что тоже отстой).
* Еще эти безголовые браузеры обновляются как когда.
* Но вот Selenium очень милая штука, но я не нашел, как там отслеживать загрузку страниц, или хотя бы адекватного способа выдрать куку или задать её. Слышал, что многие любители селениума инжектят в страничку JavaScript, что для меня дико, потому что где-то полгода назад я делал сайтик, который отрывал любые JavaScript вызовы с сайта и потенциально мог определять моего паука. Мне бы очень не хотелось таких казусов. Хочется чтобы мой паук выглядел как браузер максимально точно.
[Читать дальше →][1]

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

[>] Книга «Философия DevOps. Искусство управления IT»
habra.16
habrabot(difrex,1) — All
2017-05-16 17:00:04


![image][1] Привет, Хаброжители! Наконец-то у нас вышла книга Дженнифер Дэвис и Кэтрин Дэниелс — Философия DevOps.

IT-принцип «agile» стал мантрой цифровой эпохи. С ростом проектов, переходом от монолитных приложений к системе микросервисов, увеличением и накоплением продуктов возникают вопросы, которые требуют совершенно иного подхода. Теперь наибольший интерес вызывает находящаяся на стыке разработки и операционного управления методология DevOps.

DevOps — это не просто набор техник, это философия. Разработчики, зацикленные на пользователях, должны уделять внимание поддержке и ее запросам. Сисадмины должны сообщать о проблемах продукта и вносить свой вклад в улучшение процесса работы. Но налаживание связей внутри компании — это лишь первый шаг. Чтобы продукт стал простым и удобным, придется вложить время и ресурсы в его доработку. Конфигурация через центральную службу, внедрение простым копированием, отсутствие внешних зависимостей, обдуманные метрики вместо мусора в логах — вот лишь часть задач, которые придется решать на этом пути.
[Читать дальше →][2]

[1]: https://habrastorage.org/web/3d3/30c/4b8/3d330c4b822e40a3bb60c804d808023e.jpg
[2]: https://habrahabr.ru/post/328774/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Сервисы на Go в Badoo: как мы их пишем и поддерживаем
habra.16
habrabot(difrex,1) — All
2017-05-16 19:00:04


![][1]



Написать сетевой сервис на Go очень просто: в стандартной библиотеке есть куча инструментов, а если чего-то и не хватает, то на Github есть много модных библиотек для удовлетворения большинства нужд.



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



Если каждый демон будет использовать все свежие разнообразные «смузи»-технологии, получится «зоопарк», который сложно и дорого поддерживать, не говоря уже о добавлении в них новой функциональности.



У нас в Badoo крутятся &gt;30 самописных демонов, написанных на разных языках, и ~10 из них – на Go. Все эти демоны работают на порядка 300 серверах. Как мы к этому пришли, не получив в итоге «зоопарк», как админы с мониторингом умудряются спать спокойно, не ограничивая при этом никого в смузи, а девелоперы, QA и релизеры живут дружно и до сих пор не переругались – читайте под катом.

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

[1]: https://habrastorage.org/web/2aa/ba3/da5/2aaba3da502e454b99ddf9f3d57072a0.png
[2]: https://habrahabr.ru/post/328062/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Многорукий бандит в задаче поиска объектов в видеопотоке
habra.16
habrabot(difrex,1) — All
2017-05-16 20:00:04


На Хабре уже неоднократно затрагивалась тема применения так называемых “бандитов” для интеллектуального анализа данных. В отличии от уже привычного обучения машин по прецедентам, которое сплошь и рядом применяется в задачах распознавания, многорукий бандит применяется для построения в некотором смысле “рекомендательных” систем. На Хабре уже очень подробно и доступно рассказано о идее многорукого бандита и применимости ее к задаче рекомендации интернет-контента. Мы же в своем очередном посте хотели рассказать вам о симбиозе обучения по прецедентам и обучения с подкреплением в задачах распознавания видеопотока.
[Читать дальше →][1]

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

[>] PDUG-секция на PHDays VII: как разрабатывать приложения, которые не взломают хакеры
habra.16
habrabot(difrex,1) — All
2017-05-16 20:00:04


[![][1]][2]

PHDays VII стремительно приближается, и мы спешим сообщить, что на площадке форума снова соберется [Positive Development User Group][3] — открытое сообщество безопасной разработки. В прошлом году под эгидой PDUG прошел [отдельный семинар][4] (подробности в отчете [VladimirKochetkov][5]), а в этом мы запланировали целую секцию с мастер-классом по AppSec, тематическими докладами о разных аспектах безопасной разработки и даже бета-тестированием нового бесплатного сервиса для поиска уязвимостей веб-сайтов. [Читать дальше →][6]

[1]: https://habrastorage.org/web/9e7/14d/503/9e714d503de34d82a28fce99dfe0409d.jpg
[2]: https://habrahabr.ru/company/pt/blog/328780/
[3]: https://www.facebook.com/groups/positivedevelopmentusergroup/
[4]: https://kochetkov.github.io/following-the-tracks-of-phdays-6.html
[5]: https://habrahabr.ru/users/vladimirkochetkov/
[6]: https://habrahabr.ru/post/328780/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Разбираем уязвимость CVE-2017-0263 для повышения привилегий в Windows
habra.16
habrabot(difrex,1) — All
2017-05-16 20:30:03


![][1]

Май оказался богат на интересные уязвимости в популярной операционной системе. На днях злоумышленники массово заражали компьютеры вирусом-вымогателем WannaCry, эксплуатируя недостаток безопасности в протоколе SMB и инструмент, известный как Eternalblue. Чуть ранее, 9 мая, компания Microsoft устранила [CVE-2017-0263][2], позволяющую получить максимальные привилегии на машинах под управлением Windows 10, Windows 8.1, Windows 7, Windows Server 2008, Windows Server 2012 и Windows Server 2016.

Уязвимость CVE-2017-0263 уже использовалась в фишинговой рассылке. Письмо содержало вложенный эксплойт, который задействовал сначала некорректную обработку EPS-файлов в Microsoft Office ([CVE-2017-0262][3]) для попадания в систему, а оказавшись внутри, получал с помощью CVE-2017-0263 полные права администратора. Два года назад мы уже [препарировали][4] похожую уязвимость в Windows, а в этом материале расскажем о том, как свежая CVE-2017-0263 позволяет стать хозяином чужой рабочей станции или сервера. [Читать дальше →][5]

[1]: https://habrastorage.org/web/92e/85c/19f/92e85c19f70c476892eba271e55b072b.jpg
[2]: https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-0263
[3]: https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-0262
[4]: https://habrahabr.ru/company/pt/blog/257879/
[5]: https://habrahabr.ru/post/328804/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Игры, в которых нужно писать код: Grid Garden, Elevator Saga и другие
habra.16
habrabot(difrex,1) — All
2017-05-16 20:30:03


![][1]



В детстве мы постигаем премудрости жизни через игру. Это важнейший элемент развития личности, социальных навыков, получения знаний об окружающем мире. Игры — хороший «контейнер» для донесения и закрепления каких-либо знаний. Яркий пример — игры, в которых нужно писать код. Наверняка все вы о них слышали, а в некоторые даже играли. Их первичная задача — развлечь людей, уже владеющих навыками программирования, но они могут использоваться и для обучения. Эти игры помогут освежить свои знания по тому или иному языку, отвлечься и заняться более простой алгоритмической задачей.

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

[1]: https://habrastorage.org/web/ed7/186/fc3/ed7186fc32d24ab8ae18c80ba1cfcbb6.jpg
[2]: https://habrahabr.ru/post/328806/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Краткое введение в безопасность приложений
habra.16
habrabot(difrex,1) — All
2017-05-17 07:30:04


> Перевод статьи Scott Arciszewski [«A Gentle Introduction to Application Security»][1].


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

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

И вторая новость: если ваш код выполняется на боевом сервере, он находится на первой линии обороны всей системы и, возможно, всей сети. Поэтому логично, что приложение, которое вы разрабатываете, обязано быть безопасным.
[Читать дальше →][2]

[1]: https://paragonie.com/blog/2015/08/gentle-introduction-application-security
[2]: https://habrahabr.ru/post/328810/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Использование источников света OpenGL для построения цветных теней
habra.16
habrabot(difrex,1) — All
2017-05-17 12:30:03


Как известно, OpenGL версии 1 позволяет использовать не менее восьми штатных источников света. Используя эти источники можно достаточно просто строить качественное цветное освещение без применения карт освещённости. Как оказалось, при разработке самодельных простейших трёхмерных движков, их авторам эта возможность не кажется очевидной и потому ими игнорируется. Описанный ниже способ не подходит для перемещающихся в пространстве источников света, но отлично подходит, если остальные параметры источника света изменяются во времени (например, изменяется цвет источника освещения, или он мигает). Как построить качественное освещение с использованием штатных источников освещения OpenGL и будет рассказано в статье.
[Читать дальше →][1]

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

[>] Использование библиотеки stm32cube для создания платформо независимых драйверов
habra.16
habrabot(difrex,1) — All
2017-05-17 13:30:04



Всем привет!
В данной статье я бы хотел поделиться опытом создания драйверов для платформ серии stm32. Идея заключается в том, чтобы в [ОС Embox][1], не приходилось создавать драйвера для каждой серии платформ STM32F3, STM32F4 и так далее. Ведь кроме того, что это занимает время, новый код неизбежно будет содержать новые ошибки.
[Читать дальше →][2]

[1]: https://github.com/embox/embox
[2]: https://habrahabr.ru/post/328866/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Экспериментируем с Azure ML: Классификация, деревья решений
habra.16
habrabot(difrex,1) — All
2017-05-17 13:30:04


В конце февраля этого года Хабр взорвала [статья][1] про открытый курс машинного обучения от сообщества Open Data Science. Наш MVP, [Mikhail\_Komarov][2], решил поэкспериментировать и пройти его с использованием Azure ML для реализации некоторых алгоритмов. Под катом вы найдёте разбор для 3 части курса «Классификация, деревья решений и метод ближайших соседей».

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

[1]: https://habrahabr.ru/company/ods/blog/322626/
[2]: https://habrahabr.ru/users/mikhail_komarov/
[3]: https://habrastorage.org/web/356/470/0ff/3564700ff78f49c8957a9a15c5288779.jpg
[4]: https://habrahabr.ru/post/328826/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] PHDays VII: как новые правила «Противостояния» повлияют на расстановку сил
habra.16
habrabot(difrex,1) — All
2017-05-17 14:00:06


Скоро состоится очередной Positive Hack Days, в рамках которого традиционно пройдет «[Противостояние][1]» – многочасовая кибербитва между Защитниками и Атакующими и, пожалуй, самая напряженная часть всего мероприятия.

![][2]

Мы участвовали в «Противостоянии» в прошлом году. Было тяжело, но, без сомнения, очень круто. В этом году мы продолжим традицию, но правила «Противостояния» серьезно поменялись, и в этой заметке хотелось бы рассказать, в чем состоят эти изменения, насколько новые условия игры похожи/не похожи на реальную жизнь и как они повлияют на ход борьбы.
[Читать дальше →][3]

[1]: http://https://www.phdays.ru/standoff/
[2]: https://habrastorage.org/web/5fa/cde/129/5facde129fc24f36acc9ccf04cd9a04e.jpg
[3]: https://habrahabr.ru/post/328874/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Механизм подсчета нейронной сети в PL/SQL для распознавания рукописных цифр
habra.16
habrabot(difrex,1) — All
2017-05-17 14:30:04


_Дорогие коллеги, спешим порадовать всех, кто неравнодушен к наукоемким задачам. Сегодня мы приготовили для вас перевод любопытной публикации от экспертов по базам данных из CERN, посвященный обучению и эксплуатации нейронных сетей с помощью Python и инструментария на базе Oracle PL/SQL._

![][1]

В этой статье вы найдете пример построения и развертывания базового механизма подсчета искусственной нейронной сети с использованием **PL/SQL**. Статья предназначена для учебных целей, в частности для практиков Oracle, которые хотят на конкретном примере познакомиться с **нейронными сетями**.
[Читать дальше →][2]

[1]: https://habrastorage.org/web/9a2/157/848/9a2157848c8e4a4281f50b7f374edc37.png
[2]: https://habrahabr.ru/post/328824/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как проектировать программы (HtDP)
habra.16
habrabot(difrex,1) — All
2017-05-17 15:00:04


В учебнике [HtDP][1], посвященному программированию на языке Scheme (Lisp) в среде drRacket, особое внимание уделяется вопросам, касающимся работы с изображениями и анимацией. Поводом написать данную статью послужили мои попытки разобрать примеры, изложенные в этом учебнике.
[Читать дальше →][2]

[1]: http://www.ccis.northeastern.edu/home/matthias/HtDP2e/index.html
[2]: https://habrahabr.ru/post/328562/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Подробнее об одном новшестве в свежей версии SObjectizer
habra.16
habrabot(difrex,1) — All
2017-05-17 15:30:04


Когда мы начали рассказывать про свой OpenSource акторный фреймворк для C++ на Хабре, мы пообещали описывать некоторые особенности деталей реализации SObjectizer-а. Одна из новых фич, которая была реализована [в недавно вышедшей версии 5.5.19][1], отлично подходит для такого рассказа. Кроме того, она интересна еще и тем, что нам пришлось взглянуть на сценарии использования SObjectizer с совершенно другой стороны. Можно даже сказать, что один из наших шаблонов оказался разорванным.



Речь идет о возможности SObjectizer-а выполнять все свои действия на одной единственной рабочей нити. Начиная с версии 5.5.19 использовать Actor- и Publish/Subscribe модели можно даже в однопоточном приложении. Понятное дело, что акторы должны будут работать в режиме кооперативной многозадачности, но в каких-то случаях именно это и требуется.



# А где может потребоваться использовать акторов в однопоточном приложении?

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

[1]: https://sourceforge.net/p/sobjectizer/news/2017/05/sobjectizer-v5519-released/
[2]: https://habrahabr.ru/post/328872/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] CRISP-DM: проверенная методология для новых проектов
habra.16
habrabot(difrex,1) — All
2017-05-17 15:30:04


Постановка задач машинного обучения математически очень проста. Любая задача  классификации, регрессии или кластеризации – это по сути обычная оптимизационная задача с ограничениями. Несмотря на это, существующее многообразие алгоритмов и методов их решения делает профессию аналитика данных одной из наиболее творческих IT-профессий. Чтобы решение задачи не превратилось в бесконечный поиск «золотого» решения, а было прогнозируемым процессом, необходимо придерживаться довольно четкой последовательности действий. Эту последовательность действий описывают такие методологии, как CRISP-DM.

Методология анализа данных CRISP-DM упоминается во многих постах на Хабре, но я не смог найти ее подробных русскоязычных описаний и решил своей статьей восполнить этот пробел. В основе моего материала – [оригинальное описание][1] и [адаптированное описание от IBM][2]. Обзорную лекцию о преимуществах использования CRISP-DM можно посмотреть, например, [здесь][3].

[![][4]][5]
_\* Crisp (англ.) — хрустящий картофель, чипсы_
[Читать дальше →][6]

[1]: https://www.the-modeling-agency.com/crisp-dm.pdf
[2]: ftp://ftp.software.ibm.com/software/analytics/spss/documentation/modeler/14.2/en/CRISP_DM.pdf
[3]: https://www.youtube.com/watch?v=civLio11SjQ
[4]: https://habrastorage.org/getpro/habr/post_images/728/861/1cc/7288611cce651eda77353c4cfea95ebc.png
[5]: https://habrahabr.ru/company/lanit/blog/328858/
[6]: https://habrahabr.ru/post/328858/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Кто вы? Как научились программировать? К чему стремитесь? 20000 ответов
habra.16
habrabot(difrex,1) — All
2017-05-17 16:30:05


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


[![][1]][2]
Проект freeCodeCamp провёл опрос 2017 New Coder Survey, в котором приняли участие более 20000 человек со всего мира. Эти данные, содержащие ответы респондентов на примерно 50 вопросов, выложены в открытый доступ на [GitHub][3] (Open Data Common License).

Собранные результаты позволяют исследователям, которые занимаются вопросами компьютерного образования среди взрослых, узнать немало интересного. Полагаем, эти данные заинтересуют многих, нам остаётся лишь догадываться о том, какие открытия будут сделаны на основе их анализа.

Сейчас предлагаем вашему вниманию общий обзор результатов опроса, который позволяет понять несколько основных вещей. Во-первых — узнать, кто они, начинающие программисты. Во-вторых — понять — как именно они учатся. В-третьих — увидеть их цели.
[Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/4f2/9de/02a/4f29de02af86cbb491bbb7536550d293.jpg
[2]: https://habrahabr.ru/company/ruvds/blog/328886/
[3]: https://github.com/freeCodeCamp/2017-new-coder-survey
[4]: https://habrahabr.ru/post/328886/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] CRISP-DM: проверенная методология для Data Scientist-ов
habra.16
habrabot(difrex,1) — All
2017-05-17 18:00:04


Постановка задач машинного обучения математически очень проста. Любая задача  классификации, регрессии или кластеризации – это по сути обычная оптимизационная задача с ограничениями. Несмотря на это, существующее многообразие алгоритмов и методов их решения делает профессию аналитика данных одной из наиболее творческих IT-профессий. Чтобы решение задачи не превратилось в бесконечный поиск «золотого» решения, а было прогнозируемым процессом, необходимо придерживаться довольно четкой последовательности действий. Эту последовательность действий описывают такие методологии, как CRISP-DM.

Методология анализа данных CRISP-DM упоминается во многих постах на Хабре, но я не смог найти ее подробных русскоязычных описаний и решил своей статьей восполнить этот пробел. В основе моего материала – [оригинальное описание][1] и [адаптированное описание от IBM][2]. Обзорную лекцию о преимуществах использования CRISP-DM можно посмотреть, например, [здесь][3].

[![][4]][5]
_\* Crisp (англ.) — хрустящий картофель, чипсы_
[Читать дальше →][6]

[1]: https://www.the-modeling-agency.com/crisp-dm.pdf
[2]: ftp://ftp.software.ibm.com/software/analytics/spss/documentation/modeler/14.2/en/CRISP_DM.pdf
[3]: https://www.youtube.com/watch?v=civLio11SjQ
[4]: https://habrastorage.org/getpro/habr/post_images/728/861/1cc/7288611cce651eda77353c4cfea95ebc.png
[5]: https://habrahabr.ru/company/lanit/blog/328858/
[6]: https://habrahabr.ru/post/328858/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Программа-шантажист WannaCrypt атакует необновлённые системы
habra.16
habrabot(difrex,1) — All
2017-05-18 07:30:04


12 мая в официальном блоге Microsoft появилась техническая статья с комментариями относительно программы-шантажиста WannaCrypt. Так как эта тема до сих пор волнует многих, мы перевели её для вас. Приглашаем под кат.

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

[1]: https://habrastorage.org/web/085/822/532/0858225324af49739027f1da018ca9d1.jpg
[2]: https://habrahabr.ru/post/328910/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Почему программисты не могут программировать
habra.16
habrabot(difrex,1) — All
2017-05-18 10:30:03


Я был недоверчив, когда прочитал [это наблюдение у Реджинальда Брейтуэйт][1]:


> Как и у меня, у автора возникают проблемы с тем фактом, что [199 из 200][2] претендентов на каждое задание программирования не могут писать код вообще. Повторяю: _они не могут писать никакого кода вообще_.[Читать дальше →][3]

[1]: http://weblog.raganwald.com/2007/01/dont-overthink-fizzbuzz.html
[2]: http://www.joelonsoftware.com/items/2005/01/27.html
[3]: https://habrahabr.ru/post/328864/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Оркестровка СУБД CockroachDB в Kubernetes
habra.16
habrabot(difrex,1) — All
2017-05-18 10:30:03


> **Предисловие переводчика**: Буквально через неделю после нашей публикации [знакомства с CockroachDB][1] состоялся первый [финальный релиз][2] этой распределённой и масштабируемой СУБД с открытым кодом, что ознаменовало её официальную готовность для применения в production. А значит — самое время научиться её «готовить» в реалиях микросервисов с Kubernetes.


В этой статье показано, как осуществлять оркестровку деплоя и управление небезопасным кластером CockroachDB из 3 узлов с помощью Kubernetes и его функции [StatefulSet][3], находящейся в бета-версии.
![][4]
Да, запуск stateful-приложения вроде CockroachDB на Kubernetes требует использования сложных возможностей системы, пока что поддерживаемых на уровне бета-версии. Запустить CockroachDB на Kubernetes для тестирования можно и проще, однако описанный здесь подход предназначен для разворачивания СУБД в production, когда необходимые функции в Kubernetes окончательно созреют для этого. _(Прим. перев.: о проблеме stateful-приложений в Kubernetes и одном из подходов её решения мы рассказывали в [материале про Kubernetes Operators][5].)_ [Читать дальше →][6]

[1]: https://habrahabr.ru/company/flant/blog/327640/
[2]: https://www.cockroachlabs.com/blog/cockroachdb-1-0-release/
[3]: http://kubernetes.io/docs/concepts/abstractions/controllers/statefulsets/
[4]: https://habrastorage.org/web/aec/838/987/aec83898765f4834ab084ca32e9460de.png
[5]: https://habrahabr.ru/company/flant/blog/326414/
[6]: https://habrahabr.ru/post/328756/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Добавление to_string упрощает разработку и дебаг кода на Elixir'е
habra.16
habrabot(difrex,1) — All
2017-05-18 10:30:03


Проверим на примере: пишем сервис с аэропортами и направлениями.

defmodule Airport do
defstruct [:id, :name]
end

defmodule Direction do
defstruct [:origin, :destination]

def example do
madrid = %Airport{id: "MAD", name: "Madrid"}
riga = %Airport{id: "RIX", name: "Riga"}
%Direction{origin: riga, destination: madrid}
end
end

Пока что всё в порядке. Отлично, съели печеньку, смотрим, что дальше в джире. Список самых популярных направлений?

![][1] [Hackerman берётся за дело][2]

[1]: https://habrastorage.org/web/c70/fae/03c/c70fae03cead4446988fac7964d8f08a.jpg
[2]: https://habrahabr.ru/post/328208/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Нейрокурятник часть 2: про бота, который постит фотографии
habra.16
habrabot(difrex,1) — All
2017-05-18 11:00:07


![image][1]

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

**Статьи про нейрокурятник**

**Заголовок спойлера**
1. **[Вступление ][2]про обучение себя нейросетям**
2. **[Железо, софт и конфиг][3] для наблюдения за курами**
3. [**Бот**][4], который постит события из жизни кур — без нейросети
4. Разметка датасетов
5. Параллельное участие в соревнованиях, визуализации внутренностей нейросетей, развитие архитектур моделей
6. Работающая модель для распознавания кур в курятнике


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

[1]: https://habrastorage.org/getpro/habr/post_images/d7c/50c/495/d7c50c495247c4658f84c8359a7b396b.png
[2]: https://habrahabr.ru/post/328138/
[3]: https://habrahabr.ru/post/327978/
[4]: https://habrahabr.ru/post/328940/
[5]: https://habrahabr.ru/post/328940/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Построение модульной архитектуры приложения на Forwarding-декораторах (авторский перевод)
habra.16
habrabot(difrex,1) — All
2017-05-18 14:00:05


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

Однако есть один подход, который именно в PHP можно встретить довольно редко. Он включает использование нативного наследования и позволяет патчить код «более лучше»(с). Мы называем этот способ “Forwarding Decorator”. Нам он представляется достаточно эффективным, и, кстати, эффектным тоже, хотя последнее не так важно в продакшене.

Как автор оригинальной англоязычной статьи "[Achieving Modular Architecture with Forwarding Decorators][1]", опубликованной на SitePoint, я представляю вам авторскую версию перевода. [Читать дальше →][2]

[1]: https://www.sitepoint.com/achieving-modular-architecture-with-forwarding-decorators/
[2]: https://habrahabr.ru/post/328970/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Открытый курс машинного обучения. Тема 10. Градиентный бустинг. Часть 1
habra.16
habrabot(difrex,1) — All
2017-05-18 15:00:05




Всем привет! Настало время пополнить наш с вами алгоритмический арсенал.



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



О том, откуда у бустинга растут корни и что на самом деле творится под капотом алгоритма — в нашем красочном путешествии в мир бустинга под катом. Рванули!

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

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

[>] Как и зачем создавать NginX-модуль — теория, практика, профит
habra.16
habrabot(difrex,1) — All
2017-05-18 17:30:04


![][1]


## Василий Сошников ([Mail.Ru][2])


Сегодня я вам расскажу о том, как создавать nginx-модули и, что самое главное, попытаюсь ответить, зачем это надо делать. Это надо далеко не всегда, но есть определенный круг задач, который можно решить на стороне nginx.
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/760/792/436/760792436590dea41e59e7c8cf3505ba.jpg
[2]: https://habrahabr.ru/company/mailru/
[3]: https://habrahabr.ru/post/328978/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Разбиение слов на элементы таблицы Менделеева
habra.16
habrabot(difrex,1) — All
2017-05-18 18:00:04


![][1]



_(Полный исходный код лежит [тут][2])_



Сидя на пятичасовом занятии по химии, я часто скользил взглядом по таблице Менделеева, висящей на стене. Чтобы скоротать время, я начал искать слова, которые мог бы написать, используя лишь обозначения элементов из таблицы. Например: ScAlEs, FeArS, ErAsURe, WAsTe, PoInTlEsSnEsS, MoISTeN, SAlMoN, PuFFInEsS.

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

[1]: https://habrastorage.org/web/0ce/932/5a9/0ce9325a99ff4b5782697b2a737fd6b9.jpg
[2]: https://github.com/mesbahamin/stoichiograph
[3]: https://habrahabr.ru/post/328986/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Создание Web API приложения с использованием .NET Core + MongoDB .NET Driver
habra.16
habrabot(difrex,1) — All
2017-05-18 18:00:04


Как вы уже знаете, MongoDB — это одно из наиболее развитых, open-source NoSQL решений, которое представляет собой документо-ориентированную базу данных, является кросс-платформенным, а также обеспечивает высокую производительность, доступность и простоту масштабирования.

В современных open-source веб-приложениях использование NoSQL решений получило свою популярность в связи с их нереляционным поведением. В данной статье шаг за шагом мы реализуем простое ASP.NET Core Web API приложение «записной книжки», которое будет поддерживать операции CRUD применимо к коллекции в MongoDB. [Читать дальше →][1]

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

[>] [Из песочницы] Нестандартный способ обучения новому языку программирования (перевод статьи Sahil Dua)
habra.16
habrabot(difrex,1) — All
2017-05-18 18:30:04


![cover][1]



На данный момент существует более 500 различных языков программирования. Следовательно, вполне нормально взять и начать учить новый язык прямо сейчас. Например, вы знаете C++ и Java, но на работе требуется Python, или наоборот. А может быть, вы просто хотите выучить какой-нибудь модный язык, чтобы повысить свою конкурентоспособность?..

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

[1]: http://i.imgur.com/pxJ2ZPB.png
[2]: https://habrahabr.ru/post/329006/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Gorilla: быстрая, масштабируемая in-memory time-series база данных
habra.16
habrabot(difrex,1) — All
2017-05-18 18:30:04


_Это перевод обзора статьи «Gorilla: A fast, scalable, in-memory time series database» Pelkonen et al. VLDB 2015_



Чуваки из фейсбука сделали высокопроизводительный движок для мониторинговых данных. Мне понравился обзор этой статьи в блоге "The morning paper" — особенно про алгоритмы сжатия, и вот перевод.



_Стиль — авторский._


> Количество ошибок на одном из серверов Facebook зашкаливало.[Читать дальше →][1]

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

[>] Программа HolyJS 2017 Piter: Владение силой, танцы с Джексоном и красота в глазах коммитящего
habra.16
habrabot(difrex,1) — All
2017-05-18 19:00:06


Учите язык, а не фреймворки. Если в 2012 году речь шла о пяти основных фреймворках, в 2016 говорили о десятке, то в этом году речь идет уже о пятнадцати (и это только для фронтэнда). Что это?! Хайп по фреймворкам… Всё это может привести к тому, что чистый JS джуны вообще знать не будут, а критерием зрелости будет знание метапрограммирования, моделей объектов и Vanilla JavaScript.

![image][1]
Итак, программа [**HolyJS 2017 Piter**][2] практически завершена, будет много интересного. Давайте посмотрим в какие области JS вселенной можно попасть без «use strict»:

* ECMAScript 6 (ES6) и ES7 — практические особенности;
* Дофреймовые истоки и незаслуженно забытые функции;
* Серверный JS;
* Мордовый JS;
* Другое...
В названии одного из докладов упоминается «Алиса в Стране Чудес», и кэрроловские перемены восприятия вообще станут на конференции трендом: сразу несколько спикеров призывают посмотреть на привычные вещи по-новому. Даже само расписание конференции нестандартное — первый день будет разделен на два потока, второй же будет идти в три. Неочевидный профит первого варианта — меньше пропущенных материалов, больше общения со спикерами, есть время изредка выдохнуть от обилия поступающей информации, хотя последнего мы не обещаем. И да, мы изучаем обратную связь и работаем над собой и организацией конференции, а поэтому «вы просили, мы сделали».
[Смотреть подробности][3]

[1]: https://habrastorage.org/web/b5c/6e9/732/b5c6e973289a44baa282271fda861746.png
[2]: https://holyjs-piter.ru
[3]: https://habrahabr.ru/post/328922/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Все образовательные проекты Mail.Ru Group
habra.16
habrabot(difrex,1) — All
2017-05-18 20:30:04


![][1]


Мы много рассказываем о своих образовательных проектах, но вдруг поняли, что у нас нет ни одной статьи, где была бы собрана информация обо всех наших образовательных возможностях. Мы решили исправить это досадное упущение. Теперь желающим получить знания не придётся искать по всему Хабру и интернету.
[Читать дальше →][2]

[1]: https://habrastorage.org/web/f0b/e19/a24/f0be19a2461a4491b7919d1661bae363.jpg
[2]: https://habrahabr.ru/post/328912/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Синхронизация состояний в многопользовательских играх
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

Pages: 1 ... 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 ... 133