Знакомство с преподавателем: Дмитрий Шебордаев

Cplus_Deep_23.11_site-5020-596359.png

За плечами Дмитрия Шебордаева более чем 20-летний опыт работы сначала разработчиком, а потом и руководителем. Он закончил «Московский государственный университет экономики, статистики и информатики» (МЭСИ) по специальности «Прикладная математика» в 1997 году. Будучи студентом последних курсов, работал в ЦГЭ программистом С++, где занимался созданием внутреннего языка, обработкой каротажных данных и анализом массивных объемов информации.

Расширения и настройки VS Code для DevOps-специалистов

DevOps_Deep_11.3_site-5020-223cd0.png

Если рассмотреть историю текстовых редакторов, то можно проследить тенденцию развития от уж очень примитивных (например, ed) до более продвинутых. И сейчас они вплотную подошли к тому, что их можно использовать как легковесную IDE.

О новом подходе к интеграции TravisCI с GitHub

DevOps_Deep_6.11_site-5020-4ad3ad.png

В мае 2018 года разработчики TravisCI анонсировали объединение коммерческой и Open Source версий. Теперь, чтобы добавить TravisCI в свой проект на гитхабе, нужно использовать не Services, как раньше, а GitHub Marketplace.

Trunk-based Development

DevOps_Deep_11-5020-1f219d.09_site.png

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

Синхронная асинхронность в C++

С___Deep_10-5020-8d2073.09_site.png

Наверняка все, кто изучал старый добрый стандарт C++11, знают о существовании в стандартной библиотеке вызова std::async, который позволяет выполнить некий код асинхронно (более точно – поведение указывается первым параметром вызова).

Согласно документации, вызов с параметром std::launch::async обещает выполнить пользовательский код в отдельном потоке. Посмотрим на приведённый ниже код.

Bean Validation в Java Enterprise

JavaEE_Deep_29-5020-f54de6.08_site.png

Ни для кого не секрет, что ни одна повседневная задача разработчика не обходится без потребности валидировать поступающие «извне» потоки данных: с пользовательских HTML-форм, внешних систем и т.д. На первый взгляд, ничего нет плохого в том, что каждый программист пытается по-своему решить эту задачу (фактически написав «очередной велосипед», используя множество проверок, состоящих из if-else блоков).

Но при таком подходе высока вероятность, что в будущем поддержка такого «спагетти»-кода станет крайне затруднительной из-за постоянной потребности в модификации атрибутов класса или в случае переиспользования проверок в различных участках системы, например, на клиенте и на сервере. Чтобы избежать подобных проблем, в стеке JavaEE предусмотрели спецификацию Bean Validation 2.0 (JSR 380).

Миграция из 11G в контейнер 12С

SUBD_Deep_24-5020-f85d45.08_site.png

Задача: перенести базу 11G в контейнер 12C

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