Πώς μπορείτε να προσεγγίσετε διαλείπουσα σφάλματα;




Σενάριο



Έχετε αρκετές αναφορές σφαλμάτων όλα δείχνουν το ίδιο πρόβλημα. Είναι όλοι αινιγματικά με παρόμοιες ιστορίες για το πώς προέκυψε το πρόβλημα. Μπορείτε να ακολουθήσετε τα βήματα, αλλά δεν αξιόπιστα αναπαράγει το πρόβλημα. Μετά από κάποια έρευνα και web αναζήτηση, υποψιάζεστε ότι αυτό θα μπορούσε να συμβαίνει και είστε αρκετά σίγουροι ότι μπορείτε να το διορθώσετε.


Πρόβλημα



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


Ερώτηση



Πώς θα πάτε για την επαλήθευση της αλλαγής σας;


Νομίζω ότι αυτό είναι ένα πολύ γνωστό σενάριο σε όποιον έχει σχεδιάσει το λογισμικό, οπότε είμαι σίγουρος ότι υπάρχει μια πληθώρα προσεγγίσεων και βέλτιστων πρακτικών για την αντιμετώπιση σφάλματα όπως αυτό. Αυτή τη στιγμή ψάχνουν σε ένα από αυτά τα προβλήματα στο έργο μας, όπου έχω περάσει κάποιο χρονικό διάστημα τον προσδιορισμό του προβλήματος, αλλά δεν ήταν σε θέση να επιβεβαιώσει τις υποψίες μου. Ένας συνάδελφος είναι μουλιάσει-δοκιμές λύση μου με την ελπίδα ότι «την ημέρα της λειτουργίας χωρίς συντριβή» ισοδυναμεί με «είναι σταθερή». Ωστόσο, θα προτιμούσα μια πιο αξιόπιστη προσέγγιση και σκέφτηκα ότι υπάρχει μια πλούσια εμπειρία εδώ στην ΑΑ.
Σφάλματα που είναι δύσκολο να αναπαραχθούν είναι το πιο δύσκολο να επιλυθεί. Τι θα πρέπει να βεβαιωθείτε ότι έχετε βρει τη ρίζα του προβλήματος, ακόμα και εάν το πρόβλημα δεν μπορεί να αναπαραχθεί με επιτυχία.


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


Μερικές φορές, για τον καθορισμό αυτό που θεωρείται ως η ρίζα λύνει πράγματι ένα πρόβλημα, αλλά δεν είναι το σωστό - δεν υπάρχει αυτό αποφεύγεται. Ο καλύτερος τρόπος για να αποφευχθεί η διαλείπουσα σφάλματα είναι να είστε προσεκτικοί και μεθοδικοί με το σχεδιασμό του συστήματος και την αρχιτεκτονική.
Συνήθως δεχόμαστε είτε "have to" είτε "must". Στείλτε μας, παρακαλώ, ένα συγκεκριμένο παράδειγμα που μπορούμε να ελέγξουμε για λάθοι. Ενώ μόδας, η λέξη-κλειδί κόλπο αναθεώρηση ενημερώνει μόνο το αρχείο όταν έχει αλλάξει σε αυτή την αναθεώρηση - αν δεν αλλάξει το αρχείο, τότε θα συνεχίσει να αντικατοπτρίζει την παλιά αναθεώρηση.


Αν θέλετε το λογισμικό να αντανακλά πάντα το συνολικό αριθμό αναθεώρησης, τότε θα πρέπει να σκαλίζω το [σχετικό SVN καταχωρήσεις αρχείο](http://svnbook.red-bean.com/en/1.1/ch08s03.html) και αποσυμπιέστε το, το οποίο δεν είναι πάρα πολύ δύσκολο (αυτό είναι ένα αρχείο XML).


Wikipedia το κάνει αυτό στη [σελίδα τους εκδοχή](https://en.wikipedia.org/wiki/Special:Version) για να δείξει την αναθεώρηση του λογισμικού που τρέχει ζωντανά? [ο κώδικας είναι εδώ](https://svn.wikimedia.org/svnroot/mediawiki/trunk/phase3/includes/specials/SpecialVersion.php) - αναζητήστε το **getSvnRevision ()** μέθοδο. Θα χρησιμοποιηθεί για να πάρει αυτό - νομίζω ότι είναι ένα bug με το παράθυρο εντοπισμού σφαλμάτων «Autos»:


[http://social.msdn.microsoft.com/Forums/en-US/vsdebug/thread/eabc58b1-51b2-49ce-b710-15e2bf7e7516/](https://social.msdn.microsoft.com/Forums/en-US/vsdebug/thread/eabc58b1-51b2-49ce-b710-15e2bf7e7516/) **Για την «ορθογραφία λάθος» μέρος (Μήπως εννοείτε)**


* Θα μπορούσατε να κάνετε κάποια `LIKE`ερωτήματα στο db π.χ. `LIKE %j%e%a%n%s%`, αλλά αν θέλετε να το κάνετε καλά, θα πρέπει να χρησιμοποιήσετε μια βιβλιοθήκη αναζήτησης όπως αυτό:


	+ <https://github.com/TomLingham/Laravel-Searchy>
	+ <http://tnt.studio/blog/did-you-mean-functionality-with-laravel-scout>



> 
> Μπορείτε να δημοσιεύσετε το αρχείο ρυθμίσεων στον κατάλογο της εφαρμογής σας και να παρακάμψετε τις ρυθμίσεις, εκτελώντας php τεχνίτη πωλητή: δημοσιεύει για να αντιγράψετε τις ρυθμίσεις στο φάκελο config σας όπως searchy.php
> 
> 
> Μπορείτε να ορίσετε το προεπιλεγμένο πρόγραμμα οδήγησης που θα χρησιμοποιηθεί για τις αναζητήσεις στο αρχείο ρυθμίσεων. Οι επιλογές σας (στην παρούσα φάση) είναι: ασαφή, απλό και Levenshtein.
> 
> 
> Μπορείτε επίσης να παρακάμψετε αυτές τις μεθόδους, χρησιμοποιώντας την ακόλουθη σύνταξη κατά την εκτέλεση μιας αναζήτησης:
> 
> 
> 


Με τον καθορισμό [Levenshtein απόσταση](https://en.wikipedia.org/wiki/Levenshtein_distance) μπορείτε να finetune πόσο μακριά μια λέξη μπορεί να είναι.


* Αν χρειάζεστε καλύτερη απόδοση θα πρέπει να εξετάσει κάτι σαν `solr`ή `elasticsearch`για το έργο αυτό.


<https://wiki.apache.org/solr/SpellCheckComponent>
<https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-fuzzy-query.html>


**Για το τμήμα μετάφρασης**


Απλά θα πρέπει να έχει ένα λεξικό έτοιμο σε βάση δεδομένων ή εντοπισμό των αρχείων σας και εκτελέστε το χαμηλότερο σημείο εισόδου και αυτό. Αναμείνετε υψηλή φορές υπολογιστών τόσο για τη διόρθωση ορθογραφίας και της μετάφρασης στον κώδικά σας. το πρόβλημα μάλλον είναι ότι δεν κλείνει ουσιαστικά η εφαρμογή. είχα παρόμοιο θέμα πριν αρκετό καιρό(νομίζω κάποια στιγμή είχα απαντήσει εδώ σε ανάλογο θέμα). αυτό που έκανα εγώ και διόρθωσε το πρόβλημα ήταν η τροποποίηση της συντόμευσης για το άνοιγμα της εφαρμογής και η αλλαγή της γραμμής που ανοί… Μπορείς να μας δώσεις λίγες περισσότερες πληροφορίες για να προσπαθήσουμε να εντοπίσουμε το πρόβλημα; Μια εικόνα από την αρχική σελίδα και ίσως από τις τελευτέες ενότητες θα βοηθούσαν. μετά από πληροφορίες που βρήκα το έφτιαξα,

γενικά το κατάλαβα αμέσως όταν έκανα την βλακεία και δεν έκλεισα τον υπολογιστή. οπότε είχα διαθέσιμο τον υπολογιστή μου για την επιδιόρθωση αφού το λειτουργικό ήταν φορτομένο στη ram. έχουμε και λέμε:

με την εφαρμογή disks. ξαναδημιούργησα το partition… νομίζω ότι ο 5.13 δεν είναι ακόμη σταθερός(είναι σε στάδιο rc εκδόσεων απ’ ότι βλέπω) κι έτσι εκτός του ότι δεν είναι βέβαιο ότι θα λυθεί το πρόβλημά σου μπορεί να δημιουργηθούν και άλλα περισσότερα. καλύτερα νομίζω είναι(αφού όπως γράφεις το πρόβλημα δημιουργήθηκε μετά την τελευταία αναβάθμιση του … αν δεν έχεις πρόβλημα, καλύτερα μην κάνεις τίποτα. όπως το βλέπω μάλλον είναι αδιάφοροι αισθητήρες που δεν αναγνωρίζονται σωστά. (μπορείς να ελπίζεις ότι απλά θα φτιάξει σε επόμενους πυρήνες linux, αλλά πιστεύω δεν είναι καν σημαντικό θέμα) να τα πάρουμε με τη σειρά για να μη γίνει μπέρδεμα;

άρχικά, ένας αυτοματοποιημένος εγκαταστάτης μπορεί να μην εμφανίσει κάποιο μήνυμα λάθους αλλά αρκεί ένα τυπογραφικό λάθος στον κώδικά του για να μην πετύχει μια απλή ρύθμιση ας πούμε.

τώρα, το μενού του septor στο πρώτο screenshot αντιστοιχεί στη…