All streams
Search
Write a publication
Pull to refresh
136
10.2

Редактор

Send message

Введение в Spring Boot Actuator

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



  1. Что такое Spring Actuator?
  2. Как добавить Spring Actuator в проект Maven или Gradle?
  3. Создание проекта Spring Boot с зависимостью Spring Actuator.
  4. Мониторинг приложений с Spring Actuator Endpoints.
Читать дальше →

PostgreSQL 11: Эволюция секционирования от Postgres 9.6 до Postgres 11

Reading time3 min
Views6.7K
Отличной всем пятницы! Все меньше времени остается до запуска курса «Реляционные СУБД», поэтому сегодня делимся переводом еще одного полезного материала по теме.



В процессе разработки PostgreSQL 11 была проделана впечатляющая работа по улучшению секционирования таблиц. Секционирование таблиц — это функция, которая существовала в PostgreSQL достаточно долгое время, но ее, если можно так выразиться, по сути не было до 10 версии, в которой она стала весьма полезной функцией. Ранее мы заявляли, что наследование таблиц — это наша реализация секционирования, и это правда. Только этот способ заставлял вас делать большую часть работы вручную. Например, если вы хотели, чтобы кортежи вставлялись в секции во время INSERTов, вы должны были настроить триггеры делать это за вас. Секционирование с помощью наследования было очень медленным и сложным, чтобы разрабатывать дополнительные функции поверх него.
Читать дальше →

Что должен знать каждый QA-инженер о Selenium 4?

Reading time5 min
Views14K
Привет, друзья. Май богат новыми курсами, и прямо сейчас, в преддверии запуска курса «Java QA Engineer», мы продолжаем публиковать полезный материал для QA-специалистов.



Вернемся в август 2018 года, когда сообщество тестировщиков потрясла новость о том, что Саймон Стюарт, один из основателей Selenium, официально утвердил дату релиза и афишировал некоторые основные обновления Selenium 4 на Selenium Conference в Бангалоре. Четвертая версия всеми любимого фреймворка для автоматизации веб-тестирования должна была быть выпущена к рождеству 2018 года.
Читать дальше →

Глубокая нейронная сеть MuseNet пишет музыку

Reading time3 min
Views10K
У нас 29 мая стартует курс «Нейронные сети на Python», который рассказывает о глубоком машинном обучении и учит решать самые сложные задачи, находящиеся в ведении инженера по глубокому обучению. Чтобы показать, насколько интересна и многогранна работа в сфере машинного обучения, предлагаем ознакомиться с серией переводов статей на тему нейронных сетей на Python.



Что такое MuseNet


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

В основу сети легко не наше восприятие и понимание музыки, а навык находить образцы гармонии, ритма и стиля в сотнях тысяч MIDI-файлов, а затем создавать собственные произведения. Нейросеть MuseNet использует ту же технологию, что и GPT-2 — масштабная модель обучена предсказывать наилучшие последовательности как в тексте, так и в аудио. Знание множества стилей позволяет сети создавать совершенно уникальные комбинации музыки разных поколений.
Читать дальше →

Использование Golang для создания микросервисов в The Economist: ретроспектива

Reading time11 min
Views7K
Всем привет! Уже 28 мая мы запускаем первую группу по курсу «Разработчик Golang». И сегодня делимся с вами первой публикацией приуроченной к запуску этого курсу. Поехали.



Ключевые выдержки

  • The Economist требовалось больше гибкости для распространения контента на все более разнообразные цифровые каналы. Для достижения этой цели и поддержания высокого уровня производительности и надежности, платформа перешла от монолитной к микросервисной архитектуре.
  • Средства, написанные на Go, были ключевым компонентом новой системы, которая позволила The Economist предоставлять масштабируемые, высокопроизводительные сервисы и быстро создавать новые продукты.
  • Go, нацеленный на параллелизм и поддержку API, вместе с его конструкцией статического компилируемого языка, облегчал разработку распределенных систем обработки событий которые могли бы масштабироваться. Поддержка тестирования также была плюсом.
  • В целом, опыт работы команды The Economist с Go был положительным, и это был один из решающих факторов, которые позволили масштабировать Content Platform.
  • Go не всегда будет являться подходящим инструментом, и это нормально. The Economist обладает платформой-полиглотом и использует разные языки там, где это имеет смысл.
Читать дальше →

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

Reading time4 min
Views13K
Салют, хабровчане! Майские закончились, и мы продолжаем запускать новые курсы. Эта статья приурочена к старту курса «iOS-разработчик». Обучение начнется 28 мая, а до тех пор у вас есть возможность побольше узнать о языке Swift и его особенностях. Это первая статья из трех, где в формате интервью рассматриваются достоинства и особенности языка Swift, на котором мы учим создавать приложения под iOS на наших курсах.



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

Паттерны проектирования, используемые в Spring Framework

Reading time6 min
Views48K

Привет, хабровчане! Длинные выходные завершились, а это значит, что пришло время поделиться новым полезным переводом. Сегодня поговорим о паттернах проектирования, используемых в Spring Framework. Как вы догадались, данный материал приурочен к старту набора новой группы по курсу "Разработчик на Spring Framework", который стартует 28 мая. Начнем.



В этой статье сделаем обзор нескольких паттернов проектирования, которые широко используются в Spring Framework. Паттерны проектирования описывают приёмы программирования в объектно-ориентированной разработке программного обеспечения.

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

Основы проектирования баз данных – сравнение PostgreSQL, Cassandra и MongoDB

Reading time12 min
Views28K
Здравствуйте, друзья. Перед уходом на вторую часть майских праздников делимся с вами материалом, который мы перевели в преддверии запуска нового потока по курсу «Реляционные СУБД».



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

Руководство по аннотациям TestNG для Selenium WebDriver

Reading time16 min
Views92K
Мир, труд, май, хабровчане! Для тех, кто также как и мы ворвался в межпраздничную рабочую неделю, мы подготовили перевод, который хотим приурочить к старту набора на курс «Java QA Engineer», запуск которого запланирован на 28 мая.



TestNG — это тестовый фреймворк, созданный Cédric Beust, он помогает нам удовлетворить многие наши потребности в тестировании. TestNG широко используется вместе с Selenium. Хотите знать, что означает NG? Это значит “Next Generation” (“Следующее поколение”). TestNG похож на JUnit, но он более мощный, когда дело касается управления потоком выполнения вашей программы. Архитектура фреймворка помогает нам сделать тесты более структурированными и обеспечить лучшие точки валидации.
Читать дальше →

Понимание алгоритма БПФ

Reading time7 min
Views131K
Здравствуйте, друзья. Уже завтра стартует курс «Алгоритмы для разработчиков», а у нас остался один неопубликованный перевод. Собственно исправляемся и делимся с вами материалом. Поехали.

Быстрое преобразование Фурье (БПФ — англ. FFT) является одним из важнейших алгоритмов обработки сигналов и анализа данных. Я пользовался им годами, не имея формальных знаний в области компьютерных наук. Но на этой неделе мне пришло в голову, что я никогда не задавался вопросом, как БПФ так быстро вычисляет дискретное преобразование Фурье. Я стряхнул пыль со старой книги по алгоритмам, открыл ее, и с удовольствием прочитал об обманчиво простой вычислительной уловке, которую Дж. В. Кули и Джон Тьюки описали в своей классической работе 1965 года, посвященной этой теме.



Цель этого поста — окунуться в алгоритм БПФ Кули-Тьюки, объясняя симметрии, которые к нему приводят, и показать несколько простых реализаций на Python, применяющих теорию на практике. Я надеюсь, что это исследование даст специалистам по анализу данных, таким как я, более полную картину того, что происходит под капотом используемых нами алгоритмов.
Читать дальше →

Представляем Tartiflette: реализацию GraphQL с открытым исходным кодом для Python 3.6+

Reading time4 min
Views3.8K
Друзья, в преддверии майских праздников мы решили не заваливать вас сложными техническими статьями, поэтому нашли довольно интересный, а главное, легкий в прочтении материал, переводом которого с радостью делимся с вами. Данный материал мы хотим приурочить к запуску курса «Web-разработчик на Python».

С оригиналом можно ознакомиться тут.



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

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

Основы движков JavaScript: оптимизация прототипов. Часть 2

Reading time8 min
Views5.2K
Добрый день, друзья! Курс «Безопасность информационных систем» запущен, в связи с этим делимся с вами завершающей частью статьи «Основы движков JavaScript: оптимизация прототипов», первую часть которой можно прочитать тут.

Также напоминаем о том, что нынешняя публикация является продолжением вот этих двух статей: «Основы движков JavaScript: общие формы и Inline кэширование. Часть 1», «Основы движков JavaScript: общие формы и Inline кэширование. Часть 2».



Классы и прототипное программирование

Теперь, когда мы знаем, как получить быстрый доступ к свойствам объектов JavaScript, можно взглянуть на более сложную структуру JavaScript – классы. Вот так выглядит синтаксис класса на JavaScript:

class Bar {
	constructor(x) {
		this.x = x;
	}
	getX() {
		return this.x;
	}
}
Читать дальше →

Создание политики паролей в Linux

Reading time5 min
Views39K
И снова здравствуйте! Уже завтра начинаются занятия в новой группе курса «Администратор Linux», в связи с этим публикуем полезную статью по теме.



В прошлом туториале мы рассказывали, как использовать pam_cracklib, чтобы усложнить пароли в системах Red Hat 6 или CentOS. В Red Hat 7 pam_pwquality заменила cracklib в качестве pam модуля по умолчанию для проверки паролей. Модуль pam_pwquality также поддерживается в Ubuntu и CentOS, а также во многих других ОС. Этот модуль упрощает создание политик паролей, чтобы удостовериться, что пользователи принимают ваши стандарты сложности паролей.
Читать дальше →

Универсальное и идеальное хеширование

Reading time10 min
Views18K
Начинаем неделю с полезного материала приуроченного к запуску курса «Алгоритмы для разработчиков». Приятного прочтения.



1. Обзор

Хеширование — отличный практический инструмент, с интересной и тонкой теорией. Помимо использования в качестве словарной структуры данных, хеширование также встречается во многих различных областях, включая криптографию и теорию сложности. В этой лекции мы опишем два важных понятия: универсальное хеширование (также известное как универсальные семейства хеш-функций) и идеальное хеширование.
Читать дальше →

Опыт кандидата при рекрутинге разработчиков программного обеспечения. Часть 2

Reading time8 min
Views4.6K
Добрый день. Делимся с вами второй частью статьи о рекрутинге разработчиков ПО, которая приурочена к запуску курса «IT-Recruiter». Первую часть можно прочитать тут.



Уведомление привлекательно

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

План ИИ-трансформации: как управлять компанией в эпоху ИИ?

Reading time12 min
Views3.3K

Делимся с вами ещё одним полезным переводом статьи. Также всех, у кого есть желание за 3 месяца освоить Best Practice по внедрению в проекты современных аналитических механизмов, необходимых для продвижения продуктов и услуг в цифровом пространстве, приглашаем ознакомиться с программой профессионального курса «Big Data для менеджеров». Итак, как же управлять компанией в эпоху ИИ?


image


Сегодня технологии искусственного интеллекта (ИИ) готовы изменить все отрасли, так же как 100 лет назад это сделало электричество. По оценкам, в период до 2030 года ИИ-технологии приведут к росту ВВП на 13 триллионов долларов. Хотя ИИ уже принёс огромную ценность в ведущих технологических компаниях, таких как Google, Baidu, Microsoft и Facebook, большой всплеск создания ценности для бизнеса будет за рамками индустрии разработки программного обеспечения.

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

Ищем утечки памяти в приложениях на Python

Reading time4 min
Views17K
¡Hola! мы продолжаем серию публикаций, приуроченных к запуску курса «Web-разработчик на Python» и прямо сейчас делимся с вами переводом еще одной интересной статьи.

В Zendesk мы используем Python для создания продуктов с машинным обучением. В приложениях с использованием машинного обучения одними из самых распространенных проблем, с которыми мы столкнулись, являются утечка памяти и всплески. Код на Python обычно выполняется в контейнерах с помощью фреймворков распределенной обработки, таких как Hadoop, Spark и AWS Batch. Каждому контейнеру выделяется фиксированный объем памяти. Как только выполнение кода превысит заданное ограничение памяти, контейнер прекратит свою работу из-за ошибок, возникающих по причине нехватки памяти.

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

Реализация словаря в Python

Reading time7 min
Views54K
Всем привет, 30 апреля в ОТУС стартует курс «Алгоритмы для разработчиков», именно к этому приурочена публикация сегодняшнего материала. Начнём.



В этой статье вы узнаете, как в Python реализованы словари.
Словари индексируются с помощью ключей, и они могут рассматриваться в качестве ассоциированных массивов. Давайте добавим 3 пары ключ/значение (key/value) в словарь:

>>> d = {'a': 1, 'b': 2}
>>> d['c'] = 3
>>> d
{'a': 1, 'b': 2, 'c': 3}
Читать дальше →

Опыт кандидата при рекрутинге разработчиков программного обеспечения. Часть 1

Reading time13 min
Views6.2K
День добрый, друзья. Сегодняшняя публикация будет не совсем типичной для нашего блога, потому как речь пойдет о рекрутинге разработчиков ПО, а точнее о практическом опыте кандидата. И приурочена данная статья к запуску нового потока по курсу «IT-Recruiter».



Было доказано, что чек-листы (контрольные списки) невероятно полезны профессионалам, имеющим дело с рискованными и сложными ситуациями, таким как пилоты и врачи. Поскольку хороший опыт кандидата (candidate experience) имеет важное значение для успешного рекрутинга лучших разработчиков, мы создали чек-лист, который вы можете использовать, чтобы обеспечивать у кандидатов хорошее впечатление от процесса подбора персонала.
Примечание переводчика: «опыт кандидата» (candidate experience) – термин, который определяет мнение кандидатов о компании, сложившееся в процессе приема на работу.

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

Основы движков JavaScript: оптимизация прототипов. Часть 1

Reading time6 min
Views7.3K
Всем привет. Все меньше времени остается до запуска курса «Безопасность информационных систем», поэтому сегодня мы продолжаем делиться публикациями, приуроченными к запуску данного курса. Кстати, нынешняя публикация является продолжением вот этих двух статей: «Основы движков JavaScript: общие формы и Inline кэширование. Часть 1», «Основы движков JavaScript: общие формы и Inline кэширование. Часть 2».

В статье описаны ключевые основы. Они являются общими для всех движков JavaScript, а не только для V8, над которым работают авторы (Бенедикт и Матиас). Как JavaScript разработчик могу сказать, что более глубокое понимание того, как работает движок JavaScript поможет разобраться в том, как писать эффективный код.

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

Information

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