Bug or Defect?
Привіт друзі, як ваші вихідні? 🙂 Хочу назвати цей пост так: Не будьте таки як (Я) «Постійно і постійно вертайте ваш енв назад » Ранкові історії QA: Шо то маю вам сказать, Бо сьогодні зранку маю класичну історію з Куа-життя. Ранок почався з того що сежу…
Привіт друзі, як ваш день? 🙂
Пам’ятаєте мою історію з фаєрволом? Ну що сьогодні хочу трохи докинути деталей як і обіцяв)
Яка ж все таки різниці між правилами.
Колись я сам собі підклав ггг: Коли я забанив трафік для апки, потім дивлюсь, пінг проходить, curl тягне сторінку, сервер живий, а клієнт каже «ні, я не бачу його». Ну і сиди ломи голову.
Що я маю вас сказать.
Program-rule
Закриває тільки конкретну програму. Наприклад, блочимо свій клієнт:
Ping і curl як раз тут будуть жити. Але ваша апка все, тиша.
а от вже IP-rule
Рубає взагалі весь трафік на конкретний IP.
І тут вже ніякі пінги чи курли не пройдуть. Мертво все, що йде на адресу.
про ICMP-rul це вже про сам ping.
Тобто сервер працює, апка працює, але ping каже «timeout». Це іноді дуже плутає.
Саме для КУА це суперкорисно: якщо хочете перевірити, як поводиться апка без інтернету → ставите program-rule. якщо хочете симулювати, що сервер ліг повністю → ставите IP-rule. ну і якщо хочеш подивитись, чи ваша система орієнтується на пінг, чи реально перевіряє API → блочи ICMP.
і оставлю вам ще пара команд, щоб не губились:
Подивитись усі правила:
Видалити конкретне правило:
Подивитись активні сесії й коннекти:
Вимкнути фаєрвол повністю (але не робіть так на проді):
Який поінт від мене, КУА не тільки кнопочки тисне, а й вміє ламати/відновлювати середовище так, щоб реально бачити різницю.
Бо коли знаєш, як це працює під капотом, вже не «сервер мертвий», а просто rule тебе підставив)
Всім гарного вечора 🤗🤗🤗
Пам’ятаєте мою історію з фаєрволом? Ну що сьогодні хочу трохи докинути деталей як і обіцяв)
Яка ж все таки різниці між правилами.
Колись я сам собі підклав ггг: Коли я забанив трафік для апки, потім дивлюсь, пінг проходить, curl тягне сторінку, сервер живий, а клієнт каже «ні, я не бачу його». Ну і сиди ломи голову.
Що я маю вас сказать.
Program-rule
Закриває тільки конкретну програму. Наприклад, блочимо свій клієнт:
netsh advfirewall firewall add rule name=BlockApp program="C:\Path\to\app.exe" dir=out remoteip=192.168.1.1 action=block
Ping і curl як раз тут будуть жити. Але ваша апка все, тиша.
а от вже IP-rule
Рубає взагалі весь трафік на конкретний IP.
netsh advfirewall firewall add rule name=BlockIP dir=out remoteip=192.168.1.1 action=block
І тут вже ніякі пінги чи курли не пройдуть. Мертво все, що йде на адресу.
про ICMP-rul це вже про сам ping.
netsh advfirewall firewall add rule name=BlockPing protocol=icmpv4:any,any dir=out action=block
Тобто сервер працює, апка працює, але ping каже «timeout». Це іноді дуже плутає.
Саме для КУА це суперкорисно: якщо хочете перевірити, як поводиться апка без інтернету → ставите program-rule. якщо хочете симулювати, що сервер ліг повністю → ставите IP-rule. ну і якщо хочеш подивитись, чи ваша система орієнтується на пінг, чи реально перевіряє API → блочи ICMP.
і оставлю вам ще пара команд, щоб не губились:
Подивитись усі правила:
netsh advfirewall firewall show rule name=all
Видалити конкретне правило:
netsh advfirewall firewall delete rule name=BlockApp
Подивитись активні сесії й коннекти:
netstat -ano
Вимкнути фаєрвол повністю (але не робіть так на проді):
netsh advfirewall set allprofiles state off
Який поінт від мене, КУА не тільки кнопочки тисне, а й вміє ламати/відновлювати середовище так, щоб реально бачити різницю.
Бо коли знаєш, як це працює під капотом, вже не «сервер мертвий», а просто rule тебе підставив)
Всім гарного вечора 🤗🤗🤗
❤5👍4⚡2🔥2
Друзі, доброго ранку! 🌞
Сиджу з кавою в очікувані колу, думаю щось почитаю і потрапив на це) в цілому суть дуже просто QA‑команди, які активно тусують на форумах і в Slack/Stack Overflow, збільшують ефективність тестування на 30 %.
Короче, лайфхак простий: QA-спільнота, це ваша сила. Не залишайтесь в ізоляції, діліться, питаємо, навчайтеся і двигайте якість уперед разом.
https://moldstud.com/articles/p-maximize-your-qa-testing-success-how-to-leverage-online-communities-effectively
Всім гарного дня і продуктивного настрою!
Обняв 🤗
Сиджу з кавою в очікувані колу, думаю щось почитаю і потрапив на це) в цілому суть дуже просто QA‑команди, які активно тусують на форумах і в Slack/Stack Overflow, збільшують ефективність тестування на 30 %.
Короче, лайфхак простий: QA-спільнота, це ваша сила. Не залишайтесь в ізоляції, діліться, питаємо, навчайтеся і двигайте якість уперед разом.
https://moldstud.com/articles/p-maximize-your-qa-testing-success-how-to-leverage-online-communities-effectively
Всім гарного дня і продуктивного настрою!
Обняв 🤗
Moldstud
Maximize Your QA Testing Success - How to Leverage Online Communities Effectively
Discover strategies to boost your QA testing outcomes by harnessing the power of online communities. Learn how collaboration and knowledge-sharing can enhance your testing success.
👍10❤4🔥1
Завдання дня для QA:
Ви тестуєте API. Все працює нормально, але через деякий час запит повертає: { "error": "Token expired" } - Що це означає і як правильно поводитись у такій ситуації?
Ви тестуєте API. Все працює нормально, але через деякий час запит повертає: { "error": "Token expired" } - Що це означає і як правильно поводитись у такій ситуації?
Anonymous Quiz
3%
(A) Це баг, бо токен має працювати завжди, треба відкривати баг-репорт
89%
(B) Це нормальна поведінка, токени мають обмежений час життя, треба отримати новий токен
6%
(C) Це проблема на сервері, бо він самовільно «вбиває» токени
3%
(D) Це означає, що юзер видалив свій акаунт, і токен зламався
👍6❤1
Bug or Defect?
Завдання дня для QA
Ви пінгуєте сервер: ping 10.10.10.10 але відповідь не приходить. Адмін каже: сервер живий, просто ICMP ми відрубали. - Яку альтернативу можна використати, щоб перевірити?
Ви пінгуєте сервер: ping 10.10.10.10 але відповідь не приходить. Адмін каже: сервер живий, просто ICMP ми відрубали. - Яку альтернативу можна використати, щоб перевірити?
Добрий вечір, друзі 🤗
Розберу вам коротенько цей пул, може комусь стане у пригоді
Що таке (A)
Telnet дійсно може показати, чи порт живий, але він перевіряє лише один конкретний порт (наприклад, 443). Якщо саме він закритий, ще не факт, що сервер мертвий.
Що таке (B)
Curl працює тільки якщо на сервері є HTTP/HTTPS сервіс. Якщо ж це БД чи якийсь внутрішній сервіс без вебки, curl тут безсилий.
Що таке (C)
Netcat (nc) крутий тим, що можна перевірити будь-який порт, але знову ж таки, це тільки одна з альтернатив, а не універсальна паличка-виручалочка.
Тобто чому все ж усі варіанти будуть в пригоді перевірити якщо той чи інший не пройшов)
Бо в реальності ми не знаємо, що саме працює на сервері. Хтось перевірить веб (curl), хтось SSL (telnet 443), хтось SSH (nc 22). Все це валідні методи і їх часто комбінують, коли ICMP (ping) відрізаний.
Якщо є питання або щось добавити залюбки обговоримо)
Всім гарного вечора, а головне тихого 💛
Всіх обняв 🤗
Розберу вам коротенько цей пул, може комусь стане у пригоді
Що таке (A)
Telnet дійсно може показати, чи порт живий, але він перевіряє лише один конкретний порт (наприклад, 443). Якщо саме він закритий, ще не факт, що сервер мертвий.
Що таке (B)
Curl працює тільки якщо на сервері є HTTP/HTTPS сервіс. Якщо ж це БД чи якийсь внутрішній сервіс без вебки, curl тут безсилий.
Що таке (C)
Netcat (nc) крутий тим, що можна перевірити будь-який порт, але знову ж таки, це тільки одна з альтернатив, а не універсальна паличка-виручалочка.
Тобто чому все ж усі варіанти будуть в пригоді перевірити якщо той чи інший не пройшов)
Бо в реальності ми не знаємо, що саме працює на сервері. Хтось перевірить веб (curl), хтось SSL (telnet 443), хтось SSH (nc 22). Все це валідні методи і їх часто комбінують, коли ICMP (ping) відрізаний.
Якщо є питання або щось добавити залюбки обговоримо)
Всім гарного вечора, а головне тихого 💛
Всіх обняв 🤗
❤🔥8🤗4❤1🤝1
Друзі, привіт, як ви? Сподіваюсь, ви і ваші близькі в безпеці і все у вас добре🙏
Сьогодні ранок дався не надто легко, трохи важко стартував, але… є кава, і це вже серйозний плюс)
Хочу побажати вам продуктивного та тепла дня. І пам’ятайте: кава, це не лише напій, це рятувальник для недосипа й генератор хорошого вайбу.
Всіх обняв, залишайтесь сильними 💛
Сьогодні ранок дався не надто легко, трохи важко стартував, але… є кава, і це вже серйозний плюс)
Хочу побажати вам продуктивного та тепла дня. І пам’ятайте: кава, це не лише напій, це рятувальник для недосипа й генератор хорошого вайбу.
Всіх обняв, залишайтесь сильними 💛
🤗9👍5❤3
Завдання дня для QA:
SELECT u.id, o.id FROM users u LEFT JOIN orders o ON o.user_id = u.id WHERE o.status = 'paid'; - Що реально поверне цей запит?
SELECT u.id, o.id FROM users u LEFT JOIN orders o ON o.user_id = u.id WHERE o.status = 'paid'; - Що реально поверне цей запит?
Anonymous Quiz
7%
(A) Усі юзери, навіть без замовлень
72%
(B) Лише юзери з оплаченими замовленнями (LEFT перетвориться на INNER)
4%
(C) Тільки юзери без жодних замовлень
17%
(D) Помилка синтаксису
🔥5👀4❤1👍1
Доброго вечора, друзі 👋
Дуже цікава штука, яку не можу не кинути вам у стрічку:
Не полінуйтесь і почитайте)
https://hackyourmom.com/osvita/dlya-pochatkivcziv/vizualnyj-gajd-z-ssh-tunelyuvannya-z-prykladamy-ta-shemamy/
Там все пояснено простими словами, зі схемами і прикладами. Якщо колись ламали голову, що таке локальний/remote/динамічний тунель і як воно реально працює після цього гайда стане набагато зрозуміліше.
Рекомендую глянути, навіть якщо ви не супер-адмін, бо SSH часто виручає не тільки девів, а й нас з вами, QA 🙂
Всім гарного вечора і розширюйте свої горизонти знань)
Дуже цікава штука, яку не можу не кинути вам у стрічку:
Не полінуйтесь і почитайте)
https://hackyourmom.com/osvita/dlya-pochatkivcziv/vizualnyj-gajd-z-ssh-tunelyuvannya-z-prykladamy-ta-shemamy/
Там все пояснено простими словами, зі схемами і прикладами. Якщо колись ламали голову, що таке локальний/remote/динамічний тунель і як воно реально працює після цього гайда стане набагато зрозуміліше.
Рекомендую глянути, навіть якщо ви не супер-адмін, бо SSH часто виручає не тільки девів, а й нас з вами, QA 🙂
Всім гарного вечора і розширюйте свої горизонти знань)
👍11🔥3❤2👌1
Завдання дня для QA
Вам кидають ось такий шматок скрипта і питають: tail -f /var/log/syslog | grep "ERROR" - Що він робить?
Вам кидають ось такий шматок скрипта і питають: tail -f /var/log/syslog | grep "ERROR" - Що він робить?
Anonymous Quiz
6%
(A) Видаляє всі помилки з логу
19%
(B) Зупиняє лог-сервіс і виводить помилки
71%
(C) Безкінечно читає лог у реальному часі та показує лише рядки з “ERROR”
4%
(D) Копіює лог у новий файл error.log
👍4❤3🔥3
Друзі привіт 🤗
Як ваш день?
Я хоч і у відпустці, але про вас не забуваю)
Пам’ятаєте, ми вже з вами говорили про Nmap?
Так от, ось вам маленька шпаргалка, яку реально варто зберегти собі десь під руку.
Тут все основне:
- різні типи сканів (-sS, -sT, -sU і т.д.),
- виявлення хостів (-sn, -Pn),
- як швидко пробігтись по портах (-p, --top-ports),
- визначення ОС та сервісів (-sV, -O),
- і навіть як обійти фаєрвол (-f, --data-length).
Я собі іноді користуюсь -A (комбо-режим: ОС, сервіси, скрипти) але обережно, бо він доволі «важкий».
І якщо треба швидко то це --top-ports 100 рятує, коли нема часу сканити всю /24.
Коротше, штука must-have, особливо для Куа, хто чіпає мережі чи сек’юрку.
Зберігайте, Бо потім будете згадувати, а де ж я те бачив.
Всім гарного вечора друзі 💛
Всіх обняв🤗🤗🤗
Як ваш день?
Я хоч і у відпустці, але про вас не забуваю)
Пам’ятаєте, ми вже з вами говорили про Nmap?
Так от, ось вам маленька шпаргалка, яку реально варто зберегти собі десь під руку.
Тут все основне:
- різні типи сканів (-sS, -sT, -sU і т.д.),
- виявлення хостів (-sn, -Pn),
- як швидко пробігтись по портах (-p, --top-ports),
- визначення ОС та сервісів (-sV, -O),
- і навіть як обійти фаєрвол (-f, --data-length).
Я собі іноді користуюсь -A (комбо-режим: ОС, сервіси, скрипти) але обережно, бо він доволі «важкий».
І якщо треба швидко то це --top-ports 100 рятує, коли нема часу сканити всю /24.
Коротше, штука must-have, особливо для Куа, хто чіпає мережі чи сек’юрку.
Зберігайте, Бо потім будете згадувати, а де ж я те бачив.
Всім гарного вечора друзі 💛
Всіх обняв🤗🤗🤗
❤6❤🔥3🤗3⚡1
This media is not supported in your browser
VIEW IN TELEGRAM
Банда привіт 🙌
Як ваші справи? Як вихідні?
Я після відпустки завжди сідаю зранку на роботу з таким настроєм прям топ 🔥
Але потім заходиш у беклог... і там купа задач, питань, тікетів і настрій одразу «ага, понятно» 😅
Це відео якраз про той момент, коли ти вийшов відпочивший, заряджений, а через 5 хвилин знову з головою у таски й дедлайни. Реалії КУА-життя
Всім гарного дня і продуктивного старту тижня
Нехай він буде з перемогами, а не з безкінечними «блокерами» )
Обняв
Сильні 💛
Як ваші справи? Як вихідні?
Я після відпустки завжди сідаю зранку на роботу з таким настроєм прям топ 🔥
Але потім заходиш у беклог... і там купа задач, питань, тікетів і настрій одразу «ага, понятно» 😅
Це відео якраз про той момент, коли ти вийшов відпочивший, заряджений, а через 5 хвилин знову з головою у таски й дедлайни. Реалії КУА-життя
Всім гарного дня і продуктивного старту тижня
Нехай він буде з перемогами, а не з безкінечними «блокерами» )
Обняв
Сильні 💛
1🤗15❤4👍3
Завдання дня для QA:
Ви тестуєте API. Відправили запит на POST /users, щоб створити нового юзера. У відповідь сервер повернув: { "id": 0, "message": "User created" } - Що тут підозрілого і на що звернути увагу?
Ви тестуєте API. Відправили запит на POST /users, щоб створити нового юзера. У відповідь сервер повернув: { "id": 0, "message": "User created" } - Що тут підозрілого і на що звернути увагу?
Anonymous Quiz
2%
(A) Все ок - юзера створено, можна тест далі гнати
67%
(B) ID виглядає підозріло, треба перевірити логіку генерації ідентифікатора
30%
(C) Сервер повернув тільки message, а мав би ще віддати весь об’єкт користувача
2%
(D) Це норм, API завжди так працює головне, що є "User created"
👀7🔥4👍3
Bug or Defect?
Друзі привіт 🤗 Як ваш день? Я хоч і у відпустці, але про вас не забуваю) Пам’ятаєте, ми вже з вами говорили про Nmap? Так от, ось вам маленька шпаргалка, яку реально варто зберегти собі десь під руку. Тут все основне: - різні типи сканів (-sS, -sT, -sU і…
Добрий вечір, друзі!
я от вам викладав вам шпаргалку по Nmap? І виявилось, що я всеж не розказував про цей тул, а я щось думав шо говорив, виходить я вам більше показав, як гарно виглядають команди, ніж реально розповів, що це за тул і чому він такий важливий. бо мене прям стільки людей пінгануло в ЛС з притензією що ти не розказував. Тому сьогодні закриваю цей геп 😉
Так що я маю вам сказать)
Nmap це (Network Mapper), це тул для сканування мережі. Його фішка, швидко показати: які хости в мережі живі, які порти в них відкриті, які сервіси там працюють (HTTP, SSH, RDP тощо), І яку ОС або версію сервісу можна припустити.
Його юзають адміни, девопси, безпекарі й, звісно, QA, коли треба перевірити доступність, мережеву конфігурацію або знайти “сюрпризи” в енві.
що з основні скани
- TCP SYN (stealth) scan
- TCP Connect scan
- UDP scan
- ACK scan (для фаєрволів)
- Null scan (тільки для специфічних цілей)
-sS найпопулярніший, швидкий і менш помітний.
-sU скан UDP (часто на ньому ховаються DNS або SNMP).
ДЛя виявлення хостів
- Ping scan, перевірка хто в мережі
- Ігноримо пінг, одразу до портів
- TCP SYN ping
- ICMP echo
Це дуже корисно, коли думаєш мертвий сервер чи ні.
Для портів і сервисів
- конкретний порт
- діапазон
- топ-100 портів
- детекція версій сервісів
- визначення ОС
це супер, коли треба зрозуміти: а що взагалі слухає ця машина.
Скрипти (NSE) тут почитаєте щоб було цікаво)
- стандартні скрипти
- скрипти пошуку вразливостей
- заголовок вебсторінки
Nmap має цілу бібліотеку скриптів: від перевірки SSL до брутфорсу. Це вже напівпентест
Ну і як же без виведу
- звичайний
- XML
- для grep
- усі формати
Зручно, коли хочеш інтегрувати у пайплайн чи CI/CD.
Ну і Лайфхаки від мене
- покаже причину, чому хост вважається живим.
- показати тільки відкриті порти (без шуму).
- фрагментація пакетів (іноді обходить IDS).
- додає випадкові байти, щоб не ловили прості фільтри.
Який поінт від мене для вас)
Nmap це не тільки "подивитись відкриті порти". Це реально інструмент, який допомагає КУА перевіряти живучість енвів, бачити, які сервіси доступні, і ловити проблеми ще до того, як про них скаже користувач.
Всім гарного вечора) а головне спокійного 🤗🤗🤗
я от вам викладав вам шпаргалку по Nmap? І виявилось, що я всеж не розказував про цей тул, а я щось думав шо говорив, виходить я вам більше показав, як гарно виглядають команди, ніж реально розповів, що це за тул і чому він такий важливий. бо мене прям стільки людей пінгануло в ЛС з притензією що ти не розказував. Тому сьогодні закриваю цей геп 😉
Так що я маю вам сказать)
Nmap це (Network Mapper), це тул для сканування мережі. Його фішка, швидко показати: які хости в мережі живі, які порти в них відкриті, які сервіси там працюють (HTTP, SSH, RDP тощо), І яку ОС або версію сервісу можна припустити.
Його юзають адміни, девопси, безпекарі й, звісно, QA, коли треба перевірити доступність, мережеву конфігурацію або знайти “сюрпризи” в енві.
що з основні скани
nmap -sS 192.168.1.1
- TCP SYN (stealth) scan
nmap -sT 192.168.1.1
- TCP Connect scan
nmap -sU 192.168.1.1
- UDP scan
nmap -sA 192.168.1.1
- ACK scan (для фаєрволів)
nmap -sN 192.168.1.1
- Null scan (тільки для специфічних цілей)
-sS найпопулярніший, швидкий і менш помітний.
-sU скан UDP (часто на ньому ховаються DNS або SNMP).
ДЛя виявлення хостів
nmap -sn 192.168.1.0/24
- Ping scan, перевірка хто в мережі
nmap -Pn 192.168.1.1
- Ігноримо пінг, одразу до портів
nmap -PS 192.168.1.1
- TCP SYN ping
nmap -PE 192.168.1.1
- ICMP echo
Це дуже корисно, коли думаєш мертвий сервер чи ні.
Для портів і сервисів
nmap -p 80 192.168.1.1
- конкретний порт
nmap -p 20-100 192.168.1.1
- діапазон
nmap --top-ports 100 192.168.1.1
- топ-100 портів
nmap -sV 192.168.1.1
- детекція версій сервісів
nmap -O 192.168.1.1
- визначення ОС
це супер, коли треба зрозуміти: а що взагалі слухає ця машина.
Скрипти (NSE) тут почитаєте щоб було цікаво)
nmap -sC 192.168.1.1
- стандартні скрипти
nmap --script=vuln 192.168.1.1
- скрипти пошуку вразливостей
nmap --script=http-title 192.168.1.1
- заголовок вебсторінки
Nmap має цілу бібліотеку скриптів: від перевірки SSL до брутфорсу. Це вже напівпентест
Ну і як же без виведу
nmap -oN result.txt 192.168.1.1
- звичайний
nmap -oX result.xml 192.168.1.1
- XML
nmap -oG result.grep 192.168.1.1
- для grep
nmap -oA all_results 192.168.1.1
- усі формати
Зручно, коли хочеш інтегрувати у пайплайн чи CI/CD.
Ну і Лайфхаки від мене
nmap --reason
- покаже причину, чому хост вважається живим.
nmap --open
- показати тільки відкриті порти (без шуму).
nmap -f
- фрагментація пакетів (іноді обходить IDS).
nmap --data-length 50
- додає випадкові байти, щоб не ловили прості фільтри.
Який поінт від мене для вас)
Nmap це не тільки "подивитись відкриті порти". Це реально інструмент, який допомагає КУА перевіряти живучість енвів, бачити, які сервіси доступні, і ловити проблеми ще до того, як про них скаже користувач.
Всім гарного вечора) а головне спокійного 🤗🤗🤗
🔥9👍4❤🔥3⚡1
Друзі привіт, як у вас справи? 🙂
Сьогодні день як день , все розгріб, рутина пішла по плану. Без історій цього разу, але маю для вас дещо цікаве)
Гарна вакансія для тих, хто зараз шукає роботу.
Junior QA/QC Manual https://novadigital.peopleforce.io/careers/v/135925-junior-qaqc-manual
Тому якщо є бажання і ви в пошуку то велкам 😉
Всім гарного ранку і продуктивного дня)
Обняв 💛
Сьогодні день як день , все розгріб, рутина пішла по плану. Без історій цього разу, але маю для вас дещо цікаве)
Гарна вакансія для тих, хто зараз шукає роботу.
Junior QA/QC Manual https://novadigital.peopleforce.io/careers/v/135925-junior-qaqc-manual
Тому якщо є бажання і ви в пошуку то велкам 😉
Всім гарного ранку і продуктивного дня)
Обняв 💛
👍9❤4🔥2
Завдання дня для QA:
Ви відкриваєте вебапку і бачите, що в браузері зберігаються дані в localStorage. Питання: для чого взагалі використовується localStorage?
Ви відкриваєте вебапку і бачите, що в браузері зберігаються дані в localStorage. Питання: для чого взагалі використовується localStorage?
Anonymous Quiz
32%
(A) Це місце, де браузер зберігає cookies від серверів
16%
(B) Це окремий файл на сервері для кешування запитів
3%
(C) Це спосіб шифрувати пароль перед відправкою на сервер
48%
(D) Це сховище на клієнті, де можна зберігати ключ-значення без терміну дії
👍3👀3🔥1
Привіт друзі, як ви?
Я сподіваюсь у вас все добре і ваші близькі в безпеці 💛
Щоб трохи переключити вас від буденних думок, дам вам цікаву статтю на тему API.
Часто ми плутаємо стандарти й реальну імплементацію, а тут якраз дуже чітко і доступно розписано
https://florian-kraemer.net//software-architecture/2025/07/07/Most-RESTful-APIs-are-not-really-RESTful.html
Всім гарного дня, продуктивного і легкого
Обняв, сильні 💪
Я сподіваюсь у вас все добре і ваші близькі в безпеці 💛
Щоб трохи переключити вас від буденних думок, дам вам цікаву статтю на тему API.
Часто ми плутаємо стандарти й реальну імплементацію, а тут якраз дуже чітко і доступно розписано
https://florian-kraemer.net//software-architecture/2025/07/07/Most-RESTful-APIs-are-not-really-RESTful.html
Всім гарного дня, продуктивного і легкого
Обняв, сильні 💪
Florian Krämer
Most RESTful APIs aren’t really RESTful
When talking about REST, it is worth reading the dissertation of Roy Thomas Fielding. The original paper that describes RESTful web, “Architectural Styles and the Design of Network-based Software Architectures” Roy T. Fielding (2000), introduces the Representational…
❤4🤝4🔥2
Завдання дня для QA:
Ви відкриваєте вебапку і бачиш, що дані зберігаються у sessionStorage. Питання: що це за сховище і чим воно відрізняється від localStorage?
Ви відкриваєте вебапку і бачиш, що дані зберігаються у sessionStorage. Питання: що це за сховище і чим воно відрізняється від localStorage?
Anonymous Quiz
16%
(A) Це серверна база даних для сесій користувачів
67%
(B) Це сховище в браузері, яке зникає після закриття вкладки
5%
(C) Це окремий файл cookies, який має термін дії 1 день
11%
(D) Це спеціальне шифроване сховище для токенів
👍7
Bug or Defect?
Завдання дня для QA:
Ви відкриваєте вебапку і бачите, що в браузері зберігаються дані в localStorage. Питання: для чого взагалі використовується localStorage?
Ви відкриваєте вебапку і бачите, що в браузері зберігаються дані в localStorage. Питання: для чого взагалі використовується localStorage?
Добрий ранок, друзі ☀️
Ну що, давайте нормально розберемо наш пред останній пул по localStorage, бо бачу, що були різні думки і плутанина
І так що я маю вам сказать))
Чому не (A)
Cookies це інша історія. Вони автоматично відправляються у кожному HTTP-запиті до сервера, якщо збігається домен/шлях.
А ось вже localStorage взагалі не летить на сервер. Він живе лише у браузері.
Але LocalStorage сам по собі не летить на сервер. Но якщо налаштувати умовно,
JS-код у застосунку може витягнути дані і відправити через API
Чому не (B)
Це вже чисто серверна тема (типо Redis, Memcached та інші).
LocalStorage це повністю клієнтське сховище, воно у профілі користувача, а не десь на сервері.
Чому не (C)
LocalStorage нічого не шифрує. Якщо ви поклали туди пароль чи токен, він буде лежати у відкритому вигляді.
Тому з точки зору безпеки там не можна тримати чутливі дані. Бо XSS = повний доступ
Ну і чому правильна (D)
І саме так воно працює: ключ → значення (обидва зберігаються як string);
немає терміну життя (дані живуть, доки їх не видалиш сам чи користувач не очистить браузер);
прив’язане до origin (домен + протокол + порт).
Тому як КУА
перевіряємо, чи там не лежать токени/паролі;
тестуємо logout (чи справді все чиститься);
дивимось, щоб старі дані не юзались повторно без валідації.
І так, локал сторедж зручний інструмент, але для КУА це ще й точка, де можна знайти цікаві баги або проблеми з безпекою)
Всіх обняв 🤗
Сильні 💛
Ну що, давайте нормально розберемо наш пред останній пул по localStorage, бо бачу, що були різні думки і плутанина
І так що я маю вам сказать))
Чому не (A)
Cookies це інша історія. Вони автоматично відправляються у кожному HTTP-запиті до сервера, якщо збігається домен/шлях.
А ось вже localStorage взагалі не летить на сервер. Він живе лише у браузері.
Але LocalStorage сам по собі не летить на сервер. Но якщо налаштувати умовно,
JS-код у застосунку може витягнути дані і відправити через API
Чому не (B)
Це вже чисто серверна тема (типо Redis, Memcached та інші).
LocalStorage це повністю клієнтське сховище, воно у профілі користувача, а не десь на сервері.
Чому не (C)
LocalStorage нічого не шифрує. Якщо ви поклали туди пароль чи токен, він буде лежати у відкритому вигляді.
Тому з точки зору безпеки там не можна тримати чутливі дані. Бо XSS = повний доступ
Ну і чому правильна (D)
І саме так воно працює: ключ → значення (обидва зберігаються як string);
немає терміну життя (дані живуть, доки їх не видалиш сам чи користувач не очистить браузер);
прив’язане до origin (домен + протокол + порт).
Тому як КУА
перевіряємо, чи там не лежать токени/паролі;
тестуємо logout (чи справді все чиститься);
дивимось, щоб старі дані не юзались повторно без валідації.
І так, локал сторедж зручний інструмент, але для КУА це ще й точка, де можна знайти цікаві баги або проблеми з безпекою)
Всіх обняв 🤗
Сильні 💛
👍10❤5⚡1🤗1
А і ледве не забув, друзі є реальна нормально контора яка срочно шукає 2 людей, сюди прийшла працювати моя учениця, то ось вам вакансія не проґавте час, вроді по спів бесіді і по ТЗ норм все)
@OlhaHoncharova Якщо хочете її напишіть вона на пряму передасть ваши резюме HR щоб вас точно переглянули)
Somplo is an Israeli-Ukrainian tech-based company seeking Junior and Middle Manual QA Engineers to join team:
👶 Junior — from 1 year of experience 👉 Junior
🧑💻 Middle — from 3 years of experience 👉 Middle
@OlhaHoncharova Якщо хочете її напишіть вона на пряму передасть ваши резюме HR щоб вас точно переглянули)
Somplo is an Israeli-Ukrainian tech-based company seeking Junior and Middle Manual QA Engineers to join team:
👶 Junior — from 1 year of experience 👉 Junior
🧑💻 Middle — from 3 years of experience 👉 Middle
DOU
Junior Manual QA Engineer
Somplo is an Israeli / Ukrainian tech-based company, in digital advertising solutions for big agencies and international leading brands.We have Offices in Israel and in Odessa Ukraine, with a staff of around 40 employees (Tech, design, sales, marketing,...
❤4🔥3👍2🙏2
This media is not supported in your browser
VIEW IN TELEGRAM
Всім доброго раночку! Ви мене не загубили? 😅
Був на emergency-відпустці, часу взагалі не було, але я повернувся!
Тож знову буду вам докучати своїми постами. У мене назбиралось дуже багато крутої інфи, і ще кілька штук знайшов у себе.
Вчора натрапив на класне відео, думаю, кожен із нас відчував цей момент, коли добрався до credentials і відчув себе найважливішою людиною на проєкті 🤓
Всіх обняв) 🤗🤗🤗
Всім гарного дня і продуктивного)
Був на emergency-відпустці, часу взагалі не було, але я повернувся!
Тож знову буду вам докучати своїми постами. У мене назбиралось дуже багато крутої інфи, і ще кілька штук знайшов у себе.
Вчора натрапив на класне відео, думаю, кожен із нас відчував цей момент, коли добрався до credentials і відчув себе найважливішою людиною на проєкті 🤓
Всіх обняв) 🤗🤗🤗
Всім гарного дня і продуктивного)
😁24🤗2🫡2❤1👍1
Завдання дня для QA:
Ви тестуєте застосунок, і бачите, що паролі користувачів у базі зберігаються “як є” у відкритому вигляді. Питання: Що тут має насторожити КУА і яка практика є правильною?
Ви тестуєте застосунок, і бачите, що паролі користувачів у базі зберігаються “як є” у відкритому вигляді. Питання: Що тут має насторожити КУА і яка практика є правильною?
Anonymous Quiz
2%
(A) Це ок, адже база захищена firewall’ом, ніхто її не побачить
16%
(B) Паролі можна шифрувати простим reversible encryption (щоб адмін міг подивитись у разі потреби)
78%
(C) Паролі треба хешувати (SHA-256, bcrypt, з сіллю, і ніколи не зберігати у відкритому вигляді
4%
(D) Достатньо покласти паролі у localStorage, і цього буде достатньо
👍5
Добрий вечір, друзі 💛
Як ваш настрій?
це я тільки розгребся після відпустки) як обіцяв цікавий матеріал)
Сьогодні хочу поділитись з вами реально корисною штукою, шпаргалкою по PostgreSQL Advanced.
Я думаю, багато хто з вас вже юзав базові команди (SELECT, INSERT, UPDATE). Але коли доходить до більш серйозних задач у проєкті, КУА теж треба розуміти, що там під капотом.
Бо іноді від нас залежить не лише перевірити UI чи API, а й підтягнути правильні дані, знайти помилку в логіці або підготувати тестові дані.
То що я маю вам сказать)
Коротше, це не для DBA, це для нас з вами теж
Якщо цікаво, зберігайте собі шпаргалку, вона ще не раз виручить
Всім спокійного вечора і хай ваші бази будуть без DROP без WHERE 😅
Обняв 🤗
Як ваш настрій?
це я тільки розгребся після відпустки) як обіцяв цікавий матеріал)
Сьогодні хочу поділитись з вами реально корисною штукою, шпаргалкою по PostgreSQL Advanced.
Я думаю, багато хто з вас вже юзав базові команди (SELECT, INSERT, UPDATE). Але коли доходить до більш серйозних задач у проєкті, КУА теж треба розуміти, що там під капотом.
Бо іноді від нас залежить не лише перевірити UI чи API, а й підтягнути правильні дані, знайти помилку в логіці або підготувати тестові дані.
То що я маю вам сказать)
Коротше, це не для DBA, це для нас з вами теж
Якщо цікаво, зберігайте собі шпаргалку, вона ще не раз виручить
Всім спокійного вечора і хай ваші бази будуть без DROP без WHERE 😅
Обняв 🤗
🔥17❤9❤🔥4🤗1