Підхід при плануванні архітектури веб-проєкту

Telegram dou#techПідписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті.

Яким повинен бути підхід при плануванні архітектури веб-проекту? Як правильно міркувати? Наприклад, коли проект починається грубо кажучи з форуму, а закінчується майданчиком послуг з відео-, ауді- зв’язком, чатом та елементами соціальної мережі та іншими сервісами, які сильно відрязняються від «форуму». Чи існує який-небудь підхід або принцип, притримуючись якого, в майбутньому не потрібно було переписувати код з самого початку? Сподіваюсь ви мене зрозумієте і зможете чимось допомогти. Бо я трохи розгубився.

👍ПодобаєтьсяСподобалось1
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Головний підхід це ***к, ***к і в продакшн.
А якщо серьйозно то головний підхід це без ТЗ результат ХЗ.
Якщо замовник не знає чого він хоче ви йому ніколи не зробите те що він хоче.
ТЗ! ТЗ! ТЗ!

Можете спробувати взяти щось готове із перевіреного і безкоштовного на старт, наприклад Odoo
www.odoo.com/app/forum
www.odoo.com/app/voip-features
www.odoo.com/app/live-chat

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

Загалом, якщо маєте бізнес-план, то може бути варіантом домовитись з автором Фракталу, котрий тут зараз рекламує свою систему. Йому вигідно отримати перший реальний проект, вам — вигідно дешево і швидко вийти до реальних користувачів. З іншого боку, при цьому, як кажуть британці, ви кладете свої яйця йому до корзини — якщо він образиться, то проект потрібно буде переписувати з нуля, а це — time to market та гроші. Але якщо зможете заробити гроші з версією на Фракталі — тоді вже буде не так страшно і переписати на чомусь іншому, якщо Фрактал не триматиме навантаження чи потрібну швидкість змін функціональності. Десь таким чином стартанув WhatsApp thechipletter.substack.com/...​-to-whatsapp-the-story-of

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

Дякую, але, щоб мати повну картину.
Умовно кажучи, якщо я хочу написати MVP, то в мене є вибір.
1. Взяти існуючи технології, це місяці роботи, дорогі спеціалісти
2. Взяти ФП та спробувати за тиждень-два стоврити MVP та перевірити ідею стартапу.
Тобто різниця в потужностях на розробку між цими підходами настільки істотна,
що є зміст ризикнути навіть за маловідомими технологіями.
Навіть якщо втратиш тиждень-два, це не критично, ти пішов по економному шляху.
Натомість, якщо ти почнеш на класичних технологіях, та закінчаться гроші\бажання\не вгадав з архітектурою через кілька місяців, то стартап не виживе 100%. Та навіть якщо почне генерувати прибуток, потрібно бути відняти затрачені на нього зусилля\гроші\час і він може виявитися збитковим, а на ФП — прибутковим, бо зусиль набагато меньше.

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

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

Так і є. Але я трошки про друге. Для стартапа ФП це майже критична штука,
незважаючи на існуючи недоліки.
Грубо кажучи, якщо на стартап потрібно купити 4 веброзробника, на кілька місяців, це та сума, яку просто можуть не заплатити. Тож або ФП, або скоріж за все взагалі ідея залишиться не реалізованою. Нажаль. Сучасні методи розробки коштують дорого, та ще гірше, не дуже гнучкі при зміні вимог.

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

А грошей — вже нема)

Не зовсім зрозуміло, як гроші можуть за два тиждні закінчиться. =)
Як же тоді засновник планував місяці з командою витрачати на розробку.

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

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

От якщо взяти умовний bubble, та впертися в якісь обмеження на фундаментальному рівні, от там так. Ніхто спеціально під тебе платформу міняти не буде.

Не зовсім зрозуміло, як гроші можуть за два тиждні закінчиться. =)
Як же тоді засновник планував місяці за командою витрачувати на розробку.
Грубо кажучи, якщо на стартап потрібно купити 4 веброзробника, на кілька місяців, це та сума, яку просто можуть не заплатити. Тож або ФП, або скоріж за все взагалі ідея залишиться не реалізованою. Нажаль.

Якщо грошей одразу мало, то ви їх усі з’їсте.

Цю платформу я знаю як свої пять пальців, як зовсім піде все погано, я докостиляю на С# та С++ будь-які кастомні штуки, потягне будь-які мейнстрімні навантаження.

1) Bus factor, воєнкомат 2) Можливі архітектурні негаразди всередині платформи 3) Прийшов більший юзер, що має більше грошей, і хоче від вас щось інше вотпрямщас. 4) Фігвіддебажиш.

1) Bus factor, воєнкомат 2) Можливі архітектурні негаразди всередині платформи 3) Прийшов більший юзер, що має більше грошей, і хоче від вас щось інше вотпрямщас. 4) Фігвіддебажиш.

Скажу дуже коротко. Вибору нема. Або дістань з кишені умовних $20к вже на старті, на проєкт що 90% не взлетить/не буде прибутковим,
або візьми інструмент ефективніший на х10, але з певними ризиками вижче.

Поки комуніті розмірковує, які технології краще, на ФП за останній тиждень додалось ще три нових невеликі проєкти: ImageHosting, SiteScanner, Electricity.
Вони б просто не могли бути створені, якщо б їх писали на класичних засобах розробки. Це просто не вигідно, перш за все по часу розробки.
З ФП це стає економічно доцільним, навіть якщо сервіс потрібен всього кільком людям.

Або знайди когось, хто за $5k розгорне готовий движок для форуму та буде його адмінити за $500 на місяць.

Якщо вже є готовий движок який повністю відповідає вимогам стартапу, та істотні півоти стартапу не світять, то звісно треба брати та не морочити голову з ФП )
Але, якщо щось готове знайти довше, чим написати на ФП, то треба брати ФП.
Ось коли мені потрібен був вчора fraplat.com/jupiter/ImageHosting, сервіс для анонімного завантаження фото в інтернеті, накшталт ibb.co тількі без банерів та виїзджаючих меню, я його створив за 15 хвилин під себе.

сервіс для анонімного завантаження фото в інтернеті, накшталт ibb.co тількі без банерів та виїзджаючих меню

А навіщо він треба, коли їх є купа безкоштовних?

А навіщо він треба, коли їх є купа безкоштовних?

Тепер до купи є ще один безкоштовний, без банерів

Коли він почне окупатись?

Коли він почне окупатись?

Він був написаний, бо це зайняло рівно 15 хвилин.
Як би це зайняло пару годин, або як на класичних засобах розробки — день, я би його вже не писав.

Тож, якщо він буде використаний, нехай для завантаження лише 100 малюнків в інтернеті, та не буде дратувати банерами мене та інших, буду вважати що він окупив 15 хвилин мого часу =)

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

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

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

Правильно казали, що на початку йде моноліт або гексагональна архітектура — так швидше можна почати програмувати, менше треба думати, і перший час простіше виправляти помилки martinfowler.com/bliki/MonolithFirst.html А далі — програмісти самі розберуться, якщо це «далі» дійсно буде.

має існувати багато готових движків, як от ДОУ.

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

Заходьте до чатику t.me/swarchua
Трохи його розштурхаєте

Яким повинен бути підхід при плануванні архітектури веб-проекту? Як правильно міркувати?

Не лише веб-проекту en.wikipedia.org/...​ki/Architecture_framework
На практиці все закінчиться C4+напрацьований стандарт SAD
Але якщо ви задаєтесь таким питанням, то напевне треба дивитись TOGAF. По ньому купа лекцій/матеріалів.
Ще легковаговий варіант почати з книги Software Architecture in Practice.

Чи існує який-небудь підхід або принцип, притримуючись якого, в майбутньому не потрібно було переписувати код з самого початку?

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

треба дивитись TOGAF

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

Курс NT-TOGAF TOGAF. Створення та управління IT-архітектурою підприємства

Тобто рішення ціною $500k, замість
рішення за умовних $5k+.

Всеж таки аутсорц дає про себе знати.

Я правильно розумію, що ви зараз на доу відіграєте роль бунтаря-дурника? Ну там за всілякі ФП, проти ООП, аутсорса та іншого мейнстріму?

Чи Dmitry Kopaev (dou.ua/...​0/?from=forlatest#2705525 ) має якісь особисті рахунки з вами?

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

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

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

Проте ви все ж почитайте, що таке тогаф та інші архітектурні фреймворки.

Що таке TOGAF зрозуміло. Цитата

he Open Group Architecture Framework (TOGAF) is the most used framework for enterprise architecture as of 2020[2] that provides an approach for designing, planning, implementing, and governing an enterprise information technology architecture.[3] TOGAF is a high-level approach to design. It is typically modeled at four levels: Business, Application, Data, and Technology. It relies heavily on modularization, standardization, and already existing, proven technologies and products.

Скажи будь-ласка, а ToDo List ти теж за допомогою TOGAF пропонуєш будувати?

це відповідає на моє запитання.

На яке саме запитання, на це ?

всілякі ФП, проти ООП

Так, Low-Code та No-Code це і є сучасна заміна «мейнстрім» програмуванню, особливо коли йде мова про досить прості и не дуже проєкти.

bubble.io/how-to-build

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

Там і форуми і інстарграми і тіндери і медіа і маркетплейси и що завгодно.
І навіть без ООП та TOGAF.

нічого там особистого немає.

просто чел всюди пхає свій власний «легасі» на C# і видає його за панацею від усіх проблем.
щойно написаний, нікому окрім нього не цікавий і не потрібний, з повністю відсутньою документацією, без оголоценої ліцензії.

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

2. раптом що не працюватиме — навіть нема в кого спитати.

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

4. покажть мені екстремала, хто готовий використовувати продукт без попередньо оголошенних умов використання? (ліцензії)

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

всюди пхає свій власний «легасі» на C#

В цій темі я лишив коментар, тому що автор написав про конкретні речі, а саме:

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

І так сталося що і форум і медіа майданчик, реалізовано на ФП, тож я привів конкретні приклади та посилання на код, щоб автор зміг порівняти як проєкт може розвиватся з форуму і далі до медіа порталів, з архітектурою без суттєвого «переписування» коду.
dou.ua/...​rums/topic/45550/#2705427
Вважаю цю відповідь не менш конструктивною, ніж «читай TOGAF» або «спілкуйся з GPT»

з повністю відсутньою документацією

Розумію, що документації завжди не вистачає, але вона звісно є:
1. В друкованому форматі, у вигляді вікі, наприклад: fraplat.com/wiki
Більш як 200 сторінок в трьох розділах справочної інформації. Є багато інших (закритих) документів, що описує різні аспекти функціональності.
2. Є багато відео курсів, з більш як 40 відео в кількох курсах для початківців.
Також є певні відео в відкритому доступі
www.youtube.com/...​5yQEBm-oR83qyhMH8Tg0zCCwA
Тож, якщо в вас дійсно є бажання навчитися, та опанувати щось нове, що дійсно економить час та зусилля, навчитися не проблема. Також документація щодня обновлюється та доповнюється.

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

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

раптом що не працюватиме — навіть нема в кого спитати.

Над проєктом працює кілька людей. Так, ви праві, що найбільша експертиза в мене, але мати україномовного ментора, та людину що відповість на всі питання, це не зовсім «навіть нема в кого спитати». Чи не так ? Спитайте в мене, почитайте документацію, подивіться відео, полистайте опенсорц. Варіанти є та вони доступні.

хто в наш час в здоровому глузді буде в себе запускати закритий код від ноунейма?

Це не відповідає дійсності. Єдиний код який вам потрібно запускати, це опенсорц, що збирає ваш проєкт з відкритих сорців на вашому компьютері та деплоїть його в хмару. Тобто код повністью відкрито і все що він робить, розгортає та запускає додаток не на вашому компьютері, а на нашій віртуальній машині
github.com/...​ractalPlatform.Deployment
Як це робиться, ви можете переглянути в цьому відео
www.youtube.com/watch?v=c99Eeb4bQ3k&t=6s

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

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

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

форум і медіа майданчик, реалізовано на ФП

це навіть коментувати безглуздо — досить подивитись на реалізацію.

Розумію, що документації завжди не вистачає, але вона звісно є:

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

2. Є багато відео курсів, з більш як 40 відео в кількох курсах для початківців.

ага, і дали посилання на свій канал, де 5 відео, 4 з яких залиті суто під ваш коментар 2-3 години тому, та й ті зібрані на скору руку і російською мовою.

Тож, якщо в вас дійсно є бажання навчитися

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

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

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

Спитайте в мене, почитайте документацію, подивіться відео, полистайте опенсорц. Варіанти є та вони доступні.

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

Це не відповідає дійсності

не бачу сорсів цих ліб:
FractalPlatform.Client.dll
FractalPlatform.Common.dll
FractalPlatform.Database.dll
як я можу бути впевнений, що вони не зливають приватну інформацію кудись на сторону?

Продукт в беті, тобто наразі абсолютно безкоштовний

ви ще плануєте це продавати???? ))))))))) УДАЧІ

Продукт в беті, тобто наразі абсолютно безкоштовний

це ви юристам скажіть.

Але, мова зараз йде про скорочення розробки в десятки разів

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

ПС. Це не запрошення до дискусії, тому можете не відповідати.

Нажаль, Дмитро, ми знову втратили конструктив.
Я би міг знову написати довгий пост, наприклад тут.

не бачу сорсів цих ліб:
FractalPlatform.Client.dll
FractalPlatform.Common.dll
FractalPlatform.Database.dll
як я можу бути впевнений, що вони не зливають приватну інформацію кудись на сторону?

Про рефлектор, або про те, що ці DLL [b]не запускаються[/b] на машині користувача, а лише відіграють роль інтерфейсів. Цей код запускається лише в клауді.

Або тут

краще вже Дельфі.

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

Але, щоб вам відповідати, потрібно розуміти вашу мотивацію.
Якщо б вона була, наприклад.
1. Мені сказали, що мій проєкт на PHP потребує 4 місяці розробки, скільки це буде на ФП?
Чи справді я перший результат отримую вже через тиждень?
2. Мої вимоги швидко змінюються, чи справді ФП допомогає швидко адаптувати існуючий код до нових вимог, а не переписувати щоразу?
3. Я хочу спробувати ФП, чи є навчальні матеріали? Як мені отримати доступ до решти навчальних матеріалів, який план навчання?
4. Я бачив сайт з гарним дизайном, чи можна такий самий сайт з таким сами дизайном створити набагато швидше за допомогою ФП?
та ін.

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

Про рефлектор, або про те, що ці DLL [b]не запускаються[/b] на машині користувача, а лише відіграють роль інтерфейсів. Цей код запускається лише в клауді.

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

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

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

Я маю досвід комерційної розробки з 2003 року, ще від Дельфі 4 і ПХП 3,
і я також писав повністю самописні продукти.
тож на свому досвіді знаю ваші перспективи.

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

Розкажіть це розробникам ScyllaDB з їхнім самописним фреймворком або тим хлопцям з WhatsApp що вирішили зав’язатись на езотеричний Ерланг.

а ще є сотні чи навіть тисячі тих, чиї назви ви не знаєте.

uk.wikipedia.org/...​iki/Упередження_виживання

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

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

для порівняння — в мене фронт забирає приблизно стільки ж часу, скільки і бек на ПХП,
то я так собі прикидаю, що він себе сильно переоцінив,

Так навіщо далеко бігати.
Ось же є форум, який написаний на 350 рядків коду.
fraplat.com/jupiter/RawForum
github.com/...​um/RawForumApplication.cs

Там є
У функціональності для користувача: реєстрація, логін, створення топіків, створення повідомлень, перегляд того, хто і коли зареєстрований, цитування повідомлень.
У функціональності для адміністратора: редагування категорій / топіків / користувачів.

Цей форум в мене зайняв 2(3) дні розробки (чи ви не вірите що 2 дні вистачить щоб написати 350 рядків коду?).

А тепер головне питання. Скількі з аналогічною функціональністю форум буде коштувати з нуля на ПХП

А чому з нуля? Хіба фреймворків нема?

А чому з нуля? Хіба фреймворків нема?

Томущо фреймворки то не дуже гнучке рішення.
Ось приклад, є така доробка для сайту форуму, реєструвати користувачів прямо в темі
velokyiv.com/...​iewtopic.php?f=1&t=177212

І ? На якому фреймворку це можливо ?
Якщо я не використовув фреймворк, яб таку функціональність докинув за годину, а не вичитував мануали та думав як натягнути сову на глобус в черговому фреймворку.

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

Проблема в тому, що стати «вами» буде не набагато простіше, ніж розібратись в черговому фреймворку.

Там немає нічого складного.
Я навіть колись перевіряв через GPT, береш любий код з мого прикладу, та питаєш в нього. Він тобі розказує, хоча навіть ніколи не бачив ФП в житті.
Бо код дуже простий, та зрозумілий.

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

Як би ти спробував, відразу зрозумів.

То ж проблема не реверс-інжинірити готовий код, а запам’ятати, які ваш фреймворк пропонує методи і для чого. Як, мабуть, і з будь-яким фреймворком. І навіть з останніми стандартами С++.

Треба пробувати. Як я навчився то і інші навчатся. Моя мета була спростити розробку на скільки тільки можна. Я її спростив.

це не так працює.
коли замовнику треба машину — ви намагаєтесь впарити бричку зі словами: «чотири колеса, є де сісти, може їхати».

Що саме бричка ?
Це клон sqlnet форуму, майже один в один.
Такий самий клон можна створити на доу, один в один.
Ну не за два-три дні. Я писиміст. Але за тиждень+ можна.

а навіщо клон sqlnet, якщо мова була про клон ДОУ?

час вже давно йде, а ви пів дня втратили на балачки ))

наразі нічого схожого з ДОУ я не побачив.
для початку:
1. деревовидні коментарі.
2. автоматичне згортання занадто довгих гілок.
3. підсвітка нових відповідей з останнього візиту і навігація по ним.
4. останні коментарі в сайдбарі.
5. нотифікація співрозмовників.
6. ну і інтерфейс, навігація, динаміка, інлайн функції

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

щоб впарити аби що стандартне — не треба навіть нічого писати, можна взяти готовий движок типу punBB, Invision, vBulletin і там буде вже все з коробки і навіть в рази більше.
якщо раптом чого бракує — є повно плагінів. це по суті і є ваш «no-code», коли треба лише обточити напильником, тільки у вас це вже 350 рядків коду, а з готовим движком і плагінами мабуть не прийдеться написати ні одного.

одним словом, не витрачайте час на розмови, а сідайте писати —
почніть зі списку тем — dou.ua/forums
і не забувайте про ЮІ

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

І якщо захочете персональний доу, вам бонус. Темами на 10к коментів буде значно швидше оперувати ніж оригінал.
Так вже сталось, що ця «бричка» їздить швише ніж оригінали. Це можна навіть побачити по наявним веб прикладам, що там час опускається до 12-15 мс на відповідь.

добрались таки до суті ))

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

Це можна навіть побачити по наявним веб прикладам, що там час опускається до 12-15 мс на відповідь

скільки гігабайт даних у вас там в базі лежить?
дерево коментарів вже будуєте?

В вас немає грошей, але ви хочете доу безкоштовно? Так не працює. Доу на пхп писати 2-3 місяці, я можу зробити вам знижку 50% але це все одно буде дорого. Безкоштовно тільки RawForum з шоуруму.

коли трапляється задача з реального життя, а не ваша віртуальна,
то починається «дайте грошей»

Там документоорієнтована база та key/value storages.
Дерева там як риба в воді, на відміну від пхп та реляціонок. Чи ви думали що прискорення розробки та швидкості в х10 разів можна отримати на класичних технологія ? Звісно ні. На то має бути підгрунтя.

Дерева як риба, доки не вперлись в I/O жорсткого диску.

Все пізнається в порівняні. Якщо в вас дерево лежить в реляційній базі в структурі (Id, ParentId), то воно буде працювати приблизно на два порядки повільніше ніж, якщо воно буде лежати в древовидній якісь k\v структурі.
Я думаю доу виживає тільки тому, що кешує повністю сторінки.
Але ФП теж таке вміє і значно ефективніше. Через ReactCache.

Для деревовидної структури потрібно або бігти з рута, що значить декілька (десяток?) рандомних читань з диску, або треба зберігати хеш мапу ключів в рамі, а рама закінчується, і треба весь час ту мапу дампити на диск, щоб не втратити дані якщо живлення випаде. Тут вилазить питання HDD vs SSD. Ще треба постійно бекапити зміни через мережу, на випадок коли диск почне сипатись, або ракета прилетить до дата центра.

Що і що ми порівнюємо. Якщо кратко.
Реляційні бази данних VS K/V VS Documented,
якщо мова про дерева — виграють останні.

А теперь мінутка практікі, форум RawForum
Середній час обробки запиту, навіть без кешів, від 2 до 10 мс.
Амінь.

fraplat.com/...​9a712.png&newSession=true

Скільки наразі коментів в базі форума, скільки йде паралельно запитів на читання, редагування та додавання нових коментів?

Себто, якщо форум швидко працює для одного користувача — то, може, він комусь і знадобиться під інтернет-магазин. Але в ДОУ навантаження більше, а в Реддіта — ще більше.

Скільки наразі коментів в базі форума, скільки йде паралельно запитів на читання, редагування та додавання нових коментів?

Це майже немає значення. Навіть якщо ті всі запити не будуть виконуватися паралельно, та стануть в чергу з латенсі в 2-10 мс, це десь 100-500 запитів за секунду.

Але в ДОУ навантаження більше, а в Реддіта — ще більше

В доу навантаження невелике. Може 1-2 комента за хвилину в середньому. Перегляди, ну може 10 за хвилину.

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

Це майже немає значення. Навіть якщо ті всі запити не будуть виконуватися паралельно, та стануть в чергу з латенсі в 2-10 мс, це десь 100-500 запитів за секунду.

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

Перегляди, ну може 10 за хвилину.

При 100 000 користувачів? Ще ж буває хабраефект. Форум не має відвалитись, коли почався двіж.

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

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

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

Ще були б гроші від тих клієнтів...

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

моя субд

в мене закрадається підозра...
а що це за «моя субд»?
тільки не кажіть, що також самопис ))

І чому тойже k/v не може бути самописом noSql? Ніколи хештаблиці та різні близькі до них структури не імплементував? Ну буває.

тобто самописна БД, котра вміє лише key/value — це максимум, доступний для потенційного клієнта цього фреймворка? )))

сьогодні мабуть вже нічого не переплюне цей факт ))

тобто самописна БД, котра вміє лише key/value

З чого ти взяв? Там просто правильна абстракція, k/v документи форми.
В мене є RDBMSDimension, якщо хочеш проксюй, вивантажуй, завантажуй в MS SQL свої дані, я тільки не знаю навіщо тобі. Ну може для аналітики, але певний діалект SQL там й так реалізовано.

fraplat.com/...​ac37c.jpg&newSession=true

В вас немає грошей, але ви хочете доу безкоштовно?

це ж не я пальці розтопирюю, що ДОУ можу написати за тиждень.
і не я намагаюсь «продати» фреймворк без документації, ліцензії, ще й з закритим кодом.

Там документоорієнтована база та key/value storages.

тобто ви форум написали на key/value? ))
реляційні хоч підтримуються взагалі, чи треба доплатити, щоб ви дописали підтримку реляційних БД? ))

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

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

А чому саме для одного проєкту? Це універсальна та добре масштабована платформа, яка в плюс має вийти вже з першими клієнтами. А те що вона отримує перших клієнтів — навіть не сумнівайтесь. Мене тішить, що навіть коли є лише один клієнт (лише я, наприклад, лол)
ФП генерить корисні проєкти один за одним.
Seasons — онлайн кінотеатр
Weather — сайт з погодю
ImageHosting — хостінг малюнків
VideoLibrary — портал для перегляду 3д відео
WorkOutTracker — щоденник для спортивних результатів
RawForum — форум
UTube — прототип ютуба з каналами
BTCRate — котировки біткоїна
та багато іншого.

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

Я маю досвід комерційної розробки з 2003 року, ще від Дельфі 4 і ПХП 3,
і я також писав повністю самописні продукти.
тож на свому досвіді знаю ваші перспективи.

Це добре, та заслуговує поваги.

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

Це одвічне питання. Чому в інтернеті немає лише одного сайту з погодою, бо другий за такою логікою вже зайвий. Або якщо є ютуб, то чого є ще 500 сервісів які крутять відео в інтернеті.
Якщо ти питаєш чому я створював свої версії цих сервісів.
1. Протестити платформу, що це дійсно можливо
2. Погоду показує без банерів. Відео ютуб крутить без реклами.
Захватувати ринок не планував, для цього треба щоб розробку ініціював маркетолог, який знає як просувати продукти. Але в мене не було такої мети. Це тестові продукти, для власного користування + ще для когось, кому потрібно.

А чому саме для одного проєкту?

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

мене років з 10-12 тому намагались перевчити на Ruby on Rails — суто для одного проекту, бо замовник знав Ruby, але не знав PHP.
з того часу я не мав більше жодного проекту на Ruby і навіть не прагнув.
час на навчання вважаю марно втраченим перыодом життя.
те ж саме і з вашим фреймворком, тільки він навіть поруч не валявся з ROR.
ROR trend — trends.google.com/...​all&q=ruby on rails&hl=en

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

це єдине, в чому я з вами згоден.

мене років з 10-12 тому намагались перевчити на Ruby on Rails — суто для одного проекту, бо замовник знав Ruby, але не знав PHP.

Так ти упускаєш головну деталь. Ні рубі ні пхп тобі не дасть якогось великого буста, скажімо, при клонуванні доу (чи підстав інший проєкт).
Це дві майже рівнозначні технології. Якщо вони рівнозначні, то навіщо щось вчити нове? Тобто що там, що там місяць роботи.
А ФП дасть, і це буде лише тиждень роботи. Тож навіть якщо це будет тиждень навчання + тиждень розробки, все одно це буде в два рази швидше ніж на рубі чи пхп.

Ну от Джанго був таким бустом. Але не витіснив інші фреймворки.

Джанго був таким бустом

Джанго то типове MVC, якщо не помиляюсь.
Тобто ніякого бусту в порівнянні з тим же ASP.NET MVC не дасть. Такий як і всі інші. На клонування доу я би на ньому брав місяць або краще два, що найменьше.

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

поки все, що «тестують» ваші випадкові юзери — генерує баги.
що там було? лайки від незареєстрованих юзерів призводили до 500 помилки?
я завантажив картинку — також помилка.

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

календар вже зробили?
умовному замовнику форума ДОУ потрібно налаштувати відкладені публікації на форум, або зробити юзерам календар з нотифікаціями, рекаррінг і цілоденними івентами з підтримкою таймзон.

поки все, що «тестують» ваші випадкові юзери — генерує баги.

В мене в клауді всі ходи записані.
Правий нижній графік — healthy, помилки що генерували додатки . Сьогодні їх не було. Доречі це все теж написано на ФП. Що у вас там з готових фреймворків є, якщо я хочу написати аналітику, багато аналітики, для клауду?

fraplat.com/...​44d9c.jpg&newSession=true

не всі:

fraplat.com/...​f4831.jpg&newSession=true

Something went wrong.
Error: [ER-1064] tag=dea04165aad34e32bd0643d7726f4831.jpg&newSession=true application is not deployed.
See forum discussion

Ти урлу поламав і цю помилку я зараз вже бачу
fraplat.com/...​a20fb.jpg&newSession=true

я урлу поламав??? комедія )))
цю урлу мені виплюнув твій хостинг зображень.

всьо, не продав ти свою шляпу.

Так, був такий баг. Але він виправлений вже давненько, перевір.

тримай ще один баг —
по цьому урлу — fraplat.com/jupiter/ImageHosting
я бачу ось цей малюнок — fraplat.com/...​34299853cf92c775a20fb.jpg

раніше там була форма для завантаження,
в режим інкогніто — форма для завантаження.

тримай ще один баг —
по цьому урлу — fraplat.com/jupiter/ImageHosting
я бачу ось цей малюнок — fraplat.com/...​34299853cf92c775a20fb.jpg

Це не баг, це фіча, твоя сесія зберіглась.
Якщо не хочеш щоб зберіглась,
fraplat.com/jupiter/ImageHosting?newSession=true

Але я тебе зрозумів, можливо для деяких додатків я додам можливість відключити сесію

це не фіча, це баг, при чому суттєвий.
юзабіліті відсутнє на всіх етапах.

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

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

1. після завантаження отримую посилання, котре не працює і видає помилку.

Виправлено.

2. випадкове посилання на інше зображення
зберігається в моїй сесії і можливість завантаження іншого зображення «зникає»

Виправлено.

3. немає можливості відновити функцію завантаження без очистки сесії в налаштуваннях браузера.

Виправлено.
Можешь перевіряти.

ще трошки і прийдеться виставляти рахунок за багтестинг.

як раз вистачить щоб оплатити розробку клона ДОУ.
хоч разом посміємось )))

як раз вистачить щоб оплатити розробку клона ДОУ.

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

будь-що розроблене на цьому фреймворку має один шлях — в сміттєвий кошик.

розширити онлайн кінотеатр — це вже виходить за межі фреймворка і вже скоріше зібрання модулів для ЦМСки.

ще бракує клієнтів для IRC та FidoNet.
і WAP

розширити онлайн кінотеатр — це вже виходить за межі фреймворка і вже скоріше зібрання модулів для ЦМСки.

Нічого не зрозумів. Ти про свій досвід з пхп?
Та забудь про нього, це технології 20ти річної давнини.

ФП на дві голови краще. Докинути юзерів, та списки відтворення ну може пів дня роботи. А може й меньше.
Ну ще дизайн гарний зробити, але в мене вже є дизайнер що мені допомагає, зробить.
Тож ФП стимулює думати категоріями продукту, а не скільки треба страждати на якомусь джанго чи пехапе.

Н — некомпетентність.

порівнювати феймворк на C# з мовою програмування PHP — це як порівнювати англійську поезію Шекспіра з французською мовою.

категорії продукту, бггг )))

з мовою програмування PHP

Можу помилятися, але можливості С# більші за php. А все що не можливо втиснути в ФП, можна дописати розширеннями на С#.

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

github.com/...​SiteScannerApplication.cs

календар вже зробили?
умовному замовнику форума ДОУ потрібно налаштувати відкладені публікації на форум, або зробити юзерам календар з нотифікаціями, рекаррінг і цілоденними івентами з підтримкою таймзон.

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

Software Architecture in Practice

Це де розбирають архітектуру тренажерів та бортових систем F16? О так. Це чуваку допоможе створити форум.
Про TOGAF мовчу взагалі. Звісно можна їздити на роботу на КРАЗі, але є багато але.

Чи існує який-небудь підхід або принцип, притримуючись якого, в майбутньому не потрібно було переписувати код з самого початку?

З часом переписати з початку (без вже непотрібних фіч) буде швидше ніж оновлювати старе.
Чим краща архітектура і сильніша тех команда тим більше часу пройде.

По твоїх питаннях видно що в тебе дуже низький рівень в архітектурі, ти або джун/мід або не інженер.

Якщо перше, то гугли software architecture, курсів, книжок, ютубу куча. Наприклад www.freecodecamp.org/...​re-architecture-patterns

Якщо не інженер то шукай експерта з досвідом хто тобі на твоєму конкретному прикладі скаже як правильно.
Якщо немає грошей на консультантів чи знайомих архітекторів, то поговори англійською з chatGPT так як ти б говорив з найнятим спеціалістом. Задаєш конкретні питання, уточнюєш їх. Типу «я хочу написати форум, алеьпотім зробити з нього соц мережу. Які можуть бцти проблеми, що хрлбити щоб уникнути переписування всього, як мігрувати юзерів з форуму в соц мережу» і т.п.
Це займе кілька годин але ти отримаєш хоч якесь уявлення як такі проблеми вирішуються. І що вартує питати в потенційного СТО чи підрядника.

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

Проблема в тому, що мені потрібно найняти людину для розробки, а вибір технологій дуже великий. Навіть той же чат GPT , умовно кажучі, для «форуму» пропонує для бека PHP, а вже для чатов, аудіо- та відео- дзвінків — Node.js. Вот як це все можна поєднувати? На чому все ж таки писати? Які тут можуть бути варіанти. Можливо ти зможеш мені порадити якогось спеціаліста.

Проблема в тому, що мені потрібно найняти людину для розробки, а вибір технологій дуже великий. Навіть той же чат GPT , умовно кажучі, для «форуму» пропонує для бека PHP, а вже для чатов, аудіо- та відео- дзвінків — Node.js. Вот як це все можна поєднувати?

TL; DR Якщо ти не в темі, то шукай не технології та виконавців, шукай СТО що вивезе проект.

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

Дякую за відповідь, Констянтин) Але де знайти цього СТО та як зрозуміти що він дійсно СТО? В мене немає таких знайомих. Що у нього повинно бути в «резюме»? Просто майже кожен програміст десь в глибині душі, а може і на поверхні, може вважати себе тим самим СТО.

як зрозуміти що він дійсно СТО?
може вважати себе тим самим СТО.

Відсіяти самозванців досить легко:
1) він погодиться на зп нижче медіани доу для сто
2) він погодиться писати все сам, без команди
3) в нього немає років 5 комерційного досвіду, бажано в стартапах.
Далі треба спілкуватись та оцінювати здатність кандидата вивезти проект, його зацікавленість та сумісність з іншими стейкхолдерами

Але де знайти цього СТО

Ви не зовсім правильно ставите питання.
Правильне питання — де знайти гроші на СТО і Ко.
Скоріш за все, перший місяць закінчиться тим, что він буде отримувати $40-70 на годину,
уточнювати вимоги та малювати графіки. Тож в перший місяць ви спалите десь $10k-$20к,
а в підсумку будете мати щось типу кілька діаграм, та в кращому випадку логінку.
Почитайте щось про економний стартап, може зрозумієте, чому 90% з них не виживають.
Багато з тих, хто визветься, прийде просто майнити гроші за рахунок інвестора.

Дякую, але як на мій погляд, клієнтів краще шукати на фріланс біржах.
З тих можливих фаундерів, що я вже встиг поспілкуватися на доу, зазвичай 80% не мають ТЗ,
та створюють теми просто щоб обговорити ідею, що на 95% ніколи не буде втілена в життя навіть як MVP. На фріланц біржах так, люди приходять з грошима та з конкретною метою.

То там питали де СТО шукати, а не клієнта

Я можу поставити пляшку шампанського, що ніякого СТО не буде =)
Мій топ фаундерів на доу:
1. Людина зібрала десь 10 людей в чаті, на другий тиждень обговорення «я не знаю чи це потрібно клієнту». Це було останнє повідомлення в тому чаті.
2. У людини має бути стартап, який на 95% складається з внутрішніх скрінів для аналітиків, але хоче щоб все було СПА. На рахунок, чи дійсно це важливо для MVP, можливо якось розділити де СПА де внутрішні скріни та на останніх зекономити — вийшла з чату =)
3. Ну і ось вище людина шукає СТО, хоча досі навіть не зрозуміло, що за проєкт та навіщо світу ще один форум з медіа порталом.

Таке =)

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

ІМХО, без технічних скілів в більшості випадків з тебе просто висосуть максимум грошей і на тому проект закінчится, і не важливо чи це буде компанія чи якийсь конкретний виконавець.

Краще пробуй знайти технічного кофаундера, який організує (а краще зробить сам) технічну частину, бажвно щоб вже був досвід робити стартап.
Відмінністю від «найняти людину» буде набагато менша платня з початку(чи нульова) + доля в компанії.
Гуглити «how to find a techical cofaunder» і внось правки враховуючи укр культру/обстановку.
Наприклад тут описано
www.ycombinator.com/...​nd-a-technical-co-founder

От тут якраз один описував як його з фріланс біржі взяли в долю на мінімальну ЗП.
dou.ua/forums/topic/45536

що мені потрібно найняти людину для розробки, а вибір технологій дуже великий

Краще фокусуватись на своїй проблемі, чітко її комунікувати, а деталі хай виконавці пропонують.
Тобто тобі не має бути важливо, php чи nodejs, а має бути важливо скільки займе часу зробити той продукт що ти хочеш і скільки це буде коштувати.
Навіть великі ентерпрайзи за 10+ млн$ переписують)

Дуже дякую за відповідь, Антон.

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

Існує, це CMDD (Common Mutli-Dimensional Design)

Яким повинен бути підхід при плануванні архітектури веб-проекту?

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

Єдиний спосіб бути набагато швидше конкурентів, це використовувати FP
Ось форум, що написаний з нуля (без шаблонів та готових плагінів) з купою функіональності меньше ніж в 200 рядків коду:

fraplat.com/jupiter/RawForum
github.com/...​Forum/ForumApplication.cs

Ось відео портал, з елементами соц мережі, написаний в 500 рядків коду
fraplat.com/jupiter/UTube
github.com/...​UTube/UTubeApplication.cs

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

пристрельте його вже хтось...

Був невдалий день в легасі коді?
Чому такий злий?

Чи існує який-небудь підхід або принцип, притримуючись якого, в майбутньому не потрібно було переписувати код з самого початку?

Звісно є такий принцип: не розбираєшся — краще не лізь. Якщо серйозно, то з такими питаннями вам ще рано в архітектуру. Вам не поради потрібні, а профільна освіта і системний аналіз

Це був би ідеальний варіант, на кожне побажання щось зробити, мати профільну освіту та мати системний аналіз :) Наразі використовую тільки те, що є в наявності. Можливо ви можете порадити спеціаліста, яка б прокосультували би мене щодо обрання стеку технологій разом із веб-архітектурою проекту.

Все проекті начинаются с MVP и монолита. До тех пор пока нет достаточно знаний и понимания в доменной области — никаких микросервисов.

Дякую за відповідь, Олег. Я вже вище писав, що не зовсім коректно задав питання. Крім архітектури, мене ще цікавить стек технологій. Мене потрібно знайти розробника для початку розробки проєкту. Як мені правильно обрати технологію для бека, архітектуру і відповідно спеціаліста? Хто зможе проконсультувати в цьому питанні? Поки що більш всього мене консультував GPT :) Але й він для «форуму» пропонує PHP, а для всього іношого Node.js, і я ще не зовсім розумію як я це поєднувати.

А какая ваша роль в этом проекте ? У вас есть инвестиции на проект или вы менеджер ? Обычно проекты пишутся командами, время одиночек прошло (или это будет очень дорого).

Інвестор та поки що менеджер. Підбираю виконавців під MVP.

Інвестор та поки що менеджер. Підбираю виконавців під MVP.

Напишіть мені на почту learn.fractal[сбк]gmail.com
Це зекономить вам багато часу та грошей, та істотно скоротить time-to-market.

Перш за все враховуй свої можливості на теперешній момент — як фінансові так і по часу. Ну і таймлайн — чи впевнений ти що це виросте із форуму у щось більше? А якщо не виросте то ти заклав гарні можливості для росту при цьому ці можливості використані не будуть.
Тому на данному етапі перш за все я б зробив мінімальне MVP наприклад на WP із модулем форуму. Можна думаю буде туди з часом присобачити щось готове типу RocketChat який підтримує багато із того що ти перерахував із коробки
Якщо користувачі будуть рости і майданчик буде для них затісний вже тоді плануй більш складну архітектуру із фронтом на фреймворку, мікросервісами, лоад балансерами і таке інше

Підписатись на коментарі