Forwarded from کاف
👍1😁1
❔ پروتکل OAuth چیه؟
پروتکل OAuth یک پروتکل امنیتی هست که به شما این امکان رو میده که بدون به اشتراک گذاشتن پسوردتون، به سرویسهای مختلف دسترسی پیدا کنید. 🔐
برای مثال، وقتی وارد یک سایت میشید با حساب گوگل، گیتهاب یا فیسبوک، فقط به اطلاعاتی که خودتون اجازه دادید دسترسی میده و نیازی به پسورد شما نیست. 🔐
این پروتکل بهویژه برای احراز هویت در اپلیکیشنهای موبایل و وب استفاده میشه، به طوری که به جای وارد کردن پسورد، از توکنها برای دسترسی امن به منابع استفاده میکنید. 🔒
@softwrteach
--------‐----------------
🌐💻
پروتکل OAuth یک پروتکل امنیتی هست که به شما این امکان رو میده که بدون به اشتراک گذاشتن پسوردتون، به سرویسهای مختلف دسترسی پیدا کنید. 🔐
برای مثال، وقتی وارد یک سایت میشید با حساب گوگل، گیتهاب یا فیسبوک، فقط به اطلاعاتی که خودتون اجازه دادید دسترسی میده و نیازی به پسورد شما نیست. 🔐
این پروتکل بهویژه برای احراز هویت در اپلیکیشنهای موبایل و وب استفاده میشه، به طوری که به جای وارد کردن پسورد، از توکنها برای دسترسی امن به منابع استفاده میکنید. 🔒
@softwrteach
--------‐----------------
🌐💻
👍1
Forwarded from Fara Code | برنامه نویسی (M.z)
SQL vs MySQL
وقتی بحث دیتابیس وسط میاد، خیلیا این دو تا رو(SQL ,MySQL) یکی میدونن ولی در واقع این دوتا دو چیز کاملا متفاوتن...
●خوب Sql یه زبان استاندارِ که برای مدیریت و دستکاری دیتابیس های رابطه ای استفاده میشن،در کل یعنی میتونیم رو داده ها عملیات crud رو انجام بدیم بعلاوه میتونیم اطلاعات رو بازیابی کنیم.
● ولی MySQL یه سیستم مدیریت دیتابیس که به ما اجازه عملیات crud و مدیریت داده ها رو میده.
بخوایم یه مثال بزنیم میتونیم بگیم
کهSQL مثل دستور آشپزی هستش که نحوه پخت غذا رو توضیح میده..
و MySQL یک آشپزخونس که غذارو داخلش میپزیم ..
ویژگی های SQL:
۱ یه زبان برای کار با دیتابیسهاست.
۲ به هیچ سیستم خاصی وابسته نیست.
۳ روی دیتابیسهای مختلف مثلPostgrSQL و SQL Server هم کار میکنه.
۴ فقط دستورات و قواعد دیتابیس رو تعریف میکنه.
ویژگی های MySQL:
۱ یه نرمافزار دیتابیس (DBMS) که از SQL استفاده میکن
۲ یه نوع خاص از سیستمهای مدیریت دیتابیس رابطهای (RDBMS) هست.
۳ فقط مربوط به خود MySQL هست.
۴ یه ابزار واقعی برای ذخیره و مدیریت دادههاست.
@Learrning_Python
وقتی بحث دیتابیس وسط میاد، خیلیا این دو تا رو(SQL ,MySQL) یکی میدونن ولی در واقع این دوتا دو چیز کاملا متفاوتن...
●خوب Sql یه زبان استاندارِ که برای مدیریت و دستکاری دیتابیس های رابطه ای استفاده میشن،در کل یعنی میتونیم رو داده ها عملیات crud رو انجام بدیم بعلاوه میتونیم اطلاعات رو بازیابی کنیم.
● ولی MySQL یه سیستم مدیریت دیتابیس که به ما اجازه عملیات crud و مدیریت داده ها رو میده.
بخوایم یه مثال بزنیم میتونیم بگیم
کهSQL مثل دستور آشپزی هستش که نحوه پخت غذا رو توضیح میده..
و MySQL یک آشپزخونس که غذارو داخلش میپزیم ..
ویژگی های SQL:
۱ یه زبان برای کار با دیتابیسهاست.
۲ به هیچ سیستم خاصی وابسته نیست.
۳ روی دیتابیسهای مختلف مثلPostgrSQL و SQL Server هم کار میکنه.
۴ فقط دستورات و قواعد دیتابیس رو تعریف میکنه.
ویژگی های MySQL:
۱ یه نرمافزار دیتابیس (DBMS) که از SQL استفاده میکن
۲ یه نوع خاص از سیستمهای مدیریت دیتابیس رابطهای (RDBMS) هست.
۳ فقط مربوط به خود MySQL هست.
۴ یه ابزار واقعی برای ذخیره و مدیریت دادههاست.
@Learrning_Python
👍2
Forwarded from Fara Code | برنامه نویسی (M.z)
دکوراتور ها در پایتون
تا حالا شده بخوای بدون تغییر در ساختار اصلی یه تابع، یه قابلیت جدید بهش اضافه کنی؟
مثلاً یه لاگ بگیری، زمان اجراشو حساب کنی، یا قبل از اجراش چک کنی که ورودیهاش معتبرن یا نه؟
اینجاست که دکوراتورها (Decorators) وارد میشن!
دکوراتور یه تابعی هست که یه تابع دیگه رو میگیره، پردازشهایی روش انجام میده و در نهایت یه نسخه جدید از اون تابع رو برمیگردونه و باعث افزایش خوانایی و بهینهسازی کد میشن.
🎯 چند کاربرد معروف دکوراتورها
1 ثبت لاگها: بررسی این که چه زمانی یه تابع اجرا شده
2 کنترل سطح دسترسی: چک کردن اینکه کاربر مجوز لازم داره یا نه
3 کش کردن: ذخیره نتایج برای بهینهسازی اجراهای بعدی
🔍 مثال:
اندازهگیری زمان اجرای تابع:
📌 خروجی:
🎯 چرا از دکوراتورها استفاده کنیم؟
کد رو تمیزتر و خواناتر میکنه
بدون تغییر در توابع، ویژگیهای جدید اضافه میکنیم
قابلیت استفاده مجدد از کد رو افزایش میده
تا حالا از دکوراتور ها استفاده کردید؟
#python
@Learrning_Python
تا حالا شده بخوای بدون تغییر در ساختار اصلی یه تابع، یه قابلیت جدید بهش اضافه کنی؟
مثلاً یه لاگ بگیری، زمان اجراشو حساب کنی، یا قبل از اجراش چک کنی که ورودیهاش معتبرن یا نه؟
اینجاست که دکوراتورها (Decorators) وارد میشن!
دکوراتور یه تابعی هست که یه تابع دیگه رو میگیره، پردازشهایی روش انجام میده و در نهایت یه نسخه جدید از اون تابع رو برمیگردونه و باعث افزایش خوانایی و بهینهسازی کد میشن.
🎯 چند کاربرد معروف دکوراتورها
1 ثبت لاگها: بررسی این که چه زمانی یه تابع اجرا شده
2 کنترل سطح دسترسی: چک کردن اینکه کاربر مجوز لازم داره یا نه
3 کش کردن: ذخیره نتایج برای بهینهسازی اجراهای بعدی
🔍 مثال:
اندازهگیری زمان اجرای تابع:
Copy
Edit
import time
def timer_decorator(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
print(f" runtime : {end_time - start_time:.5f} sec")
return result
return wrapper
@timer_decorator
def heavy_function():
time.sleep(2)
print(" function is run")
heavy_function()
📌 خروجی:
function is run
runtime: 2.00012 sec
🎯 چرا از دکوراتورها استفاده کنیم؟
کد رو تمیزتر و خواناتر میکنه
بدون تغییر در توابع، ویژگیهای جدید اضافه میکنیم
قابلیت استفاده مجدد از کد رو افزایش میده
تا حالا از دکوراتور ها استفاده کردید؟
#python
@Learrning_Python
خووب
امروز یه مبحثک میخوایم استارتشو بزنیم که به نظرم خیلی نیاز و تقریبا هرکی که برنامه نویسی میکنه باهاش سر و کله میزنه
و قراره به صورت تخصصی از صفر براش محتوا تولید کنیم
البته بگم که این به این معنی نیس که همه مطالبو میگیم و کامل کامله...
این مطالب کلیاتی رو پوشش میده و میتونید منابع زیادی رو بعد از اون بخونید (حالا در ادامه منابعی رو خدمتتون معرفی میکنم)
قبل از شروع:
محتوا به صورت متنی است البته بعضی جاها نیاز باشه عکس و ویدیوم میگیرم
#git
امروز یه مبحثک میخوایم استارتشو بزنیم که به نظرم خیلی نیاز و تقریبا هرکی که برنامه نویسی میکنه باهاش سر و کله میزنه
و قراره به صورت تخصصی از صفر براش محتوا تولید کنیم
البته بگم که این به این معنی نیس که همه مطالبو میگیم و کامل کامله...
این مطالب کلیاتی رو پوشش میده و میتونید منابع زیادی رو بعد از اون بخونید (حالا در ادامه منابعی رو خدمتتون معرفی میکنم)
قبل از شروع:
محتوا به صورت متنی است البته بعضی جاها نیاز باشه عکس و ویدیوم میگیرم
#git
Forwarded from Python Hints
گفتم سال جدیدی یک لیستی از چیزهایی که یک
نکته مهم : من ۹۹.۹٪ وقتا فقط
۱- یک سری چیزها هست که شما باید بلد باشی ربطی به جنگو هم نداره؛ اگر میخوای پیشرفت کنی باید بتونی با اینا کار کنی:
بعضی وقتا
درحد
اگر تاحالا با
باقی موارد رو ولی کم کم یادبگیرید؛ کمی یادگیری - بعد تمرین یا استفاده توی پروژه - به چالش و مشکل خوردن - دوباره یادگیری (ادامه یادگیری) و اینکار رو تکرار کنید.
یادبگیرید هر کدوم از موارد بالا چه زمانی استفاده میشه و برای چه کاری این موضوع خیلی مهم هست؛ کی باید استفاده کنید و کی نباید استفاده کنید.
اما برای خود
استاندارد لاگ نویسی هم که درموردش قبلا یک صحبتی داشتیم اون حداقلش هست و بهترش اینه که به ابزارهای موجود وصل بشه.
یک سری چیزا هم توی خود
واسه همه اینها توی سطوح مختلف کلی ویدئو یوتیوب هست و برای مواردی هم که نیست مطمئنم به زودی درست خواهند کرد دوستان؛ ولی نکته مهمتر اینه که یادبگیرید داکیومنت هم بخونید و خودتون رو آپدیت نگه دارید.
پینوشت:
شخصا برنامهای برای ساخت آموزش روی این مباحث یا پروژهها ندارم.
Django Developer باید بلد باشه رو بهتون بدم؛ این موارد حداقل چیزهایی هست که به محض ورود به هر پروژه استاندارد Django باید بلد باشید.نکته مهم : من ۹۹.۹٪ وقتا فقط
Django Rest Framework استفاده میکنم پس توی متن هرجا گفتم Django منظورم همون DRF هست.۱- یک سری چیزها هست که شما باید بلد باشی ربطی به جنگو هم نداره؛ اگر میخوای پیشرفت کنی باید بتونی با اینا کار کنی:
Linux, PostgreSQL, Docker & Docker Compose, Redis, Nginx, Celery & Celery beatبعضی وقتا
RabbitMQ, Kafka هم نیازمندی هست؛ بسته به سطح شما به مرور زمان توی موارد بالا حرفهای تر میشید. لینوکس رو خیلیها کنار میذارند که خیلی اشتباه هست؛ ببین کل استک شما قراره بره روی docker, k8s, podman یا ... وقتی یک اتفاقی توی سیستم میوفته و لاگ سرور بهت داده میشه هم container شما لینوکس هست هم ۹۹.۹٪ سرور شما؛ اگر نتونی اون مشکل رو بازسازی کنی چطوری میخوای تست بگیری و متوجهاش بشی ؟درحد
LPIC1 هم کفایت میکنه (اگر خواستید مدرک بگیرید؛ پیشنهاد میکنم حتما برای آزمونهای redhat بخونید)اگر تاحالا با
Linux کار نکردید؛ پیشنهاد نصب و ... بهتون نمیدم؛ از wsl برای تمرین کردن آنچه که لازم هست استفاده کنید و محیط گرافیکی رو بندازید دور؛ شما روی سرور محیط گرافیکی ندارد (درست تمرین کنید).باقی موارد رو ولی کم کم یادبگیرید؛ کمی یادگیری - بعد تمرین یا استفاده توی پروژه - به چالش و مشکل خوردن - دوباره یادگیری (ادامه یادگیری) و اینکار رو تکرار کنید.
یادبگیرید هر کدوم از موارد بالا چه زمانی استفاده میشه و برای چه کاری این موضوع خیلی مهم هست؛ کی باید استفاده کنید و کی نباید استفاده کنید.
اما برای خود
Django حداقل چیزهایی که باید همزمان با Django بلد باشید؛ نشده جونیور (حتی بدون سابقه کاری) بیاد پیشم و این موارد رو بلد باشه (به فرض اینکه پایتون رو اصولی یاد گرفته) و توی مصاحبه رد بشه؛ اصلا تا حالا نداشتم واقعا میگم :pytest (basics), djagno-silk, drf-spectacular, faker, factory-boy, djangorestframework-simplejwt, django-axes, django-storageاستاندارد لاگ نویسی هم که درموردش قبلا یک صحبتی داشتیم اون حداقلش هست و بهترش اینه که به ابزارهای موجود وصل بشه.
یک سری چیزا هم توی خود
Django هست؛ مثل throttling, middleware, ... که مفاهیمی هست که روی بکند داریم و فارغ از فریمورک باید بلد باشید برای همین صحبتی راجب این موارد ندارم.واسه همه اینها توی سطوح مختلف کلی ویدئو یوتیوب هست و برای مواردی هم که نیست مطمئنم به زودی درست خواهند کرد دوستان؛ ولی نکته مهمتر اینه که یادبگیرید داکیومنت هم بخونید و خودتون رو آپدیت نگه دارید.
پینوشت:
شخصا برنامهای برای ساخت آموزش روی این مباحث یا پروژهها ندارم.
ماشین حساب شما سالم است؟
دیشب مشغول کدزدن با دوست جدیدمان جناب cursor بودم که جایی دیدم روی تست کیس خاصی کد درست کار نمیکند (یک جورهایی مساله parse کردن یک جور درخت بود). هر چه خودم تقلا کردم بفهمم چرا این طور شده نتوانستم. cursor را ندا دادم روی چنین تست کیسی درست کار نمیکنه ببین مشکل از کجاست. cursor هم شروع کرد به تقلا. به سرعت نوشت مشکل چیست و کد را عوض کرد و بعد هم شروع کرد خودش به نوشتن تست کیس. من دیگر از ماجرا پرت شده بودم و فقط شاهد تلاشهای این زبان بسته بودم که خودش تست کیس مینوشت و اجرا میکرد و گاها هم میدید روی تست کیس جواب نمیگیرد کد را تغییر میداد. چند دقیقهای تقلایش طول کشید و نهایتا گفت که great و تمام. کد با آن چیزی که من اول نوشته بودم بسیار تفاوت داشت طوری که برای فهمیدن منطقش باید از خود cursor دوباره میپرسیدم. شروع کردم چند testcase جدید را تست گرفتن و دیدم که روی همه آنها درست جواب میدهد. مساله تبدیل به یک مساله تصمیم ناپذیر شده بود. نمیتوانستم بگویم چرا درست کار میکند ولی هر چه تست کیس امتحان میکردم درست بود. فکر کردم دیدم آیا باید رها کنم؟ اگر جایی اشتباه کرده بود چه؟
ناخودآگاه یاد مثال همیشگی مقایسه LLM و ماشین حساب افتادم. فرض کنید الان یک جمع و ضرب چند رقمی را به ماشین حساب میدهیم و آن به ما جواب را میدهد. از کجا معلوم که اشتباه نکند؟ مثلا چه میدانم پالسی، سیمی، موجی روی هم بیافتند و یک رقم اشتباه شود. در این صورت آیا ما اصلا اغلب متوجه میشویم ؟!؟ کدام یک از ما نتیجه ماشین حساب را وریفای میکنیم؟ احتمالا روزهای اولی هم که ماشین حسابها اختراع شده بودند و مکانیکی تر از امروز بودند، افراد به آنها اعتماد کامل نداشتند و جواب نهاییشان را به نحوی وریفای میکردند. از جایی به بعد ولی احتمالا هم به خاطر اعتمادپذیری بیشتر و هم به خاطر این که محاسبات سنگین شده بودند دیگر هیچ کس به وریفای کردن جواب نهایی ماشین حساب فکر هم نمیکند. الغرض از نظر اعتمادپذیری بین LLMها و ماشینحسابها در لحظه فاصله زیاد است اما احتمالا روزی هم خواهد آمد که دیگر ما خروجیهای LLMها را وریفای نمیکنیم و از خود نمیپرسیم از کجا معلوم این درست بگوید؟ آن روز وضعمان شبیه به امروز است که برایمان سوال نمیشود از کجا معلوم این ماشین حساب درست محاسبه میکند؟
دیشب مشغول کدزدن با دوست جدیدمان جناب cursor بودم که جایی دیدم روی تست کیس خاصی کد درست کار نمیکند (یک جورهایی مساله parse کردن یک جور درخت بود). هر چه خودم تقلا کردم بفهمم چرا این طور شده نتوانستم. cursor را ندا دادم روی چنین تست کیسی درست کار نمیکنه ببین مشکل از کجاست. cursor هم شروع کرد به تقلا. به سرعت نوشت مشکل چیست و کد را عوض کرد و بعد هم شروع کرد خودش به نوشتن تست کیس. من دیگر از ماجرا پرت شده بودم و فقط شاهد تلاشهای این زبان بسته بودم که خودش تست کیس مینوشت و اجرا میکرد و گاها هم میدید روی تست کیس جواب نمیگیرد کد را تغییر میداد. چند دقیقهای تقلایش طول کشید و نهایتا گفت که great و تمام. کد با آن چیزی که من اول نوشته بودم بسیار تفاوت داشت طوری که برای فهمیدن منطقش باید از خود cursor دوباره میپرسیدم. شروع کردم چند testcase جدید را تست گرفتن و دیدم که روی همه آنها درست جواب میدهد. مساله تبدیل به یک مساله تصمیم ناپذیر شده بود. نمیتوانستم بگویم چرا درست کار میکند ولی هر چه تست کیس امتحان میکردم درست بود. فکر کردم دیدم آیا باید رها کنم؟ اگر جایی اشتباه کرده بود چه؟
ناخودآگاه یاد مثال همیشگی مقایسه LLM و ماشین حساب افتادم. فرض کنید الان یک جمع و ضرب چند رقمی را به ماشین حساب میدهیم و آن به ما جواب را میدهد. از کجا معلوم که اشتباه نکند؟ مثلا چه میدانم پالسی، سیمی، موجی روی هم بیافتند و یک رقم اشتباه شود. در این صورت آیا ما اصلا اغلب متوجه میشویم ؟!؟ کدام یک از ما نتیجه ماشین حساب را وریفای میکنیم؟ احتمالا روزهای اولی هم که ماشین حسابها اختراع شده بودند و مکانیکی تر از امروز بودند، افراد به آنها اعتماد کامل نداشتند و جواب نهاییشان را به نحوی وریفای میکردند. از جایی به بعد ولی احتمالا هم به خاطر اعتمادپذیری بیشتر و هم به خاطر این که محاسبات سنگین شده بودند دیگر هیچ کس به وریفای کردن جواب نهایی ماشین حساب فکر هم نمیکند. الغرض از نظر اعتمادپذیری بین LLMها و ماشینحسابها در لحظه فاصله زیاد است اما احتمالا روزی هم خواهد آمد که دیگر ما خروجیهای LLMها را وریفای نمیکنیم و از خود نمیپرسیم از کجا معلوم این درست بگوید؟ آن روز وضعمان شبیه به امروز است که برایمان سوال نمیشود از کجا معلوم این ماشین حساب درست محاسبه میکند؟
🔥1
Forwarded from Linuxor ?
درباره سیستم های پیشنهاد دهنده چی میدونید؟
این ریپو بهتون یاد میده چطوری یه سیستم ریکامندر شبیه به تیکتاک بسازین و مدل خودتون رو آموزش بدین همچنین روی کوبرنیتیز اونو بالا بیارین
https://github.com/decodingml/personalized-recommender-course
@Linuxor
این ریپو بهتون یاد میده چطوری یه سیستم ریکامندر شبیه به تیکتاک بسازین و مدل خودتون رو آموزش بدین همچنین روی کوبرنیتیز اونو بالا بیارین
https://github.com/decodingml/personalized-recommender-course
@Linuxor
Linuxor ?
درباره سیستم های پیشنهاد دهنده چی میدونید؟ این ریپو بهتون یاد میده چطوری یه سیستم ریکامندر شبیه به تیکتاک بسازین و مدل خودتون رو آموزش بدین همچنین روی کوبرنیتیز اونو بالا بیارین https://github.com/decodingml/personalized-recommender-course @Linuxor
وقت کردید یه سر بهش بزنید
خیلی ایده جالبی داره
خیلی ایده جالبی داره
مقدمهای بر گیت (Git) - جلسه اول
گیت (Git) یه سیستم کنترل نسخه هست که برای مدیریت تغییرات کدها و همکاری بین برنامهنویسها استفاده میشه. کار کردن با گیت توی سه مرحلهی اصلی انجام میشه:
۱. محیط کاری (Working Directory)
همون جایی که شما کدهاتون رو مینویسید و تغییرات ایجاد میکنید. این مرحله مثل میز کار شماست که هر تغییری که توی فایلها بدین، فقط توی سیستم خودتون اعمال میشه و هنوز به گیت اضافه نشده.
۲. محل استیج (Staging Area)
اینجا یه جورایی مثل برزخه! 😅
وقتی یه فایل رو توی گیت اضافه میکنید (git add)، در واقع اون رو میفرستید به این فضای میانی. توی این مرحله، فایلها هنوز ثبت نهایی نشدن و شما میتونید قبل از ثبت کردن، چک کنید که چی تغییر کرده.
۳. مخزن (Repository) - ثبت نهایی (Commit)
وقتی تغییرات رو تأیید کردید (git commit)، گیت یه عکس از وضعیت پروژه شما ثبت میکنه و تغییرات رو توی مخزن ذخیره میکنه. این مرحله همونجاییه که دیگه تغییرات شما به عنوان یه نسخه جدید ثبت میشه و قابل مشاهده و بازیابی خواهد بود.
🚀 بعد از این، اگه بخواید تغییراتتون رو با بقیه به اشتراک بذارید، باید اون رو روی یه مخزن راه دور (مثل GitHub یا GitLab) push کنید تا تیمتون هم بتونه ببینه و روش کار کنه.
خلاصهی کل مراحل:
1️⃣ ایجاد تغییرات توی فایلها (Working Directory)
2️⃣ اضافه کردن تغییرات به استیج (git add .)
3️⃣ ثبت تغییرات در مخزن (git commit -m "توضیح تغییرات")
4️⃣ ارسال تغییرات به مخزن راه دور (git push)
اینجا فقط یه نمای کلی از کار با گیت بود، توی جلسات بعدی وارد جزئیات بیشتر میشیم!
@softwrteach
--------‐----------------
🌐💻
گیت (Git) یه سیستم کنترل نسخه هست که برای مدیریت تغییرات کدها و همکاری بین برنامهنویسها استفاده میشه. کار کردن با گیت توی سه مرحلهی اصلی انجام میشه:
۱. محیط کاری (Working Directory)
همون جایی که شما کدهاتون رو مینویسید و تغییرات ایجاد میکنید. این مرحله مثل میز کار شماست که هر تغییری که توی فایلها بدین، فقط توی سیستم خودتون اعمال میشه و هنوز به گیت اضافه نشده.
۲. محل استیج (Staging Area)
اینجا یه جورایی مثل برزخه! 😅
وقتی یه فایل رو توی گیت اضافه میکنید (git add)، در واقع اون رو میفرستید به این فضای میانی. توی این مرحله، فایلها هنوز ثبت نهایی نشدن و شما میتونید قبل از ثبت کردن، چک کنید که چی تغییر کرده.
۳. مخزن (Repository) - ثبت نهایی (Commit)
وقتی تغییرات رو تأیید کردید (git commit)، گیت یه عکس از وضعیت پروژه شما ثبت میکنه و تغییرات رو توی مخزن ذخیره میکنه. این مرحله همونجاییه که دیگه تغییرات شما به عنوان یه نسخه جدید ثبت میشه و قابل مشاهده و بازیابی خواهد بود.
🚀 بعد از این، اگه بخواید تغییراتتون رو با بقیه به اشتراک بذارید، باید اون رو روی یه مخزن راه دور (مثل GitHub یا GitLab) push کنید تا تیمتون هم بتونه ببینه و روش کار کنه.
خلاصهی کل مراحل:
1️⃣ ایجاد تغییرات توی فایلها (Working Directory)
2️⃣ اضافه کردن تغییرات به استیج (git add .)
3️⃣ ثبت تغییرات در مخزن (git commit -m "توضیح تغییرات")
4️⃣ ارسال تغییرات به مخزن راه دور (git push)
اینجا فقط یه نمای کلی از کار با گیت بود، توی جلسات بعدی وارد جزئیات بیشتر میشیم!
@softwrteach
--------‐----------------
🌐💻
🔥4
🌐 فرانتاند و بکاند دو بخش اصلی و حیاتی در توسعه وب هستن که با هم همکاری میکنن تا یه وبسایت یا اپلیکیشن کامل و کاربردی بسازن. بیایید با هم نگاهی به هرکدوم بندازیم: 🔍
💻 فرانتاند (Front-End) بخش ظاهری و قابل مشاهده سایت یا اپلیکیشن هست. این همون قسمتیه که کاربر باهاش تعامل داره و همونطور که از اسمش پیداست، این بخش در "جبهه جلو" قرار داره! این بخش شامل طراحی، رابط کاربری (UI) و تجربه کاربری (UX) میشه. از تکنولوژیهایی مثل HTML، CSS و JavaScript برای طراحی و ساخت این بخش استفاده میشه.
فرانتاند وظیفه داره که اطلاعات رو از بکاند دریافت کنه و به شکلی کاربرپسند نمایش بده. مثلاً وقتی شما توی یه اپلیکیشن اطلاعات رو وارد میکنید یا توی یه سایت چیزی رو جستجو میکنید، همون اطلاعاتی که شما میبینید و باهاش تعامل میکنید، همگی کار فرانتاند هست.
⚙️ حالا بکاند (Back-End) پشت پرده میاد! این بخش مسئول پردازش دادهها، ذخیرهسازی، و انجام تمام محاسبات و منطقهای پیچیده است. معمولاً این بخش با سرورها، پایگاههای داده (مثل MySQL یا MongoDB) و APIها سروکار داره. بهطور ساده، بکاند همانند مغز سیستم عمل میکنه که اطلاعات رو مدیریت میکنه و به فرانتاند میده تا به کاربر نمایش داده بشه.
🔗 ارتباط بین این دو بخش با استفاده از APIها و پروتکل HTTP انجام میشه. وقتی کاربر یه درخواست (مثل جستجو یا ارسال فرم) به فرانتاند میده، فرانتاند اون رو به بکاند میفرسته، بکاند اطلاعات مورد نظر رو پردازش کرده و به فرانتاند برمیگردونه تا به کاربر نمایش داده بشه. به همین دلیل این دو بخش باید همزمان و بهدرستی با هم کار کنن تا یه تجربه کاربری بینقص ایجاد بشه.
👨💻 برای ارتباط بهتر بین این دو، تکنولوژیهای متنوعی هم وجود دارن. مثلاً GraphQL یه تکنولوژی جدیدتره که بهجای استفاده از APIهای معمولی REST، به فرانتاند این امکان رو میده که درخواستهای دقیقتری ارسال کنه و فقط همون دادههایی که لازم داره رو دریافت کنه. این میتونه سرعت اپلیکیشن رو افزایش بده و مصرف دادهها رو به حداقل برسونه.
@softwrteach
------------------------
🌐💻
💻 فرانتاند (Front-End) بخش ظاهری و قابل مشاهده سایت یا اپلیکیشن هست. این همون قسمتیه که کاربر باهاش تعامل داره و همونطور که از اسمش پیداست، این بخش در "جبهه جلو" قرار داره! این بخش شامل طراحی، رابط کاربری (UI) و تجربه کاربری (UX) میشه. از تکنولوژیهایی مثل HTML، CSS و JavaScript برای طراحی و ساخت این بخش استفاده میشه.
فرانتاند وظیفه داره که اطلاعات رو از بکاند دریافت کنه و به شکلی کاربرپسند نمایش بده. مثلاً وقتی شما توی یه اپلیکیشن اطلاعات رو وارد میکنید یا توی یه سایت چیزی رو جستجو میکنید، همون اطلاعاتی که شما میبینید و باهاش تعامل میکنید، همگی کار فرانتاند هست.
⚙️ حالا بکاند (Back-End) پشت پرده میاد! این بخش مسئول پردازش دادهها، ذخیرهسازی، و انجام تمام محاسبات و منطقهای پیچیده است. معمولاً این بخش با سرورها، پایگاههای داده (مثل MySQL یا MongoDB) و APIها سروکار داره. بهطور ساده، بکاند همانند مغز سیستم عمل میکنه که اطلاعات رو مدیریت میکنه و به فرانتاند میده تا به کاربر نمایش داده بشه.
🔗 ارتباط بین این دو بخش با استفاده از APIها و پروتکل HTTP انجام میشه. وقتی کاربر یه درخواست (مثل جستجو یا ارسال فرم) به فرانتاند میده، فرانتاند اون رو به بکاند میفرسته، بکاند اطلاعات مورد نظر رو پردازش کرده و به فرانتاند برمیگردونه تا به کاربر نمایش داده بشه. به همین دلیل این دو بخش باید همزمان و بهدرستی با هم کار کنن تا یه تجربه کاربری بینقص ایجاد بشه.
👨💻 برای ارتباط بهتر بین این دو، تکنولوژیهای متنوعی هم وجود دارن. مثلاً GraphQL یه تکنولوژی جدیدتره که بهجای استفاده از APIهای معمولی REST، به فرانتاند این امکان رو میده که درخواستهای دقیقتری ارسال کنه و فقط همون دادههایی که لازم داره رو دریافت کنه. این میتونه سرعت اپلیکیشن رو افزایش بده و مصرف دادهها رو به حداقل برسونه.
@softwrteach
------------------------
🌐💻
👍3
Forwarded from کالی بویز | ترفند | تکنولوژی (YOUSEF)
✔️ قضیه CAP در سیستم های توزیع شده
در دنیای مدرن که فناوری حرف اول را میزند، سیستمهای توزیع شده به بخش جداییناپذیری از زندگی ما تبدیل شدهاند. از خرید آنلاین گرفته تا انجام تراکنشهای بانکی و تعامل در شبکههای اجتماعی، همهجا ردپای این سیستمها دیده میشود. اما طراحی این سیستمها کار سادهای نیست. یکی از مفاهیم کلیدی که به ما در درک چالشهای این حوزه کمک میکند، قضیه CAP است. CAP که مخفف Consistency (یکسانی)، Availability (دسترسپذیری) و Partition Tolerance (تحمل پارتیشن) است، چارچوبی برای فهمیدن محدودیتها و انتخابهای پیش روی طراحان سیستمهای توزیع شده ارائه میدهد.
در این مقاله، صفر تا صد قضیه CAP را با زبانی ساده و قابلفهم توضیح میدهیم، جنبههای مختلف آن را بررسی میکنیم و با مثالهایی واقعی مثل خرید بلیط، سیستم بانکی و لایکهای شبکه اجتماعی، کاربردهایش را نشان میدهیم.
در کالی بویز بخوانید: قضیه CAP در سیستم های توزیع شده
✅ @kaliboys | کالی بویز
در دنیای مدرن که فناوری حرف اول را میزند، سیستمهای توزیع شده به بخش جداییناپذیری از زندگی ما تبدیل شدهاند. از خرید آنلاین گرفته تا انجام تراکنشهای بانکی و تعامل در شبکههای اجتماعی، همهجا ردپای این سیستمها دیده میشود. اما طراحی این سیستمها کار سادهای نیست. یکی از مفاهیم کلیدی که به ما در درک چالشهای این حوزه کمک میکند، قضیه CAP است. CAP که مخفف Consistency (یکسانی)، Availability (دسترسپذیری) و Partition Tolerance (تحمل پارتیشن) است، چارچوبی برای فهمیدن محدودیتها و انتخابهای پیش روی طراحان سیستمهای توزیع شده ارائه میدهد.
در این مقاله، صفر تا صد قضیه CAP را با زبانی ساده و قابلفهم توضیح میدهیم، جنبههای مختلف آن را بررسی میکنیم و با مثالهایی واقعی مثل خرید بلیط، سیستم بانکی و لایکهای شبکه اجتماعی، کاربردهایش را نشان میدهیم.
در کالی بویز بخوانید: قضیه CAP در سیستم های توزیع شده
Please open Telegram to view this post
VIEW IN TELEGRAM
🌐 اکستنشن REST Client در VS Code یک جایگزین عالی برای Postman یا Insomnia
📌 اصلا REST Client چیه؟
ابزار REST Client یه افزونه (اکستنشن) برای VS Code هست که بهت اجازه میده بدون نیاز به ابزارهای جانبی، مستقیماً توی ادیتورت درخواستهای HTTP ارسال کنی و APIها رو تست کنی!
💻 چرا REST Client؟
✅ سبک و سریع – نیازی به نصب نرمافزارهای سنگین نیست
✅ همه درخواستها در یک فایل – دیگه لازم نیست برای هر تست جداگانه کار کنی
✅ پشتیبانی از همه متدهای HTTP – GET، POST، PUT، DELETE و …
✅ مدیریت هدرها و توکنها – به راحتی میتونی Authorization و سایر تنظیمات رو انجام بدی
✅ پشتیبانی از متغیرها – دیگه لازم نیست بارها یه URL تکراری بنویسی
چطور از REST Client استفاده کنیم؟
برای شروع، یه فایل جدید با پسوند .http یا .rest بساز و یه درخواست ساده بنویس:
بعد از نوشتن، دکمه "Send Request" که بالای این درخواست ظاهر میشه رو بزن و نتیجه رو ببین!
📡 ارسال درخواست POST با JSON
با زدن Send Request، دادهها به سرور ارسال میشن و پاسخ برمیگرده!
🔗 ارتباط بهتر با متغیرها
گاهی اوقات ممکنه یه API چندین بار با URLهای مشابه تست بشه، اینجاست که متغیرها کمک میکنن:
حالا هروقت بخوای این درخواست رو تغییر بدی، فقط مقدار baseUrl رو عوض کن!
@softwrteach
------------------------
🌐💻
📌 اصلا REST Client چیه؟
ابزار REST Client یه افزونه (اکستنشن) برای VS Code هست که بهت اجازه میده بدون نیاز به ابزارهای جانبی، مستقیماً توی ادیتورت درخواستهای HTTP ارسال کنی و APIها رو تست کنی!
💻 چرا REST Client؟
✅ سبک و سریع – نیازی به نصب نرمافزارهای سنگین نیست
✅ همه درخواستها در یک فایل – دیگه لازم نیست برای هر تست جداگانه کار کنی
✅ پشتیبانی از همه متدهای HTTP – GET، POST، PUT، DELETE و …
✅ مدیریت هدرها و توکنها – به راحتی میتونی Authorization و سایر تنظیمات رو انجام بدی
✅ پشتیبانی از متغیرها – دیگه لازم نیست بارها یه URL تکراری بنویسی
چطور از REST Client استفاده کنیم؟
برای شروع، یه فایل جدید با پسوند .http یا .rest بساز و یه درخواست ساده بنویس:
GET https://jsonplaceholder.typicode.com/posts/1
بعد از نوشتن، دکمه "Send Request" که بالای این درخواست ظاهر میشه رو بزن و نتیجه رو ببین!
📡 ارسال درخواست POST با JSON
POST https://jsonplaceholder.typicode.com/posts
Content-Type: application/json
{
"noscript": "REST Client در VS Code",
"body": "این یه تسته!",
"userId": 1
}
با زدن Send Request، دادهها به سرور ارسال میشن و پاسخ برمیگرده!
🔗 ارتباط بهتر با متغیرها
گاهی اوقات ممکنه یه API چندین بار با URLهای مشابه تست بشه، اینجاست که متغیرها کمک میکنن:
@baseUrl = https://jsonplaceholder.typicode.com
GET {{baseUrl}}/posts/1
حالا هروقت بخوای این درخواست رو تغییر بدی، فقط مقدار baseUrl رو عوض کن!
@softwrteach
------------------------
🌐💻
Soft teach
https://github.com/MO-ZAREI84/learn-python
سلااام برو بچ
تو این ریپو چنتا تمرین کاربردی برای شاخه های مختلف پایتونو براتون بارگزاری کردم
تو این پروژه ها سعی شده کاربردی در عین حال به مسائل ابتدایی و پیشرفته پایتون پرداخته شه البته به جز فریمورک جنگو که داخل ریپو های دیگه میتونید یه نگاه بندازید...
اگه دوس داشتین و میخواید بصورت کاربردی تر پایتون رو یاد بگیرید حتما یه سری بزنید
@softwrteach
تو این ریپو چنتا تمرین کاربردی برای شاخه های مختلف پایتونو براتون بارگزاری کردم
تو این پروژه ها سعی شده کاربردی در عین حال به مسائل ابتدایی و پیشرفته پایتون پرداخته شه البته به جز فریمورک جنگو که داخل ریپو های دیگه میتونید یه نگاه بندازید...
اگه دوس داشتین و میخواید بصورت کاربردی تر پایتون رو یاد بگیرید حتما یه سری بزنید
@softwrteach
🔥1
دستیار هوش مصنوعی قدرتمند برای توسعه دهندگان...
با Bolt AI کدنویسی رو سریعتر، بهینهتر و لذتبخشتر تجربه کن:
✅ تحلیل هوشمند کد – پروژهتو آپلود کن، Bolt AI کیفیت و کارایی کد رو بررسی میکنه.
✅ مشاهده آنی تغییرات – تغییرات رو در لحظه ببین و سریعتر تصمیم بگیر.
✅ پروتوتایپ تمیز – کدنویسی اصولی و خوانا از همون اول!
✅ توسعه سریعتر – تست و دیباگ خودکار، بدون اتلاف وقت.
✅ نصب خودکار پکیجها – نیاز به چیزی داری؟ Bolt AI خودش انجامش میده!
✅ سازگار با زبانها و فریمورکهای محبوب – هر چی دوست داری، کد بزن!
⚡ با Bolt AI، سطح کدنویسیتو بالاتر ببر!
@softwrteach
------------------------
🌐💻
با Bolt AI کدنویسی رو سریعتر، بهینهتر و لذتبخشتر تجربه کن:
✅ تحلیل هوشمند کد – پروژهتو آپلود کن، Bolt AI کیفیت و کارایی کد رو بررسی میکنه.
✅ مشاهده آنی تغییرات – تغییرات رو در لحظه ببین و سریعتر تصمیم بگیر.
✅ پروتوتایپ تمیز – کدنویسی اصولی و خوانا از همون اول!
✅ توسعه سریعتر – تست و دیباگ خودکار، بدون اتلاف وقت.
✅ نصب خودکار پکیجها – نیاز به چیزی داری؟ Bolt AI خودش انجامش میده!
✅ سازگار با زبانها و فریمورکهای محبوب – هر چی دوست داری، کد بزن!
⚡ با Bolt AI، سطح کدنویسیتو بالاتر ببر!
@softwrteach
------------------------
🌐💻
❤3
Forwarded from برنامه نویسی | Teachify (YOUSEF)
✔️ جنگو 5.2 منتشر شد!
نسخهی جدید جنگو (Django 5.2) با ویژگیهای زیر منتشر شد:
+ ایمپورت خودکار مدلها در شل
+ پشتیبانی از کلیدهای اصلی ترکیبی (Composite Primary Keys) 😲
+ بهبود در نحوهی override کردن BoundField
این نسخه LTS (پشتیبانی طولانیمدت) است و تا آوریل 2028 پشتیبانی خواهد شد.
Django 5.2 Release Notes
#Django #Python
✅ @Teachify | برنامه نویسی
نسخهی جدید جنگو (Django 5.2) با ویژگیهای زیر منتشر شد:
+ ایمپورت خودکار مدلها در شل
+ پشتیبانی از کلیدهای اصلی ترکیبی (Composite Primary Keys) 😲
+ بهبود در نحوهی override کردن BoundField
این نسخه LTS (پشتیبانی طولانیمدت) است و تا آوریل 2028 پشتیبانی خواهد شد.
Django 5.2 Release Notes
#Django #Python
Please open Telegram to view this post
VIEW IN TELEGRAM
