Search
Write a publication
Pull to refresh
46
0
Константин Львов @klvov

программист, программист СУБД, веб-разработчик

Send message

Заменят ли автоматизаторы ручных тестировщиков

Reading time4 min
Views11K

В последнее время все чаще слышу от коллег из других организаций о курсе на автоматизацию. Чаще всего это выражается в обучении за счет компании всех желающих автотестированию, т. е. Стеку технологий для написания и поддержанию автотестов. Помимо языка программирования (чаще Python или Java) изучают Git, Selenium или его аналоги, Jenkins и внутренние регламенты работы с автотестами. В нашей компании так же всяли курс на автоматизацию, в связи с чем возник вопрос — а что же будет с мануальными тестировщиками, откажутся ли от них совсем или будут стремиться сократить их количество?

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

Предыстория

Год назад мне предложили обучиться автоматизации, и за скромную плату поддерживать автоетсты на вверенном мне участке тестирования. Сразу скажу, что упавшие автотесты разбираем мы, ручные тестировщики, локализуем ошибку и передаем информацию автоматизатору. Он (или она) в свою очередь правят автотест или подписывают его ошибкой, на чем работа заканчивается до следующего падения. Суть обучения — убрать из этой цепочки автотестировщика, предоставив ему лишь написание новых тестов. Вроде идея здравая — поддерживать автотест не самое сложное занятие, поправил селектор, изменил данные и все взлетело. Как бы не так!

Вернемся к моему обучению. Python’у получилось обучиться примерно за 5 месяцев с 0 до написания хороших таких автотестов с применением Selenium’а. Автотесты получались отличные, проверяющие как отдельно взятый контрол, так и длинную цепь бизнес процесса, по которой работают пользователи. Дело дошло до сдачи зачетов по программированию и автотестам, и тут начались первые проблемы.

Читать далее

Архитектура Архитектуры. Шаг 10. Это конец

Level of difficultyEasy
Reading time15 min
Views7.1K

Знаете, как называется система, которая приносит постоянную прибыль, работает без особых проблем и обслуживается маленькой командой? Продукт с заканчивающимся сроком обслуживания!

Время ли хоронить архитектора?

Перейти с Linux на macOS и не сойти с ума

Reading time9 min
Views84K

Ноутбук — главный девайс в моей жизни, я провожу за ним бо́льшую часть суток. Он должен быть лёгким, компактным и мощным. Долгое время лидером по этим параметрам был Dell XPS 13, но всё поменялось с выходом MacBook Air на процессоре M1.

Air всего на 100 граммов тяжелее XPS 13, но примерно в три раза мощнее, автономнее и не нуждается в активном охлаждении. Никогда не думал, что скажу подобное про технику Apple, но MacBook Air — самое крутое устройство в своей весовой категории на рынке, оставившее конкурентов далеко позади.

Я фанат Линукса, эта операционная система для меня больше, чем просто окружение. Это философия, новостная повестка и постоянный предмет обсуждения. Поэтому сама идея отказа от Linux в пользу другой ОС меня всегда отталкивала. Да и тот эпизодический опыт, когда приходилось что-то делать в macOS, был эмоционально неприятным.

Но появление M1 посеяло во мне зерно сомнений: мой ноутбук больше не был самым крутым и навязчивой мыслью было то, что я отказываю себе в чём-то большем. Это зерно прорастало и проросло: я купил MacBook Air с 16GB ОЗУ и 512GB SSD, с удивлением обнаружив, что он ещё и стоит дешевле моего XPS. Впереди меня ожидали настройка окружения, борьба с Docker, грусть от отсутствия привычного автодополнения в консоли и много чего ещё.

Читать далее

Магия ssh

Reading time12 min
Views75K

Разве что ленивый не писал про ssh и несмотря на это, данный протокол и его возможности не перестают меня восхищать. Здесь я хочу поделиться исключительно своим опытом использования сего замечательного инструмента в своих задачах (При этом активно применяю его даже при разработке на Windows).

Поскольку я программист, то инструментарий ssh часто нужен мне в разработке и для личных нужд. Самые частые задачи, которые я выполняю с его помощью (по частоте использования):

  • Удалённый доступ — логично, ведь для этого он и предназначался.
  • Монтирование папок по сети — очень удобно для работы с кодом на удалённой машине.
  • Удалённое выполнение команд — нечастая, но используемая мной операция. Удобно получать выхлоп команды в канал другой команды на текущей машине.
  • Запуск графических приложений на удалённой машине.
  • Проксирование трафика — способ перенаправления трафика. Этакий быстрый и простой аналог VPN.
  • Обратный ssh — использую для проброса портов к системам, находящимися за NAT, когда лень настраивать firewall.

Далее вкратце разберу каждый пункт, и особенно пути эффективного и простого использования под Windows.
Читать дальше →

Сила композиции

Reading time20 min
Views19K


Функциональное программирование может отпугивать сложностью и непрактичностью: «Я далек от всех этих монад, пишу на обычном C#, в докладе про функциональщину ничего не пойму. А если даже напрягусь и пойму, где мне потом это применять?»


Но когда объясняет Скотт Влашин, все совершенно не так: его доклад о композиции с конференции DotNext 2019 Moscow — пример того, как можно доносить функциональные идеи простыми словами. Он за час перешел от бананов к монадам так, что второе кажется немногим сложнее первого. А в конце объяснил, почему осмыслить композицию полезно даже тем, кто не собирается покидать мир ООП. Примеры кода в докладе как на F#, так и на C#.


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

Читать дальше →

Loom: зачем?

Reading time3 min
Views10K

Недавно, 6 мая этого года, в OpenJDK вошёл JEP 425, который добавит к Java 19 в качестве превью-фичи Виртуальные треды.

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

Читать далее

Применение обобщённой свёртки для обработки синтаксических деревьев

Reading time16 min
Views4.2K

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

Читать далее

Решение проблемы в управлении конкурентными вычислениями

Reading time4 min
Views3.8K

От переводчиков. Эту коротенькую статью Дейкстры, которой уже 57 лет, Лесли Лампорт назвал «работой, которая начала всю область конкурентных и распределенных алгоритмов». Но на Хабре её до сих пор вроде бы не переводили. Поскольку мы скоро проведём конференцию Hydra, которая посвящена именно этой области, решили восполнить этот пробел. Кстати, как думаете, как лучше переводить на русский слово concurrent? Мы выбрали вариант «конкурентный», но консенсуса тут вроде бы нет.

Эдсгер В. Дейкстра
Технический университет Эйндховена, Нидерланды

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

Читать далее

Какие задачи не решаются bat-файлами?

Reading time8 min
Views33K

Бат-файлы ведут свою историю со времен MS-DOS. Новые фичи добавлялись с сохранением обратной совместимости. Из-за этого многое в языке bat-файлов, как мы увидим далее, нелогично и неудобно.

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

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

Читать далее

Куда исчезли субкультуры?

Reading time9 min
Views61K

Ещё не так давно молодёжные субкультуры зримо присутствовали на улицах и выглядели неотъемлемой частью современной городской жизни. Готы, панки, эмо, хиппи, рэперы и иже с ними легко опознавались в любой толпе. Однако в начале 2020-х от этого многообразия, кажется, мало что осталось. Иногда, конечно, на глаза попадаются люди характерного облика — но каждый раз к ним так и тянет применить определение «олдовый», даже если речь идёт о подростке.

Что случилось с субкультурами? Куда они делись, и почему это произошло, и умерли ли они на самом деле?
Читать дальше →

ViewModel во Flutter – это антипаттерн

Reading time11 min
Views13K

Всем привет! Представляю вам текстовую версию моего доклада на DartUP 2021 (сам доклад на английском можно найти здесь). Посвящен он довольно популярному архитектурному паттерну MVVM (он же Model-View-ViewModel), а конкретно той его части, что про ViewModel.

Паттерн этот весьма распространен в мире нативной Android-разработки – во многом благодаря тому, что является официальной рекомендацией Google. А поскольку многие Flutter-девелоперы попали в мир Flutter'а из нативного Android'а, то и подходы они склонны применять те же самые. Как говорится, работает – не трогай и ничего не меняй.

Но как по мне, в мире Flutter'а этот паттерн не то чтобы полезен, а скорее даже и вреден. И сейчас я буду вас в этом убеждать.

Читать далее

15 супер полезных примеров команды find в Linux

Reading time9 min
Views123K

Практические примеры, которые приведены в этой статье, помогут вам освоить очень эффективную и крайне полезную команду find.
Читать дальше →

Многозадачность и многопоточность — распространенные заблуждения и недопонимания

Reading time11 min
Views24K

Когда я предложил перевести на русский мою последнюю статью Easy Concurrency with Python Shared Objects на английском, поступило предложение "написать в несколько раз короче и понятнее". Просьба более чем обоснована. Поскольку я уже порядка десяти лет пишу многопоточку и БД, то описываемые мной логические связи выглядели самоочевидно, и я ошибочно расчитывал на аудиторию из трех с половиной человек, которые сидят сейчас где-то в яндексе или гугле. Судя по всему, они там и сидят, но тема им не интересна, поскольку в питоне нет настоящих потоков, а значит для этих людей такого языка программирования не существует. Потому я немножко снижаю планку и делаю общий обзор проблематики параллельных вычислений для людей, которые в них разбираются, но не являются экспертами в области.


Из-за чего весь сыр-бор?

Читать дальше →

Хотели как в FAANG, а вышло как всегда или Опыт собеседования в Тинькофф в 3 актах

Reading time9 min
Views140K

Предисловие Около года назад я задался целью получить оффер от FAANG. Как следствие, постоянной частью моей жизни стали тематические форумы, площадки и вся сопутствующая атрибутика. Спустя какое-то время я попробовал себя на собеседованиях в околоFAANGoвые компании: Lyft, Spotify, Booking и т. д, где-то успешно, где-то не очень. В это же время мне порекомендовали попробовать пройти собеседование в Тинькофф банк, который внедрил схожий процесс. После стандартного общения с HR менеджером была получена ссылка на описание процесса собеседования. “Хм, почти что FAANG + тех. интервью по Primary Skill”, - подумал я и сказал, что готов приступать. В тот же час было назначено 2 интервью: техническое и coding, а вот 3 этап, system design, нужно было заслужить успешным прохождением первых двух. Почему именно эти 2 части являлись основополагающими, осталось неясным.

Акт первый, технический

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

Читать далее

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

Reading time11 min
Views17K

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


В эфире проект ХоумХаб — карта для непредвзятого анализа качества городской среды. Наша цель — предоставить инструмент для оценки развитости инфраструктуры, состояния экологии, плотности застройки и других факторов, влияющих на качество жизни. Наше кредо — открытые данные, расчеты и код. Наши инструменты — OSM, PostgreSQL, python и C++.


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



Гадание по фото: сколько здесь школ и поликлиник?

Читать дальше →

Собеседование в Яндекс: театр абсурда :/

Reading time14 min
Views598K

Привет, Хабр!

В прошлой статье меня знатно разбомбили в комментариях, где-то за дело, где-то я считаю, что нет. Так или иначе, я выжил, и у меня есть чем с вами поделиться >:)

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

Как вы думаете, что делают рекрутеры, когда видят "Alexandr, NOT OPEN FOR WORK"? Правильно, пишут "Алексей, рассматриваете вариант работать в X?" Я обычно игнорирую это, но тут мне предложили попытать счастья с Яндекс.Лавкой, и я не смог пройти мимо - интересно было, смогу ли я устроиться куда-нибудь, когда введут великий российский файерволл. К тому же за последние 3 года я проходил только два интервью, и мне показалось, что я не в теме, что нынче требуется индустрии. Блин, я оказался и вправду не в теме. И вы, скорей всего, тоже - об этом и статья.

Читать далее

Почему твоя мама всё ещё не прогает?

Reading time11 min
Views126K

Случай с бомжом

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

Обычно вместо денег я даю попрошайкам-мужчинам телефон отдела кадров одной курьерской компании, которая постоянно нуждается в сотрудниках. Но у него не было ног… Тогда я подумал: «Чувак, у тебя полным полно времени. Работа за компом — лучшее, что может случиться в твоей жизни. Купон со скидкой на курс по PHP — вот, что должны были положить тебе на койку туда, где раньше были ноги, когда ты очнулся после ампутации».

Я решил предложить ему изучить программирование. В его положении он должен был быть чертовски мотивирован. Но получится ли у него?

Читать далее

Ковид-пандемия: взгляд ковидоскептика

Reading time62 min
Views159K


Роман Левентов leventov
Довожу до вашего сведения, что я отправил ссылку на ваш пост в интернет-приемную sledcom.ru. За распространение фейков сейчас есть административная и уголовная ответственность: www.garant.ru/news/1362894. Можете считать это чем угодно, заговором, цензурой, и т. д. но надеюсь что у вас сработает инстинкт самосохранения.



Port5 Роман всё правильно сделал, респект ему.







When they say «trust the science», they really mean «don't ask questions».

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

Любые проблемы всегда выдаются за «отдельные недостатки», за «случайные инциденты». И отдельные факты действительно могут казаться такими, если не представлены в комплексе. Только общий взгляд на последовательность событий помогает выявить закономерность.

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

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

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

Секты: кто на них зарабатывает, как вербуют сторонников и как защитить своих близких

Reading time22 min
Views38K

А теперь Господь хочет, чтобы вы вышли на эту сцену и положили один доллар в этот ящик

Согласно просочившимся налоговым документам, Международная Церковь Саентологии и Церковь Духовной Технологии в США в 2012 году имели совокупные активы в 1.7 миллиарда долларов в дополнение к годовым доходам, оцениваемым в 200 миллионов долларов в год. И это только в США — существует еще Международная ассоциации саентологов.

Процент самоубийств и смертей из-за отказа принимать помощь медиков среди саентологов просто зашкаливает: на сайте посвященном жертвам саентологии сообщается о 165 задокументированных смертях, из которых 90 — это самоубийства, убийства, аварии и другие формы насилильственной смерти (при нормальном показателе случаев насильственной смерти в 6.5% в США, риск умереть от насильственной смерти у саентологов возрастает в 8 раз). 

Почему люди вступают в такие организации и почему несут им деньги? 

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

Другие громкие случаи, освещенные СМИ: чем опасны секты


В 1978 году в общине секты «Храм народов» под названием Джонстаун 909 человек, среди которых было более 200 детей, совершили массовое религиозное самоубийство. 
Читать дальше →

Архитектура современных корпоративных Node.js-приложений

Reading time12 min
Views100K
Ох, не зря в названии намёк на нетленку Фаулера. И когда фронтенд-приложения успели стать настолько сложными, что мы начали рассуждать о высоких материях? Node.js… фронтенд… погодите, но Нода же на сервере, это бэкенд, а там ребята и так всё знают!



Давайте по порядку. И сразу небольшой дисклеймер: статья написана по мотивам моего выступления на Я.Субботнике Pro для фронтенд-разработчиков. Если вы занимаетесь бэкендом, то, возможно, ничего нового для себя не откроете. Здесь я попробую обобщить свой опыт фронтендера в крупном энтерпрайзе, объяснить, почему и как мы используем Node.js.
Читать дальше →

Information

Rating
4,991-st
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity