Erimax, ни в коем случае! Немедленно беги с этого сайта! Здесь тебе осмелились после того, как разжевали элементарную задачу, высказать свое мнение о том, что ты как программист, очевидно, пустое место. Разве так можно?
Михаил, отправлять джуна вместо говнокодинга читать Мартина с Макконнелом бесполезно - для понимания изложенного в этих книгах нужен тот самый практический опыт, который без говнокодинга ну никак не заработаешь.
Михаил, ну, так на небесный инструктаж рассчитывать не приходится - нужно самому сесть и наработать этот самый опыт, ковыряясь в архитектуре и постановках задач. Без практического опыта никакие самые правильные архитектуры просто-напросто не зайдут. А без опыта ошибок не появится навыка постановки задач.
Jeff_Parker, вам сейчас важно не растекаться по древу - как сделать оптимально и навеки. Хрен вы сделаете так сразу, без опыта. Вам нужно не бояться сесть и начать писать, как получается.
Но стараться не смешивать - то есть делать API настолько абстрактным, насколько это вообще возможно, чтобы работу БД за ним можно было однажды взять и переписать полностью, не меняя ничего в API.
И когда что-то вас перестанет устраивать и появится понимание, как это можно сделать правильнее - выкинуть старье и все переписать. Уже понимая, что, зачем и почему именно так делается в вашей системе.
Jeff_Parker, главную схему я вам и написал - упирайте все в API, это даст необходимую гибкость и возможность использования его в любых ситуациях.
Естественно, у того API надо сразу решать схему авторизации, формат обмена данными и проч., но для этого можно поизучать любое открытое хорошо написанное API и творить по аналогии. Выбор конкретной схемы некритичен, важно только, чтобы она была единой, консистентной и открытой, то есть предусматривающей расширение без костылей.
С написанием MVP и разгребанием рутины перевода требований бизнеса в формализованную бизнес-логику может справиться и джун. Небыстро и неоптимально, но может.
Drno, я уж не знаю, через какую жопу работает виндовский установщик, но при удалении разделов состояние файловой системы на них не может играть никакой роли.
daurenswrld, ну, если делали на Джанге, то посмотрите на Ларавель - там приемы передирались один к одному.
Есть WinterCMS на Ларавеле - готовая админка и возможность быстро набрасывать работу с базой и странички. Плагины к ней тоже есть, но у вас нестандарт...
В принципе, соглашусь, для одноразового решения мучить PDF необязательно.
Если хочется полиграфической точности - можно SVG забубенить, браузер его поймет.
Как я понял, это стандартная ошибка новичков в рефакторинге.
У этих двух функций примерно один текст - значит, надо собрать их в одну.
Не учитывая, что функции имеют разное назначение, и этот костыль сразу же встанет поперек хода, как только код надо будет развивать.