Как стать автором
Обновить
827.93
OTUS
Цифровые навыки от ведущих экспертов
Сначала показывать

Три столпа функционального программирования в Rust: map, filter и fold

Время на прочтение8 мин
Количество просмотров341

Представьте себе вот такую картину: вы сидите дома, и вокруг вас мирно мурлыкают котики. Но вдруг, что-то пошло не по плану: один начал ловить лазерный указатель, другой карабкается на шторы, третий — нагло укладывается на вашу клавиатуру. Ну, вы поняли, полный хаос. И тут возникает вопрос: как навести порядок в этом котячьем хаосе? Как упорядочить этот бесконечный поток пушистых данных?

Вот тут-то и приходит на помощь наш добрый друг — Rust, а точнее его функции map, filter и fold. Они помогают не только приручить самых неугомонных data-котиков, но и сделать это без компромиссов по производительности.

Читать далее
Всего голосов 3: ↑0 и ↓3-3
Комментарии1

Архитектура на основе событий в Rust

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров963

Сегодня мы рассмотрим, как реализовать так называемую event-driven архитектуру с использованием Rust.

Архитектура на основе событий (event-driven architecture, EDA) — это подход к созданию систем, где взаимодействие между компонентами системы происходит с помощью событий. Все это позволяет развязывать компоненты друг от друга и повышать их независимость, что, в свою очередь, увеличивает масштабируемость и гибкость системы.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии0

Управление киберграмотностью сотрудников

Время на прочтение6 мин
Количество просмотров861

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

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

Читать далее
Всего голосов 2: ↑1 и ↓1+1
Комментарии0

Распределенные вычисления на Elixir: основные варианты реализации

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров627

Сегодня поговорим с вами о теме распределённых вычислений на Elixir. Мы больше не можем позволить себе писать приложения, которые работают только на одной машине. Пришло время создавать системы, которые могут выдержать любую нагрузку и работать бесперебойно даже в случае выхода из строя отдельных компонентов.

Elixir — это язык программирования, который вырос на основе мощной виртуальной машины BEAM, используемой в Erlang. Это сразу даёт нам ряд фич: хорошую масштабируемость, встроенную поддержку конкурентности и возможность строить распределённые системы.

В этой статье мы рассмотри основные инструменты для реализации распределённых вычислений Elxir.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Основы фреймворка Combine для ML в Swift

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров257

Combine — это фреймворк, представленный Apple в 2019 году, предназначенный для работы с асинхронными потоками данных на платформе Swift. Основная задача Combine заключается в том, чтобы упростить и унифицировать обработку асинхронных событий, таких как сетевые запросы, таймеры, уведомления и пользовательские действия.

Фреймворк является частью экосистемы Swift и доступен начиная с iOS 13, macOS 10.15, watchOS 6.0 и tvOS 13. Если вы работаете с более ранними версиями, обновление Xcode до версии 11 или выше автоматом предоставит вам доступ к Combine.

В этой статье мы рассмотрим основы этого замечательного фреймворка.

Читать далее
Рейтинг0
Комментарии0

Чистая архитектура для начинающих

Время на прочтение7 мин
Количество просмотров2.5K

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

Читать далее
Всего голосов 12: ↑4 и ↓8-3
Комментарии15

Нейросети для генерации визуального контента

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.2K

Визуальный контент оказывает огромное влияние на восприятие продукта. Яркие изображения, стильные иллюстрации и привлекающие внимание видео могут значительно повысить привлекательность вашего продукта на рынке. И пока одни бренды тратят кучу денег и времени на съемку, моделей, редактуру и монтажеров — другие зарабатывают состояния, являясь первопроходцами в ИИ. Параллельно экономя бюджет, нервы и время. 

В этой статье рассмотрим, как современные нейросети, включая русские разработки, такие как Kandinsky, «Шедеврум», международные нейронки: Leonardo AI, могут помочь в создании высококачественного визуального контента.

Читать далее
Всего голосов 6: ↑2 и ↓4-1
Комментарии2

Синхронизация параллельной работы

Время на прочтение5 мин
Количество просмотров565

На мой взгляд, лучший способ координации независимых команд — это не координировать их вовсе. Более того, я считаю координационные встречи между командами признаком проблемы в архитектуре. То, что возникает необходимость обсуждать вопросы с другими командами, свидетельствует о слишком тесной взаимосвязанности команд. В статье попробуем поразмышлять на эту тему.

Читать далее
Всего голосов 5: ↑5 и ↓0+7
Комментарии1

Библиотека RustCrypto: симметричное и асимметричное шифрование

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров715

Сегодня рассмотрим такую библиотеку в Rust, как RustCrypto. RustCrypto — это набор библиотек, реализующих различные криптографические алгоритмы, такие как AES, RSA, SHA, и многие другие.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии2

Демистифицируем парсинг PDF: конвейерная обработка

Время на прочтение22 мин
Количество просмотров2.2K

Преобразование неструктурированных документов, таких как PDF-файлы и отсканированные изображения, в структурированные или полуструктурированные форматы является важной составляющей искусственного интеллекта. Однако из-за замысловатой природы PDF-файлов и сложности задач, связанных с парсингом PDF, этот процесс не кажется на первый взгляд таким уж очевидным.

Этот цикл статей посвящен демистификации парсинга PDF. В предыдущей статье мы описали основную задачу парсинга PDF, классифицировали существующие методы и дали краткое описание каждого из них.

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

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии2

Три фичи PostgreSQL, которые будут полезны каждому новичку

Время на прочтение5 мин
Количество просмотров12K

Думаю, вы знаете, что поиск эффективных решений – это половина успеха. Я сам прошел через все эти тернии, когда работа с данными казалась слишком сложной и запутанной. И именно тогда я открыл для себя потрясающие возможности PostgreSQL, которые значительно упростили мою жизнь.

Сегодня я хочу поговорить о трех фичах PostgreSQL, которые помогут сделать работу более продуктивной и вдохновить на создание более сложных и интересных проектов.

Эти фичи уже не раз выручали меня в сложных проектах, и я уверен, что они станут надежными помощниками и в вашей разработке.

Читать далее
Всего голосов 15: ↑11 и ↓4+8
Комментарии12

Практическая работа с BPMN

Время на прочтение5 мин
Количество просмотров1.6K

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

Нотация BPMN (Business Process Model and Notation) это система условных обозначений и их описания средствами языка разметки XML для моделирования бизнес-процессов. Разработана Business Process Management Initiative (BPMN.org) и поддерживается Object Management Group, после слияния обеих организаций в 2005 году. Последней версией BPMN на текущий момент является 2.0 (2.0.2).

Читать далее
Всего голосов 6: ↑3 и ↓3+1
Комментарии5

Индексы NoSQL: как не заблудиться в многообразии решений

Время на прочтение5 мин
Количество просмотров1.2K

Правильно настроенные индексы могут значительно ускорить доступ к данным и улучшить производительность запросов. В NoSQL разнообразие решений настолько велико, что порой можно заблудиться.

В статье разберемся, какие виды индексов существуют, какие задачи они помогают решать и как выбирать подходящий индекс.

Читать далее
Всего голосов 3: ↑2 и ↓1+3
Комментарии1

На пути к первой работе в ML: 3 вопроса для подготовки к собеседованию

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.5K

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

Читать далее
Всего голосов 9: ↑6 и ↓3+4
Комментарии0

Как защитить свое Go-приложение

Время на прочтение4 мин
Количество просмотров1.9K

Очень важно думать о том, чтобы приложения были надежными и защищёнными. Go — язык, который известен своей простотой и производительностью. Но ни один язык не безопасен сам по себе и об этом нужно заботится самостоятельно.

В этой статье мы поделимся с вами методами, которые помогут сделать ваши Go-приложения неприступными крепостями.

Читать далее
Всего голосов 8: ↑5 и ↓3+2
Комментарии1

Тест-дизайн в автоматизации тестирования

Время на прочтение4 мин
Количество просмотров749

В данной статье хочу затронуть важную тему — тест-дизайн в автоматизации тестирования. Почему эта тема важна? Потому что качество автотестов и инструментов автоматизации тестирования напрямую зависит от того тест-дизайна, который будет заложен в ваш инструмент автоматизации тестирования.

Читать далее
Всего голосов 3: ↑2 и ↓1+1
Комментарии0

Полезные фичи в Rust

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров4.4K

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

Читать далее
Всего голосов 16: ↑13 и ↓3+12
Комментарии6

Сказ о слонах: Как я развивал инструмент, повлиявший на работу тысяч инженеров в Amazon

Время на прочтение12 мин
Количество просмотров3.3K


Сейчас я являюсь старшим инженером в Google, а до этого работал в качестве ведущего инженера в Amazon. Многие задачи, которыми я занимаюсь последние несколько лет, касаются того, как замотивировать людей что-то сделать. Больше всего мне приходится работать именно над человеческими (а не техническими) проблемами, и именно они имеют наибольшое значение. Я выбрал неруководящий путь лидерства, который подразумевает, что я веду команду за собой без формальных полномочий — поэтому для меня было очень важно разработать инструменты эффективного влияния.

Я создал и развил внутреннюю платформу для тестирования нагрузки и производительности в Amazon (TPSGenerator). Я начал работать над ней в 2013 году, а к моменту моего ухода в 2020 году её использовали десятки тысяч человек в критически важных для бизнеса приложениях; она выполняла сотни миллионов транзакций в секунду и поддерживалась командой отличных инженеров. Эта платформа помогла предотвратить сотни проблем в работе и сэкономить миллионы долларов.
Читать дальше →
Всего голосов 15: ↑13 и ↓2+14
Комментарии0

Режимы наложения/смешивания в SwiftUI

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров519

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

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

Читать далее
Всего голосов 4: ↑4 и ↓0+6
Комментарии0

Как использовать defer в Go

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2.5K

Привет, Хабр!

Defer — это ключевое слово в Go, которое позволяет отложить выполнение функции до момента завершения выполнения текущей функции. Это относительно простой способ управлять ресурсами.

В этой статье мы и рассмотрим как использовать defer в Golang.

Читать далее
Всего голосов 11: ↑10 и ↓1+11
Комментарии0
1
23 ...

Информация

Сайт
otus.ru
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия
Представитель
OTUS