Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 5
×
Tech Lead в Fulcrum Rocks
  • Користувачі соцмереж звинуватили компанію Gismart у комунікаціях російською. Як би ви відреагували на таке?

    Ні. Треба мати мізки не пропонувати українцям вакансії в компаніях, де є «міжнародне спілкування» російською в якості саме офіційної вимоги.

  • Предметно-орієнтоване проєктування (DDD): у чому користь підходу і хто його використовує

    інкапсулюйте обрану технологію в доменну модель

    Для цього, спочатку, повинна існувати саме доменна модель. Якщо класи типу Cat не мають в собі бізнес-логіки, то це НЕ доменна модель в термінах DDD. Безвідносно до того, яка саме технологія зберігання даних в них інкапсульована.

    Ну так не робіть дата клас. Зробіть його доменним.

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

    Підтримали: Sergey Lysak, Дід Панас
  • Предметно-орієнтоване проєктування (DDD): у чому користь підходу і хто його використовує

    класс Cat, який описує фактично існуючого в реальному світі кота — це в вашому «ддд» не об«єкт домену

    Але тут я дійсно скоріше згодний із Сергієм. Бо якщо взяти, наприклад, ActiveRecord, то там теж буде клас Cat, от тільки це буде data class, який єдине, що вміє — це зберігати себе в базу та вичитувати з бази (і це ще якщо я не плутаю розподіл обовʼязків в ActiveRecord)

    А ось уся доменна логіка буде деінде, а це й є та сама сумнозвісна Anemic Model, яка вважається майже не «найзлішим» антіпатерном у DDD.

    Ось навіть цитату самого Фаулера знайшов з цього приводу:

    In Martin’s seminal P of EAA book (2002), a Domain Model is defined as ’an object model of the domain that incorporates both behavior and data’. This clearly sets it apart from Entity Objects, which are object representations of only the data stored in a database (relational or not), while the behavior is located in separate classes instead.

    При цьому, anemic model (або, якщо хочеш, розподілення на entity classes та operation classes a.k.a business services) — не є якимось злом сама по собі. Для цілої купи застосувань, де власне бізнес-логіка доволі примітивна (на рівні вказати власника кота Васьки) — більшого й не треба.

    DDD ж створювали для випадків, де саме бізнес-логіка дуже складна, і вимагає детального опису та моделювання. Ризикну припустити, що саме в цих випадках «канонічне» OOD / OOP як раз може добре працювати як засіб виразу цієї моделі в коді.

    То ж, можливо, в проектах, які ви перероблювали за «папередніками», склалася саме така ситуація, коли попри складність бізнес-логіки початково був помилково обраний підхід з «анемічними» entity classes та концентрацією бізнес-логіки в operation classes. Але це говорить тільки про невідповідність обраного підходу до наявної задачі, і ні про що інше.

    Підтримали: Sergey Lysak, Valeriy Shvets
  • Предметно-орієнтоване проєктування (DDD): у чому користь підходу і хто його використовує

    Коли я сам був джуном в самому початку 2000х, я встиг пописати досить багацько коду бізнес-логіки без будь-яких доменних класів. І ваш приклад виглядав приблизно ось так (прохання вважати це псевдо-кодом, а не реальною реалізацією на якомусь конкретному фреймворку, бо я вже не памʼятаю багато специфіки):

    dataSource.beginTransaction();
    
    DataRow owner = owners.add();
    owner["name"] = name;
    owners.update()
    
    DataRow cat = cats.add();
    cat["nickname"] = "Barsik";
    cat["owner"] = owner["id"];
    cats.update();
    
    dataSource.commitTransaction();
    

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

    Та навіть з ORM, якщо умовний клас Cat не містить в собі логіки складнішої, ніж setOwner, то це ІМХО все ще ближче до transaction script, ніж до DDD...

  • Предметно-орієнтоване проєктування (DDD): у чому користь підходу і хто його використовує

    Якщо чесно, не зовсім зрозумів, про що саме лайка. В книжці про патерни enterprise архітектури свого часу було написано, що як і DDD, так і transaction script (це, як я розумію, приблизно відповідає тому, що описав Сергій) мають свої контексти використання.

  • Предметно-орієнтоване проєктування (DDD): у чому користь підходу і хто його використовує

    набігають дотнеччики і аргументують конкретними аргументами зі свого ентіті фреймворк і своїх дотнетівських шаблонів

    Взагалі-то, у Microsoft колись був офіційний гайд по DDD:
    devblogs.microsoft.com/...​nd-sample-app-free-ebook

    Підтримав: Олександр Мощенко
  • Чому Kotlin може бути чудовим вибором для вашого проєкту

    Так это за меня, по сути, уже сделали NASA- уж кому-кому, а им бы вряд ли правительство США разрешило пользоваться программными продуктами, представляющими риск в сфере безопасности...

  • Чому Kotlin може бути чудовим вибором для вашого проєкту

    Учитывая, что в их клиентах числится NASA — думаю, таки нужно. Тем более, важно уточнить, что именно понимается под «russian-controlled», т.к.: собственно к рашистскому государству и правительству JetBrains никаким боком, свою позицию в поддержку Украины они публично озвучили.

    Підтримав: Max
  • Які у вас «червоні прапорці» під час пошуку роботи? Що насторожує в компаніях?

    Да, но, при этом, момент конвертации выбираешь сам (а можешь вообще скирдовать в валюте на ФОП счету — сейчас обязательной продажи валютной выручки нет).

  • Які у вас «червоні прапорці» під час пошуку роботи? Що насторожує в компаніях?

    4)Офис

    А что именно тут является красным флагом? Наличие/отсутствие офиса в Украине? Обязаловка работать в офисе? Что-то ещё?

    Спрашиваю без подколок, просто этот критерий можно по-разному трактовать

  • Які у вас «червоні прапорці» під час пошуку роботи? Що насторожує в компаніях?

    Не погоджуся. Це не параноя, а цілком собі обʼєктивне спостереження — при швидкому рості процеси компанії та її загальна організаційна зрілість не встигають за збільшенням headcount.

    Підтримав: Vladislav Peshekhanov
  • Які у вас «червоні прапорці» під час пошуку роботи? Що насторожує в компаніях?

    працює зі стартап проектами, але кажуть, що вони не овертаймлять

    Ну, взагалі-то, таке буває. Працюю саме в такій компанії, за рік жодних систематичних овертаймів.

    ІМХО багато залежить, як компанія будує відносини із замовником. На попередніх місцях роботи бачив приклади, коли менеджмент максимально прогинається під замовника і пушить команду викладатися на 200% та забезпечити успіх за будь-яку ціну (при цьому, звісно, команда працює за ринкову зарплатню і про ніякі опціони мова не йде). От якщо бачите щось таке — тоді, згоден — run.

  • Вибачте, але без української. Чому нашим розробникам доводиться відмовлятись від локалізації, історія Demon Lord Reincarnation

    Так, це прийшло з твітера: twitterdict.in.ua/posts/express

  • Як провести ефективний Performance Review

    Есть такая крамольная мысль, что OKR могут быть полезными, но, только в том случае, если:

    1. они командные, а не индивидуальные
    2. нет прямой конкуренции между командами (совершенно разные продукты или заказчики)
    Підтримали: Alexander Levinson, Vic
  • Яким ви бачите свій майндсет — продуктовим чи аутсорсним?

    Тут є нюанс. Якщо поточною метою продуктового стартапу є швидка валідація самої бізнес-ідеї за мінімум грошей, то може бути прийняте свідоме рішення зробити MVP з «гівна та палок». Але — за здоровим глуздом, якщо сама ідея отримала product-market fit, таке рішення наступним кроком вимагає викинути повністю на смітник отой перший прототип та переписати все наново вже із застосуванням усіх відповідних патернів та практик.

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

    Звісно, сказане вище не стосується етапу, коли product-market fit ще не знайдено та йде фаза pivoting — на цьому етапі час грає проти власника (хоча б з точки зору витрат бюджету поточного раунду інвестицій), тому, нажаль, продовжувати гівнокодити до досягнення product-market fit може бути єдиним реальним вибором.

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

    Підтримали: Kostiantyn Kudriavtsev, Denys
  • Яким ви бачите свій майндсет — продуктовим чи аутсорсним?

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

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

    Щодо ж тестування або написання документації, то це зазвичай просто речі, які розробники не дуже люблять робити.

    Підтримав: Kostiantyn Kudriavtsev
  • Прохання допомогти в популяризації ідеї задуматися про відхід від російського месенджера тєлєграма, найпопулярнішого наразі серед українців

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

    Та і цей, ТГ виграє оперативністю (особливо зараз, у воєнний час). Ніякий RSS такої оперативності не забезпечить

  • Як вам реліз iOS 17 та новий iPhone? Обговорюємо

    Не зовсім розумію, які саме виробники. Телефонів

    Телефонів та планшетів.

    І де можна подивитись, чи телефон топовий, чи ні?

    Ну, мабуть, ніякого офіційного переліку немає :) Раніше вважалося, що топові — це преміальні моделі від Samsung, Huawei та ще (з натяжкою) OnePlus

    В мене валяється андроїд планшет (леново) з 2 гб ОПУ, так на ньому взагалі неможливо працювати.

    Так, нажаль, Леново — це взагалі днище. Втім, це взагалі «біч» бюджетних моделей, де заради маркетингу виробники пхають останні версії Андроїду на залізо, яке ледве-ледве їх тягне, на відміну від Епл, яка ніколи не дозволяє оновлювати старі моделі на ті версії iOS, які не будуть на них нормально працювати.

    Може на супер топах таких глюків і не буде, але я ризикувати не збираюсь, підкоплю на 13 міні і буде мені років на 10)

    Так будь ласка, нібито я когось вмовляю відмовитися від iPhone )

    Втім, маючи Samsung S21, ніякого бажання переходити на iPhone не виникає (хоча в мене він був свого часу, і купував я його саме тому, що тоді навіть не дуже бюджетні смарти на Андроїді відчутно гальмували та глючили. Але то було за часів Android 4.x)

  • Як вам реліз iOS 17 та новий iPhone? Обговорюємо

    страждав з S23 Ultra при оплаті через PayPass, але там ще й доводилось телефоном по терміналу совати, бо той NFC модуль/Google Wallet не могли з першого разу домовитись із терміналом про оплату

    Ну то, можливо, саме в S23 щось наплужили, бо я з S21 постійно плачу через NFC, і совати телефоном по терміналу доводиться лише тоді, коли в термінала NFC антена не в тому місці, де її очікуєш (у деяких терміналів вона під екраном, а в деяких на спеціально позначеному місці зверху екрана)

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

    Ну це взагалі цікаво, бо я ніколи б не довірив свої картки ніяким стороннім додаткам, тим більше що через Google Pay та Google Wallet все й так працює

    Про якість та консистентність стороннього софту

    З цим і на iOS все далеко не ідеально (мав iPhone та знаю, про що говорю)

    Про інші девайси на андроїд, нажаль, нічого не можу сказати, бо не маю і не мав таких 🤷‍♂️

  • Як вам реліз iOS 17 та новий iPhone? Обговорюємо

    ейрдроп не потрібен

    Ну принаймні у Самсунг аналог аірдропу є, і це дуже корисна штука. Жаль, працює лише між мобільними девайсами

← Сtrl 1... 34567...188 Ctrl →