Посты | OTUS
Асинхронный CompletableFuture. Часть 2

Java_Deep_22.06_3_Site.png

У CompletableFuture есть ещё интересные функции. Например, надо построить цепочку из асинхронных вызовов. Т.е. после завершения первой асинхронной функции запустить вторую, после второй третью и т.д. В JavaScript для этого применяются promise. В Java можно использовать CompletableFuture.

Асинхронный CompletableFuture. Часть 1

Java_Deep_22.06_2_Site.png

Время от времени появляется необходимость выполнить асинхронно (т.е. одновременно с основным действием программы выполняется другая задача) какой-нибудь код. Например, отправить письмо по e-mail или что-нибудь из базы данных прочитать. В Java для подобных операций можно создать поток и выполнить в нём нужное действие.

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

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

Популярное
Сегодня тут пусто