• Можно ли найти средствами php номер автомобиля на картинке и зарисовать его?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Можно, но будет очень медленно (GD2, Imagick).
    Лучше использовать для этого специализированные инструменты, типа OpenCV и подобные.
    https://habr.com/company/recognitor/blog/225913/
    Ответ написан
    Комментировать
  • Как настроить роутинг для просмотра объявления?

    qonand
    @qonand
    Software Engineer
    если все правильно понял, тогда Вашу задачу можно решить добавив следующее правило в URL-менеджер:
    'message/<id:\d+>' => 'message/advert-view'
    Ответ написан
    3 комментария
  • Gmail.com не принимает письма от функции mail() в php скрипте из-за $header, как настроить?

    @Yusaki Автор вопроса
    вопрос решился добавлением в переменную $headers полей "Content-Transfer-Encoding: utf-8" для корректного отображения в почтовиках и 'Reply-To:no-reply@****.ru' (обратный адрес, без него не приходило сообщение в gmail.com)
    Ответ написан
    Комментировать
  • Какой код лучше использовать, чтобы отлавливать ошибки MySQL?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Если выбирать из этих двух, то второй, разумеется. Он на порядок лучше первого:
    - в отличие от первого, он будет выдавать ошибки туда же, куда и весь остальной РНР. На машине разработчика это может быть экран, на боевом сайте - лог. Первый плюёт ошибки в браузер ВСЕГДА, чего на боевом сайте не должно быть никогда
    - в отличие от первого, он сообщит номер строки и имя файла, где произошла ошибка, что является критически важным для того самого отлова ошибки. Рекомендую попробовать поискать ошибочный запрос в коде на пару тысяч строк по сообщению от первого варианта. Подробнее про то, как правильно обрабатывать ошибки, можно почитать здесь: Обработка ошибок, часть 1

    Примечание: на самом деле ни тот, ни другой коды работать не будут, поскольку mysqli_error() тоже требует $link в обязательном порядке.

    Дальше уже идут более продвинутые варианты.
    Для начала, mysqli умеет кидать исключения из коробки:
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

    и после этого любая ошибка mysqli будет порождать исключение.
    Но у этого подхода есть два минуса:
    1. Такой вариант может понадобиться только в случае, если обращения к mysqli_query разбросаны по всему коду, чего делать нельзя ни в коем случае.
    2. В брошенном исключении будет отсутствовать сам запрос, который может быть очень полезен при отладке.

    Поэтому идеальным вариантом будет такой:
    Во-первых, все обращения к mysqli API в обязательном порядке надо завернуть в какую-либо библиотеку, которая возьмёт на себя выполнение всей грязной и повторяющейся работы. Пример такой библиотеки - SafeMysql
    Во-вторых, в этой библиотеке оформить код обращения к mysqli_query такм образом:
    $res = $link->query($query);
    if (!$res) throw new Exception($link->error() ." [$query]");

    В результате мы получим идеальную обработку ошибок:
    - этот код уже из коробки будет так же следовать настройкам РНР, и не будет выдавать ошибки на экран на боевом сервере, но при этом программист всегда будет о ней проинформирован.
    - этот код будет выдавать трассировку вызовов - бесценную информацию, без которой найти место, где произошла ошибка, будет очень сложно.
    - брошенное исключение можно будет поймать в хендлере или блоке try..catch (однако если нет опыта работы с этими двумя вещами, то на первое время лучше оставить исключение как есть. В обработке ошибок есть много нюансов, неизвестных среднему кодеру, и поэтому лучше оставить эту задачу для РНР).
    Ответ написан
    Комментировать
  • Как получить доступ к данным из соседнего окна браузера?

    @BorisKorobkov
    Web developer
    Нестандартная задача.
    Нужно получить доступ к данным соседнего окна в браузере, в котором открыт сторонний сайт. Сайт этот против, чтобы его показывали по фреймах и запрещает доступ через JavaScript, выдает такие ошибки...
    Брать его через Curl тоже не получается, так как там капча.
    Самое обидное, что я его открываю и вижу на экране своего компа. Мне просто нужно как-то программно прочитать его контент.
    Должно же быть какое-то решение, в т.ч самое кривое.


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

    dom1n1k
    @dom1n1k
    Моё имхо (мнение хрен оспоришь).

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

    И если бы мне кто-то сказал, что поломанный при какой-то там ширине (типа 675 или 1137) лейаут он будет чинить за дополнительную плату - я был бы в недоумении вплоть до готовности расстаться с таким разрабом.

    Да, хороший адаптивный дизайн и верстка - это сложно и муторно. А вы думали в сказку попали?
    Ответ написан
    1 комментарий
  • Как правильно адаптивить сайт на очень ограниченное количество экранов?

    DDolgy
    @DDolgy
    Распи***й
    если четко просят конкретные экраны, то делай под конкертные ( не забываем про адаптивный режим в инструментах разработчика). Если скажут что едет верстка, то скажи за доп плату. Но лучше предупреди об этом
    Ответ написан
    Комментировать
  • Выбор между Java и JS?

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

    2. Программировать, это не значит тупо зад****ть язык программирования и на нем писать. Это опыт, стиль мышления, способ решения сложных задач и все остальное. Это то, чего у вас не отнять, даже если вы поменяете язык 10 раз. Поэтому стоит нацелиться на получение профессиональных навыков.

    3. Я считаю что никто. никогда не сидит на одном языке, ровно как и не решает одни и те же задачи постоянно. В этом нет никакого роста (то самое, что очень нужно). Java и Javascript не настолько кардинально разные языки, чтобы возникла сложность пересесть с одного языка на другой. Вот на решение другой категории задач, возможно, переключиться будет труднее. Но тем интереснее (если задачи вас заинтересуют).

    4. За свои 3 неполных года одиночной работы мне приходилось решать много задач, которые, как правило, были выше моего уровня навыков, тем самым, набираясь опыта в решении смежных задач у меня появилось некоторое представление о том, чем же все-таки мне стоит заниматься. В начале возникали такие же вопросы как и у вас.

    5. Ваш товарищ привирает, говоря о 1.5к баксов в месяц, получая знания на одних лишь курсах. Курсы ничто, если нет никакой практики, и тут два варианта, либо он целенаправленно тратил много времени на разбор материала, днями и ночами учил, практиковался и повторял все это изо дня в день, либо вы друг друга не правильно поняли. Однако, см п. 2, имея огромный опыт в решении поставленных задач (особенно актуальных на данный момент), можно быть конкурентноспособным и без идеального знания какого-либо языка.

    P.S Мое мнение не претендует на истинно верное, но возможно ТС сможет что-то почерпнуть для себя.
    Ответ написан
    2 комментария
  • Не работает панель задач в Linux Mint?

    webirus
    @webirus Автор вопроса
    Тыжверстальщик! Наверстай мне упущенное...
    Проблема была в несовместимых видеодрайверах.
    Как они переключились, я не знаю.
    Но вернул в старый режим и все заработало.
    Ответ написан
    Комментировать
  • Почему картинка дергается при скроллинге?

    kreotech
    @kreotech
    Абстрактно-ориентированный программист
    Из-за этого: https://c2n.me/3RwX3LJ
    У вас прилипающее меню вверху, когда скролл смещается чуть вниз, сразу идет скачек фона на 65 пикселей.

    Поправить можно так: https://c2n.me/3RwX9BD , https://c2n.me/3RwXaKc
    Адаптации под малые экраны не проверял. Это надо будет проверить самому.
    Ответ написан
    1 комментарий
  • Как определить сервером, что пользователь зашел на сайт с какого-либо сенсорного телефона или планшета?

    MTonly
    @MTonly
    Веб-разработчик с 2002 года
    Это следует определять на клиентской стороне:

    function isTouchDevice() {
    	try {
    		document.createEvent('TouchEvent');
    		return true;
    	}
    	catch(e) {
    		return false;
    	}
    }
    
    Ответ написан
    2 комментария