Episoder
-
در این قسمت، اصل DRY (Don't Repeat Yourself) و اهمیت آن در کاهش redundancy و ارتقای maintainability کد بررسی میشود.
DRY Principle: Inter-Developer Duplication
به طور خاص، مفهوم تکرار بین توسعهدهندگان را مورد بررسی قرار میدهیم، و نحوه همکاری و ارتباط بین توسعهدهندگان را برای بهینهسازی استفاده مجدد از کد و سرعت بخشیدن به فرایند توسعه مورد بررسی قرار میدهیم.
به ما بپیوندید تا راهکارها و بینشهای عملی را برای تقویت رویههای کدزنی کارا در تیمهای خود کشف کنیم.
این بحث را که قول میدهد تجربه مهندسی نرمافزار شما را به سطح بالاتری برساند، از دست ندهید!
لینک کانال در سایر شبکه های اجتماعی
Youtube:
https://www.youtube.com/c/Ardiland1
---------------------------------------------------------------
Castbox:
https://castbox.fm/channel/id5051803
---------------------------------------------------------------
Spotify:
https://lnkd.in/eKduRAVy
---------------------------------------------------------------
Apple Podcasts:
https://lnkd.in/euBQRGZT
---------------------------------------------------------------
Instagram:
https://www.instagram.com/ardiland_ig/
---------------------------------------------------------------
LinkedIn:
https://www.linkedin.com/in/ardalan-ebrahimi
---------------------------------------------------------------
GitHub:
https://github.com/ardalanebrahimi
----------------------------------------------------------------
Telegram:
https://t.me/ardiland_tm
----------------------------------------------------------------
Twitter:
https://twitter.com/Ardiland3
-
دوستان سلام،
خوش اومدین به ویدئوی جدید ما با عنوان
The Dark Side of the Agile, Challenges & Risks
که به تبیین ده چالش و ریسک مواجههای که یک تیم توسعه نرمافزار ممکن است در حین پیادهسازی روش Agile با آن مواجه شود، میپردازد.
پیادهسازی روش Agile همیشه یک کار سرراست و مستقیم نیست و ممکن است با چالشها و ریسکهای زیادی روبهرو شود که میتواند به شکست کلی فرآیند منجر شود. در این ویدئو، ما به طور جامع به این مسئله میپردازیم و تمامی جنبههایی که ممکن است توانمندی تیم Agile را تحت تاثیر قرار دهد، را بررسی میکنیم.
در این ویدئو، با مواردی زیر آشنا میشیم:
- انتقال ناقص: یکی از چالشهای بزرگ پیادهسازی Agile، انتقال ناقص از روشهای قبلی و عدم انطباق کامل با مفاهیم Agile است.
- کمبود آموزش و پشتیبانی: عدم آموزش کافی و عدم پشتیبانی میتواند باعث مواجهه با مشکلاتی در فرآیند پیادهسازی Agile شود.
- مقاومت در برابر تغییرات: برخورد با مقاومت اعضای تیم در برابر تغییرات معمولاً یکی از چالشهای مهم است.
- تاکید بیش از حد بر روی فرآیندها: بیشتر مراکز توجه به فرآیندها و قوانین ممکن است از مهمترین چالشها در پیادهسازی Agile باشد.
- کمبود مشارکت مدیران و سایر افراد مرتبط: مشارکت ناکافی سایر ذینفعان میتواند روند Agile را کند کند.
- چالشهای مقیاسپذیری: با افزایش اندازه تیم یا پروژه، ممکن است چالشهایی مانند مقیاسپذیری به وجود آید.
- ارتباطات ناکارآمد: ارتباطات ناموفق میتواند باعث ابهامات و تداخلها در فرآیند Agile شود.
- کمبود توانمندسازی: کمبود اعتماد به تیم و عدم توانمندسازی افراد میتواند توسعه Agile را مختل کند.
- ناکافی بودن بهبود مداوم: عدم توجه به بهبود مداوم فرآیندها و روشهای Agile میتواند باعث ایجاد مشکلات پیشبینینشده شود.
- عدم موفقیت در تحویل مداوم: عدم موفقیت در اجرای تحویل مداوم میتواند به از دست رفتن اعتماد و عدم موفقیت در پیادهسازی Agile منجر شود.
با ما همراه باشید تا با این چالشها آشنا شوید و راهکارهایی را برای مقابله با آنها بیاموزید.
شروع (00:0)
Incomplete Transition (01:47)
Lack of Training and Support (02:30)
Resistance to Change (03:52)
Overemphasis on Processes (04:51)
Inadequate Stakeholder Involvement (06:51)
Scaling Challenges (07:55)
Ineffective Communication (09:15)
Lack of Empowerment (10:56)
Inadequate Continuous Improvement (12:55)
Failed Continuous delivery (13:37)
لینک کانال در سایر شبکه های اجتماعی
Youtube:
https://www.youtube.com/c/Ardiland1
---------------------------------------------------------------
Castbox:
https://castbox.fm/channel/id5051803
---------------------------------------------------------------
Spotify:
https://lnkd.in/eKduRAVy
---------------------------------------------------------------
Apple Podcasts:
https://lnkd.in/euBQRGZT
---------------------------------------------------------------
Instagram:
https://www.instagram.com/ardiland_ig/
---------------------------------------------------------------
LinkedIn:
https://www.linkedin.com/in/ardalan-ebrahimi
---------------------------------------------------------------
GitHub:
https://github.com/ardalanebrahimi
----------------------------------------------------------------
Telegram:
https://t.me/ardiland_tm
----------------------------------------------------------------
Twitter:
https://twitter.com/Ardiland3
-
Mangler du episoder?
-
Pragmatic Programmer, Dry Principle, Part 2
برنامه نویس عملگرا، رویکرد عملگرایانه
DRY Principle, Don't repeat yourself
قسمت دوم
تو این ویدئو رفتیم سراغ یکی دیگه از اصول طراحی نرم افزار و در واقع یکی از مهمترین اصول طراحی. اصل DRY
این اصل تاکید روی پرهیز از تکرار در نرم افزار داره. تو این ویدئو میبینیم که اصولا تکرار چه مشکلاتی به وجود میاره و از اون مهم تر اینکه، منظور از تکرار، فقط کد تکراری نیست.
لینک کانال در سایر شبکه های اجتماعی
Youtube:
https://www.youtube.com/c/Ardiland1
---------------------------------------------------------------
Castbox:
https://castbox.fm/channel/id5051803
---------------------------------------------------------------
Spotify:
https://lnkd.in/eKduRAVy
---------------------------------------------------------------
Apple Podcasts:
https://lnkd.in/euBQRGZT
---------------------------------------------------------------
Instagram:
https://www.instagram.com/ardiland_ig/
---------------------------------------------------------------
LinkedIn:
https://www.linkedin.com/in/ardalan-ebrahimi
---------------------------------------------------------------
GitHub:
https://github.com/ardalanebrahimi
----------------------------------------------------------------
Telegram:
https://t.me/ardiland_tm
----------------------------------------------------------------
Twitter:
https://twitter.com/Ardiland3
-
الگو های طراحی و اهمیت زبان مشترک
چرا ما حرف همدیگه رو نمی فهمیم؟!
Design Pattern - Part 2
دوستان سلام،
در این ویدئو به بررسی اهمیت زبان مشترک در زمینه الگوهای طراحی میپردازیم. الگوهای طراحی به عنوان یک زبان مشترک بین اعضای تیمهای نرم افزاری عمل میکنند و این ارتباط نقش حیاتی در فهم صحیح و هماهنگی بین اعضا دارد.
با مثالی از الگوی Observer به عمق موضوع پرداخته و ریسک عدم شناخت الگوهای طراحی را مورد بررسی قرار میدهیم. اگر یک نفر در گذشته مشکلی را حل کرده باشد، عدم اطلاع از این حل ممکن است به مشکلاتی منجر شود.
در ادامه، به اهمیت درک طراحی در سطح پترن پرداخته و نحوه تأثیرگذاری الگوهای طراحی بر تیمهای نرم افزاری را مورد بررسی قرار میدهیم. چرا ما گاهی اوقات حرف یکدیگر را نمیفهمیم و چگونه این ابهامات میتوانند در فرآیند توسعه نرم افزار تأثیر گذار باشند؟
با ما همراه باشید تا در دنیای الگوهای طراحی و اهمیت زبان مشترک در آن عمیقاً فرا بگیریم و بهترین راهکارها را برای ارتقاء هماهنگی در تیمهای نرم افزاری کشف کنیم.
سرفصل مطالب عنوان شده در این دیدئو:
شروع (0:00)
اهمیت زبان مشترک (1:37)
الگوهای طراحی به عنوان زبان مشترک (2:08)
مثال، Observer Pattern (2:30)
ریسک عدم شناخت الگوهای طراحی (5:17)
یک نفر قبلا حلش کرده (6:30)
طراحی در سطح پترن (8:29)
الگوهای طراحی و تیم های نرم افزاری (12:35)
---------------------------------------------------------------
لینک کانال در سایر شبکه های اجتماعی
Youtube:
https://www.youtube.com/c/Ardiland1
---------------------------------------------------------------
Castbox:
https://castbox.fm/channel/id5051803
---------------------------------------------------------------
Instagram:
https://www.instagram.com/ardiland_ig/
---------------------------------------------------------------
LinkedIn:
https://www.linkedin.com/in/ardalan-ebrahimi
---------------------------------------------------------------
GitHub:
https://github.com/ardalanebrahimi
---------------------------------------------------------------
Telegram:
https://t.me/+QA61h-IHgSo1Y2Y0
---------------------------------------------------------------
Twitter:
https://twitter.com/Ardiland3
---------------------------------------------------------------
-
اجایل چیست؟
این ۱۰ دقیقه رو از دست ندین !
در این ویدیو، با مفهوم اجایل (Agile) آشنا می شویم و به طور کلی با اهمیت و اصول این متدولوژی در مدیریت پروژهها و توسعه نرمافزارها آشنا خواهیم شد. سپس به یک تعریف خلاصه از اجایل میپردازیم و به سرعت نگاهی به مبانی و اهداف این متدولوژی میاندازیم.
همچنین با مفهوم Agile Mineset آشنا میشوید و چگونگی بهبود فرآیندهای توسعه نرمافزار با استفاده از این ابزار مهم را میفهمید. در ادامه به خلاصه مانیفست اجایل میپردازیم و اصول اساسی که این متدولوژی بر آنها تأکید دارد را بررسی میکنیم.
همچنین به یک خلاصه از اصول اجایل میپردازیم و چگونگی پیادهسازی این اصول در محیط کاری را بررسی میکنیم. در انتها، با کاراکترهای اصلی تفکر چابک آشنا میشوید و نحوه تاثیرگذاری آنها در فرآیندهای توسعه و مدیریت پروژه را مشاهده میکنید.
این ویدیو را از دست ندهید تا در دنیای پویا و تغییرات مداوم، با بهترین رویکردها به پروژههای خود مسلط شوید!
شروع (0:00)
اجایل چیست(0:55)
تعریف خلاصه اجایل (2:54)
Agile Mineset(3:25)
خلاصه مانیفست اجایل(5:23)
خلاصه اصول اجایل (6:12)
کاراکترهای اصلی تفکر چابک(7:52)
جمع بندی(10:20)
---------------------------------------------------------------
لینک کانال در سایر شبکه های اجتماعی
Youtube:
https://www.youtube.com/c/Ardiland1
---------------------------------------------------------------
Castbox:
https://castbox.fm/channel/id5051803
---------------------------------------------------------------
Instagram:
https://www.instagram.com/ardiland_ig/
---------------------------------------------------------------
LinkedIn:
https://www.linkedin.com/in/ardalan-ebrahimi
---------------------------------------------------------------
GitHub:
https://github.com/ardalanebrahimi
---------------------------------------------------------------
Telegram:
https://t.me/+QA61h-IHgSo1Y2Y0
---------------------------------------------------------------
Twitter:
https://twitter.com/Ardiland3
---------------------------------------------------------------
-
DRY فقط کد تکراری نیست
برنامه نویس عملگرا، رویکرد عملگرایانه
DRY Principle, Don't repeat yourself
قسمت اول
تو این ویدئو رفتیم سراغ یکی دیگه از اصول طراحی نرم افزار و در واقع یکی از مهمترین اصول طراحی. اصل DRY
این اصل تاکید روی پرهیز از تکرار در نرم افزار داره. تو این ویدئو میبینیم که اصولا تکرار چه مشکلاتی به وجود میاره و از اون مهم تر اینکه، منظور از تکرار، فقط کد تکراری نیست.
لینک کانال در سایر شبکه های اجتماعی
Youtube:
https://www.youtube.com/c/Ardiland1
---------------------------------------------------------------
Castbox:
https://castbox.fm/channel/id5051803
---------------------------------------------------------------
Spotify:
https://lnkd.in/eKduRAVy
---------------------------------------------------------------
Apple Podcasts:
https://lnkd.in/euBQRGZT
---------------------------------------------------------------
Instagram:
https://www.instagram.com/ardiland_ig/
---------------------------------------------------------------
LinkedIn:
https://www.linkedin.com/in/ardalan-ebrahimi
---------------------------------------------------------------
GitHub:
https://github.com/ardalanebrahimi
----------------------------------------------------------------
Telegram:
https://t.me/ardiland_tm
----------------------------------------------------------------
Twitter:
https://twitter.com/Ardiland3
-
چرا هر برنامه نویسی باید Design Pattern بلد باشه؟
دوستان سلام،
بالاخره سری ویدئو های آمورش دیزاین پترن ها شروع شد. موضوعی که تا حالا درخواست براش خیلی زیاد بوده.
تا الان توی ویدئوها به دیزاین پترن ها اشاره زیاد شده و حتی در مواردی آشنایی اولیه با بعضی از پترن های طراحی اتفاق افتاده، ولی این سری جایی هست که متمرکز و تخصصی فقط در مورد Design Patterns صحبت می کنیم.
برای رسیدن به این نقطه، یه سری پیش نیاز وجود داشت که محتوای مربوطه حالا توی کانال وجود داره و پیشنهاد می کنم اگر نیاز به مرور این پیش نیازها داشتین به پلی لیست هر کدوم رجوع کنید.
تو این ویدئو که در واقع فصل مقدمه این سری محسوب میشه، مثل روال همیشگی محتویات این کانال اول به بررسی مفاهیم پایه و چرایی استفاده از دیزاین پترن ها پرداختم. پیشنهاد می کنم که این سری ویدئو ها رو حتما با نتوورک خودتون و خصوصا همکارانتون به اشتراک بذارین.
سرفصل مطالب عنوان شده در این دیدئو:
شروع (0:00)
جوجه کباب و دیزاین پترن (2:09)
زبان مشترک (4:31)
یکی قبلا حلش کرده (5:41)
افزایش Maintainability (6:05)
وقتی OOP کم میاره (7:03)
Experience reuse vs. Code reuse (7:54)
چطور از Design Pattern استفاده کنیم (9:18)
ِAll you need is Design Pattern?! (10:18)
پیش نیاز یادگیری دیزاین پترن ها (11:26)
معرفی ساختار و محتوای کتاب Head First Design Patterns (12:02)
پایان(13:42)
---------------------------------------------------------------
لینک کانال در سایر شبکه های اجتماعی
Youtube:
https://www.youtube.com/c/Ardiland1
---------------------------------------------------------------
Castbox:
https://castbox.fm/channel/id5051803
---------------------------------------------------------------
Instagram:
https://www.instagram.com/ardiland_ig/
---------------------------------------------------------------
LinkedIn:
https://www.linkedin.com/in/ardalan-ebrahimi
---------------------------------------------------------------
GitHub:
https://github.com/ardalanebrahimi
---------------------------------------------------------------
Telegram:
https://t.me/+QA61h-IHgSo1Y2Y0
---------------------------------------------------------------
Twitter:
https://twitter.com/Ardiland3
---------------------------------------------------------------
-
8 دلیل که تیم ها به سمت اجایل می روند.
تغییر ساختار، نحوه کار کردن و روش های مورد استفاده، فرآیندی طاقت فرسا می باشد که برای تاب آوری، نیاز است که دلایلی محکم این تصمیم را پشتیبانی کند.
صرف اینکه سایر سازمان ها و تیم ها از معماری، فریموورک، تکنولوژی و ابزاری استفاده می کنند، دلیل مناسبی برای استفاده از ابزارها نیست و دلایلی معتبرو منطبق با نیاز تیم و سازمان نیاز است. در این ویدئو، 8 مورد از دلایل موجهی که تیم ها را به سمت اجایل می برد بررسی می کنیم.
شروع (0:00)
Start with Why(0:44)
Faster Time-to-Market (3:31)
Increased Flexibility and Adaptability(4:20)
Enhanced Customer Satisfaction(5:09)
Improved Collaboration and Communication (5:36)
Continuous Improvement(6:15)
Reduced Risks and Increased Predictability(7:01)
Optimized Resource Utilization (8:39)
Empowered and Engaged Teams(9:10)
Agile Practices Overview(10:08)
پایان(12:57)
---------------------------------------------------------------
لینک کانال در سایر شبکه های اجتماعی
Youtube:
https://www.youtube.com/c/Ardiland1
---------------------------------------------------------------
Castbox:
https://castbox.fm/channel/id5051803
---------------------------------------------------------------
Instagram:
https://www.instagram.com/ardiland_ig/
---------------------------------------------------------------
LinkedIn:
https://www.linkedin.com/in/ardalan-ebrahimi
---------------------------------------------------------------
GitHub:
https://github.com/ardalanebrahimi
---------------------------------------------------------------
Telegram:
https://t.me/+QA61h-IHgSo1Y2Y0
---------------------------------------------------------------
Twitter:
https://twitter.com/Ardiland3
---------------------------------------------------------------
-
تو این ویدئو برخی اشتباهات رایج در مصاحبه کاری رو عنوان کردم. اشتباهاتی مثل:
- کلی گویی و بیش از اندازه لازم جواب دادن( روده درازی، پر چونگی!)
- بد گویی از شرکت قبلی، مدیر قبلی، کد قبلی، همکارای قبلی، کلا غر غر کردن
- رزومه نادقیق، بی ربط به موقعیت کاری و یا غیر واقعی
- ...
شروع (0:00)
روده درازی ممنوع (2:03)
بد گویی از شرکت قبلی (4:09)
رزومه نادقیق (8:53)
پایان (12:33)
---------------------------------------------------------------
لینک کانال در سایر شبکه های اجتماعی
YouTube:
https://www.youtube.com/c/Ardiland1
---------------------------------------------------------------
Telegram:
https://t.me/+QA61h-IHgSo1Y2Y0
---------------------------------------------------------------
Instagram:
https://www.instagram.com/ardiland_ig/
---------------------------------------------------------------
Twitter:
https://twitter.com/Ardiland3
---------------------------------------------------------------
GitHub:
https://github.com/ardalanebrahimi
---------------------------------------------------------------
LinkedIn:
https://www.linkedin.com/in/ardalan-ebrahimi
---------------------------------------------------------------
-
معرفی کتاب برنامه نویسی
سلام، تا امروز بارها دوستانی که کانال اردیلند رو دنبال می کنند، درخواست کردند که لیستی از کتاب هایی که برنامه نویس ها و مهندسین نرم افزارباید بخونن رو معرفی کنم. تو این ویدئو چندین کتاب معتبر و توصیه شده دنیای برنامه نویسی و معماری نرم افزار رو معرفی کردم. لیست این کتاب ها رو در ادامه می بینیم. (این لیست رو یه جا برای خودتون ذخیره کنید، در آینده بهش مراجعه خواهید کرد!)
ضمنا برای ارتباط بیشتر و به اشتراک گذاری منابع و تجربیات، گروه تلگرامی اردیلند رو تشکیل دادم و از طریق این لیست می تونین وارد گروه بشید:
https://t.me/+QU5hgp_rjG41MGM0
لیست کتاب ها:
Software Design and Craftsmanship:
- "Clean Code: A Handbook of Agile Software Craftsmanship" by Robert C. Martin (2008)
- "The Pragmatic Programmer: Your Journey to Mastery" by Andrew Hunt and David Thomas (1999)
- "Head First Design Patterns (A Brain Friendly Guide)" by Eric Freeman, Elisabeth Robson, Bert Bates, Kathy Sierra (2004)
- "Design Patterns: Elements of Reusable Object-Oriented Software" by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (1994)
- "Clean Architecture: A Craftsman's Guide to Software Structure and Design" by Robert C. Martin (2017)
- "Code Complete: A Practical Handbook of Software Construction" by Steve McConnell (1993/2004)
- "Refactoring: Improving the Design of Existing Code" by Martin Fowler (1999)
- "Test-Driven Development: By Example" by Kent Beck (2002)
- "Working Effectively with Legacy Code" by Michael Feathers (2004)
--------
Domain-Driven Design:
"Domain-Driven Design: Tackling Complexity in the Heart of Software" by Eric Evans (2003)
- "Implementing Domain-Driven Design" by Vaughn Vernon (2013)
- "Domain-Driven Design Distilled" by Vaughn Vernon (2016)
---------
Microservices and Architecture:
- "Building Microservices: Designing Fine-Grained Systems" by Sam Newman (2014)
- "Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith" by Sam Newman (2019)
- "Fundamentals of Software Architecture: An Engineering Approach" by Neal Ford, Mark Richards (2020)
- "Software Architecture: The Hard Parts" by Neal Ford, Mark Richards, Pramod Sadalage, Zhamak Dehghani (2021)
- "Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems" by Martin Kleppmann (2017)
---------
Agile and Development Practices:
- "Clean Agile: Back to Basics" by Robert C. Martin (2019)
- "The Clean Coder: A Code of Conduct for Professional Programmers" by Robert C. Martin (2011)
- "Extreme Programming Explained: Embrace Change" by Kent Beck, Cynthia Andres (1999)
- "Scrum: The Art of Doing Twice the Work in Half the Time" by Jeff Sutherland (2014)
- "The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses" by Eric Ries (2011)
-------
DevOps and Project Management:
- "The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win" by Gene Kim, Kevin Behr, George Spafford (2013)
- "The Unicorn Project: A Novel about Developers, Digital Disruption, and Thriving in the Age of Data" by Gene Kim (2019)
- "Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation" by Jez Humble and David Farley (2010)
- "Accelerate: The Science of Lean Software and DevOps" by Nicole Forsgren, Jez Humble, and Gene Kim (2018)
-------
Computer Science and Theory:
- "Introduction to Algorithms" by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein (1989/2009)
- "Introduction to the Theory of Computation" by Michael Sipser (2005)
- "The Art of Computer Programming" by Donald E. Knuth (1968-present, multiple volumes)
--------
Business and Entrepreneurship:
- "Start With Why: The Inspiring Million-Copy Bestseller That Will Help You Find Your Purpose" by Simon Sinek (2009)
---------
Classics and Essays:
- "The Mythical Man-Month: Essays on Software Engineering" by Frederick P. Brooks Jr. (1975)
-------------------------------------------------------
لینک کانال در سایر شبکه های اجتماعی
Youtube:
https://www.youtube.com/c/Ardiland1
---------------------------------------------------------------
Castbox:
https://castbox.fm/channel/id5051803
---------------------------------------------------------------
Spotify:
https://lnkd.in/eKduRAVy
---------------------------------------------------------------
Apple Podcasts:
https://lnkd.in/euBQRGZT
---------------------------------------------------------------
Instagram:
https://www.instagram.com/ardiland_ig/
---------------------------------------------------------------
LinkedIn:
https://www.linkedin.com/in/ardalan-ebrahimi
---------------------------------------------------------------
GitHub:
https://github.com/ardalanebrahimi
----------------------------------------------------------------
Telegram:
https://t.me/ardiland_tm
----------------------------------------------------------------
Twitter:
https://twitter.com/Ardiland3
-
اصل DIP از اصول SOLID و Factory Design Pattern
SOLID - Dependency Inversion Principle (DIP) + Factory Design Pattern
سلام به دوستان عزیز. دراین ویدیو به ادامه بررسی یکی از اصول مهم برنامهنویسی، یعنی "اصل انعطافپذیری وابستگی" (Dependency Inversion Principle) میپردازیم.
در ویدئوی قبلی از این سری، با یک مثال کاربردی به بررسی Dependency Inversion Principle در کنار سایر اصول سالید می پردازیم. در این ویدئو سعی می کنیم به کمک Factory Design Pattern پیاده سازی قبلی را بهبود بخشیم.
هدف این ویدئو آموزش Factory Design Pattern نیست و این پترن و سایر دیزاین پترن ها در آینده و در سری ویدئو هایی مستقل آموزش داده خواهد شد، ولی امیدوارم با این نمونه کد، با گوشه ای از بهبودهایی که استفاده از دیزاین پترن ها ایجاد می کنند آشنا شویم.
اگر سوالی دارید یا نظری دارید، لطفاً در قسمت نظرات به ما بگویید. ما همیشه منتظر بازخوردهای شما هستیم.
پس لطفاً ویدیو را تماشا کنید و ما را در این مسیر همراهی کنید
لینک کانال در سایر شبکه های اجتماعی
Youtube:
https://www.youtube.com/c/Ardiland1
---------------------------------------------------------------
Castbox:
https://castbox.fm/channel/id5051803
---------------------------------------------------------------
Spotify:
https://lnkd.in/eKduRAVy
---------------------------------------------------------------
Apple Podcasts:
https://lnkd.in/euBQRGZT
---------------------------------------------------------------
Instagram:
https://www.instagram.com/ardiland_ig/
---------------------------------------------------------------
LinkedIn:
https://www.linkedin.com/in/ardalan-ebrahimi
---------------------------------------------------------------
GitHub:
https://github.com/ardalanebrahimi
----------------------------------------------------------------
Telegram:
https://t.me/ardiland_tm
----------------------------------------------------------------
Twitter:
https://twitter.com/Ardiland3
-
برنامه نویس عملگرا، رویکرد عملگرایانه، مقدمه
Pragmatic Approach - Intro
در این ویدیو، به موضوعات مهم و مفیدی که در فصل 2 کتاب "برنامهنویس عملگرا" با عنوان "رویکرد عملگرایانه" مورد بررسی قرار گرفتهاند، میپردازیم.
شروع (0:0)
اهمیت طراحی خوب (2:40)
Reversibility - انعطاف، قابلیت تغییر (5:25)
Domain-Specific Language (DSL) (9:39)
پایان (13:09)
یکی از اصلیترین موضوعات این فصل، اهمیت طراحی خوب در توسعه نرمافزار است. ما در این ویدیو نشان میدهیم که چرا طراحی نرمافزار از اهمیت ویژهای برخوردار است و چگونه میتواند به بهبود کیفیت و انعطافپذیری نرمافزار کمک کند.
همچنین، در این ویدیو به مفهومهایی مانند "Reversibility" میپردازیم. این مفاهیم به برنامهنویسان کمک میکنند تا نرمافزارهایی بسازند که در مواقع نیاز به تغییرات، به راحتی قابل تغییر باشند.
یک موضوع دیگر که در این فصل به آن اشاره میشود، زبانهای خاص حوزه (Domain Specific Language) است. ما به شما توضیح میدهیم که چگونه میتوانید با استفاده از این نوع زبانها، نیازهای ویژه حوزهی خود را بهبود دهید و کارایی برنامهنویسی خود را افزایش دهید.
آیا شما نیز میخواهید درک عمیقتری از اصول مهم توسعه نرمافزار به دست آورید؟ پس این ویدیو را از دست ندهید.
اگر سوالی دارید یا نظری دارید، لطفاً در قسمت نظرات به ما بگویید. ما همیشه منتظر بازخوردهای شما هستیم.
پس لطفاً ویدیو را تماشا کنید و ما را در این مسیر همراهی کنید.
لینک کانال در سایر شبکه های اجتماعی
Youtube:
https://www.youtube.com/c/Ardiland1
---------------------------------------------------------------
Castbox:
https://castbox.fm/channel/id5051803
---------------------------------------------------------------
Spotify:
https://lnkd.in/eKduRAVy
---------------------------------------------------------------
Apple Podcasts:
https://lnkd.in/euBQRGZT
---------------------------------------------------------------
Instagram:
https://www.instagram.com/ardiland_ig/
---------------------------------------------------------------
LinkedIn:
https://www.linkedin.com/in/ardalan-ebrahimi
---------------------------------------------------------------
GitHub:
https://github.com/ardalanebrahimi
----------------------------------------------------------------
Telegram:
https://t.me/ardiland_tm
----------------------------------------------------------------
Twitter:
https://twitter.com/Ardiland3
-
اصل DIP از اصول SOLID - نمونه کد واقعی
Programming principles - SOLID - Dependency Inversion Principle (DIP)
سلام به دوستان عزیز. دراین ویدیو به ادامه بررسی یکی از اصول مهم برنامهنویسی، یعنی "اصل انعطافپذیری وابستگی" (Dependency Inversion Principle) میپردازیم.
در ویدئوی قبلی از این سری، به توضیح مفهوم اصل انعطافپذیری وابستگی میپردازیم و نشان دادیم که چگونه این اصل ارتباطی بین کلاسها را تعیین میکند تا برنامههای شما بهبود. دراین ویدئو با یک مثال کاربردی به بررسی Dependency Inversion Principle در کنار سایر اصول سالید می پردازیم.
اگر سوالی دارید یا نظری دارید، لطفاً در قسمت نظرات به ما بگویید. ما همیشه منتظر بازخوردهای شما هستیم.
پس لطفاً ویدیو را تماشا کنید و ما را در این مسیر همراهی کنید
لینک کانال در سایر شبکه های اجتماعی
Youtube:
https://www.youtube.com/c/Ardiland1
---------------------------------------------------------------
Castbox:
https://castbox.fm/channel/id5051803
---------------------------------------------------------------
Spotify:
https://lnkd.in/eKduRAVy
---------------------------------------------------------------
Apple Podcasts:
https://lnkd.in/euBQRGZT
---------------------------------------------------------------
Instagram:
https://www.instagram.com/ardiland_ig/
---------------------------------------------------------------
LinkedIn:
https://www.linkedin.com/in/ardalan-ebrahimi
---------------------------------------------------------------
GitHub:
https://github.com/ardalanebrahimi
----------------------------------------------------------------
Telegram:
https://t.me/ardiland_tm
----------------------------------------------------------------
Twitter:
https://twitter.com/Ardiland3
-
کد تمیز - قواعد تیمی و Indenting
Clean Code - Formatting - Team Rules and Indenting
سلام به دوستان عزیز. در این ویدیو، به موضوع مهمی در برنامهنویسی که به توسعه کد تمیز و قابل نگهداری کمک میکند، یعنی "قواعد تیمی و قواعد تورفتگی" میپردازیم.
قدردانی از یک کد تمیز و خوانا امر حیاتی در توسعه نرمافزار است. در این ویدیو، قواعد تیمی را مورد بررسی قرار میدهیم. این قواعد توسط تیمهای برنامهنویسی تعیین میشوند و میتوانند به تنظیم استانداردهای کدنویسی کمک کنند تا کد تمیزتری تولید شود.
همچنین، به مفهوم تورفتگی و نحوه استفاده از آن در کدنویسی پرداخته و نشان میدهیم که چگونه با استفاده از تورفتگی، کدتان را به شکلی سازماندهی شده و خوانا تر ارائه دهید.
آیا شما نیز میخواهید تیمی به کدنویسی تمیز و قابل نگهداری بپردازد و قواعدی برای تیمتان تعیین کند؟ پس این ویدیو را از دست ندهید.
اگر سوالی دارید یا نظری دارید، لطفاً در قسمت نظرات به ما بگویید. ما همیشه منتظر بازخوردهای شما هستیم.
پس لطفاً ویدیو را تماشا کنید و ما را در این مسیر همراهی کنید.
---------------------------------------------------------------
لینک کانال در سایر شبکه های اجتماعی
YouTube:
https://www.youtube.com/c/Ardiland1
---------------------------------------------------------------
Telegram:
https://t.me/ardiland_tm
---------------------------------------------------------------
Instagram:
https://www.instagram.com/ardiland_ig/
---------------------------------------------------------------
Twitter:
https://twitter.com/Ardiland3
---------------------------------------------------------------
GitHub:
https://github.com/ardalanebrahimi
---------------------------------------------------------------
LinkedIn:
https://www.linkedin.com/in/ardalan-ebrahimi
---------------------------------------------------------------
-
دوستان سلام
Agile Principles - Responding to Changes
در این ویدیو به یکی از اصول بسیار مهم و کلیدی در چابکی در برنامهنویسی پرداختهایم، و آن اصل "پاسخ به تغییر به جای پیروی کورکورانه از یک برنامه" است.
شروع (0:0)
مهار کردن تغییرات (2:16)
لزوم توسعه پایدار - sustainable development (6:02)
تاکید بر سادگی - پرهیز از پیچیدگی - maximizing the work not done (7:17)
پایان (13:22)
ما در این ویدیو به شما نشان میدهیم که چرا این اصل بسیار حیاتی است و چگونه میتوانید با انعطافپذیری در پروژههای برنامهنویسی خود، تغییرات را به عنوان فرصتهایی برای بهبود بهرهوری و ارتقاء محصول مورد نظرتان در نظر بگیرید. ما در مورد مزایای پذیرش تغییرات، توسعه پایدار و بهرهوری بیشتر از کارهای غیرضروری صحبت خواهیم کرد.
آیا شما نیز میخواهید پروژههای خود را به شکلی آمادهسازی کنید که بتوانید با تغییرات بازار و نیازهای مشتریان سازگاری داشته باشید؟ پس این ویدیو را از دست ندهید.
اگر سوالی دارید یا نظری دارید، لطفاً در قسمت نظرات به ما بگویید. ما همیشه منتظر بازخوردهای شما هستیم.
**پس لطفاً ویدیو را تماشا کنید و ما را در این مسیر همراهی کنید.**
---------------------------------------------------------------
لینک کانال در سایر شبکههای اجتماعی
Youtube:
https://www.youtube.com/c/Ardiland1
---------------------------------------------------------------
Castbox:
https://castbox.fm/channel/id5051803
---------------------------------------------------------------
Spotify:
https://lnkd.in/eKduRAVy
---------------------------------------------------------------
Apple Podcasts:
https://lnkd.in/euBQRGZT
---------------------------------------------------------------
Instagram:
https://www.instagram.com/ardiland_ig/
---------------------------------------------------------------
LinkedIn:
https://www.linkedin.com/in/ardalan-ebrahimi
---------------------------------------------------------------
GitHub:
https://github.com/ardalanebrahimi
----------------------------------------------------------------
Telegram:
https://t.me/ardiland_tm
----------------------------------------------------------------
Twitter:
https://twitter.com/Ardiland3
-
اصل DIP از اصول SOLID - کد تمیز
Programming principles - SOLID - Dependency Inversion Principle (DIP)
سلام به دوستان عزیز. در این ویدیو به بررسی یکی از اصول مهم برنامهنویسی، یعنی "اصل انعطافپذیری وابستگی" (Dependency Inversion Principle) میپردازیم.
این اصل مهم از مجموعه اصول SOLID در برنامهنویسی است که به شما کمک میکند برنامههایی انعطافپذیر و قابل تغییر طراحی کنید. ما در این ویدیو به شما نشان میدهیم که چرا این اصل مهم است و چگونه میتوانید طراحیهای شما را با رعایت این اصل بهبود بخشید.
در ابتدا، به توضیح مفهوم اصل انعطافپذیری وابستگی میپردازیم و به شما نشان میدهیم که چگونه این اصل ارتباطی بین کلاسها را تعیین میکند تا برنامههای شما بهبود یابند. سپس با استفاده از مثالهای عملی، نشان میدهیم که چگونه میتوانید این اصل را در پروژههای واقعی اعمال کنید.
مقدمه (0:00)
تعریف DIP(2:01 )
تعریف ماژول سطح بالا و سطح پایین (3:34)
تعریف Inversion (5:04)
دستورالعمل ها (8:24)
نکات و ملاحظات(12:58)
در ویدئوی بعدی که آخرین ویدئو از قسمت از آموزش SOLID خواهد بود با یک مثال کاربردی به بررسی Dependency Inversion Principle در کنار سایر اصول سالید می پردازیم.
آیا شما نیز میخواهید برنامههای انعطافپذیری بنویسید که به راحتی قابل تغییر و گسترش باشند؟ پس این ویدیو را از دست ندهید.
اگر سوالی دارید یا نظری دارید، لطفاً در قسمت نظرات به ما بگویید. ما همیشه منتظر بازخوردهای شما هستیم.
پس لطفاً ویدیو را تماشا کنید و ما را در این مسیر همراهی کنید
لینک کانال در سایر شبکه های اجتماعی
Youtube:
https://www.youtube.com/c/Ardiland1
---------------------------------------------------------------
Castbox:
https://castbox.fm/channel/id5051803
---------------------------------------------------------------
Spotify:
https://lnkd.in/eKduRAVy
---------------------------------------------------------------
Apple Podcasts:
https://lnkd.in/euBQRGZT
---------------------------------------------------------------
Instagram:
https://www.instagram.com/ardiland_ig/
---------------------------------------------------------------
LinkedIn:
https://www.linkedin.com/in/ardalan-ebrahimi
---------------------------------------------------------------
GitHub:
https://github.com/ardalanebrahimi
----------------------------------------------------------------
Telegram:
https://t.me/ardiland_tm
----------------------------------------------------------------
Twitter:
https://twitter.com/Ardiland3
-
معرفی پادکست و کانال های یوتیوب و ...
دوستان این ویدئو رو تا جایی که می تونین بچرخونین! اگر توی دسته بندی های عنوان شده، پیشنهاد دیگه ای دارین، لطفا در کامنت معرفی کنید.
در این ویدیو، به سفری میپردازیم تا معادنی از محتوای ارزشمند و مفهومی تولید شده توسط کاربران (UGC) را کاوش کنیم. مجموعهای از کانالهای یوتیوب، پادکستها و شخصیتهای تأثیرگذار لینکدین را معرفی میکنم که در دنیای تکنولوژی، کسب و کار و توسعه شخصی موجهای جدیدی ایجاد کردهاند.
ویدئوی اصلی خیلی طولانی تر بوده و تصمیم گرفتم به دو بخش تقسیم کردم.
محتوایی که معرفی کردم به چند دسته تقسیم می شن. محتواهای تاریخی و تکنولوژی و برنامه نویسی رو توی این ویدئو معرفی کردم و بخش های سبک زندگی، محتوای انگلیسی زبان و زندگی کار در آلمان رو گذاشتم برای ویدئوی بعدی.
لیست کانال ها و لینک به هر کدوم:
پادکست های علی بندری:
Channel B & BPlus
@BplusPodcast
------------------
پادکست های امیر سودبخش:
پادکست رخ، رپاپ، صدای مهاجر
@rokhpodcast
------------------
پادکست علی حجوانی:
پادکست و خبرنامه ژورنال
@alihejvani
------------------
کانال یوتیوب طاهر بایرامی:
@taherbayrami
------------------
کوشیار عظیمیان:
LinkedIn: https://www.linkedin.com/in/kooshiar
Youtube: @Kooshiar
Instagram: https://www.instagram.com/kooshiar
------------------
سهیل علوی - پادکست طبقه 16:
LinkedIn: https://www.linkedin.com/in/soh3il
@Tabaghe16
------------------
پادکست کار نکن، امین آرامش:
@karnakonyoutube3600
------------------
جادی، رادیو گیک:
@JadiMirmirani
------------------
بابک دورانی، DevOps Hobbies:
LinkedIn: https://www.linkedin.com/in/babakdoraniarab
@devopshobbies
------------------
ارفع مددی:
LinkedIn: https://www.linkedin.com/in/arfa-maddi
------------------
کانال یوتیوب SheCreatesGames:
https://www.linkedin.com/in/azindukht-salehifar-7570661a4
@SheCreatesGames
------------------
علی کلاه دوزان:
LinkedIn: https://www.linkedin.com/in/alikolahdoozan
------------------
وحید فرهمندیان:
LinkedIn: https://www.linkedin.com/in/vfarahmandian
------------------------------------------------------------
مقدمه (0:00)
علی بندری - B Plus - Channel B(2:40)
امیر سودبخش - پادکست رخ، رپاپ، صدای مهاجر(4:12)
علی حجوانی - پادکست و خبرنامه ژورنال (5:31)
کانال یوتیوب طاهر بایرامی (6:06)
کوشیار عظیمیان (6:39)
سهیل علوی - پادکست طبقه 16(8:12)
پادکست کار نکن، امین آرامش (8:49)
جادی، رادیو گیک (9:27)
بابک دورانی، DevOps Hobbies (9:55)
ارفع مددی (11:14)
کانال یوتیوب SheCreatesGames (11:55)
علی کلاه دوزان و وحید فرهمندیان (13:27)
--------------------------------------------------
لینک کانال در سایر شبکه های اجتماعی
Youtube:
https://www.youtube.com/c/Ardiland1
---------------------------------------------------------------
Castbox:
https://castbox.fm/channel/id5051803
---------------------------------------------------------------
Spotify:
https://lnkd.in/eKduRAVy
---------------------------------------------------------------
Apple Podcasts:
https://lnkd.in/euBQRGZT
---------------------------------------------------------------
Instagram:
https://www.instagram.com/ardiland_ig/
---------------------------------------------------------------
LinkedIn:
https://www.linkedin.com/in/ardalan-ebrahimi
---------------------------------------------------------------
GitHub:
https://github.com/ardalanebrahimi
----------------------------------------------------------------
Telegram:
https://t.me/ardiland_tm
----------------------------------------------------------------
Twitter:
https://twitter.com/Ardiland3
-
اصول چابکی - اهمیت مشتری
Agile Principles - اهمیت مشتری
در این ویدئو، به بررسی دو اصل اساسی در مانیفست چابکی میپردازیم که عبارتند از:
مقدمه (0:00)
satisfy the customer through early and continuous delivery (1:40)
Business people and developers must work together (6:30)
این اصول به عنوان ستونهای اساسی در فرآیند توسعه نرمافزار چابک دارای اهمیت بالایی هستند.
اصل اول: رضایت مشتری از طریق تحویل مداوم تأکید میکند که تحویل مداوم نرمافزار ارزشمند به مشتریان به ما کمک میکند تا رضایت آنها را جلب کنیم. ما در این ویدیو توضیح میدهیم که چرا تحویل زودهنگام و مداوم میتواند منجر به افزایش رضایت مشتری، پاسخگویی به تغییرات نیازمندیها و در نهایت موفقیت پروژهها شود.
اصل دوم: همکاری روزانه افراد تجاری و توسعهدهندگان نیاز به همکاری نزدیک بین افراد تجاری و تیمهای توسعه را تأکید میکند. در طول ویدیو، ما اهمیت این همکاری را در اطمینان از انطباق نرمافزار با اهداف تجاری، نیازمندیهای در حال تغییر و نیازهای مشتریان مورد بررسی قرار میدهیم.
در طول ویدیو، با ارائه مثالها و نکات عملی، به نمایش میگذاریم که چگونه این اصول اجایل میتوانند فرآیندهای توسعه نرمافزار شما را تغییر داده و رضایت مشتری را افزایش دهند.
فرصت را از دست ندهید تا درک عمیقتری از ارزشها و اصول اجایل را پیدا کنید و چگونگی کسب موفقیت در پروژههای خود را درک کنید..
لینک کانال در سایر شبکه های اجتماعی
Youtube:
https://www.youtube.com/c/Ardiland1
---------------------------------------------------------------
Castbox:
https://castbox.fm/channel/id5051803
---------------------------------------------------------------
Spotify:
https://lnkd.in/eKduRAVy
---------------------------------------------------------------
Apple Podcasts:
https://lnkd.in/euBQRGZT
---------------------------------------------------------------
Instagram:
https://www.instagram.com/ardiland_ig/
---------------------------------------------------------------
LinkedIn:
https://www.linkedin.com/in/ardalan-ebrahimi
---------------------------------------------------------------
GitHub:
https://github.com/ardalanebrahimi
----------------------------------------------------------------
Telegram:
https://t.me/ardiland_tm
----------------------------------------------------------------
Twitter:
https://twitter.com/Ardiland3
-
کد تمیز - فصل 6: فرمتبندی (قسمت 3 - فرمتبندی افقی)
Clean Code - Horizontal Formatting
در این ویدیو، به بررسی عمیقتر فصل شش از کتاب معروف "کد تمیز" نوشته رابرت سی. مارتین میپردازیم. بهطور خاص، به جزئیات مهم فرمتبندی افقی کد، میپردازیم.
فرمتبندی افقی به ترتیب و فرمتبندی هر خط کد در یک سطح افقی مشترک اشاره دارد. این ممکن است به عنوان جزئیات کمترین به نظر بیاید، اما در بهبود قابلیت خواندن و قابلیت نگهداری کد نقش مهمی ایفا میکند. ما بررسی میکنیم که چرا فرمتبندی افقی منظم، مانند فرمتبندی صحیح فاصلهگذاری، به توسعهدهندگان کمک میکند تا به سرعت ساختار و منطق کد را درک کنند.
در طول ویدیو، ما مثالهای عملی و نکاتی را ارائه میدهیم که نشان میدهد چگونه توجه به تطابق و فرمتبندی مناسب میتواند کیفیت کد را افزایش دهد. تا پایان این ویدیو، شما درک روشنی از این خواهید داشت که چرا توجه به تطابق و فرمتبندی افقی هر خط کد، جزء اصولی از نوشتن کد تمیز و قابل نگهداری است.
فرصت را از دست ندهید تا مهارتهای کدنویسی خود را بهبود دهید و کدی بنویسید که نه تنها عملکردی دارد بلکه شیوهنامهای نیز است که با آن آسان و راحت کار کنید.
به ما بپیوندید تا در این بررسی نقاط دقیق فرمتبندی کد، بهعنوان یکی از جنبههای مهم کدنویسی، شرکت کنیم و بیشتر در مورد آن بیاموزیم.
---------------------------------------------------------------
لینک کانال در سایر شبکه های اجتماعی
YouTube:
https://www.youtube.com/c/Ardiland1
---------------------------------------------------------------
Telegram:
https://t.me/ardiland_tm
---------------------------------------------------------------
Instagram:
https://www.instagram.com/ardiland_ig/
---------------------------------------------------------------
Twitter:
https://twitter.com/Ardiland3
---------------------------------------------------------------
GitHub:
https://github.com/ardalanebrahimi
---------------------------------------------------------------
LinkedIn:
https://www.linkedin.com/in/ardalan-ebrahimi
---------------------------------------------------------------
-
اصل ISP از اصول SOLID - کد تمیز
Programming principles - SOLID - Interface Segregation Principle (ISP)
در این ویدیو، به بررسی اصل ISP از اصول SOLID میپردازیم. اصل ISP یکی از اصول مهم در مهندسی نرمافزار است که توسط رابرت سی. مارتین معرفی شده است. ISP به معنای اصل تفکیک واسطها است و در مورد تفکیک واسطها به جای ترکیب واسطهای ضخیم و پیچیده توسط کلاسهای مختلف صحبت میکند.
در این ویدیو، به توضیح اهمیت اصل ISP در طراحی سیستمهای نرمافزاری میپردازیم و نشان میدهیم که چگونه اجرای این اصل میتواند به سادگی و قابلیت گسترش کد کمک کند. همچنین، مثالهایی از کدنویسی با رعایت اصل ISP را ارائه میدهیم تا بهتر درک کنید که چگونه این اصل میتواند به بهبود کیفیت و قابلیت گسترش کد کمک کند.
پیشنهاد میکنیم این ویدیو را برای درک بهتر اصل ISP و کاربرد آن در کدنویسی خود مشاهده کنید.
لینک کانال در سایر شبکه های اجتماعی
Youtube:
https://www.youtube.com/c/Ardiland1
---------------------------------------------------------------
Castbox:
https://castbox.fm/channel/id5051803
---------------------------------------------------------------
Spotify:
https://lnkd.in/eKduRAVy
---------------------------------------------------------------
Apple Podcasts:
https://lnkd.in/euBQRGZT
---------------------------------------------------------------
Instagram:
https://www.instagram.com/ardiland_ig/
---------------------------------------------------------------
LinkedIn:
https://www.linkedin.com/in/ardalan-ebrahimi
---------------------------------------------------------------
GitHub:
https://github.com/ardalanebrahimi
----------------------------------------------------------------
Telegram:
https://t.me/ardiland_tm
----------------------------------------------------------------
Twitter:
https://twitter.com/Ardiland3
- Se mer