اردیبهشت ۱۲ ۱۳۹۷

نسخه نهایی لینوکس فدورا ۲۸ منتشر شد

fedora28

 

فدورا ۲۸ اینجاست! سرانجام پس از انتشار نسخه ی بتا از فدورا ۲۸ اکنون به اطلاع می رساند که نسخه نهایی توزیع Fedora 28 منتشر شد و هم اکنون در دسترس و قابل استفاده می باشد.فدورا توزیعی از سیستم عامل قدرتمند گنو/لینوکس می باشد که همواره سعی می کند آخرین فناوری های نرم افزارهای آزاد را به ارمغان بیاورد.

فدورا ۲۸ در این نسخه شاهد تغییراتی می باشد که برخی از آنها به شرح زیر می باشند :

 

  • پشتیانی از نسخه ی ۶۴ بیتی برای معماری ARM
  • استفاده از میزکار Gnome 3.28 در نسخه ی Workstation
  • استفاده از VirtualBox guest additions به صورت پیش فرض
  • استفاده از Kebernetes 1.9 در Fedora 28 Atomic Host برای orchestrating container-native
  • استفاده از نسخه ی glibc 2.27
  • استفاده از آخرین نسخه ی  GNU Compiler Collection (GCC) 8
  • بروزرسانی چندین زبان برنامه نویسی از جمله Golang 1.10 و Ruby 2.5
  • رفع باگ و بروزرسانی چندین بسته ی نرم افزاری

 

 

فدورا ۲۸ دارای طیف وسیعی از نسخه ها می باشد که با میزکارهای مختلف و همچنین برای معماری های گوناگون منتشر می شود.اکنون با توجه به معماری سیستم و سلیقه ی خود می توانید نسخه ی مانسب را دانلود کنید.

 

 

دانلود نسخه نهایی فدورا ۲۸ :

 

برای دانلود نسخه ی workstation که برای کاربران خانگی می باشد و به صورت پیش فرض با میزکار Gnome می باشد می توانید از لینک پایین استفاده کنید :

 

https://getfedora.org/workstation/

 

برای دانلود فدورا ۲۸ با میزکارهای مختلف مانند KDE,XFCE,LXDE و سایر میزکارها که مناسب کاربران خانگی می باشند می توانید نسخه ی مورد نظر خود را از لینک پایین دانلود کنید :

 

 

https://spins.fedoraproject.org/

جهت دانلود نسخه ی Atomic Host می توانید از لینک پایین استفاده کنید :

 

https://getfedora.org/atomic/

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

 

 

https://getfedora.org/server/

جهت دانلود فدورا ۲۸ برای کارهای آزمایشگاهی و خاص می توانید از نسخه ی Fedora Labs استفاده کنید :

 

https://labs.fedoraproject.org/

برای اجرای فدورا در محیط های ابری مانند EC2 Amazon یا OpenStack  و یا سایر محیط های ابری می توانید از Fedora Cloud Base استفاده کنید :

 

https://cloud.fedoraproject.org/

برای دانلود فدورا ۲۸ برای دستگاه هایی با معماری ARM مانند Raspberry Pi 2 و Raspberry Pi 3 می توانید از لینک پایین استفاده کنید :

 

https://arm.fedoraproject.org/

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

 

https://torrent.fedoraproject.org/

 

 

 


اردیبهشت ۱۱ ۱۳۹۷

راه اندازی مجدد Gnome Shell از یک نشست دیگر

ممکنه براتون پیش بیاد که گنوم شل حالا به هر دلیلی هنگ کنه و هیچ راهی نداشته باشید که اون رو مجدد restart کنید. حتی کلید Alt + F2

برای اینکار میتونید با رفتن به یک TTY دیگه، مثلا با Ctrl + Alt + F3 و لاگین کردن به حساب کاربریتون و اجرای دستور زیر در توزیع های آرچی گنوم شل رو restart کنید:

pkill -HUP gnome-shell

و بعد به TTY قبلی که بصورت پیش فرض احتمالا F2 باشه برگردید: Ctrl + Alt + F2


اردیبهشت ۱۱ ۱۳۹۷

راه اندازی مجدد Gnome Shell از یک نشست دیگر

ممکنه براتون پیش بیاد که گنوم شل حالا به هر دلیلی هنگ کنه و هیچ راهی نداشته باشید که اون رو مجدد restart کنید. حتی کلید Alt + F2

برای اینکار میتونید با رفتن به یک TTY دیگه، مثلا با Ctrl + Alt + F3 و لاگین کردن به حساب کاربریتون و اجرای دستور زیر در توزیع های آرچی گنوم شل رو restart کنید:

pkill -HUP gnome-shell

و بعد به TTY قبلی که بصورت پیش فرض احتمالا F2 باشه برگردید: Ctrl + Alt + F2


اردیبهشت ۱۱ ۱۳۹۷

پشتیبان گیری از تلگرام با پورت باکس portbox

«پورت باکس portbox» آغاز به کار کرد.

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

  • امن و قابل رمزنگاری با الگوریتم قدرتمند AES-256
  • با رعایت کامل شاخص‌ها و ملاحظات حریم خصوصی
  • قابل بازیابی و مرور همیشگی بدون اتصال به اینترنت
  • سریع و آسان، مبتنی بر کلاینت اصلی تلگرام

پشتیبان گیری نامحدود از گفتگوهای شخصی و مخاطبین: رایگان

پشتیبان گیری نامحدود از هر تعداد گروه: ۱۰ هزار تومان

پشتیبان گیری نامحدود از هر تعداد کانال: ۳۰ هزار تومان

 

 

دانلود مستقیم و پرسرعت پورت باکس https://portbox.ir
دانلود از کانال پورت باکس https://t.me/portbox
دانلود از کافه بازار https://cafebazaar.ir/app/ir.portbox

اردیبهشت ۱۱ ۱۳۹۷

نحوه ساخت Symbolic Link (symlink) در سیستم عامل ویندوز

برای اینکه بتونید یک symlink در سیستم عامل ویندوز داشته باشید، لازم هست که ابتدا Command Prompt رو با دسترسی administrator اجرا کنید:

بعد از اجرای شدن Command Prompt می‌تونید با استفاده از دستور زیر symlink رو ایجاد کنید:
> mklink /D Link Target

که در این دستور سوییچ D/ به این موضوع اشاره میکنه که symlink ما برای یک پوشه ساخته میشه، Link نام symlink و Target مسیر پوشه اصلی رو مشخص می‌کنه.

اردیبهشت ۱۰ ۱۳۹۷

بک آپ گیری از تلگرام

‏با توجه به فیلتر شدن تلگرام، تا ساعاتی دیگر اپلیکیشن موبایلی بک‌آپ‌گیری ⁧ #امن ⁩ و رمزنگاری شده از تلگرام را در اختیار کاربران عزیز بیان قرار خواهیم داد.

پشتیبان‌گیری از مخاطبین، چت‌ها، گروه‌ها، کانال‌ها و موارد ذخیره شده شخصی …


اردیبهشت ۸ ۱۳۹۷

مرکز خرید ویندوز، دنیای لینوکس


اردیبهشت ۸ ۱۳۹۷

مرکز خرید ویندوز، دنیای لینوکس


اردیبهشت ۵ ۱۳۹۷

زیر پوست داکر چه خبر است

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

در این پست قرار است که به زیرساخت‌هایی که داکر مبتنی بر آن ساخته شده است اشاره شود. هدف نهایی نشان‌دادن این موضوع است که داکر امکانات خود را به چه صورت ارائه می‌کند.

مقدمه

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

کرنل لینوکس

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

  • فضای نام(namespace)ها در لینوکس: فضا‌های نام این امکان را بوجود می‌آورند که بتوانند بخشی از منابع سیستم را بصورت ایزوله به پروسه‌هایی که درون آنها قرار دارند ارائه دهند. این منابع تنها توسط پروسه‌های درون آن قابل روئیت است. فضاهای نامی در داکر مورد استفاده قرار گرفته‌اند عبارتند از
    • فضای‌نام PID: که باعث می‌شود پروسه تنها پروسه‌های درون خود را ببینند
    • فضای‌نام NET: که باعث می‌شود بتوان کارت‌شبکه، پشته شبکه و سایر موارد را بصورت ایزوله ارائه کرد.
    • فضای‌نام IPC: که روندهای ارتباطی بین پروسه‌های مختلف را ایزوله می‌کند.
    • فضای‌نام MNT: که نحوه اتصال(mount) واسط‌های ذخیره سازی را ایزوله می‌کند.
    • فضای‌نام UTS: که نام کامپیوتر(hostname) و دامنه(NIS) را ایزوله می‌کند.
  • گروه‌های کنترلی یا cgroups: کرنل لینوکس این امکان را فراهم می‌اورد که پروسه‌ها در یک ساختار سلسله مراتبی قرار گفته و دسترسی آن به منابع سیستم محدود شود و مورد پایش قرار گیرد. این باعث می‌شود بتوان به عنوان مثال میزان استفاده از سی پی یو یا رم را کنترل کرد.

فایل سیستم

تکنولوژی دیگری که در داکر مورد استفاده قرار گرفته است، استفاده از یک سیستم فایل خاص به ویژگی copy on write است. سیستم فایلهای با این ویژگی را می‌توان بصورت لایه لایه ذخیره کرد و هنگام انتقال در صورت وجود داشتن نسخه قبلی تنها تفاوت‌ها را ارسال نمود. همچنین این امکان به ما این اجازه را میدهد که بتوانیم تغییرات را نسخه متفاوت همانند یک سیستم مدیریت نسخه پیگیری نماییم. سیستم فایلی که داکر از آن استفاده union file system است که ویژگی‌های زیر را دارد:
– بصورت لایه‌ایست
– هر لایه بایستی commit شود
– هر لایه بصورت فقط خواندنی ذخیره می‌شود.
– تنها فایلهای تغییر یافته در آن لایه ذخیره می‌شوند.

اجرا یک کانتینر

برای اجرای کانتیر و مشخص کردن تمام مشخصات آن بایستی این مشخصات را به فرمتی توصیف کرد. در داکر این فرمت container format نام داشته و داکر سعی در استاندارد کردن آن را دارد.

نوشته زیر پوست داکر چه خبر است اولین بار در تجربه های پراکنده پدیدار شد.


فروردین ۳۱ ۱۳۹۷

آموزش Upgrade کردن دیتابیس Couchbase Server

Couchbase_logo

در مطالب قبلی نحوه نصب دیتابیس Couchbase server و همچنین نحوه ی کلاستر کردن دیتابیس Couchbase server آموزش داده شد.در این مطلب قصد داریم تا نسخه ی Couchbase Server خود را Upgrade کنیم.

برای Upgrade کردن دیتابیس Couchbase Server کافیست تا مراحل زیر را انجام داد.

۱- ابتدا نسخه جدید Couchbase Server را از سایت رسمی آن دانلود کنید.ما در این مطلب فرض می کنیم که در حال حاضر نسخه ی Couchbase Server 4.1 بر روی سرور نصب می باشد و قصد داریم تا آن را به نسخه ی Couchbase Server 4.6 آپگرید کنیم.

بسته ی دانلود شده با نام couchbase-server-enterprise-4.6.1-centos7.x86_64.rpm می باشد.

۲- اکنون application خود را باید Shut down کنید تا هیچ درخواستی را به Couchbase Server ارسال نکند.

۳- اکنون باید  از دیتابیس های خود backup تهیه کنیم.برای اینکار کافیست تا «آموزش Backup و Restore دیتابیس Couchbase server» را مطالعه کنید.

۴- پس backup گرفتن از دیتابیس ها اکنون نوبت به backup گرفتن از فایل های پیکربندی Couchbase Server می باشد :

 

#cp /opt/couchbase/var/lib/couchbase/config /data/backup

۵- اکنون سرویس Cochbase Server را باید Stop کنید.

نکته اینکه اگر Couchbase Server شما کلاستر است باید کارهای گفته شده را روی همه Node ها انجام دهید.

 

#systemctl stop couchbase-server.service

 

اکنون برای upgrade کردن Couchbase Server کافیست تا دستور پایین را اجرا کنید :

 

 

#yum update couchbase-server-enterprise-4.6.1-centos7.x86_64.rpm

 

 

اگر Cochbase Server شما در حالت Cluster است اینکار را به ترتیب از Node 1  تا آخرین Node انجام دهید.پس از اجرای دستور بالا سرویس Couchbase به صورت خودکار Start خواهد شد.

اکنون پس از انجام کارهای گفته شده سرویس دیتابیس Couchbase Server شما آپگرید شده است.

امید است تا از این مطلب استفاده لازم را برده باشید.

 

 


فروردین ۲۹ ۱۳۹۷

استریم صوت بر روی شبکه

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

راه حل اول: پشتیبانی TCP

ابتدا در فایل default.pa مربوط به تنظیمات Pulseaudio بر روی سرور و کلاینت در مسیر /etc/pulse/ نسبت به فعالسازی ماژول TCP‌اقدام نمایید. برای این کار کافی است خط زیر را به قایل اضافه و یا در صورت موجود بودن با حذف # از ابتدای خط آن را از حالت توضیحات در بیاورید.

load-module module-native-protocol-tcp

برای کارکردن باید اطمینان حاصل کنید که هر دو سیستم سرور و کلاینت از یک کوکی مشترک که در مسیر ~/.config/pulse/cookie قرار دارد استفاده می کند. اینکه کوکی مربوط به سرور یا کلاینت باشد تفاوتی نمی کند مهم استفاده اشتراکی از یک کوکی می باشد.

راه حل دوم :پشتیبانی TCP با دسترسی کلاینت های ناشناس

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

load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24 auth-anonymous=1

زیر شبکه (Sub Net) را مطابق نیز کلاینت هایی که می خواهید به سرور دسترسی داشته باشند را تغییر دهید.

راه حل سوم :

انتشار در بستر Zeroconf

برای اینکه سرور در بخش انتخاب خروجی تنظیمات Pulseaudio کلاینت ها نمایش داده شود لازم است که ماژول Zeroconf را بارگذاری کنید و سرویس Avahi را فعال و اجرا کنید. برای این کار بر روی هر دو سیستم بسته نرم افزاری pulseaudio-zeroconf رانصب کنید و نسبت به فعال سازی و اجرای سرویس  avahi-daemon اقدام کنید.
بر روی سیستم سرور خط  load-module module-zeroconf-publish و بر روی سیستم کلاینت خط load-module module-zeroconf-discover را برای بارگذاری ماژول به default.pa اضافه نمایید.
حال با انتخاب نوع خروجی در بخش تنظیم خروجی تنظیمات Pulseaudio تمامی صوت را به اسپیکر متصل به سرور هدایت کنید.


فروردین ۲۸ ۱۳۹۷

آموزش خط فرمان: قسمت هفتم، هدایت و تغییر مسیر

نوشته شده توسط فرشید نوتاش حقیقت.

در این آموزش یکی از بهترین ویژگی‌های خط فرمان یعنی هدایت و تغییر مسیر I/O را خواهیم آموخت.

I/O Redirection مخفف عبارت Input Output Redirection به معنی هدایت ورودی خروجی می‌باشد و با استفاده از خواهید شد این امکان، می‌توان ورودی و خروجی فرمان‌های لینوکس را به فایل‌ها و از فایل‌ها هدایت نمود و همچنین چندین فرمان قدرتمند ترکیبی ایجاد کرد. به منظور فراگیری این قابلیت در این بخش با فرمان‌های cat، sort، uniq، wc، grep، head و tail آشنا خواهید شد.

خروجی و ورودی استاندارد و خطا

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

اگر این ایده که در لینوکس همه چیز فایل است را به یاد بیاوریم می‌بینیم که برنامه‌هایی مثل ls نتایج خود را به درون یک فایل خاص با نام Standard Output (خروجی استاندارد) می‌فرستد و همچنین پیام‌های خطا را به درون یک فایل خاص تحت عنوان Standard Error (خطای استاندارد) می‌فرستند. به صورت پیش‌فرض هر دوی این فایل‌ها به جای ذخیره‌سازی بر روی دیسک به صفحه نمایش لینک می‌شوند.

به‌علاوه بسیاری از برنامه‌ها، ورودی خود را از تسهیلاتی به نام Standard Input (ورودی استاندارد) می‌گیرند. I/O Redirection ما را قادر می‌سازد تا مسیری که خروجی به آن می‌رود و یا مسیری که ورودی از آن می‌آید را تغییر دهیم. به‌صورت عادی خروجی به صفحه‌نمایش هدایت می‌شود و ورودی از صفحه‌کلید می‌آید ولی با استفاده از I/O Redirection می‌توان این حالت پیش‌فرض را تغییر داد.

تغییر مسیر (Redirection) خروجی استاندارد

I/O Redirection به ما اجازه می‌دهد تا مسیری که خروجی می‌رود را دوباره تعریف کنیم. به‌منظور تغییر جهت و هدایت خروجی استاندارد به یک فایل دیگر به جای هدایت به صفحه‌نمایش ما از عملگر هدایت یعنی < استفاده شده و در ادامه آن نام فایل را ذکر می‌کنیم. برای مثال ما می‌توانیم به خط فرمان بگوییم که خروجی فرمان ls را به جای آن که آن را در صفحه نمایش نشان دهد به فایل ls-output.txt بفرستد.

در اینجا ما یک لیست بلند از دایرکتوری /usr/bin ایجاد نموده و نتایج را به فایل ls-output.txt فرستادیم. در ادامه خروجی فرمان را آزمایش می‌کنیم:

اگر محتوای فایل را با فرمان less بررسی کنیم، خواهیم دید که فایل ls-output.txt در واقع حاوی نتایجی از فرمان ls می‌باشد.

در ادامه آزمون هدایت را این بار با کمی پیچیدگی انجام می‌دهیم. نام دایرکتوری را به چیزی که وجود ندارد تغییر می‌دهیم:

یک پیام خطا دریافت نمودیم. این امری کاملاً طبیعی است چرا که دایرکتوری را که وجود ندارد را به آن تخصیص داده‌ایم. ولی چرا پیام خطا به جای اینکه در فایل ls-output.txt ذخیره گردد بر روی صفحه نمایش نشان داده شد؟ پاسخ این است که برنامه ls پیام‌های خطا را به یک خروجی استاندارد ارسال نمی‌کند و از آن جایی که فقط خروجی استاندارد Standard Output را هدایت کردیم نه Standard Error. در نتیجه هنوز پیام‌های خطا در صفحه‌نمایش نشان داده می‌شوند. در آموزش‌های بعدی نحوه هدایت فایل Standard Error را نمایش خواهیم داد ولی قبل از مجدداً نگاهی دوباره به فایل خروجی خود خواهیم انداخت. با فرمان زیر اطلاعات کامل فایل، نمایش داده خواهد شد.

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

به‌سادگی با به‌کار بردن عملگر هدایت بدون هیچ فرمانی نتایج فایل را حذف می‌کنیم و یک فایل جدید خالی ایجاد می‌کنیم. برای آنکه نتایج حذف نشوند بایستی از عملگر >> برای (Redirection)  استفاده کنیم. به مثال زیر توجه کنید:

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

تغییر مسیر (Redirection) خطای استاندارد

هدایت و تغییر مسیر خطاهای استاندارد فاقد یک عملگر اختصاصی هدایت می‌باشد. به‌منظور هدایت خطاهای استاندارد بایستی به توصیفگر فایل (file descriptor) مراجعه کرد. یک برنامه می‌تواند خروجی را بر روی هر جریان شماره‌گذاری شده فایل، ایجاد کند.

زمانی که ما به سه مورد اول این جریان‌های فایل به عنوان ورودی، خروجی و خطای استاندارد نگاه کنید. شل (Shell) آن‌ها را با توصیفگرهای فایل ۰، ۱ و ۲ اشاره می‌کند. شل علامت‌گذاری برای هدایت فایل‌ها با استفاده از شماره توصیفگر فراهم می‌کند. خوب از آن‌جایی که خطای استاندارد همان فایل توصیفگر شماره ۲ است، می‌توان خطای استاندارد را با این علامت انجام داد:

شماره توصیفگر بلافاصله پیش از عملگر هدایت یعنی > قرار می‌گیرد تا عملیات هدایت خطای استاندارد به فایل ls-error.txt صورت پذیرد.

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

در برخی مواقع نیاز می‌شود همه خروجی فرمان‌ها را به داخل یک فایل مجزا بریزیم. برای انجام این کار بایستی هم خطای استاندارد و هم خروجی استاندارد را به صورت همزمان هدایت (Redirect) کرد. به این منظور دو روش وجود دارد. روش اول روش رسمی است که بر روی نسخه‌های قدیمی شل (Shell) هم کار می‌کند:

با استفاده از این متد، به صورت همرمان دو Redirect را انجام دادیم. اول خروجی استاندارد را به داخل فایل ls-output.txt ریختیم و سپس توصیفگر شماره ۲ یعنی همان خطای استاندارد را به توصیفگر شماره ۱ یعنی خروجی استاندارد هدایت کردیم. در این شیوه هدایت خطای استاندارد بایستی همیشه پس از هدایت خروجی استاندارد صورت پذیرد در غیر این صورت کار نخواهد کرد.

نسخه‌های اخیر بش (bash) یک شیوه ساده‌تری برای انجام این ترکیب می‌باشد:

در این مثال ما با استفاده از علامت &> خطای استاندارد و خروجی استاندارد را به‌صورت همزمان به داخل فایل ls-output.txt منتقل کردیم.

جلوگیری از خروجی ناخواسته

بعضی مواقع سکوت واقعاً لذت‌بخش است و ما از خط فرمان خروجی نمی‌خواهیم. فقط می‌خواهیم فرمان را اجرا کرده و از خروجی جلوگیری کنیم. این موضوع به‌پروژه برای پیام‌های خطا و پیام‌های وضعیت کاربرد خوبی دارد. سیستم یک شیوه برای انجام این کار فراهم آورده است. با هدایت خروجی به یک فایل با نام /dev/null این کار انجام می‌گیرد. برای سرکوب پیام‌های خطا از یک فرمان می‌توان این کار را به شیوه زیر انجام داد:

هدایت ورودی استاندارد

تا به اینجا هنوز با فرمانی که از ورودی استاندارد استفاده کند، مواجه نشده‌ایم. به همین منظور برای توضیح هدایت ورودی استاندارد فرمانی را توضیح خواهیم داد.

فرمان cat الحاق فایل‌ها در لینوکس

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

cat [file...]

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

این فرمان محتوای فایل ls-output.txt را نشان می‌دهد. Cat اغلب به منظور نمایش متن‌های کوتاه از فایل‌ها به کار می‌رود. از آنجایی که cat می‌تواند بیش از یک فایل را به‌عنوان آرگومان قبول کند، از آن می‌توان به‌منظور اتصال فایل‌ها به یکدیگر نیز استفاده کرد.

فرض کنید که فیلی عظیم را دانلود کرده‌اید. این فایل به بخش‌های کوچک‌تر تقسیم شده است (فایل‌های تصویری موجود در شبکه یوزنت معمولاً به این شیوه به اشتراک گذاشته می‌شوند) حال می‌خواهیم این بخش‌های کوچک را به هم متصل کنید تا فایل اصلی به حالت اولیه خود برگردد. اگر مثلاً فایل‌ها به این صورت نام‌گذاری شده باشند:

movie.mpeg.001 movie.mpeg.002 ... movie.mpeg.099

می‌توان آن‌ها را با استفاده از فرمان زیر به هم متصل کرد:

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

حال اگر فرمان cat را بدون هیچ آرگومانی وارد کنیم چه اتفاقی خواهد افتاد؟

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

سپس Ctrl+D را فشرده تا به cat بفهمانید که به آخر فایل در یک ورودی استاندارد رسیده‌ایم.

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

از این رفتار می‌توان به منظور ایجاد فایل‌های متنی کوتاه استفاده نمود. مثلاً می‌خواهیم یک فایل با نام lazy_dog.txt که حاوی متن تایپ شده است ایجاد کنیم. بایستی فرمان را به این شیوه تایپ کنیم:

پس از وارد کردن فرمان فوق، متن مورد نظر خود را تایپ می‌کنیم. در آخر با فشردن Ctrl+D فایل به پایان می‌رسد. برای نمایش نتایج وارد شده در فایل خود می‌توانیم باز هم از فرمان cat به منظور نمایش استفاده کنیم:

خوب حال می‌دانیم فرمان cat ورودی‌های استاندارد را قبول می‌کند:

یادآور می‌شویم که برای خروجی استاندارد از عملگر < استفاده می‌کردیم. حال برای ورودی استاندارد از عملگر > استفاده می‌کنیم. با استفاده از این عملگر و فرمان بالا منبع ورودی استاندارد را از صفحه‌کلید به فایل lazy_dog.txt تغییر دادیم. این کار خیلی کاربردی نیست ولی مفهوم را می‌رساند. یعنی این بار از یک فایل به عنوان منبع ورودی استاندارد استفاده می‌کنیم. فرمان‌های دیگر استفاده بهتری از ورودی استاندارد خواهند داشت. به این منظور به صفحات manual مراجعه نمایید.

منبع: کتاب The Linux Command Line نوشته William E. Shotts

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


فروردین ۲۶ ۱۳۹۷

آموزش رایتر: قسمت ششم، کار با واژه‌ها

نوشته شده توسط فرشید نوتاش حقیقت.

در این آموزش قصد داریم به چگونگی کار کردن با واژه‌ها بپردازیم.

درج واژه‌ها

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

جابه‌جایی در متن

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

انتخاب واژه‌ها

قبل از اینکه بخواهیم هر تغییری روی متن انجام دهیم، نیاز است آن را انتخاب کنیم. انتخاب متن در داخل رایتر همانند انتخاب کردن متن در دیگر برنامه‌هاست.

برای انتخاب بلوک‌ها تمام روش‌های جابه‌جایی با کلید Shift انجام می‌شوند. علاوه بر انتخاب کردن بلوک‌هایی از متن، می‌توان آیتم‌هایی که متوالی نیستند و ستون‌ها (بلوک‌های عمودی از متن) را نیز انتخاب نمود.

برای انتخاب کردن آیتم‌هایی که متوالی نیستند اول قسمتی از متن را انتخاب، سپس کلید Ctrl را پایین نگه داشته و از ماوس برای انتخاب قسمت بعدی متن استفاده کنید. برای انتخاب با صفحه‌کلید بعد از انتخاب قسمت اول کلیدهای Shift+F8 را فشرده تا رایتر در حالت “Adding selection” قرار گیرد. سپس با کلیدهای جهت‌نما قسمت بعدی را انتخاب کرده و برای خروج از این حالت دکمه Esc را انتخاب نمایید.

می‌توان یک بلوک عمودی یا «یک ستون» از متن که با فاصله یا تب از هم جدا شده است را انتخاب کرد. برای این کار از مسیر Edit > Selection Mode > Block Area و یا کلیدهای Ctrl+F8 استفاده نمود و یا بر روی آیکون Selection در نوار وضعیت کلیک نمود و Block selection را از لیست انتخاب کرد.

جستجو و جایگزینی کلمات و عبارات

اولین روش برای جستجو استفاده از نوار ابزار Find می‌باشد که می‌توان در مسیر View > Toolbars > Find آن را یافت و یا با کمک کلیدهای Ctrl+F آن را فعال نمود.

روش دوم استفاده از کادر محاوره‌ای Find & Replace بوده که برای نمایش آن می‌توان کلیدهای Ctrl+H را فشرد و یا می‌توان از مسیر Edit > Find & Replace بدان دست یافت.

متنی که می‌خواهید جستجو شود را در کادر Find و متن جدید را در کادر Replace تایپ کنید.

درج خودکار واژه‌ها

نرم‌افزار واژه‌پرداز زمانی که واژه‌ای در آن تایپ می‌شود به‌طور خودکار آن را تغییر می‌دهد، برای مدیریت این تغییرات از مسیر Tools > AutoCorrect Options پنجره AutoCorrect را باز کنید. همانطور که در شکل زیر مشاهده می‌شود.

برای تعریف مورد جدید ابتدا زبان را انتخاب سپس در کادر Replace واژه‌ای که باید تغییر کند و در کادر With واژه‌ای که باید جایگزین شود را وارد و در پایان کلید New را کلیک کنید.

اصلاح املایی و گرامری

برای اینکه ترکیبی از املا و دستور زبان بر روی سند (یا متن انتخاب شده) بررسی شود، بر روی دکمه Spelling and Grammar از Standard Toolbar کلیک کنید یا دکمه F7 را فشار دهید.

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

جملات غلط در پنجره نمایش داده می‌شود. اگر یک کلمه به‌طور رسمی شناخته نشده باشد به‌صورت برجسته نمایش داده می‌شود.

اگر خطا دستوری باشد، تنظیمات لازم از نوار کمرنگ زیر در Text Language نشان داده می‌شود. جمله و یا کلمه را می‌توان در این پنجره ویرایش کرد.

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

برای خطاهای دستور زبانی چند گزینه وجود دارد. گزینه Change را برای پذیرش پیشنهادها انتخاب کنید.

به‌طور پیش‌فرض گزینه Check Grammar as You Type و گزینه Check Spelling as You Type در مسیر Tools > Options > Writing Aids > Language Setting > Options فعال است.

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

منبع: «جزوه آموزشی مهارت کار با نرم‌افزار واژه‌پرداز» نوشته شرکت دانش‌بنیان سافا

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


فروردین ۲۵ ۱۳۹۷

بلاگ‌های برتر سال ۹۶

عید مبعث بر همه کاربران عزیز بیان مبارک!

فهرست وبلاگ‌های برتر سال ۹۶ که مطابق روال گذشته بر مبنای محاسبه خودکار امتیازات معیارهای اعلام شده برگزیده شده‌اند منتشر شد.

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

 

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


فروردین ۲۵ ۱۳۹۷

آموزش اوبونتو: قسمت پنجم، سفارشی‌سازی دسکتاپ

نوشته شده توسط فرشید نوتاش حقیقت.

بسیاری از عملیات سفارشی‌سازی را می‌توانید از شاخص Session در قسمت System Setting بیابید. در این قسمت تنظیمات مربوط به Dash، ظاهر دسکتاپ، تم‌ها، تصاویر پس‌زمینه در دسترس است.

بخش Appearance

این بخش شامل دو زبانه Look و Behavior می‌باشد که به شرح آن‌ها خواهیم پرداخت:

زبانه Look

در زباله Look می‌توان تصویر پس‌زمینه، پنجره تم و سایز آیکون‌های لانچر تغییر دهید.

برای دستیابی به Appearance بر روی تصویر پس‌زمینه کلیک راست کرده و گزینه Change Desktop Background را انتخاب کنید و یا از طریق شاخص Session گزینه System Setting را انتخاب کنید و سپس بر روی آیکون Appearance کلیک نمایید. بخش Theme در پنجره Appearance تصویر پس‌زمینه انتخابی شما و تم‌ها را نمایش می‌دهد. به‌طور پیش‌فرض تم Ambiance استفاده می‌شود، اما تم‌های دیگری نیز وجود دارد که می‌توانید آن‌ها را انتخاب کنید.

زبانه Behavior

در زبانه behavior چندین گزینه برای تغییر رفتار دسکتاپ وجود دارد. اگر گزینه Auto-hide the Launcher را فعال نمایید، زمانی که ماوس را در منطقه لانچر قرار دهید، لانچر نمایان خواهد شد و با خارج کردن ماوس منطقه مربوطه، لانچر پنهان می‌شود.

در گزینه Enable Workspaces به‌طور پیش‌فرض فضاهای کاری فعال نیستند. با فعال کردن این گزینه می‌توانید فضاهای کاری را فعال کنید.

گزینه Add show desktop icon to the launcher آیکون دسکتاپ را در Launcher فعال می‌کند. گزینه Show the menus for a window کمک می‌کند تا بسته به انتخاب شما منوها در menu bar نمایش داده شوند یا در title bar پنجره‌ها.

منبع: کتاب Getting Started with Ubuntu 16.04 نوشته The Ubuntu Manual Team

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


فروردین ۲۲ ۱۳۹۷

آموزش اوبونتو: قسمت چهارم، فایل‌ها و دایرکتوری‌ها

نوشته شده توسط فرشید نوتاش حقیقت.

دو روش برای یافتن فایل‌ها بر روی کامپیوتر شما وجود دارد؛ آن‌ها را جستجو کنید و یا به‌طور مستقیم از دایرکتوری آن‌ها دسترسی پیدا کنید.

می‌توانید یک فایل را با استفاده از Dash یا مدیر فایل جستجو کنید. همچنین می‌توانید از مدیر فایل یا Dash برای دسترسی به دایرکتوری‌های معمول استفاده شده (مانند Document، Music، Downloads) و همچنین از فایل‌های اخیراً استفاده شده، استفاده کنید.

دایرکتوری home برای ذخیره‌سازی تمام فایل‌های شخصی (به جای فایل‌های سیستم مانند برنامه‌های کاربردی) استفاده می‌شود.

به‌طور پیش‌فرض، محتویات دایرکتوری home شما قابل دسترسی است و سایر کاربران کامپیوتر شما می‌توانند آن را بخوانند. نام دایرکتوری home شما با نام کاربریتان منطبق می‌باشد.

هنگام باز کردن دایرکتوری شخصی مجموعه‌ای از چندین دایرکتوری را مشاهده خواهید کرد، از جمله Desktop (حاوی فایلی که بر روی دسکتاپ قابل مشاهده است) Documents، Download، Music، Pictures، Public، Templates و Videos. این دایرکتوری‌ها به‌طور خودکار در طول فرآیند نصب ایجاد می‌شوند. شما می‌توانید فایل‌ها و دایرکتوری‌های بیشتری را در صورت نیاز اضافه کنید.

اوبونتو همانند سیستم‌عامل‌های ویندوز و مک برای فایل‌ها و دایرکتوری‌هایش دارای فایل منیجر (File Manager) است که به‌وسیله آن فایل‌ها را مدیریت می‌کند.

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

پنجره پیشفرض شامل ویژگی‌های زیر است:

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

Title bar (نوار عنوان) نمایانگر نام دایرکتوری است که در حال حاضر انتخاب شده است. همچنین دارای دکمه بستن، کوچک کردن و حداکثرسازی است.

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

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

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

Left Pane (ستون سمت چپ) این بخش شامل کلیدهای میانبری برای دایرکتوری‌های مورد استفاده است.

شما می‌توانید از منوبار بخش Bookmark و گزینه Bookmark this Location یک دایرکتوری را اصطلاحاً Bookmark کنید.

Right Pane (ستون سمت راست) این بخش نسبت به ستون سمت چپ عریض‌تر می‌باشد. فایل‌ها و دایرکتوری‌ها مسیری که در آن قرار دارید را نمایش می‌دهد.

باز کردن فایل‌ها

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

ایجاد دایرکتوری جدید

برای ایجاد دایرکتوری جدید به کمک فایل منیجر کافی است در یک فضای خالی در Right Pane کلیک راست کرده و گزینه New Folder را برگزینید. این عملکرد بر روی صفحه دسکتاپ نیز قابل اجرا است. دایرکتوری جدید با نام Untitled Folder ایجاد می‌شود. همچنین می‌توانید با کمک کلیدهای ترکیبی Ctrl + Shift + N دایرکتوری جدید ایجاد کنید.

پنهان (hidden) کردن فایل‌ها و دایرکتوری‌ها

اگر می‌خواهید فایل‌ها و دایرکتوری‌های شخصی را پنهان کنید. کافی است نقطه‌ای را در ابتدای نام آن قرار دهید. (به عنوان مثال .Personal) به راحتی می‌توان فایل‌های پنهان را به کمک منوی View و گزینه Show Hidden و یا با استفاده از کلیدهای ترکیبی Ctrl + H مشاهده کنید. پنهان کردن فایل‌ها با نقطه یک تدبیر امنیتی نیست و صرفاً راهی برای سازماندهی فایل‌ها است.

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

اعمال Copy، Cut و Paste می‌توانید به کمک فایل منیجر با کلیک راست بر روی آیتم مربوطه و انتخاب گزینه مورد نظر انجام دهید. همچنین می‌توانید با کمک کلیدهای ترکیبی Ctrl + X، Ctrl + C و Ctrl + V به ترتیب برای Cut، Copy و Paste فایل‌ها و دایرکتوری‌ها استفاده کنید.

جستجو به کمک Dash

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

جستجو به کمک File Manager

در فایل منیجر بر روی دکمه بزرگنمایی کلیک کرده یا کلیدهای ترکیبی Ctrl + T را بفشارید. در این قسمت فیلد جستجو باز شده و نام فایل یا پوشه‌ای را که می‌خواهید پیدا کنید، تایپ نمایید.

منبع: کتاب Getting Started with Ubuntu 16.04 نوشته The Ubuntu Manual Team

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


فروردین ۲۲ ۱۳۹۷

آموزش رایتر: قسمت پنجم، مدیریت اسناد

نوشته شده توسط فرشید نوتاش حقیقت.

جهت شروع باید یک صفحه جدید باز کنید. بدین منظور از منوی File > New > Document کمک می‌گیریم یا با کلیدهای میان‌بر Ctrl + N صفحه جدیدی باز کنید.

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

اگر سندی را تایپ و آن را روی دیسک جانبی ذخیره کرده باشیم، جهت فراخوانی از گزینه Open استفاده می‌شود. قالب‌هایی را که می‌توان در رایتر باز نمود عبارتند از: TXT، DOC، DOCX، ODT.

آخرین سندهایی که باز شده‌اند را می‌توان از گزینه Recent Documents مجدداً فراخوانی کرد.

ذخیره کردن یک سند

برای ذخیره کردن از گزینه Save یا از کلیدهای میان‌بر Ctrl+S استفاده می‌شود. (توجه: هر گاه گزینه‌ای به رنگ خاکستری بود آن گزینه غیرفعال است.) در مورد گزینه Save، هر گاه غیرفعال بود، یا سند ذخیره شده است یا چیزی برای ذخیره کردن وجود ندارد.

گزینه Save as برای ذخیره کردن یک نسخه از سند جاری به نام دیگر و ادامه کار با سند جدید است.

گزینه Save a Copy برای ذخیره کپی از سند جاری به نام دیگر و ادامه کار با سند جاری است.

ذخیره کردن یک سند به صورت خودکار

رایتر می‌تواند یک سند را به‌صورت خودکار در یک فایل موقت در فواصل زمانی موقت ذخیره کند. ذخیره کردن به صورت خودکار، مانند ذخیره کردن به صورت دستی است، بازنویسی آخرین وضعیت از فایل مورد نظر در فایل‌های موقت ذخیره می‌شود. برای فعال‌سازی این قابلیت ابتدا باید وارد مسیر Tools > Options > Load/Save > General شده سپس بر روی Save AutoRecovery information every کلیک نمایید. و در فواصل زمانی آن را تنظیم کنید. مقدار پیش‌فرض ۱۵ دقیقه است. مقداری دلخواه را وارد کنید.

بستن یک سند

اگر تنها یک سند باز باشد و بخواهیم آن سند را ببندیم، می‌بایست به مسیر File > Close رفته و یا بر روی ضربدر در نوار عنوان کلیک کرد. علامت ضربدر ممکن است در سمت راست و یا سمت چپ نوار عنوان قرار گرفته باشد.

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

لغو و بازبینی تغییرات

هنگامی که یک سند باز است، می‌توان آخرین تغییر را با کلیدهای Ctrl+Z یا کلیک کردن بر روی دکمه undo واقع در نوار ابزار استاندارد و یا انتخاب مسیر Edit > Undo از نوار منو به عقب برگرداند. (همانطور که در تصویر مشخص است.) پس از به‌کارگیری دکمه undo دکمه redo فعال می‌شود. این دکمه نیز در نوار استاندارد و در مسیر Edit > Redo در دسترس است؛ همچنین می‌توان برای انجام عمل redo از ترکیب کلیدهای Ctrl+Y استفاده نمود.

منبع: «جزوه آموزشی مهارت کار با نرم‌افزار واژه‌پرداز» نوشته شرکت دانش‌بنیان سافا

نوشته آموزش رایتر: قسمت پنجم، مدیریت اسناد اولین بار در لینوکس سیزن پدیدار شد.


فروردین ۲۱ ۱۳۹۷

آموزش خط فرمان: قسمت ششم، کار کردن با فرمان‌ها

نوشته شده توسط فرشید نوتاش حقیقت.

این آموزش فرمان‌های type، which، man، apropos، info، whatis و alias را شامل می‌شود.

یک فرمان می‌تواند چهار چیز باشد:

  • یک برنامه اجرایی مانند فایل‌های موجود در /usr/bin که در این دسته می‌توان به برنامه‌هایی که قابلیت کامپایل دارند از قبیل برنامه‌های نوشته شده در C و C++ یا برنامه‌های نوشته شده در زبان‌های اسکریپت‌نویسی شامل Shell، Perl، Python، Ruby و نظایر آن اشاره داشت.
  • فرمان تولید شده توسط خود پوسته (Shell). Bash از تعدادی از فرمان‌ها پشتیبانی می‌کند که فرمان‌های درون‌ساخت پوسته (shell builtins) نامیده می‌شوند. به‌عنوان مثال فرمان cd یک فرمان shell builtins نامیده می‌شود.
  • یک تابع پوسته (shell function). توابع پوسته شامل اسکریپت‌های پوسته بوده که در محیط قرار گرفته‌اند. پیکربندی محیط و نوشتن توابع پوسته در آموزش‌های بعدی تحت پوشش قرار خواهند گرفت.
  • یک نام مستعار (alias). alias فرمانی است که خودمان به کمک دیگر فرمان‌ها می‌توانیم تعریف کنیم.

شناسایی فرمان‌ها

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

روش اول، فرمان type که نوع فرمان را نمایش می‌دهد.

فرمان type یک فرمان shell builtin بوده که نوع فرمان را با توجه به نام فرمان نشان می‌دهد که به شکل زیر به کار گرفته می‌شود:

type command

که به جای command می‌بایست نام فرمانی را که می‌خواهید بررسی شود قرار دهید. در ادامه چندین مثال از فرمان type آورده شده است:

روش دوم، فرمان which که محل اجرای فرمان را مشخص می‌کند.

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

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

پیغام فوق به‌طور فانتزی می‌گوید: «فرمان پیدا نشد! (command not found)»

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

بش (bash) دارای یک مرکز درونی کمک برای فرمان‌های shell builtin می‌باشد. برای استفاده از آن help را به همراه نام فرمان مورد نظر تایپ نموده و اجرا نمایید. برای مثال:

آیتم‌هایی که درون براکت هستند، آیتم‌هایی اختیاری هستند. علامت | (خط عمودی) نیز نشان‌دهنده آیتم‌های اختصاصی و انحصاری است.

فرمان –help نمایش اطلاعات مفید فرمان

بسیاری از برنامه‌های اجرایی از فرمان –help  پشتیبانی می‌کنند که توضیح نحو (syntax) و گزینه‌های (options) پشتیبانی شده یک فرمان را نشان می‌دهد. به‌عنوان مثال:

نمایش صفحه راهنمای برنامه‌های لینوکس به کمک فرمان man

اکثر برنامه‌های اجرایی که برای استفاده از خط فرمان در نظر گرفته شده مستندات رسمی به نام man page ارائه می‌دهند. شکل اجرای این فرمان به‌صورت زیر است:

man program

کافی است به جای program فرمان مورد نظر را برای مشاهده تایپ نمایید.

Man pageها تا حدودی در فرمت متفاوت هستند، اما به‌طور معمول شامل یک عنوان، خلاصه‌ای از نحو (syntax) فرمان، شرحی از هدف فرمان و فهرست یا توضیحاتی از گزینه‌های فرمان می‌باشند.

با این حال man pageها معمولاً مثالی را شامل نمی‌شوند و به عنوان یک مرجع، نه یک آموزش در نظر گرفته می‌شوند.

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

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

man section search_term

که در اینجا search_term همان مورد جستجوی ماست. به عنوان مثال:

با اجرای صفحه راهنمایی را خواهیم دید که فرمت فایل /etc/passwd را شرح می‌دهد.

نمایش فرمان‌های مناسب با کمک فرمان apropos

گاهی اوقات نیاز داریم که لیست صفحات manual را برای یک مورد خاص جستجو نماییم. در ادامه مثالی از جستجوی صفحات راهنما را برای floppy آورده شده است:

فیلد اول در هر خط خروجی نام صفحه راهنماست و فیلد دوم نشان‌دهنده بخش مورد نظر می‌باشد. به یاد داشته باشید که گزینه –k با فرمان man دقیقاً مانند عملکرد apropos عمل خواهد کرد.

نمایش توصیفی مختصر از یک فرمان با کمک فرمان whatis

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

نمایش اطلاعات ورودی یک برنامه با کمک فرمان info

پروژه GNU یک جایگزین برای صفحات man با نام info page ارائه نموده است. صفحات اطلاعات در برنامه‌ای با نام info نمایش داده می‌شود. صفحات info مانند صفحات وب دارای لینک‌هایی هستند.

برنامه info فایل‌های صفحات info را می‌خواند و در یک ساختار درختی در nodeهای جداگانه نشان می‌دهد. هر نود شامل یک عنوان جداگانه است. فایل‌های info شامل لینک‌هایی هستند که شما را به nodeهای دیگر هدایت می‌کند. لینک‌ها از طریق علامت * (ستاره در اولشان) شناسایی شده و با قرار دادن نشانگر بر روی آن‌ها و فشار دادن کلید Enter اجرا می‌شوند. برای دریافت اطلاعات اطلاعات می‌توانید info را به دنبال نام برنامه تایپ کنید، به عنوان مثال:

جدول زیر فرمان‌هایی که به منظور کنترل صفحه هنگام خواندن صفحات info استفاده می‌شود را نشان می‌دهد:

ایجاد فرمان‌ها به کمک فرمان alias

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

command1; command2; command3..

به عنوان مثال:

همانطور که مشاهده می‌شود سه فرمان را در یک خط قرار داده‌ایم. ابتدا دایرکتوری را به مسیر /usr تغییر داده‌ایم، سپس لیست محتویات دایرکتوری را نمایش داده‌ایم و در نهایت با کمک فرمان cd به دایرکتوری اصلی بازگشتیم.

اولین چیزی که بایستی برای دستور خود تصور کنیم یک نام برای فرمان جدید است. چون این فقط یک آزمایش است نام test را انتخاب می‌نماییم. البته بهتر است تست کنیم که کسی قبلاً از این اسم استفاده نکرده است. با فرمان type می‌توان به این مطلوب رسید:

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

خوشبختانه foo در بین فهرست فرمان‌های لینوکس موجود نیست. در ادامه با کمک فرمان alias فرمان جدید را ایجاد می‌کنیم:

ساختار این فرمان بدین شکل است:

alias name='string'

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

می‌توانیم فرمان foo را با کمک فرمان type بررسی کنیم:

برای حذف آن نیز می‌توان از فرمان unalias کمک گرفت:

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

منبع: کتاب The Linux Command Line نوشته William E. Shotts

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


فروردین ۲۰ ۱۳۹۷

غیرفعال کردن دائمی حافظه‌ی Swap در لینوکس

swap

در مطالب قبلی در مورد حافظه‌ی swap توضیح داده شد و نحوه ی خالی کردن آن نیز شرح داده شد.اکنون در این مطلب قصد داریم تا حافظه‌ی swap را به صورت کامل و برای همیشه غیرفعال کنیم.

برای اینکار ابتدا جهت غیرفعال کردن swap دستور پایین را اجرا کنید :

 

#swapoff -a

 

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

 

#vi /etc/fstab

 

اکنون خطی که مربوط به swap می باشد را پیدا کنید و جلوی آن علامت # قرار دهید تا به حالت comment در آید.برای نمونه تصویر پایین را مشاهده کنید :

 

 

fstab

 

پس از دخیره تغییرات در فایل اکنون کافیست تا یکبار سیستم را reboot کنید یا اینکه از دستور پایین استفاده کنید :

 

#mount -a

اکنون با انجام این مراحل حافظه‌ی swap بر روی سیستم به صورت دائم غیرفعال شده است.جهت مشاهده فضای swap بر روی سیستم نیز می توانید از دستور پایین استفاده کنید :

 

#swapon -s

امید است تا از این مطلب استفاده لازم را برده باشد.

شاد و فدورایی باشید.

 

 


فروردین ۱۹ ۱۳۹۷

آموزش اوبونتو: قسمت سوم، مدیریت پنجره‌ها

نوشته شده توسط فرشید نوتاش حقیقت.

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

فعال‌سازی ‌Workspaceها

ویژگی‌های فضای کاری به‌طور پیش‌فرض در اوبونتو فعال نیست. برای فعال‌سازی فضاهای کاری ابتدا وارد System Settings شده و بر روی Appearance و سپس زبانه Behavior کلیک کنید. سپس Enable workspace را فعال کنید. پس از انجام این کار آیکون مربوط به Workspaceها به لانچر اضافه می‌شود.

سوئیچ کردن میان فضاهای کاری

اگر Workspace را همانطور که توضیح داده شد فعال کرده باشید؛ خواهید توانست بین فضاهای کاری از طریق کلیک کردن بر روی آیکون سوئیچ فضاهای کاری بر روی لانچر سوئیچ کنید.
شما با استفاده از کلیدهای ترکیبی Super+S و فشردن دکمه‌های جهت‌نما مابین فضاهای کاری می‌توانید سوئیچ کنید.
توجه: دکمه Super همان کلیدی است که در دنیای مایکروسافت دکمه ویندوز نامیده می‌شود.

مدیریت پنجره‌ها

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

سوئیچ کردن بین پنجره‌ها

در اوبونتو راه‌های زیادی برای تغییر بین پنجره‌های باز وجود دارد:
– اگر پنجره روی صفحه نمایش قابل مشاهده باشد، روی هر بخشی از آن کلیک کنید تا آن را در بالاتر از تمام پنجره‌های دیگر بالا ببرید.
– با کمک کلیدهای ترکیبی Alt+Tab نیز می‌توانید این کار را انجام دهید. ابتدا کلید Alt را پایین نگه داشته و کلید Tab را بفشارید تا پنجره مورد نظر بصورت پاپ‌آپ نمایان شود.
– بر روی آیکون برنامه مورد نظر کلیک راست کرده اگر برنامه‌ای دارای چندین پنجره باز می‌باشد، برای انتخاب پنجره دلخواه روی گزینه مربوطه دو بار کلیک کنید.
با فشردن کلیدهای ترکیبی Ctrl+Super+D تمام پنجره‌ها را مخفی کرده و با فشردن دوباره آن تمام پنجره‌ها را بازگردانید.

انتقال پنجره‌ای به یک فضای کاری دیگر

برای حرکت دادن پنجره‌ای به یک فضای کاری دیگر مطمئن شوید پنجره maximize نشده باشد. اگر maximize شده بود آن را به اندازه اصلی خود برگردانید.
سپس روی نوار عنوان پنجره کلیک راست کرده و انتخاب کنید:
Move to Workspace Left برای انتقال پنجره به فضای کاری چپ
Move to Workspace Right برای انتقال پنجره به فضای کاری راست
Move to Workspace Down برای انتقال پنجره به فضای کاری پایین
Move to Another Workspace فضای کاری را که مایلید پنجره بدان انتقال یابد انتخاب کنید.

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

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

منبع: کتاب Getting Started with Ubuntu 16.04 نوشته The Ubuntu Manual Team

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


فروردین ۱۸ ۱۳۹۷

طرفداران فدورا و سفر به خورشید

parker-solar-probe

ناسا همیشه پروژه های جذاب و شگفت انگیزی داره،اینبار ناسا قراره که تابستون امسال یه کاوشگر به نام پارکر به فضا بفرسته.این فضاپیما به افتخار اختر فیزیکدان امریکایی «یوجین پارکر» که بررسی های زیادی روی فیزیک خورشید انجام داده نامگذاری شده.

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

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

از اونجایی که من به هوا فضا علاقه دارم وب سایت طرفدران فدورا رو توی این پروژه ثبت نام کردم که می تونید از این لینک بلیط رو تماشا کنین :

 

http://parkersolarprobe.jhuapl.edu/The-Mission/Name-to-Sun/send-name.php?print=yes&code=1130275-b4cee6392dea515

 

اگه شما هم تمایل دارید تا نام خودتون رو ثبت کنین کافیه که به لینک پایین مراجعه کنین :

 

http://parkersolarprobe.jhuapl.edu/The-Mission/Name-to-Sun/

 

نکته اینکه مهلت ثبت نام تا ۷ اردیبهشت هست.برای اطلاعات بیشتر در مورد Parker Solar Probe می تونید به وب سایت اون مراجعه کنین :

 

http://parkersolarprobe.jhuapl.edu/index.php

 

فدورایی و فضانورد باشید!


فروردین ۱۸ ۱۳۹۷

چگونه بازی‌ساز شویم؟

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

در سال ۹۶، حدود دو ماه در استودیویی مشغول کار شدم، بعنوان «آهنگساز» برای بازی کامپیوتری. اول که قرار بود کار آهنگسازی و دیزاین صدا به واسطه کامپیوتر رو براشون انجام بدم. یعنی طراحی ساندترک های بازی (موسیقی متن) و طراحی ساند افکت (صداهایی که می‌شنویم، مثل باد، صدای دستگاههای عجیب و غریب آخرالزمانی یا صدای هیولا و … ) ولی کم کم بخاطر کمبود نیرویی که به کار صدا وارد باشه، رُل «صدا گذار» هم به من داده شد. حالا دیگه صرفا کسی که کل روز وقتش پشت FL باشه نبودم و باید در یونیتی انجین کد میزدم و Sound Object و … وارد میکردم و با میکسرهای یونیتی بازی میکردم. برای من سخت بود چون اولا که به من گفته نشده بود قراره صداگذاری کنم، دوما زبان یونیتی سی شارپه و من هم چندان دل خوشی ازش ندارم. پس به شدت سعی میکردم تن ندم و از زیرش دربرم (حتی نیروی کمکی هم با خودم برده بودم 😀 ). ولی باگ قضیه این نبود. باگی که در این سیستم بود فراتر از این ماجراها بود. که در این مطلب قراره در موردش توضیح بدم!

از کجا شروع کنیم؟

برای بازی سازی، ما رُل های متعددی داریم. از برنامه نویسان و متخصصین هوش مصنوعی گرفته تا رُلهای کاملا سینمایی مثل نویسنده و کارگردان، همه حیاتی و مهم هستند و باید در یک تعادل حساس، کنار هم قرار بگیرند. نه این که یک یا دو نفر سعی کنند همه این رُل ها رو داشته باشند. حداقل وقتی که قراره بازی پدرمادر دار و درست و حسابی بسازیم، نیاز داریم برای هربخشی یک متخصص (یا یک تیم متخصص) داشته باشیم. در این قسمت، با هم کمی نقش ها رو بررسی میکنیم. از یک «ایده» ساده تا یک «بازی» کامل.

ایده خام

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

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

نویسندگی و بسط ایده

تا اینجا، ساخت فیلم و بازی بسیار شبیه بودند. اما از اینجا به بعد قراره که متفاوت تر بشن. بازی یک نوع رسانه «اینتراکتیو» یا «تعاملی» به حساب میاد ولی فیلم نه. کنترل بخشی از بازی دست پلیره ولی فیلم نیست. بنابراین باید اول تصمیم بگیریم «کجا قراره بازی مثل یک فیلم روند خودش رو طی کنه» و «کجا قراره بازی دست پلیر بیفته». حالا میتونیم ایده ها رو کنار هم بچینیم. ولی قبل از چیدن این مسائل کنار هم، نیاز داریم که یک سری المان ها را به خوبی کنار هم قرار بدیم :
۱. پیش زمینه و تاریخچه از موضوع کلی (چرا مردم حاضر نیستند در اون قلعه برن؟ حتی وقتی توپ کودک معصومی آنجا افتاده؟)
۲. طرح سوال کلی و شروع داستان (ورود کودک به قلعه)
۳. ایجاد تنش (رو به رو کردن کودک با چیزی که تا به حال با اون مواجه نشده، دیدن موجودات ماوراء الطبیعی و …)
۴. حل سوال توسط قهرمان و پایان داستان (جنگیدن کودک با توهماتی که درون قلعه با آن دچار شده، جنگیدن کودک با طرز تفکر مردم و غالب شدن یک طرز تفکر جدید).
بسیار خب، حالا بیایم با هم کل ایده رو به «طرح کلی» یا همون «پلات» تبدیل کنیم :

«سالیان سال، قلعه‌ای ویکتوریایی در جنوب شهر لندن بود که مردم منطقه شبها از آن صدای جیغ و داد می‌شنیدند. گاهی هم مردمی که در روز از کنار آن قلعه عبور می‌کردند، صدای گریه و زاری زنی را می‌شنیدند، گویی که به سوگ فرزندش نشسته باشد.
روزی، «آلن» ، کودک ۱۰ ساله‌ای که ساکن جنوب لندن است، به تنهایی با توپ خود بازی میکند، ناگهان توپ او از  دریچه قلعه، به درون آن میفتد. پسربچه از چند بزرگتر خواهش میکند که توپش را برای او بازگردانند، اما همه آنها با اتکا به اتفاقاتی که در آن قلعه افتاده است، می‌ترسند که داخل شوند؛ چرا که هراس از «زنده برنگشتن» در وجود آنان نهادینه شده است.
آلن، دیگر از دست آن آدم بزرگها به ستوه آمده و خودش وارد قلعه می‌شود. در اولین نگاه، اسکلت زنی را می‌بیند که با لباس عروسی کهنه و تارعنکبوت بسته، روبروی یک دست آینه و شمعدان نقره نشسته است؛ نماد های سلطنتی مجارستان و انگلیس را می‌بیند که تارعنکبوت بسته و از رنگ و رو افتاده اند. محو تماشای شکوه از دست رفته خاندانهای سلطنتی شده که ناگهان یادش میفتد به دنبال توپش آمده.
وقتی آلن در قلعه به دنبال توپش میگردد، ناگهان پایش روی یک چیزی – مانند یک تکه استخوان – رفته و صدای جیغی در محیط می‌پیچد. تمام افرادی که سالها در آن قلعه حبس شده و مُرده بودند، زنده می‌شوند و حالا وظیفه آلن است که به داستان آنها گوش دهد و و وقتی که به صورت کامل، هم داستانها را شنید و هم نامه ها و خاطرات را خواند، تازه می‌تواند از قلعه خارج شود و خارج از آن قلعه، ماجرای زنی که به انتظار دامادش نشسته بود را، برای آدم‌بزرگها تعریف کند و پلیس نیز جرات کند به قلعه ورود کرده و سپس ماجرا در تمام دنیا، پخش شود».

چیزی که در بالا خواندیم، یک پلات ساده بود. این پلات رو من بداهه نوشتم و شاید پلات درستی نباشه، ولی ممکنه سالها بعد به یک بازی تبدیل بشه. حالا نکته مهم اینه که این پلات باید به فیلمنامه تبدیل بشه، مثلا گشت و گذار صرف توی یک قلعه به اندازه کافی هیجان انگیز نیست، پس یک جا لازمه که مثل بازی «لایه های ترس» ، از بُردهای «وی‌یا» (برد Ouija که از دو کلمه Oui فرانسوی و Ja آلمانی تشکیل شده و برای احضار ارواح استفاده میشه) برای ارتباط با ارواح یا حل یک معما استفاده کنیم. یا مثلا، در کشوی میزکار افسر آلمانی – که چندین روز مهمان آن خانم ثروتمند و نجیب‌زاده بوده – یک کلید قایم کنیم که مربوط به یکی از درهای اصلی قلعه باشه. پس اینجا کار نویسنده به «طراحی گیم‌پلی» تغییر میکنه. معمول هم اینه که طراح گیم‌پلی شخص متفاوتی از نویسنده باشه، مگر این که تیم ما به قدر کافی بزرگ نباشه. بعد از این که گیم پلی طراحی شد، و حالا داستان و گیم پلی پخته ای داریم، وقتشه که از دو نفر کمک بگیریم : هد تیم برنامه نویس ها و کارگردان.

شروع به ساخت و کارگردانی

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

برنامه نویس ها هم وظیفشون ایجاب میکنه که در محیط بازی‌سازی (مثلا یونیتی) داستان رو به کد تبدیل کنند. انیماتور ها بخش های «غیر اینتراکتیو» رو میسازند و برنامه نویس بخش اینترکتیو رو. بعضی وقتها هم با هم همکاری میکنند (مثلا وقتی که قراره کاراکتر وارد یک Trigger خاصی بشه و مثلا سقف بریزه) و این مرحله تولید هم به خوبی پیش میره. تا این که یک بازی کامل ولی بدون صدا داریم. حالا وقتشه که «بازیگران صدا» و «صدا بردار» و «صدا گذار» هم وارد بشن. حالا بازی ما هم صدا داره هم گیم پلی. هم مکانیک بازی به خوبی در محصول ما پیاده شده. پس در «پس تولید» چه میکنیم؟

پس‌تولید

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

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

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

یک کلام، برای بازی ساز شدن باید چه کار کنیم؟

اگر نظر من رو میخواید، هم باید بازی کنید، هم فیلم ببینید هم کتاب بخونید. خوندن داستانهایی مثل IT یا «برج سیاه» از استفن کینگ، دیدن فیلمهایی مثل «سگ اندلسی» از لوییس بونوئل یا حتی دیدن فیلمهای پرهیاهو و تجاری مثل «دانکرک»، بازی کردن بازیهای مستقل مثل «اینساید» یا «لایه های ترس» یا بازی های تجاری مثل «رزیدنت اویل» همه و همه کمکه. ایده ها از کره مریخ در ذهن ما نمیان، با دید ما از دنیای اطراف ساخته میشن. علاوه بر این آشنایی و کار با موتورهای بازی سازی (بخصوص یونیتی) شدیدا مهمه. حتی اگر شما صرفا تهیه کننده هستید و قرار نیست حتی یک خط هم کد بزنید، لازمه که آشنا باشید.

 

 

 

 

Share


فروردین ۱۶ ۱۳۹۷

نصب collectd و collection3 به همراه nginx

مانیتورینگ

یکی از ابزارهای مهم در Capacity Planning سرور ابزارهای Monitoring هستند. تعداد زیادی نرم‌افزار و سرویس برای Monitoring سخت افزار، سیستم عامل و سرویس ها وجود دارد. در اینجا نرم افزار Collectd را معرفی می‌کنم که یک نرم افزار ساده با کلی پلاگین آماده است که می یاد از منابع مورد نظر شما، شروع به جمع آوری اطلاعات می کنه و در فایل‌های rrd ذخیره می کنه. این فایل‌ها را می توان به نمودار تبدیل کرد و یا خروجی xml ازشون گرفت.

داخل پروژه Collectd در github ابزاری که با perl نوشته شده وجود دارد به نام collection3 که به شما اینترفیس تحت وبی از داده های Collectd می دهد. متاسفانه به دلیل آنکه وابستگی های لازم برای راه اندازی Collection3 نیاز است در CentOS وجود ندارد، Collection3 در CentOS از بسته Collectd حذف شده است. این راهنما به شما کمک می کند تا Collection3 را هم در Debin/Ubuntu و هم در CentOS نصب کنید.

توجه: این راهنما برای دانشجویان دوره LPIC2 تهیه شده ولی سعی شده به صورت کلی نوشته بشه که همه بتونند استفاده کنند.

نصب collectd و nginx در Debian/Ubuntu

# apt-get install collectd nginx

نصب collectd و nginx در CentOS 7.x

در CentOS پلاگین‌های Collectd را باید جدا نصب کنید. برخلاف Debian که به همراه بسته اصلی نصب می شوند. در اینجا سه پلاگین rrd و apache و mysql را برای نمونه نصب کردیم.

# yum install epel-release

# yum install collectd collectd-rrdtool collectd-apache collectd-mysql nginx

پیکربندی Collectd

در این مقاله به پیکربندی Collectd نخواهیم پرداخت. دوستانی که در دوره LPIC2 حضور داشتند مطمئنا پیش زمینه لازم برای پیکربندی collectd را دارند. شاید در مطلب جدایی در مورد پیکربندی Collectd هم صحبت کردم.
تنها موضوعی که باید در تنظیمات حتما انجام بدید فعال کردن ماژول rrd هست.

 

نصب Collection3 در Debian/Ubuntu

در توزیع‌های Debian base بسته collectd به صورت کامل نصب می شود و در فایل‌های مرتبط با آن collection3 نیز موجود است. پس تنها برای استفاده از collection3 کافیه وابستگی های اون را هم نصب کنید و بعد nginx را پیکربندی کنید.

# apt-get install  librrds-perl libconfig-general-perl libhtml-parser-perl libregexp-common-perl libjson-perl
# cp -r /usr/share/doc/collectd/examples/collection3 /var/www/html/

 

نصب Collection3 در CentOS 7.x

چون Collection3 در بسته collectd موجود در مخازن epel حذف شده است، باید source کامل بسته collectd را بگیرید و فایل‌های collection3 را از source آن در پوشه nginx کپی کنید.

# cd /usr/src
# git clone https://github.com/collectd/collectd.git
# cp -r /usr/src/collectd/contrib/collection3 /var/www/html/

 

پیکربندی nginx

من برای صفحه مانیتورینگ سرور یک دامنه اختصاص دادم به اسم monitor.linuxmotto.local و تنظیمات nginx بر مبنای اون نوشتم. این دامنه خوب قطعا وجود نداره برای همین حتما تو etc/hosts/ اضافه اش کنید.
در ضمن در Debian باید تو پوشه etc/nginx/sites-available/ یک فایل conf. بسازید و این تنظیمات را اضافه کنید و در CentOS در پوشه etc/nginx/conf.d/

server {
listen 80;
server_name monitor.linuxmotto.local;

location ~ .cgi$ {
root /var/www/html/collection3/;
expires off;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
fastcgi_index index.cgi;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}

location / {
root /var/www/html/collection3;
index bin/index.cgi;
}
}

 

نصب وابستگی های مورد نیاز collection3

این بخش از راهنما مخصوص توزیع CentOS است. و به این دلیل است که fcgi در nginx در توزیع Centos پشتیبانی نمی شود.

# yum install perl-FCGI perl-HTML-Parser rrdtool-perl perl-Config-General lm_sensors collectd-rdis collectd-rrdtool perl fcgi-devel spawn-fcgi perl-Collectd collectd-nginx collectd-mysql

 

نصب fcgiwrap در CentOS 7

# yum install dh-autoreconf fcgi-devel pkgconfig
# cd /usr/local/src/
# git clone git://github.com/gnosek/fcgiwrap.git
# cd fcgiwrap/
# autoreconf
# ./configure
# make
# make install

اگر به خطای زیر خوردید مطمئن شوید که pkgconfig به درستی نصب شده است و دستور autoreconf -i را به جای autoconf برای تکرار روند انجام دهید

# autoconf
configure.ac:32: error: possibly undefined macro: AC_DEFINE
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:39: error: possibly undefined macro: AM_CONDITIONAL

# autoreconf -i

# yum install spawn-fcgi

# vi /etc/sysconfig/spawn-fcgi
FCGI_SOCKET=/var/run/fcgiwrap.socket
FCGI_PROGRAM=/usr/local/sbin/fcgiwrap
FCGI_USER=apache
FCGI_GROUP=apache
FCGI_EXTRA_OPTIONS=”-M 0770″
OPTIONS=”-u $FCGI_USER -g $FCGI_GROUP -s $FCGI_SOCKET -S $FCGI_EXTRA_OPTIONS -F 1 -P /var/run/spawn-fcgi.pid — $FCGI_PROGRAM”

# usermod -a -G apache nginx
# systemctl enable spawn-fcgi
# systemctl start spawn-fcgi

بعد از همه این کارها سرویس‌ها را ریستارت کنید.

systemctl restart nginx collectd

الان باید تو مرورگرتون به collection3 از طریق آدرس monitor.linuxmotto.local دسترسی داشته باشید.


فروردین ۱۶ ۱۳۹۷

رقابت به سبک بلاگفا! ماجرای قدیمی بلاگ و بلاگفا

آقای بلاگفا!

‏واقعا خجالت نمی‌کشید؟! عذاب وجدان نمی‌گیرید؟
‏حقوق کاربر و اصول رقابت را که لگدمال می‌کنید، ای‌کاش لااقل شرم پیشه کنید و گمان نکنید که سکوت دیگران در برابر شما همیشگی خواهد بود.
‏متاسفانه درباره رویه‌های ⁧‫غیر اخلاقی‬⁩، ⁧‫غیر قانونی‬⁩ و ⁧‫غیر حرفه‌ای‬⁩ بلاگفا گفتنی بسیار است.

بلاگفا

یعنی بلاگفا وبلاگ‌هایی را که قصد مهاجرت به ⁦‪blog.ir‬⁩ داشتند را ⁧‫رصد‬⁩، ⁧‫حذف‬⁩ و ⁧‫نابود‬⁩ نمی کرد؟! هک شده بود و همچنان هک شده است؟! بلاگفا لینک کاربرانش به بلاگ بیان را حذف نمی کرد؟! کامنت های کاربرانش را بدون اطلاع آنها حذف نمی کرد؟! پلیس فتا یا دادگاه دستور داده بود؟!

بلاگفا

خجالت‬⁩ نمی کشید؟! 

‏این ادعای تازه ⁧‫بلاگفا‬⁩ زشت تر از اقدامات غیر اخلاقی و غیر حرفه ای قبلی است!
‏لطفا بیش از این از صبر و سکوت ما سوء استفاده نکنید و اجازه بدهید در باره منش و روش بلاگفا سکوت کنیم.

‏سه گروه بیشترین لطمه را به اعتماد کاربران کم توقع و مظلوم ایرانی وارد کردند:

‏۱٫ مدیران نادان یا فاسد یا باج خواه
‏۲٫ سرویس دهنده های بی قانون و مستبد
‏۳٫ شرکت های فِیک یا کپی کارِ مدعیِ پروژه های بومی و ملی

***

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

ای کاش بلاگفا لااقل در همان توییتر با یک جستجوی ساده نظر مردم درباره بلاگ و بلاگفا را جستجو و مقایسه کند تا با گوشه ای از حقیقت روبرو شود.

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


فروردین ۱۵ ۱۳۹۷

لینوکس فدورا ۲۸ بتا منتشر شد

f28-beta

همانطور که قبلا در خبرها گفته شد و با توجه به برنامه زمانبندی انتشار Fedora 28 ، هم اکنون به اطلاع می رساند که نسخه بتا از لینوکس فدورا ۲۸ منتشر شد و کاربران می توانند این نسخه را دانلود کنند و از آن استفاده نمایند.

گفتنی است این نسخه بتا می باشد و به این معنی می باشد که کد کامل شده است و شباهت زیادی به نسخه نهایی دارد.انتظار می رود تا نسخه نهایی فدورا ۲۸ بر اساس برنامه زمانبندی در ماه May منتشر شود.

اگر کاربر فدورا هستید می توانید زمانی را صرف دانلود و آزمایش نسخه بتا کنید تا بررسی کنید و اطمینان حاصل کنید که چیزهایی که برای شما مهم هستند کار می کنند.هر گونه اشکال (bug) که شما پیدا کرده اید و گزارش می دهید فقط به شما کمک نمی کند، تجربه میلیون ها کاربر فدورا را در سراسر جهان بهبود می بخشد! ما با هم می توانیم یک فدورای قابل اطمینان بسازیم.

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

 

برخی ویزگی های جدید در لینوکس فدورا ۲۸ :

 

  • پشتیانی از نسخه ی ۶۴ بیتی برای معماری ARM
  • استفاده از میزکار Gnome 3.28 در نسخه ی Workstation
  • استفاده از VirtualBox guest additions به صورت پیش فرض
  • استفاده از Kebernetes 1.9 در Fedora 28 Atomic Host برای orchestrating container-native
  • استفاده از نسخه ی glibc 2.27
  • استفاده از آخرین نسخه ی  GNU Compiler Collection (GCC) 8
  • بروزرسانی چندین زبان برنامه نویسی از جمله Golang 1.10 و Ruby 2.5
  • رفع باگ و بروزرسانی چندین بسته ی نرم افزاری

 

دانلود لینوکس فدورا ۲۸ بتا :

 

جهت دانلود نسخه ی Workstation می توانید از این لینک استفاده کنید :

 

https://getfedora.org/workstation/prerelease/

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

 

 

https://getfedora.org/server/prerelease/

جهت دانلود نسخه ی Atomic Host می توانید از لینک پایین استفاده کنید :

 

https://getfedora.org/atomic/prerelease/

 

 

برای دانلود فدورا ۲۸ با میزکارهای مختلف از جمله KDE Plasma,XFCE,LXDE و چندی میزکار دیگر که اصطلاحا به آنها Spin گفته می شود،می توانید از لینک پایین استفاده کنید :

 

https://spins.fedoraproject.org/prerelease

 

جهت دانلود فدورا ۲۸ برای کارهای آزمایشگاهی و خاص می توانید از نسخه ی Fedora Labs استفاده کنید :

 

https://labs.fedoraproject.org/prerelease

 

برای دانلود فدورا ۲۸ برای دستگاه هایی با معماری ARM مانند Raspberry Pi 2 و Raspberry Pi 3 می توانید از لینک پایین استفاده کنید :

 

https://arm.fedoraproject.org/prerelease

 

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

 

https://torrent.fedoraproject.org/

 

 


فروردین ۱۴ ۱۳۹۷

تسکی که به خیر گذشت.

توی شرکت به این نتیجه رسیده بودیم که یه تعداد از فایل‌هایی که روی سرور داریم اضافی هست و باید کلاً پاک بشن. من که می‌گم یه تعداد شما خودتون یه تعداد خیلی بالا رو در نظر بگیرید. برای این کار از طرف یه تیم دیگه لیست فایل‌هایی که برامون مهم هستن و باید بمونن رو بهم ارسال کرده بودن (لیست A) و من باید همه‌ی فایل‌های غیر از اونها رو از روی استوریج پاک می‌کردم.

سناریوی خیلی پیچیده‌ای نیست کافیه من لیست فا‌یل‌های موجود رو تهیه کنم (لیست B)، فایل‌هایی از لیست ‌B که داخل لیست A هستن رو حذف کنم و لیست C رو بسازم و دونه دونه‌ی فایل‌های موجود توی لیست C رو حذف کنم. 🙂 خب من هم همین کار رو کردم. طبیعتاً این کار رو دستی انجام نمی‌دم و انتخاب اوّلم برای انجامش اسکریپت Bash بود. یه حلقه‌ی while که خطوط لیست B رو دونه دونه می‌خوند و توی لیست A دنبال اون می‌گشت اگر پیداش نمی‌کرد اون رو به یه فایل دیگه تحت عنوان فایل‌های لیست C اضافه می‌کرد.

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

(تعداد فایل‌های لیست B) – (تعداد فایل‌های لیست A) = (تعداد فایل‌ها لیست C)

حداقل دوّم این بود که چند تا از فایل‌های توی لیست C رو به صورت رندم توی لیست A چک کنم تا مبادا (احتمال خیلی خیلی پایین) اسکریپت اشتباه کرده باشه.

من در مرحله‌ی جمع و تفریق به مشکل خوردم. این معادله برقرار نبود!!!! تعداد اختلاف خیلی خیلی بالا بود. اسکریپت به خوبی و بدون خطا داشت اجرا می‌شد، بدون خطا تموم می‌شد ولی خروجی اون چیزی نبود که باید باشه. چیزای مختلفی رو چک کردم. کنار لیست C یه لیست دیگه به اسم D ساختم تا شروط به شکل if … else بررسی بشن و دقیقاً عملکرد اسکریپت رو ببینم ولی نتیجه تفاوتی نداشت. انواع لاگ‌ها رو فعال کردم ولی چیزی عایدم نشد. اسکریپت بدون خطا تموم می‌شد ولی جمع و تفریق اختلاف خیلی خیلی زیادی با مقادیر مورد انتظار داشت. در نهایت به صورت تصادفی متوجه شدم اسکپریت داخل لیست B از یه خطی جلوتر نمی‌ره و فقط ۱۵۰هزار تا (البته حدوداً چون مقدار واقعی یه خورده کمتر بود!) فایل رو چک می‌کنه!! هنوز نمی‌دونم مشکل چی بوده ولی خیلی مسخره بود. پس این اسکریپت رو بی‌خیال شدم و رفتم سراغ پایتون. خیلی بهتر از Bash عمل کرد و کار رو یک سره کرد برام.

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

چون آدم فراموشکاری هستم اینها رو نوشتم تا اون «دفعه‌ی بعد» بدونم چه تصمیماتی داشتم. شما چه ایده‌/تجربه‌ای دارید؟


فروردین ۱۴ ۱۳۹۷

سال نو، وبلاگ نو…

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


فروردین ۹ ۱۳۹۷

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

Parrot

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

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

 

curl http://parrot.live

جهت دیدن این پروژه بر روی github و دریافت اطلاعات بیشتر در مورد آن کافیست تا به لینک پایین مراجعه نمایید :

 

https://github.com/hugomd/parrot.live

 

 


فروردین ۴ ۱۳۹۷

فروش اکانت متالینک اوراکل ویژه اشخاص

متخصصین اوراکل به طور معمول از ۲ سایت رسمی برای دریافت اطلاعات و پشتیبانی محصولات اوراکل استفاده می‌کنند همونطور که خودتون می‌دونید OTN یا Oracle Technology Network که به طور معمول تمام آنچه که از طریق لایسنس عمومی به جهت توسعه قابل استفاده است در آن وجود دارد و همچنین شبکه MOS یا My Oracle Support که به طور اختصاصی مختص کسانی است که لایسنس و پشتیبانی محصول مورد نظر خود را از پارتنرهای اوراکل خریداری کرده‌اند.

 

ادامه مطلب


فروردین ۴ ۱۳۹۷

نحوه‌ی اعمال کد تخفیف در لینک‌های پرداخت

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

 

 

ادامه مطلب


اسفند ۲۱ ۱۳۹۶

بررسی بودن یا نبودن فایل یا پوشه در شل اسکریپت

bash

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

به عنوان نمونه می خواهیم بررسی کنیم که آیا فایل etc/hosts/ وجود دارد یا نه،برای اینکار می توان دستور پایین را اجرا کرد :

 

[ -f /etc/hosts ] && echo “Found” || echo “Not found”

 

در صورتی که فایل وجود داشته باشد Found نمایش داده خواهد شد و در عیر اینصورت Not found نمایش داده خواهد شد.

همین کار را نیز می توان به روش پایین و به صورت یک شل اسکریپت هم انجام داد :

 

#!/bin/bash
file=”/etc/hosts”
if [ -f “$file” ]
then
echo “$file found.”
else
echo “$file not found.”
fi

 

اپراتورهایی که می توان استفاده کرد به صورت زیر می باشند :

-b FILE
FILE exists and is block special

-c FILE
FILE exists and is character special

-d FILE
FILE exists and is a directory

-e FILE
FILE exists

-f FILE
FILE exists and is a regular file

-g FILE
FILE exists and is set-group-ID

-G FILE
FILE exists and is owned by the effective group ID

-h FILE
FILE exists and is a symbolic link (same as -L)

-k FILE
FILE exists and has its sticky bit set

-L FILE
FILE exists and is a symbolic link (same as -h)

-O FILE
FILE exists and is owned by the effective user ID

-p FILE
FILE exists and is a named pipe

-r FILE
FILE exists and read permission is granted

-s FILE
FILE exists and has a size greater than zero

-S FILE
FILE exists and is a socket

-t FD file descriptor FD is opened on a terminal

-u FILE
FILE exists and its set-user-ID bit is set

-w FILE
FILE exists and write permission is granted

-x FILE
FILE exists and execute (or search) permission is granted

 

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

 

 

if [ operator FileName ]
then
echo “FileName – Found, take some action here”
else
echo “FileName – Not found, take some action here”
fi

 

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

 

file1=”/etc/hosts” ; if [ -f “$file1” ] ; then echo “$file1 found.” ; else echo “$file1 not found.” ; fi

 

امید است تا از این مطلب استفاده ی لازم را برده باشید.


اسفند ۱۸ ۱۳۹۶

Como Adelgazar el Abdomen y Cintura

Conoce en este artículo tres excelentes maneras sobre como adelgazar el abdomen y cintura de manera natural.

Té verde Matcha

Matcha contiene un antioxidante, EGCG (galato de epigalocatequina), que se sabe que estimula el metabolismo y detiene el crecimiento de las células grasas.

Este té es genial porque puede actuar como una gran alternativa al café. El café puede fluctuar y jugar con su azúcar en la sangre, lo que tiene un efecto sobre el aumento de peso. Matcha te da la cafeína que estás buscando también. Es una alternativa más completa y saludable al café en casi todos los sentidos.

La razón por la que puede obtener tantos beneficios del matcha es porque, a diferencia de la mayoría de los tés que se encuentran en bolsas u hojas, el matcha viene en forma de polvo. Obtienes todo lo que el matcha tiene para ofrecer. No hay nada en el té que se filtre del proceso de fabricación.

Si bien el té verde matcha acelera tu metabolismo y ayuda a perder grasa, no vas a perder el peso que deseas con solo beberlo. Debe agregar algún tipo de aptitud física para permitir que su cuerpo absorba y se beneficie de todo lo que el té tiene para ofrecer.

Si te sientes lo suficientemente aventurero como para probar este polvo, pruébalo a través de algunos suplementos que sirven para adelgazar.

Extracto de hoja de olivo

Sí, es exactamente lo que parece. La hoja de olivo es algo que ayuda a darle a la aceituna todos sus beneficios para la salud.

El extracto de hoja de olivo se sabe que trata el resfriado común, la gripe y las infecciones del sistema respiratorio. A los fines de este artículo, solo hablaremos de cómo te ayuda cuando se trata de perder peso.

El extracto estimula un compuesto en su tiroides que le ayuda a perder peso y grasa mucho más rápido. Se puede mezclar con tés para obtener los beneficios de ambos.

El extracto de hoja de olivo puede sonar como si fuera algún tipo de aceite, pero también lo puedes encontrar en forma de pastillas. Conoce en wordpress cuáles son las más efectivas.

Vinagre de sidra de manzana

Esto es excelente para ayudar a su cuerpo a absorber minerales y ayudar con su sistema digestivo.

Una de las principales razones de por qué el vinagre de sidra de manzana es tan bueno cuando se trata de perder peso es porque puede bloquear parte de la digestión de almidón de su cuerpo. Esto significa que pasará directamente a través de tu cuerpo. No absorberá nada de lo que el almidón tiene para ofrecer, que en la mayoría de los casos será simplemente grasa para su cuerpo.

La mejor manera de tomar vinagre de sidra de manzana es beberla. Tenga cuidado, es en gran medida un gusto adquirido. Tenerlo solo probablemente será difícil de tragar. Mézclalo con una taza de agua para que la acidez del vinagre sea mucho más fácil de manejar. No hay promesas de que el sabor sea mejor, pero será más fácil de manejar.

El efecto de tener este vinagre es más una solución a largo plazo que tener resultados inmediatos.

El vinagre de sidra de manzana se puede encontrar en la mayoría de las tiendas de comestibles hoy en día. Si no tiene ganas de comprarlo allí, búsquelo a través de suplementos.

La entrada Como Adelgazar el Abdomen y Cintura aparece primero en Aios LInux.


اسفند ۱۷ ۱۳۹۶

فعال کردن فشرده سازی Gzip در وب سرور Apache

apache

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

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

فعال سازی ماژول Gzip در وب سرور آپاچی :

 

به صورت پیش فرض ماژول mod_deflate  بر روی وب سرور Apache فعال می باشد.جهت اطمینان کافیست تا فایل زیر را باز کنید :

 

# vi /etc/httpd/conf.modules.d/00-base.conf

 

اکنون بررسی کنید تا این خط درون فایل وجود داشته باشد :

 

 

LoadModule deflate_module modules/mod_deflate.so

 

پیکربندی فشرده سازی Gzip :

 

 

اکنون جهت پیکربندی قابلیت فشرده سازی Gzip کافیست تا خطوط زیر را به فایل تنظیمات آپاچی اضافه کنید و یا اگر از vhost استفاده می کنید،خطوط را به فایل vhost خود اضافه کنید :

 

 

 

<Directory /var/www/html/>
<IfModule mod_mime.c>
AddType application/x-javascript .js
AddType text/css .css
</IfModule>
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/css application/x-javascript text/x-component text/html text/plain text/xml application/javascript
<IfModule mod_setenvif.c>
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
</IfModule>
</IfModule>
Header append Vary User-Agent env=!dont-vary
</Directory>

 

 

نکته اینکه در این خط :

 

AddOutputFilterByType DEFLATE text/html text/plain text/css application/javascript

 

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

گفتنی است تنظیمات گفته شده را نیز می توانید درون فایل htaccess. که در ریشه وب سایت است،اضافه کنید.

 

 

آزمایش فشرده سازی :

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

 

 

https://checkgzipcompression.com/

http://www.whatsmyip.org/http-compression-test/

http://www.gidnetwork.com/tools/gzip-test.php

 

امید است تا از این مطلب استفاده لازم را برده باشید.

 

 


اسفند ۱۴ ۱۳۹۶

آموزش Backup و Restore دیتابیس Couchbase server

Couchbase_logo

در مطالب قبلی روش نصب دیتابیس Couchbase Server و همچنین نحوه ی کلاستر کردن Couchbase Server  آموزش داده شد.در این مطلب قصد دارم تا نحوه ی تهیه نسخه ی پشتیبان (Backup) و همچنین روش بازیابی (Restore) کردن نسخه ی پشتیبان Couchbase Server نسخه ی ۴٫۱ آموزش داده شود.

 

تهیه نسخه پشتیبان (Backup) :

 

ابتدا یک پوشه برای نگهداری نسخه های پشتیبان ایجاد کنید :

 

#mkdir /data/backup

 

زمانی که Couchbase server به صورت Cluster باشد و بخواهید از تمامی Node های کلاستر و تمامی Bucket ها پشتیبان گیری کنید کافیست تا این دستور را اجرا کنید :

 

#/opt/couchbase/bin/cbbackup http://HOST:8091 /data/backup -u Administrator -p password

  • بجای HOST باید hostname یا IP سرور couchbase server خود را وارد کنید.
  • بجای data/backup/ باید مسیر مورد نظر خود جهت ذخیره نسخه ی backup را بنویسید.
  • بجای Administrator و password باید مشخصات کاربر couchbase server خود را بنویسید.

 

 

اگر بخواهید از یک Bucket بر روی تمامی Node های کلاستر backup بگیرید کافیست تا از این دستور استفاده کنید :

 

 

#/opt/couchbase/bin/cbbackup http://HOST:8091 /data/backup -u Administrator -p password -b default

 

نکته اینکه در دستور بالا default نام Bucket می باشد که شما می توانید نام Bucket مورد نظر خود را بنویسید.

 

اگر دیتابیس Couchbase Server شما فقط یک Node باشد و بخواهید از تمامی Bucket های آن Backup بگیرید کافیت تا از این دستور استفاده کنید :

 

#/opt/couchbase/bin/cbbackup http://HOST:8091 /data/backup -u Administrator -p password --single-node

 

 

 

بازیابی نسخه ی پشتیبان (Restore) :

 

جهت بازیابی یک Bucket بر روی کلاستر couchbase server کافیست تا از این دستور استفاده کنید :

 

 

#/opt/couchbase/bin/cbrestore /data/backup http://Administrator:password@HOST:8091 --bucket-source=myBucket

 

نکته اینکه بجای myBucket باید نام bucket مورد نظر خود را بنویسید.

 

 

برای بازیابی یک bucket بر روی یک bucket ذیگر بر روی کلاستر couchbase server کافیست تا از دستور پایین استفاده کنید :

 

#/opt/couchbase/bin/cbrestore /data/backup http://Administrator:password@HOST:8091 --bucket-source=sBucket --bucket-destination=dBucket

 

 

نکته اینکه بجای sBucket باید نام bucket مبدا خود و بجای dBucket باید نام bucket مقصد خود را بنویسید.

 

 

 


اسفند ۸ ۱۳۹۶

۹ تا از زیبا ترین توزیع های گنو/لینوکسی که باید امتحانشان کنید(قسمت دو)

۵-KDE neon

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


6-Feren os


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

۷-Pop!-os

پاپ او اس هم مثل نیتراکس یکی از جدید ترین توزیع های گنو/لینوکسی هست.
پاپ او اس زمانی به وجود اومد که کنونیکال تصمیم گرفت توسعه یونیتی رو کنار بزاره و دوباره از گنوم به عنوان میزکار پیشفرض استفاده کنه.
درحالی که دسکتاپ این توزیع مبتنی بر گنوم هست,اما دارای اپلیکیشن ها و رویکردی متمایز هست.
میتونین این توزیع رو از اینجا دانلود کنید.

۸-Zorin os


زورین او اس یکی از محبوب ترین توزیع های گنو/لینوکس در ابتدای سال ۲۰۱۸ بود.
توزیعی که تلاش میکنه محیط کاربری مشابه با ویندوز رو برای کاربر فراهم کنه.
زورین یک توزیع اوبونتو بیس هست و فرایند نصبش هم مانند اوبونتو آسونه.
این توزیع دارای اپلیکیشن های جدید و مختلفی هست که میتونن برای کارهای روزمرتون مفید باشن.زورین همچنین دارای یک نسخه پیشفرض و سازگار Wine هست تا بتونید برنامه های مورد علاقه ی ویندوزیتون رو به راحتی درون لینوکس اجرا کنید.
میتونین این توزیع رو از اینجا دانلود کنید.
۹-Maui linux


Maui یک توزیع مبتنی بر کی دی ای نئون و اوبونتو هست.در این توزیع از میز کار کی دی ای پلاسما و همچنین اپلیکیشن های کی دی ای و کتابخانه های QT استفاده شده.
این توزیع همچنین به طور پیشفرض شامل برنامه های مرسوم مثل فایرفاکس,وی ال سی و … هست.
این یک توزیع با پشتیبانی طولانی مدت(LTS) و زیباست که به به روز رسانی های امنیتی اهمیت زیادی میده.
میتونید این توزیع رو از اینجا دانلود کنین.

امیدوارم لذت برده باشید
نظراتتون و تجربیاتتون رو در قسمت نظر ها برامون بنویسید.

منبع


اسفند ۸ ۱۳۹۶

۹ تا از زیبا ترین توزیع های گنو/لینوکسی که باید امتحانشان کنید(قسمت دو)

۵-KDE neon

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


6-Feren os


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

۷-Pop!-os

پاپ او اس هم مثل نیتراکس یکی از جدید ترین توزیع های گنو/لینوکسی هست.
پاپ او اس زمانی به وجود اومد که کنونیکال تصمیم گرفت توسعه یونیتی رو کنار بزاره و دوباره از گنوم به عنوان میزکار پیشفرض استفاده کنه.
درحالی که دسکتاپ این توزیع مبتنی بر گنوم هست,اما دارای اپلیکیشن ها و رویکردی متمایز هست.
میتونین این توزیع رو از اینجا دانلود کنید.

۸-Zorin os


زورین او اس یکی از محبوب ترین توزیع های گنو/لینوکس در ابتدای سال ۲۰۱۸ بود.
توزیعی که تلاش میکنه محیط کاربری مشابه با ویندوز رو برای کاربر فراهم کنه.
زورین یک توزیع اوبونتو بیس هست و فرایند نصبش هم مانند اوبونتو آسونه.
این توزیع دارای اپلیکیشن های جدید و مختلفی هست که میتونن برای کارهای روزمرتون مفید باشن.زورین همچنین دارای یک نسخه پیشفرض و سازگار Wine هست تا بتونید برنامه های مورد علاقه ی ویندوزیتون رو به راحتی درون لینوکس اجرا کنید.
میتونین این توزیع رو از اینجا دانلود کنید.
۹-Maui linux


Maui یک توزیع مبتنی بر کی دی ای نئون و اوبونتو هست.در این توزیع از میز کار کی دی ای پلاسما و همچنین اپلیکیشن های کی دی ای و کتابخانه های QT استفاده شده.
این توزیع همچنین به طور پیشفرض شامل برنامه های مرسوم مثل فایرفاکس,وی ال سی و … هست.
این یک توزیع با پشتیبانی طولانی مدت(LTS) و زیباست که به به روز رسانی های امنیتی اهمیت زیادی میده.
میتونید این توزیع رو از اینجا دانلود کنین.

امیدوارم لذت برده باشید
نظراتتون و تجربیاتتون رو در قسمت نظر ها برامون بنویسید.

منبع


اسفند ۷ ۱۳۹۶

کار با دیتابیس SQLite با نرم افزار sqlite browser

SQLite

نرم فزار DB Browser یا sqlite browser یکی از برنامه هایی می باشد که دارای رابط گرافیکی و Open Source می باشد که بوسلیه آن می توان دیتابیس sqlite خود را طراحی،ویرایش و یا بسازید.

برخی از ویژگی های نرم افزار sqlite browser به شرح زیر می باشند :

 

  • Create and compact database files
  • Create, define, modify and delete tables
  • Create, define and delete indexes
  • Browse, edit, add and delete records
  • Search records
  • Import and export records as text
  • Import and export tables from/to CSV files
  • Import and export databases from/to SQL dump files
  • Issue SQL queries and inspect the results
  • Examine a log of all SQL commands issued by the application

 

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

 

#dnf install sqlitebrowser

 

در پایین تصاویری از محیط برنامه را مشاهده می کنید :

 

sqlitebrowser

 

sqlitebrowser

 

sqlitebrowser

 


اسفند ۳ ۱۳۹۶

جایگزینی کارمزد تراکنش چیست؟

هنگامی که شخصی پولی را در بیت‌کوین ویا اتریوم به شخص دیگری انتقال می‌دهد، یک تراکنش ساخته می‌شود. این تراکنش زمانی کامل شده و می‌توان از انتقال وجه اطمینان داشت که در زنجیره بلوکی اصلی ثبت شده و حداقل ۶ بلوک از ثبت آن در زنجیره گذشته باشد. ساخت بلوک‌ها وظیفه ماینرهاست. ماینر یابنده هر بلوک به میزان مشخصی جایزه (مثلا در شبکه فعلی بیت‌کوین این میزان ۱۲.۵ BTC است) دریافت می‌کند. علاوه بر جایزه کارمزد تراکنش‌های ثبت شده در آن بلوک نیز به ماینر می‌رسد.

برای مثال فرض کنید که ۱۰۰۰ تراکنش در شبکه بیت‌کوین ارسال شده‌است، ۱۰۰ تراکنش با کارمزد۰٫۱ BTC و بقیه با کارمزد ۰٫۰۱ BTC. ماینر برای به حداکثر رساندن سود خود، سعی در قرار دادن تراکنش‌هایی با کارمزد بالاتر می‌نماید. به همین دلیل ممکن است تراکنشی ارسال شده و بعد از گذشت مدت زیادی نیز به زنجیره بلوکی اضافه نگردد.

Type caption for image (optional)

هرچه میزان کارمزدی که در تراکنش برای ماینر در نظر گرفته شده بیشتر باشد، احتمال در زنجیره بلوکی قرار گرفتن تراکنش نیز بالاتر بوده و زودتر در زنجیره قرار خواهد گرفت. برای مثال (در زمان نگارش این مقاله) برای تایید تراکنش در ۱۰ دقیقه نیاز به کارمزد ۱۶٫۳ دلاری است. جهت مشاهده کارمزد پیشنهادی می‌توانید به سایت bitcoinfees سر بزنید.

اما اگر تراکنشی با کارمزد پایین در شبکه ارسال کردیم که بعد از گذشت مدتی در زنجیره قرار نگرفت، چه باید کرد؟ این موضوع در فروم bitcointalk مطرح شد و شخصی جایزه‌ای ۵۰۰ دلاری برای کسی که راه حل این موضوع را پیاده‌سازی کند در نظر گرفت. راه حل این موضوع replace-by-fee یا جایگزینی کارمزد تراکنش نام دارد. در صورتی که تراکنش ارسال شده در زنجیره بلوکی ثبت نشده باشد (zero confirmation)، فرستنده می‌تواند کارمزد تراکنش را اصلاح کرده تا ماینرها به قرار دادن این تراکنش در زنجیره بلوکی ترغیب گردند.


اسفند ۲ ۱۳۹۶

آموزش خط فرمان: قسمت پنجم، مدیریت فایل‌ها و دایرکتوری‌ها

نوشته شده توسط فرشید نوتاش حقیقت.

در این بخش به چند فرمان بسیار مهم و پرکاربرد که در مدیریت فایل‌ها و دایرکتوری‌ها کارایی دارد، پرداخته‌ایم:

– فرمان cp: کپی کردن فایل‌ها و دایرکتوری‌ها

– فرمان mv: جابجا کردن/ تغییر نام فایل‌ها و دایرکتوری‌ها

– فرمان mkdir: ایجاد دایرکتوری‌ها

– فرمان rm: حذف فایل‌ها و دایرکتوری‌ها

Wildcardها

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

Wildcard کارایی
* هر کاراکتری و هر تعداد
? یک کاراکتر
[characters] هر کاراکتر مشخصی که نیاز است باشد.
[!characters] هر کاراکتر مشخصی که نباید باشد.
[[:class:]] هر کاراکتری متعلق به کلاس باشد.

 

کاراکترهای class کارایی
[:alnum:] هر کاراکتر الفبایی و شماره‌ای
[:alpha:] هر کاراکتر الفبایی
[:digit:] هر شماره‌ای
[:lower:] هر حرف کوچک
[:upper:] هر حرف بزرگ

چندین مثال:

مثال مفهوم
* همه فایل‌ها
g* هر فایلی که با g آغاز می‌شود
b*.txt هر فایلی که با b شروع شده و هر تعداد کاراکتر بعد از آن با پایان .txt
Data??? هر فایلی که با Data آغاز می‌شود و سه کاراکتر در انتهای آن قرار دارد.
[abc]* هر فایلی که با a یا b یا c آغاز می‌شود.
BACKUP.[0-9][0-9][0-9] هر فایلی که با BACKUP. آغاز شده و در ادامه سه رقم قرار می‌گیرد.
[[:upper:]] هر فایلی که با حرف بزرگ آغاز می‌شود.
[![:digit:]]* هر فایلی که با عدد آغاز نمی‌شود.
*[[:lower:]123] هر فایلی که با یک حرف کوچک یا با شماره ۱ یا ۲ یا ۳ آغاز می‌شود.

فرمان mkdir

فرمان mkdir برای ایجاد دایرکتوری‌ها استفاده می‌شود.

فرمت فرمان mkdir

mkdir dir1

دایرکتوری dir1 را ایجاد می‌کند.

mkdir dir1 dir2 dir3

دایرکتوری‌های dir1 و dir2 و dir3 را ایجاد می‌کند.

فرمان cp

فرمان cp فایل‌ها و دایرکتوری‌ها را کپی می‌کند.

فرمت فرمان cp

cp item1 item2

item1 را در item2 کپی می‌کند.

گزینه‌های فرمان cp

گزینه عملکرد
a, –archive فایل‌ها و دایرکتوری‌ها و تمام ویژگی‌های آن از جمله مالکیت و پرمیژن را کپی می‌کند.
i, –interactive قبل از بازنویسی مجدد یک فایل، از کاربر تاییدیه می‌خواهد.
r, –recursive دایرکتوری‌ها و محتویات آن را به‌طور بازگشتی کپی می‌کند. این گزینه (یا گزینه -a) هنگام کپی کردن دایرکتوری‌ها نیاز می‌شود.
u, –update هنگام کپی کردن فایل‌ها از یک دایرکتوری به دایرکتوری دیگر فقط فایل‌هایی را که یا وجود ندارند و یا جدیدتر از فایل‌های متناظر موجود در دایرکتوری مقصد هستند کپی می‌کند.
v, –verbose پیام‌های اطلاع‌رسانی را برای عملیات کپی نمایش می‌دهد.

مثال‌هایی از فرمان cp

cp file1 file2

file1 را در file2 کپی می‌کند. اگر file2 وجود داشته باشد آن را با محتویات  file1بازنویسی می‌کند. اگر file2 وجود نداشته باشد، آن را می‌سازد.

cp –i file1 file2

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

cp file1 file2 dir1

file1 و file2 را در dir1 کپی می‌کند. dir1 باید وجود داشته باشد.

cp dir1/* dir2

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

cp -r dir1 dir2

dir1 (و محتویات آن را) به dir2 کپی می‌کند. اگر دایرکتوری dir2 وجود نداشته باشد، ایجاد خواهد شد و محتویات dir1 در آن کپی می‌شود.

فرمان mv

فرمان mv هم فایل را جابه‌جا می‌کند و هم تغییر نام می‌دهد. بستگی دارد که چگونه از آن استفاده شود. طرز استفاده از فرمان mv همانند فرمان cp است.

mv item1 item2

برای تغییر نام می‌بایست item1 و item2 به یک آدرس اشاره کنند ولی نام آن‌ها متفاوت باشد.

گزینه‌های فرمان mv

گزینه عملکرد
i, –interactive قبل از بازنویسی یک فایل از کاربر درخواست تاییدیه می‌کند. اگر این گزینه مشخص نشده باشد، فایل همنام بی‌درنگ بازنویسی خواهد شد.
u, –update هنگام انتقال از یک دایرکتوری به دایرکتوری دیگر فقط فایل‌هایی را که در دایرکتوری مقصد موجود نیستند و یا جدیدتر از فایل‌های موجود در دایرکتوری مقصد هستند حرکت می‌دهند.
v, –verbose پیام‌های اطلاع‌رسانی را برای انتقال نمایش می‌دهند.

مثال‌های فرمان mv

mv file1 file2

file1 را به file2 انتقال می‌دهد. اگر file2 وجود داشته آن را با محتویات file1 بازنویسی می‌کند.

mv -i file1 file2

همانند مثال قبلی file1 را به file2 انتقال می‌دهد. اگر file2 وجود داشته از کاربر برای بازنویسی سوال می‌شود.

mv file1 file2 dir1

file1 و file2 را به dir1 انتقال می‌دهد. dir1 باید وجود داشته باشد.

mv dir1 dir2

dir1 (و محتویات آن را) به دایرکتوری dir2 انتقال می‌دهد. اگر dir2 وجود نداشته باشد آن را می‌سازد و محتویات دایرکتوری dir1 را به دایرکتوری dir2 منتقل می‌کند و dir1 را حذف می‌کند.

فرمان rm

فرمان rm برای پاک کردن (حذف) فایل‌ها و دایرکتوری‌ها مورد استفاده قرار می‌گیرد.

rm item…

item می‌تواند یک یا چند فایل یا دایرکتوری باشد.

گزینه‌های فرمان rm

گزینه عملکرد
i, –interactive قبل از حذف فایلی که وجود دارد از کاربر تاییدیه می‌گیرد. اگر این گزینه مشخص نشده باشد، فرمان rm فایل‌ها را بدون درنگ حذف می‌کند.
r, –recursive اگر دایرکتوری دارای زیردایرکتوری‌هایی باشد، آن‌ها را نیز حذف می‌کند.
f, –force فایل‌های موجود را نادیده می‌گیرد.
v, –verbose پیام‌های اطلاع‌رسانی را برای عمل حذف نمایش می‌دهد.

مثال‌های فرمان rm

rm file1

بی‌درنگ file1 را حذف می‌کند.

rm -i file1

قبل از حذف file1 از کاربر تاییدیه می‌گیرد.

rm -r file1 dir1

file1 و dir1 را به همراه محتویاتشان حذف می‌کند.

منبع: کتاب The Linux Command Line نوشته William E. Shotts

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


اسفند ۲ ۱۳۹۶

آموزش رایتر: قسمت چهارم، تنظیمات اولیه

نوشته شده توسط فرشید نوتاش حقیقت.

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

۱- وارد منوی Tools شده و گزینه Options را انتخاب کنید.

۲- در پنجره نمایش داده شده گزینه Language Setting را باز نموده و زیرمنوی Language را انتخاب و در سمت راست پنجره تنظیمات زبان فارسی را به شکل زیر انجام دهید:

گزینه Local setting را به Persian تنظیم کنید.

گزینه Complex text layout (CTL) را نیز به Persian تنظیم کنید. سپس دکمه Ok را فشرده و جهت اعمال تنظیمات یک بار برنامه را بسته و دوباره اجرا کنید.

۳- مجدداً به منوی Tools رفته و گزینه Options را انتخاب کنید.

۴- در لیست نمایش داده شده بر گزینه Language setting کلیک کرده و زیرمنوی Complex text layout را انتخاب و در سمت راست پنجره Numerals را روی Context تنظیم می‌کنید.

۵- در لیست قبلی گزینه LibreOffice Writer کلیک کرده و تنظیمات زیر را انجام دهید:

زیرمنوی General را انتخاب و واحد اندازه‌گیری Measurement unit را بر روی Centimeter تنظیم کنید.

زیرمنوی Basic Fonts (CTL) را انتخاب و فونت‌های پیش‌فرض فارسی خود را تنظیم کنید.

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

خط‌کش‌ها

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

خط‌کش‌ها به‌طور پیش‌فرض فعال هستند. برای نمایش یا پنهان کردن خط‌کش View > Ruler را انتخاب کنید.

برای غیرفعال کردن خط‌کش‌ها و عدم انتخاب یک یا هر دو خط‌کش‌ها گزینه LibreOffice Writer > Options > Tools > View را انتخاب کنید. خط‌کش افقی دارای یک دکمه در سمت راست خود است که حاوی گزینه‌های برای توقف پرش و فرورفتگی پاراگراف است.

منبع: «جزوه آموزشی مهارت کار با نرم‌افزار واژه‌پرداز» نوشته شرکت دانش‌بنیان سافا

نوشته آموزش رایتر: قسمت چهارم، تنظیمات اولیه اولین بار در لینوکس سیزن پدیدار شد.


بهمن ۲۸ ۱۳۹۶

آموزش آرایه های دو و چند بعدی در زبان C و C++

به نام اهورامزدای پاک حمایت میکنم 🙂 دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی […]

نوشته آموزش آرایه های دو و چند بعدی در زبان C و C++ اولین بار در گشتاسب مظفریان – GMozafarian. پدیدار شد.


بهمن ۲۷ ۱۳۹۶

جلسهٔ دویست و چهل و یک

تاریخ برگزاری جلسه: ۱۳۹۶/۱۲/۱۶
موضوع: جلسهٔ گروه کاربران گنو/لینوکس تهران
جلسهٔ ۲۴۱ گروه کاربران گنو/لینوکس تهران در روز چهارشنبه، ۱۶ اسفندماه از ساعت ۱۷ الی ۱۹ در محل شتاب‌دهنده دیموند به نشانی « تهران، خیابان کارگر شمالی، پردیس دانشکده‌های فنی دانشگاه تهران، پارکینگ کتابخانه قلمچی » برگزار خواهد شد. شرکت در این رویداد همانند جلسات گذشته برای کلیه علاقه‌مندان، آزاد و رایگان می‌باشد.برگزار خواهد شد.
فرم ارسال ارائه برای جلسات آینده

بهمن ۲۷ ۱۳۹۶

آشنایی با کد Hello World در ۲۶ زبان برنامه نویسی مختلف

اگر به شکلی آکادمیک برنامه نویسی را آموخته باشید، به احتمال زیاد در اولین جلسه آموزش کدنویسی این جملات را شنیده اید: کامپیوترها به خودی […]

نوشته آشنایی با کد Hello World در ۲۶ زبان برنامه نویسی مختلف اولین بار در اوپن مایند. پدیدار شد.


بهمن ۲۶ ۱۳۹۶

آموزش آرایه ها در زبان C و C++

به نام اهورامزدای پاک حمایت میکنم 🙂 دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی […]

نوشته آموزش آرایه ها در زبان C و C++ اولین بار در گشتاسب مظفریان – GMozafarian. پدیدار شد.


بهمن ۲۶ ۱۳۹۶

آموزش توابع بازگشتی در زبان C و C++

به نام اهورامزدای پاک حمایت میکنم 🙂 دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی […]

نوشته آموزش توابع بازگشتی در زبان C و C++ اولین بار در گشتاسب مظفریان – GMozafarian. پدیدار شد.


بهمن ۲۶ ۱۳۹۶

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

سال ۲۰۱۷ نقطه عطفی برای زبان برنامه نویسی پایتون بود. به گواه آمار و داده های وبسایت Stack Overflow ، پایتون در این سال در […]

نوشته چرا باید زبان برنامه نویسی پایتون را یاد بگیریم؟ اولین بار در اوپن مایند. پدیدار شد.


بهمن ۲۴ ۱۳۹۶

فرمول شهرت (چگونه در دو دقیقه مشهور شویم)

شاید برای ده سال پیش، نمیشد انقدر راحت «فرمول شهرت» رو بیان کرد یا نسخه ای برای شهرت و مشهور شدن افراد پیچید. اما اگر به جای ده سال، به پنج سال پیش استناد کنیم راههای فراوانی هستند که میتونن ما رو به طرفه‌العینی به شهرتی که همیشه آرزوش رو داشتیم برسونن …
مدتها پیش ویدئویی از یک ویدئو بلاگر ایرانی به اسم «علیرضا ۲۴» در وبلاگم قرار دادم که راه مشهور شدن از طریق فیسبوک رو توضیح داده بود. اما فیسبوک کجا، دو ابزار امروزی‌تر «اینستاگرام» و «تلگرام» کجا. فیسبوک سالهاست که بدون استفاده از پراکسی، وی‌پی‌ان و … دسترسی بهش ممکن نیست ولی اینستاگرام و تلگرام بدون این ابزارها هم در دسترسند، فیسبوک دیگه مثل سابق بین ایرانی ها پرطرفدار نیست و خب به جز عده خاصی، دیگه کم پیش میاد در فیسبوک فعالیت های اونطوری ببینیم. ولی متاسفانه، در اصل قضیه تفاوتی نشده، کل ماجرا اینه که تازه افرادی که همون کارها رو در اینستاگرام یا تلگرام میکنن دیگه آدم های مضحک یا چیپ به حساب نمیان، بلکه با عناوینی مثل «اینفلوئنسر» و «واینر» و … ، به خودشون هم اعتبار میدن!

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

فرض کنیم یک روز صبح از خواب بیدار می‌شیم، میریم که اعلان (Notification) های تلگرام و توییتر و فیسبوک و … رو چک کنیم. در تلگرام پیامهای زیادی از دوست و آشنا و فامیل می‌بینیم که از کانالها فوروارد شدن. همه این پست ها هم یک سری ویژگی مشخص دارند :
عنوان کانال + یک متن (عموما جوک، یکی از وقایع اخیر ایران یا جهان، یک شایعه کاملا بی اساس با هرچیزی شبیه این) + یک لینک یا آیدی کانال.
و مثلا می‌بینیم که سه نفر برای ما یک جوک فرستادن، جوک یکسان اما کانالها متفاوت. با بررسی کانالها هم می‌بینیم که هرکدوم دست کم هزار عضو دارند. چه دلیلی باعث میشه که انقدر این کانالها رشد داشته باشند؟ و چرا مثلا یک کانالی که اطلاعات روزمره ولی علمی و درست (با استناد به منابع و مقالات معتبر) منتشر میکنه انقدر طرفدار نداره؟ شاید بشه دلیل عمده‌ش رو در رفتارهای بنیادین مردم پیدا کرد، اما ما اینجا میخوایم به این مقوله بپردازیم که «چطور با کانال تلگرامی میشه مشهور شد؟».

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

  1. ایجاد کانال تلگرام با یک اسم و آیدی مسخره (اسم و آیدی مسخره خودش به خودی خود میتونه مخاطب رو به کانال شما بکشونه)، برای انتخاب اسم یا آیدی هم روشی هست به اسم «احمقانه ترین ایده ممکن». وارد جزییات نمیشم میتونید در پستهای قدیمی تر تشریح این موضوع رو ببینید
  2. انتخاب عکس مناسب کانال! در زمان فیسبوک مردم کمی خلاق تر (و شاید با حوصله تر) بودن، یک مربع در paint درست می‌کردن، و با بدترین فونت ممکن اسم پیج رو درونش مینوشتن. اما الان اکثر کانالها عکس یک کمدین معروف، یا یک ویدئویی که در اینترنت ترند شده رو بعنوان عکس کانال انتخاب میکنند.
  3. تولید محتوای مناسب!!! این هم از اون مواردیه که واقعا نمیشه بهش گفت «مناسب» ولی خب، از اونجایی که قراره با این ترفند به شهرت برسیم، محتوامون هم باید مناسب باشه. یکی از راهها، کپی کردن مطلبه. مثلا شخصی جوکی برای شما ارسال کرده، شما سریعا متن جوک رو کپی میکنید و در کانالتون میذارید (به همراه آیدی کانال) ، یا تشریف می‌برید توییتر و توییت های «فیو استار» (توییت هایی که بیش از یک حد خاصی فیو خوردن و دست به دست شدن، ژانر خاصی رو پدید آوردن و …) رو کپی میکنید در کانال خودتون! یا از همون جوکها و اصطلاحات قدیمی فیسبوک کپی برداری میکنید! بهرحال محتوای اورجینال ، زیر صفر 🙂
  4. و در آخر، برای این که در راه سخت شهرت موفق باشید، فقط میتونم بگم «تا میتونید اسپم کنید». یعنی چی؟ یعنی یک ایموجی 😕 در کانالتون قرار بدید بعد این رو به همه گروه ها فوروارد کنید! یا نه، کمی پیشرفته تر عمل کنید! یک شایعه بی‌اساس (مثل فولان ویروس که توسط یک گروه تروریستی در خرما و زیتون وارد ایران شده) یا یک خبر مرتبط با یک کشور دیگه (مثلا آفریقای جنوبی) رو در گروههایی که میدونید این چیزا رو دوست دارند (عموما هم گروه های خونوادگی 🙂 ) فوروارد کنید و منتظر رشد چشمگیر بازدید و عضوهای کانال خودتون باشید!

اگر اون چهاربند رو رعایت کنید می‌تونم با تقریب درستی بگم ظرف دو یا سه هفته میتونید به ۴-۵ هزار عضو برای کانال خودتون برسید، و اون موقع احتمال زیاد با توجه به تعداد اعضا، می‌تونید تبلیغ هم بگیرید و حتی کسب درآمد هم بکنید!

ولی بعنوان موضوع آخر، باید بگم که واقعا این نوع از شهرت، خوب نیست. دلیلش هم واضحه، درسته که شما شناخته شدید ولی آیا واقعا اونقدری که باید مفید هم واقع شدید؟ یا این که شهرت شما به بودن یا نبودن یک سرویس آنلاین مرتبطه؟ امیدوارم که بعد از خوندن این مطلب و این پارگراف به فکر فرو برید، هر محتوایی رو تولید و منتشر نکنید، هر محتوایی رو بازنشر ندید و از همه مهم تر، محتوای دیگران (مثل توییت) رو برای افزایش عضو یا بازدید، کپی نکنید …

موفق باشید 🙂

Share


بهمن ۲۳ ۱۳۹۶

آموزش تنظیم Hostname در خط فرمان

change-hostname

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

جهت نمایش hostname می توانید از دستورهای پایین استفاده کنید :

 

# hostname
# hostname -s
# hostname -f

  • سوئیچ s- نام کوتاه کامپیوتر را نمایش می دهید.(فقط hostname)
  • سوئیچ f- کامپیوتر FQDN در شبکه را نمایش می دهد.(فقط زمانی که کامپیوتر جزئی از یک domain یا realm باشد و FQDN ان تنظیم شده باشد.)

 

روش دیگر برای نمایش نام میزبان cat کردن فایل hostname می باشد :

 

# cat /etc/hostname

اکنون جهت تغییر hostname و با تنظیم آن می توانید از دستور پایین استفاده کنید :

 

 

# hostnamectl set-hostname your-new-hostname

نکته اینکه بجای your-new-hostname باید نام مورد نطر خود را بنویسید.اکنون جهت نمایش hostname می توانید از دستوراتی که در بالا گفته شد استفاده کنید یا اینکه از دستور پایین استفاده کنید :

 

 

#hostnamectl

روش دیگر برای تنظیم hostname ماشین، ویرایش فایل hostname می باشد :

 

 

# vi /etc/hostname

یکی دیگر از روش ها جهت نمایش و ویرایش hostname استفاده از sysctl می باشد.جهت نمایش hostname نیز می توانید از این دستور استفاده کنید :

 

 

# sysctl kernel.hostname

جهت تغییر hostname می توانید از این دستور استفاده کنید :

 

 

# sysctl kernel.hostname=new-hostname

 

نکته اینکه این تغییر به صورت موقت می باشد.جهت اعمال تغییر به صورت دائمی این دستور را استفاده کنید :

 

 

# sysctl -w kernel.hostname=new-hostname

 

یکی دیگر از روشهای نمایش و پیکربندی hostname استفاده از دستور nmtui می باشد :

 

#nmtui

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

 

 

# nmtui-hostname your-new-hostname

اکنون جهت نمایش hostname می توانید از دستوراتی که گفته شد استفاده کنید.

امید است تا از این مطلب استفاده لازم را برده باشد.شاد و فدورایی باشید.

 


بهمن ۲۱ ۱۳۹۶

آموزش نصب و پیکربندی RabbitMQ

rabbitmq-logo

rabbitmq یک نرم افزار message broker و  open source  می باشد که گاهی message-oriented middleware نیز خوانده می شود.rabbitmq در اصل برای Advanced Message Queuing Protocol یا به اختصار AMQP پیاده سازی شده است،هر چند معماری آن به گونه ای می باشد که با استفاده از پلاگین هایی قابلیت پشتیبانی از چندین پروتکل دیگر مانند MQTT و STOMP و سایر پروتکل ها را دارا می باشد.

نرم افزار rabbitmq با زبان Erlang نوشته شده است و قابلیت نصب بر روی اکثر سیستم عامل ها را دارا می باشد.در این مطلب قصد داریم تا rabbitmq نسخه ی ۳٫۷ را بر روی CentOS 7.4 x86-64 نصب کنیم.

 

نصب RabbitMQ :

یکی از پیش نیازهای rabbitmq نصب شدن erlang می باشد.نکته اینکه هر کدام از نسخه های rabbitmq نیاز به نسخه ی خاصی از erlang می باشد.برای درک اینکه چه نسخه ای از rabbitmq نیاز به کدام نسخه از erlang می باشد کافیست تا به لینک پایین مراجعه کنید :

 

https://www.rabbitmq.com/which-erlang.html

از آنجایی که ما قصد داریم تا rabbitmq 3.7 را نصب کنیم پس بنابراین نسخه ی erlang که پشتیبانی می شود بین  Erlang/OTP 19.3 تا Erlang/OTP 20.2.x می باشد.بسته ی erlang در مخازن epel وحود دارد ولی از آنجایی که نسخه ی آن پایین می باشد ما نیاز داریم تا erlang نسخه ی بالاتر را نصب کنیم به همین خاطر ابتدا مخزن Erlang Solutions را نصب کنید :

 

#yum install -y https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm

 

اکنون بسته ی rabbitmq را دانلود کنید که برای دریافت آن می توانید از لینک پایین استفاده کنید :

 

https://www.rabbitmq.com/install-rpm.html

برای دانلود کافیست تا این دستور را اجرا کنید :

 

 

#wget -c https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.3/rabbitmq-server-3.7.3-1.el7.noarch.rpm

 

 

 

اکنون جهت نصب rabbitmq کافیست تا دستور زیر را اجرا کنید :

 

 

#yum install rabbitmq-server-3.7.3-1.el7.noarch.rpm

 

اگر از SELinux استفاده می کنید این دستور را اجرا کنید :

 

#setsebool -P nis_enabled 1

 

 

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

 

 

#firewall-cmd --zone=public --permanent --add-port=4369/tcp
#firewall-cmd --zone=public --permanent --add-port=25672/tcp
#firewall-cmd --zone=public --permanent --add-port=5671-5672/tcp
#firewall-cmd --zone=public --permanent --add-port=15672/tcp
#firewall-cmd --zone=public --permanent --add-port=61613-61614/tcp
#firewall-cmd --zone=public --permanent --add-port=8883/tcp
#firewall-cmd --zone=public --permanent --add-port=1883/tcp
#firewall-cmd --reload

اکنون می توانید با استفاده از systemd  سرویس rabbitmq را start و enable کنید :

 

#systemctl start rabbitmq-server
#systemctl enable rabbitmq-server

 

جهت بررسی وضعیت rabbitmq می توانید از این دستور استفاده کنید :

 

#rabbitmqctl status

جهت فعال کردن کنسول مدیریتی تحت وب rabbitmq کافیست تا این دستور را اجرا کنید :

 

 

# rabbitmq-plugins enable rabbitmq_management

سپس این دستور را اجرا کنید :

 

 

#chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/

اکنون جهت ایجاد کاربر و تنظیم مجوزهای آن کافیست تا دستورهای پایین را اجرا کنید :

#rabbitmqctl add_user hos7ein mypassword
#rabbitmqctl set_user_tags hos7ein administrator
#rabbitmqctl set_permissions -p / hos7ein ".*" ".*" ".*"

 

 

نکته اینکه به جای hos7ein و mypassword نام کاربری و پسورد مورد نظر خود را بنویسید.اکنون جهت دسترسی به پنل تحت وب rabbitmq کافیست تا آدرس زیر را در مروگر وب خود وارد کنید :

 

 

 

 

http://[server-ip]:15672

نکته اینکه به جای server-ip باید آدرس سرور خود را بنویسید.در پایین تصویری از پنل تحت وب rabbitmq را مشاهده می کنید :

 

 

 

rabbitmq

 

امید است تا از این مطلب استفاده ی لازم را برده باشید.

 


بهمن ۲۱ ۱۳۹۶

فهرست مطالعه برای System Administrator ها – نسخه کامل شونده

 

مقدمه سوم: این نوشته از این نسخه به بعد به صورت پست جدید منتشر نخواهد شد و همین نوشته دائما به روزرسانی می گردد.  در این نسخه بخش سیستم عامل Windows و Linux اضافه شد. بخش Linux بسیار گسترده خواهد شد. این پست را هر چند هفته یک بار مرور کنید تا در جریان به روز رسانی آن قرار گیرید.
علاوه بر آن تصمیم گرفتم که بخش‌های مجازی سازی و DevOps را هم به این فهرست اضافه کنم.

مقدمه دوم: بخش مربوط به آشنایی با تجهیزات Cisco و فراگیری Routing و Switching را اضافه کردم.

مقدمه اول: مدتها بود که دلم می خواست که یه فهرست مطالعه (Reading List) برای System adminstrator ها و Network Administrator ها در حد تجربه خود بنویسم. هی عقب می افتاد. امروز اولین پستش را میخوام بزنم.

چند نکته و ویژگی در مورد این لیست هست:
۱- در برخی تجربه‌ها در این سالها متوجه شدم که باید خیلی قبل تر مطلبی را می خوندم و یا باید می دونستم، ولی چیزی در موردش نمی دونم. برای همین به این لیست اضافه کردم
۲- این لیست یک تلاش کوچیک برای آکادمیک کردن مسیر رشد و یادگیری یک مدیر سیستم یا System Administrator است. چون یه دوستی تذکر داده بودند که کتاب‌های آقای ملکیان بسیار تئوری است و باید سراغ کتابهای عملی تر رفت، من تاکید می کنم من بسیار به تئوری اهمیت می دم و تجربم اینه که هرچه تسلط تئوری و علمی بالاتری به یک موضوع داشته باشی، پیاده سازی تمیز تر و مطمئن تری خواهی داشت.
۳- تصمیم دارم این لیست را تاجایی پیش ببرم که شبیه یک دوره لیسانس سه سال یک نفر را پر کنه و یک نفر بتونه سه سال آموزش خودشو برای ورود و یا پیشرفت در بازار کار برنامه ریزی کنه.
۴- شروع لیست با کتاب‌های فارسی است. شاید انتقاد خیلی‌ها را به همراه داشته باشه، ولی من معتقدم یادگیری پایه‌ها، مبانی و اصطلاحات یک تخصص با زبان مادری کار و پیشرفت را خیلی تسهیل می‌کنه. البته مطمئنا در یک جایی به بعد مطالعه ترجمه ها دیگر کارایی لازم را نداره و مطمئنا در ادامه تغیریبا همه کتابها انگلیسی خواهد بود.
۵- این لیست برای هنرستانی‌های رشته کامپیوتر و کاردانی و کارشناسی کامپیوتر مناسب است.
۶- سعی می‌کنم تاجایی که امکان داره دلیل پیشنهاد مطالعه هر کتاب و توانایی هایی که بعد از اون باید بدست بیارید را مطرح کنم
۷- از این نسخه از مقاله به بعد سعی می کنم، لینک خرید کتاب به همراه عکس جلد آن را هم بزارم.

فهرست اول
هدف: آشنایی با مفاهیم، اصطلاحات و ابزارهای پایه در شبکه

۱- راهنمای مطلق +Network  – مترجم بهرام پاشایی
در بین کتابهای +Network جزو بهترین ‌ها بود. البته کمی قدیمی است. این کتاب را به خاطر پیشنهاد «saravan» در کامنت‌های پست قبلی اضافه کردم. شما پس از مطالعه این کتاب (یا شاید همزمان) باید به چند تا مهارت عملی هم برسید
الف- عیب یابی ابتدای شبکه و کار کردن با ابزارهای ping, traceroute, netstat, nslookup
ب- کار با ابزارهای ساده کابل کشی (cabling)، مانند Crimper، Striper و … . پیشنهاد می کنم جعبه ابزاری برای خودتون تهیه کنید که شامل ابزارهای اولیه کابل کشی باشه

۲- اصول طراحی شبکه های کامپیوتری – احسان ملکیان
یکی از بهترین کتاب‌ها است که دید خوبی در مورد انواع شبکه بهتون می‌ده. برای شروع کتاب خیلی خوبیه

۳- اصول مهندسی اینترنت – احسان ملکیان
در این کتاب از لایه های شبکه، پروتکل ها و سرویس ها صحبت شده. ولی تاکید من تو مطالعه این کتاب برای اینه که جزو معدود کتابهایی هست که مفهوم سرویس را می‌تونه برای یک تازه کار روشن کنه و توضیحات خوبی داره

۴- نفوذگری در شبکه و روشهای مقابله – احسان ملکیان
یکی از کتابهای خوب فارسی هست که یک تازه کار را با زبان فنی امنیت آشنا می‌کنه.

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

معرفی کتاب مرجع
TCP/IP Illustrated, Vol. 1: The Protocols – نوشته W. Richard Stevens
یکی از کتابهای خوب به عنوان مرجع که قدیمی هم هست ولی همچنان به نظرم می تونه مفید باشه. داشتان این کتاب کنارتون و مطالعه پروتکل ها خیلی به درکتون از شبکه کمک می کنه




فهرست دوم
بخش اول – شبکه یا Networking
هدف: معرفی کتاب‌های مناسب برای آشنایی با محصولات Cisco و  فراگیری مفاهیم Routing و Switching (ممنون از دوست و همکار خوبم آقای مهندس عشاقی بابت در دسترس قرار دادن کتاب‌های نسخه جدید)
چه قرار باشه System Administrator باشید و چه Network Administrator ، مطالعه و یادگیری Routing و Switching توصیه می شه. درک لایه های ۲ و ۳ شبکه کمک بسیار زیادی در درک فایروال ، ساختار  شبکه و اتصالات و عیب یابی ارتباطی شبکه می کنه. علاوه برآن در سازمان‌های و شرکت‌هایی که فعالیت اصلی آنها IT نیست. انتظارشون از Network Admin و Sysadmin یکی هست.

۵- CCENT/CCNA ICND1 100-105 Official Cert Guide
این کتاب اولین کتاب زبان اصلی در این فهرست است و شروع خوبی برای شروع آشنایی با کلمات اصلی. در این کتاب بخشی زیادی از آنچه در کتاب‌های قبلی معرفی شده آمده و ذهن شما با خواندن آن برای مطالعه کتاب‌های بعدی آماده می شود. علاوه بر آن آشنایی ابتدایی با پیکربندی تجهیزات Cisco پیدا می کنید، در مورد  IPv6 مطالبی می خونید و شروع با یادگیری Routing و Swiching می کنید.

۶- CCNA Routing and Switching ICND2 200-105 Official Cert Guide
در این کتاب بیشتر وارد جزییات پروتکل های Routing و Switching می شیم و با مفاهیم جدیدی مانند SDN و Cloud (البته اگه دیگه جدید حسابشون بکنیم. 🙂 ) آشنا می‌شوید.

۷- CCDA 200-310 Official Cert Guide
طراحی (Design) یکی از اون سرفصل‌هایی است که دانستنش یک پله دید شما را نسبت به ساختار شبکه وسرویس‌ها بالا می بره. داشتن دید طراحی سطح کار شما را افزایش می ده و باعث می شه پیاده سازی پایدارتری داشته باشید. البته شاید بهتر باشه خوندن این کتاب را به آخر لیست منتقل کنیم؛ چرا که هر چه دانش پایه و تجربه بیشتری داشته باشید، برداشت کاملتر و دقیق تری نسبت به این کتاب (طراحی – Design) خواهید داشت.
به اضافه اینکه در ممالک فرنگ هم خیلی به اینکه شما Design بدونید اهمیت می‌دند؛ مخصوصا در مورد Netadmin ها این یه موضوع اساسی هست و در صورتی که در عنوان Network Administrator به دنبال کار هستید رزومه شما بدون دانستن طراحی ارزش پایینی پیدا می کند. البته خوب در کشور ما کمتر شرکت یا سازمانی به این موضوع اهمیت می دهد یا اساسا به وجود این موضوع واقف است.



بخش دوم – مدیریت سیستم‌های ویندوزی یا Windows Sysem Administration
هدف:
شما چه در حوزه System Administration و چه Network Administration فعالیت کنید، به آشنایی با سیستم عامل Windows و سرویس‌های مهم Windows ای نیاز پیدا خواهید کرد. حتی اگر قصد داشته باشید به طور خاص در زمینه Linux System Administration فعالیت کنید. به هر حال بخش بزرگی از کاربران از این سیستم عامل استفاده می کنند و در بسیاری از مواقع موضوع محیط‌های مختلط پیش خواهد آمد و نیاز است تا با سیستم عامل Windows و سرویس‌های آن آشنایی داشته باشید. نسخه ۲۰۱۶ کتاب‌ها را هم می‌تونید مطالعه کنید.

۸- Exam Ref 70-410 Installing and Configuring Windows Server 2012
آزمون ۴۱۰-۷۰ اولین آزمون از آزمون‌های MCSA است. یکی از فصل‌هایی که در محیط‌های مختلط بسیار مورد استفاده دارد فصل Install and administer Active Directory و فصل‌ بعد از آن است. این دو فصل را با وسواس بیشتری مطالعه و تست کنید.

۹- Exam 70-411 Administering Windows Server 2012
دومین آزمون از سری آزمون‌های MCSA.

۱۰- Exam Ref 70-412 Configuring Advanced Windows Server 2012 R2 Services
سومین آزمون از سری آزمون‌های MCSA

۱۱- Exam Ref 70-413 Designing and Implementing a Server Infrastructure
اولین آزمون از سری آزمون‌های MCSE است.

۱۲- Exam Ref 70-414 Implementing an Advanced Server Infrastructure
دومین آزمون از سری آزمون‌های MCSE است.



 

بخش سوم – مدیریت سیستم‌های لینوکس یا Linux System Administration
هدف: این بخش ار مطلب می شه بخش اصلی و هدف این مستند است. یعنی تبدیل شدن به یک Linux System Administrator. در این بخش به معرفی کتاب‌های مناسب برای یادگیری سیستم عامل لینوکس و سرویس‌های لینوکسی و متن‌باز/آزاد خواهیم پرداخت

۱۳- Linux Essentials – منتشر شده توسط Linup
این کتاب مربوط به اولین آزمون موسسه LPI کاناداست. کتاب مناسبی برای شروع کار را لینوکس و خط فرمان می باشد که به صورت آزاد منتشر شده است.

۱۴- LPIC-1 Linux Professional Institute Certification Study Guide – انتشارات Sybex چاپ چهارم ۲۰۱۵
این کتاب مربوط به آزمون LPIC-1 ، اولین آزمون حرفه ای موسسه LPI کاناداست. این کتاب دو آزمون ۱۰۱-۴۰۰ و ۱۰۲-۴۰۰ را پوشش می دهد و شروع بسیار خوبی برای تبدیل شدن به یک Junior Linux System Administrator است.

۱۵-Getting Started with MariaDB – انتشارات Packt Publishing چاپ دوم
این کتاب یک شروع خوب برای کار با دیتابیس است. یک مدیر سیستم به میزان مناسبی باید از نحوه کار با دیتابیس و مدیریت سرویس آن مطلع باشد.

۱۶- LPIC-2 Linux Professional Institute Certification Study Guide, 2nd Edition – انتشارات Sybex چاپ دوم ۲۰۱۶
این کتاب یک شروغ برای تبدیل شده شما به یک Senior Linux SystemcAdministrator است. نکته مهم آن است که تنها یک شروع است و برای عمیق شدن در سرفصل‌های آن برای هر سرویس نیاز است که شما کتاب و مستندات مرتبط با آن را به طور مجزا مطالعه کنید. در ادامه به معرفی کتاب در مورد سرویس‌ها مهم خواهیم پرداخت.



۱۷- Pro DNS and ‌Bind 10 – انتشارات Apress
این کتاب یکی از بهترین کتاب‌ها در مورد سرویس DNS و به طور خاص سرویس Bind است. آن را به طور کامل مطالعه کنید و در خوندنش تنبلی نکنید.

۱۸- Then Book of Postfix – انتشارات No Starch سال ۲۰۰۵
یک کتاب خیلی خوب در مورد Postfix به همراه چند سناریوی مفید و پیاده سازی آن. شروع خوبی برای کار کردن با سرویس Email است.

۱۹- Dovecot: POP3/IMAP Servers for Enterprises and ISPs
این کتاب تنها کتاب موجود در مورد Dovecot است که متاسفانه هنوز به صورت pdf موجود نیست و باید به صورت چاپی تهیه کنید. در این کتاب به معرفی سرویس dovecot و سرویس‌های pop و imap می پردازند.



۲۰- Mastering OpenLDAP – انتشارات Packt Publishing
یک کتاب بسیار خوب برای فراگیری سرویس OpenLDAP. برای مطالعه این کتاب باید زمان مناسبی را اختصاص بدید. در نرم افزارهای سازمانی، در محیط‌های مختلط و شبکه های بزرگ بسیار مورد استفاده است.

۲۱- Mastering MariaDB – انتشارات Packt Publishing سال ۲۰۱۴


فهرست سوم
بخش اول – HA and Virtualization
استفاده از مجازی سازی در مدیریت سرورها تبدیل به امری معمول شده است. یک مدیر سیستم باید با تکنولوژی‌ها و محصولات مجازی سازی آشنا باشد. محصولات متن باز و آزاد و محصولات غیر متن باز مانند VMWare

 

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