“Dün çalışıyordu, yemin ederim!” Ne yapabilirsiniz? [kapalı]


59

Sabaha vardığınızda, dün akşam ayrıldığınız zaman olmasına rağmen, yazılımınızın artık çalışmadığını görürsünüz.

Ne yaparsın? İlk önce neyi kontrol ediyorsunuz? Sinirlenmeyi bırakmak ve problemin üzerinde çalışmaya başlamak için ne yaparsın? Meslektaşlarını suçlayıp doğrudan onlara mı gidiyorsun? Böyle bir durumda olmamak için ne yapılabilir?


10
Suçlama asla iyi bir fikir değildir. Soruyu veya sorunu çözmediğiniz için, programın hatanın kendisini üretmediğini tahmin etmek imkansızdır. Örneğin: Barındırma sunucusundaki bir web sitesi bant genişliği sınırına ulaşırsa, kendi kendine kapanır. Bu nedenle, kodun her şeyden önce uygun şekilde davranmadığından emin olana kadar kimseyi suçlayamazsınız.
Pankaj Upadhyay

1
Peki bu yığın taşması değil, bu yüzden daha genel bir sorudur. Suçlama kısmı bir şakaydı :)
Nikko

28
@Nikko - dün de işe yaramadı. BU, yazılım geliştirmede çok şey olur :)
Joris Timmermans

4
Durumda olmamak için, öğleden son birkaç dakika içinde konuşlandırmak için acele etmeyin. Ve test sırasında gül renkli / tehlikeye duyarlı güneş gözlüklerinizi çıkarın.
Steve314

18
DateTime.Now () ile ilgisi var mı ???
Sarawut Positwinyu

Yanıtlar:


96

Olağan şüpheliler:

  • Dün işe yaradığını düşündün, ama tam bir çalışma gününden sonra, çalışmadığını fark etmek için çok kördın.

  • Bu sabah artık dün IDE önbellek hafızasında ne olduğuna bakamıyorsunuz.

  • İş istasyonu dün gece yeniden başlatıldı veya bir gece bakım işlemi temizlendi / tmp dizinleri temizlendi.

  • Kod tabanında bir şeyler değişti: Birisinin (muhtemelen kendinizin) dünün son derlemesi ile bugünün son derlemesi arasında değişiklik yapıp yapmadığını kontrol edin.

  • Destek kitaplıklarında bir şey değişti: bu kitaplıkların yeniden derlenip derlenip yükseltilmediğini kontrol edin. Sebep, belirli kütüphaneler için projenin içinde veya görünürde bağımsız bir paketin yeni bir versiyonunun dağıtılması durumunda dışarıda olabilir.

  • Test ortamında bir şeyler değişti: sanal bir makinenin yeni sürümü, değiştirilmiş bir saplama, uzak bir veritabanı sunucusunda değişiklikler ...

  • Derleme zincirinde bir şeyler değişti: Makefiles, IDE'nin yeni sürümü, derleyicinin, standart kütüphanelerin ...


82
"İlahi müdahaleyi" unuttun ve "yüksek enerjili bir parçacık sunucudan geçti ve rasgele yeniden düzenlendi". Ve güneş püskürmeleri.
Kheldar

17
Unuttun "kullandığın <en sevdiğin dilini buraya ekle>, ki bu ününe güvenilmez.
konfigüratör,

4
@ Kheldar - Kötü niyetli sprite, unutma gremlins ve ark.
5arx

5
@configurator: bu yüzden daima kendi dilinizi yazmalısınız. Spolsky'ye Wasabi'yi sor! Atwood'un etrafında olup olmadığını kontrol eder
Kheldar

13
Başka bir klasik tuzak tarih değişikliğidir. Bu elbette özellikle "limit" tarihleri ​​için geçerlidir (ayın veya haftanın ilk veya son günü, 29 Şubat, vb.).
Brann

49

1) Bugün çalışmıyorsa, dün de çalışmadı.

Sen düşünce o çalışıyordu, ama değildi.

2) Bir sorun var ve çözülmesi gerekiyor .

Bundan kimin sorumlu olduğunu veya başkalarını suçlamakla ilgili düşünmeyin.

Dün ile bugün arasında hiçbir şey değişmediyse (sorunuzu okuduğumu sandığım gibi), kodun gerçekten çalıştığını belirtmeden önce sınamak için daha iyi bir iş yapmanız gerektiği anlamına gelir.

Bu durumdan kaçınmak için uygun Test ve Hata Ayıklama işlemlerini yapmanız gerekir .

"Çalışmayı" tanımlayın ve kod yordamlarınızın sınırlarını test edin.

  • Programınızı veya kod işlevlerinizi kullanacak kullanıcılardan biri olmaya çalışın.
  • Kodunuzu izin verilen sınırlara ve ötesine itin ve gerçekten kırılıp kırılmadığını kontrol edin.

Bunu yapmanın bir yolu, gece boyunca otomatik bir dizi kapsamlı test yapmaktır, böylece bir gün yanlış bir şey olup olmadığını kontrol edebilir ve sorunları çözebilirsiniz.


7
Size iki oy vermek istiyorum - Biri "Bugün işe yaramazsa, dün de çalışmıyordu." ve birincisi "bir sorun var ve çözülmesi gerekiyor". Her ikisi de çok fazla insanın unuttuğu önemli fikirler.
MattBelanger

2
"Bugün çalışmıyorsa, dün de çalışmadı." -> Bu, dün, bir kurabiyeye dayanan bazı ön uç kodlamaları yaparken başıma geldi. Çerez önceden ayarlanmışsa harika iş çıkardı. Ertesi gün, süresi dolduktan ve yeniden oluşturulmaya çalıştığından, artık doğru bir şekilde yaratılmadığını öğrendim.
Graham,

@Graham: bkz. "Dün ve bugün arasında hiçbir şey değişmediyse [...], kodunu test etmekte gerçekten işe yaramadan önce daha iyi bir iş yapmalısınız." Kodunuzu sınama konusunda daha iyi olmalısınız, ne olması gerektiğini düşünün, MAY'in ne olduğunu düşünün. Belki de problemi daha iyi anlayabilseydim, bu olmazdı.
Jose Faeti,

1 gelince): Belki de kırılma değişikliği yardımcı bir kütüphanedeydi
phresnel

Kesinlikle doğru değil ...: PI, bazı önbellek dosyalarını tamamen yanlış serileştirilmiş nesneler olan uygulamama çekerek yanlışlıkla bir uygulamayı bozdu. Uygulamanın iyi ve iyi çalışıyordu, Ben sadece bir git çekme yaptığım zaman, çünkü önbellek dosyaları yoksay, program güncellendi ve farklı bir formattaki nesnelere ihtiyacı vardı. Olsa da hala oyunda olsun;;)
Lay

26

Suçu aşacak birini bulmaya çalışmak yapıcı değil ve sorunları çözmüyor. Yapma

Dün bir şey işe yaradıysa ve şimdi işe yaramazsa, ya da determinist olmayan bir davranışa sahip olursunuz (bir yarış koşulu gibi) ve dün işe yaraması sadece şanstı ya da o zaman ve şimdi arasında bir şey değişti ve bunun ne olduğunu bulmanız gerekiyor. dır-dir.

Durumun tam olarak ne olduğunu ve nasıl düzeltilebileceğini tam olarak nasıl bulduğunuz, durumun özelliklerine bağlıdır, ancak nedenleri ortadan kaldırmak için her zaman metodik olmaya yardımcı olur, yani bir seferde 5 şeyi değiştirmeyin ve bu yardımcı olursa aramayı bırakmayın - Soruna hangi özel şeyin neden olduğunu bulun ve belki de nasıl düzeltileceğini yazın, böylece 3 hafta sonra tekrar olduğunda bakabilirsiniz.

Uygun tanılama araçlarının (hata ayıklayıcı, profiler, ağ analizi araçları) kullanılması da büyük fark yaratabilir.


Sorunu analiz ederken yazılı notlar tutmanıza da yardımcı olabilir.
starblue

25

Bir gecede değiştiği ortaya çıkan kodla çalıştım ve bir süre sonra, geceleri kod tabanımın içinde sürünen ve dün çalıştığı gerçeğine rağmen olayları değiştiren şeyleri değiştirdiğim sonucuna vardım. hiç çalışmıyor Nitekim klasik Schroedinbug tarzında, sadece şimdi çalışmakla kalmıyor, aynı zamanda sahip olabileceği hiçbir yolun olmadığı açıkça anlaşılıyor .

Zaman geçtikçe, aslında pixilerin bununla bir ilgisi olmadığını ve muhtemelen “eve gitme, yeterince iyi olacak” son planımın belki de hak ettiği ayrıntılı test ve dikkatleri alamamasının mümkün olduğunu anladım. .

Bu sabah karşılaştığımda ilk varsayımım, muhtemelen üzerinde çalıştığım yazılımın kendi özelliklerinden veya köşelerinden sorumlu olduğum için muhtemelen benim hatam olduğu. İkinci varsayım şu kahveyi şimdi alabilirim. Bir maymunun (bazen olduğu gibi) anlayabileceği açıkça belli olmayan bir şey değilse, o zaman bir kütüphanenin eski bir sürümüne sürüklemeyi başarabildim, yanlışlıkla silinmesi gerekmeyen bir dosyayı geri aldım. geri dönün veya kontrol etmeden yapıya getiren bir yere önbelleğe alınmış bir şey alın. Son Kaynak Kontrol faaliyetlerime göz atmak, yaptığım şeyleri ortaya çıkarmaya meyillidir, yapıyı temizlemek genellikle hatalı önbelleğe alınmış sürümleri kaldırır.

Bazen benimle hiçbir ilgisi yok - birisi bahsetmeden bir bağımlılığı güncelledi, WindowsUpdate, kodumu çalışmadığı için çevreyi değiştiren bir şey yükledi; pek çok arkaplan olasılığı var, ama genellikle bu, çoğu insan gibi, temelde bir aptal olduğumu idare etme ve kabul etme durumudur.


1
Bu, çoğumuzun benimsemesi gereken çok mütevazi ve kendine güvenen bir cevap. :) Bu tarz durumları genellikle "Hey Moe, Hey Larry, düşünmeye çalışıyordum ve hiçbir şey olmuyordu!" günün sonunda. Ayrıca, bu durumlardan kaçınmak için "Çalışıyor! Çabuk, kontrol et ve eve gitme dürtüsünden önce eve git" yöntemini kullanıyorum.
Jennifer S

3
Çalıştığım bir yer, sabah ilk iş hiç kimsenin kodu olmayacaktı. Makinelerimizi başlattığımızda Skype'ın, uygulamanın ilk başlatıldığında kullanmak istediği portu alacağı ortaya çıktı.
thepeer

Belki de pixie başlatılmamış bir değişkenden başka bir şey değildir? Bazen sürüm sürümü başarısız olduğunda hata ayıklama sürümü çalışabilir (çöker veya farklı davranır).
Jared Updike

20

Sürüm kontrolünü kullanın. Bir fark yaratın ya da VCS'nin suçlama işlevini kullanın:

  • diff: Her VCS. Size farklı sürümlerin farklarını gösterir.
  • blame: örneğin git. Neyi değiştiren, sizi satır bazında gösterir.

Sürüm kontrolü yoksa, kendinizin veya patronunuzun hatası olması dışında, dosyaların değişiklik tarihlerine bakabilir ve muhtemelen işletim sisteminizin günlüğe kaydetme olanaklarına bakabilirsiniz.

Bunun dışında: Her şeyi yeniden derleyin, yardımcı kütüphaneleri de yeniden derleyin.

Tabii: Eğer hatanın kaynağını bulduysanız, sakin olun, neden bir değişiklik yapıldığını sorun, sorununuzu açıklayın ve ikinizi de mutlu eden bir çözüm önerin. Ona bağırma, bu sizin verimliliğiniz için zehir olacaktır.

Hiç bir değişiklik olmazsa, sistemde nelerin değiştiğini görme zamanı gelmiştir. Örneğin, son zamanlarda Mac OS bilgisayarları, bazı yapılandırmaları geçersiz kılan yeni bir Apache sürümüne güncellendi.


1
Diff Ftw. hep yaptığım şey bu.
Aditya P,

2
@AdityaGameProgrammer: Dün ya da ara vermeden önce ne üzerinde çalıştığımı görmek için günde birkaç kez kullanıyorum :)
phresnel

Sürüm kontrolü yok mu ?! Bu gerçekten dehşet verici bir olasılık.
thepeer

Bana anlattığım için +1 git blame... var olduğu hakkında hiçbir fikri yoktu, ama FCKING AWESOME
Radu Murzea

11

İşte, "dün işe yarayan" ve bugün değil kodunun gerçek bir hayat örneği ... Bu ayın başından beri.

Söz konusu uygulama tarihe göre bir veritabanından bilgi çeker ve varsayılan davranış mevcut gün için veri elde etmektir. Bu, 8 Ağustos'ta iyi çalıştı, ancak 9'da başarısız oldu. Bundan daha önce test edilmedi. Ayrıca 9 Eylül’de de çalışacaktı ve 10 Ekim’de ...

Başka bir ipucu, İngiltere'de olduğumuz, söz konusu veritabanının ABD’de olduğu ...

Bu nedenle, ilk önce neyin kontrol edileceği ile ilgili sorunuza cevabım, tarihlerinizi nasıl biçimlendirdiğinizi iki kez kontrol etmektir, çünkü gün ve ay alanlarını karıştırırsanız mükemmel çalışır, ancak ayda 1 günde :-)


5

Hatayı düzeltin (ancak normalde yaparsınız). Sonra kimin neden olduğunu bulursanız, neyin yanlış gittiğini bildiren onlara kibar bir e-posta gönderin.

Her kodlayıcı hata yapar ve suçlamaya başlarsanız bir dahaki sefere aynı şeyi ciddiye alamazsınız. (muhtemelen bu böcek bile senindi)

Sadece onların düzenli olarak dikkatsiz olduklarından şüpheleniyorsanız, birkaç hatadan büyük bir şey yapmalısınız.


5

... regresyon testlerini yapıyorsunuz ve başarısız olanlara odaklanıyorsunuz.

Aslında dün ayrılmadan önce yapmayı unuttuğun şey, olur.

Hiç yok mu? Tamam .. ne diyorsun? Suçluyor musun? Peki , o zaman işe yarayabilir


5

Bir şey çalışmayı bıraktığında yapılacak ilk şey kendinize sormaktır - Farklı olan nedir? Ne değişti?

Dün gece bir şey işe yaradı ancak bu sabah başarısız olduğunda, açıkça görünen bir şey değişti - tarih ve saat :)

Üzerinde çalışacağım mantığın herhangi bir kısmının tarihlere bağlı ve zamanın etkisinden etkilenip etkilenmediğini düşünmeye çalışırdım. Bu tür sorunların sebebi kaç defadır şaşırtıcı.

Bu başarısız olursa, burada verilen diğer harika tavsiyelere mutlaka uymalısınız.


2
Gün ışığından yararlanma içine / dışına geçiş gibi zaman özelliklerini içeren hatalar sık ​​kullanılanlardır (Ekim ve Mart'ta) ...
Julia Hayward


4

Ünite testleri başarısız olduğunda (veya belirli bir sorunu izlemiyorsanız, günlük sayfası), Sürekli Entegrasyon altyapısı tarafından gönderilen postanın ardından posta kutunuza bakarsınız ve bu derlemeden hemen önce kimin giriş yaptığını görün. .

O zaman git onunla konuş.


4

Kodunuzun bugün başarısız olmasının sadece iki olası nedeni var, ancak dün çalıştı.

Verilere bak

Test etmediğiniz veya hesaba katmadığınız verilerde bir şeyler var. Veriler doğru bir şekilde doğrulanmadı ya da mantıkta bir hata, öngörmediğiniz mantıksal bir durum ortaya çıkana kadar açıklanmadı. Bu, hatanın dün olduğu anlamına gelir, ancak geçerli veriler altında sizden saklanıyordu.

Bir keresinde haftalarca iyi çalışan bazı sipariş giriş kodlarım vardı. Bir gün eve gittim ve öldü. Ertesi gün soruşturma, işlev çağrıları zincirinde saklı olduğum bir hata olduğunu ortaya çıkardı. Zayıf yazılmış bir dilde, uzun bir int kullanmam gerektiğinde bir tamsayı ilan ettim. Dil, sayı bir tam sayıya sığacak olanı aştığı için, ikisi arasındaki dönüşümü otomatik olarak yapamadı. Sistem, 32768 numaralı siparişte başarısız oldu.

Değişenlere Bak

Çalıştığından beri neyin değiştiğine bakın. BT bölümü bir işletim sistemi güncellemesi başlattı mı? Başka bir kodlayıcı, programınızın kullandığı kodu değiştirdi mi? Kullanıcının izni değişti mi? Genellikle, neyin değiştiğini bulursanız, hatayı bulacaksınız.


3

İkili pirzola

özellikle zor JavaScript hataları için iyi çalışır. Temel olarak kodun yarısını yorumlayın, hatayı alıp almadığınızı görün, kodun bu yarısında yaparsanız bakın. Tekrar yarın ve devam edin.

Kodunuz kapsüllenmişse, bu harika, zaman kazandıran, stres bozucu bir araçtır.

Suçlu kodu bulduktan sonra, hatayı kendi test sayfasında izole etmek faydalı olacaktır.


Tabi eğer projeniz çoklu dosyaları kapsıyorsa, bu, * öksürük rasgele öksürük * ile genişletilebilir. Bu, projenizin dosyalarının yarısını silerek, bu kesinlikle etkili bir stres kırıcı aracıdır (ancak bir yedekleme aldığınızdan emin olun).
Yalan Ryan

Evet, kesinlikle bir desteğiniz olduğundan emin olun!
şimşek

3

Ve elbette, böyle bir durumda olmamak için ne yapılabilir?

Bu soruyu ele alarak Sürekli Entegrasyon'a (CI) bakmak isteyebilirsiniz . Basitçe söylemek gerekirse: CI, geliştiricilerin sık sık (günde birkaç kez) tüm kodu entegre edip test ettiği bir süreçtir. Fikir, başka bir modülü kıran bir modülde yapılan değişikliklerin hızlı bir şekilde bulunmasıdır.

Uygulamada, CI kullanan çoğu takım bir CI Sunucusu kullanır (bakınız: Wikipedia'nın listesi ). CI Sunucusu genellikle SCM deposunu izlemek ve değişiklikleri gördüğünde bir derleme başlatmak için kurulur. Derleme tamamlandığında, bir dizi otomatik test çalıştırır ve sonuçları derlemeye neden olan değişikliklerin yanı sıra derlemenin ve testlerin e-posta ve / veya web sayfası aracılığıyla gönderir. Umarım, bir şey yapıyı veya testleri kırdığında, bakmak için yalnızca çok küçük bir değişiklik yaparsınız, bu yüzden daha çabuk çözülür.

Burada hangi CI Sunucusunun kullanılacağı hakkında başka sorular var, bu yüzden ilgilenmenize izin vereceğim. Şahsen ben büyük bir Jenkins hayranıyım.

[Bir şeylerin kırılması konusunda ne yapmalıyım?]

Diğerlerinin dediği gibi, neyin kırıldığını bul ve tamir etmeye çalış. Suçlamaya çalışmak için zaman harcamak sorunu çözmek için harcanan zamandır.


Evet işte Jenkins kullanıyoruz ve bu gerçekten çok kullanışlı. Farklı sistemlerdeki yapıları izleyebilir ve arızanın ne olduğunu hemen görebiliriz. Bir yapı başarısız olduğunda yanıp sönmeye başlayan gerçek bir garaj fenerimiz bile var.
Nikko

3

Doğal tepkim her zaman başkalarını suçlamaktır, ancak zamanla hata yapan genellikle ben olduğumu farkettim . Yukarıdaki tüm mükemmel yorumlara ek olarak, nihai sebebin ne olduğunu kendiniz için kaydetmeniz önemlidir. Diğer ekip üyeleriyle paylaşılan bir Wiki, özel bir Twiki, Evernote, bir günlük defteri veya iyi bir anı kullanmanız farketmez. Önemli olan, şu anda cevabı bulduğunuzda (ve işe geri dönmek istiyorum!) Sebebini kaydetmektir.


2

Muhtemelen artık çalışmıyorsa, çalışmadığını gösteren belirtileri tespit etmişsinizdir, yani kullanıcıya belirli bir hata iletişim kutusunu kapatır veya geri atar.

Sorunun tek açıklaması "işe yaramazsa" ise, yapmanız gereken ilk şey, sorunun belirtileri hakkında daha fazla bilgi toplamaktır.

Daha sonra, muhtemel sebepleri aramaya başlarsınız, örneğin günlükler veya problemin yeniden yaratılmaya çalışılması veya her ikisinin bir kombinasyonu - sisteminizin nasıl kurulduğuna bağlıdır sanırım.

Sonra onları dışarıda bırakmaya başlarsın.


2

Tatil yaparken genelde olur böyle olur :-)

Daha cidden, onlara önce şunu söylerdim:

  • Neyin yanlış olduğunu ve kökün ne olabileceğini görmek için araştıracağım.

  • Ben tabanını dokunacak görmek için bir şans bir kez 30-60 dakika içinde neler olduğunu

Bu saatten sonra, ne olmuş olabileceği ve halihazırda sabit değilse ve eğer varsa, hangi verileri kaybedebileceğimizi (ne kadar iyi yedeklemelerim olursa, hiçbir zaman gerçekleşmeyecekse) düzeltmeyi ne kadar süreceğini tahmin edebilirim. inşallah).


Suçlama kısmı gelince:

  • eğer sadece bir meslektaş yazım hatası ise, bundan bahsetmeye gerek yok: bok olur ve böceklerden duyulan korku ona bir ders verdi ve umarım bir daha yapmaz.

  • eğer bilerek yapmadığı bir şey yaptıysa (örneğin, üretim sunucusunun kök şifresini yeni adama ver ve ona gözetim olmadan doğrudan bir değişiklik yapmasını söyle) (evet, zaten oldu ...) Bahsetmek zorundayım.


2

Her zamanki hata izleme yöntemleriniz işe yaramazsa ve her şey tamamen karışıksa, kolayca geri yükleyebileceğiniz bir yedeğe sahip olmak harika olabilir.

Bu yerel olarak çalıştığım şey, saat 8: 00-18: 00 arasında otomatik olarak her saat:

rdiff-backup /path/to/mystuff /path/to/mybackup

Basit, ha?

Herhangi bir şeyi geri yüklemek zorunda kalırsanız,

rdiff-backup -r 24h /path/to/mybackup/specific/dir /tmp/restored

rdiff-backup, yalnızca farklı dosyaları depolar. Rdiff-backup programını Linux, mac ve win üzerinde kullanabilirsiniz.

Tabii ki, bu senin tek yedeğin olmamalı. Ancak yerel bir yedeğe sahip olmanın son derece kolay ve ucuz yolu.

Şimdi, bunu normal bir hata düzeltme yöntemi olarak önermem, ama her şey başarısız olursa, geri dönüş olur.


3
sürüm kontrolü daha kolay
thepeer

@ thepeer: kesinlikle anlaştım. Ancak, büyük ikili dosyalar gibi kaynak kontrolüne (özellikle mikro işleme programında) direnen şeyler vardır. Mutluyum, çoğu zaman
saat

@ thepeer: Birisinin bunu sürüm kontrolüne alternatif olarak değerlendireceğini düşünmedim. Bu benim organize bir kaos fikrim olur :) Bu şekilde, dünkü gibi bir kopyanızı aldınız. Kim ne ve ne zaman sürüm kontrol sistemine karar verdiyse önemi yoktur. Son taahhüdün de 2 günden daha uzun bir süre önce olmuş olabilir. Bazı projeler sürüm kontrolü tarafından göz ardı edilen belirli dosyalara sahiptir.
olafure

@sehe: şu an kullandığım git ile kendi kişisel reponuz var, bu yüzden yolun her aşamasında taahhütte bulunmamanız için hiçbir sebep yok.
thepeer eylül

@olafure: Herhangi bir düzgün sürüm kontrol sistemi, sistemin tüm durumunu herhangi bir noktada kontrol etmenize / klonlamanıza izin vermelidir.
thepeer eylül

2

Hata zaten var olmuş olabilir, ancak dış faktörler veya derin sistem sorunları tarafından gizlenmiş.

Bu bana oldu. Projemizin 2 yapısı arasında bir hata gelişti. Kelimenin tam anlamıyla, yaptığımız tek değişiklik , temel kütüphanelerden birinin daha yeni bir sürümüne güncelleme yapmaktı.

Doğal olarak onları suçladık. Ama tek değişiklik onlar yapmıştı daha hızlı derlemek için bazı başlıkları gözden geçirmeniz oldu. Bunun sistemi bozmaması gerektiğine karar verdim.

Çok hata ayıklama sonra sorun latent olmuştu sahtekar işaretçi hata olduğu ortaya çıktı benim için kod yıllar . Her nasılsa, yeniden yapılanmaları çalıştırılabilir düzenlemeyi değiştirene kadar asla tetiklenmedi.


1

Dün doğru çalışıyormuş gibi çalışıyordu.

Diğer insanların bir şeyi kırmanın iyi bir yolu olduğunu farz etmeyecek şekilde kullandıklarını görürsünüz.

Sizi iyi bir test ortamına bıraktığı için günün erken saatlerinde kodu güncellemek her zaman iyidir.

Yedekleme!


-2

Nerede ve nasıl kötü gittiğini tam olarak belirlemek için verilerimin duraklatılması ve kontrol edilmesi için ayar noktalarının belirlenmesini çok faydalı buluyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.