ObjectScript एक नया,
ओपन सोर्स, ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज है। ObjectScript जावास्क्रिप्ट, लुआ, रूबी, पायथन, और PHP जैसी भाषाओं की क्षमताओं का विस्तार करता है। आप
इस लेख में भाषा वाक्य रचना पढ़ सकते हैं।
हाल ही में, वर्चुअल मशीन के प्रदर्शन में काफी वृद्धि हुई है, कर्नेल और विनिर्देश को स्थिर किया गया है, अपवादों के लिए समर्थन (कोशिश, पकड़, फेंक) भाषा में जोड़ा गया है,
ओएस 1.0 भाषा रिलीज़ जारी की गई है, प्रलेखन तैयार किया जा रहा है, और परियोजना की खुली साइट तैयार की जा रही है।
ओएस पर पहला वेबपेज
हमारी साइट के मूल में एक
index.osh दस्तावेज़ बनाएं:
<!doctype html> <html> <head> <title>OS-FCGI FastCGI demo</title> </head> <body> <h1>Hello world!</h1> <h2>ObjectScript FastCGI demo</h2> <p> <% echo " ! <br />" var num = 20 var r = {|a| a <= 1 ? 1 : a*_F(a-1)}(num) printf("factorial of %v = %v", num, r) %> </p> </body> </html>
वेब विकास के लिए एक नई भाषा के रूप में ऑब्जेक्टस्क्रिप्ट
वेब विकास उद्देश्यों के लिए, भाषा पार्सर में निम्नलिखित विशेषताएं जोड़ी गई हैं:
1.
UTF-8 BOM की स्वचालित पहचान - ये UTF-8 में एनकोड किए गए दस्तावेज़ की शुरुआत में तीन अदृश्य सर्विस बाइट्स (EF BB BF) हैं। यदि BOM मौजूद है, तो इसे आउटपुट स्ट्रीम पर नहीं भेजा जाएगा (BOM भेजने में समस्या, उदाहरण के लिए, PHP की स्क्रिप्ट्स में, जो HTTP हेडर भेजने में ब्लॉक होती है)।
2. जोड़े गए टैग
<% ... %>
और
<%= ... %>
3. ओएस अपने दो फ़ाइल एक्सटेंशन के साथ काम करता है:
ओएस और
ओश ।
ओएस एक्सटेंशन का उपयोग करते समय, फ़ाइल की शुरुआत में पार्सर ऑब्जेक्टस्क्रिप्ट स्क्रिप्ट मान्यता मोड को सक्रिय करता है, अर्थात। यह एक नियमित ओएस स्क्रिप्ट है।
ओश का उपयोग करते
समय (विशेष रूप से वेब विकास के लिए डिज़ाइन किया गया), फ़ाइल आउटपुट सामग्री (यानी जो आउटपुट में भेजी जाती है) से शुरू होती है। स्क्रिप्टिंग मोड में जाने के लिए,
<%
या
<%=
टैग का उपयोग करें। आउटपुट सामग्री मोड पर वापस जाने के लिए, आपको
%>
टैग का उपयोग करना होगा।
<%=
टैग इसके बाद अगला मान प्रदर्शित करता है, उदाहरण के लिए,
<%=value%>
या
<%=sprintf("%.2f", num)%>
।
आप html और htm एक्सटेंशन का भी उपयोग कर सकते हैं, जो osh के समान ही प्रोसेस किए जाते हैं। सिंटैक्स हाइलाइटिंग के साथ html संपादकों का उपयोग करते समय यह उपयोगी हो सकता है। ओएस सिंटैक्स हाइलाइटिंग के लिए, जावास्क्रिप्ट सिंटैक्स हाइलाइटिंग नियम सबसे उपयुक्त हैं।
वेब से ObjectScript कनेक्ट करने वाली तकनीक
स्क्रिप्टिंग भाषाओं को वेब से कनेक्ट करने के कई तरीके हैं, उदाहरण के लिए: आपका अपना वेब सर्वर, अपाचे मॉड्यूल, फ़्यूज़न पैसेंजर, फास्टगि, आदि। प्रत्येक विधि के अपने पेशेवरों और विपक्ष हैं।
उच्च भार वाली साइटों के लिए, उदाहरण के लिए, PHP, nginx + php-fpm (fastcgi) बंडल को अच्छी तरह से जाना जाता है। नग्नेक्स अपने आप में एक अच्छा उत्पाद है और इसने खुद को उत्कृष्ट साबित कर दिया है, यह स्टेटिक (चित्र, सीएसएस, इत्यादि), और स्क्रिप्ट निष्पादन को रीडायरेक्ट करता है, जो फास्टपीसी प्रोटोकॉल का उपयोग करके php-fpm को पुनर्निर्देशित करता है। यह समाधान उच्च स्थिरता और तेजी से क्वेरी प्रसंस्करण प्रदान करता है। इसके अलावा, Fastcgi को Apache और अन्य वेब सर्वर से जोड़ा जा सकता है।
सी ++ में फास्कॉगी प्रोटोकॉल के कार्यान्वयन के रूप में, क्रॉस-प्लेटफ़ॉर्म
फास्टकेगी लाइब्रेरी को चुना गया था, जिसका उपयोग करके ओएस-एफसीजीआई विकसित किया गया था।
OS-FCGI ऑब्जेक्टस्क्रिप्ट का उपयोग करके विकासशील साइटों के लिए एक FastCGI प्रोटोकॉल-आधारित सेवा है।
स्रोत से लिनक्स के तहत OS-FCGI स्थापित करें
1. क्लोन रिपॉजिटरी
https://github.com/unitpoint/os-fcgi git clone https:
2. निम्नलिखित कमांड को
रूट से चलाएँ:
cd ./os-fcgi/ mkdir build && cd build cmake -DCMAKE_INSTALL_PREFIX=/ .. make make install service os-fcgi restart
Os-fcgi सेवा 8-स्ट्रीम मोड में काम करेगी और फास्टकेगी अनुरोधों को संसाधित करने के लिए पोर्ट 9000 पर सुनेगी।
OS-FCGI को NGINX और APACHE से कैसे जोड़ा जाए
OS-FCGI सेवा को NGINX से जोड़ने के लिए एक बुनियादी विन्यास फ़ाइल का एक उदाहरण:
server { listen 80; server_name mydomain.com www.mydomain.com; root /home/myuser/mydomain.com/www; error_log /var/log/nginx/error.mydomain.com.log; access_log off; location ~ /\.ht { deny all; } location ~ /\.git { deny all; } location / { try_files $uri $uri/ /index.osh /index.os; } location ~* \.(jpg|jpeg|png|gif|swf|flv|mp4|mov|avi|wmv|m4v|mkv|ico|js|css|txt)$ { access_log off; expires 7d; } charset utf-8; location ~ ^.+\.osh? { fastcgi_split_path_info ^(.+\.osh?)(.*)$; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.osh; include fastcgi_params; fastcgi_intercept_errors on; fastcgi_ignore_client_abort on; fastcgi_read_timeout 360; } }
OS-FCGI सेवा को APACHE से जोड़ने के लिए एक बुनियादी विन्यास फ़ाइल का एक उदाहरण:
<VirtualHost mydomain.com:80> ServerAdmin webmaster@mydomain.com DocumentRoot "/home/myuser/mydomain.com/www" ServerName mydomain.com FastCgiExternalServer "/home/myuser/mydomain.com/www" -host 127.0.0.1:9000 <Directory "/home/myuser/mydomain.com/www"> # SetHandler fastcgi-script AddHandler fastcgi-script .osh AddHandler fastcgi-script .os Options Indexes FollowSymLinks MultiViews ExecCGI AllowOverride all Order Deny,Allow Deny from all Allow from 127.0.0.1 </Directory> </VirtualHost>
विंडोज़ पर OS-FCGI का परीक्षण
विंडोज के तहत ओएस पर वेब प्रोग्रामिंग का परीक्षण करने के लिए, आपको आवश्यकता है:
1.
github.com/unitpoint/os-fcgi पर OS-FCGI प्रोजेक्ट रिपॉजिटरी को क्लोन करें
2. Visual Studio में os-fcgi \ win32 \ os-fcgi.sln समाधान खोलें
3. win32 या x64 कॉन्फ़िगरेशन का चयन करें, ओएस-एफसीजी प्रोजेक्ट को संकलित करें और चलाएं
4. Fastcgi के माध्यम से अनुरोधों को संसाधित करने के लिए वेब सर्वर को कॉन्फ़िगर करें
ओएस-एफसीजी शुरू करने के बाद, यह सिंगल-थ्रेडेड मोड में पोर्ट 9000 पर फास्टैगी प्रोटोकॉल का उपयोग करके अनुरोधों को संसाधित करने के लिए पूरी तरह से तैयार होगा। नोट: linux platform के तहत os-fcgi को एक सेवा के रूप में कार्यान्वित किया जाता है और 8-स्ट्रीम मोड में काम करता है।
डेनवर के तहत OS-FCGI का उपयोग करना
विंडोज के तहत ओएस पर एक वेब एप्लिकेशन को जल्दी से लॉन्च करने के लिए, आप
डेनवर सॉफ्टवेयर पैकेज का उपयोग कर सकते हैं।
निम्न सामग्री के साथ एक कॉन्फ़िगरेशन फ़ाइल c: \ WebServers \ usr \ local \ apache \ conf \ extra \ httpd-osfcgi.conf बनाएं:
<VirtualHost osfcgi:80> ServerAdmin webmaster@osfcgi DocumentRoot "c:/Sources/objectscript.org/www" ServerName osfcgi FastCgiExternalServer "c:/Sources/objectscript.org/www" -host 127.0.0.1:9000 <Directory "c:/Sources/objectscript.org/www"> # SetHandler fastcgi-script AddHandler fastcgi-script .osh Options Indexes FollowSymLinks MultiViews ExecCGI AllowOverride all Order Deny,Allow Deny from all Allow from 127.0.0.1 </Directory> </VirtualHost>
नोट: c: \ WebServers डेनवर स्थापित करते समय मानक पथ है, यदि आवश्यक हो, तो आपको इसे अपने पथ से बदलना होगा: c: /Source/objectscript.org/www के बजाय, आपको सही तरीके से परीक्षण स्थल पर निर्दिष्ट करना होगा।
C: \ WebServers \ usr \ local \ apache \ conf \ httpd.conf संपादित करें, आपको वाक्यांश ढूंढने की आवश्यकता है:
यदि आप मैन्युअल रूप से एक वर्चुअल होस्ट बनाना चाहते हैं और कनेक्शन httpd-osfcgi.conf जोड़ना चाहते हैं। किए गए परिवर्तनों के साथ httpd.conf भाग का एक उदाहरण:
# # , . Include conf/extra/httpd-osfcgi.conf
अब आप डेनवर को पुनः आरंभ कर सकते हैं और अपने ब्राउज़र में
ओस्फेगी पता खोल सकते हैं (बस साइट फ़ोल्डर में पहले वर्णित index.osh फ़ाइल को जोड़ना याद रखें)।
आप पूर्ण
ऑब्जेक्टस्क्रिप्ट ..org साइट
रिपॉजिटरी भी डाउनलोड कर सकते हैं (
https://github.com/unitpoint/objectscript.org पर
https://github.com/unitpoint/objectscript.org उदाहरण के लिए,
कोर.ऑस - वेब एप्लिकेशन के लिए एक प्रारंभिक स्क्रिप्ट) , बफ़र्ड आउटपुट, कोड में पहली बार उपयोग करने पर कक्षाओं का स्वचालित लोडिंग, और कई अन्य। एट अल।
टिप्पणियाँ, समीक्षा, सुझावों का स्वागत है। सौभाग्य हैधन्यवाद: सीमेक कॉन्फ़िगरेशन को विकसित करने और लिनक्स के तहत ओएस-एफसीजी सेवा को कॉन्फ़िगर करने के लिए
इगोर बोगोमोलोव ।
ObjectScript के बारे में अन्य प्रासंगिक लेख: