Как стать автором
Обновить
3
0
Александр Блатов @ablatov

Software Developer In Test

Отправить сообщение

10 самых распространенных проблем при линтинге Dockerfile'ов

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров12K

Весной 2023 года разработчики Depot добавили в свой сервис возможность проверять Dockerfile'ы при каждой сборке.

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

Читать далее
Всего голосов 30: ↑29 и ↓1+34
Комментарии4

Новая концепция рака: нарушение клеточных механизмов, не генетических

Время на прочтение11 мин
Количество просмотров21K
По данным на 2017 год, разные формы рака стали причиной более 17% смертей во всём мире, уступая в этой смертельной статистике только разнообразным сердечно-сосудистым нарушениям. Это значит, что в современном мире каждый шестой человек умирает от рака. При этом с годами доля раковых заболеваний в статистике смертности растёт опережающими все другие причины темпами.



В настоящее время двумя основными представлениями о раке являются две противоположных, по сути, концепции:

  • рак — заболевание возрастное («это не раковые заболевания учащаются, это люди стали доживать до своего рака чаще»);
  • рак — это заболевание генетическое; в форме рака проявляются определённые мутации, неизбежные при репликации ДНК естественным путём — от родителей к детям.

В обоих этих предположениях есть доля правды: действительно, многие тысячи из сотен миллионов известных вариаций человеческого генома (324 миллиона на 2017 год) коррелируют с повышенной вероятностью разных форм рака. И, действительно, для более долго живущего организма вероятность экспрессии канцерогенных мутаций возрастает. Однако считать генетику или возраст как таковые причинами рака будет ошибкой. Корреляция совсем не то же самое, что причинность. Случаи генетически обусловленных раковых заболеваний, когда есть прямая причинно-следственная связь между генетической мутацией и раком, относительно редки и касаются, в первую очередь, детских раковых заболеваний.
Узнать подробности
Всего голосов 52: ↑38 и ↓14+37
Комментарии122

Selenium vs Puppeteer vs Cypress vs Playwright

Время на прочтение5 мин
Количество просмотров32K

Всем привет. Я qa automation engineer уже 14 лет и 9 из них мне так или иначе приходилось работать с автоматизацией веб-приложении (и не только). Я писала свои автотесты на C#, Java, и Js. Сейчас я хотела бы поделиться опытом, как я выбираю фреймворк для тестирования веб приложения. Думаю кому-то мой текст может быть полезен. 

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

Читать далее
Всего голосов 9: ↑6 и ↓3+6
Комментарии17

Отменим ли мы Web?

Время на прочтение16 мин
Количество просмотров31K

Этот пост написан Ханной Вулфман-Джонс, но включает ответ эксперта по гражданским правам Надин Строссен, экс-президента ACLU

Рождение движения

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

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

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

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

Читать далее
Всего голосов 105: ↑95 и ↓10+130
Комментарии95

SQL для аналитики — рейтинг прикладных задач с решениями

Время на прочтение11 мин
Количество просмотров47K

Привет, Хабр! У кого из вас black belt на sql-ex.ru, признавайтесь? На заре своей карьеры я немало времени провел на этом сайте, практикуясь и оттачивая навыки. Должен отметить, что это было увлекательное и вознаграждающее путешествие. Пришло время воздать должное.

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

Читать далее
Всего голосов 17: ↑15 и ↓2+19
Комментарии5

Как я изучал структуры данных и алгоритмы для собеседования в FAANG

Время на прочтение12 мин
Количество просмотров64K
Продолжая тему устройства в FAANG, которую уже мы поднимали в нашем блоге, и специально к старту нового потока нашего курса по алгоритмам сегодня делюсь описанием пути Эско Обонга, старшего инженера-программиста Uber.

Эта история началась в 2015 году, когда стартап, к которому я присоединился как «сотрудник-основатель», закрылся через шесть месяцев после первого раунда инвестиций, и я искал новую работу. Первое моё собеседование было с  Codecademy, где на этапе телефонного разговора меня заверили: «Не волнуйтесь, мы не задаём сумасшедших вопросов об алгоритмах или что-то в этом роде». И я им поверил…


Приятного чтения!
Всего голосов 46: ↑40 и ↓6+49
Комментарии71

Разрабы. Новая точка отсчета

Время на прочтение5 мин
Количество просмотров9.6K


В мире что-то не так — или это у меня в голове?
Невидимые пятна на солнце, какая-то пыль на траве
Счастье не греет; оно где-то за стеклянной стеной
Иногда мне кажется — тяжелый рок висит надо мной

БГ

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

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

Сначала коротко сформулирую основную мысль: наконец-то кто-то не побоялся снять сериал о философских, моральных и научных проблемах, связанных с квантовыми теориями и квантовыми вычислениями.

Если позволите, я не буду сильно заострять внимание на жутких рожах, убивающих друг друга различными способами, а также на современного вида героине, которую мы часто можем видеть в современного вида нижнем белье. Мне это все тоже безумно понравилось :) Но хотелось бы большую часть обсуждения посвятить темам в которых сериал действительно силен.
Читать дальше →
Всего голосов 4: ↑3 и ↓1+4
Комментарии31

Главный секрет блока else в циклах пайтона

Время на прочтение1 мин
Количество просмотров49K

Это короткая статья для новичков. Наверняка вы знаете, что в пайтоне для циклов for и while предусмотрен блок else. И с этим блоком возникает много путаницы, потому что его действие на первый взгляд неинтуитивно. Приходится тратить немного времени или заглядывать в документацию каждый раз, когда он встречается:


for f in files:
    if f.uuid == match_uuid:
        break
else:
    raise FileNotFound()

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

Читать дальше →
Всего голосов 66: ↑59 и ↓7+76
Комментарии161

В каких случаях не нужно использовать списки в Python

Время на прочтение8 мин
Количество просмотров16K

Перевод статьи подготовлен в преддверии старта базового курса «Разработчик Python».





В Python, наверное, самым популярным контейнером данных будет список (list). Он настолько гибкий, что его можно использовать в проектах почти повсеместно и хранить в нем данные различного типа: целые числа, строки и экземпляры пользовательских классов. Помимо этого, список мутабелен, что позволяет нам добавлять или удалять элементы по мере необходимости. По вышеперечисленным причинам некоторые программисты склонны слишком часто использовать списки и даже не рассматривать жизнеспособные альтернативы.


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

Читать дальше →
Всего голосов 17: ↑12 и ↓5+9
Комментарии4

Запись видео UI автотестов, работающих в headless Chrome

Время на прочтение7 мин
Количество просмотров5.8K
Всем привет!

В данной статье хочется рассказать о том, как была решена задача записи видео автотестов, работающих в headless Chrome (с записью в не headless режиме проблем быть не должно). Будет рассмотрено несколько разных подходов, рассказано про трудности и пути их решения.

Постановка задачи

  1. Тесты выполняются под Windows
  2. Тесты используют Selenium Web Driver + Headless Chrome
  3. Тесты запускаются в несколько потоков

Для упавших тестов нужно сохранить видео, при этом

  1. Время выполнения должно вырасти не более чем на 10%.
  2. Обойтись минимумом изменений в текущей имплементации

Если интересно решение, добро пожаловать под кат.
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии12

Пишем автотест с использованием Selenium Webdriver, Java 8 и паттерна Page Object

Время на прочтение12 мин
Количество просмотров194K

В этой статье рассматривается создание достаточного простого автотеста. Статья будет полезна начинающим автоматизаторам.


Материал изложен максимально доступно, однако, будет значительно проще понять о чем здесь идет речь, если Вы будете иметь хотя бы минимальные представления о языке Java: классы, методы, etc.


Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии14

Mobile ML: машинное обучение в кармане. Часть 1 — Железо

Время на прочтение3 мин
Количество просмотров4.7K

Автор: Андрей Батутин, Senior iOS Developer в DataArt

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

TL;DR


Все основные производители мобильных System-on-chip (SoC) уже 3-4 года активно добавляют ML-specific hardware в свои решения. Если у вас топовый андроид или айфон, рядом с GPU у вас почти гарантированно есть чип, специально заточенный под ML-задачи.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии2

Ключевые навыки Python-программиста

Время на прочтение5 мин
Количество просмотров14K
В наше динамичное время программисту необходимо держать руку на пульсе и постоянно осваивать новые навыки, чтобы оставаться востребованным специалистом.

Я уже около двух лет программирую на Python, и сейчас наступил момент осознанно подойти к освоению новых навыков. Для этого я решил проанализировать вакансии и представить востребованные навыки в виде графа. Я ожидал увидеть, что навыки будут образовывать кластеры, соответствующие разным специальностям: backend разработке, data science и др. А как же обстоят дела на самом деле? Обо всём по порядку.
Читать дальше →
Всего голосов 13: ↑12 и ↓1+18
Комментарии5

Aнглийский для демо (структура, фразы, Q&A, грамматика, советы)

Время на прочтение6 мин
Количество просмотров9.5K


Демо в конце спринта (будь то внутреннее, заказчику или крупному клиенту) — это настоящая проверка знания английского для не носителя языка, так как эта небольшая презентация показывает:

  • беглость речи (fluency)
  • точность (accuracy) — много или немного ошибок в речи в целом
  • спонтанность языка (особенно, когда задают вопросы)
  • произношение
  • владение грамматикой
  • богатство или бедность лексики
  • насколько правильно человек умеет составлять предложения (структуры русского и английского предложения отличаются)
  • умение структурировать речь с помощью связующих слов (linking devices: e.g. firstly, secondly, finally, in addition, what concerns, etc.).
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии4

DevOps инструменты не только для DevOps. Процесс построения инфраструктуры автоматизации тестирования с нуля

Время на прочтение28 мин
Количество просмотров21K

Часть 1: Web / Android


Примечание: данная статья является переводом на русский язык оригинальной статьи «DevOps tools are not only for DevOps. Building test automation infrastructure from scratch». Однако все иллюстрации, ссылки, цитаты и термины сохранены на языке оригинала, чтобы избежать искажения смысла при переводе на русский язык. Желаю вам приятного изучения!


Читать дальше →
Всего голосов 16: ↑15 и ↓1+20
Комментарии3

Информация

В рейтинге
Не участвует
Откуда
Älvsjö, Stockholms Län, Швеция
Дата рождения
Зарегистрирован
Активность