<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های خشایار قندهاری</title>
        <link>https://virgool.io/feed/@ghkhashayar77</link>
        <description>khashayargh.ir</description>
        <language>fa</language>
        <pubDate>2026-04-15 04:45:24</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/36340/avatar/hu5KLO.jpeg?height=120&amp;width=120</url>
            <title>خشایار قندهاری</title>
            <link>https://virgool.io/@ghkhashayar77</link>
        </image>

                    <item>
                <title>روش برنامه ریزی کردن برای اونچه که توی زندگی میخواهید</title>
                <link>https://virgool.io/@ghkhashayar77/%D8%B1%D9%88%D8%B4-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%B1%DB%8C%D8%B2%DB%8C-%DA%A9%D8%B1%D8%AF%D9%86-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A7%D9%88%D9%86%DA%86%D9%87-%DA%A9%D9%87-%D8%AA%D9%88%DB%8C-%D8%B2%D9%86%D8%AF%DA%AF%DB%8C-%D9%85%DB%8C%D8%AE%D9%88%D8%A7%D9%87%DB%8C%D8%AF-jg0iusltdbf8</link>
                <description>روش برنامه ریزی کردن برای اونچه که توی زندگی میخواهیدتصور کن یه روز از خواب بیدار میشی و میخوای یه خونه بسازی.چطوری شروع میکنی؟ چکش و میخ بر میداری و میری تو کارش؟ یا این که اول یه نقشه میکشی، زمین مورد نظرت رو پاکسازی میکنی و یه زیربنای محکم میسازی؟اگر شروع کار بدون برنامه برات مسخرست، درست فکر میکنی. این نوع عمل کردن فاجعس یا این که حداقل روش بادوامی نیست. ولی وقتی برای زندگیت برنامه ریزی نکردی دقیقا داری روش غلط رو پیش میگیری.واضحه که داشتن برنامه با داشتن هدف فرق داره. خیلی از مردم هدف دارن، چیزایی مثل: پیدا کردن شغل جدید یا وزن کم کردن. ولی به گفته محققان 92 درصد مردم به اهدافشون نمیرسن.8 درصد بقیه چیکار میکنن که ما (به ظاهر) نمیدونیمش؟ اونا یاد گرفتن که هدف بدون برنامه فقط یک آرزوست.مزیت های برنامه ریزی کردنوقتی که میخوای سفر زندگی خوب رو شروع بکنی، برنامه ریزی کردن ممکنه یکم اذیت کننده به نظرت بیاد. ولی مطمئن باش که داشتن یه برنامه ریزی عبور از این راه جدید رو برات آسون تر میکنه. بهت کمک میکنه که آسودگی داشته باشی،‌ ترفیع بگیری یا کسب و کار جدیدی رو شروع کنی.برنامه ریزی کردن 4 مزیت دارهبازدهی بهتر. وقتی که بدونی چطوری از جایی به جای دیگه بری، کمتر دچار فلج تحلیلی میشی. برنامه ریزی از تلف شدن انرژی برای کار های غیر ضروری جلوگیری می کنه. همونطور که برایان تریسی هم میگه (هر دقیقه توی برنامه ریزی، 10 دقیقه توی اجرای کار صرفه جویی می کنه).افزایش تمرکز. برنامه ریزی توی کاری که دارید انجام میدید بهتون کمک میکنه که تمرکز بیشتری داشته باشید. دقیقا میدونی که امروز چه کاری رو و به چه دلیلی باید باید انجام بدی. با نشون دادن این که چه کاری رو میتونید تغیر بدید یا این که چه چیزی از کنترلت خارجه، بهت کمک میکنه که احساس کنترل بیشتری بکنی.اعتماد به نفس بیشتر. اگر فکر میکنی که اهدافت همیشه فراتر از تصورته، ممکنه برای این باشه که هیچوقت برنامه درست حسابی براش نچیدی. وقتی برنامه ای داشته باشی از میزان انجام شدن کارات شگفت زده میشی.خود آگاهی بیشتر. وقتی شروع به برنامه ریزی میکنی در اصل شروع به درک کردن خودت کردی. این کار بهت کمک میکنه که علاقه ها و اولویت هات رو کشف کنی. در کنارش گرایش ها و بیزاری هات رو کشف می کنی و یاد میگیری که بهشون غلبه کنی.وقتی برنامه ریزی می کنی، در اصل نقشه ای ایجاد می کنی که از جایی که هستی به جایی که در آینده میخوای باشی برسی. در اصل هدف شما رو از دنیای خیالی تبدیل به واقعیت می کنه.چگونگی ساختن یک برنامه ریزی مفیدحالا که متوجه شدیم برنامه ریزی چه اهمیتی داره، در اینجا 4 مرحله برای ایجاد برنامه ریزی مناسب پایه و اساس فعالیت هاتون موجوده.1- اهدافت رو بنویسوقتی که تصمیمی برای اهدافت گرفتی، بنویسشون. دکتر گیل متیوس از دانشگاه دومنیکن کالیفرنیا دریافت که نوشتن یک هدف خیلی راحت 42 درصد احتمال رسیدن بهش رو بیشتر می کنه.با تصور کردن هدفت شروع کن. توی ذهنت ببینش... حسش کن، مزش کن. حالا با استفاده از روش S.M.A.R.T تا حدی که میتونی جزییات بیشتری ازش پیدا کن.واضح سازی (Specific). این (چه کسی ، چه ، چه زمانی ، کجا و چرا) هدفتونه. دقیق مشخص کنید که چطوری به موفقیت میرسید و برای رسیدن بهش چه کار هایی حاضرید انجام بدید.اندازه گیری (Measurable). چطوری پیشرفتت رو اندازه گیری می کنی؟ مثلا اگر هدفت صرفه جویی در هزینه هاته، چقدر باید هزینه هات رو کاهش بدی؟ همون طور که پائولو کوئلیو میگه (هیچ کس نمیتواند به هدف خود با چشم بسته ضربه بزند).دست یافتنی (Achievable). مهارت های لازم برای رسیدن به هدفت رو داری؟ اگر نه، میتونی به دستش بیاری؟ این به معنای دلسرد شدنت نیست؛ بلکه باید انگیزه این رو بهت بده که اهداف واقعی انتخاب کنی و در صورت نیاز از کسی کمک بگیری.مناسب (Relevant). هدفت واقعا چیزیه که میخوای؟ با بلندپروازی هات همخونی داره؟ با استفاده از روش PDP میتونی تشخیص بدی که واقعا چه چیزی برات اهمیت داره.محدودیت زمانی (Time-bound). کی میخوای به هدفت برسی؟ بدون مشخص کردن زمان، همیشه زمان بیشتری داری، پس احساس مسئولیتی هم براش نداری. تعیین محدودیت زمانی بهت انگیزه میده تا همین الان قبل از این که دیر بشه شروع کنی.2- اهدافت رو به قطعات کوچک تر تقسیم کن و براش برنامه ریزی کنشناسایی کردن هدف اولین قدمته. ولی هدف بزگ میتونه خیلی دست نیافتنی به نظر بیاد و نمیدونی که چجوری بهش برسی. متاسفانه اینجاست که خیلی ها تسلیم میشن.به جاش اگه حالا که میدونی به کجا میخوای برسی، هدفت رو به بخشای کوچک تر تقسیم کن. مثلا اگر هدفت رسیدن به یه کسب و کار موفق توی 2 سال دیگست، 1 سال دیگه، 6 ماه دیگه و هفته دیگه کجا باید باشی؟به نوعی اهدافت رو طراحی کن که از مراحل کوچک شروع بشه و افزایش پیدا کنه. مراحل رو تک به تک بنویس و برای انجامش مدت زمان مشخص کن. اینطوری بخاطر کوهی که داری فتح میکنی مضطرب نمیشی، فقط قدمت رو جلوی قدم قبلیت میذاری. هر روز صبح که از خواب بیدار میشی دقیقا میدونی که میخوای چه کاری انجام بدی.3- برنامت رو هر روز مرور کناگر به نقشه ای که کشیدی هیچوقت نگاه نکنی، پس نقشه خوبی نکشیدی. برای موندن توی مسیر اهدافت، حتما به صورت روزانه برنامه ریزیت رو مرور کن.هدفت رو هر روز با صدای بلند بخون، ترجیها صبح وقتی که از خواب بیدار میشی. این یه روش عالی برای تعیین نیت و حفظ تمرکز توی جاییه که بهش تعلق داری (به برنامه ریزی ای که کردی و کار هایی که به هد نزدیکترت می کنه).4- پای هدفت وایسااگر هدفت به اندازه کافی بزرگه، برای رسیدن بهش باید متمرکز بمونی. هر چی نباشه داریم در مورد زندگی حرف میزنیمبعد از انجام هر بخش از برنامت، یک لحظه وقت بذار تا بتونی نقطه عطفت رو تشخیص بدی. این فرصتی برای جشن گرفتن برای پیشرفت و همچنین سنجیدن برنامته: هنوزم عملیه؟ احتیاج به اصلاح داره؟ تمرکز دوباره روی هدفت بهت یاد آوری می کنه که چرا اصلا از اول شروعش کردی و بهت انرژی مرود نیازت رو میده.یه عمر موفقیت الکی اتفاق نمیوفته. این نتیجه یه برنامه ریزی دقیق و پشتکاره. وقتی یه برنامه محکم برای اهدافت بچینی از افزایش انگیزت شگفت زده میشی. پس تنها چیز مهم توی رسیدن به هدفت زمانه.موفق باشید :)منبع</description>
                <category>خشایار قندهاری</category>
                <author>خشایار قندهاری</author>
                <pubDate>Mon, 06 Sep 2021 03:29:10 +0430</pubDate>
            </item>
                    <item>
                <title>نصب LEMP روی تمامی لینوکس ها</title>
                <link>https://virgool.io/@ghkhashayar77/%D9%86%D8%B5%D8%A8-lemp-%D8%B1%D9%88%DB%8C-%D8%AA%D9%85%D8%A7%D9%85%DB%8C-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-%D9%87%D8%A7-njew13ytncpg</link>
                <description>نصب LEMP روی لینوکسlemp یک نوع پشته lamp هستش که برای توسعه برنامه های وب به کار میرود.کلمه lamp از linux - apache - mysql - php تشکیل شده است که در lemp وب سرور سبک  و قدرتمند nginx جایگزین apache شده است.lempخب بریم برای نصب و راه اندازی lempمرحله اول نصب nginx و phpبرای نصب nginx و php دستور زیر رو بر اساس نسخه لینوکستون وارد کنید.دبیان بیس ها:sudo apt install nginx php php-fpm php-commonآرچ بیس ها:sudo pacman -S nginx php php-fpm php-commonفدورا:sudo dnf install nginx php php-fpm php-commonبعد اتمام نصب  افزونه های مربوط به php رو نصب میکنیم:دبیان بیس ها:sudo apt install php-opcache php-pecl-apcu php-cli php-pear php-pdo php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xmlآرچ بیس ها:sudo pacman -S php-opcache php-pecl-apcu php-cli php-pear php-pdo php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xmlفدورا:sudo dnf install php-opcache php-pecl-apcu php-cli php-pear php-pdo php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xmlبعد نصب افزونه ها اول ngnix رو فعال میکنیم. برای فعال سازی از دستور زیر استفاده کنید:sudo systemctl start nginxاگر میخواهید که بعد از ریبوت سیستم باز هم nginx به صورت خودکار ران بشه دستور زیر رو بزنید:sudo systemctl enable nginxبه همین صورت php رو هم فعال میکنیمsudo systemctl start php-fpm
sudo systemctl enable php-fpmالان اگر توی مرورگر آیپی سرور یا سیستمتون رو بزنید باید یک صفحه مثل صفحه زیر براتون باز بشه:nginx workبرای مشاهده اطلاعات php و افزونه هاش هم دستور زیر رو توی ترمینال ران کنید:php --iniمرحله دوم نصب MariaDBبرای نصب MariaDB دستور زیر رو بزنید:دبیان بیس ها:sudo apt install mariadb-serverآرچ بیس ها:sudo pacman -S mariadb-serverفدورا:sudo dnf install mariadb-serverبعد نصب MariaDB با دستورات زیر فعالش کنید:sudo systemctl start mariadb.service
sudo systemctl enable mariadb.serviceبعد نصب دستور زیر رو بزنید تا mysql براتون نصب بشه:sudo mysql_secure_installationبه تمام سوالاتی که ازتون میپرسه جواب Y بدید تا براتون نصب شه.بعد از نصب mysql برای تست MariaDB دستور زیر رو بزنید و پسوردی که برای mysql انتخاب کردید رو وارد کنید.sudo mysql -u root -pمرحله سوم نصب phpMyAdminالان که همه چی براتون نصب شده و فعاله نوبت phpmyadmin هستش که نصبش کنید. برای نصب دستور زیر رو بزنید:دبیان بیس ها:sudo apt install phpmyadminآرچ بیس ها:sudo pacman -S phpmyadminفدورا:sudo dnf isntall phpmyadminبعد از نصب باید یه symbolic از phpMyAdmin توی پوشه nginx بسازید. برای این کار کافیه دستور زیر رو بزنید:sudo ln -s /usr/share/phpMyAdmin /usr/share/nginx/html/بعد هم باید nginx رو ری استارت کنیدsudo systemctl restart nginxخب الان phpmyadmin نصب و میتونید از طریق مرورگر بهش دسترسی داشته باشید http://SERVER_IP/phpMyAdminرو توی مرورگرتون باز کنید و ازش استفاده کنید.خب تبریک میگم شما lemp رو روی سیستمتون نصب و راه اندازی کردید :)نکاتی درباره systemctl:برای غیر فعال کردن یک سرویس از دستور زیر استفاده کنید:sudo systemctl stop SERVICE_NAMEبرای غیر فعال کردن راه اندازی خودکار یک سرویس از دستور زیر استفاده کنید:sudo systemctl disable SERVICE_NAMEبرای  راه اندازی مجدد یک سرویس از دستور زیر استفاده کنید:sudo systemctl restart SERVICE_NAMEو برای دیدن وضعیت یک سرویس از دستور زیر استفاده کنید:sudo systemctl status SERVICE_NAMEموفق باشید :)منبع - منبع - منبع</description>
                <category>خشایار قندهاری</category>
                <author>خشایار قندهاری</author>
                <pubDate>Sat, 24 Apr 2021 06:03:56 +0430</pubDate>
            </item>
                    <item>
                <title>نکاتی برای با انگیزه بودن</title>
                <link>https://virgool.io/@ghkhashayar77/%D9%86%DA%A9%D8%A7%D8%AA%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A8%D8%A7-%D8%A7%D9%86%DA%AF%DB%8C%D8%B2%D9%87-%D8%A8%D9%88%D8%AF%D9%86-ziym3zxiz2fh</link>
                <description>نکاتی برای با انگیزه بودنانگیزه چیزیه که مارو به سمت انجام کارها سوق میدهد. مثل بنزین برای ماشین. اما خب حتی ماشین هم بنزین تموم میکنه. با انگیزه موندن همیشه آسان نیست. در ادامه با پیشنهاد ها و راهکار هایی آشنا میشیم که بتونیم با انگیزه بیشتری به کار هامون رو انجام بدیم.انگیزه مثبت و منفیانگیزه همون چیزیه که شما رو به سمت هدفی سوق میده، صبح از خواب بیدارتون میکنه، شمارو برای انجام وظیفه ای که دارید مصمم کرده و شمارو در مواقع سخت کمک می کنه.حال انگیزه دو نوع داره مثبت و منفی:انگیزه مثبت روی چیز های مثبت تمرکز دارند که وقتی شما انجامش میدهید اتفاق میوفتند. مثلا با انجام دادن کار خاصی، یک قدم به مناسب بودن برای کار بزرگ تر نزدیک تر شدید.انگیزه های منفی روی واکنش های منفی تمرکز داره که اگر اقدامی نکنی رخ میده. مثلا کار خاصی رو که باید تا چند ساعت دیگه انجامش بدی رو نتونی انجام بدی، توی رسیدن به هدفت شکست میخوری.انگیزه های مثبت و منفی هر دو توی شرایط مختلف میتونن موثر باشند. اگر برنامه عملی مثبتی نداری و از انگیزه منفی استفاده کنی احساس ناتوانی میکنی و حتی ممکنه که انگیزه انجام اون کار کمتر بشه.مثبت فکر کنچگونه انگیزه پیدا کنیم و با انگیزه بمانیمهدف هات رو مشخص کن. وقتی هدفی مشخص میکنی، تصمیم میگیری که به گونه ای رفتار کنی که به خواسته ات برسی. اهداف مسیر راه رو برات مشخص میکنن و باید روی آن تمرکز کنید. هدفی که قابل اندازه گیری و دارای نقطه پایانی هست میتونه خیلی کمک کنه تا با انگیزه باشی.بین اهدافتان، هدف هایی که دوست داری رو جدا کن. اگر برای کار هایی که دوست داری انجام بدی یا چیز هایی که میخواهید بهش برسی تلاش کنی خیلی بهتر نتیجه میگیری تا زمانی که برای کار هایی که دیگران فکر میکنن برات مناسبه، تلاش کنی.مواردی رو برای خودت بین اهدافی که دیگران برات گذاشتن پیدا کن. گاهی اوقات افرادی دیگه برات هدفی رو مشخص میکنن که برات جالب نیست یا دوست نداری انجامش بدی. پس بهتره که توی اون اهداف چیز هایی رو پیدا کنی که بهت انگیزه بیشتری میده. مثلا من از ریاضی خوشم نمیاد. اما میدونم که اگر بخوام یک سازنده باشم باید ریاضی بلد باشم. پس ریاضی به من کمک میکنه که به هدفی که دارم برسم.هدفت رو علنی کن. در مورد اهدافت با دوستات و خانوادت صحبت کن. یا این که اهدافت رو روی کاغذ بنویس. با این کار اساسا به خودت قول میدی که به هدفت برسی.پیشرفت رو رسم کن. بهترین چیز برای انگیزه گرفتن اینه که وسط کار ببینی که چقدر توی روند انجام کارت پیشرفت کردی. پس سعی کن که پیشرفتت رو همیشه روی کاغذ بنویسی یا این که اگر کار هایی مثل کار های گرافیکی یا برنامه نویسی انجام میدی حتما پروژه های اولیه خودت رو نگه دار تا بعدا بتونی یه نگاهی بهش بندازی.هدف هات رو به بخش های کوچک تر تقسیم کن. شنیدی که میگن « مردی که کوه را از میان برداش، کسی بود که شروع به برداشتن سنگ ریزه ها کرد... » دقیقا برای رسیدن به هدف های بزرگ باید هدفت رو بشکنی و به تیکه های کوچیک تر تقسیم کنی. از قدم های آسون تر شروع کنی تا خودت رو برای چالش های بزرگ تر آماده کنی.برای خودت پاداش مشخص کن. هر بار که کاری رو انجام میدی و یک قدم به هدف نزدک تر میشی یک پاداش به خودت بده.تنهایی پیش نرو! به یک کلاس خاص مربوط به هدفت بپیوند. یا این که معلم شخصی بگیر. به اشتراک گذاشتن تجربیاتت و تشویق شدن توسط اشخاص دیگر باعث افزایش انگیزه میشه.پله های موفقیتاگر واقعا رسیدن به هدفت سختهاگر تلاش کردید و هنوز نتونستید انگیزه لازم رو کسب کنی بهتره که با یک نفر که قابل اعتماده صحبت کنی. گاهی اوقات رسیدن به یک هدف بزرگ ممکنه خیلی سخت باشه و به تنهایی نشه بهش رسید. بنابر این داشتن یک پشتوانه میتونه خیلی کمک کنه.موفق و با انگیزه باشید :)منبع</description>
                <category>خشایار قندهاری</category>
                <author>خشایار قندهاری</author>
                <pubDate>Sun, 03 Jan 2021 15:24:28 +0330</pubDate>
            </item>
                    <item>
                <title>زندگی فریلنسری</title>
                <link>https://virgool.io/@ghkhashayar77/%D8%B2%D9%86%D8%AF%DA%AF%DB%8C-%D9%81%D8%B1%DB%8C%D9%84%D9%86%D8%B3%D8%B1%DB%8C-qrcvvdmbah6i</link>
                <description>زندگی فریلنسریاز خواب بیدار میشم، ساعت چنده؟ 9 صبح. اوکی، بریم سر کار.یه صبحانه مختصر نان و پنیر با یک لیوان چای. هوای خوبیه یکم برم بیرون از خونه قدم بزنم.ساعت چنده؟ 10:30 صبح.(صدای زنگ گوشی) این کیه؟ کارفرمای پروژمه، یه گزارش بهش بدم بد نیست.- سلام صبحتون بخیر + سلام صبح شما هم بخیر. پروژه ما در چه حاله؟- خوب پیش میره، قرار تحویلمون هفته دیگه هستش ولی من بهتون تا سه روز دیگه تحویل میدم.+ عالیه ممنونم ازتون.- خواهش میکنم خداحافظتون.اوکی اینم از این ساعت چنده؟ 11 صبح. یه لیوان شیر نسکافه درست کنم، برم یکم رو پروژه شخصی خودم کار کنم.ساعت چنده؟ 2 بعد از ظهر.اوکی بریم یکم غذا بزنیم بر بدن، فکر کنم پیتزا ایده خوبی باشه. سفارش میدم بیاد. بعد ناهار یکم استراحت و دیدن یک فیلم میتونه خوب باشه!ساعت چنده؟ 6 غروب.برم رو پروژه کارفرما کار کنم ...ساعت چنده؟ 10 شب.برای امروز کافیه. یکم کتاب بخونم و بعد بخوابم فردا ادامه میدم پروژه رو.از خواب میپرم. ساعت چنده؟ اوه ساعت 11 عه خواب موندم بازم ...چند تایی تماس از دست رفته دارم. کارفرمای پروژه هایی هستن که دارم. یکیشون الان داره تماس میگیره. ولش کن جوابشو نمیدم!برم سر پروژها ها که خیلی از برنامه عقبم.پیام جدید: + بخش فروشگاه پروژه ای که بهم هفته پیش تحویل دادید. به مشکل خورده و کاربران نمیتوانند خرید انجام بدهند. یک بررسی بفرمایید.- بله حتمااینو چیکارش کنم الان بین این همه کار. بریم ببینیم چی میشه.- مشکل حل شد+ ممنونبرم دو تا تخم مرغ بزنم خیلی گشنمه بعدش ادامه میدم کارو.(صدای زنگ گوشی) اوه اینه، پروژش 2 هفته عقب افتاده جواب ندم زشته.- سلام+ سلام، پروژه ما چی شد تکلیفش؟- دارم روش کار میکنم به یه سری باگ خوردم دارم رفعشون میکنم کم مونده از کار.+ جواب گوشیتو که نمیدی. همشم داری امروز فردا میکنی سریع تر تمومش کن.یکم روی پروژه این کار کنم کارش خیلی عقب افتاده.کارفرمای پروژه دومم هم پیام داده باید روی پروژه اونم کار کنم.ساعت چنده؟ 4:04 صبحه! بازم هیچی به هیچی. بخوابم فردا ادامه میدم. کاش حداقل خواب دیشبو ببینم ...این مقاله برای افرادی هستش که میخواهد فریلنسر بشوند و فکر میکنند که اگر فریلنسر باشند خیلی راحت هستند و دیگه هیچ مشکلی ندارند.نه این که فریلنسری خیلی داغون و سخت باشه نه، فقط اون چیزی هم که قبل از ورود به فریلنسری بهش فکر میکنند هم ممکنه اشتباه باشهمسلما هر کاری سختی خودش رو داره و هیچ کاری راحت نیستموفق باشید :)</description>
                <category>خشایار قندهاری</category>
                <author>خشایار قندهاری</author>
                <pubDate>Sun, 11 Oct 2020 10:41:00 +0330</pubDate>
            </item>
                    <item>
                <title>رفع مشکل کار نکردن تاچ پد و کیبورد لپتاپ در لینوکس</title>
                <link>https://virgool.io/@ghkhashayar77/%D8%B1%D9%81%D8%B9-%D9%85%D8%B4%DA%A9%D9%84-%DA%A9%D8%A7%D8%B1-%D9%86%DA%A9%D8%B1%D8%AF%D9%86-%D8%AA%D8%A7%DA%86-%D9%BE%D8%AF-%D9%88-%DA%A9%DB%8C%D8%A8%D9%88%D8%B1%D8%AF-%D9%84%D9%BE%D8%AA%D8%A7%D9%BE-%D8%AF%D8%B1-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-mig7i7tjkweq</link>
                <description>رفع مشکل کار نکردن تاچ پد و کیبورد لپتاپ در لینوکساگر قرار بود مهاجرت از ویندوز به لینوکسم رو کتاب کنم :)‌ این فصل اعصاب خورد کن ترین فصل می شد.حدود 3 ماهه که درگیر این باگ لینوکس هستم نه براش راه حلی توی اینترنت پیدا میکردم نه گروه های رفع اشکال جواب درستی میدادن.دقیق نمیدونم این مشکل برای چیه و از کجا اومده. فقط اینو میدونم که روی سیستم های asus و دسکتاپ kde plasma دیده شده!اول روی آرچ بودم، فکر میکردم که نسخه جدید آرچ این باگ رو پیدا کرده چون دقیقا بعد آپدیت آرچ این مشکل برام پیش اومد و کلا تاچ پد و کیبورد خود لپتاپ کار نمیکرد ولی کیبورد و ماوس جانبی وصل می کردی به سیستم کار می کرد!به خودم گفتم برم سمت مانجارو درسته اون آرچ بیسه ولی از بیس خودم روش کار نمیکنم. مانجارو رو نصب کردم اوکی بود! یکی دوماهی باهاش کار کردم تا این که دیدم 2 گیگ آپدیت داده و زدم آپدیت بشه. بعد آپدیت بازم ماوس و کیبورد سیستمم کار نکرد! یکم پرس و جو کردم فهمیدم این مشکل فقط برای لپتاپ های asus هستش ولی خب کسایی بودن که asus داشتن و بدون مشکل داشتن استفاده میکردن سیستمشونم آپدیت بود ولی دسکتاپشون kde نبودش! بخاطر همین حدس میزنم این قضیه فقط توی kde پیش میادش ولی مطمئن نیستم.بالاخره تصمیم گرفتم بیام یه لینوکس debian بیس نصب کنم ببینم این مشکل روی اونام هست یا نه. پس kali رو دانلود کردم و نصب کردم و اولین کاری که کردم این بود که آپدیتش کردم و سیستم رو ریست کردم و دیدم که بله رو kali با دسکتاپ kde هم این مشکل هستش!!خلاصه کلی گشتم و راه حلش رو پیدا کردم و اومدم اینجا به اشتراک بذارم شاید به درد یه نفر دیگم بخوره :)اول از هر چیزی برای اینکار باید کیبورد و ماوس جانبی داشته باشید. اگر هم ندارید باید از طریق گراب وارد محیط tty بشید و دستورات زیر رو بزنیدsudo nano /etc/X11/xorg.conf.d/00-keyboard.confاگر به اروری خوردید که nano وجود نداره با استفاده از پکیج منیجر سیستم عاملتون نصبش کنید.توی فایل ساخته شده دستور زیر رو بنویسید (به کوچک و بزرگ بودن حروف دقت کنید)Section &amp;quotInputClass&amp;quot
       Identifier &amp;quotAsus WMI hotkeys&amp;quot
       MatchProduct &amp;quotAsus WMI hotkeys&amp;quot
       Option &amp;quotIgnore&amp;quot &amp;quoton&amp;quot
EndSectionبعد از نوشتن دستور بالا اول ctrl+o بزنید بعد enter رو بزنید و بعد هم ctrl+x رو بزنید که از nano خارج بشید.و در آخر دستور زیر رو بزنیدsudo rebootبعد ریست شدن سیستمتون تاچ پد و کیبورد به درستی کار میکنه.موفق باشید :)</description>
                <category>خشایار قندهاری</category>
                <author>خشایار قندهاری</author>
                <pubDate>Thu, 08 Oct 2020 09:43:51 +0330</pubDate>
            </item>
                    <item>
                <title>نحوه آموزش PHP</title>
                <link>https://virgool.io/coderlife/%D9%86%D8%AD%D9%88%D9%87-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-php-hx2wkv64slf1</link>
                <description>نحوه آموزش PHPمطمئنا اولین چیزی که بعد از انتخاب یک زبان برنامه نویسی به ذهن آدم میادش اینه که از کجا شروع کنم یا چه راهی رو پیش بگیرم که یک زبان رو اصولی و توی کمترین زمان یاد بگیرم.مسلما بهترین راه برای این که اشتباهات کمتری داشته باشیم و زود تر به هدفمون برسیم اینه که از کسایی که دارن توی این زمینه کار میکنن سوال بپرسیم تا دیگه اشتباهاتی که دیگران انجام دادن رو انجام ندیم.توی این مقاله قصد دارم بهتون بگم که چطوری باید PHP رو شروع کنید و خودتون رو به سطح بالایی برسونید که به راحتی بتونید از پس هر مدل سایتی بر بیاید.پیش نیاز ها:برای یادگیری زبان PHP باید کمی html و css و javascript بلد باشید. البته الزامی نیست و بدون دونستن هیچ کدوم از این موارد هم میتونید زبان PHP رو یاد بگیرید ولی برای درک بهتر و نداشتن مشکل توی داینامیک کردن قالب ها لازمه که این موارد رو حداقل در سطح فهمیدن بلد باشید.انتخاب IDE مناسب:IDE چیه؟ IDE یا integrated development environment به محیطی میگن که شما توش کد مینویسید و پروژتون رو توسعه میدید.شما PHP رو میتونید توی هر TextEditor که توی سیستم عاملتون هست کد نویسی کنید ولی کار براتون خیلی سخت و تایم بر میشه پس بهتره که یک IDE خوب انتخاب کنید تا بتونید خیلی راحت کارتون رو پیش ببرید.یکی از بهترین IDE ها برای زبان PHP نرم افزار phpStorm هستش که واقعا قدرتمند و حرفه ای هستش شما میتونید به راحتی دانلود و ازش استفاده کنید. اگر از نرم افزار phpStorm خوشتون نیومد خیلی راحت میتونید یکی ازIDE های زیر رو انتخاب کنید.VsCodeNetBeansSublime TextAtomBracketsvim :)Komodo IDE...قدم اول آموزش پایه PHP:توی قدم اول شما باید پایه زبان PHP  رو یاد بگیرید. مواردی مثل ساختار نوشتاری زبان PHP، استفاده از حلقه و شرط ها، متغیر ها، آرایه ها و توابع مختلف زبان PHPباید توابع استفاده از زمان، توابع کار کردن با فایل ها، توابع مخصوص آرایه ها و ... رو یاد بگیرید. توجه کنید گفتم یاد بگیرید، حفظ نباید بکنید. توابع PHP انقدر زیاد هستن که یه فرد معمولی به هیچ عنوان نتونه همه رو حفظ کنه. فقط کافیه شما بدونید و درک کنید که چه کار هایی میشه با PHP انجام داد. بعد از اون توابع مهم و کاربردی به مرور زمان و با تمرین به راحتی توی ذهنتون میمونه توابع کم مصرف هم زمانی که بهش نیاز پیدا کردید میدونید که توی PHP وجود داره و با چندتا سرچ توی گوگل به راحتی پیداش میکنید.توی این مرحله برای روح پیدا کردن کارتون بهتره Ajax رو هم یاد بگیرید و ازش لذت ببرید.قدم دوم آموزش مباحث پیشرفته PHP:اول از هر چیزی توی این مرحله باید زبان SQL و روش استفاده از محیط phpMyAdmin رو یاد بگیرید. زمانی که این 2 مورد رو یاد گرفتید باید بدونید که چطوری میشه توی PHP به دیتابیس متصل شد و با استفاده از SQL اطلاعات رو از دیتابیس گرفت، به دیتابیس اضافه کرد، از دیتابیس حذف کرد و اطلاعات دیتابیس رو ویرایش کرد.بعد از کار با دیتابیس باید یاد بگیرید که چطوری برنامتون بهینه باشه. باید بدونید که چطوری کوئری های SQL رو بزنید که سیستم سنگین نشه و سرعت لود برنامه بالاتر بره. همچنین استفاده از حلقه هارو خوب یاد بگیرید که توی بهینه سازی خیلی به کار میادش.مورد دیگه ای که باید توی این مرحله انجام بدید برقراریه امنیت برنامه هستش. جلو گیری از حملات XSS، SQL Injection و ... بعد از اتمام این مرحله خیلی راحت میتونید سایت هایی با زبان PHP رو بنویسید. اما باید بدونید که اگر میخواید که توی بازار کار حرفه ای حرفی برای گفتن داشته باشید کافی نیست. پس همراه من باشید :)مرحله سوم شئ گرایی در PHP:دوره، دوره شئ گرایی هستش و اکثر زبان های موجود فعلی شئ گرا هستن. PHP هم از این مورد عقب نیوفتاده و از یه جایی به بعد خیلی شئ‌گرایی در PHP خوب شد و به درجه قابل قبولی رسیدش.برای یادگیری شئ گرایی توی PHP باید با مفاهیم oop که برای بیشتر زبان ها هم شبیه به هم هستش رو یاد بگیرید.باید مفاهیم class، ارث بری، کپسوله سازی،‌namespace و خیلی موارد دیگه ای که توی سیستم های شئ‌گرا مهم هستن رو به خوبی یاد بگیرید و درک کنید.مرحله چهارم یادگیری معماری MVC:چندین معماری توی PHP وجود داره ولی مهم ترین و بهترین معماری، معماری MVC هستش.MVC مخفف سه کلمه (Model - View - Controller) هستش که همونطور که از اسمش پیداست کد رو به سه بخش Model - View - Controller تقسیم میکنه و باعث میشه که فهم و توسعه کد خیلی بهتر و راحت تر از قبل بشه مدل (Model): توی Model ما به دیتابیس متصل میشیم و کار های مربوط به دیتابیس رو توی فایل های Model انجام میدیم.ویو (View): توی View ما هر چیزی که قراره کاربر ببینه رو قرار میدیم. در اصل قالب های html ما توی این بخش لود میشن.کنترلر (Controller): توی Controller ما Model هارو به View ها متصل میکنیم. یعنی اطلاعات دیتابیس که Model ها دریافت میکنن رو به View پاس میدیم و نمایش میدیم و ...همونطور که میبینید خیلی توسعه نرم افزار با این معماری ساده تر و راحت تر میشه.مرحله پنجم و مرحله نهایی یاد گیری یکی از فریم ورک های PHP:اگر میخواید که از نظر امینت، تمیز بودن کد، توسعه بهتر، موفقت توی بازار کار و خیلی چیز های دیگه در زمینه PHP پیشرفت کنید حتما بهتون پیشنهاد میکنم که یک فریم ورک از فریم ورک های PHP رو یاد بگیرید.فریم ورک های زیادی برای زبان PHP ساخته شده که معروف ترینش فریم ورک Laravel هستش.شما میتونید هر فریم ورکی که دوست داشتید رو یاد بگیرید ولی قبلش حتما به بازار کار اون فریم ورک توجه کنید. در حال حاضر Laravel بهترین بازار کار ایران رو داره.اگر از لاراول خوشتون نیومد میتونید یکی از فریم ورک های زیر رو انتخاب کنید.CodeIgniterSymfonyZendPhalconCakePHPYiiFuelPHP...سخن نهایی:سعی کنید مراحل بالا رو دقیقا با همین ترتیب طی کنید. این راه دقیقا مثل یه نردبان میمونه و باید پله به پله طی بشه.امیدوارم این مقاله بهتون کمک کرده باشه :)</description>
                <category>خشایار قندهاری</category>
                <author>خشایار قندهاری</author>
                <pubDate>Fri, 28 Aug 2020 20:53:12 +0430</pubDate>
            </item>
                    <item>
                <title>روش متصل شدن به ssh در آرچ لینوکس</title>
                <link>https://virgool.io/coderlife/%D8%B1%D9%88%D8%B4-%D9%85%D8%AA%D8%B5%D9%84-%D8%B4%D8%AF%D9%86-%D8%A8%D9%87-ssh-%D8%AF%D8%B1-%D8%A2%D8%B1%DA%86-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-xj2gojte54br</link>
                <description>sshssh چیست؟اول از هر چیز بگم که ssh چی هست اصلا. ssh یا  (Secure Shell) یک پروتکل برای برقراری ارتباط امن بین کاربر (client) سرور (server) هستش که با اتصال به ssh قبل از ارسال تمام اطلاعات رمز نگاری شده و در طرف دیگر اطلاعات رمز گشایی می شود.نصب ssh روی آرچخب بریم سراغ نصب روی سیستم عامل آرچ. برای نصب اول باید repository شما آپدیت باشه پس دستور زیر رو بزنید.sudo pacman -Syuبعد از اتمام آپدیت باید OpenSSH رو نصب کنیم. با دستور زیر براتون نصب میشه.sudo pacman -S opensshالان براتون نصب شده اگر دستور زیر و بزنید میتونید وضعیت رو مشاهده کنید.sudo systemctl status sshdخروجی دستور بالاخب همونطور که توی عکس مشاهده می کنید وضعیت ssh روی سیستم روی inactive هستش. برای فعال کردن ssh دستور زیر رو بزنید.sudo systemctl start sshdخب الان اگر دستور مشاهده وضعیت رو بزنید این خروجی رو دریافت می کنید.sudo systemctl status sshdخروجی دستور بالا همون طور که مشاهده می کنید الان وضعیت روی active هستش و همه چی اوکیه.برای متوقف کردن ssh هم باید دستور زیر رو بزنید sudo systemctl stop sshdهمچنین اگر میخواهید که ssh به طور خودکار با روشن شدن سیستم شما فعال بشه دستور زیر رو بزنید (پیشنهاد میکنم این دستور رو بزنید)sudo systemctl enable sshdو اگر هم پشیمون شدید میتونید با دستور زیر غیر فعال کنید.sudo systemctl disable sshdاستفاده از ssh خب اگر شما ssh رو نصب کردید و فعالش هم کردید دیگه وقت استفاده ازش هست برای استفاده از ssh باید نام کاربری، رمز عبور، ip و پورت رو داشته باشید.کافیه شما جلوی کلمه ssh در ترمینال با این فرمت username@ip نام کاربری و ip تون رو بنویسید.ssh test@192.168.0.1اگر از پورت پیش فرض (22) استفاده نمی کنید کافیه از فلگ p استفاده کنید که کامند شما به شکل زیر می شود.ssh test@192.168.0.1 -p 8000بعد از نوشتن این دستور اگر سوالی ازتون پرسید yes رو تایپ کنید و enter رو بزنید بعد ازتون پسورد رو میخواد که با وارد کردن پسورد ssh که دارید میتونید به سرور وصل بشید.منبع</description>
                <category>خشایار قندهاری</category>
                <author>خشایار قندهاری</author>
                <pubDate>Sun, 23 Aug 2020 18:48:26 +0430</pubDate>
            </item>
                    <item>
                <title>رفع ارور event های vue.js در W3C</title>
                <link>https://virgool.io/vue-developers/%D8%B1%D9%81%D8%B9-%D8%A7%D8%B1%D9%88%D8%B1-event-%D9%87%D8%A7%DB%8C-vuejs-%D8%AF%D8%B1-w3c-yzqopp60fwyd</link>
                <description>سایت W3C یک سایت برای رفع مشکلات ساختار کد html شما هستش که فقط کافیه لینک سایت خودتون رو بدید بهش تا براتون تمام مشکلات موجود توی html سایتتون رو بگه تا هم سایت بهینه تری داشته باشید هم سئو سایت شما بالا بره.حالا مشکل اینجاست که این سایت event های vue.js رو که توی html نوشتید رو به عنوان ارور میشناسه که خب اگر مشتری ای داشته باشید که ازتون بخواد این ارور هارو رفع کنید به مشکل میخورید.برای رفع این مشکل ابتدا افزونه زیر رو روی پروژتون نصب کنیدnpm i vue-w3c-valid --saveبعد از نصب توی پروژتون لودش کنیدimport VueW3CValid from &#039;vue-w3c-valid&#039;;اگر میخواید که به صورت آنلاین لود کنید افزونه رو دو تا دستور بالا رو بیخیال شید و خط زیر رو به html خودتون اضافه کنید&lt;script src=&amp;quothttps://unpkg.com/vue-w3c-valid/dist/simple.js&amp;quot&gt;خب الان کافیه که قبل از ساختن شئ vue خودتون کد زیر رو بنویسیدnew VueW3CValid({
    el: &#039;#app&#039;
});حالا وقتشه که شئ vue خودتون رو بسازیدnew Vue({
    el: &#039;#app&#039;
});خب همه چی آمادست از این به بعد به جای استفاده عادی از event ها به شکل زیر استفاده کنید.به جای:&lt;button v-on:click=&amp;quotcounter+1&amp;quot&gt;test&lt;/button&gt;بنویسید:&lt;button data-v-on_click=&amp;quotcounter+1&amp;quot&gt;test&lt;/button&gt;یا به جای:&lt;div v-if=&amp;quottrue&amp;quot&gt;&lt;/div&gt;بنویسید:&lt;div data-v-if=&amp;quottrue&amp;quot&gt;&lt;/div&gt;خب دیگه اروری توی w3 validator برای vue مشاهده نمی کنید :)‌ اگر می خواید در مورد افزونه vue-w3c-valid بیشتر بدونید کلیک کنید.</description>
                <category>خشایار قندهاری</category>
                <author>خشایار قندهاری</author>
                <pubDate>Thu, 19 Mar 2020 03:46:10 +0330</pubDate>
            </item>
                    <item>
                <title>استفاده از ریکپچا گوگل در پروژه های لاراولی</title>
                <link>https://virgool.io/@ghkhashayar77/%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%B1%DB%8C%DA%A9%D9%BE%DA%86%D8%A7-%DA%AF%D9%88%DA%AF%D9%84-%D8%AF%D8%B1-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D9%87%D8%A7%DB%8C-%D9%84%D8%A7%D8%B1%D8%A7%D9%88%D9%84%DB%8C-yxozxzujrlxz</link>
                <description>احتمالا تا حالا اسم ریکپچا به گوشتون خورده و باهاش آشنایی دارید. ریکپچا یک ابزار گوگل هستش که برای جلوگیری از اسپم و تشخیص ربات ها استفاده میشه و به راحتی میتونید ازش توی پروژه هاتون استفاده کنید تا امنیت فرم هاتون بالاتر بره.توی مرحله اول باید روی پروژه لاراولی شما افزونه Guzzle نصب باشه. برای نصب این افزونه دستور زیر رو وارد کنید.composer require guzzlehttp/guzzleبرای اطلاعات بیشتر در مورد Guzzle میتونید به این لینک مراجعه کنیدتوی مرحله بعد وارد کنسول کپچای گوگل بشید و سایت خودتون همراه با دامنه اون (چه دامنه مجازی چه واقعی) رو ثبت کنید. برای ورود به کنسول کپچا کلیک کنید. بعد از ثبت سایت خود دو کلید به شما میده یکی به نام site_key و دیگری به نام secret_key که از این دو کلید باید توی پروژتون استفاده کنید پس برای استفاده ازشون دو متغیر به فایل env لاراول اضافه می کنیم.RECAPTCHA_SITE_KEY=your_site_key
RECAPTCHA_SECRET_KEY=your_secret_keyبعد از ثبت دامنه وارد پروژه خودتون بشید و اسکریپت زیر رو در هدر سایت لود کنید.&lt;script src=&amp;quothttps://www.google.com/recaptcha/api.js?explicit&amp;hl=fa&amp;quot async defer&gt;خب الان میتونید با تگ زیر به فرمتون ریکپچا رو اضافه کنید.&lt;div class=&amp;quotg-recaptcha&amp;quot  data-sitekey=&amp;quot{{env(&#039;RECAPTCHA_SITE_KEY&#039;)}}&amp;quot&gt;&lt;/div&gt;توی خصوصیت data-sitekey کلیدی که از کنسول گرفتید و در env ذخیره کردید رو چاپ کنیدالان اگر صفحه رو ریلود کنید میبینید که ریکپچا گوگل به فرم شما اضافه شده.خب الان میریم سراغ ولیدیشن ریکپچا توی لاراول برای این کار اول از همه یک فایل به نام ReCaptcha.php توی مسیر زیر ایجاد کنیدapp/Validatorsمحتویات زیر رو توی این فایل کپی کنید.&lt;?php
namespace App\Validators;

use GuzzleHttp\Client;

class ReCaptcha
{
   public function validate($attribute, $value, $parameters, $validator)
    {
        $client = new Client;
        $response = $client-&gt;post(&#039;https://www.google.com/recaptcha/api/siteverify&#039;,
            [
                &#039;form_params&#039; =&gt;
                    [
                        &#039;secret&#039; =&gt; env(&#039;RECAPTCHA_SECRET_KEY&#039;),
                        &#039;response&#039; =&gt; $value
                    ]
            ]
        );

        $body = json_decode((string)$response-&gt;getBody());
        return $body-&gt;success;
    }
}توی فیلد secret کلیدی که از کنسول گرفتید و در env ذخیره کردید رو چاپ کنیدقدم بعدی باید به هسته لاراول ولیدیشنمون رو اضافه کنیم برای این کار وارد فایل AppServiceProvider.php  بشید و  توی متد boot خط زیر رو بنویسید.Validator::extend(&#039;recaptcha&#039;, &#039;App\\Validators\\ReCaptcha@validate&#039;);ابتدای فایل namespace زیر رو هم use کنید.use Illuminate\Support\Facades\Validator;خب همه چی آمادست الان فقط باید از ولیدیشنی که ساختید به شکل زیر توی کنترلر استفاده کنید.$this-&gt;validate(\request(), [
    &#039;g-recaptcha-response&#039; =&gt; &#039;required|recaptcha&#039;
]);منبع</description>
                <category>خشایار قندهاری</category>
                <author>خشایار قندهاری</author>
                <pubDate>Thu, 12 Mar 2020 02:40:46 +0330</pubDate>
            </item>
                    <item>
                <title>ساخت دامنه مجازی برای xampp در ویندوز و لینوکس</title>
                <link>https://virgool.io/@ghkhashayar77/%D8%B3%D8%A7%D8%AE%D8%AA-%D8%AF%D8%A7%D9%85%D9%86%D9%87-%D9%85%D8%AC%D8%A7%D8%B2%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-xampp-%D8%AF%D8%B1-%D9%88%DB%8C%D9%86%D8%AF%D9%88%D8%B2-%D9%88-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-cwpvrqjo9l6m</link>
                <description>دامنه مجازی چیه؟ دامنه مجازی به دامنه ای میگن که شما روی لوکال و سیستم خودتون و بر روی زمپ، ومپ یا دیگر برنامه هایی از این قبیل میسازید و میتونید توی لوکال ازش استفاده کنید به عنوان مثال میشه دامنه test.local یا google.loc یا هر دامنه دیگه که دلتون میخواد رو بسازید.از دامنه مجازی چه استفاده ای میشه؟ برای راحت تر شدن آدرس دهی توی لوکال یا ممکنه بخواید اسکریپتی نصب کنید که احتیاج به یک آدرس داشته باشه که توی آدرس (DOT) لازم داشته باشه یا راحت تر شدن کار با پروژه های لاراولی. بزرگ ترین مزیت دامنه مجازی اینه که سرعت اجرای برنامه هارو مخصوصا لاراول رو افزایش میده.خب بریم سر وقت آموزش اول از هرچیزی نیاز هستش که توی فایل کافیگ http برنامه xampp بگید که فایل httpd-vhosts.conf رو فراخوانی کنه. برای این کار به آدرس زیر برید:لینوکس:/opt/lampp/etcویندوز:c:/xampp/apache/confنکته:‌ آدرس های بالا برای زمانی هستش که شما xampp رو توی آدرس پیشفرض نصب کرده باشید که اگر پیشنهاد من رو بخواید بهتره روی همین آدرس پیشفرض باشه چون ممکنه یک سری مشکلات سطح دسترسی برای پروژه هاتون توی دامنه مجازی رخ بده.توی پوشه یک فایل به نام httpd.conf هستش این فایل رو باز کنید و خط زیر رو از حالت کامنت در بیارید:لینوکس:Include etc/extra/httpd-vhosts.confویندوز:Include conf/extra/httpd-vhosts.confالان با این کار فایل httpd-vhosts.conf رو توی زمپ فراخوانی میکنه و میتونید دامنه هاتون رو توی این فایل بنویسید. برای ساختن دامنه به آدرس زیر برید:لینوکس:/opt/lampp/etc/extraویندوز:c:/xampp/apache/conf/extraفایل httpd-vhosts.conf رو باز کنید و بخش زیر رو به آخر فایل اضافه کنید و فایل رو ذخیره کنید:&lt;VirtualHost *:80&gt;
       DocumentRoot &amp;quotyour/project/full/path&amp;quot
       ServerName google.loc
&lt;/VirtualHost&gt; توی کد بالا DocumentRoot آدرس کامل و دقیق پروژه شما هستش که باید بنویسید و ServerName هم آدرس دامنه مجازی شما هستش که هر چی دلتون بخواد میتونید بذارید من الان با این کار دامنه google.loc رو ساختم.نکته: برای هر دامنه مجازی جدید باید مرحله بالا رو تکرار کنید.خب ما الان دامنه مجازی رو توی xampp ساختیم برای مرحله بعد باید به سیستم دامنه رو معرفی کنیم که با ip لوکال یا همون 127.0.0.1 برامون باز کنه برای این کار به آدرس زیر برید:لینوکس:/etcویندوز:c:/Windows/System32/drivers/etc/از داخل این پوشه فایل hosts رو باز کنید و خط زیر رو به آخر فایل اضافه کنید و فایل رو ذخیره کنید:127.0.0.1	google.locنکته: برای هر دامنه مجازی جدید باید مرحله بالا رو تکرار کنید.خب مراحل ساخت دامنه مجازی تموم شد و الان به سیستم شما دامنه google.loc اضافه شد و میتونید ازش استفاده کنید. برای استفاده اول xampp رو از اول راه اندازی کنید تا دامنه براش لود بشه. برای این کار اگر ویندوز دارید که از محیط گرافیکی xampp استفاده کنید اگر هم لینوکس دارید دستور زیر رو وارد کنید.sudo /opt/lampp/lampp restartخب الان ممکنه براتون یک مشکل پیش بیاد اونم اینه که دیگه آدرس localhost که قبلا برای پروژه ها استفاده می کردید دیگه براتون بالا نیاد برای رفع این مشکل به فایل httpd-vhosts.conf برید و بخش زیر رو به آخر فایل اضافه کنید و فایل رو ذخیره کنید.لینوکس:&lt;VirtualHost *:80&gt;
    DocumentRoot &amp;quot/opt/lampp/htdocs&amp;quot
    ServerName localhost
&lt;/VirtualHost&gt;ویندوز:&lt;VirtualHost *:80&gt;
    DocumentRoot &amp;quotc:/xampp/htdocs&amp;quot
    ServerName localhost
&lt;/VirtualHost&gt;باز هم xampp خودتون رو راه اندازی مجدد کنید تا این مشکل حل بشه و با خیال راحت از دامنه مجازیتون استفاده کنید :)</description>
                <category>خشایار قندهاری</category>
                <author>خشایار قندهاری</author>
                <pubDate>Tue, 03 Mar 2020 00:35:00 +0330</pubDate>
            </item>
                    <item>
                <title>ذخیره سازی اطلاعات ورود به گیت هاب یا گیت لب</title>
                <link>https://virgool.io/@ghkhashayar77/%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D9%88%D8%B1%D9%88%D8%AF-%D8%A8%D9%87-%DA%AF%DB%8C%D8%AA-%D9%87%D8%A7%D8%A8-%DB%8C%D8%A7-%DA%AF%DB%8C%D8%AA-%D9%84%D8%A8-evxxbvqlaxjh</link>
                <description>حتما به این مضوع بر خوردید که موقع push، pull یا کلون کردن پروژه ها از روی گیت هاب یا گیت لب ازتون نام کاربری و رمز عبور می خواد و واقعا کسل کنندست.برای هم کاربران ویندوزی هم کاربران لینوکسی این مورد رو دیدیم ولی بیشتر برای لینوکسی ها پیش میاد و واقعا روی مخه فکر کن در طول روز 10 بار نیاز به push کردن پروژه داشته باشی و هر دفعه نام کاربری و رمز عبور رو وارد کنی و خدا نکنه که رمز رو اشتباه بزنی! خسته کنندست.اگر شمام مثل من از این کار متنفرید دستورات زیر رو بزنید.git config --global credential.helper cacheخب با زدن این دستور به سادگی سیستم کش رو فعال کردید و گیت رو برای استفاده از حافظه نهان تنظیم کردید.حالا برای این که مقدار تایم اولیه کش رو بیشتر کنید(فکر کنم 1 ساعت باشه) دستور زیر رو بزنید.git config --global credential.helper &#039;cache --timeout=86400&#039;خب با دستور بالا تایم کش رو روی 24 ساعت یعنی یک شبانه روز گذاشتیم. اینجوری وقتی سیستم شما 24 ساعت روشن باشه بعد از 24 ساعت باید یک بار نام کاربری و رمز عبور رو بزنید(در صورت restart کردن سیستم دوباره ازتون نام کاربری و رمز عبور را میخواهد)نکته ای که در دستور تغیر تایم وجود داره اینه که حتما باید تعداد ثانیه های مورد نیاز رو وارد کنید به عنوان مثال توی دستور بالا 86400 ثانیه برابر 24 ساعت هستش.اگر میخواهید اطلاعات بیشتر در این باره بدونید میتوانید به لینک زیر مراجعه کنید.https://help.github.com/en/github/using-git/caching-your-github-password-in-git</description>
                <category>خشایار قندهاری</category>
                <author>خشایار قندهاری</author>
                <pubDate>Sun, 10 Nov 2019 01:41:29 +0330</pubDate>
            </item>
                    <item>
                <title>روش استفاده از لاراول میکس در پروژه های غیر لاراولی</title>
                <link>https://virgool.io/laravel-community/%D8%B1%D9%88%D8%B4-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D9%84%D8%A7%D8%B1%D8%A7%D9%88%D9%84-%D9%85%DB%8C%DA%A9%D8%B3-%D8%AF%D8%B1-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D9%87%D8%A7%DB%8C-%D8%BA%DB%8C%D8%B1-%D9%84%D8%A7%D8%B1%D8%A7%D9%88%D9%84%DB%8C-ewapddymuvsh</link>
                <description>فکر نکنم لاراول کارهایی که از میکس استفاده کردن و ناراضی هستن تعدادشون به انگشت های دست هم برسه. خیلی ابزار قدرتمند و حرفه ای هستش که به نظرم هر لاراول کاری باید ازش استفاده کنه و بدون شک ضرر نمیکنه.حالا ممکنه برای خیلی ها سوال پیش بیاد که آیا این ابزار فقط مخصوص لاراول کارها و بک اند کارهاست؟؟ توی جواب باید بگم: نه! نیست. لاراول میکس یک ابزار برای فرانت کارها هستش و اصلا ربطی به بک اند نداره و توسط JeffreyWay خلق شده و توی هر پروژه ای میشه ازش استفاده کرد.حالا لاراول میکس چیکار میکنه؟ لاراول میکس یه ابزار قدرتمند برای کامپایل فایل های جاوااسکریپت و استایل توی پروژه هستش اگر بخوام یک سری از هنرنمایی هاش رو نام ببرم باید بگم که میتونه فایل های sass رو به css یا دستورات جاوااسکریپت es6 رو به دستورات es5 تبدیل کنه برای این که توی همه مرورگر ها اجرا بشه و یا حتی فایل های معمولی رو فشرده سازی یا به اصطلاح minify کنه که حجم کمتری رو بگیرن و خیلی کارهای دیگه هستش که این ابزار قدرتمند از پسش بر میاد.خب اول از هر چیز برای استفاده لاراول میکس باید روی سیستمتون node و npm نصب باشه برای اطمینان دستورات زیر رو وارد کنید تا ورژن node و npm نصب شده روی سیستمتون رو نمایش بده و مطمئن بشید که این دو نصب هستش.node -v
npm -vخروجی دستورات بالا به شکل زیر هستش.خب وارد پوشه پروژه خودتون بشید و دستور زیر رو بزنید و اطلاعات خواسته شده رو پر کنید تا فایل package.json به پروژه شما اضافه بشه.npm initتوی مرحله بعد دستور زیر رو وارد کنید تا لاراول میکس و sass برای شما نصب بشه.npm install laravel-mix cross-env node-sass --save-devبعد از اجرای دستور با یه همچین خروجی ای مواجه میشید که البته کم ممکنه طول بکشه(بسته به سرعت اینترنت)خب الان لاراول میکس برای شما نصب شده. حالا باید یک فایل به نام webpack.mix.js توی ریشه پروژتون بسازید و کد های زیر رو بهش اضافه کنید.const mix = require(&#039;laravel-mix&#039;);

mix.js(&#039;resources/js/app.js&#039;, &#039;public/js&#039;)
       .sass(&#039;resources/sass/app.scss&#039;, &#039;public/css&#039;);قبل از این که بریم سراغ مرحله بعد باید به توضیح کوچیکی بدم در مورد کد بالا. تابع js برای کامپایل فایل های جاوااسکریپت هستش و تابع sass هم همونطور که از اسمش پیداست فایل های sass رو کامپایل میکنه و به فایل css تبدیل میکنه توی پارامتر اول هر دو تابع باید آدرس فایلی که میخواید کامپایل بشه رو بدید و پارامتر دوم باید آدرس پوشه ای که میخواید فایل کامپایل شده توش قرار بگیره رو بدید به عنوان مثال تابع بالا فایل های app.js و app.scss رو کامپایل میکنه و فایل کامپایل شده رو توی آدرس public/js و public/css قرار میده که باید این فایل های کامپایل شده رو توی پروژتون اضافه کنید و ازش استفاده کنید. اگر میخواید با توابع لاراول میکس بیشتر آشنا بشید به این آدرس برید و داکیومنتش رو مطالعه کنید.مرحله بعدی باید script های زیر رو به فایل package.json اضافه شده به پروژتون اضافه کنید. اگر توی فایل package.json بخش scripts موردی وجود داشت موارد زیر رو باهاش جایگزین کنید.  &amp;quotscripts&amp;quot: {
          &amp;quotdev&amp;quot: &amp;quotnode node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js&amp;quot,
          &amp;quotwatch&amp;quot: &amp;quotnode node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js&amp;quot,
          &amp;quothot&amp;quot: &amp;quotnode node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js&amp;quot,
          &amp;quotproduction&amp;quot: &amp;quotnode node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js&amp;quot
  },خب تموم شد الان میتونید ازش استفاده کنید :)الان میتونید با استفاده از دستورات زیر از لاراول میکس استفاده کنید.npm run devبرای کامپایل کردن فایل ها توی حالت developmentتوجه داشته باشید که ممکنه برای بار اول که این دستور اجرا میشه یک سری پکیج های مورد نیازش رو دانلود کنه و بعد بسته بشه که باید یم بار دیگه اجرا کنیمش تا به صورت کامل برامون اجرا بشه(ممکنه بار اول احتیاج به 2 بار اجرای دستور باشه)npm run watchاین دستور از نظر کامپایلی مانند دستور قبلی هستش تنها فرقش با دستور قبلی اینه که دستور قبل بعد از کامپایل فایل ها بسته میشه و برای استفاده مجدد باید دوباره اجرا کنیمش ولی این دستور بعد از کامپایل فایل ها باز مونده و منتظر تغیرات فایل ما هستش و با هر تغیر توی فایل ها به صورت خودکار تغیرات رو کامپایل میکنه و برای زمانی که داریم پروژه رو توسعه میدیم واقعا به کار میادشnpm run productionاین دستور رو معمولا بعد از انجام پروژه استفاده میکنن تا تمام فایل هارو نهایی و minify کنه.</description>
                <category>خشایار قندهاری</category>
                <author>خشایار قندهاری</author>
                <pubDate>Mon, 30 Sep 2019 22:40:05 +0330</pubDate>
            </item>
                    <item>
                <title>نصب برنامه xampp روی لینوکس</title>
                <link>https://virgool.io/web-design/%D9%86%D8%B5%D8%A8-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-xampp-%D8%B1%D9%88%DB%8C-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-k3fuiq7k3zrk</link>
                <description>خیلی وقت بود میخواستم یک مقاله بنویسم ولی موضوع خوبی به ذهنم نمی رسید تا این که چند وقت پیش سر نصب xampp روی لینوکس به مشکل خوردم و گفتم کار های لازم رو بنویسم شاید مشکل یک تازه کار مثل خودم رو بتونم حل کنم.البته نصب برنامه xampp مشکل خاصی نداره و با چنتا دستور و چنتا next زدن (مثل ویندوز) به راحتی قابل نصبه ولی خب تازه کار بودن باعث میشه که کارو برای خودمون سخت بکنیم و به مشکلاتی بخوریم که حتی بخوایم از راهی که میریم عقب بکشیم (برگشتن به ویندوز)قبل از این که بریم سراغ نصب باید بگم که من لینوکس manjaro دارم که arch بیس هستش البته فکر نکنم کار های که میگم روی توزیع های debian بیس فرقی داشته باشه.خب بریم سر وقت نصب برنامه. اول از همه برنامه xampp رو از سایت www.apachefriends.org دانلود کنید بعد ترمینال رو باز کنید و 3 دستور زیر رو وارد کنید (با فرض اینکه فایل نصبی توی پوشه پیش فرض دانلود شما قرار داره).cd ~/Downloadschmod +x xampp.runsudo ./xampp.runتوجه کنید که توی دو دستور بالا باید نام کامل فایل رو بنویسید.بعد از وارد کردن دستورات بالا فایل برای شما باز میشه و با زدن next های متوالی نصب میشه براتون.توی مرحله بعد باید php موجود توی xampp رو به بشناسونید تا ازین به بعد php داخل xampp رو به عنوان php پیشفرض سیستم استفاده کنه با دستور زیر به راحتی انجام میشه این کار براتون البته اگر composer یا php رو از قبل با استفاده از مخازن نصب کردید حتما پاک کنید.sudo ln -s /opt/lampp/bin/php /usr/bin/phpخب الان اگر دستور php --ini رو بزنید میبینید که php سیستم از xampp لود شده.توی مرحله بعد و مرحله آخر میریم برای نصب composer که باید حتما روی php که روی xampp هستش نصب بشه برای همین توی مرحله قبل گفتم اگر از مخازن لینوکس composer و php رو نصب کردید حتما پاک کنید که مشکل و تداخلی پیش نیاد براتون خب با وارد کردن به ترتیب دستورات زیر composer برای شما نصب میشه.sudo curl -s https://getcomposer.org/installer | /opt/lampp/bin/phpsudo mv composer.phar /usr/local/bin/composersudo ln -s /opt/lampp/bin/php /usr/local/bin/phpخب الان همه چی آمادست و میتونید با دستورات زیر از xampp استفاده کنید.sudo /opt/lampp/lampp startبرای راه اندازی xampp sudo /opt/lampp/lampp stopبرای غیر فعال کردن xamppsudo /opt/lampp/lampp restartبرای راه اندازی مجدد xampp وقتی که فعال هستش.امید وارم تونسته باشم بهتون کمکی بکنم:)</description>
                <category>خشایار قندهاری</category>
                <author>خشایار قندهاری</author>
                <pubDate>Thu, 26 Sep 2019 23:28:06 +0330</pubDate>
            </item>
            </channel>
</rss>