uk
Feedback
COMPΞZ 🧬

COMPΞZ 🧬

Відкрити в Telegram

متخصص کامپیوتر و نرم‌افزار • سازنده • هنرمند و طراح • مجموعه‌دار • نویسنده • تحلیل‌گر • مشاور استارتاپی و ایده‌پرداز 𐎲𐎴𐎠𐎼𐎴𐎫𐎹 𐏃𐎢𐎶𐎠𐎫𐎹 We create because the world deserves better code. https://linktr.ee/compez

Показати більше
Країна не вказанаКатегорія не вказана
393
Підписники
Немає даних24 години
-57 днів
+2730 днів
Архів дописів
یک موتور می‌تونه از فریم‌ورک‌های دیگه استفاده کنه اما یک فریم‌ورک خودش چهارچوب محدود شده به خودش رو داره. مثلاً ما می‌تونیم انتظار داشته باشیم سیمرغ یه انشعابی به سمت کیوت داشته باشه و باهاش برنامه‌های گرافیکی رو بسازه اما از کیوت نمی‌تونی انتظار داشته باشی برای شما یه وب‌سایت بالا بیاره! تفاوتشون اینجاست که موتور تقریباً ساختار رو از قبل آماده کرده اما فریم‌ورک چهارچوبی از برنامه‌سازی رو برای شما ارائه می‌کنه. اینا یکم خیلی تخصصی و پیچیده هستن اما در اصل ما به دنبال ساده‌سازی ساخت و سرویس دهی هستیم نه پیشنهاد یک ساختار.

اینم شاید سوأل پیش بیاد که یک فریم‌ورک با یک موتور چه تفاوتی داره. در نسخهٔ فعلی سیمرغ تا حدی نیمه‌ فریم‌ورک و نیمه موتور هست
اینم شاید سوأل پیش بیاد که یک فریم‌ورک با یک موتور چه تفاوتی داره. در نسخهٔ فعلی سیمرغ تا حدی نیمه‌ فریم‌ورک و نیمه موتور هست و چون هدف تولید یک خروجی محاسباتیه بنابراین از همین الآن من موتور خطابش می‌کنم. خلاصش این میشه: Engine = ابزار و سرویس Framework = اسکلت و ساختار

به قولی یکم زیبایی ببینیم. این تیکه کد‌های CMake به صورت خودکار تمام فایل‌های سرآیند و ماژول‌ها رو جمع‌آوری می‌کنه و تمام مست
+1
به قولی یکم زیبایی ببینیم. این تیکه کد‌های CMake به صورت خودکار تمام فایل‌های سرآیند و ماژول‌ها رو جمع‌آوری می‌کنه و تمام مستنداتی که حین کد نویسی نوشتم رو ارزیابی و به مستند تبدیل می‌کنه. نمونه مثال: کلاس جلسات (SESSIONS) هر جایی که شما به سبک داکسی‌جن توضیحات داشته باشی، سیستم به صورت خودکار اون‌ها رو به یک خروجی مستند شده تبدیلش می‌کنه.

این هم رفت روی گیت‌هاب. وضعیت پروژه عمومی نیست و زوده برای انتشار نهایی چون وقتی تمومش کنم جای درستش تبلیغاتش هم شروع می‌شه.
+1
این هم رفت روی گیت‌هاب. وضعیت پروژه عمومی نیست و زوده برای انتشار نهایی چون وقتی تمومش کنم جای درستش تبلیغاتش هم شروع می‌شه. این فرآیند موقع کامپایل موتور شکل می‌گیره وخروجی وب از مستندات رو آماده می‌کنه. چیزی که مد نظرم هست انتشار یک موتور با کیفیت بالا و سریع و البته جدی هست! نه مثل چیز‌هایی که این جوجه بسیجی‌های زپرتی می‌سازن که مایه خندهٔ دنیاست. شماها آبروی ایرانی جماعتو همه جا بردین بزدل‌های خائن. اینو فراموش نکنیم، ما در موضوع فناوری باید اگه بالا نیستیم حداقل پایین هم نباشیم! نسازیم چیز‌هایی رو که واقعاً مایهٔ تمسخره! یا باید هم سطح بشی یا باید بالاتر باشی! زیر این باشه مایهٔ تمسخره و هرچی بگی ایران قوی چرند گفتی! این چیزی که من ساختم الآن از دل تحریم‌ها شکوفا شده هزاران دلیل و مشکل رو متحمل بودم که بتونم بسازمش! کار یکی دو روزه هم نیست الآن دیگه شد ۳ سال دارم روی این کار می‌کنم. بماند به تاریخ به وقتش چیز‌های خوبی باهاش می‌سازیم که خارجی‌هاش هم انگشت به دهن مونن. هدف از این صحبتا اینه، هرکسی هر توانایی‌ای داره یه کمکی بکنه، در تخصص خودش! در حوزه‌ای که علاقه داره. گوش به حرف این لقمه حروم‌ها هم نباشید این همون پروژه‌ای بود که مهره‌های یقه بسته بهم گفتن اگه ما نخوایم تو نمی‌تونی ادعا کنی که تو ساختیش! ولی من می‌سازم چون یه ایرانیم نه یه اجنبی نون به نرخ روز خور مثل شما.

چون سی‌پلاس‌پلاس این قابلیت رو میده که شما در سطوح پایین برنامه‌نویسی کنی تا افرادی که در سطوح‌بالاتر نزدیک به زبان انسان برن
چون سی‌پلاس‌پلاس این قابلیت رو میده که شما در سطوح پایین برنامه‌نویسی کنی تا افرادی که در سطوح‌بالاتر نزدیک به زبان انسان برنامه‌نویسی می‌کنن هم بتونن به جزئیات زیر لایه‌ای و سطوح پایین که تخصص چندانی براش ندارن دسترسی داشته باشن. برای مثال، پیدا کردن تعداد و یا شماره سریال دیسک سخت چقدر برای شما سخته؟ اگه بخوای روی برنامت همچین کاری کنی باید دانش عمیق و سطح‌پایینی داشته باشی، یعنی باید هم برای ویندوز هم لینوکس و هم مک جداگانه کلی کد بنویسی! تازه اگه جواب گرفتی!!! سیمرغ بهت می‌گه بفرما! فقط تابع زیر رو استفاده کن.
__simurgh_no_discard DiskList DiskStorage::getDisks() 
تابع به صورت خیلی تمیز و ساده getDisks تمام دیسک‌های سیستم رو فراخوانی می‌کنه فرقی هم نداره چه سیستم‌عاملی داشته باشید.

سیمرغ دو نوع ماژول داره! یکی درونی و دیگری‌ها بیرونی! درونی‌ها چیز‌هایی هستند که از قبل می‌سازیمش و درون خود موتور وجود داره.
+2
سیمرغ دو نوع ماژول داره! یکی درونی و دیگری‌ها بیرونی! درونی‌ها چیز‌هایی هستند که از قبل می‌سازیمش و درون خود موتور وجود داره. بیرونی‌ها ماژول‌هایی هستن که مردم یا شما یا دیگر توسعه‌دهنده‌ها بر حسب نیاز بهش اضافه می‌کنن. این ماژول سخت‌افزاری یکی از بهترین‌هاست که هنوز کامل نیست اما جزئیات سخت‌افزار رو باهاش رنده خواهیم کرد. ویژگی خفنشون اینه که چند-سکویی هستن! یعنی فرقی نمی‌کنه روی ویندوز باشی یا لینوکس یا مک یا اندروید یا آی‌او‌اس! به شدت به کارت میاد.

ویژگی مشابه جلسات روی PHP یادتونه؟ همون SESSION‌های معروف! حالا روی سیمرغ هم داریمش؛ کاربردش سمت وب بسیاره.
ویژگی مشابه جلسات روی PHP یادتونه؟ همون SESSION‌های معروف! حالا روی سیمرغ هم داریمش؛ کاربردش سمت وب بسیاره.

یه سری انواع خاص هم داریم مثل ‌BigNumber با حوزهٔ پشتیبانی ۶۴ و ۱۲۸ بیتی که در استاندارد سی++ وجود نداره و شما باید از کتابخا
یه سری انواع خاص هم داریم مثل ‌BigNumber با حوزهٔ پشتیبانی ۶۴ و ۱۲۸ بیتی که در استاندارد سی++ وجود نداره و شما باید از کتابخانه خارجی استفاده کنید. سیمرغ بدون وابستگی این ویژگی رو ارائه می‌کنه. برید کیف کنید! کجا به درد می‌خوره و چرا ساختمش؟ وقتی روی بلاک‌چین با سالیدیتی کار می‌کردم اعداد ارقامی که تجزیه می‌کردم روی سی++ اصلاً هم خونی نداشت! شما نمی‌تونید اعداد با بازهٔ بزرگ رو که خارج از حد و توان حافظه کامپیوتر واقعی هست رو محاسبه کنید. این یک ضعف نیست؛ چون سی++ با دقت و توانایی واقعی سخت‌افزار محاسبه می‌کنه ولی زبان‌های اسکریپتی میان اینو به صورت رشته‌ای ومجازی به خصوص سالیدیتی روی ماشین مجازی اتریوم محاسبه می‌کنه. سیمرغ این شبیه‌سازی رو انجام میده و شما نیازت نسبت به پردازش‌هایی با اعداد ماورایی ممکن میشه.

عاشق این ویژگی داینامیکس هستم با عشق ساختمش! 😭 این امکان رو میده در زمان اجرا هر ویژگی‌ای که بخواین رو به نرم‌افزارتون اضافه
عاشق این ویژگی داینامیکس هستم با عشق ساختمش! 😭 این امکان رو میده در زمان اجرا هر ویژگی‌ای که بخواین رو به نرم‌افزارتون اضافه کنید. اونایی که با محصولات ادوبی کار کردن، مثل فتوشاپ و امثالش می‌دونن نصب یه افزونه یعنی چی! یا در سطح وب نصب یه افزونه روی ورد‌پرس و ... امکان گسترش محصول رو میده. البته سیمرغ نه تنها پلاگین (افزونه) داره، بلکه ماژول هم داره! پلاگین‌ها ویژگی‌هایی با جزئیات ریز رو فراهم می‌کنن؛ ولی ماژول‌ها به خودی خود یه ویژگی گسترده هستن که بعداً بهش اضافه می‌کنیم.

علاوه بر پشتیبانی از ماژول‌های درونی یا خارجی؛ بخش‌هایی داریم زیر مجموعهٔ موتور به این صورت: import engine.class.{WHAT} یک سر
علاوه بر پشتیبانی از ماژول‌های درونی یا خارجی؛ بخش‌هایی داریم زیر مجموعهٔ موتور به این صورت:
import engine.class.{WHAT}
یک سری کلاس‌های کمکی مثل همیت تبدیلات محتوا! مثلاً تبدیل یه متن به باینری، اسکی و انواع مختلف.

یکی از خفن‌ترین بخش‌هایی که تقریباً هیچ موتور برنامه‌سازی نداره، بخش ترجمهٔ نرم‌افزار در زمان اجراست. این کلاس به خودی خود یک
یکی از خفن‌ترین بخش‌هایی که تقریباً هیچ موتور برنامه‌سازی نداره، بخش ترجمهٔ نرم‌افزار در زمان اجراست. این کلاس به خودی خود یک واحدی از درون انجین حساب میشه. کاراییش این هست که به شما اجازه میده در آن واحد به هر زبانی که بخواین نرم‌افزار رو تبدیل کنید؛ یعنی فارسی و راست به چپ، و زبان‌های لاتین و چپ به راست. چیزی که بدون این مجبورید هزاران لایه و هزاران فایل و کوفت و زهره‌مار رو بازنویسی کنید =)))

ک کلاس ThreadSafe تمیز برای به‌کار گیری در برنامه‌ها! این کلاس تضمین می‌کنه دسترسی مشترک به منابع ایمن و مطمئن هست. 😎
ک کلاس ThreadSafe تمیز برای به‌کار گیری در برنامه‌ها! این کلاس تضمین می‌کنه دسترسی مشترک به منابع ایمن و مطمئن هست. 😎

موضوع مکانیزم سیگنال و اسلات مشابه اما کمی متفاوت با سبک Qt درون موتور. 😒
+1
موضوع مکانیزم سیگنال و اسلات مشابه اما کمی متفاوت با سبک Qt درون موتور. 😒

یه بخش خالص که دهنم صاف شد، ساختن یک کتابخانهٔ سبک درون موتور هست برای JSON. در حالت فعلی سیمرغ هم از JsonCPP استفاده می‌کنه
یه بخش خالص که دهنم صاف شد، ساختن یک کتابخانهٔ سبک درون موتور هست برای JSON. در حالت فعلی سیمرغ هم از JsonCPP استفاده می‌کنه هم از boost::json و در حالت پیش‌فرض از کتابخانهٔ داخلی خودش که وابستگی خارجی ندارد. (سبک و شیک).

خوبی این ساختار این هست که کاملاً بر مبنای ماژول‌ها ساخته شده. برای مثال کلاس ساده‌ای از فارکستر که اجازه میده به واسطهٔ موتو
خوبی این ساختار این هست که کاملاً بر مبنای ماژول‌ها ساخته شده. برای مثال کلاس ساده‌ای از فارکستر که اجازه میده به واسطهٔ موتور با دستورات فارکستر ارتباط برقرار کنیم. این مستندات ساده‌ترین نسخه ممکن هست که بعداً به مثال‌ها و جزئیات بهتری تبدیل خواهند شد البته به علاوهٔ بازطراحی پوستهٔ خروجی.

دانیش دا بهههههه! این هم مستندات موتور سیمرغ که به صورت خودکار در هربار کامپایل در یک فایل HTML شیک و مجلسی تولید می‌شه. 😎🫡
+5
دانیش دا بهههههه! این هم مستندات موتور سیمرغ که به صورت خودکار در هربار کامپایل در یک فایل HTML شیک و مجلسی تولید می‌شه. 😎🫡

کی فکرش رو می‌کرد با شرم زندگی کردن اینهمه سنگین باشه! همیشه طرفی وایستا که شرمندهٔ وجدانت نشی، وجدانت رو که بفروشی خیلی چیز‌ها به دست میاری جز شرافت.

این هم از دامپ طلا با استقبال از رئیس جدید فدرال رزرو. 🥇 نقره هم همینه. معناش هم مشخصه! 😒
این هم از دامپ طلا با استقبال از رئیس جدید فدرال رزرو. 🥇 نقره هم همینه. معناش هم مشخصه! 😒

داشتم یکم می‌رفتم تو دل جزئیات باینری‌های ویندوز و معماری جدید وسطاش رسیدم به ARM64EC! یه ABI مخصوص ویندوزه که اجازه میده کد ARM64 و x64 توی یه فرایند کنار هم اجرا بشن؛ یعنی هم سرعت بومی رو داری، هم می‌تونی وابستگی‌های قدیمی x64 رو نگه داری. خبر خوبش اینه که قراره از Qt 6.11 به بعد، ARM64EC رسماً پشتیبانی بشه و این یعنی مهاجرت اپ‌های بزرگ کیوت روی ویندوز خیلی منطقی‌تر و کم‌دردسرتر می‌شه. امروز اگه اینترنت اجازه بده، سعی می‌کنم این معماری رو به موتور سیمرغ اضافه کنم.

شاید بتونید پُز بدین برای یه مشت نادون که هیچی از فناوری سرش نمیشه؛ ولی برای من که برنامه‌نویس‌های گنده‌گوزتونو دیدم و کد‌هاشونم بارها خوندم و می‌دونم چقدر بی‌سواد و شخمی هستن تو ککم نمیره که چیزی حالیتونه! همونقدر که با HTML سیستم‌عامل می‌نوشتین این آت‌آشغالایی هم که هر روز پزشو میدین هم قطعاً در همون حد و اندازه مسخرست.