در دنیای توسعه نرمافزار، لایسنسها نقش مهمی در تعیین نحوه استفاده، توزیع و تغییر کد توسط دیگران ایفا میکنند. هر لایسنس مجموعهای از شرایط و ضوابط را ارائه میدهد که به کاربران حقوق و تعهدات خاصی را در قبال نرمافزار اعطا میکند.
▪️لایسنسMIT: این لایسنس یکی از سادهترین و پرکاربردترین لایسنسهای متنباز است. به کاربران اجازه میدهد تا آزادانه از نرمافزار در هر برنامهای، حتی برنامههای تجاری، استفاده، تغییر و توزیع کنند. تنها شرط این است که آنها باید حق نسخهبرداری و مجوز را در تمام نسخههای کپیشده نرمافزار حفظ کنند.
▪️لایسنس GPL (General Public License): این لایسنس قویتر از MIT است و به اصطلاح "کپیلفت" است. به این معنی که هر نسخهای از نرمافزار که تحت GPL منتشر میشود باید تحت همان لایسنس یا لایسنس سازگار دیگری مجوز داشته باشد. این امر برای اطمینان از اینکه همه کاربران به همان آزادیهایی که توسعهدهنده اصلی اعطا کرده است دسترسی داشته باشند، مهم است.
▪️لایسنس Apache License: این لایسنس شبیه به MIT است، اما برخی از الزامات اضافی را برای محافظت از توسعهدهندگان در برابر دعاوی حقوقی اعمال میکند.
▪️لایسنس BSD: این خانواده از لایسنسها شبیه به MIT هستند، اما تنوع بیشتری دارند. برخی از لایسنسهای BSD الزامات کمتری نسبت به MIT دارند، در حالی که برخی دیگر الزامات بیشتری دارند.
▪️لایسنس Creative Commons: این لایسنسها بیشتر برای محتوای خلاقانه مانند تصاویر، موسیقی و متن استفاده میشوند. آنها طیف وسیعی از مجوزها را ارائه میدهند که به کاربران سطوح مختلفی از اجازه برای استفاده، تغییر و توزیع محتوا را میدهند.
▪️لایسنس Beerware: این یک لایسنس غیررسمی و طنزآمیز است که به کاربران اجازه میدهد از نرمافزار به صورت رایگان استفاده کنند، اما آنها را تشویق میکند تا در صورت قدردانی از آن، به توسعهدهنده یک نوشیدنی بخرند.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
#ترفند
✔️ در فایل requirements.txt گاهی اوقات از -r به همراه یک URL استفاده میشود تا به طور تکراری نیازمندیهای یک پروژه دیگر را در فایل خود نصب کنید. این کار میتواند برای جلوگیری از تکرار لیستهای بلند نیازمندیها و مدیریت وابستگیها به طور کارآمدتر مفید باشد.
نحوه عملکرد:
1. زمانی که pip دستور -r را همراه با URL دریافت میکند، به آن URL میرود و محتوای فایل requirements.txt موجود در آن آدرس را دانلود میکند.
2. سپس، pip تمام نیازمندیهای لیست شده در فایل دانلود شده را به همراه نیازمندیهای موجود در فایل requirements.txt خودتان نصب میکند.
مثال:
فرض کنید دو پروژه به نام project-a و project-b دارید. project-b به تعدادی از کتابخانهها که در project-a نیز استفاده میشوند، نیاز دارد. به جای لیست کردن تمام این کتابخانهها دوباره در project-b`، میتوانید از -r` برای نصب آنها از project-a استفاده کنید:
در این مثال، pip ابتدا تمام نیازمندیهای لیست شده در project-a/requirements.txt را نصب میکند و سپس other-library-1 و other-library-2 را که خاص project-b هستند، نصب میکند.
💻 @Teachify | برنامه نویسی
✔️ در فایل requirements.txt گاهی اوقات از -r به همراه یک URL استفاده میشود تا به طور تکراری نیازمندیهای یک پروژه دیگر را در فایل خود نصب کنید. این کار میتواند برای جلوگیری از تکرار لیستهای بلند نیازمندیها و مدیریت وابستگیها به طور کارآمدتر مفید باشد.
نحوه عملکرد:
1. زمانی که pip دستور -r را همراه با URL دریافت میکند، به آن URL میرود و محتوای فایل requirements.txt موجود در آن آدرس را دانلود میکند.
2. سپس، pip تمام نیازمندیهای لیست شده در فایل دانلود شده را به همراه نیازمندیهای موجود در فایل requirements.txt خودتان نصب میکند.
مثال:
فرض کنید دو پروژه به نام project-a و project-b دارید. project-b به تعدادی از کتابخانهها که در project-a نیز استفاده میشوند، نیاز دارد. به جای لیست کردن تمام این کتابخانهها دوباره در project-b`، میتوانید از -r` برای نصب آنها از project-a استفاده کنید:
# project-b/requirements.txt
-r project-a/requirements.txt
# Additional project-b specific requirements
- other-library-1
- other-library-2
در این مثال، pip ابتدا تمام نیازمندیهای لیست شده در project-a/requirements.txt را نصب میکند و سپس other-library-1 و other-library-2 را که خاص project-b هستند، نصب میکند.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24😁13🤣3
✔️ تشخیص عدد زوج یا فرد در سطح باینری
▪️روش اول: بررسی بیت واحد: بیت کمارزش (بیت راستترین) عدد باینری را بررسی کنید.
اگر این بیت 0 باشد، عدد زوج است و اگر این بیت 1 باشد، عدد فرد است.
مثال:
✔️ عدد باینری 1010: بیت کمارزش 0 است، بنابراین عدد زوج است.
✔️ عدد باینری 1101: بیت کمارزش 1 است، بنابراین عدد فرد است.
▪️روش دوم: انجام عمل AND با 1: عدد باینری را با 1 (به صورت باینری) عمل AND کنید.
اگر نتیجه 0 باشد، عدد زوج است و اگر نتیجه 1 باشد، عدد فرد است.
مثال روش دوم در تصویر.
💻 @Teachify | برنامه نویسی
▪️روش اول: بررسی بیت واحد: بیت کمارزش (بیت راستترین) عدد باینری را بررسی کنید.
اگر این بیت 0 باشد، عدد زوج است و اگر این بیت 1 باشد، عدد فرد است.
مثال:
▪️روش دوم: انجام عمل AND با 1: عدد باینری را با 1 (به صورت باینری) عمل AND کنید.
اگر نتیجه 0 باشد، عدد زوج است و اگر نتیجه 1 باشد، عدد فرد است.
مثال روش دوم در تصویر.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
✔️ وبسایت هایی برای نمونه سوالات و تمرینات پایتون
1⃣ LeetCode:
https://leetcode.com/
🔢 HackerRank:
https://www.hackerrank.com/domains/tutorials/10-days-of-python
🔢 Codewars:
https://www.codewars.com/
🔢 Exercism
https://exercism.io/tracks/python/exercises
🔢 GeeksforGeeks:
https://www.geeksforgeeks.org/python-programming-language/
🔢 Project Euler:
https://projecteuler.net/
💻 @Teachify | برنامه نویسی
https://leetcode.com/
https://www.hackerrank.com/domains/tutorials/10-days-of-python
https://www.codewars.com/
https://exercism.io/tracks/python/exercises
https://www.geeksforgeeks.org/python-programming-language/
https://projecteuler.net/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4
✔️ دیتابیس ردیس چیست؟
ردیس (Redis) یک دیتابیس NoSQL متنباز و رایگان است که بر اساس مدل ذخیرهسازی کلید-مقدار (key-value) عمل میکند. این دیتابیس از انواع مختلفی از دادهها مانند رشتهها (string)، هشها (hash)، لیستها (list)، مجموعهها (set)، و مجموعههای مرتب (sorted set) پشتیبانی میکند. ردیس دادهها را به صورت درونحافظهای (in-memory) ذخیره میکند که این ویژگی باعث افزایش چشمگیر سرعت خواندن و نوشتن اطلاعات میشود. اگرچه ردیس بیشتر به عنوان حافظه نهان (cache) مورد استفاده قرار میگیرد، اما میتوان از آن به عنوان دیتابیس اصلی یا کارگزار پیام (message broker) نیز بهره برد.
❤️ @Teachify | برنامه نویسی
ردیس (Redis) یک دیتابیس NoSQL متنباز و رایگان است که بر اساس مدل ذخیرهسازی کلید-مقدار (key-value) عمل میکند. این دیتابیس از انواع مختلفی از دادهها مانند رشتهها (string)، هشها (hash)، لیستها (list)، مجموعهها (set)، و مجموعههای مرتب (sorted set) پشتیبانی میکند. ردیس دادهها را به صورت درونحافظهای (in-memory) ذخیره میکند که این ویژگی باعث افزایش چشمگیر سرعت خواندن و نوشتن اطلاعات میشود. اگرچه ردیس بیشتر به عنوان حافظه نهان (cache) مورد استفاده قرار میگیرد، اما میتوان از آن به عنوان دیتابیس اصلی یا کارگزار پیام (message broker) نیز بهره برد.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
print(type(aTuple[2:3])) —> for ex: aTuple = (1, 'Jhon', 1+3j)
Anonymous Quiz
19%
list
22%
Python Data Types
34%
tuple
25%
complex
👎2
توی پایتون و مبحث شی گرایی، اولویت با کدومه؟
Anonymous Quiz
63%
class attribute
37%
instance attribute
👍5
Forwarded from کالی بویز | ترفند | تکنولوژی
https://t.me/addlist/QC-qrEqfb2U1MmU0
➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
👌1👀1
✔️ مفهوم پلیمورفیسم یا چند ریختی در پایتون
در #پایتون، پلیمورفیسم (Polymorphism) یکی از اصول اصلی برنامهنویسی شیءگرا (Object-Oriented Programming) است که به معنای "چند ریختی" میباشد. پلیمورفیسم این امکان را میدهد که اشیاء مختلف بتوانند از طریق یک رابط یکسان استفاده شوند، حتی اگر این اشیاء از کلاسهای متفاوتی باشند.
به طور خلاصه، پلیمورفیسم به این معنی است که یک متد یا تابع میتواند بر روی اشیاء مختلفی از کلاسهای متفاوت عمل کند و بسته به نوع شیء، رفتار متفاوتی را اجرا کند. این قابلیت به کمک وراثت (Inheritance) و متدهای مشترک بین کلاسها محقق میشود.
مثال سادهای از پلیمورفیسم در پایتون:
در این مثال، کلاسهای
❤️ @Teachify | برنامه نویسی
در #پایتون، پلیمورفیسم (Polymorphism) یکی از اصول اصلی برنامهنویسی شیءگرا (Object-Oriented Programming) است که به معنای "چند ریختی" میباشد. پلیمورفیسم این امکان را میدهد که اشیاء مختلف بتوانند از طریق یک رابط یکسان استفاده شوند، حتی اگر این اشیاء از کلاسهای متفاوتی باشند.
به طور خلاصه، پلیمورفیسم به این معنی است که یک متد یا تابع میتواند بر روی اشیاء مختلفی از کلاسهای متفاوت عمل کند و بسته به نوع شیء، رفتار متفاوتی را اجرا کند. این قابلیت به کمک وراثت (Inheritance) و متدهای مشترک بین کلاسها محقق میشود.
مثال سادهای از پلیمورفیسم در پایتون:
class Cow:
def sound(self):
return "Moow"
class Cat:
def sound(self):
return "Meow"
def make_sound(animal):
return animal.sound()
cow = Cow()
cat = Cat()
print(make_sound(cow)) # خروجی: Moow
print(make_sound(cat)) # خروجی: Meow
در این مثال، کلاسهای
Cow و Cat هر دو متدی به نام sound دارند. تابع make_sound میتواند هر شیءای که دارای متد sound است را بپذیرد و متد مربوطه را فراخوانی کند. به این ترتیب، بدون اینکه نوع دقیق شیء را بدانیم، میتوانیم از یک رابط یکسان برای دسترسی به متدها استفاده کنیم. این قابلیت انعطافپذیری کد را افزایش میدهد و امکان توسعه و نگهداری آن را آسانتر میکند.Please open Telegram to view this post
VIEW IN TELEGRAM
👍8👌1
✔️ اورلودینگ (Overloading) در برنامه نویسی
اورلودینگ در برنامهنویسی شیءگرا به معنای تعریف چندین نسخه از یک تابع با نام یکسان ولی پارامترهای مختلف است. این ویژگی به ما اجازه میدهد تا توابعی با نام مشابه ولی با رفتارهای متفاوت بسته به ورودیهایشان داشته باشیم.
در پایتون، اورلودینگ به دو شکل میتواند اتفاق بیافتد: اورلودینگ متدها و اورلودینگ عملگرها. هر کدام از این موارد را به تفصیل توضیح میدهم.
1. اورلودینگ متدها
پایتون به طور پیشفرض از اورلودینگ متدها پشتیبانی نمیکند مانند زبانهایی مثل جاوا یا سیپلاسپلاس. اما میتوان با استفاده از تکنیکهایی این قابلیت را شبیهسازی کرد. معمولاً با بررسی تعداد و نوع پارامترهای ورودی درون یک متد، میتوان رفتارهای مختلفی را پیادهسازی کرد.
مثال:
2. اورلودینگ عملگرها
در پایتون، میتوانیم رفتار عملگرهای استاندارد (مثل +, -, *, == و ...) را برای اشیاء کلاسهای خود بازتعریف کنیم. این کار با استفاده از متدهای خاصی که با دابل آندر اسکور (__) شروع و پایان مییابند انجام میشود.
مثال:
در این مثال، عملگر + برای اشیاء کلاس Vector بازتعریف شده است تا امکان جمع دو بردار را فراهم کند.
### متدهای مخصوص اورلودینگ عملگرها
پایتون متدهای زیادی برای اورلودینگ عملگرها دارد. در زیر چند نمونه آوadd:
- add(self, other) برای +
- sub(self, other) برای -
- mul(self, other) برای *
- truediv(self, other) برای /
- eq(self, other) برای ==
- lt(self, other) برای <
- le(self, other) برای <=
این متدها به ما اجازه میدهند که رفتارهای خاصی برای عملگرها تعریف کنیم که با نوع خاصی از اشیاء کار کنند.
➖➖➖➖➖➖
💻 @Teachify | برنامه نویسی
اورلودینگ در برنامهنویسی شیءگرا به معنای تعریف چندین نسخه از یک تابع با نام یکسان ولی پارامترهای مختلف است. این ویژگی به ما اجازه میدهد تا توابعی با نام مشابه ولی با رفتارهای متفاوت بسته به ورودیهایشان داشته باشیم.
در پایتون، اورلودینگ به دو شکل میتواند اتفاق بیافتد: اورلودینگ متدها و اورلودینگ عملگرها. هر کدام از این موارد را به تفصیل توضیح میدهم.
1. اورلودینگ متدها
پایتون به طور پیشفرض از اورلودینگ متدها پشتیبانی نمیکند مانند زبانهایی مثل جاوا یا سیپلاسپلاس. اما میتوان با استفاده از تکنیکهایی این قابلیت را شبیهسازی کرد. معمولاً با بررسی تعداد و نوع پارامترهای ورودی درون یک متد، میتوان رفتارهای مختلفی را پیادهسازی کرد.
مثال:
class MathOperations:
def add(self, a, b, c=None):
if c is not None:
return a + b + c
else:
return a + b
math_op = MathOperations()
print(math_op.add(1, 2)) # خروجی: 3
print(math_op.add(1, 2, 3)) # خروجی: 6
2. اورلودینگ عملگرها
در پایتون، میتوانیم رفتار عملگرهای استاندارد (مثل +, -, *, == و ...) را برای اشیاء کلاسهای خود بازتعریف کنیم. این کار با استفاده از متدهای خاصی که با دابل آندر اسکور (__) شروع و پایان مییابند انجام میشود.
مثال:
class Vector:
def init(self, x, y):
self.x = x
self.y = y
def add(self, other):
return Vector(self.x + other.x, self.y + other.y)
def str(self):
return f"({self.x}, {self.y})"
v1 = Vector(2, 3)
v2 = Vector(5, 7)
v3 = v1 + v2
print(v3) # خروجی: (7, 10)
در این مثال، عملگر + برای اشیاء کلاس Vector بازتعریف شده است تا امکان جمع دو بردار را فراهم کند.
### متدهای مخصوص اورلودینگ عملگرها
پایتون متدهای زیادی برای اورلودینگ عملگرها دارد. در زیر چند نمونه آوadd:
- add(self, other) برای +
- sub(self, other) برای -
- mul(self, other) برای *
- truediv(self, other) برای /
- eq(self, other) برای ==
- lt(self, other) برای <
- le(self, other) برای <=
این متدها به ما اجازه میدهند که رفتارهای خاصی برای عملگرها تعریف کنیم که با نوع خاصی از اشیاء کار کنند.
➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
✔️ کاربرد yield در پایتون
کلمه کلیدی yield در پایتون برای ساخت توابع ژنراتور (generator functions) استفاده میشود. توابع ژنراتور نوع خاصی از توابع هستند که به جای بازگرداندن یک مجموعه مقادیر به طور کامل، مقادیر را به صورت یکی در میان و به صورت تنبل (lazy) تولید میکنند.
این قابلیت مزایای متعددی را به همراه دارد، از جمله:
▪️مصرف حافظه کمتر: توابع ژنراتور فقط مقدار مورد نیاز را در هر بار فراخوانی تولید میکنند، نه کل مجموعه را به طور کامل. این امر آنها را برای کار با مجموعه دادههای بزرگ یا نامحدود ایدهآل میکند.
▪️سادگی بیشتر: توابع ژنراتور را میتوان به روشی ساده و مختصر نوشت، بدون نیاز به مدیریت حافظه پیچیده.
▪️قابلیت ترکیب: توابع ژنراتور را میتوان به راحتی با سایر توابع و اشیاء ژنراتور ترکیب کرد، که آنها را برای ساخت خطوط لوله داده قدرتمند مفید میکند.
عملکرد yield به این صورت است که درون یک تابع ژنراتور، از کلمه کلیدی yield برای ارسال مقادیر به بیرون از تابع استفاده میشود. هر بار که yield فراخوانی میشود، تابع ژنراتور متوقف میشود و مقدار بعدی را ذخیره میکند.
هنگامی که از تابع ژنراتور با استفاده از یک حلقه for استفاده میشود، مقادیر ذخیره شده به ترتیب یکی پس از دیگری بازگردانده میشوند.
در اینجا چند نمونه از کاربردهای رایج yield در پایتون آورده شده است:
✔️ ایجاد توابع شمارش: توابع ژنراتور میتوانند برای ایجاد توابع شمارش ساده یا پیچیده استفاده شوند، مانند توابعی که اعداد زوج، اعداد فیبوناچی یا اعداد اول را تولید میکنند.
✔️ خواندن و پردازش فایلهای بزرگ: توابع ژنراتور میتوانند برای خواندن و پردازش فایلهای بزرگ به صورت خط به خط بدون نیاز به بارگذاری کل فایل در حافظه استفاده شوند.
✔️ ایجاد خطوط لوله داده: توابع ژنراتور میتوانند با سایر توابع و اشیاء ژنراتور برای ایجاد خطوط لوله داده قدرتمند برای پردازش دادهها به روشی کارآمد ترکیب شوند.
➖➖➖➖➖➖
💻 @Teachify | برنامه نویسی
کلمه کلیدی yield در پایتون برای ساخت توابع ژنراتور (generator functions) استفاده میشود. توابع ژنراتور نوع خاصی از توابع هستند که به جای بازگرداندن یک مجموعه مقادیر به طور کامل، مقادیر را به صورت یکی در میان و به صورت تنبل (lazy) تولید میکنند.
این قابلیت مزایای متعددی را به همراه دارد، از جمله:
▪️مصرف حافظه کمتر: توابع ژنراتور فقط مقدار مورد نیاز را در هر بار فراخوانی تولید میکنند، نه کل مجموعه را به طور کامل. این امر آنها را برای کار با مجموعه دادههای بزرگ یا نامحدود ایدهآل میکند.
▪️سادگی بیشتر: توابع ژنراتور را میتوان به روشی ساده و مختصر نوشت، بدون نیاز به مدیریت حافظه پیچیده.
▪️قابلیت ترکیب: توابع ژنراتور را میتوان به راحتی با سایر توابع و اشیاء ژنراتور ترکیب کرد، که آنها را برای ساخت خطوط لوله داده قدرتمند مفید میکند.
عملکرد yield به این صورت است که درون یک تابع ژنراتور، از کلمه کلیدی yield برای ارسال مقادیر به بیرون از تابع استفاده میشود. هر بار که yield فراخوانی میشود، تابع ژنراتور متوقف میشود و مقدار بعدی را ذخیره میکند.
هنگامی که از تابع ژنراتور با استفاده از یک حلقه for استفاده میشود، مقادیر ذخیره شده به ترتیب یکی پس از دیگری بازگردانده میشوند.
در اینجا چند نمونه از کاربردهای رایج yield در پایتون آورده شده است:
➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
✔️ انتقال #تجربه ...
من یه موس دارم که از سال 1392 که لپ تاپم رو گرفتم همراهش بود و من باهاش خیلی احساس راحتی میکنم.
اخیرا اسکرولش دیگه کار نمیکرد و این منو خیلی اذیت میکرد و به فکر یه موس دیگه بودم ...
امروز تصمیم گرفتم بازش کنم که نتیجه این شد🥹
الان باور کنید از روز اول هم روون تر شده :))
💻 @Teachify | برنامه نویسی
من یه موس دارم که از سال 1392 که لپ تاپم رو گرفتم همراهش بود و من باهاش خیلی احساس راحتی میکنم.
اخیرا اسکرولش دیگه کار نمیکرد و این منو خیلی اذیت میکرد و به فکر یه موس دیگه بودم ...
امروز تصمیم گرفتم بازش کنم که نتیجه این شد🥹
الان باور کنید از روز اول هم روون تر شده :))
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20😍6🤮1
✔️ انواع مختلف پایگاهدادهها (Databases)
1. پایگاهدادههای رابطهای (Relational Databases)
- مثالها: MySQL, PostgreSQL, Oracle, SQL Server
2. پایگاهدادههای NoSQL
- انواع مهم:
- پایگاهدادههای کلید-مقدار (Key-Value Stores)
- مثالها: Redis, DynamoDB
- پایگاهدادههای سندگرا (Document Stores)
- مثالها: MongoDB, CouchDB
- پایگاهدادههای ستون-محور (Column-Family Stores)
- مثالها: Cassandra, HBase
- پایگاهدادههای نموداری (Graph Databases)
- مثالها: Neo4j, ArangoDB
3. پایگاهدادههای مبتنی بر حافظه (In-Memory Databases)
- مثالها: Redis, Memcached
4. پایگاهدادههای شیگرا (Object-Oriented Databases)
- مثالها: db4o, ObjectDB
5. پایگاهدادههای توزیعی (Distributed Databases)
- مثالها: Apache Cassandra, CockroachDB
6. پایگاهدادههای مبتنی بر زمان (Time-Series Databases)
- مثالها: InfluxDB, TimescaleDB
7. پایگاهدادههای چندمدلی (Multi-Model Databases)
- مثالها: ArangoDB, OrientDB
هر یک از این انواع پایگاهدادهها دارای ویژگیها و کاربردهای خاصی هستند که آنها را برای برخی از پروژهها و نیازها مناسبتر میکند.
💻 @Teachify | برنامه نویسی
1. پایگاهدادههای رابطهای (Relational Databases)
- مثالها: MySQL, PostgreSQL, Oracle, SQL Server
2. پایگاهدادههای NoSQL
- انواع مهم:
- پایگاهدادههای کلید-مقدار (Key-Value Stores)
- مثالها: Redis, DynamoDB
- پایگاهدادههای سندگرا (Document Stores)
- مثالها: MongoDB, CouchDB
- پایگاهدادههای ستون-محور (Column-Family Stores)
- مثالها: Cassandra, HBase
- پایگاهدادههای نموداری (Graph Databases)
- مثالها: Neo4j, ArangoDB
3. پایگاهدادههای مبتنی بر حافظه (In-Memory Databases)
- مثالها: Redis, Memcached
4. پایگاهدادههای شیگرا (Object-Oriented Databases)
- مثالها: db4o, ObjectDB
5. پایگاهدادههای توزیعی (Distributed Databases)
- مثالها: Apache Cassandra, CockroachDB
6. پایگاهدادههای مبتنی بر زمان (Time-Series Databases)
- مثالها: InfluxDB, TimescaleDB
7. پایگاهدادههای چندمدلی (Multi-Model Databases)
- مثالها: ArangoDB, OrientDB
هر یک از این انواع پایگاهدادهها دارای ویژگیها و کاربردهای خاصی هستند که آنها را برای برخی از پروژهها و نیازها مناسبتر میکند.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣28😎2❤🔥1👍1
This media is not supported in your browser
VIEW IN TELEGRAM
✔️ اگه دنبال یه راه جذاب برای تقویت مهارتهای کدنویسی هستین، مخزن "App Ideas" توی گیتهاب رو از دست ندین!
این مخزن پر از ایدههای متنوع برای ساخت اپلیکیشنهای مختلفه، از مبتدی تا پیشرفته. هر پروژه با توضیحات کامل، اهداف و منابع مرتبط ارائه شده.
شما میتونید پروژههایی مثل ساختن یه اپ مدیریت وظایف، یه بازی ساده، یا حتی یه شبکه اجتماعی کوچیک رو اینجا پیدا کنید.
مخزن "App Ideas" عالیه برای کسایی که میخوان مهارتهاشون رو تقویت کنن، چیزهای جدید یاد بگیرن و نمونهکارهای جذاب به رزومهشون اضافه کنن.
📎 https://github.com/florinpop17/app-ideas
🆔 @Teachify | برنامه نویسی
این مخزن پر از ایدههای متنوع برای ساخت اپلیکیشنهای مختلفه، از مبتدی تا پیشرفته. هر پروژه با توضیحات کامل، اهداف و منابع مرتبط ارائه شده.
شما میتونید پروژههایی مثل ساختن یه اپ مدیریت وظایف، یه بازی ساده، یا حتی یه شبکه اجتماعی کوچیک رو اینجا پیدا کنید.
مخزن "App Ideas" عالیه برای کسایی که میخوان مهارتهاشون رو تقویت کنن، چیزهای جدید یاد بگیرن و نمونهکارهای جذاب به رزومهشون اضافه کنن.
🆔 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥6❤2
سلام دوستان! امروز میخوایم دربارهی یکی از پرکاربردترین فرمتهای تبادل داده، یعنی JSON، و نحوهی استفاده از اون در پایتون صحبت کنیم.
🔹جیسون (JSON) چیست؟
جیسون JSON (JavaScript Object Notation) یک فرمت سبک و استاندارد برای تبادل دادههاست که به راحتی توسط انسانها قابل خواندن و نوشتن است و به راحتی توسط ماشینها قابل تجزیه و تحلیل است. JSON معمولاً برای ارسال و دریافت دادهها بین سرورها و کلاینتها استفاده میشود.
🔹 دیتا تایپهای JSON:
1. آبجکت (Object): مشابه دیکشنری در پایتون.
{
"name": "Ali",
"age": 30
}
2. آرایه (Array): مشابه لیست در پایتون.
["apple", "banana", "cherry"]
3. رشته (String): مشابه رشته در پایتون.
"Hello, World!"
4. عددی (Number): شامل اعداد صحیح و اعشاری.
123
45.67
5. بولین (Boolean): شامل true و false.
true
false
6. نال (null): مشابه None در پایتون.
null
▪️ استفاده از JSON در پایتون:
برای کار با JSON در پایتون، میتونید از ماژول
json استفاده کنید. دو تابع اصلی در این ماژول وجود داره: json.dumps() برای تبدیل یک آبجکت پایتون به رشته JSON و json.loads() برای تبدیل رشته JSON به یک آبجکت پایتون.1. تبدیل آبجکت پایتون به JSON:
import json
data = {
"name": "Ali",
"age": 30,
"is_student": False
}
json_data = json.dumps(data)
print(json_data) # خروجی: {"name": "Ali", "age": 30, "is_student": false}
2. تبدیل JSON به آبجکت پایتون:
import json
json_data = '{"name": "Ali", "age": 30, "is_student": false}'
data = json.loads(json_data)
print(data) # خروجی: {'name': 'Ali', 'age': 30, 'is_student': False}
با استفاده از این توابع، به راحتی میتونید دادهها رو بین فرمت JSON و پایتون تبدیل کنید و در پروژههای خودتون استفاده کنید.
#Python #JSON #Programming
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2
✔️ موقع تبدیل داده های جیسون به پایتون و برعکس دیتاتایپ ها به این صورت تغییر پیدا میکنند.
❤️ @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👌9❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣41👍3