جنگولرن
سلام به همه اون border رو uncomment کنید و بگید چرا رفتار browser اینجوریه. #سوزن_گیر_کرده_روی_html کد html برای راحتی شما: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0">…
لینک زیر تقریبا همین داستان ماست 😉 واقعا html css سخته
#سوزن_گیر_کرده_روی_html
https://www.geeksforgeeks.org/why-margin-on-child-element-moves-the-parent-element-in-css/
#سوزن_گیر_کرده_روی_html
https://www.geeksforgeeks.org/why-margin-on-child-element-moves-the-parent-element-in-css/
GeeksforGeeks
Why margin on child element moves the parent element in CSS ? - GeeksforGeeks
A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.
👎3👍1
جنگولرن
سلام به همه اون border رو uncomment کنید و بگید چرا رفتار browser اینجوریه. #سوزن_گیر_کرده_روی_html کد html برای راحتی شما: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0">…
✅ بهترین جواب:
هرجا سی اس اس اذیت میکنه بیاین پیش خودم احتمال خیلی زیاد بتونم کمک کنم :)
این موردی که دوستمون بهش برخورده موضوعی هستش به اسم
Margin collapsing
که کلا هر زمان دو عنصر در مجاورت هم باشن در راستای عمود بدون اینکه هیچ فاصله ای بینشون باشه مرورگر فقط یکی از مارجین ها رو در نظر میگیره و دیگری رو حذف یا به اصطلاح کلپس میکنه.
بحثش طولانی هستش ولی همین عنوان رو سرچ کنین کلی مقاله و ویدیو میاد که مورد های مختلف رو بررسی میکنه.
دوتا نکته:
اول اینکه این رفتار توی استانداردها هستش و مرورگرها موظف هستن که اینطوری پیاده ش کنن.
دوم اینکه من گفتم راستای عمود برای اینکه فهمش راحت تر باشه و الا درستش اینه بگیم راستای
block
که این هم باز یک بحث دیگه رو باز میکنه که جاش اینجا نیست :)
هرجا سی اس اس اذیت میکنه بیاین پیش خودم احتمال خیلی زیاد بتونم کمک کنم :)
این موردی که دوستمون بهش برخورده موضوعی هستش به اسم
Margin collapsing
که کلا هر زمان دو عنصر در مجاورت هم باشن در راستای عمود بدون اینکه هیچ فاصله ای بینشون باشه مرورگر فقط یکی از مارجین ها رو در نظر میگیره و دیگری رو حذف یا به اصطلاح کلپس میکنه.
بحثش طولانی هستش ولی همین عنوان رو سرچ کنین کلی مقاله و ویدیو میاد که مورد های مختلف رو بررسی میکنه.
دوتا نکته:
اول اینکه این رفتار توی استانداردها هستش و مرورگرها موظف هستن که اینطوری پیاده ش کنن.
دوم اینکه من گفتم راستای عمود برای اینکه فهمش راحت تر باشه و الا درستش اینه بگیم راستای
block
که این هم باز یک بحث دیگه رو باز میکنه که جاش اینجا نیست :)
👍3😁2
Forwarded from Python BackendHub
این meme رو دیدم خیلی جالب بود… عمق دانشنتون از PostgreSQL تا چه حدیه؟ یکم حس بی سوادی دست داد بهم :)) تو یکی از پستا چند روز پیش راجب یکیش پرداخته بودم 😁
Every sql operator is actually a join? WTF?😂
@ManiFoldsPython
Every sql operator is actually a join? WTF?😂
@ManiFoldsPython
👍10😁1🤔1
Python BackendHub
این meme رو دیدم خیلی جالب بود… عمق دانشنتون از PostgreSQL تا چه حدیه؟ یکم حس بی سوادی دست داد بهم :)) تو یکی از پستا چند روز پیش راجب یکیش پرداخته بودم 😁 Every sql operator is actually a join? WTF?😂 @ManiFoldsPython
سلام به همه
پیرو این پست باید بگم که قرار نیست برنامه نویس همه اینارو بلد باشه. چون بیشتر سمت دیتابیس هست. اما تا اون دو تا سطح اول که هنوز کمرش خم نشده رو دیگه باید بلد باشیم.
به نظرم یه نگاهی به کتابهایی مثل مهندسی نرم افزار، ساختمان داده ها، طراحی الگوریتم داشته باشید بد نیست.
منظورم این نیست که من اینارو بلدم. خودمم با 10 پاس کردم رفته. خودمم باید دوباره بخونمشون
پیرو این پست باید بگم که قرار نیست برنامه نویس همه اینارو بلد باشه. چون بیشتر سمت دیتابیس هست. اما تا اون دو تا سطح اول که هنوز کمرش خم نشده رو دیگه باید بلد باشیم.
به نظرم یه نگاهی به کتابهایی مثل مهندسی نرم افزار، ساختمان داده ها، طراحی الگوریتم داشته باشید بد نیست.
منظورم این نیست که من اینارو بلدم. خودمم با 10 پاس کردم رفته. خودمم باید دوباره بخونمشون
👏8👍2
Forwarded from مطالب رایگان و آزاد🎈 ( behrad)
هش کردن پسورد چیست؟
نمک زدن به پسورد چیست؟
جدول رنگینکمونی چیست؟
توی سیستمهای وب / اینترنت / سوشال مدیا و...، پسوردها عموما توی دیتابیس ذخیره میشن.
دیتابیس یکی از فیلدهای مورد علاقه منه، چند بار گفتم ازش حرف میزنیم ولی حرف نزدم هنوز... شما اگه علاقه دارین، تاکید مکرر میکنم که کتاب استاد آبراهام رو بخونین.
در این باره که این سیستمها میتونن پسورد صریح و plain شمارو داشته باشن که شکی نیست، اما یه عرفی هست، یک سیاست و یه اصل امنیتی که:
پسوردهایی که قراره توی دیتابیس ذخیره بشن، بصورت هش (هش کریپتوگرافیک- یا با آنتروپی بالا) ذخیره بشن.
این چه فایدهای داره؟
اگر روزی، هر اتفاقی برای سیستم افتاد و دیتابیس هک شد، پسورد صریح کاربرا اونجا نیست... و بجاش هشش هست، و از روی اون هش نمیشه پسورد رو بدست آورد (چون آنتروپیش بالاست - قبلا توضیح دادم)
دیتابیسها طراحی نشدن که امن باشن، طراحی شدن که بهینه و با سرعت زیاد و با هزینه کم کار کنن، از طرفی هیچ سیستمی امن نیست.
فرض کنید یکی با گونی بیاد توی دیتاسنترها و دیسکهارو بریزه توی گونی با خودش ببره🥴
به هر حال ریسک وجود داره، با رعایت کردن این عرف - ریسک لو رفتن پسورد مردم از بین میره.
برای همینه که توی اکثر سیستمها یا رمز رو براتون ریست میکنن، یا ازتون میخوان که با ایمیل برین توی یه لینک خودتون ریست کنین، چون خودشونم پسورد شمارو ندارن.
چرا هش میکنن؟ چرا رمزنگاری نمیکنن؟
چون که هش کریپتوگرافیک یه طرفه هست کلید هم نمیخواد، رمزنگاری دوطرفه هست کلید هم میخواد - خود کلیدو کجا ذخیره کنن؟
اگه لو بره همه پسوردها دیکریپت میشه.
+ اورهد و سربار محاسباتی هم داره.
هش راهکار زیرکانه و عملی خوبی هست✅
=+=+=+=+=+=+=+=+=+=+=+=+
از چه هشهایی میتونیم استفاده کنیم؟
یک هش کریپتوگرافیک - قبلا توضیح دادم، هش هایی که آنتروپی بالایی دارن. یک ذره دیتای ورودی تغییر کنه، کل خروجی هش عوض میشه ...
خروجیش قابل مدلسازی و حدس و الگویابی نیست، یه حالت شبهرندوم داره.
به اینا میگن هش کریپتوگرافیک - قدیما مسیجدایجست معروف بود (MD5 نسخه 5) مثلا، اما الان دیگه بخاطر کالیژنهایی که میزنه ناامنه...
الان
SHA : Secure Hash Algorithm
امن تلقی میشه - توضیح دادم قبلا.
=+=+=+=+=+=+=+=+=+=+=+=+
حالا... تا اینجا یاد گرفتیم که برای سیستم اعتبارسنجیمون، پسورد رو هش کنیم و بعد ذخیره کنیم.
حالا فرض کنیم یکی با گونی اومد و دیسکهارو دزدید و دیتابیس لیک شد...
هکرهای خبیث و خطرناک، هش های پسوردهای متداول رو از پیش حساب کردن و همیشه توی جیبشون دارن، به محض اینکه ی دیتابیس لیک شده میبینن سریع تست میکنن که مثلا کیا هش پسوردشون
827ccb0eea8a706c4c34a16891f84e7b
هست، یهو میبینن که عه 40 درصد دیتابیس همینه...
چون این هش "12345" هست.
این میشه نوعی بروتفورس تعمیم یافته - هش پسوردهای متداول رو قبلا حساب کردن و مثلا میتونن تا 95 درصد کل پسوردهای دیتابیس رو بفهمن اصلش چی بوده....
چون مردم از پسورد متداول استفاده میکنن.
اون هکرایی که خیلی خیلی خفن هستن (هکرای بیترتبیت و بیادب و خبیث منظورمه) عموما بجای لیست هشها یا فایلش، یه جدول رنگین کمونی 🌈 دارن که عموما روی دیتابیس به شکلی مستقر شده که سرعت جستجوی هش رو خیلی زیاد میکنه و زمان رو کم میکنه.
چیز خیلی سادهایه، ما این هشهایی که حساب کردیم رو میایم با یه راهکار ریاضیاتی جوری توی یه جدول (مثلا دیتابیس) مینویسیم که با کمترین هزینه در دسترس باشن و الگوریتم جستجومون با یه بار سیک کردن بتونه رنج زیادی از هشهای موجود رو بازیابی کنه.
در موردش بخونین...
یسری ابزار هست اصلا که rainbow-table ها توش امبد شده... و استفاده میشه کرد.
فکر کنم این کالی کوچولوی من توش پر از ایناس... اگه داشت نیشون میدم:3
خلاصه با این کار گفتیم میتونن خیلی سریع 95 هشهارو کرک کنن.
پس چیکار کنیم؟؟؟؟
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
مفهومی توی رمزنگاری هست به اسم نمک🧂😬
ما روی داده صریحمون (پسورد) قبل از اینکه هش بشه یخورده نمک (salt) میزنیم، این نمک یه دیتای رندومی هست ممکنه هر جوری ساخته شده باشه... این میتونه بچسبه به ته پسورد، یا اصلا مثل یه ادویه واقعی باهاش ایکسور بشه یا هرجوری بپاشیمش روی پسورد.
چون هشمون کریپتوگرافیک بوده، خروجی خیـــــلی تغییر بزرگی میکنه و کلا یه چیز رندوم دیگه میشه.
هکر نمیدونه من چه جور نمکی پاشیدم، چجوری پاشیدمش و چقدر پاشیدم!
جدول رنگین کمونیش دیگه کار نمیکنه:))
این میشه نمک زدن به پسورد.
توی رمزنگاری هم استفاده میشه، زمانی که ما سایز کلیدمونو استاندارد کنیم، که بدیمش به انکریپشن- مثلا AES، باید هشش کنیم، عموما بهش نمک هم میزنن و نمک رو هم بعدا کنار سایفر میذارن:)) (چرا؟ بهش فکر کنید)
=+=+=+=+=+=+=+=+=+=+=+
نمک زدن به پسورد چیست؟
جدول رنگینکمونی چیست؟
توی سیستمهای وب / اینترنت / سوشال مدیا و...، پسوردها عموما توی دیتابیس ذخیره میشن.
دیتابیس یکی از فیلدهای مورد علاقه منه، چند بار گفتم ازش حرف میزنیم ولی حرف نزدم هنوز... شما اگه علاقه دارین، تاکید مکرر میکنم که کتاب استاد آبراهام رو بخونین.
در این باره که این سیستمها میتونن پسورد صریح و plain شمارو داشته باشن که شکی نیست، اما یه عرفی هست، یک سیاست و یه اصل امنیتی که:
پسوردهایی که قراره توی دیتابیس ذخیره بشن، بصورت هش (هش کریپتوگرافیک- یا با آنتروپی بالا) ذخیره بشن.
این چه فایدهای داره؟
اگر روزی، هر اتفاقی برای سیستم افتاد و دیتابیس هک شد، پسورد صریح کاربرا اونجا نیست... و بجاش هشش هست، و از روی اون هش نمیشه پسورد رو بدست آورد (چون آنتروپیش بالاست - قبلا توضیح دادم)
دیتابیسها طراحی نشدن که امن باشن، طراحی شدن که بهینه و با سرعت زیاد و با هزینه کم کار کنن، از طرفی هیچ سیستمی امن نیست.
فرض کنید یکی با گونی بیاد توی دیتاسنترها و دیسکهارو بریزه توی گونی با خودش ببره🥴
به هر حال ریسک وجود داره، با رعایت کردن این عرف - ریسک لو رفتن پسورد مردم از بین میره.
برای همینه که توی اکثر سیستمها یا رمز رو براتون ریست میکنن، یا ازتون میخوان که با ایمیل برین توی یه لینک خودتون ریست کنین، چون خودشونم پسورد شمارو ندارن.
چرا هش میکنن؟ چرا رمزنگاری نمیکنن؟
چون که هش کریپتوگرافیک یه طرفه هست کلید هم نمیخواد، رمزنگاری دوطرفه هست کلید هم میخواد - خود کلیدو کجا ذخیره کنن؟
اگه لو بره همه پسوردها دیکریپت میشه.
+ اورهد و سربار محاسباتی هم داره.
هش راهکار زیرکانه و عملی خوبی هست✅
=+=+=+=+=+=+=+=+=+=+=+=+
از چه هشهایی میتونیم استفاده کنیم؟
یک هش کریپتوگرافیک - قبلا توضیح دادم، هش هایی که آنتروپی بالایی دارن. یک ذره دیتای ورودی تغییر کنه، کل خروجی هش عوض میشه ...
خروجیش قابل مدلسازی و حدس و الگویابی نیست، یه حالت شبهرندوم داره.
به اینا میگن هش کریپتوگرافیک - قدیما مسیجدایجست معروف بود (MD5 نسخه 5) مثلا، اما الان دیگه بخاطر کالیژنهایی که میزنه ناامنه...
الان
SHA : Secure Hash Algorithm
امن تلقی میشه - توضیح دادم قبلا.
=+=+=+=+=+=+=+=+=+=+=+=+
حالا... تا اینجا یاد گرفتیم که برای سیستم اعتبارسنجیمون، پسورد رو هش کنیم و بعد ذخیره کنیم.
حالا فرض کنیم یکی با گونی اومد و دیسکهارو دزدید و دیتابیس لیک شد...
هکرهای خبیث و خطرناک، هش های پسوردهای متداول رو از پیش حساب کردن و همیشه توی جیبشون دارن، به محض اینکه ی دیتابیس لیک شده میبینن سریع تست میکنن که مثلا کیا هش پسوردشون
827ccb0eea8a706c4c34a16891f84e7b
هست، یهو میبینن که عه 40 درصد دیتابیس همینه...
چون این هش "12345" هست.
این میشه نوعی بروتفورس تعمیم یافته - هش پسوردهای متداول رو قبلا حساب کردن و مثلا میتونن تا 95 درصد کل پسوردهای دیتابیس رو بفهمن اصلش چی بوده....
چون مردم از پسورد متداول استفاده میکنن.
اون هکرایی که خیلی خیلی خفن هستن (هکرای بیترتبیت و بیادب و خبیث منظورمه) عموما بجای لیست هشها یا فایلش، یه جدول رنگین کمونی 🌈 دارن که عموما روی دیتابیس به شکلی مستقر شده که سرعت جستجوی هش رو خیلی زیاد میکنه و زمان رو کم میکنه.
چیز خیلی سادهایه، ما این هشهایی که حساب کردیم رو میایم با یه راهکار ریاضیاتی جوری توی یه جدول (مثلا دیتابیس) مینویسیم که با کمترین هزینه در دسترس باشن و الگوریتم جستجومون با یه بار سیک کردن بتونه رنج زیادی از هشهای موجود رو بازیابی کنه.
در موردش بخونین...
یسری ابزار هست اصلا که rainbow-table ها توش امبد شده... و استفاده میشه کرد.
فکر کنم این کالی کوچولوی من توش پر از ایناس... اگه داشت نیشون میدم:3
خلاصه با این کار گفتیم میتونن خیلی سریع 95 هشهارو کرک کنن.
پس چیکار کنیم؟؟؟؟
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
مفهومی توی رمزنگاری هست به اسم نمک🧂😬
ما روی داده صریحمون (پسورد) قبل از اینکه هش بشه یخورده نمک (salt) میزنیم، این نمک یه دیتای رندومی هست ممکنه هر جوری ساخته شده باشه... این میتونه بچسبه به ته پسورد، یا اصلا مثل یه ادویه واقعی باهاش ایکسور بشه یا هرجوری بپاشیمش روی پسورد.
چون هشمون کریپتوگرافیک بوده، خروجی خیـــــلی تغییر بزرگی میکنه و کلا یه چیز رندوم دیگه میشه.
هکر نمیدونه من چه جور نمکی پاشیدم، چجوری پاشیدمش و چقدر پاشیدم!
جدول رنگین کمونیش دیگه کار نمیکنه:))
این میشه نمک زدن به پسورد.
توی رمزنگاری هم استفاده میشه، زمانی که ما سایز کلیدمونو استاندارد کنیم، که بدیمش به انکریپشن- مثلا AES، باید هشش کنیم، عموما بهش نمک هم میزنن و نمک رو هم بعدا کنار سایفر میذارن:)) (چرا؟ بهش فکر کنید)
=+=+=+=+=+=+=+=+=+=+=+
👏8👍4❤1
Forwarded from Python BackendHub
ویدیو خیلی خوبی بود، توصیه میکنم حتما ببینید. من داخل یک جایی دیدم دوستان متاسفانه برداشت کردن که امیربهادر گفته <کلا جنگو بدرد نمیخوره> 😂 خودم کارایی که میکنم و واقعا به قدرت حل مسئله ام جواب داده:
۰. اولین و مهم ترین نکته: همیشه query رو روی دیتابیس مینویسم، تا بهینه ترین کوئری ممکن رو بتونم بنویسم. بعد ترجمش میکنم به کد ORM. خیلی دیدم این مسیرو برعکس میرن که باعث وابستگی به ORM میشه.
۱. اولا کدای لایبری رو میخونم همونطور که اشاره کرد. خیلی وقتا داکیومت نمیخونم. واقعا لایبریا خیلی کوچیکن اکثرا، مثلا فلسک کلا ۱۵-۲۰ فایله پایتونیه تو ۲ فولدر 😁 تستاشم میخونم حتی. خیلی کمکم کرده این موضوع
۲. سخترین تسکایی که تو شرکت ممکنه به من assign نشه اخر هفته یواشکی انجام میدم :)) واقعا کمکتون میکنه این موضوع 😁
۳. تسکایی که قبلا حل کردم بازنویسی مجدد میکنم که بهترش کنم
۴. سعی میکنم تولز ها و لایبری های جدید یاد بگیرم. مثل propan یا rocketry.و خیلی چیزای دیگه که تو شرکت استفاده میشه و نمیتونم اشاره کنم، چون سولوشن هایی که میدن اکثرا راه حل خیلی خلاقانه ای پشتشونه. حتی کدشونم میخونم.
۵. وقتی با یک چیزی کار میکنم، سعی میکنم بهش فکر کنم. مثلا واقعا برام سوال شده بود Kafka چطور fault tolerance ای داره و چه مزیت و ضرری داره نسبت به rabbitmq، که چند تا مقاله راجب دیزاین اینترنالش خوندم و واقعا جالب بود.
۶. تا یک چیزیو حل نکنم ولش نمیکنم 😂 قبلا اینطور بودم که اگه میدیدم یک shortcut میانبر هست که مثلا صورت سوال رو پاک میکنم از اون میرم، ولی الان خیلی به ندرت پیش میاد همچین کاری کنم
@ManiFolsPython
۰. اولین و مهم ترین نکته: همیشه query رو روی دیتابیس مینویسم، تا بهینه ترین کوئری ممکن رو بتونم بنویسم. بعد ترجمش میکنم به کد ORM. خیلی دیدم این مسیرو برعکس میرن که باعث وابستگی به ORM میشه.
۱. اولا کدای لایبری رو میخونم همونطور که اشاره کرد. خیلی وقتا داکیومت نمیخونم. واقعا لایبریا خیلی کوچیکن اکثرا، مثلا فلسک کلا ۱۵-۲۰ فایله پایتونیه تو ۲ فولدر 😁 تستاشم میخونم حتی. خیلی کمکم کرده این موضوع
۲. سخترین تسکایی که تو شرکت ممکنه به من assign نشه اخر هفته یواشکی انجام میدم :)) واقعا کمکتون میکنه این موضوع 😁
۳. تسکایی که قبلا حل کردم بازنویسی مجدد میکنم که بهترش کنم
۴. سعی میکنم تولز ها و لایبری های جدید یاد بگیرم. مثل propan یا rocketry.و خیلی چیزای دیگه که تو شرکت استفاده میشه و نمیتونم اشاره کنم، چون سولوشن هایی که میدن اکثرا راه حل خیلی خلاقانه ای پشتشونه. حتی کدشونم میخونم.
۵. وقتی با یک چیزی کار میکنم، سعی میکنم بهش فکر کنم. مثلا واقعا برام سوال شده بود Kafka چطور fault tolerance ای داره و چه مزیت و ضرری داره نسبت به rabbitmq، که چند تا مقاله راجب دیزاین اینترنالش خوندم و واقعا جالب بود.
۶. تا یک چیزیو حل نکنم ولش نمیکنم 😂 قبلا اینطور بودم که اگه میدیدم یک shortcut میانبر هست که مثلا صورت سوال رو پاک میکنم از اون میرم، ولی الان خیلی به ندرت پیش میاد همچین کاری کنم
@ManiFolsPython
👍3
Forwarded from Seyed Mahdi Notes (Seyed Mahdi)
دیروز سوال شد ازم که آیا fast api سریع هست؟
خب در مرحله ی اول که اسمش روشه . اسمش فسته . اگه کند بود اسمشو میزاشتن slow api :)
به نظر من این قضیه و شمارش ریکوئست هایی که هر فریمورک میتونه در ثانیه ریسپانس بده (req/sec) کار باطلی هست
بر فرض ما یه app رو تازه نوشتیم(به هر زبونی و فریمورکی فرقی نمیکنه) توی قدم اول رانش میکنیم!!! نمیریم استرس و لود تست ازش بگیریم که همون اول :/
بعد چندین سال صبر میکنیم تا یوزرای همزمان سایت زیادتر بشن!
بعد ازدیاد جمعیت اولین bottleneck ای که بر میخوریم اینه که اپ کند شده... خب ورکر هاشو زیاد میکنیم. توی پایتون گونیکورن این قضیه رو هندل میکنه
بعد یه مدت وقتی شلوغ تر شدیم میبینیم دیتابیس زیر فشاره. خب قبل اینکه توی این استیت باشید باید کوئری هاتون رو تا جای ممکن بهینه میکردید.
توی این مرحله ۲ تا سولوشن دارید! (دقت کنید که هنوز مهم نیست اپ رو با چی نوشتید:))
- کش کردن: بخشی از دیتای دیتابیس رو کش کنید حالا یا با قابلیتای خود دیتابیس یا ردیس ای چیزی بزارید وسط
- کلاستر کردن دیتابیس: میتونید دیتابیس رو ۳ تا اینستنس ازش بیارید بالا و یا slave و master بزارید و تمام read ها رو بفرسید سمت اسلیو
خب تا اینجا احتمالا بالای ۵۰۰ تا یوزر همزمان دارید! ادامه بدم؟
خب قدم بعد مجدد app کم میاره اگه نمیتونید ترد ها و ورکر هاشو بیشتر از این بالا ببرید ؛ اینجاست که بحث فریمورک ها رو مطرح ...
نه خب سخت در اشتباهید بیام سر قضیه فریمورک و زبان بحث کنم
وقتی شما ۱۰۰۰ تا یوزر همزمان دارید یعنی پولتون از پارو بالا میره
برید ۳ تا سرور دیگه بخرید و بکندتون رو روی اونا هم ران کنید(همزمان ۳ جا) بعد از جایی که خریدید بگید یه نتورک داخلی بین این ۴ سرورتون بزاره . روی سرور ۴ ام haproxy یا nginx بزنید که ترافیک ورودی رو پخش کنه بین این ۳ تا سرور ... ایزی
در راستای این پست ، یکی میگفت: اونایی که وسط حرفاشون کلمات انگلیسی استفاده میکنن خیلی کنسل هستن :))))
خب در مرحله ی اول که اسمش روشه . اسمش فسته . اگه کند بود اسمشو میزاشتن slow api :)
به نظر من این قضیه و شمارش ریکوئست هایی که هر فریمورک میتونه در ثانیه ریسپانس بده (req/sec) کار باطلی هست
بر فرض ما یه app رو تازه نوشتیم(به هر زبونی و فریمورکی فرقی نمیکنه) توی قدم اول رانش میکنیم!!! نمیریم استرس و لود تست ازش بگیریم که همون اول :/
بعد چندین سال صبر میکنیم تا یوزرای همزمان سایت زیادتر بشن!
بعد ازدیاد جمعیت اولین bottleneck ای که بر میخوریم اینه که اپ کند شده... خب ورکر هاشو زیاد میکنیم. توی پایتون گونیکورن این قضیه رو هندل میکنه
بعد یه مدت وقتی شلوغ تر شدیم میبینیم دیتابیس زیر فشاره. خب قبل اینکه توی این استیت باشید باید کوئری هاتون رو تا جای ممکن بهینه میکردید.
توی این مرحله ۲ تا سولوشن دارید! (دقت کنید که هنوز مهم نیست اپ رو با چی نوشتید:))
- کش کردن: بخشی از دیتای دیتابیس رو کش کنید حالا یا با قابلیتای خود دیتابیس یا ردیس ای چیزی بزارید وسط
- کلاستر کردن دیتابیس: میتونید دیتابیس رو ۳ تا اینستنس ازش بیارید بالا و یا slave و master بزارید و تمام read ها رو بفرسید سمت اسلیو
خب تا اینجا احتمالا بالای ۵۰۰ تا یوزر همزمان دارید! ادامه بدم؟
خب قدم بعد مجدد app کم میاره اگه نمیتونید ترد ها و ورکر هاشو بیشتر از این بالا ببرید ؛ اینجاست که بحث فریمورک ها رو مطرح ...
نه خب سخت در اشتباهید بیام سر قضیه فریمورک و زبان بحث کنم
وقتی شما ۱۰۰۰ تا یوزر همزمان دارید یعنی پولتون از پارو بالا میره
برید ۳ تا سرور دیگه بخرید و بکندتون رو روی اونا هم ران کنید(همزمان ۳ جا) بعد از جایی که خریدید بگید یه نتورک داخلی بین این ۴ سرورتون بزاره . روی سرور ۴ ام haproxy یا nginx بزنید که ترافیک ورودی رو پخش کنه بین این ۳ تا سرور ... ایزی
در راستای این پست ، یکی میگفت: اونایی که وسط حرفاشون کلمات انگلیسی استفاده میکنن خیلی کنسل هستن :))))
🔥8👍3👎2
Seyed Mahdi Notes
دیروز سوال شد ازم که آیا fast api سریع هست؟ خب در مرحله ی اول که اسمش روشه . اسمش فسته . اگه کند بود اسمشو میزاشتن slow api :) به نظر من این قضیه و شمارش ریکوئست هایی که هر فریمورک میتونه در ثانیه ریسپانس بده (req/sec) کار باطلی هست بر فرض ما یه app رو…
✅یه نکته در مورد این پست
خیلی ها سرعت براشون مهم هست. اما همیشه گفتم و بازم میگم شاید بیش از 90 درصد پروژه هایی که من و امثال من کار میکنیم یا کار خواهیم کرد. سرعت و پرفورمنس زبان/فریمورک توش مهم نیست.
لذا با علم به این موضوع دیگه دنبال اینکه کدوم زبان بهتره یا قوی تره و... نباشید
اونی که باهاش حال میکنی و باعث میشه بهتر و بیشتر پول در بیاری رو انتخاب کن بره
و اینم میدونیم که انتخاب تکنولوژی/زبان/فریمورک/ابزار به پروژه بستگی داره.
مثلا با پایتون میشه ویندوز فرم ساخت. اما بهترین گزینه برای ویندوز فرم همون سی شاپ/وی بی و ویژوال استودیو مایکروسافت هست.
خیلی ها سرعت براشون مهم هست. اما همیشه گفتم و بازم میگم شاید بیش از 90 درصد پروژه هایی که من و امثال من کار میکنیم یا کار خواهیم کرد. سرعت و پرفورمنس زبان/فریمورک توش مهم نیست.
لذا با علم به این موضوع دیگه دنبال اینکه کدوم زبان بهتره یا قوی تره و... نباشید
اونی که باهاش حال میکنی و باعث میشه بهتر و بیشتر پول در بیاری رو انتخاب کن بره
و اینم میدونیم که انتخاب تکنولوژی/زبان/فریمورک/ابزار به پروژه بستگی داره.
مثلا با پایتون میشه ویندوز فرم ساخت. اما بهترین گزینه برای ویندوز فرم همون سی شاپ/وی بی و ویژوال استودیو مایکروسافت هست.
👍4
Seyed Mahdi Notes
دیروز سوال شد ازم که آیا fast api سریع هست؟ خب در مرحله ی اول که اسمش روشه . اسمش فسته . اگه کند بود اسمشو میزاشتن slow api :) به نظر من این قضیه و شمارش ریکوئست هایی که هر فریمورک میتونه در ثانیه ریسپانس بده (req/sec) کار باطلی هست بر فرض ما یه app رو…
✅نکته هایی از مانی برای این پست
این پست خیلی اشتباهه؛
۱. حجم ترافیک به تعداد یوزر نیست. ممکنه یک سایت با ۲۰ یوزر خیلی ترافیک بیشتری داشته باشه. بستگی داره اون یوزرا کین و چیکار میکنن 🙂 من یادمه با یک شرکت المانی مصاحبه میکردم برای هر یوزری که داشتن یک دیتابیس sharding شده میساختن…
۲. درامد بیزنس از تعداد یوزر و ترافیک تعیین نمیشه.
۳. باتل نک صرفا cpu sensitive نیست که با بیشتر کردن ورکر ها برطرف شه.
۴. تو فست شما میتونید io bound taks رو تو بک گراند داشته باشید و تسک cpu bound هم انجام بدید یا چند تسک io bound رو باهم انجام بدید. ایا میشه تو جنگو؟شدنش میشه ولی پرفومنسش قابل مقایسه نیست با فست چون asgi نیست و همچنان داره ترد باز میکنه
۵. بحث scaling چالش های خودشو داره.دوآپس میخواد, بحث auto scaling میاد logging پیچیده تر میشه و ... . در نهایت بیزنس بیشتر خرجه دوآپس کار و سرور میکنه چرا؟ چون دولوپر مایندست سمی داشته 🙂
۶. فست بین فریم ورک های پایتونی جزو کند ترین هاست. تو بنچ مارک حداقل کلی فریم ورک بالاتر هستند ازش. خود استارلت دو برابره فست پرفومنس داره. fast تو fastapi ربطی به پرفومنس نداره بیشتر به سرعت توسعه ربط داره. چیزی که هیچ کدوم از فریم ورک های بالاترش تو بنچ مارک ندارن.
FastAPI framework, high performance, easy to learn, fast to code, ready for production
۷. اگه اینطوریه پس کلا چرا ساختمان داده میخونیم؟چرا خودمونو اذیت میکنیم؟همرو با لیست بزنیم بره دیگه . مشکل خورد تیم scale میکنه :)))
۸. خیلی وقتا scale کردن خیلی پیچیدست. مثال بارزش؟graphql یا web socket. یا اپلیکیشن هایی که stateful هستند.
این پست خیلی اشتباهه؛
۱. حجم ترافیک به تعداد یوزر نیست. ممکنه یک سایت با ۲۰ یوزر خیلی ترافیک بیشتری داشته باشه. بستگی داره اون یوزرا کین و چیکار میکنن 🙂 من یادمه با یک شرکت المانی مصاحبه میکردم برای هر یوزری که داشتن یک دیتابیس sharding شده میساختن…
۲. درامد بیزنس از تعداد یوزر و ترافیک تعیین نمیشه.
۳. باتل نک صرفا cpu sensitive نیست که با بیشتر کردن ورکر ها برطرف شه.
۴. تو فست شما میتونید io bound taks رو تو بک گراند داشته باشید و تسک cpu bound هم انجام بدید یا چند تسک io bound رو باهم انجام بدید. ایا میشه تو جنگو؟شدنش میشه ولی پرفومنسش قابل مقایسه نیست با فست چون asgi نیست و همچنان داره ترد باز میکنه
۵. بحث scaling چالش های خودشو داره.دوآپس میخواد, بحث auto scaling میاد logging پیچیده تر میشه و ... . در نهایت بیزنس بیشتر خرجه دوآپس کار و سرور میکنه چرا؟ چون دولوپر مایندست سمی داشته 🙂
۶. فست بین فریم ورک های پایتونی جزو کند ترین هاست. تو بنچ مارک حداقل کلی فریم ورک بالاتر هستند ازش. خود استارلت دو برابره فست پرفومنس داره. fast تو fastapi ربطی به پرفومنس نداره بیشتر به سرعت توسعه ربط داره. چیزی که هیچ کدوم از فریم ورک های بالاترش تو بنچ مارک ندارن.
FastAPI framework, high performance, easy to learn, fast to code, ready for production
۷. اگه اینطوریه پس کلا چرا ساختمان داده میخونیم؟چرا خودمونو اذیت میکنیم؟همرو با لیست بزنیم بره دیگه . مشکل خورد تیم scale میکنه :)))
۸. خیلی وقتا scale کردن خیلی پیچیدست. مثال بارزش؟graphql یا web socket. یا اپلیکیشن هایی که stateful هستند.
👍8❤1
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
ابزار JsonCrack خیلی جالبه. از فایل های جیسونی که خوندنشون سخته براتون مثله تصویر پست یه دیاگرام تولید میکنه که میتونید ازش خروجی تصویری بگیرید.
علاوه بر JSON از YAML، XML و CSV هم پشتیبانی میکنه و برای vscode هم اکستنشن داره .
لینک گیت هاب پروژه:
https://github.com/AykutSarac/jsoncrack.com
وبسایت پروژه:
https://jsoncrack.com/
ادیتوور انلاین :
https://jsoncrack.com/editor
از اینجا این پست رو برداشتم
✅ @SEYED_BAX
علاوه بر JSON از YAML، XML و CSV هم پشتیبانی میکنه و برای vscode هم اکستنشن داره .
لینک گیت هاب پروژه:
https://github.com/AykutSarac/jsoncrack.com
وبسایت پروژه:
https://jsoncrack.com/
ادیتوور انلاین :
https://jsoncrack.com/editor
از اینجا این پست رو برداشتم
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Forwarded from Syntax | سینتکس (Alireza-fa)
با توجه به اینکه خیلیا گفتن دنبال کاریم. میخوام که درباره ساخت رزومه تا گرفتن مصاحبه براتون ویدیو ظبط کنم و یه سری نکاتی که بلدم رو توضیح بدم.
تو بخش اول، رزومه رو درستش میکنیم و تو موقعیت های شغلی ای که در وب سایت های جابینجا و جاب ویژن هست، ارسال می کنیم.
تو بخش دوم ویدیو که یک الی دو هفته بعد ظبط میشه. با هم دیگه بازخوردی که دریافت کردیم رو بررسی میکنیم.
رزومه ای که درست میکنیم برای یک شخص جونیور (Python back end developer / Django) هست که میخواد تازه وارد بازار کار بشه پس نمونه کار و تجربه کاریه زیادی نداره
اگه نظری دارید خوشحال میشم درمیون بذارید تا قبل از ظبط بهش توجه کنم
@citax_tel 👈 سیتاکس
تو بخش اول، رزومه رو درستش میکنیم و تو موقعیت های شغلی ای که در وب سایت های جابینجا و جاب ویژن هست، ارسال می کنیم.
تو بخش دوم ویدیو که یک الی دو هفته بعد ظبط میشه. با هم دیگه بازخوردی که دریافت کردیم رو بررسی میکنیم.
رزومه ای که درست میکنیم برای یک شخص جونیور (Python back end developer / Django) هست که میخواد تازه وارد بازار کار بشه پس نمونه کار و تجربه کاریه زیادی نداره
اگه نظری دارید خوشحال میشم درمیون بذارید تا قبل از ظبط بهش توجه کنم
@citax_tel 👈 سیتاکس
🔥19👍5🤮1
Forwarded from Md Daily
در مورد این هک هایی که اتفاق میفته و دیتا شرکتهای بزرگ را میبرند، الزاما همیشه از طریق آسیبپذیری نیست، لذا به نکات زیر توجه فرمایید 🤭
به هاستینگ اعتماد نکنید ( مخصوصا ایرانی )، اینها به فایلهای مشتری دسترسی دارند و اگر چیزه جذابی ببینند احتمال دارد برای خودشون کپی کنند.
یک) اگر یک کسب و کار بزرگی دارید که نیازمند سرور اختصاصیست به هر نحوی که شده از شرکتهای معتبر سرور بگیرید و به این هاست فروشهای داخل زیاد اعتماد نکنید
اگر سایت / دیتا جالبی داشته باشید اینها ممکنه درایو سرور را clone میگیرند یا با KVM وصل میشوند و سورس/دیتا سایت شما را بدزدند.
دو) کد خودتون را محافظت کنید اگر مثلا php است با چیزهایی مثل sourceguardian و ... کدتون را encrypt کنید و حتما کد را روی دامنه قفل کنید که فقط روی دامنه شما و localhost اجرا بشود
سه) سیستم عامل را encrypt کنید که سرویس دهنده توانایی دسترسی به فایلها/دیتابیس شما را نداشته باشد
<Teegra>
🆔 @MdDaily
به هاستینگ اعتماد نکنید ( مخصوصا ایرانی )، اینها به فایلهای مشتری دسترسی دارند و اگر چیزه جذابی ببینند احتمال دارد برای خودشون کپی کنند.
یک) اگر یک کسب و کار بزرگی دارید که نیازمند سرور اختصاصیست به هر نحوی که شده از شرکتهای معتبر سرور بگیرید و به این هاست فروشهای داخل زیاد اعتماد نکنید
اگر سایت / دیتا جالبی داشته باشید اینها ممکنه درایو سرور را clone میگیرند یا با KVM وصل میشوند و سورس/دیتا سایت شما را بدزدند.
دو) کد خودتون را محافظت کنید اگر مثلا php است با چیزهایی مثل sourceguardian و ... کدتون را encrypt کنید و حتما کد را روی دامنه قفل کنید که فقط روی دامنه شما و localhost اجرا بشود
سه) سیستم عامل را encrypt کنید که سرویس دهنده توانایی دسترسی به فایلها/دیتابیس شما را نداشته باشد
<Teegra>
🆔 @MdDaily
👍5
Forwarded from Md Daily
در ادامه ی پست سید مهدی عزیز منم نظر و تجربه خودم رو میگم:
وقتی شما قراره یه پروژه ایو شروع کنید، اگه تمام مدت به این فکر کنید که قراره از چه ابزاری استفاده بشه و اگه از این ابزار یا تکنولوژی استفاده کنم نکنه در آینده به مشکل بخوره، کند بشه، منسوخ بشه، پشیمون بشم و کلی افکار که قراره شما را بمباران کنه، ممکنه هیچ وقت نتونید اون ایده را شروع یا محصول کنید یا بتونید به نتیجه برسونیدش
واقعا کاربر استفاده کننده براش مهم نیست شما اون پشت از چی استفاده کردید، پروژه را با fast api زدید یا django یا حتی node js . تنها چیزی که برا کاربر مهمه اینکه اون اپ یا سایت داره بدون مشکل کار میکنه
پس شما بجای اینکه به اون تکنولوژی و ابزاری که ازش دارید استفاده میکنید وابسته باشید، باید روی مهارت های خودتون ساختار پروژه تمرکز کنید. اما این دقیقا یعنی چی؟
اینکه شما کدوم ابزار رو استفاده کنید جزئیاته بیشتر از اینکه خودتون رو در گیر جزئیات کنید ببینید دقیقا میخواین چیکار کنید
جزئیات خودش مشخص میشه
برای انتخب زبانی که قراره پروژتون رو باهاش ببرید جلو نه به بنجمارک ها اعتماد کنید و نه از روی ترند انتخاب کنید
چیز های مختلف رو تست کنید و ببینید با کدوم راحت و مسلط هستید با همون پروژه رو ببرید جلو
اما چرا نباید به بنجمارک ها اعتماد کنیم؟
بنجمارک گرفتن اصلا کار آسونی نیست
محیطی که توی اون بنجمارک گرفتن با محیط اجرایی شما فرق میکنه
کدی که توی بنجمارکه با کد شما فرق میکنه
شرایطی که توش بنجمارک گرفتن با شرایط شما فرق میکنه و کلی پارامتر دیگه هست که چرا نباید به بنجمارک ها اعتماد کنیم .
بنجمارک میتونه در حالتی قابل اعتماد باشه که مثلا بین دوتا فریم ورک شک دارید روی محیط اجرایی خودتون با شرایط یکسان از این دوتا بنجمارک میگیرد و به انتخابتون کمک میکنه
به نقل قول از دوستان:
بهترین زبان و تکنولوژی اونیکه شما ازش در آمد دارید :)
در نهایت خیلی خودتون رو قاطی دعوا های اون زبان از اون بهتره ها و اینا نکنید اینا همشون ابزارن، مهم مهارت و دانش خودتونه که مهمه تا ابزاری که دارید باهاش کار میکنید
🆔 @MdDaily
وقتی شما قراره یه پروژه ایو شروع کنید، اگه تمام مدت به این فکر کنید که قراره از چه ابزاری استفاده بشه و اگه از این ابزار یا تکنولوژی استفاده کنم نکنه در آینده به مشکل بخوره، کند بشه، منسوخ بشه، پشیمون بشم و کلی افکار که قراره شما را بمباران کنه، ممکنه هیچ وقت نتونید اون ایده را شروع یا محصول کنید یا بتونید به نتیجه برسونیدش
واقعا کاربر استفاده کننده براش مهم نیست شما اون پشت از چی استفاده کردید، پروژه را با fast api زدید یا django یا حتی node js . تنها چیزی که برا کاربر مهمه اینکه اون اپ یا سایت داره بدون مشکل کار میکنه
پس شما بجای اینکه به اون تکنولوژی و ابزاری که ازش دارید استفاده میکنید وابسته باشید، باید روی مهارت های خودتون ساختار پروژه تمرکز کنید. اما این دقیقا یعنی چی؟
اینکه شما کدوم ابزار رو استفاده کنید جزئیاته بیشتر از اینکه خودتون رو در گیر جزئیات کنید ببینید دقیقا میخواین چیکار کنید
جزئیات خودش مشخص میشه
برای انتخب زبانی که قراره پروژتون رو باهاش ببرید جلو نه به بنجمارک ها اعتماد کنید و نه از روی ترند انتخاب کنید
چیز های مختلف رو تست کنید و ببینید با کدوم راحت و مسلط هستید با همون پروژه رو ببرید جلو
اما چرا نباید به بنجمارک ها اعتماد کنیم؟
بنجمارک گرفتن اصلا کار آسونی نیست
محیطی که توی اون بنجمارک گرفتن با محیط اجرایی شما فرق میکنه
کدی که توی بنجمارکه با کد شما فرق میکنه
شرایطی که توش بنجمارک گرفتن با شرایط شما فرق میکنه و کلی پارامتر دیگه هست که چرا نباید به بنجمارک ها اعتماد کنیم .
بنجمارک میتونه در حالتی قابل اعتماد باشه که مثلا بین دوتا فریم ورک شک دارید روی محیط اجرایی خودتون با شرایط یکسان از این دوتا بنجمارک میگیرد و به انتخابتون کمک میکنه
به نقل قول از دوستان:
بهترین زبان و تکنولوژی اونیکه شما ازش در آمد دارید :)
در نهایت خیلی خودتون رو قاطی دعوا های اون زبان از اون بهتره ها و اینا نکنید اینا همشون ابزارن، مهم مهارت و دانش خودتونه که مهمه تا ابزاری که دارید باهاش کار میکنید
🆔 @MdDaily
👍6❤3
Forwarded from مطالب رایگان و آزاد🎈 ( behrad)
* ریکپچا
* Re-captcha
ریکپچا یکی از باحال ترین و زیباترین و هوشمندانه ترین پروژه های متن-بازی بود که توسط یه ایده جالب ازیه شرکت کوچولو شروع شد...
هدف این بود که ما حجم بسیار زیادی کتاب داریم که تایپ نشدن و نسخه الکترونیکی تایپ شده و قابل سرچ ندارن، هزینه تایپشونم خیلی میشه...
اگه ما بتونیم:
+ تصاویر کلمات اون کتابهارو با یه الگوریتم کراپ (crop)کنیم،
+ تصویر یه عبارت کراپ شده رو بدیم به مردمی که میخوان جایی اعتبارسنجی بشن تا برامون به جای کپچا تایپ کنن،
+ یه عبارت رو به حداقل چند نفر بدیم که همه باهم همونو تایپ کنن و اون چیزی که رای مجاریتی هست رو به عنوان جواب درست ذخیره کنیم و کپچای افراد رو قبول کنیم!
اینطوری با یه تیر چند تا نشون زدیم...
هم کتب تاریخی توی یه پروژه عام المنفعه تایپ میشن و در اختیار همه قرار میگیرن (نوعی از کرادسورسنیگ)
هم مردم توسط یه کپچا اعتبار سنجی میشن...
این تیکه آخرش خیلی باحال و هوشمندانه بوده - یعنی خود ریکپچا هم نمیدونسته جواب درست چیه ولی جوابو بدست میآورده و اعتبارسنجی میکرده🥴
مایی که اینو میدونستیم بعضی وقتا بدجنسی میکردیم و یه کرکترو از قصد غلط میزدیم که ببینیم واقعا قبول میکنه یا نه، که مجاریتی میگرفت و قبول میکرد🫣
=+=+=+=+=+=+=+=+=+=+=+=+=+
خلاصه ایده این بود که ما کتب رو بجای کپچا بدیم به مردم ، مردم همزمان که دارن پازل کپچا رو حل میکنن ، نادانسته توی تایپ کردن این همه کتاب هم شرکت میکنن و صرفا چهارتا حرف بیهوده رو نمیزنن....
و همزمان همه دنیا باهم این این پروژه رو انجام میدن...
همه چی عالی بود تا اینکه گوگل اومد دخالت کرد و پروژه رو به دست گرفت و حالا بعد از 7-8 سال داره باهاش عکس های
street-map
خودشو قوی میکنه، تا راحت تر جاسوسی کنه😐
دیگه من بیشتر حرفی نمیزنم...خودتون میدونین جریان چیه.
+=+=+=+=+=+=+=+=+=+=+=+=
این مطالبی که تا اینجا گفتمو بخونین که یه نیم ساعتی برم و برگردم و بیام داستان چالش و کپچای ترمینالی رو بگم - فعلا✨❤️🩹
* Re-captcha
ریکپچا یکی از باحال ترین و زیباترین و هوشمندانه ترین پروژه های متن-بازی بود که توسط یه ایده جالب ازیه شرکت کوچولو شروع شد...
هدف این بود که ما حجم بسیار زیادی کتاب داریم که تایپ نشدن و نسخه الکترونیکی تایپ شده و قابل سرچ ندارن، هزینه تایپشونم خیلی میشه...
اگه ما بتونیم:
+ تصاویر کلمات اون کتابهارو با یه الگوریتم کراپ (crop)کنیم،
+ تصویر یه عبارت کراپ شده رو بدیم به مردمی که میخوان جایی اعتبارسنجی بشن تا برامون به جای کپچا تایپ کنن،
+ یه عبارت رو به حداقل چند نفر بدیم که همه باهم همونو تایپ کنن و اون چیزی که رای مجاریتی هست رو به عنوان جواب درست ذخیره کنیم و کپچای افراد رو قبول کنیم!
اینطوری با یه تیر چند تا نشون زدیم...
هم کتب تاریخی توی یه پروژه عام المنفعه تایپ میشن و در اختیار همه قرار میگیرن (نوعی از کرادسورسنیگ)
هم مردم توسط یه کپچا اعتبار سنجی میشن...
این تیکه آخرش خیلی باحال و هوشمندانه بوده - یعنی خود ریکپچا هم نمیدونسته جواب درست چیه ولی جوابو بدست میآورده و اعتبارسنجی میکرده🥴
مایی که اینو میدونستیم بعضی وقتا بدجنسی میکردیم و یه کرکترو از قصد غلط میزدیم که ببینیم واقعا قبول میکنه یا نه، که مجاریتی میگرفت و قبول میکرد🫣
=+=+=+=+=+=+=+=+=+=+=+=+=+
خلاصه ایده این بود که ما کتب رو بجای کپچا بدیم به مردم ، مردم همزمان که دارن پازل کپچا رو حل میکنن ، نادانسته توی تایپ کردن این همه کتاب هم شرکت میکنن و صرفا چهارتا حرف بیهوده رو نمیزنن....
و همزمان همه دنیا باهم این این پروژه رو انجام میدن...
همه چی عالی بود تا اینکه گوگل اومد دخالت کرد و پروژه رو به دست گرفت و حالا بعد از 7-8 سال داره باهاش عکس های
street-map
خودشو قوی میکنه، تا راحت تر جاسوسی کنه😐
دیگه من بیشتر حرفی نمیزنم...خودتون میدونین جریان چیه.
+=+=+=+=+=+=+=+=+=+=+=+=
این مطالبی که تا اینجا گفتمو بخونین که یه نیم ساعتی برم و برگردم و بیام داستان چالش و کپچای ترمینالی رو بگم - فعلا✨❤️🩹
👍7❤4
سلام به همه
✔️ حدودا سه سال پیش ویدئوهام 10 هزار بار (توی آپارات) بازدید داشتن
امروز 20 هزار تارو رد کردن 😊
اینجا می نویسم برای آینده خودم
#جنگو
#پایتون
#برنامه_نویسی_از_پایه
✔️ حدودا سه سال پیش ویدئوهام 10 هزار بار (توی آپارات) بازدید داشتن
امروز 20 هزار تارو رد کردن 😊
اینجا می نویسم برای آینده خودم
#جنگو
#پایتون
#برنامه_نویسی_از_پایه
👍10👏7
Forwarded from Python Hints
این ویدئو در راستای همون صحبتی هست که داشتم :
وب رو فارغ از فریمورک یاد بگیرید
متأسفانه خیلی از بچههایی که با پایتون وب رو یاد گرفتند بخصوص جنگو، اگر فریمورک عوض بشه باید از صفر شروع کنند برای همین جابجایی بین فریمورکهای مختلف بسیار براشون سخت هست
YouTube Video
توی این ویدئو که از
از توسعه دهندههای اصلی django بهتون وب رو فارغ از فریمورک آموزش میده و شاید مقدماتی رو میگه از اینکه چطور وب فریمورک بعدی رو خودتون بنویسید.
شخصاً با خیلی از مباحث آشنا بودم ولی بازم خیلی چیز جدید داشت برام؛ اگر بخوام بگم چطوری بخونید پیشنهادم این هست :
۱- ویدئو رو ببینید و تمریناتش رو انجام بدید
۲- تمرینات رو برای کار خودتون بسط بدید (برای من
۳- تمرینات بالا و منابع معرفی شده رو برای
۴- تمرینات رو خودتون انجام بدید، حتی اگر هر تمرین بیش از زمان پیشنهادی توی ویدیو وقت بگیره (اگر با مباحث هیچ آشنایی دقیقی ندارید ممکنه هر تمرین بیش از چندین ساعت وقت بگیره ولی شک نکنید هزاران بار ارزشش رو داره)
بازم میگم؛ برای منی که با تمامی این مباحث آشنایی داشتم نکات ریز و
و حتماً به کار دوستان سطح بالاتر هم خواهد اومد.
وب رو فارغ از فریمورک یاد بگیرید
متأسفانه خیلی از بچههایی که با پایتون وب رو یاد گرفتند بخصوص جنگو، اگر فریمورک عوض بشه باید از صفر شروع کنند برای همین جابجایی بین فریمورکهای مختلف بسیار براشون سخت هست
YouTube Video
توی این ویدئو که از
PyCon
سال 2017 هست Jacob Kaplan
از توسعه دهندههای اصلی django بهتون وب رو فارغ از فریمورک آموزش میده و شاید مقدماتی رو میگه از اینکه چطور وب فریمورک بعدی رو خودتون بنویسید.
شخصاً با خیلی از مباحث آشنا بودم ولی بازم خیلی چیز جدید داشت برام؛ اگر بخوام بگم چطوری بخونید پیشنهادم این هست :
۱- ویدئو رو ببینید و تمریناتش رو انجام بدید
۲- تمرینات رو برای کار خودتون بسط بدید (برای من
RestApi
)۳- تمرینات بالا و منابع معرفی شده رو برای
ASGI
هم دنبال کنید.۴- تمرینات رو خودتون انجام بدید، حتی اگر هر تمرین بیش از زمان پیشنهادی توی ویدیو وقت بگیره (اگر با مباحث هیچ آشنایی دقیقی ندارید ممکنه هر تمرین بیش از چندین ساعت وقت بگیره ولی شک نکنید هزاران بار ارزشش رو داره)
بازم میگم؛ برای منی که با تمامی این مباحث آشنایی داشتم نکات ریز و
roadmap
خوبی بود برای پیشرفت؛ قطعاً برای عزیزانی که تازه آموزش مقدماتی جنگو یا ... رو تموم کردند فوقالعاده خواهد بود.و حتماً به کار دوستان سطح بالاتر هم خواهد اومد.
YouTube
Jacob Kaplan Moss Let's build a web framework! PyCon 2017
"Speaker: Jacob Kaplan-Moss
"Reinventing the wheel is great if your goal is to learn more about wheels."
-- James Tauber
If you're building a web app, you probably reach for your favorite framework -- Django, Flask, Pyramid, etc. But we rarely stop to…
"Reinventing the wheel is great if your goal is to learn more about wheels."
-- James Tauber
If you're building a web app, you probably reach for your favorite framework -- Django, Flask, Pyramid, etc. But we rarely stop to…
👍5
Forwarded from آکادمی دکتر مسفروش (Ali Mesforush)
با سلام
در راستای برقراری عدالت آموزشی و امکان برخورداری دانشجویان و علاقهمندان به یادگیری درسها و نرمافزارهای مرتبط با رشته ریاضی، مجموعههای آموزشی زیر توسط اینجانب علی مسفروش بهصورت کاملا رایگان آماده شده است. علاقهمندان به یادگیری میتوانند از طریق لینکهای زیر به تمام محتوای تهیه شده توسط اینجانب بهصورت کاملا رایگان دسترسی داشته باشند.
در صورتی که در گروه یا کانالی عضو هستید که درسهای زیر میتواند برایشان مفید باشد، لطفا این پست در آنها انتشار دهید.
لطفا با لایک (👍) کردن درسها و دنبال (SUBSCRIBE) کردن کانال به بیشتر دیده شدن درسها کمک کنید.
۱- دوره آموزشی حروفچینی مستندات علمی با LaTeX و بسته XePersian.
۲- دوره آموزشی برنامهنویسی با Python
۳- دوره آموزشی کار و برنامهنویسی با MATLAB
۴- دوره آموزشی معادلات دیفرانسیل مبتنی بر سرفصل درس معادلات دیفرانسیل دانشجویان رشتههای فنی و مهندسی
۵- دوره آموزشی برنامهنویس به زبان C++
۶- دوره آموزشی مبانی آنالیز عددی ویژه دانشجویان رشته ریاضی
۷- دوره آموزشی آنالیز عددی ۲ ویژه دانشجویان رشته ریاضی
۸- دوره آموزشی محاسبات عددی ویژه دانشجویان رشتههای فنی و مهندسی
۹- دوره آموزشی Numpy, Scipy
۱۰- دوره آموزشی ریاضی عمومی یک ویژه دانشجویان رشتههای فنی و مهندسی
۱۱- دوره آموزشی آنالیز عددی پیشرفته ویژه دانشجویان کارشناسی ارشد رشته ریاضی کاربردی
۱۲- آشنایی مختصر با لینوکس
۱۳- ریاضی عمومی ۲ ویژه دانشجویان فنی و مهندسی
۱۴- آموزش Maple
۱۵- ریاضی مهندسی ویژه دانشجویان رشتههای مهندسی
۱۶- معادلات دیفرانسیل با مشتقات جزئی ویژه رشته ریاضی
۱۷- روش عناصر متناهی (FEM) قابل استفاده برای دوره ارشد ریاضی و رشتههای مهندسی
۱۸- کارگاه آشنایی با لاتک و زیپرشین برگزار شده در دانشگاه کاشان
۱۹- دوره آموزشی FEniCS، نرم افزار حل معادلات دیفرانسیل با مشتقات جزئی
۲۰- روش سریع تراختنبرگ در حساب
۲۱- ریاضی پیشدانشگاهی، ویژه نودانشجویان
۲۲- جبرخطی عددی پیشرفته
۲۳- آموزش رسم در LaTeX
۲۴- کارگاه آشنایی با LaTeX و XePersian برگزار شده در پنجاه و سومین کنفرانس ریاضی ایران- بهشهر
۲۵- دوره تست معادلات دیفرانسیل
۲۶- جبرخطی و مبانی ماتریسها
۲۷- آزمون استخدامی
۲۸- مروری بر احتمال مهندسی
۲۹- برنامهنویسی پایتون (کلاس درس)
۳۰- حل تمرین دروس مختلف
۳۱- حسابان (۱) پایه یازدهم
۳۲- ریاضی (۲) پایه یازدهم تجربی
۳۳- آموزش برنامهنویسی در R
برای دانلود برخی نرمافزارهای رایگان مرتبط با لاتک و پایتون و ریاضی به وبلاگ من مراجعه فرمایید. توجه کنید با توجه به اینکه هاست داخلی است، ترافیک مصرفی شما داخلی محاسبه خواهد شد. تمام این نرمافزارها به شکل قانونی رایگان هستند.
در صورتی که در گروه یا کانالی عضو هستید که درسهای بالا میتواند برایشان مفید باشد، لطفا این پست در آنها انتشار دهید.
لطفا با لایک (👍) کردن درسها و دنبال (SUBSCRIBE) کردن کانال به بیشتر دیده شدن درسها کمک کنید.
تمام درسهای منتشر شده در کانال من رایگان است و حق کپی رایت آن برای اینجانب محفوظ است. هیچ سایت، فرد، سازمان و .... حق فروش و استفاده تجاری از درسهای من را ندارد. در صورت مشاهده موارد سواستفاده لطفا به من اطلاع دهید.
کانال آموزشی من در تلگرام
با احترام
علی مسفروش
در راستای برقراری عدالت آموزشی و امکان برخورداری دانشجویان و علاقهمندان به یادگیری درسها و نرمافزارهای مرتبط با رشته ریاضی، مجموعههای آموزشی زیر توسط اینجانب علی مسفروش بهصورت کاملا رایگان آماده شده است. علاقهمندان به یادگیری میتوانند از طریق لینکهای زیر به تمام محتوای تهیه شده توسط اینجانب بهصورت کاملا رایگان دسترسی داشته باشند.
در صورتی که در گروه یا کانالی عضو هستید که درسهای زیر میتواند برایشان مفید باشد، لطفا این پست در آنها انتشار دهید.
لطفا با لایک (👍) کردن درسها و دنبال (SUBSCRIBE) کردن کانال به بیشتر دیده شدن درسها کمک کنید.
۱- دوره آموزشی حروفچینی مستندات علمی با LaTeX و بسته XePersian.
۲- دوره آموزشی برنامهنویسی با Python
۳- دوره آموزشی کار و برنامهنویسی با MATLAB
۴- دوره آموزشی معادلات دیفرانسیل مبتنی بر سرفصل درس معادلات دیفرانسیل دانشجویان رشتههای فنی و مهندسی
۵- دوره آموزشی برنامهنویس به زبان C++
۶- دوره آموزشی مبانی آنالیز عددی ویژه دانشجویان رشته ریاضی
۷- دوره آموزشی آنالیز عددی ۲ ویژه دانشجویان رشته ریاضی
۸- دوره آموزشی محاسبات عددی ویژه دانشجویان رشتههای فنی و مهندسی
۹- دوره آموزشی Numpy, Scipy
۱۰- دوره آموزشی ریاضی عمومی یک ویژه دانشجویان رشتههای فنی و مهندسی
۱۱- دوره آموزشی آنالیز عددی پیشرفته ویژه دانشجویان کارشناسی ارشد رشته ریاضی کاربردی
۱۲- آشنایی مختصر با لینوکس
۱۳- ریاضی عمومی ۲ ویژه دانشجویان فنی و مهندسی
۱۴- آموزش Maple
۱۵- ریاضی مهندسی ویژه دانشجویان رشتههای مهندسی
۱۶- معادلات دیفرانسیل با مشتقات جزئی ویژه رشته ریاضی
۱۷- روش عناصر متناهی (FEM) قابل استفاده برای دوره ارشد ریاضی و رشتههای مهندسی
۱۸- کارگاه آشنایی با لاتک و زیپرشین برگزار شده در دانشگاه کاشان
۱۹- دوره آموزشی FEniCS، نرم افزار حل معادلات دیفرانسیل با مشتقات جزئی
۲۰- روش سریع تراختنبرگ در حساب
۲۱- ریاضی پیشدانشگاهی، ویژه نودانشجویان
۲۲- جبرخطی عددی پیشرفته
۲۳- آموزش رسم در LaTeX
۲۴- کارگاه آشنایی با LaTeX و XePersian برگزار شده در پنجاه و سومین کنفرانس ریاضی ایران- بهشهر
۲۵- دوره تست معادلات دیفرانسیل
۲۶- جبرخطی و مبانی ماتریسها
۲۷- آزمون استخدامی
۲۸- مروری بر احتمال مهندسی
۲۹- برنامهنویسی پایتون (کلاس درس)
۳۰- حل تمرین دروس مختلف
۳۱- حسابان (۱) پایه یازدهم
۳۲- ریاضی (۲) پایه یازدهم تجربی
۳۳- آموزش برنامهنویسی در R
برای دانلود برخی نرمافزارهای رایگان مرتبط با لاتک و پایتون و ریاضی به وبلاگ من مراجعه فرمایید. توجه کنید با توجه به اینکه هاست داخلی است، ترافیک مصرفی شما داخلی محاسبه خواهد شد. تمام این نرمافزارها به شکل قانونی رایگان هستند.
در صورتی که در گروه یا کانالی عضو هستید که درسهای بالا میتواند برایشان مفید باشد، لطفا این پست در آنها انتشار دهید.
لطفا با لایک (👍) کردن درسها و دنبال (SUBSCRIBE) کردن کانال به بیشتر دیده شدن درسها کمک کنید.
تمام درسهای منتشر شده در کانال من رایگان است و حق کپی رایت آن برای اینجانب محفوظ است. هیچ سایت، فرد، سازمان و .... حق فروش و استفاده تجاری از درسهای من را ندارد. در صورت مشاهده موارد سواستفاده لطفا به من اطلاع دهید.
کانال آموزشی من در تلگرام
با احترام
علی مسفروش
👍8👎1🤔1
Forwarded from نوشتههای ترمینالی
اگر یک مصورسازی خیلی زیبا از الگوریتمهای لود بالانسینگ میخواین، این یک مطلب زیبا و با عمق مناسبه.
https://samwho.dev/load-balancing/
https://samwho.dev/load-balancing/
👍2👏1
Forwarded from Microfrontend.ir
بهینه سازی جنگو از طریق defer و only
در ادامه بحث بهینه سازی جنگو در این ویدیو ابتدا به بررسی شیوه ترکیب prefetch_related و select_related در Django برای روابط سطوح بالاتر پرداختیم سپس برای جداول بزرگ کاربرد تابع های only و defer را بررسی گردیم که میتوان بر اساس آن حجم داده های خروجی را کنترل کرد.
Video Link: https://youtu.be/u629fDW5drM
Django Tips Playlist:
https://www.youtube.com/playlist?list=PLJ9zDGwhhsBwdrfdaoOqbYev3_ocuBOfv
〰️〰️〰️〰️〰️〰️
© @microfrontend_ir
در ادامه بحث بهینه سازی جنگو در این ویدیو ابتدا به بررسی شیوه ترکیب prefetch_related و select_related در Django برای روابط سطوح بالاتر پرداختیم سپس برای جداول بزرگ کاربرد تابع های only و defer را بررسی گردیم که میتوان بر اساس آن حجم داده های خروجی را کنترل کرد.
Video Link: https://youtu.be/u629fDW5drM
Django Tips Playlist:
https://www.youtube.com/playlist?list=PLJ9zDGwhhsBwdrfdaoOqbYev3_ocuBOfv
〰️〰️〰️〰️〰️〰️
© @microfrontend_ir