» Материалы за 24.01.2018 » Страница 2

 

Антивирусный отчет за 2017 год: забываем о вредоносных программах

Автор: admin от 24-01-2018, 13:40, посмотрело: 386

Антивирусный отчет за 2017 год: забываем о вредоносных программах


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



Действенность, эффективность и доходность кибер-атак постоянно подтверждаются цифрами: в течение 2017 года в среднем обнаруживалось до 285 000 новых образцов ежедневно.

Антивирусная лаборатория PandaLabs подготовила годовой отчет и представила свои прогнозы на 2018 год.

Категория: Информационная безопасность

 

Пылесосим код IDEA Ultimate с помощью анализа потоков данных

Автор: admin от 24-01-2018, 13:15, посмотрело: 171

IntelliJ IDEA содержит тысячи инспекций для Java-кода. Большинство из них работает как продвинутые регулярные выражения: по определённому шаблону они ищут фрагменты программы, которые выглядят как опечатки, избыточны, некрасивы или могут работать медленно. Но есть инспекция совсем другого рода. У неё несколько странное название: «Constant conditions & exceptions». В действительности она выполняет анализ потоков данных в Java-методах с помощью так называемого «символьного выполнения». В результате такого анализа могут обнаружиться некоторые подозрительные факты. Вот некоторые примеры таких фактов:




  • Разыменование ссылки может привести к NullPointerException

  • Условие всегда истинно или ложно

  • Индекс массива всегда за пределами допустимых границ

  • Приведение типа может привести к ClassCastException

Категория: Программирование

 

Выравнивание инструкций кода

Автор: admin от 24-01-2018, 13:15, посмотрело: 132

Насколько трудно может быть измерить производительность простой функции, вроде вот этой?



code_0



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

Категория: Программирование

 

Parallel STL. Быстрый способ ускорить C++ STL код

Автор: admin от 24-01-2018, 13:15, посмотрело: 272

За пару последних десятилетий, пока вычислительные системы эволюционировали от одноядерных скалярных до многоядерных векторных архитектур, значительно выросла популярность управляемых языков, а также появились новые языки программирования. Но старый добрый C++, позволяющий писать высокопроизводительный код, остается более чем популярным. Однако, до недавнего времени стандарт языка не предоставлял каких-либо инструментов для выражения параллелизма. Новая версия стандарта (C++17 [1]) предоставляет набор параллельных алгоритмов Parallel STL, дающий возможность преобразовать существующий последовательный C++ код в параллельный, что, в свою очередь, позволяет задействовать такие аппаратные возможности, как многопоточность и векторизация. Эта статья познакомит вас с основами Parallel STL и его реализацией в Intel Parallel Studio XE 2018.



Parallel STL. Быстрый способ ускорить C++ STL код

Категория: Программирование

 

Турнир ИИ для промышленных роботов по Аэрохоккею

Автор: admin от 24-01-2018, 12:15, посмотрело: 228

Всем известны соревновании двух ИИ в игре Go. А как на счет состязания ИИ в более динамичной игре требующей не столько вдумчивой стратегии, сколько тактики, оперативной реакции и скорости?



К примеру Аэрохоккей! Простая декартовая система перемещений 3 координаты + 1 угол, всего один орган влияния на игру (бита), следовательно нужна всего 1 рука. Берем 6-ти осевых промышленных роботов, ставим вместо игроков с двух сторон…



Турнир ИИ для промышленных роботов по Аэрохоккею

Категория: Программирование

 

Советы по стилю. Как написать читаемый React-код

Автор: admin от 24-01-2018, 12:15, посмотрело: 166

Когда разработчик проводит code review, ему редко хватает времени вникнуть в каждую строку: приходится быстро продумывать различные ситуации, в которых этот код может не работать. При анализе существует несколько моментов, на которые стоит обращать внимание, чтобы быстро понять, как именно код работает. Подсмотрели у Nirmalya Ghosh несколько приемов, как сделать javascript-код изящнее при создании компонентов с помощью библиотеки React. Хотя у нас есть свои особенности разработки в ЕФС, о которых вы можете прочитать в этой статье, некоторые из описанных под катом приемов мы находим интересными. Читаем и обсуждаем в комментариях!



Советы по стилю. Как написать читаемый React-код

Категория: Программирование

 

5 тенденций развития микросервисов в 2018 году

Автор: admin от 24-01-2018, 12:15, посмотрело: 215

5 тенденций развития микросервисов в 2018 году



2017 год стал важным годом для DevOps, поскольку число игроков в экосистеме существенно выросло, а количество проектов с CNCF утроилось. Глядя на год вперед, мы ожидаем, что инновации и рыночные изменения ускорятся еще больше. Ниже мы рассмотрели тенденции в области микросервисов в 2018 году: сервисные связки(так называемые “меши”), event-driven архитектуры, нативная безопасность контейнеров, GraphQL и Chaos инженерия.



1. Сервисные связки популярны!



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



Очевидно, что сервисные сетки становятся все более популярными, поскольку балансировщики нагрузки, такие как HAProxy, traefik и NGINX, начали перестраиваться и представлять себя как плоскости данных(data planes). Мы пока не видели широкомасштабного развертывания, но мы знаем о компаниях, которые уже используют связки на живых серверах, в “продакшене”, так сказать. Кроме того, сервисные связки не являются эксклюзивными для микросервисов или сред Kubernetes, и также могут применяться в среде VM и без сервера. Например, в Национальном Центре Биотехнологической Информации(NCBI) нет контейнеров, но используется Linkerd.

Категория: Программирование

 

Как новичку сделать вклад в open source проект с 20К звездами?

Автор: admin от 24-01-2018, 11:35, посмотрело: 194

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



Опыт друга, новичка в open source, говорит об обратном. Первый его pull request #11680 приняли в звездный spring-boot без обсуждения и без единого комментария от мейнтейнеров. Его исправления будут доступны уже в версии 2.0.0.RC1



Как новичку сделать вклад в open source проект с 20К звездами?


Не боги горшки обжигают. Рассуждения о возможности стать контрибьютором крупного проекта на github…

Категория: Операционные системы » Linux

 

Анатомия коллтрекинга: памятка по настройке

Автор: admin от 24-01-2018, 11:35, посмотрело: 195

Анатомия коллтрекинга: памятка по настройке


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

Категория: Операционные системы » Linux

 

Неопределённое поведение != Небезопасное программирование

Автор: admin от 24-01-2018, 11:35, посмотрело: 246

От переводчика:

Предлагаю вашему вниманию перевод двух постов из блога John Regehr. Я решил объединить их в одной публикации потому, что, во первых, они имеют небольшой объём, и, во-вторых, второй пост является продолжением первого, и является ответом на комментарий к первому посту на Hacker News.



Ссылка на первый пост

Ссылка на второй пост



Неопределённое поведение != Небезопасное программирование


Часть 1. Неопределённое поведение != Небезопасное программирование



Неопределённое поведение (UB) в C и C++ представляет собой опасность для разработчиков, особенно если код работает с недоверенными данными. Менее известно, что неопределённое поведение существует в промежуточном представлении (IR) большинства оптимизирующих AOT компиляторов. Например, LLVM IR имеет значение undef и «отравленные» значения в дополнение к взрывоопасному UB языка С. Когда люди начинают беспокоиться об этом, типичная реакция такова: “Что? LLVM IR так же плох, как и C!” Эта статья объясняет, почему считать так неверно.

Категория: Операционные системы » Linux