Ob-havo API
Ob-havo ma'lumotlarini olib, qaytaradigan ob-havo API'sini yarating.
Bu loyihada o'zimizning ob-havo ma'lumotlarimizga tayanish o'rniga, uchinchi tomon API'sidan ob-havo ma'lumotlarini olib, qaytaradigan ob-havo API'sini yaratamiz. Bu loyiha uchinchi tomon API'lari, keshlash va environment variable'lar bilan qanday ishlashni tushunishingizga yordam beradi.

Qaysi ob-havo API'sidan foydalanishga kelsak, o'zingizga yoqqanini tanlashingiz mumkin; tavsiya sifatida Visual Crossing’s API havolasini keltiramiz — u mutlaqo BEPUL va foydalanish oson.
In-memory kesh borasida esa keng tarqalgan tavsiya — Redis'dan foydalanish; u haqida shu yerda batafsil o'qishingiz mumkin. Tavsiya sifatida foydalanuvchi kiritgan shahar kodini key sifatida ishlatib, API'ni chaqirish natijasini o'sha key ostida saqlashingiz mumkin.
Shu bilan birga, keshga qiymatni "set" qilganingizda unga soniyalarda o'lchanadigan amal qilish muddatini ham berishingiz mumkin (SET buyrug'idagi EX flag'i yordamida). Shunday qilib, ma'lumotlar yetarlicha eskirganda kesh (key'lar) o'zini avtomatik tozalaydi (masalan, 12 soatlik amal qilish muddati berilganda).
<hr />
Ba'zi maslahatlar
Ishni boshlashingizga yordam beradigan ba'zi maslahatlar:
- Ishni hardcode qilingan ob-havo javobini qaytaradigan oddiy API yaratishdan boshlang. Bu API'ngizni qanday tuzish va so'rovlarni qanday qayta ishlashni tushunishingizga yordam beradi.
- API key va Redis connection string'ini saqlash uchun environment variable'lardan foydalaning. Shunday qilib, ularni kodingizni o'zgartirmasdan osongina almashtirishingiz mumkin.
- Xatolarni to'g'ri qayta ishlashni unutmang. Agar uchinchi tomon API'si ishlamay qolsa yoki shahar kodi noto'g'ri bo'lsa, tegishli xato xabarini qaytarishga ishonch hosil qiling.
- HTTP so'rovlarini yuborish uchun biror package yoki moduldan foydalaning, masalan, Node.js'dan foydalansangiz
axiospackage'ini, Python'dan foydalansangizrequestsmodulini ishlatishingiz mumkin. - API'ngizni suiiste'mol qilinishining oldini olish uchun rate limiting'ni amalga oshiring. Node.js'dan foydalansangiz
express-rate-limit, Python'dan foydalansangizflask-limiterkabi package'dan foydalanishingiz mumkin.
Bu loyiha uchinchi tomon API'lari, keshlash va environment variable'lar bilan qanday ishlashni tushunishingizga yordam beradi. Shuningdek, u API'ngizni qanday tuzish va so'rovlarni qanday qayta ishlashni tushunishingizga ham yordam beradi.