اشتراک‌ها
کتاب های رایگان برنامه نویسی

This list was originally a clone of stackoverflow - List of Freely Available Programming Books by George Stocker.

The list was moved to GitHub by Victor Felder for collaborative updating and maintenance. It grew to become one of the most popular repositories on Github, with over 80,000 stars, over 4000 commits, over 800 contributors, and over 20,000 forks. 

کتاب های رایگان برنامه نویسی
اشتراک‌ها
سایت Learn OpenGL

he focus of the tutorials are on Modern OpenGL. Learning (and using) modern OpenGL requires a strong knowledge of graphics programming and how OpenGL operates under the hood to really get the best of your experience. So we will start by discussing core graphi 

سایت Learn OpenGL
اشتراک‌ها
سیر تکاملی پایتون در سال های اخیر

According to several websites, Python is one of the most popular coding languages of 2015.

The programming language is currently being used by a number of high-traffic websites including Google, Yahoo Groups, Yahoo Maps, Linux Weekly News, Shopzilla and Web Therapy. Likewise, Python also finds great use for creating gaming, financial, scientific and educational applications 

سیر تکاملی پایتون در سال های اخیر
اشتراک‌ها
مقدمه ای بر XPLOT ،کتابخانه رسم نمودار در F#

XPlot is a cross-platform data visualization package for the F# programming language powered by JavaScript charting libraries Google Charts and Plotly. The XPlot library can be used interactively from F# Interactive, but charts can also be embedded in F# applications and in HTML reports. 

مقدمه ای بر XPLOT ،کتابخانه رسم نمودار در F#
اشتراک‌ها
پروژه‌ی Silver

Silver is a free implementation of Apple's Swift programming language.

With Silver, you can use Swift to write code directly against the .NET, Java, Android and Cocoa APIs. And you can also share a lot of non-UI code between platforms. 

پروژه‌ی Silver
اشتراک‌ها
ابزار جدید مایکروسافت برای تست‌نویسی برنامه‌های وب

مایکروسافت ابزار جدیدی را برای تست‌نویسی برنامه‌های وب به نام «Playwright» ارائه کرده است. با استفاده از این ابزار امکان انجام تست بر روی Chromium ، Firefox و WebKit با استفاده از یک API وجود دارد.

یک مثال ساده:

import { test, expect } from "@playwright/test";

test.describe("navigation", () => {
  test.beforeEach(async ({ page }) => {
    // Go to the starting url before each test.
    await page.goto("https://playwright.dev/");
  });

  test("main navigation", async ({ page }) => {
    // Assertions use the expect API.
    await expect(page).toHaveURL("https://playwright.dev/");
  });
});
ابزار جدید مایکروسافت برای تست‌نویسی برنامه‌های وب
نظرات مطالب
شروع به کار با DNTFrameworkCore - قسمت 6 - پیاده‌سازی عملیات CRUD موجودیت‌ها با استفاده از ASP.NET Core MVC
اگر از روش مطرح شده در مطلب « طراحی یک گرید با jQuery Ajax و ASP.NET MVC به همراه پیاده سازی عملیات CRUD»  استفاده می‌کنید، یک چنین نیازی خواهید داشت؛ اکشن‌متد زیر در قالب مشخصی این اطلاعات را به پارشال‌ویو مورد نظر ارسال خواهد کرد.
public async Task<IActionResult> List(TFilteredPagedQueryModel query)
{
    if (!await CheckPermissionAsync(ViewPermissionName)) return Forbid();

    query = query ?? Factory<TFilteredPagedQueryModel>.CreateInstance();
    var result = await ReadPagedListAsync(query);

    var model = new PagedListModel<TReadModel, TFilteredPagedQueryModel>
    {
        Query = query,
        Result = result
    };

    return PartialView(ListViewName, model);
}

نظرات مطالب
طراحی گردش کاری با استفاده از State machines - قسمت دوم
- بله. برای نمونه تریگر Save بر روی حالت InProgress، در مثال جاری وجود دارد.
- آیا برنامه‌ی وب یا چند ریسمانی هست؟ اگر بله از روش‌های قفل گذاری روی قسمتی از کد، برای جلوگیری از دسترسی همزمان به آن (حتی چند کلیک پشت سر هم کاربر هم در عمل همین معنا را پیدا می‌کند) استفاده کنید:
// فقط یک ترد امکان دسترسی به کد را داشته باشد
private static readonly SemaphoreSlim _semaphoreSlim = new SemaphoreSlim(1,1);

public async Task RunAsync()
{
   // شروع تمام تردها معلق خواهند شد تا این سمافور به پایان برسد
   // پس از پایان کار ترد جاری، فقط یک ترد در حال انتظار، مجوز دسترسی به قطعه کد بعدی را خواهد یافت و به همین ترتیب برای سایر تردها
   await _semaphoreSlim.WaitAsync(); 
   try
   {
       await Task.Delay(20000); // Your code here
   }
   finally
   {
      _semaphoreSlim.Release();
   }
}
- خطاها هم می‌توانند یک state جدید مانند Rejected مثال این مطلب باشند.
نظرات مطالب
انجام کارهای زمانبندی شده در برنامه‌های ASP.NET توسط DNT Scheduler
// فقط یک ترد امکان دسترسی به کد را داشته باشد
private static readonly SemaphoreSlim _semaphoreSlim = new SemaphoreSlim(1,1);

public override async Task RunAsync()
{
   // شروع تمام تردها معلق خواهند شد تا این سمافور به پایان برسد
   // پس از پایان کار ترد جاری، فقط یک ترد در حال انتظار، مجوز دسترسی به قطعه کد بعدی را خواهد یافت و به همین ترتیب برای سایر تردها
   await _semaphoreSlim.WaitAsync(); 
   try
   {
       await Task.Delay(20000); // Your code here
   }
   finally
   {
      _semaphoreSlim.Release();
   }
}