• PHP не видит name из html. Что делать?

    flapflapjack
    @flapflapjack
    на треть я прав
    Сделайте
    <?php 
    
    include("..\DBconnect\Connect.php");
    echo "<pre>";
    var_dump($_POST);
    $login = $_POST['login'];
    $password =  $_POST['password'];
    
    echo $login;
    ?>


    Если ничего не покажет, то у вас косяк в DBconnect\Connect.php
    Ответ написан
    4 комментария
  • Как восстановить файлы после reset --hard?

    delphinpro
    @delphinpro
    frontend developer
    git reset --hard HEAD~1
    Это вы выполняли на своем компьютере?
    Данная команда полностью очищает рабочий каталог. А в данном случае еще и последний коммит.
    потом вы принудительно закинули эти изменения на гитхаб
    git push --force
    Теперь ваших файлов нет ни локально, ни на гитхабе.

    Мораль: Не нужно тупо копировать команды из интернета. Нужно понимать, что они делают =)
    Ответ написан
    7 комментариев
  • Отслеживание действий процессов в отношении других процессов в Windows?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    может есть какие-то утилиты

    Конечно есть :)

    Kaspersky Antivirus
    Dr.Web
    Malwarebytes (я предпочитаю вот этот)

    или практика по данному вопросу

    И практика есть - и ею поделится любой ИБ-шник :)

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

    Словом примерно то же самое, чего придерживаемся в личной жизни :)
    Ответ написан
    1 комментарий
  • Как грамотно сделать обработку ислючений в php?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Структура проекта какая-то странная, в нем, судя по всему, контроллером называется роутер, но на этом я останавливаться не буду, обработка исключений от этого не зависит.

    Основных правил при обработке исключений три:
    1. Не использовать исключения там, где они не нужны. Например, при проверке пользовательских данных.
    Собственно, эмпирическое правило звучит так: функция должна бросать исключение, если она не может выполнить ту работу, для которой она предназначена.

    Отсюда сразу становится понятно, что для функции, которая должна проверять введенные данные, наличие ошибок в них не является исключительной ситуацией. А совершенно штатной. И обеспечивается штатными же средствами. По результатам проверки пользователю просто отправляется ответ, что данные неверны, безо всяких исключений. В нормальной структуре проекта этим занимается контроллер.

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

    2. Системные ошибки обрабатывает глобальный обработчик исключений, логируя саму ошибку, а на клиент отправляя статус 500 и какое-нибудь абстрактное сообщение о проблеме на сервере. Это самое важное в системных исключениях - текст ошибки никогда, не при каких обстоятельствах не уходит наружу.

    Пример такого исключения - когда запрос в БД порождает ошибку.

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

    Для информирования можно действительно ловить исключение через try..catch и писать какое-то свое сообщение.
    Но можно и автоматизировать этот процесс, вот две статьи, которые показывают примеры, как это можно сделать:
    https://angelovdejan.me/2022/11/24/centralized-exc...
    https://habr.com/ru/articles/688202/
    Ответ написан
    Комментировать
  • Как называется такая практика и является ли она приемлемой?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Является ли нормальной практикой для девелопера создать ветку feature1 от не последнего коммита мастера, то бишь не от "g"

    Да. В частности это стандартная практика разработчиков ядра linux: фичи должны расти от релизов или релиз-кандидатов, а не от каких-то случайных коммитов.

    и потом смерджить feature1 с коммитом X2 затирая изменения f и g?

    Из вопроса непонятно, это требование -- затирать, или это побочный эффект которого хочется избежать?
    Если делать обычный git merge, то никакого затирания не будет. Будут конфликты, если изменения касаются одних и тех же мест, иначе будет объединение изменений ветки и мастера.
    Чтобы затирать изменения можно делать git merge --strategy=ours -- в результате мёржа изменения сделанные в ветке которая мёржится будут потеряны.
    Ответ написан
  • Как узнать длительность mp3- файла без чтения всего содержимого файла в Node.js?

    Stalker_RED
    @Stalker_RED
    В некоторых записях ОПЦИОНАЛЬНО может быть длительность в id3 тегах. И вы сами можете туда дописать, если у вас эти файлы не на один раз.

    Для записей с фиксированный битрейтом можно кол-во фреймов перемножить на битрейт.

    Для VBR, которых большинство, придётся смотреть длительность в каждом фрейме и суммировать.
    Ответ написан
    Комментировать
  • Почему куллер не охлаждает ЦП мгновенно?

    vabka
    @vabka
    Токсичный шарпист
    Это физика - невозможно мгновенно отвести тепло с процессора на кулер, тк у кулера есть масса и некоторая собственная теплоёмкость/теплопроводность.
    Невозможно вентилятор мгновенно разогнать до более высоких оборотов, тк у него есть масса и + воздух сопротивляется.

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

    @dronmaxman
    VoIP Administrator
    https://play.google.com/store/apps/details?id=de.d...
    + USB modem

    Так же существую bluetooth модемы.
    Ответ написан
    Комментировать
  • Какие существуют нейронки для генерации интерфейса приложений?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Хомо Сапиенс.
    Ответ написан
    3 комментария
  • Как посмотреть что лежит в переменной?

    Stalker_RED
    @Stalker_RED
    Можно сделать так
    $dump = var_export($val, true);
    error_log($dump, 3, '/path/to/myLog.txt');

    Ещё лучше - научиться пользоваться дебаггером.
    Ответ написан
    Комментировать
  • Нужна простая админ-панель для сайта. Какую выбрать?

    anatoly_kulikov
    @anatoly_kulikov
    Помог ответ? Отметь решением!
    Wordpress
    Ответ написан
    Комментировать
  • Как сделать такой слайдер?

    @mikilikala
    На фронте
    Ответ написан
    Комментировать
  • Не включается ноутбук после замены проессора, в чем причина?

    saboteur_kiev
    @saboteur_kiev Куратор тега Железо
    software engineer
    Наверное не подходит.
    Но какой ответ вы ожидаете? Даже модель ноутбука не приведена, чтобы можно было за вас поискать в интернете информацию о совместимости.

    Но для начала, согласно официальной документации, эти два процессора вообще имеют разные сокеты.
    Celeron B820 - FCPGA988
    I3-2330M - FCBGA1023 или PPGA988

    Поэтому даже не очень понятно, как новый процессор можно было вставить
    Ответ написан
    8 комментариев
  • Как можно улучшить производительность ноутбука Lenovo B50-45?

    Alex_Geer
    @Alex_Geer
    System Engineer
    Что бы улучшить производительность ноутбука Lenovo B50-45 требуется 2 простых действия:
    1. Выкинуть ноутбук Lenovo B50-45
    2. Купить новый производительный ноутбук
    Ответ написан
    Комментировать
  • Как вычислить виновника из-за которого отваливается интернет с какой-то периодичностью в маленькой сети?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Такого рода проблемы все и всегда решаются однотипно.
    1. Необходимо сформулировать критерии наличия проблемы.
    Как именно пропадает интернет, насколько часто, как надолго. Это нужно для диагностики. поиска причины и определения ушла ли проблема после принятия каких либо мер.
    2. Делить проблему на части и проверять части по отдельности.
    Самый эффективный способ делить - это пополам. Отсекаем часть сети и проверяем наличие проблемы в обеих частях (если есть возможность) или в одной из частей.
    3. Когда найден минимальный проблемный участок, который уже нельзя или бессмысленно делить - заменяем его.
    4. Помним, что чаще всего сложные проблемы - это композиция нескольких более простых. которые по отдельности могут не проявляться. В вашем случае может быть проблема, связанная с нагрузкой на роутер, например, которую создает один из услов из-за плохого контакта обжима и большого объёма биттых пакетов. Устранив одну из причин, вы, может быть, сделаете проявления проблемы реже, но не устраните её полностью. К примеру, если замените ротуер, битые пакеты будут всё равно будут нагружать вашу сеть и портить ее производительность, но это будет не так очевидно. Переобжав коннектор вы избавитесь от части нагрузки, но еслив ваш ротуер работал на переделе, то лишний вафай-клиент или тяжелый видос в сети сможет его снова нагрузить до критического снижения производительности.

    Итак, пробежимся по перечисленным пунктам сначала.
    1. Критерии. Поиск критериев - это часть решения. Обычно в этом случае нуно сорать необходимую статистику. Есть куча софта, который это умеет делать, но пинг есть всегда под рукой.
    Для этой тулзы есть две полезных опции: ключ для бесконечного пинга и размер пакета.
    В разных ОС эти ключи немного разные, поэтому ищите их отдельно, у меня нет винды под рукой, поэтому не стану на этом заострять.
    Скаж лишь, что пинговать лучше большими пакетами, жалетально превышающими размер TTL, прописанный в роутере. Тогда такой пинг будет реже проскакивать в периоды хорошей связи, то есть выловит больше пролблем.
    Пинговать нужно в отдельных окнах сразу несколько хостов:
    - ya.ru - этот хост всегда отвечает на пинги и выявит проблемы с DNS
    - 8.8.8.8 - это гугловый DNS-сервер, тоже всегда отвечает на пинги, покажет, что связь с инетом есть даже если DNS, прописанныйна компе не правильно работает.
    - 192.168.0.1 - или какой там IP у вашего роутера. Нужно. чтбы отделить проблемы с инетом от проблем с внутренней связностью до роутера
    - 192.168.0.x - ip одного из компов в сети. Я обычно пингую несколько компов, доступных через баксимальное число потенциально проблемных узлов - ethernet-розеток, свичей, вайфай-соединений... Этот пинг поможет понять где проблема, во внутрисетевой связности или в последней миле.

    Учтите, что проблемы часто бывают комбинированные и каждое сочетание симптомов будет свидетельствовать о раных проблемах.
    Да, тревожным принаком может служить не только пропадание пакетов, но и скачки в длительности их возврата, особенно если такие длительности достигают 500мс и выше. Но и скачки от 3мс до 250мс тоже будут свидетельствовать о каких-то проблемах.

    Запускать пинг на всех компах лучше одновременно и на некоторое время. Например минут на 20. Потом по статистике будет видно сколько где пакетов пропало.

    2. Если критерии наличия проблемы позволяют, то можно попробовать отрубать части сети и смотреть наличие проблемы. Это я в том смысле, что если проблема происходит в среднем раз в пару-тройку часов, то отрубать на многие часы части сети при диагностикем ожет быть неприемлемым.
    Редкеи пробемы дольше отлавливать. Но напоминаю, что критерии можно детализировать, ведь если пакеты у вас пропадат относительно редко, то скачки времени их возврата могут случаться чаще и подсвечивать проблему. Также можно сделать рамер пакета близким к максимальному, это должно тоже в некоторых случаях участить проявление проблемы.
    Иногда не мешает нагрузить сеть комированием по локалке большого файла. В линуксе можнно с помощью утилиты tc послать большой поток рандомных байт на любой сокет..
    3. Плавающие проблемы случаются из-за плохого обжима, перебитого жверью кабеля, перегрызенного UTP в плинтусе, из-за умиращих конденсаторов в блоке питания роутера (БП может не выдавать необходимого при нагрузках тока, но вольтметром такая неисправность не будет различима без нагрузки). Вообще старые (да и не только) роутеры могут страдать поплывшими электролитическими конденсаторами не только в блоках питания.
    Хорошо, когда можно подменить роутер.
    4. ну с четвертым пунктом ничего не пососветуешь, только разделать и тестировать все по отедльности и в разных сочетания и да поможет нам ктулху.

    А для тех, кто дочитал этот опус до конйа - интересная задачка. Что пингуют эти команды, как и почему?
    ping 1.1
    ping 2130706433

    Тех, кто знает, попрошу не спойлерить=)
    Пусть для кого-то будет сюрпризом этот дивный мир=)

    UPD. Простите за адское количество опечаток в тексте. Писал в спешке и с непривычной клавиатуры. Исправлю всё попозже. Не ожидал, что многим ответ придётся по душе. Вроде ж накапитанил как мог.
    Ответ написан
    5 комментариев
  • Может ли конфигурация системного блока (в частности процессор + материнская плата) влиять на производительность видеокарты?

    vabka
    @vabka
    Токсичный шарпист
    Нет, на производительность видеокарты мп и процессор не влияют.
    НО:
    1. В некоторых ситуациях, комбинация мать+процессор может давать слишком мало линий pcie, либо может быть старая версия pcie, что в экстремальных случаях (pcie 2.0 x4 например) не позволит видеокарте работать на 100%, из-за низкой пропускной способности.
    2. В некоторых случаях, программе нужен и процессор и видеокарта (например в играх), и тогда при слишком слабом процессоре видеокарта будет простаивать, тк процессор не будет успевать подготавливать достаточное количество данных для отрисовки очередного кадра.

    Так что:
    1. Убедись, что ты вставил видеокарту в pcie 3.0 x16 слот (обычно самый верхний)
    2. Убедись, что какие-то другие устройства не забирают линии pcie
    3. Убедись, что контакты на видеокарте и МП не грязные и все на месте.
    4. Убедись, что в тестах у тебя нет упора в процессор или диски
    Ответ написан
    Комментировать
  • Почему в цикле выводит еще одно значение?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Здравствуйте, у меня такая проблема, когда я создаю цикл в php у меня выводится еще одно значение
    Ох уж эти циклы проказники, бывает...

    Допустим у меня в БД есть 2 поле
    2 поле это что? Насколько видно из скринов, в структуре таблицы у вас 5 полей, и 2 записи в таблице. Вы про записи?

    и при выводе на страницу я получаю 4
    Смотрим глазками в разметку, считаем на пальчиках сколько раз мальчик написал test в одной итерации цикла? Загибаем 3 пальчика. Записываем в тетрадку 3 палочки. Далее смотрим что нам вывел цикл? Загибаем пальчики 3 на одной ручке, 3 на другой... Сколько ручек? 2! Пишем в тетрадку - вывелось 2 раза по 3. Вроде пальцы с палочками сошлись...
    Ответ написан
    2 комментария
  • Автоматизация установки ПО на Windows?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Как уже выше сказали Group policy и WDS
    Вы создаете структуру AD делаете OU по какому либо признаку, к нему прикрепляете политику с набором программ спецефичных для данного организационного подразделения.
    В WDS настраиваете профили установки, это кастомизированные образы со встроенными драйверами и предустановленными программами.

    В итоге вновь запущенная машина стартует и используя режим PXE Boot устанавливает ос, дальше при вводе в домен применяется политика
    Ответ написан
    Комментировать