All streams
Search
Write a publication
Pull to refresh
136
10.2

Редактор

Send message

Лямбды: от C++11 до C++20. Часть 2

Reading time8 min
Views31K
Привет, хабровчане. В связи со стартом набора в новую группу по курсу «Разработчик C++», делимся с вами переводом второй части статьи «Лямбды: от C++11 до C++20». Первую часть можно прочитать тут.



В первой части серии мы рассмотрели лямбды с точки зрения C++03, C++11 и C++14. В этой статье я описал побуждения, стоящие за этой мощной фичей C++, базовое использование, синтаксис и улучшения в каждом из языковых стандартов. Я также упомянул несколько пограничных случаев.
Теперь пришло время перейти к C++17 и немного заглянуть в будущее (очень близкое!): C++20.
Читать дальше →

15 рекомендаций по развертыванию программных средств бизнес-аналитики

Reading time7 min
Views5.1K
Всем привет. В конце июня мы запускаем новый курс «Аналитик BI». И уже сегодня хотим поделиться первым материалом подготовленным специально к курсу.

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



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

Вирусы, атакующие промышленные предприятия как угроза физической безопасности

Reading time5 min
Views3.2K
Всем привет! Сегодня делимся статьей переведенной специально для студентов курса «Реверс-инжиниринг». Поехали.



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

Использование коэффициента отклоненных дефектов для улучшения отчета об ошибках

Reading time6 min
Views2.8K
Отличной всем пятницы, друзья! В конце июня мы запускаем новую группу по курсу «QA-специалист», этому и будет посвящена сегодняшняя публикация.



Существует множество показателей по которым можно измерить эффективность работы команды тестировщиков. Одним из них является коэффициент отклоненных дефектов/ошибок (Rejected Defect Ratio), или же количество отклоненных отчетов об ошибках деленное на общее количество принятых отчетов. Должно быть, вы думаете, что если количество отклоненных отчетов равно нулю, то это хорошо, но здесь не все так просто. Давайте разберемся в типах отклоненных ошибок, посмотрим, как они влияют на коэффициент отклоненных ошибок, и вычислим правильный коэффициент для вашей команды.
Читать дальше →

Более быстрая альтернатива Java Reflection

Reading time7 min
Views8.7K
Всем привет. Сегодня хотим поделиться с вами переводом статьи, подготовленным специально для студентов курса «Разработчик Java».

В моей статье Specification Pattern (паттерн Спецификация) я специально не упомянул о лежащем в основе компоненте, который сильно помог в реализации. Здесь я подробнее расскажу о классе JavaBeanUtil, который я использовал, чтобы получить значение поля объекта. В том примере это был FxTransaction.



Конечно, вы скажете, что для получения того же результата можно использовать Apache Commons BeanUtils или одну из его альтернатив. Но мне было интересно покопаться в этом и то, что я изучил, работает намного быстрее любой библиотеки, построенной на основе широко известного Java Reflection.
Читать дальше →

Создаем конвейер потоковой обработки данных. Часть 1

Reading time5 min
Views7.6K
Всем привет. Друзья, делимся с вами переводом статьи, подготовленным специально для студентов курса «Data Engineer». Поехали!



Apache Beam и DataFlow для конвейеров реального времени


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

AlphaFold: Использование ИИ для научных открытий

Reading time6 min
Views6K
И снова здравствуйте! Делимся публикацией, перевод которой подготовлен специально для студентов курса «Нейронные сети на Python».



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

Обработка ошибок в Go

Reading time8 min
Views29K
Привет, хабровчане! Уже сегодня в ОТУС стартует курс «Разработчик Golang» и мы считаем это отличным поводом, чтобы поделиться еще одной полезной публикацией по теме. Сегодня поговорим о подходе Go к ошибкам. Начнем!



Освоение прагматической обработки ошибок в вашем Go-коде




Этот пост является частью серии «Перед тем как приступать к Go», где мы исследуем мир Golang, делимся советами и идеями, которые вы должны знать при написании кода на Go, чтобы вам не пришлось набивать собственные шишки.

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

Теперь, когда мы расчистили себе путь, поехали!
Читать дальше →

Как я сдал сертификационный экзамен Google Cloud Professional Data Engineer

Reading time9 min
Views14K

Без рекомендуемого 3-х летнего практического опыта


В преддверии старта занятий по курсу «Data Engineer», хотим поделиться с Вами переводом одной очень интересной истории, которая наверняка будет полезна будущим дата инженерам. Поехали!


Худи от Google: надето. Серьезное рабочее выражение лица: присутствует. Фото из видео версии этой статьи на YouTube.
Примечание. Эта статья посвящена сертификационному экзамену Google Cloud Professional Data Engineer до 29 марта 2019 года. После этой даты произошли некоторые изменения. Я включил их в раздел «Дополнительно».

Итак, вы хотите получить новое худи, как у меня на обложке? Или вы задумали получить сертификат Google Cloud Professional Data Engineer и задаетесь вопросом, как это сделать.
Читать дальше →

Spring Boot — OAuth2 и JWT

Reading time13 min
Views102K
Салют, друзья! Уже завтра стартуют первые занятия в новом потоке курса «Разработчик на Spring Framework». В связи с этим традиционно делимся полезным материалом по теме.



В этой статье мы изучим использование OAuth2 и JWT совместно со Spring Boot и Spring Security.

Сервер авторизации (Authorization Server)


Сервер авторизации (Authorization Server) является наиболее важным компонентом в архитектуре безопасности Web API. Сервер авторизации действует как единая точка авторизации и позволяет вашим приложениям и HTTP endpoints определять функции вашего приложения.

Сервер ресурсов (Resource Server)


Сервер авторизации предоставляет клиентам токен доступа для доступа к HTTP Endpoints сервера ресурсов (Resource Server). Сервер ресурсов — это коллекция библиотек, которая содержит HTTP Endpoints, статические ресурсы и динамические веб-страницы.
Читать дальше →

Поговорим о PAKE

Reading time10 min
Views6K
А сейчас поговорим о информационной безопасности. Данная публикация приурочена к запуску курса «Криптографическая защита информации», который стартует уже 30 мая. Поехали.

Первое правило PAKE: никогда не говорить о PAKE. Второе правило PAKE гласит, что первое правило это нонсенс, поскольку PAKE или же Password Authenticated Key Exchange (рус. Обмен ключами с проверкой подлинности пароля) – это одна из самых полезных технологий, которая практически нигде не используется. Она должна быть внедрена везде, где только возможно, но все не так просто.



Читать дальше →

Почему инженеры не заботятся о мониторинге приложений?

Reading time5 min
Views3.3K
Всех с пятницей! Друзья, сегодня мы продолжаем серию публикаций посвященных курсу «DevOps практики и инструменты», потому как занятия в новой группе по курсу стартуют уже в конце следующей недели. Итак, начнём!



Мониторинг — это просто. Это известный факт. Поднимите Nagios, запустите NRPE на удалённой системе, настройте Nagios на порт NRPE TCP 5666 и у вас есть мониторинг.

Это так легко, что неинтересно. Теперь у вас есть основные метрики по процессорному времени, дисковой подсистеме, оперативной памяти, поступающие по умолчанию в Nagios и NRPE. Но на самом деле это не «мониторинг» как таковой. Это только начало.

(Обычно ставят PNP4Nagios, RRDtool и Thruk, настраивают уведомления в Slack и идут прямо на nagiosexchange, но пока что опустим это).
Читать дальше →

Бессерверный PHP на AWS Lambda

Reading time5 min
Views7.8K
Всем привет. Уже в понедельник состоится первое занятие в новой группе курса «Backend разработчик на PHP». В связи с этим мы продолжаем публиковать полезный материал по теме. Начнем.



Как и Саймон Вордли, я считаю, что бессерверные вычисления – это крайне интересная область, в первую очередь из-за гранулированной системы оплаты (платите только тогда, когда выполняется ваш код), и вам не нужно беспокоиться об облуживании и подготовке серверов и контейнеров. Настолько, что я работаю с открытым PHP Runtime для Apache OpenWhisk, коммерческая версия которого доступна как одна из функций IBM Cloud.
Читать дальше →

Блокировки в Postgres: 7 советов по работе с блокировками

Reading time6 min
Views25K
И снова здравствуйте! Уже в следующий вторник стартует новый поток по курсу «Реляционные СУБД», поэтому мы продолжаем публиковать полезный материал по теме. Поехали.



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

Selenium WebDriver – Метрика тестов в реальном времени с использованием Grafana и InfluxDB

Reading time6 min
Views8.5K
Всем привет! Уже на следующей неделе стартуют занятия в группе «Java QA Engineer». Этому и будет приурочена нынешняя публикация.



Обзор:


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

Интервью — 10 вопросов про Swift. Часть 2

Reading time5 min
Views15K
До запуска курса «iOS-разработчик» остается все меньше времени, поэтому сегодня мы продолжаем публиковать материал из серии «10 вопросов про Swift». Первую часть которого можно прочитать тут.



Объясните дженерики в Swift?


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

Типы Array и Dictionary в Swift являются универсальными коллекциями (дженериками).
В приведенном ниже коде универсальная функция для свапа двух значений используется для строки и целого числа. Это пример кода многократного использования.
Читать дальше →

5 продвинутых техник тестирования на Go

Reading time7 min
Views15K
Всем салют! До старта курса «Разработчик Golang» остается меньше недели и мы продолжаем делиться полезным материалом по теме. Поехали!



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

Принципы разработки современных приложений от NGINX. Часть 1

Reading time9 min
Views7K
Привет, друзья. В преддверии запуска курса «Backend разработчик на PHP», традиционно делимся с вами переводом полезного материала.

Программное обеспечение решает все больше и больше повседневных задач, при этом становясь все сложнее и сложнее. Как однажды сказал Марк Андрессен, оно поглощает мир.



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

Кто такие дата-инженеры, и как ими становятся?

Reading time9 min
Views164K
И снова здравствуйте! Заголовок статьи говорит сам о себе. В преддверии старта курса «Data Engineer» предлагаем разобраться в том, кто же такие дата-инженеры. В статье очень много полезных ссылок. Приятного прочтения.



Простое руководство о том, как поймать волну Data Engineering и не дать ей затянуть вас в пучину.

Складывается впечатление, что в наши дни каждый хочет стать дата-саентистом (Data Scientist). Но как насчет Data Engineering (инжиниринга данных)? По сути, это своего рода гибрид дата-аналитика и дата-саентиста; дата-инженер обычно отвечает за управление рабочими процессами, конвейерами обработки и ETL-процессами. Ввиду важности этих функций, в настоящее время это очередной популярный профессиональный жаргонизм, который активно набирает обороты.

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

Итак, начнем!
Читать дальше →

Что нейронная сеть увидела на первой фотографии черной дыры

Reading time5 min
Views22K
Друзья, многие наверное помнят изображения черной дыры, которые потрясли всех в апреле этого года. Мы нашли очень интересный материал, в котором пойдет речь о том, что «думают» об изображении черной дыры алгоритмы искусственного интеллекта. Переводом данного материала мы продолжаем серию публикаций, приуроченных к запуску курса «Нейронные сети на Python». Предупреждаем, материал получился более развлекательным, чем информационным, но эти изображения определенно стоит увидеть. Поехали.



11 апреля ученые и инженеры из команды телескопа Горизонта Событий совершили настоящий прорыв в вопросе понимания процессов, которые происходят в космическом пространстве. Они представили первое изображение (фотографию) черной дыры. Это еще больше укрепило общую теорию относительности Эйнштейна, а именно гипотезу, согласно которой «массивные объекты вызывают искажение в пространстве-времени, которое отражается в виде гравитационных изменений».
Читать дальше →

Information

Rating
648-th
Location
Россия
Works in
Registered
Activity