- 3d
- X
- adsl
- ajax
- android
- angularjs
- apache
- arduino
- avahi
- bash
- bug
- chrome
- codeception
- composer
- console
- cookies
- css
- cuda
- cups
- dbus
- dhcp
- dnf
- dns
- eclipse
- epson
- fedora
- firefox
- firewalld
- galileo
- gdm
- git
- gnome
- grub
- grunt
- icc
- ide
- idea
- ie
- jackd
- java
- javascript
- json
- jsvascript
- kde
- linux
- mc
- midi
- mikrotik
- mono
- mysql
- network
- nginx
- nodejs
- nvidia
- office
- ogre3d
- openvpn
- openwrt
- pgsql
- php
- phpstorm
- phpunit
- pipewire
- pulseaudio
- python
- qt
- raspberry pi
- re
- redis
- repetierhost
- rpm
- ruby
- sane
- secureboot
- selinux
- shell
- sql
- ssh
- svn
- symfony2
- systemd
- tdd
- uefi
- vagrant
- virtualbox
- virtualization
- vpn
- web
- windows
- wine
- x264
- xdebug
- xmonad
- yii
- yii2
- Алгоритмы
- автоматизация
- администрирование
- анализ данных
- аудио
- баги
- вебинары
- графика
- клавиатура
- консоль
- криптоанализ
- криптография
- математика
- навигация
- обработка изображений
- обработка текста
- отладка
- очевидное-невероятное
- ошибки
- печать
- программирование
- сеть
- тестирование по
- фотография
- цвет
- шифры
- шрифты
3d
X
adsl
ajax
android
- Android: Настройка android emulator в windows (windowsandroidvirtualizationbug)
- Android Studio: на устройстве не осталось свободного места (androidjavalinux)
angularjs
- AngularJS: сервисы, фабрики, провайдеры (angularjsjavascript)
- Google JS API для AngularJS (angularjsgooglejavascript)
- Несколько советов по оптимизации приложений на Angular JS (angularjsjavascript)
- AngularJS: простой прогресс-бар (angularjsjavascript)
- AngularJS: забавная особенность bindonce (angularjsjavascript)
- AngularJS: пример автоматического скролла (angularjs)
- AngularJS: реагируем на изменение состояния объекта (angularjsjavascript)
- AngularJS: Динамический диапазон для select (angularjsjavascript)
apache
arduino
- Intel Galileo IDE и Linux (arduinogalileoidelinux)
- Полезные ссылки (arduinoАлгоритмыgitlinuxphppythonraspberry pi)
avahi
bash
- Xorg: двигаем мышку (shelllinuxbashX)
- Shell: генерируем последовательность дат (shelllinuxbash)
- Bash: Передача аргументов в кавычках (bashlinux)
- Bash: подстановка процесса (bashlinux)
- Linux: определяем тип файла (bashlinuxoffice)
- Обновление нескольких git-репозитариев в папке (bashgitlinux)
- Bash: копирование файлов из списка (bash)
- Многопоточная компрессия и tar (bashlinux)
- Делаем подсветку синтаксиса для less (bashlinuxpython)
bug
chrome
codeception
- PHPStorm: Запускаем тесты на удаленной машине с возможностью отладки (codeceptionlinuxphptdd)
- Часть 9: Codeception. Настройка. Unit-тесты (Тестирование ПО) (codeceptionphpyii)
composer
console
- KDE: Dolphin не может создать файл на nfs, а консоль может (kdeconsolenetworklinux)
- Python: парсим аргументы командной строки (pythonconsole)
cookies
css
cuda
cups
dbus
- SDDM: Переключаем раскладку автоматически при блокировании экрана (linuxsystemddbus)
- KDE: Переключаем раскладку из консоли (linuxkdedbus)
dhcp
dnf
dns
eclipse
epson
fedora
- Dnf: смотрим содержимое пакетов (shelllinuxfedoradnf)
- Fedora: гибернация (администрированиеfedoralinux)
- Fedora перестает грузиться на UEFI после обновения (и показывает MOK) (fedoralinuxuefi)
- Fedora Server: послеустановочные шаги. (fedoralinux)
firefox
firewalld
galileo
gdm
git
- Windows: как подружить git и встроенный ssh (windowsgitssh)
- Git: откат мержа, который не был запушен (git)
- Обновление нескольких git-репозитариев в папке (bashgitlinux)
- GitLab: обновление бандлов ruby (gitlinuxruby)
- Полезные ссылки (arduinoАлгоритмыgitlinuxphppythonraspberry pi)
- Git: выделяем глобальный репозитарий для проекта (git)
gnome
- Linux: несколько способов монтирования образов (shelllinuxgnome)
- Gnome: очень медленный диалог поиска (shelllinuxgnomenetwork)
- Linux: Раскладка переключается не с первого раза (клавиатураgdmgnomelinux)
grub
grunt
icc
ide
- PyCharm заставляем terminal работать с virtualenv (ide)
- Intel Galileo IDE и Linux (arduinogalileoidelinux)
idea
ie
jackd
- MIDI: Превращаем сообщения в нажатия кнопок клавиатуры (jackdlinuxmidi)
- PulseAudio: Перенаправление потоков аля jackd (jackdlinuxpulseaudio)
- Jackd: Измеряем задержку аудио сигнала в цепочке обработки (аудиоjackdlinux)
java
- IDEA: Не работает превью для Markdown (linuxideajava)
- Android Studio: на устройстве не осталось свободного места (androidjavalinux)
- PHPStorm (PyCharm и др.) и XMonad (javalinuxxmonad)
- Unknown keycode 0x0 (javalinux)
javascript
- Печать в Chrome без подтверждения (chromejavascriptweb)
- JavaScript: копируем img в canvas (javascript)
- AngularJS: сервисы, фабрики, провайдеры (angularjsjavascript)
- JavaScript и области видимости (javascript)
- Firefox: NS_ERROR_FILE_CORRUPTED (ошибкиjavascript)
- window.location - не всегда оно работает как надо (багиjavascript)
- Ajax и заголовок location: особенности (ajaxjavascriptphp)
- Cookies: с ними нужно быть внимательным (cookiesjavascriptphp)
- Grunt для самых маленьких (cssgruntjavascript)
- Google JS API для AngularJS (angularjsgooglejavascript)
- Удаленная отладка в Google Chrome/Chromium (отладкаjavascript)
- Несколько советов по оптимизации приложений на Angular JS (angularjsjavascript)
- Интересное в сети (Алгоритмыанализ данныхкриптографияjavascriptlinux)
- Управление зависимостями проекта при помощи bower+composer (автоматизацияjavascriptphp)
- AngularJS: простой прогресс-бар (angularjsjavascript)
- AngularJS: забавная особенность bindonce (angularjsjavascript)
- AngularJS: реагируем на изменение состояния объекта (angularjsjavascript)
- Р? (Декодируем html-entities при помощи jQuery) (javascript)
- JS: аналог str_repeat (javascriptphp)
- AngularJS: Динамический диапазон для select (angularjsjavascript)
- Chrome: события focus и blur (javascript)
- RxJS: oneInTime (javascript)
- AngularJS: $digest already in progress (javascript)
json
jsvascript
kde
- KDE: Dolphin не может создать файл на nfs, а консоль может (kdeconsolenetworklinux)
- KDE: Переключаем раскладку из консоли (linuxkdedbus)
- Qt: настройка системы рендеринга (kdelinuxqt)
- Eclipse: корявый интерфейс в KDE (eclipsekdelinux)
- KDE: обновление меню после установки пакетов (kdelinux)
linux
- Linux: Создание rescue-записи grub в Fedora (linux)
- KDE: Dolphin не может создать файл на nfs, а консоль может (kdeconsolenetworklinux)
- SDDM: Переключаем раскладку автоматически при блокировании экрана (linuxsystemddbus)
- KDE: Переключаем раскладку из консоли (linuxkdedbus)
- Linux: Система засыпает при заблокированном сеансе (linux)
- IDEA: Не работает превью для Markdown (linuxideajava)
- Linux: несколько способов монтирования образов (shelllinuxgnome)
- Gnome: очень медленный диалог поиска (shelllinuxgnomenetwork)
- PDF: уменьшаем размер файла (shelllinuxpdf)
- Dnf: смотрим содержимое пакетов (shelllinuxfedoradnf)
- Xorg: двигаем мышку (shelllinuxbashX)
- Shell: генерируем последовательность дат (shelllinuxbash)
- Sed: полезные советы (shelllinuxобработка текста)
- Systemd: Перезагружаем pipewire после спячки (pipewirelinuxsystemd)
- MIDI: Превращаем сообщения в нажатия кнопок клавиатуры (jackdlinuxmidi)
- PulseAudio: Перенаправление потоков аля jackd (jackdlinuxpulseaudio)
- Jackd: Измеряем задержку аудио сигнала в цепочке обработки (аудиоjackdlinux)
- Linux: Настраиваем МФУ pantum (cupsадминистрированиеlinuxsane)
- Linux: Обрабатываем RAW-изображения (консольlinuxфотография)
- OpenWRT: Настройка после установки (linuxopenwrt)
- Linux: XScreenSaver не гасит подсветку монитора (linux)
- Linux: Раскладка переключается не с первого раза (клавиатураgdmgnomelinux)
- PHPStorm: Запускаем тесты на удаленной машине с возможностью отладки (codeceptionlinuxphptdd)
- Bash: Передача аргументов в кавычках (bashlinux)
- Bash: подстановка процесса (bashlinux)
- PHP: Самые распространенные проблемы при работе с сессиями (linuxphpselinux)
- Fedora: сборка пакетов из src.rpm (linuxrpm)
- Garmin в Linux: загрузка карт OSM (навигацияlinuxwine)
- sudo: sorry, you must have a tty to run sudo (администрированиеlinuxssh)
- Android Studio: на устройстве не осталось свободного места (androidjavalinux)
- Fedora/CentOS: Не работает vpn подключение по pptp (firewalldlinuxvpn)
- Linux: определяем тип файла (bashlinuxoffice)
- Управление цветом в Linux (icclinuxцветselinux)
- Fedora: гибернация (администрированиеfedoralinux)
- No Bootable Device после обновления дистрибутива (grublinuxuefi)
- Linux: произвольное падение приложений на mono (linuxmonorepetierhost)
- Fedora перестает грузиться на UEFI после обновения (и показывает MOK) (fedoralinuxuefi)
- OpenWRT: блокировка рекламы (linux)
- Как жить в локальной сети без dns для локальных ресурсов (dnslinuxсеть)
- Обновление нескольких git-репозитариев в папке (bashgitlinux)
- PHPStorm (PyCharm и др.) и XMonad (javalinuxxmonad)
- Raspbian - это не Debian (linuxraspberry pi)
- MC (midnight commander): вы не умеете его готовить. (linuxmcshell)
- OpenVPN: Настройка на собственном сервере. Часть 4 - конфигурация клиента. (linuxopenvpn)
- OpenVPN: Настройка на собственном сервере. Часть 3 — iptables (linuxopenvpn)
- OpenVPN: Настройка на собственном сервере. Часть 2 — конфигурация сервера. (linuxopenvpn)
- OpenVPN: Настройка на собственном сервере. Часть 1 — сертификаты. (linuxopenvpn)
- OpenVPN: Настройка на собственном сервере. Часть 0 - подготовка системы. (linuxopenvpn)
- XMonad, Qt и LibreOffice - проблемы рендеринга приложений (linuxqtxmonad)
- Linux: связываем приложение с типами файлов (консольlinux)
- Qt: настройка системы рендеринга (kdelinuxqt)
- Eclipse: корявый интерфейс в KDE (eclipsekdelinux)
- Nginx: редирект на другую платформу/площадку при 404 (linuxnginx)
- Fedora: сброс политик SELinux в дефолт (linuxselinux)
- GitLab: обновление бандлов ruby (gitlinuxruby)
- Raspbian: swapfile (linux)
- NodeJS: скажем нет чехарде с версиями (linuxnodejs)
- KDE: обновление меню после установки пакетов (kdelinux)
- Настройка торрент-клиента deluge на удаленном сервере (linux)
- Fedora Server: послеустановочные шаги. (fedoralinux)
- tmux + mc + ssh (linux)
- OpenSUSE и шрифты (linuxшрифты)
- Linux и запись вебкастов (вебинарыlinuxx264)
- Многопоточная компрессия и tar (bashlinux)
- Tmux - лучшая альтернатива screen (linux)
- Intel Galileo IDE и Linux (arduinogalileoidelinux)
- Делаем подсветку синтаксиса для less (bashlinuxpython)
- Запускаем Dwarf Fortress на Fedora, Ubuntu и др. x64 (linux)
- Fedora+Nvidia=CUDA (cudalinuxnvidia)
- Firefox+Linux+MiddleButton (firefoxlinux)
- Интересное в сети (Алгоритмыанализ данныхкриптографияjavascriptlinux)
- Yum: поиск пакетов установленных из какого-то репозитария (linux)
- Локальный DNS для разработчика (linux)
- Полезные ссылки (arduinoАлгоритмыgitlinuxphppythonraspberry pi)
- Unknown keycode 0x0 (javalinux)
- Включение TRIM на SSD с LVM/LUKS (linux)
- tc-play. Небольшая памятка про криптоконтейнеры (linux)
- PHP: указываем include_path в качестве аргумента (linuxphp)
- Google translate via cli (linux)
- Linux: именованные каналы (linux)
- WINE: создание 32х битного префикса (linuxwine)
- Пакетное конвертирование line-ending в linux (linuxshell)
- Named: обновляем список корневых dns (linux)
- Linux: wine64, opengl, nvidia (linux)
- Firefox, Linux, Gnome: флеш-плеер в полноэкранном режиме не отображается (linux)
- Очень медленная загрузка Fedora (linux)
- Linux: Включение субпиксельного рендеринга (linux)
mc
midi
mikrotik
mono
mysql
- Часть 8: DBUnit (Тестирование ПО) (mysqlтестирование поphpunityii)
- Часть 6: Самописный тестовый фреймворк (Тестирование ПО) (mysqlтестирование поphpunityii2)
- Часть 5: Подготовка базы данных, миграции (Тестирование ПО) (mysqlphpyii2)
network
- KDE: Dolphin не может создать файл на nfs, а консоль может (kdeconsolenetworklinux)
- Gnome: очень медленный диалог поиска (shelllinuxgnomenetwork)
nginx
nodejs
nvidia
office
ogre3d
openvpn
- OpenVPN: Настройка на собственном сервере. Часть 4 - конфигурация клиента. (linuxopenvpn)
- OpenVPN: Настройка на собственном сервере. Часть 3 — iptables (linuxopenvpn)
- OpenVPN: Настройка на собственном сервере. Часть 2 — конфигурация сервера. (linuxopenvpn)
- OpenVPN: Настройка на собственном сервере. Часть 1 — сертификаты. (linuxopenvpn)
- OpenVPN: Настройка на собственном сервере. Часть 0 - подготовка системы. (linuxopenvpn)
openwrt
pgsql
php
- PHPStorm: Запускаем тесты на удаленной машине с возможностью отладки (codeceptionlinuxphptdd)
- PHP: Самые распространенные проблемы при работе с сессиями (linuxphpselinux)
- PHP: Отлаживаем скрипты командной строки на удаленной машине (phpphpstormxdebug)
- PHP: и 64х битные числа (php)
- Часть 9: Codeception. Настройка. Unit-тесты (Тестирование ПО) (codeceptionphpyii)
- Часть 7: PHPUnit (Тестирование ПО) (тестирование поphpphpunityii2)
- Часть 5: Подготовка базы данных, миграции (Тестирование ПО) (mysqlphpyii2)
- Часть 3: Разработка через тестирование, TDD (Тестирование ПО) (composerphpphpunittdd)
- Часть 2: Тестирование простого приложения (Тестирование ПО) (тестирование поphp)
- PHP: дело о загадачном пробеле (apacheошибкиphp)
- PHP: array_map и ключи массива (php)
- PHP+Apache: глюк? (php)
- Symfony2: страница 404 и авторизация (phpsymfony2)
- Symfony2: обработка исключения 404 (phpsymfony2)
- Symfony2, Doctrine2, Postgresql и кодировки (pgsqlphpsymfony2)
- Symfony2: cannot redeclarate class (phpsymfony2)
- Ajax и заголовок location: особенности (ajaxjavascriptphp)
- Cookies: с ними нужно быть внимательным (cookiesjavascriptphp)
- PHP: Cannot determine default value for internal functions (php)
- Полезные ссылки (arduinoАлгоритмыgitlinuxphppythonraspberry pi)
- Управление зависимостями проекта при помощи bower+composer (автоматизацияjavascriptphp)
- PHP: указываем include_path в качестве аргумента (linuxphp)
- Unicode characters to html entities (jsonphp)
- PHP: дизассемблирование (php)
- PHP: метрика времени выполнения функции (php)
- JS: аналог str_repeat (javascriptphp)
phpstorm
phpunit
- Часть 8: DBUnit (Тестирование ПО) (mysqlтестирование поphpunityii)
- Часть 7: PHPUnit (Тестирование ПО) (тестирование поphpphpunityii2)
- Часть 6: Самописный тестовый фреймворк (Тестирование ПО) (mysqlтестирование поphpunityii2)
- Часть 3: Разработка через тестирование, TDD (Тестирование ПО) (composerphpphpunittdd)
pipewire
pulseaudio
python
- Python: парсим аргументы командной строки (pythonconsole)
- Разработка на Python с использованием virtualenv (python)
- Python 3+ и окончания строк в файлах (python)
- BeautifulSoup innerHTML (python)
- Python3: feedparser unicode error (python)
- Мониторинг обмена данными с serial-портом (отладкаpython)
- Делаем подсветку синтаксиса для less (bashlinuxpython)
- Полезные ссылки (arduinoАлгоритмыgitlinuxphppythonraspberry pi)
- Python: Подсчет уникальных объектов в коллекции (python)
- Python: Backreferences в re (pythonre)
- Python 2.X: utf8 (python)
qt
- XMonad, Qt и LibreOffice - проблемы рендеринга приложений (linuxqtxmonad)
- Qt: настройка системы рендеринга (kdelinuxqt)
raspberry pi
- Raspbian - это не Debian (linuxraspberry pi)
- Полезные ссылки (arduinoАлгоритмыgitlinuxphppythonraspberry pi)
re
redis
repetierhost
rpm
ruby
sane
secureboot
selinux
- PHP: Самые распространенные проблемы при работе с сессиями (linuxphpselinux)
- Управление цветом в Linux (icclinuxцветselinux)
- Fedora: сброс политик SELinux в дефолт (linuxselinux)
shell
- Linux: несколько способов монтирования образов (shelllinuxgnome)
- Gnome: очень медленный диалог поиска (shelllinuxgnomenetwork)
- PDF: уменьшаем размер файла (shelllinuxpdf)
- Dnf: смотрим содержимое пакетов (shelllinuxfedoradnf)
- Xorg: двигаем мышку (shelllinuxbashX)
- Shell: генерируем последовательность дат (shelllinuxbash)
- Sed: полезные советы (shelllinuxобработка текста)
- MC (midnight commander): вы не умеете его готовить. (linuxmcshell)
- Пакетное конвертирование line-ending в linux (linuxshell)
sql
- psql: перенаправляем вывод в файл (sql)
- PostgreSQL: bytea в varchar (sql)
- PostgreSQL: ограничиваем время выполнения запроса (sql)
- PostgreSQL: insert on duplicate key (sql)
ssh
- Windows: как подружить git и встроенный ssh (windowsgitssh)
- sudo: sorry, you must have a tty to run sudo (администрированиеlinuxssh)
svn
symfony2
- Symfony2: страница 404 и авторизация (phpsymfony2)
- Symfony2: обработка исключения 404 (phpsymfony2)
- Symfony2, Doctrine2, Postgresql и кодировки (pgsqlphpsymfony2)
- Symfony2: cannot redeclarate class (phpsymfony2)
systemd
- SDDM: Переключаем раскладку автоматически при блокировании экрана (linuxsystemddbus)
- Systemd: Перезагружаем pipewire после спячки (pipewirelinuxsystemd)
- Ошибка юнита systemd-modules-load.service (securebootsystemduefi)
tdd
- PHPStorm: Запускаем тесты на удаленной машине с возможностью отладки (codeceptionlinuxphptdd)
- Часть 4: Подготовка окружение (vagrant + PuPHPet) (Тестирование ПО) (тестирование поtddvagrant)
- Часть 3: Разработка через тестирование, TDD (Тестирование ПО) (composerphpphpunittdd)
- Часть 1: краткая историческая справка (Тестирование ПО) (тестирование поtdd)
uefi
- Ошибка юнита systemd-modules-load.service (securebootsystemduefi)
- No Bootable Device после обновления дистрибутива (grublinuxuefi)
- Fedora перестает грузиться на UEFI после обновения (и показывает MOK) (fedoralinuxuefi)
vagrant
virtualbox
- Изменение размера vmdk-диска (virtualbox)
- VirtualBox: получение адреса гостевой машины (dhcpvirtualbox)
virtualization
vpn
web
windows
- Windows: как подружить git и встроенный ssh (windowsgitssh)
- Android: Настройка android emulator в windows (windowsandroidvirtualizationbug)
wine
- Linux: Избавляемся от файловых ассоциаций WINE (wine)
- Garmin в Linux: загрузка карт OSM (навигацияlinuxwine)
- WINE: создание 32х битного префикса (linuxwine)
x264
xdebug
xmonad
- Xmonad: Фиксим менюшки у saleae logic (xmonad)
- PHPStorm (PyCharm и др.) и XMonad (javalinuxxmonad)
- XMonad, Qt и LibreOffice - проблемы рендеринга приложений (linuxqtxmonad)
yii
- Часть 9: Codeception. Настройка. Unit-тесты (Тестирование ПО) (codeceptionphpyii)
- Часть 8: DBUnit (Тестирование ПО) (mysqlтестирование поphpunityii)
yii2
- Часть 7: PHPUnit (Тестирование ПО) (тестирование поphpphpunityii2)
- Часть 6: Самописный тестовый фреймворк (Тестирование ПО) (mysqlтестирование поphpunityii2)
- Часть 5: Подготовка базы данных, миграции (Тестирование ПО) (mysqlphpyii2)
Алгоритмы
- Интересное в сети (Алгоритмыанализ данныхкриптографияjavascriptlinux)
- Полезные ссылки (arduinoАлгоритмыgitlinuxphppythonraspberry pi)
- Судоку (Алгоритмы)
автоматизация
администрирование
- Linux: Настраиваем МФУ pantum (cupsадминистрированиеlinuxsane)
- sudo: sorry, you must have a tty to run sudo (администрированиеlinuxssh)
- Fedora: гибернация (администрированиеfedoralinux)
- Как организовать собственную доменную зону (windows) (администрирование)
анализ данных
аудио
баги
вебинары
графика
клавиатура
консоль
- Linux: Обрабатываем RAW-изображения (консольlinuxфотография)
- Linux: связываем приложение с типами файлов (консольlinux)
- Сгенерировать латинский алфавит (консоль)
- Подсчет вхождений слов в файле (консольобработка текста)
- Подсчет количества вхождений регэкспа в файле (консоль)
криптоанализ
криптография
математика
навигация
обработка изображений
- Kinect: о восстановлении координат и абберациях разного рода (обработка изображений)
- Kinect: избавляемся от искажений при помощи потолка (обработка изображений)
- Концепт: нормируем яркость изображений (обработка изображений)
- Выявление фальшивых фотографий через несовместимые тени (обработка изображений)
обработка текста
- Sed: полезные советы (shelllinuxобработка текста)
- Подсчет вхождений слов в файле (консольобработка текста)
отладка
- Мониторинг обмена данными с serial-портом (отладкаpython)
- Удаленная отладка в Google Chrome/Chromium (отладкаjavascript)
- gdb: запуск приложения (отладка)
очевидное-невероятное
ошибки
- PHP: дело о загадачном пробеле (apacheошибкиphp)
- Firefox: NS_ERROR_FILE_CORRUPTED (ошибкиjavascript)
печать
программирование
- Отладочные средства для JS (программирование)
- Цикл зрелости технологии (программирование)
- Дизассемблирование простого кода (linux) (программирование)
- gcc: защита от переполнения стека (программирование)
сеть
- Mikrotik: multicast в wireless-сетях (avahimikrotikсеть)
- Как жить в локальной сети без dns для локальных ресурсов (dnslinuxсеть)
тестирование по
- Часть 8: DBUnit (Тестирование ПО) (mysqlтестирование поphpunityii)
- Часть 7: PHPUnit (Тестирование ПО) (тестирование поphpphpunityii2)
- Часть 6: Самописный тестовый фреймворк (Тестирование ПО) (mysqlтестирование поphpunityii2)
- Часть 4: Подготовка окружение (vagrant + PuPHPet) (Тестирование ПО) (тестирование поtddvagrant)
- Часть 2: Тестирование простого приложения (Тестирование ПО) (тестирование поphp)
- Часть 1: краткая историческая справка (Тестирование ПО) (тестирование поtdd)