portaldacalheta.pt
  • Κύριος
  • Τροποσ Ζωησ
  • Ζωή Σχεδιαστών
  • Kpi Και Analytics
  • Σχεδιασμός Μάρκας
Διεπαφή Ιστού

Οι πολλοί διερμηνείς και οι χρόνοι εκτέλεσης της γλώσσας προγραμματισμού Ruby



Εισαγωγή

Όπως υπάρχουν πολλές αποχρώσεις του ρουμπίνι , υπάρχουν πολλές υλοποιήσεις του διερμηνέα Ruby.

Ο πιο συχνά χρησιμοποιούμενος διερμηνέας Ruby είναι η εφαρμογή αναφοράς, Ruby MRI , αναπτύχθηκε στο C από τον δημιουργό του Ruby (Yukihiro Matsumoto) και της βασικής ομάδας του Ruby.



Μας Οδηγός πρόσληψης Ruby on Rails αναφέρει ότι ορισμένα από τα μειονεκτήματα στο Rails μπορούν δυνητικά να επιλυθούν ή να αποφευχθούν χρησιμοποιώντας έναν εναλλακτικό διερμηνέα Ruby. Αυτό το άρθρο παρουσιάζει τις διάφορες υπάρχουσες υλοποιήσεις διερμηνέα Ruby και τους χρόνους εκτέλεσης που διατίθενται σήμερα, συζητώντας τα πλεονεκτήματα και τα μειονεκτήματα του καθενός.



Μια λίστα με τους διερμηνείς Ruby και τους χρόνους εκτέλεσης, συμπεριλαμβανομένων των mruby, JRuby, RubyMotion, Rubinius και Ruby MRI



Ιστορικό έκδοσης Ruby (και πώς επηρεάζει εναλλακτικές εφαρμογές)

Δυστυχώς, δεν υπάρχει ισοδύναμο του Αναφορά γλώσσας Python για Ruby ( ISO / IEC 30170: 2012 περιγράφει το Ruby 1.8 / Ruby 1.9, αλλά δεν υπάρχει αντίστοιχη προδιαγραφή για το Ruby 2.x). Ελλείψει οποιασδήποτε τέτοιας προδιαγραφής γλώσσας, οι εκτελεστές Ruby βασίζονται συνήθως στην κοινοτική καθοδήγηση RubySpec που καθορίζει τις αναμενόμενες συμπεριφορές της γλώσσας Ruby μέσω δοκιμών που μπορούν να εκτελεστούν σε οποιονδήποτε διερμηνέα Ruby. Το RubySpec χρησιμοποιείται επομένως από τους εφαρμοστές Ruby για να επαληθεύσει τη συμμόρφωση συμπεριφοράς των εφαρμογών Ruby τους με το de facto πρότυπο.

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



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

Ποτέ δεν ήταν πιο δύσκολο από ό, τι στη μετάβαση μεταξύ Ruby 1.8 και Ruby 1.9. Το 2007, σε μια προσπάθεια καθαρισμού και ενοποίησης της σύνταξης του Ruby (καθώς η γλώσσα είχε εξελιχθεί στη δεκαετία από την κυκλοφορία του Ruby 1.0), η ομάδα του Ruby core κυκλοφόρησε το Ruby 1.9.0, μια έκδοση που εισήγαγε Πολλά προς τα πίσω ασυμβατότητες στη γλώσσα. Ως αποτέλεσμα, δεν έχουν επενδύσει όλες οι υλοποιήσεις της Ruby την απαραίτητη προσπάθεια για να κάνουν το συντακτικό άλμα από 1,8 σε 1,9. Ως εκ τούτου, υπάρχουν αρκετές υλοποιήσεις Ruby που βασίζονται σε 1.8 και δεν χρησιμοποιούνται πλέον από την κοινότητα, αλλά για τις οποίες ενδέχεται να εξακολουθείτε να βρίσκεστε στο διαδίκτυο ή να συζητάτε από παλιά χέρια Ruby.



Μια νέα έκδοση του Ruby MRI κυκλοφορεί κάθε Χριστούγεννα, ακολουθώντας μια σημασιολογική αρχή εκδόσεων. Το Ruby 2.0 (κυκλοφόρησε το 2013) και το 2.1 (κυκλοφόρησε το 2014) το καθένα εισήγαγε πρόσθετα χαρακτηριστικά γλώσσας που Προγραμματιστές Ruby μπορεί να επωφεληθεί, χωρίς να χάσει τη συμβατότητα με το Ruby 1.9.

Γιατί να χρησιμοποιήσετε μια εναλλακτική εφαρμογή Ruby; Τι συμβαίνει με τη μαγνητική τομογραφία;

Υπάρχει μια ποικιλία εναλλακτικών εφαρμογών Ruby, που υποστηρίζουν ένα ευρύ φάσμα περιπτώσεων χρήσης και περιβαλλόντων. Περιβάλλοντα Java Enterprise. Κινητές εφαρμογές. Εφαρμογές JavaScript. Μηχανές χαμηλής CPU / RAM. Εκτός από την υποστήριξη αυτών των περιπτώσεων χρήσης, οι εναλλακτικές εφαρμογές μπορούν μερικές φορές να προσφέρουν επιπλέον ώθηση στην ταχύτητα ή πιο αποτελεσματική χρήση μνήμης, ανάλογα με τα χαρακτηριστικά της εφαρμογής σας.



Για πολύ καιρό πολλοί Ruby on Rails χρησιμοποιούνται προγραμματιστές Ruby Enterprise Edition (REE) αντί για MRI, εκμεταλλευόμενοι τις καλύτερες τεχνικές διαχείρισης μνήμης στο REE σε σύγκριση με την έκδοση MRI εκείνη την εποχή. (Η REE στη συνέχεια διακόπηκε το 2012.)

Ενώ το MRI είναι η προεπιλεγμένη εφαρμογή Ruby, δεν είναι απαραίτητα η σωστή επιλογή για όλα τα περιβάλλοντα και τα σενάρια. Για παράδειγμα, η υποστήριξη ταυτόχρονης μαγνητικής τομογραφίας είναι κατώτερη από αυτήν του JRuby ή του Rubinius. Επίσης, παρόλο που τα προγράμματα μνήμης και συλλογής απορριμμάτων της μαγνητικής τομογραφίας βελτιώνονται συνεχώς, εξακολουθούν να έχουν κάποια προβλήματα.



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

llc c corp vs s corp

Matz’s Ruby Interpreter (MRI) / CRuby

Γράφτηκε στο C από τον βασικό της Ruby team επικεφαλής του Yukihiro Matsumoto ('Matz', δημιουργός του Ruby), το MRI είναι η εφαρμογή αναφοράς του Ruby που χρησιμεύει ως το de facto πρότυπο. Εάν ένας προμηθευτής λειτουργικού συστήματος περιλαμβάνει μια έκδοση του Ruby ως μέρος του εγκατεστημένου λογισμικού, για παράδειγμα, είναι συνήθως η έκδοση MRI. Το MRI επωφελείται από περισσότερα πληρωμένα μέλη της βασικής ομάδας από οποιαδήποτε άλλη εφαρμογή Ruby, καθώς και από συνεισφερόμενους πόρους αφιερωμένους από άτομα ή εταιρείες που θέλουν να βελτιώσουν το οικοσύστημα Ruby.



Μια νέα έκδοση του Ruby MRI - που συχνά υλοποιεί νέες λειτουργίες γλώσσας, εκτός από τις τυπικές αλλαγές βιβλιοθήκης - κυκλοφορεί κάθε Χριστούγεννα. Οι λειτουργίες εφαρμόζονται πρώτα στο Ruby MRI, συνήθως βασίζονται σε συζητήσεις για το Λίστα αλληλογραφίας προγραμματιστή Ruby core . Άλλες εφαρμογές Ruby υστερούν, σε ορισμένες περιπτώσεις ακόμη και με χρόνια.

JRuby

JRuby είναι μια έκδοση του Ruby που εφαρμόζεται στην κορυφή του Εικονική μηχανή Java (JVM) . Καθώς γίνεται δημοφιλές για γλώσσες πέρα ​​από την Java να τρέχουν στην κορυφή του JVM (κοιτάζω προς την κατεύθυνση σας, Clojure και Σκάλα ), μια εφαρμογή Ruby που βασίζεται σε JVM είναι πιθανό να κερδίσει δημοτικότητα.

Το Ruby στο JVM σημαίνει επίσης ότι το Ruby μπορεί να τρέξει οπουδήποτε μπορεί να τρέξει η Java (όπως τηλέφωνα Android, χρησιμοποιώντας Ρουμπότο για παράδειγμα). Επιπλέον, χάρη στη διαλειτουργικότητα του JVM, ο κώδικας JRuby μπορεί να χρησιμοποιήσει την πλατφόρμα Java, συμπεριλαμβανομένων τόσο των τυπικών όσο και των βιβλιοθηκών τρίτων.

Το JRuby είναι επίσης χρήσιμο για τη μεταφορά μιας λύσης που βασίζεται σε Rails σε περιβάλλον ανάπτυξης μόνο για Java, συσκευάζοντας την εφαρμογή Rails ως .war αρχείο για ανάπτυξη σε ένα Γάτος κοντέινερ ή ως μικροεφαρμογή Java που εκτελείται ως μέρος της διεπαφής ιστού, για παράδειγμα.

Ωστόσο, για όσους δεν είναι συνηθισμένοι στο JVM, το JRuby φέρνει τυπικά ζητήματα που σχετίζονται με το JVM, όπως αργή εκκίνηση του διερμηνέα Ruby, εντοπισμός σφαλμάτων ζητημάτων CLASSPATH εάν χρησιμοποιείτε βιβλιοθήκες Java τρίτων, μεγαλύτερη χρήση μνήμης και το γεγονός ότι τώρα ο κώδικάς σας πρέπει να γραφτεί με γνώμονα την ασφάλεια των νημάτων.

Επίσης, ορισμένα χαρακτηριστικά του Ruby (C APIs και ένα από τα ισχυρά εργαλεία ενδοσκόπησης του Ruby, το ObjectSpace module) δεν εφαρμόζονται στο JRuby.

Ωστόσο, τα πλεονεκτήματα της χρήσης του JVM μπορεί να υπερτερούν των μειονεκτημάτων για ορισμένες καταστάσεις ή έργα. Το JVM επιτρέπει πολλές βελτιστοποιήσεις απόδοσης, όπως την ενεργοποίηση του μεταγλωττιστή JIT ή τη χρήση εγγενών αντικειμένων Java και API.

Ως παράδειγμα μιας συναρπαστικής θήκης JRuby, ένας πρώην συνεργάτης μου είχε κάποτε ένα πρόβλημα εντάσεως CPU που είχε λύσει αρχικά με νήματα στο Ruby 1.9.3. Όταν άλλαξε στο JRuby και χρησιμοποίησε την Java java.util.concurrent.Executors, είδε μια βελτίωση απόδοσης πολλαπλών παραγγελιών μεγέθους (δεκάδες χιλιάδες φορές πιο γρήγορα) για αυτήν τη λειτουργία. Δείτε το πείραμά του εδώ .

Ρουμπίνιους

Ρουμπίνιους είναι μια εφαρμογή του Ruby που εφαρμόζει ένα γενικό χρόνο εκτέλεσης για δυναμικές γλώσσες πάνω από ένα Εικονική μηχανή χαμηλού επιπέδου (LLVM) . Χρησιμοποιώντας αυτήν την υποδομή και την τεχνολογία μεταγλωττιστή JIT, ο Rubinius μπορεί συχνά να εκτελεί κώδικα Ruby με λιγότερα γενικά έξοδα από το MRI.

Το Rubinius είναι επίσης κατασκευασμένο χρησιμοποιώντας όσο το δυνατόν περισσότερο Ruby για να κάνει την ανάπτυξη του διερμηνέα / χρόνου εκτέλεσης ταχύτερη και ευκολότερη.

Διασκεδαστικό γεγονός: Το RubySpec αρχικά δημιουργήθηκε στη διαδικασία εφαρμογής του Rubinius.

Όπως το JRuby, το Rubinius περιλαμβάνει έναν μεταγλωττιστή JIT, καλύτερη διαχείριση μνήμης και μια πιο ώριμη εικονική μηχανή από το Ruby MRI. Ωστόσο, σε αντίθεση με το JRuby, ο Rubinius υποστηρίζει βιβλιοθήκες Ruby C και οι βάσεις του Rubinius είναι γραμμένες σε C ++ και όχι σε Java.

Το Rubinius μπορεί να είναι ένα καλό μεσαίο έδαφος όταν χρειάζεστε υψηλή απόδοση στους διακομιστές Rails χωρίς την καμπύλη εκμάθησης ή άλλα μειονεκτήματα του JRuby.

mruby

mruby έχει σχεδιαστεί για να είναι ενσωματωμένη έκδοση του Ruby (υποστηρίζει Ruby 1.9.3). Με το mruby, μπορείτε να προσφέρετε το Ruby ως γλώσσα scripting / automation σε εγγενείς εφαρμογές, να το χρησιμοποιήσετε για scripting παιχνιδιών, ακόμα και για προγραμματισμό πινάκων μικροελεγκτών όπως το Raspberry Pi .

Εάν η πλατφόρμα σας έχει σοβαρούς περιορισμούς πόρων, το mruby μπορεί να είναι μόνο ο διερμηνέας Ruby για εσάς. Το mruby χρησιμοποιείται επίσης για:

Η ____ μειώνει το μέγεθος μιας βάσης δεδομένων και διευκολύνει την εργασία με τα δεδομένα.
  • Δημιουργήστε εφαρμογές iOS (ως ανταγωνιστής του RubyMotion, που συζητείται παρακάτω)
  • Ενσωμάτωση Ruby σε εφαρμογές iOS, για ταχύτητα ανάπτυξης
  • Προσφέρετε στους τελικούς χρήστες μια ενσωματωμένη γλώσσα δέσμης ενεργειών για σκοπούς αυτοματισμού

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

Οπάλιο

Οπάλιο είναι ένα παίχτης για να μετατρέψετε τον Ruby σε JavaScript.

Με την άνοδο του Καφέ , οι προγραμματιστές μαθαίνουν ότι δεν χρειάζεται να πληκτρολογήσουν JavaScript παίρνω JavaScript. Ενώ το Coffeescript έχει ομολογουμένως τα πλεονεκτήματά του, χρησιμοποιήστε το για μεγάλο χρονικό διάστημα και είστε υποχρεωμένοι να συναντήσετε πράγματα που δεν σας αρέσουν στη γλώσσα.

Εισαγάγετε Opal: Πληκτρολογήστε Ruby, λάβετε Javascript . Πολύ ωραίο.

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

Το Opal λειτουργεί αυτόνομα ή μπορεί να χρησιμοποιηθεί ως μέρος του Αγωγός ράγας (π.χ., να μεταφέρετε αυτόματα το αρχείο somefile.js.rb σε JavaScript).

Ίσως έχετε έναν προβληματικό τομέα κατάλληλο για το ασύγχρονο μοτίβο ταυτόχρονης JavaScript (όπως μια μικρή υπηρεσία Node.js), αλλά θέλετε τη γλώσσα ή συγκεκριμένους πολύτιμους λίθους από τον χώρο του Ruby. Το Opal μπορεί να είναι μια καλή λύση για εσάς σε αυτήν την περίπτωση.

Ή ίσως θέλετε να γράψετε μια πλήρη εφαρμογή Ruby web. Με το Opal μπορείτε. Ζητήστε από έναν διερμηνέα Ruby να εκτελεί τον κωδικό Ruby από την πλευρά του διακομιστή και, στη συνέχεια, κάντε Opal να δημιουργεί JavaScript για να εκτελεστεί από την πλευρά του πελάτη.

Η Opal αναγνωρίζει ότι πιθανότατα αλληλεπιδράτε με άλλα API JavaScript (το DOM ή Node.js για παράδειγμα). Επομένως, καθιστά εύκολη τη μετάβαση σε JavaScript και παρέχει κάποια συντακτική ζάχαρη Ruby σε σχέση με τις κοινές βιβλιοθήκες JavaScript όπως jQuery .

Ο κεντρικός χαρακτήρας της Opal, ωστόσο, είναι η δύναμη και η αδυναμία του. Στο κάτω μέρος, ο χρόνος εκτέλεσης του Opal είναι ο χρόνος εκτέλεσης JavaScript και το Opal ενημερώνεται με αποφάσεις σχεδιασμού JavaScript. Επομένως, αν ψάχνετε για μια καλή εφαρμογή του Ruby για να γράψετε ένα μικρό σενάριο με κέλυφος, ή ψάχνετε για καλύτερο χρόνο εκτέλεσης Ruby για την εφαρμογή Rails, το Opal πιθανότατα δεν είναι η καλύτερη επιλογή σας.

RubyMotion

RubyMotion είναι και οι δύο (α) εφαρμογή Ruby (γραμμένη με χρήση του Objective-C και Κακάο ) και (β) ένα σύνολο δεσμευτικών γλωσσών, ώστε οι προγραμματιστές να έχουν πρόσβαση στα API κακάου μέσω του Ruby.

Το RubyMotion είναι ένα εμπορικό προϊόν που σας επιτρέπει να γράφετε εγγενείς εφαρμογές κακάου στο Ruby. Το RubyMotion 2.0 σάς επιτρέπει να γράφετε εφαρμογές iOS και Mac OS X στο Ruby και το RubyMotion 3 υπόσχεται να φέρει την ίδια υποστήριξη στο Android.

Το RubyMotion εφαρμόζει την έκδοση 1.9 της γλώσσας Ruby.

Εσφαλμένες υλοποιήσεις

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

  • Ruby Enterprise Edition (REE). Το REE ήταν ένα πιρούνι MRI 1.8 από τους λαούς στο Επιβάτης Phusion που εφάρμοσε πολλές βελτιώσεις στη μνήμη και τη συλλογή απορριμμάτων για προγραμματιστές ιστού. Για αρκετά χρόνια, ήταν η προεπιλεγμένη εφαρμογή Ruby που αναπτύχθηκε για ιστότοπους Rails παραγωγής. Ωστόσο, δεν ενημερώθηκε ποτέ για το Ruby 1.9 ή το Ruby 2.0 και τελικά σταμάτησε το 2012.
  • IronRuby. Το IronRuby εφαρμόζεται στο Ruby πάνω από το Microsoft .NET, γραμμένο σε C # και για λίγο το έργο χρηματοδοτήθηκε από τη Microsoft. Εγκαταλειφθεί το 2011, η IronRuby υποστήριξε τελευταία την Ruby 1.8.6.

Τύλιξε

Υπάρχει μια μεγάλη ποικιλία από χρόνους εκτέλεσης και διερμηνείς για να διαλέξετε στο τοπίο Ruby. Για τους περισσότερους Έργα Ruby , η εφαρμογή αναφοράς Ruby (Ruby MRI) παραμένει ο διερμηνέας της επιλογής. Ωστόσο, οι εναλλακτικές εφαρμογές Ruby μπορεί να είναι η σωστή επιλογή για το έργο σας, ανάλογα με τους λειτουργικούς και τεχνικούς στόχους και τους περιορισμούς σας.

Στον ρόλο του ως υλοποίησης αναφοράς του Ruby, το MRI αποκτά γρηγορότερα νέα χαρακτηριστικά γλώσσας, έχει αρκετά καλό συγχρονισμός και ιστορίες μνήμης (που βελτιώνονται μόνο), και έχει την ευρύτερη συμβατότητα με πολύτιμους λίθους (μερικά γράφονται εν μέρει σε Γ). Συνολικά, το MRI είναι μια σταθερή, αξιόπιστη επιλογή για τον κωδικό Ruby γενικής χρήσης.

Για μεγαλύτερες, εταιρικές αναπτύξεις ή για καταστάσεις όπου είτε πρέπει να αλληλεπιδράσετε με κώδικα Java (ή άλλες γλώσσες JVM) είτε χρειάζεστε πολύ εξελιγμένα μοτίβα ταυτόχρονης ταυτότητας, το JRuby είναι μια συναρπαστική επιλογή.

Και φυσικά, εάν έχετε μοναδικές ανάγκες (π.χ. σύνταξη JavaScript, τρέχοντας με την τρέχουσα γενιά ενσωματωμένων συσκευών κ.λπ.), οι άλλες εναλλακτικές λύσεις Ruby μπορεί να είναι ακριβώς αυτές που αναζητάτε.

Με μια μεγάλη ποικιλία χρόνου εκτέλεσης και διερμηνέων Ruby για να διαλέξετε, ο Ruby εμφανίζεται ως μια ευέλικτη γλώσσα, χρήσιμη για ένα ευρύ φάσμα υπολογιστικών περιβαλλόντων, που κυμαίνονται από ένα εταιρικό μεγάλο σιδερένιο κατάστημα ανάπτυξης Java, έως λογισμικό που ελέγχει αυτόν τον προβολέα στο γραφείο σας συνδέσατε το Raspberry Pi στο περασμένο Σαββατοκύριακο. Η επιλογή του σωστού εργαλείου για το σωστό σκοπό είναι απαραίτητη, ναι, αλλά ελπίζουμε ότι αυτό το άρθρο σας έδειξε ότι το Ruby είναι πολύ περισσότερο από τον προεπιλεγμένο διερμηνέα Ruby που συνοδεύει το λειτουργικό σας σύστημα.

Ο κόσμος του Ruby ενισχύεται σε μεγάλο βαθμό από εναλλακτικές ομάδες υλοποίησης Ruby που συνεργάζονται με την βασική ομάδα Ruby MRI καθώς προτείνονται αλλαγές στη γλώσσα. Προσθέτουν ποικιλομορφία στην κοινότητα υλοποίησης του Ruby, προσθέτοντας τις σκληρές εμπειρίες υλοποίησης Ruby και τις δικές τους προοπτικές σχετικά με τα χαρακτηριστικά που πηγαίνουν στη γλώσσα. Οι λάτρεις της Ruby οφείλουν συλλογικά αυτές τις ομάδες ένα μεγάλο χρέος ευγνωμοσύνης. Kudos σε αυτούς για τις προσπάθειές τους!

Η Ψυχολογία των Wearables και Wearable Technology

Σχεδιασμός Ux

Η Ψυχολογία των Wearables και Wearable Technology
SQL Server 2016 Πάντα κρυπτογραφημένο: Εύκολο να εφαρμοστεί, δύσκολο να σπάσει

SQL Server 2016 Πάντα κρυπτογραφημένο: Εύκολο να εφαρμοστεί, δύσκολο να σπάσει

Πίσω Μέρος

Δημοφιλείς Αναρτήσεις
Μάθετε αυτές τις δημοφιλείς τάσεις με αυτά τα μαθήματα του Photoshop
Μάθετε αυτές τις δημοφιλείς τάσεις με αυτά τα μαθήματα του Photoshop
Ενεργοποιήστε το Angular 2: Αναβάθμιση από 1.5
Ενεργοποιήστε το Angular 2: Αναβάθμιση από 1.5
Απεριόριστη κλίμακα και δωρεάν φιλοξενία ιστοσελίδων με σελίδες GitHub και Cloudflare
Απεριόριστη κλίμακα και δωρεάν φιλοξενία ιστοσελίδων με σελίδες GitHub και Cloudflare
Διευθυντής λειτουργιών Marketplace
Διευθυντής λειτουργιών Marketplace
Εισαγωγή στο λειτουργικό σύστημα ρομπότ: Το απόλυτο πλαίσιο εφαρμογής ρομπότ
Εισαγωγή στο λειτουργικό σύστημα ρομπότ: Το απόλυτο πλαίσιο εφαρμογής ρομπότ
 
Μεγάλα πρόσφατα παραδείγματα επιτυχημένης ανταγωνιστικής στρατηγικής
Μεγάλα πρόσφατα παραδείγματα επιτυχημένης ανταγωνιστικής στρατηγικής
Lighter and Faster - Ένας οδηγός για το Svelte Framework
Lighter and Faster - Ένας οδηγός για το Svelte Framework
Ένα σεμινάριο για τις φιλοδοξίες του Google Glass Developers: Δημιουργία της πρώτης σας εφαρμογής Glass
Ένα σεμινάριο για τις φιλοδοξίες του Google Glass Developers: Δημιουργία της πρώτης σας εφαρμογής Glass
The Statistic Edge: Βελτιώστε τις μετρήσεις σας με τη μέθοδο αναλογιστικής αποτίμησης
The Statistic Edge: Βελτιώστε τις μετρήσεις σας με τη μέθοδο αναλογιστικής αποτίμησης
Είναι οι αγορές εκατομμυρίων δολαρίων καλύτερες από τις αγορές δισεκατομμυρίων δολαρίων;
Είναι οι αγορές εκατομμυρίων δολαρίων καλύτερες από τις αγορές δισεκατομμυρίων δολαρίων;
Δημοφιλείς Αναρτήσεις
  • βέλτιστες πρακτικές οπτικοποίησης δεδομένων 2015
  • τι είναι μια s corp llc
  • μικτή πραγματικότητα έναντι εικονικής πραγματικότητας
  • Η αποτίμηση συγκρίσιμη με την αγορά βασίζεται στο καθαρό εισόδημα και στο ποσοστό κεφαλαιοποίησης της εκκίνησης.
  • Περιγράψτε τις αρχές gestalt της ομοιότητας εγγύτητας, συνέχειας και κλεισίματος
  • διασκεδαστικά πράγματα με το c++
Κατηγορίες
  • Τροποσ Ζωησ
  • Ζωή Σχεδιαστών
  • Kpi Και Analytics
  • Σχεδιασμός Μάρκας
  • © 2022 | Ολα Τα Δικαιώματα Διατηρούνται

    portaldacalheta.pt