جستجو در تالارهای گفتگو
در حال نمایش نتایج برای برچسب های 'وب'.
5 نتیجه پیدا شد
-
در این مقاله من قصد دارم به معرفی ده فریمورک برتر جهان در بازهٔ سالهای ۲۰۱۹ و ۲۰۲۰ اشاره کنم که در حوزهٔ صنعت وب کاربرد دارند. معمولاً در سایتها، وبلاگها و گروههای تلگرامی حرف از فریمورکهای شناخته شدهای مانند Asp.net core و یا Laravel به گوش میرسد. اما واقعیت این است که فریمورکهایی که در مورد آنها بحث میشود جایگاه خاصی در بین فریمورکهای قدرتمند و به عنوانی ناشناخته مانند Drogon، h2o، ulib و غیره ندارند! جالب است بدانید فریمورکهایی که در ادامه نامهایشان را میشنوید به قدری سریع و قدرتمند هستند که مو بر تنِ شما سیخ خواهد کرد! برای مثال در این مقایسه جایگاه فریمورکهای داتنت به بالاتر از ۵۰ و لاراول به بیشتر از ۲۰۰ رتبه میرسد! این در حالی است که بر خلاف انتظارِ عام، فریمورکهای تحت سی/سی++ و راست به عنوان سریعترین فریمورکها شناخته میشوند. در واقع مقایسه بر اساس نتایج گرفته شده از مرجع Techempower میباشد که هر ساله یک مقایسه در رابطه با کارآیی و کیفیت فریمورکهای وب میپردازد. سنجشِ فوق بر اساس وظایفی مانند سریالسازی جیسان، دسترسی به پایگاه داده و عملیات سمت سرور، پردازش و غیره میباشد. در این آزمایشها عملکرد فریمورک بر روی سیستمعامل، به صورت فولاِستک و میکرو اندازهگیری شده است که هر کدام را در رتبهٔ خاصی از وضعیت آن سوق میدهد. بهترین فریمورکها از نظر بنچمارک (کارآیی) در سال ۲۰۱۹ در دورِ ۱۸ بین ۲۲۰ فریمورک متعلق به h2o و ulib بوده است. کتابخانهٔ h2o یکی از قویترین مواردی است که میتوان به آن اشاره کرد. در سال ۲۰۲۰ این رتبهبندی به نفعِ فریمورک جدیدتری به نام دراگون (Drogon) و مجدداً ulib جمع بندی شده است که نشان میدهد فریمورک ulib به عنوان یکی از برترین فریمورکهای نوشته شده تحت سی و سی++ و همچنین دراگون تحت استانداردهای ۱۴ و ۱۷ زبان برنامهنویسی سیپلاسپلاس معرفی شده است. بنابرین بهتر است در مورد دراگون بیشتر بدانیم: این فریمورک تحت زبان برنامهنویسی ++C در استاندارد ۱۴ و ۱۷ توسعه یافته و بر روی سکوهای لینوکس، مک و ویندوز قابل اجراست. دراگون تحت ویژگی non-blocking I/O کار میکند و سرعت را همراه با دقت بسیار بالایی به خصوص بر روی پلتفرمهای FreeBSD تضمین میکند. لینک مخزن توسعه و کدهای دراگون. مثال از کد اولیه: #include <drogon/drogon.h> using namespace drogon; int main() { app().setLogPath("./") .setLogLevel(trantor::Logger::kWarn) .addListener("0.0.0.0", 80) .setThreadNum(16) .enableRunAsDaemon() .run(); } با توجه به مقایسههای صورت گرفته در آزمایشهای مختلف زیر رتبهبندی فریمورکها مشخص میشود. آزمایشهای فوق بر روی پردازندهٔ Dell R440 Xeon Gold صورت گرفته است که در این لینک آمده است. JSON serialization Single query Multiple queries Fortunes Data updates Plaintext آزمایشهای مربوطه تنها به ۱۰ مورد اول اشاره کرده است، بنابراین برای مشاهدهٔ لیست بیشتر و جزئیات آنها به مرجع آن مراجعه کنید.
-
ترکیب کدهای ++C با وردپرس بدون شکستن کد آن
کامبیز اسدزاده نوشته وبلاگ را ارسال کرد در برنامه نویسی
سادهترین راه برای افزودن کد سفارشی به سایتهایی که بر پایهٔ وردپرس ساخته شدهاند، بدون شکستن کد آن چیست؟ زبان برنامهنویسیِ ++C یکی از محبوبترین زبانهای برنامهنویسی است. آخرین آمار نشان میدهد که این زبان با سرعت بسیار زیادی در حال توسعه و پوستاندازی است. این زبان، علیرغم اینکه بیش از 40 سال از عمرش میگذرد، همچنان زبان انتخابی برای بسیاری از برنامهنویسان در سراسر جهان است. برای بسیاری از موارد مانند برنامههای کاربردی دستکاری تصویر، بازیهای سه بعدی، شبیه سازیها، مرورگرهای وب و نرمافزارهای سازمانی استفاده میشود. دلیلش این است که سیپلاسپلاس در حال تکامل است، به انرژی سبز اهمیت میدهد و در عین حال کارآیی بسیار بالا و بهینهای دارد. از آنجایی که این زبان پیچیدهتر از سایر زبانهای برنامهنویسی است، یک کمیتهٔ فرعی از یک سازمان چند سطحی وظیفه استانداردسازی آن را بر عهده دارد. سیپلاسپلاس اکنون از یک مدل قطار پیروی میکند و هر سه سال یکبار نسخههای جدید دریافت میکند که در مورد استانداردهای جدید، اخیراً مقالاتی منتشر شده است. سیپلاسپلاس معمولاً برای توسعهٔ نرمافزار در مقیاس بزرگ استفاده میشود، اما میتوان از آن برای پروژههای توسعه وب نیز استفاده کرد. ممکن است تعجب کنید که چگونه از آن با وردپرس، یکی از محبوبترین سیستمهای مدیریت محتوا و سازندگان وب سایت امروزه استفاده کنید. در این باره قبلاً من مقالاتی را منتشر کردهام که به صورت زیر آمدهاند: در حالی که بسیاری از وب سایتها با استفاده از وردپرس به عنوان پایه ساخته میشوند، این لزوماً به این معنی نیست که اکوسیستم وردپرس تکامل یافته یا کامل است. به عنوان مثال، وردپرس تمرکز زیادی بر تجربهکاربران و نیازهای وبلاگ نویسان دارد، به همین دلیل است که بر چهار زبان HTML، CSS، جاوا اسکریپت و PHP متکی است و این بدان معناست که برای توسعهدهندگانی که میخواهند به طور کامل از قدرت آن استفاده کنند، محدودیتهایی وجود دارد. در حالی که افزونههایی مانند Custom Post Types برای گسترش عملکرد وردپرس وجود دارد و راههای زیادی برای افزودن قابلیتهای جدید بدون شروع از ابتدا وجود ندارد. همچنین، افزودن کد ++C به طور مستقیم به یک سایت وردپرس توصیه نمیشود زیرا به طور بالقوه میتواند آسیب پذیریهای امنیتی را ایجاد کند و وب سایت را خراب کند. با این حال، اگر نیاز خاصی به اجرای کد ++C در سایت وردپرس شما وجود دارد، در اینجا روشهایی که میتوانید آن را انجام دهید گفته شدهاست: شما می توانید یک برنامه یا کتابخانه مستقل ++C ایجاد کنید و سپس آن را از طریق وب API در معرض دید قرار دهید، که میتواند توسط وردپرس مصرف شود. بیایید نگاهی به مراحل کلی بیندازیم: کد ++C خود را بنویسید و آن را در یک برنامه یا کتابخانه مستقل کامپایل کنید. عملکرد برنامه یا کتابخانه ++C را از طریق وب API به نمایش بگذارید. شما میتوانید از یک کتابخانه به عنوان cpprestsdk برای ایجاد نقاط پایانی API استفاده کنید. برنامه یا کتابخانه ++C را بر روی یک سرور، یا در همان سرور سایت وردپرس خود یا در یک سرور جداگانه، مستقر کنید. در سایت وردپرس خود، از یک افزونه یا کد سفارشی برای درخواست HTTP به API و بازیابی نتایج استفاده کنید. شما میتوانید از کتابخانهای مانند cURL برای ارائه چنین درخواستهایی استفاده کنید. در صورت نیاز از نتایج بازیابی شده در سایت وردپرس خود استفاده کنید. راه دیگر برای افزودن قابلیت ++C به سایت وردپرس استفاده از افزونهای است که به شما امکان میدهد کد ++C را مستقیماً در صفحات یا پستهای وردپرس جاسازی کنید. مراحل بسته به افزونهای که استفاده میکنید متفاوت است، اما در اینجا چند مرحله کلی وجود دارد که میتواند کمک کند. افزونهای را که از کد ++C پشتیبانی میکند را در سایت وردپرس خود نصب کنید. یک صفحه یا پست جدید در وردپرس ایجاد کنید و کد کوتاه [cpp] را به قسمت محتوا اضافه کنید. در کد از نوع برچسبِ [cpp]، کد ++C خود را اضافه کنید. صفحه یا پست را منتشر کنید و آن را مشاهده کنید تا کد جاسازی شده ++C را در عمل ببینید. مجدداً توجه داشته باشید که افزودن کد ++C به طور مستقیم به یک صفحه یا پست میتواند خطرناک باشد. مهم است که پیادهسازی خود را به طور کامل آزمایش کنید تا مطمئن شوید که ایمن و قابل اعتماد است. از هر روشی که استفاده میکنید، به یک پایه محکم در سیپلاسپلاس و مهارتهای یکپارچه سازی وردپرس نیاز دارد. وقتی صحبت از وردپرس به میان میآید، شاید بهتر باشد از زبانی مانند PHP استفاده کنید. اگر میخواهید دربارهٔ ++C و نحوهٔ به حداکثر رساندن آن برای پروژهتان بیشتر بدانید، میتوانید به آموزههای مربوط به سیپلاسپلاس در این سایت را بررسی کنید یا کتابهای پیشنهادی در بخش معرفی زبان را بخوانید. فراموش نکنید که سیپلاسپلاس یک زبان جذاب و همیشه در حال تکامل است و افزودن آن به مجموعه مهارتهای شما سودمند است.-
- سیپلاسپلاس
- وردپرس
-
(و 7 مورد دیگر)
برچسب زده شده با :
-
با توجه به محبوبیت صنعت وِب، سالهاست زبانهای برنامهنویسی در این زمینه پیشرفتها و کاربردهای چشمگیری را داشتهاند، از جمله جاوااسکریپت (JS) به عنوان یک زبان قابل اجرا در داخل مرورگر شناخته میشود. هرچند بسیار محبوب و کاربردی است، اما این زبان قطعاً مشکلات خودش را دارد که برخی از آنها عدم انعطافپذیر بودن، سرعت پایین اجرا و همچنین انواع غیر ایمن آن است که این باعث میشود برای محاسبات و کارهای پیچیده جوابگو نباشد. هرچند گزینههایی مانند CoffeeScript و TypeScript وجود دارند و نسبتاً ایرادات خام جاوااسکریپتی را پوشش میدهند، اما در نهایت کدهای نوشته شده به جاوااسکریپت تبدیل میشود. در این میان میتوان گفت وباسمبلی (WebAssembly) برای حل و مرتب سازی مشکلات جاوااسکریپت معرفی شده است و شدیداً در حال اثبات آن است که یک انقلاب در صنعت وِب را رقم میزند. با این تفاسیر، آیا وباسمبلی زبان برنامهنویسی است؟ این فناوری به خودی خود، یک زبان برنامهنویسی نیست، در واقع برنامهنویسان برنامههای خود را توسط زبانهای سطحبالا مانند C یا ++C و حتی Rust مینویسند و آن را کامپایل و در قالب باینری با پسوند فایل .wasm وارد میکنند. توجه داشته باشید که وباسمبلی جایگزینی برای جاوااسکریپت نیست، درواقع قرار است در کنار جاوااسکریپت اجرا شود. به عنوان مثال شما میتوانید فقط یک کد محاسباتی بالا را در WebAssembly بسازید و آن را در کنار سایر کدهای جاوااسکریپت با وزن سبکتر استفاده کنید. همچنین شما برای بارگذاری ماژول wasm در مرورگر به جاوااسکریپت نیاز دارید. فناوری وباسمبلی (WebAssembly) و یا WA چیست؟ وباسمبلی یا وَسم (Wasm، اغلب به طور مخفف) استانداردی باز است که یک قالب جدید دستورالعملهای باینری را معرفی میکند. این فناوری نوید این را میدهد که برنامهها با کارآیی (پرفرمنس) بومیِ خود در بستر وِب اجرا شوند. به عبارت سادهتر میتوان گفت، این فناوری امکان این را میدهد که کدهای نوشته شده با زبانهای سطح بالاتر مانند C و ++C یا Rust به ماژول Wasm کامپایل شوند که مستقیماً در مرورگرهای مدرن قابل اجرا هستند. معماری وباسمبلی وباسمبلی به گونهای طراحی شده است که بر روی دستگاههای مجازی مبتنی بر پشته (stack-based) اجرا شود. بر خلاف ماشینهای رجیستری که عملوندهای آنها بر روی پردازندهٔ مرکزی قرار دارند و محاسبات در آن بخش اتفاق میافتد، در یک ماشین مبتنی بر پشته، بیشتر دستورالعملها به جای اینکه بر روی رجیستر اعمال شوند، بر روی پشته مینشینند. برای افزودن دو عدد بر روی ماشین مبتنی بر پشته، شمارههای مربوطه را در پشته ارسال میکنید. سپس دستور ADD را فشار میدهید. سپس دو عملگر و دستورالعمل از بالای صفحه ظاهر میشود و نتیجهٔ اضافی در جای خود قرار میگیرد. برخی از این نوع ماشینها عبارتند از .Net، JVM Runtime و غیره. وباسمبلی به معنای سنتی، پشتهای ندارد. درواقع هیچ مفهومی از اپراتورهای جدید ندارد. حتی خبری از GC در آن وجود ندارد. در عوض وباسمبلی دارای یک حافظهٔ خطی است، یعنی حافظه به عنوان طیف پیوسته از بایتهای بدون نوع نمایش داده میشود. در صورت نیاز به فضای بیشتر، ماژول وباسمبلیِ شما میتواند بلوک حافظهٔ خطی را افزایش دهد. نکته: WebAssemble فقط چهار نوع داده دارد: i32، i64، f32، f64 برای اعداد صحیح 32 و 64 بیتی و انواع شمارههای شناور آیندهٔ توسعهٔ وب چگونه میشود؟ اگرچه ممکن است وباسمبلی، جاوا اسکریپت را از بین نبرد، اما قطعاً قصد این را دارد که چهرهٔ front-end توسعهٔ وب را تغییر دهد. البته راه بسیاری در پیش است تا همهٔ تغییرات را تجربه کنیم. اما به اندازهٔ کافی میتوان آیندهٔ وب را پیشبینی کنیم: تنوع از نظر زبانی خیلی سریع موازی تنوع زبانی این فناوری به طور چشمگیری تنوع در استفاده از زبانهای برنامهنویسی را برای ساخت برنامههای تحت وب افزایش میدهد. در حال حاضر لیست زیر زبانهایی است که وباسمبلی از آنها پشتیبانی میکند: C/C++ Rust C#/.Net Java Python Elixir Go سرعت و کارآیی بسیار بالا فناوری WASM باعث میشود عملکرد برنامهها شگفتانگیز شود. در این زمینه مستنداتی وجود دارد که فایرفاکس در یک سری از نمونههای اولیه آن را ثابت میکند. همچنین طبق تجزیه و تحلیل برنامههای کاربردی توسط فیگما منتشر شده است که نشان میدهد پیادهسازیهای صورت گرفت در قالب asm.js که خود از سرعت بسیاربالای به خاطر پشتیبانی از سی++ دارد، با این وجود با فعال بودن ماژول WebAssembly چیزی حدود ۳ برابر بهبود زمان اجرا گرفته است. در این موارد ثابت شده است که با استفاده از ++C و کامپایلر کلنگ (LLVM) سرعت اجرای برنامهها با فعال بودن وباسمبلی بسیار چشمگیر است. موازی سازی طبیعتاً این مورد بسیار قابل بررسی و توجه است، چرا که این مبحث به طور کامل در وِب پیادهسازی نشده است. از آنجایی که تغییر به سمت پردازندههای چند هستهای حدوداً از سال ۲۰۰۵ آغاز شد، این امر به طور فزایندهای اتفاق میافتد که برای دستیابی به عملکرد بیشتر، نرمافزارها به موازی سازی نیاز دارند. با توجه به اینکه جاوااسکریپت از سیستم موازی پشتیبانی نمیکند، تصور کنید که با فعالسازی WASM امکان استفاده از تمامی هستههای پردازنده فراهم شود. من به عنوان نویسندهٔ این مقاله، تصور شما را از این فناوری نمیدانم. اما قطعاً با این تفاسیر این فناوری به عنوان یک انقلاب بزرگ در حوزهٔ وِب محسوب میشود. با توجه به ساختار برنامههای نوشته شده توسط زبانهای قدرتمندی چون ++C میتوان تصور کرد که برنامههای بسیار بهینه و قدرتمندی را در حوزهٔ اجرایی مرورگرها پشتیبانی کند. در حال حاضر ممکن استد شما فکر کنید که چرا کسی باید زبان سادهای مثل جاوااسکریپت را خدشهدار کند و یا به سمت زبانهای پیچیدهای مانند Rust، C و ++C برود. اکنون وباسمبلی کاملاً جدید است و جامعهٔ کافی در اطراف خود ندارد. اما باید توجه داشت وقتی از طریق این فناوری میتوان به ویدئوها، تصاویر و کتابخانههای رمزنگاری، یا استفاده از موتورهای گرافیکی و فیزیکی که از OpenGL استفاده میکنند، و یا حتی کتابخانهها و فریمورکهای قدرتمندی مانند Qt و غیره را میتوان در حوزهٔ وب مورد استفاده قرار داد. بنابراین فناوری وباسمبلی میتواند مسیری را برای رشد صنایع مختلف به خصوص شرکتهای بازیسازی و غیره باز کند. افزایش کارآیی (پرفرمنس) بسیار شدید که توسط وباسمبلی فراهم میشود، همانند اجرای برنامههای دسکتاپی است که میتوان آن را بر روی وب نیز مشاهده کرد. با این روال ممکن است وباسمبلی در سالهای آینده، با نرمافزارهای رومیزیِ بومی برابری کند.
- 2 دیدگاه
-
- javascript
- وبسایت
-
(و 7 مورد دیگر)
برچسب زده شده با :
-
کامبیز اسدزاده یک موضوع را ارسال کرد در <span class="ipsBadge ipsBadge_pill" style="background-color: #2cdb89; color: #000000;" >کتابخانه کیوت (Qt)</span>
همانطور که میدانید اخیرأ فناوری وباسمبلی (Qt for WebAssembly) معرفی شده است، توسعهدهندگان کیوت یک نمایشگر برای اجرای خروجیهای QML در مرورگر طراحی کردهاند که به شما این امکان را میدهد تا کدهای نوشته شدهی خود را در محیط مرورگر اجرا کنید. در این بخش میتوانید آخرین نسخهی مرتبط با Qt Design Viewer را برای آزمایش پیدا کنید، نمایشگر Qt Design Viewer با چند طرح آماده برای آزمایش همراه است. برای اجرای یک برنامهی سفارشی تحت QML، باید یک پروندهی qmlproject. که پروندهی اصلی QML است را تعریف کنید. این همان قالب اساسی پروژه است که توسط Qt Design Studio و Qt Creator برای پروژههای QML استفاده میشود. پوشهی پروژه باید به صورت یک فایل Zip فشرده شود و سپس در Qt Design Viewer بارگذاری گردد. همچنین میتوانید از نسخهی Qt Design Studio 1.3 یک فایل منبع را از پروژه ایجاد کرده و بستهای را که به صورت خودکار ایجاد شده است را بارگذاری کنید. آزمایشهای مربوطه بر روی مرورگرهای Safari، Chrome، FireFox و Edge انجام شده است و عملکرد اجرای QML در تمامی آنها بسیار خوب است. البته زمان تدوین و پیکربندی به مرورگر شما بستگی دارد، اما عملکرد واقعی برنامه پس از اجرا همانند نسخهی دسکتاپ است. سیستم Qt Design Viewer همراه با اکثر ماژولهای QML به عنوان بخشی از کیوت است که در نسخهی ۵.۱۴ ساخته شده است. همچنین، این محیط بر روی سیستمعاملهای iOS و Android اجرا میشود که یک روش ساده را برای اجرای طرحهای آزمایشی ارائه میکند. این فناوری جدید است، بنابراین در صورت مشاهدهی مشکلات آن را به تیم توسعهدهندهی آن گزارش دهید. -
با سلام و عرض خسته نباشید. می خواستم بدونم چطور میشه بین صفحه ای که در webview لود شده و کد qml داده ها رو جابجا کرد؟ ظاهرا از طریق webchannel باید این کار رو کرد. از دوستان کسی می تونه آموزش بده. لینک زیر رو پیدا کردم ولی چون در c++ مهارت ندارم قسمت webview رو که از websockets استفاده می کنه رو متوجه نشدم. لینک با تشکر
-
- webchannel
- webview
-
(و 2 مورد دیگر)
برچسب زده شده با :