Forwarded from آکادمی دکتر مسفروش (Ali Mesforush)
با سلام
در آکادمی دکتر مسفروش بیش از ۵۰ هزار دقیقه ویدیوی آموزشی در ۳۴ عنوان شامل دروس دورههای کارشناسی و کارشناسی ارشد در زمینه ریاضی و علوم کامپیوتر با هدف برقراری عدالت آموزشی به صورت رایگان منتشر شده است. در صورت امکان این پست را به صورت توییت یا ارسال به گروهها و کانالهای تلگرام، واتس اپ و ... منتشر بفرمایید.
با سپاس
/مسفروش
https://www.youtube.com/@DrMesforushAcademy/playlists
در آکادمی دکتر مسفروش بیش از ۵۰ هزار دقیقه ویدیوی آموزشی در ۳۴ عنوان شامل دروس دورههای کارشناسی و کارشناسی ارشد در زمینه ریاضی و علوم کامپیوتر با هدف برقراری عدالت آموزشی به صورت رایگان منتشر شده است. در صورت امکان این پست را به صورت توییت یا ارسال به گروهها و کانالهای تلگرام، واتس اپ و ... منتشر بفرمایید.
با سپاس
/مسفروش
https://www.youtube.com/@DrMesforushAcademy/playlists
👍7❤1👎1
سلام به همه
✅ از اونجایی که من async newcomers هستم. این سوال رو میپرسم.
این لینک رو ببینید
https://blog.stephencleary.com/2012/07/dont-block-on-async-code.html
میخوام ببینم شما حرفه ای های پایتون این مشکلات deadlock رو توی پایتون داشتید؟ یا پایتون رفتارش متفاوته.
❕یه پروژه دات نتی بود. من بخشی اش رو اوکی کردم. مطلبش در مورد دات نت هست. اما مفاهیم مشترکه
✅ از اونجایی که من async newcomers هستم. این سوال رو میپرسم.
این لینک رو ببینید
https://blog.stephencleary.com/2012/07/dont-block-on-async-code.html
میخوام ببینم شما حرفه ای های پایتون این مشکلات deadlock رو توی پایتون داشتید؟ یا پایتون رفتارش متفاوته.
❕یه پروژه دات نتی بود. من بخشی اش رو اوکی کردم. مطلبش در مورد دات نت هست. اما مفاهیم مشترکه
Forwarded from Microfrontend.ir
در این ویدیو از پلی لیست آموزش رایگان پروژه محور Django به مررسی مفهوم کاربر در جنگو پرداختیم. ابتدا تنظیمات مرتبط با مدل یوزر در جنگو را مرور و سپس کلاس های پایه User در جنگو و فیلدهای آن را مرور کردیم. سپس برای Extend Django User Model یک اپ مستقل ساختیم و Custom User خود را نوشتیم و به پروژه اضافه کردیم. همچنین برای مدیریت آن به Django Admin هم اضافه کردیم
Video: https://youtu.be/wXBxfttOGUo
PlayList: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBwnWCHfoka0G57oL-8fuMGW
Git: https://github.com/hemanhp/djshop
〰️〰️〰️〰️〰️〰️
© | @microfrontend_ir
Video: https://youtu.be/wXBxfttOGUo
PlayList: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBwnWCHfoka0G57oL-8fuMGW
Git: https://github.com/hemanhp/djshop
〰️〰️〰️〰️〰️〰️
© | @microfrontend_ir
👍2
Forwarded from آموزش پایتون، دوآپس و مهندسی نرم افزار | BobyCloud (Boby Cloud)
✅ ویدیو جدید راجع به ۵ کتابی هست که هر برنامه نویس پایتون لازم داره بخونه تا توی پایتون حرفه ای بشه و کارهایی رو بتونه انجام بده که اکثر آدم ها بخاطر نداشتن دانش فنی کافی نمیتونن انجام بدن. اگه دوست داشتید میتونید روی یوتوب ببینید:
🖥 مشاهده در یوتوب
👉 Link: https://youtu.be/DlZGvsg655A?si=tsrn3Sy9k6aporRe
〰️〰️〰️〰️〰️〰️
@BobyDotCloud
🖥 مشاهده در یوتوب
👉 Link: https://youtu.be/DlZGvsg655A?si=tsrn3Sy9k6aporRe
〰️〰️〰️〰️〰️〰️
@BobyDotCloud
👍5
Forwarded from Python BackendHub
یک تایمی که اپلای میکردم برای اروپا متوجه شدم اکثر شرکت های اروپایی یک فریم ورک و فرهنگ مشخص دارن برای استخدام،
اولا که اگهی ها اینطوری بود:
What you will do
1. ….
2. ….
What you will bring
1. Proficienct in Django
2. …
3. Fimiliar with k8s
Nice to have
1. …
دلیلش اینه که وقتی میگن advance یا … مشخص نیست چقدر ادونس؟ تکنولوژی تو اخرین مرحله advance اش یعنی شما مستقیما core contributer بشی و شاید سال ها طول بکشه تا به اونجا برسی. پس طبیعتا این کلمه advance میتونه به کلی معنی های مختلف ترجمه شه. ولی وقتی تسکی که انتظار میره ازتون رو بنویسن شما متوجه میشی چقدر میخوان اشنایی داشته باشی با یک چیزی
نکته دوم، شرکت های خیلی بزرگ و FAANG میان سوالات سخت الگوریتمی میذارن تو مصاحبه فنی، کاری به خوبی و بدیش ندارم ولی اون شرکتا تو اون حجم راهکار دیگه ای ندارن. نمیتونن بشینن برای کاندید های مناسب یک پوزیشن تک تک coding assignment بدن و پروژه هاشون رو چک کنند، هزینه این کار تو scale بالا ممکنه براشون غیرمنطقی باشه. پس شرکتا معمولا یا coding assignment میدن یا الگوریتم. نمیان جفتشو بدن! کنارش سوالات تئوری هم میپرسن.
و نکته اخر، چه الگوریتم باشه چه coding assignment، مستقیما به پروداکت شرکت ربطی نداره! مثلا من coding assignment هایی که انجام دادم راجب pokemon و imdb و این چیزا بود. طبیعتا نباید چالش شرکتو assignment بدن بهتون، یا اگه همچین کاریکنند باید بهتون هزینه پرداخت کنند چون دارین عملا رو پروداکتشون کد میزنید.
@ManiFoldsPython
اولا که اگهی ها اینطوری بود:
What you will do
1. ….
2. ….
What you will bring
1. Proficienct in Django
2. …
3. Fimiliar with k8s
Nice to have
1. …
دلیلش اینه که وقتی میگن advance یا … مشخص نیست چقدر ادونس؟ تکنولوژی تو اخرین مرحله advance اش یعنی شما مستقیما core contributer بشی و شاید سال ها طول بکشه تا به اونجا برسی. پس طبیعتا این کلمه advance میتونه به کلی معنی های مختلف ترجمه شه. ولی وقتی تسکی که انتظار میره ازتون رو بنویسن شما متوجه میشی چقدر میخوان اشنایی داشته باشی با یک چیزی
نکته دوم، شرکت های خیلی بزرگ و FAANG میان سوالات سخت الگوریتمی میذارن تو مصاحبه فنی، کاری به خوبی و بدیش ندارم ولی اون شرکتا تو اون حجم راهکار دیگه ای ندارن. نمیتونن بشینن برای کاندید های مناسب یک پوزیشن تک تک coding assignment بدن و پروژه هاشون رو چک کنند، هزینه این کار تو scale بالا ممکنه براشون غیرمنطقی باشه. پس شرکتا معمولا یا coding assignment میدن یا الگوریتم. نمیان جفتشو بدن! کنارش سوالات تئوری هم میپرسن.
و نکته اخر، چه الگوریتم باشه چه coding assignment، مستقیما به پروداکت شرکت ربطی نداره! مثلا من coding assignment هایی که انجام دادم راجب pokemon و imdb و این چیزا بود. طبیعتا نباید چالش شرکتو assignment بدن بهتون، یا اگه همچین کاریکنند باید بهتون هزینه پرداخت کنند چون دارین عملا رو پروداکتشون کد میزنید.
@ManiFoldsPython
❤2
یعنی دیگه از JQuery استفاده نکنم؟
بخشهایی از nojquery.ir:
عبارت VanillaJS یا همون جاوا اسکریپت وانیلی، به معنی کد های خام جاوا اسکریپت هست که بدون استفاده از هیچ فریمورکی و فقط و فقط با قابلیت های پیشفرض خود زبان Javascript پیادهسازی شدند.
...
برای سلب مسئولیت باید خدمتتون عرض کنم که ما نمیگیم که نباید از JQuery یا بقیه دوستانش استفاده کرد، بلکه صحبت ما سر این هست که تنبلی رو کنار بزاریم و چون بلد نیستیم یا حوصله نداریم یاد بگیریم، نیایم و چندین مگابایت فریمورک و کتابخونه لود کنیم توی پروژه، چون پرفرمنس واقعا مهم هست و در اشاره به اون عده از دوستانی که با حالت متفکرانهای میگویند: "چرخ را نباید مجددا اختراع کرد" باید عرض کنم که این صفحه خوشگل و پر محتوا، بههمراه سه نوع فونتفیس لود شده و کل محتویات، حدود 300 کیلوبایت هست، اونوقت یه صفحه گلمنگلی که توش JQuery و Bootstrap و بقیه دوستانش رو لود میکنید، چندین مگابایت حجمش میشه و سریع توی بیوگرافی مینویسید "آیم وب دولوپر"، راستش ایرانخودرو هم ماشین تولید میکنه، تسلا هم ماشین تولید میکنه و خوشبختانه جفتشون هم کار میکنند
بخشهایی از nojquery.ir:
عبارت VanillaJS یا همون جاوا اسکریپت وانیلی، به معنی کد های خام جاوا اسکریپت هست که بدون استفاده از هیچ فریمورکی و فقط و فقط با قابلیت های پیشفرض خود زبان Javascript پیادهسازی شدند.
...
برای سلب مسئولیت باید خدمتتون عرض کنم که ما نمیگیم که نباید از JQuery یا بقیه دوستانش استفاده کرد، بلکه صحبت ما سر این هست که تنبلی رو کنار بزاریم و چون بلد نیستیم یا حوصله نداریم یاد بگیریم، نیایم و چندین مگابایت فریمورک و کتابخونه لود کنیم توی پروژه، چون پرفرمنس واقعا مهم هست و در اشاره به اون عده از دوستانی که با حالت متفکرانهای میگویند: "چرخ را نباید مجددا اختراع کرد" باید عرض کنم که این صفحه خوشگل و پر محتوا، بههمراه سه نوع فونتفیس لود شده و کل محتویات، حدود 300 کیلوبایت هست، اونوقت یه صفحه گلمنگلی که توش JQuery و Bootstrap و بقیه دوستانش رو لود میکنید، چندین مگابایت حجمش میشه و سریع توی بیوگرافی مینویسید "آیم وب دولوپر"، راستش ایرانخودرو هم ماشین تولید میکنه، تسلا هم ماشین تولید میکنه و خوشبختانه جفتشون هم کار میکنند
👍7👎3🤔3
بیست میلیون تومن برای باگ Critical 🚬
https://twitter.com/1rpwn/status/1716379134207615329?t=C_5-yG7xiJXtqW0Llgk1ew&s=35
https://twitter.com/1rpwn/status/1716379134207615329?t=C_5-yG7xiJXtqW0Llgk1ew&s=35
🤮6👎2👍1
Forwarded from مطالب رایگان و آزاد🎈 ( behrad)
* حمله بافراورفلو در عمل چجوریه؟
* چجوری با gdb میتونیم زیر باک یه برنامه رو نگاه کنیم؟
* مموری-سیف نبودن یه زبانی مثل C چطور ممکنه اشکال امنیتی ایجاد کنه؟
اینا از قبیل سوالاتی هستن که تا حدی توی این پست پاسخ داده میشن، اما باید بهتون هشدار بدم، این پست زبانش بشدت تخصصیه... کاریش هم نمیشه کرد، به ناچار باید تخصصی توضیح بدیم.
برای همین این پست رو با این جداکنندههای متفاوت از بقیه مفاهیمی که داریم میگیم ایزوله کردم - اگه جاییش رو متوجه نشدین، راجع بهش سرچ کنین و از پایه بیشتر مطالعهش کنین... هرچند که سعی میکنم همهچیو توضیح بدم.
=+=+=+=+=+=+=+=+=+=+=+=+=+=
قبلتر مفهوم حمله از طریق بافراورفلو ر بصورت انتزاعی توضیح دادیم:
▪️حمله بافر-اورفلو چیست؟
و فهمیدیم که توی RAM یا مموری مربوط به برنامه اطلاعاتی نوشته شدن که هر کدوم بصورت یه بافر (حافظه موقت) هستن، حالا یه زمانی بخاطر دسترسی بازی که توی زبانهای سطح پایینی مثل C و یا حتی پایینتر مثل اسمبلی داریم، ممکنه یه مقداری اضافه از توی رم خونده/نوشته بشه...
ممکنه یه مقدار روی یه مقدار دیگه نوشته بشه، یا طول یه بافر به اشتباه زیاد/کم بشه و مقدایر دیگری که نباید خونده بشن، خونده بشن.
گاها و عمدتا اشتباهی از سمت برنامهنویس هست که باعث بروز این اتفاق میشه.
میخوایم اینو در عمل ببینیم.
بار اولی که من داشتم این کد رو مینوشتم، توی تابع مموریدامپ() ، طول متغیر هگز رو یه آرایهای از کرکترها [بخونید استرینگ] 2 بایتی گرفتم یعنی به جای
قبلتر توی توضیح اینتیجر گفتیم که:
بایت 00000000 یا بایت صفر، توی جهان کامپیوتر به بایت خالی یه بایت نیول/نال شناخته میشه:
0 000 00 00000000 NUL � Null character
و کرکتر اسکیش خالیه.
و البته توی توضیحات فیلم TENET (🥴) هم گفته بودیم که:
سی این روزا با استرینگداتایچ هم کامپایل میشه، ولی قدیما استرینگ نداشت،...در حقیقتC کلا استرینگ نداره... توی اون رشتهها، "آرایهای از کرکترها" هستن... و خود کرکترها یه بایت هستن (با انکدینگ اسکی)
پس زیر باک کامپایلر رشتهها، فقط آرایه ای از بایتها هستن:)
نکته: برای همینه که توی سی وقتی میخوان یه بایت دیتا ذخیر کنن از نوع داده char استفاده میکنن... چون یه بایته:3
از 0 تا 255 ...
عجیبه که اونجا اینارو درس دادیم ولی خب😬
نهایتا این آرایه 2عنصری ما (2 بایتی) اورفلو میکنه به 4 عنصر (4 بایت)
یعنی بخاطر بایت NULL هم یکی به مقدارش اضافه میشه و نهایتا میشه 4 بایت، ما براش 2 بایت تخصیص داده بودیم، اروری اتفاق نمیفته (چون زبان دست شمارو باز میذاره) و بافر اورفلو صورت میگیره.
2 بایت اضافه تر نوشته میشن توی رم روی یه چیزایی که نباید نوشته بشن...
و توی کامپایلر و سیستم من، برنامه یکهو میفته روی یه حلقه بینهایت!✨
ممکنه توی سیستم شما اینطور نشه، یا اتفاق عجیبتری بیفته، اما اینطوری که gcc داره کامپایل میکنه بایتهارو پشت هم ذخیره میکنه و من هنوز تست نکرده میتونم حدس بزنم چه اتفاق عجیبی میفته، مقدار i شمارنده حلقه خط بعدی باشه تغییر میکنه و احتمالا شرط هیچوقت False نمیشه و حلقه به اتمام نمیرسه!!!
بریم ببینیم*-*
* چجوری با gdb میتونیم زیر باک یه برنامه رو نگاه کنیم؟
* مموری-سیف نبودن یه زبانی مثل C چطور ممکنه اشکال امنیتی ایجاد کنه؟
اینا از قبیل سوالاتی هستن که تا حدی توی این پست پاسخ داده میشن، اما باید بهتون هشدار بدم، این پست زبانش بشدت تخصصیه... کاریش هم نمیشه کرد، به ناچار باید تخصصی توضیح بدیم.
برای همین این پست رو با این جداکنندههای متفاوت از بقیه مفاهیمی که داریم میگیم ایزوله کردم - اگه جاییش رو متوجه نشدین، راجع بهش سرچ کنین و از پایه بیشتر مطالعهش کنین... هرچند که سعی میکنم همهچیو توضیح بدم.
=+=+=+=+=+=+=+=+=+=+=+=+=+=
قبلتر مفهوم حمله از طریق بافراورفلو ر بصورت انتزاعی توضیح دادیم:
▪️حمله بافر-اورفلو چیست؟
و فهمیدیم که توی RAM یا مموری مربوط به برنامه اطلاعاتی نوشته شدن که هر کدوم بصورت یه بافر (حافظه موقت) هستن، حالا یه زمانی بخاطر دسترسی بازی که توی زبانهای سطح پایینی مثل C و یا حتی پایینتر مثل اسمبلی داریم، ممکنه یه مقداری اضافه از توی رم خونده/نوشته بشه...
ممکنه یه مقدار روی یه مقدار دیگه نوشته بشه، یا طول یه بافر به اشتباه زیاد/کم بشه و مقدایر دیگری که نباید خونده بشن، خونده بشن.
گاها و عمدتا اشتباهی از سمت برنامهنویس هست که باعث بروز این اتفاق میشه.
میخوایم اینو در عمل ببینیم.
بار اولی که من داشتم این کد رو مینوشتم، توی تابع مموریدامپ() ، طول متغیر هگز رو یه آرایهای از کرکترها [بخونید استرینگ] 2 بایتی گرفتم یعنی به جای
char hex[4];نوشته بودم
char hex[2];چرا؟ چون فکر میکردم که آرگومان
"%02hhX "
همیشه یه هگز با طول 2 برمیگردونه، اما اینطور نیست... اولا که یه اسپیس آخرش گذاشتیم یکی به طولش اضافه میشه... که من حواسم نبود حسابش کنم، دوما که... استرینگها در زیر باک زبان C و البته زیر باک تقریبا هر زبان دیگری، با بایت نیول/نال تموم میشن که کامپیوتر بفهمه استرینگ تموم شده... قبلتر توی توضیح اینتیجر گفتیم که:
بایت 00000000 یا بایت صفر، توی جهان کامپیوتر به بایت خالی یه بایت نیول/نال شناخته میشه:
0 000 00 00000000 NUL � Null character
و کرکتر اسکیش خالیه.
و البته توی توضیحات فیلم TENET (🥴) هم گفته بودیم که:
سی این روزا با استرینگداتایچ هم کامپایل میشه، ولی قدیما استرینگ نداشت،...در حقیقتC کلا استرینگ نداره... توی اون رشتهها، "آرایهای از کرکترها" هستن... و خود کرکترها یه بایت هستن (با انکدینگ اسکی)
پس زیر باک کامپایلر رشتهها، فقط آرایه ای از بایتها هستن:)
نکته: برای همینه که توی سی وقتی میخوان یه بایت دیتا ذخیر کنن از نوع داده char استفاده میکنن... چون یه بایته:3
از 0 تا 255 ...
عجیبه که اونجا اینارو درس دادیم ولی خب😬
نهایتا این آرایه 2عنصری ما (2 بایتی) اورفلو میکنه به 4 عنصر (4 بایت)
یعنی بخاطر بایت NULL هم یکی به مقدارش اضافه میشه و نهایتا میشه 4 بایت، ما براش 2 بایت تخصیص داده بودیم، اروری اتفاق نمیفته (چون زبان دست شمارو باز میذاره) و بافر اورفلو صورت میگیره.
2 بایت اضافه تر نوشته میشن توی رم روی یه چیزایی که نباید نوشته بشن...
و توی کامپایلر و سیستم من، برنامه یکهو میفته روی یه حلقه بینهایت!✨
ممکنه توی سیستم شما اینطور نشه، یا اتفاق عجیبتری بیفته، اما اینطوری که gcc داره کامپایل میکنه بایتهارو پشت هم ذخیره میکنه و من هنوز تست نکرده میتونم حدس بزنم چه اتفاق عجیبی میفته، مقدار i شمارنده حلقه خط بعدی باشه تغییر میکنه و احتمالا شرط هیچوقت False نمیشه و حلقه به اتمام نمیرسه!!!
بریم ببینیم*-*
❤5👍2
Forwarded from Golem Course
زمانی که در حال توسعه یک محصول هستید و ابعاد آن از یک حد خاصی بیشتر میشود، نیاز به استراتژی برای ایجاد شاخه در گیت پیدا میکنید. استراتژیهای متنوعی مانند:
gitflow
github flow
gitlab flow
trunk-based development
برای مدیریت شاخهها وجود دارد. من یک ویدیو درباره مدل gitflow ضبط کردهام که میتوانید آن را از طریق این لینک در کانال یوتیوب من تماشا کنید.
@golemcourse
gitflow
github flow
gitlab flow
trunk-based development
برای مدیریت شاخهها وجود دارد. من یک ویدیو درباره مدل gitflow ضبط کردهام که میتوانید آن را از طریق این لینک در کانال یوتیوب من تماشا کنید.
@golemcourse
👍3
Forwarded from Learn with Osman (Osman Makhtoom)
Media is too big
VIEW IN TELEGRAM
من بعنوان یک انسان وظیفه خودم میدونم درمورد جنایات جنگی در فلسطین سکوت نکنم و دعوتتون میکنم شما هم نسبت بهش بی تفاوت نباشین.
این قضیه ربطی به دین و مذهب نداره و موضوعی مربوط به انسانیته!
@osmanpydev
این قضیه ربطی به دین و مذهب نداره و موضوعی مربوط به انسانیته!
@osmanpydev
👍45👎33❤1
✅ نسخه ها و اصطلاحات مهم پستگرس
ویدئویی از @HemanHP2
ار کانال @microfrontend_ir
واقعا لذت بردم
https://youtu.be/SkVtPmMk6YY?si=7jSQnrhKHgGvIiM4
ویدئویی از @HemanHP2
ار کانال @microfrontend_ir
واقعا لذت بردم
https://youtu.be/SkVtPmMk6YY?si=7jSQnrhKHgGvIiM4
YouTube
آموزش PostgreSQL - نسخه ها و اصطلاحات مهم پستگرس
در این ویدیو از آموزش PostgreSQL به بررسی شیوه منتشر شدن نسخه ها و اصطلاحات مهم پستگرس پرداختیم. پستگرس هر سال یک نسخه ماژور منتشر میکند که ممکن است با نسخه های قبل تر سازگاری کامل نداشته باشد. سپس برخی اصطلاحات مهم پستگرس که در ادامه پلی لیست آنها را مکررا…
❤2👍2
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
پروژه aggify اوپن سورس شد 🥳
این پروژه با سینتکس ساده و شبیه به django orm میتونه pipeline های aggregate رو بسازه و کوئری های پیچیده MongoDB رو بشدت ساده سازی کنه
با استفاده از این کتابخونه شما به راحتی میتونید از جوین استفاده کنید توی MongoDB
در حال حاضر این کتابخونه با فرض بر اینکه مدل های دیتابیس شما با MongoeEngine نوشته شده اند کار میکنه و در آینده روش های دیگه هم قراره ساپورت کنه
اگر مشتاق هستید میتونید توی توسعه این پروژه مشارکت کنید
github: github.com/Aggify/aggify
pypi : https://pypi.org/project/aggify/
website : aggify.org
mail : support@aggify.org
Telegram : @Aggify
توی کانال تلگرام جوین بشید و به پروژه توی گیتهاب ستاره بدید🥰
با پخش این پست به شناخته شدن این پروژه کمک کنید ❤️
✅ @SEYED_BAX
این پروژه با سینتکس ساده و شبیه به django orm میتونه pipeline های aggregate رو بسازه و کوئری های پیچیده MongoDB رو بشدت ساده سازی کنه
با استفاده از این کتابخونه شما به راحتی میتونید از جوین استفاده کنید توی MongoDB
در حال حاضر این کتابخونه با فرض بر اینکه مدل های دیتابیس شما با MongoeEngine نوشته شده اند کار میکنه و در آینده روش های دیگه هم قراره ساپورت کنه
اگر مشتاق هستید میتونید توی توسعه این پروژه مشارکت کنید
github: github.com/Aggify/aggify
pypi : https://pypi.org/project/aggify/
website : aggify.org
mail : support@aggify.org
Telegram : @Aggify
توی کانال تلگرام جوین بشید و به پروژه توی گیتهاب ستاره بدید
با پخش این پست به شناخته شدن این پروژه کمک کنید ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
Forwarded from مطالب رایگان و آزاد🎈 ( behrad)
* مفهوم ضربان قلب در علم کامپیوتر چیست؟
اون قدیمترها من وقتی که تازهکار بودم و وبسرور راه مینداختم و API مینوشتم، یه کاری رو میکردم که مطمئن بشم سروری که راه انداختم داره بدون اشکال کار میکنه، اونم این بود که با یه برنامه زماندار (کرونجاب/cronjob) هر چند دقیقه سرور رو پینگ میکردم که مطمئن بشم هنوز داره کار میکنه...
اما پبینگ کردن کافی نبود، شما میتونی برنامهای بنویسی که هر چند وقت (زمانش بستگی به شما داره) به سرور بگه که من ادمین هستم، بگو ببینم وضعیتت چطوره؟
* بگو دیسکت چقدر جا داره
* بگو آپتایمت چقدره
* بگو آمپر CPUت روی چند درصده
* بگو چقدر رمت پره و چقدر خالیه
هر چند دقیقه اینارو از سرور بپرسه...
و هر بار چک کنه همه چی نرمال باشه، اگه رشد غیر طبیعی ببینه یا اتفاقی بیفته دیسک پر بشه یا سرور جواب نده یا هرچی، یه بوقی بزنه یا یه ایمیلی بده یا خیلی دیگه خفن باشه بهت یه sms بده که یه مشکلی توی سرور هست، مثلا دیسک شده 90 درصد... برو رسیدگی کن✨
این میشه مفهوم ضربان قلب که الان تخصصیتر میگم*
=+=+=+=+=+=+=+=
مانیتور کردن سیستم خیلی بحث مهمیه،
فرض کنین یه API ثالث (ثرد-پارتی) که توی سرورتون استفاده کردین بنا به دلایلی داون میشه، سرور ازش ریسپانس نمیگیره و به ارور میخوره... اما به کارش ادامه میده، چون شما زرنگ بودی و ارور هارو با ترای-کچ هندل کردی:
▪️فرق بین ارور و اکسپشن و وارنینگ و نوتیس چیه؟
▪️فلسفه ترای-کچ چیه؟
سیستم به کارش ادامه میده و شروع میکنه به لاگ انداختن که توی ساعت فلان، ثانیه فلان من این ریکوئست روبه API زدم منتهی داون بود و جواب نداد...
1 بار لاگ میندازه 2 بار لاگ میندازه 3 بار لاگ میندازه...
ایــــــــنقدر لاگ میندازه که یهو فایل لاگ میشه 60 گیگ، دیسک ددیکیتشده شما پر میشه و سرورتون داون میشه.
این یه مثال عملی بود از اینکه سرورها ممکنه به چه مشکلاتی بخورن...
اگه سیستمادمین باشین این سناریوها براتون به کرات اتفاق میافته.
همیشه هم شما نمیتونی مطمئن باشی چه چیزی ممکنه مشکل ایجاد کنه،
پس یکی از راهکارهای پیشگیری از فاجعه برای سرور، مانیتور کردن سرور در طول زمان هست...
برنامهنویسا عموما تنبلن و حوصله ندارن هی مستقیم سرور رو مانیتور کنن، پس به یه برنامه میگن که این کار رو براشون انجام بده😬 عقلانیش هم همینه.
مثلا من یه برنامه داشتم که یه رکوئست HTTP میزد (با پست) و به سرور میگفت من ادمینم اینم توکنم، بهم بگو علائم حیاتیت چیه...؟
سرور جواب میداد که:
* آپتایم 24 روز و 8 ساعت
* سیپییو 7 درصد
* رم 1 گیگ
* دیسک 128 گیگ خالی دارم
* سرعت پینگم هم 60 میلی ثانیهست
برنامه اینارو چک میکرد و اگه چیز آنرمالی میدید به من خبر میداد.
شما اگه خیلی خفن بودین میتونستین برنامه رو جوری بنویسین که مثلا بصورت نمایی، اطلاعات چندتا ضربان قلب قبلی سرور رو ذخیره کرده باشه و کنار هم بذاره و رشد خاصی رو برونیابی کنه و اگه حدس میزنه چیزی در حال تغییر غیر عادیه خبر بده...،
مثلا 5 ساعت پیش دیسک 128 گیگ خالی داشته،
4 ساعت پیش 128 گیک خالی داشته،
3 ساعت پیش 120 گیگ خالی داشته،
2 ساعت پیش 89 گیگ،
حالا هم 24 گیگ،
خب این یه تغییر غیر طبیعیه، فرمولهای ساده ریاضیاتی هستن که میتونن نسبت بگیرن و تغییرات ناخواستهای مثل این رو دیتکت کنن، برنامه به شما سریع sms بده که زود باش SSH کن به سرور که یه اتفاقی افتاده دیسک داره پر میشه...
شما سریع میری و مثلا میبینین که یه I/O اکسپشنی رخ داده یه فایل بسته نشده و هی داره توش داده نوشته میشه...،
قبل از اینکه دیسک پر بشه و سرور داون بشه و محاسباتتون دچار مشکل بشه و یا اطلاعات خاصیتون بپره، فیکسش میکنین*-*
اما،
امــــا،...
بعدا که رفتم ارشد، توی یه درسی همینو به ما درس دادن و فهمیدم این حرکت اصلا یه قسمت از علم کامپیوتره که بهش میگن کاندیشن مانیتورینگ
* Condition Monitoring
و اصلا یه پرتکل شبکهای وجود داره به اسم SNMP:
Simple Network Management Protocol
که روی UDP ران میشه و کارش مدیریت کردن خودکار یه دستگاه شبکهای هست و این پرتکل بای دیفالت مثلا روی روترها و سوئیچها پشتیبانی میشه....
اگه میخواین بیشتر بخونین:
https://en.wikipedia.org/wiki/Simple_Network_Management_Protocol
=+=+=+=+=+=+=+=
حالا شما میتونین خودتون یه پرتکل ضربان قلب پیاده کنین...
کتابخونهها و پرتکلهای آماده ای هم براین این موضوع هستن،
اگه سرورتون بزرگ و حساس هم هست میتونین بازه زمانی ضربان قلب گرفتن رو کمتر کنین، مثلا هر 1 دقیقه سیستم رو مانیتور کنین.
اگه میخواین ضربان قلب یا heartbeat رو تخصصی مطالعه کنین:
https://en.wikipedia.org/wiki/Heartbeat_(computing)
اون قدیمترها من وقتی که تازهکار بودم و وبسرور راه مینداختم و API مینوشتم، یه کاری رو میکردم که مطمئن بشم سروری که راه انداختم داره بدون اشکال کار میکنه، اونم این بود که با یه برنامه زماندار (کرونجاب/cronjob) هر چند دقیقه سرور رو پینگ میکردم که مطمئن بشم هنوز داره کار میکنه...
اما پبینگ کردن کافی نبود، شما میتونی برنامهای بنویسی که هر چند وقت (زمانش بستگی به شما داره) به سرور بگه که من ادمین هستم، بگو ببینم وضعیتت چطوره؟
* بگو دیسکت چقدر جا داره
* بگو آپتایمت چقدره
* بگو آمپر CPUت روی چند درصده
* بگو چقدر رمت پره و چقدر خالیه
هر چند دقیقه اینارو از سرور بپرسه...
و هر بار چک کنه همه چی نرمال باشه، اگه رشد غیر طبیعی ببینه یا اتفاقی بیفته دیسک پر بشه یا سرور جواب نده یا هرچی، یه بوقی بزنه یا یه ایمیلی بده یا خیلی دیگه خفن باشه بهت یه sms بده که یه مشکلی توی سرور هست، مثلا دیسک شده 90 درصد... برو رسیدگی کن✨
این میشه مفهوم ضربان قلب که الان تخصصیتر میگم*
=+=+=+=+=+=+=+=
مانیتور کردن سیستم خیلی بحث مهمیه،
فرض کنین یه API ثالث (ثرد-پارتی) که توی سرورتون استفاده کردین بنا به دلایلی داون میشه، سرور ازش ریسپانس نمیگیره و به ارور میخوره... اما به کارش ادامه میده، چون شما زرنگ بودی و ارور هارو با ترای-کچ هندل کردی:
▪️فرق بین ارور و اکسپشن و وارنینگ و نوتیس چیه؟
▪️فلسفه ترای-کچ چیه؟
سیستم به کارش ادامه میده و شروع میکنه به لاگ انداختن که توی ساعت فلان، ثانیه فلان من این ریکوئست روبه API زدم منتهی داون بود و جواب نداد...
1 بار لاگ میندازه 2 بار لاگ میندازه 3 بار لاگ میندازه...
ایــــــــنقدر لاگ میندازه که یهو فایل لاگ میشه 60 گیگ، دیسک ددیکیتشده شما پر میشه و سرورتون داون میشه.
این یه مثال عملی بود از اینکه سرورها ممکنه به چه مشکلاتی بخورن...
اگه سیستمادمین باشین این سناریوها براتون به کرات اتفاق میافته.
همیشه هم شما نمیتونی مطمئن باشی چه چیزی ممکنه مشکل ایجاد کنه،
پس یکی از راهکارهای پیشگیری از فاجعه برای سرور، مانیتور کردن سرور در طول زمان هست...
برنامهنویسا عموما تنبلن و حوصله ندارن هی مستقیم سرور رو مانیتور کنن، پس به یه برنامه میگن که این کار رو براشون انجام بده😬 عقلانیش هم همینه.
مثلا من یه برنامه داشتم که یه رکوئست HTTP میزد (با پست) و به سرور میگفت من ادمینم اینم توکنم، بهم بگو علائم حیاتیت چیه...؟
سرور جواب میداد که:
* آپتایم 24 روز و 8 ساعت
* سیپییو 7 درصد
* رم 1 گیگ
* دیسک 128 گیگ خالی دارم
* سرعت پینگم هم 60 میلی ثانیهست
برنامه اینارو چک میکرد و اگه چیز آنرمالی میدید به من خبر میداد.
شما اگه خیلی خفن بودین میتونستین برنامه رو جوری بنویسین که مثلا بصورت نمایی، اطلاعات چندتا ضربان قلب قبلی سرور رو ذخیره کرده باشه و کنار هم بذاره و رشد خاصی رو برونیابی کنه و اگه حدس میزنه چیزی در حال تغییر غیر عادیه خبر بده...،
مثلا 5 ساعت پیش دیسک 128 گیگ خالی داشته،
4 ساعت پیش 128 گیک خالی داشته،
3 ساعت پیش 120 گیگ خالی داشته،
2 ساعت پیش 89 گیگ،
حالا هم 24 گیگ،
خب این یه تغییر غیر طبیعیه، فرمولهای ساده ریاضیاتی هستن که میتونن نسبت بگیرن و تغییرات ناخواستهای مثل این رو دیتکت کنن، برنامه به شما سریع sms بده که زود باش SSH کن به سرور که یه اتفاقی افتاده دیسک داره پر میشه...
شما سریع میری و مثلا میبینین که یه I/O اکسپشنی رخ داده یه فایل بسته نشده و هی داره توش داده نوشته میشه...،
قبل از اینکه دیسک پر بشه و سرور داون بشه و محاسباتتون دچار مشکل بشه و یا اطلاعات خاصیتون بپره، فیکسش میکنین*-*
اما،
امــــا،...
بعدا که رفتم ارشد، توی یه درسی همینو به ما درس دادن و فهمیدم این حرکت اصلا یه قسمت از علم کامپیوتره که بهش میگن کاندیشن مانیتورینگ
* Condition Monitoring
و اصلا یه پرتکل شبکهای وجود داره به اسم SNMP:
Simple Network Management Protocol
که روی UDP ران میشه و کارش مدیریت کردن خودکار یه دستگاه شبکهای هست و این پرتکل بای دیفالت مثلا روی روترها و سوئیچها پشتیبانی میشه....
اگه میخواین بیشتر بخونین:
https://en.wikipedia.org/wiki/Simple_Network_Management_Protocol
=+=+=+=+=+=+=+=
حالا شما میتونین خودتون یه پرتکل ضربان قلب پیاده کنین...
کتابخونهها و پرتکلهای آماده ای هم براین این موضوع هستن،
اگه سرورتون بزرگ و حساس هم هست میتونین بازه زمانی ضربان قلب گرفتن رو کمتر کنین، مثلا هر 1 دقیقه سیستم رو مانیتور کنین.
اگه میخواین ضربان قلب یا heartbeat رو تخصصی مطالعه کنین:
https://en.wikipedia.org/wiki/Heartbeat_(computing)
👍13🔥2❤1
Forwarded from مطالب رایگان و آزاد🎈 ( behrad)
آیا تلگرام امنه؟ آیا میشه بهش اعتماد کرد؟
دارم سوالای شمارو به ترتیبی که قول دادم جواب میدم🫣✨
منتهی چون خیلی درگیرم با سرعت لاکپشتی پیش میریم...
آیا تلگرام امنه؟ آیا میشه بهش اعتماد کرد؟
پاسخ خیلی خیلی مختصر اینه:
خیــــر، خیر! اصلا به هیچ وجه امن نیست!
من هم از لحاظ علمی توضیح میدم و هم از لحاظ روانشناختی، بعدش هم یسری نکته رو میخوام متذکر بشم و میخوام داستان ماجراجویی شخصی خودم در سرزمینهای تلگرامو تعریف کنم✨😋 دلیلشم اینه که، من قبلا راجع به همین بحث، در جای دیگه توی یه گروه ایرانی نظر دادم، یه عده آدم بیسواد شروع کردن به مسخره کردن..! البته در آخر خودشونو شرمنده کردن و آبروی خودشون رفت..، ولی خب ترجیح میدم چند تا نکته رو بعدش روشن کنم.
این پست به شدت طولانی خواهد بود، چون میخوام یه بار برای همیشه پرونده تلگرامو ببندم و دیگه هیچوقت ازش حرف نزنم (احساس خوبی نسبت بهش ندارم:3)
توضیحات علمی:
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
آیا تلگرام امنه؟
امنیت به چه معنی؟ منظورمون از امنیت چیه؟
* اینکه دسترسی خود تلگرام به محتوا چقدره؟
* یا اینکه از بیرون کسی نمیتونه به ارتباطاتش رخنه کنه؟
اگه مورد اول منظورمونه، تلگرام به همه چــــــــی دسترسی داره،
تلگرام از پرتکل خودش استفاده میکنه که اسمشو گذاشته MtProto ، فکر کنم بِرارِ خود دوروف طراحیش کرده، خودش ادعا میکنه که نسبت به بیرون امنه و براش بانتی هم گذاشته، اما امنیتش همیشه مشکوک تلقی میشه چون بارها نشون دادن که توش موارد عجیبی وجود داره. رمزنگاریش مثل واستاپ e2e نیست، بلکه کلاینت سروریه:
client ==🔐==Telegram==🔐== client
پیامهای شما رمزنگاری میشه، به دست تلگرام که میرسه باز میشه رمزش و توی دیتابیس تلگرام ذخیره میشه، بعدش برای طرف مقابل رمزنگاری میشه و فرستاده میشه.
تلگرام میتونه به همـــــه چی دسترسی داشته باشه... همه چی...
محتوای پیام + متادیتا ...
هر چیزی...
داده هایی که توی فضای ابریش نگهداری میکنین، وویسها، تصاویر، فیلمها، فایلها، پیامها، متادیتای پیام (اطلاعات جانبیش)، خود پیام،
خلاصه همه چیز در چنگ تلگرام هست.
اسم واتساپو آوردم، معماری اونم توضیح بدم خالی از لطف نیست.
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
واتساپ اگه درست یادم باشه داره از پرتکل سیگنال استفاده میکنه، که محتوای پیامها
end-to-end
رمزنگاری میشه، یعنی رمزنگاری اینجوریه:
client =====🔐===== client
خود واستاپ نمیتونه رمز پیامهارو باز کنه.
ولی متادیتای پیامهارو میبینه- لاگ کلاینتها، با کیا سرکار داشتن، آیپی ها، ساعتها، مقدار محتوا و...
ولی محتویات خود پیام رمزنگاری اندتواند میشه و واتساپ از لحاظ علمی قاعدتا نمیتونه رمزش رو باز کنه. البته همه اینا در شبههای از احتمالات هست که احتمالا نمیتونه باز کنه. حالا بعدا راجع بهش صحبت میکنیم.
پس واتساپ به متن مراوردات دسترسی نداره، فقط متادیتا.
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
تلگرام فقط زمانی که روی سکرت-چت کار میکنه شبیه واتساپ میشه.
کما اینکه اخیرا فکر کنم قابلیت سکرت-چت هم برداشته، برای من حداقل چنین فیچرری دیگه وجود نداره.
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
اینجوری بخوایم به قضیه نگاه کنیم واتساپ امنتره، اما مقایسهها به همین سادگی هم نیست...
به واتساپ هم اشکالاتی وارده و همیشه ریز جزئیات بعضی قسمتهای رمزنگاریش واضح نبوده و...
ولی در کل هم دوروف و هم فیسبوک موجودیت های بدنامی در فروش اطلاعات هستن.
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
حالا به این قسمتها بیشتر برمیگردیم.
حالا اگر منظورمون از امنیت مورد دوم باشه، یعنی اینکه چقدر درمقابل تهدیدات بیرونی امن هستن،
بازم جفتشون نسبت به تهدیدات بیرونی آسیبپذیر هستن! چون پرتکلهاشون ایزوله هست...
من با یه استاد دانشگاه امیرکبیر صحبت میکردم، راجع به تلگرام میگفت که دولتهایی که ریسورس شکستن aes128 رو دارن پرتکل MTPtorto تلگرامو فیلتر نمیکنن... میذارن که کار کنه، هر موقع بخوان میتونن شنودش کنن، و دولتهایی که نمیتونن بشکننش فیلترش میکنن!
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
خیلی میشه راجع به ریز جزئیاتشون بحث کرد، منتهی احتمالا از حوصله یه پیام تلگرامی خارجه.
اگر کسی علاقمنده، میتونه ساختار mtproto رو بخونه:
https://core.telegram.org/mtproto
و همچنین پیادهسازی واتساپ از سیگنال رو بخونه:
https://www.whatsapp.com/security/WhatsApp-Security-Whitepaper.pdf
لازم نیست به حرفهای من طوطیوار اعتماد کنید، خودتون زیر باک این پروتکلهارو بخونید.
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
دارم سوالای شمارو به ترتیبی که قول دادم جواب میدم🫣✨
منتهی چون خیلی درگیرم با سرعت لاکپشتی پیش میریم...
آیا تلگرام امنه؟ آیا میشه بهش اعتماد کرد؟
پاسخ خیلی خیلی مختصر اینه:
خیــــر، خیر! اصلا به هیچ وجه امن نیست!
من هم از لحاظ علمی توضیح میدم و هم از لحاظ روانشناختی، بعدش هم یسری نکته رو میخوام متذکر بشم و میخوام داستان ماجراجویی شخصی خودم در سرزمینهای تلگرامو تعریف کنم✨😋 دلیلشم اینه که، من قبلا راجع به همین بحث، در جای دیگه توی یه گروه ایرانی نظر دادم، یه عده آدم بیسواد شروع کردن به مسخره کردن..! البته در آخر خودشونو شرمنده کردن و آبروی خودشون رفت..، ولی خب ترجیح میدم چند تا نکته رو بعدش روشن کنم.
این پست به شدت طولانی خواهد بود، چون میخوام یه بار برای همیشه پرونده تلگرامو ببندم و دیگه هیچوقت ازش حرف نزنم (احساس خوبی نسبت بهش ندارم:3)
توضیحات علمی:
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
آیا تلگرام امنه؟
امنیت به چه معنی؟ منظورمون از امنیت چیه؟
* اینکه دسترسی خود تلگرام به محتوا چقدره؟
* یا اینکه از بیرون کسی نمیتونه به ارتباطاتش رخنه کنه؟
اگه مورد اول منظورمونه، تلگرام به همه چــــــــی دسترسی داره،
تلگرام از پرتکل خودش استفاده میکنه که اسمشو گذاشته MtProto ، فکر کنم بِرارِ خود دوروف طراحیش کرده، خودش ادعا میکنه که نسبت به بیرون امنه و براش بانتی هم گذاشته، اما امنیتش همیشه مشکوک تلقی میشه چون بارها نشون دادن که توش موارد عجیبی وجود داره. رمزنگاریش مثل واستاپ e2e نیست، بلکه کلاینت سروریه:
client ==🔐==Telegram==🔐== client
پیامهای شما رمزنگاری میشه، به دست تلگرام که میرسه باز میشه رمزش و توی دیتابیس تلگرام ذخیره میشه، بعدش برای طرف مقابل رمزنگاری میشه و فرستاده میشه.
تلگرام میتونه به همـــــه چی دسترسی داشته باشه... همه چی...
محتوای پیام + متادیتا ...
هر چیزی...
داده هایی که توی فضای ابریش نگهداری میکنین، وویسها، تصاویر، فیلمها، فایلها، پیامها، متادیتای پیام (اطلاعات جانبیش)، خود پیام،
خلاصه همه چیز در چنگ تلگرام هست.
اسم واتساپو آوردم، معماری اونم توضیح بدم خالی از لطف نیست.
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
واتساپ اگه درست یادم باشه داره از پرتکل سیگنال استفاده میکنه، که محتوای پیامها
end-to-end
رمزنگاری میشه، یعنی رمزنگاری اینجوریه:
client =====🔐===== client
خود واستاپ نمیتونه رمز پیامهارو باز کنه.
ولی متادیتای پیامهارو میبینه- لاگ کلاینتها، با کیا سرکار داشتن، آیپی ها، ساعتها، مقدار محتوا و...
ولی محتویات خود پیام رمزنگاری اندتواند میشه و واتساپ از لحاظ علمی قاعدتا نمیتونه رمزش رو باز کنه. البته همه اینا در شبههای از احتمالات هست که احتمالا نمیتونه باز کنه. حالا بعدا راجع بهش صحبت میکنیم.
پس واتساپ به متن مراوردات دسترسی نداره، فقط متادیتا.
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
تلگرام فقط زمانی که روی سکرت-چت کار میکنه شبیه واتساپ میشه.
کما اینکه اخیرا فکر کنم قابلیت سکرت-چت هم برداشته، برای من حداقل چنین فیچرری دیگه وجود نداره.
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
اینجوری بخوایم به قضیه نگاه کنیم واتساپ امنتره، اما مقایسهها به همین سادگی هم نیست...
به واتساپ هم اشکالاتی وارده و همیشه ریز جزئیات بعضی قسمتهای رمزنگاریش واضح نبوده و...
ولی در کل هم دوروف و هم فیسبوک موجودیت های بدنامی در فروش اطلاعات هستن.
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
حالا به این قسمتها بیشتر برمیگردیم.
حالا اگر منظورمون از امنیت مورد دوم باشه، یعنی اینکه چقدر درمقابل تهدیدات بیرونی امن هستن،
بازم جفتشون نسبت به تهدیدات بیرونی آسیبپذیر هستن! چون پرتکلهاشون ایزوله هست...
من با یه استاد دانشگاه امیرکبیر صحبت میکردم، راجع به تلگرام میگفت که دولتهایی که ریسورس شکستن aes128 رو دارن پرتکل MTPtorto تلگرامو فیلتر نمیکنن... میذارن که کار کنه، هر موقع بخوان میتونن شنودش کنن، و دولتهایی که نمیتونن بشکننش فیلترش میکنن!
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
خیلی میشه راجع به ریز جزئیاتشون بحث کرد، منتهی احتمالا از حوصله یه پیام تلگرامی خارجه.
اگر کسی علاقمنده، میتونه ساختار mtproto رو بخونه:
https://core.telegram.org/mtproto
و همچنین پیادهسازی واتساپ از سیگنال رو بخونه:
https://www.whatsapp.com/security/WhatsApp-Security-Whitepaper.pdf
لازم نیست به حرفهای من طوطیوار اعتماد کنید، خودتون زیر باک این پروتکلهارو بخونید.
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
👍12👎2❤1
Forwarded from آموزش پایتون، دوآپس و مهندسی نرم افزار | BobyCloud (Boby Cloud)
✅ برنامه نویسی تدافعی (Defensive Programming) در پایتون مساله مهمی هست، متاسفانه بخاطر EAFP در پایتون، خیلی از برنامه نویسهای پایتون با تکنیکهای برنامه نویسی تدافعی برای افزایش پایداری و اطمینان نرم افزارها و همچنین کاهش باگها و اتفاقات غیرمنتظره، آشنا نیستند. اگر به ساخت نرم افزارهای قابل اطمینان و پایدار با پایتون علاقمند هستید این ویدیو رو از دست ندید.
🖥 مشاهده در یوتوب
👉 Link: https://youtu.be/wNiQwj9qKvc?si=MHlWs0iTPn3ddYZH
〰️〰️〰️〰️〰️〰️
@BobyDotCloud
🖥 مشاهده در یوتوب
👉 Link: https://youtu.be/wNiQwj9qKvc?si=MHlWs0iTPn3ddYZH
〰️〰️〰️〰️〰️〰️
@BobyDotCloud
🙃 ما برای یه پروژه خودمون یه فایل منجر نوشتیم. امان از مبتدی بودن
پکیج django-filer برای مدیریت فایل
آپدیت: آقا من ننوشتم من استفاده کننده ام فقط 😂
https://pypi.org/project/django-filer/
پکیج django-filer برای مدیریت فایل
آپدیت: آقا من ننوشتم من استفاده کننده ام فقط 😂
https://pypi.org/project/django-filer/
👏8👍5
Media is too big
VIEW IN TELEGRAM
✅ بخشی از آپدیت جدید دوره ساخت فروشگاه اینترنتی با جنگو
لینک ویدئو در آپارات:
https://www.aparat.com/v/42cSP
لطفا ایرادهایی که توی این قسمت دیدید. خصوصی برای @miladhzz بفرستید.
لینک ویدئو در آپارات:
https://www.aparat.com/v/42cSP
لطفا ایرادهایی که توی این قسمت دیدید. خصوصی برای @miladhzz بفرستید.
👏7👍1