• Как поставить пароль от Github?

    z808z
    @z808z
    Fullstack web-разработчик c уклоном во фронт
    Тебе нужно подключение через ssh https://help.github.com/en/github/authenticating-t...
    Ответ написан
    Комментировать
  • Ссылка в терминале node console.log(). Как всунуть ссылку?

    deepblack
    @deepblack
    Для этого достаточно вывести её в консоль.
    Далее выделение её как ссылки зависит от самой консоли.
    В Маке и Линукс это как правило работает по умолчанию.
    Ответ написан
    Комментировать
  • В чём смысл finally?

    E1ON
    @E1ON
    Programming, Gamedev, VR
    Finally гарантирует выполнение кода, независимо от того, была ошибка или нет.
    А что будет, если код, обрабатывающий исключение, сам вбросит исключение?

    try
    {
      throw new ArgumentException();
    }
    catch(Exception)
    {
          // any new exception thrown here
    } 
    CodeCleanup();


    В данном случае выполнение логики прервется, соответственно, метод CodeCleanup не будет выполнен.

    Подобное может случиться, например при вызовах методов, которые выполняют определенные сетевые операции, которые отваливаются по Timeout-у. В таком случае обычно делают N-ое кол-во повторных вызовов того же метода, чтобы исключить проблемы, связанные с настабильностью сети.

    Finally решает эту проблему.
    Ответ написан
    2 комментария
  • Для чего так делают?

    syamskoy
    @syamskoy
    Интерфейс нужен не для того, что бы вы не забыли добавить какой-то метод. Он нужен, что бы вы работали, с контрактами. Например:
    public function addToSwimmingPool(Swimming $animal): void
    {
        $this->pool[] = $animal;
    }

    Так вы гарантируете, что добавите в бассейн только плавающих животных.

    Без использования интерфейса, пришлось бы делать так:
    public function addToSwimmingPool($animal): void { ... }

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

    public function addToSwimmingPool(Penguin $animal): void { ... }

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

    @Nc_Soft
    Интерфейс ГАРАНТИРУЕТ наличие такого метода в классе.
    Ответ написан
    3 комментария
  • Как разделить сервер пополам?

    deepblack
    @deepblack
    Я предлагаю поставить любой нормальный гипервизор,
    например ESXi (VMware vSphere Hypervisor)
    Ответ написан
    Комментировать
  • Можно ли создать виртуальное ядро в Linux, если имеется кластер ARM?

    alfss
    @alfss
    https://career.habr.com/alfss
    Работать будет только на тех задачах которые вы реализуете.
    Из описания вы хотите какой-то магии с разгрузкой ноута от его задач, так работать не будет.
    Ядра с других машин нельзя никак "монтировать".
    Кластер, это несколько машин объединенных одной задачей и ПО которое распределяет конкретную задачу.
    Так же полезно будет знать следующую таблицу: https://gist.github.com/jboner/2841832
    Ответ написан
    2 комментария
  • Как быстро сравнить 2 числовых массива?

    2chevskii
    @2chevskii
    Если бы каждый мог в поиск, тостер бы вымер.
    Порой, глядя на предыдущие ответы, я просто не понимаю - что творится в головах этих людей? Неужели все JS разработчики настолько забивают на производительность своих поделок?
    function runTests() {
        const testCount = 1000;
    
        const testArrays = [];
    
        for (let i = 0; i < testCount; i++) {
            const arrayLength = Math.round(Math.random() * 100);
            const array = [];
            for (let i = 0; i < arrayLength; i++) {
                array.push(Math.random() * 10);
            }
            testArrays.push(array);
        }
    
        console.time('stringifyCompare');
    
        for (let i = 0; i < testCount - 1; i++) {
            compareStringify(testArrays[i], testArrays[i + 1]);
        }
    
        console.timeEnd('stringifyCompare');
    
        console.time('normalCompare');
    
        for (let i = 0; i < testCount - 1; i++) {
            compareTheRightWay(testArrays[i], testArrays[i + 1]);
        }
    
        console.timeEnd('normalCompare');
    }
    
    function compareStringify(first, second) {
        return JSON.stringify(first) == JSON.stringify(second);
    }
    
    function compareTheRightWay(first, second) {
        if (first.length != second.length) {
            return false;
        }
    
        for (let i = 0; i < first.length; i++) {
            if (first[i] != second[i]) {
                return false;
            }
        }
    
        return true;
    }
    
    runTests();

    Результаты:
    stringifyCompare: 21.304ms
    normalCompare: 0.148ms
    Ответ написан
    1 комментарий
  • Какие есть концепции работы с вебпак?

    DevMan
    @DevMan
    смешались люди и кони.

    разрабы получают исходники и конфиг вебпака. запускают у себя вебпак и получают собранный код.

    пхп и бд вебпак может и умеет, но нафига вообще представить не могу.
    Ответ написан
  • Возможна ли прокачка алгоритмов без хорошего знания синтаксиса?

    @dmshar
    Представьте себе вам и вашей команде надо сделать какую-то работу, ну предположим - построить стену. Вы начальник. У вас в голове должен быть алгоритм решения этой задачи - изготовить раствор, заместить раствор, поднести кирпичи, уложить слой раствора, уложить слой кирпичей, если высота стены меньше заданной - повторять описанные выше действия. Разложив задачу на шаги и увязав их воедино вы получили алгоритм решения, который передаете исполнителем для выполнения.
    Аналогично в программировании. Вам ставят задачу, первым делом вы должны ее разбить на некоторые более простые действия и увязать их между собой. Теперь вы можете этот алгоритм описать - на русском языке, на английском, на китайском.... А можете на языке программирования С++ или Java Script. Вот тут алгоритмы сортировки вообще языком танца демонстрируют. Прикольненько так и вполне понятненько :-).
    https://habr.com/ru/post/117200/
    Конечно, когда мы говорим о программирования некие вещи надо знать - что такое память компьютера, как там данные можно сохранить и как их оттуда извлечь, и пр.
    Но цикл - это понятие не из программирования, но в разных языках оно просто реализовано немножко по разному. И сравнение и выбор - тоже проистекают из обычной жизни и только специальным образом воплощаются в языках.
    Так что язык, который вы используете - это только средство описания алгоритмов, а никак не необходимый инструмент.
    Ответ написан
    Комментировать
  • Java на уровне железа, отличия от C++?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    Авторы надеялись, что к железу можно будет обращаться с помощью абстракций - производитель железа у себя реализует java-машину, а уж сверху нее можно запускать прикладной код.

    Вы забываете о большом пласте истории техники, который был сильно до этого - 8 битные домашние ЭВМ (десятки их) и язык Бейсик.

    Так вот, ЭВМ того времени были катастрофически разными - разные носители (кассеты, дискеты, картриджи), разная аппаратура (засунуть еще один центральный процессор в дисковод? да нивапрос! разная скорость для PAL и NTSC версий - легко!). Но вот бейсик был везде и позволял, с некоторыми переделками, таскать программы с машины на машину.

    Таким образом, авторы находились в этом историческом контексте (у них все детство прошло в обнимку с каким-нибудь VIC-20). Тут уже становится логичным желание сотворить то же самое, только круче - берем современный язык, стандартизируем синтаксис - и делаем аналогично - производитель железа предоставляет нам Java-машину с нужным уровнем абстракции - и все программы бегают с архитектуры на архитектуру без переделок.

    Отчасти, это сработало на старых мобилках, в эпоху j2me - это как раз Java, засунутая в телефон - игры, браузеры, карты (были даже ЯндексКарты), читалки, чатилки - куча всего.

    Еще один виток эволюции, которые вы, видимо, не застали - (чорд, я - стар, я очень стар) - попытки сотворить интерактивные веб страницы.
    "У нас же есть всюду переносимая Java - давайте влупим ее поддержку в браузер в виде апплетов - небольших приложений". Тут резко активировались вирусописатели и прочий сброд - благодаря развесистой и дырявой архитектуре, апплеты могли творить всякую дичь.

    Сейчас апплет на java можно встретить во всяком старом железе, на нем там сделано GUI для удаленного администрирования серверов, коммутаторов и СХД. Вы браузером заходите на железку, и тут на вас вываливается ворох предупреждений о том, что сейчас будет запущено какое-то ужасное дырявое ПО, держите штаны, а то слетят. Уверены? Точно уверены? А с этим согласны? А так?

    А уже потом начали активно применять JavaScript, главным образом, изобретя Ajax - продолжая люто натягивать сову (систему для создания электронных библиотек для ученых/HTML) на глобус (задачу создания интерактивного гуя с красивой версткой).

    И это вы еще бэк на Perle не рефакторили
    Ответ написан
    2 комментария
  • Что быстрее массив или объект?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Почему вы считаете, что обращение по ключу - не поиск?

    Ключ это прямой адрес в памяти?
    Нет, а значит наверное надо выполнить поиск по всем объектам, чтобы найти нужный по ключу?
    Нужно смотреть реализацию геттера, чтобы понять насколько там все сложно.
    Ответ написан
    1 комментарий
  • Факт или миф: комп не стоит изнашивать частыми включениями-выключениями? Гибернация системы на SSD?

    @pfg21
    ex-турист
    потребление энергии, если у тебя не крутится в памяти браузер с кучей джабоскриптованных по самое не балуйся вкладок или троянчег с майером поймал, без нагрузки должно быть минимальным. меньше лампочки в коридоре :) за полчаса не обеднеешь.
    "Сон" компа сильно влияет на энергопотребление. ибо отключается все кроме обновления DRAM (hdd обычно тоже). так что можешь усыплять комп, но скоро надоест забьешь на такие мелочи.
    Ответ написан
    6 комментариев
  • Факт или миф: комп не стоит изнашивать частыми включениями-выключениями? Гибернация системы на SSD?

    gbg
    @gbg Куратор тега Электроника
    Любые ответы на любые вопросы
    Сама идея появилась от того, что при циклировании питания, изнашивается HDD и в гораздо меньшей степени, конденсаторы в цепях фильтрации питания.

    Так что если исключить из рассмотрения HDD (его нет) и конденсаторы (там теперь кругом твердотельные), пробоем с циклированием нет никаких.

    Идея о том, что частая гибернация может испортить SSD - также устарела, современные SSD и не такое переживут и будут заменены раньше - просто потому, что станут вмещать мало данных.
    Ответ написан
    3 комментария
  • Переключение Git пользователей?

    Sanasol
    @Sanasol
    нельзя просто так взять и загуглить ошибку
    Комментировать
  • Что может линукс, чего не может Mac?

    Макинтош - кривое поделие за оверпрайс. Плюсы Макинтоша (цвета, музыка) - это не плюсы ОС, это плюсы железа (та же ретина). В остальном же, он очень деревянный, не расширяемый, там ничего нельзя поставить \ сделать под себя, очень скудный, по сравнению с Windows, набор софта. Интерфейс лично мне не нравится, у Линукса (Ubuntu, Kali, Endless OS) и шинды гораздо красивее интерфейсы.

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

    Единственный плюс эппла - железо, ретина в частности; все остальное опять-таки никто не мешает собрать и на windows-машине.

    Чтобы понять, что есть Мак, поставьте себе хакинтош на виртуалке.
    Ответ написан
  • Какой тип в базе данных позволит записать число больше 999,999?

    2ord
    @2ord
    Для денег тип Float нельзя использовать.
    Тип Decimal нужно использовать правильно, с учетом дробной части.
    Что означает тип данных/поля DECIMAL (MySql)?
    Ответ написан
    Комментировать