debian προσθήκη χρώματος στο motd (message of the day) σε είσοδο με ssh μέσω κονσόλας
έχω ένα θεματάκι και θα ήθελα βοήθεια. είναι κυρίως θέμα αισθητικής αλλά και πρακτικότητας.

σε debian server συνδεόμαστε μέσω ssh. το μήνυμα που μας καλωσορίζει είναι το λεγόμενο motd (message of the day). εξ αρχής ήθελα να το τροποποιήσω στα μέτρα μου. έχω διαβάσει [την επίσημη τεκμηρίωση](https://wiki.debian.org/motd) και κατάφ…
[εικόνα] soulrain:

το dash είναι ένα shell, όπως το bash (αλλά όχι με ακριβώς τις ίδιες δυνατότητες) και ήταν (είναι ακόμα;) το προεπιλεγμένο shell του συστήματος στο debian. ο πιο απλός τρόπος για να δεις ποιο shell έχεις στο ssh είναι να τρέξεις την εντολή echo "$shell" όταν θα έχεις συνδεθεί.…
Νομίζω ότι το καλύτερο που μπορείτε να κάνετε σε αυτή την περίπτωση είναι να πάρετε τη συμβολή τους και στη συνέχεια να τους δείξουμε τι νομίζεις ότι σημαίνει. Εάν διαφωνούν, να τους δείξουμε τη μορφή που περιμένουμε και να τους πάρει για να εισέλθετε ξανά. Προσθέτοντας την `--decorate`επιλογή θα εμφανιστούν οι αναφορές που δείχνουν προς κάθε commit. Έτσι, για παράδειγμα, θα δείτε **HEAD** και **προέλευσης / HEAD** (ή οτιδήποτε άλλο) στις σωστές θέσεις.


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


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


Ίσως σε μερικά χρόνια, καθώς περισσότερα εργαλεία για να βγει να υποστηρίξει ρυθμιστικά πρωτόκολλο, στη συνέχεια, να αρχίσει να ψάχνει προς αυτή την κατεύθυνση για μια δημόσια api επένδυση. Μέχρι τότε ... [JSON](http://en.wikipedia.org/wiki/JSON) ; Καταλαβαίνω BDD να είναι πιο σχετικά με **τις προδιαγραφές** από **τη δοκιμή** . Συνδέεται με τομέα Driven Σχεδιασμού (δεν αγαπώ αυτά * DD αρκτικόλεξα;).


Αυτό συνδέεται με ένα συγκεκριμένο τρόπο για να γράψει τις ιστορίες των χρηστών, συμπεριλαμβανομένων των δοκιμών υψηλού επιπέδου. Ένα παράδειγμα από [τον Tom δέκα Thij](http://tomtenthij.nl/2008/1/25/rspec-plain-text-story-runner-on-a-fresh-rails-app) :



```
Story: User logging in
  As a user
  I want to login with my details
  So that I can get access to the site

Scenario: User uses wrong password

  Given a username 'jdoe'
  And a password 'letmein'

  When the user logs in with username and password

  Then the login form should be shown again

```

(Στο άρθρο του, ο Τομ πηγαίνει για να εκτελέσουν άμεσα αυτές τις προδιαγραφές δοκιμών σε Ruby.)


Ο Πάπας της BDD είναι [Dan Βορρά](http://dannorth.net/) . Θα βρείτε μια μεγάλη εισαγωγή στο έργο του [Εισαγωγή BDD](http://dannorth.net/introducing-bdd) άρθρο.


Θα βρείτε μια σύγκριση των BDD και TDD σε αυτό το [βίντεο](http://video.google.com/videoplay?docid=8135690990081075324) . Επίσης, μια άποψη για BDD ως «TDD γίνει σωστά» από τον [Jeremy D. Miller](http://codebetter.com/blogs/jeremy.miller/archive/2007/09/06/bdd-tdd-and-the-other-double-d-s.aspx)


**25 του Μαρτίου 2013 ενημέρωση**


Το παραπάνω βίντεο έχει λείψει για κάποιο διάστημα. Εδώ είναι μια πρόσφατη από Llewellyn Falco, [BDD vs TDD (εξηγείται)](https://www.youtube.com/watch?v=mT8QDNNhExg) . Θεωρώ εξήγηση του σαφής και στο σημείο. Χρησιμοποιούμε [MbUnit](http://www.mbunit.com/) και [Rihno χλευάζει](http://www.ayende.com/Blog/archive/2007/03/28/Rhino-Mocks-3.0-Released.aspx) και να αποδειχθεί ότι λειτουργεί πολύ καλά μαζί. Όταν κάνετε TDD θα πρέπει σχεδόν σίγουρα να κάνετε κάποια μορφή ένεσης εξάρτησης, ενώ αυτό μπορεί να γίνει με το χέρι, την αξία του κοιτάζοντας ένα δοχείο ΔΟΕ, όπως [το Κάστρο του Windsor](http://www.castleproject.org/projects/windsor/) .


Είναι καλά αξίζει κοιτάζοντας την οθόνη του Ιωάννη Παύλου Bodhood του ρίχνει για να ξεκινήσετε. [Blog JPB του](http://www.jpboodhoo.com/) Ρίξτε μια ματιά σε αυτό το site <http://www.systemnetmail.com/>


Θα πρέπει να καλύπτει όλους τους τομείς που σχετίζονται με SMTP που θα πρέπει να χαρτογραφήσει π.χ. ssl, sendusing Εάν έχετε πρόσβαση στο Microsoft Outlook 2007 ή το Thunderbird, αυτοί οι πελάτες ηλεκτρονικού ταχυδρομείου σας επιτρέπουν να προσθέσετε RSS feeds με τον ίδιο τρόπο που θα προσθέσει ένα λογαριασμό e-mail.


Μπορώ να χρησιμοποιήσω το Google Reader γενικά, αλλά όταν θέλω να κρατήσει up-to-ημερομηνία με κάτι συγκεκριμένο, μπορώ να προσθέσω το RSS feed στο Outlook και να φτάνει στο inbox μου, σαν να ήταν ένα μήνυμα ηλεκτρονικού ταχυδρομείου. Κάνατε πολύ καλή δουλειά στο να συνοψίσετε τι είναι φοβερό στο 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/). Πιστεύω ότι αυτή είναι μία από τις επιλογές που δεν μπορείτε να κάνετε απευθείας στη γραμμή εντολών. Μπορείτε μάλιστα να χρειαστεί να επεξεργαστείτε το DBML. Ωστόσο, αυτό δεν είναι μια δύσκολη αλλαγή, οπότε θα πρέπει να είναι σε θέση να αυτοματοποιήσει ένα βασικό εργαλείο της γραμμής εντολών.