+ یه روزی تو هم مرد میشی ...
پدر ! من ۳۲ سالمه !! 😐
+ولی هنوزم داری از PyTorch استفاده میکنی 😑
💻 @FunProGraming
پدر ! من ۳۲ سالمه !! 😐
+ولی هنوزم داری از PyTorch استفاده میکنی 😑
💻 @FunProGraming
📗 به عنوان طراح وب سایت ، شاید خیلی از وقت ها به تنهایی به طراحی و برنامه نویسی بپردازیم و پس از آن وب سایت را به سادگی بارگذاری و تست کنیم. این روش زمانی کاربرد دارد که ما پروژه ها کوچک اند و یکنفره انجام می شوند.
📘 اما اگر نیاز شود بطور تیمی بر روی پروژه کار کنید چطور؟ مخصوصا یک پروژه بزرگ با کلی فایل برنامه نویسی.
مسئله پیچیده شد ، نه؟
📚 اینجاست که سرویسی به نام کنترل نسخه (Version Control) وارد میدان می شود. نرم افزار کدبازی (Open Source) بنام وجود دارد که این نرم افزار به تیم تان اجازه می دهد تا بصورت همزمان بر روی یک پروژه کار کنید ، در عین حال مشکل و تداخلی نیز برای پروژه شما پیش نمی آید.
البته نرم افزار گیت کارهای بیشتری هم انجام می دهد.
💻 @FunProGraming
📘 اما اگر نیاز شود بطور تیمی بر روی پروژه کار کنید چطور؟ مخصوصا یک پروژه بزرگ با کلی فایل برنامه نویسی.
مسئله پیچیده شد ، نه؟
📚 اینجاست که سرویسی به نام کنترل نسخه (Version Control) وارد میدان می شود. نرم افزار کدبازی (Open Source) بنام وجود دارد که این نرم افزار به تیم تان اجازه می دهد تا بصورت همزمان بر روی یک پروژه کار کنید ، در عین حال مشکل و تداخلی نیز برای پروژه شما پیش نمی آید.
البته نرم افزار گیت کارهای بیشتری هم انجام می دهد.
💻 @FunProGraming
📚 نرم افزار کنترل نسخه (git) به شما اجاره می دهد تا نسخه های مختلفی از پروژه ی خود داشته باشید و گزارشی نیز از تغییرات اعمال شده بر روی پروژه به شما می دهد.
📚با این سرویس به سادگی می توانید هر موقع که خواستید کد های قبلی را بازگردانید ، این امکان در زمانی که پروژه با مشکلی بزرگ برخورد کرده است بسیار کارآمد خواهد بود.
💻 @FunProGraming
📚با این سرویس به سادگی می توانید هر موقع که خواستید کد های قبلی را بازگردانید ، این امکان در زمانی که پروژه با مشکلی بزرگ برخورد کرده است بسیار کارآمد خواهد بود.
💻 @FunProGraming
✅ مزایای کار تیمی :
📗همفکری
📘ایجاد ارزش و هدفمندی
📗سهم برابر برای ابراز نظر
📘همکاری تیمی به حل مشکلات کمک میکند
📗همکاری تیمی تصویر ذهنی بزرگتری از شما ایجاد میکند
📘کار گروهی آموزنده است
📗تجمیع استعداد و تواناییها
📘بهبود مهارتهای اعضا
📗یافتن راهکار در زمان کمتر
موفقیت بیشتر
📘افزایش حس رضایت از کار و تمایل به ادامه همکاری
💻 @FunProGraming
📗همفکری
📘ایجاد ارزش و هدفمندی
📗سهم برابر برای ابراز نظر
📘همکاری تیمی به حل مشکلات کمک میکند
📗همکاری تیمی تصویر ذهنی بزرگتری از شما ایجاد میکند
📘کار گروهی آموزنده است
📗تجمیع استعداد و تواناییها
📘بهبود مهارتهای اعضا
📗یافتن راهکار در زمان کمتر
موفقیت بیشتر
📘افزایش حس رضایت از کار و تمایل به ادامه همکاری
💻 @FunProGraming
📚 چهار نشانه برای اصلاح و تفکر بیشتر در طراحی و کد نویسی
📙 تکرار : تکرار در کد که خود سبب ایجاد جفت شدگی در کد می شود.
📗 کلاسی که بیش از حد می داند : در این صورت کلاس شما وابسته می شود به اطلاعاتی خارج از محدوده و کنترل خودش و همین امر قابلیت استفاده مجدد را از کلاس می گیرد و سبب وابستگی کلاس می شود.
📙 نقض Single Responsibility Principle
📗 وجود ساختار های شرطی یکسان
🖥 @FunProGraming
📙 تکرار : تکرار در کد که خود سبب ایجاد جفت شدگی در کد می شود.
📗 کلاسی که بیش از حد می داند : در این صورت کلاس شما وابسته می شود به اطلاعاتی خارج از محدوده و کنترل خودش و همین امر قابلیت استفاده مجدد را از کلاس می گیرد و سبب وابستگی کلاس می شود.
📙 نقض Single Responsibility Principle
📗 وجود ساختار های شرطی یکسان
🖥 @FunProGraming
📚 Polymorphism
📙 پلی مورفیسم و یا به عبارت دیگر چند ریختی نتیجه وراثت است. پلی مورفیسم به برنامه نویسان اجازه میدهد از متد های همنام اما به همراه اشیای مختلف استفاده کنند.
📘 برای مثال کلاس مهره در بازی شطرنج شامل متدی به نام ()move برای حرکت به اندازه یک خانه در هر جهتی است که البته برای مهره پادشاه عالی عمل میکند، اما برای مهره های دیگر مناسب نیست. برای حل مشکل میتوان در زیر کلاس های هر مهره متدی با همین نام را تعریف کرده که بسته به نوع مهره میتواند نوع حرکت را مشخص کند. اکنون برنامه نویس فقط کافی است متد ()move را بر روی مهره ای اعمال کند . در این صورت خود برنامه میداند نحوه حرکت به چه شکل است.
🖥 @FunProGraming
📙 پلی مورفیسم و یا به عبارت دیگر چند ریختی نتیجه وراثت است. پلی مورفیسم به برنامه نویسان اجازه میدهد از متد های همنام اما به همراه اشیای مختلف استفاده کنند.
📘 برای مثال کلاس مهره در بازی شطرنج شامل متدی به نام ()move برای حرکت به اندازه یک خانه در هر جهتی است که البته برای مهره پادشاه عالی عمل میکند، اما برای مهره های دیگر مناسب نیست. برای حل مشکل میتوان در زیر کلاس های هر مهره متدی با همین نام را تعریف کرده که بسته به نوع مهره میتواند نوع حرکت را مشخص کند. اکنون برنامه نویس فقط کافی است متد ()move را بر روی مهره ای اعمال کند . در این صورت خود برنامه میداند نحوه حرکت به چه شکل است.
🖥 @FunProGraming
📚 Abstraction
📗 واژه ی Abstraction به معنی «انتزاعی بودن» است. یعنی چیزی که در حد یک ایده است و وجود خارجی ندارد یا این که نمیشود آن را لمس کرد.
📘 در برنامه نویسی شیء گرا، Abstraction به این قضیه اطلاق میشود که ما به جای تمرکز روی یک نمونه ی عینی از چیزی، روی مفهوم چیزها متمرکز شویم و مفهومی کلی را در نظر بگیریم. Abstraction به مفهومی انتزاعی در ذهن برنامه نویس گفته میشود که کلی است و هیچ ارتباطی با یک آبجکت خاص ندارد.
📙 در واقع، وقتی که ما یک کلاس می سازیم، داریم به صورت انتزاعی و مفهومی، ایده ای را می پرورانیم که هیچ وجود خارجی ندارد تا این که یک شیء از روی آن کلاس ایجاد کنیم.
📘 انتزاع حاکی از آن است که ما اصلاً نیازی نیست تا یک کلاس برای BehzadAccount و کلاس دیگری برای AliAccount بسازیم بلکه یک کلاس مفهومی تحت عنوان BankAccount خواهیم ساخت که از روی آن میتوان به تعداد بی نهایت آبجکت ایجاد کرد.
🖥 @FunProGraming
📗 واژه ی Abstraction به معنی «انتزاعی بودن» است. یعنی چیزی که در حد یک ایده است و وجود خارجی ندارد یا این که نمیشود آن را لمس کرد.
📘 در برنامه نویسی شیء گرا، Abstraction به این قضیه اطلاق میشود که ما به جای تمرکز روی یک نمونه ی عینی از چیزی، روی مفهوم چیزها متمرکز شویم و مفهومی کلی را در نظر بگیریم. Abstraction به مفهومی انتزاعی در ذهن برنامه نویس گفته میشود که کلی است و هیچ ارتباطی با یک آبجکت خاص ندارد.
📙 در واقع، وقتی که ما یک کلاس می سازیم، داریم به صورت انتزاعی و مفهومی، ایده ای را می پرورانیم که هیچ وجود خارجی ندارد تا این که یک شیء از روی آن کلاس ایجاد کنیم.
📘 انتزاع حاکی از آن است که ما اصلاً نیازی نیست تا یک کلاس برای BehzadAccount و کلاس دیگری برای AliAccount بسازیم بلکه یک کلاس مفهومی تحت عنوان BankAccount خواهیم ساخت که از روی آن میتوان به تعداد بی نهایت آبجکت ایجاد کرد.
🖥 @FunProGraming
📚 مهندسی نرم افزار چیست؟
📙 پیشهای است که به یاری دانش رایانه و دیگر فناوریها و روشها به آفریدن و نگاهداری نرم افزار رایانهای میپردازد .
📗 مهندسی نرمافزار طراحی، برنامه نویسی، توسعه، مستندسازی ونگهداری نرم افزار با بکارگرفتن روشهای فنی و عملی از علوم کامپیوتر، مدیریت پروزه، مهندسی، محدوده کاربرد، طراحی رابط، مدیریت تجهیزات دیجیتال و سایر زمینهها است .
📘 کاربردهای مهندسی نرمافزار دارای ارزشهای اجتماعی و اقتصادی هستند، زیرا بهرهوری مردم را بالا برده، چند و چون زندگی آنان را بهتر میکنند .
📗 مردم با بهرهگیری از نرمافزار، توانایی انجام کارهایی را دارند که قبل از آن برایشان شدنی نبود. فناوری ها و خدمات مهندسی نرمافزار به کاربران برای بهبود بهره وری و کیفیت یاری میرساند. نمونههایی از زمینههای بهبود پایگاهها، زبانها، کتابخانهها، الگوها، فرآیندها و ابزار .
🖥 @FunProGraming
📙 پیشهای است که به یاری دانش رایانه و دیگر فناوریها و روشها به آفریدن و نگاهداری نرم افزار رایانهای میپردازد .
📗 مهندسی نرمافزار طراحی، برنامه نویسی، توسعه، مستندسازی ونگهداری نرم افزار با بکارگرفتن روشهای فنی و عملی از علوم کامپیوتر، مدیریت پروزه، مهندسی، محدوده کاربرد، طراحی رابط، مدیریت تجهیزات دیجیتال و سایر زمینهها است .
📘 کاربردهای مهندسی نرمافزار دارای ارزشهای اجتماعی و اقتصادی هستند، زیرا بهرهوری مردم را بالا برده، چند و چون زندگی آنان را بهتر میکنند .
📗 مردم با بهرهگیری از نرمافزار، توانایی انجام کارهایی را دارند که قبل از آن برایشان شدنی نبود. فناوری ها و خدمات مهندسی نرمافزار به کاربران برای بهبود بهره وری و کیفیت یاری میرساند. نمونههایی از زمینههای بهبود پایگاهها، زبانها، کتابخانهها، الگوها، فرآیندها و ابزار .
🖥 @FunProGraming
📚 چطور به یک مهندس نرمافزار تبدیل بشوید؟
📘 گام اول: نسبت به انتخاب هدف نهاییتان دقت زیادی به خرج دهید و به آن متعهد باشید
📙 گام دوم: زبان موردنظرتان را انتخاب کنید.
📗 گام سوم: تمرین، تمرین و تمرین …
📘 گام چهارم: از ابزارهایی استفاده کنید که توسعهدهندگان واقعی استفاده میکنند
📗 گام پنجم: کدهای دیگران را بخوانید
📙 گام ششم: پیدا کردن یک انجمن فعال در حوزه کسب تخصص مهندس نرمافزار
📘 گام هفتم: ساخت پروژه
📗 گام هشتم: شبکه حرفهایتان را ارتقا بدهید
📙 گام نهم: قبل از مصاحبه کاری، یک مهندس نرمافزار حرفهای شوید
📘 گام دهم: مصاحبه شغلی خود را انجام دهید.
📗 گام یازدهم: قبول کردن پیشنهاد شغلی به عنوان یک مهندس نرمافزار
🖥 @FunProGraming
📘 گام اول: نسبت به انتخاب هدف نهاییتان دقت زیادی به خرج دهید و به آن متعهد باشید
📙 گام دوم: زبان موردنظرتان را انتخاب کنید.
📗 گام سوم: تمرین، تمرین و تمرین …
📘 گام چهارم: از ابزارهایی استفاده کنید که توسعهدهندگان واقعی استفاده میکنند
📗 گام پنجم: کدهای دیگران را بخوانید
📙 گام ششم: پیدا کردن یک انجمن فعال در حوزه کسب تخصص مهندس نرمافزار
📘 گام هفتم: ساخت پروژه
📗 گام هشتم: شبکه حرفهایتان را ارتقا بدهید
📙 گام نهم: قبل از مصاحبه کاری، یک مهندس نرمافزار حرفهای شوید
📘 گام دهم: مصاحبه شغلی خود را انجام دهید.
📗 گام یازدهم: قبول کردن پیشنهاد شغلی به عنوان یک مهندس نرمافزار
🖥 @FunProGraming
📗 مهندس نرمافزار کسی است که به دنبال نوشتن کیفیت نرمافزار در حرفه خود است. فردی که علم و آمار را به این حرفه اعمال میکند و به نظر نمیرسد شغلی باشد که فقط برای کسب درآمد است.
📙 دانستن شیوههای برنامهنویسی شما را مهندس نرمافزار نمیکند.هر کسی میتواند برنامهنویسی را به آسانی یاد بگیرد. هر کسی میتواند برنامه سادهای را ایجاد کند که در سیستمش کار میکند اما تضمینی وجود ندارد که همان برنامهها برای دیگران کار کند.
📗 مقایسه سادهای که در این رابطه میتوان انجام داد این است که هرکسی میتواند زیر دوش آواز بخواند و خود را سرگرم کند، اما در مهمانی نمیتواند با صدای بلند شروع به آواز خواندن کند.
🖥 @FunProGraming
📙 دانستن شیوههای برنامهنویسی شما را مهندس نرمافزار نمیکند.هر کسی میتواند برنامهنویسی را به آسانی یاد بگیرد. هر کسی میتواند برنامه سادهای را ایجاد کند که در سیستمش کار میکند اما تضمینی وجود ندارد که همان برنامهها برای دیگران کار کند.
📗 مقایسه سادهای که در این رابطه میتوان انجام داد این است که هرکسی میتواند زیر دوش آواز بخواند و خود را سرگرم کند، اما در مهمانی نمیتواند با صدای بلند شروع به آواز خواندن کند.
🖥 @FunProGraming
📚آیا میدانید APIچیست ؟
📙 در واقع API مخفف کلمه Application Programming Interface است.
📗یک API رابط پیاده سازی توسط نرم افزار است که به دیگر برنامه ها اجازه می دهد با آن ارتباط داشته باشند. API شامل مجموعه ای از تعاریف، پروتکل ها و ابزارهای نرم افزاری برای ساخت نرم افزار و برنامه های کاربردی است.
🖥 @FunProGraming
📙 در واقع API مخفف کلمه Application Programming Interface است.
📗یک API رابط پیاده سازی توسط نرم افزار است که به دیگر برنامه ها اجازه می دهد با آن ارتباط داشته باشند. API شامل مجموعه ای از تعاریف، پروتکل ها و ابزارهای نرم افزاری برای ساخت نرم افزار و برنامه های کاربردی است.
🖥 @FunProGraming
📚 در مورد WEB API چه میدانید ؟
📙 عبارت Web API همانطور که از نامش مشخص است یک API است که می تواند با استفاده از پروتکل HTTP قابل دسترسی باشد. این یک مفهوم است نه فناوری!
📙 ما می توانیم Web API را با استفاده از فناوری های مختلف مانند جاوا، دات نت و ... ایجاد کنیم.
📗 بعنوان مثال Twitter’s Reset APIS (APIهای RESET توییتر) دسترسی برنامه ای به خواندن و نوشتن داده ها را فراهم می کند که با استفاده از آن می توانیم قابلیت های توییتر را به برنامه های خود منتقل کنیم.
🖥 @FunProGraming
📙 عبارت Web API همانطور که از نامش مشخص است یک API است که می تواند با استفاده از پروتکل HTTP قابل دسترسی باشد. این یک مفهوم است نه فناوری!
📙 ما می توانیم Web API را با استفاده از فناوری های مختلف مانند جاوا، دات نت و ... ایجاد کنیم.
📗 بعنوان مثال Twitter’s Reset APIS (APIهای RESET توییتر) دسترسی برنامه ای به خواندن و نوشتن داده ها را فراهم می کند که با استفاده از آن می توانیم قابلیت های توییتر را به برنامه های خود منتقل کنیم.
🖥 @FunProGraming