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


Доброго времени суток, Хабр!

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

Закончив специалитет и готовясь к защите кандидатской диссертации, я задался вполне логичным вопросом: «а что же дальше?» Имея за плечами опыт как обычной работы, так и исследовательской, я вновь вернулся к той самой идее, которая, казалось бы, должна была утонуть под толщей пыли. Но вернулся я к этой идее в более осознанной форме.

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

![][1]

Ну что ж, всем заинтересовавшимся:
[Добро пожаловать под кат][2]

[1]: https://habrastorage.org/web/ddd/b80/248/dddb8024865c4938b3bdece0a066eb73.png
[2]: https://habrahabr.ru/post/328198/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Биометрические технологии в финтехе и банкинге
habra.16
habrabot(difrex,1) — All
2017-05-15 14:30:05


[![][1]][2]

В нашем [предыдущем посте][3] мы писали о биометрии в общих чертах, о том, на каком уровне развития она сейчас находится, о нашей платформе Id-Me. Наиболее очевидными и перспективными отраслями для применения биометрических технологий являются банковская сфера и финтех.

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

[1]: https://habrastorage.org/web/872/a43/39b/872a4339b0b4485c94a52fdb039004d9.jpg
[2]: https://habrahabr.ru/company/recfaces/blog/328674/
[3]: https://habrahabr.ru/company/recfaces/blog/324398/
[4]: https://habrahabr.ru/post/328674/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] О том, как в Instagram отключили сборщик мусора Python и начали жить
habra.16
habrabot(difrex,1) — All
2017-05-15 17:00:04


Отключив сборщик мусора Python (GC), который освобождает память, отслеживая и удаляя неиспользуемые данные, Instagram стал работать на 10% быстрее. Да-да, вы не ослышались! Отключив сборщик мусора, можно сократить объем потребляемой памяти и повысить эффективность работы кэша процессора. Хотите узнать, почему так происходит? Тогда пристегните ремни!
![][1]
[Читать дальше →][2]

[1]: https://habrastorage.org/web/50a/374/689/50a37468992b4e4d80332d563481d537.jpg
[2]: https://habrahabr.ru/post/328404/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Митап по SQL Server: ждём только вас
habra.16
habrabot(difrex,1) — All
2017-05-15 17:00:04


Друзья, с радостью анонсируем наш[ «Майский митап 'SQL и не только'»][1]. Вместе с другими участниками TechGuruDay мы соберемся 18 мая в офисе ЛАНИТ, чтобы обсудить особенности Microsoft SQL Server и другие вопросы.

TechGuruDay – это творческая реализация нашей попытки создать неформальную группу IT-профессионалов для обмена уникальным опытом и мнениями на самые злободневные темы. Все организационные вопросы мы решаем[ на площадке Meetup.com][2], а делимся наболевшим и угощаемся плюшками на офлайн-встречах, как раз таких, как «Майский митап».

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

[![][3]][4]
Вот чем мы готовы поделиться со всеми, кто найдет в себе силы к нам присоединиться.
[Читать дальше →][5]

[1]: https://www.meetup.com/TechGuruDay/events/239570379/
[2]: https://www.meetup.com/TechGuruDay/
[3]: https://habrastorage.org/web/a73/ad0/25c/a73ad025c2034eb1aca43cdf99de829c.png
[4]: https://habrahabr.ru/company/lanit/blog/328692/
[5]: https://habrahabr.ru/post/328692/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Почему мы меняем цветовые схемы?
habra.16
habrabot(difrex,1) — All
2017-05-15 18:00:05


#### Вступление


Знаете, что я заметил? Мы очень много времени уделяем кастомизации цифрового пространства. Это начинается со смены обоев и тем рабочего стола, переходит в долгий подбор скина в Aimp (Winamp, для староверов) и заканчивается оформлением цифрового рабочего места.

Как только я меняю среду разработки или редактор кода, то первым делом лезу в цветовые схемы и ищу любимые цвета. У программистов уже сложились целые культы вокруг определенных цветовых палитр. Что лучше — Obsidian или Monokai? Можно мне Selenitic, только фон более темный? И все в таком духе. Бывало, что ко мне приходили друзья и, прежде чем начать показывать свой проект, меняли тему на другую, более привычную для них. Это раздражает, но я их понимаю.

![][1]

_… на самом деле комикс не о цветовых схемах, но он отлично походит._
[Читать дальше →][2]

[1]: https://habrastorage.org/web/87c/ffc/257/87cffc257e944187bcf6ee0480183ee6.jpg
[2]: https://habrahabr.ru/post/328680/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Deep Learning против рака. Конкурс Intel
habra.16
habrabot(difrex,1) — All
2017-05-15 18:00:05


![][1]

Рак шейки матки — страшное заболевание, ежегодно уносящее сотни тысяч жизней. Но еще страшнее то, что большинство этих жизней можно было спасти. Рак шейки матки развивается очень медленно, и в случае обнаружения опухоли в первые 5 лет после ее появления шанс выживания практически 100%. Таким образом, регулярные обследования могут извести это заболевание на корню. К сожалению, 85% женщин Земли регулярная медицинская помощь недоступна. Их могут спасти технологии машинного распознавания фотоснимков, снижающие требования к квалификации врачебного персонала и увеличивающие процент правильных диагнозов. Именно такие алгоритмы распознавания и создаются в рамках конкурса программистов [Intel & MobileODT Cervical Cancer Screening][2], в котором мы приглашаем вас поучаствовать.
[Читать дальше →][3]

[1]: https://habrastorage.org/web/a05/db4/84d/a05db484ddce49ff8a348ea6e535ef3d.jpg
[2]: https://www.kaggle.com/c/intel-mobileodt-cervical-cancer-screening
[3]: https://habrahabr.ru/post/328424/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Логирование, интерфейсы и аллокации в Go
habra.16
habrabot(difrex,1) — All
2017-05-15 19:30:04


![][1]



_Привет Хабр. Последний свой пост я публиковал сравнительно недавно, так что вряд ли вы успели забыть, что меня зовут Марко. Сегодня публикую перевод небольшой заметки, которая касается нескольких очень вкусных оптимизаций из еще не вышедшего Go 1.9. Эти оптимизации позволяют генерировать меньше мусора в большинстве программ на Go. Меньше мусора – меньше задержки и затраты на сборку этого мусора. _



Эта статья о новых оптимизациях компилятора, которые готовятся к релизу Go 1.9, но я бы хотел начать разговор с логирования.

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

[1]: https://habrastorage.org/web/9be/d9c/1d7/9bed9c1d78c841e9994304c4d580cf6f.jpg
[2]: https://habrahabr.ru/post/328722/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Генетический советник для торговли опционами
habra.16
habrabot(difrex,1) — All
2017-05-16 00:00:04


![][1]

При торговле опционами одна из главных задач состоит в определении справедливой цены опциона. На основании нее можно понять какие опционы недооценены рынком, а какие переоценены в данный момент. Исходя из этого и принимаются решения о покупке или продаже конкретного опциона. В данной статье рассматривается опыт создания советника в основе которого лежит Генетический Алгоритм (ГА), позволяющего как раз автоматизировать процесс выбора опционов для продажи и покупки соответственно Советник, в отличие от торговых роботов (или Механических Торговых Систем — МТС), не производит сделок, он лишь дает рекомендации трейдеру, который уже самостоятельно принимает решение совершать сделку или нет.

**Для начала — пару слов о генетическом алгоритме: **

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

[1]: https://habrastorage.org/web/64e/b17/561/64eb17561ebb4223992cd8bdd3c1099d.jpg
[2]: https://habrahabr.ru/post/328740/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как защищаться от атаки вируса-шифровальщика «WannaCry»
habra.16
habrabot(difrex,1) — All
2017-05-16 09:30:13


![][1]


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

Вирус-шифровальщик WannaCry использует уязвимость **Microsoft Windows MS17-010**, чтобы выполнить вредоносный код и запустить программу-шифровальщик на уязвимых ПК, затем вирус предлагает заплатить злоумышленникам порядка 300$, чтобы осуществить расшифровку данных. Вирус широко распространился в мировых масштабах, получив активное освещение в СМИ – [Фонтанка.ру][2], [Газета.ру][3], [РБК][4].
[Читать дальше →][5]

[1]: https://habrastorage.org/web/02e/011/909/02e0119093f34596898f380e4f7df68e.png
[2]: http://www.fontanka.ru/2017/05/13/005/
[3]: https://www.gazeta.ru/social/2017/05/12/10671101.shtml
[4]: http://www.rbc.ru/society/12/05/2017/5915ebf29a794763a8bff785?from=subject
[5]: https://habrahabr.ru/post/328658/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Нейронные сети, генетические алгоритмы и прочее… Мифы и реальность. Версия II
habra.16
habrabot(difrex,1) — All
2017-05-16 09:30:13


Прежде всего, я хотел бы поблагодарить всех, кто дал свои критические комментарии по первой версии статьи. Мне показалось, что написать версию два, а не просто оставить все как есть, было бы правильной идеей.
 
Конечно же, искусственный интеллект уже существует!  Если посмотреть заголовки статей в популярных СМИ, названия и слоганы различных научных конференций на эту тему – безусловно это так. Нельзя не поверить, особенно когда очень этого хочется наконец-то оказаться в XXI веке — «настоящем», как это описывалось во всех научно-фантастических романах. Но так ли это? А если нет, то что существует на самом деле. В попытке разобраться в мифах и реалиях была написана эта статья.
 
Первоначально хотелось начать как-то так: «впервые упоминание термина «Искусственный интеллект» появилось у Д. Мккарти в 1956 году на конференции в Дартмундском университете, основоположниками ИИ следует считать У.Мак-Каллока, У.Питса, Ф.Розенблата» и т.д. Однако, это уже слишком поздно и не совсем отвечает целям статьи, да и википедия опередила с таким началом.

Анализируя последние «победы» ИИ, а также критические статьи неизбежно приходишь к выводу, что все крутится вокруг нескольких общих особенностей. Одна часть статей критикует невозможность прохождения тестов, а другая полна патетики о «невероятных победах».  При этом игнорируется тот факт, что победы были достигнуты в узкоспециализированных задачах, где основным преимуществом машины была скорость переборов по базе фактов и «умении» видеть закономерности там, где человек просто-напросто быстро устает это делать. Блестящие примеры кластерного анализа в том или ином виде и формирование базы шаблонов-фактов. Всё это следствия, причины же в большинстве случаев или не анализируются совсем, или рассматриваются поверхностно.
[Читать дальше →][1]

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

[>] Конкурс по программированию на Ada
habra.16
habrabot(difrex,1) — All
2017-05-16 10:00:04


![][1]

[Make with Ada][2] – конкурс программных проектов для встраиваемых устройств, спонсируемый компанией [AdaCore][3]. В нём могут принять участие независимые разработчики и небольшие группы, использующие языки Ada или SPARK для разработки надежных, открытых и безопасных программ.

Цель этого конкурса – распространение информации о преимуществах языков Ada и SPARK и поощрение их использования в новых проектах. Призовой фонд более 8000 €.
[Читать дальше →][4]

[1]: https://habrastorage.org/web/b09/2a0/43a/b092a043ae59470baf8aa0e8faa196fe.jpg
[2]: http://www.makewithada.org
[3]: http://www.adacore.com
[4]: https://habrahabr.ru/post/328754/?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/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

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