DP Media
661 subscribers
63 photos
7 videos
2 files
127 links
Коротко і змістовно висвітлюємо технічні тренди, трансформацію українського IT та історії з життя нашої спільноти 🇺🇦

🎙️ Зустрічаємось у подкасті "Meeting room"

Про нас: Dev.pro
Вакансії: https://apply.workable.com/devpro
Співпраця: @ohinastya
Download Telegram
Привіт! Ми до вас з корисним контентом 😉 Наш колега ще у 2020 році написав чудову статтю про коміти. Оскільки ця тема залишається актуальною і нині, ми вирішили поділитися основними тезисами з цієї статті. Зокрема, Ілля розповів про коміти, пояснив чому вони відіграють надважливу функцію у житті розробника, та як виглядає якісний коміт сучасності.

Час прочитання 3 хвилини.

📚📌Останній раз детальний опис коміту був узгоджений у 2008 році. Для ІТ – це наче ціла ера, і варто розібратися, як насправді працюють коміти сьогодні.

Якісний коміт нашого часу включає в себе:

⚡️Обговорений і закріплений формат

Коміт має відповідати обговореному формату. Як його визначити?

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

⚡️Pre-commit хуки і лінтер

Рre-commit hooks дозволяють зробити перевірку на відповідність формату та порівнюють текст із певною регуляркою. Наразі одним із найпопулярніших git hook runner + linter рішень є поєднання husky і commitlint.

В результаті матимемо husky pre-commit hook, який буде спрацьовувати щоразу, коли автор хоче зробити коміт, commitlint, який буде дивитись на свої конфіги й перевірятиме, чи відповідає текст коміту усім зазначеним правилам.

⚡️Номер задачі в таск-трекері в заголовку коміту

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

⚡️Список змін у тілі коміту

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

#5min_tips
👍111🤔1
Вітаємо 👋

В ефірі #meeting_room з новим цікавим гостем. Роман понад рік жив в Сінгапурі та працював Frontend Engineer у TikTok. Зараз він активно подорожує й освоює життя в стилі digital nomad.

Ми поговорили про
пошук роботи у всесвітньо відомих компаніях, типи та етапи інтерв'ю
адаптацію до життя закордоном і роботи в міжнародній команді
мрію побувати у всіх країнах світу, постійні мандри та подорожі

Слухайте #meeting_room у
YouTube
SoundCloud

Чи сподобався вам цей випуск? Діліться ідеями, про що було б цікаво послухати наступного разу 💚
11👍1
Привіт 👋

Software Engineer Владислав Василенко в статті на DOU допоміг пояснити різні види Subjects для RxJS на простих прикладах.

Час прочитання – 3 хвилини.

Поняття, які важливо засвоїти, щоб зрозуміти види Subjects:

Observer – це об'єкт-обробник потоку даних, який йому передає Observable.

Observable — це об'єкт-передавач потоку даних. Їх існує 2 типи:

1⃣ Cold — починає потокову передачу даних після виклику subscribe().

2⃣ Hot — передається одразу після його створення, навіть якщо жоден передплатник не зацікавлений у даних.

⚡️ Subject — це особливий об'єкт з RxJS, адже він є Observable (може відправити дані) і Observer (може підписатися на потік даних) одночасно.

Виділяють 3 типи Subjects:

1. BehaviorSubject — варіант Subject, який потребує початкового значення та має властивість зберігати поточне значення.

Коли використовувати? Якщо нам важливо мати початкове значення у підписок.

Приклад із життя. Уявіть, що ви потрапили на середину сеансу в кінотеатрі. Без вступу чи передмови вам важко розібратися в контексті фільму, тому перед сеансом ви вирішили подивитися трейлер. Цей трейлер або початкове значення дуже нагадує BehaviorSubject.

2. ReplaySubject — ще один вид Subject, який може відправляти старі значення новим передплатникам, як і BehaviorSubject. Крім цього, він має одну особливість — може запам'ятовувати частину старих значень і відправляти їх новим передплатникам.

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

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

3. AsyncSubject – різновид Subject, чия особливість полягає в тому, що він передає лише останнє значення всім своїм передплатникам і лише після завершення виконання Observable.

Коли використовувати? Для обробки HTTP-запиту

Приклад із життя. Уявіть, що ви пропустили якесь важливе п'ятигодинне обговорення. Ви не бажаєте і від вас не вимагають знати зміст всього обговорення, але потрібно бути у курсі фінального рішення, від якого залежать ваші подальші завдання. Фінальне рішення чи результат всього обговорення і є AsyncSubject.

Став вогник, якщо було корисно 🔥

#5min_tips
🔥21👍1
Привіт👋
Сьогодні в рубриці #itnews ділимось з вами цікавою подією від наших партнерів!

Час прочитання — 2 хвилини.

24 вересня Fwdays пропонують приєднатися до онлайн-конференції, яка присвячена практичним питанням архітектури програмного забезпечення — Software Architecture fwdays'22!

Серед спікерів:
🔗 James Coplien — автор Organizational Patterns та один із засновників Software Pattern discipline

🔗 Kief Morris — Global Lead for Cloud Technology у Thoughtworks, автор книги O’Reilly “Infrastructure as Code“, розкаже про те, як використовувати хороші методи гнучкого проєктування програмного забезпечення та практики для коду інфраструктури.

🔗 Степан Танасійчук — CEO компанії Stfalcon, творець додатку “Повітряна тривога”.

🔗 Олександр Савченко — Delivery Director у Ciklum, покаже структурований процес діджітал трансформації та імплементації інновації та порад на основі прикладів в основних напрямках.

Ще більше спікерів та доповідей 👉 https://bit.ly/3BgdMav

Варіанти участі: Free Online безкоштовно з доступом перегляду доповідей тільки 24 вересня, та Full Online для тих, хто хоче отримати доступ до записів всіх ефірів та поспілкуватися зі спікерами.

Реєстрація: https://bit.ly/3BgdMav

Також пропонуємо ТОП-3 доповіді з минулорічної конференції.

Як задизайнити Facebook за пів години або секрети System Design Interview / Олексій Петров
https://bit.ly/3RDgH2n

Request Lifecycle / Віталій Харитонський
https://bit.ly/3TJt4vH

Чому ми всі будуємо погані архітектури і як перестати це робити / Володимир Кириченко
https://bit.ly/3KSaSMg

Впевнені, рекомендації з цих доповідей будуть для вас корисними!

До зустрічі💚
👍5
Привіт 👋

До #meeting_room завітав Олег, QA Engineer і ментор. Ми поговорили про те, навіщо ставати наставником і з якими викликами можна зіткнутися на цьому шляху.

У випуску
🟢 Чому менторство — це цікавий формат спілкування та чим воно допомагає в покращенні власних навичок?
🟢 Як мотивувати менті та надавати екологічний зворотний зв'язок?
🟢 Формати навчальних програм та культура передачі знань в Dev.Pro. Як все влаштовано зсередини?

Слухайте #meeting_room у
YouTube
SoundCloud

Дякуємо, що залишаєтесь з нами 💚

Не забувайте залишати коментарі та підписатись на наш YouTube 😉
20👍4
Привіт! 👋

Продовжуємо ділитися цікавими дописами. Цього разу законспектували статтю Владислава Василенко, в якій він розповів про різні типи Doubles в Unit test та причини їх використання.

Час прочитання — 2 хвилини.

🖥 Unit testing — це перевірка окремої функції чи методу на його коректність за допомогою спеціального тесту.

Причини для написання юніт тестів:

📀 Переконатись у правильності роботи певного функціоналу

📀 Перевірити, щоб після внесення змін до коду, старий функціонал не перестав працювати

🖥 Test double — це спеціалізований метод або об'єкт, який використовується під час тестування системи, коли виникає потреба взаємодії із зовнішнім об'єктом. Простіше кажучи, це заміна чогось реального (клас або окремий метод, функція або цілий модуль) на дублера.

Причини використання test double:

📀 Низька швидкість роботи із зовнішнім об'єктом (БД, HTTP-запит і т.д.).

📀 Необхідність запуску тестів, незалежно від середовища та можливостей комп'ютера розробника

📀 Необхідність працювати з реальними та/або чутливими до змін даними

📀 Складність перевірити коректність взаємодії між частинами

🖥 Dummy Object — це об'єкт, який передається в метод, але насправді не використовується, тобто не вносить жодних змін, не викликає інших методів і не вирізняється жодною поведінкою.

🖥 Test Stub. У перекладі з англійської stub означає "заглушка". Такий переклад досить яскраво відображає принцип роботи Test stub, адже це об'єкт, що містить наперед визначені дані, які він використовує для відповіді на виклики під час тестів.

Причини використання test double:

📀 Неможливість задіяти об'єкти, які будуть відповідати реальним даним або мати небажані побічні ефекти.

🖥 Test spy – це більш функціональна версія Test stub, а його головним завданням є спостереження та запис даних та/або викликів під час виконання тесту.

Причини використання test spy:

📀 Для подальшої перевірки коректності виклику залежного об'єкта. Дозволяє визначити логіку саме об'єкта, що тестується, без перевірки залежних об'єктів.

🖥 Mock object та Test spy дуже схожі між собою. Mock object не зберігає ланцюжок викликів, проте самостійно може перевірити коректність поведінки об'єкта.

Причини використання mock object:

📀 Не хочемо застосовувати справжній метод

📀 Фактично перевірка є занадто складною

🖥 Fake Object

Причини використання fake object:

📀 Замінити функціональність реального компонента у тесті. Зазвичай, він реалізує ті ж функції, що і справжній компонент, але у більш простий спосіб

📀 Реальний залежний компонент ще недоступний, занадто повільний, або не може використовуватися у тестовому середовищі через небажані побічні ефекти

📀 Підроблені платіжні системи, які повертають успішні платежі

#5min_tips
6👍4
Друзі, зустрічайте онлайн-конференцію .NET fwdays'22! Ще один класний івент від наших партнерів вже цього тижня 😉

Час прочитання — 2 хвилини.

Вже восьмий рік поспіль .NET fwdays'22 збере локальних та світових архітекторів, розробників та тестувальників, які використовують .NET framework у своїй роботі.

🗓 Основний день конференції — 15 жовтня, (субота). А також будні дні з додатковими форматами.

Спікери та доповіді:

Scott Hanselman (Microsoft) — виступить із доповіддю “.NET for Linux and Windows”

Adam Ralph (Particular Software) — презентує доповідь “Making tomorrow's code look like today's”

Bohdan Benetskyi (Nexio Management) — розповість про “Implementation of modern Enterprise MAUI Applications

Anton Moldovan (DraftKings) — у своїй доповіді розкаже про “Load Testing Distributed Systems with NBomber v3.0

Jon Skeet (Google) — презентує доповідь “Working with date and time data in .NET”.

Більше спікерів та доповідей за посиланням 👉https://bit.ly/3CafbjH

Варіанти участі:

🏷 Free Online (вільний доступ до перегляду доповідей конференції 15 жовтня, доступ до презентацій доповідей)

🏷 Full Online (всі пункти free online пакету, участь у додаткових форматах будніх днів, доступ до записів всіх ефірів після івенту та упродовж 3-х місяців, Q&A зі спікерами, приватний чат для спілкування, сертифікат учасника)

Придбати квиток та деталі події за посиланням 👉https://bit.ly/3CafbjH

#it_news
👍5
🔥7
Привіт 👋
Сьогодні в рубриці #5min_tips хочемо поділитись вижимкою з останньої освітньої лекції в Dev.Pro. Ми постійно організовуємо вебінари та зустрічі на різноманітні тематики і жестова мова здалась нам дуже цікавою.

Ви знали, що мова жестів і жестова мова — це дві принципово різні речі? Сертифікований перекладач та засновниця All-Ukrainian Association of Sign Language Interpreters і People with Disabilities, Наталія Кравцова, розповіла нам про жестову мову.

Час прочитання — 2 хвилини.

Мова жестів — це частина невербального спілкування, яка використовується для комунікації та передачі інформації.

Жестова мова — це повноцінна мова, яка використовується глухими людьми для спілкування. У цій мові є своя граматика, лексика, та відповідні правила.

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

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

🟢 Дати, про які ви могли не знати:

19-25 вересня — національний тиждень глухих людей.
23 вересня — національний день жестової мови.

Чи знаєте ви жестову мову? А хотіли б вивчити?
11👍2
Міжнародна дактильна абетка виглядає так ⬆️
👍19
Привіт! Повертаємо подкаст #meeting_room 🙌

Цього разу ми зачепили дуже актуальну тему — як ефективно спілкуватися та з легкістю порозумітися один з одним?

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

Ви дізнаєтеся
🫂 як підтримувати один одного у скрутні часи
😵‍💫 які логічні похибки заважають ефективній комунікації та шляхи боротьби з ними
👥 як спілкуватися на рівні цінностей та потреб, щоб будувати гармонійні стосунки вдома та на роботі

Слухайте #meeting_room у
YouTube
SoundCloud

Чи сподобався вам цей випуск? Які висновки та інсайти для себе взяли?

Діліться в коментарях своїми думками та ідеями тем для нових випусків!
8👍1🔥1
Також, Анастасія поділилась добіркою книг та фільмів з цієї теми.

Ненасильницьке спілкування — це про ефективність. Це коли від хаосу і поверхневого ви переходите до цінного в справжнього. І допомагає в цьому відкрита вербальна комунікація.

Що допомагає прибрати зайве насилля:
💫 Замість пошуку винних думати про потреби усіх сторін.
💫 Менше бути в минулому, більше в зараз і в тому, як ми хочемо, щоб було.
💫 Не вішати ярлики на людину, а оцінювати вчинки.

Наприклад:
Не "це через тебе ми запізнюємося", а "як ми можемо встигнути? Чи хочемо ми все ще туди? Як нам від цього стресу?"

Не "що ти кричиш як різана, я через тебе думати не можу", а "якщо ти хочеш зараз виговоритися, то я буду тебе слухати, а якщо тобі потрібне рішення, то дай мені, будь ласка, декілька хвилин тиші, щоб я міг подумати"

Що можна почитати:
🌿Маршал Розенберг "Ненасильницьке спілкування"
🌿 Тоні Б'юзен "10 видів інтелекту"
🌿 Елізер Юдковський "Гаррі Поттер і методи раціонального мислення "
🌿 Даніель Канеман "Мислення швидке і повільне"

Ненапряжні художні фільми та серіали на тему:
☘️ Сімейний брак/ State of the Union
☘️ Вітання родині
☘️ Джулі і Джулія
☘️ Молодість
11👍5🔥1
Привіт!

Ми знову до вас з корисною інформацією 😉

Цього разу з конспектом лекції від Security Specialist’a Роми. Він розповів, за що відповідальний Security Specialist та через які етапи має пройти додаток, щоб забезпечити найвищий рівень безпеки.

Докладніше про це можна дізнатись в пості.

Час прочитання — 4 хвилини.

До речі, якщо для вас цікавий цей напрямок, ми маємо вакансію до команди Роми.

Sing in (or referral) bonus — $4,000. Якщо для вас або ваших друзів актуальна ця позиція — welcome 🙌

#career_hints
🔥4👏1
⚡️ В нас є для вас цікава та коротка загадка:

Батько та син потрапляють в аварію, і обидва отримують складні поранення. Їх везуть в окремі лікарні. Коли хлопчика забирають на операцію, хірург (лікар) каже: «Я не можу робити операцію, тому що це мій син.»

🧐 Як це можливо?
Відповідь надамо вже дуже скоро, а поки залишайте свої роздуми в коментарях:
🤔6
⚡️ Готові до розгадки?

Хірургом була мати хлопчика. Цей експеримент має назву ‘Дилема хірурга’. Хоч розгадка досить проста, та багатьох ця загадка змушує замислитись. Лише 15% людей надають правильну відповідь, стверджує дослідження Бостонського університету.

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

🔏 Більше про несвідомі упередження розповімо у наступному пості — будемо розвіювати упередження разом.
8🤔1
Привіт 👋

Маємо для вас дещо цікаве. Нещодавно в Dev.Pro пройшов захід на тему «NFT для України: як Crypto підтримує українську армію та гуманітарні місії», де наш спеціальний гість-спікер Денис Андрущенко розповів про криптовалюти, NFT, та що їх чекає в майбутньому.

Ділимось основними висновками в новому пості!

Час прочитання — 3 хвилини.

Денис Андрущенко
— засновник телеграм каналу «Що биткоїтися?», а також співвласник WTFBit.
👍7
Різдвяний розіграш! 🎉

У цю холодну пору року завжди хочеться зігрітися вдома з улюбленими серіалами та фільмами. Dev.Pro хоче подарувати вам більше таких теплих моментів 😍 Виграйте подарункову карту на $100 на один з ваших улюблених стрімінгових сервісів

За тиждень, 15 грудня, ми оберемо переможця у нашому інстаграм Dev.Pro Global!

Щасти! 🍀

P.S. Ви зможете обрати подарункову карту Netflix, Apple або Hulu

Приєднуйся до розіграшу за посиланням 🎁
👍84