<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>پست‌های انتشارات لینوکس و نرم افزار آزاد</title>
        <link>https://virgool.io/fsf-linux/feed</link>
        <description>لینوکس-نرم افزار آزاد  ، آموزش ها ، مطالب ، اخبار و در کل ، مجله ایست برای معرفی بیشتر نرم افزارهای آزاد و لینوکس . دنیایی متفاوت که زندگی را زیباتر میکند .</description>
        <language>fa</language>
        <pubDate>2026-04-15 01:35:16</pubDate>
        <image>
            <url>https://files.virgool.io/upload/publication/rri84ok80icw/pxecbb.png</url>
            <title>لینوکس و نرم افزار آزاد</title>
            <link>https://virgool.io/fsf-linux</link>
        </image>

                    <item>
                <title>? جشن روز آزادی نرم افزار ۱۳۹۸ ?</title>
                <link>https://virgool.io/fsf-linux/%D8%AC%D8%B4%D9%86-%D8%B1%D9%88%D8%B2-%D8%A2%D8%B2%D8%A7%D8%AF%DB%8C-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%DB%B1%DB%B3%DB%B9%DB%B8-fqz2jjlwo3us</link>
                <description>روز آزادی نرم‌افزار (به انگلیسی: Software Freedom Day) (به اختصار SFD) روزی است که طرفداران نرم‌افزارهای آزاد، آن را جشن می‌گیرند. هدف اصلی این جشن‌ها، معرفی این مفهوم به دیگران و تشویق آن‌ها به استفاده از آن است.اولین بار این روز در ۲۸ اوت سال ۲۰۰۴ جشن گرفته شد. سال اول ۷۰ گروه در نقاط مختلف جهان جشن‌ها را  برگزار کردند. این عدد در سال بعد به ۳۰۰ تیم در ۶۰ کشور رسید و تا جایی که  پیش رفت که در سال ۲۰۰۸، این جشن در ۹۰ کشور جهان برگزار شد.از سال ۲۰۰۶ به بعد، تصمیم گرفته شد تا روز آزادی نرم‌افزار در سومین شنبه سپتامبر جشن گرفته شود.گروهی به نام آزادی نرم‌افزار بین‌الملل مرجع تصمیم‌گیری‌های بزرگ در مورد روز آزادی نرم‌افزار است.[۱]امسال در پایتخت ایران ، جشن روز آزادی نرم افزار در شهریور ماه با مشارکت ، همکاری و حضور عموم علاقه‌مندان برگزار خواهد شد :? جمعه هشتم شهریور ماه ۱۳۹۸⏰ ساعت ۱۴ تا ۲۱ ? باغ کتاب تهران? ورود برای عموم آزاد استاین جشن به صورت داوطلبانه و خودجوش توسط جامعه هواداران آزادی نرم‌افزار برپا می‌شود اگر شما هم قصد دارید در برگزاری این جشن  سهمی داشته باشید لطفا به پیوند زیر در گیت‌لب( با استفاده از قیلترشکن ) مراجعه نمایید ( اصلا خجالت نکشید و تعارف نکنید! ) :https://gitlab.com/sfd-iran/sfd98-prepare/issuesدر پیامرسان تلگرام به گروه جشن روز آزادی نرم‌افزار بپیوندید :https://t.me/sfd1398groupهمچنین به زودی می‌توانید برای اطلاعات بیشتر به وبسایت جشن آزادی نرم افزار مراجعه کنید :https://tehransfd.ir/آدرس یک :‌ میدان ونک، بزرگراه حقانی، مسیر غرب به شرق، بعد از تقاطع بزرگراه شهید مدرس، خروجی کتابخانه ملی، باغ کتاب ‏تهران   آدرس دو: بزرگراه شهید همت، مسیر شرق به غرب، بعد از خروجی بزگراه حقانی، خروجی باغ موزه دفاع مقدس و باغ کتاب تهران?دسترسی از متروی شهید همت و حقانی</description>
                <category>لینوکس و نرم افزار آزاد</category>
                <author>خُرسند</author>
                <pubDate>Fri, 16 Aug 2019 18:46:08 +0430</pubDate>
            </item>
                    <item>
                <title>داکر رجیستری چیست؟</title>
                <link>https://virgool.io/fsf-linux/%D8%AF%D8%A7%DA%A9%D8%B1-%D8%B1%D8%AC%DB%8C%D8%B3%D8%AA%D8%B1%DB%8C-%DA%86%DB%8C%D8%B3%D8%AA-hija8zy801y7</link>
                <description>XaaS Docker Registry  
داکر رجیستری چیست؟داکر رجیستری فضای ذخیره سازی ایمیج‎های داکری می‎باشد.برای راه اندازی کانتینر شما به ایمیج مربوطه نیاز خواهید داشت که باید از روشی ایمیج را دریافت کنید که متداول‎ترین روش دریافت ایمیج‎ها دانلود از داکر هاب می‎باشد.با توجه به فراگیر شدن استفاده از داکر نیاز به مخازن ایمیج داکر پیش از هر زمان دیگر احساس می‎شود.چرا باید از داکر رجیستری XaaS استفاده کنیم؟مخزن اصلی ایمیج‎های داکر، داکر هاب می‎باشد که به علت تحریم‎ها ایران جزء کشورهایی می‎باشد که دسترسی به این مخزن برایش وجود ندارد.برای رفع این مشکل اقدام به راه اندازی مخزن داکر داخلی با همان ایمیج‎های اصلی موجود در داکر هاب کردیم. به عبارت دیگر از این پس بدون نیاز به فیلتر شکن یا پروکسی و…. می‎توانید ایمیج‎های مورد نیاز خود را از این مخزن دانلود و استفاده کنید.نکتهقابل ذکر این است که کل مخزن هر ۲۴ ساعت با داکر هاب بروزرسانی می‎شود تا اطمینان حاصل کنیم مشتریان عزیز به آخرین ورژن هر ایمیج دسترسی دارند.در این مخزن ایمیج‎های سرویس‎های اصلی و محبوب‎ترین ایمیج‎ها موجود می‎باشد و قابل دسترس هستند و اگر ایمیج خاصی مورد نظر شما باشد و در مخزن موجود نباشد کافی است با ما تماس بگیرید، و ایمیج درخواستی خود را بگویید تا ظرف ۳۰ دقیقه آخرین ورژن ایمیج در مخزن آپلود و برای همیشه در دسترس شما قرار بگیرد.ما در این مخزن محدودیت فضای ذخیره سازی نداریم!چگونگی استفاده از مخزن داکر XaaS :برای استفاده از این سرویس کافی است دستور زیر را در ترمینال وارد نمایید:Docker pull docker.xaas.ir/اسم ایمیج مورد نظربه عنوان مثالDocker pull docker.xaas.ir/httpdیاDocker pull docker.xaas.ir/mysqlبه همین سادگی و بدون نیاز به هیچ ابزاری ایمیج مورد نظر را دانلود و استفاده نمایید.</description>
                <category>لینوکس و نرم افزار آزاد</category>
                <author>XaaS Cloud Computing</author>
                <pubDate>Wed, 14 Aug 2019 13:09:48 +0430</pubDate>
            </item>
                    <item>
                <title>انتشار ubuntu نسخه 19.04 یک اتفاق خوب</title>
                <link>https://virgool.io/fsf-linux/%D8%A7%D9%86%D8%AA%D8%B4%D8%A7%D8%B1-ubuntu-%D9%86%D8%B3%D8%AE%D9%87-1904-%DB%8C%DA%A9-%D8%A7%D8%AA%D9%81%D8%A7%D9%82-%D8%AE%D9%88%D8%A8-msqugjz63u7u</link>
                <description>به هر حال برای هر شخص یا اشخاصی ، تعریف اتفاق خوب متفاوته . به عقیده من ، هر چیزی که باعث شادی بشه حتی در ثانیه ، یک اتفاق خوبه . چه برسه به یک سال بلند و پر پیچ خم . برای ما لینوکسی ها و اوبونتویی ها ، اومدن نسخه جدید اوبونتو ،‌یک اتفاق خوبه . جدا از داستان های &quot;کدوم توزیع بهتره و ... &quot; میخوام نگاهی کنیم به اتفاقات جدید اوبونتو و تاریخ انتشار نسخه 19.04نوشته من ترجمه سایت  itsfoss  هست به لینک زیر  https://itsfoss.com/ubuntu-19-04-release-features/ خوب حالا بریم سر اصل مطلب . یک زمان بندی خوب ارائه شده که در پایین میبینیم  :Feature freeze: February 21, 2019UI freeze: March 14, 2019Kernel freeze: April 1, 2019Beta release date: March 28, 2019Final release date: April 18, 2019طبق برنامه زمان بندی بالا  ، تاریخ انتشار نسخه نهایی اوبونتو 19.04 برابر با 29 فروردین 98 . آخرین 5 شنبه فروردین . اصولا جلسه های لاگ (دورهمی کاربران لینوکس) آخرین 5 شنبه هر ماه انجام میشه . و جالب اینکه اولین لاگ 98 برابر با انتشار اوبونتو 19.04 . تغییرات جدید Ubuntu Yaruداخل این نسخه از ابونتو ،  قالبی به اسم yaru تکمیل شد که تکمیل شده رابط گرافیکی 18.10  است . داخل این تغییر ، تعداد زیادی از آیکون ها که وجود نداشتند اضافه شد .  https://github.com/ubuntu/yaru Gnome 3.32از جایی که Gnome 3.32 قبل از  29 فروردین منتشر میشه ، احتمال میره که اوبونتو 19.04 با نسخه Gnome 3.32 منتشر بشه . بارزترین ویژگی این نسخه ، صفحه لاگین جدید Gnome 3.32 GSConnectیک قابلیت خوب برای دوستانی که اندروید استفاده میکنن اینه که داخل نسخه 19.04 یک هنگام سازی برای رابط GSConnect  ایجاد شده که به شما این امکان رو میده تا بتونین از طریق گوشی اندرویدی ، به سیستم عامل سینک بشید و نوتیفیکیشن ها رو مطالعه کنید و به آنها جواب هم بدید . پیشتر این قابلیت به صورت یک ریپوزیتوری مجزا بود و الان به صورت پیشفرض داخل اوبونتو 19.04 قرار داده شده . تا الان تغییرات که مطالعه کردم در این حد بود . باز اگر تغییراتی بود که نگفتم ، ذکر کنید و اگر خودم هم چیزی پیدا کنم ، متن رو به روز میکنم . ارادت</description>
                <category>لینوکس و نرم افزار آزاد</category>
                <author>نیما حبیب خدا</author>
                <pubDate>Fri, 15 Mar 2019 01:23:10 +0330</pubDate>
            </item>
                    <item>
                <title>لینوکسی شو - تحریم های بی اثر</title>
                <link>https://virgool.io/fsf-linux/%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3%DB%8C-%D8%B4%D9%88-%D8%AA%D8%AD%D8%B1%DB%8C%D9%85-%D9%87%D8%A7%DB%8C-%D8%A8%DB%8C-%D8%A7%D8%AB%D8%B1-vcuhho9u5cop</link>
                <description>خوب با اوضاعی که واسه دنیا درست کردن ، هر روز شاهد تحریم های بیشتریم . مخصوصا برای ما برنامه نویسا و در کل گروه IT. اما اگر لینوکسی باشی ، خیلی برات تحریم معنی نداره و کلا راحت تر زندگی میکنی . عمدتا میان و در مورد TOR  صحبت میکنن . اما من میخوام از یک پروژه ایرانی براتون بگم که از  Tor و Onion Router  استفاده میکنه . اسم این پروژه تراکتور (tractor) هست و کار بچه های لاگ تهرانه . ( اسم شخص رو نمیگم . شاید دوست نداشته باشه )‌. خاصیت این نرم افزار ، استفاده از Tor  به صورت خیلی راحت و بی دردسره . خوب بریم سر اصل مطلب . برای نصب این پکیج دستورات زیر رو بزنید . sudo apt-get install software-properties-common
sudo add-apt-repository ppa:tractor-team/tractorsudo apt updatesudo apt install tractorبا دستورهای بالا tractor نصب شد . نحوه استفاده خیلی راحته . ما داخل tor با نوشتن عبارت tor  میتونیم روتر رو فعال کنیم و به شبکه متصل بشیم . اینجا کافیه دستور زیر رو بزنیم . tractor startاین دستور رو که وارد کنیم ، bootstrap شروع میشه و مراحل اتصال به  tor انجام میشه . یکی از خوبی هاش اینه که tractor  توی background کار میکنه و instance  ترمینال رو اشغال نمیکنه و نیاز نیست دوتا ترمنیال باز کنید . خوب حالا شما روی localhost:9050 میتونین پروکسی کنید .اگر نیاز داشتید که یک id جدید بگیرید دستور زیر رو بزنید تا روتر شما تغییر کنه . tractor newidبهتره یک سر هم به نحوه کار با این پکیج بزنید :man tractor پیج رسمی این پکیج باحال رو داخل لینک زیر ببینید . ( نویسنده اونجا معلومه ) . https://gitlab.com/tractor-team/tractorارادت</description>
                <category>لینوکس و نرم افزار آزاد</category>
                <author>نیما حبیب خدا</author>
                <pubDate>Thu, 17 Jan 2019 09:37:36 +0330</pubDate>
            </item>
                    <item>
                <title>سیستم عامل NodeOS بر مبنای اوبونتو</title>
                <link>https://virgool.io/fsf-linux/%D8%B3%DB%8C%D8%B3%D8%AA%D9%85-%D8%B9%D8%A7%D9%85%D9%84-nodeos-%D8%A8%D8%B1-%D9%85%D8%A8%D9%86%D8%A7%DB%8C-%D8%A7%D9%88%D8%A8%D9%88%D9%86%D8%AA%D9%88-yjoxnwnxqm8r</link>
                <description>خیلی عجیبه. نه؟ یکی از دوستان بهم لینک زیر رو معرفی کرد و کنجکاو شدم که ببینم چیه : http://node-os.com واقعا ایده جالب و معرکه ای هست . اولین سیستم عامل لینوکسی بر مبنای Nodejs  که از مخازن npm  استفاده میکنه . داخل اوبونتو عمدتا از snap و یا apt  استفاده میشه به عنوان مخزن که دقیقا همین ساختار داخل NodeOs  هم رعایت شده . اما با npm که همون node package management  هست . حتما خیلی ها میگن که شدنی نیست. اما دیدین که شد . قدرت nodejs  رو نمیشه دست کم گرفت.از قدرتش داخل روبوتیک و IOT  که با cylonjs  انجام میشه ، تا NodeOs که یک سیستم عامل کامله . حتی نحوه نصبش واقعا جالبه . کافیه مراحل زیر رو روی اوبونتو انجام بدید :‌git clone git@github.com:NodeOS/NodeOS.git
cd NodeOS
sudo bin/install-dependencies
npm install
npm run build
npm run startحالا NodeOs  شروع میکنه به پیدا کردن بهترین ایزو برای ساختار معماری شما و سیستم عامل رو نصب میکنه .  https://github.com/NodeOS/NodeOS#build-nodeos-in-five-steps مطالعه این مطلب خالی از لطف نیست : https://itsfoss.com/nodeos-operating-system/ در آخر اگر مطلبم مفید بود یک فنجون قهوه مهمونم کن . حرف زیاد داریم بزنیم</description>
                <category>لینوکس و نرم افزار آزاد</category>
                <author>نیما حبیب خدا</author>
                <pubDate>Tue, 04 Dec 2018 17:19:04 +0330</pubDate>
            </item>
                    <item>
                <title>لینوکسی شو : نصب nextcloud ( نکست کلود ) در اوبونتو</title>
                <link>https://virgool.io/fsf-linux/%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3%DB%8C-%D8%B4%D9%88-%D9%86%D8%B5%D8%A8-nextcloud-%D9%86%DA%A9%D8%B3%D8%AA-%DA%A9%D9%84%D9%88%D8%AF-%D8%AF%D8%B1-%D8%A7%D9%88%D8%A8%D9%88%D9%86%D8%AA%D9%88-tpnvkxzkrlsu</link>
                <description>حدود یک سال پیش بود که برای انجام پروژه به یک شرکتی رفتم ( اسمشو نبر ) که تنها تیجه مطلوب اون شرکت آشنایی من با OwnCloud  و یک رفیق خوب و برنامه نویس ماهر بود . اول بگم که OwnCloud چیه و ارتباطش با NextCloud   چیه OwnCloud  محصول یک شرکت نرم افزاری در آلمان ، که هدفش توسعه فضای ابری و به صورت رایگان و اوپن سورسه . این محصول به صورت رایگان قابل دانلود ، فقط برای سیستم عامل های لینوکسی . شما میتونین با این برنامه ، یک فضای ابری شخصی مثل GoogleDrive , One Drive  داشته باشید . با این تفاوت که خیالتون راحته که کسی اطلاعات شما رو نمیدزده و جایی درز نمیکنه . زبان برنامه نویسی این سیستم به PHP هست و از هیچ فریم ورک خاصی استفاده نشده . دیزاین پترنش هم Factory هست اگر اشتباه نکنم . در کل قابلیت های خوب و کاملی داره که باید مفصل در موردش صحبت بشه . قابلیت هایی مثل انتقال فایل از گوشی و یا از کامپیوتر شخصی هم هست که با نرم افزارهای خودش که اون هم رایگان و متن باز هست انجام میشه . حالا nextCloud چیه ؟ نکست کلود یک تیمی از ownCloud هستند که قابلیت های زیادی رو به این سیستم اضافه کردن . مهمترین تفاوتشون اینه که owncloud یک نسخه Enterprise داره که شما با خریداری اون نسخه ، میتونید سیستم رو ReBrand  کنید و لوگو و مشخصات خودتون رو بزنید و از آپدیت ها و پشتیبانی ها استفاده کنید . نکست کلود فقط یک نسخه رایگان داره و شما باید یک لایسنس ( رایگان و همیشگی ) داشته باشید تا بتونید با سیستم کار کنید . برای این لایسنس اصلا مبلغی هزینه نمیشه . البته راه هایی برای شکستن لایسنس هست . اما اخلاقی نیست . حالا بریم که نصبش کنیم . نصب نکست کلود خیلی راحته و کافیه دانلود کنین و چند خط دستور بزنید . اول snap  رو نصب کنین : sudo snap install nextcloudدقت کنید که LAMP  سروری که نصب میکنید حتما php7.1+  باشه . حالا آخرین نسخه رو دانلود کنید از لینک رو به رو  : https://nextcloud.com/install حالا به مسیر زیر برید برای دانلود :Download Nextcloud Server &gt; Download &gt; Archive file for server ownerترجیحا با فرمت zip  برید . چون باقی کارها با zip  انجام میشه . بعد از اون یک فایل checksum هم پایین لینک دانلود هست . حالت md5  و zip  شده رو دانلود کنید . یعنی md5 که برای zip گذاشتن . بعد از دانلود به مسیر دانلود برید و ترمینال رو باز کنید و دستور زیر رو بزنید :md5sum  -c nextcloud-x.y.z.zip.md5 &lt; nextcloud-x.y.z.zipبه جای nextcloud-x.y.z باید اسم فایل هایی که دانلود کردید رو بزارید . حالا دستور زیر رو بزنید تا کلید های PGP  رو بگیریم . wget https://download.nextcloud.com/server/releases/nextcloud-x.y.z.zip.asc
wget https://nextcloud.com/nextcloud.asc
gpg --import nextcloud.asc
gpg --verify nextcloud-x.y.z.zip.asc nextcloud-x.y.z.zipحالا Unzip کنیم نکست کلود رو :unzip nextcloud-x.y.z.zip برای اینکه بتونیم روی سرور ببینیم کارو ، باید نکست کلود رو به مسیر وب سرور ببریم cp -r nextcloud /var/www/html خوب کار ما اینجا تمومه . مونده فقط تنظیمات آپاچ رو بریم  :nano /etc/apache2/sites-available/nextcloud.confکدهای زیر رو داخل فایل بالا بریزید و ذخیره کنید :Alias /nextcloud &quot;/var/www/html/nextcloud/&quot;

&lt;Directory /var/www/html/nextcloud/&gt;
  Options +FollowSymlinks
  AllowOverride All

 &lt;IfModule mod_dav.c&gt;
  Dav off
 &lt;/IfModule&gt;

 SetEnv HOME /var/www/html/nextcloud
 SetEnv HTTP_HOME /var/www/html/nextcloud

&lt;/Directory&gt;بعدشم باید فعالش کنیم و وب سرویس رو ریستارت کنیم:a2ensite nextcloud.conf
a2enmod headers
a2enmod env
a2enmod dir
a2enmod mime
service apache2 restart قبل از اینکه نصب رو شروع کنید باید اول دسترسی های باز رو به کاربر بدیم  :chown -R www-data:www-data /var/www/html/nextcloud/اینجوری دسترسی نوشتن رو برای فایل های کانفیگ ، به سیستم دادیم .حالا به صفحه نصب برید :‌localhost/nextcloudهمه چیز تمومه . در آخر اگر مطلبم مفید بود یک فنجون قهوه مهمونم کن . حرف زیاد داریم بزنیم.</description>
                <category>لینوکس و نرم افزار آزاد</category>
                <author>نیما حبیب خدا</author>
                <pubDate>Sun, 02 Dec 2018 15:59:58 +0330</pubDate>
            </item>
                    <item>
                <title>فرار از تحریم داکر با کمک کشور چین!</title>
                <link>https://virgool.io/fsf-linux/docker-mirror-lf3lb5ujlyhf</link>
                <description>همان‌طور که می‌دونید داکر ایران رو تحریم کرده. هر چند که در دوران پسابرجام روزنه‌های امیدی برای رفع این تحریم پیدا شد، ولی با توجه به وضعیت فعلی، امیدی به حل شدن این مشکل نیست. از طرفی هم گزارش‌های زیادی از اینکه استفاده از Proxy سرعت دانلود Imageهای رو کم می‌کنه و کلا فرایند Pull کردن رو با مشکل مواجعه کرده، داشتم. خلاصه تصمیم گرفتم که تجربهٔ خودم رو قالب این پست منتشر کنم.من از Mirror Server کشور چین (https://registry.docker-cn.com) استفاده می‌کنم و در حال حاضر (آذر ۹۷) این سرور، ایران رو تحریم نکرده:curl -I https://registry.docker-cn.com
HTTP/2 200
server: Tengine
date: Wed, 28 Nov 2018 09:15:53 GMT
content-type: text/plain; charset=utf-8
vary: Accept-Encoding cache-control: no-cacheبرای اضافه کردن این Mirror Server مراحل زیر رو دنبال کنید: فایل daemon.json را در آدرس /etc/docker/ ایجاد کنید:sudo touch /etc/docker/daemon.json۲. جزئیات زیر رو توی فایل بنویسید:{
    &quot;registry-mirrors&quot;: [&quot;https://registry.docker-cn.com&quot;]
}۳. دیمون systemctl رو Reload کنید:sudo systemctl daemon-reload۴. سرویس docker رو Restart کنید:sudo service docker restart</description>
                <category>لینوکس و نرم افزار آزاد</category>
                <author>کمیل کمال</author>
                <pubDate>Wed, 28 Nov 2018 14:17:25 +0330</pubDate>
            </item>
                    <item>
                <title>لینوکسی شو : نصب لاراول در اوبونتو</title>
                <link>https://virgool.io/fsf-linux/%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3%DB%8C-%D8%B4%D9%88-%D9%86%D8%B5%D8%A8-%D9%84%D8%A7%D8%B1%D8%A7%D9%88%D9%84-%D8%AF%D8%B1-%D8%A7%D9%88%D8%A8%D9%88%D9%86%D8%AA%D9%88-ududnoaiujqv</link>
                <description>وقتی حرف از بهترین ها میزنیم ، باید تمام جنبه های اون رو بررسی کنیم . اوبونتو سیستم عامل آزاد ، قوی و متن باز هست و شما برای داشتنش فقط باید هزینه اینترنت رو بدید ( زیاده . میدونم . اما دیگه سیستم عامل واقعا مال خودتونه و هرکاری خواستید میتونید انجام بدید به صورت رایگان و هر بار نمیاد بگه لایسنس بخر تا چیزی که حقت هست رو فعلا بهت بدم و دوباره ازت بگیرمش . )حالا میخوایم توی اوبنتو با یکی از قویترین زبان های برنامه نویسی به اسم php کد بزنیم . این زبان (php) یک زبان اسکریپتی بر اساس CGI هست که فریم ورک ها و چارچوب های زیادی داره . مثل کدیگنایتر ، فالکون ، سیمفونی ، لاراول و ...من لاراول رو انتخاب میکنم چون کار باهاش خیلی راحتتره ، امکاناتش کاملتره و مسلما کار باهاش برام راحتتره . بازارشم داغتره .  http://laravel.com خوب حالا بریم که لاراول رو روی اوبونتو نصب کنیم . اول از همه برای نصب لاراول باید لمپ سرور رو نصب کنید . پس به مطلبی که در این مورد نوشتم برید و لمپ سرور رو ایجاد کنید .  https://virgool.io/fsf-linux/%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3%DB%8C-%D8%B4%D9%88-%D9%82%D8%B3%D9%85%D8%AA-%DA%86%D9%87%D8%A7%D8%B1%D9%85-%D9%86%D8%B5%D8%A8-lamp-server-j1bvsz6a1gsw حالا باید کامپوزر رو نصب کنیم . به ترمینال برید و دستور زیر رو بزنید.$ curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composerاین دستور ابتدا اینستالر رو دانلود میکنه و بعدش داخل usr/local/bin نصب رو انجام میده . حالا اگر composer رو داخل ترمینال وارد کنید باید با اطلاعاتی در این مورد مواجه بشید . حالا به پوشه html میریم و لاراول رو با استفاده از کامپوزر نصب میکنیم . زمان نصب ، به سرعت اینترنت بستگی داره  .$ sudo composer create-project laravel/laravel NiceProjectWithLaravel --prefer-distاسم NiceProjectWithLaravel رو به هر اسمی که میخواین ، تغییر بدید . حالا به مسیر جایی که نصب کردید برید  ( مثلا برای ما میشه :‌NiceProjectWithLaravel )به phpmyadmin  برید و یک پایگاه داده بسازید . حالا باید اطلاعات پایگاه داده رو وارد کنید . برای اینکار باید داخل یک فایل به اسم .env  برید . برای اینکار باید این فایل رو از لاراولی که نصب شده ایجاد کنید . کد زیر رو وارد کنید . $ sudo mv .env.example .env
$ nano .env
حالا میتونین اطلاعات پایگاه داده رو وارد کنید داخل این فایل و ذخیره کنید  ( با ctrl+x  و بعدش  y  و بعدش اینتر)حالا باید کارای توکن رو انجام بدید . دستور زیر رو بزنید :‌$ php artisan key:generateاین کار باعث میشه که برای لاراول شما یک توکن یونیک امن ایجاد بشه و در واقع تمام توکن ها از این رشته الگو میگیرن . این کار بخشی از RSA  هست. خوب حالا میریم سر موضوع ایجاد بخش لاگین و رجیستر که روی لاراول پیشفرض قرار داره . دستور زیر رو وارد کنید . $ php artisan make:auth
$ php artisan migrate
کد اول برای ما فایل های provider و view  و کنترلر و مدل های مرتبط این کار رو درست میکنه . دستور دوم جداول دیتابیس ما رو برای لاگین و رجیستر میسازه . حالا وقتش رسیده که تست کنیم :$ php artisan serve این دستور برای شما یک پورت باز میکنه که میتونین باهاش سایت رو ببینین :‌http://localhost:8000شما میتونین روی پورت دیگه هم باز کنین لاراول رو . با دستور زیر :‌$ php artisan serve --port=8002این باعث میشه روی 8002 سایت باز بشه . در آخر اگر مطلبم مفید بود یک فنجون قهوه مهمونم کن . حرف زیاد داریم بزنیم.</description>
                <category>لینوکس و نرم افزار آزاد</category>
                <author>نیما حبیب خدا</author>
                <pubDate>Sun, 25 Nov 2018 20:45:07 +0330</pubDate>
            </item>
                    <item>
                <title>لینوکسی شو: نصب کدیگنایتر در اوبونتو</title>
                <link>https://virgool.io/fsf-linux/%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3%DB%8C-%D8%B4%D9%88-%D9%86%D8%B5%D8%A8-%DA%A9%D8%AF%DB%8C%DA%AF%D9%86%D8%A7%DB%8C%D8%AA%D8%B1-%D8%AF%D8%B1-%D8%A7%D9%88%D8%A8%D9%88%D9%86%D8%AA%D9%88-pl32v3wwzxm6</link>
                <description>عمدتا کسایی که میان این مطلب رو میخونن میدونن کدیگنایتر چیه . اما برای دوستانی که احتمال میدیم نمیدونن ، میگیم : کدیگنایتر (Codeigniter) یک فریم ورک قوی و با انعطاف PHP هست. مثل لاراول CLI نداره و دستورات ترمینالی نداره . اما میشه براش ایجاد کرد . از لاراول ساده تره . متن باز  ( open source ) و رایگان . با معماری MVCقابلیت افزودن HMVC ( ماژولار کردن )...خوب چنین سیستمی که با تفکرات لینوکسی اینقدر زیبا حرکت میکنه ، باید بتونیم خوب کانفیگش کنیم تا به دردمون بخوره و از تمام امکاناتش خوب استفاده کنیم . بزن بریم . اول از همه باید LAMP  سرور رو نصب کنید . اگر نمیدونین چجوری ، به بحثی که در این مورد داشتیم برید : https://virgool.io/fsf-linux/%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3%DB%8C-%D8%B4%D9%88-%D9%82%D8%B3%D9%85%D8%AA-%DA%86%D9%87%D8%A7%D8%B1%D9%85-%D9%86%D8%B5%D8%A8-lamp-server-j1bvsz6a1gsw حالا به ترمینال اوبونتو برید و دستورای زیر رو بزنید تا کدیگنایتر دانلود بشه  :$ cd /var/www
$ wget https://github.com/bcit-ci/CodeIgniter/archive/3.1.9.zipما کدیگنایتر رو میتونیم با git clone هم بگیریم . اما دیدم این راه ساده تر شاید باشه برای دوستانی که با git کار نکردن. حالا فایلی که دانلود کردین رو از حالت فشرده در میاریم و اسمش رو به Codeigniter تغییر میدیم $ unzip 3.1.9.zip
$ mv CodeIgniter-3.1.9 CodeIgniterخوب تمومه . به phpmyadmin  برید و دیتابیس خودتون رو بسازید . اسم دیتابیس رو میزاریم codeigniter .اگر به هر دلیلی نخواستید به phpmyadmin برید یا نصب نبود ، به mysql برید از طریق ترمینال و دستورات زیر رو بزنید :$ mysql -u root -p   (بعد از این دستور از شما رمز عبور میخواد) 
mysql&gt; CREATE DATABASE codeigniter;mysql&gt; GRANT ALL ON codeigniter.* to &#039;root&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;_password_&#039;;   (به جای password رمز root  رو وارد کنید)mysql&gt; FLUSH PRIVILEGES;mysql&gt; quitخوب حالا باید به کدیگنایتر بگیم که دیتابیس ما اینه  . بریم برای ویرایش:$ cd Codeigniter 
$ nano application/config/database.phpمقادیر پایگاه داده رو تغییر بدید و با ctrl+x  ذخیره کنید . (از شما سوال میپرسه ، y  رو بزنید و اینتر کنید)$db[&#039;default&#039;] = array(
        &#039;dsn&#039;   =&gt; &#039;&#039;,
        &#039;hostname&#039; =&gt; &#039;localhost&#039;,
        &#039;username&#039; =&gt; &#039;root&#039;,
        &#039;password&#039; =&gt; &#039;_password_&#039;,
        &#039;database&#039; =&gt; &#039;codeigniter&#039;,
        &#039;dbdriver&#039; =&gt; &#039;mysqli&#039;,
        &#039;dbprefix&#039; =&gt; &#039;linuxiSho_&#039;,به جای linuxiSho هرچی دوست دارید بزارید .به جای _password_ هم رمز خودتون رو وارد کنید . (مرحله بالاتر) توی همون فایل بالا میتونین مقدار زیر هم تغییر بدید به همون روش قبل : $ config[&#039;base_url&#039;] = &#039;http://www.example.com/&#039;;حالا تنظیمات آپاچ رو درست میکنیم . با دستور زیر ، یک فایل تنظیمات کدیگنایتر در آپاچ میسازیم  :$ nano /etc/apache2/sites-available/codeigniter.confداخل این فایل مقادیر زیر رو وارد کنید : &lt;VirtualHost *:80&gt;    ServerName codeigniter.test    ServerAlias www.codeigniter.test    DocumentRoot /var/www/CodeIgniter    &lt;Directory /var/www/CodeIgniter&gt;          Allowoverride All    &lt;/Directory&gt;&lt;/VirtualHost&gt;دستور زیر رو در ترمینال وارد کنید تا تنظیمات آپاچ اعمال بشن :$ sudo a2enconf codeigniter
$ sudo systemctl restart apache2اگر روی لوکال هستین مرحله زیر رو برید تا codeigniter.test رو به سیستم بشناسونید :$ sudo nano /etc/hostsداخل این فایل زیر آخرین آی پی که 127.0.0.1 هست مقدار زیر رو وارد کنید : 127.0.0.1      codeigniter.testفایلتون شبیه به فایل زیر میشه  :127.0.0.1       phpmyadmin.test127.0.0.1       payment.devs127.0.0.1       react.test127.0.0.1       redirect.dev127.0.0.1       wordpress.test
127.0.0.1       codeigniter.test::1             localhostفایل من مقادیر زیادتری داره . لازم نیست برای شما هم دقیقا همین فایل بشه .حالا داخل مرورگر وارد کنید :‌    codeigniter.testکدیگنایتر شما بالا اومد . از اینجا به بعد با خیال راحت کد بزنید . در آخر اگر مطلبم مفید بود یک فنجون قهوه مهمونم کن . حرف زیاد داریم بزنیم. </description>
                <category>لینوکس و نرم افزار آزاد</category>
                <author>نیما حبیب خدا</author>
                <pubDate>Thu, 22 Nov 2018 10:06:21 +0330</pubDate>
            </item>
                    <item>
                <title>لینوکس، بدون کابوس؛ تفاوت فایل‌سیستم ویندوز و لینوکس</title>
                <link>https://virgool.io/fsf-linux/linuxandwindowsfilesystemsdifference-pal6w9bdz4uk</link>
                <description>فایل‌سیستم لینوکس تفاوت‌های کمی با فایل‌سیستم ویندوز دارد. در لینوکس، شما حروفی برای نامگذاری درایوها یا بک‌اسلشی («\») پیدا نمی‌کنید؛ اما، محیطی اعجاب‌آلود خواهید یافت که در آن فایل‌ها نامی مشابه دارند و تفاوتشان در بزرگ یا کوچک بودن حروف ابتدای نام پوشه است!در این مقاله سعی می‌کنم تعدادی از جالب‌ترین تفاوت های فایل‌سیستم لینوکس با ویندوز را معرفی کنم:۱) ساختار فایل‌فهرست (directory) محور: در لینوکس شما پوشه‌ای با نام‌های windows، program files یا مثلا users نمی‌بینید که کارکردی مشابه آنچه در ویندوز دارند داشته باشند (البته فایل‌فهرست /home/ می‌تواند مشابه users عمل نماید). ساختار فایل‌فهرست در لینوکس، فقط به معنای تفاوت در نام پوشه‌ها یا کارکرد آنها نیست؛ بلکه از نظر لایه‌بندی هم تفاوت‌هایی وجود دارد؛ در ویندوز تمام فایل‌های مربوط به برنامه می‌توانند در پوشه‌ی مخصوص برنامه (مثلا آدرس C:\Program Files\Application) قرار بگیرند اما در لینوکس، داستان متفاوت است؛ فایل های مربوط به برنامه‌ها در منابع متعددی ذخیره میشوند (مثلا کدهای اصلی برنامه در /usr/bin/، کتابخانه‌ها در /usr/lib/ و تنظیمات در /etc/ ذخیره میشوند).۲) حساسیت به حروف (case sensitivity): در ویندوز شما قادر به ساخت فایلی به نام file در یک پوشه و ساخت فایلی به نام FILE در همان پوشه نیستید؛ بنابراین فایل‌سیستم ویندوز به بزرگی یا کوچکی حروف، حساس نیست و این دو نام را برابر میداند. در لینوکس، شما میتوانید فایل هایی با نام‌های file، File و FILE درون یک پوشه بسازید! لینوکس به بزرگی یا کوچکی حروف حساس است و این نام‌ها را از یکدیگر متمایز می‌داند.۳) «\» در مقابل «/»: ویندوز برای آدرس‌دهی به فایل‌ها، همانند جد خود، یعنی سیستم‌عامل داس، عمل می‌کند و برای جدا کردن نام پوشه‌ها هنگام آدرس‌دهی از بک‌اسلش («\») استفاده میکند؛ این در حالیست که در لینوکس برای این امر از فوروارد اسلش («/») استفاده میشود.C:\Users\Name
// VS.
/home/name۴)  همه فرزند یک «/»: پارتیشن‌ها (بخش‌بندی فضای ذخیره‌سازی سخت) در ویندوز برمبنای حروف الفبای انگلیسی جدا و نامگذاری می‌شوند؛ بنابراین فایل‌سیستم هر بخش‌بندی، بر مبنای همین حروف شناخته میشود؛ لینوکس به جای استفاده از حروف، تمام فایل‌سیستم‌های بخش‌بندی‌ها را جزو خصوصیات یک فایل‌فهرست به حساب می‌آورد (اینکار در ویندوز هم قابل انجام است ولی شیوه‌ی کار ویندوز بر این مبنا نیست). در لینوکس، همه‌ی بخش‌بندی‌ها زیرمجموعه‌ (فرزند) فایل‌فهرست ریشه (root directory)  یعنی همان فایل‌فهرست «/» هستند، هیچ فایل یا پوشه‌ای بالاتر از فایل‌فهرست ریشه قرار ندارد، در حالی که در ویندوز، خارج از C: پوشه‌ها و فایل‌های زیادی وجود دارند. زمانی که دستگاهی را به رایانه‌ی خود متصل میکنید، این دستگاه زیرمجموعه‌ی فایل‌فهرست /media/ (یا /run/media/) می‌شود. این روند صرفا بر مبنای آدرس‌دهی درون سیستم‌عامل انجام می‌شود؛ پس، از فایل‌فهرست ریشه میتوان به تمام بخش‌بندی‌ها یا فضاهای ذخیره‌سازی دسترسی داشت.۵) هر چیزی فایل است: مثل مورد قبل که همه‌ی بخش‌بندی‌ها فرزندان فایل‌فهرست ریشه‌اند، در لینوکس همه چیز فایل است. مثلا محتویات دیسک‌خوان در dev/cdrom/ در دسترس است، ماوس (موشواره) طبق dev/mouse/ نشان داده می‌شود. این تعریف کمی ساده‌سازی شده است، در حقیقت همه چیز در لینوکس فایل نیست، بلکه این مفهوم کمک می‌کند شما متوجه شوید لینوکس چگونه کار میکند. خیلی چیزها در لینوکس، در فایل‌سیستم لینوکس نشان داده میشود اما واقعا یک فایل نیست؛ اینها فایل‌هایی ویژه هستند که دستگاه‌های سخت‌افزاری را توصیف میکنند یا اطلاعاتی در مورد سیستم را نشان می‌دهند و مشابه این. این فایل‌های ویژه می‌توانند در مکانی شبه‌فایل یا فایل سیستم‌مجازی  نشان داده شوند (مثلا /dev/ که فایل‌های ویژه‌ای برای نشان دادن سخت‌افزار دارد یا /proc/ که شامل اطلاعات سیستمی یا فرایندهای در حال اجراست و آنها را نشان می‌دهد).۶) حذف یا تغییر فایل های باز: در سیستم‌عامل‌های مشابه یونیکس (مثلا لینوکس)، برنامه‌ها یک فایل را برای دسترسی انحصاری خودشان قفل نمی‌کنند (چیزی که در ویندوز انجام می‌شود)؛ مثلا فرض کنید در حال مشاهده‌ی یک فیلم با برنامه‌ی VLC بر مبنای ویندوز هستید، تیتراژ فیلم در حال پخش است و شما خود فیلم را دیده اید، حال قصد دارید که فیلم را پاک کنید، با یک پیام خطا مواجه میشوید، شما باید ابتدا فیلم را متوقف کنید و بعد از آن میتوانید آن فایل را حذف کنید، تغییر نام دهید یا هرکاری مشابه این؛ در لینوکس شما حین اجرای فیلم، میتوانید آن را تغییر دهید یا اصلا حذف کنید، هیچگاه پیام خطایی در مورد در حال استفاده بودن فایل، نخواهید دید!</description>
                <category>لینوکس و نرم افزار آزاد</category>
                <author>محمدمهدی بخشی</author>
                <pubDate>Thu, 08 Nov 2018 21:19:56 +0330</pubDate>
            </item>
                    <item>
                <title>بت، پاشنه آشیل کت !</title>
                <link>https://virgool.io/fsf-linux/%D8%A8%D8%AA-%D9%BE%D8%A7%D8%B4%D9%86%D9%87-%D8%A2%D8%B4%DB%8C%D9%84-%DA%A9%D8%AA-b62crsk0fsny</link>
                <description>سلام به همگی، تو اولین پست‌م، میخوام یک اسکریپت رو بهتون معرفی کنم که برای خودم خیلی کاربردی بود!حتما با کت آشنا هستین که ؟ (cat)دستور کت یک دستور برای نمایش محتوای فایل داخل سیستم های Unix based هستش.حالا یک بنده خدایی، اومده یک اسکریپت نوشته که کت رو خوشکل کرده ! و اسمش‌رو گزاشته Bat.میبینین چه خشکل شده ؟ :))شخصا کار من رو خیلی آسون‌تر کرد :)تو آرچ با pacman میتونید نصبش کنید :sudo pacman -S batاگر توزیع دیگه‌ای هم دارید، احتمال خیلی زیاد تو پکیج‌منیجرتون می‌تونید پیداش کنید.لینک گیت هاب : https://github.com/sharkdp/bat </description>
                <category>لینوکس و نرم افزار آزاد</category>
                <author>Mahdyar</author>
                <pubDate>Mon, 05 Nov 2018 21:58:24 +0330</pubDate>
            </item>
                    <item>
                <title>مهم ترین تغییرات پایتون 3.7.1 ?</title>
                <link>https://virgool.io/fsf-linux/biggest-changes-for-python-371-fqx2b2gpdcnc</link>
                <description>پایتون 3.7.1 چند هفته قبل (2018/10/20) منتشر شدAdd new time functions with nanosecond resolutionimport time

time.clock_gettime_ns()
time.clock_settime_ns()
time.monotonic_ns()
time.perf_counter_ns()
time.process_time_ns()
time.time_ns()تابعی که برای زمان وجود داشت time.time() بود که عددی اعشاری را برمیگرداند...اما با تکنیک جدید نانوثانیه این مشکل برطرف شده، و در صورت نیاز محاسبات خیلی دقیقی رو میشه با این تکنیک انجام دادTyping Enhancementsfrom typing import List
Vector = List[float]

def scale(scalar: float, vector: Vector) -&gt; Vector:
    return [scalar * num for num in vector]
    
    # typechecks; a list of floats qualifies as a Vector.
new_vector = scale(2.0, [1.0, -4.2, 5.4])پایتون بی نیاز از تعیین نوع داده متغییر هاست، ولی به گفته برخی باعث پیچیده تر شدن و ناخوانی کُد میشود. این سینتکس که در سری نسخه های پایتون 3 موجود بود در این بروزرسانی عملکرد بهتری پیدا کرده.پایتون در زمان اجرا نوع متغییر را چک نمیکند(!)from typing import NewType
UserId = NewType(&#039;UserId&#039;, int)
ProUserId = NewType(&#039;ProUserId&#039;, UserId) Built-in breakpoint()breakpoint()
print(&quot;one step&quot;)
print(&quot;second step&quot;)این تابع که دیباگ کردن برنامه استفاده میشد اکنون به صورت یک تابع داخل هسته پایتون قرار داده شده و دیگر نیاز به فراخوانی pdb نیست!(پ.ن: در محیط pdb از کامند help برای دیدن لیست کار هایی که قادر به انجام هستین استفاده کنید و یا به سادگی کامند next را تایپ کنید!)امکانات مهم دیگه که در این بروزرسانی میشه مشاهده کرد Await expression و Forced UTF-8 Runtime Mode هستندخوشحال میشم اگه اشکالی در نوشته بالا هست بهم گوش زد بشه، و یا حتی باهم گپی درمورد پایتون داشته باشیم :)برای مطالعه بیشتر: لینکمنابع: 1 2</description>
                <category>لینوکس و نرم افزار آزاد</category>
                <author>ارسلان سفیدگر</author>
                <pubDate>Mon, 05 Nov 2018 12:15:02 +0330</pubDate>
            </item>
                    <item>
                <title>نرم افزارهای آزاد در اوبونتو</title>
                <link>https://virgool.io/fsf-linux/%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1%D9%87%D8%A7%DB%8C-%D8%A2%D8%B2%D8%A7%D8%AF-%D8%AF%D8%B1-%D8%A7%D9%88%D8%A8%D9%88%D9%86%D8%AA%D9%88-pn9girole6o2</link>
                <description>توی این مطلب، میخوام نرم افزارهای کاربردی ، و آزاد در اوبونتو رو معرفی کنم، که ببینید جایگزین های زیادی وجود داره و هیچ کمی و کسری ندارید . البته اسن مطلب بیشتر برای اونایی که از پنجره فرار کردنه (فرار از ویندوز).اول از همه باید بگم که اگر میخواین نرم افزار های تایید شده و مطمئن رو نصب کنین، از software center استفاده کنین، هم به روزه ، هم مطمئن، منظور از مطمئن این نیست که ویروس داره یا نه، منظور اینه که با نسخه شما سینکه، استاندارد های متن باز رو داره، همیشه پشتیبانی میشه و ... جایگزین microsoft officeلیبر آفیس ، یک جایگزینه عالیه، که انواع فایل های متنی ، شیت ها، اسلایدر ها رو پشتیبانی میکنه، میتونین در موردش بخونین https://www.libreoffice.org/get-help/install-howto/linux/ گزینه بعدی، پخش موسیقیگزینه های زیادی هست، اما من یکی رو نسبت به همه ترجیح میدم، چون هم ظاهرش خوبه، هم سرعتش و هم کار باهاش راحتهRhythmbox https://wiki.gnome.org/Apps/Rhythmbox گزینه بعدی پخش فیلمتوی این گزینه، قطعا ترجیح همه، VLC هست که همه فرمت ها رو پشتیبانی میکنه، میتونین از این لینک نصب کنین: https://www.videolan.org/vlc/download-ubuntu.html مورد بعدی دانلود منیجر:با افتخار، پرسپولیس. میشه گفت جز بهتریناست و کار بچه های لینوکس ایرانه و داخل منابع رسمی اوبونتو، تایید شده.https://persepolisdm.github.ioمورد بعدی ، پارتیشن و مدیریت هاردمن خودم Gparted رو ترجیح میدم، توضیحات کاملتر رو اینجا بخونین https://directory.fsf.org/wiki/Gparted مورد بعدی، محیط کدنویسیاین بخش پر چالشه، اگر بخوایم یک IDE خوب و موفق، که رایگان و آزاد و حرفه ای باشه، اسم ببرم، باید بگم که اتم از همه بهتره. برای همه زبان ها پلاگین داره، و برای هر سینتکس، هینت های خودشو، البته شاید به اون خوبی و دقیقی که IDE های تجاری هستن نباشه، اما سرعت پیشرفتش عالیه، اگر هم جاوا میزنین ، من پیشنهادم نت بینزه ، Net Beans https://netbeans.org نت بینز اولین IDE بود که باهاش کار کردم و کار باهاش واقعا بی نظیره.شاید خودم هنوز بعضی جاها از جت برینز که تجاریه استفاده میکنم، منکر کارکرد عالی و امکانات بی نظیرشم نمیشم، اما بهتر اینه که با نرم افزاری کار کنیم که آزادی شما رو نمیگیره. کم کم عادت استفاده از اتم، جای همه رو میگیرهیک ویرایشگر کد هم به اسم vsCode اومده که مال مایکروسافته، اما من به این جامعه اعتماد ندارم، اومدن مایکروسافت به لینوکس، منو یاد این حرف میندازه : قسم روباه رو باور کنیم یا دم خروسو؟بگذریم...در مورد اتم هم میتونین به سایت اتم برید https://atom.io  https://virgool.io/@nima.2004hkh/atom-teletype-p2jzlo5zet2h درخواستاتون رو کامنت کنین تا توی همین مطلب، نرم افزارها رو معرفی کنمدر آخر اگر مطلبم مفید بود یک فنجون قهوه مهمونم کن . حرف زیاد داریم بزنیم</description>
                <category>لینوکس و نرم افزار آزاد</category>
                <author>نیما حبیب خدا</author>
                <pubDate>Mon, 05 Nov 2018 08:29:03 +0330</pubDate>
            </item>
                    <item>
                <title>لینوکسی شو : قسمت چهارم، نصب lamp server</title>
                <link>https://virgool.io/fsf-linux/%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3%DB%8C-%D8%B4%D9%88-%D9%82%D8%B3%D9%85%D8%AA-%DA%86%D9%87%D8%A7%D8%B1%D9%85-%D9%86%D8%B5%D8%A8-lamp-server-j1bvsz6a1gsw</link>
                <description>توی قسمت قبل، نحوه مدیریت فایل ها و فولدرها رو گفتم، اینم مجدد بگم، من چیزی یاد نمیدم، فقط کارایی که خودم میکنم رو به اشتراک میذارم که شاید برای کسی مفید باشه، واسه خودمم خوبه.حالا نوبت میرسه به نصب یک سری اپلیکیشن ها. من وارد برنامه نویسی میشم، چون عمدتا هدفشون از نصب اوبونتو، برنامه نویسیه، اگر نمیخواین برنامه نویسی کنید، تا قسمت قبل کافیه. در یک قسمت مناسب، با یک سرفصل جدا، نرم افزارهای دسکتاپی خوب هم معرفی میکنم، اما توی لینوکسی شو، این کارو نمیکنم.  https://virgool.io/fsf-linux/لینوکسی-شو-مدیریت-فایل-ها-و-فولدرها-در-اوبونتو-spallzsd9sna خوب، میخوام نحوه نصب lamp server  رو بگم.داخل یکی از مطالب قبلیم، گفتم که چجوری با bash script ، لمپ سرر راه بندازیم، خوب این کار برای کسی که تازه شروع کرده، کمی غریبه، برای همین مسخوام راه کار نصب lampserver رو با ترمینال بگم https://virgool.io/fsf-linux/ابزار-من-قسمت-اول-بش-اسکریپت-نصب-lamp-سرور-nvh4etbolhbp حالا اصن lampserver چیه؟مخفف ، linux apache mysql php و بعضی جاها میگن php,python,perl که من با php میگم، چون برای اکثرا پر کاربردتره.ما باید چند پکیج رو نصب کنیمPhp , mysql , phpmyadmin, apacheخوب از apache شروع کنیم، apache یک وب سرور هست که مدیریت درخواست ها و پاسخ های سرور رو انجام میده. یعنی requests و responses, متن باز و آزاد هست و کار باهاش خیلی راحته، وب سرور های دیگه ای هم مثل nginx داریم که خیلی حرفه ای ترن و جلوتر حتما میگم ، توی این مطلب جایی نداره.خوب apache رو نصب کنیم بره. باید ترمینال رو باز کنید و این دستور رو بزنین sudo apt install apache2بعد از اینکه نصب تموم شد، دستور زیر رو بزنینsudo ufw allow 80/tcp
sudo ufw reloadاین دستور باعث میشه که به فایروال ufw بگید که اجازه اتصال به پورت 80 رو به کاربر بده، چون آپاچی ، روی پورت 80 رزرو شده و روی اون پورت کار میکنه، میتونین پورت 443 هم بدید که میشه https . اما روی لوکال لازم نیست.خوب حالا توی مرورگر بزنید localhost و وارد بشید و میبینید که آپاچ نصبه، بریم مرحله بعدینصب mysqlsudo apt install mariadb-server mariadb-clientبا این دستور میتونین mysql نصب کنین.حالا باید mysql رو امنیتش رو بالا ببرید با دستور زیر، سوالایی که میپرسه با دقت جواب بدیدsudo mysql_secure_installationرمز عبوری که توی این سوالا وارد میکنین برای یوزر root مهمه و باید یادتون بمونه.خوب حالا مرحله بعدینصب php7.2به صورت پیشفرض، اوبونتو 18.04 روی php7.2 هست، فقط باید نصب بشه، خوب دستور زیر رو بزنیدsudo apt install php php-common php-mysql php-gd php-cli این دستور چندین پکیج مختلف رو نصب میکنه که هر کدوم برای یک کاری در php هستند، یکی برای ارتباط با پایگاه داده mysql ، یکی برای محیط برنامه نویسی php , یکی تنطیمات جانبی و تکمیلی php و یکی هم هسته php. حالا یک فایل تست درست کنیم ببینیم همه چیز درسته یا نه. echo &quot;&lt;?php phpinfo(); ?&gt;&quot; | sudo tee /var/www/html/info.phpما یه فایل درست کردیم به اسم info.php و داخلش یک کد php گذاشتیم، حالا آدرس زیر رو بزنیدlocalhost/info.phpیک صفحه میاد که مشخصات php نصب شده داخلش نوشته شده. کارمون تا الان تمومه، مونده فقط phpmyadmin نصب کنیم، اینم با دستور زیر نصب کنید.sudo apt install phpmyadminچندتا سوال میپرسه.سوال اول رو روی apache بزارید.بعدش اوکی بزنید.سوال آخر هم یک رمز وارد کنید، ترجیحا رمزی که برای mysql دادین.خوب اینم تموم شد.دستورات زیر رو بزنید تا phpmyadmin و apache با هم سینک بشن، sudo systemctl restart apache2
sudo cp /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf 
sudo a2enconf phpmyadmin
sudo systemctl restart apache2خوب عالیه، حالا بزنید localhost/phpmyadmin و کار تمومه،داخل پوشه /var/www/html/ میتونین هرچی میخواین کد بزنین و فایل ها رو اونجا بزارید، سوال و درخواستتون رو هم برام توی کامنت ارسال کنین، ممنون.در آخر اگر مطلبم مفید بود یک فنجون قهوه مهمونم کن . حرف زیاد داریم بزنیم.</description>
                <category>لینوکس و نرم افزار آزاد</category>
                <author>نیما حبیب خدا</author>
                <pubDate>Sun, 04 Nov 2018 08:33:37 +0330</pubDate>
            </item>
                    <item>
                <title>چهار راه برای تعیین بهترین زبان توسعه وب</title>
                <link>https://virgool.io/fsf-linux/%DA%86%D9%87%D8%A7%D8%B1-%D8%B1%D8%A7%D9%87-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AA%D8%B9%DB%8C%DB%8C%D9%86-%D8%A8%D9%87%D8%AA%D8%B1%DB%8C%D9%86-%D8%B2%D8%A8%D8%A7%D9%86-%D8%AA%D9%88%D8%B3%D8%B9%D9%87-%D9%88%D8%A8-ilynipoecpg4</link>
                <description>صدها زبان برای توسعه وب وجود دارد که می‌توانید یاد بگیرید. با این حال، یادگیری این صدها زبان ضروری نیست. اگر شما تمرکز به یادگیری بهترین زبان برای توسعه وب داشته باشید، برای شما مفیدتر خواهد بود.از آنجایی که زبان‌های زیادی برای انتخاب وجود دارد، انتخاب بهترین زبان برای نیازهای خاص، پروژه‌ها و اهداف شما می‌تواند دشوار باشد. خوشبختانه، توسعه دهندگان در سرتاسر دنیا در مورد بهترین زبان‌ها برای توسعه وب بطور واضح و روشن پاسخ داده‌اند. در این پست چهار راه برای انتخاب بهترین زبان توسعه وب آورده شده است که در ادامه به آن می‌پردازیم.چهار فاکتور مهم که برای تعیین بهترین زبان برای توسعه وب باید از خودتان بپرسید:1. کدام زبان‌های توسعه وب بالاترین منبع درآمد می‌باشند؟2. در حال حاضر محبوب‌ترین زبان‌های توسعه وب چیست؟3. چه زبان‌هایی در سال‌های آتی به شدت تقاضا دارند؟4. ساده‌ترین زبان‌ها برای یادگیری توسعه وب کدامند؟زبان‌های توسعه وب با بالاترین درآمدرایج‌ترین زبان‌های پردرآمد عبارتند از:JavaScriptJavaHTMLCSSReactAngularObjective CScalaجهت مطالعه منبع مطلب اینجا کلیک کنیداهداف خود را از پیش برای یادگیری بهترین زبان‌‎های توسعه‌ی وب مشخص کنید. اگر می‌خواهید درآمد زیادی از برنامه‌نویسی کسب کنید، یادگیری تعدادی از زبان‌های ذکر شده در بالا بسیار کارآمد می‌باشد.محبوب‌ترین زبان‌های توسعه وبسایت Stack Overflow که یک منبع قوی پرسش‌وپاسخ برای برنامه‌نویسان حرفه‌ای و علاقمه‌ند می‌باشد، یک سری تحقیقات برروی محبوب‌ترین زبان‌های برنامه‌نویسی صورت داده است که به روز‌ترین آن در سال 2018  انجام شده است. طبق تحقیقات آنها جاوا اسکریپت محبوب‌ترین زبان برنامه‌نویسی شناخته شده است. چندی از زبان‌های توسعه وب محبوب دیگر:· Java· C#· Python· PHPجهت مطالعه منبع مطلب اینجا کلیک کنیددر نظر گرفتن محبوب‌ترین زبان‌ها برای توسعه وب بسیار حائز اهمیت است، چون در شرکت‌هایی که برای کار اقدام می‌کنید معمولا از این زبان‌ها استفاده می‌کنند.تقاضای آینده برای زبان‌های توسعه وبتقاضا برای زبان‌های توسعه وب سال به سال تغییر می‌کند. یادگیری زبان‌هایی که درخواست بالایی در سال‌های آتی دارند بسیار مهم است.در ادامه لیستی از زبان‌های توسعه وب که در آینده نقش مهمی را ایفا خواهند کرد آورده‌ایم:· Java· Python· JavaScript· C++· C#· PHP· Perlجهت مطالعه منبع مطلب اینجا کلیک کنیدبه عنوان یک توسعه دهنده همیشه تحقیقات لازم را جهت پرتقاضاترین زبان‌های برنامه‌نویسی داشته باشید تا آمادگی خود را در این زمینه حفظ کنید.ساده‌ترین زبان‌های توسعه وب توسعه دهندگان وب اغلب نظرات خود را در مورد یادگیری بین زبان‌های مختلف روشن‌ بیان می‌کنند. در حقیقت، اکثر توسعه دهندگان ساده‌ترین زبان‌های توسعه وب را اینطور می‌دانند:· HTML· Python· JavaScript· PHP· Javaجهت مطالعه منبع مطلب اینجا کلیک کنیدگذاشتن زمان برای یادگیری یک زبان دشواری که ممکن است در آینده هم به کار شما نیاید چیزی جز اتلاف وقت نمی‌باشد. یادگیری زبان‌های ساده‌تر به شما کمک می‌کند تا مهارت‌های یادگیری برای زبان‌های سخت‌تر را در آینده بدست آورید.  برای مطالعه پست‌های بیشتر ما را در وبلاگ کارادمی و یا در ویرگول دنبال کنید.</description>
                <category>لینوکس و نرم افزار آزاد</category>
                <author>Karademy Coding Bootcamp</author>
                <pubDate>Fri, 02 Nov 2018 16:01:18 +0330</pubDate>
            </item>
                    <item>
                <title>لینوکسی شو : مدیریت فایل ها و فولدرها در اوبونتو</title>
                <link>https://virgool.io/fsf-linux/%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3%DB%8C-%D8%B4%D9%88-%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA-%D9%81%D8%A7%DB%8C%D9%84-%D9%87%D8%A7-%D9%88-%D9%81%D9%88%D9%84%D8%AF%D8%B1%D9%87%D8%A7-%D8%AF%D8%B1-%D8%A7%D9%88%D8%A8%D9%88%D9%86%D8%AA%D9%88-spallzsd9sna</link>
                <description>توی قسمت قبل یاد گرفتیم که چجوری رم و هارد سیستم لینوکسی خودمون رو مدیریت کنیم .  https://virgool.io/fsf-linux/%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3%DB%8C-%D8%B4%D9%88-%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA-resource-%D9%87%D8%A7-%D8%AF%D8%B1-%D8%A7%D9%88%D8%A8%D9%88%D9%86%D8%AA%D9%88-ffxjb8z3hqud توی این بخش ، میخوام یک سری دستوری رو باهاتون کار کنم که بتونید فایل ها و فولدرهاتون رو مدیریت کنین . خوب قبلا هم گفتم ، با محیط گرافیکی میشه این کارها رو کرد . اما هدف من اینه که توی محیط سرور و ترمینال باشیم . خوب به ترمینال برید . ما میخوایم که اول از همه بدونیم توی کدوم مسیر هستیم و باید الان از چه نقطه ای شروع کنیم . پس باید دستوری رو بلد باشم تا بهم بگه الان کجام . دستور زیر رو بزنید pwdحالا یک چیزی مثل زیر میبینید :/home/eagleکه یعنی من داخل مسیر  home و پوشه eagle هستم . حالا میخوام ببینم که توی جایی که هستم چه فایل هایی هست . خوب دستور زیر رو بزنید  :lsخروجی سیستم من اینه . بعضی چیزها با شما مشترکه :Desktop    Downloads         get-docker.sh  Music     Public  TemplatesDocuments  examples.desktop  maxqserver     Pictures  snap    Videosخوب الان میخوام ببینم هر کدوم از این فولدرها و فایل ها حجمشون چقدره  :ls -lاین دستور به شما خروجی مثل زیر میده که حجم و این چیزارو نوشته :drwxr-xr-x 2 eagle eagle  4096 Sep 27 20:43 Desktopdrwxr-xr-x 2 eagle eagle  4096 Oct  5 20:22 Documentsdrwxr-xr-x 6 eagle eagle  4096 Oct 20 21:43 Downloads-rw-r--r-- 1 eagle eagle  8980 Sep 27 20:26 examples.desktop-rw-rw-r-- 1 eagle eagle 13847 Oct 23 20:30 get-docker.sh-rw-rw-r-- 1 eagle eagle    45 Oct  5 20:22 maxqserverdrwxr-xr-x 2 eagle eagle  4096 Sep 27 20:43 Musicdrwxr-xr-x 2 eagle eagle  4096 Nov  2 12:31 Picturesdrwxr-xr-x 2 eagle eagle  4096 Sep 27 20:43 Publicdrwxr-xr-x 6 eagle eagle  4096 Oct 11 18:12 snapdrwxr-xr-x 2 eagle eagle  4096 Sep 27 20:43 Templatesdrwxr-xr-x 2 eagle eagle  4096 Oct 14 22:41 Videos ستون سمت چپ به اصطلاح ، سطوح دسترسی یا permissions هست . ستون بعدی کاربری که دسترسی به این پوشه رو داره ستون بعدی گروه کاربری که دسترسی به این پوشه رو داره ستون بعدی حجم پوشه و فایلستون بعدی زمان ایجاد شدنآخری هم که اسم پوشه یا فایلحالا دستور زیر رو بزنید  :llهمون نتیجه بالا رو میبینید . این دستور روی نسخه دستکتاپ تعریف شده و داخل نسخه سرور باید به صورت alias برای کاربرای غیر از root تعریف بشه  .باحال بود . نه؟خوب حالا از این به بعد باحالتر هم میشه .میخوام برم داخل پوشه موزیک و یک فولدر به اسم HipHop درست کنم . برای اینکه بین پوشه ها جا به جا بشم باید از cd  استفاده کنم که مخفف change directory هست . cd Musicخوب یه پوشه به اسم HipHop بسازیم . mkdir HipHopدستور mkdir یعنی make directory  و کارش ایجاد پوشه هست . شاید اگر برنامه نویس باشید ، داخل زبان برنامه نویسی که کار میکنین این تابع رو دیده باشید . خوب حالا فرض کنید که یک فایل به اسم eminem.mp3  دارم که توی Downloads هست و میخوام کپی کنمش اینجا .  cp ../Downloads/eminem.mp3 .  دستور cp  مخفف copy  و کارش جا به جا کردن فایل ها و فولدراست . نقطه ای که آخر دستور گذاشتم یعنی &quot;همینجایی که هستم&quot;. اما اگر جای دیگه بخوام کپی کنم باید بگم بندازش یه مسیر دیگه . پس دستور اینجوریه  :‌cp sourceAddress DestionationAddressEX :   cp ../Downloads/eminem.mp3 ../Desktop/مثال بالا فایل رو به پوشه Desktop میبره . نکته :‌
دو نقطه اسلش ، که قبل از مسیرها گذاشتم یعنی یک پوشه برگرد به عقب و از اونجا شروع کنم به آدرس 

حالا میخوام که کسی جز ‌کاربر root  نتونه بره توی Music . باید دسترسی رو ببنم و درواقع مالک فولدر رو عوض کنم . تغییر مالک یا change owner با دستور زیر :sudo chown root:root . -R  اول دستور با sudo شروع شده یعنی برای این کار باید کاربر مجوز دار باشید . مجوز sudo رو root میتونه بده . اما وقتی که اوبونتو نصب میکنین ، همیشه کاربر پیشفرض ، دسترسی sudo داره . اما باید ابتدای دستور نوشته بشه . بعد از chown سمت چپ دو نقطه اسم کاربر و سمت راست ، گروه کاربر رو مینویسیم . با یک فاصله ، مسیری که میخوایم این تغییر رو بدیم رو مینویسیم که من . گذاشتم یعنی  &quot;همینجا که هستم&quot;.آخرین flag با پرچمی که گذاشتم یعنی تمام فایل های داخل این فولدر هم به این دسترسی تغییر کنن . حالا هرکسی که بخواد توی این فایل کپی پیست کنه ، باید root  باشه یا یوزر و پسوورد روت رو بلد باشه . خیلی باحاله . نه ؟دستور های زیادی هستن که مثل دستور cp , chown , cd و ... کار میکنن که من لیستشون رو مینویسم و شما با man میتونین کارشون رو یاد بگیرید . من یک مثال هم رو به روش میزنم . mv ( move or rename folders and files )  ex : mv eminem.mp3  eminem2.mp3 
cat ( open a file content and see what is in it )  cat test.txt
nano ( edit, create and open  a file )   nano text.txt
rm ( remove a file ) rm test.txt
rm -rf ( remove a folder and files in it)   rm -rf testFolder
chmod (change moderator of a file or folder , it is like chown ) chmod 777 -R ../Downloadsدر آخر اگر مطلبم مفید بود یک فنجون قهوه مهمونم کن . حرف زیاد داریم بزنیم.</description>
                <category>لینوکس و نرم افزار آزاد</category>
                <author>نیما حبیب خدا</author>
                <pubDate>Fri, 02 Nov 2018 13:40:56 +0330</pubDate>
            </item>
                    <item>
                <title>لینوکسی شو : مدیریت resource ها در اوبونتو</title>
                <link>https://virgool.io/fsf-linux/%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3%DB%8C-%D8%B4%D9%88-%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA-resource-%D9%87%D8%A7-%D8%AF%D8%B1-%D8%A7%D9%88%D8%A8%D9%88%D9%86%D8%AA%D9%88-ffxjb8z3hqud</link>
                <description>توی قسمت قبلی لینوکسی شو کار با ترمینال رو براتون توضیح دادم. https://virgool.io/@nima.2004hkh/%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3%DB%8C-%D8%B4%D9%88-%D9%86%D8%B5%D8%A8-%D8%A7%D9%88%D8%A8%D9%88%D9%86%D8%AA%D9%88-jsvk3t9kr8el اکثرا سوال بعدی اینه :چجوری بفهمم چقدر رم دارم؟چجوری بفهمم هاردم چقدر پر شده؟اگر یه برنامه کرش کرد، یا اصن خواستم force closenکنم چه کار کنم؟خوب اوبونتو برای هر کدوم، دوتا راهکار داره، یکی به کمک ترمینال، یکی به کمک اپلیکیشن های نصب شده در نسخه دسکتاپ برای مدیریت منابع.من میخوام راه کار ترمینال رو بگم، چون اگر شما یک سرور اوبونتو داشته باشید، محیط گرافیکی ندارید، پس باید کار با ترمینال رو بدونید.آخر همین مطلب یک اشاره هم به اپلیکیشن ها میکنم حتما.خوب، بریم که بریم.اول از همه ترمینال رو باز کنید و دستور زیر رو بنویسید:man topبه قول آقای دانیال بهزادی، هر کالایی که میخرید یک کاتالوگ نحوه استفاده داره، اوبونتو هم برای اپلیکیشن معتبر و رسمی ، این گزینه رو داره، برای اینکه نحوه استفاده هر اپلیکیشن رو بدونید، باید دستور man رو بزنین و بعدش اسم اپلیکیشن، پس top اسم اپلیکیشن مانیتورینگ سیستم لینوکسی ماست.خوب توی این توضیحات، کامل متوجه کارکرد و نحوه استفاده میشین، من چند مثال میزنم و میرم.برای اینکه از man بیرون بیاین، q رو بزنین و خارج بشید.حالا تایپ کنین topبا تصویر زیر مواجه میشیننترسین، به حجم زیاد داده ها نگاه نکنید، وقتی بدونید هر کدوم چین، دیگه مشکلی ندارید.چند گزینه مهم رو میگم، بقیه رو خودم هم نمیدونم چیه. الکی نگم بهتره.گزینه PID : شناسه پروسه ای که فعال شده، این شناسه خیلی مهمه، بعدا باهاش کار داریمگزینه User : نشون میده که این task توسط چه کاربری اجرا شدهگزینه CPU: میزان cpu که این تسک اشغال کردهگزینه MEM : میزان رمی که این تسک اشغال کردهگزینه TIME : زمانی که این تسک راه اندازی شدهگزینه COMMAND : دستوری که باهاش این تسک رو راه اندازی کردنخوب این لیست طولانیه، من برای اینکه مثلا بخوام mozilla که کرش کرده رو ببندم، باید از این لیست پیداش کنم و با pid ببندمش. اما لیست من طولانیه، باید جستجو کنم، پس دستور زیر رو میزنمtop | grep mozillaقسمت دوم کد جدید بود، به خط عمودی میگن پایپ ، به این معنی که کد اول رو با دوم تلفیق کن.کد دوم میگه توی لیست ، دنبال mozilla بگرد و فقط اونو نشون بده.برای کار grep , دستور راهنماش رو میتونین با man grep ببینید.حالا از لیست بالا، فقط به من یک اپلیکیشن میده، و یک pid . برای متوقف کردنش ، دستور زیر رو بزنیدkill -9 pidبه جای pid, شماره اون pid  که پیدا کردیم رو بنویسید.میبینید که mozilla firefox بسته میشه.جدای از این کار، بالای top شما میتونین میزان رم و هارد استفاده شده رو ببینید.یک اپلیکیشن پیشنهادی :شما میتونید htop رو نصب کنید و همین کارها رو با جدول بندی و رنگ بندی های بهتر ببینید، و بدون شک با امکانات بیشتر. کافیه بنویسید:sudo apt install htopو برای راه اندازیش بعد از نصب، بنویسید :htopبرای نحوه استفاده و یادگیری هم بنویسید man htop.دقت کنید که دستور kill و grep ارتباطی به top یا htop ندارن، شما توی htop هم باید pid پیدا کنید و kill کنین.برای اینکه روی دسکتاپ استفاده کنین از monitor , میتونین نرم افزار monitor رو از داخل لیست نرم افزار ها اجرا کنین.دکمه super یا ویندوز رو بزنید و تایپ کنین monitor و از محیط گرافیکی استفاده کنید.در آخر اگر مطلبم مفید بود یک فنجون قهوه مهمونم کن . حرف زیاد داریم بزنیم.</description>
                <category>لینوکس و نرم افزار آزاد</category>
                <author>نیما حبیب خدا</author>
                <pubDate>Thu, 01 Nov 2018 08:19:18 +0330</pubDate>
            </item>
                    <item>
                <title>با alias سریع‌تر کد بزنید!</title>
                <link>https://virgool.io/fsf-linux/%D8%A8%D8%A7-alias-%D8%B3%D8%B1%DB%8C%D8%B9%D8%AA%D8%B1-%DA%A9%D8%AF-%D8%A8%D8%B2%D9%86%DB%8C%D8%AF-dxfys8enofv3</link>
                <description>مقدمهالبته که دوست دارم یه متن بلند بنویسم! اما همزمان که دارم این مطلب رو مینویسم، دارم روی یه مطلب (چند نسخه‌ای) کار میکنم در باره‌ی برنامه‌نویسی وب. مثل همیشه، از صفر تا صدش، برای اونایی که تا حالا حتی برنامه‌نویسی هم نکردن! کار عجیبیه، کلی چیز باید بخونم و انجام بدم و یاد بگیرم. بگذریم...این مطلب من، قرار نیست خیلی طولانی باشه و پیشبینی میکنم که به مرور بروز رسانی بشه. داستانش هم از این قراره که، من علاقه ندارم کدها رو چندبار بنویسم. مد نظرم اینه که یه سری «کلید» برای خودم داشته باشم و جاهای مختلف ازشون استفاده کنم.لینوکسلینوکس یه هسته‌ی سیستم‌عامله. یعنی دستورات و فرایندهایی که یه سیستم‌عامل نیاز داره رو براش فراهم میکنه و یه راه ارتباطی بین سخت‌افزار و سیستم‌عامله. ضمنا، لینوکس متن بازه، یعنی میشه هرچیزی رو توش تغییر داد و شخصی‌سازی کرد.سیستم‌عامل‌های زیادی هم وجود دارن که مبتنی بر لینوکس هستن، یعنی، از هسته‌ی لینوکس استفاده میکنن و یه جورایی «توزیعی» یا Distributionای از لینوکس هستن (بین کاربرهای لینوکسی، به Distro هم معروفن). من اینجا سعی کردم در مورد سیستم‌عامل‌های لینوکس بیشتر توضیح بدم.شِل یا Shellخیلی ساده، شِل یا «تِرمینال» یه برنامه هست که دستورات رو از کاربر میگیره و اونا رو به سیستم‌عامل و در نهایت خروجی رو نمایش میده. شِلِ لینوکس یکی از مهمترین اجزای لینوکس به حساب میاد و یکی از محیط‌های مورد علاقه‌ی برنامه‌نویس‌هاست.اینجا من تصمیم دارم که روی یه سری از اصول این نرم‌افزار کار کنم و در نهایت یه سری از دستورات به درد بخور که خودمم استفاده میکنم رو بگم. ضمنا، اگر شما هم دستوراتی رو دارید، بهم بگید که اینجا آپدیت کنم.برای باز کردن نرم‌افزار تِرمینال، میتونید توی سیستم‌عامل لینوکسی دکمه‌ی Ctrl + Alt + T رو بزنید، یا دکمه‌ی CMD + Space رو توی سیستم‌عامل مک بزنید و دنبال Terminal بگردید.دستورات پایهاین دستورات رو بدون علامت $ اجرا کنید. $ یک نشانست و به این معنیه که دستور داره با مجوز یک «کاربر» و نه یک «مدیر» اجرا میشه. نشانه‌ی یک مدیر، علامت # هست.۱. pwdاین دستور به شما آدرس جایی که توش هستید رو میگه. وقتی ترمینال باز میشه، معمولا از پوشه‌ی Home شروع به کار میکنه. ضمنا، این آدرس‌ها Absolute هستن، یعنی از پوشه‌ی ریشه یا Root شروع میشن.$ pwd
/home/aien۲. lsاین دستور به شما محتویات پوشه‌ای که توش هستید رو میگه. اگر به آخرش -a هم اضافه کنید، میتونید فایل‌های مخفی رو هم ببینید.$ ls -a
.                Downloads      .gtk-bookmarks  .node-gyp            .rdm                                                       .vscode
..               .dropbox       .gtkrc-2.0      .npm                 .rediscli_history                                          Web
...۳. cdاین دستور به شما این امکان رو میده که جای خودتون رو عوض کنید. مثلا از پوشه‌ای که توش هستید، برید به یه پوشه‌ی دیگه.$ pwd
/home/aien/
$ cd /home/aien/Bilder
$ pwd
/home/aien/Bilder۴. mkdir و rmdirاین دستور به شما آدرس جایی که توش هستید رو میگه. وقتی ترمینال باز میشه، معمولا از پوشه‌ی Home شروع به کار میکنه. ضمنا، این آدرس‌ها Absolute هستن، یعنی از پوشه‌ی ریشه یا Root شروع میشن.$ mkdir sample
$ cd sample
$ pwd
/home/aien/Bolder/sample
$ cd ..
$ pwd
/home/aien/Bilder
$ rmdir sample
$ ls
...۵. touchاین دستور به شما امکان ساخت فایل‌ها رو میده.$ touch file.txt
$ ls
...
file.txt
...۶. rmاین دستور به شما امکان حذف فایل‌ها و تو بعضی شرایط، فولدرها رو میده.$ rm file.txt۷. cpاین دستور به شما امکان کپی کردن فایل‌ها رو میده. این دستور، دوتا ورودی دریافت میکنه، اولی آدرس جایی هست که فایل قرار داره و دومی آدرس جایی هست که فایل باید اونجا بره.$ touch file.txt
$ pwd
/home/aien/Bilder
$ cp ./file.txt /home/aien/Musik
$ cd /home/aien/Musik
$ pwd
/home/aien/Musik
$ ls
...
file.txt
...۸. mvاین دستور به شما امکان جابه‌جا کردن فایل‌ها رو میده و مثل دستور کپی عمل میکنه.$ pwd
/home/aien/Musik
$ mv file.txt /home/aien/Videos
$ ls
...
...
$ cd ../Videos
$ pwd
/home/aien/Videos
$ ls
...
file.txt
...۹. rmاین دستور به شما امکان حذف فایل‌ها و تو بعضی شرایط، فولدرها رو میده.$ rm file.txtدستورات حرفه‌ای‌تر۱. nanoاین دستور به شما امکان نوشتن داخل یک فایل رو میده. اگر اون فایل وجود نداشته باشه، اون رو ایجاد میکنه. بعد از اینکه داخل فایل نوشتید، کافیه Ctrl + X رو بزنید، Y رو بزنید و از برنامه خارج بشید. نوشته‌ها ذخیره شدن!$ nano file.txt۲. catاین دستور به شما امکان نمایش محتوای یک فایل رو میده.$ cat file.txt
In yek file nemune ast!دستور aliasدستور alias کمک میکنه تا دستور یا دستوراتی رو با اسامی دیگه صدا بزنیم و اجرا کنیم. شاید با خودتون بگید آخه چه کاربردی داره وقتی میتونم خودم دستور رو تایپ کنم؟موضوع اینه که گاهی نیاز هست دستوراتی رو اجرا کنیم که نسبتا پیچیده هستن و فقط تو بعضی چیزهای کوچیک فرق میکنن.برای شروع، دستور زیر رو تایپ کنید:$ aliasیه لیست طولانی از دستورات رو خواهید گرفت:-=&#039;cd -&#039;
...
l=&#039;ls -lah&#039;
...
serve=&#039;http-server -o -a localhost .&#039;
which-command=whenceآخر این لیست، دستور هست که نوشته l=&#x27;ls -lah&#x27;. اگر شما این دستور رو تو ترمینال بنویسید، یعنی بنویسید l، مثل این میمونه که به ترمینال گفتید دستورls -lah رو اجرا کنه.حالا برای نمونه، دستور زیر رو بزنید:$ alias p=&quot;pwd&quot;از این به بعد اگر من دستور p رو بزنم، انگار دستور pwd رو زدم، پس آدرس جایی که هستم رو میگیرم:$ alias p=&quot;pwd&quot;
$ p
/home/aienحالا فرض کنید که توی سیستمتون، نرم‌افزار Apache رو داشتید. برای دستکاری فایل اصلیش، لازم بود که مثلا nano رو با کل آدرس اون فایل وارد کنید. چی میشد اگر مینوشتید:$ alias a=&quot;nano /etc/httpd/conf/httpd.conf&quot;اونوقت به جای هربار تیاپ کردن دستور، فقط a رو اجرا میکردید و فایل رو دستکاری...چطور دستورات alias رو داعمی کنیماگر تو یه ترمینال، یه دستور alias رو وارد کنید، بعد از بستن اون ترمینال، دستورتون هم از بین میره و دفعه‌ی بعدی دوباره باید دوباره تعریفش کنید. راهکارش اینه که از فایل .bashrc استفاده کنید. خیلی ساده، دستور زیر رو بزنید:$ nano ~/.bashrcاین دستور، فایل .bashrc که توی پوشه‌ی Home شما هست رو باز میکنه. حالا دستور زیر رو به بالای این فایل اضافه کنید:alias p=&quot;pwd&quot;
alias bashrc=&quot;nano ~/.bashrc&quot;
...با این کار، هربار که دستور p رو بزنید، به جاش دستور pwd اجرا میشه. برای حذفش هم، کافیه دوباره اون رو از فایلتون حذف کنید (دستور زیر رو تو ترمینال بزنید تا فایلش باز بشه).$ bashrcدستورات پر کاربردیه لیست از دستورات پر کاربرد هست که توی سایت خودم گذاشتم. میتونید به اونجا سر بزنید و دستورات بروز شده رو ببینید.موفق باشید</description>
                <category>لینوکس و نرم افزار آزاد</category>
                <author>آیین</author>
                <pubDate>Wed, 31 Oct 2018 21:45:08 +0330</pubDate>
            </item>
                    <item>
                <title>لینوکسی شو : نصب اوبونتو</title>
                <link>https://virgool.io/fsf-linux/%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3%DB%8C-%D8%B4%D9%88-%D9%86%D8%B5%D8%A8-%D8%A7%D9%88%D8%A8%D9%88%D9%86%D8%AA%D9%88-jsvk3t9kr8el</link>
                <description>جدیدا افراد زیادی رو به لینوکس کشوندم. البته نه به زور، با کمی صحبت و تحقیق، متقاعد شدن که لینوکس بهتره. حداقل برای یک برنامه نویس با زبان های پایتون، php ، روبی که لینوکسی هستن، بهتره از لینوکس استفاده کرد، نه سیستم عامل های دیگه.اینم بگم که من یک لینوکس کار تعصبی هستم و تعصب هیچ جا خوب نیست، پس اگر من میگم مایکروسافت به درد نمیخوره ، قطعا بیشتر از نصفش تعصبه.اولین سوال :باشه، لینوکس خوبه، اما چی نصب کنم؟لینوکس توزیع های زیادی داره که هر کدوم خوبی و بدی خودش رو داره، اما چیزی که باعث میشه شما یک سیستم عامل رو برای نسخه دسکتاپ انتخاب کنید، اولیش راحتیه، دومی بهینه بودن و استفاده به جا و درست از منابع سخت افزاری. به این خاطر، عمدتا توزیع اوبونتو نصب میکنن و الان که من این متن رو مینویسم در سال 2018، نسخه 18.04 آخرین نسخه و پایدارترین نسخه اوبونتو هست. پس بزن بریم.اول ار همه باید فایل iso آخرین نسخه اوبونتو رو به صورت رایگان و آزاد ، از سایت رسمی اوبونتو دانلود کنید.http://releases.ubuntu.com/18.04/ubuntu-18.04-desktop-amd64.isoمرحله بعدی ایجاد یک bootable از نسخه دانلود شدست. خوب متناسب با سیستم عامل فعلیتون، راه ساختن دی وی دی یا usb بوتیبل رو پیدا کنید و نسخه بوتیبل رو بسازید. بعد از اون سیستم رو ری استارت کنین.اگر به صفحه نصب اوبونتو نرفتین، باید به bios برید و مسیر bootable رو به درایو بوت تغییر بدید، مثلا اگر با usb بوت میکنین، bootable رو به usb تغییر بدید و دوباره ری استارت کنین.باید به صفحه نصب اوبونتو برسید. روی install ubuntu بزنیدزبان مد نظر رو ترجیحا روی انگلیسی بزارید.روی normall کلیک کنید و دو گزینه پایین هم تیک بزنید تا تمام آپدیت ها رو دانلود کنهدر این مرحله تیک اول رو بزنید، نه چیزی که در تصویر میبینید.کل هارد فرمت میشه .  لطفا اوبونتو رو کنار ویندوز نصب نکنین، ترجیحا اگر میخواین هر دو سیستم عامل رو داشته باشین، با VM این کار رو کنید، چون امکان داره به مشکلات متعددی از جمله grub بخورید. اما از پاک کردن ویندوز نترسید، من سعی میکنم همه چیز رو کامل بنویسم تا هیچ کمبودی برای استفاده احساس نشه، پشتیبانی های بزرگی پشت لینوکس هست و کارهای زیادی میشه کرد، نترسید و ادامه کار رو با من انجام بدید.نداشتن ویندوز خیلی قدم بزرگ و موثری هست و یک پیشرفت بزرگه برای آزاد زندگی کردن .تهران رو جستجو کنین و انتخاب کنید و به مرحله بعد برید.یک نام کاربری و رمز عبور انتخاب کنید، این قسمت خیلی مهمه، باید چیزی انتخاب کنید که فراموش نکنید، با این دو مورد خیلی کار خواهید داشت، خیلی زیاد.yourname نام کاربری شما خواهد بود. به مرحله بعد بریدمنتظر باشید تا نصب انجام بشه، اینترنت نباید قطع بشه . مراقب اینترنت باشید.ری استارت کنین و لاگین کنین.تبریک، نصب انجام شد، اوبونتو دارید.فقط قبل از اینکه به مراحل بعدی بریم، باید چند چیز رو همینجا کار کنیم.لینوکس با مخازنی کار میکنه که روی سرورهای توزیع های مختلف، متناسب با اون توزیع، قرار داره، مثلا همین قالبی که بعد از نصب دیدین، یا فایرفاکس، یا هر نرم افزار دیگه (اپلیکیشن) که باهاش کار خواهیم کرد.برای اینکه آخرین نسخه هر کدوم رو داشته باشیم، باید حتما مخزن خودتون رو به روز کنین. برای این کار دکمه super یا همون ویندوز رو بزنین ، و بنویسید terminal و روی آیکون سیاه رنگ ترمینال کلیک کنید.محیط ترمینال اوبونتو برای شما باز میشه، داخل این محیط دستور زیر رو وارد کنیدSudo apt update &amp;&amp; sudo apt upgrade حالا رمز عبوری که داده بودین رو بنویسین.این دستور مخازن شما رو به روز تازه میکنه، این کار کمی زمان بره.در آخر اگر مطلبم مفید بود یک فنجون قهوه مهمونم کن . حرف زیاد داریم بزنیم.</description>
                <category>لینوکس و نرم افزار آزاد</category>
                <author>نیما حبیب خدا</author>
                <pubDate>Wed, 31 Oct 2018 19:02:03 +0330</pubDate>
            </item>
                    <item>
                <title>ابزارهای من : قسمت سوم - داکر - آشنایی دوستانه من و داکر</title>
                <link>https://virgool.io/fsf-linux/%D8%A7%D8%A8%D8%B2%D8%A7%D8%B1%D9%87%D8%A7%DB%8C-%D9%85%D9%86-%D8%AF%D8%A7%DA%A9%D8%B1-%D8%A2%D8%B4%D9%86%D8%A7%DB%8C%DB%8C-%D8%AF%D9%88%D8%B3%D8%AA%D8%A7%D9%86%D9%87-%D9%85%D9%86-%D9%88-%D8%AF%D8%A7%DA%A9%D8%B1-srdtdk6ze5je</link>
                <description>قبلا برای درست کردن محیط ویرچوال خودم ( محیطی که بتونم توی اون کد بزنم و پروژه بالا بیارم ، اما تنظیماتی که انجام میدم ، روی OS اختلال ایجاد نکنه و با تنظیمات جاهای دیگه تداخل نداشته باشه ) از Vagrant استفاده میکردم . خوب بود . ساده و خوب . میاد یک VM میسازه و داخل اون VM شما پروژه رو قرار میدین و کاراش رو انجام میدین :Vagrant is an open-source software product for building and maintaining portable virtual software development environments , e.g. for VirtualBox, Hyper-V, Docker containers, VMware, and AWS which try to simplify software configuration management of virtualizations in order to increase development productivity. Vagrant is written in the Ruby language, but its ecosystem supports development in a few languages.https://en.wikipedia.org/wiki/Vagrant_(software)کار باهاش بد نبود . مشکلی هم نداشتم اصلا. اما دیدم که حرف داکر خیلی زیاد شده . https://linuxhint.com/docker-vs-vagrant/لینک بالا رو خوندم شروع به تحقیق کردم . تفاوت vagrant و داکر :‌واگرانت در واقع یک نرم افزار مدیریت ماشین مجازی هست  ( Virtual machine manager) و برای شما یک Virtual Machine  ایجاد میکنه . داکر یک محیط ایزوله که به کانتینر کار میکنه و در واقع برای شما یک Virtual Container  راه اندازی میکنه . که یکی از کارهایی که میشه توی این کانتینر انجام داد ، ایجاد VM هست . پس تفاوت خیلی زیاده . من میتونم داخل داکر VM داشته باشم یا اینکه نه ، از تنظیمات خودم استفاده کنم و با Replicant های ساده کارم رو انجام بدم . داخل Vagrant این امکان رو ندارم . مورد دومی که من خیلی دوست داشتم ، Load balancer قدرتمند داکر بود . که شما با ایجاد یک composer و تنظیمات webnet میتونید یک cluster خوب راه اندازی کنید . کار با داکر اوایل برام خیلی سخت بود . اما کم کم خیلی بهتر درکش کردم و باهاش انس گرفتم . مسلما نگهداری داکر خیلی دشواره . مخصوصا توی production . (مخصوصا توی ایران ) . چون هر جایی نمیخوان و یا نمیشناسنش - پس نیازی بهش ندارن . من شاید از ۱۰ شرکت نرم افزاری دوتا دیدم که با داکر کار میکنن و ۳  ۴ شرکت هم با واگرانت . شما داخل داکر میتونید تنظیمات HAproxy رو هم حتی انجام بدید . و برای این کار آموزش های خیلی زیادی هست . داکیومنت سایت داکر خیلی قدرتمند و کاربردی آموزش میده همه مسائل رو ، منم سعی میکنم همون آموزش ها رو با درنظر گرفتن خطاهای احتمالی که باهاش مواجه میشید ، توی نوشته های بعدی خودم قرار بدم که شاید برای کسی مفید باشه . حرف آخر‌:نمیخوام بگم چی خوبه چی بده . اما اگر نیاز به یک محیط ایزوله دارید که خیالتون از بابت تنظیمات اشتباه و جبران ناپذیر روی سرور راحت باشه ، داکر رو پیشنهاد میکنم . چون تنظیمات اشتباه شما فقط روی کانتینر مرتبط خودش تاثیر داره . نه حتی روی کانتینرهای دیگه . در آخر اگر مطلبم مفید بود یک فنجون قهوه مهمونم کن . حرف زیاد داریم بزنیم .</description>
                <category>لینوکس و نرم افزار آزاد</category>
                <author>نیما حبیب خدا</author>
                <pubDate>Wed, 24 Oct 2018 13:23:59 +0330</pubDate>
            </item>
            </channel>
</rss>