ಸರ್ವರ್-ಸೈಡ್ JavaScript Node.js 13.0 ಬಿಡುಗಡೆ

ಲಭ್ಯವಿದೆ ಬಿಡುಗಡೆ Node.js 13.0,ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್‌ನಲ್ಲಿ ನೆಟ್‌ವರ್ಕ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಚಲಾಯಿಸಲು ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳು. ಅದೇ ಸಮಯದಲ್ಲಿ, Node.js 12.x ನ ಹಿಂದಿನ ಶಾಖೆಯ ಸ್ಥಿರೀಕರಣವು ಪೂರ್ಣಗೊಂಡಿದೆ, ಇದನ್ನು ದೀರ್ಘಾವಧಿಯ ಬೆಂಬಲ ಬಿಡುಗಡೆಗಳ ವರ್ಗಕ್ಕೆ ವರ್ಗಾಯಿಸಲಾಗಿದೆ, ಇದಕ್ಕಾಗಿ ನವೀಕರಣಗಳನ್ನು 4 ವರ್ಷಗಳವರೆಗೆ ಬಿಡುಗಡೆ ಮಾಡಲಾಗುತ್ತದೆ. Node.js 10.0 ನ ಹಿಂದಿನ LTS ಶಾಖೆಗೆ ಬೆಂಬಲವು ಏಪ್ರಿಲ್ 2021 ರವರೆಗೆ ಇರುತ್ತದೆ ಮತ್ತು ಕೊನೆಯ LTS ಶಾಖೆ 8.0 ಗೆ ಜನವರಿ 2020 ರವರೆಗೆ ಬೆಂಬಲ ಇರುತ್ತದೆ.

ಮುಖ್ಯ ಅಭಿವೃದ್ಧಿಗಳು:

  • V8 ಎಂಜಿನ್ ಆವೃತ್ತಿಗೆ ನವೀಕರಿಸಲಾಗಿದೆ 7.8, ಇದು ಹೊಸ ಕಾರ್ಯಕ್ಷಮತೆ ಆಪ್ಟಿಮೈಸೇಶನ್ ತಂತ್ರಗಳನ್ನು ಬಳಸುತ್ತದೆ, ಆಬ್ಜೆಕ್ಟ್ ಡಿಸ್ಟ್ರಕ್ಚರಿಂಗ್ ಅನ್ನು ಸುಧಾರಿಸುತ್ತದೆ, ಮೆಮೊರಿ ಬಳಕೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ ಮತ್ತು WebAssembly ಎಕ್ಸಿಕ್ಯೂಶನ್‌ಗಾಗಿ ತಯಾರಿ ಸಮಯವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ;
  • ಅಂತರರಾಷ್ಟ್ರೀಕರಣ ಮತ್ತು ಲೈಬ್ರರಿ ಆಧಾರಿತ ಯೂನಿಕೋಡ್‌ಗೆ ಸಂಪೂರ್ಣ ಬೆಂಬಲವನ್ನು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ ICU (ಯುನಿಕೋಡ್‌ಗಾಗಿ ಇಂಟರ್ನ್ಯಾಷನಲ್ ಕಾಂಪೊನೆಂಟ್ಸ್), ಇದು ಡೆವಲಪರ್‌ಗಳಿಗೆ ಕೋಡ್ ಬರೆಯಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ ಬೆಂಬಲಿಸುವ ವಿವಿಧ ಭಾಷೆಗಳು ಮತ್ತು ಸ್ಥಳಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಿ. ಪೂರ್ಣ-icu ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಈಗ ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಸ್ಥಾಪಿಸಲಾಗಿದೆ;
  • API ಸ್ಥಿರಗೊಳಿಸಲಾಗಿದೆ ಕಾರ್ಮಿಕರ ಎಳೆಗಳು, ಅವಕಾಶ ನೀಡುತ್ತಿದೆ ಬಹು-ಥ್ರೆಡ್ ಈವೆಂಟ್ ಲೂಪ್‌ಗಳನ್ನು ರಚಿಸಿ. ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯು worker_threads ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಆಧರಿಸಿದೆ, ಇದು JavaScript ಕೋಡ್ ಅನ್ನು ಬಹು ಸಮಾನಾಂತರ ಥ್ರೆಡ್‌ಗಳಲ್ಲಿ ರನ್ ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ವರ್ಕರ್ಸ್ ಥ್ರೆಡ್‌ಗಳ API ಗಾಗಿ ಸ್ಥಿರವಾದ ಬೆಂಬಲವನ್ನು Node.js 12.x ನ LTS ಶಾಖೆಗೆ ಸಹ ಬ್ಯಾಕ್‌ಪೋರ್ಟ್ ಮಾಡಲಾಗಿದೆ;
  • ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳ ಅವಶ್ಯಕತೆಗಳನ್ನು ಹೆಚ್ಚಿಸಲಾಗಿದೆ. ಈಗ ಜೋಡಿಸಲು ಅಗತ್ಯವಿದೆ ಕನಿಷ್ಠ macOS 10.11 (Xcode 10 ಅಗತ್ಯವಿದೆ), AIX 7.2, Ubuntu 16.04, Debian 9, EL 7, Alpine 3.8, Windows 7/2008;
  • ಪೈಥಾನ್ 3 ಗಾಗಿ ಸುಧಾರಿತ ಬೆಂಬಲ. ಸಿಸ್ಟಮ್ ಪೈಥಾನ್ 2 ಮತ್ತು ಪೈಥಾನ್ 3 ಎರಡನ್ನೂ ಹೊಂದಿದ್ದರೆ, ಪೈಥಾನ್ 2 ಅನ್ನು ಇನ್ನೂ ಬಳಸಲಾಗುತ್ತದೆ, ಆದರೆ ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ಪೈಥಾನ್ 3 ಅನ್ನು ಮಾತ್ರ ಸ್ಥಾಪಿಸಿದಾಗ ನಿರ್ಮಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಸೇರಿಸಲಾಗಿದೆ;
  • HTTP ಪಾರ್ಸರ್‌ನ ಹಳೆಯ ಅಳವಡಿಕೆಯನ್ನು (“—http-parser=legacy”) ತೆಗೆದುಹಾಕಲಾಗಿದೆ. ತೆಗೆದುಹಾಕಲಾದ ಅಥವಾ ಅಸಮ್ಮತಿಸಿದ ಕರೆಗಳು ಮತ್ತು ಗುಣಲಕ್ಷಣಗಳು FSWatcher.prototype.start(), ChildProcess._channel, Open() ವಿಧಾನದಲ್ಲಿ ReadStream ಮತ್ತು WriteStream ಆಬ್ಜೆಕ್ಟ್‌ಗಳು, request.connection, response.connection, module.createRequireFromPath();
  • ಅನುಸರಿಸಲಾಗುತ್ತಿದೆ ಅದು ಬದಲಾಯಿತು 13.0.1 ಅನ್ನು ನವೀಕರಿಸಿ, ಇದು ಹಲವಾರು ದೋಷಗಳನ್ನು ತ್ವರಿತವಾಗಿ ಪರಿಹರಿಸಿದೆ. ನಿರ್ದಿಷ್ಟವಾಗಿ, npm 6.12.0 ಬೆಂಬಲವಿಲ್ಲದ ಆವೃತ್ತಿಯನ್ನು ಬಳಸುವ ಬಗ್ಗೆ ಎಚ್ಚರಿಕೆಯನ್ನು ಪ್ರದರ್ಶಿಸುವ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲಾಗಿದೆ.

Node.js ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಅನ್ನು ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಸರ್ವರ್-ಸೈಡ್ ಬೆಂಬಲಕ್ಕಾಗಿ ಮತ್ತು ಸಾಮಾನ್ಯ ಕ್ಲೈಂಟ್ ಮತ್ತು ಸರ್ವರ್ ನೆಟ್‌ವರ್ಕ್ ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ರಚಿಸಲು ಎರಡೂ ಬಳಸಬಹುದು ಎಂಬುದನ್ನು ನಾವು ನೆನಪಿಸಿಕೊಳ್ಳೋಣ. Node.js ಗಾಗಿ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಕಾರ್ಯವನ್ನು ವಿಸ್ತರಿಸಲು, ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಮಾಡ್ಯೂಲ್ಗಳ ಸಂಗ್ರಹ, ಇದರಲ್ಲಿ ನೀವು ಸರ್ವರ್‌ಗಳು ಮತ್ತು ಕ್ಲೈಂಟ್‌ಗಳ ಅನುಷ್ಠಾನದೊಂದಿಗೆ ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಕಾಣಬಹುದು HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, ವಿವಿಧ ವೆಬ್ ಫ್ರೇಮ್‌ವರ್ಕ್‌ಗಳೊಂದಿಗೆ ಏಕೀಕರಣಕ್ಕಾಗಿ ಮಾಡ್ಯೂಲ್‌ಗಳು, WebSocket ಮತ್ತು Ajax ಹ್ಯಾಂಡ್ಲರ್‌ಗಳು, DBMS ಗೆ ಕನೆಕ್ಟರ್‌ಗಳು (MySQL, PostgreSQL, SQLite , MongoDB ), ಟೆಂಪ್ಲೇಟ್ ಎಂಜಿನ್‌ಗಳು, CSS ಇಂಜಿನ್‌ಗಳು, ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಅಲ್ಗಾರಿದಮ್‌ಗಳ ಅಳವಡಿಕೆಗಳು ಮತ್ತು ದೃಢೀಕರಣ ವ್ಯವಸ್ಥೆಗಳು (OAuth), XML ಪಾರ್ಸರ್‌ಗಳು.

ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಸಮಾನಾಂತರ ವಿನಂತಿಗಳನ್ನು ನಿರ್ವಹಿಸಲು, Node.js ನಿರ್ಬಂಧಿಸದ ಈವೆಂಟ್ ಪ್ರಕ್ರಿಯೆ ಮತ್ತು ಕಾಲ್‌ಬ್ಯಾಕ್ ಹ್ಯಾಂಡ್ಲರ್‌ಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುವ ಆಧಾರದ ಮೇಲೆ ಅಸಮಕಾಲಿಕ ಕೋಡ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಮಾದರಿಯನ್ನು ಬಳಸುತ್ತದೆ. ಮಲ್ಟಿಪ್ಲೆಕ್ಸಿಂಗ್ ಸಂಪರ್ಕಗಳಿಗೆ ಬೆಂಬಲಿತ ವಿಧಾನಗಳಲ್ಲಿ epoll, kqueue, /dev/poll, ಮತ್ತು ಆಯ್ಕೆ ಸೇರಿವೆ. ಮಲ್ಟಿಪ್ಲೆಕ್ಸ್ ಸಂಪರ್ಕಗಳಿಗೆ ಗ್ರಂಥಾಲಯವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ ಲಿಬುವ್, ಇದು ಸೂಪರ್ಸ್ಟ್ರಕ್ಚರ್ ಆಗಿದೆ ಲಿಬೆವ್ Unix ಸಿಸ್ಟಮ್‌ಗಳಲ್ಲಿ ಮತ್ತು ವಿಂಡೋಸ್‌ನಲ್ಲಿ IOCP ಮೇಲೆ. ಥ್ರೆಡ್ ಪೂಲ್ ರಚಿಸಲು ಲೈಬ್ರರಿಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ ಲಿಬಿಯೊ, ನಿರ್ಬಂಧಿಸದ ಮೋಡ್‌ನಲ್ಲಿ DNS ಪ್ರಶ್ನೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಸಂಯೋಜಿಸಲಾಗಿದೆ ಸಿ-ಅರೆಗಳು. ನಿರ್ಬಂಧಿಸುವಿಕೆಯನ್ನು ಉಂಟುಮಾಡುವ ಎಲ್ಲಾ ಸಿಸ್ಟಮ್ ಕರೆಗಳನ್ನು ಥ್ರೆಡ್ ಪೂಲ್ನಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ನಂತರ, ಸಿಗ್ನಲ್ ಹ್ಯಾಂಡ್ಲರ್ಗಳಂತೆ, ಹೆಸರಿಸದ ಪೈಪ್ ಮೂಲಕ ತಮ್ಮ ಕೆಲಸದ ಫಲಿತಾಂಶವನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ. ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಕೋಡ್‌ನ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು Google ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ ಎಂಜಿನ್‌ನ ಬಳಕೆಯ ಮೂಲಕ ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲಾಗುತ್ತದೆ V8 (ಇದಲ್ಲದೆ, ಮೈಕ್ರೋಸಾಫ್ಟ್ ಚಕ್ರ-ಕೋರ್ ಎಂಜಿನ್‌ನೊಂದಿಗೆ Node.js ನ ಆವೃತ್ತಿಯನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುತ್ತಿದೆ).

ಅದರ ಮಧ್ಯಭಾಗದಲ್ಲಿ, Node.js ಚೌಕಟ್ಟುಗಳನ್ನು ಹೋಲುತ್ತದೆ ಪರ್ಲ್ ಎನಿ ಈವೆಂಟ್, ರೂಬಿ ಈವೆಂಟ್ ಮೆಷಿನ್, ಹೆಬ್ಬಾವು ಟ್ವಿಸ್ಟೆಡ್ и ಅನುಷ್ಠಾನ Tcl ನಲ್ಲಿ ಈವೆಂಟ್‌ಗಳು, ಆದರೆ Node.js ನಲ್ಲಿನ ಈವೆಂಟ್ ಲೂಪ್ ಅನ್ನು ಡೆವಲಪರ್‌ನಿಂದ ಮರೆಮಾಡಲಾಗಿದೆ ಮತ್ತು ಬ್ರೌಸರ್‌ನಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ ಈವೆಂಟ್ ನಿರ್ವಹಣೆಯನ್ನು ಹೋಲುತ್ತದೆ. node.js ಗಾಗಿ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಬರೆಯುವಾಗ, ಈವೆಂಟ್-ಚಾಲಿತ ಪ್ರೋಗ್ರಾಮಿಂಗ್‌ನ ನಿಶ್ಚಿತಗಳನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳುವುದು ಅವಶ್ಯಕ, ಉದಾಹರಣೆಗೆ, "var result = db.query ("ಆಯ್ಕೆ..");" ಕೆಲಸದ ಪೂರ್ಣಗೊಳ್ಳುವಿಕೆ ಮತ್ತು ಫಲಿತಾಂಶಗಳ ನಂತರದ ಪ್ರಕ್ರಿಯೆಗಾಗಿ ಕಾಯುತ್ತಿರುವಾಗ, Node.js ಅಸಮಕಾಲಿಕ ಮರಣದಂಡನೆಯ ತತ್ವವನ್ನು ಬಳಸುತ್ತದೆ, ಅಂದರೆ. ಕೋಡ್ ಅನ್ನು "db.query("ಆಯ್ಕೆ..", ಫಂಕ್ಷನ್ (ಫಲಿತಾಂಶ) {ಫಲಿತಾಂಶ ಸಂಸ್ಕರಣೆ});" ಆಗಿ ಪರಿವರ್ತಿಸಲಾಗುತ್ತದೆ, ಇದರಲ್ಲಿ ನಿಯಂತ್ರಣವು ತಕ್ಷಣವೇ ಮುಂದಿನ ಕೋಡ್‌ಗೆ ಹಾದುಹೋಗುತ್ತದೆ ಮತ್ತು ಡೇಟಾ ಬಂದಂತೆ ಪ್ರಶ್ನೆಯ ಫಲಿತಾಂಶವನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತದೆ. .

ಮೂಲ: opennet.ru

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