بررسی خطاها و هشدارهای موجود در HTML سایت
زمانی که کد HTML ای نوشته میشود، خود برنامهنویس باید دقت کند که تمامی Best Practis های موجود را رعایت کرده باشد.
مثلا خطایی مبنی بر قرار دادن اتربیوت alt در تگهای img مشاهده نکنیم و این امر نیاز به دقت بالا در رعایت این موارد دارد.
یک راه حل استفاده از W3C Markap Validation Service است.
شما در این سایت میتوانید فایل HTML خود را آپلود کنید یا لینک سایت را قرار دهید یا اینکه کد HTML خود را به صورت مستقیم در کادری قرار دهید. سپس این سایت بررسیهای لازم را انجام داده و هشدار (warning) و خطاهای (error) لازم را به برنامهنویس نشان میدهد.
همینطور برای کد های CSS نیز سایتهایی برای Validation وجود دارند که از بین آنها میتوان W3C Validation CSS را نام برد.
#HTML
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.
#حامد_حاجیلو (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
________
زمانی که کد HTML ای نوشته میشود، خود برنامهنویس باید دقت کند که تمامی Best Practis های موجود را رعایت کرده باشد.
مثلا خطایی مبنی بر قرار دادن اتربیوت alt در تگهای img مشاهده نکنیم و این امر نیاز به دقت بالا در رعایت این موارد دارد.
یک راه حل استفاده از W3C Markap Validation Service است.
شما در این سایت میتوانید فایل HTML خود را آپلود کنید یا لینک سایت را قرار دهید یا اینکه کد HTML خود را به صورت مستقیم در کادری قرار دهید. سپس این سایت بررسیهای لازم را انجام داده و هشدار (warning) و خطاهای (error) لازم را به برنامهنویس نشان میدهد.
همینطور برای کد های CSS نیز سایتهایی برای Validation وجود دارند که از بین آنها میتوان W3C Validation CSS را نام برد.
#HTML
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.
#حامد_حاجیلو (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
________
validator.w3.org
The W3C Markup Validation Service
W3C's easy-to-use
markup validation service, based on SGML and XML parsers.
markup validation service, based on SGML and XML parsers.
Forwarded from فلسفه دیزاین
درخت موضوعی؛ مسائل ساختارمند و راهحلهای اصولی
درخت موضوعی در واقع نقشهی مشکلات است. به شما یک روش واضح و منظم را برای بررسی مسئلهای میدهد که در پی حل آن هستید. به شما کمک میکند که یک مشکل بزرگ را به قطعات کوچکتر و قابل مدیریتتر خرد کنید. و قسمتهایی از مسئله را اولویتبندی کنید.
دو نوع درخت موضوعی وجود دارد:
۱- درخت مسئله: با جواب به پرسش «چرا» رشد میکند.
۲- درخت راهحل: با جواب به پرسش «چگونه» رشد میکند.
چگونه یک درخت موضوعی را رشد دهیم؟
- درخت مسئله
یک درخت مسئلهی خوب باید کل مشکل را پوشش دهد. باید دقیق باشد. در اینجا به برخی از اصول اساسی برای ایجاد یک درخت مسئله اشاره میکنیم:
۱- مسائل را به شاخه یا دستهبندیهای جداگانه تقسیم کنید. (نکتهی مهم: این شاخهها باید مقابل هم قرار بگیرند یعنی همپوشانیای با یکدیگر نداشته باشند و نیز همدیگر را تکمیل کنند)
۲- زیاد وارد جزئیات نشوید. روی شاخههای بزرگتر که مسئله را تشکیل میدهند تمرکز کنید.
۳- روی قسمتهایی از مسئله تمرکز کنید که بیشترین تأثیرگذاری را دارند. (مهم است که به جای فرضیههای شما، مبتنی بر دادهها باشد)
- درخت راهحل
هنگامی که برخی از قسمتهای خاص مشکل را که میخواهید روی آنها تمرکز کنید، جدا کردید؛ میتوانید با ایجاد یک درخت راهحل، مسئله را جلو ببرید:
۱- قسمتی از مسئله را که میخواهید روی آن تمرکز کنید را جدا کنید و از خود بپرسید که چگونه میشود آن را حل کرد یا بهبود داد؟
۲- شاخههای بالقوهی راهحلهای خود را رشد بدهید.
۳- ایدههای خود را در هر شاخه تولید کنید.
مزیت اصلی این روش تفکر ساختاری است، کار با این محدودیتها در واقع به شما کمک میکند ایدههای بیشتری را تولید کنید.
برای فهم بیشتر مطلب و همینطور بررسی نمونههای موردی این تکنیک حل مسئله، شما را به خواندن مقالهی زیر دعوت میکنم. در نظر داشته باشید که، درخت موضوعی به طور خلاصه در بالا توضیح داده شد، مقالهی پیشرو یک راهنمای جامع و کامل است. میتوانید از فهرست آن در اول صفحه استفاده کنید یا اسکرول کنید و هر جا را که دوست داشتید مطالعه کنید، پیشنهاد من این است که فصل چهارم یعنی Issue Tree Examples را مطالعه کنید تا این روش برای شما بیشتر جا بیافتد:
http://bit.ly/dxgn752
(زمان حدودی مطالعه کل راهنما: ۷۰ دقیقه)
نویسنده: حسین میرزاده
#مدل_ذهنی #تعریف_مسئله #روش_حل_مشکل #درخت_موضوعی #نقشه_ذهنی #راه_حل
@Dexign فلسفه دیزاین
____
درخت موضوعی در واقع نقشهی مشکلات است. به شما یک روش واضح و منظم را برای بررسی مسئلهای میدهد که در پی حل آن هستید. به شما کمک میکند که یک مشکل بزرگ را به قطعات کوچکتر و قابل مدیریتتر خرد کنید. و قسمتهایی از مسئله را اولویتبندی کنید.
دو نوع درخت موضوعی وجود دارد:
۱- درخت مسئله: با جواب به پرسش «چرا» رشد میکند.
۲- درخت راهحل: با جواب به پرسش «چگونه» رشد میکند.
چگونه یک درخت موضوعی را رشد دهیم؟
- درخت مسئله
یک درخت مسئلهی خوب باید کل مشکل را پوشش دهد. باید دقیق باشد. در اینجا به برخی از اصول اساسی برای ایجاد یک درخت مسئله اشاره میکنیم:
۱- مسائل را به شاخه یا دستهبندیهای جداگانه تقسیم کنید. (نکتهی مهم: این شاخهها باید مقابل هم قرار بگیرند یعنی همپوشانیای با یکدیگر نداشته باشند و نیز همدیگر را تکمیل کنند)
۲- زیاد وارد جزئیات نشوید. روی شاخههای بزرگتر که مسئله را تشکیل میدهند تمرکز کنید.
۳- روی قسمتهایی از مسئله تمرکز کنید که بیشترین تأثیرگذاری را دارند. (مهم است که به جای فرضیههای شما، مبتنی بر دادهها باشد)
- درخت راهحل
هنگامی که برخی از قسمتهای خاص مشکل را که میخواهید روی آنها تمرکز کنید، جدا کردید؛ میتوانید با ایجاد یک درخت راهحل، مسئله را جلو ببرید:
۱- قسمتی از مسئله را که میخواهید روی آن تمرکز کنید را جدا کنید و از خود بپرسید که چگونه میشود آن را حل کرد یا بهبود داد؟
۲- شاخههای بالقوهی راهحلهای خود را رشد بدهید.
۳- ایدههای خود را در هر شاخه تولید کنید.
مزیت اصلی این روش تفکر ساختاری است، کار با این محدودیتها در واقع به شما کمک میکند ایدههای بیشتری را تولید کنید.
برای فهم بیشتر مطلب و همینطور بررسی نمونههای موردی این تکنیک حل مسئله، شما را به خواندن مقالهی زیر دعوت میکنم. در نظر داشته باشید که، درخت موضوعی به طور خلاصه در بالا توضیح داده شد، مقالهی پیشرو یک راهنمای جامع و کامل است. میتوانید از فهرست آن در اول صفحه استفاده کنید یا اسکرول کنید و هر جا را که دوست داشتید مطالعه کنید، پیشنهاد من این است که فصل چهارم یعنی Issue Tree Examples را مطالعه کنید تا این روش برای شما بیشتر جا بیافتد:
http://bit.ly/dxgn752
(زمان حدودی مطالعه کل راهنما: ۷۰ دقیقه)
نویسنده: حسین میرزاده
#مدل_ذهنی #تعریف_مسئله #روش_حل_مشکل #درخت_موضوعی #نقشه_ذهنی #راه_حل
@Dexign فلسفه دیزاین
____
Crafting Cases
Issue Trees: The Definitive Guide [+In-depth Examples] – Crafting Cases
In this COMPREHENSIVE guide, you'll learn 3 powerful techniques to build Issue Trees for case interviews, see TONS of realistic examples and much more.
Forwarded from Iran Agile
✍️ مراقب تله واعظ شدن بعنوان یک اسکراممستر باشید
یکی از وجوه لازم برای هر اسکراممستر معلم بودم و توانایی انتقال مفاهیم و اصول اسکرام و چابک به تیم و سازمان است، اما در همان حال اسکراممستر میتواند در تله واعظ بودن بیفتد. واعظی که فقط موعظه میکند.
در این وضعیت قوانین اسکرام را بدون در نظر گرفتن کانتکست تیم، ویژگیهای منحصر به فرد محیط و دینامیک سازمان، شروع به تبلیغ میکند. قوانین اسکرام به عنوان حقایقی خشک ارائه میشوند که باید رعایت شوند.
تشخیص اسکرام مستر به عنوان واعظ بسیار آسان است زیرا هر مکالمه ای در مورد اسکرام در سطح تئوری و نظری باقی میماند. اغلب اوقات حتی مکالمه طولانی هم نیست، زیرا تنها استدلال این است "زیرا در راهنمای اسکرام است ..."
چرا یک تیم باید از هدف محصول استفاده کند؟
زیرا اخیراً به راهنمای اسکرام اضافه شده است.
چرا دیگر نمیتوانیم درباره تیمهای توسعه صحبت کنیم؟ زیرا در نسخه جدید راهنمای اسکرام حذف شده است.
چرا باید "خود سازماندهی" را به "خودمدیریتی" در همه جا تغییر دهیم؟ زیرا Scrum Guide عبارت را تغییر داده است.
به نظر می رسد اسکرام مستر به عنوان واعظ دارای سه ویژگی مشخص است:
یک - عدم تجربه در دنیای واقعی
دو - اعتماد به نفس کاذب
سه - تنها ابزار موجود در جعبه ابزارش اسکرام است
مهارت آموزش زمانی موثر است که بتوانید دانش خود را در چارچوب یک تیم قرار دهد. اگر موانعی را که یک تیم با آن روبرو است و محیطی که بخشی از آن هستند درک کنید، می توانید رویکردی متناسب با آن ارائه دهید. با این حال، اگر شما تجربه واقعی ندارید و وضعیت تیم را به درستی درک نمی کنید، تنها چیزی که باقی میماند این است که آنچه راهنمای اسکرام بیان می کند را تکرار کنید.
بیشتر بخوانید 👇👇
https://medium.com/the-liberators/when-the-scrum-master-as-a-teacher-becomes-a-preacher-98810c545752
@iranagile
یکی از وجوه لازم برای هر اسکراممستر معلم بودم و توانایی انتقال مفاهیم و اصول اسکرام و چابک به تیم و سازمان است، اما در همان حال اسکراممستر میتواند در تله واعظ بودن بیفتد. واعظی که فقط موعظه میکند.
در این وضعیت قوانین اسکرام را بدون در نظر گرفتن کانتکست تیم، ویژگیهای منحصر به فرد محیط و دینامیک سازمان، شروع به تبلیغ میکند. قوانین اسکرام به عنوان حقایقی خشک ارائه میشوند که باید رعایت شوند.
تشخیص اسکرام مستر به عنوان واعظ بسیار آسان است زیرا هر مکالمه ای در مورد اسکرام در سطح تئوری و نظری باقی میماند. اغلب اوقات حتی مکالمه طولانی هم نیست، زیرا تنها استدلال این است "زیرا در راهنمای اسکرام است ..."
چرا یک تیم باید از هدف محصول استفاده کند؟
زیرا اخیراً به راهنمای اسکرام اضافه شده است.
چرا دیگر نمیتوانیم درباره تیمهای توسعه صحبت کنیم؟ زیرا در نسخه جدید راهنمای اسکرام حذف شده است.
چرا باید "خود سازماندهی" را به "خودمدیریتی" در همه جا تغییر دهیم؟ زیرا Scrum Guide عبارت را تغییر داده است.
به نظر می رسد اسکرام مستر به عنوان واعظ دارای سه ویژگی مشخص است:
یک - عدم تجربه در دنیای واقعی
دو - اعتماد به نفس کاذب
سه - تنها ابزار موجود در جعبه ابزارش اسکرام است
مهارت آموزش زمانی موثر است که بتوانید دانش خود را در چارچوب یک تیم قرار دهد. اگر موانعی را که یک تیم با آن روبرو است و محیطی که بخشی از آن هستند درک کنید، می توانید رویکردی متناسب با آن ارائه دهید. با این حال، اگر شما تجربه واقعی ندارید و وضعیت تیم را به درستی درک نمی کنید، تنها چیزی که باقی میماند این است که آنچه راهنمای اسکرام بیان می کند را تکرار کنید.
بیشتر بخوانید 👇👇
https://medium.com/the-liberators/when-the-scrum-master-as-a-teacher-becomes-a-preacher-98810c545752
@iranagile
کنفرانس NET. Conf هر سال خبرهای هیجانانگیزی داره. امسال هم NET. خبر های خوب و جذابی داره که قراره ۱۸ تا ۲۰ آبان برگزار بشه.
ما در «کانال فلسفه نرمافزار» به همراه بچههای «ملکرادار» تصمیم گرفتیم که دور هم جمع شویم و امسال این کنفرانس رو با هم ببینیم و در مورد فیچرهای جدید هم گپ و گفتی داشته باشیم.
این دورهمی به صورت Watch party و روی Microsoft Teams برگزار میشود. پس اگر شما هم دوست دارید این رویداد رو تنها نبینید خوشحال میشیم با ما همراه بشید.
برای شرکت در این Watch Party روی این لینک کلیک کنید تا وارد گروه تلگرامی که برای هماهنگی درست کردیم بشید.
من (مهران داودی) هم به همراه بچههای این کانال هم تو این دورهمی هستیم.
ما در «کانال فلسفه نرمافزار» به همراه بچههای «ملکرادار» تصمیم گرفتیم که دور هم جمع شویم و امسال این کنفرانس رو با هم ببینیم و در مورد فیچرهای جدید هم گپ و گفتی داشته باشیم.
این دورهمی به صورت Watch party و روی Microsoft Teams برگزار میشود. پس اگر شما هم دوست دارید این رویداد رو تنها نبینید خوشحال میشیم با ما همراه بشید.
برای شرکت در این Watch Party روی این لینک کلیک کنید تا وارد گروه تلگرامی که برای هماهنگی درست کردیم بشید.
من (مهران داودی) هم به همراه بچههای این کانال هم تو این دورهمی هستیم.
Forwarded from فلسفه دیزاین
چطور لندینگ پیج خود را خراب کنیم؟
همانطور که از تیتر این مقاله پیداست، در آن به روشهایی میپردازیم که شما نباید آن را در زمینه لندینگپیج دنبال کنید.
لندینگپیجها عموما برای یک هدف خاص طراحی میشوند و تمام المانهای صفحه، تلاش خود را به کار میگیرند تا به آن هدف برسند.
هدفگذاریهای اشتباه معمولا بازدیدهای وبسایت را کم کرده و در نتیجه این اتفاق به شکست لندینگ میانجامد.
* یکی از نکات جالبی که این مقاله به آن اشاره میکند، همیشه روی ترند دیزاین کردن لندینگپیج است.
معمولا زمانی که یک سبک دیزاین تبدیل به ترند میشود، به سرعت به سمت از مد افتادن پیش میرود و از آنجایی که این روند با سرعت زیادی اتفاق میافتد، بهتر است تا ما همیشه سبک خودمان را پیدا کنیم و بتوانیم بهترین خروجی برای منظوری که داریم را داشته باشیم.
درواقع تفاوت ارزشمند واقعی همینجاست.
در مقالهی امروز، نویسنده ۵ عامل بسیار مهم در شکست لندینگ پیج را بررسی میکند که خواندن و مرورش خالی از لطف نیست.
http://bit.ly/dxgn757
(زمان حدودی مطالعه: ۷ دقیقه)
نویسنده: آرش اصغری
#تجربه_کاربری #لندینگ
@dexign فلسفه دیزاین
______
همانطور که از تیتر این مقاله پیداست، در آن به روشهایی میپردازیم که شما نباید آن را در زمینه لندینگپیج دنبال کنید.
لندینگپیجها عموما برای یک هدف خاص طراحی میشوند و تمام المانهای صفحه، تلاش خود را به کار میگیرند تا به آن هدف برسند.
هدفگذاریهای اشتباه معمولا بازدیدهای وبسایت را کم کرده و در نتیجه این اتفاق به شکست لندینگ میانجامد.
* یکی از نکات جالبی که این مقاله به آن اشاره میکند، همیشه روی ترند دیزاین کردن لندینگپیج است.
معمولا زمانی که یک سبک دیزاین تبدیل به ترند میشود، به سرعت به سمت از مد افتادن پیش میرود و از آنجایی که این روند با سرعت زیادی اتفاق میافتد، بهتر است تا ما همیشه سبک خودمان را پیدا کنیم و بتوانیم بهترین خروجی برای منظوری که داریم را داشته باشیم.
درواقع تفاوت ارزشمند واقعی همینجاست.
در مقالهی امروز، نویسنده ۵ عامل بسیار مهم در شکست لندینگ پیج را بررسی میکند که خواندن و مرورش خالی از لطف نیست.
http://bit.ly/dxgn757
(زمان حدودی مطالعه: ۷ دقیقه)
نویسنده: آرش اصغری
#تجربه_کاربری #لندینگ
@dexign فلسفه دیزاین
______
Medium
5 things that are killing your landing page
There are not so obvious as you might think.
همه چیز در مورد NET 6.
دیروز نسخه رسمی NET 6. به همراه نسخه رسمی Visual Studio 2022 ارائه شد.
در واقع شما میتوانید با نصب ویژوال استودیو همزمان NET 6. را هم نصب کنید.
اما موضوع این پست و سوال اصلی اینجاست که چه اتفاقاتی در NET 6. افتاده و آپدیت ها چه چیز هایی هستند؟
بررسی فیچر های جدیدی که با NET 6. ارائه شده:
1 - Looking inside ConfigurationManager in .NET 6
2 - Comparing WebApplicationBuilder to the Generic Host
3 - Exploring the code behind WebApplicationBuilder
4 - Building a middleware pipeline with WebApplication
5 - Supporting EF Core migrations with WebApplicationBuilder
6 - Supporting integration tests with WebApplicationFactory in .NET 6
7 - Analyzers for ASP.NET Core in .NET 6
8 - Improving logging performance with source generators
9 - Source generator updates: incremental generators
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.
#حامد_حاجیلو (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
________
دیروز نسخه رسمی NET 6. به همراه نسخه رسمی Visual Studio 2022 ارائه شد.
در واقع شما میتوانید با نصب ویژوال استودیو همزمان NET 6. را هم نصب کنید.
اما موضوع این پست و سوال اصلی اینجاست که چه اتفاقاتی در NET 6. افتاده و آپدیت ها چه چیز هایی هستند؟
بررسی فیچر های جدیدی که با NET 6. ارائه شده:
1 - Looking inside ConfigurationManager in .NET 6
2 - Comparing WebApplicationBuilder to the Generic Host
3 - Exploring the code behind WebApplicationBuilder
4 - Building a middleware pipeline with WebApplication
5 - Supporting EF Core migrations with WebApplicationBuilder
6 - Supporting integration tests with WebApplicationFactory in .NET 6
7 - Analyzers for ASP.NET Core in .NET 6
8 - Improving logging performance with source generators
9 - Source generator updates: incremental generators
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.
#حامد_حاجیلو (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
________
Microsoft
Download .NET 6.0 (Linux, macOS, and Windows) | .NET
.NET 6.0 downloads for Linux, macOS, and Windows. .NET is a free, cross-platform, open-source developer platform for building many different types of applications.
❤1
Media is too big
VIEW IN TELEGRAM
حضور Scott Hunter و Jeff Frtiz از مایکروسافت در دورهمی بچههای ایرانی NET Conf 2021
تصمیم جذابی بود...
امسال بچههایی از تیمهای MelkRadar و CS Internship و کانال Software Philosophy تصمیم گرفتند این کنفرانس رو با هم ببینند.
و نتیجه هیجانانگیز بود.
توییتها و سوالات بچهها که با هشتگ #cs_internship پرسیده میشد مدام روی بورد کنفرانس میرفت که توجه برگزار کنندگان رو جلب کرد. در نهایت بچهها از Jeff Frtiz خواستند یه سلفی با هم بگیرند. جف هم پیام داد که لینک جلسه تیمزتون رو برام بفرستید و اومد.
وسطای صحبت دید جمع جالبیه و از Scott Hunter هم خواست که بیاد و اینطوری معرفی کرد: یه سری بچهها از شهرهای مختلف ایران که با هم دارن کنفرانس رو دنبال میکنند. یه گپ و گفت چند دقیقهای با هم میکنن و یه سلفی آنلاین با هم میگیرن.
در نهایت عکس سلفی گرفته شده توی توییتر رفت و تو خود کنفرانس NET Conf بچهها رو نشون دادن :)
#مهران_داودی (http://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
تصمیم جذابی بود...
امسال بچههایی از تیمهای MelkRadar و CS Internship و کانال Software Philosophy تصمیم گرفتند این کنفرانس رو با هم ببینند.
و نتیجه هیجانانگیز بود.
توییتها و سوالات بچهها که با هشتگ #cs_internship پرسیده میشد مدام روی بورد کنفرانس میرفت که توجه برگزار کنندگان رو جلب کرد. در نهایت بچهها از Jeff Frtiz خواستند یه سلفی با هم بگیرند. جف هم پیام داد که لینک جلسه تیمزتون رو برام بفرستید و اومد.
وسطای صحبت دید جمع جالبیه و از Scott Hunter هم خواست که بیاد و اینطوری معرفی کرد: یه سری بچهها از شهرهای مختلف ایران که با هم دارن کنفرانس رو دنبال میکنند. یه گپ و گفت چند دقیقهای با هم میکنن و یه سلفی آنلاین با هم میگیرن.
در نهایت عکس سلفی گرفته شده توی توییتر رفت و تو خود کنفرانس NET Conf بچهها رو نشون دادن :)
#مهران_داودی (http://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
کتابخانه RXJS (Reactive Extensions for JavaScript)
کتابخانه RXJS کتابخانهای برای ایجاد برنامههای event-based و asynchronous با استفاده از دنباله های observable است.
توضیح observable با استفاده از مثال :
[فرض کنید انواعی از خبرها وجود داره که چاپخانهها باید در قالب روزنامه برای شما ارسال کنند و شما فقط روزنامههایی را دریافت میکنید که درخواست کرده باشید.
خبرها همان دیتا هستند و انواع دیتا با استفاده از observable مدیریت میشود، تنها دیتا بخشهایی را دریافت خواهید کرد که subscribe کرده باشید.
برای مدیریت یک پاسخ HTTP از promise و برای مدیریت چند پاسخ طی زمان از observable استفاده میشود.]
در انگولار برای استفاده از observable باید از کتابخانه RXJS استفاده کنیم.
این کتابخانه ابزارهای دیگری نیز برای کار با آرایهها و آبجکتها دارد.
ولی دلیلی که باعث میشود شما ترجیح دهید به جای استفاده از توابع خودِ زبان از این کتابخانه استفاده کنید، قدرت بالا و خطاپذیری کمتر آن است.
کتابخانه RXJS از انگولار 6 به بعد به این فریمورک اضافه شده و نیازی به نصب آن ندارید.
اطلاعات بیشتر و نحوه استفاده از این کتابخانه :
https://angular.io/guide/rx-library
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.
#حسن_یوسفی (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
________
کتابخانه RXJS کتابخانهای برای ایجاد برنامههای event-based و asynchronous با استفاده از دنباله های observable است.
توضیح observable با استفاده از مثال :
[فرض کنید انواعی از خبرها وجود داره که چاپخانهها باید در قالب روزنامه برای شما ارسال کنند و شما فقط روزنامههایی را دریافت میکنید که درخواست کرده باشید.
خبرها همان دیتا هستند و انواع دیتا با استفاده از observable مدیریت میشود، تنها دیتا بخشهایی را دریافت خواهید کرد که subscribe کرده باشید.
برای مدیریت یک پاسخ HTTP از promise و برای مدیریت چند پاسخ طی زمان از observable استفاده میشود.]
در انگولار برای استفاده از observable باید از کتابخانه RXJS استفاده کنیم.
این کتابخانه ابزارهای دیگری نیز برای کار با آرایهها و آبجکتها دارد.
ولی دلیلی که باعث میشود شما ترجیح دهید به جای استفاده از توابع خودِ زبان از این کتابخانه استفاده کنید، قدرت بالا و خطاپذیری کمتر آن است.
کتابخانه RXJS از انگولار 6 به بعد به این فریمورک اضافه شده و نیازی به نصب آن ندارید.
اطلاعات بیشتر و نحوه استفاده از این کتابخانه :
https://angular.io/guide/rx-library
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.
#حسن_یوسفی (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
________
👍2
Forwarded from Iran Agile
🎛️ متریکهای چابک و اشتباهات رایج
اکثر رهبران و سازمانها اهمیت معیار و متریکهای چابک را حتی در مدیریت پروژه چابک یا مدیریت محصول درک میکنند. ما به عنوان یک شرکت پیشرو در زمینه معیارهای چابک، رایج ترین اشتباهات را هنگام اندازه گیری چابکی از طریق پرسشنامهها و آنچه برای رفع این مشکلات لازم است، را در اینجا آماده کرده ایم.
👇👇👇👇
https://zenexmachina.com/agile-project-management-metrics-and-why-team-surveys-fail/
اکثر رهبران و سازمانها اهمیت معیار و متریکهای چابک را حتی در مدیریت پروژه چابک یا مدیریت محصول درک میکنند. ما به عنوان یک شرکت پیشرو در زمینه معیارهای چابک، رایج ترین اشتباهات را هنگام اندازه گیری چابکی از طریق پرسشنامهها و آنچه برای رفع این مشکلات لازم است، را در اینجا آماده کرده ایم.
👇👇👇👇
https://zenexmachina.com/agile-project-management-metrics-and-why-team-surveys-fail/
Forwarded from فلسفه دیزاین
ریشهیابی؛ ابزاری برای حل مسئله
این ابزار قدرتمند حل مسئله را گاهی اوقات "استدلال از اصول اولیه" نیز مینامند. شناسایی ریشههای پایهای یک مسئله به شما این امکان را میدهد که راهحلهای ابتکاری ارائه دهید.
اصول اولیه، حقایقی است که دیگر نمیتواند به جزءهای کوچکتری شکسته شود. تفکر ریشهای این است که باید انقدر بِکَنید تا به پایههای یک مسئله برسید.
چگونه از این ابزار استفاده کنیم؟
با مسئله شروع میکنیم و این دو مرحله را انجام میدهیم:
۱. شکستن و تجزیهی مشکل به اساسی ترین حقایق موجود (اصول اولیه)
۲. ساختن راهحل از این اصول اولیه
به نظر ساده میرسد اما نیاز به تفکر متمرکز دارد تا واقعاً در مسئله عمیق شوید و اصول اولیهی آن را کشف کنید.
چند روش برای کمک به شما وجود دارد:
پنج چرا
این یک روش محبوب در تحقیقات کاربر است که در آن پژوهشگر با پرسیدن مکرر سؤالات "چرا" دار به عمق بیشتری از مسئله میپردازد. این روش به شما کمک میکند تا ریشهی اصلی مشکلات را کشف کنید. لازم نیست که در پنجمین چرا متوقف شوید، اما به طور کلی برای کشف ریشهی یک مسئله کافی است.
پرسش سقراطی
شکلی از پرسیدن منظم است که تفکر انتقادی را امکان پذیر میکند. شش نوع سؤال وجود دارد که می توانید برای درک عمیقتر حقیقت اصلی مسئله بپرسید:
۱. شفاف سازی: منظورتان از فلان چیز چیست؟
۲. فرضیات احتمالی: به جای آن چه چیزی را میتوانیم فرض کنیم؟
۳. دلایل و شواهد احتمالی: چرا فکر میکنید که این درست است؟
۴. مفاهیم و پیامدها: چه تاثیری میتواند داشته باشد؟
۵. دیدگاههای مختلف: گزینهی جایگزین چیست؟
۶. زیر سؤال بردن سؤال اصلی: نکتهی این سؤال چه بود؟
در بالا به خلاصهای از این روش اشاره کردیم که نیازمند مطالعهی بیشتر به همراه مثال است. شما را به خواندن آن از طریق لینک زیر دعوت میکنم:
http://bit.ly/dxgn762
(زمان حدودی مطالعه مقاله: ۲۰ دقیقه)
نویسنده: حسین میرزاده
#مدل_ذهنی #تعریف_مسئله #روش_حل_مشکل #ریشه_یابی #پنج_چرا #پرسش_سقراطی
@Dexign فلسفه دیزاین
______
این ابزار قدرتمند حل مسئله را گاهی اوقات "استدلال از اصول اولیه" نیز مینامند. شناسایی ریشههای پایهای یک مسئله به شما این امکان را میدهد که راهحلهای ابتکاری ارائه دهید.
اصول اولیه، حقایقی است که دیگر نمیتواند به جزءهای کوچکتری شکسته شود. تفکر ریشهای این است که باید انقدر بِکَنید تا به پایههای یک مسئله برسید.
چگونه از این ابزار استفاده کنیم؟
با مسئله شروع میکنیم و این دو مرحله را انجام میدهیم:
۱. شکستن و تجزیهی مشکل به اساسی ترین حقایق موجود (اصول اولیه)
۲. ساختن راهحل از این اصول اولیه
به نظر ساده میرسد اما نیاز به تفکر متمرکز دارد تا واقعاً در مسئله عمیق شوید و اصول اولیهی آن را کشف کنید.
چند روش برای کمک به شما وجود دارد:
پنج چرا
این یک روش محبوب در تحقیقات کاربر است که در آن پژوهشگر با پرسیدن مکرر سؤالات "چرا" دار به عمق بیشتری از مسئله میپردازد. این روش به شما کمک میکند تا ریشهی اصلی مشکلات را کشف کنید. لازم نیست که در پنجمین چرا متوقف شوید، اما به طور کلی برای کشف ریشهی یک مسئله کافی است.
پرسش سقراطی
شکلی از پرسیدن منظم است که تفکر انتقادی را امکان پذیر میکند. شش نوع سؤال وجود دارد که می توانید برای درک عمیقتر حقیقت اصلی مسئله بپرسید:
۱. شفاف سازی: منظورتان از فلان چیز چیست؟
۲. فرضیات احتمالی: به جای آن چه چیزی را میتوانیم فرض کنیم؟
۳. دلایل و شواهد احتمالی: چرا فکر میکنید که این درست است؟
۴. مفاهیم و پیامدها: چه تاثیری میتواند داشته باشد؟
۵. دیدگاههای مختلف: گزینهی جایگزین چیست؟
۶. زیر سؤال بردن سؤال اصلی: نکتهی این سؤال چه بود؟
در بالا به خلاصهای از این روش اشاره کردیم که نیازمند مطالعهی بیشتر به همراه مثال است. شما را به خواندن آن از طریق لینک زیر دعوت میکنم:
http://bit.ly/dxgn762
(زمان حدودی مطالعه مقاله: ۲۰ دقیقه)
نویسنده: حسین میرزاده
#مدل_ذهنی #تعریف_مسئله #روش_حل_مشکل #ریشه_یابی #پنج_چرا #پرسش_سقراطی
@Dexign فلسفه دیزاین
______
Farnam Street
First Principles: The Building Blocks of True Knowledge - Farnam Street
First Principles tinking breaks down true understanding into building blocks we can reassemble. It turns out most of us don’t know as much as we think we do.
فریم ورک Blazor
اگر تیم برنامهنویسی C# دارید و یا برنامهنویس C# هستید و میخواهید برنامهنویسی سمت کلاینت انجام دهید، فریم ورک Blazor را حتما بررسی کنید. Blazor یک فریم ورک اپن سورس برای نوشتن اپلیکیشنهای SPA است که توسط مایکروسافت ارایه شده است.
با این فریم ورک میتوانید از C# برای برنامه نویسی استفاده کنید. اگر با Razor آشنایی داشته باشید حتما میدانید که در این فریم ورک ویوها سمت سرور ساخته میشوند.
هدف اصلی Blazor این است که علاوه بر این ویژگی بتواند ویوها را سمت بروزر بسازد. جالب است بدانید که کلمه Blazor از ترکیب Razor و Browser ساخته شده 😊. Blazor با استفاده از WebAssembly (WASM) به شما این امکان را میدهد که بدون هیچ add-on یا plugin، اپ را روی هر بروزری اجرا کنید.
پیشنهاد میکنم لینک زیر را مطالعه کنید:
https://www.ifourtechnolab.com/blog/is-blazor-the-future-in-web-app-development
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.
#مریم_داودی (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
_______
اگر تیم برنامهنویسی C# دارید و یا برنامهنویس C# هستید و میخواهید برنامهنویسی سمت کلاینت انجام دهید، فریم ورک Blazor را حتما بررسی کنید. Blazor یک فریم ورک اپن سورس برای نوشتن اپلیکیشنهای SPA است که توسط مایکروسافت ارایه شده است.
با این فریم ورک میتوانید از C# برای برنامه نویسی استفاده کنید. اگر با Razor آشنایی داشته باشید حتما میدانید که در این فریم ورک ویوها سمت سرور ساخته میشوند.
هدف اصلی Blazor این است که علاوه بر این ویژگی بتواند ویوها را سمت بروزر بسازد. جالب است بدانید که کلمه Blazor از ترکیب Razor و Browser ساخته شده 😊. Blazor با استفاده از WebAssembly (WASM) به شما این امکان را میدهد که بدون هیچ add-on یا plugin، اپ را روی هر بروزری اجرا کنید.
پیشنهاد میکنم لینک زیر را مطالعه کنید:
https://www.ifourtechnolab.com/blog/is-blazor-the-future-in-web-app-development
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.
#مریم_داودی (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
_______
Ifourtechnolab
Is Blazor the future in Web App Development?
Blazor is a single-page application framework whose main purpose is to execute Razor views on the client-side rather than having to execute them on the server to present HTML to the browser. The idea of Blazor basically resides on the combination of Browser…
👍1
Forwarded from فلسفه دیزاین
مدل تفکر سازنده
با استفاده از تفکر ساختاریافته و انتقادیتر، میتوانید مسئله موجود را بهتر درک کرده و راهحلهای خلاقانهتری برای حل آن ارائه دهید. مدل تفکر مولد، ساختهشده توسط تیم هرسون، میتواند به ما در انجام این کار کمک کند.
نحوه استفاده از آن
این ابزار یک چارچوب ۶ مرحلهای برای حل مسئله به شما میدهد. شش مرحله عبارتند از:
۱. بپرسید «چه خبره؟»
۲. بپرسید «موفقیت چیست؟»
۳. بپرسید «سؤال چیه؟»
۴. پاسخ پرسشها را بدهید.
۵. راهحل را بسازید.
۶. منابع را تراز کنید.
بیایید هر مرحله را با جزئیات بیشتری بررسی کنیم.
۱. بپرسید «چه خبره؟»
اولین قدم در مورد درک بهتر مسئله است. میتوانید از این سؤالات راهنما برای کمک به خود استفاده کنید:
- مشکل دقیقاً چیست؟
- تأثیر این مشکل چیست؟
- من از قبل چه میدانم؟ چه اطلاعاتی دارم؟
- چه کسی در این ماجرا دخیل است؟
- با حل این مشکل چشم انداز آینده چیست؟ (این همان چیزی است که هرسون آن را "آینده هدف" مینامد)
پاسخهایی را که در اینجا جمع میکنید مستند کنید زیرا در مراحل بعدی به آنها نیاز خواهید داشت.
۲. بپرسید «موفقیت چیست؟»
این مرحله به شما کمک میکند تا در چشمانداز آینده (که در مرحله قبل ایجاد کردهاید) موفقیت را مشخص کنید.
برای رسیدن به معیارهای موفقیت، میتوانید از فریمورک DRIVE استفاده کنید:
- میخواهید که راهحل شما چه کار بکند؟
- محدودیتها چیست؟ چه کاری نباید انجام شود؟
- چه منابعی را میتوانیم در این امر سرمایهگذاری کنیم؟
- راه حل باید چه ارزشهایی داشته باشد؟
- نتایج اصلی و ضروری چیست؟
تا زمانی که چشمانداز روشنی از موفقیت در پیش روی خود به دست نیاوردهاید، این سؤالات را مدام از خود بپرسید.
۳. بپرسید «سؤال چیه؟»
اکنون زمان تولید سؤالاتی است که برای دستیابی به چشمانداز شما (آینده هدف)، باید پاسخ داده شود. هرسون اینها را «سؤالات کاتالیزوری» مینامد.
از اطلاعاتی که در مراحل قبلی جمعآوری کردهاید استفاده کنید. عباراتی مانند «چگونه ممکن است ما ...؟» یا «چگونه میتوانم ...؟» به شما در فرمولبندی سؤالات کمک میکند.
۴. پاسخ پرسشها را بدهید.
در این مرحله سعی کنید تا آنجا که میتوانید به سؤالات کاتالیزوری پاسخ دهید. طوفان فکری راه بیاندازید، قضاوت نکنید و ایده جمع کنید. اینها راهحلهای بالقوه شما هستند.
در مرحله بعدی، لیست ایدههای خود را به امیدوارکنندهترین آنها خلاصه کنید.
۵. راهحل را بسازید.
باید بهترین راهحل را قبل از توسعه انتخاب کنید. لیست خود را از مرحله قبل بردارید و هر ایده/راهحل را با توجه به معیارهای موفقیت از مرحله ۲ ارزیابی کنید. میتوانید از ماتریس تصمیمگیری (بعدا مفصلا در مورد این موضوع توضیح خواهیم داد) برای سهولت در این مرحله استفاده کنید.
اکنون میتوانید به فکر ساخت راهحل(های) انتخابی خود باشید. چه چیزی میتواند آن را بهتر کند؟ چگونه میتوانید آن را با معیارهای موفقیت بیشتر متناسب کنید؟
۶. منابع را تراز کنید.
در آخرین مرحله، به سمت اجرای راهحل حرکت میکنید.
اقدامات و منابع لازم برای تحقق این امر را بنویسید. افرادی که مسئول آن هستند را شناسایی کنید - به طور کلی و همچنین هر بخش از راهحل.
بهتر است همه اینها را با جزئیات مشخص کنید تا برنامه عملیاتی مشخص داشته باشید. اکنون باید بتوانید راهحل را اجرا کنید.
مقالهی بالا در واقع خلاصهی مختصر و مفیدی از روش حل مسئلهی Tim Hurson بود، برای جا افتادن بیشتر مسئله میتوانید به کتاب او مراجعه کنید. همچنین میتوانید خلاصهی کتاب و ویدئو او را در TEDx از طریق لینکهای زیر پیدا کنید. امیدوارم که این تکنیک در مسائل پیش روی شما کمککننده باشد.
کتاب Think Better:
http://bit.ly/dxgn766-Book
خلاصهی کتاب و توضیحات این روش:
http://bit.ly/dxgn766-Summary
ویدئو او در TEDxMaastricht با عنوان The shock of the possible:
http://bit.ly/dxgn766-Video
(زمان حدودی مطالعه خلاصهی کتاب: ۱۳ دقیقه
زمان ویدئو: ۱۸:۱۱)
نویسنده: حسین میرزاده
#مدل_ذهنی #تعریف_مسئله #روش_حل_مشکل #مدل_تفکر_سازنده #تیم_هرسون #پرسش
@Dexign فلسفه دیزاین
______
با استفاده از تفکر ساختاریافته و انتقادیتر، میتوانید مسئله موجود را بهتر درک کرده و راهحلهای خلاقانهتری برای حل آن ارائه دهید. مدل تفکر مولد، ساختهشده توسط تیم هرسون، میتواند به ما در انجام این کار کمک کند.
نحوه استفاده از آن
این ابزار یک چارچوب ۶ مرحلهای برای حل مسئله به شما میدهد. شش مرحله عبارتند از:
۱. بپرسید «چه خبره؟»
۲. بپرسید «موفقیت چیست؟»
۳. بپرسید «سؤال چیه؟»
۴. پاسخ پرسشها را بدهید.
۵. راهحل را بسازید.
۶. منابع را تراز کنید.
بیایید هر مرحله را با جزئیات بیشتری بررسی کنیم.
۱. بپرسید «چه خبره؟»
اولین قدم در مورد درک بهتر مسئله است. میتوانید از این سؤالات راهنما برای کمک به خود استفاده کنید:
- مشکل دقیقاً چیست؟
- تأثیر این مشکل چیست؟
- من از قبل چه میدانم؟ چه اطلاعاتی دارم؟
- چه کسی در این ماجرا دخیل است؟
- با حل این مشکل چشم انداز آینده چیست؟ (این همان چیزی است که هرسون آن را "آینده هدف" مینامد)
پاسخهایی را که در اینجا جمع میکنید مستند کنید زیرا در مراحل بعدی به آنها نیاز خواهید داشت.
۲. بپرسید «موفقیت چیست؟»
این مرحله به شما کمک میکند تا در چشمانداز آینده (که در مرحله قبل ایجاد کردهاید) موفقیت را مشخص کنید.
برای رسیدن به معیارهای موفقیت، میتوانید از فریمورک DRIVE استفاده کنید:
- میخواهید که راهحل شما چه کار بکند؟
- محدودیتها چیست؟ چه کاری نباید انجام شود؟
- چه منابعی را میتوانیم در این امر سرمایهگذاری کنیم؟
- راه حل باید چه ارزشهایی داشته باشد؟
- نتایج اصلی و ضروری چیست؟
تا زمانی که چشمانداز روشنی از موفقیت در پیش روی خود به دست نیاوردهاید، این سؤالات را مدام از خود بپرسید.
۳. بپرسید «سؤال چیه؟»
اکنون زمان تولید سؤالاتی است که برای دستیابی به چشمانداز شما (آینده هدف)، باید پاسخ داده شود. هرسون اینها را «سؤالات کاتالیزوری» مینامد.
از اطلاعاتی که در مراحل قبلی جمعآوری کردهاید استفاده کنید. عباراتی مانند «چگونه ممکن است ما ...؟» یا «چگونه میتوانم ...؟» به شما در فرمولبندی سؤالات کمک میکند.
۴. پاسخ پرسشها را بدهید.
در این مرحله سعی کنید تا آنجا که میتوانید به سؤالات کاتالیزوری پاسخ دهید. طوفان فکری راه بیاندازید، قضاوت نکنید و ایده جمع کنید. اینها راهحلهای بالقوه شما هستند.
در مرحله بعدی، لیست ایدههای خود را به امیدوارکنندهترین آنها خلاصه کنید.
۵. راهحل را بسازید.
باید بهترین راهحل را قبل از توسعه انتخاب کنید. لیست خود را از مرحله قبل بردارید و هر ایده/راهحل را با توجه به معیارهای موفقیت از مرحله ۲ ارزیابی کنید. میتوانید از ماتریس تصمیمگیری (بعدا مفصلا در مورد این موضوع توضیح خواهیم داد) برای سهولت در این مرحله استفاده کنید.
اکنون میتوانید به فکر ساخت راهحل(های) انتخابی خود باشید. چه چیزی میتواند آن را بهتر کند؟ چگونه میتوانید آن را با معیارهای موفقیت بیشتر متناسب کنید؟
۶. منابع را تراز کنید.
در آخرین مرحله، به سمت اجرای راهحل حرکت میکنید.
اقدامات و منابع لازم برای تحقق این امر را بنویسید. افرادی که مسئول آن هستند را شناسایی کنید - به طور کلی و همچنین هر بخش از راهحل.
بهتر است همه اینها را با جزئیات مشخص کنید تا برنامه عملیاتی مشخص داشته باشید. اکنون باید بتوانید راهحل را اجرا کنید.
مقالهی بالا در واقع خلاصهی مختصر و مفیدی از روش حل مسئلهی Tim Hurson بود، برای جا افتادن بیشتر مسئله میتوانید به کتاب او مراجعه کنید. همچنین میتوانید خلاصهی کتاب و ویدئو او را در TEDx از طریق لینکهای زیر پیدا کنید. امیدوارم که این تکنیک در مسائل پیش روی شما کمککننده باشد.
کتاب Think Better:
http://bit.ly/dxgn766-Book
خلاصهی کتاب و توضیحات این روش:
http://bit.ly/dxgn766-Summary
ویدئو او در TEDxMaastricht با عنوان The shock of the possible:
http://bit.ly/dxgn766-Video
(زمان حدودی مطالعه خلاصهی کتاب: ۱۳ دقیقه
زمان ویدئو: ۱۸:۱۱)
نویسنده: حسین میرزاده
#مدل_ذهنی #تعریف_مسئله #روش_حل_مشکل #مدل_تفکر_سازنده #تیم_هرسون #پرسش
@Dexign فلسفه دیزاین
______
اضافه شدن قابلیت Temporal Table به EF Core 6
➖ مایکروسافت در سال 2016 قابلیت Temporal Table که با نام System-Versioned نیز شناخته میشود را به SQL Server اضافه کرد.
➖ این قابلیت امکان این را فراهم میکند که تغییرات مربوط به دیتاهای هر جدول را ذخیره سازی کنیم.
➖ این امکان برای مانیتورینگ و همچنین برگرداندن دادههای حذف شده مفید است ولی باید در نظر داشت که این امکان باعث بالارفتن سریع حافظه دیتابیس میشود.
➖ مایکروسافت در آخرین ورژن EF Core یعنی EF Core 6 این قابلیت را فراهم کردهاست که به واسطه EF هم بتوانیم از این قابلیت SQL استفاده کنیم.
برای این که جدول مورد نظر از این ویژگی برخوردار باشد باید توسط Fluent Api این کار را انجام دهیم:
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.
#حامد_حاجیلو (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
________
➖ مایکروسافت در سال 2016 قابلیت Temporal Table که با نام System-Versioned نیز شناخته میشود را به SQL Server اضافه کرد.
➖ این قابلیت امکان این را فراهم میکند که تغییرات مربوط به دیتاهای هر جدول را ذخیره سازی کنیم.
➖ این امکان برای مانیتورینگ و همچنین برگرداندن دادههای حذف شده مفید است ولی باید در نظر داشت که این امکان باعث بالارفتن سریع حافظه دیتابیس میشود.
➖ مایکروسافت در آخرین ورژن EF Core یعنی EF Core 6 این قابلیت را فراهم کردهاست که به واسطه EF هم بتوانیم از این قابلیت SQL استفاده کنیم.
برای این که جدول مورد نظر از این ویژگی برخوردار باشد باید توسط Fluent Api این کار را انجام دهیم:
modelBuilderجهت کسب اطلاعات بیشتر در مورد این ویژگی و نحوه استفاده از آن میتوانید از این لینک استفاده کنید.
.Entity<Product>()
.ToTable("Products", b => b.IsTemporal());
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.
#حامد_حاجیلو (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
________
MSSQLTips.com
Introduction to SQL Server Temporal Tables
Temporal tables is a new feature introduced with SQL Server 2016 and allow automatic history tracking of data in a table.
قابلیت Layout در فریمورک Blazor
اگر از فریمورک Blazor استفاده میکنید از قابلیت تعریف Layout غافل نشوید. Layout در Blazor مثل Component با دو ویژگی بیشتر است. layout مانند کامپوننتهای data binding , dependency injeciton و غیره را دارد و علاوه بر آن از BlazorLayoutComponent به ارث رفته و با @body مشخص میکند content باید کجا render شود.
اما بذارید بگم اساسا Layout برای رفع چه نیازی است و چطور صفحات وبسایت را منظمتر و خواناتر و کدنویسی را راحتتر میکند.
تقریبا همه وب سایتها هدر و فوتر و ... دارند که در همهی صفحات باید باشد. خوب Layout اصلی در Blazor جایی را فراهم میکند که template ی برای صفحات مشخص کنیم. یعنی هدر و منو و فوتر را برا تمام صفحات بذاریم.
نکته قابل توجه اینکه میتوانید از Layout به صورت تو در تو استفاده کنید. یعنی میتوانید هر چند لایه زیرتر از Layout اصلی، Layout دیگری تعریف کنید و برای یک سری خاص از صفحات استفاده کنید.
مثلا فرض کنید، صفحاتی که برای یوزر ادمین نمایش میدهید المانها و استایلهای خاص و مشترکی دارند. شما میتوانید زیر Layout اصلی (که شامل هدر و فوتر و ... است)، یک Layout تعریف کنید و اون را فقط برای صفحات ادمین استفاده کنید.
علاوه بر داکیومنتی که خود ماکروسافت منتشر کرده است، میتوانید از مقاله زیر هم بهره ببرید:
https://blazor-tutorial.net/layout
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.
#مریم_داودی (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
_______
اگر از فریمورک Blazor استفاده میکنید از قابلیت تعریف Layout غافل نشوید. Layout در Blazor مثل Component با دو ویژگی بیشتر است. layout مانند کامپوننتهای data binding , dependency injeciton و غیره را دارد و علاوه بر آن از BlazorLayoutComponent به ارث رفته و با @body مشخص میکند content باید کجا render شود.
اما بذارید بگم اساسا Layout برای رفع چه نیازی است و چطور صفحات وبسایت را منظمتر و خواناتر و کدنویسی را راحتتر میکند.
تقریبا همه وب سایتها هدر و فوتر و ... دارند که در همهی صفحات باید باشد. خوب Layout اصلی در Blazor جایی را فراهم میکند که template ی برای صفحات مشخص کنیم. یعنی هدر و منو و فوتر را برا تمام صفحات بذاریم.
نکته قابل توجه اینکه میتوانید از Layout به صورت تو در تو استفاده کنید. یعنی میتوانید هر چند لایه زیرتر از Layout اصلی، Layout دیگری تعریف کنید و برای یک سری خاص از صفحات استفاده کنید.
مثلا فرض کنید، صفحاتی که برای یوزر ادمین نمایش میدهید المانها و استایلهای خاص و مشترکی دارند. شما میتوانید زیر Layout اصلی (که شامل هدر و فوتر و ... است)، یک Layout تعریف کنید و اون را فقط برای صفحات ادمین استفاده کنید.
علاوه بر داکیومنتی که خود ماکروسافت منتشر کرده است، میتوانید از مقاله زیر هم بهره ببرید:
https://blazor-tutorial.net/layout
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.
#مریم_داودی (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
_______
blazor-tutorial.net
Blazor layout | Blazor Tutorial and Documentation
Learn Blazor - layout by example. Get started with Blazor
Forwarded from فلسفه دیزاین
اولویتبندی کارها با ماتریس آیزنهاور
این فریموُرک اولویتبندی که به نام ۳۴مین رئیسجمهور ایالات متحده آمریکا Dwight D. Eisenhower نامگذاری شده است، به شما کمک میکند تا وظایف و فعالیت های خود را با توجه به اهمیت و ضرورت آنها سازماندهی کنید. این به ویژه هنگامی مفید است که سرتان بسیار شلوغ است، اما احساس نمیکنید کاری که انجام میدهید تأثیر زیادی دارد.
نحوه استفاده از آن
ماتریس آیزنهاور دارای چهار ربع در دو محور اهمیت و ضرورت است.
برای هر فعالیت یا کاری از خود بپرسید: آیا این مهم است یا نه؟ آیا ضروری است یا خیر؟
بر اساس پاسخ، فعالیت یا کار را در گوشهی(ربع) مناسب نمودار قرار دهید. ربع نمودار تعیین میکند که تکلیف شما با این کار چیست:
۱. اگر مهم و ضرویست ← آن را انجام دهید
۰ اینها کارهایی هستند که شما میخواهید آنها را در اسرع وقت انجام دهید.
۰ بحرانها، مشکلاتی که در حال حاضر به شما فشار میآورند و سایر مواردی که اگر اکنون به آن رسیدگی نکنید، عواقب بدی خواهند داشت.
۲. اگر مهم است و ضروری نیست ← آن را برنامهریزی کنید
۰ زمانی را برای این کارها پیدا کنید و آنها را بعداً انجام دهید.
۰ این ربع نمودار معمولاً محلی است که در آن کارهای عمیق اتفاق میافتد - وظایفی که به پروژهها یا اهداف بلند مدت شما کمک میکنند.
۳. اگر ضروری است ولی مهم نیست ← آن را محول کنید (به دیگری واگذار کنید)
۰ اگر میتوانید، شخصی را پیدا کنید که بتواند این کارها را برای شما انجام دهد.
۰ اگر نمیتوانید آن را به شخص دیگری محول کنید، آن را برنامهریزی کنید اما همیشه سعی کنید کارهای مهم و غیرضروری را اول انجام دهید.
۰ اینها اغلب کارهای اداری یا مواردی هستند که مهلت دارند، اما حیاتی نیستند.
۴. اگر ضروری و مهم نیست ← آن را انجام ندهید (قیدش را بزنید)
۰ این کارها ارزش وقت شما را ندارند و به هیچ وجه نباید آنها را انجام دهید.
۰ فعالیتهایی که میتوانید آنها را نادیده بگیرید، کارهای بیهوده شلوغ روزانه و سرگرمیهای شما در این ربع نمودار قرار میگیرد.
در بالا ترتیب اولویت وظایف را فهمیدید. بله وظایف مهم و غیرضروری قبل از بیاهمیت و ضروری قرار میگیرند.
ماتریس آیزنهاور بسیار انعطافپذیر است، بنابراین به خود شما مربوط است که از آن برای کارهای حرفهای، شخصی یا هر دو استفاده کنید.
همچنین می توانید با آن در بازههای زمانی مختلف کار کنید: روز خود را با آن برنامهریزی کنید و در مقابل نیز فعالیتهای کلی زندگی خود را اولویتبندی کنید.
چگونه کارهای ضروری را از کارهای مهم تشخیص دهیم.
کارهای ضروری و فوری معمولاً مهلت مشخصی دارند (به عنوان مثال ارسال طرح برای مشتری) یا از شما میخواهند به موقع عکسالعمل نشان دهید (مانند ایمیلها)
کارهای مهم معمولاً با اهداف بلند مدت شما مطابقت دارند (مثلِ ورزش) و پروژههای شما را رو به جلو سوق میدهند (مانند نوشتن کد برای پروژه جانبی).
تعیین ضرورت و اهمیت همیشه به زمینه و توانایی شما در تشخیص آنچه که واقعاً فوری و واقعاً مهم است بستگی دارد.
وعدهی ماتریس آیزنهاور این است که با تعیین اولویتهای صحیح و عمل به آنها، بهرهوری بیشتری داشته باشید. اگر همیشه مشغول هستید اما از پروژهها و اهداف بلند مدت خود عقب هستید، این ابزار قطعاً برای شما مناسب است. همچنین این یک ابزار بسیار مفید است برای اینکه تصمیم بگیرید چه کاری را انجام دهید و چه چیزی را باید از زندگی خود حذف کنید.
مطلب بالا خلاصهی مختصر و مفیدی بود از دو مقالهی زیر، پیشنهاد میکنم که نگاهی به هردو مقاله بیاندازید و از مثالها و توضیحات بیشتر برای جا افتادن این ابزار مفید استفاده کنید:
http://bit.ly/dxgn769-1
http://bit.ly/dxgn769-2
(زمان حدودی مطالعهی مقالهی اول: ۵ دقیقه
و مقالهی دوم: ۱۵ دقیقه)
نویسنده: حسین میرزاده
#ماتریس_آیزنهاور #مدیریت_کارها #اولویت_بندی_کارها #مهم #ضروری
@Dexign فلسفه دیزاین
______
این فریموُرک اولویتبندی که به نام ۳۴مین رئیسجمهور ایالات متحده آمریکا Dwight D. Eisenhower نامگذاری شده است، به شما کمک میکند تا وظایف و فعالیت های خود را با توجه به اهمیت و ضرورت آنها سازماندهی کنید. این به ویژه هنگامی مفید است که سرتان بسیار شلوغ است، اما احساس نمیکنید کاری که انجام میدهید تأثیر زیادی دارد.
نحوه استفاده از آن
ماتریس آیزنهاور دارای چهار ربع در دو محور اهمیت و ضرورت است.
برای هر فعالیت یا کاری از خود بپرسید: آیا این مهم است یا نه؟ آیا ضروری است یا خیر؟
بر اساس پاسخ، فعالیت یا کار را در گوشهی(ربع) مناسب نمودار قرار دهید. ربع نمودار تعیین میکند که تکلیف شما با این کار چیست:
۱. اگر مهم و ضرویست ← آن را انجام دهید
۰ اینها کارهایی هستند که شما میخواهید آنها را در اسرع وقت انجام دهید.
۰ بحرانها، مشکلاتی که در حال حاضر به شما فشار میآورند و سایر مواردی که اگر اکنون به آن رسیدگی نکنید، عواقب بدی خواهند داشت.
۲. اگر مهم است و ضروری نیست ← آن را برنامهریزی کنید
۰ زمانی را برای این کارها پیدا کنید و آنها را بعداً انجام دهید.
۰ این ربع نمودار معمولاً محلی است که در آن کارهای عمیق اتفاق میافتد - وظایفی که به پروژهها یا اهداف بلند مدت شما کمک میکنند.
۳. اگر ضروری است ولی مهم نیست ← آن را محول کنید (به دیگری واگذار کنید)
۰ اگر میتوانید، شخصی را پیدا کنید که بتواند این کارها را برای شما انجام دهد.
۰ اگر نمیتوانید آن را به شخص دیگری محول کنید، آن را برنامهریزی کنید اما همیشه سعی کنید کارهای مهم و غیرضروری را اول انجام دهید.
۰ اینها اغلب کارهای اداری یا مواردی هستند که مهلت دارند، اما حیاتی نیستند.
۴. اگر ضروری و مهم نیست ← آن را انجام ندهید (قیدش را بزنید)
۰ این کارها ارزش وقت شما را ندارند و به هیچ وجه نباید آنها را انجام دهید.
۰ فعالیتهایی که میتوانید آنها را نادیده بگیرید، کارهای بیهوده شلوغ روزانه و سرگرمیهای شما در این ربع نمودار قرار میگیرد.
در بالا ترتیب اولویت وظایف را فهمیدید. بله وظایف مهم و غیرضروری قبل از بیاهمیت و ضروری قرار میگیرند.
ماتریس آیزنهاور بسیار انعطافپذیر است، بنابراین به خود شما مربوط است که از آن برای کارهای حرفهای، شخصی یا هر دو استفاده کنید.
همچنین می توانید با آن در بازههای زمانی مختلف کار کنید: روز خود را با آن برنامهریزی کنید و در مقابل نیز فعالیتهای کلی زندگی خود را اولویتبندی کنید.
چگونه کارهای ضروری را از کارهای مهم تشخیص دهیم.
کارهای ضروری و فوری معمولاً مهلت مشخصی دارند (به عنوان مثال ارسال طرح برای مشتری) یا از شما میخواهند به موقع عکسالعمل نشان دهید (مانند ایمیلها)
کارهای مهم معمولاً با اهداف بلند مدت شما مطابقت دارند (مثلِ ورزش) و پروژههای شما را رو به جلو سوق میدهند (مانند نوشتن کد برای پروژه جانبی).
تعیین ضرورت و اهمیت همیشه به زمینه و توانایی شما در تشخیص آنچه که واقعاً فوری و واقعاً مهم است بستگی دارد.
وعدهی ماتریس آیزنهاور این است که با تعیین اولویتهای صحیح و عمل به آنها، بهرهوری بیشتری داشته باشید. اگر همیشه مشغول هستید اما از پروژهها و اهداف بلند مدت خود عقب هستید، این ابزار قطعاً برای شما مناسب است. همچنین این یک ابزار بسیار مفید است برای اینکه تصمیم بگیرید چه کاری را انجام دهید و چه چیزی را باید از زندگی خود حذف کنید.
مطلب بالا خلاصهی مختصر و مفیدی بود از دو مقالهی زیر، پیشنهاد میکنم که نگاهی به هردو مقاله بیاندازید و از مثالها و توضیحات بیشتر برای جا افتادن این ابزار مفید استفاده کنید:
http://bit.ly/dxgn769-1
http://bit.ly/dxgn769-2
(زمان حدودی مطالعهی مقالهی اول: ۵ دقیقه
و مقالهی دوم: ۱۵ دقیقه)
نویسنده: حسین میرزاده
#ماتریس_آیزنهاور #مدیریت_کارها #اولویت_بندی_کارها #مهم #ضروری
@Dexign فلسفه دیزاین
______
James Clear
How to be More Productive and Eliminate Time Wasting Activities by Using the “Eisenhower Box”
Learn how to be more productive by using a decision making matrix called the Eisenhower Matrix. (Plus, get a free template of the Eisenhower Box I use.)
👍1
انتقال داده ها به واسطه Azure Service Bus
امروزه سرعت انتقال دادهها از اهمیت بالایی برخوردار است. برای مثال فرض کنید پروژه شما شامل ۲ اپلیکیشن مجزا از هم است که هر دوی آنها از یک دیتابیس مشترک برای دادههای خود استفاده میکنند. اپلیکیشن ۱ بر روی دادهها تغییراتی انجام میدهد و اپلیکیشن ۲ از این تغییرات استفاده میکند.
در حالت عادی اپلیکیشن ۲ برای استفاده از دادههایی که قبلا توسط اپلیکیشن ۱ لود شده بود بایستی یک بار دیگر کوئریای بر روی دیتابیس بزند و دیتاها را مجدد لود کند.
اما این روش دوباره کاری است و بهینه نیست.
یک راه حل بهتر استفاده از message broker ها است. تعریف خیلی ساده آن هم مفهوم صف است. یک صف (Queue) که خارج از اپلیکیشنهای ما قرار دارد.
برای مثال Apache Kafka٬RabbitMQ٬Google Cloud Pub/Sub و ... از جمله معروفترین message broker موجود هستند.
یکی از بهترین message broker های موجود٬ Azure Service Bus است.
این سرویس قابلیتهایی فراتر از یک صف معمولی دارد، که از جمله مهمترین آنها میتوانیم به قابلیت جلوگیری از ارسال دادههای تکراری و استفاده چندین subnoscriptions از یک topic را نام ببریم.
البته به صورت پیشفرض (پلن رایگان) از Topic نمیتوانیم استفاده کنیم و صرفا از همان مفهوم Queue میشود استفاده کرد.
در این ویدیو نحوه استفاده از Azure Service Bus آموزش داده شده است.
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.
#حامد_حاجیلو (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
________
امروزه سرعت انتقال دادهها از اهمیت بالایی برخوردار است. برای مثال فرض کنید پروژه شما شامل ۲ اپلیکیشن مجزا از هم است که هر دوی آنها از یک دیتابیس مشترک برای دادههای خود استفاده میکنند. اپلیکیشن ۱ بر روی دادهها تغییراتی انجام میدهد و اپلیکیشن ۲ از این تغییرات استفاده میکند.
در حالت عادی اپلیکیشن ۲ برای استفاده از دادههایی که قبلا توسط اپلیکیشن ۱ لود شده بود بایستی یک بار دیگر کوئریای بر روی دیتابیس بزند و دیتاها را مجدد لود کند.
اما این روش دوباره کاری است و بهینه نیست.
یک راه حل بهتر استفاده از message broker ها است. تعریف خیلی ساده آن هم مفهوم صف است. یک صف (Queue) که خارج از اپلیکیشنهای ما قرار دارد.
برای مثال Apache Kafka٬RabbitMQ٬Google Cloud Pub/Sub و ... از جمله معروفترین message broker موجود هستند.
یکی از بهترین message broker های موجود٬ Azure Service Bus است.
این سرویس قابلیتهایی فراتر از یک صف معمولی دارد، که از جمله مهمترین آنها میتوانیم به قابلیت جلوگیری از ارسال دادههای تکراری و استفاده چندین subnoscriptions از یک topic را نام ببریم.
البته به صورت پیشفرض (پلن رایگان) از Topic نمیتوانیم استفاده کنیم و صرفا از همان مفهوم Queue میشود استفاده کرد.
در این ویدیو نحوه استفاده از Azure Service Bus آموزش داده شده است.
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.
#حامد_حاجیلو (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
________
Docs
Introduction to Azure Service Bus - Azure Service Bus
This article provides a high-level overview of Azure Service Bus, a fully managed enterprise integration serverless message broker.
🖌 بالاخره SQL Server 2022 اومد (البته الان حالت Private Preview است)
✅1- SQL Database ledger with blockchain
این گزینه نقش امنیتی دارد. دیتایی که میخواهید را میتوانید در قالب Blockchange ذخیره سازی کنید. در نتیجه این ساختار Blockchange ای که به دادههایتان و نحوه ذخیره سازی آنها میدهید، دادهای به خودی خود حذف نمیشود و کسی نمیتواند آن را تغییر دهد...
✅2- Azure failover
شما میتوانید بین دیتابیسهای on-premises و دیتابیس Azure و ... failover کنید. حتی میتوانید به عنوان مثال از روی دیتابیس Azure بک آپ بگیرید ...
✅3 - Intelligent Query Processing for a parameterized query (IQP)
این امکان را میدهد تا برای کوئریها بر اساس پارامترهای یک کوئری، پلنهای متعدد و مختلفی داشت که باعث بهبود پرفورمنس میشود.
یکی از معضل های SQL بحث ضعف پرفرمنسی بود که در Parameter sniffing وجود داشت. در این ورژن با Parameter sniffing خداحافظی میکنیم :)
✅4 - Azure Synapse link
این فیچر افراد ETL کار یا افرادی که با BI کار میکنند را بسیار خوش حال خواهد کرد :)
به واسطه این ویژگی شما میتوانید دادهها را بدون استفاده از ETL از سیستمهای OLTP, RealTime و ... به سیستمهای Warehouse ببرید.
یعنی بدون تغییرات در کد و به صورت RealTime میتوانید تغییرات را Detect کنید و انتقال دهید.
جهت کسب اطلاعات بیشتر در مورد این چند ویژگی اصلی و نحوه استفاده از آنها میتوانید از این لینک استفاده کنید.
نکته: همانطور که گفتیم این نسخه Private Preview است. یعنی باید درخواست بدید و اگه موافقت شد میتونید از این نسخه استفاده کنید.
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.
#حامد_حاجیلو (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
________
✅1- SQL Database ledger with blockchain
این گزینه نقش امنیتی دارد. دیتایی که میخواهید را میتوانید در قالب Blockchange ذخیره سازی کنید. در نتیجه این ساختار Blockchange ای که به دادههایتان و نحوه ذخیره سازی آنها میدهید، دادهای به خودی خود حذف نمیشود و کسی نمیتواند آن را تغییر دهد...
✅2- Azure failover
شما میتوانید بین دیتابیسهای on-premises و دیتابیس Azure و ... failover کنید. حتی میتوانید به عنوان مثال از روی دیتابیس Azure بک آپ بگیرید ...
✅3 - Intelligent Query Processing for a parameterized query (IQP)
این امکان را میدهد تا برای کوئریها بر اساس پارامترهای یک کوئری، پلنهای متعدد و مختلفی داشت که باعث بهبود پرفورمنس میشود.
یکی از معضل های SQL بحث ضعف پرفرمنسی بود که در Parameter sniffing وجود داشت. در این ورژن با Parameter sniffing خداحافظی میکنیم :)
✅4 - Azure Synapse link
این فیچر افراد ETL کار یا افرادی که با BI کار میکنند را بسیار خوش حال خواهد کرد :)
به واسطه این ویژگی شما میتوانید دادهها را بدون استفاده از ETL از سیستمهای OLTP, RealTime و ... به سیستمهای Warehouse ببرید.
یعنی بدون تغییرات در کد و به صورت RealTime میتوانید تغییرات را Detect کنید و انتقال دهید.
جهت کسب اطلاعات بیشتر در مورد این چند ویژگی اصلی و نحوه استفاده از آنها میتوانید از این لینک استفاده کنید.
نکته: همانطور که گفتیم این نسخه Private Preview است. یعنی باید درخواست بدید و اگه موافقت شد میتونید از این نسخه استفاده کنید.
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.
#حامد_حاجیلو (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
________
SQL Shack - articles about database auditing, server performance, data recovery, and more
SQL Server 2022 Private Preview announcement
This article covers SQL Server 2022 Private Preview announcement
❤1👍1
کامپوننتبندی در صفحات وب
یکی از عادتهای خوب در پیادهسازی صفحات وبسایت، کامپوننتبندی مناسب در صفحات است. به این معنی که هر پیج شامل یک کامپوننت اصلی و چندین کامپوننت (حاوی قسمتهای اصلی و مجزای صفحه) باشد.
این معماری به خوانایی کد کمک کرده و با بزرگ شدن پروژه، نگهداری از آن رو راحتتر میکند.
اما نگرانی که عموما وجود دارد این است که انتقال داده از کامپوننت فرزند به کامپوننتهای فرزند به خودی خود پیچیدگی به کد اضافه میکنند. به طوری که عموما تا دو یا نهایتا سه لایه در یک کامپوننت منطقی بنظر میرسد.
اما در Blazor با وجود Cascading values و Attribute Splatting این نگرانی رفع شده و به راحتی میتوان از کامپوننتها به صورت تودرتو استفاده کرد.
این ویدیو خیلی خلاصه و خوب این مسئله رو تشریح میکنه:
https://www.youtube.com/watch?v=IgJ8zN9Yc6w
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.
#مریم_داودی (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
_______
یکی از عادتهای خوب در پیادهسازی صفحات وبسایت، کامپوننتبندی مناسب در صفحات است. به این معنی که هر پیج شامل یک کامپوننت اصلی و چندین کامپوننت (حاوی قسمتهای اصلی و مجزای صفحه) باشد.
این معماری به خوانایی کد کمک کرده و با بزرگ شدن پروژه، نگهداری از آن رو راحتتر میکند.
اما نگرانی که عموما وجود دارد این است که انتقال داده از کامپوننت فرزند به کامپوننتهای فرزند به خودی خود پیچیدگی به کد اضافه میکنند. به طوری که عموما تا دو یا نهایتا سه لایه در یک کامپوننت منطقی بنظر میرسد.
اما در Blazor با وجود Cascading values و Attribute Splatting این نگرانی رفع شده و به راحتی میتوان از کامپوننتها به صورت تودرتو استفاده کرد.
این ویدیو خیلی خلاصه و خوب این مسئله رو تشریح میکنه:
https://www.youtube.com/watch?v=IgJ8zN9Yc6w
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.
#مریم_داودی (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
_______
YouTube
Parameters and Sharing Data [8 of 11] | Blazor for Beginners
Learn more ➡️ https://learn.microsoft.com/training/paths/build-web-apps-with-blazor/
HTML elements have attributes that let you configure them and we can expose attributes on our Blazor Components that let them be configured by other components and pages.…
HTML elements have attributes that let you configure them and we can expose attributes on our Blazor Components that let them be configured by other components and pages.…
Forwarded from فلسفه دیزاین
سند نیازمندیهای محصول (PRD)
برای دههها، سند نیازمندیهای محصول (PRD) مهمترین سندی بود که مدیران محصول در فرآیند تولید محصولات ایجاد میکردند. در این سند، تمام آن چیزهایی که برای ریلیز یک محصول خاص لازم است، با دقت فهرست شده و کل فرآیند ریلیز محصول بر اساس آن انجام میشود. همچنین از آن به عنوان سندی راهنما در روند ریلیزهای بعدی محصول استفاده میگردد.
این نوع سندها در فرآیند توسعه محصولات مورد استفاده قرار میگیرند تا تیمهای توسعه و تست از طریق مراجعه به آنها بتواند از قابلیتهایی که محصول باید در هنگام ریلیز داشته باشد اطلاع پیدا نمایند. عمده کاربری این قبیل سندها معمولاً در متدهای توسعه محصول آبشاری میباشد که در آنها سه مرحله تعریف، دیزاین و تحویل محصول به طور متوالی اتفاق میافتد. اما گاهی ممکن است از این سندها در محیط Agile نیز استفاده شود.
از مزایای اصلی استفاده از سند نیازمندیهای محصول (PRD) میتوان به مواردی همچون درک مشترک از نیازهای محصول، صرفهجویی در زمان، جلوگیری از سوتفاهم و کاهش ریسک در پروژه اشاره کرد.
در نوشتن سند نیازمندیهای محصول، معمولا در گام نخست یک طرح کلی از آنچه باید در PRD گنجانده شود با توجه به موارد ذیل تدوین میشود:
- هدف از ساخت محصول
- امکانات محصول
- جریان تجربه کاربری UX Flow و یادداشتهای طراحی
- نیازهای سیستم و محیط
- پیشفرضها، محدودیتها و وابستگیها
جهت درک بیشتر این مفهوم و آشنایی با نحوه نوشتن یک سند نیازمندیهای محصول کارآمد، شما را به خواندن متن کامل این مقاله دعوت میکنم.
http://bit.ly/dxgn771
(زمان مورد نیاز برای مطالعه: ۷ دقیقه)
نویسنده: نیما حکیمرابط
#سندنیازمندیهایمحصول #مدیریتمحصول #متدآبشاری
@Dexign فلسفه دیزاین
______
برای دههها، سند نیازمندیهای محصول (PRD) مهمترین سندی بود که مدیران محصول در فرآیند تولید محصولات ایجاد میکردند. در این سند، تمام آن چیزهایی که برای ریلیز یک محصول خاص لازم است، با دقت فهرست شده و کل فرآیند ریلیز محصول بر اساس آن انجام میشود. همچنین از آن به عنوان سندی راهنما در روند ریلیزهای بعدی محصول استفاده میگردد.
این نوع سندها در فرآیند توسعه محصولات مورد استفاده قرار میگیرند تا تیمهای توسعه و تست از طریق مراجعه به آنها بتواند از قابلیتهایی که محصول باید در هنگام ریلیز داشته باشد اطلاع پیدا نمایند. عمده کاربری این قبیل سندها معمولاً در متدهای توسعه محصول آبشاری میباشد که در آنها سه مرحله تعریف، دیزاین و تحویل محصول به طور متوالی اتفاق میافتد. اما گاهی ممکن است از این سندها در محیط Agile نیز استفاده شود.
از مزایای اصلی استفاده از سند نیازمندیهای محصول (PRD) میتوان به مواردی همچون درک مشترک از نیازهای محصول، صرفهجویی در زمان، جلوگیری از سوتفاهم و کاهش ریسک در پروژه اشاره کرد.
در نوشتن سند نیازمندیهای محصول، معمولا در گام نخست یک طرح کلی از آنچه باید در PRD گنجانده شود با توجه به موارد ذیل تدوین میشود:
- هدف از ساخت محصول
- امکانات محصول
- جریان تجربه کاربری UX Flow و یادداشتهای طراحی
- نیازهای سیستم و محیط
- پیشفرضها، محدودیتها و وابستگیها
جهت درک بیشتر این مفهوم و آشنایی با نحوه نوشتن یک سند نیازمندیهای محصول کارآمد، شما را به خواندن متن کامل این مقاله دعوت میکنم.
http://bit.ly/dxgn771
(زمان مورد نیاز برای مطالعه: ۷ دقیقه)
نویسنده: نیما حکیمرابط
#سندنیازمندیهایمحصول #مدیریتمحصول #متدآبشاری
@Dexign فلسفه دیزاین
______
Productplan
Product Requirements Document
What is a Product Requirements Document? Learn more about Product Requirements Document s and other product management terminology in our resources library.
چطور بلاکچین رو برای مادربزرگهامون توضیح بدیم!؟
امروز قرار هست یه ورکشاپ داخلی برای بچههای Melk Radar (ملک رادار) داشته باشم در مورد بلاکچین (بیشتر با دید بیزنسی). این ورکشاپ آنلاینه و روی تیمز برگزار میشه.
اگه براتون جالبه خوشحال میشیم به ما اضافه شین☺️
این ارائه به زبان ساده بیان میشه،
اینقدر ساده که میتونید برای مادربزرگتون هم تعریف کنید! 👵
امروز (یکشنبه ۲۸ آذر) ساعت ۶ تا ۸
لینک ورکشاپ ساعت ۶ تو این گروه تلگرامی فرستاده میشه:
https://news.1rj.ru/str/+F_BVG6HYLx5mNTNi
امروز قرار هست یه ورکشاپ داخلی برای بچههای Melk Radar (ملک رادار) داشته باشم در مورد بلاکچین (بیشتر با دید بیزنسی). این ورکشاپ آنلاینه و روی تیمز برگزار میشه.
اگه براتون جالبه خوشحال میشیم به ما اضافه شین☺️
این ارائه به زبان ساده بیان میشه،
اینقدر ساده که میتونید برای مادربزرگتون هم تعریف کنید! 👵
امروز (یکشنبه ۲۸ آذر) ساعت ۶ تا ۸
لینک ورکشاپ ساعت ۶ تو این گروه تلگرامی فرستاده میشه:
https://news.1rj.ru/str/+F_BVG6HYLx5mNTNi
چطور بلاکچین رو برای مادربزرگمون توضیح بدیم!؟
(یک ورکشاپ داخلی برای بچههای MelkRadar در مورد بلاکچین بیشتر با دید بیزنسی)
هدف این ورکشاپ دادن یک دیگاه کلی به اعضای تیم در مورد بلاکچین هست. مخاطبین این ورکشاپ همه افراد تیم از جمله تیمهای محصول، تست، پشتیبانی و فروش بودند.
بنابراین مفاهیم کاملا به زبان ساده و با دیدگاه بیزنسی بیان شده. بنابراین برای افرادی که میخوان با جزئیات برنامهنویسی آشنا بشن ویدئوی مناسبی نیست. در عوض برای کسانی که میخوان دید مناسبی از بلاکچین پیدا کنند، بدون اینکه درگیر مفاهیم برنامهنویسی بشن، این ویدئو میتونه بهشون کمک کنه.
در بسیاری از قسمتها برای اینکه بشه مفاهیم رو سادهتر منتقل کرد، مفاهیم خیلی سادهسازی شدن و در بعضی مواقع حتی شاید از لحاظ فنی دیگه درست نباشن، ولی این سادهسازی کمک زیادی به فهم مطلب میکنه.
لینک ویدئوی این ورکشاپ:
https://www.youtube.com/watch?v=BlOKBEpxnO8
#مهران_داودی (لینکدین - بلاگ)
کانال تلگرام:
@SoftwarePhilosophy
(یک ورکشاپ داخلی برای بچههای MelkRadar در مورد بلاکچین بیشتر با دید بیزنسی)
هدف این ورکشاپ دادن یک دیگاه کلی به اعضای تیم در مورد بلاکچین هست. مخاطبین این ورکشاپ همه افراد تیم از جمله تیمهای محصول، تست، پشتیبانی و فروش بودند.
بنابراین مفاهیم کاملا به زبان ساده و با دیدگاه بیزنسی بیان شده. بنابراین برای افرادی که میخوان با جزئیات برنامهنویسی آشنا بشن ویدئوی مناسبی نیست. در عوض برای کسانی که میخوان دید مناسبی از بلاکچین پیدا کنند، بدون اینکه درگیر مفاهیم برنامهنویسی بشن، این ویدئو میتونه بهشون کمک کنه.
در بسیاری از قسمتها برای اینکه بشه مفاهیم رو سادهتر منتقل کرد، مفاهیم خیلی سادهسازی شدن و در بعضی مواقع حتی شاید از لحاظ فنی دیگه درست نباشن، ولی این سادهسازی کمک زیادی به فهم مطلب میکنه.
لینک ویدئوی این ورکشاپ:
https://www.youtube.com/watch?v=BlOKBEpxnO8
#مهران_داودی (لینکدین - بلاگ)
کانال تلگرام:
@SoftwarePhilosophy
YouTube
Blockchain for your Grandmother! - چطور بلاکچین رو برای مادربزرگمون توضیح بدیم!؟
چطور بلاکچین رو برای مادربزرگمون توضیح بدیم!؟
(یک ورکشاپ داخلی برای بچههای ملکرادار در مورد بلاکچین بیشتر با دید بیزنسی)
هدف این ورکشاپ دادن یک دیگاه کلی به اعضای تیم در مورد بلاکچین هست. مخاطبین این ورکشاپ همه افراد تیم از جمله تیمهای محصول، تست،…
(یک ورکشاپ داخلی برای بچههای ملکرادار در مورد بلاکچین بیشتر با دید بیزنسی)
هدف این ورکشاپ دادن یک دیگاه کلی به اعضای تیم در مورد بلاکچین هست. مخاطبین این ورکشاپ همه افراد تیم از جمله تیمهای محصول، تست،…