Инженегр АСУТП
Топ-10 причин для перехода в Oracle Cloud. Как бизнесу ускорить инновации?
Сегодня хотим поделиться со всеми, кому интересна облачная тема, переводом whitepaper от Oracle на тему перехода на облачную инфраструктуру. За перевод благодарим нашего коллегу и постоянного хаброавтора obieesupport.
РДТЕХ — один из старейших партнеров Oracle в России (первое партнерское соглашение между компаниями было подписано в 1993 году). Сегодня наша компания имеет высший партнерский статус Oracle Platinum Partner, а Учебный центр РДТЕХ — один из главных центров авторизованного обучения Oracle в России (думаем, кто-то из числа наших читателей посещал курсы в нашем Учебном центре или даже учится в нем сейчас дистанционно).
Еще наши коллеги создали легендарный глоссарий терминов Oracle, которым пользуются многие представители «базоданческого сообщества» (спойлер: в одном из последующих постов мы расскажем подробнее о глоссарии).
А сейчас предлагаем углубиться в лонгрид по облачной инфраструктуре Oracle и узнать, как облака и автономная база данных Oracle ускоряют внедрение инноваций в бизнесе. Оригинал «белой книги» можно также скачать на нашем сайте.

Что делает Rust универсальным языком программирования
Долгое время Rust позиционировался исключительно как язык для системного программирования. Попытки использовать Rust для высокоуровневых прикладных задач зачастую вызывали усмешку у значительной части сообщества: зачем использовать инструмент в том качестве, на которое он не рассчитан? Какая польза от возни с типами и анализатором заимствований (borrow checker), если есть Python и Java со сборкой мусора? Но другая часть сообщества всегда видела потенциал Rust именно как языка прикладного, и даже находила его удобным в использовании для быстрого прототипирования — во многом благодаря его особенностям, а не вопреки им.
Текстовая игра на Blazor с нуля (+сорсы +демо)
Эту технологию хотелось бы увидеть в не типичных веб-приложениях. Например, как это — писать что-то более интерактивное на Web Assembly (Blazor). Предлагаю попробовать создать простую текстовую интерактивную игру. В игре есть возможность создать свой вопрос и отвечать на вопросы других игроков, набирая очки за правильные ответы. Всё на одной странице и с помощью Blazor.

Результат:
Github
Demo
Веб-разработка с .NET: Представляем Blazor WebAssembly 3.2.0

Разработка встроенного ПО: введение
Embedded software engineering 101: введение
Я запускаю цикл статей по обучению разработке встроенного программного обеспечения. Мы начнем с описания простого микроконтроллера, и после того, как Вы поймете, как он работает, разовьем это до понимания работы относительно сложных систем, таких как Fitbit или Nest.
Я назвал эту серию Embedded Software Engineering 101, и она начинается с этой недели прямо здесь в этом блоге.
Продолжайте читать для дальнейших объяснений и подробностей.

Одни строительные блоки на других строительных блоках.
Веб-сервисы в Oracle

Веб-сервисы широко применяются для интеграции между компонентами одной системы или между различными системами. Популярность веб-сервисов как способа интеграции обусловлена их универсальностью, а также простотой реализации и отладки. Универсальность связана с передачей данных с помощью интернета и протокола HTTP. Веб-сервисы дают возможность относительно легко построить интеграции между компонентами, написанными на разных языках, запускаемыми на разных операционных системах и платформах. Простота реализации веб-сервисов достигается за счет встроенных во многие IDE средств и компонентов, позволяющих быстро разработать как сам веб-сервис (provider side), так и необходимый код для вызова сервиса на стороне клиента (client side). Отладку сервисов упрощает использование понятных человеку форматов обмена данными — XML и JSON. Кроме того, существует множество утилит для отладки и тестирования сервисов, в том числе нагрузочного.
В этой статье рассмотрим несколько способов создания веб-сервисов непосредственно из СУБД Oracle, то есть без использования сторонних средств.
Документооборот в Google Drive?

Лучшие практики повышения производительности в C#

Поскольку недавно мне довелось составлять список лучших практик в C# для Criteo, я подумал, что было бы неплохо поделиться им публично. Цель этой статьи — предоставить неполный список шаблонов кода, которых следует избегать, либо потому что они сомнительны, либо потому что просто плохо работают. Список может показаться немного рандомным, потому что он слегка выдернут из контекста, но все его элементы в какой-то момент были обнаружены в нашем коде и вызывали проблемы в продакшене. Надеюсь, это послужит хорошей профилактикой и предотвратит ваши ошибки в будущем.
Также обратите внимание, что веб-сервисы Criteo полагаются на высокопроизводительный код, отсюда и необходимость избегать неэффективный код. В большинстве приложений не будет заметно ощутимой разницы от замены некоторых из этих шаблонов.
И последнее, но не менее важное: некоторые пункты (например,
ConfigureAwait
) уже обсуждались во многих статьях, поэтому я не буду подробно останавливаться на них. Цель заключается в том, чтобы сформировать компактный список моментов, на которые нужно обращать внимание, а не давать подробную техническую выкладку по каждому из них.C++/Qt: пора валить?.
Если бы раньше я запускал новый долгоживущий проект, в котором основные функции связаны с большим объёмом вычислений при каком-то взаимодействии с пользователем через графический интерфейс, я бы не задумываясь использовал С++/Qt. Это позволяло использовать один фреймворк/язык везде, независимо от структуры проекта и его компонентов, без дополнительных сложностей с зоопарком технологий и зависимостей.
Сейчас, в свете присходящего с Qt, придётся менять подход...
Большое тестирование процессоров различных архитектур
Предисловие
Попытка сравнить производительность процессоров на разнородных архитектурах x86-64, e2k (Эльбрус), mips и arm.
Все тесты написаны на языке C (взяты из исходных кодов, которые я не модифицировал и не оптимизировал) и компилируются под конкретную архитектуру с использованием конкретного компилятора для данной архитектуры и тесты производятся на различных дистрибутивах операционных систем на ядре Linux. На результаты может влиять как тип так и версия компилятора, а также режим оптимизаций. Хотя даже таким способом можно примерно сравнить производительность процессоров на разных архитектурах.
P.S.: Знаю, что большинство тестов для очень старых компьютеров, но они работают везде. Что даже очень неплохо.
C# 8 и null-допустимость. Как нам с этим жить

Тем временем, в своем блоге автор опубликовал две взаимосвязанные статьи, в которых рассматривает тонкости таких новых явлений, как «nullability», «null-obliviousness» и «null-awareness». Мы перевели обе статьи под одним заголовком и предлагаем их обсудить.
Rust для Java разработчиков
Представляю перевод статьи автора Evan Cameron, которая может помочь Java разработчикам лучше понять отличия и схожесть этих двух языков — оригинал на сайте автора. Не считая себя достаточно опытным Rust разработчиком, я вряд ли смогу аргументированно участвовать в возможных дискуссиях.
Кругом сплошные плюсы: топ-10 докладов конференции C++ Russia 2019 Piter

Список известных SMR дисков
Жесткие диски, которые записывают данные в перекрывающихся,
Опять про BLE, температуру и датчики Xiaomi
Не так давно, удалось мне обзавестись известными датчиками температуры и влажности от Xiaomi. Эти датчики заслуженно приобрели широкую известность, так как при своей достаточно низкой цене, достаточно удобны в использовании, а также умеют передавать свои показания по протоколу BLE в тот же Mi Home. К тому же весь Интернет завален вариантами подключения этих сенсоров к Home Assistant, MajorDoMo и другим системам.
Но мне этого показалось мало и захотелось все сделать по-своему (не спрашивайте меня зачем и почему, просто захотелось). А именно, захотелось прочитать данные с датчиков, которые развешены по всему дому и как-нибудь интересно с ними поработать. Потому я покопался в своих электронных закромах и нашел там модуль ESP32.
Быстрое гугление показало: ESP32 — это то, что мне нужно. Он умеет Bluetooth и WiFi, программируется из Arduino IDE и позволит мне получить показания с датчика и отправить их по WiFi куда нужно (хоть на домашний сервер, хоть в облако). К тому же, очень быстро нашелся простой и понятный туториал, который как раз решал мою задачу. Но как выяснилось, не все так просто...
Qbs: Шаблон настольного приложения
Введение
Давным давно, когда Qbs только вышла, я начинал писать эту статью, но так её и не закончил… Кажется, пришло время ее дописать. С тех пор многое изменилось, у Qbs наконец-то появилась документация, но примеров (к сожалению) в ней по-прежнему не так много. В этой статье я расскажу как написать шаблон (почти) полноценного десктопного приложения с использованием Qt.Widgets. По-хорошему, было бы неплохо сделать это на чистом C++, но я слишком ленив, чтобы сделать тестовый UI с помощью нативного АПИ под 3 платформы. Для примера я написал простое приложение ("рыбу"), состоящее из основного приложения, библиотеки и плагина, которое мы и будем разбирать
Кого заинтересовало, добро пожаловать под кат.
Руководство Google по стилю в C++. Часть 10
…
Часть 9. Комментарии
Часть 10. Форматирование
Часть 11. Исключения из правил

Эта статья является переводом части руководства Google по стилю в C++ на русский язык.
Исходная статья (fork на github), обновляемый перевод.
Двигатель вашего инди проекта. Краткий обзор доступных игровых движков

«Самый полезный найденный мною способ — подумать об игре как о психически больном пациенте. Она полностью потеряла разум, поэтому каждая написанная вами инструкция будет исполнена, как какая-то нелепая чушь.» Том Фрэнсис, создатель Gunpoint.
Размышления о том, как спроектировать и написать свою игру, парализуют разум. Единственный выход, просто сделать это. Нужно начать, прыгнуть в процесс разработки, даже если это очень страшно. Надеюсь приведенная под катом информация поможет сделать ваш первый прыжок удачным.
Rust. Borrow checker через итераторы
Я уже около года изучаю и, в свободное время, пишу на расте. Мне нравится как его авторы решили проблему управления памятью и обошлись без сборщика мусора — через концепцию заимствования. В этой статье подойду к этой идее через итераторы.
Последнее время scala является моим основным языком, так что сравнения будут с ней, но их не много и все интуитивно понятные, без магии :)
Статья рассчитана на тех кто что-то слышал о rust'e, но в детали не вдавался.

фотографии взяты отсюда и отсюда
Information
- Rating
- Does not participate
- Location
- Россия
- Registered
- Activity