عارضي: جاوا اسڪرپٽ ۾ وقت مقرر ڪرڻ لاء 9 سالن جو سفر | Mewayz Blog Skip to main content
Hacker News

عارضي: جاوا اسڪرپٽ ۾ وقت مقرر ڪرڻ لاء 9 سالن جو سفر

تبصرا

2 min read Via bloomberg.github.io

Mewayz Team

Editorial Team

Hacker News

تعارف: The Elusive Nature of Time in Code

ڏهاڪن تائين، جاوا اسڪرپٽ ۾ تاريخن ۽ وقتن کي سنڀالڻ ڊولپرز لاءِ بدنام دردناڪ نقطو رهيو آهي. اصلي 'تاريخ' اعتراض، 1995 ۾ متعارف ڪرايو ويو، بنيادي طور تي جاوا جي 'java.util.Date' جي چوڌاري هڪ پتلي لفافي هئي، ان جي بنيادي خامين کي ورثي ۾. اهو صارف جي مقامي سسٽم يا UTC کان ٻاهر ٽائيم زونز لاءِ سپورٽ جو فقدان هو، هڪ تبديل ٿيندڙ API هئي ​​جيڪا بگ-پرون ڪوڊ جو سبب بڻي، ۽ پيش ڪيل مونجهارو، صفر-انڊيڪس ٿيل مهينا. جيئن ته ايپليڪيشنون وڌيڪ عالمي ۽ ورهائجي ويون، اهي نقص ننڍين تڪليفن کان وڌي ويا، قابل اعتماد سافٽ ويئر ٺاهڻ لاءِ وڏيون رڪاوٽون بڻجي ويون. پليٽ فارمن جهڙوڪ Mewayz لاءِ، جتي ڪمن، شيڊول، ۽ ڊيٽا کي مختلف وقت جي علائقن ۾ همٿائڻ ڪاروباري عملن لاءِ اهم آهي، هڪ مضبوط عارضي بنياد عيش نه آهي- اها هڪ ضرورت آهي. هي Temporal جي ڪهاڻي آهي، هڪ جديد API جنهن کي ٺهڻ ۾ لڳ ڀڳ هڪ ڏهاڪو لڳي ويو، جنهن جو مقصد آخرڪار پوري جاوا اسڪرپٽ ايڪو سسٽم لاءِ وقت مقرر ڪرڻ آهي.

هڪ بهتر تاريخ ڏانهن ڊگهو رستو

Temporal جو سفر 2015 جي آس پاس سنجيدگيءَ سان شروع ٿيو، TC39 ڪميٽيءَ جي اندر چيمپئنز پاران هلائي وئي، اهو گروپ جيڪو JavaScript ٻولي کي ترقي ڪري ٿو. مقصد وڏو هو: تاريخن ۽ وقتن لاءِ هڪ نئين، جامع معياري لائبريري ٺاهي جيڪا غير بدليل، ٽائم زون کان واقف هجي، ۽ مختلف تصورن لاءِ الڳ قسم جي آڇ ڪئي وئي هجي (جهڙوڪ سادي تاريخون بمقابله وقت ۾ درست انسٽنٽ). اهو عمل عمدي طور تي محتاط هو، جنهن ۾ وسيع برادري جي راءِ شامل هئي، ڪيترن ئي پولفيل تي عمل درآمد، ۽ ٻيهر تجويز ڪيل مرحلا. اهو ڊگهو انڪيوبيشن ماضي جي غلطين کان بچڻ لاءِ اهم هو ۽ انهي ڳالهه کي يقيني بڻائڻ لاءِ ته API مختلف قسم جي استعمال جا ڪيس، سادو تاريخ چونڊيندڙن کان وٺي پيچيده مالي ٽرانزيڪشن سسٽم تائين، ايندڙ ڏهاڪن تائين.

Temporal API جي اهم جدت

واضح، منطقي، ۽ غير تبديل ٿيندڙ آبجیکٹ ماڊل متعارف ڪرائڻ سان عارضي وقت کي درست ڪري ٿو. اڪيلي، منجهيل `تاريخ` طبقي جي برعڪس، Temporal مختلف مقصدن لاءِ الڳ شيون مهيا ڪري ٿي، جهڙوڪ `Temporal.PlainDate` (هڪ ڪئلينڊر جي تاريخ بغير وقت جي)، `Temporal.Instant` (وقت ۾ هڪ نقطو)، ۽ `Temporal.ZonedDateTime` (مڪمل تاريخ ۽ وقت مخصوص ٽائم زون ۾). خدشات جي هي علحدگي عام ڪيڙن جي هڪ وسيع طبقي کي ختم ڪري ٿي. ان جي بدلجڻ جو مطلب آهي ته هر آپريشن هڪ نئين شئي کي موٽائي ٿو، ڪوڊ ٺاهيندي اڳڪٿي لائق ۽ ڊيبگ ڪرڻ آسان. ان کان علاوه، ان ۾ IANA ٽائم زون ڊيٽابيس کي استعمال ڪندي، سڀني ٽائم زونز لاءِ فرسٽ ڪلاس سپورٽ شامل آھي، ۽ مشڪل ڪنڊن جي ڪيسن کي ھٿ ڪري ٿو جھڙوڪ ڏينھن جي روشنيءَ جي بچت واري وقت جي منتقلي ۽ ليپ سيڪنڊن کي واضح درستگي سان.

  • Imutability: سڀ عارضي شيون غير تبديل ٿيندڙ آھن. طريقا نوان مثال واپس آڻيندا آهن، حادثاتي ضمني اثرات کي روڪڻ.
  • علحدگيءَ جي ذريعي وضاحت: سادي تاريخن، وقتن، تاريخن جي وقتن ۽ زون ٿيل تاريخن لاءِ مختلف قسمون ڊولپر جي ارادي کي واضح ڪن ٿيون.
  • فرسٽ-ڪلاس ٽائم زونز: IANA ٽائم زون ڊيٽابيس لاءِ بلٽ ان سپورٽ، صرف مقامي وقت ۽ UTC کان گهڻو اڳتي.
  • جامع پارسنگ ۽ فارميٽنگ: ISO 8601 تارن لاءِ مضبوط سپورٽ ۽ ڪسٽم فارميٽ جي نمونن کي دٻي کان ٻاهر.

جديد ڪاروباري ايپليڪيشنن لاءِ اثر

Temporal جي آمد بلڊنگ ايپليڪيشنن لاءِ زلزلي واري شفٽ جي نمائندگي ڪري ٿي جيڪي سرحدن ۽ ٽائم زونن جي پار هلن ٿيون. هڪ ماڊيولر ڪاروباري OS لاءِ جيئن Mewayz، اهو سڌو ترجمو ڪري ٿو وڌيڪ قابل اعتماد ۽ آسان بنائڻ واري خاصيتن ۾. نيو يارڪ، لنڊن، ۽ سنگاپور ۾ پکڙيل ٽيم لاءِ "EOD نومبر 15th" لاءِ مقرر ڪيل منصوبي جي آخري تاريخ تي غور ڪريو. Temporal سان، انهيءَ آخري تاريخ کي درست نموني پيش ڪرڻ، ان کي محفوظ ڪرڻ، ۽ ان کي هر صارف لاءِ صحيح نموني ڏيکارڻ هڪ سڌو ڪم ٿي وڃي ٿو، نه ڪي بگڙيل آزمائش. مالياتي رپورٽنگ، شيڊيولنگ خودڪار ورڪ فلوز، ۽ ٽائم اسٽيمپنگ آڊٽ لاگس سڀ هڪ عارضي پرائمٽ مان فائدو وٺن ٿا جن تي ڊولپر اصل ۾ اعتبار ڪري سگھن ٿا.

"Temporal JavaScript لاءِ واعدو کان وٺي سڀ کان وڌيڪ اهم پيش رفت آهي. اهو آخرڪار ڊولپرز کي اوزار ڏئي ٿو وقت کي صحيح طريقي سان سنڀالڻ لاءِ، جيڪو تقريبن هر سنگين ايپليڪيشن لاءِ بنيادي آهي." - هڪ TC39 ڪميٽي تعاون ڪندڙ.

اڳتي ڏسندي: عارضي وضاحت جو نئون دور

جيئن Temporal JavaScript ٻوليءَ ۾ مڪمل شموليت طرف ترقي ڪري ٿو، ان جو پولفيل اڳ ۾ ئي اڄ استعمال لائق آهي، جيڪو مستقبل ۾ هڪ جھلڪ پيش ڪري ٿو جتي تاريخ سان لاڳاپيل ڪيڙا ماضيءَ جو اهڃاڻ آهن. نون سالن جو سفر هڪ پيچيده، بنيادي API حق حاصل ڪرڻ جي عزم کي واضح ڪري ٿو. پليٽ فارمن ۽ ڊولپرز لاءِ هڪجهڙا، عارضي اپنائڻ جو مطلب ڊگهي مدت جي استحڪام ۽ وضاحت ۾ سيڙپڪاري ڪرڻ آهي. Mewayz تي، اسان اسان جي ماڊلز ۾ عارضي منطق کي ختم ڪرڻ لاءِ Temporal جي صلاحيت کان پرجوش آهيون، ڊولپرز کي وقت جي پيچيدگين سان وڙهڻ کان سواءِ جديد ڪاروباري حل ٺاهڻ تي ڌيان ڏيڻ جي اجازت ڏئي ٿي. JavaScript وقت لاءِ درست ڪرڻ هاڻي ڪو پري جو خواب نه رهيو آهي- اها هڪ محتاط انداز سان ٺهيل حقيقت آهي.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

اڪثر پڇيا ويندڙ سوال

تعارف: The Elusive Nature of Time in Code

ڏهاڪن تائين، جاوا اسڪرپٽ ۾ تاريخن ۽ وقتن کي سنڀالڻ ڊولپرز لاءِ بدنام دردناڪ نقطو رهيو آهي. اصلي 'تاريخ' اعتراض، 1995 ۾ متعارف ڪرايو ويو، بنيادي طور تي جاوا جي 'java.util.Date' جي چوڌاري هڪ پتلي لفافي هئي، ان جي بنيادي خامين کي ورثي ۾. اهو صارف جي مقامي سسٽم يا UTC کان ٻاهر ٽائيم زونز لاءِ سپورٽ جو فقدان هو، هڪ تبديل ٿيندڙ API هئي ​​جيڪا بگ-پرون ڪوڊ جو سبب بڻي، ۽ پيش ڪيل مونجهارو، صفر-انڊيڪس ٿيل مهينا. جيئن ته ايپليڪيشنون وڌيڪ عالمي ۽ ورهائجي ويون، اهي نقص ننڍين تڪليفن کان وڌي ويا، قابل اعتماد سافٽ ويئر ٺاهڻ لاءِ وڏيون رڪاوٽون بڻجي ويون. پليٽ فارمن جهڙوڪ Mewayz لاءِ، جتي ڪمن، شيڊول، ۽ ڊيٽا کي مختلف وقت جي علائقن ۾ همٿائڻ ڪاروباري عملن لاءِ اهم آهي، هڪ مضبوط عارضي بنياد عيش نه آهي- اها هڪ ضرورت آهي. هي Temporal جي ڪهاڻي آهي، هڪ جديد API جنهن کي ٺهڻ ۾ لڳ ڀڳ هڪ ڏهاڪو لڳي ويو، جنهن جو مقصد آخرڪار پوري جاوا اسڪرپٽ ايڪو سسٽم لاءِ وقت مقرر ڪرڻ آهي.

بهتر تاريخ ڏانهن ڊگهو رستو

Temporal جو سفر 2015 جي آس پاس سنجيدگيءَ سان شروع ٿيو، TC39 ڪميٽيءَ جي اندر چيمپئنز پاران هلائي وئي، اهو گروپ جيڪو JavaScript ٻولي کي ترقي ڪري ٿو. مقصد وڏو هو: تاريخن ۽ وقتن لاءِ هڪ نئين، جامع معياري لائبريري ٺاهي جيڪا غير بدليل، ٽائم زون کان واقف هجي، ۽ مختلف تصورن لاءِ الڳ قسم جي آڇ ڪئي وئي هجي (جهڙوڪ سادي تاريخون بمقابله وقت ۾ درست انسٽنٽ). اهو عمل عمدي طور تي محتاط هو، جنهن ۾ وسيع برادري جي راءِ شامل هئي، ڪيترن ئي پولفيل تي عمل درآمد، ۽ ٻيهر تجويز ڪيل مرحلا. اهو ڊگهو انڪيوبيشن ماضي جي غلطين کان بچڻ لاءِ اهم هو ۽ انهي ڳالهه کي يقيني بڻائڻ لاءِ ته API مختلف قسم جي استعمال جا ڪيس، سادو تاريخ چونڊيندڙن کان وٺي پيچيده مالي ٽرانزيڪشن سسٽم تائين، ايندڙ ڏهاڪن تائين.

Temporal API جي اهم جدت

واضح، منطقي، ۽ غير تبديل ٿيندڙ آبجیکٹ ماڊل متعارف ڪرائڻ سان عارضي وقت کي درست ڪري ٿو. اڪيلي، منجهيل `تاريخ` طبقي جي برعڪس، Temporal مختلف مقصدن لاءِ الڳ شيون مهيا ڪري ٿي، جهڙوڪ `Temporal.PlainDate` (هڪ ڪئلينڊر جي تاريخ بغير وقت جي)، `Temporal.Instant` (وقت ۾ هڪ نقطو)، ۽ `Temporal.ZonedDateTime` (مڪمل تاريخ ۽ وقت مخصوص ٽائم زون ۾). خدشات جي هي علحدگي عام ڪيڙن جي هڪ وسيع طبقي کي ختم ڪري ٿي. ان جي بدلجڻ جو مطلب آهي ته هر آپريشن هڪ نئين شئي کي موٽائي ٿو، ڪوڊ ٺاهيندي اڳڪٿي لائق ۽ ڊيبگ ڪرڻ آسان. ان کان علاوه، ان ۾ IANA ٽائم زون ڊيٽابيس کي استعمال ڪندي، سڀني ٽائم زونز لاءِ فرسٽ ڪلاس سپورٽ شامل آھي، ۽ مشڪل ڪنڊن جي ڪيسن کي ھٿ ڪري ٿو جھڙوڪ ڏينھن جي روشنيءَ جي بچت واري وقت جي منتقلي ۽ ليپ سيڪنڊن کي واضح درستگي سان.

جديد ڪاروباري ايپليڪيشنن لاءِ اثر

Temporal جي آمد بلڊنگ ايپليڪيشنن لاءِ زلزلي واري شفٽ جي نمائندگي ڪري ٿي جيڪي سرحدن ۽ ٽائم زونن جي پار هلن ٿيون. هڪ ماڊيولر ڪاروباري OS لاءِ جيئن Mewayz، اهو سڌو ترجمو ڪري ٿو وڌيڪ قابل اعتماد ۽ آسان بنائڻ واري خاصيتن ۾. نيو يارڪ، لنڊن، ۽ سنگاپور ۾ پکڙيل ٽيم لاءِ "EOD نومبر 15th" لاءِ مقرر ڪيل منصوبي جي آخري تاريخ تي غور ڪريو. Temporal سان، انهيءَ آخري تاريخ کي درست نموني پيش ڪرڻ، ان کي محفوظ ڪرڻ، ۽ ان کي هر صارف لاءِ صحيح نموني ڏيکارڻ هڪ سڌو ڪم ٿي وڃي ٿو، نه ڪي بگڙيل آزمائش. مالياتي رپورٽنگ، شيڊيولنگ خودڪار ورڪ فلوز، ۽ ٽائم اسٽيمپنگ آڊٽ لاگس سڀ هڪ عارضي پرائمٽ مان فائدو وٺن ٿا جن تي ڊولپر اصل ۾ اعتبار ڪري سگھن ٿا.

اڳتي ڏسندي: عارضي وضاحت جو نئون دور

جيئن Temporal JavaScript ٻوليءَ ۾ مڪمل شموليت طرف ترقي ڪري ٿو، ان جو پولفيل اڳ ۾ ئي اڄ استعمال لائق آهي، جيڪو مستقبل ۾ هڪ جھلڪ پيش ڪري ٿو جتي تاريخ سان لاڳاپيل ڪيڙا ماضيءَ جو اهڃاڻ آهن. نون سالن جو سفر هڪ پيچيده، بنيادي API حق حاصل ڪرڻ جي عزم کي واضح ڪري ٿو. پليٽ فارمن ۽ ڊولپرز لاءِ هڪجهڙا، عارضي اپنائڻ جو مطلب ڊگهي مدت جي استحڪام ۽ وضاحت ۾ سيڙپڪاري ڪرڻ آهي. Mewayz تي، اسان اسان جي ماڊلز ۾ عارضي منطق کي ختم ڪرڻ لاءِ Temporal جي صلاحيت کان پرجوش آهيون، ڊولپرز کي وقت جي پيچيدگين سان وڙهڻ کان سواءِ جديد ڪاروباري حل ٺاهڻ تي ڌيان ڏيڻ جي اجازت ڏئي ٿي. JavaScript وقت لاءِ درست ڪرڻ هاڻي ڪو پري جو خواب نه رهيو آهي- اها هڪ محتاط انداز سان ٺهيل حقيقت آهي.

توهان جو ڪاروبار Mewayz سان منظم ڪريو

Mewayz 208 ڪاروباري ماڊلز کي ھڪڙي پليٽ فارم تي آڻيندو آھي - CRM، انوائسنگ، پروجيڪٽ مينيجمينٽ، ۽ وڌيڪ. شامل ٿيو 138,000+ صارفين جن پنهنجي ڪم جي فلو کي آسان ڪيو.

اڄ ئي مفت شروع ڪريو →

Start managing your business smarter today

Join 6,208+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 6,208+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime