הבלוג של ארתיום
בלוג על לינוקס, תוכנה חופשית, מוזיקה, סלסה, ומה לא!
חדשות CppCMS...
לאחרונה אני עובד בענף ה־refactoring של CppCMS ומבצע שינויים גדולים. אביא כאן סקירה קצרה של השינוי שכבר נמצאות בגרסה ניסיונית:
אחד השינויים הגדולים והחשובים זה להיפתר מכל התלויות המיותרות או מגבילות. אחרי שכל השינויים יסתיימו, התלויות היחידות שיישארו הן גרסה עדכנית של Boost ו־Python לצורכי הפיתוח בלבד.
חלק מהספריות הוסרו בגלל אי תאימות לדרישות החדשות:
- libfcgi ירד כי ה־API שלו לא מאפשר גישה א־סינכרונית, במקומו, מימשתי את הפרוטוקול בעצמי על בסיס Boost.Asio.
- ספריית CgiCC ירדה בגלל האיכות הירודה שלה וחוסר יכולת סבירה לתקשר עם המפתח של אותה הספרייה הבעייתית.
כך שבגרסה הבאה, תהיה לי אפשרות להכין debים ו־rpmים בקלות...
עד היום, פיתוח מול CppCMS דרש שימוש בשרת חיצוני, למרות שיש לי סקריפט הפעלה אוטומטית של lighttpd, nginx ו־Apache, עכשיו מימשתי שרתי HTTP פנימי פשוט שמקל על הפיתוח ובנוסף, עתיד יקל על שיבוץ התשתית ביישומים שדורשים ממשק web ובמערכות משובצות מחשב.
כך שכיום, CppCMS החדש תומך בשלושה ממשקים FastCGI, SCGI ו־HTTP.
התווספה תמיכה מסודרת בלוקליזציה עם שימוש ב־std::locale, כך שתצוגת התאריכים, מספרים, מחרוזות וכד' יתבצעו בהתאם למקובל באותה שפה.
בגלל שימוש מקיף ב־Boost -- ספריה בלתי תלויה בפלטפורמה, אני סוף־סוף אוכל להכריז על Windows כפלטפורמה שנתמכת באופן (חצי) רשמי.
יש עוד הרבה עבודת אינטגרציה של רכיבים שיצאו באופן זמני, כמו ניהול sessions, שינויים ב־cache, שכתוב תמיכה בטפסים ועוד.
אבל לאט־לאט ההשפעה של השינויים הארכיטקטוניים מתחילים להתבהר.
תגובות
כל הכבוד על ההשקעה וההתמדה. לא חושב שבעתיד אני אשתמש בתוכנה שלך אבל כמי שעוקב אחרי העבודה שלך כבר יותר משנה (רק מתוך סקרנות, אל תהיה פרנואיד:) אני מופתע מהיכולת שלך, המחויבות שלך וצורת העבודה. תודה
אני מצטרף למחמאות בתגובה הקודמת.
מה קורה עם השינוי הגדול עליו דיברת כבר מזמן: שינוי השם??
לא מצאתי עדיין
:-(
תודה ששיתפת את כל הבלוג ב־feed. אני מניח שאתה מפסיד סטטיסטיקה - אבל הקוראים מרווחים.
כמה שאלות אם אפשר:
עדין לא ברור למשתמש הדפוק מה התוכנה הזאת עושה. אני יודע שאתה בונה frame work לפיתוח יישומי web על בסיס c++. אבל לשאר העולם זה לא ברור. יש סיכוי שתוכל לעשות כמה demos ש"ישווקו" עם הספרייה? "הינה, דוגמה ל־wordpress מעל הספרייה שלי", או דוגמה יותר מטורפת יותר. תסתכל על מה שעשיתי ב־qmdilib, פשוט מלא, אבל מלא תיעוד: http://code.google.com/p/qtedit4/wiki/qmdilib
אל תשבור את הראש עם חלונות, בעיקר עם ה־build system. אני חושב שכיוון שהמערכת היא מספיק שונה - אתה תצתרך build system שונה. נניח שאתה תומך "רק ב-mingw" ואתה כותב Makefile.mingw בלבד. מה דעתך? אולי פשרה, שימוש ב־cmake?
רק מאמרים גדולים אני מחלק. לא אוהב כשיותר מידי מוצג בעמוד הראשי -- כי התקציר מגיע גם ל־feed וגם לעמוד ראשי. מתישהו אתקן את זה.
הנה וורדפרס מעל הספריה שלי; והנה ויקי מעל הספריה שלי. מה יכול להיות יותר טוב מאתרים אמתיים הרצים מעל ה־framework שלי... אתה מודע לכך שהאתר הזה לא רץ על WordPress אלא מעל CppCMS?
כמובן יש לי גם תיעוד ודוגמאות...
דווקא זה לא עד כדי כך בעיה, כי autotools תומכים בצורה טובה מאוד ב־Mingw כך שפה ממש אין לי בעיה -- למעשה, אני אפילו עושה בקלות יחסית קרוס קומפילציה תחת לינוקס.
לגבי cmake... כל עוד הוא לא תומך בצורה נורמלית ב־unintall וב־gettext (במיוחד האחרון) אז אין מה לחפש, גם ככה, Visual Studio כרגע לא אופציה בגלל שהיא לא תומכת בהרבה דברים בסיסיים ש־mingw נותן כמו למשל stat, וגם היא לא תומכת ב־C99 -- אין לי שם אפילו long long.
כך ש־cmake לא נחוץ לי כרגע
הוסף תגובה:
חובה לאפשר JavaScript כדי להגיב.