נצפה לאחרונה
נצפה לאחרונה

טכנולוגיית אוריון

סולאריס 11.4

  • DTrace — נקטנו בגישת הכיור במטבח: כל כלי שפת התכנות הדינמיים שלנו משתלבים איתה. בעוד bpftrace הוא פיתוח נחמד לאחרונה עבור לינוקס, שיש לו לעשות דברים שימושיים במרחב השפה הדינמי הוא רחוק, וזה המקום שבו הפעולה היא.

  • ZFS — עדיף עם Solaris, מגובה על ידי Oracle Support. לא לקבל תחליפים.

  • אזורים — מספק בידוד שירותים ובניית אתרים המותאמים לארגז חול.

node.js v21.6.1

כי Editor.md הוא מדהים, העברנו אותו אל node.js — WYSIWYG, ללא קשר להקשר של הצופה (עריכה ב-IDE המקוון שלנו, או גלישה באתר הייצור שנוצר).

פרל v5.38.2

  • עכשיו w / mod_perl v2.0.14 w / ithreads ו httpd v2.4.67 w / אירוע mpm.

גרסה 1.14.6

  • ithread-safe מותאם אישית SVN::לקוח כריכות עם מאגרי זיכרון לכל בקשה.

  • מקורי python3 כריכות (v3.8.3).

  • יציאות python3 משורשרות של svnpubsub ו-svnwcsub — כל הערכה וקנוודל לפריסת אתר מבוזרת של ארגון/CDN באמצעות Subversion.

  • השלמת python3 תצוגה יציאה. יבחן בקשת משיכה לשינויים שלי במעלה הזרם ככל שהזמן מאפשר.


כמה הערות על הדרכים לא (עדיין?) נלקח…


SQL

אנחנו חנות NoSQL לכל תשתית האתר שלנו, ואם אתם עצובים עם נקודת כשל אחת ענקית המכונה RDBMS המניע את נכסי האתר שלכם, אנא שקלו מחדש גישה מבוזרת יותר המבוססת על Jamstack וטכנולוגיית Serverless. גם אם זה לא שלנו. אתם תודו לנו אחר כך!

למה לא גיט?

  • את גיט svn גשר כבר קיים אם אתה מעדיף לעבוד עם גיט בעצמך, במקום להשתמש ב-IDE המקוון עבור אוריון ™. יש לך אפשרויות! ייתכן שתמצא אפילו יותר קילומטראז’ מחוץ לפעולות GitHub על-ידי דחיפת השינויים שלך אל GitHub (והעברת אותם בפעולת GitHub, או לבצע commit מראש, או שניהם, למשל) לפני גיט svn dcommit-להביא אותם repos Subversion שלנו לפרסום חי. כאן זהו עותק GIT חי והיסטורי שלם של מקורות האתר כולו.

  • עצי מקור אתר אינטרנט אינם כמו עצי מקור תוכנה, במונחים של איך אתה משנה ולנהל אותם. הם מיושרים יותר עם פיתוח מבוסס תא המטען / Trunk מאשר עם גיטפלו. יתר על כן, אתרים ענקיים הולכים צריך SSI, ואולי קצת CGI, לשימושם: לכל הפחות כדי למנוע נטישת אתר מסיבית, לא ניתן לצפייה מן דיוור מסיבי באותה מידה הפרש פלט ב-deltas של עץ הבנייה שנוצר.

  • כדי wit: מנסה לקבל מימוש SSI פונקציונלי לחלוטין מתוך כמה מקומיים “שרת אינטרנט” כי אתה משתמש כדי להציג את השינויים שלך במערכת בנייה אחרת, הוא רק קצת טיפשי אם אתה עוצר וחושב על זה. עם אוריון שלנו, אתה רק ליצור סניף ב svn ו off אתה הולך: עריכה, התחייבות, בנייה, גלישה, ו iterating, באופן מיידי, על כל סניף, אפאצ’י-שמור אתר זה משולב אוריון ™ תשתית הקישור הדו-כיווני (והכוונה מחדש של סימניות) של IDE. מבלי לעזוב את הדפדפן שלך.

  • כאשר הגיע הזמן להעביר את השינויים האלה לאתר הייצור מבוסס תא המטען, אתה יכול לבחור לקדם כמה שיותר, או כמה שפחות, של הענף כפי שאתה רואה לנכון, ממש בחזרה לתא המטען. אם תא המטען התקדם מאז ששינויי הענף שלך היו מוכנים בסופו של דבר לפריים טיים, פשוט לחץ על סנכרון לחצן לסנכרון מיזוג תא המטען עם הענף. לאחר בדיקה כפולה של תוצאות הבנייה של ביצוע commit לאחר המיזוג לאתר האינטרנט של הסניף שלך, עבור קדימה ולחץ על קידום קישור, עקוב אחר זה עם a אישור לביצוע באותו דף עם הודעת יומן התחייבות סבירה, ו voilà, אתה עכשיו משדרים על בניית הייצור של תא המטען.

  • אם אתה צריך להפיץ ולהתמודד עם עצי הבנייה וכתוצאה מכך באמצעות בקרת גרסאות, אתה לא אוהב git בקנה מידה גדול. במיוחד כאשר משלבים ארטיפקטים בינאריים (למשל, מהדורות תוכנה) או (מורשה) תיעוד מוצר (חושבים על חמצן או javadocs), שנבנו באמצעות מערכת זו או באמצעות בונה צד שלישי שבו אתה משתמש באופן מקומי כדי פשוט להעלות את תוצאות הבנייה הללו ישירות למאגרי היעד שלנו. עם הגישה שלנו, אתה יכול למנוע בלגן מיותר להתנפח בעץ המקור של האתר שלך, בניגוד איך זה יעבוד עם git, באמצעות ענפים במאגר משותף הן למקור שלך ולבנות עצים.

  • Subversion תומכת בקרת גישה מפורטת, ומאפשרת לך לבצע בדיקות חלקיות / sparse של ראש; עם Git יש לך אין ACLs מלבד בדחיפה של כל הענף או כלום, ועליך לשכפל את הענף כולו (כולל היסטוריה) לפני כן. אם אינך מזהה את הצורך בערכות תכונות אלה של svn בלבד, עדיין לא גיששת את ההערות של הפריט הקודם (ראה לעיל).

עבור IDE, נצטרך לקרוא + לכתוב כריכות פרל עבור libgit2 (אשר הוא לא מסופק על ידי צוות הפיתוח בפועל git, והוא מגובה בעיקר על ידי תאגידים מגליתיים שאינם מספקים IDE מקוון עבור git כמוצר דומה SaaS; ולא, GitHub האין זה) כדי להתאים את שיטת ניהול הזיכרון תואמת httpd של svn ואת בטיחות הליך המשנה POSIX (+ Perl ithreads), בזמן ריצה מתמיד, ובמאגרי git מרובים בצד השרת של עצי אתר הלקוח. הבשלות של תשתית קוד פתוח זו אינה בנקאית עבור 2020 בהערכתנו, אבל אנחנו נשמור על הלשוניות על ההתפתחויות להתקדם. בהסתכלות עליך, Git::Raw!

  • אני עדיין לא יודע איך לעשות פורצלן גיט בטוח פוזיקס. בטיחות הליכי משנה במאגרים נפרדים, אבל בתוך RAM של תהליך משותף, הוא מקרה השימוש, לא בטיחות הליכי משנה בתוך מאגר נתון (שהוא בקשה מטורפת).

למה לא פייתון או רובי או Javascript או ללכת?

  • גיל-נוסף mod_python עדיין יש דרך ללכת לפני שהוא מגיע לבגרות של mod_perl ב mpm משורשר. יתר על כן, היישום הנוכחי של המוצר שלנו משולב היטב עם API המודול המלא של שרת Apache HTTPd, אשר רק mod_perl מספק.

  • גיל-נוסף mod_ruby רובם ננטשו על ידי קהילת רובי מסיבות שונות של בקרת איכות. הסבת מקורות 5K LOC Perl 5 מותאמים אישית של אוריון ™ לסביבת תכנות אחרת תהיה תוצאה של 10-100 בלון מקופל של ספירת קווי היישום, וכתוצאה מכך ירידה משמעותית בביצועים בכל שפת תכנות דינמית אחרת.

כדי להיות בטוח, הנה צילום מצב, מיום 19 ביולי 2020, של חלק SunStar Systems של עץ מקור הייצור עבור אוריון כולו (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’s.

מנסה לשבץ GoLang ל-httpd, עם כריכות בקרת גרסאות מקוריות, יהיה אתגר מהנה; רק לא בשבילי באופן אישי. שפה טובה עם פשרות מעניינות כשמדובר קישור דינמי, אבל בהחלט אולי לחקירה עתידית.

  • בכל הנוגע למערכת הבנייה של פרל 5, הישאר מכוון! אין סיבה שלא ניתן להעביר אותה לשום שפת תכנות אחרת, מכיוון שמערכת הבנייה מבודדת לחלוטין מאוריון ™ה-IDE המקוון (מחוץ ל-markdown renderer daemon) מבוסס על node.js, שהיא מערכת עצמאית עצמה) ממיליון סיבות אבטחה / עיצוב אדריכלי. אם אתה צריך טיזר לגבי האפשרויות, להציץ על build_external.pl סקריפט ב @SunStarSys אוריון repo: ASF השתמש בו עבור כל מיני דברים שאין להם צורך דחוף עבור מערכת ניהול תלות.

  • כן, מסלול הפופולריות של פרל עוקב באופן אירוני אחר זה של COBOL, או אפילו Common Lisp, למרות הדומיננטיות של יוניקס בשוק השרתים; אבל כמה דברים מזדקנים טוב יותר מאחרים. ה-FULL (והיחיד) תהליך משנה (ithread) הנדסה מתוך p5p, כהכנה להופעתו של פרל 7, מוזמנים חדשות למפתחי mod_perl שעדיין נאחזים בחזונו המקורי של דאג מקאשרן. אם אתה מוצא את עצמך עמוק בברך במקורות 100+ LOC Perl כדי לקבל את מה שאתה צריך מתוך מערכת הבנייה הנוכחית שלנו פרל בלבד, בואו לשוחח — אולי נוכל לשתף פעולה במשהו פחות מורכב כדי שתוכל להשתמש בו לבניית האתר שלך. פחות זה יותר עם פרל.

למה לא עם משהו המבוסס על JVM?

  • פשוט הסתדר ככה, בהתחשב בהיסטוריה שלי 20 שנה עם מחסנית LAMP ותרומות בונה לקהילת שרת האינטרנט המורחבת Apache HTTPd. אפשר, אבל שוב משימה מסיבית עם הרבה בעיות הנדסיות קשות לפתור לאורך הדרך.

אינדקס

  • SunStar אוריון מערכותפלטפורמת Jamstack Wiki של Enterprise  עבור יצירה, ניהול ומסירה דפי אינטרנט סטטיים המשתמשים בטכנולוגיית Jamstack לקבלת תכונות דינמיות…

  • אוריון אבטחה — “ביטחון באמצעות ערפול הוא לא הרבה ביטחון בכלל.”…

  • תוכניות אוריון — הנחות שנתיות זמינות בתמחור מראש (עד 20% הנחה על עלויות חיוב חודשיות)…

  • מדיניות הפרטיות של אוריון — זוהי מערכת opt-in תואמת GDPR. בביקור הראשון באוריון ™ CMS / IDE, אתה תהיה מופנה לדף גוגל מבקש ממך לאשר…

  • אסמכתת אוריון — סמלי העיפרון הוורוד החם בצד ימין למעלה לצד פירורי הלחם תעניק לכם הדגמה חיה…

  • תכונות אוריון — אותו מנוע עיבוד קוד javascript הן בדפדפן והן בתסריט הבנייה (node.js-based) markdown.js…

  • API של אוריון — דף זה מפתח את חיפוש, עורך מקוון, ספריית תבניות Django וממשקי API של Build System