فرق POST و PUT
یک متدی وقتی Safe است که اجرای آن در وضعیت سرور تغییر ایجاد نکند. اصولا متدهای "فقط خواندنی" مانند GET به عنوان Safe شناخته میشوند. (مگر اینکه برنامه نویس به اشتباه روی متد GET تغییراتی در وضعیت سرور اعمال کند!)
یک متد وقتی Idempotent هست که وقتی چند بار پشت سر هم فراخوانی شد نتیجه ی یکسان در سرور بدست آید. متد POST اینگونه نیست. چرا که وقتی یک رکورد را از این طریق به سرور میفرستید در دیتابیس ردیف جدید ایجاد میشود. اگر صد بار اجرا شود صد ردیف جدید خواهید داشت.
اگر با متد PUT رکوردی به سرور ارسال شود طبق استاندارد باید بررسی کنید که آیا رکورد مشابهی در دیتابیس وجود دارد یا خیر و اگر بود باید آن را تغییر دهید (و رکورد جدید در دیتابیس اضافه نکنید) و اگر نبود مجاز هستید که مانند POST ردیف جدید ایجاد کنید. حالا اگر دوباره همان رکورد به سرور ارسال شود وضعیت دیتابیس تغییر نمیکند. پست PUT باید نسبت به اجرای چندباره خنثی عمل کند.
البته اینها فقط استاندارد است و پیاده سازی مکانیزم به عهده ی برنامه نویس می باشد.
یک متدی وقتی Safe است که اجرای آن در وضعیت سرور تغییر ایجاد نکند. اصولا متدهای "فقط خواندنی" مانند GET به عنوان Safe شناخته میشوند. (مگر اینکه برنامه نویس به اشتباه روی متد GET تغییراتی در وضعیت سرور اعمال کند!)
یک متد وقتی Idempotent هست که وقتی چند بار پشت سر هم فراخوانی شد نتیجه ی یکسان در سرور بدست آید. متد POST اینگونه نیست. چرا که وقتی یک رکورد را از این طریق به سرور میفرستید در دیتابیس ردیف جدید ایجاد میشود. اگر صد بار اجرا شود صد ردیف جدید خواهید داشت.
اگر با متد PUT رکوردی به سرور ارسال شود طبق استاندارد باید بررسی کنید که آیا رکورد مشابهی در دیتابیس وجود دارد یا خیر و اگر بود باید آن را تغییر دهید (و رکورد جدید در دیتابیس اضافه نکنید) و اگر نبود مجاز هستید که مانند POST ردیف جدید ایجاد کنید. حالا اگر دوباره همان رکورد به سرور ارسال شود وضعیت دیتابیس تغییر نمیکند. پست PUT باید نسبت به اجرای چندباره خنثی عمل کند.
البته اینها فقط استاندارد است و پیاده سازی مکانیزم به عهده ی برنامه نویس می باشد.
نسخه ی Beta 3 از Flutter SDK عرضه شد.
فریم ورک Flutter برای طراحی رابط کاربری آیفون و اندروید استفاده میشود و در این هفته نسخه ی بتای سوم آن منتشر شد.
گوگل در این نسخه از زبان برنامه نویسی Dart 2 استفاده میکند. این زبان همان جاوا اسکریپت است با قابلیت های بیشتر (چیزی شبیه TypeScript) .
چند سالی میشد که گوگل کار روی این زبان را متوقف کرده بود اما حالا با جلب شدن توجه ها به سمت TypeScript تلاش میکند در این بازار سهمی داشته باشد.
گوگل اعلام کرد با نرم افزار VS Code به عنوان "شهروند درجه ی اول" برخورد میکند و همه ی آپدیت های Flutter را علاوه بر Android Studio در در VS Code هم قرار میدهد.
افزونه ی زبان دارت برای VS Code بیش از 250 هزاربار دانلود شده و هنوز یک هفته نشده آمار دانلود افزونه ی FLutter هم از 11 هزارتا عبور کرده است.
فریم ورک Flutter از یک کد برای تولید رابط کاربری اندروید و آیفون روی GPU استفاده میکند و خروجی آن به صورت ARM محلی است.
فریم ورک Flutter برای طراحی رابط کاربری آیفون و اندروید استفاده میشود و در این هفته نسخه ی بتای سوم آن منتشر شد.
گوگل در این نسخه از زبان برنامه نویسی Dart 2 استفاده میکند. این زبان همان جاوا اسکریپت است با قابلیت های بیشتر (چیزی شبیه TypeScript) .
چند سالی میشد که گوگل کار روی این زبان را متوقف کرده بود اما حالا با جلب شدن توجه ها به سمت TypeScript تلاش میکند در این بازار سهمی داشته باشد.
گوگل اعلام کرد با نرم افزار VS Code به عنوان "شهروند درجه ی اول" برخورد میکند و همه ی آپدیت های Flutter را علاوه بر Android Studio در در VS Code هم قرار میدهد.
افزونه ی زبان دارت برای VS Code بیش از 250 هزاربار دانلود شده و هنوز یک هفته نشده آمار دانلود افزونه ی FLutter هم از 11 هزارتا عبور کرده است.
فریم ورک Flutter از یک کد برای تولید رابط کاربری اندروید و آیفون روی GPU استفاده میکند و خروجی آن به صورت ARM محلی است.
نسخه ی جدید EF Core 2.1 هنوز در حالت RC است اما تا چند هفته ی دیگر نسخه نهایی آن عرضه میشود. در این پست نگاهی می اندازیم به موارد جدیدی که به آن اضافه شده است.
http://codehaks.com/blog/35
http://codehaks.com/blog/35
تهیه ی بسته ی آموزشی کار با دیتابیس در ASP Core 2 تا سه روز با تخفیف 50 درصدی
کد تخفیف : 756156
لینک خرید :
http://codehaks.com/gallery/more/8
کد تخفیف : 756156
لینک خرید :
http://codehaks.com/gallery/more/8
در این دوره ی آموزشی با استفاده از Entity Framework core 2.0 و تکنیک Code First چهار عملیات ایجاد ، حذف ، ویرایش و حذف اطلاعات در دیتابیس را در یک پروژه ی ASP Core 2.0 MVC پیاده می کنیم.
این دوره ی آموزشی به صورت گام به گام شما را با تمامی مراحل ایجاد دیتابیس با تکنیک Code First در ASP Core آشنا می کند. ابتدا یک دیتابیس ایجاد می کنیم و سپس با Migrations در EF Core یک جدول به آن اضافه می کنیم. سپس امکان ایجاد رکورد جدید را با پیاده سازی یک فرم ساده به پروژه اضافه می کنیم. در ادامه صفحات "جزئیات" و ویرایش و حذف را یک به یک پیاده می کنیم و به طور کامل در مورد تکنیکهای این بخش صحبت می کنیم. در ویدیوی آخر ابتدا با روش اضافه کردن چند رکورد همزمان آشنا می شویم و فیلد جدید به دیتابیس جاری اضافه می کنیم تا روش تغییر و بروز رسانی در در دیتابیس را مرور کرده باشیم.
در طی این دوره به مفاهیمی چون Dependency Injection و Logging در ASP Core می پردازیم. همچنین نگاهی به قوانین HTTP و دیتابیس Sqlite می اندازیم. همه ی پروژه از صفر درون VSCode پیاده میشود و از دستورات CLI در دات نت کور در کنار دستورات خط فرمان EF استفاده می شود. همچنین در این پروژه از Tag Helper ها استفاده شده و نحوه ی کار و پیاده سازی آنها به طور مفصل بحث شده است.
این دوره به مدت 1 ساعت و 52 دقیقه و در 15 ویدیو با کیفیت 720 پیکسل آماده شده و 185 مگابایت حجم دانلود دارد. سورس پروژه هم در کنار ویدیو ها قرار گرفته است.
این دوره ی آموزشی به صورت گام به گام شما را با تمامی مراحل ایجاد دیتابیس با تکنیک Code First در ASP Core آشنا می کند. ابتدا یک دیتابیس ایجاد می کنیم و سپس با Migrations در EF Core یک جدول به آن اضافه می کنیم. سپس امکان ایجاد رکورد جدید را با پیاده سازی یک فرم ساده به پروژه اضافه می کنیم. در ادامه صفحات "جزئیات" و ویرایش و حذف را یک به یک پیاده می کنیم و به طور کامل در مورد تکنیکهای این بخش صحبت می کنیم. در ویدیوی آخر ابتدا با روش اضافه کردن چند رکورد همزمان آشنا می شویم و فیلد جدید به دیتابیس جاری اضافه می کنیم تا روش تغییر و بروز رسانی در در دیتابیس را مرور کرده باشیم.
در طی این دوره به مفاهیمی چون Dependency Injection و Logging در ASP Core می پردازیم. همچنین نگاهی به قوانین HTTP و دیتابیس Sqlite می اندازیم. همه ی پروژه از صفر درون VSCode پیاده میشود و از دستورات CLI در دات نت کور در کنار دستورات خط فرمان EF استفاده می شود. همچنین در این پروژه از Tag Helper ها استفاده شده و نحوه ی کار و پیاده سازی آنها به طور مفصل بحث شده است.
این دوره به مدت 1 ساعت و 52 دقیقه و در 15 ویدیو با کیفیت 720 پیکسل آماده شده و 185 مگابایت حجم دانلود دارد. سورس پروژه هم در کنار ویدیو ها قرار گرفته است.