آموزش لینوکس - به کمک Nitroshare فایل ها یتان را به راحتی بین سیستم عامل های مختلف بر روی شبکه داخلی به اشتراک بگذارید
یکی از مهم ترین اهداف استفاده از شبکه به اشتراک گذاری فایل ها بین سیستم ها می باشد.
راه حل های متفاوتی برای به اشتراک گذاری فایل های بین سیستم عامل های متفاوت مانند لینوکس، مک، ویندوز و ... در شبکه وجود دارد.
یکی از مناسب ترین راه حل ها استفاده از برنامه NitroShare می باشد.NitroShare اپلیکیشنی متن باز،کراس پلتفرم و بسیار ساده برای کاربران است تا به راحتی فایل های خود را بر روی یک شبکه داخلی به اشتراک بگذارند.
🔹کراس پلت فرم، قابل اجرا بر روی لینوکس، ویندوز X و Mac OS
آموزش لینوکس - OpenSCAP - یک شاهکار برای علاقه مندان به مبحث امنیت در لینوکس
این نرم افزار از پروتکل SCAP یا Security Content Automation Protocol استفاده می کند که برای ممیزی امنیت سیستم بکار می رود. این پروژه ابزارهایی را فراهم می کند تا شما بتوانید بصورت آزاد، هر پلتفرمی را به منظور اهداف امنیتی به سرعت اسکن نموده تا اکثر مشکلات امنیتی سیستم تان در لایه های مختلف سیستم عامل شناسایی شود. قابل ذکر است که چک لیست های امنیتی جامعی بصورت پیش فرض موجود است و شما می توانید با برخی از زبان های برنامه نویسی چک لیست هایی را ایجاد نمایید.
کافیست این نرم افزار را نصب و اجرا نمایید. معمولا خروجی تولید شده بصورت xml فایل بوده و توسط ماشین و انسان قابل خواندن است. برای خوانایی بیشتر شما می توانید xml فایل گزارش تولید شده را با همین نرم افزار به html تبدیل نمایید و تحت وب، گزارش را به آسانی بررسی نمایید.
حجم بررسی های انجام شده، جزییات بررسی و فرمت گزارش شما را سورپرایز خواهد کرد.
قابل ذکر است که این پروژه یکی از سرفصل های دوره ی (LPIC-303 (Linux Security است که در حال حاضر در فناوران آنیسا "خانه ی لینوکس ایران" برگزار می شود.
استفاده از مطلب، با ذکر منبع بلامانع است.
آموزش جاوا - قدم هایی که توسعه دهندگان جاوا بهتر است بردارند برای موفقیت در سال 2019
این مقاله به شما کمک خواهد کرد که اهداف خود را در سال 2019 تعیین کنید. به عنوان یک برنامه نویس، بزرگترین چالش شما این است که خودتان را به روز نگه دارید. فناوری ها به سرعت تغییر می کنند و شما هر ساله زبان برنامه نویسی و چهارچوب جدیدی را خواهید دید.
مهارت هایی که به برنامه نویسان Java پیشنهاد می شود شامل موارد زیر می باشد:
1- DevOps
در سال گذشته گرایش شرکت های بسیاری را به سمت DevOps مشاهده کردیم به طوری که این شرکت ها استقرار مداوم این فناوری را در ساختار فنی خود پذیرفتند. DevOps بسیار گسترده است و شما نیاز به یادگیری بسیاری از ابزار و اصول دارید اما جای نگرانی وجود ندارد شما با استفاده از دوره های جامع و RoadMap کامل Devops که در فناوران آنیسا تهیه شده به سادگی می توانید این مسیر را طی کنید.
آموزش لینوکس - Netdata ابزار مانیتورینگ
ابراز Netdata، یک ابزار مانیتورینگ بلادرنگ به منظور بررسی منابع سیستم های لینوکسی است.
این ابزار دارای یک کنسول تحت وب و مورد پسند کاربران است.
با بررسی نمودارهای این ابزار، شما می توانید منابعی مانند CPU، RAM، هارد دیسک، شبکه، آپاچی، Postfix و ... را مانیتور نمایید.
این نرم افزار مانند سایر نرم افزارهای مانیتورینگ مانند Nagios است. با این حال، Netdata تنها ابزار مانیتورینگ بلادرنگ از طریق یک رابط وب محسوب می شود.
استفاده از مطلب، با ذکر منبع بلامانع است.
آموزش لینوکس - ابزارهای پیاده سازی Devops - بخش سوم
برای پیاده سازی DevOps به چه ابزارهایی نیاز داریم؟
اکنون مي دانيم که DevOps در حقیقت ایجاد شده است برای چابکی و مدیریت تغییرات اما با نگرشی جدید، بهینه و پیوسته که همانطور که پیش از این مطرح شده بود به مجموعه ای ابزارها برای پیاده سازی آن نیاز داریم. ما در DevOps قطعا به اسکریپ نویسی نیاز داریم، به این دلیل که فرآیندها و زیرساخت باید به صورت کد مدیریت شوند، که مفهومی به نام Infrastructure as Code (IaC) اشاره به همین موضوع دارد.
چه زبانی برای اسکریپت نویسی در DevOps پیشنهاد می شود؟
تحقیقات و بررسی نمونه های واقی نشان می دهد که Python زبان اصلی و برنده این رقابت بوده است، اما استفاده از Ruby، Go و Javascript نیز کم و بیش رواج دارد.
آموزش لینوکس - مروری بر نقش متخصصان DevOps در سازمان ها - بخش دوم
نظرات متفاوتی که در تعریف DevOps وجود دارد باعث می شود دیدگاه های متفاوتی در پیاده سازی آن مشاهده شود. برخی آن را یک فرهنگ می دانند و نه یک نقش یا جایگاه سازمانی و از این رو چیزی تحت عنوان DevOps Engineer یا DevOps Architect که کم و بیش در آگهی های استخدام میبینیم وجود ندارد. در حقیقت با این دیدگاه مزیت پیاده سازی DevOps همان کاهش فاصله بین تیم های مختلف خواهد بود با این تفاوت که مسئولیتها و بار کاری بین همه تقسیم می شود و فضاهای ایزوله و مستقل کاهش میابد، ادامه این مسیر منجر به پدیدار شدن اصطلاحاتی مانند DevSecOps یا NetOps شده است که در حقیقت شرح شغلی های جدیدی برای تیم هاب امنیت و شبکه در محیط های DevOps-محور است. اما در دنیای واقعی برای پیاده سازی این ایده ها به ابزارهای جدیدی نیاز است، از این رو مدیران سیستم یا توسعه دهندگان لازم است دانش پیاده سازی، راهبری و استفاده از این ابزارها را داشته باشند و روال هاي قبلی را بر آنمنطبق سازند و نقش های تیم های مختلف بازبینی شود و این دقیقا جایی است که نقش هاب مذکور (DevOps Engineer و DevOps Architect و ...) ایجاد می شود. در پست هاي بعدی بیشتر به این ابزارها و کارکرد آن ها خواهیم پرداخت.
استفاده از مطلب، با ذکر منبع بلامانع است.
آموزش لینوکس - آشنایی با CI/CD - بخش اول
DevOps از فرآیندهای مختلفی تشکیل شده است و از مجموعه ابزارهای متنوعی که می تواند به ما در پیاده سازی آن کمک کند.
در این پست قصد داریم به معرفی و بررسی CI/CD بپردازیم که از آن به عنوان یکی از ارکان اصلی در پیاده سازی موفقیت آمیز DevOps یاد می شود. اگر دقیق تر نگاه کنیم ما با دو بخش مواجه هستیم:
بخش CI و بخش CD.
به زبان ساده یکی از اهداف اصلی DevOps کم کردن فاصله واحدهای مختلف سازمان در توسعه، تست، ایجاد، تحویل و سایر عملیات روی پروژه های سازمان است. بخش CI مخفف Continuous Integration است و هدف آن ادغام دايمی کدها با ریپازیتوری اصلی است که در نهایت تصدیق آن با مشارکت واحد توسعه و تست انجام می شود. شکل قدیمی توسعه نرم افزار به این صورت است که کد نوشته شده توسط توسعه دهنده هفته ها طول مي كشد تا توسط تیم تست تایید شود.
آموزش لینوکس - مهندسی نرم افزار با Git & Jenkins
امروزه با توجه به محیط رقابتی نرم افزارها، نیاز است، تولید، اعمال تغییرات و انتشار نسخ متعدد با بالاترین کیفیت و قابلیت اطمینان در کمترین زمان ممکن انجام شود. یکی از راهکارهای DevOps در این خصوص پیاده سازی محیطی یکپارچه جهت اجرای اصول CI/CD است. Jenkins از جمله ابزارهای قدرتمندی است که می توان جهت خودکارسازی، بهینه سازی و مدیریت چرخه توسعه نرم افزار از آن استفاده کرد.
از سوی دیگر مدیریت نسخه، مکانیزمی جهت ذخیره تغییرات و مدیریت فایل ها در طول زمان است تا در صورت نیاز بتوان در هر زمان به نسخه مشخصی بازگشت. همچنین تعامل بین افراد یک تیم نرم¬افزاری در راستای خودکارسازی فرایندها از دیگر اهداف سیستم های مدیریت نسخه است. از این رو Git به عنوان یکی از محبوب¬ترین و قدرتمندترین سیستم های مدیریت نسخه توزیع شده و همچنین از جمله ابزارهای لازم به خصوص برای برنامه¬نویسان است.
آموزش لینوکس - آشنایی با Openshift
میدانیم که در محیط عملیاتی به ابزاری به عنوانOrchestrator نیاز داریم که مشهورترین راهکار Kubernetes نام دارد. اما راهکارهای دیگری نیز به وجود آمده اند که بر بستر Kubernetes کار می کنند اما قابلیت ها و ویژگی های متفاوتی به آن اضافه کرده اند. بسیاری از این راهکارها در بستر Cloud پیاده سازی شده اند مانند EKS بر بستر AWS و یا GKE بر بستر Google Cloud Platform. اما شرکت Redhat نیز راهکاری را ارایه نموده است به نام OpenShift. نسخه Enterprise آن Redhat Openshift نام دارد که هم به صورت On-Premise و هم روی Private/Public Cloud پیاده سازی می شود. نسخه Community آن در ابتدا OpenShift Origin نام داشت اما اخیرا به نام OKD منتشر می شود.
برخی از قابلیت ها در Kubernetes به شکل دیگری در Openshift ارایه می شوند مثلا در Kubernetes از Helm Charts برای نصب پکیج استفاده می شود و یا از Ingress در تنظیمات شبکه برای ارابه سرویس استفاده می شود که نوعی reverse proxy بر اساس nginx است اما در Openshift از Templateهای به عنوان پکیج استفاده می شود و یا برای شبکه سرویس ها از Route استفاده می شود که بر اساس F5-Big IP ساخته شده است.
استفاده از مطلب، با ذکر منبع بلامانع است.