Сообщество Программистов
habr_parser.zip
Сейчас посмотрел, и понял, что обновлений этого софта
не было с прошлого года 😱
Поэтому хочу поздравить всех с наступающим или уже наступившим новым годом, желаю чтобы в этом году вы добились всех своих целей, прокачались во всех нужных вам направлениях, и чтобы 2023 год, был именно тем годом, который всё изменит.
Желаю вам приятно провести праздники, всех обнял ☺️
не было с прошлого года 😱
Поэтому хочу поздравить всех с наступающим или уже наступившим новым годом, желаю чтобы в этом году вы добились всех своих целей, прокачались во всех нужных вам направлениях, и чтобы 2023 год, был именно тем годом, который всё изменит.
Желаю вам приятно провести праздники, всех обнял ☺️
👍21🔥5🤯2
Сообщество Программистов
https://youtu.be/_pw136PPTKA
❗️В видео было странное поведение lru_cache,
поэтому я продолжил тесты, и нашел ответ.
Написал небольшую статью, где показал все мои тесты
с этой технологией, поэтому советую прочитать.
P.S Спасибо всем, кто оставлял комментарии, это стало мотивацией для продолжения тестов 🐍
поэтому я продолжил тесты, и нашел ответ.
Написал небольшую статью, где показал все мои тесты
с этой технологией, поэтому советую прочитать.
P.S Спасибо всем, кто оставлял комментарии, это стало мотивацией для продолжения тестов 🐍
👍23🔥4😁1
В комментариях подсказали еще 1 вариант для 1го примера из видео.
В итоге:
- cycle_example 0.76s
- sum_example 0.43s
- summary 0.01s
Ускорение вышло примерно x70.
Поэтому на этапе оптимизации кода, можно поиграться с подобными комбинациями, и получить максимальную производительность.
В итоге:
- cycle_example 0.76s
- sum_example 0.43s
- summary 0.01s
Ускорение вышло примерно x70.
Поэтому на этапе оптимизации кода, можно поиграться с подобными комбинациями, и получить максимальную производительность.
🔥17👍6🤔2
1. pip install line_profiler
2. добавляем декоратор @profile
Также можно пробежаться через cProfile, чтобы получить затраченные ресурсы на каждую операцию, но об этом в отдельном видео 😉
2. добавляем декоратор @profile
@profile
def summary():
res = sum(range(1_000_000))
print(res)
if __name__ == "__main__":
summary()
3. kernprof -l -v your_file.pyТакже можно пробежаться через cProfile, чтобы получить затраченные ресурсы на каждую операцию, но об этом в отдельном видео 😉
🔥10🤔4
А кто-то еще жалуется на ускорение циклов в 70 раз 😁😁
В то время как разработчики Python издеваются над людьми, и заставляют везде ставить эти ужасные пробелы.
А ведь скорость разработки от этого падает в целых 4 раза, как говорит автор доклада 😁. А если бы пробелов было 10, то в целых 10 раз!
В то время как разработчики Python издеваются над людьми, и заставляют везде ставить эти ужасные пробелы.
А ведь скорость разработки от этого падает в целых 4 раза, как говорит автор доклада 😁. А если бы пробелов было 10, то в целых 10 раз!
😁40🤯7👍1
Несколько принципов для защиты системы и приложений
1. Систему можно "защитить" до такой степени, что с ней будет невозможно работать. Необходимо найти баланс между защищённостью и удобством.
2. Существует множество атак и угроз, но следует понимать, что наибольшей уязвимостью всегда был — и будет — сам пользователь.
3. Каждый элемент системы должен иметь доступ только к тому, что необходимо ему для работы, и ни к чему более.
4. Безопасность должна быть организована в виде многослойной системы. Когда один из слоёв защиты прорван, следующий остановит атаку.
5. Будьте немного параноиком. Будьте подозрительны. Если что-то выглядит слишком хорошо, чтобы быть правдой, то скорее всего, так оно и есть.
📕 Но также учитывайте, что 100% защиты не существует, поэтому у вас должен быть план на тот случай, если эта защита будет разрушена.
1. Систему можно "защитить" до такой степени, что с ней будет невозможно работать. Необходимо найти баланс между защищённостью и удобством.
2. Существует множество атак и угроз, но следует понимать, что наибольшей уязвимостью всегда был — и будет — сам пользователь.
3. Каждый элемент системы должен иметь доступ только к тому, что необходимо ему для работы, и ни к чему более.
4. Безопасность должна быть организована в виде многослойной системы. Когда один из слоёв защиты прорван, следующий остановит атаку.
5. Будьте немного параноиком. Будьте подозрительны. Если что-то выглядит слишком хорошо, чтобы быть правдой, то скорее всего, так оно и есть.
📕 Но также учитывайте, что 100% защиты не существует, поэтому у вас должен быть план на тот случай, если эта защита будет разрушена.
🔥16👍7🤔4
Media is too big
VIEW IN TELEGRAM
😁 Простите, не смог удержаться
Зато теперь вы знаете что делать на случай восстания машин. Я это монтировал больше часа, поэтому если смог поднять вам настроение — буду рад если поставите лайк 😁
Зато теперь вы знаете что делать на случай восстания машин. Я это монтировал больше часа, поэтому если смог поднять вам настроение — буду рад если поставите лайк 😁
😁60👍36🔥9🤔5🤯1
Как отправить Requests запросы быстрее?
1. Библиотека Asyncio для асинхронных запросов
2. Параллельные запросы: concurrent-requests или же grequests, чтобы отправлять несколько запросов одновременно
3. Multiprocessing: Для параллельной отправки запросов с использованием нескольких процессов
4. Gevent: Для параллельной отправки запросов с использованием greenlets, которые представляют собой облегченные совместные потоки. Это может быть полезно, если вы хотите сделать много блокирующих вызовов ввода/вывода одновременно
🔥Также не забывайте о пулах соединений, которые поддерживают кэширование, что позволяет уменьшить накладные расходы
1. Библиотека Asyncio для асинхронных запросов
2. Параллельные запросы: concurrent-requests или же grequests, чтобы отправлять несколько запросов одновременно
3. Multiprocessing: Для параллельной отправки запросов с использованием нескольких процессов
4. Gevent: Для параллельной отправки запросов с использованием greenlets, которые представляют собой облегченные совместные потоки. Это может быть полезно, если вы хотите сделать много блокирующих вызовов ввода/вывода одновременно
🔥Также не забывайте о пулах соединений, которые поддерживают кэширование, что позволяет уменьшить накладные расходы
👍20🔥5
Попросил написать историю о Python разработчиках, которые лишились работы, и все складывается очень правдоподобно.
В ближайшее время покажу некоторые возможности этого бота, о которых еще никто не говорил на YouTube. И также стоит напомнить, что программирование стоит учить дальше, как минимум по той причине, чтобы когда ИИ захватит вселенную, он нас пощадил 🙂
В ближайшее время покажу некоторые возможности этого бота, о которых еще никто не говорил на YouTube. И также стоит напомнить, что программирование стоит учить дальше, как минимум по той причине, чтобы когда ИИ захватит вселенную, он нас пощадил 🙂
😁42👍14🤯4🔥3
Изначально бот ответил, что для этого требуется версия ядра, архитектура и спецификация USB
Но если указать необходимые данные, он начинает писать драйвер. Хотя делает это не полностью, так как стоит учитывать, что драйвер нельзя написать на 10 строчек.
Если попросить его переписать ядро Linux на Rust, то он тоже это не сделает как минимум из-за того, что нужны слишком большие объемы вычислений.
Статья о ChatGPT ⬅️
Но если указать необходимые данные, он начинает писать драйвер. Хотя делает это не полностью, так как стоит учитывать, что драйвер нельзя написать на 10 строчек.
Если попросить его переписать ядро Linux на Rust, то он тоже это не сделает как минимум из-за того, что нужны слишком большие объемы вычислений.
Статья о ChatGPT ⬅️
🔥17👍5😁1