<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های Bita_Delavar</title><link>https://virgool.ir/feed/@Bita_Delavar</link><description>مهندس نرم‌افزار.&#xA;کمی نویسنده&#xA;مسلط به زبان‌های انگلیسی، ترکی استانبولی و آلمانی</description><language>fa</language><pubDate>2026-11-10 20:38:11</pubDate><image><url>https://files.virgool.ir/upload/users/1162832/avatar/CRAbF7.jpg</url><title>Bita_Delavar</title><link>https://virgool.ir/@Bita_Delavar</link></image><item><title>تجربه‌ی خوندن کتاب  Engineering AI Systems: Architecture and DevOps Essentials</title><link>https://virgool.ir/@Bita_Delavar/تجربه-ی-خوندن-کتاب-engineering-ai-systems-architecture-and-devops-essentials-mv4ptavffusk</link><description>وقتی فهمیدم ساختن یک مدل AI تازه اول ماجراست و این رشته سر دراز دارد!😃من این کتاب رو با این تصور شروع کردم که خب، قراره یک کتاب درباره‌ی مهندسی سیستم‌های هوش مصنوعی بخونم و احتمالاً با کلی مدل، الگوریتم و اصطلاحات مربوط به AI سر و کله بزنم.(یکی نیست بگه شما تصور نکن، اونم با این حجم از Accuracy 😁) ولی زهی خیال باطل!هرچی جلوتر رفتم، بیشتر متوجه شدم ماجرا اصلاً این نیست! 😅کتاب بیشتر از اینکه فقط درباره‌ی هوش مصنوعی باشه، درباره‌ی اینه که وقتی یک مدل AI قرار شد که وارد یک سیستم نرم‌افزاری واقعی بشه، حالا باید باهاش طوری تا کنیم؟چون ساختن یک مدل که روی یک Dataset خوب Accuracy قابل قبولی بده، با ساختن یک سیستم واقعی که قرار باشه هزاران کاربر ازش استفاده کنن، زمین تا آسمون فرق داره.اینجا دیگه فقط مدل مهم نیست؛داده مهمه، معماری مهمه، زیرساخت مهمه، Deployment مهمه، Monitoring مهمه، Security مهمه، Privacy مهمه، حتی Fairness همه چی خلاصه. همه چی مهمه.این‌که اصلاً چطور بفهمیم چی مهمه و سیستممون داره چه غلطی می‌کنه هم مهمه! 😂و به نظرم دقیقاً همین نگاه، جذاب‌ترین بخش کتابه.خب حالا بریم تو دل ماجرا ببینیم چرا و چه خبره؟اول به این سوال جواب بدیم که اصلاً AI System یعنی چی؟یکی از اولین چیزهایی که کتاب سعی می‌کنه از هم تفکیک کنه، تفاوت بین AI Model و AI System هست.چیزی که شاید در نگاه اول خیلی بدیهی به نظر برسه، ولی اگر یکم دقیق‌تر بشیم، می‌بینیم اتفاقاً خیلی از مشکلات از همین‌جا شروع می‌شن.مدل فقط یک بخش از سیستم محسوب می‌شه.اما ما در یک سیستم AI با مجموعه‌ای از اجزا طرفیم:AI Systems= Data + Model + Software + Infrastructure + Dev + Opsیعنی اگر یک مدل فوق‌العاده دقیق داشته باشیم ولی داده‌ی مناسبی نداشته باشیم، سیستم خوبی نداریم.اگر مدل خوب باشه ولی سیستم کند و پرهزینه باشه، باز هم مشکل داریم.اگر همه‌چیز خوب باشه ولی نتونیم بفهمیم چرا مدل بعضی وقت‌ها تصمیم‌های عجیب می‌گیره، باز مشکل داریم.و اگر همه‌ی این‌ها خوب باشه ولی داده‌های حساس کاربران رو بی‌هوا وسط سیستم پخش کنیم... خب دیگه اینجا واقعاً شاهکار کردیم و لایق کاپ قهرمانی هستیم😌کتاب دقیقاً از همین نگاه شروع می‌کنه که باید کل سیستم رو مهندسی کنیم، نه فقط مدل رو.و اینجاست که پای مهندسی نرم‌افزار و معماری میاد وسط. از Software Engineering تا AI Engineeringیکی از چیزهایی که در طول مطالعه‌ی کتاب برام جالب بود اینه که نویسنده‌ها AI مهندسی سیستم‌های هوش مصنوعی رو یک دنیای کاملاً جدا از Software مهندسی نرم‌افزار نمی‌بینن.اتفاقاً برعکس.خیلی از مفاهیمی که در مهندسی نرم‌افزار داریم، هنوز سر جاشون هستن؛ فقط وقتی AI وارد سیستم می‌شه، گل به سبزه آراسته میشه🌱🌸 و بعضی از مسائل پیچیده‌تر می‌شن.مثلاً ما همچنان Architecture داریم، Lifecycle داریم، Deployment داریم، Testing داریم، Monitoring داریم و باید به Quality Attributes فکر کنیم.اما حالا یک موجود جدید هم وسط ماجرا داریم به اسم Model که رفتار اون همیشه کاملاً قابل پیش‌بینی نیست.و همین عدم قطعیت داستان رو جالب‌تر می‌کنه.در یک نرم‌افزار معمولی، اگر یک تابع مشخصی رو با ورودی مشخص صدا بزنیم، انتظار داریم خروجی مشخصی بگیریم.اما وقتی پای مدل‌های AI وسط میاد، رفتار سیستم می‌تونه به داده، Training، تغییرات محیط، تغییر توزیع داده و خیلی چیزهای دیگه وابسته باشه.پس مهندسی AI یعنی باید یاد بگیریم چطور این موجود کمی غیرقابل‌پیش‌بینی رو داخل یک سیستم مهندسی‌شده قرار بدیم.اینطوری بگم که تو سیستم‌های نرم‌افزاری ما معمولا یک مسیر داریم:حالا در سیستم‌های AI، علاوه بر نرم‌افزار و مسیر بالا، باید حواسمون به Data و Model هم باشه.چرا؟ چون: ممکنه داده‌های جدید وارد سیستم بشن.ممکنه رفتار کاربران تغییر کنه.ممکنه عملکرد مدل به مرور افت کنه.ممکنه Data Drift اتفاق بیفته.ممکنه مدل نیاز به Retraining داشته باشه.و بنابراین برخلاف یک نگاه ساده که می‌گه:خب مدل رو Train کردیم، Deploy هم کردیم، و صدق الله علی عظیم! تازه باید آستین بالا بزنی و بگی بسم الله الرحمن و رحیمچون وقتی که فکر کردی تموم شده، تازه اینجاست که MLOps وارد بازی می‌شه.MLOps کمک می‌کنه چرخه‌ی حیات مدل، داده و سیستم رو تا حد امکان قابل تکرار، قابل مدیریت و قابل پایش کنیم.در واقع، اگر DevOps تلاش می‌کنه فرآیند توسعه و عملیات نرم‌افزار رو منسجم‌تر و خودکارتر کنه، MLOps همین نگاه رو با پیچیدگی‌های خاص سیستم‌های یادگیری ماشین ترکیب می‌کنه.یک سیستم خوب فقط Accurate نیست!این شاید یکی از مهم‌ترین چیزهایی باشه که کتاب روی اون تأکید داره.ما خیلی وقت‌ها وقتی درباره‌ی یک مدل AI حرف می‌زنیم، سریع می‌ریم سراغ Accuracy.مثلاً:مدل ۹۵ درصد Accuracy داره!خب... خیلی هم عالی! دمش گرم👏🏻ولی بعدش چی؟اگر مدل برای پاسخ دادن ۳۰ ثانیه زمان نیاز داشته باشه چی؟اگر هزینه‌ی اجرای اون خیلی زیاد باشه چی؟اگر در برابر یک حمله آسیب‌پذیر باشه چی؟اگر اطلاعات خصوصی کاربران رو لو بده چی؟اگر برای بعضی گروه‌ها عملکرد ناعادلانه‌ای داشته باشه چی؟اگر بعد از مدتی عملکردش افت کنه و ما اصلاً متوجهش نشیم چی؟اینجاست که کتاب وارد بحث Quality Attributes می‌شه و نشون می‌ده کیفیت یک سیستم AI خیلی بزرگ‌تر از Accuracy مدلشه.Reliability؛ سیستم وقتی خراب شد چه کار می‌کنه؟یکی از اولین ویژگی‌هایی که کتاب جدی بررسی می‌کنه، Reliability یا قابلیت اطمینانه.و منظور فقط این نیست که سیستم معمولاً کار کنه.سؤال اینه:وقتی یک چیزی خراب شد، چی می‌شه؟آیا کل سیستم می‌خوابه؟آیا می‌تونیم Failure رو تشخیص بدیم؟آیا سیستم می‌تونه Recovery انجام بده؟آیا Failure یک جزء باعث از کار افتادن کل سیستم می‌شه؟اینجا مفاهیمی مثل Fault Tolerance، Recovery، Redundancy و مدیریت Failure اهمیت پیدا می‌کنن.و این دقیقاً همون جاییه که معماری نرم‌افزار خودش رو نشون می‌ده.چون خیلی از تصمیم‌های مربوط به اینکه سیستم در شرایط خراب شدن چطور رفتار کنه، باید قبل از اینکه سیستم خراب بشه در معماری دیده شده باشن.Performance؛ سریع‌تر همیشه بهتر نیست!Performance هم فقط سرعت نیست.در یک سیستم AI ممکنه با مفاهیمی مثل:Latency  (تاخیر)Throughput (توان عملیاتی)Efficiency (کارایی)Resource Usage (مصرف منابع)Accuracy (دقت) سر و کار داشته باشیم.و اینجا یک مسئله‌ی جالب داریم: معمولاً نمی‌تونیم همه‌چیز رو هم‌زمان تا بی‌نهایت زیاد کنیم هم خرمالو بخوایم و هم خرما رو!مثلاً یک مدل پیچیده‌تر ممکنه Accuracy بیشتری بده، ولی در عوض منابع بیشتری مصرف کنه و Latency رو بالا ببره.پس معماری باید یک Trade-off منطقی ایجاد کنه.گاهی بهترین مدل، دقیق‌ترین مدل نیست.گاهی بهترین راه‌حل، پیچیده‌ترین راه‌حل نیست.و گاهی یک مدل ساده که سریع، ارزان و قابل‌اعتماد کار می‌کنه، خیلی بیشتر از یک مدل خفن و پرهزینه به درد سیستم واقعی می‌خوره.که خب این قسمت برای ما مهندس‌ها خیلی آشناست:پیچیده‌تر الزاماً به معنی بهتر نیست. Security؛ چون AI هم بالاخره از دنیای واقعی فرار نکرده!وقتی AI وارد یک سیستم واقعی می‌شه، دیگه با یک مدل بی‌گناه گوشه‌ی لپ‌تاپ طرف نیستیم! سیستم AI هم باید در برابر تهدیدها محافظت بشه.کتاب در این بخش به مفاهیمی مثل Threat Modeling، Authentication، Authorization، Least Privilege و Zero Trust می‌پردازه.که تقریبا با همه‌شون آشنایید اما شاید مفهوم Zero Trust جدیدتر و جالب‌تر باشه. این مفهوم میگه که: قرار نیست فقط چون یک کاربر یا یک سرویس داخل محیط ما قرار داره، بهش اعتماد کنیم.باید هویت و مجوز بررسی بشه و دسترسی فقط در حد نیاز داده بشه.از طرف دیگه، سیستم‌های AI تهدیدهای خاص خودشون رو هم دارن؛ چون اینجا علاوه بر نرم‌افزار و زیرساخت، داده و مدل هم بخشی از سطح حمله هستن.یعنی من فرض رو بر این می‌ذارم که آقا شما بدی، تا وقتی که خلافش رو ثابت کنی. همینم که هست😌Privacy و Fairness؛ دو تا موضوعی که نمی‌شه گذاشت برای آخر کاروقتی یک سیستم AI با داده‌های واقعی آدم‌ها کار می‌کنه، Privacy دیگه یک گزینه‌ی دکوری و برای کلاس گذاشتن نیست!(در نظر بگیر اون لامصب رو😂)باید بدونیم چه داده‌ای جمع می‌کنیم، کجا ذخیره می‌کنیم، چه کسی بهش دسترسی داره و مدل از این داده‌ها چه چیزهایی می‌تونه یاد بگیره یا حتی آشکار کنه.تاااازه از اون طرف، Fairness هم مطرحه.اگر داده‌های آموزشی سوگیری داشته باشن، مدل هم ممکنه این سوگیری رو یاد بگیره.و این یعنی ممکنه یک سیستم از نظر فنی خیلی خوب کار کنه، ولی برای بعضی گروه‌ها رفتار مناسبی نداشته باشه.(همینطوری الکی با تیپشون حال نکنه😌) پس Fairness هم مثل Security و Privacy چیزی نیست که آخر پروژه یک چک‌لیست بذاریم کنارش و بگیم:✅️ انجام شد خداحافظ!باید از همون مراحل طراحی و جمع‌آوری داده بهش فکر کنیم.Observability؛ فقط نپرس «سیستم سالمه؟»، بپرس «چرا؟»یکی از مفاهیمی که شخصاً برای من خیلی جذاب بود Observability بود.Monitoring معمولاً به ما می‌گه:چه اتفاقی افتاده؟ولی Observability کمک می‌کنه بفهمیم:چرا این اتفاق افتاده؟و این تفاوت کوچیکی نیست.در یک سیستم AI، ممکنه ببینیم Accuracy پایین اومده.خب چرا؟داده تغییر کرده؟مدل Drift کرده؟یک سرویس Down شده؟Pipeline مشکل داشته؟ورودی‌ها تغییر کردن؟یا اصلاً یک تغییر کوچک در یکی از اجزای سیستم باعث این اتفاق شده؟اینجاست که Logs، Metrics، Traces، Events و Feedback اهمیت پیدا می‌کنن.و به نظرم این یکی از جاهایی بود که ارتباط AI و معماری نرم‌افزار خیلی واضح خودش رو نشون می‌ده.چون وقتی سیستم پیچیده‌تر می‌شه، فقط ساختنش مهم نیست؛ باید بتونیم بفهمیم داخلش چه خبره.خب این‌ها فقط خیالات نویسنده‌ن یا واقعاً در سیستم‌های واقعی هم کاربرد دارن؟!اینجا کتاب وارد چند Case Study می‌شه و به نظرم این بخش خیلی کمک می‌کنه که همه‌ی بحث‌های قبلی رو کنار هم بذاریم.مثلاً در Case Study مربوط به Fraunhofer، یک سیستم Machine Learning از مرحله‌ی PoC تا Production بررسی می‌شه.و نکته جالب اینه که در Production، صرفاً داشتن یک مدل خوب کافی نیست.Monitoring، Feedback، Retraining و حتی ترکیب مدل با Rules و Heuristics وارد معماری می‌شن.یعنی دوباره برمی‌گردیم به همون حرف اول:مدل، کل سیستم نیست. مدل یک بخشی از سیستمه.RAG؛ وقتی مدل قرار نیست همه‌چیز رو خودش بدونه!در Case Study مربوط به ARM Hub، کتاب سراغ یک RAG-based Chatbot می‌ره.اینجا به جای اینکه انتظار داشته باشیم LLM همه‌ی اطلاعات تخصصی سازمان رو از قبل بدونه، یک Knowledg Base داریم و اطلاعات مرتبط از طریق Retrieval پیدا می‌شن و در اختیار مدل قرار می‌گیرن.اگر بخوام خیلی ساده بگم، روندش اینطوریه: و باز هم می‌بینیم که LLM فقط یکی از اجزای ماجراست.ETL داریم، Ingestion داریم، Knowledge Base داریم، Retrieval داریم، Model داریم و در نهایت MLOps و فرآیندهای نگهداری سیستم هم داریم.(بیا اینور بازار، همه چی داریم😌❤️)یعنی حتی وقتی از یکی از داغ‌ترین تکنولوژی‌های AI یعنی RAG حرف می‌زنیم، باز هم بدون معماری نرم‌افزار نمی‌تونیم یک سیستم واقعی و قابل اتکا داشته باشیم.بانکداری؛ وقتی مدل باید با دنیای واقعی کنار بیادCase Study مربوط به بانکداری هم از همین زاویه جالبه.مثلاً در Customer Churn Prediction هدف اینه که احتمال ترک مشتری پیش‌بینی بشه تا قبل از اینکه مشتری واقعاً بانک رو ترک کنه، اقدامات لازم انجام بشه.(پیشگیری بهتر از درمانه خلاصه)ولی باز هم فقط Accuracy مدل مطرح نیست.Data Quality، Model Calibration، Privacy، Security، Compliance و MLOps هم وارد بازی می‌شن.چون وقتی داریم درباره‌ی داده‌های حساس بانکی و تصمیم‌هایی صحبت می‌کنیم که ممکنه روی مشتری واقعی تأثیر بذارن، یک مدل نسبتاً دقیق به تنهایی کافی نیست.اینجا دیگه واقعاً با یک سیستم مهندسی‌شده طرفیم و باید بدونیم چطوری باهاش تا کنیم. آخر کتاب؛ آینده‌ای که خیلی هم دور نیست!بعد از اینکه کتاب از مبانی شروع می‌کنه، از AI و مدل‌ها عبور می‌کنه، چرخه‌ی حیات و Quality Attributes رو بررسی می‌کنه و چند Case Study واقعی رو نشونمون می‌ده، در فصل آخر می‌رسه به یک سؤال:حالا آینده‌ی AI Engineering چی می‌شه؟بحث‌هایی مثل DevOps 2.0، AI-as-Software و نقش انسان در سیستم‌های AI مطرح می‌شن.یکی از ایده‌های جالب اینه که ممکنه در آینده بخش بیشتری از منطق نرم‌افزار به جای اینکه به شکل Code سنتی نوشته بشه، در مدل‌های AI قرار بگیره.ولی این به معنی حذف مهندس نرم‌افزار نیست.اتفاقاً شاید برعکس.هرچی سیستم‌ها پیچیده‌تر بشن، نیاز به آدم‌هایی که بتونن این سیستم‌ها رو طراحی، معماری، کنترل، پایش و قابل اعتماد کنن بیشتر می‌شه.پس شاید آینده این نباشه که:AI جای مهندس رو می‌گیره.بلکه بیشتر شبیه این باشه که:مهندس + AI → یک مدل جدید از مهندسی نرم‌افزارخلاصه مهندسین نرم‌افزار عزیز فعلا نگران نباشین، حالا فعلا امنه ادامه‌ش هم خدا بزرگه، چو آینده شود فکر آینده کنیم.😅و در نهایت چیزی که از این کتاب با من موند...اگر بخوام کل این کتاب رو در یک جمله خلاصه کنم، احتمالاً می‌گم:ساختن یک مدل AI، پایان کار نیست؛ تازه شروع مهندسی یک سیستم AI هست.چیزی که این کتاب برای من جالب کرد این بود که AI رو از حالت یک مدل هوشمند بیرون میاره و می‌ذاره وسط دنیای واقعی نرم‌افزار.دنیایی که در اون باید با Failure کنار بیای.باید Performance رو مدیریت کنی.باید حواست به Security و Privacy باشه.باید مراقب Fairness باشی.باید بفهمی سیستم چرا خراب شده.باید Data و Model رو در طول زمان مدیریت کنی.و در نهایت باید کاری کنی که همه‌ی این قطعات کنار هم، تبدیل به یک سیستم قابل اعتماد بشن.به نظرم جذاب‌ترین بخش ماجرا هم همینجاست.چون وقتی درباره‌ی AI حرف می‌زنیم، خیلی راحت جذب خود مدل می‌شیم؛ اینکه چند میلیارد پارامتر داره، چقدر Accuracy داره، چه Benchmarkی رو زده و چه کار عجیب و غریبی می‌تونه انجام بده.(آواز دهل از دور خوش است😶)ولی وقتی از زاویه‌ی مهندسی نرم‌افزار نگاه می‌کنی، سؤال عوض می‌شه.دیگه فقط نمی‌پرسی:این مدل چقدر باهوشه؟می‌پرسی:می‌تونیم باهاش یک سیستم بسازیم که واقعاً بشه بهش اعتماد کرد؟و فکر می‌کنم دقیقاً همین سؤال، هسته‌ی اصلی کتاب Engineering AI Systems باشه.در نهایت، برای من این کتاب بیشتر از اینکه یک کتاب درباره‌ی AI باشه، یک یادآوری بود که:هر تکنولوژی قدرتمندی، وقتی وارد دنیای واقعی می‌شه، به مهندسی خوب نیاز داره.حتی اگر اون تکنولوژی خودش قرار باشه روزی بخشی از کار مهندس‌ها رو انجام بده. 😄ولی فعلا نترسید، ما همه با هم هستیم 😁❤️خب خب خیلی ممنونم بابت وقتی که برای خوندنش گذاشتید، امیدوارم براتون مفید بوده باشه و انگیزه‌ای بشه برای مطالعه این کتاب خوبو همچنین یک تشکر ویژه از استاد عزیزم، دکتر صادق علی‌اکبری هیات علمی گروه نرم‌افزار دانشکده مهندسی کامپیوتر دانشگاه شهید بهشتی تهران که طبق معمول بانی خیر شدن و باعث شدن با این کتاب جذاب آشنا بشمچون مطالعه این کتاب بخشی از تمرین‌های درس معماری نرم‌افزار دانشگاه شهید بهشتی هست.ممنونم از توجهتون تنتون سالم و دلتون گرم و آروم🧡</description><category>Bita_Delavar</category><author>Bita_Delavar</author><pubDate>Wed, 12 Aug 2026 09:07:13 +0330</pubDate></item><item><title>زمزمه گل‌های ارغوانی</title><link>https://virgool.ir/@Bita_Delavar/زمزمه-گل-های-ارغوانی-hevo9wruh6vn</link><description>اِ‌‌سکادیا، شاهدخت زیبای برف و یخ.با چشم‌هایی ارغوانی و موهای بلندِ روشن‌‌ آراسته به کریستال‌های یخی،کوچک‌ترین دخترِ پادشاهِ فصل‌ها و دردانه‌ی زمستان بود.  شاهدختی یخی با قلبی گرم؛ قلبی که سال‌ها در سکوت، دلباخته‌ی فرمانده‌ی تابستان، آرشید بود.  عشقی محکوم به دوری.  بی‌هیچ بوسه‌ای،  لمسی  و حتی آغوشی.آرشید، مردی جوان و بااقتدار بود؛  با موهای مشکی و چشم‌هایی طلایی، درخشان چون پرتوهای خورشید.  او نیز شیفته‌ی اسکادیا بود؛  مجذوب آن چشمان ارغوانی جادویی.اما این عشق، برای او نیز جز حسرت و دوری، چیزی به ارمغان نیاورده بود.نفرینی میان آن دو ایستاده بود؛  نفرینی که ریشه‌هایش عمیق‌تر و کهن‌تر از این عشق عظیم بود.  نفرینی باستانی که دخترِ زمستان و فرزندِ تابستان را از لمس یکدیگر بازمی‌داشت؛  و هشدار می‌داد که اگر این دو به هم برسند،  بهایش جدایی ابدی خواهد بود.آن روزگار، فصل‌ها هنوز در تعادل بودند  و صلح میان نیروهای طبیعت برقرار.  تا آن‌که یک روزِ تابستانی،  شورشی بزرگ برخاست.  شیاطینِ آتش برای تصرف زمین به پا خاستند. شاهزاده‌ها و شاهدخت‌ها،  پریان و جنیان  و فرماندهانِ تمام فصل‌ها،  شانه‌به‌شانه جنگیدند  تا فصل‌ها را نجات دهند،  زندگی را  صلح را نجات دهند.و سرانجام پیروز شدند؛  هرچند به سختی،  هرچند با بهایی سنگین.بسیاری از جنگ بازگشتند،  اما بسیاری نیز هرگز بازنگشتند.  در میان بازگشتگان، آرشید نبود.  چشم‌های اسکادیا بی‌قرار، او را جست‌وجو می‌کرد  اما او نبود.  برنگشته بود...  و دیگر هم بازنمی‌گشت.قلب اسکادیا شکست.  با شتاب به سوی میدان جنگ دوید،  تا برای آخرین بار معشوقش را ببیند؛  تا برای آخرین بار،  چشمانش عشق را در صورت او جست‌وجو کند.آرشید را دید.  آتش، بدنش را سوزانده بود،  اما هنوز نفس می‌کشید.  هنوز برای زندگی می‌جنگید،  برای دیدن دوباره‌ی چهره‌ی اسکادیا.به‌سختی چشمان طلایی‌اش را گشود و لبخند زد.  و با صدایی ضعیف گفت:«پس توانستم دوباره تو را ببینم... خوشحالم.  حالا دیگر، جز تنها گذاشتنت در این دنیا، حسرتی ندارم.  برای من دیدنت کافی بود؛  تمام این سال‌ها، فقط دیدنت برایم کافی بود.  اینکه بدانم تو وجود داری، برایم کافی بود،  بانوی زمستانِ چشم‌ارغوانی.»و با آخرین و زیباترین تصویرِ زندگی‌اش،  زندگی را رها کرد.اسکادیا او را در آغوش گرفت؛  در حالی که اشک‌های یخی از چشمانش فرو می‌ریخت،  آرام گفت:«برای من هم کافی بود که بدانم تو وجود داری...  که جایی در این دنیا نفس می‌کشی  و زندگی می‌کنی،  حتی اگر دیگر هرگز نبینمت.»سپس صورت آرشید را در دستانش گرفت،  در میان اشک‌ها لبخند زد،  پیشانی‌اش را بوسید  و تمام نیروی زندگی‌اش را،  تمام سرمای وجودش را،  به او بخشید.«تو زنده می‌مانی...  اما امیدوارم روزی بدانی  که با هر بار دیدنت،  چند بار قلبم به وجد آمد  و فشرده شد.»آرشید زنده ماند  و اسکادیا محو شد.  اما از آن پس،  در روزِ مرگِ اسکادیا،  گلی متولد شد؛  گلی به رنگ چشمانش،  گلی که در تابستان و زیر نور خورشید  به اوج زیبایی می‌رسید.  و هر بار که نسیمِ تابستانی از میانش می‌گذشت،  در گوش رهگذران زمزمه می‌کرد:«برای اینکه بدانی،  با دیدنت چند بار قلبم به وجد آمد  و فشرده شد...»سال‌ها از آن ماجرا گذشته است،  اما هنوز هم در فصل تابستان،  در سرتاسر جهان،  تکه‌های روحِ اسکادیا  در قالب گل‌هایی به رنگ چشم‌هایش شکوفا می‌شوند  و همان زمزمه را با خود دارند:برای اینکه بدانی با دیدنت، چند بار قلبم به وجد آمد و فشرده شد.~بیتا دلاور✨❄️پ.ن ۱: چون یک قلب در عین به وجد اومدن، می‌تونه فشرده بشه…پ.ن۲: چند وقت پیش تو دانشگاه این گل رو دیدم و این داستان رو در موردش نوشتم.ولی نمی‌دونستم چقدر خوبه که ببینم به اشتراکش بذارم یا نه، ولی خب گذاشتم بالاخره😶 پ.ن۳: این گل تو تابستون گل میده و به اسم‌های گل ابریشم، گل کاغذی درختی و کرپ‌میرتل هم شناخته میشهو بیشتر به گل ابریشم معروفه، چون گلبرگ‌هاش چین‌خورده و لطیف شبیه پارچه‌ی ابریشمه.پ.ن۴: اسم‌هایی که انتخاب کردم رو خودم از ترکیب معانی مختلف چند کلمه ساختم و با داستان و شخصیت‌ها هماهنگه.پ.ن۵: عکس گل که هیچی اما اون یکی عکس حاصل چندین ساعت مذاکره با هوش مصنوعی برای ساختن چیزی بود که تو ذهنمه تا تصورش بهتر بشه😁💛 پ.ن ۶: طولانی بود ولی از تمام عزیزانی که برای خوندنش وقت گذاشتن ممنونم، باعث خوشحالیمه و امیدوارم دوستش داشته باشید.🧡</description><category>Bita_Delavar</category><author>Bita_Delavar</author><pubDate>Thu, 06 Aug 2026 08:48:59 +0330</pubDate></item><item><title>باز هم بیا به دیدنم</title><link>https://virgool.ir/@Bita_Delavar/باز-هم-بیا-به-دیدنم-yxf3znj74dx6</link><description>می‌دونم رفتی؛اما باز هم بیا به دیدنم...مثل بارونِ تابستونی،مثل یک خوابِ خوب، وسطِ کابوسِ زندگی،مثل گرمای خورشید، توی یک روزِ سردِ زمستونی...باز هم بیا به دیدنم؛مثل لبخندی بی‌هوا، میانِ اشک‌ها،مثل آشنای سال‌های دور، در سرزمینی غریب...باز هم بیا به دیدنم؛حتی با نامی دیگر،حتی کم،حتی دیر...باز هم بیا به دیدنم….~بیتا دلاور پ.ن: این نوشته یکم پیش به ذهنم رسید، حدودا دو ماهی میشه که چیزی ننوشتم. اصلا مطمئن نیستم خوب شده یا نه. 🫠ولی ممنونم که خوندید🧡</description><category>Bita_Delavar</category><author>Bita_Delavar</author><pubDate>Tue, 14 Jul 2026 22:04:08 +0330</pubDate></item><item><title>تجربه‌ی خوندن 🐦‍🔥The Phoenix Project؛ یک رمان‌ مهندسی برای همه‌ی ماهایی که برای یک بار هم که شده با سیستم جنگیدیم!</title><link>https://virgool.ir/@Bita_Delavar/تجربه-ی-خوندن-the-phoenix-project-یک-رمان-مهندسی-برای-همه-ی-ماهایی-که-برای-یک-بار-هم-که-شده-با-سیستم-جنگیدیم-dbykuzrmpoip</link><description>من این کتاب رو برای یک مطالعه‌ی مرتبط با معماری و مهندسی نرم‌افزار شروع کردم، ولی وسطش فهمیدم The Phoenix Project بیشتر از اینکه یک کتاب مرتبط با DevOps باشه، یک آینه‌ی تمام‌قد هست. آینه‌ای که خیلی از دردهای رایج تیم‌های نرم‌افزاری رو (با اسم و رسم و داستان و دیالوگ) می‌ذاره جلوت تا ببینی چطور گاهی خودمون عامل اصلی آشفتگی‌های تیم‌مون هستیم!از اون کتاب‌هاست که حین خوندنش چند بار با خودت می‌گی: «نه بابا… این دقیقاً همون چیزیه که ما هفته پیش تو جلسه با مدیر فنی درباره‌ش بحث می‌کردیم!» (البته با این تفاوت که تو کتاب یکم پیاز داغش زیاده🧅🔥و بحران‌ها معمولاً خیلی سینمایی‌تر و پر سر و صداتر رخ می‌دن🎬🎇؛ هر چند که واقعیت هم کم از سینما نداره، فقط جلوه‌های ویژه‌ش کمتره 😄).به هر حال من سعی می‌کنم خلاصه و برداشت کوتاهی از کتاب رو اینجا باهاتون به اشتراک بذارم، امیدوارم دوستش داشته باشید.بریم که شروع کنیم🏃🏻‍♀‍➡️داستان کتاب؛ روایت سقوط و صعودِ یک مدیرداستان حول «بیل پالمر» می‌چرخه؛ مدیر ارشد عملیات IT در شرکت Parts Unlimited. از همون اول، فضا طوریه که انگار IT این شرکت با قانون نانوشته‌ی «بقا برای کسیه که بیشتر آتیش خاموش کنه🧯» اداره می‌شه.مشخصات این سازمانِ فلک‌زده‌یِ بحران‌زده هم خیلی آشناست!از وضعیت گل🌸 و بلبلش🦜(حالا ایموجی طوطی رو بلبل ببینید شما😁) اینطوری بگم که:پروژه‌ها همگی قرمز و عقب‌افتاده،تغییرات به‌جای مهندسی، با دعا و توکل مستقر می‌شن (و اغلب هم دعاشون نمیگیره و بیشتر باعث خرابی می‌شن🤦🏻‍♀)،سیستم‌ها ناپایدار و وابستگی‌ها به افراد کلیدی به‌قدری زیاده که اگر خدای نکرده یکی از تیم بره مرخصی، کل شرکت می‌ره تو کماو توسعه (Dev)، عملیات (Ops) و کسب‌وکار می‌زنن تو سر و کله‌ی هم و همدیگه رو مقصر می‌دونن!و حالا وسط این شلوغی(گل بود🌸 به سبزه نیز آراسته شد💐)، پروژه‌ای به اسم Phoenix هست که مثلا قرار بوده آینده‌ی شرکت رو نجات بده، اما خودش تبدیل شده به منبع اصلی بحران! اینجاست که بیل متوجه میشه مسئله فقط یک پروژه یا چند نفرِ نابلد نیست؛ مشکل اصلی اینه که کل جریان کار و ساختار سازمانی، جایی از ریشه لنگ می‌زنه.ساختار کتاب؛ چرا این مدل روایت جواب می‌ده؟کتاب رمانه؛ یعنی مفاهیم رو مثل کتاب‌های درسی، فصل‌به‌فصل و با تعریف، مثال و تمرین جلو نمی‌بره. داستان تو رو می‌بره وسط اتفاق‌ها، جلسه‌های پرتنش، تصمیم‌های دقیقه نودی، استقرار‌های ناموفق و آدم‌هایی که یا در حال داد زدنن یا در حال دویدن و یا حتی مشغول شکستن سر و کله‌ی هم 😅.و به نظرم این ساختار برای مفاهیم فنی مثل DevOps معرکه‌ست، چون:آشفتگی رو لمس می‌کنی: اول می‌بینی چطور هرج‌ومرج همه رو فرسوده می‌کنه.چرایی رو متوجه می‌شی: بعد کم‌کم متوجه می‌شی که این‌ها اتفاقی نیستن؛ سیستمی که بد طراحی‌شده، خروجی بدی هم می‌ده.نگاه سیستمی شکل می‌گیره: آخرش دیگه دنبال مقصر نمی‌گردی، دنبال گلوگاه می‌گردی.اریک؛ مربی‌ای که سؤال‌های سخت می‌پرسهاریک، نقش مرشد بیل رو داره. او از اون مشاورهای پرحرف نیست که بیاد بگه این سه تا ابزار رو نصب کن تا مشکلت حل شه. اون بیشتر سؤال می‌پرسه تا بیل یاد بگیره IT رو مثل یک کارخونه تولیدی ببینه.اریک تأکید می‌کنه عملیات IT باید مسئول «جریان سریع، قابل پیش‌بینی و بدون وقفه‌ی کار برنامه‌ریزی‌شده» باشه و هم‌زمان اثر کارهای برنامه‌ریزی‌نشده رو به حداقل برسونه.ترجمه‌ی ساده‌ش به زبان مهندس نرم‌افزار اینه که: «شما رو به پیر و پیغمبر لطفاً کاری کنید که صبح با ترس اینکه امروز کدوم سرویس می‌ریزه سرمون، نیایم سر کار.»😁مفاهیم کلیدی؛ نام‌گذاری دردهای بی‌نامکتاب چند مفهوم رو خیلی عالی باز می‌کنه که احتمالا همه‌مون بارها حسشون کردیم ولی شاید اسم علمی‌شون رو نمی‌دونستیم و هر مفهوم شامل یک نکته‌ست که در ادامه‌ی هر مفهوم می‌نویسم.۱. جریان (Flow)ارزش باید از توسعه به عملیات و بعد به مشتری جریان پیدا کنه. وقتی صف‌ها زیاد می‌شن، وابستگی‌ها پیچیده می‌شن و کارها پشت در تیم‌های دیگه می‌مونن و بنابراین جریان از کار می‌افته.نکته معماری: معماریِ خوب فقط کد تمیز نیست؛ معماری‌ای هست که اجازه می‌ده تغییر با کمترین اصطکاک (بدون هماهنگی با ۱۰ تیم مختلف) به دست مشتری برسه.۲. بازخورد (Feedback)کتاب می‌گه مشکلات باید نزدیک مبدأ دیده بشن. هرچی بازخورد دیرتر بیاد (مثلاً وقتی مشتری زنگ می‌زنه)، هزینه‌ی اصلاح هم نجومی‌تره.نکته مهندسی: ابزارهایی مثل CI/CD و Observability فقط برای کلاس گذاشتن نیستن! هدفشون کوتاه کردن همین حلقه‌ی بازخورده تا خطا تبدیل به فاجعه نشه.۳. کارِ در جریان (WIP)یکی از بخش‌های دردناک کتاب، نگاهش به WIP یا کارهای نیمه‌تمام بود. کتاب اسم WIP رو قاتل خاموش می‌ذاره. وقتی هم‌زمان ده تا کار رو باز می‌ذاری، عملاً هیچ‌کدوم رو تموم نمی‌کنی و فقط تأخیر رو می‌خری. (اگر فشار خون دارید این بخش رو نخونید، استرس می‌گیرید یاد کارهای نیمه‌تموم خودتون میوفتید😅)نکته مدیریتی: خیلی از معماری‌های پیچیده هم باعث افزایش WIP می‌شن چون وابستگی‌های زیاد، مانع تموم شدن کارها می‌شن.۴. نظریه‌ی محدودیت‌ها (Constraints)کتاب تأکید می‌کنه اگر گلوگاه اصلی سیستم رو پیدا نکنی، ممکنه کلی بهینه‌سازی کنی ولی خروجی سیستم تکون نخوره.تجربه شخصی: گاهی گلوگاه دیتابیس نیست، تیم تست هم نیست؛ گلوگاه واقعی تیم شما، اون فرآیند تأییدی هست که یک هفته طول می‌کشه!۵. چهار نوع کار (و دشمن شماره یک!🤺)کتاب کارها رو به چهار دسته تقسیم می‌کنه:۱) پروژه‌های کسب‌وکار۲) پروژه‌های داخلی۳) تغییرات IT۴) کار برنامه‌ریزی‌نشدهاین آخری، خرابی‌ها و اصلاحات اضطراری هستن که ظرفیت رو می‌بلعن. در بحران Phoenix، بیل متوجه میشه که رفع خرابی عملاً تبدیل به کار اصلی تیم شده و کل roadmap رو جارو کرده.🧹واقعیت تلخ: همه Roadmap داریم، ولی Incidentها هم یک Roadmap موازی دارن؛ فقط با اولویت بالاتر!🫠چرا این کتاب برای معماران نرم‌افزار هم حیاتیه؟شاید بگید «این که همش بحث Ops و مدیریته، به من معمار چه ربطی داره؟»ولی ربطش خیلی مستقیمه!چون معماری فقط چیدمان سرویس‌ها نیست؛ معماری تعیین می‌کنه که:تیم‌ها چقدر به هم وابسته‌ان (Coupling)،تغییر چقدر پرریسک هست (Deployability)،و چقدر زمان می‌بره تا بفهمیم سیستم کجاش درد می‌کنه (Observability).اگر معماری رو فقط یک نقشه‌ی فنی بدونیم، نیمی از داستان رو جا انداختیم. معماری خوب باید سیستم کار رو هم پشتیبانی کنه. معماری‌ای که deploy کردنش نیاز به هماهنگی با ده تیم داشته باشه، مستقیماً داره جریان رو خفه می‌کنه و «کار برنامه‌ریزی‌نشده» ایجاد می‌کنه.جمع‌بندی: از قهرمان‌بازی به سیستم‌سازیبرای من، ارزش اصلی کتاب این بود که حس‌های پراکنده (مثل خستگی از کارهای فوری، یا گیر کردن کارها پشت صف‌ها) رو به مفاهیم منسجم تبدیل کرد.مهم‌ترین درسی که از این کتاب با من موند این بود:خیلی وقت‌ها مشکل از «آدم‌ها» نیست؛ مشکل از «سیستم» هست که طوری طراحی شده که حتی آدم‌های خوب هم در اون فرسوده می‌شن.The Phoenix Project به ما یاد می‌ده که نجات تیم‌ها از راه قهرمان‌بازی (شب‌بیداری و کد زدن دیوانه‌وار) اتفاق نمی‌افته؛ بلکه از راه دیدن گلوگاه‌ها، محدود کردن WIP، و هماهنگ کردن توسعه و عملیات به دست میاد.اگر در هر لایه‌ای از مهندسی یا معماری نرم‌افزار هستید، این کتاب به نظرم ارزش خوندن داره. نه چون راه‌حل‌های جادویی می‌ده، بلکه چون کمک می‌کنه صورت‌مسئله رو درست ببینید.(و دیدن درست مسئله، خودش نصف راه‌حله… نصف دیگه‌ش هم معمولاً جلسه و کانبان و این چیزاست😄)حسن ختام؛ کتاب جذابی که ممکن بود از دستش بدم!برای من، خوندن The Phoenix Project واقعاً تجربه‌ی خوبی بود. شاید یکی از جذاب‌ترین بخش‌های ماجرا این بود که برای اولین بار با چیزی مواجه شدم که می‌شه اسمش رو گذاشت «رمان مهندسی»؛ یعنی کتابی که به‌جای این‌که مفاهیم مهندسی و معماری نرم‌افزار رو خشک و رسمی و شبیه جزوه‌های دانشگاهی توضیح بده، همه‌ رو داخل یک داستان قرار داده و کاری کرده که خواننده هم‌زمان هم قصه رو دنبال کنه، هم مفاهیم رو یاد بگیره. به نظرم این ایده واقعاً خلاقانه و جذابه، چون رمان‌ها این فرصت رو به ما میدن که زندگی‌ها، بحران‌ها و تجربه‌هایی رو لمس کنیم که شاید خودمون هیچ‌وقت تو دنیای واقعی تجربه نکنیم. از اون طرف هم آدم‌ها اصولاً با داستان ارتباط خوبی می‌گیرن؛ داستان تو ذهن می‌مونه، آدم رو درگیر می‌کنه و باعث می‌شه مفاهیم بهتر جا بیوفتن.البته که این هم کاملاً سلیقه‌ای هست و طبیعیه که چنین سبکی مورد پسند همه نباشه. چون بعضی‌ها ترجیح میدن یک کتاب فنی رو باز کنن و مستقیم برن سراغ اصل مطلب: چند تا نمودار، چند تا جدول، چند تا الگو، و تمام. The Phoenix Project با اینکه یک کتاب فنی هست اما از اون جنس کتاب‌ها نیست. تصاویر زیادی هم نداره و بیشتر قراره با روایت، موقعیت‌سازی و شخصیت‌ها با خودش همراهت کنه. برای همین ممکنه بعضی‌ها باهاش خیلی خوب ارتباط بگیرن (مثل من😄🖐🏻) و بعضی‌های دیگه‌ هم بگن: «حرف فنی رو بگو، این همه داستان برای چیه؟» که البته حرف بی‌راهی هم نیست.من خودم نسخه‌ی کامیکش رو نخوندم، اما شنیدم که چنین نسخه‌ای هم از این اثر موجوده و احتمالاً برای بعضی مخاطب‌ها خوش‌خوان‌تر و جذاب‌تر باشه.خلاصه که در کل خوندنش خالی از لطف نیست که هیچ، خیلی هم لطف داره؛ حالا به هر شکلی😉و در نهایت، دوست دارم از استاد عزیزم، دکتر صادق علی‌اکبری، استاد گروه نرم‌افزار دانشگاه شهید بهشتی تهران، صمیمانه تشکر کنم؛ چون از اون استادهایی هستند که با تمرین‌های خوب و معرفی کتاب‌های جالب، آدم رو هل میدن به سمت چیزهایی که شاید در حالت عادی خودمون سراغشون نریم.و اتفاقاً خیلی وقت‌ها همین هل‌دادن‌های علمی و درست باعث می‌شه کتاب‌هایی رو بخونیم که بعداً خوشحال باشیم از این‌که از کنارشون ساده رد نشدیم.خب خب به پایان آمد این نوشتهمن سعی کردم محتوای کتاب و تجربه‌ی خوندنم رو کوتاه توضیح بدم، ولی در عین حال توضیح ندم!🫤 (گفتم زیاد اسپویل نشه، لذتش بمونه براتون.😃)امیدوارم خوندنش براتون مفید بوده باشه.ممنونم از توجهتونتنتون سالم، دلتون آروم🧡</description><category>Bita_Delavar</category><author>Bita_Delavar</author><pubDate>Sat, 11 Jul 2026 19:37:37 +0330</pubDate></item><item><title>آشنایی با ۲۰ مفهوم مهم در معماری نرم‌افزار</title><link>https://virgool.ir/@Bita_Delavar/آشنایی-با-۲۰-مفهوم-مهم-در-معماری-نرم-افزار-lqnyxbpqhylz-lqnyxbpqhylz</link><description>من این پست رو برای یک تمرین درسی نوشتم، ولی راستش موقع جمع‌کردنش متوجه شدم خیلی از این مفاهیم فقط «واژه‌های مد روز» نیستن؛ هر کدوم‌شون جواب یه مشکل واقعی تو پروژه‌های نرم‌افزاریه.توی این پست هدفم این نیست که وارد جزئیات عمیق بشم (چون هر کدوم می‌تونه یک درس یا حداقل یک فصل از یک درس باشه)، فقط می‌خواستم یه دید کلی و قابل گفت‌وگو داشته باشم؛ نه در حد حفظ‌کردن اسم‌ها، بلکه در حدی که بشه درباره‌شون حداقل کوتاه حرف زد و ارتباطشون رو با پروژه‌های واقعی فهمید. برای همین اینجا سعی کردم ۲۰ مفهوم مهم در مهندسی و معماری نرم‌افزار رو نه خیلی تخصصی و سنگین، بلکه خلاصه و کاربردی مرور کنم.( ایندفعه سبک نوشته‌م با نوشته‌های همیشگیم متفاوته و مربوط به رشته‌ی تخصصیم هست. 😉 و با اجازه‌تون من یک‌سری از نوشته‌های قبیلم رو هم حذف کردم و شاید بعدا دوباره به اشتراکشون بذارم. )بریم شروع کنیم:1) Chaos EngineeringChaos Engineering یعنی به‌جای اینکه منتظر بمونیم &#34;یک روزی، روزگاری&#34; سیستم تو بحران کم بیاره، از اونجایی که بهترین دفاع حمله‌ست خودمون زودتر یک کاری کنیم که کم بیاره!😌 چطوری؟یعنی خودمون با برنامه‌ریزی و کنترل، یه مقدار آشوب درست کنیم و ببینیم چی می‌شه. مثلاً عمداً یک سرویس رو قطع کنیم، یا ارتباط شبکه رو کند کنیم، یا یک نود رو از دسترس خارج کنیم؛ بعد بررسی کنیم که سیستم همچنان جواب می‌ده یا نه.این کار مخصوصاً تو سامانه‌های توزیع‌شده و میکروسرویس‌ها خیلی معنی پیدا می‌کنه، چون شکست‌ها معمولاً زنجیره‌ای‌ هستن: یک سرویس می‌خوابه و چند سرویس دیگه رو هم با خودش پایین می‌کشه.نکتهٔ مهم اینه که Chaos Engineering خرابکاری نیست؛ آزمایش تاب‌آوریه. خروجیش هم می‌تونه مواردی مثل: منطقی‌تر شدن time-outها، باشه. خلاصه‌‌ش اینکه: سیستم رو تو دنیای واقعی‌تر تست می‌کنیم، نه تو حالت ایده‌آل. ( بالاخره از قدیم گفتن دنیای فیلم و کتاب با واقعیت خیلی فرق داره😄)مزایای Chaos Engineering2) Backend for Frontend (BFF)BFF یک ایده ساده ولی کاربردیه که میگه برای هر نوع فرانت (مثلاً موبایل، وب، پنل ادمین) یک backend متناسب با همون فرانت داشته باشیم. چون واقعاً نیازهای این‌ها یکی نیست. موبایل معمولاً دیتای خلاصه‌تر و سبک‌تر می‌خواد، پنل ادمین شاید جزئیات بیشتر.اگر یک backend عمومی داشته باشیم، معمولاً یا فرانت‌ها مجبور می‌شن داده اضافه بگیرن (و خودشون الکی پردازش کنن)، یا backend پر از شرط و if می‌شه که برای هر کلاینت یک مدل بده، ولی BFF این شلوغی رو جمع‌وجور می‌کنه.البته اینم بگم که باید دقت کنیم که زیاده‌روی نکنیم. مثلا اگر هر تیم برای خودش بدون هماهنگی یک BFF بسازه، نگهداری سخت می‌شه. ولی وقتی واقعاً چند نوع کلاینت با نیاز جدی متفاوت داریم، BFF کمک می‌کنه APIها تمیزتر و تجربهٔ توسعه بهتر بشه.BFF3) AI4SEAI4SE یعنی هوش مصنوعی به کمک مهندسی نرم‌افزار بیاد.حالا تو چه چیزهایی؟ چیزهایی مثل تولید کد، پیشنهاد تست، تحلیل لاگ، پیدا کردن الگوهای باگ، یا حتی کمک به مستندسازی. چیزی شبیه یک دستیار که کارهای تکراری رو سبک می‌کنه.و این درسته که ابزارهای AI می‌تونن سرعت رو زیاد کنن، اما اگر بی‌دقت استفاده بشن، کیفیت رو هم می‌تونن پایین بیارن. مثلاً ممکنه کدی پیشنهاد بدن که از نظر امنیتی مشکل داشته باشه یا با استانداردهای پروژه نخونه.به نظرم استفادهٔ درست از AI4SE اینطوریه که به‌عنوان ابزار کمک‌کار نگاهش کنیم، نه بخشی که مسئولیت می‌پذیره. یعنی خروجی‌ها باید بازبینی بشن، تست بشن و با فهم دامنه تطبیق داده بشن. تو پروژهٔ واقعی، ارزش AI وقتی بیشتره که کنار مهندس خوب قرار بگیره؛ نه وقتی قرار باشه جای خود مهندسی رو پر کنه.4) SE4AIتو بخش قبلی AI به کمک SE اومد. اما خب چطوری باید اون هوش مصنوعی ساخته بشه که حالا بعدش بتونه به کمک بیاد؟!🤔این بخش همین سوال رو جواب می‌ده. SE4AI یعنی مهندسی نرم‌افزار برای ساخت سیستم‌های هوش مصنوعی. فرق اصلی‌اش با نرم‌افزار سنتی اینه که فقط با کد طرف نیستیم؛ داده، مدل، آموزش، ارزیابی، استقرار و پایش هم بخشی از محصول هستن.مثلاً یک مدل ممکنه تو آزمایشگاه عالی باشه، ولی بعد از استقرار، به‌خاطر تغییر رفتار کاربران یا تغییر داده‌های ورودی، کم‌کم کیفیتش بیاد پایین. این یعنی ما باید چرخهٔ عمر مدل رو هم مدیریت کنیم: نسخه‌بندی داده و مدل، تست، مانیتورینگ drift، و برنامه برای retrain.SE4AI یادآوری می‌کنه سیستم AI هم باید مثل هر نرم‌افزار جدی، قابل نگهداری و قابل اعتماد طراحی بشه. اگر این نگاه نباشه، پروژه‌ها معمولاً بعد از دموی اولیه گیر می‌کنن مثلا یک مدل داریم که روی لپ‌تاپ خوبه، ولی در محصول واقعی پایدار نیست.5) MLOpsMLOps رو می‌شه نسخهٔ عملیاتی یادگیری ماشین دونست؛ همون چیزی که می‌گه ساخت مدل پایان کار نیست، اتفاقاً تازه شروع چالش‌هاست. ( که مدل آسان نمود اول ولی افتاد مشکل‌ها😭)در پروژهٔ ML باید مشخص باشه داده از کجا میاد، چطور تمیز می‌شه، مدل چطور آموزش می‌بینه، چطور ارزیابی می‌شه، کِی مستقر می‌شه و بعد از استقرار چطور پایش می‌شه. اگر این مسیر اتومات و قابل تکرار نباشه، خیلی راحت می‌رسیم به وضعیتی مثل: «این مدل روی سیستم من کار می‌کرد!» ( یادش به خیر توی کارشناسی وقتی کد رو می‌نوشتیم ولی کار نمی‌کرد و روز تحویل پروژه هم قصد از تک و تو افتادن نداشتیم، از این جمله زیاد استفاده می‌کردیم🫠 کد رو سیستم من کار کرد می‌کرد!😌)خب از خاطرات کارشناسی من بگذریم، می‌خواستم این رو بگم که MLOps کمک می‌کنه pipeline داشته باشیم، یعنی: آموزش، تست، استقرار، مانیتورینگ، و در صورت نیاز retrain. از نظر من نقطهٔ طلایی MLOps جاییه که تیم بتونه تغییرات داده و مدل رو مثل تغییرات کد مدیریت کنه.MLOps6) Infrastructure as Code (IaC)IaC میگه که زیرساخت رو مثل کد مدیریت کنیم. یعنی به‌جای اینکه دستی سرور بسازیم، پورت باز کنیم، یا تنظیمات شبکه و منابع ابری رو یکی‌یکی انجام بدیم، همه چیز رو با فایل و کد تعریف می‌کنیم.اهمیتش چیه؟ روشنه: تکرارپذیری. اگر امروز یک محیط staging ساختیم، فردا هم می‌تونیم همون رو بسازیم، بدون اینکه ده تا تنظیم رو یادمون بره. به‌علاوه چون کد در repo میاد، تغییرات قابل بازبینی می‌شن و تاریخچه هم داریم.تو دنیای DevOps و کلاد، IaC عملاً تبدیل به یک پایهٔ جدی شده و ابزارهایی مثل Terraform هم برای همین معروف شدن.اینطوری بگم که IaC کمک می‌کنه زیرساخت از &#34;کار دستی و پراکنده&#34; تبدیل بشه به &#34;فرایند مهندسی‌شده&#34; و این موضوع در پروژه‌های واقعی خیلی فرق ایجاد می‌کنه.رویکرد IaC در مقابل رویکرد سنتی7) Service Mesh &amp; API Gatewayاگر سیستم رو مثل یک مکانی تصور کنیم که یک در داره، API Gateway معمولاً جلوی درِ سیستم می‌ایسته. یعنی درخواست‌های بیرونی اول از gateway رد می‌شن و اونجا کارهایی مثل احراز هویت، rate limiting، مسیریابی و حتی یکپارچه‌سازی پاسخ انجام می‌شه.در مقابل Service Mesh بیشتر داخل سیستم معنی داره؛ جایی که سرویس‌ها با هم حرف می‌زنن. تو میکروسرویس‌ها، ارتباطات داخلی زیاد می‌شه و اگر هر سرویس خودش بخواد retry، timeout، TLS، observability و… رو پیاده کنه، کدها شلوغ و ناهماهنگ می‌شن، پس مش میاد که این‌ها رو یکدست کنه.اگر بخوام کوتاه بگم: gateway برای ترافیک ورودی از بیرونه، mesh برای ترافیک بین سرویس‌های داخله. البته اینم بگم اگه سیستم ساده باشه، ممکنه فقط پیچیدگی رو اضافه کنن. ولی در مقیاس بزرگ، جلوی خیلی دردسرها رو می‌گیرن.تفاوت Service Mesh و API Gateway8) CQRSCQRS میگه کار &#34;نوشتن&#34; و &#34;خوندن&#34; داده رو از هم جدا کنیم. یعنی بخش command مسئول تغییر وضعیت باشه (با قوانین کسب‌وکار و اعتبارسنجی)، و بخش query برای خوندن و نمایش داده‌ها بهینه بشه.این جداسازی وقتی جذاب می‌شه که نیازهای خوندن و نوشتن واقعاً متفاوت باشن. مثلاً یک سیستم که گزارش‌گیری سنگین داره ولی نوشتن‌هاش کم‌تره؛ یا برعکس، ثبت‌های زیاد داره ولی query ساده.مشکلی که CQRS داره اینه که اگر بی‌دلیل بیاد وسط، پروژه رو پیچیده می‌کنه و مثل یک ابزار تخصصی هست که باید درست استفاده بشه؛ این ابزار وقتی مسئله واقعاً بزرگ و چندلایه شد، ارزشش معلوم می‌شه. برای پروژه‌های کوچیک‌تر معمولاً همون مدل یکپارچه کافیه.9)Event-Driven Architecture (EDA)معماری رویدادمحور یعنی سیستم رو بر اساس رخدادها بچینیم. هر وقت چیز مهمی رخ داد، یک event منتشر می‌شه و هر سرویس که لازم داره، واکنش نشون می‌ده.اگر بخوام مثال بزنم اینطوری فرض کنید که در یک فروشگاه آنلاین، &#34;ثبت سفارش&#34; یک رویداده. بعد سرویس پرداخت، انبار و ارسال می‌تونن هر کدوم جداگانه براساس اون event کار خودشون رو انجام بدن. جنبه مثبتش اینه که سرویس‌ها کمتر به هم گره می‌خورن و هر کدوم مستقل‌تر رشد می‌کنه.ولی چالش EDA معمولاً در ردیابی و دیباگ خودشو نشون می‌ده. چون جریان کار پخش می‌شه و اگر observability درست نباشه، پیدا کردن اینکه &#34;کجا مشکل هست&#34; سخت می‌شه. با این حال، برای سیستم‌هایی که رشد می‌کنن و نیاز به اتصال نرم بین سرویس‌ها دارن، EDA یکی از انتخاب‌های جدی و رایجه.EDA10)Serverless ArchitectureServerless یعنی کمتر درگیر سرور شو. نه اینکه سرور وجود نداره؛ وجود داره، ولی مدیریت و مقیاس‌دهی‌اش عمدتاً با ارائه‌دهندهٔ کلاد انجام می‌شه. معمولاً هم با توابع یا سرویس‌هایی که با رویداد فعال می‌شن سروکار داریم.خوبی Serverless اینه که سریع راه می‌افته و برای بارهای متغیر می‌تونه اقتصادی باشه؛ چون هزینه بر اساس استفاده محاسبه می‌شه. اما خب محدودیت هم داره، مثلا اینکه زمان اجرای هر تابع محدود می‌شه، و گاهی هم lock-in نسبت به پلتفرم ایجاد می‌شه.من Serverless رو این‌طور می‌بینم که اگر مسئله‌ات رویدادمحوره، یا سرویس‌های کوچیک و مستقل می‌خوای، عالیه. اما اگر پردازش سنگین و پیوسته داری، باید حسابی شیش و بش کنی که واقعاً به‌صرفه و مناسب هست یا نه.معماری Serverless11) API-first ApproachAPI-first یعنی اول قرارداد رو ببندیم، بعد بریم سراغ پیاده‌سازی. یعنی مشخص کنیم endpointها چی هستن، ورودی/خروجی‌ها چیه، خطاها چطور برمی‌گردن، و نسخه‌بندی چطور انجام می‌شه.این نگاه چند تا فایده داره: فرانت‌اند می‌تونه هم‌زمان کار کنه، تست‌ها می‌تونن زودتر نوشته بشن، و تیم‌ها کمتر وسط راه برداشت‌های متفاوت پیدا می‌کنن.ابزارهایی مثل OpenAPI کمک می‌کنن این قرارداد دقیق و قابل استفاده باشه. به نظرم API-first یک جور نظم فکری هم هست و به‌جای اینکه API آخر کار و با عجله دربیاد، از اول به عنوان ستون ارتباطی سیستم جدی گرفته می‌شه.تو پروژه‌های واقعی، خیلی وقت‌ها اختلاف‌ها و دوباره‌کاری‌ها دقیقاً از همین‌جا شروع می‌شن که API درست تعریف نشده یا دیر تعریف شده.12) Domain-Driven Design (DDD)DDD به زبان ساده می‌گه: نرم‌افزار رو حول &#34;دامنهٔ واقعی کسب‌وکار&#34; طراحی کن، نه حول دیتابیس یا تکنولوژی. یعنی اول ببین مسئله چی هست، بازیگرهاش کی هستن، مفاهیم اصلی چی هستن، بعد براساس اون‌ها مدل بساز.یکی از نقاط قوت DDD اینه که تیم فنی و تیم کسب‌وکار رو مجبور می‌کنه یک زبان مشترک داشته باشن، این موضوع در پروژه‌های پیچیده، جلوی سوءتفاهم‌های گرون‌قیمت رو می‌گیره.DDD البته برای هر پروژه‌ای هم لازم نیست. اگر مسئله ساده‌ست، ممکنه سربار بده. ولی برای سیستم‌هایی که قوانین کسب‌وکار زیاد دارن و قرار نیست مثلا تو دو ماه جمع بشن، DDD کمک می‌کنه معماری معنی‌دار داشته باشیم؛ معماری‌ای که با رشد پروژه، کمتر فرو می‌ریزه.۸ مفهوم کلیدی در DDD13) Hexagonal ArchitectureHexagonal Architecture می‌خواد هستهٔ برنامه رو از دنیای بیرون جدا کنه. یعنی منطق اصلی سیستم نباید به دیتابیس، فریم‌ورک، UI یا سرویس‌های بیرونی گره بخوره. ( بنده‌خدا آقای مارتین توی کتاب Clean Architecture فصل به فصل روی این موضوع تاکید می‌کنه😊)ایدهٔ پورت و آداپتور از همین‌جا میاد. یعنی هسته فقط &#34;پورت&#34; تعریف می‌کنه (چه چیزی لازم دارم)، و بیرونش آداپتور می‌نویسیم (چطور تأمینش می‌کنم). اگر امروز دیتابیس PostgreSQL هست، فردا ممکنه عوض شه؛ هسته نباید بیدی باشه که با این بادها بلرزه.🍃🌪این معماری برای تست هم خیلی خوبه، چون می‌تونیم آداپتورهای فیک بسازیم و منطق اصلی رو مستقل تست کنیم.من برداشت شخصی‌ام اینه که Hexagonal بیشتر از هر چیز یک یادآوریه که اصل برنامه باید مستقل بمونه. تکنولوژی‌ها می‌آن و می‌رن، ولی منطق دامنه اگر تمیز طراحی بشه، عمر بیشتری می‌کنه.معماری Hexagonal14) Event SourcingEvent Sourcing می‌گه به‌جای اینکه فقط وضعیت نهایی رو ذخیره کنیم، رویدادهایی که اون وضعیت رو ساختن هم ذخیره بشن.مثلاً به‌جای اینکه فقط بگیم موجودی حساب الآن ۵ میلیون است، رویدادهای واریز و برداشت رو نگه داریم. اینطوری هم تاریخچه داریم، هم اگر بخوایم می‌تونیم وضعیت رو دوباره از روی رویدادها بسازیم.مزیت بزرگش برای سیستم‌هایی مثل مالی، حسابرسی، یا هر چیزی که در اون &#34;ردپا&#34; مهمه مشخص می‌شه. چون دقیق متوجه می‌شیم چه اتفاقی چه زمانی افتاده.اما خب هزینه هم داره مثلا اینکه طراحی رویدادها باید دقیق باشه، تعداد رویدادها زیاد می‌شه، replay و snapshot وارد ماجرا می‌شن و پیچیدگی بالا می‌ره.بنابراین من Event Sourcing رو برای جاهایی منطقی می‌دونم که تاریخچه خودش ارزشه، نه فقط یک امکان اضافی.15)Low-code / No-code PlatformsLow-code و No-code شاید چوب جادویی پری داستان سیندرلا نباشن و تو یک ثانیه همه چیز رو زیر و رو کنن، ✨️🪄ولی واقعاً می‌تونن سرعت رو بالا ببرن، مخصوصاً برای نیازهای داخلی سازمان، فرم‌ها، اتوماسیون‌های ساده، یا داشبوردها.در Low-code هنوز کمی کدنویسی داریم، ولی در No-code هدف اینه که حتی آدم غیر فنی هم بتونه یک خروجی قابل استفاده بسازه.مزیت اصلیش هم زمان هست. خیلی کارها که قبلاً باید یک تیم توسعه انجام می‌داد، اینجا سریع‌تر راه می‌افته.ولی خب محدودیت هم داریم. اونم اینکه: اگر پروژه خیلی خاص، پیچیده یا نیازمند کنترل دقیق امنیت/کارایی باشه، ممکنه پلتفرم دست و پات رو ببنده.جمع‌بندی من اینه که Low/No-code برای حل سریع یک نیاز مشخص عالیه، ولی برای ساخت محصول پیچیده و قابل گسترش باید با احتیاط واردش شد و از اول محدودیت‌ها رو پذیرفت.تفاوت Low Code با No Code16)BPMSBPMS یعنی سیستم‌هایی که کمک می‌کنن فرایندهای کسب‌وکار رو مدل کنیم، اجرا کنیم، پایش کنیم و بهترش کنیم.تو سازمان‌ها معمولاً کارها مرحله‌ای‌ هستن: ثبت درخواست، بررسی، تأیید، ارجاع، انجام، بستن. اگر این‌ها فقط تو ذهن آدم‌ها یا تو پیام‌های پراکنده باشه، هم کند می‌شه، هم پیگیریشون سخته. پس BPMS میاد این جریان رو استاندارد می‌کنه و BPMN هم یکی از استانداردهای رایج برای مدل‌سازی همین فرایندهاست.مزیتش اینه که یک نقشهٔ قابل مشاهده از کارها می‌ده مثل اینکه معلومه الآن درخواست کجاست و گلوگاه کجاست. البته پیاده‌سازی BPMS اگر بدون درک درست فرایند انجام بشه، فقط بوروکراسی دیجیتال تولید می‌کنه. ولی اگر درست استفاده بشه، هم شفافیت می‌ده هم قابلیت بهینه‌سازی.17) Message QueueMessage Queue برای وقتی خوبه که نمی‌خوایم سرویس‌ها به شکل مستقیم و همزمان همدیگه رو صدا بزنن. پیام می‌ره تو صف، و سرویس مصرف‌کننده هر وقت آماده بود برمی‌داره و پردازش می‌کنه.این کار چند تا نتیجهٔ خوب داره: فشار ترافیک پخش می‌شه، سیستم مقاوم‌تر می‌شه، و سرویس‌ها کمتر به هم وابسته می‌شن.Kafka معمولاً برای سناریوهای event streaming و حجم بالا خیلی معروفه (و اینکه eventها قابل نگهداری و replay هستن). RabbitMQ بیشتر تو پیام‌رسانی صف‌محور سنتی، routing و الگوهای انعطاف‌پذیر پیام محبوبه.البته صف پیام هم دردسرهای خودش رو داره مثل پیام تکراری، ترتیب پیام‌ها، retry، و مدیریت خطا. ولی در سیستم‌های واقعی، همین صف‌ها خیلی وقت‌ها ناجی سیستم می‌شن، مخصوصاً وقتی بار نوسانی داریم یا نمی‌خوایم یک سرویس کند کل سیستم رو کند کنه.18) Container Orchestration &amp; Containersکانتینر یعنی برنامه رو با وابستگی‌هاش بسته‌بندی کنیم تا هر جا اجرا شد، تقریباً همون رفتار رو داشته باشه. Docker اینجا خیلی معروفه و خیلی از مشکل‌های &#34;روی سیستم من کار می‌کرد&#34; رو کمتر می‌کنه.حالا اگر تعداد کانتینرها زیاد شد، تازه داستان مدیریت شروع می‌شه مواردی مثل کجا اجرا بشن؟ اگر یکی افتاد چی؟ چطور مقیاس بدیم؟ آپدیت بدون downtime چطور؟اینجاست که Kubernetes وارد می‌شه و نقش orchestrator رو بازی می‌کنه: استقرار، مقیاس‌دهی، self-healing rolling update و… .به نظرم Docker و Kubernetes برای تیم‌هایی که سیستم‌شون رو به سمت مقیاس و پایداری می‌برن ابزارهای خیلی مهمی‌ان، ولی یک نکته مهم هم دارن: اگر پروژه کوچک باشه، ممکنه overhead زیادی ایجاد کنن. یعنی باید واقعاً ببینیم نیاز داریم یا فقط برای اینکه از قافله عقب نمونیم طبق مد روز جلو می‌ریم!Container Orchestration19) Multi-TenancyMulti-Tenancy یعنی یک نرم‌افزار واحد به چند مشتری/سازمان خدمت بده، اما داده‌ها و تنظیمات هر کدوم جدا بمونه. این الگو تو SaaS خیلی رایجه.اما سؤال اصلی اینجاست: جداسازی چقدر باشه؟ بعضی‌ها برای هر tenant دیتابیس جدا می‌دن، بعضی‌ها schema جدا، بعضی‌ها هم همه رو تو یک دیتابیس نگه می‌دارن ولی با کلید tenant جدا می‌کنن. هر کدوم مزایا و هزینه‌های خودش رو داره.مزیت واضحش کاهش هزینه و ساده‌تر شدن نگهداریه؛ چون یک محصول داریم نه ده تا.ولی حساسیت امنیتی بالا می‌ره. نشت اطلاعات بین tenantها فاجعه است. علاوه بر اون، باید مراقب باشیم یک tenant پرمصرف باعث افت سرویس برای بقیه نشه.به نظرم Multi-Tenancy جایی موفقه که از اول طراحی‌اش جدی گرفته بشه، نه اینکه وسط راه تصمیم بگیریم حالا چند مشتری همزمان بیاریم روی همین سیستم.معماری Multi-Tenancy20) Data MigrationData Migration معمولاً وقتی میاد وسط که داریم سیستم رو عوض می‌کنیم مثل تغییر دیتابیس، رفتن به کلاد، ادغام دو سامانه، یا جایگزینی یک نرم‌افزار جدید.مهاجرت داده فقط کپی کردن نیست. معمولاً باید داده‌ها تمیز بشن، تبدیل ساختار انجام بشه، داده‌های تکراری یا خراب مدیریت بشن و بعد از انتقال هم validation جدی داشته باشیم. حتی خیلی وقت‌ها باید برنامهٔ rollback داشته باشیم که اگر چیزی خراب شد، برگردیم عقب.چالش اصلی اینه که داده سرمایه است. اگر اشتباه منتقل بشه، ممکنه سیستم جدید از همون روز اول بی‌اعتماد بشه.من این بخش رو یکی از حساس‌ترین قسمت‌های پروژه می‌دونم، چون ممکنه تو ظاهر کار فنیِ حاشیه‌ای به نظر بیاد، اما اگر خراب انجام بشه اثرش روی کسب‌وکار مستقیمه: گزارش‌ها غلط می‌شن، سابقه‌ها می‌پرن، یا تصمیم‌ها بر اساس دادهٔ اشتباه گرفته می‌شن.فازهای Data Migrationاین ۲۰ مفهوم رو اگر بخوام در یک جمله جمع کنم: همه‌شون دارن کمک می‌کنن سیستم‌ها «در دنیای واقعی» بهتر دووم بیارن؛ چه از نظر مقیاس، چه پایداری، چه سرعت تغییر، چه مدیریت پیچیدگی.برای من مرور این مفاهیم یک پیام واضح داشت اونم اینکه: معماری و مهندسی نرم‌افزار فقط انتخاب تکنولوژی نیست؛ بیشتر هنر تصمیم‌گرفتن در برابر محدودیت‌هاست.اگر بعداً بخوام عمیق‌تر ادامه بدم، احتمالاً چند تا موضوع مثل DDD، EDA، CQRS و MLOps رو انتخاب می‌کنم و با مثال‌های واقعی‌تر و مطالعهٔ case-study جلو می‌رم، چون این‌ها تو پروژه‌های بزرگ خیلی پررنگ‌تر می‌شن.من تا امروز نوشته‌های مختلفی رو تو شبکه‌های اجتماعیم به اشتراک گذاشتم و می‌ذارم، اما این اولین بار بود که متنی مرتبط با حوزهٔ تخصصی خودم را به‌صورت عمومی منتشر می‌کنم. برای همین، این نوشته برای من یک تجربه تازه و ارزشمند بود و امیدوارم برای شما هم مفید و خوندنی بوده باشه.در پایان، لازم می‌دونم از استاد عزیزم دکتر صادق علی‌اکبری، از اساتید گروه نرم‌افزار دانشکده مهندسی کامپیوتر دانشگاه شهید بهشتی، تشکر کنم که باعث شدن این مدل نوشتن رو هم تجربه کنم.در این نوشته سعی کردم برداشت کوتاه و شخصی خودم رو از هر کدوم از این مفاهیم بنویسم و در ادامه هم بخشی از منابعی رو که برای جمع‌آوری اطلاعات ازشون استفاده کردم، آوردم.ممنونم از وقتی که برای خوندن این مطلب گذاشتید.تنتون سالم و دلتون گرم و آروم🧡منابع:- Martin Fowler, *Architecture &amp; Enterprise Patterns*: https://martinfowler.com/- Microsoft Learn, Architecture Patterns and Guides: https://learn.microsoft.com/- Principles of Chaos Engineering: https://principlesofchaos.org/- Google Cloud, MLOps Overview: https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning- Istio Documentation: https://istio.io/latest/docs/- OpenAPI Initiative: https://www.openapis.org/- Alistair Cockburn, Hexagonal Architecture: https://alistair.cockburn.us/hexagonal-architecture/- Apache Kafka Documentation: https://kafka.apache.org/documentation/- RabbitMQ Documentation: https://www.rabbitmq.com/documentation.html- Docker Documentation: https://docs.docker.com/- Kubernetes Documentation: https://kubernetes.io/docs/- OMG BPMN Standard: https://www.omg.org/spec/BPMN/- AWS Serverless: https://docs.aws.amazon.com/serverless/- Microsoft Data Migration: https://learn.microsoft.com/en-us/data-migration/- Google- Open AI : https://openai.com/- Claude :https://claude.com/</description><category>Bita_Delavar</category><author>Bita_Delavar</author><pubDate>Sun, 31 May 2026 17:40:38 +0330</pubDate></item><item><title>افسانه ی دیدِگان</title><link>https://virgool.ir/@Bita_Delavar/افسانه-ی-دیدِگان-gpybboi527xv</link><description>.+ در مورد جمله ی &#34; هر آدمی چشم های منحصر به فرد خود را دارد و هر چشم جهان خاص خود را دارد&#34; چیزی شنیدی؟!- آره.توی یک کتاب در موردش خونده بودم.میگن هیچ چشمی شبیه اون یکی نیست،هر چشمی در جهان بیتایِ بیتاست!+ فکر کنم این قضیه برمیگرده به افسانه ی دیدِگان؛-افسانه ی دیدِگان؟!منظورت چیه؟!+ افسانه ی دیدِگان میگه: چشم هایی که الان داری؛جهانی که تو چشماته؛در واقع چشم های کسی هست که خیلی عاشق تو بوده.جهانِ چشم های اونه؛کسی که حقیقی ترین عشق رو بهت داشته؛- خب چطور ممکنه؟!خیلیا ممکن عاشق آدم بشن؛+ ممکنه!اما فقط یک نفر هست که حقیقی ترین عشق رو بهت داره.و چشم های اون الان درون چشم های توئه؛جهانِ اون چشم ها الان درون چشم های توئه؛- این افسانه از کجا اومده؟!+ در یونان باستان الهه ای بوده به اسم &#34;اِپیون&#34;این الهه عاشق مردی به نام &#34;اِروس&#34; میشه که غیر ممکن بود به دستش بیاره،یک عشق ممنوعه!اما از دور عاشقش می مونه،از دور ازش مراقبت میکنه،از دور نگاهش میکنهو از دور باهاش زندگی میکنه؛تا اینکه یک روز اِروس ازدواج میکنه؛اِپیون خیلی قلبش میکشنه؛روحش آزرده میشه؛اونقدر آزرده که تیکه های روحش مثل اشک هایی کریستالی از چشم هاش میریزه.این غم اونقدر براش سنگین بوده که بعد از مدتی اِپیون بیمار میشه و در بستر مرگ میوفته؛اما عشقش به اِروس نمیذاره این دنیا رو با آرامش ترک کنه؛پس یک آرزو میکنه و از خدا میخواد که چشم هاش که مهم ترین بخش روحش بودن رو درون چشمای اِروس بذاره.تا اینطوری همیشه کنارش باشه،همیشه مراقبش باشهو دردهاش رو تسکین بده؛دعاش اجابت میشه.نه تنها برای اِروس؛ بلکه برای تمام آدم ها؛و از اون روزه که چشم های حقیقتی ترین عاشق درون چشم های معشوق زندگی میکنه؛حتی اگر معشوق هیچوقت اون عاشق رو نشناسه؛اما عشقش رو حس میکنه حتی بدون اون!از کجا معلوم؟!شاید تمام زمان هایی که فقط خودمون به خودمون کمک میکنیم،تمام زمان هایی که فقط خودمون به خودمون عشق می ورزیم،تمام زمان هایی که فقط خودمون به خودمون باور داریمو تمام زمان هایی که فقط خودمون رو داریم؛شاید تمام این ها به خاطر یک عشق کامله!یک عشق حقیقییک عشق ابدیعشقی بیتا که باعث میشه ما خودمون باشیم. ~ بیتا دلاور پ.ن ۱: افسانه ی دیدگان و داستان اِپیون و اِروس واقعیت نداره و ساخته ی ذهن خودمه و واسه این بود که مفهوم پاراگراف آخر رو برسونمپل ارتباطی بود در واقع??پ.ن ۲: اِپیون نام الهه ای در یونان باستانه، الهه ی تسکین درد.</description><category>Bita_Delavar</category><author>Bita_Delavar</author><pubDate>Sun, 19 Sep 2021 12:51:40 +0430</pubDate></item><item><title>رنگین کمانِ ماه</title><link>https://virgool.ir/@Bita_Delavar/رنگین-کمانِ-ماه-hh21ezzwxanl</link><description>+چیزی در مورد &#34;رنگین کمان ماه&#34; شنیدی؟!- چی هست؟!+ رنگین کمونی هست که به واسطه ی انعکاس نور ماه به وجود میاد.اما خیلی نادره.-خیلی عجیب و جالبه!+ آره هست.به نظرم ماه یکی از باشکوه ترین و عجیب ترین آفریده های خداست.میدونی گاهی فکر میکنم یک راهنماست؛یک استاد؛استادی که خیلی چیزها بهمون یاد میده؛-مثل چی؟!+ مثل شب های تاریکی که نور ماه همه جا رو روشن میکنه و بهمون یاد میده در اوج تاریکی نور باشیم،در اوج ناامیدی امید باشیمو در اوج بدی خوبی!مثل تمام زمان هایی که از یک هلال نازک و کم نور تبدیل میشه به ماه کاملِ درخشان و خیره کننده و بهمون یاد میده با وجود تمام سختی ها،غم هاو دردها باز هم میتونیم باشکوه و درخشان باشیم،باز هم میتونیم قدرتمند و کامل باشیم؛مثل نیمه ی تاریکش که بهمون یاد میده مهم نیست چقدر اذیت شدی،چقدر ناامیدی و چقدر اوضاع بده؛همیشه یک بخشی از تو هست که میل به شکوفایی و زندگی داره،شاید نیاز باشه یک مدت تنها باشی،دور از چشم همهو در سکوتی سنگین؛اما در نهایت باز هم میتونی برگردی و به همه نور، عشق و زیبایی رو هدیه کنی؛یا حتی همین رنگین کمون ماه که بهمون یاد میده متفاوت بودن،خودت بودنو زیبا بودن چقدر خوب و خاصه؛که بهمون یاد میده چیزهای خوب و ارزشمند سخت به دست میان و به زمان نیاز دارن،اما ارزشش رو دارن‌.میبینی؟!ماه استاد خیلی خوبیه؛اگر خوب بهش گوش کنی،خوب ببینیشو خوب درکش کنی؛اگر خوب درکش کنی....~ بیتا دلاور</description><category>Bita_Delavar</category><author>Bita_Delavar</author><pubDate>Thu, 02 Sep 2021 13:02:02 +0430</pubDate></item></channel></rss>