versin control بانک های اطلاعاتی
By placing under source control everything we need to describe any version of a database, we make it much easier to achieve consistent database builds and releases, to find out who made which changes and why, and to access all database support materials. Matthew Skelton explains how to make sure your version control system fully supports all phases of the database lifecycle, from governance, development, delivery and through to operations.
The Open XML SDK provides tools for working with Office Word, Excel, and PowerPoint documents. It supports scenarios such as:
- High-performance generation of word-processing documents, spreadsheets, and presentations.
- Document modification, such as adding, updating, and removing content and metadata.
- Search and replace content using regular expressions.
- Splitting up (shredding) a file into multiple files, and combining multiple files into a single file.
- Updating cached data and embedded spreadsheets for charts in Word/PowerPoint.
کتاب Rider Succinctly
Rider is the new .NET-centric IDE from JetBrains. In Rider Succinctly, author Dmitri Nesteruk introduces it to developers and provides an overview on its origins, functions, and features. With this ebook, readers will be ready to begin developing using Rider.
-
Introduction
-
Up and Running with Rider
-
Running, Debugging, and Testing
-
Search and Navigation
-
Coding Assistance
-
Code Generation
-
Refactoring
-
IDEA Platform Features
<MyComponent{...this.props} />
قسمتهای اول تا سوم این مقاله: + و + و +
در قسمت چهارم قصد داریم هدر مربوط به Content Expiration Date را توسط یک Http module به محتوای غیرپویای سایت مانند تصاویر ، فایلهای CSS و غیره اعمال کنیم. این روش از روش قسمت دوم سادهتر است و جامعتر.
ابتدا یک پروژهی Class library جدید را به نام StaticContentCacheModule ایجاد کرده و سپس ارجاعی را به اسمبلی استاندارد System.Web.dll به آن خواهیم افزود. سپس کدهای مرتبط با این ماژول به شرح زیر هستند:
//StaticCache .cs
using System;
using System.Web;
namespace StaticContentCacheModule
{
public class StaticCache : IHttpModule
{
public void Init(HttpApplication context)
{
context.PreSendRequestHeaders += context_PreSendRequestHeaders;
}
static void context_PreSendRequestHeaders(object sender, EventArgs e)
{
//capture the current Response
var currentResponse = ((HttpApplication)sender).Response;
if (CacheManager.ShouldCache(currentResponse.ContentType))
{
currentResponse.AddHeader("cache-control", "public");
currentResponse.AddHeader("Expires", DateTime.Now.Add(TimeSpan.FromDays(30)).ToString());
}
}
public void Dispose() { }
}
}
در اینجا ContentType تک تک عناصری که توسط وب سرور ارائه خواهند شد، بررسی میشود. اگر نیازی به کش شدن آنها وجود داشت (توسط کلاس CacheManager این امر مشخص میگردد)، هدر مربوطه اضافه میگردد.
//CacheManager.cs
using System;
namespace StaticContentCacheModule
{
class CacheManager
{
public static bool ShouldCache(string contentType)
{
contentType = contentType.ToLower();
string[] parts =
contentType.Split(
new[] { ';' },
StringSplitOptions.RemoveEmptyEntries
);
if (parts.Length > 0)
contentType = parts[0];
bool cache = false;
switch (contentType)
{
case "text/css":
cache = true; break;
case "text/javascript":
case "text/jscript":
cache = true; break;
case "image/jpeg":
cache = true; break;
case "image/gif":
cache = true; break;
case "application/octet-stream":
cache = true; break;
default:
{
if (contentType.Contains("javascript"))
cache = true;
if (contentType.Contains("css"))
cache = true;
if (contentType.Contains("image"))
cache = true;
if (contentType.Contains("application"))
cache = true;
}
break;
}
return cache;
}
}
}
در این کلاس، contentType دریافتی بررسی میشود. اگر نوع محتوای قابل ارائه از نوع CSS ، JavaScript ، تصویر و یا Application بود، یک مقدار true بازگشت داده خواهد شد.
نهایتا برای استفاده از این Http module جدید در IIS6 به قبل در وب کانفیگ برنامه خواهیم داشت:
<httpModules>
<add name="StaticContentCacheModule" type="StaticContentCacheModule.StaticCache, StaticContentCacheModule"/>
</httpModules>
و یا در IIS7 این تغییرات به صورت زیر میتواند باشد:
<system.webServer>
<modules>
<add name="StaticContentCacheModule" type="StaticContentCacheModule.StaticCache, StaticContentCacheModule"/>
</modules>
اکنون اگر یک پروژهی آزمایشی جدید ASP.Net را گشوده و فایل css سادهای را به آن اضافه کنیم، بررسی هدر نهایی توسط افزونهی YSlow به صورت زیر خواهد بود:
در این مقاله، به نحوهی دریافت مقادیر Query String با استفاده از زبان جاوااسکریپت خواهیم پرداخت. گاها در پروژهها نیاز است تا کاربر را با پارامترهایی به صورت query string، به صفحهای دیگر منتقل کنیم. با این حال به دو صورت میتوان این مقادیر را فراخوانی نمود:
- فراخوانی سمت سرور
- فراخوانی سمت کلاینت
زمانیکه صحبت از کد نویسی سمت کلاینت میشود، گزینهی بهتری بجز JavaScript وجود ندارد؛ که البته بسیار کارا و پر کاربرد است.
برای دریافت query string با زبان جاوااسکریپت میتوان از کد زیر استفاده کرد:
<script> (function () { // we can call getQueryStringByName from anywhere we want var result = getQueryStringByName('id'); alert(result); })(); function getQueryStringByName(name) { name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), results = regex.exec(location.search); return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); } </script>
getQueryStringByName:
با استفاده از این متد میتوان به query string دسترسی یافت. تابع getQueryStringByName حاوی یک ورودی میباشد که باید نام query string در آن قرار گیرد. در مثال بالا نام query string برابر است با language که بعد از اجرای پروژه، مقدار آن به صورت دیالوگ نمایش داده میشود.
برای دانلود پروژه اینجا کلیک کنید.
دریافت Git for Windows 2.37.0
Changes since Git for Windows v2.36.1 (May 9th 2022)
New Features
- Comes with Git v2.37.0.
- Many anti-malware products seem to have problems with our MSYS2 runtime, leading to problems running e.g.
git subtree
. We added a workaround that hopefully helps in most of these scenarios. - Comes with MSYS2 runtime (Git for Windows flavor) based on Cygwin 3.3.5.
- Comes with PCRE2 v10.40.
- Comes with Git LFS v3.2.0.
- Comes with GNU TLS v3.7.6.
- SSH's CBC ciphers, which were re-enabled in 2017 to better support Azure Repos have again been disabled by default because Azure Repos does not require them any longer.
- Comes with OpenSSL v1.1.1p.
- Comes with Git Credential Manager Core v2.0.779.
- Comes with cURL v7.84.0.