0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>13 инструментов для тестирования методом "чёрного ящика"</a></li>
1
<ul><li><a>13 инструментов для тестирования методом "чёрного ящика"</a></li>
2
<li><a>Python QA: введение в Unit Tests</a></li>
2
<li><a>Python QA: введение в Unit Tests</a></li>
3
<li><a>Анонс Asserts</a></li>
3
<li><a>Анонс Asserts</a></li>
4
<li><a>Тестирование без моков: язык паттернов. Часть 1</a></li>
4
<li><a>Тестирование без моков: язык паттернов. Часть 1</a></li>
5
<li><a>Тестирование без моков: язык паттернов. Часть 2</a></li>
5
<li><a>Тестирование без моков: язык паттернов. Часть 2</a></li>
6
<li><a>Как использовать GitHub Copilot в IDE: советы, приёмы и лучшие практики</a></li>
6
<li><a>Как использовать GitHub Copilot в IDE: советы, приёмы и лучшие практики</a></li>
7
<li><a>Тестирование баз данных</a></li>
7
<li><a>Тестирование баз данных</a></li>
8
<li><a>ViewModels в Android: "за" и "против"</a></li>
8
<li><a>ViewModels в Android: "за" и "против"</a></li>
9
<li><a>Миграция критически важного трафика в больших масштабах без простоев: опыт Netflix</a></li>
9
<li><a>Миграция критически важного трафика в больших масштабах без простоев: опыт Netflix</a></li>
10
<li><a>Знакомьтесь, SafeTest - новый подход к тестированию фронтенда</a></li>
10
<li><a>Знакомьтесь, SafeTest - новый подход к тестированию фронтенда</a></li>
11
<li><a>Тестирование рассылок: зачем проводить и что проверять в первую очередь</a></li>
11
<li><a>Тестирование рассылок: зачем проводить и что проверять в первую очередь</a></li>
12
<li><a>Как создать мультидокументный ридер и чат-бот с помощью LangChain и ChatGPT</a></li>
12
<li><a>Как создать мультидокументный ридер и чат-бот с помощью LangChain и ChatGPT</a></li>
13
<li><a>Как инженеры GitHub используют GitHub Copilot: 4 способа</a></li>
13
<li><a>Как инженеры GitHub используют GitHub Copilot: 4 способа</a></li>
14
</ul><h2>13 инструментов для тестирования методом "чёрного ящика"</h2>
14
</ul><h2>13 инструментов для тестирования методом "чёрного ящика"</h2>
15
<p>Инструменты для тестирования методом "чёрного ящика" (black box) сосредоточены на анализе входных и выходных данных программного обеспечения, его поведения и функциональности с точки зрения конечного пользователя. Они используются для различных типов тестирования, включая функциональное, системное и приёмочное, не требуя доступа к исходному коду.</p>
15
<p>Инструменты для тестирования методом "чёрного ящика" (black box) сосредоточены на анализе входных и выходных данных программного обеспечения, его поведения и функциональности с точки зрения конечного пользователя. Они используются для различных типов тестирования, включая функциональное, системное и приёмочное, не требуя доступа к исходному коду.</p>
16
<p>Преимущества этих инструментов заключаются в их способности обеспечить объективную оценку внешних функций программного обеспечения. Они помогают убедиться в том, что разрабатываемый софт соответствует требованиям пользователей и ведёт себя ожидаемым образом в реальных ситуациях. Эти инструменты особенно полезны для выявления несоответствий в функциональности и интерфейсе программы, что делает их идеальными для тестировщиков без глубоких технических знаний о внутреннем устройстве софта. Такой подход способствует ориентированности на пользователя.</p>
16
<p>Преимущества этих инструментов заключаются в их способности обеспечить объективную оценку внешних функций программного обеспечения. Они помогают убедиться в том, что разрабатываемый софт соответствует требованиям пользователей и ведёт себя ожидаемым образом в реальных ситуациях. Эти инструменты особенно полезны для выявления несоответствий в функциональности и интерфейсе программы, что делает их идеальными для тестировщиков без глубоких технических знаний о внутреннем устройстве софта. Такой подход способствует ориентированности на пользователя.</p>
17
<p><a>Читать далее</a></p>
17
<p><a>Читать далее</a></p>
18
<h2>Python QA: введение в Unit Tests</h2>
18
<h2>Python QA: введение в Unit Tests</h2>
19
<p>Данная статья призвана погрузить вас в мир Unit Tests в Python. Мы рассмотрим основные принципы написания тестов, научимся создавать простые и эффективные тесты для вашего кода, а также рассмотрим некоторые лучшие практики и советы по их использованию. После ознакомления с этой статьей вы сможете использовать Unit Tests для обеспечения качества вашего Python-кода и повысить уверенность в его надежности.</p>
19
<p>Данная статья призвана погрузить вас в мир Unit Tests в Python. Мы рассмотрим основные принципы написания тестов, научимся создавать простые и эффективные тесты для вашего кода, а также рассмотрим некоторые лучшие практики и советы по их использованию. После ознакомления с этой статьей вы сможете использовать Unit Tests для обеспечения качества вашего Python-кода и повысить уверенность в его надежности.</p>
20
<p><a>Читать далее</a></p>
20
<p><a>Читать далее</a></p>
21
<h2>Анонс Asserts</h2>
21
<h2>Анонс Asserts</h2>
22
<p>Представляем вам Asserts - платформу для анализа и отслеживания метрик. Сканируя метрики вашего приложения в любой совместимой с Prometheus базе данных временных рядов (time-series database, TSDB), Asserts в реальном времени: </p>
22
<p>Представляем вам Asserts - платформу для анализа и отслеживания метрик. Сканируя метрики вашего приложения в любой совместимой с Prometheus базе данных временных рядов (time-series database, TSDB), Asserts в реальном времени: </p>
23
<ul><li>создаёт карту архитектуры приложения и инфраструктуры, </li>
23
<ul><li>создаёт карту архитектуры приложения и инфраструктуры, </li>
24
<li>строит дашборды, </li>
24
<li>строит дашборды, </li>
25
<li>отслеживает цели уровня обслуживания (service level objectives, SLOs) </li>
25
<li>отслеживает цели уровня обслуживания (service level objectives, SLOs) </li>
26
<li>и запускает автоматические проверки (Assertions) для выявления изменений и потенциальных проблем. </li>
26
<li>и запускает автоматические проверки (Assertions) для выявления изменений и потенциальных проблем. </li>
27
</ul><p>Наша задача - снизить усталость от предупреждений и сократить время поиска первопричины.</p>
27
</ul><p>Наша задача - снизить усталость от предупреждений и сократить время поиска первопричины.</p>
28
<p><a>Читать далее</a></p>
28
<p><a>Читать далее</a></p>
29
<h2>Тестирование без моков: язык паттернов. Часть 1</h2>
29
<h2>Тестирование без моков: язык паттернов. Часть 1</h2>
30
<p>Автоматизированные тесты очень важны. Без них программистам приходится тратить огромное количество времени на ручную проверку и исправление кода.</p>
30
<p>Автоматизированные тесты очень важны. Без них программистам приходится тратить огромное количество времени на ручную проверку и исправление кода.</p>
31
<p>К сожалению, многие автотесты <em>также</em> тратят огромное количество времени. Простым и очевидным вариантом является создание широких тестов, которые являются автоматизированными версиями ручных тестов. Но они нестабильны и медленны.</p>
31
<p>К сожалению, многие автотесты <em>также</em> тратят огромное количество времени. Простым и очевидным вариантом является создание широких тестов, которые являются автоматизированными версиями ручных тестов. Но они нестабильны и медленны.</p>
32
<p><a>Читать далее</a></p>
32
<p><a>Читать далее</a></p>
33
<h2>Тестирование без моков: язык паттернов. Часть 2</h2>
33
<h2>Тестирование без моков: язык паттернов. Часть 2</h2>
34
<p>Инфраструктурный код предназначен для взаимодействия с внешним миром. Хотя он может содержать некоторую логику, она должна быть направлена на облегчение работы с инфраструктурой. Всё остальное относится к коду приложения или логики.</p>
34
<p>Инфраструктурный код предназначен для взаимодействия с внешним миром. Хотя он может содержать некоторую логику, она должна быть направлена на облегчение работы с инфраструктурой. Всё остальное относится к коду приложения или логики.</p>
35
<p>Инфраструктурный код ненадёжен и с трудом поддаётся<a>тестированию</a>из-за зависимости от внешних систем и состояния. Решить эти проблемы помогают следующие паттерны:</p>
35
<p>Инфраструктурный код ненадёжен и с трудом поддаётся<a>тестированию</a>из-за зависимости от внешних систем и состояния. Решить эти проблемы помогают следующие паттерны:</p>
36
<ul><li>Инфраструктурные обёртки (Infrastructure Wrappers)</li>
36
<ul><li>Инфраструктурные обёртки (Infrastructure Wrappers)</li>
37
<li>Узкие интеграционные тесты (Narrow Integration Tests)</li>
37
<li>Узкие интеграционные тесты (Narrow Integration Tests)</li>
38
<li>"Параноидальная телеметрия" (Paranoic Telemetry)</li>
38
<li>"Параноидальная телеметрия" (Paranoic Telemetry)</li>
39
</ul><p><a>Читать далее</a></p>
39
</ul><p><a>Читать далее</a></p>
40
<h2>Как использовать GitHub Copilot в IDE: советы, приёмы и лучшие практики</h2>
40
<h2>Как использовать GitHub Copilot в IDE: советы, приёмы и лучшие практики</h2>
41
<p>GitHub Copilot - это мощный ассистент на базе искусственного интеллекта. В этой статье поговорим о практических стратегиях, позволяющих эффективно использовать GitHub Copilot для генерации наиболее релевантных и полезных предложений по коду в вашем редакторе.</p>
41
<p>GitHub Copilot - это мощный ассистент на базе искусственного интеллекта. В этой статье поговорим о практических стратегиях, позволяющих эффективно использовать GitHub Copilot для генерации наиболее релевантных и полезных предложений по коду в вашем редакторе.</p>
42
<p>Инструменты на базе искусственного интеллекта в последнее время стали неотъемлемой частью моего рабочего процесса; тот же GitHub Copilot помогает мне быстрее достигать прогресса в проекте. Используя инструменты на базе искусственного интеллекта для повышения своей продуктивности в течение последнего года, я понял, что подобно тому, как мы учимся использовать новый фреймворк или библиотеку, мы можем повысить эффективность работы с AI-инструментами, если научимся использовать их наилучшим образом.</p>
42
<p>Инструменты на базе искусственного интеллекта в последнее время стали неотъемлемой частью моего рабочего процесса; тот же GitHub Copilot помогает мне быстрее достигать прогресса в проекте. Используя инструменты на базе искусственного интеллекта для повышения своей продуктивности в течение последнего года, я понял, что подобно тому, как мы учимся использовать новый фреймворк или библиотеку, мы можем повысить эффективность работы с AI-инструментами, если научимся использовать их наилучшим образом.</p>
43
<p>В этой статье я расскажу о том, что я делаю на каждодневной основе, чтобы получить максимальную отдачу от GitHub Copilot. Надеюсь, эти советы помогут вам стать более эффективным и продуктивным пользователем ИИ-помощника.</p>
43
<p>В этой статье я расскажу о том, что я делаю на каждодневной основе, чтобы получить максимальную отдачу от GitHub Copilot. Надеюсь, эти советы помогут вам стать более эффективным и продуктивным пользователем ИИ-помощника.</p>
44
<p><a>Читать далее</a></p>
44
<p><a>Читать далее</a></p>
45
<h2>Тестирование баз данных</h2>
45
<h2>Тестирование баз данных</h2>
46
<p>Тестирование баз данных включает в себя тестирование методом "чёрного ящика", "белого ящика" и набор требований ACID - атомарность, согласованность, изоляция и устойчивость. В этом руководстве я объясню все необходимые определения, расскажу, как оно проводится, и приведу примеры.</p>
46
<p>Тестирование баз данных включает в себя тестирование методом "чёрного ящика", "белого ящика" и набор требований ACID - атомарность, согласованность, изоляция и устойчивость. В этом руководстве я объясню все необходимые определения, расскажу, как оно проводится, и приведу примеры.</p>
47
<p><a>Читать далее</a></p>
47
<p><a>Читать далее</a></p>
48
<h2>ViewModels в Android: "за" и "против"</h2>
48
<h2>ViewModels в Android: "за" и "против"</h2>
49
<p>В этой серии статей мы рассмотрим лучшие практики использования ViewModels в Android с акцентом на основных принципах повышения качества кода. Рассмотрим роль ViewModels в управлении состоянием пользовательского интерфейса и бизнес-логикой, стратегии для ленивого внедрения зависимостей и важность реактивного программирования. Кроме того, мы обсудим общие подводные камни, которых следует избегать, такие как неправильная инициализация состояния и обнародование изменяемых состояний.</p>
49
<p>В этой серии статей мы рассмотрим лучшие практики использования ViewModels в Android с акцентом на основных принципах повышения качества кода. Рассмотрим роль ViewModels в управлении состоянием пользовательского интерфейса и бизнес-логикой, стратегии для ленивого внедрения зависимостей и важность реактивного программирования. Кроме того, мы обсудим общие подводные камни, которых следует избегать, такие как неправильная инициализация состояния и обнародование изменяемых состояний.</p>
50
<p><a>Читать далее</a></p>
50
<p><a>Читать далее</a></p>
51
<h2>Миграция критически важного трафика в больших масштабах без простоев: опыт Netflix</h2>
51
<h2>Миграция критически важного трафика в больших масштабах без простоев: опыт Netflix</h2>
52
<p>Сотни миллионов пользователей ежедневно заходят на Netflix, ожидая получить непрерывный иммерсивный пользовательский опыт. Вместе с тем в организации правильного опыта участвуют множество систем и служб. Чтобы оправдать и превзойти ожидания клиентов, эти бэкенд-системы постоянно совершенствуются и оптимизируются.</p>
52
<p>Сотни миллионов пользователей ежедневно заходят на Netflix, ожидая получить непрерывный иммерсивный пользовательский опыт. Вместе с тем в организации правильного опыта участвуют множество систем и служб. Чтобы оправдать и превзойти ожидания клиентов, эти бэкенд-системы постоянно совершенствуются и оптимизируются.</p>
53
<p>При миграции систем одна из главных задач - обеспечить плавный переход трафика на обновлённую архитектуру без негативного влияния на пользовательский опыт. В этой публикации мы рассмотрим инструменты, техники и стратегии, которые мы использовали для достижения этой цели.</p>
53
<p>При миграции систем одна из главных задач - обеспечить плавный переход трафика на обновлённую архитектуру без негативного влияния на пользовательский опыт. В этой публикации мы рассмотрим инструменты, техники и стратегии, которые мы использовали для достижения этой цели.</p>
54
<p><a>Читать далее</a></p>
54
<p><a>Читать далее</a></p>
55
<h2>Знакомьтесь, SafeTest - новый подход к тестированию фронтенда</h2>
55
<h2>Знакомьтесь, SafeTest - новый подход к тестированию фронтенда</h2>
56
<p>В этой статье мы поговорим о SafeTest - революционной библиотеке, которая предлагает свежий взгляд на сквозные (E2E) тесты для веб-приложений с пользовательским интерфейсом.</p>
56
<p>В этой статье мы поговорим о SafeTest - революционной библиотеке, которая предлагает свежий взгляд на сквозные (E2E) тесты для веб-приложений с пользовательским интерфейсом.</p>
57
<p><a>Читать далее</a></p>
57
<p><a>Читать далее</a></p>
58
<h2>Тестирование рассылок: зачем проводить и что проверять в первую очередь</h2>
58
<h2>Тестирование рассылок: зачем проводить и что проверять в первую очередь</h2>
59
<p>В этой статье поговорим о том, почему важно тестировать электронные письма, какие элементы следует проверять в первую очередь и как облегчить процесс тестирования.<a></a></p>
59
<p>В этой статье поговорим о том, почему важно тестировать электронные письма, какие элементы следует проверять в первую очередь и как облегчить процесс тестирования.<a></a></p>
60
<p>Под тестированием рассылок понимаются методы проверки писем перед их отправкой. Email-маркетологи чаще занимаются анализом контента и A/B-тестированием кампаний. Для разработчиков и тестировщиков, которые работают с сервисами, отправляющими транзакционные рассылки, email-тестирование включает в себя более широкий<a>цикл</a>действий - от анализа HTML до обеспечения доставки писем.</p>
60
<p>Под тестированием рассылок понимаются методы проверки писем перед их отправкой. Email-маркетологи чаще занимаются анализом контента и A/B-тестированием кампаний. Для разработчиков и тестировщиков, которые работают с сервисами, отправляющими транзакционные рассылки, email-тестирование включает в себя более широкий<a>цикл</a>действий - от анализа HTML до обеспечения доставки писем.</p>
61
<p>О чём расскажу в этой статье:</p>
61
<p>О чём расскажу в этой статье:</p>
62
<ul><li>Важность тестирования рассылок</li>
62
<ul><li>Важность тестирования рассылок</li>
63
<li>4 болевые точки тестирования рассылок + обходные пути</li>
63
<li>4 болевые точки тестирования рассылок + обходные пути</li>
64
<li>Какие элементы тестируют в первую очередь</li>
64
<li>Какие элементы тестируют в первую очередь</li>
65
</ul><p><a>Читать далее</a></p>
65
</ul><p><a>Читать далее</a></p>
66
<h2>Как создать мультидокументный ридер и чат-бот с помощью LangChain и ChatGPT</h2>
66
<h2>Как создать мультидокументный ридер и чат-бот с помощью LangChain и ChatGPT</h2>
67
<p>Мы начнём с простого чат-бота, который может взаимодействовать только с одним документом; и закончим более продвинутым чат-ботом, который может взаимодействовать с несколькими различными документами и типами документов, а также сохранять историю чата - чтобы он мог отвечать на вопросы в контексте последних бесед.</p>
67
<p>Мы начнём с простого чат-бота, который может взаимодействовать только с одним документом; и закончим более продвинутым чат-ботом, который может взаимодействовать с несколькими различными документами и типами документов, а также сохранять историю чата - чтобы он мог отвечать на вопросы в контексте последних бесед.</p>
68
<p><a>Читать далее</a></p>
68
<p><a>Читать далее</a></p>
69
<h2>Как инженеры GitHub используют GitHub Copilot: 4 способа</h2>
69
<h2>Как инженеры GitHub используют GitHub Copilot: 4 способа</h2>
70
<p>Узнаем, как GitHub Copilot повышает эффективность работы инженеров из GitHub, позволяя автоматизировать повторяющиеся задачи, сохранять концентрацию и многое другое.<a></a></p>
70
<p>Узнаем, как GitHub Copilot повышает эффективность работы инженеров из GitHub, позволяя автоматизировать повторяющиеся задачи, сохранять концентрацию и многое другое.<a></a></p>
71
<p>Совсем недавно я занимался разработкой новой фичи для <a>чата GitHub Copilot</a>. Моя задача заключалась в том, чтобы чат мог распознавать зависимости проекта пользователя - это позволило бы ему давать умные ответы на вопросы пользователя. Я мог просто перечислить зависимости проекта и считать задачу выполненной; но я знал, что для извлечения высококачественных ответов из этих больших языковых моделей нужно быть осторожным - чтобы не перегрузить промпт и не сбить модель с толку, передав ей слишком много контекста. Это вызывало необходимость в предварительной обработке списка зависимостей и выборе наиболее релевантных для включения в промпт.</p>
71
<p>Совсем недавно я занимался разработкой новой фичи для <a>чата GitHub Copilot</a>. Моя задача заключалась в том, чтобы чат мог распознавать зависимости проекта пользователя - это позволило бы ему давать умные ответы на вопросы пользователя. Я мог просто перечислить зависимости проекта и считать задачу выполненной; но я знал, что для извлечения высококачественных ответов из этих больших языковых моделей нужно быть осторожным - чтобы не перегрузить промпт и не сбить модель с толку, передав ей слишком много контекста. Это вызывало необходимость в предварительной обработке списка зависимостей и выборе наиболее релевантных для включения в промпт.</p>
72
<p>На создание пригодных для машинной обработки форматов для самых известных фреймворков на разных языках программирования ушли бы дни. И в это время я обратился к Copilot.</p>
72
<p>На создание пригодных для машинной обработки форматов для самых известных фреймворков на разных языках программирования ушли бы дни. И в это время я обратился к Copilot.</p>
73
<p><a>Читать далее</a></p>
73
<p><a>Читать далее</a></p>
74
<a></a>
74
<a></a>