اشتراک‌ها
چگونه یک برنامه‌ی Vue.js را به Blazor تبدیل کنیم؟

Burke learns Blazor by porting a Vue.js app to Blazor

This summer, Burke and Jon are porting theurlist.com to Blazor - a real world JavaScript application written in Vue.js. Join them each week as they use Visual Studio, Visual Studio Code and GitHub Copilot to rebuild this app and try to tackle every frontend issue you might encounter along the way.
 

چگونه یک برنامه‌ی Vue.js را به Blazor تبدیل کنیم؟
اشتراک‌ها
آموزش احراز هویت در ASP.NET Core
These video shows you how to do code first migration in Asp.net core with Identity.You will be able to add migrations, update database and rename the identity tables to your choice.Its a step to learning real life coding that involves database and authorizations
 
آموزش احراز هویت در ASP.NET Core
اشتراک‌ها
Breaking changesهای مهاجرت به دات نت 5
Breaking changes for migration from version 3.1 to 5.0

If you're migrating from version 3.1 of .NET Core, ASP.NET Core, or EF Core to version 5.0 of .NET, ASP.NET Core, or EF Core, the breaking changes listed in this article may affect your app
Breaking changesهای مهاجرت به دات نت 5
نظرات مطالب
شروع به کار با AngularJS 2.0 و TypeScript - قسمت نهم - مسیریابی
- مدام باید developer tools مرورگر را باز نگه دارید و خطاهای اصلی را در آنجا مشاهده کنید (همیشه الزامی است و مهم).
- ممکن است هنوز تعدادی از فایل‌های ts. شما کامپایل نشده‌اند. یکبار از منوی Build گزینه‌ی Clean solution را انتخاب کنید و بعد هم ReBuild از نو انجام شود. در این‌حالت بررسی کنید که آیا تمام فایل‌های js تولید شده‌اند یا خیر (زیاد اتفاق می‌افتد).
- بهتر است از گوگل‌کروم استفاده کنید، چون developer tools آن این امکان را دارد که فایل‌ها را کش نکند که برای حالت توسعه بسیار مفید است (فایلی را تغییر می‌دهید، کامپایل هم شده‌است، اما مرورگر نمونه‌ی قدیمی کش شده را دریافت می‌کند و نه فایل جدید را (این هم زیاد اتفاق می‌افتد)):
 


- همچنین سه فایل آزمایش شده‌ی main.ts ، app.routes.ts و app.component.ts را با نمونه‌های خودتان تطابق دهید.
مطالب
درسی از بروسلی در توسعه‌ی نرم افزار!

نقل قولی از بروسلی:
The style doesn’t make the fighter, the fighter makes the style.

معادل آن در دنیای نرم افزار:
The process doesn’t make the developer, the developer makes the process.

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

ادامه مطلب :
Bruce Lee on Software Development

اشتراک‌ها
بررسی Visual Studio 2022 Preview 1

Visual Studio 2022 Preview 1 was released recently. While normally I hold off on talking about preview releases and other items that are going to change rapidly like .NET 6, I think it is important to know what VS2022 is all about so you know what to expect in the coming months. So in this video, we are going to see VS2022 in action, we will see what the new features are, and we will talk about what this means for VS2019. 

بررسی Visual Studio 2022 Preview 1
اشتراک‌ها
کتاب Entity Framework Core مختصر و مفید

Entity Framework is Microsoft’s flagship Object/Relation Mapper, and the recommended way to access relational databases. Entity Framework Core is a complete rewrite from the “classic” Entity Framework, building on the new multiplatform .NET Core framework and adding the ability to connect to nonrelational data sources while keeping the features that made Entity Framework Code First so popular. In Entity Framework Core Succinctly, join Ricardo Peres to explore this new version of the O/RM, from getting set up to avoiding common traps. 

کتاب Entity Framework Core مختصر و مفید
نظرات مطالب
احراز هویت و اعتبارسنجی کاربران در برنامه‌های Angular - قسمت دوم - سرویس اعتبارسنجی
با تغییر کلاس سرویس AppConfigService به شکل زیر :

import { HttpClient } from "@angular/common/http";
import { Injectable } from "@angular/core";

@Injectable()
export class AppConfigService {

    private config: IAppConfig;

    constructor(private http: HttpClient) { }

    loadClientConfig(): Promise<any> {
        return this.http.get<IAppConfig>("assets/client-config.json")
            .toPromise()
            .then(config => {
                this.config = config;
                console.log("Config", this.config);
            })
            .catch(err => {
                return Promise.reject(err);
            });
    }

    get configuration(): IAppConfig {
        if (!this.config) {
            throw new Error("Attempted to access configuration property before configuration data was loaded.");
        }
        return this.config;
    }
}

export interface IAppConfig {
    apiEndpoint: string;
    loginPath: string;
    logoutPath: string;
    refreshTokenPath: string;
    accessTokenObjectKey: string;
    refreshTokenObjectKey: string;
    adminRoleName: string;
}

و تغییر ماژول CoreModule به شکل زیر :

import { NgModule, Optional, SkipSelf, APP_INITIALIZER } from "@angular/core";
import { CommonModule } from "@angular/common";
import { RouterModule } from "@angular/router";
import { HTTP_INTERCEPTORS } from "@angular/common/http";

// import RxJs needed operators only once
import "./services/rxjs-operators";

import { HeaderComponent } from "./component/header/header.component";
import { AuthGuard } from "./services/auth.guard";
import { AuthInterceptor } from "./services/auth.interceptor";
import { AuthService } from "./services/auth.service";
import { AppConfigService } from "./services/app-config.service";
import { BrowserStorageService } from "./services/browser-storage.service";


@NgModule({
    imports: [CommonModule, RouterModule],
    exports: [
        // components that are used in app.component.ts will be listed here.
        HeaderComponent
    ],
    declarations: [
        // components that are used in app.component.ts will be listed here.
        HeaderComponent
    ],
    providers: [
        // global singleton services of the whole app will be listed here.
        BrowserStorageService,
        AppConfigService,
        AuthService,
        AuthGuard,
        {
            provide: HTTP_INTERCEPTORS,
            useClass: AuthInterceptor,
            multi: true
        },
        {
            provide: APP_INITIALIZER,
            useFactory: (config: AppConfigService) => () => config.loadClientConfig(),
            deps: [AppConfigService ],
            multi: true
        }
    ]
})
export class CoreModule {
    constructor( @Optional() @SkipSelf() core: CoreModule) {
        if (core) {
            throw new Error("CoreModule should be imported ONLY in AppModule.");
        }
    }
}
با خطای زیر مواجه شدم لطفا راهنمایی بفرمائید :

Error: Provider parse errors:
Cannot instantiate cyclic dependency! ApplicationRef ("[ERROR ->]"): in NgModule AppModule in ./AppModule@-1:-1 
اشتراک‌ها
معرفی سایت construx.vueocity.com
نویسنده کتاب Code Complete ، آقای استیو مک کانل (Steve McConnell )، با همکاری مدرسان سطح بالای دیگر، در سایت https://construx.vueocity.com آموزش‌های بسیار مفید برای مهندسی نرم افزار کاربردی ارائه می‌کنند.
آموزشها عبارتند از:
10x Software Development
Agile Planning and Estimation
Agile Practices for Developers
Agile Release Planning
Agile Requirements
Agile Requirements Modeling
Agile Team Metrics
Code Complete Essentials
Design Patterns
Developer Testing
Kanban Overview
Product Envisioning Overview
Scrum in Depth
Scrum in Depth Live
Scrum Overview
Software Configuration Management Overview
Software Design
Software Economics
Software Effectiveness Conference
Software Estimation
Software Project Management
Software Requirements
Software Risk Management
The Scrum Product Owner
Total Project Quality
Understanding Software Projects 
عضویت در این سایت برای یک هفته رایگان است. این آموزش‌ها به هیچ زبان برنامه نویسی وابسته نیستند و در تمام پروژه‌های متوسط و بزرگ نرم افزاری قابل استفاده هستند. در ابتدای هر آموزش کتابچه بسیار مفیدی که چکیده آموزش را در خود دارد نیز ارائه می‌شود.
معرفی سایت construx.vueocity.com
اشتراک‌ها
نحوه استفاده از source control بر روی دیتابیس

A robust DevOps environment requires having continuous integration for every component of the system. But far too often, the database is omitted from the equation, leading to problems from fragile production releases and inefficient development practices to simply making it harder to onboard new programmers.

In this article, we discuss the unique aspects of databases, both relational and NoSQL, in a successful continuous integration environment. 

نحوه استفاده از source control بر روی دیتابیس