Ninja Learn | نینجا لرن
1.26K subscribers
95 photos
36 videos
11 files
306 links
یادگیری برنامه نویسی به سبک نینجا 🥷
اینجا چیزایی یاد میگیری که فقط نینجاهای وب‌ بلدن 🤫

📄 Send me post: https://t.iss.one/NoronChat_bot?start=sec-fdggghgebe

👥 ɢʀᴏᴜᴘ: https://t.iss.one/+td1EcO_YfSphNTlk
Download Telegram
Sadra Codes
پشمام. Hey رنک ۳ پروداکت روزه. 😐
دوستان یه هل بدید میشه نفر اول 😁

@ninja_learn_ir
👌42
❤‍🔥4👍2👎1
💎 آپلود فایل در S3 با استفاده از جنگو 💎

امروز قراره درباره یکی از موضوعات پرکاربرد و جذاب توی دنیای جنگو صحبت کنیم: آپلود فایل با استفاده از باکت S3! 🎉

📦 باکت S3 چیه و چرا باید ازش استفاده کنیم؟
باکت S3 یا همون Simple Storage Service یکی از سرویس‌های محبوب آمازون وب سرویس (AWS) هست که بهت این امکان رو میده فایل‌هات رو توی فضای ابری ذخیره کنی. این سرویس به خاطر ویژگی‌هایی مثل مقیاس‌پذیری بالا امنیت قوی و سرعت زیاد خیلی طرفدار داره.
یه مثال بزنم
فرض کن یه پروژه جنگویی داری که توش کلی فایل مثل عکس، ویدیو یا حتی فایل‌های حجیم باید ذخیره بشن. به جای اینکه این فایل‌ها رو روی سرور خودت نگه داری و نگران فضای ذخیره‌سازی باشی، می‌تونی از S3 استفاده کنی تا همه چیز توی فضای ابری مدیریت بشه. 🚀

🎯 حالا چطور می‌تونیم توی جنگو فایل هارو روی باکت S3 آپلود کنیم؟

برای آپلود فایل‌ها در S3 با جنگو، چند تا مرحله رو باید انجام بدیم:

📥 نصب کتابخانه‌های مورد نیاز:
اول از همه باید کتابخانه‌های django-storages و boto3 رو نصب کنیم. django-storages واسه اتصال جنگو به S3 و boto3 برای تعامل با AWS استفاده می‌شه.

pip install django-storages && boto3

تنظیمات AWS در پروژه جنگو:
حالا باید توی فایل settings.py تنظیمات AWS رو اضافه کنیم. برای این کار به AWS_ACCESS_KEY_ID و AWS_SECRET_ACCESS_KEY نیاز داری که می‌تونی از کنسول AWS بگیری.

AWS_ACCESS_KEY_ID = 'کلید دسترسی‌ات'
AWS_SECRET_ACCESS_KEY = 'کلید محرمانه‌ات'
AWS_STORAGE_BUCKET_NAME = 'اسم باکتت'

AWS_S3_REGION_NAME = 'منطقه جغرافیایی S3'
AWS_S3_CUSTOM_DOMAIN = f'{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com'

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

🔧 تنظیمات پیشرفته S3:
می‌تونیم تنظیمات بیشتری رو برای بهینه‌سازی آپلود و دسترسی به فایل‌ها اضافه کنیم:

AWS_QUERYSTRING_AUTH = False
AWS_DEFAULT_ACL = None
AWS_S3_FILE_OVERWRITE = False
AWS_S3_OBJECT_PARAMETERS = {
    'CacheControl': 'max-age=86400',
}


- AWS_QUERYSTRING_AUTH:
لینک‌های فایل‌هات بدون امضای موقت ساخته می‌شن.

-
AWS_DEFAULT_ACL:
سطح دسترسی پیش‌فرض باکت رو اعمال می‌کنه.

-
AWS_S3_FILE_OVERWRITE:
اگر فایل جدیدی با همون نام آپلود بشه، فایل قبلی حذف نمی‌شه.

📂 آپلود فایل:
حالا هر وقت که بخوای فایلی رو آپلود کنی، به جای اینکه روی سرور ذخیره بشه، به صورت مستقیم به S3 ارسال می‌شه. خیلی راحته، نه؟ 😎 البته توی جنگو انقدر راحته😅

🧾 تنظیم مسیرهای فایل:
در نهایت می‌تونیم مسیرهای مربوط به فایل‌های استاتیک و مدیا رو هم به S3 متصل کنیم:


AWS_LOCATION = 'media'

STATIC_URL = f'https://{AWS_S3_CUSTOM_DOMAIN}/static/'

MEDIA_URL = f'https://{AWS_S3_CUSTOM_DOMAIN}/{AWS_LOCATION}/

💡 نکات اضافی و پیشنهادها:

🛡 ایمن‌سازی
:
هیچوقت AWS_ACCESS_KEY_ID و AWS_SECRET_ACCESS_KEY رو توی کد قرار نده. بهتره از متغیرهای محیطی (Environment Variables) استفاده کنی تا امنیت اطلاعاتت حفظ بشه.
📟 استفاده از presigned URLs:
اگه می‌خوای کاربرها مستقیم از سمت کلاینت فایل‌ها رو آپلود کنن می‌تونی از presigned URLs استفاده کنی که هم امن‌تره و هم سریع‌تر.
🔬 مانیتورینگ و مدیریت فایل‌ها:
با استفاده از سرویس‌هایی مثل CloudWatch یا S3 Events می‌تونی عملیات‌های مربوط به فایل‌ها رو بهتر مدیریت کنی.

امیدوارم این آموزش برات مفید بوده باشه :) ❤️

#django #s3 #aws #cloud_sto


@ninja_learn_ir
👍9🔥3👎2
Forwarded from MIXXHOODMEME (CharismaticDog)
🤣11👍2😁2
MIXXHOODMEME
Photo
😂
🤣2😁1
Forwarded from Python BackendHub (Mani)
آیا می‌دونستید از هر ۵۰ تا رزومه فقط یکیش مصاحبه می‌گیره؟ آیا می‌دونستید که تجربه و دانش شما لزوماً به معنای رزومه‌ی بهتر نیست؟ و اینکه خیلی از مهندسای نرم‌افزار با تغییر رزومشون تونستن درآمدشون رو چند برابر کنن؟

خب، من یه راه‌حل دارم براتون! چند وقت پیش من یه ریپو داشتم که الان ۳۰۰ ستاره گرفته و توش به تکنیک‌های نوشتن رزومه پرداخته بود. حالا وقت گذاشتم و اون رو به Mkdocs تبدیل کردم تا خوندنش راحت‌تر بشه. کلی قسمت رو آپدیت کردم، مثال‌های بیشتر و نمودار و رفرنس‌های جدید اضافه کردم، و مطالب رو خیلی مرتب‌تر کردم.

لینک ریپو
لینک داکیومنشن جدید

اگه این پست و لایبری براتون مفید بود، خوشحال می‌شم اگه بهش استار بدید. این کار به من انگیزه بیشتری برای توسعه و بهبود فریم‌ورک های اوپن سورس میده. از حمایت‌تون خیلی ممنونم 🙂 🙏


@PyBackendHub
👏6
#fun


اره داشتم از ایران میگفتم

@ninja_learn_ir
🤣101🤔1🤯1
💎 داکر به زبان ساده  🛳🥶
مقدمه

داکر یک پلتفورم نرم افزاری برای ساخت اپلیکیشن های مبتنی برا کانتینر هست.
داکر یک محیط‌ اجرایی کوچک و سبک که به طور مشترک از هسته سیستم عامل استفاده می‌کنند اما در عین حال در یک محیط ایزوله و کاملا جدا
از هم قرار دارند.
زمان معرفی

داکر به عنوان یک پروژه متن باز در سال 2013 معرفی و عرضه شد.

همین باعث شد که توسعه نرم افزار به سمت استفاده از کانتینر ها و میکروسرویس ها برود و بعد ها به عنوان توسعه ابری یا cloude native development شناخته شد.
در ادامه به مبحث container و docker file و docker mage خواهیم پرداخت🔥
منظور از کانتینر چی هستcontainer💢🤔

اساسا کانتینر محیط های اجرایی را جدا کرده و هسته سیستم عامل را به اشتراک میگذارد
خوب بیایم با یک مثال عملی با کانتینر ها بیش تر اشنا بشیم🤗😊

فرض کنید در شرکتی مشغول به کار هستید و ناهار خود را هر روز در خانه درست کرده و آن را داخل یک ظرف به شرکت می‌برید تا آنجا میل بفرمایید. دیگر لازم نیست داخل شرکت شروع به پختن غذا کنید چون احتمالا زمان زیادی را از شما می‌گیرد. کار Container هم تا حدودی شبیه به این است. شما پروژه خود را (غذا) داخل Container (ظرف غذا) قرار داده و آن را هر کجا که دوست داشتید (مثلا شرکت) می‌برید.
داکر فایل چی هستdocker file💢🤔

اساسا یک فایل متنی هست که به صورت زیر هست
Dockerfile
این فایل با سینتکس ساده و قابل فهم دستورالعمل های ساخت docker image قرار داده شده که در ادامه ان را بررسی خواهیم کرد این فایل اطلاعات مهمی را در بر میگیرد مثلا مشخص میکند  که پشت کانتینر ما چه سیستم عاملی قرار بگیرد و همین طور از چه زبان های برنامه نویسی و متغییر های محلی و پورت های شبکه و یا غیره استفاده میشود و مهم تر از ان این که مشخص شد که کانتینر ما بعد از این که واقعا اجرا شد چه کاری رو انجام دهد🙅🏼‍♂️
داکر ایمیج چی هستdocker image💢🤔

در واقع زمانی که نوشتن داکر فایل رو تمام کردید با یک دستور درون ترمینال سیستم خودمان docker build رو فراخوانی میکنیم که وظیفه دارد یک image بر اساس محتویات داکر فایل ما بسازد .

docker image build .


داکر ایمیج یک فایل قابل حمل هست  که شامل یکسری دستور العمل ها  بوده که مشخص میکند کانتینر کدام کامپوننت نرم افزاری را اجرا کند و یا این که  چطور ان ها اجرا شود.

همان طور این ایمیج ساخته شده استاتیک میباشد یعنی یک بار ساختن ان کافی بوده و نیازی به تغییر ان ندارید مگر این داکر فایل رو تغییر بدهید بر اساس نیازمندی پروژه تان
ممنونم که تا انتهای این پست همراه من بودید. امیدارم این پست که به  اشتراک گذاشتم برای شما مفید بوده باشد. در پست‌های بعدی به بررسی جزئیات بیشتری از داکر و دستورات کاربردی آن خواهیم پرداخت. 😎😎😎😎

اگر سوالی دارید یا موضوع خاصی مد نظرتان است که دوست دارید به آن بپردازیم، حتماً در نظرات با ما به اشتراک بگذارید. موفق باشید!❤️❤️❤️❤️

در پست های بعدی بیش تر در مورد داکر و دستورات داکر صحبت خواهیم کرد
امیدوارم براتون مفید واقع شده باشه:)🔥

🧑‍🏫 Author: @LOOOOOVEEEEEEYOU
19👍2👏1
Ninja Learn | نینجا لرن
قسمت ۳ دوره منتشر شد 🥳 لایک و ساب فراموش نشه 😉 https://youtu.be/gen3NCnw5bg?si=ic55NjZwmumL7dGn @ninja_learn_ir
دوستان چون قسمتا تایمشون کمه تصمیم گرفتم روزی دوتا یا سه تا ویدیو اپلود کنم 😁
👍53
فردا یه پست خفن راجب TLS داریم 😁
🔥72😡1
Ninja Learn | نینجا لرن pinned «دوره DRF بالاخره منتشر شد 🥳 توی این دوره از مباحث شروع می‌کنیم و قدم به قدم وارد دنیای API‌های پیشرفته می‌شیم، مفاهیمی مثل Serialization، Authentication، Viewsets و بسیاری دیگه رو به‌صورت کاربردی یاد می‌گیری. هر جلسه با دقت و وسواس طراحی شده تا مطمئن بشیم…»
سلام رفقا 👋
خیلی وقته نظر سنجی نذاشتیم

اکثر پستامون راجب بک انده، پست فرانت هم بذاریم واستون؟ 🤔
👍31🐳1
دوتا قسمت دیگه هم اپلود شد 🥳

لایک و ساب فراموش نشه😉

https://youtu.be/fY-WPeMl6mU?si=7FMXe3rX7cP5xyEu

@ninja_learn_ir
🔥6👍21
❤‍🔥6
💎 پروتکل امنیتی TLS 💎

احتمالا حداقل یک بار با کلماتی مثل SSL و TLS برخورد داشتید.
این دوتا اصطلاح کلی به امنیت اطلاعات توی وب ربط دارن. حالا بیاید ببینیم TLS چیه، چرا از SSL بهتره، و چطور از اطلاعاتمون محافظت می‌کنه.

حالا TLS چیه؟ 🔍
خب TLS، یا Transport Layer Security، یه پروتکل امنیتی برای ارتباطات توی وب بین سرور و کلاینت هست.
به زبون ساده وقتی تو داری توی یه سایت اطلاعات مهم مثل رمز عبور، شماره کارت بانکی یا هر داده‌ی حساس دیگه‌ای رو وارد می‌کنی، TLS اون‌ها رو رمزنگاری می‌کنه 🔑.

حالا TLS به چه دردی می‌خوره؟ 🤔
خب TLS مثل یه محافظ قوی برای اطلاعاتت عمل می‌کنه 🛡️. فرض کن داری توی یه سایت خرید میکنی 🛒؛ TLS از لحظه‌ای که شماره کارتت رو وارد میکنی تا وقتی که سرور اطلاعات رو دریافت می‌کنه، مثل یه سد محکم عمل می‌کنه و نمی‌ذاره هکرها به اطلاعاتت دسترسی پیدا کنن یا اونا رو تغییر بدن 🚫.
تفاوت TLS با SSL چیه؟ ⚖️
خب، اینجا داستان جالب می‌شه. قبل از TLS، یه پروتکل دیگه به نام SSL (Secure Sockets Layer) وجود داشت که همین وظیفه رو به عهده داشت 🔄. ولی مشکل اینجا بود که SSL به مرور زمان نقاط ضعفش معلوم شد ⚠️. این نقاط ضعف باعث شد هکرها بتونن حملاتی رو ترتیب بدن و اطلاعات رمزنگاری‌شده رو بدزدن یا حتی تغییر بدن.

حمله POODLE و مشکل SSL 🐩
یکی از بزرگ‌ترین مشکلات SSL، حمله‌ای بود به نام POODLE 🐩. POODLE مخفف Padding Oracle On Downgraded Legacy Encryption هست و توی این نوع حمله، هکرها می‌تونستن از نقاط ضعف SSL استفاده کنن و داده‌هایی که فکر می‌کردی امن هستن رو به دست بیارن 🎯. این حمله بیشتر روی نسخه‌های قدیمی SSL مثل SSL 3.0 تأثیر داشت. به‌طور خلاصه، این حمله به هکرها اجازه می‌داد تا بخش‌هایی از ارتباطات رمزنگاری‌شده رو بخونن، و این یعنی امنیت اطلاعاتت به خطر می‌افتاد 🚨.
حالا TLS چطور مشکلات رو حل کرد؟ 🛠️
با بروزرسانی الگوریتم‌های رمزنگاری و تقویت مکانیزم‌های امنیتی، TLS جلوی حملات مثل POODLE رو گرفت . TLS 1.2 و مخصوصاً TLS 1.3، با قابلیت‌های پیشرفته‌تر و امنیت بالاتر، هکرها رو حسابی به دردسر انداخت و بهشون اجازه نمیده به اطلاعات دسترسی پیدا کنن 🔒.
حالاTLS جلوی چه حملاتی رو می‌گیره؟ 🛡️
1⃣ حملات مرد میانی (MITM):
هکرها می‌خوان وسط ارتباط تو و سرور قرار بگیرن و اطلاعاتت رو بدزدن. TLS نمی‌ذاره این اتفاق بیفته .

2⃣ شنود:
هکرها تلاش می‌کنن تا اطلاعاتی که رد و بدل می‌کنی رو شنود کنن. ولی TLS این اطلاعات رو جوری رمزنگاری می‌کنه که شنود بی‌فایده می‌شه 🎧.
3⃣ جعل هویت:
هکرها می‌خوان خودشون رو جای سرور جا بزنن و تو رو گول بزنن. TLS با تأیید هویت قوی‌تر جلوی این کار رو می‌گیره 🚫.

چرا باید از TLS استفاده کنیم؟ 🤷‍♂️
با وجود تمام این حملات و هکرهایی که همیشه دنبال یه فرصت برای دزدیدن اطلاعات هستن 🕵️‍♂️، استفاده از TLS اهمیت خیلی زیادی داره. TLS امنیت اطلاعاتت رو توی وب تضمین می‌کنه و باعث می‌شه با خیال راحت بتونی اطلاعات حساسی مثل رمز عبور، شماره کارت بانکی و پیام‌های شخصی‌ات رو با سرور رد و بدل کنی .

امید وارم براتون مفید بوده باشه :)❤️


#TLS#SSL#امنیت_اینترنتی#رمزنگاری#حملات_سایبری#POODLE


@ninja_learn_ir
🔥10👍51