Установка соединения протокола уровня приложения ещё медленнее;
Аутентификация подключения на порядок медленнее;
Создание сессии для соединения системой управления базами данных такая же медленная;
Завершение сессии и освобождение ресурсов медленное;
Закрытие соединение относительно быстрое, но тоже не мгновенное.
Если 500 раз в секунду соединение создаётся, через него выполняется один простой запрос, и соединение закрывается, то СУБД и клиент часть пропускной способности тратят на выполнение бессмысленных действий. Намного разумнее один раз открыть соединение, прогнать через него два миллиона запросов и только потому может быть закрыть.
* В том, что тесты нужно запускать много раз, тысячи хотя бы.
* В том, что в измерении времени парсинга вы учитываете время загрузки страницы.
* В том, что вы учитываете время вывода.
* В том, что учитываете время подготовки окружения (инклуды / реквайры).
То, что у вас сейчас получилось - это просто мусорные данные, буквально ничего не значащие.
львинная доля времени уходит на загрузку страниц, поэтому и неудивительно что заметной разницы не наблюдается.
кто ж так парсит? особенно когда нужна скорость.
сначала готовятся/собираются нужные урлы.
затем они выкачиваются в много потоков (например, мультикурлом) и складываются в базу или на диск или ещё куда.
в фоне уже спокойно парсятся документы локально.
`*198*`
...
8.0 Fanny och Alexander (1982).mp4: command not found
в чем проблема
Ты б хоть поинтересовался что разные кавычки означают, перед тем как их использовать. Обратные кавычки означают "выполнить команду записанную внутри и подставить её вывод". Не надо выполнять mp4.
Пентест это не профессия, пентест это совокупность методик и разных областей знаний.
В принципе называть себя пентестером - не особо правильно, точнее будет слово "исследователь" и опять-же нельзя познать всё. Ты или всезнающий но всё поверхностно или узкий спец в каком-то из направлений.
Как вы написали в комментах "мне необходима уверенность в том, что без работы в итоге не останусь. " то тут вообще можно не беспокоиться, вам придёться выучить огромное количество как базовых направлений в различных IT отрослях так и более глубоко какое-то из направлений.
Ну а насчёт градаций джун-мидл и т.п. это сильно размытая грань и мало применима вообще где либо, больше из разряда "такая линейка принята у нас в компании и мы всёравно не знаем как её применять"
P.S. Вообще на "пентестера" не учаться, им становятся в результате наработки багажа знаний и тяги к исследованиям + огромной усидчивости.
Microsoft Visual C++ 14.0 и Microsoft Visual C++ 14.0 Redistributable - это не одно и то же. Первое - это средства разработки, включающие в себя компилятор, который как раз и нужен для установки пакета. Второе - только набор библиотек для работы приложений скомпилированных с помощью Visual C++.
Microsoft Visual C++ Build Tools можно сказать здесь.
Все зависит от того зачем вам это дерево.
1. Это Adjacency List, он хорош когда вам нужно часто писать в дерево и редко его читать.
2. Это Nested Set, он хорош когда вам нужно часто читать дерево и редко в него писать.
Для того чтоб построить часть дерева по первому варианту вам нужно либо вытаскивать ВСЕ записи из базы, и потом рекурсивно проходится по ним и строить его, либо писать встроенную процедуру для того чтоб рекурсия была на стороне базы данных. Также нужно следить чтоб не возникало циклических зависимостей в айдишниках
Второй вариант может вытянуть часть дерева со всеми его дочерними элементами одним запросом, но при изменении структуры запросы могут быть тяжелыми, особенно когда дерево внушительных размеров.
Лично я использую первый вариант для дерева комментариев, а второй для меню сайта. Хотя деревья всегда есть смысл кэшировать.
К каждому индивиду нужен свой подход. Чаще всего помогает: матом объясняешь, что ты занят и все. Желательно с оскорблениями, что бы второй раз желание слушать не было.
Как вариант замок на дверь и график рабочий и не отвечать на провокации.
Ну и если ты человек спокойный и хамить не научен (а я бы освоил обязательно этот скил) можно просто на любой "вынеси мусор", вызывать "мужа на час" или аналоги. Только так доступно можно объяснить, что ты дорого стоишь в рабочее время.
Когда жил с тещей - поступал так. Просто сидел и рубился в игры, на каждое помоги, помогал. Но не работал. Где-то на 2-й день спросили, что не так, почему не работаю. Сказал, что не смогу тогда по дому помогать А это явно приоритетная задача. Поэтому решил больше не работать, никогда. Вопрос закрылся. При появлениях рецессии достаточно "увольняться?".
Все родственники считают меня психом, но привыкли. Я же называю это "радикальная психологий". Работа кипит, хозяйство не отвлекает.
ПС: самое главное в жизни вообще - научиться говорить "нет".
Поищите вакансии на джуниора. Почитайте требования. Прочитав 10-20 вакансий, усредните и у вас будет понимание что нужно учить, чтобы попробовать устроиться.
Либо возможно вы сразу пробуйте попасть на интервью.
async не ускоряет обработку данных, он позволяет сгладить тормоза сети
клиенты медленные и пока от них едут данные, cpu простаивает
бд рядом стоит и от нее буду ответы приходить быстро
мигель на pycon хорошо пример привел, async сервак - это шахматных гроссмейстер, который играет с нубами
он не играет с каждым по очереди, он делает ход и идет дальше
так вот бд в данном случае, это мозги гроссмейстера
они быстро отработают запросы
libpq умеет асинхронное выполнение запросов в том смысле, что запрос отправляется на выполнение и возвращает управление приложению не дожидаясь окончания выполнения запроса.
Один коннект к базе в один момент времени может выполнять только один запрос. Вы не можете запустить один запрос и не дождавшись окончания его выполнения запустить другой через это же самое соединение. Через другое соединение - можете.
Будут ли запросы в самой базе сериализоваться в очередь либо выполняться параллельно - вопрос к этим самым запросам. Читающие довольно сложно чем-то заблокировать, пишущие чаще могут конфликтовать за блокировки.