Посты | OTUS
Chain Of Responsibility

Java_Deep_22.06_Site.png

Приходилось ли вам реализовывать поиск объекта в БД по условиям в виде: ищем объект по Условию А; если Объект не найден по Условию А, то ищем его по Условию Б; если и теперь не найден, то ищем по Условию В?

Подводные камни внедрения глобальной HRMS-системы

С++Deep20.04_SITE_4.png

Несколько лет назад в одном крупном российском банке, в котором на тот момент было больше 50 офисов по всей стране, возникла задача внедрения глобальной HRMS-системы на базе Oracle e-Business Suite (далее OeBS).

Примечание: в OeBS входит больше 200 модулей. Кроме HRMS есть ешё финансы, логистика и др. Но в данном случае OeBS мы использовали только как HRMS.

В качестве пилота была внедрена OeBS-система в штаб-квартире московского офиса. Затем нужно было подключить 50+ филиалов в данную HMRS-систему, т.е. загрузить кадровые данные из всех филиалов в OeBS.

Модификаторы virtual

VKС++Deep4_21.06_SITE_3.png

Делюсь с вами рассказом своего коллеги - разработчика С++. Уверен, информация пригодится вам в проектах!

Наконец-то пришёл долгожданный SDK от компании-партнёра. Проблем с интеграцией в наш проект не возникло. Началась работа над имплементацией на нашей стороне.

Собственно говоря, всё представлялось исключительно чётким и ясным: мы наследуем базовый класс из SDK нашего партнёра, имплементируем необходимые интерфейсные методы, добавляем свои... Работа заняла пару-тройку дней. Настало время тестирования.

С++17: новые возможности

VKС++Deep5_21.06_SITE_2.png

Стандарт языка С++17 был принят относительно недавно – в декабре 2017 года. Тем не менее, уже как минимум два компилятора под Linux его поддерживают:

g++, начиная с версии 7.1; – clang, начиная с версии 5.

Список нововведений со времени предыдущего стандарта C++14 довольно велик. Посмотреть можно, например, Bartek's C++17 features list. В этой заметке остановимся всего на двух чертах, которые оказались полезными и удобными в практическом плане на конкретных примерах.

Виды памяти

VKС++Deep_21.06_Site.png

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

Введение в Boost.Asio

VKС++Deep2.png

Asio означает asynchronous input/output – асинхронный ввод-вывод. Данная библиотека позволяет обрабатывать данные асинхронно, т.е. операция может быть запущена, и, не дожидаясь конца выполнения этой операции, мы можем запустить другую операцию.

Asio оповещает об окончании выполнения операции. Преимущество – операции могут быть запущены параллельно, т.е. мы выигрываем в производительности.

Решение о смене работы

IT_HR_Deep_20.06_SITE.png

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

Adversarial Autoencoders: порождение дискретных объектов

ML_Deep_20.06_3_SIte.png

У базовой архитектуры GANs есть одно существенное фундаментальное ограничение – подход не работает, если данные дискретные. 3.pngЧтобы эффективно обновлять «веса», мы должны уметь пропускать градиент от Дискриминатора через примеры, порождённые Генератором. Понятно, что если данные представляют из себя бинарные вектора (например, bag of words или целые предложения), то ни о каком градиенте не может идти речи.

Расстояние Вассерштейна: WGAN и 2 кучи земли

ML_Deep_20.06_2_Site.png

В январе 2017 года команда из Курантовского института математических наук и Facebook AI Research выложила в открытый доступ препринт статьи под названием «Wasserstein GAN».

Основное отличие этой статьи от большинства публикаций предлагающих очередное улучшение для Генеративных Состязательных Сетей заключается в фундаментальной теоретической базе. Авторы не просто демонстрируют очередной набор удачных изображений, порождённых GAN’ами, но и объясняют эффективность данного подхода с точки зрения теории. И в центре этой теории как раз и лежит расстояние Вассерштейна.