ForgeTotal.js 5
el

Total.js 5 (backend)

Διαδρομές, ενέργειες, σχήματα, βάσεις δεδομένων, WebSocket, προβολές και ό,τι εκτελείται στον διακομιστή.

ΣυνταγήΕτικέτες

Επικύρωση ενός JSON body με μια ενέργεια

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

routingactionsvalidation

Έκθεση ενεργειών μέσω ενός μόνο API endpoint

Δηλώστε endpoints ROUTE('API ...') ώστε ένας client να καλεί πολλές ενέργειες με POST {schema, data} σε ένα μόνο URL.

routingapiactions

Ανάγνωση παραμέτρων URL σε μια διαδρομή

Δηλώστε δυναμικά τμήματα όπως {id} σε μια διαδρομή και διαβάστε τα από το $.params.

routingparams

Σύλληψη πολλών URL με διαδρομή wildcard

Τελειώστε μια διαδρομή με * για να ταιριάξετε ό,τι υπάρχει κάτω από μια διαδρομή και κρατήστε συγκεκριμένες διαδρομές για τις εξαιρέσεις.

routing

Χειρισμός κάθε μεθόδου HTTP

Δηλώστε διαδρομές για GET, POST, PUT, PATCH και DELETE και διαβάστε τη μέθοδο από το $.method.

routinghttp

Περιορισμός μιας διαδρομής με flags

Προσθέστε @flags όπως @json, @xml ή @upload ώστε μια διαδρομή να ταιριάζει μόνο με τα αιτήματα για τα οποία προορίζεται.

routingflags

Ανάγνωση του query string και του body του αιτήματος

Χρησιμοποιήστε το $.query για τις παραμέτρους του URL και το $.body για δεδομένα JSON ή φόρμας σε έναν handler διαδρομής.

routingrequest

Περιορισμός του μεγέθους payload και του timeout μιας διαδρομής

Προσθέστε <1kb ή <10s σε μια διαδρομή για να περιορίσετε το μέγεθος του αιτήματος ή τον χρόνο που μπορεί να πάρει ο handler.

routingsecuritylimits

Δήλωση τυποποιημένων παραμέτρων διαδρομής σε μια ενέργεια

Χρησιμοποιήστε την επιλογή params του NEWACTION ώστε το Total.js να επικυρώνει τις παραμέτρους του URL πριν εκτελεστεί ο κώδικάς σας.

actionsroutingvalidation

Επιλογή του τρόπου απάντησης

Στείλτε JSON, HTML, απλό κείμενο, XML, ανακατευθύνσεις, κενές απαντήσεις ή δυαδικά δεδομένα από έναν handler διαδρομής.

routingresponse

Ανάγνωση headers και εργασία με cookies

Διαβάστε τα request headers από το $.headers, διαβάστε και γράψτε cookies με $.cookie() και ορίστε response headers.

routingheaderscookies

Λήψη μεταφορτώσεων αρχείων

Δεχτείτε multipart/form-data με το flag @upload και διαβάστε τα αρχεία που μεταφορτώθηκαν από το $.files.

routinguploadfiles

Να επιτρέψετε αιτήματα από άλλες προελεύσεις με CORS

Καλέστε το CORS() για να επιτρέψετε σε μία, σε πολλές ή σε κάθε προέλευση να χρησιμοποιεί τις διαδρομές σας από έναν περιηγητή.

securitycorsrouting

Απόδοση μιας προβολής χωρίς να γράψετε handler

Μια διαδρομή χωρίς handler αποδίδει την προβολή που φέρει το όνομα του URL της ή την προβολή που θα ονομάσετε.

routingviews

Επιλέξτε τον σωστό τύπο εισόδου για μια δράση

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

actionsvalidationtypes

Επικύρωση του query string σε μια ενέργεια

Δηλώστε query στο NEWACTION για να επικυρώνετε και να μετατρέπετε τις παραμέτρους του URL και διαβάστε τις καθαρές τιμές από το $.query.

actionsvalidationquery

Φιλτράρισμα της απάντησης μιας ενέργειας με output

Δηλώστε output ώστε μόνο τα αναφερόμενα πεδία να φεύγουν από την ενέργεια, για παράδειγμα για να μη διαρρεύσει ποτέ το hash ενός κωδικού.

actionssecurity

Απαίτηση χρήστη ή δικαιώματος σε μια ενέργεια

Χρησιμοποιήστε τις επιλογές user και permissions του NEWACTION ώστε η εξουσιοδότηση να βρίσκεται δίπλα στην ενέργεια και όχι σε κάθε διαδρομή.

actionsauthsecurity

Προστασία διαδρομών με AUTH

Πιστοποιήστε κάθε αίτημα με AUTH() και περιορίστε τις διαδρομές σε συνδεδεμένους ή ανώνυμους χρήστες με τα προθέματα + και -.

authroutingsecurity

Δήλωση της διαδρομής μέσα στην ενέργεια

Βάλτε τη διαδρομή στην επιλογή route του NEWACTION και κρατήστε το URL, την επικύρωση και τον κώδικα σε ένα σημείο.

actionsrouting

Σύνδεση χρηστών με την ενσωματωμένη ταυτοποίηση συνεδρίας

Περάστε ένα αντικείμενο επιλογών στο AUTH() για υπογεγραμμένα cookies συνεδρίας, αποθήκη συνεδριών και αποσύνδεση χωρίς να γράψετε την υποδομή.

authsessionssecurity

Κλήση μιας ενέργειας από τον δικό σας κώδικα

Χρησιμοποιήστε το ACTION() για να εκτελέσετε μια ενέργεια από χρονομετρητή, εργασία ή άλλη ενέργεια, με δικό της payload, query και χρήστη.

actions

Αλυσίδωση πολλών ενεργειών σε μία διαδρομή

Απαριθμήστε πολλές ενέργειες μετά το --> για να εκτελούνται διαδοχικά πάνω στο ίδιο payload και σημειώστε με (response) ποια απαντά.

actionsrouting

Προσθήκη ενός middleware σε μια διαδρομή

Καταχωρίστε ένα middleware με MIDDLEWARE() και συνδέστε το σε διαδρομές με το flag #name.

middlewareroutingsecurity

Δημιουργία ενός chat WebSocket

Δηλώστε μια διαδρομή SOCKET, ακούστε μηνύματα και μεταδώστε τα σε όλους τους συνδεδεμένους clients.

websocketrealtime

Σύνδεση σε διακομιστή WebSocket από το Node

Χρησιμοποιήστε το WEBSOCKETCLIENT για να ανοίξετε σύνδεση WebSocket από την εφαρμογή σας, να στείλετε μηνύματα και να αντιδράσετε στις απαντήσεις.

websocketrealtimeintegrations

Αποσύζευξη του κώδικα με events

Εκπέμψτε και ακούστε events της εφαρμογής με EMIT(), ON(), ONCE() και OFF() ώστε τα modules να μη καλούν άμεσα το ένα το άλλο.

eventsarchitecture

Αποθήκευση και ανάγνωση δεδομένων με την ενσωματωμένη βάση NoSQL

Εισάγετε και ερωτήστε έγγραφα με NOSQL() και εκθέστε τα μέσω ενεργειών, χωρίς να εγκαταστήσετε βάση δεδομένων.

nosqldatabaseactions

Ερωτήματα στη βάση NoSQL

Φιλτράρετε, ταξινομήστε, σελιδοποιήστε και προβάλετε έγγραφα με where, in, between, search, sort, take, skip και fields.

nosqldatabasequeries

Ενημέρωση και αφαίρεση εγγράφων NoSQL

Αλλάξτε έγγραφα με update() και where(), διαγράψτε τα με remove() και διαβάστε πόσα επηρεάστηκαν.

nosqldatabase

Χρήση του DATA API για αλλαγή βάσης δεδομένων

Το DATA διευθυνσιοδοτεί έναν πίνακα ως βάση/πίνακας, ώστε ο ίδιος κώδικας ερωτημάτων να λειτουργεί με το ενσωματωμένο NoSQL και με άλλες βάσεις.

databasenosqlquerybuilder

Προσωρινή αποθήκευση τιμών στη μνήμη

Αποθηκεύστε τιμές με CACHE.set() και λήξη, διαβάστε τες με CACHE.get() και καθαρίστε τες με remove() ή reset().

cacheperformance

Διατήρηση μικρών ρυθμίσεων με MEMORIZE

Κρατήστε στον δίσκο ένα αντικείμενο JSON που επιβιώνει σε επανεκκινήσεις, για μετρητές και ρυθμίσεις που δεν χρειάζονται βάση δεδομένων.

storagesettings

Δημιουργία μοναδικών id και hashes

Δημιουργήστε id με UID() και GUID() και hashes με HASH() και ξέρετε ποιο να χρησιμοποιείτε πού.

utilitiesidssecurity

Προσωρινή αποθήκευση αργών αποτελεσμάτων στον δίσκο με FILECACHE

Χρησιμοποιήστε το FILECACHE() για να υπολογίσετε ένα αποτέλεσμα μία φορά και να το επαναχρησιμοποιείτε από αρχείο για ένα διάστημα, ακόμη και μετά από επανεκκίνηση.

cacheperformancefiles

Αποθήκευση μεταφορτωμένων αρχείων με FILESTORAGE

Αποθηκεύστε μεταφορτώσεις σε διαχειριζόμενο αποθηκευτικό χώρο αρχείων με file.fs() και στείλτε τες πίσω με $.filefs().

filesuploadstorage

Απόδοση μιας προβολής με layout

Αποδώστε μια προβολή HTML με μοντέλο, διασχίστε δεδομένα και περάστε τιμές στο layout.

viewslayouttemplates

Χρήση συνθηκών και escaping στις προβολές

Διακλαδίστε με @{if}, @{else} και @{fi} και επιλέξτε ανάμεσα σε έξοδο με escape @{value} και ακατέργαστο HTML @{!value}.

viewstemplates

Διάσχιση πινάκων και αντικειμένων στις προβολές

Επαναλάβετε markup με @{foreach} για πίνακες και αντικείμενα και χρησιμοποιήστε τον δείκτη του τρέχοντος στοιχείου.

viewstemplates

Συμπερίληψη προβολών και πόρων

Επαναχρησιμοποιήστε markup με @{view()} και προσθέστε scripts και στυλ με @{import()}.

viewstemplatesassets

Συμπλήρωση ενοτήτων του layout από μια προβολή

Δηλώστε μια ενότητα σε μια προβολή με @{section} και εκτυπώστε την στο layout με @{section('name')} και διαλέξτε άλλο layout ανά αίτημα.

viewslayouttemplates

Προσθήκη helpers προβολής και ανάγνωση του config στις προβολές

Καταχωρίστε συναρτήσεις στο DEF.helpers για να τις καλείτε από τις προβολές και διαβάστε τιμές config με @{'%key'}.

viewstemplatesconfig

Μετατροπή Markdown σε HTML

Χρησιμοποιήστε το πρωτότυπο String.markdown() για να αποδώσετε κείμενο Markdown σε HTML, για περιεχόμενο που αποθηκεύουν χρήστες ή αρχεία.

contentmarkdown

Παραγωγή κειμένου με πρότυπα Tangular

Χρησιμοποιήστε το Tangular.render() για να συμπληρώνετε πρότυπα για e-mail, έγγραφα και μηνύματα με συνθήκες, βρόχους και helpers.

templatescontent

Αποδώστε πρότυπα από κείμενο, αρχεία και URL με το TEMPLATE

Χρησιμοποιήστε το TEMPLATE() για να αποδώσετε ένα πρότυπο Tangular που είναι κείμενο, αρχείο του φακέλου προτύπων ή URL, με δικούς του helpers και προεπιλεγμένο μοντέλο.

templatescontenttangular

Συγκρίνετε δύο λίστες με το DIFFARR: τι να προστεθεί, να ενημερωθεί και να αφαιρεθεί

Χρησιμοποιήστε το DIFFARR() για να συγκρίνετε τα στοιχεία που είναι αποθηκευμένα στη βάση δεδομένων με αυτά μιας φόρμας και να πάρετε όσα πρέπει να προστεθούν, να ενημερωθούν και να αφαιρεθούν.

utilitiesarraysforms

Δημιουργός αναζήτησης: DB() και NEWDB() με τον δικό σας οδηγό δεδομένων

Δημιουργήστε ερωτήσεις με το DB().find().where().sort() και αφήστε έναν οδηγό που είναι εγγεγραμμένος με το NEWDB() να τις εκτελεί, ενώ ένας εγγεγεγραμμισμένος οδηγός εφαρμόζει λειτουργίες βάσης δεδομένων.

databasequerybuilder

Ρύθμιση της εφαρμογής με το αρχείο config

Κρατήστε τις ρυθμίσεις σε ένα αρχείο config και διαβάστε τες μέσω του CONF.

configsettings

Κρυπτογράφηση και αποκρυπτογράφηση δεδομένων με κλειδί

Μετατρέψτε αντικείμενα σε αδιαφανή tokens με ENCRYPT() και διαβάστε τα πίσω με DECRYPT(), για υπογεγραμμένους συνδέσμους και βραχύβια tokens.

securitycrypto

Καλέστε εξωτερικές υπηρεσίες με το API() και τους drivers του NEWAPI()

Καταχωρίστε έναν driver για μια υπηρεσία με το NEWAPI() και καλέστε τον από ενέργειες με το API(name, schema, data), με το ίδιο στυλ callback, σφάλματος και promise όπως ο query builder.

apiservicesintegrations

Συζητήστε με μοντέλα γλωσσών με AIMODEL(), NEWAIMODel() και AIPARSER()

Δημιουργήστε μια αίτηση συνομιλίας με το AIMODEL(), αφήστε έναν οδηγό που είναι εγγεγραμμένος με το NEWAIMODELL() να την στείλει σε έναν πάροχο και διαβάστε τις απαντήσεις που διαδίδονται με το EIPARSER().

aillmintegrations

Περιορισμός αποτυχημένων προσπαθειών με BLOCKED

Μετρήστε τις προσπάθειες ανά διεύθυνση IP με BLOCKED() και απαντήστε 429 μόλις φτάσετε το όριο, για συνδέσεις και επαναφορές κωδικών.

securityrate-limiting

Οι μικροί παγκόσμιοι βοηθούς: MAIN, REPO, FUNC, NOW, CLONE, COPY, QUERIFY και PROMISIFY

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

globalsutilitieshelpers

Συλλέξτε σφάλματα με το ErrorBuilder, καταγράψτε τα με το ERROR() και κρατήστε ίχνος ελέγχου με το AUDIT()

Απαντήστε με πολλά σφάλματα ταυτόχρονα με το ErrorBuilder, την απάντηση SUCCESS(), πώς το ERROR() καταγράφει τις αποτυχίες και πώς το AUDIT() προσθέτει σε ένα αρχείο καταγραφής ποιος έκανε τι.

errorsloggingaudit

Καθυστερήστε εργασία με τα setTimeout2() και clearTimeout2()

Χρησιμοποιήστε το setTimeout2() για να εκτελέσετε μια συνάρτηση μία φορά αφού σταματήσουν οι κλήσεις, αντικαθιστώντας τον προηγούμενο χρονοδιακόπτη με το ίδιο id, και ακυρώστε τον με το clearTimeout2().

timersdebounceutilities

Tokens δεμένα με έναν φυλλομετρητή με τα ENCRYPTREQ() και DECRYPTREQ()

Κρυπτογραφήστε μια τιμή μαζί με το user agent (και προαιρετικά τη διεύθυνση IP) του αιτήματος και διαβάστε την πίσω μόνο από τον ίδιο client.

securityencryptiontokens

Αντίγραφο ασφαλείας ενός φακέλου με BACKUP() και RESTORE(), και εκτέλεση εντολών με SHELL()

Πακετάρετε έναν κατάλογο σε ένα αρχείο και αποπακετάρετέ τον ξανά με BACKUP() και RESTORE(), και εκτελέστε μια εντολή του shell στον φάκελο του έργου με SHELL().

backupshellfiles

Βάλτε την εφαρμογή σε συντήρηση με το PAUSESERVER()

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

maintenanceserveravailability

Επιχειρηματικοί κανόνες ως κείμενο με το NEWMACRO()

Μεταγλωττίστε μικρούς κανόνες γραμμένους σε μια απλή γλώσσα (IF, ELSE, AND, OR, RETURN, κλήσεις helpers) σε μια συνάρτηση που εκτελείτε με ένα μοντέλο, ώστε οι κανόνες να ζουν σε ένα αρχείο ή σε μια βάση δεδομένων.

macrosrulesscripting

Σερβίρισμα στατικών αρχείων από τον φάκελο public

Τα αρχεία του καταλόγου public σερβίρονται αυτόματα, χωρίς να χρειάζεται διαδρομή.

staticfiles

Καλέστε άλλη διεύθυνση με το AJAX() από τον διακομιστή

Χρησιμοποιήστε το AJAX() για να καλέσετε μια διεύθυνση HTTP με σώμα JSON και να πάρετε την αναλυμένη απάντηση, ως promise ή με callback, και μάθετε τι συμβαίνει με τα σφάλματα και το XML.

httprequestsajax

Κλήση άλλων HTTP API με RESTBuilder

Κάντε αιτήματα GET και POST σε άλλη υπηρεσία, ορίστε headers και timeout και διαβάστε την κατάσταση και την αναλυμένη απάντηση.

integrationshttprestbuilder

Απελευθερώστε ένα stream όταν τελειώσει με το CLEANUP()

Χρησιμοποιήστε το CLEANUP() για να καταστρέψετε ένα stream μόλις ολοκληρωθεί ή αποτύχει, ώστε να μη μένουν ανοιχτοί δείκτες αρχείων, με callback ή ως promise.

streamsfilescleanup

Μετάφραση μιας προβολής σε πολλές γλώσσες

Σημειώστε τα κείμενα στις προβολές με @(...) και δώστε μεταφράσεις σε αρχεία πόρων που επιλέγει το LOCALIZE().

localizationi18nviews

Εκτελέστε κώδικα με πρόγραμμα χρησιμοποιώντας το CRON

Καταχωρίστε μια συνάρτηση με το CRON() και μια γραμμή cron πέντε πεδίων και μάθετε πότε τρέχει ο έλεγχος και πώς αφαιρείται μια εργασία.

cronschedulerjobs

Εκτέλεση βαριάς εργασίας σε νήμα ή θυγατρική διεργασία

Χρησιμοποιήστε το NEWTHREAD() για να ξεκινήσετε ένα νήμα worker, να του στείλετε μηνύματα και να διαβάσετε τις απαντήσεις χωρίς να μπλοκάρετε την κύρια διεργασία.

workerthreadperformance

Μοιραστείτε μερικά νήματα εργασίας με το NEWTHREADPOOL()

Ξεκινήστε έναν σταθερό αριθμό workers, δανειστείτε έναν με το pool.exec() όταν υπάρχει δουλειά, επιστρέψτε τον με το release() και αφήστε τις άλλες εργασίες να περιμένουν έναν ελεύθερο worker.

workerthreadpoolperformance

Κλήση άλλων διακομιστών με REQUEST και αποθήκευση αρχείων με DOWNLOAD

Χρησιμοποιήστε το REQUEST() για κλήσεις HTTP χαμηλού επιπέδου με πλήρη έλεγχο της μεθόδου, των κεφαλίδων, του query και του σώματος και το DOWNLOAD() για να κατεβάσετε ένα απομακρυσμένο αρχείο στον δίσκο.

httprequestdownload

Αποστολή email από ένα view

Ρυθμίστε το SMTP στο αρχείο config, αποδώστε ένα view ως σώμα του μηνύματος με το MAIL() και στείλτε έτοιμο HTML με το HTMLMAIL().

mailsmtpemail

Προσαρμόστε τις σελίδες 404 και 401

Καταχωρίστε χειριστές ROUTE('#404') και ROUTE('#401') για να αντικαταστήσετε τις ενσωματωμένες σελίδες σφάλματος και ενεργοποιήστε τους μόνοι σας με το $.fallback().

errors404routing

Στείλτε στον εαυτό σας ένα μήνυμα με το LOGMAIL()

Στείλτε ένα μήνυμα απλού κειμένου ή JSON σε μια διεύθυνση χωρίς προβολή, για αρχεία καταγραφής και ειδοποιήσεις, με τις ίδιες ρυθμίσεις SMTP όπως το MAIL().

mailsmtplogging

Αποστολή αρχείων και streams στον πελάτη

Σερβίρετε ένα αρχείο από τον δίσκο με το $.file(), επιβάλετε όνομα λήψης, στείλτε παραγόμενο περιεχόμενο με το $.stream() και απαντήστε 404 όταν το αρχείο λείπει.

filesdownloadstream

Προώθηση αιτημάτων σε άλλον διακομιστή

Χρησιμοποιήστε το PROXY() για να αντιστοιχίσετε ένα πρόθεμα URL σε έναν upstream διακομιστή, επιλέξτε πώς αντιγράφεται η διαδρομή και το $.proxy() για να προωθήσετε μία μόνο διαδρομή.

proxygatewayintegrations

Δημοσιεύστε έναν τοπικό διακομιστή μέσω σήραγγας με τα PROXYSERVER() και PROXYCLIENT()

Αφήστε έναν διακομιστή Total.js με δημόσια διεύθυνση να προωθεί αιτήματα σε ένα πρόγραμμα που τρέχει μόνο σε ιδιωτικό μηχάνημα, με μια σήραγγα WebSocket που ανοίγει η ιδιωτική πλευρά.

proxytunnelwebsocketintegrations

Προστατέψτε φόρμες και αιτήματα με tokens CSRF

Δημιουργήστε ένα token με το $.csrf(), στείλτε το με το αίτημα και επαληθεύστε το σε ένα middleware ώστε να απορρίπτονται αιτήματα από άλλους ιστότοπους.

securitycsrfmiddleware

Ομαδοποίηση actions σε ένα schema και επαναχρησιμοποίηση ορισμών input

Χρησιμοποιήστε το NEWSCHEMA() για να δηλώσετε σχετικά actions κάτω από ένα όνομα και μοιραστείτε έναν ορισμό input μεταξύ actions με ένα αρχείο στο jsonschemas/.

schemaactionsvalidation

Δημιουργήστε μια ροή επεξεργασίας με transforms

Καταχωρίστε πολλά βήματα κάτω από ένα όνομα με το NEWTRANSFORM() και περάστε μια τιμή μέσα από αυτά με τη σειρά με το TRANSFORM().

transformpipeline

Ανταλλαγή μηνυμάτων με το Total Messaging Service

Ενεργοποιήστε το endpoint WebSocket του TMS και αφήστε εξωτερικούς πελάτες να λαμβάνουν δημοσιευμένα μηνύματα, να στέλνουν μηνύματα στην εφαρμογή σας και να καλούν τις λειτουργίες της.

tmspublishsubscribewebsocketmessaging

Δημιουργήστε έναν πλήρη πόρο REST με actions

Δηλώστε τα actions query, read, insert, update, patch και remove πάνω στη βάση NoSQL, με επικύρωση, 404 για εγγραφές που λείπουν και διαδρομές που αντιστοιχίζουν κάθε μέθοδο HTTP.

actionscrudrestnosql

Ρυθμίστε μια διαδρομή WebSocket με σημαίες, πιστοποίηση και παραμέτρους

Επιλέξτε τον τύπο μηνυμάτων με το @text ή @binary, απαιτήστε συνδεδεμένο χρήστη με το πρόθεμα +, ελέγξτε ένα token CSRF με το @csrf και διαβάστε παραμέτρους URL σε διαδρομές SOCKET.

websocketrealtimesecurity

Ελαχιστοποίηση και συγχώνευση CSS, JavaScript και HTML

Τα στατικά αρχεία και οι απαντήσεις HTML ελαχιστοποιούνται αυτόματα· χρησιμοποιήστε το MERGE() για να σερβίρετε πολλά αρχεία ως ένα και τις ρυθμίσεις $minify για να το απενεργοποιήσετε.

performancecssjavascripthtmlminification

Αλλαγή μεγέθους και μετατροπή εικόνων

Επεξεργαστείτε εικόνες με το Image.load(), συνδέστε λειτουργίες μεγέθους, περικοπής και μορφής, αποθηκεύστε το αποτέλεσμα, μετρήστε το μέγεθός του και σερβίρετε μικρογραφίες με το $.image().

imagesthumbnailsgraphicsmagick

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

Ελέγξτε το Int, το SmallInt, το TinyInt και το Number2 με εγγενείς συμπαγές σχήματα, συμπεριλαμβανομένων των παραγόμενων τιμών, μηδέν και εκτός κλάσης εισαγωγών.

validationschemanumbersboundaries

Χρησιμοποιήστε τους ενσωματωμένους βοηθούς για string, number, date και array

Το Total.js επεκτείνει τα String, Number, Date και Array με βοηθούς για slugs, hashes, μορφοποίηση, ανάλυση, ομαδοποίηση και αναζήτηση και προσφέρει τα U.extend() και U.clone() για αντικείμενα.

utilitieshelpersstringarraydate

Εξέταση των γεγονότων ελέγχου δράσης με εγχώριο έλεγχο

Παρατηρήστε την επιλογή ελέγχου και εκφράστε τις κλήσεις $.audit() χωρίς να επικοινωνείτε με μια υπηρεσία εγγραφής ή να γράψετε ευαίσθητες εισαγωγές σε ένα λογότυπο εφαρμογής.

actionsauditsecurity

Εκτέλεση σε λειτουργία debug και release

Οι επιλογές του Total.run() επιλέγουν μεταξύ λειτουργίας debug και release· διαβάστε τη λειτουργία από το DEBUG και περιορίστε διαδρομές σε μία λειτουργία με τα @debug και @release.

deploymentdebugreleaseenvironment

Δοκιμάστε την εφαρμογή με τον ενσωματωμένο εκτελεστή δοκιμών

Γράψτε ένα test.js που ξεκινά την εφαρμογή, καταχωρίζει δοκιμές με το Test.push(), ελέγχει τα αποτελέσματα με το Test.print() και τερματίζει με μη μηδενικό κωδικό όταν κάποια αποτύχει.

testingci

Χρησιμοποιήστε όλους τους κόμβους CPU με τη λειτουργία κλαστού

Ξεκινήστε διάφορες διαδικασίες εργαζομένων πίσω από ένα λιμάνι με την επιλογή ομάδας του Total.run(), και να γνωρίζετε τι μοιράζεται μεταξύ τους και τι δεν είναι.

clusterperformancedeployment

Φορτώστε μια ενότητα JavaScript από URL με το IMPORT()

Κατεβάστε ένα αρχείο με JavaScript από μια διεύθυνση, κρατήστε το στον φάκελο tmp, φορτώστε το με require και χρησιμοποιήστε ό,τι εξάγει· η δεύτερη κλήση δεν το κατεβάζει ξανά.

modulesdownloaddependencies

Φτιάξτε μια ροή συνιστωσών με το Flow.load() και εκτελέστε την με το exec()

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

flowflowstreamcomponentsautomation

Δοκιμάστε μια συνιστώσα Flow μόνη της με το Flow.test()

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

flowflowstreamcomponentstests

Καλέστε ένα πρόγραμμα Python που συνεχίζει να τρέχει με το PYPELINE()

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

pythonpypelineintegrationsai

Ενόματα και όρια επικύρωσης μορφής στυλ

Διεξάγετε θετικές και αρνητικές επιθεωρήσεις σχήματος για τις μορφές enums, Color, Base64, Zip, Icon, JSON και IP.

total5reference

TotalAPI και Componentator όρια υπηρεσίας

Ελέγξτε την απενεργοποιημένη κλάση TotalAPI και το Componentator τοπικής κάλυψης χωρίς να κάνετε εξωτερικές κλήσεις υπηρεσίας.

total5reference

Οι λειτουργίες του QueryBuilder, οι φίλτρα και η σύμβαση οδήγησης

Ελέγξτε τις επιλογές DB και NEWDB, τα αποτελέσματα που έχουν γίνει, τα σφάλματα και οι μορφές φίλτρου χωρίς να συγχέετε έναν κατασκευαστή με έναν οδηγό βάσης δεδομένων.

total5reference

Συγκεντρώστε και εκτελέστε ένα αρχικό στοιχείο διακομιστή

Συγκεντρώστε το αξιόπιστο Total.js στοιχείο HTML, δημιουργήστε ένα παράδειγμα, επικυρώστε τα μηνύματα, επαναπροσδιορίστε το και απελευθερώστε τους πόρους του.

total5reference

Κλήσεις ελέγχου, χειροκίνητη εξουσιοδότηση και συνθησιακές απαντήσεις

Εκτελέστε jsonstring, απαντήστε, κάνετε, επιτύχετε, εξουσιοδοτηθείτε, προσαρμόσετε και Last-Modified χειρισμό.

total5reference

Επιλογές μεταφοράς δράσης και ρητή TMS δημοσίευση

Δοκιμάστε csrf, κρυπτογραφήστε, συμπιέστε και δημοσιεύστε ενάντια στο πραγματικό HTTP και TMS αντί να υποθέσετε ότι τα μεταδεδομένα επιβάλλουν τη συμπεριφορά.

total5reference

Ακυρώστε τα στατικά κενά με το Touch

Υπηρετείτε και τροποποιήστε ένα προσωρινό στατικό αρχείο, διαγράψτε την κρυπτογραφημένη αντιπροσωπεία του και αφαιρέστε κρυμμένες εγγραφές 404.

total5reference

OPENCLIENT RPC, γεγονότα και κοινές συνδέσεις

Εξάσκηση OPENCLIENT με τοπικό πρωτόκολλο, συμπεριλαμβανομένης της πρωτοστοποίησης, της συσχέτισης κλήσης, του χρονοδιαγράμματος και της λογικής-κλειδί απομάκρυνση.

total5reference

Κατεβάστε τα αρχεία FlowStream και εκτελέστε απομονωμένους εργαζόμενους

Εκτελέστε το ίδιο αξιόπιστο σχήμα FlowStream όπως ένα εργάτη thread και μια διαδικασία παιδιών, φορτίστε .flow αρχεία και αφαιρέστε παραδείγματα.

total5reference

Κύκλοι ζωής δράσης, επέκταση αποτελεσμάτων και διατηρητές διαχειριστών

Εξάσκηση εισόδου, εξόδου, επέκτασης, σα και σού με έγκυρες, ανεπιθύμητες και αποτυχημένες ενέργειες.

total5reference

Πραγματικό SQL με εγχώρια QueryBuilder και SQLite συναλλαγές

Καταγράψτε ένα περιορισμένο πρόγραμμα οδήγησης SQLite, εκτελέστε το παραμέτρων CRUD και επαληθεύστε την υποχρέωση, περιορίστε την αποτυχία και επιστρέψτε σε μια βάση δεδομένων που υποστηρίζεται από αρχεία.

total5reference

Κατεβάστε τους πόρους της εφαρμογής και αποφύγετε τις εκπλήξεις του πακέτου

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

total5reference

Αναζητήστε ένα πραγματικό τοπικό κατάλογο LDAP

Αναζητήστε μια απομονωμένη περίπτωση OpenLDAP και επαληθεύστε το αποτέλεσμα του συνδέσμου σε συνολικό επίπεδο5 0.0.19.

total5reference

Εφαρμογή συσκευασίας ως δέσμη Total.js

Δημιουργήστε ένα τοπικό πακέτο, φορτώστε τους ορισμούς του μέσω του φόρτωσης startup πλαίσιο και επαληθεύστε την εκχύλιση σε .src.

total5reference

Καθαρίστε το δικό σας αρχείο και δημιουργήστε συνδέσμους αναζήτησης

Ελέγξτε την προεπιλεγμένη φόρτιση καθαρισμού, αυτοκλειδί (ψεύδος), σαφή και αντικατάσταση ερωτήματος href.

total5reference