ರೆಡ್‌ಬೀನ್ 2.0 ಯುನಿವರ್ಸಲ್ ಎಕ್ಸಿಕ್ಯೂಟಬಲ್ ZIP ಆರ್ಕೈವ್‌ನಲ್ಲಿ ಪ್ಯಾಕ್ ಮಾಡಲಾದ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ವೇದಿಕೆಯಾಗಿದೆ

Redbean 2.0 ಪ್ರಾಜೆಕ್ಟ್‌ನ ಬಿಡುಗಡೆಯನ್ನು ಪ್ರಸ್ತುತಪಡಿಸಲಾಗಿದೆ, ಇದು ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಸಾರ್ವತ್ರಿಕ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್‌ನ ರೂಪದಲ್ಲಿ ತಲುಪಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುವ ವೆಬ್ ಸರ್ವರ್ ಅನ್ನು ನೀಡುತ್ತದೆ ಅದು Linux, Windows, MacOS, FreeBSD, NetBSD ಮತ್ತು OpenBSD ಗಳಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು. ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ ಮತ್ತು ಸರ್ವರ್‌ಗೆ ಸಂಬಂಧಿಸಿದ ಎಲ್ಲಾ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಒಂದೇ ಎಕ್ಸಿಕ್ಯೂಟಬಲ್ ಫೈಲ್‌ಗೆ ಸಂಕಲಿಸಲಾಗಿದೆ, ಇದು ZIP ಆರ್ಕೈವ್ ಸ್ವರೂಪದೊಂದಿಗೆ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಹೆಚ್ಚುವರಿ ಫೈಲ್‌ಗಳನ್ನು ಸೇರಿಸಲು ಜಿಪ್ ಉಪಯುಕ್ತತೆಯನ್ನು ಬಳಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್ ಹೆಡರ್‌ಗಳನ್ನು ಮ್ಯಾನಿಪುಲೇಟ್ ಮಾಡುವ ಮೂಲಕ ಮತ್ತು ಮಲ್ಟಿ-ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಸ್ಟ್ಯಾಂಡರ್ಡ್ C ಲೈಬ್ರರಿ ಕಾಸ್ಮೋಪಾಲಿಟನ್‌ನೊಂದಿಗೆ ಲಿಂಕ್ ಮಾಡುವ ಮೂಲಕ ವಿಭಿನ್ನ OS ಗಳಲ್ಲಿ ಒಂದು ಫೈಲ್ ಅನ್ನು ರನ್ ಮಾಡುವ ಮತ್ತು ಅದನ್ನು ZIP ಆರ್ಕೈವ್ ಎಂದು ಗುರುತಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಸಾಧಿಸಲಾಗುತ್ತದೆ. ಪ್ರಾಜೆಕ್ಟ್ ಕೋಡ್ ಅನ್ನು ISC ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ.

ಅಂತರ್ನಿರ್ಮಿತ ವೆಬ್ ಸರ್ವರ್‌ನೊಂದಿಗೆ ಒಂದು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್ "redbean.com" ಅನ್ನು ಪೂರೈಸುವುದು ಯೋಜನೆಯ ಕಲ್ಪನೆಯಾಗಿದೆ. ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ ಡೆವಲಪರ್ ಈ ಫೈಲ್‌ಗೆ HTML ಮತ್ತು Lua ಫೈಲ್‌ಗಳನ್ನು ಸೇರಿಸಲು ಜಿಪ್ ಸೌಲಭ್ಯವನ್ನು ಬಳಸಬಹುದು ಮತ್ತು ಎಲ್ಲಾ ಜನಪ್ರಿಯ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಮತ್ತು ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ಚಲಾಯಿಸಲು ಪ್ರತ್ಯೇಕ ವೆಬ್ ಸರ್ವರ್ ಅಗತ್ಯವಿಲ್ಲದ ಸ್ವಯಂ-ಒಳಗೊಂಡಿರುವ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಪಡೆಯಬಹುದು.

ಪರಿಣಾಮವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿದ ನಂತರ, ಫೈಲ್‌ನಲ್ಲಿ ಉಳಿಸಲಾದ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಪ್ರವೇಶಿಸಲು ಅಂತರ್ನಿರ್ಮಿತ ವೆಬ್ ಸರ್ವರ್ ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಹ್ಯಾಂಡ್ಲರ್ ಅನ್ನು ಲೋಕಲ್ ಹೋಸ್ಟ್‌ಗೆ ಲಗತ್ತಿಸಲಾಗಿದೆ, ಆದರೆ ಸರ್ವರ್ ಅನ್ನು ಸಾಮಾನ್ಯ ಸಾರ್ವಜನಿಕ ವೆಬ್ ಸರ್ವರ್ ಆಗಿಯೂ ಬಳಸಬಹುದು (ಉದಾಹರಣೆಗೆ, ಈ ಸರ್ವರ್ ಪ್ರಾಜೆಕ್ಟ್ ವೆಬ್‌ಸೈಟ್‌ಗೆ ಸೇವೆ ಸಲ್ಲಿಸುತ್ತದೆ). ಅಂತರ್ನಿರ್ಮಿತ ವೆಬ್ ಸರ್ವರ್ HTTPS ಪ್ರವೇಶವನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ ಮತ್ತು ಸ್ಯಾಂಡ್‌ಬಾಕ್ಸ್ ಪ್ರತ್ಯೇಕತೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು, ಇದು ಯಾವ ಸಿಸ್ಟಮ್ ಇಂಟರ್ಫೇಸ್‌ಗಳನ್ನು ಪ್ರವೇಶಿಸಬಹುದು ಎಂಬುದನ್ನು ನಿಯಂತ್ರಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಅದರ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯ ಸಮಯದಲ್ಲಿ ಸರ್ವರ್‌ನ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ನಿಯಂತ್ರಿಸಲು, ಸಂವಾದಾತ್ಮಕ REPL ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಒದಗಿಸಲಾಗಿದೆ (ಲುವಾ REPL ಮತ್ತು ಬೆಸ್ಟ್‌ಲೈನ್ ಲೈಬ್ರರಿ, GNU ರೀಡ್‌ಲೈನ್‌ನ ಅನಲಾಗ್ ಆಧರಿಸಿ), ಇದು ಪ್ರಕ್ರಿಯೆಯ ಸ್ಥಿತಿಯನ್ನು ಸಂವಾದಾತ್ಮಕವಾಗಿ ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ.

ಸಾಮಾನ್ಯ PC ಯಲ್ಲಿ ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ ಮಿಲಿಯನ್‌ಗಿಂತಲೂ ಹೆಚ್ಚಿನ ವಿನಂತಿಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ವೆಬ್ ಸರ್ವರ್ ಸಮರ್ಥವಾಗಿದೆ ಎಂದು ಹೇಳಲಾಗುತ್ತದೆ, ಇದು gzip-ಸಂಕುಚಿತ ವಿಷಯವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಜಿಪ್ ಮತ್ತು ಜಿಜಿಪ್ ಸಾಮಾನ್ಯ ಸ್ವರೂಪವನ್ನು ಬಳಸುವುದು ಕಾರ್ಯಕ್ಷಮತೆಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ, ಆದ್ದರಿಂದ ಜಿಪ್ ಫೈಲ್‌ನಲ್ಲಿ ಈಗಾಗಲೇ ಸಂಕುಚಿತ ಪ್ರದೇಶಗಳಿಂದ ಡೇಟಾವನ್ನು ಮರುಪ್ಯಾಕ್ ಮಾಡದೆಯೇ ನೀಡಲಾಗುತ್ತದೆ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ಎಕ್ಸಿಕ್ಯೂಟಬಲ್ ಅನ್ನು ಸ್ಟ್ಯಾಟಿಕ್ ಲಿಂಕ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ರಚಿಸಲಾಗಿದೆ ಮತ್ತು ಗಾತ್ರದಲ್ಲಿ ಚಿಕ್ಕದಾಗಿದೆ, ಅದರ ಮೇಲೆ ಫೋರ್ಕ್ ಅನ್ನು ಕರೆಯುವುದು ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ಮೆಮೊರಿ ಓವರ್ಹೆಡ್ ಅನ್ನು ಪರಿಚಯಿಸುತ್ತದೆ.

ಸ್ಟ್ಯಾಟಿಕ್ ವೆಬ್ ವಿಷಯವನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವುದರ ಜೊತೆಗೆ ಮತ್ತು ಬ್ರೌಸರ್‌ನಲ್ಲಿ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದರ ಜೊತೆಗೆ, ಲುವಾ, ಫುಲ್‌ಮೂನ್ ವೆಬ್ ಫ್ರೇಮ್‌ವರ್ಕ್ ಮತ್ತು SQLite DBMS ನಲ್ಲಿನ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ನ ತರ್ಕವನ್ನು ವಿಸ್ತರಿಸಬಹುದು. ಹೆಚ್ಚುವರಿ ವೈಶಿಷ್ಟ್ಯಗಳೆಂದರೆ argon2 ಪಾಸ್‌ವರ್ಡ್ ಹ್ಯಾಶಿಂಗ್ ಸ್ಕೀಮ್‌ಗೆ ಬೆಂಬಲ, ಮ್ಯಾಕ್ಸ್‌ಮೈಂಡ್ ಡೇಟಾಬೇಸ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು IP ಪ್ರದೇಶವನ್ನು ನಿರ್ಧರಿಸುವ ಸಾಮರ್ಥ್ಯ ಮತ್ತು ಕಾಸ್ಮೋಪಾಲಿಟನ್ ಲೈಬ್ರರಿಯ Unix API ಗೆ ಪ್ರವೇಶ. ವೆಬ್ ಸರ್ವರ್, MbedTLS, ಕಾಸ್ಮೋಪಾಲಿಟನ್, ಲುವಾ ಮತ್ತು SQLite ಅನ್ನು ಒಳಗೊಂಡಿರುವ ಮೂಲ ಸ್ಟಾಕ್‌ನ ಗಾತ್ರವು ಕೇವಲ 1.9 MB ಆಗಿದೆ.

ಒಂದು ಫೈಲ್‌ನಲ್ಲಿ ವಿಭಿನ್ನ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ಗಳಿಗೆ (PE, ELF, MACHO, OPENBSD, ZIP) ನಿರ್ದಿಷ್ಟವಾದ ವಿಭಾಗಗಳು ಮತ್ತು ಹೆಡರ್‌ಗಳನ್ನು ಸಂಯೋಜಿಸುವ ಮೂಲಕ ಸಾರ್ವತ್ರಿಕ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್ ಅನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ. ಒಂದೇ ಎಕ್ಸಿಕ್ಯೂಟಬಲ್ ಫೈಲ್ ವಿಂಡೋಸ್ ಮತ್ತು ಯುನಿಕ್ಸ್ ಸಿಸ್ಟಂಗಳಲ್ಲಿ ರನ್ ಆಗುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು, ಥಾಂಪ್ಸನ್ ಶೆಲ್ "#!" ಸ್ಕ್ರಿಪ್ಟ್ ಮಾರ್ಕರ್ ಅನ್ನು ಬಳಸುವುದಿಲ್ಲ ಎಂಬ ಅಂಶದ ಲಾಭವನ್ನು ಪಡೆದುಕೊಳ್ಳುವ ಮೂಲಕ ವಿಂಡೋಸ್ ಪಿಇ ಫೈಲ್‌ಗಳನ್ನು ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್ ಆಗಿ ಎನ್ಕೋಡ್ ಮಾಡುವುದು ಒಂದು ಟ್ರಿಕ್ ಆಗಿದೆ. ಫಲಿತಾಂಶವು ಲಿನಕ್ಸ್, ಬಿಎಸ್‌ಡಿ, ವಿಂಡೋಸ್ ಮತ್ತು ಮ್ಯಾಕೋಸ್‌ನಲ್ಲಿ ಬಳಸಲಾದ ಹಲವಾರು ವಿಭಿನ್ನ ಸ್ವರೂಪಗಳನ್ನು ಸಂಯೋಜಿಸುವ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್ ಆಗಿದೆ. $ curl https://redbean.dev/redbean-demo-2.0.7.com >redbean.com $ chmod +x redbean.com $ zip redbean.com hello.html $ zip redbean.com hello.lua $ ./redbean .com -vv I2022-06-23T08:27:14+000767:redbean] (srvr) ಆಲಿಸಿ http://127.0.0.1:8080 >: ಆಜ್ಞೆಗಾಗಿ ಕಾಯುತ್ತಿದೆ… $ curl https://127.0.0.1:8080/hello .html ಹಲೋ $ printf 'GET /hello.lua\n\n' | nc 127.0.0.1 8080 ಹಲೋ



ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ