قم بإعداد Vibe.d على Ubuntu 14.04

Vibe.d هو إطار ويب مكتوب بلغة D ، لمبرمجي D لتطوير تطبيقات الويب والشبكات. أحد الأشياء التي تشتهر بها Vibe.d هي القدرة على تطوير ونشر الخوادم. في هذه المقالة ، سنوضح لك كيفية إعداد Vibe.d على Ubuntu 14.04 x64. يجب أن يعمل هذا على Ubuntu 12.04 و 14.10 أيضًا ، ولكن النتائج قد تختلف.

المتطلبات

  • Vultr VPS مع Ubuntu 14.04 x64.
  • المعرفة الأساسية د.
  • عندك DMD ، LDC، أو GDC تثبيت (ينصح DMD).
  • لديك DUB مثبتة.

تثبيت المكتبات

قبل البدء ، ستحتاج إلى تثبيت بعض التبعيات حتى يتمكن مشروعك من بناء:

apt-get install libssl-dev libevent-dev

إنشاء مشروع

باستخدام dub، قم بإنشاء مشروع عن طريق تشغيل الأمر التالي في دليل:

dub init server vibe.d

ما سيفعله هذا هو إنشاء مشروع جديد مع قالب Vibe.d المدمج فيه dub.

تحديث dub.json

مثل package.jsonNPM (Node.js) ، dub.jsonيخزن معلومات حول التطبيق الخاص بك والتي سيتم استخدامها في البناء أو النشر. داخل ملفك dub.json، قد ترى شيئًا مشابهًا لما يلي:

{
        "name": "server",
        "description": "A simple vibe.d server application.",
        "copyright": "Copyright © 2014, root",
        "authors": ["root"],
        "dependencies": {
                "vibe-d": "~>0.7.19"
        },
        "versions": ["VibeDefaultMain"]
}

إذا أردت ، يمكنك تغيير الاسم والوصف وحقوق النشر والمؤلف وما إلى ذلك. في الوقت الحالي ، سنركز على البيانات الواردة في dependenciesالقسم. قم بتغيير الإصدار الحالي من 0.7.19إلى 0.7.21. سيضمن ذلك أنك تستخدم أحدث إصدار من Vibe.d. بمجرد تغيير الإصدار وحفظ الملف ، يمكنك المتابعة إلى الخطوة التالية.

تحديث المصدر / app.d

داخل ملفك source/app.d، يجب أن ترى سطرًا يوضح:

settings.bindAddresses = ["::1", "127.0.0.1"];

يؤدي هذا إلى تعيين العنوان الذي سيستمع إليه الخادم. في هذه الحالة ، يتم استخدام عناوين الاسترجاع ::1(IPv6) و 127.0.0.1(IPv4). لديك بعض الخيارات هنا. يمكنك تغيير العناوين إلى IP عام متاح على Vultr VPS الخاص بك ، أو يمكنك التعليق على هذا الخط للاستماع إلى أي عنوان متاح. هو محض اختيارك، لكنه الآن تغيير 127.0.0.1ل 0.0.0.0لمنع أي التباس. سيجعل هذا تطبيقك يستمع على أي عنوان IP مخصص للخادم.

بناء المشروع

قم بتشغيل الأمر التالي لإنشاء التطبيق الخاص بك:

dub build

سيخضع هذا لعملية جلب التبعيات الخاصة بك وبناءها ثم إنشاء التطبيق الخاص بك. بمجرد الانتهاء (على افتراض عدم وجود أخطاء) ، يجب أن يكون لديك ملف يسمى serverفي جذر الدليل الخاص بك. قم بتشغيله عن طريق العمل ./serverوسيظهر ما يلي:

Listening for HTTP requests on ::1:8080
Listening for HTTP requests on 0.0.0.0:8080
Please open http://127.0.0.1:8080/ in your browser.

إذا كنت لا ترى رسالة فشل ، فتابع إلى متصفح الويب الخاص بك وأدخل عنوان IP وكذلك المنفذ. على سبيل المثال: http://0.0.0.0:8080مع 0.0.0.0التغيير وفقًا لذلك.

إذا رأيت Hello, World!في متصفحك ، فأنت قد قمت بإعداد Vibe.d بنجاح على الخادم الخاص بك.

فهم Vibe.d

تطوير الخادم

حقق Vibe.d شوطًا طويلًا ، مما وفر طريقة للمطورين لتطوير التطبيقات المستندة إلى الخادم. يتضمن هذا تطبيقات خادم الويب ، والتي يدعمها Vibe.d أصلاً.

قوالب النظام الغذائي

عندما يتعلق الأمر بتطوير الويب ، تستند قوالب النظام الغذائي بالكامل حول Jade ، باستثناء أن قوالب النظام الغذائي يتم تجميعها مباشرة في تطبيقك. يستخدم هذا D داخل مشروعك (تمامًا مثل كيفية استخدام Javascript المضمنة داخل Jade). يضيف استخدام قوالب النظام الغذائي مرونة إلى المحتوى الذي يعرضه تطبيقك على متصفح الويب.

أداء

عندما يتعلق الأمر بالأداء ، فقد أظهر Vibe.d أنه يرقى إلى مستوى عالٍ جدًا. مع I / O غير المتزامن ، تقوم بإنشاء ذاكرة علوية أقل بكثير مما ستجده عادةً في التطبيقات التي تم إنشاؤها باستخدام Node.js و Java و Python. هناك حاجة فقط لمؤشر ترابط أجهزة واحد للتعامل مع عدد العمليات المتزامنة.



Leave a Comment

كيفية تثبيت وتكوين روبي مع Rbenv و Rails و MariaDB و Nginx و SSL و Passenger على Ubuntu 17.04

كيفية تثبيت وتكوين روبي مع Rbenv و Rails و MariaDB و Nginx و SSL و Passenger على Ubuntu 17.04

Ruby on Rails هو إطار عمل شهير لـ Ruby تم تطويره لزيادة إنتاجية المبرمجين. ومع ذلك ، الحصول على الجواهر والتبعيات المختلفة ر

كيفية إعداد DNS الحيوي

كيفية إعداد DNS الحيوي

ما هو DNS الديناميكي؟ لنأخذ مثا��اً شائعًا لإ��داد DNS. نطاقك هو example.com ، ولديك سجلات A لـ server1.example.com و

إنشاء تخزين كائن Vultr باستخدام عميل Vultr Go

إنشاء تخزين كائن Vultr باستخدام عميل Vultr Go

مقدمة يوضح هذا الدليل كيفية إنشاء تخزين كائن Vultr في تطبيق Go باستخدام عميل Vultr Go. تخزين كائن Vultr متوافق مع خفة الحركة

كيفية تثبيت Golang 1.13 على CentOS 8 و Ubuntu 18.04 و Debian 10 و Fedora 31

كيفية تثبيت Golang 1.13 على CentOS 8 و Ubuntu 18.04 و Debian 10 و Fedora 31

Go (تُعرف أيضًا باسم Golang) هي لغة برمجة مكتوبة بشكل ثابت ومجمعة على شكل حرف C تم تطويرها بواسطة Google. جعلت البساطة وتعدد الاستخدامات ب

كيفية تثبيت Django على CentOS 7

كيفية تثبيت Django على CentOS 7

Django هو إطار Python شائع لكتابة تطبيقات الويب. مع Django ، يمكنك بناء التطبيقات بشكل أسرع ، دون إعادة اختراع العجلة. إذا كنت تريد

باستخدام Tango على Ubuntu 14.04

باستخدام Tango على Ubuntu 14.04

Tango هو إطار ويب صغير وقابل للتوصيل تم إنشاؤه باستخدام Golang. لديها توجيه قوي ومجموعات مسار مرنة ، حقن التبعية المضمنة ، و

قم بإعداد Sails.js للتطوير على CentOS 7

قم بإعداد Sails.js للتطوير على CentOS 7

استخدام نظام مختلف؟ مقدمة Sails.js هو إطار عمل MVC لـ Node.js ، مشابه لـ Ruby on Rails. يجعل لتطوير التطبيقات الحديثة ver

إعداد Adonis.js على أوبونتو 14

إعداد Adonis.js على أوبونتو 14

مقدمة Adonis.js هو إطار عمل MVC لـ NodeJs يمكنك من كتابة تطبيقات الويب باستخدام رمز أقل. إنه يستعير مفاهيم من أطر عمل صلبة أخرى مثل

كيفية تثبيت SonarQube على CentOS 7

كيفية تثبيت SonarQube على CentOS 7

استخدام نظام مختلف؟ SonarQube هو أداة مفتوحة المصدر لتطوير نظام الجودة. هو مكتوب بلغة جافا ويدعم قواعد بيانات متعددة. أنها توفر

كيفية إعداد تطبيق عقدة Koa.js على Ubuntu 16.04 LTS

كيفية إعداد تطبيق عقدة Koa.js على Ubuntu 16.04 LTS

في هذا البرنامج التعليمي ، سنتعلم كيفية إعداد تطبيق ويب Koa.js للإنتاج ، باستخدام Node.js. سنقوم أيضًا بربط عينة نطاق مع

تنزيل وتثبيت واستخدام الملحن على Ubuntu 14.04

تنزيل وتثبيت واستخدام الملحن على Ubuntu 14.04

Composer هي أداة إدارة PHP شائعة للغاية للتبعيات ، تُستخدم لتسهيل التثبيت والتحديثات للمشاريع. كما يفحص ما هو آخر

كيفية تثبيت Gitea على CentOS 7

كيفية تثبيت Gitea على CentOS 7

استخدام نظام مختلف؟ Gitea هو نظام بديل مفتوح المصدر للتحكم في الإصدار يعمل بواسطة Git. Gitea هو مكتوب في Golang وهو

كيفية تثبيت سكالا على CentOS 7

كيفية تثبيت سكالا على CentOS 7

سكالا هي لغة برمجة موجهة للكائنات ووظيفية. إنها لغة شائعة تم استخدامها لتطوير التطبيقات ، مثل Spark ، Akka ، an

DMD على أوبونتو 14.04

DMD على أوبونتو 14.04

D ، لغة برمجة تعتبر مجموعة شاملة من C ، هي لغة منخفضة المستوى ولكنها منتجة للغاية تسمح لك بتطوير العديد من الأنواع o

قم بتثبيت Ruby مع RVM على Ubuntu 18.04 و 19.10

قم بتثبيت Ruby مع RVM على Ubuntu 18.04 و 19.10

مقدمة يوضح هذا البرنامج التعليمي كيفية تثبيت Ruby ، ​​باستخدام RVM ، على Ubuntu 18.04 و Ubuntu 19.10. روبي هي لغة تطوير شعبية. إدارة RVM

إعداد خادم الويب Express.js على Ubuntu 16.04 LTS

إعداد خادم الويب Express.js على Ubuntu 16.04 LTS

في هذا البرنامج التعليمي ، سنقوم بتثبيت خادم ويب Express.js أساسي ، باستخدام Node.js ، وهو وقت تشغيل جافا سكريبت يعتمد على محرك Chromes V8 ، على Vultr VP

كيفية تثبيت SonarQube على أوبونتو 16.04

كيفية تثبيت SonarQube على أوبونتو 16.04

استخدام نظام مختلف؟ SonarQube هو أداة مفتوحة المصدر لتطوير نظام الجودة. هو مكتوب بلغة جافا ويدعم قواعد بيانات متعددة. أنها توفر

كيفية استخدام مكتبة Vultr Go للحصول على معلومات الخادم

كيفية استخدام مكتبة Vultr Go للحصول على معلومات الخادم

مقدمة يمكن استخدام مكتبة Vultr Go الرسمية للتفاعل مع Vultr API. تسمح لك Vultr API بالتحكم في الموارد المرتبطة بك

كيفية تثبيت JuliaLang على أوبونتو 17.04

كيفية تثبيت JuliaLang على أوبونتو 17.04

جوليا ، والمعروفة باسم جوليا لانج ، هي لغة برمجة للحوسبة الرقمية. جوليا بسرعة C لكنها لا تضحي بقابلية القراءة

كيفية تثبيت Gitea على Fedora 29

كيفية تثبيت Gitea على Fedora 29

استخدام نظام مختلف؟ Gitea هو نظام بديل مفتوح المصدر للتحكم في الإصدار يعمل بواسطة Git. Gitea هو مكتوب في Golang وهو

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد