RSS
Pages: 1 ... 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 ... 133
[>] Как эффективнее читать данные с диска (при условии, что у вас .Net)
habra.16
habrabot(difrex,1) — All
2017-06-27 13:30:04


![][1]

Привет, Хабр!

Некоторое время назад меня заинтересовал вопрос: как эффективнее всего читать данные с диска (при условии, что у вас .Net)? Задача чтения кучи файлов встречается во множестве программ, которые при самом старте начинают вычитывать конфигурации, некоторые самостоятельно подгружают модули и т.д.

В интернете я не нашел подобных сравнений (если не считать тюнинга под определенные конфигурации).
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/8b6/f38/75d/8b6f3875d8347c80e2b21f77b8b3315b.jpg
[2]: https://habrahabr.ru/post/331668/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Табы, пробелы и ваша зарплата — какая связь?
habra.16
habrabot(difrex,1) — All
2017-06-27 16:30:30


![image][1]



Пару дней назад Дэвид Робинсон опубликовал на Stack Overflow статью с очень провокационным названием: [Разработчики, использующие пробелы, зарабатывают больше использующих табуляцию][2] ([перевод][3] на Хабре). Автор взял данные из исследования разработчиков, проведённого Stack Overflow, и в самом деле показал, что использование пробелов ассоциируется с более высокими зарплатами, даже принимая в расчёт одинаковый уровень опыта. Так что, нужно вместо табуляций использовать пробелы, чтобы увеличить свою зарплату?

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

[1]: https://habrastorage.org/web/f93/9b2/0e1/f939b20e19864c349e463307471adcc5.jpg
[2]: https://stackoverflow.blog/2017/06/15/developers-use-spaces-make-money-use-tabs/
[3]: https://habrahabr.ru/post/331026/
[4]: https://habrahabr.ru/post/331696/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Интеграция сценарного тестирования в процесс разработки решений на базе платформы 1С
habra.16
habrabot(difrex,1) — All
2017-06-27 18:00:07


Эта статья является пособием для организации тестирования решений на базе платформы 1С: Предприятие 8.3. Документ отличает практическая направленность, в нем содержится много кода, подходов и умозаключений. Все рассмотренные примеры основаны на использовании бесплатной конфигурации Тестер. [Читать дальше →][1]

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

[>] Украина подверглась самой крупной в истории кибератаки вирусом Petya
habra.16
habrabot(difrex,1) — All
2017-06-27 19:00:06


![image][1]

Сегодня утром ко мне обратились мои клиенты с паническим криком «Никита, у нас все зашифровано. Как это произошло?». Это была крупная компания 1000+ машин, с последними обновлениями лицензионного Windows, настроенным файрволом, порезанными правами для юзеров и антифишинг фильтрами для почтовиков.

Спустя час позвонили представители другой крупной компании, у них тоже все зашифровано, под 2000 машин. Атака началась с крупных бизнес структур и уже час или два спустя я узнал, что «Ощадбанк», «УкрПочта» и «ПриватБанк» тоже под атакой.

Что случилось? И о развитии ситуации под катом.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/d2b/d51/938/d2bd51938cdb269a8cf5fd2599b78c65.jpg
[2]: https://habrahabr.ru/post/331762/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как мы писали стратегический кликер на хакатон ReactRiot
habra.16
habrabot(difrex,1) — All
2017-06-27 21:30:04


Привет. Не так давно мы с [rjericho][1] увидели статью [Как я участвовал в хакатоне Angular Attack, и что из этого вышло][2]. У нас в Барнауле хакатоны [начали проводиться][3] всего год назад. При этом они больше были ориентированы на быстрый старт IT-стартапа. Поэтому на них не получалось насладиться использованием всяких прикольных хипстерских библиотек, а приходилось пилить продукт на старых добрых PHP или Java. Однако нам давно хотелось поучаствовать в каком-нибудь фановом мероприятии, где можно просто запилить то, что душе угодно и не придумывать, как это монетизировать.



Был найден хакатон от тех же организаторов, что и AngularAttack: [ReactRiot][4]. То, что о реакте мы знали только по статьям на хабре только добавляло интерес к данному мероприятию.



![Скриншот интерфейса получившейся игры][5]

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

[1]: https://habrahabr.ru/users/rjericho/
[2]: https://habrahabr.ru/company/wrike/blog/330504/
[3]: http://hack.apiorg.ru/
[4]: https://www.reactriot.com/
[5]: https://habrastorage.org/web/caf/022/4c7/caf0224c746441c8b8b7e6024c9e4cdb.png
[6]: https://habrahabr.ru/post/331778/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Постквантовая реинкарнация алгоритма Диффи-Хеллмана
habra.16
habrabot(difrex,1) — All
2017-06-27 22:30:05


![][1]



Как известно, последняя революция в криптографии случилась в 1976 году из-за статьи “New Directions in Cryptography” американских ученых Уитфилда Диффи (Whitfield Diffie) и Мартина Хеллмана (Martin Hellman).

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

[1]: https://habrastorage.org/web/76b/72a/753/76b72a753f6b4fafa0add10ce2368299.jpg
[2]: https://habrahabr.ru/post/331744/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Использование Python и Excel для обработки и анализа данных. Часть 1: импорт данных и настройка среды
habra.16
habrabot(difrex,1) — All
2017-06-28 09:00:04


Если Вы только начинаете свой путь знакомства с возможностями Python, ваши познания еще имеют начальный уровень — этот материал для Вас. В статье мы опишем, как можно извлекать информацию из данных, представленных в Excel файлах, работать с ними используя базовый функционал библиотек. В первой части статьи мы расскажем про установку необходимых библиотек и настройку среды. Во второй части — предоставим обзор библиотек, которые могут быть использованы для загрузки и записи таблиц в файлы с помощью Python и расскажем как работать с такими библиотеками как pandas, openpyxl, xlrd, xlutils, pyexcel.
[Читать дальше →][1]

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

[>] Построение систем управления приложениями в распределенной кластерной инфраструктуре на базе технологии MESOS
habra.16
habrabot(difrex,1) — All
2017-06-28 11:30:04


В наше время термин “BIG DATA” у всех на слуху. После появления в сети и в прессе многочисленных публикаций, связанных с обработкой «больших данных», интерес к этой теме постоянно растет. Все более широким спросом пользуются системы управления базами данных с
использованием технологии NoSQL. Всем понятно, что для построения систем “BIG DATA” необходимо располагать внушительными аппаратными ресурсами. Еще более важно уметь оптимально использовать вычислительные ресурсы системы и эффективно их масштабировать. Это неизбежно меняет подходы к построению систем обработки данных. [Читать дальше →][1]

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

[>] [Перевод] Как превратить увлечение программированием в работу
habra.16
habrabot(difrex,1) — All
2017-06-28 12:00:06


[![][1]][2]

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

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

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

**Переведено в [Alconost][3]**
[Читать дальше →][4]

[1]: https://habrastorage.org/web/05a/f8c/e8d/05af8ce8d9da4eb29410efcf4dbba943.jpg
[2]: https://habrahabr.ru/company/alconost/blog/331812/
[3]: https://alconost.com?utm_source=habrahabr&utm_medium=article&utm_campaign=translation&utm_content=from-hobbyist-to-professional
[4]: https://habrahabr.ru/post/331812/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Постквантовая реинкарнация алгоритма Диффи-Хеллмана: прошлое и настоящее
habra.16
habrabot(difrex,1) — All
2017-06-28 12:30:04


![][1]



Как известно, последняя революция в криптографии случилась в 1976 году из-за статьи “New Directions in Cryptography” американских ученых Уитфилда Диффи (Whitfield Diffie) и Мартина Хеллмана (Martin Hellman).

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

[1]: https://habrastorage.org/web/76b/72a/753/76b72a753f6b4fafa0add10ce2368299.jpg
[2]: https://habrahabr.ru/post/331744/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Украина подверглась самой крупной в истории кибератаке вирусом Petya
habra.16
habrabot(difrex,1) — All
2017-06-28 15:00:05


![image][1]

Сегодня утром ко мне обратились мои клиенты с паническим криком «Никита, у нас все зашифровано. Как это произошло?». Это была крупная компания 1000+ машин, с последними обновлениями лицензионного Windows, настроенным файрволом, порезанными правами для юзеров и антифишинг фильтрами для почтовиков.

Спустя час позвонили представители другой крупной компании, у них тоже все зашифровано, под 2000 машин. Атака началась с крупных бизнес структур и уже час или два спустя я узнал, что «Ощадбанк», «УкрПочта», «ТАСКомерцбанк», «ОТР банк» под атакой (полный список в **UPD5**).

Что случилось? И о развитии ситуации под катом.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/d2b/d51/938/d2bd51938cdb269a8cf5fd2599b78c65.jpg
[2]: https://habrahabr.ru/post/331762/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Код Прюфера
habra.16
habrabot(difrex,1) — All
2017-06-28 17:00:04


## Деревья. Кратко напомним



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


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

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

[>] Как победить вирус Petya
habra.16
habrabot(difrex,1) — All
2017-06-28 20:00:04


Вслед за нашумевшей кампанией вируса-шифровальщика WannaCry, которая была зафиксирована в мае этого года, 27 июня более 80 компаний России и Украины стали жертвой новой атаки с использованием шифровальщика-вымогателя Petya. И эта кампания оказалась вовсе не связана с WannaCry. Эксперты Positive Technologies представили детальный разбор нового зловреда и дали рекомендации по борьбе с ним.

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

[1]: https://habrastorage.org/web/244/c22/ed2/244c22ed2faf4690b8b1a3d7f82c6c7a.jpg
[2]: https://habrahabr.ru/post/331858/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] WannaCry и Petya — как действует центр мониторинга и реагирования на кибератаки в случае глобальных инцидентов
habra.16
habrabot(difrex,1) — All
2017-06-28 20:00:04


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

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

[1]: https://habrastorage.org/web/246/660/1b5/2466601b522e4506b952dfb771d1e43c.jpg
[2]: https://habrahabr.ru/post/331860/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] PETYA malware. Recovery is possible
habra.16
habrabot(difrex,1) — All
2017-06-29 00:30:03


![][1]


27 июня в сети начали появляться сообщения о быстром распространении вредоносной программы – шифровальщика Petya, выполняющей шифрование данных на компьютере жертвы. Атаке подверглись крупные корпорации России, Украины, ЕС, США и ряда других стран. Специалисты компании BiZone провели подробный анализ работы вредоноса. Ниже приведены результаты исследования, а также рекомендации по его удалению с компьютера жертвы и восстановлению данных.
[Читать дальше →][2]

[1]: https://habrastorage.org/web/7df/82e/184/7df82e184d14467f949b151a113ace6b.png
[2]: https://habrahabr.ru/post/331854/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

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


![][1]

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

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

[1]: https://habrastorage.org/web/727/30e/a70/72730ea70d0247cba9a1e6faa53fd9da.jpg
[2]: https://habrahabr.ru/post/331898/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

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


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

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

[>] Как создать альтернативу Google Disk и Dropbox за 3700 часов
habra.16
habrabot(difrex,1) — All
2017-06-29 14:30:05


За 8 месяцев разработки, 3700 рабочих часов, силами 15 человек команда Artezio создала собственную файлообменную платформу SendFile. Сначала мы рассматривали ее как учебный проект, но потом она переросла этот статус. В этой статье я расскажу, как все начиналось и к чему мы пришли сейчас.

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

[1]: https://habrastorage.org/getpro/habr/post_images/2a6/0fc/b07/2a60fcb072a6d58e982db9fc86c67a22.
[2]: https://habrahabr.ru/company/lanit/blog/331912/
[3]: https://habrahabr.ru/post/331912/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Изучите все языки программирования
habra.16
habrabot(difrex,1) — All
2017-06-29 14:30:05


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

— Что, даже на том нечитаемом эзотерическом языке, где есть всего пара команд, которые едва-едва симулируют машину Тьюринга?
— Да, этот язык называется brainfuck. Я знаю brainfuck.

И это был не трюк — мы проверили. Я называл известный мне язык программирования, он тратил пару минут в Интернете на то, чтобы освежить свои знания по нему — и был способен писать на этом языке работающие алгоритмы. Я никак не мог понять этого. Ему, как и мне, было тогда около 18 лет — как он мог в этом возрасте знать все эти языки?

![image][1]
_Интерпретатор brainfuck, написанный на brainfuck_

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

Сегодня я советую своим студентам «постараться изучить все языки программирования». Подумайте сами — ведь эта идея лучше, чем все вот эти «В этом году я выучу Go! Ой, нет, теперь говорят что в моде Rust — выучу лучше Rust! Или Swift ...». Просто выучите все — не ошибётесь. А эта статья, возможно, вам в этом немного поможет.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/22b/b9f/4cd/22bb9f4cdcfc84455cc23feff60c2368.png
[2]: https://habrahabr.ru/post/331934/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] JaCarta Authentication Server и JaCarta WebPass для OTP-аутентификации в Linux SSH
habra.16
habrabot(difrex,1) — All
2017-06-29 15:00:04


В этой статье мы поговорим об основных этапах настройки аутентификации в Linux SSH для замены парольной аутентификации одноразовыми паролями — в статье описан сценарий аутентификации в сессию SSH-подключения к Linux OS посредством одноразовых паролей с использованием устройства [JaCarta WebPass][1].

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

[1]: https://www.aladdin-rd.ru/catalog/jacarta_webpass/
[2]: https://habrastorage.org/web/dce/8bd/c5f/dce8bdc5f7514edcae677e52d1661beb.jpg
[3]: https://habrahabr.ru/post/331908/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Конференции для разработчиков как путь в Senior? И что, работает?
habra.16
habrabot(difrex,1) — All
2017-06-29 16:00:05


![][1]

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

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

[1]: https://habrastorage.org/web/727/30e/a70/72730ea70d0247cba9a1e6faa53fd9da.jpg
[2]: https://habrahabr.ru/post/331898/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Получаем фотографии NASA с Марса с помощью aiohttp
habra.16
habrabot(difrex,1) — All
2017-06-29 18:00:04


Я большой фанат книги «Марсианин» Энди Вейера. Читая её, мне было интересно, что же Марк Уотни чувствовал, гуляя по красной планете. Недавно наткнулся на пост на [Twillo][1], в котором упоминалось, что у NASA есть публичный API для доступа к фотографиям с марсоходов. Так что я решил написать собственное приложение для просмотра изображений непосредственно в браузере.
[Читать дальше →][2]

[1]: https://www.twilio.com/blog/2017/04/texting-robots-on-mars-using-python-flask-nasa-apis-and-twilio-mms.html
[2]: https://habrahabr.ru/post/331834/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Сравниваем #NotPetya и #Petya — реально ли расшифровать свои файлы?
habra.16
habrabot(difrex,1) — All
2017-06-29 18:30:04


[![][1]][2]

Эксперт Positive Technologies Дмитрий Скляров представил сравнительный анализ нашумевшего вируса-вымогателя NotPetya, атаковавшего компании в этот вторник, с образцом Petya от 2016 года, и поделился своими наблюдениями по поводу возможности восстановления зашифрованных ими данных.

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

[1]: https://habrastorage.org/web/6b2/278/d6a/6b2278d6afc94ea3be86240c3a0dae0b.jpg
[2]: https://habrahabr.ru/company/pt/blog/331962/
[3]: https://habrahabr.ru/post/331962/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Руководство: как использовать Python для алгоритмической торговли на бирже. Часть 2
habra.16
habrabot(difrex,1) — All
2017-06-29 23:00:05


[![][1]][2]

Мы продолжаем публикацию адаптации [руководства DataCamp][3] по использованию Python для разработки финансовых приложений. [Первая часть][4] материала рассказывала об устройстве финансовых рынков, акциях и торговых стратегиях, данных временных рядов, а также о том, что понадобится для начала разработки.

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

_Jupyter notebook этого руководства можно скачать [здесь][5]._ [Читать дальше →][6]

[1]: https://habrastorage.org/web/9d0/e62/776/9d0e627764b748f3aaac1dfddc3d2a40.png
[2]: https://habrahabr.ru/company/itinvest/blog/331940/
[3]: https://www.datacamp.com/community/tutorials/finance-python-trading#gs.XINSPx8
[4]: https://habrahabr.ru/company/itinvest/blog/331542/
[5]: https://github.com/Kacawi/datacamp-community
[6]: https://habrahabr.ru/post/331940/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Разработка нового сервиса в Android 7 | Кастомизация строки навигации
habra.16
habrabot(difrex,1) — All
2017-06-30 00:30:04


![image][1]

Представим себе следующую ситуацию: мы разрабатываем продукт, который требует очень специфические свойства которые или не существуют или недоступны в инвентаре Андроид. Например требуется кард-ридер.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/51f/340/e4d/51f340e4d45c2613aa2553b3590ba4be.jpg
[2]: https://habrahabr.ru/post/331900/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Сказ про НеПетю, а точнее не про Петю
habra.16
habrabot(difrex,1) — All
2017-06-30 08:30:03


Я не хотел писать заметку про Petya/Nyetya/NePetya и другие названия вредоносного кода, который в начале недели в очередной раз заставил содрогнуться мир по версии многих СМИ. Мое нежелание было продиктовано двумя причинами. Во-первых, именно нас, то есть компанию Cisco и ее подразделение Talos (про него я уже упоминал [тут][1], но, видимо, придется рассказать чуть больше, что это за подразделение), пригласили участвовать в официальном расследовании происходящего в Украине, а писать о результатах следствия до его окончания мы, понятно, что не имеем возможности. Да и после окончания следствия не все его результаты будут опубликованы. Во-вторых, надо признаться, что я не разделяю того ажиотажа вокруг вредоносного кода, названного нами Nyetya, который последние дни только подогревается разными публикациями и заявлениями.

Что в нем такого уникального, что его отличает от других вредоносных программ и от того же [WannaCry][2]? Почему никто так много не пишет про [Jaff][3] или BitKangoroo, которые распространялись в то же время, что и WannaCry и использовали схожие методы? Почему никто не снимает репортажей и не обсуждает Untukmu, Shifu, Blackshades или тот же [Locky][4], который заразил больше компьютеров чем WannaCry, Petya, Misha и Nyetya вместе взятые? Почему специалисты по ИБ с серьезным лицом обсуждают, кто раньше из них отреверсил “Петю” и кто быстрее всех распространил индикаторы компрометации? Кто-то называет 30 минут, кто-то 37 минут, кто-то “проснулся” только через несколько часов…

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

[1]: https://habrahabr.ru/company/cisco/blog/328502/
[2]: https://habrahabr.ru/company/cisco/blog/328598/
[3]: http://blog.talosintelligence.com/2017/05/jaff-ransomware.html
[4]: http://blog.talosintelligence.com/2017/06/necurs-locky-campaign.html
[5]: https://habrastorage.org/getpro/habr/post_images/2de/c99/66f/2dec9966f8d7f4a3210d49815df8e043.jpg
[6]: https://habrahabr.ru/post/331990/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Leaflet 1.x.x vs Openlayers 4.x.x. Часть 1. Исходный код
habra.16
habrabot(difrex,1) — All
2017-06-30 09:00:05


Хочу поделиться опытом работы с данными JS-картографическими фреймворками, надеюсь материалы помогут сделать выбор в вопросе: какую библиотеку использовать именно в вашем проекте. Чтобы не утомлять, разобью его на несколько логических частей. Начнем с основного и исходного — кода.

![][1][Что у нас там на Github?][2]

[1]: https://habrastorage.org/web/75b/895/29e/75b89529eeb7416b829a613b25491cd3.png
[2]: https://habrahabr.ru/post/331796/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Фантом: большая сборка мусора
habra.16
habrabot(difrex,1) — All
2017-06-30 09:30:04


Эта статья — продолжение, начало [здесь][1]. Для тех, кто не кликнул на ссылку, краткая вводная:

Мы обсуждаем сборку мусора в операционной системе Фантом, то есть в среде виртуальной (байткод-) машины, работающей в персистентной оперативной памяти. Размер персистентной памяти — порядка размера диска, то есть единицы терабайт на сегодня и, потенциально, десятки и сотни терабайт завтра.

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

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

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

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

[>] Использование Pinba в Badoo: то, чего вы еще не знаете
habra.16
habrabot(difrex,1) — All
2017-06-30 12:30:04


![][1]



Привет, Хабр! Меня зовут Денис, я – PHP-разработчик в Badoo, и сейчас я расскажу, как мы сами используем [Pinba][2]. Предполагается, что вы уже знаете, что это за инструмент, и у вас есть опыт его эксплуатации. Если нет, то для ознакомления [рекомендую статью][3] моего коллеги, Максима Матюхина.



Вообще на Хабре есть достаточно материалов об использовании Pinba в различных компаниях, включая [пост Олега Ефимова][4] в нашем блоге. Но все они касаются других компаний, а не Badoo, что немного нелогично: сами придумали инструмент, выложили в open source и не делимся опытом. Да, мы часто упоминаем Pinba в различных публикациях и в докладах на IT-конференциях, но обычно это выглядит как-то так: «А вот эти замечательные графики мы получили по данным из Pinba» или «Для измерения мы использовали Pinba», и всё.



Общение с коллегами из других компаний показало две вещи: во-первых, достаточно много людей используют Pinba, а во-вторых, часть из них не знают или не используют все возможности этого инструмента, а некоторые не до конца понимают его предназначение. Поэтому я постараюсь рассказать о тех нюансах, которые явно не указаны в документации, о новых возможностях и наиболее интересных кейсах применения Pinba в Badoo. Поехали!

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

[1]: https://habrastorage.org/web/00d/101/145/00d101145487496c85c8bc8bf4c9d0c9.jpg
[2]: http://pinba.org
[3]: https://habrahabr.ru/company/badoo/blog/149695/
[4]: https://habrahabr.ru/company/badoo/blog/319934/
[5]: https://habrahabr.ru/post/331866/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Оценка связанности событий с помощью Байеса
habra.16
habrabot(difrex,1) — All
2017-06-30 12:30:04


В своей книге Нейт Сильвер приводит такой пример: допустим требуется разместить инвестиции в нескольких предприятиях, которые могут обанкротиться с вероятностью ![$5\%$][1]. Требуется оценить свои риски. Чем выше вероятность банкротства, тем меньше мы будем вкладывать денег. И наоборот, если вероятность банкротства стремится к нулю, то можно инвестировать без ограничений.

Если имеется 2 предприятия, тогда вероятность того, что они оба обанкротятся и мы потеряем все вложения ![$P = 0.05 \cdot 0.05 = 0.0025$][2]. Так учит стандартная теория вероятности. Но что будет, если предприятия связаны и банкротство одного ведет к банкротству другого?

Крайним случаем является ситуация, когда предприятия полностью зависимы. Вероятность двойного банкротства ![$ P$][3]( банкрот1 & банкрот2 ) = ![$P$][4]( банкрот1 ), тогда вероятность потери всех вложений равна ![$P = 0.05$][5]. Методика оценки риска имеет большой разброс ![$P$][6] от 0.05 до 0.0025 и реальное значение зависит от того насколько правильно мы оценили связанность двух событий.

![][7]
При оценке инвестиций в ![$N$][8] предприятий имеем ![$P$][9] от ![$0.05$][10] до ![$0.05^N$][11]. То есть максимальная возможная вероятность остается большой ![$P=0.05$][12] и старая поговорка «не клади яйца в одну корзину» не сработает, если упадет прилавок со всеми корзинами сразу.

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

Попробуем разобрать эту проблему, решив простую математическую задачу после ката.
[Читать дальше →][13]

[1]: https://habrastorage.org/getpro/habr/formulas/f67/a5b/a0f/f67a5ba0f36ae8d2ca7f45e2e38b8e4f.svg
[2]: https://habrastorage.org/getpro/habr/formulas/7ec/1f9/7bd/7ec1f97bdd03ce5a90ba9fa58b0bc396.svg
[3]: https://habrastorage.org/getpro/habr/formulas/c3d/2f2/c44/c3d2f2c44fc42edea27de7f8f67b4829.svg
[4]: https://habrastorage.org/getpro/habr/formulas/c3d/2f2/c44/c3d2f2c44fc42edea27de7f8f67b4829.svg
[5]: https://habrastorage.org/getpro/habr/formulas/828/fa0/f15/828fa0f15a98a2063f8d74826fb7e183.svg
[6]: https://habrastorage.org/getpro/habr/formulas/c3d/2f2/c44/c3d2f2c44fc42edea27de7f8f67b4829.svg
[7]: https://habrastorage.org/web/13e/b8e/96c/13eb8e96c83f45a983029e64fcdcdb01.jpg
[8]: https://habrastorage.org/getpro/habr/formulas/1e8/0c3/b30/1e80c3b3087c0a57b68ad11261a9ec2b.svg
[9]: https://habrastorage.org/getpro/habr/formulas/c3d/2f2/c44/c3d2f2c44fc42edea27de7f8f67b4829.svg
[10]: https://habrastorage.org/getpro/habr/formulas/bf6/317/a9a/bf6317a9a463403679fb5e8f3282509a.svg
[11]: https://habrastorage.org/getpro/habr/formulas/a16/22a/e8a/a1622ae8af17012ab0671e5a6f3649d7.svg
[12]: https://habrastorage.org/getpro/habr/formulas/828/fa0/f15/828fa0f15a98a2063f8d74826fb7e183.svg
[13]: https://habrahabr.ru/post/331282/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Использование Python и Excel для обработки и анализа данных. Часть 2: библиотеки для работы с данными
habra.16
habrabot(difrex,1) — All
2017-06-30 12:30:04


Первая часть статьи была опубликована [тут][1].

**Как читать и редактировать Excel файлы при помощи openpyxl
**
Эта библиотека пригодится, если вы хотите читать и редактировать файлы .xlsx, xlsm, xltx и xltm.

Установите openpyxl using pip.
Общие рекомендации по установке этой библиотеки — сделать это в виртуальной среде Python без системных библиотек. Вы можете использовать виртуальную среду для создания изолированных сред Python: она создает папку, содержащую все необходимые файлы, для использования библиотек, которые потребуются для Python.
Перейдите в директорию, в которой находится ваш проект, и повторно активируйте виртуальную среду venv. Затем перейдите к установке openpyxl с помощью pip, чтобы убедиться, что вы можете читать и записывать с ним файлы:
[Читать дальше →][2]

[1]: https://habrahabr.ru/company/otus/blog/331746/#first_unread
[2]: https://habrahabr.ru/post/331998/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как создать альтернативу Google Диск и Dropbox за 3700 часов
habra.16
habrabot(difrex,1) — All
2017-06-30 12:30:04


За 8 месяцев разработки, 3700 рабочих часов, силами 15 человек команда Artezio создала собственную файлообменную платформу SendFile. Сначала мы рассматривали ее как учебный проект, но потом она переросла этот статус. В этой статье я расскажу, как все начиналось и к чему мы пришли сейчас.

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

[1]: https://habrastorage.org/getpro/habr/post_images/2a6/0fc/b07/2a60fcb072a6d58e982db9fc86c67a22.
[2]: https://habrahabr.ru/company/lanit/blog/331912/
[3]: https://habrahabr.ru/post/331912/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] 30+ онлайн ресурсов для изучения программирования в 2017
habra.16
habrabot(difrex,1) — All
2017-06-30 17:00:05


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

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

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

[>] Автоэнкодеры в Keras, Часть 5: GAN(Generative Adversarial Networks) и tensorflow
habra.16
habrabot(difrex,1) — All
2017-06-30 17:30:05


### Содержание


* Часть 1: [ Введение ][1]
* Часть 2: [ _Manifold learning_ и скрытые (_latent_) переменные ][2]
* Часть 3: [Вариационные автоэнкодеры (_VAE_) ][3]
* Часть 4: [_Conditional VAE_][4]
* **Часть 5: _GAN_ (Generative Adversarial Networks) и tensorflow**
* Часть 6: _VAE_ + _GAN_

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

При всех преимуществах вариационных автоэнкодеров **_VAE_**, которыми мы занимались в предыдущих постах, они обладают одним существенным недостатком: из-за плохого способа сравнения оригинальных и восстановленных объектов, сгенерированные ими объекты хоть и похожи на объекты из обучающей выборки, но легко от них отличимы (например, размыты).

Этот недостаток в куда меньшей степени проявляется у другого подхода, а именно у _генеративных состязающихся сетей_ — **_GAN_**’ов.

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


### Коротко о _GAN_


**_GAN_**’ы впервые были предложены в статье **_[1, Generative Adversarial Nets, Goodfellow et al, 2014]_** и сейчас очень активно исследуются. Наиболее state-of-the-art генеративные модели так или иначе используют _adversarial_.

Схема **_GAN_**:

![][5]

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

[1]: https://habrahabr.ru/post/331382/
[2]: https://habrahabr.ru/post/331500/
[3]: https://habrahabr.ru/post/331552/
[4]: https://habrahabr.ru/post/331664/
[5]: https://habrastorage.org/web/faf/0a8/b00/faf0a8b002584baca17e693e877b871b.png
[6]: https://habrahabr.ru/post/332000/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Еще один способ поставить tails на флешку (и вернуть свои гигабайты)
habra.16
habrabot(difrex,1) — All
2017-06-30 20:30:05


Добрый день, читатель!

![][1]

[TAILS][2] — это замечательный live дистрибутив, который можно проверить ноут перед покупкой и через который можно безопасно работать в сети и который не оставляет следом на машинке. Весит сие дело всего 1.3 Gb.

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

[1]: https://blog-static.saraeff.net/uploads/2017/06/tails_010_b070d39a5fbbf6dd-300x64.png
[2]: https://tails.boum.org/
[3]: https://habrahabr.ru/post/332032/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Who is Mr. Hacker?
habra.16
habrabot(difrex,1) — All
2017-07-01 00:30:04


![][1]

Коллеги и друзья! Рад сообщить о запуске новой, 11-й по счету лаборатории тестирования на проникновение: Test Lab v. 11!

Лаборатория представляет собой копию реальной корпоративной сети компании, содержащую типичные уязвимости и ошибки конфигурации, а принять участие сможет каждый желающий. В настоящее время в лаборатории зарегистрировано более 17 000 человек!
[Читать дальше →][2]

[1]: https://habrastorage.org/web/41f/efa/d05/41fefad05c6c4b3cba553e30ffe04ec8.jpg
[2]: https://habrahabr.ru/post/332062/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] VK Streaming API Contest
habra.16
habrabot(difrex,1) — All
2017-07-01 16:30:05


Привет! Мы запустили бета-тестирование нового продукта для получения публичных данных из ВКонтакте в реальном времени — Streaming API.

![][1]

Он призван заменить методы публичного API для поиска и парсинга данных (newsfeed.search, wall.search, wall.get) и стать более удобным решением задачи аналитики упоминаний в соцсети.

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

[1]: https://habrastorage.org/web/cbf/74d/7b2/cbf74d7b24504eadaeefe536c06b0aae.png
[2]: https://habrahabr.ru/post/332054/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Делаем data science-портфолио: история через данные
habra.16
habrabot(difrex,1) — All
2017-07-01 18:30:04


**Предисловие переводчика**

Перевод внезапно удачно попал в струю других датасайенсных туториалов на хабре. :)
Этот написан Виком Паручури, основателем [Dataquest.io][1], где как раз и занимаются подобного рода интерактивным обучением data science и подготовкой к реальной работе в этой области. Каких-то эксклюзивных ноу-хау здесь нет, но очень подробно рассказан процесс от сбора данных до первичных выводов о них, что может быть интересно не только желающим составить резюме на data science, но и тем, кто просто хочет попробовать себя в практическом анализе, но не знает, с чего начать.



Data science-компании всё чаще смотрят портфолио, когда принимают решение о приёме на работу. Это, в  частности, из-за того, что лучший способ судить о практических навыках — именно портфолио. И хорошая новость в том, что оно полностью в вашем распоряжении: если постараетесь – сможете собрать отличное портфолио, которым будут впечатлены многие компании.

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

[1]: https://www.dataquest.io/
[2]: https://habrahabr.ru/post/331528/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Вероятностный и информационный анализ результатов измерений на Python
habra.16
habrabot(difrex,1) — All
2017-07-01 19:00:04


![][1]

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


### Зачем нужна информационная теория измерений


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

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

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

[1]: https://habrastorage.org/web/c7b/c73/5d5/c7bc735d50f54c739cdb266cfcdd8d33.png
[2]: https://habrahabr.ru/post/332066/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Хакеры и биржи: как атакуют сферу финансов
habra.16
habrabot(difrex,1) — All
2017-07-01 19:00:04


[![][1]][2]

Пока финансовый сектор совершенствуется и внедряет новые технологии, киберпреступники не дремлют. Согласно [данным компании FireEye за 2014 год][3], специализирующейся на информационной безопасности, финансовые учреждения — на втором месте по частоте хакерских атак, уступая первенство лишь правительственным ресурсам. Со временем атаки на этот сектор только усилились.

Сегодня мы рассмотрим несколько примеров реальных атак на банки и биржи и поговорим о последствиях этих киберинцидентов. [Читать дальше →][4]

[1]: https://habrastorage.org/web/ac2/650/dca/ac2650dca3ef478d9e6a962951e5a0b1.png
[2]: https://habrahabr.ru/company/itinvest/blog/332080/
[3]: https://www.fireeye.com/content/dam/fireeye-www/global/en/current-threats/pdfs/fireeye-emea-advanced-threat-report-1h2014.pdf
[4]: https://habrahabr.ru/post/332080/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «Ты, гроза, грозись, а мы друг за друга держись!» — сказ о том, как я ADSL-модем спасал
habra.16
habrabot(difrex,1) — All
2017-07-01 22:00:03


_«Модем горит,
Провайдер плачет.
Но он не смог поступить иначе.
Гремит гроза...»_

Гроза! Стихия! Караул! Иной раз тяжело предугадать, какой ущерб она может учинить домашней электронике… Благо, её можно предупредить, тем самым исключив возможность выхода из строя, скажем, хотя бы домашних маршрутизаторов и модемов – обычно они в первую очередь и подвергаются воздействию буйных действ природы.

![][1] [Этакая оказия! Что же делать?][2]

[1]: https://habrastorage.org/web/25f/0df/cfc/25f0dfcfc1f944c4b84c7226ca94d249.jpg
[2]: https://habrahabr.ru/post/332072/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Работа с гетерогенными контейнерами с C++17
habra.16
habrabot(difrex,1) — All
2017-07-01 23:00:03


Привет, Хабр! В последнее время много говорят о C++17, особенно с появлением в России национальной рабочей группы по стандартизации. На просторах сети без особых проблем можно найти короткие примеры использования последнего стандарта C++. Всё бы хорошо, но по настоящему обширного перехода на новые стандарты не наблюдается. Поэтому можем наблюдать картину, в которогй любая библиотека, требующая минимум 14 стандарта уже считается modern постфактум.

В данной публикации разработаем небольшую библиотеку (3 функции (**apply**, **filter**, **reduce**) и одна как «домашнее задание» (**map**) :)) по удобной работе с гетерогенными контейнерами в рантайме (гетерогенность за счёт std::variant из 17 стандарта).

Из нового, помимо новых библиотечных типов, попробуем на вкус _fold expressions_ и совсем немного _structured binding_
[Читать дальше →][1]

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

[>] Автоэнкодеры в Keras, Часть 6: VAE + GAN
habra.16
habrabot(difrex,1) — All
2017-07-02 00:30:03


### Содержание


* Часть 1: [ Введение ][1]
* Часть 2: [ _Manifold learning_ и скрытые (_latent_) переменные ][2]
* Часть 3: [Вариационные автоэнкодеры (_VAE_) ][3]
* Часть 4: [_Conditional VAE_][4]
* Часть 5: [_GAN_ (Generative Adversarial Networks) и tensorflow][5]
* **Часть 6: VAE + GAN**

В позапрошлой части мы создали **_CVAE_** автоэнкодер, декодер которого умеет генерировать цифру заданного лейбла, мы также попробовали создавать картинки цифр других лейблов в стиле заданной картинки. Получилось довольно хорошо, однако цифры генерировались смазанными.
В прошлой части мы изучили, как работают **_GAN’ы_**, получив довольно четкие изображения цифр, однако пропала возможность кодирования и переноса стиля.

В этой части попробуем взять лучшее от обоих подходов путем совмещения _вариационных автоэнкодеров_ (**_VAE_**) и _генеративных состязающихся сетей_ (**_GAN_**).

Подход, который будет описан далее, основан на статье **[Autoencoding beyond pixels using a learned similarity metric, Larsen et al, 2016]**.

![][6]

Иллюстрация из **_[1]_**
[Читать дальше →][7]

[1]: https://habrahabr.ru/post/331382/
[2]: https://habrahabr.ru/post/331500/
[3]: https://habrahabr.ru/post/331552/
[4]: https://habrahabr.ru/post/331664/
[5]: https://habrahabr.ru/post/332000/
[6]: https://habrastorage.org/web/7a1/8db/d39/7a18dbd3969048c2b085cc707e539f0c.png
[7]: https://habrahabr.ru/post/332074/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Никогда не пишите длинных if-ов
habra.16
habrabot(difrex,1) — All
2017-07-02 01:30:04


Ошибок в условиях допускается великое множество. Можно взять для примера любой пост из блога [PVS-studio][1], в каждом есть ошибки, связанные с невнимательным обращением с условиями. И правда, нелегко разглядеть ошибку в условии, если код выглядит так (пример из [этого поста][2]):

static int ParseNumber(const char* tx)
{
....
else if (strlen(tx) >= 4 && (strncmp(tx, "%eps", 4) == 0
|| strncmp(tx, "+%pi", 4) == 0 || strncmp(tx, "-%pi", 4) == 0
|| strncmp(tx, "+Inf", 4) == 0 || strncmp(tx, "-Inf", 4) == 0
|| strncmp(tx, "+Nan", 4) == 0 || strncmp(tx, "-Nan", 4) == 0
|| strncmp(tx, "%nan", 4) == 0 || strncmp(tx, "%inf", 4) == 0
))
{
return 4;
}
else if (strlen(tx) >= 3
&& (strncmp(tx, "+%e", 3) == 0
|| strncmp(tx, "-%e", 3) == 0
|| strncmp(tx, "%pi", 3) == 0 // <=
|| strncmp(tx, "Nan", 3) == 0
|| strncmp(tx, "Inf", 3) == 0
|| strncmp(tx, "%pi", 3) == 0)) // <=
{
return 3;
}
....
}
[Читать дальше →][3]

[1]: https://habrahabr.ru/company/pvs-studio/
[2]: https://habrahabr.ru/company/pvs-studio/blog/331638/
[3]: https://habrahabr.ru/post/332060/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Интеграция 1С с DLL с помощью Python
habra.16
habrabot(difrex,1) — All
2017-07-02 04:30:08


Привет Хабр! Недавно я разработал алгоритм для логистики, и нужно было его куда-то пристроить. Помимо веб-сервиса решено было внедрить данный модуль в 1С, и тут появилось довольно много подводных камней.

Начнем с того, что сам алгоритм представлен в виде dll библиотеки, у которой одна точка входа, принимающая JSON строку как параметр, и отдающая 2 колбэка. Первый для отображения статуса выполнения, другой для получения результата. С web-сервисом все довольно просто, у питона есть замечательный пакет ctypes, достаточно подгрузить нужную библиотеку и указать точку входа.

Выглядит это примерно так:

import ctypes
def callback_recv(*args):
print(args)

lib = ctypes.cdll.LoadLibrary('test.dll')
Callback = ctypes.CFUNCTYPE(None, ctypes.c_int, ctypes.c_char_p)
my_func = getattr(lib, '_ZN7GtTools4testEPKcPFviS1_E')
cb_func = Callback(callback_recv)
my_func(ctypes.c_char_p('some data'), cb_func)

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

Данное коверканье метода происходит из-за того, что компилятор манглит («mangle» — калечить) название всех точек входа, причем разные компиляторы «калечат» по разному. В примере указан метод полученный MinGW
[Читать дальше →][1]

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

[>] Автоэнкодеры в Keras, часть 6: VAE + GAN
habra.16
habrabot(difrex,1) — All
2017-07-02 04:30:08


### Содержание


* Часть 1: [ Введение ][1]
* Часть 2: [ _Manifold learning_ и скрытые (_latent_) переменные ][2]
* Часть 3: [Вариационные автоэнкодеры (_VAE_) ][3]
* Часть 4: [_Conditional VAE_][4]
* Часть 5: [_GAN_ (Generative Adversarial Networks) и tensorflow][5]
* **Часть 6: VAE + GAN**

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

В прошлой части мы изучили, как работают **_GAN’ы_**, получив довольно четкие изображения цифр, однако пропала возможность кодирования и переноса стиля.

В этой части попробуем взять лучшее от обоих подходов путем совмещения _вариационных автоэнкодеров_ (**_VAE_**) и _генеративных состязающихся сетей_ (**_GAN_**).

Подход, который будет описан далее, основан на статье **[Autoencoding beyond pixels using a learned similarity metric, Larsen et al, 2016]**.

![][6]

Иллюстрация из **_[1]_**
[Читать дальше →][7]

[1]: https://habrahabr.ru/post/331382/
[2]: https://habrahabr.ru/post/331500/
[3]: https://habrahabr.ru/post/331552/
[4]: https://habrahabr.ru/post/331664/
[5]: https://habrahabr.ru/post/332000/
[6]: https://habrastorage.org/web/7a1/8db/d39/7a18dbd3969048c2b085cc707e539f0c.png
[7]: https://habrahabr.ru/post/332074/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Метод оптимизации Нелдера — Мида. Пример реализации на Python
habra.16
habrabot(difrex,1) — All
2017-07-02 23:30:06


![][1]

Метод Нелдера — Мида — метод оптимизации (поиска минимума) функции от нескольких переменных. Простой и в тоже время эффективный метод, позволяющий оптимизировать функции без использования градиентов. Метод надежен и, как правило, показывает замечательные результаты, хотя и отсутствует теория сходимости. Используется по умолчанию в функции optimize из модуля scipy.optimize популярной библиотеки для языка python, которая используется для математических расчетов.
[Читать дальше →][2]

[1]: https://habrastorage.org/web/7c7/7a5/704/7c77a5704e5b4ab7b9cae626b995c152.png
[2]: https://habrahabr.ru/post/332092/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Многопользовательская игра на Go через telnet
habra.16
habrabot(difrex,1) — All
2017-07-03 14:00:05


Всем привет! Меня зовут Олег и я SRE. В какой-то момент мне захотелось улучшить свои навыки программирования на Go и написать маленькую многопользовательскую игру.

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

Вот что получилось:

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

[1]: https://habrastorage.org/getpro/habr/post_images/4e7/1e0/61d/4e71e061de19e5f5fb49a06b6962a610.png
[2]: https://habrahabr.ru/post/330512/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как компьютерные профи раскалывают хакеров
habra.16
habrabot(difrex,1) — All
2017-07-03 15:00:03


![][1]

В последнее время, на фоне всевозможных вирусов Wanna Cry и Petya, тема кибербезопасности не сходит с первых полос СМИ. В этой связи показалась примечательной [заметка найденная на одном из заморских сайтов][2]. Под катом рассказ Роджера Краймса о том, как одни профессионалы доставляют неприятности другим и наоборот. Суть статьи сводится к тому, что если хотите познакомиться с действительно толковым хакером, поговорите со специалистом по защите от кибератак. Эти талантливые люди каждый день работают над тем, чтобы совершать киберпреступления становилось труднее и наименее прибыльно. Кстати, с удивлением узнал, что любимое развлечение специалистов по информационной безопасности, «ломать» компы соседей на профессиональных конференциях. [Читать дальше →][3]

[1]: https://habrastorage.org/web/cdf/aa6/df2/cdfaa6df2cc1471d861342c330c39381.jpg
[2]: http://www.itworld.com/article/3199548/security/how-computer-security-pros-hack-the-hackers.html#tk.rss_opinion
[3]: https://habrahabr.ru/post/332178/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

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


Компания [Hola][1] объявляет долгожданный летний конкурс по программированию! Победителей ожидают призы:

1. Первое место: 3000 USD.
2. Второе место: 2000 USD.
3. Третье место: 1000 USD.
4. Если Вы отправите кому-то ссылку на этот конкурс, поставив [наш адрес][2] в CC, и этот человек займёт призовое место, Вы получите половину суммы приза (разумеется, не в ущерб награде победителя). За одного победителя такую награду может получить только один человек — тот, кто отправил ссылку первым.
Авторы интересных решений будут приглашены на собеседования.

![][3]


## Правила



Условия конкурса на английском языке размещены [на GitHub][4]. Ниже — перевод на русский язык.

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

[1]: https://hola.org
[2]: mailto:challengejs+habrahabr@hola.org
[3]: https://habrastorage.org/web/f4c/0f0/b43/f4c0f0b43837421cac8abf6938507061.png
[4]: https://github.com/hola/challenge_jsdash
[5]: https://habrahabr.ru/post/332176/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 ... 133