Python и 1000 уязвимостей
37.6K subscribers
1.87K photos
569 videos
27 files
2.01K links
Сила в единстве.

Сотрудничество: @workhouse_price

Канал на бирже:
https://telega.in/channels/osint_pythons/card

№ 5383975776
РКН: https://clck.ru/3FtTDH
Download Telegram
Что выдаёт этот код?
Anonymous Quiz
13%
Pyth
14%
ммар
39%
htyP
33%
ммаргорп 0001 и nohtyP
👍14🤯95🔥1
🔥 Пишем GPT в 60 строк NumPy (часть 1 из 2)

В этом посте мы начнём реализацию с нуля GPT всего в 60 строках numpy. Во второй части статьи мы загрузим в нашу реализацию опубликованные OpenAI веса обученной модели GPT-2 и сгенерируем текст.

Читать статью

Ждем вторую часть 🔥🔥🔥
👍19🔥4🤯2
Сортировка вставками

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

Алгоритм сортировки вставками:
▪️ нерекурсивный;
▪️ устойчивый;
▪️ преобразует входные данные без использования вспомогательной структуры данных (in place);
▪️ имеет сложность O(n^2);
7👍4
🔥 Пишем GPT в 60 строк NumPy (окончание, 2/2)

В
первой части поста мы начали реализацию с нуля GPT всего в 60 строках numpy.

Во завершающей части мы загрузим в нашу реализацию опубликованные OpenAI веса обученной модели GPT-2 и сгенерируем текст.

Читать статью
👍224
Media is too big
VIEW IN TELEGRAM
🎬 Python | Автоматизируем ВКонтакте | Selenium 4 | Аутентификация, скролл, нахождение элементов, клики

Автоматизируем работу ВКонтакте с помощью Selenium WebDriver. Пройдем аутентификацию в новой форме, научимся находить элементы по id, классу, имени и даже по содержащемуся в строке тексту, будем кликать на элементы, осуществлять поиск внутри контакта, прокручивать страницу с помощью исполнения JavaScript кода и в конце даже автоматизируем клик на видео пост.

https://www.youtube.com/watch?v=3jMA7fdVI2s&t=6s
👍92
Сортировка Шелла

Сортировка Шелла
является оптимизированным вариантом сортировки вставками.

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

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

Алгоритм сортировки Шелла:
▪️ нерекурсивный;
▪️ устойчивый;
▪️ преобразует входные данные без использования вспомогательной структуры данных (in place);
▪️ имеет сложность O(n^2), но это также зависит от выбора длины интервала;
👍12
Что выдаёт этот код?
Anonymous Quiz
31%
' '
6%
'w'
16%
'e'
48%
Error
🤔29👍6🤯2
Пирамидальная сортировка («сортировка кучей»)

Как и в двух предыдущих алгоритмах, мы создаем два сегмента списка: отсортированный и несортированный.

В данном алгоритме для эффективного нахождения максимального элемента в неотсортированной части списка мы используем структуру данных «куча».

Метод heapify в примере кода использует рекурсию для получения элемента с максимальным значением на вершине.

Алгоритм пирамидальной сортировки:
▪️ нерекурсивный;
▪️ неустойчивый;
▪️ преобразует входные данные без использования вспомогательной структуры данных (in place);
▪️ имеет сложность O(nlog(n));
👍172
Media is too big
VIEW IN TELEGRAM
👾 Воссоздание DOOM в Python. Ep2 - Разделение двоичного пространства [ENG]

Разделение двоичного пространства - это сердце DOOM! Давайте разберемся, что такое BSP и как это работает в DOOM.

https://www.youtube.com/watch?v=sFSLY7n3YsM

Первая часть здесь! Если вы плохо понимаете английский или совсем не понимаете, смотрите ролик на ютубе с субтитрами. В настройках субтитров можно включить перевод на удобный для Вас язык.
9👍1
Что выдаёт этот код?
Anonymous Quiz
32%
True
14%
False
10%
Error
44%
exit
👍17🤔8🔥2🤯2
Сортировка слиянием

Этот алгоритм работает по принципу «разделяй и властвуй».

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

Алгоритм сортировки слиянием:
▪️ рекурсивный;
▪️ устойчивый;
▪️ требует дополнительной памяти;
▪️ имеет сложность O(nlog(n));
👍122
Быстрая сортировка

В этом алгоритме мы разбиваем список при помощи опорного элемента, сортируя значения вокруг него.

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

Алгоритм быстрой сортировки:
▪️ рекурсивный;
▪️ неустойчивый;
▪️ преобразует входные данные без использования вспомогательной структуры данных (in place);
▪️ имеет сложность O(nlog(n));
👍91
Сортировка подсчетом

Этот алгоритм не производит сравнение элементов. Для сортировки используются математические свойства целых чисел. Мы подсчитываем вхождения числа в массиве и сохраняем результат во вспомогательном массиве, где индексу соответствует значение ключа.

Алгоритм сортировки подсчетом:
▪️ нерекурсивный;
▪️ устойчивый;
▪️ преобразует входные данные без использования вспомогательной структуры данных (in place), но все же требует дополнительной памяти;
▪️ имеет сложность O(n);
👍6