جوليا 1.7 پروگرامنگ ٻولي جو رليز

جوليا 1.7 پروگرامنگ ٻولي جو خلاصو شايع ڪيو ويو آهي، اهڙين خاصيتن کي گڏ ڪندي جيئن اعلي ڪارڪردگي، متحرڪ ٽائپنگ لاءِ سپورٽ ۽ متوازي پروگرامنگ لاءِ بلٽ ان ٽولز. جوليا جو نحو MATLAB جي ويجهو آهي، روبي ۽ ليسپ کان ڪجهه عناصر قرض وٺي رهيو آهي. اسٽرنگ مينيپوليشن جو طريقو پرل جي ياد ڏياريندو آهي. پروجيڪٽ ڪوڊ MIT لائسنس تحت ورهايو ويو آهي.

ٻوليءَ جون اهم خاصيتون:

  • اعلي ڪارڪردگي: پروجيڪٽ جي اهم مقصدن مان هڪ سي پروگرامن جي ويجهو ڪارڪردگي حاصل ڪرڻ آهي. جوليا ڪمپيلر LLVM پروجيڪٽ جي ڪم تي ٻڌل آهي ۽ ڪيترن ئي ٽارگيٽ پليٽ فارمن لاءِ موثر اصلي مشين ڪوڊ ٺاهي ٿو.
  • مختلف پروگرامنگ پيراڊمز کي سپورٽ ڪري ٿو، بشمول اعتراض تي مبني ۽ فنڪشنل پروگرامنگ جا عنصر. معياري لائبريري مهيا ڪري ٿي، ٻين شين جي وچ ۾، افعال لاء غير مطابقت رکندڙ I/O، پروسيس ڪنٽرول، لاگنگ، پروفائلنگ، ۽ پيڪيج مينيجمينٽ؛
  • متحرڪ ٽائپنگ: ٻولي کي متغيرن لاءِ قسمن جي واضح تعريف جي ضرورت نه آهي، ساڳي طرح اسڪرپٽنگ پروگرامنگ ٻولين وانگر. انٽرايڪٽو موڊ سپورٽ؛
  • واضح طور تي قسمن جي وضاحت ڪرڻ جي اختياري صلاحيت؛
  • عددي ڪمپيوٽنگ، سائنسي ڪمپيوٽنگ، مشين لرننگ، ۽ ڊيٽا بصري لاءِ نحو مثالي. ڪيترن ئي عددي ڊيٽا جي قسمن لاءِ سپورٽ ۽ حسابن جي برابري لاءِ اوزار.
  • اضافي تہن کان سواءِ C لائبريرين مان افعال کي سڌو سنئون ڪال ڪرڻ جي صلاحيت.

جوليا 1.7 ۾ نوان خاصيتون:

  • گھڻ-جہتي صفون ٺاهڻ لاءِ نئون نحو. صف جي طول و عرض کي الڳ ڪرڻ لاءِ سيمي ڪولن استعمال ڪيا ويندا آهن، جنهن ۾ سيمي ڪولن جو تعداد سائيز کي ظاهر ڪري ٿو. مثال طور، "[A; B]" ۾ هڪ سيمي ڪولن پهرين طول و عرض ۾ ڪنڪٽينيشن کي ظاهر ڪري ٿو (عمودي طور تي هڪ-جہتي صف ۾)، ٻه سيمي ڪولن "[A;; B]" ٻئي طول و عرض ۾ ان کي ظاهر ڪن ٿا (ميٽرڪس ۾ افقي طور تي هڪ نئين قطار جي طور تي)، ٽي سيمي ڪولن ";;;" ٽئين ۾، ۽ انهي طرح.
  • اسٽرنگ لٽرل اندر لائن جي آخر ۾ هڪ بيڪ سليش (\) هاڻي نئين لائن ڪردار ۽ انڊينٽيشن کي هٽائي ٿو. اهو اضافي ڪردار شامل ڪرڻ کان سواءِ ڪوڊ جي ڊگهين لائينن کي ڪيترن ئي لائينن ۾ ورهائڻ لاءِ استعمال ڪري سگهجي ٿو.
  • ڪنسول ڪمانڊ لٽرلز `cmd \…` ۾ نئين لائن کان اڳ هڪ بيڪ سليش هاڻي هميشه نئين لائن کي هٽائي ٿو ۽ تسلسل کي هڪ مسلسل اسٽرنگ لٽرل طور تي تشريح ڪري ٿو، جڏهن ته نتيجو اڳ ۾ غير متعين ڪيو ويو هو.
  • "(; a, b) = x" جو اظهار a ۽ b کي x کان الڳ الڳ متغير ٺاهڻ لاءِ. هي نحو "a = getproperty(x, :a); b = getproperty(x, :b)" جي برابر آهي.
  • بنيادي علامتن (مثال طور x√y ۽ x∛y) لاءِ هاڻي ضمني ضرب جي اجازت آهي.
  • منطقي آپريٽر "&&" ۽ "||" هاڻي ".&&" ۽ "||" جي صورت ۾ صف جي عنصرن تي استعمال ڪري سگھجن ٿا.
  • آپريٽرز ⫪(U + 2AEA, \Top, \downvDash) ۽ ​​⫫(U + 2AEB, \Bot, \upvDash, \indep) هاڻي بائنري آپريٽرز طور استعمال ڪري سگھجن ٿا.
  • ڊفالٽ ويليو آٽو سان @inbounds ميڪروز کي ڪنٽرول ڪرڻ لاءِ "--check-bounds=yes|no|auto" آپشن شامل ڪيو ويو.

ٻولي تبديليون

  • ڊفالٽ سيوڊو-رينڊم نمبر جنريٽر کي مرسين ٽوئسٽر کان Xoshiro256++ ۾ تبديل ڪيو ويو آهي، تنهن ڪري سڀئي بي ترتيب نمبر مختلف هوندا (ساڳئي ٻج سان به) جيستائين هڪ واضح RNG اعتراض استعمال نه ڪيو وڃي. نئين جنريٽر ۾ بهتر ڪارڪردگي، اعليٰ شمارياتي خاصيتون آهن، ۽ ملٽي ٿريڊ پروگرامن ۾ ٻيهر پيدا ٿيندڙ بي ترتيبي لاءِ استعمال ڪيو ويندو آهي (اهو هر هلندڙ ڪم لاءِ حالت برقرار رکي ٿو ۽ نئون ڪم ٺاهڻ وقت هڪ الڳ حالت کي فورڪ ڪري ٿو).
  • ڊسٽرڪٽنگ هاڻي کاٻي هٿ جي اسائنمنٽ دوران قدرن کي تبديل نٿو ڪري جڏهن ڪنهن ايڪسپريشن جي ساڄي پاسي کان قدرن تائين رسائي حاصل ڪري ٿي. مثال طور، هڪ صف x لاءِ، اظهار "x[2]، x[1] = x" هاڻي x جي پهرين ۽ ٻئي عنصرن کي مٽائي ڇڏيندو، جڏهن ته اڳ ۾ x[1] ٻنهي داخلائن کي ڀرڻ لاءِ استعمال ڪيو ويندو هو ڇاڪاڻ ته x[2] کي اسائنمنٽ جي ايڪس ۾ ورجائڻ دوران تبديل ڪيو ويو هو.
  • macroexpand، @macroexpand، ۽ @macroexpand1 هاڻي LoadError پيدا نه ڪندا آهن. متاثر ٿيل ٽيسٽن کي ڪم ڪرڻ لاءِ @test_throws کي پڻ تبديل ڪيو ويو آهي.
  • وچين نقطي "·" (\cdotpU+00b7) ۽ يوناني انٽرپنٽ · (U+0387) کي هاڻي ڊاٽ آپريٽر "⋅" (\cdotU+22c5) جي برابر سمجهيو ويندو آهي.
  • مائنس نشاني "−" (\minusU+2212) کي هاڻي هائفن-مائنس نشاني "-" (U+002d) جي برابر سمجهيو ويندو آهي.
  • Iterators.peel(itr) هاڻي "nothing" واپس ڪندو آهي جڏهن itr خالي هوندو آهي، بجاءِ BoundsError استثنا اڇلائڻ جي.
  • هڪ صف جي اظهار ۾ ڪيترائي لڳاتار سيمي ڪولن اڳ ۾ نظرانداز ڪيا ويا هئا (مثال طور، "[1 ;; 2] == [1 ; 2]"). هي نحو هاڻي طول و عرض کي الڳ ڪرڻ لاءِ استعمال ڪيو ويندو آهي.
  • يونيڪوڊ غير متوازن فارميٽنگ هدايتون "#= ... =#" هاڻي اسٽرنگ ۽ تبصرن ۾ اجازت نه آهن ته جيئن پارس/ايول ڪوڊ انجيڪشن جي امڪان کي گهٽائي سگهجي.

ڪمانڊ لائن اختيارن ۾ تبديليون

  • جوليا --پروجيڪٽ پيرا ميٽر ۽ جوليا_پروجيڪٽ ماحول متغير هاڻي شيئر ٿيل ماحول جي چونڊ کي سپورٽ ڪن ٿا. مثال طور، جوليا --پروجيڪٽ=@myenv ۽ ايڪسپورٽ جوليا_پروجيڪٽ="@myenv" هاڻي برابر آهن.

ملٽي ٿريڊنگ تبديليون

  • ايٽمي پوائنٽر آپريشنز لاءِ اندروني عنصر هاڻي مخصوص بائيٽ سائيز لاءِ بيان ڪيا ويا آهن.
  • هڪ تبديل ٿيندڙ ساخت جي انفرادي شعبن کي ايٽمي طور بيان ڪرڻ ۽ استعمال ڪرڻ لاءِ مدد شامل ڪئي وئي؛ نئون @atomic ميڪرو ڏسو.
  • جيڪڏهن JULIA_NUM_THREADS ماحولياتي متغير "آٽو" تي سيٽ ڪيو ويو آهي، ته موضوعن جو تعداد پروسيسر موضوعن جي تعداد جي برابر هوندو.
  • هر ٽاسڪ آبجيڪٽ ۾ هڪ مقامي بي ترتيب نمبر جنريٽر اسٽيٽ هوندي آهي، جيڪا ڊفالٽ طور تي متوازي سموليشن ڪوڊ جي ٻيهر پيدا ٿيندڙ (شيڊول کان آزاد) عملدرآمد کي يقيني بڻائي ٿي. جنريٽر پڻ پوئين ورزن جي ڀيٽ ۾ ڊفالٽ طور تي متوازي ۾ تمام تيز هلندو آهي.
  • هاڻي ڪمن کي ٿريڊن جي وچ ۾ منتقل ڪري سگهجي ٿو. اڳي، هڪ ڪم هميشه ان ٿريڊ ۾ هلندو هو جيڪو ان کي پهرين لانچ ڪندو هو.

نئين لائبريري جا ڪم

  • ٻن دليلن سان findmax(f, domain)، argmax(f, domain) ۽ لاڳاپيل "min" ورجن جا طريقا شامل ڪيا ويا.
  • جيڪڏهن x هڪ اهڙي قدر آهي جيڪا غير ترتيب واري هجڻ گهرجي، جهڙوڪ NaN يا غائب آهي ته isunordered(x) صحيح موٽائي ٿو.
  • نئون فنڪشن keepat!(vector, inds)، جيڪو انٽيجرز جي فهرست جي vector[inds] جي برابر آهي.
  • ٻن-دليلن وارو لاڪ (f، lck) طريقو هاڻي هڪ چينل کي پنهنجي ٻئي دليل طور قبول ڪري ٿو.
  • نئون فنڪشن Returns(value) ڪنهن به دليل لاءِ قدر واپس ڪري ٿو.
  • نوان ميڪرو @something ۽ @coalesce جيڪي ترتيب وار ڪنهن شيءِ ۽ ڪوئليس جا نسخا آهن.
  • stdin، stdout، ۽ stderr کي ريڊائريڪٽ ڪرڻ لاءِ نئون redirect_stdio فنڪشن.
  • نئون ميڪرو "Base.@invoke f(arg1::T1, arg2::T2; kwargs…)" "invoke(f, Tuple{T1,T2}, arg1, arg2; kwargs…)" کي ڪال ڪرڻ لاءِ هڪ سادي نحو فراهم ڪري ٿو.
  • نئون ميڪرو "Base.@invokelatest f(args…; kwargs…)" "Base.invokelatest(f, args…; kwargs…)" کي ڪال ڪرڻ جو هڪ آسان طريقو فراهم ڪري ٿو.

نئين لائبريري خاصيتون

  • IOContext ڏانهن منتقل ڪرڻ لاءِ خاصيتون بيان ڪرڻ لاءِ ":key => value" فارميٽ ۾ ڪنٽيڪسٽ ڪي ورڊ سان هڪ ٽوپل ٺاهي سگهجي ٿو.
  • bytes2hex ۽ hex2bytes هاڻي "Union{String,AbstractVector{UInt8}}" ​​قسم جي دليلن تائين محدود نه آهن ۽ هاڻي صرف انهن جي ضرورت آهي ته قسمون ترتيبون هجن ۽ انهن جي حساب سان ڊيگهه هجي.
  • stat(file) کي وڌيڪ تفصيلي ۽ آسان شو طريقو مليو.

معياري لائبريري تبديليون

  • هاڻي count ۽ findall هڪ اسٽرنگ ۾ ڪردار ڳولڻ لاءِ هڪ AbstractChar دليل وٺو.
  • نوان طريقا range(start, stop) ۽ range(start, stop, length).
  • range هاڻي start کي اختياري ڪي ورڊ دليل جي طور تي سپورٽ ڪري ٿو.
  • ڪجھ رينج آپريشن هاڻي StepRange جي بدران StepRangeLen واپس ڪن ٿا، آخري قدم کي صفر ٿيڻ جي اجازت ڏين ٿا. اڳي، λ .* (1:9) هڪ غلطي اڇلائيندو هو جڏهن λ = 0 هوندو هو.
  • هاڻي يونيڪوڊ لوئر ڪيس ۽ اپر ڪيس ڪيٽيگريز کي سنڀاليندا آهن.
  • iseven ۽ isodd فنڪشن هاڻي انٽيجر کان سواءِ ٻين قسمن جي حمايت ڪن ٿا.
  • escape_string هاڻي ڪيپ ڪي ورڊ ذريعي ڪردارن جو هڪ سيٽ قبول ڪري ٿو، انهن ڪردارن لاءِ جيڪي جيئن آهن تيئن رهڻ گهرجن.
  • NamedTuple لاءِ getindex هاڻي ڪيترن ئي قدرن کي انڊيڪس ڪرڻ لاءِ هڪ ڪردار ٽوپل قبول ڪري ٿو.
  • AbstractRange ذيلي قسم Bools کي انڊيڪس ڪرڻ وقت عام صف انڊيڪسنگ رويي جي پيروي ڪندا آهن، Bool اسڪيلرز لاءِ غلطيون، ۽ Bools جي صفن (حدن سميت) کي منطقي انڊيڪس طور علاج ڪرڻ وقت.
  • keys(::RegexMatch) هڪ ريگيولر ايڪسپريشن جي ڪيپچر ڪيز کي نالي سان، يا جيڪڏهن نالا نه هجن ته انڊيڪس ذريعي واپس ڪري ٿو.
  • keys(::Generator) آئٽرٽر جون ڪيز واپس ڪري ٿو.
  • RegexMatch هاڻي ٻيهر ورجائي ٿو، قبضو ڪيل سب اسٽرنگ حاصل ڪري ٿو.
  • lpad/rpad ٽيڪسٽ وڊٿ لاءِ بيان ڪيا ويا آهن.
  • Test.@test هاڻي broken ۽ skip ڪي ورڊ دليلن کي قبول ڪري ٿو، جيڪي Test.@test_broken ۽ Test.@test_skip جي رويي کي نقل ڪن ٿا، پر توهان کي انهن ٽيسٽن کي ڇڏڻ جي اجازت ڏين ٿا جيڪي صرف ڪجهه حالتن ۾ ناڪام ٿين ٿيون. مثال طور، جيڪڏهن T == Float64 @test_broken isequal(complex(one(T)) / complex(T(Inf), T(-Inf)), complex(zero(T), zero(T))) else @test isequal(complex(one(T)) / complex(T(Inf), T(-Inf)), complex(zero(T), zero(T)) آخر کي @test isequal(complex(one(T)) / complex(T(Inf), T(-Inf)), complex(zero(T), zero(T))) سان تبديل ڪري سگھجي ٿو.
  • @lock هاڻي بيس مان ايڪسپورٽ ڪيو ويو آهي.
  • تجرباتي فنڪشن Base.catch_stack() کي current_exceptions() جو نالو ڏنو ويو آهي ۽ ان جو هڪ مخصوص ريٽرن قسم آهي.
  • ڪجھ ٽرگونوميٽرڪ فنڪشن (sind، cosd، tand، asind، acosd، asecd، acscd، acotd، atand) هاڻي هڪ چورس ميٽرڪس قبول ڪن ٿا.
  • replace(::String) هاڻي ڪيترن ئي نمونن کي قبول ڪري ٿو، جيڪي هڪ ئي وقت کاٻي کان ساڄي طرف لاڳو ڪيا ويندا، تنهنڪري ڪنهن به ڪردار تي صرف هڪ نمونو لاڳو ڪيو ويندو، ۽ نمونا صرف ان پٽ ٽيڪسٽ تي لاڳو ٿيندا، انهن جي لڳاتار متبادلن تي نه.
  • ڊيگهه وارو فنڪشن هاڻي اڪثر ڪيسن ۾ مخصوص قسمن جي مخصوص رينجز لاءِ انٽيجر اوور فلو جي جانچ نٿو ڪري. checked_length هڪ نئون فنڪشن آهي جيڪو چيڪ ٿيل رياضي کي اوور فلو جي نقطي تائين استعمال ڪري ٿو جيڪڏهن نتيجو کڻي سگهي ٿو. متبادل طور تي، جيڪڏهن رينج اوور فلو جو خطرو هجي ته SaferIntegers.jl پيڪيج استعمال ڪريو.
  • ٽوپل ۾ عنصرن کي تبديل ڪرڻ لاءِ نوان متبادل طريقا.

پيڪيج مئنيجر

  • ڪنسول موڊ "جوليا>" ۾ استعمال ڪرڻ لاءِ- يا درآمد-پيڪيجز جيڪي انسٽال ٿيل نه آهن، پر رجسٽري "pkg> ايڊ" ۾ موجود آهن، اهو پيش ڪيو ويندو آهي ته پيڪيج کي خودڪار طريقي سان انسٽال ڪيو وڃي.
  • Manifest.toml نئين فارميٽ کي نئين ميٽا ڊيٽا سان استعمال ڪري ٿو، جنهن ۾ جوليا جو نسخو شامل آهي جنهن مينيفيسٽ پيدا ڪيو. پراڻي فارميٽ مينيفيسٽ اڃا تائين انهن جي اصل فارميٽ ۾ سپورٽ ٿيل آهن جيستائين صارف Pkg.upgrade_manifest() نه هلائي.
  • "pkg> پري ڪمپائل" هاڻي اڳ ۾ ئي ڊائون لوڊ ٿيل پيڪيجز جي نون ورزن کي اڳ ۾ ڪمپائل ڪندو، انهن کي ايندڙ سيشن تائين ملتوي ڪرڻ بدران.
  • "pkg> rm، pin، ۽ free" هاڻي "--all" دليل جي حمايت ڪن ٿا ته جيئن سڀني پيڪيجز تي هڪ ئي وقت ڪارروائي ڪئي وڃي.
  • Pkg سرور (گٽ نه) تان ڊائون لوڊ ڪيل رجسٽريون هاڻي فائلن ۾ ان پيڪ نه ٿينديون آهن، پر آرڪائيو مان سڌو سنئون ميموري ۾ پڙهيون وينديون آهن. هن خصوصيت کي غير فعال ڪرڻ لاءِ، ماحولياتي متغير JULIA_PKG_UNPACK_REGISTRY=true سيٽ ڪريو.
  • هاڻي توهان Git پروٽوڪول ذريعي ٿيندڙ ڊائون لوڊ لاءِ ڊفالٽ libgit2 لائبريري جي بدران ٻاهرين گٽ ايگزيڪيوٽوبل استعمال ڪري سگهو ٿا، ماحولياتي متغير JULIA_PKG_USE_CLI_GIT=true سيٽ ڪري.
  • رجسٽريون ڊائون لوڊ ڪيون ويون آهن جتان سرور Pkg (git نه) هاڻي ناقابل تبديلي سمجهيا وڃن ٿا. انهن جي فائلن ۾ دستي تبديليون هلندڙ Pkg سيشن ذريعي نه ورتيون وينديون.
  • هاڻي REPL موڊ ۾ ڊاريڪٽري جي نالي سان پيڪيجز شامل ڪرڻ لاءِ جيڪڏهن پيڪيج موجوده ڊاريڪٽري ۾ آهي ته نالي سان "./" شامل ڪرڻ جي ضرورت آهي؛ مثال طور، "ايڊ پيڪيج" جي بدران "ايڊ ./Package". اهو پيڪيج جي نالي پيڪيج ۽ مقامي پيڪيج ڊاريڪٽري جي وچ ۾ مونجهاري کان بچڻ لاءِ ڪيو ويندو آهي.
  • PackageSpec لاءِ موڊ ڪي ورڊ هٽايو ويو.

لينر الجبرا

  • رن ٽائم تي BLAS ۽ LAPACK کي فعال ڪرڻ لاءِ Libblastrampoline استعمال ڪريو. ڊفالٽ طور تي، OpenBLAS جوليا ڊسٽريبيوشن جي حصي طور فعال ٿيل آهي. نئين فعال ڪرڻ واري ميڪانيزم کي استعمال ڪندڙ جي بيان ڪيل سيٽنگن سان BLAS ۽ LAPACK کي تبديل ڪرڻ لاءِ استعمال ڪري سگهجي ٿو.
  • aarch64 تي، OpenBLAS هاڻي ILP64 BLAS استعمال ڪري ٿو، بلڪل ٻين سڀني 64-bit پليٽ فارمن وانگر.
  • OpenBLAS کي ورجن 0.3.13 ۾ اپڊيٽ ڪيو ويو آهي.
  • SuiteSparse کي ورجن 5.8.1 ۾ اپڊيٽ ڪيو ويو آهي.
  • اپر هيسنبرگ ميٽرڪس جي شڪل ڪجهه رياضي عملن جي تحت محفوظ ڪئي ويندي آهي، جهڙوڪ اپر ٽڪنڊي ميٽرڪس پاران ضرب يا تقسيم.
  • حقيقي نيم ٽڪنڊي شور عنصرن کي هاڻي "Schur{Complex}(S)" جي اظهار کي استعمال ڪندي پيچيده مٿئين ٽڪنڊي شڪل ۾ تبديل ڪري سگهجي ٿو.
  • cis(A) هاڻي دليلن جي طور تي ميٽرڪس کي سپورٽ ڪري ٿو.
  • ڊاٽ AbstractMatrix قسم لاءِ UniformScaling کي سپورٽ ڪري ٿو.
  • qr[!] ۽ lu[!] هاڻي اختياري پيوٽ دليل جي طور تي سنگلٽن LinearAlgebra.PivotingStrategy ويليوز کي سپورٽ ڪن ٿا: ڊفالٽ ويليوز qr(A, NoPivot()) بمقابلہ qr(A, ColumnNorm()) پائوٽنگ سان، ۽ lu(A, RowMaximum()) بمقابلہ lu(A, NoPivot()) بغير پائوٽنگ جي آهن. پوئين Val{true/false} ڪالز کي ختم ڪيو ويو آهي.
  • det(M::AbstractMatrix{BigInt}) det_bareiss(M) کي سڏي ٿو، جيڪو صحيح قدرن جي حساب سان Bareiss الگورتھم استعمال ڪري ٿو.

رد ڪريو

  • هاڻي REPL ۾ ڏيکاريل "head" ⋯ 12345 bytes ⋯ "tail" syntax استعمال ڪندي ڊگهيون لائينون هٽايون وينديون آهن.
  • ڪلپ بورڊ مان ريپل مثالن کي REPL ۾ پيسٽ ڪرڻ سان هاڻي سڀني ريپل موڊس (جوليا، پي ڪي جي، شيل، مدد؟) کي سپورٽ ڪري ٿو ۽ موڊ خودڪار طريقي سان سوئچ ٿي ويندو آهي.
  • "مدد؟>" بغير ڊاڪ اسٽرنگ جي ماڊلز لاءِ هاڻي برآمد ٿيل نالن جي فهرست واپس ڪندو آهي ۽ جيڪڏهن ملي ٿو ته لاڳاپيل README.md جي مواد کي آئوٽ پُٽ ڪندو آهي.

SparseArrays

  • نئون طريقو سائيز جو اشارو!(::SparseMatrixCSC, ::Integer)\.
  • cholesky() هاڻي مڪمل طور تي صارف جي مخصوص ترتيب کي محفوظ رکي ٿو.
  • issparse هاڻي سڀني ريپر ايري تي مسلسل لاڳو ڪيو ويندو آهي، بشمول نيسٽڊ وارن تي، ريپر جي والدين ايري جي issparse کي چيڪ ڪندي.

تاريخ جي هٿ چراند

  • Dates.periods فنڪشن کي ڪمپائونڊ پيريڊ مان پيريڊ مان ویکٹر ويليوز حاصل ڪرڻ لاءِ استعمال ڪري سگهجي ٿو.

ڊائون لوڊ

  • جيڪڏهن ڪوڪي هيڊر هڪ ريڊائريڪٽ ٿيل درخواست ۾ سيٽ ڪيو ويو آهي، ته ڪوڪي هاڻي ايندڙ درخواستن ۾ موڪلي ويندي.
  • جيڪڏهن ~/.netrc فائل موجود آهي، ته اها انهن ويب سائيٽن لاءِ پاسورڊ جي ذريعن طور استعمال ٿيندي آهي جن کي تصديق جي ضرورت هوندي آهي.
  • سرور جي نالي جو اشارو هاڻي سڀني TLS ڪنيڪشن سان ڪيو ويندو آهي، جيتوڻيڪ سرور جي سڃاڻپ تصديق ٿيل نه آهي (نيٽ ورڪ آپشن ڏسو).
  • جڏهن TLS ڪنيڪشن چيڪ ڪري رهيو آهي Windowsجيڪڏهن سرور отзыва сертификатов недоступен, соединение разрешено; это соответствует тому, что делают другие приложения и как выполняется отзыв в macOS.
  • هاڻي 30 سيڪنڊن جي ڪنيڪشن جي انتظار ۽ 20 سيڪنڊن جي ڊيٽا موڪلڻ جي انتظار ۾ آهي. اهو يقيني بڻائي ٿو ته ڪنيڪشن فعال آهن يا اهي هڪ منٽ کان به گهٽ وقت ۾ ڪٽيا ويندا.

ترڪي

  • Tar.extract هاڻي ٽار بال جي صحيح اجازت واري موڊ کي نظرانداز ڪري ٿو ۽ موڊس کي ساڳئي طرح نارمل ڪري ٿو جيئن Tar.create، جيڪو گٽ سان ملندڙ جلندڙ آهي.
  • اهي فنڪشن جيڪي ٽار آرڪائيوز استعمال ڪن ٿا هاڻي هارڊ لنڪس کي سنڀاليندا آهن: لنڪ ٽارگيٽ اڳ ۾ ڏٺل فائل هجڻ گهرجي؛ Tar.list هڪ داخلا لسٽ ڪري ٿو جنهن ۾ :hardlink قسم ۽ هڪ .link فيلڊ آهي جيڪو ٽارگيٽ جو رستو بيان ڪري ٿو؛ ٻيا فنڪشن - Tar.extract، Tar.rewrite، Tar.tree_hash - هڪ هارڊ لنڪ کي ٽارگيٽ فائل جي ڪاپي ۾ تبديل ڪن ٿا.
  • Tar.create ۽ Tar.rewrite پاران ٺاهيل معياري فارميٽ ۾ هاڻي غير خالي ڊائريڪٽرين لاءِ داخلائون شامل آهن. ڪجهه ٽاربال استعمال ڪندڙ اوزار (ڊاڪر سميت) انهن ڊائريڪٽري داخلائن جي کوٽ جي ڪري پريشان آهن.
  • ٽار هاڻي آڪٽل انٽيجر هيڊر فيلڊز ۾ ليڊنگ اسپيس سان ٽاربالز کي قبول ڪري ٿو: ٽيڪنيڪل طور تي هي POSIX وضاحتن جي مطابق هڪ غلط فارميٽ آهي، پر پراڻي سولاريس ٽار ڪمانڊ اهڙا آرڪائيوز ٺاهيا هئا، تنهن ڪري هي فارميٽ جهنگلي ۾ ٿئي ٿو، ۽ ان کي قبول ڪرڻ بي ضرر لڳي ٿو.
  • Tar.extract هاڻي هڪ set_permissions ڪي ورڊ دليل قبول ڪري ٿو جيڪو ڊفالٽ طور تي صحيح هوندو آهي؛ جيڪڏهن ان جي بدران غلط پاس ڪيو ويندو آهي، ته ڪڍڻ دوران ڪڍيل فائلن جون اجازتون تبديل نه ٿينديون آهن.

ايم ميپ

  • ايم ايم اي پي هاڻي برآمد ڪئي وئي آهي ۽ استعمال لاءِ موجود آهي.

محدود فائلون

  • غير معمولي فائل سسٽم جي حالتن ۾ مسلسل اعتبار کي يقيني بڻائڻ لاءِ، هاڻي سڀني آپريٽنگ سسٽم تي Readdlm ڊفالٽ طور تي use_mmap=false تي مقرر ڪيو ويو آهي.

جو ذريعو: opennet.ru

DDoS تحفظ سان سائيٽن لاءِ قابل اعتماد هوسٽنگ خريد ڪريو، VPS VDS سرور 🔥 DDoS تحفظ سان قابل اعتماد ويب سائيٽ هوسٽنگ خريد ڪريو، VPS VDS سرورز | ProHoster