• Можно ли написать SQL запрос с выражением в WHERE и в SELECT, но без повторения этого выражения и без вложенного SELECT?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    --WHERE val = 'e59253548ffcb090ecc0cd0944afd27f'
    ++HAVING val = 'e59253548ffcb090ecc0cd0944afd27f'
    Ответ написан
    Комментировать
  • Почему ПК не включается хотя, сигнал от матери есть на секунду?

    1HAWK1
    @1HAWK1
    Причин, по которым ПК не включается даже при наличии сигнала от материнской платы в течение секунды может быть несколько. Вот некоторые возможные причины:

    Проблемы с блоком питания: если блок питания не обеспечивает достаточную мощность для материнской платы, ПК может не включаться должным образом. Это может быть связано с неисправным блоком питания, ненадежным соединением или скачком напряжения, который повредил блок питания.

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

    Неисправное оборудование. Неисправный аппаратный компонент, например, оперативная память или процессор, может привести к тому, что ПК не включится. Это может произойти, если компонент поврежден, неправильно установлен или несовместим с материнской платой.

    Проблемы с BIOS: если настройки BIOS неверны, компьютер может не включиться должным образом. Это может произойти, если BIOS был сброшен или возникла проблема с прошивкой BIOS.

    Проблемы с материнской платой: если материнская плата повреждена или неисправна, она может не иметь возможности должным образом взаимодействовать с другими аппаратными компонентами ПК. Это может привести к невозможности включения или короткому сигналу перед выключением.

    Чтобы определить точную причину проблемы, может потребоваться выполнить некоторые шаги по устранению неполадок или обратиться за помощью к профессиональному специалисту.
    Ответ написан
    Комментировать
  • Могу я задать вопрос по коду, как мегаджун JS?

    @collapsoid
    1. Лишние манипуляции над домом.
    appendChild нужно делать только после того, как элемент и все его дети будут настроены. Т.е. если в функции showMessage сначала настроить messageWrapper (задать класс; добавить в него message) и только потом сделать document.body.appendChild, то можно выиграть в производительности за счет меньшего количества обращений к DOM-дереву.

    Эти строки вызывают вопрос, т.к. не очень понятно, зачем нужно добавлять элементу класс и через 100 миллисекунд его убирать. Выглядит, как что-то ненужное
    messageWrapper.classList.add("messageWrapperUnvis");
    setTimeout(() => {
      messageWrapper.classList.remove("messageWrapperUnvis");
    }, 100);


    2. Ивент листенеры нужно удалять за собой.
    Нужно убирать отратобавшие event listeners, т.к. их накопление приводит к утечке памяти.
    Также желательно пересмотреть подход к определению слушателей вообще, т.к. в функции modalWindow на каждое событие contextmenu устанавливается другое событие contextmenu, назначение которого только лишь в том, чтобы удалить предыдущий currentDiv. Имеет смысл вынести currentDiv в функцию modalWindow, а внутри слушателя делать необходимую проверку.

    3. Нерациональный ранний выход из функции.
    В функции modalWindow нет смысла создавать элементы, кроме wrapper, т.к. при срабатывании условия e.target.matches("#input") произойдет return и ранее созданные элементы просто окажутся бесполезными. Т.е. if нужно разместить непосредственно после wrapper.

    4. Бесполезные элементы.
    Функцию addNewItem я бы вообще переделал, т.к. внутри нее на каждый keypress производится куча действий над элементами, которые в итоге так и не попадут на страницу: nListItem и remove будут добавлены только при e.key === "Enter" && input.value !== "" (кстати, нет смысла плодить вложенные if'ы, когда можно использовать булевы выражения).

    В общем, уделяй внимание каждой отдельной сущности, которую ты создаешь; помни о ее назначении и о том, как она будет взаимодействовать с другими сущностями на странице. Это поможет избежать ненужных операций и в конечном итоге сделает код чище.

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

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    1) Плохой код, который выполняет задачу, лучше чем отсутствие кода
    2) Перед работой составьте примерный план, например: "сначала получаем данные, потом с ними делаем это или это, потом выводим..." Это помогает не лепить откровенную фигню по ходу дела и не переписывать все по 10 раз.
    3) Смысл рассматривать простыню из кода новичка отсутствует, так как это похоже на оценку походки будущей фотомодели по первым шагам в ходунках. Никто не пишет хороший код сразу, учиться и писать много - лучший путь обучения.
    4) Смотрите на чужие готовые решения, думайте как использовать интересные приемы, именно свои выводы и ошибки делают вас программистом+, а не гов*окодером. Задатки и желание у вас есть, значит все получится.
    Ответ написан
    Комментировать
  • Как убрать нумерацию в начале строки через регулярные выражения?

    Stalker_RED
    @Stalker_RED
    /^[\d\.\s]+/
    ^ - искать в начале строки
    []- список символов
    \d - цифры
    \. - точка
    \s - пробельные символы
    + - в количестве от одного

    Вот этот сервис очень удобен для отладки регулярок. Там и шпаргалка, и подробно расписано как что работает,и разные реализации регулярных выражений (не во всех языках реализована полная поддержка).
    https://regex101.com/r/otwtgd/1
    Ответ написан
    Комментировать
  • Может ли MySQL глючить?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Все работает в 99% нормально, но иногда проскакивает выдача другой строки, не с таким полем, по которому ищем.
    Это просто значит 99% проблема в коде. Логируйте в файл запрос, параметры и результат выполнения, скорее всего логика работает не так как вы задумали. Как только словите ошибку - смотрите свой лог, наверняка запрос будет отличаться от ожидаемого.
    Ответ написан
    2 комментария
  • Что делать с ответами которые сгенерировала нейросеть?

    @Drno
    если ответ правильный - какая разница?
    это форум - вопрос \ ответ ))
    если хоть 1 человек найдет потом по поисковику ответ на вопрос - уже хорошо)
    Ответ написан
  • Как добавить папку node_modules в Git-репозиторий?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    Она там не нужна. Папку в .gitignore, а вот package.json и package-lock.json в репозиторий.
    Ответ написан
    3 комментария
  • Как покдлючить микрофон?

    xez
    @xez
    TL Junior Roo
    Либо использовать Y-переходник:
    Perehodnik.gif

    Либо найти соответствующий джек и припаять только нужные контакты.
    Ответ написан
    1 комментарий
  • Пропал Linux Mint из Boot Menu. Как теперь в него попасть?

    нужно восстановить grub. винда при установке сносит его и ей пофиг на остальные установленные ос.
    можно погуглить как это делается.
    или вот вариант https://losst.pro/vosstanovlenie-grub-posle-ustano...
    Ответ написан
    Комментировать
  • Как объединить (скрестить) массивы в PHP?

    use foreach @TechnicalMan94
    $a1 = array(
        0 => 'значение 1',
        1 => 'значение 2',
        2 => 'значение 3',
    );
    $a2 = array(
        0 => 'значение 4',
        1 => 'значение 5',
        2 => 'значение 6',
        3 => 'значение 7',
        4 => 'значение 8',
        5 => 'значение 9',
        6 => 'значение 10',
    );
     
    $a3 =  array(
        0 => 'значение 11',
        1 => 'значение 12',
        2 => 'значение 13',
        3 => 'значение 14',
        4 => 'значение 15',
    );
    
    $a = [];
    foreach ($a1 as $i1=>$v1) {
        foreach ($a2 as $i2=>$v2) {
            foreach ($a3 as $i3=>$v3) {
                $a[] = [$v1,$v2,$v3];
            }
        }
    }
    
    var_dump($a);
    Ответ написан
    3 комментария
  • Какие отличия в верстке под ios и android?

    @strelok011
    Надо бы насобирать еще материал, но
    1. по поводу лагов - чем меньше фильтров, теней, прозрачностей - тем айфону легче. Не умеет в ускорение.
    2. скролл - это отдельная БОЛЬНАЯ тема у айфонов. Причем у разных версий IOS они разные. Проблема в том, что реализация демонстрации куска верстки длинной страницы в окне браузера просто уродская. На старых айфонах, к примеру, не работал position fixed.
    3. Никогда, просто НИКОГДА не пытайся прибить скользящее меню к низу страницы. Это и на андроиде выйдет дичайшим геммороем из-за автовсплывающих или автоскрывающихся панелей инструментов. Это ад и боль
    4. В качестве задачи со звездочкой - попробуй реализовать модалку поверх контента, в которой свой скролл, и попробуй заблочить скролл контента в фоне. Айфон тебя порадует своими чудесами.
    5. Думаю, будет весело перебирать высоту вьюпорта и подбирать позиционирование, переключаясь то на px то на wh.
    6. Имей в виду - как бы не назывался браузер на айфоне - он использует одно и то же ядро сафари, специфичное для версии ios, так что глюки переносятся.
    7. Ловил проблемы (тут уже не в платформе а в реализации сафари) именно в сафари если делаем display: flex, flex-direction: reverse, отваливается gap. Без реверса - всё гуд. На других реализациях таких проблем не встречал.
    8. Если ты попробуешь поиграть с параллаксом самописанным - получишь ачивку "слабоумие и отвага"
    Ответ написан
    3 комментария
  • Вывод из бд данных и присваивание им значение?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Очевидным решением выглядит поле типа tinyint и таблица значений со связью 1 ко многим. При запросе используем join по соответствующей связи полей, получая весь набор, включающий имя статуса (ACTIVE, BLOCKED и тд).
    Ответ написан
    Комментировать
  • Тротлинг процессора при холодном старте, в чем проблема?

    @ewgenc
    Сбросить bios, вернуть родную Windows 10 Home с заводского рекавери образа. Все ноутбуки тротлят под нагрузкой, такая их ноутбучная судьба.
    Ответ написан
    4 комментария
  • Проблемы с производительностью ПК/Windows?

    Stalker_RED
    @Stalker_RED
    Не пробовал посмотреть в диспетчере задач чем именно нагружен комп?
    И во что упор - проц, диск, память?
    Также есть смысл прогнать тесты производительности процессора, видео памяти в системе когда с ней все ок, и когда все плохо.
    Также поставить какой-то мониторинг температуры и оборотов кулеров, чтобы вместо "вроде поменялся звук" оперировать фактами и цифрами.

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

    Stalker_RED
    @Stalker_RED
    В PHP8 добавили str_starts_with()
    В предыдущих версиях можно применить strpos или preg_match
    Ответ написан
    1 комментарий
  • Возможно ли написать сайт на питоне?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Серверную часть можно писать на чем угодно. Какие-то древние сайты писались на Perl, Bash, Tcl и еще бог
    знает на чем. С++ тоже поддерживается но с моей точки зрения фиксить баги сложнее и не так оперативно.
    Веб-сервер Apache настраивался так что можно было любой "экзешник" использовать как CGI скрипт
    (оракловый sqlplus можно было настроить). Ну Python на сервере и так норм работает.

    По поводу браузера.
    Python не поддерживается браузером. Поэтому клиентский скриптинг - отпадает.
    Хотя я где-то читал что на заре создания браузеров обсуждалась идея вместо
    JS использовать Lisp :) Забавно было бы на это посмотреть. Но... многие
    академические идеи на практике не взлетали.

    В качестве content-type браузер поддеживает text/plain поэтому можно отдавать плоский текст.
    Я так часто делал для отчетов. Поэтому без html/css можно обойтись. Хотя выглядит прозаично.
    Ответ написан
    Комментировать
  • Какой есть аналог teamviewer/anydesk с клиентом под Win и Linux, бесплатный?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Есть множество аналогов, но они работают куда хуже чем AnyDesk. Вот, я делал тестирование маем прошлого года, может сейчас чего лучше стало:

    Проетстировано:

    Remote Management System (RMS) - https://rmansys.ru (российское ПО, номер в реестре Минсвязи - 456)
    AeroAdmin - https://www.aeroadmin.com
    imPcRemote - https://remote-control-desktop.com
    LiteManager - https://litemanager.ru (российское ПО, номер в реестре Минсвязи - 1961)
    AnyDesk - https://anydesk.com

    Рассматривалось только ПО, имеющее версии как под Windows, так и под Linux, и обеспечивающее возможность соединения с клиентами:

    находящимися за NAT
    обладающими нулевыми знаниями в ИТ
    не требующие установки

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

    Общим недостатком всех программ под Linux является наличие где-то просто большого, а где-то реально ОГРОМНОГО списка зависимостей. Эту проблему решает только установка из пакета или сборочного файла, для Gentoo есть только net-misc/anydesk.

    Кроме того, у всех протестированных программ не работает передача индикации смены раскладки клавиатуры с клиента на хост. То есть при нажатии Ctrl-Shift (Alt-Shift) фактически раскладка переключается, но отображения этого не происходит. Передача отображения смены раскладки с хоста на клиента происходит нормально.

    RMS

    Распространяется в виде файла агента rms-agent.exe и файла для Linux rms-viewer. Бета-версия, поэтому в консоль постоянно выводит отладочный лог. Бесплатная лицензия требует паузы в несколько минут между переподключениями. Отвратительная скорость, особенно при подключении по 3G. Настройки по умолчанию сбивают с толку - ты не видишь ни локального, ни удаленного курсора. Иногда клиент безо всяких причин аварийно завершает работу по SIGSEGV. При завершении сессии с одной стороны вторая сторона почему-то об этом уведомления не получает и продолжает считать, что она подключена.

    AeroAdmin

    Распространяется в виде файла AeroAdmin.exe и по утверждениям разработчиков, работоспособен в Wine. Проверка эти утверждения не подтвердила, в wine 7.8 aeroadmin.exe аварийно завершается сразу же после запуска.

    Info: [16:34:06 / aeroadmin.cpp 1106] mode: 0
    20220520 16:34:06 [376 / service.cpp:597] !hService
    20220520 16:34:06 [376 / service.cpp:529] Installing service: "Z:\tmp\AeroAdmin.exe" s -sid 1
    012c:fixme:service:svcctl_ChangeServiceConfig2W SERVICE_CONFIG_FAILURE_ACTIONS not implemented: period 60 msg (null) cmd (null)
    0198:fixme:process:WTSGetActiveConsoleSessionId stub
    019c:fixme:ver:GetCurrentPackageId (017DFF00 00000000): stub
    Info: [16:301ac:fixme:wtsapi:WTSEnumerateSessionsW Stub 00000000 0x00000000 0x00000001 020DECB0 020DECA8
    01ac:fixme:wtsapi:WTSEnumerateSessionsW Stub 00000000 0x00000000 0x00000001 020DEADC 020DEAE0
    4:06 / aeroadmin.cpp 900] run_as_admiwine: Unhandled page fault on read access to FFFFFFFF at address 005B5DD6 (thread 0198), starting debugger...

    imPcRemote

    Распространяется в виде ZIP-архива impc_admin.zip для Linux и файла impcremoteinstant_user.exe для Windows. Ужасное некачественное изображение, страшная топорная оболочка, все напоминает VNC-клиенты образца начала 2000-х годов (впрочем, вполне возможно, так оно и есть). Скорость соединения приемлема, но изображение просто ужасно. Никаких других возможностей типа обмена файлами нет. Зато у него одного передается индикация смены раскладки клавиатуры.

    LiteManager

    Распространяется в виде файла для Linux LiteManager и файла для Windows ROMServer.exe. Автоматически подхватывает настройки прокси из системы и ,если они включены, пытается их использовать, отключить их невозможно, они постоянно включаются заново. Программа может быть была бы и неплохой, но в отличие от всех других, она не только не отображает переключение раскладки клавиатуры, но и реально их не переключает. То есть раскладку клавиатуры можно реально переключить только на хосте. Разрыв соединения с хостом не отображается - хост продолжает считать себя подключенным

    AnyDesk

    Распространяется в виде архива anydesk-N.N.-amd64.tar.gz для Linux и файла AnyDesk.exe для Windows. Обладает достаточно быстрой скоростью отображения изменений (по крайней мере, наибольшей среди всех протестированных программ). Единственный клиент, в котором настройка подтверждения удаленного соединения на хосте включена по умолчанию. Также единственный клиент, в котором кроме собственно бинарника, в поставку входит файл .desktop (для размещения на рабочем столе графической оболочки Linux), а также файлы запуска сервиса для Linux под init и systemd и значки в формате PNG.

    Выводы

    LiteManager и AeroAdmin использовать просто нельзя - в силу наличия у них серьезных ошибок, препятствующих их нормальной работе.
    Remote Mamagement System использовать пока нельзя - в силу нестабильности работы модуля клиента - в процессе тестирования он аварийно завершался у меня два раза, систему я не уловил, но аварийное завершение клиента в процессе реальной отладки на шахте например может принести множество неприятностей.

    imPcRemote использовать пока можно - там где нет требований к передаче изображения, потому что качество там явно 8 бит, не больше. Разрабатывается небольшой канадской компанией.
    AnyDesk использовать пока можно - за исключением того, что он не передает отображение значка раскладки клавиатуры, у него нет каких-то явно выраженных недостатков, но в силу того, что это достаточно крупная немецкая компания, всегда следует иметь в виду, что она может поступить как TeamViewer.
    Ответ написан
    6 комментариев
  • Как называть классы, при использовании пространства имен?

    Maksclub
    @Maksclub Куратор тега PHP
    maksfedorov.ru
    То есть неймспейс свою задачу не выполнил.

    Выполнил. С этим расчетом он и вводился — резолвить одинаковые названия. Вы СМОГЛИ в скрипте использовать одинаковые названия, что и нужно было от неймспейсов… подключили один класс из одного неймспейса и другой с таким же названием

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

    Вы можете или с неймспейсом юзать оба
    Или добавить as

    use MyPHPProject\Strings as MyStrings;
    use AnotherPHPProject\Strings;
    Ответ написан
    Комментировать
  • Не могу юзать namespace?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Что делает хтмл в коде класса? Про разделение кода и представления не слышали?
    2) Нэймспейсы придуманы для автозагрузки, по этому вывод их в первые строки файла обязателен
    3) Чтение документации сильно облегчает жизнь
    4) Чтение ошибок облегчает жизнь даже тем кто плохо читал документацию
    Ответ написан
    6 комментариев