Рубрика «Блог компании OTUS. Онлайн-образование»

Перевод статьи подготовлен в преддверии старта курса «Backend-разработчик на PHP»

(Читать первую часть)

Эволюция PHP — от 5.6 до 8.0 (Часть 2) - 1

PHP 7.2

Расширение типа параметра

Читать полностью »

Перевод статьи подготовлен специально для студентов курса «Python Web-Developer».


Вы запускаете тесты командой manage.py test, но знаете ли вы, что происходит под капотом при этом? Как работает исполнитель тестов (test runner) и как он расставляет точки, E и F на экране?

Читать полностью »

Всем привет. Сегодня продолжаем серию статей, которые я написал специально к запуску курса «Алгоритмы и структуры данных» от OTUS. По ссылке вы сможете подробно узнать о курсе, а также бесплатно посмотреть запись Demo-урока по теме: «Три алгоритма поиска шаблона в тексте».


Введение

Сортировка массива является одной из первых серьезных задач, изучаемых в классическом курсе «Алгоритмы и структуры данных» дисциплины computer science. В связи с этим задачи на написание сортировок и соответствующие вопросы часто встречаются на собеседованиях на позиции стажера или junior разработчика.
Читать полностью »

Привет! Приглашаем Data Engineer'ов и специалистов по Machine Learning на бесплатный Demo-урок «Вывод ML моделей в промышленную среду на примере онлайн-рекомендаций». А также мы публикуем статью Luca Monno — Head of Financial Analytics at CDP SpA.


Одним из наиболее полезных и простых методов машинного обучения является Ensemble Learning. Ensemble Learning – это метод, лежащий в основе XGBoost, Бэггинга, Случайного Леса и многих других алгоритмов.

На Towards Data Science есть много классных статей, но я выбрал две истории (первая и Читать полностью »

Всем отличных выходных! Приглашаем на бесплатный Demo-урок «Конфигурирование web-сервера (Apache, Nginx, балансировка Nginx)», который проведёт Андрей Буранов — специалист по UNIX-системам в компании Mail.Ru Group. А также публикуем статью Jonathan Corbet — Executive Editor в LWN.net.


Читать полностью »

Привет! Приглашаем на бесплатный Demo-урок «Параллельный кластер CockroachDB», который пройдёт в рамках курса «PostgreSQL». Также публикуем перевод статьи Тома Брауна — Principal Systems Engineer at EnterpriseDB.


В этой статье рассмотрим несколько полезных советов по работе с PostgreSQL:

  • Ссылка на всю строку целиком

  • Сравнение нескольких столбцов

  • Общие табличные выражения

  • Пользовательские параметры конфигурации

  • Сравнение логических значений без "равно"

  • Изменение типа столбца без лишних затрат

  • Читать полностью »

И снова здравствуйте. В преддверии старта курса «JavaScript Developer. Professional» перевели

11 советов для тех, кто использует Chrome в качестве среды разработки.

Используем Chrome DevTools профессионально - 1

Итак, по тем или иным причинам вы решили при разработке ориентироваться на Chrome. Вы открываете инструменты разработчика и приступаете к отладке кода.

Используем Chrome DevTools профессионально - 2

Иногда вы открываете консоль, чтобы посмотреть вывод своей программы, или вкладку Elements, чтобы проверить CSS-стили элементов DOM.

Используем Chrome DevTools профессионально - 3

А действительно ли вы разбираетесь в Chrome DevTools? На самом деле у инструментов разработчика множество мощных функций, которые облегчают жизнь, но о них мало кто знает.
Я расскажу о самых полезных из них.Читать полностью »

Перевод статьи подготовлен в преддверии старта курса «Нереляционные базы данных».


Основные моменты:

  • Крайне важно разработать схему несмотря на то, что в MongoDB она необязательна.
  • Аналогично, индексы должны соответствовать вашей схеме и шаблонами доступа.
  • Избегайте использования больших объектов и больших массивов.
  • Будьте осторожны с настройками MongoDB, особенно если речь идет о безопасности и надежности.
  • В MongoDB нет оптимизатора запросов, поэтому вы должны быть осторожны при выполнении операций запроса.

Я очень давно работаю с базами данных, но только недавно открыл для себя MongoDB. Есть несколько вещей, которые я хотел бы знать перед началом работы с ней. Когда у человека уже есть опыт в определенной сфере, у него существуют предвзятые представления о том, что такое базы данных и что они делают. В надежде облегчить задачу понимания другим людям, представляю список распространенных ошибок.
Читать полностью »

Перевод статьи подготовлен в преддверии старта курса «C++ Developer. Professional».


Хочу обратить ваше внимание на антипаттерн, который я часто встречаю в коде студентов на Code Review StackExchange и даже в довольно большом количестве учебных материалов (!) других людей. У них имеется массив, скажем, из 5 элементов; а затем, поскольку магические числа — это плохо, они вводят именованную константу для обозначения количества элементов «5».

void example()
{
    constexpr int myArraySize = 5;
    int myArray[myArraySize] = {2, 7, 1, 8, 2};
    ...

Но решение это так себе! В приведенном выше коде число пять повторяется: сначала в значении myArraySize = 5, а затем еще раз, когда вы фактически присваиваете элементы myArray. Приведенный выше код столь же ужасен с точки зрения обслуживания, как:

constexpr int messageLength = 45;
const char message[messageLength] =
    "Invalid input. Please enter a valid number.n";

— который, конечно, никто из нас никогда не напишет.Читать полностью »

Привет, Хабровчане!
В конце августа в OTUS запускается 2 мощных курса по обратной разработке кода (реверс-инжиниринг). В связи с этим приглашаем вас на День Открытых дверей, где Артур Пакулов (Ex-вирусный аналитик в Kaspersky Lab.) расскажет подробнее о программах, особенностях онлайн-формата, навыках, компетенциях и перспективах, которые ждут выпускников после обучения. А также приглашаем вас принять участие в бесплатных открытых уроках: «Анализ буткита» и «Анализ банковского трояна».


Предпосылки

Все описанное здесь основано на проекте, который я завершил в начале 2011 года, спустя аж несколько лет после его начала. Принимая участие в CanSecWest в 2009 году, Анибал Сакко и Альфредо Ортега из Core Security провели презентацию «Persistent BIOS Infection», где продемонстрировали, как можно пропатчить BIOS, чтобы совершить некоторые неприятные/удивительные вещи. Можете ознакомится с их докладом здесь. На то время это действительно впечатляло, но мне так и не выпал шанс попробовать это на практике. Год спустя мне нужно было подготовить групповой проект для учебы, поэтому я решил вернуться к взлому BIOS и самостоятельно реализовать что-нибудь из этого. Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js