اطلاعات Claims در کوکی نگه داری میشوند و به این ترتیب نیاز نیست برای خواندن آنها به دیتابیس مراجعه کنیم.
این موضوع در UserId و UserName همینطور متد IsInRole که سمت کاربر را چک میکند کار را چک میکند استفاده میشود.
در این ویدیو می خواهیم فیلدهای درون ApplicationUser را به Claims تبدیل کنیم بدون اینکه از جدول Claims در دیتابیس Identity استفاده کنیم.
https://tinyurl.com/cdhk-claims-id
این موضوع در UserId و UserName همینطور متد IsInRole که سمت کاربر را چک میکند کار را چک میکند استفاده میشود.
در این ویدیو می خواهیم فیلدهای درون ApplicationUser را به Claims تبدیل کنیم بدون اینکه از جدول Claims در دیتابیس Identity استفاده کنیم.
https://tinyurl.com/cdhk-claims-id
Forwarded from کدهک
در سی شارپ قابلیت Garbage Collection حافظه ی مازاد را از سیستم خالی می کند.
این ابزار پاک سازی را در سه مرحله انجام میدهد که اصطلاحا Generation خوانده می شوند.
در مرحله ی اول اطلاعات درون Gen0 پاک سازی می شوند و همه ی اشیایی که دیگر استفاده نمی شوند از حافظه حذف می شوند. هر شی که در این مرحله پاک نشود به Gen1 منتقل میشود.
حافظه ی Gen1 در مقایسه با Gen0کمتر پاکسازی میشود.
به همین ترتیب وقتی پاکسازی روی Gen1 انجام میشود اشیایی که باقی می مانند به Gen2 منتقل میشود.
شانس اینکه حافظه ی Gen2 پاکسازی انجام شود کم است و معمولا داده های این بخش برای مدت زمان زیادی نگه داری میشوند.
متغیرهای استاتیک در Gen2 باقی می مانند.
اگر برای یک کلاس Finalizer تعریف کنید هیچوقت در Gen0 پاکسازی نمی شود و ممکن است پرفورمنس برنامه را پایین بیاورد.
زمانی که GC انجام میشود اجرای برنامه متوقت میشود. به همین دلیل GCتاثیر مستقیم در پرفورمنس دارد.
این ابزار پاک سازی را در سه مرحله انجام میدهد که اصطلاحا Generation خوانده می شوند.
در مرحله ی اول اطلاعات درون Gen0 پاک سازی می شوند و همه ی اشیایی که دیگر استفاده نمی شوند از حافظه حذف می شوند. هر شی که در این مرحله پاک نشود به Gen1 منتقل میشود.
حافظه ی Gen1 در مقایسه با Gen0کمتر پاکسازی میشود.
به همین ترتیب وقتی پاکسازی روی Gen1 انجام میشود اشیایی که باقی می مانند به Gen2 منتقل میشود.
شانس اینکه حافظه ی Gen2 پاکسازی انجام شود کم است و معمولا داده های این بخش برای مدت زمان زیادی نگه داری میشوند.
متغیرهای استاتیک در Gen2 باقی می مانند.
اگر برای یک کلاس Finalizer تعریف کنید هیچوقت در Gen0 پاکسازی نمی شود و ممکن است پرفورمنس برنامه را پایین بیاورد.
زمانی که GC انجام میشود اجرای برنامه متوقت میشود. به همین دلیل GCتاثیر مستقیم در پرفورمنس دارد.
کارگاه تخصصی DDD در ASP NET Core برگزار میشود.
سرفصلها:
SOLID
MediatR
CQRS Pattern
Designing Application Architecture
Value Objects
Entities
Domain Services
Domain Events
Aggregates
Factories
Repositories
Unit Of Work
Event Sourcing
Unit Testing
این کارگاه در مدت 10 ساعت به صورت غیر حضوری به همراه پیاده سازی یک پروژه ی عملی برگزار میشود.
اگر به تکنیک های پیشرفته معماری در دات نت علاقمند هستید و دوست دارید به صورت عملی با نحوه ی پیاده سازی پروژه های بزرگ و پیچیده آشنا شوید این دوره مخصوص شماست.
شروع دوره : 25 آبان 98
سطح دوره : پیشرفته
مبلغ : 250 هزارتومان
جهت ثبت نام یا کسب اطلاعات بیشتر با آیدی @codehak یا شماره 09380146555تماس بگیرید.
سرفصلها:
SOLID
MediatR
CQRS Pattern
Designing Application Architecture
Value Objects
Entities
Domain Services
Domain Events
Aggregates
Factories
Repositories
Unit Of Work
Event Sourcing
Unit Testing
این کارگاه در مدت 10 ساعت به صورت غیر حضوری به همراه پیاده سازی یک پروژه ی عملی برگزار میشود.
اگر به تکنیک های پیشرفته معماری در دات نت علاقمند هستید و دوست دارید به صورت عملی با نحوه ی پیاده سازی پروژه های بزرگ و پیچیده آشنا شوید این دوره مخصوص شماست.
شروع دوره : 25 آبان 98
سطح دوره : پیشرفته
مبلغ : 250 هزارتومان
جهت ثبت نام یا کسب اطلاعات بیشتر با آیدی @codehak یا شماره 09380146555تماس بگیرید.
Media is too big
VIEW IN TELEGRAM
آشنایی با Domain-Driven Design و MediatR
در این ویدیو سرفصلهای کارگاه تخصصی DDD در ASP NET Core معرفی می کنیم
ابتدا با مفاهیم DDD در توسعه ی پروژه های نرم افزاری آشنا میشویم و سپس می بینم که چطور با MediatR می توان پیاده سازی معماری های پیچیده را ساده کرد.
در این ویدیو سرفصلهای کارگاه تخصصی DDD در ASP NET Core معرفی می کنیم
ابتدا با مفاهیم DDD در توسعه ی پروژه های نرم افزاری آشنا میشویم و سپس می بینم که چطور با MediatR می توان پیاده سازی معماری های پیچیده را ساده کرد.
در این ویدیو می بینیم که چطور در یک برنامه ی کنسول NET Core میشود از سیستم تزریق وابستگی استفاده کرد و از دیتابیس ساخته شده با EntityFramework گزارش گرفت.
https://tinyurl.com/cdhk-con-di
https://tinyurl.com/cdhk-con-di
Forwarded from کدهک
کارگاه تخصصی DDD در ASP NET Core برگزار میشود.
سرفصلها:
SOLID
MediatR
CQRS Pattern
Designing Application Architecture
Value Objects
Entities
Domain Services
Domain Events
Aggregates
Factories
Repositories
Unit Of Work
Event Sourcing
Unit Testing
این کارگاه در مدت 10 ساعت به صورت غیر حضوری به همراه پیاده سازی یک پروژه ی عملی برگزار میشود.
اگر به تکنیک های پیشرفته معماری در دات نت علاقمند هستید و دوست دارید به صورت عملی با نحوه ی پیاده سازی پروژه های بزرگ و پیچیده آشنا شوید این دوره مخصوص شماست.
شروع دوره : 25 آبان 98
سطح دوره : پیشرفته
مبلغ : 250 هزارتومان
جهت ثبت نام یا کسب اطلاعات بیشتر با آیدی @codehak یا شماره 09380146555تماس بگیرید.
سرفصلها:
SOLID
MediatR
CQRS Pattern
Designing Application Architecture
Value Objects
Entities
Domain Services
Domain Events
Aggregates
Factories
Repositories
Unit Of Work
Event Sourcing
Unit Testing
این کارگاه در مدت 10 ساعت به صورت غیر حضوری به همراه پیاده سازی یک پروژه ی عملی برگزار میشود.
اگر به تکنیک های پیشرفته معماری در دات نت علاقمند هستید و دوست دارید به صورت عملی با نحوه ی پیاده سازی پروژه های بزرگ و پیچیده آشنا شوید این دوره مخصوص شماست.
شروع دوره : 25 آبان 98
سطح دوره : پیشرفته
مبلغ : 250 هزارتومان
جهت ثبت نام یا کسب اطلاعات بیشتر با آیدی @codehak یا شماره 09380146555تماس بگیرید.
آشنایی با Rate Limiting در ASP NET Core
در این ویدیو می بینیم که چطور میشود در ASP NET Core ترافیک ورودی به سایت رو بر اساس یک آی پی خاص محدود کرد و فقط به تعداد مشخصی پاسخ داد.
https://tinyurl.com/cdhk-rate-lmt
در این ویدیو می بینیم که چطور میشود در ASP NET Core ترافیک ورودی به سایت رو بر اساس یک آی پی خاص محدود کرد و فقط به تعداد مشخصی پاسخ داد.
https://tinyurl.com/cdhk-rate-lmt
آخرین فرصت ثبت نام در کارگاه تخصصی DDD
اگر به تکنیک های پیشرفته معماری در دات نت علاقمند هستید و دوست دارید به صورت عملی با نحوه ی پیاده سازی پروژه های بزرگ و پیچیده آشنا شوید این دوره مخصوص شماست.
شروع دوره : 25 آبان 98
سطح دوره : پیشرفته
مبلغ : 250 هزارتومان
جهت ثبت نام یا کسب اطلاعات بیشتر با آیدی @codehak یا شماره 09380146555تماس بگیرید.
اگر به تکنیک های پیشرفته معماری در دات نت علاقمند هستید و دوست دارید به صورت عملی با نحوه ی پیاده سازی پروژه های بزرگ و پیچیده آشنا شوید این دوره مخصوص شماست.
شروع دوره : 25 آبان 98
سطح دوره : پیشرفته
مبلغ : 250 هزارتومان
جهت ثبت نام یا کسب اطلاعات بیشتر با آیدی @codehak یا شماره 09380146555تماس بگیرید.
Forwarded from کدهک
فونت FiraCode به صورت Mono Space است که برای کد نویسی بسیار مناسب است.
همچنین این فونت دارای لیگاتور است و بجای کاراکترهایی نظیر == یا => از نماد استفاده میکند.
دانلود :
https://bit.ly/2byEo9Y
همچنین این فونت دارای لیگاتور است و بجای کاراکترهایی نظیر == یا => از نماد استفاده میکند.
دانلود :
https://bit.ly/2byEo9Y
ایران رتبه دوم پروژه های متن باز
آمار گیتهاب مربوط به 2019 منتشر شد که نشان میدهد این شبکه موفق شده در سال جاری بیش از 10 میلیون کاربر جدید جذب کند و تعداد کل کاربران خود را به 40 میلیون افزایش دهد.
با اعمال تحریم ها کاربران ایرانی مجبور شدند پروژه های خود را به صورت متن باز منتشر کنن و آمار نشان میدهد ایران بعد از نیجریه بیشترین میزان رشد را در بین پروژه های متن باز داشته است.
به طور کلی امسال آسیا در رتبه ی اول پروژه های متن باز قرار گرفت.
آمار گیتهاب مربوط به 2019 منتشر شد که نشان میدهد این شبکه موفق شده در سال جاری بیش از 10 میلیون کاربر جدید جذب کند و تعداد کل کاربران خود را به 40 میلیون افزایش دهد.
با اعمال تحریم ها کاربران ایرانی مجبور شدند پروژه های خود را به صورت متن باز منتشر کنن و آمار نشان میدهد ایران بعد از نیجریه بیشترین میزان رشد را در بین پروژه های متن باز داشته است.
به طور کلی امسال آسیا در رتبه ی اول پروژه های متن باز قرار گرفت.
طبق آمار گیتهاب ASP NET Core سریعترین رشد را از نظر میزان مشارکت کنندگان متن باز داشته است.
مایکروسافت با اجرای سیاست های جدید موفق شده توجه بسیاری از برنامه نویسان متن باز را به سمت خود جلب کند.
در حال حاضر بخش بزرگی از پروژه هایی مثل VSCode و ASP NET Core توسط افرادی خارج از مایکروسافت توسعه داده میشود.
مایکروسافت با اجرای سیاست های جدید موفق شده توجه بسیاری از برنامه نویسان متن باز را به سمت خود جلب کند.
در حال حاضر بخش بزرگی از پروژه هایی مثل VSCode و ASP NET Core توسط افرادی خارج از مایکروسافت توسعه داده میشود.
زبانهای برنامه نویسی با سریعترین رشد در گیتهاب
طبق آمار گیتهاب زبان Dart سریعترین رشد را در بین سایر زبانهای برنامه نویسی داشته است. با توجه به سرمایه گذاری گوگل در Flutter که از زبان Dart برای توسعه اپ های موبایل چند پلتفرمه استفاده میکند Dart بعد از سالها دوباره در حال رشد است.
با همه ی پیچیدگی های Rust اما این زبان برای برنامه نویسی سیستم و بازی های رایانه ای اقبال بسیار خوبی داشته است و کم کم خودش را به عنوان جایگزین خوبی برای ++C و C معرفی میکند.
طبق آمار گیتهاب زبان Dart سریعترین رشد را در بین سایر زبانهای برنامه نویسی داشته است. با توجه به سرمایه گذاری گوگل در Flutter که از زبان Dart برای توسعه اپ های موبایل چند پلتفرمه استفاده میکند Dart بعد از سالها دوباره در حال رشد است.
با همه ی پیچیدگی های Rust اما این زبان برای برنامه نویسی سیستم و بازی های رایانه ای اقبال بسیار خوبی داشته است و کم کم خودش را به عنوان جایگزین خوبی برای ++C و C معرفی میکند.
اولین قسمت از سری فیلمهای داستان اسباب بازی 24 سال پیش ساخته شد. با توجه به گرافیک سه بعدی تولید این فیلم در سال 1995 یک چالش جدی بود.
برای رندر کردن تصاویر به همراه نورپردازی نهایی از 117 کامیپوتر Sun Microsystems استفاده شد که در مجموع دارای 300 پردازنده بودند.
بسته به میزان پیچیدگی رندر شدن هر فریم بین 45 دقیقه تا 30 ساعت طول میکشید.
فیلم 77 دقیقه بود و شامل 114,240 فریم میشد و در نهایت 800,000 ساعت ماشین صرف رندر کردن تصاویر شد که چند ماه طول کشید.
بودجه تولید فیلم 30 میلیون دلار بود و درآمد نهایی آن از گیشه به 400 میلیون دلار رسید. این مبلغ جدا از سود حاصل از فروش DVD یا محصولات دیگر فیلم است.
برای رندر کردن تصاویر به همراه نورپردازی نهایی از 117 کامیپوتر Sun Microsystems استفاده شد که در مجموع دارای 300 پردازنده بودند.
بسته به میزان پیچیدگی رندر شدن هر فریم بین 45 دقیقه تا 30 ساعت طول میکشید.
فیلم 77 دقیقه بود و شامل 114,240 فریم میشد و در نهایت 800,000 ساعت ماشین صرف رندر کردن تصاویر شد که چند ماه طول کشید.
بودجه تولید فیلم 30 میلیون دلار بود و درآمد نهایی آن از گیشه به 400 میلیون دلار رسید. این مبلغ جدا از سود حاصل از فروش DVD یا محصولات دیگر فیلم است.
آشنایی با InfluxDb
دیتابیس InfluxDb یک دیتابیس از نوع سری زمانی است که اطلاعات را درون کلیدی از جنس زمان با دقت نانو ثانیه ذخیره میکند.
در این ویدیو با استفاده از ASP NET Core اطلاعاتی را درون این دیتابیس ذخیره می کنیم و سپس با استفاده از Grafana به صورت گراف نمایش میدهیم.
https://tinyurl.com/cdhk-influx
دیتابیس InfluxDb یک دیتابیس از نوع سری زمانی است که اطلاعات را درون کلیدی از جنس زمان با دقت نانو ثانیه ذخیره میکند.
در این ویدیو با استفاده از ASP NET Core اطلاعاتی را درون این دیتابیس ذخیره می کنیم و سپس با استفاده از Grafana به صورت گراف نمایش میدهیم.
https://tinyurl.com/cdhk-influx
نسخه ی نهایی NET Core 3.1 منتشر شد
این نسخه قابلیت جدید خاصی ندارد اما بیش از 150 مورد رفع باگ و بهبود پرفورمنس را شامل میشود که در دو ماه گذشته روی نسخه 3.0 اعمال شده است.
نکته ی مهم پشتیبانی بلند مدت مایکروسافت یا LTS است که به مدت سه سال روی این نسخه اعمال میشود. به این ترتیب هر باگ یا مشکل امنیتی که در این نسخه وجود داشته باشد تا سه سال آینده رفع و در قالب نسخه های مینور آپدیت خواهد شد.
برای استفاده از این نسخه می توانید به سایت dot.net سر بزنید یا نسخه ی جاری VS 2019 خود را آپدیت کنید.
همچنین ASP NET Core 3.1 به همراه Entity Framework 3.1 و EF 6.4 هم به همراه این نسخه منتشر شدند.
ابزار Blazor Web Assembly هنوز در وضعیت Preview قرار دارد اما سازگاری با iOS 13 به آن اضافه شده است.
این نسخه قابلیت جدید خاصی ندارد اما بیش از 150 مورد رفع باگ و بهبود پرفورمنس را شامل میشود که در دو ماه گذشته روی نسخه 3.0 اعمال شده است.
نکته ی مهم پشتیبانی بلند مدت مایکروسافت یا LTS است که به مدت سه سال روی این نسخه اعمال میشود. به این ترتیب هر باگ یا مشکل امنیتی که در این نسخه وجود داشته باشد تا سه سال آینده رفع و در قالب نسخه های مینور آپدیت خواهد شد.
برای استفاده از این نسخه می توانید به سایت dot.net سر بزنید یا نسخه ی جاری VS 2019 خود را آپدیت کنید.
همچنین ASP NET Core 3.1 به همراه Entity Framework 3.1 و EF 6.4 هم به همراه این نسخه منتشر شدند.
ابزار Blazor Web Assembly هنوز در وضعیت Preview قرار دارد اما سازگاری با iOS 13 به آن اضافه شده است.
آشنایی با Operator Overloading
با استفاده از مکانیزم Operator Overloading در سی شارپ می توان رفتار عملگرهایی مثل جمع یا تساوی یا تغییر داد یا حتی عملگر جدید تعریف کرد.
https://tinyurl.com/r9o5m8n
با استفاده از مکانیزم Operator Overloading در سی شارپ می توان رفتار عملگرهایی مثل جمع یا تساوی یا تغییر داد یا حتی عملگر جدید تعریف کرد.
https://tinyurl.com/r9o5m8n
Forwarded from اِسکیلی Skilly (مهدی کرامتی)
🔈 دیگر وقت آن است که به فکر مهاجرت به .Net Core 3.1 باشید.
برنامه نویس
پایان پشتیبانی از .Net Core 2.2 در دوشنبه، 2 دی ماه 98
.Net Core 2.2 در 13 آذر 1397 منتشر شده بود. این نگارش از .Net Core به عنوان یک نگارش فاقد پشتیبانی طولانی مدت، تا 3 ماه پس از انتشار نگارش بعدی پشتیبانی خواهد شد. .Net Core 3.0 در 1 مهر 1398 منتشر شده است، بنابراین پشتیبانی از .Net Core 2.2 در تاریخ 2…
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
🔰راه اندازی VPN/Proxy شخصی [قسمت اول]
اگه بگم اینترنت برای ما برنامه نویسا از نون شب واجب تره و مثل اوکسیژن میمونه دروغ نگفتم، توی قطعی اینترنت اخیر خیلی از ما ها واقعا نتونستیم کار کنیم، هرچند که بعضی ها که ساخت VPNشخصی رو بلد بودند یا دسترسی به VPN بقیه داشتند تونستن قسر در برن ولی اونایی بقیه خیلی اذیت شدند و خسارت دیدند.
من این پست رو همون روزا آماده کردم ولی فرصت نشد منتشر کنم و عملا خیلی ها هم نمیتونستن ازش بهره مند بشن. حالا اما بهتره این کار رو یاد بگیرید تا در روز مبادا دستتون تو پوست گردو نمونه!
مواد لازم:
1️⃣ یک عدد VPS یا سرور اختصاصی داخلی (حتما داخل ایران) که به نت "غیر داخلی" هم دسترسی داشته باشه (مثلا گوگل رو بیاره)
هم اکنون بعضی از Data Center ها فیلتر نشدن و همچنان سرور هاشون به اینترنت خارجی دسترسی دارن؛ یکی از اینا لازم دارید، خیلی هم نمیخواد کانفیگ بالایی داشته باشه، نه Ram انچنانی میخواد نه CPU و نه HDD فقط یه پهنای باند خوب میخواد، پس یه VPS فوق ارزون با 1 گیگ رم هم کارتون رو راه میندازه (اگه سرورتون لینوکسی باشه که 512 هم راه داره)
2️⃣ یک عدد برنامه VPN/Proxy ساز
برنامه های زیادی برای اینکار هست مثل SoftEther یا ShadowSocks یا OpenVPN یا روش Proxy over SSH و... که همگی یه طرز کار مشترک دارن؛ باید نسخه سمت Server رو روی سرور نصب کنید و یه اکانت بسازید و نسخه Client شون رو هم روی کلاینت هاتون نصب کنید و با مشخصات همون اکانتی که ساختید بهش وصل بشید.
البته نکته مهم، Protocol استفاده شده هست وگرنه با برنامه های Client ایی مختلفی که اون پروتکل رو ساپورت کنه میشه بهشون وصل شد.
همین کارو اگه با یه سرور خارج از ایران انجام بدین مشکل فیلترینگ و دسترسی به تلگرام اینا هم حل میشه.
پس راهشو یاد بگیرین که خودتون رو VPS/سرور هاتون VPN راه بندازید.
❇️ برنامه SoftEther :
این برنامه یکی از قوی ترین VPN/Proxy ساز های دنیا هست و قابلیت های بسیار زیادی داره.
این برنامه رایگان، Open-Source و Cross-Platform هست و از Protocol های مختلفی مانند L2TP و SSTP و... پشتیبانی میکنه و قابلیت integrate شدن با OpenVPN رو هم داره. همچنین امکانت مدیریت اکانت های تعریف شده و امکان مانیتور کردن وضعیت مصرف و محدود کردن شون رو در قالب یک UI خوب به شما میده.
🔶 دانلود نسخه کلاینت و سرور مخصوص ویندوز
- نسخه سرور SoftEther VPN Server
- نسخه کلاینت SoftEther VPN Client
🔷 آموزش نصب و راه اندازی روی سرور Windows ایی
راستش فرصت نشد خودم یه آموزش خوب واسش بنویسم واسه همین چندتا از آموزش های خوب در این باره رو گلچین کردم براتون.
- ویدئو آموزشی (انگلسیی - زیر نویس دار)
- مقاله آموزشی (فارسی)
- مقاله نصب و پیکربندی (انگلیسی)
- مقاله آموزشی کار با Virtual Hub (انگلیسی)
- مقاله آموزشی مدیریت کاربران و تنظیمات امنیتی (انگلیسی)
🔶 آموزش نصب و راه اندازی روی سرور Linux ایی
- ویدیو آموزش (انگلیسی)
- مقاله اموزشی (انگلیسی)
🔷 روش L2TP : استفاده از این پروتکل خیلی سادس و خوبیش اینه که توسط دیوایس ها به صورت built-in (توکار) پشتیبانی میشه؛ پس نیاز نیست برنامه خاصی روی کلاینت تون نصب کنین.
- آموزش فعال سازی روش L2TP در Server
- آموزش افزودن VPN توسط روش L2TP در کلاینت Windows ایی
- آموزش افزودن VPN توسط روش L2TP در کلاینت Android ایی
🔶 تازه با نصب VPN Gate که یک پلاگین برای SoftEther هست میتونین لیستی از VPN Server های رایگان رو پیدا کنید و بهشون وصل بشید (البته این یعنی ترافیک شما توسط اون سرور قابل رصد شدن هست و تضمینی بر شما امنیت شما وجود نداره)
- دانلود VPN Gate
- آموزش نصب و استفاده از VPN Gate
پ.ن : برای ساخت VPN جهت دورزدن فیلترینگ خارجی، فقط کافیه VPS خارج از ایران باشه.
__________________
@DotNetZoom
اگه بگم اینترنت برای ما برنامه نویسا از نون شب واجب تره و مثل اوکسیژن میمونه دروغ نگفتم، توی قطعی اینترنت اخیر خیلی از ما ها واقعا نتونستیم کار کنیم، هرچند که بعضی ها که ساخت VPNشخصی رو بلد بودند یا دسترسی به VPN بقیه داشتند تونستن قسر در برن ولی اونایی بقیه خیلی اذیت شدند و خسارت دیدند.
من این پست رو همون روزا آماده کردم ولی فرصت نشد منتشر کنم و عملا خیلی ها هم نمیتونستن ازش بهره مند بشن. حالا اما بهتره این کار رو یاد بگیرید تا در روز مبادا دستتون تو پوست گردو نمونه!
مواد لازم:
1️⃣ یک عدد VPS یا سرور اختصاصی داخلی (حتما داخل ایران) که به نت "غیر داخلی" هم دسترسی داشته باشه (مثلا گوگل رو بیاره)
هم اکنون بعضی از Data Center ها فیلتر نشدن و همچنان سرور هاشون به اینترنت خارجی دسترسی دارن؛ یکی از اینا لازم دارید، خیلی هم نمیخواد کانفیگ بالایی داشته باشه، نه Ram انچنانی میخواد نه CPU و نه HDD فقط یه پهنای باند خوب میخواد، پس یه VPS فوق ارزون با 1 گیگ رم هم کارتون رو راه میندازه (اگه سرورتون لینوکسی باشه که 512 هم راه داره)
2️⃣ یک عدد برنامه VPN/Proxy ساز
برنامه های زیادی برای اینکار هست مثل SoftEther یا ShadowSocks یا OpenVPN یا روش Proxy over SSH و... که همگی یه طرز کار مشترک دارن؛ باید نسخه سمت Server رو روی سرور نصب کنید و یه اکانت بسازید و نسخه Client شون رو هم روی کلاینت هاتون نصب کنید و با مشخصات همون اکانتی که ساختید بهش وصل بشید.
البته نکته مهم، Protocol استفاده شده هست وگرنه با برنامه های Client ایی مختلفی که اون پروتکل رو ساپورت کنه میشه بهشون وصل شد.
همین کارو اگه با یه سرور خارج از ایران انجام بدین مشکل فیلترینگ و دسترسی به تلگرام اینا هم حل میشه.
پس راهشو یاد بگیرین که خودتون رو VPS/سرور هاتون VPN راه بندازید.
❇️ برنامه SoftEther :
این برنامه یکی از قوی ترین VPN/Proxy ساز های دنیا هست و قابلیت های بسیار زیادی داره.
این برنامه رایگان، Open-Source و Cross-Platform هست و از Protocol های مختلفی مانند L2TP و SSTP و... پشتیبانی میکنه و قابلیت integrate شدن با OpenVPN رو هم داره. همچنین امکانت مدیریت اکانت های تعریف شده و امکان مانیتور کردن وضعیت مصرف و محدود کردن شون رو در قالب یک UI خوب به شما میده.
🔶 دانلود نسخه کلاینت و سرور مخصوص ویندوز
- نسخه سرور SoftEther VPN Server
- نسخه کلاینت SoftEther VPN Client
🔷 آموزش نصب و راه اندازی روی سرور Windows ایی
راستش فرصت نشد خودم یه آموزش خوب واسش بنویسم واسه همین چندتا از آموزش های خوب در این باره رو گلچین کردم براتون.
- ویدئو آموزشی (انگلسیی - زیر نویس دار)
- مقاله آموزشی (فارسی)
- مقاله نصب و پیکربندی (انگلیسی)
- مقاله آموزشی کار با Virtual Hub (انگلیسی)
- مقاله آموزشی مدیریت کاربران و تنظیمات امنیتی (انگلیسی)
🔶 آموزش نصب و راه اندازی روی سرور Linux ایی
- ویدیو آموزش (انگلیسی)
- مقاله اموزشی (انگلیسی)
🔷 روش L2TP : استفاده از این پروتکل خیلی سادس و خوبیش اینه که توسط دیوایس ها به صورت built-in (توکار) پشتیبانی میشه؛ پس نیاز نیست برنامه خاصی روی کلاینت تون نصب کنین.
- آموزش فعال سازی روش L2TP در Server
- آموزش افزودن VPN توسط روش L2TP در کلاینت Windows ایی
- آموزش افزودن VPN توسط روش L2TP در کلاینت Android ایی
🔶 تازه با نصب VPN Gate که یک پلاگین برای SoftEther هست میتونین لیستی از VPN Server های رایگان رو پیدا کنید و بهشون وصل بشید (البته این یعنی ترافیک شما توسط اون سرور قابل رصد شدن هست و تضمینی بر شما امنیت شما وجود نداره)
- دانلود VPN Gate
- آموزش نصب و استفاده از VPN Gate
پ.ن : برای ساخت VPN جهت دورزدن فیلترینگ خارجی، فقط کافیه VPS خارج از ایران باشه.
__________________
@DotNetZoom
GitHub
GitHub - SoftEtherVPN/SoftEtherVPN: Cross-platform multi-protocol VPN software. Pull requests are welcome. The stable version is…
Cross-platform multi-protocol VPN software. Pull requests are welcome. The stable version is available at https://github.com/SoftEtherVPN/SoftEtherVPN_Stable. - SoftEtherVPN/SoftEtherVPN
استدلالهای غلط در توسعه سیستمهای گسسته
آقای Peter Deutsch از شرکت Sun Micro Systems در مقاله ای 8 استدلال غلط برنامه نویسان هنگام توسعه ی سیستمهای توزیع شده (گسسته) را معرفی کرده است.
1- شبکه قابل اعتماد است (همیشه وصل است)
2- میزان تاخیر صفر است
3- پهنای باند بی نهایت است
4 - شبکه امن است
5 - ساختار شبکه تغییر نمیکند
6 - تنها یک مدیر سیستم وجود دارد
7 - هزینه ی جابجایی صفر است
8 - شبکه از نظر سخت افزار و نرم افزار همگن است.
اگر فرض کنید وب سرویسی که صدا میزنید همیشه کار میکند پروژه ی خود را با یک خطر جدی مواجه کرده اید.
شبکه و اینترنت قابل اعتماد نیست و وقتی از سیستمهای گسسته استفاده میکنید همیشه باید برای این موارد پیش بینی های لازم را در نظر بگیرید.
این موارد فقط در میکروسرویسها کاربرد ندارند بلکه هنگام توسعه یا استفاده از Web API هم باید به آنها توجه داشته باشید.
آقای Peter Deutsch از شرکت Sun Micro Systems در مقاله ای 8 استدلال غلط برنامه نویسان هنگام توسعه ی سیستمهای توزیع شده (گسسته) را معرفی کرده است.
1- شبکه قابل اعتماد است (همیشه وصل است)
2- میزان تاخیر صفر است
3- پهنای باند بی نهایت است
4 - شبکه امن است
5 - ساختار شبکه تغییر نمیکند
6 - تنها یک مدیر سیستم وجود دارد
7 - هزینه ی جابجایی صفر است
8 - شبکه از نظر سخت افزار و نرم افزار همگن است.
اگر فرض کنید وب سرویسی که صدا میزنید همیشه کار میکند پروژه ی خود را با یک خطر جدی مواجه کرده اید.
شبکه و اینترنت قابل اعتماد نیست و وقتی از سیستمهای گسسته استفاده میکنید همیشه باید برای این موارد پیش بینی های لازم را در نظر بگیرید.
این موارد فقط در میکروسرویسها کاربرد ندارند بلکه هنگام توسعه یا استفاده از Web API هم باید به آنها توجه داشته باشید.