Tntnet הוא webapplicationserver מודולרי, מרובה הליכי נכתב מאפס לC ++.
יש ליצור webapplications Tntnet ecpp נקרא תבנית בשפה דומה ל- PHP, JSP או מייסון, שבו אתה יכול להטביע C ++ - קוד בתוך html עמודים כדי ליצור תוכן פעיל.
Ecpp-הקבצים שעברו קומפילציה מראש ל ++ C - כיתות נקראים רכיבים ולוקטו וצמודים לספרייה משותפת. תהליך זה נעשה בcompiletime. שרת האינטרנט Tntnet צריך רק componentlibrary הידור.
בגלל webapplications מופקים לקוד ילידים, הם מאוד מהירים וקומפקטיים.
רכיבים יכולים להתקשר רכיבים אחרים. אז אתה יכול ליצור buildingblocks של html-חלקים וקורא להם בדפים אחרים כמו subprocesses.
בקשות מנותחים על ידי tntnet ומידע הבקשה נגיש בקלות לרכיבים. הוא תומך לקבל ולפרסם פרמטרים וחקיין מרובות-בקשות לקבצי העלאה.
Templatelanguage גם תמיכה עבור יישומי בנאי. אתה יכול בקלות ליצור webapplications לשפות שונות.
תכונות אחרות הן: עוגיות, HTTP-upload, ניתוח בקשת פרמטר אוטומטי והמרה, sessionmanagement האוטומטי, scoped משתנים (יישום, בקשה והפעלה), בינאום, לשמור-חיים.
רישום נעשה באמצעות cxxtools, המספק API ייחודי לlog4cpp, log4cxx או רישום פשוט לקבצים או קונסולה.
Tntnet הוא מרובה הליכי באופן מלא והרבה עבודה כבר נכנסה שהופך אותו להרחבה. היא משתמשת בברכה דינמית של workerthreads, אשר עונה לבקשות מhttp-לקוחות.
SSL נתמך באמצעות openssl-הספרייה
תכונות :.
- נכתב בתקן-C ++ עם לינוקס
- נבדק עם & quot; דביאן וודי x86 & quot; ו& quot; SuSE Linux 9.1 x86_64 & quot;
- שימוש בשפת תבנית להטביע C ++ - קוד ב- HTML דומה ל- PHP, JSP, ASP או מייסון
- רכיב הקונספט מאפשר modularisation של webapplications
- מרובה הליכי
- לקמפל webapplication כולל גרפיקה בספרייה אחת משותפת
- תופסת וPOST-פרמטרים מנותחים ונגישים בקלות
- תמיכה בקבצים שנוספו
- התמיכה i18n של webapplications -. בסיס קוד יחיד לשפות שונות
מה חדש בהודעה זו:
- מודול proxy החדש:
- tntnet @ proxy מודול החדש מאפשר העברת בקשה לשרתי http אחרים.
- טווח הפעלה מאובטח עבור משתנים תקפים רק בהפעלות SSL:
- סוג ההיקף חדש `` מאפשר למשתמשים להגדיר משתנים שהם תקפים רק בחיבורי SSL. גם עוגייה נפרדת נשלחה שתכונה לייעץ לדפדפן להשתמש בו רק כאשר SSL הוא מאפשר.
- Configure tntnet עם xml (או JSON), כולל רישום:
- בעבר tntnet היה מוגדר עם קובץ טקסט עם פורמט פשוט, אבל קניינית. רישום הוגדר בקובץ נפרד עם פורמט שונה. שניהם הוא בשילוב עכשיו בקובץ XML אחד.
- הסר ספריית cgi:
- בעבר הייתה ספרייה, המאפשרת להפעיל רכיבי ecpp כתהליכי cgi. השימוש היה מוגבל והביצועים בcgi הוא תמיד רעים. עד כמה שאני יודע אף אחד לא השתמשתי בו (מסיבה טובה). מכאן שהוא יוסר עכשיו.
- הרחב את מיפוי url עם מיפוי בשיטה או SSL:
- בקשות מיפוי לרכיבים מורחבת. לא רק את כתובת האתר יכול לשמש כתנאי אלא גם את שיטת http או מצב SSL. המיפוי הנפרד הקודם למארח וירטואלי עכשיו גם מוגדר כמצב מיפוי.
- מסגרת המשכי שימוש לקרוא משתני config% מתצורת tntnet לתמוך תצורות מורכבות:
- תג ecpp `` מאפשר ליישומי אינטרנט כדי לקרוא ערכים מקובץ תצורת tntnet. בעבר רק משתנה סקלרי אפשר לקרוא. כיום באמצעות האובייקטים מורכבים בהמשכים cxxtools יכול להיות מוגדר ועבר ליישום אינטרנט.
- מהדר ecpp לא מפסיק על השגיאה ראשונה יותר אבל מנסה למצוא יותר בעיות:
- מהדר ecpp `ecppc` הפסיק להרכיב על השגיאה הראשונה. עכשיו הוא מנסה להתאושש וממשיך באיסוף ודיווח שגיאות.
- אפשר יישומים כדי לנקות את ההפעלה הנוכחית:
- request.clearSession קורא השיטה החדשה '()' מנקה את כל משתני הישיבה לאחר הבקשה הנוכחית.
- קרא שמות קבצים לרכיב multibinary אופציונלי מקובץ באמצעות -i האפשרות בecppc:
- רכיבי Multibinary מכילים אוסף של קבצים סטטיים, שעורך כמרכיב tntnet יחיד. זה עוזר לחסוך מעל מאז כל רכיב צריך קצת קוד, מה שהופך את callable. מאז את רשימת הקבצים סטטיים בשימוש ביישום אינטרנט יכולה להיות ארוכה למדי, הוא לעתים קרובות נוח לשמור את הרשימה בקובץ נפרד. גם רשימה ארוכה מאוד רשאי להאריך את האורך המרבי המוותר של פקודת הפגז. עכשיו `ecppc` יכול לקרוא את הרשימה מקובץ לפתור את זה.
- יש טיעונים במיפוי url עכשיו שמות:
- כאשר מיפוי בקשה לרכיב, יכולים להיות מועברים מטיעוני התצורה לרכיב. בעבר זה היה רק רשימה של ערכים. עכשיו יש לו את הערכים שמות, מה שהופך את טיפול קל יותר ונוח יותר לקריאה.
- אפשר distinquishing בין טיעונים לקבל ולפרסם:
- Ecpp מאפשר הגדרת פרמטרים של שאילתא באמצעות תג ``. Tntnet עבר כאן את כל הפרמטרים לקבל ולפרסם. למפתחים קשה היה לגלות, אם טיעונים הועברו באמצעות GET או POST. עכשיו יכולים להיות מוגדרים בטיעונים `` או `` סעיף לקבל רק את הפרמטרים GET או POST.
- תיקוני באגים ואופטימיזציות:
- חלק תיקוני באגים ואופטימיזציות קטין נעשים בtntnet.
מה חדש בגרסה 2.1:
- זמן עדכונה. מהדורות אלה הן התוצאה של 2 שנים של פיתוח דירות שיפורים רבים.
- גרסה זו מוסיפה JSON וjsonrpc לcxxtools כמו גם שרת RPC בינארי מהיר ולקוח. שניהם מבוססים על המסגרת בהמשכים המשופרת של cxxtools.
- JSON והפורמט בינארי יכולים לשמש כפורמט אחסון. גם בהמשכים וdeserialization של csv אפשרי.
- מחרוזת Unicode כהתמחות של std :: basic_string לי לשכתב גדול עם אופטימיזציה מחרוזת קצרה.
- Tntnet בעיקר רבים שיפורים קטנים, עמידה סטנדרטית טובה יותר וביצועים גבוהים מעט יותר.
- Tntdb לי נהג שכפול, שהוא מסוגל לשכפל נתונים בין מסדי נתונים ללא תמיכה באתר. הכיתה העשרונית שוכתבה וקיבלה unittests. RowReader הרמה החדשה הופכת את הקוד לקריא יותר, כאשר עמודות רבות נקראות משורת תוצאה. BlobStream מעמד חדש מיישם ממשק std :: istream לכתמים.
יש
מה חדש בגרסת 2.0:
- לאחר יותר מ 2 שנים חדשות ללא משחרר יציב זה זמן לקבלת עדכונים. יש Cxxtools שיפורים חמים ענק ושיפורים בתכונות כמו xmlrpc, מסגרת חריץ אות, I / O anynchronous ואחרים.
- זה משתמע כמה שינויי API. עדיין רוב הקוד הקיים צריכים לרוץ. Tntnet וtntdb צריכים קצת שינויים לזה, כך שמשחרר tntnet וtntdb החדש צריך cxxtools 2.0.
- Tntnet יש לי הרבה שיפורי תכונה וביצועים קטנים. למזלנו לא היה הרבה צורך בשינויי API. כמעט יישומים צריכים לרוץ מחוץ לקופסא על ידי recompiling.
- Tntdb יש כמה שיפורים בתכונות. החשוב ביותר הם אולי התמיכה בערכים מוגדלים אוטומטי באמצעות tntdb השיטה :: חיבור :: lastInsertId (std :: מחרוזת) ותמיכה בסוגי משתמשים שהוגדרו על ידי עומס יתר 2 מפעילים.
מה חדש בגרסת 1.6.99:
- Tntnet יש לי כמה תיקוני באגים קטנים ומותאמים לשינויי API בcxxtools (שהם די קטנים).
תגובות לא נמצא