👍25🤯9
🐍 Python import, как и для чего?
Что такое import в Python?
В языке программирования Python подключение пакетов и модулей осуществляется с помощью import. Это позволяет распределять код по логическим "узлам" приложения(модели данных, обработчики, и тп.), что позволяет получить менее нагруженные кодом файлы.
Плюсы:
➕ Повышается читаемость кода.
➕ Код логически разбит по "узлам", его поиск и дальнейший отлов ошибок становится понятнее и проще.
➕ Для разработки в команде это дает более четкое понимание, что и где делает каждый при выполнении "задания".
Минусы:
➖ Нужно понимать, что делается и для чего...
Читать статью
Что такое import в Python?
В языке программирования Python подключение пакетов и модулей осуществляется с помощью import. Это позволяет распределять код по логическим "узлам" приложения(модели данных, обработчики, и тп.), что позволяет получить менее нагруженные кодом файлы.
Плюсы:
➕ Повышается читаемость кода.
➕ Код логически разбит по "узлам", его поиск и дальнейший отлов ошибок становится понятнее и проще.
➕ Для разработки в команде это дает более четкое понимание, что и где делает каждый при выполнении "задания".
Минусы:
➖ Нужно понимать, что делается и для чего...
Читать статью
👍18🤯2
Сортировка выбором
В этом алгоритме мы создаем два сегмента нашего списка: один отсортированный, а другой несортированный.
В процессе выполнения алгоритма мы каждый раз удаляем самый маленький элемент из несортированного сегмента списка и добавляем его в отсортированный сегмент. Мы не меняем местами промежуточные элементы. Следовательно, этот алгоритм сортирует массив с минимальным количеством перестановок.
Алгоритм сортировки выбором:
▪️ нерекурсивный;
▪️ может быть как устойчивым, так и неустойчивым;
▪️ преобразует входные данные без использования вспомогательной структуры данных (in place);
▪️ имеет сложность O(n^2);
В этом алгоритме мы создаем два сегмента нашего списка: один отсортированный, а другой несортированный.
В процессе выполнения алгоритма мы каждый раз удаляем самый маленький элемент из несортированного сегмента списка и добавляем его в отсортированный сегмент. Мы не меняем местами промежуточные элементы. Следовательно, этот алгоритм сортирует массив с минимальным количеством перестановок.
Алгоритм сортировки выбором:
▪️ нерекурсивный;
▪️ может быть как устойчивым, так и неустойчивым;
▪️ преобразует входные данные без использования вспомогательной структуры данных (in place);
▪️ имеет сложность O(n^2);
👍11🔥2
🔥 Асинхронный django: разоблачение Великого и Ужасного
Мы с вами будем обсуждать только ту часть, которая явно включена в DEP-9. Это значит, что ввод-вывод при работе с базой данных остаётся блокирующий (то есть, мы используем psycopg2, а не asyncpg), но, при этом, поддерживаются новые юзкейсы, недоступные обычному WSGI-приложению - вебсокеты и запросы на сторонние сервисы.
👉СТАТЬЯ👈
Мы с вами будем обсуждать только ту часть, которая явно включена в DEP-9. Это значит, что ввод-вывод при работе с базой данных остаётся блокирующий (то есть, мы используем psycopg2, а не asyncpg), но, при этом, поддерживаются новые юзкейсы, недоступные обычному WSGI-приложению - вебсокеты и запросы на сторонние сервисы.
👉СТАТЬЯ👈
👍8❤2🔥2
🔥 Пять статей от редакции, собравшие больше всего отдачи:
1. Асинхронный django: разоблачение Великого и Ужасного - Мы с вами будем обсуждать только ту часть, которая явно включена в DEP-9. Это значит, что ввод-вывод при работе с базой данных остаётся блокирующий...
2. Python import, как и для чего? - Что такое import в Python?
В языке программирования Python подключение пакетов и модулей осуществляется с помощью import. Это позволяет...
3. 8 советов как писать исключения на Python - В данном видео рассмотрим 8 ошибок при написании исключений на Python, и на основе этих ошибок получим правильную реализацию.
4. Пентест на практике с нуля | CTF | TryHackMe - DogCat | LFI, RCE, Отравление логов на apache - В данном видео проходим машину на TryHackMe, рассмотрим LFI уязвимость переходящую в RCE через отравление логов на веб-сервере apache.
5. Как подключить препроцессор SASS/SCSS к Django
1. Асинхронный django: разоблачение Великого и Ужасного - Мы с вами будем обсуждать только ту часть, которая явно включена в DEP-9. Это значит, что ввод-вывод при работе с базой данных остаётся блокирующий...
2. Python import, как и для чего? - Что такое import в Python?
В языке программирования Python подключение пакетов и модулей осуществляется с помощью import. Это позволяет...
3. 8 советов как писать исключения на Python - В данном видео рассмотрим 8 ошибок при написании исключений на Python, и на основе этих ошибок получим правильную реализацию.
4. Пентест на практике с нуля | CTF | TryHackMe - DogCat | LFI, RCE, Отравление логов на apache - В данном видео проходим машину на TryHackMe, рассмотрим LFI уязвимость переходящую в RCE через отравление логов на веб-сервере apache.
5. Как подключить препроцессор SASS/SCSS к Django
👍8❤6🔥1
Media is too big
VIEW IN TELEGRAM
🎬 Python: NewType против TypeAlias. Декомпозиция типов
Поговорим о декомпозиции типов в Python, а также о TypeAlias и NewType!
➖ https://www.youtube.com/watch?v=xdRroK3WwJg
Поговорим о декомпозиции типов в Python, а также о TypeAlias и NewType!
➖ https://www.youtube.com/watch?v=xdRroK3WwJg
🤔7👍5
👍14🤯9❤5🔥1
🔥 Пишем GPT в 60 строк NumPy (часть 1 из 2)
В этом посте мы начнём реализацию с нуля GPT всего в 60 строках numpy. Во второй части статьи мы загрузим в нашу реализацию опубликованные OpenAI веса обученной модели GPT-2 и сгенерируем текст.
Читать статью
Ждем вторую часть 🔥🔥🔥
В этом посте мы начнём реализацию с нуля GPT всего в 60 строках numpy. Во второй части статьи мы загрузим в нашу реализацию опубликованные OpenAI веса обученной модели GPT-2 и сгенерируем текст.
Читать статью
Ждем вторую часть 🔥🔥🔥
👍19🔥4🤯2
Сортировка вставками
Подобно алгоритму сортировки выбором, мы делим наш список на две части. Далее мы перебираем не отсортированную часть и вставляем каждый элемент из данного сегмента на его правильное место в отсортированной части списка.
Алгоритм сортировки вставками:
▪️ нерекурсивный;
▪️ устойчивый;
▪️ преобразует входные данные без использования вспомогательной структуры данных (in place);
▪️ имеет сложность O(n^2);
Подобно алгоритму сортировки выбором, мы делим наш список на две части. Далее мы перебираем не отсортированную часть и вставляем каждый элемент из данного сегмента на его правильное место в отсортированной части списка.
Алгоритм сортировки вставками:
▪️ нерекурсивный;
▪️ устойчивый;
▪️ преобразует входные данные без использования вспомогательной структуры данных (in place);
▪️ имеет сложность O(n^2);
❤7👍4
🔥 Пишем GPT в 60 строк NumPy (окончание, 2/2)
В первой части поста мы начали реализацию с нуля GPT всего в 60 строках numpy.
Во завершающей части мы загрузим в нашу реализацию опубликованные OpenAI веса обученной модели GPT-2 и сгенерируем текст.
Читать статью
В первой части поста мы начали реализацию с нуля GPT всего в 60 строках numpy.
Во завершающей части мы загрузим в нашу реализацию опубликованные OpenAI веса обученной модели GPT-2 и сгенерируем текст.
Читать статью
👍22❤4
Media is too big
VIEW IN TELEGRAM
🎬 Python | Автоматизируем ВКонтакте | Selenium 4 | Аутентификация, скролл, нахождение элементов, клики
Автоматизируем работу ВКонтакте с помощью Selenium WebDriver. Пройдем аутентификацию в новой форме, научимся находить элементы по id, классу, имени и даже по содержащемуся в строке тексту, будем кликать на элементы, осуществлять поиск внутри контакта, прокручивать страницу с помощью исполнения JavaScript кода и в конце даже автоматизируем клик на видео пост.
➖ https://www.youtube.com/watch?v=3jMA7fdVI2s&t=6s
Автоматизируем работу ВКонтакте с помощью Selenium WebDriver. Пройдем аутентификацию в новой форме, научимся находить элементы по id, классу, имени и даже по содержащемуся в строке тексту, будем кликать на элементы, осуществлять поиск внутри контакта, прокручивать страницу с помощью исполнения JavaScript кода и в конце даже автоматизируем клик на видео пост.
➖ https://www.youtube.com/watch?v=3jMA7fdVI2s&t=6s
👍9❤2
Сортировка Шелла
Сортировка Шелла является оптимизированным вариантом сортировки вставками.
Оптимизация достигается путем сравнения не только соседних элементов, но и элементов на определенном расстоянии, которое в течении работы алгоритма уменьшается. На последней итерации это расстояние равно 1. После этого алгоритм становится обычным алгоритмом сортировки вставками, что гарантирует правильный результат сортировки.
Но следует отметить один момент: к тому времени, когда это произойдет, наш массив будет почти отсортирован, поэтому итерации будут выполнятся очень быстро.
Алгоритм сортировки Шелла:
▪️ нерекурсивный;
▪️ устойчивый;
▪️ преобразует входные данные без использования вспомогательной структуры данных (in place);
▪️ имеет сложность O(n^2), но это также зависит от выбора длины интервала;
Сортировка Шелла является оптимизированным вариантом сортировки вставками.
Оптимизация достигается путем сравнения не только соседних элементов, но и элементов на определенном расстоянии, которое в течении работы алгоритма уменьшается. На последней итерации это расстояние равно 1. После этого алгоритм становится обычным алгоритмом сортировки вставками, что гарантирует правильный результат сортировки.
Но следует отметить один момент: к тому времени, когда это произойдет, наш массив будет почти отсортирован, поэтому итерации будут выполнятся очень быстро.
Алгоритм сортировки Шелла:
▪️ нерекурсивный;
▪️ устойчивый;
▪️ преобразует входные данные без использования вспомогательной структуры данных (in place);
▪️ имеет сложность O(n^2), но это также зависит от выбора длины интервала;
👍12
🤔29👍6🤯2
Пирамидальная сортировка («сортировка кучей»)
Как и в двух предыдущих алгоритмах, мы создаем два сегмента списка: отсортированный и несортированный.
В данном алгоритме для эффективного нахождения максимального элемента в неотсортированной части списка мы используем структуру данных «куча».
Метод
Алгоритм пирамидальной сортировки:
▪️ нерекурсивный;
▪️ неустойчивый;
▪️ преобразует входные данные без использования вспомогательной структуры данных (in place);
▪️ имеет сложность O(nlog(n));
Как и в двух предыдущих алгоритмах, мы создаем два сегмента списка: отсортированный и несортированный.
В данном алгоритме для эффективного нахождения максимального элемента в неотсортированной части списка мы используем структуру данных «куча».
Метод
heapify
в примере кода использует рекурсию для получения элемента с максимальным значением на вершине.Алгоритм пирамидальной сортировки:
▪️ нерекурсивный;
▪️ неустойчивый;
▪️ преобразует входные данные без использования вспомогательной структуры данных (in place);
▪️ имеет сложность O(nlog(n));
👍17❤2