Задать вопрос
  • Как правильно парсить сайты, чтобы не словить капчу?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Надо обратиться к владельцам сайта за нормальным доступом к данным, через API.
    Если такой доступ не дают, то не пытаться мелочь по карманам тырить, а найти себе более достойное занятие.
    Ответ написан
    6 комментариев
  • Я не понимаю чего от меня хотят?

    saboteur_kiev
    @saboteur_kiev Куратор тега Компьютерные сети
    software engineer
    Ну так подойдите к преподу и у него выясняйте.
    Вы же понимаете, что ваш вопрос не имеет никакого отношения к реальным сетям и реальным устройствам.
    Это задание какого-то преподавателя в воображаемом им мире.

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

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

    Вот вопросы навскидку:
    Линукс? Виндовс? Смесь?
    ethernet? wifi?
    свич или хаб?
    Доступ рутовый или бегать по компьютерам?

    Можно и пингом попробовать это решить, но что будет если с несколькими компьютерами будет одинаково медленно, на уровне погрешности?

    В общем вопросы задавайте вашему преподу а не случайным людям в интернете.
    Ответ написан
    Комментировать
  • Как в posgresql получить среднее в разных интервалах?

    @galaxy
    По интервалам в 1 год/месяц/день/час/минуту:
    select date_trunc('hour', e.created), avg(e.value) from table e group by 1 order by 1

    (вместо hour - year/month/day ...)

    Но вообще задача у вас не совсем четко определена: интервал начинается в начале соответствующего календарного периода или необязательно? Т.е. если группируем по дням, дни идут с 0:00:00 по 23:59:59 или, скажем, взяли произвольный стартовый момент (пусть 2019-08-03 14:25:44) и от него считаем (т.е. дни с 14:25:44 по 14:25:43 следующего дня)?
    Это еще более значимо для случая периодов типа 7 часов, или 23 минуты. Например, считая с начала какого-то дня периоды по 7 часов могут идти так:
    [00:00-07:00)
    [07:00-14:00)
    [14:00-21:00)
    [21:00-00:00) - следующий день
    [00:00-07:00) - следующий день

    или так:
    [00:00-07:00)
    [07:00-14:00)
    [14:00-21:00)
    [21:00-03:00) - следующий день
    [03:00-10:00) - следующий день
    ...


    для первого случая как-то так:
    select date_trunc('day', e.created) + (trunc(extract('hour' from e.created) / 7) * 7 || ' hour')::interval, avg(e.value) from table e group by 1 order by 1

    не особо проще вашего, как видите
    Ответ написан
    1 комментарий
  • В каких случаях нужно использовать CDN?

    @romicohen
    Системный Архитектор
    Ну, как бы считается, что с CDN на клиент библиотека загрузится быстрее, чем с вашего хоста. Но лично я предпочитаю все иметь свое ))
    Ответ написан
    Комментировать
  • Как найти количество простых чисел в массиве?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Тут не нужно решето. Надо просто отдельно проверить каждое число на простоту.

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

    wataru
    @wataru Куратор тега Математика
    Разработчик на С++, экс-олимпиадник.
    Это называется интерполяция. Вы знаете, что f(a) = 10, f(b)=5. Вам надо найти f(c), при чем f должна попадать под здравый смысл (монтонная, непрерывная функция).

    например, можно взять линейную инерполяцию, тогда f(x) = 10-(x-a)/(b-a)*5.
    Ответ написан
    1 комментарий
  • Как сменить версию php для mysql?

    DevMan
    @DevMan
    php -v - это консоль. веб-сервер может быть настроен на использование другой версии пыха.
    для веб-сервера нужно смотреть выхлоп phpinfo().
    как лечить на панелях понятия не имею.

    и, как уже написали, лучше вообще не пользовать PMA.
    Ответ написан
    Комментировать
  • Как сменить версию php для mysql?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    PHP в Linux присутствует в 4 основных ипостасях:
    1. консольное приложение php
    2. модуль для Apache
    3. FPM модуль для nginx и т.п.
    4. библиотека php-mysql

    Все они могут быть разных версий, связанных или не связанных между собой.
    Ответ написан
    2 комментария
  • Как взять последнее значение с цикла for?

    @sl0
    $leadTag = $leadLists['_embedded']['leads'][499]['_embedded']['tags'][0]['name'];
    Ответ написан
    Комментировать
  • Автоматизация верстки в полиграфии, поможете)?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Я похожие задачи решал так:
    - В Inkscape готовился макет документа в svg-формате. Внутри SVG - это обычный текстовый XML-файл.
    - Потом на его основе строился шаблон, мы использовали стандартный шаблонизатор джанго, но можно взять и сторонний, например Jinja или любой другой, тысячи их. У нас структура документа была гораздо сложнее вашей и я использовал многоуровневые шаблоны для разных фрагментов документа. Да, WISIWIG редактирования шаблонов добиться не получилось, но такая задача была не критичной. В вашем случае шаблон получается тривиальным и можно даже подстановку делать на уровне строк, только экранирование нужно аккуратно сделать.

    Это всё лет десять назад уже делалось. Сейчас может быть есть инструменты поудобнее. Не следил за новостями в этом направлении.
    - Далее шаблон рендерится заполняясь данными из контекста, и итоговый SVG-документ обрабатывается headless инстансом редактора Inkscape, который крутился на отдельной виртуалке, а позднее запускался в docker-контейнере. Это фактически запуск Inkscape -A document.svg document.pdf, при котором документ преобразуется в pdf-файл.
    В итоге полученные pdf опционально собираются в один, чтобы сделать многостраничный документ и его удобнее было печатать. Не помню какая библиотека для этого использовалась, но задача распространённая и простая, найдёте.
    Ответ написан
    Комментировать
  • Как понять, подключён ли кто-то к моему вайфай?

    Adler_lug
    @Adler_lug
    Сосед может банально микроволновкой пользоваться, а у вас Wi-Fi может глючить. Такое бывает.
    Или у него свой Wi-Fi, который работает на том же канале и может быть банальный конфликт. Для возможного исключения последнего в роутере поменяйте канал передачи на какой-нибудь другой. А еще лучше на телефон установите какой ни будь Wi-Fi Analyzer и посмотрите, какие каналы больше заняты и выберите какой-нибудь более свободный.
    Ответ написан
    Комментировать
  • Что делать с хакерскими http запросами?

    @Mnemonic0
    WAF - это вам поможет. Баны по ип/регионам это как блокировка /8 сетей при пыпытке заблокировать Телеграм.
    Вкратце - прикрываешься CDN (Клаудфронт например) и в нём настраиваешь проверку AWS WAF - 95% всех попыток взлома будет закрыто.
    Остальные 5% будет сильно дороже закрыть, всё зависит от денег, которые потеряются от простяо сайта.
    Ответ написан
    3 комментария
  • Что делать с хакерскими http запросами?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    Забить, всех не перебанишь, а если захочешь - забанишь реальных пользаков.
    Ну и просто не оставлять подобных уязвимостей.
    Ответ написан
    2 комментария
  • Возможно ли найти удаленную работу для junior iOS разработчика?

    aRegius
    @aRegius
    Python Enthusiast
    Здравствуйте.

    Еще никто не нашел работу, получив какие-либо ответы на какие-либо вопросы. Отправляйте резюме, откликайтесь на вакансии, звоните, пишите, презентуйте себя, параллельно с этим прокачивая свои знания/навыки. Это всё.

    Если вы сомневаетесь, что найти удаленную работу для junior iOS разработчика возможно - не ищите. Если решили искать - тогда уж не сомневайтесь.

    Пожалуйста.
    Ответ написан
    3 комментария
  • Объясните как работает этот код, я не понимаю эти манипуляции со скобочками?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Как комментарий ко всем ответам:
    Надо различать объект функции и вызов результата вычисления функции.
    Объект - это f
    Вызов результата - это f()
    На этом и основан фокус.
    f() превращается в a
    a() превращается в b
    b() превращается в print("nested function")
    Оно печатает строку.
    Ответ написан
    4 комментария
  • Как быстро удалить Foreign Table в postgres?

    Melkij
    @Melkij
    DBA для вашего PostgreSQL?
    Не могу удалить foreign table из postgres запросом

    Посмотреть в pg_blocking_pids, кто мешает. Сделать с этими соединениями что-нибудь (pg_terminate_backend, например)

    Если делать элементарный запрос SELECT * FROM fwd_orders LIMIT 500, то все исполняется за 600ms . А если в этот запрос добавить любой ORDER BY, то выполнение запроса идет 10 и более минут (в таблице более 20млн. строк). Почему так происходит? И как можно ускорить работу?

    Посмотреть explain (verbose) на предмет того, что считается локально, а что прокидывается на удалённую базу.
    В частности, уточнить у используемого расширения oracle fdw, реализован ли там push-down для order by. По описанию похоже что нет такого и потому вся таблица вычитывается и сортируется локально.
    Ответ написан
    Комментировать
  • Насколько обширен SQL и сколько времени нужно для изучения SQL?

    Adamos
    @Adamos
    Понятно что нужна ещё и практика

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

    BorLaze
    @BorLaze
    Java developer
    Лучше один раз увидеть...
    9c9ccb06ca3465ef057acc17690bb89e.png
    Ответ написан
    Комментировать
  • Безопасность CRM. С чего начать и чем закончить?

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

    может кто-то пользуется какими-то лайфхаками)
    Пред тем как писать бред - посвятите 2 минуты гуглению вопроса, хотя бы выглядеть совершенно глупо не будете, и вопрос хоть нормально сформулировать сможете. Не хочется как-то токсично прям отписываться, но такие вопросы вызывают болевые ощущения в глазах...
    Ответ написан
    Комментировать
  • Какой алгоритм работы с JWT token?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    При авторизации выдаются сразу оба токена, рабочий и refresh. Refresh-токен сохраняется в базе сервера вместе с идентификатором пользователя, рабочий токен хранить смысла нет.

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

    Каждый запрос к серверу сопровождается рабочим токеном. Если срок жизни рабочего токена истёк, то сервер возвращает сообщение о необходимости обновления токена.

    Запрос на обновление сопровождается refresh-токеном.
    Если refresh-токен в базе помечен как уже использованный, то инактивируются (удаляются из базы) все refresh-токены данного пользователя и возвращается сообщение о необходимости повторной авторизации.
    Refresh-токен отмечается в базе как использованный .
    Если срок действия refresh-токена истёк или такого refresh-токена нет в базе сервера, то возвращается сообщение о необходимости повторной авторизации.
    Возвращается новая пара токенов.

    Где и как хранить токены на клиенте - вопрос предпочтений. Можно не хранить вообще, тогда при перезагрузке страницы пользователю придётся авторизоваться заново. Можно сохранять только refresh-токен, выполняя запрос на обновление при запуске приложения / открытии страницы.
    Ответ написан
    4 комментария