<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های مهدی صالحی</title>
        <link>https://virgool.io/feed/@aizdb</link>
        <description>مهدی صالحی | توسعه‌دهنده وب و اپلیکیشن 🎯
کارشناسی مهندسی کامپیوتر  
 | سفارش انجام پروژه: https://ble.ir/aizdb</description>
        <language>fa</language>
        <pubDate>2026-06-15 22:29:06</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/3549786/avatar/WVVdeE.jpg?height=120&amp;width=120</url>
            <title>مهدی صالحی</title>
            <link>https://virgool.io/@aizdb</link>
        </image>

                    <item>
                <title>مقایسه چت و پشتیبانی آنلاین و زنده لوکال و ابری برای وردپرس؛ کدام امن‌تر است؟</title>
                <link>https://virgool.io/@aizdb/chat-local-vs-abri-hjgptv5ztfxc</link>
                <description>چت و پشتیبانی آنلاین و زنده وردپرس؛ امنیت یا راحتی؟تا حالا فکر کردید اطلاعات مکالماتی که بین مشتری‌هاتون و تیم پشتیبانیتون رد و بدل می‌شه، کجا ذخیره می‌شه؟برای خیلی از کسب‌وکارهای آنلاین، این سؤال اصلاً پیش نمیاد. یه افزونه چت آنلاین نصب می‌کنن، ویجت رو فعال می‌کنن و شروع می‌کنن به پاسخگویی. اما وقتی عمیق‌تر نگاه می‌کنی، تازه می‌بینی که چه حجم از داده‌های حساس داره روی سرورهای شخص ثالث و خارج از کنترل تو ذخیره می‌شه.ماجرا از کجا شروع شد؟چند وقت پیش، یکی از دوستان که یه فروشگاه آنلاین راه‌اندازی کرده بود، با یه دغدغه جدی اومد سراغم. می‌گفت: «نگرانم که اطلاعات چت مشتری‌هام کجا ذخیره می‌شه. اگه اون سرویس یه روز تعطیل بشه چی؟ اگه هک بشه چی؟»سؤال جالبی بود. خیلی از ما وقتی ابزاری رو انتخاب می‌کنیم، فقط به امکانات ظاهری و قیمت نگاه می‌کنیم. اما پشت پرده، یه معماری نرم‌افزاری پیچیده وجود داره که تعیین می‌کنه داده‌هات در اختیار کیه و چطور محافظت می‌شه.دو معماری متفاوت برای چت آنلاینمدل ابری (مثل گفتینو)در این معماری، ویجت چتی که روی سایت شما نصب می‌شه، در واقع فقط یه پنجره ارتباطی با سرورهای سرویس‌دهنده است. تمام پیام‌ها، فایل‌ها و تاریخچه گفتگوها روی سرورهای اون سرویس ذخیره می‌شه و شما عملاً کنترلی روی اون داده‌ها ندارید. این معماری مزایایی مثل راه‌اندازی سریع و عدم نیاز به منابع سرور بالا داره، اما مهم‌ترین نقطه ضعفش از دست دادن کنترل روی داده‌هاست.مدل لوکال (مثل گفتنی)در این معماری، کل سیستم چت روی هاست خود شما اجرا می‌شه. پیام‌ها مستقیم بین کاربر و هاست شما رد و بدل می‌شه و تمام اطلاعات درون فایل‌های رمزگذاری‌شده روی حساب FTP هاست شما ذخیره می‌گرده. این یعنی شما کنترل کامل روی داده‌هاتون دارید و هیچ شخص ثالثی به اونها دسترسی نداره.مقایسه فنی؛ یه نگاه واقع‌بینانهدل ابری (گفتینو و مشابه):محل ذخیره داده‌ها: سرورهای شخص ثالث (خارج از کنترل شما)رمزگذاری داده‌ها: معمولاً در حد SSL/TLS در حین انتقالکنترل روی تاریخچه: بسیار محدود و وابسته به سیاست سرویسمدل پرداخت: اشتراک ماهانه/سالانه (هزینه جاری)نیازمندی هاست: حداقلخطر قطعی سرویس: وابسته به پایداری سرور سرویس‌دهندهامکان دسترسی شخص ثالث: بله (تیم فنی سرویس به داده‌ها دسترسی دارد)مدل لوکال (گفتنی):محل ذخیره داده‌ها: هاست اختصاصی خودتانرمزگذاری داده‌هاکنترل روی تاریخچه: کامل و مستقلمدل پرداخت: خرید یک بار (سرمایه‌گذاری بلندمدت)نیازمندی هاست: منابع نسبتاً خوب (برای اجرای لوکال)خطر قطعی سرویس: وابسته به پایداری هاست خودتانامکان دسترسی شخص ثالث: خیر (فقط خودتان به داده‌ها دسترسی دارید)نقطه قوت کلیدی مدل لوکال؛ رمزگذاری پیشرفتهیکی از نکاتی که مدل‌های لوکال رو نسبت به رقبای ابری متمایز می‌کنه، نحوه ذخیره‌سازی داده‌هاست. توی معماری لوکال، کل تاریخچه مکالمات و فایل‌های رد و بدل شده، درون فایل‌های رمزگذاری‌شده با الگوریتم‌های قوی ذخیره می‌شن. این فایل‌ها در حساب FTP هاست شما قرار می‌گیرن و با بالاترین سطح امنیت محافظت می‌شن.برای کسب‌وکارهایی که با اطلاعات حساس کاربران سروکار دارن، این سطح از امنیت یه مزیت رقابتی جدی محسوب می‌شه.امکانات کامل و رابط کاربری آشنانکته جالب در مورد گفتنی اینه که علاوه بر معماری لوکال و امن، تمام امکانات سامانه گفتینو رو هم پوشش می‌ده. از قابلیت‌های اصلی می‌شه به موارد زیر اشاره کرد:پیام‌رسانی متنی، صوتی و فایلپاسخ‌های آماده و خودکارسیستم صف انتظار و پیام آفلاینمدیریت اپراتورها با نقش‌های دسترسی مختلفمشاهده وضعیت تایپ کاربراعلان‌های صوتی و بصریشخصی‌سازی کامل ظاهر ویجتعلاوه بر اینها، ظاهر آن هم بسیار جذاب و کاربرپسند طراحی شده تا تجربه کاربری لذت‌بخشی رو برای هر دو طرف گفتگو فراهم کنه.کلام آخر؛ انتخاب با خودتونهواقعیت اینه که هیچ راه‌حل «کاملاً درست» یا «کاملاً غلطی» وجود نداره. انتخاب بین مدل ابری و لوکال به اولویت‌های شما بستگی داره:اگر راه‌اندازی سریع و دغدغه کمتر برای نگهداری براتون اولویته و نگرانی خاصی از نظر امنیت داده‌ها ندارید، مدل ابری انتخاب منطقی‌ایه.اما اگر امنیت اطلاعات و کنترل کامل روی داده‌ها براتون مهمه و ترجیح می‌دین که اطلاعات مکالمات مشتری‌هاتون جایی خارج از هاست خودتون ذخیره نشه، مدل لوکال با ذخیره‌سازی رمزگذاری‌شده قطعاً گزینه مناسب‌تری خواهد بود.در نهایت، مهم اینه که بدونید چه گزینه‌هایی روی میز دارید و بر اساس نیاز واقعی‌تون تصمیم بگیرید. آشنایی با هر دو مدل معماری، کمک می‌کنه انتخابی آگاهانه‌تر داشته باشین.</description>
                <category>مهدی صالحی</category>
                <author>مهدی صالحی</author>
                <pubDate>Fri, 12 Jun 2026 02:31:54 +0330</pubDate>
            </item>
                    <item>
                <title>برنامه‌نویسی بلدی اما پروژه نمی‌گیری؟ ۷ اشتباه مهلک که تو را از بازار کار فریلنسری حذف می‌کند</title>
                <link>https://virgool.io/@aizdb/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A8%D9%84%D8%AF%DB%8C-%D8%A7%D9%85%D8%A7-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D9%86%D9%85%DB%8C-%DA%AF%DB%8C%D8%B1%DB%8C-zydjajmlrxje</link>
                <description>برنامه‌نویسی بلدی اما پروژه نمی‌گیری؟ ۷ اشتباه مهلک که تو را از بازار کار فریلنسری حذف می‌کنداین صحنه حتماً برایت آشناست: چند سال است JavaScript می‌زنی، React و Node.js را مثل آب خوردن بلعی، شاید حتی یک رزومهٔ پر از نمونه‌کار هم داری، اما وقتی در سایت‌های فریلنسری چند پروژه می‌فرستی، یا جواب نمی‌گیری یا نهایتاً یک پروژهٔ بی‌کیفیت با بودجهٔ خجالت‌آور گیرت می‌آید.کم کم این سؤال از پشت ذهنت بیرون می‌زند: «آیا من به‌درد این کار نمی‌خورم؟»نگران نباش. جواب ساده‌تر از چیزی است که فکر می‌کنی. من خودم از ۱۵ سالگی به‌عنوان فریلنسر شروع کردم و امروز بعد از ۷۹ پروژهٔ موفق، می‌دانم که فاصلهٔ بین «بلدی کد بزنی» و «از کد زدن پول دربیاوری» دقیقاً در کجا گم می‌شود.در این مقاله، ۷ اشتباه رایج اما خردکننده را می‌گویم که برنامه‌نویسان را در بازار کار نابود می‌کند. قول می‌دهم حتی یکی از آنها را اصلاح کنی، روند پروژه‌هایت عوض می‌شود.❌ ۱. رزومه‌ای که می‌فرستی، یک فرهنگ‌لغت است، نه یک «دردکُش»وقتی در رزومه می‌نویسی «مسلط به React، Vue، PHP، Python، Docker و ...»، ذهن کارفرما کِش نمی‌آید. او یک مشکل دارد: «فروشگاه آنلاین من توی اوج ترافیک می‌پاشد» یا «طراحی سایت من شبیه سال ۱۳۸۵ است.»تو اما لیست غذاهای خودت را نشانش می‌دهی، نه اینکه آشپزی درست کردن غذای مورد علاقهٔ او را بلدی.✅ راهکار:هر پیشنهاد را به‌جای لیست ابزارها، حول محور «مشکل مشتری» بچین. مثلاً به‌جای «من React بلدم»، بگو: «من می‌توانم سرعت سایت شما را به‌قدری بالا ببرم که کاربر از لود شدن شگفت‌زده شود و دیگر ترکتان نکند.»کلماتت را از دل مشکل مشتری انتخاب کن.❌ ۲. کد می‌زنی، ولی حرف نمی‌زنی (می‌میری در سکوت)در بازار فریلنسری ایران، «توانایی ارتباطی» شاید از خود کد مهم‌تر باشد. اگر موقع مذاکره خشک و فنی برخورد کنی، یا دیر جواب پیام‌ها را بدهی، کارفرما حس می‌کند تو موش آزمایشگاهی‌ای، نه یک همکار قابل اعتماد.به یاد داشته باش: آدم‌ها از آدم‌ها خرید می‌کنند، نه از کامپایلر.✅ راهکار:در هر پروژه، یک توضیح ساده و انسانی اولیه بده: «سلام، من پروژه‌تان را کامل خواندم. دقیقاً می‌دانم آن بخش لاگین است که اذیت‌تان کرده. این راه‌حل پیشنهادی من است...»با این جملات، ناخودآگاه حس «تخصص + همدلی» را یکجا تزریق می‌کنی.❌ ۳. قیمت را بر اساس «ساعت کار خودت» می‌دهی، نه «ارزشی که خلق می‌کنی»این قاتل خاموش همه است. اگر برای یک MVP که می‌تواند سرمایه‌گذار جذب کند، فقط بر اساس چند ساعت coding قیمت بدهی، هم خودت را ارزان فروخته‌ای، هم کارفرما فکر می‌کند کارش بی‌ارزش است.قیمت باید بازتاب «خطری باشد که از مشتری دور می‌کنی»، نه تعداد انگشتانی که روی کیبورد زده‌ای.✅ راهکار:قبل از پیشنهاد قیمت، از خودت بپرس: «اگر این پروژه به نتیجه نرسد، مشتری چقدر ضرر می‌کند؟» قیمت را نسبتی از آن ضرر جلوگیری‌شده بده. مثلاً یک سایت فروشگاهی که بدون آن روزی ۵ میلیون تومن فروش از دست می‌رود، ارزش طراحی اصولی‌اش چند است؟ حالا منطقی پیشنهاد بده.❌ ۴. فقط «کد» تحویل می‌دهی، نه «راه‌حل»این را از زبان ده‌ها کارفرما شنیده‌ام: «کار را انجام داد، ولی انگار روح نداشت.» یعنی کد تمیز است، اجرا می‌شود، اما یک جایی کم می‌آورد: کاربر نمی‌ماند، یا پنل مدیریت آنقدر پیچیده است که خود کارفرما هم نمی‌تواند از آن استفاده کند. در واقع تو فقط توسعه‌دهنده بودی، نه مشاور.✅ راهکار:بعد از تحویل هر پروژه، یک فایل کوتاه ویدئویی یا متنی آماده کن و بگو: «برای اینکه کارتان زودتر رشد کند، پیشنهاد می‌کنم این دو تا دکمه را عوض کنید و فلان گزارش را اضافه کنید.» این ۵ دقیقه وقت اضافه، برایت یک کارفرمای وفادار مادام‌العمر می‌سازد.❌ ۵. از هوش مصنوعی می‌ترسی، یا برعکس، بنده‌اش شده‌ایاین روزها همه صحبت از حذف برنامه‌نویسان توسط AI است. اما واقعیت این است:کسانی حذف می‌شوند که فقط «انسان-کپی‌پیست» هستند و نمی‌توانند خروجی AI را قضاوت کنند. از آن طرف، آنهایی که کلاً از AI استفاده نمی‌کنند، از سرعت بازار عقب می‌مانند.✅ راهکار:رابطه‌ات با ابزارهایی مثل Copilot را این‌طور تنظیم کن: «AI پیش‌نویس کد را بزند، اما تو ویراستار ارشد باشی که می‌فهمد چرا یک حلقهٔ for در اینجا غلط است.» هفته‌ای یک روز تمرین «کد بدون AI» بگذار تا عضلهٔ قضاوتت تحلیل نرود.❌ ۶. طراحی رابط کاربری را «تزیینات اضافه» می‌دانیبسیاری از برنامه‌نویسان بک‌اند یا حتی فرانت‌اند، آنقدر درگیر logic و state management هستند که فراموش می‌کنند کاربر نهایی یک انسان است با حواس.رنگ دکمه، فاصلهٔ المان‌ها و سرعت بارگذاری یک فرم ساده، یعنی تفاوت بین یک خرید قطعی و یک خروج همیشگی.✅ راهکار:حتی اگر طراح UI/UX نیستی، چند اصل ساده را یاد بگیر: قانون ۶۰-۳۰-۱۰ برای رنگ، فضای تنفس (White Space)، و مهم‌تر از همه «سلسله‌مراتب بصری». با هربار مرور یک سایت محبوب، بپرس: «چرا اینجا کلیک کردم؟» جواب‌ها را در کارت پیاده کن.❌ ۷. هرگز برند شخصی‌ات را جدی نگرفتی (فقط رزومه فرستادی)بزرگ‌ترین اشتباه: فکر می‌کنی پروژه از آسمان می‌افتد، درحالی‌که از «اعتماد» می‌آید.اگر یک کارفرما اسمت را در گوگل جستجو کند و فقط یک لینکدین خالی ببیند، حتی اگر رزومه‌ات از طلا باشد، تو را انتخاب نمی‌کند. مردم به کسی اعتماد می‌کنند که دیده باشندش.✅ راهکار:یک پروفایل ویرگول یا یک گیت‌هاب فعال داشته باش که در آن بنویسی چه می‌دانی و چه تجربه‌هایی داری. همان‌طور که الان داری این مقاله را می‌خوانی، اگر نویسنده‌اش یک آدم گمنام بود، باورش می‌کردی؟ یک مقاله مثل همین، یک نمونه‌کار، یک توضیح ساده از یک باگ که حل کردی کافی است تا به کارفرما بگویی: «من واقعی‌ام، متخصصم، و می‌شود روی من حساب کرد.»🎯 جمع‌بندی: فروشندگی را بلد شو، کد که بلدیهمان‌طور که دیدی، هیچ‌کدام از این ۷ اشتباه نگفت که «برو برنامه‌نویسی را بهتر یاد بگیر». چون مشکل تو کد زدن نیست، مشکل این است که «زبان کارفرما» را بلد نیستی، «ارزش خودت» را نمی‌شناسی، و «اعتماد» نمی‌سازی.بازار فریلنسری تشنهٔ کسی است که هم بفهمد، هم بفهماند. و تو حالا با اصلاح همین چند نقطه، می‌توانی از آن سراشیبی وحشتناک «پروژه نگیری» خارج شوی.حالا نوبت توست:کدام یک از این اشتباه‌ها را تا به امروز بیشتر مرتکب می‌شدی؟ تجربه‌ات را در کامنت‌ها بنویس، شاید راه‌حلی که تو کشف کرده‌ای، مشکل یک هم‌صنفی دیگر را حل کند.اگر هم دوست داشتی این مقاله را با یک برنامه‌نویس تازه‌کار که این روزها ناامید است به اشتراک بگذار؛ شاید همان تلنگر کوچک، مسیرش را عوض کند.دسته‌بندی پیشنهادی در ویرگول: برنامه‌نویسی، فریلنسری، بازار کار</description>
                <category>مهدی صالحی</category>
                <author>مهدی صالحی</author>
                <pubDate>Thu, 30 Apr 2026 02:10:24 +0330</pubDate>
            </item>
                    <item>
                <title>نقشهٔ بقا در سال ۱۴۰۵: اینترنت طبقاتی، هوش مصنوعی بلعنده، و تنها راه زنده ماندن</title>
                <link>https://virgool.io/@aizdb/%D9%86%D9%82%D8%B4%D9%87%D9%94-%D8%A8%D9%82%D8%A7-%D8%AF%D8%B1-%D8%B3%D8%A7%D9%84-%DB%B1%DB%B4%DB%B0%DB%B5-%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D8%B7%D8%A8%D9%82%D8%A7%D8%AA%DB%8C-%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-%D8%A8%D9%84%D8%B9%D9%86%D8%AF%D9%87-%D9%88-%D8%AA%D9%86%D9%87%D8%A7-%D8%B1%D8%A7%D9%87-%D8%B2%D9%86%D8%AF%D9%87-%D9%85%D8%A7%D9%86%D8%AF%D9%86-mkj6jihr37ne</link>
                <description>نقشهٔ بقا در سال ۱۴۰۵: اینترنت طبقاتی، هوش مصنوعی بلعنده، و تنها راه زنده ماندن۶ اردیبهشت ۱۴۰۵ رو نگاه. بهار اومده، درختا سبز شدن، ولی ما اینجاییم که ببینیم چی شده سر اینترنت مملکت، چی شده سر کار برنامه‌نویسی، و اصلاً ما توی این داستان کجاییم.اول از همه: اینترنت داره «طبقاتی» می‌شهببین، قضیه چیه. تا دیروز اینترنت یه چیزی بود مث برق. می‌زدی به فیوز، وصل می‌شد. VPN روشن می‌کردی، می‌رفتی سراغ زندگی‌ات. ولی الان دیگه قصه فرق کرده.از اول ۲۰۲۶ تا همین امروز که ۱۰۱ روز گذشته، فقط ۳۸ روز اینترنت نسبتاً پایدار داشتیم. ۶۳ روز یا کلاً قطع بودیم، یا اینقد اختلال بود که حتی یه پیام ساده تو تلگرام نمی‌رفت. بچه‌های Filterwatch می‌گن دولت داره می‌ره سمت اینترنت «فهرست سفید». یعنی چی؟ یعنی قبلاً می‌گفتن فلان سایت بسته، بقیه باز. الان می‌خوان بگن فقط فلان ۱۰ تا سایت بازه، بقیه بسته. فهمیدی؟ اینترنت داره می‌شه یه امتیاز، نه یه حق. مث کارت سوخت می‌مونه. باید مجوز داشته باشی که وصل بشی.الآن ۶ میلیون دامنه تو ایران مسدوده. DPI (همون بازرسی عمیق بسته‌ها که دولتی‌ها می‌ذارن رو خط) فقط HTTP و HTTPS و DNS رو زنده گذاشته. بقیه پروتکل‌ها رو مثل سگ خفه کرده.خلاصهٔ ماجرا: VPN معمولی دیگه جواب نمی‌ده. باید بری یه لول بالاتر.دوم: هوش مصنوعی داره بی‌سروصدا juniorها رو حذف می‌کنهفکر نکن فقط اینجامون خرابه. اون‌ور آبم اوضاع خوش نیست.همین چند روز پیش (آوریل ۲۰۲۶)، مایکروسافت یه مقاله داد بیرون تو مجلهٔ ACM. تیترش این بود: «هوش مصنوعی داره خط لولهٔ برنامه‌نویسان تازه‌کار رو توخالی می‌کنه». اسم قشنگش شده AI Hollowing Out.داستان چیه؟ seniorها با GitHub Copilot و Claude Code ده برابر سریع‌تر کد می‌زنن، review می‌کنن، deploy می‌کنن. از اون‌طرف juniorها چون هنوز تجربهٔ کافی ندارن که خروجی AI رو قضاوت کنن، یه جور عقب‌ماندگی مهارتی می‌گیرن. یعنی سرعتشون بالاست، ولی یادگیری واقعی‌شون صفره.شرکت Block (همون Square) با استناد به همین بهره‌وری AI، ۴۰۰۰ نفر رو انداخته بیرون. تحلیلگرا می‌گن تا آخر ۲۰۲۶، بازار کار برنامه‌نویسی دیگه شبیه چیزی که ما می‌شناسیم نیست.یعنی چی؟ یعنی اگه فقط بلدی prompt بزنی و کد رو کپی‌پیست کنی بدون اینکه بفهمی چی شده، تا دو سه ماه دیگه می‌تونی بری پی کارت.ولی صبر کن... ما ایرانی‌ها یه برگ برنده داریمحالا برسیم به بخش خوب ماجرا.ما تو ایران یه گسل عظیم زندگی می‌کنیم. از یه طرف اینترنت داره طبقاتی می‌شه، از یه طرف AI داره juniorها رو می‌خوره. ولی این وسط یه چیز هست که هیچ هوش مصنوعی‌ای بلد نیست، هیچ دولتی هم نمی‌تونه فیلترش کنه: درک واقعی از درد مردم.یه LLM تو برلین نمی‌فهمه چرا یه فروشندهٔ شیرازی که اینترنتش هر نیم‌ساعت قطع می‌شه، باید یه دکمهٔ «ذخیرهٔ آفلاین» داشته باشه روی فروشگاهش.یه هوش مصنوعی نمی‌تونه بفهمه چرا یه کاربر ایرانی وقتی وسط تراکنش بانکی VPNش قطع می‌شه و پولش می‌پره، چه حالی می‌شه.این «چرایی» که پشت انتخاب‌هاته، جنسش از درده، از زندگی تو ایران دراومده. و این، عزیز من، در بازار جهانی طلاست. چون هیچ‌جای دنیا نمی‌تونن اینقدر عمیق «تاب‌آوری» و «راه‌حل در بحران» رو بفهمن.همون Harvard Business Review می‌گه تا ۲۰۳۰، ۶۷٪ شغل‌هایی که در برابر اتوماسیون زنده می‌مونن، شغل‌هایین که ترکیبی از مهارت فنی + مهارت انسانی دارن. یعنی کد زدن بلدی، اما همزمان بلدی با آدم‌ها حرف بزنی، مشتری رو بفهمی، و توی بدترین شرایط راه‌حل پیدا کنی.خب حالا چیکار کنیم؟ سه تا گام عملیگام ۱: از «کاربر معمولی» به «اپراتور اینترنت» ارتقا پیدا کنDNS changer بچه‌بازیه. تو مدل whitelisting، ترافیک ناشناس رو کامل می‌بندن. چی کار باید کرد:Fragmentation یاد بگیر. ترافیک رو تیکه‌تیکه کن که DPI نتونه تشخیص بده. یه جورایی مث این می‌مونه که به جای یه کامیون بزرگ که راحت می‌گیرنش، با ۱۰ تا پراید کوچیک بار رو جابه‌جا کنی.Domain fronting رو بشناس. از CDNهای بزرگ به عنوان سپر استفاده کن. ترافیکت رو بچسبون به یه دامنهٔ معروف که نمی‌تونن ببندنش.چندتا fallback داشته باش. اگه WireGuard معمولی رو تشخیص دادن و بستن، برو سراغ پروتکل‌های عجیب‌غریب‌تر.یه سر به iranvpn روی گیت‌هاب بزن. پروژه‌های متن‌باز P2P هستن که دارن یه شبکهٔ توزیع‌شده از داوطلب‌ها می‌سازن.راستی، اینو بدون: مهندسای شبکهٔ ایرانی الآن جزو بهترین‌های دنیا تو زمینهٔ عبور از فیلترینگ هستن. این یه تخصص جهانی‌ست. می‌تونی همین رو بسته‌بندی کنی و به دنیا بفروشی.گام ۲: هوش مصنوعی رو «استخدام» کن، نذار اون تورو استخدام کنهببین، مسئله این نیست که از AI استفاده نکنی. مسئله اینه که بردهٔ AI نشی.سه تا قانون ساده:قانون اول: بعد از هر prompt، مستندات اصلی رو باز کن. Copilot بهت کد داد؟ حالا برو React docs یا Node.js docs رو باز کن و ببین این کد دقیقاً چیکار می‌کنه. اگه نمی‌فهمی، prompt رو پاک کن و خودت از نو بنویس.قانون دوم: الگوریتم رو اول روی کاغذ بکش. IDE رو باز نکن. Copilot رو صدا نزن. یه برگه بردار، جریان داده رو بکش، بعد برو سراغ کد. این ۱۰ دقیقه وقت اضافه، تو رو از ۱۰۰۰ ساعت «زیرکی ظاهری» نجات می‌ده.قانون سوم: برای خروجی AI سه تا سوال ثابت بپرس: ۱) چرا این جواب رو داد؟ ۲) اگه خودم بودم چه فرقی می‌کرد؟ ۳) این راه‌حل واقعاً به درد کاربر می‌خوره یا فقط «درسته»؟یه تمرین: هفته‌ای یه روز رو بذار «روز بدون AI». کل روز رو خودت کد بزن، دیباگ کن، فکر کن. عضلهٔ قضاوتت تحلیل نره. این عضله‌ست که تو رو از یه «کدنویس ساده» به یه «مهندس واقعی» تبدیل می‌کنه.گام ۳: محصول «ضدِ ضربه» بساز، نه محصول «ضدِ آب»همه بلدن یه چیزی بسازن که رو سرور لوکال قشنگ کار می‌کنه. ولی مشتری تو اینجاست، تو ایران، با اینترنت ۶۳ روز قطع در ۱۰۱ روز.چی کار کنم:PWA (Progressive Web App) رو یاد بگیر. داستانش اینه: core logic رو ببر آفلاین، فقط sync رو بذار برای وقتی اینترنت برگشت. یعنی کاربر حتی وقتی اینترنت نیست می‌تونه کارش رو بکنه، بعد که وصل شد، خودش sync می‌کنه.UI/UX مینیمال طراحی کن، ولی از سر ناچاری، نه از سر مد. هر عکس سنگین، هر انیمیشن اضافی، هر API call پشت‌سرهم، دشمن کاربر ایرانیه. مینیمالیسم برای ما انتخاب نیست، اجباره.هر MVP که می‌سازی، یه سناریوی «قطع کامل» براش طراحی کن. مثلاً اگه فروشگاه اینترنتی می‌سازی، کاربر باید بتونه بدون اینترنت محصولات رو ببینه، سفارش رو ثبت کنه، و فقط برای نهایی‌سازی یه لحظه وصل بشه. اینجوری حتی تو بدترین شرایطم، کاربر ولت نمی‌کنه. چون محصول تو «قابل اعتماد» شده.حرف آخر: وسط گسل وایسادی، پس برقصببین، ما تو ایران وسط یه زلزلهٔ بی‌صداییم. از یه طرف اینترنت داره روزبه‌روز بسته‌تر می‌شه، از یه طرف هوش مصنوعی داره تعریف «برنامه‌نویس» رو عوض می‌کنه، از یه طرف تحریم گریبانمون رو گرفته.ولی نکته اینجاست: بزرگترین نوآوری‌های تاریخ توی همین شرایط به وجود اومدن. وقتی همه چی هست، کی حوصله داره خلاق باشه؟تو که این مطلب رو می‌خونی، یه انتخاب داری:یا می‌تونی بشینی غر بزنی که «همه چی خرابه»،یا می‌تونی مهندس بقا بشی.کسی که بلده تو بدترین شرایط وصل بمونه،کسی که AI رو به بند می‌کشه بدون اینکه خودش برده بشه،کسی که محصولی می‌سازه که تو جهنم اینترنت ایرانم کار می‌کنه.این تخصص، هیچ‌جای دنیا تدریس نمی‌شه. فقط تو ایران، فقط تو این روزها، فقط با سوختن و ساختن یاد گرفته می‌شه.پس بی‌دلیل نترس. بترس، ولی پاشو کارتو بکن.چون این گسل، همین جا که وایسادی، می‌تونه سکوی پرتابت باشه.اگه این نوشته به دردت خورد، بذار کامنت که ببینم کجای این گسل وایسادی. یا برو برای هم‌صنفی‌ات بفرست که شاید اونم بلاتکلیفه. اگه سوالی داشتید در خدمتم.</description>
                <category>مهدی صالحی</category>
                <author>مهدی صالحی</author>
                <pubDate>Thu, 30 Apr 2026 00:30:42 +0330</pubDate>
            </item>
            </channel>
</rss>