За 15 лет работы разработчиком я обнаружил, что ложные убеждения о человеческой природе — основные враги хорошей декомпозиции. Если знать о них и стремиться не угодить к ним в ловушку, со временем можно сформулировать советы по созданию качественной декомпозиции. Так произошло со мной, и я спешу поделиться этим знанием.
QA
Внезапное желание стать разработчиком. Личный опыт
Видите пару схожих вопросов рядом? Вот и мой разум приоткрыл один глаз и сказал – «Хм… Знакомая тема, бро». Стараясь не думать, как выглядят глаза разума, я прочитал эти вопросы, комментарии к ним, и у меня появилось непреодолимое желание поделиться с сообществом своей историей. История под катом.
Слышали о языке Prolog?
Почему? Ну, лично я виню в этом индустрию разработки ПО. Я работаю в этой сфере последние 17 лет. Я участвовал в самых разных проектах, связанных с веб-разработкой и с большими данными (а именно, это были крупные интернет-площадки, ETL-конвейеры и прочее подобное). Суть в том, что за всё это время я не увидел ни одной строчки кода, написанной на Prolog.
Теперь расскажу о том, что случилось на прошлой неделе. Это был совершенно обычный вторник, я проводил собеседование с начинающим программистом. Когда я спросил его о том, на каких ещё языках программирования он может писать, он ответил так: «Я учил Prolog в университете, но им уже никто не пользуется».
Это заставило меня задуматься о том, насколько подобное заявление соответствует действительности.
Нагрузочное тестирование: что в нем интересного и какие навыки нужны?
Попросили рассказать о перспективах и задачах в сфере тестирования производительности Василия Кудрявцева, директора по качеству АО РТЛабс и руководителя нашего курса «Нагрузочное тестирование».
Самая актуальная на сегодня область в QA
Последние месяцы из-за сложившейся ситуации с пандемией все больше продуктов и сервисов переходят в онлайн, а уже существующие — быстрыми темпами расширяют свою аудиторию. Трафик и нагрузка возрастают, а вместе с тем и актуальность нагрузочного тестирования (НТ).
Даже начинающих специалистов, но с необходимым набором скиллов, хантят в течение нескольких недель. Причем выбор проектов огромен: банкинг, маркеты, доставка, образование и стриминговые сервисы, всевозможный онлайн-досуг и т.д.
Можно рассчитывать на зарплату на 30-50% выше, чем по другим направлениям тестирования.
Поддерживаем разработку нескольких версий продукта в Git. Станислав Лукьянов (GridGain)
Всем привет! Меня зовут Станислав Лукьянов. Я работаю в компании GridGain. Сегодня я хотел поговорить о том, как мы поддерживаем старые версии в Git.
Этапы внедрения CI/CD
Ключевым моментом при разработке и написании кода ПО является скорейший переход на набор эксплуатационных принципов и методов, более известный как CI/CD, который соединяет непрерывную интеграцию с непрерывной поставкой. С помощью CI/CD команды разработчиков могут чаще и надежнее выкатывать изменения кода, таким образом быстрее удовлетворяя потребности бизнеса и пользователей.
Непрерывная интеграция — философия написания кода и набор методов, разработанные для стимулирования команд разработки делать мелкие изменения кода и фиксировать их в репозиториях с версионированием как можно чаще. Из-за того, что большинство современных приложений требуют написания кода с использованием разных платформ и инструментов, командам нужен способ интеграции и проверки сделанных ими изменений.
Можно ли сложить N чисел типа double наиболее точно?
В предыдущих сериях…
Прошлая статья рассказала о двух способах сложения двух двоичных чисел с плавающей запятой без потери точности. Чтобы добиться этого, мы представили сумму c=a+b в виде двух чисел (s,t)=a+b, причём таких, что s — наиболее близкое к a+b точно-представимое число, а t=(a+b)-s — это отсекаемая в результате округления часть, составляющая точную погрешность. У читателей был вопрос: а можно ли достаточно точно сложить массив чисел типа double? Оказывается, можно! Но только, вероятно, не всегда и не абсолютно… и не алгоритмом Кэхэна, который тогда вспоминали в комментариях. За подробностями прошу под кат, где мы и найдём приложение тому, о чём я рассказал в прошлый раз.
Целый этаж аналитиков. Как поняли цифровизацию на заводе
Я расскажу несколько версий произошедшего. Кто прав – решать вам.
Что происходит, когда вы выполняете manage.py test?
Перевод статьи подготовлен специально для студентов курса «Python Web-Developer».
Вы запускаете тесты командой manage.py test, но знаете ли вы, что происходит под капотом при этом? Как работает исполнитель тестов (test runner) и как он расставляет точки, E и F на экране?
Когда вы узнаете, как работает Django, то откроете для себя множество вариантов использования, таких как изменение файлов cookie, установка глобальных заголовков и логирование запросов. Аналогично, поняв то, как работают тесты, вы сможете кастомизировать процессы, чтобы, например, загружать тесты в другом порядке, настраивать параметры тестирования без отдельного файла или блокировать исходящие HTTP-запросы.
В этой статье мы проведем жизненно важную настройку выходных данных ваших тестов, а еще сменим стиль отображения результатов выполнения тестов с точек и букв на эмодзи.
Три образовательных сервиса, которые помогут на практике научиться работать в IT на уровне PRO
Образовательное болото появилось недавно. Уже никого не удивишь тренажерами по программированию. Много курсов с нуля, к которым у мастодонтов айти-индустрии накопились претензии.
А вот тренажерам для администраторов и DevOps, Data Science и по работе с инструментарием типа Docker, Kubernetes, TensorFlow и Linux удивиться можно. Особенно если они с хорошей методологической траекторией.
О таких мы и поговорим.
Как мы «разогнали» команду QA, и что из этого получилось
Но
Как я получил пожизненный запас чесночной пиццы с помощью Python и Selenium
История голодного студента с пытливым умом
Не знаю, как вы, а я обожаю пиццу. Особенно если это особые чесночные пицца-палочки Papa John’s. Поэтому я был в восторге, когда после заказа еды навынос получил от них следующее письмо:
Papa John’s (с) Заголовок письма с опросом
Бесплатная еда! Мне определённо нужно было пройти этот опрос…
О полезности contextvars
В Python есть множество возможностей и языковых конструкций. Какие-то мы используем каждый день, а о некоторых даже опытные программисты узнают с удивлением после нескольких лет работы с языком (привет, Ellipsis!). Совсем недавно вышел Python 3.9, но в этой статье я расскажу о функциональности, представленной еще в версии 3.7. На мой взгляд, она совершенно незаслуженно обделена пристальным вниманием. Речь, конечно же, о contextvars.
Визуализация использования GIL в CPython
Сразу оговорюсь, что использую
Ubuntu 16.04
c ядром 4.15.0-115-generic
, на машине стоит 4-х ядерный процессор Intel(R) Core(TM) i5-4200U CPU @ 1.60GHz
с 4 GB RAM.Теория
Ни для кого не секрет, что в Linux библиотека потоков реализует стандарт POSIX threads. Реализация потоков в CPython использует данные потоки, из-за чего управление ими полностью осуществляется операционной системой.
GIL в Python3 это булевская переменная
locked
, доступ к которой защищен мьютексом mutex
, и при изменении которой в false
, ОС «сигнализирует» какому-то потоку, который ожидает условную переменную cond
.Сложение двух чисел с плавающей запятой без потери точности
s = a+b;
z = s-a;
t = b-z;
то не кажется ли вам, что в результате его выполнения получится, что t=0? С точки зрения привычной математики действительных чисел это и правда так, а вот с точки зрения двоичной арифметики с плавающей запятой в переменной t будет кое-что другое. Там будет то, что спасает нас от потери точности при сложении чисел и . Кого интересует данная тема, прошу под кат.
Information
- Rating
- Does not participate
- Registered
- Activity