Задать вопрос
Профиль пользователя заблокирован сроком с 29 августа 2016 г. и навсегда по причине: Снова мат
  • Где можно посмотреть пример готового сайта на Express.js?

    copal
    @copal
    Сергей Протько: не думаю чтобы кто-то был против обсуждения.

    Вы считает что фраймворки это набор библиотек, а это так и есть, но не хотите понять, что mvc это принцип по которым эти библиотеки связываются. mvc, это теория рассказывающая, как должны связываться части приложения. Я ещё раз употреблю слово "клей", так как именно это mvc и делает. То есть я написал независимый модуль и сделал его моделью, так же я сделал независимый модуль представления. И вот теперь сам фраймворк должен связывать работу модели и представления. Другое дело что тот же angular это не делает, но он мне кажется и не скрывает того, что убогий.

    Наше приложение не должно зависить от него, наоборот


    Тут я полностью согласен, но я и не говорю об архитектуре, которая убога как например в angular. Ведь я не могу написать представление, которое будет работать без ангулар, так как там обращаешься через element. Вот это жесткая связанность, а не клей.

    Клей был бы, да и должен быть в виде представлений, которые просто медиаторы. То есть фраймворк не должен представлять для представления ничего, кроме медиаторов, которые должны на уровне фраймворка связываться с бэйс моделями, которые связанны агрегацией с нашими настоящими независимыми моделями.

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

    Это было бы как в сказке - положи в ящик батарейки (модель), в другой лампочку(представление) и получил из третьего фонарик.
  • Где можно посмотреть пример готового сайта на Express.js?

    copal
    @copal
    Сергей Протько: в правильном mvc кнопка это представление. Для примера, представьте что вы пишите приложение кликер. Суть этого приложения считать число кликов, которые юзер сделал за минуту.
    Логика-модель приложения, это время (минута), ведь изменение время изменит и само приложение, и число кликов по цели, это тоже модель, ведь если сделать число кликов не поцели, то суть приложения изменится.

    Теперь я делаю представление поросенка. И начинаю играть в приложение. Через какое-то время мне надоело смотреть на поросенка и я добавил овечку. Изменилось приложение? Нет, значит овечка и поросенок отношение к модели не имеют.

    О чем это говорит? О том, что js код, который заставляет бегать поросенка и js код который заставляет овечку прыгать, это представление.
    Но что такое js код относительно поросенок.png? Это его модель, но не модель приложения. Видите грань, которая показывает mvc одного фигуранта триады и mvc архитектуру приложения. И если это понятно, то должно быть понятно и то, что mvc поросенка, это всего лишь компонент, который создан с разделением обязанностей с точки зрения mvc архитектуры.
    Теперь представьте что экран, это mainview. Главное представление создает поросенка, который Вы теперь рассматриваете, как представление. То есть весь js код, это представление. После того, как Вы кликнете по поросенку, представление просит контроллер передать сообщение о клике модели. Без разницы, как это будет реализована, это может сделать косточка event или косточка databinding или signal. Дальше модель получает это уведомление и решает, ведь кому решать как не модели, ведь это она и есть само архитектурное приложение, записывать этот клик или нет. А то вдруг у нас будет ограничение по времени, нельзя стрелять в порося чаще одного раза в секунду. А кому ещё как не модели иметь таймеры отсчитывающие это время.
    И вот значит клик защитан, а что дальше? А дальше будет то, что заложено в модель приложения, поросенок умирает. Модель не контроллер, а модель сообщает представлению, что поросенок умер.
    А вот как это представление mvc приложения сделает, уже модель не касается.
    И отдельное большое НО! когда я говорил что js код поросенка это модель, это не так. Если удобно написать по принципу зазделения, то пожалуйста. Но чаще бывает так, что тот же чекбокс это просто состояние. То есть js реализует состояние, но при этом этот код не является моделью приложения чекбокс. Почему не является? по тому что тут вообще нет контроллера. Контроллер нужен будет только в архитектуре mvc. То есть подписывая в js кнопку мы не создаем контроллер, это всего лишь внутренние события представления...

    Приблизительно вот так..
  • Где можно посмотреть пример готового сайта на Express.js?

    copal
    @copal
    Сергей Протько: возьмем скелет человека и разберем его по косточке. Каждая косточка это творение архитектора. то есть, это не просто объект, это совокупность объектов, которые складываются в некий механизм помогающий решать одну задачу. Косточка - шаблон проектирования
    Теперь мы собираем все косточки вместе и получаем законченный скелет, который назовем mvc. Да, mvc - мульти-шаблон проектирования, совокупность шаблонов и точка, жирная точка.
    Жирная по тому, что когда я создаю объект отображения и объект хранящий состояние этого объекта и реализующий его поведение, это не mvc, это просто два объекта, которые правильно спроектированы, раздроблены на части.

    Теперь представим, что я не хочу писать все отдельные косточки каждый раз с самого начала. Я беру и создаю каждую косточку в виде библиотеки. Затем мне становится напряжно каждый раз складывать эти косточки в mvc, по этому я создаю чистый mvc framework. Архитектурный mvc фраймворк. А дальше мой фраймворк скачивают люди и кто-то на этот архитектурный скелет натягивает штаны, а кто-то юбку. Но каждый раз этот скелет остается все тем же mvc-человеческим скелетом, а не скелетом мамонта.

    Если рассматривать создание современного сайта на примере HelloWord, то окажется что настоящая архитектура сайта будет отличаться от ранее продемонстрированной.

    mvc нельзя рассматривать на примере кнопки. Кнопка это компонент, а архитектура для компонентов mvp. Точка.

    На фронтэнде, на UI, все к этому снова и идет (Angualr2, React), поток данных только в одну сторону (отказ от двустороннего датабиндинга, только односторонний), дробление UI на отдельные компоненты со своей моделью, контроллером и представлением. Маленькие масштабы, схема работы с данными, не архитектура.

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

    И Вы не поверите что настоящее mvc работает везде одинаково если ему там место.
    А когда говорят что у каждого mvc свое или что на сервере или на клиенте не удается
    реализовать одинаково, то это как религия. Когда буддист найдет на дороге мешок денег, он же не скажет что ему Иисус их дал. Каждый увидет то что он хочет видеть.

    Словом MVC это не архитектура, это правило описывающее поток данных и разделение ответсвенности. CQRS чуть ближе походит на архитектуру, хотя опять же это несколько не то. Это абстрактное правило, бэст практис и только.


    mvc, это как раз архитектура, которая не дает возможности сделать неправильно.
    То есть Вам дан правильный стальной скелет, и то что Вы будите одевать его в костюм кролика не навредит здоровью самого организма-приложения.
    mvc, это клей, который стопудово склеет части и наладит между ними правильную связь. Пусть Вы даже стремный код напишите, но правильный mvc фраймворк поможет создать работающие приложение.
  • Кто нибудь получил доступ к новому api кинопоиска?

    copal
    @copal
    В россии вообще нет интернета, есть только люди, которые копируют у запада.
    Как вообще можно на мультимедию повесить технический дизайн. Это просто
    им удалили часть мозга. мне кажется если гугл завтра говном намажется, все дизайнеры сделают то же самое.
  • Кто нибудь получил доступ к новому api кинопоиска?

    copal
    @copal
    После смены дизайна их долбанный рейтинг может только даунов заинтересовать.
    И хватит уже выкидыши яндекса рекламировать. Они сделали из полезного ресурса полный треш, который будут только маразмы посещать.
  • Где можно посмотреть пример готового сайта на Express.js?

    copal
    @copal
    MVC работает только в маленьких масштабах (кнопка, инпут).

    Конченный бред.
    MVC не является архитектурой приложения.

    Конченный бред.

    Это кто-то взломал Ваш акк и спамит чтобы испортить Вам репутацию или же магнитная буря так влияет?

    Меня всегда пугали Ваши познания mvc, но сейчас мне кажется что вы просто "под влиянием чего-то" свернули с правильной дороги и ушли непонятно куда.
  • Как очистить папку не полностью, но только те файлы которые будет создавать gulp?

    copal
    @copal
    DzenRoamer: что значит "нет плагина"?? Вы чем мое сообщение читали? Я же сказал, что есть модуль del, вам его осталось скачать и запускать когда это нужно.
  • Как очистить папку не полностью, но только те файлы которые будет создавать gulp?

    copal
    @copal
    Если я правильно понял, то Вам нужно удалять файлы с определенным расширением. Для удаления хорошо подходит модуль del, которому так же можно указать не только удаляемые файлы, но и игнорируемые, это бывает нужно, когда один из файлов html или js вы создали вручную и у него нет аналога в препроцессорном формате.
    И лично я пришел ко мнению, что удалять нужно только при запуске gulp, а не при каждой компиляции. Но из Ваших слов можно понять, что у Вас нет вотчеров и Вы запускаете компиляцию вручную, что очень плохо и отнимает много времени. И если это так, то почитайте о gulp-watch.
  • Насколько ли актуальная веб анимация?

    copal
    @copal
    Если анимация сложнее "сдвига", то не стоит.
  • Как реализован роутинг на kinopoisk.ru и slack.com?

    copal
    @copal
    а как Вы узнаете релодится страница или нет? У меня показывает что обновляется, кнопка обновить крутится..
  • Как создать блок с иконками, которые будут свободно "плавать " в пространстве блока и с которыми можно взаимодействовать?

    copal
    @copal
    Евгений: если Вы имели ввиду летающие закорючки, которые можно ловить и кидать, то нет не получится "просто".
  • Не отображается тень, как исправить?

    copal
    @copal
    Может поможет добавление префиксов для конкретного браузера поможет?
  • Собираются ли в Перми разработчики игр?

    copal
    @copal
    В перми только тайные встречи с жертва приношением и каннибализмом.
  • ChromeBook для разработчика?

    copal
    @copal
    Вы мир видите не под тем углом. Говорите - легкий редактор.... Редактор легкий, но без gulp с тысячами процессов, этот редактор бесполезен.
  • ChromeBook для разработчика?

    copal
    @copal
    Лично я мечтаю о супер-супер огромном и мощьном компе для web, а Вы говорите о каком-то хромвоок.
  • Где тусуются Javascript-разработчики(это не hh)?

    copal
    @copal
    Ну тут одни невменяемые собрались. По этому если Вы зададите вопрос - "расскажите мне все Ваши секреты, чтобы я как можно быстрее начал забирать часть Ваших денег" или "потратьте на меня несколько дней, введя меня в тему", то скорее всего ответ будет "невминяемый".
  • Какова может быть причина падения производительности Firefox при работе с Canvas?

    copal
    @copal
    Я когда что-то делаю, то смотрю это в FF иначе то что работает в хроме валит FF.