• ورود و یا ثبت نام
به فروشگاه ما خوش امدید!  حساب کاربری من
مشهد آی سی
  • صفحه اصلی
  • فروشگاه
    • تخفیف ها
    • داشبورد
    • سبد خرید
    • تسویه حساب
  • نقشه های تعمیراتی
  • وبلاگ
  • درباره ما
    • برنامه موبایل سایت
    • تماس با ما و ثبت شکایت
    • خبرنامه
پیگیری سفارش :
تلفن 09381429697
  • ورود و یا ثبت نام

سبد خرید من -

۰ تومان
0
در سبد خرید 0 محصول وجود دارد
    مجموع : ۰ تومان
    سبد خرید
    تسویه حساب
    • مقایسه
    همه دسته بندی ها
    • هارد پروگرام شده
    • هارد خام
    • نرم افزاری های تعمیراتی
    • فایل های تعمیراتی
    • آی سی (ic)

    سبد خرید من -

    ۰ تومان
    0
    در سبد خرید 0 محصول وجود دارد
      مجموع : ۰ تومان
      سبد خرید
      تسویه حساب
      • مقایسه
      • خانه
      • جستجو بر حسب آرشیو اکتبر 2020

      نوشته‌های تازه

      • آشنایی با تکنولوژی‌های مجازی‌ساز
      • چگونه آسیب‌پذیری‌های درون بانک‌های اطلاعاتی را کشف و ترمیم کنیم؟
      • سرویس وای‌فای ایرانسل چیست؟
      • ویژگی تجمیع لینک در سوییچ‌ها چه قابلیتی ارائه می‌کند؟
      • چگونه ویندوز نصب کنیم؟

      آخرین دیدگاه‌ها

      • tanha66 در حذف frp و ترمیم سریال اسمارت l3953
      • moka در حذف frp و ترمیم سریال اسمارت l3953
      • tanha66 در کرک دانگل zxw
      • علیرضا شهنازی در کرک دانگل zxw
      • tanha66 در کرک دانگل zxw

      بایگانی‌ها

      • نوامبر 2020
      • اکتبر 2020
      • سپتامبر 2020
      • می 2020
      • آوریل 2020
      • مارس 2020
      • فوریه 2019
      • ژانویه 2017

      دسته‌ها

      • آموزش
      • اخبار سایت
      • وبلاگ

      اطلاعات

      • نام‌نویسی
      • ورود
      • خوراک ورودی‌ها
      • خوراک دیدگاه‌ها
      • وردپرس

      دسته‌ها

      • آموزش (۲)
      • اخبار سایت (۴)
      • وبلاگ (۶۰)

      پست های اخیر

      • آشنایی با تکنولوژی‌های مجازی‌ساز
      • چگونه آسیب‌پذیری‌های درون بانک‌های اطلاعاتی را کشف و ترمیم کنیم؟
      • سرویس وای‌فای ایرانسل چیست؟
      • ویژگی تجمیع لینک در سوییچ‌ها چه قابلیتی ارائه می‌کند؟
      • چگونه ویندوز نصب کنیم؟
      • تستر شبکه و سوییچ KVM چه کاری انجام می‌دهد؟

      بهترین پست ها

      کرک دانگل zxw

      کرک دانگل zxw

      ۸,۰۰۰ تومان ۵,۰۰۰ تومان
      نصب آسان باکس ufs3

      نصب آسان باکس ufs3

      ۸,۰۰۰ تومان ۵,۰۰۰ تومان
      کرک باکس EFT

      کرک باکس EFT Dongle Full Crack v1.4.1

      ۹,۰۰۰ تومان ۵,۰۰۰ تومان
      کرک UAT 7.01 بدون باکس

      کرک UAT 7.01 بدون باکس

      ۲۵,۰۰۰ تومان ۱۰,۰۰۰ تومان

      آرشیو ماهانه: آبان ۱۳۹۹

      1603986216

      سرویس وای‌فای ایرانسل چیست؟

      نوشته شده توسط: مشهد آی سی ۱۰ آبان ۱۳۹۹ 0دیدگاه
      با استفاده از سرویس وای‌فای ایرانسل، می‌توانید در مناطق شلوغ یا فضاهای عمومی از قبیل پارک‌ها، مراکز خرید، فرودگاه‌ها و غیره به اینترنت وای‌فای پرسرعت ایرانسل دسترسی داشته باشید. در ادامه به نحوه‌ی استفاده از سرویس وای‌فای ایرانسل اشاره شده است.

      سرویس وای‌فای ایرانسل چیست؟

      • سرویس وای‌فای ایرانسل به همه شما کاربران ایرانسلی و غیرایرانسلی امکان می‌دهد در فضاهای عمومی که مجهز به وای‌فای ایرانسل هستند، به اینترنت پرسرعت ایرانسل دسترسی داشته باشید.

      استفاده از سرویس وای‌فای ایرانسل

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

      مناطق قابل دسترسی به سرویس وای‌فای ایرانسل

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

      روش اتصال به ایستگاه وای‌فای ایرانسل (Wi-Fi Hotspot)

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

      ۱. وای‌فای گوشی خود را روشن کنید.

      ۲. در بین نام وای‌فای‌های ظاهرشده،IRANCELL_WiFi  را انتخاب کنید.

      ۳. حالا صفحه ورود وای‌فای ایرانسل را مشاهده خواهید کرد (اگر موفق به مشاهده این صفحه نشدید، وارد مرورگر کروم شوید و نشانی یک سایت اینترنتی را وارد کنید).

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

      • گزینه «رمز عبور را فراموش کرده‌اید؟» را انتخاب کنید.
      • رمز ورود با پیامک برای شما ارسال می‌شود.
      • گزینه «ثبت‌نام» را انتخاب کنید.
      • Wi Fi ایرانسل1 0
        • شماره تلفن همراه و کد ملی خود را وارد کنید.
        • رمز یکبار مصرفی که از طریق پیامک برای شما ارسال شده را در قسمت مربوط وارد کنید.
        • رمز نهایی از طریق پیامک برای شما ارسال می‌شود.
        • اگر مشترک اپراتوری به غیر از ایرانسل هستید و رمز عبور خود را فراموش کرده‌اید نیز می‌توانید با انتخاب گزینه «رمز عبور خود را فراموش کرده‌اید؟» رمز جدیدتان را از طریق پیامک دریافت کنید.

        ۵. در صفحه بازشده، گزینه «خرید بسته» را انتخاب کنید.

      Wi Fi ایرانسل2 0

      ۶. گزینه۱۰۰MB FREE WIFI INTERNET  را انتخاب کنید.

      Wi Fi3ایرانسل 1

      ۷. اگر اطلاعات نمایش‌داده‌شده صحیح است، روی دکمه «ارسال» کلیک کنید.

      Wi Fi5ایرانسل 0

      ۸. در صفحه بازشده روی دکمه خانه/وب‌گردی کلیک کنید.

      بدین ترتیب می‌توانید از ۱۰۰ مگابایت اینترنت هدیه ایرانسل لذت ببرید.

      تنظیمات مربوط به اضافه‌کردن شبکه وای‌فای ایرانسل در گوشی‌های اندروید

      ۱. وای‌فای گوشی خود را روشن کنید.

      Wi Fi ایرانسل1 0 1

      ۲. گزینه Add Wi-Fi را انتخاب کنید.

      2 اندروید 0

      ۴. در بخش امنیت (security) گزینه ۸۰۲.۱x EAP را انتخاب کنید.

      4.اندرویدpng 0

      ۵. در بخش EAP method اگر سیم‌کارت شما قابلیت پشتیبانی از اینترنت نسل ۲ و ۳ را دارد، گزینه SIM و اگر سیم‌کارت شما قابلیت پشتیبانی از اینترنت نسل ۴ را دارد گزینه AKA را انتخاب کنید.

      5.اندرویدpng 0

      ۶. گزینه CONNECT را انتخاب کنید.

      ۷. عبارت Connected نشان‌دهنده اتصال شما به وای‌فای ایرانسل است.

      تنظیمات مربوط به اضافه‌کردن شبکه وای‌فای ایرانسل در گوشی‌های iOS

      ۱. فایل مربوط به تنظیمات وای‌فای ایرانسل را دانلود و گزینه Install را انتخاب کنید.

      1ios آیفون 0

      ۲ . رمز گوشی خود را وارد کنید

       

      2iosآیفون 0

      ۳. گزینه Install را دوباره انتخاب کنید.

      3iosآیفون

      ۴. پروفایل وای‌فای ایرانسل به فهرست اضافه می‌شود.

      1ios آیفون 0 1۵. در نهایت گزینه MTNIRANCELL را از بخش CHOOSE A NETWORK انتخاب کنید تا به وای‌فای ایرانسل متصل شوید.

      2 اندروید 0 2

       

      بیشتر بخوانید
      1603731073

      ویژگی تجمیع لینک در سوییچ‌ها چه قابلیتی ارائه می‌کند؟

      نوشته شده توسط: مشهد آی سی ۰۹ آبان ۱۳۹۹ 0دیدگاه

       

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

      در شبکه‌های کامپیوتری، قابلیت تجمیع لینک که گاهی اوقات به‌نام تجمیع ارتباطات نیز از آن نام برده می‌شود به روش‌های مختلف ترکیب (تجمیع) اتصال موازی چند شبکه با هدف افزایش ظرفیت موجود و فراهم آوری افزونگی در شرایطی که یکی از ارتباط‌ها با مشکل مواجه می‌شود، اعمال می‌شود. یک گروه لینک‌های تجمیع شده (LAG) تعدادی پورت فیزیکی را با هم ترکیب می‌کند تا یک مسیر داده با پهنای باند زیاد ایجاد کند، به‌طوری که می‌تواند تساوی بار ترافیکی بین پورت‌های عضو در گروه را اجرا کند و قابلیت اطمینان ارتباط را افزایش دهد. البته دقت کنید که اصطلاح تجمیع لینک به نام‌های دیگری همچون پورت ترانکینگ (port trunking)، مقیدسازی لینک (link bundling)، مقیدسازی اترنت، مقیدسازی، مقیدسازی کانال (channel bonding)، مقیدسازی پورت (port channeling) و تیم‌سازی کارت شبکه (NIC teaming) نیز نامیده می‌شود. این واژگان عمومی نه تنها استانداردهای مستقل از سازنده، مانند پروتکل کنترل تجمیع ارتباط (LACP) که در IEEE 802.1AX برای اترنت تعریف شده یا استاندارد قدیمی تر IEEE 802.3ad، شامل می‌شود، بلکه راه‌حل‌های مختلف اختصاصی شرکت‌ها را شامل می‌شود.

      چرا تجمیع لینک استفاده می‌شود؟

      تجمیع ارتباط برای پاسخ‌گویی به دو مشکل محدودیت‌های پهنای باند و عدم انعطاف‌پذیری استفاده می‌شود. به لحاظ تئوری پهنای باند اترنت افزایش‌های ده برابری داشته که دسترسی به سرعت‌های ۱۰ مگابیت در ثانیه، ۱۰۰ مگابیت در ثانیه، ۱٬۰۰۰ مگابیت در ثانیه، ۱۰٬۰۰۰ مگابیت در ثانیه را شامل شده است. اگر کاربری به حداکثر میزان ظرفیت ارائه شده توسط دستگاه تحت شبکه خود بررسد، تنها گزینه پر سرعت در دسترس او عزیمت به نسل بعدی (سرعت ده برابر بیشتر) تا بتواند بر مشکل سرعت و ظرفیت غلبه کند. شرکت‌ها برای حل این مشکل که در اغلب اوقات هزینه‌بر است، راهکار جالبی را ابداع کردند. این راه‌حل جایگزین که در اوایل دهه ۹۰ توسط بیشتر تولیدکنندگان تجهیزات شبکه ارائه شد، ترکیب دو پیوند اترنت فیزیکی و ایجاد یک لینک منطقی از طریق اتصال کانال‌ها است. اکثر این راه‌حل‌ها نیاز به پیکربندی دستی و تجهیزات یکسان در هر دوطرف ارتباط دارد. مشکل دوم شامل سه نقطه تکی شکست در یک اتصال معمولی کابلی و پورت معمولی است. در زمان پیکربندی تجهیزات شبکه همچون سوییچ‌ها و حتا کابل‌ها این احتمال وجود دارد که هر یک از پورت‌های متصل به کابل‌ها خراب شده باشد که دسترسی کلاینت‌ها به شبکه را مختل می‌کند. برای رفع مشکل اتصالات فیزیکی این امکان وجود دارد که تعداد آن‌‌ها را زیاد کرد، با این حال بسیاری از پروتکل‌های سطح بالاتر به گونه‌ای طراحی نشده‌اند که با روش فوق سازگار باشند.

      معماری تجمیع لینک

      معماران شبکه می‌توانند تجمیع را در هر یک از سه لایه اول مدل OSI اجرا کنند. نمونه‌هایی از تجمع در لایه ۱ (لایه فیزیکی) شامل تجهیزات شبکه‌ای در خطوط انتقال کابلی یا بیسیم است که چند باند فرکانس را با هم ترکیب می‌کنند. در لایه ۲ تجمیع معمولاً در درگاه‌های سوئیچ اتفاق می‌افتد که می‌تواند پورت‌های فیزیکی یا معادل مجازی‌های آن باشد که توسط سیستم‌عامل اداره می‌شوند. لایه پیوند داده دومین سطح از مدل اتصال متقابل سامانه‌های باز است. این لایه سه وظیفه اصلی ارائه سرویس‌های مشخص به لایه شبکه، مدیریت خطاهای انتقال و تنظیم جریان داده‌ها عهده‌دار است. ‌تجمیع در لایه ۳ (لایه شبکه) در مدل OSI می‌تواند از زمان‌بندی نوبت گردشی، مقادیر هش محاسبه شده از قسمت‌های موجود در سرباره بسته شبکه، یا ترکیبی از این دو روش استفاده کند. صرف نظر از لایه‌ای که روی آن تجمیع صورت گرفته، این امکان وجود دارد که بار شبکه را در کلیه پیوندها متعادل کرد. با این حال، همه این راه‌حل‌ها راهگشا نیستند و در بیشتر موارد با شکست روبرو می‌شوند.

      پروتکل تونل‌زنی نقطه به نقطه

      پروتکل نقطه‌به‌نقطه (Point to Point Protocol) یک پروتکل ارتباطات برای لایه پیوند داده‌ است که برای ارتباط در خطوط هم‌زمان یا غیر هم‌زمان استفاده می‌شود و پروتکل‌های دیگر شبکه را شامل می‌شود. پروتکل نقطه به نقطه روش برقراری اتصال بین دو نقطه از شبکه را مشخص می‌کند. این پروتکل نخستین بار در دهه ۱۹۹۰ میلادی معرفی شد و با هدف پیاده‌سازی یک مکانیزم افزایش سرعت و پهنای باند پیشنهاد شد. در همین ارتباط پورتکل تونل‌زنی نقطه‌به‌نقطه (Point to Point Tunneling Protocol) پیشنهاد شد که روشی برای پیاده‌سازی شبکه خصوصی مجازی است. PPTP از شناخته شده‌ترین نوع اتصالات مبتنی بر شبکه‌های خصوصی مجازی است که سرعت زیادی ارائه می‌کند و توسط بیشتر تجهیزات شبکه پشتیبانی می‌شود. به دلیل این‌که اتصال فوق نقطه‌به‌نقطه است، راه‌اندازی و پیاده‌سازی آن کار چندان سختی نیست و در مقابل سرعت آن به نسبت سایر اتصالات زیاد است. سرویس‌های دیوار آتش مانند ISA Server یا Cisco PIX و Sonic Wall برای تایید این پروتکل استفاده می‌شوند.

      حالت انتقال ناهمگام

      حالت انتقال ناهمگام (ATM) سرنام Asynchronous Transfer Mode به پالس‌های ساعت وابسته نیست و در گروه شبکه‌های اتصال‌گرا طبقه‌بندی می‌شود. در این مدل جهت برقراری اتصال در آغاز بسته‌ای به مقصد ارسال می‌شود، این بسته مسیر خود را بین مسیریاب‌های مختلف پیدا می‌کند و مدار مجازی را شکل می‌دهد. این اتصال از این به بعد اتصال فیزیکی نام می‌گیرد. هر یک از این اتصال‌ها دارای یک شماره شناسایی است. در این مدل اطلاعات به صورت بسته‌های ۵۳ بایتی (سلول) ارسال می‌گردد. این بسته‌ها از دو بخش سرآیند و داده‌های کاربر تشکیل شده‌اند. در بخش سرآیند که ۵ بایت است اطلاعاتی همچون شماره شناسایی اتصال ذخیره می‌گردد. ATMها سرعت بالایی دارند، بسته‌ها را در یک مسیر و به ترتیب ارسال می‌کنند و از آن‌جایی که بسته‌ها کوچک اند، کیفیت هم بالا است. این مدل شباهت‌هایی به شبکه‌های گسترده دارد و دارای پهنای باندی حدود ۶۲۲-Mbps است. مدل مرجع ATM که برخلاف مدل مرجع OSI و مدل مرجع TCP/IP، مدلی سه بعدی است، دارای سه لایه‌ لایه فیزیکی، لایه ATM و لایه انطباق ATM است.

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

      لایه فیزیکی

      این لایه مشابه لایه فیزیکی در مدل‌ TCP/IP است. لایه فیزیکی در این مدل به دو زیر لایه زیر طبقه‌بندی می‌شود:

      زیر لایه فیزیکی(PMD): به شکل مستقیم به کابل شبکه پیوند می‌خورد و با توجه به رسانه انتقال متفاوت است. این زیر لایه وظیفه ارسال و دریافت بیت‌ها، زمان‌بندی بیت‌ها و آماده کردن امکان دسترسی فیزیکی را فراهم می‌کند. زیرلایه همگرایی انتقال(TC): این زیر لایه که مشابه لایه پیوند داده‌ها در مدل پایه OSI است وظیفه ایزوله کردن سرعت سلول، تولید مجموع تطبیقی، تولید سلول یا بسته‌های ۵۳ بایتی، بسته‌بندی و بازکردن بسته‌ها و تولید فریم را عهده‌دار است.

      لایه ATM

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

      لایه انطباق ATM

      با توجه به این‌که برنامه‌ها با بسته‌های بزرگ‌تر از ۵۳ بایت کار می‌کنند این لایه بسته‌های اطلاعاتی را در طرف فرستنده به سلول‌های ۵۳ بایتی می‌شکند و طرف گیرنده هم آن‌ها را با هم پیوند می‌دهد. این لایه از دو زیر لایه زیر ساخته شده است:

      زیر لایه تقسیم‌بندی و سرهم کردن (SAR) که در طرف فرستنده بسته‌های داده را به سلول می‌شکند و در طرف گیرنده دوباره آن‌ها را به هم می‌چسباند.

      زیر لایه واسطه استاندارد(CS) که وظیفه ارائه سرویس‌های مختلف به برنامه‌های کاربردی را بر عهده دارد.

      بیشتر بخوانید
      1603615035

      چگونه ویندوز نصب کنیم؟

      نوشته شده توسط: مشهد آی سی ۰۸ آبان ۱۳۹۹ 0دیدگاه
      احتمالا برای همه ماها پیش آمده که ویندوز کامپیوترمان دچار مشکل شده و برای بالا آوردن سیستم دچار مشکل می‌شود. راهکاری که خیلی‌ها در این مواقع استفاده می‌کنند عوض کردن ویندوز است. اما نصب ویندوز یک سری مراحل دارد که در این مقاله آموزش گام به گام نصب ویندوز۱۰ را به شما خواهیم گفت.

      چگونه ویندوز نصب کنیم؟

      برای نصب ویندوز ۱۰ باید سیستم شما حداقل مشخصات سخت‌افزاری زیررا داشته باشد.

      نصب ویندوز با چندین روش انجام می‌شود که در این مقاله نحوه نصب ویندوز۱۰ با سی دی یا فلش را خواهیم گفت.

      تنها تفاوت نصب ویندوز با سی دی و فلش در بوت کردن آن است.

      آموزش گام به گام نصب ویندوز ۱۰

      مرحله یک: بوت سیستم

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

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

      برای اینکار سیستم را ریستارت کنید و قبل ازبالا آمدن ویندوز چندین بار کلید DELETE یا F12 را فشار دهید.

      چگونه ویندوز10 نصب کنیم؟ 77 0

      صفحه‌ای مشابه تصویر زیر برایتان باز می‌شود که باید وارد سربرگ boot شوید سپس boot device priority را با استفاده از کلیدهای جهت در کیبورد انتخاب کنید و اینتر را بزنید.

      چگونه ویندوز 10 نصب کنیم

      در صفحه جدید گزینه ۱ st BOOT Device را انتخاب کنید و برای اینکه بوت کردن از طریق سی دی انجام شود در از لیست باز شده گزینه cdrom را انتخاب کرده و اینتر را بزنید.

      چگونه ویندوز10 نصب کنیم؟ 10

      برای بوت شدن از طریق فلش مموری usb flash یا فلش دیسک خود را انتخاب کنید.

      پس از انتخاب روش بوت کردن کلید f10 را فشار سپس yes را انتخاب کنید تا تنظیمات ذخیره شود پس از آن سیستم ریستارت می‌شود و وارد مرحله بعدی نصب ویندوز خواهید شد.

      مرحله دوم: شروع نصب ویندوز

      در این آموزش ما نصب ویندوز با cd را انتخاب کردیم پس باید سی دی را وارد سیستم کرده و آن را ریستارت کنید.

      با صفحه مشابه زیر روبرو خواهید شد و باید کلید enter را فشار دهید.

      ویندوز10 نصب کنیم؟ 5

      مدتی صبر کنید تا صفحه زیر برای شما باز شود.

      چگونه ویندوز10 نصب کنیم؟ 2

      در تب جدید موقعیت مکانی، زبان و زبان کیبورد را مشخص کنید.

      پس از تکمیل مراحل بالا پنجره زیر برایتان باز می‌شود و برروی install now کلیک کنید.

      چگونه ویندوز10 نصب کنیم؟ 7

      در مرحله بعد صفحه زیر برایتان باز می‌شود که دو گزینه دارد.

      چگونه ویندوز10 نصب کنیم؟ 11

      گزینه اول upgrade که برای زمانی است که قصد داشته‌باشید ویندوز خود را ارتقا دهید.

      گزینه دوم custom که با کلیک برروی آن وارد مراحل نصب ویندوز می‌شوید.

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

      چگونه ویندوز10 نصب کنیم؟ 1

      سپس برروی گزینه  format کلیک کنید و دکمه next را انتخاب کنید.

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

      حال باید صبر کنید مراحل نصب ویندوز انجام شود در این پروسه چندین بار سیستم ریستارت می‌شود.

      چگونه ویندوز10 نصب کنیم؟ 78

      بعد از اتمام مراحل بالا صفحه‌ای مشابه تصویر زیر برایتان باز می‌شود که  باید تنظیمات دلخواه ویندوز را انتخاب کنید،‌ بهترین حالت این است که از تنظیمات پیش‌فرض خود ویندوز استفاده کنید و برای اینکار برروی گزینه use express setting کلیک کنید.

      ویندوز10 نصب کنیم؟ 5 1

      در صفحه باز شده باید وارد اکانت مایکروسافت خود شوید، اگر اکانت مایکروسافت ندارید برروی گزینه don’t have an account کلیک کنید و اکانت خود را بسازید و سپس دکمه NEXT را بزنید.

      چگونه ویندوز10 نصب کنیم؟ 3

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

      چگونه ویندوز10 نصب کنیم؟ 1 0 2

       

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

      با انتخاب گزینه دوم وارد مرحله بعدی می‌شوید.

      در این مرحله گزینه next را بزنید و منتظر بمانید که تنظیمات ویندوز اعمال شوند.

      چگونه ویندوز10 نصب کنیم؟ 8

       

      مانیتور شما چند رنگ مختلف را نشان می‌دهد که ویژگی‌های ویندوز در آن نمایش داده می‌شود.

      چگونه ویندوز10 نصب کنیم؟ 3

       

      با اتمام این مرحله نصب ویندوز به پایان می‌رسد و به صفحه دسکتاپ هدایت می‌‌شوید.

      بیشتر بخوانید
      1603648443

      تستر شبکه و سوییچ KVM چه کاری انجام می‌دهد؟

      نوشته شده توسط: مشهد آی سی ۰۷ آبان ۱۳۹۹ 0دیدگاه
      پس از پیاده‌سازی یک شبکه کامپیوتری در مرحله بعد لازم است تمام پریزهای شبکه، پچ‌پنل‌ها و سوکت‌های شبکه آزمایش شوند تا پیش از راه‌اندازی شبکه مشکلات احتمالی شناسایی و به سرعت برطرف شوند. همچنین اگر شبکه‌ای در سازمانی به‌طور کامل پیاده‌سازی شده و اکنون دچار مشکل شده، تستر اجازه می‌دهد در کوتاه‌ترین زمان ممکن مکانی که باعث بروز مشکل یا قطعی در شبکه شده شناسایی شود.

      تستر شبکه چیست؟

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

      آشنایی با تسترهای کابل شبکه

      تسترهای شبکه به سه گروه تسترهای چند کاره، تسترهای دیجیتالی و تسترهای ساده با صفحه LED طبقه‌بندی می‌شوند.

      تستر ساده ال‌ای‌دی

      تسترهای ساده از دو بخش تشکیل شده‌اند که هر دو بخش مجهز به هشت چراغ ال‌ئی‌دی است که وضعیت رشته سیم‌های درون کابل شبکه را نشان می‌دهند. این تسترها دارای سوکت‌های RJ45 و RJ11 هستند که برای آزمایش کابل‌های شبکه و کابل‌های تلفن استفاده می‌شوند.

      01 750

      تسترهای مجهز به صفحه‌نمایش دیجیتالی

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

      تستر چند منظوره

      نوع پیشرفته‌تر تسترها که قابلیت‌های بیشتری نسبت به دو نمونه قبلی دارد مجهز به چراغ‌های ال‌ئی‌دی است که می‌تواند علاوه بر کابل شبکه، کابل تلفن،کابل دوربین مداربسته و کابل یو‌اس‌بی را نیز آزمایش کند. دستگاه‌ اصلی مجهز به صفحه‌نمایش است که درگاه‌های RJ45، RJ11، USB تایپ بی و BNC روی آن قرار گرفته و اجازه می‌دهد به راحتی مشکلات مربوط به درگاه‌های مختلف را بررسی کنید. دستگاه جانبی نیز مجهز به درگاه‌های RJ45، RJ11 و درگاه یو‌اس‌بی تایپ A است. شکل زیر نمونه‌ای از یک تستر چندمنظوره را نشان می‌دهد.

      02 10

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

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

      آشنایی با سوییچ KVM

      KVM به سه محصول صفحه‌کلید، ماوس و مانیتور اشاره دارد که درون یک محصول واحد قرار گرفته‌اند. در بیشتر موارد درون یک رک‌ چند سرور قرار دارد که برای مدیریت هر یک از آن‌ها باید صفحه‌‌‌کلید، ماوس و مانیتور‌های جداگانه‌ای خریداری کنید که رویکرد عاقلانه‌ای نیست، زیرا مشکلات نگه‌داری و مهم‌تر از آن هزینه‌های جانبی زیادی دارد. برای حل این مشکل سوییچ KVM ابداع شد. سوییچ‌های KVM به یک کنسول تکی متصل می‌شوند و به مسئول نگه‌داری از شبکه اجازه می‌دهد از طریق یک کنترل مرکزی نظارت دقیقی اعمال کند. مهم‌ترین نکته قبل از خرید سوییچ KVM، تعداد سرورهایی است که قصد کنترل آن‌ها را دارید. بیشتر سوییچ‌های KVM  با درگاه‌های کمی عرضه می‌شوند و نیازی ندارند نرم‌افزار خاصی روی آن‌ها نصب شود و کنترل آن‌ها از طریق کلید‌های فیزیکی امکان‌پذیر است. این مدل سوییچ‌ها برق موردنیاز را از سرور دریافت می‌کنند و نیازی به منبع تغذیه جداگانه ندارند. سوییچ‌های پیشرفته‌تر درگاه‌های بیشتری ارائه می‌کنند و به فناوری‌های جدیدتری تجهیز شده‌اند و اغلب u1 یا u2 فضای رک را به خود اختصاص می‌دهند. سوییچ‌های kvm حداقل به دو درگاه تجهیز شده‌اند که اگر سوییچ‌ها به یکدیگر متصل شوند، اجازه می‌دهند سرورهای بیشتری را کنترل کنید. در گذشته کاربرد سوییچ‌ها محدود به مراکز داده‌‌ای بود که دست‌کم ۱۶ سرور در آن‌ها قرار داشت، اما امروزه در بیشتر منازل، کاربران بیش از یک کامپیوتر شخصی دارند که برای صرفه‌جویی در هزینه‌ و فضا از یک سوییچ kvm استفاده می‌کنند. نکته‌ای که بد نیست به آن اشاره داشته باشیم نوع خاصی از سوییچ‌های kvm است که کی‌وی‌ام روی بستر آی‌پی (IPKVM) سرنام KVM over IP نام دارند. در این محصولات سوییچ و یک ریزکنترل‌کننده در قالب یک محصول واحد آماده شده و به بازار عرضه می‌شوند و قادر هستند تصویر سیستم را همراه با سیگنال‌های ماوس و صفحه‌کلید دریافت کنند و اطلاعات را به یک بسته داده‌ای تبدیل کنند و از طریق کارت شبکه‌ داخلی روی شبکه ارسال کنند. این سوییچ‌های KVM امکان مدیریت از راه دور را فراهم می‌کنند.

      بیشتر بخوانید
      1601276197

      آشنایی با لایه ها و پروتکل‌های رایج به کار گرفته شده در اینترنت و شبکه‌های کامپیوتری

      نوشته شده توسط: مشهد آی سی ۰۶ آبان ۱۳۹۹ 0دیدگاه
      اینترنت و شبکه‌های محلی که روزانه در محل کار یا خانه از آن‌ها استفاده می‌کنید طیف گسترده‌ای از پروتکل‌ها را به کار می‌گیرند تا بتوانید بسته‌های اطلاعاتی را منتقل کنید یا بسته‌های ارسال شده توسط تجهیزات دیگر را دریافت کنید. هر یک از این پروتکل‌ها برای کاربردهای خاصی استفاده می‌شوند که در این مقاله با تعدادی از آن‌ها آشنا می‌شویم.

      لایه پیوند

      لایه پیوند یا لایه واسط شبکه پایین‌ترین لایه در پشته پروتکل اینترنت است و ساختار معماری شبکه‌بندی اینترنت را شکل می‌دهد. این لایه مجموعه‌ای از متدها و پروتکل‌ها است که تنها در بخش رابط میزبان عمل می‌کند. پروتکل لایه پیوند تنها بین گره‌های مجاور در یک شبکه محلی (LAN) یا یک شبکه گسترده (WAN) استفاده می‌شود. علیرغم تعاریف گوناگون لایه‌بندی در مدل‌های TCP/IP و OSI، لایه پیوند را عمدتا ترکیبی از دو لایه پیوند داده (لایه ۲) و فیزیکی (لایه ۱) در مدل مرجع اتصال داخلی سیستم‌های باز توصیف می‌کنند. با این وجود، لایه‌های TCP/IP بیشتر در حوزه‌های عملیاتی (کاربرد، میزبان-به-میزبان)، شبکه و پیوند عمل می‌کنند. استاندارد RFC 1122 توصیف می‌کند که پروتکل‌های شبکه‌های محلی نظیر اترنت و IEEE 802 و نیز پروتکل‌های فریم‌بندی نظیر پروتکل نقطه-به-نقطه (PPP) متعلق به لایه پیوند هستند.

      پروتکل‌های لایه پیوند

      پروتکل‌های اصلی لایه پیوند که توسط کارگروه (IETF) تعریف شده‌اند پروتکل تفکیک آدرس Address Resolution Protocol،  پروتکل تفکیک آدرس معکوس Reverse Address Resolution Protocol  و پروتکل کشف همسایه Neighbor Discovery Protocol که پروتکلی مشابه ARP در پروتکل اینترنت نسخه ۶ است را شامل می‌شوند. پروتکل سیستم میانی به سیستم میانی IS-IS پروتکل مسیریابی حالت لینک دیگری است که با در نظرگرفتن مدل TCP/IP می‌توان آن‌را در این لایه قرار داد، هر چند این پروتکل در داخل مدل مرجع OSI توسعه داده شده بود. لایه پیوند همچنین شامل تمام متدهای واسط مختص به سخت افزار است که از آن جمله می‌توان به اترنت و طرح‌های کپسوله‌سازی IEEE 802 اشاره کرد.

      لایه پیوند در مدل TCP/IP اغلب به‌طور مستقیم با لایه پیوند داده و لایه فیزیکی در مدل مرجع اتصال داخلی سیستم‌های باز مورد مقایسه قرار می‌گیرد. اگرچه این دو لایه وجه اشتراکی با هم دارند و موضوعاتی را هم‌پوشانی می‌کنند، اما متدهای دسته‌بندی متفاوتی را به نمایش می‌گذارند. لایه پیوند در مدل TCP/IP هنوز هم در حوزه اجرایی گسترده‌تر است، اما در زمینه قوانین و اصول استاندارد کلاس‌بندی دارای نواقصی هستند. این نواقص زمانی نمایان می‌شوند که پروتکل‌های خاصی نظیر پروتکل تفکیک آدرس (ARP) که در مدل TCP/IP در لایه پیوند است، در مدل مرجع OSI در جایی بین لایه پیوند داده و لایه شبکه قرار می‌گیرد. به همین دلیل بهتر است از مقایسه دقیق این دو مدل دوری کرد. واژه دیگری که گاهی اوقات با آن روبرو می‌شویم لایه دسترسی شبکه است که سعی دارد این موضوع را نشان دهد که این لایه ارتباط نزدیکی با شبکه فیزیکی دارد. با این وجود، این نوع کاربرد اشتباه و غیر استاندارد است، زیرا لایه پیوند به محتوی متدها و عملیاتی اشاره دارد که از سطح صرفاً دسترسی به شبکه فراتر عمل می‌کند. به‌طور مثال، پروتکل‌های عمده لایه پیوند برای بررسی توپولوژی شبکه محلی، یافتن روترها و میزبان‌های همسایه به کار می‌رود، عملیاتی که فراتر از دسترسی به شبکه می‌باشد.

      از مهم‌ترین عملیاتی که لایه پیوند پشتیبانی می‌کند به مواردی همچون روش‌های شبکه‌بندی پیوندهای منطقی، کپسوله‌سازی بسته‌های IP در داخل فریم‌ها، همزمان‌سازی فریم، شناساسی خطا از طریق حذف بسته‌های دارای خطا، زیرلایه کنترل منطقی پیوند (Logical Link Control)، شناسایی خطا و درخواست تکرار خودکار بسته‌های خطادار برای ارتباط گره به گره، کنترل جریان گره به گره، تصحیح خطای رو به جلو، زیرلایه کنترل دسترسی رسانه یا همان مک‌آدرس، پروتکل‌های با دسترسی چندگانه، آدرس‌دهی فیزیکی (MAC Addressing)، سوئیچینگ بسته شامل فیلترینگ MAC و پروتکل درخت پوشا، سوئیچینگ ذخیره و هدایت، صف‌بندی بسته‌های اطلاعاتی یا الگوریتم‌های زمانبندی اشاره کرد.

      پروتکل تفکیک آدرس

      پروتکل تفکیک آدرس Address Resolution Protocol  که به نام (ARP شهرت دارد یک پروتکل ارتباطی برای یافتن آدرس لایه پیوند، مانند آدرس مک، و ارتباطش با آدرس لایه شبکه است. این پروتکل یکی از مولفه‌های کلیدی در مجموعه پروتکل اینترنت است.

      لایه شبکه

      لایه شبکه  (Network layer) سومین لایه از لایه‌های هفت‌گانه مدل اتصال متقابل سامانه‌های باز (OSI) است. لایه شبکه مسئولیت ارسال بسته شامل مسیریابی از طریق روترهای واسط را بر عهده دارد. از مهم‌ترین وظایف این لایه می‌توان به کنترل عملکرد زیر شبکه، مسیریابی، کنترل گلوگاه‌ها، کیفیت سرویس‌دهی و به پیوستن شبکه‌های ناهمگن اشاره کرد. به بیان دقیق‌تر وظیفه لایه شبکه این است که چگونگی رسیدن داده‌ها به مقصد را تعیین کند. این لایه وظایفی از قبیل آدرس‌دهی، مسیریابی و پروتکل‌های منطقی را عهده‌دار است. لایه شبکه مسیرهای منطقی (Logical Path) بین مبدأ و مقصد ایجاد می‌کند که مدارهای مجازی (Virtual Circuits) نام دارند. این مدارها باعث می‌شوند که هر بسته اطلاعاتی بتواند راهی برای رسیدن به مقصدش پیدا کند. لایه شبکه همچنین وظیفه مدیریت خطا در لایه خود، ترتیب‌دهی بسته‌های اطلاعاتی و کنترل ازدحام را بر عهده دارد. ترتیب بسته‌های اطلاعاتی مهم است، زیرا هر پروتکلی برای خود یک حداکثر اندازه بسته اطلاعاتی تعریف کرده‌است. برخی اوقات پیش می‌آید که بسته‌های اطلاعاتی از این حجم تعریف شده بیشتر می‌شوند و به ناچار این‌گونه بسته‌های به بسته‌های کوچکتری تقسیم می‌شوند و برای هر کدام از این بسته‌های اطلاعاتی یک نوبت (Sequence) تعیین می‌شود تا مشخص شود کدام بسته اول، کدام بسته دوم تا این‌که بسته‌ها به طور کامل به مقصد برسند. وقتی بسته‌های اطلاعاتی در مقصد دریافت شدند، در لایه شبکه شماره بسته‌ها (Sequence Number) بررسی می‌شوند. به واسطه همین Sequence Number است که اطلاعات به حالت اولیه بازمی‌گردند و تبدیل به اطلاعات اولیه می‌شوند. در صورتی‌که یکی از این بسته‌های به درستی دریافت نشود در همان لایه شبکه از طریق چک کردن این عدد مشخص می‌شود که کدام بسته اطلاعاتی دریافت نشده‌ و دومرتبه درخواست دریافت داده‌ها ارسال می‌شود.

      لایه انتقال

      لایه انتقال وظیفه نگهداری و کنترل ریزش اطلاعات (Flow Control) را بر عهده دارد. سیستم‌عامل‌ها به کاربران اجازه می‌دهند هم‌زمان از چند نرم‌افزار استفاده کنند. همین کار در شبکه نیز انجام می‌شود. چند نرم‌افزار روی سیستم‌عامل تصمیم می‌گیرند که به صورت هم‌زمان روی شبکه اطلاعات خود را منتقل کنند. لایه انتقال اطلاعات مربوط به هر نرم‌افزار در سیستم عامل را دریافت و آن‌ها را در قالب یک رشته تکی درمی‌آورد. همچنین این لایه وظیفه کنترل خطا و همچنین تصحیح خطا در هنگام ارسال اطلاعات بر روی شبکه را نیز بر عهده دارد. به صورت خلاصه وظیفه لایه انتقال این است که از رسیدن درست اطلاعات از مبدأ به مقصد اطمینان حاصل کند، انواع پروتکل‌های اتصال گرا (Connection Oriented) و غیر اتصال‌گرا (Connection Less) در این لایه فعالیت می‌کنند.

      لایه جلسه

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

      لایه نمایش

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

      لایه کاربرد

      بالاترین لایه در مدل مرجع OSI لایه کاربرد (Application) است. اولین نکته‌ای که در خصوص لایه کاربرد یا Application باید بدانید این است که به هیچ عنوان این لایه با نرم‌افزارهای کاربردی ارتباطی ندارد و صرفاً یک تشابه اسمی است. در عوض این لایه محیطی را ایجاد می‌کند که نرم‌افزارهای کاربردی بتوانند از طریق آن با شبکه ارتباط برقرار کنند. برای اینکه درک بهتری از لایه کاربرد داشته باشید فرض کنید که یک کاربر با استفاده از نرم‌افزار Internet Explorer قصد دارد از طریق پروتکل FTP یک فایل را در شبکه منتقل کند. در این مورد لایه کاربرد به وظیفه برقراری ارتباط با پروتکل FTP برای انتقال فایل را بر عهده دارد. این پروتکل به صورت مستقیم برای کاربران قابل دسترسی نیست، کاربر بایستی با استفاده از یک نرم‌افزار رابط مانند Internet Explorer برای برقراری ارتباط با پروتکل مورد نظر استفاده کند. به صورت خلاصه در تعریف کارایی این لایه می‌توان گفت که این لایه رابط بین کاربر و شبکه است و تنها قسمتی از این مدل هفت لایه‌ای است که کاربر تا حدی می‌تواند با آن ارتباط برقرار کند.

      لایه فیزیکی

      لایه فیزیکی پایین‌ترین لایه در مدل مرجع ارتباط سامانه‌های باز (OSI) است. این لایه وظیفه انتقال بیت‌ها از طریق کانال مخابراتی را بر عهده دارد. مسائل طراحی در این لایه عمدتاً از نوع فیزیکی، الکتریکی، تایمینگ و رسانه فیزیکی انتقال است. در لایه فیزیکی بسته‌ها از طریق رسانه‌های هدایت‌پذیر یا هدایت‌ناپذیر انتقال پیدا می‌کنند. زوج تابیده یکی از با قدیمی‌ترین رسانه‌های انتقال است که بر پایه انتقال ولتاژ یا آمپراژ عمل می‌کند. زوج تابیده، دو رشته سیم مسی یا آلومنیومی به هم تابیده ‌است که توسط روکشی عایق پوشانده شده‌اند. دومین مکانیزم انتقال فیبرنوری است. فیبر نوری از پالس‌های نور برای انتقال داده‌ها از طریق تارهای سیلکون بهره می‌گیرد. یک کابل فیبر نوری که کمتر از یک اینچ قطر دارد می‌تواند صدها هزار مکالمه صوتی را حمل کند. فیبرهای نوری تجاری ظرفیت ۲٫۵ تا ۱۰ گیگابایت در ثانیه را فراهم می‌سازند. فیبرنوری از چندین لایه ساخته می‌شود. درونی‌ترین لایه را هسته می‌نامند. هسته شامل یک تار کاملاً بازتاب‌کننده از شیشه خالص (معمولاً) است. هسته در بعضی از کابل‌ها از پلاستیک کاملاً بازتابنده ساخته می‌شود، که هزینه ساخت را پایین می‌آورد. با این حال، یک هسته پلاستیکی معمولاً کیفیت شیشه را ندارد و بیشتر برای حمل داده‌ها در فواصل کوتاه به کار می‌رود. فیبرنوری به دو گروه فیبر تک حالتی (یک سیگنال نوری را در هر زمان انتشار می‌دهد) و فیبر چند حالتی (صدها حالت نور را به‌طور هم‌زمان انتقال می‌دهد) تقسیم می‌شود.

      بیشتر بخوانید
      1602111842

      جاوا در برابر پایتون، قابلیت‌های برجسته این زبان‌های برنامه‌نویسی چیست؟

      نوشته شده توسط: مشهد آی سی ۰۵ آبان ۱۳۹۹ 0دیدگاه
      جاوا و پایتون دو زبان برنامه‌نویسی محبوب و پر کاربرد این روزهای دنیای فناوری هستند. به‌طور معمول، برنامه‌نویسان جاوا را یک زبان مخصوص ساخت برنامه‌های سازمانی در مقیاس بزرگ و زبانی کارآمد برای ساخت برنامه‌های اندرویدی توصیف می‌کنند. در نقطه مقابل پایتون قرار دارد که تقریبا در هر صنعتی به اشکال مختلف و به ویژه در دنیای برنامه‌نویسی الگوریتم‌های هوشمند از آن استفاده می‌شود. جالب آن‌که هر دو زبان انتخاب اول دانشگاه‌های مختلف سراسر جهان برای آموزش برنامه‌نویسی هستند و پس از آن زبان‌های دیگری همچون سی‌پلاس‌پلاس و سی شارپ آموزش داده می‌شود. در این مقاله قصد داریم به‌طور اجمالی نقاط قوت هر یک از این دو زبان را بررسی کنیم.

      جاوا یک زبان تمام نشدنی!

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

      ماشین مجازی جاوا (JVM)

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

      برنامه‌های جاوا و اپلت‌ها

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

      اداره خودکار حافظه

      جاوا از حافظه بازیافتی خودکار برای اداره حافظه در چرخه زندگی یک شیء استفاده می‌کند. برنامه‌نویس زمانی که اشیاء به وجود می‌آیند، این حافظه را تعیین می‌کند؛ و در زمان اجرا نیز، زمانی که این اشیاء در استفاده زیاد طولانی نباشند، برنامه‌نویس مسئول بازگرداندن این حافظه‌است. زمانی که مرجعی برای شی‌های باقی‌مانده نیست، شی‌های غیرقابل دسترس برای آزاد شدن به صورت خودکار توسط بازیافت حافظه، انتخاب می‌شوند. اگر برنامه‌نویس مقداری از حافظه را برای شی‌هایی که زیاد طولانی نیستند، نگه دارد، چیزهایی شبیه سوراخ حافظه اتفاق می‌افتند. یکی از دیدگاهایی که در پس زمینه مدل اداره حافظه خودکار جاوا وجود دارد، این است که برنامه‌نویس هزینه اجرای اداره دستی حافظه را نادیده می‌گیرد. در بعضی از زبان‌ها حافظه لازم برای ایجاد یک شیء، به صورت ضمنی و بدون شرط، به پشته تخصیص داده می‌شود؛ یا به‌طور صریح اختصاص داده شده و از heap بازگردانده می‌شود. در هر کدام از این راه‌ها، مسئولیت اداره اقامت حافظه با برنامه‌نویس است. اگر برنامه شیء را برنگرداند، سوراخ حافظه اتفاق می‌افتد. اگر برنامه تلاش کند به حافظه‌ای را که هم‌اکنون بازگردانده شده، دستیابی پیدا کند یا برگرداند، نتیجه تعریف شده نیست و ممکن است برنامه بی‌ثبات شده یا تخریب شود. این ممکن است با استفاده از اشاره‌گر مدتی باقی بماند، اما سرباری و پیچیدگی برنامه زیاد می‌شود. بازیافت حافظه اجازه دارد در هر زمانی اتفاق بیفتد. به‌طوری‌که این زمانی اتفاق می‌افتد که برنامه بی‌کار باشد. اگر حافظهٔ خالی کافی برای تخصیص شیء جدید در هیپ وجود نداشته باشد، ممکن است برنامه برای چند دقیقه متوقف شود. در جایی که زمان پاسخ یا اجرا مهم باشد، اداره حافظه و منابع اشیاء استفاده می‌شوند. جاوا از نوع اشاره‌گر ریاضی C و ++C پشتیبانی نمی‌کند. در جایی که آدرس اشیاء و اعداد صحیح می‌توانند به جای هم استفاده شوند. همانند ++C و بعضی زبان‌های شی‌گرای دیگر، متغیرهای نوع‌های اولیه جاوا شی‌گرا نبودند. مقدار نوع‌های اولیه، مستقیماً در فیلدها ذخیره می‌شوند. در فیلدها (برای اشیاء) و در پشته (برای توابع)، بیشتر از هیپ استفاده می‌شود. این یک تصمیم هوشیارانه توسط طراح جاوا برای اجرا است. به همین دلیل جاوا یک زبان شی‌گرای خالص به حساب می‌آید.

      ترکیب دستوری

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

      نمونه‌هایی از برنامه‌های جاوا

      در زیر نمونه‌ای از برنامه‌ای که در جاوا نوشته شده‌است آورده شده‌است. البته برای کامپایل کردن این برنامه بایستی JDK (کیت توسعه جاوا) روی سیستم مورد نظر نصب شده باشد.

      public class Test{

          public static void main(String[] args) {

              System.out.println(“HelloWorld!”);

      }

      }

      به‌طور مثال، برنامه Hello world در زبان جاوا به شرح زیر نوشته می‌شود:

      // HelloWorld.java

      public class HelloWorld {

          public static void main(String[] args) {

              System.out.println(“Hello, World!”);

        }

      }

      بر طبق قرارداد فایل‌ها باید هم نام کلاس‌های عمومی نام‌گذاری شوند. سپس باید پسوند java را به این صورت به نام فایل اضافه کرد: “HelloWorld.java”. این فایل اول باید با استفاده از کامپایلر جاوا به بایت کد کامپایل شود. در نتیجه فایل HelloWorld.class ایجاد می‌شود. این فایل قابل اجرا است. فایل جاوا ممکن است فقط یک کلاس عمومی داشته باشد. اما می‌تواند شامل چندین کلاس با دستیابی عمومی کمتر باشد. کلاسی که به صورت خصوصی تعریف می‌شود ممکن است در فایل.java ذخیره شود. کامپایلر برای هر کلاسی که در فایل اصلی تعریف می‌شود یک کلاس فایل تولید می‌کند؛ که نام این کلاس فایل همنام کلاس است با پسوند.class کلمه کلیدی public (عمومی) برای قسمت‌هایی که می‌توانند از کدهای کلاس‌های دیگر صدا زده شوند، به کار برده می‌شود. کلمه کلیدی static (ایستا) در جلوی یک تابع، یک تابع ایستا را که فقط وابسته به کلاس است و نه قابل استفاده برای نمونه‌هایی از کلاس، نشان می‌دهد. فقط تابع‌های ایستا می‌توانند توسط اشیاء بدون مرجع صدا زده شوند. داده‌های ایستا به متغیرهایی که ایستا نیستند، نمی‌توانند دسترسی داشته باشند.

      کلمه کلیدی void (تهی) نشان می‌دهد که تابع main هیچ مقداری را برنمی‌گرداند. اگر برنامه جاوا بخواهد با خطا از برنامه خارج شود، باید System.exit صدا زده شود. کلمه main یک کلمه کلیدی در زبان جاوا نیست. این نام واقعی تابعی است که جاوا برای فرستادن کنترل به برنامه، صدا می‌زند. برنامه جاوا ممکن است شامل چندین کلاس باشد که هر کدام دارای تابع main هستند. تابع main باید آرایه‌ای از اشیاء رشته‌ای را بپذیرد. تابع main می‌تواند از آرگومان‌های متغیر به شکل public static void main(string… args) استفاده کند که به تابع main اجازه می‌دهد اعدادی دلخواه از اشیاء رشته‌ای را فراخوانی کند. پارامترstring[] args آرایه‌ای از اشیاء رشته ایست که شامل تمام آرگومان‌هایی که به کلاس فرستاده می‌شود، است.

      کلاس‌های خاص

      اپلت جاواها برنامه‌هایی هستند که برای کاربردهایی نظیر نمایش در صفحات وب، ایجاد شده‌اند. واژه import باعث می‌شود کامپایلر جاوا کلاس‌های javaapplet.Applet وjava.awt.Graphics را به کامپایل برنامه اضافه کند. کلاس Hello کلاس Applet را توسعه می‌دهد. کلاس اپلت چارچوبی برای کاربردهای گروهی برای نمایش و کنترل چرخهٔ زندگی اپلت، درست می‌کند. کلاس اپلت یک تابع پنجره‌ای مجرد است که برنامه‌های کوچکی با قابلیت نشان دادن واسط گرافیکی برای کاربر را فراهم می‌کند. کلاس Hello تابع موروثی (print(Graphicsy را از سوپر کلاس container باطل می‌کند، برای اینکه کدی که اپلت را نمایش می‌دهد، فراهم کند. تابع paint شی‌های گرافیکی را که شامل زمینه‌های گرافیکی هستند را می‌فرستد تا برای نمایش اپلت‌ها استفاده شوند. تابع paint برای نمایش “Hello world!” تابع (drawstring(string,int,in را صدا می‌زند.

      جاوا سرولت

      فناوری servlet جاوا گسترش وب را به آسانی فراهم می‌کند؛ و شامل مکانیزم‌هایی برای توسعه تابعی سرور وب و برای دسترسی به سیستم‌های تجاری موجود است.servlet قسمتی از javaEE است که به درخواست‌های مشتری پاسخ می‌دهد.

      جاوا در مقایسه با زبان‌های برنامه‌نویسی دیگر

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

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

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

      این زبان از زبان‌های برنامه‌نویسی مفسر بوده و به صورت کامل یک زبان شیءگرا است که در ویژگی‌ها با زبان‌های تفسیری پرل، روبی، اسکیم، اسمال‌تاک و تی‌سی‌ال مشابهت دارد و از مدیریت خودکار حافظه استفاده می‌کند. لازم به توضیح است که پشتیبانی از زبان پایتون ۲ رسماً در سال ۲۰۲۰ به پایان می‌رسد.

      فلسفه طراحی زبان پایتون

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

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

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

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

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

      ترکیب دستوری زبان پایتون

      پایتون در نظر دارد که زبانی بسیار خوانا باشد؛ بنابراین طرح بندی آن مرتب و بدون حشو و زوائد است، و اغلب از کلمات کلیدی انگلیسی استفاده می‌کند، در حالی که زبان‌ها دیگر از نقطه‌گذاری استفاده می‌کنند. پایتون برای جداکردن بلوک کد به جای استفاده کردن از آکولاد از تورفتگی فاصله خالی استفاده می‌کند. برای شروع بلوک کد یک پله تورفتگی را بیشتر می‌کنیم و برای اتمام آن یک پله بلوک کد را کمتر می‌کنیم. پس ساختار ظاهری برنامه نمایش دهنده ساختار معنایی آن است. این ویژگی ای که به نام قانون off-side نیز شناخته می‌شود؛ و در بعضی از زبان‌ها وجود دارد؛ ولی در بیشتر زبان‌های برنامه‌نویسی وجود تورفتگی معنای خاصی نمی‌دهد.

      کامپایلرهای همسو با پایتون ر

      چندین کامپایلر به زبان‌های سطح بالای شیء گرا وجود دارد خواه زبان مبدأ پایتون محدود نشده باشد خواه زیر مجموعه‌های محدود شده آن یا زبان‌های مشابه پایتون باشند:

      سایتون، کدهای پایتون را به سی و سی پلاس‌پلاس کامپایل می‌کند.

      IronPython از روش مشابهی استفاده می‌کند تا برنامه نوشته شده با پایتون را بر .NET. زمان اجرای زبان مشترک اجرا کند.

      جایتون امکان استفاده از کلاس‌ها کتابخانه جاوا را از زبان پایتون فراهم می‌کند.

      MyHDL پایتون را به زبان وی‌اچ‌دی‌ال کامپایل می‌کند.

      Nuitka پایتون را به C++‎ کامپایل می‌کند.

      Jython از LLVM استفاده می‌کند تا کد پایتون را به کد ماشین کامپایل کند.

      Pythran کد پایتون را به زبان C++ کامپایل می‌کند.

      RPython می‌تواند به زبان C, کامپایل شود و برای ساختن مفسر پای‌پای پایتون استفاده می‌شود.

      کتابخانه استاندارد

      پایتون یک کتابخانه استاندارد بزرگ دارد، که از آن به عنوان یکی از بزرگ‌ترین توانایی پایتون یاد می‌شود، مشروط به اینکه ابزارهای از پیش نوشته شده، با بسیاری از وظایف سازگار باشد. ماژول‌های کتابخانه استاندارد می‌توانند به شیوه ماژول‌های نوشته شده در سی یا پایتون آرگومان دهی شوند. اخیراً کتابخانه‌های C++‎ به یک کتابخانه به نام Boost.Python رشد یافته‌است، برای ایجاد قابلیت همکاری بین C++‎ و پایتون. به دلیل تنوع گسترده در ابزارهای تولید شده توسط کتابخانه استاندارد، این کتابخانه با توانایی استفاده یک زبان سطح پایین ترکیب شده، مثل C و C++‎‎، که البته به عنوان واسط بین کتابخانه‌های دیگر است، پایتون می‌تواند یک واسط قوی بین زبان‌ها و ابزارها باشد.

      کتابخانه استاندارد با تعداد زیاد فرمت‌ها و پروتکل‌هایی که حمایت می‌کند (مانند MIME و HTTP)، خصوصاً برای نوشتن علائم اینترنت مناسب است. پایتون همچنین ماژول‌هایی برای ایجاد واسط کاربر گرافیکی، اتصال به پایگاه داده رابطه‌ای، تولید اعداد شبه تصادفی، محاسبات با دقت دلخواه اعشاری،[۸۳] دستکاری عبارات با قاعده و آزمایش واحد دارد. بعضی از قسمت‌های کتابخانهٔ استاندارد همراه با توضیحاتی هستند (مثل WSGI wsgiref که پیرو PEP 333 است،  اما اکثریت ماژول‌ها این‌گونه نیستند. آن‌ها از طریق کدها، اسناد داخلی، و دنباله تست شان (اگر موجود باشد) تعیین می‌شوند. اگر چه، به دلیل اینکه کد پایتون اکثر کتابخانه‌های استاندارد، چندسکویی است، فقط ماژول‌های اندکی هستند که باید برای پیاده‌سازی‌های دیگر تغییر داده شوند یا دومرتبه نوشته شوند. پکیج‌های پایتون در زمینه‌های گوناگونی همچون خودکارسازی، آنالیز داده، پایگاه داده، پردازش تصویر، یادگیری ماشین، برنامه‌های موبایل، چندرسانه‌ای، شبکه، محاسبه علمی، مدیریت سیستم، پردازش متن، چارچوب‌های نرم‌افزاری تحت وب، Web scraping و نمونه‌های مشابه استفاده می‌شود.

      بیشتر بخوانید
      1602914238

      ‌ماشین مجازی جاوا چیست و چه کاربردی دارد؟

      نوشته شده توسط: مشهد آی سی ۰۴ آبان ۱۳۹۹ 0دیدگاه
      ماشین مجازی جاوا (Java Virtual Machine) که به صورت اختصار JVM نامیده می‌شود یکی از پر کاربردترین اصطلاحات دنیای نرم‌افزار است. ماشین مجازی جاوا یک ماشین مجازی است که به یک کامپیوتر اجازه می‌دهد برنامه‌های جاوا و برنامه‌های نوشته شده به سایر زبان‌های کامپایل شده به بایت‌کد جاوا را اجرا کند. به بیان دیگر، ماشین مجازی جاوا مجموعه‌ای مشتکل از برنامه‌های نرم‌افزاری و ساختارهای داده‌ای است که برای مدل‌سازی ماشینی مجازی و اجرای برنامه‌های سایر رایانه‌ها و اسکریپت‌های دیگر سامانه‌ها استفاده می‌شود.

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

      یک ماشین مجازی جاوا، علاوه بر جاوا، زبان‌های برنامه‌نویسی دیگری را هم پشتیبانی می‌نماید. برای مثال دستورات زبان برنامه‌نویسی Ada توانایی ترجمه به بایت کد و اجرا در این ماشین مجازی را دارند. علاوه بر شرکت سان که توسعه دهنده جاوا است، سایر شرکت‌ها نیز ماشین‌های مجازی جاوایی را منتشر نموده‌اند؛ که البته این کار تحت ویژگی‌های منتشر شده توسط سان، انجام می‌شود. به همین دلیل تمام حقوق تجاری آن تحت نام جاوا و متعلق به سان است. جاوا، بر مبنای شعار معروف یکبار بنویس، همه‌جا اجرا کن طراحی شد. این مفهوم در ماشین مجازی جاوا نیز به کار گرفته شده است. همان‌گونه که اشاره شد ماشین مجازی جاوا محیطی برای اجرای برنامه‌های جاوا است. این ماشین مجازی نرم‌افزاری است که در لایه بالایی سخت‌افزار فیزیکی و سیتم‌عامل قرار می‌گیرد. به همین دلیل ماشین مجازی جاوا  مولفه زیربنایی سکوی جاوا است. ماشین مجازی جاوا روی بسیاری از سخت‌افزارها و سکوهای نرم‌افزاری قابل نصب است. جاوا با استفاده از بایت کد یکسان برای تمام سکوها، ویژگی‌ معروف یک بار ترجمه کن، هرجایی اجرا کن را مطرح کرد که در مغایرت با شعار یکبار بنویس، همه‌جا اجرا کن است. چراکه یکبار بنویس …، درباره زبان‌های ترجمه‌شونده چند سکویی کاربرد دارد. ماشین مجازی جاوا به همراه مجموعه‌ای از کتابخانه‌های کلاس استاندارد توزیع می‌گردد. این کتابخانه‌ها رابط برنامه‌نویسی نرم‌افزار را پیاده‌سازی می‌کند. یک رابط برنامه‌نویسی نرم‌افزار، توسط یک سامانه رایانه‌ای، کتابخانه یا برنامه برای تبادل داده بین آن‌ها فراهم می‌گردد. این رابط‌های برنامه‌ای، به صورت متناسب و با هم در محیط زمان ‌اجرای جاوا (JRE) به صورت یک بسته وجود دارد.

      محیط اجرایی

      برنامه‌هایی که قرار است روی ماشین مجازی جاوا اجرا شوند باید در قالبی استاندارد و کد دودویی قابل حمل ترجمه شده باشند که به شکل نقطه‌کلاس (class.) است. یک برنامه ممکن است شامل تعداد زیادی کلاس در قالب فایل‌های مختلف باشد. برای توزیع ساده‌تر برنامه‌های با اندازه بزرگ، معمولاً این برنامه‌ها در فایل‌هایی با فرمت فایلی .jar، ( Java archive) ذخیره می‌شوند. محیط اجرایی ماشین مجازی جاوا، فایل‌هایی با قالب .class یا .jar اجرا می‌کند. این‌کار با استفاده از شبیه‌ساز مجموعه دستورها ماشین مجازی جاوا و با از تفسیر آن انجام می‌شود. همچنین اجرای برنامه می‌تواند از طریق ترجمه همزمان هات‌اسپات جاوا انجام شود. همانند بسیاری از ماشین‌های مجازی، ماشین مجازی جاوا، دارای ساختاری مبتنی بر پشته و مبتنی بر ریزپردازنده اجرا کننده آن است. وظیفه ماشین مجازی جاوا عنوان شی‌ای از محیط اجرای جاوا، اجرای برنامه‌های جاوا است. بعد از اتمام اجرای برنامه جاوا، این شیء به وسیله Garbage Collection جمع‌آوری می‌شود. ترجمه همزمان، به عنوان بخشی از ماشین مجازی جاوا برای افزایش سرعت اجر ااست. این روش ترجمه، با ترجمه همزمان بخش‌هایی که عملکرد یکسانی را دارند و کاهش زمان لازم برای ترجمه، این افزایش سرعت را به ارمغان می‌آورد.

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

      بیشتر بخوانید
      1602917150

      چگونه سرعت کامپیوتر را افزایش دهیم؟

      نوشته شده توسط: مشهد آی سی ۰۳ آبان ۱۳۹۹ 0دیدگاه
      پس از گذشت مدتی از کار کردن با کامپیوترها سرعت آن‌ها دچار افت می‌شود و مانند روزهای اول با همان سرعت و عملکرد بالا نمی‌توانیم از آن استفاده کنیم. اما راهکارهایی هستند که باعث می‌شوند سرعت کامپیوتر با حدودی بالا برود که در این مقاله به توضیح این نکات می‌پردازیم.

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

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

      ۱. اپلیکیشن Glay Utilities5 برای افزایش سرعت کامپیوتر

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

      کارکرد این برنامه به این صورت است که با حذف فایل‌های زائد و اسکن کامل سیستم باعث بهبود عملکرد کامپیوتر می‌شود.

      ۲. ارتقا RAM برای افزایش سرعت کامپیوترسرعت کامپیوتر را افزایش دهیم؟ 1

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

      ۳. کارت گرافیک

      سرعت کامپیوتر را افزایش دهیم؟ 5 1

      یکی از دیگر از راهکارهای سخت‌افزاری افزایش سرعت کامپیوتر ارتقا کارت گرافیک است.

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

      ۴. پاکسازی هارددیسک برای افزایش سرعت کامپیوتر

      سرعت کامپیوتر را افزایش دهیم؟ 2

      افزایش  فضای مصرفی هارد دیسک باعث کاهش سرعت کامپیوتر می‌شود و هرازچندگاهی با حذف فایل‌های اضافه و بدردنخور می‌توانید فضای هارد را آزاد کنید و سرعت سیستم را افزایش دهید. برای حذف فایل‌های اضافه دکمه ویندوز را فشار دهید و کلمه RUN را سرچ کنید سپس در کادر باز شده کلمه %TEMP% را بنویسید و OK را بزنید. در پنجره باز شده یک سری پوشه خواهیددید که به کاربردی ندارند و صرفا فضای هارد را اشغال کرده‌اند، با حذف این فایل هیچ مشکلی در قسمت سخت‌افزاری و نرم‌افزاری سیستم شما پیش‌نخواهد آمد و صرفا باعث آزادسازی هارد شما می‌شود.

      ۵. غیرفعال کردن برنامه‌های استارتاپی

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

      برای غیرفعال کردن برنامه‌های استارتاپی دکمه ویندوز را فشار دهید و کلمه سپس کلمه RUN را سرج کنید و در پنجره باز شده کلمه “msconfig” را بنویسید سپس OK را بزنید.

      بر روی زبانه سرویس‌ها کلیک کنید و “Hide all Microsoft services” را بررسی کنید و تیک برنامه‌هایی که نمی‌خواهید در استارت‌آپ باشند را بردارید و آن‌ها را غیرفعال کنید.

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

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

      Control Center > Ease of Access Center > “Turn off unnecessary animations”

      ۷. بهینه‌سازی استفاده از مرورگر

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

      افزونه “ONE TAB”  می‌تواند این مشکل شما را حل کند. این افزونه برای مرورگرهای کروم و فایرفاکس قابل استفاده است که باعث می‌شود تب‌های بازشده شما را به صورت یک لیست درآورد که همین امر باعث افزایش سرعت کامپیوتر می‌شود.

      ۸. غیرفعال کردن search indexing

      هنگام اجرای ویندوز۱۰ در پس‌زمینه serch indexing فعال می‌شود که جستجوی سریع‌تری را در کامپیوتر فراهم می‌کند درعوض باعث کاهش سرعت کامپیوتر می‌شود. فعال بودن ایندکسینگ ضرورتی ندارد و صرفا یک گزینه اضافه در ویندوز است و با غیرفعالسازی آن به بهبود سرعت کامپیوتر می‌توانید کمک کنید. برای غیرفعالسازی search indexing برروی دکمه ویندوز کلیک کنید و RUN را سرچ کنید در کادر باز شده عبارت services.msc را بنویسید. برنامه ایندیکس برایتان باز می‌شود با کلیک برروی هرکدام و انتخاب گزینه STOP می‌توانید آن‌ها را غیرفعال کنید.

      ۹. فعالسازی Automaed windows maintenance

      ویندوز۱۰ یک مامور امنیتی دارد که کارهای نگهداری سیستم را انجام می‌دهد. روزانه با اسکن کردن سیستم و معاینه آن، سیستم را بررسی می‌کند و به صورت خودکار آن‌ها را برطرف می‌کند.

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

      برنامه control panel را اجرا کنید و وارد گزینه System and Security > Security and Maintenance را انتخاب کنید. در بخش  Maintenance زیر Automatic Maintenance روی Start maintenance کلیک کنید.

      ۱۰. غیرفعالسازی راهنمای ویندوز

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

      برای غیرفعالسازی راهنمای ویندوز دکمه ویندوز را فشار دهید و برروی گزینه setting کلیک کنید.

      سپس به System > Notification & actions بروید. به بخش Notifications رفته و تیک گزینه‌ی Get tips tricks and suggestions as you use Windows را انتخاب کنید.

      بیشتر بخوانید
      1602566281

      چهار اشتباه رایج برنامه نویسی با C و راهکارهای جلوگیری از آن

      نوشته شده توسط: مشهد آی سی ۰۲ آبان ۱۳۹۹ 0دیدگاه
      کمتر زبان برنامه نویسی است که می‌تواند از نظر سرعت و قدرت در سطح ماشین با زبان C رقابت کند. این شعاری است که ۵۰ سال پیش مطرح بود، و امروز هم واقعیت دارد. اما کدنویسی با این زبان همچون راه رفتن روی لبه تیغ است. اگر مراقب نباشید همین زبان قدرتمند برایتان دردسر ساز خواهد شد.

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

      اشتباه رایج اول: آزاد نکردن حافظه malloc (یا آزاد کردن آن بیش از یک مرتبه)

      یکی از بزرگترین اشتباهات رایج انجام گرفته در C مربوط به مدیریت حافظه است. حافظه اختصاص داده شده (انجام گرفته با استفاده از تابع malloc) در C به طور خودکار آزاد نمی‌شود. این وظیفه برنامه نویس است تا وقتی دیگر نیازی به استفاده از این حافظه نیست آن را تخلیه کند. خطا در آزاد سازی درخواست‌های مکرر برای حافظه در نهایت به نشت حافظه (memory leak) منجر خواهد شد. سعی در استفاده از ناحیه‌ای از حافظه که قبلا آزاد شده است، باعث از کار افتادن برنامه شما می‌شود، و از آن بدتر، باعث آسیب پذیر شدن برنامه در مقابل حملاتی که از این مکانیزم استفاده می‌کند خواهد شد.

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

      اشتباه رایج دوم: خواندن خارج از محدوده یک آرایه

      این یکی دیگر از متداول‌ترین اشتباهات خطرناک در زبان برنامه نویسی C است. خواندن فراتر از انتهای یک آرایه می‌تواند داده‌های زاید را بازگرداند. نوشتن فراتر از محدوده یک آرایه نیز ممکن است وضعیت برنامه را خراب کند، یا به طور کامل باعث از کار افتادن آن شود، و یا بدتر از آن به یک عامل حمله برای بدافزار تبدیل شود.

      پس چرا بار بررسی محدوده‌های آرایه به عهده برنامه نویس است؟ در مشخصات رسمی‌ C آمده است، خواندن یا نوشتن یک آرایه فراتر از مرزهای آن «رفتار تعریف نشده» است، یعنی مشخصات در مورد آنچه قرار است اتفاق بیفتد حرفی برای گفتن ندارد.

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

      اشتباه رایج سوم: بررسی نکردن نتایج malloc

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

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

      اشتباه رایج چهارم: استفاده از void* برای اشاره گرهای عمومی‌ به حافظه

      استفاده از void* برای اشاره به حافظه یک عادت قدیمی‌ و اشتباه است. اشاره گرهای به حافظه همیشه باید char*, unsigned char* یا uintptr_t* باشد. مجموعه‌های کامپایلر مدرن C باید uintptr_t را به عنوان بخشی از stdint.h فراهم کند.

      هنگامی‌ که برچسب گذاری به یکی از این روش‌ها انجام می‌شود، واضح است که اشاره گر به موقعیت مکانی حافظه ارجاع داده می‌شود. با uintptr_t* و نظایر آن، به اندازه عنصر و نحوه استفاده از آن نیز اشاره می‌شود.

      جلوگیری از اشتباهات رایج C

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

      برنامه‌های C را ساختار دهید تا مالکیت حافظه کاملا واضح باشد

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

      از گزینه‌های کامپایلر C که از مشکلات حافظه محافظت می‌کنند استفاده کنید

      با استفاده از گزینه‌های دقیق کامپایلر می‌توان از خیلی از مشکلاتی که در نیمه اول این مقاله به آن اشاره شد جلوگیری کرد. برای نمونه، ویرایش‌های Recent از gcc ابزارهایی مثل AddressSanitizer (“ASAN”) را فراهم می‌کند تا اشتباهات رایج مربوط به مدیریت حافظه بررسی شود.

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

      برای تجزیه و تحلیل نشت حافظه در کدهای C از Cppcheck و Valgrind استفاده کنید

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

      Cppcheck تجزیه و تحلیل ایستا را بر روی کد منبع C انجام می‌دهد تا به دنبال اشتباهات رایج در مدیریت حافظه و رفتارهای تعریف نشده باشد.

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

      این نوع ابزارها حلال تمام مشکلات نیستند، اما می‌توان از آنها به عنوان بخشی از یک استراتژی دفاعی در برابر سوء مدیریت حافظه در C استفاده کرد.

      مدیریت حافظه در C را با یک جمع کننده زواید خودکارسازی کنید

      از آنجا که خطاهای حافظه بارزترین مشکلات رخ داده در C محسوب می‌شود، یک راهکار ساده برای رفع آن را به شما معرفی می‌کنیم: مدیریت حافظه در C را به صورت دستی انجام ندهید. از یک جمع کننده زواید (garbage collector) استفاده کنید.

      بله این کار در C قابل انجام است. شما می‌توانید از چیزی شبیه به Boehm-Demers-Weiser garbage collector برای اضافه کردن مدیریت حافظه خودکار به برنامه‌های C استفاده کنید. در برخی برنامه‌ها استفاده از Boehm collector حتی می‌تواند باعث افزایش سرعت کارها شود.

      نقطه ضعف اصلی Boehm garbage collector این است که نمی‌توان زمانی که به طور پیش فرض از malloc استفاده شده حافظه را اسکن و آزاد سازی کند.

      وقتی با زبان دیگری می‌توانید کار کنید از C استفاده نکنید

      بعضی از مردم صرفا به این دلیل که زبان برنامه نویسی C را مثمر ثمر می‌دانند و از نوشتن با آن لذت می‌برند آن را استفاده می‌کنند. در حالت کلی بهتر است C را فقط در موارد ضروری و تحت شرایط خاص استفاده کنید.

      اگر پروژه‌ای دارید که عملکرد آن عمدتا به دلیل دسترسی I / O یا دسترسی به دیسک محدود می‌شود، نوشتن آن به زبان C به احتمال زیاد باعث تسریع در انجام آن نمی‌شود و احتمالا فقط آن را مستعد خطا و مشکل می‌کند. در حالی که همین برنامه را می‌توان به خوبی با Go یا پایتون نوشت. فراموش نکنید که پایتون می‌تواند به راحتی از کتابخانه‌ها و کدهای سفارشی C استفاده کند.

      بیشتر بخوانید
      1602744747

      AJAX چیست و چرا توسعه‌دهندگان وب از آن استفاده می‌کنند؟

      نوشته شده توسط: مشهد آی سی ۰۱ آبان ۱۳۹۹ 0دیدگاه
      AJAX سرنام Asynchronous Java script XML است. AJAX مجموعه‌ای متشکل از فناوری‌های طراحی وب یکپارچه است که در سمت کاربر برای ایجاد سریع‌تر، بهتر و ارتباط متقابل برنامه‌های وب غیرهمزمان از XML،HTML،CSS استفاده می‌کنند. این موتور AJAX است که توانایی اداره کردن درخواست‌ها را دارد. همچنین توانایی نگه‌داری حجم زیادی از اطلاعات را دارد که در نتیجه به برنامه‌ها و کاربران اجازه دسترسی غیرهمزمان و مستقل و دریافت هر واکنشی از سرور را می‌دهد.

      با استفاده از این فناوری‌ها و با کمک انتقال بسته‌های کوچک داده‌ای و اطلاعات از سرور صفحات وب از حالت ایستا خارج می‌شوند و واکنش‌هایی مناسب با رخدادها انجام می‌دهند. ای‌جکس معماری قدرتمندی است که پویایی و هوشمندی خاصی به برنامه‌های تحت وب بخشیده است. بر مبنای این معماری، صفحات وب تعامل بهتری با کاربران دارند. علاوه بر این، مهم‌ترین مزیت این معماری این است که دیگر برای انجام هر کاری، لازم نیست صفحه وب دوباره بارگذاری شود و به این شکل ترافیک کاربر بیهوده هدر نمی رود. اصطلاح ای‌جکس برای اولین بار توسط جسی جیمز گارت در سال ۲۰۰۵ میلادی در مقاله رویکردی جدید در ساخت برنامه‌های وب‌محور استفاده شد. درست است که ای‌جکس بار در سال ۲۰۰۵ معرفی شد، اما بیشتر فناوری‌های به کار گرفته شده در ای‌جکس بیش از یک دهه قدمت دارند. مایکروسافت در نسخه ۵ اینترنت اکسپلورر شیء XMLHttpRequest را ارائه کرده و برای اولین بار در هات‌میل از آن استفاده کرد. در نهایت با تغییر و تحولاتی که در این مسیر به وجود آمد و جایگزینی شیء XMLHttpRequest به جای جاوا اپلت، اکنون روشی برای اسکریپ‌نویسی از راه دور متداول شده که آن را با عنوان ای‌جکس می‌شناسیم. آن‌چه باعث شد پس از این مدت، ناگهان توجه‌ها به سمت ای‌جکس جلب شود، تمرکز شرکت گوگل بر این معماری بود. وب‌سایت‌هایی از قبیل Google Map، جی‌میل و فهرست محصولات گوگل پروژه‌هایی بودند که باعث شدند توجه توسعه‌دهندگان به سمت این فناوری جلب شود.

      شی XMLHttpRequest چیست؟

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

      معماری خاص ای‌جکس

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

      آیا ای‌جکس یک فناوری است؟

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

      XML : وظیفه ذخیره‌سازی و تبادل داده‌ها را برعهده دارد. البت توجه داشته باشید که امکان به‌کارگیری سایر فناوری‌های وجود همچون JSON نیز وجود دارد. توسعه‌دهندگان بیشتر از JSON استفاده می‌کنند.

      XMLHttpRequest object : به داده‌ها اجازه می‌دهد به صورت غیرهمزمان به کار گرفته شوند.

      XSLT : محتوای درون XML را به XHTML تغییر می‌دهد.

      XHTML : در ارتباط با رابط کاربری به کار گرفته می‌شود.

      CSS :برای سبک‌بندی محتوای فرمت XHTML درون برنامه کاربردی استفاده می‌ود.

      Javascript : وظیفه یکپارچه‌سازی را عهده‌دار است. جاوااسکرپیت اجازه بارگذاری و دستکاری داده‌ها و مقداردهی اولیه ارتباط میان سرویس‌گیرنده و سرویس‌دهنده را عهده‌دار است. به عبارت دیگر همه عناصر را به یکدیگر گره می‌زند.در واقع ای‌جکس ترکیبی از تکنولوژی‌های فوق است و هیچ چیز جدیدی ارائه نمی‌دهد. همه شگفتی ای‌جکس در معماری هست که برای ساخت یک برنامه وب، با استفاده از این تکنولوژی‌ها ارائه می‌دهد. ای جکس یک شیوه جهت طراحی و توسعه وب‌گاه‌ها بوده که جهت بالا بردن قدرت تعامل Interface سایت با کاربر و بالا بردن کیفیت عملکرد و قابلیت‌های سایت مورد استفاده قرار می‌گیرد. Ajax به صورت Client Side و با به کارگیری JavaScript و CSS مورد استفاده قرار می‌گیرد. امروزه در مبحث طراحی صفحات HTML تکنولوژی Ajax عامل حیات صفحه و ارضاء کاربر در مواجهه با واسط (Interface) تلقی می‌شود.

      یک معماری قدرتمند برای وب امروزی

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

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

      واکنش به رویدادها: تقریباً می‌توانیم برای تمام رخدادهایی که کاربر به وجود می‌آورد، با سرور ارتباط برقرار کنیم. مرورگرهای مدرن اکثر رخدادهایی را که سیستم‌عامل اجازه می‌دهد دریافت می‌کنند: کلیک کردن موس، حرکت موس روی شیء، زدن یک کلید و غیره. هر رخدادی می‌تواند باعث ارسال یک درخواست به صورت غیر همروند برای سرور شود. به‌جای این‌که مرورگر در آغاز ارتباط تنها یک صفحه HTML را بارگذاری کند، یک موتور ای‌جکس را نیز همراه با صفحه بارگذاری می‌کند، که به زبان جاوااسکریپت نوشته شده و معمولاً مابین فریم‌هایی در صفحه پنهان شده‌است. این موتور عامل به‌روز کردن رابط کاربری‌ای که کاربر می‌بیند، و همچنین برقراری ارتباط با سرور در پشت پرده است. موتور Ajax امکان تعامل کاربر با برنامه را، مستقل از ارتباطات و نقل و انتقالات بین برنامه و سرور می‌دهد؛ بنابراین، کاربر دیگر شاهد یک صفحه خالی و ساعت شنی و انتظار برای انجام عملیات سمت سرور نخواهد بود.

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

      ای‌جکس چه معایبی دارد؟

      اگرچه ای‌جکس مزایای زیادی را ارائه می‌کند و شکاف بین برنامه‌های رومیزی و برنامه‌های وب را بسیار کم‌تر کرده‌است، اما مشکلاتی نیز دارد که هنگام کار به این روش، باید به آن‌ها توجه کرد. یکی از مشکلاتی که در مورد ای‌جکس عنوان می‌شود، این مورد است که این روش کاربرد کلید Back مرورگرها را مختل کرده و این بر خلاف عادت کاربران وب است. البته برای حل این مورد راه‌حل‌هایی پیشنهاد شده است. مشکل دیگر ای‌جکس تأخیر در زمان پاسخگویی سیستم است. مورد تأخیر شبکه در یک برنامه بر اساس Ajax باید با دقت در نظر گرفته شود. تأخیر در بارگذاری اولیه رابط کاربر برنامه، عاملی است که معمولاً برای کاربر قابل درک نیست و باید با دادن پیغامی مناسب، کاربر را از اینکه سیستم در حال بارگذاری، یا انجام فعالیتی و برقراری ارتباطی با سرور است، آگاه کرد. مورد دیگری که در مورد سیستم‌های بر اساس Ajax وجود دارد، استفاده ای‌جکس از جاوااسکریپت است و این مورد که کاربر می‌تواند اجازه اجرای جاوااسکریپت در مرورگر خود را ندهد. پس باید پیش از شروع بارگذاری موتور ای‌جکس از فعال بودن اجرای جاوااسکریپت روی مرورگر کلاینت اطمینان پیدا کرد. مورد دیگری که باید به آن توجه داشت، این است که کدهای جاوااسکریپت برنامه را هر کسی به راحتی می‌تواند ببیند. در نتیجه بهتر است قسمت‌هایی از برنامه را که مربوط به امنیت، یا منطق پردازشی برنامه می‌شود، سمت سرور نگه داریم.

      بیشتر بخوانید
      • 1
      • 2
      • 3
      • بعدی
      logo 4 e1548532700450
      • مشهد بلوار مدرس (چهار طبقه) نبش مدرس 8 مجتمع تجاری مدرس طبقه مثبت یک پلاک 23 هزاره سوم رجب زاده- ابوالقاسم (قاسم)رجب زاده
      • 09381429697-05132220084
      • ساعت کاری : 9:00 صبح - 8:00 بعد از ظهر

      حساب کاربری مشتری

      • حساب کاربری من
      • تماس با ما
      • درباره ما
      • پرسش و پاسخ

      اطلاعات

      • قوانین ارسال
      • حفظ حریم خصوصی مشتری
      • محل فروشگاه
      • بازاریابی

      دسته بندی ها

      • نقشه سرویس (RSS)
      • پشتیبانی محصولات
      • خدمات ما
      • نظرات شما

      نمادها

      ©2019 کلیه حقوق برای مشهد آی سی محفوظ است ...
      faic 1
      بستن
      ورود یا ثبت نام
      رمز عبور را فراموش کرده اید؟

      تازه وارد هستید؟

      ثبت نام سریع و آسان!

      • پرداخت سریع
      • ذخیره چندین آدرس پستی
      • نمایش و پیگیری سفارشات و ...
      یک حساب کاربری بسازید
      x
      X
      • منو
      • دسته بندی ها
      • صفحه اصلی
      • فروشگاه
        • تخفیف ها
        • داشبورد
        • سبد خرید
        • تسویه حساب
      • نقشه های تعمیراتی
      • وبلاگ
      • درباره ما
        • برنامه موبایل سایت
        • تماس با ما و ثبت شکایت
        • خبرنامه
      • هارد پروگرام شده
      • هارد خام
      • نرم افزاری های تعمیراتی
      • فایل های تعمیراتی
      • آی سی (ic)