نظرات مطالب
نوروز مبارک!
سال نو شما مبارک من وبلاگ شما را هر روز نبینم روزم روز نمی شه امیدوارم سال خوبی داشته باشید
نظرات مطالب
BloggerToCHM
سلام
من هم امیدوارم که سال آینده بیش از پیش موفق باشید و سال بسیار خوب همون طوری که دوست دارین برای شما باشه
نظرات مطالب
معرفی Kendo UI
Angular؟
ضمن اینکه اگر با پشت صحنه‌ی جاوا اسکریپتی این کتابخانه‌ها کار کنید، نیازی به wrapper ندارید. پشتیبانی نمی‌کند، معنا نخواهد داشت. این مورد دقیقا مطلبی هست که چندین سال قبل در نظرات این مطلب ذکر شده. این سری تهیه شده در سایت هم صرفا بر اساس این پشت صحنه‌ی جاوا اسکریپتی هست و نه هیچ wrapper خاصی. به همین جهت تمام مثال‌های آن به سادگی و تمام و کمال به ASP.NET Core منتقل شدند.
نظرات مطالب
توزیع پروژه‌های ASP.NET MVC بدون ارائه فایل‌های View آن
- razor generator توسط اعضای تیم نیوگت و همچنین ASP.NET MVC تهیه شده.
- razor generator برخلاف portable areas در زمان کامپایل کار parse و همچنین قرار دادن viewها را در DLL مرتبط انجام می‌دهد.
- آخرین به روز رسانی portable areas در سال 2010 بوده، اما razor generator مدام به روز می‌شود.
نظرات مطالب
iTextSharp و نمایش صحیح تاریخ در متنی راست به چپ
برای جدا سازی اجزای تاریخ شمسی، ماه ، روز و سال نباید از / استفاده کرد در unicode برای این کار از Unicode Character 'ARABIC DATE SEPARATOR' (U+060D) استفاده کنید برای دیدن جزییات بیشتر
http://www.fileformat.info/info/unicode/char/60d/index.htm
نظرات مطالب
iTextSharp و نمایش صحیح تاریخ در متنی راست به چپ
برای جدا سازی اجزای تاریخ شمسی، ماه ، روز و سال نباید از / استفاده کرد در unicode برای این کار از Unicode Character 'ARABIC DATE SEPARATOR' (U+060D) استفاده کنید برای دیدن جزییات بیشتر
http://www.fileformat.info/info/unicode/char/60d/index.htm
نظرات مطالب
استفاده از قابلیت Speech Recognition ویندوز 7 برای تولید زیرنویس انگلیسی
خیلی ایده جالبیه! اگر مترجم گوگل هم به این کار اضافه بشه، یک ابزار کمکی خوب میشه اما خط به خطش نیاز به بازبینی داره (اشتباهات تشخیص گفتار ضرب در اشتباهات مترجم). ولی میشه به چند سال دیگه امیدوار بود.
نظرات مطالب
وضعیت فناوری‌های مرتبط با دات نت از دیدگاه مرگ و زندگی!
روی سیلورلایت 5 خیلی دارند کار می‌کنند:
- API سه بعدی
- شتاب دهنده‌های مبتنی بر GPU
- ارائه‌ی نسخه‌ی 64 بیتی
و ...
جزئیات رو می‌تونید اینجا ملاحظه کنید: (+)
همچنین تیم سیلورلایت داره مجددا استخدام می‌کنه! : (+)
و سیلورلایت 4 به عنوان بهترین فناوری RIA سال از طرف InfoWorld انتخاب شده: (+)
مطالب
یادی از گذشته!

چندین سال قبل مطالبی را در مورد ASM32 و ASP.Net و غیره منتشر کرده بودم که هنوز هم هفته‌ای یک ایمیل دارم به این مضمون که لینک‌های آن‌ها کار نمی‌کنه و لطفا دوباره آنها را برای من ارسال کنید. به نظر یکی از دوستان قبلا این‌کار را انجام داده است. بنده ایشون رو نمی‌شناسم ولی با تشکر از ایشان!، تقریبا اکثر موارد منتشر شده قدیمی را از این آدرس می‌توانید دریافت کنید.


مطالب
سیستم‌های توزیع شده در NET. - بخش اول - نیازمندی
در حوزه کاری ما همیشه نیازمندی‌های جدید باعث پیشرفت، ارتقاء و پیچیده‌تر شدن سیستم‌های سخت افزاری و نرم افزاری می‌شوند. بطور مثال زمانیکه نیاز شد چندین سیستم از داده‌های مشترکی استفاده کنند، در معماری Single Tier قسمت Database از سایر قسمت‌ها جدا شد و در سخت افزار دیگری قرار گرفت. به این صورت این معماری تبدیل به Two Tier شد و سپس برای اینکه تغییرات، کمترین تاثیر را در سیستم ما داشته باشد و با کمترین هزینه به Platform‌های دیگر نیز سرویس بدهیم، قسمت Presentation از سایر قسمت‌ها جدا شد و در سخت افزارهای دیگری قرار گرفت. به این صورت  تبدیل به معماری Three Tier شد و همینطور نیازهای جدید باعث شد معماری N Tier پیچیده‌تر شود. البته پیچیدگی که باعث تکامل آن شد یا بطور مثال نیاز به پردازش تعداد بیشتری عملیات بصورت همزمان، که باعث شد سیستم‌های ما از حالت Single Task تبدیل به Parallel System و سپس Distributed system شوند. واقعیت این است که در دنیای امروز، نیازهای جدیدی بوجود آمده‌اند؛ نیازهایی که یک سخت افزار به تنهایی قادر به ارائه راهکاری برای آنها نیست. واقعا یک سخت افزار که یک سرویس را ارائه می‌دهد، چه خصوصیاتی باید داشته باشد که مثلا در ثانیه حدود 50 میلیون عملیات را بصورت همزمان انجام دهد؛ یا مثلا سرویس مورد نظر حدود 400 میلیون کاربر فعال که روزانه بیشتر وقت خود را به استفاده از این سرویس اختصاص می‌دهند داشته باشد؟

آیا میدانستید که Facebook در حال حاضر بیشتر از 400 میلیون کاربر فعال دارد که حدود 200 میلیون از این کاربران هر روز از این سرویس استفاده می‌کنند؟ آماری که این سرویس داده به این صورت است که تا سال 2010، کاربرانش در هر روز حدود 16 بیلیون دقیقه از وقت خودشان را به استفاده از این سرویس اختصاص داده‌اند. در هر هفته کاربران این سرویس حدود 6 بیلیون مطلب را که شامل عکس و متن بوده را به اشتراک گذاشته‌اند. هر ماه بیشتر از 3 بیلیون عکس توسط این سرویس Upload شده‌است. کاربرانش روزانه بیشتر از 1 بیلیون عکس را توسط این سرویس مشاهده کرده‌اند. این سرویس در ثانیه حدود 50 میلیون عملیات را انجام می‌دهد!

آیا میدانستید که سرویس Twitter در حال حاضر 350 میلیون کاربر فعال دارد که حدود 100 میلیون از این کاربران روزانه از این سرویس استفاده می‌کنند و هر روز کاربران این سرویس 500 میلیون توییت را ارسال می‌کنند. این سرویس در فینال جام جهانی حدود 618,725 توییت را در یک دقیقه دریافت کرده‌است.
و یا سرویس Telegram حدود 100 میلیون کاربر فعال دارد که بصورت متوسط در هر روز 220 هزار کاربر جدید در آن ثبت نام می‌کنند. کاربران این سرویس روزانه 15 بیلیون پیام را ارسال می‌کنند و 700 میلیون عکس را به اشتراک می‌گذارند.
چه سروری به تنهایی می‌تواند این آمار و ارقام را پوشش دهد؟ هزینه خرید و نگهداری آن چقدر است؟ چقدر باید هزینه کنیم تا این سرور از دسترس خارج نشود؟ یک سرور به تنهایی چه راهکاری را می‌تواند ارائه دهد که هیچوقت از دسترس خارج نشود؟
بهتر است بدانید که سرویس Facebook روی بیش از 60,000 سرور ارائه می‌شود! چه سروری به تنهایی می‌تواند کارآیی 60,000 سرور را داشته باشد؟
چه نوع پایگاه داده ای که روی یک سرور سرویس ارائه می‌دهد، قادر است روزانه به بیشتر از 1 تریلیون درخواست، پاسخ دهد؟ اصلا چه سروری به تنهایی قادر است این حجم داده را که هر روز رو به افزایش است، نگهداری کند؟

بهتر است بدانید پایگاه داده سرویس‌های شرکت Apple، روی بیش از 75,000  Node قرار دارند که روزانه حدود 10 پتابایت داده ذخیره می‌کنند. یا Netflix که از 2,500  Node استفاده می‌کند و روزانه 420 ترابایت داده را در قالب 1 تریلیون درخواست دریافت می‌کند یا Easou که پایگاه داده آن روی 270  Node قرار دارد و روزانه 300 ترابایت داده را در قالب 800 میلیون درخواست دریافت می‌کند! اینها اعداد و ارقامی نیستند که ما بتوانیم با SqlServerی که روی یک سرور قرار دارد، پوشش دهیم.

چه تعداد سرویس را در کشورمان می‌شناسید که در زمان بالا رفتن تعداد درخواست از دسترس خارج می‌شوند؟ چه تعداد سرویس را می‌شناسید که تنها راهکاری را که می‌توان در این زمان برای آنها ارائه داد، ارتقاء سخت افزار آنهاست؟ پس از مدتی با بالا رفتن تعداد کاربران، دوباره سخت افزار را ارتقاء می‌دهیم. تا کجا باید این کار را تکرار کنیم؟ چقدر هزینه کنیم برای سخت افزاری که ممکن است به هر دلیلی در هر لحظه از دسترس خارج شود؟ آیا با توجه به آمار تعداد کاربران، تعداد درخواست و حجم داده‌ی سرویس‌هایی که می‌شناسید و قابل مقایسه با آمار ذکر شده است، باز هم از دسترس خارج می‌شوند؟

در سری مقالات Distributed systems in .NET من سعی می‌کنم شما را با خصوصیات و اصطلاحات موجود در سیستمهای توزیع شده آشنا کنم و ابزارهایی را که در NET. برای پیاده سازی این نوع سیستم‌ها وجود دارد، به شما معرفی کنم و با هم ببینیم که این نوع سیستم‌ها چه راهکاری را برای رفع نیازمندی‌های ما ارائه می‌دهند.


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