1 του Νοέμβρη του 2009 2 Σχόλια

Μια προειδοποιητική ιστορία του Αλίμονο: Το σφάλμα που πήραν μακριά

http://markbeljaars.com/wp-content/plugins/sociofluid/images/digg_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/reddit_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/stumbleupon_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/delicious_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/furl_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/technorati_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/facebook_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/yahoobuzz_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/mixx_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/twitter_48.png~~V

Την περασμένη εβδομάδα κυκλοφόρησε μια ενημερωμένη έκδοση του μου Περιεχόμενα Δημιουργού plugin για WordPress. Υπερήφανοι για τον εαυτό μου σε κωδικοποίηση μου, γκρίνια και τη δοκιμή των ικανοτήτων. Ότι όλα ήρθαν συντρίβοντας κάτω σε μία μόνο νύχτα.

Για να κοπεί μια μακρά ιστορία σύντομη, η νέα αναθεώρηση που χρειάζονται μια λειτουργία βοηθό για να εμφανίσετε τις καταχωρήσεις θέση. Η λειτουργία βοηθός ονομαζόταν μόνο από μία λειτουργία και γι 'αυτό επέλεξε να συμπεριλάβει τη λειτουργία αρωγός, ως παιδί αυτής της λειτουργίας. Αυτό είναι κοινή πρακτική σε πολλές γλώσσες, όπως τα πακέτα τακτοποιημένα όλες τις λειτουργίες και τους συνοδούς τους σε κοντινή απόσταση. Η λειτουργία γονέας από τον τρόπο που καλείται κάθε φορά που μια σελίδα εμφανίζεται και παύει να ισχύει αμέσως, εάν η σελίδα δεν περιλαμβάνει το χάρτη της ιστοσελίδας ετικέτα πρωτοβουλία.

Εντάξει. Η ώρα περνάει. Είναι τώρα δύο. Ο κωδικός είναι έτοιμη να δοκιμάσει. Ξέρω ότι οι έξοδοι λειτουργία μητρικής αμέσως, αν δεν βρείτε την ετικέτα έναρξης. Αυτό έχει εργαστεί στο παρελθόν, και πήγα πουθενά κοντά σε αυτό, γι 'αυτό θα πρέπει να συνεχίσουν να εργάζονται. Σωστά; Μπορώ να ελέγξω τη σελίδα χάρτη της ιστοσελίδας, δοκιμάστε όλες τις νέες και παλιές επιλογές και να αποδείξει ότι ο κώδικας λειτουργεί όπως θα έπρεπε. Εγώ συγχρονίσετε γρήγορα το SVN αποθετήριο και βιασύνη για ύπνο να κοιμηθείς πριν ο ήλιος έρχεται.

Το επόμενο πρωί έχω αποφασίσει να ελέγξει μια μεγάλη περιοχή ξέρω που χρησιμοποιεί το plugin μου. Δεν υπάρχει υποκατάστατο για την πραγματική δοκιμή κόσμο. Ναι, φαίνεται όλα καλά. Σε εκείνο το σημείο παρατήρησα μια θέση στο χάρτη της τοποθεσίας που φάνηκε ενδιαφέρουσα. Χτύπησα στη σύνδεση κατηγορίας και παρουσιάστηκε με την πρώτη θέση στην κατηγορία και στη συνέχεια ένα μεγάλο άσχημο μήνυμα λάθους php. Μμμ. Κοίταξα σε ένα άλλο μεγάλο χώρο. Μμμ. Ίσως είναι σύμπτωση. Ας δούμε ένα ακόμα. Ω, όχι!

Έτσι, τι πήγε στραβά; Να θυμάστε ότι η λειτουργία του παιδιού; Έχω ακούσει να λέγεται ότι τα παιδιά μπορεί να είναι κακό και αυτό αποδείχθηκε ότι ήταν αλήθεια σε αυτήν την περίπτωση. Εάν μια σελίδα του ιστολογίου, σελίδα κατηγορίας, σελίδα ετικέτα ή ακόμα και μια σελίδα αυτή εμφανίζεται, πολλαπλά μηνύματα εμφανίζονται σε μία σελίδα. WordPress κάνει αυτό με το να ισχυρίζονται ότι κάθε μήνυμα είναι μια μίνι-σελίδα και συνδέει όλα τα μίνι-σελίδες μαζί για να σχηματίσουν μία μεγάλη σελίδα. Αυτό σημαίνει ότι η λειτουργία των γονέων μου λέγεται πολλές φορές. Κανονικά δεν αποτελεί πρόβλημα. Αλλά τώρα, όπως η λειτουργία περιλαμβάνει τις λειτουργίες του παιδιού, αυτές οι λειτουργίες του παιδιού δημιουργείται κάθε φορά που η λειτουργία καλείται γονέας (ακόμη και αν δεν χρησιμοποιούνται). Ως εκ τούτου, όταν ο τότε δεύτερη θέση εμφανίζεται η σελίδα συντρίβει με διπλότυπο όνομα μήνυμα σφάλματος λειτουργίας. Το αποτέλεσμα ήταν ότι Καθαρό ένα μικρό πρόβλημα σε ένα φαινομενικά άσχετες λειτουργία προκάλεσε αρκετές πολύ μεγάλες ιστοσελίδες για να πάει κάτω.

Το ηθικό της ιστορίας: αν είστε διαχειριστής ιστοσελίδας, βεβαιωθείτε ότι έχετε τρέξει την πλήρη σουίτα των δοκιμών μετά από κάθε ενημέρωση plugin, δεν έχει σημασία πόσο μεγάλο ή μικρό plugin ότι μπορεί να είναι.


SpinChimp Leaderboard 728x90