Forwarded from SQL Server (Hamidreza)
سلام و عرض ادب خدمت دوستان گرامی
امیدوارم حالتون خوب باشه
اخیرا موردی در یک سازمان بزرگ رخ داده و اون هم این بوده که دیتابیس سیستم اتوماسیون دچار مشکل شده و شرکت محترم نرم افزاری که القصه یکی از بزرگترین شرکتهای بزرگ تولید کننده سیستم های اتوماسیون هست!! اومدن دیتابیس رو بررسی کردن و زحمت کشیدن آخرین بکاپ رو Restore کردن و به دلیل عدم دانش درست از دیتابیس ، سبب شده تقریبا 2 ساعت کار بر روی این دیتابیس در اون سازمان از دست بره.
دوستان عزیز ، اگر شرکت نرم افزاری هستید ، به هیچ وجه مسئولیت نگهداری بانک های اطلاعاتی یک سازمان به عهده شما نیست. اگر قرار هست بانک اطلاعاتی رو شما نگهداری کنید ، حتما در تیم خودتون از یک DBA حرفه ای استفاده کنید.
دوستان عزیز ، کار یک DBA ، در تخصص یک مهندس نرم افزار و برنامه نویس نیست به هیچ وجه.
مسئول شبکه نیز تخصصش DBA نیست. گاها مواردی پیش میاد که فقط یک DBA با تجربه میتونه مشکل رو حل کنه.
اگر همچنان مصر هستید که بانک های اطلاعاتی سازمان رو نگهداری کنید باید حتما یک قرارداد جداگانه برای نگهداری دیتابیس وضع بشه.
باید تمام ابزارهای مانیتورینگ تخصصی بر روی SQL Server پیاده سازی بشه . سیستم های Notification باید راه اندازی بشه و باید DBA شما بتونه در مواقع بحرانی و حساس در هر ساعت و ایامی بر روی دیتابیس کار کنه و حتما باید برای اینکار شیفت مخصوص داشته باشید.
حتما باید دیتابیس ها به صورت روزانه مانیتور بشه.
سازمانهای عزیز ، دقت کنید وقتی قرار هست دیتای شما توسط شرکت نگهداری بشه باید حتما قرارداد محرمانگی بین شما و شرکت نرم افزاری امضا بشه تا دیتای شما از دست نره.
فقط یک نفر و فقط یک نفر و فقط یک نفر باید SYSAdmin باشه.
حتی مدیر شبکه نباید دسترسی به دیتابیس داشته باشه
باید حتما Audit Log بر روی SQL Server راه اندازی شده باشه تا بتونید وضعیت رفتاری هر شخصی که بر روی سرور متصل میشه رو Trace کنید.
دوستان عزیز، اگر هر کدوم ا زموارد فوق رو رعایت نکردین ، باید عواقبی مانند از بین رفتن دیتا ، آلوده شدن و Encrypt شدن توسط باج افزارها ، کند شدن سرورها ، دزدیده شدن داده ها و .... رو کاملا بپذیرید.
ارادتمند شما
حمیدرضا صادقیان
ID:@Hamidreza_Sadeghian
Channel :@SQL_Server
امیدوارم حالتون خوب باشه
اخیرا موردی در یک سازمان بزرگ رخ داده و اون هم این بوده که دیتابیس سیستم اتوماسیون دچار مشکل شده و شرکت محترم نرم افزاری که القصه یکی از بزرگترین شرکتهای بزرگ تولید کننده سیستم های اتوماسیون هست!! اومدن دیتابیس رو بررسی کردن و زحمت کشیدن آخرین بکاپ رو Restore کردن و به دلیل عدم دانش درست از دیتابیس ، سبب شده تقریبا 2 ساعت کار بر روی این دیتابیس در اون سازمان از دست بره.
دوستان عزیز ، اگر شرکت نرم افزاری هستید ، به هیچ وجه مسئولیت نگهداری بانک های اطلاعاتی یک سازمان به عهده شما نیست. اگر قرار هست بانک اطلاعاتی رو شما نگهداری کنید ، حتما در تیم خودتون از یک DBA حرفه ای استفاده کنید.
دوستان عزیز ، کار یک DBA ، در تخصص یک مهندس نرم افزار و برنامه نویس نیست به هیچ وجه.
مسئول شبکه نیز تخصصش DBA نیست. گاها مواردی پیش میاد که فقط یک DBA با تجربه میتونه مشکل رو حل کنه.
اگر همچنان مصر هستید که بانک های اطلاعاتی سازمان رو نگهداری کنید باید حتما یک قرارداد جداگانه برای نگهداری دیتابیس وضع بشه.
باید تمام ابزارهای مانیتورینگ تخصصی بر روی SQL Server پیاده سازی بشه . سیستم های Notification باید راه اندازی بشه و باید DBA شما بتونه در مواقع بحرانی و حساس در هر ساعت و ایامی بر روی دیتابیس کار کنه و حتما باید برای اینکار شیفت مخصوص داشته باشید.
حتما باید دیتابیس ها به صورت روزانه مانیتور بشه.
سازمانهای عزیز ، دقت کنید وقتی قرار هست دیتای شما توسط شرکت نگهداری بشه باید حتما قرارداد محرمانگی بین شما و شرکت نرم افزاری امضا بشه تا دیتای شما از دست نره.
فقط یک نفر و فقط یک نفر و فقط یک نفر باید SYSAdmin باشه.
حتی مدیر شبکه نباید دسترسی به دیتابیس داشته باشه
باید حتما Audit Log بر روی SQL Server راه اندازی شده باشه تا بتونید وضعیت رفتاری هر شخصی که بر روی سرور متصل میشه رو Trace کنید.
دوستان عزیز، اگر هر کدوم ا زموارد فوق رو رعایت نکردین ، باید عواقبی مانند از بین رفتن دیتا ، آلوده شدن و Encrypt شدن توسط باج افزارها ، کند شدن سرورها ، دزدیده شدن داده ها و .... رو کاملا بپذیرید.
ارادتمند شما
حمیدرضا صادقیان
ID:@Hamidreza_Sadeghian
Channel :@SQL_Server
Forwarded from Iran Agile
🔵 فیدبک به شیوه اپیک
فرض کنید در تیم شما فردی هست که زیاد صحبت میکند و این باعث اذیت شدن دیگران میشود، از طرفی شما نمیتوانید به او فیدبک بدهید زیرا نگران این هستید که ناراحت نشود.
مثالهای از این دست بسیار هستند که ما به دیگران بازخورد نمیدهیم ولی خود این باعث اذیت خودمان و دیگران میشود یا به گونهای بازخورد میدهیم که روابط از بین میروند.
مدل اپیک یک مدل کاربردی در مورد بازخورد دادن است.
اطلاعات بیشتر در این مورد در لینک زیر:
📎 http://bit.ly/2soWGDh
فرض کنید در تیم شما فردی هست که زیاد صحبت میکند و این باعث اذیت شدن دیگران میشود، از طرفی شما نمیتوانید به او فیدبک بدهید زیرا نگران این هستید که ناراحت نشود.
مثالهای از این دست بسیار هستند که ما به دیگران بازخورد نمیدهیم ولی خود این باعث اذیت خودمان و دیگران میشود یا به گونهای بازخورد میدهیم که روابط از بین میروند.
مدل اپیک یک مدل کاربردی در مورد بازخورد دادن است.
اطلاعات بیشتر در این مورد در لینک زیر:
📎 http://bit.ly/2soWGDh
تقویم شمسی برای Xamarin
اگر با زمرین برنامههای موبایل به زبان فارسی تولید میکنید حتما هنگام استفاده از کنترل تاریخ با پیچیدگیهای تقویم شخصی دست و پنجه نرم کردهاید.
کنترل BitDatePicker که نحوه استفاده از آن در مقاله زیر توضیح دادهشدهاست ویژگیهای خیلی جذابی دارد که احتمالا تجربه کار شما با Xamarin را شیرینتر میکند. امکانات این کنترل عبارتند از:
• پشتیبانی از تمامی Calendar System هایی که noda time ساپورت میکند؛ اعم از شمسی، قمری، میلادی و ...
• پشتیبانی از تمامی Locale هایی که net. پشتیبانی میکند؛ اعم از فارسی، عربی، انگلیسی و ...
• قابلیت ارائه Template سفارشی شده برای UI
• سازگار شده با MVVM
https://www.dotnettips.info/post/2955/%D8%AA%D9%82%D9%88%DB%8C%D9%85-%D8%B4%D9%85%D8%B3%DB%8C-%D8%AF%D8%B1-xamarin-forms
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
http://ow.ly/npYc30nopkk
#مهران_داودی (http://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
اگر با زمرین برنامههای موبایل به زبان فارسی تولید میکنید حتما هنگام استفاده از کنترل تاریخ با پیچیدگیهای تقویم شخصی دست و پنجه نرم کردهاید.
کنترل BitDatePicker که نحوه استفاده از آن در مقاله زیر توضیح دادهشدهاست ویژگیهای خیلی جذابی دارد که احتمالا تجربه کار شما با Xamarin را شیرینتر میکند. امکانات این کنترل عبارتند از:
• پشتیبانی از تمامی Calendar System هایی که noda time ساپورت میکند؛ اعم از شمسی، قمری، میلادی و ...
• پشتیبانی از تمامی Locale هایی که net. پشتیبانی میکند؛ اعم از فارسی، عربی، انگلیسی و ...
• قابلیت ارائه Template سفارشی شده برای UI
• سازگار شده با MVVM
https://www.dotnettips.info/post/2955/%D8%AA%D9%82%D9%88%DB%8C%D9%85-%D8%B4%D9%85%D8%B3%DB%8C-%D8%AF%D8%B1-xamarin-forms
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
http://ow.ly/npYc30nopkk
#مهران_داودی (http://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
.NET Tips
تقویم شمسی در Xamarin Forms
BitDatePicker یک Date Picker، برای استفاده در برنامههایی مبتنی بر زمارین فرم (Android - iOS - UWP) است. مهمترین ویژگی ها: پشتیبانی از تمامی Calendar System هایی که noda time ساپورت میکند؛ اعم از شمسی، قمری، میلادی و ... پشتیبانی…
پلتفرم Twitch یکی از استارتاپهای معروف و جذاب با داستانی عجیب برای برنامهنویسان است. هدف اولیه این استارتاپ Game Streaming است، یعنی gamer ها هنگام بازی کردن دسکتاپ خود را share میکنند تا follower هایشان بتوانند نحوه بازی کردن آنها را ببینند.
یکی از اتفاقات جالبی که در این پلتفرم افتاده، استفاده خاص برنامهنویسان است. اخیرا برنامهنویسانی شروع به استفاده از از این پلتفرم کردهاند و هنگامی که برنامهنویسی میکنند دسکتاپ خود را شیر میکنند و مفاهیمی را از این طریق آموزش میدهند.
در همین راستا ما نیز در Software Philosophy تصمیم گرفتیم رویدادهایی را در Twitch برگزار کنیم.
دومین رویداد در تاریخ ۱۳۹۷/۱۱/۰۶ (شنبه) ساعت ۱۹:۰۰ تا ۲۰:۰۰ با موضوع زیر برگزار میشود:
Async/Await in Practice
پیشنیاز این دوره مطالب ارائه شده در رویداد قبل است.
برای مشاهده مطالب جلسه قبل و آمادگی برای مطالب این جلسه میتوانید ویدئوی ضبط شده جلسه قبل را از طریق لینک زیر مشاهده کنید.
https://www.aparat.com/v/F07CS
برای مشاهده این رویداد روی لینک زیر کلیک کنید و کانال ما را در twitch فالو کنید.
https://www.twitch.tv/softwarephilosophy/
#مهران_داودی (http://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
یکی از اتفاقات جالبی که در این پلتفرم افتاده، استفاده خاص برنامهنویسان است. اخیرا برنامهنویسانی شروع به استفاده از از این پلتفرم کردهاند و هنگامی که برنامهنویسی میکنند دسکتاپ خود را شیر میکنند و مفاهیمی را از این طریق آموزش میدهند.
در همین راستا ما نیز در Software Philosophy تصمیم گرفتیم رویدادهایی را در Twitch برگزار کنیم.
دومین رویداد در تاریخ ۱۳۹۷/۱۱/۰۶ (شنبه) ساعت ۱۹:۰۰ تا ۲۰:۰۰ با موضوع زیر برگزار میشود:
Async/Await in Practice
پیشنیاز این دوره مطالب ارائه شده در رویداد قبل است.
برای مشاهده مطالب جلسه قبل و آمادگی برای مطالب این جلسه میتوانید ویدئوی ضبط شده جلسه قبل را از طریق لینک زیر مشاهده کنید.
https://www.aparat.com/v/F07CS
برای مشاهده این رویداد روی لینک زیر کلیک کنید و کانال ما را در twitch فالو کنید.
https://www.twitch.tv/softwarephilosophy/
#مهران_داودی (http://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
دومین ورکشاپ کانال Software Philosophy روی پلتفرم Twitch شنبه ۱۳۹۷/۱۱/۰۶ ساعت ۱۹ تا ۲۰. روی این لینک کلیک کنید: https://www.twitch.tv/softwarephilosophy/
@SoftwarePhilosophy
@SoftwarePhilosophy
Forwarded from فلسفه دیزاین
تعصب، قفسی نامرئی برای تفکر
در سالهای بسیار دور کشفیات انسانها همگی مواردی بسیار کلی بود. اینکه دریافتیم زمین به دور خورشید میچرخد و ماه به دور زمین. اینکه دانستیم چیزی به نام جاذبه ما را روی زمین نگه میدارد.
روی دور تند اگر جلوتر بیایم، زمانی وجود داشت که داشتن وبسایت اتفاقی بزرگ محسوب میشد و بعدتر داشتن اپلیکیشن که بتواند روی گوشیهای هوشمند نصب شود. بعدتر که همه اپلیکیشن داشتند، صحبت از این به میان آمد که چگونه میتوان بهتر بود؟ چگونه میتوان سلیقه، عادات و تفکرات کاربران را در دیزاین دخیل کرد و …
نکته مهم و مقصود متن بالا این است که با پیشرفت و پیچیدهتر شدن جوامع انسانی و به تبع آن جوامع زیرمجموعه آن، داشتن نقشهایی مثل شهروند بودن، دوست بودن، دیزاینر بودن و … پیچیده میشود و خوب بودن در آنها پیچیدهتر.
یک دیزاینر بواسطه محصولات مختلفی که در طول زندگی خود طراحی میکند، با احتمال خوبی با اقشار مختلفی از مردم با عقاید، عادات و تفکرات مختلف سروکار خواهد داشت. پس طبیعیست که برای ارائه دادن کاری مناسب برای هر قشر، بتواند با آنها ارتباط برقرار کند. لازمه این ارتباط، کمینه نگهداشتن تعصبات ذهنیست.
امروز میخواهیم با این مقدمه، به مقالهای درباره تعصبات ذهن که در BBC منتشر شده پرداخته و با شفاف شدن عملکرد ذهنمان، به مبارزه با ایجاد تعصبات ذهنی بپردازیم.
دانشمندان علوم ذهنی فرایندهایی را که در آن ذهن منحرف میشود و به جانبداری از قسمتی از واقعیت میپردازد، جهتگیری یا سوگیری ذهنی مینامند.
با شناخت فرایندهایی که طی آنها ذهن به جانبداری از قسمتی از اطلاعات ورودی میپردازد و قسمتی دیگر از دانش را نادیده میگیرد، میتوانیم فرایند خردورزی، قضاوت و تصمیمگیری را بهینه کنیم. جهتگیری تاییدی یکی از مشهورترین انواع جهتگیریهای ذهنی است.
برای آشنایی با این جهتگیریها و بطور مشخص جهتگیری تاییدی، مقاله امروز را از دست ندهید:
http://bit.ly/dxgn460
(زمان حدودی مطالعه، ۱۲ دقیقه)
#تعصب #موانع_دیزاین #تمارین_ذهن
@Dexign فلسفه دیزاین
___
در سالهای بسیار دور کشفیات انسانها همگی مواردی بسیار کلی بود. اینکه دریافتیم زمین به دور خورشید میچرخد و ماه به دور زمین. اینکه دانستیم چیزی به نام جاذبه ما را روی زمین نگه میدارد.
روی دور تند اگر جلوتر بیایم، زمانی وجود داشت که داشتن وبسایت اتفاقی بزرگ محسوب میشد و بعدتر داشتن اپلیکیشن که بتواند روی گوشیهای هوشمند نصب شود. بعدتر که همه اپلیکیشن داشتند، صحبت از این به میان آمد که چگونه میتوان بهتر بود؟ چگونه میتوان سلیقه، عادات و تفکرات کاربران را در دیزاین دخیل کرد و …
نکته مهم و مقصود متن بالا این است که با پیشرفت و پیچیدهتر شدن جوامع انسانی و به تبع آن جوامع زیرمجموعه آن، داشتن نقشهایی مثل شهروند بودن، دوست بودن، دیزاینر بودن و … پیچیده میشود و خوب بودن در آنها پیچیدهتر.
یک دیزاینر بواسطه محصولات مختلفی که در طول زندگی خود طراحی میکند، با احتمال خوبی با اقشار مختلفی از مردم با عقاید، عادات و تفکرات مختلف سروکار خواهد داشت. پس طبیعیست که برای ارائه دادن کاری مناسب برای هر قشر، بتواند با آنها ارتباط برقرار کند. لازمه این ارتباط، کمینه نگهداشتن تعصبات ذهنیست.
امروز میخواهیم با این مقدمه، به مقالهای درباره تعصبات ذهن که در BBC منتشر شده پرداخته و با شفاف شدن عملکرد ذهنمان، به مبارزه با ایجاد تعصبات ذهنی بپردازیم.
دانشمندان علوم ذهنی فرایندهایی را که در آن ذهن منحرف میشود و به جانبداری از قسمتی از واقعیت میپردازد، جهتگیری یا سوگیری ذهنی مینامند.
با شناخت فرایندهایی که طی آنها ذهن به جانبداری از قسمتی از اطلاعات ورودی میپردازد و قسمتی دیگر از دانش را نادیده میگیرد، میتوانیم فرایند خردورزی، قضاوت و تصمیمگیری را بهینه کنیم. جهتگیری تاییدی یکی از مشهورترین انواع جهتگیریهای ذهنی است.
برای آشنایی با این جهتگیریها و بطور مشخص جهتگیری تاییدی، مقاله امروز را از دست ندهید:
http://bit.ly/dxgn460
(زمان حدودی مطالعه، ۱۲ دقیقه)
#تعصب #موانع_دیزاین #تمارین_ذهن
@Dexign فلسفه دیزاین
___
BBC News فارسی
چگونه از شر تعصبات ذهن خلاص شویم؟
شهروند قرن بیست و یک بودن سلسله مهارتهایی میطلبد. مناسبات جهانی در قرن بیست و یک، هر روز پیچیدهتر میشود. پاسخ بسیاری از پرسشها بلی یا خیر ساده نیست. هر روز اطلاعات جدید مسائل را دگرگون میسازد. پیچیدگی امور بدان معناست که باید مهارتهای پیچیدهتری را…
Forwarded from Software Philosophy
پلتفرم Twitch یکی از استارتاپهای معروف و جذاب با داستانی عجیب برای برنامهنویسان است. هدف اولیه این استارتاپ Game Streaming است، یعنی gamer ها هنگام بازی کردن دسکتاپ خود را share میکنند تا follower هایشان بتوانند نحوه بازی کردن آنها را ببینند.
یکی از اتفاقات جالبی که در این پلتفرم افتاده، استفاده خاص برنامهنویسان است. اخیرا برنامهنویسانی شروع به استفاده از از این پلتفرم کردهاند و هنگامی که برنامهنویسی میکنند دسکتاپ خود را شیر میکنند و مفاهیمی را از این طریق آموزش میدهند.
در همین راستا ما نیز در Software Philosophy تصمیم گرفتیم رویدادهایی را در Twitch برگزار کنیم.
دومین رویداد در تاریخ ۱۳۹۷/۱۱/۰۶ (شنبه) ساعت ۱۹:۰۰ تا ۲۰:۰۰ با موضوع زیر برگزار میشود:
Async/Await in Practice
پیشنیاز این دوره مطالب ارائه شده در رویداد قبل است.
برای مشاهده مطالب جلسه قبل و آمادگی برای مطالب این جلسه میتوانید ویدئوی ضبط شده جلسه قبل را از طریق لینک زیر مشاهده کنید.
https://www.aparat.com/v/F07CS
برای مشاهده این رویداد روی لینک زیر کلیک کنید و کانال ما را در twitch فالو کنید.
https://www.twitch.tv/softwarephilosophy/
#مهران_داودی (http://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
یکی از اتفاقات جالبی که در این پلتفرم افتاده، استفاده خاص برنامهنویسان است. اخیرا برنامهنویسانی شروع به استفاده از از این پلتفرم کردهاند و هنگامی که برنامهنویسی میکنند دسکتاپ خود را شیر میکنند و مفاهیمی را از این طریق آموزش میدهند.
در همین راستا ما نیز در Software Philosophy تصمیم گرفتیم رویدادهایی را در Twitch برگزار کنیم.
دومین رویداد در تاریخ ۱۳۹۷/۱۱/۰۶ (شنبه) ساعت ۱۹:۰۰ تا ۲۰:۰۰ با موضوع زیر برگزار میشود:
Async/Await in Practice
پیشنیاز این دوره مطالب ارائه شده در رویداد قبل است.
برای مشاهده مطالب جلسه قبل و آمادگی برای مطالب این جلسه میتوانید ویدئوی ضبط شده جلسه قبل را از طریق لینک زیر مشاهده کنید.
https://www.aparat.com/v/F07CS
برای مشاهده این رویداد روی لینک زیر کلیک کنید و کانال ما را در twitch فالو کنید.
https://www.twitch.tv/softwarephilosophy/
#مهران_داودی (http://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
Forwarded from Software Philosophy
دومین ورکشاپ کانال Software Philosophy روی پلتفرم Twitch شنبه ۱۳۹۷/۱۱/۰۶ ساعت ۱۹ تا ۲۰. روی این لینک کلیک کنید: https://www.twitch.tv/softwarephilosophy/
@SoftwarePhilosophy
@SoftwarePhilosophy
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
معرفی کتابخانه EFCore.BulkExtensions
در سری #معرفی_اکستنشن_های_کاربردی_EFCore
در حالت عادی (متد Add و یا AddRange)، رکورد های شما به صورت تکی Insert میشه و سرعت بالایی نداره، بر خلافش اما، در روش Bulk Insert، همه رکورد ها به صورت یکجا Insert میشن و سرعت بسیار بسیار بالایی داره این روش (حتی تا 20 برابر سریع تر!)
این کتابخونه بی نظیر، قابلیت انجام عملیات Bulk و Batch رو در EF Core فراهم میکنه و از async هم پیشتیبانی میکنه :
- Bulk operations (Insert, Update, Delete, Read, Upsert, Sync)
- Batch operations (Delete, Update)
* برای مقایسه پرفرمنس و تفاوت سرعت بین روش عادی و Bulk هم تصویر پست گویای همه چی هست
لینک ریپازیتوری + مثال و توضیحات :
https://github.com/borisdj/EFCore.BulkExtensions
#Bulk #EFCore #Performance
@IranAspMvc
در سری #معرفی_اکستنشن_های_کاربردی_EFCore
Entity Framework Core Bulk Batch Extensions for Insert Update Delete and Read (CRUD) operations on SQL Serverخیلی وقتا نیاز میشه یک مرتبه حجم زیادی از رکورد ها رو توسط EFCore ذخیره کنین (مثلا import کردن از یه فایل excel)
در حالت عادی (متد Add و یا AddRange)، رکورد های شما به صورت تکی Insert میشه و سرعت بالایی نداره، بر خلافش اما، در روش Bulk Insert، همه رکورد ها به صورت یکجا Insert میشن و سرعت بسیار بسیار بالایی داره این روش (حتی تا 20 برابر سریع تر!)
این کتابخونه بی نظیر، قابلیت انجام عملیات Bulk و Batch رو در EF Core فراهم میکنه و از async هم پیشتیبانی میکنه :
- Bulk operations (Insert, Update, Delete, Read, Upsert, Sync)
- Batch operations (Delete, Update)
* برای مقایسه پرفرمنس و تفاوت سرعت بین روش عادی و Bulk هم تصویر پست گویای همه چی هست
لینک ریپازیتوری + مثال و توضیحات :
https://github.com/borisdj/EFCore.BulkExtensions
#Bulk #EFCore #Performance
@IranAspMvc
Forwarded from Iran Agile
🔴 چگونه تخمین های بهتری داشته باشیم؟
همیشه تخمین زدن پروژه های نرم افزاری یک از دردسرهای بزرگ حوزه توسعه نرم افزار است. یکی از روش های رایج استوری پوینت و تکنیک پوکر است، اما خود این واحد تخمین نیز با دشواری های زیادی مواجه می شود.
این نوشته در مورد بهبود نحوه تخصیص استوری پوینت به اقلام بکلاگ محصول نوشته شده است:
http://bit.ly/2TJcwEq
@iranagile
همیشه تخمین زدن پروژه های نرم افزاری یک از دردسرهای بزرگ حوزه توسعه نرم افزار است. یکی از روش های رایج استوری پوینت و تکنیک پوکر است، اما خود این واحد تخمین نیز با دشواری های زیادی مواجه می شود.
این نوشته در مورد بهبود نحوه تخصیص استوری پوینت به اقلام بکلاگ محصول نوشته شده است:
http://bit.ly/2TJcwEq
@iranagile
در هر زبان و کتابخانهی ابتدا باید با دقت ساختار پروژه خود را بچینیم تا در میانه راه لازم نباشد تغییرات خانهبرانداز! روی ساختار پروژه اعمال کنیم.
در مورد react باید تصمیم بگیریم چه قطعه کدهایی قرار است component باشند. چه اطلاعاتی لازم است درstate نگهداری شوند و مسائل دیگری که ممکن است فقط خاص react نباشند.
در این مقاله یک دید جامع در مورد نحوه چیدن ساختار پروژه react به شما داده میشود.
https://www.graph.uk/insights/react-best-practices
#مریم_کمالی (http://ow.ly/9Wa430mFGeK)
کانال تلگرام:
@SoftwarePhilosophy
___
در مورد react باید تصمیم بگیریم چه قطعه کدهایی قرار است component باشند. چه اطلاعاتی لازم است درstate نگهداری شوند و مسائل دیگری که ممکن است فقط خاص react نباشند.
در این مقاله یک دید جامع در مورد نحوه چیدن ساختار پروژه react به شما داده میشود.
https://www.graph.uk/insights/react-best-practices
#مریم_کمالی (http://ow.ly/9Wa430mFGeK)
کانال تلگرام:
@SoftwarePhilosophy
___
Graph
React - Best practices for structuring Reactjs applications
We share the best practices for developing single page applications with React
Forwarded from فلسفه دیزاین
گذری بر 10YearChallenge و غولهای دنیای اینترنت
اخیرا چالشی در شبکههای اجتماعی به راه افتاده که ما را پرت میکند به ۱۰ سال پیش آدمها، برندها، لوگوها، شرکتها و …
بررسی گذشته همیشه فوایدی بهمراه دارد که به نظر من مهمترین آن فهمیدن روند یا Trend است. همیشه شما با دانستن مسیری که طی شده میتواند تا حدی حدس بزنید مقصد بعدی کجاست یا حداقل به کدام محدوده در حال حرکت هستیم.
دانستن مقصدهای بعدی به ما در تعیین اهداف کوتاه مدت و بلند مدت کاری و بعضا تصمیمهای دیزاینی کمک می کند.
در یک اقدام جالب آقای Arun Venkatesan گریزی به دیزاین ۱۰ سال پیش پربازدیدترین سایتهای دنیا زده و نمایی قدیمی و امروزی آنها را در کنار هم برای مقایسه قرار داده است.
http://bit.ly/dxgn461
پ. ن.
اگر این مقاله برایتان جذاب بود، شما هم میتوانید با مراجعه به وبسایت web.archive.org اسنپشاتهایی از سایتهای مختلف دیگر پیدا کنید.
(زمان حدودی مطالعه، ۸ دقیقه)
#چالش_ده_سال #ریدیزاین #نمونه_موفق
@Dexign فلسفه دیزاین
___
اخیرا چالشی در شبکههای اجتماعی به راه افتاده که ما را پرت میکند به ۱۰ سال پیش آدمها، برندها، لوگوها، شرکتها و …
بررسی گذشته همیشه فوایدی بهمراه دارد که به نظر من مهمترین آن فهمیدن روند یا Trend است. همیشه شما با دانستن مسیری که طی شده میتواند تا حدی حدس بزنید مقصد بعدی کجاست یا حداقل به کدام محدوده در حال حرکت هستیم.
دانستن مقصدهای بعدی به ما در تعیین اهداف کوتاه مدت و بلند مدت کاری و بعضا تصمیمهای دیزاینی کمک می کند.
در یک اقدام جالب آقای Arun Venkatesan گریزی به دیزاین ۱۰ سال پیش پربازدیدترین سایتهای دنیا زده و نمایی قدیمی و امروزی آنها را در کنار هم برای مقایسه قرار داده است.
http://bit.ly/dxgn461
پ. ن.
اگر این مقاله برایتان جذاب بود، شما هم میتوانید با مراجعه به وبسایت web.archive.org اسنپشاتهایی از سایتهای مختلف دیگر پیدا کنید.
(زمان حدودی مطالعه، ۸ دقیقه)
#چالش_ده_سال #ریدیزاین #نمونه_موفق
@Dexign فلسفه دیزاین
___
arun.is
10 Year Challenge: How Popular Websites Have Changed
A look back at how our favorite websites have aged over the last 10 years.
#پست_مجدد این پست تا به حال بیش از ۸۷۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
اغلب در دولوپ اپهای انگولاری که نیاز به بک اند برای تبادل اطالاعات وجود دارد، بک اند روی پورت دیگری از localhost بوده و یا بک اند روی سرور دیگری قرار دارد. در این صورت برای ارسال ریکوست از سمت کلاینت به سرور بک اند دو راه وجود دارد. یکی استفاده از CORS یا سرور ساید پروکسی.
خوشبختانه، Angular CLI این امکان را به ما میدهد که با ست کردن proxy config ریکوست از سمت کلاینت به سرور بک اند مورد نظر فرستاده شود.
لینک زیر نحوه انجام این کانفیگ را توضیح میدهد.
https://github.com/angular/angular-cli/blob/master/docs/documentation/stories/proxy.md
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
http://ow.ly/41My30mm7ym
#مریم_داودی (http://ow.ly/HGkG309B7de)
کانال تلگرام:
@SoftwarePhilosophy
___
خوشبختانه، Angular CLI این امکان را به ما میدهد که با ست کردن proxy config ریکوست از سمت کلاینت به سرور بک اند مورد نظر فرستاده شود.
لینک زیر نحوه انجام این کانفیگ را توضیح میدهد.
https://github.com/angular/angular-cli/blob/master/docs/documentation/stories/proxy.md
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
http://ow.ly/41My30mm7ym
#مریم_داودی (http://ow.ly/HGkG309B7de)
کانال تلگرام:
@SoftwarePhilosophy
___
Forwarded from Iran Agile
🔵 چگونه برای تیمهای چابک استخدام کنیم؟
یکی از چالش های اساسی تیم های چابک، استخدام افراد درست در تیم ها است. افرادی که بتوانند با “نادانسته ها” کنار بیایند، تعامل خوبی داشته باشند و … واقعیت این است که رفتار بسیاری از افرادی که در شرکتها
مشاهده کردیم ، مناسب تیم های چابک نیست
اما چگونه باید استخدام کرد؟
🚀 http://bit.ly/2WmDhAt
@iranagile
یکی از چالش های اساسی تیم های چابک، استخدام افراد درست در تیم ها است. افرادی که بتوانند با “نادانسته ها” کنار بیایند، تعامل خوبی داشته باشند و … واقعیت این است که رفتار بسیاری از افرادی که در شرکتها
مشاهده کردیم ، مناسب تیم های چابک نیست
اما چگونه باید استخدام کرد؟
🚀 http://bit.ly/2WmDhAt
@iranagile
#پست_مجدد این پست تا به حال نزدیک به ۱۰۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
همیشه انتخاب یک فریم ورک JavaScript برای Front End یک چالش است و هر از گاهی ظهور یک فریم ورک جدید کار را سختتر میکند.
فریمورکVue.js (ویو خوانده میشود مانندview) فریم ورکی JavaScript است که در فوریه 2014 ارایه شد. نکته جالب توجه این فریم ورک آن است که توسط یک نفر تولید شده است و نه یک تیم، هرچند که در حال حاضر افراد زیادی در توسعه آن مشارکت دارند که توسط Evan You تولید کننده Vue.js رهبری میشوند.
این فریم ورک تلفیقی است از بهترین فریم ورکهای محبوب AngularJSو ReactJS. از مزایای Vue.js سادگی استفاده، انعطاف پذیری، کم حجم بودن و یکپارچگی ساده با پروژههای موجود است و کد آن بسیار قابل تست است. به دلایلی که اشاره شد استفاده از Vue.js در بین توسعه دهندگان نرم افزار به سرعت در حال افزایش است.
وبسایت Vue.js:
https://vuejs.org
لینک زیر مزایای استفاده از این فریم ورک را توضیح میدهد:
https://hackernoon.com/what-is-vue-js-and-what-are-its-advantages-4071b7c7993d
و این لینک نیز مقایسهای است از سه فریم ورک ReactJS، Angular5 و Vue.js:
https://medium.com/@TechMagic/reactjs-vs-angular5-vs-vue-js-what-to-choose-in-2018-b91e028fa91d
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
http://ow.ly/czDp30mC86D
#محمد_محبتی (http://ow.ly/4ZMN30lzoxf)
کانال تلگرام:
@SoftwarePhilosophy
___
فریمورکVue.js (ویو خوانده میشود مانندview) فریم ورکی JavaScript است که در فوریه 2014 ارایه شد. نکته جالب توجه این فریم ورک آن است که توسط یک نفر تولید شده است و نه یک تیم، هرچند که در حال حاضر افراد زیادی در توسعه آن مشارکت دارند که توسط Evan You تولید کننده Vue.js رهبری میشوند.
این فریم ورک تلفیقی است از بهترین فریم ورکهای محبوب AngularJSو ReactJS. از مزایای Vue.js سادگی استفاده، انعطاف پذیری، کم حجم بودن و یکپارچگی ساده با پروژههای موجود است و کد آن بسیار قابل تست است. به دلایلی که اشاره شد استفاده از Vue.js در بین توسعه دهندگان نرم افزار به سرعت در حال افزایش است.
وبسایت Vue.js:
https://vuejs.org
لینک زیر مزایای استفاده از این فریم ورک را توضیح میدهد:
https://hackernoon.com/what-is-vue-js-and-what-are-its-advantages-4071b7c7993d
و این لینک نیز مقایسهای است از سه فریم ورک ReactJS، Angular5 و Vue.js:
https://medium.com/@TechMagic/reactjs-vs-angular5-vs-vue-js-what-to-choose-in-2018-b91e028fa91d
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
http://ow.ly/czDp30mC86D
#محمد_محبتی (http://ow.ly/4ZMN30lzoxf)
کانال تلگرام:
@SoftwarePhilosophy
___
vuejs.org
Vue.js
Vue.js - The Progressive JavaScript Framework
Forwarded from SQL Server (Hamidreza)
سلام و عرض ادب خدمت دوستان عزیزم
شبتون بخیر باشه
نکته ای که اخیرا زیاد میشنوم در خصوص مدیریت فایلهای LDF ، این هست که بعضی مواقع نیاز شده فایلها سایزشون کم بشه ، دوستان اومدن دیتابیس رو Detach کردن و فایل log رو حذف کرده و با استفاده از attach for rebuild دیتابیس رو attachکردن که فایل Log هم ساخته شده.!!!
این یک کار بسیار خطرناک و پر ریسکی هست و اگر به هردلیلی تراکنش های باز در فایل Log باشه دیگه فایل Log برای شما ساخته نمیشه و در واقع دیتابیس شما attach نخواهد شد.
و تنها راهش استفاده از روشهای پیچیده برای بازیابی فایلهای MDF می باشد.
لطفا برای مدیریت Log ها از روشهای بهتر مانند Log Backup استفاده کنید و زندگی بی دردسری رو تجربه کنید. 😁😁
نکته دوم و خیلی حیاتی برای دوستانی که عادت دارند مستقیما در محیطهای عملیاتی داده ها رو تغییر بدن و عملا دل شیر دارن😉
حتما از این روش استفاده کنید که اگر یک درصد خطایی هم رخ داد بتونید به شرایط نرمال برگردین.
Begin Tran
Update Table1 set field1=10
اگر دقت کرده باشین من یک Transaction باز کردم ولی نه Commit کردم نه Rollback . این باعث میشه تغییرات من در دیتابیس اعمال نشه و در همین Session من میتونم از جداولی که نیاز هست Query تهیه کنم ببینم داده ها درست اعمال شدند یا خیر.
اگر درست بود میتونم با دستور Commit تغییرات رو اعمال کنم و اگر درست نبود با Rollback تغییرات برمیگرده.
بارها پیش اومده مثلا جدولی Drop شده یا مقداری حذف شده ، با این روش به راحتی میتونید جلوی خطاهایی مانندوارد کردن اشتباه اسم جداول ، نذاشتن فیلترهای مناسب ، دستورات نابجا رو بگیریم.
امیدوارم این دو نکته کمک کنه وارد شرایط بحرانی نشین.😉😉😉
ارادتمند شما
حمیدرضا صادقیان
ID:@Hamidreza_Sadeghian
Channel :@SQL_Server
شبتون بخیر باشه
نکته ای که اخیرا زیاد میشنوم در خصوص مدیریت فایلهای LDF ، این هست که بعضی مواقع نیاز شده فایلها سایزشون کم بشه ، دوستان اومدن دیتابیس رو Detach کردن و فایل log رو حذف کرده و با استفاده از attach for rebuild دیتابیس رو attachکردن که فایل Log هم ساخته شده.!!!
این یک کار بسیار خطرناک و پر ریسکی هست و اگر به هردلیلی تراکنش های باز در فایل Log باشه دیگه فایل Log برای شما ساخته نمیشه و در واقع دیتابیس شما attach نخواهد شد.
و تنها راهش استفاده از روشهای پیچیده برای بازیابی فایلهای MDF می باشد.
لطفا برای مدیریت Log ها از روشهای بهتر مانند Log Backup استفاده کنید و زندگی بی دردسری رو تجربه کنید. 😁😁
نکته دوم و خیلی حیاتی برای دوستانی که عادت دارند مستقیما در محیطهای عملیاتی داده ها رو تغییر بدن و عملا دل شیر دارن😉
حتما از این روش استفاده کنید که اگر یک درصد خطایی هم رخ داد بتونید به شرایط نرمال برگردین.
Begin Tran
Update Table1 set field1=10
اگر دقت کرده باشین من یک Transaction باز کردم ولی نه Commit کردم نه Rollback . این باعث میشه تغییرات من در دیتابیس اعمال نشه و در همین Session من میتونم از جداولی که نیاز هست Query تهیه کنم ببینم داده ها درست اعمال شدند یا خیر.
اگر درست بود میتونم با دستور Commit تغییرات رو اعمال کنم و اگر درست نبود با Rollback تغییرات برمیگرده.
بارها پیش اومده مثلا جدولی Drop شده یا مقداری حذف شده ، با این روش به راحتی میتونید جلوی خطاهایی مانندوارد کردن اشتباه اسم جداول ، نذاشتن فیلترهای مناسب ، دستورات نابجا رو بگیریم.
امیدوارم این دو نکته کمک کنه وارد شرایط بحرانی نشین.😉😉😉
ارادتمند شما
حمیدرضا صادقیان
ID:@Hamidreza_Sadeghian
Channel :@SQL_Server
#پست_مجدد این پست تا به حال نزدیک به ۴۵۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
امکانات جدید C# 8.0 با بوی هوش مصنوعی!
نسخه major بعدی C# 7.3 که C# 8.0 خواهد طبق برنامهریزی به همراز .Net Core 3.0 ریلیز خواهد شد و امکان آزمایش آن در Visual Studio 2019 Preview وجود خواهد داشت.
امکانات جذابی که به این زبان اضافه شده در لینک زیر شرح دادهشده که به عنوان خلاصه میتوان به امکانات زیر اشاره کرد:
- Nullable Reference Types
- Async Streams
- Ranges and Indices
- Recursive Patterns
- Target-Typed New Expressions
وقتی نام تایپ قابل استنتاج است نیازی نیست نام کلاس هنگام new کردن مشخص شود!
به نظر میرسد با توجه به تمرکز جدید مایکروسافت روی هوش مصنوعی، امکاناتی که در این نسخه به زبان اضافه شده، بیشتر با هدف سادهسازی کار برای برنامهنویسان Data Science است. همانطور که میبینید ویژگیهایی از زبان Python که موجب جذابیت این زبان برای متخصصان Data Science بوده در این لیست دیده میشوند.
برای آشنایی کاملتر این امکانات میتوانید لینک زیر را که توسط Mads Torgersen نوشته شدهاست را مطالعه کنید.
https://blogs.msdn.microsoft.com/dotnet/2018/11/12/building-c-8-0/
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
http://ow.ly/36cL30mMFJK
#مهران_داودی (http://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
نسخه major بعدی C# 7.3 که C# 8.0 خواهد طبق برنامهریزی به همراز .Net Core 3.0 ریلیز خواهد شد و امکان آزمایش آن در Visual Studio 2019 Preview وجود خواهد داشت.
امکانات جذابی که به این زبان اضافه شده در لینک زیر شرح دادهشده که به عنوان خلاصه میتوان به امکانات زیر اشاره کرد:
- Nullable Reference Types
string? s = null;
- Async Streams
await foreach (var result in GetResultsAsync())
{
if (result > 20) yield return result;
}
- Ranges and Indices
Index i1 = 3; // number 3 from beginning
Index i2 = ^4; // number 4 from end
int[] a = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
Console.WriteLine($"{a[i1]}, {a[i2]}"); // "3, 6"
var slice = a[i1..i2]; // { 3, 4, 5 }
- Recursive Patterns
if (p is Student { Graduated: false, Name: string name })- Target-Typed New Expressions
Point[] ps = { new (1, 4), new (3,-2), new (9, 5) }; // all Pointsوقتی نام تایپ قابل استنتاج است نیازی نیست نام کلاس هنگام new کردن مشخص شود!
به نظر میرسد با توجه به تمرکز جدید مایکروسافت روی هوش مصنوعی، امکاناتی که در این نسخه به زبان اضافه شده، بیشتر با هدف سادهسازی کار برای برنامهنویسان Data Science است. همانطور که میبینید ویژگیهایی از زبان Python که موجب جذابیت این زبان برای متخصصان Data Science بوده در این لیست دیده میشوند.
برای آشنایی کاملتر این امکانات میتوانید لینک زیر را که توسط Mads Torgersen نوشته شدهاست را مطالعه کنید.
https://blogs.msdn.microsoft.com/dotnet/2018/11/12/building-c-8-0/
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
http://ow.ly/36cL30mMFJK
#مهران_داودی (http://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
Microsoft
Building C# 8.0
A first-hand look from the .NET engineering teams
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
مقایسه تکنولوژی استفاده شده در شرکت های بزرگ برنامه نویسی دنیا
توسط این سایت می توانید بهترین تکنولوژی، ابزار ها و فریمورک های مورد استفاده در شرکت های بزرگ برنامه نویسی دنیا را مشاهده و با یکدیگر مقایسه کنید.
https://stackshare.io/
مثلا لینک زیر تکنولوژی ها و ابزاری های مورد استفاده در شرکت Airbnb را نمایش می دهد.
https://stackshare.io/airbnb/airbnb
_______________
@IranAspMvc
توسط این سایت می توانید بهترین تکنولوژی، ابزار ها و فریمورک های مورد استفاده در شرکت های بزرگ برنامه نویسی دنیا را مشاهده و با یکدیگر مقایسه کنید.
https://stackshare.io/
مثلا لینک زیر تکنولوژی ها و ابزاری های مورد استفاده در شرکت Airbnb را نمایش می دهد.
https://stackshare.io/airbnb/airbnb
_______________
@IranAspMvc