HW3.zip
2.1 MB
تیم دستیار آموزشی زحمت کشیدند و سوالات جدید طراحی کردند. این تمرین در رابطه با کتابخانههای pandas, numpy و matplotlib است. اگر در حال یادگیری برنامهنویسی پایتون هستید، خوب است که سعی کنید این تمرین را برای خودتان حل کنید.
@golemcourse
@golemcourse
👍6❤3
HW1-Solution.zip
301.2 MB
پیشتر در کانال، سوالات تمرین اول درس مبانی برنامهسازی را (با تشکر از تیم دستیار آموزشی) ارسال کرده بودم. حالا میتوانید در فایل پیوست شده ویدیو حل این سوالات به همراه لینک به کد آنها را مشاهده کنید.
@golemcourse
@golemcourse
❤4
FP_Project.pdf
183.2 KB
تیم دستیار آموزشی زحمت کشیدند و سوالات پروژه درس مبانی برنامهنویسی را طراحی کردند.
اگر در حال یادگیری پایتون هستید، خوب است که سعی کنید این پروژه را به صورت شخصی برای خودتان انجام دهید.
@golemcourse
اگر در حال یادگیری پایتون هستید، خوب است که سعی کنید این پروژه را به صورت شخصی برای خودتان انجام دهید.
@golemcourse
❤5👍1
Forwarded from برنامهنویسی پایتون گروه ۷، استاد آقامحمدی (Iman)
This media is not supported in your browser
VIEW IN TELEGRAM
#کدگرمی
اسم سوال: زیرعدد اول
حل کننده: علی ثالثی
موضوع سوال: تقسیم و حل
لینک سوال: https://quera.org/problemset/2432/
🆔 @BPPythonG7
اسم سوال: زیرعدد اول
حل کننده: علی ثالثی
موضوع سوال: تقسیم و حل
لینک سوال: https://quera.org/problemset/2432/
🆔 @BPPythonG7
🔥6
Forwarded from برنامهنویسی پایتون گروه ۷، استاد آقامحمدی (Iman)
Media is too big
VIEW IN TELEGRAM
اسم سوال: چیسون؟
حل کننده: علی ثالثی
موضوع سوال: کار با رشته و دیکشنری
لینک سوال: https://quera.org/problemset/2432/
🆔 @BPPythonG7
حل کننده: علی ثالثی
موضوع سوال: کار با رشته و دیکشنری
لینک سوال: https://quera.org/problemset/2432/
🆔 @BPPythonG7
🔥1
Forwarded from برنامهنویسی پایتون گروه ۷، استاد آقامحمدی (Iman)
Media is too big
VIEW IN TELEGRAM
اسم سوال: حساببیحساب
حل کننده: علی ثالثی
موضوع سوال: پیادهسازی
لینک سوال: https://quera.org/problemset/110019/
🆔 @BPPythonG7
حل کننده: علی ثالثی
موضوع سوال: پیادهسازی
لینک سوال: https://quera.org/problemset/110019/
🆔 @BPPythonG7
🔥1
از بین دو مورد زیر، کدام یک را دوست دارید که خوب یاد بگیرید؟
Anonymous Poll
42%
اکسل
58%
کتابخانه pandas
#معرفی_کتاب
قوانین روزانه: ۳۶۶ کاوش ذهنی درباره قدرت، اغواگری، استراتژی، چیرگی و سرشت انسان
رابرت گرین را اکثراً با کتاب ۴۸ قانون قدرت میشناسند. نویسندهای توانا که با داستانهای افراد بزرگ تاریخ (نظیر راکفلر، شنل، آنتوان چخوف، ناپلئون و ...)، درس زندگی به ما میدهد. قلم و کتابهای او را همیشه دوست میداشتم.
این کتاب به نوعی چکیده کل دانش رابرت گرین و کتابهای او (نظیر ۴۸ قانون قدرت، قوانین سرشت انسان، چیرگی و ..) است. کتاب برای هر روز سال یک قانون سرانگشتی را به شما یاد میدهد. هر ماه قوانین مربوط به یک حوزه را شامل میشود:
ماه اول: زمینه را برای چیرگی فراهم کنید
ماه دوم: دگرگون کردن خودتان
ماه سوم: به کارگیری مهارتها در عمل و دستیابی به چیرگی
ماه چهارم: ورود به بازی قدرت
ماه پنجم: شناسایی فریبکاران و حقهبازان
ماه ششم: تسلط بر هنر تدبیر
ماه هفتم: نفوذ به قلب و ذهن دیگران
ماه هشتم: متقاعد کننده ماهر
ماه نهم: نجاتدهنده از منجلاب
ماه دهم: پذیرش نیمه تاریک درون
ماه یازدهم: دستیابی به خویشتن داری
ماه دوازدهم: مرگ
این کتاب را به اندازه کتابهای دیگر رابرت گرین دوست نداشتم. شاید یک دلیل آن کمرنگ بودن داستانهای تاریخی آن است. اما در کل ارزش یک بار خواندن را داشت و نکات خوبی هم لابلای آن بود. در ادامه برخی از قوانینی که دوست داشتم را مینویسم:
- چیرگی یک فرآیند است و کشف رسالت زندگیتان نقطه شروع این فرآیند
- شما در کودکیتان دلبستگی بخصوصی داشتید; این دلبستگی علّت و سببی داشت. آن را بیابید و دوباره به آن متصل شوید.
- امروز کاری را انجام دهید که در دوران کودکیتان عاشق انجام دادنش بودید. بکوشید دوباره به صداهای آنی وجودتان متصل شوید.
- خاص و عجیب بودن خودتان را در آغوش بگیرید.
- چیزهایی را که باعث تمایزتان میشوند بشناسید. این موارد را با یکدیگر ترکیب کنید و به پدیدهای نادر و استثنایی تبدیل شوید.
- آیا افرادی هستند که کارشان شما را عمیقاً تحت تأثیر قرار میدهد؟ به پاسخ این سوال فکر کنید و از چنین افرادی به عنوان مدلی مناسب بهره ببرید.
- در دنیای امروز که پر است از آدمهای بیهنری که به راحتی میتوان فرد دیگری را جای آنها گذاشت، شما میباید فردی جایگزین ناپذیر باشید.
- اگر هیچکس شما را نمیدید، دوست داشتید روی چه چیزی کار کنید؟ اگر پول در این معادله اهمیتی نداشت چه؟
- مسئله شدت تمرکز بسیار اهمیت دارد; اینکه تماماً در کاری که انجام میدهید غوطهور شوید.
- دانش کاربردی بالاترین و ارزشمندترین نوع دارایی است. موقعیتها را بر اساس یک شاخص ارزیابی کنید؟ آیا بزرگترین فرصت برای یادگیری را در اختیارم میگذارد یا نه؟
- مهارت آموزی کلید پیشرفت شغلی است. بهترین مسیر برای دستیابی به چیرگی این است که بعدها مهارتهایی را که آموختهاید به شکلی مبتکرانه با یکدیگر ترکیب کنید.
- در محیط کار، همه چیز را فرصتی برای یادگیری و گردآوری اطلاعات تلقی کنید.
- شکست خوردن به سادگی فرصتی برای شروع دوباره است و این بار هوشمندانهتر.
- فهرستی شامل افراد هدفمند زندگیتان تهیه کنید; آنهایی که برای زندگیشان معنا و مقصودی دارند. سپس بر اساس اولویتبندی، برای وقت گذراندن با این افراد زمان بگذارید.
-روحیه یک صنعتگر را داشته باشید و کارتان را عالی انجام دهید. یادتان باشد: کیفیت کار تنها چیزی است که اهمیت دارد.
- اشتباهات، ضعفها و شکستهای شما فرصتی برای یادگیریاند; با بررسی اینها از ضعفها و کاستیهایی که دارید آگاه میشوید و میفهمید باید روی چه چیزی کار کنید. به پیام آنها دقت کنید.
- وقتی به بنبست میخورید، موقتاً کار را رها کنید. به فعالیت دیگری مشغول شوید. مغز به تدریج راه حل را به شما نشان میدهد.
- روی واکنشهای هیجانی خود مسلط شوید.
- همیشه کمتر از آنچه لازم است حرف بزنید.
- به دیگران توهین یا بیاحترامی نکنید، حتی اگر طرف مقابلتان ضعیف و ناتوان به نظر میرسد. دلخوشی و رضایتی که به واسطه تحقیر دیگران در کوتاه مدت به دست میآورید به خطری که در دراز مدت تهدیدتان میکند نمیارزد، زیرا همان شخص ممکن است روزی در جایگاهی قرار بگیرد که بتواند به راحتی نسخه شما را در هم بپیچد.
- زندگی را به منزله بازی شطرنج بنگرید.
- گزینههایی جلوی آدمها بگذارید که هر کدام را انتخاب کنند به نفع شما باشد.
- با محاصره کردن خودتان در میان افراد جنس مخالف (از جمله دوستان، دلدادگان پیشین و خواستگاران کنونی) توهم محبوبیت و خواستنی بودن خود را در دیگران ایجاد کنید.
- تلاشهای شما برای تأثیرگذاری روی آدمها همواره باید از منطق یکسانی پیروی کند: اینکه چه کار کنید تا آدمها به میل خود و با انتخاب خود، کاری را که از آنها میخواهید برایتان انجام دهند.
- در گفت و گوهایتان بگذارید هفتاد درصد صحبت را طرف مقابل انجام دهد، سپس تأثیر آن را تماشا کنید.
قوانین روزانه: ۳۶۶ کاوش ذهنی درباره قدرت، اغواگری، استراتژی، چیرگی و سرشت انسان
رابرت گرین را اکثراً با کتاب ۴۸ قانون قدرت میشناسند. نویسندهای توانا که با داستانهای افراد بزرگ تاریخ (نظیر راکفلر، شنل، آنتوان چخوف، ناپلئون و ...)، درس زندگی به ما میدهد. قلم و کتابهای او را همیشه دوست میداشتم.
این کتاب به نوعی چکیده کل دانش رابرت گرین و کتابهای او (نظیر ۴۸ قانون قدرت، قوانین سرشت انسان، چیرگی و ..) است. کتاب برای هر روز سال یک قانون سرانگشتی را به شما یاد میدهد. هر ماه قوانین مربوط به یک حوزه را شامل میشود:
ماه اول: زمینه را برای چیرگی فراهم کنید
ماه دوم: دگرگون کردن خودتان
ماه سوم: به کارگیری مهارتها در عمل و دستیابی به چیرگی
ماه چهارم: ورود به بازی قدرت
ماه پنجم: شناسایی فریبکاران و حقهبازان
ماه ششم: تسلط بر هنر تدبیر
ماه هفتم: نفوذ به قلب و ذهن دیگران
ماه هشتم: متقاعد کننده ماهر
ماه نهم: نجاتدهنده از منجلاب
ماه دهم: پذیرش نیمه تاریک درون
ماه یازدهم: دستیابی به خویشتن داری
ماه دوازدهم: مرگ
این کتاب را به اندازه کتابهای دیگر رابرت گرین دوست نداشتم. شاید یک دلیل آن کمرنگ بودن داستانهای تاریخی آن است. اما در کل ارزش یک بار خواندن را داشت و نکات خوبی هم لابلای آن بود. در ادامه برخی از قوانینی که دوست داشتم را مینویسم:
- چیرگی یک فرآیند است و کشف رسالت زندگیتان نقطه شروع این فرآیند
- شما در کودکیتان دلبستگی بخصوصی داشتید; این دلبستگی علّت و سببی داشت. آن را بیابید و دوباره به آن متصل شوید.
- امروز کاری را انجام دهید که در دوران کودکیتان عاشق انجام دادنش بودید. بکوشید دوباره به صداهای آنی وجودتان متصل شوید.
- خاص و عجیب بودن خودتان را در آغوش بگیرید.
- چیزهایی را که باعث تمایزتان میشوند بشناسید. این موارد را با یکدیگر ترکیب کنید و به پدیدهای نادر و استثنایی تبدیل شوید.
- آیا افرادی هستند که کارشان شما را عمیقاً تحت تأثیر قرار میدهد؟ به پاسخ این سوال فکر کنید و از چنین افرادی به عنوان مدلی مناسب بهره ببرید.
- در دنیای امروز که پر است از آدمهای بیهنری که به راحتی میتوان فرد دیگری را جای آنها گذاشت، شما میباید فردی جایگزین ناپذیر باشید.
- اگر هیچکس شما را نمیدید، دوست داشتید روی چه چیزی کار کنید؟ اگر پول در این معادله اهمیتی نداشت چه؟
- مسئله شدت تمرکز بسیار اهمیت دارد; اینکه تماماً در کاری که انجام میدهید غوطهور شوید.
- دانش کاربردی بالاترین و ارزشمندترین نوع دارایی است. موقعیتها را بر اساس یک شاخص ارزیابی کنید؟ آیا بزرگترین فرصت برای یادگیری را در اختیارم میگذارد یا نه؟
- مهارت آموزی کلید پیشرفت شغلی است. بهترین مسیر برای دستیابی به چیرگی این است که بعدها مهارتهایی را که آموختهاید به شکلی مبتکرانه با یکدیگر ترکیب کنید.
- در محیط کار، همه چیز را فرصتی برای یادگیری و گردآوری اطلاعات تلقی کنید.
- شکست خوردن به سادگی فرصتی برای شروع دوباره است و این بار هوشمندانهتر.
- فهرستی شامل افراد هدفمند زندگیتان تهیه کنید; آنهایی که برای زندگیشان معنا و مقصودی دارند. سپس بر اساس اولویتبندی، برای وقت گذراندن با این افراد زمان بگذارید.
-روحیه یک صنعتگر را داشته باشید و کارتان را عالی انجام دهید. یادتان باشد: کیفیت کار تنها چیزی است که اهمیت دارد.
- اشتباهات، ضعفها و شکستهای شما فرصتی برای یادگیریاند; با بررسی اینها از ضعفها و کاستیهایی که دارید آگاه میشوید و میفهمید باید روی چه چیزی کار کنید. به پیام آنها دقت کنید.
- وقتی به بنبست میخورید، موقتاً کار را رها کنید. به فعالیت دیگری مشغول شوید. مغز به تدریج راه حل را به شما نشان میدهد.
- روی واکنشهای هیجانی خود مسلط شوید.
- همیشه کمتر از آنچه لازم است حرف بزنید.
- به دیگران توهین یا بیاحترامی نکنید، حتی اگر طرف مقابلتان ضعیف و ناتوان به نظر میرسد. دلخوشی و رضایتی که به واسطه تحقیر دیگران در کوتاه مدت به دست میآورید به خطری که در دراز مدت تهدیدتان میکند نمیارزد، زیرا همان شخص ممکن است روزی در جایگاهی قرار بگیرد که بتواند به راحتی نسخه شما را در هم بپیچد.
- زندگی را به منزله بازی شطرنج بنگرید.
- گزینههایی جلوی آدمها بگذارید که هر کدام را انتخاب کنند به نفع شما باشد.
- با محاصره کردن خودتان در میان افراد جنس مخالف (از جمله دوستان، دلدادگان پیشین و خواستگاران کنونی) توهم محبوبیت و خواستنی بودن خود را در دیگران ایجاد کنید.
- تلاشهای شما برای تأثیرگذاری روی آدمها همواره باید از منطق یکسانی پیروی کند: اینکه چه کار کنید تا آدمها به میل خود و با انتخاب خود، کاری را که از آنها میخواهید برایتان انجام دهند.
- در گفت و گوهایتان بگذارید هفتاد درصد صحبت را طرف مقابل انجام دهد، سپس تأثیر آن را تماشا کنید.
❤8👍3
ادامه پست قبل
میل به واکنش نشان دادن به دلخوریها و مزاحمتهای پیشپا افتاده را کنترل کنید. زمان از دست رفته را هرگز نمیتوان باز پس گرفت.
- به هیجاناتی توجه کنید که پیوسته روی افکار و تصمیمات شما تأثیر میگذارد. بیاموزید که این سوال را از خودتان بکنید: چرا خشمگینم؟ چرا ناخشنودم؟ نیاز سیریناپذیر من به توجه از کجا میآید؟
- برای واکنش نشان دادن صبور باشید.
- بردباری را تمرین کنید. قبل از اقدام در خصوص مسئلهای فوری و ضروری، یک روز صبر کنید.
- خودتان را از نظر احساسی درگیر احمقها نکنید و به طور ذهنی از آنها فاصله بگیرید.
- همیشه همان کاری را بکنید که از انجام آن واهمه دارید.
@golemcourse
میل به واکنش نشان دادن به دلخوریها و مزاحمتهای پیشپا افتاده را کنترل کنید. زمان از دست رفته را هرگز نمیتوان باز پس گرفت.
- به هیجاناتی توجه کنید که پیوسته روی افکار و تصمیمات شما تأثیر میگذارد. بیاموزید که این سوال را از خودتان بکنید: چرا خشمگینم؟ چرا ناخشنودم؟ نیاز سیریناپذیر من به توجه از کجا میآید؟
- برای واکنش نشان دادن صبور باشید.
- بردباری را تمرین کنید. قبل از اقدام در خصوص مسئلهای فوری و ضروری، یک روز صبر کنید.
- خودتان را از نظر احساسی درگیر احمقها نکنید و به طور ذهنی از آنها فاصله بگیرید.
- همیشه همان کاری را بکنید که از انجام آن واهمه دارید.
@golemcourse
❤7👍1
Forwarded from برنامهنویسی پایتون گروه ۷، استاد آقامحمدی (Iman)
Media is too big
VIEW IN TELEGRAM
اسم سوال: طرحترافیک
حل کننده: علی ثالثی
موضوع سوال: پیادهسازی
لینک سوال: https://quera.org/problemset/110017/
🆔 @BPPythonG7
حل کننده: علی ثالثی
موضوع سوال: پیادهسازی
لینک سوال: https://quera.org/problemset/110017/
🆔 @BPPythonG7
❤4
Midterm.zip
278.9 KB
سوالات میانترم درس مبانی برنامهسازی (پایتون) را که این ترم تدریس میکنم برایتان پیوست کردم.
اگر در حال یادگیری پایتون هستید، خوب است که به این سوالات فکر کنید.
لینک کانال تلگرام
لینک کانال یوتیوب
اگر در حال یادگیری پایتون هستید، خوب است که به این سوالات فکر کنید.
لینک کانال تلگرام
لینک کانال یوتیوب
👍4❤2
Forwarded from Deep Time
معرفی کتاب صفر به یک
در خیلی از مصاحبههای لکس فریدمن با افراد برجسته شرکتهای موفق و یا نوپای دنیا، احتمالا نام یک کتاب را در آخر پادکست از مصاحبه شونده میشنوید. این کتاب از یک دوره آموزشی در دانشگاه استنفرد برای استارتاپها که در سال ۲۰۱۲ برگزار شده، نشأت میگیرد.
یکی از مهمترین کتابهای حوزه فناوری و کسب و کار که خصوصا برای استارتاپها اهمیت دارد، کتاب صفر به یک اثر پیتر تیل است.
پیتر تیل بنیانگذار PayPal و از اولین سرمایهگذاران فیسبوک، اسپیس اکس و بسیاری شرکت دیگر است.
"تقلید از یک الگو آسانتر از خلق چیزی نو است. انجام دادن کاری که میدانیم چگونه آن را انجام دهیم، جهان را از 1 به n میبرد و چیزی آشنا به آن خواهد افزود. اما هرگاه چیزی نو خلق میکنیم، از «صفر به یک» میرویم.
عمل خلق، منحصر به فرد است، همانند خلق کردن چیزی بااهمیت! و نتیجه چیزی تازه و غریب است."
هنوز کتاب را کامل مطالعه نکرده ام اما کتاب ته تنها بسیار آموزنده و جذاب است، بلکه نگاه بسیار جامع و دقیقی دارد.
@deeptimeai
در خیلی از مصاحبههای لکس فریدمن با افراد برجسته شرکتهای موفق و یا نوپای دنیا، احتمالا نام یک کتاب را در آخر پادکست از مصاحبه شونده میشنوید. این کتاب از یک دوره آموزشی در دانشگاه استنفرد برای استارتاپها که در سال ۲۰۱۲ برگزار شده، نشأت میگیرد.
یکی از مهمترین کتابهای حوزه فناوری و کسب و کار که خصوصا برای استارتاپها اهمیت دارد، کتاب صفر به یک اثر پیتر تیل است.
پیتر تیل بنیانگذار PayPal و از اولین سرمایهگذاران فیسبوک، اسپیس اکس و بسیاری شرکت دیگر است.
"تقلید از یک الگو آسانتر از خلق چیزی نو است. انجام دادن کاری که میدانیم چگونه آن را انجام دهیم، جهان را از 1 به n میبرد و چیزی آشنا به آن خواهد افزود. اما هرگاه چیزی نو خلق میکنیم، از «صفر به یک» میرویم.
عمل خلق، منحصر به فرد است، همانند خلق کردن چیزی بااهمیت! و نتیجه چیزی تازه و غریب است."
هنوز کتاب را کامل مطالعه نکرده ام اما کتاب ته تنها بسیار آموزنده و جذاب است، بلکه نگاه بسیار جامع و دقیقی دارد.
@deeptimeai
❤10
Forwarded from مطالب درسی (Mohammad Hossein)
Media is too big
VIEW IN TELEGRAM
مبانی برنامه سازی، استاد علیرضا آقامحمدی، ۰۲/۲۰
(پایتون، م شیمی، شیمی، عمران، مواد و متالورژی، صنایع، فیزیک)
🔰مطالب درسی
https://news.1rj.ru/str/filmzabtshode
(پایتون، م شیمی، شیمی، عمران، مواد و متالورژی، صنایع، فیزیک)
🔰مطالب درسی
https://news.1rj.ru/str/filmzabtshode
❤3
آفتابه لگن هفت دست، تست نرمافزار هیچی!
نرمافزار درست مانند انسانها یک چرخه حیات دارد. نرمافزارها تولید میشوند، به مرور تکامل پیدا میکنند و در نهایت روزی جایگزین نرمافزارهای جدیدتر میشوند (مرگشان فرا میرسد). در این چرخه حیات مجموعهای از فعالیتها را انجام میدهیم: از استخراج نیازمندیها بگیر، تا برنامهنویسی و پیادهسازی، از بستن قراردادها تا تست نرمافزار و استقرار آنها در محیط کاربر.
اما متاسفانه به این تست نرمافزار کم توجهی میشود تا جایی که خیلی از شرکتها آن را حذف میکنند! امروزه تست نرمافزار را به صورت دستی انجام نمیدهیم. بلکه به صورت خودکار و با نوشتن کد از کیفیت نرمافزار اطمینان حاصل میکنیم. آنقدر تست نوشتن اهمیت دارد که در یک محصول با کیفیت، به صورت تقریبی حجم کد تست شما تقریباً با حجم کد محصول برابر است! یعنی به همان اندازه که برای نرمافزار کد نوشتید، به همان اندازه نیز باید تست بنویسید. اهمیت تست به قدری است که در دنیای امروز، کد تست را بخشی از کد محصول به حساب میآورند.
✍️ گامهای عملی:
در ادامه یک سری گامهای عملی پیشنهاد میکنم که میتوانید به ترتیب در کوتاه مدت و بلند مدت انجام دهید.
۱. به کتابخانه تست واحد زبان برنامهنویسی که با آن محصول خود را نوشتید، مسلط شوید. اگر از پایتون استفاده میکنید، کتابخانه pytest را یاد بگیرید. اگر از جاوا استفاده میکنید، junit را فرا بگیرید. هنگام نوشتن تستهای واحد، حالتهای خاص و لبه مرزی را بررسی کنید. همچنین حالتهایی که باید منجر به خطا شود را در بیاورید و بررسی کنید که اگر کاربر از عمد ورودی اشتباه داد، آیا خطای مورد انتظار به او داده میشود یا خیر.
۲. کیفیت و اثربخشی تستهای خود را با شاخصهای پوشش کد مثل پوشش خط (line coverage) و پوشش شاخه (branch coverage) بسنجید.
۳. فرآیند اجرای تستها را در مخازن گیت به صورت خودکار در بیاورید. یعنی تا زمانی که تمام تستها پاس نشوند، اجازه کامیت کردن را ندهید. این کار با pre-commit شدنی است.
۴. با مفهوم آزمون موتاسیون (mutation testing) آشنا شوید. برای پایتون ابزار Mutatest و برای جاوا ابزار PIT وجود دارد.
۵. تستهای یکپارچهسازی و سیستمی نیز به مجموعه تستهای خود اضافه کنید.
۶. در بلند مدت، با کارهای Jeff Offutt (یکی از بزرگان حوزه تست نرمافزار) آشنا شوید و حتماً کتاب Introduction to software testing او را مطالعه کنید. در این کتاب بدون توجه به زبان برنامهنویسی خاص، به صورت اصولی یاد میگیرید که تست طراحی کنید. این کتاب با مبانی ریاضی مثل نظریه گراف، گرامرهای مستقل از متن و نظریه منطق به شما یاد میدهد که چگونه به صورت نظاممند تست طراحی کنید.
کانال تلگرام علیرضا آقامحمدی
کانال یوتیوب علیرضا آقامحمدی
نرمافزار درست مانند انسانها یک چرخه حیات دارد. نرمافزارها تولید میشوند، به مرور تکامل پیدا میکنند و در نهایت روزی جایگزین نرمافزارهای جدیدتر میشوند (مرگشان فرا میرسد). در این چرخه حیات مجموعهای از فعالیتها را انجام میدهیم: از استخراج نیازمندیها بگیر، تا برنامهنویسی و پیادهسازی، از بستن قراردادها تا تست نرمافزار و استقرار آنها در محیط کاربر.
اما متاسفانه به این تست نرمافزار کم توجهی میشود تا جایی که خیلی از شرکتها آن را حذف میکنند! امروزه تست نرمافزار را به صورت دستی انجام نمیدهیم. بلکه به صورت خودکار و با نوشتن کد از کیفیت نرمافزار اطمینان حاصل میکنیم. آنقدر تست نوشتن اهمیت دارد که در یک محصول با کیفیت، به صورت تقریبی حجم کد تست شما تقریباً با حجم کد محصول برابر است! یعنی به همان اندازه که برای نرمافزار کد نوشتید، به همان اندازه نیز باید تست بنویسید. اهمیت تست به قدری است که در دنیای امروز، کد تست را بخشی از کد محصول به حساب میآورند.
✍️ گامهای عملی:
در ادامه یک سری گامهای عملی پیشنهاد میکنم که میتوانید به ترتیب در کوتاه مدت و بلند مدت انجام دهید.
۱. به کتابخانه تست واحد زبان برنامهنویسی که با آن محصول خود را نوشتید، مسلط شوید. اگر از پایتون استفاده میکنید، کتابخانه pytest را یاد بگیرید. اگر از جاوا استفاده میکنید، junit را فرا بگیرید. هنگام نوشتن تستهای واحد، حالتهای خاص و لبه مرزی را بررسی کنید. همچنین حالتهایی که باید منجر به خطا شود را در بیاورید و بررسی کنید که اگر کاربر از عمد ورودی اشتباه داد، آیا خطای مورد انتظار به او داده میشود یا خیر.
۲. کیفیت و اثربخشی تستهای خود را با شاخصهای پوشش کد مثل پوشش خط (line coverage) و پوشش شاخه (branch coverage) بسنجید.
۳. فرآیند اجرای تستها را در مخازن گیت به صورت خودکار در بیاورید. یعنی تا زمانی که تمام تستها پاس نشوند، اجازه کامیت کردن را ندهید. این کار با pre-commit شدنی است.
۴. با مفهوم آزمون موتاسیون (mutation testing) آشنا شوید. برای پایتون ابزار Mutatest و برای جاوا ابزار PIT وجود دارد.
۵. تستهای یکپارچهسازی و سیستمی نیز به مجموعه تستهای خود اضافه کنید.
۶. در بلند مدت، با کارهای Jeff Offutt (یکی از بزرگان حوزه تست نرمافزار) آشنا شوید و حتماً کتاب Introduction to software testing او را مطالعه کنید. در این کتاب بدون توجه به زبان برنامهنویسی خاص، به صورت اصولی یاد میگیرید که تست طراحی کنید. این کتاب با مبانی ریاضی مثل نظریه گراف، گرامرهای مستقل از متن و نظریه منطق به شما یاد میدهد که چگونه به صورت نظاممند تست طراحی کنید.
کانال تلگرام علیرضا آقامحمدی
کانال یوتیوب علیرضا آقامحمدی
Telegram
Golem Course
Alireza Aghamohammadi, Ph.D.
https://youtube.com/@GolemCourse
https://youtube.com/@GolemCourse
👍5
Forwarded from Golem Course
کانال تلگرام علیرضا آقامحمدی
کانال یوتیوب علیرضا آقامحمدی
💰 میخواهید وارد بازار کار شوید؟
📕 میخواهید دانش و مهارت ضروری صنعت کامپیوتر را بلد باشید؟
🧠 عاشق یادگیری هستید؟
اگر پاسخ شما به سه سوال بالا منفی است، این کانال مناسب شما نیست!
لینک دسترسی به تمام ویدیوها در کانال یوتیوب:
🥉 مسیر یادگیری و تقویت زبان انگلیسی
🎯 آموزش زبان انگلیسی: (۳۰:۳۷ ساعت - به اتمام رسیده)
==================
🥈مسیر برنامهنویس شدن:
🎯 دوره آموزشی پایتون: (۱۵:۱۷ ساعت - در حال ضبط)
🎯 دوره آموزشی گیت: (۴:۰۶ ساعت - به اتمام رسیده)
🎯 دوره تست نرمافزار با پایتون: (۱:۲۰ ساعت - به اتمام رسیده)
==================
🥇 مسیر کار تیمی و ایجاد نرمافزار
🎯 دوره آموزشی اسکرام: (۲:۳۰ ساعت - به اتمام رسیده)
🎯 دوره مهندسی نیازمندیها: (۴:۳۲ ساعت - در حال ضبط)
🎯 دوره مدیریت پروژه: (۳:۱۶ ساعت - در حال ضبط)
==================
کانال یوتیوب علیرضا آقامحمدی
💰 میخواهید وارد بازار کار شوید؟
📕 میخواهید دانش و مهارت ضروری صنعت کامپیوتر را بلد باشید؟
🧠 عاشق یادگیری هستید؟
اگر پاسخ شما به سه سوال بالا منفی است، این کانال مناسب شما نیست!
لینک دسترسی به تمام ویدیوها در کانال یوتیوب:
🥉 مسیر یادگیری و تقویت زبان انگلیسی
🎯 آموزش زبان انگلیسی: (۳۰:۳۷ ساعت - به اتمام رسیده)
==================
🥈مسیر برنامهنویس شدن:
🎯 دوره آموزشی پایتون: (۱۵:۱۷ ساعت - در حال ضبط)
🎯 دوره آموزشی گیت: (۴:۰۶ ساعت - به اتمام رسیده)
🎯 دوره تست نرمافزار با پایتون: (۱:۲۰ ساعت - به اتمام رسیده)
==================
🥇 مسیر کار تیمی و ایجاد نرمافزار
🎯 دوره آموزشی اسکرام: (۲:۳۰ ساعت - به اتمام رسیده)
🎯 دوره مهندسی نیازمندیها: (۴:۳۲ ساعت - در حال ضبط)
🎯 دوره مدیریت پروژه: (۳:۱۶ ساعت - در حال ضبط)
==================
Telegram
Golem Course
Alireza Aghamohammadi, Ph.D.
https://youtube.com/@GolemCourse
https://youtube.com/@GolemCourse
🔥3👍2
Forwarded from مطالب درسی (Mohammad Hossein)
Media is too big
VIEW IN TELEGRAM
مبانی برنامه سازی، استاد علیرضا آقامحمدی، ۰۲/۲۵
(پایتون، م شیمی، شیمی، عمران، مواد و متالورژی، صنایع، فیزیک)
🔰مطالب درسی
https://news.1rj.ru/str/filmzabtshode
(پایتون، م شیمی، شیمی، عمران، مواد و متالورژی، صنایع، فیزیک)
🔰مطالب درسی
https://news.1rj.ru/str/filmzabtshode
❤5
میخواهیم میانگین مدت زمان اجرایی یک تابع را اندازهگیری کنیم. برای این کار تصمیم گرفتیم که از decorator استفاده کنیم. اما به صورت پیشفرض decorator پارامتر دریافت نمیکند!
راه حل نوشتن تابعی است که خروجی آن یک decorator باشد. به طور مثال در شکل بالا، پنج بار تابع فیبوناچی را اجرا میکنیم و میانگین زمان اجرایی را برمیگردانیم.
به این تکنیک پارامتریزه سازی decorator میگویند.
کانال تلگرام علیرضا آقامحمدی
کانال یوتیوب علیرضا آقامحمدی
راه حل نوشتن تابعی است که خروجی آن یک decorator باشد. به طور مثال در شکل بالا، پنج بار تابع فیبوناچی را اجرا میکنیم و میانگین زمان اجرایی را برمیگردانیم.
به این تکنیک پارامتریزه سازی decorator میگویند.
کانال تلگرام علیرضا آقامحمدی
کانال یوتیوب علیرضا آقامحمدی
👍7
HW3.pdf
233.8 KB
تیم دستیار آموزشی زحمت کشیدند و سوالات تمرین سوم درس مبانی برنامهسازی (پایتون) را طراحی کردند. این تمرین مربوط به حوزه شیگرایی است. اگر در حال یادگیری پایتون هستید، پیشنهاد میکنم که به این سوالات فکر کنید.
کانال تلگرام علیرضا آقامحمدی
کانال یوتیوب علیرضا آقامحمدی
کانال تلگرام علیرضا آقامحمدی
کانال یوتیوب علیرضا آقامحمدی
👍4
Media is too big
VIEW IN TELEGRAM
مبانی برنامه سازی، استاد علیرضا آقامحمدی، ۰۲/۲۷
(پایتون، م شیمی، شیمی، عمران، مواد و متالورژی، صنایع، فیزیک)
(پایتون، م شیمی، شیمی، عمران، مواد و متالورژی، صنایع، فیزیک)
❤2
به وقت خودشناسی
لازم است از محمد طلایی (@deeptimeai) بابت معرفی دکتر آذرخش مکری تشکر کنم. مدتی است که بعد از معرفی محمد ویدیوهای ایشان را تماشا میکنم. ایشان روان پزشک است و در رابطه با موضوع سلامت روان مطالب بسیار جالبی ارائه میکنند. یکی از موضوعاتی که اخیراً تماشا کردم و خیلی برایم آموزنده بود، بخشی از پلیلیست به وقت خودشناسی ایشان در کانال یوتیوب بود. در آن ویدیوها انواع آزمایشهای علمی و موضوعات بروز را در باره خودشناسی به بحث گذاشتند.
یکی از موضوعهایی که به صورت شخصی برایم آموزنده بود، بحث این است که دیگران در رابطه با ما چه فکر میکنند. برداشت من از حرفهای دکتر مکری و نتایج مقالاتی که اشاره کردند، این است:
۱. دیگران به شما فکر نمیکنند و اگر هم فکر کنند به این موضوع فکر میکنند که شما در رابطه با آنها چه فکری میکنید.
۲. زمانی که دیگران به شما فکر میکنند خیلی منفیتر از چیزی است که شما تصور میکنید. یعنی ما انسانها خودمان را بهتر از چیزی که دیگران در رابطه با ما فکر میکنند، تصور میکنیم.
۳. در عمل و رفتار این تفکرات منفی دیگران نسبت به شما خطری ندارد و بروز هم پیدا نمیکند. نگران نباشید.
پیشنهاد من این است که ویدیوهای به وقت خودشناسی ایشان را تماشا کنید (لینک)
لازم است از محمد طلایی (@deeptimeai) بابت معرفی دکتر آذرخش مکری تشکر کنم. مدتی است که بعد از معرفی محمد ویدیوهای ایشان را تماشا میکنم. ایشان روان پزشک است و در رابطه با موضوع سلامت روان مطالب بسیار جالبی ارائه میکنند. یکی از موضوعاتی که اخیراً تماشا کردم و خیلی برایم آموزنده بود، بخشی از پلیلیست به وقت خودشناسی ایشان در کانال یوتیوب بود. در آن ویدیوها انواع آزمایشهای علمی و موضوعات بروز را در باره خودشناسی به بحث گذاشتند.
یکی از موضوعهایی که به صورت شخصی برایم آموزنده بود، بحث این است که دیگران در رابطه با ما چه فکر میکنند. برداشت من از حرفهای دکتر مکری و نتایج مقالاتی که اشاره کردند، این است:
۱. دیگران به شما فکر نمیکنند و اگر هم فکر کنند به این موضوع فکر میکنند که شما در رابطه با آنها چه فکری میکنید.
۲. زمانی که دیگران به شما فکر میکنند خیلی منفیتر از چیزی است که شما تصور میکنید. یعنی ما انسانها خودمان را بهتر از چیزی که دیگران در رابطه با ما فکر میکنند، تصور میکنیم.
۳. در عمل و رفتار این تفکرات منفی دیگران نسبت به شما خطری ندارد و بروز هم پیدا نمیکند. نگران نباشید.
پیشنهاد من این است که ویدیوهای به وقت خودشناسی ایشان را تماشا کنید (لینک)
YouTube
به وقت خودشناسی
Share your videos with friends, family, and the world
👍15