Cpp_Tutorial.pdf
حجم:
1.27M
#معرفی_منبع
یه کتاب بسیار خوب برای شروع یادگیری زبان سی پلاس پلاس
C++
🆔 : @mrpythonblog
این باگ ها واقعا وجود دارن و امکان داره گاهی اوقات باهاش مواجه بشید .
دلیل بوجود اومدنشونم اینه که وقتی ما تلاش میکنیم مثلا با دیباگر ها ، برناممون رو عیب یابی کنیم ، معمولا خود دیباگر ها یکسری تغییراتی روی برنامه بوجور میارن . طبیعیه که محیط عیب یابی با محیط واقعی اجرا کمی متفاوت باشه و برخی مولفه ها تغییر کنن .
همین تغییرات میتونه باعث بشه تا برخی باگ هایی که تو اجرای واقعی وجود داشتن یا پنهان بشن یا رفتارشون فرق کنه
برای مثال سورس کد دارای باگی رو فرض کنید که با قابلیت های بهینه سازی ( Optimizing ) یک کامپایلر خاص ، کامپایل شده . وقتی این نتیجه رو اجرا میکنیم میبینیم که باگ داره . مثل هر برنامه نویسی تلاش میکنیم عیب یابیش کنیم . برای عیب یابی ، دیباگر ما ممکنه سورس کد رو دوباره کامپایل کنه برای دیباگ کردن ولی اینبار بدونه بهینه سازی (Optimizing) . همین تفاوت به ظاهر کوچیک (بهینه سازی شدن یا نشدن) میتونه باعث بشه تا باگی که دنبالش بودیم یهو ناپدید بشه .
درواقع الگوریتم ها و روش های بهینه سازی کامپایلر بودن که این هایزنباگ رو بوجود میاوردن :)
مطالعه بیشتر :
https://en.wikipedia.org/wiki/Heisenbug
🆔 : @mrpythonblog
سرفصل دوره پایتون که خدمتتون ارائه شد :
🔴 ------ بخش اول : مفاهیم پایه ------ 🔴
قسمت ۱ - نصب پایتون و آماده سازی محیط
قسمت ۲ - معرفی مفهوم متغییر ها
قسمت ۳ - نوع داده چیست ؟ روش های تبدیل انواع (Type Casting)
قسمت ۴ - گرفتن ورودی از کاربر (input)
قسمت ۵ - دستورات شرطی
قسمت ۶ - بررسی دقیق تر شرط ها و ارتباط آنها با مقادیر بولی
قسمت ۷ - آرایه ها در پایتون (معرفی لیست ها)
قسمت ۸ - معرفی برخی توابع مربوط به لیست ها
قسمت ۹ - ادامه آرایه ها و معرفی tuple , dict , set
قسمت ۱۰ - معرفی برخی توابع برای کارکردن با رشته ها (string)
قسمت ۱۱ - انواع عملگرها در پایتون
قسمت ۱۲ - حلقه های شرطی (معرفی while)
قسمت ۱۳ - حلقه های شرطی (معرفی for)
قسمت ۱۴ - معرفی دستورات پرش در حلقه ها
قسمت ۱۵ - معرفی توابع و نحوه تعریف آنها
قسمت ۱۶ - ورودی و خروجی های توابع
قسمت ۱۷ - حوزه متغییر ها ( Scope )
قسمت ۱۸ - کار با فایل ها در پایتون
قسمت ۱۹ - آرایه های چندبعدی و List Comperhension
قسمت ۲۰ - مدیریت استثناء ها
🔴 -------- بخش دوم : شیء گرایی -------- 🔴
قسمت ۲۱ - معرفی مفهوم شیء گرایی و کلاس و شیء
قسمت ۲۲ - سازنده کلاس ها (Costructor)
قسمت ۲۳ - فضای نام اشیاء (namespace)
قسمت ۲۴ - ارث بری (Inheritance) و چندریختی (Polymorphism)
قسمت ۲۵ - ماژول ها در پایتون
قسمت ۲۶ - پکیج ها در پایتون
قسمت ۲۷ - بررسی dunder های پرکاربرد در کلاس ها
قسمت ۲۸ - معرفی و طرز استفاده چند کتابخانه پرکاربرد
قسمت ۲۹ - ایجاد استثناء ( Exception ) های دلخواه و استفاده از آن ها
قسمت ۳۰ - مفهوم Iterable ها در پایتون
قسمت ۳۱ - معرفی توابع map , filter و generator ها در پایتون
قسمت ۳۲ (آخر) - نحوه تبدیل اسکریپت پایتون به فایل اجرایی و ساخت فایل نصب ( Setup ) از برنامه ها
🆔 : @mrpythonblog
🔴 آموزش پایتون - قسمت 24
در این قسمت به معرفی مفهوم ارث بری (Inheritance) و چندریختی ها (Polymorphism) در شیء گرایی پایتون میپردازیم .
Weblog : https://mrpython.blog.ir/post/193
Aparat : https://www.aparat.com/v/SOGRB
🆔 : @mrpythonblog
🔴 آموزش پایتون - قسمت 30
در این قسمت در به مفهوم Iterable ها در پایتون خواهیم پرداخت .
Weblog : https://mrpython.blog.ir/post/199
Aparat : https://www.aparat.com/v/KNYtU
🆔 : @mrpythonblog
هایزنباگ : باگی که هروقت تلاش میکنی تا اونو دیباگ و بررسی کنی حتما تغییر میکنه یا خودشو مخفی میکنه :)
تو حوزه های مربوط به برنامه نویسی کلا ، به نظرم یکی از بدترین و وقت تلف کن ترین کارها گشتن دنبال دوره یا آموزش خوبه ... گشتنی که یه مدت نسبتا زیادی وقت صرفش بشه .
نباید سخت گرفت، کمال گرایی رو باید گذاشت کنار . هیچ منبع کاملی وجود نداره .
فقط باید شروع کرد ...
سلام و خسته نباشید دوستان .
خبر امروز اینه که بالاخره وبسایت مسترپایتون تاسیس شد و از این به بعد تمامی فعالیت ها روی وبسایت انجام خواهد شد
آدرس وبسایت :
https://mrpythonblog.ir
وبلاگ قدیمی رو هم میزاریم بمونه حذفش نمیکنیم چون تعداد زیادی پست روش داریم ولی خب پست های جدید همشون روی وبسایت قرار میگیرن . هرچند وقت یک بار وبلاگ قدیمی رو هم چک میکنم و نظراتو جواب میدم داخلش
#معرفی_منبع
سلام و صبح بخیر .
✅ رادار ۲ (radare2 یا r2) یک پکیج کامل مهندسی معکوسه که شامل ابزار هایی مثل Debugger , Disassembler , Hex Editor ، تحلیل کننده انواع فرمت فایل ها مثل PE , ELF و کلی ابزار بدرد بخور دیگه هستش .
🔶 این ابزار به صورت پیشفرض کاملا تحت کنسول هستش و این موضوع باعث میشه بسیار سبک و قابل حمل باشه و به راحتی روی هر سیستمی با هر معماری پردازنده و منابع سخت افزاری اجرا بشه . از جهتی محیط های گرافیکی و تحت وب هم برای کارکردن با این ابزار ساخته شدن و میشه ازشون استفاده کرد .
🔶 انجین اسکریپت نویسی خودشو داره هرچند با اکثر زبان های برنامه نویسی میشه اتوماتش کرد .
🔶 قابلیت شخصی سازی خیلی خوبی تو بخش های مختلف از جمله ظاهرش داره . اکثر بخش های ابزار چه ظاهری چه کارکرد های اون قابل پیکربندیه .
🔶 کاملا قابل توسعه هستش و برای اکثر زبان های برنامه نویسی مثل پایتون ، جاوا ، سی ، گو و ... کتابخونه داره تا بتونید داخل اون زبان ها از امکانات این ابزار استفاده کنید و براش افزونه و پلاگین بنویسید
آدرس زیر یک کتاب تحت وب از آموزش این ابزاره که خیلی خوب نوشته شده و از طرف خود توسعه دهندگان ابزار هستش :
👉 https://book.rada.re/
🆔 : @mrpythonblog
یه بابایی همینجور که داشته تو جنگل راه میرفته ، یه چراغ عجیب غریب پیدا میکنه . برش میداره و با آستینش گرد و خاک روی اون رو پاک میکنه . یهو یه غول ازش میاد بیرون . غوله شروع میکنه تشکر کردن و دمت گرم و این حرفا ... که منو آزاد کردی .
غوله به مرده میگه سه تا آرزو بکن همشو برات برآورده میکنم .
خلاصه این داداشمون که کفش بریده بوده ، سریع همون اول میگه یک میلیارد دلار میخوام .
غوله یه بشکن میزنه یه چمدون پر از دلار ظاهر میشه .
بعد مرده میگه یه فراری هم میخوام . غوله یه بشکن دیگه میزنه یه فراری هم ظاهر میشه .
به عنوان آرزو آخر میگه میخوام هیچ دختری تو این دنیا توانایی رد کردن منو نداشته باشه .
غوله یه بشکن دیگه میزنه و مرده تبدیل میشه به یه جعبه شکلات .
به نقل از کتاب " هنر اکسپلویت نویسی ( The art of exploitation ) " ، دلیل بوجود اومدن آسیب پذیری ها تو دنیای کامپیوتر دقیقا همین چیزیه که این داستان گفت .
هیچ چیزی اشتباه پیش نرفت . جعبه شکلات احتمالا برای دختر ها قابل رد کردن نیست . اون غوله فقط چیزی که براش گفته شد رو به درستی انجام داد و فراهم کرد . مشکل اصلی از اون مرده بود که نتونست واقعا اون چیزی که تو فکرش داشت رو بیان کنه .
این اتفاق دقیقا برای برنامه نویس و کامپیوتر هم وجود داره . کامپیوتر ها اون چیزی که براشون نوشته شده رو مو به مو اجرا میکنن اما برنامه نویسا لزوما اون چیزی که تو فکرشونه رو نمینویسن . این تناقض بین چیزی که تو فکر برنامه نویسه و چیزی که برای کامپیوتر نوشته منجر به بوجود اومدن آسیب پذیری میشه .
🆔 : @mrpythonblog