የዴኖ ፕሮጀክት ከNode.js ጋር የሚመሳሰል ደህንነቱ የተጠበቀ የጃቫ ስክሪፕት መድረክን እያዘጋጀ ነው።

ይገኛል የፕሮጀክት መለቀቅ ዴኖ 0.33, በጃቫ ስክሪፕት እና ታይፕ ስክሪፕት ውስጥ ለብቻው የመተግበሪያ ማስፈጸሚያ Node.js የሚመስል መድረክ ያቀርባል ይህም ከአሳሽ ጋር ሳይታሰሩ መተግበሪያዎችን ለማሄድ ለምሳሌ በአገልጋዩ ላይ የሚሰሩ ተቆጣጣሪዎችን መፍጠር። ዴኖ የጃቫ ስክሪፕት ሞተር ይጠቀማል V8በChromium ፕሮጄክት ላይ በመመስረት በ Node.js እና አሳሾች ውስጥ ጥቅም ላይ ይውላል። የፕሮጀክት ኮድ የተሰራጨው በ በ MIT ፈቃድ. ፕሮጀክቱ የሚገነባው ሪያን ዳህል (ራያን ዳህልየ Node.js JavaScript መድረክ ፈጣሪ።

ለጃቫ ስክሪፕት አዲስ የሩጫ ጊዜን ለመፍጠር ከዋና ዋና ግቦች አንዱ ይበልጥ ደህንነቱ የተጠበቀ አካባቢን ማቅረብ ነው። ደህንነትን ለማሻሻል የV8 ሞተር በሩስት ውስጥ ተጽፏል፣ይህም ከዝቅተኛ ደረጃ የማህደረ ትውስታ ማጭበርበር የሚነሱ ብዙ ተጋላጭነቶችን ለምሳሌ ከነጻ መዳረሻ በኋላ፣ ባዶ ጠቋሚዎች እና ቋት መጨናነቅን ያስወግዳል። መድረኩ ጥያቄዎችን በማገድ ሁነታ ለማስኬድ ይጠቅማል እንደዚህ አይነት, በተጨማሪም ዝገት ውስጥ ተጽፏል. ቶኪዮ በክስተት ላይ በተመሰረተ አርክቴክቸር ላይ በመመስረት ከፍተኛ አፈጻጸም ያላቸውን አፕሊኬሽኖች እንድትፈጥር ይፈቅድልሃል፣ ባለብዙ-ክር እና የአውታረ መረብ ጥያቄዎችን ባልተመሳሰል ሁነታ በማካሄድ ላይ።

ዋና ባህሪያት ደኖ፡

  • ደህንነት-ተኮር ነባሪ ውቅር። የፋይል መዳረሻ፣ አውታረ መረብ እና የአካባቢ ተለዋዋጮች መዳረሻ በነባሪነት ተሰናክለዋል እና በግልፅ መንቃት አለባቸው።
  • አብሮ የተሰራ ድጋፍ ከጃቫስክሪፕት በተጨማሪ ለTyScript ቋንቋ;
  • የሩጫ ጊዜ የሚመጣው በነጠላ በራሱ የሚተገበር ፋይል ("deno") ነው። Deno ን በመጠቀም መተግበሪያዎችን ለማሄድ በቂ ነው። ስቀል ለመድረክ አንድ ሊተገበር የሚችል ፋይል ፣ መጠኑ 10 ሜባ ፣ ውጫዊ ጥገኛ የሌለው እና በስርዓቱ ላይ ምንም ልዩ ጭነት የማይፈልግ ፣
  • ፕሮግራሙን ሲጀምሩ, እንዲሁም ሞጁሎችን ለመጫን, URL አድራሻን መጠቀም ይችላሉ. ለምሳሌ የእንኳን ደህና መጡ.js ፕሮግራምን ለማስኬድ “deno https://deno.land/std/examples/welcome.js” የሚለውን ትዕዛዝ መጠቀም ይችላሉ። ኮድ ከውጪ ሃብቶች ይወርዳል እና በአከባቢው ስርዓት ተደብቋል ፣ ግን በራስ-ሰር አይዘመንም (ማዘመን መተግበሪያውን በ “--reload” ባንዲራ በግልፅ ማስኬድ ይፈልጋል)
  • በመተግበሪያዎች ውስጥ በ HTTP በኩል የአውታረ መረብ ጥያቄዎችን በብቃት ማካሄድ፣ መድረኩ ከፍተኛ አፈጻጸም ያላቸውን የአውታረ መረብ መተግበሪያዎች ለመፍጠር የተነደፈ ነው።
  • በዴኖ እና በመደበኛ የድር አሳሽ ውስጥ ሊከናወኑ የሚችሉ ሁለንተናዊ የድር መተግበሪያዎችን የመፍጠር ችሎታ;
  • ከማሄድ ጊዜ በተጨማሪ የዴኖ መድረክ እንደ ጥቅል አስተዳዳሪ ሆኖ ይሰራል እና ሞጁሎችን በዩአርኤል በኮዱ ውስጥ እንዲደርሱበት ይፈቅድልዎታል። ለምሳሌ አንድ ሞጁል ለመጫን በኮዱ ውስጥ "ማስመጣት * ከ "https://deno.land/std/log/mod.ts" እንደ መዝገብ መግለጽ ይችላሉ. በዩአርኤል ከውጫዊ አገልጋዮች የወረዱ ፋይሎች ተደብቀዋል። ከሞዱል ስሪቶች ጋር ማያያዝ የሚወሰነው በዩአርኤል ውስጥ የስሪት ቁጥሮችን በመግለጽ ነው፣ ለምሳሌ፣ “https://unpkg.com/[ኢሜል የተጠበቀ]/dist/liltest.js";
  • መዋቅሩ የተቀናጀ የጥገኝነት ፍተሻ ስርዓት (የ "deno መረጃ" ትዕዛዝ) እና ለኮድ ቅርጸት መገልገያ (deno fmt) ያካትታል.
  • ለመተግበሪያ ገንቢዎች የሚል ሀሳብ አቅርቧል ተጨማሪ የኦዲት እና የተኳኋኝነት ሙከራ ያደረጉ መደበኛ ሞጁሎች ስብስብ;
  • ሁሉም የመተግበሪያ ስክሪፕቶች ወደ አንድ ጃቫስክሪፕት ፋይል ሊጣመሩ ይችላሉ።

ከ Node.js ያሉ ልዩነቶች፡-

  • ዴኖ የ npm ጥቅል አስተዳዳሪን አይጠቀምም።
    እና ከማጠራቀሚያዎች ጋር አልተያያዘም, ሞጁሎች በዩአርኤል ወይም በፋይል መንገድ ይመለሳሉ, እና ሞጁሎቹ እራሳቸው በማንኛውም ድህረ ገጽ ላይ ሊቀመጡ ይችላሉ.

  • Deno ሞጁሎችን ለመወሰን "package.json" አይጠቀምም;
  • የኤፒአይ ልዩነት፣ ሁሉም በዴኖ ውስጥ ያሉ ያልተመሳሰሉ ድርጊቶች ቃል ኪዳንን ይመልሳሉ።
  • ዴኖ ለፋይሎች፣ የአውታረ መረብ እና የአካባቢ ተለዋዋጮች ሁሉንም አስፈላጊ ፍቃዶች ግልጽ ትርጉም ይፈልጋል።
  • ከተቆጣጣሪዎች ጋር ያልተሰጡ ሁሉም ስህተቶች ወደ ማመልከቻው መቋረጥ ይመራሉ;
  • ዴኖ የ ECMAScript ሞጁሉን ስርዓት ይጠቀማል እና ፍላጎት()ን አይደግፍም።

ምንጭ: opennet.ru

አስተያየት ያክሉ