<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های بردیا راستین</title>
        <link>https://virgool.io/feed/@bardiarastin</link>
        <description>مهندس نرم افزار خیلی دون پایه | @bardiarastin در توییتر | سلام ?!</description>
        <language>fa</language>
        <pubDate>2026-04-15 10:28:00</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/1302/avatar/BULug9.png?height=120&amp;width=120</url>
            <title>بردیا راستین</title>
            <link>https://virgool.io/@bardiarastin</link>
        </image>

                    <item>
                <title>چرا از Visual Studio Code استفاده می‌کنیم؟!</title>
                <link>https://virgool.io/@bardiarastin/why-do-we-use-vscode-ario5dfeqobb</link>
                <description>ما برنامه نویس‌ها بیشتر وقتمون رو در طول روز توی نرم افزاری میگذرونیم که باهاش کدمون رو توسعه میدیم و در واقع میشه گفت یجورایی توی اون نرم افزار زندگی میکنیم، حالا ماجرا اینه که نرم افزارهای مختلفی برای این کار وجود دارن، ایده این پست از اونجایی به ذهنم رسید که دو تا از دوستای خوبم توی توییتر داشتن سر وب استورم و وی اس کد بحث میکردن (دوستانه طور?❤️) Photo by Blake Connally on Unsplash توی این پست نمیخوام راجع به این بگم که چرا وب استورم و ادیتورهای دیگه بد هستن هر کسی با هر ابزاری که راحته میتونه کار کنه و این موضوع خیلی به سلیقه شما بستگی داره درست مثل مدل ماشین، موبایل و چیزای دیگه، من با وی اس کد راحتم و اینجا میخوام دلایل و تجربه ام رو بگم شاید خوشتون بیاد و یه شانس بهش بدین پس با ما باشین ?راحتی نصب و استفادهخیلی از شما که این نوشته رو میخونید ممکنه بدونید وی اس کد یه نرم افزار متن بازه که مستقیما روی گیتهاب توسط یه عده از برنامه نویس‌های مایکروسافت توسعه داده میشه، حالا این قضیه چه سودی برای ما داره؟ اول اینکه خوب رایگانه و میتونید به راحتی روی هر سیستم عاملی نصبش کنید (راجع به این بیشتر میگم جلوتر) و دردسر کرک کردن و لایسنس سرور و این چیزارو ندارید.دوم اینکه وی اس کد خیلی سبکه و سریع اجرا میشه و لازم نیست مثل بعضی ادیتورهای دیگه که اسمشونو نمیبرم پنج تا ده ثانیه صبر کنید تا اجرا بشه و بالا بیاد? فقط کافیه توی دایرکتوری ای که میخواید روی کدش کار کنید ترمینال رو باز کنید و کامند زیر رو بزنید + اینترcode .سوم اینکه میتونید توی توسعه اش کمک کنید اگه مشکلی باگی چیزی پیدا کردین توی گیتهابشون ایشو کنید و حتما رسیدگی میکنن، مثل باگی که اینجا من ریپورت کردم https://github.com/Microsoft/vscode/issues/25871 که مربوط به یه مشکلی با کیبورد فارسی بود و حل شد ??از خوبی‌های نرم افزار آزاد که نگم براتون دیگه خودتون استادین ?پشتیبانی از گیتشما به عنوان کسی که تازه شروع به برنامه نویسی کردین اینکه فقط زبون رو یاد بگیرید برای اینکه بتونید کار کنید کافی نیست، تقریبا میشه گفت همه جا از نرم افزارهایی برای نگه داری کدشون استفاده میکنن که معروف ترینشون گیت هستتوی وی اس کد تقریبا اکثر کارهای مربوط به گیت رو میتونید از منوی گیت انجام بدید کارهای از قبیل استیج کردن، کامیت کردن، استش کردن، دیدن تغیراتی که روی کد به وجود آوردین (دیف) و کلی چیزای دیگهgit in vscodeاکستنش‌ (افزونه‌) هاخیلی از برنامه نویس‌ها اعتقاد دارن که برای اینکه کدشون رو ویرایش کنن نباید خیلی درگیر این بشن که بعد از اینکه خود نرم افزار رو نصب کردن وقت بزارن ببینن افزونه چی باید نصب کنن و خوب این قضیه رو یه نکته منفی برای وی اس کد میدونن آمّا از دید من این ویژگی خیلیم خوبه، چرا؟ چونکه میتونم مثل یه سامورایی واقعی هر افزونه ای که میخوام رو روش نصب کنم و کاملا برای خودم شخصی سازیش کنم و در نهایت افزونه settings sync رو نصب کنم که میاد از کل تنظیمات و افزونه هایی که نصب کردم یه فایل جیسون درست میکنه و روی github gist میزاره و حدس بزنید چی؟ روی هر سیستم جدیدی بخوام وی اس کد رو نصب کنم کافیه افزونه ای که گفتم رو نصب کنم و آیدی گیستی که قبلا برام ساخته رو بهش بدم و تاداااا! ? ادیتوری که تازه نصب کردم دقیقا مثل اونی میشه که روی لپ تاپم دارم (شرایطی که مثلا یه کمپانی جدید رفتین و باید با سیستم‌های خودشون کار کنید) یا مثلا یه تجربه ای که اخیرا داشتم اینکه شروع کردم گولنگ کار کردن و فقط با یه سرچ ساده توی منوی اکستنش ها، go رو نصب کردم و پشتیبانی کامل از گو به وی اس کدم اضافه شد? و خوب این مسئله برای خیلی از زبون‌ها و تکنولوژی های دیگه ام وجود داره، مثل docker, php, python, java, ruby, c و...Golang Extension for VsCodeکراس پلتفرم وی اس کد با کمک الکترون نوشته شده، الکترون یه فریم ورکه که با کمک کرومیوم و نود جی اس ساخته شده که میشه با استفاده ازش با html css و javascript برای دسکتاپ اپلیکیشن ساخت پس در نتیجه وی اس کد در هر سه سیستم عامل مک، لینوکس و ویندوز قابل استفادست، با این ویژگی دیگه دغدغه این رو ندارم که کامپیوتر بعدی ای که قراره باهاش کار کنم از چه سیستم عاملی استفاده میکنه و خیالم راحته نرم افزاری که باهاش راحتم رو همه جا دارم ?به طور خلاصه وی اس کد کلی ویژگی های فوق العاده دیگه مثل از قبیل Internal debugger, Markdown Preview, Command Palette, Internal Terminal و خیلی چیزای دیگه داره که اگه بخوام راجع به تک تکشون بنویسم این پست خیلی طولانی تر از این حرفا میشه، و یه مسئله دیگه ام بگم که توی نظر سنجی سالانه سایت استک آور فلو عنوان محبوب ترین محیط توسعه رو به دست آوردهhttps://insights.stackoverflow.com/survey/2018/#technology-most-popular-development-environments اگه بعد از خوندن این پست تصمیم گرفتین نصبش کنید از اینجا میتونید دانلودش کنیدhttps://code.visualstudio.comو دفعه بعدی که کسی گفت وی اس کد بده، اَخه، داغونه و این حرفا این پست رو نشون بدین و بگین:نخیر !</description>
                <category>بردیا راستین</category>
                <author>بردیا راستین</author>
                <pubDate>Sun, 26 Aug 2018 21:32:42 +0430</pubDate>
            </item>
                    <item>
                <title>وصل شدن به اسپاتیفای با Node JS</title>
                <link>https://virgool.io/JavaScript8/connect-to-spotify-using-nodejs-oy4bmae3ntvs</link>
                <description>توی این پست میخوام توضیح بدم که چطوری با یه سرور و ۱۴ خط کد نود جی اس یه پراکسی سرور بیاریم بالا و توی اسپاتیفای ازش استفاده کنیم، با ما باشید ???Photo by Hanny Naibaho on Unsplashتهیه سرورخوب اولین چیزی که لازم دارید یه سرور با سیستم عامل ترجیحا لینوکسه که از سایت های مختلفی که وی پی اس میفروشن میتونید بخرید، بعد از خرید بهتون یوزرنیم و پسورد میدن و میتونید به سرورتون ssh بزنید:ssh username@server_ip بعد از اینکه پسوردتون رو وارد کردین و به سرور وصل شدین لازمه که نود جی اس رو روی سرورتون نصب کنید، برای نصب نود جی اس راه حل همیشگی من استفاده از nvm هستش که اجازه میده ورژن های مختلف نود رو به راحتی نصب کنم و بینشون سوییچ کنم، نصب خودش هم خیلی ساده و راحته نصب nvm و node jscurl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bashآدرس گیتهابش اگه به مشکل برخوردین https://github.com/creationix/nvm بعد از اینکه nvm رو نصب کردین میتونید با کامند زیر آخرین ورژن نود رو نصب کنید:nvm install nodenvm use nodeوقتی نود جی اس نصب بشه با اجرا کردن کامند های زیر باید خروجی مشابهی بگیرین: node -vv10.2.1npm -v5.6.0اگه تا اینجا بدون دردسر و ارور رسیدین تبریک ??????شروع کار اصلیبا ساختن یه دایرکتوری (پوشه ?) شروع میکنیم توی ترمینال سرورتون کامند زیر رو بزنید:mkdir proxy &amp;&amp; cd proxyبعد باید با npm یه فایل package.json درست کنیم که بتونیم از کدهای آماده دیگران (پکیج ها) استفاده کنیم:npm init رو که بزنید شروع میکنه یه سری سوال پرسیدن که میتونید اینتر رو نگه دارید که همشون مقدار پیش فرض در نظر گرفته بشن (روش تنبل ها ?) یا با حوصله به سوالاش جواب بدین:package name: (test) proxyversion: (1.0.0) 0.0.0description: proxy server entry point: (index.js) main.jstest command: git repository: keywords: author: Bardia Rastinlicense: (ISC) MITحالا یه فایل main.js میسازیم که اصل کاری یعنی کدمون رو توش بنویسیم: touch main.jsفایل رو با هر ادیتوری که راحت هستین باز کنید که بتونیم توش کد بزنیم من اینجا vim رو میگم:vim main.jsحالا اصل کار کدمون:const ProxyChain = require(&#039;proxy-chain&#039;);
const server = new ProxyChain.Server({
    port: 8000,
    verbose: false,
    prepareRequestFunction: ({ request, username, password, hostname, port, isHttp }) =&gt; {
        return {
                requestAuthentication: username !== &#039;myusername&#039; || password !== &#039;mypassword&#039;
        };
    },
});

server.listen(() =&gt; {
    console.log(`Proxy server is listening on port ${8000}`);
});خوب کد بالا چیکار میکنه؟!‌ ?خط اول ما یه پکیج به نام proxy-chain رو ایمپورت میکنیم و در خط دوم یه instance جدید ازش میسازیم و به این صورت کانفیگش میکنیم که روی پورت دلخواه (اینجا ۸۰۰۰) و با یوزرنیم و پسوردی که میخوایم (خط ۷ام) اجرا بشه و در خط ۱۲ استارتش میکنیم ?فایل رو سیو میکنیم و میبندیم ESC و سپس :wq یا :x (اگه تا حالا ویم استفاده نکردین اینجا نقطه خوبی برای اولین بار استفاده کردنش نیست چون واردش بشید خارج شدن ازش خیلی داستان داره برای بار اول)پکیج proxy-chain رو که توی کدمون استفاده کردیم نصب میکنیم:npm install proxy-chainبعدش میتونیم اسکریپتمون رو (main.js) با نود جی اس اجرا کنیم: node main.jsمشکلی که وجود داره اینه که اگه شما ssh رو قطع کنید اسکریپت شما ام متوقف میشه و خوب نمیشه همیشه اس اس اچ زد که یه اسکریپتی در حال اجرا شدن باشه پس ctrl + c رو بزنید که نود جی اس متوقف بشه، اما راه حل؟ npm install -g pm2پکیج pm2 اینجا به کمکمون میاد که اجازه میده اسکریپت های مختلف رو توی بک گراند اجرا کنیم و با خیال راحت همیشه اجرا بمونن و کلی کارای دیگه، به صورت گلوبال نصبش میکنیم که همه جا بتونیم ازش استفاده کنیم، برای اینکه اسکریپت ما همیشه روی سرور اجرا بمونه کامند زیر رو اجرا میکنیم:pm2 start main.js --name &quot;proxy-server&quot;بعد از اجرا کردن این کامند میتونیم با کامند زیر اسکریپت هایی که توی بک گراند در حال اجرا هستن رو ببینیم:pm2 listخروجیش یه چیزی شبیه عکس زیر میشه:pm2 listحالا با خیال راحت میتونیم کانکشن اس اس اچمون رو ببندیمexitاز این پراکسی سرور چجوری توی اسپاتیفای استفاده کنیم؟ (Mac OS, Linux, Windows)اپ اسپاتیفای رو باز کنید و از منوی بالا سمت راست به تنظیمات بریدبه پایین اسکرول میکنیم و show advanced settings رو میزنیم و دوباره به پایین اسکرول میکنیم تا به بخش proxy برسیمپراکسی تایپ رو روی http میزاریم و ip سرورمون و پورتی که وارد کردیم به علاوه یوزرنیم و پسورد رو وارد میکنیم سپس update proxy رو میزنیم اسپاتیفای ری استارت میشه و تامام!!! از گوش دادن به موسیقی مورد علاقمون لذت میبریم :)امیدوارم اولین پست من توی ویرگول براتون مفید بوده باشه سوالی اروری چیزی اگه دارین توی کامنت ها یا توییتر (bardiainjast) مطرح کنید حتما جواب میدم ?</description>
                <category>بردیا راستین</category>
                <author>بردیا راستین</author>
                <pubDate>Sat, 11 Aug 2018 13:13:34 +0430</pubDate>
            </item>
            </channel>
</rss>