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

רגע האמת... האם C++‎ באמת נתן יתרון בתחום Web?

ב־יום שבת, 7 ביוני 2008, מאת ארתיום; פורסם תחת: תכנה חופשית, אינטרנט, פיתוח, תכנה ומחשבים, WordPress בעברית, CppCMS; ‏5 תגובות

אחרי כמעט חצי שנה של פיתוח תשתית C++‎ לפיתוח מערכות התוכן, אני מתקדם לגרסת בטא הראשונה. למעשה כל הרכיבים שתכננתי עבורה מוכנים והדבר היחיד שעוצר אותי בפני הכרזה על גרסת הבטא הראשונה זה חוסר תיעוד שעדיין אני צריך להכין.

המטרה של הפרויקט הייתה ליצור תשתית לפיתוח יעיל ומהיר ל־Web ב־C++‎ -- שפה שלא נפוצה בתחום זה, על מנת לקבל ביצועים יוצאים מן הכלל. בדרך גם למדתי הרבה על תשתיות דומות אחרות ועכשיו הכנתי השוואה ביצועים בין שתי מערכות:

  1. מערכת בלוגים פופולרית WordPress בעברית
  2. הבלוג שכתוב על בסיס CppCMS -- למעשה הבלוג הזה.

WordPress נבחרה בגלל ההכרות המצוינת שלי אתה ויכול להוציא ממנה את מירב הביצועים האפשריים שניתן לקבל בעזרת שפות תכנות דינמיות טיפוסיות כמו PHP.

המערכות הוגדרו ככה:

  1. שרת אינטרנט lighttpd 1.4.13
  2. ממשק שרת FastCGI
  3. ‏PHP גרסה 5.2.
  4. ‏Opcode Cache של PHP נעשה ע"י XCache 1.2.1
  5. בסיס הנתונים MySQL 5.0.‏
  6. תוסף caching עבור WordPress:‏ WP-Cache-2 עם הטלאי שלי שמשפר את הביצועים שלו בעוד כ־60%.
  7. מערכת CppCMS עם ניהול ה־cache בזיכרון.
  8. חומרה: AMD Athlon XP 3000+ 64bit, 1G RAM
  9. מערכת הפעלה: Debian Etch 64 bit.
המשך...

טלאי ל־WP-Cache-2

ב־יום שישי, 6 ביוני 2008, מאת ארתיום; פורסם תחת: תכנה חופשית, פיתוח, תכנה ומחשבים, WordPress בעברית, CppCMS; ‏0 תגובות

בקרוב אני הולך לבצע סדרה כבדה של השוואות ביצועים בין WordPress -- המערכת שאני מכיר אותה טוב על כל בעיותיה מול המערכת שבניתי על בסיס CppCMS.

מערכת ה־cache שפיתחתי עבור CppCMS היא די חכמה, היא שומרת כל דף בשני עותקים: אחד HTML המקורי והשני אותו דף דחוס עם gzip. זה מאפשר לשלוף דפים בצורה מאוד מהירה ולהעביר אותן לשרת בלי לבצע דחיסה מחדש.

מאחר ואני רוצה לבצע השוואה הוגנת, בדקתי את התוסף WP-Cache-2 שמאיץ את WordPress בצורה משמעותית וגילית שהוא שומר את הדפים רק כ־HTML ולכן, בכל פעם כשהדף נשלף מזיכרון מטמון הוא עדיין עובר דחיסה ע"י PHP או Apache. וזה גוזל הרבה משאבים.

כתבתי טלאי עבור התוסף ששומר כל דף בשני עותקים: מקורי ודחוס ומחזיר את הסוג הנדרש לפי בקשת הלקוח. הטלאי שיפר את הביצועים בכ־60%: עם התוסף המקורי WP היה מסוגל לספק כ־450 שאילתות בשנייה, אחרי הטלאי המספר הזה עלה לכ־720.

נ.ב.: בדיקות ביצועים של CppCMS יבואו בקרוב.

על Trackback, Pingback ועל API (הלא כל־כך) ידידותי

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

אם אתם לא שמתם לב, הוספתי תמיכה בטראקבק לבלוג שלי. חייב להגיד, שהמשימה לא הייתה פשוטה.

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

אז בהתחלה החלטתי ליישם את הראשון. התחלתי לקרוא את הספציפיקציות

וכאן מתחיל הסיפור

המשך...

להתראות WordPress.

ב־יום רביעי, 21 במאי 2008, מאת ארתיום; פורסם תחת: תכנה חופשית, פיתוח, תכנה ומחשבים, WordPress בעברית, CppCMS; ‏11 תגובות

החלפתי את מערכת התוכן של הבלוג שלי למערכת שכתובה ב־C++‎. היו לזה הרבה סיבות, והעיקריות הן:

  1. וורדפרס הפך ליותר שמן ופחות נוח. ממשק הניהול שלו הפך לכבד, כבר היה לי קשה לסבול את המורכבות שלו, גם כל מיני באגים ונקודות קטנות הציקו לי. למרות שמאוד אהבתי את מערכת התוכן הזו (בסה"כ היא עזרה לי להקים בלוג ב־10 דקות עבודה), החלטתי שמספיק... צריך להתקדם.
  2. הסיבה השניה והעיקרית היא הרצון להשתמש בכלים שפיתחתי "בבית". אם אני מנסה לקדם טכנולגיה לפיתוח אתרי־איטנטרנט, אז ראוי שהבלוג שלי ישתמש בה. לכן, החלטתי להגר.
המשך...

מחשבות: פרויקטים גדולים, גם אם יתרסקו ישארו משהו אחריהם...

ב־יום שלישי, 20 במאי 2008, מאת ארתיום; פורסם תחת: תכנה חופשית, לינוקס, פיתוח, תכנה ומחשבים, CppCMS; ‏2 תגובות

לא מזמן יצא לי לקרוא על olpc -- בעיקר דעות שונות: האם זה רע? האם זה סוף או אולי הסוף היה כבר בהתחלה?

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

לאחרונה, אני תוהה, מדוע אני משקיע כל־כך הרבה מאמץ יושב עד 1:00 בלילה, כותב תיעוד, מדבג עבור פרויקט שאני יודע שאולי שתיים וחצי אנשים ישתמשו בו?

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

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

  1. מערכת תבניות שאפשר להשתמש בה בהמון מקומות בלי קשר ל־HTML
  2. מעטפת C++‎ עבור libdbi שאני בטוח שיימצא לה שימוש.
  3. מערכת cache גמישה ומתוחכמת שהתכנון שלה נמצא כרגע בעיצומו, תוכל לשמש כל פרויקט webי שלאו דווקא כתוב ב־C++‎.

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

התנצלות: אני ידוע שזו חוצפה להשוות CppCMS עם OLPC, אבל בכל זאת, צריך להיות טיפה חוצפן ;)

העמוד הבא

העמוד הבא

דפים

נושאים