<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های امیر عباس موسوی</title>
        <link>https://virgool.io/feed/@amir_the_piper</link>
        <description>برای یافتن چیزی، هر چیزی، یک حقیقت عالی یا یک جفت عینک گمشده، ابتدا باید اعتقاد داشته باشید که در پیدا کردن آن مزیتی وجود دارد.</description>
        <language>fa</language>
        <pubDate>2026-06-16 10:35:13</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/205055/avatar/5bln4s.jpg?height=120&amp;width=120</url>
            <title>امیر عباس موسوی</title>
            <link>https://virgool.io/@amir_the_piper</link>
        </image>

                    <item>
                <title>4 بازی تحت وب در مکان‌های غیرمنتظره</title>
                <link>https://virgool.io/@amir_the_piper/4-web-games-in-unexpected-places-itzs83ul2hg7</link>
                <description>گاهی وسط گشت‌و‌گذار در اینترنت، به چیزهایی برمی‌خوری که انتظارش رو نداری.نه بازی‌های بزرگ یا پروژه‌های جدی، بلکه تجربه‌های کوچیک، عجیب و بامزه‌ای که معمولاً از کنجکاوی یه برنامه‌نویس شروع می‌شن.از بازی کردن در نوار آدرس مرورگر گرفته تا favicon یا حتی DevTools. جاهایی که هیچ‌وقت انتظارش رو نداشتیم.در این پست چند تا از همین پروژه‌های جالب رو معرفی کردم؛ گاهی ایده‌های احمقانه هم می‌تونن جذاب باشن. 😄URL Snake: بازی کلاسیک «مار» در نوار آدرس مرورگرURL Snake: بازی کلاسیک «مار» در نوار آدرس مرورگراپیدمیَن (Epidemian) یه برنامه‌نویس خلاقه که بازی «مار در نوار آدرس مرورگر» رو ساخته. ایده‌ای که از کنجکاویش درباره‌ی خط بریل شروع شد. خودش می‌گه یه روز با خودم فکر کرده بود که نمادهای بریل دقیقاً چطوری کار می‌کنن؟ هر علامت یعنی یه حرف؟ یه سیلاب؟ یا یه مفهوم خاص؟ تا اینکه فهمید هر کاراکتر بریل در واقع از یه شبکه‌ی ۲ در ۴ نقطه تشکیل شده؛ یعنی ۸ نقطه که هر کدوم می‌تونن روشن یا خاموش باشن — در نتیجه ۲⁸ یا همون ۲۵۶ حالت مختلف! و نکته‌ی جالب این بود که یونیکد از همه‌ی این حالت‌ها پشتیبانی می‌کنه. ایده از همین‌جا جرقه خورد: از این الگوها می‌شه برای ساخت شکل‌های ساده با متن استفاده کرد… و خب، بازی مار بهترین انتخاب بود.ساخت این بازی، اونم دقیقاً توی نوار آدرس مرورگر، پر از دردسر بود. مرورگرها به خاطر مسائل امنیتی اجازه نمی‌دن تابع history.replaceState() خیلی سریع اجرا بشه، و همین باعث می‌شد بازی کند یا حتی قفل کنه. از اون طرف، مرورگرهایی مثل Firefox و Chrome خودشون فاصله‌ها رو حذف یا escape می‌کردن و کل شکل بازی به‌هم می‌ریخت. اپیدمیَن برای دور زدن این محدودیت‌ها دست به یه‌سری ترفند عجیب زد، مثلاً از canvas برای اندازه‌گیری فونت استفاده کرد تا بتونه کاراکترهایی پیدا کنه که دقیقاً هم‌عرض با فضای بریل باشن. او در انجمن Hacker News گفت این روش‌ها «وحشتناک و غیرقابل دفاع» هستن، ولی همین ترکیب خلاقیت و شوخ‌طبعی باعث شد یکی از عجیب‌ترین و بامزه‌ترین پروژه‌های وب ساخته بشه.اپیدمیَن می‌گه این بازی در اصل یک شوخیه، ولی با این حال از گزارش باگ‌ها، ایده‌ها و pull requestها استقبال می‌کنه.URL Dino: بازی دایناسور کروم، حالا در نوار آدرسURL Dino: بازی دایناسور کروم در نوار آدرسایده‌ی ساخت این بازی بعد از دیدن پروژه‌ی URL Snake به ذهنم رسید.تجربه‌ی اجرای یک بازی در نوار آدرس مرورگر انقدر غیرمنتظره و جالب بود که خواستم خودم هم امتحانش کنم.می‌خواستم ببینم چطور می‌شه یه بازی رو با حداقل کد و در محدودترین فضا ساخت. در واقع هدفم بیشتر «تجربه کردن» و ساخت یک بازی «احمقانه/بچگانه» بود. 😄از کاراکترهای بریل برای نمایش دایناسور، موانع بالا و پایین استفاده کردم،و به‌جای requestAnimationFrame با setInterval، حرکت بازی رو در چند فریم در ثانیه شبیه‌سازی کردم.با گذر زمان، سرعت بازی بیشتر می‌شه و واکنش‌ها سریع‌تر.این پروژه هم، کاملاً متن‌باز و بدون لایسنس هست و هر کسی می‌تونه اون رو فورک، ویرایش یا گسترش بده.مثلاً بخش‌هایی مثل سخت‌تر شدن مرحله‌ها، کنترل دقیق‌تر پرش یا حتی اضافه کردن مکانیک‌های جدید.کوچکترین نسخه 2048 در جهانکوچکترین نسخه 2048 در جهاناین نسخه از بازی ۲۰۴۸ لایق اشاره است. بازی داخل favicon اجرا میشه. همون آیکون کوچیکی که کنار آدرس سایت هست!هیچ عددی هم در کار نیست، فقط چند تا مربع رنگی روی زمینهٔ سیاه که مثل نسخهٔ اصلی، مربع‌های هم‌رنگ با هم ترکیب می‌شن و رنگ جدیدی می‌سازن که نشونهٔ عدد بالاتر هست.با اینکه اندازه‌اش خیلی ریز بود و چشمم رو اذیت کرد، ولی اصلاً انتظارش رو نداشتم.DevTools Pong: بازی پینگ‌پنگ در DevToolsDevTools Pong: بازی پینگ‌پنگ در DevToolsاین یکی شاید عجیب‌ترینشون باشه. یه نسخه از بازی کلاسیک پینگ‌پنگ که داخل DevTools مرورگر اجرا میشه!وقتی صفحه رو باز می‌کنید، هیچ چیزی دیده نمی‌شه، اما اگه DevTools رو باز کنید و برید به تب Layers، اون‌جا توپ و راکت‌ها ظاهر می‌شن.راستش من دقیق نفهمیدم چطور باید درست بازی کرد. بازی به نظر دو نفره میاد، ولی فقط تونستم با کلیدهای جهت‌نما یکی از راکت‌ها رو بالا و پایین ببرم. توپ هم بعد از هر بار برخورد به راکت به وسط و بدون زاویه برمی‌گرده.به هر حال جالب هست، و برای اولین بار من رو وارد نمای Layers کرد!همش همین بود. 😎اگه بازی «غیرمنتظره» و «احمقانه» دیگه‌ای می‌شناسید، توی کامنت‌ها حتماً اشاره کنید! 🎮</description>
                <category>امیر عباس موسوی</category>
                <author>امیر عباس موسوی</author>
                <pubDate>Sat, 01 Nov 2025 13:20:31 +0330</pubDate>
            </item>
                    <item>
                <title>از سند لو رفته MrBeast چه می‌آموزیم؟ خلاصه‌ای از اصول موفقیت</title>
                <link>https://virgool.io/@amir_the_piper/%D8%A7%D8%B2-%D8%B3%D9%86%D8%AF-%D9%84%D9%88-%D8%B1%D9%81%D8%AA%D9%87-mrbeast-%DA%86%D9%87-%D9%85%DB%8C-%D8%A2%D9%85%D9%88%D8%B2%DB%8C%D9%85-%D8%AE%D9%84%D8%A7%D8%B5%D9%87-%D8%A7%DB%8C-%D8%A7%D8%B2-%D8%A7%D8%B5%D9%88%D9%84-%D9%85%D9%88%D9%81%D9%82%DB%8C%D8%AA-mfqmjmgm6dnq</link>
                <description>چگونه در تیم تولید MrBeast موفق شویم (PDF لو رفته)چه طرفدار سبک ویدیوهای یوتیوب MrBeast باشید یا نه، این سند آموزشی لو رفته برای اعضای جدید تیم تولید MrBeast، خواندنی و جذاب است.این سند نگاهی است به آنچه برای مدیریت یک عملیات عظیم و ویروسی یوتیوب در دهه ۲۰۲۰ لازم است، همراه با توضیحی دقیق از یک فرهنگ سازمانی بسیار خاص که برای تحقق این مأموریت شکل گرفته است.«مطلب ترجمه شده پست سایمون ویلیسون هست و منبع آن در پایین صفحه قرار داره»این سند به پررنگ‌ترین و خاص‌ترین شکل ممکن، به سبک MrBeast آغاز می‌شود:من واقعاً معتقدم اگر این مطالب را با دقت بخوانید و درک کنید، برای موفقیت بسیار بهتر آماده خواهید شد. پس، اگر این کتاب را بخوانید و یک آزمون را قبول شوید، به شما ۱۰۰۰ دلار جایزه می‌دهم.همه چیز به طور خاص بر روی یوتیوب به عنوان یک قالب متمرکز شده است:هدف شما اینجا این است که بهترین ویدیوهای ممکن YOUTUBE را بسازید. این هدف شماره یک این شرکت تولید است. هدف این نیست که بهترین ویدیوهای تولید شده، یا خنده‌دارترین، یا زیباترین، یا باکیفیت‌ترین ویدیوها را بسازید. هدف این است که بهترین ویدیوهای ممکن YOUTUBE را بسازید.تعریف MrBeast از بازیکنان تیم‌های A،‏ B و C چیزی است که قبلاً نشنیده بودم:بازیکنان A افراد وسواسی هستند، از اشتباهات خود یاد می‌گیرند، قابل آموزش هستند، باهوش‌اند، بهانه نمی‌آورند، به یوتیوب باور دارند، ارزش این شرکت را می‌بینند و در کار خود بهترین در جهان هستند. بازیکنان B افراد جدیدی هستند که باید به بازیکنان A تبدیل شوند، و بازیکنان C فقط کارمندان معمولی هستند. [...] آن‌ها متمرکز و به دنبال یادگیری و پیشرفت نیستند. بازیکنان C سمی هستند و باید فوراً به شرکت دیگری منتقل شوند. (نگران نباشید، به همه آن‌ها حقوق قطع همکاری می‌دهیم و اوضاعشان خوب خواهد بود).ویژگی کلیدی که اینجا به آن اشاره شده، یادگیری است. اگر دقت کنید، در فرهنگ کاری که بر پیشرفت فردی تأکید دارد، افرادی که به طور مداوم یاد می‌گیرند، ارزشمندند. اما کسانی که در یادگیری سستی می‌کنند، چندان مورد توجه قرار نمی‌گیرند.مطالب زیادی درباره وایرال شدن در یوتیوب مطرح شده که از نرخ کلیک (CTR) روی تصاویر بندانگشتی ویدیوهای کلیدی آغاز می‌شود.این دقیقاً تعیین می‌کند که ما برای ویدیوها چه کاری انجام دهیم. «50 ساعت را در حیاط جلویی خانه‌ام گذراندم» عنوان ضعیفی است و احتمالاً روی آن کلیک نمی‌کنید. اما به احتمال زیاد روی «50 ساعت را در کچاپ گذراندم» کلیک می‌کنید. هر دو از نظر زمان و تلاش تقریباً مشابه هستند، اما ویدیوی کچاپ به راحتی 100 برابر بیشتر وایرال می‌شود. تصویری از کسی که در یک وان پر از کچاپ نشسته، بسیار جالب‌تر از کسی است که در حیاط جلویی خانه‌اش نشسته.فرآیند خلاقانه برای هر ویدیویی که تولید می‌کنند، با عنوان و تصویر بندانگشتی شروع می‌شود. این دو، انتظارات بیننده را شکل می‌دهند و هر چیزی که پس از آن می‌آید باید با در نظر گرفتن همین انتظارات تعریف شود. اگر بیننده حس کند که انتظاراتش برآورده نمی‌شود، ویدیو را ترک می‌کند و این باعث کاهش میانگین مدت زمان مشاهده (Average View Duration) می‌شود، معیاری که تعیین می‌کند ویدیو تا چه حد توسط الگوریتم‌های مرموز و حیاتی یوتیوب ترویج پیدا میکند.ویدیوهای MrBeast یک فرمول دقیق و مشخص دارند که به طور مفصل در صفحات ۶ تا ۱۰ توضیح داده شده است.در اولین دقیقه، توجه بیننده جلب می‌شود و نشان داده می‌شود که انتظارات آن‌ها از تصویر بندانگشتی برآورده خواهد شد. از دست دادن ۲۱ میلیون بیننده در اولین دقیقه پس از ۶۰ میلیون کلیک اولیه، نتیجه نسبتاً خوبی به حساب می‌آید! هر یک از بخش‌های دقیقه ۱ تا ۳، ۳ تا ۶ و ۶ تا پایان، وظایف مشخص و تعریف شده‌ای دارند.در حالت ایده‌آل، یک ویدیو باید شامل چیزی به نام «عامل شگفتی | wow factor» باشد:یک مثال از «عامل شگفتی» ویدیوی 100 روز در دایره ماست. ما به کسی ۵۰۰,۰۰۰ دلار پیشنهاد دادیم اگر بتواند ۱۰۰ روز در یک دایره در یک مزرعه زندگی کند (ویدیو) و به جای اینکه از خانه‌اش در دایره شروع کنیم، آن را ۳۰ ثانیه بعد با جرثقیل وارد ویدیو کردیم. چرا؟ چون چه کسی در یوتیوب می‌تواند این کار را انجام دهد؟ (خنده) فصل دوم (صفحات ۱۰ تا ۲۴) درباره تولید محتوا است. این بخش پر از نکاتی است که نشان می‌دهد برای تولید محتوای شگفت‌انگیز، تماشایی و بسیار پرهزینه برای یوتیوب چه چیزی لازم است.بخش بزرگی از این فصل درباره هماهنگی و مدیریت دقیق وابستگی‌های شماست:از شما می‌خواهم که به چشمانشان نگاه کنید و به آن‌ها بگویید که مانع کار شما هستند، و یک قدم فراتر بروید و توضیح دهید چرا آن‌ها مانع هستند تا هر دو درک روشنی از وضعیت داشته باشید.&quot;تایلر، تو مانع کار من هستی. من ۴۵ روز وقت دارم تا این ویدیو را آماده کنم و نمی‌توانم تا زمانی که محتوای ویدیو مشخص نشده کار را شروع کنم. باید تأیید کنی که اهمیت این موضوع را درک می‌کنی و نیاز داریم یک تاریخ برای تکمیل ایده‌پردازی تعیین کنیم.&quot; […] هر روز باید با تایلر پیگیری کنی و مطمئن شوی که او همچنان طبق برنامه به تاریخ هدف نزدیک می‌شود.او همچنین مفهوم «عناصر حیاتی» را معرفی می‌کند:عناصر حیاتی، چیزهایی هستند که برای ویدیوی شما ضروری‌اند. اگر بخواهم ۱۰۰ نفر را به یک جزیره بفرستم و آن را به یکی از آن‌ها اهدا کنم، پس تأمین یک جزیره یک عنصر حیاتی است. مهم نیست چقدر چالش‌ها در جزیره به خوبی برنامه‌ریزی شده‌اند یا وضعیت آب و هوا چقدر خوب است. بدون آن جزیره، هیچ ویدیویی وجود ندارد.[...]عناصر حیاتی می‌توانند از هر جایی به دست بیایند و زمانی که چیزی که روی آن کار می‌کنید به عنوان یک عنصر حیاتی شناخته می‌شود، باید مانند بچه‌تان از آن مراقبت کنید. بدون آنچه که در حال کار روی آن هستید، ما هیچ ویدیویی نداریم! در هر شرایطی از آن محافظت کنید، ۱۰ بار در روز به آن سر بزنید، به آن وسواس داشته باشید، یک نسخه پشتیبان تهیه کنید. اگر نیاز به حمل و نقل دارد، فردی را استخدام کنید تا آن را بردارد و بیاورد. به حمل و نقل معمول اعتماد نکنید و به محض اینکه چیزی اشتباه پیش رفت، صحبت کنید. در همان لحظه. هرگز عنصر حیاتی را به شانس نگذارید (این به معنای ریسک کردن بر روی ویدیو است، یعنی ریسک یک میلیون دلار یا بیشتر).نکات زیادی در مورد ارتباطات وجود دارد، با تأکید ویژه بر «روش‌های ارتباطی برتر»: ارتباط حضوری بهتر از تماس تلفنی است، تماس تلفنی بهتر از پیامک، و پیامک بهتر از ایمیل.جای تعجب نیست که برای این سازمان، ویدیو ابزاری بسیار ارزشمند برای مستندسازی کارها محسوب می‌شود.کدام مهم‌تر است؟ اینکه یک نفر تسلط ذهنی خوبی روی چیزی داشته باشد یا اینکه کل تیم ۱۰ نفره‌اش تسلط خوبی داشته باشند؟ بدیهی است که تیم. و ساده‌ترین راه برای هم‌سطح کردن تیم این است که از همه چیز فیلم بگیرید و آن را جایی ذخیره کنید که بتوانند به‌طور مداوم به آن دسترسی داشته باشند. بسیاری از مشکلات را می‌توان با فیلم‌برداری از مراحل کار و درخواست ویدیو هنگام سفارش چیزها حل کرد.(A lot of problems can be solved if we just video sets and ask for videos when ordering things)از این یادداشت لذت بردم:از آنجایی که در مورد ارتباطات صحبت می‌کنیم، ارتباط نوشتاری زمانی به‌عنوان ارتباط محسوب می‌شود که دریافت‌کننده تأیید کند که آن را خوانده است.و این نکته درباره ارزش مشاوران:مشاوران واقعاً مثل کدهای تقلب هستند. می‌خواهید بزرگترین کیک دنیا را درست کنید؟ ابتدا با کسی تماس بگیرید که بزرگترین کیک قبلی را درست کرده است، چون او قبلاً بی‌شمار آزمایش انجام داده و می‌تواند هفته‌ها از وقت شما را صرفه‌جویی کند. [...] در هر کاری که به شما محول می‌شود، همیشه، همیشه، همیشه اول از خودتان بپرسید که آیا می‌توانید یک مشاور پیدا کنید تا به شما کمک کند.و این هم یک نکته جدی‌تر از بخش «چیزهای تصادفی که باید بدانید»:هرگز شرکت‌کنندگان را بیشتر از ۳ ساعت زیر آفتاب نگه ندارید (در حالت ایده‌آل، نباید در کل آن‌ها را منتظر بگذارید). در مسابقه «Squid Game» این موضوع برای ما ۵۰۰,۰۰۰ دلار هزینه داشت و در مسابقه «پسرها در مقابل دخترها» باعث شد تعداد زیادی از شرکت‌کنندگان کنار بروند. برای اطلاعات بیشتر از جیمز بپرسید.و در پایان، این نکته درباره بودجه‌بندی:می‌خواهم که پول خرج شده ترجیحاً در دوربین نشان داده شود. اگر بیش از ۱۰,۰۰۰ دلار برای چیزی خرج می‌کنید و قرار نیست در ویدیو نشان داده شود، جدی به آن فکر کنید.‏‏How to succeed in MrBeast production (leaked PDF)&quot;من فکر نمی‌کنم این سند MrBeast درس‌های زیادی داشته باشد که مستقیماً به کار من مربوط شود، اما به‌عنوان یک نگاه صادقانه به پشت صحنه یک شرکت عجیب و بسیار بلندپروازانه، واقعاً جذاب است.&quot;– Simon Willison’s Weblog</description>
                <category>امیر عباس موسوی</category>
                <author>امیر عباس موسوی</author>
                <pubDate>Sat, 21 Sep 2024 16:56:04 +0330</pubDate>
            </item>
                    <item>
                <title>تاریخچه مختصری از صنعت پارچه و منسوجات در ایران و جهان</title>
                <link>https://virgool.io/@amir_the_piper/%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE%DA%86%D9%87-%D9%85%D8%AE%D8%AA%D8%B5%D8%B1%DB%8C-%D8%A7%D8%B2-%D8%B5%D9%86%D8%B9%D8%AA-%D9%BE%D8%A7%D8%B1%DA%86%D9%87-%D9%88-%D9%85%D9%86%D8%B3%D9%88%D8%AC%D8%A7%D8%AA-%D8%AF%D8%B1-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86-%D9%88-%D8%AC%D9%87%D8%A7%D9%86-nu0upx3hjrrb</link>
                <description>پارچه به‌عنوان یکی از نیازهای اساسی بشر به‌اندازه غذا و سرپناه اهمیت دارد و نقش بزرگی در تاریخ تمدن‌ها ایفا کرده است. به‌راستی بدون وجود پارچه، زندگی ما چگونه خواهد بود؟ لباس‌ها، پتوها، مبلمان، تشک‌ها و... از پارچه ساخته شده‌اند و دنیای بدون آن‌ها به‌سختی قابل‌تصور است.در این مقاله قصد داریم به تاریخچه صنعت پارچه در ایران بپردازیم؛ از زمان‌های باستان تا دوران مدرن. همچنین به بررسی ۴ پارچه طبیعی و ویژگی‌های منحصر به فرد هر یک خواهیم پرداخت. این پارچه‌ها که قرن‌ها در تولید پوشاک و منسوجات استفاده شده‌اند، نه تنها به نیازهای اساسی انسان پاسخ می‌دهند، بلکه با زیبایی و کیفیت خود هنر و فرهنگ‌های مختلف را نیز بازتاب می‌دهند.ریشه های باستانییکی از اولین داستان ها در کتاب های مقدس و قرآن آمده است. آدم و حوا برگ های انجیر را به هم می دوزند تا خود را به خاطر حیای خود آراسته کنند. پارچه‌ها برای اولین بار در خاورمیانه در دوران حجر ظاهر شدند و شواهدی وجود دارد که پوشیدن لباس‌ها را تا 500,000 سال قبل تأیید می‌کند، اگرچه این پارچه‌ها شامل پوست، خز و نی می‌شدند. سوزن هایی پیدا شده اند که قدمتشان به 40,000 سال می رسد. برخی از اولین الیاف رنگ شده در غارهایی با قدمت بیش از 30,000 سال پیش در گرجستان یافت شد. شواهدی از بافندگی در جمهوری چک به شکل نقش‌هایی از منسوجات، سبدها و توری‌ها روی خاک رس یافت شده است که قدمت آن به 27,000 سال می‌رسد.نمای بیرونی از غار جوزوآنا، جایی که باستان شناسان الیاف را کشف کردند. این سوزن ساخته شده از استخوان، قدیمی ترین سوزن جهان است. صنعت نساجی در ایرانتولید نساجی در ایران به هزاره دهم قبل از میلاد برمی‌گردد و بسیاری از تولیدات بافندگان ایرانی به درستی به عنوان شاهکار شناخته شده است. اولین کارخانجات به سبک اروپایی در ایران در سال 1850 تأسیس شد و از اولین کارخانه های کشور بودند که از تکنولوژی مدرن استفاده می کردند.صنعت نساجی پس از انقلابپس از انقلاب اسلامی و متعاقب آن ملی شدن بخش اعظم صنعت، به دلیل عدم تمایل سرمایه گذاران خصوصی، سرمایه گذاری کافی وجود نداشت. همچنین دولت معتقد بود ظرفیت موجود برای تامین نیاز داخلی کافی است. بین سالهای 1980 و 1993 ظرفیت افزایش یافت. این صنعت کاملاً به واردات ماشین آلات و فناوری وابسته بود که به دلیل محدودیت های ارزی، توسعه آن را بیشتر محدود کرد. سپس دولت در ایجاد دو شرکت برای مونتاژ ماشین‌های ریسندگی سرمایه‌گذاری کرد. اما این تصمیم فقط مشکل را جابجا کرد، زیرا این شرکت های مونتاژ به ارز نیز نیاز داشتند. پس از گذشت بیش از یک قرن، تولید صنعتی نساجی ایران هنوز رقابتی نبود، اگرچه از پشم ارزان تولید داخلی و نیروی کار ارزان، هرچند ضعیف، بهره می برد.در دهه 90 میلادی، تولید دوباره به دلیل افزایش درآمد و اقدامات حفاظتی قوی‌تر افزایش یافت. در سال 1993 تعداد دوک ها 1.5 میلیون و تعداد دستگاه های ریسندگی و بافندگی 40,000 عدد بود. تخمین زده شده است که حدود 420,000 کارگر، یعنی 30 درصد از کل نیروی کار صنعتی، در صنعت نساجی کار می کردند. بیشتر کارگران در کارگاه های خانگی مشغول به کار بودند که شامل کارگاه های بدون مجوز برای بافت فرش دستباف و خیاطی های کوچک می شد. تولید صنعتی نساجی و پوشاک با حدود 150,000 نیروی کار، بزرگترین کارفرمای صنعتی بود.ایران با تولید سالانه بیش از 95 میلیون مترمربع فرش ماشینی یکی از بزرگ‌ترین تولیدکنندگان فرش ماشینی در جهان است که شهر معروف کاشان در استان اصفهان، 75 درصد از امکانات تولیدی را در خود جای داده است.
گزارش کوتاه از آمار واردات و صادرات نساجی (مارس 2022 - نوامبر 2022)صنعت نساجی ایران متشکل از شرکت‌هایی است که در رشته‌های ریسندگی، بافندگی، رنگرزی و چاپ و کارخانه‌هایی که نخ‌های طبیعی و مصنوع  را به منظور تولید انواع پارچه‌های بافته شده و بافتنی فرآوری می‌کنند. اجناس اصلی نساجی شامل انواع روتختی‌ها، فرش‌های ماشینی و دستبافت، سرژ و همچنین پارچه‌ها و لباس‌ها هستند.واردات:در این بازه زمانی ۹ ماهه، ایران مقادیر قابل توجهی از چیپس نساجی، الیاف، نخ و پارچه وارد کرد. مجموع واردات نساجی و پوشاک به بیش از ۱ میلیارد دلار رسید. واردات الیاف و پارچه‌ها بالاترین ارزش و وزن را داشتند.چیپس نساجی: 41.8 میلیون دلار | 31 میلیون کیلوگرمتوضیح: مواد اولیه برای تولید الیاف و نخالیاف نساجی: 380 میلیون دلار | 128 میلیون کیلوگرمنخ نساجی: 164.6 میلیون دلار | 66.3 میلیون کیلوگرمپارچه‌ها: 414.2 میلیون دلار | 79.6 میلیون کیلوگرمنساجی‌های بدون بافت: 39.3 میلیون دلار | 4.9 میلیون کیلوگرمکفپوش‌ها: 35.3 هزار دلار | 5.9 هزار کیلوگرمپوشاک: 1.6 میلیون دلار | 213.9 هزار کیلوگرممجموع واردات نساجی و پوشاک: 1.04 میلیارد دلار | 310.3 میلیون کیلوگرمصادرات:در مقایسه، صادرات نساجی به طور قابل توجهی کمتر بود و ارزش کل آن به ۳۱۲.۳ میلیون دلار رسید. بالاترین مقادیر صادراتی در کفپوش‌ها مشاهده شد، که وزن زیادی نیز داشتند.چیپس نساجی: 17.7 میلیون دلار | 14.8 میلیون کیلوگرمالیاف نساجی: 37.5 میلیون دلار | 40.6 میلیون کیلوگرمنخ نساجی: 11.8 میلیون دلار | 5.9 میلیون کیلوگرمپارچه‌ها: 21.4 میلیون دلار | 8.6 میلیون کیلوگرمنساجی‌های بدون بافت: 6.6 میلیون دلار | 3.9 میلیون کیلوگرمکفپوش‌ها: 183.5 میلیون دلار | 54.4 میلیون کیلوگرمپوشاک: 33.9 میلیون دلار | 5.8 میلیون کیلوگرممجموع صادرات نساجی و پوشاک: 312.3 میلیون دلار | 134 میلیون کیلوگرم نتیجه‌گیری: این اختلاف در آمار واردات و صادرات نشان‌دهنده وابستگی ایران به مواد اولیه وارداتی برای تولید داخلی و حضور نسبتاً محدود در بازارهای بین‌المللی محصولات نساجی است.https://kohantextilejournal.com/textile-industry-in-iran/سیاست خصوصی سازی صنعت نساجیدر ژوئیه 2002، اعلام شد که 31 کارخانه نساجی بنیاد مستضعفان خصوصی خواهند شد، اقدامی که در راستای سیاست رسمی خصوصی سازی کل صنعت نساجی برای رقابتی تر کردن آن در بازار جهانی است. فشار بازار جهانی هم اکنون احساس می شود، زیرا در سال 2000 حدود دو میلیون متر پارچه به صورت غیرقانونی به ایران وارد شده است. در عین حال، دولت به سرمایه گذاری در ظرفیت های جدید دولتی ادامه می دهد. در مرداد 1382 بزرگترین کارخانه نساجی ایران در فرمیهن نزدیک اراک افتتاح شد که ظرفیت تولید 8000 تن در سال را دارد.‏IRANTEX 2019 آقای لی – مهندسی پلی‌تکس چین: شرکت‌های چینی علاقه زیادی به بازار ایران دارند، زیرا فرصت زیادی برای سرمایه‌گذاری وجود دارد.4 الیاف طبیعیحال به 4 الیاف طبیعی می‌پردازیم. این الیاف شامل ابریشم، پنبه، کتان و پشم می‌شود. هر یک از این الیاف دارای ویژگی‌های منحصر به فردی هستند که به سلامت و راحتی پوشش شما کمک می‌کنند. ابریشم با نرمی و لطافت خاص خود یک کالای لوکس می‌باشد. پنبه به عنوان یکی از پارچه‌های محبوب و تنفس‌پذیر، در همه فصول سال مورد علاقه است. کتان با استحکام بالا و خصوصیت ضد حساسیت، گزینه‌ی مناسبی برای پوشش‌های روزانه محسوب می‌شود. همچنین، پشم با توانایی حفظ گرما و ارتجاع بالا، انتخاب بسیار مناسبی برای فصول سرد است.پشمپرورش گوسفندان به حدود ۱۰٬۰۰۰ سال قبل برمی‌گردد؛ در آن زمان، این حیوانات بیشتر به خاطر گوشت و کمتر به خاطر پشم نگهداری می‌شدند. اما با گذر زمان و بهبود تکنیک‌های نژادبندی، کیفیت مواد اولیه به حدی رسید که الیاف پشم به طور کامل قابل استفاده برای نخ‌کشی شدند. در حدود ۵٬۰۰۰ سال قبل، هنر نخ‌کشی پشم محبوب‌تر و گسترده‌تر شد. دو هزار سال بعد، به دلیل تنوع نژادهای گوسفند، بیش از ۲۰۰ نوع پشم مختلف وجود دارد.انواع مختلف پشم گوسفندکتانکتان یک پارچه است که از الیاف گیاه بَزرَگ (همون کتان) تهیه می‌شود. این پارچه بسیار محکم و جاذب آب است و سریعتر از پنبه خشک می‌شود. به دلیل این ویژگی‌ها، پوشیدن این پارچه در هوای گرم راحت است و برای استفاده در لباس‌ها ارزش زیادی دارد. پارچه های کتان بخاطر داشتن الیاف نخ در آنها زیاد چروک میشوند و به راحتی اتو نمیشود.از کتان تا پارچهٔ لیننابریشمدر فرهنگ عمید درباره پارچه ابریشم می‌خوانیم: «تاری بسیار نازک و محکم که از بازکردن پیلۀ کرم ابریشم تهیه می‌شود و در صنایع نساجی و تهیۀ تار بعضی از سازهای موسیقی به کار می‌رود». یکی از قدیمی‌ترین و باارزش‌ترین پارچه‌های جهان «پارچه ابریشم» است که از پیله کرم ابریشم به‌دست می‌آید.ویژگی‌های منحصر به فرد پارچه ابریشم را به شرح زیر می‌توان ذکر کرد:استحکام: یکی از محکم‌ترین و باکیفیت‌ترین پارچه‌ها می‌باشد.تنظیم حرارتی: در تابستان خنک و در زمستان گرم هستند.قابلیت ارتجاعی: ابریشم، در اثر کشش، حالت اولیه‌اش را از دست نمی‌دهد؛ با این حال توصیه می‌شود آن را زیاد نکشید تا شکل اصلی پارچه حفظ شود.تنفس‌پذیری: می‌تواند به خوبی هوا را عبور داده و به پوست شما اجازه دهد تا تنفس کرده و راحتی بیشتری را تجربه کنید.کرم ابریشمپنبهپارچه پنبه ای از الیاف اطراف دانه های گیاهان پنبه ای به دست می آید که پس از بالغ شدن دانه ها به شکل گرد و کرکی ظاهر می شوند. اولین شواهد برای استفاده از الیاف پنبه در منسوجات مربوط به سایت مهرگره و راخیگرهی در هند است که قدمت آنها به حدود 5000 سال قبل از میلاد می رسد.ممنون که در مطالعه این مطلب با من همراه بودید.این نوشته در ابتدا برای سایت &quot;پارچه یونیک&quot; آماده شده بود، سایتی که حالا دیگر وجود ندارد. تصمیم گرفتم این محتوا را با کمی تغییرات در اینجا بازنشر کنم تا همچنان بتوانید از نکات آن بهره ببرید. این دومین مطلب از چهار مطلبی است که از محتوای پارچه یونیک در اینجا به اشتراک می‌گذارم. منتظر مطالب بعدی باشید!</description>
                <category>امیر عباس موسوی</category>
                <author>امیر عباس موسوی</author>
                <pubDate>Sun, 15 Sep 2024 17:52:34 +0330</pubDate>
            </item>
                    <item>
                <title>پشم مرینوس و بوی بدن – مرینوس چگونه عرق را کنترل میکند؟</title>
                <link>https://virgool.io/@amir_the_piper/%D9%BE%D8%B4%D9%85-%D9%85%D8%B1%DB%8C%D9%86%D9%88%D8%B3-%D9%88-%D8%A8%D9%88%DB%8C-%D8%A8%D8%AF%D9%86-%D9%85%D8%B1%DB%8C%D9%86%D9%88%D8%B3-%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%B9%D8%B1%D9%82-%D8%B1%D8%A7-%DA%A9%D9%86%D8%AA%D8%B1%D9%84-%D9%85%DB%8C%DA%A9%D9%86%D8%AF-geblh51r9e0d</link>
                <description>پشم مرینوس یک فیبر کاملا طبیعی و تجدید پذیر است که از نژاد گوسفند مرینوس می آید. در این مقاله به خاصیت جذب رطوبت و کنترل بو و تنفس پذیری این پشم می‌پردازیم.عرق، باکتری ها و بو!اول از همه مهم است که توجه داشته باشید که عرق به خودی خود هیچ بویی ندارد، اگر به مرور زمان روی پوست باقی بماند، باکتری ها رشد می کنند و همین باعث ایجاد بوی نامطبوع بدن می شود. اما چرا پشم مرینوس موفق به از بین بردن بوی بد بدن در خود لباس می شود، جایی که مواد مصنوعی و سایر مواد شکست می خورند؟جادوی پشم مرینوساولین مزیت پشم مرینوس در کاهش فرصت ایجاد بوی بدن این است که نسبت به سایر منسوجات در جذب عرق و تبخیر آن در هوا کارآمدتر است. پشم مرینوس به دلیل این تواناییه جذب مویینگی، مشهور است. اما چیزی که من واقعاً شگفت‌انگیز می‌دانم این است که حتی اگر به شدت عرق می‌کنید، لباس هنوز در لمس حس خشکی می دهد.الیاف پشم مرینوس فلس‌دار هستند و مطالعات نشان داده‌اند که باکتری‌ها بیشتر به سطح صاف و دارای بار مثبت یک الیاف مصنوعی جذب می‌شوند تا سطح فلس‌دار الیاف مرینوس که باری ندارند، بنابراین باکتری‌ها کمتر به آن نفوذ می‌کنند.لانولین (چربی پشم)، مومی است که گوسفندان برای محافظت از پوست و پشم خود در برابر عناصر تولید می کنند. این ماده علاوه بر توانایی در محافظت از پوست گوسفند، یک عامل ضد باکتری طبیعی است. که از گسترش و تکثیر باکتری ها در ساختار ماده جلوگیری می کند. – و این باکتری ها هستند که عامل اصلی بو می‌باشند.پشم مرینوس همچنین حاوی چندین اسید آمینه از جمله سیستئین و آرژینین است که خاصیت ضد میکروبی دارند. این اسیدهای آمینه با ایجاد اختلال در دیواره سلولی باکتری ها عمل می کنند. و مانند لانولین، آنها همچنین توانایی جلوگیری از گسترش و تکثیر باکتری ها را دارند.ممنون از همراهیتان.این مطلب در اصل برای سایت &quot;پارچه یونیک&quot; نوشته شده بود که در حال حاضر دیگر در دسترس نیست. من این مطلب را به اینجا منتقل و با تغییرات جزئی آن را به‌روز کرده‌ام تا همچنان بتوانید از محتوای آن بهره‌مند شوید. اگر به خواندن مطالب بیشتری در این زمینه علاقه دارید، به زودی سه مطلب دیگر از محتوای پارچه یونیک را نیز اینجا منتشر خواهم کرد.</description>
                <category>امیر عباس موسوی</category>
                <author>امیر عباس موسوی</author>
                <pubDate>Wed, 21 Aug 2024 18:08:18 +0330</pubDate>
            </item>
                    <item>
                <title>راهنمای انجام اولین مشارکت در متن باز</title>
                <link>https://virgool.io/codenevis/%D8%A2%D8%B4%D9%86%D8%A7%DB%8C%DB%8C-%D8%A8%D8%A7-%D9%85%D9%86%D8%A8%D8%B9-%D8%A8%D8%A7%D8%B2-%D9%88-%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C-%D8%A7%D9%86%D8%AC%D8%A7%D9%85-%D8%A7%D9%88%D9%84%DB%8C%D9%86-%D9%85%D8%B4%D8%A7%D8%B1%DA%A9%D8%AA-v3yqfseyhjdo</link>
                <description>پروژه های متن باز یک راه عالی برای توسعه مهارت ها، با فعال بودن و همکاری با برنامه نویسان دیگه است. در این نوشته سعی می‌کنیم راه شروع مشارکت در پروژه های اوپن سورس را بررسی میکنیم.همچنین در این بین به طور خلاصه GitHub رو معرفی و به برخی از قابلیت هاش می پردازیم. اما نیاز داریم که شما کنجکاو باشید. کمی برنامه‌نویسی بلد باشید و با Git آشنایی داشته باشید و بتونید با انگلیسی مبتدی (و حتی کمک مترجم گوگل😄) کارتان را راه بندازید.مقدمه ای بر Open Sourceهنگامی که یک پروژه منبع باز (یا متن باز) است، به این معنی می‌باشد که هرکسی هرگونه که دوست دارد میتواند آن را استفاده، مطالعه، ویرایش و توزیع کند. این مجوزها از طریق یک لایسنس منبع باز اجرا می شوند.بسیاری از توسعه‌دهندگان علاقه‌مند به پروژه‌های منبع باز هستند، و دلیل خوبی برای این علاقه دارند: آن‌ها هر روز برای افزایش سرعت کار خود از آنها استفاده می‌کنند. مثال‌های موفقی از نرم‌افزار های منبع باز وجود دارد، مانند سیستم عامل لینوکس، وب سرور آپاچی یا کتابخانه جاوااسکریپتی ری‌اکت. تصور دنیایی بدون منبع باز دشوار است. منبع باز در همه جا وجود دارد. در واقع منبع باز همان چیزی است که به اینترنت قدرت می‌بخشد.کد های متن باز معمولا کیفیت بیشتری دارند. یک نرم‌افزاری که توسط چند نفر ساخته شده کیفیت پایین‌تری نسبت به آن که هزاران نفر از سراسر دنیا با مهارت های مختلف ساخته‌اند دارد. و باگ ها و خطا ها و نقص های امنیتی سریعا تشخیص داده می‌شوند.پیشگامان متن باز (Open Source Initiative) سازمان هایی در حمایت از اپن سورسسیستم‌عامل گنو در سال 1984 با هدف ایجاد یک سیستم‌عامل کامل و آزاد به‌وسیله ریچارد استالمن پایه‌گذاری شد. یک سال بعد او بیانیه گنو را نوشت و درخواست حمایت در توسعه سیستم‌عامل گنو را کرد. او همچنین بنیاد نرم‌افزار آزاد (FSF) را تاسیس کرد، یک سازمان غیرانتفاعی که هدف آن ترویج آزادی در استفاده از رایانه بود. در همان دهه استالمن لایسنس GNU General Public License (GPL) را ساخت و تمام سیستم‌عامل گنو تحت این لایسنس منتشر شد. امروزه، GPL امکان اشتراک گذاری و تغییر تمامی نسخه های برنامه را فراهم می کند و تضمین می کند که برای همه کاربران در دسترس باقی می مانند.دیگر سازمان های منبع باز مهم عبارتند از Open Source Initiative (OSI) که در سال 1998 تأسیس شد، اصطلاح منبع باز را در مخالفت با جنبش نرم‌افزار آزاد ابداع کرد. در حالی که &quot;نرم‌افزار رایگان&quot; همان &quot;نرم‌افزار منبع‌باز&quot; است، OSI ترجیح داد یک مورد عملی و تجاری پسند برای نرم‌افزار منبع‌باز ایجاد کند. در نهایت، OSI شروع به تمرکز بر مجوزها کرد و &quot;لایسنس‌های تایید شده توسط OSI&quot; را منتشر کرد.روش های مختلف مشارکت در اپن سورسمشارکت اشکال مختلفی دارد، از چیزهایی که مستقیماً بر کد تأثیر می‌گذارند (مانند نوشتن و بررسی patchها) تا مواردی مانند طراحی، آزمایش و گزارش‌های باگ که به خوبی نوشته شده باشند.مشارکت در کد: نوشتن، اصلاح یا بهینه‌سازی کد. این می تواند از رفع اشکالات و افزودن ویژگی ها تا ریفکتور کد برای عملکرد بهتر باشد.مستندات: نوشتن یا بهبود داکیومنت مانند راهنمای کاربر، فایل‌های README، اسناد API و آموزش‌ها. مستندات واضح و جامع برای کاربران و توسعه دهندگان برای درک و استفاده مؤثر از نرم‌افزار بسیار مهم است.تست و گزارش: تست نرم‌افزار، شناسایی باگ ها و گزارش آنها. تضمین کیفیت به حفظ قابلیت اطمینان و ثبات نرم‌افزار کمک می کند.ترجمه‌: ترجمه رابط‌های نرم‌افزار، داکیومنت‌ها و سایر مطالب به زبان‌های مختلف. برای دسترسی پذیری بیشتر کاربران از سراسر جهان.پشتیبانی انجمن: کمک به سایر کاربران و توسعه دهندگان با پاسخ دادن به سؤالات، ارائه پشتیبانی در انجمن ها یا کانال های چت، و مشارکت در بحث های انجمن.طراحی و تجربه کاربری (UX): بهبود طراحی بصری، رابط کاربری (UI) و تجربه کاربری کلی نرم‌افزار. این شامل ایجاد مدل‌ها، طراحی آیکون‌ها و پیشنهاد بهبودهای UX است.مدیریت پروژه: کمک به وظایف مدیریت پروژه مانند الویت بندی مسائل، سازماندهی وظایف، هماهنگی انتشار و کمک به حفظ نقشه راه پروژه.ویژگی‌های GitHub و نحوه استفاده جامعه متن باز از آنهاایجاد مسائل، تقسیم آنها به وظایف، پیگیری روابط، افزودن فیلدهای سفارشی و برقراری گفتگوها. پروژه‌های بزرگ را به صورت جداول، بوردها یا نقشه‌های راه تجسم کنید و همه چیز را با کد خودکار کنید.        گیت‌هاب یک پلتفرم بسیار محبوب برای همکاری و مشارکت در پروژه‌های منبع باز است. در اینجا به طور ساده و مختصر به چند ویژگی مهم GitHub و نحوه استفاده جامعه منبع باز از آن‌ها می‌پردازیم:اکشن‌ها (Actions)‏GitHub Actions ابزاری برای خودکارسازی فرآیندهای مختلف مانند ساخت، تست و استقرار کد است. جامعه منبع باز از Actions برای اجرای خودکار تست‌ها و بررسی کیفیت کدها استفاده می‌کند. این کار به بهبود کیفیت پروژه‌ها و سرعت بخشیدن به فرآیند توسعه کمک می‌کند.ارائه درخواست (Pull Requests)‏Pull Requests به توسعه‌دهندگان اجازه می‌دهد تغییرات خود را برای بررسی و ادغام به مخزن اصلی ارسال کنند. در جامعه منبع باز، افراد ابتدا یک نسخه کپی (fork) از پروژه ایجاد می‌کنند، تغییرات خود را اعمال می‌کنند و سپس یک Pull Request ایجاد می‌کنند. مدیران پروژه این تغییرات را بررسی می‌کنند و در صورت تایید، آن‌ها را به کد اصلی اضافه می‌کنند.فورک (Fork)‏Fork به شما اجازه می‌دهد یک نسخه کپی از یک مخزن اصلی را در حساب خود ایجاد کنید. جامعه منبع باز از Fork برای اعمال تغییرات و پیشنهاد بهبودها استفاده می‌کند. این ویژگی به توسعه‌دهندگان امکان می‌دهد بدون ایجاد اختلال در مخزن اصلی، تغییرات خود را آزمایش و اعمال کنند.مسائل (Issues)‏Issues جایی است که کاربران می‌توانند مشکلات و باگ‌ها را گزارش کرده و ویژگی‌های جدید را درخواست کنند. جامعه منبع باز از Issues برای مدیریت و پیگیری مشکلات و بهبودهای پروژه استفاده می‌کند. هر کسی می‌تواند یک Issue ایجاد کند و تیم توسعه می‌تواند آن‌ها را بررسی و حل نماید.بحث‌ها (Discussions)‏Discussions فضایی برای گفتگو و تبادل نظر در مورد موضوعات مختلف مربوط به پروژه است. جامعه منبع باز از Discussions برای بحث در مورد ایده‌ها، پیشنهادات و سوالات استفاده می‌کند. این بخش به کاربران امکان می‌دهد تا با دیگران در مورد پروژه‌ها گفتگو کنند و نظرات خود را به اشتراک بگذارند.ویکی (Wiki)‏Wiki یک بخش مستندات داخلی در GitHub است که به کاربران اجازه می‌دهد اطلاعات و راهنماهای مربوط به پروژه را به صورت سازمان‌یافته نگهداری و به اشتراک بگذارند. جامعه منبع باز از Wiki برای ایجاد مستندات جامع و راهنماهای کاربردی استفاده می‌کند تا کاربران جدید بتوانند به راحتی با پروژه آشنا شوند.پروژه‌ها (Projects)‏Projects ابزاری برای مدیریت و سازمان‌دهی کارها و وظایف پروژه است. جامعه منبع باز از Projects برای ایجاد تابلوهای کانبان و ردیابی پیشرفت پروژه استفاده می‌کند. این ابزار به تیم‌ها کمک می‌کند تا وظایف مختلف را سازمان‌دهی کرده و برنامه‌ریزی بهتری داشته باشند.نحوه استفاده جامعه منبع باز از این ویژگی‌ها‏GitHub Actions: اجرای خودکار کارها، تست‌ها و بررسی کیفیت کدها برای اطمینان از سلامت پروژه و صرفه جویی در زمان.‏Pull Requests: ارائه تغییرات و بهبودها برای بررسی و ادغام در مخزن اصلی.‏Fork: ایجاد نسخه‌ کپی برای اعمال تغییرات بدون ایجاد اختلال در مخزن اصلی.‏Issues: گزارش و پیگیری مشکلات، باگ‌ها و درخواست‌ ویژگی.‏Discussions: تبادل نظر و بحث در مورد موضوعات مختلف پروژه.‏Wiki: ایجاد و نگهداری مستندات و راهنماهای پروژه.‏Projects: مدیریت و سازمان‌دهی وظایف و پیگیری پیشرفت پروژه.استفاده از این ویژگی‌های GitHub به کاربران و تیم‌ها کمک می‌کند تا به صورت موثرتر و سازمان‌یافته‌تر همکاری کنند و پروژه‌ها را بهبود دهند. این ویژگی‌ها باعث می‌شود مدیریت و پیگیری کارها آسان‌تر شده و فرآیندهای توسعه بهبود یابند. اولین مشارکت در پروژه های متن بازمشارکت در پروژه‌های متن باز می‌تواند برای تازه‌کاران ترسناک به نظر برسد، اما ابزارها و منابع زیادی وجود دارد که این فرآیند را آسان‌تر می‌کند. یکی از بهترین مکان‌ها برای شروع، پروژه First Contributions است.‏First Contributions یک پروژه متن باز است که به کاربران جدید کمک می‌کند تا اولین مشارکت خود را در GitHub انجام دهند. هدف این پروژه این است که شما را با فرآیند ایجاد یک Pull Request آشنا کند و به شما اعتماد به نفس لازم برای مشارکت در پروژه‌های دیگر را بدهد.از آنجایی که داکیومنت این پروژه به زبان فارسی نیز در دسترس است، نیازی به توضیحات بیشتر در اینجا نمی‌باشد.First Contributions لیست سایت هایی که برای شروع، پروژه های واقعی در اختیار شما قرار می دهند‏up-for-grabs.net سایتی است که پروژه هایی را که به طور فعال به کمک نیاز دارند جمع‌آوری می کند (جمع می کند و کاوش را آسان می کند). آنها به این پروژه‌ها برچسب‌هایی مانند «up-for-grabs»، «jump-in» یا «help wanted» می‌زنند.‏GoodFirstIssues.com سایتی است که آخرین مشکلات را با برچسب &quot;Good First Issue&quot; جمع‌آوری می کند، که یک ویژگی GitHub برای یافتن مشکلات آسان برای حل کردن است (ببینید چگونه ساخته شده). goodfirstissues.com به مشارکت‌کنندگانی که برای اولین بار کمک می‌کنند این امکان را می‌دهد تا مسائلی را که می‌خواهند حل کنند، بیابند و انتخاب کنند.‏GoodFirstIssue.dev موارد آسان از پروژه های منبع باز محبوب را انتخاب می کند و به شما کمک می کند اولین مشارکت خود را در منبع باز داشته باشید.‏CodeTriage به شما کمک می کند در پروژه های منبع باز مورد علاقه خود مشترک شوید و هر روز یک issue باز و جدید از آنها در ایمیل خود دریافت کنید.مشارکت در وردپرسوردپرس یک سیستم مدیریت محتوای متن باز است که به کاربران امکان می‌دهد به راحتی وب‌سایت‌ ایجاد و مدیریت کنند. یکی از نقاط قوت وردپرس، جامعه بزرگ و فعال آن است که به طور مداوم در حال بهبود و توسعه این پلتفرم هستند.مشارکت در وردپرس به دلیل بزرگی آن شاید بسیار ساده نباشد. اما هر کسی می‌تواند به راحتی یک مشکل یا باگ را گزارش دهد، یک ویژگی جدید پیشنهاد کند یا در نوشتن و ترجمه مستندات کمک کند. برای این کار می‌توانید به راهنمای مشارکت کنندگان در وردپرس مراجعه کنید.تجربه گزارش یک باگاگر تا به حال سعی کرده‌ باشید کد HTML در ویرایشگر بلوکی یا حتی ویرایشگر کلاسیک وردپرس بنویسید، احتمالاً با مشکل نمایش راستچین HTML مواجه شده‌اید.این باگ مدت‌ها وجود داشت و با نوشتن یک گزارش ساده، مشارکت‌کننده ای به این مسئله پرداخت و آن را برطرف کرد. این نشان می‌دهد که چگونه یک گزارش باگ ساده می‌تواند به بهبود تجربه کاربری همه کمک کند. تجربه شما نیز می‌تواند به همان اندازه مفید باشد. پس از مواجهه با هر گونه مشکل، به راحتی می‌توانید آن را گزارش دهید و شاید شما هم شاهد برطرف شدن آن توسط یکی از مشارکت‌کنندگان باشید.نکاتی برای نوشتن گزارش باگ مؤثرمشارکت‌کنندگان در پروژه‌های منبع باز به صورت داوطلبانه و رایگان کار می‌کنند، بنابراین همیشه به یاد داشته باشید که قدردان زحمات داوطلبانه مشارکت‌کنندگان باشید. و طلبکارانه گزارشی ننویسید، چرا که آنها چیزی به شما بدهکار نیستند. در اینجا چند نکته مهم برای نوشتن یک گزارش باگ مؤثر آورده شده است:جستجو قبل از نوشتن: قبل از ایجاد یک گزارش، مطمئن شوید که مشکل شما قبلاً گزارش نشده باشد. این کار باعث می‌شود تا از تکراری بودن گزارش‌ها جلوگیری شود.توضیح دقیق: شرح کامل و دقیق از مشکلی که با آن مواجه شده‌اید را ارائه دهید. جزئیات بیشتر به توسعه‌دهندگان کمک می‌کند تا مشکل را بهتر درک کنند.مراحل بازتولید: مراحل دقیق برای بازتولید باگ را توضیح دهید تا دیگران بتوانند به راحتی مشکل را مشاهده و بررسی کنند.محیط کاری: اطلاعاتی در مورد محیط کاری خود مانند نسخه برنامه، مرورگر و سیستم عامل را ارائه دهید. این اطلاعات می‌تواند به پیدا کردن علت مشکل کمک کند.اسکرین‌شات‌ها و ویدیوها: در صورت امکان، از مسئله اسکرین‌شات یا ویدیو تهیه کنید تا بهتر بتوانید آن را توضیح دهید.با رعایت این نکات، گزارش باگ شما موثرتر خواهد بود و احتمال برطرف شدن آن افزایش می‌یابد.اگر به هر نوعی این مطلب مفید بود یا موردی وجود داشت، حتما برایم توی نظرات بنویسید. ❤️برای زمانی که گذاشتید سپاس گذارم 🌹</description>
                <category>امیر عباس موسوی</category>
                <author>امیر عباس موسوی</author>
                <pubDate>Tue, 11 Jun 2024 11:12:35 +0330</pubDate>
            </item>
                    <item>
                <title>نکاتی برای برنامه نویسان جوان یا جونیور</title>
                <link>https://virgool.io/codenevis/%D9%86%DA%A9%D8%A7%D8%AA%DB%8C-%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%D8%A7%D9%86-%D8%AC%D9%88%D8%A7%D9%86-%DB%8C%D8%A7-%D8%AC%D9%88%D9%86%DB%8C%D9%88%D8%B1-ogmqkcz8hyf2</link>
                <description>نویسنده (ماتئوش چاریتونیوک - که واقعا اسم سختی دارد😃)، 15 سال تجربه به عنوان یک توسعه دهنده نرم‌افزار دارد، توصیه های واقع بینانه ای را برای برنامه نویسان جوان/جونیور به اشتراک می گذارد. ممکن است موارد کمی تند باشند، اما بهتر است از تخیالات خودداری کرد. در ادامه از زبان Charytoniuk بشنویدبوت کمپ برنامه نویسی ایده خوبی نیستاین کار را انجام ندهید. شما پس از سه ماه آموزش نمی توانید یک شغل دریافت کنید. چرا؟ چون در این مدت زمان نمی توانید به خوبی کدزنی را یاد بگیرید و این امری غیرممکن است.در سال‌های طلایی، در شرکتی کار می‌کردم که توسعه‌دهندگان جونیور بسیاری را از بوت‌کمپ‌ها جذب می‌کرد. سپس متوجه شدند که بیشتر آن افراد به سختی می توانند یک پروژه راه‌اندازی کنند و آنها به آرامی می توانستند یک کار ساده را انجام دهند. این کافی نیست برای اینکه بتوانید خودتان را توسعه دهنده خطاب کنید. آنها سعی کردند با گذاشتن یک برنامه نویس ارشد/senior اختصاصی که به سؤالات آنها پاسخ می دهد (نوعی یک مربی/mentor اختصاصی) آنها را بیشتر آموزش دهند. پس از یادگیری چیزی، چند نفر از فرصت استفاده کردند و کار را برای حقوق کمی بهتر، رها کردند. مدیریت راضی نبود، سپس تعدیل نیرو شروع شد.اکثر افراد در چنین موقعیتی چه کردند؟ بیشتر آنها بر حفظ شغل، بهتر &quot;فروختن خود&quot; و تعریف کردن از خود و تلاش برای تحت تاثیر قرار دادن روسای خود متمرکز بودند. هیچ کس روی یادگیری نحوه کدنویسی بهتر تمرکز نکرد. همچنین، اگر سعی کنید با صحبت های کوتاه [small talk] کسی را تحت تاثیر قرار دهید، فقط نشان می دهد که هیچ مهارتی ندارید و احساس عدم اطمینان می کنید.نتیجه؟ بوت‌کمپ‌های کدنویسی / مدارس کدنویسی به آنها پس از چند ماه آموزش وعده مشاغلی با حقوق عالی دادند که یک کلاهبرداری ساده است. سپس، اکثر مردم نتوانستند از عهده آن بر بیایند یا به روشی غیرمولد با آن کنار آمدند. اینطوری نباشید. زمان بیشتری را صرف یادگیری کنید و از دیگران انتظار نداشته باشید که دانش را به شما تحمیل کنند.هوش مصنوعی چگونه بر مشاغل تأثیر می گذارد؟زمانی که 15 سال پیش شروع کردم، ورود به بازار کار به عنوان یک junior developer با دانش بسیار کم امکان‌پذیر بود. اکنون، برای شروع یک کار، باید بهتر از ChatGPT باشید، ساده و واضح. اگر یک هوش مصنوعی بتواند همان مقدار کار را در زمان کوتاه‌تر و حدود 100 برابر ارزان‌تر انجام دهد، چرا کسی باید یک جونیور را استخدام کند؟ یعنی نقطه ورود بالاتر است. قبلاً می‌توانستید به عنوان یک جونیور شروع کنید، سپس هر چند ماه یکبار حقوق خود را افزایش دهید و به آرامی به سنیور صعود کنید.حالا، شما نمی توانید. ابتدا، شما شغلی پیدا نخواهید کرد، و اگر بخواهید، باید حداقل یک توسعه دهنده باشید، زیرا در حال رقابت با هوش مصنوعی هستید.نتیجه؟ هیچ راه خوبی برای پایین آوردن نقطه ورود وجود ندارد. به جای آن باید برنامه ها و سایر محصولات دیجیتالی خود را منتشر کنید. سخت به نظر می رسد، اما ممکن است آسان تر از یافتن شغل باشد. همچنین، برنامه / محصول دیجیتال شما ممکن است شروع به کسب درآمد کند. (به نظرتان در ایران چگونه است؟ در کامنت ها بنویسید.)مستقل باشیداگر کاری پیدا کردید، مستقل باشید. فقط چند سؤال در مورد نحوه انجام کارها در موضوع فناوری بپرسید. ممکن است مردم در ابتدا به شما بگویند که هیچ سؤال اشتباهی وجود ندارد، اما در عمل وجود دارد. شما باید بیشتر چیزها را خودتان بفهمید.چرا؟فرض کنید این شرکت یک توسعه دهنده ارشد را برای 10 هزار دلار در ماه و یک توسعه دهنده جوان را برای 2 هزار استخدام می کند. فرض کنید توسعه دهنده جونیور روزانه 2 ساعت (25% از زمان توسعه دهنده ارشد) را برای حل هر مشکلی که با آن مواجه می شود، می گیرد. در این صورت، کسب و کار 2.5 هزار دلار در ماه از زمان توسعه دهنده ارشد را از دست می دهد و همچنین باید 2 هزار دلار در ماه به توسعه دهنده جوان پرداخت کند. بنابراین کسب و کار با استخدام شما 4.5 هزار دلار در ماه ضرر می کند.فکر می کنید قرار است چه اتفاقی بیفتد؟ بله، من دیدم که مردم به خاطر این موضوع اخراج شدند. برخی از کسب‌وکارها برای ورود جونیورها آماده شده‌اند، اما آن‌ها بسیار اندک هستند.برای یادگیری یک شغل باید به یک شرکت بروید، اما در کمال تعجب بسیاری از افرادی هستند که مانند مدرسه رفتن به یک شرکت می روند و هیچ قصدی برای یادگیری چیزی فراتر از آن نشان نمی دهند.همچنین، فقط انتظار داشته باشید که دیگران چیزی به شما بیاموزند. شما باید مالک تحصیلات خود باشید. این بدان معنا نیست که مردم به شما کمک نخواهند کرد، اما آنقدر این کار را انجام ندهید که مانع کار دیگران شود.دوره های برنامه نویسی به شما کمکی نمی کند (آنطور که فکر می کنید)آن وقت چه چیزی کمک می کند؟ کد نویسی، کد نویسی زیاد. برای یک دوره دیگر هزینه ندهید - بیشتر آنها هیچ ارزشی ندارند. به من اعتماد کنید، حتی اگر احساس ناراحتی می کنید، بهترین کاری که می توانید انجام دهید این است که کاری بسازید - هر پروژه، برنامه، وب سایت. این به شما ارزش بسیار بیشتری نسبت به ماندن در ذهنیت مبتدی/یادگیری دائمی می دهد.مهارت واقعا مفید این است که یاد بگیرید چگونه از چارچوب / مستندات زبان برنامه نویسی به طور مستقیم و بدون تکیه بر دانش پردازش شده یاد بگیرید.مثلا همین الان که در حال خواندن این مطلب هستید :)این مطلب ترجمه شده https://dev.to/mcharytoniuk/to-junior-developers-2ec5 استزبان فارسی در این حوزه جهانی محدود است و شما سقف کوتاهی برای رشد کردن دارید.زبان انگلیسی برای برنامه نویسان بسیار حیاتی است. منابع برنامه نویسی تماماً به انگلیسی است و این زبان ارتباطات جهانی در صنعت فناوری است.روی یک چیز تمرکز کنیدتکنولوژی به سرعت تغییر می کند. هر ماه، چارچوب ها و کتابخانه های جدیدی در حال ظهور هستند. همیشه وسوسه تغییر تکنولوژی وجود دارد، اما شما فقط کمی از این طریق یاد خواهید گرفت. من تضمین می‌کنم که شما به‌عنوان یک توسعه‌دهنده خوب جاوااسکریپ خام [vanilla JS] ارزش بسیار بیشتری نسبت به یک توسعه‌دهنده JS که به سختی هشت فریم‌ورک محبوب را می‌شناسد، به ارمغان خواهید آورد.برای جمع‌بندیروی تولید سریع کد خوب و قابل نگهداری تمرکز کنید، مستقل بمانید و با انجام کار یاد بگیرید.این ماده همان چیزی است که بازار فعلی بیش از همه از دست داده است.</description>
                <category>امیر عباس موسوی</category>
                <author>امیر عباس موسوی</author>
                <pubDate>Wed, 20 Dec 2023 17:48:01 +0330</pubDate>
            </item>
                    <item>
                <title>تاریخچه اینترنت - از ماهواره اسپوتنیک تا وب جهان گستر</title>
                <link>https://virgool.io/PiperWeb/%DA%86%DA%AF%D9%88%D9%86%DA%AF%DB%8C-%D9%BE%DB%8C%D8%AF%D8%A7%DB%8C%D8%B4-%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D8%A7%D8%B2-%D9%85%D8%A7%D9%87%D9%88%D8%A7%D8%B1%D9%87-%D8%A7%D8%B3%D9%BE%D9%88%D8%AA%D9%86%DB%8C%DA%A9-%D8%AA%D8%A7-%D9%88%D8%A8-%D8%AC%D9%87%D8%A7%D9%86-%DA%AF%D8%B3%D8%AA%D8%B1-l1cw25ytxyvo</link>
                <description>چه کسی اینترنت را اختراع کرد؟همانطور که ممکن است برای یک فناوری بسیار گسترده و همیشه در حال تغییر انتظار داشته باشید، غیرممکن است که اختراع اینترنت را به یک شخص اختصاص داد. اینترنت کار ده ها دانشمند، برنامه نویس و مهندس پیشگام بود که هر کدام ویژگی ها و فناوری های جدیدی را توسعه دادند که در نهایت با هم ادغام شدند و به «بزرگراه اطلاعاتی» ای تبدیل شدند که امروزه می شناسیم.مدت‌ها قبل از اینکه فناوری برای ساخت اینترنت وجود داشته باشد، بسیاری از دانشمندان وجود شبکه‌های اطلاعاتی در سراسر جهان را پیش‌بینی کرده بودند. نیکولا تسلا در اوایل دهه 1900 با ایده &quot;سیستم بی سیم جهانی&quot; بازی کرد و متفکران رویایی مانند پل اُتلِت و وانوار بوش در دهه های 1930 و 1940 سیستم های ذخیره‌سازی مکانیزه و قابل جستجو کتاب و رسانه را در نظر گرفتند.اسپوتنیک و ترس عقب ماندندر 4 اکتبر 1957، اتحاد جماهیر شوروی اولین ماهواره دست ساز جهان را به مدار زمین فرستاد. این ماهواره که به نام اسپوتنیک شناخته می شود، کار زیادی انجام نداد: در حین چرخش دور زمین، صداها و بلیپ بلوپ ها را از فرستنده های رادیویی خود پخش می کرد. با این حال، برای بسیاری از آمریکایی‌ها، اسپوتنیک که به اندازه یک توپ ساحلی بود دلیلی بر چیزی نگران‌کننده بود: در حالی که باهوش‌ترین دانشمندان و مهندسان در ایالات متحده در حال طراحی ماشین‌های بزرگ‌تر و تلویزیون‌های بهتر بودند، به نظر می‌رسید که شوروی‌ها بر روی چیزهای کمتر بیهوده تمرکز کرده بودند.پس از راه‌اندازی اسپوتنیک، بسیاری از آمریکایی ها به طور جدی تری در مورد علم و فناوری فکر کردند. مدارس دروسی مانند شیمی، فیزیک و حساب دیفرانسیل و انتگرال را اضافه کردند. شرکت ها کمک های مالی دولتی گرفتند و آنها را در تحقیق و توسعه علمی سرمایه گذاری کردند. و دولت فدرال خود آژانس‌های جدیدی مانند اداره ملی هوانوردی و فضایی (ناسا) و آژانس پروژه‌های تحقیقاتی پیشرفته وزارت دفاع (آرپا) را برای توسعه فناوری‌های عصر فضا مانند موشک، سلاح و رایانه تشکیل داد.تولد شبکه آرپا (ARPAnet)دانشمندان و کارشناسان نظامی آمریکا به ویژه نگران این بودند که در صورت حمله شوروی به سیستم تلفن کشور چه اتفاقی می افتد. آنها می ترسیدند که فقط یک موشک می تواند کل شبکه خطوط و سیم هایی را که ارتباط کارآمد از راه دور را ممکن می کند، نابود کند.در سال 1962، دانشمندی از M.I.T و ARPA به نام جی.سی.آر. لیکلایدر راه حلی را برای این مشکل پیشنهاد کرد: یک «شبکه کهکشانی» از رایانه هایی که می توانستند با یکدیگر صحبت کنند. در سال 1965، یک دانشمند دیگر از ام.آی.تی. راهی برای ارسال اطلاعات از یک کامپیوتر به کامپیوتر دیگر ابداع کرد که آن را &quot;سوئیچینگ بسته&quot; نامید. سوئیچینگ بسته، داده ها را قبل از ارسال به مقصد، به بلوک ها یا بسته ها تجزیه می کند. به این ترتیب، هر بسته می تواند مسیر خود را از مکانی به مکان دیگر طی کند. بدون سوئیچینگ بسته، شبکه کامپیوتر دولت(که اکنون به نام ARPAnet شناخته می شود) به اندازه سیستم تلفن در برابر حملات دشمن آسیب پذیر بود.رابرت تیلور در واشینگتن دی سی سه رایانه در دفتر کارش داشت که هر یک به یکی از پروژه‌های متعدد ARPA در ماساچوست، لس آنجلس و منلوپارک وصل بود. تیلور از اینکه نمی‌توانست از طریق یک رایانه با هر سه پروژه ارتباط داشته باشد و از اینکه سه پروژه امکان ارتباط مستقیم با هم و درمیان گذاشتن اطلاعات با یکدیگر را نداشتند، خسته شده بود. راه حل تیلور برای این مسئله، که بعدها اولین شبکه رایانه‌ها شد، ARPAnet نام داشت و اولین مأموریت خود را در شب 29 اکتبر 1969 به نتیجه رساند.   اولین پیام &quot;LOGIN&quot; در آن شب، آرپا اولین پیام خود را رساند: ارتباط &quot;گره به گره&quot; از یک کامپیوتر به کامپیوتر دیگر. (اولین کامپیوتر در یک آزمایشگاه تحقیقاتی در دانشگاه کالیفرنیا و دومی در استنفورد قرار داشت؛ هر کدام به اندازه یک خانه کوچک بود.)پیام، &quot;LOGIN&quot; ، کوتاه و ساده بود، اما به هر حال شبکه نوپای آرپا را از کار انداخت: رایانه استنفورد فقط دو حرف اول را دریافت کرد.شبکه رشد می‌کنددر پایان سال 1969، تنها چهار کامپیوتر به ARPAnet متصل شدند، اما شبکه در طول دهه 1970 به طور پیوسته رشد کرد. در سال 1971، دانشگاه هاوایی را اضافه کرد و دو سال بعد شبکه‌هایی را در کالج دانشگاه لندن و تأسیسات رادار سلطنتی در نروژ اضافه کرد. با افزایش تعداد شبکه‌های کامپیوتری سوئیچ بسته، ادغام آن‌ها در یک «اینترنت» در سراسر جهان دشوارتر شد.در پایان دهه 70، یک دانشمند کامپیوتر به نام وینتون سرف شروع به حل این مشکل با ایجاد راهی برای همه رایانه‌های موجود در تمام شبکه‌های کوچک دنیا برای برقراری ارتباط با یکدیگر کرد. او اختراع خود را «پروتکل کنترل انتقال» یا TCP نامید. (بعداً، او یک پروتکل اضافی به نام &quot;پروتکل اینترنت&quot; اضافه کرد. مخفف ما امروز برای اشاره به آنها TCP/IP است.) یکی از نویسندگان پروتکل سرف را چنین توصیف می کند:«&quot;دست دادنی&quot; که کامپیوترهای دور و متفاوت را در فضای مجازی به یکدیگر معرفی می کند»وب جهان‌گستر (WWW)در سال 1991 اینترنت دوباره تغییر کرد. در آن سال، یک برنامه نویس کامپیوتر در سوئیس به نام تیم برنرز لی، وب جهانی را معرفی کرد: اینترنت که صرفاً راهی برای ارسال فایل ها از یک مکان به مکان دیگر نبود، بلکه خود یک تار از اطلاعاتی بود که هر کسی در اینترنت می توانست آن را بدست بیاورد. برنرز لی اینترنت را که امروزه می شناسیم ایجاد کرد.وب به محبوبیت اینترنت در میان مردم کمک کرد و به عنوان یک گام مهم در توسعه گنجینه وسیع اطلاعاتی که اکنون اکثر ما به صورت روزانه به آن دسترسی داریم، عمل کرد.اينترنت چگونه متصل است؟اينترنت در حال حاضر مهم‌ترین راه ارتباطی در سراسر جهان محسوب می‌شود. در اينجا سوالی كه پيش می‌آيد اين است كه اينترنت دقيقا چگونه همه را به هم متصل می‌کند؟ اين كار از سال ١٨٥٤ برای كابل‌های تلگراف مسبوق به سابقه است. يک كار مهندسی ساده با يك فيبر نوری پيچيده شده. تا سال ٢٠١٧ چيزی حدود ٤٢٠ كابل به طول ۱٫۱ میلیون کیلومتر در زير زمين و دریا‌ها كشيده شده. اين كابل ها با كشتی‌ها جابه جا شده و در اعماق اقيانوس‌ها جای می‌گيرند.پراکندگی کابلها ی ا ینترنت در سطح کره زمی چه كسی صاحب اينترنت است؟بهتر است بگوييم صاحبين اينترنت همه كس و هيچ كس هستند. اينترنت اساسا متعلق به كسی نيست اما كشورها می‌توانند دسترسی مردم را نسبت به آن محدود سازند.در سال 2016 دولت آمريكا مالكيت پايگاه داده‌های مربوط به دامين ها را به مركزی به نام “ICANN” داد كه انحصارا اين وظيفه را در 20 سال گذشته به عهده داشته است. اين به اين معناست كه اين قدرت انحصارا در دست مردم قرار گرفته است. اين موسسه مركزی مستقل است كه برای انجام دادن اين وظيفه مهم هر سه ماه جلسه‌ای برای به روز نگه‌داشتن اين دامين ها انجام می‌دهد.آیکان تنها يكی از مراكزيست كه وظيفه کنترل بر درست اجرا شدن اينترنت را دارد. مراكز ديگری مانند تيم ضربت مهندسی اينترنت و غيره نيز به اين منظور در حال فعاليت‌اند.اينترنت تاکنون تاثير مهمی بر بشر حال حاضر گذاشته است. به مدد اينترنت، افراد با اشتراک گذاشتن اخبار و مسائل و مشورت گرفتن و ارتباط با ديگران موقعيت منحصر به فردی دارند. چيزی كه در گذشته و بدون اينترنت ممكن نبود.در آخر اما، باید اذعان داشت که اینترنت در آینده ما گره خورده است و ما تنها ناگزیر به کم کردن مشکلاتی که به‌وجود می‌آورد هستیم. در عصر حاضر کمتر کاری مستقل از اینترنت راه خود را به سمت پیشرفت جلو می‌برد. اینترنت بستر منحصر‌به‌فردی برای اصناف گوناگون به وجود آورده و به هر کاربر فرصت تجربه‌ای جدید برای اشتراک‌گذاری و تبادل نظر داده است و در نهایت این چیزیست که اینترنت را به مهم‌ترین اختراع بشر تبدیل می‌کند.ممنون از  همراهیتونبرخی از منابع:https://cr4.globalspec.com/blogentry/442/October-29-1969-Lo-The-First-Computer-to-Computer-Messagehttps://www.history.com/topics/inventions/invention-of-the-internethttps://www.history.com/news/who-invented-the-internethttps://techrasa.com/fa/اینترنت-چیست-و-چگونه-کار-می%e2%80%8cکند؟/https://fa.wikipedia.org/wiki/اینترنتوقتی می‌گشتم این داستان بسیار جالب رو پیدا کردم که میتونید به فارسی بخونید:پل اُتلِتپدر پدران اینترنت؛ پل اُتلِتدر اهمیت خرد اتلت همین بس که بدانیم او ۲۵ سال قبل از تولید اولین ریزتراشه، ۴۰ سال قبل از ساخته شدن نخستین کامپیوتر و ۵۰ سال قبل از خلق نخستین مرورگر اینترنتی این اندیشه را در سر داشت.</description>
                <category>امیر عباس موسوی</category>
                <author>امیر عباس موسوی</author>
                <pubDate>Mon, 24 Oct 2022 15:20:50 +0330</pubDate>
            </item>
                    <item>
                <title>اصل K.I.S.S در برنامه نویسی</title>
                <link>https://virgool.io/PiperWeb/%D8%A7%D8%B5%D9%84-kiss-%D8%AF%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-wffrcchyihxa</link>
                <description>اصل KISS مخففی به معنای Keep It Simple Stupid (آن را احمقانه ساده نگه دارید) است. من دوست ندارم از کلمه احمق استفاده کنم زیرا می‌دانم خوانندگان من احمق نیستند، به همین دلیل است که آن را به Keep It Super Simple (آن را فوق‌العاده ساده نگه دارید) ترجمه می کنم.?د KISS یک اصطلاح مهم در برنامه نویسی است زیرا در ضمیر ناخودآگاه شما قرار می دهد که هر فرآیندی که ایجاد می کنید باید تا حد امکان ساده و همچنین به همان اندازه کارآمد باشد.وقتی می گوییم «ساده»، منظورمان چیست؟ساده در این زمینه لزوماً به معنای آسان نیست، بلکه صرفاً به معنای تولید همان نتایج یا نتیجه بهتر با تلاش یا پیچیدگی کمتر است.در مفهوم KISS، ما نه فقط کمتر می خواهیم و نه بیشتر، ما می خواهیم فقط به اندازه ای که لازم است داشته باشیم.اگر در حال ساخت محصولی هستید که یک شی را از نقطه A به نقطه B منتقل می کند، این کار را تا حد امکان کارآمد انجام دهید، در حالی که سادگی در پس ذهن شماست.اصل K.I.S.S در برنامه نویسیکارهای ساده را ساده نگه دارید!در زمینه برنامه نویسی، هر زمان که بخواهیم پیچیدگی را کاهش دهیم، باید به چند نکته توجه کنیم.مطمئن شوید که نام متغیر شما به درستی متغیری را که در خود نگه می دارد توصیف می کند.مطمئن شوید که نام متد شما به هدف آن متد ترجمه می شود.در صورت لزوم، کامنت‌ها را در متد خود بنویسید.اطمینان حاصل کنید که کلاس های شما یک مسئولیت واحد دارند.تا جایی که می توانید از وضعیت ها و رفتارهای گلوبال اجتناب کنید.اینستنس‌ها، متدها یا فرآیندهای اضافی در پایگاه کد را که استفاده نمی‌شوند حذف کنید.ما باید تلاش کنیم تا پیچیدگی را کاهش دهیم و در عین حال یک سیستم کارآمد را حفظ کنیم. ام ای جکسون، دانشمند کامپیوتر بریتانیایی، در واقع نوشته است که،برنامه نویسان اغلب به یک تمایل قابل درک، اما فاجعه بار به سمت پیچیدگی و نبوغ در کار خود پناه می برند.چرا اصل KISS در برنامه نویسی مهم است؟1. یکی از چالش‌های اصلی که توسعه‌دهندگان با آن روبرو هستند، کار بر روی یک پایگاه کد موجود است. اما هنگامی که اصل KISS اعمال می شود، این موضوع را برطرف می کند.2. اصل KISS تداوم را در صورت نیاز تسهیل می کند و به افراد دیگر فضا می دهد تا فرآیند را درک کنند.3. فرآیندهای ساده‌تر، کارایی بیشتر در آزمایش خودکار را ممکن می سازد. آزمایش یک سیستم ساده آسان تر از یک سیستم پیچیده است.اصل K.I.S.S در برنامه نویسیبرای من، این اصل جعبه شیشه‌ای غیرقابل تخریبی را به ذهن می‌آورد، جایی که تمام فرآیندها به وضوح قابل مشاهده هستند، اما همچنین بسیار ایمن هستند.در یک یادداشت ساده‌تر، اگر در یک جلسه کاری هستید و با سؤالات کاری سختی مواجه شده اید که به سختی آنها را درک می کنید، اما انتظار می رود بدانید، پاسخ های پیچیده فنی بدهید! ?، در غیر این صورت همیشه ساده باشید!. ? https://vrgl.ir/R5W1y ممنون از همراهی تون ?. برای حمایت لطفا ? کنید و به اشتراک بگذارید.</description>
                <category>امیر عباس موسوی</category>
                <author>امیر عباس موسوی</author>
                <pubDate>Sun, 28 Aug 2022 21:11:17 +0430</pubDate>
            </item>
                    <item>
                <title>الگوی Return Early چیست؟ کجا و چرا باید از آن استفاده کنیم؟</title>
                <link>https://virgool.io/PiperWeb/%D8%AF%DB%8C%D8%B2%D8%A7%DB%8C%D9%86-%D9%BE%D8%AA%D8%B1%D9%86-%D8%A7%D9%84%DA%AF%D9%88%DB%8C-return-early-%DA%86%DB%8C%D8%B3%D8%AA-%DA%A9%D8%AC%D8%A7-%D9%88-%DA%86%D8%B1%D8%A7-%D8%A8%D8%A7%DB%8C%D8%AF-%D8%A7%D8%B2-%D8%A2%D9%86-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%DA%A9%D9%86%DB%8C%D9%85-mnyivn3gnfbo</link>
                <description>دیزاین پترن - الگوی return زودهنگام در برنامه نویسیوقتی در مورد برنامه نویسی یاد گرفتم، فرآیند فکری اساسی که من هنگام ایجاد یک تابع داشتم، اعتبارسنجی الزامات مربوطه تا رسیدن به نتیجه بود. https://gist.github.com/Amir-A-M/3f43cedaaa57472150e234e121f097cd چه چیزی را می توان در این رویکرد مشاهده کرد؟دنبال کردن جریان غیرخطی کد به دلیل شرط های تودرتو دشوار است.تشخیص «else» مربوط به هر «if» کار دشواری است که باعث می‌شود دیباگ کردن گیج‌کننده باشد، مخصوصاً وقتی بلوک «if» بزرگ است.برای یافتن خروجی مثبت مورد انتظار (خروجی که درصورت درست بودن شرط ها برگردانده میشود)، لازم است جریان کد را دنبال کنید و از طریق شرط های تودرتو پیمایش کنید.به خاطر این مثال، یک exception در «else» پرتاب می شود. اگر «else» اجرا را خاتمه نمی داد، بقیه کد را اجرا می کرد. این می تواند منجر به خطاهای غیر ضروری شود.همچنین شامل چند ضد الگو است:ا «else»  بدبو در نظر گرفته می شود. وقتی شرط ها پیچیده است، «else» دو برابر است، زیرا خواننده باید آن را وارونه کند. وقتی بلوک «if» بزرگ باشد، فراموش کردن شرط ها آسان است. «if» و «else» تودرتو خواننده را گیج می کند. ضد الگوی پیکان زمانی است که کد به دلیل شرط های تودرتو و حلقه ها شروع به شکل دادن به شکل فلش می کند.ا Return زود هنگامبیایید سعی کنیم کد را با یک نگرش متفاوت بازسازی کنیم.&quot;برگرداندن زودهنگام&quot; روشی برای نوشتن توابع یا متدها است به طوری که نتیجه مثبت مورد انتظار در انتهای تابع برگردانده می شود و بقیه کد در صورت برآورده نشدن شرایط، اجرا را (با برگرداندن یا پرتاب یک استثنا) خاتمه می دهد.این با برعکس کردن شروط «if» انجام می شود، انجام اعتبار سنجی لازم، و برگرداندن یا پرتاب یک استثنای مناسب، اتمام اجرای تابع. https://gist.github.com/Amir-A-M/91109840df401e8556605fb12941163e چند نکته در اینجا قابل مشاهده است:کد فقط یک سطح تورفتگی دارد. خواندن آن به صورت خطی امکان‌پذیر است.خروجی مثبت مورد انتظار به سرعت در پایان تابع قابل یافتن است.با استفاده از این فرآیند فکری، تمرکز بیشتری بر روی یافتن خطاها در ابتدا و بعدا امکان پیاده‌سازی ایمن منطق تجاری وجود دارد که از اشکالات غیر ضروری جلوگیری می کند.نگرش شکست سریع مورد استفاده شبیه به توسعه تست محور است که تست کد را آسان‌تر می‌کند.این تابع بلافاصله در صورت بروز خطا به پایان می رسد و از احتمال اجرای کدهای بیشتر بدون قصد جلوگیری می شود.الگوهای طراحیهنگام استفاده از نگرش «برگرداندن زودهنگام»، الگوهای طراحی بعدی دنبال می‌شوند.شکست سریع  —  Fail Fastجیم شور و مارتین فاولر مفهوم Fail Fast را در سال 2004 ایجاد کردند. این مفهوم اساس قانون «return زودهنگام» است. با شکست سریع، به دلیل تمرکز اولیه در یافتن شرایطی که اجرای کد می تواند پایان یابد، کد قوی تر است. با این رویکرد، یافتن و رفع اشکالات آسان تر است.بند محافظ —  Guard Clauseیک بند محافظ صرفاً یک چک است («if» معکوس) که فوراً از تابع خارج می‌شود، چه با عبارت «return» یا یک استثنا. با استفاده از بندهای محافظ، موارد خطای احتمالی شناسایی می‌شوند و با بازگرداندن یا پرتاب استثنای مناسب، رسیدگی مربوطه انجام می‌شود.مسیر شاد  —  Happy Pathالگوی مسیر شاد — دیزاین پترن - الگوی return زودهنگام در برنامه نویسیمسیر شاد برای یک تابع جایی است که هیچ یک از قوانین اعتبارسنجی خطایی ایجاد نمی کند. بنابراین اجازه می دهد تا اجرا با موفقیت تا انتها ادامه یابد و پاسخ (response) مثبت ایجاد شود.با استفاده از رویکرد «بازگشت زودهنگام»، کد به صورت خطی خوانده می شود، بدین ترتیب مسیر شادی را آشکار می کند. با استفاده از این الگو، نیازی به از دست دادن زمان برای دنبال کردن یک جریان کد برای رسیدن به هدف نیست.الگوی جسور  —  Bouncer Patternالگوی جست و خیز روشی برای تأیید شرایط خاص با برگرداندن یا پرتاب یک استثنا است. این به ویژه زمانی مفید است که کد اعتبارسنجی پیچیده باشد و بتوان در سناریوهای متعدد از آن استفاده کرد. این الگوی &quot;بازگشت زودهنگام&quot; را تکمیل می کند. https://gist.github.com/Amir-A-M/24e37ac9c88f743312ee1c19033678db معایبدر حالی که رویکرد &quot;بازگشت زودهنگام&quot; دارای نکات مثبتی است، همچنین دارای برخی انتقادات منصفانه است که اکنون آشکار خواهد شد.لاگ کردن و اشکال زدایی  —  Logging and Debuggingیک استدلال این است که یک «return» ساده‌تر اشکال‌زدایی می‌شود، زیرا تنها به اضافه کردن یک نقطه شکست برای گرفتن همه خروجی‌ها از یک تابع نیاز است. و لاگ کردن آن آسان تر است زیرا فقط در انتها به یک گزارش نیاز دارد. این لزوما درست نیست.با استفاده از رویکرد &quot;بازگشت زودهنگام&quot; می توان استثناها را به درستی پرتاب کرد. اگر دلیل شکست کد واضح باشد، اشکال زدایی بسیار آسان تر است. همچنین می‌توان قبل از هر خاتمه یک لاگ اضافه کرد تا توسعه‌دهنده را بهتر مطلع کند. اگر لازم باشد همه خروجی‌ها لاگ شوند، در صورت وجود چند عبارت بازگشتی، می‌توان پس از دریافت مقدار از تابع مربوطه، لاگ کرد.چندین نقطه خروج بر خوانایی تأثیر می گذارد  —  Multiple exit points affect readability200 خط کد تابع با عبارات «بازگشت» مختلف که به‌طور تصادفی روی آن پاشیده شده‌اند، سبک برنامه‌نویسی خوبی نیست و قابل خواندن نیست. اما درک چنین عملکردی بدون آن بازگشت ها نیز آسان نخواهد بود. الگوی جسور و الگوی استخراج متد باید برای حفظ اندازه تابع در محدوده معقول استفاده شود.سبک کد ذهنی است  —  Code style is subjectiveیک دیزاین پترن یک راه حل تکرارپذیر کلی برای یک مشکل رایج در طراحی نرم‌افزار است. اینها قراردادهایی هستند که توسعه دهندگان در طول زمان پیدا کردند که به آسانی کار آنها کمک می کند و باید در موارد مناسب استفاده شوند. با این حال، برخی از جنبه های برنامه نویسی ذهنی هستند. بیایید به مثال زیر نگاهی بیندازیم: https://gist.github.com/Amir-A-M/f17ab301bc1935f0e253834fcb0dfb81 در رویکرد اول پیچیدگی بیشتری در مقایسه با رویکرد دوم وجود دارد. با این حال، کد با استفاده از طرز فکر &quot;بازگشت زودهنگام&quot; برای بهبودهای آینده در توابع آماده شده است. با این حال، این طرز تفکر قوانین KISS و YAGNI را نقض می کند. (Keep It Simple Stupid and You Aren’t Gonna Need It) آن را ساده نگه دارید و شما به آن نیاز نخواهید داشت. در صورت نیاز در آینده، تغییر کد به الگوی &quot;بازگشت زودهنگام&quot; آسان است.روش دوم بسیار ساده‌تر و قابل خواندن است. این مستقیماً به هدف می‌پردازد و این انتخاب شخصی من در این مورد خواهد بود.با این وجود، قابل درک است که چرا کسی از رویکرد اول استفاده می کند. در این مورد، بحث بر سر «روش صحیح» انجام آن، از دست دادن زمان مهم است.نتیجهالگوی &quot;بازگشت زودهنگام&quot; یک راه عالی برای جلوگیری از پیچیده شدن توابع است. با این حال، این بدان معنا نیست که می توان آن را هر بار اعمال کرد. گاهی اوقات، در طول منطق پیچیده کسب و کار، وجود برخی «if»های تودرتو اجتناب ناپذیر است، حتی با گزینه استخراج کد به توابع دیگر.رویکرد بهتر این است که با تیم مربوطه هماهنگ شوید، دانش را با آنها به اشتراک بگذارید، تصمیم بگیرید که در هر مورد از کدام الگوها باید استفاده کرد و اطمینان حاصل کنید که همه افراد هنگام برنامه نویسی ذهنیت مشابهی دارند.توسعه دهندگان زمان بیشتری را صرف خواندن کد می کنند تا نوشتن آن، بنابراین ارائه یک تجربه مثبت برای همه ضروری است. https://vrgl.ir/3qP2Y ممنون از همراهی تون ?. برای حمایت لطفا ? کنید و به اشتراک بگذارید.پست بعدی درباره چه الگویی/قانونی باشه؟KISS Keep It Simple Stupid  —  آن را ساده نگه داریدYAGNI You Aren’t Gonna Need It  —  به آن نیاز نخواهید داشت</description>
                <category>امیر عباس موسوی</category>
                <author>امیر عباس موسوی</author>
                <pubDate>Mon, 22 Aug 2022 15:45:32 +0430</pubDate>
            </item>
                    <item>
                <title>تاثیر بلند مدت تغذیه ناسالم در دوران کودکی - تحقیق علمی</title>
                <link>https://virgool.io/PiperWeb/%D8%AA%D8%A7%D8%AB%DB%8C%D8%B1-%D8%A8%D9%84%D9%86%D8%AF-%D9%85%D8%AF%D8%AA-%D8%AA%D8%BA%D8%B0%DB%8C%D9%87-%D9%86%D8%A7%D8%B3%D8%A7%D9%84%D9%85-%D8%AF%D8%B1-%D8%AF%D9%88%D8%B1%D8%A7%D9%86-%DA%A9%D9%88%D8%AF%DA%A9%DB%8C-%D8%AA%D8%AD%D9%82%DB%8C%D9%82-%D8%B9%D9%84%D9%85%DB%8C-ojw5xvnl0xxk</link>
                <description>نمونه ای از غذای غربییک مطالعه جدید روی موش ها نشان می دهد که خوردن بیش از حد چربی و قند در دوران کودکی می تواند میکروبیوم شما را برای زندگی تغییر دهد، حتی اگر بعداً یاد بگیرید که سالم تر غذا بخورید.مطالعه محققان دانشگاه UC Riverside یکی از اولین مطالعاتی است که کاهش قابل توجهی را در تعداد کل و تنوع باکتری های روده در موش های بالغی که در جوانی از رژیم غذایی ناسالم تغذیه می کردند، نشان داد.تئودور گارلند، فیزیولوژیست تکاملی، توضیح داد: «ما روی موش‌ها مطالعه کردیم، اما تأثیری که مشاهده کردیم معادل این است که بچه‌هایی که رژیم غذایی غربی دارند، چربی و قند بالا و میکروبیوم روده آنها تا شش سال پس از بلوغ هنوز تحت تأثیر قرار می گیرد».مقاله ای که این مطالعه را توصیف می کند اخیراً در  Journal of Experimental Biology منتشر شده است.میکروبیوم چیه؟میکروبیوم به تمام باکتری ها و همچنین قارچ ها، انگل ها و ویروس هایی اطلاق می شود که روی و درون انسان یا حیوان زندگی می کنند. بیشتر این میکروارگانیسم ها در روده ها یافت می شوند و بیشتر آنها مفید هستند، سیستم ایمنی را تحریک می کنند، غذا را تجزیه می کنند و به سنتز ویتامین های کلیدی کمک می کنند.در بدن سالم تعادل موجودات بیماری زا و مفید وجود دارد. با این حال، اگر تعادل، از طریق استفاده از آنتی بیوتیک ها، بیماری یا رژیم غذایی ناسالم به هم بخورد، بدن می تواند مستعد ابتلا به بیماری شود.روش انجام مطالعهنحوه گروه بندی و روش انجام مطالعهدر این مطالعه، تیم گارلند پس از تقسیم موش‌های خود به چهار گروه، به دنبال تأثیرات بر میکروبیوم بودند: نیمی از آنها با رژیم غذایی استاندارد، «سالم»، نیمی با رژیم غذایی غیر سالم «غربی»، نیمی با دسترسی به چرخ دویدن برای ورزش، و نیمی بدون دسترسی.پس از سه هفته صرف این رژیم‌ها، همه موش‌ها به رژیم غذایی استاندارد و بدون ورزش بازگردانده شدند، که به طور معمول موش‌ها به این صورت در آزمایشگاه نگهداری می شوند. در 14 هفته، تیم تنوع و فراوانی باکتری ها را در حیوانات بررسی کرد.آنها دریافتند که مقدار باکتری هایی مانند موریباکلوم روده در گروه رژیم غذایی غربی به میزان قابل توجهی کاهش یافته است. این نوع باکتری در سوخت‌وساز کربوهیدرات نقش دارد.تجزیه و تحلیل همچنین نشان داد که باکتری های روده به میزان ورزش موش ها حساس هستند.باکتری موریباکولوم در موش‌هایی که از رژیم غذایی استاندارد تغذیه می‌کردند و به چرخ دونده دسترسی داشتند، افزایش یافت و در موش‌هایی که از رژیم غذایی پرچرب استفاده می‌کردند، چه ورزش کردند یا نه، کاهش یافت.محققان بر این باورند که این گونه از باکتری ها و خانواده باکتری هایی که به آن تعلق دارند، ممکن است بر میزان انرژی در دسترس میزبان خود تأثیر بگذارند. تحقیقات در مورد عملکردهای دیگری که این نوع باکتری ممکن است داشته باشد ادامه دارد.یکی دیگر از اثرات قابل توجه افزایش گونه های باکتری بسیار مشابه بود که پس از پنج هفته تمرین روی تردمیل در مطالعه سایر محققان غنی شد. نشان می دهد که ورزش به تنهایی ممکن است حضور آن را افزایش دهد.به طور کلی، محققان دانشگاه کالیفورنیا دریافتند که رژیم غذایی غربی در اوایل زندگی اثرات طولانی‌تری بر میکروبیوم نسبت به ورزش در اوایل زندگی دارد.تیم گارلند می‌خواهد این آزمایش را تکرار کند و در مقاطع زمانی بیشتری نمونه برداری کند تا بهتر بفهمد اولین بار چه زمانی تغییرات در میکروبیوم‌های موش ظاهر می‌شود و اینکه آیا این تغییرات حتی در مراحل بعدی زندگی نیز گسترش می‌یابد.با این حال، صرف نظر از اینکه این اثرات برای اولین بار چه زمانی ظاهر می شوند، محققان می گویند که این قابل توجه است که آنها مدت ها پس از تغییر رژیم غذایی مشاهده شده و سپس دوباره آن را تغییر داده اند.گارلند گفت، غذای آماده در اصل این است: &quot;شما نه تنها چیزی هستید که می خورید، بلکه همان چیزی هستید که در کودکی می خوردید!&quot;ممنون از همراهی شما در خواندن این مقاله جالب. برای حمایت لطفا ? کنید و به اشتراک بگذارید.لینک هاstudy finds childhood diet has lifelong impact Early life effects of juvenile Western diet andhttps://journals.plos.org/plosone/article?id=10.1371/journal.pone.0227886</description>
                <category>امیر عباس موسوی</category>
                <author>امیر عباس موسوی</author>
                <pubDate>Sat, 06 Aug 2022 15:14:00 +0430</pubDate>
            </item>
                    <item>
                <title>همه چیز درباره کامنت خوب</title>
                <link>https://virgool.io/PiperWeb/%DB%8C%DA%A9-%DA%A9%D8%A7%D9%85%D9%86%D8%AA-%DA%A9%D9%88%D8%AA%D8%A7%D9%87-%D8%AF%D8%B1-%D9%85%D9%88%D8%B1%D8%AF-%DA%A9%D8%A7%D9%85%D9%86%D8%AA-%D9%87%D8%A7-%D8%AF%D8%B1-%DA%A9%D8%AF-auyhwzbg3xk6</link>
                <description>نظر کوتاه من در مورد اینکه چرا باید از استفاده از کامنت ها در کد خود جلوگیری کنید (مگر در موارد خاص)خلاصهلطفاً، قبل از افزودن کامنت به کد خود دو بار فکر کنید. احتمالاً، مورد نیاز نیست و فقط افرادی رو گیج می‌کند که بعداً کد شما را می‌خوانند. به جای آن یک کد تمیز و قابل خواندن بنویسید. پیشاپیش متشکرم!مقدمهمن مدت زیادی به این مقاله فکر می‌کردم. از آنجایی که من اغلب به توسعه‌دهندگان جوان کمک می‌کنم، می‌بینم که چه تعداد از آنها عاشق اضافه کردن کامنت به کدشان هستند. و هنوز اساتیدی را از دوران تحصیلم به یاد دارم که سعی کردند ما را متقاعد کنند که کد خوب باید کامنت شده باشد تا برای توسعه دهندگان دیگر قابل خواندن باشد. با این حال، آخرین کاهی که کمر شتر را شکست، توییتی بود که در زیر می‌بینید.[متن در تصویر: این یک علامت توقف است] منبع: Programmers Memes Twitter این عکس بهترین نظر در مورد افزودن کامنت به کد است. کاش می توانستم بگویم اغراق آمیز است. اما چه تفاوتی بین عکس بالا و کامنت تابع زیر است؟// function to count the perimeter of the triangle
// input: 3 numbers, output: number
const countTrianglePertimeter = (a: number, b: number, c: number)
: number =&gt; {
    return a + b + c;
}متأسفانه، ما هنوز هم می‌توانیم تکه های زیادی از این قبیل را در کد پیدا کنیم. و من شدیداً شما را تشویق می کنم که از آنها دوری کنید! چرا؟ دلایل زیادی برای توقف اضافه کردن کامنت‌های بیهوده به کد شما وجود دارد.دلایلی برای توقف اضافه کردن کامنت ها به کدتانکامنت ها فقط زائده‌هایی در کد هستنداغلب کامنت‌ها هیچ اطلاعات اضافی در اختیار کاربر قرار نمی دهند. آنها دقیقاً همان چیزهایی را توصیف می کنند که کد انجام می دهد. پس چرا اطلاعات را برای خواننده تکرار کنیم؟ به جای آن از نام های معنی دار استفاده کنید. در صورت نیاز منطق را به متدهای جداگانه استخراج کنید. مقادیر const را به متغیرهای const با نام خوب استخراج کنید. به عنوان مثال ساده کردن کد. اگر نیاز داشت استفاده از return زود هنگام (Return Early Pattern) و دوری از تورفتگی چند گانه. خواندن کدهای خوب نوشته شده توسط انگلیسی زبانان غیر بومی آسان تر از توضیحات طولانی به زبان ساده است!کامنت ها اغلب قدیمی هستندکد در پروژه های زنده تغییر می کند. همیشه برخی رفع اشکال یا عملکردهای جدید وجود دارد که نه تنها نیاز به افزودن کد، بلکه ویرایش کد موجود نیز دارند. و تا زمانی که کد همیشه به روز باشد، به ندرت کسی در مورد به روز کردن کامنت‌ها چیزی به یاد می آورد. بنابراین، کامنت‌ها اغلب قدیمی هستند و منطق قدیمی کد را ارائه می دهند. به یاد داشته باشید، کامنت‌ها می توانند دروغ بگویند — کد هرگز این کار را نمی کند!کامنت ها می توانند گمراه کننده باشدبرنامه نویسان اغلب می خواهند کامنت‌ها را کوتاه نگه دارند و پس از نوشتن کد آنها را بنویسند. به همین دلیل، متن می تواند شامل برخی از میانبرها و ساده‌سازی های ذهنی باشد. آنچه بین کلمات پنهان است ممکن است برای نویسنده آشکار باشد، اما برای خواننده نه. استفاده از کلمه اشتباه ممکن است کل معنی را کاملاً متفاوت کند. و هنگامی که در کد اشتباه می کنید — تست ها آن را تشخیص می دهند. متأسفانه، هیچ راه خودکاری برای آزمایش اینکه آیا نظر شما گمراه کننده نیست وجود ندارد. بنابراین فقط از آن بگذرید — تا زمانی که ممکن است.کامنت ها سورس کد را طولانی تر می کنندکاملاً واضح است — هر خط کامنت فایل کد شما را طولانی تر می کند. و مغز ما دیوارهای طولانی متن را دوست ندارد. باز کردن یک فایل با کامنت‌های زیاد، یافتن خطوط واقعاً مهم و دیدن همه کدهای روی صفحه را دشوار می کند. وقتی نمی‌توانید همه متد‌ها را در یک صفحه ببینید، اشتباه کردن یا ایجاد ناهماهنگی آسان‌تر است. همچنین، رایانه ها باید آن را مدیریت کنند، بنابراین ممکن است بر عملکرد تأثیر بگذارد. برای سال‌ها، طرفداران رویکرد مینیمالیسم می‌گویند که چیزهای کمتر به معنای هرج و مرج کمتر است. و من با آنها موافقم — حداقل در مورد برنامه نویسی.همه از حذف یا خارج کردن کد از کامنت می ترسندگاهی محض احتیاط ما کد را کامنت می‌کنیم تا در آینده مفید واقع شود. اما بیایید صادق باشیم — هیچ چیز ترسناک‌تر از کدی وجود ندارد که کامنت شده است و هیچ کس دلیل آن را نمی داند. آیا می توانیم فقط آن را حذف کنیم؟ چرا کار نمی کند؟ اگر آن را از کامنت خارج کنیم چه اتفاقی می افتد؟ ناتمام یا «تقریباً کار می کند» گذاشتن اسنیپت‌هایی که در کد کامنت شده‌اند می‌توانست سال‌ها پیش مفید باشد. اما اکنون ما سیستم‌های عالی نسخه بندی کد مانند git داریم — حذف کد با پیام کامیت معنی‌دار و توصیفی (و در نهایت اضافه کردن یک برچسب برای آسان‌تر یافتن آن در آینده) بسیار راحت‌تر، واضح‌تر و آسان‌تر برای بازگرداندن آن است. همچنین، تقریباً هیچ کس شروع به پیاده‌سازی یک ویژگی جدید با جستجوی کدهای کامنت شده در پایگاه کد نمی کند. بنابراین احتمال اینکه شخصی از کدهای غیرضروری فعلی شما استفاده کند بسیار کم است.موارد خاصی که کامنت ها ممکن است مفید باشنددر قسمت قبل دلایل زیادی برای حذف کامنت‌ها از کد شما توضیح دادم. با این حال، موارد خاصی وجود دارد که کامنت‌ها می توانند مفید باشند — حتی در کد پروداکشن! آنها در زیر توضیح داده شده اند — اما به یاد داشته باشید: من آنها را تصادفی موارد خاص نمی نامم :)(عبارات باقاعده) RegEx هاضرب المثلی قدیمی وجود دارد که می گوید: &quot;اگر مشکلی دارید و برای حل آن از regex استفاده می کنید، پس دو مشکل دارید&quot;. عبارات باقاعده عالی و مفید هستند، اما متأسفانه چندان خواندنی نیستند. به همین دلیل است که اضافه کردن کامنت‌هایی که توضیح می‌دهند یک regex چه چیزی را بررسی می‌کند بدترین ایده نیست. منطق تجاری خاصگاهی اوقات الزامات کسب و کار مشکل هستند و حسی نیستند. از نظر تئوری، منطق باید در برخی از اسناد فنی پوشش داده شود، اما بیایید صادق باشیم — هیچ کس دوست ندارد هزاران سند را در مواقعی که نیاز به اصلاح یک چیز کوچک داشته باشد، بخواند. به همین دلیل است که افزودن یک کامنت کوتاه برای توضیح دلایل برخی تصمیمات غیر واضح ممکن است خوب باشد. فقط بررسی کنید که آیا این یک منطق گیج کننده است که نمی تواند به خوبی در کد توضیح داده شود.کامنت های TODOفرآیند توسعه به مراحل تقسیم می شود. و اشکالی ندارد که همه تغییرات را در یک commit لحاظ نکنید، بلکه آنها را برای موارد بعدی رها کنید. وقتی پروژه شما کوچک است و از هیچ ابزاری برای ردیابی وظایف استفاده نمی کنید (مثل Jira یا Github Issues)، داشتن کامنت‌های TODO که می گوید چه چیزی باید تغییر کند و کجا، می تواند مفید باشد. به خصوص به این دلیل که ویرایشگرهای کد مکانیسم های خاصی برای پشتیبانی از آنها دارند. مشکل اینجاست که این راه حل مقیاس پذیر نیست و می تواند برای پروژه های بزرگ ناکارآمد باشد.نکاتی در مورد کامنت ها و اجتناب از آنهابرخی نکات ممکن است به شما در تصمیم گیری در مورد نیاز به کامنت‌ها یا نحوه استفاده صحیح از آنها کمک کند. اول از همه، قبل از نوشتن کامنت، اگر می توانید همان محتوا را در کد ارائه دهید. چرا برای بیان قصد خود به متن نیاز دارید؟ چرا کد نمی تواند خودش صحبت کند؟ اغلب اوقات نیاز به نوشتن کامنت فقط نشانه ای از نیاز به ریفکتور  است. همچنین، اگر مجبور به نوشتن کامنت هستید (به دلیل یکی از دلایلی که در قسمت قبل توضیح داده شد)، کامنت خود را تا حد امکان نزدیک به کدی که آن را توصیف می‌کند نگه دارید. اگر افکار خود را در ابتدای فایل اضافه کنید، شخصی که کد را می خواند احتمالا متوجه آن نمی‌شود یا در حین پیاده‌سازی برخی تغییرات آن را به روز نمی کند. و صحبت در مورد تغییرات — آنها را در سورس کد ردیابی نکنید. Git قطعا مکان بهتری برای ردیابی تغییرات است و نویسندگانشان. همچنین،  git (یا هر سیستم کنترل ورژن دیگری) دوست شماست اگر می‌خواهید برخی از قابلیت‌ها را حذف کنید اما فرصتی برای برگرداندن آن داشته باشید. در سورس کد کامنت نکنید — به جای آن یک commit با یک نام معنادار ایجاد کنید و برنامه نویسان در صورت نیاز آن را در تاریخچه پیدا خواهند کرد. با تشکر از همه این نکات، کد شما برای همه تمیزتر، به روزتر و قابل خواندن تر خواهد بود.خلاصهالبته قوانین اکیدی در مورد افزودن کامنت به کد وجود ندارد. هر مورد کمی متفاوت است و نقش شما به‌عنوان یک توسعه‌دهنده این است که تعیین کنید آیا کامنت‌ها می‌توانند در مورد شما مفید باشند یا فردی را که کد شما را می‌خواند، منحرف یا گمراه کنند. من شما را تشویق می کنم قبل از اینکه کامنت جدیدی به کد خود اضافه کنید دو بار فکر کنید و مزایا و معایب آنها را در نظر بگیرید. به یاد داشته باشید: کامنت‌ها می توانند دروغ بگویند — کد هرگز این کار را نمی کند!منبعhttps://dev.to/this-is-learning/a-short-comment-on-comments-in-the-code-1i54</description>
                <category>امیر عباس موسوی</category>
                <author>امیر عباس موسوی</author>
                <pubDate>Sat, 30 Jul 2022 13:37:44 +0430</pubDate>
            </item>
            </channel>
</rss>