۵ مطلب در فروردين ۱۴۰۰ ثبت شده است

پورت sata چیست؟ و چه کاربردی در انتقال داده ها دارد؟

پورت sata چیست؟ و چه کاربردی در انتقال داده ها دارد؟

 

 

از آنجا که امروزه افراد برای دستیابی به سرعت بیشتر برای ذخیره سازی اطلاعات از درایورهای SSD استفاده می کنند اما همچنان بسیاری از سیستم ها از پورت sata پشتیبانی می کنند. پورت sata مخفف عبارت Serial Advanced Technology Attachment و به معنای تکنولوژی ارتباطی پیشرفته است که برای برقراری ارتباط ابزارهای ذخیره سازی داده ها از قبیل دیسک سخت و درایو نوری به گذرگاه میزبان می باشد.

پورت sata یک استاندارد IDE مخفف عبارت Integrated Drive Electronics می باشد که توسط کابل ها و کانکتورها به دستگاه  های ذخیره سازی اطلاعات و از طرف دیگر به مادربرد وصل می شوند و امکان انتقال اطلاعات و داده ها را فراهم می کند.

منظور از دستگاه های ذخیره سازی اطلاعات می توان به Hard disk ها، CD drives و DVD drive ها اشاره کرد. این نوع دستگاه های ذخیره سازی اطلاعات توسط کابل sata به مادربرد وصل می شوند و انتقال اطلاعات و داده ها را انجام می دهند. لازم به ذکر است که پروتکل sata از مجموعه دستورات ATA استفاده می کند. حال ممکن است برایتان سوال پیش آید که اسلات sata چیست؟ اسلات sata برای اتصال کابل sata به motherboard استفاده می شود که این کابل را می توان همراه هارد یا درایو CD و DVD پیدا کرد.

ویژگی های پورت ساتا

ویژگی های پورت sata عبارتند از:

  • اتصال گرم (hot-Plug): پس از وصل کردن دستگاه از طریق پورت sata به صورت عادی کار می کند که بسته به سیستم عامل و host ممکن است ابتدا طوری تنظیم گردد که داغ شود. بر خلاف PATA هر دو پورت sata و esata از طریق طراحی اتصال گرم پشتیبانی می کنند اما با این حال این ویژگی به پشتیبانی مناسب در host، دستگاه (درایو) و سطح سیستم عامل نیاز دارد. به طور کلی دستگاه های sata نیازهای اتصال گرم دستگاه را برآورده می کنند و بیشتر آداپتورهای میزبان sata از این عملکرد پشتیبانی می کنند. برای eSATa اتصال گرم فقط در حالت AHCI پشتیبانی می شود و حالت IDE از اتصال گرم پشتیبانی نمی کند.
  • یکی دیگر ویژگی های پورت sata، رابط کنترل پیشرفته میزبان(Advanced Host Controller Interface) و یا AHCI می باشد که یک رابط کنترل کننده میزبان باز می باشد که توسط اینتل منتشر و استفاده می شود که به استاندارد de facto تبدیل شده است و این امکان را برای کاربر فراهم می کند تا از ویژگی های پیشرفته sata مانند hot-plug و صف فرمان NCQ استفاده کند. لازم به ذکر است که اگر AHCI توسط مادربرد و چیپست فعال نباشد ، کنترلرهای SATA معمولا در حالت IDE عمل شبیه سازی را انجام می دهند که اجازه نمی دهد تا به ویژگی های دستگاه که توسط ATA پشتیبانی نمی شود. درایورهای دستگاه ویندوز که دارای عنوان SATA  هستند، اغلب در حالت شبیه سازی IDE کار می کنند، مگر اینکه صریحاً اعلام کنند که آنها در حالت AHCI  می باشند و یا در حالت RAID یا حالت ارائه شده توسط یک درایور و مجموعه فرمان اختصاصی که اجازه دسترسی به ویژگی های پیشرفته SATA را قبل از AHCI داده است. نسخه های مدرن مایکروسافت ویندوز، Mac OS X ، FreeBSD ، لینوکس با نسخه 2.6.19 به بعد و همچنین Solaris و OpenSolaris ، از AHCI پشتیبانی می کنند اما سیستم عامل های قبلی مانند ویندوز XP این کار را انجام نمی دهند.

    ورژن های پورت ساتا

    ورژن های ویرایش شده پورت sata معمولا با یک خط تیره و به دنبال آن اعداد رومی تعیین می شوند، به عنوان مثال. “SATA-III” برای جلوگیری از سردرگمی همیشه مثلا به صورت SATA 6 Gbit / s نمایش داده می شوند. به طور کلی ورژن های پورت sata به شرح زیر می باشد:

  • Sata 1: اولین ورژن پورت sata می باشد که سرعت و پهنای باند به ترتیب 5 Gb/s و 150 MB/s است.
  • Sata 2: در این ورژن تکنیک صف بندی NCQ به sata اضافه شد که منجر به افزایش سرعت اجرای دستورات می شود و سرعت و پهنای باند این ورژن به ترتیب 3 Gb/s و 300 MB/s است.
  • Sata 3 : در این ورژن علاوه بر تغییرات جزیی در تکنیک صف بندی، تغییر اصلی این ورژن نسبت به ورژن قبلی سرعت انتقال اطلاعات می باشد که معادل 6 Gb/s و پهنای باند نیز 600 MB/s است.

تفاوت بین پورت sata و IDE

عملکرد هر دو پورت ساتا و IDE شبیه به یکدیگر می باشد اما در این قسمت قصد داریم تفاوت های بین پورت ساتا و IDE  را بیان کنیم که عبارتند از:

لازم است بدانید که IDE ورژن قدیمی تر از پورت ساتا است که پورت ساتا ساده تر و راحت می باشد و پیچیدگی کمتری دارد.

کابل های IDE معمولا دارای 40 پین می باشند که می توانند به 2 درایو وصل شوند در حالی کابل های sata، 7 پین دارند و تنها امکان اتصال به 1 درایو وجود دارد.

رابط IDE به طور موازی ولی رابط sata به طور سریال (پشت سر هم) اجرا می شود که سریع تر است.

Sata از فناوری های جدیدتری استفاده می کند و می تواند اطلاعات را با سرعت بالاتری انتقال دهد. به طوری که سرعت انتقال داده در sata، 150 Mbps می باشد در حالی سرعت انتقال اطلاعات در IDE، تنها 33 MBps است.

۰ نظر موافقین ۰ مخالفین ۰
علی فیروزی زمانی

CPU-Z

CPU:

 

 

Main-Board: 

 

 

 

Graphic:

 

 

 

RAM:

 

 

 

۰ نظر موافقین ۰ مخالفین ۰
علی فیروزی زمانی

Back End

 

 

Back End چیست

اگر بخواهیم به سوال Back End چیست پاسخ دهیم، در مرحله‌ی اول خیلی خوب است که به دنبال معنی واژه‌ی Back در دیکشنری باشیم. در فست دیک، واژه‌ی Back اینگونه معنا شده است:

Back: عقب، پشت (بدن)، پس، عقبی، گذشته، پشتی، پشتی کنندگان، تکیه گاه، به عقب، درعقب، برگشت (و…)

همانطور که میبینید، یکی از اصلی ترین معانی واژه‌ی Back، پشت می‌باشد. و دقیقا این معنی با کاری که برنامه نویسی اند میکند ارتباط دارد.

وقتی از برنامه نویسی بک اند صحبت میکنیم، منظورمان تمام آن کارهایی است که در پشت صحنه انجام میشود و کاربر آن‌ها را نمیبیند.

ما در تعریف طراحی/برنامه نویسی فراند اند گفتیم:

طراحی یا کدنویسی هر آن چیزی که مربوط به جلوی وبسایت میشود. در واقع یک طراح وب یا یک Front End Developer، کسی است که چیزی را طراحی میکند کاربر آنرا میبیند.

اما برنامه نویسی بک اند (Back End)،‌ دقیقا آن سوی ماجرا قرار دارد. اگر بخواهیم به سوال Back End چیست خیلی ساده پاسخ دهیم، میتوانیم بگوییم:

برنامه نویسی بک اند (Back End) مربوط به کدنویسی و برنامه نویسی هر آن چیزی است که کاربر آن را مشاهده نمیکند و مربوط به کارهای پشت صحنه وب سایت است. برای مثال وقتی که یک وبسایت، مقالات را از دیتابیس دریافت میکند، یک امر مربوط به بک اند است. وظیفه‌ی یک برنامه نویس بک اند، برنامه نویسی چیزهایی است که هسته اصلی یک وبسایت هستند و کاربر کدهای آن‌را بصورت مستقیم مشاهده نمیکند.

مقایسه با فرانت اند

یک نکته‌ی خیلی جالب در تفاوت برنامه نویسی فرانت اند (Front End) و برنامه نویسی بک اند (Back End) وجود دارد. و آن هم نمایان بودن یا نبودن کدهای آن برای کاربران سایت شماست.

وقتی که شما در حال طراحی وب با تکنولوژی هایی مثل HTML, CSS, Javascript و… هستید، تمام کدهایی که نوشتید را کاربر میتواند به راحتی ببیند. زیرا آن کدها مربوط به کاربر هستند و به آن‌ها دسترسی مستقیم دارد.

اما وقتی شما در حال کدنویسی بک اند هستید و مثلا با زبانی مثل PHP کد نویسی میکنید، کاربر هیچ وقت هیچ دسترسی ای نمیتواند به کدهای شما داشته باشد. به این دلیل که این کدها سمت سرور پردازش و اجرا میشوند و کاربر به هیچ وجه نمیتواند آن‌ها را ببیند،‌ بلکه فقط نتیجه‌ای که ایجاد میکنند را مشاهده میکند.

مهارت‌های یک برنامه نویس Back End چیست

برای تبدیل شدن به یک برنامه نویس بک اند، شما باید مهارت‌های زیادی داشته باشید. در آینده حتما لیستی از مهارت‌هایی که برای تبدیل شدن به یک برنامه نویس بک اند حرفه‌ای به آن نیاز دارید را منتشر میکنیم. اما اگر بخواهیم بصورت خلاصه این مهارت‌ها را لیست کنیم، میتوانیم به موارد زیر اشاره کنیم:

زبان برنامه نویسی سمت سرور

برای برنامه نویسی سمت سرور یا برنامه نویسی بک اند، اولین چیزی که نیاز دارید، یک زبان برنامه نویسی‌ای است که سمت سرور اجرا شود. برای مثال زبانی مثل PHP یک زبان برنامه نویسی Back End است که باید روی سرور اجرا شود. پر در اولین قدم شما به یک زبان برنامه نویسی نیاز دارید.

پایگاه داده

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

میتوان گفت که اصلی ترین کار زبان های برنامه نویسی سمت سرور، توانایی ارتباط برقرار کردن آن‌ها با دیتابیس است.

وقتی شما به دیتابیس مسلط باشید و بتوانید با استفاده از زبان برنامه نویسی‌تان به دیتابیس وصل شوید، میتوانید به سرویس‌های آنلاین‌تان قدرت فوق العاده‌ای بدهید و از مزیت‌های فوق العاده‌ی دیتابیس استفاده کنید.

مباحث پیشرفته زبان برنامه نویسی

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

برای مثال در برنامه نویسی PHP،‌ شما اگر بتوانید کدتان را به شیوه‌ی شی گرایی (Object Oriented) بنویسید، کد شما میتواند خیلی تمیزتر، سریع‌تر و حرفه‌ای تر باشد.

توانایی حل مسئله

وقتی در خصوص برنامه نویسی سمت سرور یا Back End  صحبت میکنیم، یکی از چیزهایی که برای شما ضروری است،‌توانایی حل مسئله و داشتن یک ذهن تحلیل‌گر است.

داشتن ذهن تحلیلگر، یکی از مهم‌ترین ویژگی هایی است که هر برنامه نویسی باید از آن بهره ببرد.

سوال پرسیدن

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

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

 

منبع : https://virgool.io/@yadify/back-end-%DA%86%DB%8C%D8%B3%D8%AA-%D9%88-%D8%A8%D9%87-%DA%86%D9%87-%DA%A9%D8%B3%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3-%D8%A8%DA%A9-%D8%A7%D9%86%D8%AF-%D9%85%DB%8C%DA%AF%D9%88%DB%8C%D9%86%D8%AF-na6jmuufi6d9

۰ نظر موافقین ۰ مخالفین ۰
علی فیروزی زمانی

Front End

 

 

 

فرانت اند یا Front End، به بخش قابل مشاهده‌ی یک وب سایت یا نرم افزار توسط کاربران می‌گویند. فرانت اند، کدهای غیر قابل فهم برای کاربران را در قالب ظاهری گرافیکی و بصری به آن‌ها نمایش می‌دهد تا بتوانند به راحتی از بخش‌های مختلف سایت استفاده کنند. در این بخش، فرم‌های ورودی اطلاعات، صداها، تصاویر، ویدئوها و به صورت کلی هر چیز دیگری که برای کاربر قابل درک باشد، قرار می‌گیرد.

فرانت اند به دو بخش اصلی طراحی و توسعه رابط کاربری تقسیم می‌شود. در بخش طراحی، طراحان با نرم افزارهای گرافیکی مانند فتوشاپ، ادوبی ایکس دی، فیگما و... ظاهر سایت را طراحی می‌کنند. اما بخش توسعه‌ی رابط کاربری مربوط به پیاده سازی ظاهر سایت در قالب کدهای HTML ،CSS و جاوا اسکریپت است. بخش قابل مشاهده‌ سایت برای کاربران در سمت فرانت را سمت کاربر یا Client Side می‌نامند. بنابراین کدهای نوشته شده در سمت فرانت اند، در مرورگر کاربر پردازش و اجرا می‌شوند. یعنی کاربر به راحتی به این کدها دسترسی مستقیم دارد و می‌تواند آن‌ها را مشاهده کند. فرانت اند با بخش بک اند (Backend) در ارتباط مستقیم است و بر روی تجربه کاربران هنگام استفاده از محصول تاثیر بسیاری می‌گذارد.

 

زبان‌های برنامه نویسی Front end کدامند؟

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

برای برنامه نویسی فرانت اند به چه مهارت هایی نیاز داریم؟

یادگیری زبان‌های برنامه نویسی HTML ،CSS و جاوا اسکریپت

 

اگر می‌خواهید به یک توسعه دهنده Front-End تبدیل شوید، در مرحله اول باید بتوانید به صورت حرفه‌ای با HTML ، CSS و JavaScript کدنویسی کنید. کدنویسی فرانت اند، نسبت به سایر حوزه‌های برنامه نویسی آسان‌تر است و منابع زیادی در اینترنت وجود دارند تا روند یادگیری را سریع‌تر کنند. علاوه بر آن، برای هر مشکلی که به آن برخورد می‌کنید، یک راه حل در انجمن‌های پرسش و پاسخ پیدا می‌شود.

 

آشنایی با کتابخانه‌ها و فریمورک‌های فرانت اند Javascript

 

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

 

آشنایی با اصول طراحی واکنش‌گرا

 

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

 

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

 

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

داشتن سلیقه و خلاقیت

 

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

 

آشنایی با اصول تجربه کاربری

 

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

 

مثالی از فرانت در دنیای واقعی

 

برای اینکه مفهوم Front end را بهتر درک کنید، یک فیلم سینمایی را در نظر بگیرید. ظاهر سایت همانند یک فیلم سینمایی است که در حال تماشای آن هستید. بازیگران و صحنه‌های فیلمبرداری شده اجزایی هستند که Front end را تشکیل می‌دهند و بر اساس دستورات کارگردان در مکان موردنظر خود قرار می‌گیرند و به بازیگری می‌پردازند. دستورات کارگردان، همان کدهای HTML، CSS و جاوا اسکریپت می‌باشند که رابط کاربری را ایجاد می‌کنند.

 

 

منبع : https://7learn.com/programming/what-is-front-end

۰ نظر موافقین ۰ مخالفین ۰
علی فیروزی زمانی

پروژه های پایتون

1) تشخیص نوع عدد:

number = int(input("Please enter your number: "))

if number > 0:
    print(f"{number} is a positive number")
elif number < 0:
    print(f"{number} is a negative number")
else:
    print("That's ZERO")

 

2) تشخیص بزرگترین عدد:

 

 

numbers = input("Please enter your numbers with space: ").split(" ")

# first solution:

print(max(numbers))

# second solution:

score = 0
for n in range(len(numbers)):
    numbers[n] = int(numbers[n])

for num in numbers:
    if num > score:
        score = num

print(score)

 

 

 

 

3-ترتیب اعداد صعودی :

 

 

numbers = input("Please enter your numbers with space: ").split(" ")

for num in range(len(numbers)):
    numbers[num] = int(numbers[num])

print(numbers)

print(sorted(numbers))

 

 

 

 

 

 

4- تبدیل عدد به حروف :

 

 

numbers = int(input("Please enter your number: "))
if numbers == 0:
    print("Zero")
elif numbers == 1:
    print("One")
elif numbers == 2:
    print("Two")
elif numbers == 3:
    print("three")
elif numbers == 4:
    print("Four")
elif numbers == 5:
    print("Five")
elif numbers == 6:
    print("Six")
elif numbers == 7:
    print("Seven")
elif numbers == 8:
    print("Eight")
elif numbers == 9:
    print("Nine")
else:
    raise ValueError("You have to enter a number in range 1 to 9")

 

 

 

 

 

5- عدد بخش پذیر بر 3 :

 

 

numbers = int(input("Please enter your number: "))

if numbers % 3 == 0:
    print("Yes")

 

 

 

 

6- تبدیل عدد 2و3و5 به حروف :

 

 

numbers = int(input("Please enter your number: "))

if numbers == 2:
    print("Two")
elif numbers == 3:
    print("Three")
elif numbers == 5:
    print("Five")
else:
    print("Other")

 

 

 

 

7- جا به جایی مقدار متغیر بدون خانه حافظه :

 

 

num1 = int(input("Please enter your first number: "))
num2 = int(input("Please enter your second number: "))

z = num1 + num2

num1 = z - num1
num2 = z - num2

print(f"\nSwitching...\nFirst number now is {num1}\nSecond number now is {num2}")

 

 

 

8- مقلوب عدد:

 

 

numbers = input("Please enter your two digit numbers with space: ")

print(f"Your numbers is: {''.join(numbers)}")

new_numbers = []

for num in range(len(numbers)):
    new_numbers.append(numbers[num - 1])

print(f"Your new numbers is: {''.join(new_numbers)}")

 

 

 

۰ نظر موافقین ۰ مخالفین ۰
علی فیروزی زمانی