<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های احسان</title><link>https://virgool.ir/feed/@ehsanghaffar</link><description>Software Developer</description><language>fa</language><pubDate>2026-11-11 21:35:16</pubDate><image><url>https://files.virgool.ir/upload/users/211090/avatar/vDCUR4.jpg</url><title>احسان</title><link>https://virgool.ir/@ehsanghaffar</link></image><item><title>مهندسی نرم‌افزار در عصر Coding Agent ها</title><link>https://virgool.ir/@ehsanghaffar/مهندسی-نرم-افزار-در-عصر-coding-agent-ها-obcfpvbe2stn</link><description>یکی از مهارت‌های کلیدی در مهندسی هوش مصنوعی، کار کردن با Coding Agentها است. توانایی شما در هدایت این Agentها، هم برای نوشتن کد و هم برای انجام کارهای غیرکدنویسی مثل تحلیل داده یا مدیریت عملیات سیستم، باعث می‌شود بتوانید کارهای بسیار بیشتری انجام دهید.سرعت پیشرفت Coding Agentها باعث شده این مهارت نیز با سرعت زیادی در حال تغییر باشد؛ حتی سریع‌تر از بسیاری از مهارت‌های سطح بالای دیگر در مهندسی AI. Agentهای اختصاصی مثل Claude Code، Codex و Cursor و Agentهای متن‌باز مثل OpenCode و Pi، هم از طریق بهبود Harness و هم از طریق بهبود مدل‌ها، با جهش‌های قابل‌توجه پیشرفت می‌کنند.بنابراین مسلط ماندن به نحوه استفاده از Coding Agentها نیازمند یک فرایند مداوم از آزمایش، ساختن و یادگیری است.یک Workflow نسبتاً ثابت و سطح‌بالا برای ساخت نرم‌افزار با این Agentها بود. مراحل اصلی عبارت‌اند از:۱. برنامه‌ریزی (Planning)این مرحله شامل دو بخش است:ایده‌پردازی و بررسی اولیه که ممکن است شامل تحقیق، آزمایش، و شناخت Codebase موجود باشد.نوشتن Specification که نیازمندی‌ها، طراحی فنی و معماری را مشخص می‌کند و پس از آن یک برنامه اجرایی تهیه می‌شود.همچنین ممکن است برنامه را بازبینی کنید تا فرضیات کلیدی را به چالش بکشید و مواردی مثل مشکلات امنیتی، Overengineering یا سایر خلأها را بررسی کنید.۲. اجرا (Execution)در این مرحله نرم‌افزار را می‌سازید، تست می‌کنید و صحت آن را بررسی می‌کنید؛ با ایجاد تعادل مناسب میان استقلال Agent و نظارت انسان.این مرحله شامل:سپردن ساخت نرم‌افزار به Agent، با سطح مناسبی از استقلال.بررسی خروجی Agent از طریق تست‌های خودکار و/یا بررسی انسانی.۳. استقرار و مانیتورینگ (Deployment &amp; Monitoring)در این مرحله:نرم‌افزار را Deploy می‌کنید؛ احتمالاً با استفاده از یک Pipeline مربوط به CI/CD یا مراحل تأیید انسانی.از Agentها برای مشاهده Logها، پیدا کردن مشکلات، پیشنهاد بهبودها و حتی اجرای آن بهبودها استفاده می‌کنید.این Workflow در سطح کلی، بسیار شبیه همان روشی است که قبل از ظهور Coding Agentها برای ساخت نرم‌افزار استفاده می‌شد.اما حالا تمرکز ما بسیار کمتر روی نوشتن خود کد است و بیشتر روی این موارد قرار دارد:تصمیم‌گیری درباره اینکه چه چیزی باید ساخته شودطراحی معمارینوشتن Specificationبررسی و اعتبارسنجی خروجیمدت زمان هر مرحله می‌تواند بسته به پروژه بسیار متفاوت باشد و حتی بعضی مراحل ممکن است حذف شوند.برای مثال، Specification یک Prototype کاملاً جدید (Greenfield) ممکن است فقط در قالب یک Prompt کوتاه نوشته شود؛ در حالی که Specification یک پروژه موجود (Brownfield) با کاربران زیاد، ممکن است نیازمند زمان و دقت بسیار بیشتری برای نوشتن و اعتبارسنجی باشد.علاوه بر این، این Workflow کاملاً Iterative است و توسعه‌دهندگان باتجربه می‌دانند چه زمانی بازخورد یک مرحله باید باعث بازگشت به مرحله‌ای قبلی شود.مثلاً اگر Verification شکست بخورد، می‌دانند چگونه Agent را هدایت کنند تا دوباره سیستم را بسازد و خطاها را برطرف کند. یا اگر Monitoring مشکلی را شناسایی کند، می‌دانند چگونه از Agentها بخواهند سیستم را اصلاح و دوباره Deploy کنند.برای استفاده مؤثر از Coding Agentها در این Workflow، مهارت‌های کلیدی عبارت‌اند از:هدایت Workflowفعال کردن استقلال Agentبازبینی کارسفارشی‌سازی Agent و محیط آندرک مبانی Coding Agentهاهدایت Workflowشما باید بدانید چگونه در هر مرحله از Workflow بالا حرکت کنید.این یعنی تصمیم بگیرید در هر مرحله چه مقدار کار را انسان و چه مقدار را Agent انجام دهد و چه زمانی لازم است برای Iteration به مرحله قبلی برگردید.این کار نیازمند درک عمیق Trade-offهای میان سرعت، هزینه، ریسک فنی و میزان تلاش انسانی است.در نتیجه باید بتوانید تصمیم بگیرید:چقدر باید از ابتدا تحقیق و برنامه‌ریزی کنید.چه زمانی مسئولیت بخش‌های حساس را همچنان نزد انسان نگه دارید.چگونه معماری را انتخاب کنید.چه میزان جزئیات در Artifactهای برنامه‌ریزی، مثل Specification، بنویسید.چگونه کار را به مراحل کوچک و قابل‌اعتبارسنجی تقسیم کنید.فعال کردن استقلال Agentوقتی از Coding Agent در مراحل مختلف Workflow استفاده می‌کنید، باید سطح استقلال آن را تعیین کنید.آیا باید دائماً عملکردش را زیر نظر داشته باشید و به‌صورت Interactive با آن رفت‌وبرگشت داشته باشید؟ یا یک بخش بزرگ‌تر از کار را به آن واگذار کنید؟چه زمانی باید یک هدف مشخص تعیین کنید و اجازه دهید Agent خودش در یک Loop ادامه دهد تا به نتیجه برسد؟علاوه بر این، باید Context Agent را به‌دقت مدیریت کنید.با عبور پروژه از مراحل مختلف، باید تشخیص دهید چه زمانی لازم است نکات مهمی که یاد گرفته‌اید، بازخورد کاربران و فرضیات پروژه ــ حتی فرضیاتی که در میانه ساخت پروژه تغییر کرده‌اند ــ ثبت شوند تا Agent در مراحل بعدی بتواند از آن‌ها استفاده کند.همچنین باید تصمیم بگیرید چه زمانی بهتر است چند Agent را به‌صورت موازی روی بخش‌های مختلف یک مسئله اجرا کنید؛ چه این هماهنگی توسط انسان انجام شود و چه توسط یک Agent سطح بالاتر.همچنین باید نحوه مدیریت توجه انسان میان چند Session هم‌زمان Agentها را مشخص کنید.در نهایت باید بدانید چگونه Agentها را به‌شکل امن اجرا کنید؛ یعنی Permissionها را تنظیم کنید و برای عملیات حساس Gate قرار دهید تا توسعه با سرعت مناسب پیش برود، در حالی که ریسک‌هایی مثل نشت اطلاعات، از دست رفتن داده یا آسیب‌های دیگر محدود بماند.بازبینی کارخروجی یک Coding Agent قطعی و قابل‌پیش‌بینی نیست.از قبل نمی‌دانیم چه ایده‌های خوبی ممکن است ارائه دهد و چه Bugهایی ممکن است ایجاد کند.بنابراین Review و Verification خروجی یکی از مراحل کلیدی است تا مطمئن شویم نتیجه همان چیزی است که می‌خواستیم و اگر نبود، Agent را دوباره هدایت کنیم.باید Testing و Validation متناسب با نوع Task طراحی کنید و در صورت نیاز هم Behavioral Verification و هم Functional Verification انجام دهید.ممکن است User Flowها را نیز تست کنید؛ حتی می‌توانید از Agent بخواهید Screenshotهایی به‌عنوان مدرک موفقیت یا شکست ارائه کند.برای ارزیابی‌های کیفی و رفتاری نیز می‌توان از Eval Setها، و در برخی موارد از روش‌هایی مثل LLM-as-a-Judge استفاده کرد.همچنین باید تصمیم بگیرید چه مقدار از این تست‌ها باید Automated باشند.در بعضی Workflowها می‌توان تمام Testing و Validation را کاملاً خودکار کرد تا Agent بتواند خودش کارش را بررسی کند و تشخیص دهد که آیا Task را با موفقیت به پایان رسانده یا نه.البته باید خود Testها را هم ارزیابی کنید تا مطمئن شوید واقعاً با هدف شما مطابقت دارند و اگر ندارند، آن‌ها را بهبود دهید.علاوه بر این، می‌توانید از Agentic Code Review و Auditهای امنیتی و معماری مبتنی بر AI استفاده کنید.وقتی Review توسط AI کافی نیست، باید به‌صورت هدفمند بررسی انسانی رفتار کد ــ و در موارد کمتری خود کد ــ را وارد فرآیند کنید و هم‌زمان بررسی کنید که چگونه می‌توان این Review را در آینده بیشتر خودکار کرد.در نهایت، باید Deployment را نیز Verify کنید و می‌توانید Monitoring و Incident Management را هم با استفاده از Agentها عملیاتی کنید.سفارشی‌سازی Agent و محیط آنتوانایی شما در به‌روزرسانی هم Agent و هم محیطی که Agent در آن کار می‌کند باعث می‌شود Agent بتواند Context موردنیاز خود را سریع‌تر دریافت کند، به ابزارهای مناسب دسترسی داشته باشد و نرم‌افزار را درست و با کارایی مناسب بسازد.باید بدانید چگونه مواردی مثل موارد زیر را با Agent یکپارچه کنید:Agent SkillsPluginهاMCP Serverهاگاهی نیز لازم است این موارد را حذف یا ساده‌سازی کنید؛ مثلاً وقتی یک مدل جدید دیگر به Skill قدیمی نیاز ندارد.می‌توانید از Hookها برای خودکارسازی بخش‌های تکراری فرآیند توسعه استفاده کنید؛ مثلاً Trigger کردن Code Reviewهای خودکار یا Pipelineهای CI/CD.همچنین باید محیطی را که Agent در آن کار می‌کند مدیریت کنید.برای مثال، می‌توانید Context دائمی Agent را در فایل‌هایی مثل AGENTS.md یا CLAUDE.md به‌روزرسانی کنید و اطلاعاتی درباره موارد زیر در اختیارش قرار دهید:ساختار Codebaseفرضیات مهم معماریCode Styleالگوهای دسترسی به دادهباید بدانید چگونه State را میان Sessionهای مختلف و همچنین میان Agentهای موازی حفظ کنید و یادگیری‌های Agent را در طول زمان جمع‌آوری کنید؛ مثلاً با اجرای Retrospective بعد از هر Run و ثبت اینکه چه چیزهایی درست یا اشتباه کار کرده‌اند.همچنین باید بتوانید Conventionها و ساختارهای منسجمی در Codebase ایجاد کنید تا Agent بتواند به‌راحتی در آن حرکت کند و هر از گاهی Debt ایجادشده توسط Agent را پاک‌سازی کنید.وقتی در یک تیم کار می‌کنید، باید به نحوه هماهنگ‌کردن Context میان Agentهای توسعه‌دهندگان مختلف نیز توجه داشته باشید.مبانی Coding Agentدر نهایت، برای اینکه بتوانید در طول این فرآیند تصمیم‌های خوبی بگیرید، باید درک مناسبی از نحوه کار Coding Agentها داشته باشید:چگونه در Codebase جست‌وجو و اطلاعات موردنیاز را بازیابی می‌کنند.چگونه Context Window خود را مدیریت می‌کنند.عملیات مختلف، مثل Tool Callها و MCP Serverها، چگونه روی Context تأثیر می‌گذارند.Agentها و Subagentها چگونه با یکدیگر تعامل می‌کنند.چگونه با قرار دادن یک Harness در اطراف یک LLM، یک Agent ساخته می‌شود.این دانش باعث می‌شود Agent دیگر یک Black Box نباشد و بتوانید Failure Modeهای مختلف را تشخیص دهید؛ برای مثال:Overengineering یک راه‌حل سادهاز دست دادن دقت و سخت‌گیری به دلیل نبود فرآیند Verification مشخصمتوقف شدن قبل از رسیدن به هدفانجام عملیاتی که می‌تواند باعث حذف فایل‌ها یا آسیب به داده‌های Production شودهمچنین این دانش کمک می‌کند وضعیت Agent را بهتر درک کنید و با ارائه Prescription یا Context مناسب، آن را بهتر هدایت کنید.هنگام Monitoring یک Run نیز این درک به شما کمک می‌کند سریع‌تر متوجه شوید Agent از مسیر اصلی منحرف شده و نیاز به دخالت شما دارد.به نظرم شبکه‌های اجتماعی اغلب توضیحات بیش از حد ساده‌شده‌ای درباره نحوه استفاده از Coding Agentها ارائه می‌دهند.برای مثال، گاهی مفید است که Agentها را برای ساعت‌ها کاملاً Autonomous رها کنید و میلیون‌ها یا حتی ده‌ها میلیون Token مصرف کنند.اما در حال حاضر، کاربرد عملی Taskهای بسیار طولانی (Long-Horizon)، مخصوصاً در مقایسه با هزینه آن‌ها، بیش از اندازه بزرگ‌نمایی شده است.در عوض، بیشتر استفاده‌های مؤثر از Coding Agentها یک فرآیند پیچیده و بسیار Iterative هستند و توانایی شما در مداخله به‌موقع و استفاده از قضاوت حرفه‌ای، معمولاً نتایج بسیار بهتری ایجاد می‌کند.مهارت شما در استفاده از Coding Agentها باعث می‌شود به یک Builder مؤثر تبدیل شوید.و همین موضوع به شما امکان می‌دهد علاوه بر اجرای کار، کل فرآیند ساخت محصول را نیز هدایت کنید.http://talkway.ir/برای آشنایی بیشتر: Andrew Ng</description><category>احسان</category><author>احسان</author><pubDate>Sun, 20 Sep 2026 00:02:58 +0330</pubDate></item><item><title>ویرگول دیگر جایی برای نوشتن نیست!</title><link>https://virgool.ir/@ehsanghaffar/ویرگول-دیگر-جایی-برای-نوشتن-نیست-bkmnmb5h5dis</link><description>یه زمانی ویرگول رو دوست داشتم.نه اینکه بهترین پلتفرم دنیا باشه یا امکانات عجیب‌غریبی داشته باشه. اتفاقاً چیزی که ویرگول رو جذاب می‌کرد خیلی ساده‌تر از این حرفا بود:آدما توش می‌نوشتن.یکی از تجربه‌ش می‌گفت، یکی چیزی یاد می‌داد، یکی درباره کتابی که خونده بود می‌نوشت، یکی از یه شکست کاری تعریف می‌کرد، یکی یه فکر عجیب داشت و دلش می‌خواست با بقیه به اشتراک بذاره.مهم‌تر از همه اینکه همیشه قرار نبود از اون نوشته یه چیزی دربیاد.نه محصولی بفروشی. نه مشتری جذب کنی. نه بک‌لینک بگیری. نه سئوی سایتت رو بهتر کنی.نه آخرش یه دکمه داشته باشی که بگه:«برای دریافت مشاوره رایگان کلیک کنید.»فقط می‌نوشتی.و همینش قشنگ بود.ویرگول یه جورایی شبیه یه وبلاگ بزرگ و مشترک بود؛ می‌رفتی توش و نمی‌دونستی قراره چی بخونی.شاید یه تجربه شخصی.شاید یه مقاله فنی.شاید یه نقد کتاب.شاید یه داستان.شاید حتی یه متن کاملاً بی‌ربط که به شکل عجیبی خوب نوشته شده بود.و همین ندانستن جذاب بود.ولی الان...هر بار می‌رم تو ویرگول، یه حس دیگه دارم.انگار وارد یه تابلوی تبلیغاتی خیلی بزرگ شدم که فونت‌هاش رو ۱۴ گذاشتن تا شبیه مقاله به نظر برسه.انگار همه اومدن یه چیزی بفروشنمن مشکلی با تبلیغ ندارم.هر سایتی باید یه جوری پول دربیاره. سرور که مجانی نیست، برنامه‌نویس و طراح و پشتیبانی هم همین‌طور.کسب‌وکار هم بالاخره کسب‌وکاره.مشکل من اینه که تبلیغ داره جای محتوا رو می‌گیره.می‌ری یه پلتفرم که قرار بوده محل انتشار محتوا باشه، بعد پشت سر هم مقاله می‌بینی که ظاهراً مقاله‌ان، ولی از همون اول معلومه قراره آخرش یه چیزی بهت بفروشن.یکی درباره «بهترین روش فلان کار» نوشته.یکی «راهنمای جامع بهمان چیز» گذاشته.یکی یه مقاله ۱۵۰۰ کلمه‌ای نوشته.یکی ۲۰۰۰ کلمه.یکی حتی جدول و نمودار هم گذاشته که قضیه کاملاً علمی به نظر برسه.و بعد، تهش:اگر دنبال یه سرویس خوب در این زمینه هستید، ما این کار رو انجام می‌دیم.آها.رسیدیم.پس کل این مقاله برای همین بود.«راهنمای جامع»؛ چون «بروشور تبلیغاتی» سئو نمی‌شهواقعاً نمی‌دونم چه بلایی سر کلمه «جامع» اومده.هر چیزی الان «راهنمای جامع»ه.راهنمای جامع خرید لپ‌تاپ.راهنمای جامع مهاجرت.راهنمای جامع طراحی سایت.راهنمای جامع سئو.راهنمای جامع انتخاب بیمه.راهنمای جامع اجاره خودرو.راهنمای جامع انتخاب شرکت طراحی سایت.راهنمای جامع انتخاب بهترین شرکت طراحی سایت.و احتمالاً به‌زودی:راهنمای جامع انتخاب بهترین راهنمای جامع.۲۰۰۰ کلمه.۱۵ تا H2.سه تا جدول.چندتا کلمه بولد.یه عکس استوک از یه آدم خوشحال که جلوی لپ‌تاپ نشسته.و در پایان:برای دریافت مشاوره رایگان کلیک کنید.SEO؛ جایی که اول کلمه کلیدی داریم، بعد حرفیه زمانی آدم اول حرف داشت، بعد می‌نوشت.الان اول Keyword Research می‌کنه، بعد تصمیم می‌گیره چه حرفی داشته باشه.«این ماه مردم چی سرچ می‌کنن؟»«این کلمه چقدر Volume داره؟»«Keyword Difficulty چقدره؟»«چند بار باید این عبارت رو تو متن بیاریم؟»«کجا لینک بدیم؟»«Anchor Text چی باشه؟»«چند تا لینک داخلی؟»«چند تا لینک خارجی؟»و بعد، با افتخار:«مقاله آماده انتشار است.»نه عزیز.این مقاله نیست.این یه بروشور تبلیغاتی با پاراگراف‌های بیشتره.یا حتی دقیق‌تر:یه صفحه فروده که برای گوگل وانمود می‌کنه مقاله‌ست.قبلاً نویسنده دنبال خواننده بودالان نویسنده دنبال مشتریه.این شاید بزرگ‌ترین تغییری باشه که اتفاق افتاده.قبلاً ممکن بود یه نفر بنویسه:«امروز از شرکت اخراج شدم.»و تو بشینی تجربه‌ش رو بخونی.یکی دیگه می‌نوشت:«چرا از برنامه‌نویسی متنفر شدم؟»یکی درباره کتابی که خونده بود حرف می‌زد.یکی تجربه مهاجرتش رو تعریف می‌کرد.یکی از شکستش می‌گفت.یکی یه چیز فنی یاد می‌داد.یکی یه فکر عجیب داشت و تصمیم گرفته بود بنویسه‌ش.اما حالا خیلی وقت‌ها سؤال اصلی این نیست:«چی دارم که بگم؟»سؤاله:«درباره چی بنویسم که بتونم لینک سایتمو بذارم؟»یا:«این محتوا چقدر برای کسب‌وکار من لید میاره؟»و این دوتا خیلی با هم فرق دارن.اولی نویسندگیه.دومی بازاریابیه.البته بازاریابی محتوا خودش بد نیستاینجا شاید یکی بگه:«خب مگه بازاریابی محتوا چه ایرادی داره؟»هیچی.اگه یه شرکت واقعاً تو یه حوزه تخصص داره و میاد یه مقاله درست‌وحسابی می‌نویسه، چه اشکالی داره آخرش هم سرویس خودش رو معرفی کنه؟هیچی.اتفاقاً من خودم ترجیح می‌دم یه مقاله خوب از یه شرکت بخونم تا ده تا تبلیغ بی‌ربط.اگر یه شرکت امنیت سایبری یه مقاله واقعاً خوب درباره امنیت API بنویسه و آخرش هم سرویس خودش رو معرفی کنه، نوش جانش.مشکل از جایی شروع می‌شه که مقاله فقط بهانه‌ست.یعنی اول محصول وجود داره.بعد دنبال کلمه کلیدی می‌گردیم.بعد دنبال موضوع.بعد دنبال نویسنده.بعد ۱۵۰۰ کلمه تولید می‌شه.بعد چند تا لینک.بعد چند تا H2.بعد CTA.و در نهایت:«مقاله منتشر شد.»نه.شما محصولت رو گذاشتی وسط چندتا پاراگراف و اسمش رو گذاشتی مقاله.جالب اینجاست که خود ویرگول هم می‌گه تبلیغ نکنیداین قسمت واقعاً بامزه‌ست.خود ویرگول تو قوانینش محتوای صرفاً تبلیغاتی و لینک‌سازی بی‌هدف رو اسپم می‌دونه.یعنی در اصل می‌گه:«لطفاً اینجا تبلیغ نکنید.»از اون طرف، برای کسب‌وکارها سرویس‌های تبلیغاتی و برندینگ هم ارائه می‌کنه.خب، از نظر اقتصادی قابل فهمه.بالاخره ویرگول هم باید درآمد داشته باشه.من هم انتظار ندارم مدیر ویرگول یه شب از خواب بیدار بشه و بگه:«بچه‌ها! از فردا همه‌چی رایگان. درآمد هم نمی‌خوایم. فقط بنویسید.»نه.مسئله اصلاً این نیست.مسئله اینه که وقتی پول وارد جریان محتوا می‌شه، انگیزه تولید محتوا هم تغییر می‌کنه.و وقتی انگیزه تغییر کرد، جنس محتوا هم تغییر می‌کنه.تقصیر فقط ویرگول نیستاین قسمت شاید از همه تلخ‌تر باشه. چون ما خودمون هم این فضا رو ساختیم.وقتی برای یه لینک بیشتر از یه متن خوب ارزش قائل می‌شیم، خب معلومه که آدم‌ها شروع می‌کنن به تولید لینک.وقتی SEO مهم‌تر از کیفیت محتوا می‌شه، محتوا هم تبدیل می‌شه به ابزار SEO.وقتی یه شرکت می‌بینه با انتشار ۵۰ تا مقاله می‌تونه برای سایتش ورودی بگیره، معلومه که این کار رو ادامه می‌ده.وقتی یک مقاله تبلیغاتی بیشتر از یک نوشته واقعی بازده داره، خب چرا باید کسی وقت بذاره و یک متن واقعی بنویسه؟بعد یه روز چشم باز می‌کنی می‌بینی اینترنت پر شده از:«۱۰ روش برای...»«راهنمای کامل...»«بهترین...»«چطور...»«هر آنچه باید درباره...»«صفر تا صد...»و ته همه‌شون هم یه لینک هست.همه‌چی بهینه شده.جز چیزی که قرار بود برایش بهینه بشه: تجربه خواندن.ما حتی بی‌هدفی رو هم سئو کردیمشاید عجیب باشه، ولی یکی از جذاب‌ترین ویژگی‌های اینترنت قدیم همین بود که خیلی چیزها هیچ هدف تجاری مشخصی نداشتند.یه نفر وبلاگ داشت و می‌نوشت چون دلش می‌خواست.یه نفر چیزی ساخته بود و منتشرش می‌کرد.یه نفر تجربه‌ش رو تعریف می‌کرد.یه نفر یه نظری داشت و با بقیه بحث می‌کرد.یکی یه متن می‌نوشت که هیچ‌کس نمی‌دونست قراره چه فایده‌ای داشته باشه.و اتفاقاً همین خوب بود.همه‌چیز قرار نبود تبدیل بشه به محصول.همه‌چیز قرار نبود Monetize بشه.همه‌چیز قرار نبود Funnel بشه.همه‌چیز قرار نبود KPI داشته باشه.بعضی چیزها فقط وجود داشتند.و شاید همین، اینترنت رو دوست‌داشتنی می‌کرد.شاید مشکل اصلی اینه که دیگه نمی‌دونم چرا باید برگردمبه نظرم یه سؤال ساده می‌تونه وضعیت یه پلتفرم رو مشخص کنه:«چرا باید فردا دوباره بیام اینجا؟»اگه جواب این باشه:«چون می‌خوام ببینم امروز آدما چی نوشتن.»عالیه.ولی اگه جواب این باشه:«شاید بین این همه مقاله تبلیغاتی، یه چیز درست‌وحسابی هم پیدا بشه.»خب...یه جای کار می‌لنگه.آدم‌ها برای دیدن تبلیغ وارد یه پلتفرم محتوا نمی‌شن.برای کشف کردن میان.برای اینکه یه چیزی بخونن که خودشون دنبالش نبودن.برای اینکه یه نفر یه حرف جالب زده باشه.برای اینکه با یه ایده جدید روبه‌رو بشن.برای اینکه شاید یه نوشته باعث بشه نظرشون درباره یه موضوع عوض بشه.برای اینکه شاید یه نویسنده جدید پیدا کنن و دفعه بعد منتظر نوشته‌ش باشن.این چیزها رو نمی‌شه با CTA ساخت.من دلم برای ویرگولی تنگ شده که نمی‌دونستم قراره چی ببینمدلم برای مقاله‌ای تنگ شده که آخرش نگه:«اگر به خدمات ما نیاز دارید...»دلم برای متنی تنگ شده که هیچ لینکی نداشته باشه.برای نوشته‌ای که هیچ Keyword Research پشتش نباشه.برای نویسنده‌ای که اصلاً به این فکر نکرده باشه:«این مقاله چند تا لید برام میاره؟»فقط نوشته باشه.چون یه چیزی تو ذهنش بوده.چون تجربه‌ای داشته.چون عصبانی بوده.چون خوشحال بوده.چون چیزی یاد گرفته.چون چیزی رو نفهمیده و دنبال جواب بوده.چون حرف داشته.شاید این خواسته خیلی ساده و حتی قدیمی باشه.ولی به نظرم یه پلتفرم انتشار محتوا، قبل از هر چیزی باید بتونه همین سادگی رو حفظ کنه.چون وقتی همه اومده باشن چیزی بفروشن،آخرش دیگه کسی نمی‌مونه که چیزی برای خوندن بنویسه.و شاید اون روز، ویرگول هنوز سر جاش باشه.سرورها روشن باشن.کاربرها آنلاین باشن.مقاله‌ها منتشر بشن.بازدیدها هم ثبت بشن.فقط یک چیز دیگه وجود نداشته باشه:دلیلی برای اینکه واقعاً بخوای چیزی رو بخونی.وقتی ویرگول از جایی برای نوشتن، تبدیل شد به تابلوی تبلیغات</description><category>احسان</category><author>احسان</author><pubDate>Sun, 30 Aug 2026 18:22:28 +0330</pubDate></item><item><title>اینترنت داره فیک میشه؟ (داستان آخرالزمانِ بات‌ها)</title><link>https://virgool.ir/@ehsanghaffar/اینترنت-داره-فیک-میشه-داستان-آخرالزمانِ-بات-ها-erxtq0uodiqd</link><description>منتشر شده در: eindev.irتا حالا شده توی اینترنت یه پیام یا کامنت ببینی و با خودت بگی: «دمش گرم چقدر با ادب و دقیقه!» ولی یهو یه حس ششم بهت بگه «نه بابا، اینو یه آدم ننوشته، کارِ هوش مصنوعیه!»؟اگه این حس رو داشتی، تبریک می‌گم! تو هم متوجه شروع یه دوران جدید شدی که بهش می‌گن «آخرالزمانِ بات‌ها».توی یکی از پادکست‌های معروف برنامه‌نویسی Syntax که گوش می‌کردم، یه بحث خیلی باحال راه افتاده بود درباره اینکه چطور بات‌ها دارن اینترنت رو برای ما آدم‌ها غیرقابل استفاده می‌کنن.بات‌ هایی که بی‌ ادب شدن!قدیم‌ها بات‌ ها فقط بلد بودن تبلیغِ فالگیر و کفش بفرستن. اما الان قضیه ترسناک شده. مثلاً خبر اومده که یه نفر برای اینکه به یه برنامه‌نویس فشار بیاره تا حرفش رو گوش بده، به هوش مصنوعی دستور داده: برو یه مقاله بنویس و آبروی این آدم رو ببر!تصورش رو بکنید؛ وقتی تخریبِ شخصیتِ آدم‌ها با یه کلیک و توسط بات‌ها انجام بشه، دیگه کی جرأت می‌کنه توی فضای عمومی اینترنت کارِ مفیدی انجام بده؟چرا پیام‌های &#34;خیلی شیک&#34; رو دیگه نمی‌خونیم؟جالب‌ترین جای بحث اینجا بود: ما آدم‌ها داریم نسبت به پیام‌های خیلی تمیز حساسیت پیدا می‌کنیم.یکی از مجری‌های پادکست می‌گفت: «یه پیامک برام اومد برای دعوت به تولد. اینقدر جمله‌بندی‌ش عالی بود و از ایموجی‌های قشنگ استفاده کرده بود که من فکر کردم تبلیغاتیه و اصلاً نخوندمش! بعداً فهمیدم واقعاً دوستم بوده که چون حوصله نداشته، از هوش مصنوعی خواسته متنش رو بنویسه.»نتیجه اخلاقی: هوش مصنوعی اینقدر ادای آدم‌های باکلاس رو درآورده که حالا اگه واقعاً هم باکلاس و باادب حرف بزنیم، همه فکر می‌کنن بات هستیم!اینباکس‌هایی که به لجن کشیده شدنایمیل، دایرکت اینستاگرام و لینکدین پر شده از پیام‌هایی که مثلاً شخصی‌سازی شدن ولی تابلوعه که یه بات اونا رو ساخته. این باعث میشه ما دیگه حتی پیام‌های واقعی آدم‌های جدید رو هم باز نکنیم. داریم برمی‌گردیم به دوران قدیم که فقط با آدم‌هایی که از قبل می‌شناختیم حرف می‌زدیم، چون به بقیه اعتمادی نیست.وظیفه ما چیه؟ما که توی دنیای تکنولوژی فعالیت می‌کنیم، وظیفه‌مون سنگین‌تر شده. ما نباید فقط به فکر ساختن ابزارهای هوشمند باشیم؛ باید به این فکر کنیم که چطور انسانیت رو توی اینترنت زنده نگه داریم.حرف آخر:شاید زمان اون رسیده که دوباره غلط غلوط بنویسیم، یا لحن‌مون رو یکم نامرتب کنیم تا بقیه بفهمن پشت این مانیتور، یه قلب می‌تپه، نه یه سری کد و صفر و یک!نظر شما چیه؟ شما هم تا حالا شده یه پیام واقعی رو چون خیلی تمیز بوده به جای بات اشتباه بگیرید و پاکش کنید؟ توی کامنت‌ها بنویسید.راستی این پست رو من نوشتم یا ای آی؟!</description><category>احسان</category><author>احسان</author><pubDate>Fri, 27 Feb 2026 11:25:19 +0330</pubDate></item><item><title>چرا اسکیل‌ها آینده کار با LLMها هستند؟</title><link>https://virgool.ir/@ehsanghaffar/چرا-اسکیل-ها-آینده-کار-با-llmها-هستند-qrbwo6kaonno</link><description>اگر با مدل‌های زبانی بزرگ مثل Claude یا GPT کار کرده باشی، احتمالاً این حس رو داشتی که:«کاش این مدل دقیقاً می‌فهمید من هر بار چی می‌خوام و همون رو تکرار می‌کرد!»اینجاست که مفهوم اسکیل (Skill) در LLM وارد بازی میشه.در این مقاله می‌خوایم خیلی ساده و کاربردی بفهمیم:اسکیل در مدل‌های زبانی بزرگ (LLM) چیه؟چه فرقی با پرامپت معمولی داره؟چرا برای اتوماسیون و ایجنت‌های هوش مصنوعی مهمه؟و چطور می‌تونه کیفیت خروجی AI رو چند برابر کنه؟اسکیل در LLM دقیقاً یعنی چی؟اسکیل (Skill) در دنیای LLMها یعنی:یک بسته‌ قابل استفاده مجدد از دستورالعمل‌ ها، دانش و ابزارها که مدل در زمان مناسب خودش از آن استفاده می‌کند.در مستندات رسمی Anthropic درباره Agent Skills توضیح داده شده که اسکیل‌ها به ایجنت‌ها کمک می‌کنن بفهمن کی و چطور یک کار مشخص رو انجام بدن.به زبان ساده‌ تر:اسکیل یعنی به جای اینکه هر بار همه چیز رو از صفر برای مدل توضیح بدی،یک «راهنمای تخصصی آماده» در اختیارش بذاری که هر وقت لازم شد، خودش بازش کنه و طبقش عمل کنه.تفاوت Skill با Prompt معمولی چیه؟خیلی‌ها فکر می‌کنن اسکیل همون پرامپته. ولی این دو تا فرق مهم دارن:پرامپتهر بار باید دستی واردش کنیمدل لزوماً تشخیص نمی‌ده کی استفاده کنهساختارمند نیستقابل اشتراک حرفه‌ای نیستاسکیلیک بار تعریف میشهمدل خودش زمان استفاده رو تشخیص میدهساختارمند و قابل نسخه‌بندیقابل انتشار و استفاده تیمیپرامپت مثل یه پیام واتساپی به مدل هست.اسکیل مثل یه «دستورالعمل رسمی سازمانی» هست که همیشه در دسترسه.ساختار یک Skill چطور است؟در پلتفرم‌هایی مثل AgentSkills توضیح داده شده که هر اسکیل معمولاً شامل:فایل راهنما (مثلاً SKILL.md)توضیح کاربردشرایط فعال شدنمراحل اجرای کارابزارهای مورد استفادهمنابع تکمیلییعنی در عمل، اسکیل یک «پکیج تخصصی» برای انجام یک کار خاصه.چرا اسکیل‌ها برای LLMها حیاتی هستند؟مدل‌های زبانی بزرگ محدودیت‌هایی دارن:کانتکست محدودنبود حافظه پایدارنداشتن استاندارد مشخص برای کارهای تکراریاسکیل‌ها این مشکلات رو تا حد زیادی حل می‌کنن.مزایای Skill در مدل‌های زبانی بزرگ1️⃣ خودکارسازی هوشمندمدل خودش تشخیص می‌ده چه زمانی از چه اسکیلی استفاده کنه.2️⃣ خروجی پایدار و استاندارددیگه هر بار نتیجه فرق نمی‌کنه.3️⃣ کاهش خطای انسانینیازی نیست هر بار همه جزئیات رو توضیح بدی.4️⃣ مقیاس‌پذیریبرای تیم‌ها و سازمان‌ها فوق‌العاده کاربردیه.5️⃣ توسعه‌پذیریمی‌تونی نسخه‌بندی، به‌روزرسانی و حتی منتشرش کنی.پلتفرم‌هایی مثل Skills.sh حتی اجازه میدن اسکیل‌ها رو نصب و مدیریت کنی، تقریباً مثل پکیج‌های نرم‌افزاری.کاربردهای واقعی Skill در LLMحالا برسیم به بخش جذاب ماجرا 👇1️⃣ تولید محتوای استاندارد برای وبلاگفرض کن هر مقاله وبلاگ باید:عنوان سئو داشته باشهمتا دیسکریپشن داشته باشهتیترهای H2 و H3 درست باشنچگالی کلمات کلیدی رعایت بشهمی‌تونی یک Skill بسازی که دقیقاً همین ساختار رو هر بار اجرا کنه.نتیجه؟محتوای سئو شده، منظم و قابل پیش‌بینی.2️⃣ ساخت گزارش مدیریتییک اسکیل می‌تونه:داده‌ها رو تحلیل کنهنمودار بسازهخلاصه مدیریتی بنویسهپیشنهاد اجرایی بدهو همه این‌ها رو طبق یک قالب ثابت انجام بده.3️⃣ اتوماسیون تیم مارکتینگتولید کپشنتحلیل کمپینپیشنهاد استراتژیبازنویسی تبلیغاتهمه می‌تونن تبدیل به اسکیل‌های جداگانه بشن.4️⃣ ساخت ایجنت‌های حرفه‌ایدر معماری Agent-based که توسط Anthropic معرفی شده، اسکیل‌ها نقش «ماژول‌های تخصصی» رو بازی می‌کنن.ایجنت مثل یک مدیر پروژه است.اسکیل‌ها مثل تیم متخصص زیر دستش.چرا Skill آینده‌ی کار با هوش مصنوعی است؟ما داریم از «چت کردن با AI» عبور می‌کنیم و وارد فاز «سیستم‌سازی با AI» می‌شیم.فرق این دو خیلی مهمه:چت = استفاده موردیسیستم‌سازی = ساخت فرآیند پایداراسکیل‌ها دقیقاً ابزار این گذار هستن.جمع‌بندی: Skill در LLM یعنی چی؟اگر بخوام خیلی خلاصه بگم:اسکیل در LLM یعنی«تبدیل تجربه و دانش تکراری به یک ماژول هوشمند قابل استفاده مجدد»و این یعنی:سرعت بیشترخروجی دقیق‌ترساختار حرفه‌ای‌ترقابلیت توسعه در مقیاس تیمیاگر از AI فقط برای سؤال پرسیدن استفاده می‌کنی، هنوز اول راهی.ولی اگر شروع کنی به ساختن Skill، وارد سطح حرفه‌ای استفاده از هوش مصنوعی شدی.طرز کار اسکیل ها در هوش مصنوعی</description><category>احسان</category><author>احسان</author><pubDate>Mon, 16 Feb 2026 19:16:04 +0330</pubDate></item><item><title>اینترنت بین‌الملل وصل شده؛ دروغ بین المللی</title><link>https://virgool.ir/@ehsanghaffar/اینترنت-بین-الملل-وصل-شده-دروغ-بی-المللی-wgelxmwcjez7</link><description>گفتن اینترنت بین‌الملل وصل شده.ولی اگه اسم این وصله، پس قطع چیه؟اینترنتی کهباز می‌شه ولی لود نمی‌شه،وصله ولی کار نمی‌کنه،هست ولی نمی‌شه روش حساب کرد،وصل نیست؛ مسخره‌ست.وصل شده؟ فقط برای اینکه ساکت بشیمبعضی سایت‌ها باز می‌شن. بعضی وقتا حتی فکر می‌کنی «اوه، درست شد». بعد چی؟GitHub نصفه لود می‌شهVPN هر چند دقیقه می‌ریزهتماس کاری قطع می‌شهUpload عملاً فلجهسرویس خارجی Timeout می‌خورهاینترنتی که نشه باهاش کار کرد، اینترنت نیست؛ اداست.این مشکل فنی نیست، سیاستهاین وضعیت اتفاقی نیست. مشکل فنی هم نیست. این دقیقاً همون مدلیه که از قبل داشت شکل می‌گرفت:«قطع نکن،ولی کاری کن که نتونن استفاده کنن.»نه اعتراض درست‌حسابی شکل بگیره، نه بشه کار جدی کرد.اینترنتی که اعصابت رو خورد می‌کنه ولی کامل قطع نیست، بهترین نوع کنترله.DPI هنوز هست؛ فقط نامرئی‌تر شدهقبلاً DPI بیشتر برای بستن بود. الان برای خفه‌کردن تدریجیه.سرعت مسیرهای خارجی رو می‌کشن پایینترافیک رمزنگاری‌شده رو خسته می‌کننVPN رو ناپایدار می‌کننکاری می‌کنن خودت بی‌خیال بشینه قطع کامل، نه آزادی. یه جایی وسط، دقیقاً جایی که بیشترین فرسایش رو داره.اینترنت بین‌الملل وصله… برای بعضیاواقعیت ساده‌ست ولی دوست ندارن گفته بشه:اینترنت وصل نشده؛ تفکیک شده.برای مردم عادی:کندناپایدارغیرقابل اتکابرای یه عده خاص:تقریباً نرمالپایداربی‌دردسرپس وقتی می‌گن «اینترنت وصل شده»، سؤال درست اینه:برای کی؟برنامه‌نویس‌ها و ریموت‌کارها: حذف بی‌سروصدااگه اینترنتت فقط برای چرخیدن تو شبکه‌های اجتماعیه، شاید بشه تحملش کرد.ولی اگه:ریموت کار می‌کنیبا خارج پروژه داریجلسه آنلاین داریکد Push می‌کنیبه کلاد و سرور وصلیاین وضعیت یعنی:عملاً بیکاری، بدون اینکه رسماً بگن بیکار شدی.حذف از بازار جهانی، بی‌سروصدا، بدون اعلام رسمی.حالا نکته مهم‌تر: دنیا هم فهمیدهاینجاش مهمه.همین روزها سازمان ملل قطعنامه داده و صراحتاً گفته محدودکردن اینترنت در ایران نقض حقوق بشره و باید متوقف بشه.یعنی حتی از نگاه بیرون هم این وضعیت اسمش «وصل شدن» نیست.ولی اینجا چی می‌گن؟ می‌گن اینترنت وصله. دو روایت، یک واقعیت.بازی با کلمه‌هاوقتی قطعه، می‌گن اختلاله.وقتی اختلاله، می‌گن موقتیه.وقتی طول می‌کشه، می‌گن وصله.ولی کاربر نتیجه رو با زندگی‌ش می‌سنجه، نه با بیانیه.ساده و بی‌تعارفاز این به بعد اینترنت ایران:آزاد نیستپایدار نیستقابل اتکا نیستولی به اسم «وصل شدن» فروخته می‌شه.این دروغ فقط درباره اینترنت نیست؛ درباره عادی‌سازی یک کنترل دائمیه.این داستان ادامه داره.فقطهر باربا وقاحت بیشتر.دروغی به بزرگی دنیا</description><category>احسان</category><author>احسان</author><pubDate>Sun, 25 Jan 2026 01:40:21 +0330</pubDate></item><item><title>ببخشید شما صلاحیت وصل شدن نداری! DPI چیه؟</title><link>https://virgool.ir/@ehsanghaffar/ببخشید-شما-صلاحیت-وصل-شدن-نداری-dpi-چیه-qgjhz0ciyanb</link><description>نگاه حاکمیت: اینترنت = امتیاز، نه حق عمومیدر نگاه حاکمیت ایران، اینترنت آزاد:یک «حق همگانی» نیستیک «امکان قابل‌مدیریت» استیعنی:هر کسی به اندازه‌ای که «مشکل‌ساز نباشه»،می‌تونه به اینترنت دسترسی داشته باشه.برای همین سیاست اصلی اینه:اینترنت رو کامل قطع نکنولی برای همه هم باز نذاراینترنت چندلایه: همه از یک در وارد نمی‌شنالان عملاً چند سطح دسترسی وجود داره:1️⃣ اینترنت عمومی (مردم عادی)کندناپایدارفیلترشدهVPNها مرتب قطع می‌شناین همون اینترنتیه که اکثر مردم باهاش سروکار دارن.2️⃣ اینترنت نیمه‌باز (کسب‌وکارها، شرکت‌ها)دسترسی پایدارترفیلتر کمترIPهای خاصمحدودیت کمتر روی بعضی سرویس‌ها📌 معمولاً با:درخواست رسمیمجوزیا قراردادهای خاص3️⃣ اینترنت تقریباً آزاد (نهادها و افراد خاص)دسترسی مستقیم به اینترنت جهانیبدون فیلتر جدیبدون نیاز به VPNسرعت و پایداری بالا📌 این سطح برای:نهادهای حکومتیرسانه‌های خاص!افراد «مورد اعتماد!»سیستم امنیتیDPI این وسط چه‌کار می‌کنه؟DPI ابزار تشخیص و تفکیکه.DPI فقط دنبال بستن نیست؛دنبال اینه بفهمه:این کاربر کیه؟از کجا وصله؟الگوی مصرفش چیه؟جزو کدوم «گروه» حساب می‌شه؟بعد بر اساس این‌ها:یکی رو ول می‌کنهیکی رو کند می‌کنهیکی رو ناپایداریکی رو کامل قطع📌 یعنی فیلترینگ هوشمند و انتخابیه.بعضیا اصلاً نیازی به VPN ندارن، چون:روی مسیرهایی هستن که فیلتر روش اعمال نمی‌شهIPشون در لیست‌های محدودکننده نیستDPI براشون «سخت‌گیری» نداره📌 نه به‌خاطر این‌که زرنگ‌ترنبلکه چون دسترسی‌شون فرق می‌کنه.برای مردم عادی VPN هم ناپایداره، چون:DPI فرض رو می‌ذاره روی «مشکوک بودن»VPN = تلاش برای خروج از کنترلپس یا قطع می‌شهیا عمداً بد کار می‌کنهولی برای بعضی مسیرها:VPN اصلاً حساسیت ایجاد نمی‌کنهیا حتی نیازی بهش نیستاینترنت ملی؛ اسم رمز این تفکیکهوقتی از «اینترنت ملی» حرف می‌زنن،در عمل یعنی:اینترنت جهانی برای عده‌ایاینترنت داخلی برای بقیهنه به‌صورت رسمی و یک‌شبه،بلکه:تدریجیبی‌سروصدابا توجیه «کیفیت» و «امنیت»خیلی ساده و واقعیاینترنت ایران «بسته یا باز» نیستطبقه‌بندی‌شده‌ستمدیریت‌شده، مشروط و قابل فشارهدسترسی آزاد تبدیل شده به امتیازمردم عادی در پایین‌ترین لایه‌انجمله آخرتو ایران امروز،مسئله این نیست که «اینترنت هست یا نه»مسئله اینه که برای کی(طبقه ات چیه) هست؟</description><category>احسان</category><author>احسان</author><pubDate>Thu, 22 Jan 2026 08:06:59 +0330</pubDate></item><item><title>به بهانه امنیت، میلیون‌ها نفر مجازات شدند!</title><link>https://virgool.ir/@ehsanghaffar/به-بهانه-امنیت-میلیون-ها-نفر-مجازات-شدند-cngpsjkczkha</link><description>من برنامه‌نویسم. ریموت کار میکنم کارم آنلاینه، زندگی‌م به اینترنته وصله. و الان دو هفته‌ست اینترنت قطعه.دو هفته یعنی چی؟یعنی دو هفته جلسه نرفتم.یعنی دو هفته نتونستم کد تحویل بدم.یعنی دو هفته فقط عذرخواهی کردم بابت چیزی که هیچ کنترلی روش ندارم.نه از تنبلی، نه از بی‌مسئولیتی. فقط چون کسانی که وظیفشون آسون کردن دسترسی به اینترنته، اینترنت رو قطع کردن!!!!می‌گن برای مقابله با تروریسمه. می‌گن برای امنیته.می‌گن «مجبور بودیم».باشه. فرض کنیم نیت همینه. اما سؤال ساده‌ست:چرا تاوان اینکه شما نمی تونین امنیت مردم رو حفظ کنین(کاری که وظیفتونه) رو منِ برنامه‌نویس باید بدم؟برای یه برنامه‌نویس ریموت، اینترنت سرگرمی نیست. اینترنت ابزار کاره. مثل اینه که بگی برای امنیت، ابزار کارت رو ازت می‌گیریم، ولی کارت رو ادامه بده!من با شرکت‌های خارج از ایران کار می‌کنم. نه سیاسی‌ام، نه شعار می‌دم، نه دنبال دردسرم.اما نتیجه یکیه:منم دارم مجازات می‌شم.واقعاً راه مقابله با تروریسم اینه؟ قطع کردن اینترنتِ میلیون‌ها آدم؟ این یعنی ناتوانی در هدف‌گیری، و راحت‌ترین راه: تنبیه جمعی.طرف خارجی منطق ساده‌ای داره. اگه آنلاین نیستی، اگه وسط جلسه غیب‌ت می‌زنه، اگه تحویل کارت عقب می‌افته،قابل اتکا نیستی. براش مهم نیست اینترنت کشورت چرا قطعه. حق هم داره.نتیجه؟ با یه ایمیل محترمانه من از پروژه حذف می‌شم. نه با دعوا، نه با هیاهو. آروم، حرفه‌ای، و کاملاً بی‌رحمانه.بعد همینا که کم کاری و بی عرضگیشونو میخوان با زور و فشار به مردم جبران کنن می‌پرسن:چرا برنامه‌نویس‌ها مهاجرت می‌کنن؟ چرا ارز وارد کشور نمی‌شه؟ چرا نیروی متخصص ناامیده؟ چرا معترضین؟!!نه توضیحی هست. نه زمان مشخصی. نه کسی که پاسخگو باشه فقط قطع. فقط سکوت.من دارم بدون رانت، بدون هزینه برای دولت، فقط با لپ‌تاپم پول وارد این کشور می‌کنم.اما شما اما به بهانه امنیت، حتی اینترنت رو هم ازم می‌گیرین.این فقط داستان من نیست. داستان هزاران آدمیه که نه مجرمن، نه تروریست، نه تهدید. فقط شغلشون به اینترنت وصله.پایانامنیت با قطع اینترنت و خفه کردن آزادی بیان به دست نمیاد. این اسمش مدیریت نیست. اسمش راه‌حل نیست.اسمش مجازات جمعیه.و قربانی‌هاش. آدمایی‌ان که فقط می‌خواستن کار کنن و زندگی کنن.</description><category>احسان</category><author>احسان</author><pubDate>Wed, 21 Jan 2026 00:11:54 +0330</pubDate></item><item><title>وقتی احمق ها همه کاره اند</title><link>https://virgool.ir/@ehsanghaffar/وقتی-احمق-ها-همه-کاره-اند-jp77w3f9ul4z</link><description>امروز متوجه شدم سرویس «دیپ‌سیک» رو داخلی کردن که مردم بتونن از هوش مصنوعی استفاده کنن. کنجکاو شدم و چک کردم.کر کردم شاید یه شوخی باشهخب به ظاهر خوبه، ولی مگه میشه؟ برای ورود به چنین سرویس‌هایی نیاز به ایمیل معتبر داری(معتبر از نگاه اونها نه حاکمیت)، بعدشم باید کپچا رو پاس کنی که اونم نیاز به اتصال به سرویس خودش رو داره. وقتی دسترسی به همه ی اونا قطعه عملا دیپ‌سیک هم بی استفاده اس.این دقیقا مثل این می‌مونه که بگن استخر رایگانه، اما درش رو قفل کنن و هیچ راهی برای ورود نذارند!مسئولینی که باید حداقل یه مقدار از مسائل فنی سرشون بشه، انقدر بی‌سواد و ناآگاهن که حتی مسائل ابتدایی رو نمی‌فهمن. هنوز درک نکردن که نمی‌شه یه بخش رو قطع کنی و فکر کنی بقیه سیستم‌ها درست کار می‌کنن! انگار می‌خوان موتور ماشین رو خاموش کنن و از ماشین توقع داشته باشن که حرکت کنه!حالا اگر بخوایم از یه دیدگاه بزرگ‌تر به قضیه نگاه کنیم، یه استارتاپی که می‌خواد با دنیا ارتباط برقرار کنه رو در نظر بگیرید. فرض کنید یه دانشجو می‌خواد مقاله‌ای علمی دانلود کنه یا با استادش که توی خارج از کشوره ارتباط برقرار کنه. وقتی اینترنت بین‌المللی قطعه، برای این افراد یعنی پایان کار. یعنی بی‌خبری. یعنی از قافله جهانی عقب موندن. یعنی برگشت به دوران قرون وسطی!سؤال اصلی اینجاست:افرادی که چنین تصمیماتی می‌گیرن، واقعاً یک مشت آدم بی‌سواد و احمق هستند که بدون فهمیدن فقط دستورات خودخواهانه‌شون رو صادر می‌کنن؟ آیا عمداً دارن کشور رو به سمت یک انزوا و عقب‌ماندگی فنی می‌برن، برای اینکه چیزی رو پنهان کنند یا چی؟</description><category>احسان</category><author>احسان</author><pubDate>Mon, 19 Jan 2026 22:31:28 +0330</pubDate></item><item><title>پیشنهاد فیلم برای این روزهامون</title><link>https://virgool.ir/@ehsanghaffar/پیشنهاد-فیلم-برای-این-روزهامون-fmgb4rfpjlgo</link><description>مردم نباید از دولت بترسن؛ این دولت‌ها هستن که باید از مردم بترسن.یه سرود برای آزادی، وسط تاریکیV for Vendetta فقط یه فیلم اکشن خفن نیست؛ یه فیلمه که هم هیجان داره، هم مغزت رو درگیر می‌کنه، هم تا مدت‌ها بعد از دیدنش ولت نمی‌کنه.این فیلم به موضوعاتی مثل اهمیت آزادی بیان، خطر تمامیت‌خواهی، و قدرت مقاومت فردی و جمعی می‌پردازه. &#34;V&#34; در طول فیلم بارها تاکید می‌کنه که آزادی ارزش هر قیمتی رو داره و برای به دست آوردنش باید مبارزه کرد.داستان فیلم:داستان توی یه بریتانیای آینده اتفاق می‌افته؛ جایی که یه حکومت دیکتاتوری با ترس، تبلیغات و کنترل رسانه‌ها کاری کرده مردم فقط گوش کنن، نه فکر، آزادی بیان عملاً نابود شده و همه‌چی به اسم «امنیت» توجیه می‌شه.تو همین فضا، یه آدم مرموز به اسم V پیدا می‌شه. یه شخصیت باهوش، کاریزماتیک و پر از زخم‌های قدیمی. اون با ماسک معروف گای فاکس میاد وسط میدون؛ ماسکی که سال‌هاست نماد اعتراض و شورشه.V فقط با حکومت نمی‌جنگه، با ترسی می‌جنگه که توی ذهن مردم کاشته شده. با کارهای نمایشی، حرف‌های تند و حرکت‌های حساب‌شده، مردم رو مجبور می‌کنه دوباره از خودشون بپرسن:«ما واقعاً آزادیم؟ یا فقط عادت کردیم ساکت باشیم؟»توی این مسیر، V با ایوی آشنا می‌شه؛ یه دختر جوون که اولش حسابی از کارهای V می‌ترسه و حتی باهاش مخالفه. ولی کم‌کم، با چیزایی که تجربه می‌کنه، می‌فهمه آزادی فقط یه شعار قشنگ نیست، یه انتخابه… اونم انتخابی که گاهی درد داره. تغییر شخصیت ایوی یکی از قشنگ‌ترین بخش‌های فیلمه.این فیلم یه جور فریاده برای:آزادی بیانایستادن جلوی دیکتاتوریمسئولیت آدم‌ها در برابر ظلمV توی فیلم مدام یادآوری می‌کنه که آزادی ارزون به دست نمیاد. اگه مردم حاضر نباشن براش هزینه بدن، همیشه یه قدرتی هست که میاد و ازش می‌دزدتش.اون جمله معروفش هنوزم می‌لرزه توی گوش آدم:مردم نباید از دولت بترسن؛ این دولت‌ها هستن که باید از مردم بترسن.🎭 بازی‌ها:هیوگو ویوینگ با اینکه کل فیلم ماسک به صورته، یه شخصیت فوق‌العاده می‌سازه. ناتالی پورتمن هم تو نقش ایوی واقعاً می‌درخشه.🎬 فضاسازی:فضای فیلم تیره، سنگین و خفقان‌آوره؛ دقیقاً همون حسی که یه جامعه سرکوب‌شده باید بده. موسیقی هم کاملاً می‌شینه رو تن فیلم.✍️ دیالوگ‌ها:پر از جمله‌های موندگاره؛ از اونایی که بعد فیلم هم هی تو ذهنت تکرار می‌شن.💥 اکشن:صحنه‌های اکشن فقط برای هیجان نیست، هر کدومش یه معنی پشتشه.جمع‌بندیV for Vendetta از اون فیلم‌هاست که فقط نگاهش نمی‌کنی، حسش می‌کنی.هم سرگرم‌کننده‌ست، هم یه تلنگر جدی می‌زنه.اگه فیلمی دوست داری که بعدش یه کم ساکت بشینی و فکر کنی—درباره آزادی، ترس و انتخاب—این دقیقاً همونه.</description><category>احسان</category><author>احسان</author><pubDate>Fri, 16 Jan 2026 23:42:31 +0330</pubDate></item><item><title>چرا همه وبسایت‌های ایران به زودی قابل هک میشن؟</title><link>https://virgool.ir/@ehsanghaffar/چرا-همه-وبسایت-های-ایران-به-زودی-قابل-هک-میشن-l7dad7qutmnd</link><description>اینو می‌دونی که امنیت وبسایت‌ها خیلی مهمه. فکر می‌کنی چون وبسایتت کوچیکه یا فقط برای عکسای سگت ساختی، در امانه؟ اشتباه فکر می‌کنی!SSL/HTTPS چیه اصلا؟یه جور قفل دیجیتالیه که اطلاعاتی که بین وبسایت و کاربر رد و بدل می‌شه رو رمزنگاری می‌کنه. یعنی اگه کسی بخواد اطلاعاتت رو بدزده، فقط یه مشت علامت بی‌معنی می‌بینه. این قفل معمولاً از طریق یه سرویس خارجی به وبسایتت وصل می‌شه.چرا SSL/HTTPS مهمه؟* امنیت اطلاعات: اطلاعات حساس مثل رمز عبور، اطلاعات کارت بانکی و... رو از دست هکرها دور نگه می‌داره.* اعتماد کاربر: وقتی کاربر ببینه وبسایتت امنه، بیشتر بهش اعتماد می‌کنه و احتمال اینکه دوباره برگرده بیشتره.* رتبه سئو: گوگل وبسایت‌های امن رو ترجیح می‌ده و رتبه‌شون رو بالاتر میبره.حالا مشکل چیه؟خیلی از وبسایت‌های ایران گواهینه‌شون منقضی شده یا به زودی میشه. این یعنی درِ وبسایتت به روی هکرها بازه! متاسفانه، برای گرفتن این قفل، معمولاً باید به یه سرویس خارجی متصل بشی.چه بلایی سرت میاد اگه SSL/HTTPS نداشته باشی؟* هک شدن وبسایت: هکرها می‌تونن به اطلاعاتت دسترسی پیدا کنن و وبسایتت رو خراب کنن.* سرقت اطلاعات کاربران: اطلاعات شخصی کاربرهات به سرقت می‌ره و ممکنه بهشون آسیب بزنه.* از دست دادن اعتبار: اعتبار وبسایتت پایین میاد و کاربرهات دیگه بهت اعتماد نمی‌کنن.پس چی کار کنیم؟خب، اینجاست که کار یکم سخت می‌شه. چون نمی‌تونی به اینترنت بین‌المللی وصل بشی، گرفتن SSL/HTTPS از بیرون امکان‌پذیر نیست.اما هنوزم می‌تونی یه سری کارها بکنی:* مراقب اطلاعات حساس باش: سعی کن اطلاعات شخصی کاربرهات رو تا حد امکان جمع نکنی.* به‌روزرسانی: نرم‌افزار وبسایتت رو همیشه به‌روز نگه دار تا از آسیب‌پذیری‌ها جلوگیری کنی.* رمزهای قوی: از رمزهای عبور قوی و متفاوت برای وبسایتت استفاده کن.* فایروال: اگه امکانش رو داری، یه فایروال (دیوار آتش) روی سرور وبسایتت نصب کن تا از ورود هکرها جلوگیری کنی.خلاصه کلام:حتی اگه نمی‌تونی SSL/HTTPS بگیری، با رعایت یه سری نکات ساده می‌تونی امنیت وبسایتت رو تا حدودی بالا ببری. یادت باشه، امنیت همیشه یه اولویت مهمیه!</description><category>احسان</category><author>احسان</author><pubDate>Fri, 16 Jan 2026 03:39:18 +0330</pubDate></item><item><title>مستندسازی (داکیومنت نویسی)</title><link>https://virgool.ir/@ehsanghaffar/what-is-documentation-lgfzkm0rjrpn</link><description>مستندسازی در توسعه نرم‌افزار جنبه‌ای حیاتی از فرآیند توسعه است که به توسعه‌دهندگان، ذینفعان و کاربران نهایی کمک می‌کند تا بفهمند برنامه‌های نرم‌افزار چگونه طراحی، ساخته و اجرا می‌شوند. در این مقاله به این می پردازیم که مستندسازی چیست، چرا ضروری است و بهترین روش ها برای ایجاد مستندات موثر.مستندسازی چیست؟مستندسازی به هر مطلب نوشتاری یا تصویری اشاره دارد که نحوه کارکرد یا نحوه استفاده از چیزی را توصیف می کند. برای توسعه نرم افزار، اسناد شامل همه چیز از نظرات کد، کتابچه راهنمای کاربر و مشخصات فنی گرفته تا اسناد طراحی، راهنمای مرجع API و یادداشت های انتشار است.چرا مستندسازی مهم است؟مستندسازی به چند دلیل ضروری است:ارتباطاتاسناد و مدارک ارتباط بین توسعه دهندگان، مدیران پروژه و ذینفعان را با ارائه زبان مشترک و درک برنامه نرم افزار تسهیل می کند. مستندات تضمین می کند که همه افراد درگیر در پروژه به اطلاعات یکسان دسترسی دارند و می توانند در صورت نیاز به آن مراجعه کنند.تعمیر و نگهداریمستندات با ارائه سوابق به‌روز از معماری، عملکرد و وابستگی‌های سیستم، نگهداری برنامه‌های نرم‌افزاری را آسان‌تر می‌کند. این به توسعه‌دهندگان کمک می‌کند تا مشکلات را شناسایی کرده و تغییرات را کارآمدتر انجام دهند.فرآیند ادغاممستندسازی به اعضای تیم جدید کمک می‌کند تا با ارائه دستورالعمل‌های واضح در مورد نحوه کار با نرم‌افزار، به سرعت به سرعت بالا بروند. این باعث کاهش زمان و منابع مورد نیاز برای آموزش اعضای جدید تیم می شود.رعایتبرای انطباق با الزامات نظارتی یا استانداردهای صنعت، اغلب به اسناد نیاز است. عدم وجود اسناد و مدارک مناسب می تواند منجر به عواقب حقوقی و مالی شود.بهترین روش ها برای ایجاد مستندات موثرایجاد مستندات مؤثر مستلزم درک روشنی از مخاطب، هدف و محتوای مستند است.در اینجا برخی از بهترین روش ها برای ایجاد مستندات مؤثر وجود دارد:مخاطب را تعریف کنیداولین قدم در ایجاد مستندات موثر، تعریف مخاطب هدف است. مستندات برای مخاطبان مختلف از جمله توسعه دهندگان، تحلیلگران تجاری، مدیران پروژه، کاربران نهایی و ذینفعان خارجی ایجاد می شود. هر مخاطبی نیازها و انتظارات متفاوتی دارد و مستندات باید متناسب با نیازهای او تنظیم شود.هدف را تعریف کنیدمرحله بعدی تعیین هدف مستندات است. هدف این سند می تواند ارائه یک نمای کلی از برنامه نرم افزاری، توضیح نحوه استفاده از نرم افزار، یا ارائه جزئیات فنی برای توسعه دهندگان باشد. تعریف هدف اسناد کمک می کند تا اطمینان حاصل شود که محتوا مرتبط است و نیازهای مخاطب را برآورده می کند.از زبان واضح و مختصر استفاده کنیددر اسناد باید از زبانی واضح و مختصر استفاده شود که به راحتی قابل درک باشد. تا حد امکان باید از اصطلاحات فنی یا اصطلاحات پیچیده اجتناب شود. استفاده از نمودارها، نمودارها و تصاویر می تواند به توضیح موثرتر مفاهیم پیچیده کمک کند.محتوا را سازماندهی کنیدمحتوا باید به شیوه ای منطقی سازماندهی شود تا خواننده به راحتی بتواند اطلاعات مورد نیاز خود را پیدا کند. از سرفصل‌ها، زیرعنوان‌ها و نقاط گلوله می‌توان برای شکستن متن و آسان‌تر خواندن آن استفاده کرد.آن را به روز نگه داریداسناد باید به روز نگه داشته شوند تا تغییرات در برنامه نرم افزار را منعکس کنند. اسناد قدیمی می تواند منجر به سردرگمی و خطا شود. یک سیستم کنترل نسخه می تواند برای مدیریت تغییرات در اسناد استفاده شود.درخواست بازخورددر نهایت، درخواست بازخورد از مخاطبان برای تعیین اینکه آیا مستندات نیازهای آنها را برآورده می کند ضروری است. بازخورد را می توان از طریق نظرسنجی، آزمایش کاربر یا ارتباط مستقیم با سهامداران به دست آورد.در نتیجه، مستندسازی برای موفقیت پروژه های توسعه نرم افزار بسیار مهم است. مستندات مؤثر ارتباطات را تسهیل می کند، تعمیر و نگهداری را ساده می کند، به سوار شدن کمک می کند و انطباق را تضمین می کند. با پیروی از بهترین شیوه ها برای ایجاد مستندات مؤثر، توسعه دهندگان می توانند اسنادی با کیفیت بالا ایجاد کنند که نیازهای مخاطبان هدف آنها را برآورده کند.برای دیدن مقاله‌های بیشتر این لینک رو ببینید.</description><category>احسان</category><author>احسان</author><pubDate>Mon, 24 Apr 2023 14:28:09 +0330</pubDate></item><item><title>ساخت HTML attribute با جاوااسکریپت</title><link>https://virgool.ir/ehsandev/ساخت-html-attribute-با-جاوااسکریپت-bihctcwh0zav</link><description>فرض کنید که لازمه که یک attribute برای یک element در HTML بسازید، و چاره ای جز نوشتن با جاوااسکریپت خالص ندارید. چطور انجامش بدیم؟ساخت HTML attribute با جاوااسکریپتبیان فرض کنیم یک button داریم که یک آی‌دی دارد، با استفاده از متد زیر انتخابش می‌کنیم: constbutton=document.querySelector(&#39;#mybutton&#39;) برای اضافه کردن attribute یا ویژگی به اون مراحل زیر رو اجرا می‌کنیم:ساخت attribute مورد نظرمقدار یا value اون رو مشخص می‌کنیمبعد attribute رو به element اضافه می‌کنیمconst attribute = document.createAttribute(&#39;id&#39;)attribute.value = `remove-${item.name}`button.setAttributeNode(attribute)در صورتی که element مورد نظر هم وجود نداشت، اول اون المنت رو می سازیم و بعد attribute خودمون رو بهش می‌دیم.مثال کامل:const button = document.createElement(&#39;button&#39;)const attribute = document.createAttribute(&#39;id&#39;)attribute.value = `some-value`button.setAttributeNode(attribute)button.textContent = &#39;Click me&#39;document.querySelector(&#39;.container&#39;)(button)برای دیدن سورس کد به گیت‌هاب من به در اینجا مراجعه کنید.دیگر آموزش‌های جاوا اسکریپت در وب‌سایت شخصیم هست.</description><category>احسان</category><author>احسان</author><pubDate>Thu, 26 Aug 2021 17:18:47 +0430</pubDate></item><item><title>پنجره دوجداره و اهمیت آن در خانه شما</title><link>https://virgool.ir/goldwin/پنجره-دوجداره-و-اهمیت-آن-در-خانه-شما-uchnqpoegnqs</link><description>خانه شما محلی برای استراحت و آرامش است. خانه شما را از شلوغی روزمره دور می‌کند. امنیت و آرامش شما و خانواده شما را فراهم می‌کند. از این رو، وقتی صحبت از فضای داخلی منزل شما می‌شود، باید در انتخاب محصولات مناسب بسیار محتاط باشید.پنجره یکی از اجزای خانه است و انتخاب آن از اهمیت بالایی برخوردار است.درب و پنجره‌های مناسب به شما کمک می‌کنند تا فضایی راحت و ایمن ایجاد کنید. آنها همچنین سبک زندگی شما را تقویت می کنند.  بنابراین، برای دستیابی به موارد فوق چه اقداماتی انجام می‌دهید؟ یک جواب مناسب درب و پنجره uPVC همه‌کاره و سازگار با محیط زیست است.سوال: UPVC چیست؟پلیمر uPVC یکی از قدیمی‌ترین پلیمرهای جهان است. uPVC مقرون به صرفه، غیرسمی و سازگار با محیط زیست است که در ساخت و ساز، حمل و نقل، صنایع و غیره مورد استفاده قرار می گیرد. این پنجره ها همچنین نقش بسزایی در حفظ دکوراسیون منزل و اطمینان از امنیت ساکنان دارند.سوال: مزایای استفاده از پنجره‌های یو پی وی سی چیست؟سیستم‌های پنجره uPVC تهویه متقابل طبیعی را افزایش می‌دهند. پنجره ها و درهای uPVC با کیفیت خوب در برابر اشعه UV مقاوم هستند و به دلیل گرما، رطوبت یا آلودگی آسیب نمی‌بینند. این پنجره‌ها به راحتی تمیز می‌شوند و نیازی به رنگ‌آمیزی یا شستشو ندارند، این امر به طور قابل توجهی زمان و هزینه مورد نیاز برای ترمیم و تعمیر آنها در بلند مدت می‌کاهد.از دیگر مزایای پنجره‌های دوجداره، می‌توان به طور خلاصه به موارد زیر اشاره کرد:کاهش مصرف و در نتیجه هزینه انرژی برق و گاز کاهش ورود صدای بیرون تا ۷۰ درصدجلوگیری از عبور اشعه‌ی UV به دلیل استفاده از شیشه دوجداره و فاصله بین آنهاو البته مزایای دیگر که در مقاله راهنمای جامع خرید پنجره قابل دسترسی است.مزایای پنجره دوجدارهجمع‌بندی با استفاده از پنجره‌های نوین Upvc می‌توانید خانه‌های خود را گرمتر، دنجتر و با اطمینان خاطر بیشتر حفظ کنید. راه حل‌های مثل AIS VUE اعم از سروصدا، گرد و غبار، گرما و یا حتی سارقین به شما کمک می کند تا &#34;ناخواسته ها&#34; از ورود به خانه مدرن و شیک خود جلوگیری کنید.</description><category>احسان</category><author>احسان</author><pubDate>Thu, 04 Mar 2021 05:12:25 +0330</pubDate></item></channel></rss>