کامبیز اسدزاده 618 ارسال شده در آبان 97 آیا این واقعاً امکانپذیر است؟ پاسخ : بله! من میدانم که ممکن است این مبحث تحت سی++ بسیار پیچیده و یک کار بیهودهای باشد! اما واقعیت این است که تکنیکهای پنهان بسیاری وجود دارد که ممکن است همه از آن باخبر نباشند! من قبلاً در مورد اینکه تحت ++C وبسایت میشه طراحی کرد یا خیر تحقیقاتی انجام داده بودم، از لحاظ امکان بودنش جواب مثبت بود اما اینکه به راحتی طراحی تحت Php یا دیگر زبانهای برنامهنویسی باشه خیر! خُب طبیعیه چون شما بسیار راحت یه اسکریپت رو مینویسی و روی سرور اجراش میکنی و سایت شما به خوبی و خوشی بالا میاد! ممکن است در همین قسمت از موضوع شما به این نتیجه رسیده باشید که خُب نیازی به ادامهٔ بحث نداریم! وقتی کار سختیه پس منطقی نیست و شما احتمالاً دیوانهای!!! واقعیت جریان این است بر خلاف آن چیزی که تصور کردهایم طراحی وبسایت با سیپلاسپلاس نه تنها بسیار راحت است بلکه بسیار هم جذاب خواهد بود! اما در نگاه اول ممکن است یک سری محدودیتهارا داشته باشد که همهٔ این موارد با کمی تأمل و بررسی قابل حل هستند به قدری که وقتی درگیر این جریان باشید شیفتهٔ آن خواهید شد. مزایای یک وبسایت تحت سیپلاسپلاس نسبت به دیگر زبانهای رایج سرعت خارقالعاده و غیر قابل مقایسه با زبانهای رایج امنیت بهتر کدهای شما مدیریت سادهتر و انعطافپذیری بالا مصرف بسیار بهینه و غیر قابل تصور از منابع سرور دسترسی نامحدود به کتابخانهها عدم محدودیت در دسترسی به برنامهنویسی سطح پایین عدم محدودیت در استفاده از توابع سیستمعامل عدم محدودیت در مدیریت سیستم و هر ویژگی دیگری که در زبانهای اسکریپتی اگر به آن نیاز داشته باشید مجبور هستید تا به صورت اکستنشن آن را تحت سیپلاسپلاس باز نویسی کنید. سیستم راهانداز وبسرور چگونه است؟ در هر سروری CGI به شما امکان این را میدهد که بتوانید تحت پروتکلهای استاندارد برنامههای تحت وب را اجرا کنید. شما میتوانید تحت آن و یا موارد دیگری مانند FastCGI و WSGI و دیگر موارد بهینه شدهٔ آن برنامهٔ تحت وب را بر روی سرور خود اجرا کنید. طراحی قالب هماهنگی با HTML, JavaScript, Css در سیپلاسپلاس چگونه خواهد بود؟ همهٔ گزینههای مربوط به وب را شما بدون هیچ محدودیتی در اختیار خواهید داشت. شما هیچ محدودیتی در استفاده از ویژگیهای HTML5 یا CSS3 و یا JavaScript و دیگر فریمورکها و کتابخانههای کارآمدی چون Angular.JS را نخواهید داشت. بنابراین از نظر طراحی رابط یک وبسایت همانند دیگر زبانهای رایج میتوانید روی آن حساب کنید. طراحی هسته و بکاِند وبسایت چگونه خواهد بود؟ همانند زبانها و فریمورکهای رایج تحت وب شما در سیپلاسپلاس میتوانید هستهٔ وبسایت یا سیستم وبسایت خود را تحت استاندارد سیپلاسپلاس و هر کتابخانهای که میپسندید و یا به آن تسلط دارید پیاده سازی کنید! به شرطی که قابلیتهای آن کتابخانه پاسخگوی نیازهای شما باشد. با این حساب شما میتوانید حتی سیستم مدیریت محتوای (CMS) خود را طراحی کنید! بله سیستم مدیریت محتوا تحت سیپلاسپلاس! کاملاً جدی هستیم قبل از هر چیز یک مزیت بسیار بزرگ در کنار مزیتهای دیگر این است که یک CMS تحت سیپلاسپلاس میتواند داشته باشد مصرف بهینه از منابع سرور خواهد بود. برای مثال در یک مقایسهٔ ساده و آزمایشی نتیجهٔ بسیار جالبی ارائه شده است. همانطور که میدانید Wordpress به عنوان یک سیستم مدیریت محتوای (بلاگ) شناخته شده و تحت Php توسعه یافته است. نسخهٔ سریعتر و بهینهتر آن با نام Ghost تحت Node.JS توسعه یافته است که ما نسخهٔ توسعه یافتهٔ آن را با یک عمل مشابه در C++1z مورد بررسی قرار داده ایم که نتایج آن بسیار جالب است! مصرف حافظه سیستم مدیریت محتوای Tegra ۳۵۰۰ درخواست در هر ثانیه 3.6 مگابایت سیستم مدیریت محتوای Ghost 100 درخواست در ثانیه 120 مگابایت پشتیبانی از پایگاههای داده به لطف کتابخانههای عظیم سیپلاسپلاس امکان مدیریت یک وبسایت تحت پایگاههای داده مختلفی ممکن است. برای مثال تحت Qt شما میتوانید به رایجترین درایورهای بانکاطلاعاتی دسترسی داشته و سیستم خود را به آنها مجهز کنید. نکته: احتمالاً در برنامهنویسی با نود جیاس و پیاچپی شناختی با کتابخانههای OpenSSL, Libcurl و موارد این چنینی داشته اید! کتابخانههای فوق عضو لیست کتابخانههای C و ++C هستند. بنابراین شما علاوه بر دسترسی مستقیم بر آنها به هزاران و شاید میلیونها کتابخانه در دنیا سیپلاسپلاس خواهید داشت. نمونهٔ اولیه اما شوقآور برای اثبات امکان طراحی وبسایت تحت سیپلاسپلاس چندی پیش من تصمیم گرفتم تا سیستم وبسایتی را تحت Php7 برای یکی از استارتآپها طراحی و پیاده سازی کنم که در این پست به آن اشاره شده است. از آنجایی که به لطف کتابخانهٔ Qt برنامههای سمت کاربر را توسط سیپلاسپلاس پیاده سازی کرده بودم به این فکر افتادم چرا سمت سرور و بخش وبسایت هم با آن هماهنگ نشود!؟ اینگونه هماهنگی بین برنامهها و پرفرمنس همهٔ آنها بسیار افزایش خواهد یافت در اولین نگاه این تفکر بسیار ناشیانه و بسیار ناممکن بود! تنها روشی که به کار گرفته بودم ارسال اطلاعات از طرف کاربر به سمت سرور و مدیریت آنها تحت معماری Restful Api بود که در قالب JSon آنها را تجزیه و مدیریت میکردم. با کمی تحقیق در مورد ویژگیهای سمت وب تحت Fast-CGI, uWSGI, DJango, ClearSilver و موارد مرتبط با آنها سعی کردم تا صفحهٔ بسیار سادهای از HTML را توسط سیپلاسپلاس هندل کنم. این کار نتایج بسیار موفقیت آمیزی را در بر داشت تا نتیجهٔ آن تبدیل به یک پروژهٔ سیستم مدیریت محتوا تحت ++C شد. من پروژهای با نام مفهومی Tegra که نام پروژهٔ قبلی تحت Php بود را در محیط Qt Creator با C++17 و کتابخانهٔ Qt باز سازی کرده و هستهٔ اولیهٔ آن را برای اجرای چند صفحه از یک وبسایت، احراز هویت، بازخوانی و نمایش لیستی از خبرها و مدیریت متا تگها و آدرس صفحات مربوط به هر صفحه را ایجاد کردم. سعی کرده ام در کمترین زمان ممکن برای آزمایش یک سری ویژگیهای اولیه از یک وبسایت آنها را مورد بررسی قرار بدم که عبارتند از هماهنگی با فریمورکهای طراحی مانند BootStrap و یا Angular.JS که خوشبختانه همهچیز بسیار خوب در کنار همدیگه کار میکنند. هستهٔ سیستم به صورت جدا و معماری طراحی آن بر پایهٔ MVC مورد آزمایش قرار گرفته است. در زیر تصاویری از صفحات تولید شده تحت سیستم مدیریت محتوای ساخته شده با سیپلاسپلاس را مشاهده میکنید. همه چیز در قدمهای اول قرار دارد و با توجه به سادگی تولید وب سایت بر خلاف تصوری که داشتیم بسیار توسعه و جای پیشرفت خواهد داشت. بخشی از نمونه کدهای این سیستم به صورت زیر آورده شده است تا ذهنیتی برای توسعهدهندگان ارائه شود: تکه کُد زیر عمل ارسال اطلاعات و تمامی لینکهای مربوط به بوت استرپ را برای سمت HTML ارائه میکند که در قالب استاندارد جدید C++17 آورده شده است: auto bootstrapCss = bootStrapLib.find("css"); if(bootstrapCss != bootStrapLib.end()) { c->setStash("BootstrapCss", bootstrapCss->second.c_str()); std::cout << "Found " << bootstrapCss->first << " " << bootstrapCss->second << '\n'; } کد مربوط به سمت قالب به صورت زیر خواهد بود: <!-- Bootstrap core css --> <link href="{{BootstrapCss}}" rel="stylesheet"> نتیجهٔ فوق در صورتی که CDN بر روی لوکال تنظیم شده باشد از روی کدهای کامپایل شده و یا استاتیک فراخوانی خواهد شد. در غیر اینصورت از روی یکی از سرورهای CDN فراخوانی میشوند. نحوهٔ ارسال متغیر از سمت سیپلاسپلاس به قالب بسیار ساده است! بسیار ساده از Php و یا Node.JS میباشد. با در نظر گرفتن ارسال اطلاعات از سمت سیپلاسپلاس به سمت رابط کاربری کافی است نام متغیرها را در قالب خود اعمال کنید. {% for post in news %} <div class="blog-post"> <h2 class="blog-post-title"><a href="news/{{post.uri}}">{{post.title}}</a></h2> <p class="blog-post-meta">{{post.date}} by <a href="#">{{post.author}}</a></p> <p>{{post.announcement|safe}}</p> </div><!-- /.blog-post --> {% endfor %}</div> این ساختار بر پایهٔ ساختار Angular.JS و DJango پیاده سازی شده است که به طور کامل پشتیبانی میشود. فعال سازی فناوری Angular.JS بر روی این سیستم جهت طراحی قالب تنها با دو دستور ساده اعمال میشود: <!-- Link to AngularJS --> <script src= "{{AngularJs}}"></script> <!-- Enable AngularJS Engine --> {{AngularJsSync|safe}} این دستورات در هستهٔ سیستم مدیریت محتوا در کلاسی با نام Template پردازش و در نهایت به سمت HTML هندل میشوند. بخشی از دستورات سمت هسته در سیپلاسپلاس ۱۷ برای مثال ارسال عنوان صفحه به صورت زیر است: std::optional<std::string> LoadListTemplate::getTitle() const { if (isset(title)) { return title; } else { return std::nullopt; } } سمت HTML کافی است دستور فوق را در نظر بگیریم: <title>{{title}}</title> اینها مثالهایی از مراحل توسعهٔ این سیستم است که میدانم آنچنان گسترده نیست، اما برای ثابت کردن طراحی و توسعهٔ وبسایت تحت سیپلاسپلاس مثالهای روشنی هستند. موفق و سربلند باشید! اطلاعیههای مربوط به این پروژه احتمالاً در کانالها و گروه تلگرامی و همین مرجع بازگو و در اختیار شما قرار گیرد. 10 2 به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
mahdikhi 1 ارسال شده در آبان 98 (ویرایش شده) سلام صرفا از این جهت این سوال را میپرسم که خب تا اینجای مطلبی که نوشتین برای بسیاری از افراد، همان طور خودتون گفتین دیوانگی بنظر میرسه پس چرا یکم این دیوانگی بیشتر نباشه؟. این امکان رو هم بررسی کردین که آیا میشه جاوااسکریپت سمت فرانت رو هم با سی++ بزنیم زمین؟ یعنی یک سیستم کاملا سی++ رو بشه برای برنامه نویسی تحت وب پیاده کرد؟ حتما ازاین که مثلا نودجی.اس هم بسیار سرعت خوبی داره و سروصدای خوبی هم به پا کرده که جاوااسکریپت در دوسمت برنامه نویسی وب وارد شده و سریعت بخشیده و.... هم زیاد شنیدین، ولی خب در بحث سرعت هنوز سی و سی++ رو نمیتونن رد کنن. مشتاق خوندن پستهای بعدی تون هستم. ویرایش شده در آبان 98 توسط mahdikhi 1 به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
کامبیز اسدزاده 618 ارسال شده در آبان 98 در 21 ساعت قبل، mahdikhi گفته است : سلام صرفا از این جهت این سوال را میپرسم که خب تا اینجای مطلبی که نوشتین برای بسیاری از افراد، همان طور خودتون گفتین دیوانگی بنظر میرسه پس چرا یکم این دیوانگی بیشتر نباشه؟. سلام، منظور از دیوانگی این هست که اکثراً در دنیای وِب با وجود زبانهایی مثل php و غیره اینطور در نظر داشته باشند که خب مگه میشه با سی++ چنین برنامههایی رو هم طراحی کرد؟ خب این برمیگرده به اطلاعات کمی که داریم! برای مثال ما از ابتدای شروع یادگیری سی++ اینطور فکر میکنیم که سی++ فقط یک زبان دانشگاهی برای پاس کردن چهارتا نمرهٔ درسی هست! برای اینکه حقایق پنهان این زبان رو بشناسیم این پست رو قبلاً آماده کردم. برای مثال کافیه یک تحقیق صورت بگیره که سایتهای بزرگی مثل فیسبوک، آمازون، گوگل و غیره اساسشون با سی++ هست. این کار منطقی و دلایل خودش رو داره ( در 21 ساعت قبل، mahdikhi گفته است : یعنی یک سیستم کاملا سی++ رو بشه برای برنامه نویسی تحت وب پیاده کرد؟ جاوا اسکریپت همیشه به عنوان یک ابزار خوب در سمت فرانتاند مطرح هست. منظور از سی++ این نیست که فرانتش رو هم با سی++ بنویسیم! طبیعتاً شما وقتی با Php یا موارد دیگر وبسایتی رو طراحی میکنید بخش فرانت و بکاندش رو جدا از هم ترکیب خواهید کرد. در این روش هم سمت رابطکاربری با HTML5, CSS3, JavaScript, Angular.JS و غیره امکان پذیر است. تمامی کدهای منطقی سمت سی++ نوشته میشه که طبیعتاً نسبت به دیگر زبانها مزایا و کیفیت خودش رو داره. در 21 ساعت قبل، mahdikhi گفته است : یعنی یک سیستم کاملا سی++ رو بشه برای برنامه نویسی تحت وب پیاده کرد؟ بستگی داره منظورتون از سیستم کامل چی باشه! برای مثال یک وبسرور رو کامل میشه پیاده سازی کرد! اما طبیعتاً یک وبسایتی که شامل یک ظاهر از طراحی قالب شیک و یا گزینههای سمت کاربری هست (این دیوانگیه که با سی++ پیادش کنی) چون JS و HTML برای این کار ساخته شده! بنابراین شما میتونی با سی++ بکاند وب رو توسعه بدی و بقیه موارد رو با فناوریهای مرتبط با خودش. در 21 ساعت قبل، mahdikhi گفته است : حتما ازاین که مثلا نودجی.اس هم بسیار سرعت خوبی داره و سروصدای خوبی هم به پا کرده که جاوااسکریپت در دوسمت برنامه نویسی وب وارد شده و سریعت بخشیده و.... هم زیاد شنیدین، ولی خب در بحث سرعت هنوز سی و سی++ رو نمیتونن رد کنن. مشتاق خوندن پستهای بعدی تون هستم. نودجیاِس ذاتاً در جاهایی که کم میاره با سی++ قابل توسعه هست. اما خب وقتی شما میتونی با سی++ مستقیم وارد بحث توسعهٔ وب بشی دیگه نگرانی کارایی نخواهی دات. البته اشاره کنم ماهیت سرعت در برنامههای تحت وب ذاتاً فقط بحث زبان نیست! برای مثال بحثهای چندنخی، پردازشهای موازی و غیره همه مهم هستند. حتی ممکنه شما با سی++ بهترین کد و سریعترین نوعِش رو بنویسی اما با وجود یک کد خیلی ساده اما بد در سمت JS یا HTML از کارایی برنامه به شدت بکاهی! در 21 ساعت قبل، mahdikhi گفته است : مشتاق خوندن پستهای بعدی تون هستم. این مقاله صرفاً یک مقالهٔ آزمایشی بود، در مورد فریمورکهای قدرتمند سی++ به زودی به معرفی انواع آنها و روشهای توسعهٔ وب اشاره خواهد شد که طبیعتاً میتوان به این نتیجه رسید که نه تنها دیوانگی نیست، بلکه ما با یک روند توسعه و فناوریهای جدیدی مواجه هستیم. 1 به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
andeh 0 ارسال شده در دی 99 استاد شما برای cms که ساختید از چه کتابخونه ای استفاده کردید؟ به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
کامبیز اسدزاده 618 ارسال شده در دی 99 در 4 ساعت قبل، andeh گفته است : استاد شما برای cms که ساختید از چه کتابخونه ای استفاده کردید؟ این یک نسخهٔ مفهومی هست، نسخهای که در زمان ارسال پست بر روی وبسایت ساخته شده با استفاده از Qt و Cutelyst بود. نسخهٔ بعدی از اون باز به عنوان مفهومی بر اساس Drogon Framework ساخته شده، و نسخهای هم بر اساس Boost در دست توسعه هست. 1 به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
smsn 0 ارسال شده در اسفند 99 در در 28 آبان 1397 در 12:34، کامبیز اسدزاده گفته است : JS سلام من متوجه نشدم الان باید برای طراحی شبکه ++C و بک اند، چجوری باید کار کنیم و چه مبحثی را دنبال کنیم؟؟ به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
کامبیز اسدزاده 618 ارسال شده در اسفند 99 در 14 ساعت قبل، smsn گفته است : سلام من متوجه نشدم الان باید برای طراحی شبکه ++C و بک اند، چجوری باید کار کنیم و چه مبحثی را دنبال کنیم؟؟ درود، منظور از این مقاله آموزش ساخت یک وبسایت نیست، صرفاً برای اطلاعرسانی جهت آشنایی با امکان این کار در سی++ بود. برای نحوهٔ کار و ساخت و ساز یک وبسایت تحتِ سیپلاسپلاس در فرصتی مناسب آموزشهایی ارائه خواهد شد. به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
smsn 0 ارسال شده در اسفند 99 در در 22 اسفند 1399 در 11:31، کامبیز اسدزاده گفته است : درود، منظور از این مقاله آموزش ساخت یک وبسایت نیست، صرفاً برای اطلاعرسانی جهت آشنایی با امکان این کار در سی++ بود. برای نحوهٔ کار و ساخت و ساز یک وبسایت تحتِ سیپلاسپلاس در فرصتی مناسب آموزشهایی ارائه خواهد شد. چگونه وقتی این آموزش منتشر شد، خبردار بشوم؟ به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
کامبیز اسدزاده 618 ارسال شده در اسفند 99 در هم اکنون، smsn گفته است : چگونه وقتی این آموزش منتشر شد، خبردار بشوم؟ در همین وبسایت اطلاعرسانی خواهد شد. به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
سید محمد 0 ارسال شده در دی 0 با کمی تحقیق در مورد ویژگیهای سمت وب تحت Fast-CGI, uWSGI, DJango, ClearSilver و موارد مرتبط با آنها سعی کردم تا صفحهٔ بسیار سادهای از HTML را توسط سیپلاسپلاس هندل کنم. اخه چجوری یه خورده بیشتر توضیح بدید یا راهنمایی کنید یا از منابع خارجی لینک بدید 2 ساله منتظریم. 1 به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
کامبیز اسدزاده 618 ارسال شده در دی 0 در 16 ساعت قبل، سید محمد گفته است : با کمی تحقیق در مورد ویژگیهای سمت وب تحت Fast-CGI, uWSGI, DJango, ClearSilver و موارد مرتبط با آنها سعی کردم تا صفحهٔ بسیار سادهای از HTML را توسط سیپلاسپلاس هندل کنم. اخه چجوری یه خورده بیشتر توضیح بدید یا راهنمایی کنید یا از منابع خارجی لینک بدید 2 ساله منتظریم. خب دوست عزیز بارها در این باره صحبت کردیم! به دنبال Qt, Cutelyst و Drogon برید متوجه میشید، اینها کلی مستند دارند و شما ۲ ساله منتظری؟ به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
kaveh 0 ارسال شده در بهمن 0 الان خوده این سایت با چه زبانی نوشته شده به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
کامبیز اسدزاده 618 ارسال شده در بهمن 0 در 10 ساعت قبل، kaveh گفته است : الان خوده این سایت با چه زبانی نوشته شده سلام، اگر منظور شما iostream.ir هست، این تحت سیستم IPS هستش، با Php نوشته شده. به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
amp 1 ارسال شده در اسفند 0 سلام ! واقعا از این مطلب لذت بردم بسیار متشکرم ممنون می شم که دوره ی برنامه نویسی بک اند با c++ را زودتر استارت کنید 1 به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر