журнал «Радиоконструктор» — Информация
«Радиоконструктор» №1 за 2013 год (январь) сдан на почту для рассылки подписчикам 28.12.2012г.
«Радиоконструктор» №2 за 2013 год (февраль) сдан на почту для рассылки подписчикам 27.01.2013г.
«Радиоконструктор» №3 за 2013 год (март) сдан на почту для рассылки подписчикам 26.02.2013г.
«Радиоконструктор» №4 за 2013 год (апрель) сдан на почту для рассылки подписчикам 27.03.2013г.
«Радиоконструктор» №5 за 2013 год (май) сдан на почту для рассылки подписчикам 29.04.2013г.
«Радиоконструктор» №6 за 2013 год (июнь) сдан на почту для рассылки подписчикам 28.05.2013г.
«Радиоконструктор» №7 за 2013 год (июль) сдан на почту для рассылки подписчикам 27.06.2013г.
«Радиоконструктор» №8 за 2013 год (август) сдан на почту для рассылки подписчиками 29.07.2013г.
«Радиоконструктор» №9 за 2013 год (сентябрь) сдан на почту для рассылки подписчикам 28.08.2013г.
«Радиоконструктор» №10 за 2013 год (октябрь) сдан на почту для рассылки подписчикам 27.09.2013г.
«Радиоконструктор» №11 за 2013 год (ноябрь) сдан на почту для рассылки подписчикам 28.10.2013г.
«Радиоконструктор» №12 за 2013 год (декабрь) сдан на почту для рассылки подписчикам 26.11.2013г.
«Радиоконструктор» №1 за 2014 год (январь) сдан на почту для рассылки подписчикам 29.12.2013г.
«Радиоконструктор» №2 за 2014 год (февраль) сдан на почту для рассылки подписчикам 27.01.2014г.
«Радиоконструктор» №3 за 2014 год (март) сдан на почту для рассылки подписчикам 26.02.2014 г.
«Радиоконструктор» №4 за 2014 год (апрель) сдан на почту для рассылки подписчикам 28.03.2014 г.
«Радиоконструктор» №5 за 2014 год (май) сдан на почту для рассылки подписчикам 28.04.2014 г.
«Радиоконструктор» №6 за 2014 год (июнь) сдан на почту для рассылки подписчикам 28.05.2014 г.
«Радиоконструктор» №7 за 2014 год (июль) сдан на почту для рассылки подписчикам 28.06.2014 г.
«Радиоконструктор» №8 за 2014 год (август) сдан на почту для рассылки подписчикам 28.07.2014 г.
«Радиоконструктор» №9 за 2014 год (сентябрь) сдан на почту для рассылки подписчикам 28.08.2014 г.
«Радиоконструктор» №10 за 2014 год (октябрь) сдан на почту для рассылки подписчикам 29.09.2014 г.
«Радиоконструктор» №11 за 2014 год (ноябрь) сдан на почту для рассылки подписчикам 28.10.2014 г.
«Радиоконструктор» №12 за 2014 год (декабрь) сдан на почту для рассылки подписчикам 27.11.2014 г.
«Радиоконструктор» №1 за 2015 год (январь) сдан на почту для рассылки подписчиками 29.12.2014 г.
«Радиоконструктор» №2 за 2015 год (февраль) сдан на почту для рассылки подписчикам 27.01.2015 г.
«Радиоконструктор» №3 за 2015 год (март) сдан на почту для рассылки подписчикам 27.02.2015 г.
«Радиоконструктор» №4 за 2015 год (апрель) сдан на почту для рассылки подписчикам 27.03.2015 г.
«Радиоконструктор» №5 за 2015 год (май) сдан на почту для рассылки подписчикам 29.04.2015 г.
«Радиоконструктор» №6 за 2015 год (июнь) сдан на почту для рассылки подписчикам 27.05.2015 г.
«Радиоконструктор» №7 за 2015 год (июль) сдан на почту для рассылки подписчикам 29.06.2015 г.
«Радиоконструктор» №8 за 2015 год (август) сдан на почту для рассылки подписчикам 28.07.2015 г.
«Радиоконструктор» №9 за 2015 год (сентябрь) сдан на почту для рассылки подписчикам 27.08.2015 г.
«Радиоконструктор» №10 за 2015 год (октябрь) сдан на почту для рассылки подписчикам 28.09.2015 г.
«Радиоконструктор» №11 за 2015 год (ноябрь) сдан на почту для рассылки подписчикам 28.10.2015 г.
«Радиоконструктор» №12 за 2015 год (декабрь) сдан на почту для рассылки подписчикам 27.11.2015 г.
«Радиоконструктор» №1 за 2016 год (январь) сдан на почту для рассылки подписчикам 28.12.2015 г.
«Радиоконструктор» №2 за 2016 год (февраль) сдан на почту для рассылки подписчикам 27.01.2016 г.
«Радиоконструктор» №3 за 2016 год (март) сдан на почту для рассылки подписчикам 29.02.2016 г.
«Радиоконструктор» №4 за 2016 год (апрель) сдан на почту для рассылки подписчикам 28.03.2016 г.
«Радиоконструктор» №5 за 2016 год (май) сдан на почту для рассылки подписчикам 27.04.2016 г.
«Радиоконструктор» №6 за 2016 год (июнь) сдан на почту для рассылки подписчикам 27.05.2016г.
«Радиоконструктор» №7 за 2016 год (июль) сдан на почту для рассылки подписчикам 29.06.2016 г.
«Радиоконструктор» №8 за 2016 год (август) сдан на почту для рассылки подписчикам 28.07.2016 г.
«Радиоконструктор» №9 за 2016 год (сентябрь) сдан на почту для рассылки подписчикам 28.08.2016 г.
«Радиоконструктор» №10 за 2016 год (октябрь) сдан на почту для рассылки подписчикам 28.09.2016 г.
«Радиоконструктор» №11 за 2016 год (ноябрь) сдан на почту для рассылки подписчикам 27.10.2016 г.
«Радиоконструктор» №12 за 2016 год (декабрь) сдан на почту для рассылки подписчикам 26.11.2016 г.
«Радиоконструктор» №1 за 2017 год (январь) сдан на почту для рассылки подписчикам 27.12.2016 г.
«Радиоконструктор» №2 за 2017 год (февраль) сдан на почту для рассылки подписчикам 27.01.2017г.
«Радиоконструктор» №3 за 2017 год (март) сдан на почту для рассылки подписчикам 26.02.2017г.
«Радиоконструктор» №4 за 2017 год (апрель) сдан на почту для рассылки подписчикам 27.03.2017г.
«Радиоконструктор» №5 за 2017 год (май) сдан на почту для рассылки подписчикам 27.04.2017г.
«Радиоконструктор» №6 за 2017 год (июнь) сдан на почту для рассылки подписчикам 28.05.2017г.
«Радиоконструктор» №7 за 2017 год (июль) сдан на почту для рассылки подписчикам 28.06.2017 г.
«Радиоконструктор» №8 за 2017 год (август) сдан на почту для рассылки подписчикам 27.07.2017 г.
«Радиоконструктор» №9 за 2017 год (сентябрь) сдан на почту для рассылки подписчикам 04.09.2017 г.
«Радиоконструктор» №10 за 2017 год (октябрь) сдан на почту для рассылки подписчикам 27.09.2017 г.
«Радиоконструктор» №11 за 2017 год (ноябрь) сдан на почту для рассылки подписчикам 26.10.2017 г.
«Радиоконструктор» №12 за 2017 год (декабрь) сдан на почту для рассылки подписчикам 27.11.2017 г.
«Радиоконструктор» №1 за 2018 год (январь) сдан на почту для рассылки подписчикам 27.12.2017г.
«Радиоконструктор» №2 за 2018 год (февраль) сдан на почту для рассылки подписчикам 26.01.2018г.
«Радиоконструктор» №3 за 2018 год (март) сдан на почту для рассылки подписчикам 27.02.2018г.
«Радиоконструктор» №4 за 2018 год (апрель) сдан на почту для рассылки подписчикам 27.03.2018 г.
«Радиоконструктор» №5 за 2018 год (май) сдан на почту для рассылки подписчикам 27.04.2018 г.
«Радиоконструктор» №6 за 2018 год (июнь) сдан на почту для рассылки подписчикам 28.05.2018 г.
«Радиоконструктор» №7 за 2018 год (июль) сдан на почту для рассылки подписчикам 27.06.2018 г.
«Радиоконструктор» №8 за 2018 год (август) сдан на почту для рассылки подписчикам 26.07.2018 г.
«Радиоконструктор» №9 за 2018 год (сентябрь) сдан на почту для рассылки подписчикам 27.08.2018 г.
«Радиоконструктор» №10 за 2018 год (октябрь) сдан на почту для рассылки подписчикам 27.09.2018 г.
«Радиоконструктор» №11 за 2018 год (ноябрь) сдан на почту для рассылки подписчикам 26.10.2018 г.
«Радиоконструктор» №12 за 2018 год (декабрь) сдан на почту для рассылки подписчикам 27.11.2018г.
«Радиоконструктор» №1 за 2019 год (январь) сдан на почту для рассылки подписчикам 26.12.2018 г.
«Радиоконструктор» №2 за 2019 год (февраль) сдан на почту для рассылки подписчикам 28.01.2019г.
«Радиоконструктор» №3 за 2019 год (март) сдан на почту для рассылки подписчикам 26.02.2019 г.
«Радиоконструктор» №4 за 2019 год (апрель) сдан на почту для рассылки подписчикам 26.03.2019 г.
«Радиоконструктор» №5 за 2019 год (май) сдан на почту для рассылки подписчикам 27.04.2019 г.
«Радиоконструктор» №6 за 2019 год (июнь) сдан на почту для рассылки подписчикам 27.05.2019г.
«Радиоконструктор» №7 за 2019 год (июль) сдан на почту для рассылки подписчикам 26.06.2019 г.
«Радиоконструктор» №8 за 2019 год (август) сдан на почту для рассылки подписчикам 26.07.2019 г.
«Радиоконструктор» №9 за 2019 год (сентябрь) сдан на почту для рассылки подписчикам 26.08.2019г.
«Радиоконструктор»№10 за 2019 год (октябрь) сдан на почту для рассылки подписчикам 26.09.2019г.
«Радиоконструктор»№11 за 2019 год (ноябрь) сдан на почту для рассылки подписчикам 26.10.2019г.
«Радиоконструктор»№12за 2019 год (декабрь) сдан на почту для рассылки подписчикам 26.11.2019 г.
«Радиоконструктор»№1 за 2020 год (январь) сдан на почту для рассылки подписчикам 26.12.2019г.
«Радиоконструктор»№2 за 2020 год (февраль) сдан на почту для рассылки подписчикам 27.01.2020г.
«Радиоконструктор»№3 за 2020 год (март) сдан на почту для рассылки подписчикам 27.02.2020г.
«Радиоконструктор» №4 за 2020 год (апрель) сдан на почту для рассылки полдписчикам 27.03.2020 г.
«Радиоконструктор» №5 за 2020 год (май) сдан на почту для рассылки подписчикам 27.04.2020 г.
«Радиоконструктор» №6 за 2020 год (июнь) сдан на почту для рассылки подписчикам 27.05.2020 г.
«Радиоконструктор» №7 за 2020 год (июль) сдан на почту для рассылки подписчикам 26.06.2020 г.
«Радиоконструктор» №8 за 2020 год (август) сдан на почту для рассылки подписчикам 26.07.2020 г.
«Радиоконструктор» №9 за 2020 год (сентябрь) сдан на почту для рассылки подписчикам 25.08.2020 г.
«Радиоконструктор» №10 за 2020 год (октябрь) сдан на почту для рассылки подписчикам 25.09.2020 г.
«Радиоконструктор» №11 за 2020 год (ноябрь) сдан на почту для рассылки подписчикам 26.10.2020 г.
«Радиоконструктор» №12 за 2020 год (декабрь) сдан на почту для рассылки подписчикам 25.11.2020 г.
«Радиоконструктор» №1 за 2021 год (январь) сдан на почту для рассылки подписчикам 25.12.2020 г.
«Радиоконструктор» №2 за 2021 год (февраль) сдан на почту для рассылки подписчикам 25.01.2021 г.
«Радиоконструктор» №3 за 2021 год (март) сдан на почту для рассылки подписчикам 25.02.2021 г.
«Радиоконструктор» №4 за 2021 год (апрель) сдан на почту для рассылки подписчикам 25.03.2021г.
«Радиоконструктор» №5 за 2021 год (май) сдан на почту для рассылки подписчикам 25.04.2021 г.
«Радиоконструктор» №6 за 2021 год (июнь) сдан на почту для рассылки подписчикам 25.05.2021 г.
«Радиоконструктор» №7 за 2021 год (июль) сдан на почту для рассылки подписчикам 25.06.2021 г.
Периодически в интернете на файлообменниках появляются суррогатные версии различных печатных изданий, в том числе и «Радиоконструктора». По всей видимости некоторые «деятели» решили не тратить время и деньги на поиск оригинальных изданий, а «издавать» их самостоятельно, ведь для них не важна достоверность информации, а только число обращений к их рессурсам. Практически из какой-нибудь рекламы издания берут обложку последнего номера и страницу содержания, либо первые несколько демонстрационных страниц, а затем заполняют журнал материалом, «надерганным» из изданий на прошлые годы. Далее этот суррогат размещают на файлообменниках.
В связи с этим редакция журнала «Радиоконструктор» заявляет что не размещает свои журналы на файлообменниках и более того, категорически возражает против размещения журналов «Радиоконструктор» на файлообменниках.
И не несет никакой ответственности за содержание суррогатных версий журнала, периодически появляющихся в интернете.
FM радио на базе Atmega328-P и RDA5807M / Хабр
Добрый день, уважаемые хабражители!
Меня зовут Михаил Матвеев, и я хотел бы представить Вашему вниманию проект современного «радиоконструктора», основанного на МК Atmega328 и чипе RDA5807M.
Предыстория
Я думаю, многие из вас не только слышали, но и непосредственно сталкивались с такой платформой, как Arduino. И как показывает моя личная статистика, очень немногие заходят дальше, чем поморгать светодиодами. Когда я познакомился с Arduino в первый раз, меня останавливало то, что не было идей, как именно я бы мог использовать все возможности того же UNO на «полную катушку». Хватило только на сборку простенького робота на двух колёсах и сигнализации. Вместе с тем, хотелось сделать что-то более основательное.
Тогда я вспомнил о своем детстве, в котором были так называемые «радиоконструкторы». Суровый советский DIY Kit, который при правильной сборке и грамотной пайке даже начинал работать, и ловил радиостанции в различных диапазонах: Юность, Электрон-М и другие.
Ни один из таких Kit’ов мне не достался, зато достался ЭКОН-1:
Основной «фишкой» этого конструктора было то, что с его помощью можно было быстро и просто собрать большое количество различных устройств, от простых «пищалок» до вполне полноценного радиоприемника.
ЭКОН-1 — одна из многих причин, по которой я вообще оказался в сфере IT. И мне пришло в голову, что было бы неплохо создать современную версию подобного конструктора, чтобы все желающие могли получить удовольствие от только что собранного своими руками девайса.
Прототип на монтажной плате
Мой друг, талантливый инженер Константин Томаревский, поддержал идею, и мы начали думать о том, как сделать первый прототип.
Идея была в том, чтобы создать FM приемник, которым можно было бы управлять через МК.
Первый прототип был собран на монтажке, и стало понятно, что это работает 🙂
Для самой первой версии были выбраны следующие компоненты:
1. МК Atmega328P-PU
2. RDA5807M
3. Дисплей Nokia 5110
Такой микроконтроллер используется в Arduino UNO, соответственно, наше устройство совместимо с UNO на аппаратном уровне.
RDA5807M — «сердце» нашего конструктора. Этот тюнер имеет следующие возможности:
— Технология КМОП
— Монолитный корпус, не требует внешних компонентов (почти)
— Полоса частот: 50-115 МГц
— Шаг между каналами – от 200 до 25 кГц
— RDS/RBDS
— АЦП и встроенный синтезатор частот
— Адаптивное подавление шума
— Цифровой интерфейс (I2C)
— Уровень сигнала (RSSI)
— Усилитель
— Регулировка громкости звука
Дисплей Nokia — черно-белый, 84х48 пикселей. Он очень прост в подключении и управлении.
После пайки на монтажной плате получилось как-то так:
Было решено использовать Bootloader от Arduino, это позволило сохранить совместимость со всеми многочисленными библиотеками и существенно снизить порог вхождения для тех, кто уже имел какой-либо опыт работы с платформой.
Интерфейс взаимодействия с пользователем реализован следующим образом. Три кнопки, подключенные к аналоговому входу МК через резисторы, используются для переключения режимов и управления приемником. Еще одна кнопка служит для перезагрузки МК. Экран, соответственно, отображает информацию о громкости, станции и т.д.
ЛУТ, фоторезист и отладка
После успешных испытаний на монтажной плате мы решили создать ещё несколько прототипов методом ЛУТ (а в дальнейшем — фоторезистом). Также мы решили усовершенствовать приемник, добавив туда ещё один усилитель звука для подключения не только наушников, но и внешнего динамика. Выбор пал на PAM8403, это простой и недорогой усилитель, который требует питания 5В.
Первый прототип, изготовленный методом ЛУТ, выглядел следующим образом:
ЛУТ — хорошая штука для относительно быстрого прототипирования в домашних условиях, но когда дело доходит до двухсторонних плат, начинаются сложности. Количество компонентов на плате увеличивалось — например, мы решили разместить на плате разъем для программатора, чтобы не было необходимости каждый раз извлекать МК для перепрошивки. Так, последующий прототип стал двухсторонним, был изготовлен методом фоторезиста и стал выглядеть намного приятнее:
В сборке:
Следующим шагом был отказ от «навесных» компонентов, которые мы размещали на плате при помощи однорядных PINов. Так, было принято заменить усилитель на LM386N, установить преобразователь уровней CD4050BE. Всё это усложнило конструкцию, но устройство стало выглядеть намного лучше.
Итоговый прототип, изготовленный нами в домашних условиях, выглядел так:
Заказ печатных плат
В Китае можно заказать печатные платы, выполненные промышленным способом. Стоимость выходит относительно небольшой даже при малых тиражах, а время ожидания (включая доставку) как правило не превышает 2-3 недель.
Первую «партию» плат заказали на PCBWay. Так она выглядела:
Одна из проблем, с которой мы по неопытности столкнулись: металлизация «съедает» значительную часть размера самого отверстия, поэтому некоторые компоненты с трудом «влезали» в нужные отверстия. При проектировании схемы необходимо учитывать этот момент.
По результатам тестирования мы ещё немного доработали конструкцию, добавив несколько конденсаторов для более стабильной работы устройства. Собрали ещё один прототип:
Разъём USB используется для питания приёмника. Питание также подаётся при подключении программатора.
Всё работает!
Прошивка
Отдельно стоит остановиться на прошивке. Она написана на C++ и мы распространяем её по лицензии GPLv3:
https://github.com/xtremespb/fm_receiver.Я практически не разрабатывал на C/C++, поэтому (вероятно) код далёк от идеала и может содержать ошибки, но GPL на то и GPL, чтобы можно было его дорабатывать сообществом 🙂
Текущие возможности прошивки включат в себя:
— Ручную и автоматическую настройку станций
— RDS
— Управление громкостью
— Включение режима усиленных басов
— Включение и отключение подсветки дисплея
— Отображение и динамическая визуализация уровня сигнала
В следующей, четвёртой по счёту ревизии, мы сделаем ещё несколько полезных «фишек»: подключим левый и правый каналы к аналоговым входам на МК, что позволить «визуализировать» поступающий аудиосигнал.
Кстати, возможности устройства не ограничиваются радио! Никто не мешает, например, написать какую-нибудь игру (интереса ради я сделал старый добрый Arkanoid) или другую программу, использующую возможности платы.
Production
Разработка устройства от идеи до реализации заняла около 6 месяцев, что, с практически полным отсутствием опыта в данной области, не так уж и плохо.
На данный момент у нас есть около 10 полностью собранных комплектов, которые включают в себя всё необходимое для сборки своего собственного устройства:
— МК Atmega328P-PU
— Преобразователь уровня CD4050BE
— Дисплей Nokia 5110
— Приемник RDA5807M
— Программатор USBasp
— Операционный усилитель LM386N
— Разъемы под МК и программатор
— USB B, Audio Jack 3.5, три кнопки, провода, однорядные коннекторы
— 11 резисторов и 12 конденсаторов, 4 индуктивности, кварц, стабилитрон и светодиод
— Динамик
— Печатная плата
Для сборки понадобится припой, флюс и паяльник, больше ничего не нужно.
Все комплектующие упакованы в небольшую коробку из «крафтового» картона:
Исходники прошивки уже выложены на Github; Gerber-файл, принципиальная схема и инструкция по сборке будут также опубликованы позднее.
Собираем ламповый предварительный усилитель на 6Ж1П
Плейлист «Радиоконструкторы» https://www.youtube.com/playlist?list=PL0YaeMGURK-jnCHV-tTCdb_Q_BYfhvBIp
Плейлист «Усилители звука» https://www.youtube.com/watch?v=weu5YYQ9pPg&list=PL0YaeMGURK-gKDV3lv2xAJncKxqvCPh2e
——-
Смотрите видео по теме:
— Плата для сборки предварительного усилителя на основе микросхемы NE5532 https://youtu.be/5tkaqdPjF3E
— Предварительный усилитель на NE5532 https://www.youtube.com/watch?v=25Ave8BV098
——-
Коврик для резки (Синий размеченный Мат) https://www.youtube.com/watch?v=uC47aBdOpyU
Коврик для пайки 250Х350х5 https://www.youtube.com/watch?v=qFMgGyb835M
Скальпель https://www.youtube.com/watch?v=qtzrN9Al5go
Паяльник GJ 907 с регулятором в прозрачном корпусе https://www.youtube.com/watch?v=-xzM45jcBlw
Флюс https://www.youtube.com/watch?v=KMW7UJn74Qw
Шприц для флюса https://www.youtube.com/watch?v=zl-CeVV27EI
Припой https://www.youtube.com/watch?v=orv5itQUQGA
Кусачки https://www.youtube.com/watch?v=cSjqTxHTBag
Круглогубцы https://www.youtube.com/watch?v=cSjqTxHTBag
——
Ручки потенциометра большого размера черного цвета https://www.youtube.com/watch?v=MFpt4WU2RhY
——
Радиодетали проверены транзисторным тестер ATMEGA328P https://youtu.be/NkBSjPpbamkом
Тестер светодиодов https://www.youtube.com/watch?v=l0zPhomUcrQ
Переменное напряжение от линейного лабораторного блока питания на 30 В и 3 А https://www.youtube.com/watch?v=XoVAQePTn-Q
——
Стерео усилителя 56DZ100-A https://youtu.be/t5WKwbNchRs
Корпус стерео усилитель 56DZ100-A на TDA2030A https://youtu.be/FDdlD0-Utls
Самодельные аудио колонки 15 Вт https://www.youtube.com/watch?v=QsiThyKXM5s
=========
Скачать описание и изображения https://cloud.mail.ru/public/4k4B/uyWxMVMmV
=========
Конструктор на AliExpress (цены могут сильно отличаться) https://ru.aliexpress.com/w/wholesale-DIY-Kit-AC-6J1.html?spm=a2g0v.search0104.0.0.784a6b76HgFORz&initiative_id=SB_20180604023100&site=rus&groupsort=1&SortType=price_asc&g=y&SearchText=DIY+Kit+AC+6J1
========
\\\\
The Shadows — ‘Sealed With A Kiss’
\\\\
- Категория
- Усилители
журнал радиоконструктор 5 2021
журнал радиоконструктор 5 2021Основные направления публикаций. Аудио, видео, радиоприем, радиосвязь, измерения, охранные устройства, бытовая электроника, ремонт, автомобильная электроника, зарубежная электроника, справочники. Радиоконструктор №3 (март 2018) издательство. Радиоконструктор 1994 — 2018. Радиоконструктор — журнал для радиолюбителей и профессионалов, рассматривающий вопросы радиолюбительского конструирования и ремонта электронной техники. В нем также представлены разработки и радиосхемы. Радиоконструктор №4 (апрель) 2018. Радиоконструктор ежемесячный журнал для радиолюбителей и профессионалов, которые занимаются конструированием и ремонтом электронной техники. Аудио, видео, радиоприём, радиосвязь, измерения, охранные устройства, бытовая электроника, ремонт, автомобильная электроника, зарубежная электроника, справочники. Журнал радиоконструктор. Издание по вопросам радиолюбительского конструирования и ремонта электронной техники. Ежемесячный научно — технический журнал, зарегистрирован комитетом рф по печати 30 декабря 1998 года. Аудио, видео, радиоприем, радиосвязь, измерения, охранные устройства, бытовая электроника, ремонт, автомобильная электроника, зарубежная техника, справочник. Ежемесячный научно — технический журнал. Учредитель и редактор — алексеев владимир владимирович. Основные разделы журнала. Аудио, видео, радиоприем, радиосвязь, измерения, охранные устройства, бытовая электроника, ремонт, автомобильная электроника, зарубежная техника, справочная информация. Подписной индекс по каталогу «роспечать. Редакция (8172) — 75 — 55 — 52, (8172) — 51 — 09 — 63. Этот адрес электронной почты защищён от спам — ботов. У вас должен быть включен javascript для просмотра. В журнале радиоконструктор 2010 №9 размещены следующие статьи. Скачать журнал радиоконструктор 2010 №9 можно здесь… 28 мая 2014, 00. 23 архив журналов радио и др. Архив радиолюбительских журналовadminчитать полностью. Журнал радиоконструктор 2010 №8. Читать онлайн журнал радиоконструктор (№3 март 2018). Читать онлайн журнал радиоконструктор (№2 февраль 2018). Журнал радиоконструктор включает в себя множество радиоэлектронных схем и устройств для повторения радиолюбителями. Скачать № 1 2 3 4 2018 года одним архивом можно по ссылкам ниже.
Радиоконструктор №2 2018. Читать журнал радиоконструктор (№6 июнь 2017). Другие журналы из рубрики. Радио и электроника другие выпуски журнала. Читать онлайн или найти журнал радиоконструктор (№6 июнь 2017). Читать журнал радиоконструктор (№7 июль 2017). Читать онлайн или найти журнал радиоконструктор (№7 июль 2017). Читать журнал радиоконструктор (№8 август 2017). Ежемесячный научно — технический журнал, посвященный вопросам радиолюбительского конструирования и ремонта электронной техники. Аудио, видео, радиосвязь, измерения, охранные устройства, бытовая электроника, ремонт, автомобильная электроника, зарубежная техника, справочник, а так же материалы для начинающих радиолюбителей. 2018, журнал, радиоконструктор, найти. Радиоконструктор №2 (февраль 2021). Id=144458&page=12 234 название.
Радиоконструктор издательство. 2 количество… радиоконструктор №1 (январь 2021). Популярный радиолюбительский журнал радиоконструктор за 2012 — 2013 года. Радиодетали – почтой. Радиолюбительские журналы. Популярный радиолюбительский журнал “радиоконструктор” за 2012 – 2013 года. Доброго дня уважаемые радиолюбители. Приветствую вас на сайте “радиолюбитель“. Журнал для радиолюбителей и профессионалов, рассматривающий вопросы радиолюбительского конструирования и ремонта электронной техники. В нём также представлены разработки и радиосхемы от бытовой техники до профессиональной, справочники элементной радиоэлектронной базы, отечественные и импортные радиоустройства, ведутся рубрики о радиосвязи на коротких, ультракоротких волнах и аппаратуре, спутниковом, обычном и кабельном тв, рассказывается история радиоэлектроники и радиолюбительства и пр. Отлично подобранный и представленный материал. Зарегистрирован комитетом рф по печати и средствам массовой информации 30 декабря 1998 г. Свидетельство №018378. Журнал можно выписать на любом почтовом отделении рф по каталогу почта россии или «роспечать. Подписной индекс п2169 или 78787. Краткое содержание журнала радиоконструктор №1. Блок питания собран на мс lm723, транзисторе bd131 и 4 — х транзисторах 1n3055. Преобразователь вырабатывает нестабильное выходное напряжение.
Максимальная мощность нагрузки 30 w. Собран на мс 555 и к561ие8, а так же 2 — х транзисторах mj3001. Двойной вольтметр на arduino uno. Вольтметр позволяет измерять и сравнивать два постоянных напряжения. Терморегулятор предназначен для управления электрическим нагревательным прибором мощностью не более 1100w. Универсальный таймер. Ежемесячный журнал для радиолюбителей — конструкторов. В нем также представлены разработки и радиосхемы от бытовой техники до профессиональной, справочники элементной радиоэлектронной базы, отечественные и импортные радиоустройства, ведутся рубрики о радиосвязи на коротких, ультракоротких волнах и аппаратуре, спутниковом, обычном и кабельном тв, рассказывается история радиоэлектроники и радиолюбительства и пр. Eсли вы уже удалили старые файлы, то предотвратить повторную закачку старых файлов можно, отжав галочку в соответствующих местах при запуске нового торрента. По возможности, желательно не удалять старые файлы как можно дольше, чтобы релизёр не только продолжал раздавать старые файлы, а смог сконцентрироваться на новых. Бесплатный большой архив популярных радио — технических журналов. Для того чтобы найти журналы радио — конструктор за 2014, 2015 и 2016 год, нажмите на рекламную ссылку.
Годовая подшивка журнала радио — конструктор за 2015 г. Годовая подшивка журнала радио — конструктор за 2016 г. Добро пожаловать на наш сайт. In — новостной портал для всей семьи. Другие публикации по теме.
Радиоконструктор №1 — 8 (январь — август 2016) название.
Радиоконструктор №1 — 8 (январь — август 2016) издатель. 48 х 8 выпусков формат. Радиоконструктор 2001 №05. Материал из радиовики — энциклопедии радио и электроники. Радиоконcтруктор 2001 №05. Djvu (файловое перенаправление). Хочу предложить вашему вниманию свежий номер журнала радиоконструктор. Данное издание наверняка будет полезно тем, кто привык мастерить различные радиоэлектронные устройства своими руками. Радиоконструктор №5 2013. В журнале много различных конструкций, которые можно применить дома, на даче или в автомобиле.
Радиоконструктор — ежемесячный журнал для радиолюбителей — конструкторов. Журнал для радиолюбителей и профессионалов, рассматривающий вопросы радиолюбительского конструирования и ремонта электронной тех. Радиоконструктор 2013 №05.
Клайв Синклер, Другой автор
Определенная часть читателей Hackaday впервые столкнулась с вычислениями на 8-битной машине в черном корпусе со словом «Синклер». Даже если вы не работали ни с одной из этих машин, вы, вероятно, знаете, что человеком, стоящим за ними, был иногда колоритный изобретатель Клайв (ныне сэр Клайв) Синклер.
Лучший графический дизайн 1950-х годов, примененный к книгам по электронике.Он был основателем компании по производству электроники, которая обещала большие результаты от своих относительно недорогих электронных продуктов.Радиоприемники, помещавшиеся в спичечный коробок, стереосистемы с транзисторными компонентами, миниатюрные телевизоры и доступные калькуляторы — все они подвергались обработке Синклера с начала 1960-х годов. Но именно в конце 1970-х годов одна из его компаний выпустила свой первый микрокомпьютер.
В конце 1950-х годов, когда Синклер в подростковом возрасте уже был плодовитым производителем электроники и находился на начальных этапах открытия собственного бизнеса по производству электроники, он пошел вполне понятным путем для бедного инженера и предпринимателя и начал писать для жизнь.Он писал для журналов по электронике и радио, позже стал помощником редактора торгового журнала Instrument Practice , а также писал электронные проектные книги для Bernard’s Radio Manuals и Bernard Babani Publishing. Именно этот период его карьеры привлек наше внимание сегодня не только из-за известной ассоциации с именем Синклера, но и из-за захватывающего окна, которое его работа дает нам в состояние электроники того времени.
Вернитесь во времена, когда AM был королем…
Как отличить точечный резистор или литой слюдяной конденсатор.Проявив немного настойчивости, мы смогли найти некоторые из ранних работ [Синклера]: Практических транзисторных приемников, книга 1 1959 года и Современные схемы транзисторов для начинающих 1962 года . Оба они представляют собой тонкие тома в мягкой обложке размером примерно с лист формата A4 или US Letter и содержат 36 и 35 различных схем соответственно.
Практические транзисторные приемники была одной из первых подобных книг по транзисторным схемам от этого издателя и, очевидно, предназначалась для использования в качестве учебника по транзисторам для конструкторов, которые никогда не использовали новые устройства.Существует обширный раздел как о транзисторах, так и о диодах, которые были на рынке в 1958 году, когда он был написан. Это интересное чтение само по себе, поскольку оно содержит взгляд на многие давно исчезнувшие имена в отрасли по обе стороны Атлантики. Все полупроводники — германиевые, диоды — точечные, все транзисторы, кроме нескольких, — PNP, и, хотя на данном этапе десятилетия точечных транзисторов нет, все, кроме нескольких устройств с поверхностным барьером, используют сплавно-диффузионную конструкцию.Показатели усиления и частоты среза чрезвычайно низки по сегодняшним стандартам, эти устройства все еще являются самыми ранними образцами такого типа.
Современные транзисторные схемы для начинающих Книга больше предназначена для людей, незнакомых с электроникой, и содержит главу, знакомящую с современными компонентами. Есть отдельные компоненты, которые будут знакомы читателям в 2017 году, а также таблица цветовых кодов с примерами устройств, которые вы, возможно, не встречали, которые их используют.Вы знаете о резисторах с цветными полосками, но видели ли вы когда-нибудь резистор с наконечником и точкой?
Вероятно, самые простые из возможных транзисторных радиосхем.Особенно интересно, что обе книги посвящены одной и той же теме простых АМ-радиоприемников, несмотря на то, что название « Современные транзисторные схемы» заставляет читателя думать иначе. Электроника была полностью синонимом радио и аудио на любительском уровне в то время, и эта книга следует тенденции, которая очевидна из списка других названий того же издателя на задней обложке.
Схемы начинаются с самых простых приемников, которые представляют собой не более чем набор кристаллов с добавленным звуковым каскадом, и переходят от конструкций с настроенной радиочастотой к регенеративным и сверхрегенеративным приемникам. Modern Transistor Circuits содержит несколько схем компоновки, чтобы помочь новичку в определении выводов транзистора.
Еще одна особенность этих схем заключается в том, что они явно унаследованы от ламповых схем, с которыми в то время был знаком любой, кто занимался электроникой.Трансформаторы используются в качестве межкаскадной связи, где мы сейчас использовали бы конденсатор или схему сдвига уровня, а усилители мощности представляют собой несимметричные конструкции с высоким импедансом. В сверхрегенеративной схеме есть генератор гашения, использующий большую LC-настроенную схему, где RC-генератор какого-либо типа почти наверняка был бы помещен в современный вариант той же конструкции.
… а транзисторы стоят в копеечку.
Это простое трехтранзисторное радио не стоило бы слишком много по сравнению с сегодняшними аналогами, но в 1960 году оно могло обойтись очень дорого.Почти шестьдесят лет назад транзистор был экзотическим и дорогим устройством. Эквиваленты аудиотранзистора OC71 указаны в рекламе на обороте Modern Transistor Circuits за 5 шиллингов 9 пенсов, что с небольшим преобразованием в десятичную валюту и с учетом инфляции за прошедшие годы равняется 6,03 фунта стерлингов. , или 8,45 долларов США в пересчете на 2018 год. Сегодня я могу купить ленту из 40 кремниевых транзисторов 2N3904 с коэффициентом усиления в несколько сотен и частотой среза в диапазоне высоких УКВ по этой цене у розничного поставщика, и, конечно, по аналогичным ценам я также могу получить выгоду от пяти десятилетия разработки интегральных схем.Тогда вполне возможно, что радиосхемы были основным выходом для энтузиастов электроники в то время, потому что они могли дать разумный результат от схемы с относительно небольшим количеством компонентов, все, что требовало бы нескольких устройств, вскоре разорило бы любого, кто хотел бы попробовать их.
Миниатюрное радио Синклера в Музее науки в Лондоне. Фрэнки Роберто [CC BY 2.0]. Бизнес [Синклера] развивался в течение десятилетия с помощью комплектов радиоприемников, которые выдвинули на первый план его любовь к миниатюризации, которая станет визитной карточкой продуктов, носящих это имя.Вы можете увидеть дальнейшее развитие некоторых радиоприемников в этих книгах с его ростом известности благодаря его долгому развитию крошечных радиоприемников, предназначенных для размещения в спичечном коробке, — тема, к которой он вернулся в 1990-х годах с FM-радио в наушнике. . В 1970-х годах появились калькуляторы и миниатюрные телевизоры, а в 1980-е годы через отдельную компанию Sinclair появились домашние компьютеры, которые в конечном итоге были проданы Amstrad. Он печально известен своим трехколесным электрическим багги C5 середины 1980-х годов, но он продолжил свой интерес к альтернативному транспорту в 1990-х, выпустив серию складных велосипедов необычного дизайна и надстройку с электроприводом для обычных велосипедов.
Сноска: хотя сэр Клайв Синклер является опубликованным автором и известным именем в мире домашних компьютеров, справедливо будет сказать, что он не является Клайвом Синклером, автором . Эта честь должна достаться Клайву Синклеру, плодовитому британскому писателю, который, к сожалению, скончался в начале марта 2018 года.
Mh470: поисковый корабль пропал на трое суток | Рейс Mh470 Malaysia Airlines
Корабль, ищущий рейс Mh470 Malaysia Airlines, пропал с экранов слежения на три дня после того, как без объяснения причин отключил собственную систему спутникового мониторинга.
В начале января правительство Малайзии наняло американскую компанию Ocean Infinity для поиска пропавшего самолета, пропавшего в марте 2014 года.
Ее корабль Seabed Constructor начал поиски 22 января, но в четверг, всего через 10 дней, он без объяснения причин отключил свою автоматическую идентификационную систему (АИС).
Через три дня он снова появился за пределами зоны поиска и направлялся к запланированной дозаправке в австралийском порту Фримантл.Ни правительство Малайзии, ни Ocean Infinity не объяснили причину отключения или то, куда корабль путешествовал за эти три дня.
MapSeabed Constructor отключил АИС 1 февраля и повторно активировал его 4 февраля. Три дня между ними не учитываются.Члены семей тех, кто находился на борту пропавшего рейса, обратились к правительству Малайзии и компании Ocean Infinity с просьбой объяснить отключение электричества на фоне растущих слухов о движениях корабля.
К.С. Нарендран, у которого был родственник на Mh470, призвал к большей прозрачности в связи с временным исчезновением корабля.
«Я нашел это развитие довольно странным и тревожным», — сказал он. «Если это молчание и превращение в невидимку были преднамеренными, чтобы отвести подозрения, должно быть удовлетворительное объяснение. Если бы это было по другим причинам, то в интересах прозрачности нам должны были бы сказать, чем это вызвано.
«На борту поискового корабля нет ни журналистов, ни членов семьи. Я бы хотел, чтобы были некоторые … Мы добросовестно наблюдаем. Я надеюсь, что продолжающееся официальное раскрытие информации имеет такой высокий уровень, что остается мало места для спекуляций, споров или намёка на заговор.
Во время трехдневного отключения данных в Интернете распространились теории заговора, в том числе теория о том, что Seabed Constructor совершил крюк, чтобы найти затонувшие сокровища с близлежащих обломков SV Inca, перуанского корабля, затонувшего в 1911 году по пути в Сидней.
Кевин Рапп, точный механик, который публично отслеживал Seabed Constructor, сказал, что это крайне маловероятно.
«Мне нечего сказать о тех, кто распространяет слухи о том, что «Конструктор морского дна» действительно охотится за сокровищами, — сказал он.
Он сказал, что все предположения были просто догадками, и трекер, возможно, был отключен, чтобы не причинять ненужного беспокойства семьям жертв. «Если корабль обнаружит возможные контакты [с Mh470], его наиболее вероятные действия будут заключаться в том, чтобы переместиться к месту обнаружения и спустить ROV — небольшой привязной дистанционно управляемый аппарат», — сказал он.
«Для этого Seabed Constructor должен был бы сидеть неподвижно на одном месте в течение длительного периода времени, и это было бы очень заметно для тех из нас, кто наблюдает через наши приложения отслеживания AIS… Я полагаю, что они, возможно, перевели передатчик AIS в режим низкого энергопотребления, чтобы мы не могли предположить, что они что-то нашли, и причинить чрезмерное беспокойство ближайшим родственникам».
В единственном обновлении, опубликованном официальными лицами Малайзии, было подтверждено, что Mh470 не был найден в первую неделю поисков, с 22 по 30 января.
За это время Seabed Constructor обыскал «высокоприоритетную» область, которую австралийские исследователи определили как вероятное место отдыха самолета.В период с 2014 по 2017 год австралийские власти провели трехлетние поиски на площади 120 000 кв. км, но не смогли найти самолет. После этого Организация научных и промышленных исследований Содружества (CSIRO) определила приоритетную область как следующее место для поиска.
Ученый Ричард Коул написал в Твиттере, что, по его мнению, корабль провел три дня в районе, который он ранее обыскивал, в юго-восточном углу области поиска.
Ожидалось, что после дозаправки во Фримантле Seabed Constructor вернется в район поиска. У него есть 90 дней, чтобы найти Mh470 без каких-либо комиссий. Вознаграждение в размере от 20 до 70 миллионов долларов США доступно в зависимости от области поиска.
Рейс Mh470 пропал в марте 2014 года, исчезнув из радиосвязи через 40 минут рейса из Куала-Лумпура в Пекин.Данные военного радара и спутников показали, что самолет внезапно развернулся и полетел на юг, в сторону Индийского океана, разбился и унес жизни всех 239 членов экипажа и пассажиров на борту.
В нем находились 152 гражданина Китая и 50 граждан Малайзии, а также пассажиры из Австралии, Канады, Франции, Гонконга, Индии, Индонезии, Ирана, Нидерландов, Новой Зеландии, России, Тайваня, Украины и США.
Полное использование поставщиков Angular — Часть 1 | Юдес Петонне | Clarity Design System
Поставщики и внедрение зависимостей — одна из наиболее важных и уникальных функций Angular.Они позволяют вам организовывать свой код способами, которые могут показаться непонятными поначалу, но обеспечивают уровень ремонтопригодности, который нельзя найти в других средах веб-разработки. Независимо от того, насколько продвинутым пользователем Angular мы являемся или насколько сложным является наше приложение, есть вероятность, что мы все еще можем улучшить его архитектуру, объявив больше провайдеров.
Эта статья является первой в серии, целью которой является изучение извлечения кода компонента в отдельные повторно используемые поставщики для обеспечения лучшей ремонтопригодности.
Подождите, подождите секунду, что за провайдер?
Поставщик — это объект, объявленный в Angular, чтобы его можно было внедрить в конструктор ваших компонентов, директив и других классов, созданных Angular. Хорошо, это все еще довольно абстрактно, но вы, вероятно, знакомы с сервисами. Служба — это особый тип провайдера, который объявляется с именем своего класса, как вы можете видеть в руководстве по Angular. Вы объявляете его либо в своем NgModule
, либо в конкретном компоненте, просто добавляя провайдеров : [MyService]
в свои метаданные конфигурации.
Существует множество способов объявить провайдеров по значению, псевдониму, фабрике и т. д. Вы можете найти их все в этом разделе документации Angular. Надеюсь, мы увидим большинство из них в этой серии, показывая реальные примеры того, когда что использовать.
И последнее, на что следует обратить внимание, прежде чем двигаться дальше. Провайдеры, объявленные для компонента, могут внедряться только внутри этого компонента, и они переопределяют любого провайдера с тем же «именем» (будь то имя класса, токен внедрения и т. д.), который был объявлен родительскими компонентами или самим модулем.
Наш реальный пример
В этой статье мы возьмем простой пример из реальной жизни, который я видел много раз, и покажем, как мы можем улучшить его с помощью дополнительного провайдера.
При написании переключателей и флажков мы все знаем, что вам нужно связать каждый
с соответствующим
, иначе щелчок по метке ничего не сделает. Распространенным решением является размещение
внутри
, но вспомогательные технологии предлагают ограниченную поддержку для этого, и большинство библиотек стилей требуют, чтобы вы все равно разделяли их для целей стилизации.Рекомендуемое решение — установить атрибут id
на
и добавить соответствующий атрибут for
на метку:
Пока не удивительно, это HTML 101. Но что происходит, когда у вас есть Компонент Angular, который использует радио или флажок, и вы используете этот компонент повсюду в своем приложении? В итоге вы везде ставите уникальные идентификаторы, которые вам не нужны, или используете какой-то генератор уникальных идентификаторов. Первый случай не очень интересен, поэтому давайте рассмотрим второй.
Простейший генератор уникальных идентификаторов
Самый простой способ сгенерировать уникальный номер для каждого экземпляра компонента — просто поместить переменную счетчика в тот же модуль ES6 (то есть в тот же файл), что и объявление класса компонента, и чтобы увеличить его в конструкторе компонента. Переменная счетчика находится в корне модуля, она создается один раз и используется всеми экземплярами компонента.
Давайте посмотрим на это в действии:
Поэкспериментируйте с примером на StackBlitz.Изучите элементы и ознакомьтесь с примером, даже если он вам незнаком. Это поможет вам понять код, когда мы извлечем его в провайдер ниже.
Обратите внимание, что в нашем примере мы объявили подкомпонент, содержащий метку. Очевидно, что это избыточно для такого простого случая. В реальных случаях задача может быть достаточно сложной, чтобы ее можно было разделить на отдельные компоненты, поэтому мы имитируем это, чтобы продемонстрировать взаимодействие компонентов. Здесь id
флажка передается метке как Input
.
Извлечение генерации идентификатора в качестве провайдера
На этот раз я сначала покажу конечный результат и пройдусь по нему шаг за шагом:
Давайте сначала посмотрим на новый файл провайдера, который мы создали. Он объявляет переменные, с которыми вы, возможно, не знакомы:
Трюк NB_INSTANCES
в корне модуля ES6 остается прежним: эта переменная будет создана один раз за всю жизнь приложения и будет разделяется всеми, кто обращается к этому модулю.
Затем InjectionToken
используется в аннотации @Inject
, чтобы указать Angular, какую зависимость вводить, а параметр type позволяет Typescript узнать, какой тип объекта будет введен, в нашем случае это строка .
. Думайте о классах обслуживания как о специальных токенах внедрения, которые внедряют свой собственный тип.
Наконец, мы настраиваем провайдера для предыдущего токена: мы сообщаем Angular, что когда компонент объявляет этого провайдера для токена UNIQUE_ID
, он должен использовать фабричную функцию, которую мы предоставляем для его создания.
Здесь важно то, что мы получаем новый уникальный идентификатор каждый раз, когда объявляется провайдер, а не каждый раз, когда он внедряется . Вот общий процесс, который проходит Angular при использовании этого провайдера:
- Будет создан экземпляр
TodoComponent
. - Angular замечает, что объявляет
UNIQUE_ID_PROVIDER
, поэтому вызывает функцию фабрики, а затем связывает объект, возвращенный фабрикой, с токеномUNIQUE_ID
.Поскольку была вызвана фабрика, это увеличило наш счетчик на 1, а сгенерированный идентификатор является совершенно новым. - Angular создает экземпляр
TodoComponent
. Он запрашивает у инжектора объект, связанный с токеномUNIQUE_ID
, и передает его конструкторуTodoComponent
. Фабрика не вызывается, мы просто используем идентификатор, сгенерированный на шаге 2. - Angular создает экземпляр
TodoLabelComponent
. Он запрашивает у инжектора объект, связанный с токеном UNIQUE_ID (который получает его от своего родительского инжектора, отTodoComponent
), и на этот раз передает его конструкторуTodoLabelComponent
.Это все тот же id, на фабрику больше не звонили. - Еще один
TodoComponent
вот-вот будет создан, перезапустите с шага 1. В частности, фабрика будет вызвана снова на шаге 2, так мы создадим новый идентификатор.
Оттуда использовать этот провайдер очень просто:
Мы объявляем UNIQUE_ID_PROVIDER
в метаданных компонента, затем используем токен инъекции, чтобы получить его в конструкторе нашего компонента. Затем мы можем внедрить его точно так же в наш компонент label:
Итак, что мы получили в результате?
Очевидно, мы получаем многократно используемый генератор уникальных идентификаторов.Он больше не привязан к компоненту todo, его можно использовать где угодно, все, что нам нужно сделать, это добавить провайдеров : [UNIQUE_ID_PROVIDER]
к любому компоненту, которому нужен уникальный идентификатор. Этот новый генератор намного проще тестировать, потому что он изолирован, а трюк со счетчиком экземпляров больше не загрязняет наши классы компонентов.
Но самое главное, это открыло новый способ связи между подкомпонентами. Вместо того, чтобы передавать входные данные сверху вниз, теперь все они могут просто запрашивать идентификатор в своем конструкторе, что упрощает наши шаблоны.В нашем простом примере выигрыш не так значителен, но когда мы пишем сложные компоненты, состоящие из 5 разных подкомпонентов, вложенных на нескольких уровнях, передача идентификатора через входные данные быстро становится громоздкой.
Это становится особенно важным при работе с подкомпонентами, которые являются дочерними элементами контента, а не дочерними элементами представления, то есть когда подкомпоненты проецируются в главный компонент. Это более продвинутый вариант использования, который мы рассмотрим в следующей статье этой серии. Я не буду вдаваться в сложные объяснения, а просто поделюсь демонстрациями «до и после».
Прежде чем использовать провайдер, метка может получить идентификатор ввода путем внедрения самого родительского компонента (что может привести к уродливым циклическим зависимостям), например:
Наше предыдущее решение с использованием провайдера работает точно так же. как и раньше, не требуется ни одного изменения:
Надеюсь, это убедит вас начать использовать провайдеров для простых вещей, таких как генерация двухстрочного идентификатора. Это приведет к лучшему разделению задач, повторному использованию и общей ремонтопригодности.
Во второй части этой серии мы углубимся в тему использования провайдеров для упрощения связи между компонентами и избежания бесконечной цепочки @Input
.Не стесняйтесь комментировать примеры использования конкретных провайдеров, которые вы хотели бы видеть, предложения по темам приветствуются!
Спасибо команде Clarity и Мэтту Хиппели , в частности, за помощь в написании этой статьи.
Кнопки предупреждений Ionic API с пользовательскими подсказками сообщений Оповещение (несколько кнопок)
Копировать
У какой команды больше всего титулов?
В то время чемпионат конструкторов был известен как Международный кубок производителей F1, и с тех пор он получил несколько названий.
Правила также претерпели значительные изменения: до 1980 года очки в зачет конструкторов приносила только лучшая машина, а также существовали различные правила подсчета лучших результатов команды в течение сезона.
Но какие команды Формулы-1 завоевали больше всего титулов конструкторов? И сколько титулов пилотов они накопили в процессе?
1. Феррари — 16 кубков конструкторов, 15 титулов пилотов
Победы конструкторов: 1961, 1964, 1975, 1976, 1977, 1979, 1982, 1983, 1999, 2002, 2001, 2000 2007, 2008
Победы пилотов: 1952, 1953, 1956, 1958, 1961, 1964, 1975, 1977, 1979, 2000, 2001, 2002, 2003, 2004, 2007 10 самая успешная команда Ferrari 90 в истории, став первым, кто отметит свою 1000-ю гонку на Гран-при Тосканы в 2020 году.Он выиграл свой первый титул конструкторов в 1961 году, когда Фил Хилл, Ричи Гинтер и Вольфганг фон Трипс возглавили его состав, хотя немецкий гонщик погиб в предпоследней гонке, возглавив зачет пилотов перед Гран-при Италии в Монце. Спорно, что гонка не была остановлена после аварии, что позволило Хиллу забрать клетчатый флаг и титул с разницей в одно очко.
ПЛЮС: Впечатляющие взлеты и падения цикличной истории Ferrari
Ferrari снова выиграла в 1964 году, отбив BRM, когда Джон Сёртис завоевал свой единственный титул пилота.В 1970-х годах он одержал еще четыре победы конструкторов, в первую очередь с Ники Лаудой, возглавлявшим команду вместе с Клэем Регаццони, а затем с Карлосом Ройтеманном. Джоди Шектер и Жиль Вильнев привели Ferrari к чемпионству в 1979 году, и в том году пара заняла первое и второе место в личном зачете.
Еще два титула конструкторов последовали в 1982 и 1983 годах, хотя в обоих случаях команда пропустила чемпионат пилотов. Прошло 16 лет, прежде чем Ferrari снова выиграла чемпионат конструкторов, хотя их победа в 1999 году положила начало десятилетию доминирования в серии.Команда выиграла шесть титулов подряд под руководством Жана Тодта и Росса Брауна, причем Михаэль Шумахер выиграл пять подряд корон.
С тех пор Ferrari добилась ограниченного успеха, хотя в 2007 и 2008 годах она выиграла еще два титула конструкторов. Кими Райкконен стал чемпионом среди пилотов в 2007 году, а Фелипе Масса, как известно, пропустил последний круг Гран-при Бразилии в году. потом.
Несмотря на то, что Ferrari часто лидировала в 2010-х годах, она не смогла сломить господство своих соперников — сначала Red Bull в начале десятилетия, а затем Mercedes до конца — с пятью финишами на втором месте за это время.Состояние Ferrari снова упало в 2020 году, когда компания отпраздновала отметку в 1000 стартов Гран-при.
2. Williams — 9 заголовков конструкторов, 7 титулов драйверов
Wins конструкторов: 1980, 1981, 1986, 1987, 1992, 1993, 1994, 1996, 1997
Водительские победы: 1980, 1982, 1987, 1992, 1993, 1996, 1997
Williams впервые выступила в Формуле-1 как полноценный конструктор только в 1978 году, но с владельцем Фрэнком Уильямсом у руля и дизайнером Патриком Хедом, разрабатывавшим машину, команда заявила о своих первых конструкторах. и титулы пилотов только за третий полный сезон.Алан Джонс и Карлос Ройтеманн сформировали состав пилотов в том же году, а второй титул последовал в 1981 году. Форд привел Кеке Росберга к титулу пилотов с командой в 1982 году, но он не мог снова выиграть чемпионат конструкторов, пока его 1986 и 1987 гг. двухместные с двигателем Honda.
ПЛЮС: самая быстрая и самая медленная в Формуле-1: американские горки Williams
В 1990-е годы последовала эра доминирования, когда Williams завоевала пять титулов конструкторов за шесть сезонов с двигателем, поставленным Renault.Уникально то, что за это время чемпионский титул вместе с Williams выиграли четыре разных гонщика: Найджел Мэнселл, Ален Прост, Дэймон Хилл и Жак Вильнёв. Победа Уильямса в 1994 году была достигнута, несмотря на смерть Айртона Сенны только в его третьей гонке с командой в Имоле; Дэвид Култхард и Найджел Мэнселл заняли освободившееся место до конца сезона.
В то время как главный соперник Михаэль Шумахер перешел в Ferrari, Williams вернулась на фронт в 1996 году, и с омоложенным Дэймоном Хиллом и его товарищем по команде-новичком Жаком Вильневом Хилл взял корону пилотов, поскольку команда доминировала в Кубке конструкторов с FW18. .
В следующем году Williams оставалась ведущей силой, завоевавшей оба титула, но это был поворотный момент в судьбе команды, когда Адриан Ньюи ушел в McLaren, а Renault перестала быть поставщиком заводских двигателей.
В сочетании с множеством изменений в правилах, Williams откатился назад на рубеже веков, и, несмотря на мини-соперника благодаря приходу мощности BMW, команда из Гроува так и не достигла тех же высот и постепенно скатилась вниз. иерархия.
Его последний запуск показал, что он упал в конец сетки, что совпало с окончанием семейного владения Уильямс и поглощением Dorilton Capital.
3. McLaren — 8 заголовков конструкторов, 12 заголовков драйверов
Конструкторы Wins: 1974, 1984, 1985, 1988, 1989, 1990, 1991, 1998
Wins водителей: 1974, 1976, 1984 1985, 1986, 1988, 1989, 1990, 1991, 1998, 1999, 2008
Компания McLaren была основана новозеландцем Брюсом Маклареном в 1963 году, и команда впервые выступила в Формуле-1 на Гран-при Монако в 1966 году.Пилот-основатель команды одержал свою первую победу в чемпионате на Гран-при Бельгии два года спустя, хотя первые титулы он завоевал только в 1974 году. последовательно за рулем шасси M23 команды.
ПЛЮС: Цифры, свидетельствующие о возрождении McLaren
В 1984 году McLaren выставила состав из Алена Проста и Ники Лауды, и эти два гонщика устроили самую тесную борьбу в истории чемпионата пилотов на сегодняшний день. австриец опередил всего на пол-очка, несмотря на меньшее количество побед в гонках и большее количество сходов.В следующем году Прост с комфортом завоевал свой первый титул, а McLaren завоевала свой второй титул.
Лучший период McLaren в Формуле-1 пришелся на период с 1988 по 1991 год, когда команда выиграла четыре подряд титула конструктора в период с 1988 по 1991 год; такой подвиг был достигнут в сериале впервые. Самые памятные из тех лет наступили, когда Айртон Сенна и Ален Прост установили, пожалуй, самое известное соперничество в Формуле-1, когда каждый из товарищей по команде завоевал титул пилота за два года совместной работы.Прост на самом деле превзошел Сенну в 1988 году, хотя именно бразилец стал чемпионом благодаря своим 11 лучшим результатам, превосходящим 11 лучших результатов Проста. конец, хотя за это время он завоевал три титула пилота: два Мики Хаккинена в 1997 и 1998 годах и один Льюиса Хэмилтона в 2008 году. Wins конструкторов: 2014, 2015, 2016, 2017, 2018, 2019, 2016, 2017, 2018, 2019, 2020,
Wins водителей: 1954, 1955, 2014, 2015, 2016, 2017, 2018, 2015, 2016, 2017, 2018, 2019, 2016, 2017, 2018, 2019, 2020, 2017, 2017, 2019, 20209, 2017, 2016, 2019, 2020
Вы бы прощели Не помня время, когда Mercedes не доминировал в Формуле 1, такова была его хватка в спорте в последние сезоны.Тем не менее, у него относительно небольшая история F1, поскольку он участвовал в автомобилях только в 1954 и 1955 годах до своего возвращения в 2010 году. Хуан Мануэль Фанхио выигрывал титул пилотов в оба этих года, хотя он выступал за Maserati в течение двух гонок. его Mercedes переключается в середине сезона 1954 года. Но без присуждения корон конструкторов в тот период Mercedes пришлось ждать 60 лет, чтобы завоевать свой первый кубок конструкторов.
Mercedes вернулся в гонки Гран-при в 2010 году, согласившись купить форму Brawn, которая сенсационно выиграла оба титула чемпиона мира F1 в предыдущем сезоне.Это соблазнило Михаэля Шумахера отказаться от его четырехлетнего ухода на пенсию, выставив полностью немецкий состав пилотов с Нико Росбергом, подписанным из Williams. Шумахер был заменен Льюисом Хэмилтоном в 2013 году, а беспрецедентный успех команды начался год спустя, когда новые правила открыли эру турбогибридных двигателей V6.
По состоянию на начало 2021 года семь подряд титулов конструкторов и пилотов Mercedes являются рекордом, превзойдя шесть титулов конструкторов и пять титулов пилотов, которые Ferrari непрерывно выигрывала в период с 1999 по 2004 год.За это время Хэмилтон шесть раз становился чемпионом мира, лишь однажды уступив напарнику по команде Росбергу. Немецкий гонщик драматично покинул Формулу-1 всего через несколько дней после завоевания титула: его заменил Валттери Боттас, который с тех пор внес свой вклад в четыре победы конструкторов Mercedes.
Сейчас Mercedes является четвертой по результативности командой Формулы-1 в истории. Только однажды Mercedes участвовал в гонках Формулы-1 без участия Фанхио, Шумахера или Хэмилтона: Гран-при Сахира 2020 года, который Хэмилтон пропустил из-за заражения COVID-19.
5. Lotus — 7 заголовки конструкторов, 6 титулов драйверов
Конструкторы Wins: 1973, 1965, 1968, 1970, 1972, 1973, 1978, 1970, 1972, 1973, 1978
Водители WINS: 1963, 1965, 1968, 1970, 1972, 1978
Имя Lotus является синонимом F1, как и инновационная разработка основателя Колина Чепмена. Впервые Lotus выступил на Гран-при Монако в 1958 году, а пятью годами позже он завоевал свой первый титул конструктора. В том году он выиграл все, кроме трех, из 10 гонок чемпионата с Джимом Кларком, что привело шотландца к первой из двух его пилотских корон с этим снаряжением.
Lotus снова одержал победу с Кларком в 1965 году, а затем во многом благодаря подвигам Грэма Хилла в 1968 году, который одержал три победы и еще три подиума на пути к чемпионскому титулу. Успех Lotus продолжался и в 1970 году, хотя его победа была омрачена трагической смертью Йохена Риндта, который погиб на Гран-при Италии, выиграв для команды пять гонок в том сезоне. Лидерство Риндта в чемпионате пилотов не было пересмотрено в четырех Гран-при после его смерти, что сделало его единственным гонщиком на сегодняшний день, который посмертно стал чемпионом.
Победы конструкторов в 1972 и 1973 годах под руководством Эмерсона Фиттипальди принесли Lotus четыре победы за шесть лет, но, пожалуй, самая известная победа в титуле пришлась на 1978 год. В середине сезона команда представила Lotus 79, который значительно улучшил грунт. эффект аэродинамики шасси, которое ему предшествовало. Боковые юбки образовывали аэродинамическое уплотнение вокруг основания автомобиля, и после этого Lotus оказался практически непобедимым. Марио Андретти и Ронни Петерсон финишировали в чемпионате со счетом 1-2, хотя швед погиб еще до конца сезона.
ПЛЮС: Вехи Формулы-1 Lotus — Lotus 79
6. Red Bull — 4 Кубка конструкторов, 4 титула пилотов
2010, 2011, 2012, 2013Red Bull впервые вошел в Формулу-1 в 2005 году, взяв на себя операции в Милтон-Кинсе, оставленные Jaguar. Важно отметить, что в 2006 году компания воспользовалась услугами звездного дизайнера Адриана Ньюи, сыгравшего ключевую роль в успехе Williams в 1990-х и McLaren в 1998 году, и с тех пор команда не оглядывалась назад.
ПЛЮС: инженерное чудо Ньюи, которое может никогда не участвовать в гонках
Потерпев небольшое поражение в 2009 году, Red Bull одержал свою первую победу среди конструкторов в 2010 году вместе с Себастьяном Феттелем и Марком Уэббером. Этот дуэт обеспечил победу Red Bull над McLaren в напряженной борьбе, в то время как чемпионство пилотов было подорвано. Фернандо Алонсо из Ferrari вступил в последнюю гонку в качестве лидера чемпионата, и хотя Феттель отставал от Уэббера в турнирной таблице, именно немец завоевал свой первый титул после напряженной стратегической битвы в Абу-Даби.
Red Bull задавал темп на следующие три сезона, и хотя его преимущество над полем было очевидным, их гонщики переживали напряженные отношения как на трассе, так и за ее пределами. Ситуация накалилась на Гран-при Малайзии в 2013 году, когда Феттель проигнорировал печально известное радиосообщение «Multi 21», предписывающее ему и Уэбберу удерживать позицию. Феттель должным образом обогнал своего товарища по команде, и Уэббер больше никогда не наслаждался верхней ступенькой подиума, покинув Формулу-1 в конце того сезона.
Red Bull первоначально адаптировался как «лучший из остальных» после Mercedes в первый год гибридной эры V6, но несколько отступил, поскольку отношения с поставщиком двигателей Renault стали натянутыми.Новое партнерство с Honda принесло успех благодаря подвигам Макса Ферстаппена, занявшего второе место в Кубке конструкторов впервые с 2016 года, но команда остается на шаг позади Mercedes.
7. Купер — 2 титула конструкторов, 2 титула пилотов
Победы конструкторов: 1959, 1960
Победы пилотов: 1959, 1960
Первая подряд победа команды конструкторов Cooper , завоевав всего две короны в 1959 и 1960 годах.В обоих случаях именно австралийский гонщик Джек Брэбэм претендовал на первенство среди пилотов, выиграв два Гран-при в 1959 году и пять гонок подряд в 1960 году. Его товарищ по команде Брюс Макларен также одержал пару побед в этот период, а также несколько подиумов.
Cooper 51 с двигателем Climax также участвовал в гонках нескольких частных команд в этот период. Среди тех, кто выступал за нерабочие команды, был Стирлинг Мосс, выигравший две гонки в 1959 году на той же машине, которая привела Брэбэма к титулу.
Купер также был первой командой, выигравшей чемпионат мира на автомобиле с задним расположением двигателя, впервые применив компоновку в конце 1950-х годов. С тех пор каждый чемпионат мира выигрывал автомобиль, использующий одну и ту же конфигурацию.
8. Брабхам — 2 заголовки конструкторов, 4 заголовки драйверов
Победы конструкторов: 1966, 1967
7 водителей WINS: 1966, 1967, 1981, 1983
Brabham был создан Джек Брабхам в 1960 году ; год, когда австралийский гонщик выиграл свой второй титул чемпиона мира F1 с Купером.Первое участие Brabham в гонках последовало в середине сезона 1962 года, а четыре года спустя он завоевал свой первый титул конструктора с двигателем, построенным австралийской фирмой Repco. Год спустя он повторил победу, хотя именно новозеландец Денни Халм выиграл чемпионат среди гонщиков в 1967 году, став первым из двух гонщиков на сегодняшний день (вторым был Ники Лауда в 1984 году), выигравшим титул, не завоевав ни одного поула. положение в течение сезона. Между тем человек, основавший компанию, занял второе место в турнирной таблице.
ПЛЮС: Автомобиль, который возродил Brabham в качестве силы Формулы-1
Brabham больше не снискал славы в Кубке конструкторов, хотя впоследствии за четверть века своего пребывания в Формуле-1 у него было несколько ярких моментов. Команда привела Нельсона Пике к первому и второму из его трех чемпионатов мира среди водителей в 1981 и 1983 годах соответственно, а в 1978 году разработала гениальный «фан-кар» BT46B. Разработанная Гордоном Мюрреем машина выиграла Гран-при Швеции своими руками. Ники Лауды до того, как его забанили.
9. Renault — 2 титула конструкторов, 2 титула пилотов
Победы конструкторов: 2005, 2006
Победы пилотов: 2005, 2006
Двигатели и конструкторы Renault завоевали ряд титулов на протяжении многих лет, делая это для Williams и Benetton в 1990-х, а затем для Red Bull в период с 2010 по 2013 год, в то время как его собственная команда добилась умеренных успехов с несколькими победами в Гран-при Формулы-1, плюс французская команда заняла второе место в зачете конструкторов в 1983.
Однако в качестве заводской команды она может похвастаться только двумя собственными титулами, выиграв чемпионат в 2005 и 2006 годах. Первый из них пришелся на конец эры 3,0-литровых двигателей V10, а последний был сезон перехода на 2,4-литровые двигатели V8.
В обоих случаях в состав пилотов входили Джанкарло Физикелла и Фернандо Алонсо, но именно испанец был доминирующей силой в команде. Первый чемпионский титул Алонсо в Формуле-1 пришелся на 2005 год после продолжавшейся в течение всего сезона битвы с Кими Райкконеном из McLaren, а второй – после захватывающей схватки с Михаэлем Шумахером из Ferrari.
Гонка за звание конструктора оба раза сводилась к последнему этапу сезона: в 2005 году Renault выиграла у McLaren с отрывом в девять очков, а 12 месяцев спустя — всего на пять очков от Ferrari.
В конце 2011 года Renault вышла из состава рабочей группы, продав контрольный пакет акций команды F1, но вернулась через пять лет, вернув себе контроль над базирующейся в Энстоне командой. Успех был минимальным с момента его возвращения: Даниэль Риккардо записал свой первый подиум с момента своего возвращения на Гран-при Эйфеля 2020 года.
10. Vanwall, BRM, Matra, Tyrrell, Benetton, Brawn — 1 Кубок конструкторов
Победы конструкторов: 1958, 1962, 1969, 1971, 1995, 2009
60091 Победы пилотов02 (BRM 60091)09 побед , 1969 (Matra), 1971 и 1973 (Tyrrell), 1994 и 1995 (Benetton), 2009 (Brawn)
Полдюжины команд выиграли один чемпионат конструкторов. Ванволл стал первым победителем в 1958 году с полностью британским составом гонщиков, состоящим из Стирлинга Мосса, Тони Брукса и Стюарта Льюиса-Эванса.Хотя Vanwall обыграл Ferrari, этот сезон наиболее известен спортивным мастерством, которое Мосс продемонстрировал Майку Хоторну, своему единственному сопернику в чемпионате пилотов в том году. Мосс, который умер в апреле 2020 года в возрасте 90 лет, настаивал на том, чтобы стюарды не дисквалифицировали Хоторн за нарушение правил на последнем круге. Официальные лица в конце концов уступили, а это означает, что Хоторн сохранил шесть очков, которые он заработал, заняв второе место и установив самый быстрый круг: позже он выиграл чемпионат с разницей в одно очко.
BRM выиграла свой единственный титул в 1962 году в составе Грэма Хилла и Ричи Гинтера.Matra вышла из Формулы-1 в 1968 году, но продолжила свою работу с Кеном Тирреллом в следующем сезоне: Matra MS80 была классом в этой области, с комфортом принеся Джеки Стюарту его первый титул пилота.
Стюарт снова выиграл в 1971 году, а Франсуа Север внес свой вклад в единственный титул Тиррелла. С тех пор только две команды зарегистрировали единую корону конструкторов: Benetton управляла парой Михаэля Шумахера и Джонни Герберта на пути к титулу в 1995 году, а Brawn выиграла единственный чемпионат, в котором она участвовала, в 2009 году.Росс Браун купил команду у Honda после того, как японская компания решила покинуть Формулу-1 зимой 2008 года, заключив сделку с Mercedes по двигателям на предстоящий сезон. Этот ход был мастерским ходом, поскольку Дженсон Баттон и Рубенс Баррикелло воспользовались преимуществом машины в раннем темпе и выиграли оба чемпионата с запасом в гонке.
Самая успешная команда на чемпионате
Позиция | ЧемпионатКоманда | Конструкторы | Driver Чемпионат |
1 | Ferrari | 16 | 15 |
2 | Williams | 9 | 7 |
3 | Макларен | 8 | 12 |
4 | Мерседес | 7 | 9 |
5 | Лотос | 7 | 6. |
6 | Red Bull | 4 | 4 |
7 | Купер | 2 | 2 |
8 | Бребхем | 2 | 4 |
9 | Рено | 2 | 2 |
10 | Фургон Стена, BRM, Matra, Tyrrell, Benetton, Brawn | 1 | 2 (Tyrrell, Benetton), 1 (BRM, Matra, Brawn) |
Самая успешная команда по общей гонке Wins
Позиция | Команда | Всего Race Побед |
1 | Ferrari | 238 |
2 | McLaren | 183 |
3 | Mercedes | 121 |
4 | Williams | 114 |
5 | Команда Lotus | 79 |
6 | Red Bull | 74 |
7 | Бребхем, Рено | 35 |
9 | Бенеттон | 27 |
10 | Tyrrell | 23 |
Stream BRAG Memb er Интервью с шоу Люси Энн Лэнс, 1290 WLBY, AM Radio – Ассоциация строителей и ремонтников Большого Анн-Арбора
22.04.2021
Сьюзан Брайан (координатор Rain Garden) и Лесли Келлман (местный домовладелец)
Master Rain Gardener Classes, выставка местных растений (05.06.21)
Rain Gardens может отводить воду от подвалов, поддерживать более чистую воду и местную дикую природу, а также украшать вашу собственность.Занятия Master Rain Gardener БЕСПЛАТНЫ в округе Ваштено, лично и онлайн. Узнайте больше: www.masterraingardener.org
15.04.2021
Том Митчелл, Ann Arbor Carpets Flooring America — Инновации в напольных покрытиях в 2021 году
Узнайте о новых стилях и цветах напольных покрытий и о том, как убедиться, что вы покупаете качественную продукцию. Том рассказывает нам о последних улучшениях напольных покрытий, включая водонепроницаемую подложку для ковров, защиту от запаха, гарантии и многое другое.
www.AnnArbor-FlooringAmerica.com
08.04.2021
Шарлин Буш, Двое мужчин и грузовик
Весенняя уборка: вывоз и хранение хлама, грузчики для сбора пожертвований центра SafeHouse для мам и многое другое
Двое мужчин и грузовик складские услуги, профессиональные услуги по переезду и многое другое.В этом году они поддерживают местных матерей путем пожертвований предметов первой необходимости, перечисленных по этой ссылке AmazonSmile, до 7 мая! https://twomenandatruck.com/movers/mi/ann-arbor
https://www.bragannarbor.net/wp-content/uploads/Two-Men-and-a-Truck-Charlene-Bush- 4-5-2021.mp3
11.03.2021
Джилл Джонсон, KSI (Анн-Арбор)
Реконструкция вашей ванной комнаты: советы, тенденции и инновации
2 9 Пространство в ванной часто ограничено , и нюансы вашего дизайна могут иметь большое значение для комфорта и полезности пространства.Шоу-рум KSI и команда дизайнеров помогут вам создать дизайн, соответствующий вашему стилю жизни и вкусу. Узнайте больше и попробуйте их приложение для выбора изображений «Определить мой стиль» по телефону ksikitchens.com
https://www.bragannarbor.net/wp-content/uploads/ATH-Jill-Johnson-KSI-3-22 -2021.mp3
11.03.2021
Джереми Шаффер, Банк США
Финансирование улучшения вашего дома
свой дом, улучшить его или построить заново.Джереми Шаффер, менеджер ипотечного отделения, объясняет общий обзор процесса, который вы можете ожидать для некоторых из наиболее распространенных кредитов. Мы также обсудим, как стоимость вашего дома влияет на ваше общее финансовое положение. Mortgage.usbank.com/jeremy-shaffer-ann-arbor-mi
2/25/2021
Jill Johnson, KSI
Кухонные тенденции на 2021 1 От Color Cources до выбора материалов, узнайте, как дать вашу кухню свежий вид, который будет длиться.Выставочный зал KSI и команда дизайнеров помогут вам создать дизайн, соответствующий вашему стилю жизни и вкусу. Узнайте больше и попробуйте их приложение для выбора изображений «Определить мой стиль» по телефону ksikitchens.com
https://www.bragannarbor.net/wp-content/uploads/ATH-Jill-Johnson-KSI-2-22- 2021.mp3
18.02.2021
Джанет Гилберт-Смит, Norfolk Homes
Поскольку новые дома пользуются большим спросом, Norfolk Homes предлагает новые варианты строительства по всему району.Дома на одну семью, таунхаусы, кондоминиумы и планы строительства на вашем участке, а также дизайнерский центр, который поможет вам с выбором. Узнайте об удобствах, финансировании и многом другом «умного дома» от менеджера по продажам Джанет Гилберт-Смит.
www.norfolk-homes.com
04.02.2021
Киану Табали, Ruoff Home Mortgage
Руководство по ипотечному кредитованию: как низкие запасы, низкие процентные ставки и более высокие цены продаж влияют на людей, продающих, покупающих или рефинансирующих в 2021 году ? Почему люди должны рассматривать продажу или покупку дома на сегодняшнем рынке? Почему отказ от ипотечного кредита часто рассматривается как крайняя мера? Узнайте об этом и многом другом из нашей беседы с местным старшим кредитным специалистом.
www.ruoff.com/keanutabali
28.01.2021
Jim Quain, Системы теплового строительства стен
Утепленные бетонные формы (ICF) становятся все более популярными, поскольку они обеспечивают повышенную долговечность и устойчивость к повреждениям от стихийных бедствий, повышенную энергоэффективность и звукоизоляция. Они также могут быть экономически эффективным способом построить новый дом и предлагать устойчивые преимущества.
www.thermalwallmi.com
https://www.bragannarbor.net/wp-content/uploads/Thermal-Wall-Systems-Jim-Quain-1-28-2021.mp3 3 3 21.01.2021
Стив ДиДжузеппе, Tandem Tile and Stone, LLC
Основатель Tandem Tile и президент BRAG Ann Arbor на 2021 год рассказывает о текущих тенденциях в проектах плитки и улучшениях, которые помогут ускорить установку и обслуживание . Стив также выступает за сотрудничество предприятий с нашей местной ассоциацией.
www.tandemtile.com
Шерил О’Брайен, Big George’s Home Appliance Mart
Это местное предприятие отмечает 60-летие поставки нашему сообществу новейшей и лучшей бытовой техники, электроники и многого другого. Посетите новый и улучшенный выставочный зал Big George в 2023 W.Stadium Blvd, Анн-Арбор за широкий выбор и отличное обслуживание клиентов. 12 /21/2020
Дуг Кинг, Pro Energy Consultants
Энергоаудит для домовладельцев: сделать дома более комфортными и снизить затраты на отопление и охлаждение. Дуг Кинг объясняет некоторые распространенные проблемы и то, как Pro Energy Consultants помогает решить эти проблемы с помощью строительной науки.Мы также обсудим, как это вписывается в миссию инициативы A2Zero города Анн-Арбор по сокращению потерь энергии.
proenergyconsultants.com
https://www.bragannarbor.net/wp-content/uploads/ATH-Doug-King-ProEnergy-Consultants-12-21-2020.mp3 3 3
10.12.2020
Лори Гросс, Gross Electric
Освещение для домашнего офиса, г бактерицидное освещение, впереди долгая зима.
www.grosselectric.com
https://www.bragannarbor.net/wp-content/uploads/ATH-Laurie-Gross-12-10-2020.mp3 100003
100 /16/2020
Дамиан Фаррелл, Damian Farrell Design Group
A2Zero: советы по энергосбережению и энергоэффективности для домовладельцев и города Анн-Арбор в рамках инициативы Net-Zero Energy
2 9 https://dfdgdesign.
ПРОСМОТР ЭТОГО ИНТЕРВЬЮ (открывается в новом окне)
23.07.2020
Gar Eddings, MANS Lumber & Showroom
70007 Настил, окна и двери 9008manslumber.com
25.06.2020
Адам Хаймур , Шкафы по дизайну
Индивидуальные решения для хранения вещей в вашем шкафу и не только 18-2020.mp3
18.06.2020
Карл Слай, Creative Windows
Лучшие варианты оконных штор для повышения комфорта
www.creativewindows.com
11.06.2020
Джанет Гилберт- Smith, Norfolk Homes
Новые домашние сообщества и покупка дома в 2020 году
www.Norfolk- Homes.com
https://www.bragannarbor.net/wp-content/uploads/Norfolk-Homes-Janet- Gilbert-Smith-6-11-2020.mp3
04.06.2020
Jill Johnson
KSI Kitchen & Bath
Профессиональные дизайнерские услуги
www.ksikitchens.com
28.05.2020
Майкл Вебер, Weber’s Ресторан и гостиница
Общественные работы и принятие вызовов
www.WebersAnnArbor.com
14.05.2020
Мэтт Уайбарк, Vedder Electric
Проверка и техническое обслуживание бытовой электротехники
www.vedderelectric.com
20.02.2020
Ким Ченни, Haven Haus Design
Борьба с зимними хлопьями – советы по дизайну интерьера
Channey-2-20-2020.mp3
13.11.2019
Mike Couch, Signature Decks
Struxure Outdoor: Система жалюзийной крыши Pergolas
https://sigdecks.com/products/struxure
6.11.2019
Грант Уэлч и Анн-Арбор Студенты-строители Программа студенческой строительной индустрии Анн-Арбора
TEAM 50’s Morning Class Home Building Experience
(слева направо: Пит Новаковски, Каден Лакин, Кейри Перес Руис, Эйден Андерсон, Джексон Грей, Грант Уэлч )
www.aastudentbuilding.org
31.10.2019
Мишель Шеннон и Стив Бланк Delux Drapery & Shant
www.deluxdrapery.com
1 www.deluxdrapery.com
Audio Player
610/11/2019
Shannon Janeczek Dreammaker Ванна и Кухня
Что спросить перед ремонтом
www.dm-remodel.com
Аудиоплеер
26.09.2019
Шарлин Буш Двое мужчин и грузовик
Услуги по вывозу хлама, помогающие навести порядок в доме
Аудиоплеер 09090Truck
19.09.2019
Мэри Хэмп и Кен Секстон Alpha Design+Build
Экскурсия по дому Fall Remodelers
Проект № 4 — Реконструкция кухни и грязной комнаты на северо-восточной стороне Анн-Арбора
www.alphadesignbuild.com
Audio Player
12.09.2019
Джордан Бичем и Джефф Браун Dexter Builders
Экскурсия по дому Fall Remodelers
Project #8 – Реконструкция всего дома в районе Water Hill
2 www.Dexter0Builders.com Audio Player
05.09.2019 Doug Selby Meadowlark Design+Build
Экскурсия по дому Fall Remodelers
Project #9 — Remodel Plus Addition на сборном доме в районе Water Hill www.Meadowlarkbuilders.com
Audio Player
9000/2018
Майкл Кель
Майкл Кель
Пассивный Дом Тур, Часть видимых зеленых домашних событий серии
1
www.architectucturalresource.comAudio Player
15.11.2018
Norfolk Homes
www.norfolkhomes.com
New Homes in Ann Arbor Twp., Chelsea, Hamburg Twp. и многое другое
Узнайте о новых сообществах, таких как Cornwell Farms, Mystic Ridge, Winchester Farms и других, обсуждаются, поскольку дома Norfolk продолжают строить высококачественные новые дома на юго-востоке Мичигана.
Аудиоплеер
18.10.2018
AASBIP 2018 Дневной класс (слева направо)
Программа строительной индустрии для студентов Анн-Арбора
www.aastudentbuilders.com
Строим новый дом и блины на Supper1/Fundra/Paniser1 27/2018
Морин Слоан, исполнительный директор BRAG Анн-Арбор Хантер Гайер – Общественная средняя школа Марк Валчин, ведущий инструктор AASBIP Даррон Мур – Средняя школа Гурон Стивен Райт – Общественная средняя школа Джефф Баррис – Общественная средняя школа
10 /11/2018
AASBIP 2018 Утренний класс (слева направо)
Программа студенческой строительной индустрии Анн-Арбора
www.aastudentbuilders.orgm
Сбор средств на строительство нового дома и ужин с блинами 27.11.2018
Ник Стернс – старшая школа Pioneer Джейлин Джонсон – старшая школа Skyline Грант Уэлч – помощник инструктора AASBIP Коррина Хэмптон – старшая школа Skyline Мара Seeburger – Pioneer High School Darrel Noblin – Skyline High School
Аудиоплеер
04.10.2018
Ипотечный кредит
Жилищные кредиты и общественные работы
движение.com/lo/susan-heren
Аудиоплейер
27.09.2018
Джим Ачесон и Лорен Маккейб Ачесон Строители
900 Послеремонтный тур по дому №1: Firele House 90 Afternovish8 .ACHESONBUILDERS.COM
9/20/2018
JEF вперед вперед Дизайн построить реконструкцию
Tour Home # 3: Кухонная реконструкция с обновлениями интерьера
www.planforward.net
Аудиоплеер
9 / 13/2018
Martin Clarke Giraffe Design Build
2 Домашние экскурсионные проекты реконструкторов:
• Приветственное обновление нижнего уровня жизни
• Традиционная кухня, переосмысленная с органическим вдохновением
www.giraffedesignbuild.com
Audio Player
9/16/2018
TOM Fauser Jetstream Meanical Геотермальные системы
www.jetstreammechanical.com
Аудиоплеер
8/9/2018
Paul Bekemeyer, Bolyard Lumber (Центр дизайна окон и дверей Marvin)
Новый выставочный зал по адресу 5851 Jackson Rd, Анн-Арбор.
www.bolyardlumber.com
Аудиоплеер
19.07.2018
Джош Бэррон
Esquire Interiors – открытие нового выставочного зала! Жалюзи на заказ, мебель, полы, шкафы на заказ и многое другое
esquireinteriors.COM
Audio Player
7/12/2018
John Rudolph
Anderson Paint & Новый конкурс из номеров
www.andersonpaint.com
Audio Player
4/12/2018
Гэри Рохман, Rochman Design Build
Реконструкция кухни
www.rochmandesignbuild.com
Аудиоплеер
Список изменений | Кипарис Документация
8.0.0
Дата выпуска 19.07.2021
Сводка:
Мы внесли несколько обновлений, чтобы обеспечить единообразие работы в разных браузерах.Теперь все браузеры запускаются через cypress run
запускаются без головы, с соотношением пикселей устройства
1 и размер экрана 1280×720 по умолчанию.
Критические изменения:
Пожалуйста, ознакомьтесь с нашим Руководство по миграции, объясняющее изменения более подробно и как изменить свой код для перехода на Cypress 8.0.
- При запуске
cypress run
до версии 8.0 некоторые браузеры запускались с заголовком в то время как другие по умолчанию запускались без головы.Cypress теперь работает во всех браузерах во времякипарис запускает
как безголовый по умолчанию. Адреса № 16832. - Размер экрана по умолчанию при запуске безголового браузера был возвращен обратно. до 1280×720 пикселей (поведение до версии 7.0). Адреса № 16853.
- При запуске браузера Chrome
--headless
черезcypress run
устройство соотношение пикселей теперь будет по умолчанию равно 1, что соответствует поведению всех остальных браузеры. Это поведение можно переопределить с помощью API запуска браузера.Адреса #17375. - Cypress теперь применяет проверку версии для запуска браузера и будет ошибкой
во время
кипарис запустить
и не разрешить открытие браузера вкипарис открыть
когда попытка открыть неподдерживаемые версии браузера. Cypress поддерживает Chrome >= 64, Firefox >= 86 и Edge >= 79. Адресовано в №17355. - Аргументы, возвращаемые из связанной функции, больше не будут ошибочно
введите
jQuery
и вместовведите любой тип
.Исправления №16669. -
Cypress.ConfigOptions
,Cypress.ResolvedConfigOptions
иТипы Cypress.RuntimeConfigOption
обновлены таким образом, чтоConfigOptions
соответствовать схеме JSON. Адресовано в №17251.
Особенности:
- Теперь можно настроить центр сертификации (ЦС) и клиентские сертификаты на
использовать в тестах для каждого URL-адреса через конфигурацию
clientCertificates
вариант.См. Клиентские сертификаты для более детально. - Установка переменной среды
ELECTRON_RUN_AS_NODE
теперь запускает Cypress как обычный процесс Node.js, а не процесс Electron. Видеть Запуск безголовых тестов без Xvfb Больше подробностей. Адреса №16505.
Исправления:
-
console.log
иconsole.error
вызывается в файл плагинов теперь будет захвачен вstdout
, отправленном на информационную панель Cypress, что делает его отображается в журналах вывода на панели инструментов.Исправления № 7434. - Есть несколько исправлений для
cy.intercept()
в том числе:- Параметр
умножить на
теперь корректно работает сreq.continue
. Исправления № 16821. -
localhost
теперь принимается как допустимое имя хостаRouteMatcher
. Исправления #17015. -
задержка
теперь корректно работает с кодом состояния
- Параметр
- При использовании экспериментального Cypress Studio, там должно быть уменьшено количество сообщений об ошибках «Studio не удалось сохранить команды».Исправления №14767.
-
cy.invoke()
теперь сохраняет правильныйэтот
контекст на методы вложенных объектов. Исправления № 3871. - Мы больше не запускаем ненужную повторную визуализацию снимка при наведении курсора на Журнал команд. Исправления №17257.
7.0.0
Дата выпуска 05.04.2021
Сводка:
🎉 Представляем Cypress Component Test Runner — теперь в альфа-версии. Сегодняшнее релиз включает в себя совершенно новый тестовый движок, предназначенный для замены вашего Node-ориентированного Компонентные тесты.Наш Component Test Runner тестирует ваши компоненты в браузере, так же, как пользователь. И, поскольку он работает в браузере, вы можете отлаживать свой компонентов с помощью ваших любимых инструментов разработчика. Читайте наши Руководство по тестированию компонентов для получения дополнительной информации Детали.
Критические изменения:
Пожалуйста, ознакомьтесь с нашим Руководство по миграции, объясняющее изменения более подробно и как изменить свой код для перехода на Cypress 7.0.
- Мы внесли несколько критических изменений в
су.перехватить (). См.
cy.intercept() для полных примеров использования.
Критические изменения:
- Обработчики запросов, предоставленные
cy.intercept()
, теперь сопоставляются, начиная с последний определенный перехватчик запросов. Это позволяет пользователям переопределять обработчики запросов, снова вызвавcy.intercept()
. Это соответствует предыдущее поведение, которое было по умолчанию вcy.route()
. Адреса № 9302. -
cy.intercept()
теперь автоматически анализирует больше типов JSON MIME, включая ‘приложение/vnd.апи+json». Теперь вы можете удалитьJSON.parse(req.body)
илиJSON.parse(res.body)
из некоторых тестов, которые ранее требовали этого. Адреса #14763. - Ложные значения (за исключением
undefined
), предоставленные в виде телаStaticResponse
tocy.intercept()
теперь будет преобразован в JSON и отправлен как тело. Раньше вместо этого отправлялась пустая строка. Адреса №15234 и № 14205. - Свойство
matchUrlAgainstPath
RouteMatcher
было удалено изг.в.перехват()
. - «Совпадение подстроки» из
cy.intercept()
Сопоставление URL было удалено. Ранее URL-адрес совпадал, если он где-либо содержал указанную строку. Теперь URL-адрес (включая строку запроса) соответствует только в том случае, если он соответствует равенству. или миниматч. -
res.delay()
иres.throttle()
были переименованы вres.setDelay()
иres.setThrottle()
соответственно. Адреса №15700. -
г.в.route2()
ранее был псевдонимомcy.intercept()
. Теперь псевдонимcy.route2()
удален. Пожалуйста, обновите использованиеcy.route2()
доcy.intercept()
. Адресовано в № 14709.
- Обработчики запросов, предоставленные
- Тесты компонентов были перенесены для использования специального средства выполнения тестов и
комплектуется по разному. См.
Руководство по миграции для
полные примеры того, как мигрировать. Адресовано в
№ 14479.
- Тесты компонентов не будут выполняться при запуске
cypress open
илиКипарисовый бег
.Теперь их нужно выполнить, запустивcypress open-ct
илиКипарис Run-CT
. Адресовано в №15701. -
ExperimentComponentTesting
необходимо удалить из файла конфигурации,cypress.json
по умолчанию, иначе выдаст ошибку. Адресовано в №15701. - Событие
file:preprocessor
больше не используется для компиляции тестов компонентов. Теперь необходимо зарегистрировать событиеdev-server:start
.
- Тесты компонентов не будут выполняться при запуске
- Cypress теперь перехватывает неперехваченные ошибки и не проходит тест, даже если приложение
под тестом определено окно
.при ошибке
. Адреса #8802. - Cypress теперь не проходит тесты, если в
приложение на стадии тестирования. Необработанные отказы вызовут
uncaught:exception
событие с обещанием в качестве третьего аргумента. Адреса № 243. - Теперь Cypress выдает ошибку, если тестируемое приложение перенаправляет более
20 раз. Количество разрешенных перенаправлений настраивается с помощью
redirectionLimit
конфиг. Адреса № 14445. - Препроцессор по умолчанию теперь нацелен на более современную версию ECMAScript.Адресовано в #15274.
- Теперь мы включаем
contextIsolation
по умолчанию в браузере Electron. Вы можете переопределить эту опцию, если это необходимо в APIдо:браузера:запуска
. Адресовано в № 15493. -
Cypress.moment()
удален. Пожалуйста, перейдите на другую дату и время форматер. Видеть наш рецепт например замены. Адреса #8714. - Связанная версия Node.js была обновлена с
12.18.3
до14.16.0
.Этот может изменить поведение кода вpluginsFile
при использовании комплектная версия Node.js Кипарис. Адресовано в №15292. - Теперь для установки Cypress в вашей системе требуется Node.js 12+. Адреса #9545.
- Размер окна безголового браузера по умолчанию увеличен до 1920×1080. пикселей для захвата Видео и скриншоты в высоком разрешении. Адреса 15752, № 15730 и № 15481.
Особенности:
- Запись в журнале команд теперь отображается при наличии неперехваченного исключения или необработанный отказ.Адреса #8236.
- Мы добавили несколько функций в cy.intercept(). Видеть
документы cy.intercept() для полных примеров использования.
Адресовано в #14543. Новый
Функции:
- В объекте req есть новые события для
cy.intercept()
, включаядо:ответ
,ответ
ипосле:ответ
. - Обработчики ответов (предоставляются через обработчики событий или через
req.continue(cb)
) предоставленныйcy.intercept()
будет вызываться в обратном порядке до тех пор, покарез.вызывается send
или до тех пор, пока не закончатся обработчики ответов. - В тип
RouteMatcher
добавлена новая опцияпромежуточного ПО
. Если true, предоставленный обработчик запроса будет вызываться перед любым программным обеспечением, не являющимся промежуточным. обработчики запросов. - Новая функция,
req.continue(cb)
, доступна для объектов запроса, переданных поcy.intercept()
. Функционально он аналогиченreq.reply(cb)
— запрос перестанет распространяться на другие обработчики событий, будет отправлен исходящий, и ответ будет обрабатываться cb. -
cy.intercept()
теперь можно вызывать с новой перегрузкой:cy.intercept(url, routeMatcher, обработчик)
.routeMatcher
будет объединен сurl
, и требуется обработчик.
- В объекте req есть новые события для
-
cy.visit()
теперь может посещать страницы сприложение/xhtml*
тип содержимого. Адреса №15738. - Теперь вы можете передать конкретную конфигурацию бегуна, чтобы пройти разные
значения конфигурации для тестов компонента
e2e
.Адресовано в №15526. - Добавлено новое сочетание клавиш (
ctrl/cmd + f
) для поиска файлов спецификаций в Test Runner на базе вашей ОС. Адреса № 6229. - Теперь вы можете создать новый файл спецификации непосредственно из Test Runner в Рабочий стол. Адресовано в №15335.
-
cy.tick()
теперь принимает опциюlog
. Адреса №15180. - Прокси-сервер Cypress теперь добавляет заголовок
keep-alive
ко всем ответам прокси-сервера. Адрес: #15292 - Cypress больше не форсирует определенные
NODE_OPTIONS
.Адресовано в #15292
Исправления:
-
response.body
изcy.intercept()
теперь исправить после заглушки ответа с помощьюres.send({ приспособление })
вreq.continue
callback или обработчикbefore:response
илиresponse
. Адресовано в #14543. - Исправлена ошибка, из-за которой только первый соответствующий псевдоним для маршрута давал
объект ответа на
cy.wait()
. Исправления № 14522. -
.click()
больше не будет давать сбой с «coordsHistory must быть не менее 2 наборов координат» при указании{множественное: истина}
. Исправления #3738. - Cypress теперь правильно проверяет видимость, когда элемент имеет CSS «position: липкий». Исправления #14938.
- После выбора проекта в глобальном режиме и нажатия кнопки «Назад» Cypress больше не будет падать. Исправления №15089.
- Ошибки
Отказ от применения стиля
Пропали из консолиopen-ct
во время Компонентное тестирование.Адресовано в №15661. - Исправлены некоторые утечки памяти в
@cypress/vue
. Адресовано в № 15275.
Разное:
- Типы для
set-cookie
позволяютstring[]
, поэтому тип заголовка был изменено, чтобы отразить это. Адреса №15419. - Определение типа для
cy.writeFile()
теперь позволяет 4 аргумента. Адреса № 15353. -
.then()
покажет правильный тип в необработанном виде Предоставляются элементы HTML.Адреса #14875 - Значок Cypress Studio теперь правильно отображается для тестов с длинными заголовками. Адреса №15182.
- Были внесены некоторые незначительные улучшения в пользовательский интерфейс при настройке проекта в бегун-испытатель. Адресовано в №15665.
Обновления зависимостей
- Обновленная версия браузера Chrome, используемая во время запуска
cypress
и при выборе Электронный браузер в кипарисеоткрыть
с87
на89
.Адресовано в №15292. - Пакетная версия Node.js обновлена с
12.18.3
до14.16.0
. Адресовано в №15292. - Обновлен
электрон
с11.3.0
до12.0.0
. Адресовано в №15292.
6.9.1
Выпущено 05.04.2021
Этот выпуск содержит те же функции, что и 6.8.0. Он был опубликован для предоставления неломающаяся альтернатива 6.9.0, ошибочно опубликованная с взломом изменения.
6.9.0
Выпущено 05.04.2021
Этот выпуск был ошибочно опубликован с критическими изменениями, устарел и не следует использовать. Обновите до 6.9.1 или 7.0.0 или оставайтесь на 6.8.0.
6.1.0
Выпущено 07.12.2020
Особенности:
- Существует новый параметр конфигурации
scrollBehavior
, который управляет областью просмотра. позиция, когда элемент прокручивается до команд действия.Возможные значения'верхний'
,'нижний'
,'центр'
,'ближайший'
иложный
, с'верхний'
является значением по умолчанию.scrollBehavior: false
полностью отключает прокрутку.scrollBehavior
можно указать в глобальная конфигурация, тестовая конфигурация или индивидуальный команды действия черезопции
. Адреса #871 и № 4356. - Вкладка Tests в Test Runner теперь упорядочивает папки перед файлами.Этот соответствует порядку файловых менеджеров большинства IDE. Адреса #7334.
Исправления:
- Ответы, заглушенные из cy.intercept(), теперь
автоматически установить
Access-Control-Allow-Origin
иAccess-Control-Allow-Credentials
к разрешающим значениям, если явно переопределен. Исправления #9264. -
Невозможно прочитать свойство "fireChangeEvent" неопределенной ошибки
больше не будет бросать во время гонки при использовании су.перехватить (). Исправления #9170. - HTTP-ответы, у которых не может быть тела (например, HTTP 304 и HTTP 204), теперь могут быть ожидается с помощью cy.intercept(). Исправления #8934 и #8999.
- Исправлена проблема, из-за которой нельзя было ожидать перенаправления HTTP с помощью cy.intercept(), если он не перехвачен динамически. Адресовано в #9097.
- Тесты больше не будут зависать в определенных ситуациях при наличии ошибки в
до()
крючок. Исправления #9162. - Мы больше не удаляем
/
из URL-адресов, когда они явно передаются с запросом. параметры.Исправления #9360. - Исправлена регрессия в поведении
Cypress.dom.isVisible
для элементов спозиция: фиксированная
, адреса #8998 и #9031.
Устаревшие:
Устаревшие средства по-прежнему работают, но в будущем они будут удалены из Cypress. выпуск. Мы рекомендуем вам обновить свой код сейчас, чтобы удалить использование устаревания.
-
Cypress.moment
устарел и будет заменен в будущем выпуске.Рассмотрите возможность перехода на другой форматировщик даты и времени. Адреса #8714.
Разное:
- Мы собираем больше переменных среды из Bitbucket, чтобы лучше обнаруживать повторные запуски. Адреса #9309.
-
waitForAnimations
итипы animationDistanceThreshold
теперь включены для всех активных команд. Адреса #8854.
Обновления зависимостей:
- Модернизированный
mocha-junit-reporter
с1.23.1
—2.0.0
. Адресовано в #9528.
6.0.0
Выпущено 23.11.2020
Сводка:
Cypress теперь предлагает полную поддержку сетевых заглушек с введением
команда cy.intercept() (ранее cy.route2()
).
С помощью cy.intercept() ваши тесты могут перехватывать, модифицировать
и дождитесь HTTP-запроса любого типа, исходящего от вашего приложения. Смотрите наше руководство по
Миграция cy.route()
в cy.перехват()
.
Критические изменения:
Пожалуйста, ознакомьтесь с нашим Руководство по миграции, объясняющее изменения более подробно и как изменить свой код для перехода на Cypress 6.0.
- Cypress теперь всегда выдает ошибку при утверждении элемента, который не
существовать в DOM (если только вы не утверждаете, что элемент должен
не существует
). Такие утверждения, какnot.visible
,not.contains
,нет.есть.class
и т. д. теперь будут давать сбой при использовании с несуществующими элементами DOM. Адреса № 205. - Элементы DOM, где стиль CSS (или предки)
непрозрачность: 0
больше не являются считается видимым. Однако они до сих пор считаются действенный и любые команды действий используемый для взаимодействия с элементом, будет выполнять действие. Это соответствует реализация браузера о том, как они относятся к элементам с opacity: 0
. Адреса #4474. - Тип, выдаваемый cy.wait(alias), изменился в порядке для поддержки использования cy.перехватить (). Адресовано в #9266.
- Параметр
ExperimentalNetworkStubbing
удален и сделан параметром по умолчанию. поведение. Вы можете безопасно удалить этот параметр конфигурации. Адресовано в #9185. - При использовании .type() и .click()
для элементов внутри элемента
contenteditable
события теперь правильно срабатывает на внутренних элементах. Это может привести к непредвиденным последствиям, если вы полагались на предыдущее поведение. Адресовано в #9066. - Мы удалили несколько ошибок устаревания для API, которые были удалены в версии Cypress до 4.0.0. Это не вызовет никаких изменений ни для кого обновление с версии 4.0+ Cypress. Полный список всех затронутых API см. см. № 8946.
- Мы обновили наши коды состояния HTTP и фразы причин, чтобы они соответствовали Node.js.
http.STATUS_CODES
. Если у вас есть код, основанный на фразе причины, то это может повлиять на вас. Адресовано в #8969. - Тела запросов и ответов JSON, захваченные
cy.intercept() теперь анализируются автоматически,
устраняя необходимость вручную выполнять
JSON.parse
.Адресовано в #9280.
Устаревшие:
Устаревшие средства по-прежнему работают, но в будущем они будут удалены из Cypress. выпуск. Мы рекомендуем вам обновить свой код сейчас, чтобы удалить использование устаревания.
-
cy.server()
иcy.route()
устарели. В будущем выпуске поддержкаcy.server()
иcy.route()
будет удалена. Мы призываем вас вместо этого использовать cy.intercept(). Смотрите наше руководство по Миграцияcy.route()
—cy.intercept()
. Адресовано в #9185. -
ЭкспериментальныйFetchPolyfill
устарел. Мы рекомендуем вам использовать cy.intercept() для перехвата запросов с использованием Вместо этого выберите API. -
cy.route2()
был переименован в cy.intercept(). Мы рекомендуем вам обновить использованиеcy.route2()
для использования cy.intercept(). Адресовано в #9182.
Особенности:
- Новую команду cy.intercept() можно использовать для управлять поведением HTTP-запросов на сетевом уровне.Адресовано в #9182.
- Теперь мы передаем
—disable-dev-shm-usage
в флаги браузера Chrome по умолчанию. Это запишет файлы общей памяти в/tmp
вместо/dev/shm
. Если вы передаете этот флаг в файлеплагинов
, теперь вы можете удалить этот код. Адреса #5336. - Теперь отображается предупреждение при передаче недопустимых ключей конфигурации через CLI. Адреса № 428.
- Команда
cypress версии
теперь также отображает текущий Электрон и объединенные версии Node.Адреса #9180. - Команда
cypress версии
теперь принимает флаг--component
, который позволяет распечатать версии конкретных компонентов Cypress. т.е. электрон, узел, и т.д. Адреса #9214.
Исправления:
- Мы исправили регрессию, введенную в 3.5.0, что вызовет .type() чтобы не вводить всю строку, когда фокус был вызывается из целевого элемента. Исправления #9254.
- .type() и .click() теперь правильно
работать с элементами внутри элемента
contenteditable
.Исправления № 2717 и № 7721. - Исправлена регрессия, появившаяся в 5.6.0, что приведет к запуску Test Runner вылетать и отображать белую страницу при переключении вкладок во время выполнения тестов Бег. Исправления #9151.
- Исправлена ошибка, из-за которой тела запроса
Content-Length
дляcy.route2
могли быть неправильно пересчитано. Исправления #9166.
Изменения в документации:
Разное:
- Добавлен тип
перенаправлений
и измененredirectedToUrl
необязательный для Типы ответов.Адреса #9275.
Обновления зависимостей
- Обновленная версия браузера Chrome, используемая во время запуска
cypress
и при выборе Электронный браузер в кипарисеоткрыть
с85
на87
. Адресовано в #9222. - Пакетная версия Node.js обновлена с
12.16.3
до12.18.3
. Адресовано в #9222. - Обновлен
электрон
с10.1.5
до11.0.2
.Адресовано в #9222.
5.2.0
Выпущено 15.09.2020
Особенности:
- Добавлен параметр конфигурации
includeShadowDom
для включения теневого DOM. запросы глобально, для каждого набора, для каждого теста или программно. Адреса №8442. - Добавлен параметр
followRedirect
для запроса перехвата сcy.route2()
, что позволяет выполнять перенаправления, прежде чем продолжить перехват ответа.Адреса #7967. - Добавлена возможность указывать
delayMs
иThrottleKbps
при заглушке статические ответы сcy.route2()
. Адреса #7661. - Установка предварительных выпусков Cypress больше не требует установки
CYPRESS_BINARY_INSTALL
переменная среды. Адреса #8482.
Повышение производительности:
- Исправлена проблема с производительностью, которая приводила к узким местам ЦП во время работы Cypress.Адреса #8012 и #8297.
Исправления:
- Исправлена проблема, из-за которой использование псевдонимов пути TypeScript в файле плагинов приводило к ошибка. Адреса #8555.
- Исправлена ошибка, из-за которой использование
cy.contains()
в теневом корне не работало. дайте правильный элемент. Адреса #8494. - Исправлена ошибка, из-за которой запрос теневого DOM в обратном вызове
cy.within()
выдать ошибкуroot.getRootNode не является функцией
.Адреса #8478. - Исправлена проблема с
cy.type()
{moveToStart}/{moveToEnd}
специальных символов перемещение курсора на текущую строку вместо всего текста, редактируемого при введя элементcontenteditable
. Адреса #8465. - Исправлена ошибка, из-за которой ввод числа с ручным фокусом начинался число вместо того, чтобы добавить его. Адреса № 7170.
-
cy.type()
теперь запускает событиеKeyboardEvent
вместо событияEvent
.Адреса № 6125 и № 5650. - Исправлена ошибка, из-за которой длинные селекторы в текстовом вводе на игровой площадке селекторов переполняли другие элементы страницы. Адреса #8247 и № 4184.
- Исправлена ошибка, из-за которой утверждения для
cy.getCookie()
вызывались дважды. Адреса #6672. - Исправлена ошибка, из-за которой кнопка «Открыть в IDE» на хуках и тестах не появляются в Firefox. Адреса #8257.
- Исправлена проблема, из-за которой Cypress зависала при повторной попытке теста в режиме выполнения с некоторыми утверждения.Адреса #8363.
Изменения в документации:
- Исправлены примеры задержки и регулирования ответов с
cy.route2()
. Адреса #8489. - Добавлены примеры использования функции ответа с
cy.route2()
. Адреса #8468. - Удалены неподдерживаемые языки. Документы на английском — единственный поддерживаемый язык команда «Кипарис». Мы высоко ценим вклад сообщества для других языков, но эти документы в значительной степени устарели, не поддерживаются и частичный.Команда Cypress будет искать более масштабируемую интернализацию документов реализации в будущем.
Разное:
- Флаг конфигурации
ExperimentalShadowDomSupport
был удален. это больше нет необходимости включать тестирование теневого DOM. - Улучшено сообщение об ошибке, когда тема, предоставленная
cy.shadow()
, не является теневой хозяин. Адреса #8530. - Улучшено сообщение об ошибке, когда двоичный файл Cypress не является исполняемым.Это сейчас рекомендует попробовать очистить кеш и переустановить. Адреса #8397.
- Добавлены отсутствующие объявления типа для команды
cy.route2()
. - Обновлено объявление типа для
Cypress.Commands.add()
, добавленоPromise
в список разрешенных типов возврата. Адреса № 7807.
5.0.0
Выпущено 19.08.2020
Сводка:
Cypress теперь поддерживает повторные попытки тестирования! Подобно тому, как Cypress повторит попытку утверждения, когда они терпят неудачу, повторные попытки тестирования позволят вам автоматически повторить не пройденный тест, прежде чем пометить его как пройденный.Прочтите наше новое руководство по Тестовые повторы для получения более подробной информации.
Критические изменения:
Пожалуйста, ознакомьтесь с нашим Руководство по миграции, объясняющее изменения более подробно и как изменить свой код для перехода на Cypress 5.0.
-
кипарис-плагин-повторяет
плагин устарел в пользу повторные попытки тестирования, встроенные в Cypress. Адреса № 1313. - Вариант Cypress.Cookies.defaults()
белого списка
был переименован в, чтобы сохранить
, чтобы более точно отразить его поведение.На имя в № 7782. - Конфигурация
blacklistHosts
была переименована в blockHosts для более точного отражения его поведение. Адресовано в № 7622. - Опция cy.server()
белого списка
была переименована вигнорирует
, чтобы точнее отразить его поведение. Адреса #6642. -
libgbm-dev
теперь требуется для запуска Cypress в Linux. Адресовано в #7791. - Значения, полученные с помощью cy.setCookie(),
cy.getCookie() и
су.getCookies() теперь будет содержать
sameSite
свойство, если оно указано. Адреса #6892. - Был удален флаг конфигурации
ExperimentGetCookiesSameSite
, так как это поведение теперь по умолчанию. Адреса #6892. - Тип возвращаемого значения методов Cypress.Blob
arrayBufferToBlob
,base64StringToBlob
,binaryStringToBlob
иdataURLToBlob
изменены сPromise
наBlob
.Адреса № 6001. - Cypress больше не поддерживает пути к файлам со знаком вопроса
?
или восклицательный знак отметка!
в них. Теперь мы используем препроцессор веб-пакета по умолчанию и не поддерживает файлы с вопросительными или восклицательными знаками Метки. Адресовано в #7982. - Для компиляции TypeScript файлов спецификаций, поддержки и подключаемых модулей
Опция esModuleInterop
больше не приводится кtrue
. Если вам нужно используйтеesModuleInterop
, установите его в tsconfig.json
. Адреса № 7575. - Cypress теперь требует TypeScript 3.4+. Адресовано в #7856.
- Теперь для установки Cypress в вашей системе требуется Node.js 10+. Адреса № 6574.
- В spec-файлах значения для глобалов
__dirname
и__filename
нет больше включают начальные косые черты. Адресовано в № 7982.
Особенности:
- Существует новый параметр конфигурации
повторных попыток
для настройки количества попыток чтобы повторить неудачный тест.Адреса № 1313. - .click(), .dblclick() и
.rightclick() теперь принимает опции
altKey
,ctrlKey
,metaKey
иshiftKey
для удержания комбинаций клавиш во время Щелчок. Адреса № 486. - Теперь вы можете связать
.snapshot()
сcy.stub()
иcy.spy()
для отключения снимки во время выполнения этих команд. Например:cy.stub().snapshot(false)
. Адреса #3849.
Исправления:
- Ошибка
Невозможно установить свойство 'err' неопределенного
больше не будет неправильно throw при повторном запуске тестов в Test Runner.Исправления #7874 и #8193. - Кипарис больше не бросает
Не удается прочитать свойство isAttached неопределенной ошибки
во время запускакипариса
в Версии Firefox >= 75. Исправления № 6813. - Ошибка
Превышение максимального размера стека вызовов
больше не будет выдаваться при вызовеscrollIntoView
для элемента в теневой области. Исправления #7986. - Переменные окружения Cypress, которые принимать массивы, поскольку их значение теперь будет правильно оцениваться как массивы.Исправления № 6810.
- Элементы с отображением
: встроенный
больше не будет считаться скрытым, если он имеет видимые дочерние элементы. Исправления № 6183. - Когда экспериментальныйShadowDomSupport включено, .parent() и Команды .parentsUntil() теперь корректно работают в shadow dom, а также передача селектора .parents(), когда субъект находится в тени дома. Исправлено в #8202.
- Скриншоты теперь будут правильно делаться при сбое теста в
после каждого
илиbeforeКаждый крючок
после того, как крючок уже прошел.Исправления #3744. - Cypress больше не будет сообщать о перезаписанных снимках экрана в
cy.screenshot()
onAfterScreenshot вариант как уникальный снимок экрана. Исправления #8079. - Снимки экрана больше не будут завершаться сбоем, если имена снимков экрана слишком длинные. чтобы файловая система приняла. Исправления № 2403.
- «Последний использовавшийся браузер» теперь будет правильно запоминаться во время
открытия кипариса
если был выбран браузер канала не по умолчанию. Исправления #8281. - Для проектов TypeScript
tsconfig.json
теперь будет загружен и использован для настроить компиляцию TypeScript спецификаций и файлов поддержки. Исправления #7006 и № 7503. -
reporterStats
теперь правильно показывает количество пройденных и не пройденных тестов, когда тест проходит, ноafterEach
не проходит. Исправления № 7730. - Меню инструментов разработчика теперь всегда будет отображаться в Electron при переключении сосредоточьтесь от спецификаций к Test Runner. Исправления № 3559.
Изменения в документации:
Разное:
- Cypress теперь использует препроцессор веб-пакета по умолчанию для предварительной обработки файлов спецификаций.
- Вкладка Runs в Test Runner имеет новый улучшенный дизайн, когда проект не настроен или требуется авторизация. Адресовано в №8141.
- Тип объекта
Window
, возвращенного из cy.window() теперь правильный. Адреса #7856. - Теперь определение типа для Cypress
ApplicationWindow
может быть расширено. Адреса #7856. - Добавлено определение типа для
reporterOptions
. Адреса #7877.
Обновления зависимостей
- Обновлена версия браузера Chrome, используемая во время запуска кипариса и при выборе
Электронный браузер в кипарисе открывается с
80
по83
. Адресовано в #7791. - Пакетная версия Node.js обновлена с
12.8.1
до12.14.1
. Адресовано в #7791. - Обновлен мел
2.4.2
до4.1.0
. Адресовано в № 7650. - Обновлен
cli-table3
с0.5.1
—0.6.0
. Адресовано в № 7650. - Обновлен
электрон
с8.3.1
до9.2.0
. Адресовано в #7791 и #8235. - Обновление
execa
с1.0.0
до4.0.2
. Адресовано в № 7650. - Модернизированный
экспресс
с4.16.4
до4.17.1
. Адресовано в #8179. - Обновление
fs-extra
с8.1.0
до9.0.1
.Адресовано в № 7650. - Обновлены
лог-символы
с3.0.0
до4.0.0
. Адресовано в № 7650. - Обновлен
tmp
с0.1.0
до0.2.1
. Адресовано в № 7650.
4.0.0
Выпущено 06.02.2020
Сводка:
Cypress 4.0.0 включает поддержку Браузеры Mozilla Firefox (бета-поддержка) и Браузеры Microsoft Edge (на основе Chromium), которые это большой шаг вперед для Кроссбраузерное тестирование в Cypress.У нас есть также обновлены многие из базовых инструментов позади Cypress, которые привносят новые мощные функции.
Критические изменения:
Пожалуйста, ознакомьтесь с нашим Руководство по миграции, объясняющее изменения более подробно и как изменить свой код для перехода на Cypress 4.0.
- Mocha, Chai и Sinon.JS были обновлены, включая ряд критические изменения и новые функции. Адреса № 2528, № 2529, № 2866.
- Во время
before:browser:launch
мы больше не передаем второй аргумент как массив аргументов браузера и вместо этого выдает объектoptions
сargs
для поддержки расширенных параметров запуска браузера.Адреса #6306. - Мы обновили объекты браузера Cypress
все браузеры на основе Chromium, включая Electron, должны иметь
chromium
, установленный как ихсемейство
поле. Адреса № 6243. -
--флаг браузера
больше не принимаетcanary
в качестве единственного аргумента для запуска Chrome Canary. Ты сейчас необходимо указатьchrome:canary
для использования браузера Chrome Canary. Адреса № 6243. - .contains() теперь игнорирует начальные, конечные и повторяющиеся элементы. пробелы.Адреса №92.
- cy.writeFile() теперь возвращает
null
вместо содержимое записывается в файл, чтобы больше соответствовать поведениюfs
. Адреса #2466. - Теперь для установки Cypress в вашей системе требуется Node.js 8+. Адреса № 5632.
- Cypress больше не поддерживает CJSX. Адреса #3469.
Особенности:
- Браузеры Mozilla Firefox теперь имеют бета-версию поддерживать. Адреса №1096.
- Браузеры Microsoft Edge (на основе Chromium) теперь поддерживается.Адреса № 5433.
- Появилась новая утилита Cypress.isBrowser() функция. Адреса №2023.
- Мы обновили объект Cypress.browser новым
свойство канала
, которое содержит канал выпуска обнаруженного браузера. Адреса #6243. - Существует новая опция
matchCase
для .contains(). Адреса #2785. - Добавление
.только
к нескольким тестам или наборам теперь будет запускать все тесты с.только
свойство. Адреса № 2828. - Теперь поддерживается утверждение
isFinite
. Адреса #5669. - Пустое утверждение
- Теперь поддерживается свойство цепочки утверждений
вложенных
. Адреса #3080 и № 5004.
Исправления:
- Тест или комплект с добавлением
. Только
при наличии нескольких тестов или наборов содержал тот же заголовок, теперь работает правильно.Исправления № 5345. - Команда .its() теперь правильно поддерживает 0 в качестве значения для индексы или ключи объекта. Исправления № 6216.
Изменения в документации:
Разное:
- Теперь мы пропускаем ошибки, возникающие при попытке чтения переданных аргументов. через конфиг. Адреса № 6279.
- Мы исправили неработающую ссылку «Подробнее» на панели «Версия Node.js» Настройки тестировщика. Адреса #6237.
- Значки браузера в Test Runner теперь отображаются как изображения с правильным брендинг.Адреса № 6188.
- Мы обновили стиль раскрывающегося списка браузера в Test Runner, чтобы он выглядел более как кнопка. Адреса № 6298.
- Таймер в Test Runner теперь всегда отображается с постоянной продолжительностью. Адреса #6168.
- Вы можете распечатать отладочную информацию об использовании памяти и ЦП Cypress, которая
можно получить, включив
cypress:server:util:process_profiler
поток отладки. Адреса #6169. - Добавлены типы для событий плагина.Адреса № 6322.
Обновления зависимостей
- Добавлено
@benmalka/foxdriver
. Адресовано в № 1359. - Обновлен
@cypress/browserify-preprocessor
с1.1.2
до2.1.1
. На имя в #4308 и № 4226. - Обновлен
bluebird
с3.5.0
до3.7.2
. Адресовано в № 4226. -
cachedir
обновлен с1.3.0
до2.3.0
. Адресовано в № 4208 и № 4226. - Обновлен
чай
с3.5.0
до4.2.0
. Адресовано в № 2862 и № 4226. - Обновлен
chai-as-promise
с6.0.0
до7.1.1
. Адресовано в № 4226. - Обновлен мел
2.4.0
до3.0.0
. Адресовано в № 4226. -
командир
обновлен с2.15.1
до4.0.1
. Адресовано в № 4208 и № 4226. - Обновление
отладки
с2.15.1
до4.0.1
. Адресовано в № 4226. - Обновление
execa
с0.10.0
до3.3.0
. Адресовано в № 4226. - Добавлен
firefox-profiler
. Адресовано в № 1359. - Добавлен
фоксдрайвер
. Адресовано в № 1359. - Обновление
fs-extra
с5.0.0
до8.1.0
. Адресовано в № 4226. - Модернизированный
гетос
с3.1.1
—3.1.4
. Адресовано в № 4226. - Обновление
is-ci
с1.2.1
до2.0.0
. Адресовано в № 4226. - Обновлен
мокко
с2.5.3
до7.0.1
. Адресовано в № 2703 и № 4226. - Обновлен список
0.12.0
до0.14.3
. Адресовано в № 4226. - Обновлены
лог-символы
с2.2.0
до3.0.0
. Адресовано в № 4226. - Добавлен
клиент-марионетка
. Адресовано в № 1359. - Обновлен
ramda
с0.24.1
до0.26.1
. Адресовано в № 4226. - Обновлен
sinon
с3.2.0
до8.1.1
. Адресовано в # 2881 и № 4226. - Обновление
strip-ansi
с3.0.1
до6.0.0
. Адресовано в № 1359. - Добавлена
системная информация
. Адресовано в № 1359. - Обновление
цветов поддержки
с5.5.0
до7.1.0
. Адресовано в № 4208 и № 4226. - Обновление
до обновления
с3.0.3
до4.0.0
. Адресовано в № 4226.
3.3.2
Выпущено 27.06.2019
Повышение производительности:
- Мы исправили регрессию, введенную в
3.3.0, который вызывал Test Runner
делать крайне ненужные повторные рендеры журнала команд по любой команде
изменение, приводящее к экспоненциальному снижению производительности при любом запуске.Это было
основной причиной многих пользователей, испытывающих снижение производительности при
обновление до
3.3.0
или выше. Исправления № 4411 и № 4313. - Мы уменьшили потребление памяти и повысили производительность запуска тестов
каждый раз, когда вы находитесь внутри кипариса
, откройте
. Исправления № 2366. - Мы больше не задерживаем проксированные ответы без тела с кодами состояния 1xx, 204, 304. Это исправляет регрессию, введенную в 3.2.0 где ответы с этим статусом коды задерживались при использовании прокси.Исправления № 4298.
- Снимки ранее по ошибке сохранялись, а затем мгновенно удалялись при
numTestsKeptInMemory
был установлен в 0. Теперь мы больше не записываем моментальные снимки в все, когда дляnumTestsKeptInMemory
установлено значение 0. Это должно немного улучшить производительность запуска тестов с этой настройкой. Исправления № 4104 и № 4164.
Исправления:
- Cypress больше не просматривает файлы при запуске с помощью
cypress run
. Это исправит некоторые прогоны вылетали с ошибкойENOSPC
.Исправления № 4283. - Cypress теперь корректно обрабатывает события
blur
иfocus
в ситуациях, когда браузер потерял фокус. Исправления № 4039, № 1176 и № 1486. - Если элемент DOM, предоставленный .type(), уже находится в
focus, Cypress больше не пытается щелкнуть элемент DOM. Это позволяет вам
для вызова
.focus()
для элементов, которые можно сфокусировать, но не обязательно кликабельны и введите в них, используя.type()
. Исправления #3001 и № 4420. - Некоторые элементы внутри родителя с переполнением CSS
: скрыто
, которые выходят наружу его родителя теперь должным образом считаются скрытыми.#4161 - Элементы, которые находятся внутри родителя с позицией CSS
: абсолютная
, которая себя внутри родительского элемента с переполнением: скрытый
теперь правильно считается видимым. Исправления #4395 и № 755. -
-
-
и элементы с видимостью CSS : свернуть
теперь правильно считается скрытым. Исправления № 4476.- Теперь мы правильно обрабатываем отправку формы при использовании
.type('{enter}')
на форма, содержащая кнопку типаreset
. Исправления № 3909.- Если тип контента
сайта
равенnull
,undefined
или не может быть определен во времяcy.visit()
мы теперь смотрим на содержимое сайт и оценить, похож ли он на HTML.Если это похоже на HTML, мы не более длинная ошибка и продолжайте, как если бы тип содержимогосайта
былtext/html
. №1727 #773 № 3101.- Ранее Cypress отправлял заголовок
auth
на любые URL-адреса, соответствующие Происхождение CORS исходного заголовкаauth
. Теперь мы корректно отправляем толькоauth
заголовки, когда есть точное совпадение на пространство защиты. Исправления № 4267.- Запросы, проходящие через cy.visit() или cy.request() теперь автоматически повторяются
ENOTFOUND
ошибки.Исправления № 4424 и № 1755.- Cypress теперь выдает ошибки, когда параметр body передается в cy.request() содержит циклическую ссылку. Исправлено в № 4407.
- Исправлена проблема, из-за которой фильтровалась конфигурация
ignoreTestFiles
. out при передаче через флаг командной строки, поэтому фактически игнорируется. Исправления № 1696.- Параметр
NO_PROXY
теперь учитывается для URL-адресов HTTPS, как и должно быть. Исправления № 4303.- При запуске тестов с нестроковыми заголовками скриншоты теперь автоматически упорядочивать заголовки тестов вместо того, чтобы выдавать ошибку.Исправления № 4310.
- Cypress больше не выдает некорректные ошибки при вызове
cy.window().screenshot()
,cy.window().scrollTo()
илиcy.window().trigger()
в приложении с несколько фреймов. Исправления № 4396.- Исправлена регрессия в 3.3.0, вызывающая некоторые пользователи, использующие прокси, видят ошибку «Браузер не был запущен через Cypress» во время
кипарис открыть
. Это было вызвано неправильной маршрутизацией запросов на Внутренний сервер Cypress наlocalhost
через прокси пользователя.Исправления № 4410.- Мы исправили ситуации во время сбоя теста, когда Test Runner выбрасывал
RangeError: Максимальный размер стека вызовов превышает
. Исправления № 1958 и № 4346.- Исправлена ошибка, из-за которой
window.performance.getEntriesByType возвращал
.undefined
вместо массива в коде приложения при использовании cy.часы(). Исправления #3625.- Передача массива строк в
ignoreTestFiles
больше не вызывает ошибку бросать. Исправления #4312.- Исправлена визуальная ошибка при многократном псевдониме субъекта без маршрута, который привести к тому, что Test Runner покажет «неопределенный» псевдоним с пустыми счетчиками. Исправления № 4429.
- Фиксированная регрессия, представленная в версии 3.2.0 где Cypress допустил бы ошибку, потому что не смог найти файл определения типа для ‘../синон’. Исправления #4272.
- cy.writeFile() больше не содержит ошибок в файлах TypeScript при передаче объекта
options
в качестве третьего аргумента. Исправления № 4461.- cy.stub() больше не вызывает ошибок в файлах TypeScript, когда оценка возвратов.Исправления № 4302.
Разное:
- Предупреждения теперь отображаются при записи в
cypress run
, чтобы предупредить, когда проект приближается к пределу использования своей организации. Они также ясно объясняют любые последствия превышения лимита использования плана. Адреса № 4530. - Значок предупреждения с подсказкой отображается на вкладке «Выполнения» средства выполнения тестов. когда распараллеливание было отключено во время выполнения из-за превышения лимит использования организации. Адреса № 4489.
- Теперь вы можете отказаться от отправки исключений на
https://api.cypress.io
с помощью установкаCYPRESS_CRASH_REPORTS=0
в переменных системной среды. #4386 - Теперь мы собираем сведения о сборке Google Cloud при записи тестов в Кипарисовая приборная панель. Адреса #3582.
- Заголовки и заголовки тестов в журнале команд больше не усекаются многоточие, когда текст длиннее этой ширины журнала команд. Вместо текст переносится так, что отображается весь текст.Адреса #3947.
- Специальные переменные env теперь усекаются в
Cypress.env()
и журналах отладки. Адреса #4501. -
projectId
теперь отображается в конфигурации в Test Runner настройки, как и все другие значения конфигурации. Исправления № 4500. - При записи на панель мониторинга нераспознанные предупреждения, поступающие от API server теперь отображаются в stdout. Исправления № 4489.
Изменения в документации:
Обновления зависимостей
- Удален электронный позиционер
- Обновлен
чокидар
с1.7.0
до3.0.1
. Адресовано в № 4487. - Обновлен файл cookie
0.3.1
до0.4.0
. Адресовано в № 4329. - Обновлено дерево зависимостей
6.5.0
до7.0.2
. Адресовано в № 4364. - Обновление
fs-extra
с0.30.0
до8.0.1
. Обновлен в пакете CLI только до5.0,0
. Адресовано в № 4418, № 4419, № 4422, №4437, № 4555, № 4559, № 4571, № 4581. - Обновление
mocha-junit-reporter
с1.18.0
до1.23.0
. Адресовано в № 4417. - Обновлен
во множественном числе
с7.0.0
до8.0.0
. Адресовано в № 4438. - Обновлен
shell-env
с0.3.0
до3.0.0
. Адресовано в № 4466, № 4467 и № 4471. - Модернизированный
winston
с0.9.0
до2.4.4
. Адресовано в № 4538. - Мы обновили и удалили некоторые зависимости, используемые для разработки.
3.1.4
Выпущено 25.12.2018
С Рождеством всех!
Исправления:
- Исправлена очень давняя (!) проблема, из-за которой .click()
не сможет щелкнуть центральные координаты элементов со стилем
дисплей: встроенный
. Cypress вместо этого сообщил бы, что элемент был покрыто, вызывая ошибку:г.в.click() не удалось, так как этот элемент перекрывается другим элементом
. Исправления №210. - Теперь мы больше не прерываем XHR, у которых был вызван метод
.abort()
, но уже завершено. Это исправляет пограничный случай, когда полные XHR имели их функцияdisposer
вызывается в таких фреймворках, какrxJS
, что приводит к Cypress случайно повторно прерывает XHR после того, как они были завершены. Исправления № 761. - Исправлены проблемы, связанные с отображением XHR как «прерванных» в журнале команд Cypress. когда они фактически не были прерваны.Исправления № 1652.
- Мы больше не прерываем запрос XHR во время события
выгрузки страницы
и разрешаем Браузер для обработки изначально вызывающего прерывания. Исправления № 2968. - Исправлена ошибка, из-за которой Cypress
devDependencies
включался в Бинарный файл Windows. Исправления № 2896. - Исправлена ошибка, из-за которой
onreadystatechange XHR
не получал надлежащего аргументы события. Исправления № 2925. - Теперь мы правильно удаляем ведущие пути файлов при неперехваченных ошибках из Windows. ОПЕРАЦИОННЫЕ СИСТЕМЫ.Исправления #2936.
Разное:
- Удалено слово «уже» из сообщения об установке Cypress, чтобы меньше путаницы. Адреса № 2754.
- Исправлены неполные определения типов для cy.request. Исправления #2305.
Обновления зависимостей
- Обновлен
commit-info
с2.0.0
до2.1.1
. Исправления № 2848. - Обновлен
lodash
с4.17.10
до4.17.11
. Исправления № 2929.
0.20.2
Выпущено 06.10.2017
Возможные критические изменения:
- cy.exec() теперь обрезает вывод по умолчанию. Это означает, что если вы
использовали утверждение
eq
, вывод больше не будет иметь завершающую новую строку символ\n
. Маловероятно, что вы делаете это, но вполне возможно, что вы можете необходимо обновить ваши утверждения, чтобы удалить этот символ. Исправления № 697.
Исправления:
- Изящно обрабатывать ошибки, когда окно Electron было закрыто до рисования события происходят.Исправления #705.
- Базовая аутентификация теперь работает снова . Исправления № 573.
- cy.exec() теперь правильно вызывается при каждом вызове вместо одного раза. Исправления № 694.
Разное:
-
cypress open
теперь принимает флаг--project
, который позволяет использовать установка Cypress на корневом уровне и указать на несколько подпроектов. Исправления #661. - Запретить более новым версиям Chrome предлагать вам сохранить пароли и подавлены другие всплывающие окна, связанные с расширениями для Windows.Исправления № 704.
0.20.0
Дата выпуска 10.09.2017
Сводка:
-
0.20.0
— наш крупнейший технический релиз. На него приходится более 2000 коммитов. Он полон критических изменений, которые мы хотели внести до того, как наш общедоступный выпуск1.0.0
. - Теперь вы можете
установить Cypress как настоящий модуль
npm
, и дажетребует
в ваших файлах узлов. - Мы переписали весь драйвер (мы все там были) и конвертировали все 2500+ тесты, которые будут запускаться внутри самого Cypress.
Изменения интерфейса командной строки:
- Теперь вы используете
npm
для управления версиями Cypress, как и любой другой зависимостью от разработчиков. - Запуск
npm install --save-dev cypress
автоматически загрузит CLI + двоичный. - Больше нет отдельного шага
cypress install
, но эта команда по-прежнему существует, если вы хотите переустановить двоичный файл по какой-либо причине. - Больше не нужно использовать
cypress-cli
для управления версиями Cypress. Вы будете необходимо удалитьcypress-cli
, запустивnpm удалить -g кипарис-кли
. - Модуль
Cypress
может бытьнеобходим
в вашем собственные проекты узлов для программного управления Cypress так же, как вы из командной строки. - Мы обновили процесс установки, чтобы учесть запуск локально и
в CI, поэтому он не генерирует тонну журналов в
stdout
. - Переменная окружения
CYPRESS_VERSION
исчезла, потому что теперь версия двоичный файл управляется версией модуля npm.Если по какой-то причине вы хотите загрузить бинарник другой версии, вы можете использовать новыйCYPRESS_BINARY_VERSION
переменная окружения — но вы получите предупреждение сообщение, когда версии не совпадают. - Если вы установите cypress глобально, используя
npm install -g cypress
, мы предупредим вы должны зарегистрировать это какdevDependency
, но Cypress продолжить работу в «глобальном режиме». - Cypress теперь проверяет, может ли он работать в вашей системе, перед тем, как запуститься.Это будет делаться для каждой новой версии при первой попытке ее использования. Ошибки это получает от попытки запуска, будет хорошо всплывать, поэтому вы получите вывод для таких вещей, как отсутствующие линукс-зависимости вместо совсем ничего как раньше.
- Улучшена обработка ошибок и обмен сообщениями о сбоях Xvfb.
- Существует новая опция
--browser
. который позволяет вам изменить браузер, который запускается из командной строки. Это работает так же, как смена браузера в графическом интерфейсе, за исключением того, что любой Браузер, отличный от используемого по умолчанию браузераelectro
, будет , а не записывать видео.Это решаемо, но требует дополнительной работы. - Всякий раз, когда вы сталкиваетесь с ошибками в интерфейсе командной строки, мы будем выводить полезную информацию об отладке. информация внизу каждой ошибки.
- Вы можете использовать новую переменную среды
DEBUG=cypress:cli
посмотреть вывод отладки из CLI.
Критические изменения:
- Мы удалили недокументированную команду
cy.chain()
. Ты должен быть способен безопасно удалите это из своего кода. Исправления № 456. - Обновлен Cypress._ для использования lodash вместо подчеркивания. Исправления № 548.
- Если какое-либо переполнение родительского элемента является «скрытым», мы теперь вычисляем, элемент находится за пределами границ этого родительского элемента и подтвердите утверждения видимости соответственно. Это может привести к тому, что некоторые тесты раньше проходивший сейчас точно провалится. Исправления № 410.
-
.select()
теперь должен искать обрезанное значение внутри.select()
команда. Исправления № 175. - При передаче параметра
{force: true}
to.click()
и.type()
, мы больше не пытаемся прокручивать элемент в поле зрения. Мы также отключили проверку того, что элемент находится в поле зрения. прежде чем нажимать или печатать. Исправления № 553 и № 537. -
Кипарис.Дом
переименован вКипарис.дом
. -
Cypress.Log.command
был переименован в Cypress.log. -
chai-jQuery
утверждений нет больше менять тему при использованииprop
,attr
иcss
с 3-й аргумент (действующий как проверка на равенство). Исправления № 605. - Теперь мы бросаем, когда из теста или команды возвращается значение, отличное от
cy
. функция. Исправления №463. - Возврат промиса в пользовательской команде при одновременном вызове команд cy сейчас бросает.Исправления №435.
- cy.then() теперь будет передавать свою тему, только когда
его функция обратного вызова возвращает
undefined
. Предыдущее это передало бы тему нанулевых значений
. - cy.contains() больше не может быть привязан к субъектам
которые не являются
окном
,документом
илиэлементом
. Это приводит к паритету с новыми пользовательскими командными правилами и делает его гораздо менее «волшебным». Это заставляет вас использовать его гораздо яснее при запросе всего документ. - Удалено
Cypress.addParentCommand()
,Cypress.addChildCommand()
иCypress.addDualCommand()
в пользу новый настраиваемый командный интерфейс.
Особенности:
-
chai-jQuery
утверждения имеют улучшенный обмен сообщениями об ошибках и внутренние двойные утверждения удалены, и теперь их можно создавать на необработанных объектах DOM. Исправления № 605. -
chai-jQuery
утверждений сейчас выдайте хорошее сообщение об ошибке, когда вы утверждаете объект, не являющийся DOM.Исправления № 604. - Новая команда .trigger(). Полезно для запуска произвольные события. Исправления № 406.
- Новая команда cy.scrollTo(). Полезно для того, чтобы Контейнер прокручивается до определенной позиции. Исправления № 497 и № 313.
- Новая команда .scrollIntoView(). Полезный для прокрутка элемента в поле зрения. Исправления № 498 и № 313 и № 519.
- Входные диапазоны теперь легче тестировать с помощью нового Команда .триггер(). Смотрите наши новый рецепт для деталей о том, как. Исправления №287.
- Тестирование перетаскивания теперь возможно с использованием нового .Команда триггер(). Смотрите наши новый рецепт для деталей о том, как. Исправления №386.
- Обновлена команда .click(), чтобы принять больше позиций аргументы. Исправления №499.
- Добавлена поддержка
.type()
для ввода типаdate
,время
,месяц
инеделя
. Исправления № 27. - Теперь вы можете передать параметр браузера в
кипарис беги как
--browser <имя браузера>
. Это позволяет вам запускать один и тот же набор браузеров при запуске из CLI, как и при запуске из GUI.Исправления № 462 и № 531. - открытый кипарис больше не открывает
отсоединенный процесс по умолчанию. Вместо
кипарис открытый
теперь принимает новый флаг--detached
, что повторяет это поведение. Исправления № 531. - У нас есть все новые примеры докеров, которые вы можете проверить из.
- Пакет
cypress
npm теперь проверяет текущая установленная версия наустановить
и запускается и не переустанавливает Cypress если он уже установлен. Исправления № 396. - Мы добавили новый Cypress.Команды интерфейс для обработки добавления ваших собственных пользовательских команд. Исправления № 436.
- Теперь вы можете перезаписывать существующие команды с помощью Cypress.Commands.переписать.
- Мы убрали искусственную задержку между командами. Этот означает, что тестовые команды теперь выполняются быстрее.
- Теперь вы можете отключить глобальные обработчики исключений Cypress для ваше приложение. Исправления № 254
- Неперехваченные ошибки, появляющиеся в ваших файлах спецификаций или файлах поддержки, теперь корректно пойманы, имеют правильный код выхода и правильно отображаются.Исправления № 345
- Cypress теперь будет прокручивать несколько элементов, которые закрывают элемент, который нужно
взаимодействовал с. Теперь он также учитывает элементы с позицией
: sticky
. Исправления #571 и № 565. - Cypress теперь прокручивает все родительские контейнеры (а не только
окно
) при попытке к проверить работоспособность элемента. Исправления №569. - Использование
Интерфейс Chai.js
assert
теперь корректно работает в ваших спецификациях. - Скриншоты теперь делаются при каждом сбое выполнения.Ошибки в тестах произойдет там. Там тоже будут ошибки в хуках. Ранее снимок экрана произойдет только после того, как все (включая хуки) запустится. Исправления № 394
- cy.screenshot() теперь синхронизирует свое состояние с репортер. Это означает, что вы должны увидеть сообщения об ошибках (слева) на автоматические ошибки скриншота.
- Использование асинхронного обратного вызова mocha
done
теперь работает правильно. - Теперь вы можете программно перехватывать и потенциально отключать неперехваченные ошибки приложений от провала ваших тестов.
- Теперь вы можете программно управлять принятием или отменой вызовы window.confirm() из вашего приложения.
Зависимости:
- Обновлен Cypress.Promise (то есть Bluebird) из
версия
2.9.25 от
до3.5.0
- Обновлен чай с версии
1.9.2
до3.5.0
- Обновлен синон с версии
1.x
до3.2.0
- Обновлен jQuery с версии
2.1.4
до2.2.4
. - Удалены chai-jQuery и переписал с нуля.
Устаревшие:
Исправления:
- Исправлены сбои внутренних таймеров, которые вызывали случайные тайм-ауты, ошибки прокси-сервера, неправильные задержки и длительные паузы при загрузке графического интерфейса. Исправления № 572.
- cy.route() теперь соответствует запросам, открытым в нижнем регистре. методы. Исправления #607.
- Исправлена регрессия, при которой многократное использование
cy.server()
в хукедо
выдавало ошибку.Исправления #80 и № 510 и № 595. - При редактировании файла
cypress.json
мертвая страница браузера больше не появляется. Исправления №492. -
.type()
теперь должен работать на входах независимо от капитализацияатрибут типа
. Исправления № 550. - Исправлены проблемы, из-за которых
.type()
не добавлял текст должным образом. Исправления #503 и № 568. - Исправлена ошибка, из-за которой ввод
.type()
сtype="email"
выдавали ошибку.Исправления № 504. - Исправлена проблема, при которой использование
.type()
на входе стип
, определенный в верхнем регистре (input type="TEXT"
), вызовет ошибку, а не тип. Исправления #550. - Исправлена проблема с вводом .clear() и
type="number"
. Исправления №490. - Исправлена ошибка, из-за которой
cy.exec()
не работал при запуске Кипарис в докере. Исправления № 517. - Cypress CLI больше не требует для установки
git
. Исправления № 124 - Улучшен адаптивный дизайн репортера, поэтому элементы управления по-прежнему отображаются в более узком месте. ширины.Исправления №544.
- Текст команд больше не будет обрезаться многоточием, когда установлен журнал команд. на большую ширину. Исправления № 528.
- Исправлена ошибка, из-за которой при установке
fixsFolder
наfalse
возникала ошибка. Исправления №450. - Исправлена ошибка, из-за которой Cypress зависал из-за разрешений Xvfb. Более интуитивно понятный вывод дается во время сбоев установки. Исправления № 330.
- Проверки, используемые для определения работоспособности элемента теперь выполняются синхронно. Это решает некоторые обстоятельства, когда элемент могли переместиться или иным образом измениться между проверками.Исправления № 570.
- Исправлена ошибка, из-за которой обрезанные элементы с
overflow-y: hidden
отображались ошибочно. проходит как «видимый». Исправления # 563. - При использовании
.select()
для выбора с несколькими options с тем же значением, теперь мы правильно устанавливаемselectedIndex
иselectedOptions
навыберите
. Исправления № 554. - Исправлена ошибка, из-за которой изменение любого файла спецификации (переименование, добавление, удаление) удалить выделенный стиль текущего активного файла спецификации в тесте Бегун.Исправления №547.
- Теперь мы получаем абсолютные пути стилей для использования при отображении снимков. Этот исправит ситуации, когда некоторые таблицы стилей неправильно ссылались во время снимок, поэтому стили отображались неправильно. Исправления № 525.
- Исправлена ошибка, из-за которой команды повторялись и потенциально превышали время ожидания. значения при переходе между страницами. Исправления № 594
- Исправлена ошибка, из-за которой маршруты сервера терялись после загрузки страницы, если она не была инициирована
команда
cy.visit()
.Исправления № 177 - Использование обратного вызова mocha
done
теперь работает правильно. Мы улучшили мокко обработка неперехваченных исключений и правильное связывание их с ошибками тестирования. - cy.viewport() теперь синхронизируется с пользовательским интерфейсом, поэтому что он не разрешается до тех пор, пока DOM не будет повторно визуализирован с использованием размеров.
- «внешние утверждения» теперь корректно повторяются предыдущими командами. Исправления № 543.
- Пример_spec из кухонная раковина будет никогда не быть случайно засеянным во время бега Cypress работает над совершенно новым проектом.
Разное:
- Теперь мы отображаем предупреждение в консоли при возврате промиса из теста а также вызов команд Promise или cy. Исправления № 464.
- Уменьшено количество внутренних сетевых запросов Cypress в «Сетевой панели» инструментов разработки. Исправления #606.
- Мы переместили всю нашу кодовую базу в один частный «Monorepo». Это в ожидание перехода на открытый исходный код (сделав общедоступным репозиторий GitHub) и должен сделать так, чтобы каждый мог внести свой вклад в наш код.Исправления № 256.
- Когда элементы не видны из-за того, что они закрыты другим элементом, сообщение об ошибке теперь говорит, какой элемент покрывает какой элемент. #611
- Улучшены расчеты для расчета видимости элементов. Кроме того обновлены сообщения об ошибках, чтобы они были более понятными, когда элемент не рассматривается видимый. Исправления #613
- Ошибка «Не удается запустить сервер», отображаемая в графическом интерфейсе рабочего стола, больше не препятствует вам от взаимодействия в настольном приложении. Теперь оно отображается как предупреждение.Исправления № 407.
-
cy.focused()
теперь автоматически повторяет попытки до тех пор, пока элемент существует в DOM. Это заставляет его вести себя так же, как cy.get() Исправления № 564 и № 409. - Теперь мы поддерживаем для каждого проекта
state.json
. Исправления № 512. - Теперь мы можем обрабатывать несколько проектов на сервере. Исправления № 512.
- Теперь Test Runner может добавлять проекты путем «перетаскивания». Исправления .
- В окне обновления Test Runner теперь отображается сообщение о пакете
.json
версия. Исправления №513. - Test Runner теперь учитывает установку cypress для каждого проекта как npm. модуль. Исправления #500 и № 514.
- кипарис установить
-d
вариант. Исправления № 389. - Предоставление Cypress Binary больше не требуется, если cypress локально установлены. Исправления №379.
- Добавлен параметр «Данные приложения» в настольном приложении, который отображает данные приложения. Исправления № 475.
- Когда
cy.spy()
илиcy.stub()
никогда не вызывалась, ошибка теперь отображается более четко и грамматически правильно.Исправления #520. - Улучшено определение установленных браузеров. Исправления № 511.
- Когда нажимаются команды и выполняется вход в консоль из журнала команд, теперь они отображают свой «доход» вместо «доход», так как они действительно уступают вместо возврата. #612
- Процесс сборки драйвера модернизирован. Исправления № 429.
- XHR из вашего приложения больше не прерываются принудительно между тестами.
- Улучшена обработка ошибок при выполнении команд вне теста.
- Изменения URL-адреса из событий навигации или хэш-изменений теперь отображаются более точно.
- cy.go() теперь делает снимки до и после навигации мероприятие.
- События загрузки страницы больше не вызываются принудительно
null
вне текущей темы. Это было очень неожиданно и трудно отлаживать. Теперь устаревшие элементы или другие объекты с предыдущих страниц отдаются вам. - Использование массива того же псевдонима в cy.wait() сейчас дает вам эти XHR в том порядке, в котором они были запрошены.Раньше это было в зависимости от того, когда были возвращены ответы.
- Возврат
null
из .then() теперь изменит при условии того. Раньше возвратnull
не приводил к изменению темы. - Теперь мы больше не удаляем шпионов, заглушки или маршруты в конце самого последнего контрольная работа. Это позволяет вам продолжать использовать приложение вручную и использовать Cypress. продолжайте инструментировать его.
- Обновлено несколько вещей, чтобы более агрессивно вызывать GC.
- Вводные диалоговые окна больше никогда не будут отображаться после закрытия.Исправления № 522.
-
window.alert()
иwindow.confirm()
теперь генерируют событие страницы в Журнал команд (включая сообщение). -
cy.spy()
иcy.stub()
теперь имеют метод.log(bool)
для отключения их вызовов от создания журнала команд. Полезно, когда ваших шпионов или заглушек вызывают слишком много раз. - Улучшены сообщения об ошибках проверки темы команды.
- Улучшено сообщение об ошибке отсоединения элемента (при попытке взаимодействия с элемент, который устарел/отсоединился от документа).
- Наконец-то у нас есть частичная поддержка iframe. Вы можете по крайней мере сейчас cy.wrap() элементы iframe и взаимодействуйте с ними, используя Кипарис команды. Необходимо проделать дополнительную работу, чтобы «включиться» и «выйти» обратно. из» фреймов. Но мы добираемся до цели.
- Создание новых проектов больше не создает файл
default.js
. - Шаблоны
index.js
иcommands.js
обновлены до указать на API пользовательских команд. - Теперь вы можете звонить .фокус () и .blur() на cy.window().
- Опция env
CYPRESS_DEBUG
была удалена в пользу модуляdebug
. иDEBUG=cypress:*
использование. - Попытка запуска cypress run на
проект без
cypress.json
теперь ошибки вместо скаффолдинга и запуска кухонная раковина.
Изменения в документации:
Примечание: мы все еще обновляем всю документацию, чтобы отразить все изменения версии 0.
0 comments on “Радиоконструктор 6 2018: Радиоконструктор №6 (июнь 2018): movzone — LiveJournal”
- Теперь мы правильно обрабатываем отправку формы при использовании