دیتابیس mySql
معرفی دیتابیس mySql و بهینه سازی آن
آبان ۲۸, ۱۳۹۷
nginx
نصب NGINX بر روی CentOS7
آذر ۱۳, ۱۳۹۷

مفهوم کتابخانه ها در لینوکس

لینوکس

لینوکس چیست؟

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

لینوکس در واقع هسته و یا همان قلب سیستم شماست . هسته ای که پردازشگر لینوکس است در واقع (CPU) نامیده می شود. این هسته تمامی سرویس های سیستم عامل را در درون خود اجرا می کند. شاید شما مفهوم کلی کتابخانه در برنامه نویسی را بدانید اما هم اکنون می خواهیم با مفهوم کتابخانه در لینوکس آشنا شویم.

توزیع لینوکس چیست؟

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

مطلب مرتبط  چطور یک وب هاستینگ مناسب انتخاب کنیم؟

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

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

 این کتابخانه ها به طور کلی به دو دسته تقسیم می شوند که شامل کتابخانه های پویا و کتابخانه های ثابت هستند:

کتابخانه های پویا:

ممکن است که برنامه های متعدد از تعداد زیادی کتابخانه استفاده کنند, در این صورت نیازمند یک کتابخانه به اشتراک گذاشته شده هستند. همان طور که از نام آن ها پیداست, این کتابخانه ها قابلیت اشتراک گذاری توابع را برای برنامه های مختلف دارا هستند. در واقع این نوع کتابخانه ها نیاز به استفاده مداوم ندارند و تنها یک بار بارگذاری می شوند و پس از آن برنامه های مختلف قابلیت استفاده از توابع و کدهای آنها را دارند. در لینوکس کتابخانه های پویا را با فرمت so.  که مخفف Shared Object نشان می دهیم. این کتابخانه ها را می توان از دو راه استفاده کرد:

  1. زمانی که برنامه لینک شده در حال انجام است, لینوکس می تواند این کتابخانه را در زمان اجرای برنامه های دیگر بارگذاری کند .
  2. با دو گزینه load و Unload  این کتابخانه ها می توانند به صورت کاملا پویا عمل کنند و زمانی که یک برنامه نیازمند یک تابع است آن را بارگذاری و در اختیار آن قرار دهند. روش کاملا پویا روشی رایج برای برنامه هایی مانند مرورگرهاست که قابلیت پشتیبانی از افزونه ها را دارند.
مطلب مرتبط  معرفی کنترل پنل cPanel و بررسی قابلیت های آن

کتابخانه های ثابت:

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

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

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

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

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

مطلب مرتبط  سرور چیست؟

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

The following two tabs change content below.