• Есть какие-нибудь ресурсы по построению правильной серверной архитектуры на node.js/io.js?

    MarcusAurelius
    @MarcusAurelius Куратор тега Node.js
    автор Impress Application Server для Node.js
    Архитектурные принципы не очень связаны именно с нодой, они будут примерно одинаковыми, на каком бы языке вы не писали. Первое, что я могу посоветовать, когда Вы переходите от технологий программирования к архитектуре систем, это как переход от кладки кирпича к архитектуре зданий - нужно отложить все шаблоны, которые Вы знали до того и подняться на другой уровень абстракции. А именно, нужно перестать мыслить такими понятиями, как DI (dependency injection), REST, MVC, ORM, RPC, шаблонизаторы, компоненты, сокеты, промисы и прочее - это все технологии. Что же нужно понять это: слои (layers), модули, контракты, адаптеры, клиент-сервер, 3-звенная архитектура, микросервисы, СМО (системы массового обслуживания), и т.д. Где так все собрано в одном месте - не могу сказать, я лично по крупицам все осваивал, на что положил 20 лет профессиональной деятельности. Почитайте про ISO/OSI, загляните в три мои статьи habrahabr.ru/post/227753 и habrahabr.ru/post/204958 и habrahabr.ru/post/117791 Раньше хорошие статьи по архитектуре были на www.osp.ru но, к сожалению, давно не читал его. Можно начать с книг Гради Буча и освоения UML, этот дядька сформировал достаточно полный подход и методологию проектирования программных систем, которая ведет правильным путем, но на практике, в каждом отдельном случае может быть заменена интуицией архитектора и существенно упрощена. Удачи!
    Ответ написан
    6 комментариев
  • Npm start - missing script: start почему?

    andykov
    @andykov
    Shit happens
    Написано же - отсутствует скрипт start.
    В package.json в секции scripts, должен быть ключ/команда, который будут использоваться через npm.
    "scripts": {
        "start": "gulp",
    },
    Ответ написан
    Комментировать
  • Как фронтенд взаимодействует с бэкэндом?

    dajnz
    @dajnz
    Frontend и backend web-разработчик
    Если используете vue.js, и, скорее всего, вам нужна отработка действия пользователя без перезагрузки страницы, тогда попробуйте плагин vue-resource. Чисто технически он отправляет на сервер запрос нужного вам типа (POST, GET итд.) с произвольными данными используя XmlHttpRequest.

    this.$http.post('/select-city', {cityId: 1}).then((response) => {
              // success callback
          }, (response) => {
              // error callback
          });


    Вышеприведенный сниппет может послужить примером как обрабатывать событие по клику на карточке, при этом на сервер вы можете отослать например ID карточки или что-то другое, а там уже нужно реализовать обработку POST запроса для роута /select-city (если рассматривать данный пример) и переданным ID как этого требует бизнес-логика вашего приложения.
    Ответ написан
    1 комментарий
  • Как на Java массив пикселей записать в иображение?

    EugeneP2
    @EugeneP2
    Java Dev
    public static void main(String[] args) throws IOException {
    		
    		BufferedImage png = ImageIO.read(new File("image.png"));
    		
    		Color color = new Color(0, 0, 0);
    		
    		png.setRGB(2, 2, color.getRGB());
    		
    		ImageIO.write(png, "png", new File("image.png"));
    
    	}
    Ответ написан
    5 комментариев