Forwarded from EverCode
چندتا مهارت که اگه برمیگشتم روز اولی که با برنامه نویسی آشنا شدم حتما به خودم میگفتم تقویتشون کنه:
1. مهم ترین ابزاری که واقعا نیاز دارین تا با ماشین جایگزین نشین، کنجکاوی هست. اگه کنجکاو باشین و بخواین بدونین چجوری اتفاقات بزرگ و کوچیک دور و برتون اتفاق میفته احتمالا از مسیر خیلی بیشتر لذت میبرین. این کنجکاوی به مرور بهتون یاد میده تا سوالای درست تر بپرسین و به جواب دقیق تر برسین.
2. در فرایند رفع کنجکاوی با ذهن باز جلو برین. ممکنه کلی اطلاعات اضافه پیدا کنین که شاید مستقیم به موضوع الانتون ربط نداشته باشه، یادداشتش کنین و یه تایمی از هفته یا ماه خودتون رو به تحقیق اختصاص بدین و این موضوعات رو چک کنین. تحقیق با یادگیری فرق داره، شما نمیخواین با یه سرچ متخصص بشین. میخواین دامنه دانشی کم عمقتون رو گسترش بدین تا اگر در چالشی نیاز داشتین توی ذهنتون سرنخ های موثر داشته باشین.
یادتون باشه:
شما هیچوقت قرار نیست وقت پیدا کنین تا به کاری برسین. باید وقت بسازین و بهش اختصاص بدین. بدون برنامه ریزی این اتفاق هیچوقت نمیفته.
تحقیق یه معنی درس خوندن نیست. اگه دیدتون بهش اینه قراره خیلی اذیت بشین. با حجم اطلاعاتی که هرروز در بستر اینترنت رد و بدل میشه، اگه نمیتونین در بخشی از این جریان خودتون رو قرار بدین باید جدی فکر کنین که چرا توسعه دهندهی نرم افزار شدین.
3. در مسیر تحقیق و توسعه ممکنه با ابزارهای مختلف آشنا بشین. یادگرفتن ابزار جدید به این معنی نیست که حتما باید تو پروژه بعدی ازش استفاده کنین. اما دونستنش یه روزی به کار میاد. باز هم برمیگرده به قسمت دامنه دانشی کم عمق، خودتون رو مجبور نکنین که حتما از همچی استفاده کنین، نیازمندی شماست که ابزارهای شما رو تعیین میکنه.
4. در برخورد با چالشهای کاری در پروژههای مختلف، در ابتدای مسیر خیلی درگیر ابزار نشین، اول سعی کنین شماتیک کلی سیستمی که میخواین دیزاین کنین رو درک کنین و روی کاغذ بیارین. توی اون مرحله خیلی مهم نیست که کارها دقیقا چجوری انجام میشن، مهمه که کدوم قستم از سیستم چه خروجی و ورودی داره، اصطلاح درست ترش میشه چه رفتاری داره، اگه در اون مرحله هم جایی حس کردین که نمیدونین چجوری رفتاری رو پیاده سازی کنین، بعنوان یه جعبه سیاه بزارین بمونه، اکثر مواقع ابزاری هست که اون کارو انجام میده و یا دانشی هست که هنوز ندارین اما در مرحله ی اول نباید خیلی خودتون رو درگیرش کنین.
این نکاتی بود که با گذشت زمان بیشتر بهشون اعتقاد پیدا کردم و دوست داشتم به اشتراک بزارم. اگه کسی رو میشناسین که این پست میتونه براش مفید باشه باهاش به اشتراک بزارین و نظرتون هم برام بنویسین🌹
@ever_code
1. مهم ترین ابزاری که واقعا نیاز دارین تا با ماشین جایگزین نشین، کنجکاوی هست. اگه کنجکاو باشین و بخواین بدونین چجوری اتفاقات بزرگ و کوچیک دور و برتون اتفاق میفته احتمالا از مسیر خیلی بیشتر لذت میبرین. این کنجکاوی به مرور بهتون یاد میده تا سوالای درست تر بپرسین و به جواب دقیق تر برسین.
2. در فرایند رفع کنجکاوی با ذهن باز جلو برین. ممکنه کلی اطلاعات اضافه پیدا کنین که شاید مستقیم به موضوع الانتون ربط نداشته باشه، یادداشتش کنین و یه تایمی از هفته یا ماه خودتون رو به تحقیق اختصاص بدین و این موضوعات رو چک کنین. تحقیق با یادگیری فرق داره، شما نمیخواین با یه سرچ متخصص بشین. میخواین دامنه دانشی کم عمقتون رو گسترش بدین تا اگر در چالشی نیاز داشتین توی ذهنتون سرنخ های موثر داشته باشین.
یادتون باشه:
شما هیچوقت قرار نیست وقت پیدا کنین تا به کاری برسین. باید وقت بسازین و بهش اختصاص بدین. بدون برنامه ریزی این اتفاق هیچوقت نمیفته.
تحقیق یه معنی درس خوندن نیست. اگه دیدتون بهش اینه قراره خیلی اذیت بشین. با حجم اطلاعاتی که هرروز در بستر اینترنت رد و بدل میشه، اگه نمیتونین در بخشی از این جریان خودتون رو قرار بدین باید جدی فکر کنین که چرا توسعه دهندهی نرم افزار شدین.
3. در مسیر تحقیق و توسعه ممکنه با ابزارهای مختلف آشنا بشین. یادگرفتن ابزار جدید به این معنی نیست که حتما باید تو پروژه بعدی ازش استفاده کنین. اما دونستنش یه روزی به کار میاد. باز هم برمیگرده به قسمت دامنه دانشی کم عمق، خودتون رو مجبور نکنین که حتما از همچی استفاده کنین، نیازمندی شماست که ابزارهای شما رو تعیین میکنه.
4. در برخورد با چالشهای کاری در پروژههای مختلف، در ابتدای مسیر خیلی درگیر ابزار نشین، اول سعی کنین شماتیک کلی سیستمی که میخواین دیزاین کنین رو درک کنین و روی کاغذ بیارین. توی اون مرحله خیلی مهم نیست که کارها دقیقا چجوری انجام میشن، مهمه که کدوم قستم از سیستم چه خروجی و ورودی داره، اصطلاح درست ترش میشه چه رفتاری داره، اگه در اون مرحله هم جایی حس کردین که نمیدونین چجوری رفتاری رو پیاده سازی کنین، بعنوان یه جعبه سیاه بزارین بمونه، اکثر مواقع ابزاری هست که اون کارو انجام میده و یا دانشی هست که هنوز ندارین اما در مرحله ی اول نباید خیلی خودتون رو درگیرش کنین.
این نکاتی بود که با گذشت زمان بیشتر بهشون اعتقاد پیدا کردم و دوست داشتم به اشتراک بزارم. اگه کسی رو میشناسین که این پست میتونه براش مفید باشه باهاش به اشتراک بزارین و نظرتون هم برام بنویسین🌹
@ever_code
🔥13❤6👍5
Forwarded from Milad Hatami
Media is too big
VIEW IN TELEGRAM
⭕️💢کافه جنگو💢⭕️
آموزش جنگو پایتون
جلسه : ششم
موضوع این جلسه: آشنایی با Manager ها و ارث بری Template ها در جنگو
رشته: فنی پایه 11 کتب جدید
پایه: 11 فنی و 11 و 12 کاردانش
درس: وب
سطح: متوسط
مدرس: مهندس حاتمی
🔻🔻🔻🔻🔻🔻
#کافه_دانش
#کافه_جنگو
#جلسه_6
#سطح_متوسط_پیشرفته
#توسعه_وب
#یادگیری_مفاهیم_وب
#دبیرخانه_کشوری_رایانه
#مستقر_در_استان_زنجان
#کانال_شاد_دبیرخانه_رایانه
@Yvt_computer
#کافه_دانش
t.iss.one/Zncd_ir_Cafe
#آدرس_سایت_دبیرخانه_رایانه
ZNCD.ir
آموزش جنگو پایتون
جلسه : ششم
موضوع این جلسه: آشنایی با Manager ها و ارث بری Template ها در جنگو
رشته: فنی پایه 11 کتب جدید
پایه: 11 فنی و 11 و 12 کاردانش
درس: وب
سطح: متوسط
مدرس: مهندس حاتمی
🔻🔻🔻🔻🔻🔻
#کافه_دانش
#کافه_جنگو
#جلسه_6
#سطح_متوسط_پیشرفته
#توسعه_وب
#یادگیری_مفاهیم_وب
#دبیرخانه_کشوری_رایانه
#مستقر_در_استان_زنجان
#کانال_شاد_دبیرخانه_رایانه
@Yvt_computer
#کافه_دانش
t.iss.one/Zncd_ir_Cafe
#آدرس_سایت_دبیرخانه_رایانه
ZNCD.ir
❤4
جنگولرن
⭕️💢کافه جنگو💢⭕️ آموزش جنگو پایتون جلسه : ششم موضوع این جلسه: آشنایی با Manager ها و ارث بری Template ها در جنگو رشته: فنی پایه 11 کتب جدید پایه: 11 فنی و 11 و 12 کاردانش درس: وب سطح: متوسط مدرس: مهندس حاتمی 🔻🔻🔻🔻🔻🔻 #کافه_دانش #کافه_جنگو #جلسه_6 #س…
جلسه 6 کلاس جنگو برای هنرستان
بر مبنای کتاب Django 5 By Example
لینک ویدئو در آپارات:
https://www.aparat.com/v/xemv1g4
بر مبنای کتاب Django 5 By Example
توی این قسمت، اول رفتیم سراغ مفهوم manager در جنگو
بعدش با get_object_or_404 آشنا شدیم. در ادامه با get_absolute_url هم آشنا شدیم.
اواسط ویدئو در مورد ارث بری template ها صحبت کردیم و صفحات رو با ارث بری یکم تمیزتر کردیم.
در آخر ویدئو هم صفحه بندی رو برای صفحه اصلی سایت مون اوکی کردیم.
توی این دوره قراره بر اساس کتاب Django 5 By Example پیش بریم. ولی مفاهیمی فراتر از کتاب رو قطعا پوشش خواهیم داد.
تمرکز این دوره بر پرسش و پاسخ خواهد بود. که بتونیم به همکاران راهنمایی بدیم.
لینک ویدئو در آپارات:
https://www.aparat.com/v/xemv1g4
آپارات - سرویس اشتراک ویدیو
آموزش جنگو برای هنرستانی ها جلسه 6
توی این قسمت، اول رفتیم سراغ مفهوم manager در جنگو
بعدش با get_object_or_404 آشنا شدیم. در ادامه با get_absolute_url هم آشنا شدیم.
اواسط ویدئو در مورد ارث بری template ها صحبت کردیم و صفحات رو با ارث بری یکم تمیزتر کردیم.
در آخر ویدئو هم صفحه بندی رو برای…
بعدش با get_object_or_404 آشنا شدیم. در ادامه با get_absolute_url هم آشنا شدیم.
اواسط ویدئو در مورد ارث بری template ها صحبت کردیم و صفحات رو با ارث بری یکم تمیزتر کردیم.
در آخر ویدئو هم صفحه بندی رو برای…
❤6👍1
شروع جنگولرن (سال 2020
https://t.iss.one/djangolearn_ir/1
اولین پست جنگولرن (سال 2021
https://t.iss.one/djangolearn_ir/2
اولین تبلیغ تدریس خصوصی جنگو (هنوزم خصوصی جنگو درس میدم
https://t.iss.one/djangolearn_ir/8
https://t.iss.one/djangolearn_ir/1
اولین پست جنگولرن (سال 2021
https://t.iss.one/djangolearn_ir/2
اولین تبلیغ تدریس خصوصی جنگو (هنوزم خصوصی جنگو درس میدم
https://t.iss.one/djangolearn_ir/8
❤8😁1
به اون کاری که امروز کردی نگو "ریفکتور" (Refactor)
اگه تست نداره، اون فقط یه "گندکاریِ تمیزه".
این فقط یه جملهی قشنگ نیست؛ این یه زخمه که من هنوز یادمه.
اوایل کارم، میخواستم قهرمان باشم. ️ تو یه پروژهی لگسی، یه "God Function" هزار خطی پیدا کردم و گفتم: "من اینو تمیز میکنم!"
نشستم و تیکهتیکهاش کردم. ۵۰ تا تابع کوچولوی تر و تمیز. اصل DRY رو پیاده کردم. ظاهر کد عالی شد. "تمیز" و "حرفهای". احساس غرور میکردم.
مشکل چی بود؟ اون کد اصلی لعنتی، یه دونه هم تست خودکار نداشت.
اونجا بود که فاجعه اتفاق افتاد. کاری که من انجام دادم، "ریفکتور" نبود؛ "تغییر دادنِ کورکورانه" بود.
اون کد "تمیز" من، چند تا باگ جدید و پنهان داشت. چرا؟ چون اون "کد اسپاگتی" زشت، پر از منطقهای تجاری پنهان و وابستگیهای زمانی بود که فقط تو همون حالت کار میکرد.
من "بدهی فنی" رو پرداخت نکردم؛ من یه بدهی کمبهره (مثل تکرار کد که فهمیدنش ساده بود) رو برداشتم و با یه بدهی پربهره (مثل یه "انتزاع اشتباه" که حالا دیباگ کردنش غیرممکنه) عوض کردم.
این "تلهی کد تمیز"ئه.
مهمترین تعریفی که تو این صنعت باید بلد باشیم مال مایکل فدرز (Michael Feathers) ئه: "کد لگسی، کدیه که تست نداره." همین.
تو یه سیستم لگسی، قانون اول "تمیز کن" نیست. قانون اول اینه: "اول امنش کن." برو "تستهای مشخصهیابی" (Characterization Tests) بنویس تا رفتار فعلیِ سیستم (با همهی باگهاش) رو قفل کنی. وقتی اون تور ایمنی رو ساختی، اونوقت حق داری که شروع به تمیزکاری کنی.
✍️ Hossein Moradi
اگه تست نداره، اون فقط یه "گندکاریِ تمیزه".
این فقط یه جملهی قشنگ نیست؛ این یه زخمه که من هنوز یادمه.
اوایل کارم، میخواستم قهرمان باشم. ️ تو یه پروژهی لگسی، یه "God Function" هزار خطی پیدا کردم و گفتم: "من اینو تمیز میکنم!"
نشستم و تیکهتیکهاش کردم. ۵۰ تا تابع کوچولوی تر و تمیز. اصل DRY رو پیاده کردم. ظاهر کد عالی شد. "تمیز" و "حرفهای". احساس غرور میکردم.
مشکل چی بود؟ اون کد اصلی لعنتی، یه دونه هم تست خودکار نداشت.
اونجا بود که فاجعه اتفاق افتاد. کاری که من انجام دادم، "ریفکتور" نبود؛ "تغییر دادنِ کورکورانه" بود.
اون کد "تمیز" من، چند تا باگ جدید و پنهان داشت. چرا؟ چون اون "کد اسپاگتی" زشت، پر از منطقهای تجاری پنهان و وابستگیهای زمانی بود که فقط تو همون حالت کار میکرد.
من "بدهی فنی" رو پرداخت نکردم؛ من یه بدهی کمبهره (مثل تکرار کد که فهمیدنش ساده بود) رو برداشتم و با یه بدهی پربهره (مثل یه "انتزاع اشتباه" که حالا دیباگ کردنش غیرممکنه) عوض کردم.
این "تلهی کد تمیز"ئه.
مهمترین تعریفی که تو این صنعت باید بلد باشیم مال مایکل فدرز (Michael Feathers) ئه: "کد لگسی، کدیه که تست نداره." همین.
تو یه سیستم لگسی، قانون اول "تمیز کن" نیست. قانون اول اینه: "اول امنش کن." برو "تستهای مشخصهیابی" (Characterization Tests) بنویس تا رفتار فعلیِ سیستم (با همهی باگهاش) رو قفل کنی. وقتی اون تور ایمنی رو ساختی، اونوقت حق داری که شروع به تمیزکاری کنی.
✍️ Hossein Moradi
👍15❤3🤔1
جنگولرن
سلام به همه بریم برای معرفی کانال هاتون اگه یه کانال داری که مطالبش فنی هست، و میخوای توی جنگولرن [رایگان] معرفی ش کنم لینک کانال ت + یه توضیح یه خطی در موردش رو برای من بفرست. @miladhzz این بار، جای اینکه چند پست باشه، همه رو توی یه پست معرفی می کنم.
یک: https://t.iss.one/AxiomLite
آموزه های یک برنامه نویس
دو: https://t.iss.one/philosophyofsoftware
فلسفه ی نرم افزار ، در مورد مهندسی نرم افزار و ابزار های بدرد بخور
سه: https://t.iss.one/TechnoCode_TC
آموزش برنامه نویسی | اخبار برنامه نویسی | تیکه کد های کاربرد
چهار: https://t.iss.one/front_jon
برنامه نویس فرانت جونیور و ریکت
پنج: https://t.iss.one/Web_Block_team
سوار بر جریان فکر و فناوری
شش: https://t.iss.one/teachify
هر روز یک نکته برنامهنویسی؛ کوتاه، مفید و مخصوص توسعهدهندهها.
آموزه های یک برنامه نویس
دو: https://t.iss.one/philosophyofsoftware
فلسفه ی نرم افزار ، در مورد مهندسی نرم افزار و ابزار های بدرد بخور
سه: https://t.iss.one/TechnoCode_TC
آموزش برنامه نویسی | اخبار برنامه نویسی | تیکه کد های کاربرد
چهار: https://t.iss.one/front_jon
برنامه نویس فرانت جونیور و ریکت
پنج: https://t.iss.one/Web_Block_team
سوار بر جریان فکر و فناوری
شش: https://t.iss.one/teachify
هر روز یک نکته برنامهنویسی؛ کوتاه، مفید و مخصوص توسعهدهندهها.
Forwarded from Mina Heidaree
نکته #پایتون
#python
شماره ۳۶
تهیه کننده: فاطمه درویشی هنرآموز استان بوشهر
#گروه_آموزشی_استان_بوشهر
#دبیرخانه_کشوری_رایانه_زنجان
#python
شماره ۳۶
تهیه کننده: فاطمه درویشی هنرآموز استان بوشهر
#گروه_آموزشی_استان_بوشهر
#دبیرخانه_کشوری_رایانه_زنجان
👍7✍4❤1
Forwarded from Milad Hatami
Media is too big
VIEW IN TELEGRAM
⭕️💢کافه جنگو💢⭕️
آموزش جنگو پایتون
جلسه : هفتم - آخرین جلسه
موضوع این جلسه: استفاده از قالب HTML آماده برای وبلاگ
رشته: فنی پایه 11 کتب جدید
پایه: 11 فنی و 11 و 12 کاردانش
درس: وب
سطح: متوسط
مدرس: مهندس حاتمی
🔻🔻🔻🔻🔻🔻
#کافه_دانش
#کافه_جنگو
#جلسه_7
#جلسه_آخر
#سطح_متوسط_پیشرفته
#توسعه_وب
#یادگیری_مفاهیم_وب
#دبیرخانه_کشوری_رایانه
#مستقر_در_استان_زنجان
#کانال_شاد_دبیرخانه_رایانه
@Yvt_computer
#کافه_دانش
t.iss.one/Zncd_ir_Cafe
#آدرس_سایت_دبیرخانه_رایانه
ZNCD.ir
آموزش جنگو پایتون
جلسه : هفتم - آخرین جلسه
موضوع این جلسه: استفاده از قالب HTML آماده برای وبلاگ
رشته: فنی پایه 11 کتب جدید
پایه: 11 فنی و 11 و 12 کاردانش
درس: وب
سطح: متوسط
مدرس: مهندس حاتمی
🔻🔻🔻🔻🔻🔻
#کافه_دانش
#کافه_جنگو
#جلسه_7
#جلسه_آخر
#سطح_متوسط_پیشرفته
#توسعه_وب
#یادگیری_مفاهیم_وب
#دبیرخانه_کشوری_رایانه
#مستقر_در_استان_زنجان
#کانال_شاد_دبیرخانه_رایانه
@Yvt_computer
#کافه_دانش
t.iss.one/Zncd_ir_Cafe
#آدرس_سایت_دبیرخانه_رایانه
ZNCD.ir
🔥4👍1
جنگولرن
⭕️💢کافه جنگو💢⭕️ آموزش جنگو پایتون جلسه : هفتم - آخرین جلسه موضوع این جلسه: استفاده از قالب HTML آماده برای وبلاگ رشته: فنی پایه 11 کتب جدید پایه: 11 فنی و 11 و 12 کاردانش درس: وب سطح: متوسط مدرس: مهندس حاتمی 🔻🔻🔻🔻🔻🔻 #کافه_دانش #کافه_جنگو #جلسه_7 #جلسه_آخر…
لینک ویدئو جلسه آخر دوره ساخت وبلاگ برای هنرستانی ها
https://www.aparat.com/v/dtj0854
https://www.aparat.com/v/dtj0854
توی این قسمت یه قالب html خام برای وبلاگ آماده کرده بودم. و با تمپلت های جنگو، و ارث بری تمپلت ها، قالب رو برای وبلاگ خودمون اوکی کردیم.
با فایل های استاتیک آشنا شدیم، و نکات مربوط به فایل های استاتیک رو فهمیدیم.
در انتهای ویدئو هم عکس برای پست ها اضافه کردیم و با پکیج pillow آشنا شدیم.
بعدش با فایل های media آشنا شدیم و روش serve کردن این فایل ها توی حالت develop در جنگو رو یاد گرفتیم.
توی این دوره قراره بر اساس کتاب Django 5 By Example پیش بریم. ولی مفاهیمی فراتر از کتاب رو قطعا پوشش خواهیم داد.
تمرکز این دوره بر پرسش و پاسخ خواهد بود. که بتونیم به همکاران راهنمایی بدیم.
🔥4👍1
اصول نرمافزارهای انترپرایز یا Enterprise Software Principles
این دو تا پست از کانال techafternoon در مورد پروژه های enterprise ببینید. مفیده 👌
https://t.iss.one/techafternoon/398
https://t.iss.one/techafternoon/399
این دو تا پست از کانال techafternoon در مورد پروژه های enterprise ببینید. مفیده 👌
https://t.iss.one/techafternoon/398
https://t.iss.one/techafternoon/399
👍2
Designing Data-Intensive Applications
اگر میخوای بدونی سیستمهای مدرن مثل شبکههای اجتماعی، فروشگاههای آنلاین و سرویسهای استریم چطور این حجم عظیم داده را مدیریت میکنند، این کتاب بهترین نقطه شروعه.
Martin Kleppmann
در این کتاب با زبانی ساده توضیح میدهد پشت صحنهی سیستمهای دادهمحور چه میگذرد: از مدل دادهها و دیتابیسها تا رپلیکیشن، شاردینگ، سازگاری و پردازش لحظهای.
این کتاب به جای تمرکز روی ابزارها، ایدههای بنیادی را یاد میدهد؛ چیزهایی که هر معمار نرمافزاری باید بدونه.
✍🏻 arminshaikhy
من که عکساشو دیدم قشنگ بودن 😁
اگر میخوای بدونی سیستمهای مدرن مثل شبکههای اجتماعی، فروشگاههای آنلاین و سرویسهای استریم چطور این حجم عظیم داده را مدیریت میکنند، این کتاب بهترین نقطه شروعه.
Martin Kleppmann
در این کتاب با زبانی ساده توضیح میدهد پشت صحنهی سیستمهای دادهمحور چه میگذرد: از مدل دادهها و دیتابیسها تا رپلیکیشن، شاردینگ، سازگاری و پردازش لحظهای.
این کتاب به جای تمرکز روی ابزارها، ایدههای بنیادی را یاد میدهد؛ چیزهایی که هر معمار نرمافزاری باید بدونه.
✍🏻 arminshaikhy
من که عکساشو دیدم قشنگ بودن 😁
👍9❤1
خروجی این کد 24 میشه
من که نمیدونم همچین کدی کجا میتونه به دردم بخوره
از کتاب Fluent Python
ویرایش:
توضیح یکی از دوستان در این مورد:
اگه بخوای از دید علمی بهش نگاه کنی reduce یک fold توی علوم کامپیوتر fold یعنی یه ساختاری تکراری مثل لیست رو به یع عملیات تبدیل کنیم به یه مقدار نهایی یعنی همون که از چند تا داده یک داده بسازیم یه مفهوم پایه ای توی ریاضیات طراحی الگوریتم ها و حتی فیزیک محاسباتی هستش ولی خب ما معمولی های میگیم همه چیو بریز تو یه مسیر اخرش یه چیز واحد ازش بیرون بکش نصف الگوریتم های دنیا از همین الگوی ساده ساخته میشن مجموع و ضرب و احتمال و hash و فشرده سازی داده بگیر تا جمع کردن اطلاعات از چند منبع و ساختن یه خروجی نهایی از کلی input
توی علوم کامپیوتر یه دونه از قانون های پایه برای ساخت الگوریتم هاست
و دلیل اینکه پایتون اینو مهم میدونه میخواد بهت بگه که تو فقط یک تابع نمی نویسی داری الگوی الگوریتیمی میسازی وقتی reduce رو میفهمی میفهمی هم که چطور از لیست عملیات یک خط پردازش بسازی همون چیزیه که همه زبان های فانکشنال باهاش زندگی میکنن
from functools import reduce
from operator import mul
result = reduce(mul, [2, 3, 4])
print(result)
من که نمیدونم همچین کدی کجا میتونه به دردم بخوره
از کتاب Fluent Python
ویرایش:
توضیح یکی از دوستان در این مورد:
اگه بخوای از دید علمی بهش نگاه کنی reduce یک fold توی علوم کامپیوتر fold یعنی یه ساختاری تکراری مثل لیست رو به یع عملیات تبدیل کنیم به یه مقدار نهایی یعنی همون که از چند تا داده یک داده بسازیم یه مفهوم پایه ای توی ریاضیات طراحی الگوریتم ها و حتی فیزیک محاسباتی هستش ولی خب ما معمولی های میگیم همه چیو بریز تو یه مسیر اخرش یه چیز واحد ازش بیرون بکش نصف الگوریتم های دنیا از همین الگوی ساده ساخته میشن مجموع و ضرب و احتمال و hash و فشرده سازی داده بگیر تا جمع کردن اطلاعات از چند منبع و ساختن یه خروجی نهایی از کلی input
توی علوم کامپیوتر یه دونه از قانون های پایه برای ساخت الگوریتم هاست
و دلیل اینکه پایتون اینو مهم میدونه میخواد بهت بگه که تو فقط یک تابع نمی نویسی داری الگوی الگوریتیمی میسازی وقتی reduce رو میفهمی میفهمی هم که چطور از لیست عملیات یک خط پردازش بسازی همون چیزیه که همه زبان های فانکشنال باهاش زندگی میکنن
❤6✍2👍2
✅ تا حالا به این فکر کردید که وقتی دستور activate رو برای فعالسازی VENV می زنیم چی میشه؟
بهتره وقتی از یه دستور یا ابزار و یا هر چیز دیگه ای استفاده می کنیم، به سادگی از کنارش نگذریم و یه اطلاعات حداقلی رو در موردش داشته باشیم.
😉 البته سعی میکنیم محتوای ویدئوها طوری باشه که مهارت مارو توی جنگو بالاتر ببرن.
🟢 توی این ویدئوی رایگان در مورد دستور activate بررسی هایی انجام میدیم.
لینک آپارات:
https://www.aparat.com/v/ofjc5
لینک ویدئو در یوتیوب:
https://www.youtube.com/watch?v=4hgFtNsMqyw&t
بهتره وقتی از یه دستور یا ابزار و یا هر چیز دیگه ای استفاده می کنیم، به سادگی از کنارش نگذریم و یه اطلاعات حداقلی رو در موردش داشته باشیم.
😉 البته سعی میکنیم محتوای ویدئوها طوری باشه که مهارت مارو توی جنگو بالاتر ببرن.
🟢 توی این ویدئوی رایگان در مورد دستور activate بررسی هایی انجام میدیم.
لینک آپارات:
https://www.aparat.com/v/ofjc5
لینک ویدئو در یوتیوب:
https://www.youtube.com/watch?v=4hgFtNsMqyw&t
❤5👍2🆒2🔥1🤔1
✅ ده تا اشتباه رایج برنامه نویس های جنگو
(البته درستش Django Developers هست)
1: Using the Global System Python Environment for Project Dependencies
2: Not Pinning Project Dependencies in a requirements.txt File
3: Using Old-style Python Functions Instead of Class-based Views
4: Writing Fat Views and Skinny Models
5: A Huge, Unmanageable Settings File
6: All-in-one Application, Bad Application Structure, and Incorrect Resource Placement
7: STATICFILES_DIRS and STATIC_ROOT Confuse Newbie Django Developers
8: Default STATICFILES_STORAGE, Django Templates Loaders in Production
9: Pure Python Scripts for Utilities or Scripts
10: Reinventing the Wheel
توضیحات هر مورد رو توی لینک زیر ببینید:
https://www.toptal.com/django/django-top-10-mistakes
(البته درستش Django Developers هست)
1: Using the Global System Python Environment for Project Dependencies
2: Not Pinning Project Dependencies in a requirements.txt File
3: Using Old-style Python Functions Instead of Class-based Views
4: Writing Fat Views and Skinny Models
5: A Huge, Unmanageable Settings File
6: All-in-one Application, Bad Application Structure, and Incorrect Resource Placement
7: STATICFILES_DIRS and STATIC_ROOT Confuse Newbie Django Developers
8: Default STATICFILES_STORAGE, Django Templates Loaders in Production
9: Pure Python Scripts for Utilities or Scripts
10: Reinventing the Wheel
توضیحات هر مورد رو توی لینک زیر ببینید:
https://www.toptal.com/django/django-top-10-mistakes
Toptal
Top 10 Mistakes That Django Developers Make
In this tutorial, we will look at some common mistakes that are often made by Django developers and ways to avoid them. Whether you're an expert or a new developer taking your first stab at Django, these mistakes are common among all types of Django developers.
✍5👍4
✅ حالا 28 تا best practice توی کار با مدل های جنگو
عناوین مقاله رو اینجا گذاشتم. برای دیدن جزییات لینک رو باز کنید.
1. Correct Model Naming
2. Relationship Field Naming
3. Correct Related-Name
4. Do not use ForeignKey with unique=True
5. Attributes and Methods Order in a Model
6. Adding a Model via Migration
7. Denormalisations
8. BooleanField
9. Business Logic in Models
10. Field Duplication in ModelForm
11. Do not use ObjectDoesNotExist
12. Use of choices
13. Why do you need an extra .all()?
14. Many flags in a model?
15. Redundant model name in a field name
16. Dirty data should not be found in a base
17. Getting the earliest/latest object
18. Never make len(queryset)
19. if queryset is a bad idea
20. Using help_text as documentation
21. Money Information Storage
22. Don't use null=true if you don't need it
23. Remove _id
24. Define unicode or str
25. Transparent fields list
26. Do not heap all files loaded by user in the same folder
27. Use abstract models
28. Use custom Manager and QuerySet
لینک:
https://steelkiwi.com/blog/best-practices-working-django-models-python/
عناوین مقاله رو اینجا گذاشتم. برای دیدن جزییات لینک رو باز کنید.
1. Correct Model Naming
2. Relationship Field Naming
3. Correct Related-Name
4. Do not use ForeignKey with unique=True
5. Attributes and Methods Order in a Model
6. Adding a Model via Migration
7. Denormalisations
8. BooleanField
9. Business Logic in Models
10. Field Duplication in ModelForm
11. Do not use ObjectDoesNotExist
12. Use of choices
13. Why do you need an extra .all()?
14. Many flags in a model?
15. Redundant model name in a field name
16. Dirty data should not be found in a base
17. Getting the earliest/latest object
18. Never make len(queryset)
19. if queryset is a bad idea
20. Using help_text as documentation
21. Money Information Storage
22. Don't use null=true if you don't need it
23. Remove _id
24. Define unicode or str
25. Transparent fields list
26. Do not heap all files loaded by user in the same folder
27. Use abstract models
28. Use custom Manager and QuerySet
لینک:
https://steelkiwi.com/blog/best-practices-working-django-models-python/
globaldev.tech
Best practices working with Django models in Python
Here are some pieces of advice for working with Django models. Some of them might seem obvious, but, hopefully, every developer will find some use in at least one point.
🔥8❤1✍1👍1👏1
Forwarded from هشتگ تبلیغ تخصصی
🚀 برای اینکه سیستمی داشته باشیم که ۵۰۰٬۰۰۰ ریکوئست در ثانیه رو هندل کنه، باید از پایه، مهندسیشده جلو بریم.
⚙️ کدها رو تا حد ممکن stateless بنویسیم
🏗 معماری رو طوری طراحی کنیم که تیم DevOps بتونه راحت scale کنه
بعد میرسیم به جزئیاتی که معمولاً تو ترافیک بالا برامون دردسر درست میکنن مثل:
💯 و از اون مهمتر، تو همچین سیستمی روشهای پخش کردن لود (از لایهی اپلیکیشن تا لایهی شبکه) خیلی جدی میشه که خود اینها یه دنیای گسترده دارن 🌐💥
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1