• Vue вместо jquery на примере кинозала?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    минут пять, на коленке:

    Ответ написан
    16 комментариев
  • Как проверить установлен ли JDK?

    @red_line_nes
    Если JRE, то java -version
    Если JDK, то должен быть компилятор как минимум javac -version, но может не отработать если переменные среды не настроены
    Ответ написан
    Комментировать
  • Циклы или рекурсия?

    @utyv
    Есть еще третий вариант: обобщенные функции, работающие со списками (массивами). map f l применяет функцию f к каждому элементу f и возвращает список результатов. filter p l возвращает список элементов, для которых выполняется условие p. fold f l «сворачивает» список, помещая функцию f между его элементами. Большинство циклов в имеративном коде можно свести к этим функциям. А если программист понял, как они работают, ему уже не надо отлаживать код глазами (что в случае цикла, что в случае рекурсии).
    Надо только, чтобы язык поддерживал работу с функциями как со значениями. И анонимные функции не помешают (лябда-выражения по научному).
    Ответ написан
    Комментировать
  • Циклы или рекурсия?

    @gro
    Если бы что-нибудь одно было предпочтительнее другого во всех случаях, этого другого бы не было.
    Ответ написан
    2 комментария
  • Циклы или рекурсия?

    @sergei-grigorev
    Все зависит от задачки. Порою достаточно простого цикла, с ним и работать проще и нет проблем со стеком. Еще, лучше все таки в цикле решать задачи, где результат следующего полностью зависит от результата предыдущего (например, факториал).

    При других задачках (например, обход вложенных каталогов), когда при этом у каждого имеется ряд своих отдельных переменных (например, количество файлов в данном каталоге), или асинхронных потоков, то поддерживать легче будет рекурсию. Да и рекурсия в данном случае будет удобнее, потому что обход одного каталога совсем не зависит от результатов обхода другого соседнего каталога, и они могут работать параллельно, независимо друг от друга. А затем в конце просто объединяют все свои результаты.

    Еще рекурсия будет эффективна, если рекурсивная функция кешируемая, например, она запоминает результат и при следующем запросе просто возвращается кешированный вариант.
    Ответ написан
    2 комментария
  • Где используются прототипы, наследование в JS приложениях?

    yurakostin
    @yurakostin
    Front-end developer
    Здравствуйте.
    На самом деле всё проще.
    Не обижайтесь, но вы просто не так хорошо знаете сам javascript.

    1. prototype - ссылка на прототип объекта.
    Array.prototype, Number.prototype. В нём хранятся методы и свойства этого объекта, а также... (далее переходим к __proto__)

    2. __proto__ - тоже ссылка на прототип. Например, введите в консоли [] и раскройте ветвь. У вас всего два свойства. Одно - length - количество элементов в массиве. Другое - __proto__. А где же все методы, которые мы можем использовать с массивами filter, map, slice и так далее? Они лежат в __proto__. Более подробно здесь.

    3. inheritance соответственно - наследование. JS построен на прототипной парадигме (надеюсь, я тут не наврал). Array наследуется от Object. Это можно легко увидеть, посмотрев Array.prototype. Там вы увидите тот самый __proto__, являющийся ссылкой на Object.prototype. Вся инфа по ссылке выше.

    4, 5. call и apply постепенно уходят из обихода, но тем не менее про них важно знать и уметь ими пользоваться. Эти методы позволяют вызвать функцию в контексте, который вам необходим.

    Например вам нужно вызвать метод какого-то объекта, который работает с this в контексте другого объекта, у которого этого метода нет. Вы можете сделать следующее:
    var o_1 = {
    	name: 'Peter',
    	hello: function () {
    		console.log('Hello, ' + this.name);
    	}
    };
    
    var o_2 = {
    	name: 'Jane'
    };
    
    o_1.hello.call(o_2); // Фактически вы говорите "вызови метод такой-то для объекта такого-то"


    Для передачи аргументов в "заимствованную" функцию оба метода принимают аргументы, каждый по-своему.
    var o_1 = {
    	name: 'Peter',
    	hello: function () {
    		console.log('Hello, ' + this.name);
    	},
            sum: function (a, b) {
    		console.log(`${this.name} sum a and b to ${a + b}`);
    	}
    };
    
    var o_2 = {
    	name: 'Jane'
    };
    
    o_1.sum.call(o_2, 2, 4);
    o_1.sum.apply(o_2, [1, 2]);


    Отличие между этими двумя методами в том, как они принимают аргументы, которые попадут в функцию.
    call принимает список аргументов, начиная со второго, а apply, соответственно, принимает массив.

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

    var o = {
    	sum: function (a, b) {
    		console.log(a + b);
    	}
    }
    o.sum.call(null, 1, 2);
    o.sum.apply(null, [1, 2]);


    Подробнее тут.

    6. bind тоже довольно простая штука. Отчасти он похож на предыдущие два метода, за исключением того, что он не вызывает функцию сразу же.
    Основная его задача - вернуть функцию, которая будет вызвана для нужного вам контекста.

    var o = {
    	a: 1,
    	b: 2,
    	sum: function () {
    		console.log(this.a + this.b);
    	}
    };
    
    var o2 = {
    	a: 10,
    	b: 20
    };
    
    var o2Sum = o.sum.bind(o2);
    
    o2Sum();


    Также с помощью bind можно каррировать функции.
    Всё есть здесь

    PS: надеюсь, код не содержит ошибок и я нигде не налажал и всё правильно рассказал.
    Ответ написан
    4 комментария
  • Можно ли при установке Ubuntu Core задать настройки proxy?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Можно перейти в другой терминал ctrl + alt + F2 или alt + F2 и записать в файл /etc/apt.conf следующее:

    Acquire::http::Proxy "http://LOGIN:PASSWORD@ADDRESS:PORT";
    Acquire::https::Proxy "https://LOGIN:PASSWORD@ADDRESS:PORT";
    Ответ написан
    2 комментария
  • Как обналичить криптовалюту?

    DollyPapper
    @DollyPapper
    С любого обменника выводите на свой счет в банке. Лимиты есть, но можно в разные банки выводить. Сделать 2-3 карты, 1 в сбере например, вторую в ВТБ или еще где. С маленькими суммами никому дела не будет, но я где-то слышал, что при обналичке денег с карты потом, могут возникнуть трудности. Переводы в размере от 600к вызывают внимание у банков, и при сьеме вас могут спросить откуда бабки. Ну типа на работе у вас такая зп, бизнеса у вас нет, а бабок много. Но все это легко доказывается, например показав транзакции со своего кошелька и показав работнику банка, что кошелек именно ваш, вроде является доказательством. Но этого всего может и не быть. А так проблем быть не должно.
    Ответ написан
    9 комментариев
  • Файловый менеджер для Windows на замену Total Commander

    admhome
    @admhome
    html, css, js. php, ubuntu
    Есть ещё Double Commander
    Ответ написан
    Комментировать
  • Файловый менеджер для Windows на замену Total Commander

    arty87
    @arty87
    В таких случаях я обычно пользуюсь вот этим сервисом:
    alternativeto.net/software/total-commander/

    Возможно, там вы найдёте ответ на свой вопрос.
    Ответ написан
    2 комментария
  • Файловый менеджер для Windows на замену Total Commander

    butteff
    @butteff
    Раз в тысячу лет заправляю свитер в носки
    frigate мне нравился в свое время, но он платный был и я юзал его для фтп. Но там модулей маловато, но он гламурненький
    а потом я поставил filezilla и удалил его.
    Ответ написан
    1 комментарий
  • Как определить IE включая 11?

    var ua = window.navigator.userAgent.toLowerCase(),
    is_ie = (/trident/gi).test(ua) || (/msie/gi).test(ua);

    Смотрите userAgent. Правильнее искать "Trident", но для большей надежности можно проверить еще и "MSIE".
    Ответ написан
    1 комментарий
  • Как определить IE включая 11?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Conditional compilation

    Вариант с ветвлением:

    /*@cc_on @if (@_jscript)
    console.log('Я — осёл и мой номер ' + @_jscript_version);
    @else @*/
    document.write('Я — обычный современный утюг');
    /*@end @*/


    Ну а так только для IE:

    /*@cc_on
    console.log('Я — осёл и мой номер ' + @_jscript_version);
    @*/
    Ответ написан
    Комментировать
  • Переходить с Xenserver на Proxmox?

    opium
    @opium
    Просто люблю качественно работать
    из коробки не умеет пробрасывать усб, но можно руками пробросить в конфике квм
    а так все умеет, ну я думаю крон для бекапов тоже не сложно в ксенсервере настроить.
    Ответ написан
    Комментировать
  • XenServer vs Proxmox

    @irbiss
    У windows есть редакция hyper-v edition она бесплатная, но из интерфейса только командная строка (средства базовой настройки есть графические). Но после настройки можно управлять виртуальными машинами с любого компьютера c windows на который установлена консоль управления(с ограничением по поколениям windows например если на сервере windows 2012, то нужна на компьютере windows 8)

    Драйвера для hyper-v есть в ядре линукс и в последних версиях debian, ubuntu, centos включены по умолчанию
    Ответ написан
    Комментировать
  • XenServer vs Proxmox

    ayambit
    @ayambit
    Во первых, вариантов больше. Есть еще бесплатные:
    1) Virtualbox (я писал в Оракл, спрашивал, пока и правда бесплатно)
    2) VMware vSphere Hypervisor™ (ESXi)
    3) Hyper-V

    Во вторых, вы сравниваете не гипервизор, а системы управления, однако зря. Потому что Windows на OpenVZ поставить нельзя. Однако Proxmox VE умеет работать не только с OpenVZ, но еще и с KVM, поэтому вам он годится.

    Однако, для того чтобы полностью ответить на ваш вопрос, нужно больше информации. Вопросы:
    1) С какой целью будете использовать виртуализию? Для производства, для разработки?
    2) Нужно ли будет делегировать доступ к виртуальным машинам? Если да, то кому и какой?
    3) Сколько будет физических серверов под виртуализацию? Планируется ли кластер? Если да, то планируется ли дисковая полка?

    4) Сколько будет виртуальных машин?

    4) планируете ли брать дисковую полку на iSCSI для Live Migration?
    5) планируете ли использовать проброс устройств в гостевые машины, примеры — сетевая карта или
    Ответ написан
    6 комментариев
  • Как починить кириллицу в Source Code Pro под Sublime Text 3?

    DenVdmj
    @DenVdmj
    Javascript, Perl, Lua, etc.
    Кириллица и греческий были официально добавлены через месяц :)
    https://github.com/adobe-fonts/source-code-pro/iss...
    https://github.com/adobe-fonts/source-code-pro/rel...
    Ответ написан
    Комментировать
  • Emacs org-mode - привязка задач между собой?

    grigoryvp
    @grigoryvp
    Вот тут все написано:
    orgmode.org/org.html#TODO-dependencies
    Ответ написан
    Комментировать