Задать вопрос
Профиль пользователя заблокирован сроком с 29 августа 2016 г. и навсегда по причине: Снова мат
  • Как правильно обновлять-перерендеревать компоненты?

    copal
    @copal Автор вопроса
    Андрей Антропов: скажите, о чем я сейчас говорю... Представление посылает событие. Кто-то (я не буду называть его имя) ловит события от представления и только этот "кто-то" знает куда передать данные переданные вместе с событием представлением. Этот кто-то передает все нужное в "что-то" (тоже имя закрою). Это "что-то" что-то делает и посылает событие change. Представление ловит это событие и забирает нужные данные из этого "что-то".

    О чем я сейчас говорю?
  • Как правильно обновлять-перерендеревать компоненты?

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

    copal
    @copal Автор вопроса
    Андрей Антропов: я не знаю что там смотреть... Открыл Router, он компонент, Route тоже компонент. Подумал что может просто названия схожи, но залез обратно в Router и увидел что он history... И все, что ещё смотреть после того, как компонент принимает хистори. Если конечно хистори тоже компонент, который отношения к хистори вообще не имеет. Но тогда с какого фига они все названия перепутали? Я привык что в роутере хистори это флаг html5. Если у них это компонент который, как я уже сказал, к хистори не имеет отношение, то я даже читать это не хочу. Вы бы стали читать книгу которая задом на перед написана и все имена людей названы цветами, а все цвета описываются вкусами? Что это? Скажите что мне там познать? Что компонент имеет доступ к html5 хистори?
  • Какой стэк бэкенд технологий выбрать фронтенд разработчику для личных проектов?

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

    copal
    @copal Автор вопроса
    Андрей Антропов: независимо от подхода (ооп или нет) правила программирования нарушать нельзя. Программа, это сущность, которая должна работать независимо окружения, это логика приложения, это модель приложения.

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

    Теперь представьте как бы это было -
    // model
    dispatch(Event.CHANGE);
    // view 
     model.getCommand();

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

    Ещё более доходчиво - у Вас есть робот, который может прыгать и бегать. Но сам он всего лишь представление, так его душа это плата с программой. Вынули Вы эту плату вставили её в робо-собаку и та тоже стала прыгать и бегать. А что будет если Вы засунете её в ноут? Нет беготь он не станет, а вот модель записанная на эту плату так и будет полноценно работать.

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

    И из всего что связанно с реактом пока можно использовать только сам реакт. Иначе лично я сойду сума, так как не буду сувать руки куклы ей в жопу, зная что для этого специальные выемки есть или из-за того что так кто-то делает и орет что это модно.
  • Как правильно обновлять-перерендеревать компоненты?

    copal
    @copal Автор вопроса
    Андрей Антропов: могу посоветовать лишь почитать умных книг по архитектуре. А иначе Вы не поймете какую херню говорите.
  • Как правильно обновлять-перерендеревать компоненты?

    copal
    @copal Автор вопроса
    Андрей Антропов: в этой презентации провели параллель с express'овским middleware, в котором запрос проходит все middleware, наверное, пока не достигнет нужного. В редакс так же?
  • Как правильно обновлять-перерендеревать компоненты?

    copal
    @copal Автор вопроса
    Андрей Антропов: нет, Вы меня наверное не поняли. И я сразу хочу сказать, что я не спорю, а лишь дорвался до человека, который хоть что-то понимает в реакт и я хочу его обо всем расспросить.
    1) Относительно роутера.. Вам не кажется странным, что роутер это компонент? То есть сменой самого главного состояния управляет представление? Вы же наверняка знаете о mvc, в котором казнили бы если бы приложением управляла не модель, а представление.
    Что же этого не знали создатели этого роутера? В чем причина что логикой приложения управляет представление?

    2) Сейчас посмотрел на youtube какое-то выступление (заставка желтая) и в ней призентер говорил о каких-то мидлеваре. И мне стало интересно, вот я послал экшен с номером мобильного и его что, медлеваре обработает, который должен процентное соотношение цвета в аватаре рассчитывать? То есть, он понятно что его отклонит, но все же отклонит, а значит он в него как-то поступит. Это так?
  • Как правильно обновлять-перерендеревать компоненты?

    copal
    @copal Автор вопроса
    У меня дикое отторжение отсебятины. Когда человек называет EventDispatcher и Event выдуманными именами "какой-то диспетчер" и "какой-то акшен", то встает вопрос - а знает ли он о настоящий названиях или же для него это что-то совсем новое? А ещё большей вопрос стоит в том, что раз уж реакт вложил правильную архитектуру java mvc, то знает ли создатель об этом или же нужно вникнуть в вывернутую реализацию и быть как все до того момента пока кто-то из java не скажет, что так же делать нельзя.

    Если не накручивать заумную архитектуру, то вполне можно все самому сделать.

    И можно Вам ещё вопрос - раз Вы говорите что все давно уже не придумывают свое, то как же все свыклись с маршрутизатором которым представление руководит?
  • Как скопировать голос человека в робота?

    copal
    @copal
    Да есть, но сначала нужно вставить в человека.
  • Функции и сокращение кода на JS?

    copal
    @copal
    Только хочу заметить что это в контексте кода который Вы показали. Возможно есть что-то ещё и автор этого кода не спроста так сделал.
  • Функции и сокращение кода на JS?

    copal
    @copal
    Робот:
    https://learn.javascript.ru/mouse-clicks#координат...
    Все мышиные события предоставляют текущие координаты курсора в двух видах: относительно окна и относительно документа.

    Пара свойств clientX/clientY содержит координаты курсора относительно текущего окна.

    При этом, например, если ваше окно размером 500x500, а мышь находится в центре, тогда и clientX и clientY будут равны 250.

    Можно как угодно прокручивать страницу, но если не двигать при этом мышь, то координаты курсора clientX/clientY не изменятся, потому что они считаются относительно окна, а не документа.

    https://learn.javascript.ru/mouse-clicks#относител...
    Координаты курсора относительно документа находятся в свойствах pageX/pageY.

    Так как эти координаты — относительно левого-верхнего узла документа, а не окна, то они учитывают прокрутку. Если прокрутить страницу, а мышь не трогать, то координаты курсора pageX/pageY изменятся на величину прокрутки, они привязаны к конкретной точке в документе.

    В IE8- этих свойств нет, но можно получить их способом, описанным в конце главы.


    То есть весь код в MouseCoords вообще не имеет смыла. Нужно вот так -
    block.style.top = e.clientX+'px';
    block.style.left = e.clientY+'px';
  • Функции и сокращение кода на JS?

    copal
    @copal
    А зачем Вам и clientX\Y и pageX\Y одновременно и ещё в if else? Код ниже выполнит else только в том случаи, если Вы курсор в Point(0,0) наведете и только.
    if (e.pageX)
    		{
          return e.pageX;
        }
        
    		else if (e.clientX)
    		{
    			return e.clientX+(document.documentElement.scrollLeft || 
          document.body.scrollLeft) - document.documentElement.clientLeft;
    		}
  • Как подготовиться к собеседованию (Android разработка)?

    copal
    @copal
    Во первых Вы все же должны обладать некими знаниями, представление о которых можно почерпнуть на хабре статьи о собеседовании, которые к тому же нужно отстоять, чем и доказать собеседовавшему твердую решительность.
    А если перефразировать, то Вы должны на вопрос "что если все удобные методы перенести в статику" твердо звереть, что Вы так никогда не сделает ведь это нарушает ооп, а не думать полчаса о пользе того что Вам предлагают.
  • Могут ли сторы хранить компоненты?

    copal
    @copal Автор вопроса
    Roman_Kh: но роутер не может быть дисплей обжектом? Если я на компонент возлажу обязанность менять состояние прилажение, то куда же девается модель приложения? Что будет если модель не позволяет изменять, а компоненту что? Он говорит модели что слушаться не хочет её и делает что хочет? Это же полный бред, разве нет? Или Вы и модель приложения не используете, а её роль у Вас тоже компоненты выполняют?
  • Могут ли сторы хранить компоненты?

    copal
    @copal Автор вопроса
    <App>
        <NavBar></NavBar>
        <Right></Right>
        <Container>
            ... я думал что комопнент контайнер
            будет хранить в массиве все компоненты
            [One, Two, Three] и по собыьтию будет
            подставлять нужный
        </Container>
    </App>;


    Но мне сказали что нужно делать как ниже, что меня кстати смущает.
    <App>
        <NavBar></NavBar>
        <Right></Right>
        <Container>
            <One></One>
        </Container>
    </App>;
    
    <App>
        <NavBar></NavBar>
        <Right></Right>
        <Container>
            <Two></Two>
        </Container>
    </App>;
    
    <App>
        <NavBar></NavBar>
        <Right></Right>
        <Container>
            <Three></Three>
        </Container>
    </App>;
  • Могут ли сторы хранить компоненты?

    copal
    @copal Автор вопроса
    Вот такая конкретная ситуация... Я не хочу использовать реактовский роутер, так как роутер-компонент это просто амаральное изобретение века.
    И у меня получается следующие компоненты -
    BackgroundComponent - компонент который рисует сложный фон.
    RightComponent - компонент на левой стороне, который содержит некую информацию.
    Navbar - компонент верхняя навигация.
    И последние компонент, это контейнер в который нужно грузить множество страниц.
    Этих страниц много и они все разные. Единственно что неизменно это компоненты, компоненты которые я описал ранее.

    Вот как мне построить роутинг учитывая эти компоненты?
  • Библиотеки для создания 3d игры на HTML5?

    copal
    @copal
    Вам если и ответят то 99% гуглботы которые сами лично не одной игры не сделали. По этому лучший ответ для Вас будет тот, который Вы сами нагуглите потратив некоторое время, так как подсунут Вам первое попавшиеся.
  • Как запустить gulp-connect на реальном проекте?

    copal
    @copal
    Я использую browser-sync, которому можно в качестве proxy указать любой адрес, который будет обновляться при вызове соответствующего метода.
  • Как настроить REST авторизацию для AngulagJS и Yii2?

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

    Я не буду спрашивать что вы имели ввиду под словом дублируется, а скажу как понимаю я.
    А я понимаю так, что клиент рендерит только то, что ему отдает сервер. И если при полном рендере на сервере клиент не может отобразить того, что ему не отдаст сервер, то в случаи с spa клинт не может собрать того, чего нет в json присланного ему с сервера. То есть на клиенте ролей вообще нет, там только сборка компонентов по присланному json. Правильно я понимаю?