გააზიარეთ თქვენი გამოცდილება Kafka და FastStream-თან
Python
როდის შეგვიძლია დავძახოთ commit Producer-ში? როგორ ავიცილოთ თავიდან დუბლიკატები ხელით batch-ის commit-ის დროს?
სამი ცხრილი წარმოდგენილია: 1. მომხმარებლები (users): - id (მომხმარებლის უნიკალური იდენტიფიკატორი). - name (მომხმარებლის სახელი). 2. კურსები (courses): - id (კურსის უნიკალური იდენტიფიკატორი). - name (კურსის სახელი). - price (კურსის ფასი). 3. სტუდენტების კურსები (student_courses): - id (ჩანაწერის იდენტიფიკატორი). - student_id (მომხმარებლის იდენტიფიკატორი). - course_id (კურსის იდენტიფიკატორი). მოთხოვნა: ყველა მომხმარებელი, რომელმაც შეიძინა კურსები თანხით მეტი 10 000, გამოიტანეთ შემდეგ ფორმატში: - user_name (მომხმარებლის სახელი). - total_price (სულ შეძენების თანხა). საწყისი კოდი select * from users limit 10; select * from courses limit 10; select * from student_courses limit 10;
შესაძლებელია უსასრულო ინტერატორი და გენერატორი შექმნა? ამისთვის რა არის საჭირო?
რა უნდა გავაკეთოთ პრობლემურ ნაწილთან, რომელიც მუდმივად გამოიწვევს გამონაკლისებს პროცესის დროს? როგორ არ ჩავვარდეთ ციკლში და გავაგრძელოთ?
```python import asyncio from typing import List, Optional class Chunk: def __init__(self, items: List[dict]): self.items = items @property def size(self) -> int: return len(self.items) class Producer: async def next(self) -> Optional[Chunk]: # маалыматтардын партиясын же None кайтарат ... async def commit(self, chunks: List[Chunk]) -> None: # ийгиликтүү иштетүүнү тастыктоо ... class Consumer: max_batch_size = 100 async def consume(self, chunks: List[Chunk]) -> None: total_size = sum(chunk.size for chunk in chunks) if total_size > self.max_batch_size: raise ValueError("партия өтө чоң") # маалыматтарды иштетүү ... producer = Producer() consumer = Consumer() async def process(): while True: chunk = await producer.next() if chunk is None: break try: await consumer.consume([chunk]) await producer.commit([chunk]) except Exception as e: print("каталар, бирок улантабыз:", e) continue if __name__ == "__main__": asyncio.run(process()) ```
Python-ში დეკორატორების შესახებ ისაუბრეთ: რა არის ეს ნიმუში და როგორ განახორციელოთ არგუმენტებით დეკორატორი?
გაახარეთ ფუნქციის ქცევა მუტაბელური დეფოლტ არგუმენტით. რა გამოიტანენ პრინტები?
თქვენი ბოლო პროექტის შესახებ ისაუბრეთ, რომელიც თქვენს გულს შეეხო. რა იყო ეს პროექტი, რა კონკრეტულად გააკეთეთ იქ და რატომ შეეხო ის თქვენს გულს?
ლისკოვის ჩანაცვლების პრინციპი — დეტალურად მოყევით
გთხოვთ, მოგვიყევით თქვენი მიმდინარე გუნდის და [ბანკის/კომპანიის] პროექტების შესახებ
OOP პრინციპების შესახებ ისაუბრეთ: ინკაპსულაცია, მემკვიდრეობა, პოლიმორფიზმი, აბსტრაქცია
რას იცნობთ ჩვენს კომპანიაზე?
თქვით თქვენი პროექტში data class-ების გამოყენების შესახებ და რატომ აირჩიეთ ისინი
როგორ აირჩევთ რამდენიმე შეთავაზებას შორის? რა არის თქვენთვის მნიშვნელოვანი?
გვითხარით SOLID პრინციპებზე
თუ total_size > self.max_batch_size: raise ValueError("საფარი ძალიან დიდია")