RSS
Pages: 1 ... 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 ... 210
[>] [Из песочницы] Управление действиями процессов. Не превышение лимита RPS (QPS) API
habra.16
habrabot(difrex,1) — All
2016-07-01 16:00:03


![image][1]

###### _Структурно-функциональная схема модуля_


Хочу рассказать о разработанном и используемом в продакшне модуле Publisher Pulsar ([github][2]), который позволяет **синхронизировать действия процессов. **

Например, есть множество (десятки или сотни) процессов, независимо друг от друга обращающихся к API Google Analytics с одного IP.

При этом, GA установлен лимит в [10 queries per second][3] с одного IP.

Если не регулировать обращения к API, то постоянно будет возвращаться ошибка превышения лимита некоторыми процессами, и либо они не смогут выполнить свою задачу без данных API, либо будут снова и снова пытаться получить данные в цикле, создавая проблему для других процессов, увеличивая количество ошибок. То есть будет хаос и отсутствие прогнозируемости в части процента корректно получаемых данных и процента ошибок при обращениях к API.

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

[1]: https://raw.githubusercontent.com/jamset/publisher-pulsar/master/images/publisher-pulsar-schema.jpg
[2]: https://github.com/jamset/publisher-pulsar
[3]: https://developers.google.com/analytics/devguides/config/mgmt/v3/limits-quotas
[4]: https://habrahabr.ru/post/304536/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Пишем задачки на FBD. Пятнашки и Симпсон
habra.16
habrabot(difrex,1) — All
2016-07-01 16:00:03


Здравствуйте.

В этой статье будет показано, как на языке программирования [FBD][1] написать простую программу, которая, тем не менее, будет делать что-то полезное. В нашем примере это будет игра в Пятнашки.

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

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

Вот что получилось в итоге:
![][3]

Описание программы, комментарии и картинки под катом.
[Читать статью][4]

[1]: https://ru.wikipedia.org/wiki/FBD
[2]: https://ru.wikipedia.org/wiki/%D0%98%D0%B3%D1%80%D0%B0_%D0%B2_15
[3]: https://habrastorage.org/files/01d/0ef/e11/01d0efe1112c47aeba736de9020b88cd.png
[4]: https://habrahabr.ru/post/304416/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Мои соболезнования: теперь вы поддерживаете популярный проект с открытым исходным кодом
habra.16
habrabot(difrex,1) — All
2016-07-01 16:00:03


_От автора: В статье приведены мои слайды и заметки с выступления от 25 июня 2016 года на конференции WordCamp Europe. Говорил я примерно то же самое._

![][1]

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


# Программное обеспечение поедает мир


Известна фраза от Марка Андреессена, создателя браузера Netscape: «программное обеспечение поедает мир». Я хочу уточнить, что мир поедает ПО с открытым кодом, и у меня есть парочка аргументов в пользу моей версии.

Во-первых, результаты [опроса 2015 года «будущее открытого ПО»:][2] «78% анкетируемых сказали, что частично работают при поддержке ОПО, и 66% сказали, что создают ПО для клиентов на основе ОПО. Эти цифры почти удвоились с 2010 года».

Во-вторых, Надья Эгбал [Nadia Eghbal], проводящая интересные исследования экономики ОПО, подсчитала, что «Доля ОПО в приобретённом за $1 миллиард Instagram составляла [не менее $143 миллионов][3]».

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

[1]: https://habrastorage.org/getpro/habr/post_images/b78/74b/989/b7874b9891bb5881da6e375b76ea9c20.png
[2]: http://www.northbridge.com/2015-future-open-source-survey-results
[3]: https://medium.com/@nayafia/open-source-was-worth-at-least-143m-of-instagram-s-1b-acquisition-808bb85e4681
[4]: https://habrahabr.ru/post/304550/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Security Week 26: Слив данных через вентилятор, ядро iOS расшифровали, криптолокер на парольных архивах
habra.16
habrabot(difrex,1) — All
2016-07-02 13:30:04


![][1]Есть такая категория исследований в области ИБ, которую я называю «страшилками из будущего». Ни в коем случае не хочу умалять достоинства таких исследований: часто бывает так, что угроза, считающая очень теоретической, лет через десять после исследования становится вполне реальной. Конечно же, это всегда происходит _неожиданно_. К подобным потенциальным уязвимостям можно отнести, например, перепрограммирование [контроллеров USB][2], атаки на алгоритмы, используемые [для шифрования данных][3], и даже, например, уязвимость в USB-приемниках для беспроводных [клавиатур и мышей][4]. Последний пример особенно показателен: это вовсе не теоретическая атака, но все же очень трудоемкая. Пока есть методы проще, сложными пользоваться не будут. Или лучше по-другому сказать: момент, когда такими методами все же начнут пользоваться, ознаменует качественно новый уровень защищенности IT-систем. Куда более продвинутый, чем сейчас.

Так вот, исследователи из израильского Университета имени Бен-Гуриона показали новую атаку такого типа, которая теоретически позволяет проникнуть в air-gapped системы. Air-gapped — это такой устоявшийся термин для компьютерной инфраструктуры на критически важных объектах, которая с целью максимальной защиты отключена и от интернета, и от менее важных сетей того же предприятия. Уже давно понятно, что этот метод — не панацея, смотрите пример Stuxnet, который очевидно заражал такие тщательно охраняемые системы, распространяясь на USB-флешках («Привет, я тут фильм скачал новый, на посмотри пока на работе сидишь»).

Предположим, что в ответственных конторах после этого случая залили эпоксидкой все разъемы. Стало ли безопаснее? Не совсем. В исследовании (Исходник в [PDF][5], [статья][6] на Wired) показано, как можно сливать данные с защищенного компьютера, изменяя скорость вращения вентилятора на процессоре.
Все выпуски сериала — [тут][7].
[Читать дальше →][8]

[1]: https://habrastorage.org/files/f62/ad7/066/f62ad706630440458cdb67680c359ac1.jpg
[2]: https://threatpost.ru/badusb-novoe-issledovanie-staraya-problema/4757/
[3]: https://threatpost.ru/prime-diffie-hellman-weakness-may-be-key-to-breaking-crypto/12806/
[4]: https://threatpost.ru/mousejack-attacks-abuse-vulnerable-wireless-keyboard-mouse-dongles/14930/
[5]: https://www.wired.com/wp-content/uploads/2016/06/Fansmitter-1.pdf
[6]: https://www.wired.com/2016/06/clever-attack-uses-sound-computers-fan-steal-data?mbid=social_fb
[7]: http://habrahabr.ru/search/?target_type=posts&q=%5Bklsw%5D%20&order_by=date
[8]: https://habrahabr.ru/post/304580/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] systemd: getty-подобный сервис для htop
habra.16
habrabot(difrex,1) — All
2016-07-02 22:30:03


**htop** — это интерактивная программа для наблюдения за процессами; она — альтернатива программы top. Каждый, кто работает за машиной с линуксом на борту, хоть раз использовал её: будь то поиск процесса (и его последующее убийство) или тщательный мониторинг используемых ресурсов.


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

[1]: https://habrastorage.org/getpro/habr/post_images/3ba/a70/ee3/3baa70ee34c346ef6c0a586558bd2cd3.png
[2]: https://habrahabr.ru/post/304594/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Разрабатываем систему real-time fulltext-поиска по error-логам на основе ClickHouse от Яндекса
habra.16
habrabot(difrex,1) — All
2016-07-02 23:00:03


В этой статье я расскажу о том, как разработать систему для индексирования и полнотекстового поиска error-логов (или любых других логов) на основе СУБД от Яндекса под названием ClickHouse. Про саму базу Яндекс писал на Хабре сначала [когда база была закрытой][1], а потом [когда они её заопенсорсили][2]. База данных в первую очередь предназначена для аналитики и для реализации сервиса Яндекс.Метрика, но может на самом использоваться для чего угодно, если вам подходит загружать данные пачками, удалять их тоже огромными пачками и никогда не обновлять отдельные строки.


# Что мы будем делать


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

CREATE TABLE Messages (
message_id BIGINT PRIMARY KEY AUTO_INCREMENT,
created_ts DATETIME,
message_text BLOB
)


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

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

[1]: https://habrahabr.ru/company/yandex/blog/273305/
[2]: https://habrahabr.ru/company/yandex/blog/303282/
[3]: https://habrahabr.ru/post/304602/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] PVS-Studio спешит на помощь CERN: проверка проекта Geant4
habra.16
habrabot(difrex,1) — All
2016-07-03 21:30:03


![PVS-Studio спешит на помощь CERN][1]Проект Geant4 продолжает развиваться, поэтому интересно вновь проверить его с помощью статического анализатора кода PVS-Studio. На этот раз проверке будет подвергнута версия 10.2 (предыдущая проверка относилась к версии 10.0-beta).
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/7e8/7d7/75b/7e87d775bbfecea8768205717677ff78.png
[2]: https://habrahabr.ru/post/304626/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Четыре способа извлечения значений из скрытых полей в C#
habra.16
habrabot(difrex,1) — All
2016-07-03 22:30:03


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

public class Example
{
private int JustInt;

// Some code here

public void DoSomething(Example example)
{
this.JustInt = example.JustInt; // Вполне валидная строка, некоторых удивляет
}
}

[Почему бы не пойти дальше, и не забирать данные из скрытых полей иных классов?][1]

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

[>] Дайджест интересных событий из мира Java, и вокруг нее #5 (20.06.2016 — 03.07.2016)
habra.16
habrabot(difrex,1) — All
2016-07-04 13:00:04


![image][1]


## В этом выпуске


— **Microprofile**: очередная попытка реанимации **Java EE**
— Заденет ли **Brexit** Java-разработчиков?
— Раскладываем по полочкам **Java Memory Model**
— Профилирование: слабые стороны **AsyncGetCallTrace**
… и многое другое
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/3c6/1de/bf1/3c61debf1a6dddcd1b92c67e3f108f83.jpg
[2]: https://habrahabr.ru/post/304624/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Одна неочевидная уязвимость некоторых групп вконтакте
habra.16
habrabot(difrex,1) — All
2016-07-04 13:30:04


Допустим, у некоторой организации появилась задача – зарегистрировать официальную группу или страницу вконтакте. Сразу возникает вопрос – с какого аккаунта это делать? А вдруг пользователи зайдут на страницу сотрудника, увидят там обнаженку, расчленёнку и вот это всё? Личная страница ведь не должна удовлетворять корпоративным стандартам. Возникает идея — зарегистрировать новый «рабочий» аккаунт.


#### Небольшой подвох


Новые аккаунты на vk.com должны быть привязаны к телефону. Личные телефоны сотрудников, как правило, уже используются для их личных страниц, да и не очень правильно для рабочего аккаунта использовать «нерабочие» сим карты. В этой ситуации логичным решением кажется сходить к метро и купить новую сим карту, чтобы привязать её к рабочему аккаунту.

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


#### Проходит несколько лет


Группа разрастается, новости пишутся, пользователи активно лайкают, комментируют и репостят. Есть даже целый штат модераторов и администраторов сообщества, чтобы поддерживать всех страждущих. Но во всех этой идиллии есть уязвимое звено – аккаунт создателя сообщества.
[Читать дальше →][1]

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

[>] «Противостояние» глазами защитника: Рассказ о PHDays CTF от участника соревнований
habra.16
habrabot(difrex,1) — All
2016-07-04 14:00:03


[![][1]][2]

В этом году главный хакерский конкурс PHDays сменил формат: мы отошли от привычного CTF. Вместо этого на форуме развернулась настоящая битва хакеров и безопасников. В этот раз сражались три команды: «хакеры», «защитники» и SOC (security operations centers). События на полигоне соревнования были максимально приближены к реальности. В распоряжении команд находилась эмуляция города, в котором есть банк, телеком-оператор, офис крупного холдинга, электроэнергетическая компания и другие объекты.

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

[1]: https://habrastorage.org/files/7ed/721/86a/7ed72186a1934479ae4033457b7b9229.png
[2]: https://habrahabr.ru/company/pt/blog/304638/
[3]: http://aodugin.blogspot.ru/search/label/PHDays
[4]: https://habrahabr.ru/post/304638/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Автоматизация в JunOS: пишем скрипты
habra.16
habrabot(difrex,1) — All
2016-07-04 14:00:03


В жизни каждого системного администратора наступают моменты, когда возникает необходимость автоматизировать выполнение каких-то операций или, например, приходится часть своих полномочий делегировать подчиненным. Причем, желательно это сделать безопасно, а возможность накосячить свести к минимуму. Хорошо, если речь идет про сервер под управлением \*NIX-системы — имеется превеликое множество предназначенных для этого инструментов. Но так везет не всегда… [Читать дальше →][1]

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

[>] Почему участие в Open Source проектах это интересно и полезно
habra.16
habrabot(difrex,1) — All
2016-07-04 16:30:04


![][1]

В этой статье не будет психологических исследований на тему open-source и разработки.
Не будет анализа open-source проектов с помощью R или Python.
И не расскажу о том, как правильно контрибьютить.
Возможно я даже буду говорить какие-то банальные вещи.

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

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

[1]: https://habrastorage.org/files/ae9/521/d1e/ae9521d1e9ef47a1ab6b7b240b330af6.png
[2]: https://habrahabr.ru/post/304674/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Немного о повышении производительности БД: Практические советы
habra.16
habrabot(difrex,1) — All
2016-07-04 17:30:04


[][1]

/ фото [Ozzy Delaney][2] [CC][3]

_Мы в [1cloud][4] много рассказываем о [собственном опыте][5] работы над провайдером виртуальной инфраструктуры и тонкостях организации внутренних процессов. Сегодня мы решили немного поговорить об оптимизации БД._ [Читать дальше →][6]

[1]: http://habrahabr.ru/company/1cloud/blog/304642/
[2]: https://www.flickr.com/photos/24931020@N02/
[3]: https://creativecommons.org/licenses/by/2.0/
[4]: https://new.1cloud.ru
[5]: https://habrahabr.ru/company/1cloud/blog/304468/
[6]: https://habrahabr.ru/post/304642/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] JetBrains и Django анонсировали 30% распродажу PyCharm, c передачей всех денег в фонд Django
habra.16
habrabot(difrex,1) — All
2016-07-04 18:00:03


После нескольких лет поддержки фреймворка Django в PyCharm JetBrains и Django Software Foundation договорились о [партнерстве][1] и проведении [2-х недельной распродажи][2] лицензий PyCharm c последующей передачей всех заработанных на распродаже денег в фонд Django на развитие различных проектов и активностей. В дополнение к распродаже, частью партнерства является внедрение нового стандарта аннотаций типов в Python ([PEP 484 Type Hints][3]) в будущие версии Django.

![][4]

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

[1]: https://www.jetbrains.com/pycharm/specials/support-django/?internal
[2]: https://www.jetbrains.com/pycharm/specials/support-django/?internal
[3]: https://www.python.org/dev/peps/pep-0484/
[4]: https://habrastorage.org/files/2f8/6a2/a73/2f86a2a7396b4103861b1ef68c55a3fa.png
[5]: https://habrahabr.ru/post/304682/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Видео докладов с Docker митапа
habra.16
habrabot(difrex,1) — All
2016-07-04 18:00:03


![][1]
18-го июня мы провели [Docker митап][2], а сегодня публикуем видео докладов.

Познавательного вам просмотра!
[Читать дальше →][3]

[1]: https://habrastorage.org/files/df9/4cd/4e5/df94cd4e56524e1688c3221a40dde5e0.jpg
[2]: http://www.meetup.com/DevOps-Moscow-in-Russian/events/231684156/
[3]: https://habrahabr.ru/post/304702/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Пример базы Keepass для сетевого администратора
habra.16
habrabot(difrex,1) — All
2016-07-04 19:00:04


![][1]

Все мы храним или хранили пароли от сетевых устройств в excel файлах. Бывает конечно и так, что хранить ничего не надо так как учетная запись на всех устройства одинаковая, надеюсь читатели поняли, что я говорю не про RADIUS или TACACS, а про ситуацию, когда учетная запись действительно одна.

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

Хорошо если в вашей компании есть ресурсы и обозначен стабильный рост. В таком случае в какой-то момент вы разворачиваете приложение для управлению сетью. Но кто-то, в конечном итоге, так и остаётся на уровне «контролцэ-контролвэ», из-за отсутсвия ресурсов, а может и по другим причинам. Именно для этих людей данная статья. Я расскажу как уйти от excel, сделать хранение паролей более удобным и получить некоторую автоматизацию типовых телодвижений. **Заметка**: все описания для Windows окружения.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/650/f51/c2f/650f51c2ffc74163924620a695370310.png
[2]: https://habrahabr.ru/post/304680/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как не наступить на грабли, работая с сериализацией
habra.16
habrabot(difrex,1) — All
2016-07-05 11:30:03


![][1]



Несмотря на то, что использовать механизм сериализации при программировании на C# достаточно просто и удобно, есть моменты, которые стоит учитывать. О том, на какие грабли можно наступить, работая с сериализацией, о примерах кода, в котором эти грабли припрятаны, а также о том, как PVS-Studio поможет вам избежать шишек на лбу, и будет эта статья.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/729/d70/814/729d70814cad467fb3107e2dfe3537fa.png
[2]: https://habrahabr.ru/post/304734/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Сигнальные и транспортные протоколы WebRTC: срываем покровы
habra.16
habrabot(difrex,1) — All
2016-07-05 13:00:04


Наша платформа [VoxImplant][1] состоит из нескольких частей: облако, API, SDK для разных платформ. SDK для браузера подключается к облаку по WebSocket и позволяет звонить (и принимать звонки) как другим пользователям VoxImplant, так и на обычные телефоны. Раньше это работало с помощью flash, но в современных браузерах используется специально созданная для работы с голосом и видео технология WebRTC. Штука хорошая, но довольно сложная в использовании: возможность peer-to-peer коммуникаций, одна из ключевых «фишек» технологии, управляется полностью вручную. Чтобы два браузера могли организовать голосовой или видеочат друг с другом, разработчику нужно собрать информация об IP-адресах компьютеров, как-то передать эту информацию между браузерами, запустить NAT Traversal и скормить это все WebRTC. А если обойти NAT не получилось, то еще и предоставить Relay-сервер для передачи данных.

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

[1]: http://voximplant.com
[2]: https://habrahabr.ru/post/304740/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «Молчание – золото»: 13 вещей, которые не стоит говорить разработчикам и тестировщикам
habra.16
habrabot(difrex,1) — All
2016-07-05 13:30:04


[][1]

/ фото [Sistema Bibliotecario Vimercatese][2] [CC][3]

Практически каждая крупная организация нанимает в свой штат разработчиков программного обеспечения. При этом только [треть][4] из них заняты непосредственно в бизнесе, связанном с ИТ. Но вне зависимости от того, где они работают: в фармацевтической компании, образовательной или рекламной сферах, они остаются программистами.

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

[1]: http://habrahabr.ru/company/1cloud/blog/304694/
[2]: https://www.flickr.com/photos/sbvintasca/
[3]: https://creativecommons.org/licenses/by-nd/2.0/
[4]: https://medium.freecodecamp.com/5-000-developers-talk-about-their-salaries-d13ddbb17fb8#.50tuul9fo
[5]: https://habrahabr.ru/post/304694/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Концепты для отчаявшихся
habra.16
habrabot(difrex,1) — All
2016-07-05 14:00:04


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


template
void f (T t)
{
// Завладели экземпляром `t` типа `T`.
...

// Хочешь — переноси.
g(std::move(t));

// Не хочешь — не переноси.
...
}

Но есть один нюанс: требуется, чтобы принимаемый объект был строго `rvalue`. Следовательно, нужно:


1. Сообщать об ошибке компиляции при попытке передать `lvalue`.
2. Избежать лишнего вызова конструктора при создании объекта на стеке.

А вот это уже сложнее сделать.



Поясню.

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

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

[>] Распознавание паспорта РФ на платформе Эльбрус. Часть 1
habra.16
habrabot(difrex,1) — All
2016-07-05 14:00:04


В этой статье мы продолжим рассказывать о похождениях нашей программы распознавания паспорта: теперь паспорт отправится на Эльбрус!




Итак, что же мы знаем про архитектуру Эльбрус?



Эльбрус — высокопроизводительная и энергоэффективная архитектура процессоров, отличающаяся высокой безопасностью и надежностью. Современные процессоры архитектуры Эльбрус могут применяться в качестве серверов, настольных компьютеров и даже встраиваемых вычислителей. Они способны удовлетворить повышенным требованиям по информационной безопасности, рабочему диапазону температур и длительности жизненного цикла продукции. Процессоры архитектуры Эльбрус, как говорят нам публикации МЦСТ [1, 2], предназначены для решения задач обработки сигналов, математического моделирования, научных расчетов, а также других задач с повышенными требованиями к вычислительной мощности.



Мы в Smart Engines попробовали убедиться, правда ли производительности Эльбруса достаточно, чтобы реализовать распознавание паспорта без значительных потерь в скорости работы.

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

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

[>] Ansible с чего начать
habra.16
habrabot(difrex,1) — All
2016-07-05 14:30:04


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

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

[>] Уязвимости корпоративных информационных систем — 2015: внутри хуже, чем снаружи
habra.16
habrabot(difrex,1) — All
2016-07-05 16:30:03


[![][1]][2]

_Максимальный уровень риска уязвимостей, связанных с отсутствием обновлений безопасности (доля уязвимых систем)_

В 2015 году сетевые инфраструктуры компаний оказались лучше защищены от внешнего злоумышленника, чем в предыдущие годы, однако уровень защищенности от внутреннего нарушителя остался крайне низким. Лидер уязвимостей сетевого периметра — старые версии ПО, во внутренних сетях — недостатки управления учетными записями и паролями. Увеличилось число сотрудников, которые переходят по внешним ссылкам, а уровень защищенности каждой третьей из беспроводных сетей оценивается «ниже среднего». Такие наблюдения сделаны в исследовании компании Positive Technologies на основе тестов на проникновение, проводившихся в 2015 году. Ниже мы представляем основные результаты исследования. [Читать дальше →][3]

[1]: https://habrastorage.org/files/146/611/ee8/146611ee8cd04fabb6b7c9e11fb9d96f.png
[2]: https://habrahabr.ru/company/pt/blog/304738/
[3]: https://habrahabr.ru/post/304738/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Web scraping обновляющихся данных при помощи Node.js и PaaS
habra.16
habrabot(difrex,1) — All
2016-07-05 16:30:03


![][1]Это уже четвёртая статья в цикле про веб-скрейпинг при помощи Node.js:


1. [Web scraping при помощи Node.js][2]
2. [Web scraping на Node.js и проблемные сайты][3]
3. [Web scraping на Node.js и защита от ботов][4]
4. **Web scraping обновляющихся данных при помощи Node.js**

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



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



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

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

[1]: https://habrastorage.org/files/5ae/fa8/e37/5aefa8e375d44d9b8f07715d76a6327c.png
[2]: https://habrahabr.ru/post/301426/
[3]: https://habrahabr.ru/post/302766/
[4]: https://habrahabr.ru/post/303726/
[5]: https://habrahabr.ru/post/304708/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Эволюция угроз и стратегии защиты
habra.16
habrabot(difrex,1) — All
2016-07-05 17:00:03


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

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

[1]: https://habrastorage.org/getpro/habr/post_images/cef/704/a22/cef704a22820ae2a8f889752a40163ed.png
[2]: https://habrahabr.ru/company/smart_soft/blog/304764/
[3]: https://habrahabr.ru/post/304764/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Работа с Bluetooth LE из Java-приложений
habra.16
habrabot(difrex,1) — All
2016-07-05 17:30:04


Сегодня расскажем о том, как, пользуясь Java, создавать приложения для IoT, которые могут работать с удалёнными Bluetooth Low Energy-устройствами. Разработку таких приложений, благодаря проекту с открытым исходным кодом [TinyB][1], поддерживает Intel IoT Development Kit. TinyB предоставляет разработчику простые API для C++ и Java, которые позволяют работать с BLE-устройствами. Здесь рассмотрим API TinyB для Java, а эксперименты будем проводить на Intel Edison.

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

[1]: https://github.com/intel-iot-devkit/tinyb/
[2]: https://habrastorage.org/files/375/720/baa/375720baaef744dfb4dccf4c4d388653.jpg
[3]: https://habrahabr.ru/company/intel/blog/304782/
[4]: https://habrahabr.ru/post/304782/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Platypus и Packages. Создаём и устанавливаем программы на macOS
habra.16
habrabot(difrex,1) — All
2016-07-05 17:30:04


![][1]
Очень часто бывает необходимо собрать код, написанный на Python, в приложение для Windows, Linux или OS X. Да, для этого действительно существует множество пакетов, таких как кросс-платформенные [cx\_Freeze][2] и [PyInstaller][3], а также обособленных [py2exe][4] и [py2app][5]. Но для macOS существует возможность избежать возни с созданием установочного файла. [Читать дальше →][6]

[1]: https://habrastorage.org/files/59d/0f0/0ef/59d0f00effb24327aa2d27a4bd8547ed.png
[2]: http://cx-freeze.sourceforge.net/
[3]: http://www.pyinstaller.org/
[4]: http://www.py2exe.org/
[5]: https://pythonhosted.org/py2app/install.html
[6]: https://habrahabr.ru/post/304778/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Облачное хранилище: обновление API
habra.16
habrabot(difrex,1) — All
2016-07-05 21:30:03


Спешим сообщить новость: мы переписали API облачного хранилища. Теперь всё работает гораздо стабильнее и быстрее благодаря новой платформе — Hummingbird, которая по сути представляет собой реализацию некоторых компонентов OpenStack Swift на Go. О том, как мы внедряли [Hummingbird][1] и какие проблемы нам удалось решить с его помощью, мы расскажем в этой статье.
![][2]
[Читать дальше →][3]

[1]: https://github.com/openstack/swift/tree/feature/hummingbird
[2]: https://habrastorage.org/files/9ea/ba8/8a2/9eaba88a284f42a2bda1a5700bb007dc.png
[3]: https://habrahabr.ru/post/304032/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Зачем на самом деле хакеры атакуют биржи и так ли масштабна проблема
habra.16
habrabot(difrex,1) — All
2016-07-06 12:00:03


[![][1]][2]

Джеймс Льюис, старший научный сотрудник по вопросам кибербезопасности Центра стратегических и международных исследований США, [рассказал][3] The Washington Post о том, насколько реальна «киберугроза» безопасности фондовых бирж. Мы представляем вам адаптированную версию этой заметки. [Читать дальше →][4]

[1]: https://habrastorage.org/files/716/7d5/b6d/7167d5b6d6994bafabc9e1038fb532d1.png
[2]: https://habrahabr.ru/company/itinvest/blog/304818/
[3]: https://www.washingtonpost.com/posteverything/wp/2015/07/09/hackers-dont-want-to-crash-stock-exchanges-they-want-to-make-money-on-them/
[4]: https://habrahabr.ru/post/304818/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Первый взгляд на новое программное обеспечение Cisco Firepower Threat Defense
habra.16
habrabot(difrex,1) — All
2016-07-06 13:00:04


![][1]

Здравствуй, Хабр! Осенью прошлого года мы делились с тобой [опытом внедрения сервисов FirePOWER][2] на межсетевом экране Cisco ASA. А в [новогодних флэшбэках][3] упомянули про FirePOWER версии 6.0, в которой одной из основных новшеств было управление всеми сервисами с помощью ASDM. Прогресс в Cisco не стоит на месте и этой весной произошел анонс нового модельного ряда [Cisco Firepower 4100 и 9300][4]. Это, по сути, все те же модульные ASA, на подобии 5585-X, но с новым названием (привет отдел маркетинга), более навороченные, более производительные и с новым программным обеспечением централизованного управления Firepower Threat Defense (FTD). FTD можно запускать не только на устройствах нового модельного ряда, но и на всех моделях ASA 5500-X, в том числе на 5585-X. Как раз об этом новом ПО от Cisco и пойдет речь в этой статье. [Читать дальше →][5]

[1]: https://habrastorage.org/files/849/8fb/8fd/8498fb8fdc5d463582bfd80f4d8c290b.jpg
[2]: https://habrahabr.ru/company/cbs/blog/270795/
[3]: https://habrahabr.ru/company/cbs/blog/273737/
[4]: http://www.cisco.com/c/en/us/products/collateral/security/firepower-4100-series/datasheet-c78-736661.html
[5]: https://habrahabr.ru/post/304794/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Oracle прекратила разработку Java EE?
habra.16
habrabot(difrex,1) — All
2016-07-06 13:30:04


![][1]

Прошло два года с момента выпуска Java 8 и многие с нетерпением ожидают выхода Java 9, который отодвинули на [март 2017 года][2].

Тем временем в лагере разработчиков Java накаляются страсти. Будущее серверной платформы Java Platform, Enterprise Edition (Java EE) выглядит крайне смутно. Месяц назад компания Oracle [объявила][3] о значительной задержке с выпуском Java EE 8, и это был первый звонок. Как сейчас [стало известно][4] изданию Ars Technica, компания Oracle вовсе прекратила финансирование и разработку Java EE. Издание пишет, что традиционная бизнес-модель Oracle сейчас напрямую угрожает самому существованию платформы Java.

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

Если что-то не приносит денег, то нет причин это разрабатывать, считает Oracle. Обычный бизнес, ничего личного. И ничего нового для всех, кто знает историю Oracle.
[Читать дальше →][5]

[1]: https://habrastorage.org/files/59b/8bf/411/59b8bf411cae4338ab309fa32d32f9d5.jpg
[2]: http://openjdk.java.net/projects/jdk9/
[3]: https://blogs.oracle.com/theaquarium/entry/java_ee_8_roadmap_update
[4]: http://arstechnica.com/information-technology/2016/07/how-oracles-business-as-usual-is-threatening-to-kill-java/
[5]: https://habrahabr.ru/post/304812/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] GFI MailEssentials: почта под защитой
habra.16
habrabot(difrex,1) — All
2016-07-06 13:30:04


Продукт MailEssentials компании GFI хорошо известен многим администраторам Exchange, особенно в малых и средних компаниях. Он защищает серверы Exchange или другую систему электронной почты на базе SMTP от спама и вредоносных программ. Тем же, кто ещё не знаком с данным продуктом, мы попробуем кратко рассказать, что он собой представляет и чем может быть полезен для вашей организации.
[![][1]][2] [Читать дальше →][3]

[1]: https://habrastorage.org/files/d8f/793/fb4/d8f793fb44d646a0ac358f091161ca2d.jpg
[2]: https://habrahabr.ru/company/afidistribution/blog/304276/
[3]: https://habrahabr.ru/post/304276/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Критическая уязвимость позволяет перехватывать весь сетевой трафик пользователей Windows
habra.16
habrabot(difrex,1) — All
2016-07-06 14:00:03


[![][1]][2]

Исследователи из ИБ-подразделения компании Tencent под названием Xuanwu Lab [обнаружили][3] серьезную ошибку в реализации протокола NetBIOS, использующейся в Windows. Критическая уязвимость получила название BadTunnel — она позволяет злоумышленникам полностью контролировать сетевой трафик жертвы. [Читать дальше →][4]

[1]: https://habrastorage.org/files/28b/55b/9d5/28b55b9d5cda42cca98f332b3b05449b.png
[2]: https://habrahabr.ru/company/pt/blog/304842/
[3]: http://news.softpedia.com/news/badtunnel-bug-hijacks-network-traffic-affects-all-windows-versions-505294.shtml
[4]: https://habrahabr.ru/post/304842/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Фильтр Блума для веб-разработчиков
habra.16
habrabot(difrex,1) — All
2016-07-06 14:30:08


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

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

Однако есть трудности, которые могут сдерживать веб-разработчиков от применения фильтра Блума.
[Читать дальше →][3]

[1]: https://ru.wikipedia.org/wiki/%D0%A4%D0%B8%D0%BB%D1%8C%D1%82%D1%80_%D0%91%D0%BB%D1%83%D0%BC%D0%B0
[2]: https://en.wikipedia.org/wiki/Bloom_filter#Examples
[3]: https://habrahabr.ru/post/304800/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] GoddamnConsole — библиотека для проектирования консольного UI
habra.16
habrabot(difrex,1) — All
2016-07-06 14:30:08


![][1]


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


Некоторое время назад мне понадобилось написать некое консольное приложение для собственных нужд. Но так как это было бы слишком просто, было решено прикрутить к нему некое подобие GUI.

Блуждая на просторах интернета, мне удалось найти только две библиотеки для .NET, которые, возможно, удовлетворили бы мои потребности: [MonoCurses][2] и [CursesSharp][3]. Но эти библиотеки целиком и полностью заточены под ncurses — \*nix-библиотеку для управления терминалом, и с Windows если и вообще совместимы, то очень плохо. В итоге возникло единственное решение написать свой велосипед.
[Читать дальше →][4]

[1]: https://habrastorage.org/files/dd2/353/446/dd235344614d4385bb0ebbb2c37786e0
[2]: https://github.com/mono/mono-curses
[3]: https://github.com/sushihangover/CursesSharp
[4]: https://habrahabr.ru/post/304840/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Приглашаем в Одессу на WebCamp 2016! Море, отдых и любимые технологии
habra.16
habrabot(difrex,1) — All
2016-07-06 15:30:03


![][1]

**С 29 по 31 июля** в **Одессе** уже в 7-й раз пройдет конференция [**WebCamp**][2], которая посвящена технологиям веб-разработки, управлению проектами и развитию бизнеса. Традиционно, мероприятие состоит из нескольких направлений. В этом году это: [Front-End][3], [Python][4], [PHP][5], [DevOps][6], [PM][7], [BizDev][8].

WebCamp 2016 соберет более 600 участников со всей Украины и ближнего зарубежья. Конференция рассчитана на участников уровня Middle/Senior, где у каждого будет возможность обменяться опытом, поделиться своими идеями, отлично провести время с коллегами на афтерпати и отдохнуть у Черного моря.

Наша команда [FlyElephant][9] сейчас активно работает над финализацией программы конференции и у вас еще есть шанс присоединиться к нам. С докладами выступят представители таких компаний как: Microsoft, Wargaming, Looksery, Upwork, Provectus, Ciklum, DataArt, Zillion Whales, SoftServe, YouScan, WebbyLab, Coderiver, CartFresh, RevJet, FlyElephant, Netpeak, DataRobot, KeepSolid, VertaMedia и других.


#### Agenda


**29 июля:**
* [WebCamp: Front-end][10] — Эксперты с уникальным опытом представят узкотехнические темы и поделятся последними новинками во front-end-разработке.
* [WebCamp: DevOps][11] — Ведущие DevOps специалисты на практических примерах поделятся своим опытом постройки процесса разработки по методологии DevOps и особенностями компонентов, которые используются внутри их инфраструктур.
[Читать дальше →][12]

[1]: https://habrastorage.org/files/690/93a/85e/69093a85eebf429b9513e45e99ee5668.png
[2]: http://webcamp.in.ua/
[3]: http://webcamp.in.ua/front-end.html
[4]: http://webcamp.in.ua/python.html
[5]: http://webcamp.in.ua/php.html
[6]: http://webcamp.in.ua/devops.html
[7]: http://webcamp.in.ua/pm.html
[8]: http://webcamp.in.ua/bizdev.html
[9]: https://flyelephant.net/
[10]: http://webcamp.in.ua/front-end.html
[11]: http://webcamp.in.ua/devops.html
[12]: https://habrahabr.ru/post/304848/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Vim и IDE — это разные вещи
habra.16
habrabot(difrex,1) — All
2016-07-06 17:00:04


Увидел очередную статью про vim и IDE и решил поделиться своими мыслями — вдруг кому-то покажутся полезными, чем черт не шутит?..

По сути, статья будет развернутым пояснением идеи, высказанной другим пользователем в [комментарии][1] к статье [«VIM: зачем, если есть IDE, и как?»][2].
> Принципиально IDE от редактора отличается тем, что IDE оперирует синтаксическим деревом редактируемого кода на целевом языке (или неким к нему приближением), а редактор оперирует символами и строками. [Читать дальше →][3]

[1]: https://habrahabr.ru/post/303554/#comment_9661746
[2]: https://habrahabr.ru/post/303554/
[3]: https://habrahabr.ru/post/304832/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Windows ПК как генератор ARP флуда
habra.16
habrabot(difrex,1) — All
2016-07-06 17:30:04


Доброго дня, %username%!

Хочу поведать поучительную историю, которая случилась сегодня у меня на работе. Работаю я в одной очень известной компании предоставляющей, в числе прочих, услуги доступа ко всемирной паутине. И суть моей работы заключается в поддержании нормальной работы сети передачи данных. Сеть эта построена по классической структуре Ядро, Агрегация, Доступ. Коммутаторы доступа приблизительно на половину производства D-Link, вторая (большая) половина от Huawei. Управление всем сетевым железом вынесено в отдельный вилан, через него же оно всё и мониторится.

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

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

[>] Скользящая ответственность паттерна Репозиторий
habra.16
habrabot(difrex,1) — All
2016-07-06 17:30:04


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

Что не так с репозиторием? Очевидно, что с самим паттерном все нормально, но разница в его понимании разработчиками. Я попробовал исследовать это и наткнулся на два основных момента, которые, на мой взгляд, являются причиной разного к нему отношения. Одним из них является «скользящая» ответственность репозитория, а другой связан с недооценкой unit testing. Под катом я объясню первый.
[Читать дальше →][1]

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

[>] [Из песочницы] Нестандартный подход к программированию микроконтроллера
habra.16
habrabot(difrex,1) — All
2016-07-06 17:30:04


В данной статье будет рассмотрен нестандартный подход к созданию программы для микроконтроллера. Для примера построим проект «кодового замка»; программа для микроконтроллера будет написана в визуальной среде Horizont Configurator.
[Читать дальше →][1]

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

[>] Altaro VM Backup: резервное копирование виртуальных машин Hyper-V и VMware
habra.16
habrabot(difrex,1) — All
2016-07-06 20:00:04


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

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

[1]: https://habrastorage.org/getpro/habr/post_images/c7b/852/15c/c7b85215c4070844316c054dd0e4aff8.jpg
[2]: https://habrahabr.ru/company/afidistribution/blog/304278/
[3]: https://habrahabr.ru/post/304278/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Машинное обучение вместо DPI. Строим классификатор трафика
habra.16
habrabot(difrex,1) — All
2016-07-06 20:00:04


![image][1]

Вряд ли можно представить мир современных сетевых технологий без DPI (deep packet inspection – глубокий анализ пакетов). На нём держатся системы обнаружения сетевых атак, львиная доля политик безопасности корпоративных сетей, шейпинг и блокировка пользовательского трафика оператором связи – да-да, чтобы выполнять требования Роскомнадзора, средства DPI обязан иметь каждый провайдер.

И всё-таки, при всей своей востребованности, DPI – затратный зверь. На магистральных линиях связи стоимость аппаратного решения (о софте тут речь идти не может) исчисляется миллионами зелёных американских человечков. А программные решения вроде OpenDPI подходят только для небольших корпоративных и кампусных сетей. Дело всё в том, что быстро определить протокол прикладного уровня по шаблону, коих могут быть тысячи — задача очень ресурсоёмкая.

В данной статье я хочу предложить способ эффективного решения одной из главных задач DPI – определения протокола прикладного уровня – при этом не сверяясь со списком широко известных портов (well-known ports) и не глядя в полезную нагрузку пакетов. Вообще.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/165/f97/0d5/165f970d56cf6ab7221de1a2a864f10b.jpg
[2]: https://habrahabr.ru/post/304926/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] USB mass storage device и libopencm3
habra.16
habrabot(difrex,1) — All
2016-07-06 23:00:04


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


Моя работа связана с программированием микроконтроллеров, в частности STM32. Долгое время для работы с периферией я использовала STM32 Standard Peripheral Library, так как она предоставляется производителем и, соответственно, является наиболее полной. Однако работать с ней крайне неудобно: инициализирующие структуры зачастую избыточны, в функциях черт ногу сломит, в общем, очень скоро появляется непреодолимое желание слезть с этой библиотеки и перейти на что-нибудь более аккуратное, грамотно спроектированное и написанное «чистым кодом».

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

Одной из последних задач на работе было поднять USB MSD. Для решения задачи использовалась отладочная плата STM32F4-discovery и [вот этот пример][3]. Пример не завелся. Проблем было две:
1. Было невозможно зайти на диск и прочитать находящийся там файл.
2. Распознавание устройства как дискового занимало более 2-х минут.

Все это было связано с наличием нескольких багов в файле [usb\_msc.c][4]. Таким образом, в данной статье я расскажу о том, как исправить эти ошибки и продолжать с удовольствием пользоваться библиотекой libopencm3.
[Читать дальше →][5]

[1]: https://habrastorage.org/getpro/habr/post_images/2f9/23e/a7e/2f923ea7e0df99d429d4c2d1a8fdd576.jpg
[2]: https://habrahabr.ru/post/304924/
[3]: https://github.com/libopencm3/libopencm3-examples/tree/master/examples/stm32/f4/stm32f4-discovery/usb_msc
[4]: https://github.com/libopencm3/libopencm3/blob/master/lib/usb/usb_msc.c
[5]: https://habrahabr.ru/post/304924/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Воспроизводим mp3 в своей программе и что может этому помешать
habra.16
habrabot(difrex,1) — All
2016-07-07 09:00:03


#### Вступительная


Давным-давно, лет 100 10 тому назад, когда только прокрастинация начала захватывать мой разум, я решил, что пока я еще в состоянии им (разумом) пользоваться, надо срочно строить себе спасательную шлюпку, дабы не утонуть в пучине отложенных дел. Конечно, на тот момент уже существовало достаточно количество различных напоминалок, будильников, шедулеров и прочих разных «умных» часов, но, как водится, свое — оно всегда ближе и понятнее, чем чужое, даже с мегабайтами файлов справки. Да и зря, что ли, книжку по бейсику у друга одолжил?

Но, как водится, обо всем по порядку.

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

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

[>] Сигналы и слоты в PHP. Такие же как в Qt. Ну почти
habra.16
habrabot(difrex,1) — All
2016-07-07 11:00:06


> Сигналы и слоты — подход, используемый в некоторых языках программирования и библиотеках (например, Boost и Qt) который позволяет реализовать шаблон «наблюдатель», минимизируя написание повторяющегося кода. Концепция заключается в том, что компонент (часто виджет) может посылать сигналы, содержащие информацию о событии (например: был выделен текст «слово», была открыта вторая вкладка). В свою очередь другие компоненты могут принимать эти сигналы посредством специальных функций — слотов. Система сигналов и слотов хорошо подходит для описания Графического интерфейса пользователя. Также механизм сигналов/слотов может быть применён для асинхронного ввода-вывода (включая сокеты, pipe, устройства с последовательным интерфейсом, др.) или уведомления о событиях. В библиотеке Qt благодаря Метаобъектному компилятору (англ.)русск. отпадает необходимость писать код регистрации/дерегистрации/вызова, так как эти шаблонные участки кода генерируются автоматически.

Говорит нам Википедия. [Зачем это в php?][1]

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

[>] Как настроить сетевой мост (br0) на Ubuntu Linux 14.04 и 16.04 LTS
habra.16
habrabot(difrex,1) — All
2016-07-07 15:30:03


В данном посте пойдет речь о том, как настроить сетевой мост на сервере с ОС Ubuntu 14.04 LTS или 16.04 LTS.

Сетевой мост — это ничто иное, как простой технический способ соединения с внешней сетью через физический интерфейс. Это полезно при использовании виртуализации LXC/KVM/Xen/Containers и других виртуальных интерфейсов. В этом туториале будет рассказано как можно настроить мост Linux используя bridge-utils (brctl) на сервер с Ubuntu.

Пример сетевого моста:

![][1]

В этом примере eth0 и eth1 — это физический сетевой интерфейс. eth0 соединяется с LAN и eth1 соединен непосредственно с оборудованием провайдера.

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

[1]: https://habrastorage.org/files/8f0/376/39c/8f037639c9c84f93a56096912f16b604.jpg
[2]: https://habrahabr.ru/post/304952/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Ко дню рождения Далай-ламы
habra.16
habrabot(difrex,1) — All
2016-07-07 18:30:04


Вчера я шёл куда-то по городу и вдруг задумался, как можно реализовать на JavaScript деление строки по символам при помощи регулярного выражения и с полным учётом Юникода.

После перехода от Perl к JavaScript много лет тому назад, я всё испытывал за свой новый язык некоторый комплекс неполноценности из-за недостаточной поддержки Юникода. За всё то время, пока JavaScript совершал в этом направлении свой большой скачок (при переходе от ES5 к ES6), у меня в закладках осталось несколько хороших статей.

[The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)][1]
[JavaScript has a Unicode problem][2]
[Unicode-aware regular expressions in ECMAScript 6][3]
[ES6 Strings (and Unicode, ) in Depth][4]

В последней из них предлагался рецепт разбиения строки на символы с учётом Юникода при помощи нового оператора `...` [Читать дальше →][5]

[1]: http://www.joelonsoftware.com/articles/Unicode.html
[2]: https://mathiasbynens.be/notes/javascript-unicode
[3]: https://mathiasbynens.be/notes/es6-unicode-regex
[4]: https://ponyfoo.com/articles/es6-strings-and-unicode-in-depth
[5]: https://habrahabr.ru/post/305096/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Sailfish OS — летняя школа в Университете Иннополис для разработчиков мобильных приложений и энтузиастов Linux
habra.16
habrabot(difrex,1) — All
2016-07-07 18:30:04


![image][1]

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

Жми «Читать дальше», если хочешь узнать больше о Школе.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/1e3/0f0/46d/1e30f046d4a41a65321daeb9645a7f1b.jpg
[2]: https://habrahabr.ru/post/305120/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Рентабельный код 3: Немного особой контейнерной магии
habra.16
habrabot(difrex,1) — All
2016-07-07 18:30:04


В [прошлой статье][1] я привел пример фабрики для получения реализаций IQuery, но не объяснил механизм ее работы
![][2] _queryFactory.GetQuery()
.Where(Product.ActiveRule)
.OrderBy(x => x.Id)
.Paged(0, 10) // получаем 10 продуктов для первой страницы

// Мы решили подключить полнотекстовый поиск и добавили ElasticSearch, не вопрос:
_queryFactory.GetQuery()
.Where(new FullTextSpecification(«зонтик»))
.All()

// Или EF тормозит и мы решили переделать на хранимую процедуру и Dapper
_queryFactory.GetQuery()
.Where(new DictionarySpecification (someDirctionary))
.All()

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

Допустим у вас есть такой интерфейс, где _ListParams_ – спецификация, приходящая с фронтенда
public interface IListOperation
{
ListResult List(ListParams listParam);
}

**Задача**
Избавить прикладных разработчиков от необходимости написания контроллеров, проекций и сервисов.
[Решение под катом][3]

[1]: https://habrahabr.ru/post/259829/
[2]: https://habrastorage.org/files/0b6/bc8/2ac/0b6bc82acd4c43519049cbf6ae280257.jpg
[3]: https://habrahabr.ru/post/305050/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 ... 210