بایگانی دسته: وبلاگ

نمودار سوئیفت چیست و چگونه می توان از آنها استفاده کرد؟

نمودار سوئیفت چیست و چگونه می توان از آنها استفاده کرد؟


Swift Charts یک چارچوب جدید SwiftUI است که اجازه ایجاد نمودارهای سفارشی را می دهد که می توانند داده های شما را در قالب بصری نشان دهند. این برای توسعه دهندگانی است که از SwiftUI برای ارائه داده های خود استفاده می کنند. امروز مهندسان DEV IT ما نگاهی به چارچوب و نحوه استفاده از آن در چارچوب شما خواهند داشت توسعه اپلیکیشن iOS روند.

راه اندازی نمودار سوئیفت

اپل از انتشار نمودار سوئیفت در WWDC 2022 خبر داد و از آن زمان دنیای توسعه iOS را تکان داد. روشی که نمودارها می‌توانند داده‌ها را به نمودارهایی با درک آسان تبدیل کنند، بسیار شگفت‌انگیز است.

نکته ای که باید به آن توجه کنید این است که نمودارهای سوئیفت از Xcode 14.0 به بعد در دسترس هستند، به این معنی که احتمالاً قبل از استفاده از این نمودارها باید نرم افزار خود را به روز کنید.

بیایید ابتدا نمودارها را مورد بحث قرار دهیم:

همانطور که قبلاً می دانید، نمودارها نمایش های بصری داده ها هستند که درک داده های پیچیده را از طریق گرافیک برای افراد آسان تر می کنند. انواع مختلف داده ها ممکن است به انواع مختلفی از نمودارها برای نمایش نیاز داشته باشند.

نمودارها توضیح و مقایسه انواع مختلف داده‌ها مانند فروش، درآمد، داده‌های بازار و داده‌های ماهانه، فصلی و سالانه را آسان می‌کنند.

نمودارهای سریع:

چیزی که نمودار سوئیفت را از نمودارهای عمومی متمایز می کند و آنها را برای اکثر توسعه دهندگان مفید می کند، این واقعیت است که آنها با حداقل کد کار می کنند. با نمودار سوئیفت، می‌توانید داده‌های مربوط به کد خود را در نمودارهای مختلفی ارائه کنید که هماهنگی با تیم خود را آسان می‌کند.

این نمودارها همچنین از ویژگی‌های مختلفی مانند دسترسی، محلی‌سازی و انیمیشن پشتیبانی می‌کنند و می‌توانند در پلتفرم‌های مختلف مانند iOS، iPadOS، watchOS، macOS و tvOS استفاده شوند.

مراحل پیاده سازی نمودار سریع:

اکنون که می دانید نمودارهای سوئیفت چیست و مزایای آن ها چیست، اجازه دهید نگاهی به پیاده سازی آن ها بیندازیم. ابتدا باید یک پروژه جدید با استفاده از SwiftUI از Xcode 14.0 یا جدیدتر ایجاد کنید.

نمودارها را وارد کنید سپس از نمودار مانند کد زیر استفاده کنید

در نمودار { … } انواع مختلفی از کاراکترها را برای ایجاد نمودارهای مختلف اضافه می‌کنیم. برند همان چیزی است که در نمودارها می بینیم.

بیایید در نمودارهای سریع درباره مارک بیشتر بیاموزیم

انواع برندها:

اینها رایج ترین انواع کاراکترهایی هستند که هنگام استفاده از نمودارهای سوئیفت با آنها روبرو خواهید شد.

  • بارمارک
  • LineMark
  • علامت نقطه
  • AreaMark
  • RuleMark
  • RectangleMark

بارمارک:

از BarMark برای ایجاد نمودار میله ای استفاده می شود. نمودارهای میله ای نشان دهنده افقی یا عمودی است و معمولاً برای نشان دادن دسته های مختلف داده استفاده می شود. این نمودارها هنگام مقایسه دسته های مختلف داده ها بسیار مفید هستند و می توانند با کمترین کد و تلاش با استفاده از کد زیر ایجاد شوند.

در مثال زیر یک ساختار و یک آرایه برای ایجاد چندین میله ایجاد کرده ایم. می‌توانیم آرایه‌ای از داده‌ها را به Chart Initializer اضافه کنیم یا می‌توانیم یک حلقه For اضافه کنیم.

توجه داشته باشید: ساختار باید مطابقت داشته باشد قابل شناسایی پروتکل

نمودار میله ای افقی:

BarMark همچنین از نوارها برای ارائه افقی پشتیبانی می کند.

به سادگی مقادیر محور x و y را تغییر دهید تا نمودار میله ای خود را به صورت افقی نشان دهد.

نمودار میله ای 1 بعدی:

با استفاده از BarMark می توانیم داده ها را در یک جهت نیز نمایش دهیم.

برای نمایش نمودار میله ای در یک جهت، می توانیم از PlottableValue زیر استفاده کنیم:

init(x:yStart:yEnd:width:stacking:)

در مثال زیر از ویژگی سبک پیش زمینه استفاده کردم.

ویژگی سبک پیش زمینه رنگ های مختلفی را برای داده های مختلف ارائه می دهد. ویژگی سبک پیش زمینه به طور خودکار رنگ های مختلف را تنظیم می کند تا بتوانیم به راحتی آنها را تشخیص دهیم.

در مثال زیر از ویژگی نماد استفاده کردم.

ویژگی Symbol نمادهای داده مختلفی را ارائه می دهد.

ویژگی Symbol به طور خودکار نمادهای مختلفی را تنظیم می کند تا بتوانیم به راحتی داده های مختلف را با هم مقایسه کنیم.

علامت خط:

LineMark برای ایجاد نمودار خطی استفاده می شود.

نمودار خطی معمولا برای نمایش آمار استفاده می شود. به عنوان رشد سالانه شرکت.

علامت نقطه:

PointMark برای ایجاد نمودار نقطه ای استفاده می شود.

نمودار پراکندگی رابطه بین دو مجموعه داده را نشان می دهد.

علامت منطقه:

AreaMark برای ایجاد نمودار منطقه استفاده می شود.

نمودار مساحتی معمولاً برای مقایسه یک یا چند دسته در طول زمان استفاده می شود.

RectangleMark:

RectangleMark برای ایجاد نمودار مستطیلی استفاده می شود.

نمودار مستطیلی برای نشان دادن مقادیر خاص استفاده می شود. به عنوان میانگین یا شکست تجاری.

علامت قانون:

RuleMark برای ایجاد نمودار قوانین استفاده می شود.

نمودار قانون برای نمایش قوانین افقی یا عمودی روی نمودار استفاده می شود.

روش های نمودار سریع:

روش درونیابی:

با استفاده از این روش می توانیم اشکال را به نمودار تبدیل کنیم. شکل نمودار خطی پیش فرض خطی است.

سبک پیش زمینه:

با استفاده از این روش می توانیم رنگ نمودار را تعیین کنیم.

کدورت:

با استفاده از این روش می توانیم کدورت نمودار را بین 0 تا 1 تغییر دهیم.

شعاع گوشه:

با استفاده از این روش می توانیم شعاع گوشه نمودار را تعیین کنیم.

chartXScale و chartYScale:

نمودار سریع به طور خودکار مقیاس را از روی داده ها تنظیم می کند. با استفاده از این روش می توانیم مقیاس نمودار را ثابت کنیم.

chartXAxis و chartYAxis:

با استفاده از این روش ها می توانیم محور X یا Y را مخفی کنیم.

روش های بیشتری وجود دارد. لطفاً از اسناد Swift Chart در اینجا دیدن کنید تا روش‌ها و ویژگی‌های بیشتری را بررسی کنید.

ویژگی های نمودار سوئیفت:

ترکیب گرافیک:

نمودار سریع به راحتی قابل سفارشی کردن است. همچنین می توانیم چندین نمودار را با هم ترکیب کنیم.

من چند نمونه از نمودارهای ترکیبی و نتایج آنها را در زیر اضافه کرده ام.

صداگذاری:

VoiceOver برای ارائه توضیحات صوتی از داده های نمودار استفاده می شود.

نمونه ای از ادغام VoiceOver در گرافیک.

مزایای نمودار سوئیفت:

  • آسان برای ایجاد
  • در دسترس
  • طرح
  • پشتیبانی از چند پلتفرم
  • انیمیشن

ویژگی های پشتیبانی شده از Xcode برای نمودارهای سریع:

  • گزینه های طرح رنگ: نمودارها را در حالت روشن و تاریک نمایش می دهد
  • Orientation Variants: نموداری را با جهت گیری متفاوت نمایش می دهد
  • Dynamic Type Variants: نموداری را با اندازه فونت های مختلف نشان می دهد

لینک مرجع:

اسناد Swift Charts: https://developer.apple.com/documentation/charts

نتیجه

امیدواریم این اطلاعات به شما در درک بهتر مزایای استفاده از نمودار سوئیفت در خود کمک کرده باشد شرکت توسعه اپلیکیشن موبایل. اگر سوالی دارید یا می خواهید یک وبلاگ در مورد موضوع فنی دیگری درخواست کنید، لطفاً در زیر نظر دهید.

The post نمودار سوئیفت چیست و چگونه می توان از آنها استفاده کرد؟ اولین بار در DEV IT Journal ظاهر شد.

یک آموزش ساده در مورد چارچوب اتصال چند همتا در سوئیفت


چارچوب اتصال Multipeer از اپل به طور گسترده ای برای کشف دستگاه های نزدیک شناخته شده است. هنگامی که این چارچوب سوئیفت توسعه یافت، اتصالی را فعال می‌کند که از ارتباط این سرویس‌ها از طریق پیام‌رسانی، پخش جریانی و منابع دیگر پشتیبانی می‌کند.

این دو دستگاه می توانند از طریق بلوتوث یا وای فای به یکدیگر متصل شوند. توسعه دهندگان می توانند از این فریم ورک سوئیفت برای ساخت بازی های ساده و برنامه های چت استفاده کنند.

هنگام ساخت راه‌حل‌های iOS، چارچوب اتصال چندهمتا از شبکه‌های Wi-Fi، Wi-Fi نظیر به نظیر و بلوتوث برای اتصال استفاده می‌کند. اما در macOS و tvOS، این فریم ورک از Wi-Fi، Peer-to-Peer Wi-Fi و Ethernet استفاده می کند. بنابراین بسته به نوع رابطه، رویکرد شرکت توسعه اپلیکیشن موبایل ممکن است تغییر کند.

کار با MC Framework

اولین گام در پیاده سازی این فریم ورک این است که همان را با استفاده از تابع import وارد کنید. شما با این شروع خواهید کرد؛

وارد كردن اتصال چندگانه

این ویژگی به توسعه دهنده اجازه می دهد تا با کلاس های Multipeer Connectivity کار کند و از توابع آن در فایل استفاده کند.

برای اینکه یک برنامه کاربردی با فریم ورک MC کار کند، باید با معماری خاصی از جمله:

شناسه های شریک:

MCPeerID شناسه منحصر به فرد برنامه در حال اجرا بر روی دستگاه است که برای همتایان نزدیک قابل مشاهده است.

از آنجا که این شناسه به طور منحصربه‌فرد یک همتای جلسه را شناسایی می‌کند، کاربران همچنین می‌توانند یک displayName را به شناسه اختصاص دهند که برای سایر همتایان در شبکه قابل مشاهده باشد.

این به توسعه دهندگان اجازه می دهد تا هر بار که یک جلسه ایجاد می کنند، یک نام PeerID جدید تعیین کنند. یا می توانند از یک نام برای هر جلسه استفاده کنند و شناسه را در زمان ایجاد آن ذخیره کنند. آنها همچنین باید بار بعدی که یک جلسه ایجاد می شود، نام شناسه را باز کنند.

اشیاء جلسه:

MCSession ارتباط بین دستگاه های همتا متصل را امکان پذیر می کند. پس از اینکه شرکا درخواست اتصال را پس از دریافت دعوت نامه پذیرفتند، برنامه یک اتصال ایجاد می کند و شرکای اضافه می کند. هدف از اشیاء جلسه حفظ مجموعه ای از اشیاء شناسایی دستگاه همتا مرتبط با همتایان متصل به شبکه است.

MCSession با یک کلاس مدیر نشان داده می شود که تمام اتصالات چندپایه را مدیریت و مدیریت می کند. در یک جلسه، همتایان می توانند با یکی از روش های زیر ارتباط برقرار کرده و داده ها را ارسال کنند.

  • ارسال (_:toPeers:with:)
  • جلسه (_:didReceive:fromPeer:)
  • sendResource(در:withName:toPeer:withCompletionHandler:)

علاوه بر این، ما همچنین می توانیم شرکا را به صورت دستی مدیریت کنیم که شامل برقراری ارتباط و تبادل داده می شود.

MCSession همچنین دارای یک نماینده (MCSessionDelegate) است که تمام رویدادهای مربوط به جلسه را مدیریت می کند.

ما می توانیم از راه های زیر برای مدیریت تمام حالت های مختلف جلسه استفاده کنیم.

MCSessionDelegate پروتکلی است که روش استفاده شده توسط نماینده جلسه اصلی را تعریف می کند. این جلسه نماینده، اجرای رویدادهای مربوط به جلسه را مدیریت می کند. یک متد delegate اقداماتی مانند یک حلقه یا صف عملیاتی را که برای تکمیل یک جلسه مورد نیاز است انجام می دهد.

اشیاء تبلیغ کننده:

MCNearbyServiceAdvertiser به یک دستگاه همتای نزدیک اجازه می دهد که برنامه سعی می کند یک نوع خاص اتصال برقرار کند. این شی از یک همتا یا موجودیت محلی برای ارائه اطلاعات لازم برای شناسایی دستگاه استفاده می کند. علاوه بر این، شی Advertiser همچنین به تشخیص سایر دستگاه های نزدیک کمک می کند.

اشیاء دستیار تبلیغ کننده:

MCAdvertiserAssistant مشابه Advertiser Objects کار می کند، اما ویژگی دیگری را به ترکیب اضافه می کند. همچنین یک رابط کاربری استاندارد فراهم می کند که از آنجا کاربر می تواند دعوت نامه اتصال را بپذیرد.

علاوه بر رابط، the دستیار تبلیغ همچنین وظیفه سازماندهی جلسه و اطلاع رسانی به دیگران از شروع آن را دارد. از آنجایی که ما از این کلاس ویژگی برای تخصیص UI استفاده می کنیم، می توانیم از طریق این کلاس یک جلسه را میزبانی کنیم یا به آن بپیوندیم.

به دنبال این اسکریپت کد، جلسه در دستگاه های نزدیک لیست می شود. با نامی که در ابتدای جلسه MCPeerID ارائه کردیم نمایش داده می شود.

اشیاء مرورگر:

MCNearbyServiceBrowser به برنامه اجازه می دهد تا دستگاه های اطراف را با برنامه هایی که از جلسات پشتیبانی می کنند جستجو کند. با این حال، جلسات پشتیبانی شده از نوع خاصی هستند.

اشیاء کنترل کننده نمای مرورگر:

MCBrowserViewController دسترسی به یک رابط کاربری استاندارد را فراهم می کند. با استفاده از این رابط کاربری، به کاربر این امکان را می دهد که بین همتایان مختلف اطراف خود یکی را انتخاب کرده و آنها را به جلسه شبکه اضافه کند.

با این کد اسکریپت می توانیم به همتایان اجازه دهیم به یک جلسه بپیوندند. اعلان این عملکرد در iOS، iPad، tvOS و macOS متفاوت است. در سه نوع اول سیستم می توانیم استفاده کنیم.

علاوه بر این، ما برای macOS استفاده خواهیم کرد؛

هنگامی که کاربر به دنبال جلسه ای برای پیوستن است، باید از MCSessionViewController برای نمایش نام جلسات و افراد نزدیک استفاده کنیم. در نتیجه، می‌توانیم به کاربران جدید اجازه دهیم به جلسه بپیوندند. برای این منظور باید از متد delegate برای MCBrowserVewController استفاده کنیم.

با کار بر روی این معماری، چارچوب MC در دو فاز کار می کند. این مرحله کشف و جلسه است. در مرحله کشف، توسعه دهنده از MCNearbyServiceBrowser و MCBrowserViewController استفاده خواهد کرد. در مرحله جلسه، توسعه‌دهنده از MCNearbyServiceAdvertiser و MCAdvertiserAssistant استفاده خواهد کرد.

در حین استفاده از چارچوب MC، توسعه دهندگان پیاده سازی کل ساختار را آسان تر خواهند کرد، اگرچه ممکن است کمی پیچیده به نظر برسد. ما به شما در درک اجرای این چارچوب کمک خواهیم کرد.

ارسال و دریافت داده ها در یک جلسه همتا به همتا

اگرچه ما یاد گرفتیم که چگونه یک اتصال برقرار کنیم، یک نام منحصر به فرد اختصاص دهیم و به کاربران اجازه دهیم یک جلسه را در یک برنامه توسعه یافته توسط فریمورک سوئیفت مشاهده کنند و به آن بپیوندند. حال بیایید نحوه ارسال و دریافت داده ها را در جلسه بررسی کنیم.

ابتدا باید داده‌هایی را که باید در جلسه و زمان ارسال شوند شناسایی کنیم. اگرچه کاربران می توانند همین کار را با کلیک یک دکمه انجام دهند، در اینجا اسکریپت کد برای اجرا آمده است.

برای ارسال داده، باید به نوع Data() فرمت شود. به عنوان مثال، اگر می خواهید تصاویری را ارسال کنید، یک راه خوب برای نشان دادن همان روش، متد ()pngData است.

در همان زمان، ما باید یک کد اسکریپت برای دریافت داده از جلسه پیاده سازی کنیم. بیشتر اوقات، دستگاهی که کاربر از طریق آن داده ها را دریافت می کند، می داند که با آن چه کاری انجام دهد.

با این حال، در چارچوب MC، نحوه برخورد با داده های دریافتی به نوع داده بستگی دارد. می‌توانیم از روش زیر برای تصمیم‌گیری درباره اینکه چه اتفاقی برای داده‌های دریافتی روی یک دستگاه می‌افتد استفاده کنیم.

ما می توانیم از چارچوب اتصال چند همتا برای ایجاد ارتباط بین همتایان و دستگاه های مختلف استفاده کنیم.

نتیجه

چارچوب MC یک روش ارتباطی برای اتصال دستگاه های مختلف iOS و انتقال داده ها بین آنها است. این فریم ورک لایه ای را فراهم می کند که در بالای پروتکل Bonjour کار می کند.

با این حال، برای اینکه این کار روی پروتکل Bonjour کار کند، باید خدمات را با کلید NSBonjourServices اعلام کنیم.

اپل این فریم ورک را معرفی کرد تا به یک برنامه کمک کند تا آنچه را که در اطراف آن است کشف کند و اتصالات را از هر دو طرف باز کند. یادگیری این فریم ورک برای یک شرکت سازنده اپلیکیشن iOS ضروری است. شرکت توسعه اپلیکیشن های سیستم عامل زیرا در ایجاد برنامه های بهتر مفید خواهد بود.

The post A Simple Tutorial on Swift Multiplexing Framework اولین بار در DEV IT Journal ظاهر شد.

مقدمه ای بر Wear OS 3.0 و فرآیند توسعه اپلیکیشن آن


Wear OS 3.0 آخرین به روز رسانی سیستم عامل ساعت هوشمند گوگل تا به امروز است. در می 2021 در کنفرانس توسعه دهندگان I/O گوگل اعلام شد و در آگوست همان سال منتشر شد.

همزمان با افزودن قابلیت‌های جدید به ساعت‌های هوشمند اندرویدی موجود، Wear OS 3.0 نیز به‌طور شگفت‌انگیزی به Galaxy Watch 4 سامسونگ اضافه شد، که سوئیچ سیستم‌عامل ساعت هوشمند خود سامسونگ بود.

در مقابل، ساعت‌های هوشمند Fossil که از اولین روزهای خود به عنوان Android Wear از سیستم عامل Wear OS استفاده می‌کردند، در نیمه دوم سال 2022 به‌روزرسانی سیستم‌عامل را دریافت می‌کردند. در مورد ساعت‌های هوشمند غیر از Fossil، Samsung و Fitbit، گوگل هنوز این نسخه را فاش نکرده است. تاریخ برای به روز رسانی

Wear OS 3.0 از برنامه های شخص ثالث پشتیبانی عالی دارد و دارای ویژگی های ارتباطی متنوعی از جمله NFC، بلوتوث و Wi-Fi است.

در اینجا چند تصویر از طراحی جدید Wear OS آورده شده است:

مشخصه

ویژگی‌های Wear OS 3.0 امکان ادغام بیشتر با سرویس‌های Google و همچنین برنامه‌های شخص ثالث را فراهم می‌کنند. مال شما شرکت توسعه اپلیکیشن موبایل می‌تواند برنامه‌هایی را که ساعت هوشمند اندرویدی به طور کامل از آن‌ها پشتیبانی می‌کند، مستقر کند.

به غیر از برنامه‌ها، گوگل کاشی‌های برنامه‌های خود را برای برنامه‌های محبوب نیز به‌روزرسانی کرده است و حس تازه‌ای را به سیستم عامل جدید می‌دهد. همانند نسخه‌های قبلی، Wear OS 3.0 می‌تواند اعلان‌ها را از یک تلفن هوشمند جفت شده همگام‌سازی کند.

برنامه‌های Wear OS 3.0

برخی از برنامه های جدید wear OS 3.0 عبارتند از:

  • یوتیوب
  • نقشه های گوگل
  • Spotify
  • آدیداس رانینگ

رابط ارتقا یافته

ارتقاء رابط کمک می کند تا چندین عمل بسیار آسان تر از قبل شود. این امر توسط دستیار به روز شده Google بهبود یافته است، که کنترل پوشیدنی خود را فقط با صدای خود آسان می کند.

یک برنامه شخص ثالث برای پشتیبانی از Wear OS

Google پشتیبانی از چندین برنامه شخص ثالث را به Wear OS 3.0 اضافه کرد. APIهایی نیز ایجاد شده اند تا به توسعه دهندگان کمک کنند تا توسعه اپلیکیشن اندروید خود را با مراحل کمتری نسبت به قبل تکمیل کنند.

برنامه ها را تغییر دهید

یکی دیگر از ویژگی‌های جدید و بهبود یافته در Wear OS 3.0 تغییر برنامه‌ها با دو بار ضربه زدن روی یکی از دکمه‌های ساعت است.

وقتی برنامه تغییر می‌کند، در حالی که هنوز باز است، از منابع کمتری در پس‌زمینه استفاده می‌کند و جابه‌جایی بین برنامه‌ها را بسیار آسان می‌کند. همچنین، راه‌انداز برنامه جدید، برنامه‌هایی که اخیراً باز شده‌اند را در بالا نشان می‌دهد.

سیستم عامل بپوشید تمدید شد دیالوگ ها

Wear OS 3.0 همچنین هشدارهای تمام صفحه را اضافه کرد که می توانند به عنوان مقصد ناوبری یا گفتگوهای سنتی تمام صفحه استفاده شوند.

ایجاد یک برنامه Wear OS 3.0

هنگامی که ما برنامه های تلفن همراه را توسعه می دهیم، معمولاً فقط روی تبلت ها و تلفن های هوشمند تمرکز می کنیم. با این حال، Wear OS 3.0 قابلیت‌های جدیدی را به ارمغان می‌آورد که همچنین باید توسعه‌دهندگان را ترغیب کند تا شروع به ساخت اپلیکیشن برای پوشیدنی‌های اندرویدی کنند. در اینجا نحوه انجام آن آمده است:

یک پروژه Wear OS را شروع کنید

  • روی File > New > New Project کلیک کنید.
  • در پنجره Template، روی تب Wear OS کلیک کنید، Blank Activity را انتخاب کنید و روی Next کلیک کنید.
  • در پنجره New Project نامی به پروژه خود بدهید و روی Done کلیک کنید.

این تگ را اضافه کنید در فایل مانیفست اندروید و آن را تعریف کنید android:name=”android.hardware.type.watch” همانطور که در مثال نشان داده شده است





چگونه یک ماژول Wear OS را به پروژه خود اضافه کنید

  • روی File > New > New Module کلیک کنید.
  • در New Module، Wear OS Module را انتخاب کرده و روی Next کلیک کنید.
  • در قسمت پیکربندی ماژول جدید، وارد شوید
  • همان نام بسته ماژول تلفن خود را وارد کنید.
  • پس از کلیک بر روی Next. چندین گزینه الگوی کد را مشاهده خواهید کرد. روی Empty Wear OS Activity کلیک کنید و Next را بزنید.

بنابراین ساختار به این شکل خواهد بود

  • ماژول تلفن همراه که برنامه تلفن در آن کد می‌گیرد.
  • ماژول لباس جدید که کد برنامه Wear در آن قرار دارد.

لینک های خارجی: https://wearos.google.com/#uniquely-you

نکته پایانی

امیدواریم از یکی دیگر از وبلاگ های ما لذت برده باشید آن را توسعه دهید مهندسان اگر می خواهید در مورد موضوع دیگری در دنیای توسعه نرم افزار بیاموزید، لطفاً در زیر نظر دهید و ما نیز در مورد آن می نویسیم.

The post مقدمه ای بر Wear OS 3.0 و فرآیند توسعه اپلیکیشن آن اولین بار در DEV IT Journal ظاهر شد.

چگونه برنامه های یونی را با استفاده از ویرایشگر متن غنی توسعه دهیم؟


ساخت برنامه های Ionic به لطف سازگاری بین پلتفرمی که جعبه ابزار ارائه می دهد، عموما راحت تر است. امروز مال ما آن را توسعه دهید مهندسان فرآیند استفاده از ionic برای ساخت برنامه های React را از طریق ویرایشگر متن غنی توضیح خواهند داد.

بیایید ابتدا در مورد ویرایشگر متن غنی بحث کنیم

یک ویرایشگر متن غنی ویرایشگری است که از گزینه های قالب بندی مانند فونت، رنگ، اندازه، تراز متن، تورفتگی و غیره پشتیبانی می کند. ویرایشگر متن غنی به راحتی متن شما را بدون هیچ گونه مداخله ای به زبان نشانه گذاری فرامتن (HTML) تبدیل می کند.

به همین دلیل، ویرایشگرهای متن غنی معمولاً به عنوان ویرایشگرهای WYSIWYG (آنچه می بینید همان چیزی است که دریافت می کنید) شناخته می شوند و ابزار انتخابی برای اکثر افراد هستند. شرکت های توسعه اپلیکیشن موبایل بیرون وجود دارد.

برای مثال امروز ما استفاده خواهیم کرد ویرایشگر متن غنی Quill. قبل از اینکه مستقیماً وارد آن شویم، بیایید درباره ویرایشگر متن غنی Quill بیشتر بدانیم.

ویرایشگر متن غنی Quill

Quill یک ویرایشگر WYSIWYG رایگان، منبع باز و قابل تنظیم است. این برای وب مدرن ساخته شده است و توسط API ویرایشگر متن غنی طراحی شده است. Quill همچنین از برنامه های کاربردی cross-platform پشتیبانی می کند و آن را به ابزاری مهم برای توسعه دهندگان تبدیل می کند. پیاده سازی ویرایشگر متن غنی در یک برنامه Ionic بسیار آسان است.

برای امروز ما از npm برای استقرار قلم در برنامه Ionic استفاده خواهیم کرد.

مراحل ذکر شده در زیر را دنبال کنید:

مرحله ی 1: دستورات زیر را در پروژه یونی خود اجرا کنید

گام 2: سبک تم bubble.css یا snow.css را به آن اضافه کنید quill.js به global.css

مرحله 3: برای فعال کردن انتخاب متن کد زیر را اضافه کنید global.scss. Ionic به طور پیش فرض انتخاب کاربر را در همه جا غیرفعال می کند.

مرحله 4: واردات QuillModule به app.module.ts

سپس اضافه کنید QuillModule به واردات از NgModule

مرحله 5: واردات QuillModule به طور خاص برای صفحه module.ts

سپس اضافه کنید QuillModule به واردات از NgModule

سپس فقط اضافه کنید به page.html شما و کار شما تمام است. شما می توانید ویرایشگر متن غنی خوب را در برنامه خود مشاهده کنید.

گزینه های پیکربندی Quill Rich Text Editor:

تنظیمات لازم را در QuillModule مطابق شکل زیر تنظیم کنید:

تنظیمات مفید:

  • ngModel: یک مقدار و اتصال داده دو طرفه را برای یک فرم مبتنی بر الگو تنظیم کنید
  • formControl/formControlName: مقدار و اتصال داده دو طرفه را برای فرم واکنشی تنظیم کنید
  • فقط خواندنی: ویژگی Read Only را روی true یا false قرار دهید
  • سبک ها: یک شیء سبک تنظیم کنید
  • جایگزین: ظرف را روی ظرف تنظیم کنید
  • اجباری: درست یا نادرست را برای فیلد مورد نیاز تنظیم کنید. مقدار پیش فرض غلط است
  • حداکثر طول: حداکثر طول را تنظیم کنید
  • دقیقه طول: حداقل طول را تنظیم کنید
  • ضد عفونی کردن: برای پاکسازی HTML، مقدار true یا false را روی Angular DomSanitizer قرار دهید
  • ماژول ها: برای پیکربندی/غیرفعال کردن ماژول های quill.
  • قالب: این قالب 4 گزینه “HTML”، “object”، “JSON” و “text” را ارائه می دهد. ویرایشگر “HTML” را به عنوان فرمت پیش فرض تنظیم کرد.

گزینه های قالب بندی انواع بازگشت:

– html = رشته html

– شی = شیء کار قلم

– json = عملیات کویل json

– متن = متن ساده

ویرایشگر تمام تنظیمات را به صورت پیش فرض تنظیم می کند.

در اینجا ماژول ها و نتایج مورد نظر را همانطور که در زیر نشان داده شده است اضافه کرده ام:

پیکربندی مثال – 1:

پیکربندی مثال – 2:

پیکربندی مثال – 3:

پیکربندی مثال – 4:

پیکربندی مثال – 5:

پیکربندی فوق عملکرد زیر را ارائه می دهد:

  • فوق العاده / زیرنویس
  • تورفتگی / تورفتگی
  • جهت متن
  • منوی کشویی سفارشی سازی اندازه فونت و هدر
  • تمام ویرایش ها را پاک کنید

Quill Rich Text Editor رویدادهای نشان داده شده در زیر را ارائه می دهد:

  • onContentChanged: زمانی که متن به روز می شود، تماس گرفته می شود
  • onSelectionChanged: هنگامی که انتخاب به روز می شود، فراخوانی می شود
  • onEditorChanged: هنگامی که متن یا انتخاب تغییر می کند، فراخوانی می شود
  • onFocus: زمانی فراخوانی می شود که ویرایشگر فوکوس داشته باشد
  • onBlur: زمانی که ویرایشگر تار می شود، فراخوانی می شود

بنابراین، با استفاده از مراحل، پیکربندی و روش های زیر، می توانید به راحتی Quill Rich Text Editor را در برنامه های Ionic خود پیاده سازی کنید.

نتیجه

امیدواریم اطلاعات ذکر شده در این وبلاگ برای شما مفید بوده و به راحتی قابل پیگیری باشد. اگر بله، لطفا آن را با همکاران خود که ممکن است از آن بهره مند شوند به اشتراک بگذارید.

اگر سؤالی در مورد برنامه‌های ionic دارید، می‌توانید آن‌ها را در زیر نظر دهید و ما در اسرع وقت با شما تماس خواهیم گرفت. علاوه بر این، اینجا مستندات ابزارهای مورد استفاده امروز است و کلیک کنید اینجا برای پشتیبانی مربوط به npm

 

پست چگونه با استفاده از یک ویرایشگر متن غنی برنامه های یونی توسعه دهیم؟ اولین بار در DEV IT Journal ظاهر شد.

نحوه میزبانی برنامه های بدون سرور برای صرفه جویی در هزینه ها در توسعه Node.js


ایجاد یک دروازه API در یک گره بدون سرور می تواند به سازمان شما کمک کند تا هزینه های محاسباتی را کاهش دهد. امروزه چندین گزینه بدون سرور در دسترس توسعه دهندگان است، از جمله خدمات ابری مدیریت شده مانند Firebase، Google Cloud و AWS.

این ارائه دهندگان ابری، برنامه های بدون سرور را قادر می سازند تا با خدمات و چارچوب های محاسباتی نسل بعدی ساخته شوند.

امروز، مهندسان DEV IT ما به شما نشان می‌دهند که چگونه می‌توان از AWS Lambda، API Gateway و چارچوب بدون سرور برای ساخت REST API استفاده کرد.

AWS Lambda سومین سرویس محاسبات ابری از آمازون است و با هر دو EC2 (Elastic Compute Cloud) و ECS (Elastic Container Service) متفاوت است زیرا زمانی که یک رویداد ماشه ای رخ می دهد، کد را اجرا می کند.

AWS Lambda در حال حاضر دارای پشتیبانی توسعه برای جاوا، پایتون و Node.js با زبان های برنامه نویسی بیشتری است که در آینده اضافه خواهند شد.

فریم ورک بدون سرور چیست؟

قبل از پرداختن به این فرآیند، مهم است که بدانید چارچوب بدون سرور چیست و چگونه کار می کند.

بدون سرور به عنوان یک چارچوب چند فروشنده وجود دارد که به شما امکان می دهد برنامه های سرور را با استفاده از دیگران بسازید ارائه دهندگان خدمات ابری اگر بخواهید از AWS. در مورد AWS Lambda، از CloudFormation استفاده می کند. این به او اجازه می دهد تا ساختار پروژه را بسازد و عملکردهای آن را به روشی روان اجرا کند.

چرا از سرور بدون سرور استفاده کنیم؟

اگر شما یا کارفرمایتان هنوز متقاعد نشده اید که از یک برنامه بدون سرور مبتنی بر ابر به جای برنامه میزبانی شده روی سرور استفاده کنید، در اینجا چند دلیل برای تغییر نظر وجود دارد:

  • هزینه های از دست رفته و نگهداری
  • آسان به مقیاس

برنامه های بدون سرور مشابه مدل پرداخت به ازای کلیک مورد استفاده در تبلیغات آنلاین هستند.

در اینجا شما به ازای هر درخواست پرداخت می کنید و بنابراین در هزینه های سرور در زمانی که از آن استفاده نمی شود صرفه جویی می کنید. همچنین سرور خود نگهداری می شود و بنابراین تنها چیزی که باید نگران آن باشید کد خود است.

شروع کار با چارچوب بدون سرور

1. برای نصب Serverless روی دستگاه خود، دستور npm زیر را اجرا کنید.

$ npm نصب بدون سرور -g

2. کد ذکر شده در زیر را در فایل index.ts خود اضافه کنید

3. نام دایرکتوری را از public به tmp تغییر دهید.

4. در تمامی فایل های موجود کلمه public را با tmp جایگزین کنید.

API Gateway چیست؟

Amazon API Gateway یک سرویس کاملاً مدیریت شده است که به توسعه دهندگان این امکان را می دهد تا APIهایی را در مقیاس ایجاد، انتشار، نگهداری، نظارت و ایمن کنند.

با API Gateway یک URL API ایجاد کنید

1. به کنسول API Gateway بروید و روی Build in HTTP API کلیک کنید.

2. نام را وارد کنید و روی Browse and Create کلیک کنید

3. دکمه ایجاد را فشار دهید و خواهید دید که فراخوانی شده است

4. با کلیک کردن روی URL تماس، بررسی کنید که آیا API شما در دسترس است

S3 چیست؟

سطل ها ظروفی هستند که آمازون S3 اطلاعات و اشیاء را در آن ذخیره می کند. شما می توانید چندین شی را از برنامه خود در اینجا ذخیره کنید.

یک فایل .zip را در S3 آپلود کنید

1. یک سطل در s3 ایجاد کنید.

2. یک شی بسازید و یک فایل فشرده با کد گره خود آپلود کنید.

3. URL شی را بررسی کنید.

پیکربندی لامبدا بدون سرور

1. یک تابع در لامبدا ایجاد کنید.

2. یک ماشه در تابع لامبدا اضافه کنید. API Gateway را در پیکربندی تریگر انتخاب کنید. شناسه API را در فیلد اضافه کنید.

3. هنگام آپلود از دکمه مکان S3 را اضافه کنید.

4. URL S3 را در پنجره بازشو اضافه کنید.

نکته پایانی

هنگامی که فرآیند بالا را درک کردید، خواهید دید که میزبانی یک برنامه بدون سرور بسیار ساده تر از میزبانی یک برنامه سنتی است.

اگر در مورد این فرآیند سؤالی دارید یا علاقه مند به یادگیری در مورد موضوع دیگری هستید، در زیر نظر دهید و ما مستقیماً به آن پاسخ خواهیم داد.

پست نحوه میزبانی برنامه های بدون سرور برای صرفه جویی در هزینه ها در توسعه Node.js اولین بار در DEV IT Journal ظاهر شد.

چگونه از Firebase در برنامه های Flutter خود استفاده کنیم؟


Firebase یک ارائه‌دهنده مهم رایانش ابری است، به‌ویژه وقتی صحبت از میزبانی کارآمد برنامه ابری تلفن همراه مبتنی بر flutter به صورت آنلاین باشد. برخلاف AWS، قیمت‌های مقرون‌به‌صرفه‌تری دارد و در عین حال از خدمات پشتیبان مختلف مانند ذخیره‌سازی ابری، تجزیه و تحلیل، پایگاه داده بلادرنگ و غیره پشتیبانی می‌کند.

امروز مهندسان DEV IT ما اصول اولیه استفاده از Firebase برای برنامه flutter شما را در چند مرحله ساده پوشش خواهند داد.

از Firebase در flutter 3.0 استفاده کنید

  • پشتیبانی Firebase:

Firebase یکی از پیشرفته ترین ارائه دهندگان BAAS (Backend-As-A-Service) است. چندین سرویس پشتیبان را ارائه می دهد که استقرار برنامه و توسعه برنامه flutter را به یک فرآیند روان تبدیل می کند.

Firebase خدمات باطنی روشنگری مانند

  • فضای ذخیره ابری
  • پایگاه داده بلادرنگ
  • یادگیری ماشینی (ML)

ادغام هسته Firebase با این پلتفرم قوی تر و قدرتمندتر می شود

  • خدمات وب آمازون (AWS)
  • مایکروسافت آژور
  • گوگل ابرها
  • نیروهای فروش
  • IBM Cloud
  • Oracle Cloud

Firebase هسته ای از اسناد و مخزن Firebase را برای ادغام در برنامه flutter فراهم می کند. علاوه بر این، افزونه های بتا را برای جامعه توسعه دهندگان نیز فراهم می کند.

  • https://firebase.flutter.dev/
  • https://firebase.google.com/codelabs/firebase-get-to-know-flutter#0

علاوه بر این، گوگل در حال توسعه پلاگین های فلیکر جدید است که استفاده از سرویس های firebase را آسان تر می کند.

  • Firebase Crashlytics:

Firebase اخیراً افزونه Flutter Crashlytics را در Flutter 3.0 به روز کرده است. این باعث شد که افزونه نسبت به نسخه قبلی قدرتمندتر شود تا خرابی برنامه را حذف کند و به توسعه دهندگان کمک کند تا برنامه بدون خرابی را ایجاد کنند.

Firebase Crashlytics چندین به روز رسانی جدید دارد که توسعه دهندگان می توانند خطاها و خرابی ها را در زمان واقعی بررسی کنند.

Firebase مدیریت و بررسی خرابی ها را در اختیار مدیر قرار می دهد.

https://firebase.google.com/docs/crashlytics

قابلیت های کلیدی

  • گزارش‌های خرابی انتخاب شده
  • راهکارهایی برای فاجعه رایج
  • با Analytics یکپارچه شده است
  • هشدارهای زمان واقعی

چگونه Firebase Crashlytics را در برنامه Flutter خود پیاده سازی کنید

برای پیاده‌سازی Firebase Crashlytics در برنامه flutter خود، می‌توانید یک وابستگی به pub – firebase_crashlytics: ^نسخه مانند شکل زیر اضافه کنید:

— > پلاگین های Flutter Firebase

تغییر کوتاه: اندروید بومی را به نسخه minSdk مانند 19 به روز کنید زیرا Firebase Android SDK 29.0.0 به این نیاز دارد.

نکته پایانی

استفاده از Firebase می تواند به شما کمک کند تا خودتان را بسازید شرکت توسعه اپلیکیشن موبایل پروژه های بیشتری را با کمترین خرابی و خطا مستقر کنید. فرآیند ساده بالا شما را در کمترین زمان شروع می کند.

با این حال، اگر شما هر گونه سوال و یا ابهامی دارید، لطفا در زیر نظر دهید و ما با شما تماس خواهیم گرفت.

پست چگونه از Firebase در برنامه های Flutter خود استفاده کنیم؟ اولین بار در DEV IT Journal ظاهر شد.

چگونه با React و Node.js معماری میکروسرویس بسازیم


ایجاد یک برنامه کاربردی در حین پردازش می تواند کار دشواری باشد. با این حال، می توانید خط لوله خود را با استفاده از برنامه های کوچکتر برای طراحی عملکردهای فردی و سپس ادغام آنها به سطح جدیدی ببرید. این میکروسرویس‌ها الگوهای معماری هستند که به برنامه‌ها اجازه می‌دهند از مجموعه‌هایی از چندین واحد کوچکتر ساخته شوند.

در این وبلاگ، مال ماست DEWIT مهندسان میکروسرویس‌ها را بررسی می‌کنند و نحوه پیاده‌سازی آن‌ها را در برنامه‌ها و وب‌سایت‌های React و Node.js نشان می‌دهند.

تصویر بالا معماری اساسی یک اپلیکیشن مبتنی بر میکروسرویس را نشان می دهد. در مرحله بعد، اجازه دهید برخی از مزایای ارائه شده توسط میکروسرویس ها را بررسی کنیم.

مزیت کلیدی میکروسرویس ها

  • به راحتی مقیاس پذیر است
  • استقرار موثر
  • آسان برای پیاده سازی تکنولوژی
  • منحنی یادگیری کم

معایب:

  • ارتباطات بین فرآیندی
  • معاملات توزیع شده
  • نیاز به منابع بالاتر
  • مشکلات در حین رفع اشکال

میکروسرویس با React

مقدمه ای بر Microfronts

Micro-Frontends برنامه های کوچکی هستند که برای ایجاد یک برنامه بزرگتر به یکدیگر متصل می شوند. آنها معمولاً بر اساس زیر دامنه یا تابعی که هدف اصلی آنها در برنامه است تقسیم بندی می شوند.

وقتی با یک پروژه ساده سر و کار دارید که ممکن است به حداکثر سه صفحه کد نیاز داشته باشد، نیازی نیست نگران میکروسرویس باشید.

با این حال، در مواردی که پروژه شما بزرگ است و باید توسط چندین تیم توسعه ساخته شود، micro-frontends می تواند تا حد زیادی برای شما مفید باشد. برای نمونه تصویر زیر را ببینید.

شش برنامه باید در این سناریو با هم کار کنند تا برنامه اصلی ایجاد شود. به این ترتیب، می توانید ببینید که در گذرگاه رویداد داده شده، اشیاء و روش های پنجره برای ارتباط بین برنامه ها استفاده می شود.

بنابراین، هر اپلیکیشنی را می توان در هر فریم ورکی ساخت و با باطن آن ارتباط برقرار کرد.

آنها همچنان قادر به برقراری ارتباط خواهند بود و برنامه اصلی می تواند آنها را بر اساس تعاملات کاربر نصب و جدا کند.

در این سناریو، همه برنامه‌های کوچک‌تر را می‌توان به‌عنوان ریز اینترفیس در نظر گرفت. بیایید به برخی از مزایای آنها نگاه کنیم.

مزایای Mirco-Frontends

1. همه برنامه ها مستقل هستند

2. درک برنامه ها آسان تر است

3. توسعه و استقرار کارآمدتر است

4. تست و اشکال زدایی آسان تر می شود

5. عناصر اصلی ریزفرون ها:

  • هر رابط نشان دهنده یک تابع یا زیر دامنه خاص از کل برنامه است
  • آنها نمی توانند منطق را به اشتراک بگذارند و مستقل از یکدیگر هستند.

بهترین راه برای تقسیم برنامه ها چیست:

ایجاد میکرو فرانت‌اند مستلزم تقسیم برنامه‌های کاربردی بزرگ به فرانت‌اندهای کوچک‌تر و مستقل است.

اگرچه هیچ معیار از پیش تعیین شده ای برای این کار وجود ندارد، روش هایی که ما بیشترین موفقیت را با آنها پیدا کرده ایم عبارتند از:

مثال React Micro UI:

هر پیوند ناوبری دارای یک رابط میکرو متفاوت است.

مثال-1

همانطور که در مثال بالا مشاهده شد، اکنون یک برنامه با نوار پیمایش از مؤلفه والد و پیام «Hello World!» ما از مؤلفه فرزند داریم!

مثال-2

می بینید که URL تغییر کرده است، اما پیام “Hello World!” ما ثابت مانده است. ما باید چند تغییر در نحوه مدیریت مسیریابی نرم افزارمان ایجاد کنیم.

پس از یک به روز رسانی کوتاه از لوکال هاست: 8080دو پیوند باید ظاهر شوند و کلیک بر روی آنها باید همانطور که انتظار می رود کار کند.

بیایید خلاصه کنیم

Micro-Frontends قسمت جلویی هستند استقرار میکروسرویس ها. از آنجایی که اکثر وب‌سایت‌های مدرن اکثر کدهای خود را در سمت کلاینت دارند، استفاده از micro-frontends یک تغییر بازی برای بهبود کارایی فرآیند توسعه است.

اگرچه برای هر برنامه ای ضروری نیست، اما در مورد برنامه های بزرگتر کمک می کند. در چنین مواردی، هر برنامه از یک پشته متفاوت ساخته می شود و سپس برای ایجاد یک برنامه کاربردی معنادارتر یکپارچه می شود.

میکروسرویس با NodeJS

NodeJS یک چارچوب متن باز است که امکان استفاده از جاوا اسکریپت را در آن فراهم می کند برنامه تحت وب سمت سرور.

بیایید مفهوم میکروسرویس با NodeJS را با مثال زیر درک کنیم:

1. یک پوشه، “Microservice demo”، حاوی دو پوشه – کاربر و سفارش ایجاد کنید.

2. در پوشه کاربر، Node را با استفاده از دستور نصب کنید: npm نصب درخواست اکسپرس – ذخیره

در اینجا محیط NodeJS با اکسپرس و درخواست راه اندازی می شود.

3. سپس index.js را ایجاد کنید و کد زیر را در آن بنویسید:

4. با نود فرمان index.js اجرا کنید یا F5 را فشار دهید.

5. مراحل 1 و 2 را در پوشه سفارشات تکرار کنید.

6. سپس index.js را ایجاد کرده و کد زیر را در آن بنویسید:

این بر پورت 1000 تأثیر می گذارد که عمدتاً توسط «کاربر» استفاده می شود.

نتیجه

در نتیجه، ایجاد و مدیریت برنامه های کاربردی بزرگ با تقسیم آنها به برنامه های کوچکتر و مستقل که می توانند به صورت جداگانه توسعه یابند و بعداً یکپارچه شوند، در دسترس تر می شود.

یک برنامه اصلی بزرگتر از مجموع قطعات آن است زیرا می تواند میکروسرویس مناسب را برای اجرا در زمان مناسب بر اساس تعاملات کاربر انجام دهد.

اگر سوالی در مورد این آموزش دارید، لطفاً در زیر نظر دهید تا در اسرع وقت با شما تماس خواهیم گرفت.

پست نحوه ساخت معماری میکروسرویس با React و Node.js اولین بار در DEV IT Journal پدیدار شد.

چگونه برنامه اندروید خود را با Jetpack Compose سریعتر کنید


در وبلاگ امروز، مهندسان DEV IT ما اصول اولیه استفاده از Jetpack Compose را در طول فرآیند توسعه برنامه Android شما پوشش خواهند داد. این به شما کمک می کند در طول توسعه بهره وری بیشتری داشته باشید و پروژه ها را سریعتر از حد انتظار تکمیل کنید.

Jetpack Compose در اندروید

Jetpack compose یک ابزار عالی برای ساخت رابط کاربری برای اندروید است. علاوه بر سرعت بخشیدن به توسعه UI، همچنین به توسعه دهندگان این امکان را می دهد تا برنامه ای با حداقل کدنویسی ایجاد کنند، بنابراین به لطف API کاتلین و همچنین ابزارهای قدرتمند، روند کار را برای همه افراد درگیر در پروژه ساده می کند.

مزایای استفاده از Jetpack Compose چیست؟

قبل از اینکه نحوه استفاده از آن را بررسی کنیم، اجازه دهید به چند مزیتی که هنگام استفاده از Jetpack Compose در پروژه خود به دست می‌آورید نگاهی بیندازیم:

  • اعلامی: کاملاً بیانی است، بنابراین می توانید اجزای رابط کاربری خود را با فراخوانی برخی از توابع از پیش تعریف شده توصیف کنید.
  • سازگار: به راحتی با نماهای موجود اندروید سازگار است.
  • سرعت توسعه را افزایش دهید: توسعه دهندگان قبلی مجبور بودند روی فایل های XML و فایل های Kotlin کار کنند. اما با کمک Jetpack Compose، این روند آسان می شود و توسعه دهندگان فقط باید روی فایل های Kotlin کار کنند. بنابراین، به توسعه دهندگان کمک می کند تا کار خود را سرعت بخشند.
  • کوتلین کوتاه و اصطلاحی: رابط کاربری Jetpack Compose ساخته شده با مزایای Kotlin.
  • ساده در نگهداری: از آنجایی که پایه کد هر برنامه در یک فایل وجود دارد. مدیریت و مدیریت پایگاه کد برنامه آسان تر می شود.
  • نوشته شده در کاتلین: برنامه ای که با استفاده از Jetpack Compose، 100% با استفاده از زبان برنامه نویسی Kotlin نوشته شده است

راه اندازی و اجرا با Jetpack Compose

اکنون که می‌دانید Jetpack Compose چیست و چگونه کار می‌کند، بیایید نگاهی به روند پیاده‌سازی آن در فرآیند توسعه برنامه‌تان بیندازیم.

مرحله ی 1: یک پروژه اندروید استودیو جدید ایجاد کنید.

گام 2: یک وابستگی به پروژه اضافه کنید

def composeVersion = “1.0.0-alpha06”

پیاده سازی “androidx.compose.ui:ui:$composeVersion”

پیاده سازی “androidx.compose.foundation:foundation:$composeVersion”

پیاده سازی “androidx.ui:ui-tooling:$composeVersion”

پیاده سازی “androidx.compose.material:material:$composeVersion”

علاوه بر این وابستگی ها، می توانید ببینید که پرچم ساخت در بلوک buildFeatures اندروید روی true تنظیم شده است.

از آنجایی که Jetpack یک روش برنامه‌نویسی برای ایجاد رابط کاربری برای Compose ارائه می‌کند، شما از XML استفاده نخواهید کرد. این بدان معنی است که شما از setContentView() در فعالیت ها یا قطعات خود استفاده نمی کنید، در عوض از setContent() برای تنظیم رابط کاربری خود استفاده می کنید.

برای انجام این کار، MainActivity.kt را باز کنید و فراخوانی موجود به setContentView() را با موارد زیر جایگزین کنید:

در حین انجام این کار مطمئن شوید که وابستگی ها را از بسته android x.compose وارد کرده اید. setContent() یک تابع پسوند Kotlin در Activity است که یک لامبدا@Composable را به عنوان پارامتر می گیرد.

Text() در واقع تابعی است که با حاشیه نویسی @Composable مشخص شده است. شما حدس زدید که Text() قابل ترکیب کردن، متن را روی صفحه می کشد. می توانید آن را به عنوان نسخه ترکیبی TextView در نظر بگیرید

بسازید و اجرا کنید و Text() را روی صفحه خواهید دید

می توانید متن خود را با استفاده از Text Style سفارشی کنید. این را با جایگزین کردن Text موجود امتحان کنید()

دوباره بسازید و اجرا کنید و حالا باید ببینید

ایجاد یک تابع قابل ترکیب

یکی از شگفت‌انگیزترین مزایای Jetpack Compose این است که به جای استفاده از یک فایل XML برای هر فعالیت، رابط کاربری خود را به روشی ماژولار با بسیاری از عملکردهای کوچک می‌سازید.

اکنون که با Text() آشنا شدید، می توانید اولین تابع @Composable خود را بسازید.

تابع زیر را در MainActivity اضافه کنید:

برای استفاده از آن، فراخوانی موجود به Text() در setContent() را با فراخوانی Greeting():

بسازید و دوباره اجرا کنید

پیش نمایش قابل ترکیب

به طور معمول، وقتی برای یکی از فعالیت‌های XML خود یک رابط کاربری ایجاد می‌کنید، از پیش‌نمایش طرح‌بندی استفاده می‌کنید تا بدون ساختن و اجرای برنامه‌تان ببینید نمای شما چگونه خواهد بود.

Jetpack Compose با ابزار مشابهی همراه است.

Preview@ را در زیر Composable@ از Greeting () که قبلاً تعریف کردید اضافه کنید:

هنگامی که حاشیه نویسی را وارد کردید، پیش نمایشی از نمایش در حال کامپایل شدن را در پیش نمایش در سمت راست صفحه مشاهده خواهید کرد.

هر بار که composable را که رندر می‌کنید به‌روزرسانی می‌کنید، برای مشاهده نمای به‌روز شده، باید بیلد را به‌روزرسانی کنید. شما فقط می‌توانید کامپوزیتی‌هایی را ارائه کنید که هیچ آرگومانی ندارند.

اکنون که می توانید پیش نمایش اجزای خود را مشاهده کنید، وقت آن است که نحوه کار با طرح بندی ها را بیاموزید

استفاده از Column Composable

یک ستون را به صورت LinearLayout با جهت عمودی در نظر بگیرید. فقط تمام عناصر فرزند خود را در یک ستون عمودی قرار می دهد.

Greeting() را به روز کنید تا سه Text() را در Column() قرار دهید.

Column() یک بلوک لامبدا @Composable می گیرد که در آن فرزندان ستون را اعلام می کنید

در Greeting() سه متن را به عنوان فرزندان این ستون اضافه می کنید. این الگوی یک تابع ترکیب پذیر که یک لامبدا را برای ایجاد سایر توابع ترکیب پذیر می پذیرد در ترکیب بندی Jetpack رایج است.

گرفتن ورودی با استفاده از یک TextField

مشابه EditText، در Compose می توانیم از TextField و BaseTextField استفاده کنیم. BaseTextField هنوز آزمایشی است و ممکن است در هر زمان برای همیشه حذف یا اضافه شود. بنابراین برای استفاده از BaseTextField باید حاشیه نویسی @ExperimentalFoundationApi را اضافه کنید.

در زیر نمونه ای از BaseTextField ساده است

در تابع بالا یک BaseTextField در داخل یک سطح داریم. هنگامی که مقدار تغییر می کند، ما یک callback داریم. این فراخوانی زمانی فراخوانی می‌شود که در ورودی BaseTextField تغییری ایجاد شود و متن به‌روزرسانی‌شده به عنوان پارامتری از callback می‌آید.

نتیجه

اکنون که می‌دانید چگونه Jetpack Compose را پیاده‌سازی کنید، امیدواریم این برای شما مفید باشد شرکت توسعه اپلیکیشن موبایل در ارائه سریعتر پروژه ها نسبت به قبل اگر سوالی دارید یا با مشکلی در فرآیند بالا روبرو هستید، لطفاً در زیر نظر دهید و ما خوشحال خواهیم شد که به شما کمک کنیم.

 

پست چگونه برنامه اندروید خود را با Jetpack Compose سریعتر کنیم اولین بار در DEV IT Journal ظاهر شد.

GitOps چیست و چگونه می توان GitOps را با استفاده از خط لوله CI/CD راه اندازی کرد؟


Git همیشه به عنوان یکی از قوی ترین ابزارهای همکاری برنامه عمل کرده است. دارای ابزارهای مختلفی است که باعث افزایش بهره وری در هر مرحله می شود توسعه اپلیکیشن.

یکی از این ابزارها GitOps است که امکان ادغام ویژگی های جدید مختلف مانند استقرار خودکار، ممیزی، بازگشت بدون درز و عیب یابی کارآمد را فراهم می کند. بیایید نگاهی دقیق به GitOps بیندازیم و بیاموزیم که چگونه می تواند به افزایش کارایی در خط لوله CI/CD کمک کند.

CI/CD با GitOps

CI/CD مجموعه ای از مشکلات خاص خود را دارد که GitOps می تواند به حل آنها کمک کند. اینها هستند:

موضوع1.

فرآیندهای دستی و تهیه منابع از مرکز داده محلی، که شیوه های ناکارآمدی را ایجاد کرد.

  • پاسخGitLab (SCM, CI) و Terraform
  • نتیجهزمان تولید به طور چشمگیری بهبود یافته است. محیط ها را می توان در کمتر از یک ساعت ایجاد کرد. همه چیز را می توان با استفاده از کد انجام داد و پچ کردن هیچ خطری ندارد.

مشکل 2.

عدم وجود مجموعه کنترل در زنجیره ابزار CI.

  • پاسخGitLab (SCM، CI، CD) و Terraform
  • نتیجهپیاده‌سازی چیزی و در صورت وجود مشکل، آن را به عقب برگردانید. استرس و ترس ناشی از استقرار در تولید را از بین برد.

GitOps چیست؟

GitOps افزوده جدیدی به ابزارهای چندگانه Git است که ویژگی هایی مانند مدیریت کلاستر، یکپارچه سازی مداوم و تحویل برنامه را امکان پذیر می کند. این یکپارچه با Git کار می کند و می تواند تنها نقطه تماس شما برای فرآیند تحویل برنامه باشد.

علاوه بر این، بسیاری از ارائه دهندگان خدمات GitOps برای انتخاب وجود دارند، مانند GitHub، BitBucket و GitLab. بسیاری از این ارائه دهندگان در حال حاضر با GitLab سازگار هستند و سوئیچ شما یکپارچه خواهد بود.

چرا GitOps؟

دستیابی به اتوماسیون در فرآیند توسعه اپلیکیشن یک دستاورد باورنکردنی است که با ادغام کل خط لوله با DevOps ممکن شده است. با این حال، از آنجایی که از چندین زنجیره ابزار برای رسیدن به این هدف استفاده می کند، مدیریت این زنجیره های ابزار برای توسعه دهندگان به یک چالش تبدیل شده است.

راه حل از GitOps می آید که همان سطح اتوماسیون را از طریق یک زنجیره ابزار واحد برای کل فرآیند توسعه و استقرار فراهم می کند. در نتیجه نقاط شکست را کاهش می دهد و کار را برای توسعه دهندگان آسان می کند.

راه اندازی با GitOps

راه اندازی GitOps یک روش ساده است. این وبلاگ نشان می دهد که چگونه می توان ایجاد خوشه Kubernetes و مدیریت استقرار برنامه را با استفاده از GitOps فعال کرد. در اینجا مراحلی وجود دارد که برای ترکیب GitOps در خط لوله خود نیاز دارید.

1. راه اندازی مخزن

  • برای شروع کار با GitOps، تنها چیزی که نیاز دارید یک مخزن Git است. برای انجام این کار، باید در ارائه دهنده خدمات Git مورد نظر خود ثبت نام کنید.
  • هنگامی که مخزن راه اندازی شد، می توانید شروع به فشار دادن کد خود کنید.
  • در حین نگهداری از مخزن، مطمئن شوید که طبق استراتژی شاخه‌بندی خود فورک می‌کنید.

2. یک گردش کار Git ایجاد کنید

  • شما باید یک گردش کار Git ایجاد کنید تا تمام فعالیت ها و وظایف خود را از یک منبع واحد مدیریت کنید. در حین انجام این کار، تمام اقدامات و جریان اجرای آنها را تعریف کنید.

3. اقدامات GitOps را برای پروژه خود تعریف کنید

  • پس از راه اندازی مخزن Git خود، باید از فایل git-cicd.yaml برای تکمیل فرآیند استفاده کنید. فقط آن را به مخزن Git فشار دهید.
  • این فایل شامل دستورالعمل هایی است که باید در حین راه اندازی Git CI/CD اجرا شوند و وابستگی هایی که باید روی Git runner نصب شوند.
  • لطفاً توجه داشته باشید که این فایل برای عملکرد Git CI/CD حیاتی است.

4. زیرساخت های GitOps را راه اندازی کنید

  • ارائه‌دهنده خدمات Git شما مکانی را برای ایجاد و نگهداری کد منبع فراهم می‌کند. با این حال، احتمالاً شامل هیچ گونه قابلیت پردازشی برای مدیریت خط لوله GitOps نخواهد بود.
  • برای انجام این کار، باید یک پلتفرم مجزا برای خط لوله خود فراهم کنید که قابلیت محاسباتی دارد. برای اهداف خود ما یک نمونه زمان اجرا برای همان ایجاد خواهیم کرد.
  • در نهایت، باید یک runner برای اجرای مراحل Git CI/CD در خط لوله GitOps خود راه اندازی کنید. رانر به سادگی ماشینی است که به عنوان یک سرور CI عمل می کند و عملکردهای CI/CD را انجام می دهد.

تمام وابستگی های شما با استفاده از فایل git-cicd.yaml در runner نصب می شود. از همین مراحل می توان برای تعریف اقدامات برای استقرار خودکار برنامه، مدیریت خوشه Kubernetes و ویژگی های مختلف دیگری که با GitOps ارائه می شود، استفاده کرد.

نکته حذف: این به سازمان‌ها کمک می‌کند زمان تولید را به حداقل برسانند، زیرساخت‌ها را در چند ساعت توسعه دهند، همکاری، انطباق و ممیزی را ارتقا دهند، محیط‌های کنترل‌شده نسخه، اتوماسیون آزمایش و مدیریت پیکربندی خط لوله را ارتقا دهند.

نتیجه

راه اندازی GitOps برای کار با پروژه های موجود شما آسان است. با دنبال کردن مراحل بالا، باید بتوانید سیستم های خود را در عرض یک روز راه اندازی کنید. با این حال، اگر در این مسیر با مشکلی مواجه شدید، با ما و ما تماس بگیرید توسعه فناوری اطلاعات با مسئولیت محدود. مهندسان آماده کمک به شما خواهند بود.

پست GitOps چیست و چگونه GitOps را با استفاده از خط لوله CI/CD راه اندازی کنیم؟ اولین بار در DEV IT Journal ظاهر شد.

چرا باید از سرور مجازی لینوکس استفاده کنیم؟

انواع مختلفی از سرور مجازی وجود دارد که سرور مجازی لینوکس یکی از انواع آن است. اما دلیلی که این نوع سرور مجازی بسیار سروصدا کرده است، چیست؟ احتمالا شما هم این را زیاد شنیده اید که بسیاری از افراد می گویند: سرور مجازی، فقط سرور مجازی لینوکس! اما به چه دلیل سرور مجازی لینوکس این چنین پر طرفدار شده است؟ احتمالا شما هم این سوال برایتان پیش آمده است که چرا باید از سرور مجازی لینوکس استفاده کنیم؟ چه مزیتی برایمان می تواند در پی داشته باشد؟ برای پاسخ این سوال کافیست همراهمان باشید تا به صورت مفصل در این باره صحبت کنیم.

سرور مجازی لینوکس چیست؟

برای آن که به سوال چرا باید از سرور مجازی لینوکس استفاده کنیم، پاسخ دهیم، باید ابتدا مفهوم سرور مجازی لینوکس را برایتان باز کنیم.

سرور یک کامپیوتر بسیار قدرتمند است که به صورت 24 ساعته روشن است و دارای اینترنت پرسرعت است. زمانی که به کمک تکنولوژی مجازی سازی، این سرور را به چندین سرور با منابع اختصاصی و مستقل شبیه سازی می شود، سرور مجازی به دست می آید.

سرور مجازی نیز درست مانند کامپیوتر قدرتمند است، پس شما برای کار کردن با آن نیاز به سیستم عامل دارید. زمانی که سیستم عامل روی سرور مجازی شما نصب می شود، سرور مجازی لینوکس خواهید داشت.

روی سرور مجازی می توان سیستم عامل ویندوز، میکروتیک و لینوکس نصب کرد. اما چرا بسیاری از افراد انتخابشان سیستم عامل لینوکس است؟ پاسخ ساده است! بخاطر مزایایی که لینوکس دارد؛ اما این مزایا چه مواردی هستند؟ در ادامه به توضیح مزایای لینوکس می پردازیم.

چرا باید از سرور مجازی لینوکس استفاده کنیم؟

به اصل مطلب رسیدیم و در این جا خواهیم گفت که استفاده از سرور مجازی لینوکس چه مزایی برای شما می تواند داشته باشد.

لینوکس لایسنس ندارد و رایگان است.

لینوکس سیستم عاملی متن باز و رایگان است و شما می توانید بدون آن که هزینه ای پرداخت کنید، آن را داشته باشید؛ برعکس لینوکس، ویندوز لایسنس دارد و شما برای استفاده از آن نیاز دارید که لایسنس آن را خریداری کنید.

پایداری و آپتایم بالا

اگر یکی از معیارهایی که دارید، پایداری و آپتایم بالا است، به شما قول می دهیم که سرور مجازی لینوکس می تواند رضایت شما را جلب کند.

از آن جایی که میزان نیاز لینوکس به ری‌استارت کردن یا کرش شدن کم است، به همین دلیل به عنوان سیستم عامل با ثبات شناخته می شود. شما می توانید به کمک سرور مجازی لینوکس، دسترسی بالایی برای سرورتان فراهم کنید.

امنیت بالا

فایروالی که لینوکس دارد، آن را به یکی از امن ترین سیستم عامل ها تبدیل کرده است که هرگونه ویروس و بدافزار را خنثی می کند و مانع ورودشان می شود. از سوی دیگر لینوکس، متن باز است و برنامه نویسان در صورت پیدا کردن حفره امنیتی، سریع آن را توسعه و بهبود می دهند و به همین دلیل از امنیت بالایی برخوردار است؛ اگر امنیت یکی از مواردی است که برایتان اهمیت دارد، سرور مجازی لینوکس می تواند گزینه مناسبی باشد.

لینوکس انعطاف پذیر است، می تواند رشد کند و توسعه یابد

یکی از قابلیت هایی که سرور مجازی لینوکس دارد، این است که این سرور مجازی قابلیت رشد و توسعه دارد و اگر روزی ترافیک سایتتان افزایش یافت و منابع و امکاناتتان پاسخگو نبود، می توانید به راحتی منابع و امکانات را با توجه به نیازهایتان تنظیم کنید.

لینوکس عملکرد بالایی دارد

از نظر کاربران، لینوکس عملکرد بهتری از سیستم عامل های دیگر دارد؛ برای مثال لینوکس به راحتی قادر است که چندین کاربر را روی یک سرور میزبانی کند که این می تواند همان چیزی باشد که شما به دنبال هستید.

لینوکس از نظر پردازش و ظرفیت، نسبت به سیستم عامل های دیگر بهتر است که همین موضوع سبب می شود که سرعت لود صفحات سایت شما بالاتر باشد و فرایندها سریعتر اجرا شوند و عملکردهای همزمان، تاثیری روی یکدیگر نداشته باشند.

لینوکس به حریم خصوصی شما احترام می گذارد

احتمالا از این موضوع آگاه هستید که سیستم عامل ویندوز، اطلاعات زیادی از کاربران جمع می کند، اما لینوکس کاری با اطلاعات شما ندارد. از سوی دیگر لینوکس قابلیت شخصی سازی را نیز فراهم کرده است که شما می توانید اطلاعات و داده های خودتان را روی سرور کنترل کنید و نگران حریم خصوصی خودتان هم نباشید.

منابع متعلق به شماست…

زمانی که سرور مجازی لینوکس خریداری می کنید، رم، هارد دیسک و پردازنده بیشتری در اختیار شما خواهد بود و شما می توانید از این منابع برای برنامه ها اختصاص دهید تا نرم افزارهای بیشتری اجرا شود و ترافیک بیشتری هم تحت پوشش باشد.

دسترسی root در اختیار شما قرار می گیرد

شما به کمک دسترسی روت می توانید به صورت کامل به سرور دسترسی داشته باشید و آن را کنترل کنید علاوه بر آن می توانید به کمک پنل مدیریتی، سرور را بر اساس نیاز و سلیقه خودتان تنظیم کنید. در صورتی که سرور مجازی لینوکس خریداری کنید، می توانید نصب انواع برنامه ها را مدیریت و کنترل کنید.

لینوکس دارای پشتیبانی اختصاصی است

در صورتی که سرور مجازی خریداری شده شما لینوکس باشد، پشتیبانی فنی و تخصصی برای شما در نظر گرفته می شودکه می توانید در صورت برخورد با مشکل، آن را رفع کنید.

به کمک سرور مجازی لینوکس می توانید میزبانی چندین سایت را انجام دهید

در سرور مجازی لینوکس می توانید چندین سایت را میزبانی کنید، بدون آن که دردسرهایی که در هاست لینوکسی دارید را داشته باشید. اگر چند سایت دارید که می خواهید آن ها را روی یک سرور مجازی مدیریت کنید، از سرور مجازی لینوکس استفاده کنید.

از اطلاعات و فایل های خودتان روی سرور مجازی لینوکس می توانید به راحتی بکاپ بگیرید

در سرور مجازی لینوکسی می توانید بکاپ گیری اتوماتیک را فعال کنید و زمان بندی مورد نظرتان را تعیین کنید تا از داده های شما پشتیبان گیری شود و دیتاهای شما در محل امنی ذخیره شوند تا در برابر حوادث ناخواسته محافظت شوند.

سخن آخر

در این مقاله در مورد مزایای سرور مجازی لینوکس صحبت کردیم و سعی کردیم به سوال چرا باید از سرور مجازی لینوکس استفاده کنیم که اول مقاله پرسیدیم، پاسخ دهیم.

در نهایت این شما هستید که باید بر اساس نیازی که دارید، نوع سرور خودتان را انتخاب کنید. اگر تصمیم به خرید سرور مجازی لینوکس گرفتید، این نکته را فراموش نکنید که حتما از یک ارائه دهنده معتبر آن را تهیه کنید. ارائه دهنده ای معتبر است که بتواند پشتیبانی خوبی ارائه دهد، مسئولیت پذیر و پاسخگو باشد، سرور مجازی با سخت افزار به روز و با کیفیت ارائه دهد.

یکی از شرکت های ارائه دهنده ای که وجود دارد، شرکت آسام سرور است که تمامی این موارد را دارد و علاوه بر آن، گارانتی عودت وجه به مدت 3 روز دارد که شما می توانید با خیال راحت خرید سرور مجازی لینوکس خودتان را از این ارائه دهنده انجام دهید.

در صورتی که سوالی در این زمینه دارید، می توانید با ما در قسمت نظرات به اشتراک بگذارید.

ETL در مقابل ELT – کدام یک برای تجارت مدرن بهتر است؟


تجزیه و تحلیل، جمع آوری و تفسیر داده ها به یک عامل کلیدی در موفقیت کسب و کار تبدیل شده است. ETL و ELT دو نوع شیوه مدیریت داده هستند که به سازمان ها در تصمیم گیری های داده محور کمک می کنند. برای ارائه این راه حل ها و اطمینان از ترجمه آنها به راه حل های هوش تجاری، ETL و ELT بسته به نیازهای سازمانی تمرین می شوند.

اساسا، با افزایش حجم داده ها و استخراج آن از تعداد فزاینده منابع، تصمیم گیری های مرتبط با کسب و کار پیچیده شده است. با ETL و ELT، می‌توانیم کل این فرآیند را بسیار کارآمدتر و مفیدتر کنیم.

ELT و ETL چیست؟

ETL و ELT فرآیندهای یکپارچه سازی داده ها هستند. با آنها ما می توانیم داده های خام را به یک پایگاه داده منتقل یا منتقل کنیم. به این پایگاه های داده معمولاً دریاچه های داده یا انبار داده می گویند. برای ارسال داده ها به محل مورد نظر، ETL یا ELT اعمال می شود. فرآیندهای ETL و ELT با آن کار می کنند خدمات مدیریت ابریکه به ارائه دسترسی جهانی به داده های تفسیر شده بر اساس تنظیمات کنترل دسترسی کمک می کند.

1. استخراج، تبدیل، بارگذاری (ETL)

یکی از راه‌هایی که سازمان‌ها می‌توانند برای ذخیره و مدیریت داده‌ها استفاده کنند، جمع‌آوری، قالب‌بندی مجدد و ذخیره آن‌ها در سرور مورد نظر است. پس از استخراج، داده ها بر اساس پارامترهای از پیش تعریف شده قالب بندی می شوند.

این منطقه مرحله بندی است که در آن داده ها به بیت ها، تجسم ها، الگوها و روندهای قابل درک تبدیل می شوند. در مرحله یا مرحله بارگذاری، داده‌های قالب‌بندی شده به انبار داده یا دریاچه داده منتقل می‌شوند. از اینجا، هر کسی که به سرور ذخیره سازی دسترسی دارد می تواند به داده ها دسترسی داشته باشد و تصمیمات تجاری بگیرد.

منشا ETL به دهه 1970 برمی گردد، زمانی که شرکت ها شروع به جمع آوری مقادیر زیادی داده از منابع متعدد کردند. برای پردازش، آنها شروع به سازماندهی این داده ها در مجموعه داده های مختلف کردند.

این منجر به مشکل قابل توجهی از قطع و وصل شدن پایگاه داده ها شد. و از آنجایی که این پایگاه های داده پیچیده شروع به تکثیر کردند، جمع آوری داده ها به سرعت تبدیل به یک تمرین اضافی و بدون نتیجه مثبت شد.

سپس ETL وارد شد و راه کارآمدی را برای مدیریت آسان مجموعه داده‌های بزرگ به کسب‌وکارها ارائه کرد. برای سه دهه بعد، ETL پایه و اساس سازمان ها برای تبدیل داده های خام به هوش تجاری بود.

ETL یک روش ادغام داده ایده آل برای چه کسانی است؟

منابع داده پراکنده

مشاغلی که منابع داده متنوع و توزیع شده دارند بیشترین بهره را از ETL خواهد برد. اینها شرکت هایی هستند که مشتریان، تامین کنندگان، شرکا و سهامداران در مناطق مختلف دارند که از طریق ابتکارات متعدد مورد بررسی قرار می گیرند. ETL به این کسب‌وکارها کمک می‌کند تا داده‌ها را از مخازن و قالب‌های مختلف به صورت هماهنگ جمع‌آوری کنند، سپس همه آن‌ها را در یک مکان هدف بارگیری کنند.

مهاجرت از سیستم های قدیمی

یک مورد خاص برای سیستم ETL زمانی است که سازمان‌هایی که با سیستم‌های قدیمی کار می‌کنند می‌خواهند انتقال داده‌های جمعی را به یک سیستم مدرن پیاده‌سازی کنند. و در این حالت، فرآیند ETL می‌تواند داده‌ها را استخراج کرده، به قالبی قابل فهم تبدیل کرده و آن را در مقصد بارگذاری کند. بنابراین می توان گفت که ETL بخش مهمی از آن است راه حل های تحول دیجیتال.

بنابراین ETL برای موقعیت‌هایی مناسب است که چندین محیط دارید و باید داده‌ها را قبل از دیدن آن در یک رسانه جداگانه پردازش کنید.

2. استخراج، بارگذاری، تبدیل (ELT)

دومین و نسبتاً مدرن فرآیند یکپارچه سازی داده ها، ELT، رویکرد متفاوتی دارد. در اینجا داده ها استخراج می شوند، در محل مورد نظر بارگذاری می شوند و تبدیل می شوند. مزیت اصلی بارگذاری قبل از تبدیل، پردازش سریعتر است.

سرعت انتقال داده افزایش می‌یابد زیرا هیچ خطای مبتنی بر رمزگذاری که می‌تواند در فرآیند مهاجرت رخ دهد، وجود نخواهد داشت. با این حال، انتقال یا مهاجرت قبل از تغییر شکل می‌گیرد که در نهایت منجر به استقرار سریع‌تر سیستم می‌شود.

اساسا، ELT فرآیند بارگذاری و تبدیل را جدا می کند. در اینجا، آنها مستقل از یکدیگر هستند و در نتیجه عملکرد بهتری دارند. از آنجایی که تبدیل پس از بارگیری داده ها انجام می شود، همچنین به کاهش توان محاسباتی مورد نیاز برای تبدیل داده ها قبل از بارگیری کمک می کند.

اکنون مسئولیت تغییر بر عهده سرویسی است که شما برای اجرای فرآیند ادغام ELT انتخاب کرده اید. از آنجایی که سیستم ELT معمولاً با خدمات مدیریت ابری کار می‌کند، کسب‌وکارها می‌توانند داده‌های ساختاریافته، بدون ساختار، خام و نیمه‌ساختار یافته را با کارایی یکسان مدیریت کنند.

ELT یک روش ایده آل برای یکپارچه سازی داده ها برای چه کسانی است؟

1. حجم زیاد داده

یکی از حوزه‌های کلیدی که در آن پیاده‌سازی ELT به ثمر می‌رسد، زمانی است که مجموعه داده‌ها بسیار زیاد هستند. ما در مورد ترابایت داده های استخراج شده یا جمع آوری شده از منابع مختلف صحبت می کنیم. به عنوان مثال، در یک سیستم پیش بینی آب و هوا که دارای انواع مختلفی از داده ها از طیف گسترده ای از مکان ها است. در این حالت، سیستم ELT به کسب‌وکار اجازه می‌دهد تا منطقه بیشتری را با حجم عظیمی از داده‌ها پوشش دهد و به سرعت آن‌ها را پردازش کند.

2. مورد نیاز برای داده های زمان واقعی

سازمان هایی که به تجزیه و تحلیل داده های مناسب و همچنین در زمان واقعی متکی هستند، مطمئناً مایلند از سیستم استقرار ELT استفاده کنند. یک شرکت تجاری نیاز به دسترسی به اطلاعات دقیق و همچنین در زمان واقعی دارد. به طور مشابه، توزیع کنندگان و تامین کنندگان بزرگ نیز نیاز به دسترسی بلادرنگ به داده های دقیق دارند. این نوع کسب‌وکارها با ETL به بینش‌هایی که نیاز دارند دسترسی پیدا می‌کنند و به آنها کمک می‌کند عملکرد تجاری را با هوشمندی بهبود بخشند.

امروز ما راه حل های هوشمندی داریم که به بهبود بیشتر اجرای داده های ELT کمک می کند. این راه حل ها به تکمیل چرخه تبدیل داده ها، صرف نظر از نوع و پسوند داده کمک می کنند.

هر مرحله را جداگانه طی کنید

هر دو ETL در مقابل ETL دارای سه مرحله اصلی هستند. اگرچه ترتیب آنها مجدداً تنظیم شده است، عملکرد و هدف یکسان است. بیایید آنها را جداگانه مورد بحث قرار دهیم.

1. استخراج کنید

در هر دو نوع پردازش، عصاره اول است. مرحله اول استخراج به معنای جمع آوری و کپی داده ها از مجموعه ای از منابع است. داده ها می توانند ساده و پویا باشند راه حل های ERPسیستم های CRM، SQL، پایگاه های داده NoSQL، سیستم های SaaS، ایمیل ها، برنامه های موبایلوب سایت ها، صفحات وب، پایگاه های داده اکسل و غیره

از آنجایی که منابع متعدد و متفاوتی برای جمع آوری داده ها وجود دارد، استخراج آن زمان بر و پیچیده است. این یک کار پیچیده است و باید با دقت انجام شود.

سه نوع فرآیند استخراج وجود دارد.

استخراج کامل

بازیابی کامل یعنی زمانی که سیستم ها نمی توانند بین رکوردهای جدید و قدیمی تمایز قائل شوند. بنابراین، تنها راه این است که همه داده ها را بدون در نظر گرفتن زمان، نوع و پسوند دانلود کنید.

استخراج جزئی

این استخراج راحت ترین و آسان ترین روش برای استخراج داده ها از سیستم های منبع مختلف است. واکشی جزئی دارای اعلان‌هایی است که هنگام تغییر رکوردها هشدار ارسال می‌کند.

استخراج تدریجی

این شبیه به استخراج جزئی است، اما با یک تفاوت. هیچ اعلانی در این فرآیند ارسال نمی شود. با این کار فقط می توانیم آن دسته از داده هایی را که اصلاح شده اند بازیابی کنیم.

با این حال، با تغییر ترتیب تبدیل و بارگذاری، باید روی قسمت استخراج متفاوت کار کنیم. در ETL، شما باید نوع داده ای را که باید استخراج شود، از قبل برنامه ریزی کنید، زیرا در مرحله بعدی تغییر خواهد کرد.

در ELT، می‌توانیم داده‌ها را بدون هیچ فیلتری استخراج کنیم، زیرا داده‌ها بلافاصله به انبار داده ارسال می‌شوند. پس از بارگذاری، می توانیم در مورد تغییر تصمیم گیری کنیم.

2. تبدیل

Transform مرحله دوم در ETL و مرحله سوم در ELT است. این مرحله ای است که داده های استخراج شده به بینش های معنی دار تبدیل می شوند. با راه‌حل‌ها و فناوری‌های هدفمند، می‌توانیم دستور مرتب‌سازی، فیلتر کردن، کپی کردن، تمیز کردن، تبدیل، ترجمه، حذف، رمزگذاری، ادغام و تقسیم داده‌ها را صادر کنیم.

تبدیل داده ها را قابل خواندن می کند و فضایی را برای تجزیه و تحلیل موثر ایجاد می کند. در اینجا نیز تغییر Transform و Load می تواند سرعت و کارایی کل فرآیند را تعیین کند.

در ETL، تبدیل در خارج از انبار داده در یک منطقه مرحله بندی جداگانه و مستقل صورت می گیرد. مهندسان و متخصصان متخصص با هم کار می کنند تا فرآیندهای تبدیل را انجام دهند. هر نوع تبدیل و پردازشی که در اینجا اتفاق می‌افتد فقط یک بار می‌تواند انجام شود. این یک روش پیچیده است.

تغییر نوع تحلیل در نیمه راه به معنای اصلاح کل خط لوله و کار روی آن از ابتدا است.

از سوی دیگر، فرآیند تبدیل ELT کمی انعطاف‌پذیرتر و برای کسب‌وکار مناسب‌تر است. این به این دلیل است که داده های تبدیل از فروشگاه داده گرفته شده است. در اینجا می توان آن را هر چند بار تغییر، تبدیل یا تغییر داد.

3. شارژ کنید

بارگذاری مرحله دوم در ELT و مرحله سوم در ETL است. وظیفه در اینجا بارگذاری یا اضافه کردن داده به دیتا استور است. از انبار، هر کاربر می تواند بسته به تنظیمات و مجوزهای کنترل دسترسی، دسترسی داشته باشد و مشاهده کند.

در ETL داده ها آماده می شوند و سپس به انبار ارسال می شوند. اغلب مهندسان این کار را با SQL و با جدول بندی آن انجام می دهند. با ELT، کل مجموعه داده ابتدا در انبار بارگذاری می شود. این به طور قابل توجهی زمان مورد نیاز برای پردازش داده های خام را کاهش می دهد.

مقایسه مستقیم ELT در مقابل ETL

تا به حال باید فهمیده باشید که ELT در مقابل ETL فقط یک تغییر موقعیت دو مرحله ای نیست، بلکه Load را با Transform جایگزین می کند. چندین تفاوت اصلی وجود دارد و آنها به دلیل تعویض مراحل ایجاد می شوند.

نتیجه

پردازش ETL و ELT به کسب‌وکارها کمک می‌کند تا با دقت و ادغام داده‌های با ارزش بالا، عملکرد و تحلیل‌های تجاری را بهبود بخشند. هر دو روش منجر به ارائه راه‌حل‌های هوش تجاری می‌شوند که سازمان‌ها را قادر می‌سازد از بینش‌های عملی بهره‌مند شوند.

هنگام انتخاب ارائه‌دهنده خدمات برای اجرای ELT و ETL، یکی را با سیستم‌های اتوماسیون و زمان‌بندی همراه با پشتیبانی پرس و جو استاندارد ترجیح دهید. علاوه بر این، ارائه‌دهنده خدمات با پاسخ سریع‌تر به درخواست، نتایجی را با سرعت و مقیاس‌پذیری ارائه می‌دهد.

شناسایی نوع داده‌های شما، قابلیت‌های ذخیره‌سازی ارائه‌دهنده خدمات و نیازهای کسب‌وکارتان در حین انتخاب بهترین راه‌حل مهم است. از آنجایی که تجزیه و تحلیل داده ها به بخشی جدایی ناپذیر از رشد و موفقیت کسب و کار تبدیل می شود، اطمینان از ساده سازی فرآیند و در عین حال تمرکز بر نتایج ضروری است.

The post ETL vs. ELT – کدام یک برای تجارت مدرن بهتر است؟ اولین بار در DEV IT Journal ظاهر شد.

4 استقرار امنیتی برتر برای مایکروسافت 365


با ورود کار از راه دور به زندگی ما، مایکروسافت 365 به عنوان یکی از بهترین ها در صدر قرار گرفته است پلتفرم های قوی همکاری در محل کار. بهره وری کارمندانی را که از خانه کار می کنند بسیار افزایش داده است. با این حال، این موضوع کارفرمایان را نگران امنیت داده های محرمانه خود کرده است.

مایکروسافت 365 با مجموعه ای از خدمات امنیتی برای مقابله با این نگرانی ارائه می شود. این شامل سطوح مختلف مدیریت دسترسی، حفاظت از اطلاعات و حتی مدیریت ریسک است. در این وبلاگ، مهندسان DEVIT ما بررسی خواهند کرد که این پلتفرم واقعاً چقدر ایمن است، بنابراین برای محافظت از خود در حین کار از راه دور همراه باشید.

مدیریت هویت و دسترسی (IAM)

کنترل دسترسی یکی از مهم ترین روش های تضمین حریم خصوصی داده ها است. مایکروسافت 365 با ارائه دسترسی مبتنی بر نقش به انواع منابع و اطلاعات سیستم، این امکان را فراهم می کند. علاوه بر این، می تواند تلاش های مشکوک ورود به سیستم را شناسایی کرده و آنها را منحرف کند.

این پلتفرم همچنین دارای ابزارهایی برای محافظت از اعتبار، هویت کاربران است و کاملاً مجهز به ابزارهای احراز هویت پیشرفته است. این جعبه ابزار IAM به مدیران فناوری اطلاعات اجازه می دهد تا دسترسی مناسب را به هر کارمند بر اساس نقش آنها در شرکت اختصاص دهند و در نتیجه از همه منابع محافظت کنند.

حفاظت از اطلاعات

امنیت اطلاعات یکی از نگرانی های اصلی کارفرمایان در هنگام راه اندازی خدمات دورکاری است. سیستم حفاظت از اطلاعات مایکروسافت بخشی از امنیت سایبری مایکروسافت 365 است و مدیران را قادر می سازد تا از اطلاعات محرمانه در تمام نقاط پایانی محافظت کنند. قابلیت های آن به شما این امکان را می دهد که مکان تمام داده های مربوط به شرکت خود را کشف کرده و از آن محافظت کنید.

برای این منظور، طبقه‌بندی داده‌ها به عنوان یک دارایی بی‌نظیر عمل می‌کند که می‌تواند داده‌های مهم را شناسایی کرده و اطمینان حاصل کند که به طور ایمن ذخیره شده‌اند. ابزار مهم دیگر پیشگیری از از دست دادن داده ها (DLP) است که از از دست رفتن اطلاعات حساس مانند اطلاعات مالی و غیره جلوگیری می کند.

مدیران فناوری اطلاعات می‌توانند خط‌مشی‌های DLP را از طریق مرکز سازگاری Microsoft 365 ایجاد کنند تا از چنین اطلاعاتی محافظت کنند. اداره اطلاعات مایکروسافت (MIG) ابزار مهم دیگری است که به حفظ انطباق با خط‌مشی‌های داده‌های شرکت از طریق چرخه عمر اطلاعات و سوابق کمک می‌کند.

پیشگیری از تهدید

Microsoft 365 شامل چندین ابزار پیشگیری از تهدید است که به صورت خودکار کار می کنند تا به محافظت از داده های مهم شرکت شما در برابر تهدیدات شبانه روزی کمک کنند. از هوش مصنوعی پیشرفته برای شناسایی و جلوگیری از تهدیدات قبل از اینکه آسیب واقعی ایجاد کنند، استفاده می کند. مایکروسافت 365 با استفاده از یک دید جامع از اطلاعات یک سازمان، می تواند با سرعت بی سابقه ای به تهدیدات پاسخ دهد.

علاوه بر این، نه یک، بلکه با دو برنامه امنیت سایبری – Microsoft 365 Defender و Azure Defender ارائه می شود. آنها به محافظت از اطلاعات شما در سیستم های مختلف در سازمان و همچنین در فضای ابری کمک می کنند، بنابراین تمام نقاط پایانی را پوشش می دهند.

امنیت و مدیریت ریسک

مایکروسافت 365 دارای ابزارهای امنیتی و مدیریت ریسک است که می تواند خطرات ناشی از فعالیت های مختلف را شناسایی کرده و بر این اساس از اطلاعات شرکت محافظت کند. هم فعالیت‌های غیرعمدی و هم مخربی را که می‌توانند امنیت داده‌ها را به خطر بیندازند، شناسایی می‌کند. ابزارها اقدامات در برابر سیاست های ریسک شرکت را تجزیه و تحلیل می کنند و بنابراین با ریسک های داخلی مقابله می کنند. برخی از این ابزارها عبارتند از Communication Compliance، Information Barriers، Client Lockbox، Privileged Access Management، Advanced Auditing و غیره.

امنیت Microsoft 365: بهترین روش ها برای محافظت از اطلاعات شما

اگرچه مایکروسافت 365 با مجموعه ای از ویژگی ها و ابزارهای امنیتی به بازار عرضه می شود، اما مدیران فناوری اطلاعات را ملزم به استفاده از این ویژگی ها برای تضمین امنیت می کند. در اینجا چند راه وجود دارد که می توانید از این ویژگی های امنیتی بهترین استفاده را ببرید:

احراز هویت چند عاملی (MFA)

تنظیم احراز هویت چند عاملی گام مهمی در جلوگیری از دسترسی کاربران غیرمجاز به اطلاعات است. این ویژگی از دو یا چند روش احراز هویت استفاده می کند و در عین حال به کاربران اجازه می دهد وارد سیستم شوند، مانند رمز عبور یک بار مصرف (OTP).

حساب های اختصاصی مدیر

راه اندازی حساب های سرپرست احتمالاً یکی از اولین کارهایی است که هنگام راه اندازی سیستم خود انجام می دهید. با این حال، مهم است که به مدیران حساب‌های جداگانه برای کارهای معمولی بدهید تا آنها را به اهداف کمتری برای مجرمان سایبری تبدیل کنید.

رمزگذاری پیام ها در آفیس

رمزگذاری برای محافظت از داده ها ضروری است و Office 365 با انواع روش های رمزگذاری ارائه می شود. فعال کردن این ویژگی ها تضمین می کند که تمام ایمیل های به اشتراک گذاشته شده توسط کارمندان رمزگذاری شده باقی می مانند. همچنین فعال کردن اتصالات BitLocker و TLS برای رمزگذاری بیشتر فایل ها در سیستم ها و ابر عاقلانه است.

محافظت در برابر فیشینگ

روش‌های فیشینگ در حال تکامل هستند و حتی گاهی اوقات می‌توانند کارمندانی را که از فیشینگ آگاه هستند دستگیر کنند. به عنوان یک مدیر فناوری اطلاعات، مهم است که حفاظت ضد فیشینگ را برای فیلتر کردن خودکار ایمیل‌های فیشینگ قبل از رسیدن به صندوق ورودی کارمند، تنظیم کنید.

مجوز امنیتی

مهم است که توجه داشته باشید که همه ویژگی های امنیتی مایکروسافت 365 از جعبه خارج نمی شوند صدور مجوز بهره وری. در حالی که بیشتر ویژگی های امنیتی در مجوزهای پایه گنجانده شده است، برخی از آنها نیستند و برای بهره مندی از این خدمات باید مجوزهای امنیتی جداگانه خریداری شود.

برخی از این مجوزها هستند Enterprise Mobility + Security E3/A3/G3, Enterprise Mobility + Security E5/A5/G5, Microsoft 365 E3/A3/G3, Microsoft 365 E5/A5/G5, Microsoft 365 E5/A5/G5 Securityو Microsoft 365 Business Premium.

نتیجه

در نتیجه، مایکروسافت 365 یک پلتفرم فوق العاده قوی برای تضمین امنیت سایبری یک شرکت است. استفاده از آن برای کار از راه دور، ویژگی های امنیتی بی شماری را در اختیار سازمان قرار می دهد که با هیچ پلتفرم دیگری ارائه نشده است. اگر در مورد این ویژگی‌های امنیتی سؤالی دارید، در زیر نظر دهید و ما با شما تماس خواهیم گرفت.

 

پست 4 پیاده سازی امنیتی برتر برای Microsoft 365 اولین بار در DEV IT Journal ظاهر شد.

مسیری برای بهبود عملکرد در NET 6


در نیم دهه گذشته، شاهد بهبودهایی در دات نت از نظر عملکرد و عملکرد، همراه با چندین مؤلفه دیگر بوده ایم. مایکروسافت بارها و بارها فرصت های جدیدی ایجاد کرده است که با دیدن آن ما را به چهره تقریباً جدیدی از دات نت می رساند بهبود عملکرد دات نت 6.

یک سال قبل از جدا شدن مخزن Dotnet از شعبه اصلی خود، 550 درخواست دانلود بررسی شد، در حالی که یک سیستم کاملاً جدید در قالب یک به روز رسانی مهم و عظیم ایجاد شد.

می توان گفت که با به روز رسانی جدید دات نت 6 کاری وجود ندارد که توسعه دهنده نتواند با این پلتفرم انجام دهد. برای اینکه ایده ای به شما بدهم، JiT وجود دارد که اضافه شدن غیرمنتظره ای بود. کامپایلر Just-in-Time یک سیستم ارجاع داخلی را فراهم می کند که از نظر بهینه سازی ها از مزایای زیادی برای توسعه دهنده برخوردار است.

درست مانند این، چند افزودنی شگفت انگیز و مهم وجود دارد ویژگی های دات نت 6 که در بخش های زیر به آن خواهیم پرداخت.

مروری بر بهبودهای عمده عملکرد در NET 6

#1. JiT

از بحث ما به بعد ادامه می دهیم با استفاده از کامپایلر JiT در NET در بالا، درک کنید که کامپایل کد هسته اصلی هر برنامه کاربردی یا راه حل دیجیتالی است که تا کنون ایجاد شده است. بنابراین بهبود در تولید کد تأثیر چند برابری بر کل ساختار کد دارد. این شامل توانایی بهبود عملکرد، سرعت، تست، امنیت و غیره است.

با تغییراتی که در ساختار اصلی با آپدیت جدید ایجاد شده است، توسعه دهندگان از فرآیند تعبیه و مجازی سازی بهره مند خواهند شد. با استفاده از درون خطی، تماس گیرنده اجازه می دهد تا کد به طور مستقیم برای تماس گیرنده مستقر شود. این باعث صرفه جویی در زمان و تلاش لازم برای هدایت تماس از طریق سربار می شود، اما این یک مزیت کوچک است. مهمتر از آن، این سیستم محتوای تماس‌گیرنده را با تماس‌گیرنده به اشتراک می‌گذارد و امکان بهینه‌سازی‌های بعدی یا از نظر فنی «شامل» را می‌دهد.

مجازی سازی همراه با جاسازی کار می کند و بهینه سازی های بهتری را ارائه می دهد. با غیر مجازی سازی، JiT یک فراخوانی روش مجازی یا رابط را می پذیرد و مقصد نهایی تماس را از نظر آماری شناسایی می کند. این باعث صرفه جویی در زمان مورد نیاز برای یک رویکرد مستقیم به هدف و صرفه جویی در هزینه های مورد نیاز برای ارسال مجازی می شود. پس از تکمیل غیر مجازی سازی، هدف جاسازی شده در نظر گرفته می شود.

علاوه بر این، ساختار به روز شده JiT زبان میانی را مستقیماً به کد اسمبلی در زمان اجرا ترجمه می کند. همچنین به عنوان یک پیش کامپایل استفاده می شود که بخشی از سیستم بهینه سازی کد CrossGen2 است و با فرمت Ready to Run (R2R) پیاده سازی شده است.

# 2. تغییرات در انواع سیستم

تغییرات سیستم محور در سیستم دات نت تأثیر گسترده ای دارد. به عبارت دیگر، برخی تغییرات در جنبه های کلیدی سیستم می تواند تا حد زیادی در بهبود عملکرد و ساختار کلی کمک کند.

یکی از نمونه های اصلی این تغییرات Guid است. Guid یکی از ویژگی های دات نت است که برای ارائه شناسه های منحصر به فرد استفاده می شود. آنها می توانند برای هر تعداد چیز و عملیات باشند.

توسعه دهندگان باید این عملیات را به سرعت ایجاد کنند و با همان سرعت آنها را تجزیه و تحلیل، قالب بندی و اصلاح کنند.

یکی دیگر از به روز رسانی های ظریف اما مهم در اینجا این است Guid.NewGuid قابل استفاده در macOS پیش از این، به دلیل مشکلات عملکرد، این گزینه برای سیستم‌های macOS نبود. توسعه راه حل های مرتبط با macOS با استفاده از داده های خوانده شده توسط انجام شد / توسعه دهنده / تصادفیکه همان آنتروپی رمزنگاری را فراهم می کند.

اکنون، Guid.NewGuid جزء همان بیت های تصادفی قوی رمزنگاری را با استفاده از آن برمی گرداند CCRandomGenerateBytes.

در میان سایر بهبودهای جزئی، ما یک پیشرفت جدید داریم سیستم. متن سیستم تولید کد منبع JSON که بهره وری را افزایش می دهد. همچنین، FileStream بازنویسی شده است، که مشکلات عملکرد I / O قبلی را برطرف می کند.

# 3. حفاظت از لایه حمل و نقل

با به‌روزرسانی‌های جدید مؤلفه TLS، اکنون می‌تواند حتی برای راه‌حل‌های مبتنی بر لینوکس که قبلاً امکان‌پذیر نبود، اتصالات امن ایجاد کند. علاوه بر این، با ارائه پشتیبانی از لینوکس، TLS می تواند با افزایش سرعت تراکنش ها و فرآیندها، زمان لازم برای ایجاد اتصالات امن را کاهش دهد. در نهایت، ممکن است راه تهاجمی‌تری برای استفاده از فواصل در چرخه استقرار BigInteger ارائه دهد.

# 4. مجموعه ها و LINQ

نکته جالب در مورد این مؤلفه این است که در هر نسخه از دات نت پیشرفت هایی در انواع مجموعه و LINQ وجود دارد. هر از گاهی سریعتر و بهتر از قبل می شد.

این بهبودها با تغییراتی در اجرا می شوند واژه نامه زیرا به طور مکرر برای بهبود بهره وری استفاده می شوند.

در مورد دیگر، بارگیری داده ها از پایگاه داده، ذخیره فایل یا API برای ذخیره، ارسال، ارائه و دستکاری کاربران نهایی بهبود یافته است. این به این دلیل است که در میان تغییرات در ویژگی‌های دات‌نت، بهبود این فرآیندهای اصلی می‌تواند نتایج بسیار خوبی را ارائه دهد.

مثال زیر را ببینید؛

privateIEnumerable<KeyValuePair<string,int>> _dictionary =Enumerable.Range(0,100).ToDictionary(i=>i.ToString(),StringComparer.OrdinalIgnoreCase);
 	[Benchmark]
publicDictionary<string,int>Clone()=>newDictionary<string,int>(_dictionary);
روش زمان اجرا به این معنی نسبت
شبیه سازی Net Core 3.1 3,224 ما 1.00
شبیه سازی Net 5.0 2880 ما 0.89
شبیه سازی Net 6.0 1685 ما 0.52

مکمل‌هایی مانند این می‌توانند به طرز چشمگیری تغییرات عملکردی را در برخی موقعیت‌های خاص تحریک کنند. بنابراین می توانید از آنها استفاده کنید، اما مطمئن شوید که کاربرد و کاربرد آنها را درک می کنید.

# 5. C # 10

C # 10 به عنوان بخشی از بهبود عملکرد جدید در دات نت 6 و به روز رسانی ویژوال استودیو 2022 پیاده سازی شده است. این شامل ویژگی هایی برای کاهش استفاده با جدید است. استفاده جهانی بخشنامه و کار با استفاده های ضمنی برای همین هدف

سنتی استفاده كردن جهت ها و جهانی استفاده كردن این دستورالعمل ها در به روز رسانی جدید دات نت 6 با هم ترکیب شده اند و منجر به بهبود کلی در عملکرد می شوند.

جایی که استفاده های ضمنی به توسعه دهندگان اجازه می دهد تا فضاهای نام دات نت را متناسب با پروژه اضافه کنند، استفاده جهانی کامپوننت به شما امکان می دهد فضاهای نام اضافی را بیاورید و از آنها در طول پروژه استفاده کنید.

علاوه بر این، C # 10 ویژگی های بیشتری را به دات نت اضافه می کند و به توسعه دهندگان این امکان را می دهد که سریعتر و واضح تر کدگذاری کنند. چندین مزیت برای محک زدن دارد، از جمله یکی از آنها، HashData ().

HashData ()

این تابع هش داده ها را با استفاده از الگوریتم SHA256 برای رمزنگاری سیستم های امنیتی محاسبه می کند. مثال زیر را دنبال کنید؛

@page"/counter"
@usingSystem.Security.Cryptography
@usingSystem.Diagnostics
@usingSystem.Text
 
<h1>Hashing</h1>
 
<p>Time:@_time</p>
 
<button class="btnbtn-primary"@onclick="Hash">Click me</button>
 
@code	    {
privateconststringSonnet18=
@"Shall I compare thee to a summer’s day?
Thou art more lovely and more temperate:
Rough winds do shake the darling buds of May,
And summer’s lease hath all too short a date;
Sometime too hot the eye of heaven shines,
And often is his gold complexion dimm'd;
And every fair from fair sometime declines,
By chance or nature’s changing course untrimm'd;
But thy eternal summer shall not fade,
Nor lose possession of that fair thou ow’st;
Nor shall death brag thou wander’st in his shade,
When in eternal lines to time thou grow’st:
So long as men can breathe or eyes can see,
So long lives this, and this gives life to thee.";
 
privateTimeSpan _time;
 
privatevoidHash()
{
byte[] bytes =Encoding.UTF8.GetBytes(Sonnet18);
varsw=Stopwatch.StartNew();
for(inti=0;i<2000;i++)
{
        			_ = SHA256.HashData(bytes);
}
    		_time =sw.Elapsed;
}
}
روش زمان اجرا نتیجه بهبود
هش Net 5 JIT 0.454 میلی‌ثانیه
هش NET 6 JIT 0.280 میلی‌ثانیه 38%
هش NET 6 AOT 0.017 میلی‌ثانیه 38%

همانطور که در نتایج مشاهده می کنید، با این روش 96 درصد بهبود در تولید نتایج و عملکرد وجود دارد.

نگاهی به تغییرات عمده در ویژگی های دات نت 6

.NET 6 به روز شده بهبودهای عملکردی قابل توجهی را همراه با بهبود پشتیبانی ARM در ویندوز و مک اضافه می کند. همچنین شامل یک سیستم بهینه سازی پروفایل گرا (PGO)، API های جدید و غیره است. در اینجا مروری بر بهبودها و تغییرات اصلی است.

  • تست استرس تولید بخشی از خدمات مایکروسافت است و می تواند باشد توسط شرکت هایی که با برنامه های ابری کار می کنند استفاده می شود و برای پروژه های متن باز.
  • این یکی از آخرین نسخه های با پشتیبانی طولانی مدت (LTS) است که به مدت سه سال در حال اجرا است.
  • توسعه‌دهندگانی که روی مرورگر، ابر، دسکتاپ و برنامه‌های تلفن همراه کار می‌کنند که با فناوری‌های مختلف مانند اینترنت اشیا ادغام شده‌اند، اکنون می‌توانند کتابخانه‌های مشابه و کتابخانه‌های دات‌نت را به اشتراک بگذارند.
  • ما شاهد بهبود کلی در هر جزء، به خصوص در فایل I/O بوده ایم. به طور کلی، این منجر به کاهش زمان اجرا، تاخیر کم و استفاده از حافظه شده است.
  • از طریق اضافات به C # 10 شاهد چندین پیشرفت زبان در دات نت خواهید بود، مانند؛
    • سازه های ضبط
    • استفاده ضمنی
    • استفاده جهانی
    • قابلیت لامبدا (جدید)
    • مولدهای منبع افزایشی در کامپایلر
  • به طور مشابه، به روز رسانی های F # 6 شامل؛
    • به صورت ناهمزمان مبتنی بر وظیفه
    • اشکال زدایی خط لوله

اینها و بسیاری دیگر از بهبودهای عملکرد، ویژگی جدیدی را به دات نت اضافه می کنند که قابلیت های بهتری را برای توسعه دهندگان فراهم می کند.

  • در عین حال، بهبودهایی در ویژوال بیسیک وجود دارد که در آن تجربه بهتری از ویژوال استودیو برای فرم های ویندوز خواهید دید.
  • Hot Reload نیاز به راه اندازی مجدد یا کامپایل مجدد کد پس از هر تغییر را از بین می برد. به شما امکان می دهد همزمان با نوشتن کد و به روز رسانی برنامه، برنامه را به روز کنید.
  • به لحاظ سیار و توسعه وب اپلیکیشن، NET 6 سیستم تشخیص ابر بهتری را با Open Telemetry و Dotnet Monitor ارائه می دهد. این سرویس ها در مرحله تولید و کار با سرویس Azure App نیز در دسترس هستند و نگهداری می شوند.
  • رابط‌های برنامه‌نویسی JSON در نسخه بهبودیافته dot NET قابلیت‌های بهبود یافته‌ای دارند و عملکرد بالاتری را در حین کار با یک منبع مولد برای سریال‌ساز نشان می‌دهند.
  • برای ایجاد یک تغییر مثبت در خدمات HTTP مرتبط با دات نت، آخرین نسخه با حداقل API ارائه می شود که برای ساده کردن تجربه اولیه مفید است.
  • می توانید اجزای Blazor را با جاوا اسکریپت نمایش دهید و آنها را با برنامه های جاوا اسکریپت موجود ادغام کنید.
  • برای برنامه های BlazorWebAssembly (WASM)، دات نت 6 کامپایل WebAssembly AOT و پشتیبانی از خدمات زمان اجرا، از جمله سفارش مجدد وابستگی ها و وابستگی های سفارشی را فراهم می کند.
  • هر برنامه یک صفحه ای ایجاد شده با ASP.NET نسخه 6 مدل انعطاف پذیرتری دریافت کرده است. این برنامه ها اکنون می توانند با Angular، React و سایر فریم ورک های رابط محبوب ساخته شده بر روی جاوا اسکریپت استفاده شوند.
  • برای کمک به HTTPClient و gRPC در تعامل با سایر سرویس گیرندگان و سرورهای HTTP / 3، ویژگی های دات نت 6 HTTP / 3.
  • نسخه دات نت FileStream را از ابتدا بازنویسی کرده است که از پیوندهای نمادین در File IO و عملکرد بالاتر پشتیبانی می کند.
  • همچنین می توانید امنیت بهتری را در کنار آن مشاهده کنید بهبود عملکرد در NET 6. اینها شامل پشتیبانی بالاتر از OpenSSL 3، طرح رمزگذاری ChaCha20Poly1305 است. از نظر امنیت، برای نرم کردن عمق حفاظت در هنگام اجرا، به خصوص برای W ^ X و CET افزایش یافته است.
  • می توانید برنامه ها را با یک فایل (بدون استخراج) برای لینوکس، macOS و ویندوز منتشر کنید. در نسخه های قبلی این ویژگی فقط برای لینوکس در دسترس بود.
  • در میان دیگران بهبود یافته است ویژگی های دات نت 6، IL Trimming بهبود یافته و کارآمدتر شده است. این هشدارها و تحلیلگران جدیدی را ارائه می دهد که برای بهبود قابل توجه نتایج نهایی طراحی شده اند.
  • به روز رسانی جدید با ژنراتورها و تحلیلگرها ارائه می شود. آنها به طور ویژه طراحی و اضافه شده اند تا کد بهتر، ایمن تر و سازنده تر ایجاد کنند.
  • در نهایت، سازمان‌های بزرگی مانند Red Hat اکنون می‌توانند یک منبع دات‌نت بسازند و از مجموعه‌های مشابه برای کاربران خود استفاده کنند.

نتیجه

این خلاصه‌ای از نسخه کوتاه‌تر بهبودها، تغییرات، به‌روزرسانی‌ها و اصلاحات NET 6 است.همه این موارد اضافه شده برای بهبود فرآیند توسعه و تجربه بسیار مؤثر و مهم هستند. این به‌روزرسانی‌ها علاوه بر ارائه عملکرد بهتر، یک تجربه کلی توسعه مؤثر را از نظر سرعت، دقت و آزمایش تضمین می‌کنند. از موارد اضافه شده جدید استفاده کنید ویژگی های دات نت 6 و مراقب افزایش بهره وری و بهره وری توسعه باشید.

انتشار NET 6 Performance Enhancement Route اولین بار در مجله DEV IT ظاهر شد.



راهنمای کامل استفاده از Blazor در Asp.Net Core


مهندسین فناوری اطلاعات توسعه دهنده ما امروز با یک وبلاگ عالی دیگر بازگشته اند. امروز ما Blazor را در Asp.Net و روش صحیح پیکربندی محیط توسعه با یک نمونه برنامه مورد بحث قرار خواهیم داد.

در حال حاضر چگونه برنامه های وب را توسعه می دهیم؟

توسعه یک برنامه وب فرآیندی است که به چندین چیز نیاز دارد. یکی از این موارد توسعه سمت سرور و دیگری توسعه سمت مشتری است. در مورد توسعه سمت سرور، ما از زبان های سمت سرور مانند C#، Java، PHP و غیره استفاده می کنیم. از طرف دیگر، توسعه سمت کلاینت از انواع چارچوب های JS از جمله React، Angular و Vue استفاده می کند.

یادگیری زبان هم از سرور و هم از مشتری برای جلوتر ماندن از رقبا مهم است. با این حال، در عصر مدرن، یادگیری دو نوع زبان مختلف برای ایجاد برنامه های کاربردی وب کاملاً معکوس به نظر می رسد.

آیا می توانیم از سی # برای توسعه سرور و مشتری استفاده کنیم؟

بله، امکان استفاده از سی شارپ برای هر دو نوع توسعه وجود دارد و این کار با کمک Blazor انجام می شود که رابط کاربری تعاملی وب ایجاد می کند. این امر به کاهش نیاز توسعه دهندگان به یادگیری جاوا اسکریپت همراه با C کمک می کند و روند توسعه را هموار می کند. کد C # هم روی سرور و هم در مرورگر مشتری کار می کند و به توسعه دهندگان این امکان را می دهد تا به جای یادگیری مهارت های کاملاً جدید، با مهارت های موجود کار کنند.

بلزور چیست؟

Blazor مجموعه ای از ابزارهای ایجاد شده توسط تیم Microsoft ASP.NET برای برنامه های کلاینت دات نت و WebAssembly است.

  • Blazor بر روی ابزارهای وب موجود مانند HTML و CSS ساخته شده است و از سی # و سینتکس Razor به جای جاوا اسکریپت برای رابط کاربری وب استفاده می کند.
  • همچنین مزایای یک برنامه غنی و مدرن یک صفحه ای را با استفاده از دات نت به صورت سرتاسری به شما می دهد.
  • Blazor اساساً Razor و C # را در یک پروژه مشتری که فقط در یک مرورگر وب اجرا می شود ترکیب می کند.

چگونه مرورگر می تواند کد C # را اجرا کند؟

به طور کلی، مرورگرها فقط کد جاوا اسکریپت را اجرا می کنند و در نتیجه ممکن است اجرای کد C# در مرورگر شما غیرممکن به نظر برسد. با این حال، این کار با ابزار کمتر شناخته شده ای به نام WebAssembly انجام می شود.

WebAssembly یک زبان سطح پایین است که از لحاظ استفاده از فرمت باینری کاملاً شبیه به اسمبلر است. با این حال، این می تواند در یک مرورگر وب مدرن کار کند. Blazor کد C # را در مرورگر با استفاده از WebAssembly اجرا می کند. این به آن اجازه می دهد تا در محیط امنیتی ایمن مانند JavaScript Frameworks اجرا شود، همانطور که React انجام می دهد. این به توسعه دهندگان اجازه می دهد تا تقریباً از هر زبان برنامه نویسی مرورگر استفاده کنند، نه فقط C#.

WebAssembly بر اساس استانداردهای مختلف وب باز است و بخشی طبیعی از تمام مرورگرهای وب مدرن، از جمله مرورگرهای ساخته شده برای دستگاه های تلفن همراه است. در نتیجه، نیاز خاصی برای اجرای برنامه های Blazor بر روی دستگاه کاربر شما وجود ندارد و در نتیجه احتمال ایجاد مزاحمت های غیر ضروری برای آنها کاهش می یابد.

مدل های هاست بلزور

Blazor دو مدل میزبانی مختلف را در اختیار توسعه دهندگان قرار می دهد. اینها Blazor WebAssembly هستند که در سمت کلاینت اجرا می شوند و Blazor Server که در سمت سرور اجرا می شوند.

Blazor WebAssembly

Blazor WebAssembly مدل میزبانی سمت مشتری است و مستقیماً در مرورگر WebAssembly کار می کند. بنابراین، هر چیزی که یک برنامه نیاز دارد مستقیماً در مرورگر دانلود می شود (کد برنامه کامپایل شده، وابستگی ها و زمان اجرا دات نت).

حرفه ای ها:

  • Blazor WebAssembly در واقع نیازی به اتصال فعال به سرور ندارد.
  • از منابع مشتری استفاده می کند و بنابراین بار روی سیستم سرور شما را کاهش می دهد.
  • Blazor WebAssembly برای میزبانی برنامه به یک وب سرور کامل ASP.NET Core نیاز ندارد.

معایب:

  • پردازش اولین درخواست Blazor WebAssembly کمی زمان می برد، زیرا کل برنامه وب و داده های مورد نیاز خود را در مرورگر مشتری دانلود می کند.
  • همچنین به قابلیت های مرورگر مورد استفاده مشتری محدود می شود.
  • برنامه وب شما ممکن است خیلی سختگیرانه نباشد، زیرا کاربران شما ممکن است سخت افزار مناسبی از سوی مشتری برای پشتیبانی از آن نداشته باشند.

سرور Blazor

سرور Blazor یک مدل میزبانی سرور نامیده می شود که برنامه وب را روی سرور شما اجرا می کند و آن را از یک برنامه ASP.NET Core می سازد. این همچنین به یک اتصال SignalR بین سرور و مشتری نیاز دارد. هر بار که یک رویداد در سیستم مشتری رخ می دهد، اطلاعات آن از طریق اتصال منتقل می شود و توسط سرور پردازش می شود، که تفاوت را برای HTML تولید شده محاسبه می کند.

سپس، به جای ارسال مجدد تمام HTML از طریق پیوند، سرور فقط تفاوت را ارسال می کند تا زمان پاسخ را کاهش دهد. سپس توسط مرورگر به روز می شود.

Blazor از معماری برنامه تک صفحه ای استفاده می کند که به صورت پویا همان صفحه را در پاسخ به اقدامات کاربر بازنویسی می کند، مانند مورد React.

حرفه ای ها:

  • برنامه وب بسیار سریعتر بارگیری می شود، زیرا بارگیری اولیه در مرورگر مشتری به میزان قابل توجهی کاهش می یابد.
  • سرور Blazor می تواند از منابع سرور شما استفاده کند.
  • مشتری شما برای استفاده از برنامه وب فقط به مرورگر نیاز دارد.
  • برنامه بسیار امن تر است زیرا کد آن توسط مشتری ارسال نمی شود.

معایب:

  • برنامه برای میزبانی به یک هسته کامل ASP.NET نیاز دارد.
  • سرور Blazor همیشه به یک اتصال فعال به سرور نیاز دارد.
  • برنامه ممکن است به دلیل سفر دو طرفه داده در هر رویداد تاخیر داشته باشد.
  • مقیاس پذیری برنامه با Blazor Server بسیار دشوارتر از Blazor WebAssembly است.

چرا بلزور؟

Blazor با دادن دسترسی کاربران به سیستم توسعه کامل پشته با چارچوب دات نت، توسعه وب را بسیار آسان تر و پربارتر می کند. مزایایی که با Blazor دریافت می کنید در اینجا آمده است:

  1. دات نت دارای مجموعه بزرگی از APIها است که همه آنها با Blazor در دسترس هستند.
  2. از زبان های مدرن مختلف مانند C# می توان برای آسان تر کردن و جالب تر کردن فرآیند توسعه استفاده کرد.
  3. Blazor را می توان به راحتی در Visual Studio و Visual Studio Code کدگذاری کرد که بهترین IDE ها در همه پلتفرم ها هستند.
  4. Blazor مزایای عملکرد مختلفی را ارائه می دهد و بسته به مدل میزبانی که استفاده می کنید توسعه را بسیار آسان می کند.
  5. Blazor همچنین از ویژگی های چارچوب SPA (برنامه تک صفحه ای) مانند:
    • مسیریابی
    • لوازم تزئینی
    • تزریق اعتیاد
    • تعامل با جاوا اسکریپت
    • فرم ها و اعتبار سنجی
    • نمایش سرور

کجا می توانیم از Blazor استفاده کنیم؟

Blazor WebAssembly را می توان در هر مرورگر مدرنی استفاده کرد و تنها شرط آن این است که دستگاه مشتری از برنامه وب شما با منابع مورد نیاز پشتیبانی کند. لیست مرورگرهای پشتیبانی شده توسط Blazor به شرح زیر است:

  • IE
  • لبه، پایان
  • فایرفاکس
  • کروم
  • سافاری
  • IOS Safari
  • اپرا مینی
  • مرورگر اندروید
  • مرورگر بلک بری
  • اپرا موبایل
  • کروم برای اندروید
  • فایرفاکس برای آندروید
  • IE Mobile
  • مرورگر UC برای اندروید
  • اینترنت سامسونگ

راه اندازی محیط

برای راه اندازی Blazor بر روی ماشین محلی خود، به دو چیز نیاز دارید، یعنی. NET SDK 3.1 یا بالاتر و IDE (محیط توسعه یکپارچه).

1 Net SDK 3.1 یا جدیدتر را نصب کنید:

ابتدا باید نصب کنیدNET SDK 3.1یا هر نسخه بعدی برای بررسی اینکه آیا NET Core SDK روی دستگاه شما نصب شده است یا خیر، وارد کنیدDotnet-list-SDKدر خط فرمان دستور داده و مانند تصویر زیر اینتر را فشار دهید.

همانطور که در تصویر بالا مشاهده می کنید، در دستگاه من، اگر متوجه شدیدNET Core SDK 5.0.401نصب شد. اگر .NET Core SDK 3.1 یا بالاتر را نصب نکرده اید، لطفاً آن را از این URL نصب کنید.

2. محیط توسعه یکپارچه (IDE) برای توسعه برنامه Blazor:

برای توسعه اپلیکیشن Blazor می توانید از هر یک از IDE های زیر استفاده کنید.

  • ویژوال استودیو 2019
  • کد ویژوال استودیو
  • Net Core CLI

بیا شروع کنیم

از آنجایی که همه چیز آماده است و کار می کند، بیایید شروع کنیم:

1. ما 2 پروژه Blazor ایجاد خواهیم کرد. یکی از پروژه های Blazor توسط سرور (Blazor Server App) و دیگری توسط مشتری (Blazor WebAssembly App) میزبانی می شود. ویژوال استودیو 2019 را باز کنید و روی گزینه Create New Project کلیک کنید، همانطور که در تصویر زیر نشان داده شده است:

2. وقتی روی گزینه Create New Project کلیک کنید، پنجره Create New Project باز می شود. در جعبه متن جستجو، Blazor را جستجو کنید و در اینجا دو گزینه برای ایجاد پروژه های Blazor پیدا خواهید کرد، مانند شکل زیر:

ابتدا گزینه Blazor Server App را انتخاب کرده و مانند تصویر بالا روی دکمه Next کلیک کنید.

3. با کلیک بر روی دکمه Next، پنجره پیکربندی پروژه جدید باز می شود. در اینجا باید نام پروژه (BlazorServer) و مکانی را که می خواهید پروژه ایجاد کنید را مشخص کنید. همچنین نام راه حل (BlazorApplication) را مشخص کرده و در نهایت کلیک کنیدمورد بعدیهمانطور که در تصویر زیر نشان داده شده است را فشار دهید.

4. با کلیک بر روی دکمه Next، پنجره با اطلاعات اضافی باز می شود. در اینجا باید نسخه هدف دات نت فریم ورک، انواع احراز هویت و غیره را انتخاب کنید. .NET 5.0 که نسخه فعلی است را انتخاب کنید و به سادگی روی دکمه Create کلیک کنید، همانطور که در تصویر زیر نشان داده شده است:

5. سپس روی دکمه Create کلیک کنید، که یک برنامه سرور Blazor با ساختار فایل و پوشه پیش فرض ایجاد می کند.

6. حالا سریع یک پروژه دیگر اضافه کنید، یعنی. برای میزبانی توسط مشتری روی راه حل کلیک راست کرده و Add را انتخاب کنید اضافه کردن -> پروژه جدید … گزینه مطابق شکل زیر:

7. مشابه مرحله 2، این بار یک پنجره پروژه جدید باز می شود. الگوی اسمبلی وب را مطابق شکل زیر انتخاب کنید:

8. روی Next کلیک کنید و نام پروژه مناسب را مطابق شکل زیر وارد کنید:

9. مرحله بعدی مانند مرحله 4 است که باید فریم Target را انتخاب کرده و دکمه ایجاد را فشار دهیم، پروژه Blazor WebAssembly را در راه حل ما ایجاد می کند و به شکل زیر خواهد بود:

10. حالا بیایید راه حل خود را برای اجرای همزمان هر دو پروژه پیکربندی کنیم. بر روی راه حل کلیک راست کرده و گزینه تنظیم یک پروژه راه اندازی را از منوی زمینه انتخاب کنید. پنجره ای مانند تصویر زیر باز می شود:

مطابق تصویر بالا گزینه را انتخاب کرده و روی Apply کلیک کنید. اکنون می توانید هر دو پروژه را همزمان شروع کنید.

11. برای شروع پروژه، F5 را فشار دهید، مانند تصویر زیر، دو پنجره / تب مرورگر باز می شود:

تصویر اول توسط اپلیکیشن سرور Blazor و تصویر دوم توسط اپلیکیشن Blazor WebAssembly اجرا می شود. هر دو برنامه همانطور که انتظار می رود کار می کنند.

Blazor Server و Blazor WebAssembly تنها دو روش متفاوت برای میزبانی برنامه Blazor هستند. همه چیز در برنامه Blazor یک جزء تیغ است. اجزای سازنده بلوک های اصلی برنامه Blazor هستند. روشی که ما این کامپوننت ها را می سازیم برای برنامه سرور Blazor مانند برنامه Blazor WebAssembly یکسان است.

جزء بلزور

فایل های کامپوننت دارای پسوند .razor هستند. کامپوننت ها را می توان تودرتو، استفاده مجدد، در چندین پروژه به اشتراک گذاشت. در Solution Explorer، فایل Counter.razor را در زیر پوشه pages باز کنید. به شکل زیر خواهد بود:

اگر می بینید، ترکیبی از دو چیز است:

  1. نشانه گذاری HTML
  2. کد سی # (در بلوک کد @)

هنگامی که برنامه کامپایل می شود، کد HTML و C # به یک فراخوانی جزء تبدیل می شود و نام کلاس مانند فایل کامپوننت خواهد بود. نام کلاس جزء باید با حروف بزرگ شروع شود. در غیر این صورت با خطای کامپایل مواجه خواهید شد.

هنگامی که در مرورگر به “/ Counter” می رویم جزء Counter بالا نمایش داده می شود و این در بالای فایل به عنوان دستور صفحه @ نشان داده می شود. شما همچنین می توانید این مؤلفه را با استفاده از نحو HTML در هر مؤلفه دیگری جاسازی کنید.

نتیجه

با دنبال کردن این وبلاگ، باید بتوانید اهمیت استفاده از Blazor برای توسعه اپلیکیشن وب خود را درک کنید. اگر در حین راه اندازی یا ایجاد با مشکلی مواجه شدید، لطفاً در نظر خود در زیر دریغ نکنید و ما مطمئناً به زودی پاسخ خواهیم داد.

انتشار راهنمای کامل برای استفاده از Blazor در Asp.Net Core اولین بار در مجله DEV IT ظاهر شد.

مروری بر گردش کار ابر و XCode


اپل به تازگی از ابر XCode به عنوان بخشی از XCode 13 در WWDC 2021 رونمایی کرده است و بسیاری کنجکاو هستند که بدانند چه کار می کند و چگونه کار می کند. پاسخ بسیاری از سوالات خود در مورد فضای ابری XCode را در این پست خواهید یافت که با دقت توسط مهندسان DEV IT ما ساخته شده است. بیایید مستقیم وارد آن شویم.

ابر XCode چیست؟

ابر XCode یک سیستم یکپارچه سازی و تحویل مداوم (CI / CD) است که شامل XCode، TestFlight و App Store Connect و همچنین ابزارهای دیگر برای توسعه برنامه ها و چارچوب ها برای پلتفرم های اپل است.

یکپارچه سازی و تحویل مداوم (CI / CD) یک روش معمولی توسعه نرم افزار است که به شما در توسعه، مدیریت و توزیع برنامه های آزمایش کننده و مشتری کمک می کند و با ابر XCode امکان پذیر است.

با XCode Cloud چه کاری می توانید انجام دهید؟

با استفاده از ابر XCode، می توانید کارهای زیر را به صورت خودکار و اغلب انجام دهید:

  • پروژه خود را بسازید
  • انجام تست و بازرسی.
  • با TestFlight، می‌توانید نسخه‌های آزمایش‌کننده را توزیع کنید و بازخورد جمع‌آوری کنید و در عین حال حریم خصوصی کاربر را حفظ کنید.

پس از تأیید موفقیت آمیز نرم افزار با ابر XCode و TestFlight، می توانید بلافاصله نسخه جدیدی از نرم افزار خود را در اپ استور مستقر کنید.

* توجه – ابر XCode در حال حاضر در مرحله بتا است و یکی از ویژگی های XCode 13 است.

الزامات استفاده از ابر XCode

1. حساب توسعه دهنده

برای استفاده از ابر XCode، باید:

  • در برنامه توسعه دهنده اپل ثبت نام کنید (حساب توسعه دهنده الزامی است).
  • Apple ID خود را به XCode اضافه کنید.
  • شما نقش یا مجوز لازم را برای ایجاد یک ورودی برنامه در App Store Connect برای برنامه خود دارید.

2. پروژه و فضای کاری

برای استفاده از فضای ابری XCode، مطمئن شوید که پروژه و فضای کاری شما شرایط زیر را دارد:

  • شما در یک فضای کاری یا پروژه XCode کار می کنید.
  • وابستگی های شما و اشخاص ثالث اضافی باید برای فضای ابری XCode در دسترس باشند.
  • شما از امضای خودکار کد استفاده می کنید.

3. الزامات کنترل منبع

برای استفاده از ابر XCode، باید از Git برای کنترل منبع استفاده کنید.

ارائه دهندگان مدیریت کد منبع زیر (SCM) توسط ابر XCode پشتیبانی می شوند:

  • Bitbucket Cloud و Bitbucket Server
  • GitHub و GitHub Enterprise
  • GitLab و نمونه های GitLab خود مدیریت شده

کجا می توانید از ابر XCode استفاده کنید؟

1. از XCode و وب

آره! درست شنیدی؛ حتی اگر از XCode دور هستید می توانید از ابر XCode استفاده کنید.

می توانید با پیکربندی پروژه یا فضای کاری خود از محصول -> ابر XCode از ابر XCode استفاده کنید. همان داده ها به صورت آنلاین در دسترس خواهد بود.

* توجه داشته باشید – ابر XCode در حال حاضر در مرحله بتا است و یکی از ویژگی های XCode 13 است.

2. رابط کاربری ابری XCode

رابط کاربری فوق از فضای ابری XCode است که پس از پیکربندی موفقیت آمیز پروژه خود با ابر XCode می توانید آن را مشاهده کنید. این در بخش آخر صفحه ناوبری موجود است، یعنی. بخش اقدام

در سمت چپ می‌توانید بسیاری از گردش‌های کاری و فهرستی از کامپایل‌هایی را ببینید که با موفقیت کامپایل شده یا شکست خورده‌اند.

در سمت راست می‌توانید تمام بینش‌های همه اعضای تیم خود را ببینید. همه موارد بالا در Appstore Connect نیز موجود است، لطفاً تصویر زیر را ببینید.

گردش کار چیست؟

Workflow پیکربندی است که به ابر XCode می‌گوید چه اقداماتی را انجام دهد و چه زمانی انجام دهد.

ابر XCode مجموعه‌ای از گردش‌های کاری است که در صورت نیاز به طور خودکار اجرا می‌شوند.

گردش کار از 4 چیز تشکیل شده است

1. شرایط اولیه

بر اساس شرایط اولیه، اقدامات برای هر تغییر در شاخه ای که در حالت اولیه مشخص کرده ایم گرفته می شود. می توانیم چندین شاخه به گردش کار اضافه کنیم.

2. محیط زیست

در اینجا نسخه تعریف شده XCode، نسخه macOS، متغیرهای محیطی وجود دارد.

3. اعمال

4 نوع عمل انجام شده توسط ابر XCode

عمل پس از عمل

پیاده سازی TestFlight، ارسال اعلان ها پس از تنظیم همه موارد فوق، گردش کار به این صورت خواهد بود

منابع

مراجع 1، 2، 3

در این پست با استفاده اپل از XCode Cloud آشنا شدید. با انجام مراحل ذکر شده در بالا، XCode Cloud شما باید بدون هیچ مشکلی راه اندازی شود. لطفاً در وبلاگ بعدی ما نظر خود را در مورد موضوعی که می خواهید بررسی کنید دریغ نکنید.

انتشارات Cloud Overview و XCode Workflow برای اولین بار در مجله DEV IT ظاهر شد.