.:: محمدحسین فخرآوری ::.

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

مشاهده قدرت سیگنال وای فای در ویندوز

عبارت Run را جست و جو کنید. سپس در پنجره باز شده ، عبارت cmd را جست و جو کنید و سپس روی اینتر کلیک کنید.

netsh wlan show interfaces

برچسب‌ها: سیگنال وای فای
محمدحسین فخرآوری ، سه شنبه ۱۴۰۴/۱۱/۰۷ ، 21:20

فعال‌کردن Copy/Paste در کنسول فایرفاکس

  1. در نوار آدرس بنویسید: about:config

  2. Enter بزنید و گزینه‌ی I accept the risk یا مشابه آن را تأیید کنید.

  3. در بخش جستجو این مقدار را بزنید: dom.events.testing.asyncclipboard

  4. مقدارش را روی true بگذارید.

  5. گزینه‌ی زیر را هم جستجو کنید: dom.allow_cut_copy

  6. این یکی را هم true کنید.

روش بعدی

استفاده از دستور ویژه در کنسول

۱. کنسول (Console) را باز کن.
۲. این دستور را تایپ کن و Enter بزن: allow pasting

دقت کن بدون پرانتز و دقیقاً همین عبارت باشد.

۳. بعد از Enter، فایرفاکس پیغام می‌دهد که paste فعال شد.
از این لحظه به بعد می‌توانی آزادانه Ctrl + V بزنی.

برچسب‌ها: فایرفاکس , Copy , Paste
محمدحسین فخرآوری ، شنبه ۱۴۰۴/۰۹/۰۸ ، 8:40

LIKE روی مجموعه


DECLARE @Codes TABLE(Code NVARCHAR(50));
INSERT INTO @Codes
VALUES(N'699962167387'),(N'604963100353'),(N'604963100387'),(N'604963100388'),(N'604963100391');

DECLARE @Codes2 NVARCHAR(MAX) = N'60496310010,60495770390,60492500391';
INSERT @Codes(Code)
SELECT * FROM STRING_SPLIT(@Codes2, ',') s WHERE LTRIM(RTRIM(s.value)) <> ''

SELECT * FROM Accounting.SanadLanguage sl WITH(NOLOCK)
WHERE EXISTS (SELECT 1 FROM @Codes c WHERE sl.Tozihat LIKE N'%'+c.Code+'%');

SELECT * FROM Accounting.SanadLanguage a WITH(NOLOCK)
JOIN @Codes b ON a.Tozihat LIKE N'%'+b.Code+'%'

برچسب‌ها: LIKE , EXISTS , JOIN
محمدحسین فخرآوری ، چهارشنبه ۱۴۰۴/۰۸/۲۸ ، 10:38

جدول کامل چک‌لیست تکنیکال SEO

توجه: چون این جدول خیلی طولانی‌ست، ادامه مطلب بروید.

ادامه نوشته
محمدحسین فخرآوری ، سه شنبه ۱۴۰۴/۰۸/۲۷ ، 12:34

نمونه سوالات رایگان پداگوژی (مربیگری) فنی و حرفه ای

https://drive.google.com/drive/folders/1lHN6kzNKZYmeOp0Q_1FnT5nz1HTkqy6_?usp=sharing

محمدحسین فخرآوری ، شنبه ۱۴۰۴/۰۸/۱۷ ، 12:29

gitignore

  • git rm -r --cached .
  • git add .
  • git commit -m 'Update .gitignore'
برچسب‌ها: gitignore , git
محمدحسین فخرآوری ، سه شنبه ۱۴۰۴/۰۷/۰۱ ، 15:30

HTTP Status code

ادامه نوشته
برچسب‌ها: HTTP Status code
محمدحسین فخرآوری ، یکشنبه ۱۴۰۴/۰۶/۳۰ ، 8:8

آموزش ساخت و انتشار پکیج در pub.dev

در این آموزش یاد می‌گیرید چگونه یک پکیج در فلاتر/دارت ایجاد کرده و آن را در سایت pub.dev منتشر کنید.
۱. ایجاد پروژه پکیج
در ترمینال دستور زیر را وارد کنید:

flutter create --template=package my_package

پوشه‌ای به نام my_package ساخته می‌شود.
۲. ویرایش pubspec.yaml
فایل pubspec.yaml را باز کنید و اطلاعات زیر را تکمیل کنید:
- name: نام پکیج
- description: توضیح کوتاه درباره پکیج
- version: نسخه پکیج (مثلاً 0.0.1)
- homepage یا repository: لینک گیت‌هاب یا سایت پروژه
۳. اضافه کردن کد
کدهای خود را داخل پوشه lib قرار دهید. بهتر است همه کدها در یک فایل اصلی یا پوشه extensions مدیریت شوند.
۴. تست پکیج
داخل پوشه test یک فایل بسازید (مثلاً my_package_test.dart) و کدهای تست خود را قرار دهید.
برای اجرای تست:

flutter test
۵. تکمیل فایل‌های ضروری
حتماً فایل‌های زیر را تکمیل کنید:
- README.md : توضیحات کامل پکیج و مثال‌های استفاده
- CHANGELOG.md : تغییرات هر نسخه
- LICENSE : نوع لایسنس (مثلاً MIT)
۶. ورود به pub.dev
با اکانت گوگل وارد سایت pub.dev شوید و مطمئن شوید در ترمینال نیز با همان اکانت لاگین کرده‌اید:
dart pub login
۷. اعتبارسنجی پکیج
قبل از انتشار، پکیج خود را بررسی کنید:
dart pub publish --dry-run
۸. انتشار پکیج
اگر مشکلی وجود نداشت، برای انتشار دستور زیر را بزنید:

dart pub publish

با تایید نهایی، پکیج شما در pub.dev قرار می‌گیرد.
۹. بروزرسانی نسخه
برای هر تغییر جدید:
- نسخه را در pubspec.yaml افزایش دهید (مثلاً 0.0.2)
- تغییرات را در CHANGELOG.md بنویسید
- دوباره publish کنید.
نتیجه‌گیری
با انجام مراحل بالا می‌توانید پکیج‌های اختصاصی خود را ساخته و در pub.dev منتشر کنید تا دیگران هم بتوانند از آن استفاده کنند.


https://github.com/fakhravari/flutter-fakhravari
https://pub.dev/packages/fakhravari

محمدحسین فخرآوری ، شنبه ۱۴۰۴/۰۵/۲۵ ، 13:37

تبدیل تاریخ فارسی به انگلیسی و برعکس

CREATE Function dbo.[EnToPersian] (@date datetime)
Returns nvarchar(50)
as
BEGIN
RETURN FORMAT(CAST( @date AS DATE),'yyyy/MM/dd', 'fa-ir')
END
SELECT dbo.[EnToPersian](GETDATE())

CREATE FUNCTION dbo.[PersianToEn]
(
@Date NCHAR(10)
)
RETURNS NVARCHAR(10)
AS
BEGIN
DECLARE @PERSIAN_EPOCH AS INT;
DECLARE @epbase AS BIGINT;
DECLARE @epyear AS BIGINT;
DECLARE @mdays AS BIGINT;
DECLARE @Jofst AS NUMERIC(18, 2);
DECLARE @jdn BIGINT;
DECLARE @iYear INT = CAST(SUBSTRING(@Date, 1, 4) AS INT);
DECLARE @iMonth INT = CAST(SUBSTRING(@Date, 6, 2) AS INT);
DECLARE @iDay INT = CAST(SUBSTRING(@Date, 9, 2) AS INT);
IF @iYear >= '1404'
SET @PERSIAN_EPOCH = 1948322;
ELSE
SET @PERSIAN_EPOCH = 1948321;
SET @Jofst = 2415020.5;


IF LEN(@Date) > 1
BEGIN
IF @iYear >= 0
BEGIN
SET @epbase = @iYear - 474;
END;
ELSE
BEGIN
SET @epbase = @iYear - 473;
END;
SET @epyear = 474 + (@epbase % 2820);
IF @iMonth <= 7
BEGIN
SET @mdays = (CONVERT(BIGINT, (@iMonth) - 1) * 31);
END;
ELSE
BEGIN
SET @mdays = (CONVERT(BIGINT, (@iMonth) - 1) * 30 + 6);
END;


END;


SET @jdn
= CONVERT(INT, @iDay) + @mdays + CAST(((@epyear * 682) - 110) / 2816 AS INT) + (@epyear - 1) * 365
+ CAST(@epbase / 2820 AS INT) * 1029983 + (@PERSIAN_EPOCH - 1);


RETURN CONVERT(NVARCHAR(11), CONVERT(DATETIME, (@jdn - @Jofst), 131), 120);
END;

SELECT dbo.[PersianToEn](dbo.[EnToPersian](GETDATE()))

محمدحسین فخرآوری ، یکشنبه ۱۴۰۴/۰۵/۱۲ ، 9:22

🌐 افزایش حملات سایبری در دوران جنگ، و اهمیت توجه به SQL Injection

در این روزهای پرتنش که حملات سایبری هم شدت گرفته، یکی از حملاتی که بیشتر از همیشه باید جدی گرفته بشه، SQL Injection هست.

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

چند سوال کلیدی که باید از خودمون بپرسیم:

  1. آیا نقاط ضعف مربوط به Injectionها در سیستم رو شناسایی و برطرف کردید؟
  2. آیا اطلاعات حساس و مهم رو رمزنگاری کردید؟
  3. آیا دسترسی‌ها رو در سطح Schema تفکیک کردید، یا همچنان با یک یوزر Owner به کل دیتابیس متصل می‌شید؟
  4. آیا ساختار Backup شما به گونه‌ای هست که در صورت نفوذ بتونید داده‌ها رو بازیابی کنید؟
  5. آیا از Backupها نسخه‌ی دوم تهیه و در مکان امن نگهداری می‌کنید؟
  6. آیا روی سرور دیتابیس، فایروال فعال و پیکربندی‌شده دارید؟
  7. آیا آخرین Service Packها و Patchهای امنیتی نصب شده‌اند؟
  8. آیا تنظیمات امنیتی مربوط به Service Accountهای SQL Server به‌درستی رعایت شده؟

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

برچسب‌ها: SQL Injection , sql server
محمدحسین فخرآوری ، دوشنبه ۱۴۰۴/۰۴/۰۹ ، 9:47

فعال کردن دو ویژگی WSL و Virtual Machine Platform

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

اجرای پاورشل با دسترسی ادمین از منوی استارت

آموزش نصب داکر

https://www.zoomit.ir/computer-learning/431716-docker-desktop-windows-11-10/

دانلود rabbitmq

https://www.rabbitmq.com/docs/download

محمدحسین فخرآوری ، یکشنبه ۱۴۰۴/۰۳/۱۸ ، 10:48

نظریه های سیاسی

برچسب‌ها: نظریه
محمدحسین فخرآوری ، پنجشنبه ۱۴۰۳/۱۲/۲۳ ، 10:18

گیت‌هاب کوپایلت چه قابلیت‌هایی ارائه می‎‌دهد؟

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

محمدحسین فخرآوری ، شنبه ۱۴۰۳/۱۰/۰۸ ، 13:12

چگونه ui ux کار با تجربه و خلاقی شویم؟

Stakeholders (ذینفعان)
این بخش به سوال‌هایی می‌پردازد که باید از ذینفعان پرسیده شود:

What do we want to do?
هدف پروژه چیست؟ این سوال به تعیین دقیق نیازها و چشم‌انداز کسب‌وکار کمک می‌کند.
For whom?
مشخص کردن مخاطب هدف (Target Audience) برای شناسایی نیازها و خواسته‌های کاربران.
Why? Business goal?
دلایل کسب‌وکاری پشت پروژه چیست؟ چگونه این پروژه به اهداف کلی سازمان کمک می‌کند؟
Competitors:
تحلیل رقبا برای شناسایی مزیت‌های رقابتی و نقاط ضعف آن‌ها.
Metrics:
تعیین شاخص‌های کلیدی عملکرد (KPIs) برای سنجش موفقیت پروژه.
Technical limitations:
شناسایی محدودیت‌های تکنولوژیک که می‌تواند روی اجرای پروژه تأثیر بگذارد.
هدف: شفاف‌سازی نیازها و ایجاد هم‌راستایی بین تیم‌های مختلف و ذینفعان.

ادامه نوشته
برچسب‌ها: ui , ux
محمدحسین فخرآوری ، سه شنبه ۱۴۰۳/۰۹/۲۷ ، 10:12

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

برای تصمیم گیری در مورد نسخه SQL Server مناسب برای برنامه‌ی خود، باید به عوامل زیر توجه کنید:
تعداد همزمان کاربران: اگر برنامه‌ی شما توسط تعداد زیادی همزمان کاربر استفاده می‌شود، نسخه SQL Server Express ممکن است محدودیت‌های کاربران همزمان داشته باشد. در این مورد، احتمالاً نیاز به نسخه‌های پیشرفته‌تر SQL Server مانند Standard یا Enterprise دارید.
حجم داده‌ها: برنامه شما به نظر می‌آید که داده‌های معمولی داشته باشد. اما تعداد روزانه فاکتورها و حجم داده‌ها می‌تواند افزایش یابد. اگر حجم داده‌ها به سرعت افزایش پیدا می‌کند، نسخه Express ممکن است به زودی به محدودیت حجم داده برخورد کند. در این صورت، نسخه‌های Standard یا Enterprise با قابلیت‌های مدیریت داده بزرگتر مناسب‌تر هستند.

ادامه نوشته
محمدحسین فخرآوری ، سه شنبه ۱۴۰۳/۰۷/۱۰ ، 8:16

راه اندازی SSL در IIS Local

دریافت فایل

برچسب‌ها: IIS , SSL
محمدحسین فخرآوری ، چهارشنبه ۱۴۰۳/۰۶/۲۱ ، 12:41

الگوی Factory برای ساختن نمونه‌های DbContext

https://github.com/fakhravari/FactoryDbContext

این سند روش استفاده از الگوی Factory برای ساختن نمونه‌های DbContext با کانکشن استرینگ مناسب را در پروژه ASP.NET Core توضیح می‌دهد.
این روش به مدیریت بهتر چندین کانکشن استرینگ، افزایش انعطاف‌پذیری و بهبود عملکرد کمک می‌کند.
این روش به صورت Code First نوشته شده است که دیتابیس دیفالت را از DesignTimeDbContextFactory پیدا می کند.

  • بعد از تنظیم کانکشن استرینگ


dotnet ef migrations add InitialCreate
dotnet ef database update

محمدحسین فخرآوری ، سه شنبه ۱۴۰۳/۰۴/۱۹ ، 13:8

ASP.NET MVC Aspose.Words

https://github.com/fakhravari/ASP.NET-MVC-Aspose.Words

برچسب‌ها: Aspose , Words , ASP , NET MVC
محمدحسین فخرآوری ، دوشنبه ۱۴۰۳/۰۴/۱۱ ، 15:15

انواع و کاربردھای نمودار ھا

انواع و کاربردھای نمودار ھا

برچسب‌ها: نمودار ھا
محمدحسین فخرآوری ، شنبه ۱۴۰۳/۰۴/۰۲ ، 7:16

مفهوم Attach و Detach در SQL Server

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

ادامه نوشته
برچسب‌ها: Attach , Detach , SQL Server
محمدحسین فخرآوری ، سه شنبه ۱۴۰۳/۰۳/۲۹ ، 7:13

توابع ریاضی (math) در سی شارپ

برچسب‌ها: math , توابع ریاضی
محمدحسین فخرآوری ، شنبه ۱۴۰۳/۰۳/۲۶ ، 12:57

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

برای تصمیم گیری در مورد نسخه SQL Server مناسب برای برنامه‌ی خود، باید به عوامل زیر توجه کنید:
تعداد همزمان کاربران: اگر برنامه‌ی شما توسط تعداد زیادی همزمان کاربر استفاده می‌شود، نسخه SQL Server Express ممکن است محدودیت‌های کاربران همزمان داشته باشد. در این مورد، احتمالاً نیاز به نسخه‌های پیشرفته‌تر SQL Server مانند Standard یا Enterprise دارید.
حجم داده‌ها: برنامه شما به نظر می‌آید که داده‌های معمولی داشته باشد. اما تعداد روزانه فاکتورها و حجم داده‌ها می‌تواند افزایش یابد. اگر حجم داده‌ها به سرعت افزایش پیدا می‌کند، نسخه Express ممکن است به زودی به محدودیت حجم داده برخورد کند. در این صورت، نسخه‌های Standard یا Enterprise با قابلیت‌های مدیریت داده بزرگتر مناسب‌تر هستند.

ادامه نوشته
محمدحسین فخرآوری ، شنبه ۱۴۰۳/۰۳/۱۲ ، 7:52

تشخیص عدد زوج و فرد

public static bool IsOdd(int value){return value % 2 != 0;}

public static bool IsEven(int value){return value % 2 == 0;}

برچسب‌ها: IsOdd , IsEven
محمدحسین فخرآوری ، چهارشنبه ۱۴۰۳/۰۳/۰۹ ، 8:41

تفاوت Build با Rebuild در Visual Studio

اگر برنامه نویس سی شارپ باشید و یا اینکه تجربه کار کردن با Visual Studio را داشته باشید، قطعا Build و Rebuild برای شما آشناست.
همانطور که می دانید ، بر روی هر پروژه ای در Visual studio اگر کلیک راست کنید ، یک منویی به شما نمایش داده می شود که از گزینه های اول این لیست Build و Rebuild می باشد. در این مقاله قصد داریم به صورت خلاصه در مورد تفاوت Build و Rebuild کردن پروژه ها مطالبی را بیان کنیم تا از این به بعد با داشتن آگاهی کامل اقدام به استقاده از آنها نمایید.

Build Solution

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

Rebuild Solution

تمامی اسمبلی های موجود را فارغ از اینکه تغییری در آنها وجود داشته است یا خیر مجدد Build میکند.
معمولا بعضی وقت های متوجه می شویم که Visual studio تغییراتی را که اعمال کرده ایم در خروجی اعمال نکرده است ، در این مواقع معمولا برای اینکه تغییرات را در خروجی مشاده نماییم Rebuild میزنیم. با Rebuild کردن تمامی فایل های خروجی حذف شده و اصلا بررسی نمی شود که کدام اسمبلی ها تغییر کرده اند، و سپس کل پروژه مجدد Build می شود و خروجی حاصل می شود.

محمدحسین فخرآوری ، چهارشنبه ۱۴۰۳/۰۳/۰۹ ، 8:25

How to Recover MS SQL Database from Suspect Mode

Recover MS SQL Database from Suspect Mode

1) EXEC sp_resetstatus ‘db_name’; ALTER DATABASE db_name SET EMERGENCY

2) DBCC CHECKDB (‘database_name’)

3) ALTER DATABASE database_name SET SINGLE_USER WITH ROLLBACK IMMEDIATE

4) DBCC CHECKDB (‘database_name’, REPAIR_REBUILD)

5) DBCC CHECKDB (‘database_name’, REPAIR_ALLOW_DATA_LOSS)

6) ALTER DATABASE database_name SET MULTI_USER

برچسب‌ها: Suspect Mode
محمدحسین فخرآوری ، شنبه ۱۴۰۳/۰۳/۰۵ ، 7:55

رفع خطا اتصال اینترنتی XMLHttpRequest error

1. Go to flutter\bin\cache
2. find a file named flutter_tools.stamp , compress it to zip file or whatever to retain a copy then delete the original one.
3. Go to flutter\packages\flutter_tools\lib\src\web and open chrome.dart file in your editor.
4. Find line '--disable-extension'
5. Comment it out and replace it with --disable-web-security.

static final Dio _dio = Dio(BaseOptions(

baseUrl: Config.ApiAdress,

contentType: Headers.formUrlEncodedContentType,

responseType: ResponseType.json,

receiveTimeout: const Duration(minutes: 1),

connectTimeout: const Duration(minutes: 1),

sendTimeout: const Duration(minutes: 1),

followRedirects: false,

receiveDataWhenStatusError: true,

headers: {

"Access-Control-Allow-Origin": "*",

"Access-Control-Allow-Credentials": "true",

"Access-Control-Allow-Headers":

"Origin,Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,locale",

"Access-Control-Allow-Methods": "GET, POST, PUT, PATCH, DELETE, OPTIONS"

},

));

برچسب‌ها: XMLHttpRequest , dio
محمدحسین فخرآوری ، دوشنبه ۱۴۰۳/۰۲/۳۱ ، 9:38

آموزش تغییر منطقه گوشی سامسونگ ؛ دریافت سریع تر آپدیت‌ها و فعال‌ کردن ضبط مکالمه

https://www.zoomit.ir/mobile-learning/411005-change-samsung-csc/

محمدحسین فخرآوری ، شنبه ۱۴۰۳/۰۲/۲۲ ، 11:4

ظبط فیلم از SpotPlayer

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

https://drive.google.com/file/d/1RZKFwxIYc4crbDuPymf-ZEiqY7yc-59L/view?usp=sharing

محمدحسین فخرآوری ، پنجشنبه ۱۴۰۲/۱۱/۱۲ ، 9:58