cookie

Мы используем файлы cookie для улучшения сервиса. Нажав кнопку «Принять все», вы соглашаетесь с использованием cookies.

avatar

Test Engineering Notes

Україномовний канал про технічні аспекти тестування, розподілені системи, блокчейн та кібербезпеку.

Больше
Рекламные посты
3 193
Подписчики
+124 часа
+67 дней
+5030 дней

Загрузка данных...

Прирост подписчиков

Загрузка данных...

The curious case of the missing period #engineering #bug В цю пʼятницю пропоную до вашої уваги історію про те, які проблеми може спричинити відсутність однією коми в листі. (та при чому тут SMTP протокол). Тим, хто тестує різного роду розсилки - це must-read!
Показать все...
The curious case of the missing period

When Simple Mail Transfer Protocol is not simple

👍 13
Коротко про базові типи даних в Python #python Сьогодні невеличкий розбір базових типів даних в Python. Здається, тема надто проста, але як завжди, є невеличкі деталі. Я наприклад не часто працюю з нескінченностями, тому не знав, шо у float можна отримати такі дані. Цілочисленні - int. Подивитись, який же найбільший integer можна з sys.maxsize
import sys

a = 100500
print(f"a = {a} та має тип {type(a)}")
print(f"максимальний розмір типу int: {sys.maxsize}")
Замість окремих float / double - Python має тільки float.
b = 123.456
print(f"b = {b} та має тип {type(b)}")
Крім float, є можливість працювати комплексними числами, а також з decimal / fraction.
c = 100 + 5j
print(f"c = {c} та має тип {type(c)}")

from decimal import Decimal
from fractions import Fraction

dec = Decimal("0.1")
print(f"dec = {dec} та має тип {type(dec)}")

frac = Fraction(1, 3)
print(f"frac = {frac} та має тип {type(frac)}")
Float дозволяє отримати трохи більш цікаві дані - такі як NaN чи нескінченність.
nan = float("nan")
print(f"nan = {nan} та має тип {type(nan)}")
inf = float("inf")
neg_inf = float("-inf")
print(f"inf = {inf} та має тип {type(inf)}")
print(f"neg_inf = {neg_inf} та має тип {type(neg_inf)}")
Якщо не подобається float, можна застосувати math. Результат той же.
import math
print(f"Те ж саме з math.inf - {math.inf == inf}")
Строки в Python бувають трьох типів - звичайні, сирі (raw) та форматовані.
single_quote_string = 'Hello, World!'
double_quote_string = "Hello, World!"
print(f"Python дозволяє строки з будь-якими лапками: {single_quote_string == double_quote_string}")

raw_string = r"\tRaw \n string"
well_done_string = "\tWell-done \n string"
print(f"raw_string = {raw_string}")
print(f"well_done_string = {well_done_string}")

formatted = f"{a} + {b} = {a + b}"
print(f"formatted = {formatted}")
print(f"formatted з фігурними дужками = {{{formatted}}}")
Результат в консолі:
a = 100500 та має тип <class 'int'>
максимальний розмір типу int: 9223372036854775807
b = 123.456 та має тип <class 'float'>
c = (100+5j) та має тип <class 'complex'>
dec = 0.1 та має тип <class 'decimal.Decimal'>
frac = 1/3 та має тип <class 'fractions.Fraction'>
nan = nan та має тип <class 'float'>
inf = inf та має тип <class 'float'>
neg_inf = -inf та має тип <class 'float'>
Те ж саме з math.inf - True
Python дозволяє строки з будь-якими лапками: True
raw_string = \tRaw \n string
well_done_string =      Well-done 
 string
formatted = 100500 + 123.456 = 100623.456
formatted з фігурними дужками = {100500 + 123.456 = 100623.456}
Показать все...
12👍 4
Queueing - An interactive study of queueing strategies #engineering Сьогодні хочу поділитись, мабуть, найкращим візуальним поясненням навіщо нам черги в computer science та в Web технологіях.
Показать все...
Queueing – An interactive study of queueing strategies – Encore Blog

In this blog, we go on an interactive journey to understand common queueing strategies for handling HTTP requests.

🔥 17👍 2
Знайти співробітників з найбільшою зарплатнею #python #interview #coding Всім привіт. Сьогодні я прийшов до вас із задачею. Цю задачу можна вирішити для тренування, а можна навіть дати на співбесіді. Бо задача вкрай нескладна та можна швидко отримати рішення. Відповідь покаже рівень знання мови програмування. Задача "Уявімо, що ви працюєте в HR департаменті великої компанії. Вам прилетіла задача написати новий ендпоінт, який буде повертати всіх співробітників, що мають ЗП більше, ніж $100,000 на рік. Поверніть результат у вигляді набору з двох елементів - імені працівника та його зарплати". Вхідні дані - це map такого вигляду:
employees = {'Alice': 100000, 'Bob': 99817, 'Carol': 122908, 'Frank': 88123, 'Eve': 93121}
Рішення буде наприклад таким:
top_earners = []  
for key, val in employees.items():  
    if val >= 100000:  
        top_earners.append((key,val))
print(top_earners)
Але існує трохи більш елегантне рішення, що показує можливості мови Python: ```
top_earners = [(k, v) for k, v in employees.items() if v >= 100000]
print(top_earners)
``` Або навіть:
top_earners = list(filter(lambda x: x[1] >= 100000, employees.items()))
print(top_earners)
Як бачите, на кожну проблему може бути декілька варіантів рішень. Але не забувайте PEP20 - "There should be one-- and preferably only one --obvious way to do it." А як буде виглядати рішення на вашій улюбленій мові програмування?
Показать все...
👍 18 2🔥 1
Корисне з GitHub - 6 #github #selection Доброго ранку! Сьогодні пропоную поглянути на декілька корисних підбірок з GitHub. 🛠 project-based-learning - для тих, хто вивчає мову програмування та не вистачає реальних задач для практики. 📚 The Algorithms - набір найвідоміших алгоритмів, що написані на різних мовах програмування. 🐧 The Art of Command Line - одна сторінка, що розповідає як працювати з командним рядком. 🆓 free-for.dev - величезний лист різних інструментів та сервісів, що допоможуть в розробці (усе безкоштовно). 🐍 30 Days of Python - покроковий туторіал з мови Python для тих, хто віддає перевагу самостійному навчанню. А тут - можна подивитись на купу корисних утиліт та невеличких програм (для натхнення).
Показать все...
GitHub - practical-tutorials/project-based-learning: Curated list of project-based tutorials

Curated list of project-based tutorials. Contribute to practical-tutorials/project-based-learning development by creating an account on GitHub.

🔥 16 6
Repost from DOU | QA
Фото недоступноПоказать в Telegram
Test Engineering Notes — Vol. 14: Про тестування сервісів в Meta, 10Х-інженерів та інтро в перфоманс-інженерію Пустий S3-бакет може завдати збитків на тисячі доларів, як писати коміт-меседжи та свій форматер коду, метрики перфомансу фронтенду, розбір різних структур даних в Python — це та багато іншого читайте у новому QA-дайджесті 👉 https://dou.ua/goto/Nr2V
Показать все...
🔥 11 2
До дайджесту 🚀
Playwright interview questions ... #automation #testing Серія з двох статей, де Adrian Maciuc ділиться поганими та хорошими питаннями з Playwright. Допоможе краще зрозуміти інструмент та бути готовим до подібних питань на співбесіді. - Playwright Interview Questions that you are going to hate - Playwright interview questions that you are going to love А для СІНЬЙОРІВ автоматизаторів, чи тих, хто дуже хоче ними стати - маю ще більш цікаву новину. Олександр Хотемський з каналу Hot Testing наступного місяця буде проводити майстерклас з Playwright. Тільки практика, ніякої теорії. Деталі можна почитати тут! Доєднуйтесь. Це хороша можливість розібратись з фреймворком та наступного дня вже йти робити на ньому проєкти)))
Показать все...
Playwright Interview Questions that you are going to hate

Everybody hates it when they go to an interview and they are given live coding challenge that is written intentionally to make you fail, so the interviewer can prove his "superiority". Here are 12 playwright interview questions and answers, so you can have the advantage this time.

9👍 8❤‍🔥 2
SQLAlchemy: The BEST SQL Database Library in Python #python #sql Невелике оглядове відео про те, як працювати з базами даних в Python (на прикладі SQLAlchemy).
Показать все...
SQLAlchemy: The BEST SQL Database Library in Python

Ever heard of SQLAlchemy and thought it sounded like a medieval potion? Well, it's not! 🧙‍♂️🔮 SQLAlchemy combines the robustness of SQL with Python's flexibility, making database management not just easier, but kinda fun too! In this video, I’ll take a closer look at this awesome tool. Try out Oso for free here:

https://oso.1stcollab.com/arjancodes_3

🔥 GitHub Repository:

https://git.arjan.codes/2024/sqlalchemy

💻 ArjanCodes Blog:

https://www.arjancodes.com/blog

✍🏻 Take a quiz on this topic:

https://www.learntail.com/quiz/zewcrd

Try Learntail for FREE ➡️

https://www.learntail.com/

🎓 Courses: The Software Designer Mindset:

https://www.arjancodes.com/mindset

The Software Architect Mindset: Pre-register now!

https://www.arjancodes.com/architect

Next Level Python: Become a Python Expert:

https://www.arjancodes.com/next-level-python

The 30-Day Design Challenge:

https://www.arjancodes.com/30ddc

🛒 GEAR & RECOMMENDED BOOKS:

https://kit.co/arjancodes.

👍 If you enjoyed this content, give this video a like. If you want to watch more of my upcoming videos, consider subscribing to my channel! Social channels: 💬 Discord:

https://discord.arjan.codes

🐦Twitter:

https://twitter.com/arjancodes

🌍LinkedIn:

https://www.linkedin.com/company/arjancodes

🕵Facebook:

https://www.facebook.com/arjancodes

📱Instagram:

https://www.instagram.com/arjancodes

♪ Tiktok:

https://www.tiktok.com/@arjancodes

👀 Code reviewers: - Yoriz - Ryan Laursen - Dale Hagglund - Kit Hygh - Alexander Milden - Bean 🎥 Video edited by Mark Bacskai:

https://www.instagram.com/bacskaimark

🔖 Chapters: 0:00 Intro 1:30 Functional Approach 5:04 Object-Oriented Approach 8:35 Relationships 10:26 Oso 12:18 Relationships part 2 16:02 Outro #arjancodes #softwaredesign #python DISCLAIMER - The links in this description might be affiliate links. If you purchase a product or service through one of those links, I may receive a small commission. There is no additional charge to you. Thanks for supporting my channel so I can continue to provide you with free content each week!

8👍 3❤‍🔥 1
Фото недоступноПоказать в Telegram
⚡️ 1 червня стартує практичний тренінг, на який я б 100% пішов (як-би було трішки більше вільного часу). Сподіваюсь все-таки доєднатись до наступних груп. Це тренінг від Олександри Ковальової — Test Design Techniques: Black Box Testing. Кому це буде цікаво: усім інженерам, які хочуть дійсно розібратись як застосовувати техніки тест-дизайну в роботі, а не просто читати в книжці. В Олександри просто купа досвіду в тестуванні та викладанні. То ж за якість тренінгу можна не перейматись. Формат: прямі трансляції з можливістю переглянути відео. Розклад: 1.06, 8.06 та 15.06 (10:00-15:00) — 3 заняття щосуботи протягом 3 тижнів. 🦄 Деталі та реєстрація отут => https://bit.ly/4e0xJDQ
Показать все...
5👏 3👎 1
Простий репорт для Python та не тільки #automation Вчора я дізнався, що є такий цікавий проєкт як ctrf.io або ж Common Test Report Format. Його творці пропонують легкий вид тестового репорту в форматі JSON, який потім можна відображати як частину сторінки тест рану на Github. Oleksii Ostapov з QAMania вже навіть створив плагін pytest-common-test-report-json, що працює з CTRF. Собі на проєкт я це інтегрував. Все дуже швидко й просто - зайняло десь до години часу. Почитати та подивитись, що це таке - можна в статті на DOU.
Показать все...
GitHub - infopulse/pytest-common-test-report-json: Pytest plugin to generate test report in Common Test Report Format (JSON)

Pytest plugin to generate test report in Common Test Report Format (JSON) - infopulse/pytest-common-test-report-json

11👍 5❤‍🔥 1👏 1