جنگولرن
4.15K subscribers
310 photos
87 videos
33 files
605 links
آموزش Django و بستگان
-مفاهیم پر کاربرد پایتون
-مفاهیم مهندسی نرم افزار
-آشنایی با تجربه حرفه ای ها
-آشنایی با راهکارهای حرفه ای ها برای افزایش پرفورمنس
و...
اگه سوال داری به @miladhzz پیام بده.
Download Telegram
به اون کاری که امروز کردی نگو "ریفکتور" (Refactor)

اگه تست نداره، اون فقط یه "گندکاریِ تمیزه".

این فقط یه جمله‌ی قشنگ نیست؛ این یه زخمه که من هنوز یادمه.
اوایل کارم، میخواستم قهرمان باشم. ‍️ تو یه پروژه‌ی لگسی، یه "God Function" هزار خطی پیدا کردم و گفتم: "من اینو تمیز میکنم!"
نشستم و تیکه‌تیکه‌اش کردم. ۵۰ تا تابع کوچولوی تر و تمیز. اصل DRY رو پیاده کردم. ظاهر کد عالی شد. "تمیز" و "حرفه‌ای". احساس غرور میکردم.
مشکل چی بود؟ اون کد اصلی لعنتی، یه دونه هم تست خودکار نداشت.
اونجا بود که فاجعه اتفاق افتاد.  کاری که من انجام دادم، "ریفکتور" نبود؛ "تغییر دادنِ کورکورانه" بود.
اون کد "تمیز" من، چند تا باگ جدید و پنهان داشت. چرا؟ چون اون "کد اسپاگتی" زشت، پر از منطق‌های تجاری پنهان و وابستگی‌های زمانی بود که فقط تو همون حالت کار میکرد.
من "بدهی فنی" رو پرداخت نکردم؛ من یه بدهی کم‌بهره (مثل تکرار کد که فهمیدنش ساده بود) رو برداشتم و با یه بدهی پربهره (مثل یه "انتزاع اشتباه" که حالا دیباگ کردنش غیرممکنه) عوض کردم.

این "تله‌ی کد تمیز"ئه.
مهم‌ترین تعریفی که تو این صنعت باید بلد باشیم مال مایکل فدرز (Michael Feathers) ئه: "کد لگسی، کدیه که تست نداره." همین.

تو یه سیستم لگسی، قانون اول "تمیز کن" نیست. قانون اول اینه: "اول امنش کن." برو "تست‌های مشخصه‌یابی" (Characterization Tests) بنویس تا رفتار فعلیِ سیستم (با همه‌ی باگ‌هاش) رو قفل کنی. وقتی اون تور ایمنی رو ساختی، اونوقت حق داری که شروع به تمیزکاری کنی.

✍️ Hossein Moradi
👍143🤔1
سلام به همه
بریم برای معرفی کانال هاتون

اگه یه کانال داری که مطالبش فنی هست، و میخوای توی جنگولرن [رایگان] معرفی ش کنم
لینک کانال ت + یه توضیح یه خطی در موردش رو برای من بفرست. @miladhzz

این بار، جای اینکه چند پست باشه، همه رو توی یه پست معرفی می کنم.
👏21
جنگولرن
سلام به همه بریم برای معرفی کانال هاتون اگه یه کانال داری که مطالبش فنی هست، و میخوای توی جنگولرن [رایگان] معرفی ش کنم لینک کانال ت + یه توضیح یه خطی در موردش رو برای من بفرست. @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
هر روز یک نکته برنامه‌نویسی؛ کوتاه، مفید و مخصوص توسعه‌دهنده‌ها.
Forwarded from Mina Heidaree
نکته #پایتون
#python

شماره ۳۶
تهیه کننده: فاطمه درویشی هنرآموز استان بوشهر

#گروه_آموزشی_استان_بوشهر

#دبیرخانه_کشوری_رایانه_زنجان
👍641
Forwarded from Haririan (Hossein Haririan)
برنامه نویسی با پایتون 😄

╭═━⊰⊱━═╮
🇮🇷 @haririan_ir
╰═━⊰⊱━═╯
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
🔥3
جنگولرن
⭕️💢کافه جنگو💢⭕️ آموزش جنگو پایتون جلسه : هفتم - آخرین جلسه موضوع این جلسه: استفاده از قالب HTML آماده برای وبلاگ رشته: فنی پایه 11 کتب جدید پایه: 11 فنی و 11 و 12 کاردانش درس: وب سطح: متوسط مدرس: مهندس حاتمی 🔻🔻🔻🔻🔻🔻 #کافه_دانش #کافه_جنگو #جلسه_7 #جلسه_آخر…
لینک ویدئو جلسه آخر دوره ساخت وبلاگ برای هنرستانی ها
https://www.aparat.com/v/dtj0854

توی این قسمت یه قالب html خام برای وبلاگ آماده کرده بودم. و با تمپلت های جنگو، و ارث بری تمپلت ها، قالب رو برای وبلاگ خودمون اوکی کردیم.
با فایل های استاتیک آشنا شدیم، و نکات مربوط به فایل های استاتیک رو فهمیدیم.
در انتهای ویدئو هم عکس برای پست ها اضافه کردیم و با پکیج pillow آشنا شدیم.
بعدش با فایل های media آشنا شدیم و روش serve کردن این فایل ها توی حالت develop در جنگو رو یاد گرفتیم.
توی این دوره قراره بر اساس کتاب Django 5 By Example پیش بریم. ولی مفاهیمی فراتر از کتاب رو قطعا پوشش خواهیم داد.
تمرکز این دوره بر پرسش و پاسخ خواهد بود. که بتونیم به همکاران راهنمایی بدیم.
🔥4
اصول نرم‌افزارهای انترپرایز یا Enterprise Software Principles

این دو تا پست از کانال techafternoon در مورد پروژه های enterprise ببینید. مفیده 👌

https://t.iss.one/techafternoon/398
https://t.iss.one/techafternoon/399
👍1
Designing Data-Intensive Applications

اگر می‌خوای بدونی سیستم‌های مدرن مثل شبکه‌های اجتماعی، فروشگاه‌های آنلاین و سرویس‌های استریم چطور این حجم عظیم داده را مدیریت می‌کنند، این کتاب بهترین نقطه شروعه.
Martin Kleppmann
در این کتاب با زبانی ساده توضیح می‌دهد پشت صحنه‌ی سیستم‌های داده‌محور چه می‌گذرد: از مدل‌ داده‌ها و دیتابیس‌ها تا رپلیکیشن، شاردینگ، سازگاری و پردازش لحظه‌ای.

این کتاب به جای تمرکز روی ابزارها، ایده‌های بنیادی را یاد می‌دهد؛ چیزهایی که هر معمار نرم‌افزاری باید بدونه.

✍🏻 arminshaikhy

من که عکساشو دیدم قشنگ بودن 😁
👍71
خروجی این کد 24 میشه
from functools import reduce
from operator import mul

result = reduce(mul, [2, 3, 4])
print(result)


من که نمیدونم همچین کدی کجا میتونه به دردم بخوره
از کتاب Fluent Python

ویرایش:
توضیح یکی از دوستان در این مورد:

اگه بخوای از دید علمی بهش نگاه کنی reduce  یک fold  توی علوم کامپیوتر fold ‌یعنی یه ساختاری تکراری مثل لیست رو به یع عملیات تبدیل  کنیم به یه مقدار نهایی یعنی همون که از چند تا داده یک داده بسازیم یه مفهوم پایه ای توی ریاضیات طراحی الگوریتم ها و حتی فیزیک محاسباتی هستش ولی خب ما معمولی های میگیم همه چیو بریز تو یه مسیر اخرش یه چیز واحد ازش بیرون بکش نصف الگوریتم های دنیا از همین الگوی ساده ساخته میشن مجموع  و ضرب و احتمال و hash‌ و فشرده سازی داده بگیر تا  جمع کردن اطلاعات از چند منبع و ساختن یه خروجی نهایی از کلی input

توی علوم کامپیوتر یه دونه از قانون های پایه برای ساخت الگوریتم هاست

و دلیل اینکه پایتون  اینو مهم میدونه میخواد بهت بگه که تو فقط یک تابع نمی نویسی داری الگوی الگوریتیمی میسازی وقتی reduce  رو میفهمی میفهمی هم که چطور از لیست عملیات یک خط پردازش بسازی همون چیزیه که همه زبان های فانکشنال باهاش زندگی میکنن
62👍1
تا حالا به این فکر کردید که وقتی دستور activate رو برای فعالسازی VENV می زنیم چی میشه؟

بهتره وقتی از یه دستور یا ابزار و یا هر چیز دیگه ای استفاده می کنیم، به سادگی از کنارش نگذریم و یه اطلاعات حداقلی رو در موردش داشته باشیم.
😉 البته سعی میکنیم محتوای ویدئوها طوری باشه که مهارت مارو توی جنگو بالاتر ببرن.

🟢 توی این ویدئوی رایگان در مورد دستور activate بررسی هایی انجام میدیم.

لینک آپارات:
https://www.aparat.com/v/ofjc5

لینک ویدئو در یوتیوب:
https://www.youtube.com/watch?v=4hgFtNsMqyw&t
4👍2🆒2🔥1🤔1