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

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

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

Языки программирования бывают разными. Иногда они просто выносят мозг - особенно это заметно на примере Brainfuck. Весьма специфичный язык, который полностью соответствует своему названию. Почему? Ну например, знак "больше", который во всех нормальных языках выглядит как >, в Brainfuck обозначается суммой. И подобные приколы на каждой операции. При этом, несмотря на внешнюю неказистость и экзотичность, язык позволяет написать практически любую программу.

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

Итак, RPC. Тебя не обмануть, это действительно Remote Procedure Call. Поговорим, что за зверь и где его применяют.

Сама технология стара, примерно как "Одноклассники". В незапамятные времена устройства объединял не столько Интернет, сколько какие-то локальные сети. А перед разработчиками соответственно очень часто вставала проблема вызова функций из другого адресного пространства. Цель наших предшественников была проста, но благородна - упростить вызов такой функции до максимума, аж чтобы не замечать разницы между локальными и удаленными вызовами. И у них это получилось, а сама технология стала не только популярной, но и обрела мощное развитие.

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

Сегодня поговорим о том, какие выводы делает компилятор. А он их делает и постоянно. Кстати, если ты не помнишь или не знаешь, что такое компилятор, советую сначала заглянуть сюда.

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

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

• Красивое лучше, чем уродливое.
• Явное лучше, чем неявное.
• Простое лучше, чем сложное.
• Сложное лучше, чем запутанное.
• Особые случаи не настолько особые, чтобы нарушать правила.

Как ты думаешь, на что это похоже? На философский трактат? Религиозное учение? Ну, почти в точку. Это так называемый «Дзен Питона» - уникальная философия, которой придерживаются все последователи этого языка. С некоторой долей абстракции большинство принципов применимо к любым языкам, но только Python начинается с этих принципов. Хочешь серию постов о других особенностях этого хвостатого?

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

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

Если при упоминании Питона ты так и норовишь подумать о длинной змее, которая душит всех своими обнимашками, то я поспешу тебя разочаровать. Язык был назван в честь известного британского комедийного шоу. Да-да, создатель просто ярый фанат «Летающего цирка Монти Пайтона». Оригинальное название, безусловно, длинное - поэтому сократили до лаконичного Python.

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

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

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

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

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

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

Псс... Тут подъехала интересная инфографика от профессиональных питонистов.

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

А теперь разберем тройку лидеров с картинки выше. И, само собой, попробуем ответить на вопрос почему же именно Python.

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

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

А сейчас небольшой холивар под названием Python в веб-разработке. Почему холивар? Ну, например, я вообще Java/Kotlin люблю как язык для бэкенда. В общем, целом и объективно, это мощные конкуренты, которые прочно заняли свое место на рынке.

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

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

Пс, котаны. Прежде чем мы окончательно добьем разбор Python, давайте отвлечемся и попробуем дотянуться до пикселей.

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

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

Правильно, в анализе данных. Собственно, это заслуга не только самого языка, но и многочисленных фреймворков/библиотек. Одни из самых популярных называются Pandas и Numpy - это просто маст хэв для любых исследований. Кстати, на этом сайте (не реклама) https://www.kaggle.com/datasets можно найти самые разнообразные наборы данных, начиная от продаж одежды и заканчивая наблюдениями за НЛО.

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

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

На жидкокристаллических мониторах «битые пиксели» действительно можно в большинстве случаев привести в нормальное состояние нажав на них. Неплохо помогает и быстрое включение/выключение.

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

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

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

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

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

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

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

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

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

P.S. Напоминаю, что с любыми вопросами, пожеланиями и даже критикой, ты всегда можешь написать в личку админу @sofy_metier или воспользоваться ботом @programmistkas_bot.

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

А все почему? Работает - не трогай.

О чем рубрика