RSS
Pages: 1 ... 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 ... 133
[>] Pygest #12. Релизы, статьи, интересные проекты из мира Python [20 июня 2017 — 03 июля 2017]
habra.16
habrabot(difrex,1) — All
2017-07-03 17:00:05


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

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

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

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

[>] Как обеспечить безопасность в эпоху AI и облачных платформ. Интервью с профессором Малковым
habra.16
habrabot(difrex,1) — All
2017-07-03 18:00:04


В начале XX века аптеки мира были завалены «чудодейственными» препаратами. Женщины с удовольствие посещали спа-радио-центры, дети пили радиоактивную воду. И лишь когда через несколько лет у многих выпали волосы, зубы или появились еще более серьезные «побочки», пришло понимание, что новинка не такая уж и безопасная. Сегодня риски, связанные с облачными технологиями и искусственным интеллектом, еще даже не осознаются. Но их уже должны учитывать разработчики, создавая программные продукты для облачных платформ и интернета вещей. О том, как сделать виртуальные среды безопасными, чего ожидать от искусственного интеллекта, и как при этом остаться программистом, рассказал Константин Малков, технический директор 5nine Software. Этим интервью мы продолжаем серию публикаций об облачных технологиях Microsoft. В первой мы сравнили «облака» с «новым электричеством» и пришли к оптимистичным выводам. [Читать далее][1]

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

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


Известная как минимум с 19 века задача коммивояжера имеет множество способов решения и неоднократно описана. Ее оптимизационная версия является NP-трудной, поэтому оптимальное решение можно получить либо полным перебором, либо оптимизированным полным перебором — методом ветвей и границ.



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



![animation][1]

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

[1]: https://habrastorage.org/getpro/habr/post_images/d38/d7d/262/d38d7d262f71d6d2775d0bd7d61b3b0a.gif
[2]: https://habrahabr.ru/post/332208/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Вышел GitLab 9.3: Code Quality и межпроектные графики конвейеров
habra.16
habrabot(difrex,1) — All
2017-07-04 09:30:04


# Вышел GitLab 9.3: Code Quality и межпроектные графики конвейеров {#vyshel-gitlab-93-code-quality-i-mezhproektnye-grafiki-konveyerov}



![image][1]



В GitLab 9.3 мы представляем Code Quality, межпроектные графики конвейеров, индекс совместной разработки, улучшения локализации, описания сниппетов и многое другое!



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


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

[1]: https://habrastorage.org/getpro/habr/post_images/7ce/646/63e/7ce64663e3ff84c50b743fd917a4253a.jpg
[2]: https://habrahabr.ru/post/332204/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] The incredible machine или мой самый лучший тест
habra.16
habrabot(difrex,1) — All
2017-07-04 10:30:06


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

![image][1]
Тем не менее, есть хорошая новость: incredible machine все-таки может быть полезна. Например, для тестирования программных систем.
[Читать дальше →][2]

[1]: http://uhtt.ru/dispatcher/dc/download?key=incredible-machine-03
[2]: https://habrahabr.ru/post/331230/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] IBM Watson и кибербезопасность: как когнитивная система защищает ценные данные
habra.16
habrabot(difrex,1) — All
2017-07-04 10:30:06


![][1]

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

Интересно, что в большинстве случаев проблема даже не сам взлом, а ликвидация его последствий – это долго, дорого, плюс негативно отражается на репутации компании. Примером можно считать проникновение ransomware в сеть компании — не так давно хостинг-провайдеру из Южной Кореи пришлось заплатить около 1 млн долларов США злоумышленникам за расшифровку своих данных и данных клиентов. Но в наше время $1 млн — это вовсе не предел. Избежать подобных проблем помогает когнитивная система IBM Watson, которую не первый год обучают премудростям информационной безопасности.
[Читать дальше →][2]

[1]: https://habrastorage.org/web/751/ec1/0c4/751ec10c442245bb94ea7d716e414a77.jpg
[2]: https://habrahabr.ru/post/332214/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Проблема непрерывной защиты веб-приложений. Взгляд со стороны исследователей и эксплуатантов
habra.16
habrabot(difrex,1) — All
2017-07-04 12:00:05


Сегодня у нас не совсем обычная статья. Как следует из заголовка, она посвящена проблемам непрерывной защиты веб-приложений и разбита на две части, отражающие два взгляда на проблему: с позиции разработчиков WAF (Андрей Петухов, SolidLab) и с точки зрения центра мониторинга и противодействия кибератакам, который использует WAF для оказания сервиса клиентам (@avpavlov, Solar JSOC).

Начнем мы с разработчиков, а через неделю дадим слово эксплуатантам WAF.

![][1]

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

[1]: https://habrastorage.org/web/f39/f99/9b2/f39f999b2d804111be1f266dd6e033ad.jpg
[2]: https://habrahabr.ru/post/331786/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как накрутить рейтинг на хабре и уйти незамеченным
habra.16
habrabot(difrex,1) — All
2017-07-04 12:00:05


![][1]



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


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

[1]: https://habrastorage.org/web/44c/19b/14f/44c19b14ffdb4e4d89ab781c7f6fd386.png
[2]: https://habrahabr.ru/post/332296/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Имитируем управление устройствами с помощью акторов
habra.16
habrabot(difrex,1) — All
2017-07-04 14:00:04


Корни [SObjectizer][1] берут свое начало в теме автоматизированных систем управления технологическими процессами (АСУТП). Но использовали мы SObjectizer в далеких от АСУТП областях. Поэтому иногда возникает ностальгия из категории «эх, давно не брал в руки шашек...» Однажды из-за этого в составе SObjectizer появился один из самых объемных примеров — [machine\_control][2]. Уж очень тогда захотелось «тряхнуть стариной», смоделировать задачку управления оборудованием на современном SObjectizer-е. Ну и под шумок запихнуть в пример разные вкусные фичи SObjectizer-а вроде фильтров доставки, шаблонных агентов и диспетчера с поддержкой приоритетов. Сегодня попробуем рассказать и показать, как это все работает.



![The Engine Room - Steel Stacks, Bethlehem, PA][3]
Photo [by Mike Boening][4]


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

[1]: https://habrahabr.ru/post/304386/
[2]: https://sourceforge.net/p/sobjectizer/repo/HEAD/tree/tags/so_5/5.5.19.2/dev/sample/so_5/machine_control/main.cpp
[3]: https://habrastorage.org/getpro/habr/post_images/3fb/ccd/378/3fbccd3782d46b6c8cfac121fd515ac1.jpg
[4]: https://www.flickr.com/photos/memoriesbymike/30346870663/
[5]: https://habrahabr.ru/post/332166/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] UltaVNC как замена TeamViewer
habra.16
habrabot(difrex,1) — All
2017-07-04 15:30:04


![][1]

Предупреждение: все прилетевшие тапочки будут проданы, помидоры – сьедены, яйца – пожарены, испорченные – выброшены. Те, кто думает, что мы маемся фигней – вы угадали, возьмите с полки пирожок. Автор не призывает бросать мешки грудью на амбразуры. Он вообще ни к чему не призывает – он же не политик и не гражданин с активной гражданской позицией. А вот желающих подискутировать – милости просим. Сегодня я буду рассказывать вам занимательную историю о замене Teamviewer на UltraVNC. [Читать дальше →][2]

[1]: https://habrastorage.org/web/f40/359/e3a/f40359e3afdf4dc5a89f39952d3dda73.jpg
[2]: https://habrahabr.ru/post/330450/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как повторить сервис anyroom.io в несколько строк JS и без бэкенда
habra.16
habrabot(difrex,1) — All
2017-07-04 16:30:05


![][1]
Месяц назад на Hacker News в топ вышел пост про сервис AnyRoom: простенький бэкенд на Go, который позволяет создавать телефонные конференции. Рейтинг больше ста, обсуждения в комментах, Исходный код на github, подписки по 50 долларов в месяц — в общем, всё как у взрослых. После первого удивления «неужели это кому-то нужно?!?» я немного погуглил «голосовая конференция без регистраций и sms недорого», подивился дороговизне приложений и понял что таки да, нужно. А на Voximplant такую штуку можно собрать за полчаса и десяток строк JavaScript-кода. Кто хочет создать стартап и попиариться на Hacker News? Под катом рассказываю, как.
[Читать дальше →][2]

[1]: https://habrastorage.org/web/faa/9ec/d05/faa9ecd0596f4c5185d41a57ec6044ed.jpg
[2]: https://habrahabr.ru/post/332206/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] UltraVNC как замена TeamViewer
habra.16
habrabot(difrex,1) — All
2017-07-04 22:00:05


![][1]

Предупреждение: все прилетевшие тапочки будут проданы, помидоры – съедены, яйца – пожарены, испорченные – выброшены. Те, кто думают, что мы маемся фигней – вы угадали, возьмите с полки пирожок. Автор не призывает бросать мешки грудью на амбразуры. Он вообще ни к чему не призывает – он же не политик и не гражданин с активной гражданской позицией. А вот желающих подискутировать – милости просим. Сегодня я буду рассказывать вам занимательную историю о замене Teamviewer на UltraVNC. [Читать дальше →][2]

[1]: https://habrastorage.org/web/f40/359/e3a/f40359e3afdf4dc5a89f39952d3dda73.jpg
[2]: https://habrahabr.ru/post/330450/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как пройти собеседование в компанию мечты? Советы от тимлидов IT-компаний
habra.16
habrabot(difrex,1) — All
2017-07-05 15:00:05


16-17 июля в 95 км от Москвы пройдёт конференция для python-разработчиков [PYCON RUSSIA][1]. Традиционно мы делаем серию интервью с докладчиками и организаторами.

В первом посте мы спросили тимлидов четырёх разных компаний, на что они обращают внимание во время собеседований, какие ошибки допускают кандидаты, как понять, что человек подходит в команду, и чего никогда нельзя делать во время интервью. На вопросы ответили: CTO в компании «Точка» **Данила Штань**, руководитель разработки в ЦИАН **Михаил Юматов**, руководитель группы Python-проектов в Rambler&Co **Олег Чуркин** и руководитель PyCharm Community в JetBrains **Андрей Власовских**.

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

[1]: http://pycon.ru/2017/program/schedule/?utm_source=habr&utm_medium=post&utm_campaign=5.06
[2]: https://habrastorage.org/web/464/341/5e1/4643415e1fdf46ada3ae296f62db57e0.png
[3]: https://habrahabr.ru/post/332468/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Что, если выкинуть все лишнее из базы в распределенный кэш – наш опыт использования Hazelcast
habra.16
habrabot(difrex,1) — All
2017-07-05 15:00:05


![][1]



Так как базы данных Яндекс.Денег вынуждены хранить массу второстепенной и временной информации, однажды такое решение перестало быть оптимальным. Поэтому в инфраструктуре появился распределенный Data Grid с функциями in-memory базы данных на базе Hazelcast.



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

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

[1]: https://habrastorage.org/web/a25/4c8/cc3/a254c8cc304241dea0e74ebd2fd3be8c.png
[2]: https://habrahabr.ru/post/332462/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Bitfury Group провела первую успешную multi-hop-транзакцию в сети Lightning Network
habra.16
habrabot(difrex,1) — All
2017-07-05 15:00:05


Компания [Bitfury][1] занимается поддержкой и разработкой реализации сети Lightning уже больше года. Сегодня мы расскажем о проведении первой multi-hop-транзакции.

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

[1]: http://bitfury.com
[2]: https://habrastorage.org/web/bf9/3e7/1e1/bf93e71e1e7c4ce18dc9e75990646be3.jpg
[3]: https://habrahabr.ru/company/bitfury/blog/332436/
[4]: https://habrahabr.ru/post/332436/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Про аналитику и серебряные пули или «При чем здесь Рамблер/топ-100?»
habra.16
habrabot(difrex,1) — All
2017-07-05 15:30:04


![][1]

Всем привет! Я тимлид проекта Рамблер/топ-100. Это лонгрид о том, как мы проектировали архитектуру обновлённого сервиса веб-аналитики, с какими сложностями столкнулись по пути и как с ними боролись. Если вам интересны такие базворды как [Clickhouse][2], [Aerospike][3], [Spark][4], добро пожаловать под кат. [Читать дальше →][5]

[1]: https://habrastorage.org/web/a94/cb9/a61/a94cb9a614224462a70c0611de40f775.jpg
[2]: https://clickhouse.yandex/
[3]: http://www.aerospike.com/russian/
[4]: http://spark.apache.org/
[5]: https://habrahabr.ru/post/332202/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Рефакторинг кода в обеденный перерыв: знакомство с сodemod-скриптами
habra.16
habrabot(difrex,1) — All
2017-07-05 16:30:05


![][1]



_Думаю, что рефакторинг проекта – тема, близкая каждому разработчику. Зачастую мы сталкиваемся с проблемами, когда нам перестает хватать средств IDE и регулярных выражений, и тогда на помощь приходят средства вроде тех, что описаны в этом посте. Codemod скрипты – это очень мощный инструмент. После его освоения станет ясно, что ваш рефакторинг уже никогда уже не будет прежним. Поэтому я перевел этот пост для нашего хабраблога. Желаю приятного прочтения._



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



За последние годы JavaScript изменился до неузнаваемости. Развитие этого языка привело к тому, что была изменена даже простейшая задача по объявлению переменных. В ES6 появились `let` и `const`, стрелочные функции и множество других новшеств, каждое из которых приносит пользу разработчикам.



При создании и поддержке в рабочем состоянии кода, призванного выдерживать проверку временем, растёт нагрузка на разработчиков. Из этого поста вы узнаете, как можно автоматизировать задачи по широкомасштабному рефакторингу кода с использованием Codemod-скриптов и инструмента `jscodeshift`, что позволит вам, например, легко обновлять свой код для использования новых возможностей языка.

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

[1]: https://habrastorage.org/web/fcd/d6d/150/fcdd6d150b12464badc1343afbd52271.jpg
[2]: https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%B4%D0%BE%D0%B2%D0%B0%D1%8F_%D0%B1%D0%B0%D0%B7%D0%B0
[3]: https://habrahabr.ru/post/332402/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Вырастаем над проблемами Python
habra.16
habrabot(difrex,1) — All
2017-07-05 17:30:04


Привет, Хабр! Меня зовут Дмитрий Климинский, я работаю back-end разработчиком в Avito. Сегодня я хочу поделиться с вами впечатлениями от нашей поездки на конференцию [PyCon CZ 2017][1], которая прошла в Праге. Мне давно хотелось узнать, какие темы обсуждают зарубежные коллеги, чем они отличаются от “нашей” повестки. И это стало возможным, когда меня в составе небольшой команды разработчиков отправили в Чехию. Конечно, оказалось, что перед зарубежными коллегами стоят такие же задачи и вопросы. Но вот угол зрения докладчиков и те акценты, которые они расставляют, показались мне интересными. Под катом — короткие заметки по интересным докладам, особенности чешской конференции и несколько фото.

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

[1]: https://cz.pycon.org/2017/
[2]: https://habrastorage.org/web/e25/957/b56/e25957b562ca4bd5ad937ccb1548779a.jpg
[3]: https://habrahabr.ru/post/332484/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [recovery mode] Программирование и боевое искусство: что общего?
habra.16
habrabot(difrex,1) — All
2017-07-06 09:30:04


_Написание кода — ремесло, которое требует постоянного развития — считают участники инициативы Coding Dojo в EPAM. Лидер движения Александр из Киева рассказал, как «додзё»-практики повышают настроение у инженеров и почему игра помогает преуспеть в работе._

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

[1]: https://habrastorage.org/getpro/habr/post_images/28b/6b8/6a8/28b6b86a867416ddf7627c3d6b5b7249.jpg
[2]: https://habrahabr.ru/post/332486/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] PHDays HackBattle: ломаем один на один
habra.16
habrabot(difrex,1) — All
2017-07-06 09:30:04


![][1]

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

[1]: https://habrastorage.org/web/23d/71c/bee/23d71cbeee5741ec943274f955838946.jpg
[2]: https://habrahabr.ru/post/332492/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Сравнение производительности сетевых решений для Kubernetes
habra.16
habrabot(difrex,1) — All
2017-07-06 12:30:06


![][1]

Kubernetes требует, чтобы каждый контейнер в кластере имел уникальный, маршрутизируемый IP. Kubernetes не назначает IP-адреса сам, оставляя эту задачу сторонним решениям.

Цель этого исследования — найти решение с наименьшими задержками, наибольшей пропускной способностью и самой небольшой стоимостью настройки. Поскольку наша нагрузка зависит от задержек, мы измеряем задержки высоких [перцентилей][2] при достаточно активной сетевой нагрузке. В частности, мы сфокусировались на производительности в районе 30-50 процентов от максимальной нагрузки, поскольку это лучше всего отражает типовые ситуации для неперегруженных систем. [Читать дальше →][3]

[1]: https://habrastorage.org/web/396/e84/39b/396e8439b2a64ab58f17714b679e1f69.png
[2]: https://ru.wikipedia.org/wiki/%D0%9A%D0%B2%D0%B0%D0%BD%D1%82%D0%B8%D0%BB%D1%8C#.D0.9F.D0.B5.D1.80.D1.86.D0.B5.D0.BD.D1.82.D0.B8.D0.BB.D1.8C
[3]: https://habrahabr.ru/post/332432/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Отжиг и вымораживание: две свежие идеи, как ускорить обучение глубоких сетей
habra.16
habrabot(difrex,1) — All
2017-07-06 15:00:05


![][1]

В этом посте изложены две недавно опубликованные идеи, как ускорить процесс обучения глубоких нейронных сетей при увеличении точности предсказания. Предложенные (разными авторами) способы ортогональны друг другу, и могут использоваться совместно и по отдельности. Предложенные здесь способы просты для понимания и реализации. Собственно, ссылки на оригиналы публикаций:
* [Snapshot ensembles (апрель 2017)][2]
* [FreezeOut (июнь 2017)][3]
[Читать дальше →][4]

[1]: https://habrastorage.org/web/6d8/3d0/c76/6d83d0c76fb34e8ea590ca3a190f61c8.png
[2]: https://arxiv.org/abs/1704.00109
[3]: https://arxiv.org/abs/1706.04983
[4]: https://habrahabr.ru/post/332534/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Использование утилит timeout & strace для мониторинга неактивности пользователя для разрыва соединения Shellinabox
habra.16
habrabot(difrex,1) — All
2017-07-06 16:30:04


Недавно я занимался тем, что исследовал какие существуют решения для реализации web-ssh прокси-сервера. Суть задачи заключается в том, чтобы дать пользователям возможность соединяться с произвольным ssh-сервером посредством web-интерфейса. Обычно, решения web-ssh предназначены для соединения с сервером, на котором они развернуты, но в рамках моей задачи мне хотелось, чтобы пользователь мог указать IP, порт, имя и пароль пользователя (или ключ) и выполнить соединение с произвольным сервером. С ходу найти подобного решения мне не удалось.


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

Однако, для открытого пакета shellinabox я обнаружил решение на [блоге][1] на немецком языке, которое я и решил довести до нужного мне уровня. В итоге, получился симпатичный контейнер Docker, который можно найти как на [GitHub][2] так и на [Dockerhub][3], который решает все необходимые задачи.



Но, статья не об этом, а о сопутствующем коде на Python, который мне пришлось написать. Дело в том, что мне не нравилось, что если пользователь открыл web ssh и куда-то ушел, то сессия будет висеть бесконечно, что на мой взгляд неприемлемо.

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

[1]: https://tools.bartlweb.net/webssh/
[2]: https://github.com/bwsw/webshell
[3]: https://hub.docker.com/r/bwsw/webshell/
[4]: https://habrahabr.ru/post/332544/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как Яндекс создавал курс по C++, или Почему нам всё пришлось переписать
habra.16
habrabot(difrex,1) — All
2017-07-06 17:30:06


В Яндексе C++ — один из основных языков, на нём написан наш поиск. Его развитие нам настолько важно, что больше года назад по инициативе Яндекса была создана российская [рабочая группа][1] по стандартизации «плюсов». Через неё [у всех разработчиков][2] русскоязычного пространства есть возможность влиять на развитие языка.

![][3]

Недавно Физтех, Яндекс и ШАД запустили ещё один курс на платформе Coursera — «[Основы разработки на C++: белый пояс][4]». Он посвящён знакомству с С++. Я расскажу, для кого этот курс, как мы его готовили, что получилось в итоге и каковы наши дальнейшие планы.


### Как всё началось, было выброшено и началось снова


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

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

[1]: https://stdcpp.ru
[2]: https://habrahabr.ru/company/yandex/blog/327080/
[3]: https://habrastorage.org/web/86b/774/1cd/86b7741cd7184769906f89ee93a20b87.jpg
[4]: https://www.coursera.org/learn/c-plus-plus-white/
[5]: https://habrahabr.ru/post/332556/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Защищаем сайт с помощью ZIP-бомб
habra.16
habrabot(difrex,1) — All
2017-07-07 01:30:04


## Старые методы по-прежнему работают


![][1][Обновление] Теперь я в каком-то списке спецслужб, потому что написал статью про некий вид «бомбы», так?

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

Когда я в возрасте 13 лет впервые захостил свою маленькую Linux-коробочку с доступом по SSH, я смотрел логи и каждый день видел IP-адреса (в основном, из Китая и России), которые пытались подключиться к моей сладенькой маленькой коробочке (которая на самом деле была старым ноутом ThinkPad T21 со сломанным дисплеем, жужжавшим под кроватью). Я сообщал эти IP их провайдерам.

На самом деле если у вас Linux-сервер с открытым SSH, то можете сами посмотреть, сколько попыток подключений происходит ежедневно:

grep 'authentication failures' /var/log/auth.log [Читать дальше →][2]

[1]: https://habrastorage.org/web/95a/6a8/a77/95a6a8a7704b41538af50d1fc012c545.png
[2]: https://habrahabr.ru/post/332580/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Kubernetes & production — быть или не быть?
habra.16
habrabot(difrex,1) — All
2017-07-07 11:30:04


Сотни контейнеров. Миллионы внешних запросов. Миллиарды внутренних транзакций. Мониторинг и нотификации проблем. Простое масштабирование. 99% up time. Деплои и откатывание релизов.



Kubernetes как решение всех проблем! «Быть или не быть?» — вот в чем вопрос!
[Читать дальше →][1]

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

[>] [Перевод] Исправляем баги в стиле 1988 года
habra.16
habrabot(difrex,1) — All
2017-07-07 11:30:04


![][1]

Я рос в 80-х, в десятилетие, когда домашние компьютеры превратились из диковинки в мейнстрим. В моей младшей школе стояло несколько домашних компьютеров Phillips P2000T и пара Apple Macintosh. У моего друга был Commodore 64, на котором мы играли в игры, а однажды мой отец купил для управления финансами Commodore 128. (Меня особенно умиляет тот факт, что он _и по сей день_ использует для ведения бухгалтерии C128, хоть и в эмуляторе. Ему близок подход «не сломалось — не чини».)

Почти сразу после C128 мы купили C64. С128 использовали для бизнеса, а C64 — для развлечений. Я чётко помню, как играл в Space Taxi, Super Cycle, Velocipede, Last Ninja II, Electrix и другие игры. К тому же на этом компьютере я начал учиться программированию.

До изобретения World Wide Web оставалась ещё пара лет, поэтому изучение программирования в основном заключалось в чтении книг и журналов. В компьютерных журналах часто публиковались листинги исходного кода, которые читателю нужно было перепечатывать. Результат мог быть любым: игрой, утилитой для копирования диска, программой для рисования под GEOS или — чаще чем хотелось бы — чем-то, работающим кое-как из-за _опечаток_. В какой-то момент журналы начали публиковать листинги, рядом с каждой строкой которых была указана контрольная сумма. У них были специальные программы, проверявшие контрольную сумму каждой вводимой строки. Такие программы сильно помогали. Но всё равно это был один из самых медленных и подверженных ошибкам способов копирования компьютерных программ за всю историю компьютеров. Тем не менее, процесс был довольно интересным (по крайней мере, мне так казалось).
[Читать дальше →][2]

[1]: https://habrastorage.org/web/92a/d27/632/92ad2763262c4a6488418852727015b0.png
[2]: https://habrahabr.ru/post/332586/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Рынок систем детекции и распознавания: Эмоции и «эмоциональные вычисления»
habra.16
habrabot(difrex,1) — All
2017-07-07 15:00:05


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

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

[1]: https://habrastorage.org/web/cac/1a6/7e7/cac1a67e711e4fbdbd1e99f69ece0297.jpg
[2]: https://habrahabr.ru/company/neurodatalab/blog/332466/
[3]: https://habrahabr.ru/post/332466/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Лог файлы Linux по порядку
habra.16
habrabot(difrex,1) — All
2017-07-07 15:30:05


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


![][1]





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

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

[1]: https://habrastorage.org/web/06c/d90/a84/06cd90a8459e46ce91111c269428614a.png
[2]: https://habrahabr.ru/post/332502/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Спасёт ли Python от казни?
habra.16
habrabot(difrex,1) — All
2017-07-07 16:00:05


Доброго времени суток! При просмотре экшн-фильмов (фильмов с хорошо продуманными динамичными сценами) иногда закрадывается в голову: а реально ли это в действительности? Например, мог ли автомобиль перевернуться на маленькой скорости, как быстро можно раскачаться на верёвке без начальной скорости над пропастью…

![image][1]

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

[1]: https://img-fotki.yandex.ru/get/6105/13826504.152/0_1532aa_bcfdd49d_XL.jpg
[2]: https://habrahabr.ru/post/332620/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Резервное копирование томов LVM2 с защитой от перегрузок IO с использованием сигналов SIGSTOP, SIGCONT
habra.16
habrabot(difrex,1) — All
2017-07-07 17:30:05


Настройка резервного копирования уверенно занимает одно из важнейших мест в деятельности администратора. В зависимости от задач резервного копирование и типов приложений и вида данных резервное копирование может осуществляться с помощью различных инструментов, таких как rsync, duplicity, rdiff-backup, bacula и других, коих существует огромное множество.



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

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

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

[>] Метод восстановления данных с диска, зашифрованного NotPetya с помощью алгоритма Salsa20
habra.16
habrabot(difrex,1) — All
2017-07-07 17:30:05


![][1]

Атаки с использованием вирусов-шифровальщиков стали настоящим трендом 2017 года. Подобных атак было зафиксировано множество, однако самыми громкими из них оказались WannaCry и NotPetya (также известный под множеством других имен — Petya, Petya.A, ExPetr и другими). Освоив опыт предыдущей эпидемии, специалисты по всему миру оперативно среагировали на новый вызов и в считанные часы после заражения первых компьютеров принялись изучать экземпляры зашифрованных дисков. Уже 27 июня появились [первые описания][2] методов заражения и распространения NotPetya, более того — появилась [вакцина от заражения][3].

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

[1]: https://habrastorage.org/web/d56/d5b/ae4/d56d5bae47a24a86b68249619c44586f.JPG
[2]: https://www.ptsecurity.com/ru-ru/about/news/283092/
[3]: https://twitter.com/PTsecurity_UK/status/879779707075665922
[4]: https://habrahabr.ru/post/332618/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Выбор алгоритма вычисления квантилей для распределённой системы
habra.16
habrabot(difrex,1) — All
2017-07-07 17:30:05


![][1]



Всем привет!



Меня зовут Александр, я руковожу отделом Data Team в Badoo. Сегодня я расскажу вам о том, как мы выбирали оптимальный алгоритм для вычисления квантилей в нашей распределённой системе обработки событий.

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

[1]: https://habrastorage.org/web/103/7e1/19b/1037e119bb5245e78df583dbf26df87f.png
[2]: https://habrahabr.ru/post/332568/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Обработка многократно возникающих SIGSEGV-подобных ошибок
habra.16
habrabot(difrex,1) — All
2017-07-08 01:30:03


Тема изъезжена и уже не мало копий было сломано из-за неё. Так или иначе люди продолжают задаваться вопросом о том может ли приложение написанное на C/C++ не упасть после разыменования нулевого указателя, например. Краткий ответ — да, даже на Хабре есть статьи на сей счёт.



Одним из наиболее частых ответов на данный вопрос является фраза "А зачем? Такого просто не должно случаться!". Истинные причины того почему люди продолжают интересоваться данной тематикой могут быть разные, одной из них может быть лень. В случая когда лениво или дорого проверять всё и вся, а исключительные ситуации случаются крайне редко можно, не усложняя кода, завернуть потенциально падающие фрагменты кода в некий `try`/`catch` который позволит красиво свернуть приложение или даже восстановится и продолжить работу как ни в чём не бывало. Наиболее ненормальным как раз таки может показаться желание снова и снова ловить ошибки, обычно приводящие к падению приложения, обрабатывать их и продолжать работу.



Итак попробуем создать нечто позволяющее решать проблему обработки SIGSEGV-подобных ошибок. Решение должно быть по максимуму кроссплатформенным, работать на всех наиболее распространённых десктопных и мобильных платформах в однопоточных и многопоточных окружениях. Так же сделаем возможным существование вложенных `try`/`catch` секций. Обрабатывать будем следующие виды исключительных ситуаций: доступ к памяти по неправильным адресам, выполнение невалидных инструкций и деление на ноль. Апофеозом будет то, что произошедшие аппаратные исключения будут превращаться в обычные C++ исключения.

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

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

[>] [Перевод] Что делает язык программирования «модным»?
habra.16
habrabot(difrex,1) — All
2017-07-08 02:30:04


![][1]

Сейчас много языков программирования, соперничающих за ваше внимание, особенно «горячие» (или «модные!») новые языки, такие как Ceylon, Crystal, Dart, Elixir, Elm, Go, Haxe, Julia, Kotlin, Rust, Swift, TypeScript. И новые, кажется, появляются каждый месяц!
[Читать дальше →][2]

[1]: https://habrastorage.org/web/e0a/d76/0a8/e0ad760a80944d4cb893586a985198de.jpeg
[2]: https://habrahabr.ru/post/332650/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Security Week 27: ExPetr = BlackEnergy, более 90% сайтов небезопасны, в Linux закрыли RCE-уязвимость
habra.16
habrabot(difrex,1) — All
2017-07-08 10:30:03


Зловещий ExPetr, поставивший на колени несколько весьма солидных учреждений, продолжает преподносить [сюрпризы][1]. Наши аналитики из команды GReAT [обнаружили][2] его родство со стирателем, атаковавшим пару лет назад украинские электростанции в рамках кампании BlackEnergy.

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

Сначала аналитики сравнили списки расширений шифруемых файлов. На первый взгляд не очень похоже – BlackEnergy работал со значительно большим разнообразием файлов, – но если приглядеться, сходство все-таки есть. Типов расширений существует множество, и из них можно собрать бесконечное число разных списков, а тут налицо явные пересечения по составу и форматированию.
[Читать дальше →][3]

[1]: https://threatpost.com/researchers-find-blackenergy-apt-links-in-expetr-code/126662/
[2]: https://securelist.com/from-blackenergy-to-expetr/78937/
[3]: https://habrahabr.ru/post/332646/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Libdispatch. Как сделать приложение отзывчивым
habra.16
habrabot(difrex,1) — All
2017-07-08 14:00:05


![image][1]




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


* **Pthreads**, или потоки POSIX. Библиотека для низкоуровневой работы с многопоточностью. Определена как набор типов и функций на языке C. Подробнее можно ознакомиться [тут][2].
* **Background selectors**. Это отправка сообщения объекту, которое будет исполнено на указанном потоке. В коде это селектор с названием `performSelector` и различными параметрами (например, `performSelectorOnMainThread:withObject:waitUntilDone:`). [Документация][3]
* **NSThread**. Представлены как базовые средства для работы с потоками. Ознакомьтесь с концептуальным [документом][4] по работе с потоками и [документацией][5].
* **Grand Central Dispatch**. Библиотека, основанная на блоках — анонимных участках кода, иначе замыканиях. Рабочее название — **libdispatch**.
* **NSOperation**. Построен на основе GCD. Стоит заметить, что сама операция является абстрактной сущностью и на практике стоит использовать `NSInvocationOperation` и `NSBlockOperation`.

В этой статье поговорим о вопросах CGD.

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

[1]: https://habrastorage.org/web/14d/c1b/ee6/14dc1bee6d6b45428dadef9c14b76059.png
[2]: https://habrahabr.ru/post/326138/
[3]: https://developer.apple.com/documentation/objectivec/nsobject/1417922-performselector
[4]: https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Multithreading/AboutThreads/AboutThreads.html#//apple_ref/doc/uid/10000057i-CH6-SW2
[5]: https://developer.apple.com/documentation/foundation/thread
[6]: https://habrahabr.ru/post/332026/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Скрипт для экспресс-восстановления Excel-файлов после повреждения
habra.16
habrabot(difrex,1) — All
2017-07-08 16:30:04


Данная заметка предназначен тем, у кого при попытке открыть Excel-файл выдается сообщение об ошибке вида ![][1]

В моем случае с такой ошибкой открывался xlsx-файл (далее 1.xlsx), восстановленный с помощью R-Saver после вирусной атаки, подобной «Petya».
[Читать дальше][2]

[1]: https://habrastorage.org/web/35c/560/15a/35c56015ad3347ae89f3562713098733.png
[2]: https://habrahabr.ru/post/332660/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Интервью в SD podCast с Павлом Одинцовым, автором FastNetMon, инструмента для обнаружения и отражения DDoS атак
habra.16
habrabot(difrex,1) — All
2017-07-08 16:30:04


Всем привет!

Некоторое время назад [ksdaemon][1] пригласил меня в гости к подкасту [SD podCast][2]. Это получилось очень интересное путешествие по дебрям нашего проекта и были открыты уголки, про которые раньше даже никто не спрашивал :) Отличная демонстарция фразы — хочешь понять (свой же продукт!) сам — объясни другим.

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

Для тех, кто не знакомы с продуктом для начала рекомендую изучить наш [сайт][3] и [GitHub проект][4].
[Читать дальше →][5]

[1]: https://habrahabr.ru/users/ksdaemon/
[2]: https://sdcast.ksdaemon.ru/2017/07/sdcast-58/
[3]: https://fastnetmon.org
[4]: https://github.com/pavel-odintsov/fastnetmon
[5]: https://habrahabr.ru/post/332662/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Уязвимость ВКонтакте: отправляем сообщение с кодом восстановления страницы на чужой номер
habra.16
habrabot(difrex,1) — All
2017-07-09 14:00:06


![][1]

Обычным весенним днем, занимаясь «подготовкой» к ЕГЭ по информатике, наткнулся на [статью об уязвимости Facebook][2], позволявшей взломать все аккаунты в социальной сети, за которую выплатили 15000$. Суть уязвимости заключалась в переборе кодов восстановления на тестовом домене компании. Я подумал, а чем собственно ВКонтакте хуже? И решил попробовать провернуть подобный трюк у них. Зная, что веб-версия уже достаточно хорошо исследована, жертвой должен был стать Android клиент, а что из этого вышло можно прочитать под катом. [Читать дальше →][3]

[1]: https://habrastorage.org/web/ce1/f8f/c02/ce1f8fc0222f4b3db640ccbb3838d858.png
[2]: http://www.anandpraka.sh/2016/03/how-i-could-have-hacked-your-facebook.html
[3]: https://habrahabr.ru/post/332684/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Бинарная сегментация изображений методом фиксации уровня (Level set metod)
habra.16
habrabot(difrex,1) — All
2017-07-09 15:30:04


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

В этой статье я кратко рассмотрю понятие метода фиксации уровня и неявно заданных динамических поверхностей (level set method). Также рассмотрю роль этого метода в бинарной сегментации с введением и определением математических конструкций, таких как SDT (Signed Distance Transforms), маркированной карты расстояний.

![][1]_ Слева — исходное изображение, справа — сегментированное_
[Читать далее...][2]

[1]: https://habrastorage.org/web/e97/366/93a/e9736693a7a84c24b425c8d76d6d98c7.jpg
[2]: https://habrahabr.ru/post/332692/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Бинарная сегментация изображений методом фиксации уровня (Level set method)
habra.16
habrabot(difrex,1) — All
2017-07-09 17:30:04


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

В этой статье я кратко рассмотрю понятие метода фиксации уровня и неявно заданных динамических поверхностей (level set method). Также рассмотрю роль этого метода в бинарной сегментации с введением и определением математических конструкций, таких как SDT (Signed Distance Transforms), маркированной карты расстояний.

![][1]_ Слева — исходное изображение, справа — сегментированное_
[Читать далее...][2]

[1]: https://habrastorage.org/web/e97/366/93a/e9736693a7a84c24b425c8d76d6d98c7.jpg
[2]: https://habrahabr.ru/post/332692/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Алгоритм поиска наилучшего маршрута в linux
habra.16
habrabot(difrex,1) — All
2017-07-09 18:00:05


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

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

[>] [Перевод] Быстрое удаление пробелов из строк на процессорах ARM
habra.16
habrabot(difrex,1) — All
2017-07-09 20:00:06


![][1]Предположим, что я дал вам относительно длинную строку, а вы хотите удалить из неё все пробелы. В ASCII мы можем определить пробелы как знак пробела (‘ ’) и знаки окончания строки (‘\\r’ и ‘\\n’). Меня больше всего интересуют вопросы алгоритма и производительности, так что мы можем упростить задачу и удалить все байты со значениями меньшими либо равными 32.

В [предыдущией статье][2], где я задавал вопрос об удалении пробелов на скорость, лучшим ответом было использование векторизации с помощью 128-битных регистров (SSE4). Оно оказалось в 5-10 раз быстрее подхода в лоб.

Очень удобно, что во всех процессорах имеются 128-битные векторные регистры, также как в процессорах x64. Неужели процессоры ARM могут работать настолько же быстро, как процессоры x64?
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/ad3/88a/854/ad388a854496683ed3c076b107ecf56d.jpg
[2]: http://lemire.me/blog/2017/01/20/how-quickly-can-you-remove-spaces-from-a-string/
[3]: https://habrahabr.ru/post/332710/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Шифр Хила. Подробнй разбор
habra.16
habrabot(difrex,1) — All
2017-07-09 21:00:04


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

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

[>] [Из песочницы] Шифр Хила. Подробный разбор
habra.16
habrabot(difrex,1) — All
2017-07-10 00:30:06


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

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

[>] [Перевод] Отзыв сертификатов не работает
habra.16
habrabot(difrex,1) — All
2017-07-10 04:00:06


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


## Сертификаты


Мы сейчас видим настоящую золотую лихорадку вокруг сертификатов, поскольку всё больше сайтов внедряют HTTPS. Кроме очевидных преимуществ безопасности и приватности, есть и другие выгоды от внедрения защищённых соединений, которые я перечислил в статье «[Вы всё ещё думаете, что вам не нужен HTTPS?][1]». Обычно именуемые «SSL-сертификаты» или «HTTPS-сертификаты» разлетаются со скоростью, которой мы никогда не видели в истории интернета. Каждый день я исследую сайты из первого миллиона по посещаемости и анализирую различные аспекты их безопасности, а каждые 6 месяцев публикую отчёт. Вы можете изучить эти отчёты [здесь][2], но сейчас посмотрим на темпы внедрения HTTPS.

![][3]
Процент сайтов из первого миллиона самых популярных сайтов по статистике Alexa, где стоит редирект на версию HTTPS
[Читать дальше →][4]

[1]: https://scotthelme.co.uk/still-think-you-dont-need-https/
[2]: https://scotthelme.co.uk/tag/crawl/
[3]: https://habrastorage.org/getpro/habr/post_images/f0f/fdb/0e1/f0ffdb0e1e2decdd9231f25891747a27.png
[4]: https://habrahabr.ru/post/332730/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Тандем офисной и мобильной телефонии. Как мы разрабатывали FMC
habra.16
habrabot(difrex,1) — All
2017-07-10 09:30:13


FMC (fixed mobile convergence) — это новое технологическое решение на стыке разных типов сетей связи: фиксированной и мобильной. С его помощью любая организация может создать единую сеть офисных и мобильных телефонов с общим планом короткой нумерации. Технология дает возможность созваниваться напрямую по коротким внутренним номерам сотрудникам вне офисов в разных регионах страны или мира без использования реальной офисной АТС.
[Читать дальше →][1]

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

[>] Автоматизация IP-сети. Часть2 – Мониторинг скорости открытия Веб страниц
habra.16
habrabot(difrex,1) — All
2017-07-10 09:30:13


![image alt][1] Продолжаем серию статей по доступной автоматизации в IP-сети. У каждого из инженеров, работающих с сетью Интернет, так или иначе периодически возникает потребность измерения скорости загрузки Веб странницы. Для этого существует множество инструментов, один из них это утилита wget. Например, для измерения скорости загрузки можно из консоли (Unix/Linux) воспользоваться такой командой:

[root@localhost ~]# wget -E -H -p -Q300K --user-agent=Mozilla --no-cache --no-cookies --delete-after --timeout=15 --tries=2 habrahabr.ru 2>&1 | grep Downloaded
Downloaded: 7 files, 411K in 0.3s (1.22 MB/s)
Следует отметить, что ограничение Q300K достаточное чтобы понять скорость загрузки, особенно если сетевая задержка до сайта более 10мс. При этом результаты скорости будут не очевидны если количество скаченной информации меньше 100K.

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

[1]: https://habrastorage.org/web/ee5/03b/70c/ee503b70c56b4b24afbafd2928fcefa8.jpg
[2]: https://habrahabr.ru/post/332690/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] GitLab CI для непрерывной интеграции в production. Часть 1: наш пайплайн
habra.16
habrabot(difrex,1) — All
2017-07-10 10:00:04


![][1]

Итак, [GitLab CI][2]: что можно ещё рассказать о нём? На хабре уже есть статьи про установку, про настройку раннеров, про командное использование, про GitLab Flow. Пожалуй, не хватает описаний того, как используется GitLab CI в реальном проекте, где задействовано несколько команд. А в современном мире разработки ПО это действительно так: ведь есть (как минимум) разработчики, тестировщики, DevOps- и релиз-инженеры. С подобным разделением на команды мы работаем уже несколько лет. В этой статье я расскажу о том, как мы, используя и улучшая возможности GitLab CI, реализовали и применяем в production для коллектива из нескольких команд процессы непрерывной интеграции (CI) и отчасти доставки приложений (CD). [Читать дальше →][3]

[1]: https://habrastorage.org/web/ca1/fce/04e/ca1fce04e3314111ac634a3b5d8b8dec.png
[2]: https://docs.gitlab.com/ce/ci/
[3]: https://habrahabr.ru/post/332712/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

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