Πώς μπορώ να χρησιμοποιήσω jtracert να αναλύσει μια εφαρμογή που εκτελείται σε Glassfish;




Θα ήθελα να δημιουργήσουν διαγράμματα ακολουθίας μιας εφαρμογής που εκτελείται ee java χρησιμοποιώντας [jtracert](http://code.google.com/p/jtracert/) . Πώς το κάνω αυτό?
Υπάρχει ένα κεφάλαιο «Quick Start» για το έργο κεντρική σελίδα: <http://code.google.com/p/jtracert/>


Με λίγα λόγια: 1. Εγκαταστήστε SDEdit (είναι εντελώς δωρεάν) <http://sdedit.sourceforge.net/> 
 2. Ανοίξτε SDEdit 3. Επιλέξτε Στοιχείο εκκίνησης / διακοπής του server RT στο μενού Extras 4. Εισάγετε το λιμάνι που σας αρέσει και πατήστε ok 5. Προσθέστε τις ακόλουθες παραμέτρους για την εκκίνηση της εφαρμογής σας: -DanalyzerOutput = sdEditRtClient -DsdEditHost = 127.0.0.1 -DsdEditPort = 60001 -javaagent: jTracert.jar


Ο τόπος όπου θα πρέπει να καθορίσετε αυτές τις παραμέτρους εξαρτάται από το διακομιστή εφαρμογών σας.


Μερικά παραδείγματα αναφέρονται πιο κάτω. Παρακαλείστε να σημειώσετε ότι θα πρέπει να αντικαταστήσει jTracert.jar με το πραγματικό του όνομα βάζο, όπως jTracert-0.0.3.jar!


**WebLogic 9+**


των windows


Αρχείο:% DOMAIN\_HOME% \ bin \ startWeblogic.cmd. Προσθέστε την ακόλουθη γραμμή:


που JAVA\_OPTIONS = -DanalyzerOutput = sdEditRtClient -DsdEditHost = 127.0.0.1 -DsdEditPort = 60001 -javaagent: jTracert.jar% JAVA\_OPTIONS%


Linux


File: $ DOMAIN\_HOME \ bin \ startWeblogic.sh. Προσθέστε την ακόλουθη γραμμή:


JAVA\_OPTIONS = "- DanalyzerOutput = sdEditRtClient -DsdEditHost = 127.0.0.1 -DsdEditPort = 60001 -javaagent: jTracert.jar $ JAVA\_OPTIONS"


**GlassFish V2**


Windows και Linux


Αρχείο:% DOMAIN\_HOME% \ config \ domain.xml


Αναζήτηση για JVM-επιλογές στοιχείο και να προσθέσετε τα στοιχεία -DanalyzerOutput = sdEditRtClient -DsdEditHost = 127.0.0.1 -DsdEditPort = 60001 -javaagent: jTracert.jar Ξεκινήστε τον τομέα, ως συνήθως.
Κάνατε πολύ καλή δουλειά στο να συνοψίσετε τι είναι φοβερό στο 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/). **Για την «ορθογραφία λάθος» μέρος (Μήπως εννοείτε)**


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


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


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

το dash είναι ένα shell, όπως το bash (αλλά όχι με ακριβώς τις ίδιες δυνατότητες) και ήταν (είναι ακόμα;) το προεπιλεγμένο shell του συστήματος στο debian. ο πιο απλός τρόπος για να δεις ποιο shell έχεις στο ssh είναι να τρέξεις την εντολή echo "$shell" όταν θα έχεις συνδεθεί.… αν εννοείς μουσικα video τοτε youtube-dl με καποιο frontend οπως το [youtube-dl-gui](https://github.com/mrs0m30n3/youtube-dl-gui) ή το [clickgrab](https://download.clipgrab.org/clipgrab-3.9.6-x86_64.appimage) πιστευω θα σε βολεψουν.

αν εννοεις και με μετρατροπη σε mp3 τοτε και αυτο το υποστηριζουν τα εν λογω frontends αρκει να αλλαξεις το ειδος του αρχειου που σωζεις σε καθε περιπτωση.

ελπιζω να βοηθησα θα πρέπει να κατεβάσεις το αρχείο ως έχει, αλλά για ποιο λόγο να κάνεις build; νεότερες οδηγίες στα ελληνικά υπάρχουν εδώ

[εικόνα]

[scrcpy: έλεγχος του android μέσω του υπολογιστή](https://cerebrux.net/2020/08/13/scrcpy-android-ipologistis/)

σήμερα θα δούμε πως μπορούμε να πλοηγηθούμε στο android κινητό με το ποντίκι μας μέσω του scrcpy. το scrcpy μπ… Η προτιμώμενη μέθοδος είναι να χρησιμοποιήσετε πραγματικά την ιδιότητα υπό όρους για να τυλίξει τις κλήσεις εντοπισμού σφαλμάτων σας, μην χρησιμοποιήσετε τις οδηγίες μεταγλωττιστή. #ifs μπορεί να πάρει δύσκολες και μπορεί να οδηγήσει σε περίεργα προβλήματα κατασκευής.


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



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

```

Κατά τη μεταγλώττιση, χωρίς το σετ σημαία DEBUG, κάθε κλήση προς WriteDebug θα καταργηθούν όπως υποτίθεται συνέβαινε με Debug.Write (). προτεινω να δοκιμασεις πρωτα με τους ανοιχτους οδηγους να δεις πως θα σε παει και αν συνεχισεις να εχεις προβλημα εγκατεστησε <https://snapcraft.io/install/fwts/manjaro>

που θα μας δωσει αναλυτικες πληροφοριες Όταν άρχισα με `$ nohup storm dev-zookeper`,


**Μέθοδος1:** χρήση `jobs`,



```
[[email protected]](/cdn-cgi/l/email-protection):/home/vmfest# jobs -l
[1]+ 11129 Running                 nohup ~/bin/storm/bin/storm dev-zookeeper &

```

**Method2:**  **χρησιμοποιώντας `ps`την εντολή.** 



```
$ ps xw
PID  TTY      STAT   TIME COMMAND
1031 tty1     Ss+    0:00 /sbin/getty -8 38400 tty1
10582 ?        S      0:01 [kworker/0:0]
10826 ?        Sl     0:18 java -server -Dstorm.options= -Dstorm.home=/root/bin/storm -Djava.library.path=/usr/local/lib:/opt/local/lib:/usr/lib -Dsto
10853 ?        Ss     0:00 sshd: vmfest [priv] 

```

Στήλη TTY με `?`=> `nohup`προγράμματα που εκτελούνται.


**Περιγραφή**


* στήλη TTY = το τερματικό συνδέεται με τη διαδικασία
* στήλη STAT = κατάσταση μιας διαδικασίας
	+ S = διακοπτόμενη ύπνου (αναμονή για ένα γεγονός για να ολοκληρωθεί)
	+ l = είναι multi-threaded (χρησιμοποιώντας CLONE\_THREAD, όπως NPTL Pthreads κάνουμε)


**Αναφορά**


`$ man ps` # Στη συνέχεια αναζήτηση `/PROCESS STATE CODES` Προσθέστε οδηγός σας σε JMeter / lib φάκελο


Στη συνέχεια, προσθέστε μια [Διαμόρφωση JDBC σύνδεσης](https://jmeter.apache.org/usermanual/component_reference.html#JDBC_Request%20%20http://jmeter.apache.org/usermanual/component_reference.html#JDBC_Connection_Configuration) και συμπληρώστε:


* URL Βάση Δεδομένων: <https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-configuration-properties.html>
* JDBC Driver κατηγορία: com.mysql.jdbc.Driver
* σύνδεσης και τον κωδικό πρόσβασης
* Όνομα μεταβλητής θα εντοπίσει τη σύνδεση


Στη συνέχεια, προσθέστε μια [Αίτηση JDBC](https://jmeter.apache.org/usermanual/component_reference.html#JDBC_Request) κάτω από ένα [νήμα Ομάδα](https://jmeter.apache.org/usermanual/component_reference.html#Thread_Group)


και συμπληρώστε:


* Μεταβλητή Όνομα: ίδια τιμή με εκείνη στο JDBC Διαμόρφωση σύνδεσης
* Οι άλλοι τομείς που εξαρτώνται από το τι θέλετε να κάνετε


Διαβάστε αυτό το σεμινάριο:


* [http://jmeter.apache.org/usermanual/build-db-test-plan.html](https://jmeter.apache.org/usermanual/build-db-test-plan.html) <p>απλά χρησιμοποιήστε <a href="http://ruby-doc.org/core-1.9.3/array.html#method-i-sample"><code>array#sample</code></a> :</p><pre><code>[:foo, :bar].sample # =&gt; :foo, or :bar :-) </code></pre><p>διατίθεται σε ruby 1.9.1+. για να μπορέσετε να το χρησιμοποιήσετε με μια προηγούμενη έκδοση του ruby, θα μπορούσατε <a href="https://github.com/marcandre/backports"><code>require "backports/1.9.1/array/sample"</code></a> .</p><p>σημειώστε ότι στο ruby 1.8.7 υπάρχει κάτω από το ατυχές όνομα <code>choice</code>; μετονομάστηκε σε μεταγενέστερη έκδοση, επομένως δεν πρέπει να το χρησιμοποιήσετε.</p><p>παρόλο που δεν είναι χρήσιμη σε αυτή την περίπτωση, το <code>sample</code> δέχεται ένα όρισμα αριθμού σε περίπτωση που θέλετε μια σειρά διακριτών δειγμάτων.</p>