دمای نرمال cpuچقدر است؟

برنامه های مدیریت دمای پردازشگر به شما کمک می کنند تا با جمع آوری داده ها از حسگرهای مختلف، دمای CPU را بررسی کنید. در یک محیط پیچیده فنی، منابع سخت افزاری مهم هستند و نظارت بر آنها می تواند کار زمان شما را افزایش دهد، عملکرد را بهبود ببخشند و خطرات سوختن و … را به حداقل برساند.

اکثر این نرم افزارها مقادیر خصوصیات فیزیکی خاص مانند دما و ولتاژ مربوط به اجزای فیزیکی مانند CPU ، باتری، فن، مادربرد و … را ارائه می کنند.

پردازنده ها گرمای زیادی را تحمل می کنند. پردازنده های جدید می توانند تا 103 درجه سانتیگراد را تحمل کنند- بدون اینکه CPU آسیب ببیند. اما طول عمر سایر اجزا به دلیل دمای بالا کوتاه خواهد شد.

شرکت Puget Systems آزمایشی را انجام داده و متوجه شده است که CPU ها می توانند فرکانس خود را با توجه به دما تنظیم کنند و در نتیجه در دمای بالا حداکثر عملکرد را نداشته باشند. تفاوت عملکردی بسیار کمی بین CPU در حال کار در 30 درجه سانتیگراد و 95 درجه سانتیگراد وجود دارد.

نمودار زیر فرکانس پردازنده را بر اساس خنک سازی به شما نشان می دهد. در این آزمایش، از کولر CPU Intel Core i7 4790 و Gelid Silent Spirit Rev.2 استفاده شده است.

چه کسانی باید دمای پردازنده را بررسی کنند؟

گیمرها و طراحان گرافیک کاربران با عملکرد بالا هستند. این افراد معمولا قطعات کامپیوتر را تعویض می کنند تا سریع تر کار کند. در گذشته گیمرها کامپیوتر را برای اجرای روان بازی های آنلاین اورکلاک می کردند اما اورکلاک می تواند دمای پردازنده را افزایش دهد.

دلایلی که می توانند دمای پردازنده را افزایش دهند

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

ویروس ها ، تروجان ها مانند (Backdoor ، Rootkit و غیره) و Worms (ایمیل، اینترنت، شبکه) انواع متداول عفونت های مخربی هستند که می توانند باعث افزایش دمای پردازنده شوند.

برخی از برنامه ها به CPU احتیاج بیشتری دارند. به عنوان مثال، برنامه های ویرایش ویدیو و گرافیک، بازی هایی با گرافیک با وضوح بالا، برنامه های رایت DVD و … . برنامه های شروع خودکار می توانند روی استفاده از پردازنده تأثیر بگذارند. بعضی اوقات مرورگرها نیز از قدرت پردازش CPU استفاده می کنند.

دمای نرمال CPU

دمای پردازنده در حالت بیکار باید 45 تا 50 درجه سانتیگراد باشد. هنگامی که مشغول بازی، اجرای ویدیو، یا انجام کارهای سنگین دیگری هستید، بار بیشتری روی سیستم وجود دارد و دما می تواند حدود 70 تا 80 درجه سانتیگراد باشد. دمای بین 80 تا 100 درجه سانتیگراد دمای حداکثری است. در این دما، سرعت پردازنده کاهش می یابد.

در صورت بالا رفتن دمای پردازنده چه باید کرد؟

در اینجا لیست اقداماتی که می توانید در شرایطی که دمای پردازنده بیش از 80 درجه سانتیگراد است انجام دهید را ارائه خواهیم کرد:

  • گرد و غبار روی رایانه را پاک کنید.
  • بررسی کنید که فن کار می کند یا خیر.
  • کامپیوتر را در محیط خنک قرار دهید.
  • کولر CPU و CPU را به کرم حرارتی آغشته کنید. توصیه می شود این کار را بعد از سه سال دوباره تکرار کنید زیرا این کرم ها با گذشت زمان خاصیت خود را از دست می دهند.
  • اورکلاک کردن را متوقف کنید. اورکلاک به معنای افزایش سرعت / ساعت CPU است و از طریق تنظیمات BIOS قابل افزایش است. اورکلاک کردن عملکرد کلی رایانه شما را افزایش می دهد و دمای CPU را بالا می برد.
  • برگرفته از وبسایت جالب آموز

انواع فلومتر و کاربرد آنها

 

فلومترهای کوریولیس
فلومتر کوریولیس یک فلومتر جرمی واقعی می باشدکه بر اساس اصول فزیکی تاثیرات چرخش زمین بر روی جرم کار می کند. این اثر را شتاب کوریولیس می نامند که باعث تولید نیروی کوریولیس می شود. خوب است بندانید که این نیروی کوریولیس است که باعث می شود گرداب های چرخشی به وجود آمده در آب، در نیم کره ی شمالی زمین، هم چهت با عقربه های ساعت، و در نیم کره ی جنوبی بر خلاف عقربه های ساعت باشد.

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


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

فلومتر گردابی
فلومتر های گردابی (vortex flowmeters) یک نوع از فلومترهای نوسانی ( Oscillatory flowmeter) می باشند. این فلومتر ها از پدیده های فیزیکی ای استفاده می کنند که باعث ایجاد تغییرات گسسته در برخی پارامترها می شود، به طوری که این پارامتر ها تابعی از فلو عبوری از فلومتر می باشند


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

فلومتر اختلاف فشار
برای اندازه گیری فلو از دستگاه های متنوعی استفاده می شود. فلومترهای اختلاف فشاری که گاهی آن را head-type می نامند، یکی از پرکاربردترین دستگاه های اندازه گیری فلو می باشند. این دستگاه ها عموما ساده، قابل اعتماد و بسیار دقیق هستند. در نتیجه، برای کاربردهای اندازه گیری فلو مایع و همچنین، اکثر کاربردهای گاز، اغلب از این نوع دستگاه ها استفادا می شود. در فلومترهای اختلاف فشاری با اندازه گیری افت فشار ایجاد شده بواسطه ی یک محدودیت (Constriction) قرار گرفته در مسیر جریان فلو، میزان نرخ فلو تعیین می شود، به طوری که اختلاف فشار ایجاد شده اندازه گیری شده و سپس نرخ فلو از این اختلاف فشار استنتاج می شود.

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

برگرفته از سایت میرا کنترل https://miracontroller.com

10 ابرکامپیوتر دنیا یا سوپر کامپیوتر

ابر کامپیوتر ها یا همان سوپر کامپیوتر ها برای پردازش‎های سنگین به کار گرفته می‎شوند. این اصطلاح معمولاً برای سیستم ‎هایی به کار میرود که قدرت پردازش اطلاعات فراوانی را در کسری از ثانیه را داشته باشند. تعریف ابر رایانه از زبان ویکی پدیا به صورت زیر است:

    به کامپیوتری اطلاق می‌گردد که در زمان معرفی آن در زمینه میزان ظرفیت محاسبه در واحد زمان در دنیا پیشرو باشد. عبارت ابر رایانه برای اولین بار توسط مجله «نیویورک ورلد» برای اشاره به جدول‌سازهای آی‌بی‌ام ( IBM ) در دانشگاه کلمبیا به کار رفت.

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

    آزمایش مدل‎ های ریاضی برای پدیده های پیچیده فیزیکی
    شبیه سازی آب و هوای آینده
    شبیه سازی پیدایش و تکامل کیهان
    شبیه سازی سلاح ‎های هسته ‎ای و عملکرد راکتور ها
    تحقیقات بر روی مواد شیمیایی برای ساخت دارو های جدید
    رمز نگاری

با کاهش هزینه‎ های ابر کامپیوتر ها در دهه 1990، مشاغل بیشتری شروع به استفاده از ابر کامپیوتر ها برای تحقیقات و سایر مدل‎‌ های مرتبط با تجارت کردند.

 
ویژگی‎ ابر کامپیوتر ها

ابرکامپیوتر ها ویژگی ‎های متمایز خاصی دارند. بر عکس کامیپوتر های معمولی، ابر رایانه ها معمولا دارای بیش از یک CPU ( پرادزشگر مرکزی ) هستند. این پردازشگرها مدارهای مخصوصی برای تفسیر اطلاعات و دستور العمل های برنامه و انجام محاسبات عملی و منطقی در توالی مناسب را در خود جای داده اند.

استفاده از چندین پردازنده پر قدرت برای محاسبات سنگین و پیچیده ضروری است. سیگنال های الکترونیکی نمی توانند سریعتر از سرعت نور حرکت کنند، بنابراین محدودیت سرعت اساسی ترین مشکل برای انتقال سیگنال و سوئیچینگ در مدار های CPU است.

بازیابی سریع داده ها و دستورالعمل های ذخیره شده برای رسیدن به سرعت محاسباتی بالا در CPU ها لازم است. بنابراین، اکثر ابرکامپیوتر ها  از ظرفیت ذخیره سازی بسیار بزرگی استفاده می‎کنند. همچنین ابرکامپیوتر ها از قابلیت ورودی و خروجی بسیار سریعی برخوردار هستند.

یکی دیگر از ویژگی های متمایز کننده ابرکامپیوتر ها، استفاده آنها از حسگر برداری (vector arithmetic)  برای پردازش است که باعث می‎شود ابرکامپیوتر ها بتوانند چندین هزار محاسبه را هم زمان پردازش کنند. به عنوان مثال ، یک ابر رایانه معمولی می تواند لیستی از میزان دستمزد ساعتی برای گروهی از کارگران کارخانه را با لیستی از ساعات کار اعضای آن گروه ضرب کند تا لیستی از سود آوری کسب شده توسط هر کارگر را به دست آورد.

 
کاربردهای ابرکامپیوتر ها

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

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

با کاهش هزینه‎ های ساخت ابرکامپیوترها و گسترش روز افزون تکنولوژی و فراهم شدن بستر مناسب برای بازی ‎های آنلاین استفاده از این کامپیوتر ها در این صعنت نیز امری بدیهی گشت. در سال 2007 ابرکامپیوتر های بازی World of Warcraft توانست بیش از یک میلیون نفر را در دنیای آنلاین بازی جمع کنند و این گونه راه را برای پیشرفت در این زمینه باز کنند.

 
واحد اندازگیری در ابرکامپیوتر ها

ترافلاپ یا TFLOP در واقع کوتاه شده عبارت “teraflop” است. ترافلاپ روشی برای محاسبه ی قدرت سخت افزاری کامپیوتر بر اساس ظرفیت ریاضی است. یک ترافلاپ به ظرفیت پردازنده برای محاسبه یک تریلیون ممیز شناور (Floating Point) در هر ثانیه می گویند. مثلا وقتی می گوییم یک قطعه سخت افزاری دارای قدرت 6 ترافلاپ است، بدین معناست که می تواند در هر ثانیه 6 تریلیون (معادل 6 هزار میلیارد) ممیز شناور را محاسبه و پردازش کند.
محاسبه ممیز شناور چیست؟

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

اگر درس ریاضی دوران تحصیل خود را به خاطر بیاورید، ممیز شناور در واقع همان “اعداد حقیقی” هستند، که از دیدگاه محاسبات ریاضی، به هر نوع محاسبه محدود (کرانه دار) گفته می شود که از اعداد حقیقی (خصوصا در سیستم ده دهی) استفاده می کند.

در نهایت، ترافلاپ یعنی تعداد معادلات ریاضی بر اساس اعداد حقیقی که پردازنده قادر است در هر ثانیه پردازش کند. دستگاه های مختلف ممکن است به مقادیر متفاوتی از فلاپس نیاز داشته باشند. مثلا یک ماشین حساب معمولی تنها با 10 فلاپس می تواند تمام دستورات و محاسبات ریاضیِ شما را انجام دهد. در نتیجه وقتی از مگافلاپ (میلیون فلاپ)، گیگافلاپ (میلیارد فلاپ) و ترافلاپ (تریلیون فلاپ) صحبت می کنیم، می توانید تصور کنید که از چه میزان قدرت حرف می زنیم.

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

    هر پتافلاپ  یک ترافلاسپ یا یک کوادریلیون (عدد یک با ۱۵ صفر به توان دو) واحد سرعت است.


 
ده ابر کامپیوتر برتر جهان



طبق جدیدترین رده بندی سریع ترین ابرکامپیوتر ها که اخیراً اعلام شد ده ابرکامپیوتر برتر این لیست نیز مشخص شد که ما نیز در این مقاله به این سوپر کامپیوتر ها نگاهی خواهیم انداخت.

 
10 – ابر کامپیوتر LASSEN

LASSEN برادر کوچک ابر کامپیوتر Sierra در آزمایشگاه ملی لارنس لیورمور، توسط IBM با همان معماری ساخته شده است. ابر رایانه لاسن برای تحقیقات غیر طبقع بندی طراحی و ساخته شده است. لاسن بر خلاف برادر بزرگ‎ تر خود سیرا 18.2 پتافلاپ آهسته تر است.

این ابر کامپیوتر از 795 نود، 34,848 پردازشگر مزکزی ( CPUs ) و با 3,168 گرافیک ( GPUs ) انویدیا ( NVIDIA ) ساخته شده است، همچنین این ابر رایانه 253,440 رم ( RAM ) را در خود جای داده است.



 

 


 9 – ابر کامپیوتر SUPERMUC-NG

در سال 2018، ابر کامپیوتر نسل جدید SuperMUC به طور رسمی در سوپرکامپیوتر های Leibniz در گارچینگ ( در نزدیکی مونیخ آلمان ) به بهره برداری رسید و در سال 2019 شروع به کار کرد. قدرتمندترین ابر کامپیوتر اتحادیه اروپا با فناوری شرکت ‎های Lenovo و اینتل ساخته شده است.

SuperMUC قدرتمندترین سوپر کامپیوتری است که فقط توسط پردازننده‎ های سری x86 کار می‎کند. سرعت پردازش ابر رایانه SUPERMUC-NG به 19.5 پتافلاپ می رسد.

 




8 – ابر کامپیوتر ABCI

در رده هشتم رنک برترین ابر کامپیوتر ها، سوپر کامپیوتر ABCI قرار گرفته است که توسط شرکت فوجیتسو ساخته شده و متعلق به انستیتوی ملی علوم و فناوری پیشرفته صنعتی ژاپن است. البته ناگفته نماند که این ابر کامپیوتر نسبت به رده بندی قبلی یک رده افت پیدا کرده است.

ابر رایانه ABCI به عنوان یک منبع هوش مصنوعی مبتنی بر ابر ( cloud-based ) طراحی و ساخته شده است که در اختیار شرکت‎ ها و گروه های تحقیقاتی ژاپنی قرار گرفته است.

 




7 – TRINITY

ابر کامپیوتر TRINITY یکی از قدرتمند ترین کامپیوتر هایی دنیاست که شرکت Cray  آن را توسط آزمایشگاه لس آلاموس ( Los Alamos National ) تولید کرده است و توانسته است در رده هفتم برترین سوپرکامپیوتر ها قرار بگیرد.

این دستگاه که نام خود را از اولین آزمایش هسته ای ایالات متحده در سال 1945 به ارث برده است، عمدتا به محاسبات مربوط به سلاح‎ های هسته ای اختصاص یافته است. نخستین بمب اتمی جهان به سرپرستی دکتر رابرت اوپنهایمر طی پروژه منهتن در این آزمایشگاه ساخته شد.

قدرت پردازش ابر رایانه TRINITY به 3.678 گیگا فلاپ بر وات می‎رسد.

 




 
6 – ابر کامپیوتر PIZ DAINT

قدرتمندترین سیستم اروپا در رده ششم این فهرست قرار دارد. این سوپر کامپیوتر در مرکز ملی سوئیس قرار دارد. اسم این ابر کامپیوتر بر گرفته از کوه Piz Daint در آلپ است. در اواخر سال 2016، ابر رایانه Piz Daint به سه برابر رسد تا به رکورد 25 پتافلاپ دست یابد و در آن زمان در رتبه 3 ابر کامپیوتر ها قرار داشت.

این ابر کامپیوتر در واقع ارتقاء یافته ابر کامپیوتری است که توسط شرکت آمریکایی Cray و به دست پدر سوپر کامپیوتر های جهان یعنی سیمور کری ساخته شده است. پردازنده های Intel و NVIDIA آن سرعت 21.2 پتافلاپ را به آن می دهند. از Piz Daint در تحقیقات گسترده‎ در زمینه علوم مواد، فیزیک، ژئوفیزیک، علوم زندگی، اقلیم شناسی و علوم داده استفاده می‎شود.

 




 
5 – frontera

ابرکامپیوتر frontera توسط شرکت Dell ساخته شده است و در مرکز محاسبات پیشرفته دانشگاه تگزاس قرار گرفته است. این سوپر کامپیوتر مجهز به پردازند های اینتل می‎باشد. این ابر کامپیوتر توانست به سرعت جای خود را میان برترین ‎های این حوزه باز کند و در رده پنجم این لیست قرار بگیرد.

frontera در سپتامبر 2019 به عنوان سریعترین ابرکامپیوتر جهان که در یک دانشگاه قرار دارد، رونمایی شد. سه تیم علمی در زمینه تحقیقات مربوط به فیزیک سیاه چاله ‎ها ، مکانیک کوانتومی ، طراحی دارو و مدل های اقلیمی پژوهش ‎های خود را با این سیستم انجام داده‎ اند.

قدرت 23.5 پتافلاوب این سوپرکامپیوتر در خدمت علم قرار گرفته است. این ظرفیت محاسباتی بسیار بالا در رشته‎ های اختر فیزیک، علم مواد، انرژی، ژنومیک و الگوبرداری از بلایای طبیعی مفید واقع خواهد شد.

 




4 – TIANHE-2A

در رتبه چهارم این لیست ابر کامپیوتر چینی TIANHE-2A یا راه شیری قرار گرفته است. این سوپر کامپیوتر  توسط دانشگاه ملی چین تهیه شده است و مجهز به پردازنده Intel Xeon با تعداد نزدیک به 5 میلیون هسته است که به آن اجازه می‎دهد سرعت آن تا به 61.4 پتافلاپ برسد، طبق صحبت ‎های مقامات چینی از این سیستم برای محاسبات مربوط به امنیت دولت این کشور استفاده می‎شود.

 



3 – ابر کامپیوتر SUNWAY TAIHULIGHT

چین با ابر کامپیوتر TAIHULIGHT برای 2 سال در رتبه یک برترین ابرکامپیوتر ها قرار گرفته بود ولی با روی کار آمدن دو سوپر کامپیوتری که در ادامه مقاله خواهید خواند به رتبه سوم سقوط کرد. با این حال هنوز هم این سیستم جزو برترین‎ های این حوزه محسوب می‎شود.

TAIHULIGHT در مرکز ملی تحقیقات مهندسی و فناوری محاسبات چین ساخته و در مرکز ملی ابرکامپیوترها در Wuxi نصب شده است. این سوپر کامپیوتر بر خلاف سایر دستگاه ‎های هم رده خود، فاقد تراشه شتاب دهنده است و سرعت پردازنده آن به 93.0 پتافلاپ می‎رسد.

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

 





2 – ابرکامپیوتر Sierra

دومین ابر کامپیوتر در این رده بندی یعنی Sierra هم ساخت شرکت IBM است که برای آزمایشگاه ملی لارنس لیورمور در کالیفرنیا ساخته شده است. این سوپر کامپیوتر دارای 1,572,480 هسته است که توسط پردازنده‎های IBM Powe9 تهیه شده و توسط شتاب دهنده های Nvidia Volta GV100 تقویت شده است. عملکرد این ابر رایانه به 94.6 پتالفاپس رسیده است و در 6 ماه اخیر بدون تغییر بوده است.

 



1 – سوپر کامپیوتر Summit

بدون شک در حال حاضر IBM پیشتاز ابرکامپیوترها به حساب محسوب می‎شود. Summit قدرتمندترین سوپر کامپیوتر دنیا نیز ساخت این شرکت است که برای آزمایشگاه ملی اوک ریج ( Oak Ridge ) وزارت انرژی ایالات متحده در تنسی ساخته شده است.

قدرتمندترین ابر رایانه در جهان امروز Summit است که توسط IBM برای آزمایشگاه ملی اوک ریج وزارت انرژی ایالات متحده در تنسی ساخته شده است. این ابر کامپیوتر معادل دو زمین بسکتبال را اشغال می کند و به لطف 2.41 میلیون هسته خود به عملکرد بی‎نظیر 148.6 پتالفاپ می‎ رسد.

Summit با هشت برابر سرعت سریع‎ ترین ابر کامپیوتر قبلی امریکا، یک پیشرفت بزرگ برای این کشور و حتی جهان به حساب می‎ آید. تیم Oak Ridge می گوید این سیستم که 200 میلیون دلار برای ساخت آن هزینه شده است، اولین سوپرکامپیوتری است که برای استفاده در برنامه های هوش مصنوعی ساخته شده است.

 


 
برگرفته از سایت سپهر انفورماتیک

قابلیتهای نسخه 10 سی شارپ

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

760 4_0.gif
بررسی پارامتر تهی (Null Parameter Checking)

استثنا مرجع تهی (Null Reference Exception) یکی از خطاهای دردسرآفرین برنامه‌های کاربردی است. برنامه‌نویسان برای پیشگیری از بروز این خطا مجبور هستند ورودی‌های متدها را بررسی کنند، اما ویژگی جدید این فرآیند را ساده‌تر و خوانایی کدها را بیشتر کرده است. در حال حاضر برای بررسی تهی (خالی بودن) یک پارامتر از ترکیب نحوی زیر استفاده می‌شود:

public MyFunction(int id, SomeClass newObject)

}

if (newObject == null)

{

throw new ArgumentNullException(“newObject”);

}

// Code Here

{

در متد بالا، یک شیء به‌نام newObject از نوع SomeClass به پارامتر MyFunction تخصیص داده شده است. اگر شیء مذکور مقداردهی اولیه نشده باشد (تهی باشد) متد نباید کار کند. نسخه 10 سی‌شارپ این فرآیند ارزیابی را ساده کرده است. کافی است، دو کاراکتر !! به انتهای نام پارامتر اضافه کنید.

public MyFunction(int id, SomeClass newObject!!)

}

// Code Here

{

در قطعه کد بالا، به‌شکل خودکار تهی بودن newObject بررسی می‌شود و اگر نتیجه ارزیابی مثبت باشد، خطای ArgumentNullException تولید می‌شود که امکان مدیریت بدون مشکل آن وجود دارد.
خاصیت‌های اجباری (Required Properties)

برنامه‌نویسان مجرب از سازنده‌ (Constructor) پیچیده در برنامه‌های خود استفاده نمی‌کنند و ترجیح می‌دهند از سازنده‌های ساده استفاده کنند. به‌بیان دیگر، ترجیح می‌دهند مقادیر را به‌شکل مستقیم به فیلدها ارجاع دهند. برنامه‌نویسان برای ساخت اشیاء از سازنده‌های سبک‌وزن همانند قطعه کد زیر استفاده می‌کنند:

var Myconstructor = new MyClass

{

Title = “Hi Everyone”

Category = “.NET»,

ReleaseDate = DateTime.Now()

}

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

public class MyClass

}

public required string Title {get; init;}

public string Category {get; init;}

public DateTime ReleaseDate {get; init;}

{
ویژگی Global Using

به‌طور معمول، برنامه‌نویسان در ابتدای سورس‌هایی که در سی‌شارپ می‌نویسند از دستور using استفاده می‌کنند که همراه با آن فضای‌نام (Namespace) قرار می‌گیرد. فضاهای نام پذیرای کلاس‌ها، متدها و اشیاء داده‌ای هستند که برنامه‌نویسان برای نوشتن کدهای خود به آن‌ها نیاز دارند. به‌طور مثال، System، System.Linq، System.Collections.Generic و غیره تقریبا در همه پروژه‌ها و فایل‌هایی که توسط زبان برنامه‌نویسی سی‌شارپ نوشته می‌شوند، وجود دارند. تیم توسعه دات‌نت و سی‌شارپ در نسخه 10 ویژگی Global Using را معرفی کرد. ویژگی فوق به برنامه‌نویسان اجازه می‌دهد برای وارد کردن (Import) یک فضای‌نام به‌جای آن‌که از دستور Using استفاده کنند از عبارت Global Using  استفاده کنند. تفاوت دستور جدید با دستور قبلی چیست؟ اگر در یکی از فایل‌های پروژه از Global Using استفاده کنید، نیازی نیست در فایل‌های دیگر پروژه، دومرتبه از همان Using استفاده کنید. به‌عبارت دقیق‌تر، دستور فوق قابلیت گسترش‌پذیری دارد و به دیگر فایل‌ها تعمیم داده می‌شود.

برنامه‌نویسان می‌توانند از Global Using  در یکی از فایل‌های اصلی پروژه مثل فایل Program.cs استفاده کنند تا ویژگی فوق به فایل‌های دیگر تعمیم داده شود. اگر به‌دنبال برنامه‌نویسی ساخت‌یافته هستید، پیشنهاد می‌کنیم فایلی به‌نام GlobalNamespace.cs  در پروژه ایجاد کنید و تمام دستورات Using را در آن قرار دهید تا مجبور به تکرار دستورات نباشید.

global using System;

global using System.Linq;

global using System.Collections.Generic;

برنامه‌نویسان می‌توانند به‌طور همزمان از Using و Global using در یک فایل استفاده کنند. همچنین، می‌توان از  Global Using برای وارد کردن کلاس‌های ایستا استفاده کرد. ترکیب نحوی این‌کار به‌شرح زیر است:

global using static System.Console;
ویژگی  Implicit Using

پروژه‌هایی که با دات‌نت نسخه 6 توسعه داده می‌شوند، مجهز به قابلیتی هستند که Implicit Using نام دارد. توسعه‌دهندگان می‌توانند ویژگی فوق را فعال یا غیرفعال کنند. اگر قابلیت مذکور در پروژه‌ای فعال باشد، به‌شکل پیش‌فرض برخی Using‌ها را بر مبنای پروژه به آن اضافه می‌کند. به‌طور مثال، در ارتباط با برنامه‌های کنسول، Using‌های زیر به‌طور خودکار به تمامی فایل‌های پروژه اضافه می‌شوند.

// <auto-generated/>

global using global::System;

global using global::System.Collections.Generic;

global using global::System.IO;

global using global::System.Linq;

global using global::System.Net.Http;

global using global::System.Threading;

global using global::System.Threading.Tasks;

همان‌گونه که مشاهده می‌کنید، ویژگی فوق کاملا کاربردی است. برنامه‌نویسان می‌توانند از روش‌های زیر برای فعال‌سازی ویژگی فوق استفاده کنند:

اگر به بخش Properties پروژه در Solution Explorer در ویژوال استودیو بروید، گزینه‌ای به‌نام Implicit global using را مشاهده می‌کنید که امکان فعال یا غیرفعال کردن آن با فعال‌سازی تیک Using‌ها وجود دارد.

دومین روش این است که فایل تنظیمات پروژه که فرمت فایلی .csproj نام دارد را باز کنید و مقدار برچسب  ImplicitUsings را فعال (Enbale) کنید. برای غیرفعال کردن قابلیت فوق، کافی است مقدار برچسب مذکور را Disable تنظیم کنید.

<Project Sdk=”Microsoft.NET.Sdk”>

  <PropertyGroup>

    <OutputType>Exe</OutputType>

    <TargetFramework>net6.0</TargetFramework>

    <ImplicitUsings>enable</ImplicitUsings>

    <Nullable>enable</Nullable>

  </PropertyGroup>

</Project>

اگر دوست دارید تا بدانید چه Using‌هایی به‌طور خودکار به پروژه اضافه شده‌اند، پروژه را باز کنید و به مسیر Obj\Debug\Net6.0 بروید. در مسیر مذکور، فایلی به‌نام  GlobalUsings.g.cs  را مشاهده می‌کنید که  Usingها در آن قرار دارد. کامپایلر فایل مذکور را به‌طور خودکار برای پروژه‌هایی که روی دات‌نت 6 توسعه داده می‌شوند و قابلیت فوق در آن‌ها فعال شده است، ایجاد می‌کند. اگر در نظر دارید، گزینه‌های دیگری به Usingهای پیش‌فرض اضافه کنید، باید برچسب زیر را به برچسب‌های تنظیمات که .csproj نام دارد اضافه کنید.

  <ItemGroup>

    <Using Include=”System.Numerics” />

  </ItemGroup>

در قطعه کد بالا فضای‌نام Numerics به موارد پیش‌فرض اضافه می‌شود.
رشته‌های درون‌یابی ثابت

(Constant interpolated strings)

ویژگی مذکور، اجازه می‌دهد متغیرها و عبارت‌های محاسباتی را به روشی شفاف‌تر و خواناتر به رشته‌ها الحاق کرد. به‌طور سنتی، برنامه‌نویسان از عملگر مثبت (+) یا متد Format کلاس String برای الحاق رشته‌ها استفاده می‌کنند. به‌طور مثال، اگر در نظر داشته باشیم رشته جدید از طریق الحاق دو متغیر  firstName و lastName ایجاد کنیم، باید کاری مشابه حالت زیر انجام دهیم:

var FirstName = “HamidReza”;

var LastName = “Taebi”;

var Firstattach = FirstName + “ “ + LastName;

var Secondattach = string.Format(“{0} {1}”, FirstName, LastName);

با ویژگی جدید  Interpolated Strings کاراکتر $ را قبل از رشته جدید قرار می‌دهیم و داخل کروشه نام متغیر یا عملیات محاسباتی را درج می‌کنیم.

var OldMethod = $”{FirstName} {LastName}”;

همان‌گونه که مشاهده می‌کنید، ویژگی Interpolated Strings قالب‌بندی رشته‌ها و خوانایی کدها را بهتر کرده و اجازه می‌دهد با کدنویسی کمتری فرآیند الحاق را انجام دهید. با‌ این‌حال، ویژگی فوق یک به‌روزرسانی مهم دریافت کرده است. تا قبل از انتشار سی‌شارپ 10، برنامه‌نویسان نمی‌توانستند از ویژگی Interpolated Strings استفاده کنند و مقدار بازگشتی را درون ثابت‌های رشته‌ای قرار دهند و خروجی باید در یک متغیر درج می‌شد. از این پس، برنامه‌نویسان می‌توانند مقدار بازگشتی  Interpolated Strings را در یک ثابت رشته‌ای قرار دهند. ‌ویژگی مذکور Constant Interpolated Strings  نام دارد.

private const string Myfirstname = “HamidReza”;

private const string Mylastname = “Taebi”;

private const string NewMethod = $”{ Myfirstname } { Mylastname }”;

دقت کنید تنها ثابت‌هایی از نوع رشته از طریق روش فوق قابل الحاق به‌ یک‌دیگر هستند و قرار دادن مقدار بازگشتی در یک ثابت رشته‌ای را امکان‌پذیر می‌کنند. از‌این‌رو، اگر تلاش کنید از تکنیک مذکور در ارتباط با نوع‌های دیگر استفاده کنید با پیغام خطا روبرو می‌شوید.
تغییرات Lambda Expression در سی‌شارپ 10

یکی از کلمات کلیدی قدرتمند زبان برنامه‌نویسی سی‌شارپ، کلمه کلیدی var است. var به کامپایلر اجازه می‌دهد از روی مقادیر تخصیص داده شده به یک متغیر، نوع متغیر را تشخیص دهد و ضرورتی ندارد به‌شکل صریح نوع متغیر را تعریف کنیم. تا قبل از انتشار نسخه 10، کامپایلر سی‌شارپ اگر با قطعه کدی شبیه به var MyDelegate = () => Console.WriteLine(“Hello”); روبرو می‌شد، به‌دلیل این‌که توانایی تشخیص نوع Delegate را نداشت، پیغام خطا می‌داد. برنامه‌نویسان برای حل این مشکل مجبور بودند، نوع Delegate را مشخص کنند.

Action MyDelegate = () => Console.WriteLine(“Hello”);

در نسخه 10 ویژگی Inferred Delegate Type افزوده شده تا کامپایلر بتواند نوع Delegate را تشخیص دهد. دقت کنید عبارت سمت راست که Lambda Expression  نام دارد باید برای کامپایر قابل فهم باشد. به‌طور مثال، فرض کنید قصد استفاده از کلمه کلیدی var را دارید و از ترکیب نحوی مثل var multiple = x => x * x; استفاده می‌کنید. کامپایلر نمی‌تواند نوع x را تشخیص دهد، بنابراین پیغام خطایی تولید می‌کند. برای آن‌که مشکل دستور فوق را برطرف کنیم، باید نوع x را دقیقا اعلام کنیم.

var multiple = (int x) => x * x;

موضوع مهم دیگری که باید به آن دقت کنید نوع خروجی Delegate است. اگر در نظر دارید Delegate بنویسید که دو نوع متفاوت را بازگرداند، کامپایلر نمی‌تواند نوع خروجی را تشخیص دهد و پیغام خطایی نشان می‌دهد. به‌طور مثال، دستور زیر را در نظر بگیرید

var result = (int x) => x > 10 ? 40 : “forty”;

در دستور بالا، نوع خروجی بر مبنای مقدار x، از نوع صحیح یا رشته‌ای است. کامپایلر نمی‌تواند نوع خروجی را تشخیص دهد و پیغام خطایی نشان می‌دهد. در نسخه جدید، برنامه‌نویسان توانایی تعیین نوع خروجی Lambda Expression را دارند. برای این‌کار، قبل از ورودی‌های عبارت لامبدا، نوعی را تعیین می‌کنند که نوع خروجی عبارت لامبدا را مشخص می‌کند. حال اگر دستور بالا را به‌شکل زیر بنویسیم مشکلی ایجاد نمی‌شود:

var result = object (int x) => x > 10 ? 40 : “forty”;

در دستور بالا، مشخص کردیم که نوع خروجی عبارت لامبدا از نوع Object است. نوع Object نشان می‌دهد که خروجی می‌تواند هر نوعی داشته باشد. در این حالت، دست کامپایلر برای تشخیص نوع خروجی Delegate باز است. به ویژگی مذکور «نوع بازگشتی لامبدا» (Lambda Return Type) گفته می‌شود.

تعریف خصلت روی عبارت لامبدا، ويژگی دیگر افزوده شده به عبارت‌های لامبدا است. مانند متدهای عادی می‌توان به عبارت‌های لامبدا خصلت اضافه کرد که ویژگی مذکور «خصلت لامبدا» (Lambda Expression) نام دارد. به‌طور مثال، فرض کنید در نظر داریم Attribute Obsolete  را به عبارت لامبدا اضافه کنیم. ترکیب نحوی انجام این‌کار به‌صورت زیر است:

var result = [Obsolete] object (int x) => x > 10 ? 40 : “forty”;
اضافه شدن دو نوع جدید DateOnly و  TimeOnly

DateTime از نوع‌های قدیمی دنیای برنامه‌نویسی است که قدیمی‌ها کاملا با آن آشنا هستند. همان‌گونه که اطلاع دارید، نوع DateTime اطلاعات زمان و تاریخ را نگه‌داری می‌کند. به‌طور مثال، اگر دستور DateTime.Now را فراخوانی کنیم، تاریخ و زمان جاری را نشان می‌دهد. قبل از انتشار نسخه 10 سی‌شارپ، اگر تنها تاریخ یا زمان را نیاز داشتیم، باید به‌صراحت نوع موردنظر را انتخاب می‌کردیم. در نسخه 10 دو نوع جدید  DateOnly و TimeOnly اضافه شده تا تاریخ و زمان به شکل مجزا قابل استفاده باشند. ترکیب نحوی استفاده شده از نوع‌های جدید به‌صورت زیر است:

DateOnly Justdate = DateOnly.FromDateTime(DateTime.Now);

TimeOnly Justtime = TimeOnly.FromDateTime(DateTime.Now);

Console.WriteLine(Justdate);

Console.WriteLine(Justtime);

همان‌گونه که مشاهده می‌کنید، مقادیر تاریخ و زمان در دو شیء جدا نگه‌داری می‌شوند. در این‌جا Justdate تنها تاریخ را نگه‌داری می‌کند و  Justtime تنها زمان را نگه‌داری می‌کند. بزرگ‌ترین مزیتی که افزودن این دو نوع جدید برای برنامه‌نویسان دارد، هماهنگی بیشتر نوع‌های تاریخ و زمان در  SQL Server است، زیرا به‌لحاظ داده‌ای شباهت بیشتری به هم دارند.
بهبود عملکرد struct

ساختارها در نگارش 10 سی‌شارپ تغییراتی داشته‌اند. یکی از این تغییرات، تعریف سازنده بدون پارامتر در struct است. تا قبل از انتشار نسخه 10، امکان تعریف سازنده بدون پارامتر وجود نداشت و توسعه‌دهندگان مجبور بودند حداقل یک پارامتر برای یک struct  تعریف کنند. ویژگی مذکور «سازندگان ساختار بدون پارامتر» (Parameterless Struct Constructors) نام دارد. برای آشنایی بهتر با مفهوم فوق به قطعه کد زیر دقت کنید:

struct Point

{

    public Point()

    {

        X = 0;

        Y = 0;

    }

    public double X { get; set; }

    public double Y { get; set; }

}

همان‌گونه که مشاهده می‌کنید، ساختار Point یک سازنده بدون پارامتر دارد. دقت کنید که درون سازنده باید تمام خاصیت‌های آن‌را مقداردهی کنید، در غیر این‌صورت با پیغام خطای زیر روبرو می‌شوید. در پیغام خطای زیر کامپایلر اعلام می‌دارد که Y مقداردهی اولیه نشده است.

Auto-implemented property ‘Point.Y’ must be fully assigned before control is returned to the caller.

قابلیت دیگری که همراه با نگارش 10 به ساختارها افزوده شده، struct field initializers نام دارد. ویژگی فوق اجازه می‌دهد هنگام تعریف خاصیت، آن‌را مقداردهی کرد. توسعه‌دهندگان می‌توانند از ترکیب زیر برای این منظور استفاده کنند:

public double X { get; set; } = 0;

راه‌حل فوق باعث می‌شود تا کامپایلر پیغام خطایی نشان ندهد، زیرا خاصیت‌های ساختار همگی مقداردهی اولیه شده‌اند. نکته ظریفی که هنگام استفاده از تکنیک فوق باید دقت کنید این است که انتهای دستور از سمی‌کالن (;) استفاده کنید.

قابلیت جالب دیگری که به ساختارها اضافه شده، With نام دارد. ویژگی مذکور اجازه می‌دهد یک کپی از شیء ساخته‌شده از ساختار تهیه کنید و در صورت نیاز برخی از خاصیت‌های آن‌ها را تغییر دهید.

var p1 = new Point(12, 13);

var p2 = p1 with { Y = 49 };

در قطعه کد بالا، شی p1 با مقادیر 12 برای X و 13 برای Y تعریف شده است. در خط دوم از کلمه کلیدی  with برای ساخت یک کپی از p1  استفاده شده و در ادامه مقدار Y  به 49 تغییر پیدا کرده است. در این حالت، شیء p2 با مقدار جدید ساخته می‌شود.
تغییرات مهم Property Pattern در نسخه 10

برای اولین بار در نسخه ۸ زبان سی‌شارپ، قابلیت Property Pattern معرفی شد. توسعه‌دهندگان می‌توانستند از قابلیت فوق برای ارزیابی اشیاء با مقادیر خصلت‌های مرتبط استفاده کنند که نقش مهمی در خوانایی و درک ساده‌تر کدها داشت. به‌طور مثال، فرض کنید دو کلاس Person و Car دارید و در نظر دارید متدی بنویسید و این موضوع را بررسی کنید که آیا شخصی ماشین‌های قرمز دارد یا خیر. برای انجام این‌کار قطعه کدی مشابه زیر می‌نویسیم:

public class Person

{

    public string Name { get; set; }

    public Car? Car { get; set; }

}

public class Car

{

    public string Color { get; set; }

}

static bool HasPersonRedCar(Person person) => person is { Car: { Color : “Red”} };

در ادامه یک شیء از کلاس Person ایجاد می‌کنیم و متد HasPersonRedCar را روی شیء جدید فراخوانی می‌کنیم.

var ali = new Person()

{

    Name = “Alex”,

    Car = new Car

    {

        Color = “Red”,

    }

};

Console.WriteLine(HasPersonRedCar(Alex));

قطعه کد فوق مقدار true را باز می‌گرداند.

همان‌گونه که مشاهده می‌کنید، Car خاصیت شیء Person را بررسی می‌کند و اگر مقدار خاصیت Color  برابر با  Red باشد مقدار True را باز می‌گرداند، در غیر این‌صورت مقدار False باز گردانده می‌شود. در مدل فوق، برای بررسی مقدار هر خاصیت مجبور هستیم یک جفت آکولاد باز و بسته بنویسیم. در نگارش 10 سی‌شارپ این قابلیت بهبود پیدا کرد تا نحوه نوشتن کدها ساده‌تر و خوانایی آن‌ها بیشتر شود. بر مبنای اصطلاحات جدید، قطعه کد بالا را می‌توان به‌صورت زیر بازنویسی کرد:

static bool HasPersonRedCar(Person person) => person is { Car.Color : “Red” }

همان‌گونه که مشاهده می‌کنید آکولادهای پیرامون خاصیت Color حذف شده و از عملگر نقطه استفاده شده است.

برگرفته از سایت مجله شبکه

کلیپ انواع سنسور اتاق سرور

 1)سنسور افزایش دما
2) سنسور افزایش رطوبت
3)سنسور قطع برق شبکه
4)سنسورقطع یو پی اس
5)سنسورافزایش دود  
6)سنسورنشت آب
7)سنسورباز ماندن درب اتاق سرور
8)سنسور ورود غیر مجاز به اتاق سرور
9)سنسور ضربه به رک
10)سنسور نوسان برق
11)سنسور افزایش دمای رک
12)سنسور افزایش دمای اسپیلیت یاسنسور خرابی کولر
13)سنسور تخلیه باطری
14)سنسور باز شدن درب رک
15)سنسور سوختن کمپرسور کولر
16)سنسور یخ زده گی کندانسور
17)سنسور قطع فیوز کولر
18)هشدار عدم کارکرد صحیح سنسورها
19)سنسور وجود آتش
20)سنسور پیشگیری از احتراق
21)سنسور باردار شدن سیم نول
22)سنسور دوفاز شدن شبکه
23)سنسور افزایش گرد و غبار
24)سنسور خروج گاز سیستم برودتی
25)سنسور افزایش و یا کاهش ولتاژ شبکه از محدوده مجاز

 

 
 

شروع با پیشران

شرکت پیشران صنعت ویرا با اساس نامه اتوماسیون صنعتی و کنترل ابزار دقیق و ساخت تابلوهای برق فشار قوی و ضعیف  از سال 92 تاسیس گشت و ازهمان ابتدا در حوزه کاربرد ابزار دقیق در bms و سپس تولید و ساخت آنها قدم نهاد و در ادامه  مسیر توانست با اتکا به تجربیات چندین ساله و استخدام نیروهای متخصص  برق عملا جزو شرکتهایی باشد که محصولات قابل اتکایی با عناوین  مانیتورینگ شرایط محیطی اتاق سرور -کنترلرهای دمای دیتا سنتر -دیتالاگرهای سردخانه و انبار -هشدار دهنده های دمای یخچال و فریزر و شمارشگرهای نمایشگاهی و فروشگاهی و تابلوهای برق متنوع با کاربردهای مختلف روانه بازار نماید در حال حاضر سیستمهای کنترل دما و رطوبت اتاق سرور این شرکت تنها سیستم مبتنی بر سخت افزار صنعتی plc-hmi  در ایران است.

 تماس با پیشران    رزومه وپروژها

مشتریان پیشران

شرکتها - موسسات - ادارات دولتی و مشتریان خصوصی پیشران صنعت ویرا موسسات مشتریان پیشران صنعت شرکت های مشتری پیشران صنعت ویرا ادارات مشتری پیشران صنعت ویرا مشتریان ما