تقنية أوريون
سولاريس 11.4
DTrace — أخذنا نهج بالوعة المطبخ: كل من أدوات لغة البرمجة الديناميكية لدينا تتكامل معها. في حين أن bpftrace هو تطور حديث لطيف للينكس، فإن القيام بأشياء مفيدة في مساحة اللغة الديناميكية هو طريق طويل، وهو المكان الذي يوجد فيه العمل.
ZFS — أفضل مع Solaris، بدعم من Oracle Support. لا تقبل أي بدائل.
المناطق — يوفر عزل الخدمة وإنشاءات موقع sandboxed بشكل مناسب.
node.js الإصدار 21.6.1
- نظرًا لأن Editor.md رائع، فقد قمنا بنقله إلى
node.js— WYSIWYG بغض النظر عن العارض’السياق (التحرير في IDE عبر الإنترنت أو تصفح موقع الإنتاج الناتج).
بيرل v5.38.2
- الآن مع mod_perl v2.0.13 w/ ithreads و httpd v2.4.58 w/ event mpm.
الإصدار v1.14.4
مخصص ithread آمنة
SVN::العميلالروابط مع مجمعات الذاكرة لكل طلب.روابط python3 الأصلية (v3.8.3).
منافذ python3 الخيوط من svnpubsub و svnwcsub — مجموعة كاملة و caboodle لنشر موقع المؤسسة الموزعة / CDN باستخدام Subversion.
أكملت python3 عرض الخدمة الميناء. سوف ننظر في طلب سحب للتغييرات السابقة كما يسمح الوقت.
بعض الملاحظات على الطرق لا (لكن؟) مأخوذ…
الإخماد
أربعاء’إعادة متجر NoSQL للبنية التحتية لموقعنا بالكامل، وإذا كنت تعاني من نقطة فشل واحدة عملاقة تعرف باسم RDBMS الذي يقود موقعك’الأصول، يرجى إعادة النظر في نهج أكثر لامركزية على أساس Jamstack و Serverless Technology. حتى لو’ليس لنا. سوف تشكرنا في وقت لاحق!
لماذا لا Git؟
ال
جيت سيفنالجسر موجود بالفعل إذا كنت تفضل العمل مع git بنفسك، بدلاً من استخدام IDE عبر الإنترنت لـ Orion ™. لديك خيارات! قد تجد أنك تحصل على المزيد من الأميال من إجراءات GitHub عن طريق دفع تغييراتك إلى GitHub (وتلوينها في إجراء GitHub، أو ربط ما قبل التثبيت، أو كليهما، على سبيل المثال) قبلتثبيت svn- نقلهم إلى مخازننا Subversion للنشر المباشر. هنا هي نسخة حية كاملة من هذا الموقع بأكمله.’المصادر.أشجار مصدر الموقع ليست’مثل أشجار مصدر البرمجيات، من حيث كيفية تغييرها وإدارتها. هم’إعادة محاذاة أكثر مع التطوير القائم على الجذع / devops من خلال
يتدفق. علاوة على ذلك، ستحتاج المواقع العملاقة إلى SSI، وربما القليل من CGI، لاستخدامها: على الأقل لتجنب تبديل الموقع الهائل غير القابل للمراجعة من مرسل بريد الالتزام الضخم على قدم المساواةالفرقالإخراج على دلتا شجرة البناء الناتجة.إلى wit: محاولة الحصول على تنفيذ SSI كامل الوظائف من بعض المحلية “خادم الويب” التي تستخدمها لمعاينة التغييرات الخاصة بك في بعض أنظمة البناء الأخرى، هي مجرد سخيفة بعض الشيء إذا توقفت وفكرت في ذلك. مع Orion لدينا، يمكنك فقط إنشاء فرع في svn وخارجها: التحرير والالتزام والبناء والتصفح و التكرار، على الفور، على موقع ويب لكل فرع، خاضع لخدمة Apache مؤقتة’s المتكاملة في أوريون ™ بيئة تطوير متكاملة’البنية الأساسية لرابط ثنائي الاتجاه (وإعادة توجيه الإشارات المرجعية). دون مغادرة متصفحك.
متى’حان الوقت لترحيل هذه التغييرات إلى موقع الإنتاج القائم على الجذع، يمكنك اختيار الترويج للفرع بقدر ما تراه مناسبًا، والعودة إلى الجذع. إذا تحرك الجذع إلى الأمام منذ أن كانت تعديلات الفرع الخاصة بك جاهزة في نهاية المطاف لوقت أولي، فقط انقر فوق زامِن زر لمزامنة دمج قناة الاتصال مع الفرع الخاص بك. بعد التحقق المزدوج من نتائج إنشاء التزام الدمج بعد المزامنة بفرعك’موقع الويب الخاص، المضي قدمًا والنقر فوق ترقية تابع ذلك مع a تثبيت على نفس الصفحة مع رسالة سجل التزام معقول، و voilà، أنت الآن تبث على الجذع’بناء الإنتاج.
إذا كنت بحاجة إلى توزيع ومعالجة أشجار البناء الناتجة باستخدام التحكم في الإصدار، فلن تحب git على نطاق واسع. خاصة عند دمج البيانات الاصطناعية الثنائية (على سبيل المثال، إصدارات البرامج) أو وثائق المنتج (القديم) (فكر في الأكسجين أو javadocs)، التي تم إنشاؤها باستخدام هذا النظام أو باستخدام منشئ طرف ثالث تستخدمه محليًا لتحميل نتائج البناء هذه مباشرة إلى مستودعاتنا المستهدفة. مع نهجنا، يمكنك تجنب الفوضى غير الضرورية والانتفاخ في موقعك’شجرة المصدر، على عكس كيف’d العمل مع git، باستخدام الفروع في مستودع مشترك لكل من المصدر وبناء الأشجار.
يدعم الإصدار الفرعي التحكم الدقيق في الوصول، ويتيح لك إجراء عمليات سحب جزئية/متفرقة من
رأس؛ مع Git لديك NO ACLs بخلاف دفعة فرع الكل أو لا شيء، ويجب عليك استنساخ الفرع بأكمله (الذي يتضمن التاريخ) مسبقًا. إذا كنت’لا تعترف بضرورة هذه مجموعات ميزات svn فقط، لديك’t groked البند السابق’(انظر أعلاه) ملاحظات تماما حتى الآن.بالنسبة لـ IDE، سنحتاج إلى روابط القراءة + الكتابة لـ Perl من أجل
libgit2(والذي لا يوفره فريق تطوير git الفعلي، ويدعمه إلى حد كبير الشركات العملاقة التي لا تقدم IDE عبر الإنترنت للحصول على git كمنتج SaaS مماثل ؛ ولا، GitHub هو’t it) من أجل مطابقة svn’نظام إدارة الذاكرة المتوافق مع httpd وسلامة سلسلة عمليات POSIX (+ Perl ithreads)، في وقت تشغيل مستمر، وعبر مستودعات git متعددة على القرص من جانب الخادم لأشجار موقع العميل. إن نضج هذه البنية التحتية مفتوحة المصدر غير قابل للمصارف لعام 2020 في تقديرنا، لكننا سنحتفظ بعلامات تبويب حول التطورات التي تمضي قدمًا. بالنظر إليك،جيت:: الخام!ما زلت لا’تعرف على كيفية جعل الخزف بوزيكس الخيط آمنة. أمان سلاسل العمليات عبر مخازن منفصلة، ولكن ضمن عملية مشتركة’ذاكرة الوصول العشوائي (RAM)، هي حالة الاستخدام، وليس سلامة الخيط داخل مستودع معين (وهو طلب مغذي).
لماذا لا بيثون أو روبي أو جافا سكريبت أو الذهاب؟
جيلمضاف
mod_pythonلا يزال لديه طريقة للذهاب قبل أن يصل إلى نضجmod_perlفي mpm مترابطة. علاوة على ذلك، منتجنا’يتم دمج التنفيذ الحالي بإحكام مع خادم Apache HTTPd’وحدة كاملة API، والتي فقطmod_perlيوفر.جيلمضاف
mod_rubyتم التخلي عنها إلى حد كبير من قبل مجتمع روبي لأسباب مختلفة لمراقبة الجودة. نقل مصادر 5K LOC Perl 5 المخصصة لـ Orion ™ إلى بيئة برمجة مختلفة قد يؤدي إلى 10-100 طي البالون من أجل التنفيذ’عدد الأسطر، وبالتالي تدهور كبير في الأداء في أي لغة برمجة ديناميكية أخرى.
من المؤكد، فيما يلي لقطة، مؤرخة 19 يوليو 2020، لجزء أنظمة SunStar من شجرة مصدر الإنتاج لـ Orion بالكامل (IDE+build). هناك القليل من المشاركة خارج نطاقنا دوتياك::DTL شوكة. تم بالفعل فتح مصدر كل التعليمات البرمجية المتعلقة بالبناء على GitHub. ما تبقى خاصًا هو التخصيصات المستندة إلى C لأشجار مصدر تابعة لجهات خارجية، والتي تعد عوامل تمييز فريدة لمنتجنا.
joe@zeus:/x1/Orion% wc -l */lib/SunStarSys/**/*.pm
1 build/lib/SunStarSys/ASF.pm
128 build/lib/SunStarSys/SVNUtil.pm
270 build/lib/SunStarSys/Util.pm
36 build/lib/SunStarSys/Value.pm
82 build/lib/SunStarSys/Value/Blogs.pm
61 build/lib/SunStarSys/Value/Jira.pm
77 build/lib/SunStarSys/Value/Mail.pm
70 build/lib/SunStarSys/Value/SVN.pm
106 build/lib/SunStarSys/Value/Snippet.pm
85 build/lib/SunStarSys/Value/Twitter.pm
378 build/lib/SunStarSys/View.pm
1260 webgui/lib/SunStarSys/Orion.pm
112 webgui/lib/SunStarSys/Orion/Cookie.pm
183 webgui/lib/SunStarSys/Orion/Filter.pm
90 webgui/lib/SunStarSys/Orion/MapToStorage.pm
59 webgui/lib/SunStarSys/Orion/WC.pm
194 webgui/lib/SunStarSys/Orion/WC/Add.pm
97 webgui/lib/SunStarSys/Orion/WC/Browse.pm
133 webgui/lib/SunStarSys/Orion/WC/Commit.pm
79 webgui/lib/SunStarSys/Orion/WC/Copy.pm
66 webgui/lib/SunStarSys/Orion/WC/Delete.pm
47 webgui/lib/SunStarSys/Orion/WC/Diff.pm
182 webgui/lib/SunStarSys/Orion/WC/Edit.pm
116 webgui/lib/SunStarSys/Orion/WC/Mail.pm
70 webgui/lib/SunStarSys/Orion/WC/Merge.pm
67 webgui/lib/SunStarSys/Orion/WC/Move.pm
52 webgui/lib/SunStarSys/Orion/WC/Production.pm
47 webgui/lib/SunStarSys/Orion/WC/Promote.pm
60 webgui/lib/SunStarSys/Orion/WC/Resolve.pm
64 webgui/lib/SunStarSys/Orion/WC/Revert.pm
82 webgui/lib/SunStarSys/Orion/WC/Rollback.pm
123 webgui/lib/SunStarSys/Orion/WC/Search.pm
78 webgui/lib/SunStarSys/Orion/WC/Staged.pm
24 webgui/lib/SunStarSys/Orion/WC/Static.pm
49 webgui/lib/SunStarSys/Orion/WC/Update.pm
220 webgui/lib/SunStarSys/SVN/Client.pm
4848 total
mod_jsلم تقم قط بقطع httpd v2، أقل بكثير mpm الخيوط’ث.محاولة تضمين
GoLangفي httpd، مع روابط التحكم في الإصدار الأصلية، سيكون تحديًا ممتعًا ؛ ليس بالنسبة لي شخصيًا. لغة جيدة مع مفاضلات مثيرة للاهتمام عندما يتعلق الأمر بالربط الديناميكي، ولكن ربما للتحقيق في المستقبل.بقدر ما يتعلق الأمر نظام بناء بيرل 5، ابق على اتصال! لا يوجد سبب يمكن’يتم نقل t إلى أي لغة برمجة أخرى، حيث يتم عزل نظام البناء تمامًا عن Orion ™’IDE عبر الإنترنت (خارج محرك مقدم تخفيض السعر استنادًا إلى
node.js، وهو نظام قائم بذاته) لأسباب أمنية / تصميم معماري مليون. إذا كنت بحاجة إلى دعابة حول الاحتمالات، فابحث عنbuild_external.plالبرنامج النصي الموجود في @SunStarSys Orion repo: استخدمه ASF لجميع أنواع الأشياء التي لم’ليس لديك أي حاجة ملحة لنظام إدارة التبعية.نعم، بيرل’مسار شعبية من المفارقات يتتبع ذلك من COBOL، أو حتى Lisp المشتركة، على الرغم من يونكس’هيمنة في سوق الخوادم؛ ولكن بعض الأشياء تتقدم في العمر أفضل من غيرها. الصلبة (و فريدة من نوعها بيرل)
نقاشهندسة خارجp5p، استعدادًا لمجيء Perl 7، هو أخبار مرحب بها لمطوري mod_perl الذين لا يزالون يتشبثون بـ Doug MacEachern’الرؤية الأصلية. إذا وجدت نفسك عميقًا في أكثر من 100 مصدر LOC Perl للحصول على ما تحتاجه من نظام البناء الحالي الخاص بـ Perl فقط، دع’دردشة — ربما يمكننا التعاون على شيء أقل تعقيدًا بالنسبة لك لاستخدامه في إنشاء موقعك. أقل هو مع بيرل.
لماذا لا تعتمد على JVM؟
- عملت للتو بهذه الطريقة، بالنظر إلى تاريخي الذي استمر 20 عامًا مع LAMP Stack والمساهمات البناءة في مجتمع خادم الويب Apache HTTPd الممتد. يمكن القيام به، ولكن مرة أخرى مهمة ضخمة مع الكثير من المشاكل الهندسية الصلبة لحلها على طول الطريق.
الفهرس
أوريون الأمن — “الأمن من خلال الغموض ليس الكثير من الأمن على الإطلاق.”…
ميزات أوريون — نفس محرك عرض رمز جافا سكريبت في كل من المستعرض الخاص بك وفي سكريبت إنشاء markdown.js (القائم على node.js)…
SunStar أوريون الأنظمة — منصة ويكي Enterprise Jamstack لإنشاء وإدارة وتقديم صفحات ويب ثابتة باستخدام تقنية Jamstack للحصول على ميزات ديناميكية فيها…
خطط أوريون — خصومات التسعير المقدمة السنوية المتاحة (خصم يصل إلى 20% من تكاليف الفوترة الشهرية)…
Orion سياسة الخصوصية — إنها’نظام اشتراك متوافق مع GDPR. في الزيارة الأولى إلى أوريون ™ CMS / IDE، سيتم توجيهك إلى صفحة جوجل تطلب منك التصريح…
مرجع أوريون — تلك الرموز قلم رصاص الساخنة الوردي
في أعلى اليمين جنبا إلى جنب مع فتات الخبز سوف تعطيك مظاهرة حية…أوريون API — تقوم هذه الصفحة بفهرسة البحث والمحرر عبر الإنترنت ومكتبة قوالب Django وواجهات برمجة تطبيقات نظام الإنشاء…