Traduca

Translate to EnglishÜbersetzen Sie zum Deutsch/GermanΜεταφράστε στα ελληνικά/GreekПереведите к русскому/RussianOversetter til Norsk/NorwegianÖversätta till Svensk/Swedishहिन्दी अनुवाद करने के लिए/Hindi
Tradueix al català/CatalanTulkot uz latviešu/LatvianPreložiť do slovenčiny/SlovakVertaal aan het Nederlands/Dutchترجمة الى العربية/ArabicTraduzca al Español/SpanishTraduisez au Français/French
Traduca ad Italiano/ItalianTraduza ao Português/Portuguese日本語に翻訳しなさい /Japanese한국어에게 번역하십시오/Korean中文翻译/Chinese Simplified中文翻译/Chinese TraditionalПереклад на українську/Ukrainian
Immagine dei sistemi operativi moderni (terza edizione)
L'immagine di RHCE Red Hat ha certificato la guida di studio di Linux dell'assistente tecnico (esame RH302) (pressa di certificazione)
Immagine di cominciare Google Maps api 3
Immagine di programmazione avanzata nell'ambiente di UNIX, seconda edizione (serie di calcolo del professionista del Addison-Wesley)

HAL Scripting

I rilasci recenti di Fedora ed altre distribuzioni di GNU/Linux comprendono uno strato di astrazione di fissaggi (HAL) che è usato per sostenere le possibilità pronte per l'uso del dispositivo.  In questo alberino gli mostrerò come i vostri shell script possono usare HAL per richiamare le informazioni di sistema e del dispositivo.

Il termine HAL è sovraccaricato come esso ha usato per fare riferimento entrambi ad una specifica ed al software reale che realizza la specifica.  Da un punto di vista degli sviluppatori di applicazione, HAL è senso enumerare le possibilità e le caratteristiche di fissaggi allegate ad un sistema e ricevere la notifica quando qualcosa circa i fissaggi cambia.

In primo luogo, una descrizione molto rapida di HAL.  Ogni articolo di fissaggi fisici in un calcolatore è considerare come essendo un oggetto del dispositivo che ha identificato da un contrassegno di dispositivo unico (UDI).  È associato con ogni oggetto del dispositivo un insieme variabile delle proprietà denominate scriv ben definite del dispositivo di accoppiamenti di chiave-valore (o meta dati) che descrivono che cosa ogni oggetto del dispositivo rappresenta insieme alle relative proprietà.  Alcune proprietà del dispositivo sono derivate dai fissaggi fisici reali, alcuni sono fusi dalle lime XML-formattate, conosciute come gli archivi d'informazioni del dispositivo ed alcuni sono derivati dalla configurazione di dispositivo reale.  Le proprietà obbligatorie del dispositivo sono definite nella specifica di HAL.

A

Modelli estesi KSH93

La corrispondenza di modello è una componente importante di tutte le coperture moderne. Le coperture ksh93 sostengono entrambe le espressioni normali così come che cosa è denominato modelli estesi. I modelli estesi possono essere pensati come a codice categoria o a tipo di espressioni normali estese. Lo scopo di questo alberino è di spiegare, con alcuni esempi, come utilizzare il potere dei modelli estesi nei vostri scritti ksh93.

Javascript E4X

In alberini precedenti, ho discusso la linea di ordine di SpiderMonkey js delle coperture e come aggiungere il supporto ad esso per permettere all'pieno accesso (colto, scriva, generi, copi, cancelli, ecc.) al filesystem locale via l'oggetto della lima e la biblioteca di NSPR.

Mentre rumaging intorno nel codice e nella documentazione sorgente per i js, ho trovato che i js parzialmente hanno sostenuto l'estensione di EX4 XML via un'opzione configurabile dell'utente.

Questo alberino esamina che cosa prende per caricare un documento di XML nei js dal vostro filesystem locale, per procedarlo e scrivere il documento risultante al vostro filesystem locale usando gli oggetti della lima e l'estensione di E4X.

Il ECMAScript per la specifica di XML (E4X) (ECMA-357) aggiunge il contributo natale agli oggetti di XML ed agli oggetti di XMLList al linguaggio di programmazione di Javascript.  Questo campione in primo luogo è stato pubblicato in 2004 ed è stato basato sulle estensioni di XML fornite nel prodotto dell'officina di BEA (ora Oracle) Weblogic.  Queste estensioni sono state progettate da Terry Lucas e da John Schneider che hanno condotto il ECMAScript per iniziativa di XML (E4X).

L'idea di base dietro E4X era che le lingue dichiarative quali XSL e XPATH sono troppo complesse affinchè il programmatore medio imparassero rapidamente e quindi un senso più semplice di accesso e di manipolazione dei documenti di XML era necessario.  Personalmente non sono d'accordo con quell'asserzione.

Come divagazione, attualmente Schneider è fondatore e CEO a AgileDelta che ha sviluppato la specifica efficiente di disposizione binaria di XML che progetto di scrivere circa in un alberino futuro.  Un gruppo di lavoro di W3C attualmente sta sviluppando la specifica di EXI che è basata sulla specifica di AgileDelta.  

Oggetto della lima di Javascript

Poichè siete probabilmente informato i motori di Javascript quale SpiderMonkey non permettono tipicamente l'accesso al filesystem locale in ragione di sicurezza.  Per permettere agli sviluppatori di verificare gli scritti da una linea di ordine, i js comprende la funzione del carico () che gli permette di caricare uno o più scritti di Javascript nel motore di SpiderMonkey.  Tuttavia questo non è sufficiente per i nostri scopi poichè nessun mezzo è fornito scrivere al filesystem.  Osservando più molto attentamente il codice sorgente, ho notato il contributo agli oggetti della lima.  Questo supporto non è permesso a per difetto tuttavia.  Non è sufficiente recompile semplicemente SpiderMonkey con questa opzione permessa a; dovete anche caricare programmi oggetto e costruire la biblioteca portatile di tempo di esecuzione del Netscape (NSPR).  Questa biblioteca fornisce un api piattaforma-neutro per il livello di sistema e libc-come le funzioni ed è usata da un certo numero di progetti Mozilla e da altri sviluppatori di software dei terzi.  Il rilascio corrente è 4.7.3 e potete caricarli programmi oggetto qui.

Ci sono alcuni gotchas a costruire Spidermonkey con NSPR.  In primo luogo, dovete costruire con successo NSPR.  Il tarball di codice sorgente per NSPR viene con lo GNU standard autoconfigure gli attrezzi.  Se siete su un sistema 64-bit, dovete eseguire configurate con - l'opzione di enable-64bit; altrimenti la configurazione verrà a mancare rapidamente.  Dovreste allora verificare la configurazione andando al subdirectory della prova, sviluppando il testsuite ed eseguendolo.  Inoltre dovete modificare Makefile.ref dello SpiderMonkey (sto presupponendo che state sviluppando SpiderMonkey 1.7 e non una liberazione frettolosa) per includere il libnspr e le intestazioni di NSPR.  Due compilano il tempo definiscono sono necessari.  Potete definire JS_HAS_FILE_OBJECT e JS_THREADSAFE in Makefile.ref o come linea di ordine discussioni per fare.  Dopo che voi, dovrebbe potere costruire con successo SpiderMonkey con il supporto natale dell'oggetto della lima.

Ora che abbiamo configurazione dei js con contributo agli oggetti della lima, che cosa può noi fare con esso.  Bene, indovino che dovremmo cominciare con ciao lo scritto previsto del mondo. js> File.output.writeln (“ciao mondo "); Ciao js> allineare File.output.writeln (“ciao, mondo ") del mondo; “GIUSTO„ ciao, js> GIUSTO File.output.writeln (“ciao, mondo ") del mondo; “„ Ciao, js> del mondo

Noti che allineare outputted a meno che aggiungiate il qualcos'altro come indicato sopra.  Qui è un altro breve esempio che dimostra come elencare le proprietà dell'oggetto della lima di caso per l'indice corrente. dir del js> = nuova lima (`. '); /home/fpm/js/. js> per (i nel dir) la stampa (i); isFile isDirectory di nome di percorso del genitore di lunghezza esiste canReplace del canAppend del canWrite del canRead isOpen

Stat Builtin di Korn Shell 93

Questo alberino dimostra come scrivere un builtin loadable di stat per le coperture 93 di Korn.