• Composer не видит переменную PATH?

    vangelis83
    @vangelis83
    Начинающий веб разработчик
    У меня была такая проблема. Решил ее следующим образом: в windows 10 есть окно, в котором все пути выводятся в отдельных строках и там же есть кнопки "Вверх", "Вниз". Я путь к php поставил ниже, после пути к файлам composer. И случилось чудо, composer у меня заработал.
    Ответ написан
    4 комментария
  • Почему асинхронная функция работает иначе?

    0xD34F
    @0xD34F Куратор тега JavaScript
    выполняются одновременно

    Всё-таки не одновременно. Поток выполнения один, так что... [разводит руками]

    Из-за чего у вас возникла иллюзия "одновременности" - вы результат работы синхронного кода (*) решили получать асинхронно. Вызвали первый раз showText - цикл открутился, замечательно, но демонстрации результата пока не происходит, потому что await. Вот когда поток выполнения освободиться, тогда да. А до того - надо второй вызов showText выполнить. Ну а когда вызовы showText отработают - вот тогда их результаты и показываются, сразу все.

    * Вы можете возразить - ...
    ...ну как же так, у меня там промис используется. А так. Недостаточно написать new Promise, чтобы получить желаемую асинхронность. Проведите небольшой эксперимент - откройте консоль, выполните

    console.log('щас будем создавать промис');
    new Promise(r => {
      console.log('создаём промис');
      setTimeout(() => {
        console.log('так, сейчас дёрнем резолв');
        r();
        console.log('резолв дёрнули');
      });
    }).then(() => console.log('зарезолвились, наконец-то'));
    console.log('промис создан');

    и посмотрите на порядок вывода сообщений. Потом то же самое ещё раз, но без оборачивания резолва в setTimeout. Подумайте. Подумав, можно будет сделать очевидный вывод: а промисы-то - синхронны (да-да, вот так), код внутри промисов выполняется сразу после вызова конструктора. Асинхронным является получение результата.
    Ответ написан
    5 комментариев
  • Ошибка на сервере "Отключите использование HOSTS". Как это сделать?

    Amstor
    @Amstor
    Работаю в wap-e
    1. Открыть cmd.exe (win + r)
    2. Выполнить там команду:
    attrib.exe -s -r -h -a C:\Windows\system32\drivers\etc\hosts


    Если это не помогло, значит у вас скорее всего запущено антивирусное ПО, которое блокирует файл самостоятельно. В этом случаем можно в настройках ПО добавить исполняемый файл openserver в доверенные.
    Ответ написан
    2 комментария
  • Как разметить SSD накопитель при установленной системе не имея CD привода?

    JohnnyGat
    @JohnnyGat
    Стараюсь писать код, понятный человеку.
    Панель управления -> Администрирование -> Управление компьютером -> Управление дисками
    Ответ написан
    Комментировать
  • Как изогнуть input?

    JRK_DV
    @JRK_DV
    Рецепты https://codepen.io/jrkdv/full/LKLXdq
    Хотелось бы сделать из этой палки изогнутую палку

    Боюсь спросить на сколько изогнутую, как пример не?
    https://jsfiddle.net/vtLn0596/1/
    Ответ написан
    10 комментариев
  • Почему иногда пропадает соединение wifi на Windows 10?

    kolian89
    @kolian89
    Frontend
    Было раньше подобное, выставил Ширина канала 40 и проблема пропала, а было 20\40 режим.
    Ответ написан
    1 комментарий
  • Как задать имя объекта, возвращаемого методом класса в es6?

    rockon404
    @rockon404
    Frontend Developer
    Вариант 1: Создаваемым объектам можно переопределять свойство __proto__, а взять его можно из экземпляра класса:
    class myClass {    
      createSomeObj() {
        const newObj = { 1: 1, 2: 2 };
    
        newObj.__proto__ = this.__proto__;
    
        return newObj;
      }
    }
      
    const instance = new myClass();
    const instanceOfInstance = instance.createSomeObj();
    
    console.log(instanceOfInstance.createSomeObj()); // myClass {1: 1, 2: 2}

    Демо.
    Объекту будут доступны методы класса и он будет проходить проверку instanceof.

    Вариант 2: Вы так же можете переопределять лишь конструктор:
    class myClass {    
      createSomeObj() {
        const newObj = { 1: 1, 2: 2 };
    
        newObj.__proto__.constructor = myClass;
    
        return newObj;
      }
    }
      
    const instance = new myClass();
    
    console.log(instance.createSomeObj()); // myClass {1: 1, 2: 2}

    Демо.
    В этом случае объекту не будут доступны методы класса и он не будет проходить проверку instanceof.

    Вариант 3: Статический метод и прямое создание экземпляра.
    class myClass {
      constructor(props) {
        Object.keys(props).forEach(key => this[key] = props[key]);
      }
      
      static createSomeObj() {   
        return new myClass({ 1: 1, 2: 2 });
      }
    }
      
    console.log(myClass.createSomeObj()); // myClass {1: 1, 2: 2}

    Демо.
    Прямое создание экземпляра класса, без необходимости в экземпляре для его создания.

    Думаю, вам больше подойдут третий или первый варианты.
    Ответ написан
    5 комментариев
  • ЧТо делает провайдер, когда устанавливает нам скорость интернета?

    15432
    @15432
    Системный программист ^_^
    провайдер считает количество трафика, передаваемого вам и от вас. всё, что превышает установленную для тарифа скорость - "дропается", пакеты отбрасываются и не доходят до получателя.

    обычный древний LAN кабель с 4 жилами позволяет установить скорость до 100 мбит/с (12 МБайт/c)
    если подключены все 8 жил, то до 1 Гбит/с (120 Мбайт/c)
    Ответ написан
    4 комментария
  • Раздача интернета через Bluetooth?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Раз ноутбук уже подцеплен к wifi то цепляйся к этой же точке айфоном, на ноутбуке делай шлюз, на айфоне в настройках wifi указывай шлюзом ip ноутбука
    Ответ написан
    1 комментарий
  • Как остановить скролл в точном месте?

    Stalker_RED
    @Stalker_RED
    Для этого нужно в операционной системе уменьшить чувствительность колеса до одного пикселя за "тик".
    (Подсказка: никто из ваших юзеров не будет заниматься такой фигней.)
    Более реальный план: самостоятельно сдвигать скролл когда юзер докрутил приблизительно туда, куда вам нужно.
    Ответ написан
    4 комментария
  • С чего начать учить React?

    Krasnodar_etc
    @Krasnodar_etc
    avito front
    У них же просто охренительный официальный туториал
    Ответ написан
    1 комментарий
  • Как сделать такую анимацию?

    @ElijahTr
    Ответ написан
    Комментировать
  • Лучше использовать абсолютные ссылки или относительные?

    PavelMonro
    @PavelMonro
    Без разницы на самом деле.
    Но второй вариант удобнее если вдруг будет смена домена, или например переезд на другой протокол
    Ответ написан
    Комментировать
  • Как лучше организовать классы и методы?

    @Kostik_1993
    Web Developer
    Вам самому не кажется что это дно? Используйте роутер какой-нибудь нормальный и не костыльте херню вида path to controller
    Ответ написан
    3 комментария
  • Как создать субдомен с именем пользователя в качестве имени поддомена?

    AlexMcArrow
    @AlexMcArrow
    Люблю РНР, да я такой!
    Такое можно реализовать на уровне веб-сервера (NGINX)
    server_name ~^(?<user>.+)\.site\.ru$;
    Далее вам будет доступна (на уровне nginx) переменная $user значение которой можно передать в php
    fastcgi_param USER $user;
    Она будет доступна php в массиве $_SERVER
    Ответ написан
  • Как правильно перенаправлять пользователя на нужную версию сайта?

    Exploding
    @Exploding
    wtf?
    Ну так вы ж наверно по IP и гугл, вместе со всей толпой швыряете на англ?)) Как же ему пройтись по другим версиям))
    Варианты такие, как по мне:
    • Дописать, чтобы по UA смотрело кто пришел, и перекидывать выборочно. ПС не трогать вообще.
    • При входе на сайт, определять страну, но не перекидывать, а просто выводить сообщение оверлейное, та соотв. языке типа: "Ты Португалец? Может хочешь на португальскую версию? [Да, хочу][Нет]". Это позволит ПС нормально пройтись по всем версиям.
    • НУ еще как вариант, автом. перенаправление, но не сразу, а чтоб человек видел, что через ~15 сек его перекинет на Португальскую (имхо самый бред)))

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

    P.S. А тем более, что скорее всего, ошибки будут именно в правильном определении IP и язык. версии, щас же VPN-щиков, TOR-овцев и прочих - на каждом шагу...
    P.P.S. Ах да, еще же кроме неудачников, бывают и прямые заходы! Что-то совсем вылетело из головы... Вот для них тоже оверлейный запрос!
    Ответ написан
    Комментировать
  • Filter и action - в чем разница этих хуков?

    dimasmagadan
    @dimasmagadan
    action оповещает, что какое-то событие сейчас произойдет и к этому хуку можно прицепиться и тоже что-то сделать.
    Например на приход оповещения "дорогой, я уезжаю к маме на неделю" можно повесить выполнение функций "уйти в запой" или "уйти на рыбалку".

    Фильтр же дает нам какие-то данные и мы можем их вернуть как есть или в измененном виде.
    Например в функции, которая запускает оповещение про отъезд, может быть фильтр на количество дней и на место прибывания.
    Повесив свой фильтр на эти переменные, мы сможем вернуть не "к маме на неделю", а "на Сахалин навсегда".
    Ответ написан
    Комментировать
  • Что за шум вокруг темы, что программисты скоро не нужны?

    Vlad_IT
    @Vlad_IT
    Front-end разработчик
    программисты не будут скоро восстребованы.

    Когда мне было 16, я начинал только программировать, меня волновал тот же самый вопрос. Вот даже тему создавал на форуме www.cyberforum.ru/job/thread127123.html (сильно не читайте, мне стыдно за свои сообщения того времени =) ) Это было 7 лет назад, за это время особо ничего не изменилось, поэтому думаю через еще 7 лет будет все нормально.
    Работы для программиста море, а работники нормальные как правило отсутствуют. Понятное дело, что программирование стало "мейнстримом", делать сайты идут все кому не лень, т.к. везде кричат "Программирование сделает вас богатыми! Всего за месяц вы научитесь создавать сайты за деньги!", благо майнинг переманивает людей, желающих легких денег (не в обиду профессиональным майнерам). Но скажу точно, если вы прочитали хоть одну книжку по своему языку программирования, можете писать без использования jQuery и Boostrap (не в обиду этим технологиям, просто часто вижу, что люди учат не JS/CSS, а jQuery/Boostrap), умеете ставить правильные сроки, сможете написать игру "змейка" - то вы уже лучше 90% программистов, а то и больше.
    будут такие инструменты

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

    Так будет с большинством профессий, даже со специалистами по машинному обучению. Но надо понимать, что это случится еще не скоро, лет 10 у вас есть, а там сделают безусловных доход в развитых странах, а в менее развитых, сделают закон, требующий чтобы более 50% сотрудников были не ИИ :-)
    Скажу точно, если вам программирование не очень нравится, то советую уйти в другую профессию, т.к. без любви к этой профессии будет сложно часами сидеть и учить материал (когда тебя не заставляют). Деньги легкие вы тут тоже не сделаете.
    Ответ написан
    10 комментариев
  • Почему локалхост принудительно перекидывает на HTTPS?

    Markus_Kane
    @Markus_Kane
    Full-stack developer (Symfony, Laravel, Vue.js)
    У Вас локальные проекты находятся в домене .dev?
    .dev - это существующая доменная зона и она принадлежит Google. И в последней версии Chrome они по умолчанию включают HSTS для доменов в этой зоне и его нельзя для них отключить (по крайней мере я не нашел).
    Скорее всего это сделано для них самих и разработке внутри компании, но для всех остальных - подлянка :)

    Как вариант решения - переименуйте локальные домены. Сделайте для них зону не .dev, а .local, например.
    Ответ написан
    3 комментария