Pull to refresh
95
85.5

Редактор

Send message

4 вида распространённых ошибок в Event-Driven системах

Reading time8 min
Views5K

В последние несколько лет в крупных компаниях наблюдается значительный рост внедрения event-driven (событийно-ориентированных) систем. Каковы основные причины этой тенденции? Это чистой воды хайп или есть веские причины, побуждающие к внедрению этой архитектуры? С нашей точки зрения, основными причинами, по которым многие компании выбирают этот путь, являются:

Читать далее
Total votes 17: ↑15 and ↓2+13
Comments5

Выявление ошибок в работе с памятью в C и C++: Сравниваем Sanitizers и Valgrind

Reading time24 min
Views5.1K

В этой статье вашему вниманию представлено сравнение двух инструментов для поиска ошибок в работе с памятью в программах, написанных на memory-unsafe (небезопасных при работе с памятью) языках — Sanitizers и Valgrind. Эти два инструмента работают совершенно по-разному. Поэтому, хоть Sanitizers (разработанный инженерами Google) имеет ряд преимуществ перед Valgrind, у каждого из них есть свои сильные и слабые стороны. Следует сразу отметить, что проект Sanitizers имеет название во множественном числе, потому что он состоит из нескольких инструментов, которые мы рассмотрим в этой статье в совокупности.

Читать далее
Total votes 11: ↑10 and ↓1+9
Comments3

Как быстро выучить язык моделирования Archimate?

Reading time4 min
Views4.7K

Я использую Архимейт в своей работе уже более 7 лет. Когда я познакомился с этим языком, то он привлек меня тем, что позволял изображать систему в динамике, то есть отображать не только структуру программы, но и бизнес-процессы, которые она автоматизирует, и средства, на которых она развернута. К тому же Архимейт казался очень простым — подумаешь, каких-то 10 стрелок и 20 компонентов. На тот момент я был уже очень опытным программистом и архитектором, у меня был огромный опыт проектирования систем и баз данных, также я на приличном уровне освоил несколько языков программирования. И казалось, что выучить такой простой язык — это дело нескольких часов.

Но как же я был не прав: приличные Архимейт модели у меня стали получаться только через 3 месяца, а спустя год я понял, что всё, что я рисовал ранее — хорошо бы перерисовать. Но вот почему Архимейт оказалось освоить совсем не так просто?

Читать далее
Total votes 24: ↑12 and ↓120
Comments6

Непрерывность функционирования систем жизнедеятельности: Совокупность циклов обратной связи

Reading time9 min
Views595

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

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

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

Читать далее
Total votes 11: ↑8 and ↓3+5
Comments0

The Sims 4: разбор нарративных механик самой знаменитой игры без сюжета

Level of difficultyEasy
Reading time7 min
Views5K

С момента своего запуска в 2014 году, The Sims 4 превратилась не просто в игру, но в целый культурный феномен, привлекая миллионы поклонников по всему миру. Этот необычайный успех можно объяснить множеством факторов, но одним из ключевых является уникальная возможность игры служить платформой для творчества и самовыражения. В отличие от традиционных видеоигр с заранее заданным сюжетом, The Sims 4 предлагает игрокам свободу создавать собственные истории в мире, где практически нет ограничений. Эта игра-песочница позволяет каждому игроку стать автором уникальных нарративов, переплетая жизни и судьбы симов в соответствии со своими желаниями и фантазиями.

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

Читать далее
Total votes 14: ↑10 and ↓4+6
Comments1

Инженер-аналитик или дата-инженер: Как выбрать нужного специалиста? | Census

Reading time9 min
Views574

Мэдисон — инженер-аналитик, увлекающаяся данными, предпринимательством, писательством и образованием. Ее цель — преподавать так, чтобы это было полезно для каждого, независимо от того, начинает ли он карьеру или уже работает в инженерии 20 с лишним лет.

И так вы поняли, что вам не помешала бы дополнительная помощь в работе с данными. Но кого конкретно следует искать, вы не знаете, ведь существуют дата-аналитики, дата-инженеры, а теперь… и инженеры-аналитики?!

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

Читать далее
Total votes 9: ↑6 and ↓3+3
Comments0

Ликбез по вложенной прокрутке в Jetpack Compose

Reading time11 min
Views2K

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

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments1

Работа с очередями мертвых писем (DLQ) в AWS SNS

Reading time6 min
Views510

Amazon Simple Notification Service (AWS SNS) — это мощный инструмент в арсенале облачных сервисов Amazon Web Services, предоставляющий простые и эффективные средства для управления уведомлениями и распределения сообщений в распределенных системах. SNS обеспечивает высокую гибкость в организации коммуникации между различными компонентами приложений, позволяя быстро и эффективно реагировать на разнообразные события и изменения в окружающей среде.

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

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments0

Всё ещё используете If/else валидацию в Spring 6.0+ / SpringBoot 3.0+?

Reading time12 min
Views13K

Чтобы избежать влияния несанкционированных параметров на ваш бизнес, в ваших веб-сервисах должна быть реализована проверка параметров на уровне контроллера! В большинстве случаев параметры запроса можно разделить на два следующих вида:

— POST и PUT-запросы, использующие requestBody для передачи параметров.
— GET-запросы, использующие requestParam/PathVariable для передачи параметров.

Читать далее
Total votes 19: ↑14 and ↓5+9
Comments11

Разделение задач резервного копирования и удаления устаревших копий в PostgreSQL при помощи pgBackRest

Reading time11 min
Views3.5K

Управление резервными копиями является одним из ключевых моментов в любой стратегии администрирования баз данных. Это гарантирует, что в случае сбоя или потери данных вы можете быстро восстановить всю информацию. pgBackRest — популярное решение для резервного копирования и восстановления PostgreSQL, которое предоставляет множество функций для управления резервными копиями. Тем не менее, по умолчанию стандартная конфигурация pgBackRest часто объединяет операции резервного копирования и удаления устаревших копий в одном процессе. 

Читать далее
Total votes 11: ↑9 and ↓2+7
Comments0

Работа со временем и датой в C# с применением библиотеки Humanizer

Reading time7 min
Views4.6K

Цель этой статьи — показать вам, как использовать Humanizer, чтобы вывести работу со временем и датой в ваших C#-проектах на новый уровень. Я расскажу о том, как преобразовать объекты DateTime и TimeSpan в удобный для восприятия человеком вид, как настраивать параметры гуманизации и как объединять гуманизацию строк со временеме/датой. Мы также рассмотрим некоторые реальные сценарии использования и примеры того, как Humanizer может улучшить пользовательский опыт в отношении времени и даты.

Читать далее
Total votes 16: ↑12 and ↓4+8
Comments12

Новые горизонты баз данных: 8 тенденций в управлении информацией

Reading time14 min
Views4.9K

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

Сегодня мы узнаем про перспективы развития баз данных — 8 тенденций управления информацией и рассмотрим 11 наглядных примеров.

Читать далее
Total votes 13: ↑9 and ↓4+5
Comments3

Нарратив и геймплей: создание согласованного игрового опыта

Level of difficultyMedium
Reading time11 min
Views2.5K

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

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

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

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

Читать далее
Total votes 12: ↑8 and ↓4+4
Comments10

Как Agile трансформация бизнеса помогает компаниям становится гибче и быстрее и почему это актуально?

Level of difficultyEasy
Reading time5 min
Views1.9K

Многие основатели и ТОП-менеджеры компаний, а также те, кто отвечают за рост продуктов в компаниях, рано или поздно задумываются о том, как вырастить бизнес, увеличить продажи, получить больше лояльных пользователей, обогнать конкурентов, как сделать бизнес и продукты внутри такими чтобы их больше покупали?

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

Как правило в компаниях запускается множество проектов, которые направлены на рост бизнеса, однако более 75% не приносят тех эффектов, которые мы от них ожидали. Более того, сроки и бюджеты проектов могут растягиваться в разы. И это происходит повсеместно, и в среднем и в крупном бизнесе. 

Читать далее
Total votes 14: ↑9 and ↓5+4
Comments4

Введение в планировщики иерархических сетей задач (HTN) на примере. Часть 2

Reading time8 min
Views992

В прошлой части мы остановились на том, что сформировали из составных и примитивных задач функциональную область (domain), которая представляет всю иерархию задач нашего NPC. Объединив ее с состоянием мира (world state), мы можем перейти к рабочей лошадке нашей HTN — планировщику (planner). Есть три условия, которые заставляют планировщик искать новый план: NPC завершает или проваливает текущий план, у NPC нет плана, или какой-нибудь сенсор меняет состояние мира NPC.

Читать далее
Total votes 10: ↑7 and ↓3+4
Comments0

Microk8s, еще один легковесный K8s

Level of difficultyEasy
Reading time6 min
Views7.7K

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

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

MicroK8s - отличный способ запустить и ознакомиться с Kubernetes. Это полностью совместимый, легковесный пакет Kubernetes, который работает на 42 видах Linux и идеально подходит для:

Читать далее
Total votes 12: ↑10 and ↓2+8
Comments7

Топ-5 распространенных практик написания хорошего Swift-кода

Reading time10 min
Views1.7K

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

Благодаря этим сравнениям вы получите более глубокое понимание того, как определенные методы написания кода в Swift могут привести к более оптимизированным, элегантным и эффективным решениям. Независимо от того, являетесь ли вы опытным разработчиком или только начинаете свой путь, эти знания помогут вам писать Swift-код, который не только хорошо работает, но и достигает оптимальной производительности, читабельности и удобства сопровождения.

Читать далее
Total votes 10: ↑8 and ↓2+6
Comments0

Учащиеся без высшего образования овладевают важными навыками так же быстро, как и обладатели дипломов

Reading time4 min
Views12K

Исследование Coursera по отчёту ВЭФ “Future of Jobs Report 2023”

В прошлом году Всемирный экономический форум (ВЭФ) опубликовал доклад Future of Jobs Report 2023. В нём анализируются изменения на рынке труда, а также раскрываются темы внедрения технологий, изменения рабочих мест и актуальных навыков в ближайшие пять лет. В рамках сотрудничества с ВЭФ Coursera провела исследование для отчёта и рассказала, как основанные на навыках подходы к развитию рабочей силы могут помочь вытесняемым с рынка труда работникам получить востребованную профессию.

Читать далее
Total votes 20: ↑13 and ↓7+6
Comments30

Введение в планировщики иерархических сетей задач (HTN) на примере. Часть 1

Reading time9 min
Views2K

Будучи программистами, мы можем обнаружить себя в постоянном поиске «лучшего решения» для любых задач, с которыми мы столкнулись, будь то производительность, поддерживаемость, юзабилити и так далее. И только после того, как мы реализуем эти решения, мы понимаем некоторые нюансы, которые с ними связаны. Очень часто эти нюансы могли бы стать решающим фактором в выборе решения.

Читать далее
Total votes 11: ↑9 and ↓2+7
Comments3

Какие важные аспекты Agile не учитывают компании?

Level of difficultyEasy
Reading time5 min
Views4.1K

 

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

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

Однако вокруг массового перехода компаний на Agile сложилось поверхностное понимание и неправильная интерпретация Agile подходов и философии. 

Более того, у многих компаний Agile превратился в карго-культ, который не просто не приносит ценности, а мешает.

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

Читать далее
Total votes 17: ↑13 and ↓4+9
Comments10

Information

Rating
47-th
Location
Россия
Works in
Registered
Activity