تقنية أوريون
سولاريس 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.14 w/ ithreads و httpd v2.4.67 w/ event mpm.
الإصدار v1.14.6
مخصص 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 مؤقتة مدمج في Orion ™ البنية الأساسية للارتباط ثنائي الاتجاه (وإعادة توجيه الإشارات المرجعية) الخاصة بـ IDE. دون مغادرة متصفحك.
عندما يحين الوقت لترحيل هذه التغييرات إلى موقع الإنتاج القائم على الجذع، يمكنك اختيار الترويج للفرع بقدر ما تراه مناسبًا أو أقل من ذلك، العودة إلى الجذع. إذا تحرك الجذع إلى الأمام منذ أن كانت تعديلات الفرع الخاصة بك جاهزة في نهاية المطاف لوقت أولي، فقط انقر فوق زامِن زر لمزامنة دمج قناة الاتصال مع الفرع الخاص بك. بعد التحقق المزدوج من نتائج إنشاء التزام الدمج بعد المزامنة على موقع الويب الخاص بفرعك، استمر وانقر على ترقية تابع ذلك مع a تثبيت في نفس الصفحة مع رسالة سجل الالتزام المعقولة، و voilà، أنت الآن تبث على بناء إنتاج الجذع.
إذا كنت بحاجة إلى توزيع ومعالجة أشجار البناء الناتجة باستخدام التحكم في الإصدار، فلن تحب git على نطاق واسع. خاصة عند دمج البيانات الاصطناعية الثنائية (على سبيل المثال، إصدارات البرامج) أو وثائق المنتج (القديم) (فكر في الأكسجين أو javadocs)، التي تم إنشاؤها باستخدام هذا النظام أو باستخدام منشئ طرف ثالث تستخدمه محليًا لتحميل نتائج البناء هذه مباشرة إلى مستودعاتنا المستهدفة. من خلال نهجنا، يمكنك تجنب الفوضى غير الضرورية والانتفاخ في شجرة مصدر موقعك، على عكس كيفية عملها مع git، باستخدام فروع في مستودع مشترك لكل من المصدر وبناء الأشجار.
يدعم الإصدار الفرعي التحكم الدقيق في الوصول، ويتيح لك إجراء عمليات سحب جزئية/متفرقة من
رأس؛ مع Git لديك NO ACLs بخلاف دفعة فرع الكل أو لا شيء، ويجب عليك استنساخ الفرع بأكمله (الذي يتضمن التاريخ) مسبقًا. إذا كنت لا تعترف بضرورة مجموعات ميزات svn فقط هذه، فأنت لم تحجب ملاحظات العنصر السابق (انظر أعلاه) حتى الآن.بالنسبة لـ IDE، سنحتاج إلى روابط القراءة + الكتابة لـ Perl من أجل
libgit2(وهو لا يوفره فريق تطوير git الفعلي، ويدعمه إلى حد كبير الشركات العملاقة التي لا تقدم IDE عبر الإنترنت للحصول على git كمنتج SaaS مماثل ؛ ولا، GitHubليس كذلك) من أجل مطابقة نظام إدارة الذاكرة المتوافق مع httpd لـ svn وسلامة سلسلة عمليات POSIX (+ Perl ithreads)، في وقت تشغيل مستمر، وعبر مستودعات git متعددة على القرص من جانب الخادم لأشجار موقع العميل. إن نضج هذه البنية التحتية مفتوحة المصدر غير قابل للمصارف لعام 2020 في تقديرنا، لكننا سنحتفظ بعلامات تبويب حول التطورات التي تمضي قدمًا. بالنظر إليك،جيت:: الخام!ما زلت لا أعرف كيفية جعل بوزيكس الخيط آمنة غيت الخزف. سلامة الخيط عبر مخازن منفصلة، ولكن داخل ذاكرة الوصول العشوائي للعملية المشتركة، هي حالة الاستخدام، وليس سلامة الخيط داخل مستودع معين (وهو طلب جيد).
لماذا لا بيثون أو روبي أو جافا سكريبت أو الذهاب؟
جيلمضاف
mod_pythonلا يزال لديه طريقة للذهاب قبل أن يصل إلى نضجmod_perlفي mpm مترابطة. علاوة على ذلك، يتم دمج التنفيذ الحالي لمنتجنا بإحكام مع واجهة برمجة تطبيقات وحدة خادم Apache HTTPd الكاملة، والتي فقط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، مع روابط التحكم في الإصدار الأصلية، سيكون تحديًا ممتعًا ؛ ليس بالنسبة لي شخصيًا. لغة جيدة مع مفاضلات مثيرة للاهتمام عندما يتعلق الأمر بالربط الديناميكي، ولكن ربما للتحقيق في المستقبل.فيما يتعلق بنظام بناء Perl 5، ابق على اتصال! *لا يوجد سبب لعدم إمكانية نقله إلى أي لغة برمجة أخرى، حيث يتم عزل نظام البناء تمامًا عن Orion ™IDE عبر الإنترنت (خارج محرك مقدم تخفيض السعر استنادًا إلى
node.js، وهو نظام قائم بذاته) لأسباب أمنية / تصميم معماري مليون. إذا كنت بحاجة إلى دعابة حول الاحتمالات، فابحث عنbuild_external.plالبرنامج النصي الموجود في @SunStarSys Orion repo: استخدمه ASF لجميع أنواع الأشياء التي ليس لديها أي حاجة ملحة لنظام إدارة التبعية.نعم، يتتبع مسار شعبية بيرل بشكل مثير للسخرية مسار COBOL، أو حتى Lisp الشائعة، على الرغم من هيمنة يونيكس في سوق الخوادم ؛ لكن بعض الأشياء تتقدم في العمر أفضل من غيرها. الصلبة (و فريدة من نوعها بيرل)
نقاشهندسة خارجp5pفي التحضير لمجيء بيرل 7، نرحب بالأخبار إلى مطوري mod_perl الذين لا يزالون يتشبثون برؤية دوغ ماكيرن الأصلية. إذا وجدت نفسك عميقًا في أكثر من 100 مصدر LOC Perl للحصول على ما تحتاجه من نظام البناء الحالي Perl-only، دعنا نتحدث — ربما يمكننا التعاون على شيء أقل تعقيدًا بالنسبة لك لاستخدامه في إنشاء موقعك. أقل هو مع بيرل.
لماذا لا تعتمد على JVM؟
- عملت للتو بهذه الطريقة، بالنظر إلى تاريخي الذي استمر 20 عامًا مع LAMP Stack والمساهمات البناءة في مجتمع خادم الويب Apache HTTPd الممتد. يمكن القيام به، ولكن مرة أخرى مهمة ضخمة مع الكثير من المشاكل الهندسية الصلبة لحلها على طول الطريق.
الفهرس
SunStar أوريون الأنظمة — منصة ويكي Enterprise Jamstack لإنشاء وإدارة وتقديم صفحات ويب ثابتة باستخدام تقنية Jamstack للحصول على ميزات ديناميكية فيها…
أوريون الأمن — “الأمن من خلال الغموض ليس الكثير من الأمن على الإطلاق.”…
خطط أوريون — خصومات التسعير المقدمة السنوية المتاحة (خصم يصل إلى 20% من تكاليف الفوترة الشهرية)…
Orion سياسة الخصوصية — إنها’نظام اشتراك متوافق مع GDPR. في الزيارة الأولى إلى أوريون ™ CMS / IDE، سيتم توجيهك إلى صفحة جوجل تطلب منك التصريح…
مرجع أوريون — تلك الرموز قلم رصاص الساخنة الوردي
في أعلى اليمين جنبا إلى جنب مع فتات الخبز سوف تعطيك مظاهرة حية…ميزات أوريون — نفس محرك عرض رمز جافا سكريبت في كل من المستعرض الخاص بك وفي سكريبت إنشاء markdown.js (القائم على node.js)…
أوريون API — تقوم هذه الصفحة بفهرسة البحث والمحرر عبر الإنترنت ومكتبة قوالب Django وواجهات برمجة تطبيقات نظام الإنشاء…