12 помилок при побудові архітектури

В этой статье я хотел бы затронуть наиболее часто встречающиеся проблемы в построении архитектуры ПО. Я решил написать этот материал, очередной раз столкнувшись с тем, что люди, даже имеющие огромный опыт разработки ПО, продолжают путать модели, относящиеся к разным слоям приложения. Они не придают значения излишней связанности (костности) между частями приложения и прочим аспектам. В итоге эти аспекты оказываются, если не критичными, то существенно влияют на дальнейшую разработку программного продукта. Почему возникают ошибки Причина, по которой разработчики, имеющие за плечами довольно большой стаж разработки ПО и построения архитектуры, продолжают реализовывать жёстко связанные решения и решения с нечётко разделёнными моделями — отсутствие негативной «обратной связи» в краткосрочной перспективе. Часто последствия всего этого вылазят через время, после внесения множества других изменений.

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

По-стартаперски і по-багатому: як робити customer research і чому це корисно будь-якій компанії

Всім привіт! Мене звуть Паша Педенко. Я допомагаю компаніям будувати продуктову культуру. У цій статті ми розглянемо на прикладах, як будь-яка компанія, будь то стартап або корпорація, може проводити власні дослідження і отримувати від них користь. Я співзасновник проекту Raply , конференції Growth Marketing Stage (4 квітня веземо сюди спікерів Uber, Dropbox, Adobe, Hubspot і Google) і засновник хакатона Global Hack Weekend (у минулому році ми зібрали більше 1000 осіб). Влітку минулого року я запустив Telegram-канал , де почав писати про те, як ми в Setapp (я тоді ще працював в MacPaw) і Raply робимо дослідження користувачів, і зауважив, що ця тема хвилює багатьох колег як продуктових, так і з аутстаф-компаній.

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

Ruby/Rails дайджест #26: реліз Ruby 2.6.1 і Hanami 2.0.0.alpha1, представлена перша бета-версія фреймворку Ruby on Rails 6

Всім привіт! Почнемо з того, що спільнота Ruby активно обговорює першу бета-версію фреймворку Rails 6 і його нові фічі. Команда розробників CRuby викотила патч-версію Ruby 2.6.1, в якій виправлено серйозний баг, виявлений у Ruby 2.6.0. Також в лютому закривається прийом доповідей на конференції RubyConfBY, RubyDay і EuRuKo. Тренди в співтоваристві Ruby DHH представив бета-версію фреймворку Ruby on Rails 6.0. Matz висловився з приводу надмірної прагнення розробників внести зміни в Ruby. 20+ years ago, a guy who disagree with me copied Ruby repo & replaced my name copyright in notices. He wanted his version of the lang. Technically it was license violation but I didn't say anything. I was curious about his ideas. No move for months. The repo disappeared. 1/ DHH анонсував , що Webpacker буде компілятором за замовчуванням в Rails 6. Команда CRuby викотила патч-версію Ruby 2.6.1 раніше запланованого терміну, щоб виправити баг, пов'язаний з Net::Protocol. Релізи Rails 6.0.

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

Визначаємо вартість декоратора в Golang

Привіт, мене звати Ярослав, займаюсь розробкою сервісу для збереження активів у криптовалюті в компанії ITAdviser , розробляємо на Go. У цій статті розглянємо декоратор, його вартість і чи варто використовувати його в розробці нових сервісів. Коротко про мене Кілька років тому почав цікавитись Go, подарував другові на день народження книжку «The Go Programming Language» , сам грався завданнями з LeetCode , облишив, через півроку продовжив, вийшов професійний курс від «Техносфери» , передивився і цього було достатня, щоб почати працювати як Junior Go. Go зацікавив тестами та бенчмарками з коробки, можливістю розбиратись в коді стандартних бібліотек, які теж написані на Go. А ще в Києві хороше Go ком'юніті . У деяких мовах рішення певних завдань лаконічніше та красивіше, ніж в інших. Вже вкотре зустрічаю тими, де автори описують, як бачать ідеальну мову програмування , а інші ж створюють такі мови, прикладу Ruby. Що таке декоратор Так, в Go зручно реалізувати патерн декоратор.

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

React Hooks — огляд можливостей нового API

Мене звати Володимир Симоненко. Я фронтенд-розробник у компанії PyTeam . Займаюся веб-розробкою 3 рокі. Загальний досвід у розробці програмного забезпечення на різних позиціях — 8 років. Нещодавно я робив доповідь на тему React Hooks і вирішив поділитися інформацією на DOU. Це стаття-огляд нових можливостей відомої та популярної бібліотеки для веб-інтерфейсів React.js і буде більш цікава тим, хто вже знайомий з реактом. Hooks— нове API, що дозволяє писати функціональні компоненти зі станом та використовувати інші можливості реакту без написання класів. Доступно в прев'ю версії (поточна версія 16.8.0-alpha.1). Встановлюємо: npm i –S react@next. Навіщо це потрібно По-перше, це потрібно, щоб повторно використовувати логіку, що знаходиться в state, між компонентами. Для вирішення цієї задачі зазвичай використовують такі підходи: Higher-Order Components (HOC) і Render Props .

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

Розробка реактивних та розподілених систем з Vert.x

У цій статті я хочу розповісти про інструмент для розробки високопродуктивних JVM-додатків, що не вимагає вивчення складних архітектурних моделей. Пошук альтернатив Я давно і з задоволенням користуюся такими інструментами, як Spring, а також Akka і модель акторів. Проте і у них є недоліки. Spring при своїй зручності і широких можливостях може іноді витрачати трохи більше ресурсів, ніж хотілося б. Akka ґрунтується на моделі акторів, яку не кожна команда може легко, швидко і головне ефективно впровадити. І я почав думати про можливі альтернативи. Раптом я згадав Vert.x, про яке чув пару років тому. Мені стало цікаво, що ж він із себе представляє. Виявилося, я знайшов інструмент, який заповнив для мене пробіл між двома озвученими раніше. З одного боку Vert.x переслідує об'єктно-орієнтовану парадигму. З іншого боку, в реалізації частково він використовує принципи, що віддалено нагадують модель акторів. При цьому за складністю він як раз потрапляє в середину.

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

Токсичний HR: дії, які отруюють команду

Стаття написана у співавторстві з Вікторією Наливайко, Career & HR Consultant, з-founder at reteam . Щоб не бути суб'єктивними, не упустити щось важливе і зібрати реальні кейси, в січні цього року ми запустили опитувальник . Кожен бажаючий IT-фахівець поділився досвідом співпраці з токсичним HR-ом і вказав, до яких наслідків це призвело. У результаті ми зробили висновки, яку поведінку і дії HR менеджера згубно впливають на компанію. Я і співавтор — також HR-и, і мета цих і наступних букв — не зайняти чиюсь сторону або підняти прапор «ми не такі». У нашій професії дійсно є негативна репутація (чого тільки варті історії на эбонитовом). Хочемо розібратися і конкретизувати, які дії і поведінку ейчарів приводять від «молодий дружний колектив» до «ой, як невдобно вийшло» — коли йдуть круті фахівці, починаються внутрішні конфлікти, і надалі люди при слові «ейчар» подумки повторюють: «Боже, поможи».

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

Три основні проблеми розумних будинків і як їх можна вирішити

Коли я вперше зіткнулася з розумними пристроями, працюючи з командою Hive в якості розробника в 2010, лідери ринку пропонували рішення, здатні вимірювати і контролювати витрату електроенергії. У той час технологія була на стадії зародження, і, коли в 2017 році я приєдналася до команди Amazon (Alexa Smart Home) в якості Sr TPM, я здивувалася прогресу, досягнутого в цій галузі. Кількість і якість розумних пристроїв зросла, а розумні асистенти додали домівках зручний голосовий інтерфейс. У цій статті я поділюся спостереженнями про технологіях і залишилися проблеми з тими людьми, хто хоче спробувати себе в цій області. Розвиток технологій Ще десять років тому думка про те, що через мобільний додаток можна контролювати світло або камеру у себе в будинку або офісі, звучала як наукова фантастика. Однак 2018 рік показав, що «розумний будинок» — це вже реальність, яку Zion Market Research оцінює в $53,45 мільярда до 2022 році.

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

PM дайджест #16: розбираємося з OKR, як повернути Scrum-команді натхнення, метрики в розробці

Привіт! Вітаю зі святами! Зустрічайте набір матеріалів та посилань, які допоможуть вам стати краще в проектному менеджменті в новому році! Project Management «Пекло своїми руками» — історія, може, не зовсім про наших реаліях, але про безрозсудному обкладывании людей процесами та оцінюванні результатів на підставі проходження цих процесів. Гарне чтиво з закінченням класики: «Я тебе породив, я тебе і вб'ю!». Популярність методу цілепокладання OKR в компанії набирає обертів, і мою компанію впровадження цієї практики теж не обійшла стороною. Ділюся матеріалами, які допомогли мені розібратися в деталях: безкоштовна книга про OKR; OKRs by Google; те ж саме на відео; OKRs at Spotify; слайди Кістки Коптелова про OKR проти KPI. Новини з-за поребрика: з місцевою специфікою, звичайно, але цікаві пункти. П'ять помилок проектного менеджменту в РФ. І в продовження узагальнимо: збірник кращих статей 2018 року від HBR російською — дійсно зачитаешься.

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

Ще 13 консенсус-протоколів для розподілених систем. Частина 2

Продовжую опис консенсус-протоколів від Intellectsoft Blockchain Lab . Раніше я розглядав 12 популярних протоколів консенсусу . У другій частині розповім про самих екзотичних алгоритми, що використовуються в технології розподіленого реєстру (DLT) — від BFT-характеристики до Leased Proof-of-Stake, Proof-of-Stake-Time і Proof-of-Asset. 1. Візантійські Fault Tolerance (BFT) протоколи. Продовження
1.1. Протокол SIEVE
1.2. Протокол Round Robin
1.3. Протоколи Paxos і Raft
1.4. HoneyBadger Візантійські Fault Tolerance (hbBFT)
1.5. Loopchain Fault Tolerance (LFT) (Стійкість до проблеми платформи Loopchain)
1.6. Cross-Fault Tolerance (XFT) (Стійкість до проблеми системних збоїв) 2. Консенсус-протоколи для інших задач
2.1. Proof-of-Asset (PoA) (Доказ активу)
2.2. Proof-of-Authority (PoA) (Доказ повноважень)
2.3. Proof-of-Brain (PoB) (Доказ «мозкової діяльності»)
2.4. Proof-of-Capacity (PoC) (Доказ ресурсів)
2.5.

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

Crew resource management в IT-команді, або Чому нам повчитися у пілотів

Управління ресурсами команди — одна з найбільш важливих завдань, безпосередньо впливає на якість виконання проекту. Сьогодні ми поговоримо про Crew resource management (CRM) як методології навчання персоналу, яка базується на технічних знаннях, а на взаємовідносини членів команди, включаючи лідерство та прийняття рішень. Саме тому нам цікаво розглянути деякі аспекти цієї методології в розрізі управління командою розробників. Людина — один із ключових ресурсів в IT-розробки. Саме люди, грунтуючись на своєму досвіді, інтелектуальному багажі та здатності креативно мислити, створюють унікальний продукт. Індивідуальність і здібності кожного члена команди дозволяють знаходити інноваційні підходи і вирішувати складні завдання. Тим не менше, людина залишається людиною. Йому властиво помилятися, переживати і піддаватися впливу настрою. Як сказав відомий класик: «хто буде стояти на місці, якщо лебідь, рак і щука не будуть ефективно взаємодіяти, як єдине ціле».

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

Наталя Денисенко — як в 17 років стати Software Solutions Architect, а в 19 отримати роботу в Amazon

У 2015 році на DOU вийшло інтерв'ю з Оленою Денисенко — про кар'єру програміста і посади Team Lead в 19 років. Наталя Денисенко домоглася екстраординарних результатів у доволі молодому віці: у 14 років поступила в університет, в 17 років працювала на позиції Software Solutions Architect, у 18 років стала спікером на міжнародних IT-конференціях, а в 19 отримала роботу в компанії Amazon в Сіетлі. Наталя — молодша сестра Олени. Зараз їй 20 років. — Наталя, розкажіть про себе. Як ви зацікавилися IT? Навколишні з дитинства у мене помічали неординарні здібності в області точних наук, особливо з математики. Навчальну програму, розраховану на рік, я могла вивчити за тиждень. Вже у 12 років я освоїла математичну програму вище рівня середньої школи. До 14 років вивчила більш складні дисципліни, що виходять за рамки шкільної програми. Наприклад, матанализ, теорію ймовірностей, матстатистику, дискретну математику, теорію графів, складні обчислення, алгоритми і структури даних.

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

Technical Writing дайджест #1: підбірка технічних словників, розглядаємо вміння та навички техрайтерів

Всім привіт! Сьогодні у дайджесті поговоримо про вимоги до техрайтерів та про метрики нашої роботи. Всі, хто до сьогодні не був знайомий із Markdown, зможуть закрити цей гештальт завдяки декільком корисним статтям. Ну і на десерт — 6 словників української комп'ютерній комп'ютерної термінології. Велика подяка за допомогу у підготовці матеріалу нашій дружній спільноті техрайтерів та зокрема телеграм-спільноті Tech Writers of Ukraine . А тепер до справи! Теорія техрайтингу Handbook of Technical Writing — 600+ сторінок теорії з техрайтингу. Мабуть, це одне з найповніших видань з інформацією, яку має знати кожен техрайтер. Проте варто зауважити, що книга була написана у 2003 і останній раз перевидана у 2009 році, тому деякі речі втратили актуальність і виглядають архаїчно. Наприклад, розповсюдження документації на CD. The Elements of Style — Ще один стайл-гайд на кшталт Microsoft Manual of Style, Chicago Manual of Style і їм подібним.

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

Як я здав iSAQB CPSA Foundation Level Exam і навіщо він потрібен розробнику

Мене звати Руслан Беспалов, я працюю Java розробником в компанії Netconomy в Граці, Австрія. Зовсім недавно, в 2018 році, я пройшов чотириденний тренінг, в кінці якого складав іспит iSAQB CPSA Foundation Level Exam . CPSA тут означає Certified Professional for Software Architecture.У статті я розповім, що дає такий тренінг, чого там навчають і як я його проходив. Чому саме цей іспит iSAQB — це організація, яка позиціонує себе як стандарт в області архітектури додатків. Приблизно на тому ж рівні, на якому зараз Project Management Instituteстандарту PMBoK. Я спеціально не вибирав цей курс, мені запропонував його пройти CTO моєї компанії. Іспит не прив'язаний ні до якої технології, на відміну від аналогів від Kubernetes, AWS і Oracle, а більш зосереджений на теоретичних стандартах. iSAQB призводить графік, що іспит з роками набирає популярність: Для нас курс проводила австрійська компанія Software Quality Lab.

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

PI Planning — планування для великих команд: як його провести і що виходить на практиці

На етапі організації процесу розробки проектів, програм ми сьогодні часто звертаємося до гнучким (Agile) методологій, наприклад Scrum. В тому числі і для планування обсягу робіт і умов розробки і постачання. Але Scrum-практики і артефакти ефективно працюють для однієї-двох команд загальною чисельністю до 20 осіб. А що робити, якщо потрібно організувати планування програми, де залучені сотні людей? Півтора роки тому ми прийшли до такої ситуації на одному з наших екаунтів — Ahold Delhaize. Команда за цей період зросла від 40 до 130 осіб. Ми зіткнулися з необхідністю впровадження інструментів масштабування в процес планування програми. Я розповім про PI Planning. Не тільки теорії, але і про живому досвіді з декількох планувальних сесій з нашим клієнтом. Так як досвід реальний, в ньому є і плюси, і мінуси. Спробую пояснити, як використовувати цей інструмент по максимуму.

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

DOU Labs: як в KeepSolid створили додаток для електронного підпису документів

У рубриці DOU Labs ми запрошуємо IT-компанії ділитися досвідом власних цікавих розробок і внутрішніх технологічних ініціатив. Питання і заявки на участь надсилайте на editors@dou.ua . Привіт! Мене звати Андрій, я — Product Manager в KeepSolid. Сьогодні розповім про один з наших додатків для бізнесу, який дозволяє підписувати документи в електронному вигляді. Це звільняє фахівців та власників бізнесу від застарілої процедури «розпечатати-підписати-відсканувати-відправити» і значно економить час. Ідея До появи ідеї KeepSolid Sign ми випустили кілька досить успішних продуктів, у тому числі і VPN Unlimited. Це було зовсім новою галуззю знань — технічні закони перестають діяти, коли працюєш не з комп'ютерами, а з людьми. Коли інші продукти вже пішли у вільне плавання, ми почали шукати, що ще можна зробити нове для нашої компанії і де ми зможемо змінити усталену практику і вдосконалювати технології. Однією з ідей була електронний підпис.

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

Що таке Implementation Plan, або Як планувати реалізацію при розробці

Будучи Full Stack Engineer в компанії Railsware , я належу до тієї категорії людей, які вважають, що правильне планування робочого процесу — це половина успіху. Тому я хочу поділитися способом, який ми використовуємо при плануванні роботи над user stories в рамках кожного спринту. Ми називаємо його Implementation Plan. Що таке Implementation Plan Отже, Implementation Plan — це детальний конкретизований план, прописаний у форматі чеклиста. Він складається розробниками перед початком роботи над кожною user story. Іншими словами, це покрокова інструкція до виконання кожного з завдань, прописана інженером для себе або для інших розробників. Будемо чесними, часто інженери лінуються додавати ще один крок у звичні процеси, особливо якщо мова йде про планування. На це потрібні вагомі причини. На мій погляд, Implementation Plan дає команді наступні переваги: Вникнути в вимоги кожної задачі і максимально точно оцінити час на реалізацію.

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

Navigaton with less pain. Рішення для Android

Всім привіт! Мене звуть Недомовный Влад, я Android Engineer в мобільної студії компанії Provectus. Під час роботи над проектами я постійно стикався з проблемою реалізації навігації в Android. Я провів аналіз існуючих рішень, структурував їх і вирішив поділитися своїми новими знаннями, які успішно застосовую на практиці. Як виглядає рішення цієї задачі засобами Android Framework? Для Activity: Intent intent = new Intent(context, MainActivity.class); startActivity(intent); Для Fragment: getSupportFragmentManager() .beginTransaction() .replace(R. id.content_frame, CommonFragment.newIntance()) .addToBackStack(null) .commit(); Чому цей підхід є не самим вдалим? З кількох причин: Цей підхід створює багато boilerplate коду, який вам доводиться повторювати раз за разом для кожного переходу від одного екрана до іншого. Сюди входить написання FragmentTransaction мінімум в 4 рядки, а також створення нових Fragment або Intent з аргументами, яке вимагає створення Bundle-ів.

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

Як налаштувати Jira для управління бэклогом: покрокова інструкція

У статті я розповім про те, як використовувати такий інструмент, як Jira, для управління бэклогом при розробці програмного забезпечення. Стаття буде корисна не тільки бізнес-аналітикам, продукт-оунерам, але і скрам-майстрам, проектним менеджерам, в принципі будь-якій людині, який працює з бэклогом і вимог на проекті. Для того щоб цей механізм працював у вас на проекті, необхідно слідувати певним правилам і підходів, про які я розповім далі. Повинен сказати відразу, що ця методика не є еталоном або гарантією того, що ваші проблеми зникнуть. Але я чітко знаю і з упевненістю можу сказати, що на момент написання статті за цією методикою було реалізовано 4 проекти за останні 3 роки, і метод працює! Ви можете модифікувати метод під свої потреби. Якщо не виходить самостійно, тоді кличте мене :) Для роботи з вимогами і розробки продуктів я практично завжди використовую Jira, але було пару проектів, де я використовував TFS. TFS також дозволяє імплементувати описаний у статті підхід.

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

Рейтинг роботодавців 2018: аналізуємо оцінки

У грудні ми опублікували оновлений рейтинг роботодавців . За два місяці зібрали майже 15 тисяч анкет. У цій статті подивимося на загальну картину вашого голосування в розрізі посад, технологій, розміру компаній і міст. В анкеті 13 тверджень, які оцінюються за 7-бальною шкалою Ликерта: Повністю згоден. Згоден. В принципі згоден. Важко сказати, не можу визначитися. Не зовсім згоден. Не згоден. Зовсім не згоден. Ми проаналізували кожне з тверджень і спробували знайти слабкі місця ІТ-компаній. Але, забігаючи наперед, одразу зазначимо, що кількість негативних оцінок за всіма пунктами мінімально. Абсолютна більшість респондентів задоволені своїм робочим місцем. А негатив, якщо і є, то це, швидше, точкове і досить рідкісне явище. Але в будь-якому випадку цікаво глянути, що ж все-таки не подобається співробітникам. Для цього ми виділили окрему вкладку з негативними оцінками (від «Не зовсім згоден» до «Зовсім не згоден»).

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

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 166 167