<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
<channel>
<title><![CDATA[ ProIT: медіа для профі в IT ]]></title>
<description><![CDATA[ Експертиза, лайфхаки та новини українського і світового IT ]]></description>
<link>https://proit.ua</link>
<image>
    <url>https://proit.ua/favicon.png</url>
    <title>ProIT: медіа для профі в IT</title>
    <link>https://proit.ua</link>
</image>
<lastBuildDate>ср, 15 квіт 2026 07:36:01 +0300</lastBuildDate>
<atom:link href="https://proit.ua" rel="self" type="application/rss+xml"/>
<ttl>60</ttl>

    <item>
        <description><![CDATA[ У 2026 році фраза «Підключися до офісу через VPN» звучить як анахронізм. Якого офісу? Сервери в AWS, розробники — від Лісабона до Києва, а DevOps-команда намагається звести це все в єдину мережу, щоб і пінг був низьким, і безпека не для галочки.

У цій статті Андрій Вайленко, Head of IT Infrastructure ]]></description>
        <link>https://proit.ua/nie-prosto-vpn-iak-pobuduvati-mieriezhievu-infrastrukturu-dlia-rozpodilienoyi-komandi-i-chomu-wireguard-nie-panatsieia/</link>
        <guid isPermaLink="false">698227fcf13a9409af6985b1</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Telesens Team  ]]></dc:creator>
        <pubDate>ср, 04 лют 2026 14:00:08 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2026/02/close-up-hands-holding-smartphone-with-lock.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>У 2026 році фраза «Підключися до офісу через VPN» звучить як анахронізм. Якого офісу? Сервери в AWS, розробники — від Лісабона до Києва, а DevOps-команда намагається звести це все в єдину мережу, щоб і пінг був низьким, і безпека не для галочки.</p><p>У цій статті Андрій Вайленко, Head of IT Infrastructure <a href="https://telesens.ua/">Telesens</a>, і Євген Шевченко, System Administrator у <a href="https://telesens.ua/">Telesens</a>, діляться практичним досвідом побудови інфраструктури віддаленого доступу: чому вони й інші інженери комбінують протоколи, як реалізувати Zero Trust на мінімалках і де насправді приховані підводні камені open-source рішень.</p><h2 id="%D0%B5%D0%B2%D0%BE%D0%BB%D1%8E%D1%86%D1%96%D1%8F-%D0%B1%D0%BE%D0%BB%D1%8E-%D0%B2%D1%96%D0%B4-%C2%AB%D1%82%D1%83%D0%BD%D0%B5%D0%BB%D1%8E%C2%BB-%D0%B4%D0%BE-%D0%B5%D0%BA%D0%BE%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8">Еволюція болю: від «тунелю» до екосистеми</h2><p>Колись VPN був просто трубою: ти підключився — і ти «всередині». Коли команда стає глобальною, виникають три проблеми:</p><ol><li><strong>Швидкість світла:</strong> Ганяти трафік з України через сервер у Нью-Йорку, щоб потрапити на ресурс у Франкфурті, це гарантовані гальма.</li><li><strong>Безпека периметра:</strong> Якщо джуніор підключився до VPN, чи має він бачити базу даних Production? Спойлер: ні.</li><li><strong>Зоопарк пристроїв:</strong> Mac, Windows, Linux, Android — і на кожному все має працювати стабільно.</li></ol><p>Інженери зрозуміли, що універсального рішення не існує, і прийшли до гібридної схеми.</p><h2 id="%D1%81%D0%B2%D1%8F%D1%89%D0%B5%D0%BD%D0%BD%D0%B0-%D0%B2%D1%96%D0%B9%D0%BD%D0%B0-%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%96%D0%B2-%D1%89%D0%BE-%D1%96-%D0%B4%D0%B5-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%BE%D0%B2%D1%83%D1%94%D1%82%D1%8C%D1%81%D1%8F">Священна війна протоколів: що і де використовується</h2><p>Вибір протоколу — це не про смаки, а про інженерну задачу. Ось градація:</p><h3 id="1-wireguard-%D1%88%D0%B2%D0%B8%D0%B4%D0%BA%D1%96%D1%81%D1%82%D1%8C-vs-%D0%B2%D1%96%D0%B4%D1%81%D1%83%D1%82%D0%BD%D1%96%D1%81%D1%82%D1%8C-mfa">1. WireGuard: Швидкість vs Відсутність MFA</h3><p>Це фаворит для зв’язку між серверами й офісами.</p><ul><li><strong>Чому:</strong> 4000 рядків коду проти сотень тисяч у конкурентів. Він «літає», миттєво відновлює з’єднання після зміни мережі (наприклад, перехід із Wi-Fi на 4G).</li><li> <strong>Де використовуємо:</strong> Для Site-to-Site тунелів (об'єднання кластерів) і підключення технічно підкованих юзерів (DevOps).</li><li><strong>Нюанс:</strong> «Голий» WireGuard жахливий в адмініструванні. Ротація ключів та менеджмент користувачів без додаткових обгорток (на кшталт Tailscale чи Netmaker) — це біль. Протокол спирається виключно на криптографію з публічним ключем (Curve25519) та архітектурно не підтримує MFA. Якщо приватний ключ скомпрометовано, зловмисник отримує доступ миттєво — без SMS чи TOTP кодів. Саме тому «голий» WireGuard ми залишаємо для Site-to-Site.</li></ul><h3 id="2-ipsecikev2-strongswan-%D1%81%D1%82%D0%B0%D0%B1%D1%96%D0%BB%D1%8C%D0%BD%D0%B0-%D0%BA%D0%BB%D0%B0%D1%81%D0%B8%D0%BA%D0%B0">2. IPsec/IKEv2 (StrongSwan): Стабільна класика</h3><ul><li><strong>Де використовується:</strong> Для підключення мобільних пристроїв і корпоративних ноутбуків.</li><li><strong>Чому:</strong> Нативна підтримка в iOS/macOS/Windows. Користувачу не треба ставити сторонній софт — усе працює «з коробки».</li></ul><h3 id="3-openvpn-%D1%81%D1%82%D0%B0%D1%80%D0%B8%D0%B9-%D0%BA%D1%96%D0%BD%D1%8C-%D0%B1%D0%BE%D1%80%D0%BE%D0%B7%D0%BD%D0%B8-%D0%BD%D0%B5-%D0%BF%D1%81%D1%83%D1%94">3. OpenVPN: Старий кінь борозни не псує</h3><ul><li><strong>Де використовується:</strong> Там, де потрібна складна маршрутизація, або у мережах із жорсткими фаєрволами, які блокують UDP. OpenVPN по TCP на 443 порту пролазить майже всюди.</li></ul><h2 id="%D0%B0%D1%80%D1%85%D1%96%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0-%D1%8F%D0%BA-%D1%86%D0%B5-%D0%BF%D1%80%D0%B0%D1%86%D1%8E%D1%94-%D0%B3%D0%BB%D0%BE%D0%B1%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE">Архітектура: як це працює глобально</h2><p>Інженери відходять від схеми «один центральний VPN-сервер». Натомість будують мережу PoP (Points of Presence).</p><ol><li><strong>Географія:</strong> Сервери розміщуються в ключових хабах (Франкфурт, Сингапур, Нью-Йорк, Київ).</li><li><strong>Маршрутизація:</strong> Користувач підключається до найближчого PoP.</li><li><strong>Split Tunneling (Розділення трафіку):</strong> Це палиця з двома кінцями.</li></ol><ul><li><strong>Як треба:</strong> Корпоративний трафік (Jira, GitLab, Prod DB) йде в тунель. YouTube і Netflix — напряму через провайдера. Це розвантажує наш шлюз.</li><li><strong>Ризик:</strong> Якщо домашній комп'ютер співробітника скомпрометовано, хакер може використати цей місток для атаки на корпоративну мережу. Тому Split Tunneling вмикаємо тільки за наявності антивірусу й EDR на хості.</li></ul><h2 id="zero-trust-%D1%96-%D1%84%D1%96%D0%B7%D0%B8%D1%87%D0%BD%D0%B0-%D1%96%D0%B7%D0%BE%D0%BB%D1%8F%D1%86%D1%96%D1%8F-%D0%B3%D1%80%D0%B0%D0%B4%D0%B0%D1%86%D1%96%D1%8F-%D0%BF%D0%B0%D1%80%D0%B0%D0%BD%D0%BE%D1%97">Zero Trust і фізична ізоляція: Градація параної</h2><p>Самого лише шифрування каналу замало. Інженери будують захист шарами, де рівень ізоляції залежить від критичності даних.</p><h3 id="%D1%80%D1%96%D0%B2%D0%B5%D0%BD%D1%8C-1-%D0%BB%D0%BE%D0%B3%D1%96%D1%87%D0%BD%D0%B0-%D1%81%D0%B5%D0%B3%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D1%96%D1%8F-%D0%B1%D1%96%D0%B7%D0%BD%D0%B5%D1%81-%D1%82%D0%B0-it">Рівень 1. Логічна сегментація (Бізнес та IT)</h3><p>Для більшості задач працює принцип Zero Trust: доступ видається на основі ролі, а не факту підключення до мережі.</p><ul><li><strong>Managers:</strong> Мають доступ лише до CRM і фінансових інструментів (наприклад, підмережа 10.1.10.x).</li><li><strong>DevOps:</strong> Бачать CI/CD, Git і тестові бази.</li><li><strong>QA:</strong> Мають доступ до Staging Environment.</li></ul><p><strong>Результат: </strong>Якщо хакер вкраде ноутбук менеджера, він не зможе покласти Production-базу, бо мережевий шлюз просто дропне ці пакети.</p><h3 id="%D1%80%D1%96%D0%B2%D0%B5%D0%BD%D1%8C-2-%C2%AB%D1%87%D0%B5%D1%80%D0%B2%D0%BE%D0%BD%D0%B0-%D0%B7%D0%BE%D0%BD%D0%B0%C2%BB-%D0%B4%D0%B5-%D0%B7%D0%B0%D0%BA%D1%96%D0%BD%D1%87%D1%83%D1%94%D1%82%D1%8C%D1%81%D1%8F-vpn">Рівень 2. «Червона зона»: Де закінчується VPN</h3><p>Важливо розуміти межу можливостей програмних рішень. Якщо ви будуєте захист для критичної інфраструктури, концепція віддаленого доступу стає вразливістю сама по собі.</p><p>Тут інженери переходять від Zero Trust до Air-gap (Повітряного проміжку).</p><ul><li><strong>Суть:</strong> Фізичне відключення захищеного контуру від інтернету. Найкращий фаєрвол — це відсутність кабелю.</li><li><strong>Відмінність:</strong> Якщо в IT-компанії адмін може зайти на сервер із дому через VPN, то в контурі Air-gap віддалений доступ заборонений архітектурно.</li></ul><p><strong>Інженерний висновок:</strong> Не намагайтеся натягнути офісні VPN-рішення на об'єкти критичної інфраструктури. Там, де ціна злому, це техногенна катастрофа, безпеку забезпечує фізика, а не софт. Для всього іншого є VLAN і Zero Trust.</p><h3 id="%D1%87%D0%B5%D0%BA-%D0%BB%D1%96%D1%81%D1%82-%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D0%BA%D0%B8-must-have">Чек-ліст безпеки (Must Have):</h3><ol><li><strong>MFA (Multi-Factor Authentication): </strong>Без OTP токена VPN не підніметься. Це не обговорюється.</li><li><strong>DNS over HTTPS (DoH):</strong> Закриваємо DNS Leaks. Немає сенсу шифрувати тунель, якщо запити летять відкритим текстом. Форсуємо DoH, щоб не світити внутрішні домени адміну кав'ярні.</li><li><strong>Моніторинг:</strong> Prometheus + Grafana дивляться за навантаженням. ELK Stack збирає логи.</li><li><strong>Аномалії:</strong> Якщо один юзер логіниться з Києва, а через 5 хвилин з Амстердама (Impossible Travel), акаунт блокується автоматично.</li></ol><h2 id="open-source-vs-%D0%BA%D0%BE%D0%BC%D0%B5%D1%80%D1%86%D1%96%D1%8F-%D1%89%D0%BE-%D0%BE%D0%B1%D1%80%D0%B0%D1%82%D0%B8">Open-Source vs Комерція: що обрати?</h2><p>Це вічне питання: «Build or Buy?»</p><p><strong>Open-Source (WireGuard, OpenVPN або StrongSwan):</strong></p><ul><li><strong>Плюси: </strong>Безкоштовно (ліцензії), повний контроль, немає прив'язки до вендора.</li><li><strong>Мінуси: </strong>TCO (Total Cost of Ownership) може бути вищим. Ви платите зарплату інженерам, які це налаштовують, патчать і підіймають, коли воно впало о 3-й ночі.</li><li><strong>Кому підходить: </strong>Стартапам, Tech-компаніям із сильною інженерною культурою.</li></ul><p><strong>Комерційні рішення (Cisco, Fortinet, Palo Alto):</strong></p><ul><li><strong>Плюси: </strong>Підтримка, SLA, готові інтеграції з Active Directory та перевірка «здоров'я» пристрою (Compliance Check).</li><li><strong>Мінуси: </strong>Дорого. Дуже дорого. Часто надлишковий функціонал.</li><li><strong>Кому підходить:</strong> Enterprise, банкам, компаніям із суворим комплаєнсом (SOC2, HIPAA).</li></ul><h2 id="%D0%B7%D0%B0%D0%BC%D1%96%D1%81%D1%82%D1%8C-%D0%B2%D0%B8%D1%81%D0%BD%D0%BE%D0%B2%D0%BA%D1%96%D0%B2">Замість висновків</h2><p>Побудова інфраструктури для віддалених команд — це баланс між підвищеними вимогами безпеки та комфортом розробника.</p><p>Якщо ви будуєте систему з нуля або рефакторите старий спадок, ось п’ять заповідей, написаних потом і кров’ю інженерів:</p><ol><li><strong>Ніяких самописів для WireGuard.</strong> Забудьте про скрипти для генерації ключів. Це працює для трьох друзів, але в компанії перетворюється на пекло. Беріть Netmaker, Firezone або Tailscale. Інструмент має працювати на вас, а не ви на нього.</li><li><strong>MFA — це база.</strong> Паролі крадуть, сесії перехоплюють. Без другого фактора (OTP/YubiKey) VPN-доступ не видається. Це не обговорюється навіть із CEO.</li><li><strong>Принцип мінімальних прав.</strong> Дефолтне правило для будь-якого нового юзера - deny all. Ніякого доступу до всієї підмережі /24. Відкривайте тільки конкретні IP і порти, які потрібні для роботи.</li><li><strong>Фізика надійніша за софт.</strong> Якщо ви захищаєте щось справді критичне (від управління заводом до ключів шифрування), не сподівайтесь на VLAN. Будуйте Air-gap. Кабель, який не підключено, неможливо хакнути віддалено.</li><li><strong>Бекап — це ілюзія.</strong> Поки ви не розгорнули інфраструктуру з бекапу на чистому сервері, у вас немає бекапу. Ви маєте лише файл, який займає місце на диску. Тестуйте restore, а не backup.</li></ol><p>І пам'ятайте: інфраструктура не буває «готовою». Те архітектурне рішення, яким ви пишаєтесь сьогодні, завтра неминуче стане legacy, що гальмує бізнес. Не бійтеся рефакторити мережу. Бійтеся моменту, коли вона стане настільки складною, що ви побоїтеся її чіпати.</p><p>Будуєте складну інфраструктуру для свого продукту? Дізнайтеся більше про наші рішення в системній інтеграції та Smart Routing на сайті Telesens або сконтактуйте з нами у LinkedIn.</p><p><em><em><em><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></em></em></em></p><p><em><em><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Перший місяць у новій ІТ-компанії — це не перевірка вашої професійної цінності. І не момент, коли потрібно «довести, що ви не помилились, а вас не взяли дарма».

Це період входу в систему, де важливі не швидкість і не гучність, а точність спостережень і здатність не нашкодити собі. Зайвий ентузіазм часто стає ]]></description>
        <link>https://proit.ua/chomu-slukhati-vazhlivishie-za-proponuvati-ghaid-dlia-piershogho-misiatsia-v-it/</link>
        <guid isPermaLink="false">6970ce8052996108589977d4</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Олеся Ульянова ]]></dc:creator>
        <pubDate>ср, 21 січ 2026 15:25:19 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2026/01/portrait-two-professional-male-p.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Перший місяць у новій ІТ-компанії — це не перевірка вашої професійної цінності. І не момент, коли потрібно «довести, що ви не помилились, а вас не взяли дарма».</p><p>Це період входу в систему, де важливі не швидкість і не гучність, а точність спостережень і здатність не нашкодити собі. Зайвий ентузіазм часто стає пасткою: намагаючись миттєво реформувати процеси або вразити колег своєю експертністю, новачок ризикує порушити тендітний баланс команди, який вибудовувався роками.</p><p>Усе, про що ви прочитаєте далі, — це не просто теоретичні поради з підручників з менеджменту. Це результат багаторічного досвіду в ІТ-індустрії, сотень проведених співбесід та спостережень за злетами й падіннями фахівців різного рівня. </p><p>Саме про цю усвідомлену стратегію «тихого входу» — без зайвого тиску, але з чітким розумінням контексту, ролей і моменту для дій — розповість Олеся Ульянова, Ph.D, MBA, CEO Telesens, Founder ITGC, ex-ментор USAID.</p><h2 id="1-%D1%8F-%D0%B1-%D0%BD%D0%B5-%D0%BD%D0%B0%D0%BC%D0%B0%D0%B3%D0%B0%D0%BB%D0%B0%D1%81%D1%8C-%D0%BE%D0%B4%D1%80%D0%B0%D0%B7%D1%83-%D0%BF%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B8-%D0%BC%D0%B0%D0%BA%D1%81%D0%B8%D0%BC%D1%83%D0%BC-%D0%B5%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D1%82%D0%B8%D0%B7%D0%B8">1. Я б не намагалась одразу показати максимум експертизи</h2><p>Найпоширеніший внутрішній імпульс на старті — бажання якомога швидше підтвердити свою цінність для команди й компанії. Всередині це часто звучить так: «Треба швидко показати, що я сильний фахівець».</p><p>Під тиском цього імпульсу людина починає діяти не з позиції розуміння, а з позиції самодоказу. З’являється потреба бути помітним, корисним тут і зараз, навіть якщо для цього ще бракує контексту. У результаті люди:</p><ul><li> активно коментують рішення, не знаючи передумов і обмежень;</li><li>пропонують «очевидні покращення», не розуміючи, чому процеси виглядають саме так;</li><li>демонструють знання й досвід, які поки що не вбудовані в реальність конкретної компанії.</li></ul><p>Проблема не в експертизі. Проблема — у відсутності розуміння системи, у якій ця експертиза має працювати. У перший місяць будь-яка «розумна порада» без контексту легко зчитується як критика, тиск або зверхність, навіть якщо наміри були конструктивними.</p><p>Куди ефективніша стратегія на цьому етапі:</p><ul><li>слухати більше, ніж говорити;</li><li>накопичувати спостереження, а не рішення;</li><li>фіксувати питання, а не поспішні висновки.</li></ul><h2 id="2-%D1%8F-%D0%B1-%D0%BD%D0%B5-%D1%80%D0%BE%D0%B1%D0%B8%D0%BB%D0%B0-%D0%B2%D0%B8%D0%B3%D0%BB%D1%8F%D0%B4-%D1%89%D0%BE-%D0%BC%D0%B5%D0%BD%D1%96-%D0%B2%D1%81%D0%B5-%D0%B7%D1%80%D0%BE%D0%B7%D1%83%D0%BC%D1%96%D0%BB%D0%BE">2. Я б не робила вигляд, що мені все зрозуміло</h2><p>Кивати на мітингах, боятись поставити питання, не уточнювати терміни чи рішення — дуже дорога стратегія. В ІТ незрозуміле не «проясниться само собою».  Воно накопичується — і вибухає пізніше у вигляді:</p><ul><li>помилок;</li><li>переробок;</li><li>відчуття, що «я щось пропустив».</li></ul><p>Парадоксально, але людина, яка питає, виглядає професійніше за ту, яка мовчки плутається. Сильна позиція фахівця звучить так: «Я хочу переконатися, що правильно розумію логіку».</p><h2 id="3-%D1%8F-%D0%B1-%D0%BD%D0%B5-%D0%BF%D0%BE%D1%80%D1%96%D0%B2%D0%BD%D1%8E%D0%B2%D0%B0%D0%BB%D0%B0-%D0%BD%D0%BE%D0%B2%D1%83-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D1%96%D1%8E-%D0%B7-%D0%BF%D0%BE%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%BD%D1%8C%D0%BE%D1%8E">3. Я б не порівнювала нову компанію з попередньою</h2><p>Одна з найтонших пасток адаптаційного періоду — автоматичне порівняння нового середовища з попереднім досвідом. Навіть якщо ці порівняння залишаються лише внутрішніми, вони поступово формують дистанцію між вами та системою, до якої ви щойно приєдналися.</p><p>Фрази (навіть внутрішні) «А от у нас раніше…» чи «У минулій команді це робили інакше» — запускають механізм протиставлення «там» і «тут» і заважають по-справжньому прийняти нову реальність. Замість занурення виникає оцінювання, замість розуміння — порівняльна шкала, де нова компанія завжди програє або потребує «виправлення».</p><p>Варто пам’ятати: кожна ІТ-компанія — це не набір випадкових рішень, а результат конкретної історії, контексту й обмежень. У неї завжди є:</p><ul><li>власний темп ухвалення рішень;</li><li>свої компроміси між якістю, швидкістю та ресурсами;</li><li>свої болі, які не завжди очевидні з першого погляду.</li></ul><p>Порівняння не допомагає адаптації. Воно лише підсилює внутрішній опір і неприйняття того, що вже існує. Значно продуктивніше змістити фокус із «як було» на «чому тут саме так» і почати ставити інші запитання:</p><ul><li>чому в цій команді обрали саме такий підхід;</li><li>що саме це рішення захищає або оптимізує;</li><li>яку проблему воно реально вирішує в поточних умовах.</li></ul><h2 id="4-%D1%8F-%D0%B1-%D0%BD%D0%B5-%D0%BF%D0%BE%D1%81%D0%BF%D1%96%D1%88%D0%B0%D0%BB%D0%B0-%C2%AB%D0%B2%D0%BF%D0%B8%D1%81%D0%B0%D1%82%D0%B8%D1%81%D1%8F%C2%BB-%D0%B1%D1%83%D0%B4%D1%8C-%D1%8F%D0%BA%D0%BE%D1%8E-%D1%86%D1%96%D0%BD%D0%BE%D1%8E">4. Я б не поспішала «вписатися» будь-якою ціною</h2><p>Я б не радила поспішати «вписатися» в нову команду будь-якою ціною. На старті це виглядає як безпечна стратегія: бути прийнятим, не створювати напруги, швидко стати частиною колективу. Бути «своїм» — цілком природне бажання, особливо в новому середовищі, де ще немає опори, репутації й довіри.</p><p>Проте в перший місяць це прагнення часто маскується під адаптацію, а насправді призводить до інших моделей поведінки. Замість усвідомленого входу людина починає згладжувати кути і мінімізувати власну присутність. Це проявляється як:</p><ul><li>надмірна згода з будь-якими рішеннями;</li><li>уникання незручних, але важливих питань;</li><li>спроба підлаштуватися під команду замість того, щоб спочатку її зрозуміти.</li></ul><p>У результаті ви швидше стаєте зручними, ніж корисними. А зручність рідко трансформується в довіру чи реальний вплив у довгостроковій перспективі. Це слабка стратегія для фахівця, який хоче не просто «залишитися», а бути цінним елементом системи.</p><p>Набагато ефективніше на цьому етапі зайняти іншу позицію:</p><ul><li>спокійної нейтральності без демонстративної лояльності;</li><li>уважного спостерігача, а не активного погоджувача;</li><li>людини, яка ще збирає повну картину, перш ніж робити висновки й пропонувати рішення.</li></ul><h2 id="5-%D1%8F-%D0%B1-%D0%BD%D0%B5-%D0%BE%D1%87%D1%96%D0%BA%D1%83%D0%B2%D0%B0%D0%BB%D0%B0-%D0%B2%D1%96%D0%B4-%D1%81%D0%B5%D0%B1%D0%B5-%D0%BC%D0%B8%D1%82%D1%82%D1%94%D0%B2%D0%BE%D1%97-%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D1%96">5. Я б не очікувала від себе миттєвої продуктивності</h2><p>Я б не очікувала від себе миттєвої продуктивності на новому етапі. Навіть якщо технічно ви сильні, з досвідом і хорошим бекграундом, організм і мислення все одно проходять фазу адаптації.</p><p>Перший місяць — це не про результати, а про вбудовування в контекст:</p><ul><li>нові домени;</li><li>нові люди;</li><li>нові залежності;</li><li>нові правила гри.</li></ul><p>Тому зниження швидкості на старті — неминуче. І це не регрес, а інвестиція в майбутню ефективність. Небезпечно не бути повільним. Небезпечно соромитись цієї повільності і ховати її.</p><h2 id="6-%D1%8F-%D0%B1-%D0%BD%D0%B5-%D0%B1%D1%80%D0%B0%D0%BB%D0%B0-%D0%BD%D0%B0-%D1%81%D0%B5%D0%B1%D0%B5-%D0%B1%D1%96%D0%BB%D1%8C%D1%88%D0%B5-%D0%BD%D1%96%D0%B6-%D1%80%D0%B5%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE-%D0%BC%D0%BE%D0%B6%D1%83-%D0%B2%D0%B8%D0%BD%D0%B5%D1%81%D1%82%D0%B8">6. Я б не брала на себе більше, ніж реально можу винести</h2><p>Я б не брала на себе більше, ніж реально можу винести — особливо на старті. Перший місяць часто створює ілюзію, що потрібно довести свою цінність якомога швидше: бути зручною, максимально корисною, завжди «так». У цей момент легко переплутати відповідальність із перевантаженням.</p><p>У перший місяць особливо легко переоцінити власні ресурси: погоджуватись на все, брати зайві задачі і не ставити меж.</p><p>З боку це виглядає як мотивація. На практиці — як шлях до швидкого вигорання або помилок. Краще одразу формувати репутацію людини, яка:</p><ul><li>чесно оцінює навантаження;</li><li>не обіцяє зайвого;</li><li>вміє сказати «мені потрібно уточнити».</li></ul><h2 id="7-%D1%8F-%D0%B1-%D0%BD%D0%B5-%D1%80%D0%BE%D0%B1%D0%B8%D0%BB%D0%B0-%D1%80%D0%B0%D0%BD%D0%BD%D1%96%D1%85-%D0%B2%D0%B8%D1%81%D0%BD%D0%BE%D0%B2%D0%BA%D1%96%D0%B2-%D0%BF%D1%80%D0%BE-%D0%BB%D1%8E%D0%B4%D0%B5%D0%B9-%D1%96-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%83">7. Я б не робила ранніх висновків про людей і команду</h2><p>Я б не робила ранніх висновків про людей і команду — і свідомо залишала собі паузу на спостереження. Перший місяць спотворює оптику: ми дивимось на нове середовище крізь власний стрес, очікування й бажання швидко зрозуміти, «хто тут хто». Але команда в цей момент ще не є собою, а ми — ще не в ній.</p><p>У перший місяць:</p><ul><li>люди ще не відкрились;</li><li>динаміка не проявилась;</li><li>конфлікти ще не вилізли.</li></ul><p>Те, що здається байдужістю, слабкістю чи незацікавленістю часто виявляється адаптацією, втомою або обережністю. Ранні ярлики — найгірший інструмент орієнтації.</p><p>Перший місяць в ІТ — це не час бути ідеальним.  Це час бути точним, уважним і чесним із собою. Найкраща стратегія фахівця на старті — не блищати, не змагатися і не доводити. А вбудовуватись у систему так, щоб через кілька місяців ваша цінність стала очевидною без слів.</p><p>Пам’ятайте: сильний старт — це не швидкість. Це відсутність зайвих помилок.</p><p><em><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></em></p><p><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ ІТ‑галузь одна з найдинамічніших у світі. Технології змінюються буквально щотижня: нові фреймворки, хмарні сервіси, штучний інтелект стають нормою. Багато хто не помічає, що така швидкість оновлень стосується не лише розробки продуктів, а й фінансів і бухгалтерії.

Доходи приходять із різних джерел, часто міжнародних, з’являються нові моделі монетизації, гранти ]]></description>
        <link>https://proit.ua/finansovie-planuvannia-dlia-it-iak-nie-zaghubitisia-sieried-valiut-ghrantiv-i-tsifrovikh-podatkiv/</link>
        <guid isPermaLink="false">6964d36549f64107bbf0fde1</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Ірина Качмарчик  ]]></dc:creator>
        <pubDate>ср, 14 січ 2026 14:00:28 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2026/01/47377.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>ІТ‑галузь одна з найдинамічніших у світі. Технології змінюються буквально щотижня: нові фреймворки, хмарні сервіси, штучний інтелект стають нормою. Багато хто не помічає, що така швидкість оновлень стосується не лише розробки продуктів, а й фінансів і бухгалтерії.</p><p>Доходи приходять із різних джерел, часто міжнародних, з’являються нові моделі монетизації, гранти для стартапів, а податкове законодавство постійно адаптується. Фінансове планування на 2026 рік має бути гнучким, стратегічним, враховувати нові податкові режими, міжнародні платежі, грантові надходження та нестандартні джерела доходів. </p><h2 id="%D0%BF%D0%BE%D0%B4%D0%B0%D1%82%D0%BA%D0%BE%D0%B2%D0%B5-%D1%81%D0%B5%D1%80%D0%B5%D0%B4%D0%BE%D0%B2%D0%B8%D1%89%D0%B5-%D1%83-2026-%D1%80%D0%BE%D1%86%D1%96">Податкове середовище у 2026 році</h2><p>Хороша новина: ставки для ІТ не зміняться. Не дуже хороша: податкове середовище стане більш вимогливим, системним і цифровим. Зміни відбудуться не в цифрах, а в логіці контролю. Саме це найбільше впливає на фінансове планування.</p><p>У 2025 збільшилась увага податкової до правильної класифікації доходів. Ця тенденція продовжиться і надалі. Податкову цікавить не лише сума, а й те, що саме компанія продає: послугу, доступ до платформи, ліцензію чи інтелектуальний продукт. У фінансовому плануванні на 2026 рік це означає одне: доходи потрібно планувати не загальною цифрою, а деталізовано.</p><p>Спеціальну систему оподаткуванню і надалі матимуть резиденти Дія.City. Податок на виведений капітал (ПнВК) 9% сплачують тільки при виведенні коштів із бізнесу, тож компанія може<strong> </strong>реінвестувати прибуток у розвиток без податку.</p><p>Ще одна особливість — гнучкі правила оплати праці. Для працівників і гіг-спеціалістів ПДФО становить 5% замість стандартних 18%, плюс мінімальні ЄСВ. Це зменшує податкове навантаження на зарплати й робить бюджет більш передбачуваним.</p><h2 id="%D0%B2%D0%B0%D0%BB%D1%8E%D1%82%D0%BD%D1%96-%D0%BA%D0%BE%D0%BB%D0%B8%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D1%82%D0%B0-%D1%80%D0%B8%D0%B7%D0%B8%D0%BA%D0%B8">Валютні коливання та ризики</h2><p>ІТ-компанії часто отримують гроші у валюті, але витрачають їх у гривнях. Курс валют постійно змінюється, і це може впливати на ваш дохід. Тому під час планування варто:</p><ol><li>Закладати «страховку» на випадок падіння або стрибка курсу.</li><li>Вести облік доходів у валюті та витрат у гривнях, щоб бачити реальний ефект коливань.</li><li>Розглядати прості способи захисту, наприклад, фіксований курс у договорах або часткове конвертування відразу.</li></ol><h2 id="%D0%B3%D1%80%D0%B0%D0%BD%D1%82%D0%B8-%D1%82%D0%B0-%D1%81%D1%82%D0%B0%D1%80%D1%82%D0%B0%D0%BF-%D1%84%D1%96%D0%BD%D0%B0%D0%BD%D1%81%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Гранти та стартап-фінансування</h2><p>Лише за перший квартал 2025 року українські ІТ-стартапи<a href="https://ukrainevoice.org/news/ukrainian-tech-startups-raise-record-450m-despite-wartime-challenges"> залучили рекордні $450 мільйонів</a> інвестицій. У 2026 році ця тенденція зростатиме. Важливо пам’ятати: гранти — це не класичний дохід, а цільове фінансування. Тобто гроші видаються під конкретні завдання або проєкти. Якщо їх не відокремлювати від комерційних надходжень, легко втратити контроль над бюджетом.</p><p>Що планувати, щоб не заплутатися?</p><ol><li><strong>Бюджет гранту</strong>: розбийте на категорії (зарплати, маркетинг, розробка, обладнання) і прив’язуйте витрати до конкретних цілей гранту.</li><li><strong>Терміни та звітність</strong>: усі гранти вимагають регулярних звітів, тому закладайте час та ресурси на підготовку документів.</li><li><strong>Додаткові інвестиції</strong>: інвестори часто хочуть бачити, як стартап буде масштабуватися після гранту, тому плануйте фінансову «дорожню карту» на 6–12 місяців.</li><li><strong>Комбінування джерел</strong>: поєднувати гранти та венчурне фінансування можна, але треба чітко розмежовувати, які витрати покриває кожне джерело.</li></ol><p>У 2026 році фінансова стратегія ІТ-компаній має бути такою ж гнучкою, як і технології, що вони створюють. Для цього потрібно зібрати всі доходи, податки й валютні ризики в єдину систему. Це дасть вам можливість займатися розвитком бізнесу, не відволікаючись на екстрене гасіння бухгалтерських проблем.</p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Коли йдеться про супутниковий зв’язок, маємо на увазі технологію, доступну в будь-якій точці земної кулі. Це не зовсім так: у низці країн діють регуляторні обмеження, які визначають, чи може сервіс працювати легально. Зокрема, в Туреччині сервіс Starlink не отримав офіційної ліцензії й до кінця 2025 року не дозволений для ]]></description>
        <link>https://proit.ua/zalishatisia-na-zviazku-za-bud-iakikh-umov-iak-suputnikovii-intierniet-stav-bazoiu-dlia-vizhivannia-i-biezpieki/</link>
        <guid isPermaLink="false">693f01f049f64107bbf0f7f5</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Антон Садиков ]]></dc:creator>
        <pubDate>ср, 17 груд 2025 14:00:01 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/12/ANSA1024_-min.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Коли йдеться про супутниковий зв’язок, маємо на увазі технологію, доступну в будь-якій точці земної кулі. Це не зовсім так: у низці країн діють регуляторні обмеження, які визначають, чи може сервіс працювати легально. Зокрема, в Туреччині сервіс Starlink не отримав офіційної ліцензії й до кінця 2025 року не дозволений для загального користування.<br></p><p>Ми безпосередньо стикнулися з цим бар’єром під час місії World Central Kitchen (WCK) у Туреччині — організації, що надає продовольчу допомогу постраждалим. Після серії потужних землетрусів команда працювала в постраждалих районах, організовуючи харчування для місцевих жителів. Щоб налагодити комунікацію з людьми, зорієнтувати їх, підказати, де можна отримати медичну допомогу чи підтримку від інших служб, був необхідний доступ до інтернету —  щонайменше, до Google Перекладача. Проте мобільні мережі залишалися перевантаженими. Ми ухвалили рішення задіяти Starlink на власний ризик, розуміючи, що його можуть конфіскувати.<br></p><p>Поки ми на зв’язку — розуміємо, що відбувається, і можемо діяти. Коли ж зв’язок зникає, з’являється інформаційний вакуум, який породжує паніку, дезорієнтацію і стає ґрунтом для дезінформації.<br></p><h2 id="%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F-%D1%81%D1%83%D0%BF%D1%83%D1%82%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE-%D1%96%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82%D1%83-%D0%B2%D1%96%D0%B4-tooway-%D0%B4%D0%BE-starlink">Становлення супутникового інтернету: від Tooway до Starlink</h2><p>Ще недавно супутниковий інтернет був маловідомою технологією, про яку ми знали хіба що з голлівудських політичних трилерів. Сьогодні це один із ключових засобів підтримки зв’язку в Україні — і один із факторів, що буквально впливає на виживання та ефективність оборони.<br></p><p>Перші партії Starlink, флагмана серед провайдерів супутникового зв’язку, з’явилися в Україні навесні 2022 року. Станом на 2025 рік країна отримала понад 50 тисяч терміналів. За оцінками Adaptis, у приватному користуванні українців ще близько 100 тисяч терміналів. <br></p><p>Ветерани АТО, згадуючи бойові дії у 2014-2015 роках, називають проблеми зі зв’язком істотною проблемою на той момент. За<a href="https://nv.ua/ukr/ukraine/events/ilovayskiy-kotel-shcho-stalos-v-ilovaysku-u-2014-spogadi-viyskovih-50446475.html"> свідченнями</a> ветеранів, проблеми зі зв’язком були одним з чинників, що призвели до оточення в Іловайську. Наземна інфраструктура не витримувала навантаження або просто знищувалася обстрілами. Мобільний зв’язок працював із перебоями, частоти глушилися, а підрозділи часто залишалися без координації. Єдиним резервом були військові радіостанції — але радіо не забезпечувало передачу даних, координат чи зображень, а канали часто перехоплювалися противником.<br></p><p>Спроби вирішити проблему супутниковими рішеннями тоді існували, але були обмеженими. Використовувалися системи на кшталт <strong>Tooway</strong> — великі круглі супутникові “тарілки” (діаметром близько 80 см), що працювали через геостаціонарні супутники та вимагали фіксованого розміщення. Такі комплекси забезпечували базовий інтернет-канал, але мали критичні недоліки для фронтових умов: велику затримку сигналу (пів секунди і більше), складність налаштування, потребу у фіксованому розміщенні антени. Це означало, що супутниковий інтернет можна було встановити на командному пункті чи в тилу, але не «в полі». Для мобільних підрозділів, евакуаційних груп, розвідників або артилерійських розрахунків такі рішення були практично непридатні.<br></p><p>На відміну від 2014 року, коли супутникові рішення залишалися малопридатними для бойових умов, у 2022-му, з початком повномасштабного вторгнення Росії, ситуація змінилася докорінно. До цього часу супутникові технології вже пройшли суттєву еволюцію, і поява Starlink як флагмана нового покоління зробила можливим стабільний інтернет навіть на лінії фронту. <br></p><p>Мережа Starlink складається з сотень малих супутників на низькій орбіті (LEO), що забезпечує мінімальну затримку сигналу й усуває потребу в точному наведені терміналів. Завдяки цьому зв’язок можна розгорнути буквально за кілька хвилин і використовувати навіть у польових умовах: на передовій, у бронетехніці, мобільних штабах чи на безпілотниках.<br></p><h2 id="%D1%89%D0%BE-%D0%B4%D0%B0%D0%BB%D1%96-%D0%BF%D0%BE%D1%88%D1%83%D0%BA-%D0%B0%D0%BB%D1%8C%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%82%D0%B8%D0%B2-%D1%96-%D0%B4%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%84%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%8F-%D1%80%D0%B8%D0%B7%D0%B8%D0%BA%D1%96%D0%B2">Що далі? Пошук альтернатив і диверсифікація ризиків<br></h2><p><a href="https://komersant.ua/starlink-znovu-dav-zbiy-na-fronti-viyskovi-povidomliaiut-pro-pereboi/">Збої</a> в роботі Starlink, а також раптові обмеження доступу під час бойових дій підкреслили потребу в резервних рішеннях і локальних інженерних розробках. Стала очевидною і головна вразливість: залежність від єдиного провайдера.<br></p><p>Найактивніше у цьому напрямку працюють кілька міжнародних гравців. Amazon розгортає свій проєкт <strong>Project Kuiper</strong> — мережу з понад 3 000 супутників на низькій орбіті. Kuiper робить ставку на інтеграцію з AWS-хмарами, тобто поєднання супутникового доступу з аналітикою й зберіганням даних у реальному часі. Перші тестові запуски відбулися у 2025 році, а комерційний старт очікується найближчим часом. <br></p><p>У Європі створюється<strong> IRIS² </strong>— ініціатива Єврокомісії, що має на меті забезпечити цифровий суверенітет ЄС і надати безпечний канал зв’язку для урядів, оборонних структур і критичної інфраструктури. Свої проєкти активно розвивають і європейсько-британська компанія <strong>Eutelsat OneWeb</strong> (флот із понад 600 LEO-супутників) та <strong>Telesat Lightspeed</strong> у Канаді.<br></p><p>У ближчій перспективі Starlink навряд чи втратить лідерство — він має перевагу у масштабі, темпі запусків і польовому досвіді. Але конкуренція посилюється: у 2026-2027 роках очікується розгортання ще кількох LEO-мереж, які можуть створити реальну політику «стримування та противаг». Для України це означає не лише технологічну незалежність, а й можливість диверсифікувати ризики, мати резервні канали зв’язку й будувати власні рішення поверх глобальної інфраструктури.<br><br></p><p>Стабільний зв’язок у кризових умовах дозволяє мінімізувати кількість жертв і матеріальні збитки. Саме через зв’язок здійснюється оперативне оповіщення, координація між службами, передача даних про постраждалих і потреби громад. Супутниковий інтернет зробив можливим залишатися на зв’язку навіть там, де раніше не працювало нічого: на фронті чи у знеструмлених містах.</p><p><em><em><em><em><em><em><em><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></em></em></em></em></em></em></em><br><br><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Менеджмент більше не працює за старими правилами. KPI, OKR, безкінечні борди, планування спринтів — усе це залишається важливим, але дедалі частіше не гарантує головного: справжнього лідерства.

Коли команди стають мультикультурними, децентралізованими й самостійними, керівник уже не може просто «менеджити». Він має вести за собою, розуміти людей і трансформувати себе разом із ]]></description>
        <link>https://proit.ua/antimieniedzhier-ia-i-tilki-ia-chomu-it-lidieram-varto-zabuti-pro-klasichnii-mieniedzhmient/</link>
        <guid isPermaLink="false">68f5347ef4ed9ba448a89f23</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Олеся Ульянова ]]></dc:creator>
        <pubDate>ср, 22 жовт 2025 14:00:45 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/10/19019.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Менеджмент більше не працює за старими правилами. KPI, OKR, безкінечні борди, планування спринтів — усе це залишається важливим, але дедалі частіше не гарантує головного: справжнього лідерства.</p><p>Коли команди стають мультикультурними, децентралізованими й самостійними, керівник уже не може просто «менеджити». Він має вести за собою, розуміти людей і трансформувати себе разом із ними.</p><p>Саме з цієї ідеї виросла книга «Антименеджер. Я і тільки Я» від авторки, тренерки з розвитку soft skills і лідерства Олесі Ульянової. Вона пропонує не ще один посібник із менеджменту, а цілком нову концепцію — антименеджмент, де «анти» означає не заперечення, а переосмислення ролі лідера.</p><h2 id="%D0%BD%D0%B5-%D1%89%D0%B5-%D0%BE%D0%B4%D0%BD%D0%B0-%D0%BA%D0%BD%D0%B8%D0%B3%D0%B0-%D0%BF%D1%80%D0%BE-%D0%BB%D1%96%D0%B4%D0%B5%D1%80%D1%81%D1%82%D0%B2%D0%BE">Не ще одна книга про лідерство</h2><p>Uli пояснює: класичний менеджмент вичерпав себе там, де команди потребують не контролю, а довіри.</p><blockquote><em>«Антименеджер — це не про жорсткі процеси. Це про людину, яка розвиває себе настільки, що може вести інших без тиску. Не через KPI, а через усвідомленість і взаємодію».</em></blockquote><p>Її підхід побудований у форматі трилогії, де кожна частина — окремий рівень розвитку лідера:</p><p>● «Я і тільки Я» — персональна ефективність, самодисципліна, управління ресурсом.</p><p>● «Я та ми» — комунікація, взаємодія в команді, робота з конфліктами.</p><p>● «Я та вони» — управління змінами, синергія між командами, системне лідерство.</p><p>Це не просто три книги — це шлях трансформації: від себе до команди, від команди до організації.</p><h2 id="soft-skills-%D0%B1%D0%B5%D0%B7-%D0%BF%D0%B0%D1%84%D0%BE%D1%81%D1%83">Soft skills без пафосу</h2><p>Для ІТ-сфери, де часто фокус робиться на hard skills, цей підхід звучить несподівано. Але саме в технологічних командах сьогодні найчастіше виникають кризи довіри, вигорання і брак емоційної зрілості лідерів.</p><p>Авторка не романтизує soft skills. Вона показує, що самодисципліна, продуктивність і робота зі станом — це не «мотивація», а технологія, яку можна відтренувати.</p><blockquote><em>«Жодна навичка не є магією. Те, що називають «харизмою» або «енергією лідера», — це системна робота над собою».</em></blockquote><p>Але головний виклик — у тому, що зміни потребують не лише знань, а й внутрішньої трансформації. Soft skills неможливо просто вивчити — їх потрібно прожити. І цей процес не завжди комфортний.</p><h2 id="%D1%8F%D0%BA-%D0%BD%D0%B0%D1%80%D0%BE%D0%B4%D0%B8%D0%B2%D1%81%D1%8F-%C2%AB%D0%B0%D0%BD%D1%82%D0%B8%D0%BC%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%B5%D1%80%C2%BB">Як народився «Антименеджер»</h2><p>Ідея книги з’явилася у 2020 році, коли через пандемію тренінги перейшли в онлайн, а слухачі почали просити систематизований матеріал. Спочатку замислювалася велика енциклопедія soft skills на 900 сторінок, але війна та переосмислення власного досвіду змінили підхід.</p><p>Так народилася трилогія, яка виросла з реальної практики — тренінгів, кейсів і робочих історій із командами різних рівнів.</p><blockquote><em>«Мені хотілося створити не теорію, а інструмент. Кожна порада має алгоритм, який можна застосувати в реальній роботі вже завтра», </em>— пояснила авторка.</blockquote><h2 id="%D1%85%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%B8%D0%B9-%D0%B0%D0%BD%D1%82%D0%B8%D0%BC%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%B5%D1%80-%D1%83-%D1%81%D1%83%D1%87%D0%B0%D1%81%D0%BD%D0%BE%D0%BC%D1%83-%D1%96%D1%82">Хто такий антименеджер у сучасному ІТ</h2><p>Антименеджер — це не опозиція до менеджменту. Це його еволюція. У світі, де лідери змагаються не в контролі, а в довірі, антименеджер:</p><p>● працює над собою більше, ніж над іншими;</p><p>● створює команду однодумців, а не просто виконавців;</p><p>● уміє відновлювати свій ресурс і не згорати разом із командою;</p><p>● не боїться експериментів і помилок.</p><p>Для ІТ-компаній це підхід, який допомагає будувати автономні команди, де відповідальність розподілена, а розвиток — спільна справа.</p><h2 id="%D1%89%D0%BE-%D0%B4%D0%B0%D0%BB%D1%96">Що далі</h2><p>Наступна книга планується у форматі метафоричної «кухні» — не про страви, а про рецепти поведінки лідера. Як у The Phoenix Project, де професійні виклики подано у формі художньої історії, ти читаєш і впізнаєш своє життя в команді.</p><p>І ще одна ідея — книга про фідбек, адже це одна з найболючіших тем для менеджерів. Вона вже буде коротшою — не 900 сторінок, але не менш змістовною.</p><h2 id="%D0%BF%D1%96%D0%B4%D1%81%D1%83%D0%BC%D0%BA%D0%B8">Підсумки</h2><p>Антименеджмент — це не про заперечення системи, а про усвідомлення себе в ній. В ІТ, де зміни відбуваються щодня, саме такі лідери — не адміністратори, а аналітичні, емпатійні й саморефлексивні — формують культуру команд, здатних зростати без мікроменеджменту.</p><p>Перша книга трилогії — «Антименеджер. Я і тільки Я» — <a href="https://nashformat.ua/products/antymenedzher.-soft-skills-guideline.-ya-i-tilky-ya.-riven-1-954616?srsltid=AfmBOopmVA-7_cYV6LjkIBFkIITwpT7bZV_4AXRByCtq41CIri4FOkXj">вже у продажу</a>. І, можливо, саме з неї почнеться ваш шлях від керівника до справжнього лідера.<br><br><em><em><em><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Платежі з-за кордону, блокування рахунків через валютний контроль, оплата в криптовалюті, сотні мікротранзакцій від користувачів застосунків, інвойси англійською мовою і складні договори на передавання прав інтелектуальної власності. Для інших галузей це радше винятки, але для технологічного бізнесу — буденність. Саме тому бухгалтерія в ІТ не зводиться до подання декларацій і сплати ]]></description>
        <link>https://proit.ua/bukhghaltier-dlia-it-kompaniyi-iak-uniknuti-pidvodnikh-kamieniv-obliku-u-sfieri-tiekhnologhii/</link>
        <guid isPermaLink="false">68d13f2e439f990747833ded</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Ірина Качмарчик  ]]></dc:creator>
        <pubDate>ср, 24 вер 2025 14:00:33 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/09/12689.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Платежі з-за кордону, блокування рахунків через валютний контроль, оплата в криптовалюті, сотні мікротранзакцій від користувачів застосунків, інвойси англійською мовою і складні договори на передавання прав інтелектуальної власності. Для інших галузей це радше винятки, але для технологічного бізнесу — буденність. Саме тому бухгалтерія в ІТ не зводиться до подання декларацій і сплати єдиного податку: вона перетворюється на щоденну роботу з унікальними викликами, які можуть коштувати компанії чи фахівцеві чималих грошей і нервів.</p><h2 id="%D1%8F%D0%BA-%D0%BD%D0%B5-%D0%B2%D1%82%D1%80%D0%B0%D1%82%D0%B8%D1%82%D0%B8-%D0%B3%D1%80%D0%BE%D1%88%D1%96-%D0%BF%D1%96%D0%B4-%D1%87%D0%B0%D1%81-%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D0%B8-%D0%B7-%D1%96%D0%BD%D0%BE%D0%B7%D0%B5%D0%BC%D0%BD%D0%B8%D0%BC%D0%B8-%D0%B7%D0%B0%D0%BC%D0%BE%D0%B2%D0%BD%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8">Як не втратити гроші під час роботи з іноземними замовниками?</h2><p>IT-бізнес рідко обмежується однією країною. Часто айтівці працюють із клієнтами зі США, Європи або Азії. Це передбачає врахування кількох важливих нюансів:</p><ul><li>Валютний контроль. Коли на ваш рахунок заходить валюта, банк не пропустить її далі без підтвердження. Потрібні інвойси, договори й опис послуг. Якщо чогось не вистачає, гроші просто «зависають» на транзиті, і ви не можете ними користуватися.</li><li>Контракти англійською. Замовники не розуміють, чому вам потрібен документ на п’ять сторінок із мокрою печаткою, у них інвойс на один абзац вважається достатнім. Але для українського банку й податкової такий документ може мати сумнівний вигляд.</li><li>Подвійне оподаткування. Якщо замовник зі США чи Німеччини, потрібно враховувати міжнародні угоди. Інакше можна опинитися в ситуації, коли частину податку візьме Україна, а частину — країна клієнта.</li></ul><p>Завдання бухгалтера — подавати українські дані у форматі, зрозумілому фінансовим контролерам за кордоном. Це не просто переклад цифр, а перебудова структури звітності під конкретні вимоги замовника. Такий підхід вимагає знання міжнародних стандартів фінансової звітності (IFRS), мовних особливостей і специфіки податкових юрисдикцій.</p><h2 id="%D1%84%D1%80%D0%B8%D0%BB%D0%B0%D0%BD%D1%81-%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D0%B8-%D0%B1%D0%BB%D0%BE%D0%BA%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%B0%D0%B4%D0%B0%D0%BF%D1%82%D0%B0%D1%86%D1%96%D1%8F-%D1%96%D0%BD%D0%B2%D0%BE%D0%B9%D1%81%D1%96%D0%B2-%D1%96-%D0%B2%D1%96%D0%B4%D0%BF%D0%BE%D0%B2%D1%96%D0%B4%D0%BD%D1%96%D1%81%D1%82%D1%8C-%D1%83%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%81%D1%8C%D0%BA%D0%BE%D0%BC%D1%83-%D0%B7%D0%B0%D0%BA%D0%BE%D0%BD%D0%BE%D0%B4%D0%B0%D0%B2%D1%81%D1%82%D0%B2%D1%83">Фриланс-платформи: блокування, адаптація інвойсів і відповідність українському законодавству</h2><p>Upwork, Fiverr, Toptal, Payoneer чи PayPal — стандартні канали отримання доходів для ІТ-фахівців, але їх використання дещо ускладнює бухгалтерський облік. Наприклад, платформи знімають комісії. Ви бачите у контракті суму в тисячу доларів, але на рахунок приходить менше. Для податкової ж важливо чітко розмежувати: що є доходом, а що витратами. Якщо цього не зробити, у звітах виникає розрив, і податкова може трактувати зменшену суму як заниження доходу.</p><p>Інвойси з Upwork чи виписки з PayPal часто не відповідають стандартам української податкової. Вони англійською, без правильних реквізитів, іноді взагалі виглядають як коротка квитанція. Банки через це часто ставлять платежі на паузу й вимагають додаткових пояснень про реальність доходу від ІТ-послуг, а не як приватний переказ.</p><p>Саме тому потрібно або оформлювати доходи через ФОП/ТОВ, або адаптувати інвойси та виписки через бухгалтерію. Адже якщо поставитись до роботи з платформами невідповідально, є ризики залишитися без доступу до власних коштів.</p><h2 id="%D0%BE%D1%81%D0%BE%D0%B1%D0%BB%D0%B8%D0%B2%D0%BE%D1%81%D1%82%D1%96-%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D0%B8-%D0%B7-%D1%96%D0%BD%D1%82%D0%B5%D0%BB%D0%B5%D0%BA%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%8E-%D0%B2%D0%BB%D0%B0%D1%81%D0%BD%D1%96%D1%81%D1%82%D1%8E-%D1%82%D0%B0-%D0%BB%D1%96%D1%86%D0%B5%D0%BD%D0%B7%D1%96%D1%8F%D0%BC%D0%B8">Особливості роботи з інтелектуальною власністю та ліцензіями</h2><p>В ІТ часто йдеться не про послугу, а про продукт: мобільні ігри, SaaS із підпискою, ліцензії на софт чи продаж коду. Якщо йдеться про послугу з розроблення під конкретного замовника, усе більш-менш зрозуміло. Але якщо про продаж ліцензії чи прав на продукт, виникає питання: це роялті, послуга чи продаж нематеріального активу? Від відповіді залежить, яку ставку податку потрібно сплатити, чи взагалі можна залишатися на спрощеній системі, і чи не поставить податкова під сумнів законність такої моделі роботи.</p><p>Щоб уникнути проблем із банком і податковою, варто:</p><ul><li>Правильно визначити природу доходу (послуга, роялті, продаж активу).</li><li>Обрати доречну систему оподаткування.</li><li>Підготувати коректні договори й інвойси так, щоб банк і податкова не мали підстав ставити операції під сумнів.</li><li>Залучити фахівців (бухгалтерів чи юристів) для мінімізації ризиків.</li></ul><h2 id="%D0%B4%D1%96%D1%8Fcity-%D0%BF%D0%BE%D0%B4%D0%B0%D1%82%D0%BA%D0%BE%D0%B2%D0%B8%D0%B9-%D0%BE%D0%B0%D0%B7%D0%B8%D1%81-%D0%B4%D0%BB%D1%8F-%D0%B0%D0%B9%D1%82%D1%96%D0%B2%D1%86%D1%96%D0%B2">Дія.City: податковий оазис для айтівців</h2><p>Дія.City — це спеціальний правовий режим, створений для підтримки та розвитку української IT-індустрії. Компанії-резиденти можуть обирати між 18% податку на прибуток і 9% податку на виведений капітал. Дивіденди для фізичних осіб обкладаються 0%, якщо виплачуються раз на два роки, а також якщо компанії отримують дивіденди від резидента Дія.City, що обере ПнВК. Така гнучкість дає можливість зберігати більше коштів у бізнесі й ефективно планувати розвиток.</p><p>Ще однією перевагою є гнучкі форми співпраці. Гіг-контракти стали золотою серединою між ФОПом і класичним працевлаштуванням: вони дають компанії легальні механізми для гнучкого залучення спеціалістів, зокрема й іноземних, а працівникам — соціальні гарантії та захист.</p><p>Поки гіг-контракти — не дуже розповсюджений формат співпраці, ми для клієнтів активно їх використовуємо та мінімізуємо ризики для обох сторін. Для стартапів це можливість швидко масштабувати команду, для великих компаній — формалізувати роботу зі спеціалістами без податкових ризиків.</p><p>Статус резидента Дія.City означає прозорість і зрозумілі правила для іноземних партнерів. Інвестори охочіше співпрацюють із компаніями, які ведуть звітність за міжнародними стандартами, а цей режим саме це і передбачає.</p><p>Бухгалтер в IT — це вже не офісний зберігач рахунків і накладних, а співучасник змін, бізнес-партнер, який розуміє податкові режими, міжнародні стандарти й управлінську аналітику. Технологічні компанії потребують не просто точного обліку, а швидкої, гнучкої й технологічної бухгалтерії, яка росте разом із бізнесом.</p><p><em><em><em><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></em></em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Писати код більше не обов’язково означає... писати код. У 2025-му програмісти дедалі частіше замінюють синтаксис на промпти, IDE — на чат-інтерфейси, а функції — на щось, що «генерується автоматично». Це не означає, що програмування зникло. Але те, як ми підходимо до нього, точно змінюється.

Про vibe coding уперше заговорив Андрій Карпати ]]></description>
        <link>https://proit.ua/vibe-coding-chi-mozhie-rozmova-zaminiti-riadki-kodu-i-chi-stanie-tsiei-pidkhid-novoiu-normoiu-v-rozrobtsi/</link>
        <guid isPermaLink="false">68cac2e1439f990747833ccf</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Владлена Шишмілова ]]></dc:creator>
        <pubDate>чт, 18 вер 2025 14:00:55 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/09/IMG_0544--1-.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Писати код більше не обов’язково означає... писати код. У 2025-му програмісти дедалі частіше замінюють синтаксис на промпти, IDE — на чат-інтерфейси, а функції — на щось, що «генерується автоматично». Це не означає, що програмування зникло. Але те, як ми підходимо до нього, точно змінюється.</p><p>Про vibe coding уперше заговорив Андрій Карпати у лютому майже жартома. Іронічну фразу про «лови вайб, забудь про код» швидко підхопили в твіттері, а потім і в командах, де експериментують із GitHub Copilot, ChatGPT, Cursor, Claude та іншими ШІ-асистентами. Згодом виявилося, що ця фраза не лише мем. Вона точно описує те, що вже робить чимало людей: пояснює комп’ютеру, що потрібно, не занурюючись у реалізацію.</p><p>Я вирішила зібрати коментарі розробників, які реально працюють із ШІ і розібратись у тому, чим є vibe coding на практиці, чим він відрізняється від low-code і класичного девелопменту, які інструменти його підтримують і яке майбутнє чекає нас з vibe coding.</p><h2 id="%D0%BA%D0%BE%D0%B4%D0%B8%D1%82%D0%B8-%D0%B1%D0%B5%D0%B7-%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%BD%D1%8F-%D0%BA%D0%BE%D0%B4%D1%83-%D0%B7%D0%B2%D1%83%D1%87%D0%B8%D1%82%D1%8C-%D1%81%D1%83%D0%BC%D0%BD%D1%96%D0%B2%D0%BD%D0%BE-%D0%B0%D0%BB%D0%B5-%D0%BF%D1%80%D0%B0%D1%86%D1%8E%D1%94">Кодити без написання коду: звучить сумнівно, але працює</h2><p>Vibe coding — це новий підхід до програмування, де вихідною точкою є не код, а розмова. Вищезгаданий Андрій Карпати <a href="https://x.com/karpathy/status/1886192184808149383?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1886192184808149383%7Ctwgr%5E8f545c1e840a403cd261ddb8376c27ebe1b5063f%7Ctwcon%5Es1_&amp;ref_url=https%3A%2F%2Fdevby.io%2Fnews%2Fvaib-koding-programmisty-pridumali-kak-rabotat-pochti-nichego-ne-delaya">вперше вжив фразу vibe coding</a> у відповідь на запитання про те, як девелоперам працювати з LLM.</p><blockquote><em>«Ти просто ніби вайбиш із моделлю»,</em>— написав він і під «вайбиш» мав на увазі інтуїтивний процес роботи з кодом, коли ви пишете промпти, пояснюєте ШІ, що вам потрібно і потім коригуєте код, який згенерував штучний інтелект.</blockquote><p>Вже за кілька тижнів цей вираз почали використовувати IT-спеціалісти, продакт-менеджери і навіть венчурні інвестори, які без вагань включали його у свої пітчдекі.</p><p>Як виявилося, суть vibe coding доволі проста і дійсно відзеркалює назву: вам не потрібно писати код построково. Ви просто задаєте «вайб» і описуєте штучному інтелекту те, що ви хочете побачити у фіналі. Це може бути що завгодно — веб-додаток для догвокерів; скрипт, який синхронізує ваші таблиці з Notion; дашборд, що автоматично оновлює метрики KPI або цілий сайт. Ви даєте ШІ намір, промпт, а модель домальовує деталі. І незалежно від того, чи ви сеньйор-інженер, чи ніколи не відкривав VS Code — на вашому екрані зʼявиться працюючий софт.</p><p>Згодом Карпати сам детальніше розкрив, що мав на увазі. Vibe coding, за його словами, — це «менше про чіткі інструкції, більше про передачу наміру — так, як ти б пояснював щось джуніору, що сидить поруч»<em>. </em>Людина задає загальний напрям, а модель добудовує. Це не команда — це співпраця. Це вайб.</p><p>Володимир Обрізан, директор Design and Test Lab та автор <a href="https://first.institute/blog/sho-take-vajb-koding-i-chomu-ce-bilshe-nizh-prosto/">блогу</a> про vibe coding описує цей підхід так: </p><blockquote>«Для мене вайб-кодинг — це в першу чергу стан, коли код пишеться не заради замовника, зарплатні або дедлайнів, а заради кайфу. Чомусь коли згадують застосування ШІ у програмуванні, то перше питання «чи багато клопоту підчищати за ШІ»? Але я би першим пунктом поставив те, що програмування з ШІ повернуло мені те, що ні за які гроші не купиш — це натхнення у програмуванні, яке в мене було, коли я хлопчиком в школі вивчав програмування на ZX Spectrum, або студентом з другом на канікулах писав компʼютерну гру на Delphi. Чи треба було тоді багато років тому виправляти свої ж помилки, або помилки в документації, «підчищати»? Так! Але для яка різниця для мене, якщо я роблю це з натхненням».</blockquote><p>Подивимося на це більш практично. Застосовуючи vibe coding, замість описування логіки та синтаксису з нуля, ви починаєте діалог із промпта. Наприклад: «Створи мені односторінковий React-додаток, який показуватиме погоду за геолокацією, матиме перемикач темної теми і буде оновлюватися кожні 15 хвилин».</p><p>При цьому немає гарантій, що це завжди працюватиме з першого разу. Деякі розробники відзначають, що часто доводиться не просто «пояснювати» ШІ», а ще й перезапускати сесію, бо модель збивається або починає мислити в хибному напрямку.</p><blockquote>«Він легко ламає проєкт. Навіть git не допоможе — він відновить код, але не витре «пам’ять» моделі. Іноді простіше почати з нуля», — зазначає Володимир Остапів, Java Developer у N-iX.</blockquote><p>ШІ підхоплює це, створює структуру, підбирає пакети, налаштовує запити до API і, роблячи останні штрихи, видає вам результат. Іноді ШІ створює вже повністю готовий до деплою додаток. А іноді генерує просто хорошу стартову заготовку, з якою можна працювати далі. Але важливо те, що людина не писала код в класичному розумінні. Людина тільки задавала вайб.</p><p>Розробники, з якими я говорила, уже встигли випробувати vibe coding на практиці. І хоча підходи різняться, майже кожен знайшов для себе ситуації, де це справді економить сили або хоча б пробуджує інтерес.</p><p>Хтось як Василь Мухар, Technical Director у Edvantis, використовує AI для генерації юніт-тестів і зізнається, що це дозволяє більше зосередитись на архітектурі.</p><p>Роман Гелембюк, Software Engineer з компанії Nasuni, каже, що Copilot для нього є must-have для повсякденної роботи, а Cursor працює чудово в добре структурованих проєктах.</p><p>Володимир Остапів, девелопер з N-iX, тестує vibe coding у pet-проєктах, особливо на Python, і каже, що LLM добре справляються з типовими задачами, поки не доходить до чогось нішевого, як Lua. А Android developer Анатолій Кокулюк розповідає, що використовує ChatGPT для створення Django-моделей, шаблонів, JavaScript-функцій, генерації тестів і навіть формулювання завдань у навчальній платформі.</p><p>Дехто з них експериментує обережно, інші ж — повністю занурені в процес. Але всіх об’єднує те, що це вже частина їхніх робочих чи дослідницьких процесів. Тепер природна мова стає інтерфейсом для створення продуктів. Замість того, щоб вчити синтаксис, користувач вчиться чітко формулювати свої потреби. І на виході, замість боротьби з порожнім файлом ми маємо співпрацю з моделлю, яка вже бачила мільйон подібних запитів. З цього вимальовується інший важливий і, можливо, для когось приємний момент — vibe coding не лише для девелоперів. Дизайнери тепер можуть пропрацювати візуальну розмітку ще до того як відкрили стартову сторінку Figma, а sales-managers можуть попросити ШІ зробити «скелет» додатку, що аналізуватиме потенційний ріст продажів у різних регіонах в залежності від віку, фінансових можливостей або уподобань.</p><p>Звісно, це не магія поза Хогвартсом. Код може згенеруватись кривим, логіка запитів може бути неідеальною, а результати роботи ШІ не завжди такі, які очікує людина. Однак, перша суттєва перевага тут все ж є — цей підхід стискає час між ідеєю і реалізацією. Він не вбиває розробку як таку, а просто прибирає потребу в рутинних процесах, вивільняючи простір на UX, тестування або запуск продукту.</p><h2 id="vibe-coding-vs-%D1%82%D1%80%D0%B0%D0%B4%D0%B8%D1%86%D1%96%D0%B9%D0%BD%D0%B5-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%B4%D0%B5-%D0%B7%D0%BD%D0%B0%D1%85%D0%BE%D0%B4%D0%B8%D1%82%D1%8C%D1%81%D1%8F-%D0%BC%D0%B5%D0%B6%D0%B0-%D0%BC%D1%96%D0%B6-%D0%BD%D0%B0%D0%BC%D1%96%D1%80%D0%B0%D0%BC%D0%B8-%D1%96-%D0%BA%D0%BE%D0%B4%D0%BE%D0%BC">Vibe coding vs. традиційне програмування: де знаходиться межа між намірами і кодом?</h2><p>Поки vibe coding провокує нові дискусії і привертає до себе увагу, традиційні підходи до розробки програмного забезпечення все ще залишаються актуальними. Так, vibe-кодування може стати новим витком еволюції у розробці ПЗ, затьмарюючи класичний coding, але давайте згадаємо, що саме відрізняє традиційне програмування і нові підходи.</p><h3 id="%D1%82%D1%80%D0%B0%D0%B4%D0%B8%D1%86%D1%96%D0%B9%D0%BD%D0%B5-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Традиційне програмування</h3><p>Дана опція передбачає, що ви пишете все вручну, рядок за рядком, обираючи мову, фреймворк, архітектуру. Тут не обійдеться без суттєвого досвіду за плечами розробника. Та й часові інвестиції зовсім інші. Можуть знадобитися тижні, місяці на навчання і дні, тижні на розвиток. Побудувати можна дійсно що завгодно, але якщо з кодом щось не так, то можна застрягнути надовго, розвʼязуючи помилку. Тут немає готових шаблонів, на які ви можете покластись.</p><h3 id="low-code-%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D0%B8">Low-code платформи</h3><p>Деякі IT-спеціалісти кажуть, що вони з’явилися, щоб спростити життя. Людині достатньо мати базове розуміння концепцій програмування, а далі починається процес розробки, перетягування компонентів, налаштування параметрів. Тут немає перетинання з реальним кодом, а платформа як така все ж обмежує в можливостях. З low-code буде під силу впоратися тим, хто не готовий втрачати себе у технічних джунглях заплутаного та філігранного кодингу.</p><h3 id="vibe-coding">Vibe coding</h3><p>Якщо в попередніх підходах йшлося про мінімальні зусилля у написанні коду, то як ми вже знаємо vibe coding не передбачає цього. Ви просто описуєте робочий софт, який хотіли б отримати, не використовуючи конфігурації, синтаксис. Якщо фінальний результат вас не влаштував, замість двобою з написанням коду, просто переформульовуєте промпт. При цьому код існує, але користувач з ним напряму не працює. Фактично немає потреби знати, чим == відрізняється від ===. Потрібна лише чіткість формулювання запиту.</p><h2 id="ai-%D1%96%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B8-%D1%89%D0%BE-%D0%BF%D1%96%D0%B4%D1%81%D0%B8%D0%BB%D1%8E%D1%8E%D1%82%D1%8C-vibe-coding">AI-інструменти, що підсилюють Vibe Coding</h2><p>Vibe coding не виник з порожнього простору, за ним звісно ж стоїть чималий стек AI-інструментів, які спершу непомітно, а зараз вже повноцінно стали частиною щоденної рутини розробників, дизайнерів і продуктових команд. Разом вони формують хребет нового способу створення софту.</p><h3 id="%D0%B2%D0%B5%D0%BB%D0%B8%D0%BA%D1%96-%D0%BC%D0%BE%D0%B2%D0%BD%D1%96-%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%96-llms">Великі мовні моделі (LLMs)</h3><p>У центрі всього — LLM'и. Власне, вони й генерують усе це добро.</p><ul><li><strong>GPT-4 / GPT-4o</strong>— досі найпопулярніші для загальних задач програмування. Добре тримають контекст, розбираються в багатокрокових запитах. Доступні через ChatGPT або API.</li><li><strong>Claude 3 (Anthropic)</strong>— набирає обертів завдяки м’якому тону та меншій схильності «галюцинувати» при структурованих завданнях.</li><li><strong>Gemini (Google), Command R+ (Cohere), Mistral</strong>— часто використовуються в опенсорс-інструментах або нішевих застосунках.</li></ul><p>Обирати одну не обов’язково. Багато vibe-кодерів постійно стрибають між різними LLM, залежно від задачі, або ж використовують інструменти, що комбінують їх у бекенді.</p><p>Результат дуже залежить від того, яку саме модель ви використовуєте. Наприклад, Claude чудово справляється з Python, але намагається «зшити» C++ проєкти без особливої структури. Як каже Володимир, Java Developer з N-iX, іноді потрібно паралельно тестувати одну й ту саму задачу на кількох LLM, щоб побачити, яка з них «не зламає вам усе».</p><h3 id="%D0%B0%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BD%D1%82%D0%B8-%D0%BA%D0%BE%D0%B4%D1%83">Асистенти коду</h3><p>Це досить зручні напарники в IDE. Вони підказують, генерують фрагменти, реагують на промпти.</p><p>Найвідомішим з них є Replit Agent, що діє як розробник програмного забезпечення на базі штучного інтелекту, який може генерувати фронтенд- та бекенд-код, налаштовувати бази даних і навіть автономно виправляти помилки. Його описують як дуже універсального асистента, здатного підтримувати багато мов програмування та фреймворків. До того ж, він надає повний доступ до коду, якщо комусь захочеться зануритися у кодування глибше.</p><p>Одна з головних переваг полягає в тому, що Replit автоматично керує розгортанням – коли ваш додаток готовий, ви можете миттєво поділитися ним за допомогою URL-адреси.</p><p>Не обійшли девелопери увагою й Lovable — платформу, розроблену без коду. Тут просто потрібно описати, що ви хочете і немає потреби розуміти код, що генерується. Тому девіз цього асистента і звучить ось так —  «Від ідеї до програми за лічені секунди». Також до переваг відносять попередній перегляд змін у реальному часі, підказки природної мови, інтуїтивно зрозумілий інтерфейс та експорт коду для розширеного налаштування.</p><p>Ще один популярний асистент коду під назвою Cursor здобув собі славу майже колеги-розробника, який завжди поруч, усе пам’ятає і нормально розуміє твій код. Не просто допоміжний засіб, а повноцінний учасник процесу. Як вказують розробники на форумах, якщо GitHub Copilot просто підставляє тобі код під час друку, то Cursor дає можливість спілкуватися з кодом. Можна виділити шматок функції й написати: «Додай обробку помилок» або «Чому тут падає запит?». Але здається найбільше Cursor люблять за те, що він зберігає історію запитів — і по файлам, і по задачах. Тобто можна повернутись до старого діалогу без зайвих пояснень. Не треба щоразу все заново формулювати як у звичайному чаті.</p><p>Cursor отримав багато схвальних відгуків і за зручність у вже структурованих проєктах.</p><blockquote><em>«Один із моїх веб-проєктів має ідеальну організацію коду. Cursor проіндексував усе і добре повторював патерни», </em>— каже Роман Гелембюк, Software Engineer у Nasuni.</blockquote><p>Але додає, що на інших проєктах Cursor справляється гірше, особливо коли архітектура не впорядкована або стек менш популярний.</p><p>Серед ШІ-асистентів для створення вебзастосунків активно згадують і Bolt.new. Достатньо дати йому ТЗ, а далі він одразу генерує код і все відбувається в межах браузеру. Ніяких редакторів чи IDE, натомість відкриваєте вкладку, даєте задачу, отримуєте сайт. Під умовним «капотом» LLM, тож Bolt розуміє, що ви хочете і не просто генерує шаблони, а адаптує все під запит. Як і Replit Agent, він обробляє розгортання одним кліком тачпаду.</p><p>Дехто міксує ці інструменти: обирає Cursor для структури, Copilot — для дрібних доробок, ChatGPT — для генерації цілих фіч.</p><p>Василь Мухар, Technical Director у Edvantis, ділиться, що Copilot значно пришвидшує написання юніт-тестів, але вимагає ретельної перевірки: </p><blockquote><em>«Із мінусів — потрібна більш уважна перевірка коду.»</em></blockquote><p>Коли справа доходить до більш складних сценаріїв, на кшталт multi-agent workflow або автоматичного створення пайплайнів, то в гру вступають фреймворки.</p><p>Проте досвідчені інженери використовують vibe coding по-своєму.</p><blockquote><em>«Copilot використовую для автодоповнення, ChatGPT — замість StackOverflow. Cursor — для роботи з цілим проєктом. Але якщо не подобається результат — видаляю без жалю», — </em> пояснює Роман, Software Engineer.</blockquote><p>LangChain, LlamaIndex, AutoGen виступають лідерами для зв’язування декількох викликів LLM в один логічний процес. А ось PromptLayer, Prompt Foo більше зосереджені на DevOps: логують, який промпт породив який результат, дозволяють тестувати й порівнювати різні підходи.</p><p>Поки важко говорити про весь арсенал інструментів, адже екосистема vibe coding ще тільки формується, але цікаво, що поки жоден інструмент не домінує і не виділяється настільки, щоб говорити про його лідерство у цій ніші. Всі асистенти рухаються в одному напрямку: формування запиту системі, а система реалізовує цей запит.</p><h2 id="vibe-coding-%D0%BD%D0%B0-%D1%81%D0%BB%D0%BE%D0%B2%D0%B0%D1%85-%D1%96-%D0%BD%D0%B0-%D0%B4%D1%96%D0%BB%D1%96">Vibe coding на словах і на ділі</h2><p>Не кожен, хто працює з кодом, бачить у vibe coding готове рішення. Володимир Остапів, Java-розробник в компанії N-iX, розповідає:</p><blockquote><em>«У роботі над комерційними проєктами я не використовую ШІ активно — є нюанси з безпекою та тим, куди можуть потрапити дані. Крім того, vibe coding у чистому вигляді — це коли ШІ змінює файли самостійно, або коли ти копіюєш код без жодної перевірки. Якщо людина переглядає код і вносить правки — це вже не зовсім вайб.»</em></blockquote><p>Володимир використовує ШІ переважно для побічних проєктів: мікроконтролери, дрони, освітній YouTube. Там можна собі дозволити «повайбити», але навіть там він віддає перевагу промптам у окремому вікні, а не інтегрованим помічникам у IDE. Основна вигода, каже він, — зекономити час на тривіальних, повторюваних задачах, які не потребують глибокого мислення: згенерувати DTO, запит до бази, щось ізольоване.</p><blockquote><em>«Підхід до структури коду не змінюється — це все ще я думаю, я ділю на модулі, я пишу тести. Просто деякі шматки делегую.»</em></blockquote><p>Його спостереження підкреслюють межу, яка все ще існує: між автоматизацією і реальним розумінням системи. Навіть найкращі LLM часто «губляться» у малопоширених мовах, можуть некоректно змінити проект або оптимізувати несуттєве, ігноруючи очевидні вузькі місця.</p><blockquote><em>«Якщо потрібно швидко зліпити MVP — це справді економить час. Але якщо планується розвиток і підтримка — навайбкодити вже не вийде. Треба чітко окреслювати зони відповідальності, писати тести, декомпозувати задачі. Без цього вся логіка розвалиться.»</em></blockquote><h2 id="%D0%BA%D0%BE%D0%BB%D0%B8-%D0%B2%D0%B0%D0%B9%D0%B1%D0%BA%D0%BE%D0%B4%D0%B8%D0%BD%D0%B3-%D1%80%D1%8F%D1%82%D1%83%D1%94-%D0%B0-%D0%BA%D0%BE%D0%BB%D0%B8-%D1%88%D0%BA%D0%BE%D0%B4%D0%B8%D1%82%D1%8C">Коли вайбкодинг рятує, а коли шкодить?</h2><p>Чи можна стверджувати, що Vibe coding — це про швидкість та оптимізацію часу? Безперечно так. Але ця швидкість і простота мають свої обмеження, особливо якщо ви переходите від створення іграшкових апок до справжніх продуктів. AI-асистоване програмування дійсно пришвидшує роботу розробників, але водночас створює більше багів і вимагає додаткового часу на перевірку результату. Це і є основний компроміс: менше писати і більше перевіряти.</p><h3 id="%D1%89%D0%BE-%D0%B4%D1%96%D0%B9%D1%81%D0%BD%D0%BE-%D0%BF%D1%80%D0%B0%D1%86%D1%8E%D1%94">Що дійсно працює?</h3><p><em>Прототипи за кілька годин. </em>Ідеально для внутрішніх дашбордів, автоматизацій, скриптів — усього, що ніколи не отримало б свій спринт. Пишете ідею, вказуєте промпт, трохи правите — і вже щось працює.</p><p><em>Вхід стає значно ширшим. </em>Йдеться про те, що продуктові менеджери, дизайнери, навіть нетехнічні тімліди створюють базові апки самостійно. Їм не треба знати, що таке middleware. Достатньо чітко пояснити, чого ви хочете досягти.</p><p><em>Менше рутини. </em>Для девелоперів це спосіб позбутись нудного: юніт-тести, генерація API — усе, що пожирає час, але не потребує глибокої логіки.</p><h3 id="%D0%B7-%D1%87%D0%B8%D0%BC-%D0%B2%D1%81%D0%B5-%D0%BD%D0%B5-%D1%82%D0%B0%D0%BA-%D0%B3%D0%BB%D0%B0%D0%B4%D0%BA%D0%BE">З чим все не так гладко?</h3><p><em>Код виглядає правильним, але це лише вигляд</em>.<strong> </strong>Моделі генерують щось, що наче працює, але це не гарантує безпеки, читабельності чи продуктивності. Це скоріше передбачення патернів, а не розуміння архітектури.</p><p><em>Дебаг — це боляче. </em>Щось пішло не так і ви застрягаєте в лабіринті виправлень. А якщо ви писали код не самі, то знадобиться час та зусилля, щоб зрозуміти, що саме передбачала модель.</p><p><em>Фальшиве відчуття завершеності.</em><strong> </strong>Особливо у нетехнічних людей. Якщо скрипт запустився, то на перший погляд здається, що все абсолютно добре. Але відсутній null check чи дірка в авторизації можуть зламати все в проді.</p><p><em>Відсутність масштабування. </em>Володимир, Java-розробник із N-iX, чітко це сформулював: «Якщо треба MVP або щось одноразове — вайб-кодинг економить час. Але якщо далі підтримувати і розвивати, то треба структурувати, писати тести, окреслювати зони відповідальності. Навайбкодити не вийде.»</p><p>Як тільки виникне потреба у підтримці, довготривале володіння кодом і впевненість, що він не впаде на краях системи, то скоріше за все виявиться, що одних лише промптів недостатньо і тоді код треба розглядати як систему, а не як набір фрагментів.</p><h2 id="%D1%82%D0%B0%D0%BA-%D1%87%D0%B8-%D0%BD%D1%96-%D1%89%D0%BE-%D0%B4%D1%83%D0%BC%D0%B0%D1%94-%D0%BF%D1%80%D0%BE-vibe-coding-it-%D1%81%D0%BF%D1%96%D0%BB%D1%8C%D0%BD%D0%BE%D1%82%D0%B0">Так чи ні: що думає про vibe coding IT-спільнота?</h2><p>Не всі погоджуються з популярним трактуванням vibe coding, якщо брати до уваги тільки назву цього поняття. Хтось вважає це природною еволюцією програмування. Хтось — модною фішкою з гарною назвою. Але більшість стоїть десь посередині: обережний оптимізм, але з певними умовами.</p><p>Андрій Карпати, який і ввів термін у лютому 2025 року, описав його у твіттері з іронією:</p><blockquote>«Є новий тип програмування, який я називаю «vibe coding»: ти повністю віддаєшся вайбу, приймаєш експоненціальність і забуваєш, що код узагалі існує».</blockquote><p>Для деяких розробників це не така проста історія лише про вайб і тимчасове «забуття».</p><blockquote>«Vibe coding — ох, огидний термін, приблизно як StackOverflow-driven development. ШІ-помічники — це інструмент, каталізатор. Може пришвидшити проєкт, а може й поховати його під шаром власної складності за кілька місяців», —  ділиться Android Developer Анатолій Кокулюк.</blockquote><p>Але інші бачать у цьому зсуві щось глибше. Наприклад, для Володимира, директора Design and Test Lab, vibe-coding —  це більше про повернення до задоволення і натхнення, а не лайфхак:</p><blockquote>«Для мене вайб-кодинг — це в першу чергу стан, коли код пишеться не заради замовника, зарплатні або дедлайнів, а заради кайфу. Чомусь коли згадують застосування ШІ у програмуванні, то перше питання «чи багато клопоту підчищати за ШІ»? Але я би першим пунктом поставив те, що програмування з ШІ повернуло мені те, що ні за які гроші не купиш — це натхнення у програмуванні, яке в мене було, коли я хлопчиком в школі вивчав програмування на ZX Spectrum, або студентом з другом на канікулах писав компʼютерну гру на Delphi. Чи треба було тоді багато років тому виправляти свої ж помилки, або помилки в документації, «підчищати»? Так!».</blockquote><p>Навіть скептики визнають, що ШІ-інструменти мають своє місце. Роман Гелембюк, Software Engineer у Nasuni, каже, що Copilot став частиною його щоденного процесу, але в обмеженому вигляді:</p><blockquote>«Я використовую Copilot вже понад півтора року. Зменшує час написання коду десь на 10–15%. Але майже не редагую код, згенерований AI: або зразу добре, або в смітник».</blockquote><p>Він додає, що інструменти типу Cursor добре працюють у структурованих проєктах, але сиплються там, де хаос — особливо в мобільних додатках на Kotlin Multiplatform:</p><blockquote>«Результати виглядали логічно, але були неробочими. Структура коду була не такою, як я вважаю правильною».</blockquote><p>Інші погоджуються, що сліпе копіювання — це шлях у нікуди. Android developer Анатолій Кокулюк застерігає: </p><blockquote><em>«Я починаю розбиратися з кодом, коли мені цікаво — а як це працює? Але якщо взагалі не аналізувати, то здатність до глибокого занурення просто атрофується. Як із водінням — місяць не їздив, і вже не пропустив зустрічне авто».</em></blockquote><p>Інші ж обережно ставиться до ідеї доручати ШІ архітектурні рішення:</p><blockquote>«Узагалі не раджу використовувати такі асистенти для проєктування архітектури. Це потребує більше часу на формулювання запитів, а результат усе одно часто не відповідає очікуванням», —  Василь Мухар, Technical Director в Edvantis.</blockquote><p>Але й він бачить переваги:</p><blockquote>«Ці інструменти відчутно прискорюють роботу. Особливо під час написання unit-тестів. Завдяки економії часу на шаблонному коді з’являється більше можливостей для архітектури».</blockquote><p>Володимир Остапів, Java Developer з N-iX, не використовує ШІ в продакшн-коді — здебільшого з міркувань безпеки — але активно експериментує в побічних проєктах. Він вважає ШІ корисним, якщо зберігати контроль:</p><blockquote>«Я делегую ШІ окремі частини, але це все ще я пишу код. Підхід до структурування не змінився. На простому пайтоні все ок, а от Lua — краще писати самому. Чим менше прикладів у публічному просторі, тим гірше модель справляється».</blockquote><p>Він також звертає увагу на типову поведінку LLM:</p><blockquote>«ШІ буде оптимізувати те, що займає 10 мілісекунд, щоб воно займало 5, але пропустить той факт, що підключення займає секунду. Він буде додавати логи для дебагу, але не спробує підійти з іншого боку. Тому тут якраз має вирішувати вже людина».</blockquote><p>Серед інженерів точиться й дискусія про авторство. Якщо більшість фічі написана Copilot або GPT — то хто її справжній автор?</p><blockquote>«Чи можна вважати себе автором сніданку, якщо приготував його з продуктів, до створення яких не маєш стосунку? Якщо відповідаєш за фічу — значить ти автор».<br> </blockquote><blockquote>«Ми — останнє покоління, яке взагалі цей код бачить. Як колись казали: Сі — гарно, але тільки на асемблері пишеться справді ефективний код».</blockquote><p>Втім, це не лише філософія. Щодня розробники приймають практичні рішення: як і чи варто інтегрувати ШІ в свій робочий процес. Хтось використовує ChatGPT у сусідній вкладці, хтось покладається на Copilot для швидкості. Але ясно одне — інженери все ще шукають свій підхід.</p><p>А ось в чому сходяться майже всі, так це в тому, що vibe coding — це інструмент. Не магія. Не кінець програмування. І точно не заміна інженерам. Однак це вже змінює щоденний досвід написання коду, якщо використовувати його з головою.</p><h2 id="vibe-coding-%D0%BF%D1%80%D0%BE%D0%B9%D1%88%D0%BE%D0%B2-%D1%81%D1%82%D0%B0%D0%B4%D1%96%D1%8E-denial-%D1%89%D0%BE-%D0%B1%D1%83%D0%B4%D0%B5-%D0%B4%D0%B0%D0%BB%D1%96">Vibe Coding пройшов стадію denial. Що буде далі?</h2><p>Vibe coding поки не захопив світ розробки ПЗ настільки, щоб всі компанії почали пропонувати девелоперам використовувати цей метод, а девелопери, у свою чергу, перейшли на його постійне використання. Але і інтерес до vibe coding поки не знижується, а це про щось та й говорить. Те, що починалося в певному сенсі як щось поверхове з пропозицією «спіймати вайб» та flow, сьогодні балансує десь між приростом продуктивності та філософською зміною у ставленні до коду. І залежно від того, кого ви спитаєте про це, вам скажуть, що це або давно назрілий етап еволюції, або просто яскравий спосіб автоматизувати шаблонні задачі.</p><p>AI-допоміжні процеси як мінімум змінюють підхід до створення й підтримки софту. Рутинні завдання, які раніше забирали години, наприклад, написання unit-тестів, оновлення HTML-шаблонів або створення CRUD API, тепер виконують Copilot, ChatGPT або Cursor. І для команд, на яких тиснуть дедлайни, це цілком непогана альтернатива.</p><p>Деякі розробники ставляться до ШІ як до будь-якого іншого інструменту: корисний, якщо використовувати з розумом, і небезпечний, якщо не розуміти, як працює.</p><p>Володимир Остапів, Java-розробник з N-iX, порівнює це з молотком:</p><blockquote>«Думаю всі дискусії про ШІ відбуваються по причині того, що багато хто не розуміє як ШІ працює. Хтось боїться втратити роботу, хтось шукає магічний спосіб перекласти роботу на плечі машини, але насправді ШІ це просто новий вид молотка. Треба навчитися забивати ним цвяхи, але звісно перед тим треба усвідомити, що таке цвях, щоб не забивати шурупи».</blockquote><p>Це поєднання користі та ризику якраз і пояснює, чому багато інженерів обережні з ШІ. Він може стати мультиплікатором ефективності або ж швидким шляхом до технічного боргу.</p><p>Володимир Обрізан, директор Design and Test Lab, позитивно ставиться до сценарію, в якому компанії застосовуватимуть vibe coding і пояснює, що було б явно гірше, якби нових інструментів та підходів не зʼявлялося.</p><blockquote>«Зрозуміло що є певна інерція: хтось не вірить, що ШІ взагалі може зробити більше ніж «привіт, світ!», хтось знайшов якусь помилку в коді ШІ та перекреслює усі переваги від його впровадження. Хтось взагалі не читає новин, не вчиться новому, та пише код як писав його останні 5 років. Як подолати цю інерцію? Навчатись самому, навчати інших. Як і з будь-якою іншою інновацією. Професія змінюється і це добре. Я би більше хвилювався, якщо би ніяких нових інструментів не зʼявлялося».</blockquote><p>Тож, ніхто не відкидає ідею застосування vibe coding як таку. Більшість інженерів просто вибирають моменти, коли це доречно робити. Вони використовують vibe coding там, де це допомагає, і припиняють, коли це не приносить користі. Трюк у тому, щоб правильно розпізнати, коли це працює, а коли ні.</p><p>На думку Василя Мухара, технічного директора в Edvantis, все залежить від того, чи розробник розуміє, як працювати з цими інструментами і у здатності компаній навчати ефективній роботі з ШІ-помічниками.</p><blockquote>«У кожного свій підхід, але здебільшого це справді про оптимізацію. Компаніям однозначно варто користуватися і vibe coding, оскільки за цим майбутнє. Але потрібно розробити чіткі правила і навчати команди ефективно користуватись такими інструментами. Головне - усвідомлювати, що це лише помічники, а не заміна експертизи».</blockquote><p>Більшість розробників не планували ставати майстрами промптів. Вони вивчали мови, фреймворки, патерни, будували системи з нуля. Але якщо подивитися на те, що відбувається зараз, то точка входу змінюється. Там, де колись функціонал починався з коду, зараз він частіше починається з речення.</p><blockquote>«Раніше було: постановка задачі → кодування → тестування → рішення. Зараз — постановка задачі → тестування → рішення,» — каже Анатолій Кокулюк, Android developer. «Кодування — як етап — зникає.»</blockquote><p>Це не означає, що написання коду зникне зовсім. Але сам процес «написання коду» може трансформуватися і перейти до опису намірів штучному інтелекту, про коригування згенерованого коду, і про управління результатом. Або ні. Ми це побачимо дуже скоро.</p><p>В IT-світі працюють ті ж закони та принципи, що і в повсякденному житті — найкращі результати не приходять від людей, які чекають на диво. Вони приходять від тих, хто знає, як контролювати обсяг робіт, аналізувати проблеми і тестувати те, що вони отримали. І, можливо, в цьому і криється справжня зміна. Не те, що ШІ моделі тепер можуть писати код, а vibe coding стає нормальною робочою практикою, а те, що розробники зараз проводять більше часу, визначаючи, що запитати і що перевірити.</p><p>Чи буде наступне покоління розробників кураторами «вайбів», а не авторами коду? Це теж поки не ясно. Але, ймовірно, ми дізнаємось відповідь набагато швидше, ніж думаємо. Як сказав один із наших співрозмовників: «Ми — останнє покоління, яке бачить код. Як колись — асемблер. Далі будуть ті, хто просто формулює завдання».</p><p><em><em><em><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></em></em></em></p><p><em><em>Підписуйтеся на</em></em><a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer"><em><em> ProIT у Telegram</em></em></a><em><em>, щоб не пропустити жодної публікації!</em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Коли я лише починав займатися онлайн-бізнесом, мені здавалося, що Shopify — це найкраща платформа для дропшипінгу. З часом я почав більше дізнаватися про український маркетплейс Prom.ua і зрозумів, що для різних цілей можуть підійти різні рішення. У цій статті я детально і простими словами розкажу за Shopify і Prom із ]]></description>
        <link>https://proit.ua/porivniannia-shopify-ta-prom-shcho-krashchie-dlia-dropshipinghu/</link>
        <guid isPermaLink="false">6874bd5b523a6407ab94fdf7</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Тарас Герасимюк ]]></dc:creator>
        <pubDate>ср, 16 лип 2025 14:00:51 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/07/23424.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Коли я лише починав займатися онлайн-бізнесом, мені здавалося, що Shopify — це найкраща платформа для дропшипінгу. З часом я почав більше дізнаватися про український маркетплейс Prom.ua і зрозумів, що для різних цілей можуть підійти різні рішення. У цій статті я детально і простими словами розкажу за Shopify і Prom із погляду дропшипера у 2025 році!</p><h2 id="shopify-vs-prom-%D0%BA%D0%BB%D1%8E%D1%87%D0%BE%D0%B2%D1%96-%D0%B2%D1%96%D0%B4%D0%BC%D1%96%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%96">Shopify vs Prom: ключові відмінності</h2><p>Shopify — це всесвітньо відома платформа для створення власного інтернет-магазину. Ви отримуєте окремий сайт зі своїм брендом, повний контроль над дизайном і функціоналом.</p><p>Shopify працює за підпискою: базовий план коштує близько від $29 на місяць. На ньому можна знайти тисячі додатків для інтеграції постачальників, оплат, маркетингу тощо. Shopify особливо популярна серед дропшиперів, оскільки має зручні інструменти для імпорту товарів (наприклад, додатки Oberlo чи DSers для роботи з AliExpress).</p><p>Prom.ua<strong> </strong>— це український маркетплейс, який поєднує в собі торговий майданчик і конструктор інтернет-магазину. По суті, ви орендуєте магазин на великому порталі.</p><p>Prom пропонує готові рішення без навичок програмування: достатньо обрати тариф, додати товари — і ваш магазин з’явиться на Prom.ua. Тарифи стартують від ~299 грн на місяць (є базовий пакет і розширені пакети для більшої кількості товарів).</p><p>Prom орієнтований на локальний ринок України: покупці знають цю платформу і довіряють їй, тому почати продавати тут відносно легко. Головна різниця: Shopify дає власний сайт і глобальне охоплення, а Prom — доступ до наявної аудиторії українського маркетплейсу.</p><p>Для дропшипінгу ці платформи пропонують різні можливості. На Shopify ви можете продавати по всьому світу, підключати міжнародні доставки та оплати. Наприклад, інтегрувати кур’єрські служби й навіть доставку Nova Poshta для України.</p><p>Натомість на Prom усе заточено під Україну: Prom-оплата (вбудований безпечний платіж карткою) і доставка Новою Поштою активуються автоматично, що спрощує логістику на старті. Але й підхід до залучення клієнтів різний: Shopify-магазин потребує зусиль на створення та підключення, а також власного маркетингу (реклама, SEO), тоді як Prom одразу дає вихід на великий трафік покупців усередині маркетплейсу.</p><h2 id="%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3%D0%B8-%D1%82%D0%B0-%D0%BD%D0%B5%D0%B4%D0%BE%D0%BB%D1%96%D0%BA%D0%B8-shopify">Переваги та недоліки Shopify</h2><p>З переваг найголовнішим є масштаб, а саме весь глобальний ринок. Shopify дає змогу одразу працювати на світовому ринку. Ваш магазин доступний покупцям із будь-якої країни, можна підключати різні валюти та мови.</p><p>Якщо маєте амбіції продавати за кордон, власний Shopify-магазин — чудовий старт. Пам’ятаю, як відкрив свій перший Shopify-магазин: мені було всього 19 років і так захопливо бачити перші замовлення від клієнтів з іншого боку світу!</p><p>Також важливою перевагою є повний контроль і побудова власного бренду. У Shopify ви створюєте власний бренд — дизайн сайту, логотип, опис — усе під вашим контролем. Ніхто не відволікає покупця на конкурентів, як це буває на маркетплейсах. Це дає можливість побудувати впізнаваність і лояльність клієнтів до вашого магазину, а не до платформи.</p><p>Ви можете збирати свою клієнтську базу і працювати з нею напряму (email-розсилки, ремаркетинг тощо). А на допомогу цьому є широкий функціонал і інтеграції!</p><p>Shopify має величезний вибір додатків (понад 6000) для будь-яких потреб — від автоматизації дропшипінгу до аналітики. Для дропшиперів є спеціалізовані рішення: інтеграції з AliExpress, з Print-on-Demand сервісами, каталоги товарів з США, Європи і т.д. Налаштувати прийом платежів теж можна під свої потреби — від PayPal для глобальних клієнтів до локальних шлюзів на кшталт Fondy.</p><h3 id="%D0%BD%D0%B5%D0%B4%D0%BE%D0%BB%D1%96%D0%BA%D0%B8-shopify">Недоліки Shopify:</h3><p>Вищі витрати на старті. Місячна абонплата Shopify відчутно дорожча за українські платформи. Базовий план ~$29 (близько 1100 грн) на місяць. Причому якщо ваш магазин зросте, можливо, доведеться перейти на дорожчі плани $79 або $299, щоб отримати необхідний функціонал. Також Shopify стягує комісію в розмірі приблизно 2% з обігу, якщо ви використовуєте сторонні платіжні шлюзи. Для початківців це значна сума, особливо порівняно з місцевими рішеннями.</p><p>Також найбільшим страхом для всіх — вкладатися в рекламу. Свій сайт не має вбудованого трафіку. Потрібно постійно працювати над SEO, запускати рекламу в Google/Facebook, співпрацювати з блогерами тощо, щоби про ваш магазин дізналися клієнти. Це додаткові витрати часу і грошей. Якщо про маркетинг нічого не знаєш, на початку важко - зізнаюся, свій перший Shopify-дропшипінг я “злив” трохи бюджету, поки вчився налаштовувати ефективну рекламу.<br>Ми про це говорили як плюс, але тепер і мінус - це сама конкуренція на глобальному рівні. З одного боку, Shopify дає доступ до всього світу, з іншого — ви конкуруєте з усіма іншими міжнародними магазинами. Дропшипінг-модель дуже популярна, тому в багатьох нішах висока конкуренція і потрібно знайти справді унікальний продукт або маркетинговий хід, щоб виділитися.</p><p>Іще технічні моменти і підтримка. Хоч Shopify і позиціонується як платформа “без знання коду”, для глибшої кастомізації іноді доводиться залучати розробника. Наприклад, підгонка нестандартного дизайну чи інтеграція з нестандартною системою може вимагати допомоги спеціаліста.</p><p>Підтримка Shopify — англомовна 24/7, але не завжди швидко вирішує локальні питання (на кшталт інтеграції з українськими службами). Для українських реалій буває складно під’єднати офіційні Shopify Payments (їх у нас немає), тож доводиться використовувати сторонні шлюзи і платити додаткові комісії.<br></p><h2 id="%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3%D0%B8-%D1%82%D0%B0-%D0%BD%D0%B5%D0%B4%D0%BE%D0%BB%D1%96%D0%BA%D0%B8-prom">Переваги та недоліки Prom</h2><h3 id="%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3%D0%B8-prom-%D0%B4%D0%BB%D1%8F-%D0%B4%D1%80%D0%BE%D0%BF%D1%88%D0%B8%D0%BF%D0%B5%D1%80%D1%96%D0%B2">Переваги Prom для дропшиперів:</h3><p>Легкий старт з мінімальними затратами. Почати продавати на Prom значно простіше та дешевше. Є базовий тариф (з помісячною оплатою близько 100 грн), який дозволяє завантажити до 1000 товарів. Фактично, за кількасот гривень на місяць ви вже отримуєте готовий інтернет-магазин на великому майданчику. Це особливо вигідно для новачків, які не хочуть одразу інвестувати багато грошей. Як кажуть підприємці, “дешевий і простий вхід” - одна з причин популярності маркетплейсів. На власному досвіді переконався: створити магазин на Промі можна буквально за день-два, без програміста.</p><p>Вбудована аудиторія і довіра. Prom.ua - один з найбільших маркетплейсів України, його щодня відвідують тисячі покупців. Розмістившись на Промі, ви автоматично отримуєте доступ до цього трафіку. Більше того, багато людей довіряють репутації великого гравця - покупці знають, що на Prom діє захист угод і служба підтримки, тому легше наважуються на покупку. Для нового продавця це великий плюс: не треба довго переконувати клієнта, що ваш магазин не шахрайський - бренд Prom.ua вже частково це гарантує.</p><p>Простота використання і підтримка. У Prom є зручний кабінет продавця та конструктор сайту. Не потрібно морочитися з хостингом, доменом, двигуном магазину - усе вже готово. Можна вибрати шаблон оформлення, налаштувати категорії й одразу завантажувати товари (вручну або імпортом з файлупо API). Також Prom надає підтримку: навчальні матеріали, відповіді на питання через службу підтримки. Для підприємців-початківців цей супровід важливий, адже на власному сайті ви сам на сам з усіма проблемами.</p><p>Локальні інструменти: оплата і доставка. Prom.ua має інтегровані рішення саме під український ринок. Наприклад, Prom-оплата - система безпечної оплати, де гроші перераховуються продавцю тільки після отримання товару покупцем. Це підвищує довіру клієнтів і знімає з продавця частину турбот про платежі. Також на Промі автоматично доступна доставка Новою Поштою (дані для відправлення підтягуються, можна швидко оформити посилку). Для дропшипера, який працює з українськими постачальниками, така інтеграція значно спрощує процес: постачальник може відправити товар від вашого імені, а ви просто передаєте йому дані замовлення з Прому.</p><p>Рекламні інструменти всередині платформи. Prom допомагає продавцям просувати товари: є внутрішня система реклами (кампанії), програма “ТОП-продавець”, акції і т.д. Наприклад, можна підключити платну рекламну кампанію, щоб ваші товари показувалися вище в каталозі. Також якщо магазин отримує статус “топ-продавця” (високі рейтинги, мало скасованих замовлень), товари ранжуються краще у пошуку на Prom. Тобто платформа сама стимулює вас покращувати сервіс і “нагороджує” більшим трафіком. Новачку це допомагає швидше отримати продажі без зовнішньої реклами.<br></p><h3 id="%D0%BD%D0%B5%D0%B4%D0%BE%D0%BB%D1%96%D0%BA%D0%B8-prom">Недоліки Prom:</h3><p>Обмежене масштабування і аудиторія. Prom орієнтований на український ринок. Ваш магазин на Промі, по суті, обслуговує лише покупців з України (рідше - сусідніх країн). Вийти на міжнародний рівень через Prom не вдасться - для цього потрібні інші канали. Якщо ж у планах масштабувати бізнес глобально, рано чи пізно доведеться запускати окремий сайт або працювати через міжнародні маркетплейси. Сам Prom, як платформа, теж має обмеження в розвитку функцій - ви не зможете довільно додати якийсь нестандартний модуль чи інтеграцію, адже функціонал фіксований (тільки те, що пропонує маркетплейс). Це плата за простоту.</p><p>Менше контролю над брендом. Продаючи на маркетплейсі, ви граєте за його правилами. Вітрина вашого магазину має стандартний вигляд, можливості брендового оформлення обмежені шаблонами. Покупець часто навіть не запам’ятовує назву вашого магазину - він бачить, що купує на Prom.ua. Розвивати власний бренд важко, а своя клієнтська база майже не напрацьовується (клієнти залишаються в системі Prom, ви не маєте повних контактів для прямого маркетингу). Фактично, багато підприємців на Промі конкурують лише за ціною та відгуками, а не за унікальністю бренду.</p><p>Конкуренція поруч. На Prom.ua ви сусідите з тисячами інших продавців у тих самих категоріях. Коли покупець шукає товар, він бачить список пропозицій від різних магазинів. Ваш товар завжди можна порівняти з аналогічним у конкурента буквально в один клік. Це означає боротьбу за ціну, рейтинг і рекламу. Часто доводиться знижувати маржу, щоб переманити клієнта, або витрачатися на просування в межах платформи (платні підняття товарів тощо). Конкуренти можуть демпінгувати, і ви не зможете цьому завадити - увага покупця постійно розпорошена серед десятків інших продавців.</p><p>Комісії та додаткові витрати. Хоч вхід на Prom дешевший, реальні витрати “з’їдаються” комісіями з продажів. Prom.ua заробляє на тому, що утримує відсоток з кожного вашого замовлення (як правило, у вигляді плати за рекламну кампанію). Залежно від категорії товару, ця комісія може становити приблизно від 5% до 15% від суми замовлення. Наприклад, у базових налаштуваннях маркетплейс автоматично знімає з балансу продавця ~5-16% за кожне отримане замовлення. До того ж, розширені тарифні плани на Промі потребують передоплати наперед (кілька тисяч гривень на рік). Є відгуки продавців, які зазначають “драконівські” комісії до 15-20% у деяких категоріях і абонплату 5-8 тис. грн/рік за пакет послуг. Тому при великому обороті витрати на Prom теж відчутні. У підсумку маржа дропшипера на Промі може бути невисокою, адже ви не купуєте товар оптом і ще й платите комісію маркетплейсу.</p><p>Правила платформи і залежність від неї. Пром має свої правила щодо оформлення товарів, роботи з відгуками, умов доставки та повернень. Треба їх дотримуватися, інакше товар можуть заблокувати або знизити рейтинг магазину. До того ж, будь-які зміни політики Prom автоматично стосуються вас - підняли комісію чи тарифи, змінили алгоритм рейтингу - ви мусите підлаштовуватися. Деякі продавці скаржаться, що нововведення (наприклад, безкоштовна доставка по акції чи обов’язкова Prom-оплата) можуть впливати на їх конкурентоспроможність. Також ви залежите від стабільності самої платформи: якщо будуть технічні збої чи, не дай Боже, закриття сервісу - бізнес опиниться під загрозою. На власному Shopify-сайті таких ризиків менше, бо ви більш автономні.<br></p><h2 id="%D1%89%D0%BE-%D0%B2%D0%B8%D0%B3%D1%96%D0%B4%D0%BD%D1%96%D1%88%D0%B5-%D1%83-2025-%D1%80%D0%BE%D1%86%D1%96-%D1%96-%D0%BA%D0%BE%D0%BC%D1%83-%D1%8F%D0%BA%D0%B0-%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D0%B0-%D0%BF%D1%96%D0%B4%D1%85%D0%BE%D0%B4%D0%B8%D1%82%D1%8C">Що вигідніше у 2025 році і кому яка платформа підходить</h2><p>Питання “Shopify чи Prom - що краще?” не має універсальної відповіді. Все залежить від ваших цілей, досвіду і ринку, на який ви орієнтуєтесь. <br>Загалом:</p><p>🟢 Prom для початківців та локального ринку. Якщо ви тільки робите перші кроки в e-commerce і хочете протестувати бізнес-модель з мінімальними ризиками - почніть з маркетплейсу на кшталт Prom.ua. Вам буде простіше розібратися з основами, отримати перші замовлення без великих вкладень в рекламу. Prom ідеально підходить, якщо ваш цільовий клієнт - в Україні, а товари доступні від українських постачальників. Наприклад, багато українських підприємців, які втратили офлайн-роботу, під час війни 2022-2023 починали продавати на Prom, бо це швидко давало дохід. Крім того, якщо ви не плануєте брендувати товар чи будувати довгостроковий бренд - маркетплейс виконає роль простого каналу збуту.</p><p>🟢 Shopify для масштабування і міжнародного бізнесу. Якщо ж ви амбіційні, маєте трохи досвіду або бажання вчитися - Shopify відкриває набагато ширші горизонти. Ця платформа краща для тих, хто прагне створити повноцінний бізнес із власним обличчям. Ви зможете побудувати бренд, якому довіряють, встановлювати власні правила, збирати базу клієнтів. Shopify особливо вигідна, коли ви виходите на платоспроможні ринки (США, Європа тощо), де середній чек вищий - так ви швидше окупите витрати на рекламу і платформи. В 2025 році світовий e-commerce тільки зростає, і українські дропшипери все активніше працюють на глобальних майданчиках. Я, наприклад, після десятки магазинів на Шопіфай розумію, що дивився не туди, не на той майданичк, але все ж запустив магазин на Shopify під США - і хоч було непросто, але тепер отримую стабільні продажі та вибудовую власний бренд.<br></p><p>Щодо вигідності у 2025: Маржинальність дропшипінгу залежить від багатьох факторів - товарної ніші, умов постачальника, ефективності реклами. На Prom ви витрачаєте менше наперед, але платите комісії з кожного продажу, а конкуренція збиває ціни. На Shopify у вас більше витрат на старті (реклама, підписка), але при вдалому маркетингу ви можете ставити вигіднішу націнку, бо продаєте унікально і не поруч з десятком конкурентів. До того ж, на своєму сайті весь прибуток ваш, крім хіба що невеликих транзакційних зборів. Економія на платформі - не найбільша стаття витрат. Головне - де ви отримаєте більшу віддачу з реклами. Якщо товар масовий і добре “заходить” українській аудиторії, Prom може принести швидкий прибуток. Якщо товар унікальний і цікавий глобально, інвестиції в Shopify-рекламу можуть окупитися в рази більше.</p><p>Від себе додам: коли мене запитують, що краще для дропшипінгу, я відповідаю зустрічним запитанням: “А яка твоя мета як підприємця?” Якщо це спробувати сили й підзаробити тут і зараз - йди на Prom або подібний маркетплейс. Якщо це побудувати щось більше, власний бренд - однозначно пробуй Shopify (або українські аналоги для свого сайту).<br>Сподіваюся, цей аналіз допоміг вам зважити всі за і проти. <br>Беручи до уваги все викладене, робіть вибір свідомо. Бажаю успіхів у ваших дропшипінг-починаннях, незалежно від того, на якій платформі ви їх здійсните!</p><p><br>Джерела: під час підготовки матеріалу використані публікації та дані з відкритих джерел для підтвердження актуальної інформації.</p><p>Shopify - офіційні тарифи та можливості платформи.Prom.ua - умови для продавців, тарифи і комісії на маркетплейсі.</p><p>Аналітичні статті про порівняння маркетплейсу і власного магазину.<br></p><p><em><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></em></p><p><em>Підписуйтеся на</em><a href="https://link.proit.ua/Telegram"><em> ProIT у Telegram</em></a><em>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Відкритий банкінг — це не просто новий тренд у фінансовій сфері. Це справжня трансформація, яка змінює те, як ви взаємодієте з банками, керуєте фінансами та обираєте послуги. У серпні 2023 року Національний банк України зробив важливий крок у цьому напрямі, затвердивши Концепцію відкритого банкінгу. І тепер, з цієї миті, почалася нова ]]></description>
        <link>https://proit.ua/open-banking-biez-boliu-ghotovie-rishiennia-dlia-ukrayinskikh-bankiv/</link>
        <guid isPermaLink="false">683c83aaca15a907f7875481</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Інна Соловйова ]]></dc:creator>
        <pubDate>ср, 04 черв 2025 14:00:11 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/06/-1-2--17-.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Відкритий банкінг — це не просто новий тренд у фінансовій сфері. Це справжня трансформація, яка змінює те, як ви взаємодієте з банками, керуєте фінансами та обираєте послуги. У серпні 2023 року Національний банк України зробив важливий крок у цьому напрямі, затвердивши Концепцію відкритого банкінгу. І тепер, з цієї миті, почалася нова ера у сфері фінансових сервісів.</p><p><br>Суть Open Banking полягає в тому, що ви — як клієнт — отримуєте можливість ділитися своїми фінансовими даними з тими сервісами, яким довіряєте. Це робиться через спеціальні програмні інтерфейси — API. Уявіть, що всі ваші рахунки в різних банках можна зручно об’єднати в одному застосунку. Ви самі вирішуєте, хто може бачити ваші дані і як довго. Це не лише зручно — це новий рівень контролю.</p><p><br>Звичайно, це відкриває багато нових можливостей. Ви можете, наприклад, порівнювати банківські продукти в реальному часі, обирати найвигідніші пропозиції, користуватися послугами фінтех-компаній без зайвої паперової тяганини. Водночас банки, опинившись у більш конкурентному середовищі, прагнуть поліпшити свій сервіс, зменшити комісії та запускати інноваційні продукти. І що важливо — такі зміни стимулюють зростання загальної фінансової грамотності.</p><p><br>Проте, як це часто буває, разом із перевагами приходять і виклики. Open Banking — це про відкритість, а отже, і про новий рівень відповідальності, особливо з боку фінансових установ. Обмін даними має бути не лише зручним, а й безпечним. І тут виникає цілий спектр запитань: як уникнути шахрайства? Як дотримуватися регуляторних вимог? Як не витратити роки на розробку технічної інфраструктури?</p><p><br>На ці виклики вже є відповідь — платформа TESOBE Open Bank Project, яку компанія Integrity Vision впроваджує в Україні. Це комплексне рішення з відкритим кодом, яке дозволяє банкам та іншим фінансовим установам легко адаптуватися до нових вимог і розгорнути повноцінну Open Banking-інфраструктуру за доволі короткий час — у середньому за три-шість місяців.<br>Ця платформа вже давно довела свою ефективність у країнах Європи, Південної Америки та Близького Сходу. Завдяки співпраці Integrity Vision з компанією TESOBE українські банки отримують доступ до надійного інструменту, який підтримує міжнародні стандарти — такі як PSD2, Berlin Group, UK Open Banking тощо.</p><h2 id="%D1%89%D0%BE-%D0%B6-%D0%B2%D0%B8-%D0%BE%D1%82%D1%80%D0%B8%D0%BC%D1%83%D1%94%D1%82%D0%B5-%D1%8F%D0%BA%D1%89%D0%BE-%D0%BF%D1%80%D0%B0%D1%86%D1%8E%D1%94%D1%82%D0%B5-%D0%B7-tesobe-open-bank-project"><br>Що ж ви отримуєте, якщо працюєте з TESOBE Open Bank Project?</h2><p><br>– Насамперед, це понад 550 готових API — усе, що потрібно для запуску обміну фінансовими даними вже з першого дня. </p><p>– Це також надійна система автентифікації та отримання згоди користувача, що повністю відповідає регуляторним вимогам.</p><p>– Платформа має зручний портал для розробників, аналітику використання API, а ще — вбудованого AI-асистента, який допомагає знайти потрібний API або оптимізувати роботу.</p><p>– Ви отримуєте гнучке управління доступом, тестове середовище (sandbox) і всі необхідні інструменти для безпечного масштабування.</p><p><br>Integrity Vision, зі свого боку, бере на себе весь процес: від налаштування та інтеграції до підтримки та навчання. Ви не залишаєтесь наодинці з новою технологією — у вас є команда, яка має реальний досвід впровадження подібних рішень в українських банках.<br>Тож якщо ви шукаєте спосіб вийти в Open Banking швидко, надійно й із мінімальними ризиками — TESOBE Open Bank Project разом із експертизою Integrity Vision є ідеальним поєднанням.<br>Готові до нової фінансової реальності? Напишіть нам: <a>marketing@integrity.com.ua</a> — і ми допоможемо вам зробити перший крок до відкритого банкінгу.</p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Bug report, або звіт про помилку, є одним із ключових документів у роботі тестувальників. На практиці ж QA-початківці не завжди можуть підготувати такий звіт грамотно й зрозуміло. Одні — не дотримуються структури баг-репорту, інші — не адаптують звіт відповідно до різновиду тестування програмного забезпечення. А хтось просто не знає, як правильно повідомити ]]></description>
        <link>https://proit.ua/iak-napisati-bagh-rieport-praktichnii-ghaid-vid-komandi-nix/</link>
        <guid isPermaLink="false">6838638b26095f07ef4a6dd6</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Акім Тонконоженко ]]></dc:creator>
        <pubDate>пт, 30 трав 2025 14:00:08 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/05/programming-background-with-person-working-with-codes-computer.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Bug report, або звіт про помилку, є одним із ключових документів у роботі тестувальників. На практиці ж QA-початківці не завжди можуть підготувати такий звіт грамотно й зрозуміло. Одні — не дотримуються структури баг-репорту, інші — не адаптують звіт відповідно до різновиду тестування програмного забезпечення. А хтось просто не знає, як правильно повідомити про помилку та зазначити це в документі.</p><p>Розібратися із цими питаннями допоможе Акім Тонконоженко, QA Lead в ІТ-команді NIX. У статті експерт зібрав базові, практичні поради з написання дієвого bug report.</p><h2 id="%D1%89%D0%BE-%D1%82%D0%B0%D0%BA%D0%B5-%D0%B1%D0%B0%D0%B3-%D1%80%D0%B5%D0%BF%D0%BE%D1%80%D1%82">Що таке баг-репорт</h2><p>Баг-репорт — це структурований звіт про помилку, баг, у цифровому продукті: мобільному застосунку, онлайн-сервісі, на сайті тощо. Зазвичай цей артефакт готують тестувальники. Для цього вони використовують різні інструменти для звітування про помилки. Та в реальності до процесу може долучитися майже будь-хто: від розробників і проєктних менеджерів до власників продукту та навіть користувачів (наприклад, через форму зворотного зв’язку). Але якісний bug report — це не просто повідомлення про помилку, що щось не працює. Звіт повинен описати місце, де стався збій застосунку, перерахувати умови, показати вплив на роботу продукту та юзерів.</p><h2 id="%D1%89%D0%BE-%D0%B2%D0%B2%D0%B0%D0%B6%D0%B0%D1%82%D0%B8-%D0%B1%D0%B0%D0%B3%D0%BE%D0%BC">Що вважати багом</h2><p>Запитання із підзаголовка може здатися дивним. Але насправді це важливий момент в обговоренні, як написати баг-репорт. В різних командах можуть по-різному трактувати, що писати в документі та як вести наявні бази даних помилок. Десь говорять лише про критичні збої. Десь про будь-які відхилення у поведінці продукту від очікуваного результату. А десь — про усі знайдені проблеми. Тому як домовились на проєкті, так і буде відбуватись процес тестування, звітування й відстеження помилок.</p><p>Але все одно треба знати теорію й не плутати терміни, які деякі QA-фахівці часто використовують у bug report як синоніми. Ви маєте чітко розрізняти:</p><ul><li><strong>Баг</strong>. Це виникнення помилки в коді, через яку щось працює не так, як треба. Відхилення можуть стосуватися функціональності (не реагує кнопка Зберегти), продуктивності (сторінка входу повільно завантажується), інтерфейсу (з’їхала фото на сторінці), безпеки (порушення в авторизації) тощо. Багом можуть бути навіть невірні повідомлення для користувачів і неточності у перекладі меню.</li><li><strong>Дефект</strong>. Це більш широке поняття у процесі звітування про помилки. Дефект вказує на будь-які відхилення від вимог чи специфікацій продукту. Тобто з одного боку, цим терміном можна назвати технічну помилку, баг. Але дефект може стосуватися й проблеми реалізації (дизайнери переплутали макет для кнопки) або помилки в описі бізнес-логіки (всі взагалі забули про ту кнопку).</li><li><strong>Іш’ю</strong>. Слово issue перекладається як «проблема». Але в контексті bug report воно скоріше означає будь-яку задачу у системах звітності про помилки. Тобто за issue можна вважати запис у Jira або GitLab про якийсь баг. Але також це про майже все інше: нову фічу, поліпшення (імпрувмент), технічний борг тощо. Тобто кожен баг — це іш’ю, але не кожен іш’ю — це баг.</li><li><strong>Прод-баг</strong>. У деяких випадках його називають інцидент. Це серйозне порушення роботи у продакшн-середовищі та у юзерів. Тобто це результат виникнення помилки, яку не виявлено на ранніх стадіях у тестовому чи дев-середовищі. Проблема вимагає швидкої реакції та навіть окремої обробки в програмному забезпеченні для звітності про помилки та власного процесу налагодження.</li></ul><h2 id="%D1%87%D0%BE%D0%BC%D1%83-bug-report-%D0%B2%D0%B0%D0%B6%D0%BB%D0%B8%D0%B2%D0%B8%D0%B9">Чому bug report важливий</h2><p>Звіт про помилку в програмному забезпеченні — це один із ключових способів комунікації тестувальників і розробників. Його часто порівнюють з діагнозом хвороби: якщо він точний і зрозумілий, то швидким і якісним буде лікування. Тобто виправлення помилок. Але це не єдина причина відповідально розібратися, як написати bug report. У нього є інші цілі:</p><ul><li><strong>Фіксація проблеми</strong>. Коли все документується у системі відстеження, нічого в процесі тестування не загубиться (на відміну від повідомлень про помилку у тому ж Slack). А тому пошук в наявних базах даних помилок буде простим.</li><li><strong>Визначення серйозності багу</strong>. За допомогою звіту про помилку можна показувати й сортувати технічний рівень дефектів. Деякі з проблем можна виправити буквально в кілька кліків, а інші потребують серйозних змін у коді.</li><li><strong>Пріоритизація</strong>. Проблем у продукті може бути багато, а ресурсів — обмаль. Якщо не систематизувати відстеження помилок, складно вирішити, з чого починати. Дієві баг-репорти допомагають визначати більш важливі проблеми.</li><li><strong>Економія часу розробників</strong>. Добре складений bug report, де є якнайбільше деталей, дозволяє девелоперам одразу зрозуміти проблему. Інакше ці фахівці будуть вимушені звертатись до тестувальників з уточненнями, що призводить до зайвих витрати часу.</li><li><strong>Висока якість програмного забезпечення</strong>. Детальний опис знайдених проблем дає змогу з першої спроби виправити баг. Якщо ж буде поганий звіт про помилку, команди розробників можуть опрацювати дефект лише частково.</li></ul><h2 id="%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0-%D0%B1%D0%B0%D0%B3-%D1%80%D0%B5%D0%BF%D0%BE%D1%80%D1%82%D1%83">Структура баг-репорту</h2><p>Єдиного універсального шаблону ефективного звіту про помилки не існує. Елементи у bug report можуть змінюватися відповідно до проєкту, типу тестів, формату у системі звітності про помилки на кшталт Bugzilla чи GitHub Issues та навіть традицій конкретної QA-команди. Але в будь-якому випадку документ повинен бути структурованим і мати тему, опис помилки, кроки для відтворення, очікуваний і фактичний результат та деяку додаткову інформацію. Про кожен із цих пунктів варто розповісти окремо.</p><h3 id="%D1%82%D0%B5%D0%BC%D0%B0-summary">Тема / Summary</h3><p>Це перше, що бачить розробник. Тож саммері має повідомити про помилку. Але не слід писати у темі баг-репорту лише «Критичний збій застосунку!» чи «Поламка реєстрації». Потрібно коротко, але описово вказати на баг. Для цього можна використати підхід що-де-коли: «Не працює кнопка «Купити» (<strong>що</strong> сталося) у десктопній версії застосунку (<strong>де</strong> виникло) після вибори товару (<strong>коли</strong> проявляється)». Є й альтернатива: де-що-коли.</p><h3 id="%D0%BE%D0%BF%D0%B8%D1%81-description">Опис / Description</h3><p>В дескрипшені bur report необхідно в кількох реченнях розповісти про суть знайденої проблеми. Наприклад, «Коли користувач на iPhone 15 Pro зберігає в застосунку зміни у своєму профілі, система зависає на понад 20 секунд. Ніяких повідомлень на кшталт «Почекайте, йде синхронізація» немає. Журнали пристрою порожні». Такий опис помилки дозволить розробникам одразу прикинути варіанти виправлення дефекту.</p><h3 id="%D0%BA%D1%80%D0%BE%D0%BA%D0%B8-%D0%B4%D0%BB%D1%8F-%D0%B2%D1%96%D0%B4%D1%82%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F-steps-to-reproduce">Кроки для відтворення / Steps to Reproduce</h3><p>В цьому розділі звіту про помилку слід перерахувати всі кроки, які ведуть до проблем. Це можна оформити як список дій, навіть на перший погляд саме собою зрозумілих. Наприклад, «1. Відкриваємо сайт у Chrome на Samsung Galaxy S24. 2. Обираємо будь-який товар. 3. Додаємо до кошика. 4. Не бачимо змін у кошику». Це повідомлення про помилку економить час розробника і гарантує: він повторить ваш шлях.</p><h3 id="%D0%BE%D1%87%D1%96%D0%BA%D1%83%D0%B2%D0%B0%D0%BD%D0%B8%D0%B9-%D1%80%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82-expected-result">Очікуваний результат / Expected Result</h3><p>Початківці доволі часто не приділяють уваги цьому пункту. Адже все ніби є очевидним: кнопка має працювати, реєстрація відбуватись, товар додаватись до кошика, сторінка завантажуватись швидко. Але тестувальники все одно мають прописати у bug report, що відбувається при нормальній роботі. З одного боку, це знімає ризик непорозуміння з розробниками. З іншого, інколи бізнес-логіка може бути дійсно складною, неочевидною.</p><h3 id="%D1%84%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%BD%D0%B8%D0%B9-%D1%80%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82-actual-result">Фактичний результат / Actual Result</h3><p>Комусь із новачків може здатися цей розділ таким, що повторює те, що було вказано в інших пунктах. Але фактичний результат важливий в обговоренні правил, як написати дієвий звіт про помилку. Окремий пункт з чіткою фразою на кшталт «Сайт після реєстрації видає сторінку 404, після її оновлення вхід за вказаними кредами не відбувається» дозволяє розробникам звернути увагу на ключовий момент.</p><h3 id="%D1%82%D0%B5%D1%85%D0%BD%D1%96%D1%87%D0%BD%D1%96-%D0%B0%D1%82%D1%80%D0%B8%D0%B1%D1%83%D1%82%D0%B8-technical-attributes">Технічні атрибути / Technical Attributes</h3><p>Це інформація, необхідна для дотримання процесів розробки та QA на проєкті. Передусім серед таких атрибутів є дані про спринт, версію або реліз і середовище: білд, версія, операційна система, пристрій, браузер тощо. Також можуть бути журнали консолі чи серверу, розширення в браузері та навіть вказівки на тип зв’язку (WiFi або стільниковий). Все це значно прискорює процес обробки баг-репорту.</p><h3 id="%D0%B4%D0%BE%D0%B4%D0%B0%D1%82%D0%BA%D0%BE%D0%B2%D0%B0-%D1%96%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D1%96%D1%8F-additional-information">Додаткова інформація / Additional Information</h3><p>Звіт можна доповнювати ще й іншими корисними даними. Насамперед це візуальні докази: скриншот або відео з відтворенням помилки. Вони дуже сильно спрощують розуміння проблеми для команди розробників. Окрім цього, ви можете додати в bug report майже будь-яку інформацію. Наприклад, чи відтворюється проблема на інших пристроях або чи спостерігались якісь дійсно незвичайні обставини.</p><h2 id="%D0%B7%D0%B2%D0%B5%D1%80%D0%BD%D1%96%D1%82%D1%8C-%D1%83%D0%B2%D0%B0%D0%B3%D1%83-%D0%BD%D0%B0-%D1%86%D0%B5-%D0%BF%D1%80%D0%B8-%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%BD%D1%96-%D0%B1%D0%B0%D0%B3-%D1%80%D0%B5%D0%BF%D0%BE%D1%80%D1%82%D1%83">Зверніть увагу на це при написанні баг-репорту</h2><ul><li><strong>У звіті про помилку має бути один баг</strong>. Не об’єднуйте проблеми — це може заплутати розробника. Виключення: кілька однотипних багів або вони пов’язані. Тоді один репорт спростить роботу девелопера та не буде спамити команду.</li><li><strong>Показувати серйозність</strong>. В системах звітності про помилки варто давати оцінку Severity, технічної серйозності: Blocker (блок застосунку або головної функції), Critical (серйозний дефект), Major (помилка, яку можна обійти), Minor (малі баги).</li><li><strong>Чіткий опис помилки</strong>. Інформація в якісному баг-репорті має бути конкретною і точною. Уявіть, що людина, яка буде знайомитись із цим документом, взагалі не знає продукту. А тому їй має бути зрозумілим все про баг лише з вашого тексту.</li><li><strong>Треба уникати емоційності</strong>. Гучні фрази про «все пропало», драматичні порівняння, потрійні знаки оклику — це зайве для bug reports. Ви маєте повідомити про помилку через сухі факти, без стилістичних прикрас.</li><li><strong>Детальна інформація</strong>. Ефективний баг-репорт має містити всі дані, які потрібні для розуміння та, що головніше, відтворення помилки. Не можна упускати якісь важливі нюанси. Інакше це заважатиме оперативному виправленню помилок.</li><li><strong>Лаконічність</strong>. Ця порада багато в чому пов’язана з попередньою. Початківці, намагаючись надати повну інформацію, інколи йдуть в інший бік — і починають в повідомленні про помилку «лити воду». Це заважає зрозуміти суть проблеми.</li><li><strong>Дотримуватись об’єктивності</strong>. У звіті про помилку не місце для припущень — потрібні факти. Тестувальники не можуть використовувати в документах для відстеження помилок слова на кшталт «мабуть» або «мені здається».</li><li><strong>Все перевірити</strong>. Деякі проблеми з’являються за умови 100500 факторів. Тому перед збереженням репорту у програмному забезпеченні для звітності про помилки слід переконатися, що баг дійсно відтворюється за вашим сценарієм.</li></ul><h2 id="%D0%BF%D1%80%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4-%D1%8F%D0%BA%D1%96%D1%81%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B1%D0%B0%D0%B3-%D1%80%D0%B5%D0%BF%D0%BE%D1%80%D1%82%D1%83">Приклад якісного баг-репорту</h2><h3 id="summary">Summary:</h3><p>Не змінюється пароль користувача на Android.</p><h3 id="description">Description:</h3><p>Коли користувач Android-застосунку змінює свій пароль, система зависає після спроби збереження нових даних. Перезавантаження застосунку не допомагає. Одна й та сама помилка з’являється на різних смартфонах з цією ОС.</p><h3 id="steps-to-reproduce">Steps to Reproduce:</h3><ol><li>Увійти в застосунок зі старим паролем.</li><li>Відкрити розділ Профіль.</li><li>Перейти в пункт меню Редагувати пароль.</li><li>Ввести старий пароль та двічі новий пароль.</li><li>Натиснути кнопку Зберегти.</li></ol><h3 id="expected-result">Expected Result:</h3><p>Пароль оновлюється. Користувачу демонструється повідомлення «Збережено новий пароль». Після 5 секунд юзера автоматично повертає до розділу Профіль.</p><h3 id="actual-result">Actual Result:</h3><p>Продукт перестає реагувати, в циклі крутиться колесо. Після перезавантаження застосунку бачимо: нові дані не збереглися, доступ відбувається за старим паролем.</p><h3 id="additional-information">Additional Information:</h3><ul><li>Пристрій: Xiaomi 14T, Pixel 7 Pro, Samsung Galaxy A55.</li><li>Операційна система: від Android 13 і вище.</li><li>Візуальний доказ: Додано запис відео.</li><li>Журнали пристрою: помилки відсутні.</li><li>Коментар: перевірено також на версії для iPhone 15 з iOS 17 — все працює коректно.</li></ul><h2 id="%D0%BF%D0%BE%D0%B3%D0%B0%D0%BD%D0%B8%D0%B9-%D0%BF%D1%80%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4">Поганий приклад</h2><h3 id="summary-1">Summary:</h3><p>Не працює кошик!!!</p><h3 id="description-1">Description:</h3><p>Це якийсь треш. Я додаю товари в кошик, але все зависає, нічого не оновлюється. Швидко виправте цей збій застосунку, бо ми втрачаємо тисячі клієнтів!</p><h3 id="steps-to-reproduce-1">Steps to Reproduce:</h3><ol><li>Обрати товар.</li><li>Перейти в кошик.</li><li>Нічого не працює.</li></ol><h3 id="expected-result-1">Expected Result:</h3><p>Юзер купує товар.</p><h3 id="actual-result-1">Actual Result:</h3><p>Продукт не працює!</p><h3 id="additional-information-1">Additional Information:</h3><p>(відсутня).</p><p>Цей зразок — приклад того, як писати баг-репорт не треба. В ньому немає нічого, що дійсно має значення для процесу налагодження. Адже що таке звіт про помилку в програмному забезпеченні? Це корисна інформація в усіх деталях. А тут тема без конкретики. Опис сповнений емоційних висловів, але не об’єктивних фактів, як деталі середовища й багу. Відтворити дефект за вказаними у bug report кроками може бути дуже складно або неможливо. Очікуваний результат не про бізнес-логіку. А фактичний результат, візуальні докази та додаткова інформація відсутні. Тому треба справді відповідально заповнювати шаблон звіту про помилку — навіть якщо в центрі уваги буде лише якась незначна проблема інтерфейсу.</p><h2 id="%D0%BF%D0%BE%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D1%96-%D0%BF%D0%BE%D0%BC%D0%B8%D0%BB%D0%BA%D0%B8-%D0%BF%D1%80%D0%B8-%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%BD%D1%96-%D0%B1%D0%B0%D0%B3-%D1%80%D0%B5%D0%BF%D0%BE%D1%80%D1%82%D1%83">Поширені помилки при написанні баг-репорту</h2><ul><li><strong>Загальні теми</strong>. Початківці нерідко не вказують у саммері, що, де та за яких умов не працює. Це ускладнює сортування звітів у системі відстеження помилок.</li><li><strong>Спрощені кроки для відтворення</strong>. Часто новачкам здається: у використанні продукту все зрозуміло. Та розробники можуть не знати конкретного юзер-флоу.</li><li><strong>Емоції замість конкретики</strong>. Красиві слова — не для дієвого звіту про помилку. В описі та інших розділах все має бути сухо, з фактами та роз’ясненнями.</li><li><strong>Неочевидні умови</strong>. Інколи виникнення помилки спостерігається за особливих обставин — наприклад, коли користувач залогінений. На це треба акцентувати.</li><li><strong>Проблеми з фактичним і очікуваним результатами</strong>. Хтось вважає: це повтори. Тому не заповнює ці графи у bug report або виконує це формально.</li><li><strong>Без середовища</strong>. Часом помилки є лише на окремих пристроях чи операційних системах і браузерах. Без цих даних девелопер може й не побачити проблеми.</li><li><strong>Відсутність візуальних доказів</strong>. Додавання скриншотів, запису екрана, логів та інших артефактів дуже спрощує для розробників розуміння проблеми.</li><li><strong>Без додаткової перевірки</strong>. До надсилання баг-репорту слід переконатися, що ви нічого не забули (тут може допомогти чекліст), і перевірити саму помилку.</li></ul><h2 id="%D0%B7%D0%BD%D0%B0%D0%B9%D1%82%D0%B5-%D0%BC%D1%96%D1%80%D1%83-%D0%B2-%D0%B4%D0%B5%D1%82%D0%B0%D0%BB%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%97">Знайте міру в деталізації</h2><p>Бажання надати максимум інформації інколи грає поганий жарт із новачками — і вони витрачають час на другорядні деталі чи довгий збір візуальних доказів. Наприклад, перераховують і додають у bug report скриншоти про кожен крок для відтворення: відкрив браузер, прописав адресу, клацнув Enter для збереження у формі зворотного зв’язку. Або вказують зайві параметри середовища — типу Chrome 136.0.7103.114. Або додають великі файли журналів, де важко відшукати потрібну дрібницю.</p><p>Деталізація має бути виправданою. Не слід перетворювати якісний баг-репорт на покрокову хроніку дій. Не треба згадувати базові для будь-якого технічного фахівця моменти. Не варто занурюватися в параметри, які лише відволікають. Пам’ятайте: ви маєте надати ефективний звіт про помилку, аби допомогти командам розробників локалізувати та виправити дефект. Тож у вас має бути баланс між повнотою та стислістю. Тоді й відгук «користувачів» вашого документа буде виключно позитивний.</p><h2 id="%D1%8F%D0%BA-%D1%82%D0%B8%D0%BF-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%B2%D0%BF%D0%BB%D0%B8%D0%B2%D0%B0%D1%94-%D0%BD%D0%B0-%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%BD%D1%8F-%D0%B1%D0%B0%D0%B3-%D1%80%D0%B5%D0%BF%D0%BE%D1%80%D1%82%D1%83">Як тип тестування впливає на написання баг-репорту?</h2><p>Загальні структура та формат звіту про помилки є незмінними майже в будь-якому випадку. Тобто елементи та основні підходи до викладення інформації зберігаються, що б ви не перевіряли в цифровому продукті. Але залежно від виду тестів змінюються фокус та дані, які треба додавати в bug reports.</p><h3 id="%D1%84%D1%83%D0%BD%D0%BA%D1%86%D1%96%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%B5-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Функціональне тестування</h3><p>Базові перевірки, чи працює система відповідно до очікуваного результату. В цьому випадку уся увага на юзер-флоу і реакції продукту. Тому в баг-репортах зростає роль послідовності кроків для відтворення помилки. Важливим є посилання на вимоги або цитата з них. Наприклад, що має відбуватись після натискання кнопки. Плюсом буде указівка ролі юзера (незареєстрований, адмін тощо) та окремі залежності в процесах.</p><h3 id="%D0%BD%D0%B5%D1%84%D1%83%D0%BD%D0%BA%D1%86%D1%96%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%B5-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Нефункціональне тестування</h3><p>Ці тести перевіряють не те, що система робить, а як саме робить. Це може стосуватись продуктивності, безпеки, зручності. На перше місце виходять діагностична інформація та метрики: час відгуку і завантаження, ресурси, логи. Розробникам допоможуть і дані про інструменти. Наприклад, який у вас сканер безпеки чи які ваші дії у запуску JMeter. Ще варто у звіт про помилку додати тригер поламки — припустимо, кількість запитів.</p><h3 id="%D1%80%D0%B5%D0%B3%D1%80%D0%B5%D1%81%D1%96%D0%B9%D0%BD%D0%B5-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Регресійне тестування</h3><p>Перевірка працездатності після оновлень продукту — тобто чи не поламалось те, що раніше працювало. Треба не просто повідомити про помилку, а ще вказати зв’язки зі старими тестами й номери тест-кейсів. Слід навести і реліз, де така ж перевірка була успішна. Гарний тон у bug report — опис того, що змінилось у новій версії програмного забезпечення. Це допоможе розробникам у пошуках, з чим пов’язана нова помилка.</p><h3 id="%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%B1%D0%B5%D0%BA%D0%B5%D0%BD%D0%B4%D1%83">Тестування бекенду</h3><p>Таке тестування найбільше відрізняється від традиційного з інтерфейсом. Перевірки йдуть через запити до API. Тому замість «Натиснув таку-то кнопку» і «Не оновлюється сторінка входу» у bug report будуть фрази на кшталт «Використав такий-то метод», «Передав ці параметри» чи «Отримав HTTP-респонс». Також слід вказувати структуру запитів і відповідей (JSON або XML), статуси, надавати журнал помилок.</p><h3 id="%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B5-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Автоматизоване тестування</h3><p>Баг-репорти для тестів, які запускаються автоматично, в чомусь схожі на попередні — тут важлива технічна інформація. Головне — це логи автотесту, фрагмент коду чи скрипт, які впали, та стек трейс самого багу. Ще варто дати посилання на джобу CI/CD (Jenkins, GitLab Pipelines тощо). Але не можна плутати фейл в автотесті з помилкою в продукті! Якщо проблема в самому тесті, для цього заводиться окремий документ.</p><h2 id="%D0%B0-%D1%8F%D0%BA-%D0%B2%D0%BF%D0%BB%D0%B8%D0%B2%D0%B0%D1%94-%D0%BF%D1%80%D0%BE%D1%94%D0%BA%D1%82">А як впливає проєкт?</h2><p>Інколи новачки, які вже вивчили, як написати ефективний баг-репорт, починають на проєкті випадати з робочих процесів. А все тому, що в цій команді існує свій шаблон звіту про помилку. В ньому можуть бути інший порядок елементів, деякі з них об’єднані, а деякі відсутні чи замінені. Це — цілком нормальна ситуація. Адже у вас може бути той самий процес, але — з певними відмінностями.</p><h3 id="%D0%BE%D1%81%D0%BE%D0%B1%D0%BB%D0%B8%D0%B2%D0%BE%D1%81%D1%82%D1%96-%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D1%83">Особливості продукту</h3><p>Залежно від галузі та бізнес-процесів конкретного сервісу чи застосунку акценти в роботі QA-команди можуть змінюватися. Це позначається й на підготовці bug report. Наприклад, на сайті для замовлення доставки їжі основна увага йде на відстеження помилок в UI. А в медичному застосунку — на стандартах безпеки. При цьому у звіті можуть з’являтися поля, припустимо, для специфічних ідентифікаторів контрактів.</p><h3 id="%D1%96%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B8-%D0%B4%D0%BB%D1%8F-%D0%B7%D0%B2%D1%96%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%BF%D1%80%D0%BE-%D0%BF%D0%BE%D0%BC%D0%B8%D0%BB%D0%BA%D0%B8">Інструменти для звітування про помилки</h3><p>Всі популярні тулзи для написання дієвих баг-репортів мають власні формати, шаблони та навіть назви для розділів — наприклад, Title замість Summary. Також трекер помилок може мати інші поля. Припустимо, в Jira це Pre-Conditions чи RCA, Root Cause Analysis. В GitHub Issues звіт може виглядати взагалі як текст із чеклістом. А в деяких випадках тестувальники все це ще й прив’язують до User Stories та тест-кейсів.</p><h3 id="%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D1%96-%D0%B2%D0%B8%D0%BC%D0%BE%D0%B3%D0%B8">Формальні вимоги</h3><p>Замовники можуть мати свої побажання щодо формату звітів про помилки. Наприклад, інколи вимагають вказувати у баг-репорті посилання на конкретний розділ специфікації. Або, припустимо, додати у цикл зворотного зв’язку HAR-файл з мережевими логами і відповідною фоновою інформацією. Вимоги можуть стосуватися й іншого — на кшталт визначення і Severity, і Priority тестувальниками (пріоритети традиційно є задачею PM).</p><h3 id="%D1%82%D1%80%D0%B0%D0%B4%D0%B8%D1%86%D1%96%D1%97-%D0%B2-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%96">Традиції в команді</h3><p>Зазвичай на проєкті стандарт того, як писати bug report, задає хтось із менеджменту QA-команди — досвідчені техлід або тімлід. Це дозволяє добитися уніфікації, коли всі тестувальники дотримуються єдиного процесу звітування про помилки. Такий підхід економить час і нерви всієї команди. Адже спільні принципи дозволяють не гаяти зусилля на розуміння, що ж саме мав на увазі якийсь окремий QA-фахівець.</p><h2 id="%D1%8F%D0%BA-%D0%B4%D1%96%D1%8F%D1%82%D0%B8-%D0%BD%D0%BE%D0%B2%D0%B0%D1%87%D0%BA%D1%83-%D1%8F%D0%BA%D1%89%D0%BE-bug-report-%D0%BC%D0%B0%D1%94-%D1%96%D0%BD%D1%88%D0%B8%D0%B9-%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82">Як діяти новачку, якщо bug report має інший формат</h2><p>Адаптуватися. З одного боку, початківці повинні знати універсальні принципи якісного звіту про помилки. Це основа роботи. З іншого, вивчення нових підходів до того, що таке bug report, може бути дуже корисним. Так новачок побачить, як можна працювати з іншими форматом звітів, полями, стилем подачі детальної інформації, інструментом відстеження помилок. Такі знання розширять професійний кругозір та допоможуть стати інженером з якості, а не простим тестувальником.</p><p>Якщо стикаєтесь з незвичним стандартом баг-репорту, не треба пручатися й говорити, що вас навчали іншого. Краще вивчіть локальні вимоги та дотримуйтесь їх деякий час. Лише згодом, якщо вам все одно здається, що можна писати звіт про помилки кращим чином — обговоріть конкретні пропозиції із досвідченими тестувальниками. Можливо, ваші ідеї впровадять у життя. А можливо — вам обґрунтують, чому це не спрацює.</p><h2 id="%D1%8F%D0%BA-%D0%BF%D0%B5%D1%80%D0%B5%D0%BA%D0%BE%D0%BD%D0%B0%D1%82%D0%B8%D1%81%D1%8F-%D1%89%D0%BE-%D0%B2%D0%B0%D1%88-%D0%B1%D0%B0%D0%B3-%D1%80%D0%B5%D0%BF%D0%BE%D1%80%D1%82-%D0%B4%D1%96%D1%94%D0%B2%D0%B8%D0%B9">Як переконатися, що ваш баг-репорт дієвий</h2><p>Формати, шаблони, поля, особливості проєкту, види тестування, системи звітності про помилки чи звички команди — насправді це все деталі. Головне, пам’ятати: ваш bug report має бути зрозумілим. Тому після написання документа спитайте себе:</p><ul><li>Чи може розробник зрозуміти проблему з опису, не звертаючись до тестувальника?</li><li>Чи може будь-хто за цим описом помилки повторити шлях до багу?</li><li>Чи наявні в баг-репорті всі необхідні дані для локалізації знайденого дефекту?</li></ul><p>Якщо відповідь ствердна на всі питання, можете сміливо передавати звіт далі — значить, ваш документ дійсно вийшов змістовний та корисний.</p><p><em><em><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Відкрийте будь-який портал пошуку роботи, застарілу організаційну структуру чи профілі комунікаційників-початківців і побачите... їх. Хто ж такі SMM-ни(ки/ці) насправді? ]]></description>
        <link>https://proit.ua/who-are-smm-specialists-and-whom-you-really-need/</link>
        <guid isPermaLink="false">67f6e1510d30cc07699f2796</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Денис Булатов ]]></dc:creator>
        <pubDate>ср, 28 трав 2025 14:00:15 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/05/social-media-marketing-concept-marketing-with-applications--1-.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>Це не ви — це ринок. Чи то у прагненні простоти організаційних структур, чи то через узагальнений рекрутинг, чи то через те, що абревіатура SMM звучить (ново?)модно, українська комунікаційна ніша взяла за звичку називати все хоча б трохи дотичне до публічних цифрових платформ, тобто майже весь MarCom, SMM-ництвом. Однак через таке узагальнення тепер губляться всі — і працедавці, і самі спеціалісти.</em></p><p>До стрімко змінюваного світу українці, як і більшість неангломовних націй, адаптуються через запозичення термінів. І якщо використання одних залишається цілковито виправданим, то інші зовсім втрачають суть і стають багатозначними. Для динамічності мови, звісно, важливими є обидва способи, однак ми говоримо про світ маркетингу, а він точний, хоча і творчий.</p><h2 id="%D1%8F%D0%BA%D1%89%D0%BE-%D1%8F-%D0%B2%D0%B0%D0%BC-%D1%81%D0%BA%D0%B0%D0%B6%D1%83-%D1%89%D0%BE-smm-%D0%BD%D0%B5-%D1%96%D1%81%D0%BD%D1%83%D1%94">Якщо я вам скажу, що SMM не існує*?</h2><p><em>*принаймні у його традиційному Social Media Marketing-значенні, а це така широко вживана абревіатура!</em></p><p>З досвіду понад 8 років у публічних комунікаціях спостерігаю, як термін від дуже нішевого у значенні куратор соціальних мереж став загальним на рівні маркетолога як посади.</p><p>Чому? Бо так легше, бо всі так кажуть, бо не вдумалися (виберіть свій варіант), а ще бо самі спеціаліст(к)и обирають не навчати ринок, а прогнутися і підписують себе SMM-никами. Достатньо на порталі вакансій ввести цю святу абревіатуру, посадові описи більше схожі на швейцарські ножі.</p><h3 id="smm-%D0%BD%D0%B8%D0%BA%D1%96%D0%B2-%D0%B7%D0%B0-%D0%BF%D0%BE%D1%81%D0%B0%D0%B4%D0%BE%D1%8E-%D0%BC%D0%BE%D0%B6%D0%BD%D0%B0-%D0%B7%D1%83%D1%81%D1%82%D1%80%D1%96%D1%82%D0%B8-%D1%83">SMM-ників за посадою можна зустріти у:</h3><ul><li>веденні сторінок у соціальних мережах. Принаймні розумію;</li><li>креативному письмі та графічному дизайні. Якщо <a href="https://proit.ua/shi-shcho-prietienduie-na-oskar-niezaminni-ghollivudski-tiekhnologhiyi/">із залученням ШІ-інструментів</a>, як-от <a href="https://apple.com/apple-intelligence/">Apple Intelligence</a> і <a href="https://grammarly.com">Grammarly</a>, <a href="https://canva.com">Canva</a> й <a href="https://creators.instagram.com/blog/edits-video-creation-app">Edits</a>, то ще може бути;</li><li>відповідях у вхідній скриньці та коментарях. Чекайте, це вже клієнтська підтримка;</li><li>відеопродакшні. За винятком коли це User Generated Content, тобто і часто вдавано трушний вміст, відзнятий і поширений з особистого мобільного пристрою, але ж часто очікують роботи з технікою;</li><li>модеруванні трансляцій. Із аргументом «ну це ж просто [назва платформи] Live», а це вже івентне, зовсім інше.</li></ul><p>По факту, це різні фахові вміння. Безумовно, багато спеціаліст(ів/ок) їх поєднують, відштовхуючись від двох полярних питань: що потрібно компанії (ті, хто виріс разом із брендом, часто у стартапах або установах з обмеженим бюджетом і розвиненим продуктом/послугою замість бренду) і вмінь (що тягне пристрій, що є в досвіді, що цікаво).</p><p>Все й одразу вміти не вийде, звісно, якщо цікавить якість. У власному і професійному житті я досить принциповий і або заглиблююся в щось, або прямо кажу (собі зокрема) — я цього не вмію. Так мислить мало хто, однак навіть із таким підходом потрібно розуміти все, хоча б поверхнево. Це убезпечить від помилок і невиправданих очікувань.</p><p>Саме тому як будуючи власні команди, так і консультуючи бізнеси, я завжди ставлю запитання, щойно доходимо до комунікацій: то кого ви шукаєте?</p><h2 id="%D1%86%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D1%96-%D0%BA%D0%BE%D0%BC%D1%83%D0%BD%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%97-%D1%8F%D0%BA-%D1%86%D1%96%D0%BB%D1%96%D1%81%D0%BD%D0%B8%D0%B9-%D0%BD%D0%B0%D0%BF%D1%80%D1%8F%D0%BC">Цифрові комунікації як цілісний напрям</h2><p>Соцмережного маркетингу не існує, оскільки цифрові комунікації не обмежуються соцмережами (інструмент), а маркетинг (функція) не обмежується цифровим виміром.</p><p>Існує ширший, диджитал-маркетинг, адже за чверть ХXI століття цифровий вимір став повсюдним і незамінним, а ще дуже взаємоповʼязаним. Потужності мобільних пристроїв <a href="https://proit.ua/apple-at-work-reklama-serial-chi-showcase-maghiyi/">дають можливість робити все на льоту</a>, а просування лише в одному каналі комунікації, за винятком нішевих випадків, є неефективним.</p><p>Цифрові комунікації — це комплексне координування, а не просто розміщення публікацій. Це синхронна і послідовна бренд-комунікація у візуалах, тоні й форматах подання інформації.</p><h3 id="%D0%BD%D0%B0-%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%86%D1%96-%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%B8%D0%BC%D0%B8-%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D0%BC%D0%B8-%D0%BA%D1%80%D1%96%D0%BC-%D1%81%D0%BE%D1%86%D1%96%D0%B0%D0%BB%D1%8C%D0%BD%D0%B8%D1%85-%D0%BC%D0%B5%D1%80%D0%B5%D0%B6-%D0%B7%D0%B0%D0%B7%D0%B2%D0%B8%D1%87%D0%B0%D0%B9-%D1%94">На практиці основними платформами, крім соціальних мереж, зазвичай є:</h3><ul><li>вебсайти — окремі розділи, як-от блогу, новин, стрічок-бігунців;</li><li>Email Marketing — розсилки, дайджести й інші види листування;</li><li>месенджери — спільноти (групи), канали. Не Telegram єдиним!</li></ul><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/Fwk7bPOUHM4?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Introducing WhatsApp Channels"></iframe></figure><blockquote class="kg-blockquote-alt">З кінця 2023 року канали стали доступними на платформах Meta — Facebook (Messenger), Instagram і WhatsApp — із відповідним адаптованим і широким функціоналом.</blockquote><ul><li>медіаплатформи — YouTube та цілий край подкастів. Хоча якщо останні — це точно окрема категорія, то відеохостинги можна вважати частиною соціальних мереж.</li></ul><p>Соцмережі — це дуже розтяжне поняття. Для різних аудиторій, регіонів, користувачів і, відповідно, бренд-присутності вони можуть виконувати різні функції.</p><div class="kg-card kg-toggle-card" data-kg-toggle-state="close"><div class="kg-toggle-heading"><h4 class="kg-toggle-heading-text">Соцмережі як інструменти для різних бізнес-цілей</h4><button class="kg-toggle-card-icon"><svg id="Regular" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path class="cls-1" d="M23.25,7.311,12.53,18.03a.749.749,0,0,1-1.06,0L.75,7.311"/></svg></button></div><div class="kg-toggle-content"><p>Щоб не бути голослівним<em>, </em>наведу приклади з проєктів у власному портфоліо. Вистачить навіть двох соцмереж — Facebook та Instagram:</p><ul><li>новинне інформування та «хуки» для трафіку на сайт — <a href="https://facebook.com/proit.ua">ProIT</a>;</li><li>офіційна комунікація організації та її мемберів — <a href="https://facebook.com/itukraineassociation">Асоціація IT Ukraine</a>;</li><li>публічна звітність — <a href="https://facebook.com/nmun.kma">NMUN Club of Kyiv-Mohyla Academy</a>;</li><li>медіаприсутність — <a href="https://facebook.com/intellect.kyiv/">ліцей «Інтелект» міста Києва</a> (альбоми), <a href="https://instagram.com/pdmsh.ua/reels/">Перший добровольчий мобільний шпиталь</a> (Reels і Stories) і <a href="https://instagram.com/mr.sanders.ua/">Mr.Sanders</a> (змішаний формат);</li><li>анонси подій (<a href="https://facebook.com/ArtLoversUkraine/events">ArtLovers</a>) і кастингів (<a href="https://facebook.com/leodecasting">Leo de Casting</a>);</li><li>мудборди — <a href="https://instagram.com/arneleon/">World of Arneleon</a>.</li></ul><p>Можливим варіаціям і поєднанням немає меж. Подумайте лише, наскільки різниться вміст (тут уже наочні приклади) в:</p><ul><li>Facebook — між <a href="https://facebook.com/groups">групою</a> вашого будинку й <a href="https://www.facebook.com/marketplace/learn-more/">оголошеннями на Marketplace</a>;</li><li>Instagram — між сторінкою <a href="https://instagram.com/wednesdaynetflix/">серіалу</a> та мережі <a href="https://instagram.com/khlebniy/">кавʼярень</a>;</li><li>LinkedIn — на профілях <a href="https://linkedin.com/in/mariia-shevchuk/">виконавчої директорки</a> та <a href="https://linkedin.com/in/olena-mykal-8b147621/">бізнес-менторки</a>;</li><li>Х — в акаунтах <a href="https://x.com/kyivmetroalerts">транспорту</a> і <a href="https://x.com/lb_ua">ЗМІ</a>;</li><li>YouTube — між каналами <a href="https://youtube.com/@Apple">tech-компанії</a> та <a href="https://youtube.com/@dualipa/community">співачки-мільйонниці</a>.</li></ul></div></div><p>Соціальні мережі — це дуже широкий спектр на всіх рівнях — від особистих сторінок до каталогів міжнародних брендів.</p><p>Так само різниться і просування — від органічних шляхів до платного таргетування. Можна завіруситися в китайському TikTok, а можна вкласти забагато ресурсу в одну платформу і загубитися в Search Engine Optimisation (для видавання в Google, наприклад).</p><div class="kg-card kg-toggle-card" data-kg-toggle-state="close"><div class="kg-toggle-heading"><h4 class="kg-toggle-heading-text">То хто вам потрібен? Розбираємо основні ролі</h4><button class="kg-toggle-card-icon"><svg id="Regular" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path class="cls-1" d="M23.25,7.311,12.53,18.03a.749.749,0,0,1-1.06,0L.75,7.311"/></svg></button></div><div class="kg-toggle-content"><ul><li>Chief Marketing Officer/Marketing Director — перш за все це керівничо-адміністративна посада рівня кінцевих рішень.</li><li>Marketing Analyst/Strategist — оцінювання і звітність щодо показників ефективності маркетингу, зокрема комунікацій, адаптування підходу до виконання бізнес-стратегії компанії.</li><li>Digital Communications Head/Coordinator — операційна роль.</li><li>Public Relations Manager — прямі відносини з медіа, лідерами думок (не плутати з influence-маркетингом, про нього іншим разом).</li><li>Content Manager — організаційна роль, робота зі вмістом із єдиного джерела та/або ведення (наповнення готовим вмістом) платформ, що може бути звужене до Social Media/Web Manager.</li><li>(Copy)writer і (Graphic) Designer — автори текстів і візуалів у бренд-стилі та під ключ або ж обʼєднана роль у Content Creator (не плутати з User Generated Content, із яким працюють менеджери платформ і блогери вузького спрямування).</li><li>Video Producer/Editor. Медіапродакшн — це дещо інший вимір, але він має субнапрям соцмережного/вебвмісту.</li></ul></div></div><p>Координувати цифрові комунікації або якщо вужче соцмережі (тоді це називають Social Media Communications) можливо, залежно від стратегії та особливостей бренд-позиціювання, або навіть потрібно. Знову-таки це послідовність іміджу, меседжу, чіткість цілей і запитів.</p><p>Водночас виконавчі ролі, якщо це не проєкт на етапі зародження (і те краще закладати), варто розділяти. Краще взяти кількох людей, можливо, на часткове навантаження, і вибудувати ланцюжки роботи, ніж очікувати всього від однієї людини.</p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Фінтех — одна з найдинамічніших галузей у світі. Лише в Європі працює понад 9200 фінтех-компаній. На тлі стрімкого розвитку користувачі очікують від сервісів швидкості, зручності й безпеки. Конкуренція вимагає від компаній постійного оновлення продуктів і послуг. Водночас фінансова індустрія залишається сферою з високими вимогами до стабільності, надійності й масштабованості технологій.

У ]]></description>
        <link>https://proit.ua/iak-rozbudovuvati-it-arkhitiekturu-iz-mitsnim-fundamientom-go-to-market-kieis-novapay/</link>
        <guid isPermaLink="false">680fbebd4589d607216f6c05</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Григорій Лісничий ]]></dc:creator>
        <pubDate>ср, 30 квіт 2025 14:00:16 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/04/----------_2025-04-28_204755879.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Фінтех — одна з найдинамічніших галузей у світі. Лише в Європі працює понад <a href="https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://www.statista.com/statistics/893954/number-fintech-startups-by-region/%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1745865919506028%26amp;usg%3DAOvVaw3TZ_6QIK-v39_UvvEBZMkx&amp;sa=D&amp;source=docs&amp;ust=1745865919532394&amp;usg=AOvVaw2TbTSRG9mCYrFRFUz-x8h1">9200 фінтех-компаній</a>. На тлі стрімкого розвитку користувачі очікують від сервісів швидкості, зручності й безпеки. Конкуренція вимагає від компаній постійного оновлення продуктів і послуг. Водночас фінансова індустрія залишається сферою з високими вимогами до стабільності, надійності й масштабованості технологій.</p><p>У фінтеху не можна зупинятися: якщо продукт не змінюється — клієнти йдуть. Якщо щось працює повільно — вони йдуть ще швидше. Тут усе вирішує зручність, швидкість і постійний розвиток. Як же знайти баланс між швидкістю запуску нових продуктів (Go-To-Market) з точки зору ІТ, стійкістю системи та вимогами регуляцій?</p><h2 id="%D0%B2%D0%B8%D1%81%D0%BE%D0%BA%D0%BE%D0%BD%D0%B0%D0%B2%D0%B0%D0%BD%D1%82%D0%B0%D0%B6%D0%B5%D0%BD%D0%B0-%D1%84%D1%96%D0%BD%D0%B0%D0%BD%D1%81%D0%BE%D0%B2%D0%B0-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0-%D1%89%D0%BE-%D1%86%D0%B5-%D0%BE%D0%B7%D0%BD%D0%B0%D1%87%D0%B0%D1%94-%D0%B4%D0%BB%D1%8F-%D0%B0%D1%80%D1%85%D1%96%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B8">Високонавантажена фінансова система: що це означає для архітектури?</h2><p>NovaPay — один із лідерів небанківського фінансового ринку України, що забезпечує платежі, перекази, еквайринг, кредити й інші повсякденні фінансові послуги для мільйонів клієнтів. Щодня наша інфраструктура обробляє майже 3 мільйони транзакцій, що ставить нас на один рівень із найбільшими банками країни.</p><p>Ми працюємо в умовах, коли швидкість виходу нового функціоналу є критичною, тому постійно скорочуємо час від ідеї до запуску. Робимо це обережно: будуємо системи так, щоб усе працювало швидко, але головне — стабільно й безпечно. Тож знайшли підхід, який дає змогу запускати нові продукти без шкоди для продуктивності чи безпеки.</p><h2 id="%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%96-%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%D0%B8-%D1%96%D1%82-%D1%96%D0%BD%D1%84%D1%80%D0%B0%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B8-%D0%B2-novapay">Основні принципи ІТ-інфраструктури в NovaPay:</h2><ul><li><strong>Гібридна інфраструктура. </strong>Ми використовуємо як власні дата-центри, так і хмарні рішення Azure й Google Cloud. Такий підхід дає нам можливість заздалегідь продумувати, як масштабуватиметься система і як вона працюватиме під навантаженням. Наприклад, складні й ресурсомісткі частини ми тримаємо на фізичних серверах, бо їм важлива швидкість обробки транзакцій і надійне обладнання. Бізнес-логіку мобільного застосунку винесли у хмару, щоб гнучко розвивати її й оновлювати.</li><li><strong>Розділення функціоналу на мікросервіси.</strong> Кожен мікросервіс відповідає за свою частину роботи застосунку або платіжної системи. Завдяки цьому ми можемо легко масштабувати продукт під навантаження і створювати окремі команди, які повністю зосереджені на розвитку свого напряму. Це про ефективність.</li><li><strong>DevOps культура в розробленні та продуктових командах.</strong> Ми беремо фокус на автоматизацію рутинних дій. Це допомагає швидше передавати результати роботи від розробника до людини, яка перевіряє і приймає продукт.</li><li><strong>Фокус на продуктивності. </strong>Коли ми проєктуємо технічну архітектуру, в першу чергу думаємо про швидкість і продуктивність. Від цього й залежить вибір рішень. Наприклад, для аналітики використовуємо NoSQL бази даних — вони працюють швидше з великими обсягами даних. Складні, ресурсомісткі операції, як-от створення квитанцій і їх фіскалізація у податковій, ми винесли в окремі модулі й розмістили в хмарі, щоб не навантажувати основну систему.</li></ul><h2 id="%D1%8F%D0%BA-%D0%BC%D0%B8-%D1%88%D0%B2%D0%B8%D0%B4%D0%BA%D0%BE-%D0%B2%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B4%D0%B6%D1%83%D1%94%D0%BC%D0%BE-%D0%BD%D0%BE%D0%B2%D1%96-%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D0%B8">Як ми швидко впроваджуємо нові продукти</h2><p>Швидкість виходу нового продукту залежить не лише від технологій, а й від взаємодії команд. У NovaPay ми дотримуємося принципів, які дають можливість мінімізувати Go-To-Market, зберігаючи високу якість сервісів:</p><ul><li><strong>Гнучкі кросфункціональні команди.</strong> Ми формуємо кросфункціональні команди по кожному з продуктів. Розробники, аналітики, продукт-менеджери, тестувальники та спеціалісти з безпеки — всі вони працюють спільно над кожним релізом. Це усуває бар’єри між підрозділами та дає можливість всій команді сфокусуватися над продуктом і максимально розуміти його логіку.</li><li><strong>Експерименти й A/B-тестування.</strong> Новий функціонал проходить багаторівневе тестування: починаючи з sandbox-середовища і предпродуктивного, далі — закритий запуск для контрольної групи користувачів. Такий підхід дає змогу виявити можливі проблеми на ранніх етапах і вийти на ринок із відшліфованим функціоналом.</li><li><strong>Розвиток за принципом API-first.</strong> Коли ми створюємо нові сервіси, то спочатку визначаємо, як вони будуть взаємодіяти між собою. Це допомагає їх швидко запускати, масштабувати та легко підлаштовувати під нові задачі бізнесу. Як один із прикладів такої взаємодії — дані про оплату посилок у відділеннях Нової пошти можна вже відразу використовувати для розрахунку кредитного ліміту.</li><li><strong>Модульність архітектури.</strong> Завдяки мікросервісному підходу ми можемо швидко оновлювати окремі компоненти системи без ризику для всієї інфраструктури. Це особливо важливо у фінтесі, де стабільність і безпека не менш критичні, ніж швидкість виходу нового продукту.</li></ul><h2 id="%D0%BA%D0%BE%D0%BC%D0%BF%D0%BB%D0%B0%D1%94%D0%BD%D1%81-%D1%96-%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D0%BA%D0%B0-%D1%8F%D0%BA-%D0%BC%D0%B8-%D0%B7%D0%B0%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%87%D1%83%D1%94%D0%BC%D0%BE-%D0%B4%D0%BE%D0%B2%D1%96%D1%80%D1%83-%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D1%83%D0%B2%D0%B0%D1%87%D1%96%D0%B2">Комплаєнс і безпека: як ми забезпечуємо довіру користувачів</h2><p>Запуск фінансових продуктів потребує не лише швидкості, а й дотримання жорстких стандартів безпеки. В умовах зростання кіберзагроз і посилення регулювання ми використовуємо такі підходи:</p><ul><li><strong>Автоматизований контроль транзакцій. </strong>Ми автоматично відстежуємо підозрілі операції в режимі реального часу — за допомогою математичних моделей і ручного моніторингу. Це допомагає швидко реагувати на ризики, запобігати шахрайству та виконувати вимоги у боротьбі з відмиванням коштів (AML).</li><li><strong>Шифрування та багаторівневий захист. </strong>Усі дані користувачів зберігаються тільки у шифрованому вигляді, а доступ до всіх інформаційних систем реалізований через багатофакторну автентифікацію.</li><li><strong>Дотримання міжнародних стандартів. </strong>NovaPay відповідає вимогам PCI DSS, а плануючи вихід на європейський ринок, орієнтуємося на розбудову інфраструктури з урахуванням норм GDPR. Це гарантує безпечне зберігання, обробку та передавання платіжних даних.</li><li><strong>Безпека передусім. </strong>Перед кожним релізом раз на два тижні ми автоматично перевіряємо код застосунку і платіжної системи на вразливості. Крім того, постійно проводимо penetration-тестування всіх систем. Окрім стандартів PCI DSS та ISO, ми розширили цю практику: всередині команди є red-team, яка проводить пентести застосунку і всіх інформаційних систем, імітуючи дії хакерів. Це дає можливість оперативно виявляти та виправляти вразливості, якщо вони з’являються.</li></ul><p>NovaPay — це приклад того, як фінтех-компанія може одночасно залишатися гнучкою у впровадженні нових технологій і зберігати високу надійність фінансової інфраструктури. Баланс між Time to Market та архітектурною стабільністю — це постійна робота, яка дає нам змогу масштабуватися, зберігати довіру клієнтів і розвивати фінансові сервіси для мільйонів українців.</p><p><em><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></em></p><p><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Якщо спробувати назвати одним словом те, що відчувають українці зараз, це буде втома. Згідно з даними Gradus Research, 87% українців визнають, що перебувають у стані стресу. Суспільство залишається напруженим через війну, але водночас продовжує рухатись із надією. І цей загальний стан неможливо відокремити від того, як ми функціонуємо на роботі, ]]></description>
        <link>https://proit.ua/kultura-fidbieku-u-korporatsiyi-iak-pochuti-kozhnogho/</link>
        <guid isPermaLink="false">67feab554589d607216f5e01</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Олена Лебедєва ]]></dc:creator>
        <pubDate>ср, 16 квіт 2025 14:00:39 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/04/collage-customer-experience-conc.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Якщо спробувати назвати одним словом те, що відчувають українці зараз, це буде втома. Згідно з <a href="https://eba.com.ua/wp-content/uploads/2025/03/Darya-Nagayeva.pdf">даними</a> Gradus Research, 87% українців визнають, що перебувають у стані стресу. Суспільство залишається напруженим через війну, але водночас продовжує рухатись із надією. І цей загальний стан неможливо відокремити від того, як ми функціонуємо на роботі, будуємо комунікацію і взаємодіємо в командах.</p><p>Коли ми працюємо з фідбеком, важливо пам’ятати: не всі коментарі є системними. Часто вони емоційні, ситуативні, зумовлені контекстом — як особистим, так і суспільним. Проте в цьому шумі ми шукаємо сигнали, які повторюються. Саме вони вказують на тренди, з якими треба працювати глибше. Тому наше завдання — бачити за окремим коментарем ширшу картину, розпізнавати закономірності й реагувати на них свідомо.</p><p>Це критично важливо ще й тому, що відсутність залучення працівників коштує компаніям дорого. За <a href="https://www.mckinsey.com/quarterly/the-five-fifty/five-fifty-engage-your-workforce">підрахунками</a> McKinsey, низьке залучення в роботу серед працівників щороку призводить до $90 мільйонів втрат. Тож на досвіді у SoftServe поділюся, як працювати з фідбеком, мотивувати фахівців залишати його і створювати зміни.</p><h2 id="%D1%87%D0%BE%D0%BC%D1%83-%D0%B2%D0%B0%D1%80%D1%82%D0%BE-%D0%B7%D0%B1%D0%B8%D1%80%D0%B0%D1%82%D0%B8-%D1%84%D1%96%D0%B4%D0%B1%D0%B5%D0%BA">Чому варто збирати фідбек?</h2><p>Щасливі клієнти — це результат щасливих працівників. Тому ми уважно вивчаємо їхній досвід і шукаємо точки росту. Зворотний зв’язок — це не форма для галочки, це серйозний робочий інструмент. Через нього ми отримуємо розуміння, які теми актуальні, що турбує команди, які зміни справді працюють, а де ще є простір для вдосконалення.</p><p>Наш основний інструмент збору фідбеку — це платформа Peakon. Через неї щокварталу протягом двох тижнів проводиться анонімне опитування.</p><p>Середній рівень участі стабільно тримається на рівні 75%, це приблизно 6000 працівників. Люди оцінюють різні аспекти роботи (довіра, залученість, менеджмент, рівень стресу тощо) і можуть залишити довільні коментарі від себе про те, що їх турбує чи просто хочеться сказати.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/04/Peakon.png" class="kg-image" alt loading="lazy" width="2000" height="1271"></figure><p>Саме коментарі — це найцінніше. Ми аналізуємо їх як у загальному масштабі (по компанії), так і локально — на рівні проєктів, локацій, функцій. Для менеджерів у нас є доступ до дашбордів із даними саме їхньої команди. Вони бачать, які теми зростають або просідають, читають коментарі. У цьому процесі ми маємо принцип: фідбек має обробляти той, хто реально може вплинути або дати коректну відповідь.</p><p>Важливо, що анонімність повністю збережена: менеджер не бачить, хто написав, тому може неупереджено сформулювати відповідь. Також за потреби керівник може ініціювати зустріч. Тоді працівник вирішує, як реагувати на запрошення, враховуючи чи готовий він/вона відкритися і поспілкуватися.</p><h2 id="%D1%89%D0%BE-%D1%80%D0%BE%D0%B1%D0%B8%D1%82%D0%B8-%D0%B7-%D0%BE%D1%82%D1%80%D0%B8%D0%BC%D0%B0%D0%BD%D0%B8%D0%BC%D0%B8-%D1%96%D0%BD%D1%81%D0%B0%D0%B9%D1%82%D0%B0%D0%BC%D0%B8">Що робити з отриманими інсайтами?</h2><p>Фідбек має сенс лише тоді, коли з ним щось роблять. У SoftServe ми свідомо будуємо процес прозоро. Наприклад, якщо хтось написав «дякую, все класно» — супер. Але якщо хтось поділився проблемою, важливо також не боятися негативу. Це не критика, це можливість для вдосконалення.</p><p>Водночас важливо розуміти, що не всі коментарі свідчать про системну проблему. Частина — емоційні, ще частина — ситуативні. Але якщо одна тема повторюється кілька опитувань підряд, якщо вона звучить у різних локаціях, це вже тренд, із яким треба працювати глибше. Наприклад, у 2024 році серед таких хронічних тем були ментальне здоров’я, бронювання, а також компенсація. Ми не ігнорували жодну з них.</p><p>Що допомагає людям бути активними? Відвертість і дії. Результати опитувань ми комунікуємо на всіх працівників всієї локації — країни, де ми присутні. Ми пояснюємо: ваша думка — це не в порожнечу. Це про майбутнє команди, процесів, рішень.</p><h2 id="%D1%8F%D0%BA-%D0%BA%D0%BE%D0%BC%D1%83%D0%BD%D1%96%D0%BA%D1%83%D0%B2%D0%B0%D1%82%D0%B8">Як комунікувати?</h2><p>Кожен Peakon ми підсумовуємо кількома способами: на Town Hall, щоквартальній зустрічі у форматі прямого ефіру. Так обговорюють питання стану бізнесу, внутрішніх змін, але мінімум третину виділяють на результати Peakon.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/04/Town-Hall.jpg" class="kg-image" alt loading="lazy" width="2000" height="1333"><figcaption>Прямий ефір під час Town Hall</figcaption></figure><p>Другий спосіб — це формат нотатки, який запрацював у 2024 році й швидко показав свою ефективність. Через неї ми підсумовуємо зміни у фідбеку за останній квартал і відповідаємо на актуальні запитання. Більш того, перегляди нотатки перевищили кількість співробітників в Україні. Це означає, що фахівці поверталися до тексту, перечитували його кілька разів.</p><p>У нотатці ми виділяємо основні показники, драйвери й топтеми кварталу. Також комунікуємо нашу позицію щодо кожної з них та кажемо, як плануємо діяти. Ми чуємо фідбек, пояснюємо ситуацію і створюємо зміни. Так, оскільки одними з важливих для фахівців тем протягом 2024 року було ментальне здоров’я і бенефіти, то ми взяли це до уваги.</p><p>На початку 2025 року вирішили додати два додаткові дні відпустки на рік для відновлення сил — Self-Care Days. Завдяки зворотному зв’язку з березня також запрацювали оновлені умови для відшкодування відвідувань спортзалів.</p><p>І, наприклад, у київському офісі облаштували кілька нових просторів — кімнату для сну, що особливо актуально в умовах частих тривог. Зробили й нові зони для працівників із дітьми: кімнату для годування, переповивання та ігрову зону.</p><h2 id="%D0%B2%D0%B8%D1%81%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8">Висновки</h2><p>Фідбек — це не завжди приємно, але ігнорування фідбеку набагато небезпечніше. Якщо людина поділилася думкою і не почула нічого у відповідь, наступного разу вона просто мовчатиме, а мовчання — це шлях до втрати довіри, залученості й у результаті — цінних людей.</p><p>Тому важливо реагувати. Навіть якщо не маємо швидкої відповіді, ми принаймні визнаємо запит і пояснюємо ситуацію. Це не про досконалість, а про повагу, бо коли всередині є простір для чесності — з’являється простір для змін.</p><p><strong>Олена Лебедєва, People Lead Ukraine, SoftServe</strong></p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ У мережі часто зустрічаються дописи про розчарування компаній після впровадження автоматизаційних рішень (ERP, CRM, HRM тощо). Витрачається багато ресурсів — кошти, час, людські зусилля, але очікуваний ефект не досягається. Чому так відбувається?


Автоматизація — не чарівна паличка

Річ у тім, що сучасні технології, якими б потужними вони не були, не можуть миттєво ]]></description>
        <link>https://proit.ua/avtomatizatsiia-biznies-protsiesiv-iak-uniknuti-rozcharuvannia-ta-otrimati-maksimalnu-korist/</link>
        <guid isPermaLink="false">67ee9b8a6c4e7e07773646d5</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Інна Соловйова ]]></dc:creator>
        <pubDate>пт, 04 квіт 2025 14:00:24 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/04/IMG_0045--1-.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>У мережі часто зустрічаються дописи про розчарування компаній після впровадження автоматизаційних рішень (ERP, CRM, HRM тощо). Витрачається багато ресурсів — кошти, час, людські зусилля, але очікуваний ефект не досягається. Чому так відбувається?</p><h2 id="%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D1%96%D1%8F-%E2%80%94-%D0%BD%D0%B5-%D1%87%D0%B0%D1%80%D1%96%D0%B2%D0%BD%D0%B0-%D0%BF%D0%B0%D0%BB%D0%B8%D1%87%D0%BA%D0%B0">Автоматизація — не чарівна паличка</h2><p>Річ у тім, що сучасні технології, якими б потужними вони не були, не можуть миттєво розв’язати всі проблеми компанії. Автоматизація має бути заснована на розумінні суті процесів, які вона покликана покращити. Саме процеси визначають ефективність роботи компанії, а автоматизація — це лише інструмент для їхньої оптимізації.</p><h2 id="%D0%BD%D0%B0%D1%81%D0%BA%D1%80%D1%96%D0%B7%D0%BD%D1%96-%D0%B1%D1%96%D0%B7%D0%BD%D0%B5%D1%81-%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%B8-%E2%80%94-%D0%BA%D0%BB%D1%8E%D1%87-%D0%B4%D0%BE-%D1%83%D1%81%D0%BF%D1%96%D1%85%D1%83">Наскрізні бізнес-процеси — ключ до успіху</h2><p>Процес, який створює цінність для клієнта, зазвичай складається з багатьох взаємопов’язаних дій і зачіпає різні аспекти внутрішньої діяльності компанії. Наприклад, обробка замовлення починається у відділі продажів, продовжується на виробництві й завершується доставленням клієнту.</p><p>Саме такі наскрізні процеси є найкращими кандидатами для автоматизації, навіть якщо не всі їхні етапи можна автоматизувати повністю. Головне — забезпечити ефективне управління всіма частинами процесу.</p><h2 id="%D1%87%D0%BE%D0%BC%D1%83-%D0%B2%D0%B0%D0%B6%D0%BB%D0%B8%D0%B2%D0%BE-%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D1%82%D0%B8-%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%B0%D0%BC%D0%B8">Чому важливо управляти процесами?</h2><p>Грамотне управління бізнес-процесами дає можливість:</p><ul><li>Прискорити досягнення цілей (дохід компанії в тому числі).</li><li>Забезпечити прозорість: хто, де, коли та як виконує завдання.</li><li>Підвищити ефективність і знизити ризики.</li></ul><h2 id="%D1%87%D0%BE%D0%BC%D1%83-%D0%BC%D0%B8-%D1%80%D0%B5%D0%BA%D0%BE%D0%BC%D0%B5%D0%BD%D0%B4%D1%83%D1%94%D0%BC%D0%BE-%D1%81%D0%B0%D0%BC%D0%B5-business-process-management-bpm">Чому ми рекомендуємо саме Business Process Management (BPM)?</h2><p>Тому що ця методологія дає можливість швидко адаптуватися до змін; виявляти й усувати вузькі місця; контролювати відповідність регуляторним вимогам і нормам; автоматизувати рутинні процеси, підвищуючи мотивацію співробітників, і покращити клієнтоорієнтованість.</p><h2 id="%D1%82%D0%BE-%D0%B7-%D1%87%D0%BE%D0%B3%D0%BE-%D0%B6-%D0%B2%D0%B0%D1%80%D1%82%D0%BE-%D0%BF%D0%BE%D1%87%D0%B8%D0%BD%D0%B0%D1%82%D0%B8">То з чого ж варто починати?</h2><p>Щоб ефективно керувати бізнес-процесами, їх необхідно спершу ідентифікувати; описати та каталогізувати (наприклад, за допомогою IDEF0, BPMN, EPC); провести аналіз для подальшої оптимізації та автоматизації.</p><p>Маючи вже описані процеси нашої компанії, ми можемо перейти до їхньої автоматизації.</p><h2 id="%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D1%96%D1%8F-%D1%89%D0%BE-%D1%86%D0%B5-%D1%96-%D1%8F%D0%BA-%D1%97%D1%97-%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE-%D0%B2%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B4%D0%B6%D1%83%D0%B2%D0%B0%D1%82%D0%B8">Автоматизація: що це і як її правильно впроваджувати?</h2><p>Автоматизація — це виконання завдань за допомогою технологічних систем із мінімальним втручанням людини або взагалі без людей. Вона дає можливість:</p><ul><li>прискорити виконання процесів;</li><li>мінімізувати помилки;</li><li>отримати повний контроль над виконанням процесів у режимі реального часу.</li></ul><p>Автоматизація може охоплювати роботу окремих співробітників, департаментів або ж усю компанію. Важливо розуміти, що автоматизація ERP, CRM, HRM систем — це лише частина загального процесу, і вона не завжди розв’язує всі проблеми.</p><h2 id="%D1%8F%D0%BA-%D1%83%D0%BD%D0%B8%D0%BA%D0%BD%D1%83%D1%82%D0%B8-%D0%BF%D0%BE%D0%BC%D0%B8%D0%BB%D0%BE%D0%BA-%D0%BF%D1%80%D0%B8-%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D1%96%D1%97">Як уникнути помилок при автоматизації?</h2><p>Щоб автоматизація була ефективною, важливо проаналізувати всі процеси та визначити ключові для бізнесу; пріоритезувати процеси для автоматизації; обрати інструменти (наприклад, Camunda для складних бізнес-процесів); співпрацювати з експертами для впровадження.</p><h2 id="%D0%BF%D1%96%D0%B4%D1%85%D1%96%D0%B4-camunda-%D0%BE%D1%80%D0%BA%D0%B5%D1%81%D1%82%D1%80%D0%B0%D1%86%D1%96%D1%8F-%D1%82%D0%B0-%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D1%96%D1%8F">Підхід Camunda: оркестрація та автоматизація</h2><p>Підхід Camunda базується на поєднанні автоматизації окремих завдань та оркестрації всього процесу, що дозволяє забезпечити управління на рівні всієї компанії.</p><h3 id="%D1%94-%D1%82%D0%B0%D0%BA%D1%96-%D0%BF%D1%96%D0%B4%D1%85%D0%BE%D0%B4%D0%B8-%D0%B4%D0%BE-%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D1%96%D1%97">Є такі підходи до автоматизації:</h3><ul><li>Почати з автоматизації окремих завдань, поступово додаючи оркестрацію.</li><li>Відразу автоматизувати наскрізний процес, оркеструючи всі пов’язані завдання.</li></ul><p>Незалежно від обраного підходу, головне — забезпечити баланс між автоматизацією завдань та управлінням процесами.</p><p>Отже, автоматизація — це не просто про впровадження технологій, а про грамотне управління бізнес-процесами. Якщо підходити до цього питання комплексно, автоматизація стане не джерелом розчарування, а ключовим фактором підвищення ефективності й конкурентоспроможності вашого бізнесу.</p><h2 id="%D1%87%D0%BE%D0%BC%D1%83-%D0%B2%D0%B0%D1%80%D1%82%D0%BE-%D0%BE%D0%B1%D1%80%D0%B0%D1%82%D0%B8-integrity-vision">Чому варто обрати Integrity Vision?</h2><p>Integrity Vision — це команда професіоналів із багаторічним досвідом у сфері автоматизації бізнес-процесів. Ми не просто впроваджуємо технології, а допомагаємо нашим клієнтам оптимізувати процеси, щоб вони працювали ефективніше.</p><p>Використовуючи передові рішення, такі як Camunda, ми створюємо надійні, масштабовані та безпечні системи, які відповідають потребам бізнесу. Обираючи Integrity Vision, ви отримуєте не лише інноваційні технології, а й стратегічного партнера для вашого успіху.</p><p><em><em><em><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></em></em></em></p><p><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Давайте на хвилинку замислимося над процесом навчання водінню. Кожен із нас може навчитися базовим принципи керування автомобілем, побачивши лише кілька демонстрацій. Як тільки ми освоюємо такі концепти, як кермування, прискорення та гальмування, ми можемо застосовувати ці навички до будь-якого автомобіля — від компактного седана до великої вантажівки. Завдяки цим навичкам ми ]]></description>
        <link>https://proit.ua/virishiennia-probliemi-arc-agi-aghientami-shi/</link>
        <guid isPermaLink="false">67ec04ce4589d607216f56d2</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Олександр Книга ]]></dc:creator>
        <pubDate>ср, 02 квіт 2025 14:00:42 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/04/futuristic-robot-artificial-intelligence-concept.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Давайте на хвилинку замислимося над процесом навчання водінню. Кожен із нас може навчитися базовим принципи керування автомобілем, побачивши лише кілька демонстрацій. Як тільки ми освоюємо такі концепти, як кермування, прискорення та гальмування, ми можемо застосовувати ці навички до будь-якого автомобіля — від компактного седана до великої вантажівки. Завдяки цим навичкам ми також можемо швидко адаптуватися до різних дорожніх умов, погоди та транспортних ситуацій, навіть якщо раніше ми з ними не стикалися.</p><p>Сучасному ШІ знадобляться тисячі годин тренувальних даних для кожного конкретного автомобіля та умов. Натомість загальний штучний інтелект (AGI) зможе зрозуміти фундаментальні принципи водіння і застосовувати їх у широкому спектрі ситуацій.</p><p>AGI ставить за мету створення систем ШІ, які здатні справді узагальнювати знання та навички — засвоювати основні принципи, які можна застосовувати в абсолютно нових ситуаціях. Наприклад, керування автомобілем, гра в шахи, го чи Minecraft. Це помітно відрізняється від сьогоденних систем ШІ, включаючи великі мовні моделі (LLM), які здебільшого працюють через складне розпізнавання шаблонів у величезних тренувальних наборах даних.</p><p>Хоча сучасні великі мовні моделі (LLM) можуть вести, на перший погляд, інтелектуальні розмови та розв’язувати складні завдання, вони по суті працюють шляхом розпізнавання та комбінування шаблонів, які зустрічалися їм під час навчального процесу. Це швидше нагадує надзвичайно поглиблене запам’ятовування і статистичну кореляцію, ніж справжнє розуміння та узагальнення, оскільки таким чином вони не створюють справжніх причинно-наслідкових моделей чи абстрактних уявлень про світ. Коли здається, що вони здатні до узагальнення, насправді вони зазвичай просто знаходять тонкі статистичні закономірності у своїх тренувальних даних, а не розуміють глибші принципи.</p><h2 id="%D1%87%D0%BE%D0%BC%D1%83-arc-abstraction-and-reasoning-corpus-%D1%94-%D0%B2%D0%B0%D0%B6%D0%BB%D0%B8%D0%B2%D0%B8%D0%BC">Чому ARC (Abstraction and Reasoning Corpus) є важливим?</h2><p>ARC вирішує критичну проблему вимірювання в дослідженнях ШІ — як ми можемо перевірити, чи здатна система ШІ до узагальнення?</p><p>Традиційні бенчмарки зазвичай вимірюють продуктивність виконання конкретних завдань із використанням великих тренувальних наборів даних, але високі результати в таких тестах не обов’язково свідчать про справжню здатність до узагальнення. ШІ може демонструвати гарні результати, просто запам’ятовуючи шаблони з тренувальних даних, а не розвиваючи справжнє розуміння.</p><blockquote>Як пише Ф. Шолле: <em>«Наскільки нам відомо, ARC неможливо виконати будь-якою наявною технікою машинного навчання, включно з deep learning».</em></blockquote><h3 id="%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%96-%D1%82%D1%80%D1%83%D0%B4%D0%BD%D0%BE%D1%89%D1%96-%D1%82%D0%B0%D0%BA%D1%96">Основні труднощі такі:</h3><ul><li>Очікуваний результат — це не мітка чи набір міток, а кольорова сітка розміром до 30×30 клітинок із використанням до 10 різних кольорів. Таким чином, це завдання належить до області структурованого прогнозування.</li><li>Прогнозований результат має повністю відповідати очікуваному. Якщо хоча б одна клітинка не збігається, завдання вважається проваленим. Через це на кожну вхідну сітку (input grid) дається три спроби.</li><li>У кожному завданні зазвичай є від двох до чотирьох навчальних прикладів (вхідна сітка (input grid) + вихідна сітка (output grid) і один або два тестові приклади, для яких потрібно зробити прогноз.</li><li>Кожне завдання ґрунтується на унікальному перетворенні вхідної сітки у вихідну. Зокрема, неможливо виконати жодне з тестових завдань шляхом повторного використання перетворення, вивченого на навчальних завданнях. Насправді кожне завдання є окремою проблемою навчання, а ARC оцінює саме здатність до широкого узагальнення та навчання на кількох прикладах (few-shot learning).</li></ul><p>ARC пропонує більш суворий тест на узагальнення, подаючи кожну задачу лише з 3–5 прикладами (тільки few-shot). Такий мінімальний обсяг тренувальних даних означає, що ШІ не може покладатися на масштабне зіставлення шаблонів (pattern matching). Він має виділяти основні принципи та застосовувати їх у нових ситуаціях, як це роблять люди. Задачі також навмисно розроблені так, щоб уникнути спрощених рішень або стратегій запам’ятовування.</p><p>ARC особливо цінний тим, що дає можливість кількісно оцінити здатність до узагальнення. Замість дискусій про те, чи ШІ розуміє у філософському сенсі цього слова, можна виміряти його реальні результати з допомогою цих ретельно розроблених завданнях на мислення. Це надає дослідникам чіткий показник прогресу загального штучного інтелекту.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/04/image_2025-04-01_18-52-26--1-.jpg" class="kg-image" alt loading="lazy" width="1300" height="1681"></figure><p>Якщо ви хочете дізнатися більше про бенчмарк ARC і його роль у розвитку ШІ, ось відео, з якого варто почати:</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/2W5D6J8om0c?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="ARC Benchmark Origins"></iframe></figure><h2 id="%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B8-%D0%B2%D0%B8%D1%80%D1%96%D1%88%D0%B5%D0%BD%D0%BD%D1%8F-arc">Методи вирішення ARC</h2><h3 id="1-brute-force">1. Brute force</h3><p>У 2020 році змагання Kaggle продемонструвало один із перших методів розв’язання ARC — повний перебір у просторі попередньо визначених перетворень. Переможці створили предметно-орієнтовану мову програмування (DSL), яка охоплювала 142 операції з сітками, розроблені вручну. Систематичний пошук комбінацій цих операцій забезпечив точність у 20% на закритих тестових завданнях. Інше подібне рішення, яке використовувало граматичну еволюцію (grammatical evolution) для пошуку перетворень, досягло точності 3–7,68%.</p><p>Попри початковий успіх, ці методи підкреслили ключове обмеження: вони спиралися на вичерпний пошук запрограмованих правил, а не на формуванні справжнього розуміння чи здатності до узагальнення. Саме ця прогалина між програмним пошуком і справжнім інтелектом демонструє, чому ARC залишається складним стандартом вимірювання здатності до узагальнення.</p><h3 id="2-%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF-%D0%BC%D1%96%D0%BD%D1%96%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%97-%D0%B4%D0%BE%D0%B2%D0%B6%D0%B8%D0%BD%D0%B8-%D0%BE%D0%BF%D0%B8%D1%81%D1%83-mdl">2. Принцип мінімальної довжини опису (MDL)</h3><p>Поточний підхід <a href="https://github.com/sebferre/ARC-MDL/tree/master">ґрунтується</a> на фундаментальному принципі, який використовується для виявлення шаблонів і створення моделей, що найбільш стисло та ефективно пояснюють дані. Основна ідея MDL полягає в тому, що найкраща модель для будь-яких даних — це та, яка дає можливість максимально їх стиснути.</p><p>Цей метод використовує спеціалізовану мову моделювання для ефективного опису шаблонів сіток. Ця мова забезпечує структурований спосіб подавання як вхідних, так і вихідних сіток у вигляді комбінацій базових елементів.</p><h3 id="%D0%BD%D0%B0-%D0%BD%D0%B0%D0%B9%D0%B2%D0%B8%D1%89%D0%BE%D0%BC%D1%83-%D1%80%D1%96%D0%B2%D0%BD%D1%96-%D0%BA%D0%BE%D0%B6%D0%BD%D0%B0-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B0-%D0%BF%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B0-%D1%83-%D0%B2%D0%B8%D0%B3%D0%BB%D1%8F%D0%B4%D1%96-%D0%BF%D0%B0%D1%80%D0%B8-%D1%82%D0%B0-%D0%BC%D1%96%D1%81%D1%82%D0%B8%D1%82%D1%8C-%D0%B4%D0%B2%D1%96-%D1%81%D1%96%D1%82%D0%BA%D0%B8">На найвищому рівні кожна задача представлена у вигляді пари та містить дві сітки:</h3><ul><li>Вхідна сітка (in).</li><li>Вихідна сітка (out).</li></ul><h3 id="%D0%BA%D0%BE%D0%B6%D0%BD%D0%B0-%D1%81%D1%96%D1%82%D0%BA%D0%B0-%D0%B2%D0%B8%D0%B7%D0%BD%D0%B0%D1%87%D0%B0%D1%94%D1%82%D1%8C%D1%81%D1%8F-%D1%82%D1%80%D1%8C%D0%BE%D0%BC%D0%B0-%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8">Кожна сітка визначається трьома компонентами:</h3><ol><li>Вектором розміру (визначає висоту та ширину).</li><li>Фоновим кольором.</li><li>Списком шарів, що містять об’єкти.</li></ol><h3 id="%D0%BE%D0%B1%D1%94%D0%BA%D1%82%D0%B8-%D1%94-%D1%80%D0%BE%D0%B7%D0%BC%D1%96%D1%89%D0%B5%D0%BD%D0%B8%D0%BC%D0%B8-%D1%84%D1%96%D0%B3%D1%83%D1%80%D0%B0%D0%BC%D0%B8-%D0%BF%D1%80%D0%B8%D1%87%D0%BE%D0%BC%D1%83-%D0%BA%D0%BE%D0%B6%D0%BD%D0%B0-%D0%B7-%D0%BD%D0%B8%D1%85-%D0%BC%D0%BE%D0%B6%D0%B5-%D0%B1%D1%83%D1%82%D0%B8">Об'єкти є розміщеними фігурами, причому кожна з них може бути:</h3><ul><li>Крапкою одного кольору.</li><li>Прямокутником із заданим розміром, кольором і маскою.</li></ul><h3 id="%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0-%D0%BC%D0%B0%D1%81%D0%BA%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D1%94-%D0%BE%D1%81%D0%BE%D0%B1%D0%BB%D0%B8%D0%B2%D0%BE-%D0%B5%D1%84%D0%B5%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%8E-%D0%BE%D1%81%D0%BA%D1%96%D0%BB%D1%8C%D0%BA%D0%B8-%D0%B2%D0%BE%D0%BD%D0%B0-%D0%B4%D0%B0%D1%94-%D0%BC%D0%BE%D0%B6%D0%BB%D0%B8%D0%B2%D1%96%D1%81%D1%82%D1%8C-%D0%BF%D1%80%D1%8F%D0%BC%D0%BE%D0%BA%D1%83%D1%82%D0%BD%D0%B8%D0%BA%D0%B0%D0%BC-%D0%BD%D0%B0%D0%B1%D1%83%D0%B2%D0%B0%D1%82%D0%B8-%D1%80%D1%96%D0%B7%D0%BD%D0%B8%D1%85-%D1%84%D0%BE%D1%80%D0%BC">Система маскування є особливо ефективною, оскільки вона дає можливість прямокутникам набувати різних форм:</h3><ul><li>Повноцінний (суцільний прямокутник).</li><li>Контур (лише обрис).</li><li>Шаховий візерунок (парні або непарні клітинки).</li><li>Перехресні візерунки (знаки плюса або множення).</li><li>Нестандартні bitmap візерунки.</li></ul><p>Ця мова дає можливість системі стисло описувати складні шаблони сіток. Наприклад, замість того, щоб зберігати сітку 10x10 піксель за пікселем (100 значень), її можна зберегти як чорний фон із червоним прямокутником 3x3 з розташуванням (2,2), використовуючи значно менше значень, але зберігаючи основну структуру.</p><p>Під час пошуку шаблонів система намагається знайти найбільш стислий опис як вхідних, так і вихідних сіток за допомогою цієї мови. Хороші рішення зазвичай повторно використовують елементи між вхідними та вихідними сітками (наприклад, взяти фігуру з вхідної сітки та перетворити її в вихідній), що призводить до коротших описів і кращого стиснення.</p><p>Цей підхід показав хороший результат (розв’язання 94 із 400 завдань), що свідчить про те, що ця мова вловлює багато шаблонів ARC задач, але залишається достатньо обмеженою та уникає перенавчання конкретних прикладів.</p><h3 id="3-%D0%BF%D1%80%D0%BE%D0%B3%D0%BD%D0%BE%D0%B7%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%B1%D0%B5%D0%B7%D0%BF%D0%BE%D1%81%D0%B5%D1%80%D0%B5%D0%B4%D0%BD%D1%96%D1%85-%D1%80%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D1%96%D0%B2-%D0%B1%D0%B0%D0%B7%D0%BE%D0%B2%D0%B8%D1%85-llm">3. Прогнозування безпосередніх результатів базових LLM</h3><p>Хоча великі мовні моделі (LLM) продемонстрували дивовижні можливості в різних галузях, їхнє пряме використання для вирішення ARC має як переваги, так і певні складнощі. Прямолінійний підхід полягає в тому, щоб надати LLM приклади вхідних і вихідних даних і попросити його передбачити відповідь для нових вхідних даних. Однак у цього методу є суттєві обмеження. Моделі LLM демонструють дуже обмежені можливості просторового мислення в цьому контексті та намагаючись передбачити перетворення сіток, є схильними до галюцинацій.</p><h3 id="4-chain-of-thought-cot-and-thinking-llms">4. Chain-of-Thought (CoT) and Thinking LLMs</h3><p>Цей підхід базується на методі прямого прогнозування, спочатку доручаючи LLM проаналізувати та описати шаблони, які вона спостерігає у парах вхідних і вихідних даних. Попри те, що цей додатковий етап мислення дозволяє LLM краще проаналізувати проблему, він все ж має ті самі фундаментальні обмеження. Модель усе ще схильна до високого рівня галюцинацій при спробі прогнозувати кінцеві результати, навіть після виявлення потенційних шаблонів. Це вказує на те, що додавання точних мисленнєвих кроків недостатньо, щоб подолати обмеження просторового мислення LLM під час розв’язання задач ARC.</p><h2 id="%D0%B0%D0%B3%D0%B5%D0%BD%D1%82%D0%B8-%D1%88%D1%96-%D1%82%D0%B0-%D1%97%D1%85%D0%BD%D1%8F-%D1%80%D0%BE%D0%BB%D1%8C-%D0%B2-agi">Агенти ШІ та їхня роль в AGI</h2><p>У <a href="http://wltech.ai">WLTech.AI</a> ми розуміємо важливість агентів штучного інтелекту у досягненні AGI. Ці агенти розроблені для динамічної взаємодії з оточенням, адаптації на основі отриманих знань і самостійного навчання. На відміну від статичних моделей, які здатні тренуватися лише один раз, агенти ШІ можуть навчатися через безперервну взаємодію та адаптуватися до змін, що робить їх незамінними в розвитку AGI.</p><p>Агенти ШІ виконують роль мозку операції, координуючи різноманітні техніки, що адаптуються до вимог конкретного завдання. Символьні системи чудово підходять для точного, правило-орієнтованого мислення, що робить їх ідеальними для завдань, які вимагають розуміння перетворень, таких як обертання чи відображення. Нейронні мережі відмінно розпізнають шаблони та можуть узагальнювати дані, а це надзвичайно корисно для виявлення основних структур у завданнях ARC.</p><p>Однак труднощі ARC не обмежуються лише символьними маніпуляціями або розпізнаванням шаблонів. Для вирішення багатьох завдань потрібен глибший рівень абстракції, включно зі здатністю створювати нові правила, знаходити зв’язки й адаптуватися до нових ситуацій. Тут на допомогу приходять мовні моделі, оскільки їх можна використовувати для таких завдань, як синтез програм та абстрактне мислення.</p><p>Алгоритми пошуку — це ще один інструмент у наборі, оскільки вони можуть ефективно досліджувати можливі перетворення для знаходження рішень. З іншого боку, системи планування надають структуру, яка дає можливість розбивати складні задачі на частини та вирішувати їх крок за кроком.</p><p>Здатність агентів ШІ об’єднувати всі ці різні підходи робить їх надзвичайно розумними. Вони не використовують лише один метод за раз. Натомість вони оцінюють і застосовують найкращу комбінацію технік для розв’язання унікальної проблеми. Здатність до моментальної адаптації є тим, що вирізняє людей, і водночас є важливим кроком на шляху до розвитку AGI.</p><p>Агенти ШІ — це по суті інтелектуальні координатори. Вони фіксують, які підходи працюють, а які ні, щоб навчатися на основі минулого досвіду.</p><h2 id="%D0%BD%D0%B0%D1%88%D0%B5-%D1%80%D1%96%D1%88%D0%B5%D0%BD%D0%BD%D1%8F-agentic-ai">Наше рішення Agentic AI</h2><p>Наше рішення можна знайти <a href="https://colab.research.google.com/drive/1-rQoqrGRGQE6M8bMpfzqf6tV3TnUi-Mp?usp=sharing">за посиланням</a> чи на <a href="https://github.com/weblab-technology/arc-challenge-2024-10">Github</a>.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/04/image_2025-04-01_18-52-33--1-.jpg" class="kg-image" alt loading="lazy" width="1500" height="1100"></figure><p>Наш прорив став можливим завдяки наслідуванню людської поведінки під час розв’язання задач: аналіз прикладів, висування гіпотез щодо правил, тестування та удосконалення. Замість використання brute force наш ШІ зосереджується на написанні функцій генерації — Python-коду, який визначає перетворення, та негайному тестуванні їх на тренувальних даних.</p><h3 id="%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%96-%D0%B5%D1%82%D0%B0%D0%BF%D0%B8">Основні етапи:</h3><ol><li><strong>Аналіз шаблонів</strong>: ШІ виявляє взаємозв’язки у парах вхідних і вихідних даних.</li><li><strong>Генерація функції: </strong>На основі спостережених шаблонів ШІ пише функцію transform(input): output.</li><li><strong>Негайне тестування: </strong>Функція тестується на тренувальних даних. Якщо вихідні результати повністю збігаються, рішення вважається правильним і застосовується до тестових даних.</li><li><strong>Ітерація:</strong> Якщо тестування не вдається, функція вдосконалюється та повторно тестується.</li></ol><p>Несподіване відкриття в нашому підході полягало в тому, що ітеративні покращення часто заважають прогресу, а не сприяють йому. Якщо початкове припущення щодо функції генерації є хибним, спроби його вдосконалити зазвичай лише підсилюють помилку, а не виправляють її. Це розуміння кардинально змінило наш підхід.</p><h3 id="%D0%BD%D0%BE%D0%B2%D1%96-%D1%96%D0%B4%D0%B5%D1%97-%D0%B7%D0%B0%D0%BC%D1%96%D1%81%D1%82%D1%8C-%D1%83%D0%B4%D0%BE%D1%81%D0%BA%D0%BE%D0%BD%D0%B0%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F">Нові ідеї замість удосконалення</h3><p>Замість того, щоб вдосконалювати помилкові припущення, ми зрозуміли, що ефективніше:</p><ol><li>Повністю відмовитися від хибного підходу.</li><li>Сформувати нову гіпотезу з нуля, опираючись на свіжі спостереження із тренувальних даних.</li></ol><p>Це нагадує людську поведінку, коли у випадку непродуктивного рішення, люди схильні перезавантажувати та переосмислювати процес, а не намагатися виправити невдалу стратегію.</p><h3 id="%D1%87%D0%BE%D0%BC%D1%83-%D0%B3%D0%B5%D0%BD%D0%B5%D1%82%D0%B8%D1%87%D0%BD%D1%96-%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B8-%D0%BD%D0%B5-%D1%81%D0%BF%D1%80%D0%B0%D1%86%D1%8E%D0%B2%D0%B0%D0%BB%D0%B8">Чому генетичні алгоритми не спрацювали</h3><p>Це усвідомлення також пояснює, чому генетичні алгоритми не змогли покращити результати. За своєю природою генетичні алгоритми поступово еволюціонують рішення, вдосконалюючи їх із кожним поколінням. Однак, якщо фундаментальні припущення є хибними, поступові зміни лише ускладнює розв’язання задачі та ще більше віддаляє від правильного перетворення.</p><h3 id="%D0%BE%D1%86%D1%96%D0%BD%D1%8E%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D1%84%D1%83%D0%BD%D0%B4%D0%B0%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D0%B8%D1%85-llm-claude-35-sonnet-%E2%80%94-%D0%BB%D1%96%D0%B4%D0%B5%D1%80">Оцінювання фундаментальних LLM: Claude 3.5 Sonnet — лідер</h3><p>Для вирішення проблеми ARC ми провели масштабне тестування кількох великих мовних моделей (LLMs), щоб використати їх для розроблення функцій генерації. Серед усіх моделей Claude 3.5 Sonnet показав найкращі результати, значно перевершивши своїх конкурентів.</p><h3 id="claude-35-sonnet-%D0%BF%D1%80%D0%BE%D1%82%D0%B8-gpt-4o">Claude 3.5 Sonnet проти GPT-4o:</h3><ul><li><strong>Продуктивність:</strong> Claude 3.5 Sonnet розпізнав більше шаблонів, ніж GPT-4o, досягнувши більше ніж удвічі вищої точності у розпізнаванні шаблонів.</li><li><strong>Ефективність: </strong>Claude досяг таких самих результатів, що й GPT-4o від OpenAI, проте за 1/7 часу, що робить його не тільки ефективнішим, але й швидшим.</li></ul><h3 id="%D0%BF%D0%B0%D0%B4%D1%96%D0%BD%D0%BD%D1%8F-%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D1%96-gpt-4o">Падіння продуктивності GPT-4o:</h3><ul><li>Ми зафіксували помітне падіння продуктивності GPT-4o через деякий час. Початкова версія GPT-4o значно краще виконувала завдання ARC порівняно з наступними версіями, що свідчить про можливі зміни в його оптимізації, які негативно вплинули на здатність розпізнавання шаблонів та міркування для цієї задачі.</li></ul><h3 id="%D1%87%D0%BE%D0%BC%D1%83-claude-35-sonnet-%D0%B2%D0%B8%D0%B4%D1%96%D0%BB%D1%8F%D1%94%D1%82%D1%8C%D1%81%D1%8F-%D1%81%D0%B5%D1%80%D0%B5%D0%B4-%D1%96%D0%BD%D1%88%D0%B8%D1%85">Чому Claude 3.5 Sonnet виділяється серед інших</h3><p>Перевага Claude полягає в його здатності узагальнювати та розпізнавати ледь помітні перетворення, що є ключовим для роботи з few-shot задачами ARC. Стабільна продуктивність та ефективність зробили його ідеальним кандидатом для інтеграції в основу нашого AI-агента, створюючи новий стандарт LLM мислення у структурованому розв’язанні задач.</p><h3 id="%D1%80%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8">Результати</h3><p>Наш підхід забезпечив майже 30% точності на тестовому наборі ARC, що значно перевищує результати базових методів. Це досягнення підкреслює ефективність підходу, який імітує людське мислення, використання нових гіпотез замість ітеративних покращень і залучення найбільш здібних мовних моделей як Claude 3.5 Sonnet. Хоча ще залишається значний простір для вдосконалення, це досягнення демонструє важливий прогрес у вирішенні викликів ARC і розвитку у напрямку широкого узагальнення у ШІ.</p><h3 id="%D0%BC%D0%B0%D0%B9%D0%B1%D1%83%D1%82%D0%BD%D1%96-%D0%BD%D0%B0%D0%BF%D1%80%D1%8F%D0%BC%D0%B8-%D1%80%D0%BE%D0%B7%D0%B2%D0%B8%D1%82%D0%BA%D1%83-arc">Майбутні напрями розвитку ARC</h3><p>У <a href="http://wltech.ai">WLTech.AI</a> ми переконані, що майбутнє розв’язання задач ARC полягає у подальшому розвитку можливостей LLM у поєднанні з високорівневими структурами міркування, такими як принцип мінімальної довжини опису (MDL) або подібними підходами для стислого пояснення шаблонів.  Ці вдосконалення можуть дозволити моделям краще абстрагувати й узагальнювати перетворювання.</p><p>Крім того, інтеграція системи самовдосконалюваних запитів на основі зростаючої бази рішень дала б змогу моделям поступово покращувати свої міркування та використовувати попередні успіхи, створюючи більш адаптивний та ефективний механізм розв’язання задач. Синергія між передовими LLM, структурованими поясненнями й адаптивним навчанням може стати ключем до нових досягнень у розвитку ARC і AGI.</p><h2 id="%D0%B2%D0%B8%D0%B4%D0%B0%D1%82%D0%BD%D1%96-%D0%BB%D1%8E%D0%B4%D0%B8-%D1%8F%D0%BA%D1%96-%D1%80%D0%BE%D0%B7%D0%B2%E2%80%99%D1%8F%D0%B7%D0%B0%D0%BB%D0%B8-arc">Видатні люди, які розв’язали ARC</h2><p>ARC (Abstraction and Reasoning Corpus) бенчмарк став ключовим методом оцінки того, наскільки добре ШІ може застосовувати загальні правила та мислити більш абстрактно. З плином років з’явилося кілька видатних рішень, кожне з яких зробило свій внесок у цю сферу.</p><h3 id="%D0%BF%D1%96%D0%B4%D1%85%D1%96%D0%B4-%D1%80%D0%B0%D1%8F%D0%BD%D0%B0-%D0%B3%D1%80%D1%96%D0%BD%D0%B1%D0%BB%D0%B0%D1%82%D1%82%D0%B0">Підхід Раяна Грінблатта</h3><p>У 2024 році Раян Грінблатт, інженер із Redwood Research, досяг значного успіху, набравши 42% на відкритому тестовому наборі ARC-AGI та 43% за верифікаційним показником. У своїй методиці він застосував GPT-4o для створення та оптимізації кількох Python-програм, обравши найкращі з них для заявки на конкурс. Це демонструє, як саме ми можемо використовувати великі мовні моделі для синтезу програм, щоб розв’язувати складні задачі на мислення.</p><h3 id="icecuber-2020">Icecuber 2020</h3><p>Рішення «Icecuber 2020», яке стало переможцем попереднього конкурсу, отримало 39% на відкритому тестовому наборі та 17% за верифікаційним показником. Хоча методологія цього підходу повністю невідома, він відіграв важливу роль у встановленні вищих стандартів для майбутніх учасників ARC.</p><h3 id="%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D1%8F-%D0%BB%D1%96%D0%B4%D0%B5%D1%80%D1%96%D0%B2-arc-prize-2024">Таблиця лідерів ARC Prize 2024</h3><p>До <a href="https://www.kaggle.com/competitions/arc-prize-2024/leaderboard">найкращих учасників</a> у <a href="https://arcprize.org/blog/introducing-arc-agi-public-leaderboard?utm_source=chatgpt.com">таблиці лідерів ARC Prize 2024</a> належать:</p><ul><li>MindsAI очолюють список із результатом 55,5%.</li><li>The ARChitects зайняли друге місце з результатом 53,5%.</li><li>Гільєрмо Барбадільо на третьому місці з результатом 40%.</li><li>Alijs на четвертому місці також із результатом 40%.</li><li>TuMinhDang на п’ятому місці з результатом 38%.</li></ul><p>Ці результати демонструють, як активно учасники працюють і впроваджують нові підходи для розв’язання завдань ARC. Вони також свідчать про різноманітність стратегій, які використовують команди.</p><h2 id="%D1%8F%D0%BA-arc-%D0%BD%D0%B0%D0%B4%D0%B8%D1%85%D0%B0%D1%94-%D0%B4%D0%BE%D1%81%D0%BB%D1%96%D0%B4%D0%BD%D0%B8%D0%BA%D1%96%D0%B2-%D1%88%D1%96">Як ARC надихає дослідників ШІ</h2><p>ARC бенчмарк залишається чудовим інструментом для перевірки здатності систем ШІ до мислення та узагальнення. Попри значний прогрес у цій сфері, жодна модель поки що не змогла повністю впоратися із завданнями ARC, що підкреслює наскільки складно досягти загального штучного інтелекту (AGI). Дослідники та фахівці продовжують шукати способи поєднання різних підходів, використовуючи символічне мислення та нейронні мережі, щоб наблизитися до розв’язання задач.</p><p>Такі бенчмарки, як ARC, дають можливість зазирнути в майбутнє досліджень ШІ. Вони спрямовують розвиток галузі у бік систем, здатних мислити й адаптуватися як люди. Хоча прогрес у цій сфері рухається повільно, ARC уже окреслив чіткий шлях до досягнення AGI.</p><h3 id="%D1%84%D0%BE%D0%BA%D1%83%D1%81-%D0%B7%D0%BC%D1%96%D1%89%D1%83%D1%94%D1%82%D1%8C%D1%81%D1%8F-%D0%B2-%D0%B1%D1%96%D0%BA-%D1%83%D0%B7%D0%B0%D0%B3%D0%B0%D0%BB%D1%8C%D0%BD%D0%B5%D0%BD%D0%BD%D1%8F">Фокус <a href="https://arxiv.org/abs/2305.07141?utm_source=chatgpt.com">зміщується</a> в бік узагальнення</h3><p>У майбутньому системи ШІ проєктуватимуться для узагальнення, а не для спеціалізації. Як показують завдання ARC, здатність розв’язувати нові проблеми без необхідності повторного навчання є ключовою ознакою справжнього інтелекту. Ймовірно, дослідники створять моделі, які будуть чудово справлятися з навчанням на кількох прикладах (few-shot) та без прикладів (zero-shot), опираючись на принципи роботи нашого мозку.</p><h3 id="%D0%B3%D1%96%D0%B1%D1%80%D0%B8%D0%B4%D0%BD%D1%96-%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%96-%D1%81%D1%82%D0%B0%D0%BD%D1%83%D1%82%D1%8C-%D0%BD%D0%BE%D1%80%D0%BC%D0%BE%D1%8E">Гібридні моделі стануть нормою</h3><p>Успіх рішень ARC вже показав, що системи, побудовані на одному підході, є дещо обмеженими. У майбутньому ШІ розвиватиметься через гібридні моделі, що інтегрують нейронні мережі, символічні системи та ймовірнісну логіку. Такі моделі не лише успішно вирішуватимуть завдання ARC, а й зможуть впоратися з реальними проблемами, де ключовими є гнучкість і адаптивність.</p><h3 id="%D0%BA%D0%BE%D0%B3%D0%BD%D1%96%D1%82%D0%B8%D0%B2%D0%BD%D0%B0-%D0%B0%D1%80%D1%85%D1%96%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0-%D0%BD%D0%B0%D0%B1%D1%83%D0%B2%D0%B0%D1%94-%D0%B2%D1%81%D0%B5-%D0%B1%D1%96%D0%BB%D1%8C%D1%88%D0%BE%D0%B3%D0%BE-%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%BD%D1%8F">Когнітивна архітектура набуває все більшого значення</h3><p>ARC спонукає задуматися над когнітивними архітектурами, що імітують здатність людського мозку поєднувати різні способи мислення. Ми побачимо більше досліджень у сферах робочої пам’яті, метанавчання та багатоагентних систем, що прокладуть шлях до створення ШІ, який зможе мислити, навчатися та адаптуватися на ходу.</p><p>Коли ШІ стане розумнішим, він не тільки виконуватиме нашу роботу, а й працюватиме разом із нами. Такі бенчмарки, як ARC, сприяють розробленню ШІ-систем, які будуть допомагати людям, пропонуючи нові ідеї та рішення у складних сферах, таких як наукові відкриття та творчі підходи до розв’язання проблем.</p><p>Такі змагання дійсно стали джерелом натхнення для спільноти дослідників ШІ. З грошовим призом у понад $1 мільйон <a href="https://arcprize.org/?utm_source=chatgpt.com">ARC Prize</a> є чудовим стимулом для розробників створювати open-source рішення, які зможуть перевершити поточні стандарти.</p><p>У <a href="http://wltech.ai">WLTech.AI</a> ми розуміємо, що цінність таких рішень значно перевищує $1 мільйон, і ми будемо раді знову взяти участь у цьому змаганні наступного року, щоб продовжити розвивати галузь.</p><h2 id="upd-2025">UPD 2025</h2><p>OpenAI заявляє, що <a href="https://arcprize.org/blog/oai-o3-pub-breakthrough?utm_source=chatgpt.com">досягла 88% точності</a> на ARC-AGI, використовуючи спеціально налаштовану модель o3-high. Це значно перевищує попередні результати й наближає модель до вирішення тесту, що довгий час залишався непідкореним.</p><p>Команда OpenAI стверджує, що ключовими факторами прориву стали збільшена глибина міркувань і нові підходи до навчання, які дозволили моделі краще узагальнювати патерни. Однак навіть при 88% точності ARC-AGI залишається викликом, що продовжує випробовувати межі штучного інтелекту.</p><p>Цей прорив підкреслює важливість нових архітектурних рішень у розвитку AI. Просте збільшення масштабів попередніх моделей, таких як GPT-4, не призвело б до таких результатів. Подальший прогрес залежить від впровадження нових ідей і підходів у навчанні моделей.</p><p>Таким чином, хоча досягнення OpenAI є значним кроком уперед, ARC-AGI продовжує залишатися важливим еталоном для оцінювання здатності AI до адаптації до нових, невідомих завдань, що наближає нас до розуміння і створення справжнього AGI.</p><h2 id="%D0%BF%D1%80%D0%BE-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D1%96%D1%8E">Про компанію</h2><p><a href="http://wltech.ai/">WLTech.AI</a>, заснована у 2013 році <a href="https://ua.linkedin.com/in/oleksandr-knyga">Олександром Книгою</a>, займається створенням спеціалізованих ШІ команд і рішень повного циклу. Наш підхід корпоративного рівня охоплює хмарну інфраструктуру, комплексну frontend-розробку, масштабовані архітектури та стратегії розгортання продукту.</p><p>Наша експертиза включає великі мовні моделі (LLM), розробку моделей ШІ, інженерія даних, машинне навчання (ML), обробку природної мови (NLP), автоматизацію ШІ, агентів ШІ. Від початкового збору даних і тренування моделей до розгортання продукту та безперервної оптимізації ми реалізуємо повноцінні, готові до роботи рішення, що відповідають суворим корпоративним стандартам і забезпечують суттєві зміни у бізнесі.</p><p><em><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></em></p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Відрядження за кордон для чоловіків призовного віку в Україні стало однією з актуальних тем у період воєнного стану. Попри загальну заборону на виїзд, існують певні винятки, зокрема можливість перетину кордону у службових справах. Це можливо лише за умови відповідного бронювання та дотримання певних формальностей. Тому, якщо ваш роботодавець направляє вас ]]></description>
        <link>https://proit.ua/vidriadzhiennia-za-kordon-cholovikiv-prizovnogho-viku-mii-dosvid-u-pidghotovtsi-dokumientiv/</link>
        <guid isPermaLink="false">67e1c21b6c4e7e0777364482</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Дмитро Кондратьєв ]]></dc:creator>
        <pubDate>пт, 28 бер 2025 14:00:19 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/03/15653.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Відрядження за кордон для чоловіків призовного віку в Україні стало однією з актуальних тем у період воєнного стану. Попри загальну заборону на виїзд, існують певні винятки, зокрема можливість <a href="https://dpsu.gov.ua/ua/zakonodavstvo-ukrayini-sho-regulyuye-zdijsnennya-prikordonnogo-kontrolyu-i-propusku-cherez-derzhavnij-kordon-ukrayini-ta-do-timchasovo-okupovanoyi-teritoriyi-i-z-neyi-osib-transportnih-zasobiv-vantazhiv">перетину кордону у службових справах</a>. Це можливо лише за умови відповідного бронювання та дотримання певних формальностей. Тому, якщо ваш роботодавець направляє вас за кордон для виконання важливих завдань, потрібно ретельно підготувати документи, щоб уникнути труднощів на кордоні.</p><p>У цій статті IT-юрист <a href="https://www.facebook.com/profile.php?id=100025125101542&amp;locale=ru_RU">Дмитро Кондратьєв</a> розповідає про власний досвід підготовки документів для безперешкодного виїзду клієнта за кордон. Процес збору необхідної інформації, оформлення довідок, перевірки всіх даних та підготовки пакета документів тривав тиждень. Протягом цього часу довелося отримувати документи від роботодавця, запрошення від приймаючої сторони, збирати податкові документи та документи про бронювання. Деталі — нижче.</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXefbJ1aMweZq6row1P6R6P6f2JLAKkm3BxXOsXuYLRrEhH2x3UnK7QoYzoZsnYGeI3qrzUA22aIbq2DZlCNkb33FHI4NNm3VzjFCWYWtITrHf9qJfmCaDv8LKQdjU9BfX7L33-3?key=6yESH4CDFeLmXfgLIH_UMNxN" class="kg-image" alt loading="lazy" width="650" height="433"></figure><h2 id="%D1%85%D1%82%D0%BE-%D0%B2-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D1%96%D1%97-%D1%96%D0%B7-%D0%B2%D1%96%D0%B9%D1%81%D1%8C%D0%BA%D0%BE%D0%B2%D0%BE%D0%B7%D0%BE%D0%B1%D0%BE%D0%B2%E2%80%99%D1%8F%D0%B7%D0%B0%D0%BD%D0%B8%D1%85-%D1%87%D0%BE%D0%BB%D0%BE%D0%B2%D1%96%D0%BA%D1%96%D0%B2-%D0%BC%D0%BE%D0%B6%D0%B5-%D0%B2%D0%B8%D1%97%D1%85%D0%B0%D1%82%D0%B8-%D1%83-%D0%B2%D1%96%D0%B4%D1%80%D1%8F%D0%B4%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F">Хто в компанії із військовозобов’язаних чоловіків може виїхати у відрядження?</h2><p>Чоловіки, які заброньовані на підприємстві, яке визнане <a href="https://zakon.rada.gov.ua/laws/show/76-2023-%D0%BF#Text">критично важливим для економіки</a>. При цьому інформація про бронювання має бути внесена до системи <a href="https://mod.gov.ua/news/shho-take-reestr-oberig-i-dlya-chogo-vin-potriben">«Оберіг</a>». Тобто просто працювати на підприємстві недостатньо — потрібне офіційне підтвердження бронювання.</p><h2 id="%D1%8F%D0%BA%D1%96-%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B8-%D0%BF%D0%BE%D1%82%D1%80%D1%96%D0%B1%D0%BD%D1%96">Які документи потрібні?</h2><p>Щоб успішно перетнути кордон у службовій поїздці, потрібно мати три основні групи документів.</p><p>Перші група складається з документів для перетину кордону. До них відносяться закордонний паспорт громадянина України та <a href="https://diia.gov.ua/news/vijskovo-oblikovij-dokument-teper-mozhna-otrimati-na-portali-diya#:~:text=%D0%92%D1%96%D0%B4%D1%81%D1%8C%D0%BE%D0%B3%D0%BE%D0%B4%D0%BD%D1%96%20%D0%B2%D1%96%D0%B9%D1%81%D1%8C%D0%BA%D0%BE%D0%B2%D0%BE%2D%D0%BE%D0%B1%D0%BB%D1%96%D0%BA%D0%BE%D0%B2%D0%B8%D0%B9%20%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%20%D1%96%D0%B7,QR%2D%D0%BA%D0%BE%D0%B4%20%D0%B4%D0%BB%D1%8F%20%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D1%96%D1%80%D0%BA%D0%B8%20%D0%B4%D0%B0%D0%BD%D0%B8%D1%85.">військово-обліковий документ</a> із підтвердженням бронювання, внесеного до системи «Оберіг».</p><p>Друга група передбачає документи, що стосуються бронювання, а саме: наказ про визнання підприємства критично важливим, документ, який підтверджує бронювання, а також витяг із порталу «Дія» щодо внесення до списку заброньованих осіб.</p><p>До документів, необхідних для службового відрядження, належать: наказ про відрядження з детальним описом мети поїздки, строків і місця перебування, довідка з місця роботи, лист від керівництва компанії з підтвердженням згоди на виїзд, а також (за наявності) запрошення від приймаючої сторони, квитки в обидва боки й підтвердження бронювання житла.</p><p>Якщо у вас не буде всіх необхідних документів, це може викликати додаткові питання з боку прикордонників. У такому випадку вам доведеться надавати додаткові пояснення щодо мети поїздки, джерел фінансування, тривалості перебування та інших важливих деталей. Це може затримати процес перетину кордону або у деяких випадках стати причиною відмови у виїзді.</p><p>Ось приклад як виглядає лист від керівництва компанії із підтвердженням, що роботодавець не заперечує проти виїзду.</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcej1mRG_Na8WQljbVy7R_qOHHzGs2XXp9yaNa6LtceLi9eVFfUP9a4SAM11crQEp_30PrO5Ysy7zhpg_nGl2u7Nfg9WA5xmtF97RwTMeXrGaVmuijN5MHqz0oMTkLEAEytKVdytw?key=6yESH4CDFeLmXfgLIH_UMNxN" class="kg-image" alt loading="lazy" width="527" height="609"></figure><p>Ось приклад запрошення від приймаючої сторони з Казахстану.</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdPmA_uJbc3OVs6Rit8AuQK2-BuTVvg6NvwDpBj9jui6jAvLoyKgZN4yykD1GlVIfgsEAwU8JGg-7CDgmCFTp-L33hnWf6zF4T1gWmrUPhzv619Z6a6_gZFmGgL4b2eBycEKy6VIA?key=6yESH4CDFeLmXfgLIH_UMNxN" class="kg-image" alt loading="lazy" width="488" height="727"></figure><h2 id="%D1%89%D0%BE-%D0%B2%D0%B0%D1%80%D1%82%D0%BE-%D0%B2%D1%80%D0%B0%D1%85%D1%83%D0%B2%D0%B0%D1%82%D0%B8-%D0%BF%D0%B5%D1%80%D0%B5%D0%B4-%D0%BF%D0%BE%D1%97%D0%B7%D0%B4%D0%BA%D0%BE%D1%8E">Що варто врахувати перед поїздкою?</h2><p>Перед виїздом роботодавець має виплатити працівнику добові. Для відряджень за кордон добові становлять 80 євро на день. Більшість компаній виплачує саме цю суму, оскільки вона не створює додаткових податкових зобов’язань. Також не забувайте правильно оформлювати інші витрати, понесені у відрядженні й основі авансового звіту, вже після закінчення відрядження.</p><p>Крім того, варто пам’ятати, що всі документи потрібно подавати в оригіналах — жодні копії не підійдуть. Будь-які помилки або неточності можуть стати причиною відмови у перетині кордону, тому варто кілька разів перевірити їхню відповідність вимогам. Не забувайте, що прикордонники наділені правом відмовити вам у перетині кордону або запросити інші докази. Наприклад, показати надходження заробітної плати або отримання коштів на відрядження, довідки з податкової про нарахування доходу і сплату податків, бронювання готелів чи квитків, а також інші документи, що підтверджують мету та забезпечення поїздки.</p><h3 id="%D0%B2%D0%B0%D0%B6%D0%BB%D0%B8%D0%B2%D1%96-%D0%BD%D1%8E%D0%B0%D0%BD%D1%81%D0%B8-%D0%B7-%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B8">Важливі нюанси з практики</h3><p><em>З мого досвіду закордонних відряджень </em>—<em> будьте готові до додаткових питань на кордоні. Якщо це ваша перша поїздка за кордон під час воєнного стану, прикордонники можуть запитати додаткові документи та інформацію. Варто бути готовим до тривалішої співбесіди з перевіркою надходжень заробітної плати та виплат у звʼязку із відрядженням, документів про компанію та необхідність відрядження.</em></p><p><em>Наступні виїзди зазвичай проходять простіше. Наприклад, якщо конференція триває 3 дні, а ваша поїздка — 7 днів, будьте готові пояснити інспектору, чим ви займатиметеся в решту часу. Якщо ви їдете машиною, впевніться, що ви прочитали </em><a href="https://hsc.gov.ua/index/poslugi/vidacha-posvidchennya-vodiya/yaki-dokumenti-neobhidni-dlya-viyizdu-za-kordon-na-transportnomu-zasobi/"><em>вимоги до перетину кордону машиною</em></a><em>.</em></p><h2 id="%D1%8F%D0%BA-%D0%BC%D1%96%D0%BD%D1%96%D0%BC%D1%96%D0%B7%D1%83%D0%B2%D0%B0%D1%82%D0%B8-%D1%80%D0%B8%D0%B7%D0%B8%D0%BA%D0%B8-%D0%BD%D0%B0-%D0%BA%D0%BE%D1%80%D0%B4%D0%BE%D0%BD%D1%96">Як мінімізувати ризики на кордоні?</h2><ul><li>заздалегідь підготуйте всі документи, особливо ті що стосуються бронювання, яке має бути зареєстроване у системі «Оберіг»;</li><li>переконайтеся, що інформація в документах збігається — невідповідності можуть викликати підозру у прикордонників;</li><li>завчасно бронюйте квитки та житло — це додатковий доказ серйозності поїздки, в наших кейсах у хлопців це питали.</li></ul><p>Отже, відрядження за кордон для чоловіків призовного віку можливе, але потребує ретельної підготовки та чіткої відповідності всім вимогам. Основне правило — бронювання працівника та наявність усіх необхідних документів. Тож якщо ваша робоча поїздка є важливою для бізнесу, переконайтеся, що всі формальності дотримані, і ви зможете успішно перетнути кордон і повернутися не пізніше останнього дня відрядження.</p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Hustle, або культура постійної зайнятості, стала сучасним трендом у бізнесі, особливо серед керівників. Вона прославляє ідею безперервної роботи, високої продуктивності та жертвування особистим життям заради кар’єри.

Який вплив ця ідея має на менеджерів у довгостроковій перспективі? Детальніше розповіла Олеся Ульянова, Ph.D, MBA, СЕО Telesens, Founder ITGC, Еx-менторка USAID. ]]></description>
        <link>https://proit.ua/hustle-kultura-draivier-uspikhu-chi-shliakh-do-visnazhiennia-mieniedzhieriv/</link>
        <guid isPermaLink="false">67dffaad259bac06eb7470c3</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Олеся Ульянова ]]></dc:creator>
        <pubDate>ср, 26 бер 2025 14:00:12 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/03/hungry-businessman-eating-sandwich-while-using-laptop-office.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Hustle, або культура постійної зайнятості, стала сучасним трендом у бізнесі, особливо серед керівників. Вона прославляє ідею безперервної роботи, високої продуктивності та жертвування особистим життям заради кар’єри.</p><p>Який вплив ця ідея має на менеджерів у довгостроковій перспективі? Детальніше розповіла Олеся Ульянова, Ph.D, MBA, СЕО Telesens, Founder ITGC, Еx-менторка USAID.</p><h2 id="%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B8%D0%B2%D0%BD%D1%96-%D0%B0%D1%81%D0%BF%D0%B5%D0%BA%D1%82%D0%B8-hustle-%D0%B4%D0%BB%D1%8F-%D0%BC%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%B5%D1%80%D1%96%D0%B2">Позитивні аспекти hustle для менеджерів</h2><p>Hustle, попри свою суперечливу репутацію, може мати низку позитивних аспектів для менеджерів. Тож завдяки чому hustle-культура таки може стати потужним інструментом для підвищення ефективності, мотивації й лідерських якостей менеджерів?</p><h3 id="%D0%B7%D0%B1%D1%96%D0%BB%D1%8C%D1%88%D0%B5%D0%BD%D0%BD%D1%8F-%D1%80%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D1%96">Збільшення результативності</h3><p>Hustle-культура спонукає менеджерів до максимальної віддачі у своїй роботі. Вони стають більш дисциплінованими, цілеспрямованими та зосередженими на досягненні цілей компанії.</p><h3 id="%D1%81%D1%82%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F-%D1%96%D0%BC%D1%96%D0%B4%D0%B6%D1%83-%D0%BB%D1%96%D0%B4%D0%B5%D1%80%D0%B0">Створення іміджу лідера</h3><p>Керівники, які постійно працюють, подають приклад своїм підлеглим, мотивуючи їх до кращої роботи. Це може створювати образ лідера, відданого своїй справі.</p><h3 id="%D1%88%D0%B2%D0%B8%D0%B4%D0%BA%D0%B5-%D0%B4%D0%BE%D1%81%D1%8F%D0%B3%D0%BD%D0%B5%D0%BD%D0%BD%D1%8F-%D1%86%D1%96%D0%BB%D0%B5%D0%B9">Швидке досягнення цілей</h3><p>Коли менеджер зосереджений на швидкому виконанні завдань, він може досягти значних результатів у короткі строки. Це особливо важливо у стартапах або кризових ситуаціях.</p><h2 id="%D0%BD%D0%B5%D0%B3%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%B8%D0%B9-%D0%B2%D0%BF%D0%BB%D0%B8%D0%B2-hustle-%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D1%83%D1%80%D0%B8-%D0%BD%D0%B0-%D0%BC%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%B5%D1%80%D1%96%D0%B2">Негативний вплив hustle-культури на менеджерів</h2><p>Попри певні переваги, hustle-культура має і негативний вплив на менеджерів. Постійна гонитва за продуктивністю та ідея «працюй більше, спи менше» часто призводять до професійного вигорання, стресу і зниження якості ухвалення рішень.</p><h3 id="%D0%B5%D0%BC%D0%BE%D1%86%D1%96%D0%B9%D0%BD%D0%B5-%D0%B2%D0%B8%D0%B3%D0%BE%D1%80%D0%B0%D0%BD%D0%BD%D1%8F">Емоційне вигорання</h3><p>Постійний стрес, довгі робочі години та відсутність відпочинку призводять до емоційного вигорання. Менеджер починає втрачати мотивацію, знижується рівень енергії, а продуктивність падає.</p><h3 id="%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B8-%D0%B7-%D1%84%D1%96%D0%B7%D0%B8%D1%87%D0%BD%D0%B8%D0%BC-%D0%B7%D0%B4%D0%BE%D1%80%D0%BE%D0%B2%E2%80%99%D1%8F%D0%BC">Проблеми з фізичним здоров’ям</h3><p>Недосипання, неправильне харчування та відсутність фізичної активності стають частиною життя hustler-менеджера. Це збільшує ризик серцево-судинних захворювань, діабету та інших хронічних хвороб.</p><h3 id="%D0%BF%D0%BE%D0%B3%D1%96%D1%80%D1%88%D0%B5%D0%BD%D0%BD%D1%8F-%D1%81%D1%82%D0%BE%D1%81%D1%83%D0%BD%D0%BA%D1%96%D0%B2">Погіршення стосунків</h3><p>Культура hustle змушує менеджерів нехтувати сім’єю, друзями й особистим життям. Це призводить до конфліктів, самотності та втрати підтримки близьких.</p><h3 id="%D0%B2%D1%82%D1%80%D0%B0%D1%82%D0%B0-%D0%BA%D1%80%D0%B5%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D1%96">Втрата креативності</h3><p>Коли менеджер постійно зайнятий операційними завданнями, у нього залишається менше часу для стратегічного мислення та інновацій. Це може знизити конкурентоспроможність у довгостроковій перспективі.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/03/Picture-2.jpg" class="kg-image" alt loading="lazy" width="588" height="586"></figure><h2 id="%D1%8F%D0%BA-%D0%BC%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%B5%D1%80%D0%B0%D0%BC-%D1%83%D0%BD%D0%B8%D0%BA%D0%BD%D1%83%D1%82%D0%B8-%D0%BD%D0%B5%D0%B3%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B2%D0%BF%D0%BB%D0%B8%D0%B2%D1%83-%D1%86%D1%96%D1%94%D1%97-%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D1%83%D1%80%D0%B8">Як менеджерам уникнути негативного впливу цієї культури?</h2><p>Менеджерам необхідно знаходити баланс між продуктивністю й особистим добробутом, щоб не стати жертвою виснаження чи вигорання. Кілька практичних порад допоможуть керівникам мінімізувати негативний вплив hustle-культури: від впровадження гнучких робочих графіків до підтримки ментального здоров’я.</p><h3 id="%D0%B2%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F-%D0%BC%D0%B5%D0%B6">Встановлення меж</h3><p>Менеджери мають вчитися казати «ні» завданням, які не відповідають їхнім пріоритетам. Чітке планування часу та виділення годин для відпочинку допоможуть зберегти баланс.</p><h3 id="%D0%B4%D0%B5%D0%BB%D0%B5%D0%B3%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Делегування</h3><p>Не всі завдання обов’язково виконувати самостійно. Делегування дає можливість менеджерам зосередитися на стратегічних аспектах і зменшити робоче навантаження.</p><h3 id="%D1%84%D0%BE%D0%BA%D1%83%D1%81-%D0%BD%D0%B0-%D1%8F%D0%BA%D1%96%D1%81%D1%82%D1%8C-%D0%B0-%D0%BD%D0%B5-%D0%BA%D1%96%D0%BB%D1%8C%D0%BA%D1%96%D1%81%D1%82%D1%8C">Фокус на якість, а не кількість</h3><p>Культура hustle часто наголошує на кількості виконаної роботи. Проте для успіху важливіша якість. Ефективне управління ресурсами та пріоритезація завдань допомагають досягати більшого з меншими зусиллями.</p><h3 id="%D1%82%D1%83%D1%80%D0%B1%D0%BE%D1%82%D0%B0-%D0%BF%D1%80%D0%BE-%D0%B7%D0%B4%D0%BE%D1%80%D0%BE%D0%B2%E2%80%99%D1%8F">Турбота про здоров’я</h3><p>Фізична активність, правильне харчування та регулярний сон — це основа продуктивності. Інвестуючи у здоров’я, менеджери підвищують свою витривалість і знижують ризики розвитку хронічних хвороб.</p><h3 id="%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D0%B5-%D0%B1%D0%BB%D0%B0%D0%B3%D0%BE%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D1%87%D1%8F">Ментальне благополуччя</h3><p>Практики mindfulness, медитація та перерви на роздуми сприяють відновленню внутрішніх ресурсів і розвитку креативності.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/03/Picture-1.jpg" class="kg-image" alt loading="lazy" width="596" height="594"></figure><h2 id="%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D1%83%D1%80%D0%B0-smart-work-%D1%8F%D0%BA-%D0%B0%D0%BB%D1%8C%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%82%D0%B8%D0%B2%D0%B0-hustle">Культура smart work як альтернатива hustle</h2><p>Замість сліпої гонитви за результатами менеджери можуть впроваджувати підходи «розумної роботи». Це передбачає:</p><p>● Використання технологій для автоматизації процесів.</p><p>● Зосередження на основних пріоритетах, а не багатозадачності.</p><p>● Підтримку здорового робочого середовища для команди.</p><p>Культура hustle може дати короткострокові переваги, але у довгостроковій перспективі вона створює серйозні виклики для здоров’я й ефективності менеджерів.</p><p>Баланс між роботою та особистим життям, інвестування у власне благополуччя та адаптація підходів до «розумної роботи» — ключ до сталого успіху. Менеджери, які відмовляються від hustle-мислення на користь розумного підходу, здатні досягти високих результатів без шкоди для себе.</p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ У попередній статті йшлося про те, що таке Chaos Testing, чим корисний такий підхід до перевірки стійкості продуктів, а також коли хаос-тестування зайве. У цьому ж матеріалі розберемо основні етапи й інструменти Chaos Testing.


Підготовка


Перш ніж експериментувати, врахуйте деякі моменти.


Дослідіть історію попередніх збоїв


Цілей для дослідження хаосу в ]]></description>
        <link>https://proit.ua/iak-proviesti-chaos-testing-pokrokova-instruktsiia-ta-instrumienti/</link>
        <guid isPermaLink="false">67d6e7a84589d607216f4972</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Анна Молодцова ]]></dc:creator>
        <pubDate>ср, 19 бер 2025 14:00:41 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/03/185032.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>У <a href="https://proit.ua/chaos-testing-shcho-tsie-i-chim-korisnie-tiestuvannia-khaosu-na-proiekti/">попередній статті</a> йшлося про те, що таке Chaos Testing, чим корисний такий підхід до перевірки стійкості продуктів, а також коли хаос-тестування зайве. У цьому ж матеріалі розберемо основні етапи й інструменти Chaos Testing.</p><h2 id="%D0%BF%D1%96%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BA%D0%B0">Підготовка<br></h2><p>Перш ніж експериментувати, врахуйте деякі моменти.</p><h3 id="%D0%B4%D0%BE%D1%81%D0%BB%D1%96%D0%B4%D1%96%D1%82%D1%8C-%D1%96%D1%81%D1%82%D0%BE%D1%80%D1%96%D1%8E-%D0%BF%D0%BE%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%BD%D1%96%D1%85-%D0%B7%D0%B1%D0%BE%D1%97%D0%B2">Дослідіть історію попередніх збоїв<br></h3><p>Цілей для дослідження хаосу в роботі системи безліч, але важливі пріоритети. Найпростіший шлях — звернутися до логів. Вони покажуть, які проблеми вже «горять». Звісно, далеко не все навіть в історії збоїв може бути зрозумілим. Шукайте закономірності, обговоріть із колегами неочевидні причини проблеми. У процесі брейнстормінгу стане у пригоді візуалізація даних.</p><p>Якщо певні частини системи жодного разу «не ‎падали», це не означає, що їх не потрібно перевірити. Поряд із дослідженням слабких місць додайте в план «сплячі» проблеми.</p><h3 id="%D0%BF%D0%BE%D0%B1%D1%83%D0%B4%D1%83%D0%B9%D1%82%D0%B5-%D0%BC%D0%B0%D0%BF%D1%83-%D0%B7%D0%B0%D0%BB%D0%B5%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B5%D0%B9">Побудуйте мапу залежностей</h3><p>Проєкти на мікросервісній архітектурі можуть бути настільки складними, що вкрай важко визначити вплив однієї частини на інші. Мапа залежностей тут доречна, навіть якщо ви не будете проводити хаос-тестування. Вона дозволить правильно додавати та змінювати фічі. Для хаос-тестінгу схема взаємозв’язків незамінна: в ній ви побачите, яких частин продукту стосуються різні залежності та які з них є критичними.</p><p>Побудову залежностей можна автоматизувати, наприклад, за допомогою AWS X-Ray.</p><h3 id="%D0%BD%D0%B0%D0%BB%D0%B0%D1%88%D1%82%D1%83%D0%B9%D1%82%D0%B5-%D0%B0%D0%BB%D0%B5%D1%80%D1%82%D0%B8-%D1%82%D0%B0-%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%B8">Налаштуйте алерти та бекапи</h3><p>Без страховки ніяк, і тут важливі два моменти. Перший — моніторинг. Замало спрямувати його лише на ту частину, яку тестуєте. Злам одного компонента може спровокувати збої в іншому місці, тому потрібні алерти про будь-які зміни системи. За потреби можна швидко зупинити експеримент. Друга страховка — бекапи. Всі дані та компоненти мають бути збережені. В ідеалі налаштувати все так, щоб відкат відбувався автоматично або за однією кнопкою. Це мінімізує втрати, якщо щось піде не за планом.</p><h3 id="%D1%81%D0%BF%D0%BB%D0%B0%D0%BD%D1%83%D0%B9%D1%82%D0%B5-%D0%B2%D1%81%D1%96-%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D0%B8">Сплануйте всі роботи</h3><p>Якщо ви тестуєте щось на production, то стартувати краще з невеликих компонентів і простих тестів. Так ви зможете досліджувати систему поступово і знизите ризик виникнення масштабних проблем у реальності. В будь-якому разі до початку тестів оцініть можливий рівень ураження по кожному з напрямів. Також варто викочувати зміни на обмежену кількість користувачів. Це дасть реалістичну картинку, але не призведе до великого падіння продажів чи зниження рівня задоволеності юзерів.</p><p>Якщо ж йдеться про тестування на закритих середовищах, можна діяти протилежним чином. Спочатку запускайте перевірки на всій системі, щоб виявити bottle necks, проблемні місця, де можна очікувати падіння перфомансу. Потім переходьте до тестування окремих компонентів.</p><h2 id="%D1%8F%D0%BA-%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%81%D1%82%D0%B8-chaos-testing">Як провести Chaos Testing</h2><p>Суть полягає у створенні контрольованого збою для вивчення поведінки застосунку поза межами нормальних умов. У цьому процесі виокремлюють такі етапи:</p><h3 id="1-%D0%B7%D0%B0%D1%84%D1%96%D0%BA%D1%81%D1%83%D0%B2%D0%B0%D1%82%D0%B8-%D0%BD%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%B8%D0%B9-%D1%81%D1%82%D0%B0%D0%BD-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8">1. Зафіксувати нормальний стан системи</h3><p>До початку експерименту потрібно зрозуміти, як все працює за замовчуванням. На це є дві причини. По-перше, ви маєте від чогось відштовхуватися, щоб знати, що пішло не так. По-друге, після тестування потрібно переконатися, що все стало на свої місця. Адже не виключено, що збій у межах тестування призведе до непередбачуваних наслідків і негативно вплине на роботу всієї системи. Інколи навіть після відновлення пошкоджених компонентів застосунок може працювати хибно.</p><h3 id="2-%D1%81%D1%84%D0%BE%D1%80%D0%BC%D1%83%D0%BB%D1%8E%D0%B2%D0%B0%D1%82%D0%B8-%D0%B3%D1%96%D0%BF%D0%BE%D1%82%D0%B5%D0%B7%D1%83">2. Сформулювати гіпотезу</h3><p>Подібно до наукових експериментів у Chaos Testing теж має бути гіпотеза. Спробуйте передбачити поведінку певних компонентів під час збою із заданими форматом та масштабом. Наприклад, чи зможе система перенаправити трафік на інші регіони, якщо один перестане працювати? Як зміниться показник відмов юзерів при збільшенні затримки на 200 мілісекунд? Що трапиться, коли переповниться кеш і як система повідомить про це? Краще почати тестування з однієї простої чіткої гіпотези.</p><p>Але проста гіпотеза — не значить очевидна. Навіщо перевіряти те, що однозначно «‎впаде»? Корисніше спрямувати зусилля на ті компоненти, поведінка яких здається стабільною. Тоді є шанс знайти цікаві інсайти та використати їх задля покращення продукту.</p><p>Залучайте до обговорення гіпотези всю команду. Розробники, тестувальники, девопси, дизайнери та менеджери можуть зауважити те, на що ви не звертали увагу в поведінці системи, або підказати шляхи пошуку слабких місць.</p><h3 id="3-%D0%B2%D0%B8%D0%B7%D0%BD%D0%B0%D1%87%D0%B8%D1%82%D0%B8-%D0%BC%D0%B5%D0%B6%D1%96-%D0%B5%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%83">3. Визначити межі експерименту</h3><p>Маєте гіпотезу — пропишіть умови тестування. Потрібні чіткі KPI, що підтвердять або спростують ваші здогадки. Наприклад, кількість і частота помилок, затримка, відмови, пропускна можливість тощо. При визначенні KPI орієнтуйтеся на конкретний сервіс. Наприклад, у Netflix вимірюють SPS, starts-per-second. Це кількість кліків на Play. Коли сервіс гальмує, люди часто повторно тиснуть на цю кнопку. Ця метрика вказує, що є й технічна, і користувацька проблема.</p><p>На цьому етапі також слід прорахувати тривалість експерименту та зону ураження (її ще називають радіусом вибуху). Мова про конкретні частини системи, функціонал застосунку та кількість юзерів, які зіткнуться з проблемою. Якщо ви тільки дебютуєте у Chaos Engineering, краще обмежитись не просто малою частиною системи й аудиторії, а взагалі локальним середовищем. На старті навіть на цьому рівні вся команда дізнається чимало нового про поведінку системи. Хоча прод-середовище — пріоритет.</p><h3 id="4-%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%81%D1%82%D0%B8-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">4. Провести тестування</h3><p>Слідуйте прописаному тестовому сценарію. Будь-яке відхилення від плану може спотворити результати відносно початкової гіпотези. Будьте готові швидко завершити експеримент, якщо виникли суттєві проблеми, яких ви не очікували.</p><p>Обов’язково попередьте всіх учасників команди про старт «‎хаосу». Але якщо сценарій передбачає таємність процесу для певних фахівців (щоб перевірити їхню реакцію та подальші дії), то, звісно, дотримуйтеся «‎режиму інкогніто».</p><p><strong>Виконувати хаос-тестування можна кількома способами:</strong></p><ul><li>Мануально — самостійно вносити деструктивні елементи в роботу системи, коду, обладнання тощо. Так ви повністю контролюватимете процес, але це потребує досвіду.<br></li><li>Автоматизовано — за допомогою спеціальних інструментів. Це можуть бути вбудовані механізми Linux та хмар або застосунки чи сервіси, які надають контейнери для інтеграції в середовище (детальніше про інструменти поговоримо нижче).</li></ul><h3 id="5-%D0%BF%D1%80%D0%BE%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B7%D1%83%D0%B2%D0%B0%D1%82%D0%B8-%D1%80%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8">5. Проаналізувати результати</h3><p>Підготуйте детальний звіт з виявленими проблемами та інсайтами. Опишіть, що відбувалося в системі та як реагувала команда. Також звіт має пояснювати вплив тестового збою на юзерів. Головне — показати реальні причини руйнації, дати інсайти про поведінку системи у кризових умовах і надати поради щодо попередження схожих збоїв у реальності.</p><p>Також важливо ставити часові мітки у звітах. Вони покажуть, у якому стані була система на кожному етапі. Відповіді на ці питання дадуть чимало корисної інформації для роздумів та подальших покращень:</p><ul><li>Коли почалися проблеми?</li><li>Скільки часу минуло до появи алертів на пошті чи в месенджері?</li><li>У який момент продукт зазнав найбільшої втрати функціоналу?</li><li>Через який проміжок часу система запустила автоматичне відновлення (якщо взагалі почала)?</li><li>Коли все повернулося до початкового стану?</li></ul><h3 id="6-%D0%B2%D0%BD%D0%B5%D1%81%D1%82%D0%B8-%D0%B7%D0%BC%D1%96%D0%BD%D0%B8-%D0%B2-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%96">6. Внести зміни в системі</h3><p>Передусім зміни можуть стосуватися тих частин застосунку, які виявилися нестабільними. Змініть усе, що несе в собі ризики подальших збоїв. А потім знову перевірте, як «‎падає» ця частина системи. Варто переконатися, що засвоєні уроки дійсно принесли користь для продукту та користувачів. Повторюйте експеримент і модифікуйте його, поки не впевнитеся в стабільності системи. Подекуди може бути дві-три, а то й більше ітерацій.</p><p>Другий напрям для змін — інтеграція хаос-тестування в конвеєри CI/CD. Це тестування може виконуватися разово чи як окрема послуга (наприклад, на аутсорсі), але насправді помітний ефект хаос-тестінг дає лише при системному підході. DevOps-інженери разом із девелоперами та QA мають побудувати комплексну систему хаос-інжинірингу. Це вимагає кардинальних змін робочих процесів і залучення додаткового бюджету. Але реальні несправності можуть коштувати бізнесу набагато більше.</p><h2 id="%D1%96%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B8-%D0%B4%D0%BB%D1%8F-%D1%85%D0%B0%D0%BE%D1%81-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Інструменти для хаос-тестування<br></h2><h3 id="%D1%81%D0%BF%D0%B5%D1%86%D1%96%D0%B0%D0%BB%D1%8C%D0%BD%D1%96-%D1%83%D1%82%D0%B8%D0%BB%D1%96%D1%82%D0%B8">Спеціальні утиліти</h3><p>Це невеликі консольні програми під вузькі задачі, найбільш корисні на початку тестування. Наприклад, за допомогою iptables можна змінювати роботу брандмауера, wrk створений для бенчмаркінгу HTTP, а stress-ng може перевантажити ресурси системи. Інструмент tc використовують для конфігурації планувальника пакетів ядра, а pkill — для завершення окремих процесів.</p><h3 id="%D0%BA%D0%BE%D0%BC%D0%BF%D0%BB%D0%B5%D0%BA%D1%81%D0%BD%D1%96-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%B8">Комплексні програми</h3><p>А це вже повноцінні сервіси та платформи для хаос-інжинірингу, які виконують оркестрацію несправностей різного типу й масштабу. Серед таких інструментів варто виділити Chaos Toolkit. Він має відкритий API, підтримує інтеграцію з AWS, Azure та GCP, має розширення з наборами тестів (можна створювати свої сценарії).</p><p>Поширений також Gremlin — для експериментів з усіма частинами системи. Він здатен пріоритезувати знайдені проблеми. Існують і сервіси для окремих середовищ, такі як LitmusChaos для Kubernetes і Pumba для Docker.</p><p>Simian Army створили айтівці в Netflix для тестів на AWS. На жаль, цей проєкт закритий, але окремі його частини доступні. Simian Army об’єднував кілька тулзів для збоїв різного типу й масштабу. Наприклад, Chaos Monkey, який нині розвивається як опенсорс-проєкт, може рандомно відключати інстанси. Latency Monkey створював затримки між клієнтом і сервером, Chaos Gorilla викликав збій зони AWS, а Chaos Kong — збої в цілому регіоні. Doctor Monkey перевіряв працездатність окремих екземплярів і компонентів системи, а Janitor Monkey знаходив та видаляв ресурси, які не використовуються (зараз ця тулза відома як Swabbie).</p><p>Збої є невіддільною частиною життя будь-якого цифрового продукту. Навіть у супернадійному на перший погляд проєкті коли-небудь щось-таки трапиться. На це можуть впливати помилки розробників, дії користувачів чи хакерів, відмови обладнання та інші зовнішні фактори. Головне — пам’ятати про це і готуватися, а саме —  впроваджувати хаос-тестування. Звісно, це не вбереже від усіх можливих негараздів, але принаймні зменшить імовірність збоїв та їхні наслідки, а це збереже чимало часу, грошей і нервів.</p><p><strong>Анна Молодцова, Performance QA Engineer в NIX</strong></p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Chaos Testing — особливий метод перевірки ІТ-продуктів. Йдеться про створення навмисних збоїв у системі задля подальшого аналізу її поведінки та планування дій на випадок реальних перебоїв. Хаос-тестування виявляє слабкі місця застосунку чи сайту, мережі, обладнання чи інфраструктури. Це комплексне тестування, тож його ще називають Chaos Engineering (інженерією хаосу).

Не плутайте зі ]]></description>
        <link>https://proit.ua/chaos-testing-shcho-tsie-i-chim-korisnie-tiestuvannia-khaosu-na-proiekti/</link>
        <guid isPermaLink="false">67d08cfb6c4e7e0777363f95</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Анна Молодцова ]]></dc:creator>
        <pubDate>ср, 12 бер 2025 14:00:01 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/03/futuristic-business-scene-with-u.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Chaos Testing — особливий метод перевірки ІТ-продуктів. Йдеться про створення навмисних збоїв у системі задля подальшого аналізу її поведінки та планування дій на випадок реальних перебоїв. Хаос-тестування виявляє слабкі місця застосунку чи сайту, мережі, обладнання чи інфраструктури. Це комплексне тестування, тож його ще називають Chaos Engineering (інженерією хаосу).</p><p>Не плутайте зі стрес-тестуванням (Stress Testing) і тестуванням навантаження (Load Testing). Ці підходи, які можна узагальнити під гаслом Perfomance-тестування, теж спрямовані на вивчення поведінки системи в позаштатних ситуаціях. Але порівняно з Chaos Testing є важливі відмінності:</p><p><strong>● Фокус. </strong>Perfomance-тестування може застосовуватися до системи в цілому або до окремих компонентів, а «‎хаотичне» — завжди до дуже багатьох факторів у розподілених середовищах. Це те, що треба для мікросервісної архітектури із сотнями зв’язків. Тут часто стаються каскадні збої, коли одна проблема «‎ламає» систему в кількох інших місцях.</p><p><strong>● Мета.</strong> Stress Testing і Load Testing перевіряють систему під критичним навантаженням, чи зміниться робота продукту при якихось змінах. А ось у хаос-тестуванні це другорядне. Важливо не те, чи «‎впаде» система. Головне: як і коли це відбудеться, яким чином ми дізнаємося про проблему, як будуть поводитися користувачі, чи спробує система самостійно відновитися тощо.</p><p><strong>● Середовище. </strong>Тестування продуктивності зазвичай виконується в test- і stage-середовищах, що не впливає на бізнес-процеси. Chaos Testing може проводитись і на закритих середовищах, зокрема prodlike, але й ще на відкритому — production. Адже деякі проблеми неможливо виявити без реальних користувачів. Наприклад, на проді можна побачити реакцію юзерів на збільшену затримку у завантаженні.</p><h2 id="%D0%B7%D0%B2%D1%96%D0%B4%D0%BA%D0%B8-%D0%BF%D0%BE%D1%87%D0%B8%D0%BD%D0%B0%D1%94%D1%82%D1%8C%D1%81%D1%8F-chaos-testing">Звідки починається Chaos Testing?</h2><p>Про схоже тестування можна знайти згадки в роботі Amazon та Google ще у 2000-х, а в команді Apple — навіть у 1980-х роках. Нині вважається, що підхід до «‎хаотичного» тестування <a href="https://aws.amazon.com/solutions/case-studies/netflix-reinvent-2022-evolution-of-chaos-engineering/">зародився в Netflix</a>, коли у 2011 році компанія почала переносити центри обробки даних в AWS.</p><p>Тоді хмари здавалися безперебійними: в них відсутня єдина точка входу, середовища розподілені, легко переспрямовують ресурси й трафік, роблять бекапи, замінюють кластери. Але 2015 року Netflix зазнали простою у кілька годин і щоб краще підготуватися до можливого повтору, команда запровадила глибокі перевірки системи в режимі хаосу.</p><h2 id="%D1%89%D0%BE-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D1%96%D1%80%D1%8F%D1%8E%D1%82%D1%8C-%D0%B7%D0%B0-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BC%D0%BE%D0%B3%D0%BE%D1%8E-%D1%85%D0%B0%D0%BE%D1%81-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Що перевіряють за допомогою хаос-тестування</h2><p>Підхід спрямований на всі складники цифрової системи. Серед основних місць впровадження несправностей можна виокремити такі:</p><p>● <strong>Інфраструктура.</strong> Netflix використовували хаос-тестування якраз для перевірки стійкості своєї інфраструктури. Варіантів, куди спрямувати руйнування, чимало: зупинка випадкових інстансів, відключення окремих зон чи регіонів, від’єднання від повноцінного центру обробки даних тощо.</p><p>● <strong>Мережа</strong>. Це невіддільна частина хаос-інжинірингу для будь-яких систем, особливо розподілених. Тут можна створювати затримки, відправляти пакети у чергу або задавати їх втрату, змінювати файл hosts і налаштування DNS або імітувати пошкодження мережі.</p><p>● <strong>Ресурси. </strong>На цьому рівні впровадити помилки можна в ядро чи кеш CPU, файлову систему, оперативну пам’ять, операційну систему, API, віртуальні машини тощо. Також можна вичерпати місце на жорсткому диску, відключити напругу на сервері або окремі планки пам’яті.</p><p>● <strong>Застосунок.</strong> Цей шар найоб’ємніший, і залежно від структури продукту поламатися можуть сотні частин. На бекенді можуть бути проблеми з базами даних, падіння окремих процесів, наприклад, Java, помилки в лямбда-функції. На фронтенді можуть відмовити плагіни, певні функції сервісу чи вбудовані інтеграції.</p><p><strong>● Люди.</strong> Критичні сценарії можна запускати на рівні команди. Наприклад, щоб перевірити, як фахівці зреагують та розв’язуватимуть проблему, чи будуть вони слідувати прописаним процедурам тощо. Можна навіть «відключити» ключового інженера (імітація відпустки чи лікарняного) та подивитись, чи зможе команда самотужки забезпечити роботу системи в разі несправності.</p><h2 id="%D0%B7-%D1%87%D0%B8%D0%BC-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BC%D0%BE%D0%B6%D0%B5-chaos-testing">З чим допоможе Chaos Testing</h2><p>● <strong>Виявити проблему до «‎падіння» системи.</strong> Вкрай важливо побачити потенційні точки відмови до небажаного моменту. Це дозволить якісно змінити роботу всієї системи, підвищити її стійкість і доступність. Врешті це знизить і втрати компанії: ресурсні, фінансові, репутаційні.</p><p>●<strong> Знайти приховані проблеми та краще зрозуміти, що відбувається «під капотом‎».</strong> Сучасні розподілені системи подекуди заскладні, з великою кількістю компонентів та зв’язків. Тож навіть досвідчені фахівці можуть не знати всіх їхніх слабких місць. Хаос-тестування виявляє приховані вразливості та показує поведінку системи під час різних за форматом і масштабом збоїв.</p><p>● <strong>Покращити моніторинг несправностей. </strong>Неможливо впровадити Chaos Testing без побудови й налагодження великої системи телеметрії. Вона ж корисна не тільки в процесі хаос-тестування, але й у повсякденній роботі. Операційні команди отримують більше показників для аналізу стану системи та можуть заздалегідь виявляти певні проблеми.</p><p>● <strong>Розробити «рятівні» сценарії.</strong> Одразу виправити всі знайдені проблеми складно, але можливо підготуватися до них. Розуміння ризиків дозволяє прописати детальний план дій на випадок тих чи інших збоїв. Також документація спрощує онбординг новачків у команді, дає змогу швидше розібратися в особливостях побудованої системи.</p><p>● <strong>Покращити команду роботу. </strong>Будь-які збої — завжди стрес. А в таких умовах команда часто зосереджується на пошуку винних, хоч насправді це не розв’язує проблему. Куди важливіше налаштувати процес таким чином, щоб проблема не повторилась. Практика показує: системне хаос-тестування якісно змінює комунікацію в команді та підвищує ефективність роботи.</p><h2 id="%D0%BF%D0%B0%D0%BC%E2%80%99%D1%8F%D1%82%D0%B0%D0%B9%D0%BC%D0%BE-%D0%BF%D1%80%D0%BE-%D0%BD%D0%B5%D0%B4%D0%BE%D0%BB%D1%96%D0%BA%D0%B8">Пам’ятаймо про недоліки</h2><p><strong>Збільшення ресурсів. </strong>Додатковий етап тестування тягне за собою додаткові витрати по часу і грошах. До того ж Chaos Testing часто об’ємніший, ніж інші QA-задачі. Хоча для ІТ-фахівців користь від змін очевидна, та далеко не кожен власник бізнесу погодиться на впровадження стресових перевірок у власному продукті. Доведеться зібрати аргументи, щоб переконати замовника в необхідності такого тестування на благо проєкту.</p><p><strong>Складність виконання. </strong>Знадобляться глибокі знання в кількох сферах: програмування, тестування, DevOps, досвід роботи з хмарними середовищами, вміння працювати зі складною архітектурою. І цей список далеко не вичерпний. Щоб тестування пройшло ефективно, потрібно прописати якісні тестові сценарії, налаштувати їх і правильно ввести в систему без зайвих ризиків. На додачу — ще й грамотно проаналізувати результати. Адже у великих розподілених системах причини збоїв можуть бути неочевидними.</p><p><strong>Ризик виникнення реальних збоїв. </strong>Створюючи помилки в межах хаос-тестування, обов’язково контролюйте їх. Ви не просто запускаєте «‎хаос» — ви маєте розуміти, в якому напрямку він розвивається та як повернути все назад. Врахуйте, що такі перевірки часто відбуваються на продакшені, і неприпустимо «‎обвалити» всю систему. Тож треба ретельно готувати бекапи й інші страховки для швидкого відновлення.</p><p><strong>Потреба у зміні пріоритетів.</strong> Іноді за результатами хаос-інжинірингу зміни доходять до рівня архітектури. Це знову ж тягне за собою додаткові витрати. Замовник може зауважити: зараз важливіші, наприклад, нові фічі. Але який в них сенс, якщо система не працює, як треба? Враховуйте, що й тут потрібен час на обговорення пріоритетів. Але це виправдано, якщо врешті всім потрібен якісний продукт.</p><h2 id="%D0%BD%D0%B5-%D0%BF%D0%B0%D0%BD%D0%B0%D1%86%D0%B5%D1%8F-%D0%B2%D1%96%D0%B4-%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC-%D0%B0%D0%BB%D0%B5-%D1%81%D0%BF%D1%80%D0%BE%D0%B1%D1%83%D0%B2%D0%B0%D1%82%D0%B8-%D0%B2%D0%B0%D1%80%D1%82%D0%BE">Не панацея від проблем, але спробувати варто</h2><p>Хаос-тестування доцільне в проєктах, яким критично важлива безперебійна робота. Зокрема, цифровим продуктам у сфері фінансів, охорони здоров’я, державним реєстрам, соціально важливій інфраструктурі, телекомунікаціях, логістиці, кібербезпеці, для стрімінгів та eCommerce.</p><p>У деяких випадках хаос-тестування зайве. Наприклад, без нього можуть обійтися невеликі статичні проєкти, без тисяч залежностей, із застарілою архітектурою, яку вже не модифікувати. Навряд чи варто ретельно перевіряти стабільність продуктів із низькими вимогами доступності.</p><p>Це стосується внутрішніх сервісів компаній, простих корпоративних та освітніх платформ, MVP. І хоч Chaos Testing — не панацея від усіх можливих проблем на проді, але однозначно це дієвий спосіб прокачати на стійкість свою команду і продукт загалом.</p><p>Про те, як підготуватися до хаос-тестування, які інструменти для цього потрібні та які етапи передбачає процес, розповімо в наступному матеріалі.</p><p><strong>Анна Молодцова, Performance QA Engineer в NIX</strong></p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ У сучасному світі кіберзагроз практично щодня будь-який бізнес може стати мішенню зловмисників. Більше не працює парадигма «ми маленькі й нікому не потрібні» або «ми великі й зможемо себе захистити». Все більше зусиль потрібно докладати для того, щоб як мінімум не відставати від сучасних рішень захисту та їх якісного й ефективного ]]></description>
        <link>https://proit.ua/msp-mssp-mdr-ta-kibierbiezpieka-malogho-ta-sieriednogho-bizniesu/</link>
        <guid isPermaLink="false">67c6fa194589d607216f4590</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Олексій Севонькін ]]></dc:creator>
        <pubDate>ср, 05 бер 2025 14:00:57 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/03/cyber-security-security-password-login-online-concept-hands-typing-entering-username-password-social-media-log-with-smartphone-online-bank-account-data-protection-hacker.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>У сучасному світі кіберзагроз практично щодня будь-який бізнес може стати мішенню зловмисників. Більше не працює парадигма «ми маленькі й нікому не потрібні» або «ми великі й зможемо себе захистити». Все більше зусиль потрібно докладати для того, щоб як мінімум не відставати від сучасних рішень захисту та їх якісного й ефективного використання.</p><p>Ми бачили й бачимо наслідки гучних зламів як маленьких, так і великих компаній, зокрема державних. Це свідчить про те, що ситуація з кібербезпекою не стає кращою.</p><p>Широка адаптація та революційний прогрес використання AI-технологій значно підвищують ризики та, з одного боку, надають переваги зловмисникам, оскільки значно спрощують прості й типові атаки, написання шкідливих листів і спам-листів, а з іншого боку, це додає можливостей і захисникам.</p><p>На сьогодні самостійне управління ІТ-інфраструктурою та кібербезпекою підприємства без залучення кваліфікованих інтеграторів або провайдерів послуг, на жаль, може призвести до фатальних помилок насамперед через дефіцит експертних ресурсів, які розуміють не тільки, як правильно налаштувати та підтримувати складні системи ІТ і кібербезпеки, а і як проаналізувати, провести розслідування і якісно відреагувати на інциденти.</p><p>З огляду на наш досвід, часто компанії малого й середнього бізнесу використовують не більше ніж 50–70% функціоналу систем захисту, які вони купили.</p><p>Таким чином, можна говорити про те, що ви просто втрачаєте принаймні 50% своїх грошей і не завжди ефективно використовуєте вкладені інвестиції. Якщо у вас немає підрозділу Security Operation Center (SOC), то ці кіберпомилки можуть стати фатальними для вашого бізнесу.</p><p>Для усунення таких недоліків і з’явився сегмент компаній, які фокусуються на керованих послугах. На сьогодні все більше сучасних бізнесів вибирають Manage Service провайдерів MSP, MSSP і MDR сервіси, які можуть забезпечувати не лише захист і підтримку систем, а й проактивний моніторинг ваших сервісів і критичних даних.</p><h2 id="%D1%89%D0%BE-%D1%82%D0%B0%D0%BA%D0%B5-managed-services">Що таке Managed Services</h2><p>Managed Services — це модель аутсорсингу, коли професійний партнер бере на себе управління та підтримку вашої ІТ-інфраструктури. Це не просто передавання завдань, а інтеграція висококваліфікованих рішень для забезпечення роботи ІТ (ІТ-інфраструктури), систем захисту з питань налаштування, технічної підтримки (конфігурування, оновлення), а також моніторингу та виправлення можливих проблем.</p><p><strong>Приклад: </strong>Компанія АБВ вирішила відмовитися від команди власного відділу SOC і покластися на провайдера послуг MSSP/MDR. Результат? Зниження витрат на 30%+ і покращення захищеності даних, адже фахівці MSSP/MDR розгорнули системи кібербезпеки, взяли на себе всі функції підтримки, а також завдання з детектування, аналізу ескалації інцидентів, подальшу спільну роботу з розслідування та реагування на інциденти, а також покращення роботи систем ІТ і кібербезпеки.</p><h2 id="mssp-vs-%D0%B0%D1%83%D1%82%D1%81%D0%BE%D1%80%D1%81%D0%B8%D0%BD%D0%B3">MSSP VS Аутсорсинг</h2><p>На відміну від звичайного аутсорсингу, де передаються «в оренду» люди або окремі завдання чи системи, Managed Services гарантують постійне управління, інтеграцію з вашими бізнес-процесами та проактивний моніторинг. Це означає, що ви отримуєте комплексну підтримку, яка значно покращує якість роботи систем ІТ і кібербезпеки та зменшує ризики кібератак.</p><h2 id="msp-mssp-%D1%96-mdr-%E2%80%94-%D1%83-%D1%87%D0%BE%D0%BC%D1%83-%D1%80%D1%96%D0%B7%D0%BD%D0%B8%D1%86%D1%8F">MSP, MSSP і MDR — у чому різниця</h2><p>Дуже часто ці терміни плутають. Це пов’язано з тим, що вендори використовують ці терміни у вільному трактуванні. Однак деяка різниця є, і вона пов’язана з фокусом цих послуг.</p><h3 id="msp-managed-service-provider">MSP (Managed Service Provider)</h3><p>Забезпечує стабільну роботу ІТ-ресурсів: адміністрування мереж, резервне копіювання, оновлення програмного забезпечення.</p><h3 id="mssp-managed-security-services-provider">MSSP (Managed Security Services Provider)</h3><p>Фокусується на кібербезпеці. Відповідає за всі роботи, пов’язані з налаштуванням і підтримкою систем кібербезпеки.</p><h3 id="mdr-managed-detection-response">MDR (Managed Detection &amp; Response)</h3><p>Це вже розвинута послуга, але з фокусом на операційну діяльність систем захисту (EDR/XDR, NDR, Cyber Deception, SOC тощо) та операції, пов’язані з детектуванням, аналізом, розслідуванням і реагуванням, які можуть відбуватися як у межах одного рішення (наприклад EDR/XDR) або всього комплексу рішень, так і в межах підрозділу SOC (зрозуміло, що це більш ефективна послуга).</p><p>У різних компаній-замовників різний погляд на використання цих сервісів. Попри те, що кваліфікації або кількості персоналу може бути не досить для забезпечення ефективної роботи систем ІТ і кібербезпеки, CIO/CISO компаній не готові залучати зовнішні компанії для таких керованих послуг.</p><p>Насамперед це питання довіри та кваліфікації партнерів. Тут єдина експертна порада — ретельно вивчати й аналізувати ринок, оцінювати практичний досвід і відгуки замовників, проводити пілотні проєкти.</p><p>Варто акцентувати, що постійне ігнорування відсутності персоналу або персоналу потрібної кваліфікації рано чи пізно може призвести до сумних наслідків, зокрема і ризиків неприпустимих подій, включно зі значними фінансовими збитками та штрафними санкціями.</p><h2 id="%D1%87%D0%BE%D0%BC%D1%83-%D1%86%D0%B5-%D0%B2%D0%B0%D0%B6%D0%BB%D0%B8%D0%B2%D0%BE-%D1%82%D0%B0-%D0%B2%D0%B8%D0%B3%D1%96%D0%B4%D0%BD%D0%BE-%D0%B4%D0%BB%D1%8F-%D0%BC%D1%81%D0%B1-%D0%B2-%D1%83%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%96">Чому це важливо та вигідно для МСБ в Україні</h2><p>Серед переваг використання послуг MSR, MSSP, MDR можна виокремити такі:</p><p><strong>• Швидкий старт. </strong>Без зайвих витрат на розгортання інфраструктури.</p><p><strong>• Відсутність дефіциту експертів. </strong>Професіонали на місці замість пошуку й утримання власного персоналу.</p><p><strong>• Можливість цілодобового моніторингу. </strong>Постійний контроль за роботою систем (навіть у режимі 24/7) із миттєвим реагуванням на загрози, без значних інвестицій у команду замовника.</p><p><strong>•</strong> <strong>Гнучкість і масштабованість. </strong>Сервіси адаптуються під ваші поточні потреби та зростання бізнесу.</p><p><strong>• Доступ до передових технологій. </strong>Використання новітніх засобів захисту, таких як SIEM, XDR, EDR, NDR і SOAR, — і ви можете бути впевненими, що сучасні технології будуть працювати на всі 100%.</p><p><strong>• Зменшення витрат. </strong>Економія на утриманні внутрішньої команди, оскільки якісні спеціалісти коштують дорого і їх потрібно навчати, утримувати та давати цікаву роботу, водночас утримуючи високий рівень захисту.</p><p><strong>•</strong> <strong>Зовнішній погляд на ваші системи ІТ і кібербезпеки. </strong>Дає можливість оцінити, чи дійсно все налаштовано і працює правильно згідно з кращими практиками та рекомендаціями, чи не існує проблем, пов’язаних із кібербезпекою.</p><p><strong>• Синергія співпраці команд замовника й оператора послуг. </strong>Дає змогу інженерам і керівникам замовника сфокусуватися на складніших чи стратегічніших завданнях.</p><h2 id="%D1%82%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D1%97-%D1%89%D0%BE-%D1%81%D1%82%D0%BE%D1%8F%D1%82%D1%8C-%D0%B7%D0%B0-mdr-%D1%96-mssp">Технології, що стоять за MDR і MSSP</h2><h3 id="mssp">MSSP</h3><p>Сучасні NG-FW міжмережеві екрани, або UTM-системи (Cisco, Fortinet, Palo Alto Networks), системи виявлення аномалій (UEBA), системи контролю доступу PAM, системи захисту електронної пошти, системи аналізу WEB-трафіку, антивірусні системи, вебсервери й інше. Тобто фокусування насамперед на керуванні системами захисту.</p><h3 id="mdr">MDR</h3><p>SIEM, XDR, EDR, NDR, Cyber Deception, SOAR-інструменти для глибшого аналізу, детектування, розслідування й оперативного реагування на інциденти. Всі ці системи є, по суті, системами збору й аналітики даних. З ними має працювати експертна команда, яка розуміється на тому, як не просто ефективно налаштувати систему, а й виявити інцидент, провести розслідування щодо обставин його виникнення та відповідне реагування і вжити заходів для мінімізації повторення. Це саме те, що зазвичай передається команді Security Operation Center, яка заточена під операційну модель використання цих технологій.</p><p>MSP, MSSP і MDR — це не просто послуги, а стратегічний інструмент керівника CxO рівня, що дає змогу захистити бізнес від сучасних кіберзагроз, оптимізувати витрати та забезпечити безперебійну роботу ІТ-інфраструктури й основних сервісів. Зробіть свій бізнес стійкішим до кібератак і відкрийте нові можливості для зростання навіть в умовах «першої світової кібервійни».</p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ З 1 січня 2025 року в Україні набули чинності нові правила оподаткування, які зачепили всіх, хто працює в IT-секторі. Найбільше змін торкнулися резидентів Дія.City та ФОПів, які звикли до спрощеної податкової системи.

Держава вирішила скоригувати правила гри, збільшити податкові надходження й водночас підтримати економіку в умовах воєнного стану. Що ]]></description>
        <link>https://proit.ua/podatkovi-zmini-dlia-it-u-2025-rotsi-shcho-potribno-znati/</link>
        <guid isPermaLink="false">67c483494589d607216f441a</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Дмитро Кондратьєв ]]></dc:creator>
        <pubDate>пн, 03 бер 2025 14:00:16 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/03/----------_2025-03-02_182420773.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>З 1 січня 2025 року в Україні набули чинності нові правила оподаткування, які зачепили всіх, хто працює в IT-секторі. Найбільше змін торкнулися резидентів <a href="https://city.diia.gov.ua/">Дія.City</a> та ФОПів, які звикли до спрощеної податкової системи.</p><p>Держава вирішила скоригувати правила гри, збільшити податкові надходження й водночас підтримати економіку в умовах воєнного стану. Що ж тепер змінилося? Давайте розберемося. IT-юрист Дмитро Кондратьєв розповів про це у своїй колонці.</p><h2 id="%D1%89%D0%BE-%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B5%D0%B7%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D1%96%D0%B2-%D0%B4%D1%96%D1%8Fcity">Що нового для резидентів Дія.City?</h2><p>Компанії, що працюють у правовому режимі Дія.City, отримали <a href="https://biz.ligazakon.net/news/233016_zakon--4113-podatkov-zmni-dlya-rezidentv-dya-st">певні податкові пільги</a>. Наприклад, тепер не оподатковуються суми, які вони сплачують за працівників у межах пенсійного забезпечення та медичного страхування. Головне, щоб ці витрати не перевищували 30% від заробітної плати чи винагороди спеціаліста.</p><p>Ще один важливий момент — на час дії воєнного стану операції, пов’язані з передаванням коштів, товарів чи послуг на потреби Збройних Сил України або гуманітарної допомоги, не підлягають оподаткуванню. Це важливий крок, який допоможе бізнесу підтримувати армію без додаткових податкових зобов’язань.</p><p>Водночас для спеціалістів, які працюють у компаніях-резидентах, з’явилася не дуже приємна новина: окрім 5% податку на доходи, тепер <a href="https://ips.ligazakon.net/document/dpa2867?utm_source=biz.ligazakon.net&amp;utm_medium=news&amp;utm_content=bizpress02&amp;_ga=2.160395326.26340300.1739519173-569970102.1727965177#_gl=1*vlwcx*_gcl_au*NzY2OTg1NjU2LjE3MzY4NTY1NjA.">потрібно сплачувати</a> ще й 5% військового збору. У результаті ефективна ставка зросла до 10%. Щоправда, цей варіант усе одно є значно вигіднішим, аніж стандартні 18+5% для інших працівників.</p><h2 id="%D1%8F%D0%BA-%D0%B7%D0%BC%D1%96%D0%BD%D0%B8%D1%82%D1%8C%D1%81%D1%8F-%D0%BE%D0%BF%D0%BE%D0%B4%D0%B0%D1%82%D0%BA%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%B4%D0%BB%D1%8F-%D1%84%D0%BE%D0%BF">Як зміниться оподаткування для ФОП?</h2><p>Найвідчутніші зміни стосуються фізичних осіб-підприємців. По-перше, вводиться обов’язковий військовий збір. Тепер ФОПи 1, 2 та 4 груп щомісяця сплачуватимуть 800 гривень (10% від мінімальної зарплати). Для ФОП 3 групи військовий збір становитиме 1% від доходу.</p><p>Тобто класична схема роботи через ФОП 3 групи, яка раніше передбачала сплату лише 5% єдиного податку, тепер коштуватиме вже 6% (5% ЄП + 1% військового збору) + ЄСВ.</p><p>Ось ще одна зміна, яку точно не можна ігнорувати: повертається обов’язкова сплата ЄСВ. Протягом воєнного стану підприємці могли не сплачувати внески до Пенсійного фонду, але з 2025 року це вже не варіант. Мінімальний ЄСВ становитиме 1760 гривень на місяць (22% від мінімальної зарплати).</p><p>Окремо варто згадати ліміти доходу для спрощеної системи. Вони не зазнали радикальних змін, але все-таки їх варто мати на увазі:</p><ul><li>ФОП 1 групи — до 1 336 000 гривень.</li><li>ФОП 2 групи — до 6 672 000 гривень.</li><li>ФОП 3 групи — до 9 336 000 гривень.</li></ul><p>Якщо перевищити ці ліміти, доведеться перейти на загальну систему оподаткування, а це вже зовсім інші суми податків і звітності.</p><h2 id="%D1%89%D0%BE-%D1%86%D0%B5-%D0%BE%D0%B7%D0%BD%D0%B0%D1%87%D0%B0%D1%94-%D0%B4%D0%BB%D1%8F-it-%D1%84%D0%B0%D1%85%D1%96%D0%B2%D1%86%D1%96%D0%B2-%D1%96-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D1%96%D0%B9">Що це означає для IT-фахівців і компаній?</h2><p>Зміни в податковій системі вплинуть на вибір податкової моделі для IT-спеціалістів. ФОПи більше не зможуть ігнорувати військовий збір, а також повинні будуть сплачувати ЄСВ. Це збільшує навантаження, але поки що ФОП-модель залишається вигідною для тих, хто заробляє до 9,3 мільйона гривень на рік.</p><p>З іншого боку, резиденти Дія.City зберегли пільгову ставку, хоча військовий збір у розмірі 5% трохи погіршив умови. Попри це, оподаткування гіг-спеціалістів (10%) все ще є актуальним, особливо порівняно із класичним працевлаштуванням, де загальні податкові витрати можуть сягати понад 40%.</p><p>Якщо ж ви працюєте як ФОП, то доведеться переглянути фінансову модель і вирішити, чи варто залишатися на спрощеній системі, чи, можливо, розглянути варіант переходу в Дія.City.</p><p>У будь-якому випадку, краще заздалегідь проконсультуватися з бухгалтером і продумати свою стратегію, адже 2025 рік обіцяє бути цікавим.</p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Вибір ERP-системи, навіть найсучаснішої, та залучення команди досвідчених фахівців — це лише початок шляху. Невідповідне керівництво проєктом може звести нанівець усі зусилля і призвести до небажаних наслідків: проєкт може зайти у глухий кут або ви витратите бюджет на зайві кастомізації.

Впровадження ERP — це складний процес, що потребує поєднання різноманітних компетенцій, узгодження ]]></description>
        <link>https://proit.ua/iak-obrati-vnutrishnogho-kierivnika-erp-proiektu/</link>
        <guid isPermaLink="false">679f6c729f7c4906de575b1e</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Віталій Курдюмов ]]></dc:creator>
        <pubDate>ср, 05 лют 2025 14:00:35 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/02/group-business-people-having-meeting-together-office.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Вибір ERP-системи, навіть найсучаснішої, та залучення команди досвідчених фахівців — це лише початок шляху. Невідповідне керівництво проєктом може звести нанівець усі зусилля і призвести до небажаних наслідків: проєкт може зайти у глухий кут або ви витратите бюджет на зайві кастомізації.</p><p>Впровадження ERP — це складний процес, що потребує поєднання різноманітних компетенцій, узгодження очікувань і розвінчування міфів. Тому роль керівника проєкту тут є вирішальною.</p><p>Важливо зазначити, що йдеться про керівника проєкту з боку компанії-замовника, тобто внутрішнього співробітника, а не представника компанії-імплементатора рішень. Традиційно на цю посаду розглядають фахівців з IT або фінансової сфери.</p><p>Вибір керівника ERP-проєкту – це одне з найважливіших рішень, яке впливає на успіх усього проєкту. Ідеальний кандидат має поєднувати в собі технічні знання, розуміння бізнес-процесів, лідерські якості та досвід управління проєктами. Проте на практиці буває дещо інакше.</p><h2 id="%D1%85%D1%82%D0%BE-%D0%B6-%D0%BA%D1%80%D0%B0%D1%89%D0%B5-%D0%B2%D0%BF%D0%BE%D1%80%D0%B0%D1%94%D1%82%D1%8C%D1%81%D1%8F-%D1%96%D0%B7-%D1%86%D0%B8%D0%BC-%D0%B7%D0%B0%D0%B2%D0%B4%D0%B0%D0%BD%D0%BD%D1%8F%D0%BC">Хто ж краще впорається із цим завданням?</h2><p><strong>IT-менеджери:</strong> Їхньою сильною стороною є технічна підкованість. Вони знайомі з процесами впровадження цифрових інструментів, розуміють принципи розроблення, роботи з базами даних та інтеграції систем. Їхня головна мотивація — створення стабільної, сучасної та масштабованої системи, що легко інтегрується в наявну інфраструктуру.</p><p><strong>Фінансові менеджери:</strong> Вони мають глибше розуміння бізнес-потреб і цілей упровадження ERP. Відповідають за фінансову звітність та ефективність компанії, чітко усвідомлюють необхідність контролю даних та автоматизації бізнес-процесів. Їхня мета — отримати потужний інструмент для оперативного й достовірного аналізу даних про діяльність підприємства.</p><p>Практика показує, що успішними керівниками ERP-проєктів ставали як IT-менеджери, так і фінансисти, а іноді й окремо залучені фахівці. Вибір залежав від специфіки компанії та наявних ресурсів. Наприклад, у компаніях зі слабким IT-відділом проєктом часто керував фінансист. Однак зустрічались і CIO, які демонстрували глибоке розуміння бізнес-процесів та управління фінансами.</p><h3 id="%D0%BD%D0%B0%D0%B9%D0%B5%D1%84%D0%B5%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D1%96%D1%88%D0%B8%D0%BC-%D0%BF%D1%96%D0%B4%D1%85%D0%BE%D0%B4%D0%BE%D0%BC-%D1%94-%D0%BF%D1%80%D0%B8%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%BD%D1%8F-%D0%BA%D0%B5%D1%80%D1%96%D0%B2%D0%BD%D0%B8%D0%BA%D0%BE%D0%BC-%D0%BF%D1%80%D0%BE%D1%94%D0%BA%D1%82%D1%83-%D1%84%D0%B0%D1%85%D1%96%D0%B2%D1%86%D1%8F-%D1%8F%D0%BA%D0%B8%D0%B9-%D0%B2%D0%BE%D0%BB%D0%BE%D0%B4%D1%96%D1%94-%D0%BA%D0%BE%D0%BC%D0%B1%D1%96%D0%BD%D0%B0%D1%86%D1%96%D1%94%D1%8E-%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%B8%D1%85-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B5%D1%82%D0%B5%D0%BD%D1%86%D1%96%D0%B9">Найефективнішим підходом є призначення керівником проєкту фахівця, який володіє комбінацією основних компетенцій:</h3><ul><li><strong>IT-компетенції:</strong> знання архітектури ERP-систем, досвід роботи з кодом, тестуванням та розуміння функціоналу.</li><li><strong>Бізнес-компетенції:</strong> розуміння принципів бухгалтерського обліку, формування собівартості, логістики та виробництва.</li></ul><p>Ідеальний кандидат — це фахівець з успішним досвідом упровадження ERP, який підпорядковується одночасно CIO і CFO, забезпечуючи баланс між технічними й бізнес-вимогами.</p><h3 id="%D0%BE%D0%BA%D1%80%D1%96%D0%BC-%D1%82%D0%B5%D1%85%D0%BD%D1%96%D1%87%D0%BD%D0%B8%D1%85-%D0%B7%D0%BD%D0%B0%D0%BD%D1%8C-%D1%96-%D1%80%D0%BE%D0%B7%D1%83%D0%BC%D1%96%D0%BD%D0%BD%D1%8F-%D0%B1%D1%96%D0%B7%D0%BD%D0%B5%D1%81-%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%96%D0%B2-%D1%96%D0%B4%D0%B5%D0%B0%D0%BB%D1%8C%D0%BD%D0%B8%D0%B9-%D0%BA%D0%B5%D1%80%D1%96%D0%B2%D0%BD%D0%B8%D0%BA-erp-%D0%BF%D1%80%D0%BE%D1%94%D0%BA%D1%82%D1%83-%D0%BC%D0%B0%D1%94-%D0%B2%D0%BE%D0%BB%D0%BE%D0%B4%D1%96%D1%82%D0%B8-%D1%82%D0%B0%D0%BA%D0%B8%D0%BC%D0%B8-%D1%8F%D0%BA%D0%BE%D1%81%D1%82%D1%8F%D0%BC%D0%B8">Окрім технічних знань і розуміння бізнес-процесів, ідеальний керівник ERP-проєкту має володіти такими якостями:</h3><ul><li>Здатність мотивувати команду, вирішувати конфлікти й ухвалювати рішення у складних ситуаціях.</li><li>Вміння ефективно спілкуватися з різними категоріями співробітників — від топменеджменту до рядових працівників.</li><li>Здатність успішно впроваджувати зміни в організації та долати опір до них.</li><li>Мати досвід у плануванні, організації й контролюванні проєктів.</li><li>Займатися так званою адвокацією бюджету проєкту й контролювати зайві вимоги від внутрішніх замовників до команди партнера з інтеграції ERP-рішення.</li></ul><h3 id="%D0%BD%D0%B0-%D1%83%D1%81%D0%BF%D1%96%D1%85-%D1%83%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B4%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F-erp-%D0%B2%D0%BF%D0%BB%D0%B8%D0%B2%D0%B0%D1%8E%D1%82%D1%8C-%D0%B9-%D1%96%D0%BD%D1%88%D1%96-%D1%84%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B8">На успіх упровадження ERP впливають й інші фактори:</h3><ul><li>Активна участь користувачів у проєкті з самого початку. Не чекати запуску у go-live, слухати тренінги, тестувати, вивчати систему, моделювати сценарії разом із командою партнера.</li><li>Чітка позиція керівництва щодо важливості проєкту, можлива додаткова мотивація драйверів проєкту серед команди.</li><li>Розуміння того, що впровадження ERP — це тривалий і складний процес.</li><li>Готовність адаптувати проєкт до змінних умов, виокремити основні проєктні MVP. Якщо зростають обсяги вимог, то бути готовими до збільшення бюджету на впровадження, або поділяти на етапність план проєкту, якщо він вбачається спільній команді занадто громіздким.</li></ul><h2 id="%D1%82%D0%B8%D0%BF%D0%BE%D0%B2%D1%96-%D0%BF%D0%BE%D0%BC%D0%B8%D0%BB%D0%BA%D0%B8-%D0%BF%D1%80%D0%B8-%D0%B2%D0%B8%D0%B1%D0%BE%D1%80%D1%96-%D0%BA%D0%B5%D1%80%D1%96%D0%B2%D0%BD%D0%B8%D0%BA%D0%B0-%D0%BF%D1%80%D0%BE%D1%94%D0%BA%D1%82%D1%83">Типові помилки при виборі керівника проєкту</h2><ul><li>Призначають на роль керівника проєкту співробітника, який має вільний час, але не має необхідних компетенцій. Просто за фактором доступності.</li><li>Акцент лише на технічних знаннях, без урахування лідерських якостей і комунікативних навичок. Софт-скіли рулять, правильна комунікація й точки контролю можуть суттєво допомогти вашому проєкту.</li><li>Призначення на роль керівника проєкту співробітника, який раніше не стикався з подібним софтом, не знає принципів упровадження ERP — його навчання оплатите по факту ви.</li></ul><p>Вибір керівника ERP-проєкту — це стратегічно важливе рішення. Його компетенції, досвід і лідерські якості безпосередньо впливають на строки реалізації, бюджет і загальний успіх проєкту. Тому не варто недооцінювати цей аспект, адже саме від керівника залежить, стане впровадження ERP успішною історією чи черговим прикладом невдалого проєкту.</p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Ця стаття — невеликий бліц відповідей на запитання, які мені часто задають під час консультацій із налаштування згоди (Consent). Тут немає певної послідовності або загальної теми, тому для навігації використовуйте зміст.

Обов’язково ознайомтесь із примітками, перш ніж ви почнете читати далі.

Примітка 1. Цей матеріал не є юридичною консультацію. Його ]]></description>
        <link>https://proit.ua/13-naichastishikh-zapitan-pro-nalashtuvannia-consent-iaki-zadaiut-kliienti/</link>
        <guid isPermaLink="false">67804fb181fcc006b108775b</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Максим Гапчук ]]></dc:creator>
        <pubDate>ср, 22 січ 2025 14:00:52 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/01/business-concepts-businessman-uses-digital-tablet.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Ця стаття — невеликий бліц відповідей на запитання, які мені часто задають під час консультацій із налаштування згоди (Consent). Тут немає певної послідовності або загальної теми, тому для навігації використовуйте зміст.</p><p>Обов’язково ознайомтесь із примітками, перш ніж ви почнете читати далі.</p><p><em>Примітка 1. Цей матеріал не є юридичною консультацію. Його мета трохи розвінчати купу міфів і хибних тверджень про налаштування консенту, які ширяться в інтернет. Так, я провів велику роботу, зібравши відповіді, та поспілкувався з юристами багатьох компаній, але я сам не є юристом. Я вебаналітик. Тому ви можете бути 100% впевнені у моїх відповідях на технічні питання, але не забудьте уточнити у свого юриста юридичні нюанси.</em></p><p><em>Примітка 2. На те, що зараз, працюючи на Європейську економічну зону (ЄЕЗ), ми керуємося принципом Privacy by Default, вплинуло багато «законів». Найбільше GDPR та DMA, але є й інші. Зверніть увагу, трішки раніше я вжив слово «закони», хоча насправді той же DMA є актом, але я не хочу перевантажувати цей матеріал юридичними термінами, тому для спрощення завжди буду використовувати слово «закони».</em></p><p><em>Примітка 3. Я також не хочу перевантажувати текст технічними термінами, тому буду використовувати термін «cookie». Водночас матиму на увазі різні сховища даних: власне cookie, Local Storage та  Session Storage та інші технології. Детальніше про це буде в пункті № 3 «Чи стосується «cookie» виключно файлів cookie, чи включає також інші подібні технології збору даних?»</em></p><ol><li>Чи налаштування згоди стосується тільки cookie третьої сторони?</li><li>Чи можна хоча б якісь cookie назначити користувачу без його згоди?</li><li>Чи стосується cookie виключно файлів cookie, чи включає також інші подібні технології збору даних?</li><li>Чи стосуються правила згоди лише даних, що передаються третім сторонам?</li><li>Чи поширюються ці вимоги лише на Європу, чи діють також в інших регіонах?</li><li>Чи поширюються ці налаштування на Україну?</li><li>Чи стосуються налаштування згоди лише сервісів Google, чи охоплюють й інші платформи?</li><li>Чи стосується консент сайтів, які купують рекламу, а не продають її?</li><li>Чи потрібно мати окрему сторінку із Privacy Policy?</li><li>Чому краще робити банер консенту через CMP?</li><li>Чи можна використовувати GTM (Google Tag Manager) для управління згодою? Чи дозволяється використання GTM, якщо користувач заборонив використання cookie?</li><li>Чи вважається порушенням консенту, якщо банер згоди, що налаштований через GTM, не показується через використання блокувальників реклами?</li><li>Чи потрібно кожного разу, коли користувач заходить на сайт, збирати згоду-повтор?</li><li>Замість висновку.</li></ol><h2 id="%E2%84%96-1-%D1%87%D0%B8-%D0%BD%D0%B0%D0%BB%D0%B0%D1%88%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%B7%D0%B3%D0%BE%D0%B4%D0%B8-%D1%81%D1%82%D0%BE%D1%81%D1%83%D1%94%D1%82%D1%8C%D1%81%D1%8F-%D1%82%D1%96%D0%BB%D1%8C%D0%BA%D0%B8-cookie-%D1%82%D1%80%D0%B5%D1%82%D1%8C%D0%BE%D1%97-%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%B8">№ 1. Чи налаштування згоди стосується тільки cookie третьої сторони?</h2><p>Це одне з найпопулярніших питань. Відповідь — ні.</p><p>Це стосується не тільки cookie третьої сторони, а також і cookie першої сторони. Тобто ви не маєте права загалом збирати персональні дані користувачів без їхньої згоди, незалежно від того, в які cookie це в результаті передається.</p><h2 id="%E2%84%96-2-%D1%87%D0%B8-%D0%BC%D0%BE%D0%B6%D0%BD%D0%B0-%D1%85%D0%BE%D1%87%D0%B0-%D0%B1-%D1%8F%D0%BA%D1%96%D1%81%D1%8C-cookie-%D0%BD%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B8%D1%82%D0%B8-%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D1%83%D0%B2%D0%B0%D1%87%D1%83-%D0%B1%D0%B5%D0%B7-%D0%B9%D0%BE%D0%B3%D0%BE-%D0%B7%D0%B3%D0%BE%D0%B4%D0%B8">№ 2. Чи можна хоча б якісь cookie назначити користувачу без його згоди?</h2><p>Так, можна. Якщо такі cookie прямо необхідні для надання послуги кінцевому користувачу.</p><p>У статті «Чому Consent це не просто банер і як налаштувати його правильно» я розповідав, що завжди є група обов’язкових cookie. Якщо вони потрібні для коректної роботи сайту, наприклад, коли користувач додає товар у кошик в інтернет-магазині, то було б дуже незручно, якби при переході на наступну сторінку цей товар зникав.</p><p>Ще один приклад використання обов’язкових cookie збереження ваших даних входу в Facebook, або інші сервіси, щоб вам не потрібно було постійно вводити логін і пароль при кожному оновленні сторінки. Тобто, якщо ці cookie є обов’язковими для функціонування сайту, ви маєте право їх використовувати.</p><p>Ще один важливий момент: коли користувач заповнює форму, він також вказує свої персональні дані. Згідно з GDPR, збирати такі персональні дані дозволено. Але важливо, щоб ви проінформували користувача, і він надав згоду щодо політики роботи з цими даними. Навіть якщо користувач натиснув на банері Deny, але заповнив форму та погодився на вашу політику роботи з даними, бажаючи, щоб ви зв’язалися з ним і залишив свої контактні дані, ви маєте право зібрати цю інформацію й перенести її, наприклад, у CRM-систему.</p><p>Резюмуючи, нам не потрібно просити згоду користувача на збір персональних даних, які необхідні для забезпечення функціоналу надання основної послуги користувачу. Але обов’язково потрібно отримати дозвіл на збирання даних для інших цілей.</p><h2 id="%E2%84%96-3-%D1%87%D0%B8-%D1%81%D1%82%D0%BE%D1%81%D1%83%D1%94%D1%82%D1%8C%D1%81%D1%8F-%C2%ABcookie%C2%BB-%D0%B2%D0%B8%D0%BA%D0%BB%D1%8E%D1%87%D0%BD%D0%BE-%D1%84%D0%B0%D0%B9%D0%BB%D1%96%D0%B2-cookie%D1%87%D0%B8-%D0%B2%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D1%94-%D1%82%D0%B0%D0%BA%D0%BE%D0%B6-%D1%96%D0%BD%D1%88%D1%96-%D0%BF%D0%BE%D0%B4%D1%96%D0%B1%D0%BD%D1%96-%D1%82%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D1%97-%D0%B7%D0%B1%D0%BE%D1%80%D1%83-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85">№ 3. Чи стосується «cookie» виключно файлів cookie,чи включає також інші подібні технології збору даних?</h2><p>Коли ми говоримо про закони щодо захисту персональних даних користувачів, під загальним терміном «cookie» маються на увазі не лише cookie, але й Local Storage, Session Storage, певні піксельні теги, індекс DB та багато іншого. Загалом ці правила стосуються всіх вебтехнологій, які дозволяють зберігати інформацію про користувачів.</p><p>Переходимо до наступного питання. Воно схоже на перше, але має певну відмінність.</p><h2 id="%E2%84%96-4-%D1%87%D0%B8-%D1%81%D1%82%D0%BE%D1%81%D1%83%D1%8E%D1%82%D1%8C%D1%81%D1%8F-%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0-%D0%B7%D0%B3%D0%BE%D0%B4%D0%B8-%D0%BB%D0%B8%D1%88%D0%B5-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85-%D1%89%D0%BE-%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D1%8E%D1%82%D1%8C%D1%81%D1%8F-%D1%82%D1%80%D0%B5%D1%82%D1%96%D0%BC-%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%B0%D0%BC">№ 4. Чи стосуються правила згоди лише даних, що передаються третім сторонам?</h2><p>Ще раз звертаю вашу увагу: ми говоримо про закони, що регулюють збір і обробку персональних даних користувачів. Ніде в цих законах не вказано, що це стосується тільки третіх сторін. Правила охоплюють весь процес збору, зберігання та обробки персональних даних користувачів у межах вашої компанії.</p><p>Незалежно від того, чи збираєте ви дані для власних потреб або для третіх сторін, ці правила стосуються всіх етапів обробки персональних даних ваших відвідувачів і клієнтів.</p><h2 id="%E2%84%96-5-%D1%87%D0%B8-%D0%BF%D0%BE%D1%88%D0%B8%D1%80%D1%8E%D1%8E%D1%82%D1%8C%D1%81%D1%8F-%D1%86%D1%96-%D0%B2%D0%B8%D0%BC%D0%BE%D0%B3%D0%B8-%D0%BB%D0%B8%D1%88%D0%B5-%D0%BD%D0%B0-%D1%94%D0%B2%D1%80%D0%BE%D0%BF%D1%83-%D1%87%D0%B8-%D0%B4%D1%96%D1%8E%D1%82%D1%8C-%D1%82%D0%B0%D0%BA%D0%BE%D0%B6-%D0%B2-%D1%96%D0%BD%D1%88%D0%B8%D1%85-%D1%80%D0%B5%D0%B3%D1%96%D0%BE%D0%BD%D0%B0%D1%85">№ 5. Чи поширюються ці вимоги лише на Європу, чи діють також в інших регіонах?</h2><p>Якщо ми говоримо про GDPR то він працює саме у Європі, а якщо точніше то в Європейській економічній зоні. Але у інших країнах є схожі закони: один з найбільш відомих CCPA в Каліфорнії. Також подібні закони діють у Колорадо, Бразилії, Південній Африці, Японії та інших країнах і регіонах.</p><p>Загалом, майже в усіх країнах, де приділяють увагу захисту персональних даних, є відповідне законодавство. Проте, у деяких регіонах ці правила є лише рекомендаціями, а в інших — обов’язковими до виконання. Наприклад, у деяких країнах принципом є «дозволено, доки користувач не заборонить», тоді як у Європі, зокрема завдяки GDPR, діє правило, що «доки користувач не надасть згоди, збирати дані не можна».</p><h2 id="%E2%84%96-6-%D1%87%D0%B8-%D0%BF%D0%BE%D1%88%D0%B8%D1%80%D1%8E%D1%8E%D1%82%D1%8C%D1%81%D1%8F-%D1%86%D1%96-%D0%BD%D0%B0%D0%BB%D0%B0%D1%88%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%BD%D0%B0-%D1%83%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%83">№ 6. Чи поширюються ці налаштування на Україну?</h2><p>Так, ці вимоги поширюються і на Україну, хоча на трохи іншому рівні.</p><p>Я б сказав, що є більш і менш прогресивні підходи, і, на жаль, Україна наразі використовує менш прогресивний. У нас також є аналог GDPR, прийнятий уже багато років тому. Але якщо дивитись на ту ж Європу: GDPR почав діяти там у 2018 році, але основні зміни почалися в березні 2024-го, коли вступив у силу DMA. Тому те, що зараз відбувається, є скоріше наслідком впровадження DMA, ніж впливом GDPR.</p><p>В Україні є аналог GDPR, але оскільки у нас немає DMA, то рекомендація щодо банерів є бажаною, але не обов’язковою. Тобто якщо в Європі збирати дані можна тільки після отримання згоди користувача, в Україні в більшості випадків дозволено збирати дані, доки користувач прямо не заборонить цього. Наприклад, банери з кнопкою «ОК», які вважаються некоректними в ЄС, в Україні наразі не є порушенням.</p><p>Отже, Україна тут дещо осторонь. Але пам’ятайте, що є дві групи вимог: перша стосується законодавства, а друга — вашої взаємодії з рекламними та аналітичними системами. На законодавчому рівні в Україні це все ще перебуває на початкових етапах. Можливо, Google з часом вимагатиме передачі сигналів про згоду користувачів і від українських сайтів.</p><p>Поки що це не є обов’язковим, але є дуже рекомендованим. Наразі можна використовувати альтернативні варіанти, такі як OK-банери з умовою, що користувач дає згоду, залишаючись на сайті. Ну і не забувайте про моральну сторону питання: завжди добре, коли твої дані використовують зі згоди.</p><h2 id="%E2%84%96-7-%D1%87%D0%B8-%D1%81%D1%82%D0%BE%D1%81%D1%83%D1%8E%D1%82%D1%8C%D1%81%D1%8F-%D0%BD%D0%B0%D0%BB%D0%B0%D1%88%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%B7%D0%B3%D0%BE%D0%B4%D0%B8-%D0%BB%D0%B8%D1%88%D0%B5-%D1%81%D0%B5%D1%80%D0%B2%D1%96%D1%81%D1%96%D0%B2-google-%D1%87%D0%B8-%D0%BE%D1%85%D0%BE%D0%BF%D0%BB%D1%8E%D1%8E%D1%82%D1%8C-%D0%B9-%D1%96%D0%BD%D1%88%D1%96-%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D0%B8">№ 7. Чи стосуються налаштування згоди лише сервісів Google, чи охоплюють й інші платформи?</h2><p>Згадаємо відповідь на перше питання на початку статті: це загальне правило щодо захисту персональних даних, яке стосується всіх систем, до яких передаються дані. Отже, це охоплює всі рекламні й аналітичні платформи.</p><p>Але я здогадуюсь, чому складається враження, що ці вимоги більше стосуються Google. Спробую пояснити це детальніше. На законодавчому рівні правила стосуються всіх, але дійсно здається, що Google запровадив найсуворіші вимоги.</p><p>Наприклад, поки що Facebook не обмежує рекламу, якщо немає сигналів згоди користувача, а Google вже почав впроваджувати це на деяких рекламних кабінетах. Саме тому складається враження, що ці правила стосуються переважно Google. Але, як уже згадувалося, вони діють для всіх платформ. У тих же <a href="https://developers.facebook.com/docs/meta-pixel/implementation/gdpr/">Facebook</a> і <a href="https://help.ads.microsoft.com/#apex/ads/en/60119/1">Bing</a> вже теж з’являються відповідні розділи в довідках.</p><h2 id="%E2%84%96-8-%D1%87%D0%B8-%D1%81%D1%82%D0%BE%D1%81%D1%83%D1%94%D1%82%D1%8C%D1%81%D1%8F-%D0%BA%D0%BE%D0%BD%D1%81%D0%B5%D0%BD%D1%82-%D1%81%D0%B0%D0%B9%D1%82%D1%96%D0%B2-%D1%8F%D0%BA%D1%96-%D0%BA%D1%83%D0%BF%D1%83%D1%8E%D1%82%D1%8C-%D1%80%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D1%83-%D0%B0-%D0%BD%D0%B5-%D0%BF%D1%80%D0%BE%D0%B4%D0%B0%D1%8E%D1%82%D1%8C-%D1%97%D1%97">№ 8. Чи стосується консент сайтів, які купують рекламу, а не продають її?</h2><p>Так, стосується.</p><p>Це питання регулюється дещо іншим законом — TCF (Transparency and Consent Framework). Ви можете детальніше про це почитати за <a href="https://iabeurope.eu/transparency-consent-framework/">цим посиланням</a>. Проте повертаємося до відповіді на перше питання: це стосується будь-яких дій компанії, які пов’язані зі збором, збереженням чи аналізом персональних даних користувачів.</p><h2 id="%E2%84%96-9-%D1%87%D0%B8-%D0%BF%D0%BE%D1%82%D1%80%D1%96%D0%B1%D0%BD%D0%BE-%D0%BC%D0%B0%D1%82%D0%B8-%D0%BE%D0%BA%D1%80%D0%B5%D0%BC%D1%83-%D1%81%D1%82%D0%BE%D1%80%D1%96%D0%BD%D0%BA%D1%83-%D1%96%D0%B7-privacy-policy">№ 9. Чи потрібно мати окрему сторінку із Privacy Policy?</h2><p>Офіційної вимоги немає, але я та юристи, з якими я спілкувався, однозначно рекомендуємо створити таку сторінку. Це допомагає користувачам отримати всю необхідну інформацію, а вам — відповідати вимогам прозорості. Більше про вимоги до інформування користувачів можна знайти у <a href="https://gdpr.eu/article-13-personal-data-collected">GDPR Article 13: Personal Data Collected</a>.</p><h2 id="%E2%84%96-10-%D0%BA%D1%80%D0%B0%D1%89%D0%B5-%D1%80%D0%BE%D0%B1%D0%B8%D1%82%D0%B8-%D0%B1%D0%B0%D0%BD%D0%B5%D1%80-%D0%BA%D0%BE%D0%BD%D1%81%D0%B5%D0%BD%D1%82%D1%83-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-%D1%81%D0%BC%D1%80-%D1%87%D0%B8-%D0%B2%D0%BB%D0%B0%D1%81%D0%BD%D0%B8%D0%B9">№ 10. Краще робити банер консенту через СМР чи власний?</h2><p>CMP є зручним і швидким рішенням для компаній малого та середнього розміру. Вона значно зменшує витрати ресурсів на розроблення, забезпечує автоматичне оновлення відповідно до змін у законодавстві, що дає змогу бізнесу дотримуватися вимог GDPR та інших регуляцій без необхідності вручну відслідковувати зміни.</p><p>CMP також дозволяє легко кастомізувати банери з урахуванням бренду і підтримує мультимовність та геотаргетинг для відповідності локальним вимогам. Однак є один суттєвий недолік — це вартість послуг, що може стати значним витратним фактором для великих бізнесів.</p><p>Самостійне налаштування через GTM — це безкоштовний метод, що дає більше гнучкості. Однак він вимагає більше часу на розробку та тестування, а також вищого рівня технічних знань. Для налаштування через GTM необхідно створити власні теги, тригери й змінні, що може бути складним для компаній без технічних фахівців. Крім того, власноручне налаштування вимагає постійного моніторингу змін у законодавстві та їх адаптації.</p><p>Вибір між CMP і GTM залежить від розміру бізнесу, наявних ресурсів і технічних можливостей. CMP є оптимальним рішенням для бізнесів, які шукають простоту, автоматизацію і швидку відповідність вимогам, тоді як GTM підходить для тих, хто має ресурси на налаштування та хоче більше контролю над процесом.</p><p>Тому, на мою думку, використання готового рішення CMP є більш доцільним. Консент — це переважно юридичний аспект, і штрафи за його недотримання можуть бути суттєвими. Тому краще довірити це питання професіоналам, які вже мають досвід та необхідні інструменти для відстеження всіх аспектів цього процесу.</p><h2 id="%E2%84%96-11-%D1%87%D0%B8-%D0%BC%D0%BE%D0%B6%D0%BD%D0%B0-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%BE%D0%B2%D1%83%D0%B2%D0%B0%D1%82%D0%B8-g%D1%82%D0%BC-google-tag-manager-%D0%B4%D0%BB%D1%8F-%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%96%D0%BD%D0%BD%D1%8F-%D0%B7%D0%B3%D0%BE%D0%B4%D0%BE%D1%8E-%D1%87%D0%B8-%D0%B4%D0%BE%D0%B7%D0%B2%D0%BE%D0%BB%D1%8F%D1%94%D1%82%D1%8C%D1%81%D1%8F-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%B0%D0%BD%D0%BD%D1%8F-g%D1%82%D0%BC-%D1%8F%D0%BA%D1%89%D0%BE-%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D1%83%D0%B2%D0%B0%D1%87-%D0%B7%D0%B0%D0%B1%D0%BE%D1%80%D0%BE%D0%BD%D0%B8%D0%B2-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%B0%D0%BD%D0%BD%D1%8F-cookie">№ 11. Чи можна використовувати GТМ (Google Tag Manager) для управління згодою? Чи дозволяється використання GТМ, якщо користувач заборонив використання cookie?</h2><p>Так, звісно, можна використовувати GTM, але є нюанси.</p><p>Поясню. Перше, якщо ми говоримо про чистий код тег-менеджера, то слід розуміти, що він не встановлює ніяких cookie.</p><p>Якщо бути дуже точним, то GTM, насправді, встановлює cookie, але тільки коли активується режим попереднього перегляду в GTM. Це робить лише людина, яка налаштовує GTM у компанії. Тому це уточнення це більше мій перфекціонізм у розборі питань, а не корисна інформація на тему налаштувань консенту.</p><p>Для відвідувачів сайту GTM ніяких cookie самостійно не встановлює, саме код тег-менеджера. Однак через GTM можна запускати скрипти, які можуть встановлювати cookie.</p><p>Тобто, резюмуючи, сам по собі GTM не є порушенням GDPR. Дуже важливо, щоб всередині нього без згоди користувача не запускалися коди, які встановлюють cookie, які вже можуть порушувати GDPR.</p><h2 id="%E2%84%96-12-%D1%87%D0%B8-%D0%B2%D0%B2%D0%B0%D0%B6%D0%B0%D1%94%D1%82%D1%8C%D1%81%D1%8F-%D0%BF%D0%BE%D1%80%D1%83%D1%88%D0%B5%D0%BD%D0%BD%D1%8F%D0%BC-%D0%BA%D0%BE%D0%BD%D1%81%D0%B5%D0%BD%D1%82%D1%83-%D1%8F%D0%BA%D1%89%D0%BE-%D0%B1%D0%B0%D0%BD%D0%B5%D1%80-%D0%B7%D0%B3%D0%BE%D0%B4%D0%B8-%D1%89%D0%BE-%D0%BD%D0%B0%D0%BB%D0%B0%D1%88%D1%82%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B9-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-gtm-%D0%BD%D0%B5-%D0%BF%D0%BE%D0%BA%D0%B0%D0%B7%D1%83%D1%94%D1%82%D1%8C%D1%81%D1%8F-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%B0%D0%BD%D0%BD%D1%8F-%D0%B1%D0%BB%D0%BE%D0%BA%D1%83%D0%B2%D0%B0%D0%BB%D1%8C%D0%BD%D0%B8%D0%BA%D1%96%D0%B2-%D1%80%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D0%B8">№ 12. Чи вважається порушенням консенту, якщо банер згоди, що налаштований через GTM, не показується, через використання блокувальників реклами?</h2><p>Це цікаве питання, але, за словами юристів, це не є порушенням GDPR. Незважаючи на те, що банер не показано користувачу і згоди не отримано, при правильній реалізації це не є порушенням GDPR. Поясню чому.</p><p>Уявіть, на сайті встановлено банер згоди, налаштований через Google Tag Manager, але певні блокувальники реклами можуть блокувати не тільки рекламу, а й GTM. І в результаті банер не відображається користувачу, хоча він зайшов на сайт.</p><p>Правильна реалізація означає, що є Google Tag Manager із реалізованою згодою через CMP або власний банер. Основний код і всі маркетингові та аналітичні коди також знаходяться всередині Google Tag Manager. Якщо GTM не заблоковано, то все працює правильно: з’являється банер, людина дає згоду, і всі коди запускаються, або банер з’являється, користувач не дає згоди, і коди не запускаються. Все чітко. Якщо є блокувальник реклами, він блокує GTM і показ банера, а разом з цим не запускаються аналітичні та маркетингові коди.</p><p>Таким чином, персональні дані не збираються, і це не є порушенням GDPR. Більше того, розширення, яке блокує певні скрипти, — кастомізація сайту з боку користувача. Ви виконали вимоги закону, а те, що банер не з’явився, — це наслідок розширення користувача, яке заблокувало GTM.</p><p>Висновок: використання GTM для управління згодою — це нормальна, навіть дуже хороша практика.</p><h2 id="%E2%84%96-13-%D1%87%D0%B8-%D0%BF%D0%BE%D1%82%D1%80%D1%96%D0%B1%D0%BD%D0%BE-%D0%BA%D0%BE%D0%B6%D0%BD%D0%BE%D0%B3%D0%BE-%D1%80%D0%B0%D0%B7%D1%83-%D0%BA%D0%BE%D0%BB%D0%B8-%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D1%83%D0%B2%D0%B0%D1%87-%D0%B7%D0%B0%D1%85%D0%BE%D0%B4%D0%B8%D1%82%D1%8C-%D0%BD%D0%B0-%D1%81%D0%B0%D0%B9%D1%82-%D0%B7%D0%B1%D0%B8%D1%80%D0%B0%D1%82%D0%B8-%D0%B7%D0%B3%D0%BE%D0%B4%D1%83-%D0%BF%D0%BE%D0%B2%D1%82%D0%BE%D1%80">№ 13. Чи потрібно кожного разу, коли користувач заходить на сайт, збирати згоду-повтор?</h2><p>Кожного разу показувати банер згоди немає сенсу, щоб не втомлювати користувача. Але в законодавстві різних країн є додаткові вимоги: час від часу вам може бути потрібно оновлювати дані згоди. Найменший рекомендований інтервал — раз на пів року, у деяких країнах — раз на рік. Це потрібно для того, щоб банер не надокучав користувачу і щоб дозвіл не був «вічним».</p><p>Рекомендую уточнити вимоги в конкретній країні, де ви працюєте.</p><h2 id="%D0%B7%D0%B0%D0%BC%D1%96%D1%81%D1%82%D1%8C-%D0%B2%D0%B8%D1%81%D0%BD%D0%BE%D0%B2%D0%BA%D1%83">Замість висновку</h2><p>Сподіваюся, що ви знайшли тут відповіді на запитання, які шукали або в яких не були впевнені. Якщо вам цікаво заглибитися в тему більше, дізнатися нюанси та подробиці налаштувань ви можете пройти <a href="https://proanalytics.academy/uk/course/consent-and-gdpr-in-marketing">безкоштовний курс Consent &amp; GDPR in Marketing</a>, де зібрано не лише теорію, але й вказівки по практичним налаштування консенту з додатковими матеріалами для кращого засвоєння.</p><p><em><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></em></p><p><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Щонайменше 94% організацій по всьому світу застосовують сервіси на базі хмар. Для малих і середніх підприємств хмарні рішення дають змогу заощадити на технічних витратах, організувати гнучкі процеси для стабільної роботи. Водночас хмарна міграція — це серйозний виклик, зокрема пов’язаний із проблемами безпеки.


Що таке хмара?

Хмара, або хмарні обчислення — це ]]></description>
        <link>https://proit.ua/poghovorimo-pro-biezpieku-v-khmari/</link>
        <guid isPermaLink="false">6782cc4e81fcc006b1087a84</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Данилo Бєлов ]]></dc:creator>
        <pubDate>ср, 15 січ 2025 14:00:32 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/01/cloud-that-is-sky-with-house-background.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Щонайменше <a href="https://www.zippia.com/advice/cloud-adoption-statistics/">94%</a> організацій по всьому світу застосовують сервіси на базі хмар. Для малих і середніх підприємств хмарні рішення дають змогу заощадити на технічних витратах, організувати гнучкі процеси для стабільної роботи. Водночас хмарна міграція — це серйозний виклик, зокрема пов’язаний із проблемами безпеки.</p><h2 id="%D1%89%D0%BE-%D1%82%D0%B0%D0%BA%D0%B5-%D1%85%D0%BC%D0%B0%D1%80%D0%B0">Що таке хмара?</h2><p>Хмара, або хмарні обчислення — це модель віддаленого користування інфраструктурою передавання даних, серверів, сховищ інформації, сервісів, застосунків тощо. Доступ до цих платформ надається замовникам від провайдерів оперативно та з мінімальними експлуатаційними витратами.</p><p>Тобто бізнес делегує відповідальність за інфраструктуру, а інколи й інші складові хмарної архітектури провайдеру. І не витрачає власні ресурси на побудову та підтримання роботи навіть невеликої серверної кімнати.</p><p>Якщо ж простими словами, то хмари — це віртуальне середовище з віддаленим доступом. Хмарна інфраструктура надає можливість безпечно опрацьовувати та зберігати великі обсяги даних. За допомогою хмари можна заощадити на додатковому технічному устаткуванні та деяких послугах IT-відділу. Водночас тут не йдеться про те, що від роботи останніх можна відмовитися.</p><h2 id="%D1%89%D0%BE-%D1%82%D0%B0%D0%BA%D0%B5-%D1%85%D0%BC%D0%B0%D1%80%D0%BD%D0%B0-%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D0%BA%D0%B0">Що таке хмарна безпека?</h2><p>Насамперед це<strong> </strong>комплекс заходів і конфігурацій технологій для захисту інфраструктури. Кооперація всіх елементів системи забезпечує стійкість хмари від загроз різного напряму й типу.</p><p>Одним із найбільших ризиків є хакери. Зловмисники у мережі часто діють приховано: їхні мотиви складно визначити, а слідів часто годі й шукати. Притягнути хакерів до відповідальності складно, а подекуди і практично неможливо.</p><p>Деяка частина кібератак інспірована на державному рівні та є складовою широких воєнних кампаній. Це постійно відчувають українці через вплив на повсякденні сервіси: банківські оплати, телефонію чи державні послуги.</p><p>Хакери діють різними способами. Інколи для здійснення нападів залучають внутрішніх працівників компанії, оскільки компрометувати мережеві протоколи може власний сисадмін. Геть не завжди він діятиме зумисно, хоча й такі випадки теж непоодинокі. Інфікувати систему шкідливим ПЗ цілком можливо й випадково, клікнувши на замаскований хакерами лист, надісланий на електронну пошту.</p><h2 id="%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3%D0%B8">Переваги</h2><p>Хмарна міграція бізнесу останніх років мала чіткі підстави. В умовах пандемії компанії шукали оптимізацію можливостей для віддаленої роботи, водночас вибудовуючи контроль віддаленої інфраструктури та захищеність для чутливих даних.</p><p>Безпека інформації стала пріоритетом великих компаній при переході на хмарну інфраструктуру. Її назвали щонайменше <a href="https://docs.google.com/presentation/d/1P8app8FaqFaOlsM4bs6tRlvYsl1erP6rW7lliQJclLU/edit?resourcekey=0-eDHgbzM9JNC0TvUrsGQg1A#slide=id.g213ed208a0b_0_30">40%</a> опитаних за результатами дослідження Google.</p><p>Ще 38% відзначили гнучкість хмарних платформ, які легко поєднуються з іншими безпековими рішеннями. Водночас для 31% учасників дослідження найціннішою стала автоматизованість процесів протидії загрозам у мережі.</p><h2 id="%D0%B7%D0%B0%D0%B3%D0%B0%D0%BB%D0%BE%D0%BC-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3%D0%B8-%D1%85%D0%BC%D0%B0%D1%80%D0%BD%D0%BE%D1%97-%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D0%BA%D0%B8-%D0%BC%D0%BE%D0%B6%D0%BD%D0%B0-%D0%BE%D0%BA%D1%80%D0%B5%D1%81%D0%BB%D0%B8%D1%82%D0%B8-%D1%82%D0%B0%D0%BA">Загалом переваги хмарної безпеки можна окреслити так:</h2><ul><li><strong>Автономність</strong> гарантує своєчасну реакцію на загрози системі й експертну ліквідацію хиб.</li><li><strong>Адаптивність</strong> до ризиків забезпечується залученням штучного інтелекту й технологій нейромережевого навчання.</li><li><strong>Оперативність</strong> дає змогу без зволікання отримати доступ до хмарної інфраструктури в режимі реального часу.</li></ul><h3 id="%D0%B2%D0%B1%D0%B5%D1%80%D0%B5%D0%B3%D1%82%D0%B8%D1%81%D1%8F-%D0%B2%D1%96%D0%B4-%D1%83%D1%81%D1%96%D1%85-%D0%B7%D0%B0%D0%B3%D1%80%D0%BE%D0%B7">Вберегтися від усіх загроз</h3><p>Неможливо. Однак ретельна підготовка — це запорука захищеності в мережі та стабільної роботи хмарної інфраструктури.</p><p>Способів, як убезпечити себе в мережі, багато, але класичний розробив американський Національний інститут стандартів та технології (National Institute of Standards and Technology — NIST). Складається він лише із <a href="https://sopa.tulane.edu/blog/NIST-cybersecurity-framework">5</a> складників: ідентифікувати, захистити, виявити, зреагувати та відновити.</p><h3 id="%D0%BA%D1%96%D0%BB%D1%8C%D0%BA%D0%B0-%D0%B2%D0%B0%D0%B6%D0%BB%D0%B8%D0%B2%D0%B8%D1%85-%D0%BF%D0%BE%D0%B4%D1%80%D0%BE%D0%B1%D0%B8%D1%86%D1%8C">Кілька важливих подробиць:</h3><ul><li><strong>Управління ідентифікацією та доступом.</strong> Цей підхід тісно пов’язаний із принципом «нульової довіри» (Zero Trust). Тобто сприйняттям усіх мереж, користувачів та їхніх намірів як зловмисних і скомпрометованих. Будь-хто, хто захоче проникнути в систему, має пройти етапи верифікації, тому навіть натяки на підозрілу активність мають відстежуватися та в разі потреби блокуватися.</li><li><strong>Запобігання втратам даних.</strong> Крадіжка інформації з метою вимагання — один із найпоширеніших видів кіберзагроз. Поцупити дані, зашифрувати та вимагати за них викуп — на такий гачок потрапляють навіть великі компанії. Подібну операцію російські хакери влаштували проти інфраструктури системи нафтопроводів США Colonial Pipeline у 2021 році.</li></ul><p>Захиститися від зловмисних дій хакерів компанії можуть різними методами. Насамперед потрібно закласти комплекс превентивних заходів. Наприклад, розглянути комбінацію сповіщень як реакцію системи на несанкціоноване втручання, зробити автоматичне перешифрування даних та інше.</p><p>Безвідмовним способом є бекап, бажано у кількох локаціях. Наприклад, в UCLOUD ми пропонуємо розміщувати дані не тільки в Києві, але й у Варшаві чи Франкфурті.</p><p>Понад <a href="https://docs.google.com/presentation/d/1P8app8FaqFaOlsM4bs6tRlvYsl1erP6rW7lliQJclLU/edit?resourcekey=0-eDHgbzM9JNC0TvUrsGQg1A#slide=id.g213ed208a0b_0_0">30%</a> користувачів переконані, що хмари допоможуть підвищити захищеність чутливих даних у мережі. Воно й недаремно, адже останні кілька років минули в умовах пандемії та війни. Під час локдауну компанії усвідомили цінність дистанційної роботи. Під’єднатися до корпоративного сервера прямісінько із власного дому зручно, але й може бути небезпечно.</p><p>Важливою є не лише стійкість хмарної інфраструктури з технічного боку, а й належна реакція операторів і фахівців із кібербезпеки. Запорука успішних дій — широке планування, регулярна імітація контрольованих кібератак і розподіл повноважень.</p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em>‌‌</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Минулого року Dell пережили одну з найбільших в історії компанії кібератак. Дані 49 мільйонів користувачів викрали через критичні вразливості в системі. Запобігти проблемі можна було досить легко, як мінімум, налаштувавши роботу Security Operations Center. Які уроки з цього кейсу може винесли бізнес та як побудувати ефективну систему захисту персональних даних ]]></description>
        <link>https://proit.ua/vitik-danikh-u-kompaniyi-dell-chogho-tsie-maie-navchiti-biznies-ta-security-komandi/</link>
        <guid isPermaLink="false">67804c0d81fcc006b1087716</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Владислав Безродний  ]]></dc:creator>
        <pubDate>пт, 10 січ 2025 14:00:18 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2025/01/three-people-polygraph-examiners-works-office-with-his-lie-detector-s-equipment.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Минулого року Dell <a href="https://www.techradar.com/pro/security/dell-warns-of-user-data-breach-49-million-customers-affected-in-security-incident-heres-what-we-know">пережили</a> одну з найбільших в історії компанії кібератак. Дані 49 мільйонів користувачів викрали через критичні вразливості в системі. Запобігти проблемі можна було досить легко, як мінімум, налаштувавши роботу Security Operations Center. Які уроки з цього кейсу може винесли бізнес та як побудувати ефективну систему захисту персональних даних — розглянемо детальніше у статті.</p><h2 id="%D1%89%D0%BE-%D1%81%D1%82%D0%B0%D0%BB%D0%BE%D1%81%D1%8F-%D0%B2-dell">Що сталося в Dell</h2><p>Наприкінці весни 2024 року американський виробник електроніки Dell <a href="https://www.bleepingcomputer.com/news/security/dell-warns-of-data-breach-49-million-customers-allegedly-affected/">розіслав</a> 49 мільйонам клієнтів повідомлення про витік їхніх персональних даних. Мова йшла про імена, адреси та замовлення техніки впродовж 2017–2024 років. Представники Dell заявили, що ні фінансова чи платіжна інформація, ні електронні пошти та номери телефонів клієнтів під час атаки зловмисник не дістав, але ризики все одно суттєві. На той момент база з викраденими даними вже продавалася на одному із «чорних» форумів. Цієї інформації вистачить для персоналізованого спаму на адреси користувачів Dell.</p><p>Здійснив кібератаку хакер Menelik. Він скористався вразливістю в API партнерського порталу компанії, призначеного для співпраці з торговими представниками виробника. На сайті можна відстежувати інформацію про замовлення товарів, гарантію тощо. Menelik створив на порталі фейкові акаунти та отримав доступ до великої кількості чужих даних. І хоча сам хакер повідомив Dell про свою «діяльність» мейлом, від компанії він так і не отримав жодної реакції.</p><h2 id="%D1%8F%D0%BA%D1%96-%D0%BF%D1%80%D0%BE%D0%B3%D0%B0%D0%BB%D0%B8%D0%BD%D0%B8-%D0%B2-%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%86%D1%96-%D0%BF%D1%80%D0%B8%D0%B7%D0%B2%D0%B5%D0%BB%D0%B8-%D0%B4%D0%BE-%D0%BA%D1%96%D0%B1%D0%B5%D1%80%D0%B0%D1%82%D0%B0%D0%BA%D0%B8">Які прогалини в безпеці призвели до кібератаки</h2><p>Інцидент виявив низку вразливостей у кіберзахисті компанії. Та як показує практика, ці проблеми не поодинокі для багатьох ІТ-команд. Пропоную на прикладі Dell розглянути кожну «дірку» в системі безпеки та способи їх вирішення.</p><h3 id="%D0%B2%D1%96%D0%B4%D1%81%D1%83%D1%82%D0%BD%D1%96%D1%81%D1%82%D1%8C-%D0%B2%D0%B5%D1%80%D0%B8%D1%84%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%97-%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D1%83%D0%B2%D0%B0%D1%87%D1%96%D0%B2">Відсутність верифікації користувачів</h3><p><strong>Що не так?</strong></p><p>Для створення акаунту на партнерському порталі Dell достатньо було вказати назву компанії та емейл. Ба більше: ці дані ніяк не перевірялися, тому їх можна легко підробити. Наприклад, вказати вигадану компанію й одразу отримати доступ до порталу. Завдяки цьому хакер зміг швидко та без перешкод створити безліч акаунтів у системі Dell.</p><p><strong>Як правильно?</strong></p><p>Найпростіше зробити «живу» верифікацію користувача. Тоді новий підрядник не зможе автоматично створити акаунт на партнерському порталі. Для цього треба надіслати компанії запит, а далі працівник фірми-виробника перевіряє вказану інформацію: чи це дійсно реальний підрядник, чи взагалі він існує. І тільки після цього Dell самостійно створював би акаунт партнера та надавав би заявнику відповідні креди (доступи до персональної сторінки).</p><p>Але цей спосіб є не універсальним й іноді буває неможливим. Якщо компанія має тисячі партнерів, вручну обробити значну кількість запитів важко. Тоді має сенс застосувати автоматизацію. Наприклад, створити бази даних із переліком партнерів, з яким система звірятиметься самостійно. Також при підписанні партнерської угоди виробник може передавати спеціальний код для створення акаунту на порталі.</p><h3 id="%D0%BD%D0%B5%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D1%96-%D0%BD%D0%B0%D0%BB%D0%B0%D1%88%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D1%80%D0%BE%D0%BB%D0%B5%D0%B9-%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D1%83-%D0%B4%D0%BE-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85">Неправильні налаштування ролей доступу до даних</h3><p><strong>Що не так?</strong></p><p>В роботі партнерів із порталом Dell використовувались унікальні семизначні сервісні теги — ідентифікатори, які надсилаються в API-запиті для отримання даних юзера. Як виявилось, у Dell не налаштували обмеження ролей. Тобто залогінившись, можна перебирати теги за принципом брутфорсу, відправляти їх через API та отримувати дані чужих замовлень. Menelik для генерації тегів навіть створив окрему програму.</p><p><strong>Як правильно?</strong></p><p>Це типова проблема в побудові будь-якої закритої бази даних. Після успішної ідентифікації та автентифікації користувача має відбуватися авторизація — керування доступами до тих чи інших ресурсів відповідно до ролі юзера. Адже пів біди, що хакер зміг створити акаунт фіктивної компанії. Куди гірше, що завдяки цьому він отримав дані з акаунтів реальних партнерів Dell.</p><p>Користувачам завжди слід налаштовувати доступи, щоби вони могли дивитися тільки свої дані. Раптом через помилку хтось надішле чужий тег, йому надійде повідомлення про відсутність доступу до цієї інформації. Можна навіть не ускладнювати створення тегів — вони можуть йти підряд як простий ID. Зловмисник, надсилаючи запит із цими ключами, все одно нічого не отримає через обмеження ролі.</p><h3 id="%D0%BD%D0%B5%D0%BA%D0%BE%D1%80%D0%B5%D0%BA%D1%82%D0%BD%D1%96-%D0%BB%D1%96%D0%BC%D1%96%D1%82%D0%B8-%D0%BD%D0%B0-%D0%B7%D0%B0%D0%BF%D0%B8%D1%82%D0%B8">Некоректні ліміти на запити</h3><p><strong>Що не так?</strong></p><p>Зазвичай розробники обмежують кількість запитів на API від юзера за певний проміжок часу, скажімо, за за хвилину чи секунду. Але на порталі Dell ліміти були або високі, або їх не було в принципі. Врешті хакер виконував до 5000 запитів на хвилину. Сам по собі показник для цієї системи, можливо, й не є критичним, але зловмисник працював на цій  частоті досить довго, що фахівцям компанії могло би здатися підозрілим.</p><p><strong>Як правильно?</strong></p><p>Ліміти API мають бути завжди, і це слід пам'ятати всім — розробникам, security-інженерам, SOC-командам. Обмеження діють на одного юзера або на IP-адресу в залежності від бізнес-логіки застосунку. Ліміти щонайменше допомагають збалансувати навантаження на застосунок, коли всі користувачі мають рівні можливості доступу. Водночас ці обмеження підвищують безпеку, бо скорочують можливі втрати при витоку даних.</p><p>Я би не радив встановлювати конкретні ліміти API, все залежить від специфіки проєкту. Для одних програм 5000 запитів забагато, для інших — норма. А може бути і так: десь користувачі зазвичай створюють 100 запитів на хвилину, але раз на рік за певних обставин показник підвищується до 1000. Тож треба аналізувати бізнес-логіку сервісу або окремого ендпойнту та вираховувати адекватні для цієї системи показники.</p><h2 id="%D0%B2%D1%96%D0%B4%D1%81%D1%83%D1%82%D0%BD%D1%96%D0%B9-%D0%BC%D0%BE%D0%BD%D1%96%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3">Відсутній моніторинг</h2><p><strong>Що не так?</strong></p><p>Menelik не просто мав змогу збирати дані на високій швидкості, він створив кілька фіктивних акаунтів, кожен з яких на максимальній «потужності» працював тривалий час. Атака на партнерський портал Dell відбувалась три тижні поспіль, ніхто не помічав підозрілої активності користувачів. Саме цей чинник дозволив хакеру отримати велику кількість персональних даних.</p><p><strong>Як правильно?</strong></p><p>Для зменшення наслідків зламу потрібно створити моніторинг з алертами на аномальні події. Аномалії можуть бути різними: юзер задає декілька API-запитів або десятки користувачів одночасно запитують одні й ті самі дані, або ж з IP-адресу надходять запити із заданою регулярністю. Суть моніторингу полягає в тому, щоб при появі будь-якої підозрілої активності ви отримували повідомлення на пошту або в месенджер.</p><p>Важливо грамотно налаштувати моніторинг, адже не кожна аномалія свідчить про злам. Можна орієнтуватися не на кількість запитів, а на якість відповідей. Наприклад, у разі брутфорсу тегів або ID періодично надходитимуть відповіді з кодами 404 (не знайдено) або 500 (Internal Server Error). Хоч все залежить від проєкту, помилки можуть бути і в реального юзера, та якщо таких відповідей 90%, краще все перевірити.</p><h3 id="%D0%BF%D0%BE%D0%B2%D1%96%D0%BB%D1%8C%D0%BD%D0%B5-%D1%80%D0%B5%D0%B0%D0%B3%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%BD%D0%B0-%D0%B2%D0%B6%D0%B5-%D0%B2%D1%87%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B9-%D0%B7%D0%BB%D0%B0%D0%BC">Повільне реагування на вже вчинений злам</h3><p><strong>Що не так?</strong></p><p>Dell проігнорували лист хакера, коли той написав їм про успішну атаку на компанію. Спеціалісти побачили повідомлення лише за кілька тижнів, коли базу даних їхніх клієнтів уже виставили на продаж. Ця затримка є критичною, адже відсутність негайної реакції призвело до зливу вкраденої інформації. В іншому випадку, можливо, цього вдалося б уникнути та зменшити втрати для бізнесу.</p><p><strong>Як правильно?</strong></p><p>Створити систему швидкого реагування на наявність вразливості та власне зламу — задача не стільки фахівців із безпеки, скільки самого бізнесу. Але Security-спеціалісти можуть бути на крок попереду та запропонувати шляхи убезпечення компанії. Наприклад, підключити до електронної пошти інструменти сортування листів. Таких тулзів зараз безліч, зокрема на базі штучного інтелекту. Вони можуть аналізувати вміст повідомлень та надсилати алерти про знайдені задані стоп-слова.</p><p>Та замало прочитати листа, потрібно ще й оперативно переконатися, що хакер говорить правду. І тут доможуть фахівці з безпеки: перевірять вразливість системи та протестують рівень її безпеки. Це займе певний час, бо ендпойнтів може бути багато, і не всі матимуть документацію. Якщо хакер детально описує механізм зламу, це дозволить швидко все перевірити.</p><h2 id="%D1%8F%D0%BA-%D0%BF%D0%BE%D0%B1%D1%83%D0%B4%D1%83%D0%B2%D0%B0%D1%82%D0%B8-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%83-%D0%B7%D0%B0%D1%85%D0%B8%D1%81%D1%82%D1%83-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85">Як побудувати систему захисту даних</h2><p>Описані проблеми могли би бути не критичними, але всі разом вони призвели до масштабного й водночас простого на рівні технологій зламу.</p><p>До питання безпеки слід підходити комплексно та системно. Врахуйте наступні кроки:</p><ul><li><strong>Сформуйте Security Operations Center</strong></li></ul><p>Команда не обов’язково має бути великою, іноді достатньо двох фахівців. Але це мають бути досвідчені спеціалісти, задіяні в проєкті, щоб активно взаємодіяти з командою розробників, тестувальників, власників бізнесу тощо. SOC в режимі реального часу моніторить активність користувачів, реагує на інциденти та в особливих випадках самостійно розв'язує проблеми. Фахівці повинні мати можливість швидко заблокувати підозрілих юзерів та IP-адреси.</p><ul><li><strong>Проводьте комплексні перевірки безпеки</strong></li></ul><p>На етапі розробки за сек’юрність відповідають девелопери і тестувальники. SOC-команда долучається до пошуку вразливостей після запуску проєкту, зокрема під час penetration-тестів (тестування на проникнення). Фахівці не обмежуються моніторингом та реакцією на алерти. Девелоперам вони можуть створювати тікети для виправлення помилок. Перевірки системи можуть бути складними й довгими, все залежить від проєкту, ролей у команді, бюджету. За бажанням замовника це бути додаткова послуга.</p><ul><li><strong>Створіть сценарії взаємодії з користувачами</strong></li></ul><p>Задача бізнесу серед іншого — вести коректну та регулярну комунікацію з клієнтами. В компаній мають бути чіткі стратегії оперативного інформування юзерів про потенційні ризики. Потрібно розділяти, кому надіслати повідомлення — всім користувачам чи лише «‎жертвам» витоку даних, якщо вони відомі. Продумайте поради для своїх користувачів.</p><p>Інколи достатньо змінити пароль, але в деяких ситуаціях, щоб убезпечити аккаунт, зміни потрібні суттєвіші. Наприклад:</p><ul><li>Увімкнути двофакторну аутентифікацію для додаткового рівня захисту.</li><li>Перевірити список пристроїв, підключених до облікового запису, та вийти з непізнаних сесій.</li><li>Оновити контактну інформацію для відновлення доступу, в тому числі email та номер телефону.</li><li>Відкликати доступ сторонніх застосунків та перевірити дозволи API.</li><li>Сканувати пристрій на наявність шкідливого ПЗ та оновити антивірусне програмне забезпечення.</li><li>Змінити паролі на всіх сервісах, де використовувався скомпроментований пароль.</li></ul><p>Кейс Dell багато чого може навчити як власників бізнесу, так і технічних фахівців. Та головний висновок, як на мене, в іншому: вразливості можуть виявитися в кожній, навіть потужній на перший погляд IT-системі. Тому складно переоцінити важливість моніторингу та оперативного реагування на подібні проблеми. Звісно, робота фахівців із безпеки потребує чималих коштів, але в разі зламу фінансові та репутаційні втрати можуть бути куди вищими.</p><p><strong><em>Владислав Безродний, Application Security Engineer в NIX</em></strong></p><p><em><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></em></p><p><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Будь-який бізнес, який оперує у сучасному технологічному світі, потребує якісної та вчасної технічної підтримки. Доволі гострою є потреба у швидкому реагуванні на запити й, відповідно, у швидкій обробці цих запитів.

Як створити працюючу схему технічної підтримки, що задовольнить потреби замовника та не перевантажить команду? Розглянемо один із підходів на прикладі ]]></description>
        <link>https://proit.ua/tri-rivni-doskonalosti-iak-mi-pobuduvali-iefiektivnu-tiekhnichnu-pidtrimku/</link>
        <guid isPermaLink="false">676be43c5118b408222ebf42</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Ігор Горб ]]></dc:creator>
        <pubDate>чт, 26 груд 2024 14:00:58 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/12/IMG_1834.png" medium="image"/>
        <content:encoded><![CDATA[ <p>Будь-який бізнес, який оперує у сучасному технологічному світі, потребує якісної та вчасної технічної підтримки. Доволі гострою є потреба у швидкому реагуванні на запити й, відповідно, у швидкій обробці цих запитів.</p><p>Як створити працюючу схему технічної підтримки, що задовольнить потреби замовника та не перевантажить команду? Розглянемо один із підходів на прикладі нашої компанії.</p><p>Я розвиваю аутсорсинг ІТ-інфраструктури для компаній малого та середнього бізнесу вже понад 16 років, і ми розробили трирівневу систему підтримки, яка забезпечує високий рівень сервісу та контролю.</p><p>Насправді будь-яка команда прагне побудувати максимально ефективні процеси технічної підтримки, орієнтовані на швидкість, точність і зручність для клієнта. Але статистично не завжди це вдається реалізувати. Здавалося б, ну що складного: автоматизувати подання заявок, рівні відповідальності, швидкість реагування, проте часто ми бачимо, що це працює погано.</p><p>Хочу описати нашу систему підтримки, яка передбачає три рівні та певний патерн взаємодії із клієнтом. Можливо, це стане у пригоді тим, хто будує власну систему технічної підтримки з нуля або перебудовує чинну. Наша трирівнева система підтримки L1, L2 та L3 дає змогу якісно обслуговувати запити будь-якої складності.</p><h2 id="%D0%BF%D0%B5%D1%80%D1%88%D0%B0-%D0%BB%D1%96%D0%BD%D1%96%D1%8F-%D0%BF%D1%96%D0%B4%D1%82%D1%80%D0%B8%D0%BC%D0%BA%D0%B8-%E2%80%94-l1">Перша лінія підтримки — L1</h2><p>L1 Support Team — це перший контакт клієнта із нашою командою.</p><p>Інженери L1 приймають і класифікують звернення в Service Desk за типом і пріоритетом (маємо напрацьовані та перевірені на практиці методології класифікації). Швидко розв’язують стандартні питання (наприклад, проблеми з доступом, друком чи налаштуванням програмного забезпечення) або делегують складніші запити на L2 чи L3, визначаючи оптимального виконавця.</p><p>L1 — це команда оперативної реакції, яка закриває більшість типових питань на місці.</p><h2 id="%D0%B4%D1%80%D1%83%D0%B3%D0%B0-%D0%BB%D1%96%D0%BD%D1%96%D1%8F-%D0%BF%D1%96%D0%B4%D1%82%D1%80%D0%B8%D0%BC%D0%BA%D0%B8-%E2%80%94-l2">Друга лінія підтримки — L2</h2><h3 id="%D1%96%D0%BD%D0%B6%D0%B5%D0%BD%D0%B5%D1%80%D0%B8-%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%B3%D0%BE-%D1%80%D1%96%D0%B2%D0%BD%D1%8F-%D0%BF%D1%96%D0%B4%D1%82%D1%80%D0%B8%D0%BC%D0%BA%D0%B8-%D0%B2%D0%B8%D1%80%D1%96%D1%88%D1%83%D1%8E%D1%82%D1%8C-%D1%81%D0%BA%D0%BB%D0%B0%D0%B4%D0%BD%D1%96%D1%88%D1%96-%D1%82%D0%B5%D1%85%D0%BD%D1%96%D1%87%D0%BD%D1%96-%D0%B7%D0%B0%D0%B2%D0%B4%D0%B0%D0%BD%D0%BD%D1%8F">Інженери другого рівня підтримки вирішують складніші технічні завдання:</h3><p>1. Обслуговують сервери, мережеву інфраструктуру, а також налаштовують і підтримують обладнання.</p><p>2. Реалізують проєкти зі створення IT-інфраструктури відповідно до технічних завдань.</p><p>3. Ескалюють до L3 лише ті запити, які потребують адміністративного впливу або стратегічного чи інноваційного підходу.</p><p>L2 — це команда, яка працює над більш технічно складними завданнями, забезпечуючи стабільність IT-інфраструктури клієнтів.</p><h2 id="%D1%82%D1%80%D0%B5%D1%82%D1%8F-%D0%BB%D1%96%D0%BD%D1%96%D1%8F-%D0%BF%D1%96%D0%B4%D1%82%D1%80%D0%B8%D0%BC%D0%BA%D0%B8-%E2%80%94-l3">Третя лінія підтримки — L3</h2><h3 id="l3-%E2%80%94-%D1%86%D0%B5-%D0%BD%D0%B0%D1%88%D0%B0-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B0-%D1%82%D0%BE%D0%BF%D0%BE%D0%B2%D0%B8%D1%85-%D0%B5%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D1%82%D1%96%D0%B2-%D1%8F%D0%BA%D1%96">L3 — це наша команда топових експертів, які:</h3><p>1. Аналізують бізнес-потреби клієнтів, пропонують і впроваджують індивідуальні IT-рішення.</p><p>2. Розробляють технічні завдання для реалізації інфраструктурних проєктів.</p><p>3. Запускають пілотні рішення, проводять презентації та навчання IT-підрозділів клієнтів.</p><p>4. Вирішують найбільш складні та нестандартні технічні питання.</p><p>L3 — це стратегічний рівень підтримки, який сприяє довгостроковому розвитку бізнесу клієнтів. Тобто це візіонери, що розбудовують ІТ-інфраструктуру замовника під його поточні чи планові потреби, вимоги імплементованого ПЗ, релокацію офісу чи масштабування бізнесу.</p><h2 id="%D0%BF%D1%80%D1%8F%D0%BC%D0%B8%D0%B9-%D0%BA%D0%BE%D0%BD%D1%82%D0%B0%D0%BA%D1%82-%D1%96%D0%BD%D0%B6%D0%B5%D0%BD%D0%B5%D1%80%D1%96%D0%B2-%D1%96%D0%B7-%D0%BA%D0%BB%D1%96%D1%94%D0%BD%D1%82%D0%B0%D0%BC%D0%B8">Прямий контакт інженерів із клієнтами</h2><p>Одна із головних особливостей нашого підходу — це прямий контакт інженера із клієнтом незалежно від рівня підтримки.</p><p>Як тільки інженер отримує запит у свою відповідальність, він напряму взаємодіє із клієнтом, минаючи посередників. Ми проти операторів чи проміжних консультантів, оскільки це збільшує тривалість обробки тікета.</p><h3 id="%D1%89%D0%BE-%D1%86%D0%B5-%D0%B4%D0%B0%D1%94-%D1%96-%D1%87%D0%BE%D0%BC%D1%83-%D0%BC%D0%B8-%D0%BD%D0%B5-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%BE%D0%B2%D1%83%D1%94%D0%BC%D0%BE-%D0%B7%D0%B2%D0%BE%D1%80%D0%BE%D1%82%D0%BD%D0%BE%D0%B3%D0%BE-%D1%85%D0%BE%D0%B4%D1%83-%D0%B7%D0%B2%D0%B5%D1%80%D0%BD%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B7%D0%BD%D0%B8%D0%B7%D1%83-%D0%B2%D0%B3%D0%BE%D1%80%D1%83">Що це дає і чому ми не використовуємо зворотного ходу звернення знизу вгору?</h3><p>✓ Не витрачається час на передання інформації через інші лінії підтримки.</p><p>✓ Мінімізується ризик викривлення даних через людський фактор.</p><p>✓ Клієнт спілкується безпосередньо з відповідальним виконавцем, що підвищує довіру до процесу.</p><h3 id="%D1%89%D0%BE-%D0%BC%D0%B8-%D0%BE%D1%82%D1%80%D0%B8%D0%BC%D0%B0%D0%BB%D0%B8-%D0%B7%D0%B0%D0%B2%D0%B4%D1%8F%D0%BA%D0%B8-%D1%82%D0%B0%D0%BA%D1%96%D0%B9-%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%96">Що ми отримали завдяки такій структурі?</h3><p>✓ Кожен рівень працює у своїй зоні компетенції.</p><p>✓ Ми мінімізували час на вирішення завдань.</p><p>✓ Це підвищує довіру і знижує ризик виникнення непорозумінь.</p><p>У середньому ми обробляємо понад 800 звернень на місяць від майже 100 компаній. Середній час реакції на звернення — 10 хвилин, але ми покращуємо цю цифру. Час відповіді на дзвінок — 15 секунд, середня тривалість контракту — 6 років. Тобто, ми систематично збираємо статистику й оптимізуємо власні показники, щоб забезпечувати стабільно високий рівень підтримки.</p><p>А як із цим у вас? Чи застосовуєте ви прямий контакт спеціалістів із клієнтами у своїх процесах? Можливо, у вас є кейси, які допомогли суттєво покращити підтримку? Поділіться своїм досвідом у коментарях.</p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Десяток років поспіль менеджерське комьюніті обговорює підхід відкритого лідерства. Це стиль управління, який базується на принципах прозорості, довіри та співпраці. Лідер, який практикує відкрите лідерство, активно ділиться інформацією з командою, заохочує обмін ідеями та сприяє участі кожного члена команди в ухваленні рішень.

У цій статті Олеся Ульянова, Ph.D, MBA, ]]></description>
        <link>https://proit.ua/5-pastok-vidkritogho-lidierstva-iakikh-varto-unikati/</link>
        <guid isPermaLink="false">675c301e9f7c4906de573b32</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Олеся Ульянова ]]></dc:creator>
        <pubDate>ср, 18 груд 2024 14:00:23 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/12/27277055.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Десяток років поспіль менеджерське комьюніті обговорює підхід відкритого лідерства. Це стиль управління, який базується на принципах прозорості, довіри та співпраці. Лідер, який практикує відкрите лідерство, активно ділиться інформацією з командою, заохочує обмін ідеями та сприяє участі кожного члена команди в ухваленні рішень.</p><p>У цій статті Олеся Ульянова, Ph.D, MBA, СЕО Telesens, Founder ITGC, Еx-ментор USAID, розглянула п’ять найболючіших помилок відкритого лідерства, які варто знати кожному керівнику, і запропонувала найефективніші способи їх вирішення.</p><p>Відкрите лідерство справді сприяє підвищенню мотивації та залученості спеціалістів, оскільки вони відчувають свою цінність і внесок у спільну справу. Це підхід, який допомагає компаніям бути більш інноваційними й адаптивними в сучасному динамічному середовищі.</p><p>Здається «магічну пігулку» знайдено і це майже ідеальний підхід до менеджменту: результатів у бізнесі досягнуто, а команда — самостійна, мотивована і свідома. Дійсно, відкрите лідерство може значно покращити роботу команди та компанії загалом. Проте ця відкритість і довіра команді може зіграти злий жарт, особливо, коли лідер працює у корпоративному сегменті із зарегульованими та бюрократичними процедурами.</p><p>І як би менеджерам не подобався цей підхід, часом він може добряче вдарити по голові. Навіть найблагородніші наміри можуть призвести до помилок, якщо не врахувати певні нюанси.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/12/5----------------------------_2.jpg" class="kg-image" alt loading="lazy" width="5753" height="5000"></figure><h2 id="%D0%BD%D0%B0%D0%B4%D0%BC%D1%96%D1%80%D0%BD%D0%B0-%D0%BF%D1%80%D0%BE%D0%B7%D0%BE%D1%80%D1%96%D1%81%D1%82%D1%8C">Надмірна прозорість</h2><p>Це ситуація, коли лідер ділиться з командою занадто великою кількістю інформації або деталями, які можуть бути непотрібними, неактуальними або навіть шкідливими для роботи. Відкритість і прозорість є важливими для встановлення довіри та залучення спеціалістів, але важливо розуміти, де провести межу між корисною інформацією й тією, що може завдати шкоди.</p><h3 id="%D1%8F%D0%BA%D1%96-%D0%BD%D0%B5%D0%B3%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D1%96-%D0%BD%D0%B0%D1%81%D0%BB%D1%96%D0%B4%D0%BA%D0%B8-%D0%B2%D1%96%D0%B4-%D0%BD%D0%B0%D0%B4%D0%BC%D1%96%D1%80%D0%BD%D0%BE%D1%97-%D0%BF%D1%80%D0%BE%D0%B7%D0%BE%D1%80%D0%BE%D1%81%D1%82%D1%96">Які негативні наслідки від надмірної прозорості?</h3><p>● Перевантаження інформацією. Коли фахівці отримують надто багато інформації, то можуть відчувати стрес або плутанину щодо пріоритетів. Це може знизити їхню продуктивність і здатність ухвалювати ефективні рішення.</p><p>● Розкриття конфіденційних даних. Ненавмисне розкриття стратегічних планів, фінансових показників або особистої інформації може поставити під загрозу безпеку компанії та довіру клієнтів і партнерів.</p><p>● Підвищення тривоги серед спеціалістів. Невідфільтрована інформація про проблеми або ризики без належного контексту може викликати паніку або погіршення морального стану в команді.</p><p>● Зниження авторитету лідера. Якщо лідер постійно ділиться всіма подробицями, команда може почати сумніватися у його здатності<br>фільтрувати інформацію й ухвалювати стратегічні рішення.</p><p>● Відволікання від основних завдань. Надмірна кількість інформації може відволікати спеціалістів від їхніх основних обов’язків.</p><h3 id="%D1%8F%D0%BA-%D1%86%D1%8C%D0%BE%D0%BC%D1%83-%D0%B7%D0%B0%D0%BF%D0%BE%D0%B1%D1%96%D0%B3%D1%82%D0%B8">Як цьому запобігти?</h3><p>1. Встановіть чіткі межі інформації. Визначте, яка інформація є критичною для роботи спеціалістів, а яка може бути зайвою або шкідливою. Діліться тим, що допоможе команді виконувати свої завдання ефективніше.</p><p>2. Фільтруйте інформацію відповідно до аудиторії. Різні рівні фахівців можуть потребувати різної глибини інформації. Менеджерам може бути потрібна детальніша інформація, тоді як іншим спеціалістам достатньо знати основні моменти.</p><p>3. Забезпечте контекст і рішення. Якщо ви ділитеся проблемами або викликами, обов’язково надавайте контекст і можливі шляхи їх вирішення. Це допоможе знизити тривогу і показати, що ситуація під контролем.</p><p>4. Дотримуйтеся принципу «потрібно знати». Діліться інформацією лише з тими, хто дійсно потребує її для виконання своїх обов’язків. Це допоможе захистити конфіденційність і зберегти фокус команди на головному.</p><p>5. Консультуйтеся із командою з управління ризиками. Перед тим, як розкрити важливу або чутливу інформацію, обговоріть це з фахівцями, щоб оцінити потенційні ризики та наслідки. Якщо лідер детально розповідає всій команді про фінансові проблеми без плану дій, це може викликати паніку, зниження мотивації та навіть звільнення команди. Повідомлення про можливі реорганізації або скорочення без конкретних деталей може створити атмосферу невпевненості та чуток.</p><h2 id="%D0%B2%D1%96%D0%B4%D1%81%D1%83%D1%82%D0%BD%D1%96%D1%81%D1%82%D1%8C-%D1%87%D1%96%D1%82%D0%BA%D0%B8%D1%85-%D0%BC%D0%B5%D0%B6">Відсутність чітких меж</h2><p>Відсутність чітких меж виникає, коли лідер не встановлює або не підтримує необхідну дистанцію між собою та командою. Це може проявлятися у відсутності визначених ролей, відповідальностей або у занадто дружних відносинах, які розмивають професійні межі.</p><p>Коли лідер надто зближується з командою, спеціалісти можуть перестати сприймати його серйозно. Це може ускладнити ухвалення рішень та їх виконання. Без чітких меж фахівці можуть не розуміти, хто за що відповідає, що призводить до дублювання зусиль або прогалин у роботі.</p><h3 id="%D1%89%D0%BE-%D0%BC%D0%BE%D0%B6%D0%B5-%D0%BF%D1%80%D0%B8%D0%B7%D0%B2%D0%B5%D1%81%D1%82%D0%B8-%D0%B4%D0%BE-%D0%B2%D1%96%D0%B4%D1%81%D1%83%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%96-%D1%87%D1%96%D1%82%D0%BA%D0%B8%D1%85-%D0%BC%D0%B5%D0%B6">Що може призвести до відсутності чітких меж?</h3><p>● Бажання бути «своєю людиною». Лідер може прагнути до популярності серед команди, що змушує його стирати професійні межі.</p><p>● Недосвідченість у формуванні меж. Недостатній досвід може призвести до незнання того, як встановлювати та підтримувати необхідні межі.</p><p>● Культурні особливості. У деяких компаніях чи культурах<br>неформальний стиль управління може бути нормою, але без належних меж це може створити проблеми.</p><p>● Прагнення до максимальної відкритості. Хоча відкритість є позитивною рисою, без чітких меж вона може призвести до розмивання ролей і відповідальності.</p><p>Плутанина та неефективність у роботі призводять до втрати часу й ресурсів. Відсутність структурованості може спричинити конфлікти,<br>нездорову конкуренцію або відчуження серед фахівців.</p><p>Якщо лідер не може встановити та підтримувати межі, команда може сумніватися в його компетентності та лідерських якостях. Без чітких меж процес ухвалення рішень може бути уповільнений або паралізований, оскільки немає ясності щодо того, хто має остаточне слово.</p><h3 id="%D1%8F%D0%BA-%D1%86%D1%8C%D0%BE%D0%BC%D1%83-%D0%B7%D0%B0%D0%BF%D0%BE%D0%B1%D1%96%D0%B3%D1%82%D0%B8-1">Як цьому запобігти?</h3><p>1. Встановіть чіткі ролі та відповідальність. Документуйте обов’язки кожного члена команди та регулярно їх переглядайте. Обговорюйте прогрес та очікування, щоб переконатися, що всі на одній хвилі. Використовуйте офіційні канали комунікації для робочих питань (електронна пошта, корпоративні месенджери). Визначте години, коли спеціалісти можуть звертатися із запитаннями, особливо щодо невідкладних справ.</p><p>2. Підтримуйте професійну дистанцію. Гарні відносини важливі, але не забувайте про професійні межі. Будьте дружніми, але пам’ятайте про свою роль лідера. Ставтеся до всіх спеціалістів справедливо та рівноцінно.</p><p>3. Чіткі процеси ухвалення рішень. Ухвалюйте рішення на основі фактів, а не особистих симпатій. Встановіть, які рішення ухвалюються колективно, а які — індивідуально лідером. Пояснюйте, як і чому ухвалюються ті чи інші рішення. Встановлення та підтримка чітких меж є критично важливим аспектом ефективного лідерства. Це не означає створення бар’єрів або відсторонення від команди, а навпаки — створення структури, у якій кожен знає свої ролі, відповідальність та очікування.</p><p>4. Чіткі межі, які сприяють побудові професійних, довірливих і продуктивних відносин у команді. Лідер, який уміє встановлювати межі, допомагає команді працювати злагоджено, ефективно й зосереджено на досягненні спільних цілей. Пам’ятайте, що межі — це не обмеження, а інструмент для створення здорового і продуктивного робочого середовища.</p><h2 id="%D0%BD%D0%B5%D0%B7%D0%B4%D0%B0%D1%82%D0%BD%D1%96%D1%81%D1%82%D1%8C-%D1%83%D1%85%D0%B2%D0%B0%D0%BB%D1%8E%D0%B2%D0%B0%D1%82%D0%B8-%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BE%D1%87%D0%BD%D1%96-%D1%80%D1%96%D1%88%D0%B5%D0%BD%D0%BD%D1%8F">Нездатність ухвалювати остаточні рішення</h2><p>Це ситуація, коли лідер постійно відкладає або уникає ухвалення важливих рішень, що призводить до затримок у роботі та зниження ефективності роботи команди. Це може проявлятися у формі надмірного аналізу інформації (так званий аналіз-параліз), постійного пошуку додаткових даних або прагнення до повного консенсусу, що в реальності може бути недосяжним.</p><h3 id="%D1%87%D0%B8%D0%BC-%D1%86%D0%B5-%D0%BC%D0%BE%D0%B6%D0%B5-%D0%B1%D1%83%D1%82%D0%B8-%D1%81%D0%BF%D1%80%D0%B8%D1%87%D0%B8%D0%BD%D0%B5%D0%BD%D0%BE">Чим це може бути спричинено?</h3><p>● Страх помилитися. Лідер боїться, що неправильне рішення може мати негативні наслідки для команди чи компанії, що паралізує його<br>здатність діяти.</p><p>● Невпевненість у професійних навичках. Недостатня віра у власні<br>компетенції та знання може заважати ухваленню рішень.</p><p>● Перфекціонізм. Прагнення до ідеального рішення може затримувати процес, оскільки лідер чекає ідеальних умов або отримання повної інформації.</p><p>● Надмірне залучення команди. Постійне прагнення отримати схвалення або думку від усіх членів команди може уповільнювати процес ухвалення рішень.</p><p>● Відсутність чіткої стратегії. Без ясного бачення та цілей лідеру складно ухвалювати рішення, які відповідають довгостроковим інтересам організації.<br>Затримки в ухваленні рішень можуть призвести до простоїв, утрати<br>можливостей і невиконання завдань у встановлені терміни. Команда може відчувати невизначеність і втрату довіри до лідера, що знижує мотивацію і продуктивність. Повільна реакція на зміни ринку або внутрішні проблеми може призвести до відставання від конкурентів.</p><h3 id="%D1%8F%D0%BA-%D1%86%D0%B5-%D0%BF%D0%BE%D0%B1%D0%BE%D1%80%D0%BE%D1%82%D0%B8">Як це побороти?</h3><p>1. Розвивайте впевненість у собі. Самоосвіта та підвищення кваліфікації для цього чудово підходить. Поглиблюйте знання в галузі, щоб відчувати себе більш компетентним. Аналізуйте свої успіхи. Розглядайте попередні успішні рішення, щоб зміцнити віру у свої здібності.</p><p>2. Встановіть чіткі цілі та пріоритети. Розробіть довгострокову стратегію, яка буде направляти процес ухвалення рішень. Визначте, які рішення потребують негайної уваги, а які можуть почекати. Не намагайтеся тягнути все і відразу на собі.</p><p>3. Обмежуйте час на ухвалення рішень. Встановлюйте дедлайни для ухвалення рішень. Це допоможе уникнути затягування процесу і стимулює до дії. Також використовуйте метод «достатньо добре». Ухвалюйте рішення, коли маєте достатньо інформації, а не повну.</p><p>4. Консультуйтеся з експертами, але пам’ятайте, що остаточне рішення — за вами. Не завжди можливо досягти повного консенсусу. Інколи потрібно ухвалювати рішення самостійно. Розуміння, що помилки — це частина розвитку, зменшить страх перед рішеннями. Плануйте дії на випадок, якщо рішення не дасть очікуваних результатів.</p><p>5. Оцінка сильних і слабких сторін, можливостей і загроз допоможе ухвалити обгрунтоване рішення. Нездатність ухвалювати остаточних рішень є серйозною перепоною на шляху до ефективного лідерства та успіху організації.</p><p>6. Лідер повинен усвідомити свою відповідальність за ухвалення рішень та активно працювати над розвитком цієї навички. Важливо знайти баланс між аналізом інформації та необхідністю дії, між залученням команди й особистою відповідальністю.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/12/5----------------------------_1.jpg" class="kg-image" alt loading="lazy" width="2000" height="2000"></figure><h2 id="%D1%96%D0%B3%D0%BD%D0%BE%D1%80%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%BD%D0%B5%D0%B3%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%B8%D1%85-%D0%BD%D0%B0%D1%81%D0%BB%D1%96%D0%B4%D0%BA%D1%96%D0%B2">Ігнорування негативних наслідків</h2><p>Це ситуація, коли лідер, прагнучи до відкритості та прозорості, не враховує або недооцінює потенційні негативні наслідки своїх дій чи рішень для команди, компанії або зацікавлених сторін. Це може проявлятися у недостатньому аналізі ризиків, відсутності планування на випадок непередбачуваних обставин або небажанні розглядати можливі негативні сценарії.</p><h3 id="%D1%87%D0%B8%D0%BC-%D1%86%D0%B5-%D0%BC%D0%BE%D0%B6%D0%B5-%D0%B1%D1%83%D1%82%D0%B8-%D1%81%D0%BF%D1%80%D0%B8%D1%87%D0%B8%D0%BD%D0%B5%D0%BD%D0%BE-1">Чим це може бути спричинено?</h3><p>● Безоглядний оптимізм. Лідер може бути надто впевненим у<br>позитивному результаті своїх дій, що заважає йому побачити<br>потенційні ризики та проблеми.</p><p>● Брак досвіду або знань. Недосвідченість або недостатнє розуміння<br>специфіки галузі можуть призвести до того, що лідер просто не<br>усвідомлює можливих негативних наслідків.</p><p>● Уникання конфліктів. Бажання уникнути дискусій або конфронтацій може спонукати лідера ігнорувати негативні аспекти та фокусуватися лише на позитивних моментах.</p><p>● Прагнення до швидких результатів. Тиск із боку менеджменту або<br>власні амбіції можуть змусити лідера ухвалювати рішення без належного аналізу.</p><p>● Недооцінка важливості зворотного зв’язку. Відсутність уваги до думок команди або експертів може призвести до пропуску важливих сигналів про потенційні проблеми.</p><p>Невраховані ризики можуть призвести до серйозних проблем, які<br>могли б і не статися при належному плануванні. Коли негативні наслідки проявляються, команда може втратити довіру до лідера, вважаючи його недалекоглядним або безвідповідальним. Спеціалісти можуть відчувати розчарування та демотивацію, якщо їхні зусилля не приносять очікуваних результатів через прорахунки менеджменту.</p><h3 id="%D1%8F%D0%BA-%D0%BD%D0%B5-%D0%B2%D0%BF%D0%B0%D0%B4%D0%B0%D1%82%D0%B8-%D0%B2-%D0%B1%D0%B5%D0%B7%D0%BE%D0%B3%D0%BB%D1%8F%D0%B4%D0%BD%D0%B8%D0%B9-%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D1%96%D0%B7%D0%BC">Як не впадати в безоглядний оптимізм?</h3><p>1. Проводьте ретельний аналіз ризиків. Визначте сильні та слабкі сторони, можливості та загрози для проєкту або рішення. Можете для цього використовувати будь-який інструмент. Визначте ймовірність виникнення ризиків та їхній потенційний вплив. Ведення реєстру ризиків як компанії, так і команди допоможе уникнути несподіванок.</p><p>2. Розробляйте плани дій на випадок непередбачуваних обставин.<br>Розробіть план Б, а краще В і Г. Чим більше пропрацюєте варіантів, тим менше часу будете витрачати на вирішення цих ризиків потім.</p><p>3. Розвивайте культуру відкритості та критичного мислення. Створіть середовище, де спеціалісти не бояться ставити під сумнів ідеї та рішення. Показуйте на власному прикладі, що ви цінуєте конструктивну критику. Не обіцяйте більше, ніж можете виконати. Це допоможе уникнути розчарувань.</p><p>Ігнорування негативних наслідків є серйозною помилкою, яка може<br>мати далекосяжні та руйнівні наслідки для лідера, команди та компанії в цілому. Відкритий лідер повинен не лише фокусуватися на позитивних аспектах і можливостях, але й активно ідентифікувати, аналізувати й управляти потенційними ризиками.</p><p>Уважне ставлення до можливих негативних наслідків дає змогу ухвалювати більш зважені й обґрунтовані рішення, підвищувати ефективність команди та забезпечувати довгостроковий успіх компанії. Це також демонструє відповідальність і професіоналізм лідера, що сприяє зміцненню довіри й поваги з боку команди та зацікавлених сторін.</p><p>Врахування негативних наслідків — це не песимізм, а реалістичний і відповідальний підхід до управління, який дозволяє максимально використовувати можливості та мінімізувати ризики.</p><h2 id="%D0%B7%D0%B0%D0%BB%D0%B5%D0%B6%D0%BD%D1%96%D1%81%D1%82%D1%8C-%D0%B2%D1%96%D0%B4-%D0%B7%D0%B2%D0%BE%D1%80%D0%BE%D1%82%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B7%D0%B2%E2%80%99%D1%8F%D0%B7%D0%BA%D1%83">Залежність від зворотного зв’язку</h2><p>Це ситуація, коли лідер постійно потребує підтвердження, схвалення або думки від команди перед ухваленням будь-яких рішень. Такий лідер може відчувати труднощі з ухваленням самостійних рішень без підтримки або зворотного зв’язку від інших. Це може призводити до затримок у роботі, зниження ефективності й втрати авторитету в очах команди.</p><h3 id="%D1%87%D0%B8%D0%BC-%D1%86%D0%B5-%D0%BC%D0%BE%D0%B6%D0%B5-%D0%B1%D1%83%D1%82%D0%B8-%D1%81%D0%BF%D1%80%D0%B8%D1%87%D0%B8%D0%BD%D0%B5%D0%BD%D0%BE-2">Чим це може бути спричинено?</h3><p>● Невпевненість у своїх лідерських якостях. Лідер може сумніватися у своїх навичках, знаннях або компетенції, що змушує його шукати<br>підтвердження від інших.</p><p>● Страх. Побоювання зробити неправильний вибір може спонукати<br>лідера постійно шукати схвалення, щоб розділити відповідальність за рішення.</p><p>● Бажання бути демократичним. Лідер може вважати, що постійне<br>залучення команди до ухвалення рішень підвищує мотивацію та<br>залученість спеціалістів.</p><p>● Відсутність досвіду та відповідальності за вчинки. Недосвідчені лідери можуть не відчувати себе впевнено при ухваленні рішень без<br>підтримки колег.</p><p>● Культурні особливості компанії. У деяких компаніях може бути заведено колективне ухвалення рішень, що може спонукати лідера до надмірної залежності від зворотного зв’язку.</p><p>Постійне очікування зворотного зв’язку уповільнює процеси та може призвести до втрати можливостей. Фахівці можуть відчувати перевантаження від постійних запитів на зворотний зв’язок, що відволікає їх від основних завдань. Команда може почати сумніватися у компетентності та рішучості свого лідера.</p><h3 id="%D1%8F%D0%BA-%D1%86%D1%8C%D0%BE%D0%BC%D1%83-%D0%B7%D0%B0%D0%BF%D0%BE%D0%B1%D1%96%D0%B3%D1%82%D0%B8-2">Як цьому запобігти?</h3><p>1. Вибудуйте чіткі процеси ухвалення рішень. Визначте, які рішення ви можете делегувати, а які повинні ухвалювати самостійно. Розробіть чіткі критерії та принципи, які допоможуть ухвалювати обґрунтовані рішення. Просіть зворотний зв’язок щодо важливих питань, але ухвалюйте оперативні рішення самостійно.</p><p>2. Беріть відповідальність за свої рішення. Аналізуйте успіхи та помилки, щоб краще розуміти свої сильні й слабкі сторони. Розумійте, що помилки — це частина процесу навчання та розвитку. Бажано не наступати на ті ж «граблі» знову і знову, але право на помилку є у кожного.</p><p>3. Розвивайте культуру довіри та демонструйте впевненість. Вона буде передаватися команді й підвищить її довіру до вас. Цінуйте думки команди, але не дозволяйте їм паралізувати вашу здатність діяти. Якщо ви впевнені у рішенні на 70%, дійте. Часом краще ухвалити рішення із неповною інформацією, ніж не ухвалитти його взагалі.</p><p>Тренуйтеся ухвалювати швидкі рішення в менш важливих ситуаціях, щоб розвинути цю навичку. Отримуйте зворотний зв’язок після ухвалення рішення, щоб вчитися і вдосконалюватися, але не перед ним. Залежність від зворотного зв’язку може стати серйозною перешкодою на шляху до ефективного лідерства й успіху команди.</p><p>Важливо знайти баланс між залученням команди та здатністю ухвалювати самостійні рішення. Розвиваючи впевненість у собі, встановлюючи чіткі процеси та критерії ухвалення рішень, лідер може подолати цю проблему.</p><p>Лідерство — це не лише про те, щоб бути популярним або завжди мати підтримку, але й про відповідальність за ухвалення рішень, які ведуть команду вперед. Ваша рішучість і здатність діяти надихатимуть команду, підвищуватимуть її ефективність та сприятимуть досягненню спільних цілей.<br>Кожен із цих пунктів підкреслює важливість балансу в лідерстві.</p><p>Відкрите лідерство не означає відмову від відповідальності або розмивання меж. Це про прозорість, довіру й ефективне управління, яке враховує як потреби команди в цілому, так і кожного її члена окремо. Уникаючи згаданих помилок і працюючи над собою, лідер може створити продуктивне та гармонійне робоче середовище, де кожен відчуває себе цінним і залученим до спільної мети.</p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Сьогодні ринок IT-послуг в Україні перебуває у фазі активної трансформації та переосмислення. Змінюються як підходи до якості сервісу, так і сама модель його надання.

Ці зміни стали особливо помітними з появою в Україні концепції IT-аутсорсингу. За кордоном передача обслуговування IT-інфраструктури стороннім компаніям вже давно стала нормою для бізнесів сегменту SMB ]]></description>
        <link>https://proit.ua/iak-zminiuietsia-rinok-it-poslugh-v-ukrayini/</link>
        <guid isPermaLink="false">675840bb81fcc006b10864b9</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Ігор Горб ]]></dc:creator>
        <pubDate>ср, 11 груд 2024 14:00:12 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/12/IMG_0674.jpeg" medium="image"/>
        <content:encoded><![CDATA[ <p>Сьогодні ринок IT-послуг в Україні перебуває у фазі активної трансформації та переосмислення. Змінюються як підходи до якості сервісу, так і сама модель його надання.</p><p>Ці зміни стали особливо помітними з появою в Україні концепції IT-аутсорсингу. За кордоном передача обслуговування IT-інфраструктури стороннім компаніям вже давно стала нормою для бізнесів сегменту SMB (малий і середній бізнес).</p><p>В Україні цей вид сервісу перебуває на етапі стрімкого зростання. Ще 5 років тому IT-аутсорсинг був маловідомим серед широких бізнес кіл, проте сьогодні ситуація кардинально змінилася.</p><p>Насамперед ці зміни породжують воєнний стан і бойові дії. Багато бізнесів стикаються із раптовою мобілізацією ключових фахівців, адже бронюванню підлягають лише деякі типи підприємств і професій. Саме тому, щоб підстрахувати власний бізнес і забезпечити його безперебійне обслуговування, частішають звернення саме із професійного аутсорсингу.</p><p>Висока конкуренція у сфері інформаційних технологій стимулює підвищення рівня обслуговування та водночас знижує вартість послуг для кінцевого споживача.</p><p>Зростає і стандарт послуги. Наприклад, вагомим критерієм сучасності стане не тільки ціна, а й наявність скілової команди, стабільність аутсорс-провайдера на ринку, швидкодія в опрацюванні тікетів і дзвінків тощо.</p><h2 id="%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3%D0%B8-it-%D0%B0%D1%83%D1%82%D1%81%D0%BE%D1%80%D1%81%D0%B8%D0%BD%D0%B3%D1%83">Переваги IT-аутсорсингу</h2><p>Компанії все частіше вибирають IT-аутсорсинг через очевидні переваги:</p><h3 id="1-%D1%84%D0%BE%D0%BA%D1%83%D1%81-%D0%BD%D0%B0-%D0%B1%D1%96%D0%B7%D0%BD%D0%B5%D1%81%D1%96">1. Фокус на бізнесі</h3><p>Аутсорсинг дозволяє підприємству сконцентрувати свої зусилля на основних бізнес-процесах, не відволікаючись на вирішення технічних завдань.</p><h3 id="2-%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%8F-%D0%B2%D0%B8%D1%82%D1%80%D0%B0%D1%82">2. Оптимізація витрат</h3><p>Замість того щоб утримувати штат IT-фахівців, компанія отримує можливість гнучко керувати витратами на обслуговування IT-інфраструктури.</p><h3 id="3-%D0%B7%D0%BD%D0%B8%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F-%D1%80%D0%B8%D0%B7%D0%B8%D0%BA%D1%96%D0%B2">3. Зниження ризиків</h3><p>Аутсорсингові компанії беруть на себе частину відповідальності за стабільність роботи IT-систем, що знижує ризики для бізнесу.</p><h2 id="%D0%BA%D0%BE%D0%BD%D0%BA%D1%83%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%B0-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3%D0%B0-%D0%B0%D1%83%D1%82%D1%81%D0%BE%D1%80%D1%81%D0%B8%D0%BD%D0%B3%D0%BE%D0%B2%D0%B8%D1%85-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D1%96%D0%B9">Конкурентна перевага аутсорсингових компаній</h2><p>Однією із ключових переваг аутсорсингових компаній є доступ до колективного досвіду. Штат таких компаній зазвичай складається із фахівців різних профілів, що дозволяє ефективно вирішувати широкий спектр завдань. У нас, наприклад, до реалізації складних завдань долучаються спеціалісти із 20-річним досвідом роботи.</p><p>До того ж аутсорсингові компанії регулярно інвестують у підвищення кваліфікації своїх співробітників, адже їхній професіоналізм безпосередньо впливає на якість послуг, репутацію компанії та її прибуток.</p><p>Найважливіший фактор — це відсутність витрат на утримання ін-хаус команди, на їхній пошук і підбір, на оснащення робочих місць та оплату адміністрування рутинних функцій. Натомість ІТ-департамент може займатися створенням софтверних рішень, автоматизацією бізнес-процесів, реалізацією завдань із підтримки та розвитку внутрішніх ІТ-систем компанії.</p><h2 id="%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%B8-%D1%8F%D0%BA%D0%BE%D1%81%D1%82%D1%96-it-%D0%B0%D1%83%D1%82%D1%81%D0%BE%D1%80%D1%81%D0%B8%D0%BD%D0%B3%D1%83">Стандарти якості IT-аутсорсингу</h2><p>Зростання конкуренції на ринку формує стандарти якості, дотримання яких є обов’язковим для успішного функціонування IT-аутсорсингової компанії. Розглянемо основні з них:</p><h3 id="1-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0-%D0%BF%D1%80%D0%B8%D0%B9%D0%BE%D0%BC%D1%83-%D1%82%D0%B0-%D0%BE%D0%B1%D1%80%D0%BE%D0%B1%D0%BA%D0%B8-%D0%B7%D0%B0%D1%8F%D0%B2%D0%BE%D0%BA">1. Система прийому та обробки заявок</h3><p>Впровадження професійних систем для обробки заявок дозволяє мінімізувати вплив людського фактора на роботу служби підтримки. Це забезпечує своєчасну реакцію на інциденти та контроль якості їх вирішення.</p><h3 id="2-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0-%D0%BC%D0%BE%D0%BD%D1%96%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3%D1%83-%D0%BE%D0%B1%D0%BB%D0%B0%D0%B4%D0%BD%D0%B0%D0%BD%D0%BD%D1%8F">2. Система моніторингу обладнання</h3><p>Аутсорсингові компанії використовують системи моніторингу для відстеження стану техніки та оперативного реагування на збої. Чим швидше виявлена проблема, тим менше простоїв у роботі бізнесу.</p><h3 id="3-%D1%88%D0%B2%D0%B8%D0%B4%D0%BA%D0%B5-%D1%80%D0%B5%D0%B0%D0%B3%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">3. Швидке реагування</h3><p>Один із важливих стандартів — забезпечення виїзду спеціаліста на територію замовника протягом 1–2 годин із моменту виникнення несправності.</p><p>Крім того, аутсорсингові компанії зазвичай пропонують необмежену кількість таких виїздів, що критично для безперебійної роботи підприємства.</p><h3 id="4-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%B0%D0%BD%D0%BD%D1%8F-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8-%D0%B2%D1%96%D0%B4%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B0%D0%B4%D0%BC%D1%96%D0%BD%D1%96%D1%81%D1%82%D1%80%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">4. Використання системи віддаленого адміністрування</h3><p>Системи віддаленого адміністрування дозволяють вирішувати понад 60% технічних проблем упродовж кількох хвилин, що значно підвищує ефективність роботи IT-сервісу.</p><h2 id="%D0%B2%D0%B8%D1%81%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8">Висновки</h2><p>IT-аутсорсинг — це не лише сучасний тренд, а й стратегічний вибір для компаній сегменту SMB. Він дозволяє знизити витрати, підвищити якість обслуговування та мінімізувати ризики, пов’язані з управлінням IT-інфраструктурою.</p><p>Вибираючи досвідченого та надійного партнера, бізнес отримує змогу зосередитися на своєму основному завданні — розвитку та зростанні.</p><p>Також ми радимо прописувати у договорі SLA (Service Level Agreement), у якому обумовлюється рівень сервісу (час реакції та вирішення), який сервісна компанія зобов’язується надати вам. За невиконання умов SLA передбачено штрафи.</p><p>Можна провести і попередній аудит ІТ-інфраструктури та виявити вигоду співпраці на річному контракті з абонентського обслуговування в аутсорсера або утриманні власної штатної команди.</p><p><em><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></em></p><p><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Впровадження ERP для ІТ-бізнесу на певному етапі розвитку компанії стає наріжним каменем для масштабування. ІТ-компанії працюють на глобальному ринку, мають команди в різних офісах, традиційно використовують багато різних систем всередині організації для управління процесами. Отже, ERP-проєкт для таких організацій — це завжди виклик.

Для успіху такого проєкту важливо окреслили бізнес-цілі, заради ]]></description>
        <link>https://proit.ua/vprovadzhiennia-erp-dlia-it-bizniesu/</link>
        <guid isPermaLink="false">674f27f52d8c14073502c3d2</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Віталій Курдюмов ]]></dc:creator>
        <pubDate>ср, 04 груд 2024 14:00:39 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/12/professional-using-smartphone-manage-erp-cloud-systems-dynamic-office-setting.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Впровадження ERP для ІТ-бізнесу на певному етапі розвитку компанії стає наріжним каменем для масштабування. ІТ-компанії працюють на глобальному ринку, мають команди в різних офісах, традиційно використовують багато різних систем всередині організації для управління процесами. Отже, ERP-проєкт для таких організацій — це завжди виклик.<br> <br>Для успіху такого проєкту важливо окреслили бізнес-цілі, заради яких впроваджується система, а також проблеми у поточному стані речей, які майбутня система має вирішити. Це дозволить консалтинговій команді та самій компанії мати мету і розуміння навіщо відбувається проєкт.</p><p>Надважливо — готувати команду. Люди мають бути лояльними до змін, а ще краще рушіями цих змін. Вмотивовуйте команду проактивно рухати проєкт, готуватися до зустрічей, вивчати проєктну документацію і проходити тренінги. Тоді перехід на нову ERP-систему буде м’яким і результативним для компанії.</p><h2 id="%D0%BD%D0%B0%D0%B2%D1%96%D1%89%D0%BE-erp-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0-%D1%96%D1%82-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D1%96%D1%97">Навіщо ERP-система ІТ-компанії?</h2><p><br>Якщо говорити про ERP-системи загалом, то з одного боку системи цього класу надають компаніям певні переваги: більш цілісну картину прибутковості бізнесу, запроваджують принципи аудійованості облікових даних, знижують ризик «людського фактору» при обліку, надають більшої контрольованості. З іншого боку, широко відомо, що впровадження комплексних ERP-систем є досить складною задачею і потребує від компаній визначення власних вимог до обліку та наявності кадрових і фінансових ресурсів.<br> <br>Такі характеристики ERP-систем можуть не дуже в’язатися із самим характером IT-компаній, які часто починають свій шлях як стартапи й тривалий час свого життя залишаються в такому стані.</p><p>Для багатьох IT-компаній мати гнучкість в обліку і звітності, не ускладнювати процеси власного бізнесу і загалом обходитися мінімальними інструментами часто є свідомим рішенням, яке фактично заміщує необхідність використання комплексної ERP-системи. Менше з тим, у певний період свого життєвого циклу компанії приходять до рішення впровадити ERP-систему. Перш ніж відповісти на питання, чому так стається, подивімось, яка зараз ситуація з ERP-системами у компаній з IT-бізнесу?</p><h2 id="%D1%8F%D0%BA%D0%B8%D0%B9-%D1%81%D1%82%D0%B0%D0%BD-%D0%BE%D0%B1%D0%BB%D1%96%D0%BA%D1%83-%D0%B2-%D1%96%D1%82-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D1%96%D1%8F%D1%85-%D0%B7%D0%B0%D0%B7%D0%B2%D0%B8%D1%87%D0%B0%D0%B9">Який стан обліку в ІТ-компаніях зазвичай</h2><p><br>Звісно, всі компанії так або інакше мають облікові інструменти. У відносно невеликих гравців облік ведеться за допомогою суміші гугл- або ексель-таблиць, іноді частково використовуються умовно бесплатні та досить прості за функціоналом облікові системи на кшталт QuickBooks, Xero, Zoho Books. Дехто розробляє власні системи, спираючись на той факт, що в компанії є розробники.<br> <br>У більших гравців, що давно на ринку, питання з ERP може бути вирішено. Нерідко вони впроваджували такі системи власними силами, оскільки мали власну ERP практику та in-house команду.</p><p>Наприклад, EPAM є історично потужним партнером SAP, відповідно, компанія впровадила і давно використовує саме цю ERP. Ciklum свого часу обрав Microsoft Dynamics NAV (тепер Dynamics 365 Business Central) і після впровадження започаткував цю ж практику у себе. Хоча з часом її припинив, але система залишилась і досі служить компанії.<br> <br>Що ж спонукає IT-компанії залишити стартаперський запал, полишити гугл- таблиці з вірним QuickBooks і вирушити у складну мандрівку ERP-проєктом?  Базовою причиною є масштабування бізнесу.</p><h2 id="%D1%8F%D0%BA-erp-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BC%D0%B0%D0%B3%D0%B0%D1%94-%D1%96%D1%82-%D0%B1%D1%96%D0%B7%D0%BD%D0%B5%D1%81%D1%83-%D0%B7%D1%80%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%B8">Як ERP допомагає ІТ-бізнесу зростати?</h2><p><br>Річ у тім, що зростання IT-компанії відбувається в кількох напрямках: збільшується людський ресурс, з’являється більше замовників, відповідно, ускладняється організаційна і юридична структура. Вчора це була одна юридична особа в одні країні, сьогодні — це кілька компаній у різних юрисдикціях.</p><p>Архітектура взаємодії зі співробітниками стає нетривіальною. Частина членів команди може бути штатними співробітниками, частина — контракторами, і, з огляду на кількість юридичних осіб, збільшуються ланцюжки розрахунків із персоналом. На це накладається валютний облік із курсовими різницями.<br> <br>Також сценарії отримання виручки виходять на новий рівень. Коли йдеться про IT-компанії, умовно їх можна поділити на дві категорії: сервісні та продуктові. Це впливає на облікову політику і, відповідно, на вимоги щодо функціоналу ERP-систем. Хоча в багатьох аспектах потреби у цих двох категоріях компаній однакові.</p><h2 id="%D0%BE%D1%81%D0%BE%D0%B1%D0%BB%D0%B8%D0%B2%D0%BE%D1%81%D1%82%D1%96-%D0%BE%D0%B1%D0%BB%D1%96%D0%BA%D1%83-%D0%B2-%D1%96%D1%82-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D1%96%D1%8F%D1%85">Особливості обліку в ІТ-компаніях</h2><p><br>Для сервісних IT-аутсорсингових компаній актуальним є облік годин (або інших одиниць виміру: дні, місяці, вартість роботи команди), які продаються різним замовникам від різних джерел.</p><p>Наприклад, є проєкт з німецьким клієнтом, гроші по якому отримує німецька юридична особа компанії, а залучаються на проєкт кілька фахівців з інших юридичних осіб компанії, дехто як штатний співробітник, дехто як контрактор. Послуги цієї команди купує наша німецька юридична особа і перепродає кінцевому замовнику.</p><p>За такого сценарію потрібно отримати дані про витрачені одиниці часу команди на проєкті, сформувати коректний інвойс замовнику, а також інвойси по ланцюжку для сплати отриманих послуг від компаній нашого холдингу, від яких ми залучали фахівців у загальну команду для німецького замовника. Частина членів команди може бути штатними працівниками, а частина — контакторами.</p><p>У цьому досить типовому прикладі переплітаються управлінський і локальні обліки. Управлінський облік дає прозору картинку так, наче у вас немає тої великої кількості юридичних осіб, від яких залучаються ресурси, і ви бачите одну зв’язку «проєкт клієнта — надані послуги». Локальні обліки всіх залучених юридичних осіб у цьому проєкті потрібні, щоб мати коректні бухгалтерські дані та облік відповідних податків.</p><p>Для наведеного прикладу потрібно автоматизувати всі ланцюжки перетворень одних транзакцій в інші і водночас мати інструмент для відображення внутрішньохолдингових операцій (intercompany) і побудови консолідованої звітності.</p><p>Тобто при формуванні фінансовій консолідації по холдингу операції між власними компаніями мають бути коректно прибрані, і наглядова рада та акціонери отримають достовірні консолідовані фінансові звіти. Звісно, таким чином побудована система вимагає менше часу зовнішніх аудиторів і відповідно скорочує витрати на аудит, що є додатковою перевагою використання ERP-системи.<br> <br>Схожа історія із продуктовими IT-компаніями. Не важливо, що є продуктом — програмне забезпечення (якийсь застосунок) або пристрій чи обладнання. Продаж продукту відбувається по багатьох каналах (мерчантах), тому постає питання щодо обліку доходів у розрізі різних юридичних осіб із різних країн і локацій, у різних валютах. При цьому система має зручно забезпечити облік доходів для різних типів продажів — від звичайного ціноутворення, типового для виробника/дистрибутора обладнання, до схем підписок, якщо йдеться про продаж ліцензій.</p><h2 id="%D1%81%D0%BA%D0%BB%D0%B0%D0%B4%D0%BD%D0%B0-%D1%82%D0%B0-%D0%BD%D0%B0%D1%81%D0%B8%D1%87%D0%B5%D0%BD%D0%B0-%D1%96%D1%82-%D0%B5%D0%BA%D0%BE%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0">Складна та насичена ІТ-екосистема</h2><h3 id="%D0%B4%D0%BE%D0%B4%D0%B0%D1%82%D0%BA%D0%BE%D0%B2%D0%B8%D0%BC-%D0%B2%D0%B8%D0%BA%D0%BB%D0%B8%D0%BA%D0%BE%D0%BC-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B5%D0%B0%D0%BB%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%97-%D0%B2%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B4%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F-erp-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8-%D0%B2-it-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D1%96%D1%8F%D1%85-%D1%81%D1%82%D0%B0%D1%94-%D1%96%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D1%96%D1%8F-%D0%B7-%D1%96%D0%BD%D1%88%D0%B8%D0%BC%D0%B8-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0%D0%BC%D0%B8-%D1%81%D0%B5%D1%80%D0%B5%D0%B4-%D1%80%D0%BE%D0%B7%D0%BF%D0%BE%D0%B2%D1%81%D1%8E%D0%B4%D0%B6%D0%B5%D0%BD%D0%B8%D1%85-%D1%96%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D1%96%D0%B9"><br>Додатковим викликом для реалізації впровадження ERP-системи в IT-компаніях стає інтеграція з іншими системами. Серед розповсюджених інтеграцій:</h3><p><br>1. Отримання даних про облік годин співробітників. Це можуть бути трекінгові системи власної розробки або системи на кшталт Jira та Azure DevOps. </p><p>2. Маленькі системи локального обліку. Можливо, такі, в яких працюють бухгалтери на аутсорсі в деяких віддалених офісах.</p><p>3. Платіжні та банківські системи, а також інтеграція з маркетплейсами, через які продають власні застосунки IT-продуктові компанії.</p><p>4. Інші системи. Наприклад, управління персоналом і CRM.<br>  <br>Список не вичерпний. Методи інтеграцій також. Важливо, щоб нова ERP- система підтримувала сучасні (а іноді й не дуже, якщо є вимога побудувати інтеграцію з якимось досить давнім рішенням) методи обміну даними.</p><h2 id="%D1%8F%D0%BA-%D0%B2%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B4%D0%B8%D1%82%D0%B8-erp-%D1%89%D0%BE-%D1%80%D0%B5%D0%BB%D0%B5%D0%B2%D0%B0%D0%BD%D1%82%D0%BD%D0%B0-%D0%B2%D0%B0%D1%88%D0%B8%D0%BC-%D0%BF%D0%BE%D1%82%D1%80%D0%B5%D0%B1%D0%B0%D0%BC">Як впровадити ERP, що релевантна вашим потребам?</h2><p><br>Як бачимо, потужна ERP-система має беззаперечну користь, коли IT-компанія виходить на певний масштаб. Варто зазначити, що складність і тривалість проєкту впровадження прямо пропорційні готовності компанії до чіткого формулювання принципів обліку. Це дає більшу динаміку проєкту. Саме впровадження ERP-системи можна розглядати як певного роду аудит власних бізнес-процесів та облікової політики. В цьому також варто розгледіти цінність проєкту.</p><h2 id="%D0%BD%D0%B0%D0%BF%D1%80%D0%B8%D0%BA%D1%96%D0%BD%D1%86%D1%96-%D1%85%D0%BE%D1%87%D0%B5%D0%BC%D0%BE-%D0%BD%D0%B0%D0%B2%D0%B5%D1%81%D1%82%D0%B8-%D1%83%D0%BD%D1%96%D0%B2%D0%B5%D1%80%D1%81%D0%B0%D0%BB%D1%8C%D0%BD%D1%96-%D0%BF%D0%BE%D1%80%D0%B0%D0%B4%D0%B8-%D1%8F%D0%BA%D1%89%D0%BE-%D0%B2%D0%B8-%D0%BD%D0%B0-%D0%BF%D0%BE%D1%80%D0%BE%D0%B7%D1%96-%D0%B2%D0%B8%D0%B1%D0%BE%D1%80%D1%83-%D0%BD%D0%BE%D0%B2%D0%BE%D1%97-erp-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8">Наприкінці хочемо навести універсальні поради, якщо ви на порозі вибору нової ERP-системи:</h2><p>1. Щодо вибору певної ERP-системи. Сприймайте її як таку, з якою вам прийдеться працювати багато років. Чи є за нею надійний вендор, чи є достатньо фахівців на ринку, чи присутній цей продукт в інших країнах, чи містить у своїй базовій поставці перелічені функції: фінансова консолідація, можливість поєднати локальний і управлінський облік, облік проєктних робіт із різними ставками часу, можливість біллінгу підписок тощо. Чи легко система модифікується та які є показники масштабування, якщо говорити про великі обсяги транзакцій.</p><p>2. Уважно придивіться до команд партнерів із впровадження, з якими плануєте виконання проєкту. Отримайте відгуки, бажано по ринку власними незалежними джерелами.</p><p>Гарною ідеєю буде створити сценарій/приклад демонстрації та попросити партнера налаштувати такий приклад і показати вашій команді. При цьому бажано, щоб від партнера показ демо робив фахівець чи група, яка буде безпосередньо брати участь у майбутньому проєкті, а не просто крутий преселлер. Звісно, взагалі чудово, якщо ви знайдете команду, що вже мала досвід подібних проєктів саме в ІТ-сфері і схожому бізнес-домені.</p><p>3. Насамкінець підійдіть ретельно до формування обсягу проєкту. Коли створюється оцінка майбутнього проєкту (вартість і тривалість), то важливо мати адекватне уявлення щодо того, які вимоги є наразі. І це уявлення потрібно передати партнеру із впровадження.</p><p>Гарним кроком тут буде витратити трохи додаткового часу і бюджету на мініпроєкт із діагностики (так званий Discovery або «пілот»). Це допоможе більш чітко розрахувати ваш майбутній обсяг проєкту. Ви отримаєте реалістичну оцінку і зважено поставитеся до підготовки ресурсів — власної команди та бюджету на фінансування проєкту.<br>  <br>За даними тогорічної статистики, українська IT-спільнота генерує 4,5% ВВП України та становить 12% у загальному експорті. У нашій практиці значно побільшало запитів на впровадження ERP саме від ІТ-сегменту, а це означає, що IT-компанії у своєму життєвому циклі виходять на той рівень масштабу, який потребує ERP-систему.</p><p>Цей тренд зростатиме, і попит на фахові команди з імплементації ERP також збільшуватиметься. Саме тому варто планувати завчасно як бюджет, так і внутрішню й партнерську команди, щоб майбутній проєкт рухався відповідно до погодженої вами дорожньої карти.</p><p>Я сподіваюся, що цей матеріал стане у пригоді тим, хто планує впровадження <em>бізнес-софта наступного року і вже зараз прагне якісно підготуватися.</em></p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Олександр Тарабанов, Frontend Developer в ІТ-команді NIX

Уявіть ситуацію: вам дістався код, у якому немає ані структури, ані розуміння, де й як шукати певні частини коду, куди вносити зміни. «‎Змучена» папка компонентів нагадує перелік слів із тлумачного словника, але без жодного визначення, що означає кожен зі складників.

Ні, це не ]]></description>
        <link>https://proit.ua/arkhitiekturni-mietodologhiyi-dlia-frontiend-rozrobki-riznovidi-pierievaghi-niedoliki/</link>
        <guid isPermaLink="false">674493aaa2c0a1116a886387</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  NIX Team ]]></dc:creator>
        <pubDate>ср, 27 лист 2024 14:00:12 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/11/city-drawing-computer-desktop-background-top-view-double-exposure-smart-home-concept.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>Олександр Тарабанов, Frontend Developer в ІТ-команді NIX</em></p><p>Уявіть ситуацію: вам дістався код, у якому немає ані структури, ані розуміння, де й як шукати певні частини коду, куди вносити зміни. «‎Змучена» папка компонентів нагадує перелік слів із тлумачного словника, але без жодного визначення, що означає кожен зі складників.</p><p>Ні, це не старий проєкт, він тільки нещодавно вийшов у продакшн. Ви отримали завдання від замовника: покращити та збагатити застосунок новими фічами. Відкриваєте його, а там — і хаотично розкидані по різним дерикторіям файли, і дублікати коду, яких мали позбутися «‎ще вчора». Починаєте думати, як тут навести лад, гуглите… І згодом натрапляєте на описи різних методологій, які частково або повністю можуть вирішити ваші проблеми. То що ж обрати?</p><p>Перш ніж розглянути кілька популярних методологій, давайте розберемося, для чого потрібна архітектура, які переваги та недоліки вона має. Так буде простіше обрати те, що підійде саме вашому проєкту.</p><h2 id="%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3%D0%B8-%D0%B0%D1%80%D1%85%D1%96%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%BD%D0%B8%D1%85-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D0%B9">Переваги архітектурних методологій</h2><h3 id="%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%BE%D1%82%D0%B0-%D1%83-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%B0%D0%BD%D0%BD%D1%96-%D1%80%D0%BE%D0%B7%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%96-%D1%82%D0%B0-%D0%BF%D1%96%D0%B4%D1%82%D1%80%D0%B8%D0%BC%D1%86%D1%96-%D0%BA%D0%BE%D0%B4%D1%83">Простота у використанні, розширенні та підтримці коду</h3><p>З використанням того чи іншого підходу зʼявляється можливість організувати весь застосунок у вигляді окремих незалежних частин. Розробник може не турбуватися, чи впливатимуть подальші зміни у коді на роботу інших частин системи.</p><p>Додавати новий функціонал також буде простіше, адже вся команда однаково розумітиме, куди та як вносити зміни. Розробники будуть притримуватись архітектурних рішень і правил. Кожен працюватиме з логічно відокремленою, визначеною згідно обраної архітектури частиною проєкту. Наприклад, модулем, компонентом або файлом.</p><h3 id="%D0%BF%D0%BE%D0%B2%D1%82%D0%BE%D1%80%D0%BD%D0%B5-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%B0%D0%BD%D0%BD%D1%8F-%D0%BA%D0%BE%D0%B4%D1%83">Повторне використання коду</h3><p>Відокремлення функціоналу з використанням певної структури та правил дозволяє легко використовувати його в окремих частинах застосунку або навіть за межами проєкту.</p><p>Гарним прикладом, який можна часто зустріти, є складна таблиця з набором різних властивостей і конфігурацій, у якої є багато стилів, свої окремі змінні, інтерфейси або навіть функції для роботи із зовнішніми API. Таке відокремлення суттєво впливає на швидкість розробки, адже певний блок функціоналу може бути використаний кілька разів.</p><h3 id="%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BD%D1%96%D1%81%D1%82%D1%8C-%D0%B4%D0%BB%D1%8F-%D0%BD%D0%BE%D0%B2%D0%B8%D1%85-%D1%87%D0%BB%D0%B5%D0%BD%D1%96%D0%B2-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B8">Доступність для нових членів команди</h3><p>Можете зазначити, який підхід ви застосували, що є стандартом. Новому учаснику команди або вже може бути знайома логіка, або він може дослідити її, прочитавши джерела в інтернеті чи звернувшись до проєктної документації.</p><h3 id="%D0%BF%D0%BE%D0%BB%D0%B5%D0%B3%D1%88%D0%B5%D0%BD%D0%BD%D1%8F-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%BA%D0%BE%D0%B4%D1%83">Полегшення тестування коду</h3><p>З чіткою архітектурою зʼявляється можливість протестувати кожен модуль окремо, що робить тестування контрольованим і зменшує ризик виникнення помилок.</p><h3 id="%D0%BC%D0%B0%D1%81%D1%88%D1%82%D0%B0%D0%B1%D0%BE%D0%B2%D0%B0%D0%BD%D1%96%D1%81%D1%82%D1%8C-%D0%BA%D0%BE%D0%B4%D1%83">Масштабованість коду</h3><p>Незалежні частини програми легше змінювати та розширювати без необхідності вносити зміни до всього коду. Всі учасники команди можуть бути одночасно задіяні в роботі над певною частиною застосунку, маючи мінімальну залежність один від одного.</p><h2 id="%D0%BD%D0%B5%D0%B4%D0%BE%D0%BB%D1%96%D0%BA%D0%B8-%D0%B0%D1%80%D1%85%D1%96%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%BD%D0%B8%D1%85-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D0%B9">Недоліки архітектурних методологій</h2><h3 id="%D0%B4%D0%BE%D0%B4%D0%B0%D1%82%D0%BA%D0%BE%D0%B2%D1%96-%D1%87%D0%B0%D1%81%D0%BE%D0%B2%D1%96-%D0%B2%D0%B8%D1%82%D1%80%D0%B0%D1%82%D0%B8">Додаткові часові витрати</h3><p>Створення абстракцій, додатковий код для налаштування комунікації між різними частинами системи, старт проєкту та підтримка всіх умов обраної архітектури — все це потребує чимало додаткових годин.</p><h3 id="%D1%81%D0%BA%D0%BB%D0%B0%D0%B4%D0%BD%D0%BE-%D0%B4%D0%BB%D1%8F-%D0%BF%D0%BE%D1%87%D0%B0%D1%82%D0%BA%D1%96%D0%B2%D1%86%D1%96%D0%B2">Складно для початківців</h3><p>Junior-розробнику, скоріш за все, буде складніше влитися у проєкт, адже деякі правила, умови та обмеження можуть бути незрозумілими та неочевидними для нього.</p><p>Джунам важче розібратися зі складними концепціями. Відповідно, їм потрібно більше часу на адаптацію та онбординг у проєкті. Не виключаємо і можливі помилки на початку роботи.</p><p>Щоб досягти зазначених переваг, розробники постійно вдосконалювали структуру своїх у своїх проєктах. Згодом стало зрозуміло, що напрацювання команди з одного проєкту можна використати в іншому або поділитися ними з колегами з іншого проєкту. Так почали зʼявлятися самостійні архітектурні методології, які поступово набирали популярності й завоювали нових прихильників серед розробників.</p><p>Розібравши переваги та недоліки використання архітектурних підходів, пропоную перейти до прикладів.</p><h2 id="%D1%80%D1%96%D0%B7%D0%BD%D0%BE%D0%B2%D0%B8%D0%B4%D0%B8-%D0%B0%D1%80%D1%85%D1%96%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%BD%D0%B8%D1%85-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%BB%D1%96%D0%B9">Різновиди архітектурних методолій</h2><h3 id="%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%D0%BD%D0%B0-%D0%B0%D1%80%D1%85%D1%96%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0">Модульна архітектура</h3><p>Одна з найбільш поширених методологій, проста у використанні. В такій архітектурі застосунок розділяють на різні рівні, де кожен має свою роль і відповідальність. Ось як це виглядає:</p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfKM2Jq1XOhfhzM8zEvh5_XFvvagiM73o2LTyHZ8eWcWbiUiGpjHuRPhNRj1SsOZWjdx2lzZnWftwoEUNJyCs0WRaYw4OKR8yRrnNYy4XsATU9XDRa4C5YpXm2gcn3Ng4w?key=g-EfW4lmIXcybM2LUDBOrMKK" class="kg-image" alt loading="lazy" width="441" height="292"></figure><p>Розглянемо кожний елемент окремо.</p><p><strong>Pages (Сторінки):</strong> рівень сторінок відповідає за відображення модулів, не маючи в собі бізнес-логіки. Наприклад, сторінка входу в застосунок передбачатиме відображення таких модулів, як «‎шапка», футер застосунку та форма входу.</p><p><strong>Modules (Модулі): </strong>це ядро логіки застосунку. Модулі обробляють помилки, працюють з API, відповідають за бізнес-логіку, зберігають власний стан та мають свої константи чи утиліти, які використовує компонент.</p><p>Вони мають певну структуру, що реалізує концепт публічного API за допомогою індекс-файлу, що своєю чергою експортує тільки ті частини модуля, які ви зробите доступними. Це і реалізує принцип інкапсуляції, якщо провести аналогію з ООП.</p><p>Прикладами тут можуть бути форма входу в застосунок або список продуктів. Модулі працюють незалежно один від одного і не взаємодіють напряму з іншими модулями.</p><p><strong>Components (Компоненти): </strong>це елементи, що можуть містити певну логіку, але на відміну від модулів не реалізують специфічну функціональність. Наприклад, компонент картки товару може обробляти події або відображати передані в нього дані.</p><p><strong>UI (Компоненти інтерфейсу): </strong>рівень UI включає базові елементи інтерфейсу: кнопки, поля введення, підказки тощо. Це невеликі компоненти, які використовуються як будівельні блоки в інших частинах програми.</p><p><strong>Можна також створювати глобальні директорії</strong> для зберігання таких загальних ресурсів, як хуки, утиліти чи константи, які можуть використовуватись по всьому застосунку. Але зверніть увагу: модулі не використовують інші модулі. Цей принцип підтримує ізоляцію та дозволяє уникати зайвих залежностей між модулями.</p><h3 id="%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3%D0%B8-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%D0%BD%D0%BE%D1%97-%D0%B0%D1%80%D1%85%D1%96%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B8">Переваги модульної архітектури:</h3><ul><li><strong>Ізоляція модулів за допомогою публічних API:</strong> кожен модуль має свій індекс-файл, який експортує лише ті функції та компоненти, які необхідні ззовні. Це знижує ризик ненавмисного втручання в логіку інших модулів.</li><li><strong>Повторне використання модулів:</strong> завдяки чітко визначеній структурі модулі згодяться для повторного використання в окремих частинах застосунку або в різних проєктах.</li><li><strong>Легкість у видаленні модулів:</strong> завдяки ізоляції можна видалити або замінити окремий модуль без значних змін у всьому застосунку.</li><li><strong>Гнучкість використання feature flags: </strong>модулі просто включити або відключити за допомогою feature flags, а це спрощує розгортання нових функцій.</li></ul><h3 id="%D1%89%D0%BE%D0%B4%D0%BE-%D0%BD%D0%B5%D0%B4%D0%BE%D0%BB%D1%96%D0%BA%D1%96%D0%B2-%D1%82%D0%BE-%D0%BC%D0%B0%D1%94%D0%BC%D0%BE-%D1%82%D0%B0%D0%BA%D1%96">Щодо недоліків, то маємо такі:</h3><ul><li>Модулі не можуть напряму використовувати інші модулі. Це обмеження викликає труднощі, коли модулі потребують обміну даними або встановлення залежностей між ними.</li><li><strong>Складно визначити, куди помістити код: </strong>розробники можуть зіткнутися з дилемою: чи має певний функціонал належати до модуля, чи краще, щоб він залишався окремим компонентом.</li><li><strong>Глобальні змінні та стан:</strong> хоча цей різновид архітектури орієнтований на ізоляцію, все одно можуть існувати глобальні константи чи стан (наприклад, загальний глобальний store), які використовуються по всій програмі.</li></ul><p>Модульну архітектуру можна застосовувати у проєктах будь-якої складності та в різноманітних за чисельністю командах.</p><p>Існує й інший підхід, складніший порівняно з модульним, але з власною документацією і навіть спільнотою. Архітектура, яку розглянемо далі, підійде як для середніх, так і для великих команд і проєктів.</p><h3 id="atomic-design">Atomic Design</h3><p>Методологія, розроблена для створення структурованих і масштабованих інтерфейсів. Вона заснована на ідеї, що інтерфейс можна розділити на п'ять рівнів абстракції, які відповідають природним структурним елементам дизайну. Цей підхід допомагає організувати компоненти у зрозумілій і повторно використовуваній структурі.</p><p>Atomic Design сприяє чіткості, узгодженості та масштабованості інтерфейсу. Такого принципу дотримуються в дизайні при створенні мокапів для вебзастосунків.</p><p>Також цей підхід використовують для створення бібліотек компонентів, які будуть використовувати на різних проєктах. Загалом методологія схожа на модульний підхід, про який йшлося вище, проста і зрозуміла.</p><p><strong>Структура рівнів в архітектурі Atomic Design має такий вигляд:</strong></p><figure class="kg-card kg-image-card"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfC7SQfqQShUcssmEur8lU-mWvJTXluZuQGFzj0hYbiZUO2Z7I1p8FzxOjVV7RKBawKkDDjBGY5pybrxBym-ChA75wsNRkQ2KRcXCCeGrxTArIDbkpoj8TKocGnOOvYQA?key=g-EfW4lmIXcybM2LUDBOrMKK" class="kg-image" alt loading="lazy" width="405" height="305"></figure><p><strong>Atoms (Атоми):</strong> основні, найдрібніші одиниці інтерфейсу, які не можна розділити далі. Не містять складної логіки або взаємодій і використовуються для створення більших компонентів. Атоми є базовими компонентами інтерфейсу. Наприклад, кнопка або поле вводу.</p><p><strong>Molecules (Молекули):</strong> комбінації атомів, які працюють разом як єдиний функціональний блок. Це компоненти середнього рівня, які можуть містити просту логіку. Вони мають інкапсулювати та виконувати просту задачу. Наприклад, поле вводу з текстовим лейблом до нього.</p><p><strong>Organisms (Організми):</strong> складніші компоненти, що складаються з молекул та атомів, утворюючи функціональні блоки інтерфейсу. На цьому рівні зазвичай присутня бізнес логіка. Організми зазвичай відповідають за значну частину UI. Наприклад, навігаційні панелі, таблиці або картки.</p><p><strong>Templates (Шаблони): </strong>рівень шаблонів відповідає за розташування організмів на сторінці. Вони визначають структуру інтерфейсу без конкретного наповнення даними. Тобто по суті шаблони є прототипом майбутньої сторінки вашого застосунку. Саме тут визначається позиціонування функціональних блоків сторінки. Наприклад хедеру, футеру або сайдбару з навігацією.</p><p><strong>Pages (Сторінки):</strong> цей рівень наповнює шаблони конкретним контентом. Сторінки відображають кінцевий вигляд інтерфейсу з усіма даними та стилями, які будуть відображені користувачу.</p><p><strong>Для зберігання загальних ресурсів</strong>, конфігурації, констант можна створювати додаткові директорії на вищому рівні.</p><h3 id="%D0%B0%D1%80%D1%85%D1%96%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0-atomic-design-%D0%BC%D0%B0%D1%94-%D1%82%D0%B0%D0%BA%D1%96-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3%D0%B8">Архітектура Atomic Design має такі переваги:</h3><ul><li><strong>Легко зорієнтуватися в коді: </strong>чітка структура полегшують розуміння коду та навігацію по проєкту.</li><li><strong>Гнучкість:</strong> виходить просто додавати, видаляти або замінювати окремі частини застосунку.</li><li><strong>Легка підтримка</strong>: зміни в базових компонентах автоматично відображаються на всьому інтерфейсі.</li><li><strong>Масштабованість: </strong>сприяє масштабуванню як застосунку, так і команди розробників.</li></ul><h3 id="%D1%81%D0%B5%D1%80%D0%B5%D0%B4-%D0%BD%D0%B5%D0%B4%D0%BE%D0%BB%D1%96%D0%BA%D1%96%D0%B2">Серед недоліків:</h3><ul><li><strong>Орієнтованість на UI</strong>: методологія більше фокусується на інтерфейсі, а не на бізнес-логіці.</li><li><strong>Додаткові часові витрати: </strong>підхід вимагає додаткових витрат на створення абстракцій у вашому застосунку, таких як шаблони.</li></ul><p>Згадані у статті методології та інші приклади, які ви можете зустріти в інтернеті, на перший погляд здаються складними тим, хто раніше не стикався з подібними рішенням для організації архітектури на проєкті. Однак опанування цих підходів неодмінно стане вам у пригоді та допоможе в рутинних задачах. А з ними точно стикається кожен розробник: це і формування структури проєкту, і правильне розташування та повторне використання коду.</p><p>Обидві розглянуті архітектури є дуже розповсюдженими та можуть часто зустрічатися у проєктах. Вони є простими у використанні, з безліччю наочних прикладів та адаптацій під потреби конкретного проєкту. Тож починаючи роботу над новим проєктом або знайшовши час на рефакторинг наявного, попіклуйтеся про майбутнє вашого коду — створіть для нього правильну архітектуру.</p><p><em><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></em></p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Якщо прагнете вийти на новий кар’єрний рівень як Java-розробник, варто не лише практикуватися у програмуванні, але й читати профільну літературу. Але як серед сотень видань вибрати дійсно корисне й цікаве?

Експерти ІТ-команди NIX зібрали варті уваги книги для Java-розробників із різним досвідом.


Книги для Junior Java Developer


Clean Code: ]]></description>
        <link>https://proit.ua/shcho-chitati-shchob-opanuvati-java-riekomiendatsiyi-rozrobnikiv-nix/</link>
        <guid isPermaLink="false">67379d51a2c0a1116a885d7b</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  NIX Team ]]></dc:creator>
        <pubDate>пт, 22 лист 2024 14:00:31 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/11/2148883811.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>Якщо прагнете вийти на новий кар’єрний рівень як Java-розробник, варто не лише практикуватися у програмуванні, але й читати профільну літературу. Але як серед сотень видань вибрати дійсно корисне й цікаве?</em></p><p><em>Експерти ІТ-команди NIX зібрали варті уваги книги для Java-розробників із різним досвідом.</em></p><h2 id="%D0%BA%D0%BD%D0%B8%D0%B3%D0%B8-%D0%B4%D0%BB%D1%8F-junior-java-developer">Книги для Junior Java Developer</h2><h3 id="clean-code-a-handbook-of-agile-software-craftsmanship">Clean Code: A Handbook of Agile Software Craftsmanship</h3><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/11/51E2055ZGUL._AC_UF1000-1000_QL80_.jpeg" class="kg-image" alt loading="lazy" width="756" height="1000"></figure><p><strong>Автор: </strong>Robert C. Martin.</p><p><strong>Українська назва:</strong> «Чистий код: Створення і рефакторинг за допомогою Agile».</p><p>Роберт Мартін на прізвисько Дядько Боб (Uncle Bob) є знаковою фігурою для розробки ПЗ. Цей інженер та програміст народився в 1952 році та вже у 17 років почав займатися програмуванням.</p><p>За своє життя він реалізував сотні проєктів на Java та інших мовах, долучився до створення Agile-маніфесту і є автором підходу SOLID, який знайомий кожному сучасному розробнику.</p><p>Дядько Боб написав понад десяток книг по Java, C++ і C# та загальні принципи із програмування. Саме до останніх належить Clean Code. У ній автор послідовно розкриває, чому важлива чистота коду.</p><p>Ця книга для початківців розділена на 3 частини. У першій Мартін перераховує методи й шаблони створення чистого коду — аж до створення назв, функцій і класів на Java. У другій представлені вправи на очищення кодової бази. У третій — найкращі практики, які дають змогу швидше виявляти брудний код. Усе це допоможе вам писати більш якісний і читабельний код на Java.</p><h3 id="the-pragmatic-programmer-from-journeyman-to-master">The Pragmatic Programmer: From Journeyman to Master</h3><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/11/61ztlXgCmpL._AC_UF1000-1000_QL80_.jpeg" class="kg-image" alt loading="lazy" width="796" height="1000"></figure><p><strong>Автор:</strong> Andrew Hunt, David Thomas.</p><p><strong>Українська назва:</strong> «Програміст-прагматик».</p><p>Ендрю Хант разом із Девідом Томасом написали понад десяток книг по Java для початківців та інших технологіях і заснували серію The Pragmatic Bookshelf про прагматичні підходи до програмування.</p><p>Також вони були співавторами Agile-маніфесту та авторами багатьох відомих в IT-розробці понять. Як, наприклад, DRY, метод каченяти або Code Kata.</p><p>The Pragmatic Programmer — це не Java-книга в чистому вигляді. Вона була першою роботою авторів і багато в чому революційною.</p><p>У книзі Хант і Томас зібрали багато корисних порад для новачків, які допоможуть писати мовою Java гнучкий і динамічний код, уникати помилок у коді або логіці, налагоджувати стабільне тестування тощо.</p><p>Книга написана в легкому стилі. У ній багато прикладів із практики, цікавих аналогій і навіть анекдотів. У 2019 році було випущено оновлене видання, в якому автори актуалізували більшу частину матеріалу. Тож книга відповідає сучасним стандартам програмування на Java.</p><h3 id="head-first-design-patterns-a-brain-friendly-guide">Head First Design Patterns: A Brain-Friendly Guide</h3><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/11/51rmlxN57sL.AC_.jpeg" class="kg-image" alt loading="lazy" width="432" height="500"></figure><p><strong>Автор:</strong> Eric Freeman, Elisabeth Robson, Bert Bates, Kathy Sierra.</p><p><strong>Українська назва:</strong> «Head First. Патерни проєктування».</p><p>Кожен із чотирьох авторів має чим похвалитися. Ерік Фріман займав позицію CTO в Disney Online, Елізабет Робсон заснувала освітню платформу WickedlySmart, а Кеті Сієрра та Берт Бейтс фактично й створили серію Head First. Це посібники для початківців, де наука об’єднується з яскравою візуалізацію, цікавими історіями, головоломками й живим гумором.</p><p>У вказаній серії існує ще одна книга по Java (йдеться про Head First Java), але у підбірку варто додати саме Design Patterns.</p><p>Книга потребує певних знань, але є гарним міксом з універсальних питань про програмну інженерію і програмування Java. У ній детально розбираються характерні шаблони проєктування програмного забезпечення, яке буде гнучким, надійним, масштабованим і функціональним. І все це — на реальних прикладах коду в Java API та вбудованої підтримки патернів мови.</p><p>Head First Design Patterns стала справжньою класикою, яка ані трохи не застаріла, адже у 2020 році вийшло оновлене видання.</p><h2 id="%D0%BA%D0%BD%D0%B8%D0%B3%D0%B8-%D0%B4%D0%BB%D1%8F-middle-java-developer">Книги для Middle Java Developer</h2><h3 id="effective-java">Effective Java</h3><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/11/61ez1J--DXL._UF1000-1000_QL80_.jpeg" class="kg-image" alt loading="lazy" width="767" height="1000"></figure><p><strong>Автор:</strong> Joshua Bloch.</p><p><strong>Українською книга не видавалася.</strong></p><p>Джошуа Блох — це гуру в Java. За його плечима досвід роботи на керівних посадах у Google та Sun Microsystems, але головне надбання — участь у створенні самої мови Java (особливо JDK 5.0).</p><p>Так, Джошуа спроєктував фреймворк Java Collections, пакети java.math, механізм assert. А ще — написав чи не головне видання серед Java-книг.</p><p>Йдеться про Effective Java, яка здобула кілька галузевих премій і пережила вже два оновлення (у 2008 та 2017 роках). Головна цінність полягає у тому, що ця книга дає максимально всебічну презентацію теми для початківців і тих, хто має певний досвід на Java.</p><p>Автор розглядає загальні шаблони проєктування програмного забезпечення, основи мови та безліч конкретних механізмів та особливостей синтаксису: об’єктів, класів, бібліотек, колекцій, методів, лямбд, інтерфейсів, потоків, дженеріків тощо.</p><p>Також Блох показує, як уникати характерних помилок. Ця книга по Java у кожній із глав містить невелике есе із прикладами коду, які допоможуть вам краще розуміти логіку такого програмування.</p><h3 id="java-performance-in-depth-advice-for-tuning-and-programming-java-8-11-and-beyond">Java Performance: In-Depth Advice for Tuning and Programming Java 8, 11, and Beyond<br></h3><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/11/917Sw0MD8bL.jpeg" class="kg-image" alt loading="lazy" width="1951" height="2560"></figure><p><strong>Автор:</strong> Scott Oaks.</p><p><strong>Українською книга не видавалася.</strong></p><p>За плечима у Скотта Оукса — багаторічна робота архітектором у Sun Microsystems та Oracle Corporation.</p><p>Хоча він доклав зусилля до багатьох проєктів (зокрема до програмування ядра операційки SunOS і RPC для систем Windows), головну увагу у своїй кар’єрі він спрямував безпосередньо на Java. Він є справжнім «євангелістом» цієї мови та написав кілька книг про неї.</p><p>Чи не найбільш популярна його робота як письменника — Java Performance. Ця Java-книга з’явилася у 2014 році та була оновлена у 2020 році. Вона обов’язкова для всіх, хто прагне отримати максимум продуктивності від Java-застосунків. При цьому особливий акцент зроблено на ефективному використанні JVM.</p><p>Оукс ретельно розбирає все, що позначається на швидкості: налаштування віртуальної машини, використання JDK, проблеми в API Java, роботу з базами даних, вплив збирача сміття, продуктивність Jit-компіляторів тощо. Також докладно розписує принципи тестування продуктивності.</p><h3 id="high-performance-java-persistence">High-Performance Java Persistence</h3><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/11/71JxcAC3guL.jpeg" class="kg-image" alt loading="lazy" width="1051" height="1360"></figure><p><strong>Автор:</strong> Vlad Mihalcea.</p><p><strong>Українською книга не видавалася.</strong></p><p>Влад Михальча 11 років веде блог про Java, JPA, Spring і бази даних, проводить тренінги по продуктивності застосунків, написав понад 300 туторіалів по SQL і Hibernate. До речі, до останнього проєкту Михальча й сам доклав чимало зусиль як розробник.</p><p>У своїй книзі High-Performance Java Persistence автор надає багато корисної інформації про те, як застосунки взаємодіють із базами даних і як цю взаємодію покращити.</p><p>Вказана книга по Java розділена на три частини. У першій автор розповідає про реляційні БД як такі, роботу інтерфейсу JDBC, управління з’єднанням, кешування операторів тощо.</p><p>Друга частина присвячена JPA та Hibernate. Михальча показує, як, наприклад, механізми вилучення та управління паралелізмом підвищують продуктивність програм, написаних мовою Java.</p><p>У третій частині книги надано всю інформацію про бібліотеку jOOQ — від DML-операторів до збережених процедур.</p><h2 id="%D0%BA%D0%BD%D0%B8%D0%B3%D0%B8-%D0%B4%D0%BB%D1%8F-senior-java-developer-software-architect">Книги для Senior Java Developer + Software Architect</h2><h3 id="designing-data-intensive-applications-the-big-ideas-behind-reliable-scalable-and-maintainable-systems">Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems</h3><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/11/91YfNb49PLL._AC_UF1000-1000_QL80_.jpeg" class="kg-image" alt loading="lazy" width="762" height="1000"></figure><p><strong>Автор:</strong> Martin Kleppmann.</p><p><strong>Українською книга не видавалася.</strong></p><p>Колись Мартін Клеппман був розробником масштабованих інфраструктур даних у великих компаніях, зокрема LinkedIn і Rapportive. Останніми роками він працює у Кембридзькому університеті дослідником розподілених систем, постійно виступає на конференціях про програмування, є блогером та учасником кількох OpenSource-проєктів на Java й інших мовах.</p><p>Книга Designing Data-Intensive Applications — це послідовний аналіз різноманітних технологій обробки та зберігання даних.</p><p>Автор показує, як створювати системи даних, які здатні витримувати потік мільйонів юзерів. Розбирає, як мінімізувати час простою застосунків. Роз’яснює, як зробити систему даних простішою в обслуговуванні навіть після змін вимог або технологій.</p><p>Важливо розуміти: це не ще одна Java-книга з покроковими інструкціями. Наприклад, для розгортання пакетів. Ціль Клеппмана — дати розуміння архітектури систем даних та їхньої інтеграції у кінцевий продукт.</p><h3 id="grokking-algorithms-an-illustrated-guide-for-programmers-and-other-curious-people">Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People</h3><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/11/81HwgKQ39lS._AC_SX569_.jpeg" class="kg-image" alt loading="lazy" width="569" height="624"></figure><p><strong>Автор:</strong> Aditya Bhargava.</p><p><strong>Українська назва:</strong> «Грокаємо алгоритми: ілюстрований посібник для програмістів і допитливих».</p><p>Адіт’я Бхаргава має дві вищі освіти: інженера комп’ютерних технологій і спеціаліста у сфері мистецтв, тож все життя поєднує їх.</p><p>З одного боку, Бхаргава пише ігри на Basic із 14 років, працює у стартапах і викладає курс «Вступ до Python». З іншого, віддає перевагу таким проєктам про арт, як Etsy, де він є штатним інженером.</p><p>Автор вдало комбінує програмування та дизайн. На відміну від багатьох книг про Java, ця містить понад 400 оригінальних і кумедних ілюстрацій. Хоча головне, звичайно, зміст.</p><p>Книга простою і зрозумілою мовою розповідає про використання складних алгоритмів під час розв’язання типових задач у розробці.</p><p>Бхаргава охоплює безліч прикладів: від пошуку та сортування даних до їх стискання й використання в AI-системах. Усе це доповнюють діаграми, графіки та приклади коду.</p><p>Останні, щоправда, на Python, але це видання настільки цікаве, що його не можна не включити в перелік кращих книг для вивчення Java.</p><p>У вивченні Java не обмежуйтеся лише перерахованими книгами. Читайте будь-яку цікаву вам літературу: про розробку, менеджмент, роботу в команді. Адже тільки з різноманітними знаннями можна дійсно зростати в ІТ.</p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p><p><em><em><em><em><em><em><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></em></em></em></em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ У світі сучасного бізнесу автоматизація бізнес-процесів стала важливим чинником для досягнення успіху.

Camunda — це потужна платформа для моделювання та автоматизації бізнес-процесів, яка використовує стандарт BPMN (Business Process Model and Notation) 2.0. Вона дозволяє компаніям ефективно візуалізувати та реалізувати робочі процеси, що значно спрощує управління ними.

У цій статті ми ]]></description>
        <link>https://proit.ua/iak-camunda-rievoliutsionizuie-biznies-protsiesi/</link>
        <guid isPermaLink="false">67378f8ba2c0a1116a885bf9</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Інна Соловйова ]]></dc:creator>
        <pubDate>ср, 20 лист 2024 14:00:01 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/11/-1-2--1-.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>У світі сучасного бізнесу автоматизація бізнес-процесів стала важливим чинником для досягнення успіху.</p><p><a href="https://camunda.com/">Camunda</a> — це потужна платформа для моделювання та автоматизації бізнес-процесів, яка використовує стандарт BPMN (Business Process Model and Notation) 2.0. Вона дозволяє компаніям ефективно візуалізувати та реалізувати робочі процеси, що значно спрощує управління ними.</p><p>У цій статті ми розглянемо, чому Camunda BPMN є незамінним інструментом для бізнесів, які прагнуть до оптимізації своїх процесів.</p><h2 id="%D1%89%D0%BE-%D1%82%D0%B0%D0%BA%D0%B5-camunda">Що таке Camunda?</h2><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/11/-2--14-.jpg" class="kg-image" alt loading="lazy" width="1550" height="811"></figure><p>Camunda — це open-source BPMN платформа для керування бізнес-процесами, яка підтримує DMN (Decision Model and Notation). Платформа пропонує гнучкість, швидкість реалізації та можливість інтеграції із системами, які вже функціонують у компанії.</p><p>Основні елементи BPMN дозволяють детально моделювати бізнес-процеси. Camunda забезпечує автоматизацію завдань та управління робочими потоками, що підвищує ефективність і знижує витрати.</p><h3 id="%D0%B5%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D0%B8-bpmn">Елементи BPMN</h3><p><br>BPMN 2.0, або Business Process Model and Notation, — це стандарт моделювання бізнес- процесів, розроблений для візуалізації та автоматизації робочих процесів.</p><p>BPMN 2.0 надає набір символів, який дозволяє бізнес-аналітикам і розробникам чітко описувати послідовності задач, подій і рішень, щоб полегшити взаємодію між бізнесом і технічними фахівцями. Camunda, наприклад, використовує BPMN 2.0 для створення ефективних і наочних бізнес-процесів, підтримуючи інтеграцію з різними системами та мікросервісами.</p><h3 id="bpmn-%D0%B4%D1%96%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%B8-%D1%81%D0%BA%D0%BB%D0%B0%D0%B4%D0%B0%D1%8E%D1%82%D1%8C%D1%81%D1%8F-%D0%B7-%D1%82%D0%B0%D0%BA%D0%B8%D1%85-%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%B8%D1%85-%D0%B5%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D1%96%D0%B2">BPMN-діаграми складаються з таких основних елементів:</h3><ol><li><strong>Об’єкти потоку</strong>. Включають дії (tasks) і події (events), які визначають завдання чи моменти, які ініціюють, змінюють або завершують процес. Дії представляють конкретні завдання, а події сигналізують про їх початок, завершення чи інші стани.</li><li><strong>Поєднуючі елементи</strong>. Використовуються для потоку керування (flow), що з’єднує об’єкти між собою. Наприклад, стрілки показують напрямок послідовності.</li><li><strong>Ролі</strong>. Представлені через «пули» (pools) і «доріжки» (lanes). Пули — це основні учасники процесу, а доріжки уточнюють ролі або департаменти всередині пулів.</li><li><strong>Артефакти</strong>. Включають документи й дані, що доповнюють процес. Це додаткові елементи для кращого розуміння й організації процесу.</li></ol><p>Ці компоненти допомагають створювати наочні та зрозумілі BPMN-діаграми для ефективної комунікації бізнесу й технічних спеціалістів. Вони дозволяють моделювати як прості, так і складні процеси, забезпечуючи узгодженість і зрозумілість для всіх учасників.</p><p>Camunda 8 організовує складні бізнес-процеси, які охоплюють людей, системи та пристрої. З Camunda бізнес-користувачі співпрацюють із розробниками для моделювання й автоматизації наскрізних процесів за допомогою блок-схем на основі BPMN, а також таблиць рішень DMN, які сприяють швидкості, масштабуванню та логіці ухвалення рішень.</p><h2 id="%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D0%B8-camunda-8">Компоненти Camunda 8</h2><p><br>Camunda 8 включає шість компонентів, які разом створюють повноцінний робочий досвід для проєктування, автоматизації та вдосконалення бізнес-процесів:</p><p>1. <strong>Console</strong>. Це центральна програма для керування такими продуктами, як Modeler, Tasklist, Operate та Optimize.</p><p>За допомогою Camunda Console можна створювати та видаляти кластери, керувати клієнтами API для взаємодії з Zeebe і Tasklist, налаштовувати сповіщення про помилки робочого процесу, обмежувати доступ за допомогою списків дозволів IP, контролювати управління організацією і використовувати API адміністрування (REST) для програмного керування кластерами.</p><p>2. <strong>Modeler</strong> — інструмент для проєктування та налаштування BPMN, що необхідно для будь-якого процесу. BPMN-діаграми візуально представляють потік процесу, роблячи робочі процеси більш зрозумілими для зацікавлених сторін.</p><p>У Camunda користувачі можуть налаштовувати події, умови шлюзу та деталі сервісних завдань, щоб керувати механізмом робочого процесу при виконанні конкретних завдань.</p><p>Camunda Modeler доступний у двох форматах: Web Modeler, інтегрований з Camunda 8 SaaS і самокерованими інсталяціями, і Desktop Modeler, локально встановлений застосунок, який<br>дозволяє переглядати, редагувати та безперешкодно інтегруватися з локальними середовищами розробки.</p><p>3.<strong> Connector</strong>. Це багаторазовий компонент, який забезпечує інтеграцію із зовнішніми системами. Він необхідний для виконання завдань у робочих процесах, які вимагають взаємодії за межами Camunda.</p><p>У таких процесах, як організація завдань, коннектори сповіщають учасників за допомогою таких інструментів, як Slack або Teams.</p><p>Представлені у вигляді завдань BPMN, коннектори дозволяють користувачам налаштовувати інтеграції без власного коду, пропонуючи доступний, багаторівневий досвід кодування для користувачів із різним рівнем технічних навичок.</p><p>4.<strong> Zeebe</strong> — основний рушій автоматизації Camunda 8, розроблений для масштабованої автоматизації процесів. Він дає змогу користувачам графічно визначати процеси BPMN 2.0 та інтегруватися з системами обміну повідомленнями, такими як Apache Kafka.</p><p>Zeebe можна використовувати як частину SaaS від Camunda або розгортати через Docker і Kubernetes, підтримуючи як хмарні, так і локальні середовища.</p><p>Відомий своїм горизонтальним масштабуванням, відмовостійкістю та високою доступністю, Zeebe полегшує моніторинг та аналітику завдяки експорту даних і потужній підтримці спільноти для керівництва й девелоперів.</p><p>5.<strong> Operate</strong>. Це інструмент для моніторингу й усунення несправностей у процесах Zeebe, що дає змогу бачити як активні, так і завершені елементи процесу. Він підтримує такі операції, як вирішення інцидентів, оновлення змінних процесу, а також повторний запуск або скасування кількох елементів одночасно.</p><p>Крім того, Operate дозволяє користувачам видаляти завершені процеси та змінювати активні для продовження виконання й пакетно переміщувати для полегшення безперебійного управління потоком<br>процесів.</p><p>6. <strong>Tasklist</strong>. Це готовий до використання застосунок в Camunda для управління бізнес-процесами, які включають завдання користувачів, що робить його ідеальним для організації людських робочих процесів.</p><p>За допомогою Tasklist користувачі можуть отримувати сповіщення про призначені завдання після розгортання процесу в Zeebe та виконувати їх.</p><p>Він має REST API для запиту завдань і змінних, що дозволяє інтегруватися з користувацькими застосунками або розширеннями.</p><p>Цей API у поєднанні з API Zeebe дозволяє призначати, оновлювати та завершувати завдання, спрощуючи оркестровку процесів за допомогою зручного інтерфейсу.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/11/unnamed.jpg" class="kg-image" alt loading="lazy" width="512" height="288"><figcaption>Camunda — це платформа, яка дає змогу компаніям моделювати певні елементи у зрозумілій і структурованій формі, що полегшує розуміння й управління бізнес-процесами</figcaption></figure><h2 id="%D1%8F%D0%BA-%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D0%BD%D0%B8%D0%BA%D0%B8-%D0%B9-%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D1%82%D0%B8%D0%BA%D0%B8-%D0%BC%D0%BE%D0%B6%D1%83%D1%82%D1%8C-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%BE%D0%B2%D1%83%D0%B2%D0%B0%D1%82%D0%B8-camunda">Як розробники й аналітики можуть використовувати Camunda?</h2><p><br>Розробники й аналітики можуть використовувати Camunda для ефективного управління процесами, автоматизації завдань і гнучкої інтеграції з іншими системами, такими як CRM та ERP.</p><h3 id="%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%96-%D0%BC%D0%BE%D0%B6%D0%BB%D0%B8%D0%B2%D0%BE%D1%81%D1%82%D1%96-%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D0%B8">Основні можливості платформи:</h3><p>● Підтримка BPMN 2.0. Інструмент для стандартизованого моделювання бізнес-процесів, що дозволяє зручно візуалізувати й оптимізувати їх.</p><p>● Оркестрація робочих процесів. Camunda допомагає координувати завдання між різними учасниками та підрозділами, забезпечуючи безперебійний процес навіть у складних сценаріях.</p><p>● <a href="https://integrity.com.ua/rishennya/optymizacziya-ta-avtomatyzacziya/">Автоматизація бізнес-процесів</a>. Автоматизуючи рутинні завдання, Camunda мінімізує людські помилки та збільшує ефективність, що дозволяє працівникам зосередитися на більш пріоритетних задачах.</p><p>● Процесна аналітика. Аналітичні інструменти Camunda дозволяють відстежувати ефективність процесів у реальному часі, що сприяє швидкій реакції на затримки чи неефективність.</p><p>● Гнучка інтеграція через API. Потужний API дозволяє інтегрувати платформу з CRM та ERP-системами, забезпечуючи синхронізацію даних і безперебійну передачу інформації.</p><p>Завдяки підтримці REST і GraphQL API Camunda легко підключається до інших систем і підвищує рівень автоматизації бізнесу. Camunda стає важливим інструментом для компаній, які прагнуть оптимізувати процеси, інтегруватися з іншими системами та покращити загальну продуктивність.</p><h2 id="%D1%87%D0%BE%D0%BC%D1%83-%D0%B2%D0%B0%D1%80%D1%82%D0%BE-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%BE%D0%B2%D1%83%D0%B2%D0%B0%D1%82%D0%B8-camunda">Чому варто використовувати Camunda?</h2><h3 id="camunda-%D0%BF%D1%80%D0%BE%D0%BF%D0%BE%D0%BD%D1%83%D1%94-%D0%B1%D0%B5%D0%B7%D0%BB%D1%96%D1%87-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3-%D1%8F%D0%BA%D1%96-%D1%80%D0%BE%D0%B1%D0%BB%D1%8F%D1%82%D1%8C-%D1%97%D1%97-%D0%BE%D0%B4%D0%BD%D1%96%D1%94%D1%8E-%D0%B7-%D0%BD%D0%B0%D0%B9%D0%BA%D1%80%D0%B0%D1%89%D0%B8%D1%85-%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC-%D0%B4%D0%BB%D1%8F-%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%96%D0%BD%D0%BD%D1%8F-%D0%B1%D1%96%D0%B7%D0%BD%D0%B5%D1%81-%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%B0%D0%BC%D0%B8"><br>Camunda пропонує безліч переваг, які роблять її однією з найкращих платформ для управління бізнес-процесами:</h3><p><br>1.<strong> Гнучкість</strong>.<strong> </strong>Camunda легко адаптується до динамічних ринкових умов та унікальних потреб бізнесу. Вона дозволяє компаніям налаштовувати процеси відповідно до специфічних вимог, що полегшує адаптацію до змін.</p><p>2. <strong>Швидкість</strong>. Camunda забезпечує ефективне впровадження рішень завдяки автоматизації. Це підвищує швидкість обробки процесів і знижує затримки, що в кінцевому результаті покращує продуктивність.</p><p>3. <strong>Open-source</strong>. Платформа безкоштовна у базовому доступі, що дозволяє уникнути великих витрат на ліцензування. Розробники можуть модифікувати її, налаштовуючи під конкретні задачі організації, що є особливо цінним для індивідуальних процесів.</p><p>4.<strong> Інтеграція</strong>. Camunda підтримує просте підключення до різних бізнес-систем, включаючи CRM та ERP, завдяки потужним API, що полегшує роботу з існуючими інструментами компанії. Інтеграція з REST та GraphQL API дозволяє легко зв'язати Camunda з іншими сервісами.</p><p>5. <strong>Продуктивність</strong>. На відміну від Bizagi чи Creatio, Camunda пропонує більше свободи для налаштування, автоматизацію рутинних процесів і гнучку інтеграцію, забезпечуючи баланс між простотою використання та функціональністю.</p><p>Порівняно з іншими BPM-системами, такими як Bizagi та Pega, Camunda відрізняється простотою використання, потужними функціями автоматизації та значними можливостями інтеграції, що робить її найкращим вибором для багатьох підприємств.</p><h2 id="%D0%BF%D1%80%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4-%D0%B2%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B4%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F">Приклад впровадження</h2><h3 id="ukrsibbank-%D1%96-camunda"><br>UKRSIBBANK і Camunda</h3><p><br>У 2021 році UKRSIBBANK BNP Paribas Group, <a href="https://camunda.com/blog/2024/06/ukrsibbank-leverages-camunda-8/">розпочав трансформацію</a> процесу видачі кредитів за допомогою Integrity Vision на основі Camunda, що дозволило усунути проблеми старих систем і ручних робочих процесів.</p><p><strong>Проблема:</strong></p><p>Старі системи працювали неефективно, де кредитні аналітики повинні були працювати з декількома платформами для введення даних, розрахунків кредитних рейтингів і перевірки інформації. Це призводило до затримок, помилок і незадоволення клієнтів.</p><p><strong>Рішення:</strong></p><p>Впровадження робочого процесу кредитування на базі Camunda. Банк ухвалив рішення радикально скоротити час, необхідний для оформлення кредиту, у п’ять разів.</p><p>Необхідно було поставити клієнта у пріоритет, забезпечивши йому швидке отримання коштів. Це вимагало оптимізації процесу та залучення зусиль багатьох співробітників одночасно. Саме тому UKRSIBBANK за допомогою Integrity Vision вирішив реалізувати Camunda для автоматизації процесу видачі кредитів.</p><h3 id="%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%96-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3%D0%B8">Основні переваги:</h3><ol><li><strong>Уніфікація процесів</strong>. Створено єдине вікно для всіх активностей, що зменшило залежність від кількох систем і підвищило ефективність.</li><li><strong>Стандартизація</strong>. Запроваджено єдиний процес кредитування, що забезпечило чітке розуміння ролей учасників і зменшило кількість помилок.</li><li><strong>Покращення аналітики</strong>. Інформаційні панелі Camunda надають реальні дані про процес, що допомагає в управлінні й ухваленні рішень.</li></ol><p><strong>Результати:</strong></p><p>У 2025 році UKRSIBBANK планує завершити міграцію на Camunda 8, що вже позитивно вплинуло на ефективність, клієнтське задоволення та мотивацію працівників.</p><p>Стандартизовані процеси скоротили час на виконання певних складних процесів із 28 до 12 днів із подальшим планом зменшити цей період до 5.</p><p>Запроваджені цифрові канали дають змогу клієнтам стежити за статусом заявок онлайн, що покращує їхній досвід і знижує навантаження на менеджерів. Завдяки прозорому моніторингу KPI співробітники відчувають більшу відповідальність, а зібрані дані сприяють стратегічним рішенням і постійним вдосконаленням.</p><h2 id="%D0%B2%D0%B8%D1%81%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8">Висновки</h2><p>Camunda 8 є потужним інструментом для автоматизації бізнес-процесів, який дозволяє компаніям оптимізувати свої операції, знизити витрати та підвищити загальну продуктивність.</p><p>З огляду на всі переваги, варто звернути увагу на цю платформу та її можливості. Співпраця з Camunda може стати вирішальним кроком на шляху до успіху вашого бізнесу.</p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p><p><em><em><em><em><em><em><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></em></em></em></em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Pet Project — це не просто хобі. Це ваш персональний проєкт, над яким ви працюєте з цікавості, ентузіазму чи бажання вирішити якусь конкретну проблему. Але, на відміну від простого хобі, цей проєкт може стати ключем до вашого фінансового успіху.

Давайте подумаємо, як саме він здатен допомогти вам заробляти більше.


Переваги монетизації ]]></description>
        <link>https://proit.ua/iak-pet-project-mozhie-zminiti-karieru-rozrobnikiv/</link>
        <guid isPermaLink="false">673219e7a2c0a1116a8858a7</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Богдан Антонець ]]></dc:creator>
        <pubDate>ср, 13 лист 2024 14:00:35 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/11/close-up-beautiful-dachshund-dog-with-chewing-toy.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>Pet Project — це не просто хобі. Це ваш персональний проєкт, над яким ви працюєте з цікавості, ентузіазму чи бажання вирішити якусь конкретну проблему. Але, на відміну від простого хобі, цей проєкт може стати ключем до вашого фінансового успіху.</em></p><p><em>Давайте подумаємо, як саме він здатен допомогти вам заробляти більше.</em></p><h2 id="%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3%D0%B8-%D0%BC%D0%BE%D0%BD%D0%B5%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D1%96%D1%97">Переваги монетизації</h2><h3 id="%D1%80%D0%BE%D0%B7%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B2%D0%B0%D1%88%D0%B8%D1%85-%D0%BF%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%96%D0%B9%D0%BD%D0%B8%D1%85-%D0%BD%D0%B0%D0%B2%D0%B8%D1%87%D0%BE%D0%BA">Розширення ваших професійних навичок</h3><p>Кожен Pet Project дає унікальну можливість вивчати нові технології, процеси та підходи. Ви вчитеся на реальних кейсах та експериментах, які не завжди можна застосувати в основній роботі. Це свого роду інвестиція у власні навички.</p><p>Коли ви володієте актуальними знаннями, вам значно легше отримувати вигідніші пропозиції від клієнтів або підвищення на роботі.</p><h3 id="%D0%B4%D0%BE%D0%B4%D0%B0%D1%82%D0%BA%D0%BE%D0%B2%D0%B5-%D0%B4%D0%B6%D0%B5%D1%80%D0%B5%D0%BB%D0%BE-%D0%B4%D0%BE%D1%85%D0%BE%D0%B4%D1%83">Додаткове джерело доходу</h3><p>Pet Project може поступово перерости в бізнес або стати продуктом, який інші готові купувати.</p><p>Наприклад, ви створили корисний застосунок, корисний інструмент для розробників або навіть креативний продукт, який має попит. Початковий намір був просто протестувати ідею, а тепер ви маєте додатковий дохід від продажу чи підписок.</p><h3 id="%D0%BF%D0%BE%D0%B1%D1%83%D0%B4%D0%BE%D0%B2%D0%B0-%D0%BE%D1%81%D0%BE%D0%B1%D0%B8%D1%81%D1%82%D0%BE%D0%B3%D0%BE-%D0%B1%D1%80%D0%B5%D0%BD%D0%B4%D1%83">Побудова особистого бренду</h3><p>Коли ви активно працюєте над своїм проєктом і демонструєте результати в соціальних мережах, на платформах для розробників або інших майданчиках, то починаєте формувати свій особистий бренд.</p><p>Люди, які бачать ваші результати, починають асоціювати вас з інноваційністю, професійністю і креативністю. Це відкриває нові можливості для співпраці, участі у великих проєктах і залучення інвесторів.</p><h3 id="%D0%BC%D0%BE%D0%B6%D0%BB%D0%B8%D0%B2%D1%96%D1%81%D1%82%D1%8C-%D0%B7%D0%B0%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%BD%D1%8F-%D1%96%D0%BD%D0%B2%D0%B5%D1%81%D1%82%D0%B8%D1%86%D1%96%D0%B9">Можливість залучення інвестицій</h3><p>Якщо ваш Pet Project виявиться успішним і цікавим для ринку, ви можете знайти інвесторів, які допоможуть масштабувати вашу ідею.</p><p>Багато успішних стартапів починалися саме як Pet Projects. Це ідеї, створені для себе, але з часом вони виросли у великі прибуткові компанії. Інвестиції дають змогу перетворити невеликий проєкт на глобальний бізнес, здатний приносити великий дохід.</p><h2 id="%D1%8F%D0%BA-pet-project-partners-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BC%D0%B0%D0%B3%D0%B0%D1%8E%D1%82%D1%8C-%D1%83-%D1%80%D0%BE%D0%B7%D0%B2%D0%B8%D1%82%D0%BA%D1%83">Як Pet Project Partners допомагають у розвитку?</h2><p><a href="https://petproject.partners/">Pet Project Partners</a> — це перша в Україні команда професіоналів, яка готова підтримати ваш проєкт на кожному етапі. Їхні знання та досвід допоможуть вам досягнути максимального успіху.</p><h3 id="%D0%B2%D0%BE%D0%BD%D0%B8-%D0%BC%D0%BE%D0%B6%D1%83%D1%82%D1%8C-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BC%D0%BE%D0%B3%D1%82%D0%B8-%D0%BF%D0%B5%D1%80%D0%B5%D1%82%D0%B2%D0%BE%D1%80%D0%B8%D1%82%D0%B8-%D0%B2%D0%B0%D1%88-pet-project-%D0%BD%D0%B0-%D0%B1%D1%96%D0%B7%D0%BD%D0%B5%D1%81-%D0%B0%D0%B4%D0%B6%D0%B5">Вони можуть допомогти перетворити ваш Pet Project на бізнес, адже:</h3><ul><li>Надають консультації з розвитку продукту, проаналізувавши ваш продукт, код, і підказати, як краще оптимізувати його, або навіть додати нові функції.</li><li>Допомагають із маркетингом і запуском. Команда Pet Project Partners має знання про ринки, аудиторії, а також підходи до залучення користувачів, що може стати вирішальним для успіху проєкту.</li><li>Для масштабування проєкту вам знадобиться команда. Тому ці фахівці мають великий досвід у<strong> </strong>створенні ефективних команд розробників, тестувальників, дизайнерів і менеджерів проєктів. Вони допоможуть вам знайти необхідні ресурси, щоб розширити свій проєкт.</li><li>Pet Project Partners мають контакти з венчурними фондами й інвесторами, які можуть зацікавитися вашим проєктом. Вони допоможуть вам підготуватися до презентації перед потенційними інвесторами, скласти бізнес-план і фінансові прогнози.</li></ul><p>Монетизація Pet Project — це не лише про гроші. Це про розширення можливостей, розвиток навичок, досягнення фінансової незалежності та створення впливу.</p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Щороку кількість кібератак зростає, а хакери стають більш віртуозними. Для убезпечення своєї інфраструктури радимо бізнесам проводити тестування на проникнення (пентест).

Ми в Tet також регулярно проводимо пен-тестування. Цей метод передбачає залучення так званих етичних хакерів і допомагає виявити вразливості корпоративних ІТ-програм і мереж. Як це працює і які ще переваги ]]></description>
        <link>https://proit.ua/dumai-iak-khakier-pierievaghi-pientiestu-dlia-bizniesu/</link>
        <guid isPermaLink="false">67167b5fa2c0a1116a884cec</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Роланд Бірон ]]></dc:creator>
        <pubDate>ср, 23 жовт 2024 14:00:39 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/10/reflect-duality-simplicity-complexit-generative-ai.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>Щороку кількість кібератак зростає, а хакери стають більш віртуозними. Для убезпечення своєї інфраструктури радимо бізнесам проводити тестування на проникнення (пентест).</em></p><p><em>Ми в Tet також регулярно проводимо пен-тестування. Цей метод передбачає залучення так званих етичних</em><strong><em> </em></strong><em>хакерів<strong> </strong>і допомагає виявити вразливості корпоративних ІТ-програм і мереж. Як це працює і які ще переваги надає вказане інноваційне рішення, розглянемо нижче.</em></p><p>Тестування на проникнення є імітацією кібератаки та методів, які зловмисники можуть застосувати для доступу до корпоративної системи. Таким чином можна виявити вразливі місця ще до моменту, коли це зроблять кіберзлочинці.</p><p>Зазвичай тестування проводиться із залученням сторонніх сторін — компаній і спеціалістів у сфері кібербезпеки, які можуть допомогти бізнесу зміцнити захист важливої інфраструктури. Всередині Tet ми з командою працюємо in-house.</p><p>Як і кожен процес, пентест відбувається у кілька етапів. Кожна стадія дає змогу максимально ефективно виконати основне завдання — ідентифікувати чутливі до зламів елементи та якомога краще убезпечити їх.</p><h2 id="%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%96-%D0%B5%D1%82%D0%B0%D0%BF%D0%B8">Основні етапи:</h2><h3 id="%D0%BF%D0%BB%D0%B0%D0%BD%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Планування</h3><p>На цьому етапі компанія визначає свої потреби, а також цілі й обсяги тестування.</p><p>Важливо «оглянути» кожен компонент інфраструктури, щоб переконатися у його безпеці та врахувати юридичні аспекти. Tet, до прикладу, у процесі планування створює чіткі принципи роботи для того, щоб пентест проходив ефективно та законно.</p><h3 id="%D0%B7%D0%B1%D1%96%D1%80-%D1%96%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D1%96%D1%97">Збір інформації</h3><p>Цей етап передбачає обробку даних про мету тестування, зокрема записів загальнодоступного домену. Це важлива стадія, від якої залежить позитивний результат подальших дій.</p><h3 id="%D1%81%D0%BA%D0%B0%D0%BD%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Сканування</h3><p>Далі розпочинається етап дослідження та пошуку вразливостей системи. Тут застосовуються різні інструменти й операції, зокрема ті, що виконуються вручну. У підсумку ви отримуєте реальне бачення того, яким є захист вашої інфраструктури, а також побачите, як різні системи реагують на спроби зламу.</p><h3 id="%D0%B7%D0%BB%D0%B0%D0%BC">Злам</h3><p>Після виявлення вразливості хакери, які у цьому випадку вам допомагають, намагаються проникнути до інфраструктури вашої компанії, обходячи систему безпеки й впроваджуючи шкідливі дані. На цьому етапі добре видно шкоду, якої справжні зловмисники можуть завдати бізнесу.</p><h3 id="%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B7">Аналіз</h3><p>Тут ви отримаєте дані про те, наскільки довго кіберзлочинець може лишатися в системі непоміченим і яка інформація є найбільш незахищеною.</p><h3 id="%D1%84%D1%96%D0%BD%D0%B0%D0%BB%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%8F">Фіналізація</h3><p>На завершення готується докладний звіт про кожен етап реалізації тестування, а також про проблеми та вразливості системи, виявлені під час виконання імітованої кібератаки.</p><p>На цьому етапі прописується механізм запобігання таким атакам, а системи компанії повертають до первинного стану до тестування.</p><p>Регулярне виконання пентестів гарантує надійний інформаційний захист. Адже те, що було безпечним ще рік тому, наразі може стати небезпечним для бізнесів. До того ж такі тестування позитивно впливають на імідж компанії та посилюють довіру клієнтів до неї.</p><p>Під час пен-тестувань корпоративні команди з безпеки навчаються новому та мають змогу здобути корисні навички, які в майбутньому знадобляться для захисту під час імовірних кіберзагроз.</p><p>Виявлення слабких місць за допомогою пентесту дозволяє краще<strong> </strong>спланувати інвестиції в кібербезпеку та забезпечити надійний захист від неминучих атак.</p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Енергетична система будь-якої країни є її економічною основою і стратегічним ресурсом. Для України, яка опинилася перед викликами війни, значного руйнування інфраструктури та кліматичних змін, стоїть завдання не відновлення старої, а саме побудова захищеної й сучасної енергосистеми, яка стане ключовою для майбутнього відновлення та розвитку.

Відновлювати енергосистему треба на нових засадах: ]]></description>
        <link>https://proit.ua/energytech-dlia-ukrayini-iak-suchasni-tiekhnologhiyi-mozhut-dopomoghti-pobuduvati-zakhishchienu-ta-suchasnu-ienierghosistiemu/</link>
        <guid isPermaLink="false">670be5dc672ed98518826155</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Володимир Величко ]]></dc:creator>
        <pubDate>ср, 16 жовт 2024 14:00:08 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/10/IMG_4863.JPG" medium="image"/>
        <content:encoded><![CDATA[ <p>Енергетична система будь-якої країни є її економічною основою і стратегічним ресурсом. Для України, яка опинилася перед викликами війни, значного руйнування інфраструктури та кліматичних змін, стоїть завдання не відновлення старої, а саме побудова захищеної й сучасної енергосистеми, яка стане ключовою для майбутнього відновлення та розвитку.</p><p>Відновлювати енергосистему треба на нових засадах: замінювати обладнання та інфраструктуру, автоматизувати всі процеси, зокрема контроль за споживанням і виробництвом. У цьому контексті інноваційні технології (EnergyTech) можуть стати критичним фактором перетворень.</p><h2 id="%D1%80%D0%BE%D0%B7%D1%83%D0%BC%D0%BD%D1%96-%D0%BC%D0%B5%D1%80%D0%B5%D0%B6%D1%96-smart-grids-%D1%81%D1%82%D1%96%D0%B9%D0%BA%D1%96%D1%81%D1%82%D1%8C-%D1%96-%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D0%BA%D0%B0">Розумні мережі (Smart Grids): стійкість і безпека</h2><p>Традиційна енергосистема України сильно централізована, що робить її вразливою до пошкоджень великих електростанцій і ліній передач. Розумні енергомережі можуть стати відповіддю на ці виклики.</p><p>Smart Grids дають змогу оптимізувати використання електроенергії, автоматично перерозподіляти навантаження й підключати локальні джерела енергії до загальної системи. Це значно підвищує стійкість системи та дає змогу швидше відновлювати електропостачання у разі аварій чи атак.</p><p>Технології штучного інтелекту та машинного навчання вже використовуються для моніторингу і прогнозування пікових навантажень, що дозволяє уникати перевантажень й оптимізувати роботу всієї системи.</p><p>Додатково системи накопичення енергії, зокрема на базі літій-іонних акумуляторів, можуть згладжувати пікові навантаження та забезпечувати резервне живлення.</p><p>Південна Корея була в авангарді впровадження технології розумних мереж. В основі складної інтелектуальної мережевої інфраструктури країни лежить складна мережа програмних систем, які «оркеструють» симфонію ефективного управління електроенергією, реагування на попит та інтеграцію відновлюваних джерел енергії.</p><p>Ініціативи Південної Кореї щодо інтелектуальної мережі підвищили надійність мережі, зменшили втрати та підвищили енергоефективність.</p><p>Програмні алгоритми аналізують дані в реальному часі від датчиків, інтелектуальних лічильників і джерел енергії для оптимізації розподілу електроенергії, узгодження попиту з пропозицією майже в реальному часі. Це мінімізує втрати енергії та зменшує втрати в мережі, сприяючи більшій енергоефективності.</p><p>Крім того, південнокорейське програмне забезпечення для інтелектуальної електромережі дає споживачам інформацію про споживання енергії, що дає змогу ухвалювати обґрунтовані рішення та заохочує більш екологічні моделі використання.</p><p>У Європі маємо такий приклад у Данії, яка використовує Smart Grids для управління децентралізованою енергосистемою, де велика частка енергії надходить від вітрових електростанцій. Данія розробила систему, яка дозволяє гнучко реагувати на зміну обсягів генерації та споживання. Вартість впровадження Smart Grids у країні оцінюється приблизно у $1,5-2 мільярди.</p><p>На 2024 рік 40% запланованих інвестицій в енергетиці членів ЄС припадатиме саме на такі мережі. В Україні цей показник ледь дотягує 5%. За рахунок площі та розгалуженості мережі впровадження Smart Grids може становити $4-6 мільярдів, враховуючи необхідність модернізації наявних інфраструктур та інвестування у нові технології.</p><p>Враховуючи «вік» нашої енергосистеми, впровадження інтелектуальних мереж може вимагати значної модернізації інфраструктури, систем керування даними та модернізації мережі.</p><h2 id="%D0%B5%D0%BD%D0%B5%D1%80%D0%B3%D0%B5%D1%82%D0%B8%D1%87%D0%BD%D0%B0-%D0%BA%D1%96%D0%B1%D0%B5%D1%80%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D0%BA%D0%B0">Енергетична кібербезпека</h2><p>Із впровадження «розумних» мереж витікає друге надважливе питання — кібербезпека. Розумні мережі повинні бути захищені від кіберзагроз, щоб забезпечити стабільність мережі та запобігти збоям.</p><p>Україна — друга серед найбільш атакованих країн світу у кіберпросторі після США.</p><p>Хакерські атаки мають на меті виведення з ладу енергетичних систем, порушення роботи електростанцій і створення перебоїв у постачанні електроенергії. Основні вразливості енергетичної інфраструктури: залежність від цифрових технологій, систем автоматичного керування і «розумних» мереж (smart grid).</p><p>Однією з найвідоміших атак стала атака на Прикарпаттяобленерго у 2015 році, коли понад 225 тисяч українців залишилися без електроенергії. Це був один із перших відомих випадків, коли хакери змогли вивести з ладу енергетичну систему. Для цього використовувалося шкідливе ПЗ BlackEnergy.</p><p>У 2016 році хакери атакували вже Укренерго. Сталася атака з використанням шкідливого ПЗ Industroyer, що націлювалося на енергетичну інфраструктуру. Це програмне забезпечення було розроблене спеціально для атак на системи управління промисловими об’єктами.</p><p>З початком повномасштабної війни росії проти України, кількість і складність атак значно зросли. Хакерські групи, пов’язані з росією, постійно атакують ключові енергетичні об’єкти, намагаючись дестабілізувати роботу енергосистеми.</p><p>Так, протягом 2022 року в Україні сталося майже втричі більше кіберінцидентів, ніж у 2021-му. Подій, геолокація яких пов’язана з рф, за даними Державної служби спецзв’язку і захисту інформації України, побільшало на 26%.</p><p>Наприклад, у квітні 2022 року була спроба атаки на одну з великих електростанцій із використанням вдосконаленої версії Industroyer, відомої як Industroyer2, яка, однак, була успішно відбита завдяки швидкій реакції українських фахівців.</p><p>Наразі перед нами стоїть завдання розробки та впровадження сучасних систем кіберзахисту, які поєднують моніторинг і реагування на атаки в реальному часі. Для цього необхідна тісна співпраця з міжнародними партнерами, такими як НАТО, ЄС і фахівцями з кібербезпеки по всьому світу для обміну досвідом і технологіями та постійне навчання й підготовка персоналу енергетичних компаній для протидії новим кіберзагрозам.</p><p>Штучний інтелект і технології аналізу великих даних здатні не лише відслідковувати аномалії у роботі системи, а й прогнозувати потенційні кіберзагрози. Це дає змогу своєчасно реагувати на можливі атаки та забезпечувати стабільність енергомережі.</p><p>Впровадження рішень для захисту енергетичної інфраструктури від кіберзагроз може коштувати $500 мільйонів — $1 мільярд, включаючи апаратне забезпечення, програмне забезпечення та підготовку кадрів.</p><h2 id="%D0%B4%D0%B5%D1%86%D0%B5%D0%BD%D1%82%D1%80%D0%B0%D0%BB%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%8F-%D0%B5%D0%BD%D0%B5%D1%80%D0%B3%D0%B5%D1%82%D0%B8%D0%BA%D0%B8-%D1%82%D0%B0-%D0%BC%D1%96%D0%BA%D1%80%D0%BE%D0%BC%D0%B5%D1%80%D0%B5%D0%B6%D1%96">Децентралізація енергетики та мікромережі</h2><p>Мікромережі (Microgrids) — це невеликі локальні енергосистеми, які можуть працювати автономно або бути підключеними до національної енергомережі. Такі рішення дають змогу забезпечити безперебійне енергопостачання критично важливих об’єктів, таких як лікарні, військові бази, комунальні служби, а також сприяти сталому розвитку регіонів.</p><p>Слід відзначити сучасні тенденції, коли використання блокчейн-технологій для управління децентралізованими енергетичними системами набирає обертів. Смарт-контракти дозволяють забезпечити прозорість і безпеку угод між виробниками та споживачами енергії на локальному рівні, стимулюючи розвиток малих генерацій.</p><p>Наприклад, США (Каліфорнія) активно використовує мікромережі для забезпечення автономного енергопостачання, особливо в районах із підвищеним ризиком природних катастроф. Успішні пілотні проєкти вартістю близько $200-500 мільйонів показали можливість створення автономних систем для критично важливих об’єктів.</p><p>В Україні розвиток мікромереж для критично важливих об’єктів, таких як лікарні, школи та стратегічні підприємства, може коштувати від $500 мільйонів до $1 мільярда залежно від масштабу проєктів.</p><p>EnergyTech відкриває перед Україною величезні можливості. Впровадження інноваційних технологій у відновлювану енергетику, розумні мережі, децентралізацію енергосистем і кібербезпеку дозволить країні побудувати сучасну, стійку та захищену енергосистему. Це не лише підвищить енергетичну незалежність України, але й сприятиме її економічному зростанню та стійкості в умовах глобальних викликів. Україна має всі шанси стати прикладом для інших країн у тому, як поєднання технологій та стратегії може сприяти відновленню і модернізації енергетичної системи, одночасно забезпечуючи безпеку і сталий розвиток.</p><p><em>Величко Володимир Анатолійович</em><strong><em> </em><a href="https://www.spfu.gov.ua/ua/news/9911.html"><em>обіймає посаду</em></a></strong><em> заступника голови наглядової ради ПАТ "Центренерго" із серпня 2023 року. Доктор економічних наук, професор </em><strong><a href="https://www.ssa.kmbs.ua/teachers"><em>Києво-Могилянської бізнес-школи</em></a></strong><em>.</em></p><p><em>У 2013-2023 роках працював на посаді генерального директора Державного підприємства "Харківський регіональний науково-виробничий центр стандартизації, метрології та сертифікації". У 2010-2020 роках представляв Україну у UNЕCE (WP.6) Regulatory Cooperation and Standardization Policies/ Європейська економічна комісія ООН (Женева, Швейцарія).</em></p><p><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></em></p><p><em><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Жовтень в Україні та світі відзначається як Місяць кібербезпеки, що привертає увагу до важливості захисту інформаційних технологій.

У цей період організовується низка кампаній, семінарів і тренінгів, покликаних допомогти організаціям і приватним особам покращити захист своїх цифрових активів. Питання кібербезпеки стають все більш важливими з розвитком технологій і збільшенням загроз.

Перш ]]></description>
        <link>https://proit.ua/biezpiechnii-ofis-informatsiina-biezpieka-na-robochomu-mistsi/</link>
        <guid isPermaLink="false">6702569f969b979797e54264</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Андрій Блощинський  ]]></dc:creator>
        <pubDate>ср, 09 жовт 2024 14:00:57 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/10/42537.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Жовтень в Україні та світі відзначається як Місяць кібербезпеки, що привертає увагу до важливості захисту інформаційних технологій.</p><p>У цей період організовується низка кампаній, семінарів і тренінгів, покликаних допомогти організаціям і приватним особам покращити захист своїх цифрових активів. Питання кібербезпеки стають все більш важливими з розвитком технологій і збільшенням загроз.</p><p>Перш ніж заглиблюватися в інформаційну безпеку, важливо зрозуміти різницю між інформаційною та кібербезпекою.</p><p>У широкому сенсі кібербезпека — це захист комп’ютерних систем від крадіжки або пошкодження зловмисниками через Інтернет. Вона включає різні аспекти захисту мережі, програмного забезпечення та даних.</p><p>На відміну від цього, інформаційна безпека зосереджена на захисті даних, як фізичних (документи, флешки), так і цифрових (файли, бази даних). Інформаційна безпека є особистою відповідальністю кожного працівника і є першим бар’єром на шляху до захисту критично важливої інформації.</p><h2 id="%D0%BD%D0%B0%D0%B3%D0%B0%D0%B4%D1%83%D1%94%D0%BC%D0%BE-%D0%BD%D0%B0-%D0%B4%D1%83%D0%B6%D0%B5-%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%B8%D1%85-%D0%BF%D1%80%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4%D0%B0%D1%85-%D1%89%D0%BE-%D0%BC%D0%BE%D0%B6%D0%B5-%D0%B7%D1%80%D0%BE%D0%B1%D0%B8%D1%82%D0%B8-%D0%BA%D0%BE%D0%B6%D0%B5%D0%BD-%D0%B4%D0%BB%D1%8F-%D0%B7%D0%B0%D1%85%D0%B8%D1%81%D1%82%D1%83-%D1%81%D0%B2%D0%BE%D1%97%D1%85-%D0%BF%D1%80%D0%B8%D1%81%D1%82%D1%80%D0%BE%D1%97%D0%B2-%D1%82%D0%B0-%D1%96%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D1%96%D1%97">Нагадуємо на дуже простих прикладах, що може зробити кожен для захисту своїх пристроїв та інформації:</h2><h3 id="1-%D0%BD%D0%B0%D0%B4%D1%96%D0%B9%D0%BD%D1%96-%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D1%96-%D1%82%D0%B0-%D0%B4%D0%B2%D0%BE%D1%84%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%BD%D0%B0-%D0%B0%D0%B2%D1%82%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%8F">1. Надійні паролі та двофакторна автентифікація</h3><p>Використання надійних паролів і двофакторної автентифікації є основою безпеки. Паролі повинні бути унікальними для кожного облікового запису і містити літери, цифри та спеціальні символи. Двофакторна автентифікація додає додатковий рівень безпеки, ускладнюючи зловмисникам доступ до даних.</p><h3 id="2-%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D0%B5-%D0%BE%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B7%D0%B0%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8F">2. Регулярне оновлення програмного забезпечення</h3><p>Системне, прикладне та антивірусне програмне забезпечення слід регулярно оновлювати. Ці оновлення не лише покращують функціональність, але й усувають вразливості, якими можуть скористатися зловмисники.</p><h3 id="3-%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D0%BA%D0%B0-%D0%B2%D0%B0%D1%88%D0%BE%D1%97-%D0%B5%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%BE%D1%97-%D0%BF%D0%BE%D1%88%D1%82%D0%B8">3. Безпека вашої електронної пошти</h3><p>Фішингові атаки залишаються одним із найпоширеніших методів, які використовують зловмисники. Будьте уважні до підозрілих електронних листів, не відкривайте вкладення від невідомих відправників і не переходьте за підозрілими посиланнями.</p><h3 id="4-%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%87%D0%BD%D0%B5-%D0%B7%D0%B1%D0%B5%D1%80%D1%96%D0%B3%D0%B0%D0%BD%D0%BD%D1%8F-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85">4. Безпечне зберігання даних</h3><p>Важливу інформацію слід зберігати на зашифрованих носіях або у хмарних сервісах із надійними засобами захисту. Не рекомендується залишати конфіденційні дані на робочих столах або в легкодоступних місцях.</p><h3 id="5-%D0%BD%D0%B0%D0%B2%D1%87%D0%B0%D0%BD%D0%BD%D1%8F-%D1%82%D0%B0-%D0%BE%D0%B1%D0%BC%D1%96%D0%BD-%D0%B4%D0%BE%D1%81%D0%B2%D1%96%D0%B4%D0%BE%D0%BC">5. Навчання та обмін досвідом</h3><p>Інформаційна безпека — це не лише індивідуальна, але й колективна відповідальність. Підтримуйте культуру безпеки у вашому офісі, регулярно проходячи курси з безпеки та ділячись своїми знаннями з колегами. Організовуйте семінари для обговорення нових загроз і методів захисту.</p><p>Кожен із нас може допомогти захистити інформацію, дотримуючись простих та ефективних практик. Пам’ятайте, що інформаційна безпека — це не лише відповідальність ІТ-відділу, а спільна відповідальність усіх співробітників, адже тільки разом ми можемо створити безпечний офіс.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Олександра Цаглова, Lead UI/UХ-дизайнерка в ІТ-команді NIX

У проєктуванні інтерфейсів дизайнери спираються на Data Driven-підхід. Простіше кажучи, на конкретні показники поведінки користувачів під час взаємодії із застосунком чи вебресурсом.

У цій статті я розповім, чим вказаний підхід корисний у розробці дизайну та яка інформація про юзерів є найбільш цінною. ]]></description>
        <link>https://proit.ua/data-driven-pidkhid-u-dizaini-shcho-tsie-ta-iak-dopomozhie-ui-ux-dizainieru-pokrashchiti-produkt/</link>
        <guid isPermaLink="false">66f04f6af40b864e9de0a2d6</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  NIX Team ]]></dc:creator>
        <pubDate>пн, 23 вер 2024 14:00:55 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/09/IMG_5840.jpeg" medium="image"/>
        <content:encoded><![CDATA[ <p><strong><em>Олександра Цаглова, Lead UI/UХ-дизайнерка в ІТ-команді NIX</em></strong></p><p>У проєктуванні інтерфейсів дизайнери спираються на Data Driven-підхід. Простіше кажучи, на конкретні показники поведінки користувачів під час взаємодії із застосунком чи вебресурсом.</p><p>У цій статті я розповім, чим вказаний підхід корисний у розробці дизайну та яка інформація про юзерів є найбільш цінною.</p><h2 id="%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3%D0%B8-data-driven-%D0%BF%D1%96%D0%B4%D1%85%D0%BE%D0%B4%D1%83">Переваги Data Driven-підходу</h2><h3 id="%D0%BF%D1%96%D0%B4%D0%B2%D0%B8%D1%89%D1%83%D1%94-%D0%BB%D0%BE%D1%8F%D0%BB%D1%8C%D0%BD%D1%96%D1%81%D1%82%D1%8C-%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D1%83%D0%B2%D0%B0%D1%87%D1%96%D0%B2">Підвищує лояльність користувачів</h3><p>Чітке розуміння реальних потреб користувачів дасть змогу зробити інтерфейс, який дійсно допоможе людям дійти до їхньої кінцевої мети (знайти потрібні контакти на сайті, оформити замовлення, розібратися з новим для себе застосунком тощо). Максимально user friendly інтерфейс оцінить кожен.</p><h3 id="%D0%B2%D0%B8%D1%80%D1%96%D1%88%D1%83%D1%94-%D0%B1%D1%96%D0%B7%D0%BD%D0%B5%D1%81-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D1%96">Вирішує бізнес-задачі</h3><p>Чим простіший у використанні продукт, тим позитивнішим є користувацький досвід. Із залученістю юзерів зростає конверсія на сайті, а з нею — і кількість замовлень. Все-таки основна мета будь-якої комерційної вебсторінки чи застосунку — приносити бізнесу гроші.</p><h3 id="%D0%BF%D0%BE%D0%BB%D0%B5%D0%B3%D1%88%D1%83%D1%94-%D0%BA%D0%BE%D0%BC%D1%83%D0%BD%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%8E-%D0%B7-%D0%BA%D0%BB%D1%96%D1%94%D0%BD%D1%82%D0%BE%D0%BC-%D1%96-%D0%BA%D0%BE%D0%BB%D0%B5%D0%B3%D0%B0%D0%BC%D0%B8">Полегшує комунікацію з клієнтом і колегами</h3><p>Спираючись на дослідження, можна впевненіше пояснити стейкхолдерам і розробникам виправданість тих чи інших дизайнерських рішень.</p><h2 id="%D1%87%D0%B8-%D1%94-%D1%82%D1%83%D1%82-%D0%BC%D1%96%D1%81%D1%86%D0%B5-%D0%B4%D0%BB%D1%8F-%D0%BA%D1%80%D0%B5%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D1%96">Чи є тут місце для креативності?</h2><p>Дані диктують певні рішення, але дизайнер завжди має простір для кількох нестандартних способів їхньої реалізації.</p><p>Порівняймо це з технічним регламентом в автоспорті. Документація описує безліч нюансів, аж до розміру болтів в автівці. Проте інженери, щоб обійти суперників, можуть підібрати будь-яке рішення в межах правил.</p><p>Так і в дизайні. У процесі пошуку ідей чи тестуванні гіпотез теж є місце інтуїції та вашому попередньому досвіду. Додайте сюди актуальні дані про користувачів — і продукт стане ще більш клієнтоорієнтованим.</p><p>Пам’ятайте: ви створюєте дизайн, орієнтований на конкретні потреби людей.</p><p>Завдяки Data Driven-підходу ваша робота стає ефективнішою в багатьох напрямках.</p><h3 id="%D0%B2%D0%B8%D0%B1%D1%96%D1%80-%D1%83%D1%81%D0%B2%D1%96%D0%B4%D0%BE%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D1%85-%D1%80%D1%96%D1%88%D0%B5%D0%BD%D1%8C">Вибір усвідомлених рішень</h3><p>Дизайнерам важливо мати розвинену «‎надивленість»: досліджувати світові тренди та рішення конкурентів, оцінювати їх і намагатися обрати краще для свого продукту. Це слід робити усвідомлено й добре розуміти потреби своїх користувачів.</p><p>Замовник відмовляється від вашої ідеї? Дослідіть аналітику. Можливо, саме у вашій ситуації критично важливо піти запропонованим вами шляхом і тим самим покрити цільову аудиторію чи вирішити бізнес-задачу. Для клієнта цифри будуть найпереконливішим аргументом.</p><h3 id="%D1%80%D0%BE%D0%B7%D1%83%D0%BC%D1%96%D0%BD%D0%BD%D1%8F-%D0%B0%D1%83%D0%B4%D0%B8%D1%82%D0%BE%D1%80%D1%96%D1%97">Розуміння аудиторії</h3><p>Замало зібрати дані. Треба вміти їх оцінювати та прогнозувати, як спрацює рішення.</p><p>Те, що класно виглядає на макеті, в реальності тестування може «‎забракувати». Бо від нового рішення може бути гірша конверсія.</p><p>У такому разі треба розібратися, що не так. Може, новий дизайн не подобається лише постійним користувачам, а з нещодавніми конверсія зростає, як і очікувалося. Тоді можна не переходити на нове рішення відразу, а додати тимчасовий вибір між старим і новим, допоки постійна аудиторія не звикне до нововведень.</p><h3 id="%D0%BF%D1%80%D1%96%D0%BE%D1%80%D0%B8%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D1%96%D1%8F-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87">Пріоритизація задач</h3><p>На великих проєктах, як правило, багато задач з оновлення дизайну різних частин продукту. Може бути запит на редизайн кошика, на зміни в шаблоні карток товарів, правки в меню каталогу. Виконати все одночасно неможливо. Тож UI/UX-дизайнерам разом із менеджерами чи продукт-оунерами передусім варто виставити пріоритети.</p><p>Можна орієнтуватися і на суб’єктивну оцінку. Але краще мати під рукою актуальну аналітику й оцінити, як часто аудиторія користується кожним з елементів на сайті чи в застосунку. А далі вже розставити зміни від першочергових до другорядних. Це буде найбільш продуктивно.</p><h3 id="%D0%BF%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%96%D0%B9%D0%BD%D0%B8%D0%B9-%D1%80%D0%BE%D0%B7%D0%B2%D0%B8%D1%82%D0%BE%D0%BA">Професійний розвиток</h3><p>Додаткові знання в цій галузі значно підсилять вашу експертизу та цінність як фахівця. До того ж, далеко не в кожній команді вистачає аналітиків. Тому інколи UI/UX-дизайнерам доводиться брати на себе додаткову роль і «заходити на чуже поле». Тим не менше, це плюс і для скілів, і для кращого розуміння продукту.</p><h2 id="%D1%82%D0%B8%D0%BF%D0%B8-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85-%D0%BD%D0%B0-%D1%8F%D0%BA%D1%96-%D0%B2%D0%B0%D1%80%D1%82%D0%BE-%D1%81%D0%BF%D0%B8%D1%80%D0%B0%D1%82%D0%B8%D1%81%D1%8F-%D0%B4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD%D0%B5%D1%80%D0%B0%D0%BC">Типи даних, на які варто спиратися дизайнерам</h2><h3 id="1-%D0%BA%D1%96%D0%BB%D1%8C%D0%BA%D1%96%D1%81%D0%BD%D1%96-%D0%B4%D0%B0%D0%BD%D1%96">1. Кількісні дані</h3><p>Це числові, вимірювані дані про поведінку користувачів. Наприклад, скільки людей відвідує сайт у заданий проміжок часу, скільки кліків отримує елемент на сторінці, як часто юзери користуються розділом у застосунку тощо. Кількісні дані відповідають на запитання: «Що?», «Де?», «Коли?».</p><p><strong>Існує багато способів збору такої інформації, але найбільш поширені в Data Driven-дизайні такі:</strong></p><ul><li><strong>A/B-тестування (спліт-тестування).</strong> Знайомий більшості UI/UX-фахівців метод. Порівняння поведінки людей на двох чи більше варіантах дизайну. Наприклад, у вас є макети з різним дизайном кнопок. За допомогою цього тестування можна виміряти та порівняти кількість кліків на всіх елементах та визначити, який дизайн найбільше приваблює цільову аудиторію, що для них зручніше.</li><li><strong>Теплові мапи.</strong> Візуалізують, куди люди найчастіше клікають або на чому затримуються поглядом. Так ви можете побачити, що юзери часто клікають на фото товару, намагаючись перейти до картки з описом продукту, хоча лінк є в його назві. Тож має сенс зробити і клікабельне зображення.</li><li><strong>Вебаналітика.</strong> У звітах на кшталт Google Analytics є безліч корисної для дизайнера інформації. Наприклад, те, що допоможе порівняти ефективність і зручність дизайну за демографічними показниками. Може виявитися, що молоді люди з однієї країни інакше контактують із вашим дизайном, ніж старші за віком користувачі. І все це може відрізнятися залежно від геолокації.</li></ul><h3 id="2-%D1%8F%D0%BA%D1%96%D1%81%D0%BD%D1%96-%D0%B4%D0%B0%D0%BD%D1%96">2. Якісні дані</h3><p>Це вже не об’єктивні, а суб’єктивні показники. Вони сфокусовані на оцінці відчуттів і настроїв користувачів.</p><p>Якісні дані інформують не про дії, а про причини цих дій. До прикладу, чому люди зупиняються у процесі оформлення замовлення на тій чи іншій сторінці? Що саме їм заважає в поточному функціоналі, як вони оцінюють цей досвід?</p><p><strong>Серед основних способів збору якісних даних виділяють такі:</strong></p><ul><li><strong>Опитування.</strong> Це прості Google-форми для відгуків про продукт. Як правило, в опитуваннях використовують числові оцінки. Наприклад, пропонують юзерам стисло описати причини відмови від покупки й оцінити за шкалою від 1 до 10, чи порадять вони друзям цей сайт.</li><li><strong>Інтерв’ю.</strong> Розгорнуте обговорення користувацького досвіду. Тут вже можна уточнювати будь-які дрібниці. Чому користувач клікнув на певний елемент? Чим він привернув його увагу? Чи виправдав результат його очікування? Що запам’яталося в дизайні? Зазвичай інтерв’ю проводять після тестових сесій.</li><li><strong>Тестування юзабіліті.</strong> Тобто оцінка зручності використання інтерфейсу. У процесі ви спостерігаєте за поведінкою та реакціями відібраних користувачів-тестерів. Цей метод допомагає зрозуміти, де, скажімо, переривається продуманий вами юзер-флоу, коли користувач зупиняється та не досягає потрібної вам цілі. Зібрані дані ляжуть в основу майбутнього рішення.</li></ul><h2 id="%D1%83-%D0%B7%D0%B1%D0%BE%D1%80%D1%96-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85-%D0%BD%D0%B0%D0%BC%D0%B0%D0%B3%D0%B0%D0%B9%D1%82%D0%B5%D1%81%D1%8F-%D0%B2%D1%82%D1%80%D0%B8%D0%BC%D0%B0%D1%82%D0%B8-%D0%B1%D0%B0%D0%BB%D0%B0%D0%BD%D1%81">У зборі даних намагайтеся втримати баланс</h2><p>Потенційно корисної інформації може бути занадто багато і далеко не все вдасться дослідити глибше, враховуючи поточну ситуацію на проєкті. Має вистачати ресурсів: часу, грошей, людей.</p><p>Погодьтеся, навряд чи виправдано витрачати кілька тижнів на обширне дослідження, як колір окремої кнопки впливає на кількість покупок у невеликому інтернет-магазині.</p><p>Якщо така ідея виникла у проєкті, де пофіксили наявні критичні чи потенційні проблеми, і вистачає бюджету — сміливо тестуйте. Тим паче, якщо маєте натхнення. Загалом має бути почуття міри, щоб фокусуватися на пріоритетах і не витрачати час і сили дарма.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Не секрет, що перший прототип ноутбука у наближеному до сучасного форм-факторі з’явився ще наприкінці 60-х років минулого століття.

Його поява стала величезним кроком вперед з огляду важливості організації віддаленої роботи, звільнення від прив’язки до місця розташування офісу. Це було щось на кшталт появи персонального авто, яке дало людям ]]></description>
        <link>https://proit.ua/noutbuk-vs-pk-10-nieochievidnikh-pierievagh-statsionarnikh-robochikh-stantsii-dlia-suchasnogho-ofisu-ta-pidpriiemstva/</link>
        <guid isPermaLink="false">66e713a8969b979797e5330d</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Андрій Блощинський  ]]></dc:creator>
        <pubDate>ср, 18 вер 2024 14:00:38 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/09/539.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Не секрет, що перший прототип ноутбука у наближеному до сучасного форм-факторі з’явився ще наприкінці 60-х років минулого століття.</p><p>Його поява стала величезним кроком вперед з огляду важливості організації віддаленої роботи, звільнення від прив’язки до місця розташування офісу. Це було щось на кшталт появи персонального авто, яке дало людям нечуване відчуття свободи.</p><p>Сьогодні реклама ноутбуків наголошує на тому, що з ноутбуком можна працювати будь-де, відстань не має значення, його можна легко транспортувати з собою і навіть носити на собі, швидко включитись у роботу, буквально розгорнувши.</p><p>Команда проєкту може бути розосереджена по світу на відстані тисяч кілометрів. А ігрові ноутбуки можуть «помірятися» зі стаціонарними ПК своїми характеристиками.</p><p>Це все чиста правда, якщо не брати до уваги нюанси. Адже врешті решт ноутбук не став «вбивцею» стаціонарних комп’ютерів, оскільки стаціонарні ПК все ще потрібні та навіть незамінні там, де функціональність переважає над мобільністю.</p><p>Питання «ноутбук чи ПК» не має сенсу, доки не з’ясовані додаткові подробиці.</p><p>Головні з них — для яких цілей нам потрібна комп’ютерна техніка і яка специфіка умов роботи. Відповіді на них будуть визначальними для вибору між цими двома форм-факторами.</p><p>Не заглиблюючись у «критику» ноутбуків, оскільки це просто не має сенсу, бо тут завжди буде нічия, адже обидва форм-фактори в чомусь кращі, в чомусь гірші, розглянемо, які ж сильні сторони мають ПК.</p><h2 id="1-%D0%BC%D0%B0%D1%81%D1%88%D1%82%D0%B0%D0%B1-%D1%96-%D1%81%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D1%96%D0%BA%D0%B0-%D0%B2%D0%B8%D1%80%D1%96%D1%88%D1%83%D0%B2%D0%B0%D0%BD%D0%B8%D1%85-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87-%D0%B2%D0%B8%D0%BC%D0%BE%D0%B3%D0%B8-%D0%B4%D0%BE-%D0%B2%D1%96%D0%B4%D0%B5%D0%BE%D0%BA%D0%B0%D1%80%D1%82%D0%B8-%D0%BE%D0%B1%D1%87%D0%B8%D1%81%D0%BB%D1%8E%D0%B2%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%97-%D0%BF%D0%BE%D1%82%D1%83%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%96-%D1%96%D0%BD%D1%88%D0%B8%D1%85-%D1%82%D0%B5%D1%85%D0%BD%D1%96%D1%87%D0%BD%D0%B8%D1%85-%D1%85%D0%B0%D1%80%D0%B0%D0%BA%D1%82%D0%B5%D1%80%D0%B8%D1%81%D1%82%D0%B8%D0%BA">1. Масштаб і специфіка вирішуваних задач (вимоги до відеокарти, обчислювальної потужності, інших технічних характеристик)</h2><p>У деяких галузях альтернативи ПК просто немає. Наприклад, якщо йдеться про проєктування інженерне чи архітектурне, обробку графіки, відео тощо, тут потрібні не просто ПК, а потужні стаціонарні робочі станції.</p><h2 id="2-%D0%BC%D1%96%D0%BD%D1%96%D0%BC%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%8F-%D0%B2%D1%96%D1%80%D0%BE%D0%B3%D1%96%D0%B4%D0%BD%D0%BE%D1%81%D1%82%D1%96-%D0%BC%D0%B5%D1%85%D0%B0%D0%BD%D1%96%D1%87%D0%BD%D0%B8%D1%85-%D0%BF%D0%BE%D1%88%D0%BA%D0%BE%D0%B4%D0%B6%D0%B5%D0%BD%D1%8C">2. Мінімізація вірогідності механічних пошкоджень</h2><p>Ноутбук, який так легко носити з собою, так само легко можна і пошкодити. Вірогідність такого випадку зі стаціонарним ПК чи робочою станцією майже нульова.</p><h2 id="3-%D0%BE%D0%B1%D0%BC%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D1%83-%D0%B4%D0%BE-%D0%BA%D0%BE%D0%BD%D1%84%D1%96%D0%B4%D0%B5%D0%BD%D1%86%D1%96%D0%B9%D0%BD%D0%B8%D1%85-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85">3. Обмеження доступу до конфіденційних даних</h2><p>Доступ до кінцевої точки, як правило, складніший коли йдеться про ПК, розташований в офісі. Принаймні фізично до нього важко дістатися, на відміну від ноута.</p><p>Крім паролів є охорона, пріоритетність доступу до кабінетів тощо. Це лише у фільмах злочинці миттєво отримують доступ до ПК в офісах за кілька ударів по клавішах.</p><h2 id="4-%D0%BC%D1%96%D0%BD%D1%96%D0%BC%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%8F-%D0%B2%D1%96%D1%80%D0%BE%D0%B3%D1%96%D0%B4%D0%BD%D0%BE%D1%81%D1%82%D1%96-%D0%B2%D1%82%D1%80%D0%B0%D1%82%D0%B8-%D1%87%D0%B8-%D0%BA%D1%80%D0%B0%D0%B4%D1%96%D0%B6%D0%BA%D0%B8">4. Мінімізація вірогідності втрати чи крадіжки</h2><p>Ноутбук завдяки його перевазі (мобільності) зловмисникам легше вкрасти або ж користувач може його загубити. Зі стаціонарними ПК це набагато складніше.</p><h2 id="5-%D0%BC%D0%BE%D0%B6%D0%BB%D0%B8%D0%B2%D1%96%D1%81%D1%82%D1%8C-%D0%B0%D0%BF%D0%B3%D1%80%D0%B5%D0%B9%D0%B4%D1%83">5. Можливість апгрейду</h2><p>Корпус ПК має достатньо місця для додавання нових модулів, заміни комплектуючих на більш потужні або ж застарілих на нові. Його можна модифікувати майже як конструктор Lego.</p><h2 id="6-%D1%86%D1%96%D0%BD%D0%BE%D0%B2%D0%B0-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3%D0%B0">6. Цінова перевага</h2><p>У випадку співставних за технічними характеристиками моделей стаціонарний ПК коштує дешевше. Надзвичайно потужна робоча станція може коштувати від 1500 умовних одиниць, співставний за характеристиками ноутбук — приблизно у 1,5 рази дорожче.</p><h2 id="7-%D0%B5%D0%BA%D0%BE%D0%BD%D0%BE%D0%BC%D1%96%D1%87%D0%BD%D0%B0-%D0%B2%D0%B8%D0%B3%D0%BE%D0%B4%D0%B0">7. Економічна вигода</h2><p>Якщо компанії потрібно оснастити офіс на 50, 100 та більше робочих місць, закупка ноутбуків виллється у значні суми. Аналогічні конфігурації стаціонарних комп’ютерів значно заощадять бюджет.</p><h2 id="8-%D0%B2%D0%BF%D0%BB%D0%B8%D0%B2-%D0%BD%D0%B0-%D0%B7%D0%B4%D0%BE%D1%80%D0%BE%D0%B2%E2%80%99%D1%8F">8. Вплив на здоров’я</h2><p>Для роботи за стаціонарним ПК потрібен комп’ютерний стіл і стілець. Сучасні моделі столів і стільців чи крісел ергономічні та зручні. Це набагато здоровіше, ніж працювати на ноуті, розташувавши його на власному кухонному столі чи лежачи в шезлонзі (хоча картинка для реклами виглядає привабливо).</p><p>Крім того, компанії проєктують офіси з урахуванням санітарно-гігієнічних вимог до рівня освітленості, ергономіки тощо.</p><h2 id="9-%D0%B2%D0%B0%D1%80%D1%96%D0%B0%D0%B1%D0%B5%D0%BB%D1%8C%D0%BD%D1%96%D1%81%D1%82%D1%8C-%D0%BA%D0%BE%D0%BD%D1%84%D1%96%D0%B3%D1%83%D1%80%D0%B0%D1%86%D1%96%D1%97-%D0%BA%D0%B0%D1%81%D1%82%D0%BE%D0%BC%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%8F">9. Варіабельність конфігурації, кастомізація</h2><p>Під замовлення можна зібрати робочу станцію згідно із запитом на характеристики. Наприклад, Prime PC легко і швидко виготовляє як прості офісні конфігурації ПК, так і потужні робочі станції для специфічних задач.</p><h2 id="10-%D1%88%D0%B2%D0%B8%D0%B4%D0%BA%D1%96%D1%81%D1%82%D1%8C-%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D1%87%D0%B0%D0%BD%D0%BD%D1%8F">10. Швидкість постачання</h2><p>Як свідчить досвід нашої компанії, зокрема воєнного часу, виробити та передати замовнику кілька сотень стаціонарних комп’ютерів — набагато швидше і реальніше, ніж за той самий час знайти та доставити аналогічну кількість ноутбуків із необхідними характеристиками.</p><p>І наостанок хочеться нагадати, що підтримка національного виробника, особливо в такі важкі часи, — це завжди пріоритет. Наша компанія вже понад 20 років забезпечує найбільших замовників в Україні надійною та сучасною комп’ютерною технікою та має всі необхідні сертифікати міжнародної стандартизації.</p><p>Персональні комп’ютери та інші сучасні гаджети, зроблені в Україні? Так, це реально. А ще — інноваційно та відповідно до потреб будь-якого споживача.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ За даними НБУ, у 2022 році було здійснено понад 50 кібератак на ресурси Національного банку України та 200 — на банківські. За нашими даними, на фінансові компанії України здійснюється не менше кібератак.

Хоча ми далеко не про всі із них знаємо, адже бізнес успішно з ними справляється. Проте кіберзагрози під час ]]></description>
        <link>https://proit.ua/kibierzakhist-pid-chas-viini-vikliki-ta-rishiennia/</link>
        <guid isPermaLink="false">66dd457cf40b864e9de09594</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Григорій Лісничий ]]></dc:creator>
        <pubDate>ср, 11 вер 2024 14:00:21 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/09/587.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>За даними НБУ, у 2022 році було здійснено понад 50 кібератак на ресурси Національного банку України та 200 — <a href="https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://www.facebook.com/NationalBankOfUkraine/posts/pfbid08SCeuHQzeuLxPMefkEUyATx17dUYk9vUh11XF7gwLJy788F5iXk5PCTVA4nebMJul?locale%253Duk_UA%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1725780858357802%26amp;usg%3DAOvVaw1ZuP7kPuRUq5S4xMgDyEft&amp;sa=D&amp;source=docs&amp;ust=1725780858374737&amp;usg=AOvVaw2UuNx7NVawq6LNa6JUKMjS">на банківські</a>. За нашими даними, на фінансові компанії України здійснюється не менше кібератак.</p><p>Хоча ми далеко не про всі із них знаємо, адже бізнес успішно з ними справляється. Проте кіберзагрози під час війни можуть мати катастрофічні наслідки.<strong> </strong>Серед них — фінансові втрати, збої та компрометація персональних даних. Їхня кінцева мета — дестабілізація економіки в умовах війни.</p><p>Для банків і фінансової сфери кібератака взагалі може поставити під сумнів репутацію та навіть існування бізнесу.</p><p>Що українські компанії роблять для того, щоб забезпечити собі та своїм клієнтам багаторівневий кіберзахист?</p><h2 id="%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%96-%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%D0%B8-%D0%BA%D1%96%D0%B1%D0%B5%D1%80%D1%81%D1%82%D1%96%D0%B9%D0%BA%D0%BE%D1%81%D1%82%D1%96-%D1%84%D1%96%D0%BD%D0%B0%D0%BD%D1%81%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE-%D1%81%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D1%83">Основні принципи кіберстійкості фінансового сектору</h2><h3 id="%D1%84%D1%96%D0%B7%D0%B8%D1%87%D0%BD%D0%B0-%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D0%BA%D0%B0">Фізична безпека</h3><p>Ще на початку повномасштабного вторгнення Національний банк України дозволив гравцям фінансового ринку розміщувати свою інфраструктуру та сервіси у хмарних сервісах і дата-центрах на території Європейського Союзу.</p><p>Це рішення стало одним із ключових у забезпеченні безперервної діяльності фінансового сектору, адже стало можливим використовувати європейські дата-центри та публічні хмарні сервіси: Amazon, Google Cloud, Azure та інші. У перші тижні й місяці війни український бізнес робив проєкти міграції, які раніше планувалися і впроваджувалися роками.</p><p>Цей підхід дав змогу компаніям мінімізувати ризики, пов’язані з фізичною безпекою ІТ-інфраструктури та забезпечити доступність і надійність послуг для своїх клієнтів.</p><p>До того ж у перший рік повномасштабного вторгнення більшість хмарних провайдерів надавали безоплатну можливість українським бізнесам користуватися хмарними послугами. Знаю, що дуже багато фінансових компаній скористалися такою можливістю.</p><h3 id="%D1%80%D0%B5%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%B0-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D1%96%D1%80%D0%BA%D0%B0">Ретельна перевірка</h3><p>Фінансові установи, серед них і NovaPay, давно впроваджують багаторівневі стратегії кіберзахисту. Фінансовий сервіс — це не тільки власний продукт і захищена інфраструктура, але й інтеграції з партнерами.</p><p>З початку війни ми повністю змінили підхід до побудови інтеграцій. Незважаючи на впевненість, що партнери максимально захищені, їх можуть атакувати в будь-який момент. Тому принцип Zero Trust вийшов на перший план.</p><p>Значно зріс і ризик фроду та шахрайських операцій. Компанії, шукаючи компроміс між зручністю користування та безпекою, обирають друге. Тому клієнтам не варто дивуватися додатковим запитам у мобільному застосунку про підтвердження тих чи інших фінансових операцій.</p><h3 id="%D0%BC%D1%96%D0%B6%D0%BD%D0%B0%D1%80%D0%BE%D0%B4%D0%BD%D0%B0-%D1%81%D0%BF%D1%96%D0%B2%D0%BF%D1%80%D0%B0%D1%86%D1%8F">Міжнародна співпраця</h3><p>Сучасні стратегії кібербезпеки передбачають обмін інформацією про атаки між міжнародними організаціями. Отримуючи інформацію, наприклад, від CSIRT і Cisco talos про нові потенційні вектори кібератак, можна завчасно впровадити компенсаційні заходи.</p><h2 id="%D0%B2%D1%96%D0%B4-%D0%BA%D1%96%D0%B1%D0%B5%D1%80%D0%B0%D1%82%D0%B0%D0%BA-%D0%BD%D1%96%D1%85%D1%82%D0%BE-%D0%BD%D0%B5-%D0%B7%D0%B0%D1%81%D1%82%D1%80%D0%B0%D1%85%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B9">Від кібератак ніхто не застрахований</h2><p>Навіть із цими заходами загроза кібератак залишається високою. Українська «кіберармія» успішно атакує ресурси агресора. Водночас супротивник не припиняє спроб здійснювати масштабні кібератаки на фінансові сервіси та критичну інфраструктуру України.</p><p>Це означає, що будь-яка компанія може в будь-який момент опинитися під загрозою фізичного знищення своїх ресурсів. Оскільки кібератаки спрямовані як на дата-центри, так і на окремі сервіси чи робочі станції.</p><p>Особливого значення нині набуває кібергігієна. Це не лише регулярне навчання співробітників принципів інформаційної безпеки, але й особиста кібергігієна кожного працівника. Маленькими, але послідовними діями можна досягти високого рівня захисту.</p><h3 id="%D0%B2%D0%B0%D0%B6%D0%BB%D0%B8%D0%B2%D1%96-%D0%BA%D1%80%D0%BE%D0%BA%D0%B8-%D0%B4%D0%BB%D1%8F-%D0%BF%D1%96%D0%B4%D0%B2%D0%B8%D1%89%D0%B5%D0%BD%D0%BD%D1%8F-%D0%BA%D1%96%D0%B1%D0%B5%D1%80%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D0%BA%D0%B8">Важливі кроки для підвищення кібербезпеки:</h3><ul><li><strong>Правильне використання паролів.</strong> Використовувати складні паролі, що складаються з різних символів, цифр і літер, регулярно їх змінювати та не використовувати однакові паролі для різних сервісів.</li><li><strong>Захист від фішингових атак. </strong>Не відкривати підозрілі листи та не переходити за сумнівними посиланнями. Перевіряти справжність відправника перед відкриттям вкладених файлів. Використовувати антифішингові програми для захисту від шкідливих посилань та електронних листів.</li><li><strong>Захист особистих даних. </strong>Не ділитися особистими даними через незахищені канали зв’язку. Використовувати двофакторну автентифікацію для доступу до важливих акаунтів. Шифрувати важливі файли та інформацію.</li><li><strong>Регулярне оновлення програмного забезпечення. </strong>Оновлювати операційні системи та програмне забезпечення до останніх версій. Використовувати <a href="https://proit.ua/rieitingh-antivirusiv-iak-zabiezpiechiti-maksimalnii-rivien-biezpieki-u-2024-rotsi/">антивірусні програми</a> й регулярно перевіряти пристрої на наявність шкідливих програм.</li><li><strong>Навчання та підвищення обізнаності. </strong>Регулярно проходити навчання з кібербезпеки та бути в курсі нових загроз.</li></ul><p>Кібергігієна має бути інтегрована у корпоративну культуру, де кожен працівник усвідомлює свою відповідальність. Послідовне виконання цих порад знижує ризики та підвищує загальний рівень захисту компанії.</p><p>Кіберзагрози можуть стати «чорним лебедем» і ладні зруйнувати цілу компанію. Тому організації повинні постійно адаптувати свої стратегії захисту, впроваджуючи нові заходи для протидії кібератакам. Адже від ефективності цієї роботи залежать не лише фінансові втрати компаній, але й життя людей.</p><p>Захист критичної інфраструктури, забезпечення безперебійної роботи фінансових сервісів — це ті завдання, які український бізнес повинен виконувати з максимальною відповідальністю та увагою до подробиць.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Однією з найперспективніших технологій для створення приватних та гібридних хмар стали гіперконвергентні інфраструктури (Hyperconverged Infrastructure, HCI).

За даними IDC, цей напрям хмарних технологій демонструє невпинне і стрімке зростання — від 0,9 мільярда доларів у 2015 році до 14 мільярдів доларів у 2022 році.

Крім очевидних переваг для операторів ЦОД на ]]></description>
        <link>https://proit.ua/ievoliutsiia-it-sistiem-vidpovid-azure-stack-hci-na-suchasni-vikliki/</link>
        <guid isPermaLink="false">66cb681841adce1680753f67</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Данилo Бєлов ]]></dc:creator>
        <pubDate>ср, 28 серп 2024 14:00:38 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/08/5121.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Однією з найперспективніших технологій для створення приватних та гібридних хмар стали гіперконвергентні інфраструктури (Hyperconverged Infrastructure, HCI).</p><p>За даними IDC, цей напрям хмарних технологій демонструє невпинне і стрімке зростання — від 0,9 мільярда доларів у 2015 році до 14 мільярдів доларів у 2022 році.</p><p>Крім очевидних переваг для операторів ЦОД на кшталт гнучкості, масштабованості, автоматизації та безпеки, гіперконвергентні інфраструктури мають і низку переваг перед класичними рішеннями для компаній, які працюють із великими навантаженнями.</p><p>Чому вигідно користуватись HCI і як вони допоможуть вашій роботі, читайте у цьому матеріалі.</p><h2 id="hci-%D1%89%D0%BE-%D1%82%D0%B8-%D1%82%D0%B0%D0%BA%D0%B5">HCI. Що ти таке?</h2><p>Конвергентною інфраструктурою називається програмно-апаратне рішення, що складається з кількох компонентів: серверів, що пройшли сертифікацію вендора, систем збереження даних та мережевого обладнання. Це в комплексі дозволяє створити систему оперування даними, що швидко розгортається та керується прозоріше за звичайні ІТ системи острівного типу.</p><p>Звичні комерційні дата-центри базуються на окремих автономних обчислювальних потужностях, системах зберігання даних, мережевих пристроях. Вони можуть надавати місце для оренди, наприклад.</p><p>Конвергентна система уніфікує менеджмент цих компонентів під єдиним «дахом». Саме завдяки цьому можна скоротити час розгортання нових систем, спростити та зменшити вартість користування і техпідтримку.</p><p>Що ж до гіперконвергенції, то це інтегрована структура, на відміну від конвергентної системи, де кожен компонент є логічним і не може використовуватися окремо.</p><p>Таким чином, у гіперконвергентній інфраструктурі (HCI) обчислювальні модулі, сховища даних, сервери та мережі об’єднані програмним забезпеченням. Оперувати такою системою може один адміністратор через спільну консоль.</p><p>Першою на ринок таке рішення вивела компанія-стартап Nutanix. Її Complete Cluster став першою гіперконвергентною інфраструктурою (Hyperconverged Infrastructure, HCI).</p><p>Конфігурації апаратної платформи доступні для будь-якого робочого навантаження шляхом гранульованого масштабування блоками (CPU+RAMM+SSD) і можуть бути надані з графічним процесором або без нього для графічного прискорення.</p><p>Один із варіантів, коли вузли оснащені флешпам’яттю для оптимізації продуктивності сховища, а вузли, що складаються виключно з флешпам’яті, забезпечують максимальну пропускну здатність введення-виводу із мінімальною затримкою для всіх корпоративних програм.</p><p>Крім розподіленої платформи зберігання та обчислень, рішення HCI також включають панель управління, що дозволяє легко адмініструвати ресурси HCI з єдиного інтерфейсу. Це усуває необхідність окремих рішень з управління серверами, сховищами, мережами зберігання та віртуалізацією.</p><p>У HCI реалізуються три типи масштабування: добре відоме за кластерами горизонтальне (scale out), за мейнфреймами та Unix-серверами вертикальне (scale up) та scale through.</p><p>Вертикальне масштабування реалізується завдяки додаванню апаратних модулів: процесорів, блоків пам’яті, що формують окремі вузли (ноди).</p><p>Його застосовують тоді, коли наявне «залізо» досягло своєї пікової продуктивності і не дозволяє збільшити потужність стеку. Таке рішення вимагає інвестування в hardware для постійного оновлення системи.</p><p>Організації використовують загальнодоступні хмарні сервіси, такі як Amazon Web Services (AWS), Microsoft Azure чи UCloud, для розгортання ІТ-застосунків для ведення свого бізнесу. Служби загальнодоступної хмари є гнучкими та дають змогу компаніям динамічно адаптуватися до потреб бізнесу.</p><p>Але попри підвищення гнучкості хмарні обчислення мають свої виклики. Створення та розгортання застосунків у публічних хмарах вимагає набору спеціальних навичок, які відрізняються від навичок традиційних ІТ-команд, тож потрібно долучати фахівців певного профілю.</p><p>Крім того, використання ресурсів загальнодоступної хмари може обходитися дорожче, аніж використання локальної інфраструктури.</p><h2 id="%D0%B2-%D1%87%D0%BE%D0%BC%D1%83-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3%D0%B8">В чому переваги?</h2><p>Як зазначалося вище, HCI пропонує простішу систему обслуговування даних, зменшення витрат, вищу продуктивність у компактнішому форм-факторі за рахунок оптимізації використання «заліза», зростання продуктивності IT-команд. Така система швидко розгортається, демонструє високу продуктивність і стійкість до відмов.</p><p>Також HCI об’єднує в один кластер необхідну кількість модулів, яка виходить із потреб компанії, високу гнучкість обсягів сховища, програмних та апаратних потужностей. Це дозволяє максимально ефективно виконувати одночасно декілька робочих навантажень будь-якої інтенсивності.</p><p>Ще однією перевагою HCI є компактність. Завдяки скороченню кількості типових стеків до блоків, що об’єднують у собі апаратно-програмну інфраструктуру, можна отримати аналогічні обчислювальні потужності на значно меншій площі.</p><p>Також такий сервіс легко масштабується, що дозволяє без особливих складнощів нарощувати необхідну потужність.</p><p>На ринку серед таких рішень часто використовують Azure Stack HCI. Перевагою цього рішення є й те, що Microsoft постійно розвиває свої продукти, розширює географію і програмну потужність сервісу, а також має свій R&amp;D для цієї технології.</p><p>Такі рішення більш вигідні, якщо порівнювати з класичними. Щоб розгорнути працюючу гіперконвергентну інфраструктуру, може бути достатньо 3 серверів, 1 комутатора, стійки та 1 безперебійника. В аналогічній класичній інфраструктурі сюди потрібно додати ще дискове сховище, виділити окремий фізичний простір.</p><p>Ефективна робота на HCI рішеннях компенсується використанням програмних технологій, а не апаратних. Тобто програмна мережа, програмне дискове сховище, програмні пули ядер і пам’яті. Завдяки цьому воно компактне й ефективне.</p><p>Ще однією перевагою є простота ліцензування рішення та можливість отримати програмний продукт у тест самостійно. А після успішного тестування — прозоро сплачувати за користування ним через провайдера.</p><p>Azure Stack HCI вигідно використовувати тим компаніям, кому потрібно розгортати зв’язані або граничні інфраструктури у різних країнах.</p><p>Розберемо на прикладі нашої компанії. UCloud працює з дата-центрами в Україні та Польщі. Тобто частина нашої технічної бази розташована у Києві, частина — у Варшаві.</p><p>Нам потрібно, аби дані знаходились близько до кінцевого користувача і швидко у нього відтворювались. Маючи рознесену по країнах інфраструктуру, ми у певній країні розгортаємо екземпляри (instances) і об’єднуємо все в єдину мережу для адміністратора замовника. Так все буде швидше працювати для замовника і його працівників. Нам вдається досягати 55k IOPS проти 5к для віртуальної машини за конкурентнішою ціною.</p><p>Тож якщо потрібно робити запуск периферійних робочих навантажень, VDI, SQL Server, кластера Kubernetes, можна скористатися Azure Stack HCI.</p><p>До того ж цим рішенням буде легко користуватися тим адміністраторам, хто знайомий із Hyper-V — платформою віртуалізації Microsoft.</p><h2 id="%D1%87%D0%B8-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%BE%D0%B2%D1%83%D1%8E%D1%82%D1%8C-hci-%D0%B2-%D1%83%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%96">Чи використовують HCI в Україні?</h2><p>Актуальних досліджень щодо HCI в Україні бракує. Однак існує деяка інформація про ринок, яку експерти збирали ще до початку повномасштабного вторгнення.</p><p>За <a href="https://www.facebook.com/DXagent/photos/a.1596893970527581/2995823910634573/?type=3&amp;paipv=0&amp;eav=Afae1neQFud5Wkt_5uIrIkzuuETmLxhMa9GbjkVHfz15FtMs0J_nnWBdj97WhS-ZGPg&amp;_rdr">даними</a> консалтингової компанії DX Agent, у 2019 році ринок HCI досяг позначки майже в 11 мільйонів доларів. Однак впродовж наступного року відразу зменшився на 40%.</p><p>Як стверджує дослідження, найбільший попит на гіперконвергентні системи серед українських систем у фінансовому секторі, мобільному телекомі, ритейлі та державних органах на кшталт Пенсійного фонду.</p><h2 id="%D0%B4%D0%BB%D1%8F-%D1%87%D0%BE%D0%B3%D0%BE-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D1%96%D1%8F%D0%BC-%D1%80%D1%83%D1%85%D0%B0%D1%82%D0%B8%D1%81%D1%8C-%D1%83-%D0%B3%D1%96%D0%BF%D0%B5%D1%80%D0%BA%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D0%B3%D0%B5%D0%BD%D1%82%D0%BD%D1%96-%D1%96%D0%BD%D1%84%D1%80%D0%B0%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B8">Для чого компаніям рухатись у гіперконвергентні інфраструктури?</h2><p>Тут є проста аргументація. Припустимо, частиною стратегії компанії є робота з різними хмарами. І йдеться тут не про переходи від одного провайдера до іншого лише через дешевші ціни. Йдеться про ситуацію, коли хмарна архітектура та використання мультихмарного середовища стають частиною філософії ІТ-компанії.</p><p>Коли компанія чітко розуміє, що отримує від кожної складової цієї стратегії та які нові виклики виникають з боку бізнесу або при плануванні рефакторингу. Саме тут може бути потенційна вигода від гіперконвергентної інфраструктури.</p><p>НСІ не є універсальним рішенням і не замінює AZURE за дуже вигідними умовами. Щоб зрозуміти це, просто порівняйте можливості, які можуть бути надані за такою ж ціною у глобальній хмарі.</p><p>Отримання приватної хмари за сервісною моделлю із прозорим ліцензуванням та можливістю отримувати необхідну потужність може стати ключовим в оптимізації вартості й ефективності ІТ.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em>‌‌</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Вихід компанії на міжнародний ринок — це новий рівень організації, що повʼязаний із багатьма викликами.

Під час запуску бізнесу за кордоном важливо врахувати безліч дрібниць: від офісу та персоналу до правової підтримки й особливостей місцевого ринку. Але часто підприємці забувають про обовʼязкову відповідність стандартам кібербезпеки.


Глобальні тренди на посилення кібербезпеки

Перше, ]]></description>
        <link>https://proit.ua/biez-kibierbiezpieki-niiak-shcho-mozhie-zavaditi-vikhodu-kompaniyi-na-mizhnarodnii-rinok/</link>
        <guid isPermaLink="false">66c229769d22856ea9597e50</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Дмитро Чуб ]]></dc:creator>
        <pubDate>пт, 23 серп 2024 14:00:56 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/08/person-working-nuclear-power-plant.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Вихід компанії на міжнародний ринок — це новий рівень організації, що повʼязаний із багатьма викликами.</p><p>Під час запуску бізнесу за кордоном важливо врахувати безліч дрібниць: від офісу та персоналу до правової підтримки й особливостей місцевого ринку. Але часто підприємці забувають про обовʼязкову відповідність стандартам кібербезпеки.</p><h2 id="%D0%B3%D0%BB%D0%BE%D0%B1%D0%B0%D0%BB%D1%8C%D0%BD%D1%96-%D1%82%D1%80%D0%B5%D0%BD%D0%B4%D0%B8-%D0%BD%D0%B0-%D0%BF%D0%BE%D1%81%D0%B8%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F-%D0%BA%D1%96%D0%B1%D0%B5%D1%80%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D0%BA%D0%B8">Глобальні тренди на посилення кібербезпеки</h2><p>Перше, що варто зрозуміти: кібербезпека — це не просто мінливий тренд, і навчити співробітників не переходити за незнайомими посиланнями.</p><p>Кіберзагрози щодня стають все небезпечніші та постійно змінюються, а тому уряди держав та компанії усіх розмірів і галузей активно інвестують у розвиток кіберзахищеності.</p><p>85% компаній <a href="https://www.pwc.com/us/en/services/consulting/cybersecurity-risk-regulatory/library/global-digital-trust-insights.html">планують </a>збільшувати свій бюджет на розвиток кібербезпеки. За останнє десятиріччя виникло більшість обов’язкових регуляцій у галузі кібербезпеки та безпеки даних, яким мають відповідати організації на ринках ЄС, Америки та Азії.</p><p>Як не дивно, для України попереду ще багато роботи в питаннях створення регуляцій кібербезпеки. З одного боку навіть західні партнери відзначають наш досвід боротьби з кіберзагрозами в межах кібервійни, але в нас досі немає обов’язкової сертифікації навіть для державних установ. Хоча за ініціативи USAID в межах проєкту “Кібербезпека критично важливої інфраструктури України” об'єкти критичної інфраструктури почали проходити перевірки на відповідність фреймворку кібербезпеки NIST CSF, де IT Specialist — це компанія, яка надає повний спектр відповідних послуг.</p><p>Станом на зараз Україна посідає <a href="https://ncsi.ega.ee/country/ua/">78 місце</a> у світовому рейтингу кібербезпеки.</p><p>Окрім захисту, відповідність стандартам кібербезпеки — це також питання репутації й довіри до вашої організації на міжнародному рівні.</p><p>Наприклад, <a href="https://www.cisco.com/c/dam/en_us/about/doing_business/trust-center/docs/cisco-cybersecurity-series-2021-cps.pdf">за даними CISCO</a>, для 86% опитаних важлива приватність їхніх даних, а 79% респондентів готові витрачати час і гроші, щоб убезпечити свої персональні дані.</p><p>Тож із якими регуляціями може зіткнутися бізнес під час виходу на міжнародні ринки?</p><h2 id="%D0%B7%D0%B0%D0%B3%D0%B0%D0%BB%D1%8C%D0%BD%D1%96-%D1%82%D0%B0-%D0%B3%D0%B0%D0%BB%D1%83%D0%B7%D0%B5%D0%B2%D1%96-%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%B8-%D0%BA%D0%BE%D0%B3%D0%BE-%D0%B2%D0%BE%D0%BD%D0%B8-%D1%81%D1%82%D0%BE%D1%81%D1%83%D1%8E%D1%82%D1%8C%D1%81%D1%8F">Загальні та галузеві стандарти: кого вони стосуються?</h2><p>Якщо ваш бізнес хоч якось взаємодіє з даними громадян ЄС, наприклад ваш вебсайт збирає персональні дані про них, вам доведеться дотримуватись вимог GDPR<strong> </strong>(General Data Protection Regulation, з англ. Загальний регламент про захист даних).</p><p>Його вимоги включають безпечне зберігання і прозорий збір та обробку персональних даних резидентів ЄС. У разі невідповідності компанія може зіткнутися із судовими позовами та штрафами або ж навіть зазнати витоку даних й отримати ще більші штрафні санкції. Наприклад, за 2023 рік організації зазнали штрафів на понад €<a href="https://www.dlapiper.com/en-gb/insights/publications/2023/01/dla-piper-gdpr-fines-and-data-breach-survey-january-2023">1,6 мільярда</a> через невідповідність GDPR.</p><p>Хороша новина полягає в тому, що достатньо лише сумлінно дотримуватися вимог GDPR, сертифікація для підтвердження не потрібна.</p><h2 id="soc-2">SOC 2</h2><p>Стандарт SOC 2 (System and Organization Controls) є важливим стандартом для компаній, які надають сервісні послуги іншим організаціям.</p><p>Він був розроблений Американським інститутом сертифікованих громадських бухгалтерів (AICPA) для оцінки контролю за безпекою, доступністю, цілісністю обробки, конфіденційністю і приватністю даних.</p><h3 id="%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81-%D0%B0%D1%83%D0%B4%D0%B8%D1%82%D1%83-%D0%B2%D1%96%D0%B4%D0%BF%D0%BE%D0%B2%D1%96%D0%B4%D0%BD%D0%BE%D1%81%D1%82%D1%96-soc-2-%D0%B2%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D1%94-%D1%82%D0%B0%D0%BA%D1%96-%D0%BF%D1%83%D0%BD%D0%BA%D1%82%D0%B8">Процес аудиту відповідності SOC 2 включає такі пункти:</h3><ul><li>Щоквартальне сканування вразливостей усіх внутрішніх систем. SOC 2 відстежує всі вразливості критичного та високого рівнів до моменту, коли вони будуть виправлені.</li><li>Використання інструментів управління журналами подій (log management) для виявлення інцидентів, які потенційно можуть вплинути на безпеку.</li><li>Тестування на проникнення (penetration testing) виконується щонайменше раз на рік. Розробляється план відновлення, а зміни для усунення вразливостей впроваджуються відповідно до SLA.</li></ul><h2 id="iso-27001">ISO 27001</h2><p>ISO 27001 є міжнародним стандартом, який визначає вимоги до системи управління інформаційною безпекою (СУІБ). Цей стандарт розроблено для захисту інформаційних активів організації та забезпечення їхньої конфіденційності, цілісності й доступності.</p><p>Сертифікація за стандартом ISO 27001 підтверджує, що компанія дбає про кібербезпеку та ефективно управляє ризиками інформаційної безпеки.</p><p>Знову ж цей стандарт не є обов’язковим до впровадження. Проте він може стати у пригоді організаціям, які беруть участь у тендерах на надання послуг, надаючи їм додатковий статус та переваги.</p><p>Крім того, ISO 27001 може стати чудовим путівником для організації у побудові ефективної СУІБ.</p><h2 id="%D1%81%D0%BF%D0%B5%D1%86%D1%96%D0%B0%D0%BB%D1%96%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D1%96-%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%B8-%D0%B7%D0%B0-%D0%B3%D0%B0%D0%BB%D1%83%D0%B7%D1%8F%D0%BC%D0%B8">Спеціалізовані стандарти за галузями</h2><p>Від загального перейдемо до конкретного.</p><p>Чи знали ви, що окремі галузі мають свої унікальні вимоги до кібербезпеки? Фінансові установи, медичні заклади — більша частина галузей, що має справу із персональними даними користувачів чи від діяльності якої залежать цілі країни або сектори економіки, зазвичай мають спеціальні вимоги з кібербезпеки.</p><h3 id="nis2-%D0%B4%D0%BB%D1%8F-%D0%BA%D1%80%D0%B8%D1%82%D0%B8%D1%87%D0%BD%D0%BE%D1%97-%D1%96%D0%BD%D1%84%D1%80%D0%B0%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B8-%D1%82%D0%B0-%D1%81%D0%B5%D1%80%D0%B2%D1%96%D1%81%D1%96%D0%B2-%D1%94%D1%81">NIS2 для критичної інфраструктури та сервісів ЄС</h3><p>Нова директива ЄС NIS2 (Network and Information Security Directive) спрямована на підвищення рівня кібербезпеки компаній, що надають критично-важливі послуги у ЄС. Вона в першу чергу стосується об’єктів та підприємств критичної інфраструктури. Також до її охоплення входять надавачі цифрових послуг і хмарних рішень, фінансовий сектор, хімічна та харчова промисловості тощо.</p><p>Розповсюдженим галузевим стандартом кібербезпеки є й PCI DSS (Payment Card Industry Data Security Standart, з англ. Стандарт безпеки даних індустрії платіжних карток). Причому походить він не від державних установ, а від платіжних систем VISA та Mastercard. Без нього компанії, які надають платіжні послуги чи обробляють дані платіжних карток, не зможуть проводити транзакції за посередництва цих компаній.</p><p>Однак директива не поширюється на компанії зі штатом менш ніж 50 осіб та річним оборотом меншим за €10 мільйонів або ж річний підсумковий баланс яких не перевищує €10 мільйонів.</p><p>Якщо ви думаєте, що кібербезпека стосується лише великих IT-компаній, то це не так: <a href="https://dataprot.net/statistics/cyber-security-statistics/">1 із 10 малих та середніх підприємств</a> зазнає кібератаки щорічно, а 75% не <a href="https://www.cnbc.com/2021/08/10/main-street-overconfidence-small-businesses-dont-worry-about-hacking.html">могли продовжувати свою діяльність</a> після зламу.</p><h3 id="%D0%B0%D0%BC%D0%B5%D1%80%D0%B8%D0%BA%D0%B0%D0%BD%D1%81%D1%8C%D0%BA%D0%B8%D0%B9-%D1%80%D0%B8%D0%BD%D0%BE%D0%BA-%D1%82%D0%B0-%D0%B9%D0%BE%D0%B3%D0%BE-%D0%BE%D1%81%D0%BE%D0%B1%D0%BB%D0%B8%D0%B2%D0%BE%D1%81%D1%82%D1%96">Американський ринок та його особливості</h3><p>Не менш важливою є кібербезпека, якщо ви плануєте працювати з американським ринком.</p><p>Так, за даними ISACA, в Америці <a href="https://www.isaca.org/about-us/newsroom/press-releases/2022/1-in-3-consumers-stopped-doing-business-with-a-company-known-to-have-compromised-cybersecurity">кожен третій клієнт</a> припиняє співпрацю з компанією, якщо в неї стався кіберінцидент.</p><p>Золотим стандартом для організації в США є фреймворк кібербезпеки NIST CSF і рівень відповідності йому. Це не обов’язково, але високий рівень відповідності стане конкурентною перевагою організації як перед клієнтами, так і перед партнерами, особливо коли йдеться про співпрацю з державними установами.</p><h3 id="%D1%83-%D1%81%D1%88%D0%B0-%D0%B4%D1%96%D1%8E%D1%82%D1%8C-%D1%81%D0%BF%D0%B5%D1%86%D1%96%D0%B0%D0%BB%D1%8C%D0%BD%D1%96-%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%86%D1%96%D1%97-%D0%B4%D0%BB%D1%8F-%D0%BF%D0%B5%D0%B2%D0%BD%D0%B8%D1%85-%D1%88%D1%82%D0%B0%D1%82%D1%96%D0%B2-%D1%87%D0%B8-%D0%B3%D0%B0%D0%BB%D1%83%D0%B7%D0%B5%D0%B9">У США діють спеціальні регуляції для певних штатів чи галузей:</h3><ul><li>CCPA (California Consumer Protection Ac) та CPRA (California Privacy Rights Act) — це свого роду аналог GDPR, але для резидентів штату Каліфорнія, що встановлює регуляції для обробки персональної інформації споживачів із Каліфорнії.</li><li>COPPA — цей акт вимагає від організацій, що надають послуги, спрямовані на дітей, отримувати від батьків згоду про збір й обробку персональних даних, а також регулює зберігання та використання таких даних.</li><li>HIPAA (Health Insurance Portability and Accountability Act) та HITECH (Health Information Technology for Economic and Clinical Health). Ці стандарти регулюють конфіденційність пацієнтів і визначають, як медичні дані мають бути захищені та передаватися в електронному вигляді.</li></ul><p>Перш ніж почати діяльність в іншій країні, необхідно глибоко дослідити не тільки юридичне поле, але й вимоги кібербезпеки, які мають здійснюватись залежно від сфери бізнесу. Наприклад, HIPPA та HITECH для медичної сфери в Америці чи NIS2 для хмарних сервісів у ЄС.</p><p>Варто пам’ятати: запускаючи бізнес за кордоном, важливо забезпечити відповідність як загальним нормам кібербезпеки країни, так і спеціальним вимогам вашої галузі.</p><p>Такий підхід не тільки захистить компанію від можливих санкцій та підвищить довіру з боку партнерів і клієнтів, але й допоможе запобігти потенційним фінансовим та репутаційним збиткам через кіберінциденти.</p><p>Витрати на підтримку відповідності стандартам та забезпечення захисту від кіберзагроз є інвестицією у стабільність та розвиток вашого бізнесу.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em>‌‌</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Штучний інтелект — це одне із найбільш спірних і дискутованих технологічних явищ сучасного світу.

Поява ШІ свого часу спричинила фурор. Одразу з’явилася безліч прогнозів щодо блискучого майбутнього штучного інтелекту та його застосування буквально в усіх аспектах життя людини.

З одного боку, ШІ полегшує працю та щоденне життя людини, а з ]]></description>
        <link>https://proit.ua/vikoristannia-shi-v-roboti-tiekhnologhichnikh-kompanii-pliusi-ta-minusi-na-suchasnomu-ietapi/</link>
        <guid isPermaLink="false">66c219619d22856ea9597d80</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Андрій Блощинський  ]]></dc:creator>
        <pubDate>пн, 19 серп 2024 14:00:37 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/08/futuristic-business-scene-with-ultra-modern-ambiance-2-3.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Штучний інтелект — це одне із найбільш спірних і дискутованих технологічних явищ сучасного світу.</p><p>Поява ШІ свого часу спричинила фурор. Одразу з’явилася безліч прогнозів щодо блискучого майбутнього штучного інтелекту та його застосування буквально в усіх аспектах життя людини.</p><p>З одного боку, ШІ полегшує працю та щоденне життя людини, а з іншого — загрожує зникненням десятків професій.</p><p>З одного боку, сприяє швидкому та ефективному рішенню задач, що вимагають великих обчислювальних потужностей, а з іншого — має багато негативних побічних ефектів (вплив на довкілля, енергоємність, етичні питання тощо).</p><p>Та як би ми не ставилися до ШІ, він вже став невід’ємною частиною нашого життя. Тут говоримо про всі види ШІ: ML, генеративний ШІ й так далі.</p><p>В ШІ інвестуються неабиякі гроші, а отже маємо результати та постійну еволюцію. Голосові асистенти, чатботи, вбудовані у пошуковики чати GPT (генеративний попередньо тренований трансформер) — це лише невеличка видима частина айсберга під назвою штучний інтелект.</p><h2 id="%D1%82%D0%BE%D0%B9-%D1%85%D1%82%D0%BE-%D1%80%D0%BE%D0%B7%D0%B3%D0%BB%D0%B5%D0%B4%D1%96%D0%B2-%D0%BF%D0%BE%D1%82%D0%B5%D0%BD%D1%86%D1%96%D0%B0%D0%BB-%D1%88%D1%96-%D1%80%D0%BE%D0%BA%D1%96%D0%B2-10-15-%D1%82%D0%BE%D0%BC%D1%83-%D1%81%D1%8C%D0%BE%D0%B3%D0%BE%D0%B4%D0%BD%D1%96-%C2%AB%D0%B7%D0%BD%D1%96%D0%BC%D0%B0%D1%94-%D0%B2%D0%B5%D1%80%D1%88%D0%BA%D0%B8%C2%BB">Той, хто розгледів потенціал ШІ років 10-15 тому, сьогодні «знімає вершки»:</h2><p>1. Минулого року відомі світові компанії, орієнтовані на ШІ, відзвітували про значний ривок у капіталізації (Microsoft, NVIDIA, Meta Platforms і Alphabet). Кількість компаній, які працюють у сфері штучного інтелекту в Україні, у 2023 році сягнула 243.</p><p>2. Дві українські AI-компанії стали єдинорогами. Це Grammarly та People.ai.</p><p>3. Широке застосування ШІ знаходить в «оборонці». Це автономні системи озброєння, спостереження та рекогносцировка, РЕБ, захист кібербезпеки й інше.</p><p>І це лише початок, як стверджують аналітики.</p><p>Проте є і дві суттєві перепони до розвитку ШІ, а одночасно загрози для сучасного світу. Так, ця технологія потребує величезних обчислювальних потужностей та енергетичних навантажень.</p><p>Щоб зрозуміти масштаб запитів ШІ на потужності, оцініть лише дві наведені цифри:</p><p>1. Під час створення GPT-3 було спожито 1287 мегават-годин електроенергії та викинуто 552 тонни CO2. Це еквівалентно 123 автомобілям, які працюють на бензині протягом року.</p><p>2. Споживання електроенергії у США із 2019 року збільшилось на 1%, і це збільшення пов’язують саме із розробкою ШІ.</p><p>Звісно, розробники ШІ постійно працюють над тим, щоб зробити моделі більш енергоефективними. Наприклад, Google DeepMind розробила нову технологію навчання ШІ під назвою JEST, яка у 13 разів швидша й у 10 разів енергоефективніша за аналогічні.</p><p>Також одним із найвагомішим «каменів спотикання» для розвитку генеративного ШІ у 2024 році став дефіцит чипів разом із потребою у великих обсягах «заліза», яких потребує штучний інтелект.</p><h2 id="%D0%B1%D0%B5%D0%B7%D0%B7%D0%B0%D0%BF%D0%B5%D1%80%D0%B5%D1%87%D0%BD%D0%B8%D0%BC%D0%B8-%D1%94-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3%D0%B8-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%B0%D0%BD%D0%BD%D1%8F-%D1%88%D1%96-%D1%83-%D1%81%D1%84%D0%B5%D1%80%D1%96-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D0%BE%D1%97-%D1%96%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D1%96%D1%97-%D1%8F%D0%BA-%D1%87%D0%B0%D1%81%D1%82%D0%B8%D0%BD%D0%B8-%D1%96%D1%82-%D0%B3%D0%B0%D0%BB%D1%83%D0%B7%D1%96">Беззаперечними є переваги використання ШІ у сфері системної інтеграції як частини ІТ-галузі:</h2><p>1. Штучний інтелект дуже помічний для оптимізації роботи операторів ЦОДів (для надання аналітичних звітів, підказок щодо регламентних робіт тощо).</p><p>2. ШІ може бути ефективно використаний в інфраструктурі датацентру — для оптимізації охолодження обладнання. Наприклад, Equinix підвищила енергоефективність свого центру обробки даних на 9% за допомогою охолодження на основі штучного інтелекту.</p><p>3. Ще один напрям, де ШІ знаходить зараз широке застосування в усьому світі, — це захист кіберпериметру, зокрема у структурі SOC.</p><p>Сьогодні в умовах «першої світової кібервійни» кібератаки на державні та приватні підприємства, датацентри, об’єкти критичної інфраструктури можуть тривати днями й тижнями. Задачі SOC і сучасних SOAR-систем полягають у тому, щоб вчасно розпізнати та зреагувати на кіберзагрозу.</p><p>Завдяки тому, що ШІ, який використовується в цих системах, здатний до самонавчання, він діє проактивно і розпізнає навіть ті атаки, які не були прописані у регламентах. І не лише розпізнає, але й швидко діє.</p><p>Як відомо швидкість реакції на кіберзагрозу — це левова частка успіху. Саме тому провідні вендори, продукцію яких застосовує у своїх проєктах наша компанія, використовують ШІ у своїх розробках: Microsoft, Cisco, Splunk, CrowdStrike та інші.</p><p>Яким буде штучний інтелект завтра, можемо лише фантазувати. Прогнози щодо його майбутнього корегуються чи не щодня.</p><p>Очевидно, що дуже скоро його розвиток буде обмежений фізичними законами й прорив на інший рівень стане неможливим без прориву технологічного. Наприклад, створення та широкого використання нанокомп’ютерів, на які ми всі так довго очікуємо.</p><p>У будь-якому випадку, попри всі негативні сторони сьогодні ШІ все ще лишається однією з найперспективніших розробок останніх років. Нам як фахівцям в ІТ-сфері він також допомагає вирішувати безліч рутинних задач. Отже це технологія, яка має великі перспективи й у всіх інших сферах життя людини.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em>‌‌</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Серед розробників ця тема доволі дискусійна. Одні впевнені, що практика цікава та корисна для командної роботи. Інші ж вважають, що в ній немає сенсу.

Переваги, недоліки та особливості парного програмування розглянемо далі.‌‌


Що таке парне програмування?

Це підхід, за якого девелопери кооперуються в пари і разом пишуть код.

Зазвичай практика ]]></description>
        <link>https://proit.ua/parnie-proghramuvannia-shcho-tsie-i-naskilki-iefiektivno-dlia-komandnoyi-roboti/</link>
        <guid isPermaLink="false">66b9045174e68df1c5ea5bac</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Ярослав Антіпов ]]></dc:creator>
        <pubDate>ср, 14 серп 2024 14:00:41 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/08/10953.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>Серед розробників ця тема доволі дискусійна. Одні впевнені, що практика цікава та корисна для командної роботи. Інші ж вважають, що в ній немає сенсу.</em></p><p><em>Переваги, недоліки та особливості парного програмування розглянемо далі.</em>‌‌</p><h2 id="%D1%89%D0%BE-%D1%82%D0%B0%D0%BA%D0%B5-%D0%BF%D0%B0%D1%80%D0%BD%D0%B5-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Що таке парне програмування?</h2><p>Це підхід, за якого девелопери кооперуються в пари і разом пишуть код.</p><p>Зазвичай практика використовується в Agile- та Scrum-командах. Адже парне програмування орієнтоване на структурування роботи. Хоча і в традиційній Waterfall-моделі така організація робочого процесу може спрацювати.‌‌</p><h2 id="%D1%83-%D0%BF%D0%B0%D1%80%D0%BD%D0%BE%D0%BC%D1%83-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%96-%D1%94-%D0%B4%D0%B2%D1%96-%D1%80%D0%BE%D0%BB%D1%96-%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80-%D1%96-%D0%BD%D0%B0%D0%B2%D1%96%D0%B3%D0%B0%D1%82%D0%BE%D1%80">У парному програмуванні є дві ролі: драйвер і навігатор</h2><p>Драйвер пише код, навігатор підказує, що і як робити, та в режимі реального часу відстежує помилки. Під час сесії розробники постійно міняються ролями, наприклад, щопівгодини. Це класичний підхід.</p><p>У мене ж був досвід, коли до кодингу долучалися троє розробників. Один пише на 15-20 хвилин, інші асистують, і потім ротація. На тому ж проєкті була схожа команда із п’ятьох фахівців, які теж одночасно працювали над кодом.‌‌</p><p>Тут ключова ідея — у спільному обговоренні рішення на нижньому рівні. За традиційної схеми роботи команда визначає лише високорівневі завдання.</p><p>Наприклад, дані йдуть із точки A в точку B через точку C. А при парному програмуванні ви разом і при створенні коду обираєте формат даних, оптимізуєте його та перевіряєте, щоб все працювало згідно з очікуваннями.</p><p>Навіть якщо на верхньому рівні ідея хороша, на нижньому можуть з’явитися баги. Тож наявність ще одного девелопера поряд підвищить шанси знайти потенційні проблеми. Фактично це код-рев’ю «‎у прямому ефірі».‌‌</p><h3 id="%D1%8F%D0%BA-%D0%BF%D1%96%D0%B4%D1%96%D0%B1%D1%80%D0%B0%D1%82%D0%B8-%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D0%BD%D0%B8%D0%BA%D0%B0-%D0%B2-%D0%BF%D0%B0%D1%80%D1%83">Як підібрати розробника в пару?</h3><p>Фахівців слід обирати ретельно. Важливо все: спеціалізація, досвід, роль на проєкті, темперамент, особисті відносини тощо.</p><p>Головне, щоб ви з колегою мали приблизно однаковий рівень знань. Інакше є ризик виникнення непорозумінь. Наприклад, драйвер знає, що відбувається, і швидко виконує задачу сам, а навігатор не розуміє нічого і стає просто спостерігачем.</p><p>Особливо критичне поєднання джуна і сеньйора. Перший у ролі драйвера буде виконувати, що каже другий, а у ролі навігатора лише споглядати за напарником. Та й сеньйору це все видаватиметься нудним.‌‌</p><p>Але навіть якщо розробники одного рівня, це не вбереже від спірних моментів. Класична ситуація: обидва знають і розуміють код, але кожен пропонує своє рішення. Тоді девелопери чимало часу витрачають на обговорення нижнього рівня.</p><p>Погляньмо на цю проблему під іншим кутом. Як правило, розробники обговорюють рішення в коментарях під пул реквестом. Така комунікація буває сильно розтягнутою в часі. Залучені девелопери можуть не відразу відповідати на питання, оскільки банально перебувають у різних часових зонах і пишуть, коли зручно.</p><p>Перевага парного програмування — є можливість сходу вирішити спірний момент і розробити рішення, яке позбавить заминок у майбутньому.‌‌</p><p>Якщо ж пара не може обрати єдиний спосіб реалізації, варто звернутися до більш досвідченого фахівця або до колеги зі знанням конкретної технології. Це може бути хтось із вашої команди або з боку замовника.‌‌</p><p>Раджу орієнтуватися на принципи Agile. Не можете зробити ідеально? Робіть так, щоб працювало тут і зараз. Працюючий продукт є головним показником прогресу. Це також допоможе уникнути конфліктів у команді.</p><p>Розробники завжди мають розуміти, що працюють не заради власного его, а для написання якісного коду, який і покликаний розв’язувати проблеми користувача.‌‌</p><h3 id="%D1%8F%D0%BA-%D0%B2%D0%B8%D0%B3%D0%BB%D1%8F%D0%B4%D0%B0%D1%94-%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81-%D0%BF%D0%B0%D1%80%D0%BD%D0%BE%D0%B3%D0%BE-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Як виглядає процес парного програмування?</h3><p>Починайте з розбору тікету, над яким будете працювати. Це дозволяє парі обговорити та спланувати верхній рівень роботи.</p><p>Визначте, де і який код буде знаходитись, де і які компоненти потрібно створити, які функції потрібні та де вони мають знаходитись.‌‌</p><p>Наступний крок — визначити періодичність ротації. Зміна ролей залежить від багатьох факторів. Наскільки складна задача? Наскільки кожен із розробників знається на тій чи іншій частині проєкту? Хто має більше досвіду з обраними технологіями?‌‌</p><p>У деяких випадках комусь доведеться більше працювати як драйвер або ж як навігатор. Інколи хтось у парі може сказати: «‎Я це добре знаю, дай мені, швидко зроблю сам». Не сприймайте ролі як догму, не обов’язково чекати своєї зміни.</p><p>Можете змінювати ролі відповідно до ситуації. Буває, що пара може взагалі розпаралелитись. Якщо ж навігатору нічого робити, він може за узгодженням сторін почати працювати над іншою частиною задачі.‌‌</p><p>Що стосується організаційних моментів, то в ідеалі розробники перебувають в одній кімнаті та мають, наприклад, дві сесії по 3 години на день. Вони працюють за одним комп’ютером і передають один одному клавіатуру та мишку або ж ноутбук при зміні ролей.</p><p>У реальності ж це подекуди складно реалізувати. У мене був досвід такого програмування з колегами зі Сполучених Штатів. Ми мали лише чотири години спільного часу на день. На додачу доводилося використовувати Zoom для спілкування та Visual Studio Code Live Share для шерінгу коду. Всім важливо було мати однаковий сетап.‌‌</p><h3 id="%D0%B7%D0%BC%D1%96%D0%BD%D0%B0-%D1%80%D0%BE%D0%BB%D0%B5%D0%B9">Зміна ролей</h3><p>На мій погляд, парне програмування варто зробити постійним на проєкті. Так у вас усі тікети будуть проходити один і той же флоу. Це організаційно простіше, бо команда не намагатиметься вигадувати нове для кожного тікету.</p><p>Звичайно, не без винятків. Парне програмування має недоліки, через які в деяких випадках виявляється малоефективним. Про це окремо поговоримо згодом.‌‌</p><p>Повертаючись до роботи в парі, зверніть увагу, що напарник може бути як постійними, так і змінюватися час від часу. Це питання комфорту.</p><p>Якщо людям подобається працювати разом і вони ефективні, то краще залишити їх сталим «дуетом». Якщо ж людина хоче працювати один тиждень з одним колегою, а наступний — з іншим, то чому б і ні? Нормальна ситуація, яка може піти на користь обом розробникам.‌‌</p><p>Пам’ятайте, що колега може «випасти» з робочого процесу. У житті трапляються лікарняні, відпустки, несинхронізовані вихідні. В будь-якому випадку робота не має зупинятися.</p><p>Якщо відсутність одного з розробників нетривала, інший може повернутися до індивідуального кодингу. Якщо ж пауза затягується, краще знайти тимчасового партнера. Так ви збережете темп і якість роботи.‌‌</p><p>Окрема частина процесу — оверв’ю для нового партнера або для колеги, який брав паузу у роботі. Розкажіть, над якими тікетами зараз працюєте, на якому ви етапі, чому обрали ті чи інші рішення, які результати.</p><p>Знову ж таки: комунікація майже в режимі 24/7 є основою для ефективного парного програмування. Не може бути так, що один пише, а інший, грубо кажучи, скролить стрічку соцмережі. І повернувшись до парного програмування, і при зміні пари обговорюйте якомога більше деталей.</p><p>Добре, коли кожен знає особливості різних частин проєкту. Хорошою практикою є передача фіч між парами. Це дає змогу розшарити знання про застосунок чи платформу, над якою працює команда, що особливо корисно у великих проєктах.‌‌</p><h2 id="%D1%8F%D0%BA-%D0%BF%D0%BE%D0%BA%D1%80%D0%B0%D1%89%D0%B8%D1%82%D0%B8-%D0%BD%D0%B0%D0%B2%D0%B8%D1%87%D0%BA%D0%B8-%D0%BF%D0%B0%D1%80%D0%BD%D0%BE%D0%B3%D0%BE-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F%E2%80%8C%E2%80%8C">Як покращити навички парного програмування?‌‌</h2><h3 id="%D1%80%D0%BE%D0%B7%D0%B2%D0%B8%D0%B2%D0%B0%D0%B9%D1%82%D0%B5-%D1%81%D0%BE%D1%86%D1%96%D0%B0%D0%BB%D1%8C%D0%BD%D1%96-%D0%B7%D0%B2%E2%80%99%D1%8F%D0%B7%D0%BA%D0%B8">Розвивайте соціальні зв’язки</h3><p>Не обмежуйтеся написанням коду. Знаходьте час, щоб попити каву разом, обговорити життєві дрібниці: вихідні, фільми, хобі. Так ви будете спокійніше працювати разом і знаходити компроміси.</p><p>Хибний підхід — зациклюватися на своєму «я» і зневажати партнера. Ви вдвох відповідальні за код. Навіть початківець інколи пропонує щось цікаве чи розповідає про незнайомий вам підхід до роботи.‌‌</p><h3 id="%D1%81%D0%BF%D1%96%D0%BB%D0%BA%D1%83%D0%B9%D1%82%D0%B5%D1%81%D1%8F-%D0%BF%D1%96%D0%B4-%D1%87%D0%B0%D1%81-%D0%BF%D0%B0%D1%80%D0%BD%D0%B8%D1%85-%D1%81%D0%B5%D1%81%D1%96%D0%B9">Спілкуйтеся під час парних сесій</h3><p>Незалежно від ролі проговорюйте всі свої дії. Якщо ви драйвер, розповідайте, що пишете, і чому. Інколи ви навіть самі відразу будете усвідомлювати, де криється проблема.</p><p>У ролі навігатора аналізуйте код напарника та запитуйте, чому він робить так, а не інакше. Ви маєте розвивати критичне мислення й шукати сенс у своїх діях і діях партнера.‌‌</p><h3 id="%D0%BD%D0%B5-%D1%81%D0%BF%D1%80%D0%B8%D0%B9%D0%BC%D0%B0%D0%B9%D1%82%D0%B5-%D0%BA%D0%BE%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%80%D1%96-%D1%8F%D0%BA-%D0%BC%D1%96%D0%BA%D1%80%D0%BE%D0%BC%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%BC%D0%B5%D0%BD%D1%82">Не сприймайте коментарі як мікроменеджмент</h3><p>Парне програмування — це про деталі. Ви обговорюєте дрібниці, але завдяки цьому зменшуєте вірогідність виникнення багів.</p><p>Наприклад, драйвер фільтрує масив, а навігатор каже: «‎Тут пропущено кейс, потрібен чейндж». Або взагалі ви забули крапку з комою, використали не той протокол, не переназвали змінну. Ці ж коментарі ви б отримали в код-рев’ю. Часом, ніхто і не помітить проблему, але рано чи пізно десь вона себе проявить.‌‌</p><h2 id="%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3%D0%B8-%D1%82%D0%B0-%D0%BD%D0%B5%D0%B4%D0%BE%D0%BB%D1%96%D0%BA%D0%B8-%D0%BF%D0%B0%D1%80%D0%BD%D0%BE%D0%B3%D0%BE-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Переваги та недоліки парного програмування</h2><h3 id="%D0%B7%D0%B0-%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE%D1%97-%D0%BE%D1%80%D0%B3%D0%B0%D0%BD%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%97-%D0%BF%D0%B0%D1%80%D0%BD%D0%B5-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%BC%D0%B0%D1%94-%D1%81%D1%83%D1%82%D1%82%D1%94%D0%B2%D1%96-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3%D0%B8">За правильної організації парне програмування має суттєві переваги:</h3><ul><li><strong>Вища якість коду.</strong> Обговорення навіть низькорівневих рішень підвищує шанс одразу обирати кращі рішення. При цьому частковий код рев’ю відбувається прямо під час створення коду, що зменшує кількість примітивних помилок.‌‌</li><li><strong>Розподілення знань.</strong> При роботі в парах усі в команді знатимуть, чому обрані ці рішення. Тобто люди розуміють ідею коду та чому він написаний саме так. Це забезпечує гнучкість команди й знижує вірогідність дублювання коду.‌‌</li><li><strong>Мінімізація координації поза сесіями.</strong> При парному програмуванні природно зменшується кількість традиційної комунікації типу коротких мітингів. Хоча, звичайно, вони не зникнуть цілком, оскільки є потреба в обміні знаннями поза парами.‌‌</li><li><strong>Вищий рівень дисципліни.</strong> Коли розробник пише код наодинці, є ризик, що він буде відволікатися на інші справи. Але якщо фахівці працюють разом, то це допомагає обом утримуватися в межах робочого процесу й конкретної таски.‌‌</li><li><strong>Навчання на практиці.</strong> Програмування в парі можна розглядати як навчання. І не тільки новачків, а й досвідчених фахівців. Але це не обов’язково будуть глобальні речі. Можна вивчати й дрібниці: нові хоткеї, оператори тощо.‌‌</li><li><strong>Міцніше відчуття командної роботи.</strong> Щільна співпраця допомагає формуванню команди. Це ж не дейліки на 15 хвилин, де ви перекидаєтесь лише парою слів! У парному програмуванні більше часу на соціальні інтеракції поза межами робочих тем.‌‌</li></ul><h3 id="%D0%BE%D0%B4%D0%BD%D0%B0%D0%BA-%D0%BF%D0%B0%D0%BC%E2%80%99%D1%8F%D1%82%D0%B0%D1%94%D0%BC%D0%BE-%D1%96-%D0%BF%D1%80%D0%BE-%D0%BD%D0%B5%D0%B4%D0%BE%D0%BB%D1%96%D0%BA%D0%B8-%D1%86%D1%8C%D0%BE%D0%B3%D0%BE-%D0%BF%D1%96%D0%B4%D1%85%D0%BE%D0%B4%D1%83%E2%80%8C%E2%80%8C">Однак пам’ятаємо і про недоліки цього підходу:‌‌</h3><ul><li><strong>Нижча продуктивність на проєкті.</strong> Два розробники пишуть код, який із приблизно такою ж швидкістю міг би писати один. Звичайно, якість вище, але не кожен замовник погодиться на додаткові витрати та зайве очікування.‌‌</li><li><strong>Складність вибору пари.</strong> Важко знайти розробників з однаковим рівнем знань, які швидко та з комфортом для себе працюють у парі. А деяким людям взагалі не зручно при написанні коду так багато спілкуватись із кимось.‌‌</li><li><strong>Можливі проблеми із доступом до напарників.</strong> Складно скоординувати людей на один час. Завжди комусь треба до лікаря, хтось хоче обідати на годину раніше, у когось вранці спортзал. І це не кажучи про згадані вище відпустки або різні часові зони.‌‌</li></ul><h3 id="%D0%BA%D0%BE%D0%BB%D0%B8-%D0%BA%D1%80%D0%B0%D1%89%D0%B5-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%BE%D0%B2%D1%83%D0%B2%D0%B0%D1%82%D0%B8-%D0%BF%D0%B0%D1%80%D0%BD%D0%B5-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Коли краще використовувати парне програмування?</h3><p>Вважається, що парне програмування не дуже підходить для рутинних задач, мовляв, це механічна робота з готовими компонентами та інструментами. У такому разі немає сенсу залучати двох розробників.</p><p>Хоча з досвіду скажу: і з простими тасками можна працювати в парі. Один пише задачу, другий — юніт-тест до неї.</p><p>Так, це не парне програмування в чистому вигляді, але теж ефективне поєднання зусиль. Зазвичай примітивні тікети краще ділити між розробниками. Паралельна робота забезпечує швидкий темп розробки.‌‌</p><p>У цілому ж парне програмування не є поширеною практикою. Кілька років тому воно було популярніше, але сьогодні багато задач розробник може реалізувати самостійно, швидко і досить якісно.</p><p>З одного боку, дедалі більше з’являється бібліотек і фреймворків для не базових задач. З іншого — ви завжди можете звернутися по допомогу до ChatGPT або Copilot, які замінюють напарника-навігатора.‌‌</p><p>Як на мене, парне програмування чудово підходить для задач «на подумати». У нестандартних тасках двоє людей можуть швидше знайти креативне рішення.</p><p>Підхід добре працює на початкових стадіях проєкту чи фічі. На старті фахівці зможуть продуктивно закласти «‎кістяк» майбутньої роботи, передбачити та спробувати уникнути потенційних проблем на рівні концепції чи архітектури, продумати інтеграції у проєкт. Тож приводів для парного програмування вистачає.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em>‌‌</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Уявіть, нібито ви розмовляєте з книжкою, заглиблюєтеся в основні ідеї та досліджуєте нюанси, яких часто немає в анотаціях. BookNote.AI перетворює цей сценарій на реальність, даючи змогу осягнути суть книги та вирішити, чи варта вона вашого часу.


Історія створення BookNote.AI

WebLab Technology — це команда AI-інженерів, яка прагне розширювати межі ]]></description>
        <link>https://proit.ua/shtuchnii-intieliekt-knizhki-iak-mozhna-transformuvati-protsies-znaiomstva-z-knizhkami-chieriez-siervis-booknote-ai-vid-weblab-technology/</link>
        <guid isPermaLink="false">669665f388f4c05c96d691ff</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Олександр Книга ]]></dc:creator>
        <pubDate>пт, 19 лип 2024 14:00:13 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/07/2150061756.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Уявіть, нібито ви розмовляєте з книжкою, заглиблюєтеся в основні ідеї та досліджуєте нюанси, яких часто немає в анотаціях. <a href="http://booknote.ai">BookNote.AI</a> перетворює цей сценарій на реальність, даючи змогу осягнути суть книги та вирішити, чи варта вона вашого часу.</p><h2 id="%D1%96%D1%81%D1%82%D0%BE%D1%80%D1%96%D1%8F-%D1%81%D1%82%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F-booknoteai">Історія створення BookNote.AI</h2><p><a href="https://www.weblab.technology/">WebLab Technology</a> — це команда AI-інженерів, яка прагне розширювати межі в таких галузях, як Conversational AI, AI Agents, Reinforcement Learning та Generative NLP. Окрім наших технологічних захоплень, ми любимо віддавати свою увагу книжкам, які, зокрема, ще й формують нашу культуру.</p><p>Політика «необмежених книг», яку ми лагідно називаємо «книжкові черв'яки», надає кожному члену команди доступ до широкого спектра книг будь-якою мовою, незалежно від того, чи це робоча література, чи ні. Ця політика допомогла зібрати нам різноманітну бібліотеку, що відображає нашу віру в те, що знання не повинні мати кордонів.<br></p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXdrZh5UJ7ioLjn0ZUhFS1VR9E9j4W_B9TCuKTm9nw3M5NfVoH7KHkkcANUyvqnldvnem6erJqvYoZRvA9zlnyS_488xN4aRj_9-wjLrqeWJsKyE7UE4MVhLgLMTdTy-bkyS1yJaB12eBJCTSslfS8obq7EmDbhTovwg_QHMsDAJHtoXvNFiY_0?key=EFTURtfga9Q_RHHhYqSSuA" class="kg-image" alt loading="lazy" width="624" height="351"></figure><p><br></p><p>Вказана культура читання та інновації якраз і сформувала ідею <a href="http://booknote.ai">BookNote.AI</a>. Ми подумали: що, якби ми могли використати наш досвід у галузі ШІ для оптимізації пошуку книг? Що, якби ми могли створити інструмент, який не лише допомагає знайти цікаві книги, але й сприяє глибоким, змістовним дискусіям щодо них?</p><p>Так народилася <a href="http://booknote.ai">BookNote.AI</a> — платформа, покликана революціонізувати взаємодію з книгами, сприяючи глибшому зв'язку з літературою.</p><h2 id="%D1%89%D0%BE-%D0%B2%D1%96%D0%B4%D1%80%D1%96%D0%B7%D0%BD%D1%8F%D1%94-booknoteai">Що відрізняє BookNote.AI?</h2><p>Традиційний підхід ознайомлення з книжками, коли треба перечитати купу інформації, щоб вирішити, чи варто читати книжку чи ні, може відлякувати в наш час.</p><p>Відеоогляди, рецензії, короткий зміст — це все звісно існує, але список книжок зростає і зростає, поки людина намагається охопити всі ці формати знайомства з потенційними творами. Саме тут стають у пригоді так звані keynotes, які формуються під будь-яку книжку, яку ви відкриєте у BookNote.AI.</p><p>Вони розвʼязують кілька важливих питань:</p><ul><li>Обмеженість у часі: сучасне життя часто не лишає місця для тривалого читання. Keynotes дають контекст книги, що дозволяє не витрачати години на вивчення основних ідей.</li><li>Інформаційне перевантаження: серед величезної кількості книг важко вибрати ті, що справді варті уваги. Стислі огляди допомагають читачам зробити свідомий вибір.</li><li>Проблеми запам'ятовування: навіть якщо книга прочитана від початку до кінця, важко запам'ятати всі ключові моменти. Keynotes допоможуть тримати їх в купі і до них можна буде звернутися, коли в тому буде потреба.</li><li>Оптимальне прийняття рішень: для особистого чи професійного розвитку, розуміння основних концепцій книги може сприяти прийняттю кращих рішень та економії часу.</li></ul><p>Сервіси на кшталт <a href="https://www.getabstract.com/en/">GetAbstract,</a> <a href="https://www.blinkist.com/">Blinkist,</a> <a href="https://instaread.co/">Instaread</a>, <a href="https://www.getstoryshots.com/">Storyshots</a> і <a href="https://makeheadway.com/">MakeHeadway</a> конденсують книжковий контент, а BookNote.AI йде далі, реалізуючи інтерактивне, персоналізоване читання. Це забезпечує глибше усвідомлення.</p><p>Фактично книги можуть безпосередньо продемонструвати вам свою цінність під час розмови. Це унікальний підхід, з яким не можуть зрівнятися інші сервіси.<br></p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXfdmYLNQqJftXs5cYlmLJasikVoTiyxync9PLvlyJ1ufs18eJXlYs462CPAFfS1VoysQqua8p3fUUpUVhHugHMppF_9E0JZGnDPrpTThObxQGyk1VuBhCV-6xBsU645sPgnbT4-Wtap9V-aKe9qBDI9hG5LVhzn5hAva5hBlSJjrVl9-HZEmR0?key=EFTURtfga9Q_RHHhYqSSuA" class="kg-image" alt loading="lazy" width="624" height="351"></figure><p><br></p><p><a href="http://booknote.ai">BookNote.AI</a> надає можливість швидкого розкриття глибинних ідей будь-якої книги за допомогою ШІ, який вміє заглиблюватися у зміст і генерувати дійсно точні дискусії. Для видань, юридично захищених від індексації, ми підготували списки приміток і питань, сформованих вручну.<br></p><h2 id="%D1%96%D0%BD%D1%82%D1%83%D1%97%D1%82%D0%B8%D0%B2%D0%BD%D0%BE-%D0%B7%D1%80%D0%BE%D0%B7%D1%83%D0%BC%D1%96%D0%BB%D0%B8%D0%B9-%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81">Інтуїтивно зрозумілий процес:<br></h2><ol><li><strong>Шукайте й обирайте:</strong> легко знаходьте потрібну книгу на інтуїтивно зрозумілій сторінці пошуку.</li><li><strong>Долучайтеся та досліджуйте:</strong> пориньте в інтерактивне обговорення книги з нашим ШІ-асистентом.</li><li><strong>Вивчайте і прогресуйте:</strong> швидко вихоплюйте ключові ідеї, покращуючи розуміння та заощаджуючи час.<br></li></ol><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXdlJPOpA2J1lPRn8NPLhYmluyhySwmIHjfIle790QekcKwDqcwUtc6bLwgebnf4OUd4XjW1KDv0o5Zm39wcxUhImNabIu1d6qmeJ_v0gxNpdOo1ChND5Szz7s6F6IxKlrDkVXi8vvhTxBhH_HHIfD0pcw8AuO4h-j9iiU1scETpYbrKl7fn4Q?key=EFTURtfga9Q_RHHhYqSSuA" class="kg-image" alt loading="lazy" width="624" height="355"></figure><p>Можна вибрати будь-яку тезу для початку діалогу, вибрати з основних питань, пов'язаних із книгою, або поставити власні.<br></p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXc-C753V6i8ESkVRLFsgfbXaEyH-s3TGU17Xe2H1gaagJwHkhnCrCdWA2Vr1QUiqrU8Io7DNWFtj5nJNVrrtTrsOZ1nSlxUyUEvNNAOaA9VMj1l74kmeRG9qvO24IYosEl8wKQC5x2K35KOe3L87GeNkuD4PWoYcNgdkF2rmV25COxkoQS0nKY?key=EFTURtfga9Q_RHHhYqSSuA" class="kg-image" alt loading="lazy" width="624" height="152"></figure><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXfpxkrHX2wfAVs5dsZ20jQvX52irfFcJZiRsK6AmtgMuPa0XV14NTth2uDuVeu0DOJ_F6l_PPIUxTpsGDPypu8TMwb25Hzxt2QPkHMONLTJ63ONmTtKMGMg9X7x83042MbbJpY1ImKUhwqTpVqIfQfve5P4oeQn4_TuGGnKBGxC-oB2QD4xcUs?key=EFTURtfga9Q_RHHhYqSSuA" class="kg-image" alt loading="lazy" width="624" height="271"></figure><p>Виберіть питання чи тезу, що інтуїтивно цікавить вас, для кращого розуміння книги.<br></p><h2 id="%D1%96%D0%BD%D1%82%D0%B5%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D1%96%D1%81%D1%82%D1%8C-%D1%96-%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%8F-%D0%BD%D0%BE%D0%B2%D0%B8%D0%B9-%D0%BF%D1%96%D0%B4%D1%85%D1%96%D0%B4-%D0%B4%D0%BE-%D0%B2%D0%B7%D0%B0%D1%94%D0%BC%D0%BE%D0%B4%D1%96%D1%97-%D0%B7-%D0%BA%D0%BD%D0%B8%D0%B3%D0%B0%D0%BC%D0%B8">Інтерактивність і персоналізація: новий підхід до взаємодії з книгами</h2><p>Як ми згадували раніше, <a href="http://booknote.ai">BookNote.AI</a> розроблювали для взаємодії з книгами на новому рівні, який забезпечує персоналізований та захопливий досвід. І він не зупиняється на простих анотаціях. Завдяки ШІ ця платформа дає змогу вести динамічний діалог із книгою, відкриваючи основні теми, ідеї та відсилки.<br></p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXckNy5_aW2sWevseZHRUcd03FGfrv10K57Sn0MaxIqJkxmcvsmsbVDTU0cwYvrV7zYOnU-AsceBNn4AC6toicvoHtqBvPu34Xy7Pd6RH7eEZ0B4_B9Lcd0oBr3G_oDzJ3Q3rx0btvFqNVXz5e_RY_ae3G9PiUk_FWWpdhmtvIBu77BtXbVeSTs?key=EFTURtfga9Q_RHHhYqSSuA" class="kg-image" alt loading="lazy" width="624" height="49"></figure><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXe5JiLjV1r4q-Gxf9-t9_ibJcsIjDJLuR3xukd9RRkDoZRVHY3cin_zxwwKqAGFS0moWd1UrHXb6n2ZL_0UQuiMhGo6K1VC_DBlTFIzI9F_yIZqBOOMgZgpcJM0x0o8ycqcbTm4RKTqIlmvoJnk80GCsM3Y4oHkDC5d3ra4Gk0-QkrjPjMfB78?key=EFTURtfga9Q_RHHhYqSSuA" class="kg-image" alt loading="lazy" width="624" height="149"></figure><p><br></p><h2 id="%D0%B4%D0%BE%D0%B7%D0%B2%D0%BE%D0%BB%D1%8C%D1%82%D0%B5-%D0%BA%D0%BD%D0%B8%D0%B7%D1%96-%D0%B7%D0%B0%D1%86%D1%96%D0%BA%D0%B0%D0%B2%D0%B8%D1%82%D0%B8-%D0%B2%D0%B0%D1%81-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-%D1%96%D0%BD%D1%82%D0%B5%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%B5-%D1%81%D0%BF%D1%96%D0%BB%D0%BA%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Дозвольте книзі зацікавити вас через інтерактивне спілкування<br></h2><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXf04GAAJm2VNWs28tLdU9liZnA4n9iEEFRYjISB10IG0AbjmlMcTlvYwoRHQVA8nDiM0AyyYzLF9hzctrJFbJu2_vBLUpA6BD3vsc1nuBWnc0Urmit9CUzonhqBWFlzui5dBJZPaMIQO2oZLNLrviAAs5KiA7fzGel8BMIBJC-cpIml1HtWg_c?key=EFTURtfga9Q_RHHhYqSSuA" class="kg-image" alt loading="lazy" width="624" height="39"></figure><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXfOVaKKdBIzXgXVyxDR5I5zLUO6DItZ3PGO7srCmSEq_l2J-loPXaWvD6gQO1DQn0JwOCUui7UNswasqkXfzP7rQ1sH8gY_lQ4dGcBLrh-YtFD5TSR1wSL3MI8kTMmVOCMUZA1L7HaoXA_VAR2fSyN2VXT3KusZ713uNejuxIXFrxnxxT4THg?key=EFTURtfga9Q_RHHhYqSSuA" class="kg-image" alt loading="lazy" width="624" height="288"></figure><p><br></p><p>На відміну від статичних анотацій, наша платформа підтримує конкретні питання і двосторонній діалог, надаючи глибше розуміння змісту й тем книги. Це схоже на розмову з автором. Ви перебуваєте в контексті книги, що дозволяє дослідити її настільки ретельно, наскільки це потрібно.<br></p><p>Водночас <a href="http://booknote.ai">BookNote.AI</a> дає змогу легко ділитися читацьким досвідом з іншими. Нам завжди хочеться обговорити прочитане зі знайомими або ж зафіксувати примітні моменти, що стосуються ідей книги. На жаль, передати кожну деталь майже неможливо. Наша команда знайшла рішення, дозволивши ділитися взаємодією з ШІ, надсилаючи іншим посилання на діалог із книгою, а також виокремлювати певні моменти й показувати, як розвивався діалог.<br></p><h2 id="%D0%BF%D0%BE%D0%B3%D0%BB%D1%8F%D0%B4-%D0%B7%D1%81%D0%B5%D1%80%D0%B5%D0%B4%D0%B8%D0%BD%D0%B8-%D1%8F%D0%BA-%D0%BF%D1%80%D0%B0%D1%86%D1%8E%D1%94-booknoteai">Погляд зсередини: як працює BookNote.AI?<br></h2><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXfl2Cm48ear0zE-HCxyUBfP--JBp6w57xkfZ6rjN7r4PExKY-JZ5sn7KQiqP-MgGux4ftoruk6riPNla7Fj3CsKYa1nOv0C5nU8AticYj7P5M4D75cLxa2fLl2Jv8zGJDsvkEozGxX6xUEB6koBhpTzMYKG6JVUfjMqVYlcOZNFtC0lY1zAnYk?key=EFTURtfga9Q_RHHhYqSSuA" class="kg-image" alt loading="lazy" width="624" height="520"></figure><p><br></p><p>В основу <a href="http://booknote.ai">BookNote.AI</a> покладено ШІ-асистент, ретельно навчений зчитувати й аналізувати книги. Асистент є центральним елементом платформи та має чудові здібності до аналізу й інтерпретації тексту.<br></p><p>Коли ви починаєте обговорювати книгу, ШІ-асистент на базі LLM стає вашим провідником, використовуючи передові технології обробки природньої мови й узагальнення тексту.</p><p>Він пояснює основні ідеї та теми тексту й може адаптувати свої відповіді до будь-якого запитуваного стилю. Наприклад, якщо ви попросите його пояснити ідею з книги, наче п'ятирічній дитині, він надасть відповідь саме в такому форматі.<br></p><p>Ви перейдете від ролі пасивного спостерігача до ролі активного учасника діалогу з книгою. Ви визначаєте, як ШІ має представити контекст книги та в який спосіб.<br></p><p>Ми плануємо розповісти про роботу нашого рішення у наступних статтях. Зосередимося на розгляді конкретних компонентів, висвітлимо їхні функції та деталі. Ба більше, ми можемо надати відкритий доступ до нашого рішення, коли вважатимемо, що воно готове до поширення серед спільноти.<br></p><p><a href="https://www.weblab.technology/">WebLab Technology</a> є провідною B2B SaaS компанією та має понад 10 років досвіду у формуванні dedicated teams для складних проєктів. На чолі з <a href="https://www.linkedin.com/in/oleksandr-knyga/">Олександром Книгою</a> наша команда розпочала активну роботу з ШІ у 2019 році, беручись за класичні завдання евристичної оптимізації та проєкти комп'ютерного зору.<br></p><p>Спеціалізуючись на таких технологіях, як ШІ, хмарні сховища та SaaS, ми набули репутацію постачальника інноваційних та ефективних рішень для наших клієнтів, серед яких <a href="https://www.getshaman.com/">Shaman</a>, <a href="https://www.astrazeneca.com/">AstraZeneca</a>, <a href="https://www.bryj.ai/">Bryj</a> та <a href="https://www.emaar.com/">Emaar Properties</a>.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ У динамічному цифровому ландшафті впровадження штучного інтелекту (ШІ) у практику вебдизайну змінює концепцію, розробку та користувацький досвід. Вплив ШІ поширюється від покращення взаємодії з користувачем та оптимізації процесів розробки, що знаменує собою значний зсув у можливостях вебдизайну.

У цьому матеріалі розглянемо трансформаційний вплив штучного інтелекту на вебдизайн та його вплив ]]></description>
        <link>https://proit.ua/rievoliutsiia-u-vieb-dizaini-shi-na-pieriedovii/</link>
        <guid isPermaLink="false">66965f7788f4c05c96d691d3</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Олексій Удовенко ]]></dc:creator>
        <pubDate>чт, 18 лип 2024 14:00:57 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/07/14684.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>У динамічному цифровому ландшафті впровадження штучного інтелекту (ШІ) у практику вебдизайну змінює концепцію, розробку та користувацький досвід. Вплив ШІ поширюється від покращення взаємодії з користувачем та оптимізації процесів розробки, що знаменує собою значний зсув у можливостях вебдизайну.</p><p>У цьому матеріалі розглянемо трансформаційний вплив штучного інтелекту на вебдизайн та його вплив на користувацький досвід у 2024 році.</p><h2 id="%D0%B2%D0%BF%D0%BB%D0%B8%D0%B2-%D1%88%D1%82%D1%83%D1%87%D0%BD%D0%BE%D0%B3%D0%BE-%D1%96%D0%BD%D1%82%D0%B5%D0%BB%D0%B5%D0%BA%D1%82%D1%83-%D0%BD%D0%B0-%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%8E-%D0%B4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD%D1%83">Вплив штучного інтелекту на оптимізацію дизайну</h2><p>Однією із ключових переваг штучного інтелекту у вебдизайні є його здатність покращувати користувацький досвід за рахунок оптимізації.</p><p>Використовуючи алгоритми машинного навчання та аналізу даних, ШІ може розпізнавати тенденції в поведінці, вподобаннях та взаємодії користувачів. Ця цінна інформація дає змогу розробникам проєктувати інтерфейси, які відповідають конкретним вимогам та очікуванням їхньої цільової аудиторії.</p><p>Наприклад, інструменти на основі штучного інтелекту можуть оцінювати досвід користувачів, теплові карти та шаблони кліків, пропонуючи практичні ідеї для вдосконалення навігаційних структур, ієрархії контенту та візуальних макетів. Такий підхід, орієнтований на дані, гарантує, що вебсайти будуть зручними, привабливими й адаптивними, що призведе до підвищення рівня задоволеності користувачів і коефіцієнта конверсії.</p><h2 id="%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B5-%D1%81%D1%82%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD%D1%83">Автоматизоване створення дизайну</h2><p>ШІ змінює правила гри для вебдизайнерів, впроваджуючи алгоритми генеративного дизайну та допомагаючи у створенні візуальних елементів і навіть повних макетів вебсайтів.</p><p>Використовуючи методи машинного навчання для аналізу тенденцій дизайну, колірних схем, вибору типографіки та інших візуальних компонентів, інструменти на основі штучного інтелекту генерують широкий спектр можливостей дизайну, пристосованих до конкретних потреб проєкту.</p><p>Автоматизована генерація дизайну не лише заощаджує час і зусилля, а й сприяє інноваціям. Дизайнери можуть швидко досліджувати різні концепції дизайну, тестувати різні стилі та естетику, забезпечуючи при цьому відповідність керівним принципам брендингу та галузевим стандартам.</p><h2 id="%D0%BF%D0%BE%D0%BA%D1%80%D0%B0%D1%89%D0%B5%D0%BD%D0%B0-%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%8F">Покращена персоналізація</h2><p>ШІ дає вебдизайнерам можливість надавати користувачам максимально персоналізований досвід. Використовуючи алгоритми машинного навчання та дані користувачів, вебсайти можуть динамічно адаптувати свій контент, дизайн і функції відповідно до індивідуальних уподобань аудиторії.</p><p>Наприклад, платформи електронної комерції можуть використовувати штучний інтелект для аналізу звичок користувача, тенденцій покупок і демографічної інформації, щоб пропонувати персоналізовані рекомендації щодо товарів і налаштовувати навігацію вебсайту. Такий високий рівень персоналізації значно збільшує залученість користувачів і підвищує коефіцієнт конверсії.</p><h2 id="%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82-%D0%BD%D0%B0-%D0%B0%D0%B2%D1%82%D0%BE%D0%BF%D1%96%D0%BB%D0%BE%D1%82%D1%96-%D1%88%D1%96-%D0%BD%D0%B0-%D1%81%D0%BB%D1%83%D0%B6%D0%B1%D1%96-%D0%BA%D1%80%D0%B5%D0%B0%D1%82%D0%BE%D1%80%D1%96%D0%B2">Контент на автопілоті: ШІ на службі креаторів</h2><p>Штучний інтелект змінює спосіб створення і покращення контенту. Завдяки спеціальним технологіям ШІ може аналізувати і створювати тексти, які легко читаються людьми. Це дозволяє автоматизувати написання контенту для вебсайтів, блогів, описів товарів і навіть цілих сторінок.</p><p>Також інструменти ШІ можуть оцінювати існуючий контент і давати поради щодо покращення читабельності, пошукової оптимізації (SEO) та загального впливу. Це спрощує процес створення контенту і гарантує, що він буде привабливим, корисним і добре оптимізованим для пошукових систем.</p><h2 id="%D0%BF%D1%96%D0%B4%D0%B2%D0%B8%D1%89%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BD%D0%BE%D1%81%D1%82%D1%96-%D0%B9-%D1%96%D0%BD%D0%BA%D0%BB%D1%8E%D0%B7%D0%B8%D0%B2%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD%D1%83">Підвищення доступності й інклюзивного дизайну</h2><p>У веброзробці пріоритетність доступності та інклюзивного дизайну має важливе значення для того, щоб вебсайти були зручними та приємними для людей з різними здібностями та потребами. Штучний інтелект відіграє ключову роль у цій сфері, автоматизуючи тестування доступності, визначаючи потенційні перешкоди та пропонуючи вдосконалення.</p><p>Інструменти на основі штучного інтелекту можуть оцінювати вебсайти на відповідність стандартам доступності, таким як Керівництво з доступності вебконтенту (WCAG), пропонуючи поради щодо покращення контрастності, використання відповідного альтернативного тексту для зображень та оптимізації структури контенту для різних пристроїв.</p><h2 id="%D0%B5%D0%B2%D0%BE%D0%BB%D1%8E%D1%86%D1%96%D1%8F-%D0%B2%D0%B5%D0%B1-%D0%B4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD%D1%83-%D0%B7-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%B0%D0%BD%D0%BD%D1%8F%D0%BC-%D1%88%D1%82%D1%83%D1%87%D0%BD%D0%BE%D0%B3%D0%BE-%D1%96%D0%BD%D1%82%D0%B5%D0%BB%D0%B5%D0%BA%D1%82%D1%83">Еволюція веб-дизайну з використанням штучного інтелекту</h2><p>З розвитком штучного інтелекту його вплив на веб-дизайн лише поглиблюватиметься. Прориви в таких галузях, як комп'ютерний зір, обробка природної мови та генеративні змагальні мережі (GAN), відкриють нові можливості для створення захопливого та інтерактивного вебдосвіду.</p><p>Наприклад, віртуальні помічники, керовані ШІ, можуть допомагати користувачам орієнтуватися у складних інтерфейсах вебсайтів, пропонуючи індивідуальні рекомендації та підказки.</p><p>Крім того, створені штучним інтелектом 3D-моделі та анімації можуть змінити спосіб демонстрації товарів і послуг в Інтернеті, надаючи користувачам захопливу та реалістичну взаємодію.</p><p>Тим не менш, у міру того, як ШІ все більше інтегрується у практику вебдизайну, важливо враховувати етичні міркування, такі як конфіденційність, упередженість і прозорість.</p><p>Вебдизайнери та розробники повинні переконатися, що системи штучного інтелекту навчаються на різноманітних і неупереджених наборах даних, а їхні процеси прийняття рішень є прозорими та підзвітними.</p><p>Вплив штучного інтелекту на вебдизайн є значним, він впливає на створення, розвиток і взаємодію з користувачами вебсайтів. ШІ змінює цифрову сферу, оптимізуючи користувацький досвід, автоматизуючи процеси розробки та покращуючи доступність.</p><p>У міру розвитку ШІ вебдизайнерам і розробникам необхідно використовувати його можливості, вирішуючи наявні проблеми та етичні дилеми. Використовуючи потенціал штучного інтелекту, вони можуть розкрити творчий потенціал, підвищити ефективність і задоволеність користувачів, стимулюючи еволюцію інтернету в бік більш привабливого та інклюзивного середовища.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Мікросервісна архітектура вже давно є стандартом у розробці. Тож QA-фахівцям потрібно знати відмінності у підходах до тестування таких продуктів у порівнянні з тими, що мають монолітну основу. Детально про це — в огляді від експертів ІТ-команди NIX.


У чому різниця між монолітами та мікросервісами

Вибір моделі розробки софту залежить від особливостей ]]></description>
        <link>https://proit.ua/tiestuvannia-monolitiv-ta-mikrosiervisiv-vidminnosti-pidkhodi-poradi/</link>
        <guid isPermaLink="false">668d305881619ea76598410a</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  NIX Team ]]></dc:creator>
        <pubDate>ср, 10 лип 2024 14:00:04 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/07/IMG_0757.webp" medium="image"/>
        <content:encoded><![CDATA[ <p><em>Мікросервісна архітектура вже давно є стандартом у розробці. Тож QA-фахівцям потрібно знати відмінності у підходах до тестування таких продуктів у порівнянні з тими, що мають монолітну основу. Детально про це — в огляді від експертів ІТ-команди NIX.</em></p><h2 id="%D1%83-%D1%87%D0%BE%D0%BC%D1%83-%D1%80%D1%96%D0%B7%D0%BD%D0%B8%D1%86%D1%8F-%D0%BC%D1%96%D0%B6-%D0%BC%D0%BE%D0%BD%D0%BE%D0%BB%D1%96%D1%82%D0%B0%D0%BC%D0%B8-%D1%82%D0%B0-%D0%BC%D1%96%D0%BA%D1%80%D0%BE%D1%81%D0%B5%D1%80%D0%B2%D1%96%D1%81%D0%B0%D0%BC%D0%B8">У чому різниця між монолітами та мікросервісами</h2><p>Вибір моделі розробки софту залежить від особливостей конкретного проєкту. В деяких випадках переваги мікросервісів не настільки критичні, щоб перекрити плюси моноліту. Тому обидва підходи залишаються актуальними.</p><p>QA-спеціалістам слід вміти працювати з обома архітектурами. Перш ніж перейти до підходів у тестуванні, згадаймо, що являють собою мікросервіси та моноліти.</p><p>Монолітна архітектура — традиційна модель розробки програмного забезпечення, з єдиним модулем, який працює незалежно від інших.</p><p>Часто слово «моноліт» використовують для позначення чогось великого і незграбного. Ці слова досить добре описують монолітну архітектуру з погляду розробників. Така архітектура призводить до створення великої, незалежної мережі серверів зі спільною кодовою базою, яка поєднує всі бізнес-задачі. Бодай одна зміна в такому продукті вимагає оновлення продукту цілком, що забирає багато часу та зусиль команди.</p><p>Мікросервісна архітектура — принципово інший спосіб організації системи. В її основі — сервіси, що розгортаються незалежно один від одного. Вони мають власні бізнес-логіку і бази даних для окремих цілей. Оновлення, тестування і масштабування відбуваються всередині сервісів.</p><p>Сьогодні це один із найочевидніших варіантів при розробці застосунків. На мікросервісах будують нові продукти і «‎переїжджають» чимало старих проєктів. Це пояснюється прискоренням темпів розробки, гнучкістю процесів і легкістю масштабування.</p><p>Принцип роботи мікросервісів чудово поєднується з CI/CD-моделлю та DevOps-практиками й дозволяє швидко адаптуватися до вимог користувачів.</p><h2 id="%D1%8F%D0%BA-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D1%82%D0%B8-%D0%BC%D1%96%D0%BA%D1%80%D0%BE%D1%81%D0%B5%D1%80%D0%B2%D1%96%D1%81%D0%B8">Як тестувати мікросервіси</h2><p>У продукті з мікросервісною архітектурою кожен мікросервіс виконує певну функцію: авторизує користувача, відповідає за інтеграцію із платіжним або картографічним сервісами, обробляє замовлення тощо. Коли вони поєднуються, фактично й створюється повноцінний продукт для вирішення певного завдання.</p><p>Мікросервіси можуть писати на різних мовах та використовувати в основі різні технології. Інколи це ускладнює схему взаємозв’язків між сервісами. Тому чи не головною проблемою у їхньому тестуванні може стати низька база знань тестувальників.</p><p>Тестування мікросервісів розділяють на кілька рівнів.</p><h3 id="unit-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Unit-тестування</h3><p>Потрібно написати тести для кожного методу (функції). При виконанні тесту це дасть якомога більший рівень покриття логіки застосунку. Так уже на ранній стадії розробки ви знайдете початкові баги за найменших витрат та ризиків для проєкту. Покриття такими тестами допомагає визначити, чи не призвели зміни коду до помилок. Але для цього юніт-тести мають бути інтегровані в CI-процеси, щоб команда оперативно отримувала фідбеки.</p><h3 id="unit-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%BC%D0%BE%D0%BD%D0%BE%D0%BB%D1%96%D1%82%D0%BD%D0%BE%D1%97-%D1%82%D0%B0-%D0%BC%D1%96%D0%BA%D1%80%D0%BE%D1%81%D0%B5%D1%80%D0%B2%D1%96%D1%81%D0%BD%D0%BE%D1%97-%D0%B0%D1%80%D1%85%D1%96%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B8-%D0%BC%D0%B0%D1%94-%D1%82%D0%B0%D0%BA%D1%96-%D0%B2%D1%96%D0%B4%D0%BC%D1%96%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%96">Unit-тестування монолітної та мікросервісної архітектури має такі відмінності:</h3><ul><li><strong>Об’єкт тестування.</strong> При тестуванні монолітів тестовим об’єктом є вся кодова база з усім функціоналом застосунку. У мікросервісах тестування сфокусоване на кожному сервісі.</li></ul><ul><li><strong>Налагодження тестів</strong>. У моноліті всі компоненти знаходяться в одному застосунку, тому юніт-тестування прямолінійне та досить просте. А от у мікросервісах кожен окремий сервіс вимагає ізоляції під час тестування від усієї системи. Загалом це ускладнює роботу.</li></ul><ul><li><strong>Робота з залежностями</strong>. В мікросервісній архітектурі кожен сервіс можна тестувати окремо від інших, що спрощує юніт-тестування. А в моноліті всі компоненти мають пряму залежність один від одного, тому їх важче ізолювати для такого типу тестів. Це ускладнює логіку тестів або систему керування моками.</li></ul><ul><li><strong>Розгортання</strong>. В монолітах розробка та деплой застосунку зазвичай відбуваються разом. Юніт-тестування є централізованим та інтегрованим. У мікросервісів кожен елемент має свій цикл розробки. Тму QA зосереджені на юніт-тестуванні своєї частини і не чіпають інші.</li></ul><h2 id="%D1%84%D1%83%D0%BD%D0%BA%D1%86%D1%96%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%B5-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%BD%D0%B0-%D1%80%D1%96%D0%B2%D0%BD%D1%96-%D1%81%D0%B5%D1%80%D0%B2%D1%96%D1%81%D1%83">Функціональне тестування на рівні сервісу</h2><p>У застосунках з монолітною архітектурою функціональність зазвичай об’єднана в одному блоці. Тоді тестування направлене на перевірку основних функцій та взаємодій усередині програми. Через те, що розробка та розгортання застосунку відбуваються разом, функціональне тестування може бути частиною цього процесу.</p><p>У випадку ж мікросервісної архітектури таке тестування включає перевірку функцій кожної частини окремо. Мета тестів — підтвердити, що компоненти правильно виконують завдання та обробляють дані. Тестові сценарії повинні базуватися на вимогах та очікуваній поведінці конкретного сервісу.</p><p>Також врахуйте, що в мікросервісній архітектурі всі компоненти можуть функціонувати на різних фізичних або віртуальних машинах і мати різні тестові оточення. Для функціонального тестування можуть знадобитись окремі інструменти. Наприклад, для створення заглушок чи симуляції зовнішніх сервісів у тестових оточеннях.</p><p>Функціональне тестування мікросервісів вимагає ізоляції тестованих компонентів та перевірки того, що кожен сервіс працює коректно. Тому створюйте тестові оточення, які максимально точно відтворюють умови роботи окремих мікросервісів. Так ви забезпечите однорідні умови для кожного тестового запуску.</p><p>Проста локалізація проблем та відсутність масштабного ретестінгу при внесенні змін до системи — беззаперечні плюси в тестуванні мікросервісів. Адже всі зміни будуть обмежені ретестестуванням самого сервісу та його контрактів.</p><h3 id="%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%B0%D0%BA%D1%82%D0%BD%D0%B5-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Контрактне тестування</h3><p>У мікросервісах з’являється такий вид тестів як контрактні тести. Причина цьому — мережеві взаємодії між сервісами системи. Тож вам потрібно проводити ще й перевірку контрактів API. Контрактне тестування стає важливим інструментом забезпечення сумісності та узгодженості між версіями сервісів. При внесенні змін до контрактів API або взаємодії між сервісами необхідно перевірити, що все відбувається без збоїв.</p><p>Тестування контрактів гарантує, що дві сторони здатні взаємодіяти одна з одною. Споживач фіксує зв’язок із постачальником та створює контракт, який є специфікацією запитів від споживача та відповідей від постачальника. Для такого типу тестів можна використовувати фреймворк <a href="https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://docs.pact.io/%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1720532569264430%26amp;usg%3DAOvVaw2YXYC7n8MfjYa8gklhIIOv&amp;sa=D&amp;source=docs&amp;ust=1720532569286587&amp;usg=AOvVaw1KTD_57ufFQgFbUnFmWbTN">Pact</a>. Він перевіряє зв’язок між споживачем та постачальниками за протоколом HTTP.</p><h3 id="%D1%96%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D1%96%D0%B9%D0%BD%D0%B5-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Інтеграційне тестування</h3><p>Має підтвердити, що інтерфейси мікросервісів розроблені правильно і всі незалежні компоненти працюють як єдине ціле. Для цього зовнішні залежності, які не є об’єктами тестування в конкретному випадку, можна замінити заглушками або моками. Самі ж об’єкти перевірки мають залишитись без змін, щоб переконатися в правильності їх взаємодії.</p><p>Інтеграційне тестування моноліту може бути складнішим. Вам необхідно перевірити велику кількість шляхів виконання застосунку та взаємодій. Також тут важливо забезпечити консистентність і валідність тестових даних. Наприклад, це можуть бути попередньо налаштовані тестові дані або ті, що ви створили в процесі тестування.</p><h3 id="%D0%B52%D0%B5-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Е2Е-тестування</h3><p>На цьому рівні не дуже помітна різниця між тестуванням монолітної та мікросервісної архітектур. Еnd-to-end тести передбачають повну інтеграцію — або всіх мікросервісів, які створюють цілісну систему, або всього застосунку-моноліту.</p><h2 id="%D1%8F%D0%BA-%D0%BC%D0%BE%D0%BA%D0%B8-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BC%D0%B0%D0%B3%D0%B0%D1%8E%D1%82%D1%8C-%D0%BF%D1%80%D0%B8-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%96-%D0%BC%D1%96%D0%BA%D1%80%D0%BE%D1%81%D0%B5%D1%80%D0%B2%D1%96%D1%81%D1%96%D0%B2">Як моки допомагають при тестуванні мікросервісів</h2><p>Використання моків дуже пошире при тестуванні застосунків із мікросервісною архітектурою. Це пов’язано з тим, що компоненти системи розділені на окремі служби, які взаємодіють через мережеві виклики або API. Мікросервіси часто залежать від зовнішніх служб або компонентів (баз даних, черг повідомлень, сторонніх API тощо). Моки дозволяють ізолювати від залежностей окремий сервіс, що тестується. З’являється контрольоване середовище для тестування, що дозволяє створювати стабільніші тести.</p><h2 id="%D1%89%D0%BE-%D0%B2%D0%B0%D1%80%D1%82%D0%BE-%D0%B7%D0%BD%D0%B0%D1%82%D0%B8-%D0%BF%D1%80%D0%B8-%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D1%96-%D0%B7-%D0%BC%D0%BE%D0%BA%D0%B0%D0%BC%D0%B8">Що варто знати при роботі з моками:</h2><ul><li><strong>Тестові двійники</strong>. Цим терміном позначають різні техніки:</li></ul><p><strong>Моки</strong>. Імітують поведінку реальних об’єктів або компонентів, з якими взаємодіє код. Моки надають відповіді на виклики методів і можуть бути налаштовані для перевірки правильності взаємодії з ними. Зазвичай такі двійники використовують для тестування взаємодії між компонентами системи.</p><p><strong>Фейки</strong>. Ці реалізації залежностей замінюють реальні компоненти та сервіси з коду. У фейків зазвичай спрощена реалізація, яка може відрізнятись від реальної поведінки, але це дозволяє виконувати тести. Наприклад, фейкова БД може зберігати дані в пам’яті, а не в постійному сховищі.</p><p><strong>Заглушки</strong>. Замінюють реальні реалізації та повертають заздалегідь визначені значення. Їх часто використовуються для ізоляції коду від зовнішніх залежностей та емуляції конкретних сценаріїв або умов проведення тестів.</p><p><strong>Шпигуни</strong>. Ці об’єкти відстежують та записують інформацію про взаємодію коду, який тестується, з його залежностями. Дозволяють перевіряти виклики методів, передані параметри та значення, що повертаються, для аналізу та перевірки в тестах.</p><ul><li><strong>Манкі-патчинг</strong>. Техніка програмування, що дозволяє змінювати або розширювати поведінку наявного коду під час виконання застосунку без його прямої модифікації.</li></ul><ul><li><strong>Проксі та інтерсептори</strong>. Використовуються для перехоплення та зміни поведінки об’єктів або систем. Тут варто окремо сказати про ці складові:</li></ul><p><strong>Проксі</strong> — це об’єкт, що виступає як проміжна ланка між клієнтом і цільовим об’єктом. Він перехоплює виклики та може втручатися у їхню обробку. Проксі забезпечує додатковий рівень абстракції та контролю доступу до цільового об’єкта та може використовуватися для різних цілей: обмеження доступу, кешування, логування, керування транзакціями тощо.</p><p><strong>Інтерсептори</strong> — перехоплюють та обробляють виклики до об’єктів чи методів у системі. З ними можна втручатися у виклики до, після або під час їхнього виконання. Ви зможете модифікувати поведінку системи, додавати функції та забезпечувати гнучку, контрольовану розробку ПЗ.</p><ul><li><strong>Мок-сервіси</strong>. Це імітації або замінники реальних сервісів та компонентів, що використовуються для тестування й розробки застосунків. Мок-сервіси допомагають ізолювати код від реальних залежностей і створити контрольоване середовище. Зазвичай для цього використовують особливі фреймворки або спеціальні інструменти. Ви отримуєте API або інтерфейс, схожий на реальний сервіс. Так ваш код буде взаємодіяти без зв’язку з реальним сервісом або зовнішніми ресурсами (базами даних, мережевими сервісами, сторонніми API). Це спрощує розробку та забезпечує надійність і швидкість тестів.</li></ul><h2 id="%D0%B0%D1%80%D1%85%D1%96%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0-%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D1%83-%D0%B2%D0%BF%D0%BB%D0%B8%D0%B2%D0%B0%D1%94-%D0%BD%D0%B0-%D0%B2%D0%B8%D0%B1%D1%96%D1%80-%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%B5%D0%B3%D1%96%D1%97-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Архітектура продукту впливає на вибір стратегії тестування</h2><p>Моноліти завдяки цілісній структурі дозволяють легко налаштовувати тестові середовища та проводити E2E-тестування всього застосунку. Водночас розширення моноліту ускладнює його підтримку та тестування, оскільки будь-яка зміна може вимагати ретестування всього продукту.</p><p>Мікросервісні застосунки розподілені на менші, автономні сервіси. Це дозволяє локалізувати зміни та зменшити обсяг ретестування. Однак тестування таких систем потребує налаштування складних тестових середовищ, які відтворюють взаємодію між сервісами.</p><p>Окреме місце у тестуванні мікросервісів займає створення моків та керування ними. Вони допомагають ізолювати сервіси та гнучкого керувати їхнім станом.</p><p>Маючи загальне уявлення про структуру тестових об'єктів, вам буде простіше обрати відповідні підходи та інструменти для тестування. Тоді і перевірки будуть цілеспрямовані. Розуміння архітектури дозволяє розробляти ефективні стратегії тестування. А це вже ваш внесок у якість, надійність та безпеку продукту. </p><p><em><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></em></p><p><em><em><em><em><em><em><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></em></em></em></em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ На жаль, цього року впродовж всього лише кількох тижнів Україна втратила ще 9 ГВт потужностей енергогенерації. Енергетика — це галузь, на відновлення якої в довоєнних масштабах потрібні роки.

Для уряду зараз пріоритет № 1 — забезпечення електропостачання критичної інфраструктури та виробничих потужностей, а ось український бізнес, як завжди, має діяти проактивно і подбати ]]></description>
        <link>https://proit.ua/ienierghoniezaliezhni-iak-zabiezpiechiti-biezpieriervnist-ienierghozhivliennia-vashogho-ofisu-za-umov-viialovikh-ta-avariinikh-vidkliuchien/</link>
        <guid isPermaLink="false">6682b8b4da84f72615f1cc0a</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Андрій Блощинський  ]]></dc:creator>
        <pubDate>ср, 03 лип 2024 14:00:44 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/07/71239.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>На жаль, цього року впродовж всього лише кількох тижнів Україна втратила ще 9 ГВт потужностей енергогенерації. Енергетика — це галузь, на відновлення якої в довоєнних масштабах потрібні роки.</p><p>Для уряду зараз пріоритет № 1 — забезпечення електропостачання критичної інфраструктури та виробничих потужностей, а ось український бізнес, як завжди, має діяти проактивно і подбати про свою енергонезалежність самотужки. Звісно, це потребує залучення коштів та певних зусиль, проте не виглядає неможливим.</p><p>З початку повномасштабного вторгнення робота нашого виробничого підрозділу не зупинялося жодного дня, проте ми добре розуміли, що без електроенергії будь-який комп’ютер безкорисний, хай який він високотехнологічний та надійний. Перші блекаути 2022 року виявили тотальну залежність нашого сектору від електропостачання.</p><p>Разом із нашими клієнтами ми занурились у цю тему і сьогодні можемо озвучити свої рекомендації та надати допомогу щодо рішень незалежного електропостачання для офісів, обладнаних стандартною ІТ-інфраструктурою, зокрема і стаціонарними ПК.‌‌</p><p>Найбільш реалістичні варіанти забезпечення безперебійного живлення, які можуть дозволити собі компанії та офіси державних установ, — це системи на основі зарядних станцій, сонячні панелі, дизельні/бензинові генератори.</p><h2 id="%D1%8F%D0%BA%D1%96-%D0%B2%D0%B0%D1%80%D1%96%D0%B0%D0%BD%D1%82%D0%B8-%D0%BD%D0%B0%D0%B9%D1%87%D0%B0%D1%81%D1%82%D1%96%D1%88%D0%B5-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%BE%D0%B2%D1%83%D1%8E%D1%82%D1%8C%D1%81%D1%8F-%D0%B4%D0%BB%D1%8F-%D0%B7%D0%B0%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B5%D0%BD%D0%B5%D1%80%D0%B3%D0%BE%D0%BD%D0%B5%D0%B7%D0%B0%D0%BB%D0%B5%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%96-%D0%BD%D0%B5%D0%B2%D0%B5%D0%BB%D0%B8%D0%BA%D0%BE%D0%B3%D0%BE-%D0%BE%D1%84%D1%96%D1%81%D1%83-%D1%87%D0%B8-%D0%B1%D1%83%D0%B4%D1%96%D0%B2%D0%BB%D1%96">Які варіанти найчастіше використовуються для забезпечення енергонезалежності невеликого офісу чи будівлі?</h2><p>Якщо ваш бізнес-центр не є об’єктом, де має бути передбачене незалежне джерело живлення, для забезпечення роботи комп’ютерів розглянемо чотири варіанти, які можна реалізувати дуже швидко.</p><h3 id="%D0%B4%D0%B6%D0%B5%D1%80%D0%B5%D0%BB%D0%BE-%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%80%D0%B5%D0%B1%D1%96%D0%B9%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B6%D0%B8%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F-ups">Джерело безперебійного живлення (UPS)</h3><p>Дороге, але стабільне рішення. Саме UPS забезпечує якість електроживлення, безперервність, відсікає перепади, імпульсні перешкоди, відхилення частоти, високочастотні перешкоди, тощо. Але набір акумуляторних батарей до нього — це дуже вартісне рішення.</p><p>Враховуючи інтенсивність відключень, яку ми мали на початку червня, АКБ вичерпають свій ресурс дуже швидко. Через 1,5-2 роки постане питання закупівлі нових та утилізації старих АКБ.</p><h3 id="%D0%B4%D0%B6%D0%B5%D1%80%D0%B5%D0%BB%D0%BE-%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%80%D0%B5%D0%B1%D1%96%D0%B9%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B6%D0%B8%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F-ups-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80-%D0%B4%D0%B8%D0%B7%D0%B5%D0%BB%D1%8C-%D1%87%D0%B8-%D0%B1%D0%B5%D0%BD%D0%B7%D0%B8%D0%BD">Джерело безперебійного живлення (UPS) + генератор (дизель чи бензин)</h3><p>Оптимальне, перевірене рішення. Стандартна схема: UPS підхоплює обрив електропостачання і тримає до 5-10 хвилин до увімкнення (та розігріву взимку) дизель чи бензинового генератора.</p><p>З недоліків: необхідність зберігання та заправки пального, обслуговування генератора, який десь треба розмістити. У мирні часи встановлення генератора потребувало обов’язкового узаконення у трьох інстанціях (екології, пожежної безпеки, енергонагляду). Наразі постановою Кабміну ця вимога (в частині екології по викидах забруднюючих речовин та енергонагляду) на паузі до закінчення дії військового стану й на 3 місяці після його закінчення.</p><h3 id="%D0%B7%D0%B0%D1%80%D1%8F%D0%B4%D0%BD%D0%B0-%D1%81%D1%82%D0%B0%D0%BD%D1%86%D1%96%D1%8F-%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%B5-%D1%80%D1%96%D1%88%D0%B5%D0%BD%D0%BD%D1%8F-%D1%89%D0%BE-%D0%BC%D0%B0%D1%94-%D1%83-%D1%81%D0%B2%D0%BE%D1%94%D0%BC%D1%83-%D1%81%D0%BA%D0%BB%D0%B0%D0%B4%D1%96-%D1%96%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%BE%D1%80%D0%B7%D0%B0%D1%80%D1%8F%D0%B4%D0%BD%D0%B8%D0%B9-%D0%BF%D1%80%D0%B8%D1%81%D1%82%D1%80%D1%96%D0%B9-%D1%82%D0%B0-%D0%B0%D0%BA%D1%83%D0%BC%D1%83%D0%BB%D1%8F%D1%82%D0%BE%D1%80%D0%BD%D1%96-%D0%B1%D0%B0%D1%82%D0%B0%D1%80%D0%B5%D1%97">Зарядна станція (готове рішення, що має у своєму складі інвертор/зарядний пристрій та акумуляторні батареї)</h3><p>Сучасне рішення, яке доречне, якщо в офісному центрі немає площ, де можна безпечно розташувати генератор та запас пального до нього.</p><p>ЗС має більше корисних опцій, однією з яких є можливість зарядки від сонячної енергії.</p><p>Також, на відміну від UPS (у яких зазвичай використовуються свинцево-кислотні АКБ), у ЗС застосовуються сучасні АКБ, наприклад літій-залізо-фосфатні, які мають довший термін експлуатації (забезпечують понад 3000 циклів заряду/розряду), більш стабільну напругу при розряджанні, більшу пікову потужність.</p><p>Крім того, літій-залізо-фосфатні АКБ більш термічно та хімічно стабільні, що істотно підвищує безпеку при їх експлуатації.</p><p>Зарядна станція енергоємністю 1260 Вт·год обійдеться приблизно в 40 тисяч гривень.</p><p>Найбільш на слуху зараз ЗС Ecoflow та Bluetti. Крім них, є ще багато менш відомих брендів.</p><h3 id="%C2%AB%D0%B7%D1%80%D0%BE%D0%B1%D0%B8-%D1%81%D0%B0%D0%BC%C2%BB-%D0%BE%D0%BA%D1%80%D0%B5%D0%BC%D0%BE-%D0%BF%D1%80%D0%B8%D0%B4%D0%B1%D0%B0%D0%BD%D1%96-%D1%82%D0%B0-%D0%B7%D0%BC%D0%BE%D0%BD%D1%82%D0%BE%D0%B2%D0%B0%D0%BD%D1%96-%D1%96%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%BE%D1%80%D0%B7%D0%B0%D1%80%D1%8F%D0%B4%D0%BD%D0%B8%D0%B9-%D0%BF%D1%80%D0%B8%D1%81%D1%82%D1%80%D1%96%D0%B9-%D1%82%D0%B0-%D0%B0%D0%BA%D1%83%D0%BC%D1%83%D0%BB%D1%8F%D1%82%D0%BE%D1%80%D0%BD%D1%96-%D0%B1%D0%B0%D1%82%D0%B0%D1%80%D0%B5%D1%97">«Зроби сам»: окремо придбані та змонтовані інвертор/зарядний пристрій та акумуляторні батареї</h3><p>Це бюджетний варіант попереднього рішення, але він вимагає відповідного рівня кваліфікації при підборі компонентів. Якщо розглядати пристрої не топових брендів, то ця модель обійдеться приблизно удвічі дешевше готового рішення.</p><h2 id="%D0%BF%D1%80%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4-%D1%80%D0%BE%D0%B7%D1%80%D0%B0%D1%85%D1%83%D0%BD%D0%BA%D1%83-%D0%B4%D0%BB%D1%8F-%D1%81%D1%82%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B5%D0%BD%D0%B5%D1%80%D0%B3%D0%BE%D0%BD%D0%B5%D0%B7%D0%B0%D0%BB%D0%B5%D0%B6%D0%BD%D0%BE%D0%B3%D0%BE-%D0%BE%D1%84%D1%96%D1%81%D1%83">Приклад розрахунку для створення енергонезалежного офісу</h2><p>Припустимо, у вас 20 робочих місць, обладнаних стаціонарними ПК (не важливо, це ПК «Прайм» чи будь-який інший бренд), які ви бажаєте забезпечити електроживленням. Щоб визначити необхідну енергоємність пристрою, помножимо потужність ПК у ватах (Вт) х кількість ПК (для зручності визначимо потужність ПК у 200 Вт).</p><p>Крім того, необхідно врахувати коефіцієнт корисної дії (ККД) пристрою, який визначає, скільки енергії здатен віддати пристрій, а скільки витрачається на перетворення струму (визначимо цей показник на рівні 80%).</p><p>Таким чином отримаємо: 20 х 200/0,8 (ККД) = 5000 Вт·год (або 5 кВт·год) при загальній номінальній потужності пристрою 20 х 200 Вт = 4 кВт.</p><p>Отже, щоб забезпечити офісні комп’ютери живленням протягом 4 годин, вам потрібен пристрій із номінальною потужністю 4 кВт та з ємністю АКБ 20 кВт·год. Залежно від ваших потреб, сюди слід додати потреби інших «клієнтів»: роутер, Starlink, кавоварку, освітлення тощо.</p><p>Дуже цікавий, на наш погляд, досвід має компанія Peiko, яка забезпечила енергонезалежність свого офісу ще у 2022 році, врахувавши зокрема і необхідність обігріву та роботи всієї інфраструктури офісу, а не лише робочих місць.</p><p>Це пункт, який часто залишається поза увагою, але робота насосів, які подають воду, ліфтів тощо, теж має бути врахована, якщо ви бажаєте не лише заживити ПК, але й зробити офіс хоча б мінімально комфортним для співробітників.</p><h2 id="%C2%AB%D0%B7%D0%B5%D0%BB%D0%B5%D0%BD%D1%96%C2%BB-%D0%B0%D0%BB%D0%B5-%D0%BD%D0%B5-%D0%B0%D0%BB%D1%8C%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D1%96-%D0%B2%D0%B0%D1%80%D1%96%D0%B0%D0%BD%D1%82%D0%B8">«Зелені», але не альтернативні варіанти</h2><p>Прогнози на зиму невтішні. Вірогідні ситуації, коли зимові блекаути триватимуть по 20 годин. Поки триває літо, цікавим рішенням виглядає використання вітряної або сонячної енергії. Компанія Yasno недавно запропонувала свою експертизу у проєктуванні та встановленні сонячних електростанцій.</p><p>Це непоганий варіант для мирних часів, проте взимку сонячна станція малоефективна. До того ж, щоб накопичувати енергію та віддавати її в мережу тоді, коли потрібно покупцю, потрібні також потужні батареї. А це буде коштувати ще приблизно стільки ж, скільки і самі панелі.</p><p>Вітряки на фоні сонячних панелей взагалі виглядають фантастичним варіантом з огляду на їхню вартість та ефективність.</p><h2 id="%D0%BE%D1%84%D1%96%D1%81-%D1%8F%D0%BA-%D0%BA%D0%BE%D1%80%D0%BF%D0%BE%D1%80%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%B8%D0%B9-%D0%BF%D1%83%D0%BD%D0%BA%D1%82-%D0%BD%D0%B5%D0%B7%D0%BB%D0%B0%D0%BC%D0%BD%D0%BE%D1%81%D1%82%D1%96">Офіс як корпоративний пункт незламності</h2><p>Тим не менш, автономний офіс — це не лише живлення електрикою внутрішніх споживачів та робочих місць, але й зв’язок та інтернет, без чого фактично неможлива робота компанії.</p><p>І якщо забезпечити стійке інтернет-з’єднання можна самостійно за допомогою Starlink, то мобільний зв’язок та мобільний інтернет — це відповідальність оператора. У цій царині теж є певні зрушення, оператори все більше звертають на це увагу.</p><p>Наприклад, Vodafone робить значні інвестиції в енергонезалежність, Kyivstar вже інвестував в енергонезалежність та стійкість мережі до блекаутів 1 мільярд гривень.</p><p>Також гарна новина в тому, що провайдери інтернету та мобільні оператори для стабільного інтернет-підключення все частіше використовують технологію високошвидкісної передачі даних оптоволоконними лініями зв’язку PON.</p><p>Оснащення кінцевих вузлів зв’язку батереями не таке ефективне, бо при довготривалих відключеннях батареї просто не встигатимуть зарядитись.</p><p>Як бачимо, крім роботи комп’ютерів для створення прийнятних умов для співробітників, слід передбачити заживлення модемів, варіанти інтернет-зв’язку, опалення офісу, роботу насосів, ліфтів тощо. Наведені вище рішення можна у відносно стислі терміни реалізувати в межах офісу чи бізнес-центру, скорегувавши залежно від ваших потреб.</p><p>Усе це потребує часу, а отже маємо якомога швидше розглянути альтернативні варіанти забезпечення офісів електроенергією і встигнути їх спроєктувати, закупити та встановити. І тоді ваш офіс стане для співробітників дійсно корпоративним пунктом незламності.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ «‎Код має бути лаконічним», – скаже будь-який розробник.

Але є винятки. На перший погляд ваш навіть максимально чистий код не завжди можуть зрозуміти інші девелопери. У таких випадках не завадить додати синтаксичного цукру.

Що це за підхід до кодування, як він спрощує роботу та коли ліпше уникати цього прийому, пояснює Сергій ]]></description>
        <link>https://proit.ua/sintaksichnii-tsukor-shcho-tsie-ta-iak-mozhie-dopomoghti-zavaditi-rozrobniku/</link>
        <guid isPermaLink="false">666ee2ac3588b318837fb688</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  NIX Team ]]></dc:creator>
        <pubDate>ср, 19 черв 2024 14:00:02 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/06/34022.jpg" medium="image"/>
        <content:encoded><![CDATA[ <blockquote><em>«‎Код має бути лаконічним», </em>– скаже будь-який розробник.</blockquote><p>Але є винятки. На перший погляд ваш навіть максимально чистий код не завжди можуть зрозуміти інші девелопери. У таких випадках не завадить додати синтаксичного цукру.</p><p>Що це за підхід до кодування, як він спрощує роботу та коли ліпше уникати цього прийому, пояснює Сергій Лещенко, Full Stack .NET Software Engineer у команді NIX.</p><h2 id="%D1%89%D0%BE-%D1%82%D0%B0%D0%BA%D0%B5-%D1%81%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%87%D0%BD%D0%B8%D0%B9-%D1%86%D1%83%D0%BA%D0%BE%D1%80">Що таке синтаксичний цукор?</h2><p>Це синтаксис, який спрощує розуміння наявного функціоналу. Все працюватиме так само, як в аналогічному варіанті коду, без цукру. А далі вже компілятор трансформує «цукрові» рядки у базові функції.</p><p>Умовно кажучи, якби без цукру ви б написали 100 рядків коду, а з цукром 50, то компілятор спочатку зробив би з них ті самі 100 рядків, а потім перетворив би їх на машинний код.</p><p>Деякі розробники вважають це засміченням коду і проти використання зайвих «підсолоджувачів». Однак за правильного використання цей синтаксис все ж може спростити роботу всієї команди й зробити її ефективнішою.</p><p>У моїй практиці були проєкти, де такі можливості мови програмування настільки дивували колег, що розробники забували, що це взагалі цукор, а не окремий функціонал. Тобто якби хтось написав код по-класиці, за правилами «‎чистоти», це могло б викликати питання.</p><h2 id="%D0%BD%D0%B0%D0%B2%D1%96%D1%89%D0%BE-%D0%B4%D0%BE%D0%B4%D0%B0%D0%B2%D0%B0%D1%82%D0%B8-%D1%81%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%87%D0%BD%D0%B8%D0%B9-%D1%86%D1%83%D0%BA%D0%BE%D1%80">Навіщо додавати синтаксичний цукор?<br></h2><p>Щоб покращити читабельність коду і швидкість його написання. У процесі розробник може застосовувати знайомі йому символи чи слова, навіть із розмовної мови. Це дає змогу скоротити час на написання рутинних елементів та зосередитись, наприклад, на бізнес-логіці.</p><p>Пришвидшується і робота команди. Колеги починають краще розуміти ваш код, а отже якісніше опрацьовують пул реквести та легше підхоплюють написані вами фічі. У результаті загальна продуктивність зростає. А це вже оцінять як керівництво проєкту, так і замовники.</p><h3 id="%D0%BD%D0%B0%D0%B9%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%96%D1%88%D0%B8%D0%B9-%D0%BF%D1%80%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4-%D1%81%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%87%D0%BD%D0%BE%D0%B3%D0%BE-%D1%86%D1%83%D0%BA%D1%80%D1%83-%E2%80%93-%D0%BA%D1%80%D0%B0%D0%BF%D0%BA%D0%B0-%D0%B7-%D0%BA%D0%BE%D0%BC%D0%BE%D1%8E-%D0%BD%D0%B0%D0%BF%D1%80%D0%B8%D0%BA%D1%96%D0%BD%D1%86%D1%96-%D1%80%D1%8F%D0%B4%D0%BA%D0%B0">Найпростіший приклад синтаксичного цукру – крапка з комою наприкінці рядка<br></h3><p>У випадку C# це не цукор, а обов’язковий до використання елемент. Але, скажімо, в JavaScript у ньому немає потреби, оскільки компілятор визначає місце завершення виразу. Тоді крапка з комою виступатиме як цукор. З одного боку елемент є зайвим, та з іншого – покращує читабельність коду. Для багатьох розробників це звичний символ, який дає їм змогу швидше структурувати код.</p><p>Тому моя порада: краще завжди використовуйте крапку з комою, щоб девелоперам легше працювалося з вашим кодом, незалежно від їхньої мови програмування. Втім, зі складнішими прикладами «цукрових» елементів не все так просто.</p><h2 id="%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%B0%D0%BD%D0%BD%D1%8F-%D1%82%D0%B0%D0%BA%D0%BE%D0%B3%D0%BE-%D1%81%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%81%D1%83-%D0%BC%D0%B0%D1%94-%D0%B4%D0%B2%D0%B0-%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%B8%D1%85-%D1%80%D0%B8%D0%B7%D0%B8%D0%BA%D0%B8">Використання такого синтаксису має два основних ризики:<br></h2><ul><li><strong>Деякий синтаксис схожий на цукор, але ніяк не допомагає</strong>. Він лише ускладнює код. Тому, додаючи цукор, подумайте: чи дійсно такий синтаксис піде на користь читабельності.</li><li><strong>Синтаксис схожий на цукор, але має різні задачі</strong>. Виглядає так, що елементи дублюють функціонал і відрізняються лише в читабельності. Насправді ж цей синтаксис використовується у різних ситуаціях.</li></ul><p>Щойно виходить нова версія мови програмування, я завжди раджу заглянути в Release notes. Там детально описані нововведення та їхні цілі. Наприклад, якісь фічі покращують перфоманс, якісь фактично є синтаксичним цукром. Ніхто не напише, що це саме цукор. Але з опису буде зрозуміло, що такий прийом підвищує читабельність коду.</p><p>Трапляються і більш прозорі натяки: коли в Release notes показують, як нова фіча спрощує написання наявного блоку коду. А саме, надаючи приклади, як розробники один і той самий код писали раніше і як тепер його можна зробити лаконічним. Тобто і без цього розробники обходились, але так вдасться працювати швидше.</p><p>Як приклад із C# – null coalescing operator. Нічого нового не вносить, тільки заміняє:</p><pre><code class="language-javascript">if (variable is null)
{
variable = string.Empty;
}</code></pre><p>Можна написати...</p><pre><code class="language-javascript">variable ??= string.Empty;</code></pre><p>... Таким чином код виглядатиме лаконічно.</p><p>Бувають і складніші випадки. Уявімо кейс із декількома умовами, залежно від яких код виконує різну логіку. Це можна реалізувати за допомогою if/else або ж switch. Здається, що вони дублюють один одного, відрізняється лише кількість коду. Тому один із варіантів ніби-то є цукром. Однак це різні прийоми для різних задач. Варіант з if/else добре працює для списку із двох-трьох кейсів. Для більшої ж кількості краще застосувати switch.</p><p>До прикладу, вам необхідно порівняти змінну типу int із конкретним числом. Компілятор сформує switch statement у статичний масив, де буде доволі ефективно порівнюватися фактичне значення змінної з кейсами у світчі. При використанні if/else statement порівнюватися буде кожна умова, допоки не дійде до першої true. Якщо ж порівнювати з рядком, то switch сформує хеш-таблицю, що підвищить швидкість обробки.</p><p>Як працює if/else:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXeOHLLRTWl6MZ5vHHJxb356BYSkf729Jva2s9ncY3ZV-ndc3fFoUmWPYxK_XtwPlyEjPFQOcXhYqmJmHuwGcH5jknjzazRcLFDJNtFECeJlT65znEsTlL00bfMLd_C9sn9Rru0RKurgHhWbayC_9nFrUVUt6c641RwAxmS94Ms8ui8Cwn-uao8?key=jV66FjCdvuv7RyTy9_CgIw" class="kg-image" alt loading="lazy" width="523" height="445"></figure><p>Як працює switch:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXcYAbJ5FWGwgWrFD0iXLRD8nAmnz3NsUtwrNZlcJxLgR4VXcHp-byt2qJ9sIxPFfr23OkJajmt7vkcAxtU39VMCUZKPbcUkLkM5_ipsj1NzXKGwMhCdEmsJ47W8AYXWmlDJC17JG5dKZFhBD-M1JxxWGn2Pz1eAedV_O42NEiMNknirvC-pbZo?key=jV66FjCdvuv7RyTy9_CgIw" class="kg-image" alt loading="lazy" width="555" height="398"></figure><h2 id="%D1%83%D0%BD%D0%B8%D0%BA%D0%B0%D0%B9%D1%82%D0%B5-%D0%B4%D0%BE%D0%B4%D0%B0%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D1%81%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%87%D0%BD%D0%BE%D0%B3%D0%BE-%D1%86%D1%83%D0%BA%D1%80%D1%83-%D0%BA%D0%BE%D0%BB%D0%B8">Уникайте додавання синтаксичного цукру, коли...<br></h2><h3 id="%D0%BD%D0%B0-%D0%BF%D1%80%D0%BE%D1%94%D0%BA%D1%82%D1%96-%D1%94-%D1%81%D0%B2%D0%BE%D1%97-%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0-%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%BD%D1%8F-%D0%BA%D0%BE%D0%B4%D1%83">На проєкті є свої правила написання коду<br></h3><p>Єдиний код стайл значно покращує читабельність проєкту в цілому, спрощує підтримку та розуміння коду. Легше з ним проходить і онбординг нових учасників команди. Тож якщо за код стайлом прописана заборона на синтаксичний цукор або на окремі його зразки, уникайте подібного синтаксису.</p><h3 id="%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%BE%D0%B2%D1%83%D1%8E%D1%82%D1%8C%D1%81%D1%8F-%D1%80%D1%96%D0%B7%D0%BD%D1%96-%D0%BC%D0%BE%D0%B2%D0%B8-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Використовуються різні мови програмування<br></h3><p>Наприклад, одні працюють із Java, інші – з C#. Тоді код має бути максимально очевидним і прозорим для всіх. Адже синтаксичний цукор, притаманний одній мові програмування, може бути зовсім незрозумілим для «носіїв» іншої. Щоб не заплутатись, намагайтеся працювати без допоміжного синтаксису.</p><h3 id="%D0%BF%D0%BE%D0%BC%D1%96%D1%82%D0%BD%D0%B5-%D0%B7%D0%BB%D0%BE%D0%B2%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%C2%AB%E2%80%8E%D1%86%D1%83%D0%BA%D1%80%D0%BE%D0%BC%C2%BB">Помітне зловживання «‎цукром»<br></h3><p>Через велику кількість доданих елементів чи рядків розробникам стає складніше розібратися в коді та виокремити функціональні частини. Доведеться бути обережними й знати міру, щоб не страждала читабельність.</p><p>Останнє пропоную розглянути на реальному кейсі. Чи не найкраще це ілюструють тернарні оператори. В них одразу видно, що відбувається у коді.</p><p>Тернарні оператори чудово зменшують кодову базу: один рядок заміняє умовно 10 рядків із використанням if/else. Інколи у роботі з тернарними операторами у розробників є спокуса використати цю можливість по-максимуму. Наприклад, зробити декілька рівнів вкладеності. Виглядає логічно. Але в реальності, коли одне вираження має три та більше тернарних оператори, девелоперу стає набагато важче читати й осягнути весь масив коду.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXevAWBKvfZURZow_e3sdvOSAHFH08rpUZKIwgCZiD7CRMbLke10rwrH0oDKXgaVzyy4PROPZ4hDxNKjGsBrC1I_o7SZNtTMe6gNKO6IvXjuhGe4TmhI_RMZsT5ydkBJWMxdXhfsxekJCRL6xr7EarB-4MyHAWvWHzMHjbha2stNqhmmUf3N2vo?key=jV66FjCdvuv7RyTy9_CgIw" class="kg-image" alt loading="lazy" width="624" height="45"></figure><p>У такому випадку краще використати switch-вираження. По своїй суті воно теж сприймається як синтаксичний цукор, але виглядає зрозуміліше:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXdR_lxheKTv-U3I_T_b0iPf44GB6b1vgHV8_hjxzB7VSq3TZW6Df3u-wu0LE0_KwBec3WWfc_Y3iqn9B0bembFEv37syle5Pnl01uk-2wSGC-XQnZmkiFiSbDjrNnC8ikl3HysXjrHJkQKDo0W1oz3pqv-LE8VyTkp60yni9B561LtClJmm6A?key=jV66FjCdvuv7RyTy9_CgIw" class="kg-image" alt loading="lazy" width="335" height="189"></figure><p>Інший приклад – global using directives. Можна натрапити на думку, що розробникам вони не подобаються, і на це є декілька причин. По-перше, такі юзінги не дають повної картини. Не зрозуміло, які типи з інших неймспейсів використовуються в кожному файлі. Це збиває з пантелику.</p><p>По-друге, при використанні у глобал юзінгах багатьох типів з однаковими статичними членами (наприклад, методами) потрібно явно вказувати тип. Більше того – вписувати юзінг у файл, де цей член використовується. Це також ускладнює розуміння коду. Можете самі оцінити подібний код на прикладі файлу із глобал юзінгом:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXdCTSfzuuxw9VCSap5MY8_8BkS_I-04P6H1Yt9x1m4JEcsaJqPOgyIy9LkGgfiBPHIn-HsaA7ORUa1o0XqAYn4GUkEEBOVIOiAwuaAwk-74tFGulqlzZOuhoB6mdgEoMZjqYErIRpVaCR3SpykCX7RUmb9MB3cc3UsZih59BMG0sOlgNj8HyuU?key=jV66FjCdvuv7RyTy9_CgIw" class="kg-image" alt loading="lazy" width="527" height="53"></figure><p>Якщо використовувати методи або інші члени типу в інших файлах без написання юзінгу в цьому файлі, а застосовувати глобал юзінги, це призведе до такої проблеми:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXf0dzp31cvIBhWOdbpW-nyTNLF1ITJ25CTajR8TLU5SD3e63_Et-Lj7AtFsxr_Reo3HNsDiRYpsL8L5W-vtO1KVsxUQDyGUJpUX4edC_5vcvVaDIbNkKzrc-aurotzTMl3x3ZupqciN4DxeKpgNH4w3lDpdYOHGlY7IpIWK6jfTVG-QTcbZ4w?key=jV66FjCdvuv7RyTy9_CgIw" class="kg-image" alt loading="lazy" width="624" height="88"></figure><p>Погодьтеся, виглядає занадто складним для розуміння. Хоча ніби все створювалося для підвищення читабельності.</p><p>Краще оформити код ось так:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXfINjbvKCEYnCb05-wEIjqt1-522opSBO3QZv2JnqjIpklTv62HjXXsZUqu1eIvvzPjNSPOkPQZXpbdAoh6sxm36OQLPNKcsHnGq4RnzXoxdcPOPDbP3FOmMIf1f84zCP1BDBN8DtXEQe5titO5v76GgGI3aViLnO3cWLbKNqwUAYm-7gSFNb0?key=jV66FjCdvuv7RyTy9_CgIw" class="kg-image" alt loading="lazy" width="278" height="83"></figure><p>Зауважу, що тут треба вказувати юзінг у потрібному файлі. Використання static-слова в юзінгах допомагає краще працювати зі статичними членами статичного типу, якщо їх надто багато в одному файлі. Без статік юзінгу потрібно було б прописувати назву типу і назву методу. А якщо ще й назва класу задовга, то це призведе до справді важкого для розуміння синтаксису.</p><p>З описаним прийомом ви зможете досить ефективно скоротити кодову базу. Без використання глобал юзінгів в окремому файлі код виглядатиме краще:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/docsz/AD_4nXdfQmpNxVK6pZqAtdTXup4lqql3jHed83B57Oe5IeIpkWUHxh02K3ERZ1MuqMntuaNilIkgExKiCLGcEiBN6cxJ7ZZuqwcHKTN81L-8f_3lruG-wlkXa-AwRuj0dOuTrT8X0JFMu6ZIKotQsxbegoELxGdd6FopKTxZMDZqwEDQN4nVnwK5tyo?key=jV66FjCdvuv7RyTy9_CgIw" class="kg-image" alt loading="lazy" width="424" height="77"></figure><p>Додавати чи не додавати синтаксичний цукор – справа розробника. Ви самі маєте розібратися, наскільки це доцільно, чи буде корисно іншим девелоперам на проєкті. Але знати й пам’ятати про перераховані вище ситуації точно варто.</p><h2 id="%D1%86%D1%83%D0%BA%D0%BE%D1%80-%E2%80%93-%D0%BD%D0%B5-%D1%94%D0%B4%D0%B8%D0%BD%D0%B0-%C2%AB%D0%BF%D1%80%D0%B8%D0%BF%D1%80%D0%B0%D0%B2%D0%B0%C2%BB-%D0%B4%D0%BB%D1%8F-%D0%BA%D0%BE%D0%B4%D1%83-%D1%89%D0%B5-%D1%94-%D1%81%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%87%D0%BD%D0%B0-%D1%81%D1%96%D0%BB%D1%8C">Цукор – не єдина «приправа» для коду. Ще є синтаксична сіль<br></h2><p>Це прийом, де в чому схожий на «цукровий». Такий синтаксис теж не додає функціоналу, «солоний» код працюватиме так само, як і «чистий». Але якщо без цукру ви просто довше читаєте код, то без солі зростає ризик виникнення непорозуміння в команді.</p><p>На відміну від цукру, сіль не робить код читабельнішим. Кількість символів навпаки збільшується. Але використання солі виправдано тим, що завдяки такому синтаксису розробник точно розуміє, що відбувається, не пропускає деталі та показує іншим девелоперам мету застосованих ним рішень. Загалом це дає змогу знизити вірогідність помилок як автором коду, так і тими, хто працюватиме над продуктом надалі.</p><p>Поясню на прикладі. Уявімо чайлд-клас, який походить від базового класу. У цьому чайлд-класі потрібно створити новий член класу, який ховає член базового класу.</p><p>З одного боку, не обов’язково додавати до назви нового члену ключове слово new. Програма працюватиме коректно, і новостворений член класу буде використовуватися саме так, як вам потрібно. Але з іншого боку, додавання солі у вигляді слова new дасть змогу всім зрозуміти, що це ховання було явним. Тож не дарма навіть компілятор в C# видасть попередження: «‎Чи ви впевнені у своєму коді, чи не варто додатково прописати new?».</p><p>Як і використання синтаксичного цукру, сіль у коді має свої переваги й недоліки. Додавання деталей часом рятує від помилок. Код гарантовано буде якісним. Певно, це оцінять розробники, у яких багато однотипних задач, коли око, що називається, «‎замилюється» і можна не помітити важливих дрібниць.</p><p>Проте із сіллю треба бути ще обережнішими, ніж із цукром. Складні синтаксичні конструкції в будь-якому випадку впливають на читабельність. Навіть середня кількість елементів робить код нехай і стабільнішим, але все ж складнішим для розуміння, тому практикуйтеся та намагайтеся тримати баланс.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ ІТ-професії популярні серед молоді. Багато абітурієнтів обирають технологічну галузь у гонитві за трендом та можливістю класно заробляти в майбутньому. Хороша новина – в ІТ є спеціальності під різні навички та цілі. Залишається обрати «свій» напрям, у якому буде комфортно розвиватися. І тут батьки можуть допомогти своїй дитині.

Ці поради будуть корисними ]]></description>
        <link>https://proit.ua/iak-dopomoghti-ditini-obrati-profiesiiu-v-it-poradi-batkam-vstupnikiv/</link>
        <guid isPermaLink="false">6666f5ba07c641e703e9bc5b</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Олексій Рубель ]]></dc:creator>
        <pubDate>ср, 12 черв 2024 14:00:21 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/06/tutor-reading-book-student-learning.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>ІТ-професії популярні серед молоді. Багато абітурієнтів обирають технологічну галузь<a href="http://onlinecorrector.com.ua/%D0%BD%D0%B0%D0%BF%D1%80%D1%8F%D0%BC%D0%BE%D0%BA"> </a>у гонитві за трендом та можливістю класно заробляти в майбутньому. Хороша новина </em>–<em> в ІТ є спеціальності під різні навички та цілі. Залишається обрати «свій» напрям, у якому буде комфортно розвиватися. І тут батьки можуть допомогти своїй дитині.</em></p><p><em>Ці поради будуть корисними батькам-айтівцям і тим, хто не має досвіду в ІТ, але бачить у своєї дитини інтерес до технологій.</em></p><h2 id="%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D0%B0-%D0%B2-%D1%96%D1%82-%D0%B7%D0%B0%D0%BB%D0%B8%D1%88%D0%B0%D1%94%D1%82%D1%8C%D1%81%D1%8F-%D0%B7%D0%B0%D1%82%D1%80%D0%B5%D0%B1%D1%83%D0%B2%D0%B0%D0%BD%D0%BE%D1%8E">Робота в ІТ залишається затребуваною</h2><p>Експерти глобального інституту McKinsey <a href="https://www.mckinsey.com/featured-insights/future-of-work/jobs-lost-jobs-gained-what-the-future-of-work-will-mean-for-jobs-skills-and-wages">прогнозують</a>, що до 2030 року зростатиме кількість робочих місць для айтівців.</p><p>Крім того, у повоєнному відновленні України не обійтись без розробників програмного забезпечення, аналітиків Big Data, фахівців із кібербезпеки.</p><p>ІТ-спеціалісти розроблятимуть цифрові рішення для різних сфер життя: медицини, освіти, електронної комерції, промисловості. Наприклад, створюватимуть застосунки для психологічної підтримки постраждалих від війни, онлайн-платформи для дистанційного навчання, підвищуватимуть рівень безпеки урядових систем від кібератак тощо.</p><p>У виборі майбутньої професії можна орієнтуватися на перспективні, популярні спеціальності. Але набагато краще, коли ці перспективи підкріплені особистими амбіціями й інтересами дитини.</p><h2 id="%D1%83-%D0%BF%D0%BE%D1%88%D1%83%D0%BA%D0%B0%D1%85-%C2%AB%D1%81%D0%B2%D0%BE%D0%B3%D0%BE%E2%80%8E%C2%BB-%D0%BD%D0%B0%D0%BF%D1%80%D1%8F%D0%BC%D1%83-%D1%80%D0%B0%D0%B4%D0%B6%D1%83-%D0%B1%D0%B0%D1%82%D1%8C%D0%BA%D0%B0%D0%BC-%D0%B4%D0%BE%D1%82%D1%80%D0%B8%D0%BC%D1%83%D0%B2%D0%B0%D1%82%D0%B8%D1%81%D1%8C-%D1%82%D0%B0%D0%BA%D0%BE%D0%B3%D0%BE-%D0%BF%D0%BB%D0%B0%D0%BD%D1%83">У пошуках «свого‎» напряму раджу батькам дотримуватись такого плану:</h2><h3 id="1-%D0%BF%D1%96%D0%B4%D1%82%D1%80%D0%B8%D0%BC%D1%83%D0%B9%D1%82%D0%B5-%D1%82%D0%B0-%D0%B4%D0%BE%D0%B2%D1%96%D1%80%D1%8F%D0%B9%D1%82%D0%B5-%D0%B2%D0%B8%D0%B1%D0%BE%D1%80%D1%83-%D1%81%D0%B2%D0%BE%D1%94%D1%97-%D0%B4%D0%B8%D1%82%D0%B8%D0%BD%D0%B8">1. Підтримуйте та довіряйте вибору своєї дитини</h3><p>Це найважливіше, що ви можете зробити. Так етап вибору професії стане для неї менш стресовим.</p><p>Підлітки можуть відчувати страх та відповідальність за своє рішення. Підтримайте своїх дітей – дайте їм більше можливостей зрозуміти себе та дослідити сучасні напрями.</p><p>Цікавтесь, які професії подобаються та чому, запитуйте, як ще можете допомогти у виборі (і робіть це). У такій атмосфері підлітки знайдуть спеціальність своєї мрії, а тому зможуть швидше стартувати в кар’єрі (без потреби у перевиборі фаху).</p><h3 id="2-%D0%B4%D0%BE%D1%81%D0%BB%D1%96%D0%B4%D0%B6%D1%83%D0%B9%D1%82%D0%B5-%D1%80%D0%B0%D0%B7%D0%BE%D0%BC-%D0%BA%D0%B0%D1%80%E2%80%99%D1%94%D1%80%D0%BD%D1%96-%D0%BC%D0%BE%D0%B6%D0%BB%D0%B8%D0%B2%D0%BE%D1%81%D1%82%D1%96-%D0%B2-%D1%96%D1%82">2. Досліджуйте разом кар’єрні можливості в ІТ</h3><p>Якщо ви працюєте в ІТ-компанії, залучайте дитину до своєї роботи.</p><p>Розкажіть, чим ви займаєтесь, а що роблять ваші колеги. Поясніть, як різні спеціалісти взаємодіють між собою. Якщо є можливість прийти в офіс разом із підлітком, запросіть його. Так він зможе оцінити робочу атмосферу та поспілкуватись з іншими айтівцями. Це стане відправною точкою у виборі професії.</p><p>Батькам, які не мають досвіду в ІТ, складно допомогти дитині з вибором професії у цій галузі. Але це не означає, що зовсім неможливо. Ознайомтесь із найбільш затребуваними ІТ-напрямами. Це дасть вам змогу краще орієнтуватись у специфіці галузі та не пропусти жодної можливості.</p><p><strong>ІТ – це мультипрофесійна галузь, у якій працюють:</strong></p><ul><li><strong>Розробник.</strong> Пише код для програмного забезпечення, вебсайтів, мобільних застосунків, ігор.</li><li><strong>QA-тестувальник. </strong>Перевіряє (тестує) ІТ-продукти та знаходить помилки.</li><li><strong>Project-manager. </strong>Керує роботою над проєктом. Слідкує, щоб команда виконала роботу якісно, у домовлений строк та не перевищила бюджет.</li><li><strong>Product-manager. </strong>Задає вектор розвитку продукту (програмного забезпечення, технологічного рішення) та відповідає за його вихід на ринок.</li><li><strong>Data-інженер.</strong> Працює з великими базами та джерелами даних: збирає, зберігає та робить готовими до подальшого використання.</li><li><strong>IT-рекрутер. </strong>Знаходить людей, які можуть стати частиною ІТ-команди.</li><li><strong>UI/UX-дизайнер. </strong>Створює візуально привабливі інтерфейси для вебсайтів, мобільних застосунків, ігор.</li><li><strong>PR-manager. </strong>Розробляє стратегію і план дій, як підвищити впізнаваність компанії в країні та на міжнародній арені.</li><li><strong>Event-manager. </strong>Організовує і проводить різні заходи: конференції, майстер-класи, воркшопи, тімбілдінги та інші.</li><li><strong>Копірайтер.</strong> Наповнює текстом сайти, мобільні застосунки, пише про технології й галузь у цілому.</li></ul><h3 id="3-%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B7%D1%83%D0%B9%D1%82%D0%B5-%D0%BD%D0%B0%D0%B2%D0%B8%D1%87%D0%BA%D0%B8-%D0%B9-%D1%96%D0%BD%D1%82%D0%B5%D1%80%D0%B5%D1%81%D0%B8-%D0%B4%D0%B8%D1%82%D0%B8%D0%BD%D0%B8">3. Аналізуйте навички й інтереси дитини</h3><p>Схильність до певних шкільних дисциплін не визначає майбутній фах.</p><p>Знання математики не гарантують, що ваша дитина зможе стати крутим розробником. Як і високі оцінки з мови не вказують на те, що треба пов’язати кар’єру із написанням текстів.</p><p>Зацікавленість гаджетами не потрібно плутати із захопленням ІТ. Вашу дитину не відірвати від комп’ютерних ігор? Ймовірно, що їй просто подобається така розвага. Інша справа – якщо підлітку цікаво, як створювати ігри, що для цього потрібно вчити. Тоді варто звернути увагу на можливу схильність до ІТ.</p><p>Така сама ситуація із соцмережами. Діти діляться фотографіями, думками, спілкуються один з одним, бо це популярно серед їхніх однолітків. Бажання створити гарний профіль (особисту сторінку), інтерес до привабливих акаунтів брендів може перерости у майбутню професію.</p><h3 id="4-%D0%BF%D1%80%D0%BE%D0%B9%D0%B4%D1%96%D1%82%D1%8C-%D0%BF%D1%80%D0%BE%D1%84%D0%BE%D1%80%D1%96%D1%94%D0%BD%D1%82%D0%B0%D1%86%D1%96%D0%B9%D0%BD%D0%B8%D0%B9-%D1%82%D0%B5%D1%81%D1%82">4. Пройдіть профорієнтаційний тест</h3><p>Це один зі способів проаналізувати схильності до тих чи інших професій. Результат тесту допоможе дитині краще зрозуміти сильні сторони й стати відправною точкою для подальшого знайомства з професією.</p><p>В інтернеті є чимало таких тестів, зокрема для ІТ-спеціальностей. Але враховуйте, для кого їх розробили. Це можуть бути сервіси для людей із досвідом роботи та без. Від цього залежать питання, відповідно – і точність результату.</p><p>Також орієнтуйтесь на країну, для якої створили профтести. Вимоги до освіти та попит на фахівців можуть змінюватись залежно від регіону.</p><p>В Україні є сервіс для вступників на ІТ-спеціальності в українські виші. Це проєкт від ІТ-команди NIX під назвою <a href="https://itsway.nixsolutions.com/">ITs WAY</a>.</p><p>На платформі доступна інформація про популярні напрями: QA, проєктний менеджмент, бізнес-аналітика, розробка програмного забезпечення, Data-інжиніринг, DevOps та UI/UX-дизайн.</p><p>Абітурієнти можуть пройти тест, щоб визначити свою схильність до цих напрямів і в яких університетах навчають за ними.</p><p>Особливість сервісу – це розрахунок ймовірності вступу у провідні ЗВО Харкова та Полтави. Для цього потрібно ввести бали НМТ (ЗНО) у відповідні строки за додати за наявності сертифікат про закінчення підготовчих курсів.</p><h3 id="5-%D1%81%D1%84%D0%BE%D1%80%D0%BC%D1%83%D0%B9%D1%82%D0%B5-%D0%B2-%D0%B4%D0%B8%D1%82%D0%B8%D0%BD%D0%B8-%D1%81%D1%82%D1%96%D0%B9%D0%BA%D0%B8%D0%B9-%D1%96%D0%BD%D1%82%D0%B5%D1%80%D0%B5%D1%81-%D0%B4%D0%BE-%D0%BF%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%96%D1%97">5. Сформуйте в дитини стійкий інтерес до професії</h3><p>Йдеться про те, щоб підліток щиро хотів розібратись у майбутній спеціальності. З бажанням і підготовка до вступних іспитів ефективніша, і в самому університеті навчання буде цікавішим.</p><p>Формуйте інтерес дитини із задач та активностей, які не потребують багато часу. Не «навантажуйте» її відразу книгами чи фаховими статтями, інакше можете спровокувати внутрішній протест.</p><p>Пам’ятайте: Альберт Ейнштейн захопився наукою завдяки маленькому компасу, а не величезній енциклопедії.</p><p>Щойно дитина звернула увагу на якусь спеціальність, дайте їй можливість «затестити» свій вибір і змінити рішення, якщо щось не сподобається у процесі. Встановіть потрібні програми.</p><p>Підлітку не обов’язково розбиратись у таких інструментах як профі, достатньо ознайомитись із функціоналом. Це може бути Adobe Photoshop для створення графіки й обробки фото, Figma – для спільної роботи над дизайном сайту чи застосунку, пакет програм MATLAB для обробки чисел, Git – щоб управляти процесом розробки.</p><p>Найкращий спосіб переконатися, чи вдало дитина вибрала професію, – це запропонувати їй виконати завдання з майбутньої спеціальності.</p><p>Хоче розвиватись у дизайні – допоможіть створити дизайн блокноту, книги, листівки тощо. Це можна зробити в онлайн-програмі, як-от Canva, чи створити ескіз на аркуші.</p><p>Мріє про кар’єру тестувальника – потестити застосунок чи сайт і написати відгук, чи зручно ними користуватись, як відображається інформація на сторінках, чи інтуїтивно-зрозумілий інтерфейс на ресурсах.</p><p>Якщо думає про Data-аналітику, можна створити графіки на основі будь-яких цифр. Це можуть бути ваші чеки із супермаркету, комунальні платежі, сімейний дохід за місяць тощо.</p><p>Пошукайте вебінари, майстер-класи з обраного фаху. Це класна можливість за короткий час ознайомитись зі специфікою майбутньої роботи.</p><p>Бонус таких заходів – знайомство з однодумцями. Підліток спілкуватиметься з такими ж початківцями та разом вивчатиме нове. Одноліткам цінна підтримка одне одного. Особливо, якщо йдеться про спільні інтереси.</p><h3 id="6-%D1%80%D0%BE%D0%B7%D0%B2%D0%B8%D0%B2%D0%B0%D0%B9%D1%82%D0%B5-%D0%BD%D0%B0%D0%B2%D0%B8%D1%87%D0%BA%D0%B8-%D0%BD%D0%B5%D0%BE%D0%B1%D1%85%D1%96%D0%B4%D0%BD%D1%96-%D0%B2-%D0%BE%D0%B1%D1%80%D0%B0%D0%BD%D1%96%D0%B9-%D1%81%D1%84%D0%B5%D1%80%D1%96">6. Розвивайте навички, необхідні в обраній сфері</h3><p>«Підключайте» книги, ресурси з корисною інформацією, курси або репетиторів. Таке навчання потребуватиме чимало зусиль, тож попіклуйтеся, щоб процес приносив підлітку задоволення.</p><p>Ось декілька ресурсів, які, на мій погляд, дозволять школярам та абітурієнтам краще познайомитись із популярними ІТ-напрямами:</p><ul><li><a href="https://scratch.mit.edu/">Scratch</a>. На платформі можна створити інтерактивну історію, анімацію та гру. Учасники діляться своїми роботами, надихаються проєктами інших та обговорюють їх.</li><li><a href="https://fundamenta.app/">Fundamenta</a>. Безоплатний мобільний застосунок для вивчення основ JavaScript, Java, Python та інших мов програмування. Навчання – українською мовою.</li><li><a href="https://www.codingame.com/start/">CodinGame</a>. Ігрова платформа для вивчення програмування. Учасники керують сюжетом ігор за допомогою написання коду.</li></ul><p>Важливо, щоб дитина фокусувалася не лише на тому, що знадобиться в майбутній роботі. Успіхів у кар’єрі досягають фахівці з широким світоглядом. Тож корисними будуть будь-які нові знання та навички, дотичні до ІТ.</p><p><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></em></p><p><em><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></em>‌‌</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Сьогодні цифрові технології проникають у всі сфери нашого життя, тому захист особистих даних – важлива складова у роботі будь-якої компанії, особливо якщо вона працює у сфері фінансів.

Ми у NovaPay розуміємо, що безпека коштів наших клієнтів – це наша першочергова мета. Тому системи кіберзахисту – для нас не побажання, а стандарт роботи. Ми ]]></description>
        <link>https://proit.ua/na-pieriedovii-biezpieki-iak-novapay-gharantuie-zakhist-danikh-kliientiv/</link>
        <guid isPermaLink="false">665c504d7bcc6c1ec5e4c7b0</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Григорій Лісничий ]]></dc:creator>
        <pubDate>вт, 04 черв 2024 14:00:15 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/06/29329.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Сьогодні цифрові технології проникають у всі сфери нашого життя, тому захист особистих даних – важлива складова у роботі будь-якої компанії, особливо якщо вона працює у сфері фінансів.</p><p>Ми у NovaPay розуміємо, що безпека коштів наших клієнтів – це наша першочергова мета. Тому системи кіберзахисту – для нас не побажання, а стандарт роботи. Ми інвестуємо в цей напрям третину нашого ІТ-бюджету, щоб наші клієнти знали, що їхні гроші та дані – під надійним захистом. Розповідаю, що саме для цього робимо.</p><h2 id="%D0%B1%D0%B0%D0%B3%D0%B0%D1%82%D0%BE%D1%80%D1%96%D0%B2%D0%BD%D0%B5%D0%B2%D0%B0-%C2%AB%D0%B1%D1%80%D0%BE%D0%BD%D1%8F%C2%BB">Багаторівнева «броня»</h2><p>Ми плануємо архітектуру наших ІТ-систем таким чином, наче будь-якої миті вони можуть опинитися або під потужною DDoS-атакою або під кібератакою. Як-то кажуть, краще перестрахуватися, ніж долати наслідки.</p><p>Ми керуємось принципом zero trust – нульової довіри. Це означає, що системи та їхній захист будуються по принципу відсутності довіри до будь-чого.</p><p>Будь-яка транзакція, інтеграція та особистість для нас – це потенційна загроза. Це значить, що абсолютно уся взаємодія між інформаційними системами, інтеграції з партнерами та доступ користувачів (як зовнішніх, так і внутрішніх) – максимально захищені.</p><p>Ми будуємо системи кіберзахисту NovaPay за принципом ешелонованого захисту. Такий підхід забезпечує багаторівневий захист і дає змогу ізолювати компоненти систем та мінімізувати ризики зламу і витоку інформації.</p><h3 id="%D0%BC%D0%B0%D1%94%D0%BC%D0%BE-%D1%82%D0%B0%D0%BA%D1%96-%D1%80%D1%96%D0%B2%D0%BD%D1%96">Маємо такі рівні:</h3><ul><li><strong>Захист периметра</strong> (первинний захист): захист зовнішніх мереж і точок взаємодії з системою. Ми використовуємо комплексні рішення, які покривають безпеку вебзастосунків (Web Application Firewall), забезпечують захист від DDoS-атак та безпеку периметра.</li><li><strong><strong><strong>Захист застосунків і внутрішнього контуру </strong></strong></strong>(середній захист)<strong><strong> </strong></strong>– найцікавіша історія. Це і планування захисту мережі, і рішення з шифрування, і антивірусний захист, контроль потоків даних та SIEM-система.</li><li><strong>Кінцевий рівень</strong> (глибокий захист): захист пристроїв, застосунків і даних. Наша система будується за принципом Secure-by-Design. Це означає, що ще на етапі проєктування вони проходять Security review – ми перевіряємо, чи коректно ухвалили технічні рішення з урахуванням ризиків інформаційної безпеки.</li></ul><p>Цей підхід дає змогу NovaPay забезпечити повний та комплексний захист своїх інформаційних активів на різних рівнях, допомагає мінімізувати ризики. Бо тоді, коли в світі зазвичай у кібербезпеку інвестують десь 10% від бюджету ІТ, у нас це – близько 34%.</p><h2 id="%D0%BF%D0%BB%D0%B0%D1%82%D1%96%D0%B6%D0%BD%D0%B8%D0%B9-%D0%B7%D0%B0%D1%81%D1%82%D0%BE%D1%81%D1%83%D0%BD%D0%BE%D0%BA-%D1%81%D0%B5%D1%80%D1%82%D0%B8%D1%84%D1%96%D0%BA%D0%B0%D1%82%D0%B8-%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D0%BA%D0%B8-%D1%82%D0%B0-%D0%B7%D0%B0%D0%BA%D0%BE%D0%BD%D0%BE%D0%B4%D0%B0%D0%B2%D1%87%D1%96-%D0%B2%D0%B8%D0%BC%D0%BE%D0%B3%D0%B8">Платіжний застосунок, сертифікати безпеки та законодавчі вимоги</h2><p>З огляду на те, що надійність клієнтських операцій для нас – пріоритет № 1, ми маємо не тільки внутрішні стандарти безпеки, а й керуємося зовнішніми. NovaPay має чинний сертифікат PCI DSS (стандарт безпеки для індустрії платіжних карток) та повністю відповідає правилам щодо кіберзахисту від Національного банку України.</p><p>Payment Card Industry Data Security Standard (PCI DSS) для нас не тільки сертифікат із захисту конфіденційних даних та інформації платіжних карток. Це універсальний стандарт з інформаційної безпеки, який дозволяє довести процеси до рівня зрілості.</p><p>Ми пішли трохи далі та розширили вимоги стандарту PCI DSS на всі інформаційні системи компанії. Це означає, що всі сервіси NovaPay відповідають вимогам міжнародних платіжних систем.</p><p>Ви можете сміливо сплачувати чи переказувати кошти за послуги й товари звичайною карткою, у застосунку, за допомогою Apple чи Google Pay, не остерігаючись шахрайства, адже сертифікація PCI DSS підтверджує, що ваші гроші у безпеці на кожному етапі платежу.</p><p>Завжди думаючи про безпеку клієнтських коштів і зважаючи на поточний порядок денний і ризики, ми щороку робимо перегляд стратегії кібербезпеки.</p><p>Наприклад, нещодавно ми дуже швидко спроєктували додатковий контур захисту в застосунку NovaPay на основі скорингу Device ID. Якщо простіше, то на пристрої потенційного зловмисника неможливо буде навіть зайти у застосунок без додаткової верифікації.</p><h2 id="%D0%B7%D0%B0%D1%85%D0%B8%D1%81%D1%82-%D1%96%D0%B7%D1%81%D0%B5%D1%80%D0%B5%D0%B4%D0%B8%D0%BD%D0%B8">Захист ізсередини</h2><p>Для кожної компанії однією із загроз кібербезпеці є співробітники, їхні робочі станції та доступи. Щоб зменшити ці ризики, працюємо і в цьому напрямі. Контролюємо доступи співробітників. У кожній із систем вони суворо регламентовані.</p><p>Окремо маємо захист кінцевих робочих станцій і процеси інформаційної безпеки. Це комплекс мір, починаючи від рольової моделі доступу кожного співробітника й закінчуючи рішенням для шифрування даних, антивірусним захистом та комплексною системою захисту від витоку інформації. А забезпечення віддаленого підключення за допомогою багатофакторної автентифікації є стандартом.</p><p>Але намагаємось будувати процеси так, щоб не заважати роботі колег. Для обмеження доступів оцінюємо ризики щодо кожного ІТ-сервісу, інформаційної системи за класичним підходом: конфіденційність, цілісність, доступність. Де цих ризиків більше – там правила жорсткіші. Ця історія переглядається щонайменше раз на квартал.</p><h2 id="%C2%AB%D0%BF%D1%80%D0%B8%D0%BB%D0%B5%D1%82%D1%96%D1%82%D0%B8-%D0%BC%D0%BE%D0%B6%D0%B5-%D0%B1%D1%83%D0%B4%D1%8C-%D1%8F%D0%BA%D0%BE%D1%97-%D0%BC%D0%B8%D1%82%D1%96%C2%BB-%D0%B0%D0%B1%D0%BE-%D0%B2%D1%96%D0%B4%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D0%B8%D1%81%D1%8C-%D0%B7%D0%B0-15-%D1%85%D0%B2%D0%B8%D0%BB%D0%B8%D0%BD">«Прилетіти може будь-якої миті», або Відновитись за 15 хвилин</h2><p>Ми будуємо нашу стратегію кіберзахисту за принципом «прилетіти може будь-якої миті».</p><p>Працюємо в режимі жорстких SLA, де діє жорсткий принцип – відновлення роботи за 15 хвилин. Тому ми періодично влаштовуємо так звані навчання – тестування плану безперервної діяльності.</p><p>Щокварталу ми робимо тести на проникнення – імітуємо в реальному часі хакерську атаку за принципами Black Box та White Box (умовно коли атакуючий не знає нюансів про нашу систему або ж навпаки знає, як все влаштовано).</p><p>Також моделюємо ситуації, коли одна команда акумулює атаку, а друга її відбиває. За результатами кожного зі сценаріїв ми вносимо покращення до наших ІТ-систем. Бо не маємо права на помилку й небезпеку для клієнтів.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em>‌‌</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Поки у нас тут війна і корупція, на Заході вирує ель-шкандаль навколо штучного інтелекту та його загроз.

Суть справи: компанія Microsoft нещодавно анонсувала нову лінійку ноутбуків з оновленою Windows 11, у складі якої буде штучний інтелект Copilot (читається «ко-пайлот», типу «напарник-пілот»), а його фішкою буде функція Recall. Назва асоціюється із ]]></description>
        <link>https://proit.ua/shcho-nie-tak-z-recall-vid-microsoft/</link>
        <guid isPermaLink="false">665743c363f9253ffa70110c</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Костянтин Корсун ]]></dc:creator>
        <pubDate>пт, 31 трав 2024 14:00:50 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/05/windows-11-recall.jpeg" medium="image"/>
        <content:encoded><![CDATA[ <p>Поки у нас тут війна і корупція, на Заході вирує ель-шкандаль навколо штучного інтелекту та його загроз.</p><p>Суть справи: компанія Microsoft нещодавно анонсувала нову лінійку ноутбуків з оновленою Windows 11, у складі якої буде штучний інтелект Copilot (читається «ко-пайлот», типу «напарник-пілот»), а його фішкою буде функція Recall. Назва асоціюється із легендарним фільмом Total Recall («Пригадати все» з Арнольдом Шварцнеггером).</p><p>Полягає функція Recall у тому, що штучний інтелект постійно записує всю активність користувача та робить скріншоти кожні кілька секунд, щоб у випадку втрати даних можна було «повернутися у минуле» та переглянути свої дії. Які застосунки відкривалися, з якими документами працював і навіть які клавіші натискав. У тому числі записуватимуться онлайн-зустрічі та фінансові операції з онлайн-банкінгом.</p><p>Уся ця інформація буде індексуватися системою і зберігатися локально на комп’ютері, щоб потім можна буде повернутися до потрібного місця за кілька секунд, причому простим словесним запитом. Така собі «машина часу». Пам’ятаєте, «ой, я шось нажала і все зникло»? Ото воно.</p><p>Шо тут почалося. Тисячі фахівців із кібербезпеки та захисту приватності почали заявляти, що це неприкрите слідкування за користувачем, що дані можуть передаватися назовні «для навчання ШІ», для продажу рекламодавцям, що це Клондайк для спецслужб та хакерів.</p><p>Microsoft клявся-божився, що ці дані «надійно зашифровані» і будуть зберігатися виключно на комп’ютері користувача, і сам Майкрософт не матиме до них доступ. А також що функцію Recall можна налаштовувати або повністю відмикати і що вона ніколи-ніколи не буде ввімкненою за замовчуванням, а щоб її увімкнути, потрібно буде пройти спеціальну процедуру. І щоб стороннім особам отримати доступ до даних, які записує Recall, потрібно буде мати фізичний доступ до пристрою.</p><p>Але нарід продовжував кричати «Джордж Оруелл не міг цього передбачити», «це кошмар для приватності». Деякі юзери казали «це остання крапля» та обіцяли перейти на Linux.</p><p>Професор зі штучного інтелекту Університету Меріленду Jen Golbeck сказала так:</p><blockquote><em>«Матеріали можуть залишатися на вашому пристрої, але це не означає, що люди не можуть до них отримати доступ. У вас не буде можливості захистити себе, навіть якщо ви використовуєте режим анонімного перегляду або очищаєте історію, оскільки інструмент [Recall – KK] має доступ до всього, що було на вашому екрані».</em></blockquote><p>Ілон Маск назвав Recall «епізодом із «Чорного дзеркала» і пообіцяв обов’язково її вимкнути, коли ця функція буде доступна. Відповідно, його слова миттєво рознесли по Інтернету легіони його прихильників і світові медіа.</p><p>Після такої світової реакції британський регулятор захисту персональних даних направив до Дрібном’яких запит, щоб «розуміти заходи безпеки для захисту конфіденційності користувачів».</p><p>До чого я все це розказав. Щоб нагадати і ще раз показати, як у великому Світі люди цінують свою приватність і боряться за неї. Тому що вважають це справді важливим. На їхньому боці також незалежні спеціалізовані агенції, і вони уважно дослухаються суспільної думки. І у них немає чогось типу «Дії», це правда. Немає саме тому, що є працююча система захисту приватності та персональних даних. Там є розуміння «безпека даних громадян = безпека держави».</p><p>Там слово «безвідповідальність» є тяжким звинуваченням, яке може призвести до багатомільйонних фінансових втрат або відставки уряду.</p><p>А не те, шо у нас.</p><p>Більше про цей кейс та ризики кібербезпеки майбутньої (?) функції Recall можна почитати <a href="https://cutt.ly/beyExXwH">тут</a> (англійською).</p><p><em><em><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></em></em></em></p><p><em><em><em><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Багато компаній сьогодні вважають, що оснащення офісних та робочих приміщень якісною комп’ютерною технікою не є головним пріоритетом під час війни.

Це так, проте незважаючи на важкі умови роботи на економічному фронті в Україні останніми роками, потреба в цифровізації всіх робочих процесів тільки зростає. А отже рано чи пізно і ]]></description>
        <link>https://proit.ua/oghliad-suchasnikh-konfighuratsii-pk-dlia-korporativnogho-siektoru-2024/</link>
        <guid isPermaLink="false">66558c1a63f9253ffa700eda</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Андрій Блощинський  ]]></dc:creator>
        <pubDate>ср, 29 трав 2024 14:00:42 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/05/lifestyle-people-office.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Багато компаній сьогодні вважають, що оснащення офісних та робочих приміщень якісною комп’ютерною технікою не є головним пріоритетом під час війни.</p><p>Це так, проте незважаючи на важкі умови роботи на економічному фронті в Україні останніми роками, потреба в цифровізації всіх робочих процесів тільки зростає. А отже рано чи пізно і перед новим бізнесом чи стартапом, і перед великою державною установою виникає питання оновлення чи облаштування нових робочих місць для власних співробітників.</p><p>Опрацьовуючи до сотні таких запитів на місяць навіть у воєнні роки та відслідковуючи всі тренди світового виробництва у сфері ПК, сьогодні ми рекомендуємо звернути увагу на основні складові вибору якісної та сучасної комп’ютерної техніки для вашого підприємства.</p><h2 id="%D0%B2%D0%B8%D0%BC%D0%BE%D0%B3%D0%B8-%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D1%83%D0%B2%D0%B0%D1%87%D1%96%D0%B2-%D0%B4%D0%BE-%D0%BE%D1%84%D1%96%D1%81%D0%BD%D0%B8%D1%85-%D0%BF%D0%BA-%D0%BC%D0%BE%D0%BD%D1%96%D1%82%D0%BE%D1%80%D1%96%D0%B2-%D1%82%D0%B0-%D0%BF%D0%B5%D1%80%D0%B8%D1%84%D0%B5%D1%80%D1%96%D0%B9%D0%BD%D0%BE%D0%B3%D0%BE-%D0%BE%D0%B1%D0%BB%D0%B0%D0%B4%D0%BD%D0%B0%D0%BD%D0%BD%D1%8F">Вимоги користувачів до офісних ПК, моніторів та периферійного обладнання</h2><p>У сучасному офісному середовищі вимоги до персональних комп’ютерів або ж ПК перш за все визначаються вимогами для забезпечення ефективної роботи та зручного використання програмного забезпечення.</p><p>Зазвичай такі мінімальні вимоги сьогодні включають 8 ГБ оперативної пам'яті та накопичувач SSD об’ємом 240 ГБ форм-фактору 2,5” або M.2.</p><p>Щодо процесорів, то більшість сучасних користувачів віддають перевагу моделям Intel 10-го, 11-го та 12-го поколінь із підтримкою операційної системи Windows 11. Враховуючи розвиток технологій, на ринку також вже доступні моделі процесорів Intel 13-го та 14-го поколінь, що забезпечують ще більшу продуктивність та ефективність роботи.</p><p>Щодо відеокарти, то в офісному середовищі зазвичай використовується інтегрований у процесор графічний адаптер, оскільки для більшості офісних завдань його цілком достатньо.</p><p>Основною ж операційною системою, яка використовується на сьогодні, є Windows 11, оскільки вона забезпечує більший рівень безпеки та функціональності порівняно із попередніми версіями. Однак деякі компанії можуть залишатися на Windows 10 залежно від їхніх потреб і політики використання програмного забезпечення.</p><p>Вимоги до офісного обладнання у 2024 році визначаються не лише його характеристиками, але й зручністю використання та доступністю на ринку.</p><p>Наприклад, при виборі периферійного обладнання, основну увагу користувачі звертають на зручність та функціональність клавіатури та мишки, а їх вибір зазвичай спрямований на стандартні моделі, доступні в комплекті за помірну ціну, незалежно від наявності провідного або безпровідного з'єднання.</p><p>Щодо моніторів, то більшість офісів зараз використовують стандартні Full HD монітори з частотою оновлення екрану 60 або 75 Гц. Для звичайних офісних завдань цих параметрів вистачає для зручної роботи. Однак, якщо потрібно працювати з більшою роздільною здатністю, наприклад, 2K або 4K, потрібно враховувати можливості вбудованого графічного адаптеру, який у деяких випадках може не забезпечити необхідний рівень зручності використання.</p><p>Щодо підключення монітора до ПК, найбільш поширеним інтерфейсом на сьогодні є HDMI, який зазвичай присутній в усіх офісних ПК та ноутбуках. Однак у випадку моніторів з роздільною здатністю 4K як правило використовується інтерфейс DisplayPort.</p><p>У цілому, незважаючи на широкий вибір обладнання, більшість офісів віддають перевагу простим і функціональним рішенням, що забезпечують зручність та ефективність роботи без зайвих витрат.</p><h2 id="%D1%87%D0%B8%D0%BD%D0%BD%D1%96-%D0%BD%D0%BE%D1%80%D0%BC%D0%B8-%D1%89%D0%BE%D0%B4%D0%BE-%D1%81%D0%B5%D1%80%D1%82%D0%B8%D1%84%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%97-%D0%BE%D0%B1%D0%BB%D0%B0%D0%B4%D0%BD%D0%B0%D0%BD%D0%BD%D1%8F">Чинні норми щодо сертифікації обладнання</h2><p>Україна, як і багато інших країн, стежить за тенденціями використання офісного обладнання з точки зору екологічності та безпеки. Ще один з найважливіших аспектів - це споживання енергії. Офісне обладнання, яке відповідає стандартам енергоефективності та екологічності, забезпечує економію електроенергії та мінімізує вплив на навколишнє середовище.</p><p>У цьому контексті відповідність енергозберігаючим стандартам, а також відповідність систем управління виробників обладнання стандартам Міжнародної організації зі стандартизації (ISO) стають важливими факторами при виборі обладнання. Стандарти ISO опосередковано визначають вимоги щодо енергоефективності, використання екологічно чистих матеріалів та можливості відновлення та переробки обладнання після закінчення терміну його експлуатації. Це стимулює виробників та користувачів до усвідомленого вибору обладнання та сприяє збереженню навколишнього середовища.</p><p>Україна активно впроваджує ці стандарти та підтримує ініціативи щодо зменшення впливу на екологію. Це сприяє створенню здорового та безпечного робочого середовища для співробітників компаній. І ми також підтримуємо ці ініціативи.</p><h2 id="%D0%BD%D0%B0%D0%B9%D0%B1%D1%96%D0%BB%D1%8C%D1%88-%D0%BF%D0%BE%D0%BF%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D1%96-%D0%B2-%D1%83%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%96-%D0%B2%D0%B8%D1%80%D0%BE%D0%B1%D0%BD%D0%B8%D0%BA%D0%B8-%D0%BA%D0%BE%D0%BC%D0%BF%E2%80%99%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D0%BE%D1%97-%D1%82%D0%B5%D1%85%D0%BD%D1%96%D0%BA%D0%B8">Найбільш популярні в Україні виробники комп’ютерної техніки</h2><p>Україна, як і багато інших країн, має свої «улюблені бренди» ПК та ноутбуків, які користуються популярністю серед користувачів. Серед них, наприклад, значно виділяються Lenovo, HP та Dell, як найбільш відомі та широко використовувані бренди.</p><p>Lenovo займає провідні позиції в українському ринку та є першим вибором для багатьох компаній та організацій. Продукція компанії представлена широкими лінійками моделей як портативних ПК та ноутбуків, так і потужних робочих станцій.</p><p>HP також має значний вплив на ринок комп’ютерної техніки в Україні. Їхні продукти відзначаються високою якістю збирання та функціональністю, що також робить їх популярними серед бізнес-користувачів.</p><p>Dell займає третє місце серед найбільш популярних брендів. Їхні продукти відомі своєю надійністю та продуктивністю.</p><p>Проте, якщо мова йде про надійні та доступні моделі саме вітчизняного виробництва, наші конфігурації комп’ютерів від Prime PC є беззаперечним лідером серед користувачів підприємств і в державному, і в комерційному секторі.</p><h2 id="%D0%B2%D0%B8%D0%B1%D1%96%D1%80-%D0%BA%D0%BE%D0%BD%D1%84%D1%96%D0%B3%D1%83%D1%80%D0%B0%D1%86%D1%96%D0%B9-%D1%82%D0%B0-%D1%81%D1%83%D0%BF%D1%80%D0%BE%D0%B2%D1%96%D0%B4-%D1%81%D0%BF%D0%B5%D1%86%D1%96%D0%B0%D0%BB%D1%96%D1%81%D1%82%D0%B0-%D0%BF%D1%80%D0%B8-%D0%B2%D0%B8%D0%B1%D0%BE%D1%80%D1%96-%D0%BC%D0%B5%D1%80%D0%B5%D0%B6%D0%B5%D0%B2%D0%BE%D0%B3%D0%BE-%D0%BE%D0%B1%D0%BB%D0%B0%D0%B4%D0%BD%D0%B0%D0%BD%D0%BD%D1%8F-%D1%96-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B7%D0%B0%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B2-%D0%BE%D1%84%D1%96%D1%81%D0%B0%D1%85">Вибір конфігурацій та супровід спеціаліста при виборі мережевого обладнання і програмного забезпечення в офісах</h2><p>При виборі конфігурацій мережевого обладнання та програмного забезпечення для офісів, роль у процесі підбору відводиться керівникам компаній, які, як правило, обізнані з потребами своєї компанії. У сфері ІТ, це можуть бути системні адміністратори або інженери, які розуміють технічні вимоги та можливості обладнання.</p><p>Для налаштування мережевого обладнання та програмного забезпечення в офісах працюють спеціалісти з мережевих технологій, такі як мережеві адміністратори. Ці фахівці гарантують правильне налаштування мережі та її безперебійне функціонування.</p><p>У випадках, коли потрібен обов'язковий супровід спеціаліста з боку постачальника або виробника, це може стосуватися діагностики обладнання, необхідності усунення несправностей, або при потребі у технічному обслуговуванні обладнання.</p><p>Наприклад, в рамках укладеного договору на технічне обслуговування, великий постачальник рівня нашої компанії може забезпечувати встановлення обладнання та виконання всіх необхідних налаштувань, а також проведення діагностики та ремонту в разі потреби.</p><p>Також, у випадках складного налаштування чи специфічних вимог до обладнання, обов'язковою може бути присутність спеціаліста на місці для забезпечення правильного функціонування системи.</p><p>Отже, правильний вибір конфігурацій та супровід спеціаліста при виборі мережевого обладнання і програмного забезпечення в офісах гарантує ефективну роботу системи та уникнення проблем з її функціонуванням.</p><h2 id="%D0%BA%D1%96%D0%B1%D0%B5%D1%80%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D0%BA%D0%B0-%D1%82%D0%B0-soc-%D0%B2-%D0%BE%D1%84%D1%96%D1%81%D0%BD%D0%BE%D0%BC%D1%83-%D1%81%D0%B5%D1%80%D0%B5%D0%B4%D0%BE%D0%B2%D0%B8%D1%89%D1%96">Кібербезпека та SOC в офісному середовищі</h2><p>При виборі обладнання та програмного забезпечення, важливо обов’язково враховувати принципи кібербезпеки, такі як розмежування прав доступу, шифрування даних та встановлення захисту від несанкціонованого доступу.</p><p>Окрім того, наявність локальних адміністраторів з окремими правами доступу може додатково забезпечити безпеку системи та запобігти можливим атакам.</p><p>Під час вибору та налаштування обладнання та програмного забезпечення в офісах, забезпечення кібербезпеки, а за можливості, і інтгерація SOC (Security Operations Center) сьогодні відіграють надзвичайно важливу роль у забезпеченні безпеки інформаційних систем.</p><p>SOC - це ключовий елемент в системі кібербезпеки, який відповідає за моніторинг інцидентів безпеки та реагування на них. Він відслідковує події, що можуть бути пов'язані з порушеннями безпеки, такими як неправильне введення паролів чи потенційні атаки, та надає відповідну реакцію для запобігання можливим загрозам.</p><p>Основна функція SOC полягає в постійному моніторингу стану безпеки системи та реагуванні на виявлені загрози. Він забезпечує постійний контроль за функціонуванням системи та вчасну відповідь на потенційні загрози.</p><h2 id="%D0%BF%D1%80%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4-%D0%BF%D0%B5%D1%80%D0%B5%D0%BB%D1%96%D0%BA%D1%83-%D1%80%D0%BE%D0%B1%D1%96%D1%82-%D0%BE%D0%B1%D0%BB%D0%B0%D0%B4%D0%BD%D0%B0%D0%BD%D0%BD%D1%8F-%D1%82%D0%B0-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B7%D0%B0%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B4%D0%BB%D1%8F-%D0%BE%D1%84%D1%96%D1%81%D1%83-%D0%BC%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE-%D1%82%D0%B0-%D0%B2%D0%B5%D0%BB%D0%B8%D0%BA%D0%BE%D0%B3%D0%BE-%D0%B1%D1%96%D0%B7%D0%BD%D0%B5%D1%81%D1%83">Приклад переліку робіт, обладнання та програмного забезпечення для офісу малого та великого бізнесу</h2><p>При облаштуванні офісу малого бізнесу, наприклад, до 10 співробітників, існують мінімальні ключові компоненти мережевого обладнання та програмного забезпечення, які забезпечують ефективну роботу організації.</p><h3 id="1-%D1%96%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82-%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B9%D0%B4%D0%B5%D1%80">1. Інтернет-провайдер</h3><p>Для забезпечення доступу до Інтернету і забезпечення безперебійної роботи офісу, малому бізнесу потрібно укласти угоду з провайдером. Одного провайдера може вистачити для малих компаній, але для великих підприємств рекомендується мати декілька провайдерів.</p><h3 id="2-%D0%BC%D0%B5%D1%80%D0%B5%D0%B6%D0%B5%D0%B2%D0%B5-%D0%BE%D0%B1%D0%BB%D0%B0%D0%B4%D0%BD%D0%B0%D0%BD%D0%BD%D1%8F">2. Мережеве обладнання</h3><p>На першому етапі може знадобитися комутаційна серверна, яка включає в себе маршрутизатори та комутатори для підключення комп'ютерів та інших пристроїв до мережі. Великі компанії можуть мати складніші мережеві інфраструктури з декількома серверами та забезпеченням безперебійності.</p><h3 id="3-%D0%BA%D0%BE%D1%80%D0%BF%D0%BE%D1%80%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%B0-wi-fi">3. Корпоративна Wi-Fi</h3><p>Забезпечення бездротового з'єднання для пристроїв у офісі може бути важливим, особливо для мобільних пристроїв та збільшення мобільності працівників.</p><h3 id="4-%D0%BA%D0%BE%D0%BC%D0%BF%D1%8E%D1%82%D0%B5%D1%80%D0%B8-%D1%82%D0%B0-%D0%BD%D0%BE%D1%83%D1%82%D0%B1%D1%83%D0%BA%D0%B8">4. Комп'ютери та ноутбуки</h3><p>Для організації робочих місць працівників можуть бути використані ПК або ноутбуки. Працівники, для яких важлива мобільність, зазвичай використовують ноутбуки. Проте ПК та окремий монітор з екраном більших розмірів, значно зручніші у використанні та менше шкодять здоров’ю. Крім того ПК буде потужнішим за ноутбук за ту саму ціну, за рахунок чого є більш економічним варіантом, як на стадії придбання, так і в випадку необхідності ремонту або апгрейду.</p><h3 id="5-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BD%D0%B5-%D0%B7%D0%B0%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8F">5. Програмне забезпечення</h3><p>Необхідною частиною є офісні програмні продукти, такі як Microsoft Office (Word, Excel), бухгалтерське програмне забезпечення, програми для документообігу, тощо. Для спеціалізованих потреб можуть знадобитися програми для дизайну, редакторські програми та інше.</p><h3 id="6-%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D1%96%D0%B9%D0%BD%D0%B0-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0-%D1%82%D0%B0-%D0%B0%D0%BD%D1%82%D0%B8%D0%B2%D1%96%D1%80%D1%83%D1%81">6. Операційна система та антивірус</h3><p>Використання корпоративних версій операційних систем, таких як Windows, є важливим для забезпечення безпеки та управління комп'ютерами в мережі. Також необхідно встановити антивірусне програмне забезпечення для захисту від шкідливих програм та загроз в Інтернеті.</p><p>Для великого бізнесу можуть додаватися такі компоненти, як розширена мережева інфраструктура, сервери віртуалізації, додаткові програмні засоби для автоматизації бізнес-процесів, а також сервіси і системи забезпечення безпеки мережі.</p><p>Кожна компанія має свої унікальні потреби, тому, у будь якому разі, перед початком планування технічного оснащення вашого офісу рекомендується провести аналіз і вибрати обладнання та програмне забезпечення, яке відповідає конкретним потребам та бюджету саме вашої організації. В цьому зокрема вам можуть допомогти консультації технічних спеціалістів компаній, що спеціалізуються на постачанні такого обладнання, що зазвичай надаються безоплатно.</p><p>Працюємо разом на Перемогу!</p><p><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></em></p><p><em><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Хмарні рішення – це тренд бізнес-середовища останніх років. Щонайменше 94% компаній використовують певні технології на базі хмар. Експерти тим часом пророкують значні зрушення на ринку. У 2024 році об’єм витрат на хмарне устаткування та супутні компоненти може сягнути понад $1 трильйон.

Хмари приваблюють підприємців через різні причини. Переважно бізнес цікавить ]]></description>
        <link>https://proit.ua/upravliati-rizikami-v-khmari-na-shcho-zviernuti-uvaghu/</link>
        <guid isPermaLink="false">664c6fce63f9253ffa700a50</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Данилo Бєлов ]]></dc:creator>
        <pubDate>ср, 22 трав 2024 14:00:35 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/05/209659.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Хмарні рішення – це тренд бізнес-середовища останніх років. Щонайменше<a href="https://www.zippia.com/advice/cloud-adoption-statistics/"> 94%</a> компаній використовують певні технології на базі хмар. Експерти тим часом пророкують значні зрушення на ринку. У 2024 році об’єм витрат на хмарне устаткування та супутні компоненти може сягнути понад <a href="https://finance.yahoo.com/news/15-biggest-cloud-providers-market-163802871.html?guccounter=1&amp;guce_referrer=aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8&amp;guce_referrer_sig=AQAAAFVDKHIHE1vpyistUe_yJDzgwCSVNPNgUohJYk3_Ytq-UgPYm7QrNqSVGzyobusf5B0sBRdqZARXkzPRpdPY5WooWNZOkHKKdd1KoSeiSeBDFuLa1oKCYAA_20pxM4p2z0HiM8CjDgpvsHsNdwVgKlrxwUpXJoEtAkMBGblt_r54">$1</a> трильйон.</p><p>Хмари приваблюють підприємців через різні причини. Переважно бізнес цікавить перспектива вищих прибутків, надійності та широкого спектра додаткових послуг. Проте вже тривалий час саме <a href="https://docs.google.com/presentation/d/1P8app8FaqFaOlsM4bs6tRlvYsl1erP6rW7lliQJclLU/edit?resourcekey=0-eDHgbzM9JNC0TvUrsGQg1A#slide=id.g213ed208a0b_0_30">кібербезпека</a> – беззаперечний пріоритет для глобальних організацій.</p><p>Слід пам’ятати, що панацеї від ризиків у мережі не існує. Хмари не гарантують всебічну недоторканість підприємства.</p><p>Кібератаки, стихійні лиха або технічні колапси – повністю від цього не врятують навіть хмари. Однак ці сервіси мають достатній запас міцності. Моніторинг загроз, кризовий менеджмент та управління ризиками у хмарі проводити значно легше й безпечніше.</p><h2 id="%D1%87%D0%BE%D0%B3%D0%BE-%D0%B2%D0%B0%D1%80%D1%82%D0%BE-%D0%BE%D1%81%D1%82%D0%B5%D1%80%D1%96%D0%B3%D0%B0%D1%82%D0%B8%D1%81%D1%8F">Чого варто остерігатися?</h2><p>Потенційні ризики хмарної безпеки вкрай різноманітні. Компанії змушені постійно адаптуватися, щоб раптово не потрапити у кризову ситуацію. Більшість загроз мають суто технічний характер та пов’язані з факторами захищеності від хакерів і якістю програмного й апаратного забезпечення. До таких варто віднести кібербезпеку й операційну надійність.</p><p>Зловмисники в мережі – це ледь не найбільша загроза стійкості підприємства. Хакери можуть викрасти дані, підірвати логістику або ж взагалі зруйнувати мережеві протоколи. Передовсім це тягне за собою суттєві репутаційні втрати для компанії.</p><p>Перебої з логістичними лініями загрожують на певний час паралізувати виконання зобов’язань. Водночас витік чутливої інформації підвищує ризики невідповідності нормативним вимогам, оскільки компанія не змогла вберегти доручені персональні дані клієнтів.</p><p>Хмарна інфраструктура суттєво полегшує операційний тягар підприємства. Бізнес завжди може покластися на надійного провайдера, передавши йому частину відповідальності та функцій. Це дає змогу заощадити на «залізі» і спрямувати збережені кошти на корпоративні потреби підприємства. Хмарні оператори відстежують стан мережі, попереджають потенційні хакерські атаки, забезпечують коректний бекап і за потреби надають доступ до даних у режимі реального часу.</p><p>Перевагою провайдерських послуг також є економія на відділі власних айтівців. Тримати чималий штат фахівців із кібербезпеки немає потреби. Для ефективної роботи внутрішньої системи вистачить кількох надійних спеціалістів. Зокрема, це мінімізує інсайдерські ризики, тобто ненавмисну або спрямовану внутрішню шкоду кіберсистемі.</p><h2 id="%D1%8F%D0%BA-%D0%B7%D0%B0%D1%85%D0%B8%D1%89%D0%B0%D1%82%D0%B8%D1%81%D1%8F">Як захищатися?</h2><p>Ефективне управління ризиками у хмарі починається з обрання надійного провайдера. При цьому слід розуміти, що саме на ньому лежатиме переважна частина операційних повноважень.</p><p>Критеріїв для оцінки провайдерів достатньо. Найбільший авторитет, безперечно, мають компанії з досвідом роботи та належною сертифікацією на державному й міжнародному рівнях, а також ті, які надають стабільні та якісні послуги протягом тривалого часу.</p><p>Важливим фактором є операційний функціонал провайдера, кількість головних та резервних каналів передачі даних, а також швидкість. Хмари не терплять зволікань. За умов кризи провайдер має реагувати в режимі реального часу: запобігати загрозам, що постають перед клієнтами, або ж забезпечити швидке аварійне відновлення.</p><p>Належне реагування у хмарі неможливе без попереднього аналізу ризиків. Це багатофакторний процес оцінки середовища, в якому існує хмарна інфраструктура компанії.</p><p>Нині технології масштабуються. Швидкість передачі та складність хмарних процесів можуть призвести до перевантаження системи. Кількість сповіщень про ризики зросте настільки, що оператори будуть не в змозі подолати всі виклики одночасно. Тож аналіз ризиків – це насамперед розставлення правильних пріоритетів, аналіз загроз та ресурсів, а також напрацювання сценаріїв чіткого плану дій.</p><p>Дані у хмарі не убезпечені від зламів і крадіжок. І хоча бекап дає гарантію аварійного відновлення, більшість критичних даних, зокрема персональні, опиняться в руках зловмисників.</p><p>Один зі способів мінімізації цієї загрози – шифрування інформації. Інструмент переслідує одразу дві цілі: перешкодити доступу даних як ззовні, так і зсередини.</p><p>Шифрування даних у хмарі необхідне, але поки не отримало достатнього поширення. Щонайменше <a href="https://cpl.thalesgroup.com/about-us/newsroom/2023-cloud-security-cyberattacks-data-breaches-press-release">40%</a> усіх приватних даних у хмарах – це саме чутлива інформація, а зашифровано з неї <a href="https://cpl.thalesgroup.com/about-us/newsroom/2023-cloud-security-cyberattacks-data-breaches-press-release">менше половини</a>.</p><h2 id="%D0%BF%D1%96%D0%B4%D1%81%D1%83%D0%BC%D0%BA%D0%B8">Підсумки</h2><p>Міграція у хмари – це системне рішення для компанії. Варто зрозуміти, навіщо взагалі його ухвалили та чого саме підприємство намагається домогтися?</p><p>Переваги хмар очевидні, але певні ризики теж існують. Один із них – неналежне використання наданих послуг, ненадійний провайдер або хибний план кризового менеджменту.</p><p>Управління ризиками у хмарі зводиться найперше до аналізу середовища. Зокрема, які загрози стоять перед хмарною інфраструктурою компанії першочергово і які системні дані варто рятувати пріоритетно? Лише відповіді на ці питання дозволяють коректно й ефективно керувати ризиками у хмарі.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Люди поділяються на два типи: одні при перших складнощах одразу йдуть за порадою до колег, інші – спочатку «гуглять» і намагаються самі з чимось розібратися.

Неважливо, в якій ви групі. Опанувавши мистецтво «‎гугління» як профі, ви станете тим, до кого звертатимуться колеги. На власному досвіді це перевірила Олександра Цаглова, Lead UХ/ ]]></description>
        <link>https://proit.ua/iak-naghughliti-potribnie-poradi-dizainieram-ta-vsim-khto-koristuietsia-google/</link>
        <guid isPermaLink="false">664351af0276b9db80696893</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  NIX Team ]]></dc:creator>
        <pubDate>пт, 17 трав 2024 14:00:53 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/05/fantastic-image-business-concept.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Люди поділяються на два типи: одні при перших складнощах одразу йдуть за порадою до колег, інші – спочатку «гуглять» і намагаються самі з чимось розібратися.</p><p>Неважливо, в якій ви групі. Опанувавши мистецтво «‎гугління» як профі, ви станете тим, до кого звертатимуться колеги. На власному досвіді це перевірила <strong>Олександра Цаглова</strong>, Lead UХ/UI-дизайнер в ІТ-команді NIX.</p><p>У цій статті експертка ділиться лайфхаками, як дизайнерам знаходити потрібні <a href="https://proit.ua/poshuk-rishien-a-nie-natkhniennia-iak-dizainieru-pratsiuvati-z-riefieriensami/">референси</a> та будь-яку іншу інформацію для роботи. А також, що робити, коли Google не впорався із запитом.</p><p>Поради будуть корисними всім, хто користується Google.</p><h2 id="%D0%B2%D0%BC%D1%96%D0%BD%D0%BD%D1%8F-%C2%AB%D0%B3%D1%83%D0%B3%D0%BB%D0%B8%D1%82%D0%B8%C2%BB-%D0%BF%D0%BE%D0%BA%D1%80%D0%B0%D1%89%D1%83%D1%94-%D1%8F%D0%BA%D1%96%D1%81%D1%82%D1%8C-%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D0%B8">Вміння «гуглити» покращує якість роботи</h2><p>Google <a href="https://www.towermarketing.net/blog/google-best-search-engine/">містить</a> сотні мільярдів вебсторінок і вміщує понад 100 мільйонів гігабайт даних. Цифри вражають. Можна годинами шукати щось конкретне серед усього масиву інформації, але так і не знайти потрібне.</p><p>Уміння «‎гуглити» – це важлива навичка для кожного. Знаючи, що та як запитати в Google, вас не обтяжить самостійно впоратись із різними задачами, навіть із чимось незнайомим і спершу занадто складним. Це додає самозарадності в будь-якій ситуації. До того ж, навчившись ефективно користуватися пошуковиком ви не будете відволікати колег. І що важливіше також:</p><ul><li><strong><strong><strong>Скоротите час виконання з</strong></strong>авдань</strong></li></ul><p>Ви зможете уникнути перегляду великої кількості результатів, які не дають жодної користі вашому проєкту. Швидше знайдете референси або відповідь на питання. Наприклад, хочете дізнатись, як відобразити анімацію з використанням CSS. Загальні запити можуть «розтягнути» пошук на цілий день. Та й немає гарантії, що так ви дійсно вирішите задачу. Якщо подивитесь документацію або конкретизуєте пошук, це збільшить шанси на успіх.</p><ul><li><strong><strong><strong>Будете в курсі кращих практик</strong></strong></strong></li></ul><p>Уміння працювати з різними джерелами інформації дозволяє відстежувати тренди і збагачувати свій досвід новими, дієвими рішеннями. Знайти щось цікаве можна в базах даних, соцмережах, у результатах опитувань аудиторії, на форумах, в офіційній документації сервісів чи фреймворків. Такий розширений пошук допомагає знаходити вдалі приклади<a href="http://onlinecorrector.com.ua/%D0%B4%D0%B0%D0%B2%D0%B0%D1%82%D0%B8-%D0%B7%D0%BC%D0%BE%D0%B3%D1%83-%D0%BD%D0%B0%D0%B3%D0%BE%D0%B4%D1%83"> </a>та втілювати власні ідеї.</p><ul><li><strong><strong><strong>Отримуватиме схвальні відгуки клієнтів</strong></strong></strong></li></ul><p>Скажу з досвіду дизайнерки: здатність швидко знаходити потрібний віжуал або інформацію про поведінку користувачів, про їхню взаємодію з інтерфейсами, допоможе якісно працювати над проєктом. Діліться з клієнтом знахідками та пропозиціями покращення дизайну. Хто знає, може, ви перевершите його очікування і ще в процесі роботи отримаєте позитивний фідбек.</p><h2 id="5-%D0%BA%D1%80%D0%BE%D0%BA%D1%96%D0%B2-%D0%B4%D0%BE-%D0%BF%D0%BE%D1%88%D1%83%D0%BA%D1%83-%D0%B2%D0%B4%D0%B0%D0%BB%D0%B8%D1%85-%D1%80%D0%B5%D1%84%D0%B5%D1%80%D0%B5%D0%BD%D1%81%D1%96%D0%B2">5 кроків до пошуку вдалих референсів</h2><h3 id="1-%D0%BF%D0%B8%D1%88%D1%96%D1%82%D1%8C-%D0%B7%D0%B0%D0%BF%D0%B8%D1%82%D0%B8-%D0%B0%D0%BD%D0%B3%D0%BB%D1%96%D0%B9%D1%81%D1%8C%D0%BA%D0%BE%D1%8E-%D0%BC%D0%BE%D0%B2%D0%BE%D1%8E">1. Пишіть запити англійською мовою</h3><p>Більшість ресурсів, пов’язаних з ІТ, доступні англійською. Інформація про тренди першочергово з’являється в англомовних джерелах. Тож ви обиратимете серед усього масиву актуальні дані. Бонус такої практики — «підтягнете» знання з мови.</p><p>Можна було б залишити тут кілька корисних посилань, де почитати про тренди в дизайні на 2024 рік. Але починайте вчитись «гуглити» вже зараз 🙂 </p><h3 id="2-%D1%84%D0%BE%D1%80%D0%BC%D1%83%D0%BB%D1%8E%D0%B9%D1%82%D0%B5-%C2%AB%D0%B2%D1%83%D0%B7%D1%8C%D0%BA%D1%96%C2%BB-%D0%B7%D0%B0%D0%BF%D0%B8%D1%82%D0%B8">2. Формулюйте «вузькі» запити</h3><p>Чим конкретніший запит, тим швидше знайдете потрібне. Припустимо, вам треба розробити сайт у мінімалістичному стилі, де переважає білий колір. «Загугливши» white minimalistic site, ймовірно, витратите багато часу на нерелевантні результати. Краще шукайте кожен елемент лендінгу окремо: white minimalistic header, white minimalistic footer тощо.</p><p>Порівняйте наведені нижче результати:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/gJ1WaYtVxxat1AVb9wrx7Xa4L8mId1lN3bndF_ndVE1E-hZ-lFgkzMoMKZ4ZU_k95HSmVLkQl4jmdsxDoQbW3bSayOiL1ALrKWgarpsMmGA3o0N5VjBDsnZPaiglacBcv078DT7e5Ox0fYua" class="kg-image" alt loading="lazy" width="309" height="442"></figure><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/lsO6N17AJZ2ndVJreCrlXG73phMNOsJedszBRkLI6scyVpDYD-eXj6ya0A2A6DX5gzEhFQzhtE0nxPrIQgFexrxOSGFXLwpiSJMIpnt645Zujeo_BZTqh5a_xBKZoTQLDi6cJO76sSOvgyJ5" class="kg-image" alt loading="lazy" width="449" height="431"></figure><h3 id="3-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%BE%D0%B2%D1%83%D0%B9%D1%82%D0%B5-%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D1%83-%D1%82%D0%B5%D1%80%D0%BC%D1%96%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D1%8E">3. Використовуйте правильну термінологію</h3><p>Наприклад, щоб дізнатись, як розташувати елементи на сторінці у CSS. На сторінці це реалізується через відступ (padding) та поле (margin). Краще окремо «загугліть» терміни. Padding задає відступ навколо вмісту елемента, а margin – зовнішні поля навколо елемента.</p><h3 id="4-%D1%88%D1%83%D0%BA%D0%B0%D0%B9%D1%82%D0%B5-%D1%96%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D1%96%D1%8E-%D0%BD%D0%B0-%D1%84%D0%BE%D1%80%D1%83%D0%BC%D0%B0%D1%85">4. Шукайте інформацію на форумах</h3><p>Додайте до запиту слово forum. Пошукова система покаже сторінки, де користувачі обговорювали вашу проблему або схожі запити.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/eI7ICevKmXx6PD81KEhUjsrv6OfYtIoAYWRyDpFEHrKb1ylm69V17zu1iZB-PgWBAKE1o2YVsTLIEoS4SFMGLe8n9aL7DCBx4El5abmI-hX__vbPfJ6Or3EFnqkV2cAeK3agyfBWn7LuMN-W" class="kg-image" alt loading="lazy" width="403" height="378"></figure><p>До речі, через «Розширений пошук» можете обрати, якою мовою хочете бачити результати.</p><h3 id="5-%D0%B4%D0%BE%D0%B4%D0%B0%D0%B9%D1%82%D0%B5-%D1%83-%D0%B7%D0%B0%D0%BF%D0%B8%D1%82-%D1%81%D0%BF%D0%B5%D1%86%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D0%B8-%D1%82%D0%B0-%D0%BD%D0%B0%D0%B7%D0%B2%D0%B8-%D0%B4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD%D0%B5%D1%80%D1%81%D1%8C%D0%BA%D0%B8%D1%85-%D1%96%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%96%D0%B2">5. Додайте у запит спецсимволи та назви дизайнерських інструментів</h3><ul><li><strong><strong><strong>Лапки</strong></strong></strong></li></ul><p>Ключові слова мають відповідати вашому питанню. Наприклад: «UX-дизайн», «користувацький досвід», «UI-тренди». Введіть обрані ключові слова в поле пошуку.</p><p>Якщо намагаєтеся знайти конкретну фразу, візьміть її в лапки. Google шукатиме слова саме в цій послідовності та у вказаній вамі формі. Це один зі способів перевірити коректність цитати та знайти чітку відповідь.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/HlLdqEx_zBxyQXHII_Rnvng3hgWE0Fl0OzEZF3TfxGvEPy-MsBdCvs6NEFoWuGzPKt-U3SiLCSvUpiahyFL298Zi5heF386PIvt2ry4PZQ1QHRW_VMNuTlS811Qjf-5PtzpHQzV6jwVsuT80" class="kg-image" alt loading="lazy" width="425" height="489"></figure><ul><li><strong><strong><strong>Знак «плюс» (+)</strong></strong></strong></li></ul><p>Додає слово до пошукового запиту й робить його обов’язковим у видачі. Наприклад, «UX + дизайн» шукатиме результати, де зустрічаються обидва слова «UX» і «дизайн».</p><ul><li><strong><strong><strong>Знак «мінус» (–)</strong></strong></strong></li></ul><p>«Мінусує» слово з результатів. Наприклад, «Аналіз – конкурентів» усуне сторінки, де є слово «конкуренти».</p><ul><li><strong><strong><strong>AND</strong></strong></strong></li></ul><p>Google шукатиме тільки тоді, коли обидва слова (або більше) є в результаті. Наприклад, «UX AND UI» покаже сайти, де можна почитати про «UX» та «UI».</p><ul><li><strong><strong><strong>intitle:</strong></strong></strong></li></ul><p>Обмежує пошук до заголовків сторінок. Наприклад, «intitle: Книги для дизайнерів» надасть матеріали з такими назвами.</p><ul><li><strong><strong><strong>Часові </strong></strong>межі</strong></li></ul><p>Один із найефективніших способів пошуку першоджерела. Зазначивши обмеження за датою, ви швидше знайдете нову інформацію (або в разі потреби минулі дані для порівняння з нинішніми).</p><p>Для цього введіть запит у пошукове поле, натисніть «Інструменти». У розділі «Час» оберіть потрібний період. Можете вказати конкретну дату, останній тиждень чи добу, протягом якої в інтернеті з'явилася інформація.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/nE4v0R2hks1KkZvyhvepMmhsV379hV52Y6RkYrK16_SGeriwvaC17l18aE0S4l6exrwL154o_ppqoybDbu2Po4S2uJNkwXjpOlmgMWULXOyBSpExihKcPkpOdwJDkRmfYl53GpJs9hM0S60c" class="kg-image" alt loading="lazy" width="602" height="69"></figure><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/67QcQysskBFXfUf_6fnife63NndI2dqi-uooNNlP_gl8AhpYiNoZY6ocwyNTMPYqKRmPyowxzTFNFUDfT-OJCBDuC-MHh_0dlI1oowO786OPSLN_ayJ07m9fgOdJj7xfPa9MY8tlfmhIYjzS" class="kg-image" alt loading="lazy" width="602" height="115"></figure><ul><li><strong><strong><strong>Права на використання</strong></strong></strong></li></ul><p>Оберіть «Інструменти» – «Розширений пошук», а потім – «Права на використання». У випадаючому списку натисніть на той варіант ліцензії, який вам підходить. Таким чином можете знаходити фото та ілюстрації, дозволені для використання в комерційних проєктах. Так ви безкоштовно отримаєте матеріал та не порушите авторські права.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/aTsp5Nu1N6jM2-Url_50wX7NYUuTcLrGIJpbadA5E1w9DUb4UjEj2s6mxsoaFyMoDV38bmcF9gRn1XWshI0X5vwGgkzzUKLRwaNWFG_tRW4NJ9q2TaeUMSTcGKvdJKpJ6MFReD-Owk1DO7DI" class="kg-image" alt loading="lazy" width="602" height="69"></figure><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/lRYJWN1ugVgmnb5_CvmlgJlz_W6mafTCyoPniKwJHO0Y5vPn66mnZdovVaTWXjV8N5lZqU0Ex9Y6S_Ysg08hzYTGgfnE6qvS5pXjU-3i_BXOUO5sZHQ5dPZ5PJNloT8Xv4ADd-kEPyYl-Z5q" class="kg-image" alt loading="lazy" width="602" height="115"></figure><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/_XkEpY9P7uEG-zbv6coijz4KIDxxrvy4fZAOMs9q09UHKIQmny9ZIgdlsNYcn-maCyg04NDoEEpu-Lpuk2k6RDKTk9BLky9wbJpkdjaFJrUOfemeBN6KYWo3LzijNQOFxX3Jl-AlHXYv_sYI" class="kg-image" alt loading="lazy" width="552" height="323"></figure><h2 id="%D0%B7%D0%B1%D0%B5%D1%80%D1%96%D0%B3%D0%B0%D0%B9%D1%82%D0%B5-%D0%BF%D0%BE%D1%81%D0%B8%D0%BB%D0%B0%D0%BD%D0%BD%D1%8F-%D0%BD%D0%B0-%D1%81%D0%B0%D0%B9%D1%82%D0%B8-%D0%B4%D0%B5-%D0%B7%D0%BD%D0%B0%D0%B9%D1%88%D0%BB%D0%B8-%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D0%BD%D1%83-%D1%96%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D1%96%D1%8E">Зберігайте посилання на сайти, де знайшли корисну інформацію</h2><p>Перегляньте ці сторінки. Можливо, пізніше повернетесь до них із новими запитами. Закріпіть вкладку в браузері або створіть перелік корисних лінків у нотатках. Це можуть бути корисні ресурси і для роботи, і для особистих цілей.</p><h3 id="%D0%BF%D0%BE%D0%B4%D1%96%D0%BB%D1%8E%D1%81%D1%8C-%D0%BA%D1%96%D0%BB%D1%8C%D0%BA%D0%BE%D0%BC%D0%B0-%D1%81%D0%B2%D0%BE%D1%97%D0%BC%D0%B8-%D0%B7%D0%BD%D0%B0%D1%85%D1%96%D0%B4%D0%BA%D0%B0%D0%BC%D0%B8">Поділюсь кількома своїми знахідками:</h3><ul><li><a href="https://www.awwwards.com/">Awwwards</a> – сайт конкурсу у сфері дизайну та розробки сайтів. На платформі зібрані кейси переможців з усього світу, багато статей про вебдизайн.</li><li><a href="https://hbr.org/">Harvard Business Review</a> – тут зібрані статті з різних галузей: технології, дизайн, менеджмент, фінанси, маркетинг, комунікація тощо. Знайдете багато досліджень, статистики та інших матеріалів від фахових авторів.</li><li><a href="https://info.trendwatching.com/">Trend Watching</a> – світова компанія, що займається дослідженням трендів. Тут повно аналітики. Зокрема, може допомогти вам перетворювати тенденції на технічні рішення.</li></ul><p>Інколи активне «‎гугління» може не принести бажаного результату. Тоді в хід ідуть генеративні нейромережі. Я використовую такі платформи для створення референсів.</p><h2 id="%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D1%83%D1%94%D0%BC%D0%BE-%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B7%D0%B0-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BC%D0%BE%D0%B3%D0%BE%D1%8E-ai-%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%BD%D1%96-%D0%BF%D0%BE%D1%80%D0%B0%D0%B4%D0%B8-%D0%B4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD%D0%B5%D1%80%D0%B0%D0%BC">Генеруємо зображення за допомогою AI. Практичні поради дизайнерам</h2><p>Існують різні нейромережі, які на основі тексту генерують візуальний контент. Найпопулярнішими є такі:</p><ul><li><a href="https://www.midjourney.com/home">Midjourney</a>. Платний сервіс із безплатним демо-доступом. Генерує зображення через бот у Discord.</li><li><a href="https://openai.com/dall-e-2">DALL-E2</a>. Розроблена компанією OpenAI. DALL-E використовує мовну модель <a href="https://uk.wikipedia.org/wiki/GPT-3">GPT-3</a>.</li><li><a href="https://huggingface.co/spaces/stabilityai/stable-diffusion">Stable Diffusion</a>. Компанія-розробник – Stability AI. З 2022 року сервіс став загально доступним.</li><li><a href="https://lexica.art/aperture">Lexica Aperture</a>. Безкоштовна нейромережа. Дозволяє створювати фотореалістичні ілюстрації.</li><li><a href="https://app.leonardo.ai/auth/login">Leonardo AI</a>. На платформі можна згенерувати ілюстрації в різних стилях. На день доступно 150 безплатних спроб.</li></ul><p>Нейромережі схожі між собою за принципом роботи. Особисто я найчастіше працюю із <a href="https://proit.ua/laifkhaki-iak-stvoriti-shi-zobrazhiennia-u-midjourney/">Midjourney</a>. Пропоную розглянути, як згенерувати віжуал на цій платформі.</p><h3 id="%D0%BF%D0%B5%D1%80%D0%B5%D0%B4-%D0%BF%D0%BE%D1%87%D0%B0%D1%82%D0%BA%D0%BE%D0%BC-%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D0%B8">Перед початком роботи...</h3><p>Для генерації зображень якомога конкретніше опишіть, що хочете отримати. У Midjourney це називається промт – текстовий запит.</p><p>Midjourney розуміє лише англійську. Якщо написали промт іншою мовою, сервіс не зможе обробити вхідне повідомлення.</p><p>Зверніть увагу: інші користувачі теж побачать згенерований вами малюнок. Тож краще не використовуйте сервіс для тих ідей, які не хочете розповсюджувати. Скажімо, для створення логотипу нового бренду.</p><h2 id="%D0%BB%D0%BE%D0%B2%D1%96%D1%82%D1%8C-%D0%B1%D0%B0%D0%B7%D0%BE%D0%B2%D1%96-%D0%BF%D0%BE%D1%80%D0%B0%D0%B4%D0%B8-%D1%8F%D0%BA%D1%96-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BC%D0%BE%D0%B6%D1%83%D1%82%D1%8C-%D0%BE%D1%82%D1%80%D0%B8%D0%BC%D0%B0%D1%82%D0%B8-%D0%B2%D1%96%D0%B4-midjourney-%D0%BF%D0%BE%D1%82%D1%80%D1%96%D0%B1%D0%BD%D0%B8%D0%B9-%D0%B2%D1%96%D0%B6%D1%83%D0%B0%D0%BB">Ловіть базові поради, які допоможуть отримати від Midjourney потрібний віжуал:</h2><h3 id="%D0%B1%D1%83%D0%B4%D1%8C%D1%82%D0%B5-%D0%BA%D0%BE%D0%BD%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B8%D0%BC%D0%B8">Будьте конкретними</h3><p>Ви маєте чітко розуміти, що ви хочете. Для цього «намалюйте» зображення у своїй уяві або зробіть ескіз на аркуші чи в графічному редакторі, а потім починайте роботу із сервісом.</p><p>Спочатку вкажіть, що (хто) буде основним об’єктом. Наприклад, домашній кіт. Потім вкажіть додаткову інформацію про цей об’єкт: рудий кіт із великими зеленими очима, тримає в лапах смартфон, сидить на дивані та обирає продукти із супермаркету в застосунку. Поясніть, що оточує об'єкт, наприклад, предмети інтер’єру.</p><p>Опишіть стиль зображення: реалізм, експресіонізм, абстракціонізм, футуризм, символізм тощо. Можете посилатися на відомих художників (стиль Сальвадора Далі або Ван Гога). Дописуйте конкретні вимоги до ілюстрації, поки не побачите необхідну картинку.</p><p>Далі на прикладах покажу, як деталізація запиту впливає на результат.</p><p>Промт – «Домашній кіт».</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/0_4z893iXNg7Wgh-9uMOvkYU5f5IhHasjUGRKXuWiEXoHZzMFpWZStMWs5Fe8jt_szoec3pXL6aXL9XQNtVAfSMPbRRkbZ20t96QmlHW1xLa4Avx_kdfJxnpVY1Oqs_6Gdd4ikzXLHAZ1gjG" class="kg-image" alt loading="lazy" width="259" height="260"></figure><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/9Rj0Q7tdhC8eDgc7Fpv_LCO07_HHa2Y_9wuwl1P3KlUrsBhUdlBQAK2Qbgb4k-lQYLESbHpllM-8bALqkK1TeuAr-FNiVicGiEelTjuVqpddXt_azCZoMpsKGV0pwDYieNoaZ6wxmdOEHukt" class="kg-image" alt loading="lazy" width="272" height="260"></figure><p>Промт – «Домашній кіт». Експериментуючи із синонімами, можна отримати інший результат.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/0O_k0vjg1YJZK1o7hdbPPz6KwXJmIdq2bDCmEq79Dgk6DmefqL7cg6UaLFNWtZ6eUICd3avCcRWUcWgumANdFQSo0mkJXk7hDewszLAsoAhgRFBdnUtQrbn_BVMqDqXYOYBPv1W0wBsD0ich" class="kg-image" alt loading="lazy" width="284" height="286"></figure><p>Промт – «Рудий домашній кіт із зеленими очима».</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/ygiBkAdnCaECdAl_NPyLK2Q4OpxmP7W3FYfTDe2c5rm0Nnqz1M06wTfDTSaXwt5lL0f5Yt54dd5CoZrk-bo5b6Jwt2cFJ90mrg_6FYvE7c2v9FvUkUKHqm07QX7IKKrkn2FfMt3oqmIbz7_R" class="kg-image" alt loading="lazy" width="290" height="278"></figure><p>Промт – «Рудий домашній кіт із зеленими очима сидить на дивані й тримає смартфон».</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/daZNHNXpXGwS2PggIRuDejQjyyxtR1zE2OmkIYLqPHhpK6p3LLLRw6gVD9z9qUW7l3DM0wg5pAilxYVf7x3qwAb3rC6HqES0eFlZM4Of5VPiMAzDNRR-G1vpEDesT5CbJ7Zquy7pmvuc-QRr" class="kg-image" alt loading="lazy" width="340" height="240"></figure><p>Промт – «Рудий домашній кіт із зеленими очима сидить на дивані й тримає смартфон, мультяшний стиль, блакитний фон».</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/Grrk1CMrB1Umcui31ozT0Bc3NT-ftjpTMPCoIFk8VLXYJzqDxcUDQsQWoQNi3s4Ds5GXOAbUdv0wpBJ3s8rWp5j4pMWKWZEJK45XV58NmvNnQKd5NhNozgHzoEvjKlxGilW_OkBs_k8s1JhC" class="kg-image" alt loading="lazy" width="435" height="220"></figure><p>Промт – «Рудий домашній кіт із зеленими очима сидить на дивані й тримає смартфон, стиль Вінсент ван Гог».</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/g5WZSHyG5SLf4So1OCpSZ8GUsVq3rkjy0Ud1kSgPCnQDixUq0gzAdXbjg-MMlyZc1P9Lx-DLRwRtwZI_R1qQwOMH-4BkysQ_n8rePNI2UqHb_mO8uwzEWRE-lF7uvgeuanWLnr8GzjagFu9B" class="kg-image" alt loading="lazy" width="435" height="240"></figure><h3 id="%D0%BF%D0%BE%D1%80%D1%96%D0%B2%D0%BD%D1%8E%D0%B9%D1%82%D0%B5-%D1%80%D0%B5%D1%87%D1%96-%D0%B7-%D0%B2%D1%96%D0%B4%D0%BE%D0%BC%D0%B8%D0%BC%D0%B8-%D1%81%D1%8E%D0%B6%D0%B5%D1%82%D0%B0%D0%BC%D0%B8">Порівнюйте речі з відомими сюжетами</h3><p>Отримуючи запит, штучний інтелект звертається до своєї бази. А там – безліч інформації про фільми, книги, твори мистецтва. Це різноманіття дозволяє ШІ краще зрозуміти ваше питання й обрати підходящий референс.</p><p>Наприклад, якщо потрібно згенерувати світловий меч, зробіть відсилку до «Зоряних війн». У вашого персонажа має бути червоний плащ, як у Супермена? Так і скажіть йому.</p><p>Промт – «Дарт Вейдер у червоному плащі Супермена тримає світловий меч, Сімпсони».</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/Ar06xf9Fwtv-HGYA4ysd-C_dWWsjX43PY-5cq4hEAeSHtf-cLF4WNRhwTBxgBXsSsaTKJ_R1vhoj8_jw__Uhtovg2ui1gltiWYcKJnVf_guA7zxGhv-7ZSq5njMunwEwLbnkxE6b9VnepyYv" class="kg-image" alt loading="lazy" width="332" height="254"></figure><h3 id="%D0%B4%D0%BE%D0%B4%D0%B0%D0%B9%D1%82%D0%B5-%D1%85%D1%83%D0%B4%D0%BE%D0%B6%D0%BD%D1%96-%D0%B7%D0%B0%D1%81%D0%BE%D0%B1%D0%B8">Додайте художні засоби</h3><p>Поясніть свій запит через порівняння, метафори, гіперболи, епітети. Так вдасться влучніше розкрити ваш задум. Замість промту «космічний єдиноріг» можна написати так: «Білий єдиноріг із довгою гривою з мерехтливих зірок і великими очима, на фоні комет». Змінюйте запит, допоки результат вас не влаштує.</p><p>Промт – «Білий єдиноріг із довгою гривою із мерехтливих зірок і великими очима на фоні комет».</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/4rZITYSkSokvYEJHG9wLV-oV9BZfnBIGnk55zIs4IIOCH-1fxM4oYrIhtYvqW1I70gj_F8BC11UtUBX7kLYvxXg1Li-4Q7CVR86bkL-pbpvSoh-pBjufjvaEww-lNwxz1AEhy7DMdnZPgi2A" class="kg-image" alt loading="lazy" width="428" height="230"></figure><p>Промт – «Білий єдиноріг, довга грива, мерехтливі зірки, великі очі, на фоні комет».</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/KRccXt_IfgO4jKET_gNa6jQKe1yMS4gJWov9hJs7qdHJivCMoTTHX1o2Ry1RIFf8A8aOyEW5S5a3ebLE5XmXdVUDVJyxHCubp-iks1YxRIj796vMYsfU_wE45wyasvl51Mg4ULcYWrKSXzc0" class="kg-image" alt loading="lazy" width="428" height="285"></figure><p>Промт – «Білий єдиноріг із довгою гривою із мерехтливих зірок і великими очима, в яких відображається сяйво комет». Як бачимо, програма згенерувала персонажа зі звичайними очима. Тому знову ж таки – не забувайте деталізувати запит.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/yxkIqK7x4CgRNXkP9aovTnUQx7KoDSUCHZNkLILwIv901AUX2duqVQty0OAgimms2R4-2xVmO_5saBOVO4v4iuygttngOcTrpbkD9-0lKgjwuZHc0biPoS-eTV7JlazMwX2dQQuMkJt4B8zL" class="kg-image" alt loading="lazy" width="419" height="225"></figure><p>Промт – «Білий єдиноріг у повний зріст, довга грива, мерехтливі зірки, великі очі, на фоні комет».</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/2NHVID5Gs4UPlOYqDrC3hOtvfwQvExWw1vCm_jixh2VDo-crz75zrvVN5wM8YCPcOuUbHknUVeYlooq59Oy7h4SkoR7_yCL7sy9afBr12MefkaqocjGc16iCmaicu-OMkqzgWZTK5WC_Bq44" class="kg-image" alt loading="lazy" width="413" height="237"></figure><h3 id="%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%BE%D0%B2%D1%83%D0%B9%D1%82%D0%B5-%D1%81%D0%BF%D0%B5%D1%86%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D0%B8">Використовуйте спецсимволи</h3><p>Знаки «плюс» (+) і «мінус» (–) додають або прибирають конкретні елементи з об’єктів ілюстрації. Наприклад, промт «ялинка + сніг» зробить засніжене дерево. Зазначивши «дівчина – окуляри», отримаєте персонажа без окулярів.</p><p>Дужки () і коми (,) групують елементи для точнішого результату. Промт «(Чоловік + капелюх), (жінка + морозиво)» створить зображення із чоловіком у капелюсі та жінкою з морозивом.</p><h2 id="%D1%81%D0%BA%D0%BB%D0%B0%D0%B4%D0%BD%D0%BE-%D0%BF%D0%BE%D1%87%D0%B0%D1%82%D0%B8-%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D1%83-%D0%B7-%D0%BD%D0%B5%D0%B9%D1%80%D0%BE%D0%BC%D0%B5%D1%80%D0%B5%D0%B6%D0%BE%D1%8E-%D1%88%D1%83%D0%BA%D0%B0%D1%94%D1%82%D0%B5-%D0%BD%D0%B0%D1%82%D1%85%D0%BD%D0%B5%D0%BD%D0%BD%D1%8F-%D1%81%D0%BF%D1%80%D0%BE%D0%B1%D1%83%D0%B9%D1%82%D0%B5-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B8-%D0%BF%D1%96%D0%B4%D0%BA%D0%B0%D0%B7%D0%BE%D0%BA">Складно почати роботу з нейромережою? Шукаєте натхнення? Спробуйте генератори підказок:</h2><ul><li><a href="http://cattail.nu/midjourney"><strong>Prompt Inspiration</strong></a>. Пропонує для створення промтів різні теми: архітектура, техніка, мистецтво, люди, тварини, аніме тощо. За категоріями можна швидко знайти ідею і сформувати за нею власний запит.</li><li><strong><strong><a href="https://huggingface.co/spaces/doevent/prompt-generator"><strong>Hugging Face</strong></a></strong></strong>. Сервіс запропонує різні варіанти промтів. Наприклад, якщо написати cute cat, отримаєте такі варіанти: cute cat painting – w 1080 — h 720, cute cat in cyberpunk city, cute cat anime characters.</li><li><a href="http://promptbase.com/"><strong>Promptbase.com</strong></a>. Маркетплейс із готовими промтами. На платформі можна придбати готовий опис або створити власний для продажу.</li></ul><p>Кожен пошуковий запит – індивідуальний. Якийсь спосіб спрацює з одним, але може не спрацювати з іншим. Комбінуйте всі можливі підходи, щоб знаходити найцікавіші ідеї, першоджерела або тренди. Будьте певні: в інтернеті ви знайдете все, якщо вмієте правильно ним користуватись. 😉</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ LinkedIn став однією з найкращих соцмереж для ведення бізнесу. Він розроблений спеціально для комунікації між представниками компаній і зручної B2B-взаємодії, завдяки чому статистика використання платформи регулярно зростає.

Хоча інтерфейс платформи і комфортний для використання у бізнес-сфері, можливості LinkedIn можна значно підвищити за допомогою розширень та додаткових інструментів.

Іван Прокопець, CEO ]]></description>
        <link>https://proit.ua/naikrashchi-rozshiriennia-dlia-linkedin-iaki-pidvishchat-vashu-produktivnist/</link>
        <guid isPermaLink="false">664132357bcc6c1ec5e4b67e</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  EASE Team ]]></dc:creator>
        <pubDate>ср, 15 трав 2024 14:00:23 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/05/3d-rendering-two-linkedin-square-badges-front-notebook-blue-background.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>LinkedIn став однією з найкращих соцмереж для ведення бізнесу. Він розроблений спеціально для комунікації між представниками компаній і зручної B2B-взаємодії, завдяки чому статистика використання платформи <a href="https://www.linkedin.com/pulse/important-linkedin-statistics-data-trends-oleksii-bondar-pqlie/#:~:text=Usage%20Statistics%20of%20LinkedIn">регулярно зростає</a>.</p><p>Хоча інтерфейс платформи і комфортний для використання у бізнес-сфері, можливості LinkedIn можна значно підвищити за допомогою розширень та додаткових інструментів.</p><p><a href="https://www.linkedin.com/in/ivanprokopets/">Іван Прокопець</a>, CEO та Co-Founder компанії <a href="https://www.proktech.com/ua">Prok Tech</a>, поділився найкращими інструментами, що дають змогу використовувати потенціал LinkedIn на максимум, а також розповів про політику платформи стосовно них та можливі обмеження.</p><p>Експерт зазначає, що платформа ефективна й без розширень, проте модифікації дозволяють зробити всі дії простішими, швидшими та працювати з більшою аудиторією.</p><p>Умовно, стандартний LinkedIn можна оцінити на 7/10, проте з додатковими інструментами його можливості зростають до 10/10.</p><h2 id="%D0%B2%D0%B0%D1%80%D1%82%D0%BE-%D0%B2%D1%96%D0%B4%D0%B7%D0%BD%D0%B0%D1%87%D0%B8%D1%82%D0%B8-%D1%82%D0%B0%D0%BA%D1%96-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%B8">Варто відзначити такі програми:</h2><ul><li><strong><a href="https://www.dux-soup.com/linkedin-automation?fpr=ivan24">Dux-Soup</a>.</strong> Розширення для браузера, що дозволяє автоматизувати надсилання запитів на додавання в мережу. Завдяки цьому розширенню є змога сфокусуватися на опрацюванні відповідей, а не механічному надсиланні запитів.</li><li><strong><a href="https://expandi.io/">Expandi.io</a>.</strong> Інструмент, що автоматизує роботу з LinkedIn та Email Outreach. Вміє автоматизувати взаємодію з лідами, надсилати запити на додавання в мережу, проставляти уподобайки та відправляти листи, хоча остання функція потребує доопрацювання.</li><li><strong><a href="https://phantombuster.com/">Phantom Buster</a>. </strong>Розширення, що допомагає парсити аудиторію та вивантажувати її у зручному форматі CSV для подальшої лідогенерації. Платформа має набагато ширший функціонал, який включає автоматизацію дій у різних соціальних мережах, в тому числі LinkedIn. З останніх оновлень там з'явилася функція генерації та надсилання запитів на додавання у мережу із використанням ШІ.</li><li><strong><a href="https://www.linkedin.com/company/apolloio/?originalSubdomain=en">Apollo.io</a>.</strong> Розширення, що поєднує велику базу потенційних покупців та інструменти для автоматизації й роботи із ними.</li><li><strong><a href="http://snov.io/">Snov.io</a>.</strong> Набір інструментів, що поєднує інструменти для пошуку та перевірки поштових скриньок, Email-розсилки, CRM-систему та багато інших застосунків.</li></ul><p>Крім сторонніх інструментів, не слід забувати про підписку Sales Navigator, яка компенсує більшість недоліків безкоштовної версії.</p><p>Звісно, найкращий результат дає її поєднання зі згаданими інструментами, а також детальне розуміння алгоритмів LinkedIn. Іноді достатньо знати деякі лайфхаки, як-от збільшення ліміту кількості запитів на тиждень завдяки надсиланню InMails та пошуку Open Profiles.</p><p>Проте LinkedIn має своєрідне ставлення до стороннього софту. На питання, чи можна отримати блокування акаунту за встановлення розширень, відповідь – ні, якщо використовувати їх правильно та обережно.</p><p>За надсилання великої кількості запитів можливо отримати тимчасові обмеження. Якщо ж порушувати правила користування LinkedIn, то можна отримати тимчасове або ж постійне блокування.</p><p>Існує ймовірність отримати обмеження через такі інструменти, як Expandi або Dux-Soup, проте зазвичай не доходить до перманентного блокування. Найкращою порадою буде використання антидетект браузера і проксі.</p><p>Експерт наголошує, що варто заходити в акаунт не більше ніж із 3-х IP-адрес та однієї країни й уникати поведінки, що суттєво відрізняється від людської.</p><p>Також компанія Prok Tech має кілька цікавих кейсів, що стосуються роботи зі згаданими розширеннями. Наприклад, за допомогою Dux-Soup вдалося забронювати 24 зустрічі з клієнтами для відомого бізнес-клубу за 6 тижнів. А в травні минулого року вдалося встановити рекорд з одного особистого акаунта та забронювати близько 30 зустрічей за допомогою розсилки на IT-аудиторію в Україні.</p><p>Розширення дають змогу брати від платформи максимальну користь, прискорюючи взаємодію і збільшуючи масштаби розсилки. Проте їхнє використання, як і будь-яка програма, потребує обережності та відповідального підходу.<br><br><em><em>Підписуйтеся на </em></em><a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer"><em><em>ProIT у Telegram</em></em></a><em><em>, щоб не пропустити жодної публікації!</em></em></p><p><em><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Для яких завдань підходить кожен із видів тестування? Який із них вимагає більше фінансових вкладень? І що очікує на QA-напрям у 2024 році?

На ці та інші питання з напряму QA відповів Євген Онищенко, Manual QA Team Lead у Telesens із 13-річним практичним досвідом.

– Мanual VS Automation Testing. Для яких ]]></description>
        <link>https://proit.ua/qa-u-2024-rotsi-vazhlivi-navichki-profiesiyi-chieliendzhi-ta-aktualni-vikliki-industriyi/</link>
        <guid isPermaLink="false">663d10a60276b9db8069653e</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Telesens Team  ]]></dc:creator>
        <pubDate>пт, 10 трав 2024 14:00:34 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/05/qa-engineer59277.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>Для яких завдань підходить кожен із видів тестування? Який із них вимагає більше фінансових вкладень? І що очікує на QA-напрям у 2024 році?</em></p><p><em>На ці та інші питання з напряму QA відповів </em><strong><em>Євген Онищенко</em></strong><em>, Manual QA Team Lead у Telesens із 13-річним практичним досвідом.</em></p><p><strong>– Мanual VS Automation Testing. Для яких завдань підходить кожен вид?</strong></p><p>– Automation Testing або Autotest потрібен для повторюваних задач. Наприклад, які повторюються із релізу в реліз чи зі спринта у спринт. Для того, щоб спеціаліст не робив однотипні завдання вручну. Це дає змогу звільнити час тестувальника для інших цілей.</p><p>Manual Testing – для випадків, коли вийшла якась нова фіча і її потрібно перевірити ретельно і уважно. Автотестинг тут теж може допомогти, але очима можна побачити більше неточностей, хоча й часу буде витрачено також більше.</p><p><strong>– Який із видів тестування популярніший в Україні?</strong></p><p>– Це все індивідуальні особливості, які залежать від бюджету і просто питання «А чи доречно це у цьому проєкті?».</p><p>Багато є нюансів і не завжди це виправдано по часозатратності. Наприклад, витрачений на написання автотесту час можна виділити на мануальне тестування.</p><p><strong>– А який вимагає більших фінансових вкладень?</strong></p><p>– Я не експерт, але, наприклад, QA-автоматизатори отримують більше, ніж мануальники.</p><p>З точки зору компанії (бізнесу) купити й оформити інфраструктуру, розвернути оточення буде більш затратно, але скоріш за все воно себе з часом окупить.</p><p><strong>– З якими челенджами часом доводиться стикатися QA-фахівцеві?</strong></p><p>– По-перше, це незнання<strong><strong> </strong></strong>програми.<strong><strong> </strong></strong>Наприклад, вперше стикаюся із програмою і мені потрібен час на те, щоб із нею розібратися та вивчити її бізнес-логіку. Після цього зрозуміти, що хотів отримати замовник на виході, і думати при цьому саме як замовник, а не як машина.</p><p>По-друге, робота<strong> </strong>у<strong> </strong>команді. Коли у команді багато людей, то мені як тім-ліду треба зробити так, щоб усі були задоволені один одним, допомагали та підтримували.</p><p>Також, хоч і не такий вже великий, та все ж челендж – постійно бути на контакті з бізнесом, розуміти потреби замовників і правильно доносити їх команді.</p><p>Поділюся тим, що мені подобається, – ми класно побудували роботу. Всі люди у моїй команді є взаємозамінними. Немає такого, що людина є спеціалістом лише в одній сфері, а про інші процеси не має поняття.</p><p><strong>– Що вам найбільше подобається у роботі тестувальником?</strong></p><p>– Коли я був саме тестувальником, а не тім-лідом, мені подобалося тестувати новий функціонал і нові фічі. Але це все залежить від проєкту. Наприклад, є монотонні проєкти, де нового зовсім трохи.</p><p>Бувають короткі та дуже цікаві проєкти. Наприклад, проєкт, який передбачав можливість вироблення струму, коли ти крутиш колеса, і подачу інтернету. Раніше я не міг подумати про існування такого, а зараз брав участь у розробці.</p><p>І що є найприємнішим – це коли у продакшн виходять проєкти, над якими ти працював. Це кайфове відчуття причетності.</p><p><strong>– А що навпаки може дратувати?</strong></p><p>– Криві та незрозумілі вимоги, які потрібно багато разів переуточнювати. Якщо все чітко і правильно оформлено, то і мій performance буде на висоті, бо немає зайвої біганини.</p><p><strong>– Як підбираєте людей у команду? Які Soft Skills при цьому є важливими?</strong></p><p>– Чесність. Я не люблю, коли мене обманюють. Коли можуть зникнути з роботи, а не чесно прийти та сказати про потребу у відсутності на роботі. Коли мені потрібно людині написати чи щось від неї отримати, а у відповідь – тиша.</p><p>Буває всяке – стоматолог, невідкладні справи тощо. Я нормально до цього ставлюся.</p><p>Також я не люблю людей, які ухиляються від роботи. І які беззмістовно, не слухаючи, «підтакують». Часом, коли це дуже допече, можу спеціально якусь дурницю сказати та перевірити, чи справді слухає людина те, що я їй кажу. :)</p><p><strong>– Завдяки чому QA-відділи можуть забезпечувати високий рівень якості тестування?</strong></p><p>– На мою думку, завдяки взаємозамінності, яку я згадав вище, і knowledge sharing. Наприклад, у нас процес так налагоджений, що якщо спеціалісти нашої команди мають відкриті питання, то вони знають, до кого їм із ними йти. А у разі серйозних ситуацій ми організовуємо зустрічі й колективно обговорюємо все.</p><p><strong>– Які виклики очікують напрям QA у 2024 році?</strong></p><p>– Я думаю, як і всю IT-індустрію. Не те щоб занепад, але певні проблеми. Зараз стало гірше, ніж було років 3-5 тому.</p><p>Є велика кількість кандидатів, які подають свої резюме, конкуренція просто величезна. Але коли ти наймаєш кандидата – він все одно виявляється слабким.</p><p>Водночас у компаній дуже великий вибір і вони можуть маніпулювати компенсацією. Наприклад, запропонувати десь меншу зарплату. Але через те, що претендентів багато і конкурс на вакансію великий, люди погоджуються.</p><p><strong>– Які Hard Skills є важливими для тестувальника?</strong></p><p>– Знання технік тестування. Не просто знати, а з розумом підходити та застосовувати їх.</p><p>Знати REST, API, SQL, SOAP. Оскільки зараз зв’язок QA і Back End йде саме через API чи SQL.</p><p><strong>– Який ваш улюблений мем про QA?</strong></p><p>– Оцей.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/78kJxzXcspDdlvYCBLhEXahrSwgODBI3TlHb1Q4q-l-pvBZACVx-2y1lk2CjXQwEKUspGrqqEJJ0pucICjTZ4ik9unXdLa6zE7MQ1wt4BMHk-v-MVztulA_TXCxR0mdFd2RpMQUVGL_du6GZ1Y63wms" class="kg-image" alt loading="lazy" width="512" height="536"></figure><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Безпека застосунків завжди була пріоритетним питанням у розробці, а нині тим паче. Кількість кібератак зросла чи не найбільше за останні роки. Тож спеціалісти у сфері Application Security затребувані у багатьох проєктах.


Чим же займаються AppSec-інженери та як опанувати цю професію? Розповім із власного досвіду.



Дещо про роботу AppSec-інженерів


Ці інженери ]]></description>
        <link>https://proit.ua/kariera-v-application-security-chim-zaimaiutsia-appsec-inzhienieri/</link>
        <guid isPermaLink="false">663932380276b9db80696267</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  ProIT NEWS ]]></dc:creator>
        <pubDate>ср, 08 трав 2024 14:00:03 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/05/31223.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>Безпека застосунків завжди була пріоритетним питанням у розробці, а нині тим паче. Кількість кібератак зросла чи не найбільше за останні роки. Тож спеціалісти у сфері Application Security затребувані у багатьох проєктах.</em><br></p><p><em>Чим же займаються AppSec-інженери та як опанувати цю професію? Розповім із власного досвіду.<br></em></p><h2 id="%D0%B4%D0%B5%D1%89%D0%BE-%D0%BF%D1%80%D0%BE-%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D1%83-appsec-%D1%96%D0%BD%D0%B6%D0%B5%D0%BD%D0%B5%D1%80%D1%96%D0%B2">Дещо про роботу AppSec-інженерів<br></h2><p>Ці інженери відповідають за безпеку програмного забезпечення на всіх рівнях. Зазвичай AppSec-фахівці мають досвід розробки, тому розуміють процеси побудови ПЗ. Знання про те, що і як працює зсередини, а відповідно як це може зламати хакер, допомагають інженеру створити краще захищений софт.<br></p><p>В ІТ вирізняють Red Team і Blue Team. Перші фахівці шукають вразливості системи та її організації. Це етичні хакери, penetration-тестувальники, соціальні інженери.</p><p>Blue Team безпосередньо працює над захистом: створює firewall'и, полісі, стандарти. Фактично це Social Operation Center, який для запобігання атак моніторить системи, організацію та мережі, а під час атаки використовують інцидент-плани. Наприклад, відключають користувача, якщо проникнення відбувається через його акаунт. <br></p><p>Application Security можна віднести до Purple Team («‎пурпурної команди»), що стоїть між двома попередніми. В AppSec-інженерів є вміння і знання з обох напрямів.<br></p><p>У більшості проєктів Application Security-команда невелика, тому часто просто ні в кого навчатися азів професії. Для старту важливо базово знатися на процесах та ролях в ІТ-команді. Вам доведеться взаємодіяти з розробниками, архітекторами, продуктовими аналітиками, тестувальниками та багатьма іншими спеціалістами. Навички написання, читання та рев’ю коду теж будуть плюсом.<br></p><h2 id="%D0%B7-%D1%87%D0%BE%D0%B3%D0%BE-%D1%81%D0%BA%D0%BB%D0%B0%D0%B4%D0%B0%D1%94%D1%82%D1%8C%D1%81%D1%8F-%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D0%B0-%D0%B2-application-security">З чого складається робота в Application Security<br></h2><h3 id="1-%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8E%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%B7%D0%B0%D0%B3%D1%80%D0%BE%D0%B7-%D1%82%D0%B0-%D1%80%D0%B5%D0%B2%E2%80%99%D1%8E-%D0%B4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD%D1%83%D0%B0%D1%80%D1%85%D1%96%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B8">1. Моделювання загроз та рев’ю дизайну/архітектури<br></h3><p>Інколи можна почути думку, що ця робота починається ще з вимог, щоб зрозуміти порушення комплаєнсів. Але недоцільно долучати AppSec-ів уже на цій стадії проєкту. Фахівець має зрозуміти, як буде побудована система та які в ній потенційно вразливі місця.<br></p><p>Наприклад, у продукті використовуються не ті протоколи взаємодії чи неправильно організовано збереження даних про кредитні картки. Вимоги прописані недостатньо чітко, тому й реалізувати все можна по-різному. Тож лише після створення архітектури та плану розробки вдасться проаналізувати можливі загрози й «підсвітити» девелоперам порушення безпеки.<br></p><h3 id="2-%D1%81%D1%82%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%87%D0%BD%D0%BE%D0%B3%D0%BE-%D0%BA%D0%BE%D0%B4%D1%83">2. Створення безпечного коду<br></h3><p>Включає в себе комплексне рев’ю коду на всіх етапах. Йдеться не стільки про перевірку як таку (хоча і вона потрібна), скільки про запровадження best practices та автоматизацію процесів розробників.</p><p>AppSec-інженери прописують полісі та гайди безпечного кодстайлу та допомагають налаштувати різноманітні інструменти автоматизації: від плагінів для IDE на машинах девелоперів до сканерів, які інтегровані в CI-процес.<br></p><h3 id="3-%D0%BD%D0%B0%D0%B2%D1%87%D0%B0%D0%BD%D0%BD%D1%8F-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B8-%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B0%D0%BC-%D0%B7%D0%B0%D1%85%D0%B8%D1%81%D1%82%D1%83-%D1%81%D0%BE%D1%84%D1%82%D1%83">3. Навчання команди практикам захисту софту<br></h3><p>Передбачає тренінги для різних фахівців на проєкті. Програми таких зустрічей можуть бути загальними, з описом базових правил на кшталт «Не використовуйте флешки на комп’ютері» або «Не відкривайте емейли від незнайомих людей». А можуть бути й спеціалізованими: для розробників, QA, бізнес-аналітиків.<br></p><p>Застосовуючи шифрування даних, потрібно використовувати ті чи інші алгоритми. Багато чого залежить і від бізнес-домену. Наприклад, в американській Healthcare-індустрії важливі HIPAA-комплаєнси. AppSec має нагадати колегам: обов’язково перевірте, чи надійно захищені дані пацієнтів саме за цими державними стандартами.<br></p><h3 id="4-%D0%B0%D0%B2%D1%82%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%8F-%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D1%96%D1%8F-%D1%82%D0%B0-%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8C-%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D1%83">4. Автентифікація, авторизація та контроль доступу<br></h3><p>Це один із найважливіших етапів Application Security. Його важко стандартизувати, бо чи не на кожному проєкті автентифікація й авторизація реалізуються по-своєму. Ніколи не будуються стандартні моделі забезпечення рівня доступу до даних – завжди комбіновані.</p><p>Зазвичай це не є цілком вдалим рішенням, адже можуть з’явитися проблеми з перфомансом чи невідповідність бізнес-вимогам. У гіршому ж – команда знехтує безпекою. Тому AppSec-інженери мають наголошувати на ціні помилок усім стейкхолдерам: як своїм колегам, так і технічним фахівцям на боці замовника і самому клієнту.<br></p><h3 id="5-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D0%BA%D0%B8">5. Тестування безпеки<br></h3><p>У проєктах, де немає можливості залучити тестувальників із Red Team, AppSec-фахівці проводять перевірки безпеки. Якщо ж на проєкті є пенештрейшен-тестувальники, спеціалісти з Application Security співпрацюють із ними.<br></p><p>Тести на проникнення здебільшого виглядають як робота з чорною/сірою скринькою. QA достеменно не знають, де виникла проблема. AppSec-інженер, розуміючи побудову системи, зможе відшукати ці вразливі місця. Тож тестувальники витратять менше часу на пошуки й відразу візьмуться за свою справу.<br></p><p>AppSec-інженери бачать цілісну картину проєкту і можуть допомогти розшифрувати знайдені тестувальниками помилки та навіть запропонувати рішення. Особисто для мене, наприклад, це і є найцікавішим у всій роботі AppSec: знайти прогалину в безпеці та придумати, як її «‎закрити».<br></p><h3 id="6-%D0%B7%D0%B0%D1%85%D0%B8%D1%81%D1%82-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85">6. Захист даних<br></h3><p>Насамперед це методи шифрування і хешування інформації, налаштування системи зберігання ключів шифрування, способи їх передачі тощо.</p><p>AppSec-інженери мають переконатися, що всі дані, які передаються публічними каналами, надійно захищені. Вся інформація має лишатися цілісною, її ніхто не повинен перехопити, побачити й тим паче зламати або вкрасти. Для цього, зокрема, перевіряються алгоритми шифрування і протоколи передачі даних.<br></p><h3 id="7-%D0%B2%D1%96%D0%B4%D0%BF%D0%BE%D0%B2%D1%96%D0%B4%D0%BD%D1%96%D1%81%D1%82%D1%8C-%D1%82%D0%B0-%D0%BA%D0%B5%D1%80%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">7. Відповідність та керування<br></h3><p>Окреме завдання – це збереження даних. Тут важливо проаналізувати відповідність тим чи іншим стандартам. Наприклад, PCI DSS вимагає, щоб дані про банківські картки користувачів зберігалися в базі даних у зашифрованому вигляді. Це один із ключових критеріїв виконання комплаєнсу. AppSec перевіряє, що використані на проєкті підходи відповідають цим вимогам.<br></p><h3 id="8-%D1%96%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D1%96%D1%8F-devsecops">8. Інтеграція DevSecOps<br></h3><p>Вразливі місця можуть бути не лише у проєкті, але й у конфігурації інфраструктури. Зазвичай це зона відповідальності DevOps-фахівців. Проте вони часто не мають вузької спеціалізації та знають лише базові аспекти безпеки. Тоді AppSec дивиться, як усе налаштовано з позиції DevSecOps. Подекуди переймає деякі задачі девопсів.</p><p>Наприклад, в одному з моїх проєктів AppSec-інженери тісно взаємодіяли з DevOps-ами. Розбиралися в наявних пайплайнах та інтегрували в CI-процес кастомний сканер. Обом командам допоміг попередній досвід розробки, і вони досить легко знайшли спільну мову.<br></p><h3 id="9-%D0%BC%D0%BE%D0%BD%D1%96%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3-%D1%82%D0%B0-%D1%80%D0%B5%D0%B0%D0%B3%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%BD%D0%B0-%D1%96%D0%BD%D1%86%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8">9. Моніторинг та реагування на інциденти<br></h3><p>За відстеження атак та реагування на них відповідає Social Operation Center. AppSec-інженери визначають кроки: як має реагувати команда, організація і продукт, коли щось трапилось. Усе прописують у стандартах полісі та інцидент-планах для різних варіантів атак.<br></p><p>Наприклад, юзер завжди логінився з Австрії, але раптово зайшов у систему з Австралії. Це вибивається зі звичного сценарію, тому потрібен план дій. Система за схемою мультифакторної авторизації зв’язується із користувачем за допомогою іншого каналу комунікації та перепитує: а це точно ти? Якщо відповіді немає чи вона негативна, запит автоматично блокується.</p><p>Саме тому норми Application Security слід впроваджувати від початку розробки. Реалізація такого інцидент-плану потребує заздалегідь передбачити технічну можливість блокування юзера.<br></p><p>Ми не можемо закрити очі на жоден із цих пунктів чи приділити їм замало уваги. Але будемо чесні: ресурсів завжди не вистачає, тому доводиться йти на компроміси. І це треба обговорювати з клієнтом.</p><p>Часто команди не встигають перевірити певний функціонал. Тут є сенс переглянути бізнес-стратегію та змінити фічу чи взагалі відмовитися від неї на певний час.</p><p>А ще, наприклад, сьогодні чимало продуктів будують навколо ШІ, який може робити в системі будь-що. Але це порушує базові стандарти Application Security. Зловмисники намагатимуться зламати такого «юзера» задля супердоступу. Тож слід переконати клієнта, що ризики від впровадження фічі перевищують профіт.</p><p>Краще йти на компроміс не в безпеці, а в можливостях. Якщо ж клієнт все одно залишає без уваги згадані небезпечні місця у застосунку, то варто винести їх у пріоритет для наступного релізу.<br></p><h2 id="%D1%89%D0%BE-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BC%D0%B0%D0%B3%D0%B0%D1%94-%D1%83-%D0%B2%D0%B8%D0%BA%D0%BE%D0%BD%D0%B0%D0%BD%D0%BD%D1%96-%D0%B7%D0%B0%D0%B2%D0%B4%D0%B0%D0%BD%D1%8C">Що допомагає у виконанні завдань<br></h2><p>Арсенал інструментів, методологій, фреймворків доволі широкий, та передусім варто...<br></p><h3 id="%D0%BE%D1%80%D1%96%D1%94%D0%BD%D1%82%D1%83%D0%B2%D0%B0%D1%82%D0%B8%D1%81%D1%8F-%D0%BD%D0%B0-%D0%B3%D0%B0%D0%BB%D1%83%D0%B7%D0%B5%D0%B2%D1%96-%D1%82%D0%B0-%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%B2%D0%BD%D1%96-%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%B8">Орієнтуватися на галузеві та державні стандарти<br></h3><p>Наприклад, є визнані фреймворки американського інституту NIST та міжнародні стандарти ISO, яким повинні відповідати організація та ПЗ (наприклад, ISO 27001 чи ISO 15408). Ці документи описують, яким має бути безпечний IT-продукт.</p><p>Фахівці вивчають подібну документацію та порівнюють із тим, що бачать на проєкті. У разі розбіжностей слід звернути увагу на невідповідність стандартам, яка може завадити продукту пройти подальшу сертифікацію.<br></p><h3 id="%D0%BF%D1%80%D0%B0%D1%86%D1%8E%D0%B2%D0%B0%D1%82%D0%B8-%D0%B7%D1%96-%D1%81%D0%BA%D0%B0%D0%BD%D0%B5%D1%80%D0%B0%D0%BC%D0%B8-%E2%80%93-%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%87%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B7%D1%83-%D0%BA%D0%BE%D0%B4%D1%83-%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B7%D1%83-%D0%B7%D0%B0%D0%BB%D0%B5%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B5%D0%B9-%D0%B4%D0%B8%D0%BD%D0%B0%D0%BC%D1%96%D1%87%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B7%D1%83-%D0%BA%D0%BE%D0%BB%D0%B8-%D1%94-%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%B8%D0%B9-%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82-%D1%83-%D0%B2%D0%B8%D0%B3%D0%BB%D1%8F%D0%B4%D1%96-api">Працювати зі сканерами – статичного аналізу коду, аналізу залежностей, динамічного аналізу (коли є готовий продукт у вигляді API)<br></h3><p>Ці інструменти імітують різні типи атак і дозволяють шукати вразливості, чим AppSec займається регулярно. Адже проєкт не стоїть на місці, фічі постійно змінюються чи додаються.</p><p>Application Security не обмежується налаштуванням і запуском інструментів. Робота з тим же статичним аналізатором коду нескладна, але для AppSec недостатньо запустити інструмент і витягнути звіт. Варто досліджувати особливості продукту, щоб прогнозувати можливі атаки в тих чи інших місцях.<br></p><p>Часто розробники використовують характерні системи найменування змінних, на які сканер реагує як на вразливість.</p><p>Припустимо, в назві змінної є слово password, але це не пароль. У такому випадку інженер оцінює проблему та позначає її як false positive – хибну тривогу. Сканери показують все, що здається неправильним, і видають багато нерелевантної інформації.</p><p>Опрацьовувати алерти можуть і розробники, але краще довірити це AppSec-ам. Вони відфільтрують вразливості, а девелопери зосередяться на своїх завданнях.<br></p><h2 id="%D1%8F%D0%BA-%D0%B2%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B4%D0%B6%D1%83%D0%B2%D0%B0%D1%82%D0%B8-application-security-%D0%BD%D0%B0-%D0%BF%D1%80%D0%BE%D1%94%D0%BA%D1%82%D1%96">Як впроваджувати Application Security на проєкті<br></h2><p>Існує кілька моделей роботи Application Security. На вибір впливають особливості проєкту. Наприклад, створення SOC-команди виправдано лише в масштабних проєктах. А для роботи з продуктами у хмарі навіть AppSec-команда часто не потрібна. Адже 99,9% комплаєнсів та перволів налаштовує хмарний провайдер. Тому побудувати все зможуть і девопси, а з боку AppSec потрібна буде лише перевірка їхньої роботи.<br></p><h2 id="%D0%B7%D0%B0%D0%B7%D0%B2%D0%B8%D1%87%D0%B0%D0%B9-appsec-%D1%81%D0%BF%D0%B5%D1%86%D1%96%D0%B0%D0%BB%D1%96%D1%81%D1%82%D1%96%D0%B2-%D0%BC%D0%BE%D0%B6%D1%83%D1%82%D1%8C-%D0%B7%D0%B0%D0%BB%D1%83%D1%87%D0%B0%D1%82%D0%B8-%D1%83-%D0%BF%D1%80%D0%BE%D1%94%D0%BA%D1%82%D0%B8-%D0%BF%D1%96%D0%B4-%D1%82%D0%B0%D0%BA%D1%96-%D0%B7%D0%B0%D0%B2%D0%B4%D0%B0%D0%BD%D0%BD%D1%8F">Зазвичай AppSec-спеціалістів можуть залучати у проєкти під такі завдання:<br></h2><ul><li><strong>Аудит</strong> – коли інженер аналізує системи та організації та надає звіт, чи все відповідає нормам безпеки. Зауважу, що жоден продукт не може та не має відповідати абсолютно всім нормативам. Їх безліч, а тому під час аудиту варто орієнтуватися на бізнес-домен та особливості конкретного проєкту.<br></li><li><strong>Консалтинг </strong>– коли разово чи на постійній основі спеціаліст допомагає командам, де немає ролі AppSec. Консультації можуть стосуватися й окремих напрямів роботи. Наприклад, потрібно налаштувати шифрування даних. Розробники не впевнені, що використовують оптимальні алгоритми. Тоді AppSec оцінює, як побудовано механізм шифрування, і за необхідності радить щось виправити.<br></li><li><strong>Інтеграція в SDLC</strong> – коли Application Security включається у життєвий цикл розробки. Особисто для мене це найцікавіше і водночас найскладніше завдання. Особливо важко це зробити, якщо проєкт вже «‎біжить».</li><li><br>Наприклад, неможливо швидко замінити небезпечний канал комунікацій. Складно модифікувати і процеси. Тести на проникнення часто проводять безпосередньо перед релізом, і завжди щось знаходять. Задля усунення вразливостей реліз відкладається. Завдання AppSec-інженера – порекомендувати команді змістити тестування на більш ранню стадію за принципом Shift Left. Через додаткові перевірки CI-процес затягується, що сповільнює темп розробки. Тому краще інтегрувати у проєкт Application Security якомога раніше. Це збереже і час, і кошти.</li><li></li><li></li></ul><h2 id="%D1%8F%D0%BA-appsec-%D1%84%D0%B0%D1%85%D1%96%D0%B2%D1%86%D0%B5%D0%B2%D1%96-%D0%BE%D1%80%D0%B3%D0%B0%D0%BD%D1%96%D0%B7%D1%83%D0%B2%D0%B0%D1%82%D0%B8-%D1%81%D0%B2%D0%BE%D1%8E-%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D1%83">Як AppSec-фахівцеві організувати свою роботу<br></h2><h3 id="%D0%BF%D0%BB%D0%B0%D0%BD-%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D0%B8-%D0%B7%D0%B0%D0%B7%D0%B2%D0%B8%D1%87%D0%B0%D0%B9-%D1%82%D0%B0%D0%BA%D0%B8%D0%B9">План роботи зазвичай такий:<br></h3><ul><li><strong>Комплексний аналіз</strong>. Ця оцінка допоможе розставити пріоритети у знайдених проблемах і створити екшен-план. Неможливо охопити все й одразу. Визначте критичні недоліки. Наприклад, у Healthcare інколи використовують публічні ендпойнти, де можна отримати дані про пацієнта, просто передавши ID. Ця проблема вимагає негайного вирішення. Бувають проблеми, що витікають із самих процесів. Тоді спершу фіксимо процесуальні недоліки.<br></li><li><strong>Виправлення проблем</strong>. Може стосуватися як старих частин проєкту, так і нових фіч. Виправлення можуть відбуватися паралельно за обома цими напрямами. Зазвичай вказані задачі виконуються в shadow-режимі. Тобто команда розробки в принципі не знає, що робить AppSec. Тим часом фахівець аналізує код і систему, готує звіти та передає їх техлідам, а надалі перевіряє реалізацію.<br></li><li><strong>Постійна інтеграція AppSec</strong>. Коли нагальних проблем немає, беремось інтегрувати процеси безпеки. Це варто робити на всіх етапах життєвого циклу ПЗ. План інтеграції може бути суворим або більш гнучким, коли спирається не стільки на виправлення помилок, скільки на покращення безпеки. Жодна система не може бути на 100% захищеною. Завжди є шляхи подальших покращень.<br></li></ul><h2 id="%D0%BA%D0%B0%D1%80%E2%80%99%D1%94%D1%80%D0%BD%D0%B8%D0%B9-%D1%80%D0%BE%D0%B7%D0%B2%D0%B8%D1%82%D0%BE%D0%BA-appsec-%D1%96%D0%BD%D0%B6%D0%B5%D0%BD%D0%B5%D1%80%D0%B0">Кар’єрний розвиток AppSec-інженера<br></h2><p>Професія AppSec передбачає виконання різних завдань різної складності, а отже й варіантів розвитку у цій сфері безліч. Можна рухатись у бік Blue Team чи Red Team.</p><p>Якщо ви вмієте проводити тести на проникнення і хочете зосередитись на цьому – ось вам ще один шлях. Можна фокусуватися на окремій технології. Наприклад, на роботі з хмарними платформами або на системах на базі штучного інтелекту.<br></p><p>Йдеться не про зміну професії, а про відкриття для себе нової спеціалізації. В Application Security ви зможете працювати з документацією, із кодом, з DevOps-підходами.</p><p>Для початку варто базово знатися на цьому. А далі – збагачувати практичний досвід і може навіть подумати про сертифікацію за окремим напрямом. Це дасть вам змогу як Application Security інженеру вийти на новий професійний рівень.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Війна в Україні відбувається на всіх фронтах. Країна-агресор залучає всі можливі ресурси, щоб блокувати всі сфери життя українців. Це також стосується цифрових технологій та атак на них: кібервійна продовжує йти з першого дня вторгнення. Росіяни постійно проводять атаки на цифрову інфраструктуру, маючи різний успіх.

В умовах війни сторони використовують всі ]]></description>
        <link>https://proit.ua/iaki-ukrayinski-siervisi-ie-gholovnoiu-mishienniu-kibieratak-ta-chi-kontroliuietsia-khakierstvo-na-mizhnarodnomu-rivni/</link>
        <guid isPermaLink="false">6633993e5d437a2ad51fc8d0</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  EASE Team ]]></dc:creator>
        <pubDate>пт, 03 трав 2024 14:00:48 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/05/medium-shot-hacker-holding-device.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Війна в Україні відбувається на всіх фронтах. Країна-агресор залучає всі можливі ресурси, щоб блокувати всі сфери життя українців. Це також стосується цифрових технологій та атак на них: кібервійна продовжує йти з першого дня вторгнення. Росіяни постійно проводять атаки на цифрову інфраструктуру, маючи різний успіх.</p><p>В умовах війни сторони використовують всі ресурси, але залишається відкритим юридичний бік цифрового протистояння. Європейська Асоціація програмної інженерії провела інтерв’ю з Максимом Курочко, керуючим партнером та адвокатом об’єднання MK Legal Service, та його колегою Артемом Остапенком, керівником ІТ/ТМТ практики, щоб дізнатися, які сервіси найбільше наражені на небезпеку атак та чи є це законним.</p><p>В першу чергу варто зазначити, що цілі та об’єкти атак в інших країнах та в мирний час відрізняються від того, що зараз відбувається в Україні.</p><p>Зазвичай метою атаки на компанію може бути бажання отримати викуп будь-яким шляхом. Проте в умовах війни зловмисники мають іншу задачу: паралізувати всю можливу інфраструктуру та ускладнити життя громадян. Також атаки є невіддільною складовою інформаційної війни.</p><p>За спостереженнями експертів, найчастіше об’єктами кібератак є інформаційно-комунікаційні системи операторів критичної інфраструктури, адміністраторів державних реєстрів, та баз даних, компаній які надають масові загальнодоступні послуги через Інтернет. Найпомітнішим кейсом такої атаки було падіння «Київстару» у грудні минулого року, проте атаки менших масштабів відбуваються регулярно.</p><p>Хоча не завжди хакери відкрито беруть на себе відповідальність за атаку, ні для кого не секрет, що за ними стоять російські спецслужби.</p><p>За допомогою атак хакери не тільки намагаються паралізувати критичну інфраструктуру та блокувати діяльність ресурсів державної влади, а також здобувати персональні дані українців та використовувати їх зі злочинними намірами.</p><p>Що ж стосується питання законності таких атак, то законодавство кожної країни регулює питання хакерства окремо. Проте не існує організації, яка б контролювала порушення на міжнародному рівні, тому притягти російських хакерів до відповідальності наразі складно. Однак варто згадати, що українські айтівці атакують ворожі ресурси не менш активно, тому це протистояння продовжується на рівних умовах.</p><p>В умовах постійних атак потрібен захист. На тлі цього експерти зазначають, що можливості українських фахівців із кібербезпеки значно зросли, як і технічні можливості. MK Legal Service також докладає зусиль до цього напряму, маючи низку успішних кейсів.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Дано: Бізнес-ідея – створити перший в Україні небанківський фінансовий мобільний застосунок із власними рахунками та картками, інтуїтивно зрозумілий та функціональний інструмент, який дасть змогу клієнтам керувати своїми фінансами.

Рішення: Це виявилося завданням із викликами, що вимагало від нас не лише технічних знань, але й уміння ефективно комунікувати та співпрацювати з різними ]]></description>
        <link>https://proit.ua/novapay-iak-buti-piershoprokhidtsiami-u-stvorienni-niebankivskogho-finansovogho-zastosunku/</link>
        <guid isPermaLink="false">662565fd9d17c41d06a93aff</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Григорій Лісничий ]]></dc:creator>
        <pubDate>ср, 24 квіт 2024 14:00:24 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/04/2150165978.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><strong>Дано: </strong>Бізнес-ідея – створити перший в Україні небанківський фінансовий мобільний застосунок із власними рахунками та картками, інтуїтивно зрозумілий та функціональний інструмент, який дасть змогу клієнтам керувати своїми фінансами.</p><p><strong>Рішення:</strong> Це виявилося завданням із викликами, що вимагало від нас не лише технічних знань, але й уміння ефективно комунікувати та співпрацювати з різними командами й партнерами. Ми вибудовували весь процес із нуля та витратили понад 96 тисяч годин для запуску фінансового мобільного застосунку.</p><h2 id="%D0%BF%D1%80%D0%B0%D1%86%D1%8E%D1%8E%D1%87%D0%B8-%D1%96%D0%B7-%D1%82%D0%B0%D0%BA%D0%B8%D0%BC%D0%B8-%D0%B2%D0%B2%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B8-%D1%81%D1%82%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B7%D0%B0%D1%81%D1%82%D0%BE%D1%81%D1%83%D0%BD%D0%BA%D1%83-%D0%BC%D0%B8-%D1%80%D0%BE%D0%B7%D0%B4%D1%96%D0%BB%D0%B8%D0%BB%D0%B8-%D0%BD%D0%B0-%D1%87%D0%BE%D1%82%D0%B8%D1%80%D0%B8-%D1%80%D1%96%D0%B2%D0%BD%D1%96">Працюючи із такими вводними, створення застосунку ми розділили на чотири рівні:<br></h2><p><strong>Архітектурне планування та побудова системи. </strong>Ми обрали для себе<strong> </strong>сервіс-орієнтовану<strong> </strong>архітектуру, що дало нам змогу побудувати систему у вигляді набору невеликих незалежних компонентів, кожен із яких відповідає за свої власні функції. Це дозволяє зберегти стійкість взагалі й при доопрацюваннях зокрема.</p><p><strong>Розробка базових функцій, без чого не можна обійтися. </strong>Застосунок має працювати 24/7, бути надійним, безпечним і швидким. У ньому має бути зручний і зрозумілий клієнтський шлях – починаючи з онбордингу й до отримання продуктових послуг.</p><p><strong>Синхронізація усіх «пазлів» системи. </strong>Мобільний застосунок – це лише вершина айсберга. Крім створення мобільного застосунку, паралельно ми працювали над розробленням внутрішніх інформаційних систем компанії: створенням мобільного бекенду, розробленням інтерфейсів операторів, систем бек-офісних процесів, касової системи.</p><p><strong>Створення унікальних для ринку продуктів.</strong> Окрім звичних платіжних послуг, у застосунку реалізовано ексклюзивні для ринку продукти та переваги: 20% вигоди на послуги з доставки й післяплати, посилку у кредит, купівлю власних облігацій, переказ коштів на відділення, розрахунок за посилки та інше.</p><p>Звісно, реалізуючи це вперше на ринку, ми не могли не зіткнутися із челенджами – як внутрішніми, так і зовнішніми.</p><h2 id="%D0%B2%D0%B8%D0%BA%D0%BB%D0%B8%D0%BA-%E2%84%96-1-%D0%B4%D0%B5%D1%84%D1%96%D1%86%D0%B8%D1%82-%D0%B2%D1%83%D0%B7%D1%8C%D0%BA%D0%BE%D0%BF%D1%80%D0%BE%D1%84%D1%96%D0%BB%D1%8C%D0%BD%D0%B8%D1%85-%D1%84%D0%B0%D1%85%D1%96%D0%B2%D1%86%D1%96%D0%B2-%D1%96-%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%8F-%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%96%D0%B2">Виклик № 1: дефіцит вузькопрофільних фахівців і синхронізація процесів</h2><p></p><p>До розробки першого MVP (мінімально життєздатний продукт) ми залучили до 15 працівників із департаменту ІТ. Це був перший MVP всередині компанії, створений менш ніж за 2 місяці. Його завданням було показати потенціал життєздатності.</p><p>Ми розпочали роботу, чудово розуміючи, що багато компетенцій будемо нарощувати поступово. Адже продукт не створюється одномоментно. Також у наших планах масштабувати його не тільки в Україні, а й у Європі.</p><p>З розвитком застосунку нам не вистачало вузькопрофільних спеціалістів, які мали б досвід у фінансовому секторі. Так, окрім девелоперів, до команди приєдналися методологи, аналітики, команда впровадження core-banking, фахівці з управління електронними підписами. У нас з’явилися спеціалісти, які займаються налаштуванням карткових продуктів, фахівці з криптографії та інші.</p><p>Зараз до проєкту залучено близько 60 людей: розробники, тестувальники, фахівці з бізнес-аналізу та support-продукту.</p><p>З розширенням команди та запуском безлічі паралельних процесів і систем у нас був виклик синхронізувати релізний цикл різних команд для одночасного виходу продукту. Наприклад, якщо девелопмент працював за agile-методологіями, то запуск процесів і систем відбувався за класичним waterfall. А додаючи сюди ще й різний технологічний стек, то це було завдання не з легких.</p><p>Щоб синхронізувати роботу департаменту, ми повністю перепланували технічну складову випуску релізів, програмних продуктів і тестування. Зараз графік виходу оновлень запланований на кожні 2 тижні. Зі старту бета-версії застосунку вже було реалізовано 13 оновлень для користувачів Android та 9 релізів для iOS.</p><h2 id="%D0%B2%D0%B8%D0%BA%D0%BB%D0%B8%D0%BA-%E2%84%96-2-%D1%81%D0%BF%D1%96%D0%B2%D0%BF%D1%80%D0%B0%D1%86%D1%8F-%D1%96%D0%B7-%D0%BF%D0%B0%D1%80%D1%82%D0%BD%D0%B5%D1%80%D0%B0%D0%BC%D0%B8-%D1%82%D0%B0-%D0%BF%D1%96%D0%B4%D1%80%D1%8F%D0%B4%D0%BD%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8">Виклик № 2: співпраця із партнерами та підрядниками<br></h2><p>Фінансовий застосунок NovaPay – це власна розробка компанії, проте у процесі його створення ми працювали з різними партнерами та підрядниками.</p><p>Коннект із фінансовими системами й онлайн онбординг із Дія ми зробили у звичному режимі, бо в цьому вже мали експертизу. Але для деяких напрямів нам знадобився час. Досить довго ми обирали партнера, який зміг надати нам якісний Liveness Detection – біометричну систему ідентифікації. Адже важливо було, щоб система могла ідентифікувати клієнта по фото зі збігом близько 90%.</p><p>Найскладнішим технічним завданням виявилося те, що весь ринок (підрядники core-banking, процесинг, liveness та інші) спрямований на роботу із банками. Враховуючи, що NovaPay – перша небанківська фінансова установа, яка створила свій мобільний застосунок із власною емісією карт, ми маємо певні нефункціональні вимоги, що відрізняють нас від банків. На старті проєкту їх розрахувати було неможливо.</p><p>Шлях із нуля до продуктиву проходили не тільки ми, а й наші партнери, створюючи релізи своїх систем спеціально для NovaPay.</p><h2 id="%D0%B2%D0%B8%D0%BA%D0%BB%D0%B8%D0%BA-%E2%84%96-3-%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D0%BA%D0%BE%D0%B2%D0%B0-%D1%81%D0%BA%D0%BB%D0%B0%D0%B4%D0%BE%D0%B2%D0%B0">Виклик № 3: безпекова складова<br></h2><p>Коли ми отримали розширену ліцензію НБУ, то не тільки почали роботу над новими фінансовими продуктами для клієнтів. Разом із цим ми отримали регуляторні вимоги й обов’язки, які можна порівняти із великими банками. Одночасно із запуском застосунку у нас трансформувалася і система інформаційної безпеки.</p><p>Компанія вже мала сертифікати безпеки PCI DSS та ISO 27001, що призначені для оцінки внутрішніх контролів компаній стосовно безпеки. Додатково ми розробили нову стратегію інформаційної безпеки, яка спрямована на мінімізацію ризиків і водночас дає змогу не гальмувати темп змін.</p><p>Враховуючи, що NovaPay планує виходити на європейський ринок, наша система захисту даних будується таким чином, щоб відповідати вимогам безпеки як України, так і ЄС. Для забезпечення безперервної діяльності всіх сервісів та захисту даних ми використовуємо гібридну інфраструктуру. Частина сервісів розміщена на «землі», частина – у «хмарі».</p><p>Основні компоненти «мобільного банку», усі транзакції здійснюються у «хмарі». Завдяки цьому клієнти NovaPay можуть бути впевнені – їхні фінанси та дані максимально захищені. Система спроєктована таким чином, що у разі DDoS-атаки вона не призведе до простою наших сервісів і, що найголовніше, до витоку даних клієнтів.</p><h2 id="%D0%B2%D0%B8%D0%BA%D0%BB%D0%B8%D0%BA-%E2%84%96-4-%D0%BC%D0%B8-%D0%BD%D0%B5-%D0%BC%D0%B0%D1%94%D0%BC%D0%BE-%D0%BF%D1%80%D0%B0%D0%B2%D0%B0-%D0%BD%D0%B0-%D0%BF%D0%BE%D0%BC%D0%B8%D0%BB%D0%BA%D1%83">Виклик № 4: ми не маємо права на помилку<br></h2><p>Зараз, коли мобільний застосунок NovaPay функціонує і стабільно розвивається, найбільший челендж, який стоїть перед IT-командою, – це зрости у кілька разів. Як технічно, так і продуктово.</p><p>Також із технічного погляду важливо приділити увагу архітектурному плануванню й побудові системи так, щоб будь-якої миті ми могли горизонтально масштабувати її. При цьому мобільний застосунок має працювати миттєво. Так само і на відділеннях Нової пошти клієнти мають обслуговуватись оперативно.</p><p>Враховуючи навантаження платіжної системи NovaPay, у нас немає права на помилку. В той час, коли найбільші українські банки із першої десятки в середньому обробляють 1,5 мільйона транзакцій за день, ми опрацьовуємо орієнтовно 3–3,5 мільйони транзакцій. Це оплати у відділеннях, онлайн і транзакції всередині мобільного застосунку NovaPay. Тож, далі буде.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Деякі початківці переконані, що мають виконувати тільки функціональне тестування. Насправді в полі зору тестувальника повинно бути все, зокрема UI/UX-дизайн продукту. Так ви зможете ще на етапі створення макета пояснити дизайнеру і клієнту наявні проблеми, а в дечому навіть покращити взаємодію користувачів із сайтом.

Про основні підходи до тестування дизайн-макетів ]]></description>
        <link>https://proit.ua/tiestuiemo-dizain-makiet-saitu-osnovni-pidkhodi-ta-poradi-qa-fakhivtsiam/</link>
        <guid isPermaLink="false">661dae51094e7de46f84abf1</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  NIX Team ]]></dc:creator>
        <pubDate>ср, 17 квіт 2024 14:00:17 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/04/female-web-designer-with-papers-notes-office.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>Деякі початківці переконані, що мають виконувати тільки функціональне тестування. Насправді в полі зору тестувальника повинно бути все, зокрема UI/UX-дизайн продукту. Так ви зможете ще на етапі створення макета пояснити дизайнеру і клієнту наявні проблеми, а в дечому навіть покращити взаємодію користувачів із сайтом.</em></p><p><em>Про основні підходи до тестування дизайн-макетів розповідає <strong>Олексій Дивінець, General QA в ІТ-команді NIX</strong>.</em></p><h2 id="%D0%BD%D0%B5%D0%B2%D0%B6%D0%B5-%D1%86%D0%B5-%D0%BD%D0%B5-%D0%B7%D0%B0%D0%B2%D0%B4%D0%B0%D0%BD%D0%BD%D1%8F-%D0%B4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD%D0%B5%D1%80%D0%B0">Невже це не завдання дизайнера?</h2><p>Зовнішній вигляд сайту – досить суб’єктивна річ. Проте його стиль не має порушувати принципи UI-дизайну (User Interface). Йдеться не лише про інтерфейси сайтів чи застосунків, але й вигляд побутової техніки, автомобілів, інших речей та пристроїв.</p><p>Раніше діяло правило «трьох кліків»: зробити так, щоб користувач за три кліки досягнув мети. Сьогодні ж застосунки настільки розростаються, що і трьох кліків замало. Тому головне в дизайні інтерфейсів – переконатися, що шлях юзера зрозумілий йому за будь-яких умов. Це задача UI/UX-дизайнера. Та якщо такого спеціаліста немає в команді, тестувальник цілком може взяти на себе цю роль.</p><h2 id="%D0%B4%D0%BB%D1%8F-%D0%BF%D0%BE%D1%87%D0%B0%D1%82%D0%BA%D1%83-%D0%B4%D1%96%D0%B7%D0%BD%D0%B0%D1%94%D0%BC%D0%BE%D1%81%D1%8F-%D1%8F%D0%BA-%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D1%83%D0%B2%D0%B0%D1%87%D1%96-%D0%B2%D0%B7%D0%B0%D1%94%D0%BC%D0%BE%D0%B4%D1%96%D1%8E%D1%82%D1%8C-%D1%96%D0%B7-%D0%B4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD%D0%BE%D0%BC">Для початку дізнаємося, як користувачі взаємодіють із дизайном</h2><p>Не існує єдиного способу сприйняття макета. Є багато шаблонів поведінки юзерів. Ці сценарії можуть змінюватися залежно від стилю та контенту на сайті або в застосунку залежно від конкретної сторінки, на якій перебуває користувач, від його цілей, розмірів екрана девайсу юзера, наявності анімації чи відео на сторінці, особливостей сприйняття інформації окремої людини. Але орієнтуватися все-таки є на що.</p><p>Зазвичай фахівці користуються паттернізованими схемами розробки сайтів, приділяючи увагу розміщенню елементів інтерфейсу там, де найбільше сконцентрована увага користувачів. Це пов’язано з дослідженнями UI/UX-експерта Якоба Нільсена, засновника компанії Nielsen Norman Group. Він з’ясував, як люди переглядають сторінки сайтів. Виявилося, ми не читаємо сторінки по вертикалі. Замість цього швидко «‎скануємо» їх, шукаючи необхідні ключові слова і фрази.</p><p>Згодом на основі досліджень Нільсена сформували основні типи поведінки користувачів під час переглядання сайтів: F-патерн, Z-патерн та Діаграма Гутенберга.</p><ul><li><strong>F-патерн</strong>. Рух погляду в цьому випадку переміщується за осями літери F, як на ілюстрації нижче. Цей шаблон актуальний передусім для сторінок із текстовим наповненням та монотонною сіткою з блоків (наприклад, із товарів в інтернет-магазині). Але F-патерн не працює з екранами смартфонів. Тобто він стосується лише десктопних версій застосунків. Під час тестування UI варто оцінити, наскільки легко можна охопити основну інформацію на сторінці. Для цього заголовок має бути великим і влучним, відображати суть тексту. Ключову інформацію слід подавати в перших абзацах. Інше структурувати: зі списками, розбитими на невеликі абзаци, з підзаголовками.<br></li></ul><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/iBdHaisJwqJtajbDqI740LTIYqThvhTvQ53hJ7wSRqsHHenlhH7WMw3gAMfq9guDaEgTKFZ11g3hmI-HXUpywmgKOuulXVg_CQ5x5lZAXgzbIctkI3zEuV2iFzxyynvu2N8UvaLDfmj21_A" class="kg-image" alt loading="lazy" width="602" height="246"></figure><ul><li><strong>Z-патерн</strong>. Тут погляд користувача рухається по екрану за осями літери Z, від точки 1 до 2, потім 3 та 4, як показано на ілюстрації нижче. При цьому максимум уваги зосереджується на перших трьох точках. Під час тестування треба переконатися, що головні елементи розміщені саме у точках 1, 2 і 3 (плюс 4). Якщо якийсь блок випадатиме з «маршруту» погляду людини, то може залишитися непоміченим.</li></ul><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/-1kMOkAiaZPuEYpMFwVs4cWZpOHn-QRaThLca_TJ-k6egGVzlUzjSClzsNxh5uovKHbTCsGmCVLtp1haNIa-sGcwinsRTjsL94Z6DFG_giVRJgI0_U9jqnnne9A6HVDaEO_WyszkpFtu7OI" class="kg-image" alt loading="lazy" width="602" height="180"></figure><ul><li><strong>Діаграма Гутенберга</strong>. Цей патерн схожий на попередній, але тут поведінка користувачів складніша: вони ніби сканують поглядом сторінку, пересуваючись із пункту до пункту, звертаючи увагу на ключові слова і фрази, які виділяються на фоні решти тексту. Зона А – головна, сюди люди дивляться найчастіше. Тож переконайтеся, що тут знаходяться логотип і назва компанії чи заголовок. Далі за пріоритетом йде зона B. Тут варто розташувати контакти, форму замовлення дзвінка та інші подібні елементи. Зона C, на відміну від 3-ї точки у Z-патерні, не варта уваги, оскільки сюди мало хто дивиться. Перевірте, що тут немає дійсно важливої інформації та кнопок. Зона D є блоком ухвалення рішення або виходу. Тут можна розміщувати, наприклад, кнопку замовлення, щоб підштовхнути юзера до покупки.</li></ul><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/m1j1g6cobmkTpXgfzidvMxDJpeOBT__LCKQtRcxcVna6kJPYvTO7VLV9HP-iNTKC04SQCIkdQCr3reHzZc6I3qSemrTSu9AOpMFddSTmVx85ZqO9nrYQA6zIIWMwbrNQXD-2qveu4InebWg" class="kg-image" alt loading="lazy" width="602" height="260"></figure><p>Цими прикладами патерни поведінки користувачів не обмежуються. Насправді їх безліч. Але принаймні ці можуть слугувати орієнтирами та допоможуть оцінити структуру макета.</p><h2 id="%D1%89%D0%BE-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BB%D1%8C%D0%BD%D0%B8%D0%BA-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D1%96%D1%80%D1%8F%D1%94-%D0%BD%D0%B0-%D0%BC%D0%B0%D0%BA%D0%B5%D1%82%D1%96-%D1%81%D1%82%D0%BE%D1%80%D1%96%D0%BD%D0%BA%D0%B8">Що тестувальник перевіряє на макеті сторінки</h2><p>Розташування елементів на сторінках має відповідати принципам дизайну та досвіду користувача (UX). Тобто всі елементи повинні розташовуватися таким чином, щоб люди швидко знаходити потрібну їм інформацію та взаємодіяти із сайтом без зайвих зусиль.</p><h3 id="%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%96-%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%D0%B8-%D1%80%D0%BE%D0%B7%D1%82%D0%B0%D1%88%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%B5%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D1%96%D0%B2-%D0%BD%D0%B0-%D1%81%D0%B0%D0%B9%D1%82%D1%96">Основні принципи розташування елементів на сайті:</h3><ul><li><strong>Ієрархія</strong>.<strong> </strong>Елементи на сторінці повинні розміщуватися відповідно до значущості. Найважливіші, скажімо, головне меню, мають бути на видноті. Не надто важливі елементи, наприклад, інформацію про користувача, можна розмістити у менш видимих місцях.</li><li><strong>Рівномірність</strong>. Це про зручність користування вебресурсом. Наприклад, якщо важливі кнопки розташовані з одного боку, то решта елементів відповідно повинні бути розміщені з іншого боку, що візуально створюватиме баланс.</li><li><strong>Простота</strong>.<strong> </strong>Простий і лаконічний дизайн не заважатиме користувачам сприймати інформацію з сайту. Це стосується таких зайвих елементів, як анімація чи великі зображення.</li></ul><p>Оцініть, що в наявному дизайні може знижувати конверсію. Найбільш поширеними помилками вважаються:</p><ul><li><strong>Відсутність адаптивності</strong>. Це чи не перший фактор, який знижує конверсію. Сайт повинен коректно відображатися і працювати на екранах різного розміру та на різних пристроях (комп’ютери, смартфони, планшети тощо), забезпечуючи користувачам зручність і задоволення від використання.</li><li><strong>Складна навігація</strong>. Критичне порушення принципів UI/UX. Користувачу відразу мають бути зрозумілі основні розділи сайту, меню, назва компанії, контакти. Навіть найбільш креативний дизайн не повинен конфліктувати з наочністю. Якщо користувач не розумітиме, як знайти потрібний розділ чи фільтрувати товари, то ресурс не буде перетворювати відвідувачів сайту на клієнтів.</li><li><strong>Перенасиченість рекламою</strong>. Нерозбірливо розміщені оголошення будь-де лише відштовхують потенційних покупців. До того ж заважають користувачам зрозуміти функціонал сайту та виконувати цільові дії (вибір товару, оформлення замовлення, коментування на сторінці відгуків тощо). Крім того, наявність великої кількості банерів, модальних вікон та popup-ів впливає на ставлення до бренду або продукту.</li><li><strong>Автоматичне програвання рекламних банерів</strong>. Анімаційна реклама здебільшого викликає у користувачів вкрай негативну реакцію. Максимальне роздратування – це коли аудіо раптово автоматично вмикається на сторінці. Нашою природною реакцією є спроба якнайшвидше закрити подібний елемент чи встановити блокувальник реклами у браузері. Тож переконайтеся, що на сайті, з яким ви працюєте, немає анімаційної реклами або за замовчуванням вимкнено звук.</li><li><strong>Слабка диференціація реклами</strong>. Банери повинні біти візуально відокремленими від основного контенту на сайті та позначеними як реклама (цього вимагають інструкції Google Ads). Інакше користувач, клікаючи на оголошення, перейде на інший ресурс. А це може знизити довіру до першого. Переконайтеся, що рекламні блоки не виглядають як елементи основної навігації на сайті (тематичні розділи, сніпети статті тощо).</li><li><strong>Некоректне використання каруселі</strong>. В цілому юзери позитивно ставляться до каруселі, але за умови, що все працює коректно. Часто слайди змінюються надто швидко. Користувачі не встигають натиснути на банер і вимушені гортати карусель назад. Або ж запізно клікають і переходять на іншу сторінку. Слід перевірити, чи встигаєте ви прочитати все необхідне для розуміння інформації та натиснути на рекламу. В ідеалі карусель зупиняється при наведенні на неї курсором.</li><li><strong>Відсутність елементів-підказок</strong>.<strong> </strong>Сучасні сайти, особливо онлайн-магазини, мають розгалужену структуру з десятками розділів, підрозділів, категорій, підкатегорій. Шлях покупця до кінцевої сторінки може бути заплутаним. Тож рекомендовано виносити популярні внутрішні розділи на вищі рівні меню. Наприклад, на сторінку «‎Побутова техніка» додати лінки на популярні пропозиції цих товарів. Це дозволить користувачеві швидко перейти до вибору.</li><li><strong>Неочевидне поле пошуку</strong>. Якою б логічною не була організація меню, багатьом легше набрати запит у пошуковому полі. Подекуди на сайтах не завжди просто знайти цей елемент. Пошук може загубитися серед інших блоків або мати вигляд прихованої іконки, яка збільшується до рядка лише після натискання на неї. Краще обрати для пошуку помітний розмір та розмістити на видному місці на кожній сторінці.</li><li><strong>Погана стилізація клікабельних елементів</strong>. Інколи юзер не розуміє, де клікати або тапати: по всій зоні картки товару, по його назві чи зображенню або ж по кнопці «‎Детальніше». Людей це часто плутає. Починаються повторні натискання, зайвий час на це і на додачу роздратування. Щоб уникнути таких проблем, клікабельні елементи варто стилізувати – зробити так, аби їхній дизайн змінювався при наведенні або натисканні курсором. Допоможуть із цим CSS чи подібні технології верстки.</li></ul><h2 id="%D1%8F%D0%BA-%D0%B2%D0%B8%D0%BC%D1%96%D1%80%D1%8F%D1%82%D0%B8-%D0%B2%D0%BF%D0%BB%D0%B8%D0%B2-ui-%D0%B4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD%D1%83-%D0%BD%D0%B0-%D0%BA%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%81%D1%96%D1%8E">Як виміряти вплив UI-дизайну на конверсію</h2><p>Тестування дизайну макетів не може спиратися на особисті оцінки QA або ж тільки на роботу з чек-листами, за якими фіксується наявність чи відсутність певних елементів. Необхідно використовувати інструменти, які дають змогу відстежувати поведінку юзерів і точно вимірювати конверсію.</p><ul><li><strong>Системи аналітики</strong>. Тут головний – Google Analytics. Це один із найпотужніших інструментів аналізу поведінки відвідувачів. Він надає інформацію про те, як люди взаємодіють із сайтом, чи досягають цілей, де виникають проблеми. Втім, існують і аналоги, більш спеціалізовані інструменти, як-от <a href="https://www.crunchbase.com/organization/simplereach">SimpleReach</a>. Він дозволяє відстежувати поведінку юзерів онлайн, вимірювати час на реєстрацію чи пошук чогось на сайті.</li><li><strong>Теплова карта</strong>. Цим терміном називають різновид графічного представлення даних за допомогою кольору. У випадку сайтів теплова карта показує, куди відвідувачі клікають найчастіше. Такі зони будуть червоними, інші – жовтими чи зеленими. Це допомагає зрозуміти, які елементи є важливими або такими, що викликають хибні кліки. Для створення теплової карти можна використати застосунки <a href="https://www.plerdy.com/">Plerdy</a> або <a href="https://www.hotjar.com/">Hotjar</a>.</li><li><strong>A/B-тестування</strong>. Його мета – за допомогою контрольних груп порівняти різні варіанти дизайну, функціоналу, контенту тощо. Наприклад, одна аудиторія взаємодіє зі старим дизайном (група A), інша – з новим (група B). У результаті можна побачити, яке рішення дає кращі показники конверсії та підвищує рівень задоволеності користувачів.</li></ul><p>Якщо тестувальники все-таки беруться оцінювати дизайн-макет, то здебільшого покладаються на аналіз за чек-листами. Адже не завжди у проєктах вистачає бюджету та людських ресурсів для використання додаткових інструментів. Є можливість взяти більше? Радимо по максимуму розібратися в темі. Звісно, всіх тонкощів UI/UX не охопити. Проте як мінімум базово оцінити дизайн-макет здатен кожен QA.</p><p>Тестування дизайну допоможе покращити інтерфейс та підвищити показники досягнення цілей вашими користувачами. Будь-який бізнес схвально поставиться до такої ініціативи QA-команди.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p><p><em>Редакція не несе відповідальності за інформацію, викладену у блогах. Це особиста думка автора.</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Мобілізація стала випробуванням для українського бізнесу. Необхідність захищати країну спричинила відтік спеціалістів, що не могло не позначитися на економічних процесах. Попри це український бізнес продовжує розвиток і стоїть у найважчі часи.

Резиденти Європейської Асоціації програмної інженерії (EASE) поділилися своїм досвідом мобілізації працівників і поточною ситуацією із призовом.


Яка хвиля мобілізації ]]></description>
        <link>https://proit.ua/iak-ukrayinski-it-kompaniyi-dopomaghaiut-mobilizovanim-pratsivnikam/</link>
        <guid isPermaLink="false">661640767a9a34475060cb71</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  EASE Team ]]></dc:creator>
        <pubDate>ср, 10 квіт 2024 14:00:53 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/04/6567794f7e1c0.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>Мобілізація стала випробуванням для українського бізнесу. Необхідність захищати країну спричинила відтік спеціалістів, що не могло не позначитися на економічних процесах. Попри це український бізнес продовжує розвиток і стоїть у найважчі часи.</em></p><p><em>Резиденти Європейської Асоціації програмної інженерії (EASE) поділилися своїм досвідом мобілізації працівників і поточною ситуацією із призовом.</em></p><h2 id="%D1%8F%D0%BA%D0%B0-%D1%85%D0%B2%D0%B8%D0%BB%D1%8F-%D0%BC%D0%BE%D0%B1%D1%96%D0%BB%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%97-%D1%81%D1%82%D0%B0%D0%BB%D0%B0-%D0%BD%D0%B0%D0%B9%D1%81%D0%B5%D1%80%D0%B9%D0%BE%D0%B7%D0%BD%D1%96%D1%88%D0%BE%D1%8E">Яка хвиля мобілізації стала найсерйознішою</h2><p>Керівний партнер та адвокат об’єднання MK Legal Service Максим Курочко розповів, що з перших днів повномасштабного вторгнення четверо юристів пішли до армії добровольцями. При цьому вони обіймали важливі для компанії посади, як-от керівники податкової, корпоративної та IT/TMT практик компанії. Оскільки станом на лютий 2022 року штат компанії становив 11 осіб, то до армії пішло майже 40% працівників.</p><p>Лютий-березень 2022 року був найтяжчим періодом. Хоча всі працівники пішли воювати добровільно, це стало серйозним ударом для бізнес-процесів. Виходом зі складного становища для компанії стало бронювання керівного складу відповідно до вимог законодавства.</p><h2 id="%D1%8F%D0%BA-%D0%B2%D1%96%D0%B4%D0%B1%D1%83%D0%B2%D0%B0%D1%94%D1%82%D1%8C%D1%81%D1%8F-%D0%B1%D1%80%D0%BE%D0%BD%D1%8E%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%BF%D1%80%D0%B0%D1%86%D1%96%D0%B2%D0%BD%D0%B8%D0%BA%D1%96%D0%B2">Як відбувається бронювання працівників</h2><p>Максим Курочко також поділився основними даними, що стосуються бронювання згідно з постановою КМУ від 27 січня 2023 року № 76.</p><p>Так, у першу чергу компанія має бути визнаною критично важливою для економіки. Наступний крок – у працівника, який проходить бронювання, мають бути оновлені й актуальні військові облікові дані.</p><p>Крім того, військова спеціальність не має підпадати під дефіцитні військові спеціальності. Єдиний виняток – працівник належить до керівного складу компанії. У такому випадку його можна забронювати незалежно від спеціальності.</p><p>Оскільки тема мобілізації стала надзвичайно важливою для українців, MK Legal Service надає юридичні послуги іншим IT-компаніям: допомагає з питаннями щодо бронювання, незаконних дій із боку ТЦК, визнання компаній критично важливими для економіки тощо.</p><p>Максим Курочко наголошує, що вже є кейси успішного бронювання громадян, які безпосередньо забезпечують фронт необхідними товарами та послугами.</p><h2 id="%D1%8F%D0%BA-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D1%96%D1%97-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BC%D0%B0%D0%B3%D0%B0%D1%8E%D1%82%D1%8C-%D0%BF%D1%80%D0%B0%D1%86%D1%96%D0%B2%D0%BD%D0%B8%D0%BA%D0%B0%D0%BC-%D1%89%D0%BE-%D0%B7%D0%B0%D1%80%D0%B0%D0%B7-%D0%BD%D0%B0-%D1%84%D1%80%D0%BE%D0%BD%D1%82%D1%96">Як компанії допомагають працівникам, що зараз на фронті</h2><p>Політикою компанії стосовно мобілізованих колег також поділилася Діана Ясько, Employer Brand Specialist компанії Uptech.</p><p>Вона зазначила, що їхні працівники також відразу стали до лав ЗСУ і територіальної оборони на початку повномасштабного вторгнення, що стало гордістю для команди. Компанії вдалося уникнути збитків завдяки тому, що більшість членів команди повернулися до роботи в перший день вторгнення.</p><p>Компанія дбає про всі потреби колег-військових, забезпечуючи їх необхідним спорядженням і допомогою. Додатково надає фінансову підтримку для своїх колег, а їхні сім’ї підтримує донейтами.</p><p>Крім того, за працівниками, які воюють, закріплено можливість повернутися до роботи в будь-який момент. А ще компанія присвячує час наданню консультаційної підтримки для членів команди, щоб тримати своїх працівників у курсі правових аспектів мобілізації.</p><p>Попри те, що мобілізація працівників завдає проблем бізнесу, українські IT-компанії продовжують допомагати своїм мобілізованим працівникам і робити внесок у захист країни.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Початківці інколи недооцінюють важливість кросбраузерного тестування, і це помилково. До цієї задачі варто підходити не менш серйозно і якісно, ніж до функціонального тестування.

Розібратися в нюансах кросбраузерного тестування допоможе Тетяна Шанайда, Manual QA в ІТ-команді NIX.


Навіщо потрібне кросбраузерне тестування

Користувачі взаємодіють із сайтами з комп’ютерів, смартфонів, планшетів, ТВ, ]]></description>
        <link>https://proit.ua/shcho-takie-krosbrauziernie-tiestuvannia-ta-iak-iogho-vikonati-pokrokovii-ghaid-dlia-qa-pochatkivtsiv/</link>
        <guid isPermaLink="false">660ab9aa26c484b324fd4cfb</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  NIX Team ]]></dc:creator>
        <pubDate>вт, 02 квіт 2024 14:00:05 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/04/programming-background-concept-2.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>Початківці інколи недооцінюють важливість кросбраузерного тестування, і це помилково. До цієї задачі варто підходити не менш серйозно і якісно, ніж до функціонального тестування.</em></p><p><em>Розібратися в нюансах кросбраузерного тестування допоможе Тетяна Шанайда, Manual QA в ІТ-команді NIX.</em></p><h2 id="%D0%BD%D0%B0%D0%B2%D1%96%D1%89%D0%BE-%D0%BF%D0%BE%D1%82%D1%80%D1%96%D0%B1%D0%BD%D0%B5-%D0%BA%D1%80%D0%BE%D1%81%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80%D0%BD%D0%B5-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Навіщо потрібне кросбраузерне тестування</h2><p>Користувачі взаємодіють із сайтами з комп’ютерів, смартфонів, планшетів, ТВ, навіть холодильників. І на кожному пристрої є різні браузери. В результаті будь-яка комбінація браузера, девайса й ОС може не реагувати відповідно до очікувань юзера або вимог замовника.</p><p>Макет, доступність, якість і продуктивність можуть сильно відрізнятися в кожній ситуації. Більшість браузерів базуються на різних рушіях (layout engine), тому ці програми по-різному відтворюють CSS, HTML та JavaScript. І проблема може виникати не лише в різних браузерах, а й в одному, але для різних пристроїв. Це пов’язано з інтеграцією з ОС того чи іншого рушія.</p><p>Як відповідь на все це багато років тому з’явилось кросбраузерне тестування. Його мета – переконатися, що сайт чи вебзастосунок коректно працюють і відображаються на різних браузерах та пристроях із різними ОС. Кросбраузерне тестування можна проводити як окремий вид тестування, так і комбінуючи з іншими видами тестування.</p><p>Щодо проблем через відсутність кросбраузерності, то це може бути як відображення тексту не тим шрифтом, яким було задумано в одному із браузерів, не відцентрованість зображення відносно інших елементів на сторінці, так і більш негативні сценарії.</p><p>Припустимо, карусель товарів не відображається на вебсайті, тому що при розробці використали певну властивість, що не підтримується цим браузером або його версією. В цьому випадку маємо баг у застосунку, який впливає на зручність і можливість ним користуватися.</p><p>Інколи проблеми кросбраузерності можуть призводити до зниження продуктивності вебзастосунку. Наприклад, браузер не може відтворити потрібний сценарій JS чи HTML5 і повністю зависає.</p><p>Тестувальник не може закривати очі навіть на некритичні помилки. Будь-який дефект відображення сайту погіршуватиме користувацький досвід і, як наслідок, це може призвести до відтоку відвідувачів. Саме тому важливо проводити кросбраузерне тестування.</p><h2 id="%D1%89%D0%BE-%D0%BD%D0%B5%D0%BE%D0%B1%D1%85%D1%96%D0%B4%D0%BD%D0%BE-%D0%B4%D0%BB%D1%8F-%D1%81%D1%82%D0%B0%D1%80%D1%82%D1%83-%D0%BA%D1%80%D0%BE%D1%81%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80%D0%BD%D0%BE%D0%B3%D0%BE-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Що необхідно для старту кросбраузерного тестування</h2><p>Вам треба серйозно підготуватися до перевірки коректності роботи сайту чи застосунку в різних браузерах. Для цього слід визначитися із трьома головними питаннями.</p><h2 id="1-%D1%83-%D1%8F%D0%BA%D0%B8%D1%85-%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80%D0%B0%D1%85-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D1%82%D0%B8">1. У яких браузерах тестувати</h2><p>На сьогодні існують десятки браузерів і сотні їхніх версій: мобільні та десктопні, для Windows, MacOS чи Linux, для Android або iOS. Зрозуміло, що всі їх охопити немає потреби. Тому варто вибрати найбільш важливі для замовника. Для цього орієнтуйтесь на...</p><ul><li><strong>Статистику популярності браузерів.</strong> Знайти її можна на різних ресурсах, але найбільш авторитетним є <a href="https://gs.statcounter.com/">Statcounter</a>. Він показує поширеність браузерів у різних регіонах світу. І там дійсно є відмінності. Наприклад, в Азії браузер Samsung Internet популярніший за Firefox, який частіше використовують у країнах ЄС.</li><li><strong>Вебаналітику.</strong> Якщо це наявний сайт із певною аудиторією, можна звернутися до його власної статистики щодо відвідувачів. Її можна знайти, наприклад, у звітах Google Analytics чи аналогічного сервісу. Звісно, аналітика має бути заздалегідь підключена та налаштована, щоб збирати необхідну вам інформацію.</li><li><strong>Індивідуальні особливості проєкту.</strong> Інколи замовники вказують цільові для їхнього сайту браузери. Також вибір може бути викликаний нюансами аудиторії. Наприклад, на сайті з продажу аксесуарів для iPhone відсоток користувачів мобільного Safari напевно буде вищий, аніж в середньому по тому ж регіону.</li></ul><p>Крім основних варіантів, також необхідно пригадати й менш очевидні:</p><ul><li><strong>Браузери на нетипових пристроях.</strong> Люди можуть переглядати сайти на різних ОС Smart TV чи Android TV, ігрових консолях на кшталт Sony PlayStation чи Nintendo Wii та навіть деяких смартгодинниках. Тож якщо ваш проєкт передбачає використання вебзастосунку на подібних пристроях хоча б мінімальною аудиторією, ці варіанти теж слід окремо перевірити.</li><li><strong>Попередні версії браузерів.</strong> Зазвичай тестування проводять на найбільш актуальних версіях браузерів. Однак варто виходити за межі. Наприклад, коли з’являється новий реліз браузера, не всі користувачі відразу оновлюються. Деякі юзери через технічні обмеження їхніх девайсів взагалі роками користуються застарілими браузерами. Тож варто перевіряти сайт і на більш ранніх збірках.</li><li><strong>Бета-версії для розробників.</strong> Вони є у кожного браузера, мають власні назви (наприклад, Chrome Canary чи Safari Technology Preview) і демонструють можливості, які згодом можуть з’явитися в загальних версіях. Завдяки цьому ви, так би мовити, зазирнете в майбутнє і спрогнозуєте, чи не виникне проблем із сайтом після оновлення браузера.</li></ul><p>Загалом експерти радять закладати у план тестування мінімум 4-5 браузерів. Це мають бути 3-4 основних, популярних, і 1-2 рідкісних, старих чи специфічних (про всяк випадок). Але за наявності бюджету ці показники можна збільшити.</p><h2 id="2-%D0%BD%D0%B0-%D1%87%D0%BE%D0%BC%D1%83-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D1%82%D0%B8">2. На чому тестувати</h2><p>Комусь відповідь на це запитання може здатися очевидною, але насправді все не так просто. Існує одразу кілька варіантів, на чому перевіряють кросбраузерність:</p><ul><li><strong>Реальні пристрої.</strong> Ідеальний сценарій, коли є кілька комп’ютерів, смартфонів і планшетів на різних ОС із повним набором браузерів. Це максимально надійні й наочні умови для тестів. Але мати всі комбінації неможливо, і навіть популярні варіації зустрічаються рідко. Адже це потребує відповідного бюджету у проєкті.</li><li><strong>Емулятори.</strong> Так називають десктопний софт, розширення для браузерів та онлайн-сервіси, які імітують поведінку різних браузерів. Вони можуть бути платними та безоплатними, мати різний набір доступних браузерів та перевірок. Емулятори оптимальні з огляду функціонала, ціни й простоти використання.</li><li><strong>Віртуальні машини.</strong> За допомогою спеціального ПЗ на одному комп’ютері встановлюється кілька окремих ОС зі своїм набором браузерів. Це надає трохи більше можливостей, ніж емулятори. Але віртуальні машини потребують ресурсів і знань та мають певні обмеження в тестах мобільних браузерів.</li><li><strong>Ферми девайсів.</strong> Це цілком реальні пристрої, до яких у вас віддалений доступ. Таке хмарне рішення є платним, проте воно надає більше можливостей, ніж емулятори, і не вимагає складного сетапу віртуальних машин. Просто заходите на сайт, обираєте ОС та браузер і запускаєте тестування. Прикладами таких ферм є <a href="https://www.lambdatest.com/">LambdaTest</a> і <a href="https://www.browserstack.com/">BrowserStack</a>.</li></ul><p>Також можна поєднувати кілька способів. Наприклад, критичні фічі тестувати в найбільш важливих для проєкту браузерах на кількох реальних девайсах. А все інше перевіряти за допомогою емуляторів або віртуальних машин. Це дасть змогу скоротити витрати на QA і пришвидшити вашу роботу.</p><h2 id="3-%D1%8F%D0%BA-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D1%82%D0%B8">3. Як тестувати</h2><p>Фінальний крок підготовки до тестів – обрати підхід до цієї роботи. Варіантів є два:</p><ul><li><strong>Мануальне тестування.</strong> Тестувальники послідовно перевіряють комбінації браузерів, операційних систем та девайсів, використовуючи техніки тест дизайну (наприклад, парне тестування). Тобто на власні очі оцінюють роботу застосунку за зазначеними користувацькими флоу. Це дозволяє реально побачити можливі дефекти, з якими стикаються юзери. Також мануальний підхід допомагає при перевірці нестандартних, унікальних флоу. З іншого ж боку, таке тестування може тривати довго і нести ризик помилок із категорії людського фактора.</li><li><strong>Автоматизоване тестування.</strong> Для перевірок використовуються спеціальні інструменти. Вони можуть бути готовими або створеними самим QA-інженером. Вибір перших великий: від простих тулзів, які роблять лише скриншоти сторінок, до фреймворків типу Selenium, які здатні опрацювати майже будь-які перевірки. Це пришвидшує тестування і позбавляє помилок людини. Але автоматизовані тести працюють за визначеними сценаріями, що не завжди добре. А ще для написання тестів і використання платних тулзів потрібен додатковий бюджет.</li></ul><p>З огляду на переваги та недоліки різних шляхів тестування кросбраузерності на проєктах використовують той чи інший підхід. Для простих, повторюваних задач і юзер-сторі QA-фахівці запускають автотести. Більш нетипові таски поза межами визначених шаблонів, де треба імітувати дії реальних юзерів, проходять вже вручну.</p><h2 id="%D1%8F%D0%BA-%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D1%8C%D1%81%D1%8F-%D0%BA%D1%80%D0%BE%D1%81%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80%D0%BD%D0%B5-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Як проводиться кросбраузерне тестування</h2><p>План і вибір конкретних перевірок залежать від особливостей проєкту, цілей тестування та бюджету. Наприклад, якщо ви перевіряєте новий сайт – це одна ситуація. А якщо лише окрему нову фічу, то це вимагає дещо іншого підходу. Але загалом тести завжди слід проводити за двома напрямами:</p><ul><li><strong>Візуальне тестування. </strong>QA-спеціаліст має переконатися у відповідності вмісту та дизайну сторінок тому, що очікується. Тобто слід перевірити саме вигляд сторінки сайту: від відображення шрифтів і зображень до CSS-анімації й того, як виводяться елементи інтерфейсу типу кнопок меню (чи в потрібному вони місці, чи з правильним дизайном тощо). Все має бути саме таким, як на макеті. Сучасні стандарти HTML-верстки передбачають адаптивність сайтів під екран пристрою. Тому все має відображатися коректно на будь-якому за розміром та роздільною здатністю дисплеї. Але в деяких випадках може бути ще й мобільна версія сайту, тож її також необхідно оцінити візуально.</li><li><strong>Функціональне тестування.</strong> Цей пакет перевірок має показати: в будь-якому браузері сайт та його окремі елементи працюють саме так, як задумано. Таку задачу слід сприймати комплексно. По-перше, QA-фахівець має перевірити кожну кнопку та функцію в десктопному та сенсорному форматах управління. По-друге, слід переконатися, що не порушені інтеграції зі сторонніми сервісами. По-третє, інженер має звернути увагу на доступність сайту на кшталт альтернативного тексту для зображень чи субтитрів на відео. Адже без цього користуватися сайтом для деяких користувачів буде в принципі неможливо або як мінімум – дуже незручно.</li></ul><p>Обидві категорії перевірок можна виконувати й мануально, і автоматично. Але все ж зазвичай для візуального тестування потрібно залучати саме людину. Навіть якщо програма для автоматизованого тестування зробить скриншоти по всім сторінкам сайту в різних браузерах і знайде відмінності, остаточне рішення, чи все виглядає коректно, має ухвалювати все ж реальний інженер. А ось функціональне тестування найчастіше довіряють спеціальним тулзам. Вони йдуть за прописаними користувацькими флоу та за будь-яких збоїв у функціонуванні сайту видають повідомлення про помилку. Це доволі рутинна робота, де цілком припустимо зменшити залучення QA-спеціаліста.</p><p>Можна дуже багато описувати, на що треба звернути увагу при кросбраузерному тестуванні. Перелік перевірок у деяких проєктах включає сотні позицій! Тому в межах оглядової статті для прикладу варто згадати лише кілька основних моментів:</p><ul><li><strong>Проблеми скриптів.</strong> Передусім це стосується елементів на JavaScript. Це різні види анімації, відтворення дизайнерських ефектів, робота динамічних елементів інтерфейсу тощо. При збоях вони можуть порушувати дизайн сторінки та навіть викликати зависання. На деяких сайтах для схожих задач замість JS можуть використовувати технології HTML5 та CSS3. Ці рішення надійні та швидкі, але не всі браузери повною мірою підтримують їх. Тож це також слід перевірити.</li><li><strong>Коректність роботи інтерфейсу.</strong> Активних елементів меню може бути дуже багато. В ідеалі треба протестувати роботу всіх. Але особливу увагу варто приділити основним для юзер-флоу кнопкам, завантаженню зображень, аудіо та відео (особливо за наявності <a href="https://www.imperva.com/learn/performance/lazy-loading/">lazy loading</a>), валідації даних у формах (логін, оформлення покупки, реєстрація, підписка тощо) та надсиланню цих форм. А ще варто перевірити роботу всіх попапів та банерів.</li><li><strong>Управління сайтом.</strong> Це дуже важливе питання, якому інколи не приділяють достатньої уваги. І дарма! В деяких випадках навіть скролинг може працювати некоректно чи неповноцінно (наприклад, є прокрутка по колесу мишки, але не за стрілочками на клавіатурі). Також варто перевірити способи вводу та виділення тексту, переміщення по сайту тощо. Окремо варто опрацювати управління на пристроях із сенсорним екраном, де можуть виникати певні труднощі та баги.</li><li><strong>Інтеграція зі сторонніми ресурсами.</strong> В різних браузерах по-різному працюють не тільки повноцінні сайти, але й окремі сервіси, які можна вбудовувати в ці сайти. Це можуть бути, наприклад, чати для спілкування користувачів зі службою підтримки, капчі для ідентифікації людей, інтерактивні мапи, платіжні сервіси, вбудовані клієнти YouTube тощо. Тож QA-спеціаліст має переконатися, що все це і виглядає адекватно, і працює нормально на будь-якій платформі.</li></ul><p>Що ще важливо – не бійтеся спілкуватися з розробниками, які створили той чи інший елемент. Вони докладно пояснять особливості використаних технологій. Буває, що проблеми є не стільки багом, скільки специфічною поведінкою фічі. Спільно з розробниками можна оцінити критичність знайденої помилки. А іноді збій зовсім некритичний: лише в маловідомому браузері й за умов, які складно відтворити в житті.</p><p>Отже, ми розібралися, чому кросбраузерне тестування – це важливий етап в розробці вебзастосуків. Таким чином ви перевіряєте сумісність програми з різними браузерами та платформами. А разом із тим – можете підвищити якість продукту, забезпечуючи користувачам сталий інтерфейс та функціонал незалежно від обраного програмного забезпечення. Тож вкладаючи ресурси у кросбраузерне тестування, ви підтримуєте формування оптимального користувацького досвіду.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Дизайнери часто постають перед проблемою браку натхнення. Можна чекати на творчі пориви й не дочекатись. Ще один спосіб – шукати рішення та ідеї серед інших дизайнів, тобто референси.

Як правильно працювати із референсами й створювати унікальний дизайн, ділиться Юлія Федотова, Lead UX/UI Designer в ІТ-команді NIX.

Референси – це реалізовані проєкти, ]]></description>
        <link>https://proit.ua/poshuk-rishien-a-nie-natkhniennia-iak-dizainieru-pratsiuvati-z-riefieriensami/</link>
        <guid isPermaLink="false">6603337c26c484b324fd4782</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Юлія Федотова ]]></dc:creator>
        <pubDate>пт, 29 бер 2024 14:00:46 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/03/laptop-with-folder-generative-ai.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>Дизайнери часто постають перед проблемою браку натхнення. Можна чекати на творчі пориви й не дочекатись. Ще один спосіб – шукати рішення та ідеї серед інших дизайнів, тобто референси.</em></p><p><em>Як правильно працювати із референсами й створювати унікальний дизайн, ділиться Юлія Федотова, Lead UX/UI Designer в ІТ-команді NIX.</em></p><p>Референси – це реалізовані проєкти, із яких інший автор запозичує ідеї. Це можуть бути ілюстрації, сайти, книги, фільми тощо.</p><p>Наприклад, ви розробляєте дизайн мобільного застосунку для домашніх тренувань. Референси шукайте не лише серед подібних продуктів. Для дизайну можна орієнтуватися на колірну палітру новорічної листівки, анімацію – з дитячого відеоролику, шрифт – із порталу про античну літературу, патерн навігації взяти з онлайн-магазину кімнатних рослин тощо.</p><p>У виборі референсів немає жодних обмежень ані за темами, ані за різновидами продуктів.</p><h2 id="%D1%8F%D0%BA-%D0%BD%D0%B0-%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D1%96-%C2%AB%D1%87%D1%83%D0%B6%D0%BE%D0%B3%D0%BE%C2%BB-%D0%B7%D1%80%D0%BE%D0%B1%D0%B8%D1%82%D0%B8-%C2%AB%D1%81%D0%B2%D0%BE%D1%94%C2%BB">Як на основі «чужого» зробити «своє»<br></h2><p>Чим більше референсів оберете для власного дизайну, тим унікальнішим він буде. Ви наслідуєте елементи чужих робіт: пошукове поле, повзунки, типи іконок, кнопку виходу з акаунту, сторінку ліцензії. Якщо із двох-трьох ресурсів усе скопіювати, то плагіат рано чи пізно помітять. </p><p>А якщо спеціально не шукати референси? Це не означає, що ваша робота буде цілком унікальною. Усе нове – це добре забуте старе.</p><p>Проаналізувавши наявні дизайни, в них можна знайти схожі елементи. Це нормально. Щоб виділити ваш проєкт, не потрібно створювати чудернацькі форми кнопок чи розташовувати меню замість хедеру у футері сайту. Замість очікуваної wow-реакції, отримаєте непорозуміння від користувачів*. Ваш дизайн має вирішувати проблеми, а не створювати нові.</p><p><em>* Для wow-ефекту допускаються нестандартні рішення, щоб виділитися й запамʼятатися. Щоб порушувати правила, треба їх добре знати. Тоді ви свідомо йдете проти правил. Для більш утилітарних продуктів краще користуватися знайомими користувачеві патернами.</em></p><h2 id="%D0%B7-%D1%87%D0%BE%D0%B3%D0%BE-%D0%BF%D0%BE%D1%87%D0%B0%D1%82%D0%B8-%D0%BF%D0%BE%D1%88%D1%83%D0%BA-%D1%80%D0%B5%D1%84%D0%B5%D1%80%D0%B5%D0%BD%D1%81%D1%96%D0%B2">З чого почати пошук референсів<br></h2><p>Головне правило створення дизайну – every element should make sense. Зрозумійте, яку проблему користувача вирішуєте, і шукайте відповідне візуальне рішення. Наприклад, на сайті потрібна кнопка «Замовити». Сенс такої кнопки – спонукати до покупки товару чи скористатися послугою.</p><p>Колір, форма і текст елементу мають запевнити юзера, що його дії на сайті приведуть до бажаної цілі. Тобто кнопка повинна бути інтуїтивно зрозумілою, привертати увагу та легко розпізнаватись. Інакше потенційний клієнт покине сайт.<br><br>Або інша задача: зробити таблицю з великим вмістом. Пошукайте референси, як інші впорались із цим, оцініть, чи дійсно вдало. Ви можете натрапити на чужі помилки, але вбережете власний дизайн від них. Проаналізуйте, як «розвантажити» дизайн, оберіть найбільш вдалий варіант відповідно до вимог проєкту.</p><p>За який би елемент дизайну ви не взялися (меню навігації, форма зворотного зв’язку, інтерактивні переходи) все має створюватися для чогось. Як-от для полегшення сприйняття інформації, покращення обслуговування клієнтів, швидкого пошуку тощо. Аргумент «Тому що так красиво» не є достатнім.</p><h2 id="%D1%96%D0%B4%D0%B5%D1%97-%D0%B4%D0%BB%D1%8F-%D0%BF%D0%BE%D1%88%D1%83%D0%BA%D1%83-%D1%80%D0%B5%D1%84%D0%B5%D1%80%D0%B5%D0%BD%D1%81%D1%96%D0%B2">Ідеї для пошуку референсів</h2><p></p><h3 id="best-practices">Best practices</h3><p>В інтернеті є багато добірок, де круто реалізоване те чи інше рішення. Ви швидко знайдете готові варіанти та зрозумієте вектор для подальшого пошуку.</p><p>Наприклад, потрібно зробити сайт інклюзивним для людей з інвалідністю. Так і загугліть задачу. У пошуковому рядку пишіть ключові слова на кшталт best practices of web accessibility або examples of inclusive UI/UX. Англійська – мова міжнародного бізнесу, тому такий пошук надає доступ до більшої кількості ресурсів, ідей.</p><p>Подивіться, як реалізована певна функція у продуктах Google, Apple, Microsoft. Лідери ІТ-галузі задають тренди та використовують найновіші практики. Навіть якщо не знайдете у них потрібний референс, то хоча б прокачаєте надивленість. А це теж плюс у роботі дизайнера.</p><h3 id="%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D0%B8-%D0%B4%D0%BB%D1%8F-%D0%B4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD%D0%B5%D1%80%D1%96%D0%B2">Ресурси для дизайнерів<br></h3><p>Нижче наведений список ресурсів, які дають змогу потренувати надивленість, розвивати фахове бачення, знаходити натхнення та конкретні рішення.</p><ul><li><a href="https://www.behance.net">Behance</a>. Одна з найвідоміших платформ, де креативники викладають свої проєкти. Тут можна обмінюватись відгуками та знаходити референси на будь-яку тематику.</li><li><a href="https://www.pinterest.com">Pinterest</a>. Онлайн-сервіс з останніми трендами у світі дизайну. Дозволяє створювати власні дошки з натхненням і ділитися своїми ідеями («пінами»).</li><li><a href="https://www.awwwards.com">Awwwards</a>. Тут змагаються дизайнери та web-розробники з усього світу. Професійне журі визначає переможців у таких номінаціях: «Сайт дня», «Сайт місяця», «Сайт року». На порталі зібрано багато цікавих робіт. Є розділи з інтерв’ю від впливових дизайнерів, а також статті з вебдизайну. </li><li><a href="https://mobbin.com">Mobbin</a>. Колекція застосунків, що відображає найкращі рішення в mobile-дизайні. На платформі зібрані скріншоти, які показують user journey map різних програм. Є платна версія з розширеним доступом.</li><li><a href="https://siiimple.com">Siiimple</a>. Ресурс для тих, хто хоче навчитися створювати мінімалістичний дизайн. Ця добірка прикладів вебдизайну для поціновувачів простоти постійно оновлюються.</li><li><a href="https://www.typewolf.com">Typewolf</a>. Онлайн-ресурс спеціалізується на типографіці. Тут зібрані сайти різноманітної тематики. За фільтрами можна швидко знайти потрібний референс.</li><li><a href="https://land-book.com">Landbook</a>. На платформі зібрані вдалі приклади дизайну елементів web-сайту. Галерея постійно оновлюється. Є можливість купити готовий  шаблон та адаптувати його під свої потреби.</li><li><a href="https://muz.li/">Muzli</a>. Тут ви зможете слідкувати за трендами в дизайні. Знайдете ілюстрації, логотипи, приклади web-сайтів та мобільних застосунків тощо.</li><li><a href="https://refero.design/">Refero</a>. Колекція елементів інтерфейсу та UX-шаблонів, щоб покращити свої дизайнерські навички.</li><li><a href="https://appmotion.design/">App Motion</a>. Підходить поціновувачам мікроанімації та анімаційного дизайну.</li><li><a href="https://appshots.design/">AppShots</a>. Бібліотека із шаблонами для iOS, Android і web-дизайну. За фільтрами можна знайти потрібну ідею.</li></ul><p>Щойно знайшли потрібні референси, погодьте їх із розробниками. Не всі елементи можна технічно реалізувати в межах лімітів: часових, фінансових, технічних.</p><p>Так ви ще до створення дизайну розпізнаєте ймовірні труднощі, які можуть виникнути при реалізації дизайнерських елементів у коді.</p><h3 id="%D0%B4%D0%BB%D1%8F-%D1%83%D1%81%D0%BF%D1%96%D1%88%D0%BD%D0%BE%D1%97-%D0%B2%D0%B7%D0%B0%D1%94%D0%BC%D0%BE%D0%B4%D1%96%D1%97-%D0%BC%D1%96%D0%B6-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B0%D0%BC%D0%B8-%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D0%BD%D0%B8%D0%BA%D1%96%D0%B2-%D1%82%D0%B0-%D0%B4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD%D0%B5%D1%80%D1%96%D0%B2-%D0%BF%D0%BE%D1%82%D1%80%D1%96%D0%B1%D0%BD%D1%96">Для успішної взаємодії між командами розробників та дизайнерів потрібні:</h3><ul><li><strong>Регулярна комунікація.</strong> Обговорюйте референси, щоб уникнути непорозумінь.</li><li><strong>Детальна специфікація.</strong> Тобто набір вказівок для відтворення дизайнерських елементів. На його основі розробники оцінюють можливості для реалізації.</li><li><strong>Готовність до змін. </strong>Навіть у тісній зв’язці з розробниками ви не убезпечите себе від правок, але мінімізуєте їх.</li></ul><h2 id="%D1%89%D0%B5-%D0%B1%D1%96%D0%BB%D1%8C%D1%88%D0%B5-%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D1%96-%D0%B2%D1%96%D0%B4-%D1%80%D0%B5%D1%84%D0%B5%D1%80%D0%B5%D0%BD%D1%81%D1%96%D0%B2">Ще більше користі від референсів<br></h2><p>Збирайте мудборди. Це добірка матеріалів, яка дозволяє спланувати настрій, стиль майбутнього дизайну. Сюди входять фотографії, іконки, зображення, скріншоти, шрифти, набір кольорів. Зібрати мудборд можна в Google-документах, Figma, створити дошку в Pinterest чи Behance.</p><p>Хоча створення мудборду й необов’язковий етап у роботі з референсами, але багато дизайнерів ними користуються. Такий підхід покращує співпрацю в команді та з клієнтом, адже формує однакове бачення спільного проєкту.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh7-us.googleusercontent.com/X1u-N5kcGvuvrQ-zLPOGn3BOu8JqXey4ncvAyfUf8rG0T3kVnBtRPtwun1agBNJjmbHjJ974wapAffwp1POCX0SFV6dpaVuiu0i3-FOGzbaJ3dMbzTCQZUj2ZIXzKh-rgoisQnz9Vlf1jPtL7XGhhuE" class="kg-image" alt loading="lazy" width="546" height="449"><figcaption>Приклад мудборду із <a href="https://discoverbigfish.com/mood-boards-in-ui-and-ux-design.html">bigfish</a></figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh7-us.googleusercontent.com/m5q445UBLDe9x11jYpGD0NAcsrpIsX8q4AszNoLJs1gCE9LIpThr4oMfIToDH04WYAQYSbGtkA6u3VxhwvAk-Emph5Hen5u-tcqnGfIr8wRNyqZ14gTkvOr5n6B10-GEC_CZJUj7jhmCf8gzUqqsdrg" class="kg-image" alt loading="lazy" width="550" height="366"><figcaption>Приклад мудборду із <a href="https://milanote.com/templates/moodboards/UI-moodboard">Milanote</a>‌</figcaption></figure><p>Перш ніж взятися за пошук референсів для мудборду, попросіть клієнта надіслати посилання на вдалі, на його думку, сайти чи застосунки. Приклади дизайнів допоможуть вам краще зрозуміти уподобання клієнта та співставити їх із вимогами проєкту.</p><p>Якщо до вашої команди приєднався дизайнер-початківець, також не ігноруйте етап створення мудборду. У процесі роботи ви побачите його навички, наскільки він розуміє завдання та загалом як мислить. З часом необхідність у цьому етапі роботи може відпасти.</p><p>Робота із референсами – це нескінченний пошук, який триває і поза проєктами й не обмежується інтернетом. Переглянутий нещодавно фільм, реклама в метро, побачене у подорожі нове місце чи захід сонця – все у житті може стати джерелом для референсів. Переносьте ідеї у професійну діяльність і створюйте дизайни, що надихають!</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Сьогодні важливість технологій штучного інтелекту важко переоцінити. Розумні системи вже дають змогу вирішувати безліч рутинних завдань, допомагають робити точні прогнози, ухвалювати оптимальні рішення. І справа не лише в бізнесі.

Штучний інтелект є новим та надважливим елементом національної безпеки й економічного розвитку для будь-якої держави. Адже всі держави, як дружні, так ]]></description>
        <link>https://proit.ua/v-ukrayini-ziavilas-piersha-natsionalna-khmarna-platforma-dlia-shtuchnogho-intieliektu-ta-mashinnogho-navchannia/</link>
        <guid isPermaLink="false">65f76a033a2dca8aef387e54</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Максим Агєєв ]]></dc:creator>
        <pubDate>ср, 20 бер 2024 14:00:45 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/03/cloud-computing-electronic-chip-board-cloud-computer-is-system-transfer-data-information-upload-download-application-technology-transformation-concept.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Сьогодні важливість технологій штучного інтелекту важко переоцінити. Розумні системи вже дають змогу вирішувати безліч рутинних завдань, допомагають робити точні прогнози, ухвалювати оптимальні рішення. І справа не лише в бізнесі.</p><p>Штучний інтелект є новим та надважливим елементом національної безпеки й економічного розвитку для будь-якої держави. Адже всі держави, як дружні, так і ворожі до нас, приділяють велику увагу розвитку і впровадженню технологій AI/ML у різних сферах, а тому Україна, враховуючи ситуацію, що склалася, не може відставати в цьому питанні.</p><p>Країни та компанії, яким вдасться інтегруватися у стрімкий потік змін, спричинених технологіями AI/ML, отримають величезну перевагу та завжди будуть попереду конкурентів. Саме тому сьогодні такий великий попит на все, що дозволяє швидко і якісно впроваджувати розробки у сфері штучного інтелекту і машинного навчання для реалізації практичних завдань.</p><p>Відповідаючи на актуальні запити ринку, компанія <a href="https://denovo.ua">De Novo</a>, провідний український провайдер хмарних сервісів та послуг ЦОД, розробила нове сімейство сервісів: ML Cloud, Tensor Cloud і Hosted Tensor Infrastructure (HTI),<strong> </strong>для задач штучного інтелекту (AI) та машинного навчання (ML).</p><p>Ці послуги вже доступні у хмарі. Вони орієнтовані на інженерів машинного навчання, які покладаються на сучасні архітектурні підходи для розробки, розгортання й експлуатації застосунків і хочуть мати вдосталь потужностей для ефективного запуску та підтримки робочих навантажень AI/ML.</p><p>Завдяки прозорому ціноутворенню нові сервіси забезпечують 100% передбачуваність витрат, а загальна вартість використання в середньому удвічі нижча, ніж у випадку з аналогічними послугами гіперскейлерів.</p><p>Усі зазначені хмарні послуги об’єднані спільною концепцією та забезпечують доступ до найпотужніших у світі Tensor Core GPU NVIDIA H100, що значно прискорюють навчання моделей машинного навчання та підвищують продуктивність команд розробників, проте суттєво відрізняються в деталях:</p><ul><li><a href="https://denovo.ua/ml-cloud">ML Cloud</a> – це розвинена та багатофункціональна платформа, яка надає ML-інженеру повноцінне робоче оточення і звичне програмне середовище.</li><li><a href="https://denovo.ua/tensor-cloud">Tensor Cloud</a> та <a href="https://denovo.ua/hti">HTI</a> забезпечують потужну, надійну та керовану обчислювальну інфраструктуру на основі тензорних процесорів та контейнерних технологій у колективній або приватній хмарі.</li><li>Нові хмарні сервіси De Novo для AI/ML створені зусиллями українських фахівців та розгорнуті в українському дата-центрі. Поява цих інноваційних послуг не лише відкриває нові можливості для ML-інженерів, але й свідчить про те, що навіть попри війну інтелектуальний бізнес в Україні продовжує розвиватися, інвестувати в розробки та приносити користь країні у вигляді як сплачених податків, так і створення нових технологічних можливостей у межах всієї країни.</li></ul><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Філіпп Кучерявенко, PHP developer.

Олександр Дробот, JS developer в IT-команді NIX.

«‎Чистий» код – насамперед читабельний. У ньому все логічно: від назв змінних і функцій до розташування файлів. Ця властивість дозволяє зрозуміти навіть найскладніший код, а значить і підтримувати його буде простіше.

Надалі з кодом матимуть справу один чи кілька розробників. ]]></description>
        <link>https://proit.ua/mi-kod-pishiemo-nie-dlia-mashini-a-dlia-liudiei-iak-zrobiti-kod-chistim/</link>
        <guid isPermaLink="false">65eee2368bed038839e5bfb9</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  NIX Team ]]></dc:creator>
        <pubDate>ср, 13 бер 2024 14:00:40 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/03/abstract-geometric-shapes-wallpaper.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><strong>Філіпп Кучерявенко</strong>,<strong> </strong>PHP developer.</p><p><strong>Олександр Дробот</strong>, JS developer в IT-команді NIX.</p><p>«‎Чистий» код – насамперед читабельний. У ньому все логічно: від назв змінних і функцій до розташування файлів. Ця властивість дозволяє зрозуміти навіть найскладніший код, а значить і підтримувати його буде простіше.</p><p>Надалі з кодом матимуть справу один чи кілька розробників. Це може бути легасі-код, який «‎успадкує» інша команда. Або до роботи з власним кодом повернеться той же розробник. Наприклад, для інтеграції нової фічі. І до того моменту він вже міг забути, що там робив і навіщо.</p><p>«‎Чистота» коду важлива, та чи можна інколи поступитися принципам? Так!</p><p><strong>•  Коли треба розробити швидке рішення</strong></p><p>Інколи немає часу на оптимізацію коду: потрібен хотфікс на проді чи простий Proof of Concept. Все-таки робочий код ліпший за гарний, тож у розумних межах можна поступитися принципами.</p><p>Обговоріть у команді невідкладність задачі, щоб показати переваги та недоліки обох рішень. Порахуйте естімейти та визначте технічний борг, який залишиться після «‎швидкого» коду.</p><ul><li><strong>Коли маєте справу із незрозумілим рішенням</strong></li></ul><p>У деяких ситуаціях написаний за всіма канонами «‎чистий» код може виглядати незрозуміло. Ніби все коректно, без полотна рядків, але технологія незнайома більшості ваших колег. Тоді не гріх буде написати розгорнутіше, щоб інше не викликало ще більше питань.</p><p>Це рішення все одно слід проговорити з командою: безпосередньо у процесі роботи, в коментарях під час код рев’ю або після завершення спринта в контексті техборгу. Так ви поділитеся з колегами нестандартною ідеєю. Водночас вони зможуть запропонувати свій варіант.</p><ul><li><strong>Коли рішення працює повільно</strong></li></ul><p>В окремих проєктах спрощення може призвести до падіння перфомансу. Можна написати код на кілька рядків, де відбуватиметься обробка циклу в циклі і в циклі. Зазвичай це не проблема. Але в масштабах Big Data проєктів така кількість ітерацій шкодить ефективності рішення.</p><p>Краще написати один цикл, що покриватиме всі задачі. Спершу це виглядатиме складно, але згодом швидкість зросте у рази. Не забудьте додати коментар у коді, чому зробили саме так, щоб інший розробник не зніс ваш «‎брудний» код і не «‎поклав» усю систему.</p><p>Початківцю варто відразу привчатися писати чисто. Тоді навіть швидкі рішення ви не зможете зробити погано. Все буде більш-менш структуровано, зі зрозумілим неймінгом.</p><p>Перелічені вище випадки не дозволяють писати «‎брудно», йдеться про певні послаблення. Базові ж речі обов’язкові, щоб і за 2 роки потому ви розуміли свій код.</p><h2 id="%C2%AB%E2%80%8E%D1%87%D0%B8%D1%81%D1%82%D0%B8%D0%B9%C2%BB-%D0%BA%D0%BE%D0%B4-%E2%80%93-%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%96-%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%D0%B8">«‎Чистий» код – основні принципи</h2><p>Лаконічному коду присвячено чимало книг. Можна відшукати й <a href="https://github.com/fbomb111/clean-code-distilled">короткі огляди</a> з базовими правилами про форматування, коментарі тощо.</p><p>Головне – пам’ятайте, що ви пишете код не для машини, а для людей. Спираючись на цей підхід, вам буде простіше «‎очищувати» код від зайвого.</p><h2 id="%D1%89%D0%BE%D0%B4%D0%BE-%D0%B1%D1%96%D0%BB%D1%8C%D1%88-%D0%BF%D1%80%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4%D0%BD%D0%B8%D1%85-%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%D1%96%D0%B2-%D1%82%D0%BE-%D0%B2%D0%B0%D0%B6%D0%BB%D0%B8%D0%B2%D1%96-%D1%82%D0%B0%D0%BA%D1%96-%D0%B7-%D0%BD%D0%B8%D1%85">Щодо більш прикладних принципів, то важливі такі з них:</h2><h3 id="1-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%BE%D0%B2%D1%83%D0%B9%D1%82%D0%B5-%D0%B7%D1%80%D0%BE%D0%B7%D1%83%D0%BC%D1%96%D0%BB%D1%96-%D0%BD%D0%B0%D0%B7%D0%B2%D0%B8">1. Використовуйте зрозумілі назви</h3><p>З назви функції чи класу має бути очевидно, для чого вони. Наприклад, «Знижка постійного клієнта» або «Надсилання email про замовлення». Не слід назвати просто «А» чи «Знижка». Програма не працюватиме повільніше від того, що в назві три слова. Навпаки – повна назва допоможе розробникам.</p><p>Функція може бути частиною класу, і якщо назва незрозуміла, девелоперу доведеться заходити всередину і дізнаватися, що там відбувається.</p><p>Інколи початківці пишуть занадто довгу назву, бо функція і знижку рахує, і до бази звертається, і повідомлення відправляє. Тут діє базове правило «одна функція – одна фіча».</p><p>Проблема неймінгу вказує на проблему розділення коду. Деякі новачки вказують щось одне, але це теж неправильно. Функція має робити лише те, що зазначено в назві. Наприклад, надсилати email та повідомлення в Telegram. Тому якщо назвати її «Надсилання email», нікому й на думку не спаде про зв'язок із месенджером. Тому, якщо хтось із колег видалить цю функцію, програма перестане надсилати повідомлення ще й у Telegram.</p><h3 id="2-%D1%81%D0%BA%D0%BE%D1%80%D0%BE%D1%87%D1%83%D0%B9%D1%82%D0%B5-%D0%BE%D0%B1%D1%81%D1%8F%D0%B3-%D0%BA%D0%BE%D0%B4%D1%83">2. Скорочуйте обсяг коду</h3><p>Велика кількість рядків зазвичай є там, де клас (наприклад, контролер із MVC) виконує забагато завдань. Наприклад, в одному блоці оброблюються запити, виконується перевірка та відбувається звернення до бази даних.</p><p>Краще ділити код на логічні блоки (про це поговоримо далі). Але й в окремих блоках слід подумати про скорочення кількості коду. Звісно, 100 рядків можуть працювати не гірше за 30, але читати такий масив важче.</p><p>Є рішення – напишіть вкладену функцію в функції, щоб блок займав менше місця на екрані. Зробіть стовпчиком кілька викликів функції, запишіть результат їх виклику у змінні та використовуйте їх.</p><p>Рядків стане трохи більше, але зрозумілість коду від того лише поліпшиться. Зрештою ви ж пишете не для мікроконтролерів, а створюєте прикладні програми та вебсервіси.</p><h3 id="3-%D1%80%D0%BE%D0%B7%D0%B4%D1%96%D0%BB%D1%8F%D0%B9%D1%82%D0%B5-%D0%BA%D0%BE%D0%B4-%D0%BD%D0%B0-%D0%BB%D0%BE%D0%B3%D1%96%D1%87%D0%BD%D1%96-%D0%B1%D0%BB%D0%BE%D0%BA%D0%B8">3. Розділяйте код на логічні блоки</h3><p>Якісний код нагадує Lego: велика складна річ створена з маленьких простих «цеглинок». А код, який використовується разом, розміщуєте поруч. Тоді розробникам легко роздивитися як окремі блоки, так і весь алгоритм. Найпростіший шлях до цього – кожна частина коду виконує окрему задачу.</p><p>Блоки не мають бути надмірно пов’язані один з одним. Часто дві функції використовують одна одну, але логіка в нижньому рівні спирається на верхню. Формально це різні юніти, але їх неможливо роз’єднати чи змінити без переписування всього ланцюга. А це заважатиме масштабуванню системи.</p><p>Найкращий код можна видалити без модифікації пів системи. Такий собі side effect «чистоти» коду. Інколи розробники намагаються передбачити розвиток проєкту та ускладнюють зв’язки, але насправді це зайве. Зазвичай командам складно вгадати нові ідеї замовника чи продукт оунера. Краще писати рішення чітко, без «вангування».</p><h3 id="4-%D0%BD%D0%B5-%D0%B4%D1%83%D0%B1%D0%BB%D1%8E%D0%B9%D1%82%D0%B5">4. Не дублюйте</h3><p>Класичний принцип – Don’t Repeat Yourself (DRY). Початківці полюбляють перевикористовувати все, що тільки можна. Це не дуже погано, але є одне «але».</p><p><a href="https://verraes.net/2014/08/dry-is-about-knowledge/">Принцип DRY</a> говорить не стільки про рядки, скільки про бізнес-ідею, логіку. Наприклад, є функція для розрахунку 5% від числа – для знижки на товари. Перед вами може постати задача зробити нарахування 5% для збільшення ціни з доставкою. Уже хочеться використати код функції в обох випадках, та це буде помилка. Ви поєднаєте різні задачі. І якщо знадобиться змінити розмір знижки, доведеться окремо змінювати блок із розрахунком ціни з доставкою. Тому для різних задач і код має бути різним.</p><h3 id="5-%D0%BA%D0%BE%D0%BC%D0%B5%D0%BD%D1%82%D1%83%D0%B9%D1%82%D0%B5-%D0%B7%D0%BC%D1%96%D0%BD%D0%B8-%D1%83-%D0%BA%D0%BE%D0%B4%D1%96">5. Коментуйте зміни у коді</h3><p>Зараз усе частіше говорять: хороший код не потребує коментарів. Дійсно, досвідчений розробник може легко зрозуміти з читабельного коду, що виконує кожен юніт. Коментарі до очевидного зайві й тільки «‎забруднюють» код. Початківці ж часто пишуть коментарі, дублюючи назву функції, що не має сенсу.</p><p><strong>Коменти необхідні в таких випадках:</strong></p><ul><li>Якщо в коді є невідомі чи неочевидні нюанси, про які варто повідомити новачку в команді. Наприклад, можна написати, що «тут використано таку-то технологію, тому що є зав’язка на такий-то модуль, який неможливо змінити». Або простіше: «Не видаляй цей клас, бо одне й інше впаде».</li><li>Як нагадування про необхідність змін у форматі To-do. Наприклад, у вас немає часу реалізувати інноваційне рішення. Тож пишете так, щоб усе працювало. Далі додаєте коментар як нагадування про зміни певної частини коду під час рефакторингу.</li></ul><h3 id="6-%D0%B4%D0%BE%D1%82%D1%80%D0%B8%D0%BC%D1%83%D0%B9%D1%82%D0%B5%D1%81%D1%8F-%D1%94%D0%B4%D0%B8%D0%BD%D0%BE%D0%B3%D0%BE-%D0%BA%D0%BE%D0%B4%D1%81%D1%82%D0%B0%D0%B9%D0%BB%D1%83">6. Дотримуйтеся єдиного кодстайлу</h3><p>Усі на проєкті мають слідувати заздалегідь визначеному кодстайлу. Це набір правил, як ви оформлюєте код. Йдеться про вигляд, стилістику, а не про архітектуру.</p><p>Кодстайл визначає, де ставити пробіл чи додавати в кінці крапку з комою, коли починати новий рядок тощо. Для кожної мови програмування існує безліч кодстайлів.</p><p>Розробник може обрати комфортний і зрозумілий для себе кодстайл. Та якщо на проєкті кожен буде оформлювати код, як йому заманеться, то почнеться хаос, що погіршить читабельність. Тому приєднавшись до проєкту, дізнайтесь, які в команді правила, і спершу слідуйте їм, навіть якщо для вас вони не оптимальні. Згодом запропонуйте, що і чому доцільно оптимізувати.</p><h3 id="7-%D0%BE%D1%80%D1%96%D1%94%D0%BD%D1%82%D1%83%D0%B9%D1%82%D0%B5%D1%81%D1%8C-%D0%BD%D0%B0-solid">7. Орієнтуйтесь на SOLID</h3><p>Що на бекенді, що на фронтенді писати «‎чистий» код допомагає SOLID – принципи об'єктно-орієнтованого програмування і проєктування. Буває важко відразу їх зрозуміти, якщо пишете код з нуля. Під час переписування чужого коду ви краще зрозумієте правила SOLID та побачите їх взаємозв’язок.</p><p>Насправді SOLID – це не тільки про «‎чистоту» коду. Завдяки цим принципам код стає придатним до перевикористання і легко масштабованим.</p><p>Не забувайте і про об’єктність програмування. Думайте об’єктно: у вас є об’єкт із певним станом та зовнішніми інтерфейсами, які змінюють цей стан. Так ви бачитимете головне в коді й не будете його навантажувати зайвим.</p><p>SOLID має концепт, який працює не лише в розробці, – Single responsibility. Тобто один клас, компонент чи метод виконує одну задачу. В житті так само: виделка виконує лише свою задачу. Якщо зрозуміти це на такому рівні, то і дотримуватися цих принципів легше, і код стає читабельним.</p><h2 id="%D1%87%D0%B8-%D0%BC%D0%BE%D0%B6%D0%BD%D0%B0-%D0%BD%D0%B0%D0%B2%D1%87%D0%B8%D1%82%D0%B8%D1%81%D1%8F-%C2%AB%E2%80%8E%D1%87%D0%B8%D1%81%D1%82%D0%BE%D1%82%D0%B8%C2%BB-%D0%BA%D0%BE%D0%B4%D1%83-%D0%BD%D0%B0-%D1%87%D1%83%D0%B6%D0%B8%D1%85-%D0%BF%D1%80%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4%D0%B0%D1%85">Чи можна навчитися «‎чистоти» коду на чужих прикладах?</h2><p>В цілому ви можете перейняти досвід колег, однак на більшості проєктів код не такий вже й «‎чистий». Часом якийсь блок писали з обмеженими ресурсами, а модуль – просто вставили як хотфікс і записали до техборгу, а про якийсь ще шматок коду взагалі ніхто нічого не знає, бо його 5 років тому створила інша команда, а нині всі бояться його чіпати. Тож при вивченні чужого коду розвивайте критичне мислення і міркуйте, як би ви могли спростити той чи інший елемент.</p><h3 id="%D1%8F%D0%BA%D1%89%D0%BE-%D1%89%D0%BE%D1%81%D1%8C-%D0%B7%D0%B4%D0%B0%D1%94%D1%82%D1%8C%D1%81%D1%8F-%D0%B2%D0%B0%D0%BC-%D0%BD%D0%B5%D1%87%D0%B8%D1%82%D0%B0%D0%B1%D0%B5%D0%BB%D1%8C%D0%BD%D0%B8%D0%BC-%D0%B7%E2%80%99%D1%8F%D1%81%D1%83%D0%B9%D1%82%D0%B5-%D0%BF%D1%80%D0%B8%D1%87%D0%B8%D0%BD%D1%83">Якщо щось здається вам нечитабельним, з’ясуйте причину:</h3><ul><li>Розпитайте керівників команди чи колег. Інколи поява неоптимального коду може бути викликана чимось, на що ви не вплинете.</li><li>Зверніться до системи контролю версій. Дізнайтеся, як і коли код став «‎брудним», хто його писав, які таски та пул реквести передували цьому. Не бійтесь працювати з легасі! В реальності саме легасі-код заробляє гроші. Новачки часто мріють про проєкт із нуля, щоб написати все красиво і правильно. Але тоді ваш розвиток буде не таким швидким. Ви отримаєте досвід роботи з технологією, але не з «‎очищення» коду. У проєкті з історією є змога побачити й погані приклади, які ви самі ж не захочете повторювати в майбутньому.</li></ul><p>Початківці соромляться запитувати про щось незрозуміле. Думають, це прояв некомпетентності. Але вони ж дійсно можуть чогось не знати.</p><p>Тут радимо такий лайфхак: скажіть, що у вас є ідея, але в процесі брейнстормінгу виникло кілька «‎дурних» запитань, треба в дечому пересвідчитися. І далі розпитайте колег про все, що вас цікавить. Коли матимете потрібні відповіді, подякуйте і скажіть, що передумали, бо ваша ідея, мабуть, не спрацює.</p><p>Не боятися незнайомого – порада, корисна не тільки новачкам, а й усім розробникам. Вона виходить далеко за межі цієї теми. Намагайтеся постійно тестувати нові підходи, шукати різні рішення і тим самим підвищувати свою експертизу.</p><p>Програмування не має суворих правил, яким всі мають 100% слідувати. Якби так було, то девелоперів вже давно замінила б програма. Поки цього не сталося, розвивайтесь в усьому, зокрема в написанні «‎чистого» коду. Адже його читатимуть такі ж люди, як і ви.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ У 2023-му Словник Коллінза назвав «штучний інтелект» словом року. Ажіотаж навколо ШІ не стихає, і багато компаній вже використовують його у своїй роботі.

Команда LOOQME дослідила, що говорили про штучний інтелект українські медіа та як вітчизняні компанії використовують його у роботі, і доповнила його коментарями експертів.


Частина 1. Штучний інтелект ]]></description>
        <link>https://proit.ua/shtuchnii-intieliekt-v-ukrayini-dosvid-vikoristannia-pierspiektivi-triendi-v-miedia/</link>
        <guid isPermaLink="false">65e0895e8bed038839e5b154</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  LooqMe Team ]]></dc:creator>
        <pubDate>пт, 01 бер 2024 14:00:53 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/02/_----------_---------.PNG" medium="image"/>
        <content:encoded><![CDATA[ <p><em>У 2023-му Словник Коллінза назвав «штучний інтелект» словом року. Ажіотаж навколо ШІ не стихає, і багато компаній вже використовують його у своїй роботі.</em></p><p><em>Команда LOOQME дослідила, що говорили про штучний інтелект українські медіа та як вітчизняні компанії використовують його у роботі, і доповнила його коментарями експертів.</em></p><h2 id="%D1%87%D0%B0%D1%81%D1%82%D0%B8%D0%BD%D0%B0-1-%D1%88%D1%82%D1%83%D1%87%D0%BD%D0%B8%D0%B9-%D1%96%D0%BD%D1%82%D0%B5%D0%BB%D0%B5%D0%BA%D1%82-%D1%8F%D0%BA-%D1%82%D1%80%D0%B5%D0%BD%D0%B4-%D0%B2-%D1%83%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%81%D1%8C%D0%BA%D0%B8%D1%85-%D0%BC%D0%B0%D1%81%D0%BC%D0%B5%D0%B4%D1%96%D0%B0">Частина 1. Штучний інтелект як тренд в українських масмедіа<br></h2><p>Щоб зрозуміти, що говорили про штучний інтелект у 2023 році, ми проаналізували згадки про нього в українських ЗМІ. Важливо, що фокус був саме на тих згадках, які стосувалися безпосередньо України. Їх шукали у п’яти типах медіа: Інтернет, друковані ЗМІ, інформаційні агентства, радіо та телебачення. Інтерактивний звіт можна подивитися <a href="https://lookerstudio.google.com/u/0/reporting/e2fda56c-8f18-4655-b50e-d448b98d176a/page/OK2a/edit">тут</a>.</p><h3 id="%D0%B4%D0%B5-%D1%96-%D1%81%D0%BA%D1%96%D0%BB%D1%8C%D0%BA%D0%B8-%D0%B7%D0%B3%D0%B0%D0%B4%D1%83%D0%B2%D0%B0%D0%BB%D0%B8-%D1%88%D1%82%D1%83%D1%87%D0%BD%D0%B8%D0%B9-%D1%96%D0%BD%D1%82%D0%B5%D0%BB%D0%B5%D0%BA%D1%82">Де і скільки згадували штучний інтелект?</h3><p>Протягом року українські ЗМІ згадували штучний інтелект 167 452​ рази. Втім, серед цих згадок тільки 66,4 тисячі згадок стосуються безпосередньо України.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/MCx-6m53FoKQAlUgZeBytyEC0NZB--mwaB_Kbi_XfjthYyAUc-x95O9u_t57kdvJej6S5BEH5yL3AuTf0bZryGURGyG8kURO8M_mJR0UAlJ0rcQim4q2qNDvYyoxor6r6eWKRXum609W5733q_CglKA" class="kg-image" alt loading="lazy" width="602" height="361"></figure><p>Протягом року тема штучного інтелекту поступово набирала поширення. Якщо у лютому майже 4 тисячі згадок були зумовлені тим, що ChatGPT став доступним в Україні, то в листопаді й грудні понад 8 тисяч згадок щомісяця стосувалися і загально-політичних тем. З огляду на те, що більшість держав почали вирішувати правові та морально-етичні питання щодо ШІ, це не могло не відобразитися на українському інформаційному просторі.</p><p>Більш ніж половина публікацій була у виданнях рівня топ-100 та національного рівня. Загалом же у 2023 році потенційне охоплення новин про штучний інтелект в українському сегменті становило понад 148 мільйонів.</p><h3 id="%D0%BF%D1%80%D0%BE-%D1%89%D0%BE-%D0%BF%D0%B8%D1%81%D0%B0%D0%BB%D0%B8">Про що писали?</h3><p>Майже половину згадок про ШІ зафіксували у новинних рубриках. Водночас до 15% публікацій було у профільних рубриках і тематичних виданнях. Це свідчить про зацікавленість фахівців певних галузей у використанні штучного інтелекту саме в їхніх сферах.</p><p>Наприклад, про ШІ в рубриці «Технології» найчастіше писали видання Speka, DOU та dev.ua. У рубриці «Маркетинг» і PR – «Детектор медіа» та MMR. А про урядові джерела найчастіше згадували державні портали – сайт Кабінету Міністрів, Мінцифри та портал Дія.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/TOENa9hq7oj-o6VaATXRJjBUwVhwwwPLRn1bmrvuHBCX6Jw90pIQM4pNBHEpKfNegbLQ_mCk62jDehX-Svb3xypoYHLb6ewJqhMroCr4fPyIA_4b6DT1NrMDV92F2mYr80n0vsd6hJ68DFgMqjc5LCI" class="kg-image" alt loading="lazy" width="498" height="296"></figure><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/deQWR6m-ijhcJONMzAN5WyBvcufP8id00UJGLedU-IPUW77PPK_epfRvXZQPnO9tH8NoHKLdXbPiUJt3DXwKj4QNGNNH9QWseDYO4s3YYOoHfFMvNcX1UlWz2QVGlnVgRRjhIOeCJ4pE5KYD4GgAPMY" class="kg-image" alt loading="lazy" width="494" height="297"></figure><p>До топу згадок, які стосуються штучного інтелекту, увійшли новини про технологію SPHERE LIFE: на думку ChatGPT, вона <a href="https://nw.com.ua/news/chatgpt-vvazhaye-shho-tehnologiya-sphere-life-zdatna-likuvaty-vil-ta-gepatyt-v-i-s/">здатна лікувати</a> ВІЛ та гепатит В і С; про львівських школярів, які <a href="https://gurt.org.ua/news/informator/86038/">вигадали</a>, як за допомогою штучного інтелекту покращити сервіси «Нової пошти»; про перспективи України <a href="https://politica.com.ua/ekonomika/124718-ukra-na-mozhe-stati-l-derom-u-cifrov-zac-derzhavnih-serv-s-v---ekspert-oleksandr-v-ktorovich-l-dn-k.html">стати лідером</a> із цифровізації державних послуг.</p><h3 id="%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82-%D1%96-%D1%82%D1%80%D0%B5%D0%BD%D0%B4%D0%B8">Контекст і тренди</h3><p>Якщо говорити про контекст і середовище, в якому трапляються згадки, то найчастіші слова – це «допомога», «система», «чатбот», «генеративний» (вид ШІ). Тобто ті слова, які стосуються перш за все використання штучного інтелекту.</p><p>Цікаво, що в середовищі згадок про ШІ досить часто трапляється Clearview. Це американська компанія із розпізнавання облич, яка надає програмне забезпечення для правоохоронних та державних органів.</p><p>Крім того, Clearview допомагає українським спецслужбам, а представники техностартапу декларують зацікавленість відкрити представництво в нашій державі.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/JnMLuMklTIsKzOq3hOfE0xEOmObPRJ5Qw5jV8B_NfKLZW-7mtRb_A6tQ3HP9CNU3s25hk1XC62b3Ca6ZkyYONhDrVmXLNsCZ4r0GxIkznNqtnHjF-_Zijo1KUfRcWLSqfERGAwxaGI4Fu7vYwKGuxEk" class="kg-image" alt loading="lazy" width="602" height="361"></figure><p>Натомість у трендах згадок ШІ переважають слова, які стосуються більш конкретних сфер. Наприклад, дуже виділяється військова тематика. Слова «військовий», «дрон», «виробництво» увійшли в топ-10 найбільш згадуваних.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/KejzwjLPl8baU39q7bJrjx_GsD61QWo_oazRjAIIQ2zs8eJn5l6lvuUuPU_mYE_UaEN1R8rWij8IRoDc68RhYpBQ22pMzmMTYdldrgRsI8V8Z-SEG95g-h22naIqFk_BkSzI4off5BdVbvNm-fRD9lw" class="kg-image" alt loading="lazy" width="602" height="361"></figure><p>З огляду на те, що штучний інтелект згадувався у контексті різних сфер та галузей, у дослідженні ми поділили всі згадки за темами та проаналізували особливості й наративи у кожній із груп.</p><h3 id="%D1%88%D1%82%D1%83%D1%87%D0%BD%D0%B8%D0%B9-%D1%96%D0%BD%D1%82%D0%B5%D0%BB%D0%B5%D0%BA%D1%82-%D1%96-%D0%B2%D1%96%D0%B9%D0%BD%D0%B0">Штучний інтелект і війна</h3><p>У контексті війни в Україні ШІ згадувався 19 тисяч разів. Це найпопулярніша тематика матеріалів про штучний інтелект, адже кількість згадок значно переважає інші теми.</p><p>Найпопулярнішими матеріалами стали новини про <a href="https://armyinform.com.ua/2023/12/24/u-sichni-rozpochne-robotu-artylerijska-koalicziya-pidtrymky-ukrayiny-minoborony/#:~:text=%D0%A3%20%D1%81%D1%96%D1%87%D0%BD%D1%96%20%D1%80%D0%BE%D0%B7%D0%BF%D0%BE%D1%87%D0%BD%D0%B5%20%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D1%83%20%D0%B0%D1%80%D1%82%D0%B8%D0%BB%D0%B5%D1%80%D1%96%D0%B9%D1%81%D1%8C%D0%BA%D0%B0%20%D0%BA%D0%BE%D0%B0%D0%BB%D1%96%D1%86%D1%96%D1%8F%20%D0%BF%D1%96%D0%B4%D1%82%D1%80%D0%B8%D0%BC%D0%BA%D0%B8%20%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D0%B8%20%E2%80%94%20%D0%9C%D1%96%D0%BD%D0%BE%D0%B1%D0%BE%D1%80%D0%BE%D0%BD%D0%B8,-%D0%92%D0%B0%D0%B6%D0%BB%D0%B8%D0%B2%D0%BE%20%D0%9D%D0%BE%D0%B2%D0%B8%D0%BD%D0%B8&amp;text=%D0%A3%20%D1%81%D1%96%D1%87%D0%BD%D1%96%202024%20%D1%80%D0%BE%D0%BA%D1%83%20%D0%B2,%D1%96%D0%B7%20%D0%B4%D0%B5%D0%BB%D0%B5%D0%B3%D0%B0%D1%86%D1%96%D1%94%D1%8E%20%D0%A1%D0%B5%D0%BD%D0%B0%D1%82%D1%83%20%D0%BF%D0%B0%D1%80%D0%BB%D0%B0%D0%BC%D0%B5%D0%BD%D1%82%D1%83%20%D0%A4%D1%80%D0%B0%D0%BD%D1%86%D1%96%D1%97.">Артилерійську коаліцію підтримки України</a>, <a href="https://www.ukrinform.ua/rubric-technology/3756737-minoboroni-dopustilo-do-ekspluatacii-u-zsu-dron-zi-stucnim-intelektom.html#:~:text=%D0%94%D1%80%D0%BE%D0%BD%20SAKER%20SCOUT%20%D0%B7%D1%96%20%D1%88%D1%82%D1%83%D1%87%D0%BD%D0%B8%D0%BC,%D0%BD%D0%B0%D1%88%D0%B8%D0%BC%20%D0%B2%D1%96%D0%B9%D1%81%D1%8C%D0%BA%D0%B0%D0%BC%20%D0%B5%D1%84%D0%B5%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D1%96%D1%88%D0%B5%20%D0%B1%D0%B8%D1%82%D0%B8%20%D0%B2%D0%BE%D1%80%D0%BE%D0%B3%D0%B0.">дрони зі штучним інтелектом</a>, які використовуватимуть ЗСУ, та новини платформи UNITED24, зокрема про Тімоті Снайдера, який <a href="https://shotam.info/amerykanskyy-istoryk-timoti-snayder-zibrav-950-tys-na-systemu-sensoriv-bezpechne-nebo-dlia-chotyrokh-oblastey/">зібрав кошти</a> на сенсори для українських військових.</p><p>Найпопулярнішими організаціями в медіа стали ЗСУ, Міністерство оборони, Міністерство цифрової трансформації та Мінцифри, а серед персоналій найчастіше згадували Михайла Федорова, володимира путіна і Джозефа Байдена.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/B0hK9oiEUWAKwga4JCAsvCqo0CKtE2T23w1G5RMouN-DtMu1tgX86V2pGndR50DmPuBbGRjVtCwCNdCNThVJRzWOX-YZFMAHEnVsLu7dQojwLLlFFcc6_oLkBtiL0zQsRtU3olUziIwUaeGpAgk46_0" class="kg-image" alt loading="lazy" width="602" height="387"></figure><h3 id="%D1%88%D1%82%D1%83%D1%87%D0%BD%D0%B8%D0%B9-%D1%96%D0%BD%D1%82%D0%B5%D0%BB%D0%B5%D0%BA%D1%82-%D1%96-%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%B2%D0%B0">Штучний інтелект і держава</h3><p>Про ШІ у стосунку до держави ЗМІ писали 12,3 тисячі разів. Штучний інтелект у цих матеріалах згадувався поруч зі словами «act», «чатбот» та згаданим вже «Сlearview». Серед компаній та організацій, про які найбільше говорили в контексті штучного інтелекту, – Міністерство цифрової трансформації, Дія та OpenAI.</p><p>Закономірно, що в майже половині публікацій йшлося про міністра Михайла Федорова. Решта ж персоналій не набрали навіть по тисячі згадувань. Втім цікаво, що на другому місці за популярністю – Ілон Маск (873 згадки), а на третьому – Володимир Зеленський (867 згадок).</p><p>До найпопулярніших увійшли новини про перспективи України <a href="https://politica.com.ua/ekonomika/124718-ukra-na-mozhe-stati-l-derom-u-cifrov-zac-derzhavnih-serv-s-v---ekspert-oleksandr-v-ktorovich-l-dn-k.html">стати лідером</a> із цифровізації державних сервісів, про <a href="https://www.ukrinform.ua/rubric-polytics/3763490-vistup-volodimira-zelenskogo-na-genasamblei-oon-povnij-tekst.html">виступ Володимира Зеленського</a> на Генасамблеї ООН, про <a href="https://socportal.info/ua/news/nazvano-reiting-podii-osviti-ukraini-2023-roku/">рейтинг</a> освітніх подій України та про безоплатний курс про штучний інтелект від Google, який <a href="https://thedigital.gov.ua/news/google-zapuskae-bezoplatniy-kurs-pro-shtuchniy-intelekt-za-pidtrimki-mintsifri">запускає</a> Мінцифри.</p><p>В останній новині ШІ став інновацією року: школярі брали участь у соціологічному дослідженні щодо нього, 30 тисяч педагогів пройшли курс «Штучний інтелект в освіті», навіть Відкритий марафон з української мови цього року відбувся за допомогою штучного інтелекту.</p><h3 id="%D1%88%D1%82%D1%83%D1%87%D0%BD%D0%B8%D0%B9-%D1%96%D0%BD%D1%82%D0%B5%D0%BB%D0%B5%D0%BA%D1%82-%D1%82%D0%B0-%D0%BE%D1%81%D0%B2%D1%96%D1%82%D0%B0">Штучний інтелект та освіта</h3><p>В освітній тематиці про штучний інтелект згадували майже 10 тисяч разів. Попри відносно невелику кількість згадок, вони мають значне потенційне охоплення – понад 56 мільйонів.</p><p>Найчастіше вживаними у публікаціях були слова «освіта», «наука», «національний» та «мова». А до найпопулярніших матеріалів увійшли новини про львівських школярів <a href="https://gurt.org.ua/news/informator/86038/">та їхні ідеї</a>, як покращити сервіси «Нової пошти» (учні запропонували впровадити чат зі штучним інтелектом Nova AІ, який буде вирішувати питання клієнта), <a href="https://ukraine-inform.com/news-suspilstvo-education/129485-golova-rmu-un-versitetu-predstaviv-poltavschinu-na-m-zhnarodn-y-zustr-ch-v-mon-ukra-ni.html">міжнародну зустріч</a> у Міністерстві освіти і науки та <a href="https://fakty.ua/422079-universitet-kultury-lider-toprejtinga-vuzov-kultury-i-iskusstv">рейтинг</a> мистецьких вишів.</p><h3 id="%D1%88%D1%82%D1%83%D1%87%D0%BD%D0%B8%D0%B9-%D1%96%D0%BD%D1%82%D0%B5%D0%BB%D0%B5%D0%BA%D1%82-%D1%82%D0%B0-%D1%96%D1%82">Штучний інтелект та ІТ</h3><p>Хоча, здавалося б, штучний інтелект та ІТ – це суміжні тематики, але в Україні в контексті інформаційних технологій ШІ згадували лише 8,5 тисячі разів.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/rurJFOc7QkmMx9Z5J4qR0rKvQ5hYOBVOAkMcna8qYhqxMqcQkEG3HHraMMZWP3nndRsfHYWLPthxdQPWj30_KeAgdIPr39T7m357bIul3TODq7m54xqvn-9i8bvsEgtvCuBAuud4Kum2YH_yWQzut48" class="kg-image" alt loading="lazy" width="602" height="372"></figure><p>Оскільки ІТ-сфера сьогодні нерозривно пов’язана з військовою справою, то й згадки про штучний інтелект часто траплялися у сусідстві зі словами «дрон» та «виробництво».</p><p>Втім топ-матеріали у цій сфері не стосувалися війни. Найпопулярнішими стали новини про <a href="https://delo.ua/news-companies/britanskii-investor-kupiv-castku-kompaniyi-cosmolot-422853/">купівлю</a> британським інвестором частки компанії Cosmolot і плани застосовувати ШІ, <a href="https://interfax.com.ua/news/press-release/920978.html">нове медіа</a> для айтівців, <a href="https://thedigital.gov.ua/news/mintsifra-razom-z-derzhstatom-stvoryuyut-analitichnu-platformu-government-bi-dlya-yakisnikh-upravlinskikh-rishen">анонс платформи</a> для управлінських рішень на основі штучного інтелекту.</p><h3 id="%D1%88%D1%82%D1%83%D1%87%D0%BD%D0%B8%D0%B9-%D1%96%D0%BD%D1%82%D0%B5%D0%BB%D0%B5%D0%BA%D1%82-%D1%96-%D1%80%D0%B8%D1%82%D0%B5%D0%B9%D0%BB">Штучний інтелект і ритейл</h3><p>У контексті ритейлу штучний інтелект згадували всього 3,3 тисячі разів. Найчастіше він траплявся поруч зі словами «працювати», «ринок», «сайт».</p><p>У категорії ШІ в ритейлі найпопулярнішими компаніями стали Київстар, Епіцентр, АТБ, WOG, OLX. Найчастіше писали про директора департаменту платіжних систем та інноваційного розвитку НБУ Андрія Поддєрьогіна, Ілона Маска та керівника Кіберполіції Юрія Виходця.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/hI7O-4ImKbEaIu2mjhUt6I4M1ROcExk6aoVbz-Kx3NnmKOXY7OxhcqFyxAereNsa1g1FR8GLF6u0ELm8IsN-A3z-ajDvB1PAIPnCK4RlTZt48iUNayj1u7VEU9f85WHwC6UhuzYxySd2OI7A3qnnm2Y" class="kg-image" alt loading="lazy" width="602" height="381"></figure><p>Щодо топ-новин, то ними стали: <a href="https://uanews.net/post/218422">зображення станцій київського метро</a> під водою, створені штучним інтелектом (так, ТРЦ «Республіка» асоціюється у ШІ з «Теремками»); <a href="https://www.me.gov.ua/News/Detail?id=f7acaa4e-44d6-47a4-93cb-22448224fce2&amp;lang=uk-UA&amp;title=BiznesYaponii">технології</a> для прискорення відновлення України від японського бізнесу; <a href="https://dnpr.com.ua/ua/post/v-magazinah-atb-zyavilisya-pershi-v-ukrayini-roboti-pomichniki-delivery-cobot-foto-video">роботи-помічники</a> в мережі АТБ.</p><h3 id="%D1%88%D1%82%D1%83%D1%87%D0%BD%D0%B8%D0%B9-%D1%96%D0%BD%D1%82%D0%B5%D0%BB%D0%B5%D0%BA%D1%82-%D1%82%D0%B0-%D0%B0%D0%B3%D1%80%D0%B0%D1%80%D0%BD%D0%B0-%D1%81%D1%84%D0%B5%D1%80%D0%B0">Штучний інтелект та аграрна сфера</h3><p>В агросфері згадування ШІ також пов’язані з воєнною тематикою. Адже у публікаціях часто використовувалися такі слова, як «війна», «розвиток» та «супутниковий». Це пояснюється тим, що аграрії зараз повсякчас стикаються з ризиками через мінування територій, а посівні площі через війну й окупацію значно скоротилися. Тож двома найтоповішими стали новини про штучний інтелект, який <a href="https://www.ukrinform.ua/rubric-technology/3775725-stucnij-intelekt-dopomagatime-u-rozminuvanni-ukraini.html">допоможе розміновувати</a> територію України, і про <a href="https://fakty.ua/425256-doroga-pobedy-opyt-azerbajdzhana-v-vosstanovlenii-karabaha-posle-30-letnej-okkupacii-mozhet-stat-primerom-dlya-ukrainy">досвід Азербайджану</a> у повоєнному відновленні.</p><p>Найбільше писали про компанію EOS Data Analytics, Збройні Сили України та FAO (Продовольча та сільськогосподарська організація ООН).</p><p>Цікаво, що до найбільш згадуваних персоналій увійшли дві українки, яких журнал Time вніс до рейтингу TIME 100 Next. Це міністерка економіки Юлія Свириденко й інноваторка, засновниця агростартапу Flurosat Анастасія Волкова.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/4ni_pXcoyBZbimGskVD8ME0fHgyEKI5j_SAb4WQ_xQuGDOSLskMluJqKkVf87BkPR9IcxN_VNrd-k3BmOpJjjqH5dfC0FgpFgmEfdLmYfvdpl4LJsX0eaqdvp8noff6yiFhiSNevi_NFNDBtCD1SHZI" class="kg-image" alt loading="lazy" width="602" height="384"></figure><h3 id="%D1%88%D1%82%D1%83%D1%87%D0%BD%D0%B8%D0%B9-%D1%96%D0%BD%D1%82%D0%B5%D0%BB%D0%B5%D0%BA%D1%82-%D1%96-%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B0">Штучний інтелект і медицина</h3><p>2,2 тисячі разів згадувався штучний інтелект у контексті медичної теми. Переважно медіа писали про <a href="https://ukraine-people.com/news-ukraine-and-worlds/122267-chatgpt-vvazha-scho-tehnolog-ya-sphere-life-zdatna-l-kuvati-v-l-ta-gepatit-v-s.html">діагностику</a> та <a href="https://ukraine-people.com/news-ukraine-and-worlds/122267-chatgpt-vvazha-scho-tehnolog-ya-sphere-life-zdatna-l-kuvati-v-l-ta-gepatit-v-s.html">лікування</a> тяжких захворювань (ВІЛ, онкологія, гепатит) за допомогою штучного інтелекту.</p><p>Цікаво, що в цій категорії медіа значну увагу приділяють дітям. Серед слів, що набирали популярності впродовж року, – «діти», «навчання», «освіта».</p><h3 id="%D1%88%D1%82%D1%83%D1%87%D0%BD%D0%B8%D0%B9-%D1%96%D0%BD%D1%82%D0%B5%D0%BB%D0%B5%D0%BA%D1%82-%D1%96-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82">Штучний інтелект і контент</h3><p>Тема створення контенту у прив’язці до штучного інтелекту у 2023 році була досить популярною. Про неї згадували понад 7 тисяч разів, а публікації сумарно мають більш ніж 19 мільйонів потенційного охоплення.</p><p>Серед згадуваних організацій переважали компанії та соцмережі, які експериментують із впровадженням штучного інтелекту: ChatGPT, Google, OpenAI, Facebook, YouTube, TikTok, Instagram, Twitter, LinkedIn. Найчастіше в новинах цієї теми штучний інтелект стояв поруч зі словами «генеративний», «чатбот», «робот», «згенерувати».</p><p>Кумедно, що найбільш згадуваною особою став Тарас Шевченко. Причина цьому – новина про <a href="https://dyvys.info/2023/03/14/zapytaty-u-shevchenka-ta-stusa-v-ukrayini-osvitnij-proyekt-rozrobyv-pershyj-ukrayinomovnyj-chat-na-osnovi-chatgpt/">перший україномовний чатбот</a> «На урок», у якому можна поговорити з відомими поетами та письменниками.</p><p>Як висновок, інтерес до теми штучного інтелекту зростає. Кількість його згадувань в українських медіа – яскравий доказ цього.</p><p>Прикметно, що про ШІ говорять у контексті практично всіх сфер життя. Щоправда, в Україні на кожну з цих сфер відбиток накладає війна. Тож штучний інтелект для українців – це не тільки генератор контенту у соцмережі, але й інструмент боротьби, а у перспективі – повоєнного відновлення нашої держави.</p><h2 id="%D1%87%D0%B0%D1%81%D1%82%D0%B8%D0%BD%D0%B0-2-%D1%8F%D0%BA-%D1%88%D1%82%D1%83%D1%87%D0%BD%D0%B8%D0%B9-%D1%96%D0%BD%D1%82%D0%B5%D0%BB%D0%B5%D0%BA%D1%82-%D0%BC%D0%BE%D0%B6%D0%B5-%D0%B2%D0%B8%D1%80%D1%96%D1%88%D1%83%D0%B2%D0%B0%D1%82%D0%B8-%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B8-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D1%96%D0%B9">Частина 2. Як штучний інтелект може вирішувати проблеми компаній</h2><p></p><p>Як працює ШІ, що він може дати бізнесу та які ризики у його використанні, поділився Станіслав Под’ячев, співзасновник Talents on AI Foundation і <a href="https://blackbox.ua/">BlackBox.ua</a>.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/KFHNtcR9MaHZfUXW2avmzGpicNt3GF135Q_OqRJ8QMtQ3UROJYxLxxLcAEHj1Qj2jSA5gLKtJ42nBoD64GyRlSxOPPRBNUPHYBhnv6wDnztIiUeq64QD5u0A5QmkeLPPuNYrxKy8ih6GceO5hOVeXoU" class="kg-image" alt loading="lazy" width="346" height="474"></figure><h3 id="%D1%88%D1%96-%D1%81%D0%BF%D1%96%D0%BB%D1%8C%D0%BD%D0%BE%D1%82%D0%B0-%D0%B2-%D1%83%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%96">ШІ-спільнота в Україні</h3><p>У нас є два напрями роботи зі штучним інтелектом. Перший – це Talents on AI Foundation. Ця спільнота виникла, коли з’явився Chat GPT 3. Українцям не дали можливості користуватися ним через вебінтерфейс, заблокували із політичних мотивів.</p><p>Тож за два дні ми зробили бот, який дублював функціонал чату і ним можна було користуватися через Telegram без реєстрації. На основі цього виникла спільнота людей, яким було б цікаво послухати й спробувати штучний інтелект. Ми почали проводити офлайн- та онлайн-зустрічі.</p><p>У кінці травня ми проводили хакатон в UNIT.City, а згодом – фінал іншого хакатону разом із Представництвом ООН в Україні, UNESCO і МЗС.</p><p>Цей хакатон не зовсім звичний – він із моделями генеративного штучного інтелекту. Його мета – дослідити, які проєкти можуть бути зроблені на перетині штучного інтелекту, захисту прав людини, толерантності й рівності. Зокрема, учасники досліджували можливість використання штучного інтелекту у юриспруденції, психології тощо.</p><h3 id="%D0%B1%D1%80%D0%B5%D0%B9%D0%BD%D1%88%D1%82%D0%BE%D1%80%D0%BC-%D0%B7%D1%96-%D1%88%D1%82%D1%83%D1%87%D0%BD%D0%B8%D0%BC-%D1%96%D0%BD%D1%82%D0%B5%D0%BB%D0%B5%D0%BA%D1%82%D0%BE%D0%BC">Брейншторм зі штучним інтелектом</h3><p>Зараз ми розробляємо Blackbox.ua. Це платформа, на якій можна створювати діалогові ігри для підприємців, власників компаній, стартапів, учасників програм бізнес-шкіл.</p><p>Є тема, є викладач, який її досконало вивчив і може поділитися з аудиторією. А потім аудиторія, якщо їй буде цікаво, може створити кількох ШІ-помічників, які будуть знати всі нюанси викладання саме цього лектора, саме цієї теми. І вони матимуть змогу відповідати або ставити запитання, бути гідом для учасників у вирішенні їхніх кейсів.</p><p>Наприклад, уявіть: ви – CEO, за круглим столом сидять ваші колеги: директор із маркетингу, директор із продажів, директор із фінансів. У вас є певний бізнес-челендж. І тут за столом з’являються Рей Даліо, Ілон Маск, Вільям Руделіус, і вони всі працюють над тим самим кейсом, але кожен додає щось своє. І таким чином це стає симбіозом генеративного штучного інтелекту в контексті компанії чи країни.</p><p>Контекст компанії може бути різним. Для нас це зрозуміло, що я можу сприймати компанію так, ви – інакше, директор із маркетингу – ще інакше.</p><p>Але й контекст країни може бути різним. Ми ставили це запитання людям, і вони написали зовсім різні відповіді. У когось це «Війна, нам кришка», хтось написав: «Війна – це час можливостей». Виходячи з цих контекстів кожен буде давати свою характеристику кейсів, свої відповіді, свої рішення.</p><p>Кожна охоча людина може описати контекст компанії самостійно. І кожен Diamon (помічник-модель штучного інтелекту) має контекст свого власника, який той задав. Відповідно він дає поради чи варіанти розвитку подій, виходячи з цього контексту.</p><p>Така програма може бути затребуваною у всіх галузях. Це можуть бути не тільки стратегічні сесії, але й аналіз конкурентного середовища, розробка нового продукту, стратегії, пошук та упаковка ідей.</p><h3 id="%D1%8F%D0%BA-%D1%80%D0%B8%D0%B7%D0%B8%D0%BA%D0%B8-%D0%BD%D0%B5%D1%81%D0%B5-%D1%88%D1%96">Як ризики несе ШІ?</h3><p>Найбільш очевидний ризик для генеративних моделей штучного інтелекту – це ризик галюцинацій, коли людина сліпо довірятиме ШІ і сприйматиме його як істину в останній інстанції.</p><p>Інший ризик – нерозуміння нами технології, того, як саме працює штучний інтелект.</p><p>Взагалі я – оптиміст, тому якісь загрози з погляду кібербезпеки не розглядаю. Все має бути настільки відкрито і прозоро, що витік даних не нестиме шкоди. Якщо я не хочу, щоб хтось дізнався про певні речі, я просто не буду спілкуватись із ШІ про них. У використанні штучного інтелекту все одно на першому місці – людина.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Вебскрейпінг – це процес отримання структурованих вебданих. Де знадобиться вебскрейпінг? Від моніторингу новин до аналізу цін у магазинах – це може бути будь-що.

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

Вручну збирати дані складно і довго. Набагато простіше ]]></description>
        <link>https://proit.ua/iak-viebskrieipingh-dopomaghaie-zbirati-dani-osnovni-tiekhnologhiyi-bibliotieki-ta-instrumienti-dlia-viebskrieipinghu/</link>
        <guid isPermaLink="false">65db9abce09b18905a058df7</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Олександр Пономаренко ]]></dc:creator>
        <pubDate>ср, 28 лют 2024 14:00:16 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/02/2150040424.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Вебскрейпінг – це процес отримання структурованих вебданих. Де знадобиться вебскрейпінг? Від моніторингу новин до аналізу цін у магазинах – це може бути будь-що.</p><p>Якщо ви коли-небудь копіювали із сайту інформацію та переносили її до таблиць чи інших типів сховищ, то фактично теж займалися скрейпінгом.</p><p>Вручну збирати дані складно і довго. Набагато простіше довірити це завдання скрейперу – програмі, яка автоматизує цей процес. Поки ви самотужки виписуєте один товар з онлайн-магазину, програма здатна витягти кілька сотень таких найменувань і структурувати їх у базі даних.</p><p>І хоча у цій статті ми зосередимось на скрейпінгу, зауважу, що це не єдиний спосіб збору даних. Існують й альтернативи.</p><h2 id="%D1%8F%D0%BA-%D1%89%D0%B5-%D0%BC%D0%BE%D0%B6%D0%BD%D0%B0-%D0%BE%D1%82%D1%80%D0%B8%D0%BC%D1%83%D0%B2%D0%B0%D1%82%D0%B8-%D0%B2%D0%B5%D0%B1%D0%B4%D0%B0%D0%BD%D1%96">Як ще можна отримувати вебдані</h2><ul><li><strong>Через API</strong> – набір протоколів зв’язку, які забезпечують доступ до даних програми, операційної системи або інших сервісів переважно у форматі JSON.</li></ul><p>Доступ через API надається розробникам інших сайтів або застосунків, які використовують ті ж самі дані, щоб їм не довелося проводити своїх досліджень. Наприклад, сервіс прогнозу погоди може створити API, щоб розробники іншого сервісу збирали, аналізували й інтегрувати дані про погоду у свої програми.</p><p>Такий доступ до інформації може бути платним або безоплатним, вільним або з обмеженою кількістю запитів за певний проміжок часу. Тому в деяких проєктах використання API для збору даних не підходить. Ба більше: сервіс у принципі не зможе відкривати свій API.</p><ul><li><strong>Через інструменти автоматизації</strong> – програми на кшталт Selenium. Взагалі-то вони створені не для скрейпінгу, а для тестування. Але все одно дозволяють отримувати дані, бо імітують процес взаємодії користувача із браузером.</li></ul><p>Цей варіант, звісно, спрацює, але його краще залишити наостанок, якщо виникли проблеми з іншими варіантами. Для повноцінної роботи з такими програмами потрібно буде окремо розібратися в налаштуваннях, інсталювати драйвер браузера тощо.</p><p>Також важливим є те, що вилучення даних у такому випадку буде обмежене функціонально. Зокрема, немає повноцінних пайплайнів та постобробки даних, як у фреймворках для скрейпінгу. Проте в деяких випадках без цих інструментів не обійтися. Наприклад, якщо у вас немає доступів до API й при цьому є проблеми з отриманням контенту сторінки за допомогою скрейперів.</p><p><strong>Обираючи між вебскрейпінгом, роботою з API та інструментами автоматизації, я рекомендую врахувати такі кроки:</strong></p><ol><li><strong>Перевірити наявність та адекватність API.</strong> Цей варіант – найпростіший. Дані вже будуть зібрані, структуровані й очищені. У цьому випадку достатньо просто взаємодіяти з набором ендпоінтів, витягувати дані та далі маніпулювати ними, як вам заманеться. А далі залишиться лише зберігати результати у базу даних чи інше сховище. Все організовано швидко і зручно.<br></li><li><strong>Використовувати скрейпери.</strong> Якщо немає змоги працювати з API, запускайте вебскрейпінг. Створені для цього бібліотеки та фреймворки заточені під отримання максимуму даних за мінімум часу. Щоправда, недостатньо просто натиснути кнопку. Слід проаналізувати сайт та зробити додаткову обробку даних для їх зберігання. Це довше, ніж робота з API, але швидкість збору даних все одно доволі висока.<br></li><li><strong>Вмикати інструменти автоматизації.</strong> Тільки якщо перші два підходи не спрацювали. Інструменти автоматизації не надто зручні та швидкі для подібних задач, однак виручать, якщо інші засоби не допомогли отримати необхідні дані.</li></ol><h2 id="%D1%89%D0%BE-%D0%BA%D1%80%D0%B0%D1%89%D0%B5-x%D1%80ath-%D1%87%D0%B8-css">Що краще: Xрath чи CSS?</h2><p>Xpath і CSS-селектори – це мови, які дають змогу описати необхідні для вилучення елементи. Їх також можна називати стратегіями локатора.</p><p>CSS, або каскадні таблиці стилів, – це мова таблиць стилів для опису зовнішнього вигляду та форматування документа, написаного в HTML або XML.</p><p>Якщо CSS – це шаблони для вибору стилізованих елементів, то Xpath – це мова шляхів XML та мова запитів для вибору вузлів із XML-документа. Xpath використовує вирази шляху для навігації за елементами й атрибутами в XML-документі.</p><p>Основна перевага CSS-селекторів – зручний синтаксис. Вони добре підходять для простих задач.</p><p><strong>Хоча мають і низку обмежень:</strong></p><ul><li>При використанні селекторів неможливо шукати елементи за вкладеними умовами типу «і» й у яких ще є подвійний «або».</li><li>Не можна звертатися до батьківських елементів та елементів, які знаходяться на одному рівні вкладеності з вашим, але до яких немає прямого доступу.</li><li>Не вдасться шукати тег за його вмістом. Тобто за текстом чи іншим контентом.</li></ul><p>Тому інколи застосування CSS-селекторів може бути недостатнім. Попри більш навантажений синтаксис Xpath дозволяє виконувати все, з чим є проблеми у селекторів CSS.</p><p>Однак час від часу зустрічається думка, що CSS працює швидше, ніж Xpath. Зі свого досвіду скажу так: різниця на користь CSS є, але зазвичай вона несуттєва. Це зокрема залежить від складності виразу, від того, чи використовуються для доступу до ресурсу проксі або VPN тощо. Тож вибір між Xpath і CSS – це вибір між функціоналом і зручністю.</p><h2 id="lxmlbeautifulsoupscrapy">lxml/BeautifulSoup/Scrapy</h2><p>Коли ви розібралися з базовими поняттями парсингу, можна перейти до інструментів, які використовуються в Python. Це 3 основних інструменти: lxml, BeautifulSoup і Scrapy.</p><p>Перші – схожі бібліотеки, але з різними на момент їх створення підходами. lxml був зосереджений на роботі з Xpath, а BeautifulSoup – із CSS-селекторами. Остання бібліотека була створена для роботи зі зламаними HTML-документами.</p><p>На сьогодні різниця між lxml та BeautifulSoup зведена майже до нуля: їхній синтаксис та функціонал дуже схожі. Обидві бібліотеки дають змогу використовувати двигун конкурента як двигун, що підключається.</p><p>Я б рекомендував застосовувати бібліотеки лише у двох випадках. Перший – коли обсяг парсингу невеликий. Другий – за умови, що вилучення даних не є основним пріоритетом системи. В такому випадку можна додати Python-модуль із парсером і використовувати ці дві бібліотеки.</p><p>Але якщо плануєте збирати дані з тисяч сторінок або переходити між безліччю сторінок, поєднаних кроспосиланнями, і створювати пайплайни для обробки отриманих даних, тоді краще вибрати Scrapy. Він часто використовується у великих проєктах, де треба ізолювати код скрейпера від решти системи.</p><p>Та зауважте: Scrapy має обмеження на структуру дерева проєкту, оскільки в нього свої файлова структура та конфігураційні файли.</p><h2 id="%D0%B1%D1%96%D0%B1%D0%BB%D1%96%D0%BE%D1%82%D0%B5%D0%BA%D0%B8-%D0%B4%D0%BB%D1%8F-%D0%B2%D0%B5%D0%B1%D1%81%D0%BA%D1%80%D0%B5%D0%B9%D0%BF%D1%96%D0%BD%D0%B3%D1%83">Бібліотеки для вебскрейпінгу</h2><p>Почнімо із lxml та BeautifulSoup. Щоб потренувати навички парсингу, скористуйтеся <a href="https://quotes.toscrape.com/">Quotes to Scrape</a>. Тут зібрані цитати відомих людей. Цей сайт дозволяє скрейпити, використовувати переходи по сторінках, отримувати додаткову інформацію про авторів тощо. Завдяки тому, що цей сервіс створений саме для тренування вебскрейпінгу, у його сторінок нормальна структура із зазначенням повноцінних класів, ID та іншого.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/81CCMsRABOhKkVoSprryykn6xPDWWS7aueZfQNnjDD3ulCNl9zP6zrK_2z7wwdRHeHP1sy7pl2Onwt19vR-j4cMd3LRAi2BVyD9YEoiAvEvymJEyjPVrDU3-6OlJfGUVNCsHBc_pLd3oDNLw63VOFQ" class="kg-image" alt loading="lazy" width="602" height="305"></figure><p>Для початку слід встановити бібліотеки BeautifulSoup та lxml способом, звичним для вас: чи то використовуючи pip install, чи то використовуючи інтерфейс для менеджменту пакетів у вашій IDE.</p><p>Після цього переходимо до функціоналу бібліотек. Насамперед необхідно отримати контент сторінки. Все це виконується через звичайний <em>request.get</em>, у який передамо посилання на потрібний ресурс.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/XoHF3SW8g-PoENvTQZlSu_KOvDLyobjbz0uvzsQ7aKMIHqEPTcobr3FtPNnIPn18YO9RNbFQdfZYZTIY2RWHw1rbuWmOlXiOLFclpPPMfAA_4Wg9n4zr9wNdpBA3PkDf4TOMvkRRstY4" class="kg-image" alt loading="lazy" width="602" height="339"></figure><p>Далі залишається лише закинути все це в <em>soup</em>, щоб отримати мінімальний набір інформації. Ми створюємо новий обʼєкт <em>BeautifulSoup</em>, передаємо в нього <em>response.text</em> і вказуємо бажаний синтаксис для обробки даних зі сторінки (наприклад, формат <em>lxml</em>). Після цього просто відобразимо наш об’єкт звичайною командою <em>print()</em>.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/iMFacyYYkK7uddrQdiz89gZhXl0xVkQDwdCVs7gp7v0cklFoj98a94f0z8VJavz-Fl_F5Y1ddQc69498k29V4-AaQtj9nTwEr_7kqUigtogfwfhpEl-NtLpdqZHEra84VMb4qUgidOAo" class="kg-image" alt loading="lazy" width="602" height="103"></figure><p>У результаті отримаємо ту ж сторінку, але у вигляді тегів.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/dQBiJ596u9at9Q5_GK_I_fCEsRG9lwcafVH3wvgHxEVC8JS07bieBqBCOBArxuCWwcOhtvEN5OCb_auLP8lA9z7PqEywAqRnDjsKT93huVYAfRBpRjlLZ2wr0ZXjfLrKp7fWiNrRWz-v" class="kg-image" alt loading="lazy" width="602" height="411"></figure><p>Можна зіставити отриманий документ із самим сайтом. Для цього треба зробити Inspect Element на потрібному об’єкті вебсторінки й отримати по суті ті самі дані, але краще відформатовані.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/-lvyKkC_cqRfEIAtJxQQbK6lLdqzWBM67hjjuFrrDBGbkqbJoXzUqyPH_F1_yt2EUR3LF8emySb-8ae0iaaOOm0ZE5S97U8bYyFjHdB1b9du5ewryuEHYpKrXRVqgVb3G5dGASS8Q9ei" class="kg-image" alt loading="lazy" width="602" height="305"></figure><p>Безпосередньо HTML-код краще ніж нічого, але цього замало. Тому треба витягти з файлу необхідну інформацію. У цьому випадку –  цитати, їхніх авторів і теги.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/NkuH7uYQPAX1sZH0z6P5WfrA1PtG3kDa-Q5zziOaEJ9bfBXmyckE1gjdTRH_E2F1h29_dG-0_arAqQ8WnkqOet4y8ropCkEv-fX6T2QZcqbIJsZb98ht1Zup544gKtSJANNaIhsCB2Sv" class="kg-image" alt loading="lazy" width="602" height="88"></figure><p>Наприклад, для отримання авторів варто вивчити сам сайт і зрозуміти, як на ньому описуються такі дані. Тут ця інформація зберігається за допомогою тегу <em>small</em> із доданим класом <em>author</em>.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/XOz4XB_DtP7MLpbyoYTPfIJDUiIe_hjiaWnoksnwIf5sgacu5pK7xxjmsjb2fqOdYy751C8ZeHkJMenA9Caew34-zuskVb89S0o8TVpJ3EKHEbCuYlTvJWCsQfJCMJlQry24Vr2TmHme" class="kg-image" alt loading="lazy" width="602" height="177"></figure><p>Аналогічно, зі скріншота вище можна побачити, що для цитат використовується <em>div</em> із класом <em>quote</em>.  І залишаються теги. У них це все оформляється як <em>div</em>, всередині якого є посилання (тег <em>a</em>) із класами <em>tags і</em> <em>tag</em> відповідно.</p><p>Цю інформацію слід перенести до коду. Тобто дати <em>BeautifulSoup</em> команду знайти всі елементи з таким тегом або таким набором тегів із певним класом. У цьому випадку це класи <em>text</em>, <em>author</em> та <em>tags</em>, як зазначено вище. Тож для перевірки виведемо цитати й на цьому зупинимо програму.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/YnGHJEjLkMPpdHMXe3hz7J7valtbI9O8xtf_W90V5VbhxmQbMYv2ceRdoe122sy_KzMgWtmHWR8A8d0yDm0S_6tuAlleSFfDPC4Pu7yg4vKJ1Vj_uBBZQxhlEv7h7ETHT-uMfaTGhboo" class="kg-image" alt loading="lazy" width="602" height="108"></figure><p>Результат кращий за попередній. Наприклад, видно, що було отримано Python-список із цитатами. Але є нюанс. Це ще не цитати, а об’єкти HTML (точніше span). Тобто фактично перед нами метаінформація, хоча потрібен лише контент тегів.</p><p>Тому слід трансформувати отримані дані за допомогою вбудованих засобів Python. Для цього треба пройтися циклом по отриманих елементах цитат, авторів і тегів та витягнути кожен конкретний об’єкт.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/pjNdvvPjaRdBxH6jPr5HobefUlzpNCuiSdUrvxUoMR8VSmYdcCNmLxNSSGlvCoACvRq4TNmwXtC7WKV5stYJ9MIHZPVXJdCgV9b7gx3F3o97WSh1yBxECp9Y9iRLaSXPdRApb_1RR7xL" class="kg-image" alt loading="lazy" width="602" height="56"></figure><p>Для тегів необхідно зробити додаткову проходку серед кожного div-елемента, що містить усі теги. А щоб отримати текст потрібного об’єкта, знадобиться атрибут <em>text</em>. На наступному зображені показано повну версію коду.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/wifI6obEmtGIG4Jsjx50LcUZAFOgJJV37pDFG9nKLYTYSf5YhZoDScvdPmQ3WO67G9YRIootXgBeQAHPWN3n3fJ-GAi0MjggMik4J19MJW1ghmIjZNE6xEiFI5YsahBHxZmz3wr4Bb80" class="kg-image" alt loading="lazy" width="602" height="360"></figure><p>Запускаємо й отримуємо всі цитати в лапках, із зазначеними авторами та набором тегів для них. Остання цитата у списку: <em>«A day without sunshine is like, you know, night».</em></p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/iQjz8OP0QB1uabM-_1ooR0oEWQYhVJ8B3ZAXqinB_rGct-vF2sJeEynlNaQ8FctQKKyYQeVanh-9d5TkFdOmxy5Xqqsmhu0oQGMaZcRpH_oCJYlH29VXngE_TRHmhsmKbpUoVsK25XPW" class="kg-image" alt loading="lazy" width="602" height="407"></figure><p>Звіряємо із сайтом – все правильно! Тобто результат знову покращено. Але радіти зарано.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/buZBuYbfPJYj4GIOdx3ELs2Vest7FLhAXpyg1hqFKazkRt4uigfycRe1HEE0qzq6wzSljJubMPhtNMrZlpsrHNP4MktOqEmUbuLTAIC8UpD_GQW0w8aU4vFi-wWm2XHbtmwZXs9-CpcC" class="kg-image" alt loading="lazy" width="602" height="164"></figure><p>По-перше, дані отримані лише з однієї сторінки. По-друге, парсити дані все ще досить незручно. А ще важливо звернути увагу, що тут не було жодних зав’язок об’єктів один на одного. Нерідко трапляються ситуації, коли пошук елементів може відбуватися лише в певному порядку, бо потрібно знайти теги-нащадки або навпаки батьківські.</p><h2 id="%D1%8F%D0%BA-%D0%B7%D0%B0-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BC%D0%BE%D0%B3%D0%BE%D1%8E-%D0%B1%D1%96%D0%B1%D0%BB%D1%96%D0%BE%D1%82%D0%B5%D0%BA-%D0%BF%D0%B0%D1%80%D1%81%D0%B8%D1%82%D0%B8-%D0%BA%D1%96%D0%BB%D1%8C%D0%BA%D0%B0-%D1%81%D1%82%D0%BE%D1%80%D1%96%D0%BD%D0%BE%D0%BA">Як за допомогою бібліотек парсити кілька сторінок</h2><p>Почну із простого завдання – пейджинг. Для цього прикладу звернемося до другої згаданої бібліотеки lxml і водночас подивимось на синтаксис XPath.</p><p>У цьому випадку трохи збільшується кількість функцій, але суть залишається простою. Тут є функція для читання, скажімо, трьох перших сторінок. HTML отримуємо через той же <em>response.text</em>, що і в попередньому прикладі. Різниця починається в командах: замість <em>beautifulsoup </em>використаємо <em>lxml.html.fromstring</em>.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/u8VH6DdbjJqrZIllvXZrKlYp864GPFINJ7j1zE9qduqSvAiS1WORZVR0_rXAa80xAr0FicSgz1fOewz-dLWhEv5msVMo6cDUEIgjaymRVoqkfp5FZ0UWtVotYQkVS4VC-eHF12UrkVFl" class="kg-image" alt loading="lazy" width="602" height="181"></figure><p>Нам потрібна функція, яка безпосередньо парсить сторінку. У цьому випадку це буде функція <em>use_le_xml(html)</em>. Поки пропустимо її контент, а подивимося далі. Через необхідність читання перших трьох сторінок ми робимо відповідний цикл. Всередині нього будемо знаходити посилання на наступну сторінку, переходити, обробляти та шукати наступну сторінку від нової «поточної».</p><p>Далі перейдемо безпосередньо до функції переходу на наступну сторінку, <em>get_next_page</em>. Спочатку заходимо на сайт і робимо Inspect Element для кнопки Next. Завдяки цьому можна побачити, що вона розміщена у простій таблиці HTML з ul-елементом та <em>a href</em>.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/T83iLkul7Io1USw99V81AkMU0bLKMXDfoK07oV3bExI2H_NI959xiBr88aLm3kx8xqxRBd5GhXzM-ovr0F4iAmjXP7aYs5osLvZ8LeMJQdbqBkOm2gtZoH-W99yo_ecGcyzSkjtntEBR" class="kg-image" alt loading="lazy" width="602" height="364"></figure><p>Наступний крок – використаємо команду <em>html.find()</em>. Її основна відмінність від <em>findall </em>в тому, що вона знаходить саме перший елемент, який задовольняє описані критерії тега. Але якщо ви хочете використовувати саме <em>findall</em>, то потрібно наприкінці дописати індекс елемента, щоб отримати лише його, а не повний список елементів.</p><p>Погляньмо уважніше на цей код. Тут клас вказується не через нотацію функції, а через вираз <em>xpath</em>. Якщо вираз починається не з «.», а з «//», то пошук йде по всій сторінці. В нашому ж випадку пошук виконається з певного місця, яке вказано у змінній <em>html</em>. Фактично це просто вказує lxml, із якого елемента дерева тегів треба починати пошук. Можна передати як всю сторінку, так і фрагмент. Наприклад, один <em>div</em>.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/-T8YB1FLKkIzddAA1l8mBSeIWGULX7GhmFLFpLq34vIgX9-A4Ehlt7MubH-oEj04p7hx3qfHnQJKMyO4I-wzLslc0nO-3qeHitOgqvzHTzsWl8Qh5SjH2-wCnrgZEIxtMAOyrwEUyPpy" class="kg-image" alt loading="lazy" width="602" height="84"></figure><p>Використання подвійного слешу дає вказівку, що можна відійти від поточного елемента вглиб на кілька рівнів, а не на один. У моєму прикладі є початковий елемент <em>nav</em>, від якого відбувається пошук по сторінці. Всередині нього є тег <em>ul</em>, який зі свого боку містить тег <em>li</em>.</p><p>Через те, що нас не цікавлять дані додаткові теги, ми просто пропускаємо їх, коли пишемо шлях до потрібного елемента, вказуючи “//” та конкретизуємо потрібний нам тег за допомогою класу <em>next</em>.</p><p>У результаті отримуємо посилання на наступну сторінку. Але воно не повне – це просто <em>/page/2/</em>.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/1NY_Iv4MeYUviqYqMvdPXQ6B0nY7s0egC4G7NOF4IG_WELqSN_d42JPiAL6XH_dTtK3dMXNOPJxEOCtPB9_eAqpyr8LxSpIjlTIzNMttDZwGlLD3fHyon82rhWZXCRppQvHtexxcGlR5" class="kg-image" alt loading="lazy" width="602" height="224"></figure><p>Така проблема періодично виникає. Тому варто використовувати метод <em>urljoin</em>, викликаний через стандартну бібліотеку <em>urllib.parse</em>.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/6eiYpmKJVrOO3EUQWjejb_9KzSVXLLtSnWHelwUQFMsUPJs_wfhb-5N37cTMe3g5bvYyxE3UIN4RjlT-4Dm9o7V35UHzChDELW4tSOU8hrvRTyWElIy4-UUnsZPc8Fm3KJA0PNHCu8_o" class="kg-image" alt loading="lazy" width="602" height="84"></figure><p>Завдяки цьому основний URL, наявний від початку (або такий, що не треба вичитувати кожен раз заново), з’єднується з локатором на певну сторінку.</p><p>Передаємо поєднаний <em>url</em> далі та перевіряємо дані з другої сторінки. Результат: все пройшло добре, оскільки дані оновилися. І тепер ми маємо посилання на 3-у сторінку <em>/page/3/</em>.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/ObfEfc4__cgXOjhjrJ0dhxb9wLYrH1_didjr-BhLHUgj2KP8vB2VeJ_zlmafI2mY0tyTI7LmLkgLblH339zzfg6Pg-Z2qcphsOUPmFiqBk_nXolIFjlxa7XoU0tclm9Pwj5V0Kr4hsyV" class="kg-image" alt loading="lazy" width="602" height="159"></figure><p>Про всяк випадок можна зробити ще одну перевірку. Остання цитата, яку витягнув парсер на 3 сторінці, належить Бобу Марлі.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/Fw5x_bUlG_4zFdXkSgFtnRaKsgeeYV44OF1vY9APaMzSlO8pmMUcxOAx1zjoQlb4tY4obSCfWPZYUNbYl1BGPuLgvybcyN5SGK8ytYAOvGmAE_JqUJtw6i3oVdAy9ZRkzltGOnAUhyvu" class="kg-image" alt loading="lazy" width="602" height="141"></figure><p>Переходимо на сайт, відкриваємо третю сторінку. Все збігається! Тобто ми змогли правильно пройтися різними сторінками та витягнути потрібний контент.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/j_l3UQeYAbQTL0bNUbJprtLhnkVnYkf0UOwECXFAsH-m-ioQZLWtAK-E7N9hm02paDw1lIoP1DFE-UaMm0r-YBxKuKEO9haJwkL54WKuft257hlZdFfst5zWOhEXHsjkdYBh8gHaByTJ" class="kg-image" alt loading="lazy" width="602" height="436"></figure><p>Бібліотеки BeautifulSoup та lxml – це чудові інструменти, які задовольнять мінімальні потреби скрейпінгу. Але вся додаткова робота, як-от перехід між сторінками чи очищення даних, лежатимуть на наших плечах. Якщо ж вам хочеться автоматизувати цю роботу, варто використовувати саме Scrapy.</p><h2 id="%D1%8F%D0%BA-%D0%BF%D1%80%D0%B0%D1%86%D1%8E%D0%B2%D0%B0%D1%82%D0%B8-%D0%B7%D1%96-scrapy">Як працювати зі Scrapy</h2><p>Процес інсталяції Scrapy стандартний. Достатньо виконати команду pip install scrapy:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/-Z491BD3eMde8TXSuR-W0T0pc-cowpdrbRLkzqCEPB9_ONag6lYnhMmG9PGKOAElEOdFh2ir5qpAs2VftLstTb8-gVjLk43B0KIbLFLzHLXZhjL-Qz6Uwj7k4gxwK40I_UV5NbWGD2HW" class="kg-image" alt loading="lazy" width="602" height="68"></figure><p>У моєму випадку всі залежності вже попередньо встановлені. У вас же додавання всіх бібліотек або їх частини може потребувати часу. Після цього запустіть команду <em>scrapy startproject testing</em>. Вона створить мінімально потрібну структуру директорій для проєкту та початкові файли, які знадобляться на різних етапах роботи (конфіги, шаблони тощо).</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/Yf0nZ7dFfCivz19J0HWZXqqg347wYB44QQizTgsbR8ioaxtIe8hR893cWLulSHdTwaAouUT97IaUhk8su_oNdxm-EXIOoYzr5G0q27izwTqPdSCmKgHbv0FHvqp_oP7SpR7YyBXF9Od-" class="kg-image" alt loading="lazy" width="602" height="61"></figure><p>Далі з’являється директорія <em>testing</em>, в якій є ще одна директорія <em>testing </em>та файл <em>scrapy.cfg</em>. А вже всередині другої <em>testing</em> знаходяться необхідні файли для автоматизації скрейпінгу й окрема директорія <em>spiders</em>, де будуть зберігатися скрейпери.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/J7nRXmE96FE_kdo5-_3AxQMuvCuD3Nrl4DyzadXv0rfHZGqdOsvda0EmePVybLqqGgp75bjN8289qwZvrxx9n6GsY75yKAmSBYLj9XADMTykzUKP-6sYIG1PRrF3IMEUJ2rrsMsfzwG0" class="kg-image" alt loading="lazy" width="362" height="514"></figure><p>Я створив це все завчасно, тому у прикладі працював із готовими директоріями. Ви ж можете повторити попередній крок та обрати інше імʼя для проєкту.</p><p>Також варто взяти більш реальний та наочний приклад, ніж описаний сайт із цитатами. Чудово, що в цьому домені toscrape.com є ще один сайт – <a href="https://books.toscrape.com/">books.toscrape.com</a>. Він емулює такий собі онлайн книжковий магазин. Однак, перед розбором самих парсерів, давайте спочатку подивимося на налаштування наших скрейперів. Усі налаштування збережені у файлі settings.py у директорії вашого проєкту.</p><p>Тут зібрані всі доступні параметри Scrapy: кількість одночасних запитів, використані проміжні застосунки, налаштування авто тролінгу тощо. Раджу після цього туторіалу відкрити офіційну документацію та більш детально ознайомитися з  налаштуваннями. А наразі зосередимося на одному параметрі з налаштувань, а саме – ROBOTSTXT_OBEY.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/_4xYGQRc0Dq8lVpIsy_Bw-IQwWIWpUOf7de1lULwKK-ZW5RNXeMUDx6p-VlCtyHxFdSjM8u7MQrqw3fRPQaJujMO4hdNjuA_qawOpaLi6QO3lrArmPV5RIkeF14kKKiskY_MzvDtWLX_" class="kg-image" alt loading="lazy" width="602" height="160"></figure><p>Майже кожен сайт, який вам захочеться розпарсити, має файл robots.txt. У ньому розміщується набір правил, які дозволяють та забороняють певні дії на сайті для скрейперів. Наприклад, це можуть бути обмеження на відвідування певних розділів і сторінок, ліміти на частоту використання скрейпера тощо. Іноді ці заборони можна обійти технічно, але ви можете отримати за це бан від сайту.</p><p>Також у цьому файлі містяться вказівки для user-agents різних пошукових роботів. Наприклад, на сайті техніки, який ми аналізуємо, цей файл має такий вигляд:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/aJIopHgFeuB-R3NGVvr4LnX4si85HOmJUt-i7LyVMIHHZ2mJJf9TAJnD3k66diZhCp03c3MM_Kes3xaJnsKEFeyev0S6nx0Gs7BsLABqxMCGL72PbE5EOa6etowQEyfsJmBYeV0WJcAK" class="kg-image" alt loading="lazy" width="319" height="481"></figure><p>Тож перш ніж починати працювати зі скрейперами, ознайомтеся із дозволами конкретних сайтів.</p><p>Повернімося до скрейперів. Нижче зображено простий метод, який витягуватиме дані з потрібного нам сайту:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/Dj80V7dm3v5cFvbksdcuFUnMI5QpcHByQSUFiO_lOUwEcx5KMMTB6yozl0K_QNkEGxUJgt6NxmQ01b3QNs1fEqBwm7WfO2DimVQcGw7IA1IughSIl4tYJVDgn0cz1ccNRGxyqxeHU7qt" class="kg-image" alt loading="lazy" width="602" height="224"></figure><p>Скрейпер має ім’я, необхідне для виклику. Наступним вказано початкове посилання для парсингу і власне метод, який займається цим процесом. Всередині метода ви бачите, як спочатку ми шукаємо по всій сторінці елементи <em>article</em> із класом <em>product_pod</em>. Після цього всередині елемента шукаємо заголовок, посилання, ціну та рейтинг книги.</p><p>Зверніть увагу на теги сторінки та порівняйте їх із xpath, які використовувалися для пошуку елементів. Особливо придивіться до останніх елементів у рядках.</p><p>Залежно від обʼєкта ми можемо звертатися до атрибута text(), який передасть текст всередині тега. А можемо спробувати дещо інше – звернутися до @href для отримання посилання чи до @class (у цьому прикладі оцінка в текстовому варіанті вказана лише у значенні класу).</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/KUmEl09Pl4XBeKQg2DMPaOJ551z_1aTFdMGzmJ5yisJnqdYaJ3Tarb97RivfmGIMuh-WxrD1HxT7OH8MaNI9KXknLS5Dlo-C8zCyKZ2IpMS_HCpH7zYFTNqMuSG27ILWBPFyPkm0yRbq" class="kg-image" alt loading="lazy" width="602" height="283"></figure><p>Окрім рядків із безпосередньо парсингом сторінки, ви можете бачити екземпляр класу BookItem. Загалом Items у Scrapy – більш зручний спосіб звернення до елементів, які ми шукаємо. Можете думати про них як про словник, що зберігатиме імʼя поля та його значення.</p><p>Для нашого скрейпера книжок я створив простий Item, що складається із чотирьох полів: заголовка, посилання, ціни й рейтингу товару.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/FkQLfFOhKlOq8JZ2nQQ57NVs63AW7y7eawGxZyYAxGvAjCAUwNKoPtJo-mwYXXnOpz7W1PvxsPEkGWI53gFM6SWKi1B9UDHms-DwnzRNPBSg666Qk9wcY8vQgczQ1hRfY4nKCBhnlzyV" class="kg-image" alt loading="lazy" width="602" height="336"></figure><p>Тепер спробуємо запустити наш перший Scraрy-проєкт. Зробити це можна за допомогою команди Scrapy crawl &lt;crawler_name&gt;. Наприклад:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/6DZ1-p3lm22J18AjHttAK54Y8W-g4r_doRjw7NIy0zPy5ljOhrW6QDXBgKmu9yF6W11t1NK3WPrUgll2e3FFqXYLdF-9nhH_V3GBw0gvKOtxBZcvdY5KDaTQfckR_esgYuBYAu3irery" class="kg-image" alt loading="lazy" width="602" height="104"></figure><p>Результат роботи виводиться в термінал і виглядатиме ось так:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/FddFn-Bt7GsiggQ18Diz2L7C-4lFaDJs3djmu_EQ76C_f_QXne1rVlGyJztjDHB4hYZRJNUd70X6iune8KBmSCTSjpReIEVtwPMqCiTwd_DSwhHSlGpFM-1OZvhOKnwD4EKrhTyZg8Il" class="kg-image" alt loading="lazy" width="602" height="557"></figure><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/OWXEm4E2m5FCxHcLShDjfpzuRg49xBKDPFNctwOYaOkzfzGT6C7KaL0yRaleBtYldlo9n2tATxMCmKlr1nprNJhoA-QN0-DIkviG_j-cHAQAwVLNh_AvAVcBsavpwdlXQUBlOae-RPZs" class="kg-image" alt loading="lazy" width="602" height="785"></figure><p>Здається, щось не так... Хотілося б, аби наші Items співпадали з кількістю обʼєктів, які ми розпарсили. Також було б добре, щоб посилання були повноцінними, щоб рейтинг зберігався як нормальне число. Як покращити наші результати?</p><p>У Scrapy, окрім власне Item, ще є такий інструмент як ItemLoader. Цей механізм дозволяє автоматизувати деякі задачі з очистки й обробки отриманих даних, перш ніж вони потраплять до Item.</p><p>Розглянемо це на прикладі. Нижче ви можете побачити клас BookLoader, що складається з default_output_processor та параметрів, що мають у своєму імені назву, аналогічну певному полю з Item. Як вони працюють?</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/1uKE1JiTvyWRWF287oSTA_zRjnph2xb_3CtxeAJn8BToSCnqTAAZsAQWhJoLt48EZJveGE-g7ca20rnSzWsVuAEZWoI8KEglZu8jbUD33mRz1F3R2amEP0IzIQGoTj8rwKRPscucqQAX" class="kg-image" alt loading="lazy" width="602" height="223"></figure><p>ItemLoader містить дві частини – Input та Output processors. Якщо бути більш точним, то ItemLoader містить один Input та один Output processor для кожного поля в Item. Input processor обробляє витягнуті дані відразу після їх отримання, а результат збирається та зберігається в ItemLoader.</p><p>Після збору всіх даних викликається метод ItemLoader.load_item() для заповнення та отримання заповненого об’єкта елемента. Саме тоді викликається Output processor із попередньо зібраними даними (й обробленими за допомогою Input processor). Результат роботи Output processor є кінцевим значенням, яке призначається Item.</p><p>Якщо в нас немає потреби в окремому обробнику для якогось поля, можна вказати default_input_processor та default_output_processor.</p><p>Із полями розібрались, а що ж далі? Тепер дізнаємося, що ж за Compose використано в нашому ItemLoader. Compose – це один із стандартних processors, які можна використати для полів в ItemLoader.</p><p>Серед основних варіантів згадується TakeFirst, Compose, MapCompose, Identity, SelectJmes, Join. Щоб розібрати їх, уявімо такий приклад: у нас є список вхідних значень у вигляді списку [‘name’, ‘last_name’, ‘price’].</p><p>TakeFirst – бере перший елемент зі списку результатів парсингу. Якщо використаємо його, то з нашого списку отримаємо лише перше значення – ‘name’.</p><p>Compose – процесор, який складається з композиції заданих функцій. А значить кожне вхідне значення цього процесора передається першій функції, а результат цієї функції передається наступній і так далі, поки остання функція не поверне вихідне значення цього процесора.</p><p> У Compose ми можемо передати функції з перетвореннями. Припустимо, ми робимо такий ланцюжок перетворень: <em><strong>Compose(lambda v: v[0], str.upper)</strong></em>. У результаті отримаємо одне слово зі списку, написане великими літерами, – ‘NAME.</p><p>MapCompose працює схожим чином, але застосовує ланцюжок перетворень окремо для кожного елемента зі списку. Тому якщо до нього застосувати ті ж перетворення, що й до Compose, результат буде іншим. <strong><em>MapCompose(lambda v: v[0], str.upper)</em></strong> поверне нам новий список, що буде складатися із перших літер, до яких ми потім застосували метод upper, – ['N', 'L', 'P'].</p><p>Identity – найпростіший процесор. Він нічого не робить і повертає дані в такому ж вигляді, що й отримав раніше. SelectJmes використовує JMESPath для вибору даних із результатів парсингу. Нам він знадобиться, якщо ми передаємо JSON-структуру в ItemLoader.</p><p>Join – об’єднує список елементів в один рядок, використовуючи заданий роздільник. Тому в нашому випадку він поверне один рядок ‘name last_name price’ або аналогічний, але з потрібним нам роздільником.</p><p>Повернемося тепер до нашого прикладу. Ми використовуємо прості Output Processors із Compose. Але раджу вам за можливості спробувати альтернативи. У самій Compose ми передали прості методи для чистки даних:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/cY26DYIDoYaWqkR3LfvicWbhFvd4vKGEPOP0g0lnyk9PUuA7NoCMW_bR4ZlIhMeaSQ7NsMoEIDjWeDr2pGWVBgOp0itqJhyvgQUTfyLJLaBlRfa1yhJ68mu0yE-_nP3CtUy94PWtX-TI" class="kg-image" alt loading="lazy" width="602" height="583"></figure><p>Настав час оновити скрейпер. Новий код зображено нижче.</p><p><strong>Пройдімося по відмінностях:</strong></p><ul><li>Ми додали custom_settings. Вказуємо максимальну кількість одночасних запитів на домен, але туди ж можна виписати будь-які інші налаштування. Врахуйте, що такі налаштування працюватимуть лише для потрібного нам скрейпера.<br></li><li>Додали цикл, який проходиться по всім елементам article, витягує дані та проводить трансформації за допомогою BookLoader. У Loader достатньо передати Item, який буде використовуватися для зберігання даних, і selector, який знадобиться для отримання даних.</li></ul><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/8yBcwVeu2J10wI-vh7nnc4CjwGiijVSx5Lomv59TSWwlL6veJMW6Mffh1nlqFvaha7nVDLd8pjo-mlIogg7laqXa-BKiF_Zsy7O6T6qQyqXne0knrsyRtOOIQN8FrLTbkJlA9TXC-w42" class="kg-image" alt loading="lazy" width="602" height="249"></figure><p>Результатом запуску цього скрейпера буде вивід терміналу, схожий на наступний:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/JHbch4_9OenUHBoBiNpnkuohPKeR7ESB04AjxEQv9hPZZu9c55zQuB4cVNfJ013if0k6LR00ag395ZeUaRoStxoPIZNyrVDTLl2aqunFtXCwARs0Y9icSJRZl1wVaEgACzEC1m3ke-LD" class="kg-image" alt loading="lazy" width="602" height="389"></figure><p>Як бачимо, картинка вже більш корисна. Маємо очищені дані, розділені на окремі сутності. Але і цей результат можна покращити. По-перше, записати дані в інший файл, щоб кожного разу не повертатись до терміналу. По-друге, ми досі працюємо лише з першою сторінкою.</p><p>Хотілося б розширити масштаби. Було б зручніше заходити всередину сторінок, щоб, наприклад, витягувати описи книжок. Давайте спробуємо це зробити.</p><p>Для початку з’ясуємо, як реалізувати перехід між сторінками та вхід до сторінок кожного обʼєкта. Для цього в Scrapy є механізм під назвою Rule. В ньому ми можемо прописати правила для переходу між сторінками та правила для сторінок, які мають бути прочитані.</p><p>З переходом між сторінками ситуація проста. Дивимося на те, як на сайті виглядає перехід між сторінками, і шукаємо наступну. Для поточного сайту перехід такий:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/ZhYdtacmUcPe_X0TT1dkZSwujTU0aM8MjRY_k1EI-xwMehMUtMfV8PZHMzumi1RNFuPg0WijgKcgQ33eYiYHJJ20uXSYw1YWH-_X4wehdZyXZzABwJqOJeszqR943EoWzJibLQyRhjmm" class="kg-image" alt loading="lazy" width="602" height="124"></figure><p>Щодо посилань на сторінки з детальною інформацією про книгу, то вони в нас вже є. Тепер достатньо вказати, що ми будемо робити з цими детальними описами сторінок. На скріншоті нижче можете побачити приклад використання правил.</p><p>Перше правило – для переходу між сторінками (зверніть увагу на параметр follow=true, необхідний власне для переходу). Друге правило – для роботи з посиланням на сторінку кожної книги.</p><p>Крім того, що заходимо на цю сторінку, ми ще й будемо викликати метод parse_item, який отримуватиме дані:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/K_VEmoYp7PYlRNDe4E3TShXPmkl770acVl0HPuC8CddcACX2elYJTyQWi0vgKI77W-zzbZk2PtFSRwng51hx5UdLTEDhnK7gRvbYatjX915zLSDD_5ttCmvR-T4yJno0bR9buZZmcq5Z" class="kg-image" alt loading="lazy" width="602" height="145"></figure><p>Що ж стосується другої частини – збереження в файл, то й тут у Scrapy є готовий інструмент – це Pipelines. Після того, як Item був зібраний, він надсилається до Item Pipeline, який обробляє його за допомогою кількох компонентів, які виконуються послідовно.</p><p>Кожен такий Pipeline – це клас Python, що реалізує прості методи. Вони отримують елемент і виконують над ним певну дію, а також вирішують, чи повинен елемент продовжувати проходити по конвеєру чи має бути видалений і більше не оброблятися.</p><p>Давайте створимо простий Pipeline, який збиратиме книги у файл, але якщо ці книги не дорожчі за 30 умовних одиниць:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/MG2fOaYN8b-KiKYXTxybFqh-O10-wYxhiqMoiysBRulFwHgtNbpUwU9Da3Cq-AfgU1pzOArKrGXGqDKQdgm9OxQnKU2ObAypqat6-boVde_4lKs8f9e9hfcYo6e2co1oxcDjXJpUtEgb" class="kg-image" alt loading="lazy" width="602" height="540"></figure><p><strong>На скріншоті зображено три основні методи ItemPipeline:</strong></p><ul><li>open_spider – викликається, коли відкривається скрейпер;</li><li>close_spider – те ж саме при ‎закритті скрейпера;</li><li>process_item – власне обробник.</li></ul><p>Щойно запустивши скрейпер, ми створюємо або перезаписуємо файл books.jl. Потім за допомогою process_item перевіряємо ціну товару, використовуючи функцію is_cheaper_than_max, або пишемо товар до файлу чи викидаємо, якщо він підходить під нашу умову. Насамкінець закінчуємо запис до файлу.</p><p>Погляньмо тепер на код нашого скрейпера цілком:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/lbbJ_8yF2OfaLACIYrOmde7A4kSGEunNQaBvVG3BZooAF0tBTLyUKlmD9MbYiOx1DMAj2spVEoYhUBs2RG3QFp6rqllRJC9Sv2sY6CBEyYW1KDiGCoUE4Tt7ysXiMBGPibQ_xol4nsQN" class="kg-image" alt loading="lazy" width="602" height="400"></figure><p>Що змінилося? Ми додали правила переходу між сторінками. Тепер у parse_item ми працюємо зі сторінкою конкретної книжки замість головної. Тож оновилися поточні конструкції xpath. На саму ж сторінку ви можете подивитися на скріншоті нижче:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/Zl8B7FIyImDCZgcplpNU12Ce7gO6iRyr2NR-5fDnWcgIOUXsyYAweJ1mjqh6JrObnNgJQLrrblfpvpmtLk0lPPvbWfKXC_wpUO07PsGA7voNee1rQrLvtJ_FGyuTLW2T0EoyQcvTGRZX" class="kg-image" alt loading="lazy" width="602" height="299"></figure><p>Однак, де нам викликати наш пайплайн, щоб зберігати дані у файл? Для цього розкоментуємо (або додамо самостійно) словник ITEM_PIPELINES:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/uevcPb_2e6XrgN2NF3bIWCUVYNNlh3Agu3FZB5hZsKn1DfG48MW7AzPf2cJIWZeT4du_oWEVBAPdTZPQiBADBgS7r_UJWNIptnUueMUjc4RsUFrcJF0LEo8HyORallQmlyJOKbp8ei2m" class="kg-image" alt loading="lazy" width="602" height="119"></figure><p>У ньому пропишемо шлях до класу і пріоритет виклику пайплайну (в цьому випадку – число 300). Якщо б у нас були додаткові пайплайни, то вони викликалися б у порядку від найменшого значення до найбільшого.</p><p>Дивимося на оновлені результати. З 1000 книг, що є в каталозі, збережено 403, вартість яких менша за 30 одиниць. Також ми успішно витягнули потрібні значення та зберегли описи із цифровими оцінками, скороченими описами та посиланнями на книги:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/cj6NzAEcsJKWs_iAdrCweZxd71OojrNN15bkWSU26DLoPLDrhpq8anIsVblsDnRIRhoBHDDHkQ85PoibsCDkcAL4joOUawWrj3gRhSZ2TSFa9RO80O70-QHzOCP49GuJeKvUMNRo6V1F" class="kg-image" alt loading="lazy" width="602" height="287"></figure><p>Тож вітаю, ви успішно отримали дані! У потрібній формі та з використанням необхідних фільтрів. Можу тепер лише порадити продовжувати опановувати Scrapy, вивчати нові способи роботи з ним і завжди памʼятати про етику у роботі з чужими ресурсами.</p><p>Наведені у статті приклади – лише верхівка айсберга. Я намагався показати якомога більше прикладів того, як ви можете працювати з різними інструментами скрейпінгу.</p><p>Якщо ж прагнете повноцінно опанувати скрейпінг, то у цій темі на вас чекає ще чимало відкриттів. Звернуть увагу на автоматизацію роботи пайплайнів. Подивіться на сервіси на кшталт Zyte, які дозволяють розмістити ваші скрейпери в мережі, або подумайте над додаванням бота в Telegram чи Viber.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ У цьому матеріалі я – Роман Чуйко, Oracle Developer у компанії Telesens, хочу розповісти про актуальні проблеми, з якими можуть стикатися девелопери при видаленні старих даних із таких баз даних, як Oracle.

Протягом усього процесу розробки, стикаючись із труднощами, які доводилося вирішувати самому або мозговим штурмом команди чи просто перебираючи інформацію ]]></description>
        <link>https://proit.ua/vidaliennia-zastarilikh-danikh-z-bazi-danikh-oracle-probliemi-z-iakimi-mozhut-zitknutisia-dievielopieri/</link>
        <guid isPermaLink="false">65d26fc526c484b324fd28eb</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Telesens Team  ]]></dc:creator>
        <pubDate>ср, 21 лют 2024 14:00:10 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/02/database-computer-system-digital-storage-concept.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>У цьому матеріалі я – Роман Чуйко, Oracle Developer у компанії Telesens, хочу розповісти про актуальні проблеми, з якими можуть стикатися девелопери при видаленні старих даних із таких баз даних, як Oracle.</em></p><p><em>Протягом усього процесу розробки, стикаючись із труднощами, які доводилося вирішувати самому або мозговим штурмом команди чи просто перебираючи інформацію в інтернеті, я сформував чек-ліст цих проблем та описав деякі способи їх вирішення.</em></p><h2 id="%D1%81%D0%BF%D0%BE%D0%B2%D1%96%D1%89%D0%B5%D0%BD%D0%BD%D1%8F">Сповіщення</h2><h3 id="%D0%BD%D0%B5%D1%96%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D1%96-%D1%81%D0%BF%D0%BE%D0%B2%D1%96%D1%89%D0%B5%D0%BD%D0%BD%D1%8F">Неінформативні сповіщення</h3><p>При роботі застосунок повертає ті чи інші сповіщення, які висвітлюють ті події, які в ньому сталися. Переважна більшість сповіщень прості й несуть тільки загальну інформацію про суть події. Буває важко передбачити причину можливої події, щоб її детально описати й дати якісь рекомендації. Тому при виникненні таких подій доводиться по факту виникнення доповнювати опис або навіть розділяти одну подію на декілька із різними порадами.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/mJiPnoC-IXvCz2JfyHCaxbhbb4DjUGF9xHSv3xlynOj1D3MCY6o5krS91JopJ7JI7BW_8nHQ8Y8738vfvr5mIngjboMOedTya8v6GaT3IWcnkvkGAefF0nRBxzsMS99dm-qonzuAgso7So4B" class="kg-image" alt loading="lazy" width="405" height="187"></figure><p><em>На верхній частині скріншота ми бачимо сповіщення, яке не дає достатньо інформації про подію, яка відбудеться. Ми не розуміємо добре це, чи ні.</em><br></p><p><em>На нижній частині ми бачимо, що усе гаразд, обробка вже була завершена і навіть можемо підставити в застосунку значення періоду, за який ця подія відбулася</em></p><p>Особливу увагу треба звертати на сповіщення із зовнішніх модулів, таких як, наприклад, Perl-скрипти. При виникненні помилки вони можуть повернути у викликаючий модуль, тільки код завершення роботи скрипта, без додаткових параметрів. Тут, по можливості, треба записати подію в базу, а Perl-скриптом видавати помилки у виняткових випадках, коли немає коннекту із базою.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/lbyQyS51emAfv7EvQ-2uB0IQxunZvZYBS5c72ws15kGSIRnvaqMZozEc6jwhgEFhgIODta6JPAkcSqKKhrLOrn3EBJ8KZfbc7SGBN7cWX8_vor-m-N4SyLQMuhn8ZZtZ7D_oqiy75gjBjjNl" class="kg-image" alt loading="lazy" width="602" height="121"></figure><p><em>З лівого боку скріншота ми бачимо об’явлені коди повернення у скрипті, а справа до цих кодів прив’язані сповіщення основного застосунку</em></p><p>Також слід мати можливість перехоплювати сповіщення/помилки, які генерує скрипт при виконанні, й записувати їх у лог системи/застосунку на клієнті.</p><h3 id="%D0%BD%D0%B5-%D0%B2%D0%B8%D1%81%D1%82%D0%B0%D1%87%D0%B0%D1%94-%D1%81%D0%BF%D0%BE%D0%B2%D1%96%D1%89%D0%B5%D0%BD%D1%8C">Не вистачає сповіщень</h3><p>При роботі застосунку (особливо тих процесів, які працюють у фоновому режимі) трапляються випадки, коли процеси завершуються коректно, але з логу незрозуміло, що цей процес робив (чи не робив) і чому.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/YEMAfi3yQYqtHVJ1FD8TNwMPP7FwKNuO3biRQ4AOavzdGhUcup3V4Go2ig9hvnazL_c0ozg1_OOMYZqc38Hz69BBiC4kwfZnAif95-2QeR_0VhURHE7DbkSXVNMYZE7vE3Q4Zc7FjFj3KT4b" class="kg-image" alt loading="lazy" width="602" height="353"></figure><p><em>У верхньому гриді ми бачимо, що процес відпрацював без помилок, але на вкладці «Крок» немає жодного запису про роботу процесу. Запис у нижній вкладці «Крок» дає нам зрозуміти, що процес нічого не робив через те, що дані вже були оброблені!</em></p><p>Цей момент дуже важливий для розуміння того, що відбувалося в цей час. Загалом необхідне логування. Його кількість і місця формування сповіщень треба закладати на етапі проєктування.</p><p>Також треба розуміти, що мала кількість записів у лог кроків може бути недостатньо інформативною, а у великій кількості буде важко знайти важливу інформацію.</p><p>Потрібна золота середина між кількістю й інформативністю і це здебільшого залишається на розсуд і досвід розробника.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/ywSx1Ev5QTLpKhpRxIo7Pc2ADXvhPvrEgVwuPJ9hWGdiCY6JV1Q0UdZhbylZbZkILinAi9eIctsF_v6MNsGmV7GMTMErJ_Fl09Jg7j2qqnp3hqdBAac3shabJKloQqXcJoCae6tJ_9bMLTvz" class="kg-image" alt loading="lazy" width="602" height="176"></figure><p><em>На цьому скріншоті зверху жовтим підкреслено 2 сповіщення на одну операцію. На нижній частині вказано, що на кожну операцію йде одне сповіщення із додатковою інформацією</em></p><h2 id="%D1%81%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%8F">Специфікація</h2><p>Перед початком розробки застосунку, системи, модуля чи внесення в існуючу розробку якихось змін необхідно створити документ (специфікацію), в якому описати майбутній функціонал, вимоги (особливо замовника), якісь особливості його реалізації тощо.</p><p>Саму розробку можна поділити на деякі етапи, кроки чи модулі згідно зі специфікацією. Бажано після закінчення однієї з цих дій перечитувати специфікацію або звіряти ті її частини, реалізація яких вже завершена. Тоді зменшується ймовірність виникнення дефектів, пов’язаних із неточністю її реалізації.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/D4fal7AgaglHaOSfLGbowqFl4uFCV8IO1b-GeMSsl39G-pkfgQTANwmXCp-v9ZIcCpwpGy0JpNKQ19Z-DhIKilPDL8el3vwiNOZlcU-uUostFatvd83VFCtX9fkvAJa7yB-F41CI2fFv1-zX" class="kg-image" alt loading="lazy" width="480" height="130"></figure><p><em>На скріншоті приводиться опис виставленого дефекту в Jira, коли неуважно читав специфікацію</em></p><p>Також можуть виникати непорозуміння через заплутані формулювання вимог до розробки. З цього приводу раджу намагатися переформулювати заплутані фрази, а також де це можливо розділяти на простіші й більш зрозумілі речення.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/tGmvjWKSfIQRcJ663EM4fW9oWe7DeOGpCUDNf26Xl-nBorqcPAiet4Neq9glsJzDl6mtVA703Lwa1M1QmaKfJ2dBwtq1KkHH7SxkEMmztoFDNiADQFnlNBxp79UbmW6yAofLuqdjY7RoykO7" class="kg-image" alt loading="lazy" width="602" height="107"></figure><p><em>На цьому скріншоті показано переформулювання деякої частини вимоги, щоб вона була більш зрозумілою для усіх читачів, а не тільки автору наведеного тексту</em></p><p>Особливу увагу приділяйте даним, які часозалежні. При розробці алгоритму обробки даних можуть бути ситуації, коли дані виходять за межі оброблюваного періоду в силу наявності зв’язку з даними інших дат. На це треба звертати увагу саме у специфікації, щоб потім не отримувати дефекти із наведеним нижче описом:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/5HLf_BnX0iw0VT_rPtpbvJCsNvBDnIajIxgxw1kiYyrmf5KCtPypmPPVjmf-h0mjA785DogM9ARXqN6VetKDqDcRdUwW05v6CPZV2Y5xfg0lwc8B8WJQV2nBwJYWjuU6et15gdGWYmuwVWr7" class="kg-image" alt loading="lazy" width="602" height="119"></figure><p>Ще один нюанс, з яким ви можете зіткнутися під час розробки, – не все описане у специфікації можливо чи доречно реалізовувати в такому вигляді, як описано. Можна сказати, що треба уважніше й більш скрупульозно писати специфікацію, але ж не завжди є змога все врахувати заздалегідь. Частково в цьому допомагає досвід, який отримуєш при розробці інших модулів/систем.</p><h2 id="%D0%BF%D0%B0%D1%80%D1%82%D0%B8%D1%86%D1%96%D1%97">Партиції</h2><p>При розробці буває дуже зручно, коли декілька партиційованих таблиць мають єдине правило ділення на секції. Наприклад, партиції розділяються на однакові діапазони дат. Це зручно і для архівування даних, і для очистки, і для відновлення. Але можуть виникати проблеми з тестовим середовищем, коли відбувається розсинхронізація між партиціями таблиць.</p><p>Наприклад, у партицій різні діапазони дат. Тут рятують додаткові перевірки наявності й статусу партицій у системних таблицях, щоб не отримувати помилки, як, наприклад, таку:</p><p><em>ORA-02149: Specified partition does not exist</em></p><p>Більш специфічна проблема, з якою можна зіткнутися, це коли вказаний діапазон обробки дуже великий (таблиця розділена на секції по днях), але насправді в ньому небагато даних і немає сенсу обробляти усі партиції, які увійшли в цей діапазон. Потрібна додаткова перевірка: в яких партиціях знаходяться дані та їх треба обробляти, а які можна пропустити.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/GKLmS_FrZCOWr-s6uvX9dv8IBdXVbfjWTzHyK2H2nladUJcHN_MXbvscOHR4BrxTg0kLr6hcVeuHTDNywt454pAtWMeMkHLhcHwAWKmunZUBN4vQqa0FOWZ3NhmJ3pSQnx_JDES5ge0StEro" class="kg-image" alt loading="lazy" width="513" height="90"></figure><p><em>Жовтим вказаний оброблюваний діапазон дат 11.2012 і реальний діапазон даних, які в нього входять</em></p><h2 id="%D1%80%D1%83%D1%87%D0%BD%D0%B0-%D0%B7%D1%83%D0%BF%D0%B8%D0%BD%D0%BA%D0%B0-%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%83%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D1%96%D1%97">Ручна зупинка процесу/операції</h2><p>У деяких застосунках вбудована можливість зупиняти деякі операції вручну, особливо ті, що займають багато часу. Користувач може вручну припинити виконання процесу/операції в будь-який момент.</p><p>Звісно, існує загальне правило, що від моменту виставлення сигналу зупинки до моменту самої зупинки не повинно проходити більше 30 секунд (в різних організаціях можуть бути різні значення цієї константи).</p><p>Однак не завжди є можливість так швидко припинити цю операцію стандартними методами, як, наприклад, вибірка даних із бази даних складним запитом. Бажано робити скрипти вибірки даних, виконання яких займає небагато часу.</p><p>Після отримання сигналу зупинки треба прослідкувати за коректним завершенням роботи всіх модулів/скриптів, які задіяні в цьому процесі обробки даних, а не тільки в тому, де цей сигнал виявлено.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/j0HTtO3TyIaUxyKmoBzBQ53KjqBXP4vaLau0lQDx_AKAi7TqpP783Ca7y8WrJXRqKKbuRF9079nO7oY9K-XyaLW0A9GdGRzI0FUmAC8IKulL3vgQ3IrXEbcy_5SH9sJftrCzgbIZ9RgNBL4X" class="kg-image" alt loading="lazy" width="488" height="126"></figure><p><em>Некоректне закриття курсору при отриманні сигналу зупинки модуля</em></p><p>Також рекомендую зробити відповідний запис в лог. Перед цим обов’язково важливо визначитися, в якому місці (модулі/скрипті) це буде доцільним, щоб не було дублювання сповіщень, коли модулі взаємодіють між собою.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/8ppgOJPe0ATvfMZC3Z02CPZ9G0tnWaj0eGNiPJdKscqfl2vThv3aSSmz5OFm818pRR2D3R3J1LgQ5OfKrBthGitxZH2nyS2QfY3qVouFxENi2X-Jbn2drcbPHyxuUqpvCjQ8nd-Wfz-pmlXE" class="kg-image" alt loading="lazy" width="602" height="131"></figure><p><em>У цьому сповіщенні показано, що не той модуль обробляв сигнал зупинки обробки, тому й згенероване сповіщення не описує ситуацію, що відбулася</em></p><h2 id="%D0%B2%D1%96%D0%B4%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F-%D0%BE%D0%B1%D1%80%D0%BE%D0%B1%D0%BA%D0%B8-%D0%BF%D1%96%D1%81%D0%BB%D1%8F-%D0%B7%D0%B1%D0%BE%D1%8E">Відновлення обробки після збою</h2><p>Дуже важливий крок розробки – це включення в нього засобів, які дозволяють продовжити обробку даних після збою, помилки або ручного завершення процесу обробки. Ця можливість повинна враховуватися на етапі проєктування, щоб органічно вписуватися у розробку.</p><p>Як варіант реалізації механізм відновлення створюється на основі журналу процесів. У нього записуються оброблені дані за період або частину періоду (для партиційованих таблиць), що дає змогу, аналізуючи лог попереднього запуску, виключити оброблені дані зі списку обробки при повторному запуску процесу.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/BppzaOu2__KgaX0ZhzLHLKlYax-EzFp-sm1N3CL3j65a6YBPrNmfbgECMEsAbUdmOxG4mer6jaRzWB6Is9YXrpCn60drjXJHaN7Qllbeix3yYn_SSmwli0FaUNl6YF0M-DtYlBPwcFKPOLf6" class="kg-image" alt loading="lazy" width="602" height="615"></figure><p><em>На скріншоті ми бачимо, які об’єкти та за який період оброблені. У разі збою повторний запуск процесу вилучить із черги обробки вже оброблені дані</em></p><p>Також сюди можна додати механізм захисту від наступних дій, які залежать від результату проходження попередньої обробки. До прикладу, не запускати чистку даних за період, архівація якого була перервана.</p><p>Це можна реалізувати на основі журналу архівів (дивитися скріншот нижче). Водночас дуже важливо налаштувати коректну роботу кожного з цих механізмів для правильної роботи всієї системи.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/E06WmfYw4sqkADgk5M3j4x57Alr1e0nWxpumD12_-hpS2kALMJHktOTZAyksXGdociPc4snQGpEyP8i3lNR12ieeGIX9wzic10so4IjctdmD4Ccb9pusOvK9goENd4lIbpdAHdsj1D4DSWlB" class="kg-image" alt loading="lazy" width="466" height="207"></figure><p><em>На скріншоті показано, що почався процес очистки. Якщо буде збій, то наступний процес враховуватиме це</em></p><h2 id="%D0%BD%D0%B0%D0%BB%D0%B0%D1%88%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8">Налаштування системи</h2><p>Трапляється й таке, коли через неуважність забуваєш внести деякі налаштування для розробленого модуля чи вони не увійшли в оновлення системи.</p><p>Наприклад, коли виконується якийсь процес, то він видає повідомлення, яким для зручності присвоюється номер помилки. По цьому номеру можна і користувачу, і застосунку зрозуміти, якого ступеня важливості є ця помилка: </p><p>0 – це інформативне сповіщення;</p><p>1 – це попередження, що сталася некритична помилка, яка не впливає на подальшу роботу застосунку й так далі.</p><p>Якщо неправильно налаштувати цей рівень для якоїсь задачі/процесу, тоді після її завершення застосунок може неправильно оцінити результат (дивіться скріншот нижче).</p><p>Щоб цьому запобігти, краще внесені зміни записувати у записник/файл (чи в інше місце), оскільки не завжди вдається тримати у голові заміну якогось параметру на формі, який треба додати до патчу.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/JUKgADM4_VeY9US6kQGk-r3FhaSDbE4bYlGk2fxMwQ2HVOaVvSDRqKLI8817-cRxxSe0lqktje9qkyjKdhEwutaEALWTMB5jAi5QrzjmdRl7IxdcYuZLigCxs-kznoZnx4LZ3nIOJYKHIIKB" class="kg-image" alt loading="lazy" width="602" height="320"></figure><p><em>На скріншоті показано, що неправильно налаштований рівень помилки (на верхньому гріду підкреслено жовтим) призводить до некоректного позначення завершення процесу (в середньому гріду обведено червоним)</em></p><h2 id="%D0%BF%D0%BE%D0%B2%E2%80%99%D1%8F%D0%B7%D0%B0%D0%BD%D1%96-%D0%B4%D0%B0%D0%BD%D1%96">Пов’язані дані</h2><p>Є неприємні випадки для архівації/відновлення, коли рядок таблиці посилається на інший рядок цієї ж таблиці. Ця рекурсія може мати кілька рівнів.</p><p>Доводиться зберігати додаткові дані й позначати їх як рекурсивні, а при подальшому відновленні не забувати правильно їх обробляти. Тут треба бути уважним із зовнішніми ключами.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/HbXaDEuC0-eJ6UCH3uoI1A7_WsJFaAEWeEaO64x-66E4d4m9XNExVYgY-e0ThFchdj1YUa7XTa7Qs6_ZNFk7d1njEy26zblcJfwDzcQPniUCMvb6qOKrQ2brg-3Qpw05bRxHh0d8IkPryOw_" class="kg-image" alt loading="lazy" width="602" height="235"></figure><p><em>На скріншоті показані пов’язані між собою рядки (ID виділені жовтим). У нижньому гріду показаний зв’язок по зовнішньому ключу (виділений жовтим)</em></p><h2 id="%D0%B2%D1%96%D0%B4%D0%BB%D0%B0%D0%B4%D0%BA%D0%B0-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%96%D0%B2%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D1%96%D0%B2">Відладка модулів/скриптів</h2><p>Важлива частина розробки – це закладати можливість отримати додаткову інформацію за необхідності. Можливість її вмикати/вимикати без додаткового втручання у код.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/byA_mlXGM2VVhvflT0kjGwj6GVMBLuatmML_d8v6tzjgv372_fM7491Ou_euN9ms5UfYeqribA8v7xE-NaKW_4GjT6-T4_-Kbd5KGMCyYf-b70-X1atMAqckwy6uh-o10cdwTqCdG3ph9iT3" class="kg-image" alt loading="lazy" width="602" height="364"></figure><p><em>На скріншоті показаний приклад ручного логування, рядки жовтого кольору, коли треба розкоментувати позначені рядки й відкомпілювати модулі. Поганий варіант</em></p><p>Це дозволить отримувати потрібну для відладки інформації з користувацької системи, в якій виконується розроблений застосунок.</p><p>Як часткове рішення можна додати компонент перехоплення SQL-запитів. Наприклад, внизу вікно Debug Window, де показуються запити до БД.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/1bOr9eQyFIhyBn8egUaRF4tMqUpst4v1gbnUE0V8_yVNmcuanW16aaeVq7F2HR_awYLl2bQxUa__w4FM2X-RCQ1mU9xttnUYMq2kWqwrgRpcSReptjQ1g8a6epVKLH2ktOzYGe8nVvIZpUNZ" class="kg-image" alt loading="lazy" width="602" height="108"></figure><p><em>Перехоплення SQL-запитів застосунку для подальшої відладки функціоналу</em></p><p>Ще одна важлива частина відладки – це можливість окремо тестувати модулі (процедури, функції й так далі), які входять у розробку.</p><p>На жаль, буває потрібно робити декілька додаткових дій у базі, щоб була можливість виконати тестування. У складних випадках доводиться копіювати частини модуля й окремо запускати на виконання.</p><p>Ця можливість закладається на етапі розробки кожного модуля/процедури/скрипта. Якщо при розробці використовуються глобальні змінні, колекції, тимчасові таблиці, тоді потрібно додавати механізм для їх заповнення тестовими даними.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/NolBuYMsqGINIBaNSq9Ck1Ki119r7TMV7qIOABZNj_HGF71qKxAQwoaL6nXZV59sH5nFtZ0Gqv5sobW3RIJkwWJ_jPSq2jSHCVEpKAa0BeRoeDhg8X1CLdZrv0W_Q4TJW2mmEpuGL4jeKvzx" class="kg-image" alt loading="lazy" width="602" height="208"></figure><p><em>На скріншоті показано, що до початку тестування основної функції архівації “f_archive” є можливість запустити процедуру “p_fill_var_and_tmp”, яка готує для неї необхідні дані</em></p><h2 id="%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D1%96%D1%81%D1%82%D1%8C">Продуктивність</h2><p>У цьому розділі наведу приклад зміни розробленого функціоналу вивантаження даних, що архівуються, на клієнтську машину для підвищення рівня продуктивності системи.</p><p>При розробці модуля вивантаження даних були використані Pipelined-функції, адже вони дозволяють робити додаткові маніпуляції з даними до їх вивантаження. Також ці функції дозволяють надсилати клієнту рядки по мірі їх готовності, а не чекаючи обробки всіх вибраних даних.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/yxM57hXB3bVn2byJmEwu0YVmSqFmgQ8d4X2sETpMUb1sU0KJ6mc59ayjkw1Rgj-KOAN7icMk4YnIdyoBPhFOkYe_fNIXp4Z8ZNADTkLSV7MbeJt244jHcp_4YP851i7vodZifsIrrpeSfEhZ" class="kg-image" alt loading="lazy" width="437" height="272"></figure><p><em>Структура PIPELINED функцій в базі Oracle</em></p><p>Для зменшення навантаження на клієнтську машину і спрощення обробки вивантажувальних даних на клієнті з боку бази усі стовпці запитів «склеювалися» в один текстовий стовпець із заданим форматуванням для нетекстових даних.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/xYtaBrXscsRNaH9jXru3TwWtC65iDtEOK8BKg8egXfsz7q8LIJRPm1Hz6jenTyZi58MNDXI1fB869NZLjM0xV2xwp5ADIEsC9AqdXgGm7Qqvto17FnyGeaeUday0rZdEyMMQXX_OxpAJ9M_i" class="kg-image" alt loading="lazy" width="365" height="119"></figure><p><em>Приклад склеювання стовпців</em></p><p><strong>При цьому виникло 2 перешкоди:</strong></p><ul><li>В Oracle 11 при вивантаженні ми обмежені колонкою в 4К. Тому не виключалася ситуація, коли не всі рядки склеєних колонок деяких таблиць могли поміститися в цей розмір, якщо будуть зустрічатися повністю заповнені рядки.</li><li>У таблицях можуть знаходиться колекція або стовпець із XML-даними, які можуть мати будь-який розмір.</li></ul><p>Для уникнення цих перешкод краще використовувати тип CLOB для вивантаження і в подальшому завантаження даних.</p><p>Всі колонки рядка таблиць приводяться до типу CLOB, а потім склеюються в одну колонку. Далі рядок за рядком відправляються клієнту.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/icKr2IJXGnel4AaihPLMWoStLi3ycU2M_pnB_knnHn_QskFgeiGXAvnvxY4XWLi6pZBYDh6AgAYEU8GG2QddldxpGfmAYSvFNEozBAL5Jk9AUldUqzXyJ7Tc-0zJrh5yeGndSoS2bNykFjLK" class="kg-image" alt loading="lazy" width="602" height="248"></figure><p><em>Схематично показана передача склеєних колонок клієнтському модулю застосунку</em></p><p>Вивантаження кожного CLOB-рядка окремо не раціонально. Оскільки тип CLOB може вміщувати багато даних, є сенс об’єднувати рядки в один великий блок даних і надсилати його клієнту.</p><p>Для цього можна використати проміжну змінну типу CLOB, в яку рядок за рядком додаються дані, а потім вміст цієї змінної надсилається на клієнта.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/BkwOf6aFx0f1tBSJt3TYjcAbHSDU-6I-UV63Bwb0SArVGtYHO1diZNv5G2eFbL28e2IbWIKW80P3id22gLb4ORTHkc8Ifs-NgCNft1AcVE0k_uNeZL0rh0z-7ti47lUyvLesAAvN6URenbKu" class="kg-image" alt loading="lazy" width="602" height="281"></figure><p><em>Об’єднання декількох CLOB-рядків в один CLOB, який і відправляється клієнтському модулю</em></p><p>Щоб зменшити використання ресурсів сервера, можна обмежити розмір CLOB-змінної й вибрані дані надсилати на клієнта порціями, які в подальшому з’єднувати на клієнті в один файл.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/RoOPb9Ob49PuJvX4N3s17ykQ9AbhLkiUKgeuRgNWEdnaJT0r3O0IHQioDxx6OIPV6DVV8hYIpCdNogwSMSFdNw6kMsxy5lO1-vxUogHUuEcos87rVRrDX5lLLL24VDfoBENcEQw4Yu4qXOaB" class="kg-image" alt loading="lazy" width="602" height="377"></figure><p><em>Показано надсилання даних порціями й кожну порцію дописувати в цільовий файл</em></p><p>Перетворення колонок в тип CLOB із подальшим їх об’єднанням в одну колонку може призвести до зниження продуктивність всієї обробки, особливо при використанні старих версій Oracle.</p><p>Для вирішення цієї проблеми в запиті всі колонки можна перевести в текст, а колекції, XML-дані й CLOB – у тип CLOB. Усі колонки окремо додаються до CLOB-змінної, і так рядок за рядком.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/iTIvl15EQ77QB8jWL-uuKYFZB-mOnzi7APoAA6jba8j0eHAltodNFHRsSBL_YQmztRoB_mM2iRtQU5E6fOR50Sxckf2WANVVeZx8Ms3_iQyyBxgV72eA6vvQv1IkdwM8oSVVkIIdUvJO8eoo" class="kg-image" alt loading="lazy" width="602" height="449"></figure><p><em>Показано, що тільки колонки XML і колекції перетворюються в CLOB для подальшого об’єднання й передачі клієнтському модулю</em></p><p>Обробка кожної колонки в кожному рядку окремо (особливо коли колонок в таблиці дуже багато) може займати багато часу.</p><p>Рішення полягає в об’єднанні декількох колонок в одну там, де це можливо. На практиці в таблицях небагато колонок, які мають складні формати по типу колекції чи XML, тому цей спосіб добре працює.</p><p>Винятками можуть бути таблиці, які створені як додаток до основної таблиці. В них виносять поля зі складною структурою, і тоді потрібен індивідуальний підхід для обробки цих таблиць.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/1vvzK_QMpBuzyDYAuPKDDuvBLzrCHiJoLswQHCn0FAhyUpXGSG7kF9FlcVZF1BxbIw8-wPGdEHUbKgLUyuT-LpAiSu5UH727KMU7DNey8WuM4pZkUo-UH5YPtNCbEKI-qaPZSa29amL5C7WT" class="kg-image" alt loading="lazy" width="602" height="355"></figure><p><em>На скріншоті показано, як за допомогою склеювання полів простих типів даних можна зменшити подальшу обробку даних для передачі клієнтському модулю</em></p><p>Сподіваюся, що мій досвід стане у пригоді тим, хто працює чи працюватиме з Oracle!</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Те, що відбувається у фільмах чи серіалах, може ніколи не статися в реальному житті. Коли йдеться про злам, пограбування чи хакерську атаку, фільми схильні демонструвати абсолютно нереалістичні речі.

Часто вузькоспеціалізованих фахівців, які могли б забезпечити належний супровід, навіть не залучають до процесу зйомок. Тож глядачі губляться у викривленій реальності, а ]]></description>
        <link>https://proit.ua/niezlamna-klaviatura-chomu-nie-varto-doviriati-pobachienomu-v-kino/</link>
        <guid isPermaLink="false">65ca002fff7a05fa602a4a43</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  AJAX Team ]]></dc:creator>
        <pubDate>пт, 16 лют 2024 14:00:28 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/02/keypad-movies-preview2x.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Те, що відбувається у фільмах чи серіалах, може ніколи не статися в реальному житті. Коли йдеться про злам, пограбування чи хакерську атаку, фільми схильні демонструвати абсолютно нереалістичні речі.</p><p>Часто вузькоспеціалізованих фахівців, які могли б забезпечити належний супровід, навіть не залучають до процесу зйомок. Тож глядачі губляться у викривленій реальності, а експерти спантеличені фальсифікаціями.</p><p>Наприклад, глядачі вірять, що якийсь порошок може виявити інфрачервоні промені, які захищають чашу Ґрааля. Або вважають, що злочинець може приєднати дріт до клавіатури Ajax, зчитати пароль і зламати систему безпеки.</p><p>Саме тому ми вирішили проаналізувати чи не найпопулярніший злочин у кіно – злам системи безпеки через клавіатуру.</p><h2 id="%D1%8F%D0%BA-%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%BE-%D0%B2%D1%96%D0%BD-%D0%B2%D0%B8%D0%BA%D0%BE%D0%BD%D1%83%D1%94%D1%82%D1%8C%D1%81%D1%8F-%D1%83-%D1%82%D1%80%D0%B8-%D0%B5%D1%82%D0%B0%D0%BF%D0%B8">Як правило, він виконується у три етапи:</h2><ol><li>Пошук клавіатури.</li><li>Отримання фізичного доступу або перехоплення радіосигналу.</li><li>Злам системи через стороннє програмне забезпечення.</li></ol><p>Розберемося, що не так на кожному з цих етапів.</p><h3 id="%D0%BA%D1%80%D0%BE%D0%BA-1-%D0%BF%D0%BE%D1%88%D1%83%D0%BA-%D0%BA%D0%BB%D0%B0%D0%B2%D1%96%D0%B0%D1%82%D1%83%D1%80%D0%B8">Крок 1: Пошук клавіатури</h3><p>Першим кроком у будь-якій спробі вторгнення є збір інформації. Коли злочинці потрапляють до будівлі, вони знають наперед, у якому напрямку бігти та де шукати пристрої, які треба зламати.</p><p>Навіть якщо ніколи не були всередині, вони безпомилково знаходять правильну стіну, хоча пристрій встановлено із протилежної сторони. У теорії це може здатися простим, але на практиці розрізнити дротові та бездротові пристрої досить складно.</p><p>Щоб визначити точне місце розташування <a href="https://ajax.systems/ua/products/keypad-fibra/">дротової клавіатури</a>, злочинець повинен використовувати потужний мультисканер для пошуку потрібного кабелю у стіні. </p><p>Однак мультисканер не визначає, який саме кабель знайдено: дверний дзвінок, домофон чи електрична проводка. А якщо у приміщенні товсті стіни, мультисканер взагалі може виявитися безкорисним.</p><p>Якщо <a href="https://ajax.systems/ua/products/keypad-touchscreen/">клавіатура бездротова</a>, пошук прихованих кабелів не допоможе. Злочинці можуть просканувати радіосигнал, щоб визначити місце бездротового пристрою. Проте на обмін даними між пристроєм і хабом за технологією TDMA відводиться короткий проміжок часу. Решту часу їхні комунікаційні модулі неактивні.</p><p>Злочинцю знадобляться десятки хвилин, щоб визначити джерело сигналу. І навіть тоді немає жодних гарантій, що виявлене джерело сигналу належить саме тому пристрою, який йому потрібен.</p><p>Крім того, це може бути не пристрій Ajax, адже інші пристрої також використовують частоти Ajax.</p><figure class="kg-card kg-video-card"><div class="kg-video-container"><video src="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/02/keypad-movies-7-TDMA.mp4" poster="https://img.spacergif.org/v1/2560x1440/0a/spacer.png" width="2560" height="1440" playsinline preload="metadata" style="background: transparent url('https://s3-eu-central-1.amazonaws.com/proit.prod/2024/02/media-thumbnail-ember839.jpg') 50% 50% / cover no-repeat;" /></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#215;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div></figure><p>Втім, щоб зловити радіосигнал, злочинці використовують код-граббер. Це спеціальний пристрій для перехоплення сигналу, що передається під час встановлення або зняття системи з-під охорони. Але зламати пристрій Ajax у такий спосіб неможливо через шифрування сигналу та пропрієтарний <a href="https://ajax.systems/ua/radio-range/">протокол зв’язку</a>.</p><p><strong>Технології захисту:</strong></p><ul><li>блокове шифрування із плаваючим ключем;</li><li>принцип TDMA.</li></ul><h3 id="%D0%BA%D1%80%D0%BE%D0%BA-2-%D1%84%D1%96%D0%B7%D0%B8%D1%87%D0%BD%D0%B8%D0%B9-%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF">Крок 2: Фізичний доступ</h3><p>Щоб атакувати систему безпеки, злочинці завжди шукають фізичний доступ до пристрою. Отримання доступу для злочинців має бути швидким і тихим, навіть якщо для цього доведеться просвердлити півметрову стіну.</p><p>Як правило, клавіатури встановлюють на вході у приміщення. Зазвичай це несучі стіни з цегли, бетону або залізобетону товщиною 25 см і більше (залежно від будівельних норм і правил). Іноді товщина може доходити до 50 см, і просвердлити таку стіну безшумно за кілька секунд неможливо.</p><figure class="kg-card kg-image-card"><img src="https://ajax.systems/wp-content/uploads/2024/01/keypad-movies-1-lifestyle.png" class="kg-image" alt="ajax keypad movies" loading="lazy" width="1200" height="674"></figure><p>Окрім привернення уваги сусідів, існує ризик пошкодити дрилем пристрій. <a href="https://ajax.systems/ua/blog/fibra-technology-wired-revolution/">Лінія Fibra</a> дротової клавіатури проходить через кабель-канал у кріпильній панелі SmartBracket.</p><p>Ці канали мають вигнуту конструкцію, а кабель фіксується стяжками. Тому, якщо злочинці просвердлять SmartBracket, вони, швидше за все, переріжуть усі дроти.</p><figure class="kg-card kg-image-card"><img src="https://ajax.systems/wp-content/uploads/2024/01/keypad-movies-2-smartbracket.png" class="kg-image" alt="ajax keypad movies" loading="lazy" width="1200" height="561"></figure><p>Крім пошкодження пристрою, користувачі та пульт охорони (ПЦС) будуть сповіщені про спробу вторгнення.</p><p>У разі пошкодження кабелю вони отримають повідомлення про коротке замикання та розрив кільцевого під’єднання (якщо використовується <a href="https://ajax.systems/ua/blog/advanced-security-ring-topology/">топологія «кільце»</a>). У разі обриву кабелю або пошкодження клавіатури також буде надіслано повідомлення про втрату зв’язку із хабом.</p><figure class="kg-card kg-image-card"><img src="https://ajax.systems/wp-content/uploads/2024/01/3-push-UA.png" class="kg-image" alt loading="lazy" width="1200" height="674"></figure><p>Навіть якщо злочинець спробує пошкодити систему безпеки за допомогою електричного саботажу (наприклад, електрошокера), <a href="https://ajax.systems/ua/products/lineprotect-fibra/">LineProtect Fibra</a> поглине удар. Усі пристрої між LineProtect і хабом продовжать працювати.</p><blockquote><em>«</em>L<em>ineProtect Fibra – модуль для захисту хабів і дротових пристроїв Ajax від саботажу, коли злочинець влаштовує коротке замикання, подає напругу 110/230 В~ чи використовує удари електрошокером. Модуль контролює вхідну та вихідну напругу на лінії Fibra. Якщо LineProtect виявляє аномальну напругу на лінії, він активує запобіжники й відключає живлення пристроїв, встановлених між LineProtect і хабом»</em>, – йдеться у повідомленні.</blockquote><p>Бездротові клавіатури взагалі не мають дротів. Щобільше, всередині корпусів бездротових і навіть дротових клавіатур Ajax немає дротів. </p><p>Отже, під’єднатися до будь-якого дроту всередині корпусу пристрою абсолютно неможливо. Єдиний доступний дріт – ізольований і прихований кабель Fibra.</p><figure class="kg-card kg-image-card"><img src="https://ajax.systems/wp-content/uploads/2024/01/4-inside.png" class="kg-image" alt loading="lazy" width="1200" height="674"></figure><p>Деякі злочинці відривають клавіатуру від стіни та ламають її, що призводить до збою в системі безпеки. Однак клавіатура – це лише частина системи, а не її «мозок». Тому пошкодження клавіатури не має особливого сенсу з точки зору загрози безпеці системи в цілому.</p><p>Крім того, клавіатури Ajax мають <a href="https://support.ajax.systems/uk/faqs/what-is-a-tamper/">тампер</a>, який сповіщає користувачів і ПЦС у разі розкриття корпусу пристрою, зняття пристрою із кріпильної панелі або відриву його від поверхні.</p><p><strong>Технології захисту:</strong></p><ul><li>миттєві сповіщення;</li><li>виявлення втрати зв’язку;</li><li>тривога тампера;</li><li>LineProtect Fibra;</li><li>підʼєднання кільцем.</li></ul><h3 id="%D0%BA%D1%80%D0%BE%D0%BA-3-%D0%B7%D0%BB%D0%B0%D0%BC">Крок 3: Злам</h3><p>Припустимо, що злочинець під’єднався до клавіатури та залишився непоміченим системою. Оскільки це можливо тільки з Fibra, розгляньмо цей випадок. </p><p>Підключення до одного дроту, як це показують у фільмах чи серіалах, не має сенсу, оскільки лінія Fibra має чотири дроти: два сигнальні та два силові.</p><p>Для захисту даних Fibra використовує шифрування із плаваючим ключем. Злам і доступ до даних вимагають можливостей суперкомп’ютера й тижнів, а то й років витраченого часу. Інакше кажучи, це марна справа.</p><p>Однак навіть зашифровані дані спочатку потрібно отримати. Кожен сеанс зв’язку між хабом і пристроєм починається з автентифікації: порівнюються унікальні маркери та властивості. Якщо хоча б один параметр не пройшов перевірку, хаб ігнорує команди пристрою. Тому немає сенсу фальсифікувати або перехоплювати дані.</p><p>Клавіатура не зберігає коди користувачів, що унеможливлює їхній підбір. Коли користувач вводить код, він надсилається на хаб у зашифрованому вигляді, і хаб його перевіряє. </p><p>Коди всередині хаба надійно зберігаються в хешованій формі, до того ж хаб Ajax використовує операційну систему реального часу OS Malevich, що забезпечує захист від вірусів і кібератак.</p><p>Також неможливо вгадати код за допомогою грубої атаки. Якщо впродовж хвилини тричі поспіль буде введено неправильний код або використано неперевірений пристрій доступу, клавіатура буде заблокована на час, зазначений у налаштуваннях. Упродовж цього часу хаб ігноруватиме всі коди та пристрої доступу, інформуючи користувачів системи безпеки та ПЦС про спробу несанкціонованого доступу.</p><figure class="kg-card kg-image-card"><img src="https://ajax.systems/wp-content/uploads/2024/01/5-password-UA.png" class="kg-image" alt loading="lazy" width="1200" height="674"></figure><p>Врешті-решт, неможливо зламати систему непоміченим. Будь-яке зняття системи з-під охорони фіксується, а користувачі та ПЦС отримують сповіщення. Ніхто не зможе видалити сповіщення зі стрічки подій хаба.</p><p>Крім того, якщо ПЦС відстежує час штатного встановлення і зняття системи з-під охорони, оператор зателефонує користувачеві, якщо система буде знята з-під охорони в незапланований час.</p><p><strong>Технології захисту:</strong></p><ul><li>зашифрований пропрієтарний протокол звʼязку;</li><li>захист від підміни;</li><li>автоблокування від несанкціонованого доступу.</li></ul><h2 id="%D0%B2%D0%B8%D1%81%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8">Висновки</h2><p>Зламати систему Ajax – це складне випробування. Дані захищені шифруванням, а клавіатура не зберігає коди. Хаб перевіряє кожну команду, фільтруючи спроби несанкціонованого доступу. Традиційні грубі атаки унеможливлюються завдяки функції автоблокування клавіатури.</p><p>Те, що відбувається в кіно, у серіалах чи рекламі, підпорядковується законам драматургії, часто відхиляючись від принципів фізики та математики. Тож намагайтеся скептично ставитися до всього, що ви бачите у кіно.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Netflix, Docker, Spotify, Dropbox та багато інших IT-гігантів вирішили стандартизувати мікросервіси із фреймворком gRPC. Цей інструмент Google презентували у 2015 році, й за цей час він став гарною альтернативою популярному до того REST API.

У цій статті Роман Махник та Ігор Кочат, .NET Developers у NIX, розкриють основні особливості gRPC ]]></description>
        <link>https://proit.ua/frieimvork-grpc-iak-iz-nim-pratsiuvati-ta-chim-vin-krashchii-za-rest-api/</link>
        <guid isPermaLink="false">65c9eb17ff7a05fa602a48bb</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  NIX Team ]]></dc:creator>
        <pubDate>ср, 14 лют 2024 14:00:49 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/02/6490492_3323882.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Netflix, Docker, Spotify, Dropbox та багато інших IT-гігантів вирішили стандартизувати мікросервіси із фреймворком gRPC. Цей інструмент Google презентували у 2015 році, й за цей час він став гарною альтернативою популярному до того REST API.</p><p>У цій статті Роман Махник та Ігор Кочат, .NET Developers у NIX, розкриють основні особливості gRPC і пояснять, як працювати з цією технологією на прикладі gRPC-сервісу, написаного на мові C#.</p><h2 id="%D1%87%D0%BE%D0%BC%D1%83-%D1%96%D1%82-%D0%BF%D1%80%D0%BE%D1%94%D0%BA%D1%82%D0%B8-%D0%B2%D1%96%D0%B4%D0%BC%D0%BE%D0%B2%D0%BB%D1%8F%D1%8E%D1%82%D1%8C%D1%81%D1%8F-%D0%B2%D1%96%D0%B4-%D0%BC%D0%BE%D0%BD%D0%BE%D0%BB%D1%96%D1%82%D0%BD%D0%BE%D1%97-%D0%B0%D1%80%D1%85%D1%96%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B8">Чому ІТ-проєкти відмовляються від монолітної архітектури</h2><p>Подібно до інших фреймворків для API gRPC має забезпечувати швидку, стабільну та безпечну взаємодію між різними сервісами. У цьому контексті йдеться про систему з невеликих вебзастосунків, кожен із яких виконує свою унікальну функцію великого застосунку.</p><p>Візьмемо як приклад інтернет-магазин ігор, що складається з трьох сервісів: один надає ігри, другий показує досягнення гравця, а третій формує знижки. Кожна дія у такому магазині потребує звернення до певного сервісу. Тож цілком логічним виглядає ідея об’єднання всіх в одну систему з єдиною базою даних. Це і є мікросервісний підхід при проєктуванні застосунків.</p><h3 id="%D1%89%D0%BE%D0%B4%D0%BE-%D0%B2%D1%96%D0%B4%D0%BC%D0%BE%D0%B2%D0%B8-%D0%B2%D1%96%D0%B4-%D1%82%D1%80%D0%B0%D0%B4%D0%B8%D1%86%D1%96%D0%B9%D0%BD%D0%B8%D1%85-%D0%BC%D0%BE%D0%BD%D0%BE%D0%BB%D1%96%D1%82%D1%96%D0%B2-%D1%94-%D0%BA%D1%96%D0%BB%D1%8C%D0%BA%D0%B0-%D0%BF%D1%80%D0%B8%D1%87%D0%B8%D0%BD">Щодо відмови від традиційних монолітів є кілька причин:</h3><ul><li><strong>Масштабованість.</strong> Монолітні програми важко розширювати. Дані знаходяться на одному сервері, його модернізація недешева. Розміщення ж модуля або застосунку в цілому на іншому пристрої можливе лише при розділенні моноліту. А при використанні мікросервісної архітектури багато невеликих сервісів може бути розміщено на одній машині. При цьому ті, які мають велике навантаження, можна винести на окремі пристрої, зокрема й на хмарних платформах типу AWS Lambda та Azure Function. Там мікросервіси можна масштабувати автоматично, за необхідності, а оплата за ресурси буде залежати від фактичного часу роботи. Це вигідно і зручно. А для моноліта навіть у хмарі потрібна окрема, мінімум одна віртуальна машина із фіксованою абонплатою.<br></li><li><strong>Оновлення та додавання функціоналу.</strong> Монолітні програми ускладнюють процес впровадження нових фіч. Адже при модифікації навіть малозначного елемента треба зупиняти весь застосунок. А в мікросервісній архітектурі тільки змінна частина перезапускається, тоді як решта системи функціонує без переривань.<br></li><li><strong>Процес тестування.</strong> Всі компоненти монолітного застосунку зосереджені разом, через що потрібно запускати всю програму для проведення тестів. З мікросервісами можна окремо тестувати кожен компонент, не торкаючись інших частин системи.</li></ul><p>При переході до мікросервісів одним із ключових моментів є розподіл відповідальності. Адже різні маленькі сервіси не мають дублювати функції. Тому критично важливо налагодити ефективне спілкування між ними.</p><h3 id="%D0%B9%D0%BE%D0%B3%D0%BE-%D0%BC%D0%BE%D0%B6%D0%BD%D0%B0-%D0%B1%D1%83%D0%B4%D1%83%D0%B2%D0%B0%D1%82%D0%B8-%D0%B7%D0%B0-%D0%B4%D0%B2%D0%BE%D0%BC%D0%B0-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B0%D0%BC%D0%B8">Його можна будувати за двома методами:</h3><ul><li><strong>Синхронна комунікація.</strong> В цьому випадку один сервіс чекає на відповідь від іншого.<br></li><li><strong>Асинхронна комунікація.</strong> Один сервіс відправляє повідомлення в чергу, другий забирає його, коли готовий, і повертає відповідь.</li></ul><p>У кожного методу є переваги та недоліки, які залежать від конкретної ситуації. Тож у статті ми зосередимося лише на синхронній комунікації. Для її реалізації найчастіше використовують REST та gRPC.</p><h2 id="rest-%D1%82%D0%B0-grpc-%D1%87%D0%B8%D0%BC-%D0%B2%D1%96%D0%B4%D1%80%D1%96%D0%B7%D0%BD%D1%8F%D1%8E%D1%82%D1%8C%D1%81%D1%8F">REST та gRPC: чим відрізняються</h2><p>Для розуміння ключових відмінностей треба розібратися, як влаштовані обидва фреймворки. </p><h3 id="%D1%83-rest-%D1%96%D0%B7-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%B0%D0%BD%D0%BD%D1%8F%D0%BC-%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D0%BE%D1%97-crud-%D0%BB%D0%BE%D0%B3%D1%96%D0%BA%D0%B8-%D0%B7%D0%B0%D0%B7%D0%B2%D0%B8%D1%87%D0%B0%D0%B9-%D0%B7%D0%B0%D1%81%D1%82%D0%BE%D1%81%D0%BE%D0%B2%D1%83%D1%8E%D1%82%D1%8C%D1%81%D1%8F-%D1%82%D0%B0%D0%BA%D1%96-%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%96-%D1%82%D0%B8%D0%BF%D0%B8-http-%D0%B7%D0%B0%D0%BF%D0%B8%D1%82%D1%96%D0%B2">У REST із використанням стандартної CRUD-логіки зазвичай застосовуються такі основні типи HTTP-запитів:</h3><ul><li><strong>GET</strong> для читання.</li><li><strong>POST</strong> для додавання.</li><li><strong>PUT та PATCH</strong> для модифікації.</li><li><strong>DELETE</strong> для видалення.</li></ul><p>За схемою REST клієнт та сервер пов’язані через мережу. Коли клієнт надсилає HTTP-запит, сервер обробляє його і повертає HTTP-відповідь. І поки сервер обробляє запит, клієнт створює окремий потік та очікує.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/omSX8omESKxFNyKNEfPR7sObqnZMQZGdi-VB6yoQgu2lN4pAlH45equ2-domwaLuYEU2AO3VEKDuBl1xyRskkxzrMIn24VXhkMLHa3NBH52qmT8oF-hMdidFmOychZau_a-liSdgvIQKEK_BeP6pEnU" class="kg-image" alt loading="lazy" width="602" height="339"></figure><p>Але HTTP-запити можна замінити на виклики віддалених процедур, тобто RPC. Схема взаємодії залишиться схожою, проте надсилання й отримання запитів і відповідей будуть трохи іншими.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/22-wwYjm7CipvjRtUWSNXtVaLsMUx6tj1jMJLY8XeULdvNvs8ubGtz667-CmfvdF0HraJEMAh-ix6WROP6iIZNQ5QzcyOYYxQ4RyaNbNIT_ylJ95dN7s4Oct2dJw-IbNQFJpV3XcNug_MMmuh4hjtUM" class="kg-image" alt loading="lazy" width="602" height="339"></figure><p>RPC є методом виклику віддалених функцій або процедур, який дозволяє одній програмі викликати метод, функцію чи процедуру в іншій програмі у мережі. З цим методом клієнт та сервер спілкуються через спеціальні проксі-об’єкти, відомі як заглушки (stub).</p><p>Тобто створюється враження, що клієнт викликає процедури (методи) так, ніби вони реалізовані прямо в нього. Ці заглушки перенаправляють дані за відповідною адресою. Це спрощує програмування, адже не треба нічого робити в самому коді, описувати HTTP-заголовки, методи тощо.</p><p>Заглушки створюються автоматично, і розробнику залишається викликати потрібні функції або процедури.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/QtQ50-ufx_co9VOvD6DJ2uiO_pItq1iHCQ8Fs4LxZHnzOTepez2xb4J0fgbVYDmcrK_IvkSamixPjwNiMT5lOUlg1J9KDplimYyTfjjggVYDgojGoogzCOb1ns14JewoYcUU01wZZJ5Rl7O1kNKtgCc" class="kg-image" alt loading="lazy" width="602" height="339"></figure><p>Одне з найкращих застосувань цієї концепції представлено у вигляді gRPC. gRPC – це система, що реалізує традиційний RPC із кількома оптимізаціями.</p><h3 id="%D0%BD%D0%B0-%D1%84%D0%BE%D0%BD%D1%96-%D1%96%D0%BD%D1%88%D0%B8%D1%85-rpc-%D1%80%D0%B5%D0%B0%D0%BB%D1%96%D0%B7%D0%B0%D1%86%D1%96%D0%B9-%D1%83-%D1%86%D1%8C%D0%BE%D0%B3%D0%BE-%D1%84%D1%80%D0%B5%D0%B9%D0%BC%D0%B2%D0%BE%D1%80%D0%BA%D1%83-%D1%94-%D0%BD%D0%B8%D0%B7%D0%BA%D0%B0-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3">На фоні інших RPC-реалізацій у цього фреймворку є низка переваг:</h3><ul><li><strong>Просте визначення сервісів.</strong> Це можливо завдяки .proto-файлам.<br></li><li><strong>HTTP/2.</strong> Це надає підтримку двосторонньої потокової передачі даних. Попри те, що HTTP/2 вже був доступний від ASP.NET Core 3 (<a href="https://github.com/dotnet/AspNetCore.Docs/blob/main/aspnetcore/fundamentals/servers/kestrel/http2.md">документація</a>, <a href="https://blog.ladeak.net/posts/aspnetcore-https">приклад</a>), gRPC створений спеціально для того, щоб ефективно використовувати цей протокол.<br></li><li><strong>Трасування.</strong> Ідеальний інструмент для діагностики та покращення сервісів, який надає можливість відстежувати виклики процедур.<br></li><li><strong>Механізм Health check.</strong> Він потрібен для швидкої перевірки стану сервісу та його готовності обробляти запити. Це полегшує балансування навантаження.<br></li><li><strong>Балансування навантаження.</strong> Воно забезпечує рівномірне розподілення завдань між серверами, що спрощує масштабування. Цей процес може здійснюватися як на рівні клієнта, так і через проксі з використанням сервіс-меша.<br></li><li><strong>Інтеграції системи автентифікації.</strong> У ранніх версіях протоколу така можливість була відсутня, через що RPC загалом використовували лише для внутрішніх комунікацій.</li></ul><h3 id="%D0%BF%D0%BE%D1%80%D1%96%D0%B2%D0%BD%D1%8F%D0%BD%D0%BE-%D0%B7-%D1%82%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D1%94%D1%8E-rest-grpc-%D1%82%D0%B0%D0%BA%D0%BE%D0%B6-%D0%B4%D0%B5%D0%BC%D0%BE%D0%BD%D1%81%D1%82%D1%80%D1%83%D1%94-%D0%BD%D0%B8%D0%B7%D0%BA%D1%83-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3">Порівняно з технологією REST gRPC також демонструє низку переваг:</h3><ul><li><strong>Застосування Protobuf.</strong> На відміну від текстового JSON або XML, що використовується в REST і не піддається стисненню, Protobuf є бінарним форматом. Сервер визначає структуру даних, використовуючи мову опису інтерфейсу протокольного буфера (IDL) у файлі специфікації прототипу. Потім gRPC серіалізує структуру в бінарний формат, а потім десеріалізує її на будь-яку вказану мову програмування. Цей механізм робить це швидше, ніж під час використання JSON, який не стискається під час передачі. Хоча gRPC пропонує вбудовану підтримку JSON.<br></li><li><strong>Обробка HTTP-запитів.</strong> Для цього не потрібен постійний аналіз можливих статус-кодів і змісту даних, як це відбувається у REST. Виклик процедур максимально спрощений.<br></li><li><strong>Зручний опис контрактів.</strong> REST вимагає для опису інтерфейсів та документації таких додаткових інструментів, як OpenAPI або Swagger. А контракти в gRPC визначаються безпосередньо через .proto-файли.<br></li><li><strong>Двонапрямний потоковий зв’язок. </strong>Клієнт і сервер можуть надсилати й отримувати кілька запитів та відповідей одночасно по одному з’єднанню. REST не пропонує цієї функції. Використовуючи REST API, клієнт надсилає серверу один запит REST API, а потім сервер відправляє одну відповідь. Клієнт повинен дочекатися її, перш ніж продовжити роботу. Цей механізм є моделлю запиту-відповіді і є унарним з’єднанням даних (один-до-одного). За допомогою gRPC клієнт може надіслати один або кілька запитів API на сервер, що може призвести до однієї або кількох відповідей від сервера. З’єднання даних можуть бути унарними (один-до-одного), потоковими серверами (один-до-багатьох), потоковими даними клієнта (багато-до-одного) або двонанапрямними потоками (багато-до-багатьох). Цей механізм можливий, оскільки gRPC заснований на HTTP/2.<br></li><li><strong>HTTP/2.</strong> REST часто вдається до старшого HTTP/1.1.</li></ul><p>Про останній пункт треба сказати окремо.</p><h3 id="%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3%D0%B8-http2-%D0%B2%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D1%8E%D1%82%D1%8C">Переваги HTTP/2 включають:</h3><ul><li>Бінарний формат даних, що забезпечує зменшення обсягу переданої інформації та покращує продуктивність.</li><li>Оптимізація трафіку завдяки більш ефективному стисканню HTTP-даних, насамперед заголовків.</li><li>Підтримка передачі даних у потоках.</li><li>Мультиплексування, завдяки якому в HTTP/2 достатньо одного з’єднання для передачі кількох файлів. А в HTTP 1.1 для, наприклад, трьох файлів потрібно й три з’єднання.</li><li>Пріоритезація потоків при передачі.</li></ul><h2 id="%D0%BD%D0%B0%D0%BB%D0%B0%D1%88%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%B7%E2%80%99%D1%94%D0%B4%D0%BD%D0%B0%D0%BD%D0%BD%D1%8F-grpc">Налаштування з’єднання gRPC</h2><h3 id="%D0%B4%D0%BB%D1%8F-%D1%81%D1%82%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F-grpc-%D0%BA%D0%B0%D0%BD%D0%B0%D0%BB%D1%83-%D0%BF%D0%BE%D1%82%D1%80%D1%96%D0%B1%D0%BD%D0%BE-%D0%B2%D0%B8%D0%BA%D0%BE%D0%BD%D0%B0%D1%82%D0%B8-%D1%82%D0%B0%D0%BA%D1%96-%D0%BA%D1%80%D0%BE%D0%BA%D0%B8">Для створення gRPC-каналу потрібно виконати такі кроки:</h3><ol><li>Відкрити сокети.</li><li>Ініціювати з’єднання TCP між клієнтом та сервером.</li><li>Узгодити TLS.</li><li>Встановити HTTP/2-з’єднання.</li><li>Запустити виклик gRPC-процедури.</li></ol><p>Можна використовувати й механізм Persistent Connection. У такому випадку достатньо встановити одне з’єднання й уникнути відразу чотирьох перших етапів. </p><p>Але з таким механізмом виникають складнощі у налаштуванні балансування навантаження. Наприклад, якщо вам потрібно кілька екземплярів сервісу, їх треба якось розподіляти.</p><h3 id="%D0%B4%D0%BB%D1%8F-%D1%86%D1%8C%D0%BE%D0%B3%D0%BE-%D1%96%D1%81%D0%BD%D1%83%D1%94-%D0%B4%D0%B2%D0%B0-%D1%80%D1%96%D1%88%D0%B5%D0%BD%D0%BD%D1%8F">Для цього існує два рішення:</h3><ul><li><strong>Балансування на рівні клієнта.</strong> Для цього клієнтська бібліотека працює з кількома інстансами та надсилає запити у певному відсотковому співвідношенні.<br></li><li><strong>Балансування за допомогою проксі.</strong> Якщо для хостингу серверів використовується оркестратор на кшталт Kubernetes, то він може відповідно до ситуації прибирати або додавати інстанси. З цим допоможе балансування через проксі Service Mesh: Linkerd, Istio, Consul тощо. Клієнт встановлює стабільне з’єднання з Mesh, а той відстежує появу чи зникнення екземплярів сервісу та вирішує, як розподіляти з’єднання. Тож коннект буде лише з актуальними сервісами, хоча клієнту це не важливо, оскільки він працює з одним з’єднанням.</li></ul><p>Хтось може порівняти gRPC із фреймворком WCF. Проте перший є спеціалізованим інструментом для фактично однієї задачі, а другий – це універсальне рішення з підтримкою як RPC, так і REST чи SOAP.</p><p>Однак у WCF є вада: залежність від платформи .NET. А gRPC працюватиме з будь-яким середовищем, плюс писати його можна будь-якою мовою з тих, що підтримуються.</p><p>Щоправда, gRPC не може повноцінно інтегруватися у браузери через відсутність реалізації HTTP/2-комунікації. Це пов’язано з відсутністю контролю каналу, який можливий у .NET-застосунку. Для цього в самому Google пропонують використовувати gRPC-проксі. У такому випадку браузер відправлятиме стандартні запити HTTP 1.1 на проксі, а вже він конвертуватиме повідомлення на gRPC-коли.</p><h2 id="%D1%81%D1%82%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F-grpc-%D0%B7%D0%B0%D1%81%D1%82%D0%BE%D1%81%D1%83%D0%BD%D0%BA%D1%83">Створення gRPC-застосунку</h2><p>Для демонстрації принципів створення застосунків для gRPC ми розберемо простий сервіс, який зберігає визначення слів. Ми зможемо додавати слова та визначення у словник, а потім так само отримувати визначення слів.</p><p>Першим кроком треба відкрити Visual Studio, де вже є готові шаблони для розробки таких сервісів. Для цього необхідно вибрати опцію «Створити новий проєкт» та ввести «gRPC», після чого система запропонує відповідний темплейт.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/ae6vbm-oUcEzbDHQuulUB3Q86jOnBMZi-9Y9-UJ1wYaQw6MrdLUM51GJBVXLs7kjLxmGfnEryv6kzUEXUq8V42i_BcACCo5d1mRHdQ4IPpQooccSJltLdL7R_hItuYkEMvG8CADmL5RsEjerP9iACdg" class="kg-image" alt loading="lazy" width="602" height="397"></figure><p>У проєкті міститься .proto-файл, який визначає сервіс та інтерфейс. Сам сервіс має процедуру SayHello. Вона приймає об’єкт Hello, який описаний далі, і відправляє назад реплай, який описаний у цьому ж файлі.</p><p>Ексклюзивною особливістю для .NET є опція csharp_namespace, яка вказує місце створення класів для цього застосунку.</p><pre><code class="language-javasript">syntax = "proto3";
</code></pre><pre><code class="language-javascript">option csharp_namespace = "GrpcExample";
</code></pre><pre><code class="language-javascript">package greet;</code></pre><pre><code class="language-javascript">// The greeting service definition.
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply);
}</code></pre><pre><code class="language-javascript">// The request message containing the user's name.
message HelloRequest {
string name = 1;
}</code></pre><pre><code class="language-javascript">// The response message containing the greetings.
message HelloReply {
string message = 1;
}</code></pre><p>Кожна властивість у повідомленнях, що надсилаються та одержуються, має свій порядковий номер. Це дозволяє визначати послідовність передачі даних (з огляду на бінарний формат) та сумісність із попередніми версіями.</p><p>Якщо на серверній стороні оновлюється .proto-файл, змінюючи властивості, то клієнт із не оновленим файлом пропустить нові властивості й читатиме старі як порожні.</p><p>Тепер нам потрібно замінити цей код згідно з нашою логікою:</p><pre><code class="language-javascript">syntax = "proto3";</code></pre><pre><code class="language-javascript">option csharp_namespace = "GrpcExample";</code></pre><pre><code class="language-javascript">package definition;</code></pre><pre><code class="language-javascript">service Definition {
rpc AddDefinition (AddDefinitionRequest) returns (AddDefinitionResponse);
rpc GetDefinition (GetDefinitionRequest) returns (GetDefinitionResponse);
}</code></pre><pre><code class="language-javascript">message AddDefinitionRequest {
  string word = 1;
  string definition = 2;
}
</code></pre><pre><code class="language-javascript">message AddDefinitionResponse {
  string message = 1;
  int32 dictionarySize = 2;
}
</code></pre><pre><code class="language-javascript">message GetDefinitionRequest {
  string word = 1;
}
</code></pre><p>Також змінимо наш сервіс:</p><pre><code class="language-javascript">using Grpc.Core;
using GrpcExample.Interfaces;
using GrpcExample.Repositories.Interfaces;</code></pre><pre><code class="language-javascript">namespace GrpcExample.Services
{
    public class DefinitionService : Definition.DefinitionBase, IDefinitionService
    {
        private readonly ILogger&lt;DefinitionService&gt; _logger;
        private readonly IDefinitionRepository _definitionRepository;</code></pre><pre><code class="language-javascript">        public DefinitionService(ILogger&lt;DefinitionService&gt; logger, IDefinitionRepository definitionRepository)
        {
            _logger = logger;
            _definitionRepository = definitionRepository;
        }
</code></pre><pre><code class="language-javascript">        public async override Task&lt;AddDefinitionResponse&gt; AddDefinition(AddDefinitionRequest request, ServerCallContext context)
        {
            var key = request.Word.Trim();</code></pre><pre><code class="language-javacsript">            await _definitionRepository.Create(key, request.Definition);
        	return new AddDefinitionResponse
        	{
            	Message = "Definition added successfully.",
            	DictionarySize = await _definitionRepository.Count()
        	};
        }
</code></pre><pre><code class="language-javascript">        public async override Task&lt;GetDefinitionResponse&gt; GetDefinition(GetDefinitionRequest request, ServerCallContext context)
        {
            var key = request.Word.Trim();</code></pre><pre><code class="language-javascript">            var data = await _definitionRepository.Get(key);
            if (data == null)
            {
                return new GetDefinitionResponse
                {
                    Definition = string.Empty,
                    Found = false 
                };
            }
</code></pre><pre><code class="language-javascript">            return new GetDefinitionResponse
	{
                Definition = data, 
                Found = true 
            };
        }
    }
}
</code></pre><p>Для прикладу додамо простий in-memory репозиторій:</p><pre><code class="language-javascript">using GrpcExample.Repositories.Interfaces;
using System.Collections.Concurrent;</code></pre><pre><code class="language-javascript">namespace GrpcExample.Repository
{
    public class DefinitionRepository : IDefinitionRepository
    {
        private readonly ConcurrentDictionary&lt;string, string&gt; definitions = new();

        public async Task Create(string name, string definition)
        {
            definitions.AddOrUpdate(name, x =&gt; definition, (x, y) =&gt; definition);
        }
</code></pre><pre><code class="language-javascript">        public async Task&lt;string?&gt; Get(string name)
        {
            if (definitions.TryGetValue(name, out var definition))
            {
                return definition;
            }
</code></pre><pre><code class="language-javascript">            return null;
        }
</code></pre><pre><code class="language-javascript">        public async Task&lt;int&gt; Count()
        {
            return definitions.Count;
        }
    }
}
</code></pre><p>Ось такий вигляд має мати наш клас Program:</p><pre><code class="language-javascript">using GrpcExample.Interfaces;
using GrpcExample.Repositories.Interfaces;
using GrpcExample.Repository;
using GrpcExample.Services;
</code></pre><pre><code class="language-javascript">var builder = WebApplication.CreateBuilder(args);</code></pre><pre><code class="language-javascript">// Add services to the container.
builder.Services.AddGrpc(); 	// тут ми реєструємо gRPC сервіс</code></pre><pre><code class="language-javascript">builder.Services.AddSingleton&lt;IDefinitionRepository, DefinitionRepository&gt;();
builder.Services.AddSingleton&lt;IDefinitionService, DefinitionService&gt;();
</code></pre><pre><code class="language-javascript">var app = builder.Build();</code></pre><pre><code class="language-javascript">// Configure the HTTP request pipeline.
app.MapGrpcService&lt;DefinitionService&gt;();
app.MapGet("/", () =&gt; "Communication with gRPC endpoints must be made through a gRPC client. To learn how to create a client, visit: https://go.microsoft.com/fwlink/?linkid=2086909");
</code></pre><pre><code class="language-javascript">app.Run();</code></pre><p>А тепер створимо клієнт для нашого gRPC-сервісу. Клієнтом буде виступати вебзастосунок з оригінальним іменем WebApi, який буде приймати HTTP-запити та звертається до gRPC-сервісу для виконання процедур.</p><p>Єдина відмінність у .proto-файлі – це namespace для генерації клієнтського коду. Але можна було б використовувати і спільний файл. Головне: домовитись у команді, де саме його зберігати і як зручніше додавати до проєкту.</p><pre><code class="language-javascript">syntax = "proto3";</code></pre><pre><code class="language-javascript">option csharp_namespace = "WebApi";</code></pre><pre><code class="language-javascript">package definition;
</code></pre><pre><code class="language-javascript">service Definition {
  rpc AddDefinition (AddDefinitionRequest) returns (AddDefinitionResponse);
  rpc GetDefinition (GetDefinitionRequest) returns (GetDefinitionResponse);
}
</code></pre><pre><code class="language-javascript">message AddDefinitionRequest {
  string word = 1;
  string definition = 2;
}
</code></pre><pre><code class="language-javascript">message AddDefinitionResponse {
  string message = 1;
  int32 dictionarySize = 2;
}
</code></pre><pre><code class="language-javascript">message GetDefinitionRequest {
  string word = 1;
}
</code></pre><pre><code class="language-javascript">message GetDefinitionResponse {
  string definition = 1;
  bool found = 2;
}
</code></pre><p>Файли Protobuf у проєкті реєструються окремо, не як стандартні файли. Для цього вказується використання певного Protobuf і роль сервісу в контакті (у такому випадку роль буде клієнтською).</p><p>Залишається тільки вказати в серверному проєкті використання такого ж .proto-файл вже із роллю сервера. Саме за допомогою такого синтаксису і є можливість винести .proto-файл в окрему від проєкту директорію.</p><h3 id="%D0%B4%D0%BB%D1%8F-%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%BE%D1%82%D0%B8-%D0%BF%D1%80%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4%D1%83-%D0%BF%D1%80%D0%BE%D0%B4%D0%BE%D0%B2%D0%B6%D0%B8%D0%BC%D0%BE-%D0%B7-%D0%BA%D0%BE%D0%BF%D1%96%D1%8F%D0%BC%D0%B8-%D1%86%D1%8C%D0%BE%D0%B3%D0%BE-%D1%84%D0%B0%D0%B9%D0%BB%D1%83-%D0%B4%D0%BB%D1%8F-%D0%BA%D0%BE%D0%B6%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B7%D0%B0%D1%81%D1%82%D0%BE%D1%81%D1%83%D0%BD%D0%BA%D1%83">Для простоти прикладу продовжимо з копіями цього файлу для кожного застосунку:</h3><pre><code class="language-javascript">&lt;Project Sdk="Microsoft.NET.Sdk.Web"&gt;</code></pre><pre><code class="language-javascript">  &lt;PropertyGroup&gt;
    &lt;TargetFramework&gt;net6.0&lt;/TargetFramework&gt; 
  &lt;/PropertyGroup&gt;
</code></pre><pre><code class="language-javascript">  &lt;ItemGroup&gt;
    &lt;Protobuf Include="Protos\Definition.proto" GrpcServices="Client" /&gt;
  &lt;/ItemGroup&gt;
</code></pre><pre><code class="language-javascript">  &lt;ItemGroup&gt;
    &lt;PackageReference Include="Grpc.AspNetCore" Version="2.40.0" /&gt;
    &lt;PackageReference Include="Grpc.Net.ClientFactory" Version="2.59.0" /&gt;
    &lt;PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" /&gt;
  &lt;/ItemGroup&gt;
</code></pre><pre><code class="language-javascript">&lt;/Project&gt;</code></pre><p>Для більш ефективного повторного використання з’єднання також слід ініціалізувати фабрику gRPC-клієнтів. Для цього треба застосувати AddGrpcClient та визначити конкретний сервіс, для якого потрібен клієнт. Після цього слід вказати адресу, на якій знаходиться сервіс.</p><pre><code class="language-javascript">
public void ConfigureServices(IServiceCollection services)
{
    services.AddGrpcClient&lt;Greeter.GreeterClient&gt;(o =&gt;
    {
        o.Address = new Uri("https://localhost:5001");
    });
</code></pre><pre><code class="language-javascript">    services.AddControllers();
    services.AddSwaggerGen(c =&gt;
    {
        c.SwaggerDoc("v1", new OpenApiInfo { Title = "WebApi", Version = "v1" });
    });
}
</code></pre><p>Застосування створеного gRPC-клієнта доволі просте. Його можна будь-коли інтегрувати у потрібний об’єкт за допомогою Dependency Injection.</p><p>У прикладі створено 2 ендпоінти під обидва gRPC-методи: AddDefinition, GetDefinition. Це функції контролера, які приймають HTTP-запити та перенаправляють їх на обробку до сервісу gRPC.</p><pre><code class="language-javascript">using Microsoft.AspNetCore.Mvc;
using WebApi;</code></pre><pre><code class="language-javascript">namespace WebApiClient.Controllers
{
    [ApiController]
    [Route("[controller]")]
    public class DefinitionController : ControllerBase
    {
        private readonly Definition.DefinitionClient _client;</code></pre><pre><code class="language-javascript">        public DefinitionController(Definition.DefinitionClient client)
        {
            _client = client;
        }
</code></pre><pre><code class="language-javascript">       [HttpPost]
        public async Task&lt;IActionResult&gt; AddDefinition([FromBody] AddDefinitionRequest request)
        {
            var result = await _client.AddDefinitionAsync(request);
            return Ok(new { Message = result.Message, DictionarySize = result.DictionarySize });
        }
</code></pre><pre><code class="language-javascript">        [HttpGet]
        public async Task&lt;IActionResult&gt; GetDefinition([FromQuery] GetDefinitionRequest request)
        {
            var result = await _client.GetDefinitionAsync(request);
            return Ok(new { Definition = result.Definition, Found = result.Found });
        }
    }
}
</code></pre><p>Наступним кроком треба активувати gRPC-сервіс, перевірити його працездатність і запустити клієнт.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/odq7zA6xSRtTby55YE_qA2tQas-4Q5v4VL6YHmFyWak1rBNcU0_s8qdAObykZXxMTAVkvGZlWxg8feDB089E8zNYTKdSt9DkaYlt21v3Hi4OKwWGN2g6TvzCfURV7aJO84kFebtiEsHjzZBvGxzgUws" class="kg-image" alt loading="lazy" width="602" height="259"></figure><p>Надсилання запиту можна трохи спростити за допомогою документації Swagger. Вказуємо необхідні параметри й дивимось на відповідь. Як бачимо, визначення для нашого слова додане, і наш словник тепер має 1 запис.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/_vOH7gBVgRSYnEyz0yIKGLfTlYp7OS09LaS0zJoRYEwkfxXOMeVut54OH7S7PTp7KLPjzwjc8wIhWyVWtGsN7Gz_TBZo5hQz5FlYGqhE4djaZwHEfF72QluvnrnWeMHeBNdneBkNEJxT3zdIBR1OL2w" class="kg-image" alt loading="lazy" width="602" height="214"></figure><p>У логах можемо переконатися, що запит був оброблений нашим gRPC-сервісом.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/8PqKOdmqPIHFpOZymz4r-ykCJXygBY6cA7ggOTFmbVRWM9mSlkQoCuKrRfZlSQPpaMNQwjnfnIFNfFOMtZW4nWkSFD03aRy8DHlhh3kcnbUh8qyqo_LBMoIGOtLFzm0KDxXOUfOXYJIVo-CHmqh9NPM" class="kg-image" alt loading="lazy" width="601" height="316"></figure><h2 id="%D1%81%D1%82%D0%B0%D1%82%D1%83%D1%81-%D0%BA%D0%BE%D0%B4%D0%B8-grpc">Статус-коди gRPC</h2><p>Корисно також пам’ятати, що gRPC має свою систему кодів статусу. gRPC-помилки позначаються кодами, які визначені у класі Grpc.Core.StatusCode.</p><h3 id="%D0%B2%D0%BE%D0%BD%D0%B8-%D0%B2%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D1%8E%D1%82%D1%8C-%D1%82%D0%B0%D0%BA%D1%96-%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%BD%D1%8F">Вони включають такі значення:</h3><p>OK (0): Успішне виконання запиту.</p><p>CANCELLED (1): Запит скасовано клієнтом.</p><p>UNKNOWN (2): Невідома помилка.</p><p>INVALID_ARGUMENT (3): Неправильні аргументи запиту.</p><p>DEADLINE_EXCEEDED (4): Час виконання запиту минув.</p><p>NOT_FOUND (5): Ресурс не знайдено.</p><p>ALREADY_EXISTS (6): Ресурс уже існує.</p><p>PERMISSION_DENIED (7): Недостатньо прав для виконання операції.</p><p>RESOURCE_EXHAUSTED (8): Вичерпано ресурси.</p><p>FAILED_PRECONDITION (9): Порушено передумову.</p><p>ABORTED (10): Операцію було перервано.</p><p>OUT_OF_RANGE (11): Значення знаходиться поза допустимим діапазоном.</p><p>UNIMPLEMENTED (12): Функціонал не реалізований.</p><p>INTERNAL (13): Внутрішня помилка сервера.</p><p>UNAVAILABLE (14): Сервер тимчасово недоступний.</p><p>DATA_LOSS (15): Втрата даних.</p><p>UNAUTHENTICATED (16): Відсутні облікові дані або недійсні.</p><p>Для їх використання достатньо «кинути» RpcException у коді gRPC-сервісу.</p><p>Наприклад, це може виглядати таким чином:</p><p>throw new RpcException(new Status(StatusCode.AlreadyExists, "The definition is already in the dictionary."));</p><p>Також є можливість створити «мапер» різних виключень (exceptions) по типу звичного для нас ExceptionHandlerMiddleware або ExceptionFilter за допомогою ExceptionInterceptor. Приклад такого коду можна знайти за <a href="https://anthonygiretti.com/2022/08/28/asp-net-core-6-handling-grpc-exception-correctly-server-side/">цим посиланням</a>.</p><h2 id="unit-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-grpc-%D1%81%D0%B5%D1%80%D0%B2%D1%96%D1%81%D1%96%D0%B2">Unit-тестування gRPC-сервісів</h2><p>Unit-тестування для gRPC-клієнту просте, тому що ми можемо просто підмінити імплементацію сервісу по інтерфейсу. При тестуванні самого ж gRPC-сервісу єдиним нюансом буде необхідність передачі ServerCallContext до методу, що буде тестуватися.</p><p>Якщо цей об’єкт ніяк не використовується реалізацією методу сервісу (як у нашому випадку), ми можемо просто підмінити його (як, наприклад, mockContext у коді нижче). В іншому випадку можна використати TestServerCallContext для створення такого об’єкта (приклад mockContext2 є у коді нижче).</p><p>TestServerCallContext зазвичай використовується в тестах, коли вам необхідно змоделювати конкретні умови або сценарії, які можуть виникнути у реальному виклику віддаленого методу gRPC.</p><pre><code class="language-javascript">using Grpc.Core;
using Grpc.Core.Testing;
using GrpcExample;
using GrpcExample.Interfaces;
using GrpcExample.Repositories.Interfaces;
using GrpcExample.Services;
using Microsoft.Extensions.Logging;
using NSubstitute;
using Xunit;</code></pre><pre><code class="language-javascript">namespace UnitTest
{
    public class DefinitionServiceTests
    {
        [Fact]
        public async Task AddDefinition_ReturnsSuccessMessage()
        {
            // Arrange
            var loggerMock = Substitute.For&lt;ILogger&lt;DefinitionService&gt;&gt;();
            var definitionRepositoryMock = Substitute.For&lt;IDefinitionRepository&gt;();
</code></pre><pre><code class="language-javascript">            var service = new DefinitionService(loggerMock, definitionRepositoryMock);
</code></pre><pre><code class="language-javascript">            var world = "TestWord";
            var definition = "TestDefinition";</code></pre><pre><code class="language-javascript">            var request = new GetDefinitionRequest { Word = world };
</code></pre><pre><code class="language-javascript">           var mockContext = Substitute.For&lt;ServerCallContext&gt;();
</code></pre><pre><code class="language-javascript">	var mockContext2 = TestServerCallContext.Create( 
       		method:nameof(IDefinitionService.GetDefinition)
                         , host: "localhost"
                         , deadline:DateTime.Now.AddMinutes(30)
                         , requestHeaders: new Metadata()
                         , cancellationToken:CancellationToken.None
                         , peer: "10.0.0.25:5001"
                         , authContext: null
                         , contextPropagationToken: null
                         , writeHeadersFunc: (metadata) =&gt; Task.CompletedTask
                         , writeOptionsGetter: () =&gt; new WriteOptions()
                         , writeOptionsSetter: (writeOptions) =&gt; { }
                         );
</code></pre><pre><code class="language-javascript">            definitionRepositoryMock.Get(world)
                .Returns(definition);
</code></pre><pre><code class="language-javascript">            // Act
            var result = await service.GetDefinition(request, mockContext);</code></pre><pre><code class="language-javascript">            // Assert
            definitionRepositoryMock.Received(1).Get(world);
            Assert.NotNull(result);
            Assert.Equal(definition, result.Definition);
            Assert.True(result.Found);
        }
    }
}
</code></pre><h2 id="%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D1%96%D1%80%D0%BA%D0%B0-%D0%B0%D0%B2%D1%82%D0%B5%D0%BD%D1%82%D0%B8%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%96-%D1%82%D0%BE%D0%BA%D0%B5%D0%BD%D0%B0-%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D1%96%D1%97">Перевірка автентичності токена авторизації</h2><p>Наступна потенційна проблема – необхідність автентифікації й авторизації для юзерів.</p><p>Для автентифікації gRPC-клієнта можна використовувати різні підходи, навіть звичні для всіх JWT-токени. Для цього можна вказати значення потрібного хедера через клас Metadata, значення якого будуть передаватися у вигляді HTTP-заголовків (хедерів).</p><p>Через те, що у нас є можливість налаштувати HttpClientHandler і для клієнта, і для сервера, ми можемо реалізувати автентифікацію зокрема і через клієнтські сертифікати.</p><h2 id="%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D1%96%D1%80%D0%BA%D0%B0-%D0%B0%D0%B2%D1%82%D0%B5%D0%BD%D1%82%D0%B8%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%96-%D1%81%D0%B5%D1%80%D1%82%D0%B8%D1%84%D1%96%D0%BA%D0%B0%D1%82%D1%96%D0%B2-%D0%BA%D0%BB%D1%96%D1%94%D0%BD%D1%82%D0%B0">Перевірка автентичності сертифікатів клієнта</h2><p>Клієнт може також надати сертифікат клієнта для автентифікації. Перевірка дійсності сертифіката відбувається на рівні TLS задовго до його потрапляння в ASP.NET Core.</p><p>Коли запит потрапляє в ASP.NET Core, пакет для роботи із сертифікатами клієнта дозволяє розглядати дані сертифікату через клас ClaimsPrincipal. Приклад цього механізму ви можете оцінити за <a href="https://learn.microsoft.com/en-us/aspnet/core/grpc/netstandard?view=aspnetcore-8.0#httphandler-configuration">посиланням</a>.</p><h2 id="%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D1%96%D1%8F-%D0%B7%D0%B0%D0%BF%D0%B8%D1%82%D1%96%D0%B2-grpc">Авторизація запитів gRPC</h2><p><br>Сервіси gRPC підтримують атрибут Authorize.</p><pre><code class="language-javascript">[Authorize]
public class DefinitionService : Definition.DefinitionBase
{
}
</code></pre><p>Можна використовувати аргументи конструктора і властивості атрибута Authorize, щоб обмежити доступ лише користувачами, які відповідають певним політикам авторизації.</p><p>Наприклад, за наявності політики авторизації з ім’ям MyAuthorizationPolicy використовуйте наступний код. Завдяки цьому доступ до служби зможуть отримати тільки ті користувачі, які відповідають цій політиці.<br><br>До окремих методів служби також можна застосовувати атрибут Authorize із додатковими вимогами.</p><pre><code class="language-javascript">[Authorize]
public class DefinitionService : Definition.DefinitionBase
{
    [Authorize("Administrators")]
    public async override Task&lt;AddDefinitionResponse&gt; AddDefinition(AddDefinitionRequest request, ServerCallContext context)
    {
                // ...something only Administrators can do
    }
}
</code></pre><p>Працювати із gRPC досить просто. Саме тому багато проєктів використовують цей фреймворк. Однак спільнота його фанатів досі поступається за розміром ком’юніті REST API. І це не дивно, адже для відповіді кінцевим користувачам нам все ще набагато зручніше використовувати REST-підхід, аніж налаштовувати проксі, як це описано вище.</p><p>Враховуючи зростання популярності gRPC, ком’юніті буде активно розширюватися, і ця технологія має всі шанси надалі стати корисною у багатьох випадках.</p><p>Хоча розглянутий приклад був простим, у складних системах gRPC може значно підвищити продуктивність спілкування між сервісами.</p><p>До того ж ми можемо обирати підхід, при якому використовуємо одну технологію для комунікації між сервісами, а іншу – для комунікації з кінцевим користувачем. Навіть якщо при цьому треба буде дублювати деякі ендпоінти, така гібридна схема може бути ефективнішою реалізацією.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Початок цього десятиліття супроводжувався масштабним злетом галузі EdTech. Цифрова освіта набрала обертів з 2020 року через пандемію й відтоді продовжує свій розвиток.

Ринок у всьому світі розвивається. Особливо інвестиції зростали з 2017 по 2021 рік. Так, у 2017 році обсяг інвестицій по всьому світі становив $4,4 мільярда, а у ]]></description>
        <link>https://proit.ua/edtech-pierspiektivi-ghaluzi-ta-vikliki-u-chas-viini/</link>
        <guid isPermaLink="false">65c2c1201f4f4efa662c28a4</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Олександр Ковальчук ]]></dc:creator>
        <pubDate>пт, 09 лют 2024 14:00:29 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/02/soldier-using-virtual-tablet-hologram-army-technology.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Початок цього десятиліття супроводжувався масштабним злетом галузі EdTech. Цифрова освіта набрала обертів з 2020 року через пандемію й відтоді продовжує свій розвиток. </p><p>Ринок у всьому світі розвивається. Особливо інвестиції зростали з 2017 по 2021 рік. Так, <a href="https://www.holoniq.com/notes/2023-global-education-outlook">у 2017 році обсяг інвестицій по всьому світі становив $4,4 мільярда, а у 2021 він зріс до $20,8 мільярда</a>.</p><p>Втім, обсяг впав на 49% у 2022 році. Це було зумовлено політикою обмеження приватних освітніх компаній у Китаї, де інвестиції в EdTech до 2021 року були найбільшими у світі. Проте у всьому світі ринок продовжує розвиток.</p><p>В Україні EdTech теж активно розвивається, незважаючи на перешкоди. <a href="https://ms.detector.media/internet/post/33696/2023-12-08-60-ukraintsiv-mayut-bazovi-tsyfrovi-navychky-mintsyfra/">Ще у 2019 році частка українців із цифровими навичками на рівні нижче базового становила 53%</a>. Проте до цього року вказаний показник знизився на 12,6%, в тому числі завдяки «Концепції розвитку цифрових компетентностей до 2025 року», прийнятій Кабміном.</p><p>Далі його розвитку сприяла пандемія коронавірусу, коли як школярі, так і спеціалісти перебували на самоізоляції. За цей час з’явилася велика кількість платформ дистанційного навчання та онлайн-курсів. </p><p>В умовах війни EdTech продовжує розвиток. Хоча такі перешкоди, як відключення світла та відсутність мережі часто переривали навчальний процес, дистанційна освіта була єдиним виходом під час обстрілів – як для учнів в Україні, так і для тих, хто перебував за кордоном. Усі ці фактори створюють потребу у прискореному зростанні технологій цифрової освіти. </p><p>Дуже багато галузей українського IT-сектору постраждали через війну. Проте для напряму EdTech вторгнення стало каталізатором розвитку. Цифрова освіта набуває більшої популярності, а український ринок зміг відмежуватися від ринку СНД і продовжує розвиток.</p><p>Онлайн-курси дозволяють як берегти ресурси компаніям, що навчають працівників, так і залучати аудиторію блогерам, які пропонують власні інфопродукти. Хоча цифрова освіта не є офіційною, це питання часу, оскільки вона має достатньо переваг перед ВНЗ і може стати основною системою освіти в майбутньому.</p><h2 id="%D0%B3%D0%B0%D0%BB%D1%83%D0%B7%D1%8C-edtech-%D0%B2-%D1%83%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%96-%D0%B7-%D0%BF%D0%BE%D1%87%D0%B0%D1%82%D0%BA%D1%83-%D0%B2%D1%82%D0%BE%D1%80%D0%B3%D0%BD%D0%B5%D0%BD%D0%BD%D1%8F">Галузь EdTech в Україні з початку вторгнення</h2><p>Pilicam – це польська платформа для створення онлайн-курсів, яка допомагає бізнесам швидко та якісно навчати нових працівників, партнерів, а також продавати тренінги та курси. Існує проєкт близько 1,5 року. За цей час ідея еволюціонувала від білетного сервісу до теперішнього вигляду. </p><p>Ми побачили, що зараз має попит онлайн-освіта, наприклад, курси від блогерів. Але, як відомо, організація курсів від блогерів часто буває розділеною на багато різних платформ, які між собою не пов’язані.</p><p>Спеціально щоб об’єднати всі навчальні матеріали в одному місці, ми змінили напрям діяльності з білетного сервісу на конструктор курсів. Головні наші конкуренти – Academia Ocean на українському ринку, Web to Earn на польському та GetCourse на ринку СНД. Розвиваючи проєкт із нуля, маю досвід, яким хотів би поділитися.</p><p>Оскільки ми базуємося в Польщі, на нас війна не вплинула, всі труднощі з нею не були пов’язані. Але відбулися різкі зміни на українському ринку. Відразу після вторгнення значно зріс попит серед українських блогерів. За відчуттями, ринок зріс на 50-100%, купують всі можливі курси. </p><p>Наприклад, більші компанії, які давно на ринку, мають запити від великих бізнесів на корпоративне навчання, оскільки у них вже є сформована база курсів, які відразу можна використовувати. Натомість наш стартап має більше запитів від блогерів. Зараз зростає ринок інфопродуктів саме через influence-маркетинг, продажі через особистий бренд зростають швидше, ніж корпоративне навчання.</p><p>За моїми спостереженнями, польський ринок дуже схожий на український, але він відстає приблизно на 3 роки. Ті тренди, які зараз є на ринку Польщі (як блогери вибудовують продажі, як ведуть соцмережі), вже відбулися в Україні. Після початку війни українські користувачі відмежувалися від продуктів ринку СНД, тож це надало можливість для самостійного розвитку.</p><p>Головний тренд, який з’явився ще під час коронавірусу, – люди шукають роботу, пов’язану з онлайном. Багато молодих людей надає перевагу знанням, що пов’язані з Інтернетом, соцмережами, IT тощо. Такі знання легше і простіше здобути через онлайн-курс, ніж, наприклад, за 5 років навчання в університеті. Зараз набагато більша популярність в онлайн-роботи або хоча б у гібридної, ніж у повністю офлайн.</p><h2 id="%D0%BD%D0%B0-%D1%89%D0%BE-%D1%94-%D0%B7%D0%B0%D0%BF%D0%B8%D1%82-%D0%B2-edtech">На що є запит в EdTech</h2><p>Навчання нового працівника через онлайн-курс – набагато дешевше і простіше у реалізації, оскільки працівник має прийти не з повним «нулем» знань, а вже із певною базою. У цьому разі достатньо ознайомити новенького з технологіями, які використовуються саме на проєкті.</p><p>Коли працівник проходить пробний період, йому дається доступ до цього курсу й тестове завдання. Не йдеться про лише перегляд змісту. Ми також робимо невеличкий екзамен, щоб пересвідчитися, що учень все засвоїв.</p><p>Ось як це виглядає. Нещодавно я наймав front-end-розробника. Йому призначається пробний період. Коли він його проходить, йому відкривають доступ до навчання. У курсі міститься два записи розмови з тімлідом, де ми розповідаємо, як влаштований проєкт, що слід робити, які загальні правила. Після того, як він це перегляне, йому дається тест на знання матеріалу.</p><p>Особливо це актуально для таких посад, як менеджер із продажів. Їм потрібно дуже багато знань про методи, системи й технології, які використовує компанія.</p><p>Попередньому менеджеру, який навчає новеньких, може знадобитися 3-5 днів лише на пробний етап кандидата. За цей час пошукач може в будь-який момент «вигоріти» та відмовитися, а це частий випадок. При цьому теперішній менеджер відчуває демотивацію, якщо понад три кандидати вже відмовилися. Подальшим кандидатам він буде доносити інформацію «на автоматі», а значить гірше, ніж попереднім.</p><p>Усіх цих проблем можна уникнути, записавши один курс. Навіть більше, потік може бути різним, але платформа окуповується навіть при навчанні одного співробітника. Якщо є курс, то це безкоштовно, а новенький може вивчати інформацію у свій вільний час. При цьому він не залежить від іншого наставника, якому також треба оплачувати години навчання.</p><h2 id="%D1%8F%D0%BA-%D0%B7%D0%BD%D0%B0%D1%85%D0%BE%D0%B4%D0%B8%D1%82%D0%B8-%D0%BA%D0%BB%D1%96%D1%94%D0%BD%D1%82%D1%96%D0%B2">Як знаходити клієнтів</h2><p>Що стосується компаній, то поки з них є тільки польська музикальна школа, вони користуються корпоративним навчанням. А якщо брати основну цільову аудиторію, то це офлайн-бізнеси, які не мають IT-відділів і для яких платформа допомагає з організацією навчання. А от з IT-компаніями співпрацювати важко, оскільки у них і так є змога зробити навчальний проєкт самостійно.</p><p>Головний фактор офлайн-бізнесів, який дає перевагу навчанню через курси, – швидша зміна працівників. Якщо раніше люди працювали десятиліттями на одній роботі, то зараз на деяких посадах працівники змінюються за 2-3 роки. У майбутньому цей час ще більше скоротиться.</p><p>Нових кадрів можна навчати вручну, на що буде витрачатися багато часу й ресурсів, а можна за допомогою готових курсів надавати необхідну освіту декільком поколінням працівників. Оскільки офлайн-бізнеси здебільшого витрачають час на перший варіант, вони і є нашою цільовою аудиторією.</p><p>Суть платформи – саме в обслуговуванні, маркетинг ми на себе не беремо. Можливо, ми реалізуємо маркетплейс для користувачів у майбутньому, але це можна розглядати, якщо аудиторія платформи становитиме приблизно 25-50 тисяч користувачів, з яких хоча б 15 тисяч будуть активними. Але наразі блогери самостійно просувають свої курси через соцмережі, а для нас конкурувати з Instagram немає сенсу.</p><h2 id="%D0%B4%D0%B5-%D1%88%D1%83%D0%BA%D0%B0%D1%82%D0%B8-%D1%96%D0%BD%D0%B2%D0%B5%D1%81%D1%82%D0%B8%D1%86%D1%96%D1%97">Де шукати інвестиції</h2><p>Найскладніше завдання – це зробити платформу прибутковою. Ми створили MVP з одним програмістом, після чого необхідно було залучати інвестиції. Це складний етап, ми знайшли партнера, який інвестував $80 тисяч. Зараз накопичуємо ресурси для нового старту, залучаємо нову аудиторію та шукаємо інвестиції.</p><p>Ми відкриті до інвестицій, якщо інвестори поділяють наші цінності. Орієнтуємося саме на приватних інвесторів, компанії, що займаються інфобізнесом, або блогерів, які продають курси. Фонди та подібні організації поки не розглядаємо. Думаю, що це наступний етап. Нам здається, що фонд гальмуватиме нас своєю постійністю, а от співпраця з приватним інвестором може бути більш гнучкою.</p><p>Шукаємо інвесторів зазвичай у бізнес-клубах і спільнотах. Наприклад, варшавська «Магія Ранку» зараз закриває приблизно 80% наших потреб, оскільки у них найкращі спікери – і з напряму IT, і з продажів, і з блогерства. Також ми приєдналися до EASE, щоб мати більше зв’язків з IT-спільнотою.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Дія: падає при 15 тисячах запитів на секунду. Ще раз, словами: п’ятнадцять тисяч запитів. Monobank: стоїть собі та посміюється при 580 мільйонах (!) запитів на секунду. Майже у 38 тисяч разів більше навантаження, на секундочку. Це про що взагалі? Паперовий будиночок буквально.

Всі ж пам’ятають скільки разів я суворо ]]></description>
        <link>https://proit.ua/diia-liaghaie-pri-15-tis-zapitiv-na-siekundu-monobank-vitrimuie-u-400-raziv-bilshie/</link>
        <guid isPermaLink="false">65bfe5b7ff7a05fa602a4107</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Костянтин Корсун ]]></dc:creator>
        <pubDate>пн, 05 лют 2024 14:00:05 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/02/z1607963426a275i.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Дія: падає при 15 тисячах запитів на секунду. Ще раз, словами: п’ятнадцять тисяч запитів. Monobank: стоїть собі та посміюється при 580 мільйонах (!) запитів на секунду. Майже у 38 тисяч разів більше навантаження, на секундочку. Це про що взагалі? Паперовий будиночок буквально.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/02/425900369_2373995459452208_3057407221412827931_n.jpg" class="kg-image" alt loading="lazy" width="1238" height="726"></figure><p>Всі ж пам’ятають скільки разів я суворо критикував Дію? У січні 2022 року ми з колегами навіть <a href="https://cutt.ly/eOMXHKq">список основних її гріхів</a> склали. Той список добрі люди навіть <a href="https://cutt.ly/OGltMmo">англійською</a> переклали. </p><p>Так от, моя критика стосувалася переважно ігнорування питань безпеки, неповаги до захисту персональних даних і хибної загальної концепції та ідеології цього одіозного державного застосунку. Претензії до функціональності стояли десь у кінці списку. І ось вчора «лягла» й функціональність. І далеко не вперше, між іншим.</p><p>Але тепер вона «лягла» у той критичний момент, коли ні за що не повинна була «лягати»: «застосунок для голосування» не справився із голосуванням. Адже ні для кого вже не секрет, що таємне стратегічне призначення Дії – для «виборів у смартфоні» із заздалегідь визначеним організаторами результатом.</p><p>До вчорашнього дня суспільний договір полягав приблизно у тому, що піпл не особливо париться стосовно викриків всіляких там експертів, мовляв, «у Дії є проблеми з безпекою». Зате зручно! Можна водійське посвідчення вдома забути, класно ж. Про штраф тебе відразу повідомлять, до суду викличуть, кредит тобі оформлять. Краса ж?</p><p>Але після такого приголомшливого фіаско навряд чи репутація державного застосунку колись відновиться. Розробники чомусь досі вірять, що, загнавши кілька десятків мільйонів користувачів у Дію, вони примусять їй довіряти. </p><p><a href="https://cutt.ly/VwGkiUSW">Дослідження</a> 2023 року свідчить, що 67% респондентів вважають Дію «засобом централізованого стеження за населенням».</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/02/425010483_2373995299452224_5918206600664545189_n.jpg" class="kg-image" alt loading="lazy" width="1128" height="1192"></figure><p>У мене на телефоні немає ані Дії, ані Телеграму. А також застосунків типу «Яка ти рослина» чи «Яким ти будеш через 30 років». Бо я ж експерт, бляха, із кібербезпеки. Тому мені важко зрозуміти, нахіба люди тягнуть собі у смартфони подібне г. Але якщо вже тягнете – ставитися до цього всього слід виключно як до розваги: ну прикольно, погрався та й видалив. </p><p>Всерйоз розглядати рукожопську поробку як спосіб для голосування за вище керівництво державою, як електронний кабінет призовника чи як електронне посвідчення особи не можна категорично.</p><p>І трохи зловтішних висновків. Провал голосування через Дію на фіналі нацвідбору Євробачення показово візуалізував ризики № 10 та № 19.</p><p>У кого не було Дії – не могли проголосувати. Це реалізація ризику № 11.</p><p>Завдяки повній непрозорості роботи застосунку (ризики №№ 12, 13, 15, 16, 17, 18, 19) неможливо перевірити результати голосування, можна лише сліпо вірити організаторам.</p><p>Відсутність альтернативи – це ризик № 15. І це просто дніще, додам від себе окремо.</p><p>Примусове загоняння фанатів Євробачення в Дію. Неспортивно, не по-джентльменськи, фу. І цей підлий прийомчик вже не вперше застосовується. Схожим чином «набивали» користувацьку базу при отриманні «ковідних сертифікатів», «8 тисяч компенсації для ФОПів» та «ковідної тисячі». Брудна гра.</p><p>До речі, маю стійку підозру, що більшу частину статистики «користувачів Дією» становлять люди, які змушені були її встановити, один раз скористалися й відразу, матюкнувшись, знесли. Тому що українці – це все ж таки про свободу та незалежність. </p><p>Коли до чогось примушують – це автоматично викликає підозру, невдоволення, спротив. Так, багато хто користується Дією. Так, є деякі корисні функції. Але репутація – то досить специфічна штука. </p><p>Достатньо один раз лажонути – і тебе будуть оцінювати саме по тому одному разу. А Дія лупить репутаційно у штангу приблизно у 70% випадків. Точніше – у 67%.</p><p>P.S.: Картинку взяв у Богдана Процишина. І взагалі, судячи з океану мемів на цю тему, більшість користувачів Дії ставляться до неї, м’яко кажучи, скептично. Ржуть, але продовжують користуватися. Однак це вже тема для дещо іншого дослідження.</p><p>UPD1: Насправді було не 1,5 тисячі, а 15 тисяч запитів на секунду, що принципово нічого не змінює.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/02/425527646_2373996392785448_6078792541195407552_n.jpg" class="kg-image" alt loading="lazy" width="1474" height="970"></figure><p>UPD2: У жовтні 2023 року було зафіксовано рекордну DDoS-атаку у світі: 398 мільйонів запитів на секунду проти Google, тому не виключено, що Гороховський теж міг трохи «перебільшити». Що знову-таки нічого принципово не змінює.</p><p>UPD3: навіть 15 тисяч запитів на секунду – це дрібничка. Сам Федоров розказував два роки тому про рекордний DDoS у 2 мільйони запитів на секунду.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Кібератаки в онлайн-середовищі вже давно перейшли зі світу наукової фантастики у світ реальний, перетворившись на неабияку загрозу. І під пильною увагою хакерів тепер не лише великі корпорації й урядові структури. Зловмисники все частіше цілять у малий бізнес і кожного окремого користувача. Але все одно ми бачимо на практиці, як повсякчас ]]></description>
        <link>https://proit.ua/shifrui-onovliui-nie-natiskai-bazovi-pravila-kibierbiezpieki-dlia-pidpriiemstv-i-koristuvachiv/</link>
        <guid isPermaLink="false">65b69c96ff7a05fa602a39aa</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Улдіс Лібієтіс ]]></dc:creator>
        <pubDate>пт, 02 лют 2024 14:00:48 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/01/8135205_3829181.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Кібератаки в онлайн-середовищі вже давно перейшли зі світу наукової фантастики у світ реальний, перетворившись на неабияку загрозу. І під пильною увагою хакерів тепер не лише великі корпорації й урядові структури. Зловмисники все частіше цілять у малий бізнес і кожного окремого користувача. Але все одно ми бачимо на практиці, як повсякчас ігноруються основні правила кібербезпеки. Тому не зайвим буде нагадати про них ще раз.</p><p>У сучасну цифрову еру, де технології стрімко розвиваються, а загрози в мережі стають усе більш високотехнологічними, питання кібербезпеки набуває майже такого ж важливого значення, як і безпека фізична. Дотримуйтеся цих базових принципів, і ви убезпечите себе від небажаних наслідків витоку конфіденційних даних і приватної інформації.</p><h2 id="%D0%BE%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B7%D0%B0%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8F-%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D1%96%D0%B9%D0%BD%D0%BE%D1%97-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8-%D0%B9-%D0%B0%D0%BD%D1%82%D0%B8%D0%B2%D1%96%D1%80%D1%83%D1%81%D1%96%D0%B2">Оновлення програмного забезпечення, операційної системи й антивірусів</h2><p>Це не просто рекомендація, а нагальна потреба: з кожним новим релізом програми чи ОС розробники враховують найновіші методи кібератак і впроваджують відповідні заходи безпеки. Щоразу, встановлюючи оновлення, ви отримуєте не лише нові функції, а й важливі патчі безпеки, які зменшують ризик несанкціонованого доступу і втрати даних. </p><p>До новітніх технологій швидко адаптуються не тільки розробники, а й зловмисники, які шукають шляхи використання слабкостей. Швидке оновлення – це лише один із компонентів кібербезпеки, які допомагають захистити вашу інформацію, тому потрібно приділити увагу й наступним.</p><h2 id="%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8E%D0%B9%D1%82%D0%B5-%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D0%BA%D1%83-%D0%BA%D1%96%D0%BD%D1%86%D0%B5%D0%B2%D0%B8%D1%85-%D1%82%D0%BE%D1%87%D0%BE%D0%BA-%D0%BD%D0%B0%D0%B4%D1%96%D0%B9%D0%BD%D1%96-%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D1%96-%D0%B4%D0%BB%D1%8F-%D0%BA%D0%BE%D0%B6%D0%BD%D0%BE%D0%B3%D0%BE-%D0%BE%D0%B1%D0%BB%D1%96%D0%BA%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE-%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%83-%D1%82%D0%B0-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D1%96%D1%8F-%D0%B2%D1%96%D0%B4%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%BE%D0%B3%D0%BE-%D1%81%D1%82%D0%B8%D1%80%D0%B0%D0%BD%D0%BD%D1%8F">Контролюйте безпеку кінцевих точок: надійні паролі для кожного облікового запису та функція віддаленого стирання</h2><p>Це два ключові аспекти для захисту фізичних пристроїв. Паролі дають змогу обмежити доступ, а віддалене стирання – видалити конфіденційні дані із пристрою у випадку його втрати або крадіжки. </p><p>Як би банально це не звучало, але зазначу про важливість того, щоб пристрої завжди були під наглядом. Це теж спосіб уникнути доступу до них, цього разу фізичного.</p><p>Я вже неодноразово вказував на важливість надійних паролів, але ми в Tet і надалі спостерігаємо, як цей аспект ігнорують багато організацій. </p><p>Унікальні складні паролі (комбінація великих і малих літер, цифр і символів) потрібні для кожного окремого облікового запису. Це робить вас менш вразливими до масових порушень безпеки. Навіть якщо один пароль стає відомий зловмисникам, інші ваші облікові записи залишаються в безпеці.</p><p>Також потрібно ознайомитися з налаштуваннями конфіденційності в облікових записах соціальних мереж, операційних системах і застосунках та активно керувати ними. Це забезпечить додатковий рівень захисту від несанкціонованого доступу до особистих даних.</p><p>Не ігноруйте таку корисну функцію, як менеджер паролів. Він генерує та зберігає унікальні паролі для кожного облікового запису. Так ви створите кодові «слова», які складно піддаються атакам.</p><p>Додам, що надійні паролі потрібні й для вашої домашньої мережі Wi-Fi. Також уникайте підключення до публічної мережі Wi-Fi для здійснення конфіденційних транзакцій, якщо не використовуєте VPN.</p><h2 id="%D0%B1%D0%B0%D0%B3%D0%B0%D1%82%D0%BE%D1%84%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%BD%D0%B0-%D0%B0%D0%B2%D1%82%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%8F-mfa">Багатофакторна автентифікація (MFA)</h2><p>Це спосіб захисту, який вимагає надання двох або більше форм ідентифікації для підтвердження особи перед отриманням доступу. Наприклад, це комбінація того, що користувач знає (пароль), чогось, що він має (смарт-карта, токен), і його фізичної характеристики (наприклад, відбиток пальця).</p><p>Звичайно, така автентифікація зменшує ризик доступу зловмисників: якщо один із факторів (наприклад, пароль) виявиться скомпрометованим, інші фактори допоможуть захиститися.</p><h2 id="%D1%88%D0%B8%D1%84%D1%80%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%87%D0%BD%D0%B5-%D0%B7%E2%80%99%D1%94%D0%B4%D0%BD%D0%B0%D0%BD%D0%BD%D1%8F-%D0%B9-%D0%BE%D0%B1%D0%B5%D1%80%D0%B5%D0%B6%D0%BD%D0%B0-%D0%BF%D0%BE%D0%B2%D0%B5%D0%B4%D1%96%D0%BD%D0%BA%D0%B0">Шифрування, безпечне з’єднання й обережна поведінка</h2><p>Використання інструментів шифрування і протоколу HTTPS важливе для захисту конфіденційності та цілісності переданих даних, а HTTPS додатково забезпечує автентифікацію сервера та захист від різних атак, що робить передачу приватної інформації стійкою до загроз.</p><p>Будьте пильними: не переходьте за підозрілими посиланнями, не завантажуйте вкладення з невідомих або небажаних електронних листів, перевіряйте адресу електронної пошти відправника. Не натискайте на рекламу, що з’являється раптово, або банери на підозрілих вебсайтах. </p><p>Усе це може призвести до інфікування вашого пристрою вірусами чи іншим шкідливим ПЗ, а підозрілі посилання можуть вести на шахрайські вебсайти, створені для витягання конфіденційної інформації або введення вас в оману (фішинг). </p><p>Також уникайте завантаження захищених авторським правом матеріалів із несанкціонованих джерел, оскільки вони можуть містити шкідливе програмне забезпечення.</p><p>Крім того, регулярно створюйте резервні копії важливих даних на зовнішньому носії або у хмарному сервісі, відстежуйте свої банківські рахунки та рахунки кредитних карток на наявність підозрілих транзакцій.</p><h2 id="%D0%BF%D0%B8%D0%BB%D1%8C%D0%BD%D1%96%D1%81%D1%82%D1%8C-%D1%89%D0%BE%D0%B4%D0%BE-%D1%84%D1%96%D1%88%D0%B8%D0%BD%D0%B3%D1%83">Пильність щодо фішингу</h2><p>Як я зазначив раніше, фішинг – це дуже розповсюджений спосіб ввести вас в оману для досягнення різних зловмисних цілей. Тому варто пам’ятати про його ознаки. </p><p>Це підозрілі електронні листи, вимоги термінових дій, нелогічні URL-адреси, неочікувані вкладення чи посилання, спроби отримати особисту інформацію, граматичні й орфографічні помилки, нестандартні запитання, неочікувані привітання, зміни в інтерфейсі вебсайту, спам.</p><h2 id="%D0%BA%D1%96%D0%B1%D0%B5%D1%80%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D0%BA%D0%B0-%D0%BF%D1%96%D0%B4%D0%BF%D1%80%D0%B8%D1%94%D0%BC%D1%81%D1%82%D0%B2">Кібербезпека підприємств</h2><p>Звичайно, всі перелічені вище аспекти стосуються і бізнесів, і кінцевих користувачів. Організаціям не слід забувати, що в них працюють люди, і вони через свою необізнаність чи необережність можуть спричинити витік даних. Тому роботодавці повинні регулярно проводити навчання із кібербезпеки для своїх працівників, щоб вони могли розпізнавати загрози та реагувати на них. </p><p>Також бізнесам і підприємствам варто розробити стратегію реагування на потенційні порушення кібербезпеки: чим швидшою буде протидія, тим меншими – втрати.</p><p>Дотримуючись цих принципів, користувачі можуть значно знизити ймовірність того, що наступною жертвою хакерів стануть саме вони. </p><p>Проте варто пам’ятати, що посилення кібербезпеки – це безперервна робота. Універсальних рішень не існує, тож кожен користувач і бізнес мають знати свої слабкі місця. Підприємствам та організаціям я раджу звернутися до відповідних IT-компаній, щоб провести професійну оцінку загроз для кібербезпеки.</p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>Підписуйтеся на </em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em><a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer"><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>ProIT у Telegram</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></a><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>, щоб не пропустити жодну публікацію!</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Онлайн-академія ІТ-професій Mate academy поділилася головними цифрами та інсайтами, якими відзначився 2023 рік у контексті працевлаштування випускників на junior-позиції. В основі – дані 1189 випускників академії, які почали карʼєру в ІТ минулого року.


Освіта та демографічні характеристики

Світова тенденція, яка прослідковується і на українському ринку, – це зміна ставлення роботодавців до альтернативної ]]></description>
        <link>https://proit.ua/komu-vdalosia-rozpochati-it-karieru-v-2023-rotsi-analitika-mate-academy-po-junior-aitivtsiam/</link>
        <guid isPermaLink="false">65b68e13ff7a05fa602a394f</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Mate academy Team ]]></dc:creator>
        <pubDate>пн, 29 січ 2024 14:00:55 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/01/young-person-presenting-new-year-2023.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Онлайн-академія ІТ-професій <a href="https://mate.academy/">Mate academy</a> поділилася головними цифрами та інсайтами, якими відзначився 2023 рік у контексті працевлаштування випускників на junior-позиції. В основі – дані 1189 випускників академії, які почали карʼєру в ІТ минулого року.</p><h2 id="%D0%BE%D1%81%D0%B2%D1%96%D1%82%D0%B0-%D1%82%D0%B0-%D0%B4%D0%B5%D0%BC%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D1%96%D1%87%D0%BD%D1%96-%D1%85%D0%B0%D1%80%D0%B0%D0%BA%D1%82%D0%B5%D1%80%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B8">Освіта та демографічні характеристики</h2><p>Світова тенденція, яка прослідковується і на українському ринку, – це зміна ставлення роботодавців до альтернативної онлайн-освіти. Це позитивно вплинуло на доступність ІТ-сфери для людей нетехнічних спеціальностей. </p><p>Серед працевлаштованих випускників Mate academy за 2023 рік таких 60%. Фахівців із попередньою вищою технічною спеціальністю – 33%, а тих, хто на момент початку роботи не мав вищої освіти, – 7%.</p><p>Найбільшою віковою групою для опанування ІТ є 16-24 роки – 52% працевлаштованих. 39% становить група віком 25-34 роки, а 9% – 35-45 років. Розпочати карʼєру можна й у віці 46+, таких спеціалістів серед випускників 0,3%.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/juCAk-JayvTWGi5zUh4bhDjvzB49mQWsra5P4kOyecx3lXZGIQRmqZjiJSyaRsBRi6ekUiLvm81PsVrJnKvKNjL6n4Wk1uLOM9hK5PWS7jyPxaw15foR52jBexv68iQYExyOnybgpizwIgJK" class="kg-image" alt loading="lazy" width="624" height="351"></figure><p>Дані підтверджують і те, що ІТ – це не лише «чоловіча» робота. 37% від загальної кількості працевлаштованих випускників – жінки. </p><p>Якщо ж дивитися співвідношення від кількості студентів у конкретному напрямі, то найбільше їх у сфері UI/UX Design – 80%, а найменше у Software Development – 20%. Порівну чоловіків та жінок серед тестувальників.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/gVPncDgxnopJYAh02zabqxEDHjZIE1O2-6fkZQ1hCpO9soVIdiRj2ongyJESRUDrf0Gv1kqlOnDEhl7cd4H71NhPDiP8_sOvzK5VrCydbS3l31sV-Hsr8kOoy3Fj8FsitNupqbqqH48-1Fd7" class="kg-image" alt loading="lazy" width="624" height="351"></figure><h2 id="%D1%88%D0%BB%D1%8F%D1%85-%D0%B4%D0%BE-%D0%BF%D0%B5%D1%80%D1%88%D0%BE%D1%97-%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D0%B8-%D0%B2-%D1%96%D1%82">Шлях до першої роботи в ІТ</h2><p><strong>Пошук роботи. </strong>Якщо у першому кварталі 2023 року кількість відгуків на вакансії задля успішного працевлаштування становила 235, то середня цифра за весь рік зросла до 270. Натомість ситуація з кількістю компаній, у яких кандидат має пройти етапи співбесід до першого офферу, залишалася стабільною весь період. У середньому це від 2 до 6 компаній.</p><p><strong>Перша зарплата. </strong>У першому кварталі минулого року середня перша заробітна плата випускників становила $663. Середній показник за рік демонструє незначне зниження – $630. </p><p>У розподілі за напрямами спостерігається така ситуація: середня зарплата Frontend-розробників становить $518, Java – $733, Python – $563, QA – $591, UI/UX Design – $635.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/uW6jYUwlKNEJmAa2XaqDHAaxHK6hbJNgzYJUA4K9hGSOV_ygDt9IFzdnDiw-Ou7YKSIr0kYpn9-YFyK9izVZPoXoEvGyaY73mQytvTcQ8bWROAfkKgHifRoIZBWtFmxgaxFqL-2rxrQ37GqX" class="kg-image" alt loading="lazy" width="624" height="351"></figure><p><strong>Формат роботи та місцезнаходження. </strong>39% випускників працюють з офісу, а 61% – на remote. 86% із них працевлаштовані в Україні, 14% – перебувають за кордоном.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/iR00nhjqFNFew6htR4_UHiB799Vd1UPvtL8MkIy7mle21Ym6SI8tqUYvYQLfi6mP7kgFDkdLJrRIpoUsYHKk7zKrvm-3moH2e6KpDydCX9xkJ0MSjr42hDbWsKLENpqftn7hkRSt3z-WAFyP" class="kg-image" alt loading="lazy" width="624" height="351"></figure><p><strong>Англійська залишається конкурентною перевагою для роботи в ІТ.</strong> 53% випускників володіють мовою на рівні Intermediate, 11,1% – Upper-Intermediate, 2,8% – Advanced. Хоча й випускники із нижчими рівнями (Pre-Intermediate – 25,7%, Elementary – 7,4%) змогли працевлаштуватися.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/opUvoECqO7lHuJRlrEylC70seDUr6FzlUg47Ce-Op0BoImXYOJgWKITBAKT10qmIMRkBTpHYwBi4v73tIl-I5f3YZasq2s9IiRaaF74PyndHU-ulBA2aEHrchYE5vxIewzaP2Qxg35kIBldM" class="kg-image" alt loading="lazy" width="624" height="351"></figure><p>Попри те, що ринок праці не стає простішим для junior-спеціалістів, які тільки розпочинають карʼєру в ІТ, динаміка працевлаштування у 2023 році зберігалась майже на рівних.</p><p>За перші шість місяців 2023 року роботу знайшли 558 випускників Mate academy, за друге півріччя – 631. Тримати такі показники вдавалось і завдяки відносній стабільності найму саме продуктовими компаніями.</p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>Підписуйтеся на </em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em><a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer"><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>ProIT у Telegram</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></a><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>, щоб не пропустити жодну публікацію!</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ При написанні коду легко щось зламати чи зіпсувати. Щоб уникнути цього, розробники використовують системи контролю версій для зберігання історії коду. Одна з таких систем – Git. Система дає змогу відстежувати зміни у файлах, зберігати їх та за потреби повертатися до будь-якої версії.

На відміну від більшості систем контролю версій, Git фіксує ]]></description>
        <link>https://proit.ua/iakbi-mieni-rozkazali-pro-tsie-ranishie-znannia-pro-git-iaki-sprostiat-robotu-rozrobniku-pochatkivtsiu/</link>
        <guid isPermaLink="false">65b2d0061f4f4efa662c166c</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Андрій Сидоренко  ]]></dc:creator>
        <pubDate>пт, 26 січ 2024 14:00:25 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/01/html-system-websites-collage-design-2-1.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>При написанні коду легко щось зламати чи зіпсувати. Щоб уникнути цього, розробники використовують системи контролю версій для зберігання історії коду. Одна з таких систем – Git. Система дає змогу відстежувати зміни у файлах, зберігати їх та за потреби повертатися до будь-якої версії.</em></p><p><em>На відміну від більшості систем контролю версій, Git фіксує інформацію у вигляді набору знімків, а не просто як перелік змін. Завдяки цьому розробник бачить ширшу картинку. Часто початківці зосереджуються лише на базовому функціоналі Git, тому втрачають у продуктивності й обтяжують себе зайвими кроками.</em></p><p><em>Як зробити використання Git ефективнішим, розкажуть експерти NIX </em>–<em> Lead Magento Developer Андрій Сидоренко та Lead Software Engineer Євген Бодня.</em></p><h2 id="%D0%BD%D0%B0%D0%BB%D0%B0%D1%88%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-git">Налаштування Git</h2><p>Популярність Git багато в чому обумовлена його простотою. Зі старту маємо все необхідне. Базові налаштування прості. Достатньо вказати креди (ім’я та емейл) для позначення автора нових комітів. </p><p>Зазвичай у робочих проєктах використовують спільні креди для авторства. Їх зберігають у файлі .gitconfig у профілі користувача. Інколи замовники просять встановити власні креди. Тоді вказуємо їх для конкретного проєкту. Докладніше про налаштування кредів читайте <a href="https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup">за посиланням</a>.</p><p>Як працювати з Git далі: через консоль та команди або в UI на кшталт VS Code чи GitHub Desktop? Передусім ви маєте розуміти, що відбувається «під капотом‎». Не слід забувати, що UI може мати певні обмеження. Інколи неможливо додавати до команди наявні опції зі значеннями. У консолі ж легше побачити дрібниці, як-от відступи. </p><p>Серед розробників давно існує дискусія: відступ має бути Space чи Tab? Припустимо, у PhpStorm відмінностей між цими символами немає. У консолі для відступу є конкретні знаки.</p><p>Прихильникам консолі експерти радять спробувати <a href="https://jonas.github.io/tig/">Tig</a>. Ця утиліта імітує UI. У лівій частині екрана зібрані коміти, у правій – їхній вміст. Завдяки цьому можна швидко подивитися історію гілок, комітів та файлів без необхідності входити до віддаленого репозиторію. Зручно це і на етапі знайомства з проєктом. Ви легко зробите базове рев’ю коду, щоб зрозуміти принципи оформлення й опису комітів, прийнятих у вашій команді.</p><p>Хоча для типових задач UI зручніший. Наприклад, у програмному забезпеченні від Jetbrains, у Webstorm він має ідеальну структуру для Git і кнопки для всіх основних команд: від push та pull до видалення гілки й зміни імені коміту.</p><h2 id="%D0%BF%D0%BE%D1%87%D0%B0%D1%82%D0%BE%D0%BA-%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D0%B8-%D0%B7-git">Початок роботи з Git</h2><p>Створюєте папку, заливаєте в неї базовий код та задаєте команду <em>git init</em>. Так запускаємо ініціалізацію локального репозиторію. </p><p>Якщо підключаєтесь до наявного проєкту з певними комітами, то клонуйте цей проєкт до себе. Для цього запустіть команду <em>git clone </em>(https://git.service.com/your-rep.git). </p><p>Щоб відправляти створені в локальному репозиторії зміни до віддаленого репозиторію, під’єднайте його за допомогою <em>git remote add origin </em>(https://git.service.com/your-rep.git). </p><p>Після цього вже можна відправляти зміни або пушити, використовуючи команду <em>git push origin your-branch-name</em>.</p><p>Як віддалений репозиторій можуть виступати GitHub, GitLab, Bitbucket тощо. Вони подібні за функціоналом та інтерфейсом. Але відмінності все-таки є. </p><p>Наприклад, у GitHub приватні репозиторії доступні тільки для користувачів, які мають спеціальні права на доступ (колаборатори). Для таких репозиторіїв можна створювати команди та вказувати конкретних користувачів для кожного рівня доступу. </p><p>GitLab також дає змогу керувати доступом до репозиторіїв через ролі, групи та проєкти. Доступ налаштовується за допомогою груп, які об’єднують користувачів і надають їм різні рівні прав доступу до відповідних репозиторіїв.</p><p>Якщо працюєте з наявним проєктом, після створення локального репозиторію знайдіть у папці конфігураційний файл <em>.git</em>. З його допомогою можна побачити, де знаходиться видалений репозиторій. Останню ж інформацію можна отримати, скориставшись командою <em>tig</em> і переглянувши попередні коміти.</p><p>Чому варто маскувати папку <em>.git</em> на проді? Залишаючи до неї відкритий доступ через браузер, зловмисник може запустити скрипт, який витягне з цього репозиторію код вебсайту. Надалі він зможе провести рев’ю коду і знайти вразливості, щоб зламати ресурс. </p><p>Після налаштування репозиторіїв залишається додати gitignore-файл. Переважно він стандартний. У типових проєктах його можна навіть копіювати зі старого. Також IDE (PHPStorm, WebStorm, VS Code) має шаблон із базовими в ігноруванні файлами та папками. Звісно, ніхто не заважає вам самостійно скласти список файлів, які не варто тримати ані віддалено, ані локально.</p><p>Робота с gitignore-файлом проста: достатньо вказати шлях до конкретних файлів. Їх може виявитись багато. Передусім треба ігнорувати файли з чутливою інформацією: логіни, паролі, токени, логи тощо. Якщо вони знадобляться на проді, створіть N-sample. Скопіюйте в нього тільки структуру файлу. І тоді під час деплою ви самі зможете заповнити на сервері потрібні параметри.</p><p>Немає сенсу копіювати між репозиторіями папки налаштувань IDE. Ці системи чи їхні конфігурації можуть відрізнятися у ваших колег по проєкту. Там, де використання JavaScript обов’язкове, варто додавати в ігнор <em>node_modules</em>. Ця папка може затягнути від 200 МБ до 1 ГБ.</p><p>Експерти зауважують про ризик додавання у проєкти білдів. Це може викликати конфлікти в Git, і потім буде досить важко об’єднати гілки. Білди краще створювати саме в момент деплою – самотужки на сервері або на основі інших сервісів відповідно до процесів CI/CD у вашій команді.</p><h2 id="%D0%B1%D0%B0%D0%B7%D0%BE%D0%B2%D1%96-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B8-git">Базові команди Git</h2><p>Коли ви тільки починаєте знайомитись із Git, у вас може з’явитися спокуса вивчити якомога більше команд. Не поспішайте опанувати все й одразу. Для роботи вистачить того, що використовується у 90% випадків.</p><p><strong>До базових команд Git відносять:</strong></p><ul><li><em>git add</em>: додає зміни з робочого каталогу до індексації;</li><li><em>git commit</em>: створює коміт на основі проіндексованих даних;</li><li><em>git checkout</em>: перемикає репозиторій на інший коміт або гілку. Також може скасовувати зміни у незакомічених файлах;</li><li><em>git push</em>: закидує зміни з локального репозиторію до віддаленого;</li><li><em>git pull</em>: завантажує зміни з віддаленого репозиторію до локального;</li><li><em>git branch</em>: створює, перейменовує та видаляє гілки;</li><li><em>git diff</em>: порівнює між собою створені коміти/гілки або показує зміни у файлі;</li><li><em>git status</em>: показує список змінених каталогів та файлів;</li><li><em>git log</em>: демонструє наявні коміти у репозиторії.</li></ul><p>Також існують прапорці, які можна додавати до команд. Наприклад, <em>git checkoub -b your-branch-name </em>дозволяє створити гілку на перемкнутися на неї. За допомогою <em>git commit -m "Your commit message"</em> можна написати опис до коміту. <em>git checkout -p</em> повертає зміни окремих частин файлу. Команда запитує, що вона має зробити із кожним фрагментом. Аналогічним чином діє <em>git add -p</em>, але вже у випадку додавання змін не всього файлу, а його частин.</p><p>Згодом почитайте про менш поширені команди, які теж можуть знадобитися на якомусь проєкті. Часом про них можуть запитати на співбесіді, якщо технічні експерти захочуть перевірити глибину ваших знань. </p><p>До прикладу, команда <em>git fetch</em>. Вона подібна до <em>git pull</em>. Зміни стягуються, але застосовуються не автоматично, а лише за потреби за допомогою <em>git merge</em>.</p><p><em>git fetch</em> дає змогу отримувати оновлення із віддалених репозиторіїв без автоматичного об’єднання із локальними гілками. Розробник може переглядати зміни перед об’єднанням, забезпечуючи контроль та уникнення конфліктів. Навіть як рідкісний сценарій використання цієї команди важливе для гнучкості й ефективного управління розвитком проєктів.</p><p>Деякі маловідомі команди цілком корисні у щоденній роботі. Наприклад, <em>git stash</em> зберігає зміни без застосування. Фактично це ніби кеш. </p><p>Уявімо ситуацію: ви не дописали для коміту код, але потрібно терміново пофіксити баг в іншій гілці. Якщо перемкнутися, зміни втрачаються. Якщо комітити незавершену частину, колег це може заплутати. <em>git stash apply</em> дозволить обійтися без коміту та повернути дані, коли ви повернетесь до своєї гілки.</p><p>Цікава команда <em>git cherry-pick</em>. Дозволяє не копіювати файли в іншу гілку (наприклад, із Develop- до Main-гілки), а відразу надсилати коміт. У пул реквестах стане в пригоді <em>squash merge</em> – допомагає об’єднати всі зміни та полегшує підтримку історії комітів у репозиторії. Замість неорганізованого списку комітів буде один великий коміт.</p><p>Не обов’язково пам’ятати всі команди. Є один лайфхак – спробуйте конфігураційний скрипт <em>bash completion</em>. При натисканні Tab він показує перелік доступних команд. Ви можете доповнювати базу даних для автозаповнення, щоб оптимізувати все під власні потреби чи інструменти, якими часто користуєтесь. Схожі скрипти існують для будь-якої консольної утиліти.</p><h2 id="%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D0%B0-%D0%B7-%D0%BA%D0%BE%D0%BC%D1%96%D1%82%D0%B0%D0%BC%D0%B8-%D1%82%D0%B0-%D0%B3%D1%96%D0%BB%D0%BA%D0%B0%D0%BC%D0%B8">Робота з комітами та гілками</h2><p>Перший крок – визначитися із правилами неймінгу. Це проблема багатьох початківців. Через брак досвіду і командної роботи часто джуни не дотримуються стандартів найменування комітів і гілок. Пізніше це може плутати інших розробників і самого джуна. Принаймні слід погуглити кращі практики неймінгу.</p><p>Наприклад, гілки для виправлення помилок позначають <em>fix</em> чи <em>bugfix</em>, а для імплементації нових фіч – <em>feature</em> або <em>feat</em>. </p><p>Є й менш очевидні нюанси. Припустимо, як почати назву коміту: з великої літери чи з малої? А кілька слів при іменуванні гілки потрібно поєднувати за допомогою дефісу або через нижнє підкреслення? Насправді коректні всі варіанти. Головне – щоб це були єдині правила для всієї команди.</p><h2 id="%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%D0%B8-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%B0%D0%BD%D0%BD%D1%8F-%D0%B7%D0%BC%D1%96%D0%BD-%D0%BA%D0%BE%D0%BC%D1%96%D1%82%D1%96%D0%B2-%D1%82%D0%B0-%D0%B3%D1%96%D0%BB%D0%BE%D0%BA">Принципи використання змін, комітів та гілок</h2><p>Репозиторій у Git складається з комітів – порцій змін. Вони створюють гілки. Припустимо, ви маєте головну гілку Main. Вам дають завдання зробити фічу. Для цього на основі Main-гілки ви створюєте гілку для розробки нової частини. </p><p>Коли закінчите таск, треба зробити коміт та завантажити до віддаленого репозиторію, а потім змерджити новостворену гілку в Main-гілку. Так проєкт оновиться, і результат вашої роботи стане частиною продукту. </p><p>Якби ви працювали над застосунком самотужки, то могли б обійтися взагалі без усіляких гілок. Це ж робота в один потік. У розподіленій команді, де кілька фахівців працюють над проєктом паралельно, без такої системи було б складно.</p><p>Уявімо, що разом із вами над другою фічею працює інший розробник. Він теж створює власну гілку на основі Main-гілки. Проєкт починає розгалужуватися. До речі, є сервіси для навчання роботі з Git, де можна роботи коміти й одразу бачити результат у вигляді Git-дерева. Така візуалізація допомагає краще зрозуміти роботу системи контролю версій та її особливості. </p><p>Та головне інше – як поєднати зміни з різних гілок? Адже ви та колеги можете вливати коміти в різні моменти, поза чергою. Важливо регулярно оновлювати свій репозиторій, щоб підтягнути зміни інших розробників та уникнути конфлікту при мерджі.</p><h2 id="%D0%BA%D0%BE%D0%BD%D1%84%D0%BB%D1%96%D0%BA%D1%82%D0%B8-%D0%BF%D1%96%D0%B4-%D1%87%D0%B0%D1%81-%D0%BC%D0%B5%D1%80%D0%B4%D0%B6%D1%83">Конфлікти під час мерджу</h2><p>Конфлікти під час злиття гілок – велика окрема тема. Можна написати не одну статтю про те, як їх долати та як їх уникати! Але на базовому рівні розберемо простий приклад.</p><p>Припустимо, що один розробник створює на основі Main свою гілку A і змінює значення якогось рядка на «ABC», а інший розробник також від Main створює гілку B, де в тому ж саме рядку пише «123». Якщо злити всі ці зміни назад до Main, між ними з’явиться конфлікт. Система ж не знає, який із двох надісланих комітів правильний, яка гілка пріоритетна. Тут, як зазначено вище, на допомогу приходить система контролю версій.</p><p>Знову ж таки: при розв’язанні конфліктів ви можете працювати як із консоллю, так і з UI. </p><p>Як підкреслює Євген, в останньому випадку все дуже просто. Наприклад, у WebStorm по центру екрана показано ваш код, а зліва та справа його версії – і ви покроково стрілочками обираєте те, що треба залишити. Також кольором виокремлено проблемні місця, і безпосередньо в інтерфейсі можна переписати коміт та зберегти. Це буде вважатися як нові стягнуті зміни. </p><p>Схожим чином працюють й інші тулзи для бекенду і фронтенду: від VS Code до IntelliJ IDEA.</p><p>Щоб набути впевненості у подібній роботі, експерти радять потренуватися – створити під час мерджу та пофіксити конфлікти між власними гілками. Принцип вирішення, або резолву, конфліктів теж доволі простий. Ви стягуєте до локального репозиторію оновлену гілку, куди бажаєте замерджити зміни, де є модифікований файл. Через це у вас з’являється конфлікт злиття гілок. </p><p>Ви виправляєте все, як треба. А потім створюєте спеціальний коміт для вирішення конфліктів (там буде окремий прапорець для позначення змін). Цей коміт показує: конфлікт має бути вирішено у такий-то спосіб. Після надсилання цього коміту до віддаленого репозиторію система буде знати про подолання проблеми. А тому подальший мердж пройде успішно!</p><h2 id="%D0%BF%D1%80%D0%B8%D1%87%D0%B8%D0%BD%D0%B8-%D0%B2%D0%B8%D0%BD%D0%B8%D0%BA%D0%BD%D0%B5%D0%BD%D0%BD%D1%8F-%D0%BA%D0%BE%D0%BD%D1%84%D0%BB%D1%96%D0%BA%D1%82%D1%96%D0%B2">Причини виникнення конфліктів</h2><p>Найчастіше конфлікти відбуваються через забудькуватість розробників. Забули оновити свою локальну Main-гілку і підтягнути ці зміни у робочу гілку. Або ж робили зміни в одній гілці, потім в іншій, яку влили в основну, але пропустили попередню. Чи помилково задали різні значення однієї функції в кількох місцях. Аналогічно може діяти й інший розробник. </p><p>Як вихід із ситуації – перевірте свої дії та, якщо все коректно, спитайте колегу про причини його дій у своїй частині коду. Може, він теж помилився. Або раніше за вас дізнався про нові настанови замовника, про які менеджери чи ліди вам чомусь не повідомили. </p><p>У будь-якому разі завжди вирішує спілкування з командою. Якщо ж конфлікт незначний, вистачить скріншоту та короткого повідомлення колезі у месенджері.</p><p>Якщо конфлікт викликаний різними технічними рішеннями двох розробників, до обговорення варто залучити техліда або менеджера проєкту. Обговоріть, яке виконання найкраще відповідає кінцевим завданням проєкту. У своїх доводах намагайтеся спиратися на джерела та перевірені поради. Як аргументи підійдуть фахові статті з Medium, зі збірників бест практіс, книг тощо.</p><p>Трапляються конфлікти й через особливості процесів. Із досвіду експерти згадують кілька таких історій. На одному проєкті через брак ресурсів QA-фахівці перевіряли фічі лише після того, як заливали їх в основну гілку. При виявленні багу доводилося створювати гілку з багфіксом і мерджити її. Це займало чимало часу та призводило до помилок у Main-гілці. </p><p>Інший приклад – де зміни зливались до окремої QA-гілки і тільки після перевірки тестувальниками відправлялись до головної гілки. Але якщо QA-спеціалісти не встигали з тасками, фічі не потрапляли вчасно до Main. Розробники не могли завантажити актуальний стан застосунку, не тягнучи неперевірені зміни. Джуни в подібних випадках нічого не вирішують, а просто слідують заданій у проєкті моделі роботи. Однак задля професійного розвитку варто знати про різні сценарії.</p><p>Оптимальним варіантом є не локальне злиття змін, а сервіси віддалених репозиторіїв. Це можуть бути пул реквести у GitHub та Azure або мердж реквести у GitLab. Це не зміни, а запит до них. Тобто команда отримує повідомлення про нові зміни у коді, завдяки чому інші розробники чи тестувальники можуть перевірити запропоновані зміни та обговорити їх. </p><p>Пул реквест виступає як додаткова нотифікація для команди: основна гілка змінюється, тож час оновитися. Так вдається не відставати у процесі розвитку та масштабування проєкту, а так мінімізувати ризики. Після злиття не виникатиме по 20 конфліктів, для розв’язання яких треба обійти всю команду. Щонайбільше буде кілька некритичних проблем.</p><p>Як уникнути труднощів при перевірці пул реквестів? Експерти NIX рекомендують при роботі над великими фічами розбивати їх на частини. На основі гілки, створеної під нову фічу, з’являтиметься ще декілька гілок для окремих частин. Ви зможете віддавати ці частини на перевірку одну за одною. Інакше в пул реквесті будуть відправлятися сотні файлів. На їхню перевірку може знадобитися кілька днів. Наявність малих пул реквестів дасть змогу не чекати зі злиттям змін іншого функціоналу, над яким паралельно працюють розробники.</p><p>Хорошою практикою є встановлення захисту у віддалених репозиторіях на головні гілки – Main, Staging, Develop. Тоді будь-які зміни будуть прийматися після розгляду пул реквесту, а це вбереже від критичних помилок у проєкті.</p><h2 id="%D0%B2%D0%B8%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B3%D1%96%D0%BB%D0%BE%D0%BA-%D1%96-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85-%D0%BF%D1%96%D1%81%D0%BB%D1%8F-%D0%BC%D0%B5%D1%80%D0%B4%D0%B6%D1%83">Видалення гілок і даних після мерджу</h2><p>Після успішної заливки робочої гілки до Main-гілки першу треба видалити. Це можна зробити вручну або за допомогою автовидалення після мерджу, наприклад, до основної гілки (задається в налаштуваннях віддаленого репозиторію).</p><p>Інформація зі старої гілки може знадобиться пізніше. Наприклад, якщо колега захоче дізнатися про виконані вами зміни, набагато швидше звернутися до вас за уточненнями чи порадою. Тим паче, за певний час і кілька ітерацій змін попередня гілка могла втратити актуальність. </p><p>Вносити зміни у стару гілку не треба, бо всі нововведення чи виправлення мають відображатися у новій фікс-гілці. Та якщо не чистити першу, то згодом їх буде сотні, що ускладнить керування репозиторієм і може заплутати команду.</p><p>Після мерджу у репозиторії можуть зникати якісь файли та папки. Причин цього може бути чимало. Наприклад, хтось запушив до репозиторію видалення окремих файлів. </p><p>Часом це викликано новими вимогами, інколи – помилкою. У такому випадку в історії Git знайдіть автора останніх змін і командою <em>git revert </em>«‎відкотіть» коміт. Зручність Git тут полягає в тому, що в ньому нічого не загубиться. Саме тому з цією системою немає необхідності в детально закоментованих шматках коду, що нібито може знадобитися пізніше. Так полюбляють робити джуни. Однак який сенс зберігати старий код, якщо можна просто «‎відкотитись» до попередньої версії й все там роздивитись.</p><p>А ще інколи після мерджу можуть зникнути самі ж зміни, над якими ви працювали. Як згадує один з експертів, колись він рефакторив код майже вісім годин, але після злиття Develop-гілки у робочу з новими змінами все пропало. А сталося це через те, що зміни не були закомічені локально, тому їх не зафіксував Git. Тож варто комітити або використовувати вже згадану команду <em>git stash</em>. </p><p>Хоча на допомогу може прийти й ваша UI. Наприклад, у WebStorm доступна локальна історія. Якщо раптово зникли зміни, подивіться, яким був файл із кодом хвилину тому, до невдалого мерджу. Це власне копія файлу.</p><p>З якою б складністю ви не зіткнулися, пам’ятайте: завжди треба знаходити час, щоб розібратися у нюансах роботи Git. Це збереже вам море часу, зусиль і нервів.</p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>Підписуйтеся на </em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em><a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer"><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>ProIT у Telegram</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></a><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>, щоб не пропустити жодну публікацію!</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Я записав та виклав у вільний доступ курс SQL-практикум українською для дата-аналітиків. Дивіться, вчіться, тренуйтесь та пишіть у коментарях під відео, якщо щось не зрозуміло, – обов’язково всім відповім!


Як я дійшов до того, щоб витратити 100 годин свого часу на запис некомерційного курсу?

Насправді, дуже просто.

По-перше, я сам ]]></description>
        <link>https://proit.ua/vielikii-sql-praktikum-ukrayinskoiu-dlia-data-analitikiv-novachkam-ta-svitchieram-pidghotuvatisia/</link>
        <guid isPermaLink="false">65a43f10a74bce3872214ee3</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Нікіта Тимошенко ]]></dc:creator>
        <pubDate>пт, 19 січ 2024 14:00:56 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/01/21901980_6500351--1-.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Я записав та виклав у вільний доступ курс SQL-практикум українською для дата-аналітиків. Дивіться, вчіться, тренуйтесь та пишіть у коментарях під відео, якщо щось не зрозуміло, – обов’язково всім відповім!</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/HkT_VrzbXZQ?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen title="ПОВНИЙ ПРАКТИЧНИЙ КУРС SQL для аналітиків даних 2024"></iframe></figure><h2 id="%D1%8F%D0%BA-%D1%8F-%D0%B4%D1%96%D0%B9%D1%88%D0%BE%D0%B2-%D0%B4%D0%BE-%D1%82%D0%BE%D0%B3%D0%BE-%D1%89%D0%BE%D0%B1-%D0%B2%D0%B8%D1%82%D1%80%D0%B0%D1%82%D0%B8%D1%82%D0%B8-100-%D0%B3%D0%BE%D0%B4%D0%B8%D0%BD-%D1%81%D0%B2%D0%BE%D0%B3%D0%BE-%D1%87%D0%B0%D1%81%D1%83-%D0%BD%D0%B0-%D0%B7%D0%B0%D0%BF%D0%B8%D1%81-%D0%BD%D0%B5%D0%BA%D0%BE%D0%BC%D0%B5%D1%80%D1%86%D1%96%D0%B9%D0%BD%D0%BE%D0%B3%D0%BE-%D0%BA%D1%83%D1%80%D1%81%D1%83">Як я дійшов до того, щоб витратити 100 годин свого часу на запис некомерційного курсу?</h2><p>Насправді, дуже просто.</p><p>По-перше, я сам свого часу зіткнувся з відсутністю навчальних матеріалів українською мовою. Дякуючи YouTube, DataCamp, Coursera, серії книжок O'Reilly та іншому, майже все необхідне можна було знайти англійською. </p><p>Проте складна професійна література іноземною мовою може стати бар’єром при перших кроках у навчанні. Зрозуміло, що англійська – маст хев для дата-аналітика, як і в принципі для будь-якої професії в IT. Але я так само впевнений, що її можна й треба підтягнути у процесі опанування інших скілів.</p><p>По-друге, це мій маленький внесок у розвиток українського YouTube. В Україні є круті спеціалісти, здатні знімати корисний контент. Тож своїм досвідом я хотів би надихнути якомога більшу кількість активних айтівців створювати навчальний контент українською.</p><p>По-третє... Вибачте, але мені завжди подобалося викладати:)</p><h2 id="%D1%87%D0%BE%D0%BC%D1%83-%D1%81%D0%B0%D0%BC%D0%B5-sql">Чому саме SQL?</h2><ol><li>Бо це найбільш затребуваний інструмент, який повсякчас зустрічається у вакансіях дата-аналітиків.</li><li>Більшість наявних курсів із SQL орієнтовані на вивчення теорії. Це не погано, але... часто відірвано від реальності. На мою думку, новачкам у дата-аналітиці потрібно отримати знання для розроблення кількох власних Pet-проєктів, навчитися самостійно формувати запитання до даних, оцінювати якість даних і можливість зробити коректні висновки, порівняти різні підходи до аналізу інформації.</li><li>SQL – це інструмент, який можна опанувати протягом короткого проміжку часу, якщо мати структуру навчання і вчасно підкріпляти вивчений матеріал практикою.</li></ol><h2 id="%D1%87%D0%BE%D0%B3%D0%BE-%D0%BE%D1%87%D1%96%D0%BA%D1%83%D0%B2%D0%B0%D1%82%D0%B8-%D0%B2%D1%96%D0%B4-%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D1%83%D0%BC%D1%83">Чого очікувати від практикуму?</h2><p>Курс складається із 22 уроків (загалом 4 години) та орієнтований на початківців. Фокус зроблено на практичних вправах та корисних інструментах зі світу реальних проєктів. </p><p>Я приділив увагу теоретичному мінімуму, без якого неможливо рухатися далі. Це реляційні бази даних, типи даних, джойни та інше. Вони презентуються у блокнотах Notion. Але більша частина курсу – це вирішення задач і практичних вправ, в тому числі й огляд задач із технічних співбесід. </p><p>Курс також містить інструкції щодо встановлення необхідного програмного забезпечення (pgAdmin, DBeaver) та огляд SQL-тренажерів для підготовки до технічних співбесід. А наприкінці курсу ви знайдете приклад презентації проєкту на gitHub для потенційних роботодавців.</p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>Підписуйтеся на </em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em><a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer"><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>ProIT у Telegram</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></a><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>, щоб не пропустити жодну публікацію!</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Успішне підписання контракту із замовником – це, звісно, круто. Але коли умови співпраці підкріплені людською довірою – це взагалі безцінно. Довірливі відносини з клієнтом дають змогу виходити із кризових ситуацій або навіть не допускати їх.

У цій статті я поділюся своїми спостереженнями й досвідом, що допоможе сформувати відкриті та міцні відносини з ]]></description>
        <link>https://proit.ua/5-krokiv-nazustrich-kliientu-iak-sformuvati-dovirlivi-vzaiemini/</link>
        <guid isPermaLink="false">65a42fb6a74bce3872214dfb</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Юрій Гомон ]]></dc:creator>
        <pubDate>вт, 16 січ 2024 14:00:44 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/01/18378916_2_men_has_a_dealNB--1-.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Успішне підписання контракту із замовником – це, звісно, круто. Але коли умови співпраці підкріплені людською довірою – це взагалі безцінно. Довірливі відносини з клієнтом дають змогу виходити із кризових ситуацій або навіть не допускати їх. </p><p>У цій статті я поділюся своїми спостереженнями й досвідом, що допоможе сформувати відкриті та міцні відносини з клієнтом. Поради будуть корисні керівникам компаній, бізнес-аналітикам, проєктним та Sales менеджерам і всім, хто тісно спілкується з клієнтами.</p><h2 id="1-%D0%B1%D1%83%D0%B4%D1%8C%D1%82%D0%B5-%D1%87%D0%B5%D1%81%D0%BD%D0%B8%D0%BC%D0%B8">1. Будьте чесними</h2><p>Клієнт має знати, у чому ви профі. Надайте повну інформацію про свої послуги, уникаючи перебільшень та неточностей. Не покладайтеся на те, що він міг дізнатись про вас самостійно. Відверта комунікація покаже вас і вашу команду як професіоналів, а також не допустить хибних очікувань із боку замовника.</p><p>Поясніть технічні аспекти доступною мовою. Не всі знають «айтішну» термінологію. Клієнт має чітко розуміти всі нюанси роботи над проєктом. Якщо ви працювали з подібним запитом, розкажіть про свій досвід. Ймовірно, ви можете запропонувати більш ефективне рішення. </p><p>Із самого початку між вами не має бути недомовок. Діліться своїми думками, пересторогами, ідеями й не приховуйте потенційні ризики. Наприклад, ви знаєте, що для великого обсягу даних вибраний алгоритм їхнього сортування може знизити продуктивність програми. </p><p>Детально поясніть клієнту свою думку, в ідеалі – аргументуйте її прикладами. Це покаже замовнику ваше бажання справді допомогти йому, зробити продукт кращим. І це вже підвищить довіру до вас.</p><p>Повідомляйте про будь-які зміни. Запросили до проєкту іншого розробника, виникли проблеми при виконанні задачі чи з’явилася ліпша ідея – дайте знати відразу. В очах замовника ви виглядатимете як надійний партнер. Також це може допомогти виявити додаткові потреби та/або змінити пріоритети у подальшій роботі.</p><h2 id="2-%D0%B4%D0%BE%D1%82%D1%80%D0%B8%D0%BC%D1%83%D0%B9%D1%82%D0%B5%D1%81%D1%8C-%D0%B4%D0%BE%D0%BC%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BE%D1%81%D1%82%D0%B5%D0%B9">2. Дотримуйтесь домовленостей</h2><p>Чітко сформулюйте в договорі умови співпраці й очікування від проєкту та дотримуйтесь усіх пунктів, зокрема термінів, бюджету та обсягів робіт. У вас мають бути реалістичні строки виконання задач. Краще пояснити, чому ви щось не виконаєте за певний проміжок часу, ніж потім сказати, що не встигаєте.</p><p>Під час реалізації проєкту фіксуйте домовленості у зручний для вас спосіб. Не блокнотом чи нотатками у смартфоні єдиними! Прописаний та погоджений із клієнтом план дій повинні мати обидві сторони. </p><p>Користуйтеся таск-менеджерами – онлайн-інструментами для планування роботи в команді. Це можуть бути Jira, Trello, Asana, Notion, які також дають змогу керувати проєктами та командами. </p><p>Якщо такий варіант видається замовнику зайвим або обтяжливим, бо він чи вона – людина бізнесу, дуже заклопотана, то зафіксуйте домовленості в Excel чи іншому текстовому форматі. Це так само збереже прозорість у вашому спілкуванні, і у процесі роботи ви не упустите важливих деталей.</p><p>Підтримуйте конфіденційність та безпеку інформації замовника протягом роботи та після завершення проєкту. Клієнт довіряє вам важливі, чутливі дані. Порушення цієї вимоги може призвести до юридичних проблем, що негативно вплине на вашу репутацію.</p><p>Підтверджуйте виконання всіх домовленостей звітами. Це дасть змогу клієнту оцінити, наскільки вдалося досягнути поставлених цілей.</p><h2 id="3-%D0%B2%D0%B8%D0%B7%D0%BD%D0%B0%D0%B2%D0%B0%D0%B9%D1%82%D0%B5-%D0%BF%D0%BE%D0%BC%D0%B8%D0%BB%D0%BA%D0%B8">3. Визнавайте помилки</h2><p>Невміння брати на себе відповідальність за помилки може сформувати у клієнта враження про вас як про ненадійну людину. Ймовірно, він більше не захоче мати з вами справи. Визнайте, що помилилися, і запропонуйте нове рішення.</p><p>Не приховуйте, якщо неправильно щось виконали чи не встигли до дедлайну, хоча до цього запевнили клієнта, що впораєтесь. Виправдовуватися чи звинувачувати когось – також погана ідея. Чим скоріше ви все владнаєте, тим швидше повернете довіру клієнта. </p><p>І тут доречний wow-ефект, тобто перевершити очікування. Можливо, понаднормово й у позаробочий час, із залученням інших фахівців, але це точно буде на користь вашим відносинам із замовником. Такий підхід свідчить про відповідальність і професіоналізм.</p><h2 id="4-%D0%BD%D0%B5-%D0%B1%D1%83%D0%B4%D1%8C%D1%82%D0%B5-%D0%B1%D0%B0%D0%B9%D0%B4%D1%83%D0%B6%D0%B8%D0%BC%D0%B8">4. Не будьте байдужими</h2><p>Клієнт очікує, що йому підберуть оптимальне рішення, втілять його задум якнайкраще. І при цьому впишуться в бюджет і потрібні строки. На користь спільній справі піде ваш щирий інтерес до сфери бізнесу та бажання розібратися з усіма вимогами до проєкту. </p><p>Розпитуйте про потреби, цілі та плани на майбутнє. Якщо замовник хоче через кілька років додати в застосунок нову функцію, цю можливість варто відразу закласти в архітектуру розробки.</p><p>Процес співпраці не менш важливий за результат. Після підписання контракту недостатньо лише виконувати прописані вимоги. </p><p>Якщо із часом клієнт почав сумніватися в обговореному рішенні (але воно, з вашого досвіду, очевидно спрацює краще), поясніть переваги того, що вже впроваджуєте, чи спробуйте разом пошукати інший варіант. Це теж прояв зацікавленості майбутнім проєкту, що оцінить клієнт. </p><p>Важливо, щоб нове рішення не тільки влаштовувало замовника, але й було технічно можливим. Виникли додаткові питання до вас чи вашої команди – відразу реагуйте на запити. Краще витратити більше часу на комунікацію, але впевнитися, що клієнт заспокоївся і цілком вам довіряє.</p><h2 id="5-%D0%B4%D0%BE%D0%B4%D0%B0%D0%B9%D1%82%D0%B5-%D0%B3%D1%83%D0%BC%D0%BE%D1%80%D1%83">5. Додайте гумору</h2><p>На початку співпраці можна вдатися до невимушених смолтоків. Перед цим дослідіть свого клієнта. </p><p>Перегляньте сторінки в соцмережах. Подивіться, чим людина захоплюється, чим займається у вільний час, які дописи репостить і яку позицію по життю займає. Побачене може стати приводом для вступних розмов навіть на ділових зустрічах. Можливо, серед зацікавлень клієнта є щось близьке і вам.</p><p>Згодом розбавляйте неформальне спілкування гумором, але зважайте на реакцію. Якщо клієнт посміхається, така комунікація йому підходить. </p><p>Жарти мають бути зрозумілими всім. Можна розказати смішні ситуації, які виникають протягом проєкту, або щось жартівливе на цікаву вам обом тему. Професійні анекдоти також підійдуть. Уникайте особистих тем, політики, релігії, щоб не образити співрозмовника.</p><p>Добрі жарти роблять спілкування більш дружнім. А в конфліктних ситуаціях знімуть напругу між вами. Головне – не перетворити робочу комунікацію на стендап.</p><h2 id="6-%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B7%D1%83%D0%B9%D1%82%D0%B5-%D0%B2%D0%B0%D1%88%D1%96-%D0%B2%D1%96%D0%B4%D0%BD%D0%BE%D1%81%D0%B8%D0%BD%D0%B8">6. Аналізуйте ваші відносини</h2><p>Регулярно звертайтеся до клієнта за фідбеком – особисто чи надішліть онлайн-форму для зворотного зв’язку. Останній варіант зручний, коли у клієнта дуже щільний графік і немає часу на розмову. </p><p>Поцікавтеся, чи відповідає ваша співпраця очікуванням замовника, що можна покращити або змінити. Від рівня відкритості між вами залежить і те, чи зможете ви запропонувати клієнту краще рішення для його бізнесу і створити комфортну атмосферу для спільної роботи.</p><h2 id="%D1%8F%D0%BA-%D0%B7%D1%80%D0%BE%D0%B7%D1%83%D0%BC%D1%96%D1%82%D0%B8-%D1%89%D0%BE-%D0%BA%D0%BB%D1%96%D1%94%D0%BD%D1%82-%D0%B2%D0%B0%D0%BC-%D0%B4%D0%BE%D0%B2%D1%96%D1%80%D1%8F%D1%94">Як зрозуміти, що клієнт вам довіряє:</h2><ul><li><strong><strong><strong>Ви отримуєте позитивні фідбеки</strong></strong></strong></li></ul><p>Після співпраці клієнт рекомендує вас на своєму сайті або в соцмережах, на спеціалізованих ресурсах із рейтингами компаній (наприклад, <a href="https://clutch.co/">Clutch</a>, <a href="https://www.goodfirms.co/">Goodfirms</a>). Або ж розповідає про успішну роботу з вами колегам і знайомим у бізнесових колах. </p><p>Це приємно та додасть мотивації всій вашій команді. І що не менш важливо – позитивні відгуки допомагають залучати ще більше нових замовників. Люди схильні довіряти відгукам інших.</p><ul><li><strong>Ваші пропозиції приймаються відразу</strong></li></ul><p>Клієнт охочіше дослухається до вашої думки. Він поважає ваш професіоналізм та бажання створити кращий продукт для нього. З часом ви будете витрачати менше часу на пояснення нових ідей, адже людина з пів слова вас розумітиме й покладатиметься на пропозиції. Тож справа залишається за хорошим результатом.</p><ul><li><strong><strong><strong>Клієнт відкрито ділиться планами на майбутнє</strong></strong></strong></li></ul><p>Адже бачить у вас надійного партнера, готовий працювати разом надалі. І вже зараз розуміє, що ви зможете якнайкраще втілити його ідеї в життя. Тоді після успішного релізу можна очікувати, що цей клієнт знову повернеться до вас із новим проєктом чи пропозицією удосконалити наявне рішення.</p><ul><li><strong><strong><strong>З розумінням ставиться до ваших помилок</strong></strong></strong></li></ul><p>У разі виникнення факапів довіра між вами знизить напруження. Це дасть змогу не погіршувати й без того складну ситуацію. Довіряючи вам, замовник буде певен, що ви візьмете на себе відповідальність, вирішите проблему й постараєтесь не допустити подібного. У такій атмосфері кожен учасник команди почуватиметься комфортніше і спокійніше.</p><ul><li><strong><strong><strong>Робочі відносини стають схожими на дружбу</strong></strong></strong></li></ul><p>Круто, якщо після закінчення проєкту ви продовжуєте спілкуватися, товаришувати. Це ще один доказ того, що у вас склалися довірливі відносини. Я теж маю такий досвід. У процесі роботи якось розговорились із клієнтом про риболовлю. А через кілька років уже разом пішли на коропа. От такий приємний бонус.</p><p>Довіру у роботі надзвичайно легко втратити. Будьте готові постійно плекати відносини зі своїми клієнтами. Вкладайте час і зусилля не лише у проєкти та продажі, але й у людяне, щире спілкування із замовниками. </p><p>Пробуйте нові способи в комунікації, аналізуйте реакції співрозмовника, шукайте персональний підхід. Можете навіть додати у список задач такі пункти: навчитися чути та розуміти потреби оточуючих. Це та навичка, яку потрібно розвивати, щоб професійно зростати. А до профі й клієнти хороші потягнуться.</p><p><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодної публікації!</em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ У розпал повномасштабної війни група компаній Нова пошта поставила перед собою дуже амбітну мету (втім, як завжди) – зібрати разом із фондом «Повернись живим» 330 мільйонів гривень до кінця року на зв’язок для ППО і зробити це разом із суспільством.

Тобто 50% коштів задонатить компанія, а для збору іншої половини ]]></description>
        <link>https://proit.ua/iak-novapay-pidghotuvav-sistiemu-platiezhiv-do-vielikogho-zboru/</link>
        <guid isPermaLink="false">659bed611f4f4efa662c0211</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Яна Левада ]]></dc:creator>
        <pubDate>ср, 10 січ 2024 14:00:51 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2024/01/image.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>У розпал повномасштабної війни група компаній Нова пошта поставила перед собою дуже амбітну мету (втім, як завжди) – зібрати разом із фондом «Повернись живим» 330 мільйонів гривень до кінця року на зв’язок для ППО і зробити це разом із суспільством. </em></p><p><em>Тобто 50% коштів задонатить компанія, а для збору іншої половини NovaPay необхідно було розробити настільки зручну платіжну інфраструктуру, а також систему акцентів та нагадувань, щоб хотілося і легко донатилося всім українцям і не тільки. Розповідаю, що для цього зробили.</em></p><h2 id="%D0%B7-%D1%8F%D0%BA%D0%BE%D1%97-%D1%82%D0%BE%D1%87%D0%BA%D0%B8-%D1%81%D1%82%D0%B0%D1%80%D1%82%D1%83%D0%B2%D0%B0%D0%BB%D0%B8">З якої точки стартували?</h2><p>Наша точка старту – це розуміння, що ми будемо робити це вперше. До цього схожих прикладів зборів у нас не було.</p><p>Нам потрібно було розширити функціонал і створити нові канали прийому платежів. Виклик полягав у тому, щоб подивитися на взаємодію з Новою поштою очима клієнта, пройти його шлях, передбачити потенційні запитання і труднощі, а також відразу запропонувати їх вирішення. Клієнт не мав піти із відділення чи із застосунку без донату на ППО Майбутнього. </p><p>Але головне було – не просто стимулювати його задонатити, а щоб він міг легко і швидко це зробити, відчував безпеку при здійсненні платежу і був впевненим – гроші пішли туди, куди треба.</p><p>Водночас ми мали зберегти потужність, гнучкість і швидкість платіжної системи, адже NovaPay – один із лідерів на ринку грошових переказів. </p><p>За даними НБУ, компанія обіймає 35% ринку. А це приблизно 2,5 мільйони транзакцій на день. Ми обслуговуємо платежі Нової пошти – найбільшої логістичної компанії України.</p><h2 id="%D1%8F%D0%BA%D0%B0-%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BD%D0%B0-%D1%96%D0%B4%D0%B5%D1%8F-%D1%82%D0%B5%D1%85%D0%BD%D1%96%D1%87%D0%BD%D0%BE%D1%97-%D1%81%D0%BA%D0%BB%D0%B0%D0%B4%D0%BE%D0%B2%D0%BE%D1%97-%D1%86%D1%8C%D0%BE%D0%B3%D0%BE-%D0%BF%D1%80%D0%BE%D1%94%D0%BA%D1%82%D1%83">Яка головна ідея технічної складової цього проєкту?</h2><p>Команда NovaPay разом із Новою поштою проаналізували й протестували повний шлях нашого користувача в усіх цифрових точках контакту і як результат – реалізували зручну платформу й надали можливість для українців здійснювати прямі донати відразу через:</p><ul><li>сайт,</li><li>бізнес-кабінет,</li><li>застосунок Нової пошти,</li><li>кур’єрів,</li><li>у відділеннях.</li></ul><p>Ми запропонували масштабне технічне рішення для усіх каналів, де клієнт комунікує з компанією, щоб кожний, хто прагне наблизити перемогу України, міг долучитися до проєкту. Однак при цьому нам важливо було пам’ятати про операційну функціональність і збереження якості проведення основних платежів.</p><p>Водночас вже із набутого досвіду скажу, що для ідеальної інфраструктури для збору донатів необхідно враховувати не лише власні ІТ-способи, але й інші цифрові точки дотику. Наприклад, у нашому зборі донати йшли ще й із продажів коробок та іншої упаковки, з відправлень у поштомати Нової пошти. Також донатив український бізнес.</p><p>Власне, причетність до такої амбітної та глобальної мети водночас і драйвила, і надихала мене і всю команду NovaPay, що працювала над проєктом. Це понад 15 колег із напрямів розвитку бізнесу, ІТ, маркетингу, фінансів, продажів, фінансового моніторингу та юристи.</p><h2 id="ux-front-%D1%96-back-%E2%80%93-%D1%8F%D0%BA%D1%96-%D0%BC%D0%B0%D1%81%D1%88%D1%82%D0%B0%D0%B1%D0%BD%D1%96-%D0%B7%D0%BC%D1%96%D0%BD%D0%B8-%D0%B2%D1%96%D0%B4%D0%B1%D1%83%D0%BB%D0%B8%D1%81%D1%8F">UX, front і back – які масштабні зміни відбулися?</h2><p>По-перше, аналіз клієнтського шляху. Ми розуміли, що ми тут і змагаємося за увагу клієнта, і робимо все задля його зручності, і не забуваємо про технічні можливості системи.</p><p>Клієнт бачив на сайті, у мобільному застосунку чи своєму бізнес-кабінеті кнопку «Задонать – прокачай ППО» і буквально за пару кліків міг здійснити платіж. Для цього ми ретельно пропрацювали UX/UI.</p><p>Наприклад, що краще: отримати пропозицію зі сталою сумою донату, наприклад, додати 10 гривень до оплати, або ж дати вибір із декількох сум і можливість ввести бажану суму вручну? Ми зупинилися на другому варіанті й не помилилися. </p><p>Згідно з нашою аналітикою бачимо, що клієнти часто залишали донати в сумі 100, 200, 500 і навіть 1000 гривень. Цей вклад щодня наближає нас до перемоги.</p><p>Далі – доопрацювали наші front і back-системи. У процесі технічної реалізації розробили новий платіжний метод і сторінку приймання прямого донату, внесли зміни на сторінку оплати відправлення, допрацювали системи обліку переказів NovaPay та бухгалтерської системи.</p><p>По-друге, оновили касовий модуль NovaPay, адже задонатити можна було не тільки самостійно, а й за допомогою касирів у відділеннях та курʼєрів. А це знову таки і front, у якому працює співробітник, і back, інтегрований з іншими інформаційними системами. </p><p>Таким чином, нам довелося внести суттєві зміни до кожної із систем, адже все це – новий функціонал, і неможливо змінити все разом, просто натиснувши чарівну кнопку.</p><p>По-третє, наша доробка – це не тільки про платіж донату. Це проєкт про справжню цілісну систему збору: донатів від Нової пошти, лічильник суми на лендингу проєкту, а також зворотне push-повідомлення клієнту, щоб він знав і розумів, що його дії та замовлення спрямовують кошти на посилення ППО.</p><h2 id="fintech-%D0%B1%D0%BB%D0%B0%D0%B3%D0%BE%D0%B4%D1%96%D0%B9%D0%BD%D1%96%D1%81%D1%82%D1%8C-love">Fintech + благодійність = Love?</h2><p>Спочатку про Love: мета досягнута – масштабний збір на ППО закрито, 330 мільйонів гривень зібрано.</p><p><strong>Якщо говорити про Fintech, то у підсумку ми за півтора місяця підготовки проєкту:</strong></p><ul><li>доопрацювали масштабну систему прийому платежів у касирів і кур’єрів;</li><li>розробили повністю з нуля масштабну функцію прийому донатів – від внутрішньої логіки до візуальних змін;</li><li>створили онлайн-канали для прийому платежів – у застосунку та лендинг;</li><li>ретельно протестували зміни та в офіційний день старту (1 червня) запустили все у «промислову експлуатацію».</li></ul><p>Це була амбітна задача, особливо з огляду на обмеженість у часі, паралельні проєкти, що мають стратегічне значення для компанії, а також важливість технічних нюансів. Зокрема, щоб зміни не вплинули на прийом основних платежів.</p><p>Благодійність у Fintech – це без перебільшень один із напрямів розвитку галузі. Адже наразі ми працюємо з унікальними проєктами та набуваємо виняткового досвіду розробки масштабних благодійних ініціатив за допомогою Fintech. </p><p>На мій погляд, важливо не боятися викликів та обов’язково поширювати цей досвід і для інших фондів та подібних ініціатив, що сприятимуть миру в нашій країні.</p><p><em><em><em><em><em><em><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодну публікацію!</em></em></em></em></em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Спочатку питання: що спільного між атакою на «Київстар» і Telegram?

Висновок зможе зробити кожен, хто дочитає цей допис до кінця, а поки що ось вам трохи логіки й аргументів.

«Київстар» поки не надає інформації про важливі технічні аспекти атаки, і це дає повне право будь-кому (особливо ігзпертам) висувати теорії різного ]]></description>
        <link>https://proit.ua/shcho-spilnogho-mizh-atakoiu-na-kiyivstar-i-telegram/</link>
        <guid isPermaLink="false">65840cdeff7a05fa602a1522</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Костянтин Корсун ]]></dc:creator>
        <pubDate>пт, 22 груд 2023 14:00:21 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/12/hacker-hood-holds-phone-his-hand-generative-ai-2.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Спочатку питання: що спільного між атакою на «Київстар» і Telegram?</p><p>Висновок зможе зробити кожен, хто дочитає цей допис до кінця, а поки що ось вам трохи логіки й аргументів. </p><p>«Київстар» поки не надає інформації про важливі технічні аспекти атаки, і це дає повне право будь-кому (особливо ігзпертам) висувати теорії різного ступеня конспірологічності. </p><p>Власне, питань без відповідей наразі залишається рівно два. Перше: чому атака відбулася саме 12 грудня (адже запорєбрік завжди робить бяки до якихось «сакральних» дат) і друге: чому, маючи повний доступ до «ядра» системи, злочинці обрали найтупіший з усіх можливих варіантів – тотальне знищення всього? </p><p>Якщо коротко, то програмні продукти для внутрішніх систем обліку «Київстару» ще у 2013 році писала росіянська компанія Peter-Service (нині Nexign), яка входить до холдингу алішера усманова й активно співпрацює із силовими структурами країни-агресора. </p><p>У 2015 році тодішній власник «Київстару» Vimpelcom планував переходити на софт від Ericsson, сума очікуваного контракту була приблизно $1 мільярд. Але шось пішло не так, і у 2017 році від контракту відмовилися з подальшою виплатою компенсації Ericsson у розмірі $350 мільйонів. </p><p>У 2021 році, коли Vimpelcom став VEON, а пізніше на його росіянських акціонерів-олігархів наклали санкції, перемовини з Ericsson відновили (це моя здогадка). Тому, скоріш за все, коли росіянський розробник софту для «Київстару» відчув, що «п****ць крадеться усмішкою хижой» (с) і їх вже ось-ось замінять, він скористався своїм доступом до розроблених ним же продуктів для їх повного знищення у внутрішніх мережах КС. Або передав ці доступи своїм друзякам із фсб-гру, які й організували «хакерську атаку». </p><p>Ця теорія надає відповіді на питання «чому знищили», «чому саме в той день» і чому натякали на «інсайдера» та «скомпрометований акаунт». Я навіть не виключаю, що щось подібне могло бути передбачене дрібним шрифтом у якомусь пункті договору між Peter-Service та «Київстар».</p><p>І стосовно інших українських мобільних операторів: послугами Peter-Service користувалися також MTS-Vodafone і, можливо, вони досі використовують якісь продукти цього росіянського виробника. Lifecell заявляв, що не використовує «підсанкційних продуктів», але його материнська компанія Turkcell також є (була) у списку клієнтів Peter-Service (сайт компанії наразі недоступний). </p><p>Сподіваюся, станом на зараз усіх необхідних попереджувальних заходів українськими операторами вже вжито. </p><p>А тепер переходимо до питання на початку допису: а чому ви вважаєте, що того ж самого не може трапитися з іншим росіянським продуктом – Telegram? Розробник – теж росіянський, як би вони не прикидалися. Якісь працівники та сервери <a href="https://cutt.ly/awDnbguk">досі працюють</a> на території злочинної федерації.</p><p>У березні 2021 року Павло Дуров <a href="https://cutt.ly/6wDlxEeh">взяв</a> $1 мільярд від кремлівських олігархів на Telegram. З владою країни-агресора він теж співпрацює. Щонайменше – по «тероризму», але ж кремлівці усіх нас, українців, які прагнуть залишатися вільними, вважають «терористами». </p><p>Технічну можливість зруйнувати свій продукт у вашому смартфоні Telegram теоретично має. А може під виглядом оновлення також шпигунську програмку надіслати. </p><p>Тому поставте собі питання: а чи може ситуація, яка склалася з російським софтом у «Київстарі», повторитися у вашому смартфоні з російським же софтом Telegram? </p><p>Ну, і зробіть єдиний правильний висновок – знесіть вже той в$pаtий Telegram. Не чекайте, поки він знесе вас.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/0V67ADwFsPw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen title="Співпраця з ФСБ та сервери на росії | Що не так із Телеграм [ENG sub] (napisy PL)"></iframe></figure><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>Підписуйтеся на </em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em><a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer"><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>ProIT у Telegram</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></a><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>, щоб не пропустити жодну публікацію!</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ GraphQL лише за кілька років став популярною альтернативою REST API. Сьогодні ця технологія використовується в багатьох мовах: від PHP і Java до Scala та Ruby.

У цій статті я розповім, як працює GraphQL на Python, а також розберу приклади використання GraphQL із бібліотекою Strawberry.


GraphQL – що це і для чого ]]></description>
        <link>https://proit.ua/graphql-iak-altiernativa-rest-api-iak-pratsiuie-na-python-v-chomu-pierievaghi-ta-niedoliki/</link>
        <guid isPermaLink="false">657f40bb1f4f4efa662bebda</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Денис Москаленко  ]]></dc:creator>
        <pubDate>вт, 19 груд 2023 14:00:47 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/12/html-css-collage-concept-with-person.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>GraphQL лише за кілька років став популярною альтернативою REST API. Сьогодні ця технологія використовується в багатьох мовах: від PHP і Java до Scala та Ruby. </p><p>У цій статті я розповім, як працює GraphQL на Python, а також розберу приклади використання GraphQL із бібліотекою Strawberry.</p><h2 id="graphql-%E2%80%93-%D1%89%D0%BE-%D1%86%D0%B5-%D1%96-%D0%B4%D0%BB%D1%8F-%D1%87%D0%BE%D0%B3%D0%BE-%D0%BF%D0%BE%D1%82%D1%80%D1%96%D0%B1%D0%BD%D0%BE">GraphQL – що це і для чого потрібно</h2><p>GraphQL – це мова запитів та їхньої обробки. Завдяки відкритості коду та активності ком’юніті користувачів ця мова швидко поширилась у різних проєктах.</p><p>Авторами GraphQL є команда Facebook. Щоб зрозуміти, навіщо вони ще у 2012 році вирішили створити мову запитів, розглянемо одну з проблем відомого всім REST API. </p><p>Уявімо проєкт про управління бібліотекою, де треба зробити запит до бази даних задля отримання списку авторів, кожен із яких написав якусь кількість книг. І тут одразу виникає запитання: а як запросити ці книги? Якщо разом з автором повертати список усіх його книг, то крім сутностей авторів можуть з’явитися десятки й сотні сутностей книг. У результаті розмір відповіді зросте у рази. При цьому самі книги у такій кількості часто не потрібні. За деякими рекомендаціями побудови RESTful API так робити не вважається правильним, але це вже окрема філософія 😉.<br></p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/N0_JSKPHFfFAHtnVbpumywO0FxIGdC5HR7i-r_JarnuMKsS0j__GwJzrohlZZ-Sp8puz5aCMQ2Gn881BELyOUtx4auSRGXnAgGlSQWZ7fjq8mRYgtiCOWa5TTIeHthWD2EnwIF0Azg3Jzt0qU3AWXg" class="kg-image" alt loading="lazy" width="602" height="336"></figure><p>Альтернативний варіант: надіслати відповідний запит за книгами кожного автора. Але з’являється інша проблема. Якщо книжки все ж будуть потрібні, то для кожного автора полетить безліч додаткових запитів. Це викликає підвищене навантаження на систему.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/dPayUq8v1q3rMGDYyNhGUjW4KMEcZ-oHt-DHgj4yR4hjii_5e-P4qlEC-rs48VXRA95XooL5RUlLbvshhW2hHkI1lisU4-iMUsg8EXmcSU0zA3W1K9YOz-0IXP97EJinbl3TTQOJCVDUHhVC1fDZXA" class="kg-image" alt loading="lazy" width="602" height="337"></figure><p>Ситуацію можна вирішити простіше. Наприклад, зробити ще один запит на книги із вказівкою, яким авторам потрібно повернути ці книги. Тобто буде лише два запити. </p><p>Але й тут не без проблем. Довжина URL не обмежена, але більшість браузерів не сприймає адреси довші за 2048 символів. Тобто кількість параметрів, яку ми можемо задати, обмежена довжиною строки.<br></p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/x2aI_EAJOv_n1C1ikRNawuaplAczH46XMWD3MLxZDaytcSict-xmLynib63ue9Jj7SqDpzbT17AuaMvk962XQqoLTWz56fwVWhrv_jbkPZY2uEcNRnKQfp8e-KOW3ftKKEWTGLLn_koXt2NKIyHllg" class="kg-image" alt loading="lazy" width="602" height="317"></figure><p></p><p>Виникають питання з появою додаткових пов’язаних сутностей. Наприклад, якщо з’являться нагороди, то буде потрібно робити ще один запит.<br></p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/aWlX6fyXjr6HogrwM3XjYOK8dA7m1rMp_WjhUzUC6PcW3SA0PB_XxsGJNVbZW63Rbi6KHSj8607WT119_CNuNNPTIAmRTznwyrc5emRIze3vb-KgCk2VJMuYmFO0TU--g4jfPMGudb4B7P-t5Zgjaw" class="kg-image" alt loading="lazy" width="602" height="325"></figure><p>Є й інший варіант. З огляду на рівні зрілості REST API, зокрема третій, разом із відповіддю повинно повертатися покликання, за якими можна отримати додаткові дані. Тобто отримаємо тільки те, що потрібно. </p><p>Виникне невеликий оверлоад у вигляді посилання, але це ні на що особливо не впливає. Якщо нам все ж будуть потрібні книги, то за вказаним URL можна отримати потрібні об’єкти.<br></p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/Ds0LcXdcwCU5TA4tcMq87Z9bd_kNzNIvJ-arje1PNV8yVlVF7tHLXSeg6l6EWOrLt9VQ7bcBFBf5trYbH_q86-k5dLqtahomL4qXP4xnk1YBwUtvKTzS7JK3wWsUHpE8HTK2Bd8P2T8rJ03vdWF3eg" class="kg-image" alt loading="lazy" width="602" height="337"></figure><p>Але й це вирішує не всі негаразди: проблема перебору вирішена, але недобору – ні. За потреби клієнту доведеться для кожного автора зробити безліч запитів на отримання багатьох книг.</p><p>REST як перевірений роками стандарт має інші механізми для розв’язання цих проблем. Чесно кажучи, всю логіку роботи GraphQL можна реалізувати поверх REST за допомогою тих самих query-параметрів. Наприклад, GET /authors?fields=books... Насправді все обмежується тільки фантазією і вашими силами, а GraphQL пропонує альтернативний підхід.</p><p>Схожі технології існують не тільки у Facebook. Наприклад, Netflix має свої рішення для подібних ситуацій, зокрема Falcor. Вони необхідні при оптимізації високонавантажених систем, де економія навіть половини респонсу скорочує витрати на хостинг на тисячі доларів.</p><h2 id="%D1%8F%D0%BA-%D0%BF%D1%80%D0%B0%D1%86%D1%8E%D1%94-graphql">Як працює GraphQL</h2><p>GraphQL надає один ендпоінт. Він може називатися як завгодно, але найчастіше – /graphql. Вся логіка міститься у query. Це мова, якою можна скласти запит і вказати, який конкретно параметр необхідний. Якщо потрібні автори, вказуємо необхідні поля з моделі автора, наприклад, ID, ім’я. Якщо потрібні книги, то зазначаємо їх, а все зайве не вказуємо зовсім.<br></p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/qq0_cNpZQDPXJWAkCD6w_jhQTQhu0_3IiAAv2F9FNSnMUvpAvilAQ-F2WWkWF0aXv622y1EfnZ1Fj3nc6vQZwone7IP6rIMSMwM3qJd8HqwtbEEmVGEL13yJ6r2v4Vnpal885hqd1QePYmA1iZ9_wg" class="kg-image" alt loading="lazy" width="602" height="257"></figure><p>Ще одна перевага GraphQL – робота поверх звичного HTTP. Внаслідок цього можна використати будь-який зручний для вас клієнт. Потрібно додати до тіла запиту параметр query, куди передати Query як строку.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/Xwvnx4nwoion6QXwPnOXAhND8zuIIElCRf0rm9jgULA3OJ-NFUtpIhk7_j8Q_SIr1rcN6NeigDDheJ4PKIuRLiCNUFqDqlESemh0LIyWwpnVBWRag6Wx9TuClTIqVwJJ7tJk2yGYggf0VYtG6a447A" class="kg-image" alt loading="lazy" width="602" height="308"></figure><p>У відповідь ми отримуємо те, що запитували: ID, ім’я авторів, книги. Причому у нас надсилається лише один запит і надходить лише одна чітко структурована відповідь. У результаті автоматично вирішується проблема перебору та недобору даних, тисяч зайвих запитів і всього описаного вище.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/mheMfbn87ibmJIyl2BbmwXlNhniyMoXs6VxLZEUYC_rgEPxog-5IMAhisQn2zRLBL1-wn4vgQE0eCw7Pb6lnv3I6P0Oxnl8T_KM8lAegcbgbiaAI_QvLEUu5XieWFfvlUQCmh2M-WN7cxMLT2XOWCw" class="kg-image" alt loading="lazy" width="602" height="335"></figure><h2 id="%D1%8F%D0%BA-python-%D0%BF%D1%80%D0%B0%D1%86%D1%8E%D1%94-%D1%96%D0%B7-graphql">Як Python працює із GraphQL</h2><p>Для роботи із GraphQL на Python існує багато бібліотек, але я зупинюся на <a href="https://strawberry.rocks/">Strawberry</a>.  При виборі я керувався насамперед асинхронністю й анотаціями типів. Якщо інші популярні бібліотеки досить зрілі й для типів використовують класи та методи класів, то Strawberry вміє інтерпретувати пітонівські типи у типи GraphQL. Сам же GraphQL визначає стрінги, інти, флоти, буліани тощо.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/1hwAw5rRO1iqUXTxgHPmslaDgpwpUgqpAL3guw3-KsSkoeKBw0Sa_aHoje0snxZ28HT2mAJyyZx6SFP6w5d5T1UmY-WHmv5iy1ID0J5BoU4JIdUzCFyjEbPT0Ihk8b83Sg6c-U9d8Ck-AT6AZOvZAA" class="kg-image" alt loading="lazy" width="602" height="252"></figure><p></p><p>Достатньо вказати анотацію для типу Python, і бібліотека сама призведе до потрібного типу GraphQL.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/QzHS5EtCLZ36uuxQYaHzv6kWtWsGptx10QEOwABmlaErONF8dU9IbIE0ZcBZF70JGa0sxgei0NE6Uv6NIzZRDLJacihEt6cC9Va0XcS-mSywKi-hwYnUG8A3P4FimvEMjQ9dWlP06EczdBgNH34gug" class="kg-image" alt loading="lazy" width="602" height="324"></figure><p>Тут можна побачити ще одну особливість GraphQL. Ця мова суворо типізована – для кожного об’єкта у схемі повинен бути заданий тип будь-якого атрибута. Ці типи будуть видимі всім, хто має схему.</p><pre><code class="language-javascript">...
type Mutation {
  create_author(input_schema: AuthorAdd!): AuthorAddResponse!
  delete_author(author_id: Int!): AuthorNotFound
  create_book(input_schema: BookAddInput!): BookAddResponse!
  delete_book(book_id: Int!): BookNotFound
}

type Query {
  authors: [Author!]!
  author(author_id: Int!): AuthorGetResponse!
  books: [Book!]!
  book(book_id: Int!): BookGetResponse!
}
...
</code></pre><p>Схема досить детальна. У ній зібрані всі типи, методи, запити, які можна використовувати. Якщо передати файл фронтенд-розробнику, йому навіть не потрібно буде підіймати ваші сервіси, навіть відкривати Swagger. </p><p>Серед фронтенд-інструментів також є різні бібліотеки та розширення, які вміють працювати з цією схемою і підказувати все необхідне до найдрібніших деталей. Будь-який фронтенд-розробник подякує вам за це.<br></p><p>Strawberry гарний сам по собі, але його можна зробити кращим. А для цього – прикрутити його до певного популярного фреймворку. Strawberry може працювати із, зокрема, Django і Flask, але я обрав FastAPI. Потрібно увімкнути роутер із префіксом, який розглянуто на ілюстрації вище. Ім’я може бути будь-яке, але знов-таки найчастіше задають /graphql.</p><pre><code class="language-javascript">
def create_app() -&gt; FastAPI:
    _app = FastAPI(title='LectureAPI', version='0.1.0')

    graphql_router = GraphQLRouter(schema=create_graphql_schema(), context_getter=_get_context)
    _app.include_router(graphql_router, prefix='/graphql')

    return _app</code></pre><p></p><p>Далі треба прописати схему GraphQL, що була розглянута вище. Вона ділиться на queries та mutations. Перші – це все, що стосується отримання даних. Другі – це зміни даних: додавання, видалення, оновлення. У результаті задаємо квері й мутації та об’єднуємо схему, яка представлена нижче.</p><pre><code class="language-javascript">def create_graphql_schema() -&gt; strawberry.Schema:
    queries = (AuthorsQuery, BooksQuery)
    mutations = (AuthorsMutation, BooksMutation)

    return strawberry.Schema(
        query=merge_types('Query', queries),
        mutation=merge_types('Mutation', mutations),
        config=StrawberryConfig(auto_camel_case=False),
    )</code></pre><p>Результат цього – одна велика схема з мутаціями та квері, яку ми обговорювали вище.</p><p>Використання FastAPI дає ще один плюс. Окрім GraphQL, ми зберігаємо можливість працювати із REST API. Це може бути корисним у деяких випадках. Наприклад, у вас є платіжна система, яка відправляє вебхук про оплату і найчастіше не вміє працювати з GraphQL. Таку проблему нерідко вирішують підняттям додаткових сервісів, які конвертують REST-запит у GraphQL-запит і відправляють на сервер. Але завдяки FastAPI можна просто додати REST-ендпоінт.</p><p>І тут варто згадати важливий нюанс. Погодьтеся, було б незручно отримати схеми, а далі робити щось на власний розсуд, писати запити вручну, звіряючи їх зі схемою. Тому для комфортної роботи існує безліч різних GraphQL-клієнтів. Strawberry надає <a href="https://github.com/graphql/graphiql">GraphiQL</a>: зручний, із приємним інтерфейсом, він буквально одразу пропонує вам щось зробити. Щоб користуватися ним, достатньо запустити застосунок і відкрити створений ендпоінт /graphql у браузері.<br></p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/oDydpJySrbVwbffRKL7-wMMQYbwAiBIRTN6hqCGvo_5ah7Bh95HLM1_dzBWHjXl9W4lJJYsUqBSq8kjDWbSLw17jJwDTbOQmwMeH6luTHDhSPNXX6NmkkuwjMaIho00uZANlRC4xvX6jxlIbtZnoTA" class="kg-image" alt loading="lazy" width="602" height="421"></figure><p>Клієнт також завантажує детальну документацію про всі наші типи, квері, мутації, методи тощо.<br></p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/__IJ7G0UsiOLBQYi6EX47YFsVf5ZU9tKJas5W1UtpSfD8vjrzyKIHtdubByaGfbwcqJfk1-dccDyt4PKptMzI68_VSqyLxXnSR-rTRsSksRUCwvD00g3-xviwpFVhtMHG-AjUTARPY9E5VEDchw47w" class="kg-image" alt loading="lazy" width="602" height="331"></figure><p><br></p><h2 id="%D1%8F%D0%BA-%D0%BF%D1%80%D0%B0%D1%86%D1%8E%D0%B2%D0%B0%D1%82%D0%B8-%D0%B7-query-%D1%83-graphql">Як працювати з query у GraphQL</h2><p>Перш ніж розглядати написання query, оцінимо, як це виглядає у Python-коді. query тут виглядає так:</p><pre><code class="language-javascript">@strawberry.type
class AuthorsQuery:
    @strawberry.field
    async def authors(self, info: Info) -&gt; list[AuthorType]:
        service = AuthorService(settings=info.context['settings'])
        return await service.get_authors()</code></pre><p>Оскільки GraphQL є типізованою мовою, потрібно прописати тип того, що ми віддаємо. Те ж саме буде конвертоване в GraphQL-тип. Strawberry базується на дата-класах, тому синтаксис для типів буде дуже схожим, але з деякими поліпшеннями та розширеннями. Його також можна перетворити на словник, як звичайний дата-клас, використовувати default factory тощо. Що стосується доповнень, то @strawberry.type(name='Author') – це аліас: те, як тип бачить клієнт у схемі.</p><pre><code class="language-javascript">@strawberry.type(name='Author')
class AuthorType:
    id: int
    name: str

    @strawberry.field
    async def books(self, info: Info) -&gt; list[Annotated['BookType', strawberry.lazy('app.graphql.books.types')]]:
	...
</code></pre><p>Приємним доповненням є механізм дата-лоадерів. Він дає змогу задати логіку того, як це поле буде прораховане або отримане. Якщо у вказане поле не вставити значення явно, Strawberry зможе отримати його самостійно.<br></p><pre><code class="language-javascript">@strawberry.type(name='Author')
class AuthorType:
    id: int
    name: str

    @strawberry.field
    async def books(self, info: Info) -&gt; list[Annotated['BookType', strawberry.lazy('app.graphql.books.types')]]:
        from app.graphql.books.service import BookService

        service = BookService(settings=info.context['settings'])
        return await service.get_books_by_author_id(self.id)</code></pre><p>Коли в результаті у клієнті ми пропишемо квері з викликом методу authors і лише його id та ім’я (адже часто зовсім не обов’язково запитувати всю інформацію), то в результаті отримаємо тільки те, що й запитували.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/PZwDd4XbiSRxyQerRHgM6p6UGbGgZD6W6EprBiNxDW336OfgiRKr8WtadZTVptE5MRy4dVnj1_cxWP_cYWU_MTt5lcDq9UooU0VVhW7ccOt_aVtndDtSsVnxZ5Qp4J37K8lyyKZ-vsX7bY2nLwADQQ" class="kg-image" alt loading="lazy" width="602" height="249"></figure><p></p><p>За потреби можна додати поля і запросити всі книжки авторів.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/7bchZzm6QrYrzg8T41UA47jYV2N6CAOx74OyrZVXplapS7zJukuxyYQhKxemr94U44zHyEeH9pwEsXL7Bx2lUYwSw4eU7qqlhBXIEYf2qyf2EL2gxOBS5S79frhmVYwKKcBPPuJ60e3M8rWpuJhdzg" class="kg-image" alt loading="lazy" width="602" height="331"></figure><p></p><p>На відміну від REST GraphQL не обмежує єдиним запитом. У випадку REST в одному запиті можна взяти лише одну сутність: автора, перелік книг тощо. У GraphQL в одному запиті групується скільки завгодно непов’язаних одна з одною сутностей. </p><p>Коли це може стати у пригоді? Припустимо, у вас завантажується сторінка, і потрібно відразу отримати декілька різних сутностей. Усе це можна зробити одним GraphQL-запитом.<br></p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/pI1IBSaz9tVavsTBQ-pkcP8ZbzD6qzSQ5_xPLrV_fi04oA8BMG7vPkeUEjjrRd0W_vd51KxKUDxD7rcZdsCYXzIWjAeWdaSG1dozaiUKdeCi0LXheImuqNg8nvsMwqfrC18iOu-6BUJ3VoAFCDf5AA" class="kg-image" alt loading="lazy" width="602" height="334"></figure><p>Але тут є кілька проблем. GraphQL працює поверх HTTP, але він не заглиблюється у механізми роботи з ним. Існує тільки POST-запит та відповідь на все зі статус-кодом 200. Максимум – відповідь 500, якщо серверу зовсім погано. </p><p>Якщо ви надішлете запит на отримання автора за ID і він не буде знайдений, або надішлете запит на отримання всіх книжок, то зазвичай повинні отримати статус-коди 404 та 200 відповідно. Але GraphQL обійдеться без статус-кодів. Як же без них зрозуміти, що щось пішло не так? На цей випадок GraphQL має альтернативу. Розглянемо приклад.</p><p>Нижче ви бачите звичайний get-запит, що шукає автора по ID. Тут може бути цілком доречною помилка, що автора не знайдено.</p><pre><code class="language-javascript">@strawberry.type
class AuthorsQuery:
    @strawberry.field
    async def authors(self, info: Info) -&gt; list[AuthorType]:
	...

    @strawberry.field
    async def author(self, author_id: int, info: Info) -&gt; AuthorGetResponse:
        service = AuthorService(settings=info.context['settings'])
        try:
            author = await service.get_author_by_id(author_id)
        except NotFoundError as e:
            return AuthorNotFoundResponse(message=str(e))
        return author</code></pre><p>На допомогу приходять ті самі типи. Ми можемо створити новий тип для відповіді на запит, у який включити можливі помилки. Це може бути будь-яка інформація, яка дозволить зрозуміти, що сталося. У нашому випадку додамо до відповіді на запит інформації автора можливу помилку про те, що він не знайдений. А далі за допомогою юніона створимо AuthorGetResponse.</p><pre><code class="language-javascript">
@strawberry.type(name='AuthorNotFound')
class AuthorNotFoundResponse:
    message: str = 'Requested Author not found'



AuthorGetResponse = strawberry.union('AuthorGetResponse', (AuthorType, AuthorNotFoundResponse))</code></pre><p>У підсумку результат відповіді на запит для наявного автора залишиться незмінним, а квері матиме такий вигляд.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/whEIjfDQu-Sf5M349R4hE6p_qk6D8hoPnPs2smmPwhBmaql1g-fpPmf8cVY-_ytmzgenJks7_wW410Pfc2g44VU3_AsSFuMZnVk2iR1q09R7hjgMP6KplKZu4e_zPzDHhflmhuD3QI5P2ZVORkdiQw" class="kg-image" alt loading="lazy" width="602" height="147"></figure><p>Якщо дати запит на відсутнього автора з ID 99, то нічого й не знайдеться, тож отримаємо відповідний response.<br></p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/0N_H0ksuCyaGdCg9X8D1ro8J9iz_JFaVmy6GaRxMOmJ-f_9S3xygmO-e24GU71plqwTdziWAbHcAX5lKYDph81ez17oII_AgTekH_q8zEnJJ6tS_-Pmwr7_qd7q49OJWNFnPcRu5tRCJr5XlpUQQqQ" class="kg-image" alt loading="lazy" width="602" height="147"></figure><p>На перший погляд, це все додає труднощів. Ми змушені думати про об’єкти та створювати додаткові структури замість того, аби просто повернути статус-код, з яким вміє працювати клієнт. Та GraphQL гарно інтегрується у роботу з клієнтом. Майже будь-яка фронтендівська бібліотека вміє навішувати певні дії на помилки на кшталт «Автор не знайдений» чи «Автор не існує». </p><p>Тобто на фронтенді не потрібно буде перевіряти статус-коди, писати безліч if блоків і роздувати логіку. Бібліотека сама розбереться, що вона отримала помилку «Автор не знайдений», і викличе відповідну обробку цієї події. Це дійсно зручно й інформативно.</p><h2 id="%D1%8F%D0%BA-%D0%BF%D1%80%D0%B0%D1%86%D1%8E%D0%B2%D0%B0%D1%82%D0%B8-%D0%B7-mutation-%D1%83-graphql">Як працювати з mutation у GraphQL</h2><p>Отримувати дані – це добре, але хотілося б вміти їх змінювати. Тому, окрім квері, важливо розібратися з мутаціями.</p><p>Зауважу: у моїх прикладах як бази даних використовуються прості JSON-файли. Але все це буде так само працювати зі SQL, NoSQL і сторонніми сервісами.</p><p>Почнемо з поняття extension. Простіше кажучи, це як middleware на всю схему. У Strawberry безліч таких екстеншенів. Наприклад, можна використовувати вбудовані обмеження максимального числа рекурсії у 3, щоб користувач не писав запити із великим рівнем вкладеності.</p><pre><code class="language-javascript">def create_graphql_schema() -&gt; strawberry.Schema:
    extensions = (
        QueryDepthLimiter(max_depth=3),
        ValidationCache(maxsize=256),
        ParserCache(maxsize=256),
        # ApolloTracingExtension,  # Enable performance tracing
        # MaskErrors(),  # Hide error description, like "Debug=False"
    )

    queries = (AuthorsQuery, BooksQuery)
    mutations = (AuthorsMutation, BooksMutation)

    return strawberry.Schema(
        query=merge_types('Query', queries),
        mutation=merge_types('Mutation', mutations),
        extensions=extensions,
        config=StrawberryConfig(auto_camel_case=False),
    )</code></pre><p>Можемо використати розширення QueryDepthLimiter. У такому випадку система видасть помилку, якщо квері буде занадто глибокою. Як ми бачимо нижче, GraphQL не виключає можливість помилок у квері, тож такі обмеження можуть бути корисними. </p><p>Або, наприклад, якщо у вас використовується деревоподібна структура з parent і child, то корисно пройти вглиб до якогось елемента, а також мати ліміти на глибину такого проходу. Загалом GraphQL чудово працює із деревоподібними структурами.<br></p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/HjEmwDwPkgtq46107KsrQSc3JzQqpVY1J8-OSwXJG6U4F8SjG6UTwLrrmDrq9MwXvwJAF5XYr0foyE2d0WIl8x7jVuMcg59qDtx-RSylJKJKRLYfpGSWmVITxUhsq-glJEojAg8lM396gYMLLekdBQ" class="kg-image" alt loading="lazy" width="602" height="173"></figure><p>Також Strawberry дає змогу писати будь-які кастомні extensions. API досить простий, тому можна для всього необхідного написати екстеншн як на всю програму, так і безпосередньо на якийсь метод. Наприклад, я до create_author додав Pydantic-валідацію.</p><pre><code class="language-javascript">@strawberry.type
class AuthorsMutation:
    @strawberry.mutation(extensions=[PydanticValidationExtension(AuthorCreate)])
    async def create_author(self, input_schema: AuthorAddInput, info: Info) -&gt; AuthorAddResponse:
        service = AuthorService(settings=info.context['settings'])
        try:
            author = await service.create_author(name=input_schema.name)
        except AlreadyExistError as e:
            return AuthorAlreadyExistResponse(message=str(e))
        return author</code></pre><p>Цей extension завантажує модель і при помилці валідації видає відповідний error response. Так ми позбавимося ручної валідації у кожному методі, куди додамо наш extension. Натомість достатньо навісити потрібний нам extension. </p><p>Нижче показано досить «‎сирий» підхід. Напевно, не слід застосовувати його у продакшн-проєктах, але сама суть тут має бути зрозумілою:</p><pre><code class="language-javascript">class PydanticValidationExtension(FieldExtension):
    def __init__(self, model: Type[BaseModel]):
        self.model = model

    async def resolve_async(self, next_: AsyncExtensionResolver, source: Any, info: Info, **kwargs):
        if 'input_schema' in kwargs:
            try:
                self.model(**strawberry.asdict(kwargs['input_schema']))
            except ValidationError as e:
                return ValidationErrorResponse(
                    message='Validation Error',
                    errors=[
                        ValidationErrorSchema(
                            message=e['msg'], location=list(e['loc']), type=e['type'], ctx=e.get('ctx')
                        )
                        for e in e.errors()
                    ]
                )

        return await next_(source, info, **kwargs)</code></pre><p>Переходимо до мутацій. Створимо якогось автора. Важливо, що клієнт GraphiQL постійно видає підказки під кожне слово, а ліворуч зібрана документація з описами, що вона очікує, які типи даних тощо. Все це помітно полегшує роботу із GraphQL.<br></p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/DS3t9OGAKHZCSsLUNtQ3v1ZJakjAUVGjXBsLNDPWZzIiLYpAHmoDIwrxaNzrrQTTuscLHMXSorR_Uf-eNQRAiYYWyqlYid_QAqFSNG144a6qXvyGeaI9JbucE_uHbV9woHdHsB4hDQkEapDAh349iw" class="kg-image" alt loading="lazy" width="602" height="177"></figure><p></p><p>Але GraphQL одразу видає попередження: потрібно обов’язково щось повернути. Як мінімум, це буде ID.</p><p></p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/LqmL-O-Xk_8StUP35vKBDNq5Kix6PLo9Zo2oyCWVzi0aJVLXQvkGPQfRKVpcuTO0VH3ZKXoZ2JS-zXihk-E6mq7biVUVtjoqdNplfuuEEiMGlnOfhvDpjPljuYbecZ5_4ZTkoPcl5Zf_IaiJbB29PA" class="kg-image" alt loading="lazy" width="609" height="151"></figure><p>Не забуваємо про можливість помилок. Тому на успішну відповідь поставимо повернення ID, а припустимо, на AuthorAlreadyExist повертатиметься message.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/xEIwwBxTgc6mq2kkeyvydYWkPU0m-02M70yw86pjnAe__SgpiXL2rlxlbov8KG-6D4sqSYR2Si-LiqOSaHxRCfBkGMrbc0ThYtxyqbP3yC7Q4Bo4p5Tt9WaXuhUBs7J6e2TC_Q4zQVX4jTLDEdZLXQ" class="kg-image" alt loading="lazy" width="602" height="256"></figure><p></p><p>Якщо написати щось зовсім неадекватне, то наш PydanticValidationExtension явно вкаже, що саме ви робите некоректно.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/pAsck6WI6BpOd-zyjY0RtolD4XJd7pALHcBm-VQrEc184H4eGaPIWJ8KcLrm3e_vV5iAbd8U87Cwn3l6eY2v0BUsB957Sa7krK8nrcU7r0kx5IzwjDM_uFkdnNZDxKAGm2N3DsEcprhCDvHGxG8RdA" class="kg-image" alt loading="lazy" width="602" height="245"></figure><p>Грубо кажучи, все це є вхідною точкою у нашу систему, яка не так вже й відрізняється від звичних REST-ендпоінтів. Просто тут дещо інша логіка вирішення тих чи інших проблем. Насправді практично будь-яку REST API можна реалізувати й на GraphQL. За умови правильної архітектури системи можна без проблем перейти на GraphQL, не змінюючи написаної логіки.</p><h2 id="%D1%8F%D0%BA-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D1%82%D0%B8-graphql">Як тестувати GraphQL</h2><p>Нагадаю, що я БД у своїх прикладах я використовую JSON-файли. Їх я очищую перед кожним тест-кейсом, емулюючи поведінку ролбеку транзакцій.</p><pre><code class="language-javascript">TEST_DB = os.path.join(pathlib.Path(os.path.dirname(os.path.realpath(__file__))), 'db')


@pytest.fixture(scope='session')
async def app() -&gt; FastAPI:
    from app.main import create_app

    _app = create_app()

    yield _app


@pytest.fixture(scope='session')
async def client(app: FastAPI) -&gt; AsyncClient:
    async with AsyncClient(app=app, base_url=TEST_HOST) as client:
        yield client


class TestBaseDBClass:
    """Provides Test Class with loaded database fixture"""

    @pytest.fixture(autouse=True, scope='function')
    def _provide_db(self):
        """Provides an empty database for all tests in class"""
        all_db_files = os.listdir(TEST_DB)
        for file_path in all_db_files:
            open(os.path.join(TEST_DB, file_path), 'w').close()


class TestBaseClientClass:
    """Provides Test Class with loaded client fixture"""

    @pytest.fixture(autouse=True)
    def _provide_client(self, client: AsyncClient):
        """Provides client for all tests in class"""
        self.client = client


class TestBaseClientDBClass(TestBaseClientClass, TestBaseDBClass):
    """Provides Test Class with loaded database and client fixture"""</code></pre><p>Пропоную розібрати тест на отримання списку авторів. У цьому випадку можна виявити єдиний неприємний момент: потрібно вручну прописати query як строку. Тобто жодних підказок або помилок синтаксису ми тут не побачимо.</p><pre><code class="language-javascript">class TestAuthorList(TestBaseClientDBClass):
    QUERY = """
        query TestQuery {
            authors {
                id
            }
        }
    """


    async def test_list(self):
        ...
</code></pre><p>Далі потрібно прокинути в тіло запиту QUERY, використовуючи тестовий клієнт. Адже, як було зазначено вище, GraphQL працює поверх HTTP, тому не потрібно вигадувати нічого нового.</p><pre><code class="language-javascript">class TestAuthorList(TestBaseClientDBClass):
    QUERY = """
        query TestQuery {
            authors {
                id
            }
        }
    """

    async def test_get_empty(self):
        response = await self.client.post('/graphql', json={'query': self.QUERY})

        response_authors = response.json()['data']['authors']
        assert response_authors == []

    async def test_list(self):
        author1, author2 = await create_test_author(), await create_test_author()

        response = await self.client.post('/graphql', json={'query': self.QUERY})

        response_authors = response.json()['data']['authors']
        assert response_authors == [
            {'id': author1.id},
            {'id': author2.id},
        ]
</code></pre><p>У результаті все працює, як слід. І навіть більше: ми не втрачаємо дебагер. Тобто можна продебажити будь-який код, залізти в будь-який сервіс і подивитися, що пішло не так.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/T--wpXihU_g61aEDM8c3vppXi0bLJ67Ac9NTHxT1HfNIOvvahuaeRSiUJGZcTRZf8T1ugaoDA04MhhmlFblbMI7lrUI36st98DFRtlQLrfyg4p9I4-Hz9-1SVWVcBUgBUiPh4eGPht96YG0NOBGoEw" class="kg-image" alt loading="lazy" width="602" height="247"></figure><p>До речі, схема підтримує параметри. Якщо вам потрібно отримати конкретного автора і ви хочете підставляти значення динамічно, потрібно просто прописати будь-який валідний GraphQL-тип. При цьому він може бути як найпростішим, на кшталт Integer, так і самописним, як Author.</p><pre><code class="language-javascript">class TestAuthorGet(TestBaseClientDBClass):
    QUERY = """
        query TestQuery($author_id: Int!) {
            author(author_id: $author_id) {
                ... on Author {
                    id
                    name
                    books {
                        id
                        author_id
                        name
                    }
                }
                ... on AuthorNotFound {
                    message
                }
            }
        }
    """
</code></pre><p>Тобто у вас можуть бути всі типи, представлені у схемі:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/wDTr6vZC5XY3oed0YpMe4Yw95qdMD3lKeOt2xmmFnyrR3Tuf3z6mJU-I5k-wXOKb5gkpGxDLr_FckcVi7t-jgh4D7SpOHVdaaXqIOvC4gynRodJHTM152s259A7EdljEJg-wZ-IqDFMOn5Zu_LKuYA" class="kg-image" alt loading="lazy" width="571" height="681"></figure><p></p><p>Для того, щоб підставити необхідні змінні, використаємо атрибут variables.</p><pre><code class="language-javascript">class TestAuthorGet(TestBaseClientDBClass):
    QUERY = """
        query TestQuery($author_id: Int!) {
           *skiped*
        }
    """

    async def test_get(self):
        author = await create_test_author()

        response = await self.client.post(
            '/graphql', json={'query': self.QUERY, 'variables': {'author_id': author.id}}
        )

        response_author = response.json()['data']['author']
        assert response_author['id'] == author.id
        assert response_author['name'] == author.name
</code></pre><p>Нарешті можна тестувати, як усе працює. На статус-код перевірки немає, тому що GraphQL не працює з ним. Але оскільки все працює на базі HTTP, то Strawberry за необхідності дає змогу поставити статус-код. </p><p>Однак майте на увазі: в межах одного Query може бути кілька запитів. Тож вам доведеться самим вирішувати, що робити, якщо один із них віддасть 200, а інший – 404.</p><p>Із мутаціями ситуація аналогічна. Тільки замість query з’являється mutation.</p><pre><code class="language-javascript">class TestAuthorCreate(TestBaseClientDBClass):
    MUTATION = """
        mutation TestMutation($name: String!) {
            create_author(input_schema: {name: $name}) {
                ... on Author {
                    id
                    name
                }
                ... on ValidationError {
                    message
                }
                ... on AuthorAlreadyExist {
                    message
                }
            }
        }
    """

    async def test_create(self):
        author_factory = AuthorFactory()

        response = await self.client.post(
            '/graphql', json={'query': self.MUTATION, 'variables': {'name': author_factory.name}}
        )

        response_author  = response.json()['data']['create_author']
        assert response_author['name'] == author_factory.name</code></pre><p>Як бачите, тести на GraphQL особливо нічим не відрізняються від звичних для нас API-тестiв.</p><p>Якщо хочете докладніше вивчити цей приклад, розібратися в описаних вище деталях і власноруч запустити окремі кроки, то переходьте на сторінку цього проєкту на <a href="https://github.com/DenysMoskalenko/LectureGraphQL">GitHub</a>.</p><h2 id="%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3%D0%B8-%D1%82%D0%B0-%D0%BD%D0%B5%D0%B4%D0%BE%D0%BB%D1%96%D0%BA%D0%B8-graphql">Переваги та недоліки GraphQL</h2><p>Щоб узагальнити цю тему, пройдемося по основним, на мій погляд, перевагам та недолікам GraphQL. </p><p><strong>Серед позитивних ознак можна виокремити такі:</strong></p><ul><li><strong>Чудово підходить для мікросервісів.</strong> GraphQL надає зручну уніфіковану точку доступу з єдиним форматом для всієї системи. Це приховує весь масштаб і складність системи.</li><li><strong>Простота використання.</strong> GraphQL отримує дані на основі одного запиту, без необхідності зосереджуватися на окремих endpoints, потрібних для збору даних. Користувач може запросити всі необхідні дані лише за допомогою одного виклику. Тут немає статус-кодів, тож вам не потрібно розбиратися, де і коли використовувати GET, PUT, PATCH, POST тощо. Вам треба лише писати query, щоб отримувати від системи все необхідне.</li><li><strong>Точність.</strong> Завдяки GraphQL у вас не буде проблем із недостатньою чи надмірною вибіркою, яка була розглянута на самому початку.</li><li><strong>Валідація самого себе і типізація.</strong> GraphQL поставляється з валідацією і перевіркою типу у стандартній комплектації. Програми можуть запитувати тільки те, що можливо, у відповідному форматі.</li></ul><p><strong>Що стосується недоліків GraphQL, то я б виокремив такі:</strong></p><ul><li><strong>Низька швидкість.</strong> GraphQL може бути повільним у деяких випадках. Клієнт може прописати дуже важкі запити, які за будь-якого ступеня оптимізації будуть виконуватися тривалий період. Наприклад, так може бути при запиті занадто великої кількості полів одночасно.</li><li><strong>Проблеми вебкешингу.</strong> Оскільки GraphQL, працюючи за POST-методом, не використовує методи кешування на рівні HTTP, зберігання вмісту запиту відбувається на самому сервері. Наприклад, використання CDN, які працюють із GET-методом, стає неможливим у більшості випадків або вимагає дуже багато sidework.</li><li><strong>Складність входу.</strong> GraphQL простий, але тільки після того, як ви розберетеся з концепцією. А на старті багато що може викликати складності та запитання. Якісь типи, схеми, помилки та команди, що робити, – це все не дуже інтуїтивно зрозуміло. Тому може бути потрібен час, щоб вивчити всі механізми цієї мови запитів.</li><li><strong>Неочевидні переваги при HTTP/2.</strong> При взаємодії систем за протоколом HTTP/2 в межах єдиного з’єднання виконується мультиплексування запитів і відповідей з використанням нового бінарного рівня. Завдяки цьому HTTP/2 ефективно підтримує обробку дуже багатьох запитів. А це робить перевагу GraphQL у вигляді «одного запиту, що розв’язує всі проблеми», менш вагомою. Тобто REST знову стає привабливішим рішенням.</li></ul><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодну публікацію!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Мені подобається експериментувати з ChatGPT і я досить часто використовую його для різноманітних комунікаційних задач. Наприклад, щоб написати шаблон листа, скласти інструкцію, згенерувати ідеї для матеріалів тощо.

Нещодавно я спробувала згенерувати за допомогою ШІ зображення українських медичних компаній у вигляді конструкторів LEGO. Зокрема, в стилі цих конструкторів зображені будівлі Міністерства ]]></description>
        <link>https://proit.ua/iak-zghienieruvati-shi-zobrazhiennia-u-vighliadi-konstruktoriv-lego/</link>
        <guid isPermaLink="false">6576eb7780ac29f207632436</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Вікторія Гончаренко ]]></dc:creator>
        <pubDate>чт, 14 груд 2023 13:00:41 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/12/----------------------.png" medium="image"/>
        <content:encoded><![CDATA[ <p>Мені подобається експериментувати з ChatGPT і я досить часто використовую його для різноманітних комунікаційних задач. Наприклад, щоб написати шаблон листа, скласти інструкцію, згенерувати ідеї для матеріалів тощо.</p><p>Нещодавно я спробувала згенерувати за допомогою ШІ зображення українських медичних компаній у вигляді конструкторів LEGO. Зокрема, в стилі цих конструкторів зображені будівлі Міністерства охорони здоров’я України, НДСЛ «Охматдит», мережі клінік «Добробут», мережі лабораторій «Ескулаб», ортопедичної клініки Superhumans Center, мережі «Аптека Доброго Дня» тощо. </p><h2 id="%D0%BE%D1%81%D1%8C-%D1%8F%D0%BA-%D1%86%D0%B5-%D0%B2%D0%B8%D0%B3%D0%BB%D1%8F%D0%B4%D0%B0%D1%94">Ось як це виглядає:</h2><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/12/Ohmadyt_Lego.png" width="1024" height="1024" loading="lazy" alt></div><div class="kg-gallery-image"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/12/Apteka-DD_lego.png" width="1024" height="1024" loading="lazy" alt></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/12/Dobrobut_lego.png" width="1024" height="1024" loading="lazy" alt></div><div class="kg-gallery-image"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/12/Esculab_Lego.png" width="1024" height="1024" loading="lazy" alt></div></div></div></figure><p>Виявилося, що згенерувати картинку за допомогою ШІ досить складно. Навіть маючи конкретний опис, модель може видавати не релевантний результат і створювати не повністю реалістичні картинки, які містять помилки. Створення 6 зображень у стилі LEGO за допомогою нейромережі DALL-E 3 у платній версії ChatGPT зайняло у мене орієнтовно 3 години.</p><h2 id="%D1%8F%D0%BA-%D0%BF%D0%BE%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D1%82%D0%B8-%D0%BC%D1%96%D0%B9-%D0%B4%D0%BE%D1%81%D0%B2%D1%96%D0%B4">Як повторити мій досвід?</h2><p>Існує безліч <a href="https://proit.ua/10-naikrashchikh-ghienieratoriv-mistietstva-shi-dlia-stvoriennia-zobrazhien-iz-tiekstu/">ШІ, які дають змогу генерувати зображення</a>: DALL-E 3, <a href="https://proit.ua/laifkhaki-iak-stvoriti-shi-zobrazhiennia-u-midjourney/">Midjourney</a>, Stable Diffusion, Artbreeder тощо. Для прикладу, дизайнери в «Ескулабі» використовують Stable Diffusion для того, щоб генерувати <a href="https://www.facebook.com/esculab.official/posts/pfbid0mJystbSAg9pdtNtUEcXwWMhya8rzKz7RaW3gXoaNEc8t11SFGaXEJiADqK1nMwbdl">такі відео</a> і картинки для соцмереж. Мені ж зручніше користуватися DALL-E 3 у платній версії ChatGPT.<br><br>Для початку потрібно обрати зображення, на основі якого ми будемо генерувати модель конструктора LEGO. У моєму випадку це був фасад МОЗ України. І попросити ШІ описати це зображення.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/2IcZIYBzvsZviGDmZhuluvbcBIuoalYimr4QV_Sw9Tv9cVnBfr2RFHd8s9_N-TvGCk-tuCJaC3FsCZ4AowuIbYlXqPprYX1jdL_ppg_T_6FkpCwrU1Ie55OfS36YhIxJxfwwlbJlCTMFze6UxzUuDkc" class="kg-image" alt loading="lazy" width="388" height="323"></figure><p>На основі опису, який зробив ШІ, редагуємо текст відповідно до своїх побажань. Так, до свого промпту я додала ще кілька ключових елементів: щоб на будівлі була вивіска «МОЗ України». Також додаємо основний промпт: «Згенеруй зображення будівлі у вигляді конструктора LEGO».</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/12/---------2-.png" class="kg-image" alt loading="lazy" width="785" height="522"></figure><p>Штучний інтелект створив досить реалістичне зображення адміністративної будівлі у вигляді конструктора LEGO. Щоправда, згенеровані зображення мало чим нагадували реальну будівлю МОЗ. Також були помилки в написі на вивісці. </p><p>Я кілька разів просила ШІ виправити текст, але він не зміг цього зробити. Тому дійшла висновку, що штучний інтелект погано справляється з генерацією кириличних літер.</p><p>Це може бути з кількох причин. ШІ навчається на наборах даних зображень. Ймовірно, що наборів даних, які містили літери латинського алфавіту, було більше. Це призводить до того, що ШІ неправильно генерує літери. </p><p>Інша причина – це недостатня складність моделі, тобто вона не має достатньої кількості параметрів для опису складних об’єктів, наприклад кириличних літер.</p><h2 id="%D0%BE%D1%81%D1%8C-%D0%BF%D1%80%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4-%D1%82%D0%BE%D0%B3%D0%BE-%D1%8F%D0%BA-%D0%BC%D0%BE%D0%B6%D0%BD%D0%B0-%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D1%82%D0%B8-%D0%BE%D0%B1%E2%80%99%D1%94%D0%BA%D1%82-%D0%B4%D0%BB%D1%8F-%D1%88%D1%96">Ось приклад того, як можна описати об’єкт для ШІ:</h2><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/12/-----------------3-.png" class="kg-image" alt loading="lazy" width="721" height="748"></figure><p>Запити я створювала як українською, так і англійською мовами. Відмінностей у зображеннях, які генерував ШІ на мої запити різними мовами, я не помітила. З цього роблю висновок, що мова спілкування – не головне. Головне – деталізація і чіткість завдань.</p><h2 id="%D0%BE%D1%81%D1%8C-%D1%89%D0%B5-%D0%BA%D1%96%D0%BB%D1%8C%D0%BA%D0%B0-%D0%BF%D0%BE%D1%80%D0%B0%D0%B4-%D1%8F%D0%BA-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D1%83%D0%B2%D0%B0%D1%82%D0%B8-%D1%8F%D0%BA%D1%96%D1%81%D0%BD%D1%96-%D1%88%D1%96-%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F-%D1%83-%D0%B2%D0%B8%D0%B3%D0%BB%D1%8F%D0%B4%D1%96-%D0%BA%D0%BE%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D0%BE%D1%80%D1%96%D0%B2-lego">Ось ще кілька порад, як генерувати якісні ШІ-зображення у вигляді конструкторів LEGO:</h2><ul><li>Докладно описуйте об’єкт. Чим більше деталей опишете, тим точніше ШІ зможе згенерувати об’єкт. Наприклад, якщо це інтер’єр, то вказуйте, де саме розташовані меблі, їхню кількість, форму, розмір тощо.</li><li>Використовуйте конкретні назви кольорів і матеріалів. Замість того, щоб сказати «фасад будівлі має бути світлий», скажіть «фасад будівлі має бути білого кольору».</li><li>Забудьте про складнопідрядні й складносурядні речення. Чим простішим буде ваш опис, тим легше ШІ буде його зрозуміти.</li><li>Не бійтеся просто щось змінити й хваліть, коли ШІ вдається задовольнити вашу потребу. Не знаю, наскільки з технічної точки зору це гарна порада, але ви спробуйте :).</li><li>Текстові описи краще генерувати не більше двох слів. Зі свого досвіду скажу, що у трьох словах виникає дуже багато помилок. Наприклад, зображення для «Аптеки Доброго Дня» спершу мали ось такий вигляд:</li></ul><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/Q5Wq93UtZkNV7s295_5guiHiQxw3b4MmfY8pgmCWNf_UVP40Z-tl75DSNYtPVhqORmSV1miYGzX3yPMaSwNGpLVO1G2XYpM9W1r_nHt8bsHLcUkQXCW530H3WGFjHRHhFCj13wfc-FCd7DZ4oxfcONM" class="kg-image" alt loading="lazy" width="602" height="413"></figure><p><em><em><em><em><em><em><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодну публікацію!</em></em></em></em></em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Спокійно, громадяни, давайте розберемося, що ж сталося з «Київстаром» і чого чекати в подальшому, а також ще із кількома неочевидними висновками.

По-перше, як вже багато хто зазначив, роль кібербезпеки не слід применшувати. А то кібербезпека применшить тебе. Або когось іще.

По-друге, хакнути можуть кого завгодно – питання лише у кількості ресурсів, ]]></description>
        <link>https://proit.ua/shcho-stalosia-z-kiyivstarom-ta-chi-varto-ochikuvati-atak-na-inshikh-opieratoriv/</link>
        <guid isPermaLink="false">6578bf1080ac29f207632714</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Костянтин Корсун ]]></dc:creator>
        <pubDate>ср, 13 груд 2023 13:00:34 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/12/hooded-computer-hacker-stealing-information-with-laptop.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Спокійно, громадяни, давайте розберемося, що ж сталося з «Київстаром» і чого чекати в подальшому, а також ще із кількома неочевидними висновками.</p><p>По-перше, як вже багато хто зазначив, роль кібербезпеки не слід применшувати. А то кібербезпека применшить тебе. Або когось іще.</p><p>По-друге, хакнути можуть кого завгодно – питання лише у кількості ресурсів, грошей, фахівців та часу атакувальника. Кіберкоманда «Київстару» є однією з найпотужніших в Україні, але навіть їх змогли серйозно просадити. А ти досі користуєшся рашистським Телеграмом, поставив примітивний однаковий пароль на всі акаунти й мультифактор не включив.</p><p>По-третє, подібні кібероперації готуються місяцями (інколи – роками) й охоплюють соцінженерію, ботнети, дорогезних вузькоспеціалізованих фахівців, ще більш коштовні експлоїти, а бюджети подібного класу операцій можуть обліковуватися у мільйонах доларів.</p><p>Тому подібні атаки – це дорогий штучний товар, він апріорі не може бути масовим. Особисто я не чекаю аналогічних сценаріїв в інших українських операторів. Їх атакують сотні разів на день 24/7, просто це геть не публічна інформація. Іншу критичну інфраструктуру неодмінно будуть атакувати, питання лише «коли» і «які будуть наслідки».</p><p>У сучасному світі не можна сподіватися, що тебе не хакнуть. Хакнуть обов’язково, якщо сильно захочуть. Головне – готуватися до наслідків, точніше до їх мінімізації. Мати підготовлений план В, план С і план D. Disaster&amp;Recovery Plan. Ось у чому полягає сучасний професійний підхід.</p><p>Наскільки все це було застосовано компанією «Київстар» – побачимо по швидкості відновлення. Думаю, «голос» відновлять відносно швидко, передачу даних – пізніше, все інше – потім. Відновити можна практично всю інфраструктуру, навіть якщо ракета прилетіла в дата-центр, аби люди не постраждали.</p><p>До речі, ЙР дуже сильно намагалася «покласти» всіх українських операторів та провайдерів у лютому-березні 2022 року, але не змогла. І тому, що до атак готувалися, і тому, що ЙР «пропиляла» усі гроші, сподіваючись на «Київ за три дні». </p><p>І ще тому, до речі, що українська індустрія доступу до Інтернету майже повністю приватна і досі ніяк не регулюється державою, завдяки чому зберігає дивовижну відновлювальноздатність (resilience). І так, «націоналізація «Київстару» – погана ідея.</p><p>А керівникам та CISO великих компаній я б порадив прямо зараз змінити паролі доступу до контроллера доменів, до корпоративного VPN, пропатчити усе, що патчиться, а потім замовити аудит безпеки інфраструктури. Це першочергово. </p><p>А потім провести тренінги з персоналом та окремо спеціалізований тренінг із кібербезу – для ІТ-фахівців. Тому що – о диво! – досить часто ІТ-фахівець ніц не шарить у кібербезпеці.</p><p>І трохи позитиву наостанок.</p><p>Рік тому ми усі взагалі сиділи не тільки без будь-яких мобільних операторів, а взагалі у темряві – від кількох годин до кількох діб. Я книжки читав, наприклад.</p><p>І нічо, вижили якось.</p><p>Головне, щоб ЗСУ продовжували свою тяжку героїчну роботу.</p><p>Все інше – менш важливо.</p><p>«І це також пройде».</p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>Підписуйтеся на </em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em><a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer"><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>ProIT у Telegram</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></a><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>, щоб не пропустити жодну публікацію!</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ У цьому матеріалі спеціаліст компанії Growe на позиції Manual QA розповідає про свій 3-річний досвід в аутсорсингових і продуктових компаніях. Найбільше автора мотивує і «драйвить» процес створення й оптимізації робочих процесів у команді, впровадження нових технологій, ідей та підходів.

Передумовою написання цієї статті було запровадження у моїй команді QA Metrics, ]]></description>
        <link>https://proit.ua/mietriki-tiestuvannia-na-proiekti-yikh-tsinnist-ta-osoblivosti-vprovadzhiennia/</link>
        <guid isPermaLink="false">656dbc63a74bce38722126fb</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Олександр Баснін ]]></dc:creator>
        <pubDate>чт, 07 груд 2023 13:00:35 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/12/IMG_0220--1-.png" medium="image"/>
        <content:encoded><![CDATA[ <p><em>У цьому матеріалі спеціаліст компанії Growe на позиції Manual QA розповідає про свій 3-річний досвід в аутсорсингових і продуктових компаніях. Найбільше автора мотивує і «драйвить» процес створення й оптимізації робочих процесів у команді, впровадження нових технологій, ідей та підходів. </em></p><p>Передумовою написання цієї статті було запровадження у моїй команді QA Metrics, тому теоретичний матеріал буде переплітатися із практичним досвідом і робочими прикладами. </p><p>Майте на увазі, що метрики поза контекстом – це лише цифри. Щоб правильно оцінити роботу команди, потрібно враховувати специфікацію проєкту, очікувані результати, процеси компанії тощо.</p><p>Перед написанням статті я зібрав статистику щодо реального використання QA метрик на проєктах шляхом опитування у LinkedIn, результати якого засвідчили, що тема досить актуальна.</p><p><strong>Якщо говорити про мою команду, то ми певною мірою універсали й маємо досвід імплементації таких завдань:</strong></p><p>1) розробка інтеграційних функціональностей у core модулі продукту, які при цьому були ускладнені проходженням code contribution процесу із core командами;</p><p>2) реалізація задач із backlog відповідно до пріоритетів product команди та потреб бізнесу;</p><p>3) розробка архітектури з нуля багатофункціонального back office для потреб усієї компанії.      </p><p>Важливо зазначити, що ми працюємо за власною змішаною Agile методологією, якою точно не є Scrum або Kanban, тому це завдавало певні обмеження для вибору метрик, необхідних для наших робочих процесів.</p><h2 id="%D0%B4%D0%BB%D1%8F-%D1%87%D0%BE%D0%B3%D0%BE-%D0%B2%D0%B2%D0%BE%D0%B4%D1%8F%D1%82%D1%8C%D1%81%D1%8F-%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B8">Для чого вводяться метрики?</h2><p><strong>Метрики не дають відповіді на «Що сталося?», а лише «підсвічують» проблему і допомагають:</strong></p><p>• оцінити поточну робочу ситуацію у командах;</p><p>• своєчасно виявити проблему;</p><p>• виявити залежності;</p><p>• відслідкувати зміни й тренди;</p><p>• коректно розподілити ресурс тестування;</p><p>• знаходити точки росту.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/12/IMG_0231--1-.jpg" class="kg-image" alt loading="lazy" width="486" height="623"></figure><h2 id="%D0%B4%D0%BE-%D1%87%D0%BE%D0%B3%D0%BE-%D0%BF%D0%BE%D1%82%D1%80%D1%96%D0%B1%D0%BD%D0%BE-%D0%B1%D1%83%D1%82%D0%B8-%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%B8%D0%BC-%D0%BF%D1%96%D0%B4-%D1%87%D0%B0%D1%81-%D1%96%D0%BC%D0%BF%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D1%96%D1%97-%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D0%BA">До чого потрібно бути готовим під час імплементації метрик?<br></h2><p>Під час імплементації команда може думати, що їхню роботу будуть ретельно оцінювати, завзято аналізуючи при цьому будь-які відхилення. Тестувальники зі свого боку можуть намагатися підігнати результати під встановлені метрики.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/12/IMG_0227--1-.jpg" class="kg-image" alt loading="lazy" width="497" height="484"></figure><h2 id="%D1%8F%D0%BA-%D0%BF%D0%BE%D0%BA%D1%80%D0%B0%D1%89%D0%B8%D1%82%D0%B8-%D1%80%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8-%D0%BF%D1%96%D1%81%D0%BB%D1%8F-%D0%B7%D0%B1%D0%BE%D1%80%D1%83-%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D0%BA">Як покращити результати після збору метрик?</h2><p><br>1. <strong>Ротація у продуктових командах.</strong> Ротація учасників як між невеликими командами всередині одного департаменту, так і в межах продукту чи компанії в цілому.</p><p>2. <strong>Оцінка тестування при плануванні спринту. </strong>Плануючи черговий спринт, ви можете бути більш підготовленими, заклавши вже виміряну вами оцінку на тестування при оцінюванні загального часу, витраченого на проєкт.</p><p>3. <strong>Внесення змін у флоу роботи із задачами. </strong>Таке рішення ви можете сміливо ухвалити на основі вимірювання метрик. Важливо пам’ятати, що головна мета імплементування метрик – це вимірювання результату й ухвалення рішення для подальших змін, а також прогнозування майбутнього продукту в цілому.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/12/IMG_0229--1--1.jpg" class="kg-image" alt loading="lazy" width="577" height="417"></figure><p>4. <strong>Оптимізація процесу тестування.</strong> А саме:</p><p>- збільшення тестового покриття технічних та бізнес-вимог;</p><p>- пришвидшення реалізації фічі, що перебуває на етапі розробки, враховуючи при цьому допустимий рівень якості для конкретного прикладу;</p><p>- зменшення витрати часу на тестування внаслідок актуалізації наявних тест с’‎ютів.</p><p>5. <strong>Покриття коду автотестами. </strong>Тут важливо додати, що:</p><p>- автоматизація доречна для тест-кейсів, які є основними для smoke тестування головного функціоналу, окремого модулю або продукту в цілому;</p><p>- автоматизація релевантна для тих тест-кейсів, які не підлягають частій зміні логіки у функціоналі;</p><p>- у разі достатнього бюджету та часу на автоматизацію, є сенс почати її впроваджувати;</p><p>- також є можливість підключення Manual тестувальників до написання автотестів із використанням відповідних інструментів та достатньою компетенцією під наглядом вже досвідченого автоматизатора.</p><h2 id="%D1%89%D0%BE-%D1%8F-%D1%80%D0%B5%D0%BA%D0%BE%D0%BC%D0%B5%D0%BD%D0%B4%D1%83%D1%8E-%D0%B2%D0%B8%D0%BC%D1%96%D1%80%D1%8E%D0%B2%D0%B0%D1%82%D0%B8-%D0%BD%D0%B0-%D0%BF%D1%80%D0%BE%D1%94%D0%BA%D1%82%D1%96">Що я рекомендую вимірювати на проєкті?</h2><p><strong>Ми з командою вимірюємо такі метрики:</strong></p><p>1. QA Metrics щодо задач, повернутих у Re-Open статус. Це допомагає фіксувати задачі, які зі статусу Ready for Testing повертались у Re-Open через недостатній або відсутній опис у задачі, неготовий/незмерджений код або неробоче середовище для тестування. Цю метрику нам було цікаво відслідковувати, щоб зрозуміти поточний стан якості розробки й опису у задачах, які беруться у розробку.</p><p>2. QA Metrics щодо дефектів, допустимих для релізу на прод. Ми готові піти у продакшн із наявністю некритичних дефектів і зобов’язуємося виправити їх якнайшвидше. Зазвичай це відбувається протягом 1-2 днів після релізу. У цьому випадку, відслідковуючи вказаний показник, ми хотіли бачити тенденцію зменшення кількості допустимих дефектів для проду.</p><p>3. QA Metrics щодо середньої кількості багів у розрізі одного епіку (епік <em>–</em> тип задачі, який створюється у випадку реалізації об’ємної задачі та розбивається на окремі таски для імплементації). </p><p>Додатково я роблю вибірку по severity кожного дефекту для більш наглядної статистики. Саме такий вигляд цієї метрики зумовлений особливістю робочих процесів всередині команди. У результаті за наявності великої кількості дефектів в епіку, можна зробити висновки щодо: складності поточного модулю та імплементації задачі, недостатнього рівня експертності розробника у цьому модулі або навіть неточних і невичерпних вимог до задачі.<br><br>Кожен виділяє свій перелік метрик, які вважає must have до виконання. Я опишу свій топ, який ви можете або імплементувати у тому вигляді, як він описаний, або ж модифікувати згідно із вашими потребами.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/12/IMG_0228--1--1.jpg" class="kg-image" alt loading="lazy" width="883" height="481"></figure><p>1. <strong>Тестове покриття вимог.</strong> Ваше значення в ідеалі повинно бути більше одиниці. Чим більше значення, тим краще. Але завжди пам’ятайте, що є достатній рівень покриття вимог, який на кожному проєкті команда визначає самостійно.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/12/IMG_0221.PNG" class="kg-image" alt loading="lazy" width="960" height="400"></figure><p>2.<strong> <strong>Щільність дефектів </strong></strong>допомагає виявити найбільш проблемні компоненти вашого продукту. У результаті отримаєте певний показник – чим менший він буде, ти безпечніше модуль.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/12/IMG_0222.PNG" class="kg-image" alt loading="lazy" width="960" height="400"></figure><p>3. <strong><strong>Кількість повторно відкритих баг тікетів.</strong> </strong>Перевідкриття дефектів може статися через неправильний мердж код, затирання змін у гілці, відкат гілки на ранню версію.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/12/IMG_0223.PNG" class="kg-image" alt loading="lazy" width="960" height="400"></figure><p>4. <strong><strong>Velocity роботи команди </strong></strong>показує, скільки роботи може виконати команда за одну ітерацію чи спринт. Ця метрика вимірюється у story points.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/12/IMG_0224.PNG" class="kg-image" alt loading="lazy" width="960" height="400"></figure><p>5. <strong><strong>Середній час життя дефекту</strong>. </strong>Цю<strong> </strong>метрику також можна додатково сортувати за severity і таким чином це допоможе вам зрозуміти, наскільки швидко ми фіксимо найкритичніші помилки.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/12/IMG_0226.PNG" class="kg-image" alt loading="lazy" width="960" height="400"></figure><p>6.<strong> <strong>Кількість дефектів, які були релізнуті на прод</strong> </strong>або так звану live версію вашого продукту. Метрику використовують після релізу, вона може вимірюватися для кожної версії/ітерації окремо. Чим менший показник, тим краще.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/12/IMG_0225.PNG" class="kg-image" alt loading="lazy" width="960" height="400"></figure><p>Деякі компанії допускають наявність випуску деяких багів на продакшн. Проте гарною тенденцією є зміна кількості таких багів і зниження рівня severity цих дефектів. Та не варто забувати: відсутність таких дефектів означає лише те, що їх немає у нашій багтрекінговій системі, що не дорівнює відсутності у нашому застосунку взагалі.</p><p>Цю метрику я особисто використовую на своєму проєкті, і вона є показником ефективності роботи команди із тестування. </p><p>На практиці успішне використання показників якості передбачає досягнення балансу, використання їхніх переваг та усунення недоліків для ефективного управління якістю.</p><p><em><em><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодну публікацію!‌‌‌‌</em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Salesforce є грандіозним і прагне бути універсальним інструментом та платформою для підтримки будь-якого бізнесу і діяльності.

Він містить велику кількість інструментів, хмар даних і властивостей для побудови бізнес-процесів, співпраці компаній і налаштування всього, що ви створюєте всередині Salesforce, як, наприклад, бізнес-застосунки, сайти тощо.

Коли інструментів та функцій адміністрування недостатньо, і ]]></description>
        <link>https://proit.ua/filosofiia-upravlinnia-zapitami-v-salesforce/</link>
        <guid isPermaLink="false">655a545ca74bce38722111e6</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Євген Кисельов  ]]></dc:creator>
        <pubDate>ср, 22 лист 2023 13:00:37 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/11/Salesforce-2--1-.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Salesforce є грандіозним і прагне бути універсальним інструментом та платформою для підтримки будь-якого бізнесу і діяльності.</p><p>Він містить велику кількість інструментів, хмар даних і властивостей для побудови бізнес-процесів, співпраці компаній і налаштування всього, що ви створюєте всередині Salesforce, як, наприклад, бізнес-застосунки, сайти тощо.</p><p>Коли інструментів та функцій адміністрування недостатньо, і людям потрібно щось більш специфічне, ніж готові рішення «з коробки», вони можуть використовувати нативні мови програмування Salesforce та front-end фреймворки. Це мова сервера Apex, мови баз даних SOQL та SOSL, Visualforce Pages та Lightning Components. </p><p>Але незалежно від того, що ми використовуємо, ми маємо справу з даними. Кожен крок може розглядатися як використання даних та/або управління ними.</p><p>Особливо ми маємо справу з управлінням даними під час створення коду. Під управлінням даними я маю на увазі зміну наявних даних або створення нових даних.</p><h2 id="%D0%B7%D0%B0%D0%BF%D0%B8%D1%82%D0%B8-%D0%B4%D0%BE-%D0%B1%D0%B0%D0%B7%D0%B8-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85-%D0%B2%D1%81%D0%B5%D1%80%D0%B5%D0%B4%D0%B8%D0%BD%D1%96-salesforce">Запити до бази даних всередині Salesforce</h2><p>Для управління даними ми беремо дані до Apex коду, який використовує дані для перетворення даних на інші дані. Це забезпечується запитами SOQL, які є запитами до бази даних. Кожен запит може містити власні фільтри та вкладені запити зі своїми фільтрами й вкладеними запитами. Вкладені запити можуть бути комбінацією логічного виразу на кшталт 1 AND 2 AND 3.</p><p>Тож у загальному випадку ми можемо уявити, що кожен обсяг запитів SOQL до бази даних може бути представлений таким чином (O# означає якийсь об’єкт Salesforce (стандартний або користувацький), FO# означає поле пошуку об’єкта O#):</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/qNWr3Ziscz4C9vxNkhdE48D_nVmwd2q-YoY82yvfxLReg1gpfpKoF-avXYLqY6ucrSirw37YI-27ZQ7DAR5u6p7POeyi9F9qHSmmEiWLzx5U8tcg8w0UuEUwrMTbrac0q7WTgw6m8dMtMbNFx0eOjWE" class="kg-image" alt loading="lazy" width="824" height="628"></figure><p><em>Малюнок 1 – Загальна структура запитів</em></p><p>На малюнку 1 представлена ​​загальна структура пакету запитів.</p><p>Тут зображено лише 2 рівні для вкладених запитів. Але насправді структура запитів може бути набагато складнішою з більшою кількістю вкладених рівнів запитів.</p><p>Крім того, вона може мати зовсім іншу булеву логіку, ніж на малюнку 2.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/93tPyHIAELr9pTEiPt5m4QCNl1-pqHMa3rpUH1b4RF06YS-8CRqsQ4T2Ma-p1Iu51y5cSKV0M3GVQusBX3qQrIHgo4tRJWwNO4iT72mwi_BGlDheiU4CJmvCrFAQvAobBzpgMAy6EVmMaQL7OPAxsiQ" class="kg-image" alt loading="lazy" width="978" height="357"></figure><p><em>Малюнок 2 – Варіант структури запитів</em></p><p>Крім того, lookup поле та поле ID міняються місцями у запиті залежно від того, що потрібно користувачеві:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/EzhJnU-N2b3MojMmSp35ETMxouJbTupvK6y88iL9lb2ktj1fnhRIChoGcL7LzLON-lBftEd5TMUgrt0BtNzWh5I5ZCd1Q0Pp_Ef_wOj9csiRE709lFvYEp9SHx5FmfZJf0lxEKetoHd8jXtV4hmRWPY" class="kg-image" alt loading="lazy" width="512" height="136"></figure><p><br><em>Малюнок 3 – Перестановка lookup полів всередині вкладеного запиту</em></p><h3 id="%D0%BF%D1%96%D0%B4%D1%81%D1%83%D0%BC%D1%83%D1%94%D0%BC%D0%BE-%D1%89%D0%BE-%D0%B7%D0%B0%D0%BB%D0%B5%D0%B6%D0%BD%D0%BE-%D0%B2%D1%96%D0%B4-%D0%B2%D0%B8%D0%BC%D0%BE%D0%B3-%D0%B1%D1%96%D0%B7%D0%BD%D0%B5%D1%81%D1%83">Підсумуємо, що залежно від вимог бізнесу:</h3><ul><li>може бути багато вкладених запитів до бази даних і багато рівнів вкладеності;</li><li>запити можуть мати різноманітні булеві логіки;</li><li>lookup поля можуть помінятися місцями з полями ID у вкладеному запиті.</li></ul><h2 id="%D0%BE%D0%B1%D0%BC%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F-%D0%BC%D0%BE%D0%B2%D0%B8-%D0%B1%D0%B0%D0%B7%D0%B8-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85-salesforce-soql">Обмеження мови бази даних Salesforce SOQL</h2><p>Відомо, що Salesforce SOQL може підтримувати лише один рівень вкладеності для вкладеного запиту на один запит до бази даних.</p><p>Отже, як розробник обходить це обмеження?</p><p>Найпоширенішим способом є отримання ідентифікаторів пов’язаних записів у список ідентифікаторів для використання таких списків ідентифікаторів у цільовому запиті. Це можна зробити таким чином:</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/-PmP0Lahxc0wlFCyYOyQWIbyLCjJC9P8m3ELXi5cw4iyP5_CgMQjJbDEfPf0_t6uA4_G6TqxqpGr6RDxCTnYn9-Tp6qiAlWiAyY-xRQgjCZlhMM-El8ORKCEC6eilEa9yjAK159KAFkKBjRCe8bG4Co" class="kg-image" alt loading="lazy" width="914" height="192"></figure><p><em>Малюнок 4 – Допоміжний код для отримання пов’язаного списку ідентифікаторів записів</em></p><p>Коли бізнес-логіка диктує більш складні умови для вибору записів, розробник буде використовувати якийсь подібний код, як наведено вище, стільки разів, скільки потрібно. </p><p>Крім того, розробник кожного разу забезпечуватиме відповідний порядок виконання запитів згідно з булевою логікою на кожному рівні вкладеності.</p><p>І все це буде зроблено стільки разів, скільки разів будуть змінені вимоги бізнесу.</p><h2 id="%D0%B2%D0%B5%D0%BB%D0%B8%D1%87%D0%B5%D0%B7%D0%BD%D1%96-%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D1%96-%D1%84%D1%96%D0%BD%D0%B0%D0%BD%D1%81%D0%BE%D0%B2%D1%96-%D0%B2%D0%B8%D1%82%D1%80%D0%B0%D1%82%D0%B8-%D0%BD%D0%B0-%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D0%BA%D1%83">Величезні регулярні фінансові витрати на розробку</h2><p>Це вимагає певних вкладень часу і грошей, більше інвестицій, якщо логіка запитів до бази даних складна. А також – набагато більше інвестицій на одноразову зміну, якщо зміни відбуваються рідко. Це відбувається тому, що розробники не завжди досить добре описують свій код, тому що у компаній немає культури підтримки проєктних документів. Ось чому зміни до раніше розробленого коду можуть бути болючими й затратними.</p><p>Саме тому рекомендується використовувати окремі класи та методи для отримання даних. Це принцип поділу логіки запитів даних і бізнес-логіки.</p><p>Але все ж розробка коду для запитів даних потрібна, і на це потрібні час і гроші.</p><h2 id="%D1%80%D1%96%D1%88%D0%B5%D0%BD%D0%BD%D1%8F-%D1%8F%D0%BA%D0%B5-%D0%B7%D0%B1%D0%B5%D1%80%D1%96%D0%B3%D0%B0%D1%94-%D0%BA%D0%BE%D1%88%D1%82%D0%B8-%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9-%D0%BA%D0%BE%D0%B4">Рішення, яке зберігає кошти (синхронний код)</h2><p>Саме тому може бути вигідно пропустити розробку коду для запиту даних, працюючи тільки за бізнес-логікою.</p><p>Для цього я розробив <strong>Query Manager</strong>, який є універсальним інструментом для ізоляції запитів даних та коду бізнес-логіки.</p><p>Він складається з контролера запитів, UI конструктора запитів та об’єкта збереження параметрів запитів.</p><p><strong>Конструктор запитів </strong>призначений для налаштування параметрів запитів та фільтрації.</p><p><strong>Контролер запитів </strong>використовує збережені параметри запитів та фільтрації для отримання даних і передачі даних до коду бізнес-логіки клієнта.</p><p><strong>Об’єкт збереження параметрів запитів </strong>– це об’єкт, записи якого зберігають налаштування запитів та фільтрації, і ці записи використовуються для роботи контролера запитів.</p><p>Query Manager дає змогу сконцентруватися на розробці та підтримці лише бізнес-логіки незалежно від змін логіки запитів даних.</p><h3 id="%D1%86%D0%B5-%D1%88%D0%BB%D1%8F%D1%85-%D0%B4%D0%BB%D1%8F-%D0%B5%D0%BA%D0%BE%D0%BD%D0%BE%D0%BC%D1%96%D1%97-%D0%B3%D1%80%D0%BE%D1%88%D0%B5%D0%B9-%D0%B1%D0%B0%D0%B3%D0%B0%D1%82%D1%8C%D0%BC%D0%B0-%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%B0%D0%BC%D0%B8">Це шлях для економії грошей багатьма способами:</h3><ol><li>Ви не витрачаєте багато часу на дослідження наявного коду, який слугує для отримання даних.</li><li>Ви не витрачаєте багато часу на оновлення коду для отримання даних.</li><li>Ви не витрачаєте час на тестування оновлень та деплой оновлень на продакшені.</li><li>Ви можете підтримувати робочі процеси, розкриваючи цілі та залишаючи коментарі прямо у спеціальних полях записів параметрів запитів. Також можна відстежувати дату останніх оновлень у логіці запитів і так далі.</li></ol><p>Query Manager має два глобальних методи, які доступні для синхронного Apex. <strong>Це такі методи:</strong></p><p>@AuraEnabled global static String getPagedRecordsForApex (String dataTableSettingsId, integer pgNum, integer pgSize):</p><p>@AuraEnabled global static List &lt;SObject&gt; getAllRecordsForApex (String dataTableSettingsId)</p><p>Метод <strong>getPagedRecordsForApex</strong> повертає записи як рядок для певної сторінки пагінації даних.</p><p>Метод <strong>getAllRecordsForApex</strong> повертає всі записи, які доступні відповідно до збережених параметрів запитів та фільтрації.</p><p>Докладніше про те, як використовувати ці методи, дивіться у відео.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/tkPwmK153Fs?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen title="Business Development Acceleration With Salesforce Query Management"></iframe></figure><h2 id="%D0%B4%D0%BE%D0%BF%D0%BE%D0%BC%D1%96%D0%B6%D0%BD%D1%96-batchable-%D0%BA%D0%BB%D0%B0%D1%81%D0%B8">Допоміжні Batchable класи</h2><p>Дехто може сказати: добре, ви надали рішення для синхронного Apex, але як щодо асинхронних класів Batchable?</p><p>Питання порушено тому, що розробники використовують класи Batchable для роботи з великим обсягом записів через обмеження Salesforce для SOQL (50 тисяч записів за транзакцію) операцій і для операцій DML (10 тисяч записів за одну транзакцію).</p><p>Іноді в таких випадках з’являються допоміжні класи Batchable. Під допоміжними класами я маю на увазі ті, які виконують ту ж роль, що і код на малюнку 4 (допоміжний код для отримання відповідних ідентифікаторів записів). </p><p>Але на протиставлення синхронному Apex, де може бути використаний окремий метод, в асинхронному Apex необхідно використовувати додатковий окремий Batchable клас. </p><p>Оскільки логіка запитів може бути складною і може змінюватися для різних процесів всередині організації, розробники повинні запроваджувати стільки Batchable класів, скільки потрібно для цих процесів, пов’язуючи їх кожного разу у потрібній послідовності згідно з логікою запитів потрібних даних.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/ut0f1XBatnrPM4Tw5NP94n6kF3Ll9Og5AIVrdOkRT0jukfAx_GpMiH5qiwJhOAhqDOeGgF-CM_J9eE3Rcop5gZfv8mQj3NXSc_5mIsFlAjYXNuVp4vEGv5pieo65-BlDxp7r_5EOeBPQhfPt7hMU0Oc" class="kg-image" alt loading="lazy" width="715" height="658"></figure><p>І знову це вимагає певних вкладень часу і грошей. Навіть більших, аніж для синхронного коду.</p><p><strong>Рішення, яке зберігає кошти (асинхронний код)</strong></p><p>Так само, як для синхронного Apex, є рішення для асинхронного коду, яке економить ваші гроші, пропускаючи розробку допоміжних Batchable класів за допомогою Query Manager.</p><p>З цією метою Query Manager має глобальний метод static void callByFilteringSettings (String className, String settingsId).</p><p>З цим методом ви можете пропустити всі допоміжні Batchable класи й отримати результат запитів до бази даних прямо у ваш цільовий Batchable клас із вашою індивідуальною логікою.</p><p>Докладніше про те, як використовувати метод <strong>callByFilteringSettings</strong>, дивіться у відео.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/zOqtO8M_FhM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen title="Business Development Acceleration With Salesforce Query Management Batch Class Feature"></iframe></figure><h2 id="%D1%84%D1%83%D0%BD%D0%B4%D0%B0%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D1%96-%D0%BD%D0%B5%D0%B2%D0%B8%D1%80%D1%96%D1%88%D0%B5%D0%BD%D1%96-%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B8">Фундаментальні невирішені проблеми</h2><p>Попри те, що ми отримали принципово новий підхід до розробки, все ще залишаються деякі невирішені ключові проблеми.</p><p>Перша проблема полягає в тому, що для синхронного Apex все ще залишається ліміт у 50 тисяч записів для всіх SOQL запитів у межах однієї транзакції, а саме в ціх межах існує виконання синхронного коду. І, мабуть, ми нічого не можемо з цим вдіяти. Єдине, чим ми можемо дещо поліпшити продуктивність, так це застосуванням мого рішення для нескінченної пагінації сторінок, яка була описана у моїй іншій статті. І це один із пунктів вдосконалення у майбутньому.</p><p>Друга проблема – це heap size та CPU Time лімітів для асинхронного коду (для класів Batchable).</p><p>Це питання можна вирішити двома підходами. Перший заснований на розробці кодера і декодера ідентифікаторів записів. Цей кодер та декодер повинні приймати перший ідентифікатор, останній ідентифікатор, принцип впорядкування між першим та останнім ідентифікаторами й назву SObject-а. Але наразі я не знаю технічного рішення для такого підходу. Будь ласка, запропонуйте, яким може бути рішення. </p><p>Другий підхід полягає у використанні файлів CSV з ідентифікаторами для допоміжних класів Batchable. Це більш зрозуміло і може допомогти у вирішенні heap size та CPU Time лімітів.</p><p>Отже, друге питання також є пунктом вдосконалення у майбутньому.</p><h2 id="%D0%BE%D0%B1%D0%BC%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F-%D1%96-%D0%BD%D0%B5%D0%B4%D0%BE%D0%BB%D1%96%D0%BA%D0%B8-%D1%8F%D0%BA%D1%96-%D0%BD%D0%B0%D1%8F%D0%B2%D0%BD%D1%96-%D0%BD%D0%B0-%D1%86%D1%8C%D0%BE%D0%BC%D1%83-%D0%B5%D1%82%D0%B0%D0%BF%D1%96">Обмеження і недоліки, які наявні на цьому етапі:</h2><ol><li>Немає обробки перевищення лімітів SOQL та інших лімітів. У деяких випадках це може бути незручно. Це також пункт для вдосконалення у майбутньому.</li><li>Тільки SObjects, які користувач може бачити в Object Manager всередині організації, доступні в Query Manager. Це зроблено з метою не перевантажувати користувачів і розробників додатковою інформацією в інтерфейсі Query Builder. Доступ до всіх об’єктів можна зробити для окремої розширеної версії.</li><li>Менеджер запитів взагалі не тестувався з Queable Classes. Це точка для майбутнього розслідування і вдосконалення.</li><li>Концепція управління запитами для управління розробкою та підтримкою проєкту. На цей момент вказана концепція не до кінця оформлена в могутню філософію розробки.</li><li>Таблиці даних із різними функціональними можливостями й адаптивні для користувацької функціональності, які трансформуються на будь-який смак користувача. Це також пункт для вдосконалення у майбутньому.</li><li>Деякі інші недоліки та помилки, які ви можете знайти, використовуючи Query Manager.</li></ol><h2 id="%D0%B2%D0%B8%D1%81%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8">Висновки</h2><p>Query Manager – це зручний, перспективний і трансформаційний продукт та філософія.</p><p>Він безкоштовний.</p><p>Основна мета створення і розвитку – отримання корисних та економних концептів.</p><p>Ваше використання та відгуки – дуже приємні та важливі інвестиції. Тому моя пропозиція для бізнесу та розробників – використовувати Query Manager.</p><p><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодну публікацію!</em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Чому я пишу цю статтю?

У кожного з нас є досягнення, якими ми пишаємося. Якби мене запитали, чим я пишаюся найбільше за роки своєї кар’єри менеджера, я б відповіла, що довірою і свободою слова, яку формую у своїх командах. В одній із таких у 2020 році було проведено анонімне ]]></description>
        <link>https://proit.ua/zvorotnii-zviazok-shcho-pierietvoriuietsia-na-diyi-pokrokovii-plan-vidbudovi-idiealnoyi-komunikatsiyi/</link>
        <guid isPermaLink="false">6551ea9ea74bce3872210c07</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Маріне Темнікова ]]></dc:creator>
        <pubDate>пт, 17 лист 2023 13:00:14 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/11/growe.jpg" medium="image"/>
        <content:encoded><![CDATA[ <h2 id="%D1%87%D0%BE%D0%BC%D1%83-%D1%8F-%D0%BF%D0%B8%D1%88%D1%83-%D1%86%D1%8E-%D1%81%D1%82%D0%B0%D1%82%D1%82%D1%8E">Чому я пишу цю статтю?</h2><p>У кожного з нас є досягнення, якими ми пишаємося. Якби мене запитали, чим я пишаюся найбільше за роки своєї кар’єри менеджера, я б відповіла, що довірою і свободою слова, яку формую у своїх командах. В одній із таких у 2020 році було проведено анонімне опитування, яке включало групу питань щодо «свободи слова» в команді. За його результатами я, як менеджер, отримала 100 балів. Це означало, що в анонімному опитуванні кожен член команди із 14 осіб оцінив свого менеджера та атмосферу в команді на 10 із 10. Ось чому я відчуваю, що маю чим поділитися із читачами.</p><p>Час ішов, команди змінювалися, зростаючи з 3-х до 48 спеціалістів. Незмінним залишилося одне – моя пристрасть до вдосконалення і зворотного зв’язку як його невід’ємної складової.</p><h2 id="%D0%B2%D0%B0%D0%B6%D0%BB%D0%B8%D0%B2%D1%96%D1%81%D1%82%D1%8C-%D0%B7%D0%B2%D0%BE%D1%80%D0%BE%D1%82%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B7%D0%B2%E2%80%99%D1%8F%D0%B7%D0%BA%D1%83">Важливість зворотного зв’язку</h2><p>Зворотний зв’язок – це процес отримання та надання інформації, що допомагає визначити ефективність дій, ухвалити рішення та покращити робочі або особисті навички. Він використовується для зміцнення взаємодії, а також для досягнення бажаних результатів та постійного розвитку. </p><p>Є статистичні дані, що підкреслюють важливість зворотного зв’язку для покращення співпраці, результативності та міжособистісних відносин у робочому оточенні. </p><h2 id="%D0%BD%D0%B0%D0%B2%D0%B5%D0%B4%D1%83-%D1%82%D0%BE%D0%BF-5-%D1%89%D0%BE-%D0%B2%D1%96%D0%B4%D0%B3%D1%83%D0%BA%D0%BD%D1%83%D0%BB%D0%B8%D1%81%D1%8F-%D0%BC%D0%B5%D0%BD%D1%96-%D0%BD%D0%B0%D0%B9%D0%B1%D1%96%D0%BB%D1%8C%D1%88%D0%B5">Наведу топ 5, що відгукнулися мені найбільше:</h2><ol><li>За даними Harvard Business Review, компанії, які систематично надають зворотний зв’язок своїм працівникам, можуть досягати покращення продуктивності на 25% або більше.</li><li>За даними Harvard Business Review, 95% компаній вважають зворотний зв’язок ключовим для успіху у сучасному бізнесі.</li><li>За дослідженнями American Psychological Association, зворотний зв’язок може збільшити особистісний ріст і розвиток на 20%.</li><li>За даними статистики, опублікованої на <a href="https://www.linkedin.com/business/talent/blog">LinkedIn</a>, 94% робочих співробітників бажають отримувати зворотний зв’язок від колег для покращення продуктивності та розвитку.</li><li>За даними <a href="https://www.gallup.com/workplace/236366/rightway-management-matters-improving-employee-engagement.aspx">Gallup</a>, 70% рівня задоволеності праці співробітників залежить від їхніх керівників та якості взаємодії з ними.</li></ol><p>Тему цієї статті можна розкрити для двох основних сценаріїв. Перший полягає в наступному: «я отримую зворотний зв’язок і перетворюю його на дії», другий – «я надаю зворотний зв’язок і стимулюю його перетворювати на дії». </p><p>Тема надання зворотного зв’язку дуже широко розкрита в інформаційному просторі. Водночас питання, що робити, коли ти шукаєш та/або отримав зворотний зв’язок, заслуговує не меншої уваги. Тут я хочу розкрити саме цей, тобто перший, сценарій.</p><p>Мій алгоритм роботи зі зворотним зв’язком, який я отримую, складається з 5 основних кроків.</p><h2 id="%D0%BA%D1%80%D0%BE%D0%BA-1-%D0%B7%D0%B1%D1%96%D1%80-%D1%82%D0%B0-%D0%BF%D1%80%D0%B8%D0%B9%D0%BE%D0%BC-%D0%B7%D0%B2%D0%BE%D1%80%D0%BE%D1%82%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B7%D0%B2%E2%80%99%D1%8F%D0%B7%D0%BA%D1%83">Крок 1: збір та прийом зворотного зв’язку</h2><p>Важливою задачею для збору зворотного зв’язку є сформувати безпечне середовище. </p><h3 id="%D0%BE%D1%81%D1%8C-%D0%BA%D1%96%D0%BB%D1%8C%D0%BA%D0%B0-%D0%BA%D1%80%D0%BE%D0%BA%D1%96%D0%B2-%D1%8F%D0%BA%D1%96-%D0%BC%D0%BE%D0%B6%D1%83%D1%82%D1%8C-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BC%D0%BE%D0%B3%D1%82%D0%B8-%D1%81%D1%82%D0%B2%D0%BE%D1%80%D0%B8%D1%82%D0%B8-%D1%82%D0%B0%D0%BA%D0%B5-%D1%81%D0%B5%D1%80%D0%B5%D0%B4%D0%BE%D0%B2%D0%B8%D1%89%D0%B5">Ось кілька кроків, які можуть допомогти створити таке середовище:</h3><ol><li>Проявіть відкритість та емпатію: покажіть, що ви відкриті до інших думок і готові слухати, проявіть емпатію до почуттів та думок інших.</li><li>Підкреслюйте важливість конструктивного зворотного зв’язку й обіцяйте використовувати його для покращення процесів та результатів.</li><li>Забезпечте конфіденційність і безпеку.</li><li>Визнавайте і нагороджуйте співробітників та колег за важливий та конструктивний зворотний зв’язок. Я називаю їх «амбасадорами зворотного зв’язку у команді». Це люди, які показують іншим, що надавати зворотний зв’язок безпечно. Покажіть, що їхні внески цінуються та впливають на розвиток організації. З мого досвіду найбільш ефективною формулою визнання є «дякую за те, що… Це допомогло/дало/вплинуло на …».</li><li>Покажіть приклад, надаючи відкритий та конструктивний зворотний зв’язок іншим.</li><li>Демонструйте, як ви самі активно використовуєте зворотний зв’язок для свого власного розвитку.</li></ol><p>Створення безпечного середовища для зворотного зв’язку вимагає часу та зусиль, але воно може покращити співпрацю, збільшити задоволеність праці та призвести до покращення результатів в організації.</p><p>Процедури та механізми для збору зворотного зв’язку можуть бути дуже різними. Я раджу експериментувати, щоб визначитись із найкращим варіантом саме для вас. </p><p>Важливо, що з часом обрані процедури та механізми можуть стати менш дієвими, тож варто тестувати інші. Я практикувала збір зворотного зв’язку 1:1, у роботі з групою людей, усно та письмово. </p><p>Деяким людям легше його надавати, коли вони знають, про що їх запитають, деяким людям легше сформулювати думку в письмовому вигляді з подальшим поясненням особисто. </p><p>Часто людям непросто сказати щось про вас, тоді можна їх запитати про сумісні задачі, проєкти, на скільки комфортно працювалося разом, чи співпали очікування з реальністю, якою була швидкість комунікації, якість тощо. Якщо відповідь не ллється рікою, то можна запитати як людина оцінює свою задоволеність за тими чи іншими питанням від 0 до 10, що б могло бути по-іншому, щоб рівень задоволеності зріс.</p><p>Якщо ви керівник і збираєте зворотний зв’язок від команди, то можна отримати цінну інформацію для свого розвитку, запитавши про робоче середовище: команду, процеси тощо і про ваші ключові компетенції керівника, наприклад, щодо пріоритезації, управління цілями, допомогу в досягненні цілей, психологічну безпеку тощо. </p><p>Збирати зворотний зв’язок необхідно постійно, тож із моїми прямими підлеглими в мене стоять такі зустрічі за графіком. Водночас вони знають, що якщо є потреба, вони можуть ініціювати розмову раніше. Для збору зворотного зв’язку від непрямих підлеглих я практикувала збереження декількох таймслотів на тиждень. Кожен міг забронювати їх, щоб поговорити.</p><p>Для мене зворотний зв’язок – це про небайдужість та довіру. Тому завжди приймаю його із вдячністю та відкритим серцем. Людина приділяє свій час, ментальну енергію, щоб поговорити про свої почуття, дати мені поштовх кудись розвиватися. Тож, перша фраза, яку завжди почує людина, яка надає мені зворотний зв’язок: «Дякую, що поділився. Це важливо тому, що…».</p><p>Так стається, що іноді люди, надаючи зворотний зв’язок, використовують вислови, які можна трактувати по-різному. Наприклад, ви отримали зворотний зв’язок від керівника, що вам необхідно покращити «відчуття терміновості». </p><p>Чи означає це, що вам необхідно працювати швидше? Чи означає це, що ваш колега береться за справу швидше, ніж ви? А може це означає, що ви маєте затримуватися в офісі на довше? В такому випадку варто отримати від керівника більше деталей. </p><h3 id="%D1%96%D0%B7-%D1%86%D0%B8%D0%BC-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BC%D0%BE%D0%B6%D1%83%D1%82%D1%8C-%D1%82%D0%B0%D0%BA%D1%96-%D0%B7%D0%B0%D0%BF%D0%B8%D1%82%D0%B0%D0%BD%D0%BD%D1%8F">Із цим допоможуть такі запитання:</h3><ul><li>Чи можете надати більше прикладів або деталей?</li><li>Чи можете пояснити, на що саме ви посилаєтеся?</li><li>Яку конкретну проблему ви маєте на увазі?</li><li>Як ви бачите ідеальний варіант чи рішення?</li></ul><p>Іноді люди можуть мати труднощі у вираженні своїх думок чи почуттів, коли надають зворотний зв’язок. Це може бути пов’язано з різними факторами, такими як емоції, стрес, недоліки у комунікації тощо. Важливо розуміти, що деякі люди можуть потребувати більше часу та підтримки, щоб виразити свої думки. </p><p>Будьте терплячими. Надайте підтримку і підкресліть важливість того, що людина намагається сказати. Запропонуйте допомогу в уточненні, поставте запитання.</p><p>Коли ви отримали більш ясну картину, можна переходити до наступного кроку.</p><h2 id="%D0%BA%D1%80%D0%BE%D0%BA-2-%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B7-%D1%82%D0%B0-%D0%BA%D0%BB%D0%B0%D1%81%D0%B8%D1%84%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%8F-%D0%B7%D0%B2%D0%BE%D1%80%D0%BE%D1%82%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B7%D0%B2%E2%80%99%D1%8F%D0%B7%D0%BA%D1%83">Крок 2: аналіз та класифікація зворотного зв’язку</h2><p>Після прийняття зворотного зв’язку переходьте до аналізу та класифікації отриманих відгуків. </p><h3 id="%D0%B4%D0%BB%D1%8F-%D0%BA%D0%BB%D0%B0%D1%81%D0%B8%D1%84%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%97-%D0%B7%D0%B2%D0%BE%D1%80%D0%BE%D1%82%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B7%D0%B2%E2%80%99%D1%8F%D0%B7%D0%BA%D1%83-%D1%83-%D1%80%D0%BE%D0%B1%D0%BE%D1%87%D0%BE%D0%BC%D1%83-%D1%81%D0%B5%D1%80%D0%B5%D0%B4%D0%BE%D0%B2%D0%B8%D1%89%D1%96-%D1%8F-%D0%BF%D1%80%D0%BE%D0%BF%D0%BE%D0%BD%D1%83%D1%8E-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%BE%D0%B2%D1%83%D0%B2%D0%B0%D1%82%D0%B8-%D1%82%D0%B0%D0%BA%D1%96-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D1%96%D1%97">Для класифікації зворотного зв’язку у робочому середовищі я пропоную використовувати такі категорії:</h3><ol><li>Суб’єкт – той, хто надає зворотний зв’язок: твій керівник, твої підлеглі, твої колеги.</li><li>Предмет – розвиток і навчання, ваші hard skills, ваші soft skills, робочі умови, процеси, комунікація тощо.</li><li>Оцінка – негативний і позитивний. Я вірю, що з позитивним зворотним зв’язком теж потрібно працювати. Саме він сигналізує людині про те, що їй вдається добре і що їй необхідно продовжувати робити.</li></ol><h2 id="%D0%BA%D1%80%D0%BE%D0%BA-3-%D0%B2%D0%B8%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%BD%D1%8F-%D0%BA%D0%BE%D0%BD%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B8%D1%85-%D0%B4%D1%96%D0%B9">Крок 3: визначення конкретних дій</h2><p>Є деякі ситуації, коли можливо не потрібно приймати конкретні дії або реагувати на отриманий зворотний зв’язок. Нижче наведено деякі приклади таких ситуацій:</p><ul><li>Позитивний загальний відгук: якщо отримали загальний позитивний відгук, який не містить конкретних рекомендацій або запитів, то, можливо, не потрібно додаткових дій, але завжди можна висловити слова подяки.</li><li>Відсутність авторитету або компетенції: якщо відгук надійшов від особи, яка не має відповідної компетенції або авторитету в питанні, яке стосується вашої роботи чи діяльності, то може бути необов’язково реагувати на нього.</li><li>Очевидність інформації: іноді відгук може містити інформацію, яка є вже відомою чи очевидною для вас, і реагувати на такий відгук може бути надлишковим.</li><li>Особиста суб’єктивність: якщо відгук відображає суб’єктивну думку чи смак особи та не має загального значення, то не завжди потрібно реагувати на такий відгук.</li><li>Непередбачені обставини: іноді ситуації можуть змінюватися так, що відгук стає неактуальним або несуттєвим для подальших дій.</li></ul><p>Якщо ваша ситуація все-таки потребує визначення конкретних дій, то рекомендується визначити, яку мету ви прагнете досягти через реакцію на зворотний зв’язок. Це може бути поліпшення робочих процесів, зміцнення командної співпраці, професійний розвиток чи вдосконалення комунікації тощо. </p><p>Далі виокремте конкретні кроки, які потрібно вжити для досягнення цілей. Це може включати в себе: зміни у робочих процесах, навчання чи розвиток навичок, співпрацю з колегами чи керівництвом, виправлення помилок чи недоліків, зміна стратегії чи зміна способу комунікації. </p><h3 id="%D0%BE%D1%81%D1%8C-%D0%B4%D0%B5%D1%8F%D0%BA%D1%96-%D1%96%D0%B7-%D0%B7%D0%B0%D0%BF%D0%B8%D1%82%D0%B0%D0%BD%D1%8C-%D1%8F%D0%BA%D1%96-%D1%8F-%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D1%8E-%D0%BF%D0%B5%D1%80%D0%B5%D0%B4-%D1%81%D0%BE%D0%B1%D0%BE%D1%8E-%D1%89%D0%BE%D0%B1-%D0%B2%D0%B8%D0%BE%D0%BA%D1%80%D0%B5%D0%BC%D0%B8%D1%82%D0%B8-%D0%B4%D1%96%D1%97">Ось деякі із запитань, які я ставлю перед собою, щоб виокремити дії:</h3><ul><li>Як можу я виправити це вже зараз?</li><li>Що станеться, якщо це не виправити найближчим часом? Чи беру я на себе ці ризики?</li><li>Яка одна річ, над якою я можу працювати вже сьогодні?</li><li>Що я можу почати робити, щоб це виправити?</li><li>Які ресурси, знання або навички мені потрібні, щоб зробити потрібні зміни?</li><li>Які ресурси, підтримку або плани я можу використовувати для впровадження цих змін?</li><li>Чи є аналогічні ситуації, які мені вже вдалося вирішити в минулому і які уроки я можу засвоїти із цих досвідів?</li><li>Які щоденні чи щотижневі звички, практики тощо я можу впровадити, щоб працювати над покращеннями?</li></ul><p>Коли визначені конкретні дії, можна переходити до наступного кроку.</p><h2 id="%D0%BA%D1%80%D0%BE%D0%BA-4-%D0%BF%D0%BB%D0%B0%D0%BD%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D1%96-%D1%80%D0%B5%D0%B0%D0%BB%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%8F-%D0%B4%D1%96%D0%B9">Крок 4: планування і реалізація дій</h2><p>Розробіть план дій на основі визначених кроків та поступово реалізуйте їх.</p><ol><li>Встановіть пріоритети поміж виокремлених конкретних дій.</li><li>Розподіліть завдання.</li><li>Встановіть терміни.</li><li>Вносьте зміни за необхідності.</li><li>Слідкуйте за прогресом.</li><li>Співпрацюйте й оточуйте себе підтримкою.</li><li>Навчайтеся від помилок.</li><li>Регулярно займайтеся саморефлексією, щоб оцінити ваші досягнення та визначити, як ви можете покращити вашу стратегію.</li><li>Нагадуйте собі про цілі.</li><li>Пам’ятайте, що зміни можуть займати час і важливо дотримуватися плану та систематичності.</li></ol><p>Часто я повідомляю особу, яка надала мені зворотний зв’язок про те, що я почала працювати над предметом зворотного зв’язку. Іноді ділюся тим, як саме це роблю. Можу додавати цю особу в колаборатори до задачі по змінах у таск-менеджер, куди я вношу свій план дій.</p><h2 id="%D0%BA%D1%80%D0%BE%D0%BA-5-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D1%96%D1%80%D0%BA%D0%B0-%D0%B9-%D0%BE%D1%86%D1%96%D0%BD%D0%BA%D0%B0-%D1%80%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D1%96%D0%B2">Крок 5: перевірка й оцінка результатів</h2><p>Після впровадження змін періодично перевіряйте їхню ефективність та оцінюйте результати. Відслідковуйте, чи вдалося досягти покращень та чи були досягнуті поставлені цілі. Це можна проводити аналогічно із процесом збору зворотного зв’язку – 1:1 або в групі, усно чи письмово. </p><h3 id="%D0%BE%D1%81%D1%8C-%D0%B4%D0%B5%D0%BA%D1%96%D0%BB%D1%8C%D0%BA%D0%B0-%D0%B2%D1%96%D0%B4%D0%BA%D1%80%D0%B8%D1%82%D0%B8%D1%85-%D0%B7%D0%B0%D0%BF%D0%B8%D1%82%D0%B0%D0%BD%D1%8C-%D1%8F%D0%BA%D1%96-%D0%BC%D0%BE%D0%B6%D0%BD%D0%B0-%D0%B0%D0%B4%D1%80%D0%B5%D1%81%D1%83%D0%B2%D0%B0%D1%82%D0%B8-%D1%89%D0%BE%D0%B1-%D0%BE%D1%86%D1%96%D0%BD%D0%B8%D1%82%D0%B8-%D1%81%D0%B2%D0%BE%D1%97-%D1%80%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8">Ось декілька відкритих запитань, які можна адресувати, щоб оцінити свої результати:</h3><ul><li>Я працював(ла) над змінами, про які ти говорив(ла) у своєму зворотному зв’язку. Я цікавлюся твоєю думкою. Чи помітив(ла) ти будь-які поліпшення чи зміни стосовно … (предмета зворотного зв’язку)?</li><li>Чи відчуваєш ти, що мої дії/поведінка/процеси тощо стали іншими після мого сприйняття твого зворотного зв’язку?</li><li>Як ти оцінюєш прогрес у реалізації змін після нашого останнього спілкування?</li><li>Чи виникають у тебе будь-які нові враження або відчуття під час нашої взаємодії порівняно з попередніми разами?</li></ul><p>Будьте готовими до чесного та відкритого обговорення, а також до того, що відповідь може бути різною.</p><h2 id="%D0%B2%D0%B8%D1%81%D0%BD%D0%BE%D0%B2%D0%BE%D0%BA">Висновок</h2><p>Я вірю, що за допомогою цього матеріалу читачам стане зрозуміліше, що робити зі зворотним зв’язком і врешті-решт вони стануть активніше його шукати. </p><p>Важливо зрозуміти, що шукати зворотний зв’язок – це не лише можливість виправити помилки чи поліпшити процеси, але і шлях до власного росту та розширення можливостей. Тримайте у голові, що зворотний зв’язок – це цінний ресурс, який допомагає вдосконалювати себе, і це знання дійсно важливе для досягнення успіху в житті. Тож не соромтеся збирати відгуки від інших, постійно навчаючись, бо це важлива складова вашого особистісного та професійного зростання.</p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>Підписуйтеся на </em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em><a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer"><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>ProIT у Telegram</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></a><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>, щоб не пропустити жодну публікацію!</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Написання чіткого і зрозумілого коду є важливою частиною успішної розробки програмного забезпечення. Хоча основною метою коду є виконання певної функції. Не менш важливо, щоб при написанні коду важливо не тільки створити програму, що працює, але й забезпечити, щоб інші розробники могли легко зрозуміти ваш код. Це надзвичайно важливо для того, ]]></description>
        <link>https://proit.ua/iak-pisati-kod-tak-shchob-vin-buv-zrozumilii-inshim-rozrobnikam/</link>
        <guid isPermaLink="false">6551ff73a74bce3872210cee</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Kharkiv IT Cluster ]]></dc:creator>
        <pubDate>вт, 14 лист 2023 13:00:53 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/11/programming-background-with-html-text.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Написання чіткого і зрозумілого коду є важливою частиною успішної розробки програмного забезпечення. Хоча основною метою коду є виконання певної функції. Не менш важливо, щоб при написанні коду важливо не тільки створити програму, що працює, але й забезпечити, щоб інші розробники могли легко зрозуміти ваш код. Це надзвичайно важливо для того, щоб ваш код був ефективним та легко змінюваним у майбутньому.</p><p>Незрозумілий код може призвести до складнощів у розробці, тестуванні й підтримці програмного забезпечення. А зрозумілий код дає змогу забезпечити ефективну комунікацію між розробниками та підвищити продуктивність команди. Якщо розробник не може зрозуміти чужий код, то він може витрачати надмірний час на розуміння коду та розв’язання проблеми. Це може призвести до затримки у розробці та витрат на проєкт.</p><p>Крім того, зрозумілий код сприяє підтримці та розширенню програмного забезпечення. Якщо код добре написаний, то нові розробники зможуть швидко зрозуміти, як він працює та що робить кожен компонент. Це дозволить розробникам внести необхідні зміни й удосконалення без остраху зіпсувати функціональність програми.</p><p>Отже, зрозумілість коду є важливою складовою успішної розробки програмного забезпечення та його підтримки. Навичками написання зрозумілого коду мають володіти всі члени команди. Це забезпечить якісну комунікацію в команді та ефективну розробку програмного забезпечення.</p><h2 id="%D0%B4%D0%B5%D0%BA%D1%96%D0%BB%D1%8C%D0%BA%D0%B0-%D0%BF%D0%BE%D1%80%D0%B0%D0%B4-%D1%8F%D0%BA-%D1%83%D0%BD%D0%B8%D0%BA%D0%BD%D1%83%D1%82%D0%B8-%D0%BF%D0%BE%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D1%85-%D0%BF%D0%BE%D0%BC%D0%B8%D0%BB%D0%BE%D0%BA-%D1%8F%D0%BA%D1%96-%D0%BC%D0%BE%D0%B6%D1%83%D1%82%D1%8C-%D0%B7%D1%80%D0%BE%D0%B1%D0%B8%D1%82%D0%B8-%D0%B2%D0%B0%D1%88-%D0%BA%D0%BE%D0%B4-%D0%BD%D0%B5%D0%B7%D1%80%D0%BE%D0%B7%D1%83%D0%BC%D1%96%D0%BB%D0%B8%D0%BC-%D1%96%D0%BD%D1%88%D0%B8%D0%BC-%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D0%BD%D0%B8%D0%BA%D0%B0%D0%BC">Декілька порад, як уникнути поширених помилок, які можуть зробити ваш код незрозумілим іншим розробникам:<br></h2><h3 id="%E2%9D%8C-%D0%BD%D0%B5-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%BE%D0%B2%D1%83%D0%B9%D1%82%D0%B5-%D1%81%D0%BA%D0%BE%D1%80%D0%BE%D1%87%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B9-%D0%B0%D0%B1%D1%80%D0%B5%D0%B2%D1%96%D0%B0%D1%82%D1%83%D1%80%D0%B8">❌ Не використовуйте скорочення й абревіатури</h3><p>Використовуйте повні та зрозумілі назви змінних, функцій і класів, щоб забезпечити зрозумілість коду для інших розробників.</p><h3 id="%E2%9D%8C-%D0%BD%D0%B5-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%BE%D0%B2%D1%83%D0%B9%D1%82%D0%B5-%D0%B7%D0%B0%D0%BD%D0%B0%D0%B4%D1%82%D0%BE-%D1%81%D0%BA%D0%BB%D0%B0%D0%B4%D0%BD%D1%96-%D0%BA%D0%BE%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D1%96%D1%97-%D0%BA%D0%BE%D0%B4%D1%83">❌ Не використовуйте занадто складні конструкції коду</h3><p>Використовуйте прості та зрозумілі конструкції, щоб забезпечити зрозумілість вашого коду.</p><h3 id="%E2%9D%8C-%D0%BD%D0%B5-%D0%BF%D0%BE%D0%B2%D1%82%D0%BE%D1%80%D1%8E%D0%B9%D1%82%D0%B5-%D0%BA%D0%BE%D0%B4">❌ Не повторюйте код</h3><p>Повторення коду може призвести до збільшення об’єму коду і зниження зрозумілості. Використовуйте функції та класи для забезпечення повторного використання коду й забезпечення зрозумілості коду.</p><p>Вище ми розглянули, чому зрозумілість коду є важливою складовою успішної розробки програмного забезпечення та його підтримки. Ми також обговорили деякі з поширених помилок, які розробники часто роблять при написанні коду та які можуть призвести до складнощів у його зрозумінні та підтримці.</p><p>Але щоб написати зрозумілий код, необхідно знати не тільки те, чого не треба робити, а й те, як правильно його писати. Для цього можна використовувати різноманітні підходи та інструменти, такі як коментарі, назви змінних та функцій, форматування коду й тестування.</p><p>Отже, для того, щоб забезпечити зрозумілість свого коду для інших розробників та підвищити ефективність роботи команди, необхідно керуватися правилами написання зрозумілого коду та використовувати відповідні інструменти.</p><h2 id="%D1%8F%D0%BA%D1%96-%D0%BD%D0%B0%D0%B9%D0%BA%D1%80%D0%B0%D1%89%D1%96-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B8-%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%BD%D1%8F-%D1%87%D1%96%D1%82%D0%BA%D0%BE%D0%B3%D0%BE-%D0%BA%D0%BE%D1%80%D0%BE%D1%82%D0%BA%D0%BE%D0%B3%D0%BE-%D1%82%D0%B0-%D0%BB%D0%B5%D0%B3%D0%BA%D0%BE%D0%B3%D0%BE-%D0%B4%D0%BB%D1%8F-%D1%80%D0%BE%D0%B7%D1%83%D0%BC%D1%96%D0%BD%D0%BD%D1%8F-%D0%BA%D0%BE%D0%B4%D1%83">Які найкращі  методи написання чіткого, короткого та легкого для розуміння коду?<br></h2><h3 id="%E2%9C%85-%D0%B4%D0%BE%D1%82%D1%80%D0%B8%D0%BC%D1%83%D0%B9%D1%82%D0%B5%D1%81%D1%8F-%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D1%96%D0%B2-%D0%BA%D0%BE%D0%B4%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">✅ Дотримуйтеся стандартів кодування</h3><p>Одним із найпростіших способів зробити код зрозумілим для інших розробників є дотримання стандартів кодування, які використовуються у проєкті. Ці стандарти можуть включати правила форматування, іменування змінних, функцій і класів, коментарів та документації. Більшість мов програмування мають власні стандарти кодування, які можна знайти в документації або на офіційних вебсайтах.</p><h3 id="%E2%9C%85-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%BE%D0%B2%D1%83%D0%B9%D1%82%D0%B5-%D1%87%D1%96%D1%82%D0%BA%D1%96-%D0%B9-%D0%BE%D0%BF%D0%B8%D1%81%D0%BE%D0%B2%D1%96-%D1%96%D0%BC%D0%B5%D0%BD%D0%B0-%D0%B4%D0%BB%D1%8F-%D0%B7%D0%BC%D1%96%D0%BD%D0%BD%D0%B8%D1%85-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D1%96%D0%B9-%D1%96-%D0%BA%D0%BB%D0%B0%D1%81%D1%96%D0%B2">✅ Використовуйте чіткі й описові імена для змінних, функцій і класів</h3><p>Використання чітких та описових імен для змінних, функцій і класів має вирішальне значення для того, щоб зробити код зрозумілим для інших розробників. Замість коротких скорочень, які можуть бути неоднозначними для інших, використовуйте назви, які повністю описують їхню функцію. Це допоможе іншим розробникам легко зрозуміти, які дані використовуються та що робить кожна функція.</p><h3 id="%E2%9C%85-%D0%B4%D0%BE%D0%B4%D0%B0%D0%B9%D1%82%D0%B5-%D0%BA%D0%BE%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%80%D1%96-%D0%B4%D0%BE-%D1%81%D0%B2%D0%BE%D0%B3%D0%BE-%D0%BA%D0%BE%D0%B4%D1%83">✅  Додайте коментарі до свого коду</h3><p>Іноді навіть чітких назв змінних та функцій може бути недостатньо для повного опису їх функції та призначення. У таких випадках корисно додати до коду коментарі, які пояснюють, що робить код і чому він потрібен. Це допоможе іншим розробникам зрозуміти мету коду та те, як він підходить до більшого проєкту.</p><h3 id="%E2%9C%85-%D0%BD%D0%B0%D0%BF%D0%B8%D1%88%D1%96%D1%82%D1%8C-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%D0%BD%D0%B8%D0%B9-%D0%BA%D0%BE%D0%B4">✅  Напишіть модульний код</h3><p>Написання модульного коду, де кожна функція або клас виконує певну функцію й ізольовано від решти коду. Це важливо для того, щоб зробити код легким для розуміння. Такий підхід дає змогу розробникам зосереджуватися на одній частині коду за раз, полегшуючи його розуміння. </p><p>Крім того, модульний код робить тестування та налагодження більш керованим, оскільки дозволяє проводити ізольоване тестування окремих функцій або класів.</p><h3 id="%E2%9C%85-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%BE%D0%B2%D1%83%D0%B9%D1%82%D0%B5-%D1%83%D0%B7%D0%B3%D0%BE%D0%B4%D0%B6%D0%B5%D0%BD%D0%B5-%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D1%82%D0%B0-%D0%B2%D1%96%D0%B4%D1%81%D1%82%D1%83%D0%BF%D0%B8">✅  Використовуйте узгоджене форматування та відступи</h3><p>Послідовне форматування й відступи необхідні для того, щоб зробити код легким для читання та розуміння. Використовуйте послідовні інтервали, відступи та розриви рядків у всьому коді, щоб зробити його візуально привабливим і легшим для дотримання. Це полегшить іншим розробникам орієнтуватися в коді та розуміти його структуру.</p><p>Підсумовуючи, зазначимо, що написання чіткого і зрозумілого коду є важливою частиною успішної розробки програмного забезпечення. </p><p>Дотримання стандартів кодування, використання чітких та описових імен для змінних, функцій і класів, додавання коментарів до коду, написання модульного коду та використання послідовного форматування й відступів є одними з найкращих практик, щоб зробити код читабельним і зрозумілим для інших розробників. Застосовуючи ці практики, розробники можуть зробити свій код легшим для розуміння, модифікації та підтримки і, зрештою, сприяти успіху проєкту.</p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>Підписуйтеся на </em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em><a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer"><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>ProIT у Telegram</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></a><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>, щоб не пропустити жодну публікацію!</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Що делегувати та про які небезпеки пам’ятати у роботі з хайповими технологіями?

Олег Цаль-Цалько – старший архітектор рішень в ЕРАМ Україна. Окрім стандартних робочих завдань 4 роки поспіль він керує програмним комітетом однієї з найбільших технологічних конференцій – Devoxx Ukraine.

Разом з мільйонами фахівців світу Олег спостерігає розвиток LLM-моделей і поступове ]]></description>
        <link>https://proit.ua/shi-nie-zaminit-liudiei-alie-liudi-iaki-vikoristovuiut-shi-zaminiat-tikh-khto-tsogho-nie-robit/</link>
        <guid isPermaLink="false">654b9fc01f4f4efa662bc800</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Олег Цаль-Цалько  ]]></dc:creator>
        <pubDate>чт, 09 лист 2023 13:00:31 +0200</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/11/human-and-artificial-intelligence.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Що делегувати та про які небезпеки пам’ятати у роботі з хайповими технологіями? </p><p><em>Олег Цаль-Цалько – старший архітектор рішень в ЕРАМ Україна. Окрім стандартних робочих завдань 4 роки поспіль він керує програмним комітетом однієї з найбільших технологічних конференцій – Devoxx Ukraine. </em></p><p><em>Разом з мільйонами фахівців світу Олег спостерігає розвиток LLM-моделей і поступове народження супер-інтелекту. Де – можливості, а де – загрози в роботі з ШІ, які тренди бачать експерти з різних країн світу? Про це – далі, від першої особи.</em></p><p>За останні роки в Україні через об’єктивні причини стало менше професійних подій, а ті, які залишились, здебільшого перейшли в онлайн-формат. Але всупереч війні другий рік поспіль ми проводимо Devoxx Ukraine і робимо конференцію благодійною: у 2022 році збирали на дрони з фондом Сергія Притули, у 2023-му – на рюкзаки для бойових медиків із фондом «Лелека». Спікери, які долучаються до події, роблять це на волонтерських засадах. Як голова програмного комітету я їм за це надзвичайно вдячний, адже ми запрошуємо поділитися досвідом фахівців світового рівня.</p><p>Відмінність та особливість української конференції, крім воєнних обставин, – це наявність наскрізної теми, яка охоплює найактуальніші та найважливіші напрями, що висвітлюють топові спікери галузі. </p><p>Сталий розвиток, кібербезпека, штучний інтелект – Devoxx не обмежується стандартними «доповідями про Java/DevOps/Kubernetes». Звісно, в цих напрямах теж є оновлення і професіоналам варто за ними стежити, але ж набагато цікавіше завдяки конференції занурюватись у щось геть нове або максимально актуальне.</p><p>У 2023 році Devoxx Ukraine cфокусувалася на темі штучного інтелекту. Не секрет, що головний прорив останнього року в області LLM – те, що вони генерують унікальний контент різного характеру на величезній базі знань. Їм під силу згенерувати текст, зображення, відео тощо. Це значний крок до супер-інтелекту, який відкриває нові можливості. </p><p>Фахівці тестують різні LLM-моделі по різних напрямах і результати хороші, часом кращі, ніж у 99% людей. Ми вважаємо це суттєвим підсиленням на шляху розвитку людства. Звісно, професіонали ще не опанували всіх можливостей потенційного використання штучного інтелекту. Але певні тренди можна відстежити вже зараз.</p><h2 id="%D1%82%D1%80%D0%B5%D0%BD%D0%B4-1-%D0%BF%D0%BE%D0%BC%D1%96%D1%87%D0%BD%D0%B8%D0%BA-%D1%83-%D1%89%D0%BE%D0%B4%D0%B5%D0%BD%D0%BD%D1%96%D0%B9-%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D1%96-%D1%96%D1%82-%D1%84%D0%B0%D1%85%D1%96%D0%B2%D1%86%D1%8F">Тренд 1: Помічник у щоденній роботі ІТ-фахівця</h2><p>Нещодавній обмін досвідом на Devoxx Ukraine підтвердив, що для ІТ-фахівців з різних країн світу найрозповсюдженіші інструменти ШІ – Github Copilot і ChatGPT. Вони допомагають оптимізувати роботу і прискорити виконання деяких рутинних задач на 30% і більше. Інженери найчастіше використовують їх як помічників на кожен день для генерування, анотування, створення коду на незнайомій мові програмування, пошуку і виправлення багів, залучення у CI/CD процеси тощо. </p><p>Так, наприклад, засновник конференції – бельгієць Стефан Янсен оновив платформу так, що під час публікації доповіді на сайті Devoxx штучний інтелект додавав ключові слова, обирав трек, до якого найкраще підійде певна тема, а ще анонімізував ім’я спікера і назву компанії, а також надавав короткий опис доповіді, щоб оптимізувати роботу програмного комітету.</p><p>До речі, хороший варіант використання ШІ – парне програмування за допомогою розповсюджених інструментів. Один із дуже відомих в Україні спікерів – Євген Борисов під час доповіді в режимі реального часу разом зі штучним інтелектом створив невеликий застосунок. Було цікаво спостерігати за процесом, адже це реальний приклад використання ШІ в роботі: без заготовлених запитів і чернеток. </p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/gF3ORUQoftY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen title="Remake of Spring The Builder Powered by AI | Evgeny Borisov | Devoxx Ukraine 2023"></iframe></figure><p>На думку доктора Алана Томпсона, який відкривав конференцію і чию доповідь я раджу послухати кожному, на нас чекає ще масштабніший розвиток інструментів ШІ. Адже вже зараз з’являються роботи, які можуть містити моделі, натреновані на великій кількості даних. Їхні відповіді на випадкові запитання і можливості передбачати наступні кроки і дії людини вражають. </p><p>Алан вважає, що скоро ШІ буде не просто інтерфейсом, а зможе отримати тіло й ухвалювати рішення на базі своїх знань. Його доповідь розширює світогляд і спонукає зануритись у тему ШІ детальніше. </p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/M5rDK9KSPmg?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen title="Devoxx Ukraine Keynote 2023 - Superintelligence: No one is smart enough - Alan D Thompson (Sep/2023)"></iframe></figure><h2 id="%D1%82%D1%80%D0%B5%D0%BD%D0%B4-2-%D0%B1%D1%96%D0%BB%D1%8C%D1%88%D0%B5-%D0%BF%D1%80%D0%B8%D0%B2%D0%B0%D1%82%D0%BD%D0%B8%D1%85-llm-%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B5%D0%B9">Тренд 2: Більше приватних LLM-моделей</h2><p>Корисна інвестиція і предмет розробки деяких компаній – приватні LLM. Інженери вже зараз широко вживають інструменти від OpenAI, Google, Amazon, але з огляду на те, що у кожного з них є свій власник, використовують їх обережно. </p><p>А от у разі приватних LLM це питання вирішено, тому вони безпечніші. Крім того, їх можна натренувати на конкретному наборі даних, що зробить використання ефективнішим для конкретного контексту. Це – один із трендів ШІ, тому варто чекати на збільшення кількості приватних LLM. Адже все більше користувачів будуть прагнути не просто використовувати штучний інтелект як сервіс, але й мати його під своїм контролем.</p><h2 id="%D1%82%D1%80%D0%B5%D0%BD%D0%B4-3-%D1%83%D1%81%D0%B2%D1%96%D0%B4%D0%BE%D0%BC%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F-%D1%80%D0%B8%D0%B7%D0%B8%D0%BA%D1%96%D0%B2">Тренд 3: Усвідомлення ризиків</h2><p>Загально відомі перестороги, які стосують ШІ, пов’язані з безпекою і приватністю даних та етичними питаннями. Більшість користувачів, на щастя, вже усвідомили, що далеко не всю інформацію варто надавати штучному інтелекту. Виключеннями, які здатні вберегти приватні дані, є звісно, приватні LLM, але зараз їх не так багато. </p><p>З питаннями безпеки і етики поки що складніше. Недоцільне використання ШІ, створення фейкових новин і фото – це реалії сьогодення. Варто удвічі скептичніше ставитись до гучних заголовків і намагатися відрізняти достовірний контент від того, що створений за допомогою ШІ. Це непросто, але реально. І деякі фахівці зараз працюють над розробленням інструментів, які в цьому допомагатимуть.</p><h2 id="%D1%82%D1%80%D0%B5%D0%BD%D0%B4-4-%D0%BC%D0%BE%D0%B6%D0%BB%D0%B8%D0%B2%D0%BE%D1%81%D1%82%D1%96-%D0%B4%D0%BB%D1%8F-%D1%82%D0%B8%D1%85-%D1%85%D1%82%D0%BE-%D1%81%D1%82%D0%B2%D0%BE%D1%80%D1%8E%D1%94-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82">Тренд 4: Можливості для тих, хто створює контент</h2><p>ChatGPT став одним з найулюбленіших інструментів завдяки своїй безкоштовності та зручному інтерфейсу. Це – універсальний помічник на кожен день. Якщо професіонал навчився правильно ставити запити-промпти, то зможе отримувати максимум від нього. </p><p>Поруч із продуктом від OpenAI йдуть <a href="https://proit.ua/iak-vikoristovuvati-google-bard-10-sposobiv-polieghshiti-vashie-zhittia/">Google Bard</a>, Amazon Codewhisper, GitHub Copilot та інші: в кожного з цих інструментів свої переваги і недоліки. І це далеко не повний перелік доступних продуктів.</p><p>Під час підготовки конференції Devoxx Ukraine команда активно використовувала ШІ для робочих задач. Так він став важливим помічником для дизайнера. За допомогою різних інструментів було створено візуальні матеріали для промо конференції: від віжуалів для сайту та розсилок у соцмережах до покращення якості деяких фото спікерів. А ще завдяки ШІ фахівці створили сценарій, промо ролики та відео перебивки, які використовувалися під час промо і безпосередньо на заході.</p><p>Штучний інтелект також став у пригоді для підготовки панельної дискусії. Особисто мені ChatGPT допоміг сгенерувати опис панельної дискусії та підготувати більше цікавих запитань до учасників. Це було корисно для виходу з власної інформаційної бульбашки.</p><h2 id="%D1%82%D1%80%D0%B5%D0%BD%D0%B4-5-%D0%B7%D0%B0%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%BD%D1%8F-%D1%88%D1%96-%D0%B4%D0%BE-%D1%88%D0%B8%D1%80%D0%BE%D0%BA%D0%BE%D0%B3%D0%BE-%D1%81%D0%BF%D0%B5%D0%BA%D1%82%D1%80%D1%83-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87-%D0%B0%D0%BB%D0%B5-%D0%BD%D0%B5-%D0%B4%D0%B5%D0%BB%D0%B5%D0%B3%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%BD%D0%B0-%D0%B2%D1%81%D1%96-100">Тренд 5: Залучення ШІ до широкого спектру задач, але не делегування на всі 100%</h2><p>Я певен, що в найближчому майбутньому ШІ не замінить людей. Але люди, які використовують ШІ, замінять тих, хто цього не робить. Нові технології здатні полегшити життя і допомагати у рутинних задачах – багато хто в цьому впевнився. Штучний інтелект добре справляється з генерацією тексту, створенням звітів і коротких викладень, навчанням іноземним мовам та мовам програмування, поясненням складних тем простими словами тощо.</p><p>Якщо навести приклад конференції, то штучний інтелект може допомогти зі створенням контенту, порадити актуальні теми, надати рекомендації щодо спікерів, згенерувати тези для доповідей, зробити резюме попереднього заходу або події від конкурентів. Прикладів – безліч. Проте всі вони вимагають остаточної оцінки з боку людини. Адже саме здатність до аналізу і критичного мислення залишається визначною особливістю людського інтелекту, якою не варто нехтувати.</p><p>Звісно, після завершення війни ми сподіваємось на повернення Devoxx Ukraine в офлайн-формат. Я передбачаю, що це призведе до значного збільшення кількості учасників і спікерів, адже людям в Україні не вистачає таких подій. А поки що – безпека понад усе. І навіть якщо війна не завершиться так скоро, як нам хотілося б, ми продовжимо проводити конференцію як благодійну подію. </p><p>Підтримка України і збереження спільноти – для нас украй важливі цілі. Як сказав один зі спікерів, штучний інтелект – це не друг і не ворог. Це заряджена зброя, яка нікому не загрожує, допоки просто лежить на столі. Але варто взяти її в руки й почати наводити на людей – вона стає цікавим та водночас небезпечним інструментом. Обачність його використання – те, що ми маємо тримати на увазі за будь-яких обставин.</p><p><em>П<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>ідписуйтеся на </em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em><a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer"><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>ProIT у Telegram</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></a><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>, щоб не пропустити жодну публікацію!</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Kharkiv IT Cluster завжди є драйвером змін та корисних інноваційних рішень, незалежно від того, про що йдеться: освіту, майбутнє міста або розвиток бізнесу.

Незалежно від сфери діяльності, бізнес перебуває у нестабільних і турбулентних умовах – ніхто не застрахований від ризиків і форс-мажорів. Тому кожний бізнес і підприємство мають бути готовими до ]]></description>
        <link>https://proit.ua/it-triendi-dlia-rozvitku-bizniesu/</link>
        <guid isPermaLink="false">653a1246a74bce387220ff78</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Kharkiv IT Cluster ]]></dc:creator>
        <pubDate>чт, 26 жовт 2023 13:00:27 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/10/elegant-businessman-with-tablet-background-graphics.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Kharkiv IT Cluster завжди є драйвером змін та корисних інноваційних рішень, незалежно від того, про що йдеться: освіту, майбутнє міста або розвиток бізнесу.</p><p>Незалежно від сфери діяльності, бізнес перебуває у нестабільних і турбулентних умовах – ніхто не застрахований від ризиків і форс-мажорів. Тому кожний бізнес і підприємство мають бути готовими до змін, якщо хочуть залишитися на плаву.</p><p>ІТ-індустрія має яскравий кейс, коли після 24 лютого 2022 року компаніям знадобилося всього кілька місяців, щоб повернутись і відновити свої потужності. У квітні мембери Kharkiv IT Cluster відновили свою діяльність на 93%, тому ми вирішили поділитися власним досвідом із представниками інших напрямів.</p><p><strong>Kharkiv IT Cluster </strong>– єдиний представник українського ІТ-сектору, що є партнером консорціуму EEN.</p><p><strong>Enterprise Europe Network (EEN)</strong> – найбільша у світі мережа підтримки малих та середніх компаній з міжнародними амбіціями, яка має 12 років досвіду діяльності в бізнес-середовищах 70 країн світу (Європа, США, Азія).</p><p>За час нашого партнерства ми реалізували кілька міжнародних івентів, основна мета яких –  налагодити міжнародні trusted-зв’язки українського ІТ з партнерами та клієнтами із різних куточків світу. <br><br>У травні Kharkiv IT Cluster та консорціум EEN створили серію вебінарів із диджиталізації. </p><p><strong>Мета ініціативи</strong> – відкрити найкращі практики ІТ-сфери для бізнесів і підприємств інших напрямів, обмінятися досвідом з колегами й занурити їх у світ диджитал, показати варіанти, як можна оптимізувати щоденні задачі й роботу малого і середнього бізнесу за допомогою нових інструментів та підходів.</p><p><strong>Серія вебінарів охопила три теми:</strong></p><p><em>📌 Ефективне планування та розподіл задач у проєкті. Agile, Scrum, Kanban, Jira.</em></p><p><em>📌 Соціальні мережі для бізнесу.</em></p><p><em>📌 Штучний інтелект: для себе, для бізнесу, для команди.</em></p><p>Кожній темі було приділено два повноцінних івенти: теоретичне заняття і практичний воркшоп, на якому всі учасники разом зі спікером мали змогу ознайомитись, як працювати з інструментами у реальному житті, вирішуючи власні щоденні задачі.</p><h2 id="%D1%82%D0%B5%D0%BC%D0%B0-1-%D0%BF%D0%BB%D0%B0%D0%BD%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D1%96-%D1%80%D0%BE%D0%B7%D0%BF%D0%BE%D0%B4%D1%96%D0%BB-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87-%D1%83-%D0%BF%D1%80%D0%BE%D1%94%D0%BA%D1%82%D1%96">Тема 1: Планування і розподіл задач у проєкті</h2><p>Перший вебінар був присвячений ефективному плануванню та розподілу задач у проєкті завдяки Agile, Scrum, Kanban.</p><p><strong>Спікеркою зустрічі </strong>була<strong> </strong>Марина Алтиннік, New Game Research Manager G5 Entertainment AB, викладачка IT-школи SOURCE іT. </p><p>Вона не лише ознайомила всіх присутніх з Agile-методологіями, а й занурила у більш базові поняття, щоб всі максимально швидко отримали розуміння нової теми й були в контексті.</p><p>На простих прикладах спікерка пояснила, чим відрізняється «проєкт» від «процесу», на що звертати увагу під час роботи і які стадії проходить будь-який проєкт, незалежно від його сфери й виду.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/10/-------5.jpg" class="kg-image" alt loading="lazy" width="1280" height="423"></figure><p>💻 <a href="https://youtu.be/ZcRXL63rwFI">Перший вебінар: «Види методологій розробки. Agile. Scrum. Kanban. Звіти та взаємодії в команді»</a>.</p><p>Друга зустріч пройшла у форматі практикуму <strong>на тему:</strong> «Jira: 5 кроків, які спростять робочі процеси у компанії».</p><p><strong>Спікерка івенту</strong> Дар’я Зозуля, Community &amp; Brand Coordinator Kharkiv IT Cluster, наживо показала, як працювати з будь-яким проєктом, використовуючи програму Jira.</p><p>Дар’я не лише покроково і детально розповіла про функціонал кожного інструменту і принципи роботи софту, а й на практиці показала, як отримані знання можна використовувати не лише у роботі, а й у повсякденному житті.</p><p>Наприклад, на івенті всі присутні разом зі спікеркою створили проєкт «Готуємо борщ».</p><p>Завдяки зрозумілій аналогії й порівнянням тепер кожен учасник знає базові складові софту: проєкт, типи задач, дорожня карта, робоча дошка, беклог і спринт.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/10/------2-1.jpg" class="kg-image" alt loading="lazy" width="1280" height="720"></figure><p>💻 <a href="https://youtu.be/X64aDOa6bf8">Другий вебінар: «Jira: 5 кроків, які спростять робочі процеси у компанії»</a>.</p><h2 id="%D1%82%D0%B5%D0%BC%D0%B0-2-%D1%81%D0%BE%D1%86%D1%96%D0%B0%D0%BB%D1%8C%D0%BD%D1%96-%D0%BC%D0%B5%D1%80%D0%B5%D0%B6%D1%96-%D0%B4%D0%BB%D1%8F-%D0%B1%D1%96%D0%B7%D0%BD%D0%B5%D1%81%D1%83">Тема 2: Соціальні мережі для бізнесу</h2><p>Наступний, третій за рахунком івент, був присвячений соціальним мережам. <strong>Тема зустрічі: </strong>«SMM&amp;Бізнес. Як заявити про свій бізнес у соцмережах».</p><p><strong>Спікерка івенту</strong> Ірина Волицька, Senior SMM Manager, strategist at Netpeak Agency, розказала про всі соцмережі, які сьогодні може використовувати бізнес для досягнення власних цілей: підвищення впізнаваності бренду, продажі тощо. <br><br>Вона розібрала й розповіла про всі особливості та функціонал Instagram, Facebook, TikTok, LinkedIn.</p><p>🎬 <a href="https://www.youtube.com/watch?v=6MRsOcU5xmo">Запис вебінару «SMM&amp;Бізнес. Як заявити про свій бізнес у соцмережах»</a>.</p><p><strong>Спікером практикуму</strong> в межах теми про соцмережі була Ольга Сухорукова, Senior Content Coordinator Kharkiv IT Cluster.</p><p><strong>Тема практикуму: </strong>«Як створити крутий текст? Щоб читали і купували».</p><p>Попри те, що зараз високою популярністю користується відеоконтент, текст не втрачає свого впливу на комунікацію між людьми.</p><p><strong>Особисте спілкування</strong> = особиста репутація.</p><p><strong>Ділове спілкування</strong> = репутація компанії + особиста репутація.</p><p><strong>Рекламний текст</strong> = репутація компанії + особиста репутація + продаж.</p><p>🎬 <a href="https://www.youtube.com/watch?v=u8KbJlOQ-jo">Запис практикуму «Як написати крутий текст»</a>.</p><h2 id="%D1%82%D0%B5%D0%BC%D0%B0-3-%D1%88%D1%82%D1%83%D1%87%D0%BD%D0%B8%D0%B9-%D1%96%D0%BD%D1%82%D0%B5%D0%BB%D0%B5%D0%BA%D1%82-%D0%B4%D0%BB%D1%8F-%D1%81%D0%B5%D0%B1%D0%B5-%D0%B4%D0%BB%D1%8F-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B8-%D0%B4%D0%BB%D1%8F-%D0%B1%D1%96%D0%B7%D0%BD%D0%B5%D1%81%D1%83">Тема 3: Штучний інтелект: для себе, для команди, для бізнесу</h2><p>Заключною темою серії вебінарів із диджиталізації став штучний інтелект – технологія, яка користується популярністю у різних галузях. <br><br>Meta, Google, Microsoft вже використовують ШІ з користю для себе, однак на івентах говорили виключно про те, як інтегрувати новий сервіс для власних робочих і повсякденних задач.</p><p><strong>Спікером теоретичної частини </strong>став Володимир Калашніков, Flutter Developer в Olearis, Senior GPT User, ШІ-ентузіаст. </p><p><strong>Тема зустрічі:</strong> «Штучний інтелект: для себе, для бізнесу, для команди».</p><p><strong>Спікер поділився з присутніми:</strong></p><p>📌 порадами, як інтегрувати ШІ у бізнес;</p><p>📌 курсами, на яких можна навчитися ставити запити ШІ;</p><p>📌 власним досвідом використання технології.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/10/------4-1.jpg" class="kg-image" alt loading="lazy" width="1280" height="720"></figure><p>🎬 <a href="https://youtube.com/live/kN4BXqbjmrY">Запис вебінару «Штучний інтелект: для себе, для бізнесу, для команди»</a>.</p><p>Заключним івентом серії став практикум <strong>«Використання ШІ у повсякденних робочих задачах».</strong></p><p><strong>Спікер практичної частини</strong> – Ахмед Ажаж, старший системний інженер в ЕРАМ Україна.</p><p>На івенті розглянули, як за допомогою ШІ можна працювати з текстом, зображеннями та даними. </p><p>Спікер показав, як, використовуючи ChatGPT, <a href="https://proit.ua/iak-vikoristovuvati-google-bard-10-sposobiv-polieghshiti-vashie-zhittia/">Bard AI</a> та Adobe Firefly, можна економити власний робочий час та отримувати релевантний результат. </p><p>Незважаючи на всі переваги, він звернув увагу на проблеми й недоліки, які пов’язані з роботою штучного інтелекту.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/10/------3-2.jpg" class="kg-image" alt loading="lazy" width="1280" height="720"></figure><p>🎬 <a href="https://youtube.com/live/YVArvFDSz8I?feature=share">Запис практикуму «Використання технологій ШI у повсякденних робочих задачах»</a>.</p><h2 id="%D0%BF%D1%96%D0%B4%D1%81%D1%83%D0%BC%D0%BA%D0%B8">Підсумки</h2><p>Після завершення кожної теми учасникам івентів вручали сертифікати про проходження вебінарів із диджиталізації з тієї чи іншої теми. </p><p>Крім того, представники малого і середнього бізнесу отримали практичні інструменти, які допоможуть оптимізувати процеси й розширити можливості компанії.</p><p><a href="https://it-kharkiv.com/join/">Приєднуйтесь до прогресивного ком’юніті Kharkiv IT Cluster</a> – станьте частиною унікального нетворкінгу й отримайте доступ до кластерних сервісів.</p><p><em><em><em><em><em><em><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодну публікацію!</em></em></em></em></em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ «Це безглузде витрачання нашого часу». «Маячня. Дитячий садок». «У нас є важливіші справи! Ми взагалі-то розробниками працюємо, а не спікерами». На такі та подібні фрази можна натрапити у пабліках для розробників або почути в реальності. Проєктного менеджера або SCRUM-майстра, який має завдання залучити розробників до інших активностей, крім їхньої основної ]]></description>
        <link>https://proit.ua/rozrobniki-vashi-aghienti-zmin-u-proiekti-iak-motivuvati-dievielopieriv-na-aktivnosti-poza-miezhami-rozrobki-2/</link>
        <guid isPermaLink="false">6535631d1f4f4efa662bb908</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Ірина Чмут ]]></dc:creator>
        <pubDate>вт, 24 жовт 2023 13:00:53 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/10/handsome-team-young-workers-office.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>«Це безглузде витрачання нашого часу». «Маячня. Дитячий садок». «У нас є важливіші справи! Ми взагалі-то розробниками працюємо, а не спікерами». На такі та подібні фрази можна натрапити у пабліках для розробників або почути в реальності. Проєктного менеджера або SCRUM-майстра, який має завдання залучити розробників до інших активностей, крім їхньої основної роботи, така позиція девелопера щонайменше засмучує. А може й ввести у ступор. Що ж робити? Давайте розберемося, за яких умов у розробників буде мотивація не тільки кодити.</em></p><h2 id="%D0%BF%D0%BE%D0%B7%D0%B0%D1%80%D0%BE%D0%B1%D0%BE%D1%87%D0%B0-%D0%B4%D1%96%D1%8F%D0%BB%D1%8C%D0%BD%D1%96%D1%81%D1%82%D1%8C-%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D0%BD%D0%B0-%D0%B2%D1%81%D1%96%D0%BC">Позаробоча діяльність корисна всім</h2><p>Працівники вчаться самостійно ухвалювати рішення, а подекуди творчо підходити до вирішення задач. Цьому сприяють регулярні сесії з підвищення кваліфікації чи лекції всередині команди. Корисні й певні активності з тімбілдінгів. Наприклад, проведення майстер-класу з активного слухання, спільна гра в онлайн або офлайн ігри (Code Names/Bingo/Detective quest game тощо). Якщо ви впевнено володієте технічною базою, то можна спрямувати активність команди в цей напрям. Наприклад, спільний пошук багів або розгляд кейсів, де команда мала труднощі, і спільний пошук рішення.</p><p>Якщо команда проєкту створена відносно нещодавно, можна спланувати сесію-знайомство або поглиблення у те, що знають та вміють учасники. Так вони краще дізнаються про скіли колег і зможуть напряму звертатися за допомогою один до одного. </p><p>Формування спільних цілей і планів також розкриває команду та кожного учасника по-новому. Обговоріть, які зони розвитку виділяє для себе кожен розробник, і визначте одну ціль серед того, що зустрічатиметься найчастіше.</p><p><strong>Серед інших переваг можна виокремити:</strong></p><ul><li>Можливість побудувати довірливі відносини між співробітниками. З людьми, мотивованими не лише роботою, набагато легше працювати. Вони стають більш довірливими, відкритими до пропозицій проєктних менеджерів.</li><li>Отримати більше можливостей для навчання та розвитку.</li><li>Покращити ефективність, продуктивність і креативність.</li><li>Розвинути в собі гнучкість та адаптивність до змін. Наприклад, коли клієнт часто змінює свою думку або в нього виникають нові потреби, команда швидко зреагує на це і буде готова запропонувати різноманітні рішення.</li><li>Підвищити особисту відповідальність кожного, покращити моральний дух та мотивацію команди для успішної реалізації проєктів.</li><li>Впровадити нові підходи до ведення проєктів та аналізу відгуків клієнтів.</li></ul><h2 id="%C2%AB%E2%80%8E%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B8%D0%B2%D0%BD%D0%B5%C2%BB-%D0%BF%D1%96%D0%B4%D0%BA%D1%80%D1%96%D0%BF%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F-%D1%8F%D0%BA-%D1%88%D0%BB%D1%8F%D1%85-%D0%B4%D0%BE-%D0%BC%D0%BE%D1%82%D0%B8%D0%B2%D0%B0%D1%86%D1%96%D1%97">«‎Позитивне» підкріплення як шлях до мотивації</h2><p>Існує два основних види мотивації співробітників – матеріальна та нематеріальна. Якщо з першою все зрозуміло, то друга – вимагає креативного підходу і певного часу на реалізацію. </p><p>Слід пам’ятати, що всі ми люди, і нам не чужі будь-які людські емоції та почуття. Нехай це буде відправною точкою у вашій комунікації з командою. Нам же всім приємно чути щось позитивне про себе. Тож пам’ятайте: на ініціативу команди і кожного фахівця завжди позитивно впливають схвальні відгуки. </p><p>Помітивши, як хтось із розробників бере участь в активностях, не пов’язаних із його безпосередніми задачами, похваліть цю людину. Можливо, фахівець сам організував ретроспективу на проєкті, вирішив спланувати спринт або ініціював додаткові зустрічі з колегами чи регулярно підтримує спілкування з командою на дотичні до ІТ теми.</p><p>Похвала одного як стимул для всіх найкраще працює за присутності інших членів команди. Підхід називається «‎Позитивне підкріплення». Ця система заохочень <a href="https://psychology.fas.harvard.edu/people/b-f-skinner">перейшла</a> у бізнес із неочікуваної сфери – дитячої психології. Суть у тому, щоб через похвалу показати дитині, яка її поведінка є бажаною й очікується від неї. </p><p>З розвитком психології цей підхід поступово <a href="https://www.sciencedirect.com/topics/social-sciences/reinforcement-theory">перейшов</a> у корекцію поведінки військових, коли генерали привселюдно звертали увагу на одяг, швидкість реакції на команди й інші персональні показники солдатів, ставлячи їх у приклад усій роті. З часом аналогічний патерн поведінки науковці відмічали й серед інших військових.</p><p>Американський клінічний психолог Беррес Скіннер <a href="https://healthresearchfunding.org/bf-skinner-behaviorism-theory-explained/">зазначає</a>: все, що допомагає нам підкріпити бажану поведінку, вважається позитивним підкріпленням. І, коли це проявляється у групі людей, воно є дієвішим. </p><p>«Кудос тижня», «Нашивка найактивнішого члена команди», «Кубок активності» – для своєї команди можете вигадати будь-яку фізичну або віртуальну нагороду, щоб заохотити учасників до схожих дій та показати: їхня ініціативність схвально сприймається на рівні компанії та може позитивно вплинути на професійний ріст.</p><h2 id="%D0%BD%D0%B5-%D0%BA%D0%BE%D0%B4%D0%B8%D0%BD%D0%B3%D0%BE%D0%BC-%D1%94%D0%B4%D0%B8%D0%BD%D0%B8%D0%BC-%D0%BF%D0%BE%D0%BA%D0%B0%D0%B6%D1%96%D1%82%D1%8C-%D0%B4%D0%B5%D0%B2%D0%B5%D0%BB%D0%BE%D0%BF%D0%B5%D1%80%D1%83-%D1%89%D0%BE-%D1%89%D0%B5-%D1%80%D0%BE%D0%B1%D0%B8%D1%82%D1%8C-%D0%B9%D0%BE%D0%B3%D0%BE-%D0%BA%D0%BB%D0%B0%D1%81%D0%BD%D0%B8%D0%BC-%D1%84%D0%B0%D1%85%D1%96%D0%B2%D1%86%D0%B5%D0%BC">Не кодингом єдиним. Покажіть девелоперу, що ще робить його класним фахівцем</h2><p>Часто розробники підкреслюють, що їхня робота приносить суттєвий результат, який можна побачити й оцінити. Інші ж дії не мають такого наочного ефекту. В такому разі покажіть результативність інших практик, які не пов’язані з кодингом. </p><p>Технічні фахівці цінують факти та цифри. Почніть цей експеримент, поєднавши його початок із вхідними даними, тобто на якому рівні розвитку спеціаліст перебуває в певний момент. Це можуть бути результати закриття певної кількості задач або сторі пойнтів, вирішення окремих завдань самостійно чи з іншими розробниками. </p><p>Нехай це будуть «‎сухі» факти, орієнтовна статистика, але це вже стане аргументом у розмові – як нова активність допоможе людині покращити свої власні та проєктні результати. І ви вже побачите в очах колег зацікавлення. А з інтересом поступово зменшиться скептицизм до того, що ви пропонуєте.</p><p>Як приклад застосування цього підходу згадаю власний досвід. Була у моїй практиці співпраця з одним Junior-розробником. Хлопець неохоче займався будь-якою роботою, крім кодингу, але при цьому мав неабиякі цілі – стати сеньйором. Під час однієї з наших бесід я запропонувала йому провести експеримент, спираючись на показники швидкості й обсягу його роботи. За місяць активної участі у просвітницькій діяльності – Lessons learned сесії, де він ділився своїми злетами та падіннями під час спрінта, – розробник набув чимало нових знань. Адже пояснюючи різні кейси, він спирався на технічну базу. Його колеги зауважили, що не очікували такої активності від цього девелопера, навіть не знали, що він настільки професійний і до нього можна звертатися з приводу тих чи інших питань. </p><p>Через певний час ми з ним порівняли кількість задач та закритих сторі пойнтів за декілька ітерацій. Різниця була помітна не тільки мені, але і йому, і приємно вразила його. </p><p>Впевнені у собі люди краще беруться за важкі задачі й охочіше звертаються за допомогою, а також із більшим бажанням діляться знаннями з іншими. Як результат – маємо особисту та загальну, командну результативність. </p><p>У цій історії розробнику раніше не вистачало впевненості, а мої слова без фактів не були достатньо авторитетними для нього. Однак щойно ми спробували – девелопер впевнився у дієвості запропонованого підходу.</p><h2 id="%D0%BF%D0%BE%D1%8F%D1%81%D0%BD%D1%96%D1%82%D1%8C-%D0%BA%D0%BE%D0%BB%D0%B5%D0%B3%D0%B0%D0%BC-%D1%8F%D0%BA-%D0%B2%D0%BE%D0%BD%D0%B8-%D0%BC%D0%BE%D0%B6%D1%83%D1%82%D1%8C-%D0%BF%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%96%D0%B9%D0%BD%D0%BE-%D0%B7%D1%80%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%B8-%D1%83-%D0%B4%D0%BE%D0%B4%D0%B0%D1%82%D0%BA%D0%BE%D0%B2%D0%B8%D1%85-%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D1%8F%D1%85">Поясніть колегам, як вони можуть професійно зростати у додаткових активностях</h2><p>Не будьте РМ-мамою. Дайте їм більше свободи рішень і дій. Підтримуйте їхні пропозиції, навіть якщо здається, що вони не «‎злетять». </p><p>Будьте з ними чесними і визнавайте свої помилки. Бо тільки знаючи, що можна зробити помилку, не будучи засудженим, значно легше пропонувати щось нове та бути залученим у вже наявні ініціативи. </p><p>Створіть для колег атмосферу в команді, де вони знайдуть однодумців, де вони будуть почутими, а не лише «‎інструментом», що виконує певні задачі.</p><p>Розробники мають розуміти, що soft skills є не менш важливими за hard ones. Часто саме «‎м’які» навички відіграють вирішальну роль в ухваленні рішень щодо підвищення доходу або пропозиції нової перспективної посади. </p><p>Будучи активним учасником зустрічей з клієнтом, презентуючи продукт чи проміжні результати роботи, працівник «‎пробиває» собі дорогу до нової ролі у проєкті чи в компанії. Також цінною є участь у «‎відкритих мікрофонах» на технічні теми, сесії із застосуванням різних підходів щодо підтримки, покращення продукту.</p><p>Але зверніть увагу: при застосуванні цього підходу слід впевнитися, що залишитися на поточному кар’єрному рівні дійсно не є мрією усього життя певного розробника. У такому випадку ця порада не має сенсу. Однак і таке рішення цілком нормальне. Кожному з нас комфортно на тому чи іншому рівні. </p><p>Перш ніж спробувати щось, проведіть one-to-one сесії з кожним працівником. Поговоріть про його/її цілі, бачення себе в команді, на проєкті, через кілька років в ІТ або взагалі, до чого людина прагне по життю.</p><p>Поясніть колезі, що пропонуючи стати активнішим, ви не намагаєтесь використовувати його працю «‎понаднормово». Навпаки – прагнете дати йому нові можливості для професійного росту. </p><p>Обговоріть разом, скільки часу людина може й хоче присвятити додатковим активностям, що саме її цікавить і чому. Візьміть це до уваги при плануванні активностей та пошуку нових ідей. </p><p>Не обтяжуйте колег, коли розумієте, що строки «горять». Усьому свій час. Якщо зараз додаткова активність є зайвою, і з нею людина просто фізично не встигатиме все робити якісно, краще притримайте ваші менеджерські амбіції, зачекайте.</p><p>Щойно побачите, що у роботі над проєктом настало відносне затишшя, тобто розробники «‎не зашиваються» чи команда добилася лояльності клієнта, проєкт довготривалий, і команда вже має достатньо досвіду в межах цього проєкту – тут-то ваш «‎зірковий» час настав. </p><p>Виходьте до команди з ідеями активностей. Почніть із досвідчених учасників – сеньйорів. Вони є прикладом для інших, і з ними зазвичай легше домовитись про додаткові активності. Здебільшого вони вже знають, що саме може зацікавити інших, і це може стати приводом для тих же Lessons learned сесій. Та й за рахунок досвіду подібні виступи даються їм легше, природніше.</p><p>Наостанок наголошу на одному з ключових принципів Agile: люди та взаємодія між ними є важливішими за процеси й інструменти. Пам’ятайте, що ера роботів ще не настала, і ви працюєте з людьми. Кожен із них – особистість зі своїми сильними та слабкими сторонами, з власними вміннями й прагненнями. Використайте це задля їхнього розвитку. Так ви ще й зробите робочі будні цікавішими. </p><p>Підбираючи активності для колег, зважайте, що кожна ваша ідея має допомогти їм відкрити у собі нові грані для професійного й особистісного розвитку.</p><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодну публікацію!</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Якщо ви загуглите, що таке прогрів, то визначення буде приблизно таким: «Це процес побудови взаємовідносин із потенційними клієнтами з метою збільшення їх зацікавленості та готовності купити продукт або послугу. Він включає ряд етапів, які спрямовані на створення позитивного враження про бренд і продукт, що пропонується».

Сьогодні ми розберемося, як зробити ]]></description>
        <link>https://proit.ua/iak-proghriti-auditoriiu-dlia-prodazhu-svoyikh-produktiv/</link>
        <guid isPermaLink="false">652d25021f4f4efa662bb450</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Роман Пижик ]]></dc:creator>
        <pubDate>пт, 20 жовт 2023 13:00:32 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/10/34374.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>Якщо ви загуглите, що таке прогрів, то визначення буде приблизно таким: «Це процес побудови взаємовідносин із потенційними клієнтами з метою збільшення їх зацікавленості та готовності купити продукт або послугу. Він включає ряд етапів, які спрямовані на створення позитивного враження про бренд і продукт, що пропонується». </em></p><p><em>Сьогодні ми розберемося, як зробити якісний прогрів, що продаватиме, разом із СМО Ed-tech компанії 0-100 Романом Пижиком.</em></p><h2 id="%D0%B4%D0%BB%D1%8F-%D1%87%D0%BE%D0%B3%D0%BE-%D0%B2%D0%B7%D0%B0%D0%B3%D0%B0%D0%BB%D1%96-%D0%BF%D0%BE%D1%82%D1%80%D1%96%D0%B1%D0%B5%D0%BD-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D1%96%D0%B2">Для чого взагалі потрібен прогрів:</h2><ul><li><strong>Збільшення свідомості</strong>. Прогрів допомагає краще розкрити людям продукт або бренд перед покупкою. Він натякає потенційним покупцям на те, що саме ця компанія та її послуги можуть вирішити проблему людини.</li><li><strong>Встановлення контакту</strong>. Цей процес також може бути каталізатором для потенційних клієнтів зробити перший крок на шляху до покупки (наприклад, заповнення форми, підписка на розсилку тощо).</li><li><strong>Інтерес</strong>. Через прогрів люди поступово стають більш зацікавленими у продукті або послузі.</li><li><strong>Довіра</strong>. Прогрів допомагає у розбудові довіри між брендом і клієнтом, спонукає позитивно ставитися останнього до компанії. Це досягається через постинг цінного контенту, відповідей на запитання, а також демонстрації підтримки й соціальних доказів.</li><li><strong>Конвертація</strong>. Останній етап прогріву – перетворення потенційних клієнтів у фактичних клієнтів. Якщо прогрів був вдалим, люди більш схильні до здійснення покупки чи цільової дії.</li></ul><p>Взагалі прогрів є важливим елементом маркетингової стратегії, особливо в онлайн-бізнесі, де змагання за увагу потенційних клієнтів дуже велике. Ефективний прогрів дозволяє знизити витрати на залучення нових покупців і збільшити конверсію, тим самим сприяючи росту доходу.</p><h2 id="%D1%81%D1%82%D0%B2%D0%BE%D1%80%D1%8E%D1%94%D0%BC%D0%BE-%D1%8F%D0%BA%D1%96%D1%81%D0%BD%D0%B8%D0%B9-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D1%96%D0%B2-%D1%80%D0%B0%D0%B7%D0%BE%D0%BC-%D1%96%D0%B7-%D0%BF%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%96%D0%B9%D0%BD%D0%B8%D0%BC-%D0%BC%D0%B0%D1%80%D0%BA%D0%B5%D1%82%D0%BE%D0%BB%D0%BE%D0%B3%D0%BE%D0%BC">Створюємо якісний прогрів разом із професійним маркетологом</h2><p>Перш за все вам варто розібратися у тому, що таке сторітелінг. Це основа будь-якого прогріву. Якщо ви не вмієте його робити, то не зможете результативно прогріти аудиторію. А якщо не зробити цього, то продажів буде значно менше.</p><p><strong>Сторітелінг</strong> – це вміння розбити розповідь про якусь подію на декілька етапів, кожен із яких все більше заохочуватиме клієнта зробити потрібну нам дію. Він тісно пов’язаний із маркетингом і психологією людини. Зараз ми разом навчимося його створювати.</p><p>Наприклад, візьмемо подію, коли чоловік у блозі хоче розповісти про те, що він тепер – тато. Звісно, він може просто написати «Я став татом», однак це не створить навколо цієї події ажіотаж. </p><p><strong>Щоб зацікавити людей, треба розбити подію на декілька сторіс:</strong></p><ol><li>Перша має максимально привернути увагу підписників до ситуації: «Сьогодні ТАКЕ сталося…»</li><li>Продовжуємо тримати інтригу. «У мене шок. Ми прокинулися через це о 05:30 ранку».</li><li>Ще більше напружуємо читачів: «Ми в лікарні. Я не знаю, що мені робити. Сказали чекати».</li><li>Розповідаємо безпосередньо про подію. «Я став татом».</li></ol><p>Якщо ми говоримо про якісні прогріви для бізнесу, то для цього ознайомтеся зі сходинками Ханта. </p><p>Цим прикладом ми хотіли показати те, що зацікавити людей можна будь-якою подією. Головне – створити навколо цього «екшен», адже люди схильні проявляти цікавість саме до таких речей. А інтерес до продукту, як відомо, – це половина шляху до його покупки.</p><p><em><em><em><em>Підписуйтеся на </em></em></em></em><a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer"><em><em><em><em>ProIT у Telegram</em></em></em></em></a><em><em><em><em>, щоб не пропустити жодну публікацію!</em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Розробка програмного забезпечення, що відповідає потребам та очікуванням бізнесу і користувачів у динамічному й мінливому світі технологій, може бути непростою. Компанії-розробники ПЗ поступово потребують дієвого способу для підвищення прозорості звʼязку між бізнесом і командою розробників. Предметно-орієнтоване проєктування (DDD) допомагає розвʼязати цю проблему, сприяючи глибшому розумінню предмета й постійній співпраці між ]]></description>
        <link>https://proit.ua/priedmietno-oriientovanie-proiektuvannia-navishcho-kompaniiam-potribien-tsiei-pidkhid-khto-iogho-vikoristovuie-ta-v-chomu-iogho-sut/</link>
        <guid isPermaLink="false">652d1fc01f4f4efa662bb40b</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Олександр Книга ]]></dc:creator>
        <pubDate>вт, 17 жовт 2023 13:00:21 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/10/110505.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>Розробка програмного забезпечення, що відповідає потребам та очікуванням бізнесу і користувачів у динамічному й мінливому світі технологій, може бути непростою. Компанії-розробники ПЗ поступово потребують дієвого способу для підвищення прозорості звʼязку між бізнесом і командою розробників. Предметно-орієнтоване проєктування (DDD) допомагає розвʼязати цю проблему, сприяючи глибшому розумінню предмета й постійній співпраці між розробниками та фахівцями з бізнесу. Фактично, розробники глибше розуміють основний предмет і бізнес-правила через постійний звʼязок. Водночас зацікавлені сторони краще розуміють технічні можливості й обмеження.</em></p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/10/1--7-.png" class="kg-image" alt loading="lazy" width="1200" height="628"></figure><p>Наприклад, аналіз 100 проєктів, проведений Standish Group, показав, що причиною 70% доробок був брак знань у предметній галузі на етапах формування вимог та проєктування, підтверджуючи, що DDD сприяє взаєморозумінню між бізнесом та розробниками.</p><p>За даними Forrester, групи розробників, які практикують ітеративну модель DDD, працюють на 60% швидше, а не витрачають місяці на попередній аналіз.</p><p>Дослідження, проведене Кембриджським університетом, показало, що моделювання знань предметної галузі в межах DDD збільшує продуктивність групи на 29%. Зрозуміло, що такий підхід розкриває внутрішні знання з предметної галузі.</p><p>Тож навіщо компаніям потрібен цей підхід, хто його використовує і в чому його суть?</p><h2 id="%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%96-%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%D0%B8-%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D1%96%D1%94%D0%BD%D1%82%D0%BE%D0%B2%D0%B0%D0%BD%D0%BE%D0%B3%D0%BE-%D0%BF%D1%80%D0%BE%D1%94%D0%BA%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Основні принципи предметно-орієнтованого проєктування</h2><p>Предметно-центроване проєктування базується на кількох ключових концепціях, що дозволяють створювати предметно-центроване програмне забезпечення.</p><ul><li>Перший принцип – визначення пріоритетів предметної моделі. Вона представляє основні бізнес-субʼєкти, поведінку, відносини та правила. Реалізація коду безпосередньо відображає предметну модель, а не навпаки. Модель розробляється ітеративно, а не визначається заздалегідь.</li><li>Ще один ключовий принцип – розробка універсальної мови. Спільна лексика розробників і бізнес-експертів стандартизує термінологію та знання предметної галузі, усуваючи двозначність і неузгодженість між групами.</li><li>DDD також містить стратегічний і тактичний етапи проєктування. Стратегічне проєктування зосереджено на високорівневій організації предметної галузі у вигляді обмежених контекстів і підобластей. Тактичне проєктування охоплює шаблони та компоненти реалізації нижчого рівня: сутності, сервіси та репозиторії.</li></ul><p>Додаткові концепції передбачають акцент на дослідницькому моделюванні, а не на аналізі, безперервне занурення у предметну галузь і використання універсальної мови для документування.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/10/2--7-.png" class="kg-image" alt loading="lazy" width="1200" height="628"></figure><p>Поєднуючи методи моделювання, мови та контексту, DDD дозволяє створювати системи, що орієнтуються не лише на технічні вимоги, але й на основні концепції предметної галузі.</p><p>У звʼязку з цим на думку відразу спадають гексагональна архітектура й чиста архітектура, що мають спільну мету, – відокремлення завдань. Ви можете ізолювати основну бізнес-логіку від зовнішніх проблем, розділивши застосунки на вільно повʼязані компоненти.</p><p>Розгляньмо елементи, що визначають стратегічне й тактичне проєктування, а також їхній вплив на результат.</p><h2 id="%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%B5%D0%B3%D1%96%D1%87%D0%BD%D0%B5-%D0%BF%D1%80%D0%BE%D1%94%D0%BA%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Стратегічне проєктування</h2><p>У контексті DDD стратегічне проєктування є невідʼємною частиною розробки програмного забезпечення. Воно включає такі основні аспекти:</p><ul><li><strong>Огляд.</strong> Стратегічне проєктування починається з огляду проблемного предмета та цінності бізнесу. На цьому етапі досліджуються ключові концепції та процеси, визначаються основні бізнес-потреби й цілі.</li><li><strong>Простір проблем і простір рішень.</strong> Структура стратегічного проєктування визначає два основні концептуальні простори: простір проблем і простір рішень. Простір проблем фокусується на дослідженні та аналізі предмета бізнесу, визначенні сутностей, агрегатів, послуг та взаємозвʼязків між ними. Простір рішень стосується створення моделі, яка ефективно розвʼязує проблеми, визначені у проблемному просторі.</li><li><strong>Обмежені контексти.</strong> Обмежені контексти – це обмежені підрозділи предмета, що відповідають зонам відповідальності конкретних груп розробників. Кожен контекст визначає свої сутності, агрегати, сервіси та правила. Керування межами контекстів має важливе значення для ізоляції та розуміння різних частин предмета.</li><li><strong>Основний предмет.</strong> Основний предмет – це ядро бізнесу, його найважливіша і найцінніша частина. У межах стратегічного проєктування основний предмет є критично важливим, оскільки є фокусом розробки та містить фундаментальні абстракції й бізнес-правила, що визначають функціональність програмного забезпечення.</li></ul><p>Стратегічне проєктування в контексті DDD дає змогу створювати ефективні стратегії розробки програмного забезпечення, враховуючи особливості предмета бізнесу. Це допомагає розробникам створювати програмне забезпечення, що відповідає бізнес-вимогам, гнучко масштабується та легко обслуговується з часом.</p><h2 id="%D1%82%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%BD%D0%B5-%D0%BF%D1%80%D0%BE%D1%94%D0%BA%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Тактичне проєктування</h2><p>Тактичне проєктування є частиною методології розробки програмного забезпечення. Воно відповідає за певний набір інструментів і підходів для створення ефективних і гнучких архітектур, які відображають предмет бізнесу і забезпечують цілісність даних.</p><ol><li>Воно починається з огляду предмета бізнесу та його вимог. На цьому етапі аналізуються основні процеси, сутності, агрегати та взаємозвʼязки між ними. Мета – отримати глибше розуміння основних компонентів предмета.</li><li>Далі ми зосередимося на серці застосунку, також відомому як основний агрегат. Основний агрегат – це базовий елемент взаємодії, що містить ключову логіку предмета та цілісність даних. Він визначає основні операції й правила бізнесу.</li><li>Переходимо до інструментарію тактичного проєктування, що дає нам набір правил і шаблонів для побудови ефективної архітектури застосунків. Він включає такі поняття, як обʼєкти-цінності, сутності, сервіси й агрегати. Цей інструментарій допомагає розробникам створювати гнучку архітектуру.</li><li>Один із прикладів використання інструментарію тактичного проєктування – створення репозиторіїв. Репозиторії відповідають за зберігання та отримання даних зі сховища певної сутності чи сукупності сутностей. Вони забезпечують єдиний інтерфейс для взаємодії зі сховищем даних та інкапсулюють деталі зберігання даних.</li></ol><p>Тактичне проєктування також розрізняє сервіси застосунків і сервіси домену. Служби застосунків координують дії та взаємодію між різними сутностями й агрегатами у застосунку. Що стосується доменних сервісів, то вони зберігають бізнес-логіку і виконують операції, повʼязані лише з предметною моделлю.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/10/3--7-.png" class="kg-image" alt loading="lazy" width="1200" height="628"></figure><p>Таким чином, тактичне проєктування допомагає створювати ефективні архітектури, які відображають предмет бізнесу та гарантують цілісність даних. Використання інструментів тактичного проєктування спрощує розробку та підтримку застосунків, полегшуючи розуміння та масштабування складних предметів.</p><h2 id="%D0%BE%D0%B1%D0%BC%D0%B5%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82-%D1%82%D0%B0-%D1%83%D0%BD%D1%96%D0%B2%D0%B5%D1%80%D1%81%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0-%D0%BC%D0%BE%D0%B2%D0%B0-%D1%97%D1%85%D0%BD%D1%8F-%D1%80%D0%BE%D0%BB%D1%8C-%D1%83-ddd">Обмежений контекст та універсальна мова: їхня роль у DDD</h2><p>Обмежений контекст у DDD – це локалізований набір моделей і правил, що застосовуються в межах певного предмета бізнесу. Це допомагає розмежувати й обмежити різні аспекти системи в межах певного контексту.</p><p>Обмежений контекст – це межа, в якій відбувається розробка, що забезпечує узгодженість моделей і правил у цьому контексті. Відповідно, він може мати власну мову моделювання і навіть терміни, властиві предмету бізнесу.</p><p>Це дозволяє розробникам краще розуміти й моделювати складну предметну сферу, а також полегшує звʼязок між зацікавленими сторонами. Обмежені контексти можуть існувати паралельно і взаємодіяти через визначені інтерфейси.</p><p>Інша важлива концепція, на якій слід зосередитись, коли йдеться про DDD, – це універсальна мова.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/10/4--6-.png" class="kg-image" alt loading="lazy" width="1200" height="628"></figure><p>Її можна схарактеризувати як спільну мову, яку використовують і розуміють всі учасники групи розробників.</p><p>Універсальна мова створюється й підтримується в обмеженому контексті. Вона включає спеціалізовані терміни, фрази та правила, що відображають бізнес-розуміння і предмет системи. Ця мова слугує звичною базою, яка полегшує ефективну взаємодію між різними учасниками групи.</p><p>Її основна місія – допомога в уникненні непорозумінь, повʼязаних із різним тлумаченням і розумінням термінів чи понять, і, в певному сенсі, сприяння глибшому і точнішому моделюванню предметної галузі.</p><h2 id="%D0%BA%D0%BB%D1%8E%D1%87-%D0%B4%D0%BE-%D0%BD%D0%BE%D0%B2%D0%B8%D1%85-%D1%80%D1%96%D1%88%D0%B5%D0%BD%D1%8C-%D1%89%D0%BE-%D0%B4%D0%B0%D1%94-ddd-%D0%BF%D1%96%D0%B4%D1%85%D1%96%D0%B4-%D1%96-%D0%BD%D0%B0-%D0%BA%D0%BE%D0%B3%D0%BE-%D0%B2%D1%96%D0%BD-%D1%80%D0%BE%D0%B7%D1%80%D0%B0%D1%85%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B9">Ключ до нових рішень: що дає DDD підхід і на кого він розрахований?</h2><p>Якщо проєкт має справу зі складною бізнес-логікою, постійною зміною процесів, взаємозвʼязків і бізнес-правил, він стає ідеальним кандидатом на впровадження принципів предметно-орієнтованого проєктування. </p><p>Застосовуючи DDD, розробники можуть ефективно орієнтуватися в складних предметах і створювати програмні рішення, що точно відображають тонкощі реального світу.</p><p>DDD також є вкрай адаптивним і гнучким щодо майбутніх змін. Оскільки бізнес розвивається і долає нові виклики, програмні рішення мають йти з ним у ногу. </p><p>Чітке розділення обмежених контекстів і використання універсальної мови сприяють легкій інтеграції оновлень і модифікацій, мінімізуючи потребу у серйозних системних змінах. Результатом є плавний перехід, зниження рівня стресу й економія коштів компанії.</p><h2 id="%D1%81%D0%B8%D0%BB%D0%B0-%D0%BC%D0%B0%D0%BB%D0%B8%D1%85-ddd-%D0%B3%D1%80%D1%83%D0%BF">Сила малих DDD груп</h2><p>Предметно-орієнтоване проєктування добре підходить невеликим, автономним групам. Прикладом є концепція «групи на дві піци». Ідея полягає у тому, що група має бути досить малою, щоб прогодуватися двома піцами. Це забезпечує зосередженість, узгодженість і продуктивність.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/10/5--8-.png" class="kg-image" alt loading="lazy" width="1200" height="628"></figure><p>Ми бачимо, як підхід «групи на дві піци» переплітається з DDD, успішно застосованим до таких лідерів галузі, як Netflix (що дозволило їм швидко масштабувати платформу) та Uber (вони змогли гнучко ізолювати інциденти та керувати коливаннями попиту).</p><p>Здається, що DDD – це ексклюзивний клуб, членами якого є Netflix, Uber та наша скромна WebLab Technology. Ми в хорошій компанії, чи не так?</p><p>Так, ми застосовуємо DDD як один із основних підходів до розробки комплексного програмного забезпечення для бізнесу. І, здається, ми одна з небагатьох компаній, що працюють із ним.</p><p>На порталі <a href="https://dev.to/delbetu/how-to-find-companies-which-follow-domain-driven-design-approach-2gk6">DEV спільноти</a> хтось створив дискусію з питанням: «Як знайти компанії, що дотримуються предметно-орієнтованого підходу до проєктування?»</p><p>Щоб знайти DDD практиків, йдіть слідами чітко структурованих діалогів... або просто шукайте нашу групу!</p><p>Але хтось вирішив припустити, що такі компанії можна знайти по згадці про роботу з DDD у пропозиціях. Попит є, але пропозицій не так багато.</p><p>Як бачите, невеликі, згуртовані групи відіграють вирішальну роль у складних галузях. Вони можуть швидко накопичувати знання й універсально використовувати мову своєї сфери.</p><p>Для компаній, що втілюють DDD, прийняття парадигми групи на дві піци відкриває шлях до продуктивності та інновацій у різних сферах. Звʼязок малих груп з предметно-орієнтованим проєктуванням дуже потужний.</p><h2 id="%D0%B7%D0%BE%D0%BA%D1%80%D0%B5%D0%BC%D0%B0-ddd-%D0%B4%D0%B0%D1%94-%D0%B7%D0%BC%D0%BE%D0%B3%D1%83">Зокрема, DDD дає змогу:</h2><ul><li><strong>Поліпшити звʼязок:</strong> універсальна мова дозволяє розробникам та фахівцям бізнесу співпрацювати ефективніше.</li><li><strong>Відповідність бізнесу:</strong> дизайн програмного забезпечення безпосередньо відображає реальні бізнес-процеси й цілі.</li><li><strong>Гнучкість:</strong> модульна архітектура дає змогу легко модифікувати застосунки залежно від потреб.</li><li><strong>Акцент на користувачі:</strong> акцент на предметі дозволяє створювати рішення, адаптовані до потреб користувачів.</li><li><strong>Ефективність:</strong> тісна співпраця з предметними фахівцями забезпечує продукцію, що вирішує реальні бізнес-завдання.</li></ul><h2 id="ddd-%D1%82%D0%B0-%D0%BC%D0%B0%D0%BB%D1%96-%D0%BE%D1%80%D0%B3%D0%B0%D0%BD%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%97-%D0%BC%D0%BE%D0%B6%D0%BB%D0%B8%D0%B2%D1%96-%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B8">DDD та малі організації: можливі проблеми</h2><p>У менших організаціях інтеграція DDD може бути не так поширена, як у більших компаніях. Однак можливість інтеграції залежить від конкретних потреб і пріоритетів. DDD інтеграція може бути корисною, якщо невелика організація має складну предметну галузь або відчуває потребу в ефективному управлінні та моделюванні бізнес-процесів.</p><h2 id="%D0%BE%D0%B4%D0%BD%D0%B0%D0%BA-%D0%B1%D1%83%D0%B4%D1%8C%D1%82%D0%B5-%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D1%96-%D0%B4%D0%BE-%D0%BF%D0%B5%D1%80%D0%B5%D1%88%D0%BA%D0%BE%D0%B4-%D1%89%D0%BE-%D0%BC%D0%BE%D0%B6%D1%83%D1%82%D1%8C-%D0%B2%D0%B8%D0%BD%D0%B8%D0%BA%D0%BD%D1%83%D1%82%D0%B8-%D0%B7%D0%BE%D0%BA%D1%80%D0%B5%D0%BC%D0%B0">Однак будьте готові до перешкод, що можуть виникнути, зокрема:</h2><ul><li><strong>Обмежені ресурси.</strong> Менші організації можуть мати менше розробників і часу, що ускладнює впровадження нової методології.</li><li><strong>Труднощі в моделюванні предмета.</strong> DDD інтеграція вимагає глибокого розуміння предметної галузі та її належного моделювання. Відсутність досвіду з розробки програмного забезпечення може стати перешкодою.</li><li><strong>Опір змінам.</strong> Менші організації можуть активніше опиратися змінам, особливо якщо наявні процеси й архітектура програмного забезпечення вже усталені.</li><li><strong>Технічні обмеження</strong>. Застаріла технічна інфраструктура, що не підтримує повну інтеграцію DDD.</li></ul><p>Звісно, не всі перешкоди є актуальними для малих організацій. Кожна організація має унікальні характеристики та проблеми, що можуть вплинути на DDD інтеграцію.</p><h2 id="%D0%B2%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B4%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F-ddd-%D0%BF%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BE%D0%B2%D0%B8%D0%B9-%D1%81%D1%82%D0%B0%D1%80%D1%82">Впровадження DDD: поступовий старт</h2><p>Тепер розгляньмо основні етапи ефективного впровадження DDD, щоб не заплутатися в тонкощах.</p><h3 id="1-%D0%BF%D0%BE%D1%87%D0%B8%D0%BD%D0%B0%D0%B9%D1%82%D0%B5-%D0%BF%D0%BE%D0%BC%D0%B0%D0%BB%D1%83">1. Починайте помалу</h3><p>Починайте роботу з DDD помалу, особливо якщо ви новачок або маєте справу з великою системою. Візьміть невелику, некритичну частину застосунку і почніть застосування DDD.</p><h3 id="2-%D0%BF%D0%BE%D1%81%D1%82%D1%96%D0%B9%D0%BD%D0%B5-%D0%BD%D0%B0%D0%B2%D1%87%D0%B0%D0%BD%D0%BD%D1%8F">2. Постійне навчання</h3><p>Перша реалізація часто буває не ідеальною. Це безперервний процес навчання. Не розчаровуйтесь через перші труднощі. Усвідомте помилки та вчіться на них.</p><h3 id="3-%D1%81%D0%BF%D1%96%D0%B2%D0%BF%D1%80%D0%B0%D1%86%D1%8F">3. Співпраця</h3><p>DDD – це не лише програмісти. У ньому задіяна вся група: розробники, менеджери проєктів, системні аналітики, предметні фахівці тощо. Це вимагає тісної співпраці для обміну знаннями та розробки програмного забезпечення на основі вимог бізнесу.</p><p>Нарешті, як сказано вище, слід памʼятати, що DDD не завжди є рішенням для всіх проєктів. Його складність може бути непотрібною для простих застосунків, тому важливо оцінити, наскільки він потрібен у проєкті.</p><h2 id="%D0%B2%D0%B7%D0%B0%D1%94%D0%BC%D0%BE%D0%B4%D1%96%D1%8F-%D0%B7%D0%B2%CA%BC%D1%8F%D0%B7%D0%BE%D0%BA-ddd-%D0%B7-agile">Взаємодія: звʼязок DDD з Agile</h2><p>Отже, як проявляється взаємодія DDD та Agile? DDD та Agile мають схожі принципи, що створює підґрунтя для їхньої успішної інтеграції.</p><ol><li><strong>Активне залучення зацікавлених сторін.</strong> У DDD це відображається у повсюдному використанні мови, що сприяє ефективній комунікації, тоді як Agile фокусується на співпраці для створення цінностей.</li><li><strong>Гнучкість та адаптивність.</strong> Обидві методології є адаптивними. Agile розроблений для прийняття та реалізації змін, а моделі DDD еволюціонують, щоб відображати розуміння предмета.</li><li><strong>Ітеративна розробка.</strong> Agile фокусується на розробці програмного забезпечення невеликими, поступовими кроками. У DDD моделі уточнюються у міру розвитку, що повертає нас до ітеративної природи DDD в Agile.</li></ol><p>Звʼязок між DDD та Agile проявляється як взаємодоповнювані відносини. Таким чином, використання DDD в середовищі Agile може впорядкувати комунікацію, забезпечити кращу відповідність бізнес-вимогам і надати високоякісне програмне забезпечення.</p><p>Можна з упевненістю сказати, що галузі, які суттєво покладаються на знання предмета, знаходять особливу цінність в акценті DDD на вивченні тонкощів конкретних предметів. </p><p>Зрештою, суть предметно-орієнтованого проєктування полягає у здатності створювати якісне програмне забезпечення, що тісно повʼязано з потребами бізнесу та його клієнтів.</p><p>Для WebLab Technology DDD підхід є невідʼємною частиною нашої ідеології з побудови довгострокового технічного партнерства з клієнтами. Він узгоджується із законом Конвея, який стверджує, що програмні системи відображають комунікаційні структури організацій, які їх створюють.</p><p>Наші спеціалізовані групи створюють архітектури, що природно вписуються у предмети наших клієнтів, а глибоке залучення предметних фахівців дозволяє нам створити налагоджений звʼязок, у якому залучені всі. Можливо, що більше компаній усвідомлять потребу в такому підході, то більше цінних переваг DDD буде виявлено у майбутньому.</p><p>Зрештою, як писав Ерік Еванс у своїй книзі: </p><blockquote><em>«Для ефективної комунікації код має базуватися на тій же мові, на якій написані вимоги, на тій же мові, якою розробники спілкуються один з одним та з предметними фахівцями».</em></blockquote><p><em><em><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодну публікацію!</em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Багато хто з нас вже відчув на собі magic, коли до тебе додому приїжджає курʼєр Нової пошти й ти сплачуєш йому за посилку, просто приклавши телефон чи картку до його смартфона. Цю технологію розробила і впровадила команда NovaPay фінансової компанії групи Нова пошта всього за 6 місяців. Як їй це ]]></description>
        <link>https://proit.ua/tap-to-phone-iak-novapay-zrobiv-mozhlivim-splachuvati-kartkoiu-dotikom-do-tieliefonu/</link>
        <guid isPermaLink="false">6522b4ab1f4f4efa662bac67</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Яна Левада ]]></dc:creator>
        <pubDate>пт, 13 жовт 2023 13:00:42 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/10/easy-wireless-yechnology-payment.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>Багато хто з нас вже відчув на собі magic, коли до тебе додому приїжджає курʼєр Нової пошти й ти сплачуєш йому за посилку, просто приклавши телефон чи картку до його смартфона. Цю технологію розробила і впровадила команда NovaPay фінансової компанії групи Нова пошта всього за 6 місяців. Як їй це вдалося?</em></p><h2 id="%D1%89%D0%BE-%D1%86%D0%B5-%D1%82%D0%B0%D0%BA%D0%B5-%D1%82%D0%B5%D0%BE%D1%80%D1%96%D1%8F">Що це таке: теорія</h2><p><strong>Tap to Phone</strong> – технологія, що дає змогу використовувати смартфон як POS-термінал для прийому оплат карткою в один дотик без додаткового обладнання. Це повний аналог POS-терміналу, тобто те саме програмне забезпечення, але без «залізного» корпусу. </p><h2 id="%D1%8F%D0%BA-%D1%80%D0%B5%D0%B0%D0%BB%D1%96%D0%B7%D1%83%D0%B2%D0%B0%D1%82%D0%B8-%D0%BC%D0%BE%D0%B6%D0%BB%D0%B8%D0%B2%D1%96%D1%81%D1%82%D1%8C-%D0%B1%D0%B5%D0%B7%D0%BA%D0%BE%D0%BD%D1%82%D0%B0%D0%BA%D1%82%D0%BD%D0%BE-%D0%BE%D0%BF%D0%BB%D0%B0%D1%82%D0%B8%D1%82%D0%B8">Як реалізувати можливість безконтактно оплатити:</h2><ul><li>притулити свій смартфон, годинник чи картку із NFC-модулем до смартфона курʼєра;</li><li>підтвердити платіж, а за необхідності – ввести PIN-код.</li></ul><h2 id="%D0%BD%D0%B0%D0%B2%D1%96%D1%89%D0%BE-%D1%86%D0%B5-%D1%96-%D0%B7-%D1%87%D0%BE%D0%B3%D0%BE-%D0%B2%D1%81%D0%B5-%D0%BF%D0%BE%D1%87%D0%B8%D0%BD%D0%B0%D0%BB%D0%BE%D1%81%D1%8F">Навіщо це і з чого все починалося</h2><p>Раніше курʼєри Нової пошти завжди були з повними руками: посилка, POS-термінал, мобільний телефон зі спеціальною програмою. Цей набір техніки був досить громіздким та робив кур’єра менш мобільним й іноді не таким швидким, як того хотілося клієнтам. До того ж miniPOS-термінали нестабільно працювали, а для їх ремонту та налаштування потрібно було довго чекати фахівців банку-еквайра. </p><p>Тому ми почали шукати шляхи, як водночас забезпечити для клієнтів швидкі оплати й при цьому полегшити роботу нашим курʼєрам, щоб у них був один пристрій для всіх операцій.</p><p>Ми постійно відстежуємо трендові фінтех-рішення, тож знали про досвід використання опції TTP за кордоном – там це максимально поширена інноваційна технологія. Тому й запропонували нашим партнерам із Visa реалізувати цей підхід і у нас.</p><h2 id="%D1%89%D0%BE-%D1%80%D0%BE%D0%B1%D0%B8%D0%BB%D0%B8-%D0%BD%D0%B0-%D1%81%D1%82%D0%B0%D1%80%D1%82%D1%96">Що робили на старті</h2><p>Ми хотіли якнайшвидше впровадити ідею, тому мали знайти готове рішення, щоб не втрачати час. Проте, як виявилося, мало хто пропонував ту функціональність, яку нам важливо було отримати на фініші. Але нам вдалось разом із Visa знайти професійного розробника і придбати рішення, яке стало базовим, але потребувало удосконалення. Далі – все традиційно: тендер, ТЗ, розробка, тестування, інтеграція в нашу систему.</p><h2 id="%D1%89%D0%BE-%D0%B1%D1%83%D0%BB%D0%BE-%D0%B4%D0%B0%D0%BB%D1%96">Що було далі</h2><p>Реалізовувала це все команда із трьох фахівців з нуля – починаючи з детального аналізу й закінчуючи імплементацією за пів року. Наприкінці 2020-го почали підготовку, а в серпні 2021 року стартував пілотний проєкт із використання функції Tap to Phone курʼєрами Нової пошти у Полтавській області. </p><p>Вона дуже швидко стала улюбленою, адже працівникам було легко і зручно нею користуватися, а для клієнтів процес оплати став швидшим та комфортнішим, без додаткових кліків. Тому вже із жовтня 2021 року ми масштабували цю технологію для роботи по всій Україні. </p><p>Сьогодні всі курʼєри Нової пошти мають на своїх робочих смартфонах спеціальний застосунок, який дає змогу клієнтам проводити безконтактні оплати по аналогії з POS-терміналами. Вже 3600 співробітників логістичної компанії працюють таким чином.</p><h2 id="%D1%89%D0%BE-%D0%BC%D0%B8-%D0%BE%D1%82%D1%80%D0%B8%D0%BC%D0%B0%D0%BB%D0%B8">Що ми отримали</h2><p>Нині близько 80% всіх оплат карткою у курʼєрів проходять через Tap to Phone. А щотижня таким чином проводиться близько 20,5 тисячі операцій на 29 мільйонів гривень.</p><h2 id="%D1%81%D0%B5%D1%80%D0%B5%D0%B4-%D0%B2%D1%96%D0%B4%D1%87%D1%83%D1%82%D0%BD%D0%B8%D1%85-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3-%D0%B4%D0%BB%D1%8F-%D0%BD%D0%B0%D1%81-%D1%96-%D0%BD%D0%B0%D1%88%D0%B8%D1%85-%D0%BA%D0%BB%D1%96%D1%94%D0%BD%D1%82%D1%96%D0%B2">Серед відчутних переваг для нас і наших клієнтів:</h2><ul><li>швидші розрахунки;</li><li>менша кількість відмов транзакцій при здійсненні операцій;</li><li>полегшення робочих процесів для наших працівників – тепер їм не треба носити купу девайсів;</li><li>зниження видатків – зекономлені кошти ми направили на розробку нових продуктів і покращення наявних.</li></ul><p>… На 2022 рік ми планували перенести технологію Tap to Phone на власне рішення, однак повномасштабне вторгнення змінило пріоритети – важливішим стало створити сервіси для швидкого і зручного обслуговування клієнтів у відділеннях та онлайн, а також для донатів, наприклад «Запакуй небо, прокачай ППО». Тож ми вирішили не змінювати процеси, які працюють добре. Проте ми не відміняємо задачу й обовʼязково повернемось до неї – вона стоїть у нашому to-do-list.</p><p><em><em><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодну публікацію!</em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Вітаю вас, дорогі читачі! Сьогодні ми поговоримо про те, як співбесіди можуть впливати на вашу кар’єру і чому важливо готуватися до них.

Я – Сергій Немчинський, засновник і директор освітньої платформи FoxmindEd і просто програміст із багаторічним досвідом. І я готовий поділитися з вами важливими порадами й інсайтами щодо цього ]]></description>
        <link>https://proit.ua/iak-nie-provaliti-spivbiesidu-na-proghramista/</link>
        <guid isPermaLink="false">65142d3d934bf0c883705c4c</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Сергій Немчинський ]]></dc:creator>
        <pubDate>пн, 09 жовт 2023 13:00:27 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/09/8311086_580.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>Вітаю вас, дорогі читачі! Сьогодні ми поговоримо про те, як співбесіди можуть впливати на вашу кар’єру і чому важливо готуватися до них. </em></p><p><em>Я – Сергій Немчинський, засновник і директор освітньої платформи <a href="https://go.foxminded.ua/3PmAKms">FoxmindEd</a> і просто програміст із багаторічним досвідом. І я готовий поділитися з вами важливими порадами й інсайтами щодо цього етапу у найманні. </em></p><p><em>Розгляньмо, чому співбесіди є важливими не лише для програмістів, але й для роботодавців, а також як подолати страх перед ними, як готуватися й уникати помилок під час розмови.</em></p><h2 id="%D0%B2%D0%B0%D0%B6%D0%BB%D0%B8%D0%B2%D1%96%D1%81%D1%82%D1%8C-%D1%96%D0%BD%D1%82%D0%B5%D1%80%D0%B2%E2%80%99%D1%8E-%D1%82%D0%B0-%D0%B5%D1%82%D0%B0%D0%BF%D0%B8-%D1%81%D0%BF%D1%96%D0%B2%D0%B1%D0%B5%D1%81%D1%96%D0%B4%D0%B8">Важливість інтерв’ю та етапи співбесіди</h2><p>Співбесіда зазвичай складається з кількох етапів, на кожному з яких ви спілкуєтеся з різними спеціалістами:</p><ul><li>співбесіда з рекрутером,</li><li>технічне інтерв’ю.</li></ul><p>Кожен з цих етапів має свої особливості та вимоги, тому підготовка до них відрізняється. Відповім на найбільш поширені питання від вас. Отже…<br></p><h2 id="%D1%96%D0%BD%D1%82%D0%B5%D1%80%D0%B2%E2%80%99%D1%8E-%D0%B7-%D1%80%D0%B5%D0%BA%D1%80%D1%83%D1%82%D0%B5%D1%80%D0%BE%D0%BC">Інтерв’ю з рекрутером</h2><p><strong>Питання:</strong> Які головні завдання рекрутера під час співбесіди?</p><p><strong>Відповідь: </strong>Під час співбесіди рекрутер виконує кілька ключових завдань. Він оцінює soft skills кандидата (навички спілкування, емпатія, лідерські якості та здатність працювати в команді), аналізує досвід роботи кандидата в команді та його спроможність ефективно вирішувати складні завдання. </p><p>Він також відповідає на запитання кандидата щодо роботи у компанії, умов співпраці, можливостей для розвитку й інших аспектів, які цікавлять кандидата. Рекрутер створює загальне враження від кандидата та визначає його потенціал для інтеграції в команду та компанію в цілому. Нарешті, рекрутер встановлює взаємну відповідність між очікуваннями компанії та кандидата. </p><p><strong>Питання: </strong>Про що рекрутер може запитати під час співбесіди?</p><p><strong>Відповідь:</strong> Зазвичай на цьому етапі більше уваги приділяють навичкам міжособистого спілкування (soft skills), досвіду роботи в команді, методам розв’язання складних завдань на попередніх робочих місцях та іншим подібним аспектам. </p><p>Крім того, протягом цієї співбесіди кандидат також має змогу ставити рекрутеру запитання щодо роботи в компанії, можливих умов співпраці й інших аспектів, які його цікавлять. Важливо зрозуміти, що рекрутери іноді ставлять дивні запитання, але це частина їхніх методик, які допомагають відсіяти неадекватних кандидатів. Тому, якщо вам ставлять такі запитання, відповідайте спокійно та відверто.</p><p><strong>Питання: </strong>Як підготуватися до інтерв’ю з рекрутером?</p><p><strong>Відповідь:</strong></p><ul><li>Дослідіть компанію: вивчіть компанію, її історію, цінності, продукти чи послуги, актуальні проєкти. Це допоможе вам відповідати на запитання рекрутера і проявити ваш інтерес та знання.</li><li>Підготуйте загальні відповіді: рекрутери зазвичай ставлять загальні запитання про ваш досвід, мотивацію, сильні та слабкі сторони. Підготуйте чіткі відповіді на них.</li><li>Підготуйте питання: не забудьте підготувати питання для рекрутера, що стосуються роботи в компанії, структури команди, можливостей для професійного росту тощо.</li><li>Комунікуйте чітко та виразно: висловлюйте свої думки чітко та виразно. Навчіться аргументувати свої ідеї та висловлювати їх із позиції користувача.</li><li>Практикуйте перед дзеркалом: проведіть практичні вправи перед дзеркалом або з друзями, відповідаючи на типові питання співбесіди.</li><li>Ознайомтеся зі своїм резюме: будьте готові розповісти більше про досвід, який ви <a href="https://proit.ua/iak-pisati-rieziumie-shcho-prodaiut/">вказали у резюме</a>. Рекрутер може поставити запитання щодо конкретних проєктів або досягнень.</li><li>Залишайте позитивне враження: важливо залишити позитивне враження від співбесіди. Будьте ввічливими та виразіть свій інтерес до компанії й вакансії.</li></ul><p><strong>Питання: </strong>Як часто рекрутери проводять співбесіду англійською мовою?</p><p><strong>Відповідь: </strong>Співбесіда з рекрутером англійською мовою може відбуватися досить часто, особливо для позицій, де важливий високий рівень володіння англійською. Підготуйте відповіді на стандартні запитання англійською мовою та вивчіть їх на пам’ять (про себе, ваші захоплення, попередні проєкти та досягнення).</p><p><strong>Питання: </strong>Як відповісти на запитання про попередню роботу та роботодавців?</p><p><strong>Відповідь: </strong>Важливо уникати негативних висловлювань про попереднього роботодавця. Замість цього розповідайте про незручності умов роботи або причину звільнення, але без оцінок. Наприклад, «На попередній роботі були не дуже комфортні умови роботи, і я вирішив шукати іншу».</p><h2 id="%D1%96%D0%BD%D1%82%D0%B5%D1%80%D0%B2%E2%80%99%D1%8E-%D0%B7-%D1%82%D0%B5%D1%85%D0%BD%D1%96%D1%87%D0%BD%D0%B8%D0%BC-%D1%81%D0%BF%D0%B5%D1%86%D1%96%D0%B0%D0%BB%D1%96%D1%81%D1%82%D0%BE%D0%BC">Інтерв’ю з технічним спеціалістом</h2><p>Технічна співбесіда спрямована на оцінку професійних компетенцій кандидата і його здатності вирішувати технічні завдання.</p><p>Врахуйте, що співбесідник взаємодіє з вами, як із досвідченим програмістом. Важливо розуміти, що це не ворожнеча, а спроба оцінити вашу професійну підготовку.</p><p><strong>Питання: </strong>Які етапи технічної співбесіди?</p><p><strong>Відповідь: </strong>Технічна співбесіда включає такі етапи:</p><ul><li>Бесіда з кандидатом: техспеціаліст розмовляє з кандидатом про його досвід і проєкти, звертаючи увагу на технічні аспекти.</li><li>Технічні запитання: кандидатові ставлять технічні запитання для визначення рівня його професійної підготовки.</li><li>Лайвкодинг: кандидата можуть попросити вирішити технічне завдання прямо під час співбесіди, демонструючи свої навички програмування.<br></li></ul><p><strong>Питання:</strong> Чому деякі інтерв’юери ставлять складні та неочікувані запитання на технічних співбесідах?</p><p><strong>Відповідь: </strong>Співрозмовник може ставити вам неочікувані запитання, щоб перевірити, як ви реагуєте на ситуації, коли не знаєте відповіді. Це допомагає йому оцінити вашу реакцію на невизначеність, яка може виникнути в робочій ситуації.</p><p><strong>Питання: </strong>Як підготуватися до технічної співбесіди?</p><p><strong>Відповідь:</strong></p><ul><li>Підготуйте відповіді на технічні запитання: проведіть попередню підготовку і вивчіть основні концепції, що стосуються вашої області експертизи.</li><li>Разом зі складними завданнями розгляньте й більш елементарні завдання, які можуть зустрітися на співбесіді. Так ви покращуєте впевненість, реакцію та базові навички.</li><li>Комунікація: навчіться чітко та лаконічно висловлювати свої думки й рішення. Здатність пояснити свої дії та розуміти запитання важлива на співбесіді.</li><li>Репетиція задач: робіть відкриті співбесіди та розв’язуйте технічні завдання вдома. Практикуйтеся у відповідях на типові запитання, що можуть виникнути на інтерв’ю.</li></ul><p>Зазвичай ці запитання спрямовані на оцінку розуміння кандидатом ключових принципів та підходів. Наприклад, у розробників ПЗ відкрите запитання може бути таким: «Як ви розглядаєте питання масштабованості в системі та які стратегії масштабування ви розглядаєте?» Відповідь на таке запитання буде вимагати від кандидата розгорнутої рефлексії й обґрунтування їхнього підходу.</p><ul><li>Поглиблений аналіз резюме: підготуйтеся до запитань про ваш досвід, проєкти, над якими ви працювали, і конкретні досягнення.</li><li>Відпрацюйте кодування: на технічній співбесіді важливо бути готовим до написання коду на білій дошці або у текстовому редакторі. Практикуйтеся у написанні коду вручну й усно пояснюйте свої рішення.</li><li>Онлайн-платформи: ви можете знайти онлайн-платформи, які надають практичні тестові завдання для підготовки до технічних співбесід.</li><li>Оцінка роботи над помилками: розгляньте ваші попередні помилки на співбесідах та намагайтеся покращитися у цих аспектах.</li></ul><h2 id="%D0%BF%D1%80%D0%B8%D1%87%D0%B8%D0%BD%D0%B8-%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%BB%D1%83-%D0%BD%D0%B0-%D1%81%D0%BF%D1%96%D0%B2%D0%B1%D0%B5%D1%81%D1%96%D0%B4%D1%96">Причини провалу на співбесіді</h2><p><strong>Розглянемо деякі можливі причини провалу на співбесіді та як їх уникнути:</strong></p><ul><li>Спроба розповісти про весь свій досвід у відповіді на одне запитання: не потрібно докладно розповідати про весь ваш робочий досвід в одній відповіді. Сконцентруйтеся на тих аспектах, які найбільше відповідають запитанню.</li><li>Занадто короткі, однослівні відповіді на запитання: це інша крайність. Намагайтеся надавати відповіді, які максимально інформативні. </li><li>Невідповідне місце та час для співбесіди: вибирайте спокійне місце для онлайн-співбесіди, де вас ніхто не буде відволікати, або попередьте, якщо такої можливості немає. Найменш прийнятним часом для офлайн-зустрічі вважається: 9 ранку понеділка, після роботи о 18:00 або пізніше, п’ятниця у другій половині дня, перед святами, особливо новорічними. Спробуйте обирати час для співбесіди, коли ви будете найбільш готові та сконцентровані.</li><li>Непунктуальність: не залишайте роботодавця чекати. Однак приходити занадто завчасно – також поганий знак.</li><li>Відсутність питань з вашого боку: пам’ятайте, що ви так само можете ставити запитання рекрутеру чи роботодавцю. Це демонструє вашу зацікавленість у компанії та позиції.</li><li>Перебільшення у резюме: будьте чесними й об’єктивними у своєму резюме. Не завищуйте свій досвід чи навички.</li><li>«Гугління» під час співбесіди: уникайте використання Інтернету під час співбесіди. Вам варто бути готовими відповідати на запитання на основі своїх знань.</li></ul><h2 id="%D1%89%D0%BE-%D1%80%D0%BE%D0%B1%D0%B8%D1%82%D0%B8-%D1%8F%D0%BA%D1%89%D0%BE%E2%80%A6">Що робити, якщо…</h2><ul><li>… вам поставили запитання, на які немає відповіді: не панікуйте, важливо чесно визнати, що ви не знаєте, але одночасно ви можете подати приклади схожих ситуацій, де ви зуміли ефективно вирішити проблеми. Або спробуйте розібратися у завданні й подати логічний підхід до його розв’язання. Важливо продемонструвати свої аналітичні навички та здатність до самостійного вирішення проблем.</li><li>… вам запропонували неприйнятні умови або вимоги: ви можете ввічливо відмовитися і пояснити, чому це не відповідає вашим потребам і цілям.</li><li>… ви хвилюєтеся: це нормальна реакція, і майже немає людей, які б не хвилювалися перед виступом або співбесідою. Тому раджу просто не пити кави та міцного чаю перед зустріччю і добре підготуватися.</li></ul><p>Отже, співбесіда – це можливість продемонструвати свої навички та здатність спілкуватися. Підготовка і впевненість у собі – це ваші головні союзники на шляху до успіху.</p><p>Однак важливо пам’ятати, що якщо вам відмовили – це ще не кінець світу, і можливо, це навіть на краще. Просто продовжуйте проходити співбесіди та не покладайте надію лише на одну компанію й одну зустріч.</p><p>Бажаю вам найкращого на вашій наступній співбесіді!</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодну публікацію!‌‌</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Фреймворк Selenium добре відомий тестувальникам. Зручний, багатофункціональний інструмент. Але, як-то кажуть, немає межі досконалості. Це чудово доводить фреймворк Selenide.

У цій статті ви дізнаєтесь, чим вони відрізняються та які задачі спростять. На прикладі я поясню, як виконати тест за допомогою Selenide. Поїхали!

Selenide – це апгрейд Selenium

Розмова про Selenide не ]]></description>
        <link>https://proit.ua/selenide-ta-selenium-shcho-pro-nikh-trieba-znati-tiestuvalniku-rozbiraiemo-na-prikladakh/</link>
        <guid isPermaLink="false">651f0f7f1f4f4efa662bab78</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Михайло Ореховський ]]></dc:creator>
        <pubDate>пт, 06 жовт 2023 13:00:05 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/10/abstract-nanotechnology-hexagonal-geometric-form-close-up.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>Фреймворк Selenium добре відомий тестувальникам. Зручний, багатофункціональний інструмент. Але, як-то кажуть, немає межі досконалості. Це чудово доводить фреймворк Selenide. </em></p><p><em>У цій статті ви дізнаєтесь, чим вони відрізняються та які задачі спростять. На прикладі я поясню, як виконати тест за допомогою Selenide. Поїхали!</em></p><p><strong>Selenide – це апгрейд Selenium</strong></p><p>Розмова про Selenide не можлива без короткого огляду Selenium. Цей інструмент найчастіше використовується для тестування вебзастосунків та дозволяє автоматизувати дії у браузері. Простіше кажучи, Selenium немов перекладач, який допомагає тестувальнику та розробнику «‎спілкуватися» з браузером.</p><p>Selenide – покращена версія Selenium, оболонка, яка не вимагає додаткових бібліотек або інших фіч для написання тестів. З ним ви зосередитесь на логіці застосунку. </p><p>У Selenide є все необхідне для роботи. Достатньо прочитати документацію, щоб розібратися в системі та почати створювати тести для UI та API. Фреймворк підтримує найпоширеніші браузери: Chrome, Safari, Edge, Opera.</p><p><strong>Selenium Webdriver – як ним користуватися</strong></p><p>Ключовою технологією фреймворку Selenium є Webdriver. Завдяки йому тестувальник може імітувати дії користувачів у браузері. </p><p><strong>Для роботи з Webdriver потрібні 3 компоненти:</strong></p><ul><li>Браузер, який потрібно автоматизувати.<br></li><li>Драйвер браузера для керування ним.<br></li><li>Скрипт або тест із набором команд для драйвера.</li></ul><p>Те ж саме необхідне і для Selenide. Але є нюанс: цей фреймворк повністю бере на себе функцію підключення браузера. Вам не доведеться скачувати драйвери та працювати з їхніми версіями. Усе цілком на боці Selenide. Завантаження драйвера, запуск і видалення після тесту займають буквально мілісекунди. А ви зможете почати працювати з тестами та кодом.</p><p>Стартувати з Selenide легко, але спочатку потрібно подивитися, як виглядає простий тест на Selenium. Почнімо з імпортів для підключення фреймворку.</p><figure class="kg-card kg-image-card"><img src="https://lh4.googleusercontent.com/uOdtnDrtH5BlWs5zHsZFTbkipTaJxbTRNhrHWtPV2vz0sRVJ7md07Ftlk6PJGzje5PNmp7KbAGsVc15OYbeyGWyZNzv0VUeZViuEAFLXcJ2MaFAoS8Ymee9baTFV-_XE4hZPgMnijU3UyxZuCXJSZw" class="kg-image" alt loading="lazy" width="602" height="162"></figure><p>Далі потрібно створити Before-методи з анотаціями...</p><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/TcVjort_r34F1rDGAQzjH7diffRTV3oIszk1bbBctFBK1n14kJKtQgcglBLVkqMeW0_-XXmj9JUo9DdK-DJVoa5MHdy34wFXd3JYW2IPY7t7ijcsemauVtV-7xppaKWjM0AGm7s_BgC1yq-oTJr8yA" class="kg-image" alt loading="lazy" width="602" height="139"></figure><p>Після цього – After-методи...</p><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/CHfmR-0jJdJyMZ-j1SEfBduSH3s2meS-f2lG9Wv22CZ6CiQgDxb6wd-GLAjZV0-31t9vomoL-CJHbREpgAdM2qUccw-4NPDwTYFtfuNaRzRJSgiQHTqSCnoHafN3TMywuc-QPydyXqEC7fkz9QiW1w" class="kg-image" alt loading="lazy" width="602" height="117"></figure><p>І нарешті – безпосередньо тест.</p><figure class="kg-card kg-image-card"><img src="https://lh6.googleusercontent.com/SCSgv5FeV_0SAqgK7mlve8TwpT6QgEO2PzL5f2Sbnb2bAG9LxGobMJl_HeGK4JROTbyD-ph0WEqlc1H64bTi65evHXUtwPpjsvX7AB6vRydwPH5gWGZgu1uvuU2yFM6qkObZy3VouKNXewRbhI-qMA" class="kg-image" alt loading="lazy" width="602" height="140"></figure><p>Відбувається ініціалізація драйвера, потім виконується тест, і драйвер вимикається.</p><p>Виглядає просто, але у масштабах великого комерційного проєкту потребує дуже багато уваги до речей, якими так не хочеться займатися кожного разу для кожного тесту.</p><h2 id="%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3%D0%B8-selenide">Переваги Selenide</h2><p></p><p><strong>Декілька особливостей цього фреймворку роблять тестування дійсно продуктивним:</strong></p><ul><li><strong>Автоматичне розв’язання проблем з Ajax</strong></li></ul><p>Selenide має метод shouldBe, до якого можна додавати потрібний Condition: visible, clickable та будь-який інший – аж до рукописного. Цей інструмент допомагає там, де безсилі сліпи із Selenium. </p><p>Уявімо елемент на сайті, який завантажується хвилину. У Selenium для такої ситуації потрібно прописати сліп на хвилину, і фреймворк чекатиме вказаний час. У Selenide з методом shouldBe все інакше. Протягом хвилини він з певною періодичністю надсилає до сторінки GET-запити (частоту запитів можна налаштувати). Якщо елемент з’являється до закінчення зазначеної хвилини, система переходить до прописаних дій. Так очікування скорочується і вирішується проблема тайм-аутів. Помилка можлива в тому випадку, якщо за хвилину не буде відповіді.</p><ul><li><strong>Управління життєдіяльністю браузера</strong></li></ul><p>Фреймворк виконує повторювану роботу з браузером і його драйверами.</p><ul><li><strong>Автоматичне створення звітів</strong></li></ul><p>Selenium створює звіти у вигляді скриншотів та HTML-файлів, які розміщуються в папці build. У Selenide все це виконується автоматично. Якщо з певної причини потрібно вимкнути цю функцію, достатньо однієї простої команди. При цьому можна створювати кастомні репорти. Наприклад, підключити Allure, з яким звіти будуть охайними та зручними для аналізу.</p><p>А ще у Selenide є приємні «‎плюшки». Фреймворк надає методи для дій, які у Selenium неможливо зробити однією командою. Це може бути вибір радіокнопки чи елемента зі списку, знімок екрана, очищення кешу браузера.</p><p><strong>Як підключити Selenide</strong></p><p>Для прикладу розглянемо написання простого тесту. Для цього я використовував архітектуру Maven і TestNG. Спочатку треба закинути у pom-файл необхідні для цього фреймворку dependency. У моєму випадку це TestNG і сам Selenide.</p><figure class="kg-card kg-image-card"><img src="https://lh4.googleusercontent.com/fLM67m3y_FeWVGz5Pu9nwGYfV4dyNG6u8ZqYgtRn5TBZB1AJ6XQlG4N-FXTb7viDCsGdtTbDQ6UITyqr_6tPEC0e-tsJ3D9xrF0oWCk1aE74VnKH5d3Dn8kjJMq8sL9s4OWlLV1CiwDzCJiaQWoGRw" class="kg-image" alt loading="lazy" width="602" height="251"></figure><p>Далі виконуються імпорти.</p><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/FSkFLNyUY9dTaTGDXn6j3RHC1B_LKfTmsRJC_k7KmGNj8BJqPnYmd3GmS4WXlTfh8f0Tro7gX24phQrrtf3GGsB3CZ_1DqnhvLqzBndLrjCeO4aLbEoEmjw9FyTzvKtvNzBEShtEd3UH8w1oOZBlSQ" class="kg-image" alt loading="lazy" width="602" height="71"></figure><p>А потім залишається написати код тесту.</p><figure class="kg-card kg-image-card"><img src="https://lh6.googleusercontent.com/UOHhhE_ujskhcyQhbgLGKiqJVbsa-hdMGGWgLUFrHGzc9s-s5pue7vrCQzo5H2rri_tu-mFhuw0lCGRjNOVxCXvxmvKDIspAOXkCbWas237Pu5C5iQscM3m6IpS2KvknLGS9enYKXWaQKTTJTyrdNA" class="kg-image" alt loading="lazy" width="602" height="98"></figure><p>У Selenide логіка написання максимально проста. Якщо ви добре знаєте англійську, то швидко розберетесь у всьому. Іноді навіть кажуть: Selenide робить Java подібною до Python. Аж настільки все просто.</p><p>Однак зверніть увагу на один нюанс у коді – використання $. Цей символ замінює функцію findElement. Таким чином не потрібно повністю прописувати драйвер, findElement та By, шукати XPath, ID, Name тощо. Знак перетворює цілий рядок коду лише на один символ!</p><p>Припустимо, ви вводите ім’я за класом, але не вказали, що шукаєте за класом. Тоді Selenide починає перебирати все, доки не знайде, де це використовується. Хоча краще відразу вказувати, що ви шукаєте. Так буде ще швидше.</p><p>Символ $ можна доповнювати й іншими символами. Наприклад, вказати х для пошуку XPath. Якщо вам потрібно знайти не XPath, вкажіть $ і Condition, де в дужках буде, наприклад, клас і byName, byId тощо.</p><figure class="kg-card kg-image-card"><img src="https://lh4.googleusercontent.com/XLdNhhBNXPx5Iy_-IuFmaaOv7o3jRq22Iy1q9AlSJ0l9hnnm6amfc5kuT9oCXv-uSZmqH2OwC1iQEOzG64XaPuNDW-CfGns5jwfL6ORVffcEXKrkL8Az6-V9LbT3OqJVclvusP6OHyd-4w7XpKcpOA" class="kg-image" alt loading="lazy" width="602" height="105"></figure><p>Вказуючи відразу два знаки $, ви зможете шукати кілька елементів. Наприклад, у вас є декілька Input. Тоді фреймворк шукатиме всі можливі елементи Input. Причому колекціонуватиме їх, створюватиме мапи й повертатиме колекції.</p><figure class="kg-card kg-image-card"><img src="https://lh5.googleusercontent.com/ScwkluKUiC_OpwfPvZHKSBstRbBi9MDz2YYV18-eOK0xtmTJ_sgX2eoXvd-gqyv6aES-9MMneCSmm7UQFOpvKC_iwiDpGYdGeGrtIWb9f8Lz-Jnfl5dw4dF9vFv6BkWgxMPTXNmXkz4G0XRB-ib_Ng" class="kg-image" alt loading="lazy" width="602" height="101"></figure><p>У Selenide доступний метод sendKeys, але часто його рекомендують замінити на метод setValue. Пов’язано це з тим, що в деяких випадках sendKeys може не достукатися до поля введення. Можна оминути це обмеження. Скажімо, переписати Value самого поля. Але це, чесно кажучи, незграбний підхід. Використання setValue дозволяє обійтись однією командою замість написання цілого скрипта.</p><p>Selenide має ті ж екшени, які в Selenium підключаються окремою бібліотекою. Це Double Click, Context Click та інші. Також фреймворк має Key, завдяки чому можна «‎повісити» на елемент натискання кнопки Enter, Shift, Tab тощо. Тобто для підключення такого функціоналу не потрібна додаткова бібліотека.</p><p>Крім того, не треба робити, як в екшенах, build.perform і сам екшен, щоб він запустився. У Selenide це відбувається автоматично. У прикладі я використав pressEnter, і система автоматично натискає Enter. Єдине обмеження: не можна натиснути кнопку без прив’язки до будь-чого. </p><p>Потрібен елемент, на який виконуватиметься процес натискання Enter. Якщо задача – не прив’язуватися до елемента, можете визначити body як натискання на Enter. Тоді система натисне Enter на порожнє місце, і відбудеться необхідна дія.</p><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/syBcHy9n16wYfRzUhkmyPp-TNpR1ffwqaPiiWoIEe-SLA0g4aZO8Z_ujn0oJ0mKXGGl06-VjlkwQlLeypN-JMNudRXwKAZY2Xs2ZlUgS0jBft-Fn3tzyf2kz_142Vn6aEV-O3a62WBlp171weOeN3w" class="kg-image" alt loading="lazy" width="602" height="71"></figure><p>При роботі з Selenide можна використовувати будь-який фреймворк: JUnit, TestNG, ScalaTest, Cucumber чи JBehave. Запуск відбувається як звичайний юніт-тест з IDE, ANT-скрипту або через mvn test. Тож зможете працювати так, як зручно саме вам.</p><p><strong>Запускаємо тест на Selenide</strong></p><p>Тут хочу звернути увагу на WebDriverManager. Саме він частково знімає рутину у роботі з драйверами.</p><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/j_PDhihDfbgvo-iKjGqs6Ysz9i6QYu6HdQauTzLgkZYSXyDtGETv7qL1V0TpbQolJzoHsOeHWJwHfc7k-EilxQCB7t4MjIbNWYK06z0wrPfLv4k7wzXy2rOUmHoSVEdmqI1kY5zFODwrcnYIL_jpeA" class="kg-image" alt loading="lazy" width="602" height="263"></figure><p><strong>Selenium</strong></p><figure class="kg-card kg-image-card"><img src="https://lh4.googleusercontent.com/YZ1kMRz_2sioFKL71m07aIXEtW19dnOX-niItMVzWlIfdblilRRR3pBAiyAGhl9Vh2TILVu5ZSN4gvIxwpnR82hLHKa3dLE3pRC_yDWRddu-2oIZNTNf9eS8oZkapAqHQ6Z1ZdZyZYnjpusY7ukVbg" class="kg-image" alt loading="lazy" width="602" height="71"></figure><p>Щоправда, цей інструмент – не панацея. Наприклад, у прикладі я зазначив не chromedriver, а chromiumdriver. Це покращена версія, яка працює трохи швидше. Але виявилось, у мене стояла 107-ма версія, а драйвер завантажувався для 104-ї. Це призводило до конфлікту, і тест не запускався. WebDriverManager, який має вирішувати такі задачі «під капотом», нічого не робив. </p><p>У результаті довелося самому закинути потрібну версію браузера та написати метод, що вказував шлях до драйвера. Ймовірно, через деякий час вийде нова версія, доведеться це все видаляти й вказувати новий варіант… Тож зважайте на такі моменти.</p><figure class="kg-card kg-image-card"><img src="https://lh4.googleusercontent.com/dLq3x2IEcmsRtF5wBgUh4nFZjBPZBLYRfbQkZwWE_7GIAfiCyV3nA4O5MzRtLYK79q0KwMXB1GYYVFQLQqa3P919-Ii2ztXBl-TeS8IkEjfCsCbltagvFPhbHb95t-QrS6mCDagEVP9s_p4TPLPIvQ" class="kg-image" alt loading="lazy" width="602" height="250"></figure><p>Пропоную порівняти написання однакових тестів на Selenide та Selenium (на ілюстрації – ліворуч та праворуч відповідно). </p><p><strong>У прикладах прописано 4 дії:</strong></p><ul><li>зайти в Google;</li><li>ввести у пошуку слово Selenide;</li><li>перейти за покликанням;</li><li>перевірити, що там один контейнер.</li></ul><p>З описаним фреймворком для цього знадобилося 3 рядки: два – для дій і один – для перевірки контейнера. Хоча можна й не використовувати ексепшени. shouldBe вже виконує цю функцію. Просто так виходить наглядніше.</p><figure class="kg-card kg-image-card"><img src="https://lh5.googleusercontent.com/mQL_Ltgn3xfab6Lc1_dyENB-sTnzquYHOn-2ihCz5_ysD-DebYp2hycpjPK2JdPtPSXqGskzwEJlqAeowcVugLF_A_gZ9DrgtBNate2sT5pOuDDSJ0uBwqS6u-J_Hzs0yFRrLtHfKIyrtG7Bjg4TsQ" class="kg-image" alt loading="lazy" width="602" height="239"></figure><p>У Selenium те ж саме, але коду помітно більше. Спочатку треба відправити sendKeys. Потім додати click. Адже Google не має кнопки пошуку, і після введення тексту треба натискати Enter. При цьому доводиться переходити на body, натискати click і лише після цього – кнопку пошуку, яка запустить процес. Як бачите, все це займає більше часу.</p><p>Звісно, це простий тест, тому економія часу не така суттєва, як у проєкті з великою кількістю коду. Але навіть у такому разі набагато простіше створити базу з потрібними папками й нарощувати проєкт саме на Selenide. На стадіях розробки та підключення браузера ви точно заощадите час.</p><p>Тож нам залишається запустити тест. Я зробив це через IDE на одному браузері, оскільки немає сенсу перевіряти на обох – тести ж однакові. Тест пройшов успішно – за 37 секунд. Час виконання у цих фреймворків зазвичай майже однаковий.</p><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/-9QuKv-tJtiiRTEOhE0mUX79A9wViLz5TqqEqoxPV1OW1QxpfBusebyCpKqottljEPH4uBj17A02DQFRr1oZ-dhGFh_ItwK4fp7Ax7U7KnpyAF2h5n4KDJkjuCLkWp1T0fZhqHan_ZitfyzdnLPeCg" class="kg-image" alt loading="lazy" width="602" height="79"></figure><p>Багаторазове повторення тих же процедур із визначенням однакових елементів, драйверів та успадкувань основного класу з інших – це все забирає багато часу та сил. З Selenide виходить простіше. Підключаєте фреймворк у будь-якій папці – і всі успадкування зроблено. Також можна створити окремі папки для XPath, body й тестів.</p><figure class="kg-card kg-image-card"><img src="https://lh5.googleusercontent.com/dXc1AsejyxIXlbt1a6l9OuIbpLs6DkvnMo2XUv1c57tnFMqqB-R7cxqd5oN-TBz1FyGzKhVyM3fuccmFKGeWIDFd-ilTjWw30ivPiGLdIk1l_WhyzsT5rmEzYpU2GJfJEh64WrYRjsg_vEvpufrY1A" class="kg-image" alt loading="lazy" width="602" height="123"></figure><p><strong>Вивчайте Selenide докладніше</strong></p><p>Рекомендую <a href="https://selenide.org/">офіційний сайт</a>. На ресурсі ви знайдете багато корисної інформації: від <a href="https://selenide.org/documentation.html">туторіалів</a>, як почати роботу з фреймворком, до <a href="https://github.com/selenide/selenide">покликань</a> на Github. Selenide постійно оновлюється, і на сайті кожен апдейт супроводжується детальним описом нових нод, методів та іншим.</p><figure class="kg-card kg-image-card"><img src="https://lh6.googleusercontent.com/FHlHuJfZebgkDO4yL2uFvHcbGQt2ahEQJNTXp58fp7NJ8qdYSBFNjtNEISjLZe5enVzkIoPgrSBcRhPW0bPcYoDhTsod6sGxdyw1NHCKqqELjK1fxl8C0HAlutqkjr21HzwGkh4lUXVx0P2ctrQF5w" class="kg-image" alt loading="lazy" width="602" height="263"></figure><p>Також на сайті класно описаний розділ <a href="https://selenide.org/faq.html">FAQ</a>. Тут ви знайдете відповіді на поширені питання: як працювати з патернами, які патерни краще використовувати, які налаштування задавати тощо. У цьому розділі описується налаштування JVM-машини для IDE.</p><p>Сподіваюсь, ви переконалися, що Selenide – це справді незамінний інструмент для QA-автоматизатора. З ними ви будете присвячувати максимум зусиль безпосередню написанню тестів. А всю рутину фреймворк виконає за вас.</p><p><em><em><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодну публікацію!‌‌</em></em></em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ ІТ-індустрія перебуває у стані постійних змін та невизначеності, що призводить до появи нових, несподіваних викликів. Тому наразі маємо надзвичайну важливість об’єднуватися й обмінюватися досвідом.

Новий проєкт Харківського ІТ Кластеру – «IT Cluster in the Cloud» – відкриває додаткові можливості для ІТ-компаній у непевні часи.

25 липня відбувся перший захід HR CommuniTy ]]></description>
        <link>https://proit.ua/sistiema-ghrieidiv-naghalna-potrieba-chi-triendova-primkha/</link>
        <guid isPermaLink="false">651c58591f4f4efa662ba95a</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Kharkiv IT Cluster ]]></dc:creator>
        <pubDate>ср, 04 жовт 2023 13:00:02 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/10/3d-render-cloud-computing-service-cloud-data-storage-technology-hosting-concept-white-cloud-with-cables-blue-background.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>ІТ-індустрія перебуває у стані постійних змін та невизначеності, що призводить до появи нових, несподіваних викликів. Тому наразі маємо надзвичайну важливість об’єднуватися й обмінюватися досвідом.</p><p>Новий проєкт Харківського ІТ Кластеру – «IT Cluster in the Cloud» – відкриває додаткові можливості для ІТ-компаній у непевні часи.</p><p>25 липня відбувся перший захід <strong>HR CommuniTy від Kharkiv IT Cluster </strong>у межах проєкту. Темою обговорення стала система грейдів. Порушувалося питання, у чому її нагальна потреба чи це просто трендова примха.</p><p><em>Спікеркою івенту була </em><strong><em>Євгенія Петрук</em></strong><em>, HRD Promodo, експерт у галузі управління персоналом з досвідом роботи понад 15 років у таких сферах бізнесу: диджитал-маркетинг, дистрибуція, ритейл, виробництво, фінансовий сектор. Сертифікований асесор та бізнес-тренер.</em></p><p>Спікерка івенту поділилася власним досвідом і розповіла, як інтегрувати грейдову систему у компанію.</p><p><strong>Тож на івенті говорили про:</strong></p><p>📌 Базові поняття: що таке грейд і грейдування?<br>📌 У чому цінність для усіх сторін?<br>📌 У чому недоліки системи грейдів?<br>📌 Як зрозуміти, чи потрібна система грейдів?</p><h2 id="%D0%B1%D0%B0%D0%B7%D0%BE%D0%B2%D1%96-%D0%BF%D0%BE%D0%BD%D1%8F%D1%82%D1%82%D1%8F-%D1%89%D0%BE-%D1%82%D0%B0%D0%BA%D0%B5-%D0%B3%D1%80%D0%B5%D0%B9%D0%B4-%D1%96-%D0%B3%D1%80%D0%B5%D0%B9%D0%B4%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Базові поняття: що таке грейд і грейдування?</h2><p><strong>▪️ Грейд</strong> – це упорядкування або класифікація, яка використовується для групування посад за певними факторами з метою стандартизації оплати праці. </p><p><strong>▪️ Грейдування</strong> містить у собі процес розподілу посад відповідно до їхньої цінності для компанії й об’єднання посад у групи (грейди) за певною логікою, а також призначення кожному грейду єдиних умов оплати.</p><p><strong>▪️ Суть будь-якої системи грейдування </strong>полягає у тому, щоб розподілити посади відповідно до цінності кожної ролі для компанії, об’єднати посади у групи (грейди) за певною логікою і призначити кожному грейду єдині умови оплати.</p><h2 id="%D1%83-%D1%87%D0%BE%D0%BC%D1%83-%D1%86%D1%96%D0%BD%D0%BD%D1%96%D1%81%D1%82%D1%8C-%D0%B4%D0%BB%D1%8F-%D1%83%D1%81%D1%96%D1%85-%D1%81%D1%82%D0%BE%D1%80%D1%96%D0%BD">У чому цінність для усіх сторін?</h2><h3 id="%D1%86%D1%96%D0%BD%D0%BD%D1%96%D1%81%D1%82%D1%8C-%D0%B4%D0%BB%D1%8F-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D1%96%D1%97">Цінність для компанії</h3><ul><li>Свідоме розуміння впливу посад на результати компанії.</li><li>Вдосконалення організаційної структури.</li><li>Прогнозованість фінансових обов’язків.</li></ul><h3 id="%D1%86%D1%96%D0%BD%D0%BD%D1%96%D1%81%D1%82%D1%8C-%D0%B4%D0%BB%D1%8F-%D1%81%D0%BF%D1%96%D0%B2%D1%80%D0%BE%D0%B1%D1%96%D1%82%D0%BD%D0%B8%D0%BA%D1%96%D0%B2">Цінність для співробітників</h3><ul><li>Справедливість винагороди та рівні можливості.</li><li>Розуміння наступних кроків зростання.</li><li>Можливості горизонтального зростання.</li></ul><h3 id="%D1%86%D1%96%D0%BD%D0%BD%D1%96%D1%81%D1%82%D1%8C-%D0%B4%D0%BB%D1%8F-hr">Цінність для HR</h3><ul><li>Прозорість та аргументація.</li><li>Планування перспектив кар’єрного і професійного розвитку.</li><li>Легкість у розрахунках і впровадженні змін.</li></ul><p><strong>Система грейдів</strong> – це потужний інструмент, який має значну цінність для всіх сторін: компанії, співробітників та HR-фахівців. Вона допомагає компанії ефективно управляти персоналом, надає прозорість та рівні можливості для співробітників і допомагає HR забезпечувати планування розвитку й перспективи для кожного співробітника. </p><p>Успішне впровадження системи грейдів підвищує мотивацію, задоволеність і результативність всіх учасників організації.</p><h2 id="%D1%83-%D1%87%D0%BE%D0%BC%D1%83-%D0%BD%D0%B5%D0%B4%D0%BE%D0%BB%D1%96%D0%BA%D0%B8-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8-%D0%B3%D1%80%D0%B5%D0%B9%D0%B4%D1%96%D0%B2">У чому недоліки системи грейдів?</h2><ul><li>Ресурсозатратність впровадження.</li><li>Можливі відхилення від ринкової заробітної плати.</li><li>Угруповання посад у грейди ускладнює моніторинг ринку ЗП та аналітику.</li><li>Складнощі пояснення системи грейдів лінійним співробітникам.</li></ul><p>Попри недоліки, система грейдів може бути корисним інструментом для структуризації робочих місць та розвитку кар’єри у компанії. Але її впровадження вимагає обдуманості та зосередженості на особливостях конкретної організації. </p><p>HR-фахівці мають бути готовими до того, щоб забезпечити оптимальний баланс між стандартизацією та індивідуальним підходом, забезпечуючи справедливу і прозору компенсаційну політику.</p><h2 id="%D1%8F%D0%BA-%D0%B7%D1%80%D0%BE%D0%B7%D1%83%D0%BC%D1%96%D1%82%D0%B8-%D1%87%D0%B8-%D0%BF%D0%BE%D1%82%D1%80%D1%96%D0%B1%D0%BD%D0%B0-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0-%D0%B3%D1%80%D0%B5%D0%B9%D0%B4%D1%96%D0%B2">Як зрозуміти, чи потрібна система грейдів?</h2><ul><li>Непрозорість системи оплати для кожного співробітника.</li><li>Неконтрольовані/непрогнозовані зміни ФОП і складових оплати.</li><li>Оплата новачкам вище, ніж поточним спеціалістам.</li><li>Принципи збільшення ЗП непрозорі/незрозумілі.</li><li>Значні відхилення від ринку ЗП.</li><li>Співробітники вважають систему оплати праці несправедливою.</li><li>Система грейдів як вирішення недоліків.</li></ul><p>Система грейдів допомагає уникнути багатьох недоліків традиційного підходу до оплати праці. Вона забезпечує прозорість, стабільність, адекватність і розуміння процесу визначення заробітної плати. </p><p>Використання грейдів дає змогу компанії створити справедливу та конкурентоспроможну систему оплати праці, яка мотивує співробітників до досягнення кращих результатів і розвитку кар’єри.</p><p><strong>Під час заходу спікерка поділилася власними кейсами й докладно розповіла про:</strong> методики грейдування, принципи системи грейдів, шляхи впровадження грейдів, кроки їх впровадження, а також показала на прикладах оцінки фактору й етапи оцінки посад у компанії Promodo. </p><p>Не пропустіть цю унікальну нагоду поглибити свої знання і здобути цінний досвід. <strong><em>Переходьте за покликанням і дивіться запис вебінару на нашому <a href="https://youtu.be/t9T8AeWZ6hA">каналі YouTube</a>.</em></strong></p><p>Захід, реалізований завдяки підтримці <a href="https://www.facebook.com/usaidcep.ua/">Програми USAID «Конкурентоспроможна економіка України»</a>, став практичною платформою, де попри географічну приналежність ІТ-компанії долучилися до експертного обміну досвідом та отримали практичні поради для свого бізнесу.</p><p><em><strong>Приєднуйтесь до HR CommuniTy і Kharkiv IT Cluster, щоб бути серед однодумців і стати рушійною силою українського ІТ!</strong></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Фреймворк Spring є потужним, корисним, а тому й популярним інструментом Java-девелоперів. Але новачкам важко розібратися у великому масиві інформації з безлічі сайтів та книг про функціонал цього рішення. Тож я створив невеликий гайд про базові аспекти роботи зі Spring. Це допоможе новачкам структурувати знання і швидше опанувати цей фреймворк.


Що ]]></description>
        <link>https://proit.ua/frieimvork-spring-prostii-manual-vid-rozrobnika-z-nix/</link>
        <guid isPermaLink="false">6516b1d3a74bce387220f197</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Олег Стріляний ]]></dc:creator>
        <pubDate>пт, 29 вер 2023 14:20:13 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/09/29711042_modern_3d_illustration_of_young_man_programming_concept-3.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Фреймворк Spring є потужним, корисним, а тому й популярним інструментом Java-девелоперів. Але новачкам важко розібратися у великому масиві інформації з безлічі сайтів та книг про функціонал цього рішення. Тож я створив невеликий гайд про базові аспекти роботи зі Spring. Це допоможе новачкам структурувати знання і швидше опанувати цей фреймворк.</p><h2 id="%D1%89%D0%BE-%D1%82%D0%B0%D0%BA%D0%B5-spring">Що таке Spring</h2><p>Spring – це <a href="https://spring.io/">фреймворк</a>, ключовий постулат якого полягає у мінімальному втручанні. Як зазначено на офіційному сайті, Spring спрощує, прискорює і робить безпечнішим програмування на Java. А головне – фреймворк підвищує продуктивність цієї роботи.</p><p>Spring об’єднує близько 20 модулів. Охопити їх в межах статті неможливо. Тож я зосередився на ключових Core-модулях. Цього вистачить, щоб зрозуміти сутність Spring як IoC-контейнера, опанувати методи інтеграції фреймворку у застосунок і дізнатися про основні анотації в Spring.</p><p>При першому знайомстві з фреймворком багатьох може спантеличити безліч нових термінів. При цьому нерідко у статтях для новачків ці поняття нерозкриті. Автори припускаються, що їх значення вже відомі читачам або зрозумілі з контексту. Але, як на мене, від початку важливо приділити час базовій термінології:</p><ul><li><strong>Фреймворк. </strong>Це платформа з набором готових рішень для стандартних завдань з конфігурації програми. Кожен розробник може інтегрувати фреймворк у свій застосунок та зосередитись на основній логіці.</li><li><strong>Залежність.</strong> Також це називають Dependency. Це якийсь клас B, необхідний для функціонування якогось класу A.</li><li><strong>Анотація. </strong>Це ярлик у вихідному коді, який у своїй роботі використовують компілятор або інтерпретатор. У нашому випадку це робить фреймворк.</li><li><strong>Бін. </strong>Словом bean називають клас у Java, який створено відповідно до певних правил. Біни допомагають згрупувати об'єкти, що спрощує передачу даних.</li></ul><h2 id="%D1%89%D0%BE-%D1%82%D0%B0%D0%BA%D0%B5-%D1%96%D0%BD%D0%B2%D0%B5%D1%80%D1%81%D1%96%D1%8F-%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8E-%D1%82%D0%B0-%D0%B2%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B4%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B7%D0%B0%D0%BB%D0%B5%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B5%D0%B9">Що таке інверсія контролю та впровадження залежностей</h2><p>Spring часто називають IoC-контейнером. В цьому є доля істини, але це не розкриває всього функціоналу фреймворку. Тож спочатку треба розібратися із поняттям Inversion of Control (IoC, також інверсія контролю), аби зрозуміти, чому воно важливе. При цьому краще роздивитися все на прикладі програми без використання Spring.</p><p>Інверсія контролю – це один із ключових принципів об'єктно-орієнтованого програмування, який сприяє поліпшенню модульності коду і мінімізує залежності між його складовими. Якщо клас A потребує класу B для своєї роботи, він стає залежним від класу B. Тобто один клас не може працювати без іншого. Ця залежність схожа, наприклад, із залежністю автомобіля від двигуна.</p><p>Безпосередньо у коді без використання IoC це може виглядати приблизно так, як на ілюстрації. Клас Engine містить метод running, який, припустимо, запускатиме двигун автомобіля. Для активації методу drive спочатку потрібно створити екземпляр класу Engine. Тобто система має переконатися, що з двигуном усе нормально.<br></p><figure class="kg-card kg-image-card"><img src="https://lh5.googleusercontent.com/C0eeHpnfZIHwjL2_1PgSx7BuIcbtXmTIsc5mnFoXzknjhlQzZCMxc3DoelavnQImCjrboF96P1GrdN8_0JpuzKo7DY7Fa_RThi-qwoEs_FkARW8AGp4za5dB9CbQjbqBf5s7Evf0COSBU6kPeCi8AA" class="kg-image" alt loading="lazy" width="602" height="222"></figure><h2 id="%D1%83-%D1%86%D1%8C%D0%BE%D0%B3%D0%BE-%D0%BF%D1%96%D0%B4%D1%85%D0%BE%D0%B4%D1%83-%D1%94-%D0%B4%D0%B2%D0%B0-%D1%81%D1%83%D1%82%D1%82%D1%94%D0%B2%D0%B8%D1%85-%D0%BD%D0%B5%D0%B4%D0%BE%D0%BB%D1%96%D0%BA%D0%B8">У цього підходу є два суттєвих недоліки:</h2><ul><li>високий ступінь зв’язаності між класами, що унеможливлює їх незалежну розробку та модифікацію;</li><li>код застосунку в цілому важко змінювати, підтримувати й оновлювати.</li></ul><p>Але код із прикладу можна поліпшити. З цим допоможе інтерфейс. Завдяки йому є можливість легко міняти двигун (наприклад, на V8Engine) без зміни в методі drive. Проте все одно є складність в управлінні обраною реалізацією, особливо якщо таких реалізацій багато.<br></p><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/ETO-sTYswZ3Erf4-P3o_utD7s-sfJF8OG4wbbvxHBW2qdkD6f6biuF3kZhd5O76_YDEF3RJtPRIr8tJUHqdu0njQdtokOjzDbf8tygk3WU1j40dzbWok5e9nE_i1FTKG5BstvqPIKF1wLUtfCpV3JQ" class="kg-image" alt loading="lazy" width="602" height="213"></figure><p>Саме тут і допоможе IoC. З інверсією контролю можна винести створення залежностей із класу. Це позбавляє необхідності кожного разу використовувати оператор new при створенні елементів. Тобто інверсія дає змогу додавати нові залежності ззовні без зміни початкового коду.</p><p>У Spring для реалізації IoC найчастіше використовують методи впровадження залежностей (від Dependency Injection, або DI). Але їх можна використовувати й без фреймворку Spring. Приклад такого застосування методу під назвою Setter Injection наведено на наступній ілюстрації. У коді з’являється специфічний метод setEngine, в який передано двигун. Тобто тепер не потрібно самостійно створювати кожен об’єкт класу engine. Достатньо передати його ззовні через метод setEngine.<br></p><figure class="kg-card kg-image-card"><img src="https://lh6.googleusercontent.com/5QuKwz-rMwKRdMfVvY3_oOC4oIVtfZyJWLPca0Y8A5_prz59o8ccY6IMi3ZSEjDIvd2UbSVSKcylxzoy4ysb-3zL_46x_gO6y8RLcSWwQNQ7-9HagpU0fvUSCnTLuPy7TBkYk-kZ4ODVRh4mRZbnBA" class="kg-image" alt loading="lazy" width="602" height="151"></figure><p>Також використання залежностей можна виконати через Constructor Injection, коли аргументи передаються через конструктор. Як можна оцінити по ілюстрації, завдяки IoC стає менше залежностей, що спрощує модифікацію та розширення класів.<br></p><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/wVmcA5y2E0RML7kufhxqOARDT10P7jQxxFdHqjdYjTQKZoEpGJ_ORfSDHW7m02F_7j8W0ZhFIXo_xMQ60e9zVTL_gv1Sw4npuuBiTWfnYsAzmjAPBBZs8WEbttvZXZLei05NGKA_19KVwyd4ANE4mw" class="kg-image" alt loading="lazy" width="602" height="170"></figure><p>Але не дивлячись на це, створення класів все одно продовжує вимагати використання оператора new. У цей момент і треба згадати про фреймворк Spring.<br><br></p><figure class="kg-card kg-image-card"><img src="https://lh5.googleusercontent.com/wBbcNfI3MRJqJG8mKY9-Xng0rg02z6_xYuBaxauVJJmp2Lh_mA-BjuXohdD6CjwBXis_mARs5ChWCuXjssR8vRzFXRNrnD7T-rD7woBLeWzrcevGxZ83aj_8YjIrF0DH-aVONbEcgcuknWctdSV-DA" class="kg-image" alt loading="lazy" width="602" height="84"></figure><h2 id="%D1%8F%D0%BA-%D1%96%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D1%83%D0%B2%D0%B0%D1%82%D0%B8-spring">Як інтегрувати Spring</h2><p>У Spring кожен клас називається бін – за аналогією з JavaBeans, які дотримуються таких стандартів, як наявність конструктора без параметрів чи get- і set-методів. І хоча Spring-біни схожі на ті класи, вони не підпорядковані таким суворим правилам.</p><h3 id="%D0%B4%D0%BB%D1%8F-%D1%96%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D1%96%D1%97-spring-%D1%83-%D0%B7%D0%B0%D1%81%D1%82%D0%BE%D1%81%D1%83%D0%BD%D0%BE%D0%BA-%D0%BF%D0%BE%D1%82%D1%80%D1%96%D0%B1%D0%BD%D0%BE-%D0%B2%D0%B8%D0%BA%D0%BE%D0%BD%D0%B0%D1%82%D0%B8-%D1%82%D0%B0%D0%BA%D1%96-%D0%BA%D1%80%D0%BE%D0%BA%D0%B8">Для інтеграції Spring у застосунок потрібно виконати такі кроки:</h3><ol><li>Розробити конфігурацію для Spring.</li><li>Задати інтерфейс ApplicationContext з відомостями про біни, їх взаємозв’язки й іншими конфігураційними даними.</li><li>Витягти біни з IoC-контейнера.<br></li></ol><h2 id="%D1%8F%D0%BA-%D0%BA%D0%BE%D0%BD%D1%84%D1%96%D0%B3%D1%83%D1%80%D1%83%D0%B2%D0%B0%D1%82%D0%B8-spring">Як конфігурувати Spring</h2><p>Існує чимало варіантів конфігурацій, кожен із яких впливає на реалізацію інтерфейсу.<br></p><h3 id="%D0%BA%D0%BE%D0%BD%D1%84%D1%96%D0%B3%D1%83%D1%80%D0%B0%D1%86%D1%96%D1%8F-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-xml">Конфігурація через XML</h3><p>Код не відрізняється від коду без Spring: це той самий згаданий на початку мінімальний вплив. Тож XML-конфігурація може виглядати так, як на наступній ілюстрації.<br></p><figure class="kg-card kg-image-card"><img src="https://lh4.googleusercontent.com/JFbr6i_uj2CsSdqrzjWo_GXfs44UrnfQxoYdGaN1ul2xgBSQN3eqQ3bpttMbCHNHTlegSW067byxfi178Pijz9eXEhUZJ7GNoN2SN-EJDZt5zmcqaajjkflD-HF_f2UTGiOQbUCZS0WaBQNQVOn_KQ" class="kg-image" alt loading="lazy" width="602" height="148"></figure><p>На початку коду є безліч покликань. Це – простір імен у Spring. Але більш важливим є інша частина коду, де наведено оголошення бінів:</p><ul><li><strong>engine.</strong> Це перший бін, за викликом якого можна отримати, наприклад об’єкт класу V8Engine.</li><li><strong>car.</strong> У цьому біні є залежність від engine, яку впроваджено через конструктор (хоча можна зробити це й за допомогою сеттеру).</li></ul><p>Також треба створити клас PathXmlApplicationContext та передати йому в аргументи config.xml. Далі залишиться зробити запит до Spring про бін car. Після цього фреймворк автоматично впровадить необхідні залежності. Завдяки конфігурації config.xml Spring розуміє: для car існує залежність від engine. Це звільняє розробника від необхідності вказувати у коді залежність одного класу від іншого.<br></p><figure class="kg-card kg-image-card"><img src="https://lh4.googleusercontent.com/0vpS64IiMieYSiwmeC80tXa-anP1xnariXudn8yShThWr9u-LaFtlBS2vbPuKbxvEYMaqk_hGHNY_fkqI_YFGOG8GwMG2yM6_NSg1mCVYW56Cw0LOMOQsA43aaprS5ky0R7P4I0gXjQdHBA3HgWlGg" class="kg-image" alt loading="lazy" width="602" height="130"></figure><h3 id="%D0%BA%D0%BE%D0%BD%D1%84%D1%96%D0%B3%D1%83%D1%80%D0%B0%D1%86%D1%96%D1%8F-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-%D0%B0%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D1%96%D1%97">Конфігурація через анотації</h3><p>Створювати конфігурації в Spring можна й за допомогою анотацій. Вони допомагають фреймворку зрозуміти, де знаходяться залежності і як з ними працювати. В минулому прикладі можна видалити з config.xml всі згадки про біни, а натомість – додати вказівку на сканування пакета для пошуку анотації @Component.<br></p><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/wnZkA6XcbOaFMwVaW993oFKba0COhQuzy6isOFa9U-nY_ab4dRJX1H1uK3DgydF0BbaroOJr3WiN2Lf5o6RRhgy3cEoxfE7K_dda-RAuV93bplpaUFLo7gtqaEMUdG_ZdZ_bugB5vBlq-HwKrlCg8Q" class="kg-image" alt loading="lazy" width="602" height="154"></figure><p>Після цього Spring автоматично вважатиме біни як класи, позначені анотацією @Component. А місця ін’єкції залежностей треба позначити анотацією @Autowired.<br></p><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/XZoi0M1iNM91GphQoYZnSTa3LQNJ5LFFV38AmePWT2u0m6Kx78IZeFTjg0bouhD4HyCPFU3c52DkKb6dGrbs58-qugJfTUt-7gJhd_HpiL-ad8RvVfsH5UBSkr-vylMhuy_zLzEod_B9lbezjYDZdQ" class="kg-image" alt loading="lazy" width="602" height="172"></figure><p>Втім, у версіях від Spring 4.3 можна не застосовувати @Autowired до конструктора. Фреймворк самостійно, за наявності одного конструктора, визначить його як точку застосування залежностей. Хоча при установці анотації на сеттер її потрібно вказувати.</p><h3 id="java-%D0%BA%D0%BE%D0%BD%D1%84%D1%96%D0%B3%D1%83%D1%80%D0%B0%D1%86%D1%96%D1%8F">Java-конфігурація</h3><p>Для реалізації Java-конфігурації у наведеному прикладі треба знову ж видалити файл config.xml та створити конфігурацію через звичайний Java-клас. Цей клас має бути анотований як @Configuration, і всередині нього будуть визначатися потрібні біни.<br></p><figure class="kg-card kg-image-card"><img src="https://lh6.googleusercontent.com/FxgniZWlpLmrJGRWH93VpB5MfQZgf_ZjSnUmUTeKN3aflFYzs7WZ7gH75J2L0ka-pUhm4SagP_JEJa8PPwdpS4TZlarDtvVWPz-W3Dmla6qMb9W9LGiXgo6gcYxG172hCXpUw_cA1d_lSqM767Dntg" class="kg-image" alt loading="lazy" width="602" height="196"></figure><p>Головний мінус цього підходу полягає в ручному налаштуванні впровадження залежностей. Однак це також означає, що класи очищені від анотацій і для їх використання достатньо змінити реалізацію ApplicationContext.</p><h3 id="%D1%8F%D0%BA%D1%89%D0%BE-%D0%B6-%D0%BE%D0%B1%D0%B8%D1%80%D0%B0%D1%82%D0%B8-%D0%BC%D1%96%D0%B6-xml-%D1%82%D0%B0-%D0%B0%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D1%96%D1%8F%D0%BC%D0%B8-%D1%82%D0%BE-%D1%83-%D0%BA%D0%BE%D0%B6%D0%BD%D0%BE%D0%B3%D0%BE-%D0%BF%D1%96%D0%B4%D1%85%D0%BE%D0%B4%D1%83-%D1%94-%D1%81%D0%B2%D0%BE%D1%97-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3%D0%B8">Якщо ж обирати між XML та анотаціями, то у кожного підходу є свої переваги:</h3><ul><li>Завдяки XML-конфігураціям ви можете розділяти налаштування програми та бізнес-логіку, що може бути зручним. Адже ви виносите конфігурації із коду.</li><li>Анотації роблять конфігурацію наочною, коли ви можете прямо в коді побачити класи як компоненти та залежності між ними.</li></ul><p>У будь-якому випадку моделі взаємозамінні. Головне – дотримуватись одного методу впродовж усієї розробки.<br></p><h2 id="%D1%8F%D0%BA-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%B0%D1%82%D0%B8-autowired-%D0%B4%D0%BB%D1%8F-%D0%B2%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B4%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B7%D0%B0%D0%BB%D0%B5%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B5%D0%B9">Як використати @Autowired для впровадження залежностей</h2><p>Коли розібралися в інтеграції Spring, можна вже говорити про його ключові функції та вплив фреймворку на застосунок. І перше питання – популярні анотації. Серед них найбільш поширеною є @Autowired. Правда, часто розробники зловживають нею і застосовують не там, де потрібно. Тож ви маєте чітко розуміти її призначення та правила використання.</p><p>Анотація @Autowired управляє процесом впровадження залежностей. Вона може бути застосована до будь-якої точки впровадження: конструктора, сеттера, поля. Після цього Spring зможе зв’язати бін із такою точкою. Як приклад на ілюстрації використано впровадження залежностей через сеттер з анотацією @Autowired.<br></p><figure class="kg-card kg-image-card"><img src="https://lh4.googleusercontent.com/f3ELQFlg3NKflifV06Sf0XVKcjVvVitwHSzJqDKy_7xaRajx7metEAPH1RFB2Rr3Zjc8PB-gA1h6SfRYuJP1wa0hs-wgRdsIG9DEmfi-WALvq2651yUd5_3Kee0WH4HeZVVSIE4GnSFjOJb_sX2vQg" class="kg-image" alt loading="lazy" width="602" height="156"></figure><p>Далі треба створити Java-конфігурацію й анотацію @ComponentScan. Це позбавить від необхідності явно оголошувати біни в коді.<br></p><figure class="kg-card kg-image-card"><img src="https://lh5.googleusercontent.com/uZTwhSUKwlxU1YeDBc4axXDzntUktPpp8KozFLrfK9MWAb7pvYqzjUjfqOu2B--umxiE2pJ5LjUB7WyHFRJ-zF_qnYGWsd3zboDhgQF-_ry5HKnhpkVAVA065vQVX_KMbHhGEtDbpIqnfiqjwstbyQ" class="kg-image" alt loading="lazy" width="602" height="189"></figure><h3 id="%D0%B7%D0%B0%D0%B3%D0%B0%D0%BB%D0%BE%D0%BC-%D1%96%D1%81%D0%BD%D1%83%D1%94-3-%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%B8-dependency-injection-%D0%B7%D0%B0-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BC%D0%BE%D0%B3%D0%BE%D1%8E-autowired">Загалом існує 3 способи Dependency Injection за допомогою @Autowired:</h3><ul><li><strong>Впровадження через конструктор.</strong> Це найкраще рішення, коли залежність є обов’язковою або має бути незмінною (з використанням ключового слова final). Також завдяки цьому способу легко виявляти класи з дуже великою кількістю залежностей. Якщо залежності впроваджуються через конструктор, то вам одразу помітна велика кількість параметрів, що не є нормальною ситуацією.</li><li><strong>Впровадження через сеттер.</strong> Коли залежність не обов’язкова, використання цього способу є кращим варіантом. З ним можна створювати опційні залежності, які впроваджуються повторно. Це добре підходить для класів, які мають часто змінювати конфігурацію. А ще це дозволяє визначати залежності в інтерфейсі. Але ж якщо застосувати його для критичної залежності, це може викликати NullPointerException і краш програми. Тож для мінімізації ризику слід використати анотацію @Required.</li><li><strong>Впровадження через поле. </strong>Такий підхід можливий, але його краще оминати. Насамперед цей підхід не дозволяє зробити залежність незмінною. При цьому додавання нових залежностей дуже просте, через що висока вірогідність створення «суперкласів» і перевантаженого коду. Також із таким DI виникає залежність від IoC-контейнеру, що змушує переписувати багато коду при заміні або видаленні контейнеру. Ну, і наостанок, із цим методом є складності з рефлексію при написанні юніт-тестів.</li></ul><p>Що стосується вибору між першими способами, це було предметом обговорення навіть серед творців фреймворку. До версії 4.0 вони рекомендували сеттери. Причина: конструктор може стати надто великим за наявності багатьох аргументів (особливо якщо властивості необов’язкові). </p><p>Але в останні роки рекомендації змінилися на користь конструкторів. Цей підхід дозволяє створювати незмінні компоненти та гарантувати, що необхідні залежності будуть коректно ініціалізовані. Втім, ви маєте самі обрати краще рішення саме для вашого проєкту – або ж навіть поєднати обидва методи.</p><h3 id="%D1%8F%D0%BA%D1%96-%D1%81%D0%BA%D0%BE%D1%83%D0%BF%D0%B8-%D0%BC%D0%BE%D0%B6%D1%83%D1%82%D1%8C-%D0%B1%D1%83%D1%82%D0%B8-%D1%83-%D0%B1%D1%96%D0%BD%D1%96%D0%B2">Які скоупи можуть бути у бінів</h3><ul><li><strong>@Scope("singleton"). </strong>У Spring за замовчуванням біни створюються як singleton. Тобто кожен бін має один екземпляр на весь IoC-контейнер. Це забезпечує ефективне використання ресурсів, оскільки на кожен наступний запит на цей бін система буде повертати те саме покликання на уже створений об’єкт.<br></li><li><strong>@Scope("prototype"). </strong>Цей підхід – протилежність singleton. При використанні скоупу prototype система створюватиме екземпляр біну для кожної залежності. Це корисно за необхідності у бінах з різним станом для кожного використання. При цьому залежність із prototype коректно працює лише у компонентах з таким скоупом. Тому є неприпустимим використання prototype-залежностей у singletone-компонентах. Але можна й обійти обмеження – із Method Injection (докладніше <a href="https://docs.spring.io/spring-framework/reference/core/beans/dependencies/factory-method-injection.html">читайте тут</a>).<br></li><li><strong>Скоупи для вебзастосунків</strong>. Для вебзастосунків передбачені окремі скоупи, які можуть обмежувати життєвий цикл об’єкта. Це можна налаштувати в межах запиту (request), сесії (session), сервлету (application) і вебсокету (websocket).</li></ul><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/0IYzeWYSisgcTzG6apuUpGzyJel4SD4axyquVfIS4k9clZoLVT9RKOJIxD3iB2l_4YtvLYT_i4e86pP_1WbB3LGJlSCd507u4DRewJHyEKnxwyHEktTs06gX2u9lPBbFA96z3SOcPQ2om3sICSFfPA" class="kg-image" alt loading="lazy" width="602" height="71"></figure><figure class="kg-card kg-image-card"><img src="https://lh5.googleusercontent.com/crlajah1mWNoxcYHpKEd-y7C9wUThvT2InzDSWOzDe0dDsk-JH7XUIc87uuqWOAyzOySTGYtJzLsEtArWQCzt57IlQYc6o_CJirYyi_oAu8hk7dLAM_tLzoYwhK7fm2wG-RKGJEZcsbivFWIdqv81w" class="kg-image" alt loading="lazy" width="602" height="71"></figure><h3 id="%D1%8F%D0%BA%D0%B8%D0%B9-%D0%B6%D0%B8%D1%82%D1%82%D1%94%D0%B2%D0%B8%D0%B9-%D1%86%D0%B8%D0%BA%D0%BB-%D0%B1%D1%96%D0%BD%D1%83">Який життєвий цикл біну</h3><p>Бін не є доступним одразу. Спочатку він проходить через кілька етапів ініціалізації. Для впровадження його життєвого циклу є дві анотації для маркування методу:</p><ul><li><strong>@PostConstruct.</strong> Метод буде викликано відразу після конструктора.</li><li><strong>@PreDestroy. </strong>Метод буде викликано перед видаленням біну.</li></ul><p>Ці методи зручні для додавання чи зменшення ресурсів. Деякі з них діють для singleton, інші – для prototype. При цьому метод @PreDestroy неможливий для prototype-бінів, адже там для кожної залежності створюється окремий об’єкт.</p><h3 id="%D1%89%D0%BE-%D1%82%D0%B0%D0%BA%D0%B5-%D0%B0%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D1%96%D1%8F-qualifier">Що таке анотація @Qualifier</h3><p>У разі множинних реалізацій інтерфейсу, що впроваджується з @Autowired (наприклад, engine, electric engine тощо), виникає помилка. Для усунення цієї неоднозначності використовується анотація @Qualifier. Саме вона вкаже Spring на потрібну реалізацію.<br></p><figure class="kg-card kg-image-card"><img src="https://lh3.googleusercontent.com/szjFYiYmnrBlQptBR6Ng2nBRSl4o44SBgSi3Lfh8cyK_xt1CaDPiW2T9fve2NSGMd9VxLgwXyG9JSNxYPuDObrCJK_8559tyblmJwOXyr8gWXJKR16PrCyHOsECQ_8K6eDHQI0v8wkyk37Z84h4sjA" class="kg-image" alt loading="lazy" width="602" height="188"></figure><h3 id="%D1%8F%D0%BA%D1%96-%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D0%B8-%D1%94-%D1%83-component">Які компоненти є у @Component</h3><p>У @Component є аналоги: @Controller, @Service та @Repository. Але вони фактично ідентичні та служать маркерами замість @Component. Однак не виключена поява з часом їх унікальних властивостей. Наприклад, @Repository кілька років тому почав перехоплювати Dao-exceptions для репозиторіїв. Тож краще просто використовувати @Component, якщо ви не впевнені у конкретному використанні цих анотацій.</p><h2 id="%D0%B4%D0%BE%D0%B4%D0%B0%D1%82%D0%BA%D0%BE%D0%B2%D1%96-%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D0%B8">Додаткові ресурси</h2><p>Розгляд Spring може бути нескінченним, так як він є великим і містить безліч деталей. Однак не слід забувати: цей фреймворк дійсно спрощує життя. Якщо ви добре розумієте ООП і уважно вивчаєте Spring, ви зможе заощадити багато часу на рутинних завданнях. А якщо виникають якісь питання, на вас завжди чекають корисні матеріали:</p><ul><li><a href="https://docs.spring.io/spring-framework/reference/">Офіційна документація</a>.<br></li><li><a href="https://www.vogella.com/tutorials/Spring/article.html">Практичні посібники</a>.</li></ul><p><em><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодну публікацію!</em></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Ansible: що воно таке є, як його використовувати й робити інтеграції та фреймворки – важливий інструмент для розгортання програмного забезпечення.

Отже, нагадаємо, що Ansible – це інструмент для автоматизації конфігурації й управління комп’ютерними системами. Він забезпечує можливість описувати задачі (playbooks) у простому для розуміння YAML-синтаксисі, що дозволяє автоматизувати налаштування серверів, застосунків, ]]></description>
        <link>https://proit.ua/ansible-i-iogho-rol-u-sviti-avtomatizatsiyi-praktichni-poradi-ta-siekrieti/</link>
        <guid isPermaLink="false">651193d2934bf0c883705a25</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Codica Team ]]></dc:creator>
        <pubDate>вт, 26 вер 2023 13:00:43 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/09/top-view-colorful-cogwheels-arrangement.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Ansible: що воно таке є, як його використовувати й робити інтеграції та фреймворки – важливий інструмент для розгортання програмного забезпечення.</p><p>Отже, нагадаємо, що Ansible – це інструмент для автоматизації конфігурації й управління комп’ютерними системами. Він забезпечує можливість описувати задачі (playbooks) у простому для розуміння YAML-синтаксисі, що дозволяє автоматизувати налаштування серверів, застосунків, баз даних та інших системних компонентів. Код Ansible написаний мовою Python і розповсюджується під ліцензією GPLv3.</p><h2 id="%D1%82%D0%BE%D0%B6-%D1%89%D0%BE-%D1%86%D0%B5-%D1%96-%D0%B4%D0%BB%D1%8F-%D1%87%D0%BE%D0%B3%D0%BE">Тож що це і для чого?</h2><p>Ansible може працювати з багатьма типами систем, включно з Linux, macOS і Windows. Він не потребує встановлення жодного агента на кожному вузлі (на відміну від конкурентів, як-от Chef), що спрощує його використання. Замість цього Ansible використовує SSH-з’єднання для взаємодії з системами.</p><p>Перше, що нам потрібно зробити після установки, налаштувати файл hosts. Туди повинні бути занесені всі наші хости, з якими ми будемо працювати. Хост файл може бути написаний у кількох форматах, як-от ini або yaml.</p><p>Playbook – це сценарій, у якому ви вказуєте дії, які повинен виконати Ansible на наших хостах. </p><p>В Ansible є купа модулів, які можна використовувати для роботи з установкою пакетів і закінчуючи створенням баз даних.</p><h2 id="%D0%B7%D0%B0-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BC%D0%BE%D0%B3%D0%BE%D1%8E-ansible-%D0%BC%D0%BE%D0%B6%D0%BD%D0%B0-%D0%B2%D0%B8%D0%BA%D0%BE%D0%BD%D1%83%D0%B2%D0%B0%D1%82%D0%B8-%D1%80%D1%96%D0%B7%D0%BD%D1%96-%D0%B7%D0%B0%D0%B2%D0%B4%D0%B0%D0%BD%D0%BD%D1%8F-%D0%B2%D0%BA%D0%BB%D1%8E%D1%87%D0%BD%D0%BE-%D0%B7-%D1%82%D0%B0%D0%BA%D0%B8%D0%BC%D0%B8">За допомогою Ansible можна виконувати різні завдання, включно з такими:</h2><ul><li>налаштування серверів і застосунків;</li><li>деплоймент програмного забезпечення;</li><li>керування конфігураціями;</li><li>автоматизоване тестування;</li><li>моніторинг систем;</li><li>і багато іншого.</li></ul><p>Також Аnsible інтегрується з багатьма клаудами, наприклад AWS systems manager service<a href="https://aws.amazon.com/blogs/mt/keeping-ansible-effortless-with-aws-systems-manager/"> має таку інтеграцію</a>.</p><p>Загалом Ansible дозволяє зменшити витрати на управління системами та збільшити швидкість виконання задач. Як інструмент для автоматизації конфігурації, розгортання й управління інфраструктурою, що базується на моделі з описом стану системи. Вони дають змогу ефективно перевикористовувати код і ділитися ним. Ролі дають нам чітко встановлену структуру для виконання завдань.</p><p>Роль Ansible – набір завдань або обробник змінних, файлів та інших артефактів, які поширюються і підключаються як єдине ціле до плейбуку.</p><p>У міру того, як ви додаєте у плейбуки функціональність, вони стають все більш громіздкими й складними в обслуговуванні та читанні коду. Тут на допомогу приходять ролі – вони розбивають складні плейбуки на окремі дрібніші фрагменти, які можуть координуватися центральною точкою входу.</p><p>Основна ідея ролей полягає у тому, щоб дозволити повторно використовувати спільні кроки налаштування між різними типами серверів.</p><h2 id="%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D0%B0-%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0-%D1%80%D0%BE%D0%BB%D1%96-%D0%B2-ansible-%D0%B2%D0%B8%D0%B3%D0%BB%D1%8F%D0%B4%D0%B0%D1%94-%D1%82%D0%B0%D0%BA">Стандартна структура ролі в Ansible виглядає так:</h2><p>roles/</p><p>common/               # ця ієрархія показує роль</p><p>tasks/            #    &lt;-- файли із задачами, які буде виконувати Ansible</p><p>main.yml      #</p><p>handlers/         #   &lt;-- хендлери для Ansible* (примітка, нижче пояснюю, що це таке)</p><p>main.yml      #</p><p>templates/        #  &lt;-- темплейти, які ролі буде деплоїти</p><p>ntp.conf.j2   #</p><p>files/            #       &lt;-- файли, які ролі буде використовувати</p><p>bar.txt       #</p><p>foo.sh        #</p><p>vars/             #     &lt;-- змінні, які буде використовувати роль</p><p>main.yml      #</p><p>defaults/         #   &lt;-- також змінні, але з найнижчим пріоритетом</p><p>main.yml      #</p><p>meta/             #    &lt;-- метадані для ролі, містять залежності ролі</p><p>main.yml      #</p><p>Хендлери – це<a href="https://www.digitalocean.com/community/tutorials/how-to-define-and-use-handlers-in-ansible-playbooks"> завдання</a>, які запускаються лише після сповіщення. Через те, що ролі мають стандартизовані структуру і формат, ділитися ними набагато простіше.</p><h2 id="molecule-%D1%84%D1%80%D0%B5%D0%B9%D0%BC%D0%B2%D0%BE%D1%80%D0%BA-%D0%B4%D0%BB%D1%8F-ansible">Molecule фреймворк для Ansible</h2><p>Molecule – це фреймворк, тестування та відлагодження Ansible-ролей. Він дає змогу тестувати ролі Ansible у зручному середовищі, забезпечуючи тестування та валідацію ролі перед її використанням.</p><p>Molecule використовує віртуальні машини (а саме: Libvirt, Parallels, VirtualBox, VMware) для тестування ролей і дозволяє створювати різноманітні середовища, що сприяє тестуванню ролей у різних конфігураціях. </p><p>Крім того, Molecule дає змогу запускати тести на різних платформах, як-от Docker, Vagrant, OpenStack, AWS тощо.</p><p>Molecule забезпечує автоматизацію процесу тестування ролей, дозволяючи зосередитися на функціональності ролі, замість витрачання часу на налаштування тестових середовищ.</p><h2 id="%D1%96%D0%BD%D1%96%D1%86%D1%96%D0%B0%D0%BB%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%8F-%D1%80%D0%BE%D0%BB%D1%96-%D0%B7-%D0%BC%D0%BE%D0%BB%D0%B5%D0%BA%D1%83%D0%BB-%D0%B2%D0%B8%D0%BA%D0%BE%D0%BD%D1%83%D1%94%D1%82%D1%8C%D1%81%D1%8F-%D1%82%D0%B0%D0%BA%D0%B8%D0%BC-%D1%87%D0%B8%D0%BD%D0%BE%D0%BC">Ініціалізація ролі з молекул виконується таким чином:</h2><p>molecule init role acme.role-name --driver-name docker</p><p>Після чого у вашу директорію з роллю додасться ще одна папка:</p><p>├── molecule</p><p>│   └── default</p><p>│       ├── converge.yml &lt;-- плейбук, який буде викликати (інвокати) роль</p><p>│       ├── INSTALL.rst &lt;-- інструкції до ролі</p><p>│       ├── molecule.yml &lt;-- головний файл із конфігураціями</p><p>│       └── verify.yml &lt;-- Ansible-файл для тестування</p><p>Загалом Molecule допомагає забезпечити якість ролей, зменшуючи кількість помилок і сприяючи швидкому й ефективному процесу розробки та тестування.</p><p><a href="https://www.youtube.com/watch?v=CYghlf-6Opc&amp;themeRefresh=1">Тут за покликанням можна</a> подивитися туторіал.</p><h2 id="ansible-vault-%D1%89%D0%BE-%D1%86%D0%B5-%D1%96-%D0%B4%D0%BB%D1%8F-%D1%87%D0%BE%D0%B3%D0%BE">Ansible Vault: що це і для чого?</h2><p>Ansible Vault – це механізм шифрування даних, що використовуються в Ansible. Він дозволяє захистити конфіденційні дані, як-от паролі, ключі SSH, сертифікати тощо, від несанкціонованого доступу під час їх передачі та зберігання.</p><p>За допомогою Ansible Vault можна шифрувати файли та змінні, які містять конфіденційну інформацію, зберігаючи їх у зашифрованому вигляді. Це дає змогу передавати такі файли безпосередньо через репозиторії або інші канали комунікації без ризику їх розкриття.</p><p>Ansible Vault забезпечує можливість зберігання даних у криптографічно безпечному форматі, що використовує сильний алгоритм шифрування AES (Advanced Encryption Standard). </p><p>Ключ шифрування можна зберігати в різних форматах, як-от файл, змінна середовища, що забезпечує гнучкість і зручність використання механізму шифрування.</p><p>Користувачі Ansible Vault можуть легко створювати та редагувати зашифровані файли та змінні, використовуючи стандартні інструменти Ansible.</p><p>Наприклад, щоб створити зашифрований файл, використовують команду ansbile-vault create &lt;filename&gt;. Команда ansible-vault &lt;filename&gt; дозволяє відкрити та редагувати файл у зашифрованому вигляді, а ansible-vault &lt;filename&gt; – шифрувати файл або змінну.</p><h2 id="%D0%BF%D1%80%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4-%D0%BF%D0%BB%D0%B5%D0%B9%D0%B1%D1%83%D0%BA%D0%B0-%D0%B9-ansible-vault-%D1%80%D0%B0%D0%B7%D0%BE%D0%BC">Приклад плейбука й ansible-vault разом:</h2><p>ansible-vault create vault.yml</p><p>&lt;промпт на пароль&gt;</p><p>cat vault.yml</p><p>$ANSIBLE_VAULT;1.1;AES256…</p><p>ansible-vault view vault.yml</p><p>Vault password:</p><p>user: secret_user</p><p>cat playbook.yml</p><p>---</p><p>- name: "vault"</p><p>hosts: localhost</p><p>connection: local</p><p>tasks:</p><p>- name: vault</p><p>debug:</p><p>var: user</p><p>І запускаємо</p><p>ansible-playbook  -e @vault.yml playbook.yml --ask-vault-pass</p><p>Vault password:</p><p>І далі буде лог виконання, у якому Ansible використає нашу змінну.</p><p>Якщо запустимо без покликання на файл із секретом і без –ask-vault-pass, то на місці змінної буде</p><p>"user": "VARIABLE IS NOT DEFINED!"</p><p>Тож Ansible Vault є інструментом для захисту конфіденційної інформації в Ansible й дає змогу користувачам забезпечувати безпеку даних, які використовуються у процесі автоматизації інфраструктури.</p><p>Загалом Ansible – незамінний інструмент для автоматизації й управління інфраструктурою, що забезпечує ефективну роботу, підвищує безпеку і простоту управління системами. </p><p>Ця потужна платформа дає можливість спростити рутинні завдання ІТ-адміністраторів та розширити можливості вашої інфраструктури, зекономивши час і знизивши ризики помилок.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram">ProIT у Telegram</a>, щоб не пропустити жодну публікацію!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Під час повномасштабного вторгнення кількість кібератак в Україні зросла у 3,5 раза порівняно з 2021 роком. Відносно небагато з них припадають на фінансовий сектор. Так, у 2022 році НБУ зафіксував понад 250 спроб атакувати банківську систему.

Водночас ціна вдалих атак може бути дуже високою. Обсяги міжнародної допомоги Україні перевищили ]]></description>
        <link>https://proit.ua/kriptoghrafiia-blokchiein-shi-iak-tiekhnologhiyi-zakhishchaiut-vashi-koshti-u-banku/</link>
        <guid isPermaLink="false">64f9a1b9387599d4a6798299</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Юлія Штукатурова ]]></dc:creator>
        <pubDate>чт, 07 вер 2023 13:17:27 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/09/man-using-laptop-work-connect-with-others.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Під час повномасштабного вторгнення кількість кібератак в Україні <a href="https://uworld.news/news/kiberataky-rosii-na-ukrainu-ie-1002005.html">зросла</a> у 3,5 раза порівняно з 2021 роком. Відносно небагато з них припадають на фінансовий сектор. Так, у 2022 році НБУ <a href="https://www.ukrinform.ua/rubric-economy/3707876-nacbank-torik-zaznav-ponad-50-kiberatak.html">зафіксував понад 250 спроб</a> атакувати банківську систему.</p><p>Водночас ціна вдалих атак може бути дуже високою. Обсяги міжнародної допомоги Україні перевищили <a href="https://bank.gov.ua/admin_uploads/article/MMR_2023-03.pdf?v=4">38 млрд доларів</a>, а загальна сума донатів на ЗСУ та гуманітарні ініціативи склала <a href="https://biz.nv.ua/ukr/economics/skilki-zvichayni-ukrajinci-zadonatili-na-zsu-yaki-blagodiyni-fondi-zibrali-naybilshe-50327840.html">98,9 млрд гривень</a>. </p><p>Через значні фінансові транші українська фінсистема знаходиться під особливим прицілом хакерів і зловмисників. Проте розробки українських спеціалістів із кібербезпеки допомагають захистити фінансовий сектор.</p><p>Розробки інженерів зменшують ризики банків та захищають кошти громадян. </p><p><strong>Фінансові установи використовують такі технології:</strong></p><ul><li><strong>Криптографію</strong>, що підвищує конфіденційність транзакцій. Наприклад, криптографію використовують для захисту передачі даних між клієнтом і банком та у мобільних платежах.<br></li><li><strong>Технологію блокчейну</strong> для прозорості та безпеки транзакцій. Завдяки блокчейну внутрішня мережа жорстко реагує на будь-які зміни, тому втручання ззовні відразу стає помітним і дає змогу оперативно відреагувати на нього.<br></li><li><strong>Системи багатофакторної автентифікації </strong>для додаткового захисту від зловмисників. Звичайного алгоритму автентифікації, де користувач вводить логін та пароль, недостатньо для повного захисту. Тому використовують додаткові чинники автентифікації: цифровий підпис, СМС із пін-кодом, карти доступу, токени тощо. Перехопити їх всі для хакерів значно складніше. А деякі чинники, як біометрію, особливо важко підробити. <br></li><li><strong>Системи на основі штучного інтелекту й машинного навчання </strong>для виявлення та запобігання підозрілим операціям. Спеціалістам-аналітикам важко швидко обробити великі обсяги даних і помітити аномалії (у транзакціях чи авторизаціях), тоді як ШІ миттєво справляється з цим завданням. </li></ul><p>До того ж штучний інтелект та машинне навчання використовують для прогнозування кібератак. Машинне навчання аналізує минулі атаки на систему, їхні моделі й тенденції та може використати ці дані для запобігання майбутнім спробам зламу. </p><p>Автоматизовані банківські системи більш стійкі до кібератак і шахрайства. Наприклад, розробки наших інженерів для одного з банків Великобританії зменшили випадки шахрайства на 50% та економлять до 3 мільйонів фунтів щороку.</p><p>Найслабшим місцем для хакерів є люди. Користувачі нерідко самі допомагають злочинцям, коли встановлюють однакові для всіх акаунтів паролі чи поширюють свої персональні дані на підозрілих сайтах. Щоб якомога більше українців знали про правила безпеки в мережі, експерти GlobalLogic Education проводять спеціальні курси, як нещодавній «<a href="https://www.globallogic.com/ua/about/events/cybersecurity-week/">Тиждень Кібербезпеки</a>».</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="nofollow noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодну публікацію!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Зайдіть у TikTok – там продаватимуть навчання. В Instagram ваш улюблений блогер запускає курс зі схуднення. Просто гортаючи стрічку Facebook, з ймовірністю 90% ви натрапите на продаж знань онлайн. Знаєте, який відсоток із них справді якісний? Третина у найкращому випадку.

Сьогодні я навчу створювати курси, які увійдуть в ці 30% і ]]></description>
        <link>https://proit.ua/6-krokiv-dlia-stvoriennia-onlain-kursu-na-otsinku-5-5/</link>
        <guid isPermaLink="false">64eba92fdcc1662706daba72</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Владислав Лиманюк ]]></dc:creator>
        <pubDate>пн, 28 серп 2023 13:00:50 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/08/3d-keyboard-with-online-cources-button.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Зайдіть у TikTok – там продаватимуть навчання. В Instagram ваш улюблений блогер запускає курс зі схуднення. Просто гортаючи стрічку Facebook, з ймовірністю 90% ви натрапите на продаж знань онлайн. Знаєте, який відсоток із них справді якісний? Третина у найкращому випадку. </p><p>Сьогодні я навчу створювати курси, які увійдуть в ці 30% і принесуть вам і вашим студентам мільйони. Ми створимо навчання, яке оцінюватимуть на 5/5, як оцінюють моє. Ми розробимо курс, який «вирощуватиме» професіоналів.</p><h2 id="%D0%BA%D1%80%D0%BE%D0%BA-1-roadmap">Крок 1. Roadmap</h2><p>Якщо ми говоримо про те, з чого варто почати курс, то спершу думаємо з «Отримати необхідні знання». Це все через те, що у переважній більшості безкоштовних уроків і статей наголошують, що розпочати справді треба з цього. Але це не про створення онлайн-курсу. Це про розвиток тебе як фахівця. </p><p>Розбудова ж онлайн-курсу починається з думки, що ти хочеш навчати, а тоді ти робиш перший крок. І перший крок – це roadmap.</p><p>Як досвідчений фахівець, ти розумієш, що потрібно зробити новачку для того, щоб стати професіоналом і заробити (умовно) першу тисячу доларів. Тобто ти береш оцей шлях і розбиваєш його на етапи. Кожен наступний розвиває людину як спеціаліста все більше.</p><h2 id="%D0%BA%D1%80%D0%BE%D0%BA-2-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D1%8F">Крок 2. Методологія</h2><p>Ви берете roadmap і розбираєте кожен етап окремо. Обдумуєте оптимальний час, за який людина повинна пройти конкретну сходинку, скільки в ньому буде уроків, у якому вигляді буде домашнє завдання, за який термін людина має його відправити й так далі. </p><p>Тут треба розуміти факт того, що ми – створіння, яких потрібно мотивувати ще й зовні. Обмеження в часі гарно працює для цього. У нас студент не може тягнути зі здачею домашнього завдання: після 7 днів він «злітає» з можливості отримати всілякі бонуси, а після закінчення терміну навчання домашні завдання взагалі не перевіряються.</p><h2 id="%D0%BA%D1%80%D0%BE%D0%BA-3-%D0%B7%D0%B2%D0%BE%D1%80%D0%BE%D1%82%D0%BD%D0%B8%D0%B9-%D0%B7%D0%B2%E2%80%99%D1%8F%D0%B7%D0%BE%D0%BA-%D1%96-%D0%BD%D0%B0%D1%81%D1%82%D0%B0%D0%B2%D0%BD%D0%B8%D0%BA%D0%B8">Крок 3. Зворотний зв’язок і наставники</h2><p>Мабуть, це найважливіший крок. Правильно підібрана команда, навіть зі слабким матеріалом і непропрацьованою методологією, зможе довести студентів до результату. </p><p>Вашим клієнтам потрібні відповіді – дайте їм досвідчених кураторів. Студентам щось незрозуміло – поясніть спочатку індивідуально, а тоді швидко додайте це пояснення у сам курс. Клієнтам треба підтримка – знайдіть психолога, який буде проводити індивідуальні сесії або запише блок. Винайміть людей, що будуть на зв’язку 24/7 і працюватимуть на результат (і не лише ваш).</p><h2 id="%D0%BA%D1%80%D0%BE%D0%BA-4-%D1%83%D0%BF%D0%B0%D0%BA%D0%BE%D0%B2%D0%BA%D0%B0">Крок 4. Упаковка</h2><p>Цей пункт не лише про «класний візуал і сайт». Це і про додаткові матеріали: бонуси, чек-листи, записані відео, розбори й так далі. Після того, як обдумаєте ці речі, займайтеся візуалом соцмереж і розробляйте сайт. </p><p>Можна порівняти з машиною: в переважної більшості людей «упаковка курсу» – це лише про гарну картинку, як яскрава плівка на авто. Але насправді це значно глибше. Це про ті деталі, які змушують авто рухатися.</p><h2 id="%D0%BA%D1%80%D0%BE%D0%BA-5-%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA-%D1%96-%D0%BF%D1%80%D0%BE%D0%B4%D0%B0%D0%B6%D1%96">Крок 5. Запуск і продажі</h2><p>На цьому етапі вам треба розробити маркетингову стратегію. Так, це буває нудно. Так, цього не дуже хочеться робити. Так, інколи все йде не по плану і треба постійно вносити туди правки. Сприймайте її як шпаргалку. </p><p>З особистого досвіду скажу, що найкраще продавати через особистий блог в Instagram. Люди купують у людей. А там ви як ніде можете транслювати свої цінності, якості та цілі.</p><h2 id="%D0%BA%D1%80%D0%BE%D0%BA-6-%D0%B2%D1%96%D0%B4%D0%B3%D1%83%D0%BA%D0%B8">Крок 6. Відгуки</h2><p>Після першого запуску зберіть відгуки. Зважайте на хороші й на погані. Повірте, конструктивна критика інколи може дати вам вирішення неймовірної кількості проблем. </p><p>Я також рекомендую після першого запуску переглянути результати студентів. Якщо вони не задовільні – внести правки в курс і запускати наступний потік лише тоді, коли ви будете впевнені, що зробили всі можливі покращення.</p><p>Загалом секрет мого успіху в тому, що у мене ціль не продати й не заробити. Моя мета – навчити й довести до результату. </p><p>Коли ви ведете отакий екологічний бізнес, ви просто не можете бути у програші. Бо люди це відчувають, починають самі вже рекомендувати й продавати ваш продукт своїм знайомим, намагаються покращити ваше ж навчання порадами, конструктивними зауваженнями.</p><p><em>Підписуйтеся на <a href="https://link.proit.ua/Telegram" rel="noopener noreferrer">ProIT у Telegram</a>, щоб не пропустити жодну публікацію!</em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Python входить до топу найпопулярніших мов програмування не тільки в Україні, але й у світі. Вона підходить для розв’язання різних завдань: від створення невеликих застосунків для персонального використання і до побудови великих корпоративних систем.

Python працює майже на всіх сучасних платформах і підтримує мультипарадигмальне програмування, що робить її універсальним ]]></description>
        <link>https://proit.ua/z-chogho-pochati-shliakh-junior-python-developer/</link>
        <guid isPermaLink="false">64e340350343379615efdf67</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Сергій Алпатов ]]></dc:creator>
        <pubDate>пт, 25 серп 2023 13:00:32 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/08/medium-shot-woman-working-laptop.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Python входить до топу найпопулярніших мов програмування не тільки в Україні, але й у світі. Вона підходить для розв’язання різних завдань: від створення невеликих застосунків для персонального використання і до побудови великих корпоративних систем.</p><p>Python працює майже на всіх сучасних платформах і підтримує мультипарадигмальне програмування, що робить її універсальним інструментом бізнесу. Тому попит на розробників Python великий і навряд чи він зменшиться, адже ця тенденція тільки зростатиме, а системи штучного інтелекту та Data Science лише збільшують попит на фахівців такого виду діяльності.</p><h2 id="%D1%89%D0%BE-%D0%BF%D0%BE%D1%82%D1%80%D1%96%D0%B1%D0%BD%D0%BE-%D0%B7%D0%BD%D0%B0%D1%82%D0%B8-python-junior-%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D0%BD%D0%B8%D0%BA%D1%83-%D0%B4%D0%BB%D1%8F-%D1%83%D1%81%D0%BF%D1%96%D1%88%D0%BD%D0%BE%D0%B3%D0%BE-%D0%BF%D1%80%D0%B0%D1%86%D0%B5%D0%B2%D0%BB%D0%B0%D1%88%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Що потрібно знати Python Junior розробнику для успішного працевлаштування?</h2><p></p><h3 id="%D0%B1%D0%B0%D0%B3%D0%B0%D1%82%D0%BE-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%96%D1%81%D1%82%D1%96%D0%B2-%D0%BF%D0%BE%D1%87%D0%B0%D1%82%D0%BA%D1%96%D0%B2%D1%86%D1%96%D0%B2-%D0%BE%D0%B1%D0%B8%D1%80%D0%B0%D1%8E%D1%87%D0%B8-%D0%BC%D0%BE%D0%B2%D1%83-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D1%8F%D1%82%D1%8C-%D0%BF%D0%B5%D1%80%D0%B5%D0%B4-%D1%81%D0%BE%D0%B1%D0%BE%D1%8E-%D1%82%D0%B0%D0%BA%D1%96-%D0%BF%D0%B8%D1%82%D0%B0%D0%BD%D0%BD%D1%8F">Багато програмістів-початківців, обираючи мову програмування, ставлять перед собою такі питання:</h3><p>1. Чи зможу я осягнути цю мову?</p><p>2. Чи актуальна вона зараз?</p><p>3. Як швидко я зможу почати працювати?</p><h3 id="%D0%BA%D1%80%D1%96%D0%BC-%D1%81%D0%B0%D0%BC%D0%BE%D0%B3%D0%BE-%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%83-%D0%BD%D0%B0%D0%B2%D1%87%D0%B0%D0%BD%D0%BD%D1%8F-%D1%97%D1%85-%D0%B1%D0%B5%D0%BD%D1%82%D0%B5%D0%B6%D0%B8%D1%82%D1%8C-%D0%B1%D0%B0%D0%B3%D0%B0%D1%82%D0%BE-%D0%BD%D1%8E%D0%B0%D0%BD%D1%81%D1%96%D0%B2">Крім самого процесу навчання, їх бентежить багато нюансів:</h3><p>1. Чи потрібна вища освіта?</p><p>2. Які hard і soft скіли потрібні?</p><p>3. Які книги прочитати та які сайти подивитись?</p><p>4. Про що запитуватимуть на співбесіді?</p><p>Нижче я спробую відповісти на ці запитання. </p><h3 id="%D1%87%D0%B8-%D0%B7%D0%BC%D0%BE%D0%B6%D1%83-%D1%8F-%D0%BE%D1%81%D1%8F%D0%B3%D0%BD%D1%83%D1%82%D0%B8-%D1%86%D1%8E-%D0%BC%D0%BE%D0%B2%D1%83">Чи зможу я осягнути цю мову?</h3><p>Так! А чому ні? Python – одна з найпростіших мов, яка дасть вам змогу розпочати свій шлях до професії програміста з найменшою кількістю зусиль.</p><p>Основною концепцією цієї мови є спрощення синтаксису, що полегшує роботу програміста. Більшість складних речей, які виконуються на інших мовах за допомогою сотень рядків, тут можуть бути виконані лише за 2-3 рядки. Налагодження та використання додаткового програмного забезпечення буде приємним бонусом для початківця.</p><h3 id="%D1%87%D0%B8-%D0%B0%D0%BA%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0-%D0%BC%D0%BE%D0%B2%D0%B0-python-%D0%B7%D0%B0%D1%80%D0%B0%D0%B7">Чи актуальна мова Python зараз?</h3><p>Мова програмування Python є однією з найпопулярніших мов у світі. Розробку і вдосконалення цієї мови підтримують найбільші світові компанії, такі як Google, Amazon та Microsoft. </p><p>Python стала невіддільною частиною великої кількості програмного забезпечення, і зараз уже неможливо уявити собі звичні нам речі, такі як замовлення таксі через застосунок чи доставка їжі додому, без використання цієї мови.</p><h3 id="%D1%8F%D0%BA-%D1%88%D0%B2%D0%B8%D0%B4%D0%BA%D0%BE-%D1%8F-%D0%B7%D0%BC%D0%BE%D0%B6%D1%83-%D0%BF%D0%BE%D1%87%D0%B0%D1%82%D0%B8-%D0%BF%D1%80%D0%B0%D1%86%D1%8E%D0%B2%D0%B0%D1%82%D0%B8">Як швидко я зможу почати працювати?</h3><p>На це запитання у мене однозначної відповіді не буде. Усе залежить повністю від вас.</p><p>Знань, щоб виконати відносно нескладні задачі, такі як написання ботів або скриптів для роботи інших програм, буде вдосталь вже через 2 місяці. </p><p>Повноцінно потрапити в комерційну розробку можливо вже після пів року навчання. Але не слід забувати про те, що сучасним програмістам треба знати не тільки мову програмування, а ще й додаткові інструменти, які використовуються під час розробки.</p><h3 id="%D1%87%D0%B8-%D0%BF%D0%BE%D1%82%D1%80%D1%96%D0%B1%D0%BD%D0%B0-%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D0%BD%D0%B8%D0%BA%D1%83-python-%D0%B2%D0%B8%D1%89%D0%B0-%D0%BE%D1%81%D0%B2%D1%96%D1%82%D0%B0">Чи потрібна розробнику Python вища освіта?</h3><p>Напевно, це найчастіше запитання, яке ставлять майбутні розробники. На нього немає однозначної відповіді, але ми можемо назвати плюси та мінуси вищої освіти для програмістів.</p><h2 id="%D0%BC%D1%96%D0%BD%D1%83%D1%81%D0%B8">Мінуси</h2><p></p><h3 id="%D0%B2%D0%B8%D1%82%D1%80%D0%B0%D1%87%D0%B5%D0%BD%D1%96-%D1%80%D0%BE%D0%BA%D0%B8">Витрачені роки</h3><p>Вам знадобиться 4 роки навчання у ВНЗ, щоб здобути ступінь бакалавра.</p><p>Можливо, цей час можна використати ефективніше, але ніхто не забороняє працювати вже під час навчання.</p><h3 id="%D0%B7%D0%B0%D1%81%D1%82%D0%B0%D1%80%D1%96%D0%BB%D0%B0-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%B0">Застаріла програма</h3><p>На те, щоб додати нові знання до програми ВНЗ, підуть місяці, а то й роки. За цей час знання застаріють, особливо в ІТ. І це є найскладнішим фактором. </p><p>Дійсно, сучасні освітні заклади не дуже встигають за потребами бізнесу, але якщо ви ще навчаєтесь в університеті, то ухвалили правильне рішення. Вже кілька років поспіль програми навчання з інформаційних технологій відпустили з-під сильного контролю та надали можливість бізнесу диктувати свої потреби.</p><h3 id="%D0%BD%D0%B5%D0%BA%D0%BE%D0%BC%D0%BF%D0%B5%D1%82%D0%B5%D0%BD%D1%82%D0%BD%D1%96-%D0%B2%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4%D0%B0%D1%87%D1%96">Некомпетентні викладачі</h3><p>В ідеальному світі у вишах викладають круті фахівці, які добре володіють теорією та мають практичний досвід. Насправді досвід викладача може бути далеким від сучасних реалій. І це дійсно так. Ви можете натрапити на викладача, який ще стояв у першоджерел інформаційних технологій і писав перші програми за допомогою лампочок. І хоча це поважні люди з неймовірним досвідом, вони вже далекі від реальності. </p><p>Є небагато людей, які мають релевантний досвід і готові працювати за неконкурентну заробітну платню. Хоча зараз багато IT-спеціалістів працюють у ВНЗ з метою підготовки якісніших кадрів для своїх IT-компаній.</p><h2 id="%D0%BF%D0%BB%D1%8E%D1%81%D0%B8">Плюси</h2><p></p><h3 id="%D1%88%D0%B8%D1%80%D0%BE%D0%BA%D0%B8%D0%B9-%D0%BA%D1%80%D1%83%D0%B3%D0%BE%D0%B7%D1%96%D1%80">Широкий кругозір</h3><p>Це банально звучить, але програма ВНЗ розширює кругозір. Крім коду, корисно знати, як влаштовано суспільство, як функціонує економіка, що рухає політикою. Зараз ви, скоріш за все, не будете працювати просто програмістом, який сидить за комп’ютером і не бачить нічого навколо. </p><p>Розуміння, як працюють більшість суспільних інститутів, дає змогу програмістам знаходити цікавіші та корисніші способи використати свої знання. Україна вже кілька років поспіль є лідером у світі з таких технологічних напрямів як FinTech, SocialTech, HealthTech та eGoverment.</p><h3 id="%D1%84%D1%83%D0%BD%D0%B4%D0%B0%D0%BC%D0%B5%D0%BD%D1%82-%D0%BF%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%96%D0%B9%D0%BD%D0%B8%D1%85-%D0%B7%D0%BD%D0%B0%D0%BD%D1%8C">Фундамент професійних знань</h3><p>Теоретичні знання погано монетизуються, але вони закладають основу професійного розвитку майбутнього програміста. Якщо вивчити лише одну мову програмування, цього буде недостатньо для успішної кар’єри, адже програмістам часто потрібно бути гнучкими та знати, як функціонують різні технології. Без них буде складно вивчати щось нове, а з часом, через велике навантаження на роботі, ви скоріш за все не зможете ефективно вивчати щось, що далеке від вашої експертизи.</p><h3 id="%D0%BD%D0%B0%D0%B2%D0%B8%D1%87%D0%BA%D0%B0-%D1%81%D0%B0%D0%BC%D0%BE%D0%BD%D0%B0%D0%B2%D1%87%D0%B0%D0%BD%D0%BD%D1%8F">Навичка самонавчання</h3><p>У ВНЗ студент звикає регулярно виконувати завдання, читати навчальну літературу, шукати додаткові джерела інформації. Програміст постійно навчається, технології змінюються і майже кожні декілька місяців потрібно дізнаватися щось нове. Якщо не закласти фундамент таких звичок на старті вашої професії, то далі буде набагато складніше.</p><h3 id="%D0%B4%D0%B8%D0%BF%D0%BB%D0%BE%D0%BC-%D0%B7%D1%96-%D1%81%D0%BF%D0%B5%D1%86%D1%96%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%96">Диплом зі спеціальності</h3><p>Працювати програмістом можна і без диплома. Нещодавно на сайті DOU проводилося опитування про освіту IT-спеціалістів. З’ясувалося, що приблизно третина не має вищої освіти й більша частина володарів дипломів працює не за спеціальністю.</p><p>Але якщо ви забажаєте зростати далі та ставати вже керівниками, то вам знадобиться підтвердження вашої кваліфікації й диплом може допомогти у цьому. </p><p>Також багато розвинених країн мають програми імміграції, таких як Green Card, за допомогою яких залучають кваліфікованих спеціалістів. Для підтвердження кваліфікації потрібні документи з роботи та диплом. І хоча український диплом державного зразка не сильно цінується у країнах Північної Америки, але у Європі він є доволі вагомим.</p><h2 id="%D0%B2%D0%B8%D0%BC%D0%BE%D0%B3%D0%B8-%D0%B4%D0%BE-%D1%82%D0%B5%D1%85%D0%BD%D1%96%D1%87%D0%BD%D0%B8%D1%85-%D0%BD%D0%B0%D0%B2%D0%B8%D1%87%D0%BE%D0%BA">Вимоги до технічних навичок</h2><p>Вимоги до технічних навичок Junior Python-розробника постійно зростають.</p><p><strong>Парадокс: </strong>розробників не вистачає, а вхідний поріг збільшується. Індустрія намагається захиститися від поганих профі, які приносять більше проблем, аніж користі.</p><h2 id="%D1%89%D0%BE-%D0%BF%D0%BE%D1%82%D1%80%D1%96%D0%B1%D0%BD%D0%BE-%D0%B7%D0%BD%D0%B0%D1%82%D0%B8-%D1%89%D0%BE%D0%B1-%D0%BF%D0%BE%D0%B4%D0%BE%D0%BB%D0%B0%D1%82%D0%B8-%D0%B2%D1%85%D1%96%D0%B4%D0%BD%D0%B8%D0%B9-%D0%BF%D0%BE%D1%80%D1%96%D0%B3">Що потрібно знати, щоб подолати вхідний поріг?</h2><ul><li><strong><strong><strong>Python, синтаксис, бібліотеки, алгоритми, структури даних і т</strong></strong>ак далі<strong><strong>.</strong></strong></strong> Для позиції Python-розробника це – основний критерій. Також потрібно обов’язково знати, де зберігається документація.<br></li><li><strong>Фреймворки, наприклад Django або Flask.</strong> Розробник-початківець не повинен володіти усіма фреймворками. Досить вміти працювати з одним і знати назви інших, а також те, де вони використовуються.<br></li><li><strong>Базові знання HTML CSS.</strong> Початківець у Python не повинен вдаватися у тонкощі frontend-розробки, але загальне уявлення йому необхідне.<br></li><li><strong>Реляційні бази даних.</strong> SQLAlchemy, SQL, PostgreSQL, MySQL.<br></li><li><strong>Загальні засади роботи Інтернету.</strong> API, протоколи (http, https), JSON-RPC, Protocol Buffers, gRPC.<br></li><li><strong>Linux, а також один або кілька IDE. </strong>Розробнику треба вміти налаштовувати робоче оточення самостійно.</li></ul><h2 id="%D0%BA%D1%80%D1%96%D0%BC-%D1%82%D0%BE%D0%B3%D0%BE-%D0%B7%D0%BD%D0%B0%D0%B4%D0%BE%D0%B1%D0%BB%D1%8F%D1%82%D1%8C%D1%81%D1%8F-%D1%82%D0%B0%D0%BA%D1%96-%D0%B7%D0%BD%D0%B0%D0%BD%D0%BD%D1%8F-%D1%96-%D0%B2%D0%BC%D1%96%D0%BD%D0%BD%D1%8F">Крім того, знадобляться такі знання і вміння:</h2><p></p><ul><li><strong>Agile\Scrum.</strong> Якщо навіть вам не доводилося працювати за цими методологіями, то хоча б ознайомтеся із загальними принципами.<br></li><li><strong>Git. </strong>Вміння працювати з системами контролю версій буде необхідне постійно.<br></li><li><strong>Мікросервіси.</strong> Докладного знання мікросервісів від новачка не вимагатимуть, але розуміння їхньої роботи стане в пригоді.</li></ul><p>Список навичок, які було б добре мати, можна продовжувати нескінченно. До нього увійдуть і Amazon Web Services, і хмарні технології, і Machine Learning. </p><p>Словом, все, що ви знаєте на достатньому для роботи рівні, буде плюсом. Головне, не забудьте додати ці скіли у резюме і згадати їх на інтерв’ю.</p><h2 id="soft-skills-%D1%8F%D0%BA%D0%B8%D0%BC%D0%B8-%D0%BC%D0%B0%D1%94-%D0%B2%D0%BE%D0%BB%D0%BE%D0%B4%D1%96%D1%82%D0%B8-junior-python-developer">Soft skills, якими має володіти Junior Python Developer</h2><p></p><h3 id="%D0%B0%D0%BD%D0%B3%D0%BB%D1%96%D0%B9%D1%81%D1%8C%D0%BA%D0%B0-%D0%BC%D0%BE%D0%B2%D0%B0">Англійська мова</h3><p>IT всього світу говорять англійською. Довідкова література, нові технології – все англійською. Допоки все перекладуть на українську, вже з’являться нові технології й усе розпочнеться спочатку. Крім того, цією мовою вам доведеться говорити з іноземними колегами, партнерами та навіть клієнтами.</p><p>Без англійської ваше кар’єрне зростання буде повільним і розмір вашої заробітної плати також буде під питанням. Не знаючи англійської мови, ви, скоріш за все, будете працювати на проєктах, де вона не дуже потрібна, а це замовники з країн, де рівень заробітної плати не буде відповідати вашим потребам.</p><h3 id="%D0%BA%D0%BE%D0%BC%D1%83%D0%BD%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%8F">Комунікація</h3><p>Великі завдання не виконуються самотужки. Хороший розробник має бути командним гравцем і вміти ефективно спілкуватися. Товариші за командою, менеджмент, представники замовника – зі всіма цими людьми вирішуватимуться робочі питання, а без розвинених комунікативних навичок це буде складно.</p><h3 id="%D0%B4%D0%B8%D1%81%D1%86%D0%B8%D0%BF%D0%BB%D1%96%D0%BD%D0%B0">Дисципліна</h3><p>Приходити вчасно на роботу та мітинги, звітувати про завдання, відповідати на листи протягом дня, здавалося б, нескладно, але скільки молодих фахівців цим нехтує!</p><h3 id="%D0%BA%D0%B5%D1%80%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D1%87%D0%B0%D1%81%D0%BE%D0%BC">Керування часом</h3><p>Це частина загальної дисципліни, але окремо хотілося б наголосити на необхідності work-life балансу. Розробник, який не відпочиває та нічим не цікавиться, окрім програмування, може швидко вигоріти.</p><p>Звичайно, це далеко не всі корисні soft skills, але ці є ключовими.</p><h3 id="%D1%8F%D0%BAi-%D0%B7%D0%B0%D0%BF%D0%B8%D1%82%D0%B0%D0%BD%D0%BD%D1%8F-%D0%BC%D0%BE%D0%B6%D1%83%D1%82%D1%8C-%D0%B1%D1%83%D1%82%D0%B8-%D0%BD%D0%B0-%D1%81%D0%BF%D1%96%D0%B2%D0%B1%D0%B5%D1%81%D1%96%D0%B4%D1%96">Якi запитання можуть бути на співбесіді?</h3><p>Процес співбесіди складатиметься з кількох етапів.</p><p>На початковому етапі вам ставлять загальні запитання. Наприклад, яку позицію ви розглядаєте, й інші прості деталі. Один із головних моментів – це переконати рекрутера, що ви зацікавлені у пошуку роботи та хочете працювати саме в цій компанії. </p><p>Далі вас чекає нетехнічний етап співбесіди. Тут вас питатимуть, чому ви обрали саме цю мову програмування, де навчалися і чи маєте досвід роботи. </p><p>Також будуть розглядати вашу освіту і професійний стаж. Запитання типу: «Як ви бачите себе через 5 років» теж можуть прозвучати. Це роблять для з’ясування вашої амбітності та зосередженості на професійному зростанні. На цьому етапі можна згадати про вашу участь у хакатонах та інших спеціалізованих заходах.</p><p>Частина запитань спрямована на оцінку вашої «м’якої» компетентності, про яку ми говорили раніше. Сюди входить рівень володіння англійською, ваша здатність до стресостійкості, підхід до розв’язання завдань.</p><p>Також можуть поставити запитання щодо ваших мотивів працювати саме в цій компанії, тому цілком доцільно перед співбесідою ознайомитися з діяльністю компанії та підготувати кілька обґрунтувань.</p><p>Потім на черзі буде технічне інтерв’ю. Існує безліч підходів і низка запитань, які можуть прозвучати. Загальні питання можуть стосуватися налаштування комп’ютера, принципів роботи Інтернету й основ програмування.</p><p>Основи програмування – це основний напрям питань. Ймовірно, вас питатимуть про основні принципи ООП (Об’єктноорієнтованого Програмування). Особисто я обожнюю питати саме цей розділ, бо він відображає не тільки технічні знання, а ще й гнучкі навички, такі як вміння комунікувати, описувати складні речі простими словами й стресостійкість. Якщо у вас є можливість, додайте до опису приклади практичного застосування цих принципів.</p><p>Python – це ключовий напрям питань. Вас, можливо, попросять розповісти про масиви та їхню структуру, основні алгоритми сортування, типи даних і методи пошуку. Ще неможливо уникнути запитань щодо різних фреймворків.</p><p>Ймовірно, ваш технічний інтерв’юер додасть деякі глибокі запитання. Не засмучуйтеся, якщо на якесь із них не знайдете відповіді – інтерв’юер буде намагатися випробувати інші межі ваших знань. </p><p>Імовірно, вам запропонують тестове завдання для вирішення чи описання того, як ви його вирішили б. Не можна проігнорувати й ваші навички у написанні коду. Вас можуть запитати про використовувані вами IDE, вашу здатність до їх налаштування, додавання бібліотек, плагінів тощо.</p><p>Завершується співбесіда оцінкою ваших знань баз даних. Вам можуть поставити запитання про основи роботи з ними, який ваш досвід у роботі з різними базами даних, щодо їхніх особливостей.</p><h2 id="%D1%8F%D0%BA%D1%96-%D0%B7%D0%BD%D0%B0%D0%BD%D0%BD%D1%8F-%D0%B1%D1%83%D0%B4%D1%83%D1%82%D1%8C-%D0%BF%D0%BB%D1%8E%D1%81%D0%BE%D0%BC">Які знання будуть плюсом?</h2><p></p><p>Компанія, яка шукає нових співробітників, не просто орієнтується на розробників, але й шукає людей, здатних ефективно розв’язувати актуальні бізнес-завдання. Тому під час співбесіди звертатимуть увагу на теми, які мають прямий зв’язок із цими завданнями. </p><p>Зрозуміти, що це будуть за теми, ви можете просто дізнавшись більше про цю компанію, оскільки її спеціалізація напряму формує низку завдань, які виконуватиме програміст. Наприклад, компанія з електронної комерції буде орієнтуватися на написання інтернет-магазинів, а компанії з ринку GameDev будуть орієнтовані на створення ігор.</p><p>Наприклад, якщо Data Science має важливе значення у роботі компанії, то для вас, як для початківця Python-розробника, буде важливо відповісти на запитання щодо вашого розуміння математики, аналізу даних і теорії ймовірностей. Як ми раніше згадували, ці теми розглядаються у спеціалізованих вишах, але ви також маєте змогу опанувати основи самостійно.</p><p>Якщо у вас є навчальні або особисті проєкти, рекомендується підготувати їх до співбесіди, виклавши на GitHub або на вашому вебсайті. Важливо продемонструвати свій код і навички й супроводити це поясненнями щодо того, які конкретні завдання ви розв’язали у межах цих проєктів. </p><p>Загалом на етапі пошуку роботи важливо проаналізувати свої знання та навички, скласти списки інтересів. Кожний вид знань може бути корисним, важливо тільки знати, як їх відповідно використовувати.</p><h2 id="%D1%8F%D0%BA%D1%96-%D0%BA%D0%BD%D0%B8%D0%B3%D0%B8-%D0%BF%D0%BE%D1%82%D1%80%D1%96%D0%B1%D0%BD%D0%BE-%D0%BF%D1%80%D0%BE%D1%87%D0%B8%D1%82%D0%B0%D1%82%D0%B8-junior-python-%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D0%BD%D0%B8%D0%BA%D1%83">Які книги потрібно прочитати Junior Python-розробнику?</h2><p></p><ul><li>Головне ім’я, яке має знати Junior Python, – Марк Лутц. Він написав серію книг про розробку на Python, включно з Python Pocket Reference. Цей кишеньковий довідник краще читати в оригіналі. В ньому містяться відповіді та підказки майже на всі питання, які можуть виникнути у недосвідченого розробника.<br></li><li>Ще одна базова книга для розробників-початківців автора Майкла Доусона – «Програмуємо на Python». Автор пропонує освоїти основи мови, створюючи прості ігри. Досвідченим розробникам ця книга не стане в пригоді, а ось для початківців цілком підійде.<br></li><li>А ось книга Марка Саммерфілда «Python на практиці» підійде і для досвідчених програмістів. Ми її рекомендуємо ще й тому, що в ній описуються патерни проєктування та правила їхнього використання для створення гарного коду. Якщо ви не полюбляєте такі посібники, то можете ознайомитись із книгами «Пришвидшений курс Python» від Еріка Маттеса й «Автоматизація рутинних задач із Python» від Ела Сваргейта.</li></ul><h2 id="%D1%8F%D0%BA%D1%89%D0%BE-%D0%B6-%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B8%D1%82%D0%B8-%D0%BF%D1%80%D0%BE-%D1%81%D0%B0%D0%B9%D1%82%D0%B8-%D1%82%D0%BE-%D1%82%D1%83%D1%82-%D0%BF%D0%BE%D0%B1%D0%B0%D0%B6%D0%B0%D0%BD%D0%BD%D1%8F-%D1%83-%D0%BA%D0%BE%D0%B6%D0%BD%D0%BE%D0%B3%D0%BE-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%96%D1%81%D1%82%D0%B0-%D0%B4%D0%BE%D0%B2%D0%BE%D0%BB%D1%96-%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%96">Якщо ж говорити про сайти, то тут побажання у кожного програміста доволі прості:</h2><p></p><p>Перш за все, це сама документація Python. Її можна знайти на офіційному сайті цієї мови. Якщо ви шукаєте альтернативний варіант, то я можу рекомендувати звернутися до такого сайту, як w3school. Тут ви зможете знайти всі потрібні вам знання та навіть більше. Єдине, чого тут буде не вистачати, – практики. </p><h2 id="%D0%B2%D0%B8%D1%81%D0%BD%D0%BE%D0%B2%D0%BE%D0%BA">Висновок</h2><p></p><p>Наразі ситуація на ринку IT-кадрів складається на користь претендентів. Світу потрібно більше програмістів, тому профі завжди в попиті. Навіть програміст-початківець може легко знайти роботу, якщо докладе зусиль. </p><p>Для Junior Python-розробника найкращий шлях – <a href="https://bit.ly/47CxdbZ">освоїти основи мови Python</a>, ознайомитися зі фреймворками та базами даних, прочитати кілька книг за спеціальністю й попрацювати над розвитком soft skills. Після цього можна розпочинати пошук роботи, і дуже скоро він може увінчатися успіхом.</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Стабільна робота сервісу оплат для українського лідера ринку переказів серед фінустанов, швидке оновлення і гнучкість. Такі цілі стояли перед командою розробників NovaPay на старті проєкту з переходу на власний інтернет-еквайринг. Його тестування і власне міграція припали на зиму 2021-2022 року, проте все спрацювало так, як треба. Як це вдалось ІТ-команді ]]></description>
        <link>https://proit.ua/vlasnii-intierniet-iekvairingh-iak-iogho-rozrobili-i-vprovadili-u-novapay-na-pochatku-viini/</link>
        <guid isPermaLink="false">64e33bee0343379615efdf26</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Марʼяна Фітковська ]]></dc:creator>
        <pubDate>ср, 23 серп 2023 13:00:27 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/08/--------4.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>Стабільна робота сервісу оплат для українського лідера ринку переказів серед фінустанов, швидке оновлення і гнучкість. Такі цілі стояли перед командою розробників NovaPay на старті проєкту з переходу на власний інтернет-еквайринг. Його тестування і власне міграція припали на зиму 2021-2022 року, проте все спрацювало так, як треба. Як це вдалось ІТ-команді NovaPay? </em></p><h2 id="%D1%82%D1%80%D0%BE%D1%85%D0%B8-%D0%BC%D0%B0%D1%82%D1%87%D0%B0%D1%81%D1%82%D0%B8%D0%BD%D0%B8-%D0%B9-%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D1%96%D1%81%D1%82%D0%BE%D1%80%D1%96%D1%97">Трохи матчастини й передісторії</h2><p>У NovaPay інтернет-еквайринг як технологія впроваджений для прийому оплати Нової пошти через мобільний застосунок, вебверсію NovaPay тощо (NovaPay – частина однойменної групи компаній). Також компанія надає клієнтам-мерчантам інтернет-еквайринг як сервіс для прийому платіжних карток у них на сайтах. NovaPay працює із 200 бізнес-клієнтами.</p><p>Раніше NovaPay працював у цій частині за допомогою банку-партнера. Проте через велику кількість залучених учасників процесу (окрім NovaPay, це процесинговий центр, власне банк-партнер, міжнародні платіжні системи) були певні тонкощі. У наших клієнтів могли виникати труднощі при додаванні карток до гаманців і деяких платіжних операціях. </p><p>З огляду на великий обсяг транзакцій – у пікові моменти NovaPay провадить до 2,5 мільйона транзакцій на добу, плани зростання і покращення клієнтського досвіду, ми вирішили перейти на власний інтернет-еквайринг. </p><h2 id="%D1%8F%D0%BA-%D1%86%D0%B5-%D0%B1%D1%83%D0%BB%D0%BE">Як це було</h2><p>Отже, восени 2021 року ми стали до роботи. Працювала команда із Дирекції з інновацій – три розробники й два продакт-оунери. Бо кількість людей, які працюють над проєктом, не завжди свідчить про масштаб задачі. Я керувала проєктом. </p><p>І для NovaPay, і для моєї команди це був перший подібний досвід, але якісь внутрішні складнощі через його брак нас не спіткали. Водночас були зовнішні нюанси, адже доводилося погоджувати багато питань з Visa, MasterCard, Нацбанком.,</p><p>Етапність підготовки до впровадження була традиційна. Почали власне з розробки, потім пройшли сертифікацію, протестували та запустили у «промислову експлуатацію». Але на етапі тестування, перед самим запуском, розпочалось повномасштабне вторгнення, і якийсь час ми не розуміли, як діяти далі, що робити, чи взагалі на часі цей проєкт. Проте за кілька тижнів ми всі оговтались, група компаній показала свою життєстійкість, і ми завершили інтеграцію.</p><p>Ми перейшли на новий інтернет-еквайринг так, що клієнт і не помітив міграції, збоїв і змін не було. Кількість неуспішних операцій знизилась, а швидкість обслуговування зросла. </p><h2 id="%D1%89%D0%BE-%D1%86%D0%B5-%D0%B4%D0%B0%D0%BB%D0%BE">Що це дало</h2><p>Ми в NovaPay не сповідуємо принцип змін заради змін, тому у проєкту були чіткі KPI, які, власне, і стали результатами проєкту:</p><ul><li>зменшення витрат, бо ми використовуємо власний продукт;</li><li>можливість управління змінами на своїй стороні – бути сучасними, адаптивними, швидко впроваджувати щось і не залежати від роботи сторонніх компаній, щоб покращувати технології й впроваджувати новації;</li><li>ще більша зручність сервісів для наших клієнтів;</li><li>надійність системи – для себе і для клієнтів;</li><li>безпека, щоб не дати шахраям жодного шансу.</li></ul><h2 id="%D1%87%D0%B8%D0%BC-%D1%86%D0%B5-%D0%BA%D1%80%D1%83%D1%82%D0%BE">Чим це круто</h2><p>Сервіс інтернет-еквайрингу надають як банки, так і фінустанови. Це затребуваний інструмент прийому онлайн-оплат. Зараз, зокрема, він дає змогу українцям за кордоном використовувати наш майданчик для оплат, і це дійсно важливо. </p><p>Для нас його реалізація несе в собі частину специфічної роботи через вимоги бізнесу. Наприклад, сплата за експрес-накладною – не те саме, що за звичайні товари та послуги. Саме тому цей проєкт для небанківської фінансової установи – цікавий кейс як для самої компанії, так і для команди розробників. </p><p>NovaPay отримала класну технічну перевагу і розширені можливості для бізнесу, ІТ-команда – гарний досвід, який не тільки про хард, але і про софт, і про менеджерські скіли, бо, як я вже писала, часто нам доводилося вирішувати низку питань з регулятором і партнерами. </p><p>Якщо говорити про бізнес-результати, то цьогоріч ми фіксуємо збільшення обігу на цьому сервісі у три рази. Нещодавні зміни регуляторного поля та ринкового ландшафту – набрання чинності законом про платіжні послуги, поява нових ліцензіатів – призвели до вибору клієнтами нових постачальників вказаної послуги. І дуже добре, що ми підготувались і підійшли до цього завчасно.</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Щодня обсяг корпоративних даних стрімко зростає. Всю інформацію потрібно певним чином збирати, структурувати й десь зберігати. Про це далі й поговоримо у статті. Ви дізнаєтесь, які властивості мають корпоративні дані та що врахувати при їх оцифруванні й зберіганні. Згадаємо тут і про можливості штучного інтелекту.


Сучасні компанії генерують більше даних, ]]></description>
        <link>https://proit.ua/upravlinnia-korporativnimi-danimi-iak-kieruvati-zhittievim-tsiklom-danikh-u-bizniesi/</link>
        <guid isPermaLink="false">64dbc0de3a7fd601b32dd7e9</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Євген Руденко ]]></dc:creator>
        <pubDate>пн, 21 серп 2023 13:00:40 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/08/person-working-html-computer.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Щодня обсяг корпоративних даних стрімко зростає. Всю інформацію потрібно певним чином збирати, структурувати й десь зберігати. Про це далі й поговоримо у статті. Ви дізнаєтесь, які властивості мають корпоративні дані та що врахувати при їх оцифруванні й зберіганні. Згадаємо тут і про можливості штучного інтелекту.</p><h2 id="%D1%81%D1%83%D1%87%D0%B0%D1%81%D0%BD%D1%96-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D1%96%D1%97-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D1%83%D1%8E%D1%82%D1%8C-%D0%B1%D1%96%D0%BB%D1%8C%D1%88%D0%B5-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85-%D0%B0%D0%BD%D1%96%D0%B6-%D0%BC%D0%BE%D0%B6%D1%83%D1%82%D1%8C-%D0%B5%D1%84%D0%B5%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE-%D0%BE%D0%B1%D1%80%D0%BE%D0%B1%D0%B8%D1%82%D0%B8">Сучасні компанії генерують більше даних, аніж можуть ефективно обробити</h2><p>Зазвичай близько 20% даних <a href="https://asana.com/resources/pareto-principle-80-20-rule">охоплюють</a> 80% суттєвих бізнес-процесів. Щоб не витрачати багато зусиль на спробу охопити всі доступні процеси, компанії мають визначати пріоритети в обробці даних.</p><p>І тут перший крок – обрати правильні дані та сконцентруватися саме на них.</p><h3 id="%D0%B4%D0%BB%D1%8F-%D1%86%D1%8C%D0%BE%D0%B3%D0%BE-%D1%96%D1%81%D0%BD%D1%83%D1%94-%D0%BA%D1%96%D0%BB%D1%8C%D0%BA%D0%B0-%D0%BF%D1%96%D0%B4%D1%85%D0%BE%D0%B4%D1%96%D0%B2"> Для цього існує кілька підходів:</h3><ul><li><strong>Залучити сусідні бізнес-процеси.</strong> Стосуються задач, які виконують кілька відділів або філіалів компанії. У такому випадку часто з’являються проблеми на кшталт дублювання інформації чи помилок у введенні даних. Слід звести до мінімуму ручну обробку даних, аби оптимізувати роботу команд.</li><li><strong>Звернути увагу на відділи, що співпрацюють. </strong>Коли за процесом в одній команді слідує процес в іншій, може утворитися довгий ланцюжок із передачі даних між відділами. Так зростає ймовірність помилок при обміні й обробці інформації.</li><li><strong>Взаємодіяти з партнерами. </strong>Кожна компанія (контрагент) має свої формати даних і правила роботи з ними. Тому при інтеграції продуктів різних бізнесів під час обміну або об’єднання даних перевірте відсутність дублів та узгодженість форматів.</li></ul><h2 id="%D1%86%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0-%D1%82%D1%80%D0%B0%D0%BD%D1%81%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D1%96%D1%8F-%D0%B1%D1%96%D0%B7%D0%BD%D0%B5%D1%81%D1%83-%D0%B2%D0%B8%D0%BA%D0%BB%D0%B8%D0%BA%D0%B8-%D1%82%D0%B0-%D0%BF%D1%96%D0%B4%D1%85%D0%BE%D0%B4%D0%B8">Цифрова трансформація бізнесу: виклики та підходи</h2><p>Лише 25% компаній <a href="https://connect.comptia.org/content/research/data-management-trends-survey">почуваються</a> задоволеними своїми процесами менеджменту даних та їх інфраструктурою. І цей показник зрозумілий. Адже бізнес усвідомлює, скільки можливостей для удосконалення дають сучасні технології. При цьому тільки 44% організацій мають IT-команду, яка може впроваджувати цю оптимізацію. Та все ж <strong>у світовій практиці закріпилися два дієвих рішення для оцифрування корпоративних даних:</strong></p><h3 id="%E2%80%A2-%D1%82%D1%80%D0%B0%D0%B4%D0%B8%D1%86%D1%96%D0%B9%D0%BD%D0%B8%D0%B9">• Традиційний</h3><p>Зазвичай починається з топ-менеджменту. Вони заявляють про потребу в оптимізації, яка перетворюється на завдання для керівництва середнього рівня. Ця ланка співробітників зі свого боку визначає тих, хто й буде реалізовувати ідею. Однак нижня ланка часто не розуміє важливості такої задачі. Це сповільнює зміни, а часом призводить до конфліктів.</p><h3 id="%E2%80%A2-%D1%96%D0%BD%D1%96%D1%86%D1%96%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%B8%D0%B9">• Ініціативний</h3><p>Це протилежна історія. Все починається з відгуку користувача на продукт. Далі працівник, який контактує з клієнтом, ініціює зміни у процесах відповідно до отриманого фідбеку. Спілкування з аудиторією дає змогу зрозуміти, в чому полягає користувальницький досвід, як сприймається продукт і як його покращити. Тож має сенс заохочувати співробітників до ініціативи, яка піднімається до топ-менеджменту. На цьому рівні ухвалять остаточне рішення і розподілять бюджет для оптимізації.</p><h2 id="%D0%B3%D1%80%D0%B0%D0%BC%D0%BE%D1%82%D0%BD%D0%B8%D0%B9-%D0%BC%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%BC%D0%B5%D0%BD%D1%82-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85-%D0%BC%D0%B0%D1%94-%D1%81%D0%B2%D0%BE%D1%97-%D1%83%D0%BC%D0%BE%D0%B2%D0%B8">Грамотний менеджмент даних має свої умови:</h2><h3 id="%E2%80%A2-%D0%B2%D0%B8%D0%B4%D0%B8%D0%BC%D1%96%D1%81%D1%82%D1%8C%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BD%D1%96%D1%81%D1%82%D1%8C">• Видимість/доступність</h3><p>Йдеться про швидкість і легкість пошуку даних. Найпростіше підвищити видимість можна за допомогою маркування. Мітки дають змогу легко фільтрувати пошук та обробляти масиви даних. А звідси – якісніша та наочна звітність. Можете навіть додати візуалізацію для показу результатів пошуку.</p><h3 id="%E2%80%A2-%D0%BD%D0%B0%D0%B4%D1%96%D0%B9%D0%BD%D1%96%D1%81%D1%82%D1%8C">• Надійність</h3><p>Ви маєте впевнитися у надійності джерела даних. Без цього неможливо управляти й обробляти дані, інтегрувати їх з іншими даними. Треба чітко розуміти, звідки надходять дані. Також слід переконатися, що дані є узгодженими у відповідному форматі.</p><h3 id="%E2%80%A2-%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D0%BA%D0%B0">• Безпека</h3><p>Це важливо для всіх бізнесів, а для деяких організацій, які працюють з особистими даними клієнтів, фінансовими даними й інформацією про здоров’я людей, безпека даних є чи не найголовнішим фактором. Тим паче норми зберігання інформації стають дедалі жорсткішими.</p><h3 id="%E2%80%A2-%D0%BC%D0%B0%D1%81%D1%88%D1%82%D0%B0%D0%B1%D0%BE%D0%B2%D0%B0%D0%BD%D1%96%D1%81%D1%82%D1%8C">• Масштабованість</h3><p>Дає змогу автоматизувати повторювані процеси. Так ви позбавляєтесь від дублювання даних при обробці інформації різними відділами й співробітниками. У результаті покращується узгодженість даних і знижується кількість помилок.</p><h2 id="%D1%8F%D0%BA%D1%96%D1%81%D1%82%D1%8C-%D0%BA%D0%BE%D1%80%D0%BF%D0%BE%D1%80%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%B8%D1%85-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85">Якість корпоративних даних</h2><p>Часто про якість даних говорять із точки зору упорядкованості. Але у випадку з корпоративними даними йдеться про їхню цінність. Аби повністю відповідати цьому показнику, <strong>дані повинні мати такі властивості:</strong></p><ul><li><strong>Релевантність.</strong> Час від часу проговорюйте з клієнтом: чи дійсно ті чи інші дані потрібні для розвитку його бізнесу?</li><li><strong>Повнота.</strong> Компанія повинна збирати достатньо даних для досягнення бізнес-цілей і розвитку бізнесу. Не врахувавши важливі дані, ви можете припуститися помилок в аналізі та подальших діях.</li><li><strong>Структура. </strong>Дані мають бути структурованими для обробки. Наприклад, документи слід зберігати не просто як PDF-файли, а й у вигляді форм, доступних для аналізу. Інакше робота з ними ускладниться.</li><li><strong>Точність.</strong> Цей показник демонструє, наскільки дані надійні та повні для досягнення бізнес-цілей.</li></ul><h2 id="%D0%B7%D0%B1%D0%B5%D1%80%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85-%D1%81%D1%82%D0%B2%D0%BE%D1%80%D1%8E%D0%B2%D0%B0%D1%82%D0%B8-%D0%B2%D0%BB%D0%B0%D1%81%D0%BD%D0%B5-%D1%80%D1%96%D1%88%D0%B5%D0%BD%D0%BD%D1%8F-%D1%87%D0%B8-%D0%BA%D1%83%D0%BF%D1%83%D0%B2%D0%B0%D1%82%D0%B8-%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%B5">Збереження даних. Створювати власне рішення чи купувати готове?</h2><p>Усі бізнеси існують на різних етапах розвитку і переслідують різні цілі. На ухвалення рішення можуть впливати бюджет, наявність фахівців, безпека тощо. І кожен фактор має свій рівень впливу. Наприклад, для бізнесу, що працює давно, час на розробку власного рішення не є критичним. Адже вдосконалення стосується одного з продуктів чи процесів, що піде на користь користувальницькому досвіду. </p><p>Зовсім інша ситуація у стартапу. Йому треба швидко вийти на ринок. Запізнення на кілька тижнів може призвести до збитків. Тому ще на старті краще інтегрувати готовий інструмент.</p><h2 id="%D1%83-%D0%B1%D1%83%D0%B4%D1%8C-%D1%8F%D0%BA%D0%BE%D0%BC%D1%83-%D1%80%D0%B0%D0%B7%D1%96-%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D0%BA%D0%B0-%D0%B2%D0%BB%D0%B0%D1%81%D0%BD%D0%BE%D0%B3%D0%BE-%D1%80%D1%96%D1%88%D0%B5%D0%BD%D0%BD%D1%8F-%D0%BF%D0%BE%D1%87%D0%B8%D0%BD%D0%B0%D1%94%D1%82%D1%8C%D1%81%D1%8F-%D0%B7-%D0%B2%D0%B8%D0%B1%D0%BE%D1%80%D1%83-%D1%82%D0%B8%D0%BF%D1%83-%D1%81%D1%85%D0%BE%D0%B2%D0%B8%D1%89%D0%B0">У будь-якому разі розробка власного рішення починається з вибору типу сховища:</h2><ul><li><strong>On-premise.</strong> Це базовий тип сховища, яке повністю належить бізнесу. Всі дані зберігаються й обробляються на локальних потужностях, розташованих у приміщеннях компанії, і зазвичай не виходять за її межі. Задля посиленої безпеки таке сховище може бути не підключене до загального інтернету. Обмін даними відбувається виключно в локальній мережі.</li><li><strong>Cloud. </strong>Хмарне сховище надає вибір між Private Cloud і Public Cloud. Приватна хмара схожа з On-premise, але віддалене апаратне забезпечення розташоване у сторонньому дата-центрі. Ви ні з ким не ділите ані сховище даних, ані серверні потужності. На публічній хмарі сервер загальнодоступний. Розподіл фізичних пристроїв і ресурсів відбувається за допомогою програмних засобів (повне обмеження доступу чи дозволів окремим користувачам).</li></ul><h2 id="%D0%BF%D1%80%D0%B8-%D0%B2%D0%B8%D0%B1%D0%BE%D1%80%D1%96-%D1%81%D1%85%D0%BE%D0%B2%D0%B8%D1%89%D0%B0-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85-%D0%B7%D0%B2%D0%B5%D1%80%D0%BD%D1%96%D1%82%D1%8C-%D1%83%D0%B2%D0%B0%D0%B3%D1%83-%D0%BD%D0%B0-%D0%B9%D0%BE%D0%B3%D0%BE-%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%96-%D1%85%D0%B0%D1%80%D0%B0%D0%BA%D1%82%D0%B5%D1%80%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B8">При виборі сховища даних зверніть увагу на його основні характеристики:</h2><h3 id="%E2%80%A2-%D1%80%D0%BE%D0%B7%D0%B3%D0%BE%D1%80%D1%82%D0%B0%D0%BD%D0%BD%D1%8F">• Розгортання</h3><p>При використанні локальної машини ви маєте самостійно виконувати деплой проєкту. Лише ваша IT-команда відповідає за забезпечення умов безперервної інтеграції. З хмарним середовищем частину цих завдань можна перекласти на постачальника послуги. В AWS, Azure та Google Cloud Platform є багато готових рішень, які спростять розгортання у хмарі згідно з процесами CI/CD.</p><h3 id="%E2%80%A2-%D0%B2%D0%B0%D1%80%D1%82%D1%96%D1%81%D1%82%D1%8C">• Вартість</h3><p>Локальні сервери тягнуть за собою значні початкові витрати. Стартувати з хмарним сховищем доступніше. У подальшій перспективі наявність власних потужностей може виявитися вигіднішим рішенням. Однак усе залежить від особливостей конкретного проєкту.</p><h3 id="%E2%80%A2-%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8C">• Контроль</h3><p>У хмарі дані зберігаються в іншому місці, тому у вас немає фізичного доступу до них. Натомість повний контроль надає локальне сховище.</p><h3 id="%E2%80%A2-%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D0%BA%D0%B0-1">• Безпека</h3><p>Рівень захисту хмарних сховищ нижче, ніж у локальних (особливо тих, що не підключені до інтернету). Проте сьогодні основні ризики вирішені, і робота хмар відповідає стандартам. Сховища провідних провайдерів використовуються в таких чутливих доменах, як охорона здоров’я, страхування і фінанси. Наприклад, сховище Amazon має рівень безпеки 3+ при максимально можливих 4. Тому це рішення можна назвати захищеним фактично так само, як і локальне.</p><p>Поряд із локальним і хмарним сховищами існує компроміс – гібридний формат збереження даних. У такому випадку конфіденційні дані зберігаються локально, а всі інші – відправляються до хмари. Так ви отримуєте максимум безпеки та контролю там, де це критично важливо, і відповідну до сучасних вимог гнучкість управління даними. Вартість рішення також стає оптимізованою.</p><h2 id="%D0%BF%D1%80%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4-%D0%BF%D0%BE%D0%B1%D1%83%D0%B4%D0%BE%D0%B2%D0%B8-bi-%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D0%B8-%D0%B4%D0%BB%D1%8F-%D0%B4%D0%B0%D1%82%D0%B0-%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B7%D1%83-%D0%BD%D0%B0-aws">Приклад побудови BI-платформи для дата-аналізу на AWS</h2><p>Один із наших замовників, мережа супермаркетів, хотів покращити маркетингову рентабельність інвестицій та підвищити видимість даних. Для цього необхідно було створити BI-платформу для їх аналізу, але ресурси були обмеженими. </p><p>Наша команда запропонувала компроміс. Ми не стали використовувати готові рішення з певними обмеженнями, а створили свій інструмент у хмарній інфраструктурі. За основу взяли хмарні сервіси Amazon: сховище S3, механізми обробки даних, лямбда-тригери. Також використовували AWS Glue для обробки даних і Redshift для їх зберігання. У результаті нам вдалося досягти високої гнучкості у реалізації кількох бізнес-потреб і ще й тримати низькі витрати.<br></p><figure class="kg-card kg-image-card"><img src="https://lh4.googleusercontent.com/HuSRYnELKW2DF1T3Kxc_ECVb5TaZd57J52ihWa1ofPtowTg9TXse-iUqhX5VwxrBQhChqawsUQvc5Z_qmRD5HcwgGlcFQDtVDenCE5gVhjRNGoCKnVJcEPdc3K2m8k6BEBxhvq497qpTz90Id_DOBts" class="kg-image" alt loading="lazy" width="602" height="205"></figure><p>Утворився data pipeline – потік даних. Спочатку магазин із власних джерел отримує дані: про пропозиції, замовлення, продажі, клієнтів тощо. Ці дані обробляються в кілька кроків за схемою, яку ви бачите на ілюстрації вище. </p><p>Потім дані виводяться на інформаційну BI-панель:</p><figure class="kg-card kg-image-card"><img src="https://lh4.googleusercontent.com/Fu3yts_w6tjJt0Q1Ajjwy-gHyjsjRnCeEd5eXIfopgRsxKplzASFrQwJJkwX_tkESqGOqEBNXD5RT1T683f6P19_5T0EnGPOwxlt7UVsrHRiKVS4vWaHUMQIXqg0V-fx4LJs4NfP6nzyGpqzfr4WuWU" class="kg-image" alt loading="lazy" width="602" height="201"></figure><p>Так ми виявили демографічний розподіл клієнтів, що спростило розуміння сегментації. А це вже допомагає при створенні персоналізованих маркетингових стратегій, відстежуванні результатів та оптимізації нових рекламних кампаній.</p><h2 id="%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D0%BA%D0%B0-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85">Безпека даних</h2><p>Якщо глибше досліджувати хмарних провайдерів, то можна побачити, що чимало базових стандартів безпеки вони вже передбачили у своїй інфраструктурі. Це брандмауери, системи шифрування даних, протоколи HTTPS, антивірусне ПЗ, контроль доступу користувачів до своїх даних тощо. </p><h2 id="%D0%B2%D0%B0%D0%B6%D0%BB%D0%B8%D0%B2%D0%BE-%D1%81%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B8-%D1%96-%D0%BF%D1%80%D0%BE-%D0%B7%D0%B0%D1%85%D0%B8%D1%81%D1%82-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85-%D1%83-%D1%80%D0%BE%D0%B1%D0%BE%D1%87%D0%BE%D0%BC%D1%83-%D1%81%D0%B5%D1%80%D0%B5%D0%B4%D0%BE%D0%B2%D0%B8%D1%89%D1%96">Важливо сказати і про захист даних у робочому середовищі:</h2><ul><li><strong>Фізичний захист.</strong> Передусім це обмеження доступу для співробітників компанії та будь-яких інших осіб до сховищ даних і машин обробки.</li><li><strong>Спеціальний софт.</strong> Важливим є захист програмного забезпечення від шкідливих програм, який буде діяти ще до фаєрволу й інших систем.</li><li><strong>Обізнаність співробітників.</strong> Наскільки б розвиненою у компанії не була система безпеки, зашкодити її захисту може людина. Через брак знань чи відсутність правильних звичок у працівників завжди може статися витік даних.</li></ul><p>Окреме питання – комунікаційна гігієна. Всі знають про фішингові атаки через електронні листи з покликаннями на шахрайські сайти. Після переходу за лінком зловмисник отримує доступ до даних користувача на його комп’ютері. Сьогодні такі атаки відбуваються і в месенджерах. А в корпоративному спілкуванні чати майже витіснили інші формати спілкування й обміну даними. Тож норми інформаційної безпеки варто поширювати на всі платформи, де можуть бути конфіденційні дані.</p><h2 id="%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3%D0%B8-%D1%88%D1%82%D1%83%D1%87%D0%BD%D0%BE%D0%B3%D0%BE-%D1%96%D0%BD%D1%82%D0%B5%D0%BB%D0%B5%D0%BA%D1%82%D1%83-%D0%B2-%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B7%D1%96-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85">Переваги штучного інтелекту в аналізі даних</h2><p>Сьогодні без цього складно досягти успіху на фоні конкурентів. <strong>Зазвичай тут використовують трирівневий підхід:</strong></p><ul><li><strong>Рівень даних.</strong> Базовий рівень, де відбувається збір даних та їх підготовка для подальшого аналізу.</li><li><strong>Рівень аналітики та розробки. </strong>На цьому етапі співробітник проводить аналіз даних і створює візуалізацію. Це може бути той, хто ініціює зміни за ініціативною моделлю.</li><li><strong>Рівень ухвалення рішення. </strong>Тут відбувається модифікація й оптимізація продукту. Чим більше даних, тим глибшою є аналітика й тим серйозніше можуть бути зміни.</li></ul><p>Крім описової аналітики, коли ви чітко бачите всі дані, ще є прогнозування. Завдяки розширеній обробці даних і машинному навчанню можна виділити очікувані результати. Наприклад, яке обслуговування може знадобитися чи як зміняться продажі за пів року. Так ви отримуєте нові дані, важливі для ухвалення правильних бізнес-рішень.</p><h2 id="%D0%BF%D1%80%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4-%D0%BF%D0%BE%D0%BA%D1%80%D0%B0%D1%89%D0%B5%D0%BD%D0%BD%D1%8F-rpa-%D0%B7%D0%B0-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BC%D0%BE%D0%B3%D0%BE%D1%8E-%D1%96%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%96%D0%B2-%D1%88%D1%96">Приклад покращення RPA за допомогою інструментів ШІ</h2><p>Наш замовник, один із лідерів на ринку Robotic Process Automation, зіткнувся з проблемами інфраструктури даних. Клієнт шукав спосіб оптимізувати систему так, щоб підвищити конкурентоспроможність свого продукту. </p><p>Наша команда допомогла спланувати й реалізувати перехід до хмари та запровадити автоматизацію пайплайнів CI/CD. Також ми додали інноваційні функції до інструментів RPA, зокрема автоматизовану платформу для смарт-аналітики з дашбордами, де користувачі можуть фільтрувати дані за власною потребою. Наприклад, перетягувати таблицю з діаграмами й створювати певне середовище для аналізу даних.</p><p>Крім того, ми створили інтелектуальну систему обробки документів з оптичним розпізнаванням символів. Це дало змогу обробляти й структурувати ті корпоративні документи, які раніше були неструктурованими. Наші розробники запровадили механізм комп’ютерного бачення, аби фіксувати User Flow. У результаті система навчилась замінювати ці флоу автоматизованими сценаріями. З частини працівників це зняло тягар ручної роботи, і вони переорієнтувалися на більш креативні задачі.</p><p>Як бачите, грамотна робота з даними дає змогу значно підвищити продуктивність бізнесу й ефективність самих працівників. Головне – правильно розставити пріоритети та мати підтримку кваліфікованих фахівців. Тоді побудова комплексної системи управління даними принесе компанії відчутну користь.</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Цей допис розрахований на юних(та не дуже:) падаванів на шляху до становлення джедаєм в розробці web-додатків за допомогою Django.



Поговоримо про те, коли, рано чи пізно, ви зіткнетеся з питанням - йой, а як же його задеплоїти на сервері, в хмарі, локально, на компі бабусі (потрібне підкреслити)? Що потрібно ]]></description>
        <link>https://proit.ua/django-docker-biezbolisnii-dieploi-proiektu-bud-die/</link>
        <guid isPermaLink="false">64d5374acdf9d11cd8afaae3</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Дмитро Лузановський ]]></dc:creator>
        <pubDate>пт, 18 серп 2023 11:00:55 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/08/html-system-websites-concept.jpg" medium="image"/>
        <content:encoded><![CDATA[ <!--kg-card-begin: markdown--><blockquote>
<p>Цей допис розрахований на юних(та не дуже:) падаванів на шляху до становлення джедаєм в розробці web-додатків за допомогою Django.</p>
</blockquote>
<p>Поговоримо про те, коли, рано чи пізно, ви зіткнетеся з питанням - йой, а як же його задеплоїти на сервері, в хмарі, локально, на компі бабусі (потрібне підкреслити)? Що потрібно зробити, щоб було достатньо однієі команди для безболісного деплою?</p>
<h2 id="%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE-docker">Правильно! Docker!</h2>
<p><code>Docker</code> - це магія для розробників, яка допомагає запускати наші програми в спеціальних контейнерах. Контейнери допомагають зробити наш додаток &quot;переносимим&quot;, а це означає, що ми можемо запускати його на будь-якому комп'ютері або хмарному сервері, і не хвилюватись, чи все правильно налаштовано.</p>
<p>Мабуть, ви чули про Docker, але могли стикнутись з невдалими спробами його використання. Не хвилюйтесь, я сам декілька разів попадав у такі ж халепи. Тому я зібрав свій досвід у цій статті, щоб поділитись з вами найкращим рішенням, яке спростить ваш процес деплою.</p>
<p>Ми покроково розглянемо, як поєднати силу Django та Docker для безболісного деплою вашого проекту. Не треба витрачати час на нудні пошуки гайдів - давайте разом розберемося, як зробити ваше деплоїнг життя простішим і веселішим!</p>
<p>Щоб почати нашу пригоду з Docker, <a href="https://docs.docker.com/engine/install/">зверніться до офіційної документації Docker</a> для його встановлення. Розглядати це тут ми не будемо.</p>
<p>Отже,</p>
<h2 id="%D0%BF%D1%96%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BA%D0%B0-django-%D0%B4%D0%BE-%D0%B4%D0%B5%D0%BF%D0%BB%D0%BE%D1%8E">Підготовка Django до деплою</h2>
<h3 id="virtual-environment-%D0%BD%D0%B5-pyvenv-%D1%94%D0%B4%D0%B8%D0%BD%D0%B8%D0%BC">Virtual environment (не pyvenv єдиним!)</h3>
<p>В своїй повсякденній практиці я використовую <code>Poetry</code> - прекрасна альтернатива <code>pip</code>.</p>
<h3 id="%D1%89%D0%BE-%D0%B6-%D1%86%D0%B5-%D0%B7%D0%B0-%D0%B7%D0%B2%D1%96%D1%80-%D1%82%D0%B0%D0%BA%D0%B8%D0%B9-%D1%82%D0%B0-%D1%8F%D0%BA-%D0%B2%D1%96%D0%BD-%D0%BF%D1%80%D0%B0%D1%86%D1%8E%D1%94">Що ж це за звір такий та як він працює?</h3>
<p><code>Poetry</code> - це потужний інструмент для управління залежностями та віртуальним середовищем у вашому проекті. Він дозволяє створювати ізольовані середовища для вашого додатку, де можна встановлювати і оновлювати залежності без впливу на інші проекти або систему в цілому.</p>
<p>Чому <code>Poetry</code>, а не звичайний <code>pyvenv</code> або <code>pip</code>? Він має багато переваг, включаючи зручний синтаксис для встановлення пакетів, автоматичне створення та оновлення файлу <code>pyproject.toml</code>, а також підтримку <code>requirements.txt</code>. <code>Poetry</code> робить управління залежностями більш зрозумілим та зручним.</p>
<p>З Poetry все надзвичайно просто. По-перше, встановіть Poetry у вашій системі (<a href="https://python-poetry.org/docs/">детальні інструкції можна знайти на офіційному сайті Poetry</a>). Потім, у папці вашого Django проекту, виконайте команду poetry init, яка допоможе створити новий проект або використати існуючий. Виберіть свої налаштування та введіть необхідну інформацію про ваш проект.</p>
<h2 id="%D0%B4%D0%BE%D0%B4%D0%B0%D0%B9%D1%82%D0%B5-%D0%BD%D0%B5%D0%BE%D0%B1%D1%85%D1%96%D0%B4%D0%BD%D1%96-%D0%B7%D0%B0%D0%BB%D0%B5%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%96">Додайте необхідні залежності</h2>
<p>Після того, як ми ознайомилися з Poetry та його простотою управління залежностями, давайте перейдемо до кількох додаткових кроків, щоб наш Django проект був готовий до деплою.</p>
<p>Для запуску проекту та деплою ми будемо використовувати gunicorn - потужний WSGI-сервер (Web Server Gateway Interface). Це забезпечить швидкий та надійний запуск нашого Django додатку.</p>
<pre><code class="language-bash">poetry add gunicorn
</code></pre>
<p>Тепер, для того щоб наш Django проект міг працювати з базою даних Postgresql, потрібно встановити залежність psycopg2:</p>
<pre><code class="language-bash">poetry add psycopg2-binary
</code></pre>
<p>Після виконання цих команд в директорії вашого проекту з'являться два файли:</p>
<ul>
<li>
<p><code>pyproject.toml</code> це основний файл конфігурації вашого проекту, де містяться всі залежності та налаштування.</p>
</li>
<li>
<p><code>poetry.lock</code> це файл з замкнутими версіями залежностей, які гарантують стабільність у вашому проекті. Ви можете ігнорувати цей файл у системі контролю версій, оскільки Poetry буде автоматично виправляти його при встановленні залежностей.</p>
</li>
</ul>
<p>Завдяки Poetry, ми зберегли наші залежності у віртуальному середовищі, що робить наш Django проект більш незалежним та структурованим.</p>
<h3 id="%D0%BE%D1%82%D0%B6%D0%B5-virtual-environment-%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%B8%D0%B9-%D0%B4%D0%BE-%D0%B4%D0%B5%D0%BF%D0%BB%D0%BE%D1%8E">Отже, virtual environment готовий до деплою.</h3>
<h2 id="%D1%81%D0%BA%D0%BE%D0%BD%D1%84%D1%96%D0%B3%D1%83%D1%80%D1%83%D0%B9%D1%82%D0%B5-settingspy-%D1%82%D0%B0-urlspy-%D0%BF%D1%96%D0%B4-%D0%BF%D1%80%D0%BE%D0%B4%D0%B0%D0%BA%D1%88%D0%BD-%D1%82%D0%B0-local-development">Сконфігуруйте <code>settings.py</code> та <code>urls.py</code> під &quot;продакшн&quot; та &quot;local development&quot;</h2>
<p>Перш за все створіть <code>.env</code> файл для визначення змінних оточнення (кредли БД, хости і так далі)</p>
<pre><code class="language-bash">#.env
DB_PORT=5432
DB_HOST=projectname_postgres # ім'я хоcту в мережі Docker
POSTGRES_DB=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
</code></pre>
<p>Далі треба створити файл l<code>ocal_settings.py</code> та покласти його в теку ядра проекту (там, де <code>settings.py</code>)</p>
<pre><code class="language-python"># local_settings.py
from .settings import * 
# Додаємо '127.0.0.1' до ALLOWED_HOSTS, щоб Django міг обслуговувати запити з localhost
ALLOWED_HOSTS = ['127.0.0.1', 'localhost']
# Використовуємо SQLite базу даних для локального розробки
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}
# Додаємо дебаг-режим для локальної розробки
DEBUG = True
</code></pre>
<p>Редагуємо основний файл налаштувань <code>settings.py</code>:</p>
<pre><code class="language-python"># settings.py
import os
...
# Вказуємо реальні хости доменів, які Django може обслуговувати на продакшн сервері
ALLOWED_HOSTS = ['example.com', 'www.example.com']

# Використовуємо PostgreSQL базу даних для продакшн сервера
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': os.environ.get('POSTGRES_DB'),
        'USER': os.environ.get('POSTGRES_USER'),
        'PASSWORD': os.environ.get('POSTGRES_PASSWORD'),
        'HOST': os.environ.get('DB_HOST'),  # або адреса вашого PostgreSQL сервера
        'PORT': os.environ.get('DB_POST'),  # порт (залиште порожнім, якщо використовуєте дефолтний порт)
    }
}

# Вимикаємо дебаг-режим для продакшн сервера
DEBUG = False
# Описуємо налаштування для статики та медіа
STATIC_ROOT = BASE_DIR / 'static'
STATIC_URL = '/static/'
MEDIA_ROOT = BASE_DIR / 'media'
MEDIA_URL = '/media/'
</code></pre>
<p>Також потрібно доповнити корний файл <code>urls.py</code> для фетчінгу статики та медіа якщо дебаг режим ввимкнений:</p>
<pre><code class="language-python"># urls.py
from django.contrib.staticfiles.views import serve
from django.urls import path, include
...

static_and_media_urls = [
    path('static/&lt;path:path&gt;', serve, {'document_root': settings.STATIC_ROOT}),
    path('media/&lt;path:path&gt;', serve, {'document_root': settings.MEDIA_ROOT}),
]
urlpatterns = [...]
urlpatterns + static_and_media_urls
</code></pre>
<h3 id="%D0%B2%D1%81%D0%B5-%D0%B2%D0%B0%D1%88-django-%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82-%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%B8%D0%B9-%D0%B4%D0%BE-%D0%B4%D0%B5%D0%BF%D0%BB%D0%BE%D1%8E">Все! Ваш Django-проект готовий до деплою!</h3>
<h2 id="%D0%B3%D0%BE%D1%82%D1%83%D1%94%D0%BC%D0%BE-docker">Готуємо Docker</h2>
<p>Тепер, коли ми підготували наш Django проект та налаштували віртуальне середовище за допомогою Poetry, настав час перейти до Docker. Ця чарівна технологія дозволить нам упакувати наш додаток та всі його залежності у контейнери, що забезпечить легке та безпечне деплою на будь-якому сервері або хмарній платформі.</p>
<p>Створимо дві директорії в корневій директорії проекту:</p>
<pre><code class="language-bash">/backend
/nginx
</code></pre>
<p>В директорії backend створюємо два файли: <code>DockerFile</code> та <code>docker-entrypoint.sh</code></p>
<p><strong>DockerFile:</strong></p>
<pre><code class="language-dockerfile">FROM python:3.10-buster # обираємо версію Python на якій буде працювати проект

# описуємо вірт.оточення:
ENV PYTHONBUFFERED=1 \
    POETRY_VERSION=1.4.2 \
    POETRY_VIRTUALENVS_CREATE=&quot;false&quot;

RUN pip install &quot;poetry==$POETRY_VERISON&quot; # встановлюємо Poetry

# Вказуємо робочу теку:
WORKDIR /app

# копіюємо файли залежностей та баш-скрипт в корінь контейнера:
COPY pyproject.toml poetry.lock docker-entrypoint.sh ./

# встановлюємо залежності
RUN poetry install --no-interaction --no-ansi --no-dev

# копіюємо проект в робочу теку:
COPY project /app
# вказуємо порт
EXPOSE 8000
# даємо права на виконання ентріпоінту
RUN chmod +x docker-entrypoint.sh
ENTRYPOINT [&quot;./docker-entrypoint.sh&quot;]
</code></pre>
<p><strong>docker-entrypoint</strong></p>
<pre><code class="language-bash">#!/bin/sh
set -e
until cd /app
do
    echo &quot;Wait for server volume...&quot;
done

# робимо міграції перед запуском wsgi сервера
until python manage.py migrate
do
    echo &quot;Waiting for postgres ready...&quot;
done

# збираємо статику
python manage.py collectstatic

# та запускаємо wsgi сервер за допомогою gunicorn
gunicorn project.wsgi:application --bind 8000 --workers 4 --threads 4 # project - це ім'я вашого проекту
</code></pre>
<h3 id="django-%D0%BC%D0%B8-%D0%B2%D0%B6%D0%B5-%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BE%D1%87%D0%BD%D0%BE-%D0%BF%D1%96%D0%B4%D0%B3%D0%BE%D1%82%D1%83%D0%B2%D0%B0%D0%BB%D0%B8-%D0%B4%D0%BE-%D0%B4%D0%B5%D0%BF%D0%BB%D0%BE%D1%8E-%D1%82%D0%BE%D0%BC%D1%83-%D1%82%D0%B5%D0%BF%D0%B5%D1%80-%D0%BF%D0%B5%D1%80%D0%B5%D0%B9%D0%B4%D0%B5%D0%BC%D0%BE-%D0%B4%D0%BE-%D0%BA%D0%BE%D0%BD%D1%84%D1%96%D0%B3%D1%83%D1%80%D0%B0%D1%86%D1%96%D1%97-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B0">Django ми вже остаточно підготували до деплою, тому тепер перейдемо до конфігурації контейнера</h3>
<h2 id="nginx">NGINX</h2>
<p>В теці nginx створюємо: <strong>DockerFile</strong></p>
<pre><code class="language-dockerfile">FROM nginx:stable-alpine
CMD [&quot;nginx&quot;, &quot;-g&quot;, &quot;daemon off;&quot;]
# копіюємо файли ssl сертифікатів, попередньо замовивши-створивши їх для свого домену
COPY nginx/ca.crt /etc/nginx/ssl/ca.crt
COPY nginx/your-domain.com.crt /etc/nginx/ssl/your-domain.com.crt
COPY nginx/your-domain.com.key /etc/nginx/ssl/your-domain.com.key
</code></pre>
<p><strong>conf.d</strong></p>
<blockquote>
<p>Файл конфігурації nginx</p>
</blockquote>
<pre><code class="language-nginx">server {
    listen 80;
    server_name your-domain.com www.your-domain.com;
    rewrite ^ https://$server_name$request_uri? permanent;
}

server {
    listen 443 ssl;
    server_name your-domain.com www.your-domain.com;
    server_tokens off;
    ssl_certificate /etc/nginx/ssl/your-domain.com.crt;
    ssl_certificate_key /etc/nginx/ssl/your-domain.com.key;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    keepalive_timeout 70;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_stapling on;
    ssl_trusted_certificate /etc/nginx/ssl/ca.crt;
    access_log /var/log/nginx/your-domain.com.access.log;
    error_log /var/log/nginx/your-domain.com.su.error.log;

    location /admin {
        try_files $uri @proxy_api;
    }

    location @proxy_api {
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header X-Url-Scheme $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_pass   http://project_django_1:8000;
    }

    location /static { alias /app/static; }

    location /media { alias /app/media; }

    location / {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection &quot;upgrade&quot;;
        proxy_pass http://project_django_1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Host $host;
    }
}
</code></pre>
<p>Фух, так?...:)</p>
<p><strong>Вже майже все!</strong></p>
<p>Тепер нам залишилося сворити найважливіший файл - <strong>docker-compose.yaml</strong></p>
<h2 id="%D1%89%D0%BE-%D0%B6-%D1%86%D0%B5-%D0%B7%D0%B0-%D1%84%D0%B0%D0%B9%D0%BB-%D1%82%D0%B0%D0%BA%D0%B8%D0%B9-%D1%96-%D0%BD%D0%B0%D1%89%D0%BE-%D0%B2%D1%96%D0%BD-%D0%BF%D0%BE%D1%82%D1%80%D1%96%D0%B1%D0%B5%D0%BD">Що ж це за файл такий і нащо він потрібен?</h2>
<p><code>docker-compose.yaml</code> - це файл конфігурації для Docker Compose, інструмента, що дозволяє вам описувати та запускати багатоконтейнерні додатки з легкістю. У цьому файлі ви можете визначити усі контейнери, що складають ваш додаток, а також налаштування для кожного контейнера. Це дозволяє вам встановити всі контейнери за одну команду та легко керувати їх взаємодією.</p>
<p>Чому він потрібен?</p>
<p><code>docker-compose.yaml</code> забезпечує простий та стандартизований спосіб описувати ваш додаток та його середовище. Завдяки цьому файлу, інші розробники можуть легко розгортати ваш додаток на своїх комп'ютерах або серверах без необхідності докладного дослідження і налаштування.</p>
<p>Також <code>docker-compose.yaml</code> дозволяє зберігати всі налаштування проекту в одному місці, що спрощує та зберігає наш процес деплою організованим та структурованим.</p>
<p>Створення docker-compose.yaml</p>
<p>Давайте створимо <code>docker-compose.yaml</code> для нашого Django проекту. Відкрийте текстовий редактор та створіть новий файл з назвою <code>docker-compose.yaml</code> у кореневій папці вашого проекту. Додайте такий зміст:</p>
<pre><code class="language-yaml">version: '3'

services:
  postgres:
    restart: unless-stopped
    image: postgres:13.1-alpine
    env_file:
      - ./.env
    volumes:
      - postgres_data:/var/lib/postgresql/data/
    networks:
      - project_network

  django:
    restart: unless-stopped
    build:
      context: .
      dockerfile: Dockerfile
    env_file:
      - ./.env
    volumes:
      - static_volume:/app/static
      - media_volume:/app/media
    networks:
      - project_network
    depends_on:
      - postgres

  nginx:
    restart: unless-stopped
    build:
      context: .
      dockerfile: ./nginx/DockerFile
    ports:
      - &quot;80:80&quot;
      - &quot;443:443&quot;
    volumes:
      - ./nginx/conf.d:/etc/nginx/conf.d/default.conf
      - static_volume:/app/static
      - media_volume:/app/media
    networks:
      - project_network
    depends_on:
      - django

volumes:
  static_volume:
  media_volume:
  postgres_data:

networks:
  project_network:
driver: bridge
</code></pre>
<h2 id="%D0%BE%D0%BF%D0%B8%D1%81-%D1%81%D0%B5%D1%80%D0%B2%D1%96%D1%81%D1%96%D0%B2">Опис сервісів</h2>
<h3 id="%D0%BE%D0%BF%D0%B8%D1%81-%D0%BA%D0%BE%D0%B6%D0%BD%D0%BE%D0%B3%D0%BE-%D1%81%D0%B5%D1%80%D0%B2%D1%96%D1%81%D1%83">Опис кожного сервісу:</h3>
<p><code>postgres</code>: Цей сервіс використовує образ PostgreSQL версії 13.1, з базовим образом Alpine Linux. Він має зазначені параметри <code>restart: unless-stopped</code> для автоматичного перезапуску сервісу, якщо він припинить роботу (крім явного зупинення). <code>env_file</code> вказує на файл .env, де містяться змінні оточення для контейнера. Використовується том <code>postgres_data</code>, щоб зберігати дані PostgreSQL між рестартами контейнера. <code>django</code>: Цей сервіс збирається з використанням Dockerfile, що знаходиться в поточній директорії (<code>context: .</code>) і має назву <code>Dockerfile</code>. Також використовує файл <code>.env</code> для змінних оточення. Використовує томи <code>static_volume і media_volume</code> для зберігання статичних та медіафайлів між рестартами контейнера. Залежить від сервісу <code>postgres</code>, щоб мати доступ до бази даних. <code>nginx</code>: Цей сервіс будується з використанням <code>Dockerfile</code>, що знаходиться в папці <code>./nginx</code>. Він перенаправляє порти <strong>80</strong> та <strong>443</strong> з контейнера на відповідні порти на локальній машині. Монтує файли конфігурації Nginx з локальної папки .<code>/nginx/prod/conf.d</code>. Використовує томи <code>static_volume</code> і <code>media_volume</code> для доступу до статичних і медіафайлів. Залежить від сервісу <code>django</code>, щоб мати доступ до вашого Django додатку через <code>Gunicorn</code>.</p>
<p>Також, у файлі є визначені томи (<code>volumes</code>) і мережа (<code>networks</code>) для спільного використання даних та мережі між контейнерами.</p>
<h2 id="%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA-%D0%B7%D0%B0-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BC%D0%BE%D0%B3%D0%BE%D1%8E-docker-compose">Запуск за допомогою Docker Compose</h2>
<p>Для запуску проекту за допомогою Docker Compose відкрийте командний рядок у кореневій папці вашого проекту та виконайте таку команду:</p>
<pre><code class="language-bash">docker-compose up -d --buid
</code></pre>
<p>Тепер ваш Django додаток та база даних PostgreSQL будуть запущені, і ваш проект буде доступний за адресою <a href="https://your-domain.com">https://your-domain.com</a>.</p>
<h2 id="%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BE">Готово!</h2>
<p>Тепер у нас є повністю підготовлений Django проект, готовий до деплою з використанням Docker та Docker Compose. Ви можете деплоїти його на будь-якому сервері або хмарній платформі з легкістю.</p>
<p>Дякую, що приєдналися до нашої пригоди у розробці web-додатків з Django та Docker. Бажаю вам успіхів у вашому джедайському шляху!</p>
<h2 id="ps-%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D0%BD%D1%96-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B8-docker-%D1%82%D0%B0-docker-compose">P.S. Корисні команди Docker та Docker-compose</h2>
<p><strong>Команди Docker:</strong></p>
<ul>
<li><code>docker build</code>: Збирає Docker образ з Dockerfile. Приклад: <code>docker build -t my_image_name:latest</code>.</li>
<li><code>docker run</code>: Запускає контейнер із вибраним образом. Приклад: <code>docker run -d -p 8000:80 my_image_name:latest</code></li>
<li><code>docker ps</code>: Показує список активних контейнерів. Приклад: <code>docker ps</code></li>
<li><code>docker stop</code>: Зупиняє активний контейнер. Приклад: <code>docker stop container_id</code></li>
<li><code>docker rm</code>: Видаляє зупинений контейнер. Приклад: <code>docker rm container_id</code></li>
<li><code>docker images</code>: Показує список доступних Docker образів. Приклад: <code>docker images</code></li>
<li><code>docker rmi</code>: Видаляє Docker образ. Приклад: <code>docker rmi image_id</code></li>
<li><code>docker exec</code>: Виконує команду всередині контейнера. Приклад: `docker exec -it container_id command</li>
<li><code>docker logs</code>: Переглядає логи контейнера. Приклад: <code>docker logs container_id</code></li>
</ul>
<p><strong>Команди Docker Compose:</strong></p>
<ul>
<li><code>docker-compose up</code>: Піднімає всі контейнери зі складу <code>docker-compose.yaml</code>. Приклад: <code>docker-compose up -d</code> (запуск в фоновому режимі)</li>
<li><code>docker-compose down</code>: Зупиняє та видаляє всі контейнери, створені за допомогою docker-compose up. Приклад:<code> docker-compose down</code></li>
<li><code>docker-compose ps</code>: Показує статус контейнерів, визначених у docker-compose.yaml. Приклад: <code>docker-compose ps</code></li>
<li><code>docker-compose logs</code>: Переглядає логи всіх контейнерів з docker-compose.yaml. Приклад: <code>docker-compose logs</code></li>
<li><code>docker-compose exec</code>: Виконує команду всередині контейнера, визначеного в docker-compose.yaml. Приклад: <code>docker-compose exec service_name command</code></li>
<li><code>docker-compose build</code>: Збирає образи для всіх контейнерів, визначених у docker-compose.yaml. Приклад: <code>docker-compose build</code></li>
<li><code>docker-compose rm</code>: Видаляє зупинені контейнери, визначені у docker-compose.yaml. Приклад: <code>docker-compose rm</code></li>
</ul>
<!--kg-card-end: markdown--> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Щоб отримати результати аналізів, сьогодні не треба йти в лікарню. Достатньо відкрити мобільний застосунок і завантажити довідку на смартфон. Лікарі віддалено керують даними пацієнтів без прив’язки до конкретного медзакладу. Так само легко оперують великими обсягами даних у своїх лікарнях. Це стало можливим завдяки електронним медичним записам, телемедицині, хмарним рішенням. ]]></description>
        <link>https://proit.ua/zdorovie-upravlinnia-danimi-iak-it-dopomaghaie-miedichnim-zakladam/</link>
        <guid isPermaLink="false">64dbcd8d3a7fd601b32dd84b</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Наталія Ткаченко ]]></dc:creator>
        <pubDate>ср, 16 серп 2023 13:00:44 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/08/doctor-using-stretoscope-virtual-projection.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>Щоб отримати результати аналізів, сьогодні не треба йти в лікарню. Достатньо відкрити мобільний застосунок і завантажити довідку на смартфон. Лікарі віддалено керують даними пацієнтів без прив’язки до конкретного медзакладу. Так само легко оперують великими обсягами даних у своїх лікарнях. Це стало можливим завдяки електронним медичним записам, телемедицині, хмарним рішенням. </em></p><p><em>Однак разом із покращеннями викликів у цифровій медицині стає дедалі більше. Як із ними впоратися та без яких ІТ-рішень не обійтися сучасному медзакладу, </em>– <em>поговоримо далі.</em></p><h2 id="%D0%B2%D0%B8%D0%BA%D0%BB%D0%B8%D0%BA%D0%B8-%D0%B2-%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%96%D0%BD%D0%BD%D1%96-%D0%BC%D0%B5%D0%B4%D0%B8%D1%87%D0%BD%D0%B8%D0%BC%D0%B8-%D0%B4%D0%B0%D0%BD%D0%B8%D0%BC%D0%B8">Виклики в управлінні медичними даними</h2><p>Галузь охорони здоров’я містить безліч конфіденційної інформації, яка стосується пацієнтів, медичних процедур, лікування і здоров’я населення. Це й особисті дані, історії хвороб, результати лабораторних досліджень, номери страховок тощо. Коли йдеться про управління медичною інформацією, ми виходимо ще далі. До цього процесу підключаються технології, закони, стандарти, а також люди, які створюють рішення для керування даними та керують ними. </p><p>Постійний розвиток напряму забезпечує поєднання бізнесу, науки й ІТ. Останні ж дають змогу налаштувати все ефективно з урахуванням особливостей роботи із персональними даними.</p><h3 id="%D0%BA%D0%BE%D0%BD%D1%84%D1%96%D0%B4%D0%B5%D0%BD%D1%86%D1%96%D0%B9%D0%BD%D1%96%D1%81%D1%82%D1%8C">Конфіденційність</h3><p>Конфіденційність медичних даних регулюють закони та регламенти. Державні документи визначають правила збору, зберігання, обробки та передачі медичної інформації. У Європі це<a href="https://gdpr-info.eu/"> GDPR</a> (General Data Protection Regulation), в Америці – <a href="https://www.govinfo.gov/content/pkg/PLAW-104publ191/pdf/PLAW-104publ191.pdf">НІРАА</a> (Health Insurance Portability and Accountability Act). </p><p>В Україні правові гарантії щодо конфіденційності медичної інформації встановлює <a href="https://zakon.rada.gov.ua/laws/show/2297-17#Text">Закон «Про</a><a href="http://onlinecorrector.com.ua/%D0%BE%D0%B1%D0%BE%D1%80%D0%BE%D0%BD%D0%B5%D1%86%D1%8C-%D0%B1%D0%BE%D1%80%D0%BE%D0%BD%D0%B8%D1%82%D0%B8-%D0%BE%D0%B1%D0%BE%D1%80%D0%BE%D0%BD%D1%8F%D1%82%D0%B8"> захист </a><a href="https://zakon.rada.gov.ua/laws/show/2297-17#Text">персональних</a><a href="http://onlinecorrector.com.ua/%D1%86%D0%B5%D0%B9-%D0%B7%D0%B0%D0%B4%D0%B0%D0%BD%D0%B8%D0%B9-%D0%BF%D1%80%D0%BE%D0%BF%D0%BE%D0%BD%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B9"> даних»</a>. На розробників програмного забезпечення й застосунків, які співпрацюють із медичними установами, теж поширюється норма дії цих законів.</p><h3 id="%D0%B7%D0%B1%D0%B5%D1%80%D1%96%D0%B3%D0%B0%D0%BD%D0%BD%D1%8F-%D1%96%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D1%96%D1%97-%D0%B2-%D1%80%D1%96%D0%B7%D0%BD%D0%B8%D1%85-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0%D1%85">Зберігання інформації в різних системах</h3><p>При чому вони можуть бути непов’язані між собою. Стандарти міжнародного ведення е-документації й українського зокрема включають Electronic Health Records та Electronic Medical Records. Ці концепції існують паралельно, щоб задовольнити більше потреб медичних установ. Але водночас вони ускладнюють доступ до інформації й обмін нею між лікарями та пацієнтами й різними медичними центрами. </p><p>Електронні медичні картки (Electronic Health Records) охоплюють ширший контекст зберігання медичної інформації про пацієнтів. Вони містять не тільки записи лікування та діагнози, але й результати лабораторних досліджень, дані про алергії, вакцинації тощо. </p><p>Електронні медичні записи (Electronic Medical Records) фіксують інформацію про конкретні візити до лікаря або медичного закладу й циркулюють у межах однієї установи. На відміну від EMRs, запит на доступ до записів EHRs можуть подати інші медцентри.</p><p>Щоб без перешкод отримувати інформацію з різних систем, потрібні стандарти обміну даними в галузі охорони здоров’я. Так, провайдери HealthTech можуть прийняти HL7 (Health Level Seven) чи FHIR (Fast Healthcare Interoperability Resources). </p><p>Основна відмінність між FHIR і HL7<a href="https://binariks.com/blog/fhir-vs-hl7/"> полягає</a> у тому, що FHIR використовує вебсервіси RESTful і відкриті вебтехнології, як-от XML, JSON і RDF, а HL7 підтримує лише XML. Ці стандарти застосовуються в багатьох країнах світу, зокрема їх дія<a href="https://hl7.org.ua/standards/"> поширюється</a> в Україні.</p><p>HL7 має різні версії. Найпоширеніша з них – CDA – підтримує обмін документами між усіма структурами, які беруть участь у догляді за пацієнтом. CDA дає змогу використовувати медичні дані повторно для звітів у сфері охорони здоров’я, відстежувати якість лікування, безпеку клінічних досліджень. Може використовуватись у багатьох медичних застосунках.</p><h3 id="%D0%B2%D1%96%D0%B4%D0%BC%D1%96%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%96-%D1%83-%D1%82%D0%B5%D1%80%D0%BC%D1%96%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D1%97">Відмінності у термінології</h3><p>Philips<a href="https://www.philips.com/c-dam/corporate/newscenter/global/standard/resources/healthcare/2021/digital-transformation/philips-digital-transformation-position-paper.pdf"> провів</a> дослідження серед фахівців охорони здоров’я щодо перешкод до цифровізації галузі. Однією з найбільших проблем вони назвали використання різних термінів для опису однакових понять (захворювань, процедур, пристроїв, послуг тощо). </p><p>Труднощі виникають через синоніми у професійній лексиці й особливості локального перекладу (вибір між національним відповідником і запозиченим поняттям). Наприклад, «фізіотерапевт» чи «фізичний терапевт», «масаж» чи massage.</p><p>Вирішити проблему може ухвалення міжнародних стандартів класифікації, як-от<a href="https://www.snomed.org/?lang=uk"> SNOMED CT</a> та<a href="https://www.who.int/classifications/classification-of-diseases"> ICD-11</a>. IT-компанії, які співпрацюють із Healthcare-провайдерами, можуть застосувати ці стандарти таким чином:</p><ul><li>Додати підтримку SNOMED CT та ICD-11 в електронні записи (EHRs чи EMRs) й інші системи. Це дасть змогу медичним закладам кодувати терміни згідно зі стандартами.</li><li>Розробляти застосунки для кодування термінів на основі єдиних стандартів. Віртуальні «помічники» будуть надавати автоматичні рекомендації та підбирати необхідні терміни.</li></ul><p>Немає жодних сумнівів, що галузь охорони здоров’я розвиватиметься разом із технологіями. Звернувшись до ІТ-провайдерів, можна знайти рішення, як безперешкодно та, головне, безпечно керувати медичними даними.</p><h2 id="%D1%82%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D1%97-%D1%8F%D0%BA%D1%96-%D0%BF%D0%BE%D0%BB%D0%B5%D0%B3%D1%88%D1%83%D1%8E%D1%82%D1%8C-%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D1%83-%D0%B7-%D0%BC%D0%B5%D0%B4%D0%B8%D1%87%D0%BD%D0%B8%D0%BC%D0%B8-%D0%B4%D0%B0%D0%BD%D0%B8%D0%BC%D0%B8">Технології, які полегшують роботу з медичними даними</h2><h3 id="%D1%85%D0%BC%D0%B0%D1%80%D0%BD%D1%96-%D1%81%D1%85%D0%BE%D0%B2%D0%B8%D1%89%D0%B0-%D0%B4%D0%BB%D1%8F-%D0%B7%D0%B1%D0%B5%D1%80%D1%96%D0%B3%D0%B0%D0%BD%D0%BD%D1%8F-%D1%96%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D1%96%D1%97">Хмарні сховища для зберігання інформації</h3><p>«Хмари» – чудовий спосіб зберігати медичні дані без необхідності інвестувати в нове обладнання і програмне забезпечення. Залежно від потреб і бюджету замовника доступні різні оптимальні варіанти сховищ.</p><h3 id="ms-azure-microsoft-azure">MS Azure (Microsoft Azure)</h3><p><strong><em>Переваги:</em></strong></p><ul><li>Широкий функціонал PaaS – Platform as a Service. Провайдер надає клієнту <a href="https://azure.microsoft.com/en-gb/">хмарну платформу </a>для розгортання на ній будь-якого програмного забезпечення. Подібно до принципу «все включено». Тобто маємо готову інфраструктуру для розробки, інтеграції й управління будь-якими видами ПЗ: веб, браузерними або мобільними.</li><li>Можливість оплачувати лише ті ресурси, які використовуєте.</li></ul><p><strong><em>Недоліки:</em></strong></p><ul><li>Затримки з технічною підтримкою.</li><li>Вимагає кваліфікованого управління й обслуговування через велику кількість сервісів і хмарних служб. Управління цією різноманітністю може бути складним завданням.</li></ul><h3 id="amazon-web-services-aws">Amazon Web Services (AWS)</h3><p>Вважається лідером у послугах хмарної платформи для охорони здоров’я. Так, дослідницька компанія KLAS опублікувала <a href="https://klasresearch.com/report/aws-in-healthcare-2022-a-deeper-look-at-artificial-intelligence-and-machine-learning-capabilities/2869">звіт</a>, чому системи охорони здоров’я регулярно вибирають<a href="https://aws.amazon.com/?nc1=h_ls"> AWS </a>з-поміж її аналогів. На думку респондентів, ця хмарна платформа більш орієнтована на сферу охорони здоров’я. </p><p>Рішення AWS потребують програмного забезпечення, сумісного зі стандартами HIPAA. Є <a href="https://docs.aws.amazon.com/pdfs/whitepapers/latest/architecting-hipaa-security-and-compliance-on-aws/architecting-hipaa-security-and-compliance-on-aws.pdf">інструкція</a>, як налаштувати хмарне сховище під ці стандарти.</p><p><strong><em>Переваги:</em></strong></p><ul><li>Масштабується для різних потреб.</li><li>Проста у використанні. На <a href="https://aws.amazon.com/getting-started/?nc1=h_ls">сайті</a> є гайди, відеоінструкції та навчальні курси, як працювати з платформою.</li></ul><p><strong><em>Недоліки:</em></strong></p><ul><li>Обмеження Amazon EC2 (дає змогу запускати програми, зберігати дані та виконувати обчислення без необхідності купувати фізичне обладнання). Кількість доступних ресурсів залежить від регіону.</li><li>Потребує тривалого вивчення перед стартом роботи з нею.</li><li>Зазвичай недостатньо експертів для надання технічної підтримки.</li><li>Складно розрахувати бюджет на використання платформи через велику кількість послуг.</li></ul><h3 id="google-cloud-platform">Google Cloud Platform</h3><p><a href="https://console.cloud.google.com/welcome/new?hl=uk&amp;pli=1">Сховище</a> працює відповідно до стандартів HIPAA. Включає Google Drive, Cloud IoT Core, Cloud SQL і Cloud Storage.</p><p><strong><em>Переваги:</em></strong></p><ul><li>Можливість планувати час обслуговування сервера.</li><li>Легка інтеграція з іншими послугами Google Cloud.</li><li>Автоматичне оновлення SSL-сертифікатів. Це стандартні протоколи безпеки, які шифрують конфіденційні дані (паролі, інформацію про кредитну картку тощо). Вчасне оновлення допомагає уникнути перерв у роботі вебсайту, які можуть виникнути через закінчення терміну дії старого сертифіката.</li></ul><p><strong><em>Недоліки:</em></strong></p><ul><li>Різні моделі ціноутворення і зміни в них, про які компанія може не повідомити.</li></ul><h2 id="%D0%B1%D0%BB%D0%BE%D0%BA%D1%87%D0%B5%D0%B9%D0%BD-%D0%B4%D0%BB%D1%8F-%D0%BF%D0%BE%D1%81%D0%B8%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F-%D0%BA%D0%BE%D0%BD%D1%84%D1%96%D0%B4%D0%B5%D0%BD%D1%86%D1%96%D0%B9%D0%BD%D0%BE%D1%81%D1%82%D1%96">Блокчейн для посилення конфіденційності</h2><p>На основі блокчейну розроблено електронні медичні картки. Так, дослідники з Массачусетського технологічного інституту створили систему<a href="https://www.media.mit.edu/projects/medrec/overview/"> MedRec</a> на основі цієї технології. Розробники<a href="https://blog.bingx.com/insights/the-potential-for-blockchain-in-the-healthcare-industry/"> з’ясували</a>, що завдяки блокчейну можна покращити конфіденційність медичних записів і зменшити адміністративні витрати з боку пацієнтів. Також користувачі зазначили, що тепер більш спокійні за безпеку своїх даних.</p><p>Крім того, блокчейн дає змогу забезпечити різний доступ до даних. Ми таку можливість блокчейну теж не раз тестували. Наші фахівці створили онлайн-платформу, де є три ключових учасники: лікарня (педіатр) – батьки – початкова школа. Задля безпеки медична інформація про дітей по-різному відображається користувачам. </p><p><strong><em>Механізм дії платформи такий:</em></strong></p><ul><li>Батьки підписують угоду з лікарнею, де дитина проходить обстеження.</li><li>Педіатр отримує доступ до медичних записів і може оновлювати інформацію про стан здоров’я дитини.</li><li>Батьки подають заяву на навчання дитини у початковій школі. Якщо її приймають, школа надсилає запит педіатру про стан здоров’я майбутнього учня/учениці.</li><li>Лікар створює звіт, після чого батьки мають дати згоду на перевірку звіту конкретною початковою школою або кількома учбовими закладами.</li></ul><h2 id="%D1%88%D1%82%D1%83%D1%87%D0%BD%D0%B8%D0%B9-%D1%96%D0%BD%D1%82%D0%B5%D0%BB%D0%B5%D0%BA%D1%82-%D1%8F%D0%BA-%C2%AB%E2%80%8E%D1%80%D0%BE%D0%B7%D1%83%D0%BC%D0%BD%D0%B8%D0%B9%C2%BB-%D0%BF%D0%BE%D0%BC%D1%96%D1%87%D0%BD%D0%B8%D0%BA-%D0%BB%D1%96%D0%BA%D0%B0%D1%80%D1%96%D0%B2">Штучний інтелект як «‎розумний» помічник лікарів</h2><p>Медичні чат-боти <a href="https://www.precedenceresearch.com/healthcare-chatbots-market">довели</a> свою необхідність зі спалахом COVID-19. У період пандемії тільки на платформі Microsoft було створено понад тисячу чат-ботів. За даними Persistence Market Research, до 2030 року ринок таких продуктів на базі ШІ зростатиме в середньому на 21%.</p><p>Алгоритми штучного інтелекту помітно спрощують роботу з даними. Дослідження MIT Technology Review Insights <a href="https://www.gehealthcare.com/en-sg/-/jssmedia/documents/us-global/products/mit-review-research-report.pdf?rev=-1&amp;hash=37DBF3953D8976810230B752B731C2D9">виявило</a>, що за допомогою штучного інтелекту лікарі менше часу витрачають на адміністративну роботу. Натомість приділяють більше уваги пацієнтам.</p><p>Але й тут потрібно зважати на відповідність чат-ботів стандартам безпеки. На сьогодні ChatGPT<a href="https://abyde.com/chatgpt-hipaa-a-quick-guide-on-what-you-need-to-know/"> не відповідає</a> стандартам HIPAA. Натомість <a href="https://smartbot360.com/secure-chatbot">SmartBot360</a> одразу створювався як медичний інструмент із дотриманням цих вимог.</p><h2 id="%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B8-%D1%82%D0%B0-%D1%80%D1%96%D1%88%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B4%D0%BB%D1%8F-%D0%B7%D0%B0%D1%85%D0%B8%D1%81%D1%82%D1%83-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85">Проблеми та рішення для захисту даних</h2><p>За даними Check Point Research, минулого року організації охорони здоров’я по всьому світу <a href="https://blog.checkpoint.com/2023/01/05/38-increase-in-2022-global-cyberattacks/">фіксували</a> на 38% кібератак більше, ніж у 2021 році. В Україні особливо гостро <a href="https://cip.gov.ua/ua/news/kilkist-kiberatak-pid-chas-viini-zrosla-vtrichi">постала</a> потреба захисту даних після повномасштабного вторгнення росії.</p><p>Медичні записи залишаються бажаною мішенню для кіберзлочинців. Адже їх можна використовувати для шахрайства або вимагання викупу. Допомагають шахраям отримати доступ до них як застаріле технічне обладнання, так і самі працівники.</p><h2 id="%D0%BD%D0%B5%D0%B4%D0%BE%D1%82%D1%80%D0%B8%D0%BC%D0%B0%D0%BD%D0%BD%D1%8F-%D0%BA%D1%96%D0%B1%D0%B5%D1%80%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D0%BA%D0%B8-%D0%BC%D0%B5%D0%B4%D0%B8%D1%87%D0%BD%D0%B8%D0%BC%D0%B8-%D0%BF%D1%80%D0%B0%D1%86%D1%96%D0%B2%D0%BD%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8">Недотримання кібербезпеки медичними працівниками</h2><p>Жодні сучасні технології не вбережуть від хакерських атак, якщо ваш пароль скрізь «1234» чи ваша дата народження. Одне з досліджень<a href="https://link.springer.com/article/10.1007/s10111-021-00683-y"> </a><a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9123525/">виявило</a>, що доступ до медичних записів вдається «‎зламати» передусім через нехтування працівниками базовими правилами кібербезпеки.</p><p><strong><em>Постачальники ІТ-рішень спільно з медичними закладами можуть забезпечити потрібний рівень захисту даних. Як цього досягти:</em></strong></p><ol><li><strong>Проводити навчання з кібербезпеки для медичних працівників. </strong>Це можуть бути тренінги, вебінари, онлайн-курси від розробників чи експертів із кібербезпеки. Спеціально для українських закладів охорони здоров’я МОЗ разом із проєктом USAID «Підтримка реформи охорони здоров’я» розробили <a href="https://umj.com.ua/uk/novyna-237228-za-dopomogoyu-proyektu-usaid-rozrobleno-rekomendatsiyi-shhodo-kiberzahistu">поради</a>, як зберегти конфіденційність даних.</li><li><strong>Регулярно спілкуватись із Healthcare-провайдерами навіть після завершення проєкту та випуску продукту.</strong> Це дасть змогу вчасно помічати можливі прогалини в безпеці, запобігати їх виникненню та захищати системи від атак. Стануть у пригоді й інструкції для медичних працівників від фахівців із кібербезпеки, щомісячні/щоквартальні звіти, які направляються розробникам технології для її аналізу.</li></ol><h2 id="%D0%B2%D1%80%D0%B0%D0%B7%D0%BB%D0%B8%D0%B2%D0%BE%D1%81%D1%82%D1%96-%D0%BC%D0%B5%D0%B4%D0%B8%D1%87%D0%BD%D0%BE%D0%B3%D0%BE-%D0%BE%D0%B1%D0%BB%D0%B0%D0%B4%D0%BD%D0%B0%D0%BD%D0%BD%D1%8F-%D1%82%D0%B0-%D0%BF%D1%80%D0%B8%D1%81%D1%82%D1%80%D0%BE%D1%97%D0%B2">Вразливості медичного обладнання та пристроїв</h2><p>Світова статистика за 2022 рік вражає: частота атак на IoT-пристрої в закладах охорони здоров’я<a href="https://www.sonicwall.com/2023-cyber-threat-report/"> зросла</a> на 123%. Одна з причин – застарілі пристрої й інфраструктура. Вони не підтримують оновлення системи й як результат – не мають достатнього рівня захисту.</p><h3 id="%D1%89%D0%BE-%D1%80%D0%B0%D0%B4%D1%8F%D1%82%D1%8C-%D1%96%D1%82-%D1%84%D0%B0%D1%85%D1%96%D0%B2%D1%86%D1%96-%D0%B4%D0%BB%D1%8F-%D0%B7%D0%B0%D1%85%D0%B8%D1%81%D1%82%D1%83-%D0%B5%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D1%85-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85">Що радять ІТ-фахівці для захисту електронних даних:</h3><ol><li>Регулярно оновлюйте програмне забезпечення. Розробники постійно працюють над удосконаленням безпеки своїх продуктів і випускають нові версії, щоб усунути вразливості. Якщо оновлення вже не підтримуються на ваших пристроях, використовуйте складні паролі для акаунтів (мінімум 12 символів, великі та малі літери, цифри й спецзнаки), завантажте антивірусне програмне забезпечення, оновлюйте програми, які можливо оновити. Але найкраще рішення – поставити нову техніку.</li><li>Налаштуйте автоматичне створення резервних копій даних. Це дасть змогу не втратити інформацію у разі кібератак або несправностей. Ви можете обрати, де зберігатимуться копії: на зовнішніх носіях, локальних серверах чи у хмарних сховищах.</li><li>Розділіть IoT-пристрої на окремі мережі, щоб зменшити кіберзагрозу у разі злому одного пристрою.<strong> </strong>Можна, наприклад, розділити їх на різні фізичні мережі за допомогою VLAN або використовувати різні SSID (унікальні назви Wi-Fi-мереж) для пристроїв.</li><li>Використовуйте протокол<a href="https://www.internetsociety.org/deploy360/tls/basics/"> TLS (Transport Layer Security)</a> для передачі даних між різними серверами, месенджерами, застосунками тощо.</li><li>Додатково використовуйте брандмауери, віртуальні приватні мережі (VPN), антивірусне програмне забезпечення й інші інструменти безпеки.</li></ol><p>Технології змінили медицину на краще і продовжують це робити – як для пацієнтів, так і для надавачів медичних послуг. Але нові можливості відкриваються разом із ризиками, які необхідно долати, а ще краще – уникати. Тому основна рекомендація – досліджуйте інновації у сфері healthcare й обирайте, чим можете забезпечити власний заклад для ефективної та безпечної роботи з даними пацієнтів. Сьогодні на кожну таку потребу знайдеться своє технічне рішення.</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Мене звуть Сергій Немчинський. Я працюю в ІТ вже понад 25 років, 15 з яких програмував на Java. А зараз я є директором і засновником навчальної компанії FoxmindEd.

Для мене програмування – це не просто робота, а справжня пристрасть. Моя мета – надихнути вас на високі досягнення в цій галузі, а також ]]></description>
        <link>https://proit.ua/buti-chi-nie-buti-vam-proghramistom/</link>
        <guid isPermaLink="false">64d8cc3f11d0fa95fdd46ebd</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Сергій Немчинський ]]></dc:creator>
        <pubDate>пн, 14 серп 2023 11:00:23 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/08/3d-render-boy-character-with-glasses-generative-ai.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Мене звуть Сергій Немчинський. Я працюю в ІТ вже понад 25 років, 15 з яких програмував на Java. А зараз я є директором і засновником навчальної компанії <a href="https://go.foxminded.ua/3DQLu7g">FoxmindEd</a>. </p><p>Для мене програмування – це не просто робота, а справжня пристрасть. Моя мета – надихнути вас на високі досягнення в цій галузі, а також розповісти, як не наробити зайвих помилок. </p><p>Сьогодні я хочу поділитися з вами деякими міркуваннями та порадами, пов’язаними із вибором професії програміста. Бо я знаю, наскільки важливо чітко розуміти, чи відповідає ця професія вашим прагненням і здібностям, чи ні.</p><h2 id="%D0%BE%D1%82%D0%B6%D0%B5-%D0%B2%D0%B8-%D0%BD%D0%B5-%D1%81%D1%82%D0%B0%D0%BD%D0%B5%D1%82%D0%B5-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%96%D1%81%D1%82%D0%BE%D0%BC-%D1%8F%D0%BA%D1%89%D0%BE%E2%80%A6">Отже, ви не станете програмістом, якщо…</h2><h3 id="%E2%80%A6%D0%B2%D0%B0%D0%BC-%D0%BD%D0%B5-%D1%86%D1%96%D0%BA%D0%B0%D0%B2%D0%BE">…Вам не цікаво</h3><p>Почнемо з головного: для того, щоб стати успішним програмістом, найважливіше – це глибока зацікавленість цією справою. Якщо ви не відчуваєте задоволення від написання програм, вам буде складно розвивати цю професію, навіть якщо ви намагаєтеся досягнути середнього рівня. </p><p>Програміст – це той, хто постійно шукає шляхи вирішення або обходу складнощів. Ці шляхи можуть бути простими, складними, очевидними або іноді дуже неочевидними. Далеко не завжди все виходить успішно, а той, хто не має зацікавленості, швидко втрачає мотивацію. </p><p>Отже, якщо ви розглядаєте програмування лише як засіб заробітку, варто переглянути свої підходи. На сьогоднішньому ринку праці існує безліч інших професій, де ви можете знайти своє покликання.</p><p>Моя 20-річна кар’єра у програмуванні навчила мене, що найголовніше – це безмежний інтерес до цього ремесла. Якщо вам не цікаво розв’язувати логічні головоломки, удосконалювати навички та розвиватися в цьому напрямі, то, скажу відверто – ця професія, можливо, не для вас.</p><h3 id="%E2%80%A6%D0%B2%D0%B8-%D0%BD%D0%B5-%D0%BC%D0%B0%D1%94%D1%82%D0%B5-%D1%87%D1%96%D1%82%D0%BA%D0%BE%D1%97-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%B8-%D0%BD%D0%B0%D0%B2%D1%87%D0%B0%D0%BD%D0%BD%D1%8F">…Ви не маєте чіткої програми навчання</h3><p>Якщо людина намагається навчатися без чіткого плану, не розуміючи, що саме і як вона буде вивчати, це сигнал того, що вона, можливо, ніколи не стане програмістом. Факт у тому, що вже давно минули часи, коли можна було вивчити основи програмування за обмежений термін і відразу стати програмістом, оскільки знань у програмуванні тепер значно більше, ніж можливості їх опанувати за людське життя. </p><p>Є безліч знань, що взаємопов’язані чи розуміння яких з’являється після засвоєння попередніх або ж які мають різні контексти залежно від мети навчання. Як результат, відсутність структурованого плану навчання часто призводить до ситуації, коли людина може вчитися, писати код, проте через рік чи три залишається на одному й тому ж рівні, з якого розпочала.</p><p>Мій досвід навчання охоплював навчальні курси, стажування та самостійне вивчення. Структуроване навчання допомагає засвоїти необхідні знання й побудувати власний підхід до програмування. </p><h3 id="%E2%80%A6%D0%B7%D0%B0%D0%BD%D0%B0%D0%B4%D1%82%D0%BE-%D0%B3%D0%BB%D0%B8%D0%B1%D0%BE%D0%BA%D0%BE-%D0%B7%D0%B0%D0%B3%D0%BB%D0%B8%D0%B1%D0%BB%D1%8E%D1%94%D1%82%D0%B5%D1%81%D1%8F-%D1%83-%D1%82%D0%B5%D0%BE%D1%80%D1%96%D1%8E">…Занадто глибоко заглиблюєтеся у теорію</h3><p>Завдяки моїй попередній діяльності у ролі викладача у програмуванні я добре розумію, наскільки важливо збалансувати теорію і практику. Іноді новачки глибоко занурюються у теоретичні аспекти, але практика – це саме те, що допомагає вам застосовувати знання на реальних проєктах.</p><p>Є багато тих, хто бажав стати програмістами, але так і не досяг цього. Чому? Бо надто глибоко захоплювались теорією компіляторів і роками досліджували різні мови тощо. </p><p>Зрозумійте просту річ, програмування – це не проходження рівнів, як у грі, це – справжня професія, яка вимагає вміння виконувати роботу на практиці. Оффери отримують не ті, хто володіє теорією, а ті, хто зможе застосувати свої знання на практиці. Навіть більше, технічні інтерв’юери на співбесідах чудово розрізняють тих, хто тільки читав книжки, від тих, хто справді вміє писати код. </p><h3 id="%E2%80%A6%D0%BD%D0%B5-%D0%B4%D1%83%D0%BC%D0%B0%D1%94%D1%82%D0%B5-%D1%8F%D0%BA-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%96%D1%81%D1%82">…Не думаєте як програміст</h3><p>Розвиток логічного й алгоритмічного мислення – ключовий аспект у програмуванні. Здатність аналізувати, розбирати складні задачі на частини та бачити загальну картину – це основи успішної кар’єри програміста.</p><p>Якщо людина не бажає або не вміє вирішувати проблеми та мислити як програміст, то їй буде складно опанувати цю професію.</p><p>Важливо розуміти, що для досягнення успіху у програмуванні не треба бути експертом у всіх технологічних областях. </p><blockquote>Часто новачки вчаться з думкою: <em>«Як тільки я опаную все, що важливо для програміста, тоді шукатиму роботу».</em> </blockquote><p>Але знань надто багато, а ваш час – обмежений. Навіть якщо вам 15 років, все одно не вистачить часу на все. Важливо зрозуміти основи й зосередитися на важливому, а не намагатися охопити все, що може стати в пригоді.</p><p>Але, хочу заспокоїти тих, хто твердо планує вивчитися на програміста. Якщо ви відчуваєте справжню пристрасть до програмування, ось декілька порад він мене, які можуть вам допомогти досягти своєї мети.</p><h2 id="%D0%BD%D0%B0%D0%BF%D0%BE%D0%BB%D0%B5%D0%B3%D0%BB%D0%B8%D0%B2%D0%B0-%D0%BF%D1%80%D0%B0%D1%86%D1%8F">Наполеглива праця</h2><p>Моя дорога до успіху була наповнена важкими моментами, але кожне випробування відкривало нові можливості. В умовах сучасного ІТ-ринку програмісту важливо мати вольові якості та бажання вдосконалюватися, всупереч труднощам.</p><p>Найважливіше та найцікавіше, про що варто пам'ятати, це те, що наполеглива праця важливіша за природний талант. Навіть якщо у вас є великі природні задатки, самі по собі вони нічого не дадуть. Крім того, програмування — це не та професія, в якій ви повинні стати світовою зіркою. Вам просто потрібно здійснити звичайну, хоч і складну інженерну роботу. Складність полягає у обсязі необхідної інформації. Тому на програмістів вчаться довго. Але всі знання вже по собі досить прості. </p><h2 id="%D0%B2%D0%BC%D1%96%D0%BD%D0%BD%D1%8F-%D1%80%D0%BE%D0%B7%D0%B2%D1%8F%D0%B7%D1%83%D0%B2%D0%B0%D1%82%D0%B8-%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B8">Вміння розв'язувати проблеми</h2><p>Що очікують від вас майбутні роботодавці? В першу чергу - вміння знаходити вихід із складнощів. Гроші отримують ті, хто вміє вирішувати бізнес-проблеми. Наприклад, автоматизація бухгалтерії, створення мобільного додатка для замовлення їжі чи інші. Компанії шукають людей, які вміють це робити.</p><p>Програмування - це лише інструмент. Головне - чи зможете ви розв'язувати бізнес-завдання. Просте запитання на співбесіді не допоможе це визначити. Тому вас питають про досвід, який це підтверджує. Так, буває складно знайти першу роботу - бо немає підтвердження, що ви дійсно здатні вирішувати завдання. Тому ваша мета - продемонструвати, що ви можете розв'язувати бізнес-проблеми. Можливо, хоча б на проектах, які ви створили для себе.</p><h2 id="%D0%B1%D0%B0%D0%B3%D0%B0%D1%82%D0%BE-%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D1%83%D0%B9%D1%82%D0%B5%D1%81%D1%8F">Багато практикуйтеся</h2><p>Щоб вчитися розв'язувати проблеми, треба мати реальне завдання. Взяти його, довго з ним працювати, розглядаючи з різних сторін, і потім вирішити. Це можливо лише тоді, якщо ви взялися за справжню задачу. Тому я завжди раджу вам створювати проекти для портфоліо так, щоб вони були схожі на комерційні. З мого досвіду, якщо програміст сам придумує завдання, яке не має практичного застосування, він його не доведе до кінця.</p><h2 id="%D1%81%D1%82%D0%B0%D0%B2%D1%82%D0%B5-%D1%80%D0%B5%D0%B0%D0%BB%D1%96%D1%81%D1%82%D0%B8%D1%87%D0%BD%D1%96-%D1%86%D1%96%D0%BB%D1%96">Ставте реалістичні цілі</h2><p>Важливо ставити собі цілі, які допоможуть вам розвиватися та просуватися вперед. Зараз ваша мета - стати програмістом. Але, зважте на те, що часто новачки в програмуванні ставлять перед собою нереальні завдання, скажімо, намагаються стати спеціалістом за декілька місяців. Коли цей план не вдається, вони втрачають мотивацію і здаються. Тому встановлюйте реальні цілі.</p><p>Я рекомендую фокусуватися не на строках досягнення, а на самій можливості досягнення цілі. Саме таке мислення відрізняє програміста від спеціалістів в інших галузях. Програміст знає, що будь-яка ціль є досяжною. А, якщо вона є досяжною теоретично, то є такою і практично. А, отже, ви обов'язково досягнете її. Налаштовуйтеся на це.</p><h2 id="%D0%B2%D0%B8%D0%B2%D1%87%D0%B0%D0%B9%D1%82%D0%B5-%D0%B0%D0%BD%D0%B3%D0%BB%D1%96%D0%B9%D1%81%D1%8C%D0%BA%D1%83">Вивчайте англійську</h2><p>Моя навчальна компанія співпрацює зі спеціалістами з усього світу. Я розумію, наскільки знання англійської мови допомагає ефективно комунікувати та отримувати доступ до світового досвіду.</p><p>Для початку вам буде досить базового рівня англійської, щоб зрозуміти технічну документацію. Проте для отримання роботи, у більшості випадків потрібний високий рівень володіння.</p><p>Наприклад, розробнику-початківцю не обов'язково знати англійську вище Intermediate, оскільки його спілкування з клієнтом обмежене. Але якщо ви плануєте роботу на посадах Project Manager, бізнес-аналітика або тестувальника, вам слід знати англійську на розмовному рівні. Це також стосується розробників рівня Senior і вище.</p><h2 id="%D0%BE%D1%82%D0%B6%D0%B5">Отже</h2><p>Мій досвід говорить про те, що програмування — це не лише професія, а й виклик для вашого розвитку. Вірте в себе, розвивайте навички та не бійтеся зіткнень із труднощами. Якщо моя історія стала для вас джерелом натхнення та порад, я вважатиму, що зробив свій внесок у розвиток цієї динамічної та захопливої галузі.<br></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Сьогодні військово-промисловий комплекс України має два головних виклики, з огляду на які ми маємо розробляти власну стратегію розвитку.


Війна з агресором, сили якого спочатку кратно більші за українські.

Обмеження у ресурсах, оборонних технологіях, компонентах (електроніка, критичні матеріали). І насправді саме у таких випадках екосистеми показують більшу ефективність, ніж вертикально ієрархічні ]]></description>
        <link>https://proit.ua/military-tech-stvoriennia-iekosistiemi-opk-vikliki-ta-mozhlivosti/</link>
        <guid isPermaLink="false">64d51591cdf9d11cd8afaa97</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Анатолій Амелін ]]></dc:creator>
        <pubDate>чт, 10 серп 2023 20:03:48 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/08/attractive-fighter-pilot-with-hat-glasses-era.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em><strong>Сьогодні військово-промисловий комплекс України має два головних виклики, з огляду на які ми маємо розробляти власну стратегію розвитку.</strong></em></p><h2 id="%D0%B2%D1%96%D0%B9%D0%BD%D0%B0-%D0%B7-%D0%B0%D0%B3%D1%80%D0%B5%D1%81%D0%BE%D1%80%D0%BE%D0%BC-%D1%81%D0%B8%D0%BB%D0%B8-%D1%8F%D0%BA%D0%BE%D0%B3%D0%BE-%D1%81%D0%BF%D0%BE%D1%87%D0%B0%D1%82%D0%BA%D1%83-%D0%BA%D1%80%D0%B0%D1%82%D0%BD%D0%BE-%D0%B1%D1%96%D0%BB%D1%8C%D1%88%D1%96-%D0%B7%D0%B0-%D1%83%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%81%D1%8C%D0%BA%D1%96">Війна з агресором, сили якого спочатку кратно більші за українські. </h2><p>Обмеження у ресурсах, оборонних технологіях, компонентах (електроніка, критичні матеріали). І насправді саме у таких випадках екосистеми показують більшу ефективність, ніж вертикально ієрархічні структури.</p><p><strong>Екосистема більш гнучка й адаптивна.</strong> У вертикально-ієрархічній структурі рішення ухвалюються зверху вниз, що може зробити її неповороткою і нездатною швидко адаптуватися до змінних умов. Екосистема, з іншого боку, складається з різних незалежних учасників, які можуть співпрацювати один з одним для вирішення проблем, що виникають. Це робить екосистему більш гнучкою й адаптивною, що дає їй змогу швидше реагувати на зміни ринку та потреб клієнтів.</p><p><strong>Екосистема інноваційніша. </strong>У вертикально-ієрархічній структурі нові ідеї часто блокуються бюрократичною системою. Екосистема, з іншого боку, є більш відкритою для нових ідей та інновацій, оскільки її учасники можуть вільно співпрацювати один з одним. Це робить екосистему інноваційнішою, що дає їй змогу пропонувати нові продукти та послуги, які задовольняють потреби клієнтів.</p><p><strong>Екосистема більш стійка.</strong> У вертикально-ієрархічній структурі існує ризик виникнення єдиної точки відмови, що може призвести до краху всієї системи. Екосистема, з іншого боку, стійкіша, оскільки її учасники не залежать один від одного. Це робить екосистему більш стійкою до зовнішніх впливів, таких як економічна криза чи природні катаклізми.</p><h2 id="%D0%BC%D0%BE%D0%B6%D0%BD%D0%B0-%D0%BD%D0%B0%D0%B2%D0%B5%D1%81%D1%82%D0%B8-%D0%B1%D0%B0%D0%B3%D0%B0%D1%82%D0%BE-%D0%BF%D1%80%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4%D1%96%D0%B2-%D0%BF%D0%BE%D0%B4%D1%96%D0%B1%D0%BD%D0%B8%D1%85-%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%BE%D0%B3-%E2%80%93-%D1%8F%D0%BA-%D0%B2%D1%96%D0%B9%D1%81%D1%8C%D0%BA%D0%BE%D0%B2%D0%B8%D1%85-%D1%82%D0%B0%D0%BA-%D1%96-%D0%BA%D0%BE%D0%BC%D0%B5%D1%80%D1%86%D1%96%D0%B9%D0%BD%D0%B8%D1%85">Можна навести багато прикладів подібних перемог – як військових, так і комерційних:</h2><p>- Комерційні: Uber, Airbnbc, Facebook, Amazon.</p><p>- Військові: партизани Другої світової війни.</p><p>- Успіхи в’єтконгу проти американської армії часів В’єтнамської війни.</p><p>- Під час Семирічної війни (1756-1763 рр.) британський флот був змушений відступити від берегів Флориди після серії атак з боку іспанського та французького москітного флоту.</p><blockquote><strong>Екосистема milTech – це сукупність організацій, які працюють у сфері розробки, виробництва й застосування військової техніки. До неї входять державні відомства, оборонні підприємства, приватні компанії та науково-дослідні інститути.</strong></blockquote><h2 id="%D1%86%D1%96%D0%BB%D1%96-%D0%B5%D0%BA%D0%BE%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8-miltech">Цілі екосистеми milTech:</h2><ul><li>Забезпечення безпеки країни (оборонна доктрина і стратегія національної безпеки).</li><li>Розвиток технологій та інновацій в оборонній сфері.</li><li>Створення робочих місць і підвищення економічного зростання.</li><li>Підвищення якості життя громадян.</li></ul><h2 id="%D1%83%D1%87%D0%B0%D1%81%D0%BD%D0%B8%D0%BA%D0%B8-%D0%B5%D0%BA%D0%BE%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8-miltech">Учасники екосистеми milTech:</h2><ul><li>Державні відомства: Міністерство оборони, Мінстратег, Міністерство внутрішніх справ, Міністерство надзвичайних ситуацій, інші відомства, що відповідають за оборону та безпеку країни, – Оборонна доктрина (виклики, принципи), Стратегія національної безпеки – цілі та шляхи їх досягнення.</li><li>Оборонні підприємства: підприємства, які виробляють військову техніку й озброєння.</li><li>Приватні компанії: компанії, що розробляють і виробляють військову техніку й озброєння, а також надають послуги у сфері безпеки.</li><li>Науково-дослідні інститути: інститути, які займаються дослідженнями та розробками в галузі військової техніки й технологій.</li><li>Технопарки та бізнес-інкубатори.</li><li>Система освіти.</li></ul><blockquote><strong>Екосистема milTech відіграє важливу роль у забезпеченні безпеки країни й розвитку технологій. Вона сприяє створенню робочих місць, підвищенню економічного зростання та покращенню якості життя громадян.</strong></blockquote><p><strong>Суб’єктивно, для України максимально близько підходить ізраїльська модель.</strong></p><h2 id="%D0%BE%D0%B1%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B0-%D0%B4%D0%BE%D0%BA%D1%82%D1%80%D0%B8%D0%BD%D0%B0-%D1%96%D0%B7%D1%80%D0%B0%D1%97%D0%BB%D1%8E">Оборонна доктрина Ізраїлю</h2><p>Оборонна доктрина Ізраїлю ґрунтується на принципах активної оборони та стримування.</p><p>Ізраїльська армія має бути здатна швидко й ефективно реагувати на будь-які загрози (як внутрішні, так і зовнішні). Також Ізраїль має бути спроможним стримувати потенційних противників від застосування сили проти нього.</p><p>В Ізраїлі я нарахував 70 «єдинорогів» –<strong> </strong>компаній, які вийшли із цієї екосистеми. Основні види їхньої діяльності: кібербезпека, великі дані, освітні технології, штучний інтелект, ігри, фізтех.</p><p><em><strong>Для України створення ефективної живої екосистеми ОПК, на мій погляд, –</strong> <strong>єдиний шлях перемоги більш сильного ворога, недопущення повторення війни на нашій території, створення екосистеми інновацій, що призведуть Україну до розквіту.</strong></em></p><p><em><strong>Що треба робити зараз? Об’єднувати зусилля держави й приватних оборонних компаній і разом розвивати екосистему.</strong></em></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Оскільки програмуванням та колупанням електронних апаратів я не тільки заробляю на хліб, а ще й розважаюся, то проситиму читачів оцінювати писанину нижче як «перебирання заліза в гаражі після роботи». Ринково-комерційного потенціалу тут небагато. Також зазначу про всяк випадок, що знаю про існування сервісів, які пропонують API для відправки SMS, – прямо ]]></description>
        <link>https://proit.ua/proghramna-vidpravka-sms-v-domashnikh-umovakh/</link>
        <guid isPermaLink="false">64d0ec30b79d4ba9468df0b9</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Віталій Ричок ]]></dc:creator>
        <pubDate>ср, 09 серп 2023 12:00:57 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/08/phone-computer-graphic-showing-mobile-phone-lifestyle.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Оскільки програмуванням та колупанням електронних апаратів я не тільки заробляю на хліб, а ще й розважаюся, то проситиму читачів оцінювати писанину нижче як «перебирання заліза в гаражі після роботи». Ринково-комерційного потенціалу тут небагато. Також зазначу про всяк випадок, що знаю про існування сервісів, які пропонують API для відправки SMS, – прямо зараз займаюся інтеграцією з одним із них, про що можливо також напишу. От тільки ж то не спортивно і взагалі it’s not fun. </p><p>Загалом рішення не є досконалим і не було «обкатане» як слід для використання в «бойових умовах» (звучить смішно за поточних обставин, еге). У мене воно працювало трохи більше ніж місяць, слало SMS невеликими кількостями, аж поки в чергу на відправлення не стало 500 з копійками SMS. Правильно буде сказати, що це просто вдалий Proof of Concept (POC).</p><p>Нижче докладно описано кожен крок реалізації. Читач має змогу відтворити те саме у себе, якщо є час і натхнення. Отже, вйо до прочитання історії з відкритим фіналом, бо є ще що підкручувати та покращувати, а то і взагалі можна закинути все те куди подалі й скористатися API перевіреного сервісу.</p><h2 id="%D0%BF%D1%80%D0%BE%D0%BB%D0%BE%D0%B3">ПРОЛОГ</h2><p>Для написання цього тексту, а до того для створення стенду, який реально працює, я змушений був дослідити інтернет. З невипадкових джерел озвучити на публіку я можу хіба офіційний сайт виробника мережевого обладнання <a href="https://mikrotik.com/">Mikrotik</a>. Там є вся необхідна інформація.</p><h3 id="1-%D0%B2%D0%B8%D0%B1%D1%96%D1%80-%D0%BC%D0%BE%D0%B4%D0%B5%D0%BC%D0%B0-%D0%BC%D0%BE%D0%B1%D1%96%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE-%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0-%D1%96-%D0%BF%D1%80%D0%B8%D1%81%D1%82%D1%80%D0%BE%D1%8E-%D0%B4%D0%BB%D1%8F-%D0%BA%D0%B5%D1%80%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%BC%D0%BE%D0%B4%D0%B5%D0%BC%D0%BE%D0%BC">1. Вибір модема, мобільного оператора і пристрою для керування модемом</h3><p><strong>Модем (GSM, 3G, LTE, etc). </strong>Потрібен для того, щоб підключитися до мережі мобільного оператора, маючи на руках SIM-картку. Важко описати, якими критеріями я керувався при виборі модема. Скажімо, вектор пошуку мені задав кум, а далі я підбирав навмання. Вибір зупинив на такому варіанті – 3G модем Huawei E173S-2. Де купував, певно, не можна писати, щоб не було розцінено як несанкціонована реклама (ага, модель – не реклама, а де купував – реклама). Обійшлася покупка в районі 1000 грн.</p><p><strong>Мобільний оператор. </strong>Насправді не важливо, якого оператора ви оберете. Саме головне при виборі – впорядкувати ваші з ним відносини таким чином, щоб у нього не виникали претензії до вас стосовно способу використання його мереж.</p><p><strong>ВАЖЛИВО! </strong>Спочатку я підключив придбану картку до телефона й перевірив, чи можна з неї телефонувати та відправляти SMS. У пригоді став старий смартфон із побитим екраном. Також на смартфон встановив спеціальний мобільний застосунок для моніторингу балансу і керування тарифами та послугами. Потім картка просто виймається з телефона, вставляється у модем, а застосунок продовжує працювати на телефоні без SIM. Рагульно? Так. Але це працює.</p><p><strong>ВАЖЛИВО! </strong>Якщо виникнуть плани розіслати багато SMS, то дуже важливо обрати правильний тариф мобільного оператора або будь-яким іншим чином розповісти йому, що ви збираєтеся використовувати рішення саме для роботи. </p><p>Я обрав звичайний пакет із найдешевшим тарифом і додаткову послугу із багатьма SMS. У результаті оператор просто заблокував мою SIM-картку, коли в один прекрасний день сталася розсилка не 2-5 SMS за добу, а більш ніж 500 протягом 50 хв по 10 SMS за хвилину (так була налаштована моя програма для відправки – блоками по 10 штук кожну хвилину). </p><p>Історія закінчилася хепі-ендом – я написав заяву в жанрі «Був неправий, дурний і недалекоглядний, більше така ганебна поведінка з мого боку не повториться» і SIM-картку розлочили.</p><p><strong>Пристрій, що буде керувати модемом.</strong> Обирати не випало, бо вже маю парочку роутерів Mikrotik hAP AC2, один із яких роздає дітям інтернет для віддаленого навчання та ютубу, а на іншому я тренуюся робити непристойні адмінські речі (точніше, просто пробую повторити щось цікаве з інтернету, бо не є професійним сисадміном і маю до того лише дотичне відношення). Дуже непогана штука, але трішки задорога – «затягне» в районі 2000-3000 грн.</p><p>Виявилося, що цей роутер здатен керувати модемом і має API для допитливих програмістів, а от програмування набагато ближче мені, аніж мережі чи їх адміністрування. Наявність цього роутера та його можливості й стали причиною проведення POC.</p><p><strong>Offtopic. </strong>За власними суб’єктивними непрофесійними враженнями, обладнання Mikrotik за співвідношенням ціна-якість займає сутінкову зону між серйозним мережевим обладнанням і ширпотребом для дому.</p><h3 id="2-%D0%B7%D0%B1%D0%B8%D1%80%D0%B0%D1%94%D0%BC%D0%BE-%D0%B2%D1%81%D0%B5-%D0%B4%D0%BE-%D0%BA%D1%83%D0%BF%D0%B8-%D0%B9-%D0%BD%D0%B0%D0%BB%D0%B0%D1%88%D1%82%D0%BE%D0%B2%D1%83%D1%94%D0%BC%D0%BE-%D0%B2%D1%96%D0%B4%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D1%83-sms-%D1%96%D0%B7-%D1%80%D0%BE%D1%83%D1%82%D0%B5%D1%80%D0%B0">2. Збираємо все до купи й налаштовуємо відправку SMS із роутера</h3><p>Ось так виглядають деталі окремо й зібрані докупи. Були певні проблеми з кришкою на модемі – знімати її не дуже зручно. Також варто бути обережним із розміщенням SIM-картки у гнізді. Там немає ніяких обмежень над контактами, можна засунути картку далеко всередину і все, фініта ля комедія. Модем підключаємо в роз’єм USB на роутері. Тепер ми готові до налаштування міцного і тривалого союзу роутера з модемом.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/08/10-3.jpg" class="kg-image" alt loading="lazy" width="600" height="450"></figure><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/08/11-2.jpg" class="kg-image" alt loading="lazy" width="600" height="450"></figure><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/08/12-2.jpg" class="kg-image" alt loading="lazy" width="600" height="450"></figure><p>Переходимо до налаштування роутера. Тут я припускаю, що читач хоча б на базовому рівні знайомий із роутером Mikrotik. Або ж розбереться самостійно, як до нього підключатися і змінювати налаштування. Є кілька варіантів, як можна «потрапити на роутер». Через браузер або ж за допомогою програми winbox, яка легко завантажується із сайту <a href="https://mikrotik.com/download">Mikrotik</a>.</p><p>Я користуюся winbox. Програма орієнтована на операційну систему Windows, тому необхідно поставити щось типу Wine, щоб пускати winbox на Linux-ах.</p><p>Підключаємо модем в USB-порт роутера, заходимо в налаштування роутера і відкриваємо меню Interfaces (червона стрілка № 1). Якщо не сталося форс-мажорів, то у списку інтерфейсів повинен з’явитися інтерфейс ppp-out1 (червона стрілка № 2). Якщо після підключення цей інтерфейс знаходиться у стані disabled (сіренький у списку і хрестик зліва біля інтерфейсу), то його варто перевести у стан enabled. Для цього виділяємо інтерфейс і натискаємо блакитну галочку зверху списку (червона стрілка № 3).</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/08/20.png" class="kg-image" alt loading="lazy" width="739" height="365"></figure><p>Далі ми повинні прибрати декілька галочок у налаштуваннях інтерфейсу ppp-out1. Це варто зробити на всяк випадок, щоб не мати раптових конфузів із доступом роутера в інтернет. Клікаємо лівою кнопкою миші двічі на ppp-out1 у списку, щоб відкрити віконце властивостей інтерфейсу. Прибираємо дві галочки, на які показують червоні стрілки, і натискаємо кнопку Apply справа на віконці.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/08/21.png" class="kg-image" alt loading="lazy" width="739" height="366"></figure><p>Далі нам необхідно включити API на роутері. Обираємо пункт меню IP -&gt; Services (червона стрілка № 1). Відкриється віконце зі списком сервісів, через які можна мати взаємодію з роутером. У списку знаходимо елемент api (червона стрілка № 2). Аналогічно, як і зі списком інтерфейсів, сіренький елемент – значить disabled. Переводимо api в стан enabled – синя галочка зверху списку. Порт, на якому буде відкрито API, обираємо на власний смак. Для цього двічі клікаємо у списку на api й у віконці властивостей сервісу задаємо потрібний порт.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/08/22.png" class="kg-image" alt loading="lazy" width="739" height="366"></figure><p><strong>Перевірка відправлення SMS.</strong> Відкриваємо пункт меню Tools -&gt; SMS (червона стрілка № 1). На віконці, що відкрилося, знаходимо у правому нижньому кутку кнопку Send SMS (червона стрілка № 2) і натискаємо її.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/08/23.png" class="kg-image" alt loading="lazy" width="739" height="366"></figure><p>Відкриється ще одне віконце. Звертаємо увагу на такі налаштування:</p><p>- Type=Serial.<br>- Port=usb1 – порт, куди було включено модем.<br>- Channel=0 – тут необхідно підібрати правильний варіант, спробуйте значення 0-3.</p><p>Набираємо довільний текст у полі Message, номер телефону у полі Phone Number, значення 0 у полі Channel і натискаємо кнопку Send Message. Phone Number я б рекомендував використовувати той, до телефону з яким «дотягнутися зовсім неважко» (с) Митець.</p><p>Якщо Channel було обрано правильно, то прийде SMS. Якщо ж SMS не було доставлено чи роутер викинув віконце з помилкою, то пробуємо інше значення для поля Channel. Ще буває корисно заглянути в логи роутера (зліва у вертикальному меню на winbox є однойменний пункт Log). Після першого вдалого тесту занотовуємо десь значення Channel і Port.</p><h3 id="3-%D0%B2%D1%96%D0%B4%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F-sms-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-api-%D1%80%D0%BE%D1%83%D1%82%D0%B5%D1%80%D0%B0">3. Відправлення SMS через API роутера</h3><p>В архіві до статті (Sms.zip) можна знайти вихідний код на C# консольної програми для відправки SMS. Цей код орієнтований на .NET Core 6.0 і може бути зібраний як під Windows, так і під Linux. </p><p>Звісно, цей простий проєкт не є тим рішенням, яке одного прекрасного дня розіслало декілька сотень SMS, за що оператор заблокував мою тестову SIM-картку. Він був спеціально створений для цієї статті за допомогою Visual Studio 2022 Community Edition. Для внесення змін і запуску також можна використати Visual Studio Code. Або ж прямо з консолі.</p><p>Перед запуском відкриваємо файл Program.cs і змінюємо рядки 4-10 відповідно до ваших умов. Про settings.SmsPort і settings.SmsChannel писалося вище – правильні значення ми запам’ятали, коли експериментували із відправкою SMS безпосередньо з роутера. Всі інші сеттінги начебто інтуїтивно зрозумілі.</p><p><strong>ВАЖЛИВО! </strong>Припускаю, що читач обізнаний, що таке IP-адреса, як облаштована його локальна мережа і яку IP-адресу має його роутер. Окремо хочу звернути увагу на один із параметрів – settings.IsNewAPI. Починаючи з певної версії RouterOS (операційна система, яка керує залізом Mikrotik), розробники змінили спосіб логіну до API роутера. Можливо, потрібно буде підібрати значення settings.IsNewAPI.</p><p>Код у файлі Mikrotik.cs базується на прикладі, який доступний на сайті <a href="https://wiki.mikrotik.com/wiki/API_in_C_Sharp">Mikrotik</a>, але трішки модифікований. Змінюємо налаштування у файлі Program.cs і пробуємо запускати.</p><h2 id="%D0%B5%D0%BF%D1%96%D0%BB%D0%BE%D0%B3">ЕПІЛОГ</h2><h3 id="%D0%B7-%D0%BD%D0%B5%D0%B2%D0%B8%D1%80%D1%96%D1%88%D0%B5%D0%BD%D0%B8%D1%85-%D1%96-%D0%BF%D0%BE%D1%82%D0%B5%D0%BD%D1%86%D1%96%D0%B9%D0%BD%D0%B8%D1%85-%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC-%D0%BC%D0%B0%D1%94%D0%BC%D0%BE-%D1%82%D0%B0%D0%BA%D1%96">З невирішених і потенційних проблем маємо такі:</h3><p>- Після блокування картки я так і не дізнався, що мої SMS перестали відправлятися, бо роутер без проблем «ковтав» кожен виклик API й не сигналізував, що насправді SMS нікуди не йдуть. Очевидно, модем доповідав роутеру, що при відправленні SMS проблем не сталося, а роутер той оманливий success транслював мені у програму.</p><p>- Не досліджувалася змога отримувати підтвердження, що SMS «долетіла» на пристрій адресата, якщо відправилася без помилок. Не виключено, що така можливість є. Можливо, з іншим модемом.</p><p>- Не реалізовано моніторинг стану SIM-картки. Можна легко пропустити момент, коли гроші на картці закінчаться і SMS не підуть за призначенням.</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Війна – не найсприятливіше середовище для ведення бізнесу, але часто саме умови дають найбільші поштовхи. Це ми могли побачити під час пандемії коронавірусу, коли більшість компаній адаптувалися до нових реалій, перейшли на дистанційку і продовжили розширюватись.

Дещо схоже відбувається і зараз, під час повномасштабної війни з росією. Українські компанії шукають можливості ]]></description>
        <link>https://proit.ua/masshtabuvatisia-udvichi-pid-chas-viini-na-shcho-bizniesam-slid-zviertati-uvaghu/</link>
        <guid isPermaLink="false">64d00a690a94337e673a08b9</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Сергій Поляков ]]></dc:creator>
        <pubDate>пн, 07 серп 2023 12:00:02 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/08/man-travelling-world.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Війна – не найсприятливіше середовище для ведення бізнесу, але часто саме умови дають найбільші поштовхи. Це ми могли побачити під час пандемії коронавірусу, коли більшість компаній адаптувалися до нових реалій, перейшли на дистанційку і продовжили розширюватись.</p><p>Дещо схоже відбувається і зараз, під час повномасштабної війни з росією. Українські компанії шукають можливості для виживання, роблять ставку на експорт і виходять на європейські ринки, нерідко збільшуючи обсяги виробництва.</p><p>Згідно з даними <a href="https://business.diia.gov.ua/analytics/research/stan-ta-potreby-biznesu-v-umovakh-viiny-rezultaty-opytuvannia-v-sichni-2023-roku">останнього дослідження Дії.Бізнес</a> і партнерів, 14% компаній показали зростання обсягів робіт порівняно з періодом до 24 лютого 2022 року. Тоді як повністю зупинили свій бізнес лише 8% компаній. UCloud стала однією з тих, яка змогла масштабуватися й вийти на новий рівень під час війни.</p><p><strong>Що дало нам змогу масштабуватись?</strong></p><p><em><strong>Передумови</strong></em></p><p>У перші дні повномасштабного вторгнення головним завданням для багатьох українців стало перевезення своєї родини у безпечне місце. Те ж саме відбувалось і з бізнесом.</p><p>Багато компаній почали звертатися до нас, аби перенести свою інфраструктуру у безпечні ЦОД у Європі, адже дата-центри в Україні могли бути зруйнованими або окупованими.</p><p>Ми не один рік працюємо у Європі з ЦОДами у Польщі та Німеччині, а також маємо великий досвід диджиталізації бізнесу. Це дало змогу надати нашим клієнтам своєчасні та якісні послуги.</p><p><em><strong>Нарощування потужностей</strong></em></p><p>Великий попит на послуги хмарного оператора змусив компанію розширювати свою команду та нарощувати потужності. Ще до повномасштабного вторгнення UCloud закупила велику партію обладнання для одних цілей, але у підсумку ми використали його для нагальних потреб. </p><p>Це обладнання дало нам змогу у перші 2 місяці заповнювати ті ресурси, які вже були в наявності. Після цього пішла планова робота з нарощування потужностей. Наприклад, розміщення нашої інфраструктури в ще одному ЦОДі у Польщі, відкриття офісу у Варшаві та закупівлі нового обладнання.</p><p>Своєчасне реагування на збільшення попиту дало нам змогу масштабуватись і стати найбільшим хмарним оператором в Україні. За рік ми зросли на 40% у валюті. Як і український ринок показав зростання теж на 40%.</p><p><em><strong>Лояльність</strong></em></p><p>Ще одним важливим фактором вдалого масштабування в умовах війни є лояльність до своїх клієнтів. Після початку вторгнення багато компаній не були спроможні платити за послуги хмарного оператора, але ми продовжили надавати їх.</p><p>Згодом більшість компаній оплатили послуги у повному обсязі. Це дало змогу UCloud не лише не втратити своїх клієнтів, але й у підсумку отримати гроші та продовжити масштабування.</p><p>Надійне партнерство – це те, що втримало український бізнес на плаву після 24 лютого. Компанії об’єдналися і змогли підтримати одна одну у скрутний час. Як би пафосно це не звучало, але це ще один приклад єднання українського народу.</p><p><strong>Деякі поради щодо ведення бізнесу під час війни</strong></p><p><strong>1.</strong> <strong><strong><strong>Використовуйте бекапування</strong></strong></strong></p><p>Зараз ми спостерігаємо тенденцію, що більшість компаній почали використовувати бекапування за межами основних ЦОДів. Найкраще рішення під час війни – робити копії інформації у Європі.</p><p>Причини ті ж – українські дата-центри все ще перебувають під ризиком обстрілів та знищення. Тому мати копії інфраструктури у закордонних дата-центрах – це маст хев для українського бізнесу. Це дасть змогу не припиняти роботу у випадку надзвичайних ситуацій і форс-мажорів.</p><p>Також необхідно регулярно перевіряти справність бекапів: їхню цілісність, готовність до відновлення. Це не займає багато часу, але зменшить ризик зникнення інформації.</p><p><strong>2. <strong><strong>Навчайте свою команду</strong></strong></strong></p><p>Під час війни підвищується ризик виникнення надзвичайних ситуацій. У таких випадках усі працівники повинні знати, як діяти. Йдеться не лише про рядових співробітників, але й про менеджерів середньої ланки та вище керівництво.</p><p>Подумайте, з якими ситуаціями може зіткнутися конкретно ваш бізнес в умовах війни, прорахуйте усі ризики, складіть конкретний план виходу із ситуації для кожного з підрозділів.</p><p>Таке планування зменшить паніку всередині компанії та збереже багато ресурсів. Кожен знатиме свою роль у вирішенні певної ситуації та не заважатиме іншим виконувати свою роботу.</p><p><strong>3. <strong><strong>Шукайте хороших партнерів</strong></strong></strong></p><p>Слід ще раз наголосити, що партнерство – вагомий складник успіху в умовах війни. Шукайте для себе надійних партнерів, на яких можна покластися. Об’єднуйтесь, допомагайте один одному, ставайте сильнішими разом.</p><p>Це не означає, що треба співпрацювати з будь-ким, аби лише співпрацювати. Потрібно зважено підходити до вибору партнерів, щоб співпраця була взаємовигідною й давала змогу розвиватись усім її суб’єктам.</p><p>Позитивна тенденція з дослідження, про яке я згадував на початку блогу, дає нам надію, що невдовзі український бізнес вийде на довоєнні показники. Компанії продовжують відбудовуватись у війну завдяки співпраці. Тому розвиваймо український бізнес разом!</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Конфлікти на робочому місці – неодмінна складова життя будь-якої компанії. Вони трапляються в кожній організації незалежно від її розміру, галузі чи місця розташування, і всі ми добре знаємо, наскільки неприємними вони можуть бути. Непорозуміння між членами команди можуть впливати на роботу, знижувати продуктивність і підривати моральний дух.

Як свідчить статистика, 85% ]]></description>
        <link>https://proit.ua/grani-supieriechnostiei-8-iefiektivnikh-sposobiv-virishiti-konflikt-na-roboti/</link>
        <guid isPermaLink="false">64caabebaf56473afd8818e5</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Анастасія Джогола ]]></dc:creator>
        <pubDate>пт, 04 серп 2023 12:00:31 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/08/illustration-group-people-sitting-around-table-with-papers-generative-ai.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Конфлікти на робочому місці – неодмінна складова життя будь-якої компанії. Вони трапляються в кожній організації незалежно від її розміру, галузі чи місця розташування, і всі ми добре знаємо, наскільки неприємними вони можуть бути. Непорозуміння між членами команди можуть впливати на роботу, знижувати продуктивність і підривати моральний дух.</p><p>Як свідчить <a href="https://zipdo.co/statistics/conflict-in-the-workplace/">статистика</a>, 85% співробітників по всьому світу стикаються з конфліктами на робочому місці. Непорозуміння між членами команд щороку обходяться компаніям у кругленьку суму – $359 млрд. Ця приголомшлива цифра має слугувати яскравим нагадуванням про те, що невирішені суперечки та розбіжності на роботі суттєво впливають на фінансовий успіх і стабільне функціонування бізнесів.</p><p>Розуміння природи конфліктів на робочому місці, їхніх причин та викликів, які вони ставлять перед командою, а також вміння ефективно їх вирішувати, є критичним для збереження гармонії, підвищення результативності й створення здорового робочого середовища. Маю практичні поради, які допоможуть впоратися з конфліктною ситуацією дієво та безболісно для усіх сторін.</p><h2 id="%D0%BA%D0%BE%D0%BD%D1%84%D0%BB%D1%96%D0%BA%D1%82%D0%B8-%D1%83-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%96-%D0%BF%D1%80%D0%B8%D1%87%D0%B8%D0%BD%D0%B8-%D0%BD%D0%B0%D1%81%D0%BB%D1%96%D0%B4%D0%BA%D0%B8-%D1%82%D0%B0-%D0%B2%D0%B8%D0%B4%D0%B8">Конфлікти у команді: причини, наслідки та види</h2><p>Конфлікт на робочому місці виникає, коли між працівниками з’являються розбіжності через протилежні інтереси, особистісні якості, переконання чи ідеї. Це явище є природним і неминучим, коли пліч-о-пліч працюють люди з різним досвідом і світоглядом.</p><p>Конфлікт може виражатися по-різному, включно з відсутністю співпраці, словесними образами, гнівом, низькою якістю або затримкою роботи, провалом проєкту тощо.</p><p>Існують різні види конфліктів на робочому місці. <strong>Ось найпоширеніші, на які варто звернути увагу:</strong></p><h3 id="%D0%BE%D1%81%D0%BE%D0%B1%D0%B8%D1%81%D1%82%D1%96%D1%81%D0%BD%D1%96-%D0%BA%D0%BE%D0%BD%D1%84%D0%BB%D1%96%D0%BA%D1%82%D0%B8">Особистісні конфлікти</h3><p>Такі конфлікти виникають через різні цінності, переконання, характери та стилі поведінки співробітників. Їх неможливо уникнути, тому що всі ми маємо власну індивідуальність.</p><p>Конфлікти на особистісному ґрунті можуть бути складними та неприємними, але корисно навчитися працювати з людьми, підходи та погляди яких відрізняються від ваших.</p><h3 id="%D0%BA%D0%BE%D0%BD%D1%84%D0%BB%D1%96%D0%BA%D1%82%D0%B8-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D0%B8">Конфлікти через ресурси</h3><p>Цей тип конфліктів виникає внаслідок конкуренції за обмежені ресурси, такі як бюджет, час, персонал або інші матеріальні аспекти. Вони можуть порушити робочий процес і призвести до напруження у команді.</p><p>Управління такими конфліктами охоплює розумний розподіл ресурсів, прозорі комунікації та розробку стратегій оптимізації використання ресурсів.</p><h3 id="%D0%BA%D0%BE%D0%BD%D1%84%D0%BB%D1%96%D0%BA%D1%82%D0%B8-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-%D1%81%D1%82%D0%B8%D0%BB%D1%8C-%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D0%B8">Конфлікти через стиль роботи</h3><p>Різні співробітники можуть мати різний стиль роботи, організації часу та підходи до виконання завдань. Це може призводити до неузгодженостей і недовіри між членами команди. Скажімо, один із ваших співробітників може працювати у швидкому темпі, а інший – більш методичний і потребуватиме більше часу на обдумування завдань перед їх виконанням.</p><p>Управління такими конфліктами передбачає приведення вимог та очікувань у відповідність до потреб і можливостей кожного співробітника.</p><h3 id="%D0%BA%D0%BE%D0%BD%D1%84%D0%BB%D1%96%D0%BA%D1%82%D0%B8-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-%D1%80%D0%BE%D0%BB%D1%8C%D0%BE%D0%B2%D1%83-%D0%BD%D0%B5%D0%B2%D0%B8%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D1%96%D1%81%D1%82%D1%8C">Конфлікти через рольову невизначеність</h3><p>У нових командах або проєктах можуть виникати конфлікти через невизначеність ролей та обов’язків. Це може призводити до дублювання зусиль, неефективного виконання завдань і непорозумінь.</p><p>Управління конфліктами через рольову невизначеність передбачає чітке розмежування функцій і відповідальності кожного співробітника за виконану роботу.</p><h3 id="%D0%BA%D0%BE%D0%BD%D1%84%D0%BB%D1%96%D0%BA%D1%82%D0%B8-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-%D0%BE%D1%80%D0%B3%D0%B0%D0%BD%D1%96%D0%B7%D0%B0%D1%86%D1%96%D0%B9%D0%BD%D1%83-%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D1%83%D1%80%D1%83">Конфлікти через організаційну культуру</h3><p>Різні цінності, підходи та практики в організаційній культурі можуть призводити до конфліктів між співробітниками та керівництвом.</p><p>Управління такими конфліктами включає створення сприятливого робочого середовища, де кожен працівник відчуває себе цінним і потрібним.</p><p>Конфліктні ситуації на роботі можуть викликати тривогу і депресію. Велика кількість працівників не бачать кращого способу змінити ситуацію, ніж просто звільнитися. Але, попри численні негативні наслідки, конфлікти на робочому місці також можуть призвести до чогось більш позитивного і принести користь сторонам, які беруть у них участь.</p><p>Зокрема, конфлікти створюють ситуації, де зіштовхуються різні підходи та погляди, що сприяє виникненню нових ідей. Коли співробітники обговорюють і сперечаються щодо альтернативних рішень, вони стають більш інноваційними. Такі дискусії можуть призвести до впровадження нових практик, процесів або продуктів, які підвищують конкурентоспроможність компанії на ринку.</p><p>Також конфлікти можуть стимулювати конкуренцію всередині колективу й прагнення до досягнення кращих результатів. А ще – виявляти системні проблеми у роботі команди. Вони вказують на те, що щось не працює належним чином і це щось потрібно упорядкувати або вдосконалити.</p><p>За допомогою правильного управління конфліктами можна розробити й впровадити заходи для вирішення цих проблем і покращення процесів.</p><h2 id="%D1%8F%D0%BA-%D0%BF%D0%BE%D0%BC%D1%96%D1%82%D0%B8%D1%82%D0%B8-%D0%BE%D0%B7%D0%BD%D0%B0%D0%BA%D0%B8-%D0%BA%D0%BE%D0%BD%D1%84%D0%BB%D1%96%D0%BA%D1%82%D1%83-%D0%BD%D0%B0-%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D1%96">Як помітити ознаки конфлікту на роботі?</h2><p>Виявлення ранніх ознак конфлікту – найкращий спосіб запобігти напрузі до того, як вона стане згубною для вашої компанії.</p><p>Ось як можна розпізнати ознаки конфлікту на роботі.</p><h3 id="%D0%B2%D1%96%D0%B4%D1%81%D0%BB%D1%96%D0%B4%D0%BA%D0%BE%D0%B2%D1%83%D0%B9%D1%82%D0%B5-%D0%B0%D1%82%D0%BC%D0%BE%D1%81%D1%84%D0%B5%D1%80%D1%83-%D1%83-%D0%BA%D0%BE%D0%BB%D0%B5%D0%BA%D1%82%D0%B8%D0%B2%D1%96">Відслідковуйте атмосферу у колективі</h3><p>Зростання напруги та недружелюбність можуть проявлятися у грубому тоні спілкування, іронії або намаганнях ізолювати окремих співробітників. Окрім того, якщо колеги, які раніше були активними учасниками комунікації в колективі, стають менш контактними й уникають спілкування, це може свідчити про наявність непорозумінь.</p><h3 id="%D0%B7%D0%B2%D0%B5%D1%80%D0%BD%D1%96%D1%82%D1%8C-%D1%83%D0%B2%D0%B0%D0%B3%D1%83-%D0%BD%D0%B0-%D0%B7%D0%BD%D0%B8%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F-%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D1%96">Зверніть увагу на зниження продуктивності</h3><p>Коли виникає конфлікт, продуктивність на робочому місці знижується. Якщо ваші співробітники незадоволені своїм оточенням, вони можуть відчувати себе менш мотивованими та зосередженими на роботі. Це може сповільнити терміни виконання завдань і завершення проєктів.</p><h3 id="%D1%81%D0%BB%D1%96%D0%B4%D0%BA%D1%83%D0%B9%D1%82%D0%B5-%D0%B7%D0%B0-%D0%BF%D0%BE%D0%BA%D0%B0%D0%B7%D0%BD%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8-%D0%BF%D0%BB%D0%B8%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%96-%D0%BA%D0%B0%D0%B4%D1%80%D1%96%D0%B2">Слідкуйте за показниками плинності кадрів</h3><p>Якщо раптом співробітники частіше починають звільнятися або ж ви помічаєте, що вони без поважної причини неналежно виконують завдання, – це тривожний дзвіночок. Уникнення робочого середовища може бути способом подолання конфлікту, особливо якщо члени команди не отримують жодної додаткової допомоги у його вирішенні. Поговоріть зі співробітниками, які звільняються, щоб зрозуміти їхні мотиви.</p><h2 id="%D0%B7%D0%BD%D0%B8%D0%B6%D1%83%D1%94%D0%BC%D0%BE-%D0%B3%D1%80%D0%B0%D0%B4%D1%83%D1%81-%D0%BD%D0%B0%D0%BF%D1%80%D1%83%D0%B3%D0%B8-%D0%B0%D0%B1%D0%B8-%D0%B7%D0%B0%D0%BF%D0%BE%D0%B1%D1%96%D0%B3%D1%82%D0%B8-%D0%BF%D0%BE%D0%B6%D0%B5%D0%B6%D1%96">Знижуємо градус напруги, аби запобігти пожежі</h2><p>Якщо не протистояти конфлікту відразу, як він стане помітним, проблема може стати дуже великою і впоратися з нею буде важче. До конфлікту може втягнутися більше людей і він матиме триваліші наслідки, яких буде непросто позбутися.</p><p>Тож що варто робити, аби залагоджувати конфлікти на ранніх стадіях, не даючи їм розростатися до велетенських масштабів?</p><h3 id="1-%D1%81%D1%82%D0%B2%D0%BE%D1%80%D1%96%D1%82%D1%8C-%D0%BF%D0%BE%D0%BB%D1%96%D1%82%D0%B8%D0%BA%D1%83-%D0%B2%D1%96%D0%B4%D0%BA%D1%80%D0%B8%D1%82%D0%B8%D1%85-%D0%B4%D0%B2%D0%B5%D1%80%D0%B5%D0%B9">1. Створіть політику відкритих дверей</h3><p>Для того, аби виявити конфлікт на ранній стадії, менеджери повинні створити атмосферу відкритого спілкування, щоб працівники не соромилися звертатися до керівництва з проблемами, які їх турбують.</p><p>Один зі способів сприяти цьому – запровадити політику відкритих дверей. Ця політика повинна заохочувати працівників приходити до керівництва з будь-якими важливими питаннями та давати надію на сприяння у вирішенні проблем. За таких умов працівники з більшою ймовірністю звертатимуться до керівництва у разі виникнення позаштатних ситуацій, що може допомогти запобігти конфліктам або не допустити їхньої подальшої ескалації.</p><h3 id="2-%D0%B7%D0%BD%D0%B0%D0%B9%D0%B4%D1%96%D1%82%D1%8C-%D1%82%D0%BE%D1%87%D0%BA%D0%B8-%D0%B4%D0%BE%D1%82%D0%B8%D0%BA%D1%83">2. Знайдіть точки дотику</h3><p>Часто після того, як співробітники проговорюють свої проблеми, вони розуміють, що насправді працюють над однією метою, просто мають різні погляди на те, як її досягти. Після того, як ви допоможете їм визначити спільну мету, працювати над її досягненням буде набагато легше.</p><h3 id="3-%D0%B7%D0%B0%D0%BD%D1%83%D1%80%D1%8E%D0%B9%D1%82%D0%B5%D1%81%D1%8C-%D1%83-%D1%81%D1%83%D1%82%D1%8C">3. Занурюйтесь у суть</h3><p>Вирішуючи конфлікт на робочому місці, важливо зрозуміти його природу та першопричину. Чи є конфліктна ситуація просто непорозумінням, спричиненим неспівпадінням темпераментів, чи конкуренцією, або ж це щось набагато серйозніше як, наприклад, дискримінація та переслідування.</p><p>У цьому контексті важливо докопатися до суті проблеми та визначити рівень її серйозності, щоб зрозуміти, як найкраще її вирішити.</p><h3 id="4-%D0%B7%D0%B0%D0%BE%D1%85%D0%BE%D1%87%D1%83%D0%B9%D1%82%D0%B5-%D0%BF%D1%80%D0%B0%D1%86%D1%96%D0%B2%D0%BD%D0%B8%D0%BA%D1%96%D0%B2-%D0%B2%D0%B8%D1%80%D1%96%D1%88%D1%83%D0%B2%D0%B0%D1%82%D0%B8-%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B8-%D1%81%D0%B0%D0%BC%D0%BE%D1%81%D1%82%D1%96%D0%B9%D0%BD%D0%BE">4. Заохочуйте працівників вирішувати проблеми самостійно</h3><p>Бувають випадки, коли краще дати змогу співробітникам вирішувати конфлікти самостійно.</p><p>Коли ви бачите, що члени команди беруть участь у дебатах на ту чи іншу тему і коли розбіжності не переростають в ескалацію, такі ситуації можуть стати можливістю для співробітників знайти спільну мову або дійти конструктиву під час суперечки. </p><p>Однак, якщо ви вважаєте, що конфлікт може розростися або досягти такого рівня, що комусь стане некомфортно, то час діяти.</p><h3 id="5-%D1%80%D0%B5%D0%B0%D0%B3%D1%83%D0%B9%D1%82%D0%B5-%D1%81%D0%B2%D0%BE%D1%94%D1%87%D0%B0%D1%81%D0%BD%D0%BE">5. Реагуйте своєчасно</h3><p>Як уже зазначалося, у деякі конфлікти на робочому місці можна (і потрібно) не втручатися, давши змогу членам команди розібратися самостійно. Суперечки неминучі, але ваша робота полягає у тому, щоб спостерігати за ними й вирішувати, чи варто втручатися. </p><p>Тож як дізнатися, коли настав час втрутитися?</p><p><strong>Ось кілька ситуацій, коли ваша участь є необхідною:</strong></p><ul><li>Коли дружній жарт переростає у булінг.</li><li>Коли у процесі комунікації сторони дозволяють собі неповагу, образи, агресію та погрози.</li><li>Коли конфлікт порушує продуктивність команди або загрожує її моральному духу.</li><li>Коли наявні ознаки дискримінації.</li></ul><p>Переконайтеся, що ваші працівники відчувають, що їх чують і готові прийти на допомогу, незалежно від серйозності ситуації.</p><h3 id="6-%D0%B2%D0%B8%D1%81%D0%BB%D1%83%D1%85%D0%B0%D0%B9%D1%82%D0%B5-%D0%B2%D1%81%D1%96-%D0%B7%D0%B0%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D1%96-%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%B8">6. Вислухайте всі залучені сторони</h3><p>Важливо дати змогу кожному учаснику конфлікту викласти свою версію того, що відбулося. Роль менеджера полягає у тому, щоб активно вислухати кожну сторону, зберігаючи нейтралітет. Часто співробітники більш схильні до мирного вирішення конфлікту, коли відчувають, що їхню точку зору чують і визнають.</p><h3 id="7-%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%83%D0%B9%D1%82%D0%B5-%D1%96%D0%BD%D1%86%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8">7. Документуйте інциденти</h3><p>Коли ви маєте справу з конфліктом на робочому місці, обов’язково фіксуйте факти будь-якого інциденту, а також рішення, на яке погодилася кожна зі сторін. Це допоможе вам відстежувати поведінку членів команди у динаміці та виявляти працівників, які можуть бути токсичними для вашого робочого середовища.</p><h3 id="8-%D0%B2%D1%96%D0%B4%D1%81%D1%82%D0%B5%D0%B6%D1%83%D0%B9%D1%82%D0%B5-%D1%80%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B8">8. Відстежуйте результати</h3><p>Після того, як сторони дійшли згоди, буде незайвим зв’язатися із залученими працівниками через кілька днів або тижнів, щоб переконатися, що конфлікт повністю вичерпано і немає жодних додаткових питань. Якщо потрібно внести корективи або зміни, їх слід зробити швидко.</p><p>Варто зазначити, що засоби вирішення конфліктів мають базуватися на емоційному інтелекті та конструктивній комунікації. Насамперед важливо зосередитися на розумінні джерела конфлікту, а не на пошуку винних.</p><p>Правильне владнання конфліктів допоможе зберегти позитивну робочу атмосферу та забезпечить успішне досягнення цілей компанії.<br></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Знаєте, шо робе програміст після того, як напрограмірується по роботі? Правильно, програмірує не по роботі. Виглядає це так: сидиш, кодиш, кодиш, потім такий «Ой, втомиивсь!», закриваєш редактор коду, потягуєшся, відкриваєш редактор коду, но вже інший проєкт, начинаєш кодить і такий «Ооо, тепер фааайно». А шоб на нас не дивились як ]]></description>
        <link>https://proit.ua/dlia-chogho-vam-potribien-vlasnii-piet-proiekt/</link>
        <guid isPermaLink="false">64c91d610a94337e673a021b</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Сергій Бабіч ]]></dc:creator>
        <pubDate>ср, 02 серп 2023 12:00:19 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/08/3d-render-cute-young-boy-character-cartoon-with-backpack-using-laptop-computer-generative-ai.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Знаєте, шо робе програміст після того, як напрограмірується по роботі? Правильно, програмірує не по роботі. Виглядає це так: сидиш, кодиш, кодиш, потім такий «Ой, втомиивсь!», закриваєш редактор коду, потягуєшся, відкриваєш редактор коду, но вже інший проєкт, начинаєш кодить і такий «Ооо, тепер фааайно». А шоб на нас не дивились як на геть придуркуватих, ми називаємо це «пет-проєкт».</p><p>Що ж таке той пет-проєкт? Це якась така штука, яку ти робиш у вільний від роботи час, чисто для себе, і у неї є просто безліч позитивних сторін.</p><p>Найочевидніша – на пет-проєкті можна вчитися нових речей. Суть у тому, що на робочих проєктах у тебе немає особливої свободи розвитку, бо зазвичай на них доволі собі фіксований набір технологій, накатані підходи й процеси, що з часом відшліфовуються до автоматизму. І якщо не відволікатися на щось інше, то цілком закономірно приходить стадія, яку я називаю «отупіння», ну або, якщо делікатніше, то «закисання». Це значить, шо в рамках цього набору ти можеш знати все як боженька, бо пиляєш то щодня, а от шось за межами – всьо, ручки з жопи, «мама, це буде важко!» (© Бабіч молодший).</p><p>І тут в нагоді стає ваш пет-проєкт, бо над вами ніхто не стоїть, не розказує, шо реакт із редаксом – то єдино вірне рішення на всі випадки життя, і ти можеш спокійно пробувати всяку дич, яка спадає тобі на думку. Його можна робити даже на Ангулярі. Чи на Vue. Чи на jQuery. Чи взагалі вузликовим письмом. І у такий спосіб можна вивчати та практикувати нові для себе підходи, які потім можуть стати в нагоді. Наприклад, коли реакт стане непотрібним, а тут ти такий, опа! і знаєш якийсь маловідомий фреймворк, від якого тепер просто скаженіє ринок.</p><p>А ще, за певного везіння, з того пет-проєкту може вирости шось троха більше. Наприклад, ви зробили інструмент, який вирішує якусь вашу суто особисту проблему. Ну, наприклад, нагадує вам раз на тиждень, шо вам уже майже 36 років. Ви комусь його показали, їм сподобалось, попросили поділитися. Потім прийшли люди, почали пропонувати нові фічі, наприклад, тепер вам ще нагадує, який ви були красівий у 24 роки, а тепер не то шоб очінь. Вітаю, тепер ваш пет-проєкт – опенсорс і полегшує життя не тільки вам. Ну, або заганяє у смуток. Але уже не тільки вас. Ну, а якщо геть зовсім всі планети стануть у ряд, зірки складуться в слово «СРАКА», то ваш пет-проєкт взагалі може стати стартапом.</p><p>Пет-проєкт може мати різні форми. У когось це якась ідея, яку вони роблять і пиляють роками, ніколи не доводячи навіть до альфи. Хтось цілеспрямовано переробляє одне й те саме на якусь нову технологію, хтось робе й кидає. По всякому. От я пару раз шось таке начинав, потім плював, закидав, придумував шось нове. Бо скучно, коли воно перетворюється на ще одну роботу.</p><p>Головне у пет-проєкті – це те, що він повинен приносити вам нові знання та навички, з якими ви потім шось робите. Або ні. От для мене пет-проєкти нарешті набули форми, з якою мені не нудно. Я просто беру шось просте, але на чому я можу навчитися, а потім поділитися тими знаннями з іншими.</p><p>Ну, тобто у моєму випадку пет-проєкт – це процес, а не результат. Стало цікаво в чомусь розібратись – узяв простеньку задачу, зробив, розібрався, як зробити прикольніше, зробив, погладив себе по голові, пішов ділитися з іншими.</p><p>Також я просто несамовито раджу усім початківцям завести такий проєкт і, більше того, ще й викладати його на публічний осуд. Зайців таким чином можна навбивати пів лісу.</p><p>От дивіться. Якшо у вас нема комерційного досвіду, то пет-проєкт принесе вам досвід некомерційний, але, що важливо, – практичний. Ви можете показувати такий проєкт замість усяких там тестових. Що важливо, на відміну від тестового, яке ви зклєпаєте, аби було, ваш пет-проєкт ви зможете пояснити, бо вкладаєте душу в кожен рядок.</p><p>Ще можна робити, як нам колись радили в університеті з курсовими: берете просту задачу, робите, це ваша курсова на першому курсі, а потім ускладнюєте, розвиваєте, аж поки воно не стане повноцінною дипломною роботою. Так і з пет-проєктом, він прогресуватиме разом із вами.</p><p>Ну, і можна ще просто відпочивати з ним, перемикаючи мозок. У мене це – проста верстка. Коли я замахуюсь від усяких жаваскриптів із реактами, я беру і просто верстаю. Шось нескладне, але намагаюсь зробити це якомога прикольнішим чином, тобто упорююсь з усякими новинками CSS. У мене кожен раз мета – якомога менше HTML і CSS коду з якомога крутішим результатом. Такий собі особистий челендж.</p><p>А якщо коротко, то прогроміст із пет-проєктом – це як прогроміст без пет-проєкту, тільки з пет-проєктом і купою вільного часу.</p><p><br></p><p><br></p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ У світі сучасних технологій, де швидкість і гнучкість розвитку та доставки програмного забезпечення стають все більш важливими, роль девопс-спеціаліста займає ключове місце. Але хто вони такі, ці девопс-спеціалісти? Що вони роблять на своїх робочих місцях? Чи важлива ця роль у сучасній IT-індустрії? І як стати одним із них?

У цій ]]></description>
        <link>https://proit.ua/devops-pierievaghi-pierspiektivi-ta-mifi-v-roboti/</link>
        <guid isPermaLink="false">64c68601a45c13077439ae34</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Андрій Козюля ]]></dc:creator>
        <pubDate>пн, 31 лип 2023 12:00:33 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/07/cloudbased-system-tracking-managing-paying-freelancers-created-with-generative-ai.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>У світі сучасних технологій, де швидкість і гнучкість розвитку та доставки програмного забезпечення стають все більш важливими, роль девопс-спеціаліста займає ключове місце. Але хто вони такі, ці девопс-спеціалісти? Що вони роблять на своїх робочих місцях? Чи важлива ця роль у сучасній IT-індустрії? І як стати одним із них?</p><p>У цій статті ми докладно розглянемо ці та інші питання, щоб допомогти вам краще зрозуміти цю критично важливу, але часто недооцінену роль у галузі інформаційних технологій.</p><p><strong>Девопс-спеціаліст </strong>(DevOps Engineer) – це професіонал, який об’єднує в собі навички програмування, системного адміністрування і знання про принципи роботи мережі.</p><p>Головна роль девопс-інженера полягає у створенні зв’язку між командами розробників та оперативників, забезпечуючи ефективне виконання процесів розробки, випуску й управління програмним забезпеченням.</p><p>Девопс-спеціалісти використовують автоматизовані процеси для швидкої й ефективної реалізації змін у коді. Вони є ключовими гравцями у підтримці інфраструктури програмного забезпечення, а також у вирішенні технічних проблем, які виникають під час процесу розробки.</p><p>Девопс-спеціалісти часто працюють із <strong>технологіями</strong>, такими як Docker, Kubernetes, Jenkins, Terraform і багатьма іншими, щоб забезпечити неперервну інтеграцію та неперервну доставку (CI/CD) програмного забезпечення.</p><p>Девопс-інженери використовують різноманітні інструменти й технології для створення та підтримки інфраструктур, які забезпечують швидкий та ефективний випуск нових версій програмного забезпечення.</p><p>Також вони вирішують технічні проблеми, які виникають у процесі розробки або випуску, і працюють над оптимізацією процесів для забезпечення кращої продуктивності. Крім того, до їхньої відповідальності входить розробка і впровадження стратегій безпеки для захисту систем і даних.</p><p>Важливою частиною роботи девопс-спеціаліста є<strong> робота з командою розробників</strong>, щоб розуміти їхні потреби, а також робота з командою управління системами для забезпечення надійного й ефективного середовища для розробки та випуску програмного забезпечення.</p><p>Типовий робочий день девопс-спеціаліста може значно відрізнятися залежно від конкретного проєкту або організації, але деякі основні елементи часто залишаються однаковими. День може розпочатися з перевірки електронної пошти та повідомлень у системах спілкування команди, таких як Slack, щоб ознайомитися з будь-якими важливими оновленнями або проблемами.</p><p>Після цього девопс-спеціаліст може зануритися у конкретні завдання, що включають, наприклад, розробку скриптів для автоматизації, оптимізацію інфраструктури, роботу над стратегіями безпеки, тестування нових змін до системи або розробку нових рішень для підтримки поточних і майбутніх випусків програмного забезпечення.</p><p>Також вони беруть участь у різних зустрічах – із командою розробників, щоб обговорити поточні проблеми й розробити потрібні рішення, або з командою управління, щоб обговорити стратегічні цілі та плани.</p><p>У вільний від завдань і зустрічей час девопс-інженери часто працюють над підвищенням своєї кваліфікації, вивчаючи нові технології або працюючи над особистими проєктами, пов’язаними з їхньою роботою.</p><p>Девопс-спеціалісти повинні мати <strong>досвід роботи</strong> з системами контролю версій, такими як Git, і досвід розробки скриптів і коду часто в таких мовах програмування, як Python або Ruby. Досвід роботи з системами віртуалізації та контейнеризації, такими як Docker або Kubernetes, також важливий. </p><p>Оскільки девопс займаються автоматизацією й оптимізацією процесів, вони також повинні мати знання в області CI/CD (Continuous Integration/Continuous Deployment).</p><p>Софт-скіли, або <strong>комунікаційні навички</strong>, також є важливими для успіху в ролі девопс-інженера. Девопс-спеціалістам часто потрібно спілкуватися з різними командами та стейкхолдерами у процесі роботи. Вміння вирішувати проблеми й аналітичне мислення також необхідні для ідентифікації та вирішення технічних проблем. </p><p>Крім того, вміння постійно навчатися є важливим у світі технологій, який постійно розвивається і змінюється.</p><p><strong>Професія девопс-спеціаліста має низку переваг.</strong> По-перше, це високооплачувана робота з великим попитом на ринку праці. Індустрія IT продовжує зростати, і девопс-інженери є важливою частиною цього сектору. </p><p>По-друге, ця робота надає можливості для навчання та розвитку. Технології швидко змінюються, і девопс-спеціалісти часто знаходяться на передньому краї цих змін. </p><p>Крім того, девопс-спеціалісти часто працюють із різними командами та технологіями, що робить роботу динамічною й цікавою.</p><p><strong>Однак професія девопс-спеціаліста має і свої недоліки.</strong> Робота може бути стресовою, особливо коли виникають проблеми з інфраструктурою або коли треба впровадити важливі зміни в короткі строки. Ця робота також вимагає постійного навчання й оновлення навичок, що може бути викликом. </p><p>Крім того, часом девопс-спеціалістам доводиться працювати поза основними робочими годинами або у вихідні, щоб виконати планове обслуговування чи вирішити непередбачені проблеми.</p><p><em>Як і для будь-якої іншої професії в IT-сфері, існують певні міфи щодо професії девопс-спеціаліста. Зараз ми коротко їх розглянемо й обговоримо, наскільки ці міфи є правдивими.</em></p><h2 id="%D0%BC%D1%96%D1%84-1-%D0%B4%D0%B5%D0%B2%D0%BE%D0%BF%D1%81-%E2%80%93-%D1%86%D0%B5-%D1%80%D0%BE%D0%BB%D1%8C-%D0%B0-%D0%BD%D0%B5-%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81">Міф 1: Девопс – це роль, а не процес</h2><p>Насправді DevOps – це культура або методологія, яка покликана поліпшити співпрацю між командами розробників та IT-спеціалістів, що займаються управлінням системами. Хоча у багатьох організаціях існує посада девопс-спеціаліста, насправді DevOps – це більше про зміну культури та процесів, ніж про конкретну роль однієї людини.‌‌</p><h2 id="%D0%BC%D1%96%D1%84-2-%D0%B4%D0%B5%D0%B2%D0%BE%D0%BF%D1%81-%D1%81%D0%BF%D0%B5%D1%86%D1%96%D0%B0%D0%BB%D1%96%D1%81%D1%82-%D0%BF%D0%BE%D0%B2%D0%B8%D0%BD%D0%B5%D0%BD-%D0%B7%D0%BD%D0%B0%D1%82%D0%B8-%D0%B2%D1%81%D0%B5">Міф 2: Девопс-спеціаліст повинен знати все</h2><p>Девопс-спеціалісту відводиться роль своєрідного універсального спеціаліста в IT, але це не означає, що він повинен бути експертом у всьому. Так, він повинен мати широкий набір навичок і глибоке розуміння різних технологій, але важливішою є здатність до навчання й адаптації, а не володіння усіма можливими технологіями.‌‌</p><h2 id="%D0%BC%D1%96%D1%84-3-%D0%B4%D0%B5%D0%B2%D0%BE%D0%BF%D1%81-%E2%80%93-%D1%86%D0%B5-%D1%82%D1%96%D0%BB%D1%8C%D0%BA%D0%B8-%D0%BF%D1%80%D0%BE-%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D1%96%D1%8E">Міф 3: Девопс – це тільки про автоматизацію</h2><p>Хоча автоматизація є важливою частиною професії DevOps, вона не є єдиним її елементом. DevOps також включає в себе культуру співпраці, постійний цикл покращення, поділ відповідальності та велику увагу до метрик і зворотного зв’язку. Девопс-спеціалісти працюють над автоматизацією, але їхня роль далеко не обмежується цим.‌‌</p><h2 id="%D0%BC%D1%96%D1%84-4-%D0%B4%D0%B5%D0%B2%D0%BE%D0%BF%D1%81-%D1%81%D0%BF%D0%B5%D1%86%D1%96%D0%B0%D0%BB%D1%96%D1%81%D1%82%D0%B0%D0%BC-%D0%BD%D0%B5-%D0%BF%D0%BE%D1%82%D1%80%D1%96%D0%B1%D0%BD%D1%96-%D1%81%D0%BE%D1%84%D1%82-%D1%81%D0%BA%D1%96%D0%BB%D0%B8">Міф 4: Девопс-спеціалістам не потрібні софт-скіли</h2><p>Хоча технічні навички є важливими для девопс-спеціалістів, софт-скіли також є необхідними. Такі спеціалісти повинні мати відмінні навички комунікації та вміння працювати в команді, оскільки їхня робота вимагає тісної взаємодії з різними групами стейкхолдерів.‌‌</p><p>Ці міфи часто виникають із неповного розуміння того, що таке DevOps і що робить девопс-спеціаліст. Важливо пам’ятати, що девопс-спеціалісти – це не «супергерої», які знають усе, а професіонали, що володіють набором навичок, які допомагають їм виконувати свою роботу ефективно. </p><p><strong>Основна ціль DevOps</strong> – це поліпшення співпраці й автоматизації, а не заміна інших ролей або методологій.</p><h3 id="%D1%96%D1%81%D0%BD%D1%83%D1%94-%D0%B1%D0%B0%D0%B3%D0%B0%D1%82%D0%BE-%D1%88%D0%BB%D1%8F%D1%85%D1%96%D0%B2-%D1%89%D0%BE%D0%B1-%D0%BE%D0%BF%D0%B0%D0%BD%D1%83%D0%B2%D0%B0%D1%82%D0%B8-%D0%BF%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%96%D1%8E-%D0%B4%D0%B5%D0%B2%D0%BE%D0%BF%D1%81-%D1%81%D0%BF%D0%B5%D1%86%D1%96%D0%B0%D0%BB%D1%96%D1%81%D1%82%D0%B0">Існує багато шляхів, щоб опанувати професію девопс-спеціаліста.</h3><p>Освіта в галузі інформаційних технологій або комп’ютерних наук може бути хорошим стартом, але девопс також включає в себе специфічні навички й інструменти, які найчастіше вивчаються практично.</p><p><strong><a href="https://bit.ly/3OvBSoi">Багато професійних курсів</a></strong> і сертифікацій доступні для тих, хто хоче стати девопс-спеціалістом. Наприклад, корпорація Amazon надає навчання та сертифікацію AWS DevOps, яка фокусується на використанні хмарних технологій Amazon для DevOps. </p><p>Інститути, які пропонують курси по DevOps, включають у себе Linux Academy та Udemy. Вони охоплюють різні аспекти DevOps, включно з автоматизацією, моніторингом, контейнеризацією та безперервною інтеграцією/безперервною доставкою (CI/CD).</p><p>Крім того, можна вивчати девопс, вже працюючи в IT на суміжних посадах. Багато девопс-інженерів починають свою кар’єру як програмісти або системні адміністратори й поступово змінюють свій фокус на DevOps. Вони вивчають інструменти та практики DevOps під час роботи над реальними проєктами.</p><p>Незалежно від вибраного шляху <strong>найважливіше</strong> – це готовність до постійного навчання. Технології швидко змінюються, і девопс-спеціалісти повинні постійно оновлювати свої знання та навички, щоб залишатися в курсі кращих практик у галузі.</p><p>Якщо ви вирішили стати девопс-спеціалістом, перше, що потрібно зробити, – це освоїти основи програмування і системного адміністрування. Основи Linux, базові мови програмування, такі як Python або Java, і знання SQL є хорошим початком. Також важливо ознайомитися з мережевими протоколами й управлінням даними.</p><p>Наступним кроком було б оволодіння основними інструментами DevOps. Це можуть бути системи для автоматизації (наприклад, Jenkins або Travis CI), контейнеризації (Docker, Kubernetes), системи контролю версій (Git) і конфігураційного управління (Ansible, Chef, Puppet).</p><p>Крім того, важливо розуміти принципи роботи CI/CD (Continuous Integration/Continuous Deployment) і мати досвід роботи з хмарними технологіями, такими як AWS, Google Cloud або Microsoft Azure.</p><p>Останнім, але не менш важливим, є постійне вдосконалення та навчання. Це може включати в себе відвідування воркшопів, конференцій, а також проходження онлайн-курсів та отримання сертифікацій.</p><p><strong>Професія девопс-спеціаліста є дуже затребуваною в сучасному світі. </strong>З розвитком технологій і широким застосуванням хмарних сервісів все більше і більше організацій переходять до моделі DevOps для поліпшення продуктивності й ефективності своїх процесів розробки. Це створило великий попит на девопс-спеціалістів, які можуть допомогти організаціям успішно впровадити й управляти DevOps.</p><p>Відповідно до дослідження, проведеного компанією DOU, середня зарплата DevOps спеціаліста зросла із $2000 у 2017 році до $3500 у 2023 році. Це свідчить про високий попит на спеціалістів вказаної професії.</p><h3 id="%D0%B4%D0%BB%D1%8F-%D0%BF%D0%BE%D1%88%D1%83%D0%BA%D1%83-%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D0%B8-%D1%83-%D1%81%D1%84%D0%B5%D1%80%D1%96-devops-%D0%BC%D0%BE%D0%B6%D0%BD%D0%B0-%D1%80%D0%BE%D0%B7%D0%B3%D0%BB%D1%8F%D0%BD%D1%83%D1%82%D0%B8-%D1%80%D1%96%D0%B7%D0%BD%D1%96-%D0%BA%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8">Для пошуку роботи у сфері DevOps можна розглянути різні канали.</h3><p>Однією з найпопулярніших платформ для пошуку роботи є LinkedIn, де можна знайти велику кількість вакансій від різних компаній і рекрутерів. Використовуйте функцію пошуку, вводячи «DevOps» як ключове слово.</p><p>Також існують спеціалізовані ресурси для IT-вакансій, наприклад Stack Overflow Jobs, Dice, GitHub Jobs, а також місцеві ресурси та сайти роботи, такі як Rabota.ua, Djinni або DOU.ua. Деякі компанії публікують вакансії безпосередньо на своїх вебсайтах, тож варто перевірити сайти компаній, які вас цікавлять.</p><p>Професійні групи та мережі теж можуть бути корисними. Регулярно відвідуйте місцеві зустрічі, конференції та воркшопи, щоб збільшити свою мережу контактів і дізнатися про нові можливості.</p><p>Не забувайте про<strong> індивідуальне навчання та розвиток. </strong>Це може бути сертифікація DevOps або навчання новим технологіям, що допоможе вам стати більш привабливим кандидатом для потенційних роботодавців.</p><p>Девопс-спеціалісти мають чимало можливостей для кар’єрного росту – як горизонтального, так і вертикального.</p><p>Горизонтальний розвиток може означати поглиблення у будь-яку спеціалізовану область у межах DevOps. Наприклад, спеціаліст може зосередитися на засвоєнні конкретних технологій або інструментів, таких як Kubernetes, Docker або Terraform, або стати експертом у сфері безпеки DevSecOps. Додаткова спеціалізація може покращити ваші перспективи заробітної плати й працевлаштування.</p><p>Щодо вертикального росту, то девопс-спеціалісти можуть прагнути до ролей, які передбачають більше керівництва або управлінських обов’язків. Це може включати ролі, такі як DevOps Team Lead або DevOps Manager чи навіть CTO (Chief Technology Officer) для технічно орієнтованих компаній. </p><p>Також є можливість розвиватися у напрямі ролей архітектора. Наприклад, до позиції Cloud Architect або Solutions Architect.</p><p>Важливо зазначити, що розвиток кар’єри в DevOps може передбачати набуття більш широких навичок управління проєктами, лідерства та комунікації, а також постійного самовдосконалення через навчання та сертифікацію.</p><p><strong>Заробітна плата девопс-спеціаліста</strong> дуже залежить від регіону, рівня освіти, навичок, спеціалізації та досвіду працівника. Початківці можуть розраховувати на нижчу заробітну плату (від $500-$1000 на місяць), але зі збільшенням досвіду і набуттям важливих навичок їхня зарплата може значно зрости. Наприклад, спеціаліст, який володіє спеціалізованими навичками, такими як керування контейнерами (Docker, Kubernetes), автоматизація (Jenkins, Ansible), хмарні технології (AWS, GCP, Azure) і так далі, зможе вимагати вищої зарплати.</p><p>Досвідчені девопс-спеціалісти, особливо ті, хто має провідні ролі або спеціалізується у конкретних областях, можуть розраховувати на значно вищий рівень заробітної плати, починаючи від $5000 на місяць і вище. Якщо вони мають досвід роботи у великих технічних компаніях або високопрофільних проєктах, то їхня потенційна зарплата може бути навіть вищою.</p><p>Як вже було зазначено, для успішного розвитку у професії девопс-спеціаліста важливо постійно вдосконалювати свої навички та розширювати знання. Є багато ресурсів, які можуть допомогти у цьому, включно з книгами, курсами, подкастами та фільмами.</p><p><strong>Щодо книг,</strong> то однією з найбільш важливих для девопс-спеціаліста є The Phoenix Project від Gene Kim, Kevin Behr і George Spafford. Ця книга розглядає принципи DevOps на прикладі виконання конкретного проєкту. </p><p>Інші рекомендовані книги включають Continuous Delivery від Jez Humble та David Farley і Site Reliability Engineering від Betsy Beyer, Chris Jones, Jennifer Petoff та Niall Richard Murphy.</p><p><strong>Серед курсів </strong>відмінним вибором буде DevOps Training від edX або Learn DevOps: The Complete Kubernetes Course від Udemy. Також варто розглянути курси, що пропонуються провайдерами хмарних сервісів, такими як AWS, Google Cloud і Microsoft Azure.</p><p><strong>Серед подкастів</strong> також є багато цікавих опцій для девопс-спеціалістів, включно з DevOps Radio, The DevOps and Cloud Podcast та Arrested DevOps. Вони можуть бути корисними для отримання останніх новин і трендів у галузі.</p><p>Враховуйте, що професія девопс-спеціаліста вимагає постійного навчання, тому регулярне оновлення ваших знань і навичок є важливим аспектом розвитку вашої кар’єри.‌‌‌‌</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Блокчейн – це не просто один із багатьох віртуальних трендів.

Вказана технологія привертає все більше уваги як потужний інструмент, що може змінити спосіб, яким ми взаємодіємо та ведемо бізнес. Такі корпорації й відомі бренди, як JP Morgan, Louis Vuitton, Nike, Puma і Starbucks, вже інвестують у blockchain та інтегрують технологію у ]]></description>
        <link>https://proit.ua/blokchiein-piat-kliuchovikh-triendiv/</link>
        <guid isPermaLink="false">64c199d40a94337e6739fdfd</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Михайло Аджоєв  ]]></dc:creator>
        <pubDate>чт, 27 лип 2023 12:00:00 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/07/3d-cryptocurrency-rendering-design.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><strong>Блокчейн </strong>– це не просто один із багатьох віртуальних трендів.</p><p>Вказана технологія привертає все більше уваги як потужний інструмент, що може змінити спосіб, яким ми взаємодіємо та ведемо бізнес. Такі корпорації й відомі бренди, як JP Morgan, Louis Vuitton, Nike, Puma і Starbucks, вже інвестують у blockchain та інтегрують технологію у свою роботу.</p><p><strong>Михайло Аджоєв,</strong> Web3 Entrepreneur, Founder &amp; CEO of Cowchain, розповідає у своєму блозі для ProIT, як працює блокчейн і чому зазначена технологія – це не лише про криптовалюти.</p><h2 id="%D1%8F%D0%BA-%D0%BF%D1%80%D0%B0%D1%86%D1%8E%D1%94-%D1%82%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D1%8F-blockchain%E2%80%8C%E2%80%8C%E2%80%8C%E2%80%8C%E2%80%8C%E2%80%8C%E2%80%8C">Як працює технологія blockchain?‌‌‌‌‌‌‌</h2><p>Перш за все слід зрозуміти, що блокчейн – це технологія, яка дає змогу працювати з децентралізованими фінансовими системами. Навіщо це нам? Тому що це дієвий спосіб виключити людську помилку та неефективність банківської системи.</p><p>Крім того, blockchain дає можливість робити всі фінансові операції прозорими. Як у книзі, де кожен може побачити, що написано всередині, але жоден не може щось змінити. І це неодмінно має потенціал допомогти у боротьбі з корупцією. Blockchain зробить податкову систему прозорішою та ефективнішою.</p><h2 id="%D1%8F%D0%BA%D0%B8%D0%BC%D0%B8-%D0%BD%D0%B0%D1%80%D0%B0%D0%B7%D1%96-%D1%94-%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BD%D1%96-%D1%82%D1%80%D0%B5%D0%BD%D0%B4%D0%B8-blockchain%E2%80%8C%E2%80%8C">Якими наразі є головні тренди blockchain?‌‌</h2><p><strong>Блокчейн для IT-продуктів: </strong>замість централізованої бази даних буде використовуватися децентралізована, щоб забезпечити прозорість, безпеку, безперервну операційність у роботі й інші переваги, які надає blockchain.</p><p><strong>Блокчейн для брендів: </strong>глобальні бренди, такі як Nike, Puma, Louis Vuitton і Starbucks, починають експериментувати з blockchain і використовувати цю технологію у роботі.</p><p>Наприклад, Louis Vuitton запустив блокчейн-платформу AURA, яка допомагає брендам у сфері люксу підтвердити автентичність своїх продуктів і захистити їх від підробок. А Starbucks оголосила про партнерство з Microsoft для створення bean to cup («від зерна до чашки») блокчейн-проєкту. Він мав на меті створити прозорість у ланцюгу постачань кави, даючи змогу клієнтам відстежувати походження продукту, який вони купують.</p><p><strong>Блокчейн для фінансових ринків:</strong> світові інвестиційні гіганти, такі як BlackRock, що є найбільш капіталізованим фондом, а також Fidelity, JP Morgan, мають великий інтерес до технології blockchain та її прикладного використання у вигляді криптовалют. До прикладу, JP Morgan вже випускає резервовані євро як віртуальні активи на блокчейні.</p><p><strong>Розвиток інфраструктури для інтеграції блокчейну в маси:</strong> зараз триває робота над новими блокчейнами, здатними обробляти масивні обсяги транзакцій миттєво, з мінімальними комісіями. Layer 2 й інші інновації є частиною цього важливого процесу.</p><p><strong>Інфраструктура для ефективної роботи продуктів із блокчейном:</strong> розробляються технології, які дають змогу брендам Web 2.0 піднятися на наступний рівень – <a href="https://proit.ua/shcho-takie-web3-i-iak-vin-zminit-intierniet/">Web 3.0</a>. Від CRM та ERP систем, які можуть працювати з криптовалютними рахунками, до трекінгових систем для валідації власників.</p><h2 id="%D1%8F%D0%BA%D1%96-%D1%81%D0%BA%D0%BB%D0%B0%D0%B4%D0%BD%D0%BE%D1%89%D1%96-%D1%83-%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D1%96-blockchain-%D1%81%D0%BF%D0%BE%D1%81%D1%82%D0%B5%D1%80%D1%96%D0%B3%D0%B0%D1%8E%D1%82%D1%8C%D1%81%D1%8F-%D1%81%D1%8C%D0%BE%D0%B3%D0%BE%D0%B4%D0%BD%D1%96">Які складнощі у роботі blockchain спостерігаються сьогодні?</h2><p>Перше і найголовніше: ми не знаємо, як blockchain впорається з великою кількістю користувачів, які будуть робити транзакції одночасно. Адже це неабияке навантаження на систему, яке можливо протестувати лише на практиці.</p><p>На додаток до цього, всі очікують введення регуляторної бази в експлуатацію, яка вже розроблена і наразі тестується. У Європі регуляторну базу планують ввести з 2024 року, а в Азії вона вже активно розглядається з багатьох сторін, але поки не набрала чинності.</p><p>Таким чином, ми спостерігаємо передсвітанок нової ери у глобальній економіці. З блокчейн-технологією, яка набирає обертів, багато секторів починають активно адаптуватися до цих нових умов. Індустрії, що тісно пов’язані з фінансовими ринками, зокрема сфера страхування, інвестиції, товарні біржі, портові перевезення й інші, вже готуються до значних змін у своїх бізнес-моделях.</p><p>Перехід на блокчейн-технологію є складним процесом, який вимагає значних зусиль з боку всіх учасників ринку. Однак мета – створення більш прозорого, ефективного й безпечного фінансового простору – безумовно вартує цих зусиль.</p><p>Звісно, це буде призводити до змін для користувачів. Проте для кінцевого користувача – бізнесу або клієнта – майже нічого не зміниться. Це можна порівняти з тим, як ми користуємося банківським застосунком: звичайний інтерфейс залишиться тим самим, а змін зазнає лише основна технологія, яка стоїть за цим.</p><p>Зусилля будуть докладені для того, щоб зробити цей перехід якомога більш непомітним для користувача, тому що вартість навчання людей працювати з блокчейн-технологією може бути досить високою.</p><p>Усе це свідчить про величезний потенціал і можливості, які відкриває перед нами технологія блокчейн.</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ У технологічних колах не стихає гайп навколо штучного інтелекту. Але реліз Apple Vision Pro у 2024 році змінить акцент на технології віртуальної та доповненої реальності (VR/AR). Гарнітура «змішаної реальності» задасть новий тренд серед бізнесу: занурення потенційних клієнтів у світ бренду.

Зараз же у багатьох підприємців імерсивні технології асоціюються з ]]></description>
        <link>https://proit.ua/iak-ar-ta-vr-tiekhnologhiyi-zminiuiut-pravila-ghri-dlia-bizniesu/</link>
        <guid isPermaLink="false">64be956af933781cc53a1ec5</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Ілля Голіцин ]]></dc:creator>
        <pubDate>вт, 25 лип 2023 12:00:24 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/07/-------.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>У технологічних колах не стихає гайп навколо штучного інтелекту. Але реліз Apple Vision Pro у 2024 році змінить акцент на технології віртуальної та доповненої реальності (VR/AR). Гарнітура «змішаної реальності» задасть новий тренд серед бізнесу: занурення потенційних клієнтів у світ бренду.</p><p>Зараз же у багатьох підприємців імерсивні технології асоціюються з розважальною індустрією. Фільтри в соцмережах та відеоігри з віртуальним доповненням – те, що навряд чи приверне увагу пересічного бізнесмена. Насправді ж AR та VR здатні залучити нових клієнтів, підвищити продажі та загальну ефективність бізнесу. Не обов’язково чекати хвилі гайпу. </p><p><em>Які переваги можуть дати імерсивні технології для бізнесу? Розповідає Ілля Голіцин, CEO та співзасновник web3-студії </em><a href="https://www.ctrlartd.com/"><em>CTRL/ART/D</em></a><em>. </em></p><h2 id="%D0%BF%D0%BE%D1%87%D0%BD%D0%B5%D0%BC%D0%BE-%D0%B7-%D0%B4%D0%B5%D0%BC%D1%96%D1%81%D1%82%D0%B8%D1%84%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%97-%D0%BF%D0%BE%D0%BD%D1%8F%D1%82%D1%8C-ar-%D1%82%D0%B0-vr">Почнемо з демістифікації понять AR та VR </h2><p>Доповнена реальність (або AR, augmented reality) накладає цифровий контент на реальний світ, тоді як віртуальна реальність (VR, або virtual reality) занурює нас у повністю цифрове середовище за допомогою спеціальних пристроїв. </p><p><strong>AR</strong> – це всім знайомі фільтри в Instagram чи TikTok, які доповнюють реальність через екрани телефона. <strong>VR-гарнітури</strong> повністю переносять користувача у віртуальний світ, де немає зв’язку з реальністю. Вони найбільш популярні в ігровій індустрії. Також мають потенціал використання в архітектурі, медицині, освіті й інших галузях.</p><p>За прогнозами, до 2030 року ринок AR/VR <a href="https://www.precedenceresearch.com/augmented-reality-and-virtual-reality-market#:~:text=The%20global%20augmented%20reality%20and,forecast%20period%202022%20to%202030.">досягне</a> приголомшливої суми у $859 мільярдів. Це технологія залишиться з нами надовго, тож ігнорувати її все одно, що не користуватися штучним інтелектом у 2023 році.</p><h2 id="%D1%8F%D0%BA-arvr-%D0%BC%D0%BE%D0%B6%D0%B5-%D0%B1%D1%83%D1%82%D0%B8-%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D0%BD%D0%B8%D0%BC-%D0%B4%D0%BB%D1%8F-%D0%B1%D1%96%D0%B7%D0%BD%D0%B5%D1%81%D1%83">Як AR/VR може бути корисним для бізнесу? </h2><h3 id="%D1%82%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D1%97-arvr-%D0%BC%D0%B0%D1%8E%D1%82%D1%8C-%D1%82%D0%B0%D0%BA%D1%96-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3%D0%B8">Технології AR/VR мають такі переваги:</h3><ul><li>залучають аудиторію бренду;</li><li>будують знання про бренд або продукт;</li><li>спрощують процес створення продукту;</li><li>знижують витрати на виробництво та доставку;</li><li>мінімізують негативний вплив на довкілля;</li><li>підвищують коефіцієнти конверсії;</li><li>полегшують процес покупки;</li><li>сприяють лояльності та довірі до бренду.</li></ul><p>AR/VR може підвищити залучення та взаємодію з клієнтами, що призведе до зростання їхньої лояльності. 57% людей із більшою ймовірністю <a href="https://www.xrtoday.com/augmented-reality/augmented-reality-statistics-to-know-in-2023/">купуватимуть</a> у бренду, який використовує AR у знайомстві з продуктом. </p><p>Візьмемо, наприклад, IKEA. Їхній AR-додаток дає змогу клієнтам віртуально розмістити меблі у себе вдома перед тим, як зробити покупку. Меблевий шопінг ніколи не буде таким, як раніше. </p><p>За даними Shopify, одного з найбільших онлайн-ретейлерів, клієнти на 65% <a href="https://www.shopify.com/blog/ar-shopping">частіше</a> розміщують замовлення після взаємодії з продуктом в AR. 90% американців <a href="https://www.thinkwithgoogle.com/consumer-insights/consumer-trends/trending-visual-stories/augmented-reality-shopping-data">використовують</a> або планують використовувати AR для покупок. Більш того, 98% опитаних вважають цю технологію корисною для онлайн-шопінгу. </p><p>У CTRL/ART/D ми створюємо AR-фільтри для фешн-брендів. Віртуальна примірка відкидає сумніви, які виникають під час онлайн-шопінгу. Для українського бренду Bevza ми розробили цифрову копію бестселера – <a href="https://dressx.com/collections/bevza/products/spikelet-long-earrings">сережок</a> у вигляді колосків. </p><p>Випустивши AR-сережки на платформі Dress-X, ми нагадали, що Україна – «житниця Європи», найбільший експортер пшениці у світі. Російське повномасштабне вторгнення спричинило серйозну продовольчу кризу у 2022 році, оскільки Україна не могла доставити пшеницю до країн Африки та Близького Сходу. </p><p>Сережки стали нагадуванням про те, чому перемога України важлива для всього світу. Цей кейс доводить: AR/VR технології можуть бути корисним інструментом для підвищення обізнаності про соціальні чи політичні проблеми.</p><h2 id="%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%8F-%D0%B1%D1%96%D0%B7%D0%BD%D0%B5%D1%81-%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D1%96%D0%B9-%D0%B7%D0%B0-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BC%D0%BE%D0%B3%D0%BE%D1%8E-arvr">Оптимізація бізнес-операцій за допомогою AR/VR</h2><p>Ще одна перевага імерсивних технологій – в оптимізації внутрішніх операцій компанії. Можливості безмежні: від підвищення ефективності роботи на ремоуті до швидкого навчання співробітників завдяки імерсивним технологіям. Walmart вже впровадив симуляції віртуальної реальності для навчання співробітників, аби підготувати їх до роботи у складних ситуаціях (це знадобилося під час перших локдаунів). </p><p>Візуалізація складних даних, пошук інноваційних рішень і створення прототипів у віртуальному середовищі – все це вже використовують провідні бренди. Візьмемо, наприклад, Volkswagen. Німецька компанія використовує VR для проєктування та розробки нових прототипів автомобілів, скорочуючи час виходу на ринок і підвищуючи якість своєї продукції. Навіщо витрачати час і кошти на фізичні прототипи, якщо можна затестити продукт за допомогою VR?</p><h2 id="%D0%BD%D0%B5-%D1%96%D1%81%D0%BD%D1%83%D1%94-%D0%B1%D1%96%D0%BB%D1%8C%D1%88-%D0%B7%D1%80%D0%BE%D0%B7%D1%83%D0%BC%D1%96%D0%BB%D0%BE%D1%97-%D1%82%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D1%97-%D0%B0%D0%BD%D1%96%D0%B6-arvr">Не існує більш зрозумілої технології, аніж AR/VR</h2><p>Будучи web3-студією, CTRL/ART/D сфокусувалася на створенні AR/VR продуктів. Наразі немає більш зрозумілого для широкої авдиторії web3-інструменту, аніж імерсивні технології. Наші клієнти щодня це підтверджують, показуючи готовність інвестувати в AR та VR. Це безпечний місток між web2 та <a href="https://proit.ua/shcho-takie-web3-i-iak-vin-zminit-intierniet/">web3</a> світами, який мінімізує ризики для інвестицій.</p><p>Бізнесу необхідно адаптуватися до вимог часу, які диктують нові покоління з купівельною спроможністю, що зростає. Це покоління Х, яке називають «цифровими новаторами» через те, що вони фактично винайшли інтернет та більшість сучасних технологій, які ми використовуємо щоденно, і славнозвісні мілленіали й зумери. </p><p>Ці три групи мають найбільшу купівельну спроможність, яка буде тільки зростати. Представники вказаних генерацій найбільше цінують три речі: можливість купити онлайн, живий контент (або ж user generated content – 76% споживачів <a href="https://www.adweek.com/brand-marketing/infographic-how-millennials-and-baby-boomers-consume-user-generated-content-175307/">віддають</a> перевагу брендам із контентом, створеним користувачами) та ефект занурення, який дають AR/VR технології. </p><p>Питання часу, коли ці інструменти охоплять більшість бізнесів у найрізноманітніших індустріях.</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Погодьтеся, є щось захопливе в тому, щоб після внесення навіть незначних змін у дизайн інтернет-магазину спостерігати за зростанням коефіцієнта конверсії. Це майже як гра, де ви повинні визначити, на які кнопки натискати, аби заробити ще більше очок.

Але із кількома випадковими змінами далеко не зайдеш. Після таких експериментів можна отримати ]]></description>
        <link>https://proit.ua/cro-dlia-ecommerce-iak-iuzabiliti-saitu-dopomaghaie-prodavati-bilshie-2/</link>
        <guid isPermaLink="false">64a57e2e5ec010e6305da470</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Анжеліка Красієнко ]]></dc:creator>
        <pubDate>ср, 05 лип 2023 17:59:02 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/07/person-using-laptop-with-word-social-media-screen.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Погодьтеся, є щось захопливе в тому, щоб після внесення навіть незначних змін у дизайн інтернет-магазину спостерігати за зростанням коефіцієнта конверсії. Це майже як гра, де ви повинні визначити, на які кнопки натискати, аби заробити ще більше очок.</p><p>Але із кількома випадковими змінами далеко не зайдеш. Після таких експериментів можна отримати як зростання кількості замовлень, так і падіння. Хочете продовжити збирати очки – підходьте до процесу стратегічно.</p><p>У цьому матеріалі разом з Антоном Чеботаренком та Ігорем Степурою, UX/UI дизайнерами <a href="https://www.promodo.ua/?utm_source=NIX_media&amp;utm_medium=partnership&amp;utm_campaign=partnership_article">Promodo</a>, ми дослідили, як вимірювати коефіцієнт конверсії інтернет-магазину, назвали ключові метрики, на які впливає CRO, і розглянули 10 практик, які покращують юзабіліті сайту і збільшують продажі.</p><h2 id="%E2%80%8C%D1%89%D0%BE-%D1%82%D0%B0%D0%BA%D0%B5-cro">‌Що таке CRO?</h2><p><em>‌‌</em>Оптимізація коефіцієнта конверсії (CRO, Conversion Rate Optimization) – це практика з підвищення відсотка відвідувачів, які виконали конкретну дію на сайт: клік, покупка, підписка, створення облікового запису, заповнення анкетної форми тощо.</p><p>CRO проводиться на основі даних, отриманих за допомогою аналітичних інструментів: Google Analytics, Google Tag Manager, Hotjar, Vebvisor тощо. На їх основі фахівці з UX формують гіпотези та перевіряють їх шляхом A/B-тестування.</p><p>A/B-тестування – це процес порівняння двох версій вебсторінки, щоб побачити, яка з них працює краще з точки зору коефіцієнта конверсії.</p><blockquote>«Перед початком таких робіт бізнесу насамперед варто визначити пріоритетність своїх бізнес-цілей. Адже CRO – це не гра у випадковість, а розв’язання конкретної проблеми вашого сайту. І цей процес ніколи не припиняється», – <strong>Ігор Степура</strong>,<strong> </strong>UX/UI дизайнер.</blockquote><h2 id="%E2%80%8C%E2%80%8C%D1%8F%D0%BA-%D1%80%D0%BE%D0%B7%D1%80%D0%B0%D1%85%D1%83%D0%B2%D0%B0%D1%82%D0%B8-%D0%BA%D0%BE%D0%B5%D1%84%D1%96%D1%86%D1%96%D1%94%D0%BD%D1%82-%D0%BA%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%81%D1%96%D1%97-%D1%96%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD%D1%83">‌‌Як розрахувати коефіцієнт конверсії інтернет-магазину</h2><p>‌‌Щоб розрахувати коефіцієнт конверсії, розділіть кількість конверсій (ключових дій) на загальну кількість відвідувачів, а потім помножте на 100, щоб отримати дані у відсотковому значенні.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/07/IMG_CRO_002-1.jpeg" class="kg-image" alt loading="lazy" width="1920" height="746"></figure><p>‌</p><h2 id="%D1%89%D0%BE-%D1%82%D0%B0%D0%BA%D0%B5-%D1%85%D0%BE%D1%80%D0%BE%D1%88%D0%B8%D0%B9-%D1%80%D1%96%D0%B2%D0%B5%D0%BD%D1%8C-%D0%BA%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%81%D1%96%D1%97-%D1%96%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD%D1%83">Що таке хороший рівень конверсії інтернет-магазину</h2><p>‌‌Неможливо однозначно виділити хороший або поганий рівень конверсії, навіть якщо магазини реалізують однотипні товари. Наприклад, один магазин продає косметику сегмента люкс і має коефіцієнт конверсії сайту 10%. А другий магазин продає косметику рівня мас-маркет і має 1%. Може здатися, що перший магазин у виграші, але тут включається проста математика.</p><p>Нехай у першого магазину середній чек складає 2000 грн і трафік 2000 відвідувачів за місяць, тоді його дохід:</p><p>2000 х 0,1 х 2000 = 400 000 грн/міс.</p><p>Другий магазин має середній чек 550 грн і 100 000 відвідувачів за місяць. Його дохід складе:</p><p>100 000 х 0,01 х 550 = 550 000 грн/міс.</p><p>Ось ми й бачимо, що конверсія в 1% принесла другому магазину більше доходу, ніж конверсія у 10% першому.</p><blockquote>Тож, як казав засновник ConversionXL Піп Лай: <em>«Хороший коефіцієнт конверсії – це коли він кращий за той, який ви мали минулого місяця»</em>.</blockquote><h2 id="%E2%80%8C%E2%80%8C%D1%89%D0%BE-%D1%82%D0%B0%D0%BA%D0%B5-%D1%8E%D0%B7%D0%B0%D0%B1%D1%96%D0%BB%D1%96%D1%82%D1%96-%D0%B2%D0%B5%D0%B1%D1%81%D0%B0%D0%B9%D1%82%D1%83-%D1%82%D0%B0-%D1%8F%D0%BA-%D0%B2%D0%BE%D0%BD%D0%BE-%D0%BF%D0%BE%D0%B2%E2%80%99%D1%8F%D0%B7%D0%B0%D0%BD%D0%B5-%D1%96%D0%B7-cro">‌‌Що таке юзабіліті вебсайту та як воно пов’язане із CRO?</h2><p>‌‌Бренди, які мають схожі продукти/послуги на конкурентному ринку, часто намагаються вирізнитися з-поміж конкурентів. Тож зосереджуються на естетиці дизайну, а не на практичності сайту. Проте нерозуміння користувача, де на сайті знайти кнопку «Купити» або «Пошук», призводить до втрати прибутку та негативного сприйняття бренду загалом.</p><h2 id="%D1%89%D0%BE-%D0%B7-%D1%86%D1%8C%D0%BE%D0%B3%D0%BE-%D0%BF%D1%80%D0%B8%D0%B2%D0%BE%D0%B4%D1%83-%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B8%D1%82%D1%8C-%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B0">Що з цього приводу говорить статистика?</h2><p>1. Згідно з останніми <a href="https://baymard.com/lists/cart-abandonment-rate">даними</a> Інституту Беймарда, майже 70% користувачів залишають сайт, так і не завершивши покупки.</p><p>2. Якщо у вас нефункціональний дизайн або макет сайту, приблизно <a href="https://blog.hubspot.com/marketing/compelling-stats-website-design-optimization-list">38%</a> просто закривають його.</p><p>3. <a href="https://www.socpub.com/articles/the-5-mobile-marketing-mistakes-infographic-14849">57%</a> кажуть, що вони не будуть рекомендувати компанію з неоптимізованим для телефонів сайтом.</p><p>4. <a href="https://www.invisionapp.com/inside-design/statistics-on-user-experience/">88% онлайн-споживачів </a>навряд чи повернуться, якщо у них буде поганий досвід користування сайтом.</p><p>Основна мета юзабіліті-дизайну – забезпечити відвідувачам можливість швидко й інтуїтивно прокручувати ваш сайт, щоб знайти потрібну інформацію, а також оцінити user friendly ресурсу на різних пристроях. А CRO допомагає ухвалювати найкращі рішення щодо вебсайту і продукту у майбутньому.</p><blockquote>«Запропонувавши гіпотези з покращення вебресурсу, ми можемо підтвердити або спростувати їх за допомогою тестування. Наприклад, усім відомий часовий таймер, який створює ефект терміновості, кілька років тому мав шалений CR. Проте сьогодні такого вже не буде, користувачі звикли до нього», – <strong>Ігор Степура</strong>,<strong> </strong>UX/UI дизайнер.</blockquote><h2 id="%E2%80%8C%E2%80%8C10-%D0%BD%D0%B0%D0%B9%D0%BA%D1%80%D0%B0%D1%89%D0%B8%D1%85-%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA-%D0%B4%D0%BB%D1%8F-%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%97-%D0%BA%D0%BE%D0%B5%D1%84%D1%96%D1%86%D1%96%D1%94%D0%BD%D1%82%D0%B0-%D0%BA%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%81%D1%96%D1%97-%D0%B7%D0%B0-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BC%D0%BE%D0%B3%D0%BE%D1%8E-%D1%8E%D0%B7%D0%B0%D0%B1%D1%96%D0%BB%D1%96%D1%82%D1%96">‌‌10 найкращих практик для оптимізації коефіцієнта конверсії за допомогою юзабіліті</h2><h3 id="%E2%80%8C%E2%80%8C%D0%B0%D0%B4%D0%B0%D0%BF%D1%82%D1%83%D0%B9%D1%82%D0%B5-%D1%81%D0%B0%D0%B9%D1%82-%D0%BF%D1%96%D0%B4-%D0%BC%D0%BE%D0%B1%D1%96%D0%BB%D1%8C%D0%BD%D1%96-%D0%BF%D1%80%D0%B8%D1%81%D1%82%D1%80%D0%BE%D1%97">‌‌Адаптуйте сайт під мобільні пристрої</h3><p>‌‌У другому кварталі 2022 року на мобільні пристрої припало <a href="https://www.statista.com/statistics/277125/share-of-website-traffic-coming-from-mobile-devices/">59%</a> із загальносвітового трафіку на вебсайти. Адаптивний дизайн є однією з основ зручного для користувача сайту. </p><h3 id="%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B4%D0%B8%D0%B2%D1%88%D0%B8-%D0%B9%D0%BE%D0%B3%D0%BE-%D0%BE%D0%B1%D0%BE%D0%B2%E2%80%99%D1%8F%D0%B7%D0%BA%D0%BE%D0%B2%D0%BE-%D0%B7%D0%B2%D0%B5%D1%80%D0%BD%D1%96%D1%82%D1%8C-%D1%83%D0%B2%D0%B0%D0%B3%D1%83-%D0%BD%D0%B0-%D1%82%D0%B0%D0%BA%D1%96-%D0%B5%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D0%B8">Запровадивши його, обов’язково зверніть увагу на такі елементи:</h3><p>- Оптимізоване розташування кнопок. Відвідувачам потрібно відразу побачити кнопку зі CTA. Для користувачів мобільних пристроїв найкращою практикою CRO є розміщення кнопки зі CTA посередині екрана.</p><p>- Коректна робота AMP (Accelerated Mobile Pages) пришвидшує роботу мобільної версії. Крім того, Google підвищує видимість сайтів, які використовують цей фреймворк.</p><p>- Перевірте адаптивність свого дизайну до мобільних пристроїв за допомогою <a href="https://search.google.com/test/mobile-friendly">інструмента Google.</a></p><h3 id="%E2%80%8C%E2%80%8C%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B9%D1%82%D0%B5-%D0%B7%D1%80%D1%83%D1%87%D0%BD%D1%96%D1%81%D1%82%D1%8C-%D0%B2%D0%B0%D1%88%D0%BE%D0%B3%D0%BE-%D1%81%D0%B0%D0%B9%D1%82%D1%83%E2%80%8C%E2%80%8C">‌‌Тестуйте зручність вашого сайту‌‌</h3><p>Наступним кроком є ​​перевірка взаємодії користувача з вашим сайтом. </p><p>Проведіть тестування, щоб побачити, як респонденти взаємодіють із ресурсом і переміщуються ним. Це може допомогти визначити, де вони «губляться» та спростити їхній шлях.</p><h3 id="%E2%80%8C%E2%80%8C%D0%B7%D0%B1%D1%96%D0%BB%D1%8C%D1%88%D1%83%D0%B9%D1%82%D0%B5-%D1%88%D0%B2%D0%B8%D0%B4%D0%BA%D1%96%D1%81%D1%82%D1%8C-%D0%B7%D0%B0%D0%B2%D0%B0%D0%BD%D1%82%D0%B0%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F-%D1%81%D0%B0%D0%B9%D1%82%D1%83%E2%80%8C%E2%80%8C">‌‌Збільшуйте швидкість завантаження сайту‌‌</h3><p>Коли ми говоримо про час завантаження, ми говоримо про секунди. Показуйте юзеру, що ви дійсно цінуєте його час.</p><p>Група Nielsen Norman розробила три основні часові <a href="https://www.nngroup.com/articles/response-times-3-important-limits/">обмеження</a> для оптимізації завантаження сторінки:</p><p>• 0,1 секунди – вебсторінка миттєво завантажилась.</p><p>• 1 секунда – невелика затримка помітна для користувача, тому він відчує невеликий дискомфорт.</p><p>• 10 секунд – користувач дратується і швидко покидає сторінку. У результаті конверсія не відбулася.</p><p>Один із найкращих способів підвищити швидкість вашого сайту – переконатися, що всі ваші зображення мають належний розмір. Використовуйте для фотографій формат JPEG, для іконок – SVG, ілюстрацій – PNG. Також набуває популярності формат WebP, оскільки при аналогічній якості він «легший» за PNG і JPEG на 26% і 34% відповідно. Про це свідчать дослідження, проведені <a href="https://developers.google.com/speed/webp">компанією Google</a>.</p><h3 id="%E2%80%8C%E2%80%8C%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B1%D0%B0%D1%87%D0%B0%D0%B9%D1%82%D0%B5-cross-sale-%D1%82%D0%B0-up-sale-%D0%BC%D0%BE%D0%B6%D0%BB%D0%B8%D0%B2%D0%BE%D1%81%D1%82%D1%96%E2%80%8C%E2%80%8C">‌‌Передбачайте cross-sale та up-sale можливості‌‌</h3><p>Інструменти up-sell та cross-sale покликані збільшувати середній чек і кількість SKU в чеку за допомогою взаємодії з асортиментом магазину.</p><p><strong>Up-sell</strong> – це спосіб підвищити середній чек покупки шляхом демонстрації вигоди й економії покупки. Тобто збільшення обсягу товару, порції, розміру, розширення функціонала тощо за невелику доплату для отримання очевидної вигоди. Наприклад, у магазині для рукоділля Carisma, вказавши ціну за менше і більше фасування бісеру, демонструється вигода від купівлі більшого.</p><p>Інший варіант up-sale – зробити доставлення безкоштовним від певної суми. Aliexpress, наприклад, додатково стимулює покупців додати товар до кошика, щоб отримати вигоду у вигляді безкоштовного доставлення.</p><p><strong>Cross-sell</strong> направлений на збільшення кількості товарів у чеку. Варіантами cross-sale можуть бути комплементарні товари «Разом з цим купують», додаткові сервіси (наприклад, подовжена гарантія) або комплекти зі знижкою «Разом дешевше». </p><p>Додавати всі (як роблять Comfy чи Foxtrot) або тільки деякі, а можливо створити свій інструмент – вибір за вами. Але він має базуватися на розумінні запитів вашої аудиторії.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/07/img_cro_2-1.jpeg" class="kg-image" alt loading="lazy" width="1259" height="604"></figure><h3 id="%D0%B7%D0%B0%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%87%D1%83%D0%B9%D1%82%D0%B5-%D0%BF%D1%80%D0%BE%D0%B3%D0%BD%D0%BE%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D1%96%D1%81%D1%82%D1%8C-%D1%81%D0%B5%D1%80%D0%B2%D1%96%D1%81%D1%83%E2%80%8C%E2%80%8C">Забезпечуйте прогнозованість сервісу‌‌</h3><p>Сервісний блок на сторінці товару не менш важливий, аніж блок з відгуками чи характеристиками товару. Інформація про способи доставлення й оплати, умови гарантії та повернення за рівних умов має вирішальне значення.</p><p>Недостатньо просто написати про наявність тієї чи іншої опції доставлення, навіть недостатньо написати, коли ви відправите товар. Ця інформація вже є звичною та не задовольнить запит користувача на прогнозованість. У результаті він піде на наступний крок (до чекауту) з надією знайти там цю інформацію. І коли не знайде (або знайде, проте ця інформація його не влаштує), він вийде зі сторінки чекауту, що збільшить bounce rate і знизить конверсію.</p><p>Варто прогнозувати час і вартість доставлення на основі трекінгу геолокації користувача. API поштових операторів можуть віддавати прогнози по своїй роботі, а вам залишиться лише додати у формулу час відправлення замовлення. Так ви зможете задовольнити запит користувача на прогнозованість і зменшити кількість виходів зі сторінки.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/07/img_cro_3--1-.jpeg" class="kg-image" alt loading="lazy" width="1259" height="746"></figure><h3 id="%E2%80%8C%E2%80%8C%D0%BD%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B9%D1%82%D0%B5-%D0%B0%D0%BB%D1%8C%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%82%D0%B8%D0%B2%D1%83">‌‌Надавайте альтернативу</h3><p>Часто буває так, що користувач приходить на сторінку товару і розуміє, що цей варіант йому не підходить. Це може бути, коли людина потрапляє на сайт з платної реклами, або якщо користувач належить до «ресьорчерів» і для того, щоб прийняти рішення про покупку, йому треба побачити 3-4 схожих товари. Аби не відпускати такого клієнта у «вільне плавання», пропонуйте йому альтернативу. Такий прийом має назву wide-sale і покликаний монетизувати максимальну кількість трафіку.</p><p>Ритейлери використовуємо блок «Схожі товари» на продуктовій сторінці саме з цієї метою. Розміщення може варіюватися. Це не принциповий момент, проте він повинен бути.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/07/img_cro_4-1.jpeg" class="kg-image" alt loading="lazy" width="1600" height="595"></figure><p>А ось інший приклад wide-sale від Aliexpress, покликаний допомогти користувачу-ресьорчеру швидше знайти те, що він шукає. Якщо людина приходить на сторінку товару з каталогу, а потім повертається назад, інтерфейс підказує, що є товари, схожі на той, який вона щойно бачила, і пропонує переглянути їх.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/07/img_cro_5.jpeg" class="kg-image" alt loading="lazy" width="800" height="1590"></figure><h3 id="%D0%BC%D1%96%D0%BD%D1%96%D0%BC%D1%96%D0%B7%D1%83%D0%B9%D1%82%D0%B5-%D0%BA%D1%96%D0%BB%D1%8C%D0%BA%D1%96%D1%81%D1%82%D1%8C-%D0%B2%D0%B8%D1%85%D0%BE%D0%B4%D1%96%D0%B2-%D0%B7%D1%96-%D1%81%D1%82%D0%BE%D1%80%D1%96%D0%BD%D0%BA%D0%B8-%D0%BE%D1%84%D0%BE%D1%80%D0%BC%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B7%D0%B0%D0%BC%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F">Мінімізуйте кількість виходів зі сторінки оформлення замовлення</h3><p>‌‌Здавалося б, останній крок у конверсійній воронці. Користувач максимально зацікавлений і сконцентрований на здійсненні покупки, і раптом маємо 30-40% виходів зі сторінки чекауту. </p><p>Звісно, треба аналізувати причини, і їх може бути багато. Але в трійку найпоширеніших проблем входять: незручний блок реєстрації, недосконалий опис сервісному блоці та зайві шляхи виходу.</p><p>Важливо зробити інтерфейс сторінки оформлення замовлення мінімалістичним, щоб користувач був сфокусований на єдиній дії.</p><blockquote>«Зазвичай для цього ми прибираємо «хлібні крихти» й трансформуємо хедер і футер. Прибираємо з них усі посилання на розділи сайту. Натомість додаємо контактну інформацію, щоб у разі виникнення проблеми користувач мав змогу зателефонувати оператору», – <strong>Ігор Степура</strong>, UX/UI дизайнер.</blockquote><p>Розгляньмо два варіанти хедеру на сайті Carisma: стандартний на всіх сторінках сайту і трансформований на сторінці чекауту.</p><p>Стандартний (на всіх сторінках):</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/07/img_cro_6-1.jpg" class="kg-image" alt loading="lazy" width="1600" height="181"></figure><p>Трансформований (на сторінці чекауту):</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/07/img_cro_7-1.jpg" class="kg-image" alt loading="lazy" width="1600" height="83"></figure><h3 id="%D1%80%D0%B5%D1%94%D1%81%D1%82%D1%80%D1%83%D0%B9%D1%82%D0%B5-%D0%B0%D0%BA%D0%B0%D1%83%D0%BD%D1%82-%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D1%83%D0%B2%D0%B0%D1%87%D0%B0-%D0%B1%D0%B5%D0%B7-%D0%B4%D0%BE%D0%B4%D0%B0%D1%82%D0%BA%D0%BE%D0%B2%D0%B8%D1%85-%D0%B4%D1%96%D0%B9">Реєструйте акаунт користувача без додаткових дій</h3><p><a href="https://www.nngroup.com/articles/optional-registration/">Дослідження Nilsen Norman Group</a> показують, що обовʼязкова реєстрація/авторизація на сторінці оформлення замовлення зменшує відсоток конверсії. Як для нових користувачів, які не хочуть реєструватися, так і для постійних, які можуть банально забути пароль.</p><p>Найпростішою рекомендацією з цього приводу є надання можливості «гостьової покупки», що дійсно знижує рівень виходів із чекауту і, відповідно, підвищує конверсію. Проте це не єдине можливе рішення, адже покупка без реєстрації не дасть можливості повною мірою взаємодіяти з таким користувачем як, наприклад, із постійним.</p><p>Частіше ми використовуємо інше рішення – автоматично створюємо особистий кабінет за номером телефону. Це дає змогу логінити людину в особистому кабінеті відразу після покупки. Ключовий плюс такого рішення – не потрібно запамʼятовувати пароль, адже достатньо ввести телефон і код підтвердження зі смс.</p><h3 id="%E2%80%8C%E2%80%8C%D0%B2%D0%B7%D0%B0%D1%94%D0%BC%D0%BE%D0%B4%D1%96%D0%B9%D1%82%D0%B5-%D0%B7-%D0%BF%D0%BE%D1%81%D1%82%D1%96%D0%B9%D0%BD%D0%B8%D0%BC%D0%B8-%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D1%83%D0%B2%D0%B0%D1%87%D0%B0%D0%BC%D0%B8">‌‌Взаємодійте з постійними користувачами</h3><p>Користувачі, які повертаються за наступною покупкою, формують ядро лояльної аудиторії. Лояльна аудиторія формує direct traffic, який знижує СРА та має вищий показник конверсії. Основною точкою входу для таких користувачів є головна сторінка. </p><h3 id="%D0%B4%D0%BB%D1%8F-%D0%B2%D0%B7%D0%B0%D1%94%D0%BC%D0%BE%D0%B4%D1%96%D1%97-%D0%B7-%D0%BD%D0%B8%D0%BC%D0%B8-%D0%BC%D0%B8-%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%BE%D0%B2%D1%83%D1%94%D0%BC%D0%BE-%D0%BD%D0%B8%D0%B7%D0%BA%D1%83-%D0%B4%D0%BE%D0%B4%D0%B0%D1%82%D0%BA%D0%BE%D0%B2%D0%B8%D1%85-%D1%96%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%96%D0%B2">Для взаємодії з ними ми використовуємо низку додаткових інструментів:</h3><p>1) персональні рекомендації на основі попередніх покупок або переглянутих товарів;</p><p>2) візуалізація наявних промокодів і програми лояльності;</p><p>3) відображення товарів, які були додані до списку бажань;</p><p>4) відображення товарів, які були додані до кошика.</p><p>Наприклад, ось такий вигляд має блок із товарами у кошику в магазині Telemart.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/07/img_cro_8-1.jpg" class="kg-image" alt loading="lazy" width="800" height="1158"></figure><p>Окрему увагу варто приділяти особистому кабінету та зберігати там всю важливу інформацію для покупця. Наприклад, персональні дані, останні місця доставлення та платіжні дані в особистому кабінеті, які автоматично завантажуються в чекаут, значно пришвидшують оформлення замовлення. Також це створює позитивний користувацький досвід і зменшує відсоток виходів зі сторінки оформлення замовлення.</p><h3 id="%E2%80%8C%E2%80%8C%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D1%8C%D1%82%D0%B5-ab-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F%E2%80%8C%E2%80%8C">‌‌Проводьте A/B-тестування‌‌</h3><p>Після побудови будь-яких CRO-гіпотез завжди проводьте A/B-тестування. Лише такий підхід дасть розуміння, чи зможуть запропоновані зміни вплинути на поведінку користувачів і мати коротко- або довгостроковий вплив на майбутні ключові дії.</p><blockquote>«Важливо зауважити, що не варто вносити більше однієї незалежної зміни в тестування. Тобто, якщо ви зробили апдейт кошика і паралельно змінили ще якийсь непов’язаний із ним елемент, то результати на A/B-тесті будуть неоднозначними. Цей підхід більше впливає не на сприйняття користувачів, а на безпосередню статистичну значущість кінцевого результату A/B-тестування», – <strong>Ігор Степура</strong>, UX/UI дизайнер.</blockquote> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ ІТ-галузь – одна з небагатьох галузей української економіки, яка змогла не лише зберегти обсяги експорту послуг, а й наростити їх. Проте, незважаючи на оптимістичні показники, ринок праці зазнав суттєвих змін і вперше за багато років попит на деякі вакансії в рази перевищує пропозиції.

Таку картину спричинили два чинники. З одного боку, ]]></description>
        <link>https://proit.ua/tri-poradi-dlia-poshuku-roboti-v-it-u-2023-rotsi/</link>
        <guid isPermaLink="false">6493ec7a499ac91bfa366716</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Kharkiv IT Cluster ]]></dc:creator>
        <pubDate>чт, 22 черв 2023 16:00:44 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/IMAGE-2023-06-26-16-33-26.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><strong>ІТ-галузь</strong> – одна з небагатьох галузей української економіки, яка змогла не лише зберегти обсяги експорту послуг, а й наростити їх. Проте, незважаючи на оптимістичні показники, ринок праці зазнав суттєвих змін і вперше за багато років попит на деякі вакансії в рази перевищує пропозиції.</p><p>Таку картину спричинили два чинники. З одного боку, через релокацію офісів компанії почали набирати до штату місцевих працівників і пропозиція всередині країни зменшилася. З іншого боку, багато людей, які втратили роботу через повномасштабне вторгнення, стали шукати нові галузі для себе й активно почали цікавитись ІТ, адже ця сфера демонструє стійкість навіть під час різних катаклізмів.</p><p>У міжнародній рекрутинговій агенції <strong>Talando Recruitment </strong>зазначають, що великий попит зараз мають різноманітні навчання і курси. Через наплив світчерів і випускників знижується мінімальний рівень заробітної плати для Junior-фахівців і Middle. Незмінна ситуація з оплатою праці залишиться у Senior-lead.</p><blockquote>‌‌<em>«Змінився і процес набору людей. Компанії при відборі фахівців впроваджують тестові завдання й інші види перевірки компетенції потенційних майбутніх працівників»</em>, – йдеться в дослідженні агенції.</blockquote><h2 id="1-%D1%87%D0%B8%D0%BC-%D0%B2%D0%B8%D1%89%D0%B5-%D1%82%D0%B2%D1%96%D0%B9-%D0%B4%D0%BE%D1%81%D0%B2%D1%96%D0%B4-%D1%82%D0%B0-%D0%BA%D0%B2%D0%B0%D0%BB%D1%96%D1%84%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%8F-%D1%82%D0%B8%D0%BC-%D0%BB%D0%B5%D0%B3%D1%88%D0%B5-%D1%82%D0%BE%D0%B1%D1%96-%D0%B7%D0%BD%D0%B0%D0%B9%D1%82%D0%B8-%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D1%83-%D1%86%D0%B5-%D0%B7%D1%80%D0%BE%D0%B7%D1%83%D0%BC%D1%96%D0%BB%D0%BE-%D0%B0%D0%BB%D0%B5-%D1%89%D0%BE-%D1%80%D0%BE%D0%B1%D0%B8%D1%82%D0%B8-%D0%B4%D0%B6%D1%83%D0%BD%D0%B0%D0%BC">1. Чим вище твій досвід та кваліфікація, тим легше тобі знайти роботу. Це зрозуміло, але що робити джунам?</h2><p></p><p>Після повномасштабного вторгнення рф багато українців залишилися без роботи – попит на ІТ-навчання став ще більшим. Фахівцям рівня Junior і Trainee стало складніше знайти роботу: <a href="https://djinni.co/analytics/by-category">на одне робоче місце QA Manual претендують 43 кандидати, на позицію UI/UX-дизайнера – 20 фахівців, на посаду рекрутера – 22.</a></p><h3 id="%D1%8F%D0%BA-%D0%B7%D0%BD%D0%B0%D0%B9%D1%82%D0%B8-%D0%BF%D0%B5%D1%80%D1%88%D1%83-%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D1%83">Як знайти першу роботу?</h3><p>Чарівної таблетки, яка вирішить це питання, не існує. У кожного свій шлях, але найпоширенішими каналами, які можуть допомогти з <a href="https://proit.ua/top-saitiv-dlia-poshuku-roboti-v-it-sfieri/">пошуком роботи</a>, є відповідні сайти, <a href="https://proit.ua/naikrashchi-birzhi-dlia-frilansieriv-z-ukrayini-top-platform-dlia-frilansu/">фріланс біржі</a>, профільні ІТ-сайти, сайти ІТ-компаній, рекомендації знайомих, курси.</p><p>Стукайте в усі двері: надсилайте свої резюме, відвідуйте конференції, воркшопи та семінари, спілкуйтеся з людьми онлайн та офлайн, знайомтесь у Facebook та LinkedIn. Починати з нуля завжди важко, особливо з конкуренцією, яка зараз на ринку праці, але все-таки можливо.</p><p><strong>Головне</strong> – діяти й бути максимально автономним, таким кандидатам надають більше переваги. Не кожен має змогу купити генератор або Starlink, але в багатьох містах створили коворкінги або пункти незламності, які забезпечать вас усім необхідним.</p><blockquote><em>«Наші спеціалісти складають достойну конкуренцію іноземним фахівцям, що стосується технічної підготовки й матчастини, але поступаються у володінні soft скілами. Нам усім необхідно апгрейдити такі базові речі, як англійська, вміння підтримувати small talk і вміти подавати себе»</em>, – зазначила управляюча партнерка рекрутингової агенції Talando Recruitment <strong>Таїсія Млюзан </strong>під час<strong> </strong>online-вебінару «Як приймати стратегічні рішення у 2023 році на основі аналітики ринку». ‌</blockquote><h2 id="2-%D1%89%D0%BE-%D1%80%D0%BE%D0%B1%D0%B8%D1%82%D0%B8-%D1%8F%D0%BA%D1%89%D0%BE-%D1%80%D0%B0%D0%BD%D1%96%D1%88%D0%B5-%D1%8F-%D0%BF%D1%80%D0%B0%D1%86%D1%8E%D0%B2%D0%B0%D0%B2-%D0%B2-%D1%96%D1%82-%D1%81%D1%84%D0%B5%D1%80%D1%96-%D0%B0%D0%BB%D0%B5-%D1%85%D0%BE%D1%87%D1%83-%D0%B7%D0%BC%D1%96%D0%BD%D0%B8%D1%82%D0%B8-%D0%BA%D0%B2%D0%B0%D0%BB%D1%96%D1%84%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%8E-%D0%BD%D0%B0%D0%BF%D1%80%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4-%D0%B1%D1%83%D0%B2-qa-engineer-%D0%B0-%D1%85%D0%BE%D1%87%D1%83-%D1%81%D1%82%D0%B0%D1%82%D0%B8-mobile-developer">2. Що робити, якщо раніше я працював в ІТ-сфері, але хочу змінити кваліфікацію? Наприклад, був QA Engineer, а хочу стати Mobile Developer?</h2><p></p><p>Для світчерів відповідь суттєво не буде відрізнятися. Канали пошуку роботи для людини з досвідом в ІТ ті самі, що й для новачка, але є дещо відмінне. Поточному роботодавцю може не сподобатися те, що ви плануєте від нього піти. У такій ситуації є ризик залишитися без старої роботи й ще не знайти нової. Для цього існують анонімні сервіси для пошуку роботи, де HR компанії має змогу бачити лише ваші скіли й опис. Ніяких фото та контактних даних.</p><p>При цьому компанії більш охоче беруть на роботу новачків, які змінили спеціалізацію всередині галузі, у порівнянні з тими, хто вперше прийшов в ІТ.</p><blockquote><em>«У нас у компанії є кілька співробітників, які пройшли Promodo Academy під час пандемії, отримали нову професію і стали частиною команди. Є два шляхи переходу на новий рівень. Довгий: самостійно опановувати за допомогою відкритих джерел нову спеціальність. Оптимальний: обрати онлайн-курси або ж програму інтернатури», – розповідає Teamlead команди рекрутерів Promodo<strong> Валерія Любавецька</strong>.</em></blockquote><h2 id="3-%D1%89%D0%BE-%D1%80%D0%BE%D0%B1%D0%B8%D1%82%D0%B8-%D1%82%D0%B8%D0%BC-%D0%BA%D0%BE%D0%B3%D0%BE-%D0%B2%D0%BB%D0%B0%D1%88%D1%82%D0%BE%D0%B2%D1%83%D1%94-%D0%B9%D0%BE%D0%B3%D0%BE-%D0%BC%D1%96%D1%81%D1%86%D0%B5-%D1%96-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D1%96%D1%8F">3. Що робити тим, кого влаштовує його місце і компанія?</h2><p></p><p>Всі фахівці й експерти зазначають, що незалежно від посади та стажу сьогодні необхідно бути готовим адаптуватися до швидких змін. <strong>Тому:</strong></p><ul><li>продовжуйте працювати – підтримуйте себе, свою сім’ю і державу на економічному фронті;</li><li>розвивайтеся – не забувайте про вдосконалення своїх скілів, щоб не зупинятися на місці й рухатись далі. Подбайте про свою автономність;</li><li>підтримуйте себе у формі – спілкуйтеся із фахівцями з інших сфер, відвідуйте співбесіди.</li></ul><blockquote><em>«Важливо бути дійсно зацікавленим у продукті та своїх обов’язках. Активність та ініціативність –</em> <em>запорука стабільної роботи. Дуже помітно, коли людина горить своєю справою та заряджає всіх навколо цією енергією», </em>– ділиться HRM CDP eSputnik<strong> Юлія Підлетейчук</strong>.</blockquote><p>‌‌</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Сьогодні незамінними для нас стали застосунки, які дають змогу миттєво обмінюватися повідомленнями та слідкувати за новинами онлайн. Вебсокети — один з інструментів, що дозволяє розробникам реалізувати такі додатки.


Що таке вебсокети

WebSocket — це двонаправлений повнодуплексний протокол зв’язку між клієнтом та сервером. Що це значить? На відміну від HTTP-протоколу, який працює ]]></description>
        <link>https://proit.ua/websockets-navishcho-potribni-ta-iak-z-nimi-pratsiuvati-2/</link>
        <guid isPermaLink="false">6475edce37b205b01c219639</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Вікторія Єленська ]]></dc:creator>
        <pubDate>вт, 30 трав 2023 15:42:32 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/05/350383648_265637509353847_9160186247969695596_n.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><strong>Сьогодні незамінними для нас стали застосунки, які дають змогу миттєво обмінюватися повідомленнями та слідкувати за новинами онлайн. Вебсокети — один з інструментів, що дозволяє розробникам реалізувати такі додатки.</strong> </p><h2 id="%D1%89%D0%BE-%D1%82%D0%B0%D0%BA%D0%B5-%D0%B2%D0%B5%D0%B1%D1%81%D0%BE%D0%BA%D0%B5%D1%82%D0%B8">Що таке вебсокети</h2><p>WebSocket — це двонаправлений повнодуплексний протокол зв’язку між клієнтом та сервером. Що це значить? На відміну від HTTP-протоколу, який працює за принципом «‎‎запит від клієнта — відповідь від сервера», у вебсокетах і сервер, і клієнт можуть надсилати один одному повідомлення. Кожна сторона комунікації здатна одночасно отримувати та відправляти дані.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image2.png" class="kg-image" alt loading="lazy" width="493" height="281"></figure><p><br>У вебсокетах обмін повідомленнями проходить через єдиний канал зв’язку. Він залишається відкритим протягом усієї комунікації, а за необхідності будь-яка зі сторін може його закрити.</p><h2 id="%D0%B2%D1%96%D0%B4%D0%BC%D1%96%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%96-%D0%B2%D1%96%D0%B4-http-%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%83">Відмінності від HTTP-протоколу</h2><!--kg-card-begin: html--><table style="border:none;border-collapse:collapse;"><colgroup><col width="333"><col width="333"></colgroup><thead><tr style="height:0pt"><th style="border-left:solid #000000 1pt;border-right:solid #000000 1pt;border-bottom:solid #000000 1pt;border-top:solid #000000 1pt;vertical-align:top;background-color:#cccccc;padding:5pt 5pt 5pt 5pt;overflow:hidden;overflow-wrap:break-word;" scope="col"><p dir="ltr" style="line-height:1.2;text-align: center;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">HTTP</span></p></th><th style="border-left:solid #000000 1pt;border-right:solid #000000 1pt;border-bottom:solid #000000 1pt;border-top:solid #000000 1pt;vertical-align:top;background-color:#cccccc;padding:5pt 5pt 5pt 5pt;overflow:hidden;overflow-wrap:break-word;" scope="col"><p dir="ltr" style="line-height:1.2;text-align: center;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">WebSocket</span></p></th></tr></thead><tbody><tr style="height:0pt"><td style="border-left:solid #000000 1pt;border-right:solid #000000 1pt;border-bottom:solid #000000 1pt;border-top:solid #000000 1pt;vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;overflow-wrap:break-word;"><p dir="ltr" style="line-height:1.2;text-align: center;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Однонаправлений протокол: тільки клієнт може ініціювати комунікацію — відправляти запити, сервер може тільки відповідати</span></p></td><td style="border-left:solid #000000 1pt;border-right:solid #000000 1pt;border-bottom:solid #000000 1pt;border-top:solid #000000 1pt;vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;overflow-wrap:break-word;"><p dir="ltr" style="line-height:1.2;text-align: center;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Двонаправлений протокол: після встановлення з’єднання будь-яка сторона може відправляти повідомлення</span></p></td></tr><tr style="height:0pt"><td style="border-left:solid #000000 1pt;border-right:solid #000000 1pt;border-bottom:solid #000000 1pt;border-top:solid #000000 1pt;vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;overflow-wrap:break-word;"><p dir="ltr" style="line-height:1.2;text-align: center;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">З’єднання нетривале, за замовчуванням закривається після відповіді сервера</span></p></td><td style="border-left:solid #000000 1pt;border-right:solid #000000 1pt;border-bottom:solid #000000 1pt;border-top:solid #000000 1pt;vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;overflow-wrap:break-word;"><p dir="ltr" style="line-height:1.2;text-align: center;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">З’єднання підтримується до завершення комунікації</span></p></td></tr><tr style="height:0pt"><td style="border-left:solid #000000 1pt;border-right:solid #000000 1pt;border-bottom:solid #000000 1pt;border-top:solid #000000 1pt;vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;overflow-wrap:break-word;"><p dir="ltr" style="line-height:1.2;text-align: center;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Під час комунікації завжди витрачається час на запит клієнта, навіть якщо важлива тільки відповідь сервера</span></p></td><td style="border-left:solid #000000 1pt;border-right:solid #000000 1pt;border-bottom:solid #000000 1pt;border-top:solid #000000 1pt;vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;overflow-wrap:break-word;"><p dir="ltr" style="line-height:1.2;text-align: center;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Сервер може відправити повідомлення, не чекаючи на запит клієнта</span></p></td></tr><tr style="height:0pt"><td style="border-left:solid #000000 1pt;border-right:solid #000000 1pt;border-bottom:solid #000000 1pt;border-top:solid #000000 1pt;vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;overflow-wrap:break-word;"><p dir="ltr" style="line-height:1.2;text-align: center;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Обов’язкове використання хедерів у повідомленнях</span></p></td><td style="border-left:solid #000000 1pt;border-right:solid #000000 1pt;border-bottom:solid #000000 1pt;border-top:solid #000000 1pt;vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;overflow-wrap:break-word;"><p dir="ltr" style="line-height:1.2;text-align: center;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Після встановлення з’єднання у хедерах немає </span><span style="font-size:11pt;font-family:Arial;color:#000000;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">потреби</span><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">, що значно зменшує розмір кожного повідомлення</span></p></td></tr><tr style="height:0pt"><td style="border-left:solid #000000 1pt;border-right:solid #000000 1pt;border-bottom:solid #000000 1pt;border-top:solid #000000 1pt;vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;overflow-wrap:break-word;"><p dir="ltr" style="line-height:1.2;text-align: center;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Підтримує кешування автоматично</span></p></td><td style="border-left:solid #000000 1pt;border-right:solid #000000 1pt;border-bottom:solid #000000 1pt;border-top:solid #000000 1pt;vertical-align:top;padding:5pt 5pt 5pt 5pt;overflow:hidden;overflow-wrap:break-word;"><p dir="ltr" style="line-height:1.2;text-align: center;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">За замовчуванням не підтримує кешування</span></p></td></tr></tbody></table><!--kg-card-end: html--><h2 id="%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0-websocket-%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%83">Структура WebSocket протоколу</h2><p>Вебсокет протокол існує як надбудова TCP. Специфікація визначає дві URI схеми для вебсокетів: <strong>ws:// </strong>для нешифрованого з’єднання та <strong>wss://</strong> відповідно — для шифрованого. Протокол складається з початкового хендшейку і безпосередньо обміну даними.<br></p><h3 id="handshake">Handshake</h3><p>У код-блоці нижче можете поглянути, як виглядає handshake з боку клієнта. Тут присутній header Connection: Upgrade. Також видно, який саме upgrade пропонується, — Upgrade: websocket:</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image3.png" class="kg-image" alt loading="lazy" width="791" height="166"></figure><p>Сервер підтверджує handshake статус кодом 101 — зміна протоколу, і так само надсилає деталі про новий connection:</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image1.png" class="kg-image" alt loading="lazy" width="781" height="100"></figure><h3 id="%D0%BE%D0%B1%D0%BC%D1%96%D0%BD-%D0%B4%D0%B0%D0%BD%D0%B8%D0%BC%D0%B8">Обмін даними</h3><p>Дані надсилаються у вигляді фреймів із заданим типом. Кожне повідомлення може складатися з одного чи більше фреймів. Усі вони повинні бути однакового типу. Такими типами можуть бути текст, бінарні дані та контрол фрейми, призначені не для передачі даних, а для службових сигналів на рівні протоколу. Наприклад, що з’єднання потрібно закрити.<br></p><h3 id="socketio">Socket.IO</h3><p>Це один з найпопулярніших інструментів для роботи з вебсокет протоколом. Він складається з вебсокет сервера та клієнтської бібліотеки. Спершу вони були реалізовані на JavaScript, але згодом з’явилися реалізації на багатьох інших мовах програмування. Socket.IO реалізує додатковий функціонал, якого немає у чистому WebSocket. Наприклад, автоматичні перепідключення, якщо з’єднання втрачене; або fallback до HTTP long polling, якщо WebSocket протокол не підтримується; а також впровадження неймспейсів і кімнат.<br></p><h3 id="namespaces">Namespaces</h3><p>Необхідні для розділення відповідальності (separation of concerns) у межах одного застосунку. Socket.IO дозволяє створювати декілька неймспейсів, які поводитимуться як окремі канали комунікації. Водночас під капотом вони будуть використовувати одне й те саме з’єднання. Розділяти на неймспейси може бути логічно за модулями у програмі або, наприклад, за спільними пермішенами.<br></p><h3 id="%D0%BA%D1%96%D0%BC%D0%BD%D0%B0%D1%82%D0%B8">Кімнати</h3><p>Це другий рівень ієрархії. У кожному неймспейсі, у тому числі дефолтному, можна створювати окремі канали — так звані кімнати, до яких клієнти можуть долучатися та виходити з них. Таким чином, ви можете транслювати повідомлення у «‎‎кімнату», і його отримають всі клієнти, котрі приєдналися до неї. Це може бути зручно для того, щоб одночасно відправити повідомлення групі користувачів або зібрати повідомлення з декількох девайсів для одного юзера.<br></p><h2 id="%D0%B0%D0%BB%D1%8C%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%82%D0%B8%D0%B2%D0%B8-%D1%81%D0%BE%D0%BA%D0%B5%D1%82%D0%B0%D0%BC">Альтернативи сокетам</h2><h3 id="http-polling">HTTP Polling</h3><p>Якщо нам постійно потрібно слідкувати за оновленням інформації на сервері, в деяких випадках це можна реалізувати за допомогою HTTP-протоколу — у вигляді HTTP Рolling.<br></p><h3 id="%D1%96%D1%81%D0%BD%D1%83%D1%94-%D0%B4%D0%B5%D0%BA%D1%96%D0%BB%D1%8C%D0%BA%D0%B0-%D0%B2%D0%B8%D0%B4%D1%96%D0%B2-http-polling">Існує декілька видів HTTP Polling:</h3><ul><li>short polling — простий підхід, однак вважається поганою практикою. Клієнт постійно перепитує сервер, чи готова запитувана інформація. Сервер обробляє реквести щойно вони надходять і відповідає пустим респонсом, якщо дані не готові. В такому випадку велика кількість реквестів перевантажує сервер.<br></li><li>long polling — клієнт надсилає один реквест на сервер і очікує відповіді. Сервер своєю чергою затримує реквест, допоки потрібні дані не стануть доступними чи у реквеста не закінчиться заданий таймаут. За оптимальних умов ми отримуємо відповідь щойно на сервері змінюються дані й не створюємо так багато трафіку, як при short polling. Однак на практиці доволі складно налаштувати відправку реквестів так, щоб вони не були ні занадто частими (і в більшості випадків не отримували відповіді), ні занадто повільними, тобто довго затримувались на сервері й марно витрачали ресурси. </li></ul><p>У результаті HTTP polling — не дуже зручний підхід, якщо нам вкрай важливо отримувати інформацію в реальному часі.<br></p><h3 id="http-streaming-server-sent-events">HTTP Streaming &amp; Server-sent events</h3><p>Гарний варіант для subscribe-only випадків. Наприклад, для підписки на оновлення стрічки новин чи надсилання сповіщень у браузер. Клієнт робить один HTTP-реквест, встановлюючи з’єднання, а сервер відповідає серією респонсів у міру того, як у нього з’являються відповідні дані. Респонси відправлятимуться, допоки клієнт не закриє з’єднання. Таким чином, зникає необхідність відкривати й закривати з’єднання для кожної пари реквест-респонс.</p><h3 id="%D0%BD%D0%B5%D0%B4%D0%BE%D0%BB%D1%96%D0%BA%D0%B8-%D1%82%D0%B0%D0%BA%D0%BE%D0%B3%D0%BE-%D0%BF%D1%96%D0%B4%D1%85%D0%BE%D0%B4%D1%83">Недоліки такого підходу:</h3><ul><li>Не гарантує миттєвої доставки повідомлень: з’єднання може бути перерване, реквест може потрапити в чергу інших HTTP-реквестів.</li><li>Клієнт не може відправляти дані на сервер, що унеможливлює використання цього підходу в застосунках, які потребують справжньої інтерактивності. Тобто там, де клієнт і сервер можуть надсилати один одному дані без додаткових проміжних запитів.<br></li></ul><h2 id="%D0%B7%D0%B0%D1%81%D1%82%D0%BE%D1%81%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%B2%D0%B5%D0%B1%D1%81%D0%BE%D0%BA%D0%B5%D1%82%D1%96%D0%B2">Застосування вебсокетів</h2><p>Оскільки вебсокети підтримують двонаправлений зв’язок, вони ідеально підходять для ситуацій, коли потрібен швидкий двосторонній обмін даними. Це онлайн-ігри, чати, фінансові застосунки, новини, обмін даними з IoT-девайсами.</p><p>Не варто використовувати вебсокети, якщо немає потреби в інтерактивності, немає постійного двостороннього трафіку, а натомість — є високі вимоги щодо безпеки. Адже довготривале відкрите з’єднання додає чимало ризиків.</p><h3 id="security">Security</h3><p>Як будь-яка комунікація в мережі, комунікація по вебсокет протоколу має певні вразливості.</p><h3 id="%D0%B2%D0%B8%D0%B4%D1%96%D0%BB%D1%8F%D1%8E%D1%82%D1%8C-%D1%82%D0%B0%D0%BA%D1%96-%D0%BC%D0%BE%D0%B6%D0%BB%D0%B8%D0%B2%D1%96-%D0%BD%D0%B0%D0%BF%D1%80%D1%8F%D0%BC%D0%B8-%D0%B0%D1%82%D0%B0%D0%BA">Виділяють такі можливі напрями атак:</h3><ul><li>XSS (cross site scripting), SQL-ін’єкції — впровадження шкідливого коду у повідомлення.</li><li>Man-in-the-middle — перехоплення інформації з каналу зв’язку.</li><li>DoS (Denial of Service) — відправка великої кількості запитів, аби зробити ресурс недоступним користувачам.</li><li>Неавторизований доступ до інформації.<br></li></ul><h3 id="%D1%8F%D0%BA-%D0%B7%D0%B0%D1%85%D0%B8%D1%81%D1%82%D0%B8%D1%82%D0%B8%D1%81%D1%8F">Як захиститися:</h3><ul><li>Валідувати дані.</li><li>Використовувати шифроване з’єднання — wss://.</li><li>Впровадити rate limiting — обмеження по кількості повідомлень за одиницю часу.</li><li>Додати аутентифікацію на етапі хендшейку. Один із варіантів — використовувати ticket-based аутентифікацію. Це коли клієнт перед апгрейдом з’єднання контактує із HTTP-сервером, який генерує ticket з необхідною інформацією про юзера. Далі клієнт надсилає цей ticket WebSocket-серверу, котрий валідує його і тільки потім надає згоду на з’єднання.</li></ul><h2 id="%D0%B2%D0%B5%D0%B1%D1%81%D0%BE%D0%BA%D0%B5%D1%82%D0%B8-%D0%B2-python">Вебсокети в Python</h2><p><strong>Серед бібліотек, які існують у Python та активно розвиваються, можна згадати такі:</strong></p><ol><li><a href="https://python-socketio.readthedocs.io/en/latest/">python-socketio</a> — фреймворк-незалежна імплементація Socket.IO для Python, має синхронний та асинхронний варіанти;</li><li><a href="https://flask-socketio.readthedocs.io/en/latest/">Flask-SocketIO</a> — інтеграція Socket.IO та Flask;</li><li><a href="https://channels.readthedocs.io/en/latest/">Django Channels</a> — розширення для Django-фреймворку, додає підтримку вебсокет протоколу, HTTP long polling, MQTT; дозволяє обрати між синхронним та асинхронним варіантом імплементації;</li><li><a href="https://autobahn.readthedocs.io/en/latest/">Autobahn|Python</a> — реалізація вебсокет протоколу і WAMP (web application messaging protocol) на Twisted та asyncio;</li><li><a href="https://websockets.readthedocs.io/en/stable/">websockets</a> — бібліотека для створення вебсокет серверів і клієнтів на основі вебсокет протоколу. Дефолтна імплементація побудована на asyncio, але дає змогу використовувати threading за бажанням;</li><li><a href="https://websocket-client.readthedocs.io/en/latest/">websocket-client</a> — низькорівневий вебсокет клієнт для Python на основі чистого вебсокет протоколу.<br></li></ol><p>WebSocket протокол дає можливість створювати інтерактивну комунікацію між клієнтом і сервером без необхідності постійно пінгувати сервер. Таким чином ми економимо час, прискорюємо роботу застосунку і можемо підтягувати зміни в режимі реального часу. <br>Як і з будь-якою технологією, вебсокети незамінні там, де вони доречні, але їх застосування не завжди потрібне. Часом воно несе додаткові ризики й потребує окремих знань для правильного, безпечного застосування.</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Періодичність проведення рев'ю конкурентного аналізу у кожний компанії є індивідуальною: хтось це робить раз на рік, інші не вважають потрібним взагалі. Але, враховуючи кризові обставини сьогодення, буде дуже на часі провести рев'ю саме зараз.

Конкурентний аналіз — це доволі гнучкий інструмент маркетингових досліджень, який в порівнянні з іншими видами, наприклад, аналізом ]]></description>
        <link>https://proit.ua/konkurientnii-analiz-u-krizovii-chas-mietodi-ta-riekomiendatsiyi/</link>
        <guid isPermaLink="false">64615ec43ad50363a6f611bb</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Ірина Пікалова ]]></dc:creator>
        <pubDate>нд, 21 трав 2023 01:25:00 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/stage-mep/2023/05/346100763_246163158016677_5764392031215710376_n.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p></p><p>Періодичність проведення рев'ю конкурентного аналізу у кожний компанії є індивідуальною: хтось це робить раз на рік, інші не вважають потрібним взагалі. Але, враховуючи кризові обставини сьогодення, буде дуже на часі провести рев'ю саме зараз.</p><p>Конкурентний аналіз — це доволі гнучкий інструмент маркетингових досліджень, який в порівнянні з іншими видами, наприклад, аналізом споживача, вимагає менше часу та ресурсів, тому його буде легко вписати до вашого бюджету. </p><p>Поетапний план, методи та поради — у цій статті разом з Іриною Пікаловою, Senior Brand Strategist в Promodo, ми зосередилися на важливих поінтах конкурентного аналізу, які використовуються у роботі із клієнтами Promodo.</p><h2 id="%D0%B2%D0%B0%D0%B6%D0%BB%D0%B8%D0%B2%D1%96%D1%81%D1%82%D1%8C-%D0%BA%D0%BE%D0%BD%D0%BA%D1%83%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B7%D1%83">Важливість конкурентного аналізу</h2><p>Висновки за результатами конкурентного аналізу надають змогу під час кризи та форс-мажорів приймати рішення, які будуть посилювати переваги компанії, скасовувати бар'єри для зростання та підвищувати лояльність споживачів.</p><h2 id="%D0%BF%D0%B5%D1%80%D1%88%D0%B8%D0%B9-%D0%B5%D1%82%D0%B0%D0%BF-%D0%B2%D0%B8%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%BD%D1%8F-%D1%86%D1%96%D0%BB%D0%B5%D0%B9-%D0%B4%D0%BE%D1%81%D0%BB%D1%96%D0%B4%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F">Перший етап: визначення цілей дослідження</h2><p>Аналіз конкурентів допомагає виявити:</p><ul><li>Стратегію ціноутворення, що використовують конкуренти;</li><li>Сильні/слабкі товарні категорії у конкурентів;</li><li>Канали залучення трафіку конкурентів;</li><li>Сервіси, які конкуренти пропонують споживачам.</li></ul><p>Аналіз конкурентного середовища може стати відправною точкою для формування обґрунтованих бізнес-рішень, тому, якщо в переліку ваших завдань на 2023 є планування розвитку товарних категорій, додавання нових сервісів, прорахунок бюджетів на просування та плани збільшення частки ринку шляхом залучення споживачів конкурентів — дійте.</p><h2 id="%D0%B4%D1%80%D1%83%D0%B3%D0%B8%D0%B9-%D0%B5%D1%82%D0%B0%D0%BF-%D0%B2%D0%B8%D1%8F%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F-%D0%BA%D0%BE%D0%BD%D0%BA%D1%83%D1%80%D0%B5%D0%BD%D1%82%D1%96%D0%B2">Другий етап: виявлення конкурентів</h2><p>Це найскладніший етап, бо досить часто бізнес балансує між «всі є нашими конкурентами» та «ми настільки унікальні, що в нас немає конкурентів». З філософської точки зору обидві ситуації можливі, але прагматичний підхід та досвід говорять про інше. У споживача завжди є вибір, і він може бути зроблений не на вашу користь, а на користь аналога або товару-замінника.</p><p>Нижче ми зібрали кілька порад щодо визначення конкурентів.</p><h3 id="%D0%BE%D0%B1%D0%B5%D1%80%D1%96%D1%82%D1%8C-%D0%B4%D0%B5%D0%BA%D1%96%D0%BB%D1%8C%D0%BA%D0%B0-%D0%B1%D0%B0%D0%B7%D0%BE%D0%B2%D0%B8%D1%85-%D0%BA%D1%80%D0%B8%D1%82%D0%B5%D1%80%D1%96%D1%97%D0%B2-%D0%B4%D0%BB%D1%8F-%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B7%D1%83-%D0%BA%D0%BE%D0%BD%D0%BA%D1%83%D1%80%D0%B5%D0%BD%D1%82%D1%96%D0%B2">Оберіть декілька базових критеріїв для аналізу конкурентів</h3><p>Рекомендуємо визначити не більше двох основних параметрів.</p><p>Першим параметром може бути ваш досвід. Наприклад, ви знаєте, з ким із конкурентів вас порівнюють найчастіше. За другий параметр рекомендуємо обрати кількісний показник. Це може бути середній показник трафіку на сайтах конкурентів, кількість офлайн магазинів або частка ринку. Важливо, щоб цей показник був по кожному гравцю.</p><h3 id="%D0%B7%D0%B0%D0%BB%D1%83%D1%87%D1%96%D1%82%D1%8C-%D1%82%D1%80%D0%B5%D1%82%D1%8E-%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D1%83-%D0%B4%D0%BB%D1%8F-%D0%BE%D0%B1%D1%94%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%97-%D0%BE%D1%86%D1%96%D0%BD%D0%BA%D0%B8">Залучіть третю сторону для об'єктивної оцінки</h3><p>Іноді саме досвід заважає подивитись на конкуренцію обʼєктивно. За можливості залучіть своїх колег, друзів і знайомих — запитайте, яких гравців ринку вони знають, де і що купували, чим користуються і чому.</p><p>Другий та найбільш ефективний варіант — спитати свого споживача. Наприклад, це може бути маленька анкета, додана до email-розсилки, або опитування у соцмережах. Слід зауважити, що тут не так важлива репрезентативність, як звичайна підказка для вас на кого з представників ринку можна додатково звернути увагу.</p><h3 id="%D0%B2%D0%B8%D0%B7%D0%BD%D0%B0%D1%87%D1%82%D0%B5-%D0%B4%D0%BE-10-%D0%B3%D1%80%D0%B0%D0%B2%D1%86%D1%96%D0%B2-%D0%BA%D0%BE%D0%BD%D0%BA%D1%83%D1%80%D0%B5%D0%BD%D1%82%D1%96%D0%B2-%D1%80%D0%B8%D0%BD%D0%BA%D1%83">Визначте до 10 гравців-конкурентів ринку</h3><p>Чи потрібно аналізувати всіх ваших конкурентів, які представлені на ринку? Ні, бо обрані гравці визначатимуть ваші остаточні висновки, тож слід зосередитися на порівнянні свого бізнесу з 5-10 конкурентами. Для виокремлення своїх конкурентів ви можете скористатися класифікацією Міка Поно.‍</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/63b596b46579dd03b721209d_20230104_01_1200x675--1--1.svg" class="kg-image" alt loading="lazy" width="1200" height="675"></figure><p></p><blockquote>Чим сильніше переповнений ваш ринок, тим більше конкурентів ви повинні включити у свій аналіз. Ми рекомендуємо сконцентруватися на 10 гравцях. Нехай три з них будуть лідерами в категорії (знання бренду, частка ринку, доля в трафіку), наступні 4-5 — найближчі до вас, а останні — новачки ринку або найменші гравці.</blockquote><p>Лідери ринку дадуть вам розуміння, куди прагне категорія, найближчі до вас конкуренти — приклади механік, яким чином боротися за увагу споживача, а маленькі або нові — запропонують нестандартні та унікальні практики.</p><h2 id="%D1%82%D1%80%D0%B5%D1%82%D1%96%D0%B9-%D0%B5%D1%82%D0%B0%D0%BF-%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B7-%D0%BA%D0%BE%D0%BD%D0%BA%D1%83%D1%80%D0%B5%D0%BD%D1%82%D1%96%D0%B2">Третій етап: аналіз конкурентів</h2><p>Далі ми на прикладах кейсів Promodo розглянемо <strong><strong>чотири методи</strong></strong> аналізу конкурентів.</p><h3 id="%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B7-%D1%86%D1%96%D0%BD%D0%BE%D1%83%D1%82%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F">Аналіз ціноутворення</h3><p>Розберемо цей метод на прикладі аналізу тарифікації digital-банків.</p><h4 id="%D0%BA%D1%80%D0%BE%D0%BA-1-%D0%B3%D1%80%D0%B0%D0%B2%D1%86%D1%96-%D1%82%D0%B0-%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D0%B8-%D0%B4%D0%BB%D1%8F-%D0%BF%D0%BE%D1%80%D1%96%D0%B2%D0%BD%D1%8F%D0%BD%D0%BD%D1%8F">Крок 1. Гравці та продукти для порівняння</h4><p>Було обрано  пʼять банків без фізичних відділень та карткові продукти, для яких доступні кредитні ліміти.</p><h4 id="%D0%BA%D1%80%D0%BE%D0%BA-2-%D0%BA%D1%80%D0%B8%D1%82%D0%B5%D1%80%D1%96%D1%97-%D0%BF%D0%BE%D1%80%D1%96%D0%B2%D0%BD%D1%8F%D0%BD%D0%BD%D1%8F">Крок 2. Критерії порівняння</h4><p>Ми спирались на попередні дослідження споживача. Ви можете спиратися на власну аналітику, спитати у споживача або обрати критерії емпіричним шляхом.</p><h4 id="%D0%BA%D1%80%D0%BE%D0%BA-3-%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B7-%D0%B7%D1%96%D0%B1%D1%80%D0%B0%D0%BD%D0%B8%D1%85-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85">Крок 3. Аналіз зібраних даних</h4><p>Після аналізу ми побачили, що відкриття та безплатне обслуговування картки в усіх проаналізованих банків — must-have на ринку.</p><p>Для порівняння інших тарифів необхідно розробити «легенду» й умови, в яких чесно порівнювати гравців. Наприклад, 10 операцій на місяць, де 5 — за найнижчим тарифом, а 5 — за найвищим (за кожним критерієм).</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/63b596d53b2016ea1c0dd4d7_R1JootoJXoZDmL4-BCZ7b3y1_Cw1nEihpWeOJ2ESeLROosiAYcD0CmRWWA7QsmCKvSvaIiJ1ds_q9poaJUSCArTMD6i72kY-brgxnt34hwEe_2oGDP7-UntRNcN2BttCQ9Yy5no9-DqFBCU8-V_iNwKZGGM37cDno6po2D0Pq13KNjD-1.png" class="kg-image" alt loading="lazy" width="897" height="396"></figure><p>Аналіз ціноутворення допоможе:</p><ul><li>Зрозуміти ваше місце на ринку серед конкурентів;</li><li>Ваші слабкі та сильні сторони в порівнянні з конкурентами;</li><li>Виявити must-have, які вже не є чимось унікальним для споживача;</li><li>Зрозуміти стратегії ціноутворення конкурентів.</li></ul><h3 id="%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B7-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BD%D0%B8%D1%85-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D1%96%D0%B9">Аналіз товарних категорій</h3><p>Цей метод підходить для аналізу конкурентів в онлайн, бо в офлайні зібрати товарні категорії конкурентів значно важче. Розглянемо цей метод на прикладі аналізу репрезентованості брендів (виробників) на сайтах конкурентів.</p><p><strong><strong>Інструмент:</strong></strong> Парсери.</p><p>Тут дотримуємося таких кроків:</p><ol><li>Обираємо конкурентів, категорії товарів і тип, за яким будемо рахувати (загальна кількість товарів, або тільки ті, що в наявності);</li><li>Безпосередньо парсинг даних;</li><li>Аналізуємо та порівнюємо з даними власного сайту.</li></ol><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/63b59be7fba1c5e158c6350b_--------------2023-01-04---17.14.47-1.png" class="kg-image" alt loading="lazy" width="1434" height="598"></figure><blockquote>Цей метод дає можливість порівняти себе з конкурентами, визначити слабкі сторони та обрати категорії або виробників товарів, яких необхідно додати до асортименту, тому рекомендуємо проводити цей аналіз разом з аналізом онлайн-попиту. Це потрібно для того, щоб порівняти асортимент конкурентів з реальною зацікавленістю споживачів.</blockquote><h3 id="%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B7-%D1%82%D1%80%D0%B0%D1%84%D1%96%D0%BA%D1%83-%D0%BA%D0%BE%D0%BD%D0%BA%D1%83%D1%80%D0%B5%D0%BD%D1%82%D1%96%D0%B2">Аналіз трафіку конкурентів</h3><p>За приклад беремо інструменти:<strong><strong> </strong></strong>SimilarWeb (сайти), Data.ai (додатки)</p><h4 id="%D0%BA%D1%80%D0%BE%D0%BA-1-%D0%BE%D0%B1%D0%B8%D1%80%D0%B0%D1%94%D0%BC%D0%BE-%D0%BA%D0%BE%D0%BD%D0%BA%D1%83%D1%80%D0%B5%D0%BD%D1%82%D1%96%D0%B2-%D1%82%D0%B0-%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B7%D1%83%D1%94%D0%BC%D0%BE-%D0%B7%D0%B0-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BC%D0%BE%D0%B3%D0%BE%D1%8E-similarweb-%D0%B0%D0%B1%D0%BE-dataai">Крок 1. Обираємо конкурентів та аналізуємо за допомогою SimilarWeb або Data.ai</h4><p>На цьому етапі важливо звернути увагу на динаміку загального трафіку на сайти конкурентів (зменшення/збільшення, в які періоди), показники залученості аудиторії (скільки сторінок переглядають, скільки часу проводять на сайті, коефіцієнт відмов).</p><p>‍</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image-2.png" class="kg-image" alt loading="lazy" width="1280" height="414"></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/63b596d63b20164b270dd4d9_fdYbdztfEZWCWcPrIXCpX2hgSIgDVKyRJlXEvEa6T6hj4qJi7_MMqZ82N6PsTmoe9JU_KahwNHgYJDiYynwZU9_OfaoS9AY1II8ngAKNYAAkO98hGM2JBhDogLWsvyI9NVm4gzxK73P8IfciLdQmb6jcVhq27qoKP_B-s1Hr2P8kTLnlRouANE594KLBEQ.jpeg" class="kg-image" alt loading="lazy" width="1280" height="422"><figcaption>Показники залученості аудиторії на сайти категорії «Ювелірні прикраси»</figcaption></figure><p>‍</p><h4 id="%D0%BA%D1%80%D0%BE%D0%BA-3-%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B7-%D0%BA%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B2-%D0%B7%D0%B0%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%BD%D1%8F-%D1%82%D1%80%D0%B0%D1%84%D1%96%D0%BA%D1%83">Крок 3. Аналіз каналів залучення трафіку</h4><p>По кожному каналу ми дивимось на загальний обсяг трафіку, що залучає конкурент, в які періоди є пік активності каналу.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/63b596d69a21697a32a2f8cb__QYscLmFzjjrwLp3C5GutmfydTwDIN4uslWlfR3-XaUhRYjNCUuyw7oT7BAg0yFsslp3QuaF9YpSK67gVEMny64GlxpreUybY5g7RrR-Izly0cCIxOk_tZGL12ttBf1m0s29d_NQe7TdxgoR3mahEzMEmoSNI0wmP_7mLrANakJwnw6kLf98MlxKEzp8tg.jpeg" class="kg-image" alt loading="lazy" width="1483" height="592"><figcaption>Динаміка каналу Social на сайти категорії «Ювелірні прикраси»</figcaption></figure><p>‍</p><h4 id="%D0%BA%D1%80%D0%BE%D0%BA-4-%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B7%D1%83%D1%94%D0%BC%D0%BE-%D0%B0%D1%83%D0%B4%D0%B8%D1%82%D0%BE%D1%80%D1%96%D1%8E-%D1%81%D0%B0%D0%B9%D1%82%D1%96%D0%B2">Крок 4. Аналізуємо аудиторію сайтів</h4><p>Цікаво порівнювати аудиторію свого сайту з аудиторією конкурентів у розрізі наступних параметрів:</p><ul><li>загального портрета (регіон, вік, стать);</li><li>відсотка нових користувачів та тих, що повернулись;</li><li>перетину аудиторії поміж сайтами (це частка людей, які були на вашому сайті та впродовж 24 годин також відвідали сайт конкурента).</li></ul><p>‍</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/63b596d62c3eae82185a7481_WhUVSsnpPEc5nL3QCd_MS8gPotufSKAlylaktAnYqOGb0Sk5-PwUVWQFR7eMJPur6Wjgy8Sz7WR728OEF95IEaKj6-BAcEptOid0s37e-O4vVbfo8LyFfzlz6ZsNvCauzuEHbT-Zxxvr3JMEOL8kP77aBCkSDlZhU-hnmK1jNkEAdJdbdoNKjN9sJQmobw.png" class="kg-image" alt loading="lazy" width="995" height="386"></figure><p>‍</p><p>Аналіз аудиторії сайту допоможе:</p><ul><li>Дізнатись долі в трафіку серед конкурентів та визначити лідерів;</li><li>Виділити основні канали залучення трафіку та стратегії просування конкурентів;</li><li>Визначити перетин аудиторій між гравцями.</li></ul><h3 id="%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B7-%D1%81%D0%B5%D1%80%D0%B2%D1%96%D1%81%D1%96%D0%B2-%D0%BA%D0%BE%D0%BD%D0%BA%D1%83%D1%80%D0%B5%D0%BD%D1%82%D1%96%D0%B2">Аналіз сервісів конкурентів</h3><p>Цей метод можна адаптувати під різні потреби, починаючи з аналізу стандартних сервісів на кшталт умов доставлення та оплати, та завершуючи пакетними пропозиціями послуг й функціоналу мобільних застосунків  конкурентів.</p><h4 id="%D0%BA%D1%80%D0%BE%D0%BA-1-%D0%BE%D0%B1%D0%B8%D1%80%D0%B0%D1%82%D0%B8-%D0%BA%D0%BE%D0%BD%D0%BA%D1%83%D1%80%D0%B5%D0%BD%D1%82%D1%96%D0%B2-%D0%B4%D0%BB%D1%8F-%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B7%D1%83">Крок 1. Обирати конкурентів для аналізу</h4><p>В аналізі сервісів важливо, щоб серед конкурентів були різні гравці, можна додатково обрати бенчмарк на ринку або в категорії, та навіть додати гравця з іншої країни як приклад.</p><h4 id="%D0%BA%D1%80%D0%BE%D0%BA-2-%D0%BF%D1%96%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BA%D0%B0-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D1%96%D0%B2-%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%96%D0%B2">Крок 2. Підготовка шаблонів документів</h4><p>Перед тим, як збирати дані по конкурентах, важливо впевнитись, що ви звернули увагу на всі критерії, додали всі можливі сервіси для порівняння.</p><h4 id="%D0%BA%D1%80%D0%BE%D0%BA-3-%D0%B7%D0%B1%D1%96%D1%80-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85">Крок 3. Збір даних</h4><p>Визначте джерела і метод збору. Це можуть бути офіційні сайти конкурентів, соцмережі, сторінки у гугл картах з відгуками. Також можна обдзвонювати конкурентів і уточнювати наявність послуг та їх ціну.</p><h4 id="%D0%BA%D1%80%D0%BE%D0%BA-4-%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B7-%D1%82%D0%B0-%D0%BE%D0%B1%D1%80%D0%BE%D0%B1%D0%BA%D0%B0-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85">Крок 4. Аналіз та обробка даних</h4><p>На цьому етапі ми поділяємо сервіси на три категорії:</p><ul><li>Must-have сервіси, які присутні у всіх гравців;</li><li>Точки зростання — сервіси, що представлені серед невеликої кількості гравців і додавання яких може надати невелику перевагу на фоні інших конкурентів;</li><li>Унікальні сервіси — сервіси, якими конкуренти привертають увагу споживача та унікальні функції.</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/63b69aa9a082e1167d8dc15b_--------------2023-01-05---11.35.39.png" class="kg-image" alt loading="lazy" width="2879" height="1477"><figcaption>Сервіси оплати доступні споживачам в категорії автотоварів</figcaption></figure><p>‍</p><p>Метод аналізу сервісів конкурентів допоможе:</p><ul><li>Зрозуміти місце на ринку з точки зору сервісів;</li><li>Визначити пріоритети щодо впровадження сервісів.</li><li>Знайти точки зростання і зрозуміти, за допомогою яких сервісів диференціюються конкуренти.</li></ul><h2 id="%D1%87%D0%B5%D1%82%D0%B2%D0%B5%D1%80%D1%82%D0%B8%D0%B9-%D0%B5%D1%82%D0%B0%D0%BF-%D0%BE%D0%B1%D1%80%D0%BE%D0%B1%D0%BA%D0%B0-%D1%80%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D1%96%D0%B2-%D1%82%D0%B0-%D1%81%D0%BA%D0%BE%D1%80%D0%B8%D0%BD%D0%B3%D0%B8">Четвертий етап: обробка результатів та скоринги</h2><p>Аби робота не була марною, важливо фіналізувати результати аналізу. Для цього підійде класичний SWOT-аналіз або скоринги.</p><p>‍</p><blockquote><a href="https://t.me/c/1682853377/254">Шаблони для SWOT-аналізу та скорингу</a></blockquote><p>‍</p><p>Для скорингу надайте кожному критерію вашого аналізу оцінку, де 1 — кращий результат серед гравців, а 10 — найгірший. Підсумуйте результати та отримайте «місце на ринку».</p><p>‍</p><blockquote>Безпосередньо скоринг не відповідає на питання «що робити», але є показником ситуації «на зараз». Спираючись на ці дані ви зможете планувати наступні дії не наосліп або інтуїтивно, а ґрунтовно розуміючи з чим саме потрібно працювати.</blockquote><h2 id="%D0%BF%D1%96%D0%B4%D1%81%D1%83%D0%BC%D0%BE%D0%BA">Підсумок</h2><p>Для того, щоб знайти нові можливості для виокремлення вашого продукту/послуг та кращих способів обслуговування клієнтів, потрібно усвідомлювати, що роблять ваші конкуренти в галузі: від запуску нових продуктів до стратегічного планування та використання маркетингових інструментів. У цьому вам допоможуть методи, про яки ми розповіли. Ви можете користуватись відразу всіма методами, або міксувати їх за потреби.</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Авторизація та автентифікація за технологією Single Sign On дуже поширені в сучасних IT-продуктах. Усе більше сервісів інтегрується один в одного, і перехід між ними без повторного вказання логіну та паролю спрощує життя користувачам. Однак для розробників не все так просто. Інструментів Single Sign On багато, й який із них кращий ]]></description>
        <link>https://proit.ua/avtientifikatsiia-ta-avtorizatsiia-za-printsipom-single-sign-on-obiraiemo-krashchii-identity-provaidier/</link>
        <guid isPermaLink="false">646154053ad50363a6f61132</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Катерина Срібна ]]></dc:creator>
        <pubDate>пн, 15 трав 2023 00:41:42 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/05/6333204.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Авторизація та автентифікація за технологією Single Sign On дуже поширені в сучасних IT-продуктах. Усе більше сервісів інтегрується один в одного, і перехід між ними без повторного вказання логіну та паролю спрощує життя користувачам. Однак для розробників не все так просто. Інструментів Single Sign On багато, й який із них кращий важко сказати. Спробуймо порівняти й обрати серед популярних провайдерів — IdentityServer 4, Azure B2C та Keycloak.</p><h2 id="%D1%8F%D0%BA-%D0%BF%D1%80%D0%B0%D1%86%D1%8E%D1%94-single-sign-on">Як працює Single Sign On</h2><p>Для початку пройдемося по базовій теорії. Single Sign On — це технологія єдиного входу. Вона спрощує для користувача роботу із різними сервісами. Юзер може 1 раз пройти процедуру ідентифікації і переміщатися між сервісами без постійного введення різних логінів та паролів. Всі перевірки кожного разу будуть здійснюватися непомітно для користувача, під капотом системи. Найкращий приклад використання цієї технології — екосистема Google. Ви вводите пароль, а потім без постійного повторення кредів користуєтеся Google Docs, Google Disk, Google Photos тощо. При цьому за своїм Google-акаунтом можна зайти навіть до сторонніх сервісів, які підключили цей функціонал для авторизації та автентифікації.</p><p>Принцип технології Single Sign On можна оцінити за наступною схемою. Користувач відкриває браузер і намагається зайти на перший сайт. Сайт звертається до ID-провайдера, з яким встановлені довірчі відносини і який ми налаштували раніше. Для звернення сайт використовує ключ, за яким йде валідація всієї інформації.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/--------------4-.png" class="kg-image" alt loading="lazy" width="960" height="540"></figure><p>Користувач створює запит на сайті №1 на певні дані, але той в такому випадку вимагає пройти автентифікацію. Для цього сайт створює у браузері користувача редирект на Identity-провайдер, де можна отримати потрібну інформацію про права користувача. ID-провайдер переконується, що по цьому запиту відсутня інформація та він не знає користувача, а тому повертає в браузер свою логін-сторінку. Там юзер указує креди, і провайдер перевіряє їх. Як тільки сервіс «впізнає» користувача і виконає авторизацію, він поверне сайту через браузер спеціальний токен. Сайт валідує токен і надасть юзеру доступ до ресурсів відповідно до його ролі. При цьому користувач непомітно для себе отримає ще й cookies. Саме вони спростять взаємодію юзера та цього сайту, а також усіх інших, де підключено цього конкретного Identity-провайдера.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/--------------5-.png" class="kg-image" alt loading="lazy" width="958" height="540"></figure><p>Також уявімо ще один сайт в цій системі. Він також вимагає від юзерів автентифікацію та авторизацію, і у цього сайту встановлені довірчі відносини з тим самим Identity-провайдером. Ситуація ніби повторює відправку запиту. Але є відмінність: Identity-провайдер знає, що користувач вже пройшов ідентифікацію. Тож не треба передавати логін-сторінку, а достатньо лише повернути другий токен сайту. І тоді останній віддасть юзеру потрібний ресурс, а також для подальшої роботи створить свої cookies.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/--------------6-.png" class="kg-image" alt loading="lazy" width="960" height="541"></figure><p>Цей підхід має дві переваги:</p><ul><li><strong>Зручність використання</strong>. Користувач логіниться лиш раз та отримує доступи до ресурсів на усіх потрібних йому сайтах без регулярних редиректів на якісь логін-сторінки.<br></li><li><strong>Простий менеджмент</strong>. Керування доступами може бути централізованим. Ми налаштовуємо доступи та ролі юзерів, скоупи ресурсів та усі інше буквально в одному місці.</li></ul><p>Та є й певні проблеми у цьому підході до авторизації та автентифікації. При викраденні даних користувача хакери отримують доступи до всіх акаунтів на різних сайтах, де був зареєстрований наш юзер. Втім, на цю ситуацію можна подивитися трохи з іншого боку. Усі системи можна взламати. Адже користувачі часто не ускладнюють собі життя при виборі паролю. В багатьох випадках вони придумують досить легкий пароль, інколи лише додають до нього певні символи. Про випадки з єдиним паролем до всіх сайтів і казати годі... Тож ризики є завжди. Просто треба розуміти, заради чого ви використовуєте нову модель.</p><h2 id="%D0%B2%D0%B0%D1%80%D1%96%D0%B0%D0%BD%D1%82%D0%B8-%D1%80%D0%B5%D0%B0%D0%BB%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%97-flow-%D0%B7%D0%B0-%D1%82%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D1%94%D1%8E-oauth-20">Варіанти реалізації flow за технологією OAuth 2.0</h2><p>Існує багато протоколів для налаштування автентифікації та авторизації: OpenID Connect, OAuth 2.0, SAML, WSFed. В статті будуть розглянуті лише два перші як найбільш поширені.</p><p>OpenID Connect є надбудовою над OAuth 2.0 та дозволяє верифікувати юзерів за допомогою авторизаційних серверів. Можна підключати різні клієнти (зокрема й на JavaScript для отримання даних про сервіси), десктопні та веб-застосунки — все для як автентифікації, так і для авторизації. Щодо до OAuth 2.0, то цей протокол відповідає за перевірку доступів юзерів. У нього є декілька flow для реалізації механізму авторизації. Останній буде вказувати, де та яку конкретно інформацію брати, а також що і де зберігати.</p><p><strong>Client Credentials Flow</strong>. Також цей флоу називають Machine to Machine або Service to Service. Він допомагає налаштувати автентифікацію і авторизацію між різними сервісами, при цьому без взаємодії з власне юзером. Побудова цього флоу — на наступній схемі.<br></p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/--------------7-.png" class="kg-image" alt loading="lazy" width="784" height="538"></figure><p><strong>Device Authorization Flow</strong>. Цей флоу призначен для застосунків, що мають працювати ще на декількох пристроях. Наприклад, він підходить для Smart TV, де є застосунки для стрімінгових платформ, YouTube, відео через торенти тощо. В такому випадку автентифікація — це дійсно часте завдання в різних сервісах. При цьому вони мають зберігати дані про перегляди юзерів та на їх основі готувати рекомендації. І тут вже потрібна авторизація — це те, без чого не буде працювати основний функціонал цих застосунків. </p><p>В цьому випадку такий пристрій повинен якось з’єднатися із Identity-провайдером для ідентифікації користувачів. Через це процес значно ускладнюється, адже сторонній пристрій може бути позбавлений браузера як такого. Тож тут використовується браузер-флоу. Із ним авторизація може проходити, наприклад, через смартфон, коли користувач вводить дані на екрані свого пристрою. Реалізація такого механізму — на наступній ілюстрації.<br></p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/--------------8-.png" class="kg-image" alt loading="lazy" width="954" height="540"></figure><p><strong>Implicit Flow</strong>. Цей механізм допоможе отримати клієнтську частину від Access-токенів та Refresh-токенів. Його можна досить швидко реалізувати, проте рівень безпеки не дуже високий. В цьому випадку ми передаємо токени на клієнта, і він може зберігати їх у будь-який спосіб та при авторизації приходити з конкретним токеном для отримання інформації. Саме через це немає впевненості у безпеці токенів. Тому цей флоу можна застосувати тільки за гарантій сек’юрності мережі, де виключені ризики потрапляння зловмисника в середину процесів.<br></p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/--------------9-.png" class="kg-image" alt loading="lazy" width="699" height="539"></figure><p><br><strong>Authorization Code Flow</strong>. Цей механізм автентифікації завдяки його безпеці можна використати як альтернативу до Implicit Flow. Треба лише пам’ятати: клієнтська частина тут знає Client ID та Client Secret. Проте взаємодія побудована на застосуванні Authorization-коду, рандомно згенерованого коду, тож все має бути нормально. Стандартна рекомендація стосовно цього флоу: використання для сервер-сайт застосунків (наприклад, застосунку ASP.NET MVC). А головне: навіть із сторонніми бібліотеками потрапити в те, що генерується сервером, буде дуже складно.<br></p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/--------------10-.png" class="kg-image" alt loading="lazy" width="653" height="546"></figure><p><strong>Authorization Code Flow with Proof Key for Code Exchange (PKCE)</strong>. Це варіант минулого флоу із певними удосконаленнями. Механізм передбачає рандомну генерацію Code Verifier та Code Challenge. Авторизація тут проходить із Code Challenge. Після отримання кредів від юзера віддається Authorization Code. Далі для отримання токена потрібно використати щойно виданий Authorization Code та Code Verifier. Завдяки цьому валідація в Identity-провайдері відбувається на основі одразу трьох кодів. А тому якщо хакер отримає один із кодів, це не буде проблемою. Такий флоу можна встановити, наприклад, у таких Single Page Applications, як Angular- та React JS-програмах або нативних застосунках на Android та iOS.<br></p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/--------------11-.png" class="kg-image" alt loading="lazy" width="960" height="538"></figure><p><strong>Hybrid Flow</strong>. В цьому механізмі об’єднано Implicit Flow та Authorization Code. За задумом авторів, такий флоу більш складний, а тому й трохи безпечніший. Проте він фактично має позитивні та негативні характеристики обох більш простих флоу.<br></p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/--------------12-.png" class="kg-image" alt loading="lazy" width="609" height="538"></figure><h2 id="%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%B3%D0%B8-%D1%82%D0%B0-%D0%BD%D0%B5%D0%B4%D0%BE%D0%BB%D1%96%D0%BA%D0%B8-%D0%BF%D0%BE%D0%BF%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D0%B8%D1%85-identity-%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B9%D0%B4%D0%B5%D1%80%D1%96%D0%B2">Переваги та недоліки популярних Identity-провайдерів</h2><h3 id="identityserver-4">IdentityServer 4</h3><p>У ньому реалізована підтримка протоколів OpenID Connect і OAuth 2.0 та сторонніх Identity-провайдерів. Також є декілька варіантів того, як підключається авторизація. Це можливо за допомогою акаунтів у Google, Facebook, Microsoft, Twitter, Instagram тощо. Розгортання доволі легке. Для цього створюється застосунок і встановлюються Nuget-пакети з IdentityServer4, IdentityServer4.EntityFramework та IdentityServer4.AspNetIdentity та пакет IdentityModel на клієнтську частину (якщо, припустимо, MVC-застосунок як клієнт). Це допоможе отримати дані про Access-токени і там же, під капотом, редиректити запити у потрібний спосіб.</p><p>У цього провайдера є декілька плюсів:</p><ul><li><strong>Гнучкість при налаштуванні і доступність кастомних валідаторів</strong>. Через те, що ми самостійно створюємо застосунок із встановленими Nuget-пакетами, можна також власноруч перевизначити, наприклад, валідацію токенів. Це може знадобитися для додаткових перевірок.<br></li><li><strong>Створення UI</strong>. Ви можете розробляти користувацький інтерфейс для сторінок реєстрації, логін-сторінок, акаунтів тощо. Також є виконання від самого провайдера, та ця реалізація не завжди доречна. Саме тому IdentityServer 4 йде без UI — так ви можете образу створити свій інтерфейс.<br></li><li><strong>Підтримка flow</strong>. Цей провайдер підтримує розглянуті вище флоу: Auth Code, Device Flow тощо.<br></li><li><strong>Якісна документація</strong>. Її розробляє велике ком’юніті. Тож ви зможете швидко познайомитися з функціоналом та підключити все, що вам потрібно.<br></li><li><strong>Працює із CloudBase та On-Premise рішеннями</strong>. Але треба пам’ятати, що треба власноруч дбати про спосіб розгортання у хмарах.<br></li><li><strong>Безкоштовно навіть для комерційних задач</strong>.</li></ul><p>Недоліки IdentityServer 4:</p><ul><li><strong>Високий поріг входження</strong>. Для його налаштування треба добре розумітися на авторизації і автентифікації, їх механізмах.<br></li><li><strong>Відсутність адміністративної панелі</strong>. Задля побудови робочої системи із багатьма доступами потрібно прикласти чимало зусиль. Адміністратор може запросити звичний UI для вибору та зберігання потрібного функціоналу.</li></ul><h3 id="azure-b2c">Azure B2C</h3><p>У цьому Identity-провайдері є підтримка тих же протоколів, як у IdentityServer 4, зовнішніх провайдерів, а ще SAML. Є декілька користувацьких флоу за замовчуванням: Sign in, Sign up, Edit Profile, Password Reset. Плюс провайдер підтримує мультифакторну автентифікацію і управління доступами юзерів.</p><p>Для інсталяції та налаштування Azure B2C знадобиться підписка на Azure. Також треба буде створити B2C Tenant ресурс та зареєструвати API і клієнтів із App registrations. А потім для підключення потрібен ще Nuget-пакет у вигляді Microsoft.Identity.Web. Все це дозволить запустити все із коду.</p><p>На наступній ілюстрації ви можете оцінити зовнішній вигляд адмін-панелі Azure B2C і функціонал App registrations. В якості прикладу тут створено API разом з двома клієнтськими програмами. Для цього тут створюється список, в якому можна знайти додаткову інформацію: як підключитися до програм, які доступні ID та скопи. Плюс можна додавати інші реєстрації.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/--------------13-.png" class="kg-image" alt loading="lazy" width="776" height="346"></figure><p>У лівій частині розміщено меню Identity-провайдерів, де можна додавати зовнішні рішення для побудови авторизації. Також передбачено меню для юзерів і для ролей із деталізованою статистикою. Ми можемо отримати інфу, як часто користувачі заходять у систему та про їх взаємодію з нею. А ще треба акцентувати увагу на User Flow. Для прикладу тут обрано два варіанти, що було створено за декілька кліків та встановлено в Azure B2C. Тобто все дуже просто: ви можете легко занурюватися в конфігурацію, змінювати налаштування тощо.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/--------------14-.png" class="kg-image" alt loading="lazy" width="795" height="289"></figure><p>В Azure B2C є кілька переваг:</p><ul><li><strong>Проста конфігурація основних користувацьких флоу</strong>.</li><li><strong>CloudBase-рішення</strong>.</li><li><strong>Доступний з коробки User management</strong>.</li><li><strong>Зручний інтерфейс</strong>. Ви можете налаштовувати сторінки та будь-які дані юзерів. Також можна установити власні стилі для цілісності дизайну із вашою системою.</li><li><strong>Легкий старт</strong>. Запуск організовується в невелику кількість коду. Налаштування на Azure-порталі відбуваються швидко, як і підключення в застосунку.</li><li><strong>Середній поріг входження</strong>.</li></ul><p>Але маємо й недоліки:</p><ul><li><strong>Витрати</strong>. По-перше, треба оплатити підписку на Azure. По-друге, треба доплатити за користування сервісом, якщо протягом місяця більше 50000 користувачів. По-третє, платною є і мультифакторна автентифікація (це ще й зі своїм терміном використання).<br></li><li><strong>Складні налаштування флоу</strong>. У цьому провайдері необхідно створювати Custom Policy та працювати з конфігураціями XML навіть для заміни основних flow. Наприклад, це треба для додавання валідації.<br></li><li><strong>Не відповідає On-Premise рішенням</strong>. Розгортати Azure B2C можна тільки в хмарі. Але ці рішення нерідко встановлюються у системах без доступу до інтернету.</li></ul><h3 id="keycloak">Keycloak</h3><p>Цей провайдер також підтримує основні протоколи для автентифікації та авторизації: OpenID Connect, OAuth 2.0 і SAML. Є і зовнішні провайдери, і встановлені флоу. А ще доступна підтримка LDAP і Active Directory. Вони допоможуть інтегрувати юзерів із інших систем. Плюс за замовчуванням є керування користувачами і доступами для них.</p><p>Це рішення написане на Java. Але з огляду на поширеність кросплатформеності, яскравим представником якої є .NET Core, його можна спробувати інтегрувати з іншою мовою. Тож як сервіс Keycloak надається за допомогою кількох майданчиків: Kubernetes, Openshift, Podman та Docker. І при роботі, наприклад, з останнім немає якихось проблем. Для завантаження пакетів, їх установки та запуску достатньо однієї команди.</p><p>Базове налаштування флоу авторизації в Keycloak проходить за наступним планом:</p><ol><li><strong>Створення реальності</strong>. Це відповідає поняттю Tenant в Azure B2C. Мається на увазі область чи група, в які можна додати сам застосунок.</li><li><strong>Додавання клієнтів</strong>. Мова йде про програми, які потрібні в цій системі.</li><li><strong>Додавання конфігурацій для програм</strong>.</li><li><strong>Створення скоупів</strong>.</li><li><strong>Створення ролей</strong>.</li></ol><p>На наступній ілюстрації зображено адмінпанель Keycloak. В ній наведено перелік усіх клієнтів у системі. За замовчуванням вже є клієнт, який було створено як частину самого сервісу. Але у прикладі також є зареєстрований демо-застосунок.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/--------------15-.png" class="kg-image" alt loading="lazy" width="750" height="275"></figure><p>В меню програми є дуже багато можливостей для конфігурації. Наприклад, тут зібрано стандартні Client-скоупи авторизації та автентифікації: e-mail, профайл, ролі. Також можна додавати та підключати на застосунки й свої скоупи. А в лівій частині меню можна знайти багато корисної інформації про ролі, Identity-провайдерів, користувачів, сесії тощо.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/--------------16-.png" class="kg-image" alt loading="lazy" width="776" height="377"></figure><p>До позитивних характеристик Keycloak відносяться:</p><ul><li><strong>Гнучкість налаштувань програм і доступів</strong>.</li><li><strong>Адміністративна панель</strong>. У провайдера вже є декілька конфігурацій для UI. Для налаштувань доступів не треба занурюватися в конфіг-файли. Для цього достатньо обрати та зберегти потрібні пункти, що може виконати навіть адмін програми.</li><li><strong>Формат Stand-alone</strong>. Застосунок самостійно хоститься і готовий до роботи — його не треба розгортати окремо.</li><li><strong>Підтримує Cloud та On-Premise рішення</strong>.</li><li><strong>Безкоштовний сервіс</strong>.</li></ul><p>Щодо недоліків Keycloak, то основними є:</p><ul><li><strong>Високий поріг входження</strong>. Величезна кількість налаштувань потребує досвіду, аби розібратися в коригуваннях системи.</li><li><strong>Відсутність офіційних бібліотек для .NET Core</strong>. Втім, можна інтегруватися із провайдером завдяки пакету Microsoft.AspNetCore.Authentication.JwtBearer, який є стандартним у .NET Core.</li></ul><h2 id="%D1%89%D0%BE-%D0%BE%D0%B1%D1%80%D0%B0%D1%82%D0%B8-%D0%B4%D0%BB%D1%8F-%D0%B0%D0%B2%D1%82%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%97-%D1%82%D0%B0-%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D1%96%D1%97">Що обрати для автентифікації та авторизації</h2><p>Наприкінці треба порівняти основні особливості цих трьох популярних сервісів для авторизації і автентифікації. Це спростить вибір оптимального варіанту саме для вашого проєкту.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/--------------17-.png" class="kg-image" alt loading="lazy" width="645" height="346"></figure><ul><li><strong>Підтримка протоколів</strong>. Фактично однакова в усіх сервісах.</li><li><strong>Фінансова складова</strong>. Програш Azure B2C через оплату підписки та активності юзерів.</li><li><strong>.NET Core</strong>. У цій частині аутсайдером є Keycloak.</li><li><strong>Менеджмент</strong>. В IdentityServer 4 можна самостійно реалізувати управління ролями безпосередньо в коді. В Azure B2C це все виконується через Access Policy. Хоча роль-менеджмент в Azure-порталі поширюється виключено на цей портал, але не на додані програми. А в Keycloak є переваги обох провайдерів. З одного боку, можна використовувати ролі для передачі юзеру доступів до сторінки користувача, хостинг якої на боці самого Keyclock. З іншого ж, можна додавати ролі на ресурси та юзерам. Завдяки цьому додавання і налаштування ролей більш гнучке.</li><li><strong>Налаштування</strong>. Найбільш складним є Azure B2C. Базові варіанти в ньому є досить простими, але будь-які нестандартні задачі вирішити складно.</li></ul><p>Неможливо сказати, який флоу чи Identity-сервер кращий. Ба більше, можна не обмежуватися лише переліченими у статті варіантами. Тож раджу порівнювати всі рішення для побудови як автентифікації, так і авторизації та враховувати особливості вашого проєкту.</p><p>А наостанок — ловіть офіційну документацію перелічених провайдерів та читайте про кожен детальніше:</p><p>• <a href="https://identityserver4.readthedocs.io/en/latest/index.html">IdentityServer 4</a></p><p>• <a href="https://learn.microsoft.com/en-us/azure/active-directory-b2c/">Azure B2C</a></p><p>• <a href="https://www.keycloak.org/documentation">Keycloak</a>.</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ За багато років в IT я брав участь у різних проєктах і чимало взаємодіяв з командами замовників. Можу з упевненістю сказати: робота дизайнера — це не лише розробка дизайну для сайту чи застосунку. Це ще й активна комунікація з клієнтом. Адже вам треба досягти якісного результату, який повністю відповідатиме його очікуванням. ]]></description>
        <link>https://proit.ua/iak-dizainieru-uspishno-pobuduvati-komunikatsiiu-z-kliientom-praktichni-poradi-vid-lead-designer/</link>
        <guid isPermaLink="false">646151b63ad50363a6f61107</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Ігор Артюхов ]]></dc:creator>
        <pubDate>пн, 15 трав 2023 00:33:30 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/05/young-programmers-having-discussion.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>За багато років в IT я брав участь у різних проєктах і чимало взаємодіяв з командами замовників. Можу з упевненістю сказати: робота дизайнера — це не лише розробка дизайну для сайту чи застосунку. Це ще й активна комунікація з клієнтом. Адже вам треба досягти якісного результату, який повністю відповідатиме його очікуванням.</em></p><p><em>У цій статті я поділюсь порадами з власного досвіду, як зробити комунікацію ефективною.</em></p><h2 id="%D1%87%D0%BE%D0%BC%D1%83-%D0%BA%D0%BE%D0%BC%D1%83%D0%BD%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%8F-%D1%82%D0%B0%D0%BA-%D0%B2%D0%B0%D0%B6%D0%BB%D0%B8%D0%B2%D0%B0-%D1%83-%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D1%96-%D0%B4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD%D0%B5%D1%80%D0%B0">Чому комунікація так важлива у роботі дизайнера</h2><p>Розробка дизайну — це насамперед командний процес. Результат багато в чому залежить від правильно налаштованої взаємодії між різними фахівцями та стейкхолдерами. Завжди відбувається декілька етапів спілкування — із замовником, розробниками, менеджерами. Так чи інакше ви будете залучені до цих обговорень від початку або на певному етапі проєкту. Взяти ТЗ, зникнути на кілька тижнів і потім просто надати посилання на свою роботу — помилковий підхід, якому часто слідують початківці. Так ви лише псуєте власну репутацію та обежуєте професійне зростання.</p><p>Так, замовники часто не є експертами в дизайні, але не треба через це відкидати їх думки та зауваження. Краще за клієнта ніхто не розповість про його бізнес, цільову аудиторію, конкурентів. Це все ляже в основу вашого майбутнього дизайну. Ви ж маєте показувати і доводити замовнику, що знаєте, як зробити дизайн сайту таким, щоб зберегти всі перелічені вимоги.<br>Те ж саме стосується проєктного менеджера та розробників. У них за плечима можуть бути сотні подібних проєктів. У них є певні досвід та знання. Тож спільне обговорення ідей — теж корисний інструмент в роботі дизайнера.</p><h2 id="%D1%8F%D0%BA-%D1%81%D0%BF%D1%96%D0%BB%D0%BA%D1%83%D0%B2%D0%B0%D1%82%D0%B8%D1%81%D1%8F-%D1%96%D0%B7-%D0%B7%D0%B0%D0%BC%D0%BE%D0%B2%D0%BD%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8-%D0%B5%D1%84%D0%B5%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE">Як спілкуватися із замовниками ефективно</h2><p>Якщо ви дизайнер-фрілансер, то тут зрозуміло: вся ініціатива у спілкуванні з клієнтом у ваших руках. На проєкті зазвичай це зона відповідальності менеджера або техліда. Проте і тут дизайнер може долучитися до процесу.</p><h3 id="%D0%BF%D0%BE%D0%BA%D0%B0%D0%B6%D1%96%D1%82%D1%8C-%D1%81%D0%B2%D0%BE%D1%94-%D0%BF%D0%BE%D1%80%D1%82%D1%84%D0%BE%D0%BB%D1%96%D0%BE">Покажіть своє портфоліо</h3><p>Це допоможе клієнту зрозуміти, з ким він працює, та застереже вас від невиправданих очікувань. Замовник побачить, що може отримати в залежності від стилю, в якому переважно працює фахівець. Хоча потрібний результат все одно треба обговорити. Адже клієнту може бути потрібне щось інше, нестандартне для вас. Ну, а якщо у вас немає одного стилю і портфоліо різноманітне, то тим більше треба дізнатися, що з показаного замовнику сподобалося найбільше. Завдяки цьому створення дизайну сайту буде більш продуктивним.</p><h3 id="%D0%BF%D1%96%D0%B4%D0%B3%D0%BE%D1%82%D1%83%D0%B9%D1%82%D0%B5%D1%81%D1%8C-%D0%B4%D0%BE-%D1%80%D0%BE%D0%B7%D0%BC%D0%BE%D0%B2%D0%B8-%D1%96%D0%B7-%D0%B7%D0%B0%D0%BC%D0%BE%D0%B2%D0%BD%D0%B8%D0%BA%D0%BE%D0%BC">Підготуйтесь до розмови із замовником</h3><p>Проведіть ресьорч по темі, в якій працює клієнт. Це підкреслить ваш інтерес та професійний підхід. Проаналізуйте продукт замовника, його конкурентів та ринковий сегмент в цілому. Продумайте уточнюючі питання. Відповіді на них допоможуть правильно скерувати свої подальші дії.</p><p>Обов’язково потренуйтесь, якщо бесіда буде англійською. Можете вголос почитати свої питання. Можливо, деякі стануть неактуальними в процесі дослідження або доведеться змінити формулювання на більш зрозумілі іноземцю.</p><h3 id="%D0%BD%D0%B5-%D0%BE%D0%B1%D0%BC%D0%B5%D0%B6%D1%83%D0%B9%D1%82%D0%B5-%D0%BA%D1%96%D0%BB%D1%8C%D0%BA%D1%96%D1%81%D1%82%D1%8C-%D0%BF%D0%B8%D1%82%D0%B0%D0%BD%D1%8C">Не обмежуйте кількість питань</h3><p>Замовник — перша зацікавлена особа. Йому потрібен найкращий проєкт. Тому він має бути готовим присвятити вам стільки часу, скільки знадобиться для збору всієї потрібної інформації. Розробка дизайну — це тривалий, складний процес. По ходу у вас виникатимуть все нові питання. І якщо відповіді клієнта будуть вичерпними, ймовірність досягнення необхідного результату зростає.</p><h3 id="%D0%BD%D0%B5-%D0%BD%D0%B0%D0%B4%D1%81%D0%B8%D0%BB%D0%B0%D0%B9%D1%82%D0%B5-%D0%B1%D1%80%D0%B8%D1%84%D0%B8">Не надсилайте брифи</h3><p>Люди неохоче заповнюють опитувальники з безліччю питань. Живе спілкування завжди краще. Тим паче під час розмови можна корегувати питання або ж уточнювати певні моменти.</p><h3 id="%D0%B7%D0%B0%D0%B1%D1%83%D0%B4%D1%8C%D1%82%D0%B5-%D0%BF%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%96%D0%B9%D0%BD%D0%B8%D0%B9-%D0%B6%D0%B0%D1%80%D0%B3%D0%BE%D0%BD">Забудьте професійний жаргон</h3><p>Замовник може не зрозуміти термінологію дизайнерів. Не треба через професійний сленг показувати свою експертність. Будьте максимально прості у формулюваннях і поясненнях стосовно макету дизайну. Ви маєте бути із замовником на одній хвилі та добре розуміти одне одного.</p><h3 id="%D0%BD%D0%B5-%D0%BF%D0%BE%D1%81%D0%BF%D1%96%D1%88%D0%B0%D0%B9%D1%82%D0%B5-%D0%B7-%D1%80%D1%96%D1%88%D0%B5%D0%BD%D0%BD%D1%8F%D0%BC%D0%B8">Не поспішайте з рішеннями</h3><p>Не пропонуйте остаточний варіант одразу після першої бесіди. Дізнайтесь усе і тільки потім міркуте над пропозиціями. Часто в процесі розмови приходить класна ідея. Та пізніше може спасти на думку більш слушна реалізація дизайну, бо ви отримаєте більше деталей про продукт. І нова ідея вже не відповідатиме вашим першим уявленням.</p><h3 id="%D1%80%D0%BE%D0%B7%D0%BA%D0%B0%D0%B6%D1%96%D1%82%D1%8C-%D0%BF%D1%80%D0%BE-%D0%B5%D1%82%D0%B0%D0%BF%D0%B8-%D1%81%D0%B2%D0%BE%D1%94%D1%97-%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D0%B8">Розкажіть про етапи своєї роботи</h3><p>Підтримуйте зв’язок з клієнтом протягом усього проєкту. Показуйте проміжні результати, розповідайте про наступні кроки та пояснювати що і чому робите. Така прозорість у комунікації вбереже вас від неприємних сюрпризів.</p><p>Існує цікавий феномен під назвою Hawthorne effect. Його суть в тому, що люди позитивніше сприймають проєкт, якщо самі брали в ньому участь. Тому за будь-якої можливості та при бажанні замовника залучайте його до розробки дизайну сайту чи застосунку. Щоб для всіх це було пізнавально, проведіть, наприклад, воркшоп із дизайн-мислення, Покажіть клієнту, як створюють userflow та wireframe, проаналізуйте його конкурентів та поділіться знахідками. Це і вам в роботі корисно, і клієнту буде на замітку.</p><h3 id="%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%83%D0%B9%D1%82%D0%B5-%D0%B1%D0%B5%D1%81%D1%96%D0%B4%D1%83">Документуйте бесіду</h3><p>Записуйте інтерв’ю на відео чи аудіо, робіть нотатки. Після розшифровки запису ви можете звернути увагу на щось, що під час розмови не здалося важливим.</p><h3 id="%D1%84%D1%96%D0%BA%D1%81%D1%83%D0%B9%D1%82%D0%B5-%D0%B4%D0%BE%D0%BC%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BE%D1%81%D1%82%D1%96">Фіксуйте домовленості</h3><p>Отримайте письмове підтвердження від замовника про будь-які завдання або правки. Кожен може зрозуміти усні слова по-своєму (особливо якщо ви розмовляєте з іноземцем на не рідній вам мові). До того ж під час розмови можна щось упустити. Тому по завершенню інтерв’ю підготуйте вижимку з ключових моментів, те, що буде вам корисно під час розробки дизайну, та надішліть клієнту на погодження. Ймовірно, йому буде що додати або уточнити.</p><h3 id="%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D1%96%D1%82%D1%8C-%D0%BF%D1%80%D0%BE-%D0%B3%D1%80%D0%BE%D1%88%D1%96-%D0%B2%D1%96%D0%B4%D0%BA%D1%80%D0%B8%D1%82%D0%BE">Говоріть про гроші відкрито</h3><p>Це ваша робота, а не хобі. Тож ви маєте отримати компенсацію відповідно вашому досвіду та вмінням. Не соромтесь називати бажану ціну. Раніше я спочатку називав вартість своєї роботи по проєкту і, якщо виникало питання про обґрунтованість ціни, описував усі етапи та що я робитиму на кожному з них. З часом я став ще до питання ціни розказувати клієнту, як відбуватиметься розробка дизайну. Так людина відразу розуміє, за що платить.</p><p>Ліпше брати передоплату лише за перший етап роботи, а по завершенню проєкту вже решту. На початку співпраці проговоріть, чи будуть оплачуватися правки та яким чином.</p><h2 id="%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D0%B0-%D1%96%D0%B7-%D0%B7%D0%B0%D0%BF%D0%B5%D1%80%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8F%D0%BC%D0%B8-%D1%86%D0%B5-%D0%BD%D0%B5-%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%BE-%D0%BA%D1%80%D0%B8%D1%82%D0%B8%D0%BA%D0%B0-%D1%86%D0%B5-%D0%B7%D0%BE%D0%BD%D0%B0-%D0%B2%D0%B0%D1%88%D0%BE%D0%B3%D0%BE-%D1%80%D0%BE%D0%B7%D0%B2%D0%B8%D1%82%D0%BA%D1%83">Робота із запереченнями: це не просто критика, це зона вашого розвитку<br></h2><p>Правки є нормальним етапом створення дизайну сайту або застосунку. Критику важливо детально обговорювати, особливо якщо вона стосується UI. Не можна залишати заперечення клієнта без конкретики, коли йому просто не подобається дизайн. Ставте уточнюючі питання. Це дозволить вам зрозуміти, що насправді не влаштовує клієнта і як це можна виправити. Головне — не сперечайтесь і не поспішайте з виправленнями сходу. Візьміть час на якісне доопрацювання правок.</p><p>Інколи правки не критичні і не роблять вашу роботу краще або гірше. Наприклад, клієнт просить закруглити кнопку або збільшити логотип. Це займе мінімум часу, не позначиться на кінцевому результаті, але замовнику буде приємно. А от що дійсно критично — так це поганий смак клієнта. Тут скоріш за все вам не вдасться його переконати. Ви можете показувати всі свої роботи та мудборди, опиратися на дослідження аудиторії — але це все буде ні до чого. Він все одно вимагатиме від вас чогось чудернацького, але те, що в його голові точно спрацює. Будьте терплячі і сваріться. Пояснюйте свої пропозиції з посиланням на конкретні успішні приклади, тренди, відгуки користувачів. Завжди можна знайти компроміс. Інколи не так швидко, як хотілося б, але реально.</p><p>У випадку правок до UX, ситуація трохи простіша. У вас є конкретні дослідження, як зробити дизайн сайту зручним, і дані про поведінку користувачів. Якщо можна щось виправити і не зашкодити флоу юзерів, зробіть це.</p><p>Якщо неможливо, нагадуйте про ті самі дослідження, приклади тощо. Знайти такі корисні для UI/UX-дизайнерів дані можете за посиланнями:</p><ul><li><a href="https://www.nngroup.com/">nngroup.com</a></li><li><a href="https://baymard.com/">baymard.com</a></li><li><a href="https://measuringu.com/">measuringu.com</a></li><li><a href="https://www.smashingmagazine.com/">smashingmagazine.com</a></li><li><a href="https://medium.com/">medium.com</a></li></ul><p>Своєчасна комунікація дозволяє уникнути багатьох проблем у команді. Тож будьте відкритим та ініціативним в обговореннях. Ставтесь з повагою до будь-яких ідей та правок замовника чи інших учасників проєкту. Намагайтесь через їхні коментарі поглянути на свою роботу критично. Це дорослий, професійний підхід до справи, і це точно оцінять ваші колеги та клієнти.</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Наприкінці  2022 року CNA IT провели щорічне дослідження українського сегмента. Основний фокус - ринок праці та фактори впливу на тенденції рекрутингу та рівні зарплат. В дослідженні брало участь 88 компаній (продуктові та аутсорсингові) та було опитано понад 1900 ІТ спеціалістів.


Що відбувалося з попитом на ІТ-спеціалістів протягом 2022 року?

У ]]></description>
        <link>https://proit.ua/2023-it-rinok-adaptuietsia-ta-znakhodit-tochki-rostu/</link>
        <guid isPermaLink="false">6461461e3ad50363a6f610ad</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Володимир Білик ]]></dc:creator>
        <pubDate>нд, 14 трав 2023 23:39:35 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/05/top-view-workmates-talking-about-bar-chart.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Наприкінці  2022 року CNA IT провели щорічне дослідження українського сегмента. Основний фокус - ринок праці та фактори впливу на тенденції рекрутингу та рівні зарплат. В дослідженні брало участь 88 компаній (продуктові та аутсорсингові) та було опитано понад 1900 ІТ спеціалістів.</p><h2 id="%D1%89%D0%BE-%D0%B2%D1%96%D0%B4%D0%B1%D1%83%D0%B2%D0%B0%D0%BB%D0%BE%D1%81%D1%8F-%D0%B7-%D0%BF%D0%BE%D0%BF%D0%B8%D1%82%D0%BE%D0%BC-%D0%BD%D0%B0-%D1%96%D1%82-%D1%81%D0%BF%D0%B5%D1%86%D1%96%D0%B0%D0%BB%D1%96%D1%81%D1%82%D1%96%D0%B2-%D0%BF%D1%80%D0%BE%D1%82%D1%8F%D0%B3%D0%BE%D0%BC-2022-%D1%80%D0%BE%D0%BA%D1%83">Що відбувалося з попитом на ІТ-спеціалістів протягом 2022 року?</h2><p>У 2021 році <a href="https://forbes.ua/inside/bezumnyy-spros-prodolzhaetsya-zarplata-ukrainskikh-razrabotchikov-za-god-vyrosla-na-3040-kogo-ishchut-it-kompanii-20012022-3298">ринок ІТ був перегрітий підвищеним попитом на спеціалістів</a> та конкуренцією за висококваліфікованих спеціалістів. Через це зростали зарплати та кількість людей які переходили в ІТ індустрію з інших сфер.</p><p>Протягом 2022 року попит на ІТ-спеціалістів впав на <strong>30-35%</strong> у порівнянні з 2021 роком.</p><ul><li>Навесні майже всі процеси застигли внаслідок близьких бойових дій та відновлення.</li><li>Влітку справи дещо пожвавилися, але було очевидно, що бізнеси готуються до погіршення ситуації та оптимізують витрати. По суті пожвавлення стосувалося закриття в першу чергу критичних позицій.</li><li>Особливо відчутним сповільнення попиту стало з вересня 2022. Кількість вакансій на junior та middle позиції суттєво скоротилася.</li><li>Станом на грудень зберігає тенденцію уповільнення з епізодичними сплесками в окремих нішах (зокрема, кібербезпека та хмарні технології).</li></ul><h2 id="%D1%84%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B8-%D1%8F%D0%BA%D1%96-%D0%B2%D0%BF%D0%BB%D0%B8%D0%BD%D1%83%D0%BB%D0%B8-%D0%BD%D0%B0-%D1%81%D0%BF%D0%BE%D0%B2%D1%96%D0%BB%D1%8C%D0%BD%D0%B5%D0%BD%D0%BD%D1%8F-%D0%BF%D0%BE%D0%BF%D0%B8%D1%82%D1%83">Фактори, які вплинули на сповільнення попиту:</h2><ul><li>Постпандемічна адаптація світового ІТ. Наслідки масштабного перегріву світового ІТ-ринку в минулі роки (особливо починаючи з початку пандемії в 2020 році) та спроби реорганізації в умовах кризи.</li><li>Спекуляції та обвал окремих ніш ІТ-ринку (наприклад, обвал криптоіндустрії в жовтні-листопаді після піку зростання навесні).</li><li>Світова економічна криза — зростання цін на енергоносії, подальші перебої з ланцюжками постачання та збіднення населення.</li><li>Скорочення діяльності українського аутсорсу. З одного боку, завершилася співпраця з росією та білорусією. З іншого боку, західні замовники мають обмежений інтерес до співпраці з українськими компаніями внаслідок війни.</li><li>Обстріли енергетичної інфраструктури та перебої з електропостачанням відлякали деяку частину іноземних партнерів.</li></ul><p>Згідно з нашим дослідженням, наразі більшість ІТ-компаній фокусуються на утриманні персоналу та оптимізації поточних витрат з розрахунку на довгострокову перспективу.</p><p>Через це рекрутинг-процеси або заморожені, або використовуються точково. Основний інтерес сконцентрований на спеціалістах рівня senior-lead.</p><p>Водночас багато компаній активно виходять або переходять на нові ринки та наймають кандидатів з інших країн. Це спричинило зростання запитів на дослідження ринків ЄС.</p><p>Варто зазначити, що хоча попит на спеціалістів загалом став меншим, вимоги до спеціалістів зросли у порівнянні з минулим роком. <strong>Причина:</strong> якщо компанії збираються наймати нових працівників, це мають бути висококваліфіковані спеціалісти, чия робота відчутно вплине на розвиток проєкту.</p><h2 id="%D1%8F%D0%BA%D0%B0-%D1%81%D0%B8%D1%82%D1%83%D0%B0%D1%86%D1%96%D1%8F-%D0%B7-%D0%B7%D0%B0%D1%80%D0%BE%D0%B1%D1%96%D1%82%D0%BD%D0%B8%D0%BC%D0%B8-%D0%BF%D0%BB%D0%B0%D1%82%D0%B0%D0%BC%D0%B8-%D0%B2-%D1%96%D1%82-%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%BC-%D0%BD%D0%B0-%D0%BA%D1%96%D0%BD%D0%B5%D1%86%D1%8C-2022">Яка ситуація з заробітними платами в ІТ станом на кінець 2022?</h2><p>Внаслідок нестабільної економічної ситуації та зовнішніх загроз, зростання заробітних плат ІТ-спеціалістів сповільнилося для всіх рівнів досвіду.</p><p>Варто зазначити, що значного падіння заробітних плат вдалося уникнути внаслідок наступних факторів.</p><ul><li>Відносно невеликий для ІТ-сегменту український внутрішній ринок.</li><li>Значна частина українських компаній працюють на європейських, американських, азійських ринках — початок бойових дій не обірвав їхні грошові потоки.</li><li>Частина українських компаній частково (відкриває офіси) або повністю релокується в інші країни (Польща, Чехія, Португалія, Велика Британія, Іспанія тощо), куди можна евакуювати працівників, наймати нових та продовжувати роботу в стабільному режимі. Це спричинило збільшення запитів на ринкові дослідження для ІТ-ринків країн ЄС.</li><li>Більшість іноземних компаній залишилися на українському ринку.</li></ul><p>Водночас інфляція в країні створює враження, що цифри значно вищі. Але якщо порівнювати купівельну спроможність та зарплати, в деяких випадках (а саме зарплати спеціалістів рівня junior та middle) можна помітити невелике зниження мінімальних рівнів через зростання інфляції протягом Q2-Q3.</p><p>Сповільнення інфляції в Q3 надає оптимізму на 2023 рік. Цей фактор не такий впливовий для спеціалістів рівня senior+ та lead попит на яких зберігається на відносно високому рівні.</p><ul><li><strong>На початку 2022 року зберігалися тенденції 2021 року.</strong> Станом на кінець лютого 2022-го року (перед повномасштабним вторгненням) спостерігалася тенденція зростання зарплат затребуваних спеціальностей на <strong>5%</strong>.</li><li>Наприкінці весни та влітку 2022 можна було спостерігати відкат на рівні кінця 2021 року. У деяких випадках було помічене зменшення початкового рівня зарплат для junior спеціалістів (у порівнянні з 2021 роком)<strong>. </strong>Протягом осені така тенденція зберігалася. Наплив світчерів з інших сфер в ІТ є одним з факторів зменшення початкового рівня. Але світчери не вирішують потребу в висококваліфікованих спеціалістах.</li><li>Заробітні плати спеціалістів рівня senior та lead трималися на рівні 2021 року. В окремих нішах (пов’язаних з <strong>криптовалютами в Q2</strong> та <strong>машинним навчанням в Q3, хмарними технологіями та кібербезпекою в Q4</strong>) спостерігалися сплески зростання на 10-15%. У випадку з криптовалютами, сплеск зійшов нанівець. Проте, у випадку з машинним навчанням та хмарними технологіями дотичними до data science зберігається на високому рівні.</li><li>Багато компаній почали оптимізацію витрат. Наприклад, деякі компанії скасували українське медичне страхування для переселених працівників. Також скоротилися такі речі, як тімбілдинги, відрядження та корпоративне навчання.</li><li>Окремо варто згадати сірі ніші gambling, які дефакто знаходяться в паралельній реальності та не так сильно потерпають від економічної ситуації. Наразі gambling компанії можуть дозволити собі порівняно вищі зарплати ніж решта ніш. Станом на кінець Q4 різниця становила в середньому 15-20% серед більших гравців.</li></ul><h2 id="%D0%B7%D0%B0%D1%80%D0%BF%D0%BB%D0%B0%D1%82%D0%B8-%D0%B7%D0%B0-%D1%80%D1%96%D0%B2%D0%BD%D1%8F%D0%BC%D0%B8-%D0%BA%D0%B2%D0%B0%D0%BB%D1%96%D1%84%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%97">Зарплати за рівнями кваліфікації</h2><p>Зарплати <strong>junior </strong>спеціалістів коливаються між зменшення на<strong> 5%</strong> в аутсорсі до збільшення на<strong> 2-5%</strong> в продуктових компаніях та аутсорсах.</p><ul><li>Головний фактор — зменшення кількості робочих місць для початківців. Компанії зосередженні на утриманні персоналу та оптимізації витрат. Також треба враховувати скорочення.</li><li>Один із ключових факторів падіння попиту — збільшення людей, які переходять в ІТ з інших індустрій. За рахунок збільшення конкуренції за робочі місця середня зарплатна пропозиція для початківців тримається на рівні кінця 2021 року в продуктових компаніях та зменшилася до <strong>5%</strong> в аутсорсових компаніях.</li><li>Водночас попит на спеціалістів рівня <strong>junior+</strong> (1-2 роки роботи) зріс протягом року і це призвело до зростання зарплат в середньому на <strong>2-5%. </strong>Особливо великий попит на таких спеціалістів в сферах з обмеженим пулом талантів - embedded software, IoT, DeFi.</li><li>Водночас компанії виявляють інтерес до початківців через можливості навчання під потреби компанії та, як наслідок, сильну лояльність зі сторони таких спеціалістів.</li></ul><p>Зарплати <strong>middle </strong>спеціалістів зросли в середньому на <strong>5-10% </strong>протягом року.</p><ul><li>Основний фактор: великі проєкти потребують багато людей, які можуть підтримувати працездатність продукту.</li><li>На початку війни багато іноземних компаній почали активно наймати українських розробників, більшість з яких припадали на рівні кваліфікації middle-middle+.</li><li>І є негативні фактори - зміна фокуса рекрутингу у роботодавців. Зараз компанії більше зацікавлені в висококваліфікованих спеціалістах, які можуть напряму вплинути на розвиток проєкту та його перспективи.</li><li>Також треба враховувати хвилі скорочень. В цьому контексті утримання великого корпусу мідл-спеціалістів є неціноефективним підходом, який потребує оптимізації для втримання компанії на плаву.</li></ul><p>Зарплата висококваліфікованих ІТ-спеціалістів (<strong>senior і вище зі стажем від 2–6 років</strong>) тримається на рівні 2021 року з епізодичними зростаннями до <strong>15% </strong>у затребуваних нішах (наприклад, finance\banking, machine learning, в минулому крипто, cybersecurity).</p><p>В усіх випадках також варто враховувати фактор мобілізації — багато ІТ-спеціалістів пішли на фронт захищати країну, і це створює брак кадрів.</p><p>Зміни зарплат розробників з 2021 до 2022 виглядають таким чином:</p><!--kg-card-begin: html--><table cellpadding="1" style="box-sizing: inherit; border-collapse: collapse; border: 1px solid rgb(200, 209, 222); width: 750px; color: rgb(0, 0, 0); font-family: Circe, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; table-layout: fixed; margin-left: auto; margin-right: auto;"><tbody style="box-sizing: inherit;"><tr style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222);"><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem;">&nbsp;</td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.5rem; text-align: center;"><strong style="box-sizing: inherit; font-weight: bolder;">Java</strong></td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.5rem; text-align: center;"><strong style="box-sizing: inherit; font-weight: bolder;">Python</strong></td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.5rem; text-align: center;"><strong style="box-sizing: inherit; font-weight: bolder;">PHP</strong></td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.5rem; text-align: center;"><strong style="box-sizing: inherit; font-weight: bolder;">Front-End</strong></td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.5rem; text-align: center;"><strong style="box-sizing: inherit; font-weight: bolder;">Ruby</strong></td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.5rem; text-align: center;"><strong style="box-sizing: inherit; font-weight: bolder;">.Net</strong></td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.5rem; text-align: center;"><strong style="box-sizing: inherit; font-weight: bolder;">Node.js</strong></td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.5rem; text-align: center;"><strong style="box-sizing: inherit; font-weight: bolder;">iOS</strong></td></tr><tr style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222);"><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.5rem; text-align: center;"><strong style="box-sizing: inherit; font-weight: bolder;">Middle</strong></td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;">17%</td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;">10%</td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;">7%</td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;">8%</td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;">9%</td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;">12%</td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;">6%</td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;">7%</td></tr><tr style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222);"><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.5rem; text-align: center;"><strong style="box-sizing: inherit; font-weight: bolder;">Senior</strong></td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;">5%</td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;">8%</td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;">12%</td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;">6%</td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;">10%</td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;">11%</td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;">9%</td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;">6%</td></tr></tbody></table><!--kg-card-end: html--><p>Попит на<strong> C-level</strong> значно впав у порівнянні з 2021 роком, але це не відобразилося критично на рівнях зарплат.</p><ul><li>Компанії не шукають зміни топ-менеджменту в часи нестабільності. Через це, коли компанії починають шукати нових топменеджерів - вимоги та очікування до них значно більші, зокрема в сфері risk management та business continuity planning.</li><li>У випадку з іноземними компаніями грає роль скорочення українського менеджменту через зовнішні ризики.</li><li>Дається взнаки відносний брак пулу висококваліфікованих спеціалістів.</li><li>Велика кількість спеціалістів мають завищені очікування, які не співвідносяться з їхніми навичками та досвідом.</li><li>Окрім цього, сегмент C-level спеціалістів підпав під скорочення через оптимізацію витрат. Їхні задачі розкидають на решту менеджменту.</li><li>Були випадки, коли компаніям вдавалося наймати топ-менеджерів із зарплатою на 50% нижчою, ніж на попередній посаді, але це стосується лише посад CEO, COO, CFO. Технічний C-level (CTO, CIO) має стабільний попит.</li><li>Водночас протягом Q2 та Q3 спостерігався сплеск інтересу до CMO зі сторони крипто компаній. Це було основним рушієм зростання рівня зарплат в сфері.</li></ul><p>Зміни середнього рівня зарплат С-level з 2021 до 2022:</p><!--kg-card-begin: html--><table style="box-sizing: inherit; border-collapse: collapse; border: 1px solid rgb(200, 209, 222); width: 750px; color: rgb(0, 0, 0); font-family: Circe, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; margin-left: auto; margin-right: auto;"><tbody style="box-sizing: inherit;"><tr style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222);"><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem;">&nbsp;</td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;"><p style="box-sizing: inherit; margin-top: 0px; margin-bottom: 0px; font-family: Circe, sans-serif; font-size: 1em; font-weight: 400; line-height: 1.58; color: rgb(118, 129, 144);"><strong style="box-sizing: inherit; font-weight: bolder; color: rgb(21, 59, 116);">CEO</strong></p></td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;"><p style="box-sizing: inherit; margin-top: 0px; margin-bottom: 0px; font-family: Circe, sans-serif; font-size: 1em; font-weight: 400; line-height: 1.58; color: rgb(118, 129, 144);"><strong style="box-sizing: inherit; font-weight: bolder; color: rgb(21, 59, 116);">CTO</strong></p></td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;"><p style="box-sizing: inherit; margin-top: 0px; margin-bottom: 0px; font-family: Circe, sans-serif; font-size: 1em; font-weight: 400; line-height: 1.58; color: rgb(118, 129, 144);"><strong style="box-sizing: inherit; font-weight: bolder; color: rgb(21, 59, 116);">COO</strong></p></td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;"><p style="box-sizing: inherit; margin-top: 0px; margin-bottom: 0px; font-family: Circe, sans-serif; font-size: 1em; font-weight: 400; line-height: 1.58; color: rgb(118, 129, 144);"><strong style="box-sizing: inherit; font-weight: bolder; color: rgb(21, 59, 116);">CMO</strong></p></td></tr><tr style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222);"><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem;"><p style="box-sizing: inherit; margin-top: 0px; margin-bottom: 0px; font-family: Circe, sans-serif; font-size: 1em; font-weight: 400; line-height: 1.58; color: rgb(118, 129, 144);"><strong style="box-sizing: inherit; font-weight: bolder; color: rgb(21, 59, 116);">2021</strong></p></td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;"><p style="box-sizing: inherit; margin-top: 0px; margin-bottom: 0px; font-family: Circe, sans-serif; font-size: 1em; font-weight: 400; line-height: 1.58; color: rgb(118, 129, 144);"><span style="box-sizing: inherit; font-weight: 400;">5500</span></p></td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;"><p style="box-sizing: inherit; margin-top: 0px; margin-bottom: 0px; font-family: Circe, sans-serif; font-size: 1em; font-weight: 400; line-height: 1.58; color: rgb(118, 129, 144);"><span style="box-sizing: inherit; font-weight: 400;">7700</span></p></td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;"><p style="box-sizing: inherit; margin-top: 0px; margin-bottom: 0px; font-family: Circe, sans-serif; font-size: 1em; font-weight: 400; line-height: 1.58; color: rgb(118, 129, 144); text-align: center;"><span style="box-sizing: inherit; font-weight: 400;">4700</span></p></td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;"><p style="box-sizing: inherit; margin-top: 0px; margin-bottom: 0px; font-family: Circe, sans-serif; font-size: 1em; font-weight: 400; line-height: 1.58; color: rgb(118, 129, 144);"><span style="box-sizing: inherit; font-weight: 400;">4350</span></p></td></tr><tr style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222);"><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem;"><p style="box-sizing: inherit; margin-top: 0px; margin-bottom: 0px; font-family: Circe, sans-serif; font-size: 1em; font-weight: 400; line-height: 1.58; color: rgb(118, 129, 144);"><strong style="box-sizing: inherit; font-weight: bolder; color: rgb(21, 59, 116);">2022</strong></p></td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;"><p style="box-sizing: inherit; margin-top: 0px; margin-bottom: 0px; font-family: Circe, sans-serif; font-size: 1em; font-weight: 400; line-height: 1.58; color: rgb(118, 129, 144);"><span style="box-sizing: inherit; font-weight: 400;">6000</span></p></td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;"><p style="box-sizing: inherit; margin-top: 0px; margin-bottom: 0px; font-family: Circe, sans-serif; font-size: 1em; font-weight: 400; line-height: 1.58; color: rgb(118, 129, 144);"><span style="box-sizing: inherit; font-weight: 400;">8900</span></p></td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;"><p style="box-sizing: inherit; margin-top: 0px; margin-bottom: 0px; font-family: Circe, sans-serif; font-size: 1em; font-weight: 400; line-height: 1.58; color: rgb(118, 129, 144);"><span style="box-sizing: inherit; font-weight: 400;">5200</span></p></td><td style="box-sizing: inherit; border: 1px solid rgb(200, 209, 222); line-height: 1.75; font-size: 0.875em; color: rgb(118, 129, 144); padding: 0.125rem 0.625rem 0.125rem 3.125rem; text-align: center;"><p style="box-sizing: inherit; margin-top: 0px; margin-bottom: 0px; font-family: Circe, sans-serif; font-size: 1em; font-weight: 400; line-height: 1.58; color: rgb(118, 129, 144);"><span style="box-sizing: inherit; font-weight: 400;">4800</span></p></td></tr></tbody></table><!--kg-card-end: html--><h2 id="%D1%81%D1%83%D0%B1%D1%94%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%B8%D0%B9-%D0%BF%D1%80%D0%BE%D0%B3%D0%BD%D0%BE%D0%B7-%D0%BD%D0%B0-2023-%D1%80%D1%96%D0%BA">Суб'єктивний прогноз на 2023 рік</h2><p>Непередбачувана ситуація на фронті може зробити будь-який прогноз сумнівним. Так чи інакше ринок буде адаптуватися — це показав 2022 рік.</p><p>Так чи інакше українським ІТ спеціалістам буде де працювати. Позиція іноземних партнерів напряму залежить від ситуації на фронті та його впливу на мирні території.</p><p>Загострення ситуації на початку Q4 відлякало багато іноземних компаній, проте скорочення обсягів обстрілів стабілізує ситуацію. Якщо подібних подій не буде протягом 2023 року - інтерес іноземних компаній буде зростати.</p><p>Попит на спеціалістів буде поступово відновлюватися протягом Q1 2023 та вийде на тенденцію Q3 2022 в Q2 2023.</p><p>В плані зарплат суттєвих змін ситуації не очікується. В окремих нішах будуть сплески інтересу. Тенденція зростання інтересу до спеціалістів в нішах машинного навчання, хмарних технологій та кібербезпеки залишається стійкою.</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Продовжую знайомити вас з інструментами Spring Cloud. Сьогодні зупинимось детальніше на конкретних практичних речах.


Spring Cloud Gateway

Якщо ви працювали у хмарі, то напевно стикалися з такою проблемою…

Буває складно забезпечити доступ до особливих API всередині хмарної інфраструктури або поєднати різні розподілені API в одну спільну. Наприклад, вам потрібно зібрати ]]></description>
        <link>https://proit.ua/znaiomimos-iz-gateway-config-server-config-bus-ta-spring-data-flow/</link>
        <guid isPermaLink="false">646157cf3ad50363a6f61177</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Дмитро Чоломбитько ]]></dc:creator>
        <pubDate>чт, 11 трав 2023 00:53:00 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/05/63e3d6905bacd6ffc0a39087_THUMB_-Spring-Performance-Best-Practices-1.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p></p><p>Продовжую знайомити вас з інструментами Spring Cloud. Сьогодні зупинимось детальніше на конкретних практичних речах. </p><h2 id="spring-cloud-gateway">Spring Cloud Gateway</h2><p>Якщо ви працювали у хмарі, то напевно стикалися з такою проблемою…</p><p>Буває складно забезпечити доступ до особливих API всередині хмарної інфраструктури або поєднати різні розподілені API в одну спільну. Наприклад, вам потрібно зібрати воєдино API до внутрішніх ресурсів та API до систем інших провайдерів. З цим допоможе Spring Cloud Gateway.</p><p>Можливості Spring Cloud Gateway не обмежуються цією функціональністю. Також він може менеджерити безпеку. Це відбувається за рахунок єдиного способу авторизації для всіх API. Адже доступ здійснюватиметься лише через цей шлюз. Також цей інструмент дозволяє збирати метрики та моніторити систему.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--42-.jpg" class="kg-image" alt loading="lazy" width="715" height="287"><figcaption>Spring Cloud Gateway</figcaption></figure><p>У Spring Cloud Gateway можна гнучко налаштувати роутинг до кожного API. Це робиться за допомогою шляхів, параметрів, навіть за вмістом request body або за зразком хедерів. Пропоную поглянути, як це працює. Для прикладу працюватимемо у зв'язці з проєктом Circuit Breaker.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--43-.jpg" class="kg-image" alt loading="lazy" width="715" height="282"><figcaption>Circuit Breaker</figcaption></figure><p>Це реалізація однойменного патерна програмування. Його суть полягає у простій обробці помилок та управлінні стабільністю застосунку та інфраструктури загалом. Фактично це перемикач. При появі проблеми він перенаправляє нас на інший ендпойнт або мок, які можуть підтримати систему в робочому стані, поки сервіс, що впав, не відновиться. Можливо, не варто покладатися лише на таке рішення. Але для критичних точок, які важко контролювати, це часто єдиний можливий вихід.</p><h3 id="%D1%96%D1%81%D0%BD%D1%83%D1%94-%D1%87%D0%BE%D1%82%D0%B8%D1%80%D0%B8-%D1%80%D0%B5%D0%B0%D0%BB%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%97-circuit-breaker">Існує чотири реалізації Circuit Breaker:</h3><ul><li>Netflix Hystrix (deprecated);</li><li>Resilence4J;</li><li>Spring Retry;</li><li>Sentinel.</li></ul><p>Роботу Circuit Breaker у зв'язці зі Spring Cloud Gateway я розберу ще на одному прикладі зі стандартним проєктом.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--44-.jpg" class="kg-image" alt loading="lazy" width="715" height="292"></figure><p>У ньому є залежність від Spring Cloud Gateway.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--45-.jpg" class="kg-image" alt loading="lazy" width="715" height="336"></figure><p>Все це працює на WebFlux. А ще тут використовується Resilence4J. Саме на нього зараз рекомендується переходити при використанні Circuit Breaker.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--46-.jpg" class="kg-image" alt loading="lazy" width="715" height="337"></figure><p>Також зверну увагу на React-версію (через WebFlux) та актуатор за стандартом. А ось проперті тут порожні. У Spring Cloud Gateway можна задавати конфігурацію двома способами: через проперті та через Java. Я покажу другий спосіб.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--47-.jpg" class="kg-image" alt loading="lazy" width="715" height="104"></figure><p>Та для початку поясню суть цього прикладу. Припустимо, ми маємо дві API у вигляді простих мікросервісів. Вони повертають деякі дані з бази, і треба зв'язати їх у єдину API. Одна з них надсилає випадкове жіноче або чоловіче прізвище.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--48-.jpg" class="kg-image" alt loading="lazy" width="715" height="316"></figure><p>Друга API видає випадкове ім'я, також чоловіче чи жіноче.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/--.jpeg" class="kg-image" alt loading="lazy" width="715" height="278"></figure><p>У Gateway є три класи. Перший — стандартний main.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--49-.jpg" class="kg-image" alt loading="lazy" width="715" height="274"></figure><p>Другий — це конфігурація роутингу. В нашому випадку вона виглядає завеликою, але для демонстрації можливостей шлюзу підійде й таке виконання.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--50-.jpg" class="kg-image" alt loading="lazy" width="715" height="329"></figure><p>На перший погляд, тут дуже багато фільтрів. Усе здається незрозумілим. Але насправді все достатньо просто. Коли треба позначити зв'язування з віддаленою API, насамперед слід вказати шлях, яким працюватиме Gateway.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--51-.jpg" class="kg-image" alt loading="lazy" width="715" height="196"></figure><p>Якщо Gateway запущений на порті 8080, це буде localhost8080/name/male. Далі переходимо до реального шляху для віддаленої API, яку ми фактично проксуємо. Це потрібно вказати через uri.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--52-.jpg" class="kg-image" alt loading="lazy" width="715" height="167"></figure><p>Якби у нас не було гарного фільтра, система просто підставила би name/male на адресу після localhost8080, після адреси name-мікросервісу.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--53-.jpg" class="kg-image" alt loading="lazy" width="715" height="156"></figure><p>Для прикладу я свідомо ускладнив ситуацію. Припустимо, API не збігаються повністю. Тому потрібно зробити ремапінг. Можна переписати шляхи або додати фільтр, щоб підключити Circuit Breaker. Через це rewritepath приймає регулярне вираження, яке дозволяє витягувати параметри зі шляху в Gateway. Для цього треба написати, що є name, а потім забрати все, що йде після наступного слешу, і перенести на новий шлях. Таким чином можна переробити шлях під використання в цільовій API.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--54-.jpg" class="kg-image" alt loading="lazy" width="715" height="129"></figure><p>Переходимо до Circuit Breaker. Нижче зображена реалізація обробника помилок, який перемикатиме нас при отриманні запитів 404, 500 або 504. За потреби можете вказати будь-які інші коди.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--55-.jpg" class="kg-image" alt loading="lazy" width="715" height="245"></figure><p>Також треба вказати, куди все це пересилатиметься. Для цього я використовую мок усередині Gateway — це fallback endpoint.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--56-.jpg" class="kg-image" alt loading="lazy" width="715" height="336"></figure><p>З появою помилки у відправленні випадкового чоловічого імені повертатиметься лише одне ім'я — я задав «Артур». Щойно мікросервіс відновиться, все працюватиме, як слід.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--57-.jpg" class="kg-image" alt loading="lazy" width="715" height="78"></figure><p>Після запуску у браузері можна оцінити результати роботи системи.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--58-.jpg" class="kg-image" alt loading="lazy" width="715" height="60"></figure><p>Аналогічно працюють і <a href="https://speka.media/3-zovtnya-vidbulasya-prezentaciya-shhoricnogo-reitingu-top-50-naivplivovisix-zinok-fintexu-py3gxv">жіночі</a> імена. Все це підтверджує коректне налаштування Spring Cloud Gateway та мікросервісів на портах 8090 та 8091.</p><p>Але припустимо, щось зламалося, скажімо, на отриманні імені. Для симуляції розкоментуємо цю помилку і перебілдимо мікросервіс.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--59-.jpg" class="kg-image" alt loading="lazy" width="715" height="160"></figure><p>Реакція перемикача передбачувана: при зверненні до браузера ми бачимо лише ім'я Артур, скільки б разів не оновлювали сторінку.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--60-.jpg" class="kg-image" alt loading="lazy" width="715" height="61"></figure><p>Далі виправляємо помилку та дивимося, що змінилося. Мікросервіси не пов'язані з Gateway безпосередньо, тут не використовується Discovery Server. Весь зв'язок побудований на тому, що система періодично стукається до мікросервісу і в разі виявлення помилки повертається на fallback endpoint. Після виправлення багу і відновлення роботи сервісу ми знову бачимо в браузері випадкові імена. Все працює, як і має бути.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--61-.jpg" class="kg-image" alt loading="lazy" width="715" height="65"></figure><p>Звісно, регулярне звернення до ендпойнту не є гарною практикою. У реальному проєкті все можна налаштувати коректніше. Наприклад, під конкретний застосунок задати тайм-аут, потрібну кількість спроб для обробника помилок тощо.</p><h2 id="spring-cloud-config-server">Spring Cloud Config Server</h2><p>Це веб-застосунок для управління конфігураційними файлами. Особливо корисним Config Server буде за наявності автоскейлінгу, який створює інстанси та їх конфігурації без участі розробника.</p><p>Можна прокидати в хмарі конфігурації через проперті в консольних командах, але, на мій погляд, це сумнівна практика. Набагато краще використовувати готові, стандартизовані рішення. Це дозволить зберігати конфігурації в одному місці та спростить контроль доступу та версіонування. Саме таким рішенням є Spring Cloud Config Server. Як він працює?</p><p>Уявімо програму, яка хоче запуститися. Її створює, наприклад, якийсь executor, і застосунку потрібно отримати актуальну конфігурацію. Для цього йому достатньо відправити своє ім'я та потрібний список профілів на спеціальний ендпойнт у Config Server. Від нас не потрібні мануальні дії. Все просто, стабільно, безпечно.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--62-.jpg" class="kg-image" alt loading="lazy" width="715" height="214"><figcaption>Spring Cloud Config Server</figcaption></figure><p>Spring Cloud Config Server може використовувати для зберігання та вилучення проперті декілька рішень. Найчастіше це Git. Також це можуть бути версіоновані або звичайні файлові системи, бази даних, Redis, сховище Amazon S3, CredHub (якщо ви користуєтесь CloudFoundry) та ін.</p><p>Config Server передбачає шифрування для проперті, які не можна зберігати у відкритому доступі. Для цього потрібно викликати спеціальний ендпойнт у Config Server. Потім свій ключ із префіском «{cipher}» помістити у репозиторій замість проперті і зберігати це все у такому вигляді. Коли застосунок вимагатиме проперті, Config Server за допомогою ключа розшифрує все і передасть застосунку.</p><p>Існує й альтернатива від іншого вендора — Vault від HashiCorp. Це не Spring-застосунок, а сховище ентерпрайз-рівня для зберігання ключів. Його особливість — оптимізація під зашифроване розміщення ключів, як у базі даних.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--63-.jpg" class="kg-image" alt loading="lazy" width="715" height="265"><figcaption>Spring Cloud Config Server</figcaption></figure><h2 id="spring-cloud-config-bus">Spring Cloud Config Bus</h2><p>Цей інструмент дозволяє автоматично оновлювати проперті на сервісах при настанні будь-якої події. Це здійснюється за допомогою підключення Message Broker. Припустимо, ми зробили commit у Git-репозиторій, до якого підключено спеціальний WebHook. Він слухає зміни в Git і сам викликає спеціальний ендпойнт у Config Server. Потім у Message Broker з'являється повідомлення, яке слухають мікросервіси. Його поява і викликає оновлення конфігурацій. Виходить досить зручна система.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--64-.jpg" class="kg-image" alt loading="lazy" width="715" height="301"><figcaption>Spring Cloud Config Bus</figcaption></figure><h2 id="spring-cloud-%D0%B4%D0%BB%D1%8F-%D1%85%D0%BC%D0%B0%D1%80%D0%BD%D0%B8%D1%85-%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC">Spring Cloud для хмарних платформ</h2><p>У Spring Cloud є модулі для всіх основних хмар: від AWS та Azure до GCP і навіть Alibaba. Останній активно розвивається в Китаї. Також існує модуль для Docker із Kubernetes. Кожен надає різні можливості, про які можна багато писати. Тож у межах цієї статті я наведу лише ключові функції по кожній платформі.</p><h3 id="aws">AWS:</h3><ul><li>Реалізація Spring Messaging API для SQS;</li><li>Реалізація Spring Cache API для ElastiCache;</li><li>Інтеграція з RDS;</li><li>Інтеграція з S3;</li><li>Шляхи CloudFormation;</li><li>Інтеграції з EC2, CloudWatch, SES, Lambda.</li></ul><h3 id="azure">Azure:</h3><ul><li>Spring Cloud Stream Binder для Azure Event Hubs;</li><li>Spring Cloud Stream Binder для Azure Service Bus Topic та Queue;</li><li>Spring Resource Abstraction для Azure Storage;</li><li>Автоконфігурація Spring Cache для Azure Cache для Redis;</li><li>Функції Spring Cloud в Azure.</li></ul><h3 id="google-cloud-platform">Google Cloud Platform:</h3><ul><li>Spring Cloud GCP Pub/Sub, зокрема Spring Integration Channel Adapters;</li><li>Spring Cloud GCP Pub/Sub Stream Binder;</li><li>Spring Resource Abstraction для Google Cloud Storage;</li><li>Spring Data Cloud Spanner;</li><li>Spring Data Cloud Datastore;</li><li>Spring Data Cloud Firestore;</li><li>Google Cloud Vision API Template.</li></ul><h3 id="alibaba">Alibaba:</h3><ul><li>Контроль флоу та деградації сервісів: Alibaba Sentinel;</li><li>Реєстрація та виявлення сервісів: інстанси можна зареєструвати із Alibaba Nacos, а клієнти можуть виявити інстанси за допомогою компонентів, керованих Spring;</li><li>Розподілена конфігурація: використання Alibaba Nacos як сховища даних;</li><li>Подійно-орієнтовані мікросервіси: створення високомасштабованих та поєднаних із Spring Cloud Stream RocketMQ Binder мікросервісів, які керуються подіями;</li><li>Message Bus: вузли зв'язку розподілених систем із Spring Cloud Bus RocketMQ;</li><li>Розподілені транзакції Seata.</li></ul><h3 id="kubernetes">Kubernetes:</h3><ul><li>Спеціальний інструмент інтеграції для платформи Kubernetes;</li><li>Конфігурація хмари (карта);</li><li>Гнучка реалізація Cloud Config Server;</li><li>Балансування навантаження на стороні клієнта через Netflix Ribbon.</li></ul><h2 id="spring-data-flow">Spring Data Flow</h2><p>Це інтегрована платформа для обробки даних. За допомогою Data Flow можна на UI налаштувати спосіб перетворення даних, що надходить від запиту HTTP. Також платформа дозволяє зберегти дані та пізніше автоматично створювати під них мікросервіси. Все відбуватиметься без вашого безпосереднього втручання. Потрібно лише змапити все, щоб платформа розуміла, що саме піднімати. Якщо немає даних — немає й сервісів. Та тільки-но дані з'явилися, то відразу через Kubernetes підіймаються кілька сервісів.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--65-.jpg" class="kg-image" alt loading="lazy" width="715" height="297"><figcaption>Spring Data Flow</figcaption></figure> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Повітряні удари по об’єктах цивільної інфраструктури України, особливо як "привітання" до важливих для українців дат, стали нормою для країни-терориста. Новорічні свята, дні народження президента і Тараса Шевченка – у збоченій уяві воєнних злочинців це має залякати і примусити до перемовин на умовах кремля.

До початку 2023 року росія використала проти ]]></description>
        <link>https://proit.ua/chi-maie-ukrayina-shans-stati-lidierom-u-virobnitstvi-udarnikh-bpla/</link>
        <guid isPermaLink="false">646147f13ad50363a6f610b8</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Надія Омельченко ]]></dc:creator>
        <pubDate>вт, 02 трав 2023 23:45:00 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/05/A1-S_Furia_UAV_Complex_2020_1.png" medium="image"/>
        <content:encoded><![CDATA[ <p></p><p>Повітряні удари по об’єктах цивільної інфраструктури України, особливо як "привітання" до важливих для українців дат, стали нормою для країни-терориста. Новорічні свята, дні народження президента і Тараса Шевченка – у збоченій уяві воєнних злочинців це має залякати і примусити до перемовин на умовах кремля.</p><p>До початку 2023 року росія використала проти України близько 660 дронів-камікадзе Shahed-136/131, понад 500 з яких успішно знищили ЗСУ. У січні-березні 2023 року, попри надзвичайно низьку ефективність цих дронів, атаки з їх допомогою тривали на всій території України.</p><p>Росіяни намагаються знайти слабке місце в обороні, запускаючи дрони великими групами з різних майданчиків, з усіх напрямків спільного кордону з Україною, вночі, скеровуючи траєкторії підльоту гирлами річок чи над важкопрохідною місцевістю, щоб максимально ускладнити полювання за ними українських мобільних груп.</p><p>На жаль, така тактика час від часу дозволяє ворогу досягнути часткового результату. Зокрема, 9 березня чотири з восьми скерованих ворогом БПЛА Shahed-136/131 уразили житлові будинки в мирних містах України, 18 березня ворожі БПЛА зруйнували нежитлові приміщення в Яворівському районі на Львівщині, а 21-22 березня – цивільні об’єкти в Одесі та на Київщині.</p><p>Чи може Україна завдати симетричну відповідь власними БПЛА по збройних угрупованнях, летовищах, місцях запусків балістичних ракет та дронів-камікадзе, розміщених на тимчасово непідконтрольній території на відстані до 2 тис км?</p><p>«Так, може, оскільки вже володіє технологіями власного виробництва ударних дронів-камікадзе тактичного, оперативного та стратегічного рівнів», - розповідає СЕО компанії MILITECH Надія Омельченко.</p><p>Національний авіаційний університет став однією з перших установ в Україні, які привернули увагу до сучасних проблеми розвитку безпілотних авіаційних систем (БАС) цивільного та військового призначень.</p><p>Основні переваги в створенні безпілотних повітряних суден української розробки та виробництва – забезпечення високих технічних характеристик повітряних суден, відносно низька вартість, багатофункціональність та багатоваріантність, інтеграція БПЛА в тимчасові інформаційні мережі в районах застосування.</p><p>НАУ створив низку експериментальних БАС на базі різних типів безпілотних повітряних суден, оснащених нанотехнічним обладнанням з управлінням на основі новітніх інформаційних технологій з використанням апаратури для захищеного передавання радіотелеметричних даних і засобів відеоспостереження, методів багатопотокової обробки оперативної інформації цільового призначення, засобів виявлення та розпізнавання об’єктів та інших складових залежно від завдання.</p><p>У нас пройшли льотні випробування безпілотні повітряні судна, розроблені для вирішення широкого спектру завдань цивільного та військового призначення, а також проєкти безпілотного літаючого крила ударного типу з корисним навантаженням до 100 кг, часом польоту до місяця та великою робочою висотою.</p><p>Військові частини та підрозділи Сил оборони широко використовують БПЛА розвідувального типу. Як правило, це квадрокоптери та мультикоптери, більшість з яких виробляються в Китаї та інших країнах, тобто це імпортна продукція.</p><p>Забезпечення нею бойових підрозділів спростилося завдяки підписаному президентом 22 лютого 2023 року закону №2906-ІХ. У той же час понад 70 українських компаній заявили про готовність виробляти розвідувальні БПЛА.</p><p>Для аеророзвідки захисники широко використовують "весільні", картографічні та аграрні дрони. Деякі моделі можна переробити на ударні із системами скидання, проте найбільше військові потребують ударних БПЛА та дронів-камікадзе.</p><p>На озброєнні ЗСУ з 2014 року стоять дрони-розвідники українського виробництва з дальністю польоту 50-70 км. Це БПЛА PD-1 і "Лелека". Проте їх надзвичайно мало і одним із стратегічних завдань є швидке масштабування обсягів виробництва.</p><p>Ударні дрони третього класу турецької розробки Bayraktar, виробництво яких планується почати в Україні, теж добре зарекомендували себе в бойових умовах у 2022 році. Проте світовими лідерами в галузі виробництва всіх типів БПЛА є Ізраїль та США, технології яких ще мало використовуються в захисті України.</p><p>Власне потужне виробництво оперативних та стратегічних БПЛА, особливо ударного типу, не тільки можливе, а й стратегічно важливе для України.</p><p>Чи можуть ці дрони бути такими ж простими та дешевими, як Shahed? Скільки часу потрібно для розробки та серійного виробництва якісного вітчизняного ударного дрона з використанням технологій управління на основі штучного інтелекту? Скільки дронів-камікадзе стануть на бойову варту у 2023 році?</p><p>Коли наші інженери з’ясували, яким чином влаштовані дрони-камікадзе Shahed, вони були шоковані цими іранськими технологіями, точніше їх відсутністю.</p><p>Тобто іранці за російські гроші розібрали старий ізраїльський дрон, максимально спростили в ньому всю електроніку та конструкцію, залишивши ГЛОНАСС та фюзеляж, навісили максимально можливу бойову частину та законтрактували майже півтори тисячі штук для терористичних атак по мирних містах України.</p><p>Ми називаємо "шахеда" зброєю терористів, бо це некерований дрон-камікадзе. Він не має зв’язку з оператором, нейромережі для оцінки цілі (військова/цивільна) та функції самознищення і може помилитися на кількасот метрів.</p><p>Наш перший "мозковий штурм" відбувався так. Ми маємо в максимально стислі терміни розробити для наших захисників ударний БПЛА багаторазового використання чи дрон-камікадзе з інтелектуальним керуванням, криптографічно захищеними каналами керування, передавання інформації та ПЗ на борту.</p><p>Маємо за чотири-шість місяців запатентувати ці БПЛА, щороку виробляти по 200-250 одиниць кожного виду та передавати їх на озброєння ЗСУ.</p><p>За нашими даними, українські інженери за підтримки науково-технічних центрів України успішно виконали ці завдання. Завершуються льотні випробування кількох моделей ударних дронів з переходом до розробки стратегічних БПЛА.</p><p>Виробництво цивільних та військових БПЛА конструкторськими бюро – це не лише реалізація високого науково-технічного потенціалу України в галузі ВПК та авіабудування, а й потужна складова українського ВВП в майбутньому.</p><p>Фінансуючи стартапи з розробки дронів, приватний інвестор висуває вимогу, щоб використані технології відповідали жорстким національним стандартам у сфері КЗІ, легко модифікувалися для різних військових та цивільних завдань, відповідали стандартам НАТО для можливого експорту з метою захисту країн блоку.</p><p>Отже, Україна у 2023 році отримає не тільки власне виробництво надійних, точних та ефективних ударних БПЛА і технологічну перевагу над ворогом, а й потужний драйвер розвитку економіки після перемоги. Українські інженери готові симетрично відповісти на кожну терористичну атаку "країни 404" на землі, у повітрі й на морі.</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Кілька місяців тому ми по поличках розібрали все, що стосується digital-трендів 2023. І вирішили, що буде цікаво та корисно перейти від загального до конкретного — зануритися у світ соціальних мереж та поговорити про тренди, які будуть актуальні у 2023 році у світі та в Україні.

Отже, інсайди, тенденції, тренди та прогнози ]]></description>
        <link>https://proit.ua/sniek-kontient-situativi-ta-avtientichnist-smm-triendi-dlia-bizniesu-u-2023-rotsi/</link>
        <guid isPermaLink="false">6461601e3ad50363a6f611e3</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Марія Кашина ]]></dc:creator>
        <pubDate>нд, 30 квіт 2023 01:34:00 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/stage-mep/2023/05/346106521_206849702210778_6419058111004698093_n.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Кілька місяців тому ми по поличках розібрали все, що стосується <a href="https://www.promodo.ua/blog/digital-marketing-2023-ochikuvannya-ta-prognozi">digital-трендів 2023</a>. І вирішили, що буде цікаво та корисно перейти від загального до конкретного — зануритися у світ соціальних мереж та поговорити про тренди, які будуть актуальні у 2023 році у світі та в Україні.</p><p>Отже, інсайди, тенденції, тренди та прогнози від нашого відділу Brand&amp;Content. Пристебніть ремені та поїхали.</p><h2 id="%D0%BD%D0%B0%D1%81%D0%BB%D1%96%D0%B4%D0%BA%D0%B8-%D0%B5%D0%BF%D0%BE%D1%85%D0%B8-%D1%81%D0%BE%D1%86%D1%96%D0%B0%D0%BB%D1%8C%D0%BD%D0%B8%D1%85-%D0%BC%D0%B5%D1%80%D0%B5%D0%B6">Наслідки епохи соціальних мереж</h2><p>Поява соціальних мереж призвела до фундаментальних змін у тому, як ми спілкуємося та взаємодіємо зі світом: в особистому житті та професійному.</p><p>Перенесемося трохи назад у часі. 2 800 000 рік до нашої ери: перші люди з'явилися на Землі. Крім рутинних завдань, таких як полювання і збиральництво, їм довелося вчитися якимось чином висловлювати свої думки та спілкуватися одне з одним, попри повну відсутність мемів, емодзі, месенджерів та інших досягнень цивілізації.</p><p>Винахід телеграфу, перше у світі «селфі» від хіміка-аматора й ентузіаста фотографії Роберта Корнеліуса, поява телефону, радіо, створення «суперкомп'ютерів», яких вчені посилено намагалися навчити спілкуватися між собою... Усі ці та наступні винаходи мали єдину мету — налагодити комунікації та спілкування між групами людей, об'єднаними спільними інтересами. Саме соціальні мережі запровадили новий тип комунікації — груповий. І саме групове спілкування та співпраця — один із найважливіших наслідків епохи соціальних мереж.</p><p>Отже, завдяки постійному розвитку таких платформ, як Facebook, Twitter та Instagram, соціальні медіа стали одним із найпотужніших інструментів, доступних для бізнесу, аби безпосередньо комунікувати — зв'язуватися з потенційними клієнтами та споживачами, і при цьому генерувати продажі.</p><h2 id="%D1%8F%D0%BA%D1%96-%D1%81%D0%BE%D1%86%D1%96%D0%B0%D0%BB%D1%8C%D0%BD%D1%96-%D0%BC%D0%B5%D1%80%D0%B5%D0%B6%D1%96-%D0%BF%D0%BE%D1%82%D1%80%D1%96%D0%B1%D0%BD%D1%96-%D0%B1%D1%96%D0%B7%D0%BD%D0%B5%D1%81%D1%83-%D1%83-2023-%D1%80%D0%BE%D1%86%D1%96">(Які) соціальні мережі потрібні бізнесу у 2023 році</h2><p>Поки що не звертайте увагу на заголовок. Про те, які саме соцмережі потрібні українському бізнесу у 2023 році, ми поговоримо трохи пізніше. Спершу відповімо на запитання: чи кожному бізнесу потрібні соцмережі?</p><p>‍</p><p>Запитаємо про це Ханну — вигадану (чи ні) смм-фахівчиню у Promodo.</p><p>‍</p><p><em>Ханна знає, що сьогодні соціальні мережі потрібні бізнесу. Однак вона також розуміє, що не для кожного бізнесу вони можуть стати ефективним інструментом. Ханна починає своє дослідження з вивчення статистики. Про що говорить статистика?</em></p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/640080c49861cd833fe7e289_01.svg" class="kg-image" alt loading="lazy" width="984" height="131"></figure><p></p><p><em>Це означає, що 59,3% населення світу регулярно користуються соціальними мережами. Але однієї статистики недостатньо, аби визначити, чи потрібні бізнесу соціальні мережі. Ханна починає вивчати характер різних компаній, їхню цільову аудиторію та цілі.</em></p><p><em>Наприклад, компанія, що продає товари літнім людям, може не потребувати соціальних мереж так само як компанія, що продає товари підліткам. Бізнес із дуже нішевим ринком також може не потребувати соціальних мереж настільки, наскільки бізнес із ширшою аудиторією. І навпаки.</em></p><p><em>Ханна також розуміє, що цілі бізнесу мають вирішальне значення для визначення того, чи потрібні йому соціальні мережі. Якщо компанія хоче підвищити впізнаваність бренду, створити спільноту або залучити трафік на свій сайт, соціальні медіа стануть чудовим інструментом для досягнення цих цілей.</em>‍</p><p>Наразі соцмережі є повсюдною складовою більшості бізнесів. І ось декілька уніфікованих причин, чому вони потрібні бізнесу у 2023 році:</p><p>‍</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/64008105898054130bb2e040_02.svg" class="kg-image" alt loading="lazy" width="1082" height="127"></figure><p>Хоча соціальні мережі можуть бути потужним інструментом для бізнесу, вони не є універсальним рішенням. Кожен бренд повинен оцінити свої унікальні обставини, аби мати змогу інвестувати свій час і ресурси найефективнішим шляхом.</p><p>‍</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/6400818c6596bd314d011f60_03.svg" class="kg-image" alt loading="lazy" width="856" height="662"></figure><p>Щодо унікальних обставин — ми дісталися до питання про те, а які ж саме соціальні мережі потрібні бізнесу? Подивимося, як змінилася популярність соцмереж у контексті України.</p><h2 id="%D0%B4%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%84%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%8F-%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC">Диверсифікація платформ</h2><p>‍</p><p>У січні 2023 року в <a href="https://datareportal.com/reports/digital-2023-ukraine">Україні налічувалося 26,70 млн користувачів соціальних мереж</a>, що становить 74,0% від загальної чисельності населення. Але з початком повномасштабного вторгнення пріоритет використання соціальних мереж дещо змінився.</p><h3 id="%D0%B7%D1%80%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%BD%D1%8F-%D0%BF%D0%BE%D0%BF%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D0%BE%D1%81%D1%82%D1%96-telegram">Зростання популярності Telegram</h3><p>Після 24 лютого у користувачів була потреба в темпоральній стрічці з чіткою хронологією, аби розуміти, що відбувається і як змінюється ситуація в країні. Саме тому зріс попит на Telegram 一 це була єдина платформа, де новини поширювалися кожні 2-3 хвилини. Жодна інша соціальна мережа не мала (й не має) подібної хронологічної шкали.‍</p><p>З кінця січня до кінця лютого 2022 застосунок завантажили 506 тис. разів. З кінця лютого до 20-х чисел березня — майже мільйон разів, що на 88% більше, ніж за попередній період.</p><p>‍</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/640081ca546939a0f111e076_04.svg" class="kg-image" alt loading="lazy" width="618" height="523"></figure><h3 id="%D0%B7%D0%B1%D1%96%D0%BB%D1%8C%D1%88%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D1%96-%D1%83-twitter">Збільшення активності у Twitter </h3><p>Люди у світі витрачають понад 5 годин на місяць на перегляд стрічки у Twitter. Головна причина — це бажання бути в курсі новин і поточних подій. 87% користувачів Twitter також використовують Instagram. Дорослі проводять y Twitter в середньому 31 хвилину на день. Очікується, що у 2024 році кількість користувачів Twitter у всьому світі скоротиться на 5,1%.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/6400e2709b8c2164dcb7bf21_05--2-.svg" class="kg-image" alt loading="lazy" width="683" height="497"></figure><p>В Україні Twitter, так само як і Telegram, здобув популярності, якої не мав до 24 лютого. Головними причинами стали: цензура майданчиків Meta щодо теми російського вторгнення в Україну та постійна відсутність світла після атак на критичну інфраструктуру країни.</p><p>Коли вимикається світло, а мобільний зв’язок ледве-ледве EDGE, Instagram, TikTok, Facebook — стають непотрібними. Ось тоді настає «зірковий час» Twitter, де є лише текст — це зручно та швидко у поточних реаліях.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/64009ca760a1353dd032474f_IMG_8480-min--1-.jpg" class="kg-image" alt loading="lazy" width="256" height="256"></figure><p><strong>Олександр Зубарєв | Head of SMM у Promodo</strong></p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/64009b5f363109164b94d0ce_06.svg" class="kg-image" alt loading="lazy" width="1200" height="675"></figure><p><em>Безсумнівно, відключення електроенергії вже вплинули на патерни споживання контенту, насамперед у соціальних мережах.</em></p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/64009ca89daa17f00190a483_photo_2019-06-01_12-47-08-min--1-.jpg" class="kg-image" alt loading="lazy" width="256" height="256"></figure><p><strong>Анна Янборисова | Контент-продюсерка у Promodo </strong></p><p>Ось три основні моменти, на які слід звернути увагу українським брендам при створенні контенту.</p><h4 id="%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D1%83%D0%B9%D1%82%D0%B5-%D0%BA%D0%BE%D0%BC%D1%83%D0%BD%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%8E">Автоматизуйте комунікацію</h4><p>Для швидкої та термінової комунікації використовуйте канали, які вимагають мінімальної якості мобільного інтернету: Twitter, розсилки в месенджерах і смс.</p><h4 id="%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B8-%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%87%D0%BD%D1%96-%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F">Тексти + статичні зображення</h4><p>У продовженні першого пункту — картинка, відео або анімація можуть не завантажитися, але текст завантажиться точно. Тому люди стали читати їх уважніше — текстовий контент знову популярний.</p><p>Наприклад, Rozetka, отримували повідомлення із проханням якомога частіше постити статичні банери, а не гіфки, бо користувачам цікаво подивитись допис, але для завантаження бракує зв'язку через вимкнення світла.</p><p><strong>Анна Янборисова | Контент-продюсерка у Promodo</strong></p><blockquote>Стосовно приросту української аудиторії у Twitter — це відчутно позначилося на активності всередині платформи, ніж на прирості підписників окремих бізнес-акаунтів. Якщо порівнювати переваги цього майданчика та його органічне охоплення з Facebook: в останнього до 5% від аудиторії в той час, як у Твіттері це 100% органіки.</blockquote><blockquote>Далі наведемо приклад нашого кейса, де ця сама органіка проявила себе на всі 100%.</blockquote><h2 id="%D0%B7%D0%B0%D0%B3%D0%B0%D0%BB%D1%8C%D0%BD%D1%96-%D1%80%D0%B5%D0%BA%D0%BE%D0%BC%D0%B5%D0%BD%D0%B4%D0%B0%D1%86%D1%96%D1%97-%D1%89%D0%BE%D0%B4%D0%BE-%D0%BD%D0%B0%D0%BB%D0%B0%D1%88%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%BC%D0%B5%D0%B4%D1%96%D0%B9%D0%BD%D0%BE%D1%97-%D1%80%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D0%B8">Загальні рекомендації щодо налаштування медійної реклами</h2><p>Аудиторія Twitter налічує близько 510 000 українських користувачів. Лише одним твітом команді Brand&amp;Content вдалося охопити не лише всю українську аудиторію Twitter, але й отримати висвітлення в основних ЗМІ та урядових акаунтах у соціальних мережах.</p><p>Твіти Rozetka охопили 150 000 людей в органічному охопленні Twitter і потрапили до заголовків багатьох ЗМІ. Зазвичай така популярність коштує дуже дорого.</p><p>Що зробили: ситуативний контент, щоб скористатися першими ознаками конфлікту в Криму. У той час українські новини були насичені занепокоєнням щодо ситуації, і всі вірили, що Крим незабаром повернеться до складу України.</p><p>Ми зробили свого роду афірмацію з меседжу «забронювали собі місце під точку видачі» і тегнули інші бренди, чим створили масовий флешмоб. Усі взялися фотошопити собі «слоти» на Ластівчиному гнізді та біля. Це покотилося сніговою кулею по українському бізнесу.</p><p><strong>Анна Янборисова| Контент-продюсерка у Promodo</strong></p><blockquote>Цей контент підхопили багато ЗМІ та навіть політики, офіційні акаунти «Слуги народу» й Нацполіція.</blockquote><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/6400827d5baf178bca2732a8_07.gif" class="kg-image" alt loading="lazy" width="1200" height="675"></figure><p>Результатом став мільйон показів з позитивним і патріотичним контекстом на акаунті, де було лише 19 000 підписників. Клієнт був задоволений, аудиторія в захваті, а завдяки нашим зусиллям флешмоби стали новим трендом для українського бізнесу у Twitter.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/64008290919aa4b4c55def6d_08.gif" class="kg-image" alt loading="lazy" width="1200" height="675"></figure><p>Висновок: наша команда Brand&amp;Content успішно використала своєчасну та актуальну подію для створення ситуативного контенту. Успіх кампанії привернув увагу широкої аудиторії та допоміг започаткувати новий тренд для бізнесу — взаємодіяти зі своєю аудиторією у Твіттері за допомогою флешмобів.</p><p>З цього кейса можна виокремити кілька тенденцій.</p><h3 id="%D0%B0%D0%BA%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%96%D1%81%D1%82%D1%8C-%D1%81%D0%B8%D1%82%D1%83%D0%B0%D1%82%D0%B8%D0%B2%D1%96%D0%B2">Актуальність ситуативів</h3><p>Тренди є відображенням сьогоднішньої реальності. На сучасний контекст споживання контенту і розвитку соціальних медіа впливає війна, що триває. Як наслідок, комунікація змінюється і набуває додаткових вимірів.</p><p>Наприклад, у 2020 році ситуативний гумор в Україні був менш популярним. Якими були основні ситуативні тренди? Чорна п'ятниця? День святого Валентина?</p><p>Стосовно поточного контексту країни — ми єдині, хто його розуміє. Визначення жаху змінилося, як і наше почуття гумору та реакція на ситуативні тренди. Бренди намагаються бути з людьми, прагнуть бути більш відкритими, чесними та вільними у своїй комунікації. SMM не може існувати окремо від людей, тому що він якраз про людей, про натовп і про те, що має сподобатися всім цим людям. Як дізнатися, спрацює щось чи ні? Слухати натовп. У певному сенсі, зараз легше генерувати контент, тому що наші цінності є більш спільними.</p><p><strong>Олександр Зубарєв | Head of SMM у Promodo</strong></p><blockquote>Війна об'єднала не лише людей, а й бренди. Зараз зізнаватися в любові «Укрзалізниці» або «Новій пошті» — це не робити комусь рекламу, а проявляти лояльність до колег і партнерів. Бренди стають сміливішими, тому комунікації із жартами стає більше — переможе той, хто швидший, смішніший і чесніший.</blockquote><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/64008390edfc236720b99b40_gdxbs6lMZxA2-VyEECQPP2uVSdHUA9QJzodIXrrkba5ms55sMDIAmkAPx_jQ4O1FIOkxuMWQE5BFxlaipwoufqfl_SEKbPB2ak4bBYlp5BVSWEo5utlZHfs8OdotASJGTJGlbbTGOVTWrNsCtRaDK38.png" class="kg-image" alt loading="lazy" width="1188" height="1038"></figure><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/64008390e9174a7eb4960e2a_3Gyja_yMSyzsVRjCBA4L6WoKtZBlxMfs9xJBY4c9Lp4LEE1jlY7y0_CVs_LS2zGmeKZ4i0AVYj8qyIYuI5NdO8JwEU_B010y5kOS5ptclUm6oGiivACgyQ8ZL_TmsiAPB5o3v9bsGrMor0nbVfYP-EI.png" class="kg-image" alt loading="lazy" width="1174" height="1108"></figure><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/64008390884247067bdff8cd_KmtgrlLF7DaQHYQKme49K-5fuFLzG3iWmkZ2Edbh0xb2spSXvXZeaxWuPzFRcy3RqH5LHleC08g7hNZIZ5U-Lq26sNSP_It-nY_GRBVri4TUgQrWt5ondB7ZBX6bVNnbQPJ7knfdUsmWvi_UewPo8FY.png" class="kg-image" alt loading="lazy" width="1186" height="844"></figure><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/64008390363109aedd788b2b_FTEKcWW3M5tE4wkhJTUu5MaZwN8CxXTYLS2x_rkNE9P5_135Chc33LBL89f7jow5Y0siEPCo7N7z7hhprUR5ZIm1UrWLyJ-A7DCqt44mYspiGB1tn5tCqKPgT5nRDauQryac15F10ZyJ4Vu0w2I0uFA.png" class="kg-image" alt loading="lazy" width="1190" height="830"></figure><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/64008390272713671ffb65bc_IyNagsZcI1v0mU0OCUXvMj6s_9nHRUSdb0hcwfwtntfPdOnt_3Uyz-oxeXsSI1j6lkp6XQRUu1rsuEoRZ65mUzECevwjHaI83abPjp2TjTbSFGIFjB34BcTcGL0xKgZoA_Keu5Rca4u3sqZdgzPvqtk.png" class="kg-image" alt loading="lazy" width="1190" height="872"></figure><p>‍</p><p>Дехто пішов ще далі та вивів любов до українських брендів в <a href="https://www.facebook.com/darnitsa.company/posts/5606011882828443">офлайн комунікацію</a>.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/640083907af482d62c2a4c3e_GIZSGPHCyCbK6-R0OBuh3x1zZSqmkkQseTr8S9-5rOmVfZG2bVly2nDrADe1eyVOEPX_1FZwVIy07IY993bNCOEKs4pWrvVV7kLKB1rqFKbXaMo1zqfkjnCwWQ2KUzQU8uEw2sBJULS4p-iubQKn2sI.png" class="kg-image" alt loading="lazy" width="800" height="322"></figure><p>За словами Олександра Зубарєва, керівника відділу SMM у Promodo, бренди, які зараз стикаються з проблемами планування на перспективу, мають зосередитися на платформах, що дозволяють миттєво продавати та приносити прибуток. Тому компаніям слід (якщо вони ще ні) звернути увагу на Facebook та Instagram, а також інвестувати в платне просування у цих соцмережах.</p><p>Далі розглянемо тренди форматів контенту, які будуть ефективними для просування.</p><h2 id="%D1%81%D0%BD%D0%B5%D0%BA-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82-live-%D0%B2%D1%96%D0%B4%D0%B5%D0%BE-%D1%82%D0%B0-%D1%88%D1%96">Снек-контент, live-відео та ШІ</h2><p>Покладатися лише на тренди — ризиковано. Вони можуть змінюватися та не відповідати усім галузям чи нішам, оскільки мають занадто загальний характер, тому ми радимо використовувати тренди як орієнтир, а не банально копіювати інших.</p><p>Розглянемо топові тренди та тенденції форматів контенту на 2023 рік, щоб зрозуміти, що заслуговує на увагу та експерименти, і чи підвищить це ефективність. До таких трендів можна віднести:</p><ul><li>Снек-контент;</li><li>Бум в creator-економіці;</li><li>ШІ та копірайтери;</li><li>Автентичність.</li></ul><h3 id="%D1%89%D0%BE-%D0%BA%D0%BE%D1%80%D0%BE%D1%82%D1%88%D0%B5-%D1%82%D0%BE-%D0%BA%D1%80%D0%B0%D1%89%D0%B5">Що коротше, то краще</h3><p>Згідно зі звітом Content Benchmarks Report за 2023 рік, понад 50% маркетологів вважають відео найціннішим типом контенту, а 25% стверджують, що live-відео є ефективним для досягнення будь-яких цілей у соцмережах. Також це улюблений формат для ознайомлення з новими продуктами серед зумерів та міленіалів. 57% зумерів та 42% міленіалів надають перевагу ознайомленню з продуктами та їхніми характеристиками за допомогою коротких відео.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/64008455919aa4febf6020a0_09.svg" class="kg-image" alt loading="lazy" width="856" height="394"></figure><p>Короткі відео мають найвищий ROI, і у 2023 році вони будуть рости найшвидше серед усіх трендів. Отже, домінування short-контенту продовжує залишатися ключовим трендом.</p><p>Hootsuite рекомендує, щоб тривалість відео в Facebook та Instagram не перевищувала хвилину для звичайних відео та від 15 до 60 секунд для роликів.</p><p>Хоча оптимізація для органічного пошуку має вирішальне значення, не зупиняйтеся на досягнутому. Спочатку брендам варто органічно протестувати усі відеокреативи, а вже потім просувати найефективніші з протестованих за допомогою платних методів.</p><p>Короткі відео — беззаперечний загальносвітовий та український тренд, і залишатиметься таким і надалі. Але важливо пам'ятати, що снек-контент насамперед роблять для споживача, а не для бренду. Наприклад, користувач навряд чи дивитиметься 60-секундне відео про те, який же класний магазин побутової техніки, а ось TikTok із Владом Шевченком вони та подивляться, і пошарять із радістю.</p><p><strong>Анна Янборисова</strong>, Контент-продюсерка у Promodo</p><blockquote>TikTok продовжує набирати популярність і впливати на все наше сприйняття контенту. Навіть якщо ви не користуєтеся цим застосунком, відео звідти наздоганяє вас у Reels і диктує тенденції на тренди, жарти та формати в усіх соціальних мережах. </blockquote><p>У 2022 році TikTok став найбільш завантажуваним мобільним застосунком у світі.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/64008472550bf3a711965d6e_10.svg" class="kg-image" alt loading="lazy" width="856" height="602"></figure><p>Платне просування в TikTok в Україні наразі недоступне. Це означає, що потрібно зосередитися на створенні контенту, який резонує з аудиторією, а не ставити в пріоритет саме бренд. Єдиний шанс на те, що їхні ТікТок'и побачать, — це органічне охоплення та рекомендації на платформі. Анна припускає, що великі компанії, такі як monobank та DniproM, вже усвідомили це і прийняли стратегію використання формату «ми закликаємо тіктокерів робити те, що вони вміють найкраще, але у формі нашого бренду». Такий підхід виявився успішним у взаємодії з аудиторією на платформі.</p><h2 id="%D0%B1%D1%83%D0%BC-%D0%B2-creator-%D0%B5%D0%BA%D0%BE%D0%BD%D0%BE%D0%BC%D1%96%D1%86%D1%96">Бум в creator-економіці</h2><p>У світі цифрового маркетингу зростає тенденція до створення короткого відеоконтенту та використання інфлюенсерів для просування брендів. Це призвело до бурхливого розвитку економіки креаторів, де бренди жорстко конкурують за залучення та утримання найкращих творців контенту на всіх платформах соціальних мереж.</p><p>Причина такої конкуренції полягає в тому, що бренди хочуть створювати високоякісний контент і бути в курсі останніх тенденцій, але робити це самостійно може бути складно. Співпрацюючи з творцями, вони можуть завоювати довіру та підвищити рівень залученості своєї аудиторії.</p><blockquote>Дослідження, проведене компанією Adobe у серпні 2022 року, свідчить, що кількість креаторів може бути набагато вищою — 303 мільйони, і більш ніж половина з них приєдналися до економіки креаторів після 2020 року. Багато креаторів хочуть бути більше, ніж просто інфлюенсерами.</blockquote><p>Отже, брендам варто подумати про те, як вони можуть співпрацювати з авторами, щоб покращити свої маркетингові стратегії.</p><p>На щастя, соціальні медіаплатформи полегшують брендам зв'язок з потрібними авторами. Наприклад, YouTube оголосив, що короткі відео можна буде монетизувати, а автори отримуватимуть значну частину доходу. Очікується, що і TikTok змінить свою стратегію монетизації, що відкриє нові можливості для авторів.</p><p>Але поки що спонсорство брендів залишатиметься джерелом доходу №1 для більшості креаторів. Ймовірно, ми побачимо відхід від традиційної реклами до більш колаборативного та креативного підходу. Тож зараз вдалий час для маркетологів, аби переоцінити свої стратегії роботи з авторами, переконатися, що вони працюють з потрібними й не перенасичують свою аудиторію спонсорським контентом.</p><h3 id="%D1%88%D1%96-%D1%82%D0%B0-%D0%BA%D0%BE%D0%BF%D1%96%D1%80%D0%B0%D0%B9%D1%82%D0%B5%D1%80%D0%B8">ШІ та копірайтери</h3><p>У 2023 році ШІ відіграватиме значно більшу роль у створенні контенту, ніж будь-коли. На ринку з'являється безліч нових рішень на основі ШІ: ChatGPT, Copy.ai, DALL-E, <a href="https://proit.ua/laifkhaki-iak-stvoriti-shi-zobrazhiennia-u-midjourney/">Midjourney</a> — нові технології допоможуть контент-маркетологам, копірайтерам і СММникам у рутинних завданнях.</p><p>Наприклад, <a href="https://www.promodo.ua/blog/optimizaciya-seo-za-dopomogoyu-chatgpt-dosvid-promodo">ChatGPT може бути корисним для SEO-фахівців</a>, але наразі немає такого ШІ, що зможе написати пост у блозі так, щоб його не треба було редагувати та перевіряти людині.</p><h3 id="%D0%B0%D0%B2%D1%82%D0%B5%D0%BD%D1%82%D0%B8%D1%87%D0%BD%D1%96%D1%81%D1%82%D1%8C-%E2%80%94-%D1%86%D0%B5-%D0%BA%D0%BB%D1%8E%D1%87">Автентичність — це ключ</h3><p>Оскільки соціальні мережі продовжують домінувати в нашому повсякденні, стає все більш важливим залишатися вірним собі. Споживачі втомилися від перегляду нереалістичних, ретельно відредагованих постів і прагнуть правдивості та прозорості. Вони хочуть отримувати контент, який відображає їхнє життя і досвід, дає їм змогу відчути зв'язок.</p><p>Такі платформи як TikTok і BeReal є лідерами в цьому напрямку. Вони демонструють, що люди хочуть бачити нефільтрований контент і справжніх особистостей. Ця тенденція поступово витісняє традиційний, контрольований контент, з Instagram та інших платформ.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/640084d17af4828edb2b3418_11.svg" class="kg-image" alt loading="lazy" width="697" height="571"></figure><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/63206a7b1d5ec8504f2c211d_quote--2-.svg" class="kg-image" alt loading="lazy" width="120" height="120"></figure><p>Часи, коли контент було відфотошоплено до останнього пікселю — минули. Тенденція до автентичності в соціальних мережах вимагає більше живого і чесного контенту. Люди шукають справжності та відкидають надмірно відредаговані зображення, які спотворюють реальність. Тому бренди, які чинять опір цій тенденції, ризикують залишитися позаду, бо споживачі все більше цінують контент без фільтрів, який відображає їхній власний досвід. Зрушення в бік автентичності не є чимось новим, прикладами чого є календарі Pirelli та моделі Victoria's Secret. Настав час брендам зробити пріоритетом створення контенту, який резонує з прагненням аудиторії до автентичності.</p><p><strong>Олександр Зубарєв, Head of SMM у Promodo</strong></p><blockquote><a href="https://www.youtube.com/watch?v=xT6wjgssVK4">Краса — це соціальний конструкт</a></blockquote><p>Навіть такі великі компанії, як Google та Amazon, роблять ставку на недосконалий, непрофесійний контент, оскільки він виглядає більш правдивим. Однак важливо дотримуватися балансу між недосконалим і неякісним контентом. Продукт має бути помітним, а контент — зрозумілим.</p><h2 id="%D0%BC%D0%BE%D0%B4%D0%B5%D1%80%D0%B0%D1%86%D1%96%D1%8F-%D0%B7%D0%B4%D0%BE%D0%B1%D1%83%D0%B2%D0%B0%D1%94-%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%BD%D1%8F">Модерація здобуває значення</h2><p>Якісна підтримка в соціальних мережах — це тренд трендів. Клієнти очікують, що бренди будуть спілкуватися з ними по-людськи, не втрачаючи при цьому індивідуального підходу.</p><p>Так, опитування, проведене Microsoft Global State of Customer Service, показало, що 54% клієнтів віддають перевагу компаніям, які оперативно реагують на запити в соціальних мережах. Люди часто шукають соцмережі бренду не задля розваги чи лайфхаків «як вибрати павербанк», а заради інформації про сервіс або щоб поскаржитися на поганий досвід взаємодії. Тому те, як швидко, ефективно й людяно ви розв'яжете проблему клієнта в коментарях, вплине на лояльність і залученість більше, ніж будь-які гарні та креативні пости.‍</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/640084ea979e1dd227daa7f8_s482CTMXe9OxsUuSJh8NY-Fhvv69h-g_1SutXKIFY2m3yyfsIadeRGYdfA1ons44UZPNCzomoYO14hKzwRA6DCN5wI_J-67dulD7jgv5TFJyFDerR-aSTSQ0JidDd8hZAgGn-nk7s6iutU_BQEpLR_k.png" class="kg-image" alt loading="lazy" width="1192" height="564"></figure><p>Належна модерація в соцмережах бренду також має відповідати очікуванням і цінностям клієнтів.</p><h2 id="%D0%B2%D1%96%D0%B7%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%96-%D1%82%D1%80%D0%B5%D0%BD%D0%B4%D0%B8">Візуальні тренди </h2><p>На 2023 дизайнери у середньому наводять близько 15 головних трендів у візуалі. Ми зупинилися на тих, що вважаємо тотожними до сьогодення України й розуміння того, як змінилося споживання цифрового контенту в нас.</p><h3 id="%D1%81%D1%82%D0%BE%D1%80%D1%96%D1%82%D0%B5%D0%BB%D1%96%D0%BD%D0%B3-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-%D1%84%D0%BE%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D1%96%D1%97">Сторітелінг через фотографії</h3><p>Стокові зображення майже зникнуть з соцмереж. Точніше сказати, класика стоку. Але з’явиться більше фотоконтенту, який можна поєднувати із дизайном, більше живих фотографій та художньої цінності й історій, як на цих фото, які ми зробили для<a href="https://www.behance.net/gallery/143158231/KRAUFF-Ukraine-Social-Media"> бренда Krauff</a>.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/64009e4714e0ce729b4c412e_013.png" class="kg-image" alt loading="lazy" width="1200" height="675"></figure><p>Візуальний сторітелінг — один із найпотужніших трендів у 2023. Мозок здатний розпізнавати зображення вже через 13 мілісекунд, а це набагато менше часу, ніж нам потрібно для розпізнавання та інтерпретації вербальної комунікації.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/640088ea750a6a59ca3dd803_12.svg" class="kg-image" alt loading="lazy" width="482" height="324"></figure><p>Людський мозок використовує 30% для візуальної обробки, порівняно з 8% для дотику і 3% для слуху.</p><p>Переваги візуального сторітелінгу:</p><ul><li>Такі історії ефективно утримують увагу читачів, а це збільшує час перебування на сторінці та підвищує ймовірності взаємодії з іншим контентом.</li><li>Добре підходять для поширення в соціальних мережах.</li><li>Є цінним інструментом для контент-команд, який вони можуть використовувати у своїх стратегіях.</li></ul><p>Тож бренди інвестуватимуть більше ресурсів у створення візуально привабливого та захопливого контенту, який на глибшому рівні взаємодіє з цільовою аудиторією.</p><h3 id="%D0%B2%D0%B8%D1%80%D0%B0%D0%B7%D0%BD%D0%B8%D0%B9-%D0%BC%D1%96%D0%BD%D1%96%D0%BC%D0%B0%D0%BB%D1%96%D0%B7%D0%BC-%D1%96-%D0%BF%D0%BB%D0%B0%D1%81%D0%BA%D0%B8%D0%B9-%D0%B4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD">Виразний мінімалізм і плаский дизайн</h3><p>Плаский дизайн є постійним трендом, тоді як виразний мінімалізм пропонує чистий і сучасний вигляд без жодних додаткових прикрас. У цих типах візуального оформлення саме типографіка відіграє важливу роль у передачі повідомлення.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/64008931ce9170d8c11570cd_zeimTXOIhKCWrGHux-XfMQK4ByEz4VHE05RMfZlQkwtJiXO3YCN5FyfiUOPVx9blJt-QEwvPi-0TvI_buvgha5P5TwLgmAWYVwH06e1O1ji5498xAf3AufHuazKeoP1KR7gQX78PDk5RTX0y9Eao0pU.png" class="kg-image" alt loading="lazy" width="1600" height="1200"></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/6400893114e0ce419e347c17_l3FxcYUdd3C6WQ3uYLbTaslz2tsW9Z_SNVDEFSoSQ_Rqx6ZgQfsIxrRWuniJVqzXq5IFr59KBXECK01OEAHBi6K9bSPqEK-a_ApVKHa0kvk4BdhjNGIafe2h1ihKRIV093oAagVir-AI_hb-EY6I7Ao.png" class="kg-image" alt loading="lazy" width="1504" height="1116"><figcaption>Джерела: <a href="https://dribbble.com/shots/16467224-Balance/attachments/11228576?mode=media">Bahareh Okhravi</a>, <a href="https://dribbble.com/shots/18799195-MELBOURNE">Meghdeep Sarkar</a>, <a href="https://dribbble.com/shots/19298310-Hybrid-Work">Camila Barbieri</a>, <a href="https://www.jukeboxprint.com/blog/%20https:/dribbble.com/shots/18599159-Illustration-The-Makers-Planet">Anna Żołnierowicz</a></figcaption></figure><p>Прикладами цієї тенденції є прості, чисті дизайни технологічних компаній, таких як Apple, або мінімалістичні, насичені типографікою, дизайни модних брендів, таких як COS.</p><p>‍Джерело: Dribble</p><h3 id="%D0%BD%D0%B5%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D0%B0-%D1%82%D0%B8%D0%BF%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D1%96%D0%BA%D0%B0">Нестандартна типографіка</h3><p>Її виділяють в окремий тренд. Тому ми вирішили також так зробити. Типографіка відіграє вирішальну роль у графічному дизайні.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/64008bd52cbb61d669c4cf4d_JTy0RKGXm5RTbfhnVpGE4s2VPkCp7ru8-iWRj-IdFwZWYn4oA0cVxjxoKc4bjllOfIcBOfOZmJ8tw54qfDfBCemEFVfVoRQGxzeyC4aLLz2GA7qP0a-19XYqoHAkdV3URdONCuDHzz9xXQbmM3ZDgwU.png" class="kg-image" alt loading="lazy" width="1600" height="1200"><figcaption>Джерело: <a href="https://dribbble.com/pat_kos">patkos</a></figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/64008bd5917ae5424fd33386_5hU00PfXAT_9FPOWKYd_eyiaMctu2A406yXe1UORpVheTR4NZPFfwKs-i13orIqLYlb7zQUGaFgGlQQAPZj69kKRoGKm7GyoOVDUQn8zaMs88sTRLF1Ngng8WVKoI8INbZIbigPtspHsJ2KJB0oZo5M.png" class="kg-image" alt loading="lazy" width="1600" height="1200"><figcaption>Джерело: <a href="https://dribbble.com/MickBailey">Mick Bailey</a></figcaption></figure><p>Хоча основна функція тексту — передавати повідомлення, дизайнери зараз досліджують креативні способи додати індивідуальності формам літер, розширюючи межі можливого.</p><h3 id="3d-%D0%B4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD">3D-дизайн</h3><p>3D-дизайн набуває все більшої популярності в різних сферах: мистецтво, мода, відеоігри та вебілюстрації. Поступово виходить на більш доступний рівень, тому ми вже зараз бачимо і побачимо згодом ще більше 3D у візуальній комунікації.</p><p>‍</p><p>Так, соціальні мережі залишаються важливим інструментом для зв'язку зі своєю аудиторією. Однак підхід до SMM еволюціонував, і українському бізнесу необхідно адаптуватися.</p><p></p><p><strong><strong>Ключові моменти статті</strong></strong>:</p><ul><li>Twitter є провідною соціальною мережею для простішої, швидшої, а іноді термінової комунікації.</li><li>Візуальний сторітелінг стає все більш поширеним і пропонує безмежні можливості для творчості.</li><li>Бренди стали ближчими до людей і налагоджують взаємодію з іншими брендами в соціальних мережах.</li><li>Автентичність і життєвість мають вирішальне значення, а використання фільтрів і фотошопу застаріло. Люди хочуть бачити живий і справжній контент.</li><li>Відеоконтент стає все більш популярним, і важливо, щоб він був не довшим за 60 секунд.</li></ul> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Сьогодні ми зустрічаємося з новими викликами, що пов’язані зі змінами в технологіях, підходах до бізнесу та вимогами споживачів. І ці зміни змушують компанії шукати людей, які не просто виконують свої обов’язки, але й готові до непередбачуваних випробувань та змін. Але чи дійсно співробітник понад усе? Як це стосується ]]></description>
        <link>https://proit.ua/spivrobitnik-ponad-usie-chi-pravilnie-tsie-tvierdzhiennia-na-2023-rik/</link>
        <guid isPermaLink="false">6462b9b99761b0b25945abd3</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Оксана Іордатьєва ]]></dc:creator>
        <pubDate>пт, 28 квіт 2023 02:06:00 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/05/19196954.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Сьогодні ми зустрічаємося з новими викликами, що пов’язані зі змінами в технологіях, підходах до бізнесу та вимогами споживачів. І ці зміни змушують компанії шукати людей, які не просто виконують свої обов’язки, але й готові до непередбачуваних випробувань та змін. Але чи дійсно співробітник понад усе? Як це стосується 2023 року?</p><p>Для заходу <strong>HR community</strong> <strong>Kharkiv IT Cluster</strong> запросив <strong>Оксану Іордатьєву</strong>, HR-Lead ITRDev, яка має 6+ років досвіду в ІТ та успішно розширила відділ від 12 до 35 спеціалістів під час кризи Covid-19. Разом ми згадали, яким був ринок до Covid-19, обговорили, як це було в період пандемії та спробували знайти відмінності між тоді та зараз. Прогнози від GPT-chat допомогли нам розглянути перспективи та зрозуміти, які скіли потрібні сучасному співробітнику.</p><p>⭐<strong><a href="https://it-kharkiv.com/spivrobitnik-ponad-use-chi-pravilne-tse-tverdzhennya-na-2023-rik/#yakim-rinok-buv-do-covid-19">Яким ринок був до Covid-19</a></strong></p><p>⭐<strong><a href="https://it-kharkiv.com/spivrobitnik-ponad-use-chi-pravilne-tse-tverdzhennya-na-2023-rik/#situatsiya-sogodni">Ситуація сьогодні</a></strong></p><p>⭐<strong><a href="https://it-kharkiv.com/spivrobitnik-ponad-use-chi-pravilne-tse-tverdzhennya-na-2023-rik/#skili-spivrobitnika-2023">Скіли співробітника 2023</a></strong></p><p>⭐<strong><a href="https://it-kharkiv.com/spivrobitnik-ponad-use-chi-pravilne-tse-tverdzhennya-na-2023-rik/#spivrobitnik-ponad-use">Співробітник понад УСЕ?</a></strong></p><h2 id="%D1%8F%D0%BA%D0%B8%D0%BC-%D1%80%D0%B8%D0%BD%D0%BE%D0%BA-%D0%B1%D1%83%D0%B2-%D0%B4%D0%BE-covid-19">Яким ринок був до Covid-19</h2><p>Перед початком пандемії Covid-19, ринок праці у сфері ІТ був украй конкурентним. <strong>Роботодавці мали широкий вибір серед кандидатів</strong>, що своєю чергою знижувало рівень зарплат. У той час, <strong>заробітна плата була нижчою порівняно з сьогоднішніми показниками</strong>. Однак, з початком пандемії ситуація на ринку праці дуже швидко змінилася. Компанії змушені були скорочувати проєкти та переходити на невиплачувані відпустки, а деякі працівники були звільнені.</p><p>Проте, з часом ринок знову піднявся на ноги та почав зростати. Підвищення зарплат та боротьба за кандидатів стали основними трендами ринку праці. Нинішня ситуація на ринку праці суттєво відрізняється від того, що було до початку пандемії. За даними GLassdoor, <strong>з 2016 року до 2023 року зарплата розробників зросла на 41%</strong>, що свідчить про підвищення вартості праці в даній сфері. За даними Indeed та PayScale, <strong>середня зарплата Node.js розробників зросла в США з 2016 року до 2023 року на 55%</strong>.</p><p>Отже, можна зробити висновок, що ринок праці у сфері ІТ зазнав значних змін протягом останніх років. Високі зарплати та конкуренція за кандидатів стали нормою. І, можна стверджувати, що на сьогодні співробітник понад усе — це актуальна тема. Однак, питання полягає в тому, які скіли та які вимоги потрібні для того, щоб стати таким співробітником.<br></p><h2 id="%D1%81%D0%B8%D1%82%D1%83%D0%B0%D1%86%D1%96%D1%8F-%D1%81%D1%8C%D0%BE%D0%B3%D0%BE%D0%B4%D0%BD%D1%96">Ситуація сьогодні</h2><p>Ситуація на ІТ-ринку в Україні є досить складною через кілька причин. Попри те, що ІТ-галузь є однією з найбільш перспективних та стабільних галузей в країні, вона також є досить конкурентною та вимагає високої кваліфікації від працівників.</p><p>Однією з причин зменшення кількості вакансій та зниження зарплат є повномасштабна війна в Україні та зміни, які вона призвела в економіці. Багато компаній були змушені скоротити свою діяльність або перейти на дистанційну форму роботи, що призвело до зменшення замовлень та затримок у проєктах. Також, на фоні економічної нестабільності, багато компаній зменшують свої витрати, включаючи зарплати працівників.</p><p><em><strong>Аналіз вакансій за 2 тижні:</strong></em> Зі 100% кандидатів зацікавлені у пошуку нового місця тільки 7%, а в активному пошуку тільки 3%.</p><p>Щодо низької кількості кандидатів, які активно шукають нову роботу, це може бути пов’язано зі зменшенням довіри до роботодавців після пандемії, а також зі збільшенням конкуренції на ринку праці. Багато кандидатів можуть залишатися на своїх роботах, навіть якщо вони не дуже задоволені, через невпевненість в майбутньому та страх втрати роботи.<br></p><h2 id="%D1%81%D0%BA%D1%96%D0%BB%D0%B8-%D1%81%D0%BF%D1%96%D0%B2%D1%80%D0%BE%D0%B1%D1%96%D1%82%D0%BD%D0%B8%D0%BA%D0%B0-2023">Скіли співробітника 2023</h2><p>У 2023 році очікування роботодавців від кандидатів є ще більш високими та різноманітними. Окрім тих навичок, які вже були названі, які є досить важливими наразі, з’являться такі додаткові очікування.</p><h3 id="%D0%B2%D1%96%D0%B4-%D0%BA%D0%B0%D0%BD%D0%B4%D0%B8%D0%B4%D0%B0%D1%82%D0%B0-%D0%BE%D1%87%D1%96%D0%BA%D1%83%D1%94%D0%BC%D0%BE">Від кандидата очікуємо</h3><p>⭐️<strong> Високий рівень Hard та Soft skills.</strong> Наприклад, такі навички як комунікація, лідерство, тимчасове управління, розв’язання проблем, креативне мислення, співпраця та взаємодія з іншими людьми.</p><p>⭐️ <strong>Strong level гнучкості та креативності.</strong> Також, дедалі більше роботодавців шукають людей з гнучким мисленням та готовністю до змін, адже сучасні технології та методи роботи вимагають постійного оновлення та вдосконалення.</p><p>⭐️<strong> Продуктивність та адаптивність.</strong> ІТ-індустрія відома своєю швидкістю та неперервними змінами. Успішні компанії змушені швидко пристосовуватися до змін в технологіях та ринкових умовах. Тому, робітники, які можуть швидко реагувати на зміни, виграють відносно тих, хто не може. Уміння бути продуктивним означає, що співробітник може забезпечити ефективне виконання завдань у відведені терміни, що є важливим як для проєктів, так і для бізнесу загалом. Компанії шукають співробітників, які можуть розв’язувати проблеми та брати на себе ініціативу. Це означає, що вони можуть бути відповідальні за свої дії та приймати рішення, не чекаючи на вказівки. Продуктивність та адаптивність можуть позитивно впливати на культуру компанії, збільшуючи мотивацію та ефективність робочої групи.</p><p>⭐️ <strong>Самоорганізація та свідомість.</strong> Це дозволяють робітникам працювати більш ефективно, знижують кількість помилок та збільшують продуктивність. Крім того, такі робітники здатні самостійно розвиватись та покращувати свої професійні навички, що дозволяє їм бути конкурентоспроможними на ринку праці.</p><p>⭐️ <strong>Командний гравець та клієнтоорієнтований</strong>. ІТ-проєкти зазвичай розробляються командами, тому комунікація та співпраця є надзвичайно важливими факторами для досягнення успіху. Бути командним гравцем означає бути відкритим до інших думок та поглядів, здатним працювати з іншими, ділитися інформацією та знаннями. Успішний проєкт залежить від того, наскільки добре команда працює разом, ділиться ідеями та знаходить спільний підхід до розв’язання проблем. Клієнти — це дуже важливі люди в індустрії ІТ, оскільки вони є основним джерелом прибутку для бізнесу. Бути клієнтоорієнтованим означає зосереджуватися на потребах та очікуваннях клієнтів та створювати продукти або рішення, які задовольнять їхні вимоги та потреби. Це може означати активне слухання клієнтів, здатність досліджувати їхні вимоги та знаходити способи розв’язання їхніх проблем. Бути клієнтоорієнтованим допомагає підвищити рівень задоволеності клієнтів, що забезпечує успіх компанії в довгостроковій перспективі.</p><p>Кандидат має сенс зосередитися на розвитку цих навичок, а також на пошуку можливостей для навчання та підвищення кваліфікації.</p><h3 id="%D1%89%D0%BE-%D0%BD%D0%B0%D0%BC-%D0%BA%D0%B0%D0%B6%D0%B5-gpt-chat">Що нам каже GPT-chat</h3><p>⭐️ Більше роботи на відстані;<br>⭐️ Більше уваги до етики та безпеки даних;<br>⭐️ Рост очікувань від співробітників;<br>⭐️ Зміни у менталітеті роботодавців;<br>⭐️ Розвиток штучного інтелекту;<br>⭐️ Розвиток автоматизації.<br></p><h2 id="%D1%81%D0%BF%D1%96%D0%B2%D1%80%D0%BE%D0%B1%D1%96%D1%82%D0%BD%D0%B8%D0%BA-%D0%BF%D0%BE%D0%BD%D0%B0%D0%B4-%D1%83%D1%81%D0%B5">Співробітник понад УСЕ?</h2><p><strong>Людина завжди стоїть всередині незалежно від того, чи бізнес це, чи ні.</strong></p><p>Співробітник є ключовим елементом будь-якого бізнесу, оскільки це людина, яка безпосередньо відповідає за досягнення бізнес-цілей. Успіх компанії залежить від того, наскільки компетентним, ефективним та мотивованим є її співробітники.</p><p>Особливо важливо бути «співробітником понад усе», тобто людиною, яка прагне досягнути максимального результату та не боїться взяти на себе відповідальність за свої дії. Такі співробітники готові навчатися, розвиватися та ставити нові виклики перед собою, що допомагає компанії зберігати конкурентоспроможність.</p><p>Крім того, важливо бути комунікабельним, приязним та співпрацювати з іншими співробітниками, бо багато проєктів в ІТ-сфері вимагають колективної роботи. Клієнтоорієнтованість також є важливою, оскільки клієнти є середовищем, у якому функціонує бізнес, тому їхнє задоволення є важливим для забезпечення успіху компанії. В цілому, співробітник понад усе має бути зосередженим на досягненні бізнес-цілей та задоволенні потреб клієнтів, тоді компанія зможе домінувати на ринку та забезпечити стабільність.</p><h3 id="%D1%89%D0%BE-%D1%94-%D0%B2%D0%B0%D0%B6%D0%BB%D0%B8%D0%B2%D0%B8%D0%BC">Що є ВАЖЛИВИМ?</h3><p>Для того, щоб співробітник був продуктивним, потрібна спільна відповідальність більш ніж однієї посади.</p><p><em><strong>Що для цього потрібно:</strong></em></p><ul><li>Допомогти організувати робочий процес,</li><li>професійний розвиток,</li><li>вчасний відпочинок.</li></ul><p><em><strong>Хто відповідає за це?</strong></em></p><ul><li><strong>Менеджер проєкту</strong> має відповідальність за планування роботи та організацію процесу, щоб забезпечити максимальну продуктивність команди.</li><li><strong>Менеджер відділу</strong> повинен відстежувати індивідуальні результати співробітників, надавати можливості для їх професійного розвитку та допомагати розв’язувати проблеми, які можуть впливати на продуктивність.</li><li><strong>HR-менеджер</strong> має важливу роль у створенні сприятливої робочої атмосфери та відповідальний за програми підвищення ефективності, що допоможуть співробітникам бути більш продуктивними.</li></ul><p>Таким чином, продуктивність співробітника залежить від спільних зусиль різних посадових осіб.</p><blockquote><em>«Краще одразу розійтися з пересічним робітником, щоб знайти на цю посаду справжню зірку»</em>. ― унікальна культура <strong>Netflix</strong>.</blockquote> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Повномасштабна війна, а отже, вимушена міграція спеціалістів, мобілізація, закриті кордони, інфраструктурний терор росіян та нестабільність енергосистеми — з усім цим зіткнулося українське ІТ минулого року.

Попри ці труднощі, індустрія показала стійкість і навіть ріст. Але в 2023 все може змінитися. Саме про ці зміни й виклики для ІТ-керівниць була наша перша ]]></description>
        <link>https://proit.ua/vikliki-dlia-it-kierivnitsi-u-2023-ta-iak-yim-protistoiati-tech-women-community/</link>
        <guid isPermaLink="false">6462b8869761b0b25945abbe</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Олеся Ульянова ]]></dc:creator>
        <pubDate>пт, 28 квіт 2023 01:58:00 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/05/Untitled-1-2.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p></p><p>Повномасштабна війна, а отже, вимушена міграція спеціалістів, мобілізація, закриті кордони, інфраструктурний терор росіян та нестабільність енергосистеми — з усім цим зіткнулося українське ІТ минулого року.</p><p>Попри ці труднощі, індустрія показала стійкість і навіть ріст. Але в 2023 все може змінитися. Саме про ці зміни й виклики для ІТ-керівниць була наша перша зустріч Tech Women Community у 2023 році разом із <strong>Олесею Ульяновою,</strong> CEO компанії <strong>Telеsens</strong>.</p><p><strong>Тема заходу</strong> — «Виклики для IT-керівниці у 2023 та як їм протистояти», на якому ми розібралися зі:</p><ul><li>змінами теперішнього світу з VUCA на BANI;</li><li>навичками керівника, які потрібні вже сьогодні;</li><li>змінами бізнесу через невизначеність;</li><li>впровадженням змін всередині компанії;</li><li>та лідерством, як прикладом для інших.</li></ul><h2 id="vuca-%D1%81%D0%B2%D1%96%D1%82">VUCA-світ</h2><p>На початку 1990-х американськими військовими було озвучено концепцію VUCA-світу. Вона вчила, як діяти в нестійких, невизначених, складних і неоднозначних ситуаціях, що з’явилися після закінчення холодної війни.<br>В основі світу VUCA є наступна концепція:</p><ul><li><strong>V — volatility</strong> <em><strong>(нестабільність, мінливість та нестійкість)</strong></em> — дає поштовх непередбачуваним перетворенням та появі двояких ситуацій не тільки у звичайному житті, а й у бізнесі. Незрозуміло, як довго може продовжуватися такий стан справ, як вести діяльність в умовах настільки мінливих обставин;</li><li><strong>U — uncertainty <em>(невизначеність)</em></strong> — не забезпечує можливість планування подальших дій через відсутність необхідної інформації. Ухвалення рішень, виходячи з минулого успішного досвіда, який завжди приносить позитивний результат. Не можна прогнозувати ефективність розробки та впровадження ринку нових товарів;</li><li><strong>C — complexity <em>(складність)</em></strong> характеризується як великий обсяг інформації та другорядних чинників, які дозволяють виважено приймати рішення і планувати наступні кроки. Величезна кількість правил, норм, документів, обмежень ускладнює процес створення та просування на ринку нових товарів, послуг;</li><li><strong>A — ambiguity <em>(неоднозначність)</em></strong> — це про відсутність чітких правил гри. Постійно існує ризик появи суперечливої ​​інформації. Невідома поведінка клієнтів з появою нової бізнес-моделі, не можна прорахувати результат, який вийде в результаті ваших зусиль.</li></ul><p>Поступово концепція VUCA перетекла у світ бізнесу, і бути лідером у такому середовищі означало вміти пристосовуватися до змін турбулентного часу й управляти ними.</p><p><em><strong>Тож, як подолати цю мінливість, невизначеність та неоднозначність?</strong></em></p><ul><li><strong>volatility</strong> допоможе подолати фільтрування інформації та фокусування на найважливішому, формування бачення майбутнього та чітке його формулювання, формування цінностей на організаційному рівні;</li><li>вирішити проблему <strong>uncertainty</strong> варто за допомогою емпатії та підтримки спільної творчості, колаборацій та нетворкінгу;</li><li><strong>complexity</strong> вирішується за допомогою спрощення, чіткої та ясної комунікації та системного мислення;</li><li>побороти <strong>ambiguity</strong> допоможе вміння адаптуватися до швидкозмінного середовища та open mindset.</li></ul><p><strong><em>Чи потрібні ці навички зараз?</em></strong></p><p>Безумовно, так. Проте чи зможе концепт VUCA описати все те, що відбувається в наші дні? У світі бізнесу його почали активно використовувати у 2007–2009 роках, під час глобальної фінансової кризи. Відтоді багато що змінилося — адже подій лише останніх двох років вистачить не на один гостросюжетний фільм. І, здавалося б, бізнеси почали з цим звикати, але пандемія і війна в Україні показали, що можливе ще стрімкіше наближення хаосу. Тому на зміну VUCA-світу прийшов світ BANI — ще більш швидкий, складний і непрогнозований.</p><h2 id="%D1%87%D0%B8%D0%BC-%D1%94-%D1%81%D0%B2%D1%96%D1%82-bani-%D1%96-%D1%89%D0%BE-%D0%B2%D1%96%D0%B4%D1%80%D1%96%D0%B7%D0%BD%D1%8F%D1%94-%D0%B9%D0%BE%D0%B3%D0%BE-%D0%B2%D1%96%D0%B4-%D0%BF%D0%BE%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%BD%D0%B8%D0%BA%D0%B0-vuca">Чим є світ BANI і що відрізняє його від попередника VUCA?</h2><p>Описуючи стан сучасного світу, можна назвати його пограничним та таким, у якому майже не залишилося жодних орієнтирів. Для його назви футурист Джамаїс Кашіо, за аналогією з попередніми, запропонував використовувати новий термін, що складається з абревіатур, — BANI.</p><p><strong>BANI</strong> — швидший і складніший, хаотичний світ, що не має чіткої структури. Порівняно з ним нестабільний VUCA є джерелом спокою та порядку.</p><p><strong>В основі світу BANI існує наступна концепція:</strong></p><ul><li><strong>B — brittle <em>(тендітний, крихкий)</em></strong> — усі звичні нам способи життя можуть у будь-який момент зруйнуватися. Ніхто не захищений, немає надійної опори;</li><li><strong>A — anxious <em>(неспокійний)</em></strong> — такий світ тримає всіх у тривожному стані. Невідомо, де ти опинишся завтра й що незабаром станеться;</li><li><strong>N — nonlinear <em>(нелінійний)</em></strong> — не можна встановити чіткий зв’язок між причиною та наслідком. Подія може вплинути на майбутню мету несподіваним чином;</li><li><strong>I — incomprehensible<em> (незбагненний)</em></strong> — бракує знань і даних, рішення приймаються навпомацки. Не виходить скласти картину зрозумілого уявлення про події, що відбуваються.</li></ul><p><em><strong>Що допоможе подолати труднощі у світі BANI?</strong></em></p><ul><li>крихкість можна подолати розвитком стійкості;</li><li>послабити тривогу та занепокоєння з приводу майбутнього допоможуть співпереживання «в моменті» та увага до сьогодення;</li><li>для подолання нелінійності буде потрібна гнучкість;</li><li>незбагнення загострює потребу в прозорості та інтуїтивному</li><li>схоплюванні (зараз ця здатність знайшла відображення в терміні «трансцензуальне»).</li></ul><h2 id="%D1%8F%D0%BA%D1%96-%D1%8F%D0%BA%D0%BE%D1%81%D1%82%D1%96-%D0%BF%D0%BE%D1%82%D1%80%D1%96%D0%B1%D0%BD%D1%96-%D0%BD%D0%BE%D0%B2%D0%B8%D0%BC-%D0%BA%D0%B5%D1%80%D1%96%D0%B2%D0%BD%D0%B8%D0%BA%D0%BE%D0%BC-%D1%82%D0%B0-%D0%BB%D1%96%D0%B4%D0%B5%D1%80%D0%B0%D0%BC-%D1%83-%D1%81%D0%B2%D1%96%D1%82%D1%96-bani">Які якості потрібні новим керівником та лідерам у світі BANI?</h2><p><em><strong>📌 Build Up</strong></em><br>Світ тендітний. Поки ми будемо займатися лагодженням, потреба в цій чашці може бути втрачена.</p><p><em><strong>📌 Attentiveness</strong></em><br>Ми можемо зняти тривогу за майбутнє своєю уважністю до сьогодення, до себе та до оточення.</p><p><em><strong>📌 Non-dogmatic</strong></em><br>Для догматизму характерні відсутність критичного мислення, нездатність сприймати інформацію, що суперечить уявленням, і сліпа віра в авторитети.</p><p><em><strong>📌 Intuitive</strong></em><br>Для розуміння в незбагненному середовищі нам потрібно взяти інтуїцію, точніше інтуїтивне схоплювання чи трансцензуальне мислення.</p><h2 id="5-%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%D1%96%D0%B2-%D0%B2%D1%96%D0%B4%D0%BA%D1%80%D0%B8%D1%82%D0%BE%D0%B3%D0%BE-%D0%BB%D1%96%D0%B4%D0%B5%D1%80%D1%81%D1%82%D0%B2%D0%B0-%D1%89%D0%BE-%D0%BD%D0%B0%D0%B4%D0%B8%D1%85%D0%B0%D1%94">5 принципів відкритого лідерства, що надихає:</h2><ul><li><strong>робіть те, що проповідуєте.</strong> Будьте взірцем, навіть якщо ваші співробітники вважають, що це магія;</li><li><strong>справжня відповідальність буває лише особистою.</strong> Людина червоніє одна;</li><li><strong>не працюйте з людьми, які не хочуть вірити в себе,</strong> а вірять лише у вас;</li><li>команда працюватиме<strong> тоді, коли легше зробити, ніж не зробити;</strong></li><li>для повної готовності до зміни потрібний легкий ступінь соціопатії. Не дивитися ні на кого. <strong>Свобода – перший крок до лідерства.</strong></li></ul><p><em><strong>❗️ І важливе правило:</strong></em> якщо ви не захочете змінити себе, знайдеться хтось, хто зробить це швидше за вас. Потрібно освоювати нові вміння, ухвалювати оперативні рішення та тримати руку на пульсі, якщо хочете знайти своє місце у новому світі.</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Раніше ми ділилися кейсом, як SEO для сайту IT-компанії дозволило за півроку збільшити трафік на 30%. Одним із важливих етапів роботи стала оптимізація блогу. Сьогодні розповімо про те, чому ведення блогу важливе не лише для залучення органіки на сайт, та як використовувати експертний контент для лідогенерації у сфері IT.


Навіщо ]]></description>
        <link>https://proit.ua/iak-stvoriti-blog-i-navishcho-tsie-potribno-it-kompaniyi/</link>
        <guid isPermaLink="false">646163883ad50363a6f61267</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Ольга Гнесь ]]></dc:creator>
        <pubDate>нд, 23 квіт 2023 01:43:00 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/05/2023-05-29-14_39_33-Window-1.png" medium="image"/>
        <content:encoded><![CDATA[ <p></p><p>Раніше ми ділилися <a href="https://promodo.ua/blog/seo-dlya-it-kak-za-polgoda-uvelichit-trafik-na-sajt-na-30.html">кейсом</a>, як SEO для сайту IT-компанії дозволило за півроку збільшити трафік на 30%. Одним із важливих етапів роботи стала оптимізація блогу. Сьогодні розповімо про те, чому ведення блогу важливе не лише для залучення органіки на сайт, та як використовувати експертний контент для лідогенерації у сфері IT.</p><h2 id="%D0%BD%D0%B0%D0%B2%D1%96%D1%89%D0%BE-%D1%81%D0%B0%D0%B9%D1%82%D1%83-it-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D1%96%D1%97-%D0%BF%D0%BE%D1%82%D1%80%D1%96%D0%B1%D0%BD%D0%B8%D0%B9-%D0%B1%D0%BB%D0%BE%D0%B3">Навіщо сайту IT-компанії потрібний блог</h2><p>Створення блогу на комерційному сайті допомагає вирішити відразу кілька завдань – як загальної маркетингової стратегії, так і конкретних цілей щодо просування проєкту:</p><p>1. Збільшення кількості посадкових сторінок для залучення органічного трафіку.<br>   2. Збагачення семантичного ядра з інформаційних запитів.<br>   3. Підвищення лояльності користувачів до бренду та покращення ранжування сайту в пошукових системах за рахунок експертного контенту.<br>   4. Створення єдиного джерела контенту для посіву в різних каналах комунікації бренду з аудиторією.<br>   5. Розширення воронки для лідогенерації на різних етапах шляху користувача.</p><h3 id="%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%8F-%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B8-%D1%81%D0%B0%D0%B9%D1%82%D1%83">Оптимізація структури сайту</h3><p>Що таке сайт IT-компанії? Найчастіше структура складається з головної сторінки, каталогу з послугами, кількох службових сторінок з інформацією про бренд та контактами. Для кожної мовної версії сайту таких сторінок може бути лише кілька десятків. А у випадках з унікальним технологічним продуктом – і того менше.</p><p>Якщо кількість послуг не змінюється або бізнес базується на просуванні одного продукту, структура залишається статичною тривалий час. Це призводить до обмежень кількості ключових фраз, за ​​якими планується просування сайту в пошукових системах. При цьому зберігається висока конкурентність комерційних ключів у ніші інформаційних технологій, і новачкам складно пробитися на високі позиції в пошуковій видачі за високочастотними, але конкурентними фразами.</p><p>Як можна обійти конкурентів та залучити більше трафіку на сайт? Варто оптимізувати структуру та збільшити кількість посадкових сторінок. Як це зробити з обмеженим набором інструментів? Створити розділ блогу на сайті або інформаційне медіа на окремому піддомені та наповнити статтями з корисною для користувача інформацією.</p><p>Для реалізації можна обрати:</p><p>1) підпапку – якщо CMS дозволить впровадити всі необхідні елементи оптимізації контенту з урахуванням актуальних вимог UI/UX та SEO;</p><p>‍<br>   2) піддомен – якщо движок сайту має обмеження щодо технічних та візуальних впроваджень або є інші обмеження щодо інтеграції, включаючи безпеку системи.</p><h3 id="%D1%80%D0%BE%D0%B7%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8F-%D1%81%D0%B5%D0%BC%D0%B0%D0%BD%D1%82%D0%B8%D1%87%D0%BD%D0%BE%D0%B3%D0%BE-%D1%8F%D0%B4%D1%80%D0%B0">Розширення семантичного ядра</h3><p>Який контент підійде для створення нових посадкових сторінок? Блог допоможе збагатити обмежене ядро ​​комерційних запитів ширшим набором ключів інформаційної ніші. Це можуть бути високочастотні запити, пов'язані з описом конкретних послуг, поширені питання користувачів у певній ніші, хайпові теми щодо тенденцій у галузі. Або низькочастотні запити longtail, що уточнюють тонкі деталі технологічних процесів, розкривають складні нюанси вузькопрофільних завдань.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/637cbb3c7744cae0dca8f3bb_637b49733d11dbaa409234f4_-D1-96-D0-BD-D1-84-D0-BE-D1-80-D0-BC-D0-B0-D1-86-D1-96-D0-B8-CC-86-D0-BD-D1-96-20-D0-B7-D0-B0-D0-BF-D0-B8-D1-82-D0-B8.png" class="kg-image" alt loading="lazy" width="530" height="530"><figcaption><em>Розширення семантичного ядра сайту</em></figcaption></figure><p><em>‍</em>Таким чином ми збільшуємо кількість посадкових сторінок за рахунок створення статей і залучаємо більше трафіку на сайт. Згідно з <a href="https://videos.brightedge.com/research-report/BrightEdge_ChannelReport2019_FINAL.pdf">дослідженням BrightEdge</a> 2019 року, 53% усього відстежуваного трафіку веб-сайтів припадає на органічний пошук. Крім того, B2B компанії генерують вдвічі більше доходу з органіки, ніж з інших каналів.</p><p>Грамотно організована технічна on-page оптимізація, внутрішня перелінковка, збір СЯ та написання оптимізованих текстів дозволить сайту ранжуватися в пошукових системах за більшою кількістю запитів у тематиці та залучити більше потенційних клієнтів на сайт, обійшовши конкурентів, які не використовують блог як додатковий інструмент залучення .</p><p><strong><strong>Як видно з прикладу сайтів IT-компаній з органічним трафіком з різних регіонів – інформаційні статті входять до ТОП-3 сторінок всього сайту</strong></strong> (за даними Ahrefs):</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/637cbb3cad9b35937fd6a5e1_637b49a03d11db29709248ca_-D1-80-D0-B5-D0-B3-D1-96-D0-BE-D0-BD-20url.png" class="kg-image" alt loading="lazy" width="952" height="322"><figcaption><em>Типи сторінок у ТОП-3 для сайтів у ніші IT на різних ринках</em></figcaption></figure><h2 id="%D0%BF%D1%96%D0%B4%D1%82%D0%B2%D0%B5%D1%80%D0%B4%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B5%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%96-%D0%B1%D1%80%D0%B5%D0%BD%D0%B4%D0%B0">Підтвердження експертності бренда</h2><p>Все більшу вагу при ранжируванні контенту в пошукових системах набирає підтверджена експертність. Тому при створенні блогу потрібно приділити увагу не просто написанню статей за частотними запитами, а й підтвердженню експертності інформації.</p><p>Залучення до написання статей та коментарів співробітників компанії та зовнішніх експертів у ніші позитивно вплине на ранжування створеного контенту та підніме його на видачі. Крім того, позитивний сигнал отримають не лише пошукові роботи, але й відвідувачі сайту. А це, у свою чергу, допоможе завоювати довіру користувачів і підвищити лояльність клієнтів.</p><h3 id="%D0%BF%D0%BE%D1%81%D1%96%D0%B2-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82%D1%83">Посів контенту</h3><p>Варто відзначити, що IT-блог – це не лише про SEO для залучення органіки. Це важлива ланка в ланцюжку асоційованих конверсій. Одна стаття у блозі стає основою для репоста в інші канали комунікації бренду: соцмережі, месенджери, розсилки, зовнішні майданчики. При цьому знижуються витрати на генерацію ідей і створення одиниці контенту, а кількість каналів залучення трафіку збільшується.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/637cbb3cd47966b5c8160f94_637b4a0994474462d7e15e96_see-20think-20do-20care.png" class="kg-image" alt loading="lazy" width="950" height="336"><figcaption><em>Інструменти комунікації з ЦА через блог</em></figcaption></figure><h2 id="%D1%80%D0%BE%D0%BB%D1%8C-%D0%B1%D0%BB%D0%BE%D0%B3%D1%83-%D0%B2-%D0%BB%D1%96%D0%B4%D0%BE%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D1%96%D1%97-%D0%B4%D0%BB%D1%8F-%D0%B1%D1%96%D0%B7%D0%BD%D0%B5%D1%81%D1%83">Роль блогу в лідогенерації для бізнесу</h2><p>І кінцеве завдання, яке має вирішувати IT-блог – це залучення лідів. На яких етапах воронки його можна використовувати? Давайте розглянемо докладніше роль блогу на шляху користувача від читача до клієнта:</p><p><strong><strong>1.</strong></strong> <strong><strong>Неусвідомлена потреба.</strong></strong> За рахунок інформаційних запитів у ніші можна розширити воронку на етапі поінформованості про бренд: давати рекомендації спеціалістам різного рівня – від основ для новачків до лайфхаків та how to у вузьких сферах. Можна робити добірки робочих інструментів, публікувати актуальні новини, тренди, висвітлювати профільні заходи. Створювати образ бренду як експерта в ніші, щоб викликати в читача інтерес та довіру, навіть якщо він ще не усвідомив потреби в послузі.</p><p><strong><strong>2. Активний пошук.</strong></strong> На цьому етапі користувач усвідомлено шукає способи вирішення конкретного завдання бізнесу. Тут потрібно докладно розповісти про інструменти, які компанія може запропонувати для вирішення проблеми. Якщо продукт складний, потрібні докладні інструкції та приклади. Слід підтвердити експертизу кейсами та точно донести ідею УТП.</p><p><strong><strong>3. Конверсія.</strong></strong> Після того, як читач отримає відповідь на своє запитання в інформаційній статті, важливо не відпустити його на пошуки варіантів рішення Google, а органічно направити на сторінку відповідної комерційної послуги.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/637cbb3ca2b41ae16872f6aa_637b4a49bfd8850f54cf21f4_it-20-D0-B1-D0-BB-D0-BE-D0-B3.png" class="kg-image" alt loading="lazy" width="950" height="376"><figcaption><em>Роль блогу в Consumer Decision Journey</em></figcaption></figure><p>Для включення блогу в ланцюжок лідогенерації в кожній статті обов'язково повинні бути присутні конверсійні елементи – кнопка швидкого зв'язку з менеджером, форма підписки на розсилку новин, віджети перелінкування зі сторінками послуг та інші пуш-повідомлення, що органічно доповнюють смислове посилання публікації.</p><h2 id="%D1%8F%D0%BA-%D0%BF%D0%BE%D0%B1%D1%83%D0%B4%D1%83%D0%B2%D0%B0%D1%82%D0%B8-%D0%B5%D1%84%D0%B5%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D1%83-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82-%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%B5%D0%B3%D1%96%D1%8E-%D0%B1%D1%80%D0%B5%D0%BD%D0%B4%D1%83-%D0%B7%D0%B0-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BC%D0%BE%D0%B3%D0%BE%D1%8E-%D0%B1%D0%BB%D0%BE%D0%B3%D1%83">Як побудувати ефективну контент-стратегію бренду за допомогою блогу</h2><p><strong><strong>Важливо розуміти, що блог – це не «річ у собі».</strong></strong> Це один із інструментів контент-маркетингу, який необхідно інтегрувати у спільну бізнес-стратегію бренду. Далі наведемо алгоритм дій, як це зробити грамотно.</p><h3 id="%D0%BF%D1%96%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B4%D0%BE-%D1%81%D1%82%D0%B0%D1%80%D1%82%D1%83-%D0%BF%D1%80%D0%BE%D1%94%D0%BA%D1%82%D1%83">Підготовка до старту проєкту</h3><p>Перш ніж створювати блог, необхідно чітко розуміти, для чого ми це робимо, які очікування ставимо, як вимірюватимемо успіх, чи є ресурси всередині команди, чи потрібна зовнішня редакція та технічні фахівці, чи готові «грати вдовгу» або наразі проєкту потрібні швидкі рішення.</p><p>За нашими спостереженнями на запуск блогу різного рівня складності потрібно 1-3 місяці. Перші результати для аналізу та коригування початкової контент-стратегії можна очікувати ще через 3 місяці. А отримати суттєвий приріст трафіку та оцінити реальну ефективність вдасться ближче до кінця першого року роботи над проєктом.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/637cbb3c1ec6666035afbfb5_637b4a7a91e73165339a406c_-D0-B5-D1-82-D0-B0-D0-BF-D0-B8-20-D1-81-D1-82-D0-B2-D0-BE-D1-80-D0-B5-D0-BD-D0-BD-D1-8F-20-D0-BA-D0-BE-D0-BD-D1-82-D0-B5-D0-BD-D1-82-D1-96.png" class="kg-image" alt loading="lazy" width="950" height="170"><figcaption><em>Етапи створення та розвитку блогу протягом 1 року</em></figcaption></figure><h3 id="%D1%82%D0%B5%D1%85%D0%BD%D1%96%D1%87%D0%BD%D1%96-%D0%B2%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B4%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F">Технічні впровадження</h3><p>Коли рішення про запуск блогу прийнято, переходимо до підготовки майданчика для розміщення контенту. На цьому етапі важлива злагоджена робота команд кількох напрямків:</p><p>- редакція;</p><p>- розробка;</p><p>- SEO;</p><p>- UI/UX.</p><p>При створенні інформаційного розділу на сайті або блогу на окремому піддомені потрібно врахувати побажання редакції щодо технічних можливостей адмін-панелі для розміщення та редактури тексту, щоб можна було оперативно вносити необхідні зміни до різних структурних елементів тексту.</p><p>Дизайн сторінок блогу повинен відповідати брендбуку компанії та сучасним тенденціям візуального відображення контенту на веб-сторінках. Технічна реалізація має враховувати актуальні вимоги пошукових систем, перелік яких передає розробникам SEO-фахівець.</p><p>Підготовлений таким чином майданчик для розміщення текстів забезпечить ефективність блогу у всіх аспектах: найкраще ранжування у пошуку, залучення органічного трафіку, поведінкові фактори на сторінці, зручне перепакування контенту для дистрибуції у різні канали комунікації з аудиторією, збір даних для аналізу KPI проекту.</p><p><strong><strong>Як видно на прикладі сайтів IT компаній з однаковим відсотком трафіку з одного регіону, ефективність статей із залученням органічного трафіку не залежить безпосередньо від кількості статей – має значення оптимізація і стратегія просування контенту.</strong></strong> Так, сайт із кількістю статей <strong><strong>х10</strong></strong> залучає всього <strong><strong>х6</strong></strong> органічного трафіку на блог (за даними Ahrefs):</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/637cbb3c5a94a11337b7f16a_637b4ab3d79e117cfb3f67c6_-D0-BE-D1-80-D0-B3-D0-B0-D0-BD-D1-96-D1-87-D0-BD-D0-B8-D0-B8-CC-86-20-D1-82-D1-80-D0-B0-D1-84-D1-96-D0-B5.png" class="kg-image" alt loading="lazy" width="952" height="242"><figcaption><em>Органічний трафік на статті в IT-блозі</em></figcaption></figure><h3 id="%D1%81%D1%82%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82%D1%83">Створення контенту</h3><p>Створенням контенту можна займатися паралельно з технічними впровадженнями, щоб відразу за готовністю майданчика розмістити великий обсяг підготовлених статей. Або ж приступити до створення та публікації контенту після завершення етапу розробки. Вибір залежить від можливостей команди, що працює на проєкті.</p><h3 id="%D0%B7%D0%B0%D0%B2%D0%B4%D0%B0%D0%BD%D0%BD%D1%8F-%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%86%D1%96%D1%97-%D0%BF%D0%BE-%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D1%96-%D0%B7-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82%D0%BE%D0%BC-%D0%B2%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D1%8E%D1%82%D1%8C">Завдання редакції по роботі з контентом включають:</h3><p>‍</p><p>1. Аналіз конкурентів.<br>   2. Вибір актуальних тем на основі трендів, частотності та конкурентності запитів.<br>   3. Упорядкування контент-плану.<br>   4. Збір СЯ кожної теми.<br>   5. Складання докладного ТЗ копірайтерам (структура статті, ключі та LSI-фрази, метадані, перелінкування, візуальні та конверсійні елементи, референси).<br>   6. Перевірка, редактура та розміщення статей у блозі.<br>   7. Рекомендації щодо подальшого посіву контенту.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/637cbb3c1ec66651e5afbfb6_637b4b6a7ea28f43f89b1b8a_-D0-B0-D0-BD-D0-B0-D0-BB-D0-B8-D0-B7-20-D0-BA-D0-BE-D0-BD-D0-BA-D1-83-D1-80-D0-B5-D0-BD-D1-82-D0-BE-D0-B2.png" class="kg-image" alt loading="lazy" width="950" height="216"><figcaption><em>Етапи реалізації контент-стратегії</em></figcaption></figure><p>Необхідно, щоб команда, що працює над створенням контенту, включаючи редактора та авторів, добре зналася на темі вашого продукту. Якісні статті в IT-блозі не повинні нагадувати реферати студентів. Інформація має бути підтверджена досвідченими експертами із внутрішньої команди, також можна отримати коментарі зовнішніх спеціалістів.</p><p>‍</p><p>Важливо правильно зібрати СЯ та скласти ТЗ копірайтеру. Редактор повинен професійно курирувати автора, правильно формулюючи завдання. Це не просто збір інформації на тему з ключами, а створення корисної для читача розповіді з call to action. Вона має підвести читача до думки, що компанія вирішить його бізнес-проблему якнайкраще за допомогою відповідних технологічних інструментів, а персонал має достатню для цього кваліфікацію.</p><h3 id="%D0%B4%D0%B8%D1%81%D1%82%D1%80%D0%B8%D0%B1%D1%83%D1%86%D1%96%D1%8F-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82%D1%83"><br>Дистрибуція контенту</h3><p>Після розміщення контенту на сайті необхідно грамотно транслювати його цільовій аудиторії в інших каналах, щоб залучати додатковий трафік крім органіки. При цьому важливо врахувати особливості представлення інформації в кожному каналі для грамотного перепакування. Тобто не просто скинути посилання на статтю в месенджері, а додати цікаву підводку. Для соцмереж – створити відповідне візуальне оформлення та короткий текст. Для емейл розсилки – зібрати добірку корисних тематичних статей.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/637cbb3cb027b3034b787003_637b4c0f604b4338a6e159e6_-D0-BF-D0-BE-D1-81-D1-96-D0-B2-20-D0-BA-D0-BE-D0-BD-D1-82-D0-B5-D0-BD-D1-82-D1-83.png" class="kg-image" alt loading="lazy" width="688" height="262"><figcaption><em>Посів контенту</em></figcaption></figure><h2 id="%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B7-%D0%B5%D1%84%D0%B5%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D1%96">Аналіз ефективності</h2><p>З моменту старту публікацій необхідно регулярно відслідковувати результати роботи та коригувати стратегію. Потрібно розуміти не тільки динаміку трафіку з різних каналів, а й ефективність контенту різного типу – аналізувати показник відмов, дочитаність статей, глибину переходів, час на сайті. Важливо налаштувати відстеження конверсійності статей, взаємодію користувачів із формою підписки, блоками перелінкування із комерційними сторінками.</p><p>Детальний аналіз даних допоможе вивчити інтереси користувачів та скоригувати контент-план. Дізнатися, які статті краще заходять ЦА у різних каналах. Визначити відповідний формат, обсяг та частоту публікацій. Зрозуміти, які структурні та візуальні елементи на сторінці потребують оптимізації.</p><h2 id="%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0%D1%94%D0%BC%D0%BE-it-%D0%B1%D0%BB%D0%BE%D0%B3-%D1%89%D0%BE-%D0%B2-%D1%80%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D1%96">Запускаємо IT-блог: що в результаті</h2><p>Так, робота з IT-блогом – це не просто додати розділ «Статті» на сайті та заповнити його текстами з ключами. Такий підхід навряд чи виправдає очікування та інвестиції в створення контенту. Неоптимізовані статті без вказівки авторства з недбалою версткою не додадуть бренду експертності ні в очах користувачів, ні з погляду пошукових роботів.</p><p>‍</p><p>Ефективний IT-блог має бути оптимізований технічно та візуально, а контент має відповідати на такі питання: чому ми – тому що у нас досвід та експерти у команді. Ось кейси на підтвердження. Чогось не знаєте – допоможемо дізнатися та розібратися. Ми в курсі того, що відбувається на ринку та у світових тенденціях Hi-Tech – ми в тренді, нам можна довіряти. Ще не вирішили, що вам підходить – підпишіться на розсилку та отримайте більше корисної інформації. Бажаєте розпочати співпрацю – ось кнопка замовлення послуги, зв'яжіться з нами!</p><p>‍</p><p>Тому, якщо ви вирішили використати IT-блог як додатковий інструмент лідогенерації, рекомендуємо на старті закласти сильну технічну основу та зосередитись на створенні справді корисного експертного контенту та його планомірної дистрибуції вашій ЦА.</p><p>‍</p><h3 id="%D1%82%D0%B0%D0%BA%D0%B0-%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%B5%D0%B3%D1%96%D1%8F-%D0%BF%D1%80%D0%B8%D0%B7%D0%B2%D0%B5%D0%B4%D0%B5-%D0%B4%D0%BE-%D0%B7%D1%80%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%BD%D1%8F-%D0%B2%D1%96%D0%B4%D1%80%D0%B0%D0%B7%D1%83-%D0%BA%D1%96%D0%BB%D1%8C%D0%BA%D0%BE%D1%85-%D0%B1%D1%96%D0%B7%D0%BD%D0%B5%D1%81-%D0%BF%D0%BE%D0%BA%D0%B0%D0%B7%D0%BD%D0%B8%D0%BA%D1%96%D0%B2">Така стратегія призведе до зростання відразу кількох бізнес-показників:</h3><p>‍</p><p>- ТОП-позицій сайту у пошукових системах за ключовими запитами у ніші;</p><p>- трафіку із різних каналів;</p><p>- ресурсу та лояльності до бренду;</p><p>- охоплення ЦА;</p><p>- доходу.</p><p>‍</p><p>Дотримуючись наших рекомендацій, ви зможете проаналізувати поточну ситуацію на проєкті та вирішити питання про доцільність підключення блогу для вашої IT-компанії. Ви можете почати вести блог самостійно, <a href="https://promodo.ua/ua/request_form.html">проконсультуватися з нашими фахівцями</a> або повністю передати інформаційний ресурс до команди зовнішньої редакції.</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Під час пошуку роботи наявність сертифікації дійсно допомагає виділитись з-поміж інших кандидатів. Нині замовники частіше запитують фахівців про підтвердження навичок роботи із Salesforce. Для клієнтів це додатковий показник вашої компетентності, а для спеціалістів — хороший шанс приєднатися до крутого проєкту.


Годі сумніватися, чи потрібна вам сертифікація

Для складання іспиту потрібно щонайменше ]]></description>
        <link>https://proit.ua/siertifikatsiia-salesforce-praktichni-poradi-z-pidghotovki-do-ispitu/</link>
        <guid isPermaLink="false">64614fd33ad50363a6f610f2</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Руслана Федорченко ]]></dc:creator>
        <pubDate>пт, 21 квіт 2023 00:23:00 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/05/7d63e2de-62b7-4eef-a521-674b4baceb34.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>Під час пошуку роботи наявність сертифікації дійсно допомагає виділитись з-поміж інших кандидатів. Нині замовники частіше запитують фахівців про підтвердження навичок роботи із Salesforce. Для клієнтів це додатковий показник вашої компетентності, а для спеціалістів — хороший шанс приєднатися до крутого проєкту.</em></p><h2 id="%D0%B3%D0%BE%D0%B4%D1%96-%D1%81%D1%83%D0%BC%D0%BD%D1%96%D0%B2%D0%B0%D1%82%D0%B8%D1%81%D1%8F-%D1%87%D0%B8-%D0%BF%D0%BE%D1%82%D1%80%D1%96%D0%B1%D0%BD%D0%B0-%D0%B2%D0%B0%D0%BC-%D1%81%D0%B5%D1%80%D1%82%D0%B8%D1%84%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%8F">Годі сумніватися, чи потрібна вам сертифікація</h2><p>Для складання іспиту потрібно щонайменше пів року досвіду роботи з Salesforce. Зазвичай цього часу достатньо, щоб розібратися з основними інструментами платформи та впевнено змінювати наявний функціонал.</p><p>Читайте також: <strong>Як зміниться Twitter, чи потрібна нам вітчизняна соцмережа та як створити колектив лідерів: тиждень у «Спільноті»</strong></p><p>Деякі клієнти відразу шукають Salesforce-розробників із сертифікацією рівня Dev 1/2 або Admin/Advanced Admin. Усе залежить від вимог проєкту. Зазвичай сертифіковані фахівці краще розуміють вимоги клієнтів і добре орієнтуються у Salesforce-клауді, який використовує бізнес. А отже, швидше зможуть надати замовнику якісне рішення.</p><p>Якщо ви ще не маєте сертифікації, можливі два сценарії. Клієнт або запросить вас на інтерв'ю, щоб перевірити рівень знань, або продовжить шукати спеціаліста з потрібною кваліфікацією.</p><h2 id="%D1%8F%D0%BA-%D0%B2%D0%B8%D0%B3%D0%BB%D1%8F%D0%B4%D0%B0%D1%94-%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F">Як виглядає тестування</h2><p>Ви можете скласти іспит онлайн або в одному із сертифікаційних центрів у США. До речі, таку можливість має кожен учасник профільної конференції Dreamforce. На події відведена окрема локація для охочих засвідчити рівень своїх знань.</p><p><strong>Який би формат ви не обрали, дотримуйтеся наступних кроків:</strong></p><ul><li>Зареєструйтеся на платформі <a href="https://trailhead.salesforce.com/" rel="nofollow">Trailhead</a>, оберіть дату, різновид сертифікації та оплатіть її. Також потрібно зареєструватися на сайті <a href="https://www.webassessor.com/wa.do?page=defaultLogin" rel="nofollow">Webassessor</a>. Тут ваш профайл синхронізується з акаунтом на Trailhead. Завдяки цьому після успішного складання кожного іспиту отримані сертифікати будуть відображатися на вашій сторінці на Trailhead.</li><li>Завантажте на комп'ютер локальну <a href="https://sentinels.copernicus.eu/web/sentinel/home" rel="nofollow">програму,</a> яка автоматично заблокує ваш екран на час іспиту. Таким чином організатори піклуються, щоб усе було чесно і ви не могли знайти та скопіювати відповідь з інтернету.</li><li>Заздалегідь перевірте справність вебкамери та мікрофона.</li></ul><p>Якщо скадатимете тест онлайн, за вами спостерігатиме працівник компанії Salesforce. Він може попросити вас показати приміщення, в якому ви перебуваєте. Не дивуйтеся, це теж момент перестороги. Якщо наглядач зафіксує сторонні звуки у вашій кімнаті після початку тестування, вам оголосять попередження або припинять іспит без можливості скласти іншим разом (хоча це трапляється рідко). Тому поставтеся відповідально до вибору місця тестування.</p><p>Не вдалося одразу пройти сертифікацію? Вихід є. За замовчуванням функціонал платформи оновлюється тричі на рік. Із кожним релізом Salesforce вам будуть доступні три спроби для складання тесту. Зазвичай коштує це дешевше, ніж перша спроба.</p><p>Тест містить 60 питань. Вам запропонують підтвердити чи спростувати кілька тверджень з офіційної документації Salesforce або розв'язати ситуативні завдання. Наприклад, на знання основних інструментів чи фреймворків. На все про все 105 хвилин. Щойно час сплине, система відразу підрахує результат і виведе його на екран. Прохідний бал — 75% правильних відповідей. Для деяких сертифікацій цей поріг може бути інший, наприклад, 65%.</p><h2 id="%D0%B3%D0%BE%D1%82%D1%83%D1%94%D0%BC%D0%BE%D1%81%D1%8F-%D0%B4%D0%BE-%D1%81%D0%B5%D1%80%D1%82%D0%B8%D1%84%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%97-%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%96-%D0%BA%D1%80%D0%BE%D0%BA%D0%B8">Готуємося до сертифікації: основні кроки</h2><p>Я впевнена, що у кожного з вас є свої методи підготовки до іспитів. Хтось починає муштрувати теорію за місяць, а хтось сподівається на вдачу і прихильність долі. У будь-якому разі підготовка не завадить.</p><ul><li><strong>Ознайомтесь із <a href="https://www.salesforceben.com/salesforce-certification-pathways/" rel="nofollow">Career Path</a> та оберіть цікаву для вас сертифікацію</strong></li></ul><p>Зазвичай фахівці починають прокачуватися в одній з основних сертифікацій відповідно до свого профілю — <a href="https://trailhead.salesforce.com/en/credentials/administrator" rel="nofollow">Salesforce Administrator </a>або<a href="https://trailhead.salesforce.com/en/credentials/developeroverview/" rel="nofollow"> Salesforce Developer.</a> Згодом ви будете глибше знайомитися з платформою, новими інструментами і продуктами Salesforce. Часто Salesforce-розробники починають цікавитися бізнесом замовника настільки, що врешті знаються на ньому не гірше за клієнта. Або ж вивчають окремий бізнес-домен. Таких спеціалістів долучають до проєктів як експертів, <a href="https://trailhead.salesforce.com/en/credentials/businessanalyst" rel="nofollow">бізнес-аналітиків,</a> <a href="https://trailhead.salesforce.com/en/credentials/marketingoverview/" rel="nofollow">маркетологів</a>. Тож ви зможете підтвердити свою кваліфікацію і за цими напрямами.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--41-.jpg" class="kg-image" alt loading="lazy" width="715" height="462"></figure><p>Мапа кар'єрних можливостей у Salesforce</p><p>Обирати сертифікацію навмання не варто. Замовник вважатиме вас фахівцем своєї справи, але насправді це буде не так. Тому відповідально поставтеся до вибору спеціалізації. Це ваш шанс заявити про себе як про справжнього профі.</p><ul><li><strong>Прочитайте опис вашої сертифікації на <a href="https://trailhead.salesforce.com/" rel="nofollow">Trailhead</a> і зверність увагу на теми для підготовки до іспиту</strong></li></ul><p>Вивчайте рекомендовані трейли і документацію, робіть конспекти. Припустімо, ви складаєте сертифікацію на <a href="https://trailhead.salesforce.com/en/credentials/cpqspecialist" rel="nofollow">CPQ-спеціаліста</a>. У тесті вам може трапитись тема про ціноутворення у Salesforce. Це коли у вас є список продуктів, і вартість кожного окремого типу продукту може відрізнятися. Під час навчання занотовуйте головні моменти. Потім за таким самим принципом візуалізуйте інші теми. Так зможете швидше запам'ятовувати інформацію. Спробуйте пройти пробне тестування з цими підказками, а наступного разу покладайтеся на здобуті знання.</p><ul><li><strong>Зверніться до колег, які вже проходили сертифікації</strong></li></ul><p>Наприклад, ми у своїй команді для зручності створили спільний документ з підготовки до іспиту. Кожен може залишати у ньому запитання, які найбільше запам'яталися з сертифікації або після інтерв'ю із замовником. Ця порада дієва, якщо ви плануєте проходити тестування у межах одного релізу Salesforce.</p><ul><li><strong>Практикуйте тайм-менеджмент</strong></li></ul><p>Виконуючи пробний тест на <a href="https://trailhead.salesforce.com/" rel="nofollow">Trailhead</a> або на іншому сторонньому ресурсі, не гайте часу на запитання, відповідь на які одразу не спадає на думку. Без вагань переходьте до наступних. Повернутися назад і змінити варіант відповіді встигнете завжди.</p><ul><li><strong>Створіть умови, схожі на справжній іспит</strong></li></ul><p>Так ви зрозумієте, наскільки швидко можете впоратись із завданнями, чи оптимальна для онлайн-тестування атмосфера. За результатами іспиту зможете виявити свої слабкі сторони та провести роботу над помилками.</p><h2 id="%D0%BC%D1%96%D0%B9-%D0%B4%D0%BE%D1%81%D0%B2%D1%96%D0%B4-%D1%81%D0%BA%D0%BB%D0%B0%D0%B4%D0%B0%D0%BD%D0%BD%D1%8F-%D1%81%D0%B5%D1%80%D1%82%D0%B8%D1%84%D1%96%D0%BA%D0%B0%D1%86%D1%96%D0%B9-salesforce">Мій досвід складання сертифікацій Salesforce</h2><p>Я прийшла у Salesforce у 2018 році, закінчивши Харківський патентно-комп'ютерний  коледж за спеціальністю «комп'ютерні науки». Потім вступила до ХНЕУ імені С. Кузнеця на факультет економічної інформатики і параллельно проходила освітню програму в NIX за напрямом Salesforce. Поступово я практикувалась у роботі з платформою й опанувала основні можливості цієї CRM-cистеми. Мені захотілося підтвердити рівень здобутих знань і навичок. Я прагнула отримати професійне визнання і стати кваліфікованою експерткою. Це і мотивувало мене скласти одразу три сертифікації:</p><ul><li><a href="https://trailhead.salesforce.com/en/credentials/advancedadministrator" rel="nofollow">Salesforce Certified Administrator</a> та <a href="https://trailhead.salesforce.com/en/credentials/platformdeveloperi" rel="nofollow">Salesforce Certified Platform Developer I.</a> Це початкові сертифікації. Вони підтверджують, що я знайома з основними інструментами платформи, знаю, де, коли і навіщо їх застосовувати. Також розуміюся на тому, як працюють валідації, обмеження і т. д.</li><li><a href="https://trailhead.salesforce.com/en/credentials/pardotconsultant" rel="nofollow">Salesforce Certified Pardot Specialist </a>— сертифікація за вузьким напрямом Pardot. Це окремий застосунок для маркетологів. З його допомогою можна надсилати клієнтам таргетовані листи, стежити, якими продуктами або послугами вони цікавляться. Сертифікація підтверджує моє вміння налаштовувати аплікації та загалом працювати із застосунком. Я знаю все про його обмеження і доступний функціонал.</li><li><a href="https://trailhead.salesforce.com/en/credentials/cpqspecialist" rel="nofollow">CPQ Specialist</a> — цей сертифікат засвідчує, що я володію навичками впровадження Salesforce CPQ (configure, price, quote) і маю достатьо кваліфікації для проєктування та впровадження процесу котирувань.</li></ul><p>На момент отримання перших трьох сертифікацій я навчалася в університеті і працювала. Проте великого навантаження в проєктах не мала. Тому весь вільний час приділяла вивченню матеріалів з Salesforce. Одного разу я намагалася скласти іспит без кропіткої підготовки. Думала, якщо маю досвід роботи з технологією, то мені точно все вдасться. Та моя впевненість не справдилась, що зайвий раз підтверджує: підготовка — половина успіху на іспиті.</p><h2 id="%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D0%B8-%D0%B4%D0%BB%D1%8F-%D0%BF%D1%96%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BA%D0%B8-%D0%B4%D0%BE-%D0%B1%D0%B0%D0%B7%D0%BE%D0%B2%D0%BE%D1%97-%D1%81%D0%B5%D1%80%D1%82%D0%B8%D1%84%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%97-salesforce">Ресурси для підготовки до базової сертифікації Salesforce</h2><ul><li><a href="https://trailhead.salesforce.com/" rel="nofollow">Trailhead</a> — навчальний портал, на якому зібрані всі необхідні модулі, пробні тести та офіційна документація Salesforce.</li><li><a href="https://quizlet.com/ru" rel="nofollow">Quizlet </a>— інтерактивний сервіс, спрямований на вивчення матеріалу шляхом створення наборів карток зі словами і визначеннями, об'єднаних у  модулі та папки.</li><li><a href="https://www.salesforceben.com/get-salesforce-certified/" rel="nofollow">Salesforce Ben</a> — зручно подають матеріал для покрокової підготовки по різним темам.</li><li><a href="https://focusonforce.com/salesforce-certifications/" rel="nofollow">Focus on force</a> — класний сайт, зібрана вся необхідна інформація, але потрібно заводити платний акаунт.</li><li><a href="https://www.udemy.com/" rel="nofollow">Udemy</a> — міжнародна освітня онлайн-платформа з курсами за різноманітними сферами, зокрема Salesforce.</li></ul><p>Знаю, що багато хто дивиться YouTube-канали розробників, готуючись до тесту. Та я не раджу зосереджуватися лише на них. Це додатковий формат, коли незрозумілою є конкретна тема і хочеться розібратися в ній через чийсь реальний досвід.</p><p>Стане у пригоді й Exam guide на Trailhead за обраною сертифікацією. Наприклад, <a href="https://trailhead.salesforce.com/en/help?article=Salesforce-Certified-CPQ-Specialist-Exam-Guide" rel="nofollow">тут</a> ви можете побачити, які теми найбільше слід очікувати на іспиті.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/quote-icon.svg" class="kg-image" alt loading="lazy" width="34" height="22"></figure><p>Ознайомтесь з усіма цими ресурсами, потренуйтесь — і вперед підкорювати нові кар'єрні вершини.</p><p>Буває й так, що скласти іспит з першого разу не вдається. Замість того, щоб опускати руки, проаналізуйте свої результати. Особливу увагу приділіть тим питанням, які виявилися для вас найскладнішими. Знайдіть час для повторення чи поглибленого вивчення матеріалу. Ви вже маєте перший досвід, і він допоможе вам систематизувати необхідні знання. Підготуйтесь і спробуйте знову. Вірте в себе, і тоді вам точно все вдасться.</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ За словами Міністра цифрової трансформації України Михайла Федорова, сьогодні всім нам доводиться працювати фактично в умовах першої світової кібервійни. Тільки за 6 місяців війни росії проти України у 2022 році кіберармією ворога здійснено понад 1,2 тисячі кібератак проти підприємств критичної інфраструктури, вищих органів влади, підприємств фінансового сектору, національних мовників, ]]></description>
        <link>https://proit.ua/kibierbunkier-iak-zbuduvati-nadiinu-sistiemu-zakhistu-vid-atak/</link>
        <guid isPermaLink="false">64614b633ad50363a6f610c6</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Михайло Кудрявцев ]]></dc:creator>
        <pubDate>вт, 18 квіт 2023 23:59:00 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/05/2211.w026.n002.2689B.p1.2689.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>За словами Міністра цифрової трансформації України Михайла Федорова, сьогодні всім нам доводиться працювати фактично в умовах першої світової кібервійни. Тільки за 6 місяців війни росії проти України у 2022 році кіберармією ворога здійснено понад 1,2 тисячі кібератак проти підприємств критичної інфраструктури, вищих органів влади, підприємств фінансового сектору, національних мовників, комерційних компаній всіх галузей економіки України.</p><p>Попри значне підсилення рівня кіберстійкості багатьох українських підприємств та організацій перелічених сфер діяльності у відповідь на критичний рівень загроз з боку кіберзлочинців ворожої країни, починаючи з 2016-2017 р.р. (таргетовані кібератаки на Міністерство фінансів України, Державну Казначейську службу України, віруси Petya/NotPetya), ризик настання катастрофічних наслідків з повною чи частковою втратою чи пошкодженням критично важливих інформаційних активів суб’єктів господарювання, державних установ та організацій України залишаються все ще надзвичайно високими.</p><p>В цих умовах для забезпечення якісного та швидкого відновлення роботи інформаційної системи вашого об’єкту після успішної кібератаки, що, на жаль, не може бути виключена жодним з сучасних методів захисту, є виключно надійна система резервного копіювання або так званих «бекапів».</p><p>Працюючи з відновленням пошкоджених інформаційних активів найбільших державних клієнтів в Україні, що були атаковані у 2016 році, команда "ІТ-Інтегратор" створила високоефективне технологічне рішення КІБЕРБУНКЕР - унікальний механізм гарантованого збереження «золотих копій» бекапів для інформаційних систем будь-якого масштабу та архітектури.</p><p>Побудоване з використанням сертифікованих технічних та програмних засобів від провідних виробників світу, дане рішення доступне для використання на об’єктах з будь-яким рівнем допуску та може бути швидко розгорнуте на підприємствах критичної інфраструктури або для суб’єктів господарювання, що оперують великими масивами критично важливої інформації, державними реєстрами або персональними даними, викрадення яких, пошкодження чи втрата можуть нести катастрофічні наслідки як для їх суб’єкта чи власника, так і для держави в цілому.</p><p>Як працює КІБЕРБУНКЕР?</p><p>Це доволі просте рішення, що гарантує зрозумілі алгоритми дій як для технічної команди клієнта, так і для СЕО чи власника інформаційних активів, що захищаються.</p><p>1. Будуємо захищений ЦОД для зберігання "золотих копій" всієї вашої інформаційної системи або найбільш критичних масивів даних (це може бути фізично ізольоване приміщення з обмеженим доступом персоналу з розміщеними в ньому серверним та іншим обладнанням на майданчику замовника або у будь-якій точці світу за вибором власника активів)</p><p>2. Налаштовуємо спеціальне ПЗ системи КІБЕРБУНКЕР, що сканує та аналізує резервні копії, створені з заданою періодичністю за завданням клієнта, на наявність ушкоджень та прихованих загроз (по завершенню даного аналізу та так званого "карантину" створеного бекапу система автоматично переміщує його в ізольоване сховище, а комунікація з ним через швидкісний криптографічно зашифрований канал зв’язку розривається)</p><p>3. Звіт про успішне створення актуальної "золотої копії" вашої інформаційної системи (або виявлені загрози та причину відхилення її створення) надходить власнику та технічному спеціалісту-уповноваженій особі власника по роботі з КІБЕРБУНКЕРОМ</p><p>4. Система готова до нового циклу резервного копіювання</p><p>Вартість такого рішення корелюється з вартістю та швидкістю роботи системи, повна карта обладнання та програмних комплексів для якої  буде запропонована інженером-консультантом «ІТ-Інтегратор» після заповнення вами короткої анкети.</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Компанії часто ставлять під сумнів ефективність медійних рекламних кампаній, гадаючи, чи охоплюють вони потрібну аудиторію і, чи резонують їхні меседжі.

Наприклад, якщо в межах кампанії було використано медійний флайт під категорію «навушники», чи дійсно люди їх придбали? Або товари з яких саме категорій приносять найбільше продажів під час медіакампанії «Знижки ]]></description>
        <link>https://proit.ua/iak-prodavati-bilshie-za-dopomogoiu-miediinoyi-rieklami-korisni-poradi-dlia-bizniesu/</link>
        <guid isPermaLink="false">6461622d3ad50363a6f6123b</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Марія Кашина ]]></dc:creator>
        <pubDate>пн, 17 квіт 2023 01:39:00 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/05/2448.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Компанії часто ставлять під сумнів ефективність медійних рекламних кампаній, гадаючи, чи охоплюють вони потрібну аудиторію і, чи резонують їхні меседжі.</p><p>Наприклад, якщо в межах кампанії було використано медійний флайт під категорію «навушники», чи дійсно люди їх придбали? Або товари з яких саме категорій приносять найбільше продажів під час медіакампанії «Знижки до 8 березня»?</p><p>Як грамотно й ефективно відстежувати медійну рекламу, як вона впливає на продажі та в яких категоріях — у цій статті даємо невеликий, але корисний гайд.</p><h2 id="%D0%BA%D0%BE%D0%BB%D0%B8-%D0%BF%D0%BE%D1%82%D1%80%D1%96%D0%B1%D0%BD%D0%B0-%D0%BC%D0%B5%D0%B4%D1%96%D0%B9%D0%BD%D0%B0-%D1%80%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D0%B0">Коли потрібна медійна реклама</h2><p>Мета, з якою бізнес, як правило, звертається до медійної реклами, — підвищення своєї ефективності.</p><p>У чому полягає ефективність медійної реклами? Медійна реклама зарекомендувала себе як дієвий засіб роботи з верхніми етапами воронки. Її основна роль полягає в поширенні інформації про бренд та його продукцію, одночасно підвищуючи впізнаваність бренду, розширюючи охоплення та зміцнюючи лояльність споживачів.</p><p>Всі інші інструменти впливають на нижню частину воронки.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/63206a7b1d5ec8504f2c211d_quote--3-.svg" class="kg-image" alt loading="lazy" width="120" height="120"></figure><p>Клієнти звертаються до медійної реклами, виходячи зі своїх цілей. Наприклад, великі бренди, зацікавлені у підвищенні лояльності споживачів або впізнаваності бренду. Також медійна реклама часто використовується для розвитку бізнесу, коли звичайних інструментів недостатньо, наприклад, коли воронка вичерпала себе.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/64109062c84317fa117471dd_2023-03-14-17.17-1.jpg" class="kg-image" alt loading="lazy" width="160" height="160"></figure><h3 id="%D0%B2%D1%96%D1%82%D0%B0%D0%BB%D1%96%D0%B9-%D0%B0%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80%D0%BE%D0%B2-team-lead-of-media-marketing-%D0%B2-promodo">Віталій Александров | Team Lead of Media Marketing в Promodo</h3><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/64108d3c494c47ea0dc80a3b_chat--2-.svg" class="kg-image" alt loading="lazy" width="826" height="450"></figure><p>Про те, як це треба робити, ми розповіли в <a href="https://www.promodo.ua/blog/ne-klikom-iedinim-shcho-hovaietsya-pid-ctr-0-05-mediynoyi-reklami">цій статті.</a></p><p>Для того, щоб зрозуміти, як саме вплинула медійна реклама на продажі, потрібне грамотне технічне налаштування. Що це дасть? Завдяки цьому, наприклад, можна буде дізнатися, що люди, які побачили конкретну медійну рекламу, купили, скажімо, рюкзак, а не сумку.</p><h3 id="%D0%BD%D0%B0%D0%BB%D0%B0%D1%88%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%BD%D0%B5%D0%BE%D0%B1%D1%85%D1%96%D0%B4%D0%BD%D1%96-%D0%B4%D0%BB%D1%8F-%D0%B2%D1%96%D0%B4%D1%81%D1%82%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B2%D0%BF%D0%BB%D0%B8%D0%B2%D1%83-%D0%BC%D0%B5%D0%B4%D1%96%D0%B9%D0%BD%D0%BE%D1%97-%D1%80%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D0%B8">Налаштування, необхідні для відстеження впливу медійної реклами</h3><p>У попередній статті ми детально розглядали один з <a href="https://www.promodo.ua/blog/shcho-take-floodlight-pokrokoviy-posibnik-z-instrumentu-dlya-analizu-mediynih-kampaniy">інструментів аналітики медійної реклами — Floodlight</a> і те, як за допомогою його грамотно налаштовувати аналітику відстеження медійних кампаній.</p><p>Отже, тепер розберемо як саме завдяки флудлайту відстежити потрібні нам дані.</p><p>Після налаштування базових параметрів реалізується додатковий рівень кастомізації для моніторингу конкретних сфер, що становлять інтерес для бізнесу.</p><p>Для цього в налаштовані флудлайти додають передачу кастомних змінних. Ця конфігурація виконується на рівні рекламодавця.</p><p>Надалі, пам'ятаємо, що треба додати флудлайти на рівні конверсії купівлі.<br><br>Під час налаштування бажано зібрати якомога більше даних. Наприклад, якщо клієнт здійснив транзакцію на сайті, які конкретні дані можна отримати з цієї покупки? Щонайменше це мають бути:</p><ul><li>Ідентифікатор транзакцій.</li><li>Категорія.</li><li>Назва товару.</li><li>Прибуток.</li><li>Час здійснення покупки.</li><li>Кількість товарів.</li></ul><p>І інші ярлики та дані.</p><h3 id="%D1%8F%D0%BA-%D1%86%D0%B5-%D0%B7%D1%80%D0%BE%D0%B1%D0%B8%D1%82%D0%B8">Як це зробити?</h3><ul><li>Перейти до Google Tag Manager.</li><li>Відкрити свій флудлайт.</li><li>Додати потрібний параметр.</li></ul><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/6410519a7e52be0d6e8b77b3_yfVZr_fxG7BSUAZY_2zI0vPfO5LLirSmG2HmC-lm_QEimbTpiR8ZZogIJdGZGQ9WHdoLx76XY6RrW9uQRs3_lChJmcUkmyp6u-4VLm_vL9EINlI9AohFuhlVCEY0JbEdCzdI9henqc0nOqLzLUug7gs.png" class="kg-image" alt loading="lazy" width="1600" height="815"></figure><p>Після налаштування отримуємо величезну базу даних для аналізу.<br></p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/641051b892342d3bde7b3bb1_M02auUkAIAVcmHf9OErRxVZRanCJrfrR8A_cPh8SMzECy5q6wrkMs2F-W41ydFswQNu4YznGgV8YvZMX8JThki7vnFxdDpVDYBc4yHal-ZdJgnofAIgsKPFZAGKqmeRQY3UN2GCLEF5qUso80BgW4gM.png" class="kg-image" alt loading="lazy" width="1348" height="296"></figure><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/63206a7b1d5ec8504f2c211d_quote--1-.svg" class="kg-image" alt loading="lazy" width="120" height="120"></figure><p>Такі звіти, залежно від клієнта, можуть містити до 200 000 рядків даних, тому дуже важливо знати, як правильно з ними працювати. Наша команда має досвід аналізу та представлення таких звітів у спрощеній, зрозумілій для бізнесу формі.</p><p><strong>Віталій Александров, Team Lead of Media Marketing в Promodo </strong></p><blockquote>Один із прикладів такої реалізації — звіт для одного з наших клієнтів, а саме, магазину техніки.‍</blockquote><p>Він показує куплені товари в розрізі категорій:</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/64108d54d663d08ff8b0ccb0_Group-5083.svg" class="kg-image" alt loading="lazy" width="790" height="386"></figure><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/641096af494c4751aad33e2b_Group-5103.svg" class="kg-image" alt loading="lazy" width="552" height="374"></figure><p><strong><strong>Що було зроблено</strong></strong>: Для клієнта Х була проведена аналітика щодо того, який сегмент аудиторії купує потрібні нам категорії товарів в розрізі флайту.</p><p><strong><strong>Висновок</strong></strong>: перерозподіл бюджету в сегменти, які купують потрібний нам товар.</p><h2 id="%D0%B7%D0%B0%D0%B3%D0%B0%D0%BB%D1%8C%D0%BD%D1%96-%D1%80%D0%B5%D0%BA%D0%BE%D0%BC%D0%B5%D0%BD%D0%B4%D0%B0%D1%86%D1%96%D1%97-%D1%89%D0%BE%D0%B4%D0%BE-%D0%BD%D0%B0%D0%BB%D0%B0%D1%88%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%BC%D0%B5%D0%B4%D1%96%D0%B9%D0%BD%D0%BE%D1%97-%D1%80%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D0%B8">Загальні рекомендації щодо налаштування медійної реклами</h2><h3 id="%D0%B2%D0%B8%D0%B7%D0%BD%D0%B0%D1%87%D1%82%D0%B5-%D1%81%D0%B2%D0%BE%D1%97-%D1%86%D1%96%D0%BB%D1%96">Визначте свої цілі</h3><p>Визначте, чого ви плануєте досягти за допомогою медійної рекламної кампанії: збільшення відвідуваності вебсайту, зростання продажів чи підвищення впізнаваності бренду.</p><h3 id="%D0%B2%D1%96%D0%B4%D1%81%D1%82%D0%B5%D0%B6%D1%83%D0%B9%D1%82%D0%B5-%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D1%96-%D0%BF%D0%BE%D0%BA%D0%B0%D0%B7%D0%BD%D0%B8%D0%BA%D0%B8">Відстежуйте правильні показники </h3><p>Використовуйте такі інструменти, як <a href="https://www.promodo.ua/blog/shcho-take-floodlight-pokrokoviy-posibnik-z-instrumentu-dlya-analizu-mediynih-kampaniy">Floodlight</a>, щоб відстежувати відповідні метрики: відвідуваність сайту, кількість відмов і коефіцієнт конверсії.</p><h3 id="%D0%B2%D0%B8%D0%B7%D0%BD%D0%B0%D1%87%D1%82%D0%B5-%D0%B2%D1%96%D0%B4%D0%BF%D0%BE%D0%B2%D1%96%D0%B4%D0%BD%D1%96-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D1%96%D1%97-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D1%96%D0%B2">Визначте відповідні категорії товарів</h3><p>Проаналізуйте дані про продажі, щоб визначити, які категорії товарів приносять найбільший дохід, і відповідно скоригуйте свою медійну рекламу.</p><h3 id="%D1%82%D0%B5%D1%81%D1%82%D1%83%D0%B9%D1%82%D0%B5-%D1%82%D0%B0-%D0%B2%D0%B4%D0%BE%D1%81%D0%BA%D0%BE%D0%BD%D0%B0%D0%BB%D1%8E%D0%B9%D1%82%D0%B5">Тестуйте та вдосконалюйте</h3><p>Постійно тестуйте та вдосконалюйте свої медійні рекламні кампанії, щоб оптимізувати ефективність та досягти бажаних результатів.</p><h2 id="%D0%B2%D0%B8%D1%81%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8">Висновки</h2><p>З розвитком технологій змінюються і наші підходи до медійної реклами. Часи, коли ми просто купували Х показів за Х грошей, давно минули. Сьогодні використання аналітики дає змогу нам вимірювати вплив медійної реклами більш тонко та інформативно, класифікуючи її вплив на бізнес-результати та продажі.</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Під час запуску Spring-програм у хмарі не обійтися без Spring Cloud. Він помітно спрощує та пришвидшує всі операції. Інструменти Spring Cloud дозволяють легко створювати та розгортати у хмарі застосунки. Також є можливості для управління Discovery Server, менеджменту конфігурацій, роутингів.

Хоча модулі Spring Cloud призначені для застосунків на мікросервісній архітектурі, деякі ]]></description>
        <link>https://proit.ua/spring-cloud-instrumienti-dlia-rozrobnikiv/</link>
        <guid isPermaLink="false">646156563ad50363a6f61165</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  Дмитро Чоломбитько ]]></dc:creator>
        <pubDate>ср, 12 квіт 2023 00:50:00 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/05/spring-cloud-tutorial-310320.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p></p><p>Під час запуску Spring-програм у хмарі не обійтися без Spring Cloud. Він помітно спрощує та пришвидшує всі операції. Інструменти Spring Cloud дозволяють легко створювати та розгортати у хмарі застосунки. Також є можливості для управління Discovery Server, менеджменту конфігурацій, роутингів.</p><p>Хоча модулі Spring Cloud призначені для застосунків на мікросервісній архітектурі, деякі з них можна використовувати у звичайних спрингових програмах. Наприклад, таким є сервер конфігурацій.</p><p>Натепер існує понад 30 модулів для Spring Cloud. Вони охоплюють буквально всі напрями роботи у хмарі. Якщо у вас виникла якась проблема, пов'язана з розгортанням застосунку у хмарі, то, ймовірно, її можна вирішити за допомогою одного з цих модулів:</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--4--1.jpg" class="kg-image" alt loading="lazy" width="715" height="309"></figure><p>Модулі Spring Cloud</p><h2 id="discovery-server-%E2%80%94-%D1%89%D0%BE-%D1%86%D0%B5">Discovery Server — що це?</h2><p>Рідко у хмарі запускається одна копія кожного з пов'язаних мікросервісів. Щоб забезпечити стабільність програми та підвищити її продуктивність, варто розгорнути кілька інстансів. Однак тоді буде складно вирішити, як краще організувати спільний доступ кількох мікросервісів. Не зрозуміло, як їм дізнаватися про актуальний шлях один до одного, як балансувати навантаження, як керувати помилками.</p><p>Одне з поширених рішень — розмістити мікросервіси під балансувальник навантаження. Це дозволить створити єдину для всіх копій DNS-адресу, через яку надходитимуть звернення та будуватимуться зв'язки. Також ви зможете налаштувати балансування навантаження та хелсчеки, щоб керувати падіннями мікросервісів.</p><p>Зауважу, що балансувальники мають кілька обмежень. По-перше, такі інструменти дорогі. По-друге, їх треба створювати окремо для кожного окремого типу мікросервісів. У такому разі у великих проєктах можуть знадобитися сотні таких тулзів. Якщо йдеться, наприклад, про Internal Cloud, то все це стає занадто складним і врешті непотрібним.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image-1.jpg" class="kg-image" alt loading="lazy" width="715" height="323"></figure><p>Spring Cloud</p><p>На допомогу приходить Discovery Server. По суті, це спеціальна нода в клауді, яка реєструє всі мікросервіси всередині хмари. Мікросервіс надсилає запит до Discovery Server, а той заносить його до свого реєстру. Коли до цього мікросервісу захоче звернутися інший мікросервіс, все станеться автоматично. Нам навіть не треба знати шлях у застосунку до початкового сервісу. З реєстром у Discovery Server ми можемо легко зматчити відповідні ім'я та шлях. Це можливо завдяки зв'язці, що описує шлях до сервісу, який він сам і надав під час реєстрації.</p><p>З Discovery Server балансування навантаження переходить від провайдера до клієнта. В результаті ви можете обрати будь-який інструмент для балансування навантаження  і налаштувати в ньому будь-які правила без огляду на обмеження провайдера. Також Discovery Server допомагає кешувати шляхи. У разі виклику мікросервісу із закешованим шляхом не потрібно звертатися до реєстру. Так ви зекономите кілька мілісекунд, а це важливо за умови жорсткого latency.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--66-.jpg" class="kg-image" alt loading="lazy" width="715" height="226"></figure><p>Spring Cloud</p><h2 id="%D1%8F%D0%BA-%D0%BF%D1%80%D0%B0%D1%86%D1%8E%D0%B2%D0%B0%D1%82%D0%B8-%D0%B7-discovery-server">Як працювати з Discovery Server</h2><p>Один із прикладів Discovery Server — Spring Cloud Eureka. Інструмент розробили у Netflix, та згодом він став opensource-продуктом. Eureka має альтернативи, що підтримуються в Spring Cloud: Apache Zookeeper, Consul та Kubernetes для Docker.</p><p>Для застосування будь-якого Discovery Server у Spring Cloud треба створити проєкт із використанням серверної залежності. Далі включити цей сервер завдяки анотації, а потім задізейблити клієнтський модуль за допомогою проперті у конфігурації.</p><p>У Spring Boot програм за замовчуванням є клієнтський проперті для підключення до цього сервера. І якщо не задізейблити все на сервері, він намагатиметься підключитися до самого себе. На стороні клієнта ще простіше — варто лише додати клієнтську залежність. Для зручності також можна прописати параметр зі спеціальним ID цієї ноди. Тоді за наявності Eureka Server на локальному хості за портом 8761 підключення буде автоматичним.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--2--1.jpg" class="kg-image" alt loading="lazy" width="715" height="309"></figure><p>Spring Boot</p><p>Розглянемо для прикладу найпростіший Eureka Server.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--3-.jpg" class="kg-image" alt loading="lazy" width="715" height="197"></figure><h3 id="eureka-server">Eureka Server</h3><p>У ньому є стандартна залежність із netflix-eureka-server.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--4--2.jpg" class="kg-image" alt loading="lazy" width="715" height="181"></figure><h3 id="%D1%96%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B8-spring-cloud-%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%BD%D0%B8%D0%B9-%D2%91%D0%B0%D0%B9%D0%B4-%D0%B4%D0%BB%D1%8F-%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D0%BD%D0%B8%D0%BA%D1%96%D0%B2">Інструменти Spring Cloud: практичний ґайд для розробників</h3><p>Майже в кожен застосунок додано актуатор. Це дозволяє трекати стан ноди.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--5-.jpg" class="kg-image" alt loading="lazy" width="715" height="115"></figure><p>Також тут є лише один стартовий клас main.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--6-.jpg" class="kg-image" alt loading="lazy" width="715" height="163"></figure><p>Вся магія створюється конфігурацією та однією залежністю. Вона вказує, що ми хочемо підняти сервер на порту 8761, що це Discovery Server і відключення всіх клієнтських проперті.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--8-.jpg" class="kg-image" alt loading="lazy" width="715" height="335"></figure><p>Також є застосунок, middle client. Він буде підключатися до сервера та реєструвати себе. Це звичайний Spring WebClient, який повертає просте ping-повідомлення з ім'ям програми та ID її інстансу.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--9-.jpg" class="kg-image" alt loading="lazy" width="715" height="335"></figure><p>У цьому випадку мені довелося витягнути залежність EurekaClient, щоб показати ID кожної ноди. Далі я запущу три копії цього інстансу в окремих консолях.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--10-.jpg" class="kg-image" alt loading="lazy" width="715" height="221"></figure><p>У параметрах у мене вказаний порт 0, тому порти будуть різні, і нам не треба буде самостійно мапити їх.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--11-.jpg" class="kg-image" alt loading="lazy" width="715" height="174"></figure><p>Також кожен інстанс має свій ID.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--12-.jpg" class="kg-image" alt loading="lazy" width="715" height="349"></figure><p>Викликати цей middle client без використання URL буде інший застосунок. Він є стороннім HTTP-клієнтом.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--13-.jpg" class="kg-image" alt loading="lazy" width="715" height="336"></figure><p>У цього клієнта є залежність у вигляді Eureka-клієнту.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--14-.jpg" class="kg-image" alt loading="lazy" width="715" height="339"></figure><p>В обох випадках є найпростіший метод ping, який буде викликатися віддалено.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--15-.jpg" class="kg-image" alt loading="lazy" width="715" height="123"></figure><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--16-.jpg" class="kg-image" alt loading="lazy" width="715" height="158"></figure><p>Цей метод робитиме remote call на middle client.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--17-.jpg" class="kg-image" alt loading="lazy" width="715" height="131"></figure><p>При цьому в URL використовується назва самого клієнта.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--18-.jpg" class="kg-image" alt loading="lazy" width="715" height="89"></figure><p>У результаті можна передавати назву потрібних сервісів і використовувати їх в URL для віддаленого виклику без повного шляху до сервісу.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--19-.jpg" class="kg-image" alt loading="lazy" width="715" height="100"></figure><p>Запущений Eureka Server можна отримати за портом 8761. У Spring для цього клієнта є повноцінний UI, який показує стан хмари. Тут можна знайти багато корисної інформації. Це можуть бути технічні дані. Наприклад, час сервера, аптайм, кількість пам'яті тощо.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--20-.jpg" class="kg-image" alt loading="lazy" width="715" height="256"></figure><p>Eureka Server</p><p>В окремій таблиці відображаються інстанси. У нас вже зареєструвалося три копії middle client.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--21-.jpg" class="kg-image" alt loading="lazy" width="715" height="281"></figure><p>Можна перейти на актуатор або викликати його метод ping, який покаже ID клієнта. Цей номер є випадковим для кожного мікросервісу та не повинен повторюватися.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--22-.jpg" class="kg-image" alt loading="lazy" width="715" height="47"></figure><p>Також після запуску та реєстрації тут з'являється HTTP-клієнт.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--23-.jpg" class="kg-image" alt loading="lazy" width="715" height="123"></figure><p>При виклику методу ping на цьому кордонному HTTP-клієнті ми будемо отримувати відповідь від іншого клієнта без використання URL, тільки на основі імені.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--24-.jpg" class="kg-image" alt loading="lazy" width="715" height="63"></figure><p>Ми запустили три копії. Балансування навантаження між ними виконується на стороні клієнта, це описується інструкцією LoadBalance. Завдяки цьому відбувається послідовний виклик кожного сервісу, доступний із Discovery Server.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--25-.jpg" class="kg-image" alt loading="lazy" width="715" height="352"></figure><p>ID сервісу щоразу змінюється. Тобто балансування працює лише за рахунок однієї анотації. При вимкненні кожного застосунку в Discovery Server надходитиме повідомлення про падіння і можливість відключення.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--26-.jpg" class="kg-image" alt loading="lazy" width="715" height="43"></figure><p>Описаний приклад — найпростіший. І балансування, і керування розумними шляхами ви можете кастомізувати під свої завдання.</p><h2 id="%D0%BD%D0%B0%D0%B2%D1%96%D1%89%D0%BE-%D0%BF%D0%BE%D1%82%D1%80%D1%96%D0%B1%D0%BD%D1%96-%D1%80%D0%B5%D0%BF%D0%BB%D1%96%D0%BA%D0%B8-eureka">Навіщо потрібні репліки Eureka</h2><p>Discovery Server є центральною ланкою інфраструктури, тому цей інструмент повинен мати високий запас міцності. При падінні Discovery Server клієнти можуть деякий час прожити і без нього, якщо вони робили якісь запити і на стороні клієнта є кешування. Однак усі нові копії під час спроби реєстрації будуть періодично видавати повідомлення на кшталт «Я не можу підключитися». Тому для Discovery Server теж вигадали реплікацію. В Eureka вона майже нативна та працює завдяки тому, що сам сервер стає клієнтом.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--27-.jpg" class="kg-image" alt loading="lazy" width="715" height="265"></figure><p>Розглянемо роботу реплікації. На ілюстрації — застосунок з одним main-класом. Це і є Discovery Server.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--28-.jpg" class="kg-image" alt loading="lazy" width="715" height="340"></figure><p>Для створення реплікації на цьому сервері потрібно вказати в client property інший Discovery Server.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--29-.jpg" class="kg-image" alt loading="lazy" width="715" height="337"></figure><p>У моєму прикладі трохи більше проперті. Якщо кілька копій намагаються зареєструватися одна в одній, то їм для коректного виконання цієї процедури потрібен певний threshold.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--30-.jpg" class="kg-image" alt loading="lazy" width="715" height="158"></figure><p>У нас є дві конфігурації, peer1 та peer2, які працюють на різних портах. Не можна запустити репліки на одній локальній машині, тому що Eureka прив'язується до назви хоста. Доводиться йти на хитрощі і прописувати hostname в DNS-параметрах hosts в папці C:/Windows/System32/drivers/etc/. Інакше це все просто не запрацює.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--33-.jpg" class="kg-image" alt loading="lazy" width="715" height="121"></figure><p>Запускаємо peer1…</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--34-.jpg" class="kg-image" alt loading="lazy" width="715" height="133"></figure><p>Завдяки наявності двох реплік можна показати, як вони взаємодіють одна з одною. Запускати peer2 краще одночасно з першим.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--35-.jpg" class="kg-image" alt loading="lazy" width="715" height="130"></figure><p>Якщо пауза між стартами буде занадто великою, то перша репліка не зможе знайти другу і видаватиме помилку.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--36-.jpg" class="kg-image" alt loading="lazy" width="715" height="332"></figure><p>Саме з цієї причини я виставив threshold у 30 секунд. Так репліки встигнуть синхронізуватись.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--37-.jpg" class="kg-image" alt loading="lazy" width="715" height="337"></figure><p>Після запуску одного з інстансів на порті 8081 буде видно репліку 1. У реєстрі Discovery Server вона представлена у двох примірниках:</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--38-.jpg" class="kg-image" alt loading="lazy" width="715" height="331"></figure><p>Також вона показує, що має репліку на порті 8082.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--39-.jpg" class="kg-image" alt loading="lazy" width="715" height="188"></figure><p>При відкритті цього порту ситуація стає прямо протилежною — там видно репліку на 8081.</p><figure class="kg-card kg-image-card"><img src="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/image--40-.jpg" class="kg-image" alt loading="lazy" width="715" height="192"></figure><p>Тож у разі падіння Discovery Server така проста реплікація зробить ваш застосунок та хмарну інфраструктуру надійнішою.</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Кожен бізнес-аналітик хоча б раз стикався з клієнтами, які постійно приходять до команди із change requests — запитами на певні зміни у вимогах. Подекуди замовники ставляться до цього несерйозно. Можуть забувати про свої прохання чи взагалі згодом заперечувати їх. Щоб уникнути таких проблем, бізнес-аналітику варто комплексно підходити до процесу. А саме ]]></description>
        <link>https://proit.ua/shange-requests-chieklist-dlia-biznies-analitikiv/</link>
        <guid isPermaLink="false">64614cd23ad50363a6f610d5</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[  NIX Team ]]></dc:creator>
        <pubDate>сб, 01 квіт 2023 00:07:00 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/06/individuality-women39s-leadership-concept-individual-unique-leader-pink-paper-airplane-changing-direction.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p><em>Кожен бізнес-аналітик хоча б раз стикався з клієнтами, які постійно приходять до команди із change requests — запитами на певні зміни у вимогах. Подекуди замовники ставляться до цього несерйозно. Можуть забувати про свої прохання чи взагалі згодом заперечувати їх. Щоб уникнути таких проблем, бізнес-аналітику варто комплексно підходити до процесу. А саме грамотно продумати обробку подібних запитів.</em></p><p><strong><em>Бізнес-аналітики IT-команди NIX діляться власним чеклістом, щоб допомогти всім колегам.</em></strong></p><h2 id="1-%D0%BA%D0%BE%D1%80%D0%BE%D1%82%D0%BA%D1%96-%D0%BD%D0%BE%D1%82%D0%B0%D1%82%D0%BA%D0%B8-%D0%B7%D0%B0-%D0%BF%D1%96%D0%B4%D1%81%D1%83%D0%BC%D0%BA%D0%B0%D0%BC%D0%B8-%D0%BC%D1%96%D1%82%D0%B8%D0%BD%D0%B3%D1%96%D0%B2">1. Короткі нотатки за підсумками мітингів</h2><p>Зазвичай їх називають «мітинг-хвилинками». Це ключові моменти, які ви обговорили із замовником та можете сходу переказати їх. Що мають містити такі нотатки:</p><ul><li>Дату та назву мітингу. Вони допоможуть зорієнтуватися в документації.</li><li>Детальний зміст щодо зміни вимог. Інформація буде корисною для тих учасників команди, які не брали участь в обговоренні. Пропишіть у документі ключові слова, за якими пізніше зможете легко знайти його.</li><li>Необхідність чейндж реквесту. Опишіть причини змін до вимог. Так команда чітко розумітиме, навіщо це робиться, а замовник за потреби зможе відновити деталі розмови.</li><li>Терміни оцінки. Напишіть клієнту, що сhangelog з новим естімейтом ви надасте йому, як тільки надішлете всім цю «мітинг-хвилинку».</li><li>Додаткову інформацію. Наприклад, документація, необхідна для внесення змін.</li></ul><p>Радимо продублювати повідомлення у кілька каналів комунікації з клієнтом. Наприклад, ми у себе використовуємо Slack та email. Так ви знизите ймовірність того, що замовник не помітить або загубить повідомлення в одному з каналів.</p><h2 id="2-%D0%B0%D0%BD%D0%B0%D0%BB%D1%96%D0%B7-%D1%87%D0%B5%D0%B9%D0%BD%D0%B4%D0%B6-%D1%80%D0%B5%D0%BA%D0%B2%D0%B5%D1%81%D1%82%D1%83">2. Аналіз чейндж реквесту</h2><p>Далі варто заглибитись у суть запиту. На що варто звернути увагу, досліджуючи  change request:</p><ul><li>Зрозуміти об'єм необхідних змін.</li><li>Розібрати, які плануються покращення у користувальницькому флоу.</li><li>Розрахувати вплив цих змін на перебіг та результати проєкту.</li><li>Визначити, хто з учасників команди працюватиме над змінами і чи потрібні додаткові фахівці.</li></ul><h2 id="3-%D0%BE%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B7%D0%BC%D1%96%D0%BD-%D1%96%D0%B7-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BE%D1%8E">3. Обговорення змін із командою</h2><ul><li>Заплануйте мітинг</li></ul><p>Іноді команди не хочуть обговорювати чейндж реквести на щоденних мітингах або вчитуватись у зміни в документації. Тому зручніше і швидше провести спільну зустріч, присвячену лише новому запиту.</p><ul><li>Поясніть колегам, що має змінитися і чому</li></ul><p>Розкрийте всі деталі та опишіть передбачувані наслідки як у продукті, так і в процесі розробки.</p><ul><li>Підготуйте пропозиції</li></ul><p>Вислухайте оцінки чейндж реквесту від команд. Обговоріть можливі сценарії реалізації або доопрацювання змін, які зроблять їх кращими. Потім поділіться ідеями з клієнтом.</p><ul><li>Донесіть запит на зміни до всіх стейкхолдерів</li></ul><p>Кожна зацікавлена особа на проєкті повинна знати, що відбувається і чому, які наслідки від цих змін слід очікувати. Повідомте кожного про кроки, які плануються.</p><p>Зверніть увагу на останній пункт. Варто синхронізувати всіх учасників процесу для пошуку єдиного виваженого рішення. Одного разу в одному проєкті на боці замовника у нас був техлід, який не зважав на сторонні пропозиції. Він «різав» буквально всі ідеї щодо технічної імплементації. Це дуже позначалося на настрої та мотивації нашої команди. В результаті ми вирішили залучити до обговорень ще й інших стейкхолдерів. Нам вдавалося збирати багато різних точок зору і знаходили найкращий варіант реалізації чейндж реквесту. Тут головне — пояснити замовнику причину ескалації, тобто розширення кола учасників таких мітингів.</p><h2 id="4-%D0%BE%D1%86%D1%96%D0%BD%D0%BA%D0%B0-%D0%B7%D0%B0%D0%BF%D0%B8%D1%82%D1%83">4. Оцінка запиту</h2><p>Часто замовники просять вказати кінцеві терміни впровадження змін. Це зрозуміла річ. Однак у разі великої кількості чейндж реквестів можуть виникнути проблеми з естімейтом. Впорядкуйте процес наступним чином:</p><ul><li>Створіть канал для оцінки. Ми запускаємо його в Slack, де я в окремих повідомленнях описую конкретні зміни.</li><li>Надайте вдосталь потрібної інформації. Доповнюйте повідомлення важливими для розробників даними, наприклад, посиланням на дизайн.</li><li>Запитайте у команди про реальний естімейт. Попросіть колег якомога точніше оцінити кількість годин на виконання конкретного чейнджу.</li><li>Якщо наразі складно дати оцінку естімейту, повідомте про це клієнта. Так може статися, скажімо, через необхідність застосувати ще незнайомі розробникам технології. Поясніть замовнику причини затримки з оцінкою робіт і обов'язків додайте: як тільки технічні фахівці глибше розберуться в темі, ви надасте точну оцінку.</li><li>Просіть оцінювати навіть реалізовані зміни. Іноді ще до відправки чейнджлогу розробники можуть зробити невеликі зміни. Підготовка естімейту їм може здаватися нелогічною у такому випадку, але все одно це структурує інформацію і важливо для замовника.</li><li>Фіксуйте прогрес втілення змін. Відмічайте чейндж реквести, які вже опрацьовані та реалізовані. Особисто я у Slack використовую для цього стікери. Вони допомагають зрозуміло сортувати документацію.</li></ul><h2 id="5-%D1%81%D1%82%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F-%D1%82%D0%B0%D1%81%D0%BA%D1%96%D0%B2">5. Створення тасків</h2><p>Використовувати можете будь-яку зручну вам систему. Тут весь процес описується на прикладі Jira, з якою працює наша команда. Під кожен change request ми створюємо окремий таск. Що важливо пам'ятати:</p><ul><li>Вказуйте лейбл «change request». Так вам буде легше сортувати всі завдання на проєкті.</li><li>Перелінкуйте таски. Завдання, які стосуються нових змін, потрібно пов'язати з вихідним таском функції, що обговорюється. Це зробить прозорим і зрозумілим процес впровадження змін.</li><li>Додайте естімейт. Оцінка має бути вказана з термінами реалізації чейнджу.</li><li>Проставте спринт. Позначте, в якому спринті команда візьме в роботу цю задачу. Клієнт повинен знати, коли конкретно розробники почнуть впроваджувати зміни. Самого лише естімейту недостатньо. Припустимо, задачу оцінено в три дні. Замовник може думати, що відлік часу починається сьогодні. На демо від нього ви можете почути щось на кшталт: «Я у вівторок сказав це виправити, а ви ще навіть не взялися». Тому раджу чітко позначити старт роботи і наголосити клієнту — він не буде миттєвим у цьому ж спринті.</li></ul><h2 id="6-%D1%84%D0%BE%D1%80%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D1%87%D0%B5%D0%B9%D0%BD%D0%B4%D0%B6%D0%BB%D0%BE%D0%B3%D1%83">6. Формування чейнджлогу</h2><p>Цей документ дозволяє структурувати та зафіксувати всі обговорення та процес втілення змін. Щоб простіше працювати з журналом чейндж реквестів…</p><ul><li>Тримайте чейнджлог окремо. Ми в команді маємо спеціальну сторінку в Confluence в розділі Supplementary Documentation.</li><li>Надсилайте журнал окремою гілкою. Для листів із чейнджлогами варто завести призначений лише для таких документів ланцюжок повідомлень.</li><li>Відправляйте по кілька листів. Як правило, надсилаємо пачку мейлів наприкінці тижня, аби щодня не завантажувати клієнта повідомленнями.</li></ul><h3 id="%D1%89%D0%BE-%D0%BC%D0%B0%D1%94-%D0%BC%D1%96%D1%81%D1%82%D0%B8%D1%82%D0%B8-%D0%B7%D1%80%D0%B0%D0%B7%D0%BA%D0%BE%D0%B2%D0%B8%D0%B9-%D1%87%D0%B5%D0%B9%D0%BD%D0%B4%D0%B6%D0%BB%D0%BE%D0%B3">Що має містити зразковий чейнджлог:</h3><p>У заголовку варто вказати дату отримання запиту на зміни. Можна додати ще й назву мітингу, де ви обговорювали чейндж реквест (для зручності клієнта). У кожному чейнджлозі прописати порядковий номер і тип змін. Можете використовувати наступні варіації:</p><ul><li>Added — для запитів на нові фічі, що розширюють скоуп робіт.</li><li>Changed (tech implementation) — для змін у технічній імплементації.</li><li>Changed (requirements — Backlog features (BF)) — для чейндж реквестів, які ще не брали в роботу.</li><li>Changed (requirements — Completed features (CF)) — для впроваджених змін або тих, що досі в роботі.</li><li>Removed — для вилучених зі скоупу фічей.</li></ul><p>Інші обов'язкові поля чейнджлогу включають:</p><ul><li>Change description — стислий опис змін для замовника.</li><li>Initiator — автор запиту (пишемо ім'я клієнта).</li><li>Reasons — причини внесення змін за словами їх ініціатора.</li><li>Ensuing consequences — ключові результати аналізу запиту клієнта і подальших змін, які запустить цей чейндж.</li><li>Effort consequences — перелік учасників команди, які будуть задіяні в роботі над чейндж реквестом.</li><li>Timeline impact — естімейт від розробників.</li><li>Jira / Confluence — посилання на документацію і таски, пов'язані з чейндж реквестом.</li><li>References — посилання на «мітинг-хвилинки» з коментарями по датам і ключовим словам.</li><li>Additional links — інша додаткова інформація (наприклад, посилання на дизайн чи оновлену архітектуру).</li></ul><h2 id="7-%D0%BE%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D1%96%D1%97">7. Оновлення документації</h2><p>Фінальний етап обробки чейндж реквесту — зробити айдейт усієї документації за проєктом. Сюди входять:</p><ul><li>Вимоги</li><li>Технічний дизайн</li><li>Проєктні плани</li><li>Тест-плани</li><li>Навчальна документація</li><li>Документація з бізнес-процесів</li></ul><p>Як бачите, обробка змін до вимог є доволі об'ємною роботою. Однак ваші зусилля варті того, адже зроблять комунікацію з клієнтом прозорішою і менш стресовою. Особливо якщо, одразу отримавши новий запит, ви правильно налаштуєте процеси у команді. Спробуйте цей чекліст — і нехай вам все вдається!</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Будь-який бізнес у процесі масштабування ставить питання, пов'язані зі збільшенням потреб у продуктивності. А також визначає, як безпечно зберігати велику кількість даних компанії, яких з кожним днем стає дедалі більше. Сьогодні постійно докуповувати, збільшувати парк IT-обладнання не завжди доцільно через різні фактори. Прикладами можуть бути вимоги до швидкого впровадження нових ]]></description>
        <link>https://proit.ua/chomu-u-voiennii-chas-khmarni-tiekhnologhiyi-dopomozhut-ubiezpiechiti-biznies/</link>
        <guid isPermaLink="false">64615aba3ad50363a6f61198</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Олександр Щербак ]]></dc:creator>
        <pubDate>ср, 18 трав 2022 01:04:00 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/05/hand-holding-cloud-system-with-data-protection.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p>Будь-який бізнес у процесі масштабування ставить питання, пов'язані зі збільшенням потреб у продуктивності. А також визначає, як безпечно зберігати велику кількість даних компанії, яких з кожним днем стає дедалі більше. Сьогодні постійно докуповувати, збільшувати парк IT-обладнання не завжди доцільно через різні фактори. Прикладами можуть бути вимоги до швидкого впровадження нових сервісів, масштабування відповідно до ринкових вимог, а також забезпечення безперебійної роботи бізнесу.</p><p>Організація резервних майданчиків для зберігання даних, резервного копіювання та кібербезпеки стали основними викликами для бізнесу після вторгнення РФ на територію України. Але вирішення цих питань вимагає як обчислювальних ресурсів, так і часу на організацію процесів такої схеми роботи. Як результат, ми бачимо сьогодні експоненційне зростання використання хмарних сервісів наших клієнтів. Як один із останніх прикладів - міграція в хмару понад 270 сервісів Приват Банку, а також понад 4 петабайти клієнтських даних.</p><p>Останні 5 років бізнес активно використовує технології для оптимізації та забезпечення стабільності бізнес-процесів, зберігання даних та інших завдань. Найпоширеніші способи перенесення навантажень – це локальні ЦОД (центр обробки даних) та хмарні технології.</p><p>ЦОД - це локальні серверні (дата центри), де «крутяться» дані клієнтів (бізнесу). Якщо раніше компанії купували необхідне обладнання в серверні, щоб розміщувати свою ІТ-інфраструктуру, то зараз ми вже спостерігаємо інший підхід, тому що по всьому світу і в Україні є комерційні ЦОДи, які пропонують різні можливості розміщення, а також обслуговують запити бізнесу по ряду інших завдань.</p><p>Через масштабні бойові дії в Україні робота дата центрів під загрозою, оскільки територія країни знаходиться під постійними обстрілами армією РФ, тому навіть власники серверних не можуть дати гарантії, що дата центрів не постраждають.</p><p>З цієї причини бізнес, особливо великий, розпочав активну міграцію даних у «хмару». «Хмара» - це насамперед можливість розгорнути свою ізольовану (безпечну) ІТ-інфраструктуру на базі вибраного хмарного провайдера. При міграції даних у «хмару» клієнт має можливість зберегти бізнес-процеси та дані та продовжити роботу навіть у воєнний час. Формально зараз перехід в «хмару» знижує залежність від наземних ЦОД в Україні, які можуть бути зруйновані в ході обстрілів армією РФ.</p><p>Зараз послуга міграції в «хмару» або допомогу в розгортанні з бекапів, а також побудова резервного альтернативного майданчика на базі хмарної інфраструктури стає більш актуальною в нашій країні та в регіонах бойових дій, адже бізнес, який працював із наземними майданчиками, не маючи хмарної альтернативи початку повномасштабної війни, зупинився.</p><p>«Хмара» не панацея, але має низку переваг.</p><p>Переважно великий бізнес працює у «хмарі», оскільки у процесі розвитку та масштабування компанія та її потреби у продуктивності збільшуються у кілька разів. В основному хмарні технології використовує рітейл, IT-бізнес, девелопери, фінтех і т.д.</p><p>«На прикладі нашої компанії, ми помітили, що кількість звернень із запитами щодо хмарних сервісів зросла порівняно з довоєнними показниками – їх побільшало. Бізнес розуміє, що в умовах воєнного часу дуже важливо убезпечити дані компанії та забезпечити подальшу роботу всього підприємства», - зазначає Олександр Щербак.</p><p>При роботі з хмарною інфраструктурою бізнес отримує низку можливостей, а саме:</p><ul><li>Завдяки можливості рішень для створення бекапів (резервних копій) зберегти свої дані від втрати.</li><li>Захистити бізнес-сервіси “вже сьогодні” від численних кібератак, яких побільшало за останні роки, особливо з настанням повномасштабної війни в Україні.</li><li>Організувати віддалену роботу працівників.</li><li>При правильному підході до ІТ – оптимізувати бізнес-процеси та бюджет компанії.</li><li>Для чого потрібний компетентний IT-партнер</li><li>Робота з хмарними сервісами це новий досвід для багатьох клієнтів.</li></ul><p>Важливо знайти досвідченого ІТ-партнера, який не лише закриє завдання з міграції даних у хмару, а й надасть рекомендації щодо оптимального вибору хмарного провайдера, суміжних рішень щодо забезпечення кібербезпеки. Крім цього, ІТ-партнер може надати рекомендації з урахуванням спеціальних пропозицій від виробників, про які не завжди може бути відомо бізнесу.</p><p>Наприклад, «IT-Інтегратор» агрегував усі спеціальні умови, які надають виробники на період військової агресії для українських компаній та надає цю інформацію всім клієнтам компанії.</p><p>Таких продуктів є досить велика кількість у сферах організації комунікацій, кібербезпеки, а також хмарних сервісів. Щербак зазначив, що для своїх замовників компанія пропонує комплексне рішення з урахуванням «промо» пропозицій від виробників, для того щоб кінцеве рішення було найбільш оптимальне як з точки зору функціоналу, так і ціни.</p><p>Послуги провайдерів та консалтингу коштують грошей, але ця співпраця мінімізує ризики та грошові витрати, тому що бізнесу доведеться лише щомісяця платити абонплату за сервіс.</p> ]]></content:encoded>
    </item>
    <item>
        <description><![CDATA[ Сьогодні КНР є одним із провідних світових виробників різноманітного високотехнологічного обладнання. Серед найбільш відомих широкому колу користувачів можна назвати компанії Xiaomi, ZTE та низку інших. У вузьких колах профільних фахівців добре відомі такі бренди, як Hikvision, Dahua, Hytera, DJI тощо.

До речі, якраз останні з названих компаній є виробниками систем ]]></description>
        <link>https://proit.ua/chomu-kitaiski-droni-nie-naikrashchi-biezpilotniki-pid-chas-viini/</link>
        <guid isPermaLink="false">646159883ad50363a6f61187</guid>
        <category><![CDATA[ Блоги ]]></category>
        <dc:creator><![CDATA[ Олексій Швачка ]]></dc:creator>
        <pubDate>ср, 13 квіт 2022 01:00:00 +0300</pubDate>
        <media:content url="https://s3-eu-central-1.amazonaws.com/proit.prod/2023/05/quadcopter-flying-nature.jpg" medium="image"/>
        <content:encoded><![CDATA[ <p></p><p>Сьогодні КНР є одним із провідних світових виробників різноманітного високотехнологічного обладнання. Серед найбільш відомих широкому колу користувачів можна назвати компанії Xiaomi, ZTE та низку інших. У вузьких колах профільних фахівців добре відомі такі бренди, як Hikvision, Dahua, Hytera, DJI тощо.</p><p>До речі, якраз останні з названих компаній є виробниками систем відеоспостереження та  дронів, які використовують у багатьох країнах, зокрема в Україні. І їхня продукція користується попитом в усьому світі через низьку вартість та відносно високу якість, а головне — швидкість постачання.</p><p>На сьогодні багато китайських високотехнологічних компаній потрапили під санкції США, Австралії, Великої Британії та інших країн. Так, ще у 2020 році до чорного списку Міністерства фінансів та Міністерства торгівлі США внесли понад 50 компаній із Китаю. Зокрема і DJI — одну з провідних компаній з виробництва дронів. Її продукцію визнали такою, що становить загрозу для національної безпеки США, а всім американським компаніям заборонили експортувати технології для DJI. Також до санкційного списку потрапив і найбільший китайський виробник чіпів — SMIC.</p><p>Далі, у грудні 2021 року, американський уряд розширив санкції проти DJI та додав до переліку ще сім китайських компаній: Cloudwalk Technology Co (розробник ПЗ для розпізнавання облич), Dawning Information Industry Co (виробник суперкомп’ютерів, що надає хмарні послуги у Сіньцзян-Уйгурському автономному районі), Leon Technology Company Limited (хмарна компанія, що виробляє системи стеження), Megvii Technolog (виробник ПЗ для розпізнавання зображень та машинного навчання), Netposa Technologies Limited (виробник систем відеоспостереження), SZDJI Technology Co (виробник мультикоптерів, мікроконтролерів, відеообладнання).</p><p>На початку лютого 2022 року Федеральна комісія зі зв’язку США (FCC) та Міністерство юстиції США опублікували обвинувачувальний акт щодо китайської телекомунікаційної компанії Hytera. У документі йдеться про те, що Hytera була учасницею змови щодо крадіжки комерційної таємниці. Колишніх співробітників компанії Motorola Solutions Inc., яких цілеспрямовано “хантили” на роботу в згадану китайську компанію, примушували викрадати технології. У цьому акті фігурують також ZTE, Hangzhou Hikvision Digital Technology та Dahua Technology.</p><p>Експерт не радить використовувати не лише дрони, а й інше високотехнологічне обладнання виробництва Китаю: “Усім зрозуміло, що Китайська Народна Республіка є "народною" та "республікою" лише декларативно. Фактично це країна з авторитарною моделлю управління та економікою, побудованою на базі "державного капіталізму". Це означає, що всі високотехнологічні компанії Китаю пов’язані з урядом чи повністю підконтрольні йому. А неоднозначна позиція КНР щодо війни в Україні та заяви "про стратегічне партнерство з РФ" не викликають у нас оптимізму".</p><p>Тож усю продукцію, вироблену китайськими компаніями, зокрема Hytera, Hikvision та DJI (а це і ПЗ, і дрони, і системи відеоспостереження), в умовах війни з РФ потенційно можливо використати проти України. Яким чином це можливе? Справа у тому, що переважна більшість сучасного високотехнологічного обладнання підтримує можливість віддаленого підключення з боку виробника. У звичайних умовах це нормально і використовується для отримання швидкої кваліфікованої технічної підтримки. Але зараз такий канал може бути використаний з протилежною метою — для прихованого підключення, результатом якого може стати прямий "злив" розвідданих, місця розташування, раптовий "вихід з ладу" тощо.</p><p>Китайські дрони дешеві, наявні у великій кількості, тому їх використовують усі країни, зокрема Україна. Однак у воєнний час потрібно усюди, де це тільки можливо, обирати альтернативні корейські, європейські чи американські БПЛА — такі, що вироблені у країнах, які не залежать від РФ та Китаю.</p> ]]></content:encoded>
    </item>

</channel>
</rss>