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

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

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

Еще один оригинальный способ - разбить текст на кусочки и спрятать их посреди абсолютно левого предложения. Например, "Продам Овец, Можно Оптом, Готова И Транспортировка. Емельян".

Что это
#День_криптографии

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

Ужтх сщх фжьхкпщ ивьхк, флсхщхчвл фл ипкёщ лйх, кжнл лштп фжркъщ, ж уфхйпл кжнл фл паъщ.

Что это
#Do_you_understand

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

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

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

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

Итак, вчера верно (и достаточно быстро) был разгадан шифр. Это оказалась цитата из произведения "Алиса в стране чудес".

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

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

В следующих постах я поподробнее расскажу о том, что же это такое и как с этим работают. Ну и что же зашифровано в известном произведении.

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

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

Почему это важно? Все просто - в основе современных систем лежит обработка двух действий: есть ток и нет тока. 1 и 0. Истина и ложь. Даже самые сложнейшие операции на уровне системы происходят как дизъюнкция, конъюнкция и отрицание над нулями и единицами.

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

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

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

А теперь пример: помните цитату «А ну-ка проверю, помню я то, что знала, или нет. Значит так: четырежды пять – двенадцать, четырежды шесть – тринадцать, четырежды семь…»? Алиса считала правильно, просто это шестнадцатеричная система счисления. Да-да, в детской сказке.

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

Сложность алгоритма - это зависимость времени работы от размера входных данных. Условно говоря, пусть алгоритм получает тысячу элементов и обрабатывает их за тысячу секунд. Как изменится это время, если передать миллион элементов?

Самые быстрые алгоритмы называются линейными. Это когда тысяча элементов обрабатывается за тысячу секунд, миллион - за миллион и т.д. Один из самых медленных алгоритмов - экспоненциальные. Условную тысячу элементов они обработают за тысячу секунд, а 10 тысяч - за миллион.

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

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

Известно, что в IT люди не всегда приходят осознанно и сразу. Некоторые работают 20 лет по абсолютно другой специальности, а потом что-то щелкает, и они меняют профессию. Кто-то смотрит на это скептически, кто-то всеми силами поддерживает, но!

Зачастую такие люди просто переносят свои профессиональные склонности в мир высоких технологий. Человек, склонный к врачеванию, начинает "лечить компьютеры" и становится системным администратором. Тот, кто хотел стать строителем проектирует архитектуру, а педагог становится ресурсным менеджером и помогает расти людям профессионально.

Не бойся начать применять свои навыки по-другому!

О чем рубрика
This media is not supported in your browser
VIEW IN TELEGRAM
#Do_you_understand

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

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

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

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

Языки программирования бывают императивными и декларативными.

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

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

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

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

В программировании подобные задачи решаются через паттерн прототип. Он перекладывает ответственность за копирование на сами детали. Т.е. ты делаешь оболочку, а все что внутри достраивается самостоятельно.

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

Небольшой, но очень жизненный комикс. К сожалению, до воплощения 90% гениальных идей вроде "да я такое придумал, мы станем миллионерами и выйдем на рынок через 20 лет" всегда будет оставаться 20 лет.

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

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

Это один из способов передачи данных между серверами (и не только). Один упаковывает информацию в xml и кидает второму. Тот, в свою очередь, собирает из xml данные и как-то их обрабатывает.

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

О чем можно разговаривать вечно? О погоде и о том, как снова наврали синоптики.

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

Можно. Но сложно. Дело в том, что текущий уровень развития технологий позволяет прогнозировать погоду с вероятностью примерно 70-80%. Чтобы довести эту цифру до 100% нужно либо использовать большинство компьютеров на Земле, либо подождать один прогноз примерно пару месяцев.

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

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

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

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

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

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

Хочешь я покажу тебе свой код?

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

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

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

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

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

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

Для всех нормальных людей ручка - это то, чем пишут. Но не для айтишников.

Помнишь, я рассказывала об API? Так вот, отдельный метод, который нужно вызвать, чтобы добиться от сервера какой-то реакции, называется ручкой. В оригинале, т.е. на английском звучит как API Handler.

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

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

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

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

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

Почему? Потому что пули требуют хорошей оперативной памяти. А у твоего компьютера ее не так много, как хотелось бы. Для решения таких проблем разработчики используют паттерн "легковес".

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

О чем рубрика