• Как вы строите архитектуру приложения?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    Всё очень просто:
    1) Рисуете дизайн, чтобы представлять, какие данные нужны в системе и как с ними будет взаиомдействовать пользователь. Этого достаточно чтобы полностью описать структуры данных и на 90% функционал системы.
    2) Доописываете функционал, который не виден из интерфейса. Теперь у вас полностью готовы требования к системе и интерфейс.
    3) Рисуете архитектуру системы, схему взаимодействия модулей, рисуете схемы данных, бд, etc. Для тех, кто любит бюрократию - UML (и не важно, какого размера ваша система), либо же придумываете свою легенду и рисуете свои схемы, адаптированные под конкретную систему (проще и быстрее, как по мне).
    4) Делаете.

    Спрашивать про количество человеко-часов в отрыве от задач - глупо.
    Ответ написан
    1 комментарий
  • Как вы строите архитектуру приложения?

    MarcusAurelius
    @MarcusAurelius
    автор Impress Application Server для Node.js
    Тут мой ответ по связанной теме: Как составить план проектирования проекта?
    А кроме того, хочу отметить, что начинать проект с дизайна (если Вы имеете в виду дизайн пользовательского интерфейса) это в большинстве случаев очень плохая практика. Проект нужно начинать с концепции, а потом переходить к информационной модели, потом к структурам данных (как в базе, так и в памяти) и уже потом только понятно, что на экране будет делаться. Исключение могут составлять игры, электронные книги, анимационные, интерактивные и подобные произведения, которые являются в большей степени произведением визуального искусства, чем программным продуктом. Из средств проектирования посмотрите разные реализации UML и RUP (Rational Unified Process), например Rational Rose. Вот, посмотрели, и понравилось - берите, а стало страшно - значит это Вам не нужно. Это для проектов крупных и очень крупных. Что точно нужно, так это уметь рисовать ER-диаграммы на бумажке карандашом, архитектуру модулей программной системы и железную инфраструктуру для развертывания. На большинство вопросов, которые Вы задаете, ответы можно дать только относительно конкретного проекта. Иногда нужны автоматизированные средства проектирования, иногда они не нужны и все можно сделать в уме и сэкономить время. Это очень зависит от задачи и опыта. Но что определенно, так не следует разводить лишней бюрократии,
    Ответ написан
    1 комментарий
  • Какие есть годные книги на русском по программированию web на python3?

    Tark
    @Tark
    Pyramid'альный мир
    Pure Python не применяется в веб-разработке потому, что... придётся писать свой веб-сервер, который будет слушать 80-ый порт, принимать запросы и вертать взад ответы. Хотя постойте, зачем писать веб-сервер? Есть же nginx! А приложения на Python веб-сервер отдаёт через uwsgi. Да! Тогда надо написать что-то, что будет отдавать в uwsgi сгененированный ответ. Получится что-то типа Werkzeug (часть Flask). Или что-то типа Gevent. Или что-то типа Twisted. Или что-то типа Tornado. Или что-то типа wheezy.web. Что-то, что называется WSGI-сервером. А потом на нём придётся сделать что-то типа фреймворка Bottle, чтобы можно было быренько и красиво делать то, ради чего это всё было написано.

    Но... Тут возникают странные мысли насчёт того, есть ли в этом смысл? Может, стоит переложить эту задачу на чужие плечи? Даже в этом ответе уже есть до черта WSGI-серверов, которые написаны людьми, куда более сведущими в этом вопросе. Может быть, стоит сосредоточиться на самом процессе написания приложений, используя уже готовые фреймворки? Рождение ещё одного фреймворка не сделает мир лучше.
    Ответ написан
    1 комментарий