آشنایی با یک کانتینر جدید در سیپلاسپلاس ۲۶
در استاندارد جدید سیپلاسپلاس ۲۶، یک کلاس قالبی به نام
🔹 این کلاس چه کاری انجام میدهد؟
این کانتینر برای نگهداری مجموعهای از اشیا طراحی شده است. مهمترین ویژگی آن، امکان حذف و اضافه کردن عناصر بدون تغییر آدرس سایر عناصر است.
🔹 تفاوت آن با کانتینرهای قبلی چیست؟
۱) کانتینر
۲) کانتینر
۳) کانتینر
📊 نتایج یک آزمایش عملکرد
دنیل لمیر سرعت درج یک میلیون عنصر را مقایسه کرده است. زمان تقریبی درج هر عنصر:
🥇 وکتور با حافظه رزروشده: ۰٫۲۹ نانوثانیه
🥈 وکتور معمولی: ۰٫۸۱ نانوثانیه
🥉 کانتینر جدید هایو: ۱٫۵۷ نانوثانیه
🔸 لیست: ۱۴٫۲۲ نانوثانیه
جالب اینکه در همین آزمایش، پیمایش عناصر در کانتینر جدید حتی کمی کندتر از لیست بوده است!
🎯 جمعبندی
این کانتینر قرار نیست جایگزین وکتور شود؛ اما برای برنامههایی که با حذف و اضافه مکرر اشیا سروکار دارند و باید آدرس آنها ثابت بماند، گزینه ارزشمندی است.
برای مثال در موتورهای بازی، سیستمهای مدیریت اشیا و استخرهای اشیا کاربرد دارد.
📚 مقاله اصلی دنیل لمیر:
https://lemire.me/blog/2026/08/02/how-fast-is-c26s-stdhive/
#cpp #std #stl #hive #cpp26 #container
در استاندارد جدید سیپلاسپلاس ۲۶، یک کلاس قالبی به نام
std::hive به کتابخانه استاندارد اضافه شده است.🔹 این کلاس چه کاری انجام میدهد؟
این کانتینر برای نگهداری مجموعهای از اشیا طراحی شده است. مهمترین ویژگی آن، امکان حذف و اضافه کردن عناصر بدون تغییر آدرس سایر عناصر است.
🔹 تفاوت آن با کانتینرهای قبلی چیست؟
۱) کانتینر
std::vector برای پیمایش سریع عالی است، اما حذف عناصر میتواند باعث جابهجایی بقیه شود.۲) کانتینر
std::list آدرس عناصر را حفظ میکند، اما معمولاً سربار حافظه بیشتری دارد.۳) کانتینر
std::hive عناصر را در بلوکهای حافظه نگهداری میکند و فضای عناصر حذفشده را دوباره به کار میگیرد.📊 نتایج یک آزمایش عملکرد
دنیل لمیر سرعت درج یک میلیون عنصر را مقایسه کرده است. زمان تقریبی درج هر عنصر:
🥇 وکتور با حافظه رزروشده: ۰٫۲۹ نانوثانیه
🥈 وکتور معمولی: ۰٫۸۱ نانوثانیه
🥉 کانتینر جدید هایو: ۱٫۵۷ نانوثانیه
🔸 لیست: ۱۴٫۲۲ نانوثانیه
جالب اینکه در همین آزمایش، پیمایش عناصر در کانتینر جدید حتی کمی کندتر از لیست بوده است!
🎯 جمعبندی
این کانتینر قرار نیست جایگزین وکتور شود؛ اما برای برنامههایی که با حذف و اضافه مکرر اشیا سروکار دارند و باید آدرس آنها ثابت بماند، گزینه ارزشمندی است.
برای مثال در موتورهای بازی، سیستمهای مدیریت اشیا و استخرهای اشیا کاربرد دارد.
📚 مقاله اصلی دنیل لمیر:
https://lemire.me/blog/2026/08/02/how-fast-is-c26s-stdhive/
#cpp #std #stl #hive #cpp26 #container
Daniel Lemire's blog
How fast is C++26’s std::hive?
C++26 adds a new container to the standard library: std::hive. It is meant to occupy the ground between std::vector and std::list. Like a vector, it keeps its elements in contiguous blocks of memory, so scanning it does not require you to chase a pointer…
معماری، معماری، معماری!
هرکسی که کتاب
Software Architecture with C++
رو کامل نخونده و متوجه نشده، هیچوقت نخواهد فهمید AI اسباببازیای بیش نیست!
اینو یه بار بخون بعد میفهمی جایگزین شدن برنامهنویس کشک است.
اگه این کتاب رو خونده باشی تازه میفهمی فرق وایب کد با مهندسی در چیست.
اتفاقا این کتاب رو بارها معرفی کردم و گفتم برنامهنویس هر زبانی که باشی اینو باید بخونی.
نخوندی؟ چیزی ازش نمیدونی؟ پس ذرهای شک ندارم کدهای خودت و کدهایی که عامل هوش مصنوعی برات مینویسه آشغالی بیش نیستن. 😉🫵🏼😐
هرکسی که کتاب
Software Architecture with C++
رو کامل نخونده و متوجه نشده، هیچوقت نخواهد فهمید AI اسباببازیای بیش نیست!
اینو یه بار بخون بعد میفهمی جایگزین شدن برنامهنویس کشک است.
اگه این کتاب رو خونده باشی تازه میفهمی فرق وایب کد با مهندسی در چیست.
اتفاقا این کتاب رو بارها معرفی کردم و گفتم برنامهنویس هر زبانی که باشی اینو باید بخونی.
نخوندی؟ چیزی ازش نمیدونی؟ پس ذرهای شک ندارم کدهای خودت و کدهایی که عامل هوش مصنوعی برات مینویسه آشغالی بیش نیستن. 😉🫵🏼😐
COMPΞZ 🧬
معماری، معماری، معماری! هرکسی که کتاب Software Architecture with C++ رو کامل نخونده و متوجه نشده، هیچوقت نخواهد فهمید AI اسباببازیای بیش نیست! اینو یه بار بخون بعد میفهمی جایگزین شدن برنامهنویس کشک است. اگه این کتاب رو خونده باشی تازه میفهمی فرق…
چرا این به یادم افتاد؟ امروز به طور اتفاقی از AI خواستم بدون چیزهایی که به خوردش دادم یک ابزار بر مبنای یک معماری برام تولید کنه، متوجه شدم عین احمقا برداشته برای هر کلاس یک تابع تکراری رو تعریف کرده!
شخمش که زدم دیدم این اصلا با معماری غریبه!!! یعنی یه پروژه که شاید ۱۰۰۰ خط کد باشه رو با صد برابر حجم بیشتر مینویسه! این شاهکار نیست! کد بیشتر امتیاز نیست! حماقته! نه خبری از معماری هست نه میفهمه الگوهای SOLID چیه، نه میفهمه DRY چیه و نه صدها طرح دیگه…
این چیزا بخشی از کدنویسی هستن اما عامل این چیزارو حالیش نیست تو باید بفهمونی براش کجا از چی باید تبعیت کنه!
برای همینه میگم حتی اگه چیزی میسازی با AI که ظاهرش جذابه مطمئن باش باطنش یه آشغاله چون اون یک معمار نیست یک ربات بلغور کنندست فقط.
باید ممیزی بشه اونم توسط کارشناس! وقتی یه پروژه واقعا جدی بشه اون موقع دیگه دیره که بیای از اول معماریشو اصلاح کنی.
از ما گفتن بود… هر مدل قدرتمندی داشته باشی هر چقدرم بهش پول داده باشی باید ممیزی کنی. باید یک متخصص کدها رو بخونه تأیید کنه! شوخی بردار نیست این چیزا.
شخمش که زدم دیدم این اصلا با معماری غریبه!!! یعنی یه پروژه که شاید ۱۰۰۰ خط کد باشه رو با صد برابر حجم بیشتر مینویسه! این شاهکار نیست! کد بیشتر امتیاز نیست! حماقته! نه خبری از معماری هست نه میفهمه الگوهای SOLID چیه، نه میفهمه DRY چیه و نه صدها طرح دیگه…
این چیزا بخشی از کدنویسی هستن اما عامل این چیزارو حالیش نیست تو باید بفهمونی براش کجا از چی باید تبعیت کنه!
برای همینه میگم حتی اگه چیزی میسازی با AI که ظاهرش جذابه مطمئن باش باطنش یه آشغاله چون اون یک معمار نیست یک ربات بلغور کنندست فقط.
باید ممیزی بشه اونم توسط کارشناس! وقتی یه پروژه واقعا جدی بشه اون موقع دیگه دیره که بیای از اول معماریشو اصلاح کنی.
از ما گفتن بود… هر مدل قدرتمندی داشته باشی هر چقدرم بهش پول داده باشی باید ممیزی کنی. باید یک متخصص کدها رو بخونه تأیید کنه! شوخی بردار نیست این چیزا.
اگر از جماعت مفسدان فیالارض هستید و هر آنچه را که با هوش مصنوعی ساختهاید، به فساد و تباهی کشاندهاید، پیشنهاد میکنم توصیههای امنیتی «کامپز کبیر» را به حلق آن عاملهای هوش مصنوعیِ بیخرد، کلهپوک، بیمغز، بیخاصیت و کثافتکارِ انگلیسیزبانتان فرو کنید!
شاید به لطف این رهنمودهای گرانبها، سرانجام از شر کثافتکاریهای خودکار این موجودات دیجیتالی خلاص شوید و دستکم در پیشگاه عقل و منطق، اندکی از اتهام افساد فیالارض مبرا گردید! 😁😂
با احترام، کامی کبیر؛ ناجیِ عاملهای هوش مصنوعی از حماقت مصنوعی! 😎
https://github.com/thecompez/ai-for-modern-cpp
این بسته الحاقی بسیار مهم هست:
https://github.com/thecompez/ai-for-modern-cpp/commit/8c00c16a8315a2368720ec684611e6223d106ede
شاید به لطف این رهنمودهای گرانبها، سرانجام از شر کثافتکاریهای خودکار این موجودات دیجیتالی خلاص شوید و دستکم در پیشگاه عقل و منطق، اندکی از اتهام افساد فیالارض مبرا گردید! 😁😂
با احترام، کامی کبیر؛ ناجیِ عاملهای هوش مصنوعی از حماقت مصنوعی! 😎
https://github.com/thecompez/ai-for-modern-cpp
این بسته الحاقی بسیار مهم هست:
https://github.com/thecompez/ai-for-modern-cpp/commit/8c00c16a8315a2368720ec684611e6223d106ede
GitHub
GitHub - thecompez/ai-for-modern-cpp: A template repository for guiding AI coding agents to write safe, modern C++20/23/26 code…
A template repository for guiding AI coding agents to write safe, modern C++20/23/26 code using modules, concepts, modern CMake, Core Guidelines, tests, and repeatable build-test-review loops. - th...
COMPΞZ 🧬
اگر از جماعت مفسدان فیالارض هستید و هر آنچه را که با هوش مصنوعی ساختهاید، به فساد و تباهی کشاندهاید، پیشنهاد میکنم توصیههای امنیتی «کامپز کبیر» را به حلق آن عاملهای هوش مصنوعیِ بیخرد، کلهپوک، بیمغز، بیخاصیت و کثافتکارِ انگلیسیزبانتان فرو کنید!…
با این بهروز رسانی مخزن AI دیگه صرفاً یک توصیهگر نیست! بلکه تحلیلگر هم هست.
قواعد جدید همچنین به راهنمای اصلی عاملهای هوش مصنوعی، طراحی API، نمونههای مجاز و غیرمجاز، چکلیست بازبینی و آزمونهای قراردادی متصل شدهاند.
قواعد جدید همچنین به راهنمای اصلی عاملهای هوش مصنوعی، طراحی API، نمونههای مجاز و غیرمجاز، چکلیست بازبینی و آزمونهای قراردادی متصل شدهاند.
از این به بعد برنامهنویسی اینطوریه... علاوه بر اینکه با احمقهای ماشینی طرف هستی؛ با یه لایهٔ میانجیگر هم طرفی به نام AI! یعنی کارمون اینه احمقهای بیخرد رو آگاه کنیم و اگرنه عین یه خرزشی زبون نفهمن و این یعنی وظیفهٔ یک برنامهنویس به مراتب سختتر از قبل هست.
شما شاید تایپ کردن رو در حد چشمگیری کنار میذاری اما تحلیلگری تکنیکی رو باید ارتقاء بدی و اولویتش رو تا حد ممکن افزایش بدی؛ باید کدها رو تحلیل کنی... مبادا به خروجیای که AI میده اعتماد کنی! بعداً نگی چرا آشغال تولید کردم! چون اینطور که من میبینم ممیزی یکی از مراحل به شدت مهمتر از قبل خواهد بود که شاید تا دیروز خیلیها بهش زیاد اهمیت نمیدادن.
شما شاید تایپ کردن رو در حد چشمگیری کنار میذاری اما تحلیلگری تکنیکی رو باید ارتقاء بدی و اولویتش رو تا حد ممکن افزایش بدی؛ باید کدها رو تحلیل کنی... مبادا به خروجیای که AI میده اعتماد کنی! بعداً نگی چرا آشغال تولید کردم! چون اینطور که من میبینم ممیزی یکی از مراحل به شدت مهمتر از قبل خواهد بود که شاید تا دیروز خیلیها بهش زیاد اهمیت نمیدادن.
COMPΞZ 🧬
از این به بعد برنامهنویسی اینطوریه... علاوه بر اینکه با احمقهای ماشینی طرف هستی؛ با یه لایهٔ میانجیگر هم طرفی به نام AI! یعنی کارمون اینه احمقهای بیخرد رو آگاه کنیم و اگرنه عین یه خرزشی زبون نفهمن و این یعنی وظیفهٔ یک برنامهنویس به مراتب سختتر از قبل…
خیلی وقتها دیدم که برنامهنویسها به خصوص ایرانیها اصلاً اهمیتی به ممیزی (Audit) نمیدن! به فکر خودشون یه چیزی بساز بنویس اگه جواب داد حله! تا ته بکن تو پاچهٔ مشتری پولتو بگیر. مشتری بدبخت هم فکر میکنه یه چیز تمیز بهش دادن.
بد نیست بدونید من شخصاً ۳ ماه فقط روی قرارداد جنیتوکن ممیزی انجام دادم! اون موقع AI در این حد نبود مقداری سهمیه توکن به یه شرکتی دادم که ابزارش رو در اختیارم قرار بده که بتونم مسائل امنیتی احتمالی رو تحلیل کنم.
حالا مدتها گذشته ابزارها بسیار پیشرفت کردن به خصوص در صنعت بلاکچین ممیزی همیشه مهمه چون قرارداد وقتی مستقر میشه دیگه راه برگشت ندارد باید ممیزی بشه.
مطمئنم شک ندارم خیلی از برنامهنویسهای غیر بلاکچینی با ممیزیهای استاندارد کمیته غریب هستن! هیچوقت هم انجامشون نمیدن ولی اینها مهمه.
استاندارد و توصیههای مراجع مهمه.
خلاصهٔ کلام که این مخزن بهروز شد مطابق توصیههای مراجع استانداردسازی. خودم ازش استفاده میکنم شماهم حالشو ببرید... فعلاً رایگانه ولی بعداً نسخهٔ پیشرفته و جدیترش رو مبتنی بر جنی خواهم کرد. هنوز خیلی فاصله داره با چیزی که تو ذهنمه... اما همین نسخش هم شمارو از خیلی اشتباهات نجات خواهد داد.
بد نیست بدونید من شخصاً ۳ ماه فقط روی قرارداد جنیتوکن ممیزی انجام دادم! اون موقع AI در این حد نبود مقداری سهمیه توکن به یه شرکتی دادم که ابزارش رو در اختیارم قرار بده که بتونم مسائل امنیتی احتمالی رو تحلیل کنم.
حالا مدتها گذشته ابزارها بسیار پیشرفت کردن به خصوص در صنعت بلاکچین ممیزی همیشه مهمه چون قرارداد وقتی مستقر میشه دیگه راه برگشت ندارد باید ممیزی بشه.
مطمئنم شک ندارم خیلی از برنامهنویسهای غیر بلاکچینی با ممیزیهای استاندارد کمیته غریب هستن! هیچوقت هم انجامشون نمیدن ولی اینها مهمه.
استاندارد و توصیههای مراجع مهمه.
خلاصهٔ کلام که این مخزن بهروز شد مطابق توصیههای مراجع استانداردسازی. خودم ازش استفاده میکنم شماهم حالشو ببرید... فعلاً رایگانه ولی بعداً نسخهٔ پیشرفته و جدیترش رو مبتنی بر جنی خواهم کرد. هنوز خیلی فاصله داره با چیزی که تو ذهنمه... اما همین نسخش هم شمارو از خیلی اشتباهات نجات خواهد داد.
بعد فکرشو بکن هر روز اینور اونور تبلیغات اینو میبینیم که هوش مصنوعی فلان کرد بهمان کرد... دریغ از اینکه هرچی میسازه یه مشت کد ظاهری با ارزش بسیار پایین و غیر مهندسیه.
چهارتا خروجی خوشگل ازش نشون میدن به خصوص توی اینستا بیاااا تا بهت بگم چطور آشغال تولید کنید... ملت هم زیر پستهاش خر میشن!
توصیه میکنم در حد Vibe Coding روشون حساب کنید در حد یه سرنخ نه اطمینان و راهکار نهایی؛ برای کارهای جدی باید قانون و قوائد مهندسی رو رعایت کنید اگر بلد نیستید و این کاره نیستید محصولی که میسازید رو تو پاچهٔ اون بدبخت بیخبر از این حقهبازیهای AI نکنید که فساد است. 😁
تا پندهایی دیگر به درود ای فرهیختگان سادهلوح.
چهارتا خروجی خوشگل ازش نشون میدن به خصوص توی اینستا بیاااا تا بهت بگم چطور آشغال تولید کنید... ملت هم زیر پستهاش خر میشن!
توصیه میکنم در حد Vibe Coding روشون حساب کنید در حد یه سرنخ نه اطمینان و راهکار نهایی؛ برای کارهای جدی باید قانون و قوائد مهندسی رو رعایت کنید اگر بلد نیستید و این کاره نیستید محصولی که میسازید رو تو پاچهٔ اون بدبخت بیخبر از این حقهبازیهای AI نکنید که فساد است. 😁
تا پندهایی دیگر به درود ای فرهیختگان سادهلوح.
امروز یه پستی دیدم نوشته بود یه رقیب جدید برای WordPress یافتن به اسم EmDash کلی داستان درست کردن که دیگه وردپرس بازنشسته میشه و فلان... این حرفها مهم نیست چون هر سیستمی بازار خودش رو داره.
https://github.com/emdash-cms/emdash
اما این چیزی که نظرم رو جلب کرد اینه که یک ویژگی بهتری نسبت به وردپرس داره که موجب میشه که افزونه در یک محیط ایزوله (Sandbox) اجرا میشود و فقط مجوزهای مشخصی را دریافت میکند که مدیر سایت تأیید کرده است. این معماری بر پایه اصل حداقل سطح دسترسی (Least Privilege) طراحی شده است.
این سیستم با TypeScript توسعه یافته در حالی که وردپرس با PHP هست و در مقابل تگرا با ++C توسعه یافته.
جالبه که من این مسأله رو همون ابتدای پیریزی سیستم تگرا در نظر گرفته بودم و معماری بسیار بهتری داره که بعداً در خصوصش مستند خواهم نوشت.
https://github.com/emdash-cms/emdash
اما این چیزی که نظرم رو جلب کرد اینه که یک ویژگی بهتری نسبت به وردپرس داره که موجب میشه که افزونه در یک محیط ایزوله (Sandbox) اجرا میشود و فقط مجوزهای مشخصی را دریافت میکند که مدیر سایت تأیید کرده است. این معماری بر پایه اصل حداقل سطح دسترسی (Least Privilege) طراحی شده است.
این سیستم با TypeScript توسعه یافته در حالی که وردپرس با PHP هست و در مقابل تگرا با ++C توسعه یافته.
جالبه که من این مسأله رو همون ابتدای پیریزی سیستم تگرا در نظر گرفته بودم و معماری بسیار بهتری داره که بعداً در خصوصش مستند خواهم نوشت.
GitHub
GitHub - emdash-cms/emdash: EmDash is a full-stack TypeScript CMS based on Astro; the spiritual successor to WordPress
EmDash is a full-stack TypeScript CMS based on Astro; the spiritual successor to WordPress - emdash-cms/emdash
خرزشییییی دهنت سرویس... امروز یادم رفت یکم فحشت بدم مشغول کدینگ بودم.
ببخشید دیر شد به هر حال انجام وظیفه شد.😝😘
ببخشید دیر شد به هر حال انجام وظیفه شد.😝😘
COMPΞZ 🧬
جالبه که من این مسأله رو همون ابتدای پیریزی سیستم تگرا در نظر گرفته بودم و معماری بسیار بهتری داره که بعداً در خصوصش مستند خواهم نوشت.
یک موضوع مهم در خصوص سیستم احراز هویت تگرا اینه که ذاتاً با OpenProof هم هماهنگش کردم.
یعنی موقع نصب قراره مدیر سایت مشخص کنه که میخواد از زیرساخت پیشفرض خود CMS استفاده کنه برای این کار یا دوست داریم از OpenProof استفاده کنیم.
یعنی هرچی بسازم محصولات هم دیگه رو پوشش میدن! این اونیکی رو اون اینیکی رو... انتخاب با خود کاربره که از چی استفاده کنه البته که توصیههایی هم از طرف خود سیستم نسبت به نیاز کاربری ارائه میشه.
برای مثال:
یک سایت کوچیک نیازی به زیرساخت بزرگ نداره! میتونه با SQlite هم دادهها رو مدیریت کنه. اما وقتی یه چیزی بخوای سازمانی و بسیار گسترده؛ میتونی به سیستم بگی بهتره از PSQL یا MySQL استفاده کنی...
یا اگر یک سیستم ثبتنام و ورود ساده برات کافیه نیازی نیست OP رو فعال کنی! ولی اگه قراره سایتی بسازی که یک سیستم پیچیده کاربری داشته باشه که از هر نوع شبکهای حتی بلاکچین پشتیبانی کنه؛ در این صورت گزینهٔ OP رو فعال میکنی و تگرا بر اساس اون سیستم احراز هویت رو برات اجرا میکنه.
به همین تمیزی! 😎 پشت جزء به جزء اینها پدرم در اومده لامصب...
به قولِ ممد شاهکاره...
یعنی موقع نصب قراره مدیر سایت مشخص کنه که میخواد از زیرساخت پیشفرض خود CMS استفاده کنه برای این کار یا دوست داریم از OpenProof استفاده کنیم.
یعنی هرچی بسازم محصولات هم دیگه رو پوشش میدن! این اونیکی رو اون اینیکی رو... انتخاب با خود کاربره که از چی استفاده کنه البته که توصیههایی هم از طرف خود سیستم نسبت به نیاز کاربری ارائه میشه.
برای مثال:
یک سایت کوچیک نیازی به زیرساخت بزرگ نداره! میتونه با SQlite هم دادهها رو مدیریت کنه. اما وقتی یه چیزی بخوای سازمانی و بسیار گسترده؛ میتونی به سیستم بگی بهتره از PSQL یا MySQL استفاده کنی...
یا اگر یک سیستم ثبتنام و ورود ساده برات کافیه نیازی نیست OP رو فعال کنی! ولی اگه قراره سایتی بسازی که یک سیستم پیچیده کاربری داشته باشه که از هر نوع شبکهای حتی بلاکچین پشتیبانی کنه؛ در این صورت گزینهٔ OP رو فعال میکنی و تگرا بر اساس اون سیستم احراز هویت رو برات اجرا میکنه.
به همین تمیزی! 😎 پشت جزء به جزء اینها پدرم در اومده لامصب...
به قولِ ممد شاهکاره...
COMPΞZ 🧬
یک موضوع مهم در خصوص سیستم احراز هویت تگرا اینه که ذاتاً با OpenProof هم هماهنگش کردم. یعنی موقع نصب قراره مدیر سایت مشخص کنه که میخواد از زیرساخت پیشفرض خود CMS استفاده کنه برای این کار یا دوست داریم از OpenProof استفاده کنیم. یعنی هرچی بسازم محصولات هم…
همین الآن وضعیت تگرا از نظر ابزارها و زبانی که برای ساختش استفاده کردم.
بخش شِل مختص آزمایشهای استرسه یه سری بنچمارکها و آزمون خطاهایی که باید انجام بشه.
رُخ رو ببین آخه جون من لذت میبرم ازش... 😌
بخش شِل مختص آزمایشهای استرسه یه سری بنچمارکها و آزمون خطاهایی که باید انجام بشه.
رُخ رو ببین آخه جون من لذت میبرم ازش... 😌
دیشب سرورم ترکید! 😒 ۱۲ ساعت تمام سرویسهام خاموش و دسترسی به هرچی ساخته بودم روی سرور قطع بود.
تیکت زدم به آمریکایی نفهم برا من کلاس میاد میگه لینوکس خراب شده و امکان تعمیرش نیست! میگم خب مردک چه کنیم؟ یه خاکی سرمون باید کنیم به هر حال نمیشه که...
جواب داده که یه نسخهٔ پشتیبانی برای چند روز پیش هست از کل سرور و سیستمعامل و مخلفاتش! 😐 میگم خب این به درد من نمیخوره سیستمعامل بوت لودرش خراب شده ظاهراً نه ssh میشه زد نه هیچی بوت نمیشه دیسک ترکیده!
طرف جفت پاشو کرده بود که بازیابیش کنه! اعصابم بهم ریخته بود که با این بازیابی زحمات چند روزم به فنا میره.
گفتم دست نگهدار ... هیچی زمین و آسمون رو شخم زدم از زمین و آسمون سوأل کردم تمام انجمنهای لینوکس و خفنهای لینوکس رو گرد هم آوردم به این نتیجه رسیدم که این لامصب موقع ارتقاء به یه مشکلی خورده که فایلها ناقص بهروز رسانی شدن و در نهایت منجر به خرابی بعد از ریبوت شده و پاسخ ۹۹.۹٪ همه نصب مجدد سیستمعامل بود.
در نتیجه بعد از ریبوت در مرحلهٔ BIOS سیستم به چوخ رفت و بنابراین هیچ دسترسیای نداری که درستش کنی جز یه vnc مزخرف محدود که نه به اینترنت وصله نه میشه چهارتا دستور توش کپی پست کرد گفتم ببینم چه میشه کرد...
مثل اینه که بری دکتر همه جوابش کنن بگن این دیگه رفته مُرده بر نمیگرده...
هیچی دیگه از اونجایی که من نا امیدی خوراکم نیست گفتم زمین بره هوا بیاد اینو باید درستش کنم! متخصص شبکه یا پشتیبان جواب نمیده به درک! برداشتم با همون چوسسس دسترسی که داشتم از این سر دنیا رفتم اون سر دنیا توی شیکم نیویورک دیتاسنتری که حتی اجازهٔ ریستارت دستی رو هم نمیداد رو یه بلایی سرش آوردم که در نهایت بعد از ۵ ساعت جراحی تخصصی روی هستهٔ بوت لینوکس تونستم تعمیرش کنم.
حین جراحی این کارها مهم بود:
۱) داخل خود لینوکس یک بوتر مجازی و ایزوله ساختم که روی دیسک اصلی که خراب بود خرابی بیشتر به بار نیاره.
۲) تنها دسترسی که داشتم busybox بود که صدها دستور رو باید تش دونه دونه تایپ میکردم... از ۱ شب تا ۶ صبح طول کشید انگشتم باد کرد انقدر تایپ کردم.😐
۳) اینجا دیگه در چنین شرایطی حتی دسترسی به نت یا ai نداری کپی پست کنی توی ترمینال بگی پشت سر هم تست میکنم باید با نهایت دقت پیش بری که اگه ذرهای اشتباه کنی کل دیسک سیستمعامل به فنا میره و همون یه ذره امید هم تموم میشه! واسهٔ من مهم بود چون دارو ندارم رو سرور بود 😐
۴) تعمیرات رو انجام دادم تیکت پشتیبانی هم باز بود و پر از پیامهای تنها چارهٔ کار بازیابی از طریق نسخهٔ پشتیبانی...
۵) دو بار روشی که باید رو پیش رفتم هر دو بارش شکست خوردم... بار اول طوری سیستم ترکید که حتی دسترسی به همون vnc هم از بین رفت! هنگ کامل سیستم رفته بود روی حالت پنیک بوت! تخصصیهای لینوکس میدونن چی میگم! گفتم امکان نداره باید درستش کنم! من حالیم نیست لینوکس اگه لینوکسه باید این دیسک لعنتی بوت بشه... بازم نا امید نشدم اینبار یه روش دیگه به ذهنم رسید...
۶) ساختن دیسک بوت روی حافظهٔ اصلی یعنی RAM
۷) شروع کردم بوتر رو روی رم ساختم و بعد از آزمایش نشانههای احیاء شدن رو دیدم... بعد از اینکه این جواب داد کل بستهٔ آزمایشی رو از حافظه به روی دیسک سخت انتقال دادم...
۸) رفتم خود اون سگ مصصصب بوتر مخصوص linux-gnu رو که همه چیز نابود بود رو کامل با این نسخهٔ خودم جایگزین کردم و بعد با توکل بر خدا بوتر رو به اجبار ریبوت کردم.
۹) نتیجه... سیستم عاملی که مرده بود زنده شد! تمام دادهها و سرویسها زنده شدن! یعنی سیستمی که پشتیبانی به اون بزرگی بهم میگم امیدی برای بازیابیش نیست رو خودم حل کردم بعد دقیقاً در همین وضعیت بود که پشتیبانیش بعد چند ساعت تیکت جواب داد که ببخشید سرمون شلوغ بود و فلان آیا حاضرین شمارو به نسخه پشتیبانی چند روز پیش برگردونیم؟ بهش گفتم سرور رو تعمیر کردم بهش دست نزدین... طرف دهنش باز مونده بود 😐 تنبلای بیعرضه میتونستن اینطوری تعمیرش کنن ولی چون باید ساعتها وقت میذاشتن راه حل ساده رو بازیابی از روی ایمیج رو پیشنهاد میکنن.
هیچی نتیجهٔ اخلاقی و تجربیم این شد:
۱) هیچوقت به پیشنهاد پشتیبان دیتاسنتر اعتماد نکنید
۲) تا وقتی که دادههای حساس و سرویسهایی دارید که باید احیاء بشن روی سیستمعامل هیچ چیزی نصب نکنید، بازیابی نزنید؛ راه حل درمان در بیشتر مواقع جراحی هست نه اینکه مثل این دکترای دندود پزشکی بگی دندونتو باید بکشم ایمپلنت کنم 😐 برای این پدر سوختهها از ریشه کشیدن و جا انداختن راه حله نه جراحی تخصصی! همین موضوع در دنیای فناوری هم هست.
۳) محیط ایزوله و کانتینرها رو هم جدی بگیرید؛ اشتباهی که من کردم این بود روی سرور اصلی یه سری بهروز رسانیهای حساس انجام دادم که موجب این خرابی شدید شده بود.
تیکت زدم به آمریکایی نفهم برا من کلاس میاد میگه لینوکس خراب شده و امکان تعمیرش نیست! میگم خب مردک چه کنیم؟ یه خاکی سرمون باید کنیم به هر حال نمیشه که...
جواب داده که یه نسخهٔ پشتیبانی برای چند روز پیش هست از کل سرور و سیستمعامل و مخلفاتش! 😐 میگم خب این به درد من نمیخوره سیستمعامل بوت لودرش خراب شده ظاهراً نه ssh میشه زد نه هیچی بوت نمیشه دیسک ترکیده!
طرف جفت پاشو کرده بود که بازیابیش کنه! اعصابم بهم ریخته بود که با این بازیابی زحمات چند روزم به فنا میره.
گفتم دست نگهدار ... هیچی زمین و آسمون رو شخم زدم از زمین و آسمون سوأل کردم تمام انجمنهای لینوکس و خفنهای لینوکس رو گرد هم آوردم به این نتیجه رسیدم که این لامصب موقع ارتقاء به یه مشکلی خورده که فایلها ناقص بهروز رسانی شدن و در نهایت منجر به خرابی بعد از ریبوت شده و پاسخ ۹۹.۹٪ همه نصب مجدد سیستمعامل بود.
در نتیجه بعد از ریبوت در مرحلهٔ BIOS سیستم به چوخ رفت و بنابراین هیچ دسترسیای نداری که درستش کنی جز یه vnc مزخرف محدود که نه به اینترنت وصله نه میشه چهارتا دستور توش کپی پست کرد گفتم ببینم چه میشه کرد...
مثل اینه که بری دکتر همه جوابش کنن بگن این دیگه رفته مُرده بر نمیگرده...
هیچی دیگه از اونجایی که من نا امیدی خوراکم نیست گفتم زمین بره هوا بیاد اینو باید درستش کنم! متخصص شبکه یا پشتیبان جواب نمیده به درک! برداشتم با همون چوسسس دسترسی که داشتم از این سر دنیا رفتم اون سر دنیا توی شیکم نیویورک دیتاسنتری که حتی اجازهٔ ریستارت دستی رو هم نمیداد رو یه بلایی سرش آوردم که در نهایت بعد از ۵ ساعت جراحی تخصصی روی هستهٔ بوت لینوکس تونستم تعمیرش کنم.
حین جراحی این کارها مهم بود:
۱) داخل خود لینوکس یک بوتر مجازی و ایزوله ساختم که روی دیسک اصلی که خراب بود خرابی بیشتر به بار نیاره.
۲) تنها دسترسی که داشتم busybox بود که صدها دستور رو باید تش دونه دونه تایپ میکردم... از ۱ شب تا ۶ صبح طول کشید انگشتم باد کرد انقدر تایپ کردم.😐
۳) اینجا دیگه در چنین شرایطی حتی دسترسی به نت یا ai نداری کپی پست کنی توی ترمینال بگی پشت سر هم تست میکنم باید با نهایت دقت پیش بری که اگه ذرهای اشتباه کنی کل دیسک سیستمعامل به فنا میره و همون یه ذره امید هم تموم میشه! واسهٔ من مهم بود چون دارو ندارم رو سرور بود 😐
۴) تعمیرات رو انجام دادم تیکت پشتیبانی هم باز بود و پر از پیامهای تنها چارهٔ کار بازیابی از طریق نسخهٔ پشتیبانی...
۵) دو بار روشی که باید رو پیش رفتم هر دو بارش شکست خوردم... بار اول طوری سیستم ترکید که حتی دسترسی به همون vnc هم از بین رفت! هنگ کامل سیستم رفته بود روی حالت پنیک بوت! تخصصیهای لینوکس میدونن چی میگم! گفتم امکان نداره باید درستش کنم! من حالیم نیست لینوکس اگه لینوکسه باید این دیسک لعنتی بوت بشه... بازم نا امید نشدم اینبار یه روش دیگه به ذهنم رسید...
۶) ساختن دیسک بوت روی حافظهٔ اصلی یعنی RAM
۷) شروع کردم بوتر رو روی رم ساختم و بعد از آزمایش نشانههای احیاء شدن رو دیدم... بعد از اینکه این جواب داد کل بستهٔ آزمایشی رو از حافظه به روی دیسک سخت انتقال دادم...
۸) رفتم خود اون سگ مصصصب بوتر مخصوص linux-gnu رو که همه چیز نابود بود رو کامل با این نسخهٔ خودم جایگزین کردم و بعد با توکل بر خدا بوتر رو به اجبار ریبوت کردم.
۹) نتیجه... سیستم عاملی که مرده بود زنده شد! تمام دادهها و سرویسها زنده شدن! یعنی سیستمی که پشتیبانی به اون بزرگی بهم میگم امیدی برای بازیابیش نیست رو خودم حل کردم بعد دقیقاً در همین وضعیت بود که پشتیبانیش بعد چند ساعت تیکت جواب داد که ببخشید سرمون شلوغ بود و فلان آیا حاضرین شمارو به نسخه پشتیبانی چند روز پیش برگردونیم؟ بهش گفتم سرور رو تعمیر کردم بهش دست نزدین... طرف دهنش باز مونده بود 😐 تنبلای بیعرضه میتونستن اینطوری تعمیرش کنن ولی چون باید ساعتها وقت میذاشتن راه حل ساده رو بازیابی از روی ایمیج رو پیشنهاد میکنن.
هیچی نتیجهٔ اخلاقی و تجربیم این شد:
۱) هیچوقت به پیشنهاد پشتیبان دیتاسنتر اعتماد نکنید
۲) تا وقتی که دادههای حساس و سرویسهایی دارید که باید احیاء بشن روی سیستمعامل هیچ چیزی نصب نکنید، بازیابی نزنید؛ راه حل درمان در بیشتر مواقع جراحی هست نه اینکه مثل این دکترای دندود پزشکی بگی دندونتو باید بکشم ایمپلنت کنم 😐 برای این پدر سوختهها از ریشه کشیدن و جا انداختن راه حله نه جراحی تخصصی! همین موضوع در دنیای فناوری هم هست.
۳) محیط ایزوله و کانتینرها رو هم جدی بگیرید؛ اشتباهی که من کردم این بود روی سرور اصلی یه سری بهروز رسانیهای حساس انجام دادم که موجب این خرابی شدید شده بود.
خلاصه که استرس عجیبی بود... امیدوارم هیچوقت از این خرابیها روی سرورهاتون رخ نده ولی اگه داد مطمئن باشید راهحلی داره زیاد به این پشتیبانها گوش ندین اونها به خاطر تخصصی که باید به خرج بدن درگیر این چیزا نمیشن و راهحلشون در ۹۹٪ مواقع بازیابی هست که این درمان همیشه جواب درستی نیست.
تا پندهای دیگر دنیای لینوخسی بای بای بریم بخوابیم 😪
تا پندهای دیگر دنیای لینوخسی بای بای بریم بخوابیم 😪
COMPΞZ 🧬
حالا یه سوأل از اونی که فکر میکنه اینا دوست مردم ایرانن؟ اینو زمان جنگ وقتی اون کله زرد میگفت عنگانی در راه است به یه سریها گفتم که ببین اینا حرفه! دارن با احساسات مردم بدبخت بازی میکنن هدف اصلی منافع خودشونه نه ما! برگرد به ۵۰ سال پیش ببین کیا بودن که پشت کردن به این جماعت و کیا بودن که هم از آخوور خوردن هم از ناخور!
بازم میگم شرف داشته باشید همه چیرو ببینید.
صرفاً جهت یاد آوری برای اون دسته که سعی دارن بگن ببینید اینبار مارکو کوتوله تمدن ایران رو به تمسخر گرفته اوناهم مثل ما هستن...
اولاً که ما میدونیم غرب دشمن درجه یک این کشوره قبلتر از شماها دهنشونو سرویس کردیم و میکنیم! ولی این دلیل نمیشه خودتو بشوری بگی من بهترم! تو بهتر نیستی حتی صد بدتری! شما دشمن درجهٔ منفی ۱ هستی! پس نشور خودتو.👌
و دوم اینکه؛ هم شما هم اونا جفتتونم دشمن این خاک و مردم و تمدنش هستید. شما از جنس عرب غارتگر و اونها از جنس یابوهای وحشی تمدن نداشته... در کل جفتتون هم بی تمدنین.
بازم میگم برید تاریخ بخونید... پنجاه سال پیش ببین کی زد زیر پای شاه این مملکت! ببین کی بود که خیانت کرد... معلومه که غرب بوده پس چیرو داری یاد آوری میکنی؟ :))
معلومه که اینا دشمن این مملکتن و دوست ندارن این کشور قدرت بگیره چون میدونن پتانسیل خیلی چیزارو داره اما نه با شماها...
چطور شماها میگید نهههه آخه باباش خوب بودا ولی خودش نههه! منم میگم آره اسلام و مسلمونها خوبن ولی شما کثافتزادههای لجن ملعون در جایگاهی نیستید که بگید ما قدرتیم...
چقدر باید رو داشته باشی که اینهمه جنایت کنی بعد بیای تصویر فرانسه رو نشون بدی بگی ببین ایناهم جنایت میکنن! خب بیمغز اون که برای ما ثابت شدست جنایت کارن! اونا که مدعی نیستن مسلمونن! اونا که تمدن و فرهنگ ندارن و این برای همه آشکاره! اما تویی که قایم شدی پشت لباس ایرانی و داری کثافتکاری میکنی نباید حرف بزنی اصلاً... چون مدعی هستی مظلومی و پاک و متدین!
ولی نیستی :) ثابت کردین که نیستین پس خفه خون بگیرین از هر برنامهای برای توجیه کثافتکاریاتون واسه ما داستان درست نکنید.
همتون یه مشت کفتارید...
صرفاً جهت یاد آوری برای اون دسته که سعی دارن بگن ببینید اینبار مارکو کوتوله تمدن ایران رو به تمسخر گرفته اوناهم مثل ما هستن...
اولاً که ما میدونیم غرب دشمن درجه یک این کشوره قبلتر از شماها دهنشونو سرویس کردیم و میکنیم! ولی این دلیل نمیشه خودتو بشوری بگی من بهترم! تو بهتر نیستی حتی صد بدتری! شما دشمن درجهٔ منفی ۱ هستی! پس نشور خودتو.👌
و دوم اینکه؛ هم شما هم اونا جفتتونم دشمن این خاک و مردم و تمدنش هستید. شما از جنس عرب غارتگر و اونها از جنس یابوهای وحشی تمدن نداشته... در کل جفتتون هم بی تمدنین.
بازم میگم برید تاریخ بخونید... پنجاه سال پیش ببین کی زد زیر پای شاه این مملکت! ببین کی بود که خیانت کرد... معلومه که غرب بوده پس چیرو داری یاد آوری میکنی؟ :))
معلومه که اینا دشمن این مملکتن و دوست ندارن این کشور قدرت بگیره چون میدونن پتانسیل خیلی چیزارو داره اما نه با شماها...
چطور شماها میگید نهههه آخه باباش خوب بودا ولی خودش نههه! منم میگم آره اسلام و مسلمونها خوبن ولی شما کثافتزادههای لجن ملعون در جایگاهی نیستید که بگید ما قدرتیم...
چقدر باید رو داشته باشی که اینهمه جنایت کنی بعد بیای تصویر فرانسه رو نشون بدی بگی ببین ایناهم جنایت میکنن! خب بیمغز اون که برای ما ثابت شدست جنایت کارن! اونا که مدعی نیستن مسلمونن! اونا که تمدن و فرهنگ ندارن و این برای همه آشکاره! اما تویی که قایم شدی پشت لباس ایرانی و داری کثافتکاری میکنی نباید حرف بزنی اصلاً... چون مدعی هستی مظلومی و پاک و متدین!
ولی نیستی :) ثابت کردین که نیستین پس خفه خون بگیرین از هر برنامهای برای توجیه کثافتکاریاتون واسه ما داستان درست نکنید.
همتون یه مشت کفتارید...
COMPΞZ 🧬
بازم میگم شرف داشته باشید همه چیرو ببینید. صرفاً جهت یاد آوری برای اون دسته که سعی دارن بگن ببینید اینبار مارکو کوتوله تمدن ایران رو به تمسخر گرفته اوناهم مثل ما هستن... اولاً که ما میدونیم غرب دشمن درجه یک این کشوره قبلتر از شماها دهنشونو سرویس کردیم…
توی رسانهها هم کم کم دارید از تمدن ایران و سپاه و لشکریان هخامنشی مایه میذارید... چی شد پس تا دیروز اینا مال ما نبودن؟! دروغ بودن...😄 همه چیزتون مسخرت واللهای خندهدارید. یه مشت احمق دور هم شدن متخصصهای سیاسی جبههٔ مقاومت و توسعه!!!
یه روز همه چیرو ممنوع میکنید یه روز میگید فلانه بهمانه روز بعدی میای میگی نماد شیر و خورشید و همه چیزش مال ماست! یه روزی میای فحش میدی بهش میگی هرکی این نمادو قبول داره خائنه!
آخرش من نفهمیدم شماها منطقتون چیه! شما از خودتون چی دارید دقیقاً؟ همون رو مثال بزنید از دوران خودتون مایه بذارید نه دورانی که ربطی به شما نداشته... هرچی هم داریم که همش مال گذشتست... شمتا فقط اسمهاشون رو عوض کردین به نفع خودتون.
مگه نمیگید اون دوران گذشته رفته خب از همین ۵۰ سال اخیر مایه بذار دیگه چیکار داری همه تقصیرارو میاندازی گردن قبل از خودت.
مسخرههای احمق...
یه روز همه چیرو ممنوع میکنید یه روز میگید فلانه بهمانه روز بعدی میای میگی نماد شیر و خورشید و همه چیزش مال ماست! یه روزی میای فحش میدی بهش میگی هرکی این نمادو قبول داره خائنه!
آخرش من نفهمیدم شماها منطقتون چیه! شما از خودتون چی دارید دقیقاً؟ همون رو مثال بزنید از دوران خودتون مایه بذارید نه دورانی که ربطی به شما نداشته... هرچی هم داریم که همش مال گذشتست... شمتا فقط اسمهاشون رو عوض کردین به نفع خودتون.
مگه نمیگید اون دوران گذشته رفته خب از همین ۵۰ سال اخیر مایه بذار دیگه چیکار داری همه تقصیرارو میاندازی گردن قبل از خودت.
مسخرههای احمق...