Содержание

Разработка

10 полезных команд Git

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

Читать далее


Что должен знать каждый разработчик о вычислениях на GPU

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

Читать далее


9 open source библиотек для вашего следующего проекта

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

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

Поехали!


Как улучшить свои навыки работы с Git с помощью GitHub CLI

Использование Git в командной строке (CLI) может повысить вашу скорость разработки и эффективность. В этой статье рассмотрим 8 полезных команд для работы с GitHub через терминал.

Перейти к статье


Как использовать GitHub Copilot в IDE: советы, приёмы и лучшие практики

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

Читать далее


Руководство: Создаем свою STL-совместимую реализацию std::allocator с лучшей производительностью

В этой статье описывается реализация STL-совместимого аллокатора, ориентированного на выделение и высвобождение блоков памяти фиксированного размера. Предложенный аллокатор предотвращает сбои, вызванные фрагментированной кучей, и обеспечивает стабильное время выполнения выделения/высвобождения памяти. Моей главной целью при создании stl_allocator было устранение ошибок памяти. Вдобавок использование STL-совместимого блочного аллокатора открывает возможность использования функций стандартной библиотеки шаблонов (STL) C++ в проектах, в которых иначе это было бы невозможно.

Читать далее


Еще раз про асинхронную машину состояний и где именно там аллокации

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

Читать далее


Руководство: Как создать YouTube GIF Maker с использованием Next.js, Node и RabbitMQ

Идея приложения — дать пользователям возможность создавать GIF-файлы из видеороликов с YouTube. Для этого нужно просто указать ссылку на нужное видео, а также задать время начала и окончания GIF.

Функциональные возможности приложения:

  • Создание GIF из видео на YouTube с определённым временным диапазоном.
  • Предварительный просмотр результата перед выполнением фактической конвертации.

Читать далее


Краткий обзор развития лямбда-выражений в C++11, C++14, C++17 и C++20

Рассмотрим лямбда-выражения в C++ и их эволюцию с момента появления в стандарте C++11 и до последних обновлений в C++20.

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

Читать далее


15 тенденций в области разработки программного обеспечения в 2024 году

  • Интеграция искусственного интеллекта и машинного обучения
  • Блокчейн за пределами криптовалют
  • Микросервисы с множественными средами выполнения
  • Кибербезопасность
  • Дальнейшее внедрение VR и AR
  • Устойчивая разработка программного обеспечения
  • Внесерверная обработка данных (FaaS)
  • Расширение облачных вычислений
  • Всплеск периферийных вычислений
  • Квантовые вычисления: новый рубеж
  • Python
  • Рост числа пользователей языка Rust
  • Рост числа low-code и no-code платформ
  • Рост числа прогрессивных веб-приложений (PWA)
  • Разработка кросс-платформенных приложений

Подробнее


Celery для новичков

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

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

Читать далее


Кратко про протоколы взаимодействия в микроконтроллерах: SPI, IDC, UART, CAN

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

В этой статье рассмотрим такие протоколы взаимодействия, как SPI, IDC, UART, CAN.

Читать далее


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

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

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

Читать далее


Мемоизация в React: я почитал документацию вместо вас

В статье рассмотрены три инструмента мемоизации в React: useMemo, useCallback, memo. Главный источник информации: документация React.

Читать далее


Правило трех и пяти в C++: что это такое и зачем они нужны?

В этой статье поговорим о двух правилах С++: правиле трех и правиле пяти. Правильное понимание этих правил способно уберечь код от утечек и неопределенных поведений.

Читать далее


Разработка под Android в 2024 году

Эта статья отражает моё личное мнение и профессиональные взгляды, учитывающие различные точки зрения в сообществе Android-разработчиков. Кроме того, я регулярно просматриваю руководства от Google для Android.

Читать далее


Веб-скрапинг с Scrapy на Python

В этой статье поговорим о хорошем инструменте для веб-скрапинга, который зарекомендовал себя, библиотеке Scrapy для Python.

Читать далее


Динамическое программирование на Python

Динамическое программирование полезно при решении оптимизационных задач и задач на вычисление, где присутствует большое количество повторяющихся подзадач. По сравнению с другими алгоритмическими подходами, динамическое программирование позволяет ускорить процесс вычисления за счет сохранения результатов выполнения подзадач. Основные его идеи:

  1. Переиспользование решений подзадач
  2. Мемоизация
  3. Табуляция

Читать далее


26 техник, которыми геймдизайнеры манипулируют игроком в видеоиграх

В области геймдизайна наджи (англ. nudge) или «подталкивания» — это такие тонкие элементы дизайна, стимулы, которые направляют игроков по намеченному геймдизайнером пути, улучшая их игровой опыт, но не навязывая им каких-либо действий напрямую. Ниже вашему вниманию представлен список таких техник подталкивания игрока с их описанием, применением и реальными примерами использования в видеоиграх.

Читать далее


Кратко про класс CompletableFuture в Java

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

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

Читать далее


Создание простейшего back-end на Node.js с использованием PostgreSQL

В этой статье мы продемонстрируем, как создавать back-end приложения на Node.js c PostqreSQL. В качестве примера создадим простейший back-end на Node.js с использованием PostgreSQL.

Читать далее


Разгоняем C++ с кастомными аллокаторами

В этой статье мы обратим свой взор на производительность в C++, и как ни странно, нашими главными героями станут не библиотеки или сложные алгоритмы, а казалось бы, простые аллокаторы. Но не просто аллокаторы, а кастомные, которые могут заметно ускорить работу приложений.

Читать далее


Полезные фичи в Java для новичков: мой список

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

Читать далее


JavaScript Clean Code: руководство для начинающих разработчиков

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

Читать далее


Расширенная шпаргалка по корутинам Kotlin

Предположим, что вы уже какое-то время работаете с Kotlin-корутинами и знакомы с базовыми концепциями, такими как приостанавливаемые (suspend) функции и билдер launch. Однако по мере усложнения проектов вы всё чаще сталкиваетесь с необходимостью искать решения для более продвинутых задач и обращаетесь к поисковым системам или искусственному интеллекту за помощью.

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

Читать далее


Архитектура

Микросервисы и RabbitMQ в Docker

Микросервисная архитектура предполагает декомпозицию монолитного приложения на несколько полностью независимо развёртываемых и масштабируемых сервисов. За пределами этого базового определения, то, что представляет собой микросервис, может быть несколько субъективным. Хотя есть несколько проверенных в бою практик, принятых такими гигантами, как Netflix и Uber, которые всегда следует принимать во внимание. И я расскажу о некоторых из них. 

Читать далее


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

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

Читать далее


Тестирование

Знакомьтесь, SafeTest — новый подход к тестированию фронтенда

В этой статье мы поговорим о SafeTest — революционной библиотеке, которая предлагает свежий взгляд на сквозные (E2E) тесты для веб-приложений с пользовательским интерфейсом.

Читать далее


13 инструментов для тестирования методом «чёрного ящика»

Инструменты для тестирования методом «чёрного ящика» (black box) сосредоточены на анализе входных и выходных данных программного обеспечения, его поведения и функциональности с точки зрения конечного пользователя. Они используются для различных типов тестирования, включая функциональное, системное и приёмочное, не требуя доступа к исходному коду.

Читать далее


Интеграционные тесты

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


10 лучших инструментов управления тестированием

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

  • PractiTest
  • Tuskr
  • TestRail
  • Tricentis qTest
  • Tricentis Test Management
  • Xray
  • Kualitee
  • TestMonitor
  • Testiny
  • aqua ALM

Подробнее о каждом из инструментов читайте в статье.

Перейти к подборке


Параметризованные тесты в Pytest: обзор с примерами

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

Читать далее


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

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

Читать далее


Django-аутентификация: просто о сложном

Аутентификация является фундаментальной частью любого веб-приложения. Мы рассмотрим различные способы реализации аутентификации в Django, начиная от стандартных методов и заканчивая более крутыми техниками, например как 2FA и OAuth2.

Читать далее


Как awk заменяет 10 команд Bash

Когда только автор начинал работать с Linux, каждую задачу обрабатывал через кучку пайпов. Потом его коллега сказал ему: «Завязывай с этим, попробуй awk». И автор попробовал. И это действительно удобно. В этой статье он рассказывает, как awk может заменить несколько привычных команд bash.

Читать далее


Мастерство работы с Java Stream

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

Читать далее


Информационная безопасность

SQL инъекции для продолжающих: ломаем настоящий сайт

Про SQL инъекции написано огромное количество статей. Все знаю про пресловутые ‘ OR 1 = 1 и аналогичные конструкции, но далеко не все реализовывали их на практике. В этой статье мы разберем на практике некоторые способы реализации SQL инъекций на примере уязвимого сайта.

Статья предназначена для тех, кто хочет на практике разобраться с тем, что такое SQL инъекции.

Читать далее


Безопасность CI/CD

Рассмотрим обеспечение безопасности конвейера, построенного на основе Jenkins. Но сначала рассмотрим краткое описание этого решения, что Jenkins из себя представляет и для чего используется. 

Читать далее


Препарируем слои образов Docker

Технологии контейнеризации сейчас являются неотъемлемой частью процессов DevOps. Контейнеры активно используются в микросервисных архитектурах для изоляции отдельных микросервисов. Наиболее распространенным решением по контейнеризации на сегодняшний день является Docker, и именно о небезопасной работе с контейнерами Docker мы и будем сегодня говорить.

Читать далее


Инфраструктура и сетевые технологии

Tcpdump на разных уровнях

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

Читать далее


Тюнинг Wireshark

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

Читать далее


Анализируем HTTP трафик в Wireshark

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

Читать далее


Кратко про сетевые протоколы в Golang: TCP, QUIC и UDP

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

Читать подробнее


Grafana Stack: закрываем все современные потребности Observability

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

В этой статье мы поговорим о том, как можно реализовать observability с помощью сервисов стека Grafana.

Читать далее


Работа с данными и базами данных

Основные настройки для управления ресурсами в PostgreSQL: настройка памяти, CPU и I/O

При работе с PostgreSQL (да и в целом с любой БД) важно правильно настраивать и управлять ресурсами, такими как память, процессорное время и дисковые операции, и так далее для обеспечения лучшей производительности и стабильности работы БД.

В этой статье мы как раз и поговорим кратко о том, как управлять ресурсами в PostgreSQL.

Читать далее


Три основных способа оптимизировать ваши запросы в PostgreSQL

Оптимизация запросов — это искусство, сродни мастерству кошки. Это не просто задача, а настоящий мастхев. Поэтому мы в этой статье рассмотрим три способа для оптимизации запрсоов в PostgreSQL и научимся делать наши запросы быстрыми и эффективными. Начнем с базы — индексирование.

Читать далее


Четыре частых вопроса по SQL джуну-аналитику и три задачи на собеседовании

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

Читать далее


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

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

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

Читать далее


Настройка автовакуумирования в PostgreSQL

В этой статье поговорим о том, как правильно настраивать автовакуумирование в PostgreSQL — одном из механизмов, который позволяет базе данных оставаться «в форме» и поддерживать производительность на должном уровне. Если неправильно подойти к настройке, можно столкнуться с деградацией скорости обработки запросов и внезапным ростом объема данных.

Читать далее


Шаблоны проектирования для баз данных

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

Читать далее


Регулярные выражения в SQL

Представьте, что вам нужно найти иголку в стоге сена, но стог — это ваша БД, а иголка — данные со сложным шаблоном. Дефолтные операторы LIKE и IN тут не помогут — слишком уж они прямолинейны. Но зато здесь отлично зайдут регулярные выражения, которые позволяют выполнять сложные поиски и преобразования строк.

Читать далее


База, которую нужно знать про JSON Schema

В этой статье мы рассмотрим одну из тем, которая, как ни странно, остаётся недооценённой — JSON Schema. Если ты аналитик (или хочешь им быть) и в твоей работе часто мелькают JSON-файлы, то наверняка знаешь, как сложно порой бывает держать всё это под контролем. В этой статье мы разберём всё, что тебе нужно знать про JSON Schema.

Читать далее


Триггеры в PostgreSQL: основы

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

Читать далее


Где PostgreSQL выигрывает у Oracle DB

Если вы стоите перед выбором между PostgreSQL и Oracle DB, то эта статья для вас. Разберем где PostgreSQL побеждает Oracle. Будет код и примеры — всё, что нужно для практического сравнения.

Читать далее


Ускоряем PostgreSQL с помощью Tuned

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

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

Читать далее


Мы ускорили JOIN в ClickHouse… в 100 раз

Недавно мы представили два новых пул-реквеста в ClickHouse, которые будут доступны в ClickHouse 24.4. Эти изменения повышают производительность JOIN’ов во многих производственных сценариях, в некоторых случаях увеличивая скорость выполнения запросов на несколько порядков.

Перейти к статье


Apache Kafka: типовые проблемы и способы их решения

Apache Kafka — это решение для распределенной потоковой передачи сообщений. Проект, построенный на основе Scala и Java, направлен на создание единой платформы с высокой пропускной способностью и низкой задержкой для управления потоками данных в реальном времени. Основными возможностями платформы потоковой передачи данных является возможность публиковать потоки записей и подписываться на них, подобно очереди сообщений или системе бизнес‑обмена сообщениями. Также большое значение имеет возможность обрабатывать потоки записей по мере их поступления и хранить их отказоустойчивым и долговечным способом.

Читать далее


Машинное обучение

Методы очистки данных в Pandas

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

Очищать грязные данные можно c Pandas. Рассмотрим основные методы.

Читать далее


FinRL: Библиотека глубокого обучения с подкреплением для автоматизированной торговли акциями

Этой статьей я открываю цикл, посвященный обзору возможностей и практике работы с библиотекой FinRL.

Читать далее


Пять лучших NLP инструментов для работы с русским языком на Python

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

Читать далее


Анализ новостей с помощью сегментации и кластеризации временных рядов

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

Читать далее


Автоматизированная торговля акциями с использованием глубокого обучения с подкреплением

В этой статье мы начнем рассматривать практическое применение библиотеки FinRL для построения торгового агента. 

Читать далее


Операции машинного обучения (MLOps) для начинающих: полное внедрение проекта

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

Читать далее


cgroups и namespaces в Linux: как это работает?

В этой статье рассмотрим изоляции процессов и управления ресурсами в Linux, изучив возможности cgroups и namespaces. Разберёмся, как работают контейнеры изнутри и научимся создавать собственное изолированное окружение без Docker.

Читать далее


Управление

Тимлид, которого не любят

Есть у нас такая традиция – начальство не любить. А как быть, если начальство – ты сам? Хочется ж быть хорошим, всегда и для всех. Но получается так, увы, редко.

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

Читать далее


Kanban метод: инструкция к применению

Есть три основных принципа управления изменениями и шесть Канбан-практик, общих для любых применений Канбана. Принципы:

  • Начните с того, что есть сейчас (то есть возьмите текущий процесс в том виде, в котором он есть);
  • Придите к соглашению об эволюционном развитии (договоритесь, что будете меняться);
  • Поощряйте проявления лидерства на всех уровнях (поощряйте идеи и желание менять на всех уровнях).

Читать далее


Стартер-пак книг для продуктового аналитика (и не только)

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

Читать далее


Научно-популярное

Когнитивные искажения, о которых стоит помнить

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

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

Перейти к статье


Как разивать системное мышление?

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

Перейти к статье


Системное мышление: основополагающие концепции

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

Читать далее

Большой дайджест: лучшие статьи за 2024 год в блоге OTUS на Хабр