Тестирование | QA, QC
3.5K subscribers
246 photos
82 videos
332 links
Всё о тестировании ПО простым языком.
Download Telegram
#Do_you_understand

Компания Гиннесс известна не только пивом, но и тем, что в конце 19-столетия в ней работал Уильям Госсет.

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

О чем рубрика
#Do_you_understand

Двумерный массив - это как коробка конфет, только полезнее.

Помнишь, я рассказывала про одномерный массив? Если кратко, то это такой классный способ хранить и обрабатывать данные. Так вот, одно измерение хорошо, а два лучше, поэтому разработчики придумали двумерные массивы.

Представь среднестатистическую коробку конфет. Она, наверняка, состоит из отдельных ячеек, т.е. ты можешь попросить передать тебе пятую конфету справа в третьем ряду сверху. Примерно также происходит работа с двумерным массивом - каждый объект лежит в своей ячейке с уникальным адресом из номеров строки и столбца.

О чем рубрика
#Будь_как_все

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

О чем рубрика
Media is too big
VIEW IN TELEGRAM
#Do_you_understand

Думаешь, поле - это цветы, рожь, русские поэты? Неа. Поле - это множество, для которого есть нулевой элемент, единичный элемент, операция сложения, умножения и взятия противоположного значения.

К примеру, возьмем обычные целые числа. Те самые, которые все усердно учили в течение как минимум 9 классов. С операциями сложения и умножения этих чисел я думаю все понятно. Нулевой элемент само собой 0, а единичный - 1. Операция взятия противоположного значения - это найти число, при сложении с которым получится 0. Ну, скажем, 5 и -5.

А теперь вопрос: зачем это нужно? Как минимум, вся криптография построена на теории полей.

О чем рубрика
#Вавилон_нашей_эры

Есть ли алфавит у языков программирования?

Смотри, здесь примерно все как у "нормальных" языков типа русского, английского и прочих. База - это алфавит. Только в IT он может любым: из букв, из цифр, из специальных символов, из чего угодно. Единственное, в нем не может быть повторений. Скажем, две буквы "а" было бы странно.

Обычно алфавит конечный, однако особо изощренные разработчики-теоретики умудряются обращаться и с языками, где алфавит состоит из бесконечного числа символов. Как - лучше не спрашивай. Да, и порядок символов здесь не имеет никакого смысла.

О чем рубрика?
#Do_you_understand

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

О чем рубрика
#Будни_IT

Осторожно! Особо впечатлительным читать дальше не рекомендуется.

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

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

Проблема в том, что практически любой IT продукт такой - даже телеграм, увы, не идеален.

О чем рубрика
#Где_то_за_кадром

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

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

О чем рубрика
#Будь_как_все

Представь, что тебе надо повысить безопасность перекрестка. Типичная проблема в общем-то для российских дорог, ну да ладно. Как это сделать? Можно поставить светофор, а можно снести перекресток и выстроить автомобильную развязку с подземными переходами.

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

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

О чем рубрика
#Do_you_understand

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

О чем рубрика
#Будь_как_все

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

P.S. Это одна из базовых операций алгебры логики, еще про одну можно почитать тут.

О чем рубрика
#Будни_IT

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

О чем рубрика
#Респонс_на_реквест

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

Ответить сразу я не смогла хотя бы по той простой причине, что не смотрела этот фильм. Пришлось пообещать, что напишу статью на канал и гуглить. Для тех, кто тоже не следит за новинками Марвел краткое пояснение: Джарвис – это искусственный интеллект, который управлял охраной дома и костюмом главного героя. Кстати, расшифровывается имя как «Just A Rather Very Intelligent Schedule» или в патриотичном варианте «Просто довольно очень умный планировщик».

Итак, в статье мы поговорим об искусственном интеллекте, голосовых помощниках, ну и Джарвисе, конечно.

О чем рубрика
#Будь_как_все

Давай поговорим о стандартах? В далеком 1988 году лучшие умы того времени приняли ISO 8601, который должен был сделать будущее Интернета безоблачным. И избавить программистов от утомительной работы. Этот документ регламентировал единый формат, в котором должны быть представлены все даты в мировой сети.

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

О чем рубрика
#Do_you_understand

Пессимисты говорят, что не меняются люди. Программисты - что не меняются данные. Точнее не только лишь все.

Immutable structure - это неизменяемая структура. Или, в адаптации на русский язык, ее называют просто иммутабл. В чем суть? Некоторые объекты не меняются после своего создания. Вообще никогда. Т.е. они возникли, приобрели какой-то набор характеристик и в таком виде существуют до конца программы. В разработке такие структуры используются для многопоточных приложений, о которых я расскажу чуть попозже. Пока что запомни, что изменить иммутабл объект снаружи или насильно невозможно (как и некоторых людей, кстати).

О чем рубрика
#Вавилон_нашей_эры

Псс... Поговорим о латентной типизации? Иногда ее еще называют утиной. В общем, одно название лучше другого.

Итак, что это такое? Это когда тип объекта определяют через его свойства. Ну, например, у тебя есть то, не знаю что, которое пришло оттуда, не знаю откуда. И тебе надо понять что это вообще, а главное как с ним работать. Отталкиваемся от того, что объект умеет делать. Ага, это нечто можно умножить и прибавить - значит это число. Или, это нечто можно разбить на буквы - значит это строка. И т.д.

А каким боком тут утки? Есть так называемый "duck test", который звучит следующим образом: если это выглядит как утка, плавает как утка и крякает как утка, то это, вероятно, и есть утка.

О чем рубрика?
#Do_you_understand

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

Это все, конечно, хорошо, но нет. Тру программист знает, что слова образуются посредством функций. Т.е. у тебя есть абсолютно любой алфавит и какие-то правила, согласно которым из букв составляются слова. Эти же правила регулируют и принадлежность слова тому или иному языку. Например, из русского алфавита можно легко составить слово "арввлашажы". Да-да, кот по клавиатуре пробежал. Так вот за счет отсутствия правила, которое бы наделило это слово функциональностью, мы не считаем его принадлежащим русскому языку.

О чем рубрика
#Где_то_за_кадром

Думаешь, компьютерные вирусы - это детище злого гения? Не всегда.

О чем рубрика
This media is not supported in your browser
VIEW IN TELEGRAM
#Будь_как_все

Клеточный автомат - одна из наиболее известных математических моделей, которую активно используют как программисты, так и физики, биологи, механики, в общем все, кому не лень. Что же это такое?

Представь себе поле для морского боя. То самое, которое разбито на ячейки. Для каждой ячейки задано определенное состояние, например есть корабль/нет корабля. Единственное отличие от детской игры заключается в том, что изменение всего поля не происходит последовательно. Т.е. не сначала меняется одна клеточка, а в зависимости от нее потом другая - все ячейки меняются одновременно.

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

О чем рубрика
#Респонс_на_реквест

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

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

О чем рубрика
#Где_то_за_кадром

Песок - это не только предмет для возвышенных поэтических метафор, но и важная составляющая твоего гаджета. Точнее, материал самой важной его составляющей: процессора.

О чем рубрика