دانیش دا بهههههه!
این هم مستندات موتور سیمرغ که به صورت خودکار در هربار کامپایل در یک فایل HTML شیک و مجلسی تولید میشه. 😎🫡
این هم مستندات موتور سیمرغ که به صورت خودکار در هربار کامپایل در یک فایل HTML شیک و مجلسی تولید میشه. 😎🫡
😍2 2
COMPΞZ 🧬
دانیش دا بهههههه! این هم مستندات موتور سیمرغ که به صورت خودکار در هربار کامپایل در یک فایل HTML شیک و مجلسی تولید میشه. 😎🫡
خوبی این ساختار این هست که کاملاً بر مبنای ماژولها ساخته شده.
برای مثال کلاس سادهای از فارکستر که اجازه میده به واسطهٔ موتور با دستورات فارکستر ارتباط برقرار کنیم.
این مستندات سادهترین نسخه ممکن هست که بعداً به مثالها و جزئیات بهتری تبدیل خواهند شد البته به علاوهٔ بازطراحی پوستهٔ خروجی.
برای مثال کلاس سادهای از فارکستر که اجازه میده به واسطهٔ موتور با دستورات فارکستر ارتباط برقرار کنیم.
این مستندات سادهترین نسخه ممکن هست که بعداً به مثالها و جزئیات بهتری تبدیل خواهند شد البته به علاوهٔ بازطراحی پوستهٔ خروجی.
❤1 1
COMPΞZ 🧬
خوبی این ساختار این هست که کاملاً بر مبنای ماژولها ساخته شده. برای مثال کلاس سادهای از فارکستر که اجازه میده به واسطهٔ موتور با دستورات فارکستر ارتباط برقرار کنیم. این مستندات سادهترین نسخه ممکن هست که بعداً به مثالها و جزئیات بهتری تبدیل خواهند شد البته…
یه بخش خالص که دهنم صاف شد، ساختن یک کتابخانهٔ سبک درون موتور هست برای JSON.
در حالت فعلی سیمرغ هم از JsonCPP استفاده میکنه هم از boost::json و در حالت پیشفرض از کتابخانهٔ داخلی خودش که وابستگی خارجی ندارد. (سبک و شیک).
در حالت فعلی سیمرغ هم از JsonCPP استفاده میکنه هم از boost::json و در حالت پیشفرض از کتابخانهٔ داخلی خودش که وابستگی خارجی ندارد. (سبک و شیک).
COMPΞZ 🧬
موضوع مکانیزم سیگنال و اسلات مشابه اما کمی متفاوت با سبک Qt درون موتور. 😒
ک کلاس ThreadSafe تمیز برای بهکار گیری در برنامهها! این کلاس تضمین میکنه دسترسی مشترک به منابع ایمن و مطمئن هست. 😎
COMPΞZ 🧬
ک کلاس ThreadSafe تمیز برای بهکار گیری در برنامهها! این کلاس تضمین میکنه دسترسی مشترک به منابع ایمن و مطمئن هست. 😎
یکی از خفنترین بخشهایی که تقریباً هیچ موتور برنامهسازی نداره، بخش ترجمهٔ نرمافزار در زمان اجراست.
این کلاس به خودی خود یک واحدی از درون انجین حساب میشه.
کاراییش این هست که به شما اجازه میده در آن واحد به هر زبانی که بخواین نرمافزار رو تبدیل کنید؛ یعنی فارسی و راست به چپ، و زبانهای لاتین و چپ به راست.
چیزی که بدون این مجبورید هزاران لایه و هزاران فایل و کوفت و زهرهمار رو بازنویسی کنید =)))
این کلاس به خودی خود یک واحدی از درون انجین حساب میشه.
کاراییش این هست که به شما اجازه میده در آن واحد به هر زبانی که بخواین نرمافزار رو تبدیل کنید؛ یعنی فارسی و راست به چپ، و زبانهای لاتین و چپ به راست.
چیزی که بدون این مجبورید هزاران لایه و هزاران فایل و کوفت و زهرهمار رو بازنویسی کنید =)))
COMPΞZ 🧬
یکی از خفنترین بخشهایی که تقریباً هیچ موتور برنامهسازی نداره، بخش ترجمهٔ نرمافزار در زمان اجراست. این کلاس به خودی خود یک واحدی از درون انجین حساب میشه. کاراییش این هست که به شما اجازه میده در آن واحد به هر زبانی که بخواین نرمافزار رو تبدیل کنید؛ یعنی…
علاوه بر پشتیبانی از ماژولهای درونی یا خارجی؛ بخشهایی داریم زیر مجموعهٔ موتور به این صورت:
یک سری کلاسهای کمکی مثل همیت تبدیلات محتوا! مثلاً تبدیل یه متن به باینری، اسکی و انواع مختلف.
import engine.class.{WHAT}یک سری کلاسهای کمکی مثل همیت تبدیلات محتوا! مثلاً تبدیل یه متن به باینری، اسکی و انواع مختلف.
COMPΞZ 🧬
علاوه بر پشتیبانی از ماژولهای درونی یا خارجی؛ بخشهایی داریم زیر مجموعهٔ موتور به این صورت: import engine.class.{WHAT} یک سری کلاسهای کمکی مثل همیت تبدیلات محتوا! مثلاً تبدیل یه متن به باینری، اسکی و انواع مختلف.
عاشق این ویژگی داینامیکس هستم با عشق ساختمش! 😭
این امکان رو میده در زمان اجرا هر ویژگیای که بخواین رو به نرمافزارتون اضافه کنید.
اونایی که با محصولات ادوبی کار کردن، مثل فتوشاپ و امثالش میدونن نصب یه افزونه یعنی چی!
یا در سطح وب نصب یه افزونه روی وردپرس و ... امکان گسترش محصول رو میده.
البته سیمرغ نه تنها پلاگین (افزونه) داره، بلکه ماژول هم داره!
پلاگینها ویژگیهایی با جزئیات ریز رو فراهم میکنن؛ ولی ماژولها به خودی خود یه ویژگی گسترده هستن که بعداً بهش اضافه میکنیم.
این امکان رو میده در زمان اجرا هر ویژگیای که بخواین رو به نرمافزارتون اضافه کنید.
اونایی که با محصولات ادوبی کار کردن، مثل فتوشاپ و امثالش میدونن نصب یه افزونه یعنی چی!
یا در سطح وب نصب یه افزونه روی وردپرس و ... امکان گسترش محصول رو میده.
البته سیمرغ نه تنها پلاگین (افزونه) داره، بلکه ماژول هم داره!
پلاگینها ویژگیهایی با جزئیات ریز رو فراهم میکنن؛ ولی ماژولها به خودی خود یه ویژگی گسترده هستن که بعداً بهش اضافه میکنیم.
COMPΞZ 🧬
عاشق این ویژگی داینامیکس هستم با عشق ساختمش! 😭 این امکان رو میده در زمان اجرا هر ویژگیای که بخواین رو به نرمافزارتون اضافه کنید. اونایی که با محصولات ادوبی کار کردن، مثل فتوشاپ و امثالش میدونن نصب یه افزونه یعنی چی! یا در سطح وب نصب یه افزونه روی وردپرس…
یه سری انواع خاص هم داریم مثل BigNumber با حوزهٔ پشتیبانی ۶۴ و ۱۲۸ بیتی که در استاندارد سی++ وجود نداره و شما باید از کتابخانه خارجی استفاده کنید.
سیمرغ بدون وابستگی این ویژگی رو ارائه میکنه. برید کیف کنید! کجا به درد میخوره و چرا ساختمش؟ وقتی روی بلاکچین با سالیدیتی کار میکردم اعداد ارقامی که تجزیه میکردم روی سی++ اصلاً هم خونی نداشت! شما نمیتونید اعداد با بازهٔ بزرگ رو که خارج از حد و توان حافظه کامپیوتر واقعی هست رو محاسبه کنید.
این یک ضعف نیست؛ چون سی++ با دقت و توانایی واقعی سختافزار محاسبه میکنه ولی زبانهای اسکریپتی میان اینو به صورت رشتهای ومجازی به خصوص سالیدیتی روی ماشین مجازی اتریوم محاسبه میکنه.
سیمرغ این شبیهسازی رو انجام میده و شما نیازت نسبت به پردازشهایی با اعداد ماورایی ممکن میشه.
سیمرغ بدون وابستگی این ویژگی رو ارائه میکنه. برید کیف کنید! کجا به درد میخوره و چرا ساختمش؟ وقتی روی بلاکچین با سالیدیتی کار میکردم اعداد ارقامی که تجزیه میکردم روی سی++ اصلاً هم خونی نداشت! شما نمیتونید اعداد با بازهٔ بزرگ رو که خارج از حد و توان حافظه کامپیوتر واقعی هست رو محاسبه کنید.
این یک ضعف نیست؛ چون سی++ با دقت و توانایی واقعی سختافزار محاسبه میکنه ولی زبانهای اسکریپتی میان اینو به صورت رشتهای ومجازی به خصوص سالیدیتی روی ماشین مجازی اتریوم محاسبه میکنه.
سیمرغ این شبیهسازی رو انجام میده و شما نیازت نسبت به پردازشهایی با اعداد ماورایی ممکن میشه.
👏1
COMPΞZ 🧬
یه سری انواع خاص هم داریم مثل BigNumber با حوزهٔ پشتیبانی ۶۴ و ۱۲۸ بیتی که در استاندارد سی++ وجود نداره و شما باید از کتابخانه خارجی استفاده کنید. سیمرغ بدون وابستگی این ویژگی رو ارائه میکنه. برید کیف کنید! کجا به درد میخوره و چرا ساختمش؟ وقتی روی بلاکچین…
ویژگی مشابه جلسات روی PHP یادتونه؟ همون SESSIONهای معروف!
حالا روی سیمرغ هم داریمش؛ کاربردش سمت وب بسیاره.
حالا روی سیمرغ هم داریمش؛ کاربردش سمت وب بسیاره.
سیمرغ دو نوع ماژول داره!
یکی درونی و دیگریها بیرونی! درونیها چیزهایی هستند که از قبل میسازیمش و درون خود موتور وجود داره.
بیرونیها ماژولهایی هستن که مردم یا شما یا دیگر توسعهدهندهها بر حسب نیاز بهش اضافه میکنن.
این ماژول سختافزاری یکی از بهترینهاست که هنوز کامل نیست اما جزئیات سختافزار رو باهاش رنده خواهیم کرد.
ویژگی خفنشون اینه که چند-سکویی هستن! یعنی فرقی نمیکنه روی ویندوز باشی یا لینوکس یا مک یا اندروید یا آیاواس! به شدت به کارت میاد.
یکی درونی و دیگریها بیرونی! درونیها چیزهایی هستند که از قبل میسازیمش و درون خود موتور وجود داره.
بیرونیها ماژولهایی هستن که مردم یا شما یا دیگر توسعهدهندهها بر حسب نیاز بهش اضافه میکنن.
این ماژول سختافزاری یکی از بهترینهاست که هنوز کامل نیست اما جزئیات سختافزار رو باهاش رنده خواهیم کرد.
ویژگی خفنشون اینه که چند-سکویی هستن! یعنی فرقی نمیکنه روی ویندوز باشی یا لینوکس یا مک یا اندروید یا آیاواس! به شدت به کارت میاد.
👍1
چون سیپلاسپلاس این قابلیت رو میده که شما در سطوح پایین برنامهنویسی کنی تا افرادی که در سطوحبالاتر نزدیک به زبان انسان برنامهنویسی میکنن هم بتونن به جزئیات زیر لایهای و سطوح پایین که تخصص چندانی براش ندارن دسترسی داشته باشن.
برای مثال، پیدا کردن تعداد و یا شماره سریال دیسک سخت چقدر برای شما سخته؟ اگه بخوای روی برنامت همچین کاری کنی باید دانش عمیق و سطحپایینی داشته باشی، یعنی باید هم برای ویندوز هم لینوکس و هم مک جداگانه کلی کد بنویسی! تازه اگه جواب گرفتی!!!
سیمرغ بهت میگه بفرما! فقط تابع زیر رو استفاده کن.
تابع به صورت خیلی تمیز و ساده getDisks تمام دیسکهای سیستم رو فراخوانی میکنه فرقی هم نداره چه سیستمعاملی داشته باشید.
برای مثال، پیدا کردن تعداد و یا شماره سریال دیسک سخت چقدر برای شما سخته؟ اگه بخوای روی برنامت همچین کاری کنی باید دانش عمیق و سطحپایینی داشته باشی، یعنی باید هم برای ویندوز هم لینوکس و هم مک جداگانه کلی کد بنویسی! تازه اگه جواب گرفتی!!!
سیمرغ بهت میگه بفرما! فقط تابع زیر رو استفاده کن.
__simurgh_no_discard DiskList DiskStorage::getDisks()
تابع به صورت خیلی تمیز و ساده getDisks تمام دیسکهای سیستم رو فراخوانی میکنه فرقی هم نداره چه سیستمعاملی داشته باشید.
این هم رفت روی گیتهاب.
وضعیت پروژه عمومی نیست و زوده برای انتشار نهایی چون وقتی تمومش کنم جای درستش تبلیغاتش هم شروع میشه.
این فرآیند موقع کامپایل موتور شکل میگیره وخروجی وب از مستندات رو آماده میکنه.
چیزی که مد نظرم هست انتشار یک موتور با کیفیت بالا و سریع و البته جدی هست! نه مثل چیزهایی که این جوجه بسیجیهای زپرتی میسازن که مایه خندهٔ دنیاست. شماها آبروی ایرانی جماعتو همه جا بردین بزدلهای خائن.
اینو فراموش نکنیم، ما در موضوع فناوری باید اگه بالا نیستیم حداقل پایین هم نباشیم! نسازیم چیزهایی رو که واقعاً مایهٔ تمسخره! یا باید هم سطح بشی یا باید بالاتر باشی! زیر این باشه مایهٔ تمسخره و هرچی بگی ایران قوی چرند گفتی!
این چیزی که من ساختم الآن از دل تحریمها شکوفا شده هزاران دلیل و مشکل رو متحمل بودم که بتونم بسازمش! کار یکی دو روزه هم نیست الآن دیگه شد ۳ سال دارم روی این کار میکنم.
بماند به تاریخ به وقتش چیزهای خوبی باهاش میسازیم که خارجیهاش هم انگشت به دهن مونن.
هدف از این صحبتا اینه، هرکسی هر تواناییای داره یه کمکی بکنه، در تخصص خودش! در حوزهای که علاقه داره. گوش به حرف این لقمه حرومها هم نباشید این همون پروژهای بود که مهرههای یقه بسته بهم گفتن اگه ما نخوایم تو نمیتونی ادعا کنی که تو ساختیش! ولی من میسازم چون یه ایرانیم نه یه اجنبی نون به نرخ روز خور مثل شما.
وضعیت پروژه عمومی نیست و زوده برای انتشار نهایی چون وقتی تمومش کنم جای درستش تبلیغاتش هم شروع میشه.
این فرآیند موقع کامپایل موتور شکل میگیره وخروجی وب از مستندات رو آماده میکنه.
چیزی که مد نظرم هست انتشار یک موتور با کیفیت بالا و سریع و البته جدی هست! نه مثل چیزهایی که این جوجه بسیجیهای زپرتی میسازن که مایه خندهٔ دنیاست. شماها آبروی ایرانی جماعتو همه جا بردین بزدلهای خائن.
اینو فراموش نکنیم، ما در موضوع فناوری باید اگه بالا نیستیم حداقل پایین هم نباشیم! نسازیم چیزهایی رو که واقعاً مایهٔ تمسخره! یا باید هم سطح بشی یا باید بالاتر باشی! زیر این باشه مایهٔ تمسخره و هرچی بگی ایران قوی چرند گفتی!
این چیزی که من ساختم الآن از دل تحریمها شکوفا شده هزاران دلیل و مشکل رو متحمل بودم که بتونم بسازمش! کار یکی دو روزه هم نیست الآن دیگه شد ۳ سال دارم روی این کار میکنم.
بماند به تاریخ به وقتش چیزهای خوبی باهاش میسازیم که خارجیهاش هم انگشت به دهن مونن.
هدف از این صحبتا اینه، هرکسی هر تواناییای داره یه کمکی بکنه، در تخصص خودش! در حوزهای که علاقه داره. گوش به حرف این لقمه حرومها هم نباشید این همون پروژهای بود که مهرههای یقه بسته بهم گفتن اگه ما نخوایم تو نمیتونی ادعا کنی که تو ساختیش! ولی من میسازم چون یه ایرانیم نه یه اجنبی نون به نرخ روز خور مثل شما.
COMPΞZ 🧬
این هم رفت روی گیتهاب. وضعیت پروژه عمومی نیست و زوده برای انتشار نهایی چون وقتی تمومش کنم جای درستش تبلیغاتش هم شروع میشه. این فرآیند موقع کامپایل موتور شکل میگیره وخروجی وب از مستندات رو آماده میکنه. چیزی که مد نظرم هست انتشار یک موتور با کیفیت بالا…
به قولی یکم زیبایی ببینیم.
این تیکه کدهای CMake به صورت خودکار تمام فایلهای سرآیند و ماژولها رو جمعآوری میکنه و تمام مستنداتی که حین کد نویسی نوشتم رو ارزیابی و به مستند تبدیل میکنه.
نمونه مثال: کلاس جلسات (SESSIONS) هر جایی که شما به سبک داکسیجن توضیحات داشته باشی، سیستم به صورت خودکار اونها رو به یک خروجی مستند شده تبدیلش میکنه.
این تیکه کدهای CMake به صورت خودکار تمام فایلهای سرآیند و ماژولها رو جمعآوری میکنه و تمام مستنداتی که حین کد نویسی نوشتم رو ارزیابی و به مستند تبدیل میکنه.
نمونه مثال: کلاس جلسات (SESSIONS) هر جایی که شما به سبک داکسیجن توضیحات داشته باشی، سیستم به صورت خودکار اونها رو به یک خروجی مستند شده تبدیلش میکنه.