• Картинка при загрузке кэшируется?

    @furrya_black
    Картинку можно скачать в base64, положить в local Store и потом подставлять в src картинки , или качать, класть в стор и потом подстовлять.... ну вы поняли)))

    А вы чего делаете?
    Ответ написан
    2 комментария
  • Можно ли на Macbook Air 13 учится программированию и веб программированию?

    @furrya_black
    Нет на мак е нельзя учиться, только работать и понты к-дать
    Ответ написан
    Комментировать
  • Как вывести сумму чисел в промежутке через ф-цию?

    @furrya_black
    Или через массив ..

    let sumr= (from, to) => ((out = []) => {
    	out.unshift(to);
    	while(--to >= from) out.unshift(to);
    	return out;
    })().reduce((prev, curr) => prev + curr, 0);
    
    console.log('1..3 ', sumr(1, 3)); // 6  (1 + 2 + 3)
    console.log('1..5 ', sumr(1, 5)); // 15 (1 + 2 + 3 + 4 + 5)
    console.log('3..5 ', sumr(3, 5)); // 12 (3 + 4 + 5)
    console.log('20..220 ', sumr(20, 220)); // 24120
    Ответ написан
    Комментировать
  • Как в Vue отследить изменение объекта в Vuex.store?

    @furrya_black
    Отталкивайтесь от этого https://github.com/codecasts/spa-starter-kit

    Посмотрите этот курс https://coursehunters.net/course/udemy-vuejs-2

    Я был в вашем положении, отталкивался от spa-starter-kit , сейчас пересматриваю некоторые видео из курса.

    Так же постоянно открыта дока по vue, vue router и vuex.

    В итоге я вообще отказался от всяких spa стартеров и прочих "todo" в пользу
    vue init wepback myproject


    Да, я не даю вам прямой ответ на ваш вопрос, только совет, как не наступить на грабли, на которые наступил я.

    Смотря ваш код по ссылке, вы заранее закладываете неудобную для масштабирования архитектуру.

    Посмотрите повнимательней на localforage как замене для localStorage, даже если вам нужен только localStorage.
    Ответ написан
    3 комментария
  • Как создавать внутренние переменные в классе?

    @furrya_black
    let _idCounter = 0;
    const getId = () => _idCounter += 1;
    
    class Voter {
      constructor(options) {
         // тут свойства через this
         //  но никто не мешает положить сюда функцию, но так не делают
        this.id = getId();
        this.smth = () => 'smth';
        this.firstName = '';
        this.surname = '';
      }
      
        // это метод, он будет в прототипа объекта класса
        // в отличие от свойств, методов, объявленных в конструкторе
        _voteDecrease() {
           // так же this, не Vote
           this.vote.innerHTML = +Voter.vote.innerHTML - 1;
       }
        
        // геттеры и сеттеры
        get fullName() {
           return this.firstName + ' ' + this.surname;
        },
    
        set fullName(value) {
        var split = value.split(' ');
        this.firstName = split[0];
        this.surname = split[1];
       }
    
        // статические методы
        static stMethod(a, b) {
            return a + b;
        }
    
    }


    https://learn.javascript.ru/descriptors-getters-setters

    https://developer.mozilla.org/ru/docs/Web/JavaScri...
    Ответ написан
    Комментировать
  • Актуальные уроки по NodeJs?

    @furrya_black
    Ответ написан
    Комментировать
  • Как создать кубическую матрицу на JS?

    @furrya_black
    window.DU = {
    	purifyFallback: function(cb) {
    		let fallback = typeof cb === 'undefined'
    			? function(idx) { return idx }
    			: typeof cb !== 'function'
    				? function() { return cb }
    				: cb;
    		return fallback;
    	},
    	mkarr: function(len, cb) {
    		let arr = [];
    		let fallback = this.purifyFallback(cb);
    		while(len-- > 0) arr.unshift(fallback(len));
    		return arr;
    	},
    	mk2arr: function(len, cb) {
    		let fallback = this.purifyFallback(cb);
    		let len_0 = len;
    		return this.mkarr(len, function(len) {
    			return this.mkarr(len_0, fallback(len_0, len));
    		}.bind(this))
    	},
    	mk3arr: function(len, cb) {
    		let fallback = this.purifyFallback(cb);
    		let len_0 = len;
    		return this.mkarr(len, function(len) {
    			let len_1 = len;
    			return this.mkarr(len_0, function(len) {
    				return this.mkarr(len_0, fallback(len_0, len_1, len));
    			}.bind(this));
    		}.bind(this))
    	},
    
    	makeYourExample: function() {
    		let matched = this.mkarr(3);
    		return this.mk3arr(3, function(idx_0, idx_1, idx_2) {
    			console.log(idx_0, idx_1, idx_2)
    			return idx_1 === 0 && matched.indexOf(idx_2) !== -1 ? (idx_2 + 1) : 0;
    		}.bind(this));
    	}
    };
    Ответ написан
    1 комментарий
  • Что это за ошибка?

    @furrya_black
    Что за браузер? Смотрели требования к либе?
    https://github.com/mediaelement/mediaelement/blob/...

    Код есть? Может быть проблема и не в коде / браузере, а в cors, тогда там несколько вариантов решения, смотря где лежит код и запрашиваемый файл - в рамках одного домена или нет.
    Ответ написан
    Комментировать
  • Angular как сохранить изображение и после чего корректно отобразить?

    @furrya_black
    Я так делаю, у меня есть restapi.domain.dev на своем web сервере, в моем случае это nginx, web client на другом web сервере, также nginx, который проксирует запросы вида myapp.dev/api к restapi.domain.dev, и там я отдельно прописываю fallback'ки на конкретные группы файлов к restapi.domain.dev в том числе и к изображениям.

    То есть в json отдаем относительный путь до картинки, к примеру /assets/file.png, в html файле web application прописываем в head base тэг с href myapp.dev/, можно руками или при помощи ангуляра.

    В результате src к картинке будет таким myapp.dev/assets/file.png, при построении dom браузер дергает всю статику, в том числе и file.png.

    Запросы идут на проксирующий nginx сервер, на котором крутится веб ап, он вызовет по расширению файла fallback, в котором мы перенаправляем запрос уже от нашего проксирующего nginx к restapi.domain.dev.

    Так же решается проблема с CORS, с кроссдоменными запросами, у нас их просто нет.

    Доступ к файлам можно разграничить на уровне nginx серверов.

    Нужно учесть, что если вы юзаете какую-то готовую болванку темплейт для ангуляра, собранную на wepbak, где есть помимо тестов и yarn build, команда yarn dev, которая поднимает nodejs сервер - expressjs к примеру - на localhost:port, то для него так же нужно сконфигурировать для проксирования запросов к restapi.domain.dev, иначе в дев режиме все сломается.
    Ответ написан
    1 комментарий
  • Где посмотреть сорцы боевого spa приложения на vue?

    @furrya_black Автор вопроса
    Reddit-app и spa-starter-kit, спасибо Вам за ссылки, Евгений и Андрей)
    Ответ написан
    Комментировать
  • Как разбить Component.vue на подкомпоненты?

    @furrya_black Автор вопроса
    ps: как всегда сделаю, покажу свой велосипед и получу ответ, где мой велосипед уже есть. Со мной всегда так =)
    Ответ написан
    Комментировать
  • Где пройти обучение IT специальности (разработка ПО) в Санкт - Петербурге?

    @furrya_black
    Зависит от вашего возраста, бюджета, наличия семьи, свободного времени. + IT специальность очень широкое понятие.

    Пара ссылок, осветить вопрос в общих чертах
    https://habrahabr.ru/post/260713/ - Куда пойти учиться на программиста
    https://habrahabr.ru/post/204168/ - Можно ли стать программистом после 30-ти?

    Конкретно ваша просьба - тут нужно искать заведения, которые ориентированы на получение специальности, а не на переподготовку. + естественно саморазвитие, в IT без постоянного ковыряние/пробования никуда, иначе выпадаешь из обоймы.

    Если совсем в IT ноль то идти за новым высшим образованием, лучше очно с индивидуальным посещением, хуже на заочно. Не платя за экзамены/дипломы + саморазвитие = корочка, знание и опыт.
    Ответ написан
    Комментировать
  • Как в нативном js реализовать нажатия на кнопку которой пока нет?

    @furrya_black
    Не понял, кнопки которой пока нет? Если в DOM'е нет элемента, на клик по которому нужно навесить handler, то ничего не выйдет.

    слова "пока" в вопросе намекает на то, что он будет.

    Что вы хотите сделать то?
    Ответ написан
    Комментировать
  • Как выполнить действии при обнаружении добавления нового элемента dom?

    @furrya_black
    Черт, а ведь видел такое в каком то опенсорсном движке, который вполне себе живой и используется в продакшене.

    У вас на каждое движение мышкой по всей странице работает ваш function changeColor, который дергает со страницы элемент DOM'a, это очень плохо.

    Дальше осмысливать код и цель кода я перестал. Серьезно, начните с мат части.
    Не обижайтесь, но объяснить, как сделать лучше/правильно можно только если предварительно нагрузить вас основами.
    Ответ написан
    Комментировать
  • Хочу работать программистом Python бесплатно. Это возможно?

    @furrya_black
    Вам только путь в опенсорсные проекты, в живые, с устоявшимся "ядром" разработчиков проекта.

    Никто не даст вам возможность поработать бесплатно над коммерческими проектами за "бесплатно", даже если вы будете в команде, ну если это не "сделать сайт для школы №Х города Y", но опыта вы конечно же не получите.
    Ответ написан
    1 комментарий
  • С чего начать написание библиотеки JS?

    @furrya_black
    Мне кажется, что вы обладаете минимальными знаниями в js и это ваш первый язык.
    - https://learn.javascript.ru/
    - параллельно попробовать сделать свой undescore.js, копипаста будет - не страшно. Все равно потрете потом)

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

    PS: На stackowerflow смотреть все ответы - тот что с зелененькой галочкой не всегда ответ на ВАШ вопрос))

    Мне повезло в свое время - меня было кому по рукам бить)
    Ответ написан
    Комментировать
  • Какие микро js/css библиотеки/фреймворки посоветуете для изучения?

    @furrya_black
    У меня такое ощущение, что вы изучаете не с того места.

    js учить с фреймворка? php так же?

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

    Нулевой старт - базовые основы языка, синтаксис, операторы и тд, Примера для js: https://learn.javascript.ru/

    UPD:
    Потом или параллельно попробуйте написать свой undescore.js с оглядкой на сам undescore)
    Сначала будет большой js файл практически с копипастой, глядишь - как дойдете до промисов - будет проект на гите не в виде одного файла, а завернутый в webpack + testem + по мелочи с сорцами в es6 и траспойлерами)
    Ответ написан