💎 Types of Coupling in Software Development - Part 1
🌀 خوب بد نیست یکمی بیشتر در مورد Coupling صحبت کنیم که تا الان مثل کلمه مانترا توی یوگا شده برامون. سعی کردم انواع Coupling رو توضیح بدم و براشون هم یه نمونه دولوپ کنم و راهکار هم بدم تا جاییکه چیکار بکنیم براشون.
00:00 What is Coupling
06:00 Types of Coupling
06:28 No-Coupling
07:40 Data Coupling
11:30 Stamp Coupling
15:12 Real Example of Stamp Coupling
18:01 Control Coupling
22:18 External Coupling
27:58 Common Coupling
31:00 Content Coupling
🕶 مدت ویدیو : 37 دقیقه
📺 لینک ویدیو :
https://youtu.be/zkexz3srbno
🌗 گیت هاب :
https://github.com/iCodeNext/dotnet/tree/main/iCodeNext/TypesOfCoupling
🌀 خوب بد نیست یکمی بیشتر در مورد Coupling صحبت کنیم که تا الان مثل کلمه مانترا توی یوگا شده برامون. سعی کردم انواع Coupling رو توضیح بدم و براشون هم یه نمونه دولوپ کنم و راهکار هم بدم تا جاییکه چیکار بکنیم براشون.
00:00 What is Coupling
06:00 Types of Coupling
06:28 No-Coupling
07:40 Data Coupling
11:30 Stamp Coupling
15:12 Real Example of Stamp Coupling
18:01 Control Coupling
22:18 External Coupling
27:58 Common Coupling
31:00 Content Coupling
🕶 مدت ویدیو : 37 دقیقه
📺 لینک ویدیو :
https://youtu.be/zkexz3srbno
🌗 گیت هاب :
https://github.com/iCodeNext/dotnet/tree/main/iCodeNext/TypesOfCoupling
❤24🙏5👍2👌1
💎 Type of Cohesion in Software Development - Part 2
🌀 حالا که در مورد Coupling صحبت کردیم بد نیست در مورد انواع Cohesion هم صحبت کنیم.
01:00 Coincidental Cohesion
04:00 Logical Cohesion
07:00 Temporal Cohesion
12:00 Procedural Cohesion
15:00 Communicational Cohesion
17:00 Sequential Cohesion
19:00 Functional Cohesion
🕶 مدت ویدیو : 21 دقیقه
📺 لینک ویدیو :
https://youtu.be/c1kfgeYAYN0
🌗 لینک گیت هاب:
https://github.com/iCodeNext/dotnet/tree/main/iCodeNext/TypesOfCohesion
🌀 حالا که در مورد Coupling صحبت کردیم بد نیست در مورد انواع Cohesion هم صحبت کنیم.
01:00 Coincidental Cohesion
04:00 Logical Cohesion
07:00 Temporal Cohesion
12:00 Procedural Cohesion
15:00 Communicational Cohesion
17:00 Sequential Cohesion
19:00 Functional Cohesion
🕶 مدت ویدیو : 21 دقیقه
📺 لینک ویدیو :
https://youtu.be/c1kfgeYAYN0
🌗 لینک گیت هاب:
https://github.com/iCodeNext/dotnet/tree/main/iCodeNext/TypesOfCohesion
❤14👍5🔥4
💎 EF Core internals: Entity Query Provider - Part 45
🌀 چیزیکه برام خیلی جذابه اینه که چقدر میشه از کارای ساده ای که شاید به ذهن همه میرسه، بهترین استفاده رو کرد، و این رو توی فاز های کامپایل کردن یک دستور LINQ به TSQL در انتیتی فریمورک میبینیم. مثل کش کردن کوئری ها و یا اینکه بیان پارامتر های کوئری رو در بیارن برای اینکه به یه کلید واحد برسند. و خیلی موارد دیگه که توی این سری از ویدیو ها میبینیمش.
00:00 Previous Session about IQueryable
08:00 Linq Provider in EF Core
08:30 Linq to Object
08:45 Linq to Sql
09:48 Server vs Client Evaluation
11:53 TSql and Materialzier
13:00 Query Cache
15:00 Parameter Extraction
20:30 Entity Query Provider in EF Code Source Code
🕶 مدت ویدیو : 26 دقیقه
📺 لینک ویدیو :
https://youtu.be/uVLmbn_Qi3I
🌀 چیزیکه برام خیلی جذابه اینه که چقدر میشه از کارای ساده ای که شاید به ذهن همه میرسه، بهترین استفاده رو کرد، و این رو توی فاز های کامپایل کردن یک دستور LINQ به TSQL در انتیتی فریمورک میبینیم. مثل کش کردن کوئری ها و یا اینکه بیان پارامتر های کوئری رو در بیارن برای اینکه به یه کلید واحد برسند. و خیلی موارد دیگه که توی این سری از ویدیو ها میبینیمش.
00:00 Previous Session about IQueryable
08:00 Linq Provider in EF Core
08:30 Linq to Object
08:45 Linq to Sql
09:48 Server vs Client Evaluation
11:53 TSql and Materialzier
13:00 Query Cache
15:00 Parameter Extraction
20:30 Entity Query Provider in EF Code Source Code
🕶 مدت ویدیو : 26 دقیقه
📺 لینک ویدیو :
https://youtu.be/uVLmbn_Qi3I
❤24👍4
💎 EF Core internals: Query Cache Hit Rate and Counters - Part 46
🌀 تو این ویدیو یه tool نصب کردیم که بتونیم اونت های درون انتیتی فریمورک رو ببینیم و اون هم dotnet-counters هست، با این tool کامل میتونیم ببینیم که انتیتی فریمورک واقعا داره 2 تا کار parameters Extraction و Query Caching رو انجام میده.
00:00 Previous Session
06:00 Demo for checking Query Caching
07:00 dotnet-counters
08:35 install dotnet-counters
09:12 monitoring EntityFrameworkCore
11:10 Query Cache Hit Rate
🕶 مدت ویدیو : 14 دقیقه
📺 لینک ویدیو :
https://youtu.be/Yn8tve-DCug
🌀 تو این ویدیو یه tool نصب کردیم که بتونیم اونت های درون انتیتی فریمورک رو ببینیم و اون هم dotnet-counters هست، با این tool کامل میتونیم ببینیم که انتیتی فریمورک واقعا داره 2 تا کار parameters Extraction و Query Caching رو انجام میده.
00:00 Previous Session
06:00 Demo for checking Query Caching
07:00 dotnet-counters
08:35 install dotnet-counters
09:12 monitoring EntityFrameworkCore
11:10 Query Cache Hit Rate
🕶 مدت ویدیو : 14 دقیقه
📺 لینک ویدیو :
https://youtu.be/Yn8tve-DCug
❤20👍5
💎 How EF Core Translates Linq into SQL - Part 47
🌀 اگه بخواید بدونید که انتیتی فریمورک واقعا چطور یه کوئری Linq رو به SQL ترجمه میکنه، این ویدیو دقیقا جواب این سوال رو میخواد بده که تو فاز کامپایل یک کوئری چه اتفاقاتی داره میوفته و چه مجیکی پشت داستانش هست.
00:00 Previous Session
04:00 Pre-Processing Expression Visitors
12:00 Translator Expression Visitor
13:00 SQL World Expression
15-30 Post-Processing and QuerySqlGenerator
پ.ن. شاید این ویدیو برای همه مناسب نباشه، اگه واقعا میخواید متوجه بشید که اون پشت ها چه خبره این ویدیو روببینید.
❤️ و اینکه واقعا ممنونم از محبتتون و لایک ها و کامنت هایی که میزارید کلی انرژی میگیریم.
🕶 مدت ویدیو : 23 دقیقه
📺 لینک ویدیو :
https://youtu.be/q7Wb1PFDP1U
🌀 اگه بخواید بدونید که انتیتی فریمورک واقعا چطور یه کوئری Linq رو به SQL ترجمه میکنه، این ویدیو دقیقا جواب این سوال رو میخواد بده که تو فاز کامپایل یک کوئری چه اتفاقاتی داره میوفته و چه مجیکی پشت داستانش هست.
00:00 Previous Session
04:00 Pre-Processing Expression Visitors
12:00 Translator Expression Visitor
13:00 SQL World Expression
15-30 Post-Processing and QuerySqlGenerator
پ.ن. شاید این ویدیو برای همه مناسب نباشه، اگه واقعا میخواید متوجه بشید که اون پشت ها چه خبره این ویدیو روببینید.
❤️ و اینکه واقعا ممنونم از محبتتون و لایک ها و کامنت هایی که میزارید کلی انرژی میگیریم.
🕶 مدت ویدیو : 23 دقیقه
📺 لینک ویدیو :
https://youtu.be/q7Wb1PFDP1U
👍31😍3🔥2
💎 کمتر از یک سال شده که کانال یوتیوب رو راه اندازی کردم، و اولش واقعیتش اینقدر برام جدی نبود که الان هست، وقتی این آمار ها و این همه لطف دوستان رو میبینه که کلی کلی لایک و کامنت های باحال میفرستند.
🌗 امیدوارم که کمک خیلی خیلی کوچیکی کرده باشم به کامینیتی دات نت توی ایران، و اینکه محتوی هایی که تولید کردم بدرد بخور بوده باشه.
❤️ نکته ی خیلی خفنش اینه که نزدیک 1100 نفر رفیق جدید پیدا کردم تو همین چند ماه.
🌗 امیدوارم که کمک خیلی خیلی کوچیکی کرده باشم به کامینیتی دات نت توی ایران، و اینکه محتوی هایی که تولید کردم بدرد بخور بوده باشه.
❤️ نکته ی خیلی خفنش اینه که نزدیک 1100 نفر رفیق جدید پیدا کردم تو همین چند ماه.
❤87👍4🔥3👏2🙏2
💎 پس از اینکه ساعتها وقت گذاشتیم که یک باگ را درست کنیم یا یک ویژگی رو توسعه بدیم، آخرین چیزی که ما توسعهدهندگان میخواهیم انجام دهیم، اینه که در قسمت متن کامیت گیت کارهای خودمون رو توضیح بدیم.
🌗 اما معمولا به یه تکست ساده و بدون فرمت بسنده میکنیم اما برای اینکه بدونیم چرا این قسمت مهم هست قسمت های زیر رو در نظر بگیرید:
🌀 تیم شما خیلی راحت تر میتونن Pull Request های شما رو درک کنند و میتونه بهشون خیلی کمک کنه.
🌀تاریخچه گیت شما یک داستان رو داره توصیف میکنه که هم "چی" تغییر کرده و هم "چرا" تغییر کرده.
🌀شما به راحتی میتوانید مبدأ یک باگ یا تغییری که باعت ایجاد باگ شده است را پیدا کنید. ( کامنت محمد عزیز رو بخونید )
🌀 ریپازیتوری شما در آینده و برای افرادی که بعدا به تیم شما جوین میشن بهراحتی قابل درک و مشارکت است. (با این کار داریم، و یه پروژه هم داریم روش کار میکنیم، که بزودی معرفی میکنیمش)
🌗 اما معمولا به یه تکست ساده و بدون فرمت بسنده میکنیم اما برای اینکه بدونیم چرا این قسمت مهم هست قسمت های زیر رو در نظر بگیرید:
🌀 تیم شما خیلی راحت تر میتونن Pull Request های شما رو درک کنند و میتونه بهشون خیلی کمک کنه.
🌀تاریخچه گیت شما یک داستان رو داره توصیف میکنه که هم "چی" تغییر کرده و هم "چرا" تغییر کرده.
🌀شما به راحتی میتوانید مبدأ یک باگ یا تغییری که باعت ایجاد باگ شده است را پیدا کنید. ( کامنت محمد عزیز رو بخونید )
🌀 ریپازیتوری شما در آینده و برای افرادی که بعدا به تیم شما جوین میشن بهراحتی قابل درک و مشارکت است. (با این کار داریم، و یه پروژه هم داریم روش کار میکنیم، که بزودی معرفی میکنیمش)
👍28❤4
💎 داشتم با یکی از دوستان صحبت میکردم در مورد اینکه چرا و در چه شرایطی متد Update توی انتیتی فریمورک یک آنتی پترن هست؟
🌀 زمانی رو فرض کنید که میخواهید قسمتی از یک انتیتی رو آپدیت کنید مثلا فقط نام و نام خانوادگی و کد ملی و شماره موبایل ، انتیتی User رو میخواهیم آپدیت کنیم اما این انتیتی احتمالا بیشتر از اینها Column دارد، اگر در این شرایط شما از متد Update استفاده کرده اید، شما دارید یک آنتی پترن رو توی کدهای خودتون نگه میدارید. چرا ؟
چون این متد تمامیه فیلد های اون جدول رو آپدیت میکنه. و تمام مقادیر رو به IsModified فلگ میزنه و براش کوئری آپدیت میسازه.
🌗 پس اگر در این شرایط هستید از این متد استفاده نکنید.
🕶 متد Update فقط در شرایطی که کل انتیتی تغییر کرده است باید استفاده شود.
🌀 زمانی رو فرض کنید که میخواهید قسمتی از یک انتیتی رو آپدیت کنید مثلا فقط نام و نام خانوادگی و کد ملی و شماره موبایل ، انتیتی User رو میخواهیم آپدیت کنیم اما این انتیتی احتمالا بیشتر از اینها Column دارد، اگر در این شرایط شما از متد Update استفاده کرده اید، شما دارید یک آنتی پترن رو توی کدهای خودتون نگه میدارید. چرا ؟
چون این متد تمامیه فیلد های اون جدول رو آپدیت میکنه. و تمام مقادیر رو به IsModified فلگ میزنه و براش کوئری آپدیت میسازه.
🌗 پس اگر در این شرایط هستید از این متد استفاده نکنید.
🕶 متد Update فقط در شرایطی که کل انتیتی تغییر کرده است باید استفاده شود.
👍37❤5🤔1
💎 EF Core Internal ; Compiled Query - Part 48
🌀 نوبتی هم باشه نوبت Compiled Query ها و API که کلاس EF برامون فراهم میکنه که مدام فاز گشتن توی کش و یا کامپایل رو انجام ندیم، مناسب کوئری هایی هست که خیلی ازشون استفاده میکنیم مثل مکانیزم های Pooling، که حتی نمیخواهیم هزینه فاز پیدا کردن کوئری در کش رو هم پرداخت کنیم. پس در این شرایط بهتره که بریم سراغ این API.
00:00 Previous Session
07:00 Problem
10:00 Compiled Query
14:00 Compiled Query in EF Core Source Code
🕶 مدت ویدیو : 21 دقیقه
📺 لینک ویدیو :
https://youtu.be/G_45AAFplEY
🌀 نوبتی هم باشه نوبت Compiled Query ها و API که کلاس EF برامون فراهم میکنه که مدام فاز گشتن توی کش و یا کامپایل رو انجام ندیم، مناسب کوئری هایی هست که خیلی ازشون استفاده میکنیم مثل مکانیزم های Pooling، که حتی نمیخواهیم هزینه فاز پیدا کردن کوئری در کش رو هم پرداخت کنیم. پس در این شرایط بهتره که بریم سراغ این API.
00:00 Previous Session
07:00 Problem
10:00 Compiled Query
14:00 Compiled Query in EF Core Source Code
🕶 مدت ویدیو : 21 دقیقه
📺 لینک ویدیو :
https://youtu.be/G_45AAFplEY
❤25👍5🔥1
💎 تفاوت <Func<T> , Expression<TDelegate>
🌀 فانک ها در واقع یک Executable Code هستند و در واقع یه Represent ای از فانکشن هستند.
🌀 در نقطه مقابل وقتی اکسپرشن که قسمتی از "𝐒𝐲𝐬𝐭𝐞𝐦.𝐋𝐢𝐧𝐪.𝐄𝐱𝐩𝐫𝐞𝐬𝐬𝐢𝐨𝐧𝐬" است رو دورش میگیریم، در واقع داریم اون لمبدا رو به شکل Tree در میاریم و اکسپرشن ها در واقع یه represent 𝐥𝐚𝐦𝐛𝐝𝐚 𝐞𝐱𝐩𝐫𝐞𝐬𝐬𝐢𝐨𝐧𝐬 در قالب درخت هستش.
🌗 حالا از این کجا استفاده میکنیم ؟
مثلا انتیتی فریمورک از این اکسپرشن برای اینکه کد رو ترجمه کنه به TSQL استفاده میکنه.
برای اطلاعات بیشتر :
https://youtube.com/playlist?list=PLN5rV4x2x5Xc_A6UwalFsX6XkMkX7fcAE&si=8fzNgLRwWgwhDr7w
🌀 فانک ها در واقع یک Executable Code هستند و در واقع یه Represent ای از فانکشن هستند.
🌀 در نقطه مقابل وقتی اکسپرشن که قسمتی از "𝐒𝐲𝐬𝐭𝐞𝐦.𝐋𝐢𝐧𝐪.𝐄𝐱𝐩𝐫𝐞𝐬𝐬𝐢𝐨𝐧𝐬" است رو دورش میگیریم، در واقع داریم اون لمبدا رو به شکل Tree در میاریم و اکسپرشن ها در واقع یه represent 𝐥𝐚𝐦𝐛𝐝𝐚 𝐞𝐱𝐩𝐫𝐞𝐬𝐬𝐢𝐨𝐧𝐬 در قالب درخت هستش.
🌗 حالا از این کجا استفاده میکنیم ؟
مثلا انتیتی فریمورک از این اکسپرشن برای اینکه کد رو ترجمه کنه به TSQL استفاده میکنه.
برای اطلاعات بیشتر :
https://youtube.com/playlist?list=PLN5rV4x2x5Xc_A6UwalFsX6XkMkX7fcAE&si=8fzNgLRwWgwhDr7w
👍26❤7
BetterHealthCheck.pdf
880.9 KB
💎 چک کردن اینکه یه سرویس بالاست، و یا اینکه ارتباطش با دیتابیس، ردیس ، ربیت و غیره برقراره در خیلی جاها مهم میشه، و بایستی یه روشی داشته باشیم که بتونیم تمام این ارتباطات رو تست و از بالا بودن و در دسترسی بودن آن ها اطمینان داشته باشیم.
🌀 خوب اولین راه اینه که برای هر ارتباط یکی یکی خودمون HealthCheck های جداگانه ای بنویسیم. اما یه راه دیگش که تر تمیز تره، میتونیم از پکیج aspnetcore.healthchecks استفاده کنیم و حتی یه رابط کاربری هم داشته باشیم که این چک هارو در قالب یه گزارش بهمون نشون بده.
🌗 برای اطلاع بیشتر میتونید این لینک رو دنبال کنید
https://lnkd.in/ex5AvfSM
🌀 خوب اولین راه اینه که برای هر ارتباط یکی یکی خودمون HealthCheck های جداگانه ای بنویسیم. اما یه راه دیگش که تر تمیز تره، میتونیم از پکیج aspnetcore.healthchecks استفاده کنیم و حتی یه رابط کاربری هم داشته باشیم که این چک هارو در قالب یه گزارش بهمون نشون بده.
🌗 برای اطلاع بیشتر میتونید این لینک رو دنبال کنید
https://lnkd.in/ex5AvfSM
❤21👌12👍5
💎 Advanced features of the MediatR package - Pipeline Behaviors
🌀 تو این ویدیو اول نشون میدیم که ساختار درونی پکیج خفن MediatR چجوری داره کار میکنه، IPipelineBehavior چه اجزایی دارند و چطوری میشه از این پایلاین برای بحث Validation استفاده کرد. بهتره بریم تو ویدیو و دقیق تر بررسیش کنیم.
00:00 MediatR Framework
04:00 Validation on RequestHandler
08:00 PipelineBehavior in MediatR
12:00 FluenValidation on Behavior
14:00 Demo
🕶 مدت ویدیو : 37 دقیقه
📺 لینک ویدیو :
https://youtu.be/rO0gKGMMzIw
🌀 تو این ویدیو اول نشون میدیم که ساختار درونی پکیج خفن MediatR چجوری داره کار میکنه، IPipelineBehavior چه اجزایی دارند و چطوری میشه از این پایلاین برای بحث Validation استفاده کرد. بهتره بریم تو ویدیو و دقیق تر بررسیش کنیم.
00:00 MediatR Framework
04:00 Validation on RequestHandler
08:00 PipelineBehavior in MediatR
12:00 FluenValidation on Behavior
14:00 Demo
🕶 مدت ویدیو : 37 دقیقه
📺 لینک ویدیو :
https://youtu.be/rO0gKGMMzIw
👍18❤7🔥4
💎 Better HealthCheck in Asp.net Core 8
🌀 وقتی یه سیستمی بزرگ میشه و ارتباطات زیادی به خودش میبینه، و بعضا این ارتباطات مهم هم میشن، از جنس اینکه من باید ارتباطم با ربیت، با ردیس برقرار باشه حتما. در این شرایط نیازه که مازاد بر اینکه خود سرویس بالا باشه، ارتباطات هم چک بشه. خوب استفاده از مکانیزم HealthCheck بهترین گزینه برای انجام این کاره. تو این ویدیو پکیجی رو معرفی میکنیم که خیلی راحت میتونید ارتباطاتتون رو هم چک بکنید.
00:00 Problem
03:00 Add Custom HealthCheck
04:00 AspNetCore.HealthChecks Package
08:00 Test with Redis and SqlServer
🕶 مدت ویدیو : 10 دقیقه
📺 لینک ویدیو :
https://youtu.be/vIzaEqlUmSs
🌀 وقتی یه سیستمی بزرگ میشه و ارتباطات زیادی به خودش میبینه، و بعضا این ارتباطات مهم هم میشن، از جنس اینکه من باید ارتباطم با ربیت، با ردیس برقرار باشه حتما. در این شرایط نیازه که مازاد بر اینکه خود سرویس بالا باشه، ارتباطات هم چک بشه. خوب استفاده از مکانیزم HealthCheck بهترین گزینه برای انجام این کاره. تو این ویدیو پکیجی رو معرفی میکنیم که خیلی راحت میتونید ارتباطاتتون رو هم چک بکنید.
00:00 Problem
03:00 Add Custom HealthCheck
04:00 AspNetCore.HealthChecks Package
08:00 Test with Redis and SqlServer
🕶 مدت ویدیو : 10 دقیقه
📺 لینک ویدیو :
https://youtu.be/vIzaEqlUmSs
👍18❤10🔥2
💎 Identity Resolution and AsNoTracking in EF Core - Part 49
🌀 خوب کم کم دیگه داریم به پایان خط نزدیک میشیم و یه بخشی که شاید خیلی کمتر بهش پرداخته میشه بحث Identity Resolution هست و اینکه اصلا این چیکار میکنه و همچنین AsNoTrackingWithIdentityResolution داره چه کاری انجام میده و مهم تر اینکه کی باید ازشون استفاده کنیم.
00:00 Previous Session
02:40 Identity Resolution
06:40 Demo Of Identity Resolution
09:00 AsNoTracking
10:26 AsNoTracking vs AsNoTrackingWithIdentityResolution
🕶 مدت ویدیو : 18 دقیقه
📺 لینک ویدیو :
https://youtu.be/PhY1Ij-2j3E
🌀 خوب کم کم دیگه داریم به پایان خط نزدیک میشیم و یه بخشی که شاید خیلی کمتر بهش پرداخته میشه بحث Identity Resolution هست و اینکه اصلا این چیکار میکنه و همچنین AsNoTrackingWithIdentityResolution داره چه کاری انجام میده و مهم تر اینکه کی باید ازشون استفاده کنیم.
00:00 Previous Session
02:40 Identity Resolution
06:40 Demo Of Identity Resolution
09:00 AsNoTracking
10:26 AsNoTracking vs AsNoTrackingWithIdentityResolution
🕶 مدت ویدیو : 18 دقیقه
📺 لینک ویدیو :
https://youtu.be/PhY1Ij-2j3E
❤22👍9🔥2
🌗 درمورد ۱۰ باور غلط در معماری مایکروسرویس ها صحبت کنیم؟ به صورت ویس های ۵ دقیقه ای؟ و در نهایت یه ویدیوش کنیم.
اگه حالش رو داری یه لایکی بده. اگه نه دیس رو بزن.
🎃 ببینم به ۱۰٪ میرسیم یا نه.
۱۰٪ رو رد کردیم، دمتون گرممم. پس میریم که درستش کنیم. اما شما به لایک ها ادامه بدید، ببینیم چند چندیم. ❤️🙏
اگه حالش رو داری یه لایکی بده. اگه نه دیس رو بزن.
🎃 ببینم به ۱۰٪ میرسیم یا نه.
۱۰٪ رو رد کردیم، دمتون گرممم. پس میریم که درستش کنیم. اما شما به لایک ها ادامه بدید، ببینیم چند چندیم. ❤️🙏
👍267👏3❤2🌚2🔥1
🌗 چرا هر صنعتی به سرعت در حال تبدیل شدن به یک صنعت نرم افزاری جدید است؟ به این دلیله که یک تکامل واقعی داروینی در حال رخدادن هست
- ساختن و تطبیق خود در مقابل مردن.
🌀 مثال جذابی که شاید در اوایل سال 2000 میبینیم، اینه که آمازون شرکت نرم افزاری نبوده، و تو خرده فروشی کار میکرده و تقریبا همه با جف بزوس (مدیر عامل آمازون) اختلاف نظر داشتند، چون جف بزوس همیشه و در همه جا میگفته که آمازون یک کمپانی خرده فروشی نیست، آمازون یک کمپانیه نرم افزاری هست. (در اون زمان و شروع کار واقعا دید عجیبی داشته، چون داشتند از خرده فروشی پول در میاوردند.)
🌀 حتی در جای دیگه ای میگه، بیزینس ما اون چیزی نیست که درون جعبه های قهوه ای هست، بیزینس ما اون نرم افزاریه که این باکس هارو داره ارسال میکنه.
"این قوی ترین و یا باهوش ترین گونه ها نیستند که زنده می مانند، بلکه آنهایی که بیشترین واکنش را به تغییر دارند، زنده می مانند."
🐟 چارلز داروین
- ساختن و تطبیق خود در مقابل مردن.
🌀 مثال جذابی که شاید در اوایل سال 2000 میبینیم، اینه که آمازون شرکت نرم افزاری نبوده، و تو خرده فروشی کار میکرده و تقریبا همه با جف بزوس (مدیر عامل آمازون) اختلاف نظر داشتند، چون جف بزوس همیشه و در همه جا میگفته که آمازون یک کمپانی خرده فروشی نیست، آمازون یک کمپانیه نرم افزاری هست. (در اون زمان و شروع کار واقعا دید عجیبی داشته، چون داشتند از خرده فروشی پول در میاوردند.)
🌀 حتی در جای دیگه ای میگه، بیزینس ما اون چیزی نیست که درون جعبه های قهوه ای هست، بیزینس ما اون نرم افزاریه که این باکس هارو داره ارسال میکنه.
"این قوی ترین و یا باهوش ترین گونه ها نیستند که زنده می مانند، بلکه آنهایی که بیشترین واکنش را به تغییر دارند، زنده می مانند."
🐟 چارلز داروین
👍41👌6❤4