• С чего начинать проектировать приложение?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    Предположим, что с будущей функциональностью Вы определились. Тогда Вы точно знаете, кто или что будет поставлять данные, и кто/что будет их потреблять.

    Теперь выясните, кто будет обращаться к вашей системе, чтобы передать или забрать данные, а к чему будет обращаться Ваша программа. Те системы или пользователи, которые обращаются к программе сами, нарисуйте схематически на листе бумаги вверху. Те, к которым будет обращаться программа (включая БД), - снизу.

    Теперь нарисуйте под каждым нарисованным сверху субъектом прямоугольник с названием UI или API - это интерфейсы, к которым будет обращаться пользователь или внешняя управляющая система. Иногда UI тоже может обращаться к API. Объедините все прямоугольники с UI одним контуром и обзовите слоем UI. Объедините все прямоугольники с API и обзовите слоем сервисов.

    Для систем, нарисованных снизу, укажите компоненты, которые будут отвечать за доступ к этим системам. Объедините все эти компоненты одним контуром и обзовите слоем доступа к данным.

    Между слоем сервисов и слоем доступа к данным нарисуйте большой контур и назовите его слоем бизнес-логики. В маленьких прямоугольниках внутри этого контура перечислите основные бизнес-задачи. Один компонент Вашей системы будет решать одну бизнес-задачу.

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

    Получите логическую архитектуру. Разбросайте слои по серверам - получите физическую архитектуру.

    А дальше - детально прорабатывайте каждый маленький квадратик. Всё.
    Ответ написан
    2 комментария
  • Какому языку, в какой среде начинать учить ребенка программированию 10 лет?

    10 лет это 3 класс

    Отстаньте лучше от ребёнка. Ему всего лишь 10 лет - какое программирование? Пусть он сначала насладится детством. А уже после - сам начнёт ковыряться в том, что ему понравится
    Ответ написан
    7 комментариев
  • Что нужно делать будущему java разработчику?

    @mamokino
    Представьте, что вам сейчас 16 лет. На дворе лето, все экзамены сданы, с учёбой вообщем нет проблем. Чем вы занимались ближайшие пару лет, если знаете, что хотите стать java девелопером? Какие бы вы изучали материалы и какие навыки тренировали(слепая печать, английский и т.п.)?


    Я бы выбрал велосипед, друзья, пиво (не рекомендую), девчонки.

    Слепая печать при должной усидчивости за 2 недели осваивается (на русском и на английском). При неусидчивости - за 2 месяца. Рекомендую "Соло на клавиатуре" начать. А потом перейти на VerseQ

    Английский нужно учить ежедневно, хоть понемногу, но ежедневно.

    И регулярная практика в программировании на любом универсальном языке программирования (Pascal, Go, Python, C#, C, C++, JavaScript, Dart, TypeScript, Kotlin, Java, Ruby). Общие принципы там все равно сходные. Сложно изучить алгоритмы/парадигмы/паттерны, но они из языка в язык повторяются. А язык выучить просто (скажем, очередной язык программирования, Go, я выучил за неделю).
    Ответ написан
    Комментировать