<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های امیر</title>
        <link>https://virgool.io/feed/@mir</link>
        <description>یک توسعه‌دهنده فرانت‌اند و [طراح] amirsalehi.ir</description>
        <language>fa</language>
        <pubDate>2026-07-06 18:12:08</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/2138/avatar/ZUVMLO.jpeg?height=120&amp;width=120</url>
            <title>امیر</title>
            <link>https://virgool.io/@mir</link>
        </image>

                    <item>
                <title>Github copilot، دنیای کدنویسی ترسناک میشود...</title>
                <link>https://virgool.io/@mir/github-copilot-%D8%AF%D9%86%DB%8C%D8%A7%DB%8C-%DA%A9%D8%AF%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%AA%D8%B1%D8%B3%D9%86%D8%A7%DA%A9-%D9%85%DB%8C%D8%B4%D9%88%D8%AF-fmo3px6te8ez</link>
                <description>چند هفته پیش بود که با همکار خوبم حسین در مورد اکستنشن‌های vscode صحبت میکردیم و رسیدیم به بحث auto complete و بهم گفت اخیرا یه چیزی معرفی شده به نام Github copilot که به نظر چیز جالبی میاد.وجود کلمه Github در اسم این افزونه به عنوان سازنده این پروژه منو مصمم کردم که حتما یه نگاهی بهش بندازم، به همین جهت وبسایت این پروژه رو باز کردم و عملکردشو بررسی کردم.همون ابتدای کار در وبسایتش یه جمله به چشم میخوره که نوشته Your AI pair programmer. هرچند وقتی شروع به کار باهاش بکنید متوجه میشین که copilot میتونه خیلی فراتر از یه pair programmer باشه :) همچنین ذکر شده که در حال حاضر در وضعیت Technical Preview قرار داره و فعلا انتشار همگانی نداشته.توی وبسایتش نمونه کدهای مختلفی رو میتونید از زبان‌های برنامه‌نویسی مختلف مشاهده کنید که به سادگی نوشتن یه کامنت تولید میشن. این امکان وجود داشت که برای بررسی این افزونه توی لیست انتظار ثبت نام کرد و از سر کنجکاوی تصمیم گرفتم ثبت نام کنم.خوشبختانه حدود دو هفته بعد یه ایمیل از Github اومد که از الان میتونید Copilot رو نصب و شروع به بررسی بکنید. وقتی توی وبسایت رسمی Copilot نمونه عملکردشو بررسی میکردم برام جالب بود اما باید اعتراف کنم زمانی حیرت‌زده شدم که خودم به طور مستقیم باهاش کار کردم. افزونه Github Copilot علاوه برای Auto complete قدرتمند، هوش مصنوعی فوق العاده و البته ترسناکی داره که ممکنه هر برنامه نویسی رو به فکر فرو ببره.این افزونه علاوه بر تکمیل کردن کد شما هنگام کدنویسی، میتونه ادامه منطق برنامه شما رو حدس بزنه و نیاز شما رو به فکر کردن در مورد ادامه برنامه‌نویسی مرتفع کنه! اغراق نمیکنم... واقعا همینطوره.زبان‌های برنامه‌نویسی مختلف رو پشتیبانی میکنه و میتونه کد شما رو بر اساس نوع فایل، نام کامپوننت، تابع یا کلاس تکمیل کنه و پیشنهادهای موثری بده.نیاز شما رو تا حد بسیار زیادی نسبت به پیدا کردن snippetهای مختلف و حتی پیچیده رو برطرف میکنه و به سادگی نوشتن یه کامنت میتونید به اونا دسترسی داشته باشین بدون اینکه برید سراغ گوگل.به عنوان یه برنامه نویس خیلی پیش میاد که به تابع یا قطعه کدی نیاز داشته باشیم و بخوایم از اون داخل پروژه خودمون استفاده کنیم. Copilot این کد رو برای ما پیدا میکنه اونم با یه کد خیلی تمیز و مرتب و حتی براساس کدهای از پیش نوشته شده ما در فایل یا پروژه جاری. یعنی حتی کدهای موجود در پروژه خودتون رو پردازش میکنه تا کد پیشنهادیش بتونه تطبیق بهتری با کد پروژه شما داشته باشه.برای مثال تنها با نوشتن این کامنت:// function to add the &amp;quotAmir&amp;quot word to center of an imageکد زیر تولید شده:function addText(image) {
  const canvas = document.createElement(&amp;quotcanvas&amp;quot);
  const ctx = canvas.getContext(&amp;quot2d&amp;quot);
  const text = &amp;quotAmir&quot;
  const font = &amp;quot30px Arial&quot;
  const textWidth = ctx.measureText(text).width;
  const textHeight = 30;
  const imageWidth = image.width;
  const imageHeight = image.height;
  const x = (imageWidth - textWidth) / 2;
  const y = (imageHeight - textHeight) / 2;
  canvas.width = imageWidth;
  canvas.height = imageHeight;
  ctx.drawImage(image, 0, 0);
  ctx.font = font;
  ctx.fillStyle = &amp;quotblack&amp;quot
  ctx.fillText(text, x, y);
  return canvas;
}همونطور که مشاهده میکنید داخل کامنت یکم شرایط رو خاص کردم و کد نهایی طبق اون شرایط تولید شده. (به صورت دستی هیچ گونه تغییری داخل کد تولید شده ندادم)این کد رو داخل یه سند جاوااسکریپت نوشتم با این حال شما میتونید تقریبا توی هر زبانی درخواسستون رو داخل کامنت بنویسید تا یه کد خفن تحویل بگیرید.البته برای تولید کد حتما نیاز به نوشتن کامنت نیست و برای مثال با نوشتن یک عنوان مناسب برای یک تابع هم میتونین به یه کد پیشنهادی خوب برسین. مثلا اگر هنگام کدنویسی تابعی تحت عنوان fetchUserFromGithub بنویسید، Copilot اون رو به صورت زیر تکمیل میکنه:const fetchUserFromGithub = (username) =&gt; {
  return fetch(`https://api.github.com/users/${username}`)
    .then((response) =&gt; response.json())
    .then((json) =&gt; json);
};خب... در صورتی که فکر کنین کمی دونستن زبان انگلیسی کافیه تا بتونیم به راحتی کدنویسی بکنیم باید بگم که Github Copilot حتی فارسی هم میفهمه!!به کامنت زیر و کد تولید شده از روی اون توجه کنید:// آرایه ای از استان های ایران

var countries = [
 &amp;quotآذربایجان شرقی&amp;quot,
 &amp;quotآذربایجان غربی&amp;quot,
 &amp;quotاردبیل&amp;quot,
 &amp;quotاصفهان&amp;quot,
 &amp;quotایلام&amp;quot,
 &amp;quotبوشهر&amp;quot,
 &amp;quotتهران&amp;quot,
 &amp;quotچهارمحال و بختیاری&amp;quot,
];و یا برای لود کردن jquery با cdn داخل یک سند html فقط کافیه کامنت زیر رو بنویسید تا نتیجه رو تحویل بگیرید:  &lt;!-- jquery cdn --&gt;

 &lt;script src=&amp;quothttps://code.jquery.com/jquery-3.2.1.slim.min.js&amp;quot integrity=&amp;quotsha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN&amp;quot crossorigin=&amp;quotanonymous&amp;quot&gt;عملکردهای متنوعی رو میشه به کمک این افزونه انجام داد، همچنین این افزونه رفته رفته در حال پیشرفت، رفع نواقص و افزودن امکانات جدید هم. اگر شما هم تا الان با این افزونه کار کردین خوشحال میشم تجربیاتتون رو داخل کامنت ارسال کنین.دنیای AI و هوش مصنوعی به سرعت رو به پیشرفته و حالا میتونیم به وضوح اون رو در بحث توسعه نرم‌افزار هم مشاهده کنیم. موردی که میتونه هر برنامه نویسی رو در مورد آینده شغلیش نگران کنه.هوش مصنوعی هنوز ابتدای راهه...ضمنا، نظر شما در مورد پیشرفت روز افزون هوش مصنوعی چیه؟ آیا به عنوان یک برنامه نویس نگران از دست دادن شغلتون هستید؟</description>
                <category>امیر</category>
                <author>امیر</author>
                <pubDate>Sun, 01 Aug 2021 16:07:49 +0430</pubDate>
            </item>
                    <item>
                <title>نکاتی در باب آداب معاشرت و آدم حسابی بودن</title>
                <link>https://virgool.io/@mir/etiquette-ejddz1pnw8pa</link>
                <description>امروز وقتی داشتم توی وسایلم به قصد پیدا کردن چیزی میگشتم چشمم به یه کتاب جیبی قدیمی به نام آداب معاشرت برای همه افتاد.یه کتاب معمولی به تألیف شهین‌دخت بهزادی که به نظر چیز خاصی نمیاد اما از اونجایی که هر کتابی پیامی برای گفتن داره، تصمیم گرفتم بخونمش و نکاتی که به نظر جالب و قابل توجه میومد رو اینجا ذکر کنم.کتاب نکات زیادی در مورد آداب معاشرت و جنتلمن بودن (فارغ از جنسیت) گفته و از اونجایی که خیلی‌هاشو میدونیم و نیاز به گفتن دوباره نیست، فقط به موارد خاص اشاره می‌کنم:فکر نکنید که ادب باید فقط در مواقع به خصوصی به کار گرفته شود. ادب همیشه و در همه حال باید همراه‌مان باشد. جزو افرادی نباشیم که ادب را فقط در حضور چند شاهد به کار می‌گیرند.هر چه بیشتر قسم بخوریم تا حرفمان را ثابت کنیم، باور دیگران را نسبت به خود کاهش داده‌ایم.هر لحظه باید برای دستیابی به هدف والای انسانی بهره گرفت. می‌گویند انسان مانند رودخانه است؛ هرچه عمیق‌تر باشد، آرام‌تر است.اگر عینک آفتابی به چشم دارید، در موقع معرفی به شخص دیگر، حتما باید عینک‌تان را بردارید.در راه‌پله، راه‌رو، در ورودی، خودتان را کنار بکشید و برای آنان که بیشتر از شما عجله دارند راه را باز بگذارید.اگر در آسانسور هستید، همیشه متوجه باشید که روی‌تان باید مقابل آسانسور باشد حتی اگر به این ترتیب به دیگران پشت می‌کنید.در خیابان، از هر طرف که با همراه‌تان راه می‌روید، کیف یا بسته‌تان را به دست دیگر بدهید که مزاحم او نباشد.در عوضِ این که سعی کنیم تا با زیردستمان مؤدب باشیم، بکوشیم طوری وانمود کنیم که زیردستی نداریم و همه با هم برابریم.وقتی چند نفر با هم هستید و از خیابان یا پیاده‌رو عبور می‌کنید، یک دیوار نسازید و راه عبور را نبندید. بگذارید دیگران به آزادی از کنار شما بگذرند.در موقع راه رفتن، کمرتان را خم نکنید، قوز نکنید. زیباتر است که مصمم و مقتدر جلوه کنید.در خیابان رسم بر این است که آقایان در سمت چپ خانم‌های همراهشان حرکت کنند.در تاکسی یا آژانس وظیفه آقا است که خانم را در طرف راست خود بنشاند.در موقع بالارفتن از پله‌ها، خانم‌ها همیشه مقدمند. ولی در موقع پایین آمدن، وظیفه آقاست که جلوتر برود.عادت کنید درِ حمام و توالت را همیشه بسته نگه دارید حتی اگر جز شما کس دیگری در خانه زندگی نمیکند.در عبور از عرض خیابان، آقایان یا جوان‌ترها و حتی آقایان سالمند باید خانم‌ها و افراد مسن‌تر را در جهتی همراهی کنند که اتومبیل نمیگذرد.هنگام ورود یا خروج از مکانی، آن‌ها که خارج می‌شوند مقدم بر کسانی هستند که داخل می‌شوند.درست نیست انگشت‌تان را با آب دهان‌تر کنید و کتاب و مجله را ورق بزنید.مرد جوان هیچگاه اول دستش را برای دست دادن به مرد مسن‌تر جلو نمیبرد.اگر شب را در خانه دوست یا فامیل به سر میبرید، در همان ساعتی بخوابید که آنها بطور معمول میخوابند و همان ساعتی بیدار شوید که آنها بیدار میشوند.در هنگام تولد دوست یا آشنایتان اگر میبینید که او به روزهای پیری‌اش نزدیک شده، فقط تولدش را تبریک بگویید و اسمی از سال‌های عمرش به زبان نیاورید.در طول میهمانی، آب‌خوردن باید در شیشه یا پارچ در تمام اوقات در دسترس میهمان قرار داشته باشد.در میهمانی به جز دوست خود به سایرین هم توجه کنید و تمام اوقات‌تان را تنها به یک فرد اختصاص ندهید.در جمع، سیب و میوه‌های نظیر آن را نباید درسته پوست گرفت و ابتدا باید آن را چند قسمت کرد. میوه‌های آبدار مانند هلو و شلیل را باید با کمک چنگال مصرف کرد.تنهای سخنگوی مجلس نباشید، حتی اگر بسیار خوش سروزبان باشید.اگر نه گفتن را یاد بگیرید، مفیدترین هنر زندگی را یاد گرفته‌اید.با کارمندان اداره و همکارنتان، حتی اگر بسیار دوست و نزدیک هستید، زمان طولانی صحبت نکنید و بگذارید آنها به کارهای خودشان و دیگران رسیدگی کنند.خانم‌ها در محل کار نباید کفش‌های پاشنه‌دار پر سروصدا به پا کنند مخصوصا اگر کارشان به گونه‌ای است که باید مرتب در حرکت باشند.یک شاخه، سه شاخه، پنج، هفت و... تعداد شاخه‌های گل باید فرد باشد. فقط گل رز است که از این قاعده به دور میماند و میتواند شش یا دوازده شاخه بخرید.اگر برای شما دسته گلی هدیه آورده‌اند، لازم است بعد از تشکر آن را در حضور آورنده‌ی گل در گلدان آب قرار دهید.برای هیچ بیماری گل معطر هدیه نبرید.هدایایی مانند شیرینی، شکلات، آب نبات و سایر خوراکی‌ها را در حضور هدیه دهنده به او و سایرین تعارف کنید.برای خوردن سالاد بهتر است از یک بشقاب دیگر استفاده شود. سالاد را به طور معمول با چنگال میخورند و برای خوردن آن از کارد استفاده نمی‌کنند.سر میز غذا، آرنج‌هایتان باید همیشه به پهلو چسبیده باشند. هرگز تا پایان غذا، آرنج‌هایتان را روی میز نگذارید.در رستوران خانم‌ها طرف راست آقایان می‌نشینند.ادب مانند عطر است، تا انسان چند قطره از آن به خود نزند دیگران متوجه آن نمی‌شوند.هنگامی که نزد پزشک می‌روید، روی یک ورق کاغذ تمام نکات بیماری‌تان را از قبل یادداشت کنید تا به معاینه و تشخیص سریع کمک کرده باشید.اگر از شما برای میهمانی و صرف غذا دعوت رسمی شده است باید به سرعت، حضور یا عدم حضورتان را اطلاع دهید.در میهمانی های تشریفاتی و رسمی که غذا به صورت نشسته پشت میز صرف میشود، سرویس‌دهنده معمولا دیس غذا را از طرف چپ میهمان تعارف میکند تا او بتواند به راحتی با دست را غذا بردارد.نکته‌های زیادی در باب آداب معاشرت وجود داره که رعایت کردنش میتونه به بالابردن شخصیت ما کمک بکنه. شما هم اگر نکته‌ای دارید در کامنت‌ها اضافه کنید.</description>
                <category>امیر</category>
                <author>امیر</author>
                <pubDate>Mon, 15 Mar 2021 19:16:19 +0330</pubDate>
            </item>
                    <item>
                <title>وب سرور درونی PHP راهی سریع برای اجرای پروژه</title>
                <link>https://virgool.io/@mir/%D9%88%D8%A8-%D8%B3%D8%B1%D9%88%D8%B1-%D8%AF%D8%B1%D9%88%D9%86%DB%8C-php-%D8%B1%D8%A7%D9%87%DB%8C-%D8%B3%D8%B1%DB%8C%D8%B9-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C-%D9%BE%D8%B1%D9%88%DA%98%D9%87-tzqwvxaolsge</link>
                <description>همونطور که میدونید برای اجرای فایل‌های PHP به محیط سرور نیازه و به طور معمول برای رفع این نیاز از راهکارهایی مانند XAMPP استفاده میشه که یه سرور تمام عیار با سرویس‌های مختلف به توسعه‌دهنده ارائه میده.اما از نسخه 5.4 زبان PHP به بعد یک وب سرور درونی کوچیک (Built-in) به این زبان محبوب اضافه شده که میتونین فایل‌های این زبان را روی محیط سرور اجرا کنین. برای اینکار کافیه دستور زیر رو در دایرکتوری مورد نظر اجرا کنید:php -S localhost:8000مشخصه که این امکان وجود داره که شماره پورت رو از 8000 به عدد مورد نظر تغییر بدین.کافیه برای مشاهده فایل مربوطه کافیه اون روی به شکل زیر در مرورگر اجرا کنید:http://localhost:8000/index.phpدر صورتی که تمایل دارین یک پوشه مشخص از پروژه خودتون رو اجرا کنید میتونین از دستور زیر استفاده کنید:php -S localhost:8000 -t myFolderتوی وب‌سایت رسمی PHP ذکر شده که این امکان تنها برای اهداف تست و دیباگ کد در نظر گرفته شده و مسلما نمیشه روش به عنوان یه وب سرور تمام و کمال حساب باز کرد.</description>
                <category>امیر</category>
                <author>امیر</author>
                <pubDate>Wed, 29 Jul 2020 15:37:15 +0430</pubDate>
            </item>
            </channel>
</rss>