آلمان در میان کشورهای اروپایی، یکی از کشورهایی است که از مهاجران استقبال میکند. به دلیل اینکه این کشور، استانداردهای بالایی دارد و شرایط زندگی ایدهآلی ارائه میدهد، متقاضیان زیادی برای مهاجرت دارد. این متقاضیان ممکن است در روند اخذ ویزا با مشکلاتی مواجه شوند. یک مؤسسه مهاجرتی خوب جایی است که این مشکلات را حل میکند و راه را برای مهاجران هموارتر خواهد کرد. بهترین مؤسسه مهاجرتی به آلمان ویژگیهای زیر را دارد: مجوز رسمی یک مؤسسه مهاجرتی معتبر باید مجوز رسمی برای کار خود داشته باشد. پس قبل از انتخاب مؤسسه مهاجرتی آلمان، مطمئن شوید که مؤسسه دارای مجوز […] نوشته بهترین مؤسسه مهاجرتی به آلمان کجاست و چه ویژگیهایی دارد؟ اولین بار در آکادمی اکسیر. پدیدار شد. , ...ادامه مطلب
کاشت مو امروزه یکی از راههای محبوب برای بازیابی زیبایی و اعتماد به نفس است. با وجود تنوع در تکنیکهای کاشت مو، انتخاب بهترین روش برای شما ممکن است یک چالش باشد. در این مقاله، انواع تکنیکهای کاشت مو را مرور میکنیم و به شما کمک میکنیم تا روشی را انتخاب کنید که به نیازها و توقعات شما بیشترین تطابق را دارد. تکنیک FUTکاشت مو با استفاده از پیکربندی واحد تکهای به گفته بهترین کلینیک های کاشت مو در ایران، تکنیک FUT یا کاشت مو با استفاده از پیکربندی واحد تکهای یکی از روشهای معتبر و پرکاربرد در ارتقای خط مویی […] نوشته انواع تکنیکهای کاشت مو: کدام روش برای شما مناسب است؟ اولین بار در آکادمی اکسیر. پدیدار شد. , ...ادامه مطلب
ASP.NET Core 8x به همراه یک IResult جدید بهنام RazorComponentResult است که توسط آن میتوان در Endpointهای Minimal-API و همچنین اکشن متدهای MVC، از کامپوننتهای Blazor، خروجی گرفت. این خروجی نه فقط static یا به عبارتی SSR، بلکه حتی میتواند تعاملی هم باشد. در این مطلب، جزئیات فعالسازی و استفاده از این IResult جدید را در یک برنامهی Minimal-API بررسی میکنیم. ایجاد یک برنامهی Minimal-API جدید در دات نت 8 پروژهای را که در اینجا پیگیری میکنیم، بر اساس قالب استاندارد تولید شدهی توسط دستور dotnet new webapi تکمیل میشود. ایجاد یک صفحهی Blazor 8x به همراه مسیریابی و دریافت پارامتر در ادامه قصد داریم که یک کامپوننت جدید را به نام SsrTest.razor در پوشهی جدید ComponentsTests ایجاد کرده و برای آن مسیریابی از نوع page@ هم تعریف کنیم. یعنی نهفقط قصد داریم آنرا توسط RazorComponentResult رندر کنیم، بلکه میخواهیم اگر آدرس آنرا در مرورگر هم وارد کردیم، قابل دسترسی باشد. به همین جهت یک پوشهی جدید را به نام Components در ریشهی پروژهی Web API جاری ایجاد میکنیم، با این محتوا: برای ایده گرفتن از محتوای مورد نیاز، به «معرفی قالبهای جدید شروع پروژههای Blazor در دات نت 8» قسمت دوم این سری مراجعه کرده و برای مثال قالب سادهترین حالت ممکن را توسط دستور زیر تولید میکنیم (در یک پروژهی مجزا، خارج از پروژهی جاری): dotnet new blazor --interactivity None پس از اینکار، محتویات پوشهی Components آنرا مستقیما داخل پوشهی پروژهی Minimal-API جاری کپی میکنیم. یعنی در نهایت در این پروژهی جدید Web API، به فایلهای زیر میرسیم: - فایل Imports.razor_ ساده شده برا, ...ادامه مطلب
تابحال مطالب زیادی را در مورد تمیزکردن ورودیهای کاربران، توسط ابزارهای Anti-XSS مطالعه کردهاید: - «ایجاد یک ActionFilter جهت تمیز کردن اطلاعات ورودی در ASP.NET Core» هدف تمام آنها این است که اگر اطلاعاتی از کاربر دریافت شد، پس از تمیز شدن، مشکلی با نمایش آنها نداشته باشیم و به محض نمایش یک صفحه، قطعه کد جاوااسکریپتی موجود در ورودی اولیهی کاربر، در پشت صحنه به صورت خودکار اجرا نشود. اما ... هرچقدر هم سعی کنیم، به مواردی خواهیم رسید که ممکن است توسط این «تمیز کنندههای ورودی» پوشش داده نشوند و دست آخر، قابلیت اجرایی داشته باشند. در این حالت به مفهوم دیگری میرسیم به نام Content security policy headers و یا به اختصار CSP که اساسا اجرای هر نوع اسکریپت تزریق شدهای را در صفحه، ممنوع میکند: - «افزودن هدرهای Content Security Policy به برنامههای ASP.NET» - «تولید هدرهای Content Security Policy توسط ASP.NET Core برای برنامههای Angular» برای مثال زمانیکه تنظیم CSP ابتدایی زیر را داریم: Content-Security-Policy: default-src 'self' یعنی مرورگر فقط در این صفحه، اطلاعاتی را که متعلق به سایت و دومین جاری است، بارگذاری میکند. در این حالت دیگر ویدیوهای یوتیوب معرفی شده، فایلهای CSS و یا جاوااسکریپتی دریافتی از یک CDN دیگر اجرا نمیشوند؛ چون بارگذاری نخواهند شد. همچنین دیگر نمیتوان یک قطعهی اسکریپتی را هم داخل صفحه به صورت inline تعریف و اجرا کرد. یعنی حداقل اسکریپتهای داخل صفحهای Google analytics هم از کار خواهند افتاد. که این رفتار دقیقا مطلوب ما است؛ , ...ادامه مطلب
یکی از امکاناتی که Visual Studio 2022 به ما میدهد، یک REST CLIENT توکار است که با آن میتوانیم بدون Swagger، Post Man یا ابزارهای مشابه، Apiهای خود را تست کنیم. برای استفاده از آن، ابتدا یک پروژهی Api را داخل ویژوال استودیو با تنظیمات پیشفرض آن ایجاد میکنیم که شامل یک Controller به نام WeatherForecast است. سپس یک پوشه را درون آن با نامی دلخواه ایجاد میکنیم و داخل آن، یک فایل جدید را با پسوند http میسازیم. سپس این فایل http را باز میکنیم. اگر شروع به تایپ کردن کنیم، میتوانیم ببینیم که intellisense به ما http methodهای مختلف را نشان میدهد و میتوانیم از آنها استفاده کنیم. برای مثال یک درخواست Get را ایجاد میکنم: GET https://localhost:7092/WeatherForecast حال پروژه را اجرا میکنیم و بر روی فلش سبز رنگی که کنار درخواست ایجاد شده، کلیک میکنیم تا درخواست اجرا شود: در اینجا میتوانیم تعدادی متغیر را نیز تعریف کرده و از آنها استفاده کنیم: @hostname = localhost @port = 7092 @host = {{hostname}}:{{port}} GET https://{{host}}/WeatherForecast حال میخواهیم یک درخواست Post را ایجاد و ارسال کنیم. برای این منظور ابتدا داخل کنترلر WeatherForecast، یک اکشن متد Post را ایجاد میکنیم که در این مثال کاری با دیتای وارد شده نمیکند و فقط آنرا بازگشت میدهد: [HttpPost] public ActionResult Post(WeatherForecast weatherForecast) { //Code ... retu Ok(weatherForecast); } اکنون میتوانیم مانند زیر یک درخواست Post را با بدنهی json ایجاد کنیم: @hostname = localhost @port = 7092 @host = {{hostname}}:{{port}} @contentType = application/json POST https://{{host, ...ادامه مطلب
زبان برنامه نویسی Rust چیست؟ Rust یک زبان برنامه نویسی سیستمی است که برای ارائهی عملکرد و کنترل یک زبان سطح پایین و در عین حال ارائه high-level abstractions و تضمین safety، طراحی شدهاست. این یک زبان منبع باز است که در ابتدا توسط موزیلا توسعه داده شد و اکنون توسط جامعهی بزرگی از توسعه دهندگان نگهداری میشود. سینتکس Rust شبیه به ++C است. زبان برنامه نویسی Rust با ارائه memory safety, thread safety, and zero-cost abstractions باعث میشود کمتر مستعد خطاهای برنامه نویسی رایج باشد. فلسفهی این زبان، "Fearless Concurrency" است؛ به این معنا که طراحی شدهاست تا توسعه دهندگان را قادر به نوشتن کدهای همزمان، بدون ترس از ایجاد خطاهای مرتبط با حافظه کند. چرا باید از Rust استفاده کنیم؟ دلیل اصلی محبوبیت Rust در بین توسعه دهندگان، ویژگیهای منحصر به فرد آن است؛ از جمله: Memory Safety: ایمنی حافظه، ویژگی اصلی Rust است. Rust از سیستم ownership و borrowing برای اطمینان از تخصیص و آزادسازی صحیح حافظه استفاده میکند. سیستم ownership، مالکیت منابع را ردیابی میکند؛ در حالیکه سیستم borrowing دسترسی به منابع را برای جلوگیری از چندین مرجع تغییرپذیر، محدود میکند. این باعث میشود، کد Rust قابل اعتمادتر باشد و کمتر مستعد خطاهای مربوط به حافظه، مانند عدم ارجاع اشارهگر تهی و سرریز بافر باشد. Thread Safety: مدیریت thread safety را از طریق ownership و borrowing انجام میدهد. سیستم ownership تضمین میکند که فقط یک رشته میتواند در یک زمان، مالک یک منبع باشد و از data races جلوگیری میکند. سیستم borrowing دسترسی به منابع را محدود میکند تا از چندین مرجع قابل, ...ادامه مطلب
قیمت اسپیسر، واتراستاپ و میلگرد ساده در فروشگاه شهر مفتول را در این بخش مورد بررسی قرار میدهیم. در زمان ساختمانسازی، از مصالح مختلفی استفاده میشود. در واقع هر محصول از محصولات نامبرده کاربرد خاصی در ساختمانسازی دارند. اسپیسر، به منظور فاصله انداختن میلگرد و همچنین نگهداری مورد استفاده قرار میگیرد. میلگرد نیز محصولی است که به سبب آرماتوربندی و مسلح کردن بتن استفاده شده و واتراستاپ، نوار آببند بتن است. در صورتی که قصد خرید و فروش و اطلاع از قیمت هر یک از این مصالح را دارید، با شهر مفتول همراه باشید تا اسپیسر، واتراستاپ و میلگرد ساده را با مناسبترین قیمت خریداری کنید. قیمت روز اسپیسر قیمت روز اسپیسر بر اساس فاکتورهای مختلفی تعیین میشود. اما قبل از بیان قیمت اسپیسر، بهتر است با این محصول به طور کامل آشنا شوید. اسپیسر یا فاصله نگهدار، محصولی در سایز، ابعاد و مدلهای مختلف است. کاربرد اصلی این محصول ایجاد پوشش بر روی میلگردها است. در واقع از این محصول میتوان در پروژههای سدسازی و تونلسازی نیز استفاده نمود. استفاده از این قطعه کوچک، بسیار مهم و کاربردی بوده و مزایای زیادی هم دارد. به طوری که سبب افزایش کیفیت سازه و سرعت اجرا در انواع پروژههای ساختمانی میشود. اصلیترین کاربرد این محصول در ساختمانسازی و میلگرد، ایجاد و حفظ فاصله در میان میلگردها و پوشاندن میلگرد و در نهایت جلوگیری از زنگ زدن آن است. شاید بهتر باشد با فواید استفاده از این محصول به طور دقیقتر آشنا شوید. به طور کلی به مرور زمان، میلگردها در اثر تماس و مجاورت با هوا، دچار زنگزدگی شده و اکسید میشوند. این مسئله منجر به خوردگی میلگرد شده و خسارات زیادی را بر روی سازه میگذارند. زمانی که از اسپ, ...ادامه مطلب
فرض کنید کدی مانند زیر را در یک کامپوننت داریم و انتظار این است که با کلیک بر روی Section2، به بخش مورد نظر اسکرول شویم: @page "/test" <nav> <!-- یک روش --> <a href="#section2">Section2</a> <!-- روش دیگر --> <NavLink href="#section2">Section2</NavLink> </nav> @* ... *@ <h2 id="section2">It's Section2.</h2> @* ... *@ اما متاسفانه در Blazor Server تا نسخه فعلی آن (نسخه هفت)، این کار ساده به راحتی امکانپذیر نیست. همانطور که ملاحظه میکنید، به دو روش، نویگیشن انجام شدهاست؛ اما هیچیک ما را به هدف نمیرسانند. دلیل این موضوع، رفتار Blazor Server در بارگذاری صفحات میباشد. در حقیقت المانها موقع بارگذاری، هنوز در صفحه وجود ندارند. در واقع ابتدا نیاز است که اتصال SignalR برقرار شود و سپس دادهها از سرور دریافت شوند (مگر در حالت pre-rendered که مشکلات خاص خود را در پی دارد). برای انجام این کار دو روش وجود دارد؛ یکی بر پایهی جاوااسکریپت است و دیگری توسط توابع داخلی Blazor JS. روش جاوااسکریپتی ابتدا یک کامپوننت را به نام AnchorNavigation ایجاد مینماییم: @inject IJSRuntime JSRuntime @inject NavigationManager NavigationManager @implements IDisposable @code { protected override void OnInitialized() { NavigationManager.LocationChanged += OnLocationChanged; } protected override async Task OnAfterRenderAsync(bool firstRender) { await ScrollToFragment(); } public void Dispose() { NavigationManager.LocationChanged -= OnLocationChanged, ...ادامه مطلب
راههای موفقیت اپلیکیشن اندروید در گوگل پلییک برنامه اندروید میتواند دنیا را تغییر دهد زیرا ترکیبی از فناوری و تجارت است. خوش به حالت. اما بیش از 1.3 میلیون برنامه در Google Play وجود دارد. این بدان معناست که مهم نیست برنامه شما چقدر عالی است، به اندازه توانایی شما برای متقاعد کردن مردم برای دانلود آن خوب است. و اگر میخواهید برنامه خود را برای همه در دسترس قرار دهید، کونگ فوی Google Play خود را با سرعت کامل بالا ببرید. بنابراین چگونه میتوانید در میان جمعیت Google Play متمایز شوید؟ در زیر نکاتی وجود دارد که با شما به اشتراک می گذاریم! شرکت وب نگاه در توسعه و طراحی اپلیکیشن iOS و اندروید تجربه دارد. بنابراین، اگر به دنبال طراحی اپلیکیشن موبایل هستید که به کسب درآمد کمک می کند، با ایده اپلیکیشن خود با ما تماس بگیرید. دریافت مشاوره رایگان از کارشناسان ما را از دست ندهید. 09339017809 1. مراقب لینک های خود باشید نحوه قالب بندی پیوندهای برنامه شما در Google Play می تواند تفاوت زیادی ایجاد کند. اکثر مجریان Google Play از عبارت “فروشگاه Google Play” یا “Play Link” استفاده می کنند. اگر بتوانید از هر کسی که در مورد شما می نویسد بخواهید متن لنگر را تغییر دهد، می تواند بسیار مفید باشد. متن لنگر خوب با کلمات کلیدی مناسب از منبع قابل اعتمادی مانند TechCrunch یا Wired می تواند برنامه شما را حتی قبل از چند نصب اول رتبه بندی کند. هنگام صحبت با وبلاگ نویسان، سعی کنید آنها را متقاعد کنید که هنگام پیوند دادن به برنامه شما از اصطلاحات قانع کننده و توصیفی استفاده کنند. 2. از عناوین “cute” اجتناب کنید از شش میلیون عبارت منحصربهفرد که هر ماه در گوگل پلی جستجو میشوند، بیش از نیمی از آنها غلط ام, ...ادامه مطلب
اینطور که در این مطلب عنوان شده، ماوسهای قدیمی در اثر مشکلات سخت افزاری، میتوانند بهازای هر کلیک کاربر، دو سیگنال کلیک، ظرف مدت کوتاهی (برای مثال 5 میلی ثانیه) تولید کنند. برنامههای مبتنی بر Blazor، توسط متدهای نامتقارن میتوانند هردوی این سیگنالها را دریافت کرده و بنابراین متد مربوطه در کسری از ثانیه دوبار اجرا خواهد شد. برای رهایی از این مشکل میتوان از کدی شبیه زیر بهره جست: <button disabled="@_busy" Value="do-stuff" /> code{ private bool _busy = false; public async Task Handler() { if(_busy) retu; _busy = true; try { // do your thing } finally { _busy = false; } } } منطق آن ساده است؛ تا زمانی که اجرای متد، پایان نپذیرفتهاست، دکمهی مربوطه غیرفعال میگردد، تا نتوان دوباره روی آن کلیک کرد. اگر نمیخواهید به ازای هر کامپوننت، این کدهای تکراری را ایجاد کنید، میتوانید کدهای فوق را در قالب یک کامپوننت مانند زیر ایجاد کنید (با نام دلخواه HandleValidSubmitForm.razor): <EditForm Model="Model" OnValidSubmit="HandleValidSubmit"> @ChildContent?.Invoke(context) <button disabled="@_busy">Submit</button> </EditForm> @code { private bool _busy; [Parameter] public object? Model { get; set; } [Parameter] public EventCallback<EditContext> OnValidSubmit { get; set; } [Parameter] public RenderFragment<EditContext>? ChildContent { get; set; } private async Task HandleValidSubmit(EditContext editContext) { if (_busy) retu; _busy, ...ادامه مطلب
هوامی اخیراً فاش کرده است که Mi Band 5 در نیمه دوم سال 2020 معرفی خواهد شد. گفته می شود Mi Band 5 توسط NCC در تایوان تصدیق شده است. مدلی که دارای مجوز است در واقع به عنوان Mi Band 5 ذکر نشده است اما با شماره مدل XMSH10HM ظاهر می شود. سال گذشته ، هنگامی که Mi Band 4 توسط NCC در تایوان تایید شد ، با شماره مدل XMSH07HM ظاهر شد. در همین راستا ، Mi Band 3 شماره مدل XMSH05HM را پذیرفت. بنابراین به راحتی می توان گفت این Mi Band 5 است. پیش بینی می شود که این دستبند هوشمند دارای یک صفحه نمایش OLED 1.2 اینچی مناسب برای ورزش می باشد که نسبت به نمایشگر 0.95 اینچی در Mi Band 4 یک ارتقاء بزرگ خواهد بود.در یک پیشرفت مرتبط ، یک دستبند هوشمند دیگر شیائومی توسط شرکت اندونزی تلکام تأیید شده است. این دستبند به عنوان Mi Band 4C با شماره مدل HMSH01GE درج شده است. تعداد مدل دقیقاً برابر با شماره Redmi Band ذکر شده است. بنابراین ، دستبند Redmi ممکن است در برخی از بازارها با عنوان Mi Band 4C عرضه شود. وب سایت صدور گواهینامه حاوی جزئیاتی از دستبند هوشمند نیست. از این لیست می توانیم فرض کنیم که اندونزی یکی از بازارهایی است که گروه Redmi Band با عنوان Mi Band 4C راه اندازی می شود. هند نیز ممکن است این مدل را بدست آورد. Redmi Band از مشخصات فنی مناسبی برخوردار است که شامل صفحه نمایش رنگی OLED 1.08 اینچی ، عمر باتری 14 روزه ، سنسور ضربان قلب نوری و 5 ATM مقاومت در برابر آب است. همچنین برچسب قیمت ارزان تر فقط 95 یوان را اتخاذ می کند.نوشته دستبند Xiaomi Mi Band 5 در تایوان ، Mi Band 4C نیز تأیید شده است اولین بار در می مگ. پدیدار شد. , ...ادامه مطلب
بوک مارکدر این مطلب از بدوگیم قصد آموزش حمله فالکن Falcon (شاهین) برای گرفتن 3 ستاره رو داریم..با تغییرات اخیر و معرفی تاون هال 12 حملات فالکون قوی تر شده و تبدیل شده به یکی از بهترین استراتژی ها که میتونید با اون در حملات عادی و حملات وار 3 ستاره بگیرید…در این مطلب ما به شما آموزش میدیم که چطور باید حرفه ای اتک های فالکون بزنید…حملات فالکن چطور کار میکنه؟بخ, ...ادامه مطلب
بیشتر بازیکنان علاقهمند به بازی های جهان باز کامپیوتری با گیم Just Cause 3 آشنا هستند. این بار این بازی با نام Just Cause 3: WingSuit Tour برای اندروید منتشر شده است که تنها وظیفه اصلی شما پرواز و لذت بردن میباشد. برای پراوز کردن ابزار های گوناگونی به شما داده میشود به عنوان مثال گلایدر یا چتر با سقوط آزاد را تجربه خواهید کرد.همانطور که گفته شد در ب, ...ادامه مطلب
Logic Master 1 – Mind Twist یک بازی منطقی با سوالات غیر معمول و پیچیده که نیاز به خلاقیت دارند. به دنبال یک بازی خلاق و در عین حال عجیب هستید؟ اکنون می توانید با حل مسائل غیر معمول و پیچیده که تا به حال ندیده اید، می توانید یک متفکر منطقی شوید! این پازل شامل سوالات پیچیده است که شامل استفاده از حافظه، توجه و توانایی فکر کردن به … ۱۳۹۶-۱۲-۲۰ 307 بار , ...ادامه مطلب
اپلیکیشن Snapp یک نرم افزار جدید برای دسترسی سریع تر و راحت تر به تاکسی برای رسیدن به مقصد می باشد. برنامه اسنپ به شما این امکان را می دهد تمام تاکسی های اسنپ موجود در اطراف خود را آنلاین ببینید و با نزدیک ترین تاکسی به مقصد بروید. اگر به دنبال یک راه مناسب برای سفر های کوتاه شهری هستید بهترین اپلیکیشن نرم افزار Snapp می باشد. این برنامه … ۱۳۹۶-۱۲-۱۸ , ...ادامه مطلب