Как стать автором
Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Надежность в процессах. Часть 1

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров166

Прежде, чем объединяться, нам надо решительно размежеваться (Business continuity management  vs Business Process Continuity vs Dependability in technics)

Синонимы: Надежность в процессах = надежность процессов = надежность операций = операционная надежность (с учетом синонимии словосочетаниями «сущ. + сущ.» [Морф23]).

En: dependability, reliability, resilience (availability, stability) Business Process. Непрерывность процессов – в контексте «business continuity» (Business Process Continuity, BPC) и т.п. 

Методологические вводные: текст будет обнадежен от типовых угроз (распространенных рисков):

а) простые вещи делаем сложными, т.е. простое формализуем через сложные конструкции (излишнее нагромождение), что часто или необоснованно («овчинка выделки не стоит») или является диверсией, как видимо, определение операционной надежности (operational resilience») в п. 1.4 716П

б) сложные вещи плохо декомпозируем: не верно разбиваем на простые составляющие;

в) одно и тоже называем разными словами, а разные вещи – одним термином.

1 Процесс и надёжность

Процесс и надёжность – два очень простых термина. Далее под процессом будем понимать «бизнес-процесс», который в отличие от природного процесса (химические, физические процессы) реализуется не природой, а «человеко-машиной», т.е. в общем случае – «рукотворные» (искусственный, артефакт).

Процесс

В общем случае, синонимы: делание, процесс, операция, функция, действие, активность (activity), см. правильный «Business Process Management», например, книжки ARIS или [BPM23] – там все подробно показано.

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

Новости

Типы или интерфейсы в TypeScript: что и когда использовать?

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

Работая с TypeScript, рано или поздно сталкиваешься с вопросом: что выбрать — типы или интерфейсы? В статье я хотел бы поделиться особенностями работы с типами и интерфейсами, которые могут быть полезны в вашей практике.

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

C++ с точки зрения Rust-разработчика: достоинства и недостатки

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

Я профессионально программирую на Rust и, признаться, немного этот язык продвигаю. Поэтому можете себе представить глубину моего расстройства, когда моя младшая сестрёнка, почти не умеющая программировать, обратилась ко мне и попросила научить её C++. Я попытался её отговорить, сказав, что однажды она будет сидеть за отладкой ошибок сегментирования, вооружившись Valgrind и вспоминать этот наш разговор, размышляя, а где же она свернула не туда. Но она оказалась ещё упрямее меня и настаивала: хочу выучить язык программирования, которым действительно пользуются люди.

Я не притрагивался к C++ с тех пор, как ещё в старших классах разрабатывал игры на Cocos2D-X, но решил, что сохранившихся у меня туманных воспоминаний о «правиле трёх» (или сколько там было? Пять? Ноль?) и прочих подобных материях будет более чем достаточно, чтобы решить такую задачу. Оказалось, что и мне требуется кое-что подучить, но я с удовольствием узнал, что существует большая аудитория, с которой можно поделиться этими знаниями. Почти любую концепцию из C++ легко понять, если объяснить её в ключе «о, эта как та штука из Rust».

Притом, что C++ местами несимпатичен, этот язык по-своему красив. Я и так это знал, но, когда взялся заново учиться C++, мне стало только яснее: если Rust в какой-то степени и превосходит C++ (допустим, вы верите, что это так), то лишь потому, что сам Rust стоял на плечах такого гиганта как C++.

Так что мы потратили пару недель, проштудировав серию руководств по OpenGL от ютубера под ником TheCherno (кстати, сама серия отличная). Две недели спустя нам удалось на экране единственный статичный голубой квадратик. Я уже стал опасаться, а не начнёт ли моя сестра сомневаться, стоило ли таким образом изучать разработку игр и пытаться изобразить что-нибудь на C++. Так что тогда я решил, что следует отбросить руководства господина Черно и взяться за разработку игры всерьёз.

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

Гипермедийные системы на ASP.NET MVC 5. Часть третья

Уровень сложностиСредний
Время на прочтение24 мин
Количество просмотров236

Быстрая разработка гипермедиа-ориентированного веб-приложения с HTMX 2.0.

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

В статье будет использоваться библиотека Htmx.js вместе с устаревшей серверной платформой ASP.NET MVC 5.

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

Истории

Присоединяйтесь к проекту Rustsn: призыв к разработчикам Rust, интересующимся областью ИИ (LLM)

Уровень сложностиСложный
Время на прочтение2 мин
Количество просмотров653

Несколько дней назад я опубликовал статью Создание инструмента генерации кода с помощью Rust и локальных LLM от Ollama.

Проект Rustns призван упростить жизнь разработчикам Rust за счет автоматизации утомительных задач. Мой инструмент генерирует фрагменты кода Rust из объяснений пользователя, компилирует их, разрешает зависимости, генерирует тесты.
Изначально проект задумывался как универсальное решение для генерации кода для самых популярных языков программирования, включая Java, Python и TypeScript. Я стремился создать инструмент, который бы облегчил работу разработчиков, предоставляя возможность генерировать код сразу на нескольких языках. Однако, приступив к реализации мультиязычности, я столкнулся с серьёзными трудностями.

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

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

Вот упрощенная диаграмм работы проекта:

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

Генерация AST на Rust

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

Сегодня мы рассмотрим одну из тем систем компиляции — генерацию абстрактного синтаксического дерева или просто AST на Rust. Создадим свое собственное AST, разберем, как структурировать синтаксическое дерево, и рассмотрим, как использовать возможности Rust для создания парсеров и обработки узлов дерева.

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

Как управлять тысячами строк правил Firewall, на примере Juniper SRX

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

Есть специальная программное обеспечение, например Algosec или Tufin, но простая Python программа может сделать Почти то же самое.

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

Я подготовил упрощенную конфигурацию

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

Гипермедийные системы на ASP.NET MVC 5. Часть вторая

Уровень сложностиСредний
Время на прочтение24 мин
Количество просмотров288

Быстрая разработка гипермедиа-ориентированного веб-приложения с HTMX 2.0.

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

В статье будет использоваться библиотека Htmx.js вместе с устаревшей серверной платформой ASP.NET MVC 5.

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

Трассировка OpenTelemetry в 200 строк кода

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

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

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

Неудивительно, что многие разработчики воспринимают библиотеки трассировки как «черные ящики». Мы добавляем их в приложения, надеемся на лучшее и полагаемся на них в критические моменты, например, во время инцидентов ночью.

На самом деле, трассировка гораздо проще, чем кажется.

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

Концепция временного View state в JavaScript

Уровень сложностиСложный
Время на прочтение4 мин
Количество просмотров564

Приветствую всех! В данной статье, речь пойдёт о достаточно необычной теме, информацию о которой я почему-то не нашёл, хотя она достаточно полезна в современных JavaScript фреймворках и библиотеках для создания пользовательских интерфейсов, ведь, в некоторых случаях, применение концепции может помочь ускорить работу с DOM в несколько раз.

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

State-of-the-art: резюмирование текста

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

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

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

Инструмент django-command

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров360

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

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

Практичное и любопытное: все темы Heisenbug 2024 Autumn

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

Что должны рассказывать на конференции по тестированию? Что-то очень практичное, что участник вскоре применит в своём проекте? Или для такого существуют курсы, а конференция — это «оторваться от своей рутины и разобраться, что происходит вокруг»?

Вообще говоря, не обязательно выбирать что-то одно. На Heisenbug это всегда сочеталось: тут бывают и практичные воркшопы с мастер-классами, и обзорные кейноуты «для расширения кругозора».

Вот и на новом Heisenbug 2024 Autumn темы будут самыми разными. В одних звучат названия конкретных инструментов от Postman до Selenoid, отвечают на конкретные вопросы вроде «как тестировать Helm-чарты». А другие позволяют посмотреть шире: вплоть до выступления врача-эндокринолога о том, что не так с тезисом «чем больше тестов, тем лучше».

Представляем Хабру всю программу. Чтобы сделать пост покороче, мы сократили некоторые описания докладов — полные доступны на сайте.

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

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
20 – 22 сентября
BCI Hack Moscow
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
24 сентября
Astra DevConf 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн

7 продвинутых приёмов JavaScript, которые должен знать каждый разработчик

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

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

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

Давайте разберём 7 продвинутых техник в JavaScript, которые помогут вам вывести свои навыки на новый уровень.

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

Гипермедийные системы на ASP.NET MVC 5. Часть первая

Уровень сложностиСредний
Время на прочтение25 мин
Количество просмотров472

Быстрая разработка гипермедиа‑ориентированного веб‑приложения с HTMX 2.0.

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

В статье будет использоваться библиотека Htmx.js вместе с устаревшей серверной платформой ASP.NET MVC 5.

Читать дальше
Всего голосов 4: ↑1 и ↓30
Комментарии14

Улучшаем навигацию роботов с помощью нейронного потенциального поля

Уровень сложностиСложный
Время на прочтение9 мин
Количество просмотров754

Всем привет! Меня зовут Алексей Староверов, я научный сотрудник группы «Embodied agents» в AIRI. К числу моих научных интересов в основном относятся алгоритмы обучения с подкреплением (RL) и их применение для робототехнических систем. В этом году в рамках конференции ICRA 2024 мы с коллегами из МФТИ представили статью на тему автономной навигации мобильных роботов, о которой я бы и хотел вам рассказать.

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

Деконструкция монолита: Максимально производительный подход к проектированию программ

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

Как и почему компания Shopify перешла от монолитной архитектуры к модульно-монолитной.


image

У компании Shopify одна из крупнейших баз кода на Ruby on Rails. Над ней трудились более десяти лет свыше тысячи разработчиков. Она включает множество разнообразных функций, например, выставление счетов продавцам, управление сторонними приложениями, обновление информации о товарах, обработка доставки и так далее.

Изначально система была построена как монолит, то есть все эти разные функциональные возможности были встроены в одну кодовую базу без каких-либо разграничений между ними. В течение многих лет эта архитектура работала нормально, но в конце концов мы достигли точки, когда недостатки монолита перевесили преимущества. Нам предстояло сделать выбор, как действовать дальше.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+11
Комментарии2

Проблемы InheritedWidget'а в Flutter

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

Service Locator — зло. InheritedWidget — это сервис локатор с ограничениями.
В этой статье разберемся, как решают эти ограничения проблемы сервис локатора, и решают ли...

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

Прощай, ChromeOS: долгий путь к Linux с самодельным Suzy-Q-кабелем и прошивкой BIOS

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

Привет, Хабр! Это Кирилл из МТС Диджитал. После того как мне удалось научить хромбук запускаться с флешки, о чем я рассказывал в посте «Chromebook: жизнь после EOS», стало казаться, что нет смысла прошиваться на альтернативную прошивку. Но после очередной попытки установки Linux я обратил внимание на интересный момент: утилита inxi показывала вместо серийного номера просто цифры от 0 до 9. 

Есть и еще несколько технических нюансов: некоторые дистрибутивы Linux отказывались корректно определить разрешение экрана, а Gentoo вис при запуске с минимального образа. Я предположил, что, скорее всего, BIOS/UEFI может мешать нормальному использованию альтернативных операционных систем. И как потом оказалось, так оно и есть. Поэтому я решил заняться прошивкой. Казалось бы, элементарная вещь — есть специальный скрипт и гайды в интернете. Что могло пойти не так? Рассказал об этом под катом.

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

МИТАП: собираем комбо вредных советов про карьеру мобильного разработчика

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

Расскажем, почему изоляция от коллег и руководителя – это база, и в чем польза cтагнации.


Нет в жизни разработчика более надоедливого архетипа коллеги, чем “неравнодушный советчик”, который спешит причинить добро вне зависимости от твоего желания и последствий этого причинения. Причем, каждый второй обязательно собрал целое комбо из этих квазиполезных рекомендаций и готов делиться ими при каждом удобном случае. Мы нашли целых четверых таких советчиков и решили предоставить им трибуну для причинения добра в особо крупных размерах!



26 сентября мы проведем онлайн-митап “10+ вредных советов мобильному разработчику: как точно завалить проект и карьеру”. На нем опытные лиды и разрабы расскажут, какие действия обязательно затормозят твой промоушн и подожгут любой релиз.
Читать дальше →
Всего голосов 5: ↑3 и ↓2+3
Комментарии1
1
23 ...