#خلاصه_مطالب «فلسفه نرمافزار» در هفته گذشته:
۱. تکنولوژی Xamarin.Forms برای ساخت برنامههای موبایل
#xamarin #mobile #crossplatform
https://telegram.me/SoftwarePhilosophy/561
۲. افزایش بازدهی سرعت بانکهای اطلاعاتی با استفاده از حافظه اضافه (SQL Server)
#sqlserver
https://telegram.me/SoftwarePhilosophy/562
۳. امکانات و ویژگیهای PostCSS
#css #postcss #less #sass
https://telegram.me/SoftwarePhilosophy/563
۴.مفهوم Logical Query Processing
#sql
https://telegram.me/SoftwarePhilosophy/565
۵. مفهوم SEO و عملکرد آن
#seo
https://telegram.me/SoftwarePhilosophy/566
۶. مفهوم Parameter Binding در ASP.NET Web Api
#webapi #aspnet
https://telegram.me/SoftwarePhilosophy/568
ـــــــــــ
@SoftwarePhilosophy
۱. تکنولوژی Xamarin.Forms برای ساخت برنامههای موبایل
#xamarin #mobile #crossplatform
https://telegram.me/SoftwarePhilosophy/561
۲. افزایش بازدهی سرعت بانکهای اطلاعاتی با استفاده از حافظه اضافه (SQL Server)
#sqlserver
https://telegram.me/SoftwarePhilosophy/562
۳. امکانات و ویژگیهای PostCSS
#css #postcss #less #sass
https://telegram.me/SoftwarePhilosophy/563
۴.مفهوم Logical Query Processing
#sql
https://telegram.me/SoftwarePhilosophy/565
۵. مفهوم SEO و عملکرد آن
#seo
https://telegram.me/SoftwarePhilosophy/566
۶. مفهوم Parameter Binding در ASP.NET Web Api
#webapi #aspnet
https://telegram.me/SoftwarePhilosophy/568
ـــــــــــ
@SoftwarePhilosophy
#خلاصه_مطالب «فلسفه نرمافزار» در هفته گذشته:
۱. نوشتن کوئریهای DELETE بهینه برای حجم دیتای زیاد
#sql #optimization
https://t.me/SoftwarePhilosophy/775
۲. چگونه با استفاده از async/await الگوی retry pattern را پیادهسازی کنیم
#csharp #async #designpattern
https://t.me/SoftwarePhilosophy/777
۳. مروری بر معماری اطلاعات یا فوت کوزهگری دیزاین (دیزاین)
#design
https://t.me/SoftwarePhilosophy/778
۴. کمپین #NoEstimates و ترکیب آن با اسکرام
#scrum #estimation
https://t.me/SoftwarePhilosophy/780
۵. طراحی responsive و نحوه انتخاب نقاط شکست
#css
https://t.me/SoftwarePhilosophy/782
ـــــــــــ
@SoftwarePhilosophy
۱. نوشتن کوئریهای DELETE بهینه برای حجم دیتای زیاد
#sql #optimization
https://t.me/SoftwarePhilosophy/775
۲. چگونه با استفاده از async/await الگوی retry pattern را پیادهسازی کنیم
#csharp #async #designpattern
https://t.me/SoftwarePhilosophy/777
۳. مروری بر معماری اطلاعات یا فوت کوزهگری دیزاین (دیزاین)
#design
https://t.me/SoftwarePhilosophy/778
۴. کمپین #NoEstimates و ترکیب آن با اسکرام
#scrum #estimation
https://t.me/SoftwarePhilosophy/780
۵. طراحی responsive و نحوه انتخاب نقاط شکست
#css
https://t.me/SoftwarePhilosophy/782
ـــــــــــ
@SoftwarePhilosophy
#خلاصه_مطالب «فلسفه نرمافزار» در هفته گذشته:
۱. نوشتن کوئریهای DELETE بهینه برای حجم دیتای زیاد
#sql #optimization
https://t.me/SoftwarePhilosophy/936
۲. آشنایی با معماری میکروسرویس
#microservice #architecture
https://t.me/SoftwarePhilosophy/937
۳. ده موقعیتی که طراحان تجربه کاربری از آن متنفر هستند! (دیزاین)
#design
https://t.me/SoftwarePhilosophy/938
۴. اصول Coding Style در زبان SQL
#sql #cleancode
https://t.me/SoftwarePhilosophy/940
۵. چرا یادگیری از اشتباهات گذشته مانع اشتباهات در پروژههای بعدی نمیشوند؟ (Iran Agile)
#agile
https://t.me/SoftwarePhilosophy/941
۶. آشنایی با کتابخانه DistrubtedLock در .NET و مسئله تغییرات همزمان داده
#dotnet #library #concurrency
https://t.me/SoftwarePhilosophy/942
ـــــــــــ
@SoftwarePhilosophy
۱. نوشتن کوئریهای DELETE بهینه برای حجم دیتای زیاد
#sql #optimization
https://t.me/SoftwarePhilosophy/936
۲. آشنایی با معماری میکروسرویس
#microservice #architecture
https://t.me/SoftwarePhilosophy/937
۳. ده موقعیتی که طراحان تجربه کاربری از آن متنفر هستند! (دیزاین)
#design
https://t.me/SoftwarePhilosophy/938
۴. اصول Coding Style در زبان SQL
#sql #cleancode
https://t.me/SoftwarePhilosophy/940
۵. چرا یادگیری از اشتباهات گذشته مانع اشتباهات در پروژههای بعدی نمیشوند؟ (Iran Agile)
#agile
https://t.me/SoftwarePhilosophy/941
۶. آشنایی با کتابخانه DistrubtedLock در .NET و مسئله تغییرات همزمان داده
#dotnet #library #concurrency
https://t.me/SoftwarePhilosophy/942
ـــــــــــ
@SoftwarePhilosophy
نحوه کار کردن با UTC در دیتابیسهایی که خارج از ایران مستقر شدهاند
در یکی از پروژههایمان پایگاه داده ما خارج از ایران مستقر شده است و زمانی که کوئریهایی را مینویسیم که نیاز به مقایسه تاریخ داده با تاریخ حال حاضر سیستم دارد (سیستم SQL) دچار مشکل میشویم.
⁉️چه مشکلی؟
فرض کنید الان ساعت ۲ بامداد روز ۵ مرداد است (با احتساب TimeZone ایران). پایگاه داده ما جایی مستقر شده است که TimeZone اش برای مثال 01:00+ است.
اگر بخواهیم دادههای ۵ مرداد فراخوانی شود (همین دو ساعت، یعنی تا ۲ بامداد) چه اتفاقی خواهد افتاد؟
🖊 پاسخ:
اگر تاریخ SQL را در سادهترین حالت مورد استفاده قرار دهیم دادههای روز قبل فراخوانی میشوند.
منظور از ساده ترین حالت مثال زیر است:
⁉️اما راه حل چیست؟
برای این مشکل شما باید مستقیما به #SQL بگویید که چه تایمزونی مد نظرتان است:
___________
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
#حامد_حاجیلو (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
________
در یکی از پروژههایمان پایگاه داده ما خارج از ایران مستقر شده است و زمانی که کوئریهایی را مینویسیم که نیاز به مقایسه تاریخ داده با تاریخ حال حاضر سیستم دارد (سیستم SQL) دچار مشکل میشویم.
⁉️چه مشکلی؟
فرض کنید الان ساعت ۲ بامداد روز ۵ مرداد است (با احتساب TimeZone ایران). پایگاه داده ما جایی مستقر شده است که TimeZone اش برای مثال 01:00+ است.
اگر بخواهیم دادههای ۵ مرداد فراخوانی شود (همین دو ساعت، یعنی تا ۲ بامداد) چه اتفاقی خواهد افتاد؟
🖊 پاسخ:
اگر تاریخ SQL را در سادهترین حالت مورد استفاده قرار دهیم دادههای روز قبل فراخوانی میشوند.
منظور از ساده ترین حالت مثال زیر است:
select CAST( SYSDATETIMEOFFSET() AS Date )خروجی این کوئری در مثال ما در آن ساعتهای خاص به جای این که ۵ مرداد باشد برابر است با ۴ مرداد.
⁉️اما راه حل چیست؟
برای این مشکل شما باید مستقیما به #SQL بگویید که چه تایمزونی مد نظرتان است:
select SYSDATETIMEOFFSET() AT TIME ZONE 'Iran Standard Time'برای دیدن لیست TimeZone ها نیز میتوانید از کوئری زیر استفاده کنید:
SELECT * FROM sys.time_zone_info;برای بررسی بیشتر موارد مربوطه میتوانید از این دو مطلب ( یک , دو ) استفاده کنید.
___________
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
#حامد_حاجیلو (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
________
👍24❤1🔥1