Рубрика «Тренды»

Как освоить машинное обучение

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

Что такое машинное обучение

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

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

С чего начать

Я осваивала машинное обучение, просматривая образовательные видео на YouTube. Кроме того, я пр..

Как преобразовать шестнадцатеричное число в десятичное в JavaScript

Функция parseInt()

Чтобы преобразовать шестнадцатеричное число в десятичное, вызовите функцию parseInt(), передав шестнадцатеричное число и 16 в качестве первого и второго аргументов: parseInt(hex, 16). Например:

function hexToDec(hex) {
return parseInt(hex, 16);
}

console.log(hexToDec('f')); // 15
console.log(hexToDec('abc')); // 2748
console.log(hexToDec(345)); // 837

Функция parseInt() анализирует строку и возвращает целое число указанного радикса. Она имеет два параметра.

string  —  анализируемая строка.radix  —  целое число от 2 до 36, представляющее собой радикс/базис строки.

Функция parseInt() игнорирует пробелы в переданной ей строке.

console.log(parseInt(' a', 16)); // 10
console.log(parseInt(' cd', 16)); // 205

Если переданная строка не является допустимым числом в указанном радиксе, parseInt() не выдает ошибку, а возвращает NaN.

console.log(parseInt('js', 16)); // NaN

// 'a' не существует в базисе 10
cons..

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

Преимущества микросервисов

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

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

Ниже представлены общие преимущества микросервисной архитектуры.

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

Философия как инструмент совершенствования программистов

Девять лет жизни я посвятила изучению философии в университете. Получив степень бакалавра, 2 степени магистра и докторскую степень, я решила оставить мир академических наук и устроилась на работу программистом.

И здесь меня ждало удивительное открытие! Несмотря на минимальные технические знания в самом начале моей карьеры программиста, изучение философии оказалось хорошей подготовкой к этой профессии.

Дело в том, что мне действительно не хватало технических навыков: довольно ограниченные знания JavaScript и никакого представления об AWS и облачных сервисах Google.

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

Но обратите внимание, что под занятиями философией понимается не просто чтение философских трактатов. Есть боль..

Java 17: что нового по сравнению с Java 11

Версия Java 17 была выпущена не так уж давно. Отличие этого релиза в том, что это  —  новая TLS-версия (Long Term Support, с долговременной поддержкой) после Java 11.

В этой статье рассмотрим новые практические функции, которые были введены между 11-ой и 17-ой версиями.

Switch-выражения.Текстовые блоки.Сопоставление с образцом (Pattern Matching) для instanceof.Полезные NullPointerException.Записи (Records).Запечатанные (sealed) классы.Сопоставление с образцом для switch.

Switch-выражения

Switch-выражения  —  это оператор switch с улучшенным синтаксисом и функциональностью. Как они работают?

Выведем информацию о том, является ли данный день будним или выходным. При использовании операторов switch это выглядит так:

DayOfWeek dayOfWeek = // назначение значений
switch (dayOfWeek) {
case SUNDAY:
case SATURDAY:
System.out.println(“Weekend”);
break;
case FRIDAY:
case THURSDAY:
case WEDNESDAY:
case TUESDAY:
case MONDAY:
System.out.println(“Weekday”);
break;
default:
System.out.println(“U..

Внешнее конфигурирование базы данных Spring Boot с помощью AWS Secrets Manager

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

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

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

Шаг 1. Создайте учетные данные к БД в AWS Secrets Manager

Перейдите в консоль AWS и найдите “Secrets Manager”. Затем выполняйте последующие шаги до тех пор, пока секрет не будет создан.

Шаг 2. Добавьте зависимости в pom.xml



org.springframe..

Эволюция кортежей в C#

Какие же классные эти кортежи! Отчетливо помню времена до их появления: сидишь и думаешь, как лучше всего вернуть несколько значений из метода. Как только кортежи были добавлены в C#, я сразу увидел отличные перспективы их эффективного применения.

С каждой новой версией C# они дорабатывались и улучшались. Если вам довелось работать только с самыми ранними вариантами кортежей, вы бы сейчас их не узнали. Это и не удивительно: настолько они изменились. Но все к лучшему.

Рассмотрим путь развития кортежей с момента их создания и узнаем, как они используются сейчас.

C# 4: рождение кортежей

В далеком 2010 году появилась новая версия .NET и C#, где и были впервые представлены кортежи.

Цель этой новой для C# концепции заключалась в упрощении работы с небольшим количеством значений. До кортежей приходилось либо создавать пользовательский класс/структуру для хранения значений, либо задействовать набор параметров ref. Но оба способа были далеки от совершенства.

Итак, мы получили новый ..

Сегментация изображений с использованием сети обратного внимания

Проблемы

Большинство методов семантической сегментации на основе СNN (convolutional neural network, сверточной нейронной сети) сосредоточены на простом получении правильных предсказаний без обучения модели различать классы. По этой причине характеристики менее распространенных классов могут быть проигнорированы.

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

Рис. 1

Наглядной демонстрацией проблемы является рисунок 1. При рассмотрении степени интенсивности внимания становится очевидно: большинство современных моделей кодировщиков-декодеров будут проявлять сильную нейронную активацию на участках, где два и более объекта “смешаны”. Иначе говоря: имеют нечеткие границы или области со схожими пространственными паттернами. Когда дело доходит до прогнозов, такие модели н..

Mito: быстрый анализ данных на Python

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

Что же делать? Можно быстро написать код и довести дело до конца (что может привести к глупым ошибкам) или же использовать библиотеку Mito, чтобы исследовать и преобразовать данные за несколько минут. Mito  —  это библиотека Python, которая позволяет проводить анализ данных так же быстро, как если бы вы работали с электронными таблицами в Microsoft Excel.

Чтобы разобраться в том, как она работает, для начала скачайте набор данных и установите библиотеку. В этом руководстве будет использоваться набор данных игроков FIFA 22. Его можно загрузить здесь. Мы будем исследовать этот набор данных с помощью библиотеки Mito. Чтобы ее установить, скачайте либо Jupyter Notebook, либо..

7 способов ускорить ревью кода

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

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

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

#1. Создание небольших пул-реквестов

Страшный сон любого инженера-программиста  —  проверка пул-рек..