מאמרים בנושא ‏CppCMS‏.

עברתי שרת ושם המתחם

ב־יום חמישי, 26 בינואר 2012, מאת ארתיום; פורסם תחת: תכנה חופשית, תכנה ומחשבים, CppCMS; ‏3 תגובות

בשעה טובה, עברתי שרת.

אנא עדכנו את ה־rss שלכם לשרת החדש:

http://artyom.cppcms.com

העברה אוטומטית מהכתובת הישנה (art-blog.no-ip.info) לחדשה מתבצעת בצורה אוטומטית אבל היא תיעלם בקרוב.

מועמד לשחרור ראשון של הדור הבא של CppCMS זמין להורדה

ב־יום רביעי, 18 בינואר 2012, מאת ארתיום; פורסם תחת: תכנה חופשית, לינוקס, פיתוח, תכנה ומחשבים, CppCMS; ‏0 תגובות

אחרי פיתוח אינטנסיבי של כשנתיים וחצי, המועמד לשחרור של הדור הבא של CppCMS זמין להורדה.

איפשהו באפריל 2009 היה לי ברור שהארכיטקטורה של הדור הראשון של CppCMS לא הייתה מוצלחת:

  • ה־API היה בנוי בצורה שלא אפשר הרחבה קלה
  • הארכיטקטורה לא אפשרה פיתוח מונחה אירועים: Comet
  • הישענות על ספריות צג ג' כמו CgiCC ו־libfastcgi שהיו להן הבעיות API עמוקות, לא אפשרה לפרויקט להתקדם.
  • המערכת הייתה קשורה בצורה מאוד מובהקת ל־POSIX API ולא אפשרה תמיכה טבעית במערכת הפעלה Windows.

אחרי הרבה חשיבה, הבנתי שכדי לעשות קפיצת מדרגה משמעותית, צריך להתחיל לארגן את הקוד מחדש והתחלתי לעבוד.

העבודה הניבה פֵרות וביוני 2010 שחררתי גרסת בטא ראשונה. היא תפסה תאוצה באופן מידי. תוך חודשים ספורים כמות ההורדות קפצה מכ־100 הורדות בחודש לכ־300.

מהר מאוד, גרסת בטא הפכה לפופולרית. רוב משתמשי ה־CppCMS החלו לעבוד אתה או אפילו עם גרסת הפיתוח הזמינות דרך ה־svn. היום, רוב משתמשי CppCMS (אם לא כולם) עובדים עם גרסת פיתוח בטא. כל האתרים הפומביים שידוע לי עליהם, רצים על תשתית CppCMS החדשה.

למרות שבאופן רשמי, הדור הבא של CppCMS נחשב בטא, הוא היה יציב, מתוחזק היטב ובדוק הרבה יותר מהגרסה "היציבה", הסיבה היחידה שהוא היה נקרא "בטא" היא שאפשרתי לעצמי לשנות את ה־API בצורה לא תואמת, אחור, לזרוק API שהיה בנוי בצורה גרועה, לשנות סמנטיקה, לשפר ועוד.

היום, שנתיים וחצי אחרי שנוצר ענף "refactoring" ב־svn ה־API התייצב ומועמד לשחרור הראשון זמין להורדה.

שוחררה גרסת 1.48 של Boost שמכילה Boost.Locale

ב־יום רביעי, 16 בנובמבר 2011, מאת ארתיום; פורסם תחת: תכנה חופשית, פיתוח, תכנה ומחשבים, CppCMS, C++‎‏, Unicode, Boost‏; ‏2 תגובות

סוף סוף שוחררה גרסה 1.48 של Boost. אחד הדברים המשמעותיים בה היא שילוב של Boost.Locale - ספריית הלוקליזציה שאני פיתחתי.

קישורים:

להזכירכם, Boost.Locale פותחה כחלק מפרויקט CppCMS‏

למה אצלם זה אף פעם לא עובד? או מדוע IIS+FastCGI לא מה שחשבתם...

ב־יום שלישי, 16 באוגוסט 2011, מאת ארתיום; פורסם תחת: תכנה חופשית, פיתוח, תכנה ומחשבים, CppCMS; ‏3 תגובות

זה כבר לא בפעם הראש שואלים אותי אם ניתן להריץ את CppCMS עם IIS.

לכאורה, IIS תומך ב־FastCGI וזה הממשק העיקרי של CppCMS, אז לא אמורה להיות כאן בעיה.

אז מה צריך? להגדיר לעבוד בממשק TCP, להגדיר את הפורט שעליו השרת שלי מאזין? נשמע פשוט, אבל זה לא בדיוק עובד.

  1. IIS לא מאפשר להגדיר פורט! הוא לא רק לא תומך בשרתי FastCGI חיצוניים הוא מחייב את השרת להשתמש ב-Socket שהועבר דרך StdIn, רק שבחלונות Stdin הוא לא בדיוק file descriptor וצריך לעשות שמיניות באוויר כדי לקבל ממנו את ה-socket שעליו עושים accept.

    ראה: http://forums.iis.net/t/1146857.aspx

  2. אבל, נגיד לא נורא, אז נשתמש ב-socket שקיבלתי מהשרת כמו שזה נעשה בד"כ גם עם שרתים ב-Linux.

    זה עדיין לא יעזור! הוא לא יעביר בקשרות לשרת במקביל, הוא פשוט מניח שכל תהליך FastCGI, הוא Single-Threaded ומיועד לטפל בבקשה אחת בו זמנית, כמו ש-PHP עושה.

    ראה: http://forums.iis.net/t/1155551.aspx

    במילים אחרות גם אם אני אפתור את הבעיה הראשונה (הלא מסובכת) המערכת שלי לא תוכל להנות ממקביליות, משמע אין שיתוף cache, אין תמיכה ב-Comet ועוד.

בקיצור... IIS+FastCGI זה זבל שנכתב במטרה אחת בלבד: להגיד ש־PHP רץ על IIS.

אני הולך לבדוק את ההרחבה isapi_scgi‏, אם כי אני כבר יודע שהיא לא ממש תומכת ב־SCGI בצורה נכונה כי לא מטפלת ב־Status כראוי.

הפוסטר והמצגת מאוגוסט פינגווין

ב־יום שבת, 13 באוגוסט 2011, מאת ארתיום; פורסם תחת: תכנה חופשית, פיתוח, תכנה ומחשבים, CppCMS, C++‎‏, Unicode, Boost‏; תגובה אחת

אני מפרסם כמו שהבטחתי את המצגת והפוסטר מהכנס:

  • המצגת של ההרצאה על Boost.Locale:
  • הפוסטר על CppCMS‏: pdf‏

העמוד הבא

העמוד הבא

דפים

נושאים