Профиль пользователя заблокирован сроком с 15 октября 2017 г. и навсегда по причине: многократные нарушения регламента работы сервиса
  • $q, Promises или же task?

    @vasIvas Автор вопроса
    Сергей Протько: ну лично я считаю так - в мини-приложениях можно и "джедайские штучки" делать. Типа все в одну строчку и каррирование вместо ооп. Но как только все начнет разрастаться, то это перерастет в головную боль. Функциональщину и процедурный стиль нужно раз и навсегда уже похоронить. Я убеждаюсь каждый раз в одном - чем дольше отказываешься от ооп, тем сложнее его потом внедрить. Один раз мне нужно было сделать небольшой парсер и я с первых секунд решил что буду писать систему плагинов. Но потом решил что обойдусь по простому и просто сделал все правильно с точки зрения законов ооп, но это было по детски. И потом я зашел в такую точку, что уже не мог поддерживать этот парсер и пришлось все-таки писать систему плагинов. Хотя возмись я за неё с самого начала, время потратил бы в три раза меньше.

    Я очень ярый сторонник java архитектуры и мне вот не докажешь что это плохо, я почему-то её в любом языке вижу, даже в том же js. И если пользоваться es6, es7 и говорить что это не настоящие классы, то нужно петицию разработчикам js и обвенить их в слабоумии чтоль.
  • Как сделать кнопки, которые заменяют друг друга?

    @vasIvas Автор вопроса
    Алексей Уколов: codepen.io/anon/pen/ZGwVZE но я не знаю куда картинки залить, по этому только код.
  • $q, Promises или же task?

    @vasIvas Автор вопроса
    vasIvas: только сейчас заметил, что вместо "и выпилили все его циклы и переменные и остался только импорт", отобразился какой-то чувак :)
  • $q, Promises или же task?

    @vasIvas Автор вопроса
    Сергей Протько: я использую TDD, но дело в том, что я могу сделать и просто и чуть сложнее, но легко поддерживаемое.
    Команда, это лишь для красоты кода. Вот например Вы используете .sass вместо css?
    Если используете, то представьте, что у .sass взяли и выпилили все его циклы и переменные и остался только Dmitrijs Balcers. И вот Вы стоите перед выбором - использовать один большой файл .css или его аналог .sass у которого каждый класс в отдельном файле и они импортированы в main.sass.. Я выбираю .sass. Так же и команды, они ничего не вносят в код, но делают его более поддерживаемым и читабельным, ведь все "рабочее" Вы пишите в таске. то есть тут как в пулемете Вы его зарядили и начали стрелять пока лента не закончилась. Вот я о чем -
    var task:Task = new Task()
    .and(new FirstCommand())
    .and(new SecondCommand())
    .next(new ThirdCommand())
    .next(new FourthCommand());
     
    task.addEventListener(TaskEvent.TASK_COMPLETE, handleTaskComplete);
    task.execute();<code lang="actionscript">
    
    
    
    var task:Task = new Task();
     
    task.if_(new ConditionProvider())
     .next(new FirstCommand())
     .else_()
     .next(new SecondCommand())
    .end();
     
    task.addEventListener(TaskEvent.TASK_COMPLETE, handleTaskComplete);
    task.execute();
    </code>
    Вот когда детей учат им говорят, что в хенлерах писать логику нельзя, для этого делают типа postHandler в котором уже вызывают a(), b(). А если потом придется что-то изменить, то не нужно лезть в общую куча, а просто редактируешь нужный метод.
    Вот и это так же, только намного сложнее.
  • $q, Promises или же task?

    @vasIvas Автор вопроса
    vasIvas: у меня вообще есть очень вредная привычка, делать больше чем нужно.
    Вот у меня всего две кнопки play и pause, которые видно по очереди. И вместо того чтобы взять и написать if else, я начинаю думать что нужен объект, который будет содержать состояния. Затем нужен объект, который будет хранить объекты-действия, которые нужно связать в объект map и выполнять в объекте "названия не знаю". Ну и естественно ещё нужен объект валидатор этих состояний. И естественно под объект я подразумеваю класс.
    Ну естественно сразу цепочку тасков и прочего-прочего. И сразу же сто вопросов, а есть ли это уже в angular, ведь он же по сути архитектурный фраймворк.
  • $q, Promises или же task?

    @vasIvas Автор вопроса
    Я говорил, как мне кажется, говорю о Command pattern.
    А Вы сами пользуетесь bacon.js ?
  • Как сделать чтобы курсор мыши не реагировал на прозрачные участки изображения?

    @vasIvas Автор вопроса
    Артур Мудрик: Для меня все наоборот. Вся наша повседневная жизнь состоит из математики, по этому её понять куда проще, чем css которое напоминает оригами. А вэб такой, каким мы его видим, для кого он сайтики, а для кого-то реализация программного эффекта огня и воды на canvas. Хотя такое и с векторной графикой возможно если использовать не top-left, а матрицы у transform.
  • Как сделать чтобы курсор мыши не реагировал на прозрачные участки изображения?

    @vasIvas Автор вопроса
    Артур Мудрик: школьная программа - векторная алгебра + Афиновы преобразования. матрицы.
  • Как сделать чтобы курсор мыши не реагировал на прозрачные участки изображения?

    @vasIvas Автор вопроса
    Так-то оно для Вас проще. А мне проще отслеживать координаты на плоскости и расчитав центр и радиус окружности сравнить длину получившегося вектора с радиусом. Но я сейчас по Вашему попробую. И тогда сразу вопрос в догонку - потом я смогу проводить трансформации этого элемента без головной боли? Трансформации очень простые - перемещение, скейл..
  • Как правильно связать сервисы объектами для которых он создается?

    @vasIvas Автор вопроса
    Сергей Протько: про баблинг в моделях... А Вы когда Вам нечего будет делать, просто ради интереса подумайте как бы Вы сделали тротегию на canvac без сервера. Вот чтобы в игру можно было играть без сервера.
  • Как правильно связать сервисы объектами для которых он создается?

    @vasIvas Автор вопроса
    Это композитное представление называется. А ещё бывает и в моделях делают баблинг, да и в контроллерах. Хотя я опять немного ошибся, ведь можно послать событие removeMe и родитель удалит таргет. А вот токая же история с добавлением в класс анимации не прокатит, нужен тип iанимтный. Хотя можно в константу тип вбить и на него проверять.. Как много вариантов..
  • Как правильно связать сервисы объектами для которых он создается?

    @vasIvas Автор вопроса
    Сергей Протько: такой вариант тоже знаю, но забыл, ведь это вторая проблема после анемичной модели - тонкое и тупое представление. Самое интересное, что в представлении у Вас событийная модель выступает в роли гаранта низкой связанности, но в модели Вы её полностью отвергаете. А вот то что родитель собственных детей не может приструнить-удалить из себя, это нормально.. Тогда что же такое контроллер? Ведь если представление не должно знать о своих детях, то только контроллер может их удалить. Получается что контроллер просто божественный объект, который делает все.
    Хотя то что дети посылают события, это так и должно быть, ведь еще баблинг.

    Вы пробовали когда-нибудь писать игры на canvas? Я это к тому, что Вы работает все в том же js и все та же парадигма mvc, но только и наверное ТОЛЬКО в таком положении можно понять что такое mvc, ведь html и css уже не будет и сразу окажется что mainView начнет создавать други mainElementView и не скажешь что это ненормально.
  • Как правильно связать сервисы объектами для которых он создается?

    @vasIvas Автор вопроса
    Пока я понял только одно, что моя директива, которая находится пока в голове, приблизительно совпадает с Вашей. Я уже закрыл редактор и только потом понял одну истину, что если я хочу получить в одной директиве вложенные элементы, то эти элементы обязательно должны быть директивами. Ведь в директиве, пока я не читал о ng-transclude, есть возможность получить вложенные элементы в методе link в параметре element. Но если представить что я хочу получить две кнопки которые лежат в индексированном массиве, то мне нужно обязательно соблюдать последовательность. Типа var a = element[0] var b = element[1]. И это приводит к тому, что добавь я ещё один элемент по верх уже имеющихся, то a и b ссылались бы не на те элементы. Хоть по какому-то id можно найти только через element.find, который ищет по имени тега, что в свою очередь означает что даже для одной кнопки нужно писать директиву. Что и не так уж и плохо.
    Но сегодня я уже не осилю, а завтра прочту о ng-transclude, пойму что это такое, а потом если что ещё спрошу.
  • Как сделать кнопку из картинки или глиф-иконки в bootstrap?

    @vasIvas Автор вопроса
    vasIvas: возможно у bootstrap есть параметр чтобы на прозрачность не реагировать?
    Если нет то скажите я другой вопрос задам..
  • Как сделать кнопку из картинки или глиф-иконки в bootstrap?

    @vasIvas Автор вопроса
    А Вы не подскажете, можно ли как-то сделать чтобы на svg картинке курсор не реагировал на прозрачных участках?
  • Как задать максимально допустимые размеры?

    @vasIvas Автор вопроса
    Попробовал сделать и понял что и это не то. Теперь видео становится гигантским. А мне нужно 100% по ширине и 100% по высоте, но такие сто процентов которые были бы в гармонии с шириной. То есть формат чтобы тоже соблюдался. Но такое наверное только в js уже рассчитывать нужно. css же не поможет?
  • Как задать максимально допустимые размеры?

    @vasIvas Автор вопроса
    Я что-то Вашего кода не нашел, но я могу сказать вот что. Я обварачиваю тег video-bg в div с классом player-container и уже этому div присваиваю класс css. Так же могу сказать что посмотрев свой код в браузере увидел подтверждение того, что там только то что я и написал. Единственное тег video-bg грузит в себя iframe в котором столько всего, что я передумал показывать это Вам, так как там реально с тысячу строк.
  • Как правильно внедрять зависимости в es6?

    @vasIvas Автор вопроса
    И у меня сатана в сборщик вселился. Вчера почти полдня не мог переопределить директиву. Потом спросил и мне посоветовали заменить replace на false. Я заменил и заработало. А потом пришла мысль обратно на true заменить и после замены все так же работало. И с этим вопросом точно так же. Весь вечер вчера читал и гуглил, а сегодня заработало. Хотя то что показали Вы я и делал.
  • Как правильно внедрять зависимости в es6?

    @vasIvas Автор вопроса
    Вы все-таки используете RequireJS?) И ещё вопрос - а нужно ли кастомным сервисам писать префикс $ для большей наглядности?