برای موفق شدن 🌱 با این عبارت خداحافظی کن: "باشه فردا"🍃 💻 برای دسترسی راحت تر به مطالب به "لیست پین شده" برو🙃 👩💻 Support: @narges_madhi 🪧 ads: @teachifyads 💁♀️ instagram : instagram.com/teachify_ir
✔️ اگه دنبال یه راه جذاب برای تقویت مهارتهای کدنویسی هستین، مخزن "App Ideas" توی گیتهاب رو از دست ندین!
این مخزن پر از ایدههای متنوع برای ساخت اپلیکیشنهای مختلفه، از مبتدی تا پیشرفته. هر پروژه با توضیحات کامل، اهداف و منابع مرتبط ارائه شده.
شما میتونید پروژههایی مثل ساختن یه اپ مدیریت وظایف، یه بازی ساده، یا حتی یه شبکه اجتماعی کوچیک رو اینجا پیدا کنید.
مخزن "App Ideas" عالیه برای کسایی که میخوان مهارتهاشون رو تقویت کنن، چیزهای جدید یاد بگیرن و نمونهکارهای جذاب به رزومهشون اضافه کنن.
📎 https://github.com/florinpop17/app-ideas
🆔 @Teachify | برنامه نویسی
✔️ انواع مختلف پایگاهدادهها (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 | برنامه نویسی
✔️ کاربرد yield در پایتون
کلمه کلیدی yield در پایتون برای ساخت توابع ژنراتور (generator functions) استفاده میشود. توابع ژنراتور نوع خاصی از توابع هستند که به جای بازگرداندن یک مجموعه مقادیر به طور کامل، مقادیر را به صورت یکی در میان و به صورت تنبل (lazy) تولید میکنند.
این قابلیت مزایای متعددی را به همراه دارد، از جمله:
▪️مصرف حافظه کمتر: توابع ژنراتور فقط مقدار مورد نیاز را در هر بار فراخوانی تولید میکنند، نه کل مجموعه را به طور کامل. این امر آنها را برای کار با مجموعه دادههای بزرگ یا نامحدود ایدهآل میکند.
▪️سادگی بیشتر: توابع ژنراتور را میتوان به روشی ساده و مختصر نوشت، بدون نیاز به مدیریت حافظه پیچیده.
▪️قابلیت ترکیب: توابع ژنراتور را میتوان به راحتی با سایر توابع و اشیاء ژنراتور ترکیب کرد، که آنها را برای ساخت خطوط لوله داده قدرتمند مفید میکند.
عملکرد yield به این صورت است که درون یک تابع ژنراتور، از کلمه کلیدی yield برای ارسال مقادیر به بیرون از تابع استفاده میشود. هر بار که yield فراخوانی میشود، تابع ژنراتور متوقف میشود و مقدار بعدی را ذخیره میکند.
هنگامی که از تابع ژنراتور با استفاده از یک حلقه for استفاده میشود، مقادیر ذخیره شده به ترتیب یکی پس از دیگری بازگردانده میشوند.
در اینجا چند نمونه از کاربردهای رایج yield در پایتون آورده شده است:
✔️ایجاد توابع شمارش: توابع ژنراتور میتوانند برای ایجاد توابع شمارش ساده یا پیچیده استفاده شوند، مانند توابعی که اعداد زوج، اعداد فیبوناچی یا اعداد اول را تولید میکنند.
✔️خواندن و پردازش فایلهای بزرگ: توابع ژنراتور میتوانند برای خواندن و پردازش فایلهای بزرگ به صورت خط به خط بدون نیاز به بارگذاری کل فایل در حافظه استفاده شوند.
✔️ایجاد خطوط لوله داده: توابع ژنراتور میتوانند با سایر توابع و اشیاء ژنراتور برای ایجاد خطوط لوله داده قدرتمند برای پردازش دادهها به روشی کارآمد ترکیب شوند.
➖➖➖➖➖➖
💻 @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
است را بپذیرد و متد مربوطه را فراخوانی کند. به این ترتیب، بدون اینکه نوع دقیق شیء را بدانیم، میتوانیم از یک رابط یکسان برای دسترسی به متدها استفاده کنیم. این قابلیت انعطافپذیری کد را افزایش میدهد و امکان توسعه و نگهداری آن را آسانتر میکند.✔️ دیتابیس ردیس چیست؟
ردیس (Redis) یک دیتابیس NoSQL متنباز و رایگان است که بر اساس مدل ذخیرهسازی کلید-مقدار (key-value) عمل میکند. این دیتابیس از انواع مختلفی از دادهها مانند رشتهها (string)، هشها (hash)، لیستها (list)، مجموعهها (set)، و مجموعههای مرتب (sorted set) پشتیبانی میکند. ردیس دادهها را به صورت درونحافظهای (in-memory) ذخیره میکند که این ویژگی باعث افزایش چشمگیر سرعت خواندن و نوشتن اطلاعات میشود. اگرچه ردیس بیشتر به عنوان حافظه نهان (cache) مورد استفاده قرار میگیرد، اما میتوان از آن به عنوان دیتابیس اصلی یا کارگزار پیام (message broker) نیز بهره برد.
❤️ @Teachify | برنامه نویسی
✔️ تشخیص عدد زوج یا فرد در سطح باینری
▪️روش اول: بررسی بیت واحد: بیت کمارزش (بیت راستترین) عدد باینری را بررسی کنید.
اگر این بیت 0 باشد، عدد زوج است و اگر این بیت 1 باشد، عدد فرد است.
مثال:
✔️عدد باینری 1010: بیت کمارزش 0 است، بنابراین عدد زوج است.
✔️عدد باینری 1101: بیت کمارزش 1 است، بنابراین عدد فرد است.
▪️روش دوم: انجام عمل AND با 1: عدد باینری را با 1 (به صورت باینری) عمل AND کنید.
اگر نتیجه 0 باشد، عدد زوج است و اگر نتیجه 1 باشد، عدد فرد است.
مثال روش دوم در تصویر.
💻 @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
✔️ 2 مدل مصاحبه ای که توی استخدام شرکت ها باهاش رو به رو میشید
1⃣ مصاحبههای فنی:
تمرکز این نوع مصاحبه بر روی ارزیابی دانش، مهارت و تجربه شما در زمینهی مربوط به شغل مورد نظره.
این نوع مصاحبه معمولاً توسط متخصصان در اون حوزه انجام میشه و سوالات تخصصیتر و چالشبرانگیزتری رو شامل میشه.
برای مثال، در یه مصاحبه فنی برای شغل برنامهنویسی، ممکنه از شما سوالاتی در مورد زبانهای برنامهنویسی، الگوریتمها، ساختار دادهها و ... پرسیده بشه.
🔢 مصاحبههای HR یا Human Resources:
تمرکز این نوع مصاحبه بر روی ارزیابی تناسب شما با فرهنگ سازمانی شرکت، شخصیت، انگیزهها و ... شماست.
این نوع مصاحبه معمولاً توسط کارکنان بخش منابع انسانی (HR) یا مدیران شرکت انجام میشه و سوالات کلیتر و غیرتخصصیتری رو شامل میشه.
برای مثال، در یه مصاحبه HR، ممکنه از شما سوالاتی در مورد نقاط قوت و ضعف، اهداف شغلی، تجربه تیمی و ... پرسیده بشه.
💻 @Teachify | برنامه نویسی
✔️ تراکنش در پایگاه داده (Transaction)
در پایگاه داده، یک تراکنش به مجموعهای از عملیات گفته میشود که به صورت یک واحد منطقی انجام میشوند. این عملیات میتوانند شامل خواندن، نوشتن، بروزرسانی یا حذف دادهها باشند. تراکنشها برای حفظ یکپارچگی و صحت دادهها در پایگاه داده بسیار مهم هستند.
▪️یک تراکنش باید دارای چهار ویژگی اصلی باشد که به عنوان خواص ACID شناخته میشوند:
✔️اتمیک (Atomicity): یا همه یا هیچ. یک تراکنش باید به طور کامل انجام شود یا به طور کامل لغو شود.
✔️سازگار (Consistency): یک تراکنش باید پایگاه داده را از یک حالت سازگار به حالت سازگار دیگر منتقل کند.
✔️تفکیک شده (Isolation): تراکنشها باید از یکدیگر مستقل باشند و تداخلی با یکدیگر نداشته باشند.
✔️دایمی (Durability): پس از انجام یک تراکنش، تغییرات آن باید به طور دائمی در پایگاه داده ذخیره شوند.
مثال: فرض کنید میخواهید پول از حساب خود به حساب دوستتان منتقل کنید. این فرآیند به عنوان یک تراکنش در نظر گرفته میشود. این تراکنش شامل چندین عملیات است که باید به طور کامل انجام شوند:
برداشت پول از حساب شما: این عملیات باید با موفقیت انجام شود، در غیر این صورت تراکنش باید لغو شود.
واریز پول به حساب دوستتان: این عملیات نیز باید با موفقیت انجام شود، در غیر این صورت تراکنش باید لغو شود.
اگر در هر مرحله از این فرآیند مشکلی پیش بیاید، تراکنش لغو میشود و هیچ تغییری در حسابها ایجاد نمیشود.
📱 @Teachify | برنامه نویسی
وقتی تک لید شرکت تویی و دولوپرها یه کاری کردن که برنامه به ارور 500 خورده!
- نه عزیزم، خطای 500 اشکالی نداره، تا چند دقیقه دیگه میرسم باهم حلش کنیم.
💻 @Teachify | برنامه نویسی
🐧 انتخاب بهترین محیط کار لینوکس
بهترین محیط کار لینوکس برای شما به نیازها و ترجیحاتتان بستگی دارد. در اینجا چند مورد از محبوبترین محیطهای کار لینوکس به همراه ویژگیهایشان آورده شده است:
1⃣ محیط GNOME (Gnome 3)
✔️مزایا: رابط کاربری مدرن و مینیمالیستی، کاربری آسان، پشتیبانی از طیف گستردهای از برنامهها، بهروزرسانیهای منظم
✔️معایب: پیچیدگی در برخی از تنظیمات، ممکن است برای کاربران مبتدی کمی گیجکننده باشد
🔢 محیط KDE Plasma
✔️مزایا: قابل تنظیم و شخصیسازی، رابط کاربری قدرتمند، مناسب برای کاربران حرفهای
✔️معایب: مصرف منابع سیستم بیشتر نسبت به برخی از محیطهای دیگر، منحنی یادگیری کمی تندتر
🔢 محیط Cinnamon
✔️مزایا: رابط کاربری سنتی و آشنا، کاربری آسان، مناسب برای کاربران مبتدی
✔️معایب: بهروزرسانیها به اندازه GNOME و KDE سریع نیست، ممکن است به اندازه برخی از محیطهای دیگر قدرتمند نباشد
🔢 محیط XFCE
✔️مزایا: سبک و کمحجم، سریع و کارآمد، مناسب برای سیستمهای قدیمیتر
✔️معایب: رابط کاربری کمی قدیمی، ممکن است به اندازه برخی از محیطهای دیگر از نظر بصری جذاب نباشد
🔢 محیط LXDE
✔️مزایا: بسیار سبک و کمحجم، ایدهآل برای سیستمهای با منابع محدود
✔️معایب: رابط کاربری ساده و پایه، ممکن است به اندازه برخی از محیطهای دیگر از نظر ظاهری جذاب و یا دارای امکانات نباشد
💻 @Teachify | برنامه نویسی
✔️ یعنی منم میتونم اولین تجربه برنامه نویسیم رو توی یک شرکت کسب کنم؟
پ.ن: من برنامه نویسی رو خودآموز یاد گرفتم و اولین تجربه ارسال رزومه ام بود. امیدوارم بتونم از پسش بربیام.
💻 @Teachify | برنامه نویسی
✔️ ترتیب سطوح شغلی در برنامهنویسی
▪️ جونیور (Junior): برنامهنویس جونیور فردی است که در ابتدای مسیر شغلی خود قرار دارد و تجربه کار عملی محدودی دارد. این افراد معمولا بر روی وظایف پایه و جزئی در پروژهها کار میکنند و تحت نظارت و راهنمایی برنامهنویسان باتجربهتر (میدلول یا سنیور) قرار دارند.
▪️ میدلول (Mid-Level): برنامهنویس میدلول دارای تجربه و دانش کافی برای انجام وظایف مستقل و پیچیدهتر در پروژهها است. این افراد میتوانند به عنوان راهنما و منتور برای برنامهنویسان جونیور عمل کنند و در حل مشکلات و چالشهای فنی پروژهها مشارکت فعال داشته باشند.
▪️ سنیور (Senior): برنامهنویس سنیور فردی با تجربه و دانش عمیق در حوزه برنامهنویسی است. این افراد میتوانند پروژههای پیچیده را رهبری و مدیریت کنند، الگوریتمهای پیچیده را طراحی و پیادهسازی کنند و به عنوان متخصص در حوزه تخصصی خود به دیگران مشاوره ارائه دهند.
▪️ تک لید (Tech Lead): تک لید فردی متخصص و باتجربه است که رهبری تیم فنی یک پروژه یا شرکت را بر عهده دارد. وظایف تک لید شامل برنامهریزی و مدیریت پروژههای فنی، تعیین وظایف و مسئولیتهای اعضای تیم، حل مشکلات فنی پیچیده و ارائه مشاوره فنی به سایر اعضای تیم میشود.
💻 @Teachify | برنامه نویسی
✔️ عددهای توی ریلیز یک برنامه چه معنی دارن؟
مثلا برای پایتون: 3.12.1
3: این عدد نسخه اصلی (major version) پایتونه. نسخههای اصلی معرف تغییرات بزرگ و اساسی در زبان برنامهنویسی هستن.
12: این عدد نسخه فرعی (minor version) هست. نسخههای فرعی شامل مجموعهای از ویژگیهای جدید، بهبودها و رفع باگهای مرتبط با نسخه اصلی هستن.
1: عدد آخر، نسخه وصله (patch version) رو نشون میده. این نسخهها معمولا فقط شامل رفع باگهای جزئی هستن.
💻 @Teachify | برنامه نویسی
✔️ دوستانی که Notcoin ماین میکردن و دوستانی که وارد پروژه ناتکوین نشدن حالا به هر دلیلی...
پروژه تیم Solana که TapSwap نام داره رو از دست ندید دقیقا مثل ناتکوینه و باید با کلیک کردن ماین کنید و تفاوتی که داره اینه که باگ های ناتکوین رو گرفتن، خیلی رَوون تره و کِرَش نمیکنه دیگه، مخصوصا توی گوشی های قدیمی تر...
➖ روی رباتش بزنید و ماین کردن رو شروع کنید.
🤖 @tapswap_bot
✔️ وقتی یه فرانت کار میخواد رمز strong انتخاب کنه :))
#fun #فان
💻@Teachify | برنامه نویسی
✔️ انتقال #تجربه ...
من یه موس دارم که از سال 1392 که لپ تاپم رو گرفتم همراهش بود و من باهاش خیلی احساس راحتی میکنم.
اخیرا اسکرولش دیگه کار نمیکرد و این منو خیلی اذیت میکرد و به فکر یه موس دیگه بودم ...
امروز تصمیم گرفتم بازش کنم که نتیجه این شد🥹
الان باور کنید از روز اول هم روون تر شده :))
💻@Teachify | برنامه نویسی
✔️ اورلودینگ (Overloading) در برنامه نویسی
اورلودینگ در برنامهنویسی شیءگرا به معنای تعریف چندین نسخه از یک تابع با نام یکسان ولی پارامترهای مختلف است. این ویژگی به ما اجازه میدهد تا توابعی با نام مشابه ولی با رفتارهای متفاوت بسته به ورودیهایشان داشته باشیم.
در پایتون، اورلودینگ به دو شکل میتواند اتفاق بیافتد: اورلودینگ متدها و اورلودینگ عملگرها. هر کدام از این موارد را به تفصیل توضیح میدهم.
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
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)
📢 تپ سواپ قراره ۲۵ روز دیگه توی بایننس لیست بشه، اگه نات کوین نداشتی میتونی اینو استارک کنی!
📎 لینک ربات:
➡️ @Tapswap
🔥 ادد لیست کانال های ربات برای گرفتن جایزه و طی کردن مراحلش:
/channel/addlist/QC-qrEqfb2U1MmU0
➖➖➖➖➖➖
💻 @kaliboys | کالی بویز
✔️ وبسایت هایی برای نمونه سوالات و تمرینات پایتون
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 | برنامه نویسی
✔️ این میتونه تابع بازگشتی باشه 😂
#فان #fun
💻 @Teachify | rezadolati
☝️ انواع لایسنسهای رایج در پروژههای نرمافزاری
در دنیای توسعه نرمافزار، لایسنسها نقش مهمی در تعیین نحوه استفاده، توزیع و تغییر کد توسط دیگران ایفا میکنند. هر لایسنس مجموعهای از شرایط و ضوابط را ارائه میدهد که به کاربران حقوق و تعهدات خاصی را در قبال نرمافزار اعطا میکند.
▪️لایسنسMIT: این لایسنس یکی از سادهترین و پرکاربردترین لایسنسهای متنباز است. به کاربران اجازه میدهد تا آزادانه از نرمافزار در هر برنامهای، حتی برنامههای تجاری، استفاده، تغییر و توزیع کنند. تنها شرط این است که آنها باید حق نسخهبرداری و مجوز را در تمام نسخههای کپیشده نرمافزار حفظ کنند.
▪️لایسنس GPL (General Public License): این لایسنس قویتر از MIT است و به اصطلاح "کپیلفت" است. به این معنی که هر نسخهای از نرمافزار که تحت GPL منتشر میشود باید تحت همان لایسنس یا لایسنس سازگار دیگری مجوز داشته باشد. این امر برای اطمینان از اینکه همه کاربران به همان آزادیهایی که توسعهدهنده اصلی اعطا کرده است دسترسی داشته باشند، مهم است.
▪️لایسنس Apache License: این لایسنس شبیه به MIT است، اما برخی از الزامات اضافی را برای محافظت از توسعهدهندگان در برابر دعاوی حقوقی اعمال میکند.
▪️لایسنس BSD: این خانواده از لایسنسها شبیه به MIT هستند، اما تنوع بیشتری دارند. برخی از لایسنسهای BSD الزامات کمتری نسبت به MIT دارند، در حالی که برخی دیگر الزامات بیشتری دارند.
▪️لایسنس Creative Commons: این لایسنسها بیشتر برای محتوای خلاقانه مانند تصاویر، موسیقی و متن استفاده میشوند. آنها طیف وسیعی از مجوزها را ارائه میدهند که به کاربران سطوح مختلفی از اجازه برای استفاده، تغییر و توزیع محتوا را میدهند.
▪️لایسنس Beerware: این یک لایسنس غیررسمی و طنزآمیز است که به کاربران اجازه میدهد از نرمافزار به صورت رایگان استفاده کنند، اما آنها را تشویق میکند تا در صورت قدردانی از آن، به توسعهدهنده یک نوشیدنی بخرند.
💻 @Teachify | برنامه نویسی
📶 وای فای رایگان فقط این! بقیه اداشو در میارن :))
#فان
💻 @Teachify | برنامه نویسی
✔️ اره بابا ریسپانسیو بلدم!
- اینم طراحی ریسپانسیوش :))
📱 @Teachify | برنامه نویسی
✔️ این تصویر چقدر حق بود!
💻 @Teachify | برنامه نویسی
✔️ #دیتابیس های رابطهای و NoSQL
▪️دیتابیس های رابطهای (Relational Databases) از رایجترین و محبوبترین مدلهای پایگاه داده هستند. این مدل دادهها را در قالب جداول ذخیره میکند و روابط بین جداول را با کلیدهای خارجی (Foreign Keys) تعریف میکند.
▪️دیتابیس های NoSQL مخفف "Not only SQL" یا "غیر SQL" است و به دسته ای از پایگاههای داده اطلاق میشود که از ساختارهای غیر رابطهای برای ذخیرهسازی دادهها استفاده میکنند. برخلاف پایگاههای داده رابطهای که دادهها را در قالب جداول ذخیره میکنند، NoSQL از مدلهای مختلفی مانند سند، گراف، کلید-مقدار و ستونهای عریض برای ذخیرهسازی دادهها استفاده میکند.
1⃣ دیتابیس های رابطهای
☑️ دادهها را در قالب جداول ذخیره میکنند.
☑️ از ساختارهای منظم و تعریفشده استفاده میکنند.
☑️کاربرد: مناسب برای ذخیرهسازی دادههای ساختاردهی شده مانند اطلاعات مربوط به مشتریان، سفارشات، موجودی انبار و غیره.
☑️نمونه: MySQL، PostgreSQL، Oracle Database
🔢 دیتابیس های NoSQL
☑️از ساختارهای غیر رابطهای برای ذخیرهسازی دادهها استفاده میکند.
☑️مدلهای مختلفی مانند سند، گراف، کلید-مقدار و ستونهای عریض دارد.
☑️کاربرد: مناسب برای ذخیرهسازی دادههای ساختاردهی نشده یا نیمهساختاردهی شده مانند پستهای شبکههای اجتماعی، دادههای حسگرها و غیره.
☑️نمونه: MongoDB، Cassandra، Redis، Neo4j
💻 @Teachify | برنامه نویسی
- خوش بحالت که برنامه نویسی، میشینی تو خونه چهارتا خط کد مینویسی کلی پول درمیاری
یه روز عادی برنامه نویسا:
💻 @Teachify | برنامه نویسی
دیدین چی شد بچه ها؟ دیگه ویزای تهران نمیخوان بهمون بدن. ماهایی هم که این سعادت نصیبمون شده بود رو میخوان دیپورت کنن.
انگار ما عقلمون کمه که در حالیکه میتونیم با همین درآمد تو شهر خودمون کار کنیم، اجاره ندیم، وقتی میایم خونه غذامون آماده باشه، اما بریم زیر بار این همه فشار و مسولیت.
جای شما رو هم ما تنگ نکردیم، عدم داشتن مهارت کافی و پشتکار باعث شده جایی تو بازار کار نداشته باشی.
پ.ن: دوستان به نظر شما چی باید به ایشون گفت؟
💻 @Teachify | MahsaAmiri
📢 ادد لیست کانال های ربات برای طی کردن مراحلش:
/channel/addlist/QC-qrEqfb2U1MmU0
✔️ شما چطوری کد میزنید؟
💻 @Teachify | برنامه نویسی