<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های سامان زاهدی</title>
        <link>https://virgool.io/feed/@thezahedi</link>
        <description>Kurd, Geek, ISTP.</description>
        <language>fa</language>
        <pubDate>2026-06-27 14:39:52</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/2199/avatar/756v6k.jpg?height=120&amp;width=120</url>
            <title>سامان زاهدی</title>
            <link>https://virgool.io/@thezahedi</link>
        </image>

                    <item>
                <title>حل مشکل Let&#039;s connect you to a network حین نصب ویندوز ۱۱</title>
                <link>https://virgool.io/@thezahedi/how-to-fix-lets-connect-you-to-a-network-when-installing-windows-11-tdmhrr21cxjt</link>
                <description>سلام و وقت بخیر.مشکلی که گاهی در حین نصب ویندوز ۱۱ پیش میاد اینه که موقع نصب، چون درایور شبکه نصب نمی‌شه، نمی‌تونیم به اینترنت وصل بشیم و مراحل نصب رو به پایان برسونیم. اما به کمک راهکاری که در ادامه خدمتتون می‌گم میشه این محدودیت رو دور زد و بدون اتصال به اینترنت مراحل نصب ویندوز ۱۱ رو انجام داد.اگر در حین نصب ویندوز ۱۱ به این پنجره برخورد کردید:در همین مرحله کلیدهای Shift + F10 رو همزمان فشار بدید، با این کار یک ترمینال جدید براتون باز میشه:حالا توی ترمینال عبارت زیر رو بنویسید و اینتر بزنید:oobe\BypassNROمثل تصویر زیر:بعد از این کار سیستم شما یک بار ریستارت میشه و پس از روشن شدن، دوباره مراحل نصب رو انجام بدید که به همون قسمت اتصال به اینترنت برسید، اما این بار یک گزینه‌ی جدید با عنوان I don&#039;t have Internet وجود داره که می‌تونید با زدن این گزینه، بدون اتصال به اینترنت مراحل نصب ویندوز ۱۱ رو به پایان برسونید:امیدوارم این آموزش به کارتون بیاد.موفق باشید.</description>
                <category>سامان زاهدی</category>
                <author>سامان زاهدی</author>
                <pubDate>Sat, 09 May 2026 13:00:08 +0330</pubDate>
            </item>
                    <item>
                <title>معرفی دوره‌ی رایگان آموزش MYSQL برای توسعه‌دهندگان</title>
                <link>https://virgool.io/@thezahedi/%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D8%AF%D9%88%D8%B1%D9%87-%DB%8C-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B1%D8%A7%DB%8C%DA%AF%D8%A7%D9%86-sql-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AA%D9%88%D8%B3%D8%B9%D9%87-%D8%AF%D9%87%D9%86%D8%AF%DA%AF%D8%A7%D9%86-cystzvvjpsac</link>
                <description>بعد مدت‌ها سلام.امروز می‌خوام یک دوره‌ی فوق‌العاده آموزش MYSQL برای توسعه‌دهندگان رو بهتون معرفی کنم.این دوره از چهار بخش اصلی تشکیل شده:SchemaIndexingQueriesExamplesبسیار دوره‌ی خوبیه و خیلی برای توسعه‌دهندگان کاربردی هست.امیدوارم دیدن این دوره برای شما هم مفید باشه.لینک دوره.</description>
                <category>سامان زاهدی</category>
                <author>سامان زاهدی</author>
                <pubDate>Fri, 31 Jan 2025 04:01:22 +0330</pubDate>
            </item>
                    <item>
                <title>من چطوری اوبونتو 22.04 رو برای برنامه‌نویسی آماده میکنم؟</title>
                <link>https://virgool.io/@thezahedi/%D9%85%D9%86-%DA%86%D8%B7%D9%88%D8%B1%DB%8C-%D8%A7%D9%88%D8%A8%D9%88%D9%86%D8%AA%D9%88-2204-%D8%B1%D9%88-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A2%D9%85%D8%A7%D8%AF%D9%87-%D9%85%DB%8C%DA%A9%D9%86%D9%85-gpwcb8xpujcn</link>
                <description>سلام.من توسعه‌دهنده‌ی سمت سرور با Laravel/PHP هستم و بعد از نصب سیستم عامل (در اینجا اوبونتو 22.04) ابزارهایی رو نصب و تنظیم میکنم که بتونم راحت‌تر به توسعه‌ی نرم‌افزار بپردازم.توی این پست قصد دارم مراحلی که انجام میدم و ابزارهایی که نصب میکنم رو اینجا مستند کنم که شاید به درد همکارانم بخوره.پس‌نوشت: بعضی از دوستان گفتن چرا پروژه‌هات رو Dockerize نمیکنی که نیاز به انجام این مراحل نباشه؟!باید بگم که برای داکرایز نکردن پروژه‌ها، دلایل خودم رو دارم که نیازی به توضیحشون نمیبینم. مسئله‌ی بعدی اینه که به این پست از جنبه‌ی آموزشی نگاه کنید، همه‌ی پروژه‌ها لزوما نیاز به داکرایز شدن ندارن و هرکسی به یه روشی راحته. اینم روش منه. اگر شما هم دوست داشتید میتونید مراحلی که برای آماده‌سازی سیستمتون انجام میدید رو مستند کنید که همه استفاده کنند. با تشکر.بعد از نصب اوبونتو 22.04 اولین کاری که باید کرد آپدیت کردن پکیج‌هاست.پس دو دستور زیر رو به ترتیب میزنم:sudo apt updatesudo apt upgradeبعد نیاز به نصب چند پکیج ابتدایی دارم:sudo apt install git zsh curl wget build-essentialحالا پلاگین OhMyZSH رو برای zsh نصب میکنم:sh -c &quot;$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)&quot;بعد از این کار باید یک بار لاگ‌اوت و دوباره لاگین کنم که Shell پیش‌فرض به zsh تغییر کنه و پلاگین OhMyZSH لود بشه.حالا باید PHP رو نصب کنم. من برای نصب پی‌اچ‌پی از ریپازیتوری ondrej/php استفاده میکنم که همواره آخرین آپدیت‌ها رو توی خودش داره:sudo add-apt-repository ppa:ondrej/phpو بعد پکیج‌های PHP مورد نیازم رو نصب میکنم:sudo apt install php-fpm php-mbstring php-bcmath php-mcrypt php-zip php-xml php-tokenizer php-mysql php-sqlite3 php-mongodb php-redis php-gd php-imagick php-bz2 php-json php-curl php-soap php-readline php-intl php-dev php-pgsql اگر نیاز به نسخه‌های دیگه‌ای هم داشتم به این صورت عمل می‌کنم:sudo apt install php8.0-fpm php8.0-mbstring php8.0-bcmath php8.0-mcrypt php8.0-zip php8.0-xml php8.0-tokenizer php8.0-mysql php8.0-sqlite3 php8.0-mongodb php8.0-redis php8.0-gd php8.0-imagick php8.0-bz2 php8.0-curl php8.0-soap php8.0-readline php8.0-intl php8.0-dev php8.0-pgsql بعد از نصب PHP باید Composer رو نصب کنم:php -r &quot;copy(&#x27;https://getcomposer.org/installer&#x27;, &#x27;composer-setup.php&#x27;);&quot;sudo php composer-setup.php --install-dir /usr/local/bin --filename composerphp -r &quot;unlink&#40;&#x27;composer-setup.php&#x27;&#41;;&quot;بعد خط زیر روی به فایل ~/.zshrc اضافه می‌کنم که سیستم عامل باینری‌های کامپوزر رو از مسیرش بخونه:export PATH=&quot;$HOME/.config/composer/vendor/bin:$PATH&quot;در این مرحله نیاز به نصب nodejs دارم که من برای نصبش از ابزار nvm استفاده می‌کنم:بهتره که از سایت github.com/nvm-sh/nvm دستورات رو برداشت (با دستور زیر نسخه‌ی 0.39.3 نصب میشه).curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bashبعد از اجرای دستور بالا باید به صورت اتوماتیک خط‌های زیر به انتهای فایل .zshrc در مسیر HOME اضافه شده باشند. اگر اضافه نشدند به صورت دستی اونها رو اضافه می‌کنم:export NVM_DIR=&quot;$HOME/.nvm&quot;[ -s &quot;$NVM_DIR/nvm.sh&quot; ] &amp;&amp; \. &quot;$NVM_DIR/nvm.sh&quot;  # This loads nvm[ -s &quot;$NVM_DIR/bash_completion&quot; ] &amp;&amp; \. &quot;$NVM_DIR/bash_completion&quot;  # This loads nvm bash_completionحالا باید فایل .zshrc رو با دستور زیر دوباره به شل zsh معرفی کنم:source ~/.zshrcحالا میتونم نسخه‌های مختلف node رو با nvm install به راحتی نصب کنم:اگر قصد نصب نسخه‌های دیگه رو داشتید عدد 18 رو به عدد ورژن مورد نظرتون تغییر بدید.nvm install 18حالا برای Serve کردن پروژه‌هام نیاز به نصب ابزار valet-linux دارم که توسط کامپوزر به صورت گلوبال نصب میشه:composer global require cpriego/valet-linuxبعد از نصب valet-linux باید چند تا پکیج که پیش‌نیاز valet هستن رو با دستور زیر نصب کنم:sudo apt install libnss3-tools jq xselو در نهایت میتونم با دستور زیر ‌valet رو نصب کنم:valet installحالا دستور زیر رو اجرا میکنم که به Valet بگم پروژه‌هام کجا هستن:cd &amp;&amp; mkdir Sites &amp;&amp; cd Sites &amp;&amp; valet parkبا دستور بالا اول به HOME میرم، بعد دایرکتوری Sites رو میسازم، بعد وارد دایرکتوری Sites میشم و در نهایت با دستور valet park به valet میگم که پروژه‌هام رو از دایرکتوری Sites بخونه.حالا نیاز به نصب docker دارم.ابتدا:sudo apt update &amp;&amp; sudo apt install ca-certificates curl gnupg lsb-releaseبعد:sudo mkdir -m 0755 -p /etc/apt/keyringscurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpgecho &quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable&quot; | sudo tee /etc/apt/sources.list.d/docker.list &gt; /dev/nullدر نهایت:sudo apt update &amp;&amp; sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginبعد از نصب داکر یوزر فعلیم رو به گروه docker اضافه میکنم که نیازی به وارد کردن sudo قبل از هر دستور docker نداشته باشم:sudo usermod -aG docker $USERحالا باید یک بار لاگ‌اوت و دوباره لاگین کنم.حالا به کمک دستور pull داکر ایمیج‌های mysql, phpmyadmin, mongo, mongoclient, redis, rebrow رو دریافت می‌کنم:docker pull mysql:8docker pull phpmyadmindocker pull mongo:4docker pull mongoclient/mongoclientdocker pull redisdocker pull marian/rebrowحالا یک network به اسم mynet برای کانتینرهام میسازم:docker network create mynetحالا باید کانتینر‌های مورد نیازم رو ایجاد کنم:Mysql (ports: 3306,33060 | username: root | password: root):docker run -d --name mysql --net mynet --restart always -p 3306:3306 -p 33060:33060 -e MYSQL_ROOT_PASSWORD=root mysql:8phpMyAdmin:docker run -d --name mysql-client --net mynet --restart always -p 3001:80 -e PMA_HOST=mysql -e UPLOAD_LIMIT=2048M phpmyadminMongo:docker run -d --name mongo --net mynet --restart always -p 27017:27017 mongo:4MongoClient:docker run -d --name mongo-client --net mynet --restart always -p 3002:3000 mongoclient/mongoclientRedis:docker run -d --name redis --net mynet --restart always -p 6379:6379 redisRebrow (Redis Client):docker run -d --name redis-client --net mynet --restart always -p 3003:5001 marian/rebrowبا اجرای دستورات بالا و ایجاد کانتینرهای مورد نظر، سرویس‌های Mysql, Mongo و Redis روی پورت پیشفرض خودشون Run میشن و کلاینت‌های اونها، روی پورت‌های زیر در دسترس خواهند بود:phpMyAdmin: http://localhost:3001 (username: root | password: root)MongoClient: http://localhost:3002Rebrow (Redis): http://localhost:3003حالا باید پکیج‌های Snap رو هم آپدیت کنم:ابتدا دستور زیر رو میزنم:sudo snap-store --quitبعد تمام برنامه‌های باز رو میبندم و دستور زیر رو میزنم (حتما ببندید که آپدیتتون به مشکل نخوره):sudo snap refreshو در نهایت یک بار سیستم رو ریستارت میکنم.در انتها ابزارهای مورد نیازم رو Ubuntu Software نصب میکنم:Visual Studio CodePHPStormPostmanDiscordTelegramVLCخب آماده‌سازی اوبونتو 22.04 برای برنامه‌نویسی Laravel/PHP تموم شد.امیدوارم این مطلب به دردتون بخوره و کارتون رو راحت بکنه.اگر نکته‌ای داشتید و یا پیشنهادی برای بهتر شدن روند آماده‌سازی داشتید حتما توی کامنت‌ها بهم بگید.«سال نو مبارک»</description>
                <category>سامان زاهدی</category>
                <author>سامان زاهدی</author>
                <pubDate>Thu, 23 Mar 2023 14:28:35 +0330</pubDate>
            </item>
                    <item>
                <title>ربات‌های تلگرام من</title>
                <link>https://virgool.io/@thezahedi/%D8%B1%D8%A8%D8%A7%D8%AA-%D9%87%D8%A7%DB%8C-%D8%AA%D9%84%DA%AF%D8%B1%D8%A7%D9%85-%D9%85%D9%86-rotc0vbp6ki1</link>
                <description>سلام.توی این پست می‌خوام لیست ربات‌هایی که ساختم رو قرار بدم.ربات تلگرام الآن AlaanRobot با امکانات:محاسبه زمان باقیمانده تا سال جدید شمسی، میلادی و قمرینمایش تاریخ و ساعت فعلی با دو فرمتتبدیل تاریخ شمسی به میلادی و میلادی به شمسیمحاسبه‌ی اطلاعات فعلی ماه :moon:محاسبه‌ی فاصله‌ی زمانی دو تاریخ به شمسی و میلادی (مثلا می‌توان فاصله‌ی سن دو نفر را محاسبه کرد)محاسبه‌ی زمان گذشته از یک تاریخ تا امروز و زمان مانده تا یک تاریخ از امروزامکان انتخاب منطقه‌ی زمانیربات تلگرام آی‌فیت iFitBot با امکانات:ثبت سایز‌های مختلف برای محاسبات دقیق‌ترمحاسبه زمان و کالری مورد نیاز برای رسیدن به یک درصد چربی مشخصمحاسبه شاخص توده بدنی یا BMIمحاسبه سوخت و ساز پایه یا BMRمحاسبه درصد چربی بدنمحاسبه بازه مناسب ضربان قلب برای تمرینربات تلگرام آسانسور AsansorBot رباتی مرتبط با صنعت آسانسور با امکاناتی نظیر:محاسبه ظرفیت کابینمحاسبه زاویه آلفامحاسبه سرعت خطی کابینمحاسبه وزن کابینمحاسبه لوازم مصرفیمحاسبه طول کابل سه فازو فهرست الزامات جدید استانداردامیدوارم مورد استفاده‌تون قرار بگیره.</description>
                <category>سامان زاهدی</category>
                <author>سامان زاهدی</author>
                <pubDate>Tue, 06 Dec 2022 17:46:52 +0330</pubDate>
            </item>
                    <item>
                <title>آماده‌سازی پروژه لاراول ۹ به همراه Vuejs و Tailwindcss</title>
                <link>https://virgool.io/@thezahedi/%D8%A2%D9%85%D8%A7%D8%AF%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D9%84%D8%A7%D8%B1%D8%A7%D9%88%D9%84-%DB%B9-%D8%A8%D9%87-%D9%87%D9%85%D8%B1%D8%A7%D9%87-vuejs-%D9%88-tailwindcss-nhqna70sniib</link>
                <description>توی این پست روش آماده‌سازی پروژه‌ی فول‌استک لاراول ۸ رو آموزش دادم.اما توی نسخه‌ی ۹ ابزار Vite جایگزین Laravel Mix شده و روش آماده‌سازی اون متفاوت شده.توی این پست می‌خوام مراحل آماده‌سازی پروژه‌ی فول‌استک لاراول ۹ رو به همراه فریمورک Vue برای فرانت‌اند و ابزار TailwindCSS برای نوشتن استایل‌های بهتر رو آموزش بدم. امیدوارم مورد پسند قرار بگیره.ابتدا باید یک پروژه‌ی جدید لاراول ۹ ایجاد کنیم:laravel new laravel9-fullstackو وارد دایرکتوری پروژه می‌شیم:cd laravel9-fullstackبعد پکیج laravel/ui رو نصب می‌کنیم:composer require laravel/uiبعد به کمک دستور زیر تنظیمات پیشفرض Vue رو اعمال می‌کنیم:php artisan ui vueو بعد دستور زیر رو وارد می‌کنیم که پکیج‌های npm نصب بشن:npm iبعد با وارد کردن دستور زیر tailwindcss رو نصب می‌کنیم:npm install --save-dev tailwindcssو دستور زیر رو وارد می‌کنیم که فایل کانفیگ tailwind.config.js به پروژه اضافه بشه:npx tailwindcss init -pحالا محتویات فایل vite.config.js موجود در ریشه‌ی پروژه رو به شکل زیر تغییر میدیم:حالا فایل tailwind.config.js موجود در ریشه‌ی پروژه رو باز می‌کنیم و اون رو به شکل زیر تغییر میدیم:اگر به عکس بالا دقت کنید میخوایم یک پوشه‌ی جدا برای قسمت frontend پروژه ایجاد کنیم و فایل‌های  مربوط به فرانت‌اند رو در اون قرار بدیم.خب حالا یک پوشه در root پروژه با اسم frontend ایجاد می‌کنیم.در مرحله‌ی بعد پوشه‌ی css و محتویات پوشه‌ی js  موجود در پوشه‌ی resources رو به پوشه‌ی frontend منتقل می‌کنیم.سپس فایل frontend/css/app.css رو باز می‌کنیم و محتویات زیر رو در اون می‌نویسیم:پوشه‌ی sass موجود در پوشه‌ی resources رو هم نیاز نداریم و اون رو حذف میکنیم.حالا باید چند تا فایل جدید ایجاد کنیم:اولین فایل توی مسیر frontend/components با نام components.js و با محتویات زیر:و توی این فایل کامپوننت‌های Vue رو register می‌کنیم که در سراسر اپ در دسترس باشن.بعد فایل App.vue در مسیر frontend/views با محتویات زیر ایجاد می‌کنیم:و در انتها محتویات فایل frontend/app.js رو به شکل زیر تغییر میدیم:خب حالا باید یک route در فایل routes/web.php به شکل زیر ایجاد کنیم:و پس از این کار محتوای فایل resources/views/welcome.blade.php رو هم به شکل زیر تغییر میدیم:در این مرحله کارهای مورد نیاز اولیه رو انجام دادیم و فقط کافیه دستور زیر رو برای بیلد کردن فایل‌های فرانت‌اند وارد کنیم:npm run devو حالا می‌تونیم با دستور زیر پروژه‌مون رو serve کنیم و خروجی کارمون رو در مرورگرمون ببینیم:php artisan serveامیدوارم این مطلب به کارتون بیاد و اگر سوالی در همین مورد داشتید می‌تونید از قسمت نظرات بپرسید.</description>
                <category>سامان زاهدی</category>
                <author>سامان زاهدی</author>
                <pubDate>Tue, 06 Dec 2022 17:24:38 +0330</pubDate>
            </item>
                    <item>
                <title>آماده‌سازی یک پروژه فول‌استک لاراول + VueJS و TailwindCss</title>
                <link>https://virgool.io/laravel-community/%D8%A2%D9%85%D8%A7%D8%AF%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-%DB%8C%DA%A9-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D9%81%D9%88%D9%84-%D8%A7%D8%B3%D8%AA%DA%A9-%D9%84%D8%A7%D8%B1%D8%A7%D9%88%D9%84-vuejs-%D9%88-tailwindcss-s1heoz1yvit8</link>
                <description>این نوشته برای نسخه‌های 8 لاراول و قبل از آن تهیه شده است. در نسخه‌ی 9 ابزار Vite اضافه شده که روش آماده‌سازی آن متفاوت از آموزش زیر است.برای نسخه‌ی ۹ این پست رو ببینید.سلام.امروز میخوام کاری که خودم برای آماده‌سازی یک پروژه فول‌استک لاراول (Laravel و VueJS به همراه TailwindCss) انجام میدم رو قدم به قدم آموزش بدم امیدوارم به دردتون بخوره و چیزی ازش یاد بگیرید.ابتدا و قبل از هر کاری یک پروژه جدید لاراولی رو به کمک دستور زیر ایجاد می‌کنیم:laravel new laravel-fullstack-sampleبعد در اولین قدم پکیج laravel/ui رو نصب می‌کنیم:composer require laravel/uiبعد به کمک دستور زیر تنظیمات پیشفرض Vue رو اعمال می‌کنیم:php artisan ui vueو در مرحله‌ی بعد دستور زیر رو برای نصب کردن نیازمندی‌های فرانت‌اند وارد می‌کنیم:npm installبعد با وارد کردن دستور زیر tailwindcss رو نصب می‌کنیم:npm install --save-dev tailwindcssسپس توی root پروژه فایل webpack.mix.js رو باز می‌کنیم و تغییرات زیر رو در اون اعمال میکنیم:اگر به عکس بالا دقت کنید میخوایم یک پوشه‌ی جدا برای قسمت frontend پروژه ایجاد کنیم و فایل‌های مربوط به فرانت‌اند رو در اون قرار بدیم.خب حالا یک پوشه در root پروژه با اسم frontend ایجاد می‌کنیم.در مرحله‌ی بعد پوشه‌ی css و محتویات پوشه‌ی js  موجود در پوشه‌ی resources رو به پوشه‌ی frontend منتقل می‌کنیم.سپس فایل frontend/css/app.css رو باز می‌کنیم و محتویات زیر رو در اون می‌نویسیم:پوشه‌ی sass موجود در پوشه‌ی resources رو هم نیاز نداریم و اون رو حذف میکنیم.در نهایت ساختار دو پوشه‌ی resources و frontend  باید به این شکل در بیاد.حالا باید چند تا فایل جدید ایجاد کنیم:اولین فایل توی مسیر frontend/components با نام components.js و با محتویات زیر:و توی این فایل کامپوننت‌های Vue رو register می‌کنیم که در سراسر اپ در دسترس باشن.بعد فایل App.vue در مسیر frontend/views با محتویات زیر ایجاد می‌کنیم:و در انتها محتویات فایل frontend/app.js رو به شکل زیر تغییر میدیم:خب حالا باید یک route در فایل routes/web.php به شکل زیر ایجاد کنیم:و پس از این کار محتوای فایل resources/views/welcome.blade.php رو هم به شکل زیر تغییر میدیم:در این مرحله کارهای مورد نیاز اولیه رو انجام دادیم و فقط کافیه دستور زیر رو برای بیلد کردن فایل‌های فرانت‌اند وارد کنیم:npm run watchو حالا می‌تونیم با دستور زیر پروژه‌مون رو serve کنیم و خروجی کارمون رو در مرورگرمون ببینیم:php artisan serveامیدوارم این مطلب به کارتون بیاد و اگر سوالی در همین مورد داشتید می‌تونید از قسمت نظرات بپرسید.</description>
                <category>سامان زاهدی</category>
                <author>سامان زاهدی</author>
                <pubDate>Fri, 10 Sep 2021 16:20:46 +0430</pubDate>
            </item>
                    <item>
                <title>برای اینکه یک رفتار جدید تبدیل به عادت بشه، باید انجام دادنش رو برای خودتون آسون کنید!</title>
                <link>https://virgool.io/@thezahedi/%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A7%DB%8C%D9%86%DA%A9%D9%87-%DB%8C%DA%A9-%D8%B1%D9%81%D8%AA%D8%A7%D8%B1-%D8%AC%D8%AF%DB%8C%D8%AF-%D8%AA%D8%A8%D8%AF%DB%8C%D9%84-%D8%A8%D9%87-%D8%B9%D8%A7%D8%AF%D8%AA-%D8%A8%D8%B4%D9%87-%D8%A8%D8%A7%DB%8C%D8%AF-%D8%A7%D9%86%D8%AC%D8%A7%D9%85-%D8%AF%D8%A7%D8%AF%D9%86%D8%B4-%D8%B1%D9%88-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AE%D9%88%D8%AF%D8%AA%D9%88%D9%86-%D8%A2%D8%B3%D9%88%D9%86-%DA%A9%D9%86%DB%8C%D8%AF-vcgtb0f7lbuu</link>
                <description>اون چیزی که مسیر شما به سمت شکل دادن عادت جدید رو سخت می‌کنه، اصطکاکه! با کاهش اصطکاک، مسیر شما بسیار هموار‌تر می‌شه. در واقع اگه راهی پیدا کنید که دستیابی به هدف رو آسون‌تر کنه، اونوقته که احتمال موفقیت‌تون بالا می‌ره. اصطکاک عموما تحت تاثیر سه تا فاکتور ایجاد می‌شه: فاصله، زمان و‌ تلاش! الان دقیق توضیح می‌دم: اگه باشگاه شما از خونه‌تون دور باشه، احتمال اینکه یکی از این روز‌ها بیخیال ورزش‌تون بشید، بالاست (فاصله). یا اگه وقت آزاد شما خیلی کم باشه، احتمالش واقعا ضعیفه که اون زمان رو به ورزش کردن اختصاص بدید (زمان). در ‌‌نهایت، اگه انجام کاری به تلاش زیادی نیاز داشته باشه، مثل درست کردن غذاهای سالم تو آشپزخونه! چون بعدش فضای آشپزخونه حسابی نامرتب می‌شه و‌تر و تمیز کردن همه چی به کلی انرژی احتیاج داره (تلاش). پس از این به بعد، برای شناسایی اصطکاکی که ممکنه سد راه تون شده باشه، به زمان، فاصله و تلاشی که هدف تون نیاز داره فکر کنید و بعد از خودتون بپرسید، چیکار کنم که انجام دادن این فعالیت برام آسون‌تر بشه؟ اگر تصمیم دارید هر روز صبح، نیم ساعت بدوید، از شب قبل کفش و لباس مناسب‌تون رو آماده، کنار تخت‌تون بذارید یا اگه همیشه کلیدتون رو گم می‌کنید، یا ماسک زدن فراموش‌تون می‌شه، چند تا میخ یا گیره‌ی ساده، برای آویزون کردن کلید و ماسک، به دیوار کنار در خروجی نصب کنید، تا این وسایل درست قبل از بیرون رفتن، جلوی چشم‌تون باشن. ایده جالب دیگه اینه که رفتار جدیدتون رو با یه عادت قدیمی همراه کنید، مثلا اگر قصد دارید تمرین مدیتیشن رو به برنامه‌ی روزانه‌تون اضافه کنید، این تمیرنات رو موقع مسواک زدن انجام بدید، اینطوری نه از یادتون می‌ره و نه به زمان اضافه‌ای احتیاج دارید. اگر قراره سبک غذا خوردن‌تون تغییر کنه و خوراکی‌های سالم، جای غذای فست‌فودی رو بگیره، تو قدم اول، آشپزخونه و یخچال‌تون رو مرتب کنید تا دقیقا بدونید چه موادی در حال حاضر موجود دارید و چه چیزهایی رو باید تهیه کنید، خوراکی‌های سالم‌تر رو جلو چشمتون بذارید و یکم وسایت آشپزی تهیه کنید، خیلی وقت‌ها، همین که در باز کن نداشته باشید، باعث می‌شه به جای پختن یک کنسرو لوبیا و درست کردن یه سالاد سالم، یه بسته چیپس نوش جان کنید. یا اگه یک عالمه کار رو سرتون ریخته و دچار استرس شدید، از کارهایی که به زمان و انرژی کمتری نیاز دارن شروع کنید، مثلا اول از همه کت‌تون رو از روی صندلی بردارید، پیشخون آشپزخونه رو مرتب و تمیز کنید، گرد و خاک روی میز تلویزیون رو بگیرید! موضوع اینجاست که با انجام همین کارهای ساده که زمان و توان چندانی هم نیاز ندارن، پیام «به پایان رسوندن» یه فعالیت و دستاورد داشتن، به مغز می‌رسه و با ترشح هورمون شادی توی مغزتون، میزان انرژی‌تون افزایش پیدا می‌کنه. یه دفترچه یادداشت و یک خودکار کنار تخت‌تون قرار بدید، این باعث می‌شه اگر شب‌ها دچار بی‌خوابی و نشخوار فکری شدید، بتونید در لحظه و بدون نیاز به بیرون اومدن از تخت و زیرورو کردن کشو‌ها، این افکار رو روی کاغذ بیارید، و یا با تهیه‌ی یک لیست از کارهایی که فردا باید بهشون رسیدگی کنید، اضطراب‌تون رو کاهش بدید؛ بیرون اومدن افکار به هم ریخته از ذهن و نظم گرفتن‌شون روی کاغذ، برای خاموش شدن صداهای آزاردهنده قبل از خواب، تاثیر خیلی زیادی داره. یا مثلا اگه دچار بی‌خوابی هستید، دیگه حتما این رو می‌دونید که یکی از عوامل موثر در بی‌خوابی، نور صفحه نمایش گوشی‌های هوشمنده، که اثری مشابه نور خورشید رو مغز می‌ذاره و بیدار نگهش می‌داره. پس اگر دلتون می‌خواد، زمانی که قبل از خواب، به چرخیدن بیهوده توی فضای مجازی سپری می‌شه رو کاهش بدید، بهتره شارژر موبایل‌تون رو بیرون اتاق خواب‌تون بذارید که بی‌‌‌نهایت شارژ برای گشتن تو فضای مجازی رو از خودتون دریغ کنید. اگر شما هم ایده‌ای دارید توی بخش نظرات بنویسید که همگی ازش بهره ببریم.منبع: صفحه‌ی اینستاگرام دکتر بهزاد چاوشی</description>
                <category>سامان زاهدی</category>
                <author>سامان زاهدی</author>
                <pubDate>Sat, 04 Sep 2021 10:54:15 +0430</pubDate>
            </item>
                    <item>
                <title>استفاده از تمام توان پردازشی سخت‌افزار در ویندوز</title>
                <link>https://virgool.io/@thezahedi/%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%AA%D9%85%D8%A7%D9%85-%D8%AA%D9%88%D8%A7%D9%86-%D9%BE%D8%B1%D8%AF%D8%A7%D8%B2%D8%B4%DB%8C-%D8%B3%D8%AE%D8%AA-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%D8%AF%D8%B1-%D9%88%DB%8C%D9%86%D8%AF%D9%88%D8%B2-eibtvokyprsn</link>
                <description>سلام.یک موردی که اکثر اطرافیانم در موردش اطلاع ندارن اینه که به صورت پیشفرض توان پردازشی سخت‌افزار PC و یا لپ‌تاپ شما توسط ویندوز محدود شده.حالا اگر لپ‌تاپ‌تون همیشه به برق وصله و ترسی از تموم شدن باتری اون ندارید و یا کلا PC دارید می‌تونید با یک تنظیم ساده از تمام توان پردازشی سخت‌افزارتون استفاده کنید.برای این کار کافیه در منوی استارت کلمه‌ی Choose a power plan رو سرچ کنید و اون رو انتخاب کنید.بعد از کلیک بر روی گزینه‌ی Create a power plan که در عکس بالا مشخص شده با صفحه‌ی زیر مواجه میشید:در این صفحه گزینه‌ی High performance رو انتخاب کنید و اگر مایل بودید یک اسم برای پلن‌تون بنویسید و دو بار روی دکمه‌ی Next کلیک کنید.در نهایت فقط کافیه گزینه‌ی جدید ایجاد شده رو انتخاب کنید و یک بار ویندوز رو ریستارت کنید.بعد از انجام این کارها، ویندوز از تمامی توان پردازشی سخت‌افزارتون استفاده می‌کنه و عینا شاهد افزایش سرعت و عملکرد سیستم‌تون خواهید بود.اگر خوشتون اومد لایک و بوکمارک کنید و پست رو به اشتراک بزارید و اگر سوالی در این مورد داشتید از قسمت نظرها بپرسید.</description>
                <category>سامان زاهدی</category>
                <author>سامان زاهدی</author>
                <pubDate>Wed, 01 Sep 2021 00:56:15 +0430</pubDate>
            </item>
                    <item>
                <title>آموزش راه‌اندازی nginx به کمک داکر</title>
                <link>https://virgool.io/@thezahedi/%D8%B1%D8%A7%D9%87-%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C-nginx-%D8%A8%D9%87-%DA%A9%D9%85%DA%A9-%D8%AF%D8%A7%DA%A9%D8%B1-ts1dxcgvu4p9</link>
                <description>سلام. بعد از مدتی برگشتم.می‌خوام بهتون بگم که چطوری به کمک داکر nginx رو راه‌اندازی کنید و اون رو روی پورت ۸۰ سرورتون تنظیم کنید.برای این کار کافیه دستور زیر رو اجرا کنید:docker run -d --name nginx-webserver --net mynet --restart always -p 80:80 nginxبا اجرای دستور بالا یک کانتینر به اسم nginx-webserver بر روی پوت ۸۰ (پورت پیشفرض http) و با امکان استارت مجدد پس از توقف، بر روی شبکه‌ی mynet که باید از قبل و با کمک دستور docker network create mynet درست کنید، ایجاد میشه که میتونید از اون برای مدیریت درخواست‌های httpتون استفاده کنید.نکته: توجه کنید که اگر از قبل بر روی سرور nginx و یا apache یا هر وب‌سرور دیگه‌ای نصب باشه، پورت ۸۰ اشغال میشه و امکان استفاده از داکر برای مدیریت درخواست‌های http بر روی پورت ۸۰ رو نخواهید داشت.همچنین می‌تونید با اضافه کردن عبارت زیر به دستور بالا یک volume به دایرکتور conf.d انجین‌ایکس بدید و تنظیمات اون رو از طریق سیستم خودتون تغییر بدید:-v /home/[your-username]/nginx/conf.d:/etv/nginx/conf.dبرای ریستارت کردن کانتینر nginx هم کافیه دستور زیر رو در ترمینال وارد کنید:docker exec -it nginx-webserver nginx -s reloadاگر سوال و یا مشکلی در این مورد داشتید لطفا از قسمت نظرات همین پست اطلاع بدید.</description>
                <category>سامان زاهدی</category>
                <author>سامان زاهدی</author>
                <pubDate>Sat, 28 Aug 2021 11:33:17 +0430</pubDate>
            </item>
                    <item>
                <title>ایجاد پروژه‌ی لاراول به کمک Docker</title>
                <link>https://virgool.io/@thezahedi/%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%DB%8C-%D9%84%D8%A7%D8%B1%D8%A7%D9%88%D9%84-%D8%A8%D9%87-%DA%A9%D9%85%DA%A9-docker-newvtc4kjylv</link>
                <description>توی پست قبلی به کمک Docker و ایمیج Composer پکیج‌های PHP رو نصب و آپدیت کردیم.توی این پست میخوایم یک پروژه‌ی لاراول رو به کمک ایمیج Composer ایجاد کنیم.برای این کار:cd ~/Projectsdocker run --rm -it -v $(pwd):/app composer create-project laravel/laravel test-projectبا اجرای دستورات بالا ابتدا به فولدری که میخوایم پروژه در اون ایجاد بشه میریم.و بعد به کمک دستور docker run و استفاده از ایمیج Composer و دستور create-project پروژه‌ی لاراولی خودمون رو با اسم test-project ایجاد کردیم.اگر سوالی در این زمینه داشتید خوشحال میشم که در نظرها بپرسید.</description>
                <category>سامان زاهدی</category>
                <author>سامان زاهدی</author>
                <pubDate>Sun, 20 Jun 2021 11:20:31 +0430</pubDate>
            </item>
                    <item>
                <title>استفاده از داکر برای نصب و آپدیت پکیج‌های Composer</title>
                <link>https://virgool.io/@thezahedi/%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%AF%D8%A7%DA%A9%D8%B1-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%86%D8%B5%D8%A8-%D9%88-%D8%A2%D9%BE%D8%AF%DB%8C%D8%AA-%D9%BE%DA%A9%DB%8C%D8%AC-%D9%87%D8%A7%DB%8C-composer-q5j6z1w5m0g8</link>
                <description>سلام.یکی از مشکلات خودم در راه یادگیری و استفاده از داکر برای محیط توسعه (Development) استفاده از داکر به جای نصب ابزارهایی مثل Composer بود.اما با استفاده‌ی مداوم از داکر و سعی در جایگزین کردن اون در تمامی بخش‌های کارم، به نتایج بهتری هم رسیدم که یکیش همین پست هست.یعنی استفاده از داکر برای نصب و آپدیت پکیج‌های Composer به جای نصب Composer بر روی سیستم.برای این کار کافیه در مرحله‌ی اول ابزار رفع تحریم‌تون رو روشن کنید و سپس دستور زیر رو در پوشه‌ی پروژه‌تون اجرا کنید:sudo docker run --rm -v $(pwd):/app composer installدر ادامه به تشریح دستور بالا می‌پردازم.فکر نکنم دستور sudo نیازی به توضیح داشته باشه.بعد از اون دستور docker run اومده که همونطور که از عنوانش پیداست برای اجرای یک چیزی (در اینجا یک Image) به کار میره.سپس آپشن rm-- اومده که به معنی حذف Container پس از پایان کار هست.در ادامه آپشن v- با مقدار زیر اومده:$(pwd):/appکه به معنی Bind کردن دایرکتوری فعلی (پروژه) به دایرکتوری app در ریشه‌ی ایمیج داکر هست.در ادامه عبارت composer install هست که یعنی از ایمیج composer دستور install را اجرا کن.با اجرای دستور بالا به راحتی و بدون نصب کامپوزر بر روی سیستم خودتون پکیج‌های اون رو نصب کنید.برای آپدیت پکیج‌های کامپوزر هم فقط کافیه دستور install رو به update تغییر بدید.حتی برای نصب یک Dependency در پروژه‌ی خودتون می‌تونید دستور install رو به require packagename:version تغییر بدید.اگر سوال در رابطه به این پست داشتید لطفا در قسمت کامنت‌ها بپرسید.</description>
                <category>سامان زاهدی</category>
                <author>سامان زاهدی</author>
                <pubDate>Sun, 06 Jun 2021 15:34:16 +0430</pubDate>
            </item>
                    <item>
                <title>لاراول: گوش دادن به کویری‌های دیتابیس</title>
                <link>https://virgool.io/@thezahedi/%D9%84%D8%A7%D8%B1%D8%A7%D9%88%D9%84-%DA%AF%D9%88%D8%B4-%D8%AF%D8%A7%D8%AF%D9%86-%D8%A8%D9%87-%DA%A9%D9%88%DB%8C%D8%B1%DB%8C-%D9%87%D8%A7%DB%8C-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3-djyvlvsm3ovy</link>
                <description>سلام.امروز یک اسنیپت (Snippet) کاربردی برای دوستان لاراولی آوردم.به کمک این تیکه کد می‌تونید به کویری‌هایی که روی دیتابیس زده میشه گوش بدید و اونها رو با جزئیات بخونید.\Illuminate\Support\Facades\DB::listen(function (\Illuminate\Database\Events\QueryExecuted $sql) {
    dump(vsprintf(str_replace(&#039;?&#039;, &#039;%s&#039;, $sql-&gt;sql), $sql-&gt;bindings));
});فقط کافیه کد بالا رو بالاتر از جایی که می‌خواید از اون به بعد کویری‌هاشو بخونید قرار بدید.امیدوارم مورد استفاده‌تون قرار بگیره.شما هم اگر اسنیپت کاربردی دارید توی نظرات بفرستید.</description>
                <category>سامان زاهدی</category>
                <author>سامان زاهدی</author>
                <pubDate>Mon, 19 Apr 2021 15:02:01 +0430</pubDate>
            </item>
                    <item>
                <title>منابع فوق‌العاده برای یادگیری توسعه وب در سال ۲۰۲۱</title>
                <link>https://virgool.io/@thezahedi/%D9%85%D9%86%D8%A7%D8%A8%D8%B9-%D9%81%D9%88%D9%82-%D8%A7%D9%84%D8%B9%D8%A7%D8%AF%D9%87-%D8%A8%D8%B1%D8%A7%DB%8C-%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D8%AA%D9%88%D8%B3%D8%B9%D9%87-%D9%88%D8%A8-%D8%AF%D8%B1-%D8%B3%D8%A7%D9%84-%DB%B2%DB%B0%DB%B2%DB%B1-%D8%A8%D8%AE%D8%B4-%D8%A7%D9%88%D9%84-g35jqssmmxj5</link>
                <description>سلام دوستان :)توی این پست میخوام چند منبع فوق‌العاده که برای یادگیری توسعه‌ی وب بهشون نیاز پیدا خواهید کرد رو بهتون معرفی کنم. امیدوارم براتون کاربردی باشه.منابع فوق‌العاده برای یادگیری توسعه وب در سال ۲۰۲۱۱. گیت (Git)همون‌طور که شاید بدونید، بعنوان یک توسعه‌دهنده، گیت یک نیاز اولیه هست.https://learngitbranching.js.org/لینک بالا یکی از بهترین ابزارها برای یادگیری گیت هست. اگر هر مشکلی با گیت داشتید می‌تونید با مراجعه به سایت بالا به جوابتون برسید.۲. سی‌اس‌اس (CSS)سه تاپیک مهم در CSS رو در لینک‌های زیر می‌تونید یاد بگیرید:CSS Selectors &lt;~ https://flukeout.github.io/Grid &lt;~ https://cssgridgarden.com/Flexbox &lt;~ https://flexboxfroggy.com/۳. ویم (VIM)ویم یکی از خفن‌ترین و در عین حال سخت‌ترین ویرایشگرهای متن در دنیا هست که می‌تونید به کمک لینک زیر اون رو از طریق انجام بازی یاد بگیرید:https://vim-adventures.com/۴. ریجکس (Regex)کیه که ادعا کنه عاشق ریجکس باشه و اون رو ۱۰۰ درصد هم بلد باشه؟ یادگیری ریجکس یک درد به تمام معناست. به کمک لینک‌های زیر می‌تونید کمی اون رو یاد بگیرید و باهاش کنار بیاید:Learn Regex &lt;~ https://regexone.com/CheatList about Regex Pattern &lt;~ https://ihateregex.io/امیدوارم مورد استفاده‌تون قرار بگیره و اگر پیشنهای برای این لیست دارید توی کامنت‌ها برام بنویسید.</description>
                <category>سامان زاهدی</category>
                <author>سامان زاهدی</author>
                <pubDate>Tue, 13 Apr 2021 09:58:09 +0430</pubDate>
            </item>
                    <item>
                <title>۵ قدم برای افزایش انگیزه‌ی بیدار شدن</title>
                <link>https://virgool.io/@thezahedi/%DB%B5-%D9%82%D8%AF%D9%85-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A7%D9%81%D8%B2%D8%A7%DB%8C%D8%B4-%D8%A7%D9%86%DA%AF%DB%8C%D8%B2%D9%87-%DB%8C-%D8%A8%DB%8C%D8%AF%D8%A7%D8%B1-%D8%B4%D8%AF%D9%86-imbxr3uxfwpg</link>
                <description>اگر شما از آن دسته افرادی هستید که دائما به سراغ دکمه‌ی چرت زدن (Snooze) گوشی‌تان می‌روید، باید انگیزه‌ی بیدار شدنتان را افزایش دهید.برای این که بتوانید انگیزه‌ی بیدار شدنتان را اندازه‌گیری کنید، برای آن امتیازی از ۱ تا ۱۰ در نظر بگیرید، به این صورت که امتیاز ۱۰ یعنی اشتیاق دارید از خواب بلند شوید و روزتان را آغاز کنید و امتیاز ۱ یعنی ترجیح می‌دهید تمام روز در تختتان بمانید.روشی ساده وجود دارد که می‌توانید با استفاده از آن انگیزه‌ی بیدار شدنتان را افزایش دهید، عادت لمس کردن دکمه‌ی چرت زدن را کنار بگذارید و صبحتان را با انرژی و هوشیاری بیشتری آغاز کنید. این روش شامل ۵ قدم است.۱. شب قبل، پیش از خواب، به خود بگویید و تلقین کنید که صبح روز بعد پرانرژی و سرحال از خواب بلند می‌شوید. هدفی برای روز بعدتان مشخص کنید که به شما انگیزه دهد تا مشتاقانه از خواب برخیزید.۲. موبایل یا ساعت زنگ‌دارتان را دور از تختتان قرار دهید تا زمانی که زنگ بیداری را می‌شنوید، مجبور شوید واقعا از تخت بیرون بیایید تا بتوانید آن را خاموش کنید.۳. پس از آن که زنگ را خاموش کردید، مستقیم به دستشویی بروید و دندان‌هایتان را مسواک بزنید. این کار کمک می‌کند احساس طراوت و هوشیاری بیشتری کنید.۴. در قدم بعد، به آشپزخانه بروید و یک لیوان آب بنوشید. بدن شما بعد از یک شب طولانی آب زیادی را از دست می‌دهد. احساس خستگی مفرط نیز به خاطر همین از دست دادن آب بدن است. ضروری است که  بعد از بیداری، هرچه زودتر کمبود آب بدنتان را جبران کنید.۵. در قدم آخر می‌توانید دوش بگیرید یا لباس ورزشی‌تان را بپوشید و برای انجام تمرین ورزشی آماده شوید. با این کار بدون شک دیگر به تخت‌خوابتان باز نمی‌گردید.با پیروی از این ۵ قدم، هوشیارتر می‌شوید و با آمادگی بالا به سراغ کارهایی که در طول روز باید انجام دهید می‌روید.مطلب بالا بخشی از خلاصه‌ی کتاب صبح جادویی بود که در بوکاپو تهیه شده.</description>
                <category>سامان زاهدی</category>
                <author>سامان زاهدی</author>
                <pubDate>Mon, 05 Apr 2021 10:36:21 +0430</pubDate>
            </item>
                    <item>
                <title>لینوکس: ایجاد SSH key و تنظیم سرور برای SSH به کمک SSH key</title>
                <link>https://virgool.io/@thezahedi/%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-ssh-key-%D9%88-%D8%AA%D9%86%D8%B8%DB%8C%D9%85-%D8%B3%D8%B1%D9%88%D8%B1-%D8%A8%D8%B1%D8%A7%DB%8C-ssh-%D8%A8%D9%87-%DA%A9%D9%85%DA%A9-ssh-key-t2hp9l6evzhp</link>
                <description>در ادامه‌ی مطالبی که در روند کانفیگ سرور میخوام آموزش بدم میخوام به ایجاد ssh key و تنظیم سرور برای SSH به کمک SSH key بپردازم.سیستم عامل من توی این مطلب لینوکس اوبونتو هست ولی شما می‌تونید همین کارها رو روی مک و ویندوز (البته به کمک Git Bash) انجام بدید.ایجاد SSH keyقبل از هر چیز باید اول یک SSH key برای سیستم خودتون درست کنید. برای این کار دستور زیر رو در ترمینال وارد کنید:ssh-keygenپس از اون با پیغامی مبنی بر مسیر ذخیره‌ی فایل id_rsa مواجه میشید.مسیر فایل رو وارد کنید و یا برای تعیین مسیر پیشفرض Enter بزنید.در مرحله‌ی بعد از شما میخواد که یک پسورد برای SSH key خودتون تعیین کنید. اگر نمی‌خواید پسورد داشته باشه می‌تونید دو مرتبه Enter بزنید.در انتها با پیغامی شبیه به عکس زیر مواجه میشید:کلید ssh شما ساخته شد.معرفی SSH key به سروربرای این کار ابتدا دستور زیر رو در ترمینال وارد کنید:ssh-copy-id username@server-addressدر دستور بالا یوزرنیم خودتون رو با username و آدرس یا آی‌پی سرور خودتون باا server-address جایگزین کنید و Enter بزنید.بعد از این کار از شما پسورد یوزرنیمی که وارد کردید رو می‌خواد:بعد از وارد کردن پسورد و زدن Enter با پیغامی شبیه به عکس زیر مواجه می‌شید:پس از این کار وقتی شما دستور ssh username@server-address رو وارد کنید، به صورت اتوماتیک و حالت امن و به کمک public key و private key خودتون لاگین می‌شید.شما می‌تونید در مورد مزایا و معایب Password authentication و SSH key authentication در این لینک بخونید.امیدوارم این مطلب براتون کاربردی باشه.هر سوالی در این مورد داشتید می‌تونید توی نظرها بپرسید.</description>
                <category>سامان زاهدی</category>
                <author>سامان زاهدی</author>
                <pubDate>Sun, 17 Jan 2021 19:06:24 +0330</pubDate>
            </item>
                    <item>
                <title>نصب zsh و OhMyZSH بر روی ویندوز</title>
                <link>https://virgool.io/CodeLovers/%D9%86%D8%B5%D8%A8-zsh-%D9%88-ohmyzsh-%D8%A8%D8%B1-%D8%B1%D9%88%DB%8C-%D9%88%DB%8C%D9%86%D8%AF%D9%88%D8%B2-pdts4nserohq</link>
                <description>نصب Git و zsh۱. ابتدا Git رو از لینک زیر دانلود و نصب کنید:https://git-scm.com/۲. آخرین نسخه‌ی zsh برای ویندوز رو از لینک زیر دانلود کنید:https://packages.msys2.org/package/zsh?repo=msys&amp;variant=x86_64۳. محتوای فایل زیپی که در مرحله‌ی دوم دانلود کردید رو در مسیر نصب Git که به صورت پیشفرض C:/Program Files/Git هست بریزید.۴. ابزار Git Bash رو اجرا کنید و دستور zsh رو بزنید.نصب OhMyZSHاز منوی استارت Git Bash رو باز کنید و دستور زیر رو در اون پیست کنید و اینتر بزنید:sh -c &amp;quot$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)&amp;quot۲. توی همون صفحه دستور زیر رو وارد کنید:nano .bashrcو متن زیر رو در انتهای اون بنویسید و ذخیره کنید:if [ -t 1 ]; then
    exec zsh
fiو در انتها Git Bash رو ببندید و مجددا باز کنید :)امیدوارم از این مطلب خوشتون اومده باشه.اگر سوال یا مشکلی بود توی نظرها بنویسید.</description>
                <category>سامان زاهدی</category>
                <author>سامان زاهدی</author>
                <pubDate>Thu, 14 Jan 2021 16:23:30 +0330</pubDate>
            </item>
                    <item>
                <title>لینوکس: پیدا کردن فایل‌هایی با اسم خاص در تمامی زیرپوشه‌ها</title>
                <link>https://virgool.io/CodeLovers/%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-%D9%BE%DB%8C%D8%AF%D8%A7-%DA%A9%D8%B1%D8%AF%D9%86-%D9%81%D8%A7%DB%8C%D9%84-%D9%87%D8%A7%DB%8C%DB%8C-%D8%A8%D8%A7-%D8%A7%D8%B3%D9%85-%D8%AE%D8%A7%D8%B5-%D8%AF%D8%B1-%D8%AA%D9%85%D8%A7%D9%85%DB%8C-%D8%B2%DB%8C%D8%B1%D9%BE%D9%88%D8%B4%D9%87-%D9%87%D8%A7-zl0btxz0xcfx</link>
                <description>سلام.توی یک هفته ده روز گذشته مجبور به تغییر سرور شدم و بر خلاف گذشته که کارهای انتقال و کانفیگ رو به پشتیبانی سرور محول می‌کردم، تصمیم گرفتم که این کار رو خودم انجام بدم.هرچند که بیشتر از دو ساله که به لینوکس کوچ کردم ولی توی روند انتقال و کانفیگ سرور چیزای زیادی یاد گرفتم و میخوام این چیزا رو کم کم و به مرور اینجا منتشر کنم که شاید به درد کسی بخوره.اولین چیزی که ممکنه جالب باشه، همون‌طور که توی عنوان مطلب نوشته شده، پیدا کردن فایل‌هایی با اسم خاص در تمام پوشه‌ها و زیرپوشه‌هاست.خودم شخصا برای حذف فایل‌های لاگی که توسط اسکریپ‌ها تولید میشن از این کامند استفاده می‌کنم.برای مثال می‌خوایم تمامی فایل‌های با اسم errors.log رو در مسیر /var/www/html پیدا کنیم:find /var/www/html -name errors.log -printفکر نکنم دستور نیازی به توضیح داشته باشه! حالا اگر بخوایم تمامی اون فایل‌های پیدا شده رو حذف کنیم فقط کافیله کلمه‌ی print رو به delete تغییر بدیم:find /var/www/html -name errors.log -deleteامیدوارم این مطلب براتون کاربردی باشه.اگر سوالی بود در قسمت نظرها بپرسید.</description>
                <category>سامان زاهدی</category>
                <author>سامان زاهدی</author>
                <pubDate>Thu, 14 Jan 2021 12:25:58 +0330</pubDate>
            </item>
                    <item>
                <title>ایجاد پروفایل شخصی در گیت‌هاب</title>
                <link>https://virgool.io/@thezahedi/%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%D9%BE%D8%B1%D9%88%D9%81%D8%A7%DB%8C%D9%84-%D8%B4%D8%AE%D8%B5%DB%8C-%D8%AF%D8%B1-%DA%AF%DB%8C%D8%AA%D9%87%D8%A7%D8%A8-wpmn8xiipgfw</link>
                <description>سلام و عرض ادب.چند روز پیش به صورت اتفاقی به امکان ایجاد پروفایل شخصی در گیت‌هاب پی بردم.توی گیت‌هاب میتونید یک ریپازیتوری با اسم مشابه به Username خودتون درست کنید و یک فایل README.md رو در اون ایجاد کنید، پس از این کار تمام محتویات فایل README.md در صفحه‌ی پروفایل گیت‌هاب‌تون نمایش داده میشه.به عنوان مثال یوزرنیم من در گیت‌هاب thezahedi هست، پس یک ریپازیتوری به اسم thezahedi/thezahedi درست کردم و یک فایل README.md رو در اون ایجاد کردم.الان در آدرس github.com/thezahedi میتونید محتویات اون فایل رو به صورت اطلاعات پروفایل ببینید.امیدوارم این مطلب مورد استفاده‌ی شما قرار بگیره.میتونید آدرس پروفایل خودتون در گیت‌هاب رو زیر همین پست به اشتراک بزارید که بتونیم همدیگه رو دنبال کنیم.</description>
                <category>سامان زاهدی</category>
                <author>سامان زاهدی</author>
                <pubDate>Tue, 25 Aug 2020 12:05:34 +0430</pubDate>
            </item>
                    <item>
                <title>ترفند Carbon: تنظیم دستی یا جعل زمان در متد ()now</title>
                <link>https://virgool.io/@thezahedi/%D8%AA%D8%B1%D9%81%D9%86%D8%AF-carbon-%D8%AA%D9%86%D8%B8%DB%8C%D9%85-%D8%AF%D8%B3%D8%AA%DB%8C-%D8%B2%D9%85%D8%A7%D9%86-%D9%85%D8%AA%D8%AF-now-kretvwgxlocy</link>
                <description>گاهی اوقات در تست‌نویسی و یا مرحله‌ی تست اپلیکیشن نیاز داریم که زمان فعلی سیستم را Fake (یا جعل) کنیم.اگر از لاراول برای توسعه‌ی اپلیکیشن خودتون استفاده می‌کنید، حتما میدونید که لاراول به صورت توکار از پکیج Carbon برای هندل کردن تاریخ و زمان استفاده میکنه.اگر هم از لاراول استفاده نمی‌کنید، می‌تونید پکیج Carbon رو به کمک Composer درون پروژه‌ی خودتون وارد و استفاده کنید.همونطور که از اسمش مشخصه، متد ()Carbon::now تاریخ و زمان فعلی سیستم رو برمی‌گردونه، اما می‌تونید به کمک متد استاتیک ()Carbon::setTestNow این زمان رو جعل کنید.به نمونه کد زیر توجه کنید:در خط ۱ زمان فعلی چاپ شده و در خط ۱ خروجی اون رو مشاهده می‌کنید.در خط ۴ زمان فعلی سیستم به سه ماه آینده جعل شده و در خط ۷ خروجی اون رو می‌بینید که سه ماه بعد از تاریخ فعلی است.در خط ۹ زمان فعلی سیستم با تاریخ مشخص 12/31/2013 ساعت 18:20 جعل شده که در خط ۱۲ خروجی اون قابل مشاهده هست.امیدوارم این مطلب برای شما مفید بوده باشه.</description>
                <category>سامان زاهدی</category>
                <author>سامان زاهدی</author>
                <pubDate>Tue, 31 Dec 2019 10:55:26 +0330</pubDate>
            </item>
                    <item>
                <title>نتایج شگفت‌انگیزِ نوشتن گزارش از فعالیت‌های روزانه</title>
                <link>https://virgool.io/@thezahedi/%D9%86%D8%AA%D8%A7%DB%8C%D8%AC-%D8%B4%DA%AF%D9%81%D8%AA%D8%A7%D9%86%DA%AF%DB%8C%D8%B2%D9%90-%D9%86%D9%88%D8%B4%D8%AA%D9%86-%DA%AF%D8%B2%D8%A7%D8%B1%D8%B4-%D8%A7%D8%B2-%D9%81%D8%B9%D8%A7%D9%84%DB%8C%D8%AA%D9%87%D8%A7%DB%8C-%D8%B1%D9%88%D8%B2%D8%A7%D9%86%D9%87-gggccs4sjb5o</link>
                <description>این مطلب از پیجِ بسیار خوبِ ارگانیک مایندد برداشته شده.با الهام از زندگی شناخته‌شده‌ترین مجری تلویزینی آمریکا: اُپرا وینفری Oprah Winfreyاز ۱۹۸۶ تا ۲۰۱۱ اپرا وینفری، مجری برنامه تلویزیونی بود که بیشترین میزان مخاطب تلویزیونی رو داشت و میشه گفت یه جورایی مثل برنامه‌ی نود ما ایرانی‌ها بود. در طی دهه‌های ۸۰ و ۹۰ میلادی، اپرا ملکه‌ی تمام رسانه‌ها، تبدیل به یک برند شده بود. برندی که بسیار فراتر از صفحه‌ی تلویزیون بود! ایشون در عین حال که به خاطر فعالیت‌های انسان‌دوستانه‌اش و شرکت در فعالیت‌های خیرخواهانه، مدال آزادی و صلح رو از طرف رئیس‌جمهور وقت آمریکا دریافت کرد، یک مولتی‌میلیاردر هم بود! جالب اینه که، کل زمانی که ایشون مشغول به انجام این امور بشردوستانه بود، تنها یک عادت ساده داشت: نوشتن گزارش روزانه. یا به قول خودمون: خاطره نوشتن.گزارش روزانه نوشتن یعنی فکر کردن در مورد اتفاق‌های زندگی و روی کاغذ آوردن اونها، به همین سادگی! هیچ چیز بیشتری لازم نیست. ولی بر خلاف ساده بودنش، این عمل، نقش کلیدی و تاثیرگذاری در زندگی حرفه‌ای خیلی از افراد پرکار و معروف داشته. همونطور که احتمالا بتونین حدس بزنین، نوشتن گزارش روزانه، عادت مورد علاقه‌ی خیلی از نویسنده‌هاست. از مارک تواین گرفته تا ویرجینیا وولف و خیلی‌های دیگه. خیلی به ندرت پیش اومده که نویسنده‌ای خاطره‌ی روزانه ننویسه.فایده‌ی نوشتن گزارش از فعالیت‌های روزانه چیه؟گزارش نوشتن، این فرصت رو برای شما فراهم می‌کنه که از تجربیات گذشته‌تون، درس‌های جدید یاد بگیرید. یعنی خوندن نوشته‌های قدیمیتون مثل این میمونه که یک کتاب خفن رو برای بار دوم بخونید، جملات رو به شکل جدیدی میبینید و مفاهیم جدید ازش یاد میگیرید؛ به گذشته، از زاویه‌ی دیگه‌ای نگاه می‌کنید. فقط این بار، داستان زندگیِ خودتونه که دارید دوباره می‌خونیدش.گزارش نوشتن حافظه‌ی شما رو تقویت می‌کنه. همونطور که زمان، چهره‌ی شما رو بدون اینکه متوجه‌ش بشید، کم‌کم تغیر میده، گذر زمان می‌تونه افکار شما رو هم به همین شکل عوض کنه. باورهای ما، هر چه که تجربه‌های بیشتری به دست میاریم تغییر میکنن؛ ولی با نوشتن، افکار ما بینابین صفحات دفترچه‌ی خاطراتمون، فریز (Freeze) میشن و باقی میمونن. دیدن یک تصویر قدیمی از خودتون شاید جالب باشه، چون یادتون میاره که چه شکلی بودید، ولی دفترچه‌ی خاطرات، از اینم جذاب‌تره چون طرز فکر گذشته‌تون رو برای شما زنده میکنه.نوشتن گزارش روزانه به شما انگیزه میده از زمانی که در اختیار دارید بیشترین استفاده رو ببرید. انگار، وقتی میدونید قراره اتفاقاتِ روزتون ثبت بشه، تلاش بیشتری میکنید که حداقل یک انتخاب و عملکرد خوب، تا قبل از غروب آفتاب داشته باشید. من خودم بعضی وقتا با خودم میگم: دلم میخواد مشب یه چیز هیجان‌امگیزی برای نوشتن داشته باشم.نوشتن گزارش روزانه، کارنامه‌ی پیشرفت شما در طی زمانه. اینکه یک جمله، در مورد اتفاق خوبی که امروز افتاد بنویسید، بعدا اگه یه زمانی جالتون خوب نباشه، احساس بی‌حوصلگی یا ناامیدی کنید، میتونین همون یک جمله رو بخونین و سر حال بیاین. وقتی آدم یه روز بد رو میگذرونه و به قولی، اعصاب نداره، خیلی به راحتی یادش میره که تا به اون زمان چقدر پیشرفت داشته، ولی با داشتن گزارش روزانه، شما راحت‌تر میتونید، زاویه‌ی نگاهتون رو، مثبت نگه دارید. یک نگاه به نوشته‌هاتون میندازین و مدرک زنده‌ی پیشرفت و رشدی که داشتین رو میبینین.دکتر بهزاد چاوشی از صفحه‌ی ارگانیک مایندد.وقتی مطلب بالا رو از صفحه‌ی ارگانیک مایندد خوندم تصمیم گرفتم که سال جدید رو با نوشتن خاطرات روزانه‌ام شروع کنم و دیشب خاطرات روز اول فروردین رو توی سررسیدی که تهیه کردم نوشتم.امیدوارم بتونم این کار رو تا ابد ادامه بدم.</description>
                <category>سامان زاهدی</category>
                <author>سامان زاهدی</author>
                <pubDate>Fri, 22 Mar 2019 16:34:32 +0430</pubDate>
            </item>
            </channel>
</rss>