C# Friends – Telegram
C# Friends
117 subscribers
58 photos
4 videos
29 files
72 links
C#, Asp.Net Core, Blazor & Architecture
Guids, Experiences, Tutorials, News and Codes.
Github: saeedrezayi/mrgrayhat
Contact me: @mrgrayhat
Download Telegram
Forwarded from Mr.Grayhat [Saeed.R]
Mr.Grayhat [Saeed.R]
Photo
خودمون انتخاب کردیم که این باشیم😔. گوشه ایش رو در ترند ها میتونین برین ببینین.
سعی میکنم یکسری سایت ها و منابع #آموزشی، #مقالات، ویدئو ها و تمام چیزایی که نیاز برنامه نویس مبتدی تا حرفه ای است رو تو یک لیست گردآوری کنم. لازم نیست همه رو بخورید ولی عموما در طول زندگی کاری به اکثرشون برخورد میکنید. دونستن حداقل زبان انگلیسی برای خواندن الزامیه وگرنه اشتباه اومدین، کار و حرفه تون رو عوض کنین یا سعی کنین یاد بگیرین فرار نکنین. هر چند منابع فارسی خوب هم تک و توک هست ولی کار پوست به دباغ خونه خواهد افتاد.

وب سایت Medium سرشار از مقاله و آموزش های خوبه
https://medium.com/javarevisited/7-best-online-courses-to-learn-asp-net-core-and-mvc-in-depth-a68c1b728090

https://dotnettutorials.net/course/asp-net-core-tutorials/

اموزش ها و تجربیات کاربردی مشفق همدانی گرامی
https://codewithmosh.com/
https://programmingwithmosh.com/

بلاگ murugan mukesh پر از اموزش های خوبه
https://codewithmukesh.com/

https://www.dotnetcurry.com/tutorials/aspnet-core

https://dotnetcoretutorials.com/

https://www.tutorialsteacher.com/

https://www.tutorialspoint.com/asp.net_core/index.htm

https://dotnettips.wordpress.com/
https://dotnetcodetips.com/
https://dailydotnettips.com/

وبسایت بسیار خوب پارسی زبان دات نت tips که پر از تجربیات و منابع مفید تو هر لول ای که هستید هست و نویسندگان خوبی همچون استاد وحید نصیری داره که به جرعت کلی چیزی ازش یاد گرفتم
https://www.dntips.ir/

دولوپر بلاگ برنامه نویسان مایکروسافت هم منابع خیلی خوبی داره مخصوصا برای سطوح بالاتر، که کانال های اموزشیش هم در لینکدین و tv مایکروسافت مثل channel 9 برای معرفی ها و اموزش های حرفه ای ها خیلی معروفه
https://devblogs.microsoft.com/dotnet/
https://docs.microsoft.com/en-us/shows/on-net

وبسایت اسکات هانسلمن
https://www.hanselman.com/blog/
https://dotnet.microsoft.com/en-us/learn/videos

https://www.codecademy.com/

https://www.dotnettricks.com/learn/aspnetcore

از بهترين مجموعه آموزش های کاربردی بلیزور، از اموزش اولیه گرفته تا پیاده سازی spa و pwa اپلیکیشن های واقعی و اکثر چالش ها و نیازمندی های موجود
#Blazor #web_assembly
https://code-maze.com/blazor-webassembly-series/

پلتفرم های آموزشی ویدئویی که بیشتر پولی هستن ولی اکثرشون انقدر پر بازدید هستن که با سرچ کردن اسم اموزش توی اینترنت و کانال های ایرانی خودمون( مثل کانال code for food که قبلا گفتم) هم پیداشون میکنین، اونقدری که یسری از اساتید ترجمه میکنن و برای خودشون میفروشن.
https://www.packtpub.com/

https://www.oreilly.com/

https://www.udemy.com/

https://www.pluralsight.com/paths/aspnet-core

این لیست به مرور آپدیت خواهد شد.
#csharp #aspcore #learning #dotnet
انصافا مجموعه خوب و کاربردی ایه برای یادگیری و استفاده از blazor علل خصوص مدل وب اسمبلی که معمولا با بک اند و سرور ساید ارتباطات خیلی زیادی داره (مگر اپ شما کلا wasm باشه هیج سرور و api ای نداشته باشه همه چیز تو خودش پیاده میشه مثل وصل شدن به دیتابیس و احراز هویت و ..، همه جا هم قابل اجراست اصلا هاستم نمیخواد ولی معمولا کسی نمیخواد همه بیزنس لاجیک و امنیت برنامه رو بفرسته سمت کلاینت)، در کنار بحث خوده blazor اموزش های خیلی خوبه نوشته که چطور احراز هویت کنیم، دسترسی و خطاهارو هندل کنیم، با سرور ارتباط بگیریم، crud کنیم، با استفاده از قدرت c# و پکیج ها، نیاز به js و کتابخونه هاش رو خییلی کم کنیم و ...

https://code-maze.com/blazor-webassembly-series/

عموما فرانت ها از http rest api ها استفاده میکنن چون پروتکل استاندارد و مرسومیه در همه چیز. تو موارد حرفه ای یا خاص تر خب signalr و grpc هم زیاد استفاده میشه، مخصوصا اگر بحث realtime و سرعت مطرح باشه مثل چت، استریم، بازی و ..
که بازم میگم هر چیزی به جاش خیلیم خوبه. هر کی گفت سوکت مطلقا برای فرانت بده مهمل گفته ( کانکشن خیلی زیاد به پروژه یکپارچه تک سروری مهمترین دلیلشه که راهش توزیع کردن و سرویس لود بالانس هست برای سیستمی که خیلی یوزر داره، وگرنه کلاینت از خداشم هست همه چیز براش تولید شه و فقط متد صدا بزنه و کمتر درگیر api بشه). جاش هست آشم هست امکانش برای همه طراحی شده و استفاده میشه.
البته از Http2/3 هم غافل نشید ولی خب بحث چیز دیگه ای بود در گنجایش این پست و اندک دانش و تجربه این حقیر.
#Blazor #WebAssembly #aspcore
@csharpfriends
C# Friends
از سری مطالب معماری نرم افزار #5 1.3 مقدمه ای بر معماری میکروسرویس (Microservice) رشد و تکامل در هر چیزی قابل مشاهده و اندازه گیری هست؛ تکامل گونه های جانوران، طبیعت، نسل های مختلف، علم و خیلی چیزهای دیگه پروسه های طولانی و زیادی رو طی کردن تا به شکل امروزی…
یادتون باشه وقتی میگیم معماری داریم از بنیان یک نرم افزار صحبت‌ میکنیم، در اصل بنیان یک نرم افزار بر پایه دیزاین پترن ها و لایه ها نیست بلکه ساز و کار ارتباطات و عملکرد کلی یک نرم افزار رو شرح میده.

خیلی وقتا میشنویم میگن معماری MVC و MVVM و DDD و Cqrs.. کلا هر چی پترن و رویکرده رو میریزن تو معماری. درباره همه اینا قبلا مفصل نوشتم:
معماری، معماری طراحی، الگوی طراحی.
صرفا چندتا مفهوم غلط اندازه مرسوم رو میگم بازم:

معماری های: سرویس گرا، مبتنی بر سرویس و مایکروسرویس، معماری مونولیت یا همون یکپارچه، MainFrame و ..

معماری های طراحی: MVC, MVVM, MVP
الگوی های طراحی: UnitOfWork، الگوی تزریق وابستگی، الگوی استراتژی، الگوی سینگلتون، الگوی ریپازیتوری، الگوی request reaponse،
* الگوی طراحی معماری (گاها به عنوان رویکرد طراحی هم شناخته میشه) کامند کوئری CQRS (اشاره داره به جدا کردن store و مسئولیت مدل دستورات یا کامندها از کوئری ها ) و event sourcing pattern

متدلوژی و رویکرد ها / تفکر ها مثل،
توسعه دامین محور DDD (طراحی برپایه بیزنس دامین های نرم افزار)،
توسعه تست محور TDD (توسعه بر پایه تست های واحد از پیش نوشته شده، برعکس توسعه معمول که اول پیاده سازی انفاق میفته بعد تست های نفس گیر)،
رویداد محور EDD ( event driven )،
رویکرد پر استفاده رفتار محور BDD ( بزن در رو حالا خدا بزرگه ببینیم چی میشه محور)، رویکرد CDD کپی محور، فحش محور FDD (سازمان ِغذا و دارو امریکا) و ...

یادتون باشه که مثلا شما مجبور نیستید طراحی CQRS پیاده کنید، میتونید همونا رو در یک سرویس بنویسید و همه عملیات crud رو داخل خودش پیاده کنید، اما اگر نیاز دارید به:
- افزایش خوانایی، تفکیک وظایف مدل ها و حذف وابستگی های اضافی.
- جدا کردن عملیات هایی که تغییری در وضعیت و داده های سیستم میدن و خروجی ندارن
- جدا کردن عملیات هایی که تغییری نمیدن و صرفا کوئری های read هستن و خروجی میدن
- صدور دنباله ای از event ها، که بقیه سرویس ها رو از تغییری مطلع میکنن یا میگن بعدش کار دیگه ای رو انجام بده (داخل سیستم یا سرویس های خارجی). مثلا اپدیت کردن کش، دیتابیس read، اپدیت رکورد تو سرویس دیگه ای، زمان بندی انجام کاری در پشت صحنه و صف پیام
- جدا کردن storage داده ها، مثلا جدا کردن دیتابیس read از write برای افزایش پرفورمنس، مقیاس پذیری و parallelism و امنیت
- نگهداری تاریخچه تغییرات دیتا ها و رویداد های نرم افزار به منظور، لاگینگ، گزارش گیری، بازگردانی و رهگیری اتفاقات.
بهترین معماری و الگوی طراحی ای که پیدا میکنید همین CQRS و Event Sourcing عه که به وفور در میکروسرویس ها، سیستم های مقیاس پذیر، سرویس هایی با کوئری های بزرگ و پیچیده استفاده میشه.
به همین خاطر اگر دیدید یک سرویس داره روز به روز بزرگتر و پیچیده تر میشه، وابستگی های زیادی رو تزریق میکنه که لازم نیست بخاطر صدا زدن یک تابع کوچیک استفاده بشن، بهتره معماری رو یک بازنگری بکنید و مسئولیت های سرویستون رو به کامند و کوئری های مستقل بشکنید.
ولی اگر یکی دوتا کلاس سرویس و ریپازیتوری کوچیک دارید که نهایت شیش هفت تا متد و عملیات داره و روز به روز بزرگتر نمیشه و لازم نیست دیتابیس خوندن رو از نوشتن تفکیک کنید، cqrs بیشتر کارتون رو پیچیده و توسعه تون رو زمان بر میکنه. ضمن اینکه برنامه نویس های کمی هستن که واقعا درک و تجربه ای ازش داشته باشن تا سر از کد ها و ساختار در بیارن.
#Architecture #DesignPattern #ArchitecturalPattern #Approach
@csharpfriends
سلام.
امیدوارم سال 1401 سال بهتری برای همتون باشه. سالی سرشار از برکت و موفقیت داشته باشید و ثمره تلاش هاتون، شب بیداری هاتون و صبح زود بیدار شدناتون رو زودتر ببینین و صدای موفقیت همه بلند باشه.
اگر زمانی دلی از کسی شکستم همینجا ازتون طلب بخشش دارم و امیدوارم دل هاتون شاد تر باشه و شرایط زندگی بهتر و بهتر تر.
ارادت مند همگیتون هستم ❤️
کوچیک شما سعید رضایی.
اخرین روز سال 1400، 2022/03/20
4
https://axeto.app/

اولین سامانه تخصصی و اپلیکیشن رایگان درآمدزایی، رزرو عکاس و ادیتور در ایران.

https://instagram.com/axeto_ir?igshid=YmMyMTA2M2Y=
اپلیکیشن مشتریان عکستو
درخواست پروژه عکاسی (عکاسی فعلا فقط تهران) و یا ادیت و گرافیست دارین؟ از بین صدها عکاس و ادیتور تایید شده انتخاب کنید یا پروژه تون رو به مزایده بزارین و با هر کس پیشنهاد بهتری داد کار کنین!
عکستو امنیت و کیفیت کار رو تضمین میکنه و 24 ساعته آماده خدمت رسانی به شماست.

https://play.google.com/store/apps/details?id=com.huddeh.axeto
اپلیکیشن مخصوص عکاسان و ادیتور ها.
ثبت نام کنید، نمونه کارها و تجربیات خودتون رو رایگان و ایمن، در معرض دید بقیه بزارید و بفروشید!
بزودی در سرتاسر کشور، درخواست پروژه های عکاسی و ادیت مشتریان رو میتونین ببینین و بهشون پیشنهاد قیمت بدین، بدون سقف بدون واسطه، آنلاین!

https://play.google.com/store/apps/details?id=com.huddeh.axito
حضرت گوگل، سرویس دریافت FCM توکن فایربیس رو برای ایرانیان تحریم کرد، بدین ترتیب Push نوتیف بی پوش نوتیف!

متأسفانه API فایربیس گوگل برای گرفتن توکن FCM در ایران (روی گوشی کاربر) خطای ۴۰۳ می‌دهد و این یعنی هزار و یک مشکل جدی برای اپلیکیشن‌های ایرانی کلی مشکل برای کاربرهای ایرانی اپلیکیشن‌های خارجی.
این تحریم مجزا از تحریم پنل فایربیس است که از قبل وجود داشت.
اکثر سرویس‌های پوش نوتیفیکیشن وطنی و غیروطنی خودشون در پشت صحنه از فایربیس استفاده می‌کنن.
‏اگر شما به کاربرهای قبلی می‌تونید نوتیفیکیشن بفرستید، در صورت ریفرش شدن توکن‌ کاربر از سمت گوگل و منقضی شدن توکن‌ قبلی، این مشکل برای کاربرهای قبلی هم پیش میاد.

پانوشت:
در این جور موارد یا مجبوریم توی کدمون برای کار با این دست سرویس ها مثل فایربیس و تلگرام، پراکسی خارج استفاده کنیم یا مهاجرت به پلتفرم دیگه ای یا بریم سمت وب سوکت که داستان دیگه ایه.
پراکسی یکی از راه هاست مثلا همین تلگرام اگر شما رباتی یا نرم افزاری مثل مانیتورینگ داشته باشین که متصل به سرویس های تحریم دار یا فیلتر شده است باید از پراکسی برای ریکوئست ها استفاده کنین.

* ظاهرا دانگرید به api قبلی فایربیس میتونه مشکل عدم دریافت fcm token رو در موبایل اپ ها مرتفع کنه.

** آپدیت 22 مرداد 1401:
از قول کارمندای ایرانی گوگل گفتن محدودیت سرویس firebase fcm token رفع شده / تو چند روز آینده رفع و برداشته میشه. 🤲


عوضش امنیت داریم
👍1
C# Friends pinned «حضرت گوگل، سرویس دریافت FCM توکن فایربیس رو برای ایرانیان تحریم کرد، بدین ترتیب Push نوتیف بی پوش نوتیف! متأسفانه API فایربیس گوگل برای گرفتن توکن FCM در ایران (روی گوشی کاربر) خطای ۴۰۳ می‌دهد و این یعنی هزار و یک مشکل جدی برای اپلیکیشن‌های ایرانی کلی مشکل…»
#MAUI #Blazor 😍
یکم حجم خروجی default بالا بود، اما قلق و نکات ریز و درشت زیادی داره که بهبود میده برای کسی که بره دنبالش.
من خروجی اندروید و windows اش رو تست کردم خیلی خوب و روون بود!
طریقه نصبش هم آسونه، visual studio رو آپدیت کنین، بعد از طرق setup اش modify رو بزنین و .Net MAUI رو تیک بزنین (قبلا بجاش Xamarin Mobile بود).
* حتما با vpn انجام بدین چون jdk و android-sdk رو دانلود میکنه از گوگل (یک sdk کوچیک با اندروید 12، که از طریق sdk manager میتونین بقیه platform و ایمیج نسخه های دیگرو اضافه کنین).
نسخه MAUI Blazor عینا مثل Blazor WASM هست html, css, js, cs.
ولی نوع MAUI معمولی مثل WPF XAML عه.
توی تصاویر بالا ساختار پروژه اش رو میبینین، میتونین برای هر پلتفرم ریسورس و کدای مختص خودش رو بنویسن Platform Specific اصطلاحا.
در هر قسمت از کد مثل سی شارپ میتونین برای ورژن های مختلف مثلا اندروید 10/9/5 کدهای متفاوتی بنویسین. بیشتر امکاناتش برای اندروید API 23 به بالاست مثلا.
👍1🔥1
C# Friends
اپلیکیشن مشتریان عکستو درخواست پروژه عکاسی (عکاسی فعلا فقط تهران) و یا ادیت و گرافیست دارین؟ از بین صدها عکاس و ادیتور تایید شده انتخاب کنید یا پروژه تون رو به مزایده بزارین و با هر کس پیشنهاد بهتری داد کار کنین! عکستو امنیت و کیفیت کار رو تضمین میکنه و 24…
خوشحال میشم دیدن فرمایید و با دوستانتون علل خصوص افزادی که کسب کاری دارن یا فعال صنعت ادیت و عکاسی هستن به اشتراک بگذارید. یک روز ممکنه به کارتون بیاد.
با پلتفرم عکستو و اپلیکیشن هاش بیشتر آشنا بشیم:

https://www.instagram.com/reel/CiVaMdLKiWr/?utm_source=ig_web_button_share_sheet
قرعه کشی هم داریم. سفارشی هم در خدمتم، بالاخره حق آب و گلی هست 😁

19 شهریور 1401