Задать вопрос
  • Почему возникает ошибка 403 Apache?

    @galaxy
    А симлинку в /etc/apache2/sites-enabled/ сделали?
    Ответ написан
  • Стоит ли использовать ссылки в PHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Не стоит.
    Вместо этого надо запомнить одно очень важное правило:

    Любую проблему следует решать только при её наличии.

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

    Если памяти скрипту хватает, то не надо вообще ничего оптимизировать.
    Если не хватает, то надо разобраться - почему, и устранить конкретную проблему.

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

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

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    Будет интересно посмотреть как на большом проекте вы будете контролировать данные в таком случае. Да и зачем вообще может понадобится это использовать при правильном проектировании (за исключением редких случаев). Метод должен выполнять действие и возвращать (или не возвращать) результаты, он не должен изменять данные вне своей компетенции. А так же иметь не понятное сразу поведение. По этому вы не сможете найти такие ссылки в хорошем коде.
    Ответ написан
    Комментировать
  • Как научить принтер отрезать чек?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    отрез бумаги это одна из последовательностей байтов
    GS;V;0
    ESC;i
    ESC;d;0
    ESC;m

    возможно у вашего принтера другая команда
    CRM посылает в порт устройства байты.
    При печати html страницы участвует еще драйвер.

    И вот мне интересно какой драйвер на телефоне ?
    Да и посредник между сайтом и принтером для црм тоже интересен.
    Ответ написан
    3 комментария
  • Как научиться решать задачи и развить логическое мышление?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Примеры задач (в тексте вопроса) - это не логическое мышление, это понимание порядка математических действий, изложенного текстом (AI бы здесь точно не помешал, да?!)).
    Касательно этих задач - научитесь текст переводить в математическую запись.

    "Предприниматель купил несколько подержанных автомобилей за 3500 долларов, а продал их за 5500 долларов, заработав при этом 50 долларов за автомобиль. Сколько автомобилей он продал?"

    1. Предприниматель купил несколько подержанных автомобилей за 3500 долларов: 3500=count*price
    2. а продал их за 5500 долларов, заработав при этом 50 долларов за автомобиль: 5500=count*(price+50)
    3. Сколько автомобилей он продал? - count=?
    Ответ написан
    2 комментария
  • Как научиться решать задачи и развить логическое мышление?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Научиться решать задачи можно лишь путём решения задач.

    Стократную пользу имеют те решения, которые вы сами придумали (без подсказок). Но даже если нет, а просто самостоятельно потели над задачей полдня, а потом подсмотрели решение, то это тоже хорошо.

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

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Это как с тяжелой атлетикой. Начинайте с легкого и тренируйтесь
    Ответ написан
    Комментировать
  • Парсинг (скрапинг) получение информации с сайтов, авторизация, инструменты, примеры?

    azerphoenix
    @azerphoenix Куратор тега Spring
    Java Software Engineer
    Здравствуйте!
    Начнем с простого, когда контент сайта загружается без фреймворков. Соответственно, нет никаких аяксов, не нужно никуда скроллить, чтобы получить следующую страницу или кликать на кнопки и т.д. для получения материалов. Т.е. вам достаточно отправить GET запрос на некий сайт и получить данные.
    В этом случае для парсинга будет достаточно библиотеки jsoup. Либо для своей кастомной реализации используйте DOM & SAX Parser.

    Теперь, чуть усложним задачу сайт точно также формируется без фреймворков, но для получения доступа к информации нужна авторизация. Если тут используется какая-то простая авторизация, то достаточно будет единожды получить кукисы и при каждом запросе указывать на сервер. Также не забывайте про referrer & User-agent.

    Теперь, еще усложним задачу - контент формируется динамически (посредством js-фреймворков или аякс запроса и т.д.). В этом случае jsoup не поможет, так как для загрузки контента вам нужно прокликать на кнопку (Загрузить еще) или проскроллить вниз, чтобы тригернуть загрузку контента и т.д. Т.е. вам нужна некая интерактивность. Для этого стоит посмотреть в сторону Selenium + (любой браузер). В качестве браузера можно использовать - firefox, chromium и др. Для быстродействия желательно использовать headless браузеры.

    Усложняем задачу дальше. Понадобилось авторизоваться и решить некую капчу. В часности рекапчу. Тут скажу заранее, что я сам когда-то давно искал возможные пути обхода и самое простое решение - использовать платный сервис.
    Ссылка на сайт - https://anti-captcha.com/
    После ввода имени пользователя и пароля селениум триггерит клик на капче, а дальше данные пересылаем на сервер и получаем решение капчи.

    Усложним задачу еще больше - различные honeypot. Тут как говорится кто на что горазд. Все зависит от конкретного сайта и конкретной реализации (софта) honeypot. Некоторые могут заблокировать по ip, если запрос был произведен на несуществующий урл. Например, на сайте всего 100 страниц, а вы запросили 101 страницу и попались в ловушку. Или например, вы заполнили невидимое input поле, которое в норме пользователь не видит и соответственно, не заполняет.

    Идем дальше - если вам нужна некая интерактивность (т.е. пользователь сайта должен иметь возможность самостоятельно парсить сайт), то вам нужна клиентская часть написанная на javascript. Подобные онлайн-сервисы имеются. Наберите в гугл web scraping online и увидите различные сервисы. Как правило, они предлагают установить некое расширение, при клике на котором он получает доступ к элементам DOM, а далее уже можно при помощи селекторов (id, xpath, class ) определить что нужно спарсить. Определить тип навигации / пагинации (например, пагинация при помощи нумерации страниц или пагинация при помощи кнопки Далее и др.). Тут могут свои подводные камни. Например, некоторые сайты при достижении максимальной страницы могут выдавать ошибку (404), некоторые не выдают ошибку и лишь показывают контент заново. Иногда нужно проверять страницу на наличие пустоты на странице (на отсутствие элементов по селектору). Иногда нужно проверять страницу на наличие ошибки 404 и т.д. В общем, это уже работа фронтэндера.

    Некоторые динамически формируемые страницы могут подгружать контент при помощи json или xml. Соответственно, для парсинга некоторых сайтов можно обойтись без использования selenium. А лишь запросить материалы по их внутреннему API, а затем при помощи gson или jackson спарсить их.

    Одним из универсальных инструментов парсинга, с которым мне приходилось сталкиваться была программа Visual Web Ripper. Стоит примерно 250-300 долларов. Программа подгружает контент сайта внутри себя через IE (может уже и обновили этот момент). А далее уже можно задавать условия парсинга и экспортировать данные.
    Ответ написан
    Комментировать
  • Какими навыками должен обладать помощник системного администратора (эникейщик)?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    Если вы проходите интервью, но вас не приглашают на испытательный срок спустя пол года поисков, вы точно делаете что-то не так. Вопросы на собеседованиях, в большинстве случаев, очень схожие. Пройдя 3-5 собесов вы узнаете пул основных (процентов 80%) вопросов или тем, которые у всех совпадают. Вам нужно лишь заучить этот набор вопросов как на экзамене. Дать ответ вида "учи это, это и это и тебя возьмут" вам никто не сможет. Во-первых, потому что вы просто не указали свой набор навыков. Потому что пройти курс или прочесть книгу, это не значит усвоить все знания из нее. Причина по которой такой вопрос глупый простая: слишком много всего. Если вы спросите любого профессионала, что он знает, он не сможет назвать конкретно что, а если начнет перечислять, через пару часов обнаружится, что все что рассказал - это только за первые пол года работы. Смотрите по вакансиям. Просят уметь вышивать крестиков, идете учиться.

    По мимо этого, я подозреваю, у вас скудное резюме и вам нужно научиться его составлять. А так же записывать все собеседования и переслушивать, разбираю вопросы. И это относится ко всем сферам в it.
    Ответ написан
    Комментировать
  • Видео-чаты для начинающих с нуля?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Программисты не сидят в видеочатах. Ты их перепутал с тупыми видеоблогерами.
    Вот и выросло поколение...
    Ответ написан
    Комментировать
  • Видео-чаты для начинающих с нуля?

    Zoominger
    @Zoominger
    System Integrator
    Нигде.
    Ответ написан
    Комментировать
  • Почему не выдаются права пользователю на работу с базой?

    @galaxy
    В постгресе права выдаются на конкретный типа объекта (database, schema, table, sequence, etc.) и зависят от этого типа. При этом выданные права на родительский объект не означают наличие каких-либо прав на дочерние объекты.
    Вы выдали юзеру все права на DATABASE, это означает, что он может к ней коннектиться и создавать в ней схемы, публикации и временные таблицы. Всё.
    Таблицу example вы создаете под другим пользователем, botuser никаких прав на нее не имеет.
    https://postgrespro.ru/docs/postgresql/13/ddl-priv
    Ответ написан
    1 комментарий
  • Как ограничить использование аккаунта несколькими людьми?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Введите 2 фактурную авторизацию. И блочте пользователей по токенам. То есть вы пишете в базу токен для устройства. Это легитимно , но на каждое новое выводите просьбу подтверждениЯ это геморойно для складчиков. Ну и по жесткому спрашивайте у умельцев а почему ты мил человек читаешь с 5 устройств?
    Ответ написан
    Комментировать
  • Стоит ли брать начинаещему программисту мак?

    DevMan
    @DevMan
    не жалко денег – берите: сразу привыкнете к хорошему.
    но макбуки на арм сейчас – темная лошадка. я б взял на интеле.
    Ответ написан
  • Ботнет на Python?

    @66demon666
    Сетевой админ, АТС-админ
    1.Изучить, что такое ботнет сеть
    2. Изучить Python
    ....
    Profit

    (про свою сеть неубедительно)
    Ответ написан
    Комментировать
  • Как выбрать нужное из массива PHP?

    Stalker_RED
    @Stalker_RED
    перебрать при помощи array_reduce
    на каждом шаге проверять есть ли запись для этого домена и если есть, сравнивать дату.

    Пример писать не буду, потому что код в виде картинки
    PB9r124.png
    Ответ написан
    2 комментария
  • Загрузить файл PDF В БД на Laravel?

    @kandrash
    Кратко о себе
    Вам не нужно сохранять pdf в БД. Это не имеет смысла. Достаточно хранить данные из которых он генерируется и потом делать это на лету. В крайнем случае, если ожидается 100500 скачиваний можете сохранить его в storage. Наверняка ваша библиотека это позволяет.
    Ответ написан
    6 комментариев
  • Где онлайн-магазины берут дополнительную информацию о товарах (состав, упаковка и др.)?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Подозреваю что Гугл вам подскажет где первоисточник, и кстати я подозреваю что это скрапинг, и какой то интернет магазин специально сделал ошибку, что бы в дальнейшем зайти в гости с решением суда
    Ответ написан
    2 комментария
  • Почему для защиты от XSS опасные символы нужно экранировать, а не удалять?

    @LaraLover
    Вы можете запретить спец символы, например в username, email. Но это глупо делать в пароле или в контенте страницы, я думаю мало кто захочет читать статью без знаков препинания.
    Ответ написан
    Комментировать