portaldacalheta.pt
  • Κύριος
  • Επενδυτές & Χρηματοδότηση
  • Σχεδιασμός Διεπαφής Χρήστη
  • Τεχνολογία
  • Διαχείριση Έργου
Κινητό

Αυτοματοποιημένες αναφορές σφαλμάτων Android με ACRA και Cloudant



Η δημιουργία μιας βασικής εφαρμογής Android είναι εύκολη. Από την άλλη πλευρά, μπορεί να γίνει μια αξιόπιστη, επεκτάσιμη και ισχυρή εφαρμογή Android αρκετά προκλητικό .

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



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



Γιατί έχει σημασία η αναφορά σφαλμάτων Android

Λοιπόν, τι συμβαίνει όταν μια εφαρμογή Android διακόπτεται ή γίνεται μη ανταποκρίνεται ; Λοιπόν, εμφανίζεται το παράθυρο διαλόγου 'Force Close', ενημερώνοντας τον χρήστη ότι κάτι πήγε στραβά. Εάν πραγματοποιήθηκε λήψη της εφαρμογής μέσω του Google Play, θα ζητηθεί από τον χρήστη να αναφέρει το σφάλμα, αποστέλλοντας μια λεπτομερή αναφορά σφαλμάτων Android (συμπεριλαμβανομένου του χρόνου, του μοντέλου τηλεφώνου, της έκδοσης Android, της παρακολούθησης στοίβας κ.λπ.) στην οποία μπορείτε να δείτε (ο προγραμματιστής) την Κονσόλα προγραμματιστή, επιτρέποντάς σας να αντιμετωπίσετε το σφάλμα του ένοχου.



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

Όλα αυτά ακούγονται πολύ ωραία - αλλά υπάρχει ένα μεγάλο πρόβλημα με τη χρήση της προεπιλεγμένης αναφοράς σφαλμάτων του Android: οι χρήστες τείνουν δεν να αναλάβουν δράση όταν οι εφαρμογές τους καταρρεύσουν. στην πραγματικότητα, η πλειοψηφία επιλέγει να μην στείλει στις αναφορές σφαλμάτων Android. Πώς λοιπόν, μπορείτε, ως συνειδητός προγραμματιστής , αποκτήστε αξιόπιστες πληροφορίες σχετικά με τα σφάλματα και τις αποτυχίες της εφαρμογής σας;

Ένα αξιόπιστο αρχείο καταγραφής σφαλμάτων Android είναι ιδιαίτερα σημαντικό όταν οι χρήστες δεν στέλνουν αναφορές σφαλμάτων.



Παρουσιάζουμε το ACRA

ΑΚΡΑ σημαίνει 'Automated Crash Reporting for Android'. Πρόκειται για μια δωρεάν βιβλιοθήκη που σας επιτρέπει να επιλύσετε το πρόβλημα της 'μη αυτόματης αναφοράς σφαλμάτων' με μερικές γραμμές κώδικα. Αφού εφαρμόσετε τη βιβλιοθήκη και όλα έχουν αρχικοποιηθεί σωστά, θα μπορείτε να εξαγάγετε τα ίδια αρχεία καταγραφής σφαλμάτων Android με την προεπιλογή της Google (συν μια δέσμη πρόσθετων επιλογών προσαρμογής) αυτόματα και χωρίς να απαιτείται από τον χρήστη να προβεί σε ενέργειες.

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



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

  • Τυπικό email (εξακολουθεί να απαιτείται αλληλεπίδραση χρήστη).
  • Προσαρμοσμένος πελάτης email / HTTP (απαιτεί εκτεταμένη ρύθμιση).
  • Προσαρμοσμένο back-end (με επιλογές που κυμαίνονται από δωρεάν έως εμπορικές λύσεις).

Σε αυτό το άρθρο, θα αναλύσουμε μία από αυτές τις λύσεις: τη φιλοξενία των αναφορών ACRA σε ένα Συννεφιά back-end και οπτικοποίηση των δεδομένων με ακραλιζέρ .



Ρύθμιση ενός Cloudant back-end

Το πρώτο πράγμα που πρέπει να κάνουμε είναι κανω ΕΓΓΡΑΦΗ έναν λογαριασμό Cloudant. Φυσικά, υπάρχει ένα πλεονέκτημα: Οι υπηρεσίες του Cloudant δεν είναι εντελώς δωρεάν, αλλά σύμφωνα με τις υπηρεσίες τους σελίδα τιμολόγησης είναι πολύ απίθανο να ξεπεράσετε το μηνιαίο όριο των 5 $ (εκτός εάν έχετε τεράστια βάση χρηστών και έναν τόνο σφαλμάτων στον κώδικά σας).

Μόλις εγγραφείτε, πρέπει να καταλάβουμε πώς λειτουργούν τα πράγματα. Σε υψηλό επίπεδο, το back-end θα αποτελείται από δύο στοιχεία:



  1. Μια βάση δεδομένων αποθήκευσης ή, για να είμαστε πιο ακριβείς, ένας Apache CouchDB . Το CouchDB αποθηκεύει τα δεδομένα του σε μορφή JSON, πράγμα που σημαίνει ότι όλες οι αναφορές που αποστέλλονται από τη συσκευή Android πρέπει να ταιριάζουν με τη μορφή προκειμένου να εισαχθούν ως καταχώριση. Ένα ένθετο βάσης δεδομένων είναι ένα απλό αίτημα HTTP POST ή PUT.
  2. Μια εφαρμογή ιστού (για ανάλυση) ή, για να είμαστε πιο ακριβείς, α CouchApp . Πρόκειται για μια απλή εφαρμογή JavaScript που σας επιτρέπει να εκτελείτε ερωτήματα και να εμφανίζετε τα δεδομένα που είναι αποθηκευμένα στην παρουσία CouchDB.

Για να λειτουργήσει σωστά το back-end, θα χρειαστεί να ρυθμίσουμε αυτά τα δύο στοιχεία. Θεωρητικά, θα μπορούσαμε να δημιουργήσουμε τη βάση δεδομένων και την εφαρμογή από την πηγή και, στη συνέχεια, χρησιμοποιήστε ένα εργαλείο για να τα αναπτύξετε στο πίσω μέρος μας - αλλά οι καλοί λαοί στο ACRA το έχουν ήδη κάνει για εμάς. Έτσι, η ευκολότερη προσέγγιση είναι να αναπαραγάγετε μια απομακρυσμένη βάση δεδομένων και μια απομακρυσμένη εφαρμογή.

Ας προχωρήσουμε και επαναλάβουμε ένα κενό ACRA CouchDB:



  • Επιλέξτε την ενότητα «Αντιγραφή» στον πίνακα ελέγχου Cloudant.
  • Ως βάση δεδομένων προέλευσης, επιλέξτε «Απομακρυσμένη βάση δεδομένων» με http://get.acralyzer.com/distrib-acra-storage ως το URL.
  • Ως βάση δεδομένων προορισμού, επιλέξτε «Νέα βάση δεδομένων» και ονομάστε την «acra- {myapp}» (χωρίς τα εισαγωγικά). Λάβετε υπόψη ότι η παράμετρος {myapp} πρέπει να είναι μοναδική για την εφαρμογή σας και ότι το όνομα της βάσης δεδομένων πρέπει να ξεκινά με το 'acra-'.
  • Κάντε κλικ στην «Αντιγραφή».

Αυτό δείχνει πώς μπορείτε να ρυθμίσετε ένα Cloudant back-end για τη διαχείριση αναφορών σφαλμάτων Android.

Έτσι, έχουμε αναπαραγάγει με επιτυχία τη βάση δεδομένων για αποθήκευση αναφορών. Στη συνέχεια, πρέπει να αναπαράγουμε το acralyzer CouchApp ώστε να μπορούμε να απεικονίσουμε τα δεδομένα:

  • Επιλέξτε την ενότητα «Αντιγραφή» στον πίνακα ελέγχου Cloudant.
  • Ως βάση δεδομένων προέλευσης, επιλέξτε «Απομακρυσμένη βάση δεδομένων» με http://get.acralyzer.com/distrib-acralyzer ως το URL.
  • Ως βάση δεδομένων προορισμού, επιλέξτε «Νέα βάση δεδομένων» και ονομάστε την «acralyzer».
  • Κάντε κλικ στην «Αντιγραφή».

Αυτό το βήμα συνίσταται στην αναπαραγωγή της εφαρμογής acra για την απεικόνιση των δεδομένων καταγραφής σφαλμάτων Android.

Σημείωση : η αναπαραγωγή της εφαρμογής acralyzer είναι προαιρετική. Δεν θα το χρειαστείτε εάν ενδιαφέρεστε μόνο να αποθηκεύσετε την αναφορά σφαλμάτων Android, αντί να οπτικοποιήσετε τα δεδομένα (θα ρίξουμε μια πιο προσεκτική ματιά στο acralyzer στην επόμενη ενότητα αυτού του οδηγού Android). Εάν αισθάνεστε αρκετά σίγουροι με τις δεξιότητές σας στο JavaScript, θα μπορούσατε ακόμη και να γράψετε τη δική σας εφαρμογή ανάλυσης! Αλλά αυτό δεν εμπίπτει στο πεδίο αυτής της ανάρτησης ιστολογίου.

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

Αριθμοί πιστωτικών καρτών εργασίας 2017 με χρήματα
  • Επιλέξτε την ενότητα 'Βάση δεδομένων' στον πίνακα ελέγχου Cloudant.
  • Κάντε κλικ στην ενότητα δικαιωμάτων (εικονίδιο κλειδώματος) για τη βάση δεδομένων acra- {myapp}.
  • Κάντε κλικ στην επιλογή 'Δημιουργία κλειδιών API'.
  • Σημειώστε το δημιουργημένο όνομα χρήστη και τον κωδικό πρόσβασης (θα τα χρησιμοποιήσουμε αργότερα).
  • Προσθέστε δικαιώματα εγγραφής για το όνομα χρήστη που δημιουργήθηκε.

Προσθέστε δικαιώματα ασφαλείας, ώστε τα αρχεία καταγραφής σφαλμάτων Android και οι αναφορές σας να είναι προσβάσιμα αργότερα.

Οπτικοποίηση αναφορών σφαλμάτων Android με το acralyzer

Μόλις αντιγραφεί, ο πίνακας ελέγχου acralyzer είναι εύκολα προσβάσιμος ακολουθώντας το https://{myapp}.cloudant.com/acralyzer/_design/acralyzer/index.html#/dashboard. Θα παραδεχτώ: δεν είναι το πιο όμορφο εργαλείο ανάλυσης εκεί έξω, αλλά εξυπηρετεί το σκοπό του.

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

  • Σχεδιάστε τον αριθμό των αναφορών ανά μονάδα χρόνου (ώρα, ημέρα, μήνας κ.λπ.).
  • Προβάλετε τη διανομή αναφορών με συγκεκριμένες μετρήσεις για Android (έκδοση Android, έκδοση SDK, έκδοση εφαρμογής, συσκευή κ.λπ.).
  • Καταγράψτε όλες τις αναφορές σφαλμάτων (με ένα λεπτομερές ίχνος στοίβας) ή δείτε όλα τα σφάλματα (εδώ, ένα 'σφάλμα' είναι μια ομάδα πανομοιότυπων αναφορών που προέρχονται από διαφορετικούς χρήστες).
  • Προεπισκόπηση λεπτομερειών για ένα μόνο σφάλμα και ορίστε την κατάστασή του ως επιλυμένη (εάν επιδιορθωθεί).
  • Εκκαθάριση παλιών ή παρωχημένων καταχωρήσεων.

Η οπτικοποίηση των δεδομένων καταγραφής σφαλμάτων Android μπορεί να είναι πολύ χρήσιμη για τη βελτίωση της στρατηγικής της εφαρμογής σας.

Λάβετε υπόψη ότι οι διαθέσιμες μετρήσεις σφαλμάτων Android για οπτικοποίηση θα εξαρτηθούν από τις αναφορές που επιλέγουμε να στείλουμε από την εφαρμογή μας. Η ACRA προσφέρει μια ποικιλία από πεδία αναφοράς , μερικά από τα οποία μπορεί να είναι αρκετά μεγάλα σε μέγεθος ή να μην είναι απολύτως σχετικά με τη διόρθωση σφαλμάτων. Για τα περισσότερα έργα, τα απαιτούμενα πεδία αναφοράς θα είναι επαρκή. Αυτά περιλαμβάνουν:

  • APP_VERSION_CODE
  • APP_VERSION_NAME
  • ANDROID_VERSION
  • ΟΝΟΜΑ ΠΑΚΕΤΟΥ
  • Αναφορά_ID
  • ΧΤΙΖΩ
  • STACK_TRACE

Εφαρμογή του ACRA στο έργο σας Android

Όπως αναφέρθηκε προηγουμένως σε αυτό το σεμινάριο, η εφαρμογή του ACRA είναι πολύ εύκολη και απαιτεί μόνο μερικά γρήγορα βήματα.

Προσθέστε εξάρτηση

Πρώτον, πρέπει να συμπεριλάβουμε τη βιβλιοθήκη ως εξάρτηση με έναν από τους ακόλουθους τρόπους:

  • Σαν .δοχείο αρχείο στο φάκελο / libs.
  • Ως εξαρτημένη maven:

    ch.acra acra X.Y.Z
  • Ως βαθμιαία εξάρτηση:

    compile 'ch.acra:acra:X.Y.Z'

Προσθήκη κλάσης εφαρμογής

Στη συνέχεια, πρέπει να προσθέσουμε μια κλάση εφαρμογών Android στο έργο μας (ή να ενημερώσουμε μια υπάρχουσα τάξη, καθώς μπορεί να υπάρχει μόνο μία παρουσία) και να την δηλώσουμε στο AndroidManifest.xml:

...

Και ρυθμίστε το ACRA εκεί:

@ReportsCrashes( formUri = 'https://{myusername}.cloudant.com/acra-{myapp}/_design/acra-storage/_update/report', reportType = HttpSender.Type.JSON, httpMethod = HttpSender.Method.POST, formUriBasicAuthLogin = 'GENERATED_USERNAME_WITH_WRITE_PERMISSIONS', formUriBasicAuthPassword = 'GENERATED_PASSWORD', formKey = '', // This is required for backward compatibility but not used customReportContent = { ReportField.APP_VERSION_CODE, ReportField.APP_VERSION_NAME, ReportField.ANDROID_VERSION, ReportField.PACKAGE_NAME, ReportField.REPORT_ID, ReportField.BUILD, ReportField.STACK_TRACE }, mode = ReportingInteractionMode.TOAST, resToastText = R.string.toast_crash ) public class MainApp extends Application { @Override public void onCreate() { super.onCreate(); // The following line triggers the initialization of ACRA ACRA.init(this); } }

Αυτό είναι! Φυσικά, θα πρέπει να αντικαταστήσετε όλα τα σύμβολα κράτησης θέσης {myapp} με πραγματικές τιμές, καθώς και τιμές για formUriBasicAuthLogin και formUriBasicAuthPassword.

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

Μπορείτε επίσης να επιλέξετε να χρησιμοποιήσετε PUT αντί για POST. Σε αυτήν την περίπτωση, το REPORT_ID θα προσαρτηθεί στο τέλος του former ως παράμετρος.

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

Χρειάζεστε βοήθεια? Ακολουθεί ένα δείγμα έργου

Για να δείτε το ACRA σε δράση, έχω ρυθμίσει το acra_example repo στο GitHub. Διαθέτει μια απλή εφαρμογή που προετοιμάζει το ACRA κατά την εκκίνηση και ας το συντρίψει πατώντας ένα κουμπί (το οποίο στη συνέχεια ενεργοποιεί μια εξαίρεση μηδενικού δείκτη). Τα δεδομένα σφαλμάτων αποστέλλονται σε ένα παράδειγμα βάσης δεδομένων Cloudant που μπορεί να απεικονιστεί εδώ .

Για να δείτε τα δεδομένα, συνδεθείτε με τα ακόλουθα διαπιστευτήρια:

  • Όνομα χρήστη: medo
  • Κωδικός πρόσβασης: acraexample

Εναλλακτικές λύσεις για το ACRA

Η ACRA δεν είναι η μόνη επιλογή για αυτόματη αναφορά σφαλμάτων Android. Εφόσον πρόκειται να συμβούν σφάλματα, υπάρχει μια μεγάλη αγορά από επιχείρηση σε προγραμματιστή (B2D) που προσπαθεί να δημιουργήσει έσοδα από την ανάλυσή τους.

Κριτική , για παράδειγμα, είναι μια πολύ ώριμη πλατφόρμα για αναφορές σφαλμάτων. Φαίνεται υπέροχο, προσφέρει πολλές επιλογές για ανάλυση δεδομένων και είναι πολύ εύκολο να ενσωματωθεί. Το μόνο μειονέκτημα: τιμή και η δωρεάν δοκιμή είναι αρκετά περιορισμένη όσον αφορά τον αριθμό των ενεργών χρηστών, τις ημέρες διατήρησης δεδομένων και την υποστήριξη). BugSense είναι μια παρόμοια υπηρεσία.

c++ μηχανή φυσικής

Κατά τη γνώμη μου, ωστόσο, Crashlytics είναι μια ανώτερη λύση. Μέχρι πρόσφατα, το Crashlytics είχε ένα μοντέλο freemium (με ένα επίπεδο premium επί πληρωμή). αλλά τώρα (μετά από αυτά απόκτηση από το Twitter ), όλες οι λειτουργίες πρώην premium είναι διαθέσιμες για Ελεύθερος . Δεν υπάρχουν κόστη χρήσης, τέλη ή όρια. Αυτό είναι το προτιμώμενο μέσο αναφοράς σφαλμάτων για πολλές εταιρείες και προγραμματιστές υψηλού προφίλ και υψηλού επιπέδου, καθώς είναι πολύ εύκολο στη χρήση και προσφέρει ισχυρά εργαλεία ανάλυσης και οπτικοποίησης. Ενσωματώνεται ακόμη και με τα πιο δημοφιλή IDE ως προσθήκη (π.χ. Eclipse, Android Studio), οπότε η προσθήκη του Crashlytics στην εφαρμογή σας είναι τόσο απλή όσο η επιλογή ενός έργου και το πάτημα ενός κουμπιού. Αυτές οι προσθήκες σας δίνουν επίσης τη δυνατότητα να παρακολουθείτε αναφορές σφαλμάτων από το IDE σας χωρίς να χρειάζεται να ανοίξετε ένα πρόγραμμα περιήγησης.

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

  1. Όλες αυτές οι άλλες επιλογές είναι κλειστή πηγή, ιδιόκτητο λογισμικό . Ακόμα και με ένα καλάθι γεμάτο EULA, δεν μπορείτε να είστε σίγουροι ακριβώς πως τα δεδομένα σας συλλέγονται και διαχειρίζονται. Από την άλλη πλευρά, το ACRA και το acralyzer είναι έργα ανοιχτού κώδικα που φιλοξενούνται στο GitHub, τα οποία μπορείτε εύκολα να διασκεδάσετε και να προσαρμόσετε στις ανάγκες σας.

  2. Κινητικότητα δεδομένων . Ας υποθέσουμε ότι δεν είστε ικανοποιημένοι με το Cloudant. Είναι πολύ εύκολο να αντιγράψετε και να μετεγκαταστήσετε τα δεδομένα σας σε ένα άλλο back-end. Είστε εγγυημένοι ότι τα δεδομένα μένει δικό σου .

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

Συμπερασματικά

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

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

Σχετίζεται με: Κάντε την εφαρμογή σας κερδοφόρα — Αξιοποιήστε το Analytics για κινητά

Διαδικτυακό βίντεο με Wowza και Amazon Elastic Transcoder

Τεχνολογία

Διαδικτυακό βίντεο με Wowza και Amazon Elastic Transcoder
Το TopTracker Κυκλοφορεί Λύση Πληρωμών για Freelancers, επιτρέποντας Δωρεάν Παγκόσμιες Πληρωμές

Το TopTracker Κυκλοφορεί Λύση Πληρωμών για Freelancers, επιτρέποντας Δωρεάν Παγκόσμιες Πληρωμές

Αλλα

Δημοφιλείς Αναρτήσεις
Scaling Scala: Τρόπος Dockerize χρησιμοποιώντας Kubernetes
Scaling Scala: Τρόπος Dockerize χρησιμοποιώντας Kubernetes
Μείωση του κόστους σε ένα ψηφιακό μέλλον πετρελαίου και φυσικού αερίου
Μείωση του κόστους σε ένα ψηφιακό μέλλον πετρελαίου και φυσικού αερίου
Το GWT Toolkit: Δημιουργήστε ισχυρές διεπαφές JavaScript χρησιμοποιώντας Java
Το GWT Toolkit: Δημιουργήστε ισχυρές διεπαφές JavaScript χρησιμοποιώντας Java
Επισκόπηση των δημοφιλών δημιουργών στατικών ιστότοπων
Επισκόπηση των δημοφιλών δημιουργών στατικών ιστότοπων
Γνωρίστε το Volt, ένα πολλά υποσχόμενο Ruby Framework για δυναμικές εφαρμογές
Γνωρίστε το Volt, ένα πολλά υποσχόμενο Ruby Framework για δυναμικές εφαρμογές
 
Οι μεγάλες ερωτήσεις οδηγούν σε εξαιρετικό σχεδιασμό - Ένας οδηγός για τη διαδικασία σκέψης σχεδιασμού
Οι μεγάλες ερωτήσεις οδηγούν σε εξαιρετικό σχεδιασμό - Ένας οδηγός για τη διαδικασία σκέψης σχεδιασμού
Η Ψυχολογία του Σχεδιασμού και η Νευροεπιστήμη του Amazing UX
Η Ψυχολογία του Σχεδιασμού και η Νευροεπιστήμη του Amazing UX
APIs στα κοινωνικά δίκτυα: Η διαδικτυακή πύλη στον πραγματικό κόσμο
APIs στα κοινωνικά δίκτυα: Η διαδικτυακή πύλη στον πραγματικό κόσμο
Οδηγός επένδυσης Family Office: Μια εναλλακτική λύση στο επιχειρηματικό κεφάλαιο
Οδηγός επένδυσης Family Office: Μια εναλλακτική λύση στο επιχειρηματικό κεφάλαιο
Αρχές Σχεδιασμού - Εισαγωγή στην Οπτική Ιεραρχία
Αρχές Σχεδιασμού - Εισαγωγή στην Οπτική Ιεραρχία
Δημοφιλείς Αναρτήσεις
  • πλευρά πελάτη έναντι διακομιστή
  • διαφορά μεταξύ s και c εταιρειών
  • διαδικασία μεταγλώττισης c++
  • τι είναι τα εξαρτήματα στο γωνιακό
  • front end προγραμματιστής και σχεδιαστής
  • πώς να φτιάξετε λογιστικό σχέδιο
  • Ποια από τις παρακάτω προτάσεις δεν ισχύει για την κεφαλαιοποίηση των ομόρρυθμων εταιρειών;
Κατηγορίες
  • Επενδυτές & Χρηματοδότηση
  • Σχεδιασμός Διεπαφής Χρήστη
  • Τεχνολογία
  • Διαχείριση Έργου
  • © 2022 | Ολα Τα Δικαιώματα Διατηρούνται

    portaldacalheta.pt