#پست_مجدد این پست تا به حال بیش از ۸۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
استفاده از تاریخ و زمان در زبانهای برنامهنویسی همواره برای برنامه نویسان دردسر ساز بوده است. این مشکل به ویژه برای برنامه نویسان ایرانی مشهود است زیرا همیشه درگیر تبدیل تاریخهای میلادی و شمسی به یکدیگرند.
اما واقعا چرا مفهوم تاریخ در علم کامپیوتر و متعاقبا زبانهای برنامهنویسی دردسر سازند؟
در مورد یک عدد عبارت ۱۰۰ تا بعد از ۳۰۰ چند میشود معنی دقیقی دارد و جواب ۴۰۰ است. ولی در مورد تاریخ عبارت «یک ماه» بعد از ۱۶ شهریور چه روزی است جواب دقیقی ندارد. آیا منظور از یک ماه ۳۰ روز است یا ۳۱ روز؟ با هر کدام از این فرضیهها جواب ممکن است ۱۵ شهریور یا ۱۶ شهریور باشد.
مقاله زیر به صورت کاملتری پیچیدگیهایی را که تاریخ و زمان با خود به دنیای برنامهنویسی آوردهاند را توضیح دادهاست.
https://mehrandvd.me/2016/07/26/datetime-complexities-programming-languages/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
اما واقعا چرا مفهوم تاریخ در علم کامپیوتر و متعاقبا زبانهای برنامهنویسی دردسر سازند؟
در مورد یک عدد عبارت ۱۰۰ تا بعد از ۳۰۰ چند میشود معنی دقیقی دارد و جواب ۴۰۰ است. ولی در مورد تاریخ عبارت «یک ماه» بعد از ۱۶ شهریور چه روزی است جواب دقیقی ندارد. آیا منظور از یک ماه ۳۰ روز است یا ۳۱ روز؟ با هر کدام از این فرضیهها جواب ممکن است ۱۵ شهریور یا ۱۶ شهریور باشد.
مقاله زیر به صورت کاملتری پیچیدگیهایی را که تاریخ و زمان با خود به دنیای برنامهنویسی آوردهاند را توضیح دادهاست.
https://mehrandvd.me/2016/07/26/datetime-complexities-programming-languages/
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Dot Philosophy
Date Complexities in Programming Languages - Dot Philosophy
The problem with date concept! We, as humans, are good with dates and times. So, why computers are not! Why do they bother us (developers) on this!? As a matter of fact, the main problem is with different views of different cultures and countries to dates…
#پست_مجدد این پست تا به حال بیش از ۸۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
برای Sync کردن دیتابیسهای مختلف معمولا نیاز دارید تغییرات یک دیتابیس را از طریق یک شماره مانند ورژن متوجه شوید. به عبارتی برای یک دیتابیس نیاز دارید همیشه یک عددی داشته باشید که با هر تغییر اطلاعات یک شماره افزایش یابد. در SQL Server دو روش برای این کار وجود دارد. یکی استفاده از @@DBTS و دیگری تابع min_active_rowversion است. تفاوت این دو تابع در رفتار آنها حین انجام یک تراکنش است. اولی حین اجرای تراکنش تغییر میکند و دومی پس از اتمام تراکنش به روز میشود. دانستن دقیق تفاوت این دو کمک بسیاری در انجام موفق پروژههای همگامسازی اطلاعات میکند.
مقاله زیر تفاوتهای این دو روش را با مثالهای خوبی توضیح دادهاست.
https://www.mssqltips.com/sqlservertip/3423/sql-server-rowversion-functions-minactiverowversion-vs-dbts
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
مقاله زیر تفاوتهای این دو روش را با مثالهای خوبی توضیح دادهاست.
https://www.mssqltips.com/sqlservertip/3423/sql-server-rowversion-functions-minactiverowversion-vs-dbts
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Mssqltips
SQL Server Rowversion Functions min_active_row_version vs. @@DBTS
For data synchronization projects, using rowversion is a very effective method for detecting changes. In order to work with rowversion properly, we would need to either use @@DBTS or the function min_active_rowversion. Understanding the differences betwee
#خلاصه_مطالب «فلسفه نرمافزار» در هفته گذشته:
۱. تئوری اسب مرده!
https://t.iss.one/SoftwarePhilosophy/1313
۲. تخمین یا برآورد هزینه نرم افزارهای موبایلی
https://t.iss.one/SoftwarePhilosophy/1315
۳. مدیریت Blob life cycle در Azure
https://t.iss.one/SoftwarePhilosophy/1316
۴. پیچیدگیهای اضافه کردن تاریخ و زمان برای برنامهنویسان
https://t.iss.one/SoftwarePhilosophy/1318
۵. مقایسه rowversion و @@DBTS در SQL Server
https://t.iss.one/SoftwarePhilosophy/1320
ـــــــــــ
@SoftwarePhilosophy
۱. تئوری اسب مرده!
https://t.iss.one/SoftwarePhilosophy/1313
۲. تخمین یا برآورد هزینه نرم افزارهای موبایلی
https://t.iss.one/SoftwarePhilosophy/1315
۳. مدیریت Blob life cycle در Azure
https://t.iss.one/SoftwarePhilosophy/1316
۴. پیچیدگیهای اضافه کردن تاریخ و زمان برای برنامهنویسان
https://t.iss.one/SoftwarePhilosophy/1318
۵. مقایسه rowversion و @@DBTS در SQL Server
https://t.iss.one/SoftwarePhilosophy/1320
ـــــــــــ
@SoftwarePhilosophy
Forwarded from فلسفه دیزاین
بازآفرینی دیزاینهای روزانه: Backspace
به نظر میرسد که کلمههای «انسان» و «عادت» جدا نشدنی هستند. انسانها حتی به سختترین اتفاقات، شرایط و تغییرات هم عادت میکنند. عادت کردن در بسیاری مواقع باعث محدود شدن زاویه دیدمان شده و باعث میشود نتوانیم ایدههای جدید در مورد چیزهایی که به آنها عادت کردهایم بدهیم.
بعضی انسانها با وجود اینکه مانند بقیه دچار عادتهایی روزانه و لحظهای هستند، سعی میکنند از زوایای دیگر به اتفاقات نگاه کرده و تغییری در آنها بوجود بیاورند.
مقاله امروز پیشنهادیست که آقای Louis Anslow برای دکمه Backspace صفحهکلیدهای موبایل دادهست. این پیشنهاد بسیار کاربردی و در عین حال بسیار سادهست و همین موضوع باعث هیجانانگیز بودن آن میشود.
اینکه ایشان خارج از عادت فکر کرده و ایدهای جدید برای بهبود تجربه استفاده از صفحهکلید ارائه دادهست.
شما درگیر چه عادتهایی هستید و به نظرتان چگونه میشود از محدودیتهای ذهنی این عادتها خارج شد؟
ایده جذاب آقای Anslow را از دست ندهید:
https://medium.com/open-prototype/backspace-rethought-aa343485513f
(زمان حدودی مطالعه، ۴ دقیقه)
#بازآفرینی_روزانه #ایده #Backspace
@Dexign فلسفه دیزاین
___
به نظر میرسد که کلمههای «انسان» و «عادت» جدا نشدنی هستند. انسانها حتی به سختترین اتفاقات، شرایط و تغییرات هم عادت میکنند. عادت کردن در بسیاری مواقع باعث محدود شدن زاویه دیدمان شده و باعث میشود نتوانیم ایدههای جدید در مورد چیزهایی که به آنها عادت کردهایم بدهیم.
بعضی انسانها با وجود اینکه مانند بقیه دچار عادتهایی روزانه و لحظهای هستند، سعی میکنند از زوایای دیگر به اتفاقات نگاه کرده و تغییری در آنها بوجود بیاورند.
مقاله امروز پیشنهادیست که آقای Louis Anslow برای دکمه Backspace صفحهکلیدهای موبایل دادهست. این پیشنهاد بسیار کاربردی و در عین حال بسیار سادهست و همین موضوع باعث هیجانانگیز بودن آن میشود.
اینکه ایشان خارج از عادت فکر کرده و ایدهای جدید برای بهبود تجربه استفاده از صفحهکلید ارائه دادهست.
شما درگیر چه عادتهایی هستید و به نظرتان چگونه میشود از محدودیتهای ذهنی این عادتها خارج شد؟
ایده جذاب آقای Anslow را از دست ندهید:
https://medium.com/open-prototype/backspace-rethought-aa343485513f
(زمان حدودی مطالعه، ۴ دقیقه)
#بازآفرینی_روزانه #ایده #Backspace
@Dexign فلسفه دیزاین
___
Medium
Backspace Rethought
Backspace, often used rarely considered. Like oxygen it is critical to function yet goes unnoticed, as a result backspace holds a…
#پست_مجدد این پست تا به حال بیش از ۲۸۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد
Forwarded from Software Philosophy
نوشتن «بات» هوشمند در دنیای رقابتی باتها میتواند خیلی جذاب باشد. مدتی است مایکروسافت چند پروژه هوش مصنوعی را تحت عنوان Cognitive Science شروع کرده که به تشخیص عکس و تشخیص گفتار کمک میکند. همچنین امکان یکپارچه کردن آن با زیر ساخت Bot Framework میتواند منجر به تولید باتهای بسیار کارایی شود.
در لینک زیر نحوه استفاده از هوش مصنوعی پروژههای Cognitive در باتها آموزش داده شده است.
https://www.dotnetcurry.com/csharp/1281/simple-bot-using-microsoft-bot-framework-cognitive-services
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
در لینک زیر نحوه استفاده از هوش مصنوعی پروژههای Cognitive در باتها آموزش داده شده است.
https://www.dotnetcurry.com/csharp/1281/simple-bot-using-microsoft-bot-framework-cognitive-services
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Dotnetcurry
Simple Intelligent Bot using Microsoft Bot Framework & Cognitive Services | DotNetCurry
Microsoft Bot Framework and Cognitive Services are Intelligent API offerings which that allow systems to see, hear, speak, understand and interpret our needs with natural communication
#پست_مجدد این پست تا به حال بیش از ۸۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد
Forwarded from Software Philosophy
بر خلاف زبانهایی مانند C++ در زبان C# مفاهیم class و struct امکانات مشابهی دارند و در بسیاری از موارد میتوانند به جای یکدیگر استفاده شوند. به همین منظور هنگام معماری نرمافزار نقاط بسیاری وجود دارد که نیاز به تصمیم گیری برای انتخاب یکی از آنها است. به طور خلاصه class ها به عنوان reference type شناخته میشوندو در Heap نگهداری میشوند، در حالی که struct ها به عنوان value type شناخته میشوند و در stack نگهداری میشوند. یاد گرفتن دقیق این دو مفهوم و تفاوتهای آنها کمک بسیاری در انتخاب درست آنها در معماری میکند.
لینک زیر مربوط به بخشی از کتاب Framework Design Guidelines (FDG) است که به طور کامل در مورد این موضوع توضیح دادهاست. این کتاب استانداردی است که تمام برنامهنویسان در مایکروسافت باید آن را مطالعه کرده باشند و نکات آن را رعایت کنند.
https://msdn.microsoft.com/en-us/library/ms229017(v=vs.110).aspx
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
لینک زیر مربوط به بخشی از کتاب Framework Design Guidelines (FDG) است که به طور کامل در مورد این موضوع توضیح دادهاست. این کتاب استانداردی است که تمام برنامهنویسان در مایکروسافت باید آن را مطالعه کرده باشند و نکات آن را رعایت کنند.
https://msdn.microsoft.com/en-us/library/ms229017(v=vs.110).aspx
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
#پست_مجدد این پست تا به حال بیش از ۹۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد
Forwarded from Software Philosophy
در یک مصاحبه با Eric Lippert (یکی از اعضای سابق تیم زبان C#) از او پرسیده شده بود «آیا سیشارپ یک زبان strongly typed است یا weakly typed». جواب او به این سوال این بوده: «بله!» به نظر جواب غیر واضحی میآید. اریک در ادامه توضیح داده که مشکل از خود سوال است و اگر در سوال «یا» را به «و» تبدیل کنید، جواب من هنوز «بله» است!!
در پست زیر از بلاگ اریک، این مفاهیم با جزئیات بیشتری مانند statically typed، memory safe و type safe توضیح داده شدهاست.
https://ericlippert.com/2012/10/15/is-c-a-strongly-typed-or-a-weakly-typed-language
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
در پست زیر از بلاگ اریک، این مفاهیم با جزئیات بیشتری مانند statically typed، memory safe و type safe توضیح داده شدهاست.
https://ericlippert.com/2012/10/15/is-c-a-strongly-typed-or-a-weakly-typed-language
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
Fabulous adventures in coding
Is C# a strongly typed or a weakly typed language?
Presented as a dialogue, as is my wont! Is C# a strongly typed or a weakly typed language? Yes. That is unhelpful. I don’t doubt it. Interestingly, if you rephrased the question as an “…
#پست_مجدد این پست تا به حال بیش از ۲۴۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد
Forwarded from Software Philosophy
مفهوم static class در زبانهای برنامه نویسی شیگرا میتواند بسیار گمراه کننده باشد. اصولا بهتر است معماری نرمافزار طوری انجام شود که کمترین نیاز به این نوع کلاس باشد. یکی از نکات مهم در مورد این مفهوم این است که برنامهنویسان باید حواسشان باشد با این مفهوم به عنوان «سطلی برای نگهداری کدهای متفرقه» استفاده نشود. معمولا کدی که به اندازه کافی به محل درست نوشتن آن فکر نشده، اولین مکانی که برای آن مناسب به نظر میرسد یک static class است.
لینک زیر مربوط به بخشی از کتاب Framework Design Guidelines (FDG) است که به طور کامل توضیح دادهاست که در چه مواقعی مجاز به استفاده از static class ها هستیم و چه مواقعی نه. این کتاب استانداردی است که تمام برنامهنویسان در مایکروسافت باید آن را مطالعه کرده باشند و نکات آن را رعایت کنند.
https://msdn.microsoft.com/en-us/library/ms229038(v=vs.110).aspx
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
لینک زیر مربوط به بخشی از کتاب Framework Design Guidelines (FDG) است که به طور کامل توضیح دادهاست که در چه مواقعی مجاز به استفاده از static class ها هستیم و چه مواقعی نه. این کتاب استانداردی است که تمام برنامهنویسان در مایکروسافت باید آن را مطالعه کرده باشند و نکات آن را رعایت کنند.
https://msdn.microsoft.com/en-us/library/ms229038(v=vs.110).aspx
#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd
کانال تلگرام:
@SoftwarePhilosophy
___
#پست_مجدد این پست تا به حال بیش از ۱۰۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد
Forwarded from Software Philosophy
بهترین راه برای تست کارایی یک نمونهی اولیه واسط کاربری، مشاهده دقیق افرادیست که برای اولین بار از آن استفاده میکنند. با این کار میتوان به راحتی متوجه شد که چه قسمت هایی گیج کننده است، چه قسمت هایی نامفهوم است یا کارایی مناسب را ندارد و از آنها در جهت بهبود طراحی استفاده کرد.
برای انجام این کار با توجه به اینکه کاربر نهایی چه کسی است و چه اهدافی دارد، یک سناریو یا داستان نوشته می شود و کارهایی که شخص باید انجام دهد را مشخص میکند اما در آن به جای اینکه مشخصا از شخص خواسته شود که "کار X را انجام بده!"، یک سناریو طرح میشود که این فضا را به شخص بدهد که کار X را انجام دهد. برای مثال، یک سناریو میتواند این باشد: "شما درحال برنامهریزی سفر به شهر اصفهان از تاریخ ۳ فروردین تا ۶ فروردین هستید و احتیاج دارید که بلیط هواپیمای خود را بخرید. برای انجام این کار به سایت هواپیمایی ماهان می روید.". و متوجه میشویم که کاربر آیکون خرید بلیط را خیلی سخت پیدا کرده است. این آزمایش به طراح نشان میدهد باید طراحی تجربه کاربری را تغییر دهد...
در مقاله ی زیر می توانید با این روش کاملتر آشنا شوید.
https://www.nngroup.com/articles/task-scenarios-usability-testing
#زهره_مرادی
لینکدین:
https://ir.linkedin.com/in/zohre-moradi
کانال تلگرام:
@SoftwarePhilosophy
___
برای انجام این کار با توجه به اینکه کاربر نهایی چه کسی است و چه اهدافی دارد، یک سناریو یا داستان نوشته می شود و کارهایی که شخص باید انجام دهد را مشخص میکند اما در آن به جای اینکه مشخصا از شخص خواسته شود که "کار X را انجام بده!"، یک سناریو طرح میشود که این فضا را به شخص بدهد که کار X را انجام دهد. برای مثال، یک سناریو میتواند این باشد: "شما درحال برنامهریزی سفر به شهر اصفهان از تاریخ ۳ فروردین تا ۶ فروردین هستید و احتیاج دارید که بلیط هواپیمای خود را بخرید. برای انجام این کار به سایت هواپیمایی ماهان می روید.". و متوجه میشویم که کاربر آیکون خرید بلیط را خیلی سخت پیدا کرده است. این آزمایش به طراح نشان میدهد باید طراحی تجربه کاربری را تغییر دهد...
در مقاله ی زیر می توانید با این روش کاملتر آشنا شوید.
https://www.nngroup.com/articles/task-scenarios-usability-testing
#زهره_مرادی
لینکدین:
https://ir.linkedin.com/in/zohre-moradi
کانال تلگرام:
@SoftwarePhilosophy
___
Nielsen Norman Group
Task Scenarios for Usability Testing
Guidelines for usability test tasks: engage participants by writing task scenarios that are realistic, encourage an action, and don't give away how the interface should be used.
#خلاصه_مطالب «فلسفه نرمافزار» در هفته گذشته:
۱. بازآفرینی دیزاینهای روزانه: Backspace (فلسفه دیزاین)
https://t.iss.one/SoftwarePhilosophy/1322
۲. نحوه استفاده از هوش مصنوعی پروژههای Cognitive در باتها
https://t.iss.one/SoftwarePhilosophy/1324
۳. توضیحات کاملی در رابطه با مفاهیم مفاهیم class و struct
https://t.iss.one/SoftwarePhilosophy/1326
۴. «آیا سیشارپ یک زبان strongly typed است یا weakly typed»؟ https://t.iss.one/SoftwarePhilosophy/1328
۵. چه مواقعی مجاز به استفاده از static class ها هستیم و چه مواقعی نه؟
https://t.iss.one/SoftwarePhilosophy/1330
۶. تست کارایی یک نمونهی اولیه واسط کاربری
https://t.iss.one/SoftwarePhilosophy/1332
ـــــــــــ
@SoftwarePhilosophy
۱. بازآفرینی دیزاینهای روزانه: Backspace (فلسفه دیزاین)
https://t.iss.one/SoftwarePhilosophy/1322
۲. نحوه استفاده از هوش مصنوعی پروژههای Cognitive در باتها
https://t.iss.one/SoftwarePhilosophy/1324
۳. توضیحات کاملی در رابطه با مفاهیم مفاهیم class و struct
https://t.iss.one/SoftwarePhilosophy/1326
۴. «آیا سیشارپ یک زبان strongly typed است یا weakly typed»؟ https://t.iss.one/SoftwarePhilosophy/1328
۵. چه مواقعی مجاز به استفاده از static class ها هستیم و چه مواقعی نه؟
https://t.iss.one/SoftwarePhilosophy/1330
۶. تست کارایی یک نمونهی اولیه واسط کاربری
https://t.iss.one/SoftwarePhilosophy/1332
ـــــــــــ
@SoftwarePhilosophy
#پست_مجدد این پست تا به حال بیش از ۲۵۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد
Forwarded from Software Philosophy
مطمئنا برای خیلی از ما پیش آمده است که یک صحفه را طراحی کردهایم و در browser مان همه چیز مرتب و به قاعده است، اما بعد از ریلیز روی سایت از دوستان و اطرافیانتان می شنویم که صفحه به هم ریخته و نامرتب بنظر میرسد.
نگذارید این اتفاق برای شما هم بیافتد. بعد از انجام کار زمان لازم را برای تست صفحه وب خود روی browserهای مختلف بگذارید.
اگر همه browserها را روی رایانه خود نصب ندارید، ابزارهای آنلاینی وجود دارد که می توانید با استفاده از آنها صفحه وب خود را در browserهای مختلف و ورژنهای مختلف آنها تست کنید. از جمله این سایتها:
• The Browser Sandbox
• BrowserShots.org
• CrossBrowserTesting.com
مقاله زیر به شرح این مشکل پرداخته و راه کارهایی را پیشنهاد کرده و مختصر توضیحی از سایت های ذکر شده ارائه کرده است.
https://www.digitalfamily.com/tutorials/test-your-website-in-differen-web-browsers/
#مریم_داودی
لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a
کانال تلگرام:
@SoftwarePhilosophy
___
نگذارید این اتفاق برای شما هم بیافتد. بعد از انجام کار زمان لازم را برای تست صفحه وب خود روی browserهای مختلف بگذارید.
اگر همه browserها را روی رایانه خود نصب ندارید، ابزارهای آنلاینی وجود دارد که می توانید با استفاده از آنها صفحه وب خود را در browserهای مختلف و ورژنهای مختلف آنها تست کنید. از جمله این سایتها:
• The Browser Sandbox
• BrowserShots.org
• CrossBrowserTesting.com
مقاله زیر به شرح این مشکل پرداخته و راه کارهایی را پیشنهاد کرده و مختصر توضیحی از سایت های ذکر شده ارائه کرده است.
https://www.digitalfamily.com/tutorials/test-your-website-in-differen-web-browsers/
#مریم_داودی
لینکدین:
https://www.linkedin.com/in/maryam-davoudi-7913565a
کانال تلگرام:
@SoftwarePhilosophy
___
#پست_مجدد این پست تا به حال بیش از ۲۹۰۰ بار مشاهده شده و به نظر میرسد برای خوانندگان جدید کانال جذاب باشد
Forwarded from Software Philosophy
در زبان SQL، درک منطق اجرای یک کوئری برای خطایابی و نوشتن کد بهینه از اهمیت بالایی برخوردار است. شاید تاکنون برای شما هم پیش آمده است که در هنگام نوشتن یک کوئری، از اینکه کوئری بر خلاف انتظارتان عمل می کند دچار سردرگمی شده باشید. مثلا اینکه چرا با وجود اینکهalias ها را درSELECT Clause تعریف کرده اید، درWHERE Clause نمیتوانید از آنها استفاده کنید.
درSQL ، کوئری به ترتیبی که دستورات آن نوشته میشود اجرا نمیشود، بلکه به ترتیب زیر است:
۱) FROM clause
۲) WHERE clause
۳) GROUP BY clause
۴) HAVING clause
۵) SELECT clause
۶) ORDER BY clause
۷) TOP
در طراحی زبان SQL، مِلاکِ ترتیب اجرای دستورات کوئری، شبیه بودن به زبان انگلیسی بوده است. فرض کنید که به شما گفته میشود :"برو از قفسه سوم کتابخانه، کتاب قمارباز را بیاور!". در این مثال مهمترین بخش محل است، پس شما اول به کتابخانه میروید (FROM)، بعد قفسههای دیگر را فیلتر می کنید و نگاهتان در قفسه سوم به دنبال کتاب مورد نظر میگردد(WHERE) و تازه در این قسمت کتابی که میخواهید را بیرون میکشید(SELECT) و به شخصی که آن را درخواست کرده می دهید.
در مقاله زیر دربارهی Logical Query Processing بیشتر بخوانید.
https://sqlmag.com/sql-server/logical-query-processing-what-it-and-what-it-means-you
#زهره_مرادی
لینکدین:
https://ir.linkedin.com/in/zohre-moradi
کانال تلگرام:
@SoftwarePhilosophy
___
درSQL ، کوئری به ترتیبی که دستورات آن نوشته میشود اجرا نمیشود، بلکه به ترتیب زیر است:
۱) FROM clause
۲) WHERE clause
۳) GROUP BY clause
۴) HAVING clause
۵) SELECT clause
۶) ORDER BY clause
۷) TOP
در طراحی زبان SQL، مِلاکِ ترتیب اجرای دستورات کوئری، شبیه بودن به زبان انگلیسی بوده است. فرض کنید که به شما گفته میشود :"برو از قفسه سوم کتابخانه، کتاب قمارباز را بیاور!". در این مثال مهمترین بخش محل است، پس شما اول به کتابخانه میروید (FROM)، بعد قفسههای دیگر را فیلتر می کنید و نگاهتان در قفسه سوم به دنبال کتاب مورد نظر میگردد(WHERE) و تازه در این قسمت کتابی که میخواهید را بیرون میکشید(SELECT) و به شخصی که آن را درخواست کرده می دهید.
در مقاله زیر دربارهی Logical Query Processing بیشتر بخوانید.
https://sqlmag.com/sql-server/logical-query-processing-what-it-and-what-it-means-you
#زهره_مرادی
لینکدین:
https://ir.linkedin.com/in/zohre-moradi
کانال تلگرام:
@SoftwarePhilosophy
___
IT Pro
Logical Query Processing: What It Is And What It Means to You
There’s so much to say about logical query processing that a single article won’t be enough. This article is the first in a series, and here I’ll explain what the term means to me and provide an overview. In future articles I’ll delve into more details about…