In: Genel


Kalemin nasıl çalıştığını biliyorsun, değil mi? Her gün kullandığınız güzel bir tükenmez kalem.

Şimdi nasıl çalıştığını açıklayın. 5 dakika. Bir kalemin nasıl çalıştığını toplayabildiğiniz kadar ayrıntılı bir şekilde yazın.

Yapamazsan endişelenme. 2002 yılında yapılan bir araştırmaya katılanlar da Açıklayıcı Derinlik Yanılsaması.

Onları çözmeye çalışana kadar sorunları anladığımızı düşünüyoruz. Sonra her türlü kötü küçük ayrıntı ortaya çıkıyor. Asla tahmin edemeyeceğin küçük şeyler.

7 günlük aralıklarla süreleri hesaplayan bir döngü yazdığınızı varsayalım. Bunun gibi bir şey yazabilirsiniz:

function getTimes(startAt, N) {

let times = [];

for (let i = 0; i < N; i++) {

times.push(addDays(startAt, 7 * i));

}

return times;

}

olana kadar başlangıç ​​zamanına 7 günün katlarını ekleyin. N dizinizdeki zaman damgaları. Dünyanın en güzel kodu değil ama çalışıyor ve okunması kolay.

Kodda sorun var. UTC için harika çalışıyor çünkü gün ışığından yararlanma imkanı yok. +7 gün, ne zaman olursa olsun +7 gündür.

Bu UTC zaman damgalarını insan zamanına çevirin ve mevsime bağlı olarak 1 saat değişirler. Dünyanın neresinde olduğuna bağlı.

Arizona hariç ABD’deki kullanıcılar için geçiş 13 Mart ve 6 Kasım’da gerçekleşir. Avrupa’da 27 Mart ve 30 Ekim’de gerçekleşir.



Dünya çapında DST – Mavi ve Turuncu DST’yi gözlemler – Açık Gri, DST’yi gözlemlerdi – Koyu Gri hiçbir zaman DST’ye sahip olmadı

Dünya çapında DST – Mavi ve Turuncu DST’yi gözlemler – Açık Gri, DST’yi gözlemlerdi – Koyu Gri hiçbir zaman DST’ye sahip olmadı

figür}]

İnsan zamanını desteklemek için kodunuzun saat diliminin farkında olması gerekir. Bunun gibi:

function getTimes(startAt, N, timezone) {

let times = [];

const zonedStartAt = utcToZonedTime(startAt, timezone);

for (let i = 0; i < N; i++) {

times.push(zonedTimeToUtc(addDays(zonedStartAt, 7 * i), timezone));

}

return times;

}

kod dönüştürür startAt UTC zaman damgasından hedef saat dilimimizde doğru zamana. Ardından, bölgeli zamandan UTC saatine dönüştürürken bir döngüye +7 günün katlarını ekler.

utcToZonedTime ve zonedTimeToUtc kullan IANA Saat Dilimi Veritabanı herhangi bir tarih için doğru zaman dönüşümlerini aramak için. Gelecekte veritabanı değiştiğinde, date-fns-tz kütüphane.

Fakat bu hala tüm tarihler için çalışmıyor.

1582’de Julian takviminden Gregoryen takvimine geçiş, o yılın 15 gününü kaldırdı. Birkaç tarih-saat kitaplığı ve yürütme ortamı, bu değişikliği doğru şekilde destekler.

Bu kodu uyduda da çalıştıramazsınız. Bunun için göreli etkileri hesaba katmanız gerekir. Özellikle milisaniye hassasiyete ihtiyacınız varsa.

Artık saniyelere ve UTC’nin dünyaya yayılmış birden fazla atom saati arasındaki ortalama olarak nasıl ölçüldüğüne bile girmeyelim.

Programlamada tavşan delikleri yaygındır çünkü bulanık anlamayı kesin özelliklere çeviriyoruz.

saklamanın en iyi yolu nedir gibi kişinin adı? veya bir Fatura Adresi? Veya harita verileri?

Popüler yanılgılar o kadar yaygındır ki Programcıların X hakkında inandıkları yalanlar bir internet yazı türü olarak ortaya çıktı. Gerçek dünya dağınık.

Bir e-posta adresi gibi iyi tanımlanmış bir şey bile gizli karmaşıklıkla dolu olabilir. Bunu kontrol et bir e-posta adresini doğrulayan durum makinesi



E-posta doğrulama durumu makinesi

E-posta doğrulama durumu makinesi

Evet, ben de hiç tahmin etmemiştim.

Bir dahaki sefere dolambaçlı koda baktığınızda ve düşündüğünüzde “vay korkunç, yeniden yazılması gerekiyor”biraz nüansı kaçırdığınızı düşünmek için bir dakikanızı ayırın.

Veya nüansı öğrendiniz ve kodun yanlış göründüğünü gördünüz. Bazen çevrelerde bir problem etrafında kodlarsınız. Anlayış anlayışı her şeyi basitleştirir.

Şerefe,
~İsviçre

Bu makaleden hoşlandınız mı?

yayınlandı 22 Haziran 2022 içinde zihniyet, dersler, yeniden düzenleme,


Kıdemli Zihniyet Kitabı

Terfi alın, daha fazla maaş kazanın, en iyi şirketlerde çalışın

Daha fazla bilgi edin

Cevaplayabileceğimi düşündüğünüz yanan bir sorunuz mu var? bana vur twitter ve elimden geleni yapacağım.

Ben kimim ve kime yardım ediyorum? Ben Swizec Teller ve kodlayıcıları mühendislere dönüştürüyorum. “Yürekten ham ve dürüst!” yazı. Palavra sıkma. Modern bir yazılım mühendisinin kariyerine ve becerilerine ilişkin gerçek bilgiler.

olmak istiyorum doğru Kıdemli mühendis? Sahiplenin, özerkliğe sahip olun ve ekibinizde bir güç çarpanı olun. Kıdemli Mühendis Zihniyeti e-kitabı size yardımcı olabilir 👉 swizec.com/senior-mindset. Bunlar kariyerimin kilidini açan zihniyet değişiklikleri.

Sunucusuz ve modern arka uç hakkında merak mı ediyorsunuz? Ön uç mühendisleri için Sunucusuz El Kitabına göz atın 👉
SunucusuzEl Kitabı.dev

D3 örneklerini kopyalamayı durdurmak ve kendi veri görselleştirmelerinizi oluşturmak ister misiniz? Tüm ekibinizin anlayabileceği ölçeklenebilir dataviz React bileşenlerini nasıl oluşturacağınızı öğrenin Veri Görselleştirme için React

JavaScript, React, Serverless, Fullstack Web veya Indie Hacking ile ilgili en iyi e-postalarımı almak ister misiniz? Ödeme swizec.com/collections

Modern JavaScript sözdizimini tazelemek ister misiniz? Etkileşimli hile sayfama göz atın: es6cheatsheet.com

Harika biri bu mektubu sizinle paylaştı mı? Müthiş! Yazılım mühendisleri için mükemmelliğe giden yolda haftalık mektuplarıma buradan kaydolabilirsiniz: swizec.com/blog

Modern JavaScript sözdiziminizi tazelemek ister misiniz? Etkileşimli hile sayfama göz atın: es6cheatsheet.com

Bu arada, belki bugün henüz kimse söylemedi: Seni sen olduğun için seviyorum ve takdir ediyorum ❤️



Bir cevap yazın

Ready to Grow Your Business?

We Serve our Clients’ Best Interests with the Best Marketing Solutions. Find out More

How Can We Help You?

Need to bounce off ideas for an upcoming project or digital campaign? Looking to transform your business with the implementation of full potential digital marketing?

For any career inquiries, please visit our careers page here.
[contact-form-7 404 "Bulunamadı"]