Tntnet เป็นแบบแยกส่วน, webapplicationserver แบบมัลติเธรดเขียนตั้งแต่เริ่มต้นสำหรับ C ++
เพื่อสร้าง webapplications Tntnet มีแม่แบบที่เรียกว่าภาษา ecpp คล้ายกับ PHP, JSP หรือก่ออิฐที่คุณสามารถฝัง C ++ - รหัสภายใน html ที่หน้าในการสร้างเนื้อหาที่ใช้งาน
ecpp ไฟล์จะ precompiled ไปที่ C ++ - ชั้นเรียนที่เรียกว่าส่วนประกอบและรวบรวมและเชื่อมโยงเป็นห้องสมุดที่ใช้ร่วมกัน กระบวนการนี้จะกระทำที่ compiletime เว็บเซิร์ฟเวอร์ Tntnet ต้องการเพียง componentlibrary รวบรวม
เพราะ webapplications จะเรียบเรียงรหัสพื้นเมืองพวกเขามีความรวดเร็วและมีขนาดกะทัดรัด
ส่วนประกอบสามารถเรียกส่วนประกอบอื่น ๆ เพื่อให้คุณสามารถสร้าง buildingblocks ของชิ้นส่วน HTML และเรียกพวกเขาในหน้าอื่น ๆ เช่นกระบวนการย่อย
ขอมีการแยกวิเคราะห์โดย tntnet และข้อมูลคำขอสามารถเข้าถึงได้ง่ายส่วนประกอบ สนับสนุน GET และ POST พารามิเตอร์และ Mime-multipart การร้องขอสำหรับไฟล์อัปโหลด
templatelanguage ยังมีการสนับสนุนสำหรับการใช้งานสากล คุณสามารถสร้าง webapplications สำหรับภาษาที่แตกต่างกัน
คุณสมบัติอื่น ๆ : คุกกี้, HTTP อัพโหลดแยกขอพารามิเตอร์อัตโนมัติและการแปลง sessionmanagement อัตโนมัติขอบเขตตัวแปร (การประยุกต์ใช้การร้องขอและเซสชั่น), สากล, keep-alive
เข้าสู่ระบบจะทำผ่าน cxxtools ซึ่งมี API ไม่ซ้ำกันสำหรับ log4cpp, log4cxx หรือเข้าสู่ระบบที่ง่ายในการแฟ้มหรือคอนโซล
Tntnet เป็นแบบมัลติเธรดอย่างเต็มที่และการทำงานมากได้รับหายไปในการทำให้มันสามารถปรับขนาดได้ จะใช้สระว่ายน้ำแบบไดนามิกของ workerThreads ซึ่งเป็นคำตอบการร้องขอจาก http-ลูกค้า
ssl ได้รับการสนับสนุนผ่านทาง OpenSSL ห้องสมุด
คุณสมบัติ .
- เขียนในมาตรฐาน-C ++ กับ Linux
- ทดสอบกับ & quot; เดวู้ดดี้ 86 & quot; และ & quot; SuSE Linux 9.1 x86_64 & quot;
- การใช้แม่แบบภาษาฝัง C ++ - รหัสใน html ที่คล้ายกับ PHP, JSP, ASP หรือเมสัน
- องค์ประกอบแนวคิดช่วยให้ modularisation ของ webapplications
- มัลติเธรด
- รวบรวม WebApplication รวมทั้งกราฟิกในห้องสมุดที่ใช้ร่วมกันหนึ่งเดียว
- GET- และ POST พารามิเตอร์มีการแยกวิเคราะห์และสามารถเข้าถึงได้ง่าย
- การสนับสนุนสำหรับการอัปโหลดไฟล์
- การสนับสนุนสำหรับ i18n ของ webapplications -. codebase เดียวสำหรับภาษาที่แตกต่างกัน
มีอะไรใหม่ ในข่าวประชาสัมพันธ์นี้:
- โมดูลพร็อกซี่ใหม่:
- โมดูลใหม่พร็อกซี่ @ tntnet ช่วยให้การร้องขอการส่งต่อไปยังเซิร์ฟเวอร์ http อื่น ๆ .
- ขอบเขตเซสชั่นการรักษาความปลอดภัยสำหรับตัวแปรเดียวที่ถูกต้องในการประชุม SSL:
- ชนิดขอบเขตใหม่ `` ให้ผู้ใช้สามารถกำหนดตัวแปรที่มีผลบังคับใช้เฉพาะในการเชื่อมต่อ SSL นอกจากนี้ยังมีคุกกี้ถูกส่งแยกต่างหากซึ่งแอตทริบิวต์จะให้คำแนะนำเบราว์เซอร์ที่จะใช้เฉพาะเมื่อ SSL เป็นช่วย.
- การตั้งค่าคอนฟิก tntnet กับ XML (หรือ JSON) รวมทั้งการเข้าสู่ระบบ:
- ก่อนหน้านี้มีการกำหนดค่า tntnet กับแฟ้มข้อความที่มีรูปแบบที่เรียบง่าย แต่มีกรรมสิทธิ์ เข้าสู่ระบบได้รับการกำหนดค่าในแฟ้มแยกต่างหากที่มีรูปแบบที่แตกต่างกัน ทั้งสองจะรวมตอนนี้อยู่ในไฟล์ xml เดียว.
- ลบห้องสมุด cgi:
- มีการใช้เป็นห้องสมุดที่ช่วยให้การใช้องค์ประกอบ ecpp เป็นกระบวนการ cgi การใช้งานถูก จำกัด และประสิทธิภาพใน cgi อยู่เสมอไม่ดี เท่าที่ผมรู้ว่าไม่มีใครได้ใช้มัน (สำหรับเหตุผลที่ดี) ดังนั้นมันจะถูกลบออกในขณะนี้.
- ขยายการทำแผนที่ url กับการทำแผนที่โดยวิธีการหรือ SSL:
- การร้องขอการแมปส่วนประกอบจะขยายออกไป ไม่เพียง แต่ url สามารถนำมาใช้เป็นเงื่อนไข แต่ยังวิธี http หรือรัฐ SSL การทำแผนที่ที่แยกจากที่ก่อนหน้านี้ต่อโฮสต์เสมือนอยู่ในขณะนี้กำหนดเป็นเงื่อนไขการทำแผนที่.
- กรอบการใช้อนุกรมการอ่านการตั้งค่าตัวแปร% จากการกำหนดค่า tntnet เพื่อสนับสนุนการกำหนดค่าที่ซับซ้อน:
- แท็ก ecpp `` ช่วยให้การใช้งานเว็บที่จะอ่านค่าจากแฟ้มการกำหนดค่า tntnet เดิมเพียงตัวแปรสเกลาร์สามารถอ่าน ตอนนี้ใช้เป็นอันดับ cxxtools วัตถุที่ซับซ้อนสามารถกำหนดค่าและส่งผ่านไปยังโปรแกรมประยุกต์บนเว็บ.
- คอมไพเลอร์ ecpp ไม่หยุดในข้อผิดพลาดครั้งแรก ๆ มากขึ้น แต่พยายามที่จะหาปัญหามากขึ้น:
- คอมไพเลอร์ ecpp `ecppc` หยุดการรวบรวมเกี่ยวกับข้อผิดพลาดแรก ตอนนี้ก็พยายามที่จะกู้คืนและยังคงรวบรวมและการรายงานข้อผิดพลาด.
- อนุญาตให้ใช้งานในการยกเลิกการใช้งานปัจจุบัน:
- โทรวิธีการใหม่ `request.clearSession ()` ล้างตัวแปรเซสชั่นทั้งหมดหลังจากคำขอปัจจุบัน.
- อ่านชื่อไฟล์สำหรับองค์ประกอบ multibinary เลือกจากไฟล์โดยใช้ -i ตัวเลือกใน ecppc:
- ส่วนประกอบ Multibinary มีการเก็บไฟล์แบบคงที่ซึ่งจะรวบรวมเป็นองค์ประกอบ tntnet เดียว ซึ่งจะช่วยประหยัดค่าใช้จ่ายเนื่องจากแต่ละองค์ประกอบความต้องการโค้ดบางส่วนซึ่งทำให้มัน callable เนื่องจากรายชื่อของไฟล์แบบคงที่ใช้ในโปรแกรมเว็บอาจจะยาวมากก็มักจะเป็นที่สะดวกในการรักษารายชื่อในแฟ้มต่างหาก นอกจากนี้ยังมีรายชื่อยาวมากอาจขยายระยะเวลาสูงสุดที่อนุญาตของคำสั่งเชลล์ ตอนนี้ `ecppc` สามารถอ่านรายชื่อจากแฟ้มที่จะแก้ปัญหาที่.
- ข้อโต้แย้งในการทำแผนที่ url มีในขณะนี้ชื่อ:
- เมื่อการทำแผนที่การร้องขอไปยังส่วนข้อโต้แย้งสามารถส่งผ่านจากการกำหนดค่าส่วนประกอบ ก่อนหน้านี้มันเป็นเพียงรายการของค่า ตอนนี้ค่ามีชื่อซึ่งจะทำให้การจัดการง่ายขึ้นและอ่านได้มากขึ้น.
- อนุญาตให้ distinquishing ระหว่าง GET และข้อโต้แย้ง POST:
- Ecpp ช่วยให้พารามิเตอร์ที่กำหนดโดยใช้ `` แท็ก Tntnet ผ่านที่นี่ทุกคนได้รับและพารามิเตอร์ POST สำหรับนักพัฒนามันเป็นเรื่องยากที่จะหาออกถ้าได้ผ่านการขัดแย้งผ่าน GET หรือ POST ตอนนี้ข้อโต้แย้งสามารถกำหนดใน `` `` หรือส่วนที่จะได้รับเพียง GET หรือ POST พารามิเตอร์.
- แก้ไขข้อผิดพลาดและการเพิ่มประสิทธิภาพ:
- บาง bugfixes เล็กน้อยและเพิ่มประสิทธิภาพจะทำใน tntnet.
มีอะไรใหม่ ในรุ่น 2.1:
- การปรับปรุงเวลาของมัน ข่าวเหล่านี้เป็นผลมาจาก 2 ปีของการพัฒนา whith การปรับปรุงหลายอย่าง.
- ข่าวประชาสัมพันธ์ฉบับนี้เพิ่ม JSON และ jsonrpc เพื่อ cxxtools เช่นเดียวกับเซิร์ฟเวอร์ RPC ไบนารีรวดเร็วและลูกค้า ทั้งสองจะอยู่บนพื้นฐานของกรอบเป็นอันดับที่ดีขึ้นของ cxxtools.
- JSON และรูปแบบไบนารีสามารถใช้เป็นรูปแบบการจัดเก็บข้อมูล นอกจากนี้ยังเป็นอันดับและ deserialization ของ CSV เป็นไปได้.
- สตริง Unicode เป็นความเชี่ยวชาญของมาตรฐาน :: basic_string ได้เขียนสำคัญกับการเพิ่มประสิทธิภาพสตริงสั้น.
- Tntnet ส่วนใหญ่มีการปรับปรุงขนาดเล็กจำนวนมาก, การปฏิบัติตามมาตรฐานที่ดีขึ้นและประสิทธิภาพการทำงานที่สูงขึ้นเล็กน้อย.
- Tntdb ได้ขับรถจำลองซึ่งเป็นความสามารถในการทำซ้ำข้อมูลระหว่างฐานข้อมูลโดยการสนับสนุนฐานข้อมูล ระดับทศนิยมถูกเขียนใหม่และได้ unittests RowReader ระดับใหม่ทำให้โค้ดอ่านได้มากขึ้นเมื่อหลายคอลัมน์จะอ่านจากแถวผล BlobStream คลาสใหม่ใช้มาตรฐาน :: อินเตอร์เฟซ istream เพื่อ blobs.
มีอะไรใหม่ ในรุ่น 2.0:
- หลังจากใช้เวลานานกว่า 2 ปีใหม่โดยไม่ต้องเผยแพร่มั่นคงมันเป็นเวลาที่ สำหรับการปรับปรุง Cxxtools มีการปรับปรุงอย่างมากร้อนและการปรับปรุงคุณสมบัติเช่น xmlrpc สัญญาณกรอบสล็อต anynchronous I / O และอื่น ๆ .
- โดยนัยนี้การเปลี่ยนแปลงบางอย่าง API ยังคงส่วนใหญ่ของรหัสที่มีอยู่ควรจะทำงาน Tntnet และ tntdb จำเป็นต้องเปลี่ยนแปลงบางอย่างสำหรับการนี้เพื่อให้ tntnet ใหม่และรุ่น tntdb ต้อง cxxtools 2.0.
- Tntnet ได้มีคุณสมบัติขนาดเล็กจำนวนมากและการเพิ่มประสิทธิภาพ โชคดีที่ไม่มีความจำเป็นมากสำหรับการเปลี่ยนแปลง API การใช้งานเกือบควรจะทำงานออกจากกล่องโดย recompiling.
- Tntdb มีการปรับปรุงคุณลักษณะบางอย่าง ที่สำคัญที่สุดคืออาจจะสนับสนุนค่าเพิ่มขึ้นอัตโนมัติโดยใช้ tntdb วิธีการเชื่อมต่อ :: :: lastInsertId (มาตรฐาน :: สตริง) และการสนับสนุนสำหรับผู้ใช้กำหนดประเภทโดยผู้ประกอบการบรรทุกเกินพิกัด 2.
มีอะไรใหม่ ในรุ่น 1.6.99:
- Tntnet ได้มีบางแก้ไขข้อผิดพลาดและมีการปรับ การเปลี่ยนแปลง API ใน cxxtools (ซึ่งมีขนาดเล็กมาก).
ความคิดเห็นที่ไม่พบ