بازخوردهای پروژه‌ها
data-binding جاوا اسکریپتی سمت کلاینت
این روزها توجه ویژه‌ای به اجرای Single Page Application یا SPAها میشه. به‌دلیل اینکه اصطلاحا تجربه کاربری بهتری به مشتری ارائه میدهد.
بایندینگ سمت کلاینت که ده‌ها فریم‌ورک برایش وجود دارد مثل Knockout.js  که با الگوی MVVM است یا Backbone.js که با الگوی MVC پیاده‌سازی شده است خیلی مطرح هست.
دو مشکل اساسی که دارد این است که اولا، مجموعه‌ی آموزشی مناسب با توجه به سختی فرآیند پیاده‌سازی آن وجود ندارد. مشکل دیگر مسائل SEO هست که در اینگونه وب‌سایت‌ها باید جور دیگری به حل این مشکل دست زد.
نظرات نظرسنجی‌ها
آیا در کنفرانس‌های توسعه دهندگان داخلی شرکت می‌کنید؟
تو شهرهای کوچیک و بزرگ در کل چیز خاصی من ندیدم، هرچی هست فقط ارائه تبلیغاتی اون استارت اپ یا کنفرانس بوده یا جذب نیروی انسانی؛ 
اینکه بحث علمی مطرح بشه یا فنی، خیلی خیلی کم پیش میاد که اونم در حد یک بروشور و ذکر عناوینه و چیز دیگه ای نیست!
کنفرانسیم باشه عموما تو تهران یا کلان شهرهای دیگه صرفا بخاطر مطرح کردن زیرساختها و این مدل مسائل هست که بازم بحث بدرد بخوری توشون صورت نمیگیره و تبلیغ دوره‌های آموزشی میشه که آموزشگاهی جهت اسپانسری اون کنفرانس برعهده گرفته... 
شخصا اگه موضوع قابل توجهی و علمی نباشه شرکت نمیکنم!
نظرات نظرسنجی‌ها
آخرین باری که یک کتاب فارسی را در زمینه‌ی دات نت خریدید، کی بوده؟
آخرین کتابی که خریدم فکر کنم کتاب اسکرام و کتاب مهندسی نیازها بود و ^  
------------------------------------------------------------------------
با گفته این دوستمون هم شدیدا موافقم :
"سری آموزشی ASP.NET MVC وحید نصیری که اگه چاپ شده بود حتما می‌خریدمش "

البته به نظر بنده یک کتاب که 0 تا 100 زدن یک پروژه MVC اصولی رو یاد بده واقعا نیاز است
من شخصا حاضرم تا 200 تومن هم پای یک جلد این کتاب بدم :دی
کنابی که بیاد از 0 ام وی سی، EF Code First ، مباحث معکوس سازی مسئولیت‌ها و تزریق وابستگی و IDENTITY رو بصورت پشت سر هم و به ترتیب توضیح بده و کاملا عملی هم باشه.
(مخصوصا IDENTITY که چند روزیه سر شخصی سازیش به مشکل خوردم و 3 روزه مقالات مختلف فارسی و انگلیسی رو دارم زیر و رو میکنم :(  )
نظرات اشتراک‌ها
بررسی وضعیت فعلی پروژه Roslyn
- فرض کنید الان نیاز دارید یک زیبا ساز کدهای سی‌شارپ را تهیه کنید. منظور این است که به صورت خودکار indentation اضافه کند؛ پارامترهای یک متد را در فواصل مناسب قرار دهد و امثال آن. برای اینکار باید یک parser تمام عیار سی‌شارپ داشته باشید که نوشتن آن کار ساده‌ای نیست.
- فرض کنید می‌خواهید کارهایی را که Resharper در مورد آنالیز کدها انجام می‌دهد، مثلا تشخیص کد مرده در یک متد را خودتان پیاده سازی کنید. اینکار بدون دسترسی به زیر ساخت‌های یک کامپایلر واقعی غیرممکن است و تیم Resharper تا الان مهم‌ترین کاری که انجام دادند، تهیه این زیرساخت قابل دسترسی با کدهای دات نت بوده.
- انجام کارهای AOP در دات نت ساده‌تر خواهد شد. یکی از مواردی که بحث هست در مورد آینده زبان‌های دات نتی، meta programming هست. Roslyn زیرساخت افزودن این امکانات خواهد بود در آینده.
- الان دنیایی از اطلاعات و امکانات داخل کامپایلر native سی‌شارپ دفن شده که کسی به آن دسترسی ندارد و حداکثر این است که مسیر یک سری فایل cs را به آن بدهید و یک خروجی کامپایل شده از آن بگیرید. حیف این امکانات نیست؟! پروژه Roslyn، امکان دسترسی به تمام اجزای یک کامپایلر واقعی را توسط یک سری API عمومی، برای برنامه نویس‌های دات نت میسر می‌کند.
مطالب
آموزش نصب مک بر روی Virtual Box
پیرو مطالب آموزشی وب سایت در رابطه با توسعه برنامه‌های Cross Platform توسط Xamarin  که میتوانید در این قسمت آن‌ها را ببینید، نیاز به نصب سیستم عامل مک برای توسعه  اپلیکیشن‌های مخصوص iDevice‌ها داریم. از آنجا که سخت افزار‌های اپل فوق العاده گران می‌باشند، تهیه آن برای یادگیری این پلتفرم مقرون به صرفه نیست. لذا سعی کردم آموزش کاملی از نصب این سیستم عامل را بر روی مجازی ساز‌ها و کامپیوتر واقعی تهیه کنم و در اختیار دوستان قرار دهم تا بتوانند نیاز خود برای دسترسی به این سیستم عامل را مرتفع کنند.
روش‌های مختلفی برای این کار وجود دارند:
  • استفاده از شبیه ساز‌ها مانند Virtual Box یا VMWare
  • استفاده از نسخه دستکاری شده که بتوانید بر روی سیستم سخت افزاری خود نصب کنید

مرحله اول : Virtual Box چیست؟

VirtualBox، نرم افزاری برای شبیه سازی ماشین‌های سخت افزاری است که می‌توانید بر روی آن سیستم عامل‌های مختلفی را نصب کنید که توسط سیستم عامل فعلی شما کنترل می‌شوند. ما از واژه‌ی سیستم عامل «میهمان» برای سیستم عامل مجازی و از سیستم عامل «میزبان» برای سیستم جاری خود استفاده خواهیم کرد. در اینجا امکان کنترل منابع سیستم عامل میهمان به راحتی وجود خواهد داشت.
برای نصب این نرم افزار، آن را از این لینک از سایت سازنده، دریافت کنید.

مرحله دوم : ایمیج سیستم عامل مک

ما برای نصب سیستم عامل بر روی ماشین مجازی چند گزینه خواهیم داشت.  برای یافتن آخرین نسخه سیستم عامل مک این لینک می تواند راهنمای خوبی باشد.
  • استفاده از فایل ISO همانند ویندوز
  • استفاده از فایل VMDK آماده
  • ایجاد ایمیج از روی فایل DMG

فایل ISO سیستم عامل
استفاده از فایل ISO در واقع همانند نصب سایر سیستم عامل‌ها می‌باشد. نیاز است تا فایل ISO مربوط به سیستم عامل را دانلود کرده و از آن به عنوان نصاب استفاده کنید. دقت داشته باشید که فایل ISO به تنهایی و با تبدیل فایل DMG به ISO قابل استفاده نخواهد بود. زیرا بوت لودر این سیستم عامل با سیستم عامل‌های مرسوم مانند لینوکس و ویندوز متفاوت می‌باشد. برای پیدا کردن فایل ISO آخرین نسخه سیستم عامل میتوانید عبارتی مشابه با "Mac OS  iso download" را در گوگل جستجو کنید و یا سایتی مانند این میتواند گزینه خوبی برای دریافت این فایل باشد.

فایل VMDK 
این فایل در واقع فایل هارد دیسک مربوط به مجازی ساز می‌باشد. نکته جالب این نوع فایل‌ها این است به صورت استاندارد میتوانند بین مجازی ساز‌های مختلف مانند VMWare Workstation نیز قابل اشتراک گذاری باشند.
برای سهولت در یافتن این فایل، من آخرین نسخه سیستم عامل مک را که در زمان نگارش این مطلب 10.14 با نام Mojave می‌باشد، بر روی اکانت گوگل درایو خودم آپلود کردم که میتوانید آن را در اینجا پیدا کنید:
فایل VMDK در واقع یک هارد دیسک شامل نسخه نصب شده و آماده استفاده سیستم عامل می‌باشد. در واقع راحت‌ترین و ساده‌ترین روش استفاده از این نوع فایل‌ها است که ما هم در این مقاله از آن استفاده خواهیم کرد.
ایجاد ایمیج از روی فایل DMG 
در این روش نیاز به یک سیستم عامل مک دارید که توسط آن بتوانید ایمیج مربوطه را بسازید. از آن جایی که احتمالا  خوانندگان این مطلب دسترسی به سیستم عامل مک را ندارند، در حال حاضر از توضیحات اضافی پرهیز میکنیم.
در آینده پیرو این مطالب سایر روش‌ها را نیز به صورت کامل توضیح خواهم داد. 
مرحله سوم: ایجاد ماشین مجازی

پس از دریافت فایل، آن را از حالت فشرده خارج میکنیم.
نرم افزار VirtualBox را که قبلا دانلود کرده‌ایم باز میکنیم. بالای نرم افزار بر روی گزینه New کلیک کرده، یک ویزارد نمایش داده خواهد شد که به ما کمک میکند یک ماشین مجازی جدید را بسازیم.

در مراحل مختلف، سوالات متعددی برای آماده سازی ماشین مجازی از شما پرسیده خواهد شد. نام آن را Mac قرار دهید. از کادر انتخابی Type، گزینه Mac OS را انتخاب کرده و نسخه 10.13 High Sierra را انتخاب کنید.

در صفحه بعدی شما میزان RAM ای را که به سیستم عامل میهمان اختصاص میدهید، باید مشخص کنید. حداقل 4 گیگابایت رم به سیستم عامل میهمان اختصاص دهید. دقت داشته باشید که میزان آن 50 الی 65 درصد از کل رم سیستم تان باشد.

در مرحله بعدی شما باید تنظیمات مربوط به هارد دیسک را انجام دهید. گزینه “use an existing virtual hard disk file”  را انتخاب کنید. سپس فایلی را که در مرحله قبلی با پسوند VMDK دانلود کرده‌اید، انتخاب کنید.

نهایتا بر روی Finish کلیک کنید تا ماشین میهمان ساخته شود.


مرحله چهارم: ویرایش تنظیمات مربوط به ماشین مجازی


ماشین مجازی را که در مرحله قبلی ایجاد کرده‌اید، باز کنید و بر روی دکمه‌ی Setting کلیک کنید. در دسته بندی System بر روی تب Motherboard  کلیک کنید. گزینه انتخابی Enable EFI را فعال کنید و Chipset را به IHC9 و یا PIIX3 تغییر دهید.


در تب Processor  گزینه Enable PAE/NX را فعال کرده و Core‌ها را به نصف Core‌های سیستم فعلی خود ارتقاء دهید.


در دسته Display، گزینه Video Memory را به 128 مگابایت ارتقا دهید.

شما میتوانید سایر گزینه‌ها را نیز بسته به نیاز خود تغییر دهید.


بر روی تب Storage کلیک کرده و گزینه Use Host I/O Cache را فعال کنید.



مرحله پنجم: استفاده از خط فرمان برای اضافه کردن دستورات خاص

خط فرمان (CMD) را به عنوان Administrator باز کنید.

دستورات زیر را وارد کنید. دقت داشته باشید که بجای Your VM Name؛ نام ماشین مجازی خود را وارد کنید؛ در مثال ما Mac

cd "C:\Program Files\Oracle\VirtualBox\"
VBoxManage.exe modifyvm "Your VM Name" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff
VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3"
VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"
VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1

VirtualBox را قبل از اجزای این دستورات ببندید و سپس این دستورات را اجرا کنید.


مرحله ششم: اجرای سیستم عامل مک نسخه 10.14 بر روی Virtual Box


ماشین مجازی را که ایجاد کرده اید، باز کنید و بر روی start کلیک کنید:


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

تنظیمات اولیه و نام کاربری سیستم عامل را وارد کنید و تمام!


دقت داشته باشید که استفاده از این روش ممکن است با تجربه کاری یک مک بر روی سخت افزار اصلی به کلی متفاوت باشد. ما از این روش برای جبران محدودیت خود برای توسعه استفاده میکنیم.

خوشبختانه برای کار با Xamarin.iOS شما مجبور به کد نویسی بر روی مک نخواهید بود و تنها پروسه بیلد پروژه بر روی آن انجام خواهد شد. لذا مشکلات کارآیی آن بر روی روند کار شما تاثیر چندانی نخواهد داشت. البته برای نصب این سیستم عامل به صورت مجازی توصیه می‌شود از هارد SSD استفاده کنید.



نحوه‌ی رفع مشکلات سخت افزاری و درایوری


در صورتیکه در مراحل نصب و یا پس از نصب سیستم عامل، کیبرد و یا ماوس کار نمیکنند، میتوانید مراحل زیر را انجام دهید:

به سایت VirtualBox.org رفته و آخرین نسخه‌ی Extension Pack را دانلود کنید.

سپس VirtualBox را باز کنید و از منوی فایل، گزینه‌ی Preferences را انتخاب کنید: 

بر روی برگه‌ی Extensions کلیک کرده و گزینه‌ی Add را انتخاب کنید:

در مرورگر فایل باز شده، فایلی را که دانلود کرده‌اید، انتخاب کنید. سپس بر روی Install کلیک کنید. در صفحه‌ی توافقنامه نمایش داده شده، به پایین متن اسکرول کنید و I Agree  را انتخاب کنید.

در صورتی که بعد از اعمال تغییرات فوق، مشکل همچنان باقی بود، می‌توانید در تنظیمات VM خود در تب  USB، گزینه‌ی USB 3.0 (xHCI) Controller.  را انتخاب کنید.


در صورتیکه مشکلات دیگری نظیر شناسایی درایور‌ها و یا سایر موارد را داشتید، می‌توانید زیر همین مطلب، سؤالات خود و یا بازخورد خود در رابطه با این مقاله را مطرح کنید. 

بازخوردهای دوره
مدیریت نگاشت ConnectionIdها در SignalR به کاربران واقعی سیستم
خیلی ممنونم ، یه سوالی فکرم رو خیلی درگیر کرده و ممنون میشم در صورت امکان راهنمایی بفرمایید ، این است که سرور مورد استفاده ما برای اجرای پروژه متاسفانه تنظیمات پیشفرض سازمان آن طوری است که مادام حافظه ریست میشود  (ریست شدن مسقیم سشن را درجریانش هستم و نگرانم متغیرهای استاستیک هم ریست شوند ) برای جلوگیری از بروز خطا، مدیریت کانکشن‌ها را مستقیم با استفاده از دیتابیس پیاده سازی کردم ، حالا سوال اینجاست با توجه به این که سیستم در آینده تعداد یوزر بالایی خواهد داشت (100k+) ، پیاده سازی آن (هاب) با دیتابیس به دلیل تراکم یوزر ، آیا در اینده مسئله ساز نمی‌شود ؟؟
با تشکر 
نظرات اشتراک‌ها
معرفی پکیج ComputeSharp : پردازش عملیات محاسباتی به صورت موازی روی GPU
مسخره‌ترین کاری که کرده اینه که با NET Standard 2.1. توسعه اش داده! در حالی که NET Framework. از NET Standard 2.1 پشتیبانی نمی‌کنه و نخواهد کرد + فقط روی ویندوز اجرا میشه. عملا هیچ گزینه ای نداریم برای اجراش به جز NET Core 3.
خب از اول با NET Core 3. توسعه اش میداد! به نظرم در آینده نزدیک هم که Mono از NET Standard 2.1. پشتیبانی کنه هم باز توجیه مناسبی براش نمیشه، چون کسی روی ویندوز NET Core 3. رو بی خیال نمیشه که برنامه اش رو با Mono اجرا کنه.
نظرات اشتراک‌ها
بررسی وضعیت فعلی پروژه Roslyn
کامپایلر فعلی سی‌شارپ یا csc.exe یک exe بومی (native) ویندوز است. آنچنان هم متدهای قابل توجهی را در اختیار برنامه نویس قرار نمی‌دهد. فقط با خط فرمان می‌شود با آن کار کرد. ضمن اینکه نوشتن محصور کننده هم برای آن نهایتا به کار تمیزی ختم نخواهد شد. نمونه‌اش API ویندوز است. به همین جهت بازنویسی آن با سی‌شارپ به کدی با کیفیت بالاتر و قابلیت نگهداری بهتر ختم شده‌است. همین مساله در آینده کمک خواهد کرد تا قابلیت‌های بیشتری را سریعتر بتوانند به زبان‌های دات نتی اضافه کنند.
نظرات اشتراک‌ها
زندگی پس از Google Reader؛ نگاهی به گزینه‌های مهیا
سلام مرسی بابت معرفی این فید خوان ، توی لیست  replacereader.com نبود، به نظرتون سایت معتبری هست؟
واقعا انتخاب یک فید خوان مناسب ایران، خیلی سخت شده: 
  • پشتیبانی از راست به چپ
  • بازکردن سایت‌های غیرقابل دسترس در ایران(فیلتر)
  • فیلتر نباشه و قول بده در آینده فیلتر نشه!
  • محدودیت استفاده نداشته باشه ، کاملا رایگان باشه. [معمولا هزینه پایینی بایت عضویت می‌گیرند یک هزارم حداقل حقوق (دو دلار از دو هزار دلار) که به پول ما میشه یکصدم حداقل حقوق (دو دلار از 200 دلار ) تازه ما اگر هم بخواهیم پرداخت کنیم کلی در دسر داره ]
اشتراک‌ها
واکنش اولیه شما به Apple Vision Pro چیست؟

اپل به تازگی هدست AR/VR خود را با نام Apple Vision Pro عرضه کرده است. 

اپل یک هدست واقعیت افزوده به نام Apple Vision Pro را معرفی کرده است که "به طور یکپارچه" دنیای واقعی و دیجیتال را با هم ترکیب می‌کند. 

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

واکنش اولیه شما به Apple Vision Pro چیست؟