Τι θα ήταν μια καλή Δελφούς λεκτικού / αναλυτή για το αρχείο Javascript γλώσσα;




*Ιστορικό*


Θέλω να είναι σε θέση να αναλύσει πηγή Javascript σε μια εφαρμογή Δελφούς. Θα πρέπει να είναι σε θέση να προσδιορίσουν τις μεταβλητές και τις λειτουργίες στο εσωτερικό της πηγής με σκοπό να κάνει αλλαγές στον κώδικα μέσω αργότερα κώδικα. Κατανοώ ότι ίσως χρειαστεί να χρησιμοποιήσετε ένα λεκτικού για το σκοπό αυτό, αλλά δεν είχε πολλή τύχη με τη χρήση του λεκτικού που βρήκα ( [Dyaclexx](http://www.grendelproject.nl/dyacclex/) ).


*Ερώτηση*


Είναι κατάλληλο δωρεάν ή ανοικτού κώδικα Δελφοί αναλυτή / λεκτικού η οποία έχει ήδη συμβολική σύνολα για Javascript ή θα μπορούσε εύκολα να τροποποιηθεί για το σκοπό αυτό χωρίς πολύ κόπο εκεί; 


Αν δεν υπάρχει ένα τέτοιο εργαλείο είναι ήδη διαθέσιμα τότε ποιος θα ήταν ο καλύτερος τρόπος για να μάθουν για τη σύνταξη του δικού σας λεκτικού για το σκοπό αυτό;


Ευχαριστώ
Για την λεκτικού μπορείτε να δείτε [Synedit του](http://synedit.sourceforge.net/) πηγαίου κώδικα για το highlighter Javascript. Ένα highlighter στο πλαίσιο Synedit είναι μια λεκτικού με ειδικούς γάντζους για την παροχή τονίζοντας στο συστατικό editor. Κοπή αυτά τα αγκίστρια και να πάρει ένα απλό λεκτικού είναι ένα ασήμαντο έργο.


Επίσης Synedit συντάκτης μπορεί να έρθει βολικό όταν μαθαίνουν πώς να οικοδομήσουμε lexers καθώς θα είναι μια βοήθεια για την οπτική δοκιμή lexers σας σε πραγματικό χρόνο. Μπορείτε να δείτε τις επιδείξεις ή να ζητήσει από τη λίστα αλληλογραφίας για περισσότερα.
πας πάνω στο μενού στην επιλογή tools (3η από το τέλος) → language (4η στο dropdown) → more dictionaries online … (5η - τελευταία).

εκεί θα σε πάει σε αυτή τη σελίδα [με λεξικά](https://extensions.libreoffice.org/?tags%5b0%5d=50)

κάνεις αναζήτηση με τη γλώσσα που θες π.χ. greek και διαλέγεις λεξικό από τη λίστα. προσωπικά έχω βάλει το [orthos](https://extensions.libreoffice.org/en/extensions/show/orthos-greek-speller-dictionary-and-thesaurus) .

… **Για την «ορθογραφία λάθος» μέρος (Μήπως εννοείτε)**


* Θα μπορούσατε να κάνετε κάποια `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>


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


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


Για παράδειγμα, με ένα C # έργο στο Visual Studio, μπορείτε να κάνετε δεξί κλικ στα Project-> Ιδιότητες και, στη συνέχεια, να συμπληρώσετε το πεδίο «Εντολή επιχειρήματα γραμμή» στην καρτέλα «Debug». [@stergios](/u/stergios) καλοσωρισες στην παρεα μας.

μπορεις να δοκιμασεις καποια αλλη ιστοσελιδα πχ το <https://vimeo.com> ή το [ted talks](https://www.ted.com/talks)

ο λογος γιατι προτεινω διαφορετικες ιστοσελιδες ειναι για να δω αν ειναι θεμα του browser ή αν ειναι θεμα καποιου codec που μπορει να λοιπει απο το συστημα σου.

παραλληλα ανοι… Κάνατε πολύ καλή δουλειά στο να συνοψίσετε τι είναι φοβερό στο Node.js. Η αίσθησή μου είναι ότι το Node.js είναι ιδιαίτερα κατάλληλο για εφαρμογές όπου θα θέλατε να διατηρήσετε μια μόνιμη σύνδεση από το πρόγραμμα περιήγησης πίσω στον διακομιστή. Χρησιμοποιώντας μια τεχνική γνωστή ως ["long-polling"](https://en.wikipedia.org/wiki/Push_technology#Long_polling), μπορείτε να γράψετε μια εφαρμογή που στέλνει ενημερώσεις στον χρήστη σε πραγματικό χρόνο. Η πραγματοποίηση long polling σε πολλούς από τους γίγαντες του διαδικτύου, όπως το [Ruby on Rails](https://en.wikipedia.org/wiki/Ruby_on_Rails) ή το [Django](https://en.wikipedia.org/wiki/Django_%28web_framework%29), θα δημιουργούσε τεράστιο φόρτο στον διακομιστή, επειδή κάθε ενεργός πελάτης τρώει μια διεργασία του διακομιστή. Αυτή η κατάσταση ισοδυναμεί με επίθεση [tarpit](https://en.wikipedia.org/wiki/Tarpit_(networking)). Όταν χρησιμοποιείτε κάτι όπως το Node.js, ο διακομιστής δεν έχει ανάγκη να διατηρεί ξεχωριστά νήματα για κάθε ανοιχτή σύνδεση. 


Αυτό σημαίνει ότι μπορείτε να δημιουργήσετε μια [εφαρμογή συνομιλίας με βάση το πρόγραμμα περιήγησης](https://github.com/rivalslayer/node_chat) σε Node.js που δεν χρειάζεται σχεδόν καθόλου πόρους συστήματος για να εξυπηρετεί πολλούς πελάτες. Κάθε φορά που θέλετε να κάνετε αυτού του είδους τη μακροχρόνια αναζήτηση, το Node.js είναι μια εξαιρετική επιλογή. 


Αξίζει να αναφέρουμε ότι και η Ruby και η Python έχουν εργαλεία για να κάνουν κάτι τέτοιο ([eventmachine](http://rubyeventmachine.com/) και [twisted](https://twistedmatrix.com/trac/), αντίστοιχα), αλλά ότι το Node.js το κάνει εξαιρετικά καλά, και από την αρχή. Η JavaScript είναι εξαιρετικά καλά τοποθετημένη σε ένα μοντέλο ταυτόχρονης λειτουργίας βασισμένο σε callback, και υπερέχει εδώ. Επίσης, η δυνατότητα σειριοποίησης και αποσειριοποίησης με JSON εγγενές τόσο στον πελάτη όσο και στον διακομιστή είναι αρκετά έξυπνη.


Ανυπομονώ να διαβάσω άλλες απαντήσεις εδώ, αυτή είναι μια φανταστική ερώτηση.


Αξίζει να επισημάνουμε ότι το Node.js είναι επίσης εξαιρετικό για καταστάσεις στις οποίες θα επαναχρησιμοποιήσετε πολύ κώδικα σε όλο το χάσμα πελάτη/εξυπηρετητή. Το [Meteor framework](https://meteor.com) το κάνει αυτό πολύ εύκολο, και πολλοί άνθρωποι προτείνουν ότι αυτό μπορεί να είναι το μέλλον της ανάπτυξης ιστοσελίδων. Μπορώ να πω από την εμπειρία μου ότι είναι πολύ διασκεδαστικό να γράφεις κώδικα στο Meteor, και ένα μεγάλο μέρος αυτού είναι να ξοδεύεις λιγότερο χρόνο σκεπτόμενος πώς θα αναδομήσεις τα δεδομένα σου, ώστε ο κώδικας που εκτελείται στο πρόγραμμα περιήγησης να μπορεί εύκολα να τα χειριστεί και να τα μεταβιβάσει πίσω.


Εδώ είναι ένα άρθρο για το Pyramid και το long-polling, το οποίο αποδεικνύεται ότι είναι πολύ εύκολο να ρυθμιστεί με λίγη βοήθεια από το gevent: [*TicTacToe και Long Polling με την Pyramid*](http://michael.merickel.org/2011/6/21/tictactoe-and-long-polling-with-pyramid/). Η προτιμώμενη μέθοδος είναι να χρησιμοποιήσετε πραγματικά την ιδιότητα υπό όρους για να τυλίξει τις κλήσεις εντοπισμού σφαλμάτων σας, μην χρησιμοποιήσετε τις οδηγίες μεταγλωττιστή. #ifs μπορεί να πάρει δύσκολες και μπορεί να οδηγήσει σε περίεργα προβλήματα κατασκευής.


Ένα παράδειγμα της χρήσης ενός υπό όρους χαρακτηριστικό είναι η εξής (σε C #, αλλά λειτουργεί σε VB.NET πολύ):



```
[ Conditional("Debug") ]
private void WriteDebug(string debugString)
{
  // do stuff
}

```

Κατά τη μεταγλώττιση, χωρίς το σετ σημαία DEBUG, κάθε κλήση προς WriteDebug θα καταργηθούν όπως υποτίθεται συνέβαινε με Debug.Write (). εντάξει, όλα καλά. το θέμα λύθηκε. η απορία όμως έμεινε.

**τι έκανα:text

άλλαξα τα repos σε testing. αυταααα… ευχαριστώ όλους για την συμπαράσταση!! ευχαριστώ και το [linux-user.gr](http://linux-user.gr) γιατί υπάρχει. Από τα περαιτέρω σχόλια που έγιναν από τον συγγραφέα, που ψάχνουν για ένα Node.js ORM που λειτουργεί με δύο οδηγούς MySQL και Oracle.


Εκεί δεν φαίνεται να είναι πολλά ΝΤΥΠΑ που ταιριάζει η περιγραφή και είναι επίσης υποστηρίζονται (προειδοποίηση - βασίζονται αποκλειστικά σε λίγες αναζητήσεις του Google).


Υπάρχει μία διαπίστωσα ότι ταιριάζει με την περιγραφή αν και ακόμα φαίνεται να υποστηρίζεται ενεργά και ότι είναι knex (βλ <https://knexjs.org> ). εγώ θα πρότεινα sparky

<https://sparkylinux.org/download/stable/>
<https://sparkylinux.org/download/rolling/>

έχει εκδόσεις lxqt, xfce, και minimalgui (νομίζω openbox). διάλεξε ανάλογα με τα γούστα, πιο ενδιαφέρουσα επιλογή είναι το lxqt, το xfce είναι κάπως πιο συνηθισμένο/γνώριμο, το openbox είναι … Στο λινκ <https://www.duolingo.com/translations>


αλλα δεν υπαρχουν από ή προς Ελληνικά ακόμα.