Lëshimi i gjuhës së programimit Julia 1.7

ËshtĂ« publikuar lĂ«shimi i gjuhĂ«s sĂ« programimit Julia 1.7, qĂ« kombinon cilĂ«si tĂ« tilla si performancĂ« e lartĂ«, mbĂ«shtetje pĂ«r tipizimin dinamik dhe mjete tĂ« ndĂ«rtuara pĂ«r programimin paralel. Sintaksa e Julia-s Ă«shtĂ« e ngjashme me MATLAB, duke huazuar disa elemente nga Ruby dhe Lisp. Metoda e manaxhimit tĂ« vargjeve i ngjan Perl.

Veçoritë kyçe të gjuhës:

  • PerformancĂ« e lartĂ«: NjĂ« nga qĂ«llimet kryesore tĂ« projektit Ă«shtĂ« arritja e performancĂ«s afĂ«r programeve nĂ« gjuhĂ«n C. Kompilatori i Julia-s bazohet nĂ« punĂ«t e projektit LLVM dhe gjeneron kod tĂ« efektshĂ«m tĂ« makinĂ«s natyrore pĂ«r shumĂ« platforma tĂ« synuara;
  • MbĂ«shtetje pĂ«r paradigmat tĂ« ndryshme tĂ« programimit, duke pĂ«rfshirĂ« elemente tĂ« programimit objekt-orientuar dhe funksional. Biblioteka standarde ofron gjithashtu funksione pĂ«r hyrje/dalje asinkrone, menaxhimin e proceseve, regjistrimin, profilimin dhe menaxhimin e pakot;
  • Tipizimi dinamik: gjuha nuk kĂ«rkon pĂ«rcaktimin e qartĂ« tĂ« tipave pĂ«r variablat, ngjashĂ«m me gjuhĂ«t e programimit tĂ« skriptimit. MbĂ«shtetet njĂ« mod i ndĂ«rveprueshĂ«m;
  • MundĂ«si opsionale pĂ«r tĂ« specifikuar qartĂ« tipet;
  • Sintaksa, e cila pĂ«rshtatet shkĂ«lqyeshĂ«m pĂ«r llogaritjet numerike, llogaritjet shkencore, sistemet e mĂ«simit tĂ« makinerive dhe vizualizimin e tĂ« dhĂ«nave. MbĂ«shtetje pĂ«r shumĂ« lloje tĂ« tĂ« dhĂ«nave numerike dhe mjete pĂ«r paralelizimin e llogaritjeve.
  • MundĂ«sia pĂ«r tĂ« thirrur drejtpĂ«rdrejt funksionet nga bibliotekat nĂ« gjuhĂ«n C pa shtresa tĂ« tjera.

Mundësitë e reja të gjuhës Julia 1.7:

  • Sintaksa e re pĂ«r krijimin e arra-ve shumĂ«dimensionale. Simbolet e pikĂ«s sĂ« katĂ«rshikimit sĂ« bashku pĂ«rdoren pĂ«r tĂ« ndarĂ« dimensionet e array-t, ndĂ«rsa numri i pikave tĂ« katĂ«rshikimit tregon madhĂ«sinĂ«. PĂ«r shembull, njĂ« pikĂ« katĂ«rshikimi nĂ« '[A; B]' do tĂ« thotĂ« konkatenim nĂ« dimensionin e parĂ« (pĂ«r vertikalisht nĂ« njĂ« array njĂ«dimensionale), dy pika katĂ«rshikimi '[A;; B]' e bĂ«jnĂ« kĂ«tĂ« nĂ« dimensionin e dytĂ« (pĂ«r horizontalisht si njĂ« rresht tĂ« ri tĂ« matricĂ«s), tri pika katĂ«rshikimi ';;;' nĂ« tĂ« tretin, etj.
  • Shenja e prapme (\) nĂ« fund tĂ« njĂ« rreshti brenda literalit tĂ« vargut tani fshin simbolin e kalimit nĂ« rresht dhe hapĂ«sirat. Kjo mund tĂ« pĂ«rdoret pĂ«r tĂ« ndarĂ« rreshta tĂ« gjatĂ« nĂ« disa rreshta kodi pa shtuar simbole shtesĂ«.
  • Shenja e mbrapsht dhe e pjerrĂ«t para njĂ« rreshti tĂ« ri nĂ« literalet e komandave tĂ« konsolĂ«s `cmd \
` tani gjithmonĂ« fshin rreshtin e ri dhe e interpreton sekuencĂ«n si njĂ« literal string tĂ« vazhdueshĂ«m, ndĂ«rsa rezultati mĂ« parĂ« nuk ishte qartĂ« i pĂ«rcaktuar.
  • Shprehja «(; a, b) = x» pĂ«r tĂ« krijuar variablat e veçantĂ« a dhe b nga x. Ky sintaksĂ« Ă«shtĂ« ekuivalente me «a = getproperty(x, :a); b = getproperty(x, :b)».
  • ShumĂ«zimi implicit tani lejohet pĂ«r simbolet e radikove (p.sh., x√y dhe x∛y).
  • OperatorĂ«t logjikĂ« «&&» dhe «||» tani mund tĂ« pĂ«rdoren nĂ« lidhje me elementĂ«t e array-it nĂ« formĂ«n «.&&» dhe «.||».
  • OperatorĂ«t â«Ș(U + 2AEA, \Top, \downvDash) dhe â««(U + 2AEB, \Bot, \upvDash, \indep) tani mund tĂ« pĂ«rdoren si operatorĂ« binarĂ«.
  • Shtuar opsioni «—check-bounds=yes|no|auto» pĂ«r kontrollin e makrove @inbounds me vlerĂ«simin e parazgjedhur auto.

Ndryshimet e gjuhës

  • Generatori i numrave tĂ« rastit, i caktuar si i parazgjedhur, Ă«shtĂ« ndryshuar nga Mersenne Twister nĂ« Xoshiro256++. KĂ«shtu, tĂ« gjithĂ« numrat e rastit do tĂ« jenĂ« tĂ« ndryshĂ«m (edhe nĂ«se pĂ«rdoret i njĂ«jti numĂ«r fillestar), pĂ«rveç nĂ«se pĂ«rdoret njĂ« objekt RNG i qartĂ«. Ky gjenerues ka performancĂ« mĂ« tĂ« mirĂ«, karakteristika tĂ« shkĂ«lqyera statistikore dhe pĂ«rdoret pĂ«r rastĂ«si tĂ« riprodhueshme nĂ« programet me shumĂ« procese (ruan gjendjen pĂ«r çdo detyrĂ« qĂ« ekzekutohet dhe deformon njĂ« gjendje tĂ« veçantĂ« kur krijon njĂ« detyrĂ« tĂ« re).
  • Destrukturimi nuk ndryshon mĂ« vlerat gjatĂ« procesit tĂ« caktimit tĂ« anĂ«s sĂ« majtĂ« kur merret vlera nga ankesa e sĂ« djathtĂ«s. PĂ«r shembull, pĂ«r masĂ«n x, shprehja "x[2], x[1] = x" tani do tĂ« shkĂ«mbejĂ« vendet e elementĂ«ve tĂ« parĂ« dhe tĂ« dytĂ« x, ndĂ«rsa mĂ« parĂ« pĂ«r tĂ« plotĂ«suar tĂ« dyja regjistrat pĂ«rdorej x[1] sepse x[2] ndryshonte gjatĂ« iteracionit tĂ« caktimit tĂ« x.
  • macroexpand, @macroexpand dhe @macroexpand1 tani nuk gjenerojnĂ« mĂ« gabimin LoadError. @test_throws gjithashtu Ă«shtĂ« ndryshuar pĂ«r tĂ« ruajtur funksionimin e testeve tĂ« prekur.
  • Pika e mesme «·» ( \cdotpU + 00b7) dhe interpunkti grek ·(U + 0387) tani trajtohen si ekuivalente tĂ« operatorit tĂ« pikĂ«s «⋅» (\cdotU + 22c5).
  • Shenje e minusit «−» (\minusU + 2212) tani konsiderohet si ekuivalente e shenjĂ«s sĂ« defisit-minusi «-» (U + 002d).
  • Iterators.peel(itr) tani kthen «nothing» kur itr Ă«shtĂ« bosh, dhe nuk hedh mĂ« njĂ« pĂ«rjashtim BoundsError.
  • Disa pika pĂ«rsĂ«ritĂ«se me ndalesa nĂ« shprehjen e array-t mĂ« parĂ« injoroheshin (p.sh., «[1 ;; 2] == [1 ; 2]»). Tani ky sintaks Ă«shtĂ« pĂ«rdorur pĂ«r ndarjen e dimensioneve.
  • DirektivĂ«t e formatimit tĂ« pa balances «#= 
 =#» nĂ« Unicode tani ndalohen nĂ« stringje dhe komentet, pĂ«r tĂ« zvogĂ«luar mundĂ«sinĂ« e injeksioneve tĂ« kodit parse/eval.

Ndryshimet në parametrat e komandës

  • Parametri julia —project dhe variabla e mjedisit JULIA_PROJECT tani mbĂ«shtesin zgjedhjen e mjediseve tĂ« zakonshme. PĂ«r shembull, tani janĂ« ekuivalente me julia —project=@myenv dhe export JULIA_PROJECT=»@myenv».

Ndryshime në shumëprona

  • Funksionet e brendshme pĂ«r operacionet me tregues atomik tani janĂ« tĂ« pĂ«rcaktuara pĂ«r madhĂ«si tĂ« caktuara byte.
  • Shtuar mbĂ«shtetje pĂ«r shpalljen dhe pĂ«rdorimin e fushave tĂ« veçanta pĂ«r mutable struct si atomikĂ«; shihni makron e re @atomic.
  • NĂ«se pĂ«r variablĂ«n e mjedisit JULIA_NUM_THREADS Ă«shtĂ« caktuar vlera «auto», atĂ«herĂ« numri i tytave do tĂ« jetĂ« i barabartĂ« me numrin e tytave tĂ« procesorit.
  • Çdo objekt Task ka njĂ« gjendje lokale tĂ« generatorit tĂ« numrave tĂ« rastit, i cili pĂ«r nga e drejta siguron ekzekutimin e kodit tĂ« simulimit paralel nĂ« mĂ«nyrĂ« reproducibile (tĂ« pavarur nga programi). Generatorja e paracaktuar gjithashtu punon paralelisht ndjeshĂ«m mĂ« shpejt se versionet e mĂ«parshme.
  • TĂ« gjitha detyrat tani mund tĂ« lĂ«vizin midis tytave. MĂ« parĂ«, njĂ« detyrĂ« gjithmonĂ« fillonte nĂ« atĂ« tytĂ« qĂ« e kishte aktivizuar pĂ«r herĂ« tĂ« parĂ«.

Funksionet e reja të bibliotekës

  • Metodat findmax(f, domain), argmax(f, domain) dhe versionet pĂ«rkatĂ«se me «min» me dy argumente janĂ« shtuar.
  • isunordered(x) kthen true, nĂ«se x Ă«shtĂ« njĂ« vlerĂ« qĂ« duhet tĂ« jetĂ« e paordenuar, siç janĂ« NaN ose missing.
  • Funksioni i ri keepat!(vector, inds), i cili Ă«shtĂ« ekuivalenti i vector[inds] i listĂ«s inds tĂ« numrave tĂ« plotĂ«.
  • Metoda lock(f, lck) pĂ«r dy argumente tani pranon Channel si argumentin e dytĂ«.
  • Funktori i ri Returns(value) kthen value pĂ«r çdo argument.
  • MakrotĂ« e reja @something dhe @coalesce, tĂ« cilat janĂ« versionet e diçkaje dhe coalesce, pĂ«rkatĂ«sisht.
  • Funksioni i ri redirect_stdio pĂ«r tĂ« redaktuar stdin, stdout dhe stderr.
  • Makroja e re «Base.@invoke f(arg1::T1, arg2::T2; kwargs
)» siguron njĂ« sintaksĂ« tĂ« thjeshtĂ« pĂ«r thirrjen «invoke(f, Tuple{T1,T2}, arg1, arg2; kwargs
)».
  • Makroja e re «Base.@invokelatest f(args
; kwargs
)» ofron njĂ« mĂ«nyrĂ« tĂ« rehatshme pĂ«r tĂ« thirrur «Base.invokelatest(f, args
; kwargs
)».

Mundësi të reja në bibliotekë

  • TĂ« dhĂ«nat mund tĂ« krijohen me fjalĂ«n kyçe context nĂ« formatin «:key => value», pĂ«r tĂ« specifikuar atributet pĂ«r t'u kaluar nĂ« IOContext.
  • bytes2hex dhe hex2bytes tani nuk kufizohen mĂ« nĂ« argumentet e tipit «Union{String,AbstractVector{UInt8}}» dhe tani kĂ«rkojnĂ« vetĂ«m qĂ« tipet tĂ« jenĂ« sekonda dhe tĂ« kenĂ« njĂ« gjatĂ«si tĂ« matshme.
  • stat(file) tani ka njĂ« metodĂ« show mĂ« tĂ« detajuar dhe tĂ« lehtĂ« pĂ«r t'u pĂ«rdorur.

Ndryshime në bibliotekën eståndar

  • count dhe findall tani pranojnĂ« argumentin AbstractChar pĂ«r tĂ« kĂ«rkuar njĂ« simbol nĂ« string.
  • Metodat e reja range(start, stop) dhe range(start, stop, length).
  • range tani mbĂ«shtet start si argument tĂ« opsionalizuar.
  • Disa operacione me intervalet tani kthejnĂ« StepRangeLen nĂ« vend tĂ« StepRange duke lejuar njĂ« hap zero. MĂ« parĂ« λ .* (1:9) shkaktonte njĂ« gabim kur λ = 0.
  • islowercase dhe isuppercase tani trajtojnĂ« kategoritĂ« Unicode tĂ« regjistrit tĂ« vogĂ«l dhe tĂ« madh.
  • funksionet iseven dhe isodd tani mbĂ«shtesin tipe tĂ« ndryshme nga Integer.
  • escape_string tani pranon njĂ« grup simboresh pĂ«rmes fjalĂ«s kyçe keep, pĂ«r simbolet qĂ« duhet tĂ« mbeten tĂ« paprekura.
  • getindex pĂ«r NamedTuple tani pranon njĂ« tuple simboresh pĂ«r indeksimin e shumĂ« vlerave.
  • NĂ«n-tipat AbstractRange ndjekin sjelljen e zakonshme tĂ« indeksimit tĂ« masivave kur indeksohen Bool, duke shkaktuar gabime pĂ«r skalarĂ«t Bool dhe duke trajtuar masivĂ«t (pĂ«rfshirĂ« ranges) Bool si indekse logjike.
  • keys(::RegexMatch) kthen çelĂ«sat e kapjes sĂ« shprehjeve tĂ« zakonshme sipas emrit, ose sipas indeksit nĂ«se emrat nuk ekzistojnĂ«.
  • keys(::Generator) kthen çelĂ«sat e iteratorit.
  • RegexMatch tani Ă«shtĂ« i iterueshĂ«m, duke nxjerrĂ« nĂ« pah nĂ«nshtresa tĂ« kapura.
  • lpad/rpad janĂ« caktuar pĂ«r textwidth.
  • Test.@test tani pranon tani emĂ«ruar broken dhe skip, tĂ« cilat pĂ«rsĂ«risin sjelljen e Test.@test_broken dhe Test.@test_skip, por lejojnĂ« kalimin e testeve qĂ« dĂ«shtojnĂ« vetĂ«m nĂ« kushte tĂ« caktuara. PĂ«r shembull, nĂ«se T == Float64, mund tĂ« zĂ«vendĂ«sohet @test_broken isequal(complex(one(T)) / complex(T(Inf), T(-Inf)), complex(zero(T), zero(T))) me ndjekĂ«sin @test isequal(complex(one(T)) / complex(T(Inf), T(-Inf)), complex(zero(T), zero(T))). NĂ« fund, mund tĂ« zĂ«vendĂ«sohet me @test isequal(complex(one(T)) / complex(T(Inf), T(-Inf)), complex(zero(T), zero(T))) broken=(T == Float64)
  • @lock tani eksportohet nga Base.
  • Funksioni eksperimental Base.catch_stack() Ă«shtĂ« rinomin pĂ«r tĂ« qenĂ« current_exceptions() dhe tani ka njĂ« tip tĂ« caktuar tĂ« vlerĂ«s sĂ« kthyer.
  • Disa funksione trigonometrike (sind, cosd, tand, asind, acosd, asecd, acscd, acotd, atand) tani pranojnĂ« njĂ« matricĂ« katrore.
  • replace(::String) tani pranon disa pattern-e qĂ« do tĂ« aplikohen nga majtas-drejt nĂ« mĂ«nyrĂ« tĂ« njĂ«kohshme, kĂ«shtu qĂ« njĂ« simbol do tĂ« aplikojĂ« vetĂ«m njĂ« pattern, dhe pattern-et do tĂ« aplikohen vetĂ«m nĂ« tekstin hyrĂ«s, por jo nĂ« zĂ«vendĂ«simet e tyre tĂ« tĂ«rĂ«.
  • Funksioni length pĂ«r intervalet e caktuar tĂ« tipeve nuk kontrollon mĂ« mbivlerĂ«simin e integerave nĂ« shumicĂ«n e rasteve. checked_length Ă«shtĂ« njĂ« funksion i ri qĂ« pĂ«rdor aritmetikĂ«n e verifikuar deri nĂ« pikĂ«n e mbivlerĂ«simit, nĂ«se rezultati mund tĂ« ketĂ« mbivendosje. Ose pĂ«rdorni paketĂ«n SaferIntegers.jl, nĂ«se ka rrezik pĂ«r mbivlerĂ«sim tĂ« intervalit.
  • Metodat e reja replace pĂ«r tĂ« zĂ«vendĂ«suar elementĂ«t nĂ« Tuple.

Menaxheri i paketave

  • NĂ« modalitetin e konsolĂ«s «julia>» pĂ«r paketat qĂ« pĂ«rdorin ose importojnĂ« qĂ« nuk janĂ« instaluar, por janĂ« tĂ« disponueshme nĂ« regjistrin «pkg> add», sugjerohet tĂ« instalohet paketa automatikisht.
  • Manifest.toml pĂ«rdor njĂ« format tĂ« ri me metadatat e reja, duke pĂ«rfshirĂ« versionin e julia qĂ« gjeneroi manifestin. MĂ«nyrat e vjetra tĂ« formatit akoma mbĂ«shteten nĂ« formatin origjinal, deri sa pĂ«rdoruesi tĂ« pĂ«rmbushĂ« Pkg.upgrade_manifest().
  • «pkg> precompile» tani do tĂ« parakompozojĂ« versionet e reja tĂ« paketimeve qĂ« janĂ« tashmĂ« tĂ« ngarkuara, dhe jo t'i shtyjĂ« ato deri nĂ« seancĂ«n tjetĂ«r.
  • «pkg> rm, pin dhe free» tani mbĂ«shtesin argumentin «—all» pĂ«r tĂ« kryer veprimin pĂ«r tĂ« gjitha paketat nĂ« tĂ« njĂ«jtĂ«n kohĂ«.
  • Regjistrat e ngarkuar nga Pkg Server (jo git) nuk janĂ« mĂ« tĂ« shkarkueshme nĂ« skedarĂ«, por lexohen drejtpĂ«rdrejt nga arkivi nĂ« memorie. PĂ«r tĂ« çaktivizuar kĂ«tĂ« funksion, vendosni variablin e mjedisit JULIA_PKG_UNPACK_REGISTRY=true.
  • Tani mund tĂ« pĂ«rdorni njĂ« skedar ekzekutues tĂ« jashtĂ«m git nĂ« vend tĂ« librit libgit2 si parazgjedhje pĂ«r shkarkimet qĂ« ndodhin pĂ«rmes protokollit Git, duke vendosur variablin e mjedisit JULIA_PKG_USE_CLI_GIT=true.
  • Regjistrat e ngarkuar nga server Pkg (jo git) tani konsiderohen tĂ« paprekshĂ«m. Ndryshimet e bĂ«ra manualisht nĂ« skedarĂ«t e tyre mund tĂ« mos pranohen nga seanca e Pkg nĂ« funksion.
  • Shtimi i pakove sipas emrit tĂ« katalogut nĂ« mĂ«nyrĂ«n REPL tani kĂ«rkon tĂ« shtohet «./» nĂ« emrin, nĂ«se paketa ndodhet nĂ« katalogun aktual; pĂ«r shembull, «add ./Package» nĂ« vend tĂ« «add Package». Kjo Ă«shtĂ« bĂ«rĂ« pĂ«r tĂ« evituar konfuzionin midis emrit tĂ« paketĂ«s Package dhe katalogut lokal Package.
  • FjalĂ«n kyçe mode pĂ«r PackageSpec e hequr.

Algebra lineare

  • PĂ«rdorni Libblastrampoline pĂ«r tĂ« lidhur BLAS dhe LAPACK nĂ« kohĂ«n e ekzekutimit. Nga parazgjedhja, OpenBLAS lidhet nĂ« pĂ«rbĂ«rjen e distribucionit Julia. Mekanizmi i ri i lidhjes mund tĂ« pĂ«rdoret pĂ«r tĂ« zĂ«vendĂ«suar BLAS dhe LAPACK me konfigurime tĂ« personalizuara.
  • NĂ« aarch64, OpenBLAS tani pĂ«rdor ILP64 BLAS, ashtu si tĂ« gjitha platformat e tjera 64-bit.
  • OpenBLAS Ă«shtĂ« azhurnuar nĂ« versionin 0.3.13.
  • SuiteSparse Ă«shtĂ« azhurnuar nĂ« versionin 5.8.1.
  • Forma e matricĂ«s UpperHessenberg ruhet gjatĂ« operacioneve tĂ« caktuara aritmetike, pĂ«r shembull, gjatĂ« shumĂ«zimit ose ndarjes me njĂ« matricĂ« UpperTriangular.
  • Faktorizimet reale quasi-triangle tĂ« ShurĂ«s tani mund tĂ« konvertohen nĂ« formĂ«n komplekse tĂ« sipĂ«rme triangulare me shprehjen "Schur{Complex}(S)".
  • cis(A) tani mbĂ«shtet matricat si argumente.
  • dot mbĂ«shtet UniformScaling pĂ«r tipin AbstractMatrix.
  • qr[!] dhe lu[!] tani mbĂ«shtesin vlerat LinearAlgebra.PivotingStrategy tĂ« tipit elementar si njĂ« argument pivot tĂ« opsional: vlerat e parazgjedhura janĂ« qr(A, NoPivot()) krahasuar me qr(A, ColumnNorm()) me pivot dhe lu(A, RowMaximum()) krahasuar me lu(A, NoPivot()) pa pivot. Thirrjet e mĂ«parshme Val{true/false} janĂ« dĂ«mtuar.
  • det(M::AbstractMatrix{BigInt}) thĂ«rret det_bareiss(M), i cili pĂ«rdor algoritmin Bareiss pĂ«r tĂ« llogaritur vlerat e sakta.

REPL

  • Rreshtat e gjatĂ« tani fshihen duke pĂ«rdorur sintaksĂ«n "head" ⋯ 12345 bytes ⋯ "tail" gjatĂ« shfaqjes nĂ« REPL.
  • Ngarkimi i shembujve Repl nga clipboard nĂ« REPL tani mbĂ«shtet tĂ« gjitha reformat Repl (julia, pkg, shell, help?) dhe mĂ«nyra kalon automatikisht.
  • «help?>» pĂ«r modulat pa rreshta dokumentacioni tani kthen njĂ« listĂ« emrash tĂ« eksportuar dhe nxjerr pĂ«rmbajtjen e README.md tĂ« lidhur nĂ«se Ă«shtĂ« gjetur.

SparseArrays

  • Metoda e re sizehint!(::SparseMatrixCSC, ::Integer).
  • cholesky() tani ruan plotĂ«sisht pĂ«rshtatjen e pĂ«rdoruesit tĂ« caktuar.
  • issparse tani aplikohet me konsistencĂ« pĂ«r tĂ« gjithĂ« masat e mbuluara, duke pĂ«rfshirĂ« ato tĂ« shpĂ«rndara, pĂ«rmes verifikimit tĂ« issparse tĂ« masĂ«s prind tĂ« mbulesĂ«s.

Manipulimi i datave

  • Funksioni Dates.periods mund tĂ« pĂ«rdoret pĂ«r tĂ« marrĂ« vlera Vector nga Period nga CompoundPeriod.

Shkarkimet

  • NĂ«se titulli i cookie Ă«shtĂ« vendosur nĂ« kĂ«rkesĂ«n e ridrejtimit, cookie tani do tĂ« dĂ«rgohet nĂ« kĂ«rkesat e mĂ«passhme.
  • NĂ«se skedari ~/.,netrc ekziston, ai pĂ«rdoret si burim fqish pĂ«r faqet e internetit me autentifikim.
  • Indikimi i emrit tĂ« serverit tani kryhet me tĂ« gjitha lidhjet TLS, edhe nĂ«se identiteti i serverit nuk verifikohet (shih NetworkOptions).
  • Kur kontrolloni lidhjet TLS nĂ« Windows, nĂ«se server ShqetĂ«simi i certifikatave nuk Ă«shtĂ« nĂ« dispozicion, lidhja e lejuar; kjo pĂ«rputhet me ato qĂ« bĂ«jnĂ« aplikacione tĂ« tjera dhe si kryhet revokimi nĂ« macOS.
  • Tani ka njĂ« pritje prej 30 sekondash pĂ«r lidhjen dhe 20 sekonda pĂ«r dĂ«rgimin e tĂ« dhĂ«nave. Kjo garanton qĂ« lidhjet janĂ« tĂ« gjalla, pĂ«rndryshe ato do tĂ« çaktivizohen pĂ«r mĂ« pak se njĂ« minutĂ«.

Tar

  • Tar.extract tani injoron modin e saktĂ« tĂ« lejimeve nĂ« tarball dhe normalizon modet njĂ«soj si Tar.create. Kjo Ă«shtĂ« e ngjashme me git.
  • Funksionet qĂ« pĂ«rdorin arkivat tar tani pĂ«rpunojnĂ« lidhjet e forta: qĂ«llimi i lidhjes duhet tĂ« jetĂ« njĂ« skedar i parĂ« i parĂ«; Tar.list rendit njĂ« hyrje me llojin :hardlink dhe fushĂ«n .link qĂ« tregon rrugĂ«n drejt qĂ«llimit; funksione tĂ« tjera — Tar.extract, Tar.rewrite, Tar.tree_hash — kthejnĂ« lidhjen e fortĂ« nĂ« njĂ« kopje tĂ« skedarit tĂ« qĂ«llimit.
  • Formati standard, i krijuar nga Tar.create dhe Tar.rewrite tani pĂ«rfshin hyrje pĂ«r katalogĂ«t e pa tĂ« zbrazĂ«t. Disa mjete qĂ« pĂ«rdorin tarball (pĂ«rfshirĂ« dockern), ngatĂ«rrohen pĂ«r shkak tĂ« mungesĂ«s sĂ« kĂ«tyre hyrjeve nĂ« katalog.
  • Tar tani pranon tarball me hapĂ«sira fillestare nĂ« fushat e titullit tĂ« numrave tĂ« plotĂ« nĂ« oktal: teknisht, ky Ă«shtĂ« njĂ« format i papranueshĂ«m sipas specifikimeve POSIX, por komandat e vjetra tar tĂ« Solaris krijuan kĂ«to arkiva, prandaj ky format vĂ«rtet ndodhet nĂ« natyrĂ« dhe duket se Ă«shtĂ« e pĂ«rshtatshme ta pranojmĂ«.
  • Tar.extract tani pranon argumentin e fjalĂ«s kyçe set_permissions, i cili pĂ«r default Ă«shtĂ« true; nĂ«se false dĂ«rgohet nĂ« vend tĂ« tij, lejet e skedarĂ«ve tĂ« nxjerra nuk ndryshohen gjatĂ« nxjerrjes.

Mmap

  • mmap tani eksportohen dhe janĂ« tĂ« disponueshĂ«m pĂ«r pĂ«rdorim.

DelimitedFiles

  • Readdlm tani pĂ«r default pĂ«rdor use_mmap=false nĂ« tĂ« gjitha sistemet operative pĂ«r tĂ« siguruar qĂ«ndrueshmĂ«ri tĂ« qĂ«ndrueshme nĂ« situatat anormale me sistemin e skedarĂ«ve.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster