Складнощі тестування мікросервісів та що з ними робити

У червні 2019 року я виступивши на конференції ProQA.Today на тему тестування мікросервісів. Якщо коротко, то в моїй доповіді було чимало критики й могло скластися враження, що я затятий противник технології, альо це не так — удома я навіть маю свій Docker Registry на окремому сервері, з багатьма контейнерами для різних тестерських експериментів. А в Google Cloud у мене є власний застосунок. Як і в будь-якій технології, я бачу в мікросервісах сильні і слабкі сторони, де чимало залежить від правильної архітектури й способу використання. Кілька місяців я обмірковував свою доповідь, виступи інших спікерів та критику й готовий структурувати свої думки у статтю. Усі приклади нижче — мій досвід тестування монолітних систем і мікросервісів. Точка відліку Для початку визначмо терміни, щоб розуміти, про що ми говоримо. У моєму розумінні моноліт — ПЗ як одна система, яке можна розгорнути й запустити на одному сервері.

Опубліковано: 12/09/19 @ 10:00
Розділ Різне Читати далі...

Як ми впровадили Scrum: граблі і точки зростання

Привіт! Мене звати Олександр, я Scrum-майстер в Trionika. Хочу поділитися своїми особистими спостереженнями про те, як змінилася ефективність роботи розробників і продуктолога під час і після впровадження Scrum компанії. Відразу уточню: компанія спеціалізується на видобутку та монетизації трафіку. Крім цього, розробляє свою платформу зразок Upwork для роботи з клієнтами та підрядниками по всьому світу. За 9 років на ринку ця команда напрацювала величезну базу коду, тому за доопрацюванням дрібних фіч стало складно бачити прогрес в роботі (думаю, багато хто зрозуміє, про що я). Починало все більше здаватися, що нинішній потужний IT-відділ компанії перетворюється в неповороткого монстра, який намагається встигнути скрізь, а фактично топчеться на місці. В якості рішення для зрушення з мертвої точки народилася ідея спробувати Scrum: зібрати пілотну Scrum-команду з 8 чоловік в IT-відділі, яка з виділеним Product Owner повністю відповідала б єдиним планом.

Опубліковано: 10/09/19 @ 10:00
Розділ Різне Читати далі...

C++ дайджест #19: підготовка до співбесід

Привіт, мої любі сішники! Сьогодні випуск буде присвячено підготовці до співбесід. Тож почнімо? :) Матеріали для підготовки до співбесід Не забудьте повторити патерни , ідіоми , контейнери та їх складність , алгоритми пошуку та сортування (а повторювати краще в C++ shell ) та як реалізувати таблицю віртуальних функцій . Підбірки питань, які трапляються на співбесідах, і відповіді на них: Популярні запитання на співбесіді по C++ і відповіді на них ; C++ Interview Questions and Answers ; 123 завдання з IT-співбесід з розбором рішень ; Commonly Asked C++ Interview Questions — Set 1 , Set 2 ; Commonly Asked Algorithm Interview Questions — Set 1 , Set 2 ; Top 10 algorithms in Interview Questions ; CodeQuestion ; 24 Essential C++ Interview Questions .

Опубліковано: 08/09/19 @ 07:00
Розділ Різне Читати далі...

«Це невідворотна еволюція суспільства». Чому нам не оминути нових податків та куди вони підуть

[Про автора: Іван Лешко — VP Client Success у SoftServe, працює в ІТ-індустрії вже більше 13 років, за які пройшов десятки різних проектів від інженера до керівника бізнес-вертикалі. Останні роки повністю сконцентрований на роботі із клієнтами та розвитку ІТ-індустрії] Український айтішний офшор — до нескінченності. Ну що, друзі, пригорає від заяв нового прем'єр-міністра і команди? А ви думали, далі буде стабільність? Прем'єр-міністр Олексій Гончарук презентував план створення Фонду розвитку людського капіталу для IT-галузі, який би керувався самою галуззю. І в першу чергу наголос стоїть саме на створенні фонду, а не піднятті податків. А від фонду наповнюватимуть із кількох відсотків додаткових податків до ФОП ІТ. Кошти цього Фонду підуть на галузь освіти (стипендії для студентів, гранти для молодих вчених і створення освітньої інфраструктури).

Опубліковано: 06/09/19 @ 10:00
Розділ Різне Читати далі...

Зустріч прем'єр-міністра з ІТ-галуззю: 650 тис. ІТ-спеціалістів за 10 років та нова система оподаткування

4 вересня в Києві відбулася зустріч представників нового уряду з ІТ-галуззю. З боку урядовців були присутні новий український прем'єр Олексій Гончарук, віце-прем'єр міністр України й міністр цифрової трансформації Михайло Федоров, а також голова ДПС України Сергій Варланов. З боку ІТ — керівники компаній та представники асоціацій. Обговорювали питання розвитку ІТ-галузі, трішки про маски-шоу, ну і, звісно, нове оподаткування. Редакція DOU побувала на зустрічі, і представляємо вам найцікавіше з обговорення. Image source Маски-шоу Прем'єр зазначив, що УБЕЗ вже пішло в минуле. Це ще не завершень процес, але це вже перші сильні кроки, які вказують на те, що правоохоронні органи мають змінити своє ставлення до бізнесу. Гончарук очікує, що СБУ зробить так само, щонайменше — на рівні тих практик, які існують зараз. І що вже цього місяця будуть зроблені кроки, які допоможуть остаточно відвадити від силовиків бізнесу.

Опубліковано: 04/09/19 @ 12:05
Розділ Різне Читати далі...

Відображення списків з допомогою UICollectionViewCompositionalLayout в iOS

У цьому році Apple провела «вибухову» WWDC. Все співтовариство iOS-розробників сфокусувалося на нових фреймворках (SwiftUI, Combine, RealityKit...), намагаючись розібратися, як це працює і що нового принесе. Багато невеликі, але дуже корисні для актуальних програм оновлення чомусь залишилися за кадром. Тим не менше я хочу поділитися моїми дослідженнями одного з них — UICollectionViewCompositionalLayout. Я впевнений, кожен з початківців iOS-розробників починав своє навчання з вивчення списків. Це той незамінний UI-елемент, який присутній практично в кожному додатку. UICollectionView— це еволюціонував UITableView, який дозволяє розміщувати елементи списку в різному порядку з допомогою UICollectionViewLayout. Той, хто хоч раз пробував створити свій кастомный CollectionViewLayout, знає, як це непросто. Ми маємо море методів, з допомогою яких потрібно задати поведінку. Не всі їх потрібно використовувати, іноді потрібно написати додаткове кешування.

Опубліковано: 03/09/19 @ 10:00
Розділ Різне Читати далі...

Потрібні програмісту алгоритми і структури даних

Вперше я написав рядок коду 10 років тому. З тих пір я кожен день дивуюся, як багато можливостей відкрила для людства розробка. У розробку ж мене привело рішення алгоритмічних задач та участь в змаганнях з програмування. Перший комерційний проект я завершив 7 років тому. Тоді усвідомив, що недостатньо написати робочий ефективний код за короткий час. Інженер повинен знати архітектурні підходи, дотримуватися стилю і банально писати читається код. Але стаття буде швидше про перший: про написання робочого ефективного коду, який прослужить довго. Вона буде корисна як новачкам, які шукають можливості для професійного росту, так і для досвідчених фахівців, які знають кілька мов, можуть придушити будь баг і тягнути будь-який проект, але прагнуть до розробки нових проектів.

Опубліковано: 02/09/19 @ 10:00
Розділ Різне Читати далі...

iOS дайджест #33: Special — SwiftUI

У випуску: SwiftUI vs. Auto Layout, ViewModifier, бічне меню і асинхронне завантаження зображень, MapView app, набір розширень. Хочу дізнатися основи SwiftUI Tutorials. Introducing SwiftUI
Було б нечесно починати добірку не з эплового туториала, враховуючи, як круто вони його зробили. SwiftUI by Example
Підлогу Хадсон, відомий своїми туториалами і книгами, вже встиг написати безліч всього за SwiftUI. І, причому, в досить цікавому форматі — як показати список, як видалити комірку, як закруглити кути та багато-багато іншого. SwiftUI vs. Auto Layout: Pros and Cons of Each Approach
Вже переписувати весь код на SwiftUI чи ще почекати? MVC without the C: What will SwiftUI change in app architecture?
MVC помер, хай живе MVC! Як зміниться архітектура додатків, написаних з допомогою SwiftUI. Swift Property Wrappers
Максимально вичерпна стаття від NSHipster про property wrappers з прикладами.

Опубліковано: 31/08/19 @ 07:46
Розділ Різне Читати далі...

Роль Product Manager на різних етапах розвитку проекту

Стаття написана у співавторстві з Мері Ротарь , Co-Founder IAMPM. Всім привіт, мене звати Андрій, і я працюю менеджером продуктів вже більше 5 років. Один з найбільш частих питань, яке я чую від початківців фахівців, — «Що мені потрібно знати і вміти, щоб стати хорошим продактом?». Справа в тому, що однозначної відповіді не існує. Роль Product Manager в компанії сильно залежить від стадії розвитку продукту, з яким він працює. Завдання продакта в стартапі сильно відрізняються від того, з чим доведеться працювати в проекті, який нещодавно вийшов на ринок або який працює вже не перший рік. Якщо в стартапі все потрібно робити максимально швидко, нехай навіть «з добра і палиць», лише б працювало, то в період зростання продукту від менеджера очікують якості, досягнення KPI і customer success. Так що буквально за два роки на проекті Product Manager може змінити 3 різні ролі, і у кожної є свої плюси і мінуси.

Опубліковано: 27/08/19 @ 10:00
Розділ Різне Читати далі...

Java дайджест #44: Java 13, Micronaut Predator і смерть Mercurial

Посилання, на які краще таки натиснути (на думку автора), відзначені знаком (!) Щось на зразок новин (!) JDK 13: First Release Candidate . Red Hat(читай IBM) передав спечу CDI в Eclipse Foundation . Microsoft acquires jClarity to help optimize Java workloads on Azure. Вийшов Flyway 6.0.0 . JEP 357: Migrate from Mercurial to Git . Почитати і подивитися Java InfoQ Trends Report — July 2019 . Java Futures, 2019 Edition виступ від Brian Goetz. What's New in JUnit 5.5 . Ok DOU, хто вже використовує 5-ю версію? Чи все на 4-й або якомусь TestNG? JPA Data Access with Micronaut Predator — DAL для Micronaut. Але не намагайтеся його шукати за запитом «Micronaut Predator» тому що «the word Predator is a source of anxiety for some». Тепер проект називається micronaut-projects/micronaut-data . (!) Exercises in Programming Style and the Event Bus від Nicolas Fr?nkel. (!) Хотілося б почути думку спільноти ДНЗ на тему Why Event Sourcing is a microservice communication anti-pattern .

Опубліковано: 24/08/19 @ 10:00
Розділ Різне Читати далі...

Розробка API на Python із Serverless

У попередній статті я показавши, як можна взаємодіяти з безсерверною платформою AWS Lambda лише засобами, наданими Amazon. Це був корисний експеримент — раджу так робити з будь-якою новою технологією чі системою, яку бажаєте вивчити. Починайте з найпростішого і спробуйте збудувати проект, не застосовуючи надто багато додаткових інструментів чи абстракцій, — так ви ліпше зрозумієте як працює базова система і з якими неприємностями, труднощами чи випадками, що вимагатимуть шаблонного коду, ви стикнетеся. Щойно побачите, як все працює, ви значно глибше зрозумієте абстракції, які лежати на поверхні, оскільки матимете уявлення про ті, як вони влаштовані, які проблеми розв'язків язують і яких складнощів дозволяють уникнути. AWS має потужні служби, які, втім, потрібно відповідним чином поєднувати, щоб досягти потрібного результату. По суті, вони є модулями, які мають певну функціональність, але мають бути якось об єднані в єдине ціле, щоб ними було дійсно зручно користуватися.

Опубліковано: 23/08/19 @ 10:00
Розділ Різне Читати далі...

Як Live Animations створили AR-контент для книги Alif and Sofia, яка вчить мусульманських дітей молитися

У рубриці DOU Labs ми запрошуємо IT-компанії ділитися досвідом власних цікавих розробок і внутрішніх технологічних ініціатив. Питання і заявки на участь надсилайте на editors@dou.ua . Всім привіт! Я Сергій Хухра, CTO AR-студії Live Animations. Ми створюємо контент і маркетингові рішення, використовуючи технологію доповненої реальності. Я хочу розповісти, як наша команда працювала над одним з самих незвичайних проектів за наші 5 років на цьому ринку — Alif and Sofia . Ми створили AR-контент для дитячих книг, які розповідають мусульманським дітям, як правильно здійснювати обряд молитви. Ідея Сама ідея книг з доповненою реальністю, звичайно ж, не нова. Цей підхід став популярним ще в часи, коли AR тільки входила у наше життя, і з тих пір цілком успішно застосовується з користю для цільової аудиторії, яка складається переважно з дітей.

Опубліковано: 22/08/19 @ 10:00
Розділ Різне Читати далі...

Країна сієсти: подружжя українських програмістів про переїзд на Мальту й причини повернення додому

[Від редакції: ми продовжуємо серію матеріалів про повернення в Україну . Розповідаємо про IT-спеціалістів, які поїхали з країни, але з різних причин повернулися. Якщо ви чи ваші знайомі мають такий досвід, напишіть на vlada@dou.ua ]. Навесні 2015-го Андрій Почекайлов та Ольга Троян переїхали на Мальту, пройшовши співбесіди в компанії KPMG Crimsonwing. Тоді вони ще не були одружені, і єдиним способом переїхати разом було знайті роботу в одній країні. Шукали можливостей пожити за кордоном і спробувати освоїтися в новій культурі. Вибір зупинили на Мальті, як на країні, що потребувала ІТ-талантів з-за кордону. Справжнім викликом стало вже саме подання документів: у країні не найпростіша візова політика, тож цей процес затягнувся на чотири місяці. Вже згодом Андрій та Ольга побачать, що це далеко не єдиний вияв неспішности на Мальті. Побувши рік в острівній країні, вони повернулися додому. Головні причини — вища культура розробки програмного забезпечення й більші заробітки.

Опубліковано: 21/08/19 @ 10:00
Розділ Різне Читати далі...

QA дайджест #38: техніки тестування, генерація реалістичних тестових даних, мобільне тестування

Мене звуть Максим, і я тестувальник. З інтересом стежу за подіями в світі тестування та IT. Збираю найкорисніше і з радістю ділюся з вами.

Опубліковано: 17/08/19 @ 07:00
Розділ Різне Читати далі...

Шлях від QA до Product Owner: як зважитися на зміни в кар'єрі

Я Product Owner/Product Manager в американському стартапі Atiim Inc. Два роки тому я прийшла в цю компанію в якості QA Engineer. Всього через півроку роботи тестувальником перейшла на посаду PO. Про цьому шляху, його передумови і наслідки і піде мова далі. Як-то ми шукали нового Product Owner'a в одну з команд, і у нас накопичилося деяку кількість резюме. Переглянувши їх, зробили висновок, що кожен третій PO раніше був на позиції QA . Це означає, що моя історія не унікальна, але, можливо, мій досвід допоможе комусь пройти цей шлях легше і швидше (але це не точно :)). Бекграунд У школі я закінчила фізмат-клас. Пішла вчитися в НАУ, де отримала диплом з відзнакою і професію інженера з управління авіаційними системами та їх експлуатації. Паралельно здобувала другу освіту за спеціальністю «Фінанси» і стала економістом з фінансової роботи. Деякі мої переконання і погляди: Мрії збуваються, якщо стають цілями. Люди — найбільша цінність компанії.

Опубліковано: 14/08/19 @ 10:00
Розділ Різне Читати далі...

Мотивація до інновацій у IT-компаніях України. Результати опитування

Закінчуючи навчання в бізнес-школі та обираючи тему для дисертації, я задався питанням: чому відносини між працівниками та менеджментом у IT-компаніях найчастіше так відрізняються? В одних компаніях команда «включена», менеджмент заохочує інтерес до нових технологій, покращенням процесах, співробітники готові зробити экстраусилие, щоб дати більше цінності клієнтам, в той час як в інших — транзакційні відносини «зарплата — робота», «погоничі — веслярі»: галера гребе, а число статей на «Непристойному.it» зростає. Не претендуючи на абсолютну істину, автор постарався розібратися в даному питанні в рамках дисертації — в першу чергу для своєї компанії, а також для нашої IT-ринку в цілому. Сподіваюся, це допоможе всім нам трохи краще зрозуміти один одного і зробити життя трохи комфортніше.

<Acknowledgements>
Дане дослідження з'явилося завдяки допомозі редакторської команди DOU, а також волонтерської допомоги Миколи Павлова (Data Scientist в People.ai ) в обробці сирих даних.

Опубліковано: 13/08/19 @ 10:10
Розділ Різне Читати далі...

Топ-50 ІТ-компаній України, липень 2019: 60 тисяч спеціалістів і подолання відмітки «7000 фахівців»

Кількість спеціалістів у топ-50 за півроку зростала з 58 тисяч до майже 63 тисяч. Кількість технічних спеціалістів вже перевищує 50 тисяч. У рейтингу з'єднання явилися нові обличчя, а EPAM і SoftServe перетнули позначку «7000 фахівців». На ці дві компанії припадає 37% зростання липневого топ-50. З січня по липень 2019 року кількість фахівців зросла на 3410 (7,5%) у топ-25 і 4453 (7,6%) у топ-50 порівняно з іншим півріччям 2018-го . Зростання загальної кількості спеціалістів в 25 найбільших ІТ-компаніях України Відносні показники темпів зростання Кількість технічних спеціалістів у топ-50 — вже понад 50 тисяч, із них майже 40 тисяч працює у 25 найбільших ІТ-компаніях. Якщо дивитися на динаміку, то за останні п'ять років кількість технічніх спеціалістів у топ-25 зростала майже вдвічі. Щодо відносної кількості, то частка технічних фахівців за п'ять років збільшилася незначно — десь на 4 п. п.

Опубліковано: 12/08/19 @ 07:07
Розділ Різне Читати далі...

C++ дайджест #18: Summer ISO C++ standards meeting, technical vision for Qt 6

Привіт, мої любі сішники! Попередній місяць був насичений подіями. То ж почнімо? :) Qt 6 на горизонті! На горизонті (а саме ближче до кінця 2020) з'єднання являється Qt 6: 7 серпня опубліковано technical vision for Qt 6 . LLVM змінив адресу! The LLVM Project is Moving to GitHub . Окрім цього маємо пререліз LLVM 9.0.0 та LLVM 8.0.1 доступний для скачування . Summer ISO C++ standards meeting! 20 липня закінчилося засідання комітету зі стандартизації С++ 20, що відбулося у м. Кельн, Німеччина. Trip report: Summer ISO C++ standards meeting (Cologne) від Саттера; 2019-07 Cologne ISO C++ Committee Trip Report список змін до C++20 draft; Trip Report: C++ Standards Meeting in Cologne ; C++20 feature is complete; here's what changes are coming . Embedded У листопаді в Києві відбудеться найбільша у східній Європі конференція для Embedded & розробників Linux Embedded Fest , де можна почути доповіді з Embedded розробки та тестування.

Опубліковано: 11/08/19 @ 08:37
Розділ Різне Читати далі...

Ruby/Rails дайджест #31: другий реліз-кандидат Rails 6, перша мажорна версія ruby-prof, Aaron Patterson про рантайме Ruby

Дайджест створено у співавторстві з Мариною Завийбородой , Copywriter в RubyGarage. Всім привіт! Почнемо з того, що вийшов другий реліз-кандидат Rails 6, в якому було додано 172 коміта після релізу минулій версії. Через 14 років розробки випущена перша мажорна версія інструменту профілювання ruby-prof , надає звіти і високу швидкість обробки коду. Тренди в співтоваристві Ruby Співтовариство продовжує ділитися думкою про Sorbet: Подкаст з Paul Tarjan . Aaron Patterson з GitHub обговорює мова Ruby і його runtime в Software Engineering Radio . Cookpad провели Ruby Hack Challenge — захід, присвячений занурення розробників в роботу MRI. Почитати Hiding .gemrc credentials in dotfiles — корисний лайфхак для тих, хто хоче приховати .gemrc credentials в дотфайлах. I'm worried about Ruby future — скільки буде існувати Ruby, стільки й будуть вестися розмови про його похмурому майбутньому :) У статті автор наводить 3 причини, чому Ruby «вже не той». Погоджуватися чи ні — вирішувати вам.

Опубліковано: 09/08/19 @ 10:00
Розділ Різне Читати далі...

Як ми розробили функцію спільного написання листів email-клієнта Spark

Мене звати Дмитро Поволоцький, я iOS/Mac розробником в Readdle на проект Spark . У цій статті я розповім про нашому шляху до реалізації одного з найцікавіших в технологічному плані фіч Spark — «Shared Drafts». В чому проблема Взаємодія між людьми — невід'ємна складова командної роботи. Ми постійно обмінюємося документами, обговорюємо і делегуємо завдання. За останні 5-10 років інструменти для командної роботи значно еволюціонували. Ми переписуємося в корпоративних месенджерах (Slack, Skype), разом редагуємо документи (Google Docs, Pages, Dropbox), працюємо над кодом (пулл-риквесты на GitHub, Crucible) і т. д. Але командна робота з email чомусь не користується популярністю, хоча ця ідея і лежить на поверхні. Уявімо, що СЕО компанії пише важливий лист інвесторам і хоче додати туди цифри з останнього фінзвіту. Керівник запитує ці дані фінансового відділу.

Опубліковано: 08/08/19 @ 10:00
Розділ Різне Читати далі...

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165