• Приоритет в асинхронном коде, как это работает?

    Alexandroppolus
    @Alexandroppolus
    кодир
    1) Просто вызов: оба хендлера последовательно запускаются в одном и том же синхронном коде (в текущем таске), ставят в очередь 2 микротаска.

    2) Через клик: на каждый хендлер создается отдельный таск в event-loop, таски отрабатывают по очереди, каждый из тасков создает по одному микротаску, последний выполняется до перехода управления к след. таску.
    Ответ написан
    Комментировать
  • Как вести себя в ситуации, когда клиент хочет написать заявление в полицию?

    @Stalinko Куратор тега Фриланс
    PHP'шник и фрилансер до мозга костей
    Собственно, а на что он собрался жаловаться в полицию? Единственное, что он может приплести, это "незаконное обогащение". Но раз ты работу сделал, то у тебя есть все доказательства того, что деньги получены за дело.
    Второе, что он может попытаться приплести, это незаконная предпринимательская деятельность и уход от налогов. Ему от этого никакой выгоды, разве, что тебе нервы потрепать. Но т.к. ты самозанятый, то это всё вопросы решаемые.

    В общем не парься. Он просто пугает. Ничего серьезного он не может сделать. Обычный борзый клиент. А тебе урок на будущее: работать лучше по договору с тз, желательно с предоплатой, ну а если начинаются перебои с оплатой, то работа должна быть немедленно прекращена до полной оплаты.
    Ответ написан
    2 комментария
  • Как переменная одновременно может быть и true, и false?

    0xD34F
    @0xD34F Куратор тега JavaScript
    const value = {
      val: 1,
      valueOf() {
        return this.val = !this.val;
      },
    };
    Ответ написан
    4 комментария
  • Не запускается проект Github. Прошу помощи?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Можно не клонировать скрипт, а скачать его архивом, нажав Code-Download ZIP.

    Скрипт можно отредактировать локально, git для этого не нужен.

    В 18 строке падает из-за того, что скрипт берёт сенсор с индексом 1 (при нумерации с нуля), а массив сенсоров на этом компьютере имеет длину меньше 2, возможно даже, что нужные сенсоры ядро не понимает и список пустой. Вообще, скрипт, судя по этому месту, какой-то ацкий говнокод, который сломается просто от изменения порядка вывода сенсоров в модуле psutil. Фу на его автора.

    От себя советую избрать путь настоящего джедая: всё то же самое можно получать стандартными командами:

    Информация по процессорам: lscpu
    Информация по процессам: top или более красиво htop (выход у обоих по кнопке q)
    Информация по памяти: free -h
    Информация по сенсорам (температура, вентиляторы и всё такое): sensors
    Информация по месту на дисках: df -h
    Информация по блочным устройствам дисков: lsblk

    Доустанавливать надо будет только пакеты htop и lm-sensors.

    Ну или можно просто использовать виджеты для используемого десктопа.
    Ответ написан
    Комментировать
  • Оптимизация Windows 10. Что можно и что стоит отключить?

    iLLuzor
    @iLLuzor
    Java, Kotlin, Android Developer
    Поэтому был бы благодарен, если бы вы поделились своими твиками для Windows, объясняя почему и зачем.

    Записывайте. Можно просто пользоваться виндой и не заморачиваться глупостями, типа "оптимизации".
    Потому что можно начитаться всякой ерунды в сети и что-нибудь сломать, а потом ругать корявую винду, хотя стоило бы ругать свои кривые руки.
    Ответ написан
    9 комментариев
  • Оптимизация Windows 10. Что можно и что стоит отключить?

    Здоровая практика использования - берешь и пользуешься, без всякого шаманства
    Ответ написан
    Комментировать
  • Что нужно сделать чтобы объявления, которые выставляются в другом интернет магазине, копировалась в мой интернет магазин?

    hottabxp
    @hottabxp
    Сначала мы жили бедно, а потом нас обокрали..
    Вариантов несколько:
    1) Договорится с владельцем магазина, пусть он сделает api;
    2) Нанять фрилансера, он всё сделает за вас.
    3) etc
    Ответ написан
    Комментировать
  • Как определить город посетителя?

    А если пользовательбудет сидеть через VPN ?
    Как процент ложных определений тебя устраивает ?
    Правильнее было бы запросить у пользователя геолокаыию явно
    https://developer.mozilla.org/ru/docs/Web/API/Geol...
    И используя полученные данные с например гуглевого API по локации тянуть город, плюс позволить пользователю выбрать город смому если определил неправильно
    Ответ написан
    2 комментария
  • Как найти угол между средней линией и катетом в треугольнике?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Для начала - это у вас не средняя линия, а медиана треугольника.

    Из точки M опускаем перпендикуляр на сторону BC. Точку пересечения назовём M'.
    Рассмотрим треугольники АВС и MM'C.
    ∠BCA = ∠M'CM, так как это общий угол треугольников.
    ∠ABC = ∠MM'C, так как эти углы прямые.
    Значит эти треугольники подобны.
    CM = 1/2 CA => CM' = 1/2 CB
    То есть, точка M' делит CB пополам, а значит перпендикуляр MM' одновременно является и медианой треугольника BMC.
    Значит треугольник BMC - равнобедренный и ∠MBC = ∠BCM = ∠BCA = atan(AB/BC).
    Ответ написан
    3 комментария
  • С чего начать изучать Операционные Системы?

    Adamos
    @Adamos
    Я так понимаю, сначала вопрос звучал как "С чего начать изучать компьютер?", но вы сделали над собой усилие и смогли его немного конкретизировать. Повторите эту итерацию еще раза три - глядишь, получится вопрос, на который реально можно дать ответ.
    Ответ написан
    5 комментариев
  • Почему push() возвращает длину массива?

    Lynn
    @Lynn
    nginx, js, css
    Потому что так написано в спецификации.
    Ответ написан
    Комментировать
  • Самый простой способ реализовать real time MySQL (без firebase!) базу данных для маленького приложения?

    @xfg
    Базу данных можно выбрать любую. Она не играет роли в realtime приложениях. Позвольте вам немного объяснить. Для передачи данных между клиентом и сервером в браузере существует всего два протокола. HTTP и Websocket. Firebase не магия и также использует их. Если браузером не поддерживается Websocket, то firebase откатывается на HTTP. Используя общераспространенный подход к разработке на PHP у вас не получится использовать websocket протокол поскольку типичные PHP приложения не живут дольше 1 запроса. Соответственно да, в таком варианте остается только ajax. Но точно также работает и firebase если в браузере нет поддержки websocket, так работает facebook, telegram и много всего остального. Они используют long-polling. Клиент отправляет запрос к скрипту на сервер, скрипт в цикле опрашивает хранилище mysql или более продвинутый вариант mysql+redis (чтобы не грузить запросами mysql) и пока данных не будет, цикл так и продолжит крутиться, для клиента это просто выглядит как повисший запрос к серверу. Как только данные появляются, они отправляются на клиент, соединение разрывается, а клиент сразу же отправляет новый запрос.

    Есть развитие этой идеи. Называется HTTP Streaming. Отличие от long-polling в том, что после отправки данных клиенту соединение не разрывается, а сервер продолжает отправлять последующие данные по этому же соединению. Соединение разрывается по таймауту. Минус в том, что прокси-сервера могут кешировать небольшие пакеты данных и данные нужно раздувать например пробелами, чтобы пакет данных достигал минимального размера и был способен пробить кеш прокси-сервера. Плюс в том, что если у вас данные для клиента появляются скажем с переодичностью раз в секунду, то не будет происходить постоянного открытия-закрытия соединения как при long-polling.

    Есть вариант, когда можно реализовать небольшую прослойку на socket.io. Ваше PHP приложение пишет данные для клиента например в redis. Приложение на socket.io подписывается на redis. Когда PHP что-то отправляет в redis, то socket.io мгновенно об этом узнает и рассылает это событие по websocket протоколу всем подключенным клиентам. Минусы. Раздуваете стек. Нет консистентности данных между записью в основное хранилище (mysql/postgre/mongo/etc) и redis. Соответственно может возникнуть ситуация, когда данные записали, но в redis событие не ушло. Поменяете местами, будет наоборот, событие есть, данных в базе нет.

    Вариантов в целом очень много. Всё это называется Comet. Вам проще всего реализовать long-polling.

    А реал-тайм база, которая умела пушить данные клиенту по tcp протоколу (но не в браузер) была и называлась она rethinkdb.com. Ныне не развивается. IP в России заблокирован. На сайт можно сходить по VPN.
    Ответ написан
    3 комментария
  • Telegram API: Как отправить несколько изображений в одном сообщении?

    Zempik
    @Zempik
    ๏̯͡๏
    Теперь telegrap api такое поддерживает. Метод называется sendMediaGroup.
    Посмотрите в документации https://core.telegram.org/bots/api#sendmediagroup
    Причем можно отправлять смешанные файлы (Фото и видео)
    Ответ написан
    Комментировать
  • Какой язык можно быстро освоить за 7 дней - C++ или Java?

    DevMan
    @DevMan
    ну так и пишите на жс, если нет принципиальных ограничений по используемым языкам.
    electron в помощь.

    решение так себе, но для курсовой вполне сойдёт. особенно за семь дней.
    Ответ написан
    2 комментария
  • Как заставить Safari показывать ссылку при наведении?

    ManWithBear
    @ManWithBear
    Swift Adept, Prague
    Вид -> Показать меню статуса
    либо cmd+/
    Ответ написан
    3 комментария
  • Возможно ли записать значение переменной в localStorage?

    @nvdfxx
    Senior Pomidor developer
    if (code == pass) {
        if(localStorage.getItem('pw')) {
            ...
        } else {
            localStorage.setItem('pw', code)    
            ...
        }
    } else {...}

    И вешаете обработчик на что хотите, а вообще, это бред какой-то, про jwt прочитать можно, или хотя бы про сессии и хеширование, и не хранить в локалсторе открытые пароли
    Ответ написан
    Комментировать
  • В чём разница между веб сайтом и веб приложением?

    joeberetta
    @joeberetta
    Читай: https://epdf.pub/google-for-dummies.html
    В:
    В чём разница между веб сайтом и веб приложением?

    О:
    The main difference between a website and a web application is USER INTERACTION. Website is defined by its content. Web App is defined by its user interaction. For example you can consider a news site as a website.

    (Надеюсь с англ. нет проблем, иначе гугл/яндекс/иной транслейт)

    В:
    Почему большинство переходит на веб приложения?

    О: Вы уверены, что правильно понимаете понятие "веб приложения"? Ибо если сайт написан с использованием "нечисти" (т.е. впихнут реакт/ангуляр//вью/свелт/и.т.д), это еще не делает его приложением (см.выше)

    В:
    Какие плюсы/минусы у каждой из технологий

    О: Все технологии придуманы для облегчения жизнедеятельности людей. От этого и логика, фреймворк нужен не для того чтобы создать конкретно веб приложение вместо сайта, а чтобы упростить его разработку. Ничего более. Нравится все писать голыми руками и клепать 100500 шаблонных html файлов вместо 1 реюзабельного компонента? Пожалуйста, никто вас не останавливает (если это не оговорено в условиях договора/прочего документа). Плюсы у всех технологий (по крайней мере, задумывалось их создателями), облегчение труда/ускорение работы/уменьшение затрат(разных). Минусы: недоработанность/лишний код(который создается этими фреймворками)/много прочего

    В:
    неужто статическому интернету капут

    О: Скорее нет, чем да. Ибо статика обрела новую жизнь, под названием JAMStack
    Ответ написан
  • Удаленщики развиваются медленнее?

    mazhekin
    @mazhekin
    Frontend, Backend Web Developer
    По своему опыту могу сказать, что при переходе на удалённую работу(10 лет) из офиса(7 лет) мое развитие и производительность увеличились в разы.
    1) В офисе ты можешь ничего не делать, а просто показывать лицо и с умным видом рассуждать о полиморфизме. На удалёнке тебя никто не видит, а видят только твои результаты- это обязывает шевелиться быстрее и только по делу.
    2) В офисе ты слишком призязан к месту и организации, зачастую тебя берут на какой нибудь вырост, а в последствии могут дать поддерживать старую программку на фортране или на бейсике, или сунут печатать документы и рисовать рисунки и т.п. и ничего не скажешь. На удалёнке тебе легко поменять проект, если закончились твои задачи, ты смотришь на работу не как на что-то вечное и стабильное, а как на проект, на который тебя взяли из-за определенных скиллов, под конкретные задачи и от тебя ждут конкретные результаты.
    3) В офисе тебя отвлекают разговорами, совещаниями, теннисом и т.п., купят тот стул и комп, который купят, а не который ты хочешь, на удаленке у тебя отдельная комната - как минимум, кресло и мощный игровой ноут (легко поднимающий виртуальные машины или докер-контейнеры), которые ты сам себе выбрал.
    4) Да, экономия на времени, дороге, спорте, месте жительства само собой.
    5) В офисе обучение предлагается/навязывается, но так как вроде положение там стабильное то и оно не так и хочется прям учится, на удалёнке ты понимаешь что это твое конкурентное преимущество и без обучения никак, ты ищешь, анализируешь, что в тренде и больше востребовано, и подгоняешь свои скилы под общие требования рынка, а не конкретной организации.
    6) в офисе не особо поднимают тебе зарплаты типа никуда не денешься, а попросить неудобно, на удалёнке ты с каждым новым проектом пересматриваешь свою цену и приобретенный опыт. (ну хотя здесь немного вру, в офисе повышали нормально, после удачных релизов )

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

    И да... в офисе, мне сказали сразу, что тебя наняли решать задачи, а не отвлекать коллег, так что на то, что там кто-то делиться опытом, мне наверно не повезло.
    Ответ написан
    6 комментариев
  • При отключении плагина ACF сайт перестает работать и не помогает подключение полей в function.php?

    @baton4eg
    web developer
    С чего это он должен работать после отключения плагина ? о_О
    Ничего он не должен, поэтому и не работает.
    Ответ написан
    3 комментария