Monday, 7 August 2017

Moving Media Buona O Bad


Ciao, I8217m Leo. Im uno sviluppatore di software ibrido, progettazione, commercializzazione e imprenditore. Io sono l'amministratore delegato di Ballistiq. un design e società di sviluppo software web. Un po 'più su di me gtgt Ballistiq Sviluppo Web Alla ricerca di un team di sviluppo web basato nord-americano di fiducia che ha una grande esperienza Ballistiq fornisce servizi di progettazione e sviluppo su misura. Weve costruito siti e applicazioni per le migliori aziende tra cui Autodesk, NVIDIA, Gnomon School of Effetti visivi, Allegorithmic, Luxion e altro ancora. Categorie Ruby on Rails vs PHP 8211 Il buono, il brutto Nota 8211 questo articolo è stato scritto nel 2012. I8217ve aggiunto un addendum per aggiornare l'articolo con tutti i pensieri su 30 Mag 2014 in fondo. I8217ve stati in via di sviluppo con PHP dalla versione 2 (molto tempo fa). Avevo voglia di entrare in Ruby on Rails e aveva giocato con lui dalla versione 1, ma non ha mai avuto la possibilità di utilizzare per davvero in produzione sul serio fino a quando lo scorso anno con Ballistiq. Da allora, I8217m ora codifica 8020 Ruby on Rails e PHP, in modo da I8217ll dare i miei pensieri su due. Al momento della scrittura, le versioni I8217ll essere parlando sono PHP 5.3PHP 5.4 e Ruby on Rails 3.2 (in esecuzione su Ruby 1.9.3). Il contesto di questo post è confrontare i due specificamente per lo sviluppo web. Aren8217t si confrontando le mele alle arance Rails è un framework per Ruby. PHP è un linguaggio e ha molti quadri. Che I8217m soprattutto a confronto è la mia esperienza di lavoro con entrambi gli ecosistemi: framework PHP (ce ne sono molti) vs rubino Rails (il quadro predominante). Mentre alcuni possono ottenere appeso sopra cercando di confrontare i due e può esitano a titolo di questo articolo, questa è una domanda legittima che molti sviluppatori chiedono. Molti sviluppatori vogliono sapere quali sono le benefitsshortcomings di entrambi gli ecosistemi e sinceramente vogliono solo una risposta chiara. Dal popolarità di questo articolo tramite Google, it8217s qualcosa che decine di migliaia di persone in realtà stanno chiedendo. Isn8217t è solo una preferenza Sì e no. Sia il PHP e l'ecosistema di Ruby sono molto potenti. In molti casi, sì, si può semplicemente far bollire giù ad una preferenza. Tuttavia, ci sono molti punti di forza per entrambi e it8217s utile per poter confrontarle in modo equilibrato. Non I8217m religioso collegato a una o all'altra. I8217ve utilizzato sia. La mia azienda lavora con entrambi. Entrambi sono qui per rimanere e giocare un ruolo importante nel settore dello sviluppo web globale. PHP 8211 Il buono semplicità e la curva di apprendimento Quello che assolutamente amo di PHP è la sua semplicità e la curva di apprendimento relativamente poco profondo. La prima volta che entra in PHP, tutto ciò che serve è una singola pagina web HTML. Modificare l'estensione di. php. Gettare in qualche codice ltphp qui gt PHP in linea, eseguito su un server web PHP e il gioco è fatto. It8217s semplice davvero morto per qualcuno totalmente fresco per ottenere qualcosa di utilizzabile fatto e implementato in pochi minuti. Questo è stato uno dei punti di forza di PHP e perché it8217s così maledettamente popolari 8212 i progettisti e programmatori non possono essere produttivi fin da subito. Questa semplicità, tuttavia, ha un costo. Si tratta di un'arma a doppio taglio in quanto porta ad un sacco di sciatta, codice impossibile da mantenere. Questo porta le persone a usare framework che costringono un particolare standard di codifica. Il vantaggio di PHP8217s semplicità e la curva di apprendimento superficiale è davvero una grande cosa andare per esso e questo ha benefici di business troppo: it8217s più facile trovare persone che conoscono PHP. Se si guarda intorno, gli sviluppatori Ruby on Rails sono più costosi e difficili da trovare. I buoni sviluppatori che sanno davvero Ruby e Rails (il l33t) tendono ad essere sviluppatori più accaniti. La documentazione per PHP è anche fantastico. Trovo la documentazione per PHP molto più utile rispetto a quelli per Ruby e le Guide Rails. I commenti degli utenti davvero aiutare e c'è un sacco di codice di esempio che mostra come risolvere i problemi comuni. It8217s Realizzato per il Web Una grande cosa su PHP è che in realtà è concentrata interamente per il web. It8217s non un linguaggio di programmazione general purpose come Ruby (o PythonJavaCPerletc.). Molte delle sue funzioni inbuilt sono specifici per risolvere i problemi web e questo lo rende un linguaggio molto semplice da programmare per il web. Per esempio. se si desidera inviare un colpo di testa al browser, basta usare la funzione header (). Un hash MD5 o SHA1 è semplicemente md5 () e sha1 (). It8217s non come semplice per fare questo con RubyRails come si deve caricare in biblioteche e utilizzare namespacesmodules per raggiungere le stesse funzioni. Lot8217s delle Risorse PHP ha una tonnellata di risorse, strutture, applicazioni e librerie disponibili per esso. Da CMS8217 come WordPress e Drupal per framework come Symfony e librerie come dottrina, PHP ha davvero un sacco di buone risorse disponibili. Quando si tratta di implementare un semplice CMS, per esempio, ho quasi sempre di default a solo usando WordPress invece di costruire una applicazione Rails per esso. Mi sento che it8217s una soluzione molto più semplice. Morto semplice da implementare distribuzione di PHP è morto semplice. Nel caso più semplice, è sufficiente FTP i file su un server web (che noi di Ballistiq mai facciamo 8211 abbiamo distribuire utilizzando Git). Il fatto è che, con PHP si don8217t sapere su o cura necessariamente sulla pila web. Molti servizi di hosting basta usare un ambiente LAMP (Linux, Apache, MySQL, PHP), così finché i file sono in atto hanno solo correre e that8217s che. Anche utilizzando un framework come CodeIgniter è relativamente semplice, come si don8217t mai necessario utilizzare la riga di comando 8212 è sufficiente copiare l'intera directory quadro sul server ed eseguire. That8217s esso. PHP 8211 The Bad sua evoluzione ha portato ad un sacco di cattive codice Questa non è una caratteristica difetto diretta di PHP, ma è il risultato di anni e anni di costruzione sulla cima di un semplice linguaggio di scripting che era specifico per risolvere problemi semplici web. PHP non è stato sempre orientato agli oggetti. Anche quando lo ha fatto sostenere OOP, per anni non è stato davvero OOP (manca caratteristiche importanti come metodi statici), quindi i programmatori hanno ottenuto intorno ai problemi attraverso tutti i tipi di imbrogli come l'utilizzo di variabili globali o l'impostazione di una variabile locale utilizzando un puntatore di riferimento globale. Per esempio. Tipico codice pre-PHP5 Questi sono solo un paio di esempi, ma ci sono altri che mi won8217t in questa sede. It8217s spiacevole ma è solo uno degli effetti collaterali di lavorare con un linguaggio che è evoluta rapidamente. Una cosa che ci spinge a folle Ballistiq sta andando in progetti in cui dobbiamo migliorare o mantenere le applicazioni scritte con il vecchio PHP. Questo è il caso di uno dei nostri più grandi progetti in cui we8217re cercando di aggiornare un grande applicazione scritta in codice PHP4 ed è orribile. Un sacco di codice sciatta lì che dobbiamo lavorare. Meglio norme di codifica portare a davvero Codice purista Come accennato in precedenza, il codice sciatta non è una caratteristica intrinseca difetto di PHP. It8217s proprio come le persone hanno utilizzato la lingua. Come PHP ha ottenuto più popolare, it8217s ottenuto un sacco di influenza da parte degli sviluppatori aziendali che adottano un approccio molto purista alla programmazione. Quando si va a conferenze e ascoltare questi esperti PHP a parlare di migliori pratiche, PHP non è più diventa divertente da programma. You8217re quasi guardando un programma Java. Classi dichiarano esplicitamente gli spazi dei nomi, l'importazione di spazi dei nomi, getter esplicito e metodi setter, esplicita dichiarazione di metodi pubblico-privato, ecc Il codice diventa estremamente prolisso. Ora, se si vuole vedere un quadro che richiede un approccio più purista alle cose, controlla Symfony. It8217s un grande framework PHP that8217s pronta per l'uso a livello aziendale, ma da un punto di vista dello sviluppo, lo trovo noioso. Ruby on Rails 8211 The Good quadro matura Più I sviluppare on Rails, più apprezzo molto e lo amano. I8217ve ha scoperto che ci permette di creare prodotti di qualità superiore per i clienti molto più veloce, che sono più gestibile. It8217s un quadro maturo e stabile che molte grandi aziende sono confortevoli, con l'introduzione nei loro ambienti. Confrontare questo con l'ecosistema PHP che ha molti quadri 8212 there8217s il rischio di selezione di un quadro e di trovare che it8217s non solo che ben supportati da diversi anni da oggi (abbiamo fatto questo errore). Velocità e Sviluppo Joy Adoro lavorare con Rails perché come piattaforma di sviluppo, è estremamente automatizzati. Tanti lavori umili sono state automatizzate in modo che solo concentrarsi interamente sulla soluzione del problema di business, invece di incidere il vostro senso intorno ad un quadro. Alcune cose veramente andando per Rails a questo riguardo sono: GeneratorsScaffolding 8211 Fornire un ottimo punto di partenza per lo sviluppo di giro. Alcuni framework PHP ora fornire caratteristiche ponteggi. GemsPlugins 8211 la comunità Rails fornisce una vasta gamma di plugin come Ruby Gems che è sufficiente aggiungere al progetto Gemfile e installare. Questo accelera significativamente lo sviluppo e la manutenzione tempo come you8217re non cercando di integrare le biblioteche disparati, it8217s già fatto per voi. Attivo Record ORM 8211 Di tutti i ORM8217s che ho usato (per PHP I8217ve utilizzato DataMapper DMZ, FuelKohana, dottrina), ActiveRecord in Ruby on Rails è semplicemente il migliore. In realtà funziona ed è estremamente semplice da usare. strumenti di test integrati 8211 I love it che fuori dal cancello, Rails ha un framework di test che può essere utilizzato. In PHP, molti quadri sono solo di recente cercato di integrare PHPUnit, a vari gradi di successo. Come un linguaggio di programmazione, Ruby è in realtà piuttosto un linguaggio sorprendente. A differenza di PHP, in realtà è Object Oriented da zero. Il suo codice è molto conciso e potente. Gems (estensioni) consentono di Bolt sulla funzionalità necessarie. Dopo la codifica in Ruby, trovo codifica in PHP (o qualsiasi altra cosa in realtà) piuttosto noioso. Ruby on Rails 8211 The Bad ripida curva di apprendimento La mia carne principale con Ruby on Rails è che ha in realtà una curva di apprendimento ripida. Non credo che il hype che dice che è davvero facile. Essi vi mostrerà podcast dove si costruisce una semplice applicazione blog utilizzando impalcature e voilà Instant Website. Nulla potrebbe essere più lontano dalla verità. Rails è visto per essere facile perché hanno automatizzato molte cose nel quadro 8212 questo non lo rende facile da capire. Lo sviluppo di una applicazione Rails e la distribuzione in realtà richiede di conoscere lo stack completo. Con PHP, si può solo mettere insieme un po 'di codice PHP in linea, FTP ad un server e il gioco è fatto. In Rails, si ha realmente bisogno di sapere cosa si sta facendo dal server web (Apache o Nginx), la creazione di Phusion passeggeri e motore di database. Poi bisogna fare i conti con il processo di gasdotto risorsa per preparare la vostra applicazione per l'esecuzione in modalità di produzione. It8217s non è semplice come eseguirlo in modalità di produzione 8212 si devono precompilare le risorse e assicurarsi che i file sono in realtà lì. Se non lo sono, Rails semplicemente saltare in aria e si deve scoprire perché accedendo ai registri di Rails. Rispetto al PHP, Rails è anche ostile quando si tratta di errori. Con PHP, sarà sputare errori a voi nello sviluppo e messaggi di errore in realtà avere un senso. In genere una pagina renderà ma la parte con l'errore vi mostrerà quale linea si è verificato l'errore e il messaggio è utile. In Rails, in genere l'intera applicazione esplode. Un'ultima cosa da gettare in è che le buone Ruby on Rails sviluppatori tendono ad essere poliglotti. Essi sono in grado di raccogliere e imparare molte lingue. Mentre i principianti stanno combattendo per imparare solo Ruby, Rails la gente sta usando CoffeeScript invece di Javascript, SCSS (o meno), e Slim o HAML. Per un nuovo arrivato Rails, parte della curva ripida, non è solo imparare Ruby e il framework Rails, ma tutte le altre lingue, nonché di Ruby non è una lingua facile I8217m dispiace di offendere alcune persone qui, ma di Ruby non è semplicemente così semplice come PHP per imparare. E 'da tutti gli un linguaggio estremamente potente. Ho scelto di usare Rubino, semplicemente perché come sviluppatore sento che è una lingua molto meglio di PHP. Ma da una prospettiva di apprendimento, non lo è. Rubino ha molte caratteristiche che non sono semplicemente semplice per un programmatore principiante a capire. Uno di questi concetti sono blocchi, proc e lambda, che Rails usa pesantemente. L'esempio classico Ruby on Rails userò è per la creazione di una forma: se you8217re nuovo a Ruby, si può essere perdonato per aver detto, 8220Wait un minute8230.what8217s f8221 Sì, signore. Benvenuti a blocchi. Here8217s un po 'di un esempio estremo: Anche da un programmatore esperto, sono andato Crosseyed quando vedendo la riga di codice precedente. It8217s molto semplice in realtà 8211 generano una stringa casuale di 8 caratteri. Un'altra area è meta di programmazione. Here8217s un esempio: I8217ve insegnato Ruby on Rails per sviluppatori esperti e questo li viaggi di sempre. Che cosa è esattamente hasone. hasMany e hasandbelongstomany. Sembra it8217s una sorta di parola chiave riservata o dichiarazione come questi non sono incapsulati in un metodo. Tuttavia, in Ruby, viene eseguito tutto il codice. Ogni riga di codice viene eseguito, così hasone. hasMany e hasandbelongstomany sono solo i metodi che vengono eseguiti quando la classe è dichiarata. Infine un'altra cosa che rende Rubino sfida per i principianti è la sua sintassi sciolto. Let8217s guardare di nuovo al codice di cui sopra. It8217s non ovvio (a un principiante) che hasone: indirizzo sta invocando un metodo, perché le parentesi mancano dalla chiamata di metodo. In PHP, la sintassi è più rigorosa e questo rende più semplice per i principianti di sapere che cosa what8217s. Come linguaggio, soprattutto se you8217re proveniente da altri, come CJavaPHP, Ruby è impegnativo e sarà piegare la mente. Una volta installato e funzionante you8217re però, it8217s fantastico e molti che hanno preso il salto piace molto la codifica con esso. Conclusione Quindi da tutto questo, che cosa concludo PHP è un punto di ingresso più amichevole in sviluppo web di RubyRails. It8217s più facile, non ci sono più risorse disponibili e si possono ottenere risultati veloci. Nonostante questo, mi piace personalmente a lavorare con Ruby e Rails più di PHP. Per molte delle ragioni I8217ve descritto in questo articolo, mi sento che l'ecosistema di Ruby offre un set di strumenti superiore per lo sviluppo di applicazioni. Io rispetto che i tifosi PHP die-hard won8217t pensano allo stesso modo 8211 that8217s raffreddare. La mia opinione è formato da lavorare con entrambe le lingue ed ecosistemi a fondo nella produzione. Dopo essersi trasferito a Rails, I8217ve mai veramente sentito molto più di un desiderio di tornare in via di sviluppo con PHP e così tutti i miei nuovi progetti tendono ad essere RubyRails. A Ballistiq. sviluppiamo in entrambi. Se il codice PHP un progetto client ha già esistenti e in via di sviluppo we8217re per questo, la necessità di integrazione a livello software, restiamo in PHP. Se un cliente ha bisogno di una nuova applicazione, o stiamo costruendo il nostro uso applicazione Rails. Addendum 8211 30 maggio 2014 Wow it8217s stato un po 'da quando ho scritto questo e continua ad essere un articolo molto altamente classificato su Google, che attira un sacco di traffico. Poiché la tecnologia avanza ad un ritmo a rotta di collo, ho voluto aggiornare questo articolo con alcuni nuovi pensieri. PHP ha percorso una lunga strada da quando ho scritto questo articolo Quando ho scritto questo articolo, PHP è stato in un po 'di una fase transitoria, come molte persone erano ancora usando PHP 4 e cercando di migrare a 5. Symfony 2 non era ancora stato rilasciato, e laravel non era una grande cosa. A partire da ora, PHP sta avendo un po 'di una rinascita. Qui ci sono alcune grandi tecnologie che rendono davvero PHP brillare: laravel 8211 Come un quadro, laravel sembra davvero eccellenti e molte persone PHP hanno scelto come loro quadro di scelta. Io parlo per can8217t perché ho haven8217t usato nella produzione. Ma sembra buona. Composer 8211 Composer è a PHP ciò RubyGems Bundler è quello di Ruby. Lo fa la gestione dei pacchetti che doesn8217t succhiare. Per anni la comunità PHP avuto a che fare con la pera, che guadagno davvero didn8217t molta trazione. PHP web server 8211 Per lungo tempo, lo sviluppo con PHP sul computer significava che si doveva fare affidamento su un web server esterno come Apache. Molti sviluppatori finito per l'installazione di MAMP. A partire da PHP 5.4, PHP è ora dotato di un proprio web server linea di comando, e it8217s in realtà molto facile da accendere. Ora, non tutto funziona con il server di riga di comando web (ho avuto problemi a WordPress per avviare con esso), ma se you8217re via di sviluppo con un framework che supporta questa, it8217s un modo molto più bello e più sano di sviluppo. Codeception 8211 Uno dei nostri membri del team a Ballistiq ha dato davvero un bel parlare di un framework di test chiamato Codeception, e devo dire che in realtà sembra decente, sostenendo le cose come selenio e BDD test di stile. HHVM 8211 progetto Opensource condotto da Facebook, questo richiede PHP e lo compila in bytecode che a sua volta viene tradotto in codice macchina x64 e corre veramente veloce. Si tratta di un progetto molto interessante che rende PHP altamente performante e scalabile. Così PHP isn8217t andando via in qualunque momento presto. Molte persone lo usano e mettere a buon uso. Tuttavia, io (e molti ingegneri web) si sono spostati. Mentre gli ingegneri, we8217ll incidere in tutto ciò che abbiamo bisogno di ottenere il lavoro fatto, però, per scelta, ho won8217t avviare un nuovo progetto in PHP. Perché sento che ci sono soluzioni più interessanti là fuori che vale la pena guardare. Perché amo ancora Rails come quadro e Ruby come linguaggio Come ho già detto nel 2012, mi è piaciuto molto lavorare con Ruby e Rails. Nonostante it8217s ripida curva di apprendimento, dopo un po 'mi ha colpito un groove ed ora le applicazioni che stiamo consegnando sono così buone che ho can8217t immaginare di tornare. Here8217s alcune delle cose che vanno per RubyRails che mi sento davvero fare una scelta così forte: Gems 8211 Quando ho iniziato la codifica in Ruby, Gems mi confusi più che hanno aiutato perché c'era troppo 8216magic8217. Una volta ho imparato che si potrebbe (e dovrebbe) basta leggere il codice sorgente per le gemme, tutto fatto in modo molto più senso. A causa della natura innesto di gemme e gli standard community8217s, gemme possono dare l'applicazione di una enorme quantità di funzionalità molto rapidamente. Alcune gemme che non posso vivere senza: ideare (autenticazione 8211 gestisce gli accessi degli utenti, segno sociale su, dimenticare i flussi di lavoro di password e molto altro ancora), Paperclip (upload di file 8211 gestisce anche il caricamento su S3, immagine croppingresampling), semplice forma rende forme incredibilmente semplice di standardizzare e rendere sui siti web. Motori montabili 8211 abbiamo fatto un gigantesco progetto per una società Fortune 500 in cui, dopo la costruzione della domanda iniziale, è stato un tale successo che altri reparti volevano la stessa applicazione, ma con un po 'diversa funzionalità e diversa interfaccia utente. Piuttosto che copypasting l'applicazione e di dover supportare diversi basi di codice, siamo stati in grado di estrarre la maggior parte delle funzionalità di base in un motore montabile Rails, e letteralmente hanno una base di codice, ma diversi siti web. Il cliente era assolutamente entusiasta di questo ed è stata una grande vittoria per noi. Scaling 8211 Rails ha uno stigma di essere in grado di scalare e si riferiscono a Twitter Rails dumping. Non abbiamo trovato gli eventuali problemi di scala con Rails e abbiamo applicazioni che vengono eseguite con milioni di pagine viste e centinaia di migliaia di utenti ogni mese. Il fatto è che la maggioranza di voi non avrà mai i problemi di scala che Twitter aveva. And8230in infatti, abbiamo trovato più facile da scalare con Rails che con PHP. Come prima cosa, Rails supporta la memorizzazione nella cache, fuori dalla scatola. You8217re in grado di fare vista frammento di caching all'interno del codice dell'applicazione e utilizzare Redis come un archivio di cache. Si tratta di una soluzione molto più semplice che cercare di usare vernice che memorizza tutto ciò che passa attraverso di esso e lasciando gli utenti registrati, senza caching. Utilizzando built-in Rails caching ci ha consentito di scalare facilmente. In secondo luogo, Rails Capistrano Chef rende molto semplice da scalare per ambienti server multipli molto rapidamente. La nostra tipica infrastruttura di Amazon AWS comprende Elastic Load Balancer, più istanze di server applicativi server redissearch, sostenuta da una istanza di database RDS. Abbiamo istituito il provisioning dei server con lo chef, che ci permette di disposizione una nuova istanza ready-to-run in pochi minuti. distribuzione simultanea completo di migrazione dei dati può essere fatto con Capistrano dalla riga di comando. Letteralmente, digito nella produzione cap deploy: migrazioni e tutto è magicamente distribuiti a tutti i nostri server applicativi. Gli utenti don8217t vedere alcuna interruzione, come abbiamo Phusion Enterprise passeggeri e si riavvia rotolamento. processi in background 8211 PHP è stato progettato come un ipertesto pre-processore che significa che venga eseguita solo quando c'è una richiesta Web. Rispetto rubino che esegue un processo. In Rails, è possibile impostare facilmente i processi in background utilizzando Sidekiq o Resque. Questo aggiunge anche Rails8217 possibilità di scalare facilmente. Nelle nostre applicazioni, si passa un sacco di roba che può rallentare domande come inviare email agli utenti in processi in background. Ora, PHP può fare i processi in background utilizzando Gearman ma non that8217s standardizzato 8211 è necessario installare l'estensione PECL. In RubyRails, processi in background sono un non-problema. Basta farlo. Rails è noiosa 8211 Rails è ora alla versione 4.x. It8217s un quadro maturo. It8217s noioso ora. I bambini freschi sono reclamizzano NodeJS in questi giorni. Rails è noioso perché it8217s robusto e stabile. We8217ve sviluppato applicazioni in Rails ora alcuni dei più grandi world8217s ditte e persone nei loro dipartimenti IT don8217t una piega. It8217s noto che it8217s una buona scelta per costruire la vostra (robusta, enterprise-ready, scalabile, performante) applicazione su. Altre tecnologie che secondo me stanno plasmando il AngularJS web 8211 abbiamo introdotto AngularJS nei nostri progetti dei clienti all'inizio di quest'anno per due aziende Fortune 500 ed è stata una grande vittoria. AngularJS consente di creare applicazioni una sola pagina che vengono eseguiti in Javascript. La maggior parte della logica front-end va in AngularJS e il back-end, semplicemente perché una API che serve JSON. In questo modo, siamo stati in grado di costruire applicazioni altamente performanti. L'esperienza dell'utente è molto buona con questo approccio perché le pagine caricare in modo estremamente rapido, come il browser non deve fare una richiesta di andata e ritorno completo. NodeJS 8211 ho iniziato a sviluppare in NodeJS a pochi mesi fa ed è saltato la mia mente. Che NodeJS è molto buono per è la costruzione di applicazioni in rete. Per esempio. se you8217re creazione di un'applicazione chat in tempo reale, è possibile utilizzare NodeJS per questo. A causa della durata di Rails, io don8217t che we8217re allontanandosi che in tempi brevi per la creazione di applicazioni di grandi dimensioni, ma per aggiungere componenti in tempo reale, userei NodeJS SocketIO. Che cosa si deve fare lo sviluppo Web sta diventando incredibilmente complesso. I giorni di un singolo sviluppatore in grado di spedire un'applicazione completa dall'inizio alla fine stanno diventando sempre più difficile. Anche front-end non può più essere gestito da un unico designerdeveloper ibrido che può incidere CSS markup HTML. Se si sono appena agli inizi, mi raccomando ancora di iniziare con PHP. Otterrete risultati molto più velocemente, e questo alimenterà la vostra crescita e la conoscenza. Salto in RubyRails come prima lingua potrebbe lasciare veramente frustrato cercando di ottenere risultati 8211 ricordano, con Rails, è necessario conoscere l'intera pila in modo it8217s non solo la lingua e il quadro you8217re sfidato con. Una volta you8217re agio con la creazione di applicazioni su misura in PHP, è possibile stuzzicare l'appetito e iniziare a utilizzare altre tecnologie come RubyRails e persino NodeJSExpress, e you8217ll apprezzare ciò che offrono queste tecnologie. Molti dei concetti si impara da PHP in quadri come Symfony amp laravel porterà ad altre lingue e quadri. Un'altra ragione per cui vi consiglio di PHP come un ottimo punto di partenza è che it8217s molto utile sapere in modo da poter incidere su cose come WordPress temi e plugin. WordPress è così ampiamente usato oggi in attività (in particolare i dipartimenti di marketing) e it8217s bello avere poliglotti software che possono lavorare con molti strumenti e piattaforme diverse. La cosa che si deve capire è che il Web non è su ciò che il linguaggio si sceglie di sviluppare con 8212 it8217s sugli standard e quello che serve per ottenere informazioni dentro e fuori del browser web. Si doesn8217t importa ciò che si trova sul server, a patto che sputa fuori HTML ei dati JSON giusti 8211 è possibile utilizzare C per tutti nessuno si prende cura. That8217s perché ci sono così tante tecnologie web da PHP a Ruby di Python per a Java e Perl Gosh è ancora usato (ho incontrato un ragazzo che ha scritto un App Shopify interamente in Perl). Così ci si va. Continuate a hacker Si può fare qualsiasi cosa in PHP che si può in Rails e viceversa. That8217s sufficiente per me per attaccare con PHP. Per quanto riguarda Rails essere più veloce da implementare, davvero dubito. Non c'è molto tempo che può essere salvato in PHP vs un'altra lingua con le strutture esistenti che utilizzano già (a meno che, naturalmente, costruiamo AI di avviare codice di programmazione). Bell'articolo. Sono assolutamente d'accordo, perché I8217ve avuto la stessa esperienza proveniente da un fondo di PHP verso RoR. I8217m solo contento di non I8217m l'unico che pensa che l'apprendimento Rails è difficile. I8217m ancora cercando di ottenere la mia testa intorno CoffeeScript. Vorrei offrire alcuni consigli ai lettori, un ottimo modo per imparare Ruby e Rails è facendo il corso gratuito SaaS da Edx (edx. orgcourseuc-berkeleycs-169-1xsoftware-service993). Non solo si sarà imparando solida Ruby on Rails, ma imparerete buoni aspetti ingegneristici e finire con un certificato presso l'Università di Berkeley, nonché Oltre a questo, posso consigliare il Ruby on Rails Tutorial 2ed da Michael Hartl. e Head First Rails (O8217 Reilly). Ricordate, più si dà RoR una possibilità, tanto più you8217ll amarla. Grande write up. Im più di un javascript ragazzo che usa occasionalmente php per il lato server. Dal momento che il nodo è venuto, ha iniziato a usare javasript sul lato server troppo. Un sacco di strumenti interessanti che uso come Jekyll, Sass e bussola sono scritti in Ruby, così ho sempre avuto la tentazione di imparare rubino. Ho osservato un sacco di miei colleghi in movimento a Ruby o Python perché ritengono che essere un programmatore php appena doesn8217t ottenere lo stesso rispetto. Grande, articolo equilibrato Leo, grazie per non pubblicizzando uno o l'altro e rimanendo obiettivo sulla tua esperienza. la complessità di distribuzione di RoR mi riguarda, mentre mi piace gli altri aspetti. Bell'articolo. Im sia PHP e Ruby on Rails programmatore. Ho scelto Rails perché a differenza di PHP there8217s troppi per studiare a seconda delle esigenze. Un sacco di quadro e CMS. Mentre Ruby, Rails è tutto ciò che serve. si può fare applicazioni di scala. Davvero utile articolo, Leo. I8217ve stato immergendo le dita dei piedi in sviluppo web per gli ultimi sei mesi e hanno lavorato principalmente con PHP, ma Ruby on Rails è accanto nella mia lista delle lingue. In qualità di sviluppatore web esperto, suggerirebbe continuo con PHP e passare a Rails dopo ricevo una certa esperienza o di saltare a destra in Rails Ciao Michael. Credo che sia importante per conoscere sia. Sicuramente nel clima attuale di una conoscenza di Rails otterrà un lavoro molto velocemente in quanto vi è più domanda e meno concorrenza. Se siete completamente nuovo per lo sviluppo web, credo che PHP è un punto di partenza perché si ottengono risultati più veloce, che vi spronerà a proseguire nello sviluppo web. I can8217t sottolineare abbastanza quanto sia piccola successi costruiscono l'uno sull'altro. È possibile costruire una buona, un'applicazione personalizzata MVC rapidamente usando qualcosa come CakePHP o CodeIgniter. Quando non sposta di Rails, I8217d consigliare di non imparare Rails prima. Imparare Rubino prima e provare a utilizzare un framework come Sinatra per cominciare. Il mio ragionamento è che Rails ha troppo 8220automagic8221 che rende molto difficile capire cosa sta succedendo sotto il cofano. Se si capisce che cosa don8217t Rails sta facendo sotto il cofano, e si don8217t sa guardare nel codice sorgente Rails e capire, il debug delle applicazioni può essere molto lungo e frustrante, soprattutto per un principiante. Grazie per la risposta utile Leo Sono assolutamente d'accordo che l'apprendimento della Ruby è super importante prima di saltare in Rails. There8217s sicuramente molto da imparare per me ancora ma I8217m super eccitato e motivato da ogni poco successo. Acclamazioni Couldn8217t più d'accordo. Come un nuovo Ruby e ROR dev, era strumentale che ho imparato di Ruby prima. Mentre RoR Ruby al suo interno, gestisce un sacco di compiti rudimentali per you8230 quindi, le rotaie 8220Magic8221. Se si don8217t avere una comprensione decente su come utilizzare rubino senza un framework web, what8217s succedendo sotto il cofano sarà assolutamente vanificare, soprattutto quando si tratta di debug o anche capire che cosa il toolmethod destra è per il lavoro. Grande articolo, Leone I, come molti altri, apprezzare la rappresentazione equa ed equilibrata di entrambe le lingue ed i loro rispettivi quadri. o caratteri (8216a8217..8217z8217).toa Array. new (8).join prima lingua che ho imparato è stato Turbo Pascal. Poi Java. In primo linguaggio di programmazione web che ho imparato è PHP. Molto informativo. I8217m nuovo di programmazione e sto guardando sia PHP e Ruby come lingue lato server (I8217ll decidere quale di andare con una volta I8217m per un po 'di più). Sono d'accordo che PHP è facile da raccogliere 8216off il bat8217 ma è molto difficile trovare tutorial di buona qualità o di orientamento là fuori. It8217s ridicolo davvero visto che it8217s stato in giro per tanto tempo. D'altra parte di Ruby ha una curva di apprendimento ripida (anche se l'apprendimento di PHP in tandem sembra aver aiutato a capire), ma le risorse per l'apprendimento che sono là fuori sono entrambi più facili da trovare e un mucchio migliore. scuola di codice, ad esempio (il check-out se you8217re nuova per lo sviluppo) è una resource8230 fantastica ma doesn8217t toccare anche PHP. Vedo di Ruby come linguaggio SS del futuro. Sto lavorando su Ruby on Rails. Utilizzando Ruby on Rails per costruire roccia codice solido così siti web di qualità che sarà facile da mantenere in seguito. Ruby on Rails è anche noto per la sua convenzione di codifica, pratiche agili e la forza di sicurezza. Ma è importante per conoscere sia l'articolo di Nizza. I8217ve stato sempre in web dev con Rails nel corso degli ultimi mesi e it8217s bello vedere che I8217m non solo nella mia convinzione che semplicemente isn8217t molto intuitivo. Il confronto è davvero come mele e arance, ma è utile se si considera quale area di concentrarsi sullo studio. I8217m attualmente in ripresa esperienza nel settore con Rails, ma sono riluttanti a impegnarsi per andare il miglio pieno in quella zona, perché la curva è così ripida, e mi don8217t so se voglio essere uno sviluppatore Rails. Buon articolo. Mi sento esattamente allo stesso modo. Dopo anni GT10 PHP e Java ho imparato a come Ruby. E la pace della mente che mi dà rotaie in un progetto stressante. Ciecamente sapendo dove mettere il nuovo codice, anche dopo 12 ore di codifica alle 4 del mattino. Ma ho davvero odio la complessità lei ha citato, relativa alla messa a punto delle infrastrutture. Alcune persone godono che 8211 ho don8217t. Live è troppo breve per tali compiti stupidi. Mi chiedo sempre perché can8217t le RubyRails persone riescono a creare una routine di installazione that8217s come facile come php Perché devo combattere con Ruby versione versione gioiello versione Mac OSX incongruenze per 2 giorni prima del server rotaie verrà eseguito per la prima volta Grmpffff8230. In realtà, si don8217t necessario 8220fight with8221 versioni. 8211 versioni di Ruby: in genere gestiti da rbenvrvm et al. (Rbenv è ufficialmente consigliato da Rails 8211 rubyonrails. orgdownload). Se il nativo Rubino soddisfa la versione di Ruby richiesto dal progetto a portata di mano (ad esempio 1.9.3 per Rails 4, 1.8.7 per Rails 3.2) allora si sono buoni e si don8217t bisogno di questi strumenti. But if you are doing client work, or even experiments (e. g. your main project is Rails 3, you are experimenting onplanning on switching to Rails 4) you8217ll need multiple Ruby versions running simultaneously in the same machine. You can use Vagrant et al. but that can8217t beat having it in your base OS. Rbenvrvmetc makes this possible only with a few lines of commands. You can say that one can just use the latest possible Ruby, but it doesn8217t always work like that (compatibility problems etc). Now try that with PHP. There are PHP version switching tools but they were nowhere near maturefull-fledgedeasy-to-use as rbenvrvm last time I checked. 8211 Gem versions: Seriously Show me a single languageframework with a packagedependency manager that doesn8217t involve version numbers (e. g. PHP8217s composer, Python8217s PIP, Closure8217s Leiningen, Java8217s Maven) Ever heard of DLL Hell 8211 Mac OSX: I8217m an Ubuntu user but I8217d be surprised if you can8217t get anything related to RubyRails working in MacOSX, seeing that most Rails developers are using Macs. 8211 You need to to install rbnevrvm on a machine only once. After that, you can install any version of Rubies and Gems in a matter of minutes. And with Heroku, you can see your thing in interwebs in seconds. And you have proven deployment tools like Capistrano which works for any empty Linux box. Yeah, PHP shared hosting is really ubiquitous (in most of which you still can8217t reliablysecurely run modern PHP frameworks), but here the scopes are really different. 8230from a long time PHP user who is busy switching to Laravel 4 and Rails 4 at the same time in production projects for the last 1-2 months. I8217m just finishing up a big L4 project and about to get started with ROR myself. hi leonard I am from India this article is very useful I want some suggestions on building a big eCommerce website. I have a good experience of making website in asp, asp Ajax and sql server 2008. Now I am thinking about moving from Microsoft (because of cost). Please help me choose between php(plain),php with mvc framework, django (not rails because of steep learning curve and updating the website after the host has updated the version).I have no experience on any of the above three. and I will develop alone and I want to cost to be on lower side. Any help would be useful Thanks for this article. As a programmer who8217s been out of the loop for a while (no pun), I had suddenly been preached to about RoR by kids who had never been across other languages. as if RoR was the be all and end all. Your article clarifies all the pros and cons very objectively. Much appreciated. As a would-be programmer starting out and slightly overwhelmed with all the languages and pressure with choosing one: really interesting article. Thanks Thanks for this Article. I8217m using PHP (Laravel framework) for development and Codeception for automate testing. Should I try RoR I8217ve heard that RoR have testing amp deployment tool which help us saving time a lot. Do you have any recommends for me. Thank you in advance We can not compare a programming language with a framework for a programming language. If you don8217t get this then you must start to learn again. A very well considered, helpful and well written article. Thank you Leo. Just read your article. I started my developing 8216career8217 in ASP webforms, which was quite easy and then switch to MVC with scaffolding, razor, nuget, entity framework, jquery, etc. It seems to me that Microsoft8217s stack is well-build and although I found it hard to learn MVC, it all fits together. Maybe they have 8216stolen8217 all good ideas from other frameworks and languages but they combined them very well and build a great IDE. So why does no one use it these days I read a lot of articles about what framework and language is the best, but they never compare it to ASP. Is it 8216just8217 because it8217s Microsoft The best article i8217ve ever read about ruby n php. Thanks for this Meanwhile, in Morocco: Hi. I loved your blog and it helped me a lot. Thank you so much I wanted to ask you one thing My first Rails app is a mobile app that will start with almost 1 million users (from another app my company is buying) and also a web application, like Facebook that you use in the browser and on your iPhone. I don8217t know how many nodes I can start with and I can8217t find a lot of information online. We have one server (16 GB RAM) I am using to test load balancer, database replication I can create as many VPS in the server as it fits in this server. I don8217t know if 16 GB will be enough for 1 million users but I created 6 nodes for staging (and learn): 8211 one with Nginx for load balancing (512MB) 8211 two with Unicorn for the Rails application (1GB each) 8211 two for MySQL (one master, one slave, but I still have to learn how to make Rails read from slave and write in the master, 2GB each) 8211 one for files (512MB shared via NFS with the load balancers and apps, where paperclip will write). The database will have a lot of writes. What architecture configuration you recommend Am I too wrong I used small RAM because I will use more for production but I don8217t know if 6 nodes is enough or if 16 GB will be enough. Can you help me Thank you 1 million users who are logged in, or 1 million users per month who are mostly just browsing the site Also, is the Rails application going to just be for an API or will it actually deliver the pages It also depends on the memory footprint of your application, if it is large or not. 1. 16GB is not likely enough for 1 million users if it is a reasonably sized application, and for that number of users I wouldn8217t put everything on a single server anyway. I8217d load balance across 2x 16GB (or 32GB) servers, quad cores minimum and scale from there. Remember, Ruby applications tend to bloat with lots of gems that you load in. The typical way to scale is to get as much memory as possible and run as many concurrent processes as you can in memory. 2. I would not use Unicorn. It is flaky and consumes a lot of memory. For that kind of scale, I would use Passenger Enterprise. If you want to be cheap and not pay for the Passenger license (which is worth it), you can use Puma. 4. Cache, cache, cache. Have one server just for Redis and cache the hell out of your application: guides. rubyonrails. orgcachingwithrails. html 5. Move slow processes into Sidekiq for background processing. Grazie mille. It is 1 million users registered but usually 20,000 to 300,000 concurrent connections. And it8217s HTML and JSON, depends of the extension. We want to grow, of course, so need to be ready to more. I thought Unicorn was the best. I was using memcached but I will try Redis. Thank you very much again. It was hard to find something online explaining how much memory and how many servers in the load balancer and things like this. Just think about this: if Facebook was done in PHP, which is probably the most robust and used web application in the planet, you don8217t need to be a very smart person to realize php is far from being a bad programming language. in fact, PHP in the next 5 years will become the definitive best web programming language on top of every other one by far. Why Because its syntax is more human readable. The only reason why RoR is so trendy, is because it did very cool stuff a few years ago not available in php. But php is getting better day by day, frameworks like laravest are getting tremendous attention, and even bringing back old php users who are dropping RoR and coming back like prodigal sons. Yes, RoR deserves the credit of pioneering MVC and many other things, but it lacks the beauty and simplicity of C syntax, which will reign forever and ever. There8217s a lot of hype regarding RoR, most people try RoR just because they want to feel trendy and cool, one of the reasons most hipsters use it. Don8217t be a victim of the phenomenon. PHP is not a trendy thing, PHP, without all the noise and propaganda, still dominates the web. Juan David Pasts Rivera Another alternative is Meteor, which is great, is a framework on top of node js, is the one I like the most from all that I have tried: derbyjs, deployd, sails, express, from what I remember. Even when it8217s not comparable with Angular, Meteor supersedes it since you have 2 way data binding and backend logic at the same time and written in JavaScript, also you don8217t have to learn ng attributes. PHP has Facebook as a great representative, but its syntax is not as simple as you can get with Meteor and preprocessing packages. Anyway, scaling is always another whole story, it8217s a huge work which can be done in all languagesframeworks, I am not sure in which of them is easier though. If that8217s so then why does nobody choose to write apps in COBOL or BASIC anymore Why would you choose CoffeeScript over Javascript Why has Apple created Swift when people can just as well use Objective-C Why does it take a non-speaker on average twice as long to learn Russian compared to Italian To say it8217s all about preferences and claim that somehow all languages are equal is pretty naive. I like Php spent a lot of time learning it built most projects in Php and will continue doing so. The only reason I8217m learning ROR now is because I get tons of job offers some remote. I look at it this way freelance jobs I8217m using Php. Contract long term company jobs ROR I guess. I8217m currently in between angularjs now because at my company we wanted to try this out with Ruby as the backend. So imagine the steep learning curve I8217m going through for both of these languages Ruby and AngularJS at the same time. Yet another moving average crossover system Oh, but this one is so much fun This is a trend trading system using very clean charts. Quale lasso di tempo (TF) Eventuali due TF con un rapporto di 1: 4 - 1: 6. per esempio: io uso il H1 e TFS M15 con un rapporto di 1: 4. Ma è possibile utilizzare il H4 e grafici H1 (rapporto 1: 4) o la classifica H4 quotidiana e (rapporto 1: 6). si ottiene l'immagine. Qualsiasi, ma userò solo GBPUSD, EURUSD o AUDUSD a scopo illustrativo. Come si fa a determinare la direzione del trend per i nostri scopi semplici. Per un grafico quotblankquot aggiungere un indicatore di cambio EMAclose0 200. Vedi tabella 1 qui di seguito. Guardando da sinistra a destra a 200 EMA sul grafico H1 GBPUSD è chiaro che la direzione è in corso fino dal momento che circa il 7 ottobre in tal modo, fino a quando la direzione delle 200 EMA noticably cambiamenti, ci prenderemo solo lungo i commerci, che è , mestieri solo al di sopra della linea di bianco 200 EMA. UPDATE: mi sto trovando il lavoro Crosss MA molto bene sui commerci controtendenza su TF inferiori anche. basta monitorare più da vicino e non lo necessariamente cercare il maggior numero di semi come in un commercio di tendenza. Consente di guardare il grafico H1 EURUSD per la pratica nel determinare la direzione. (Tabella 2 qui di seguito) Anche in questo caso, la direzione è in corso fino dal momento che circa il 7 ottobre passare attraverso questo esercizio su altre coppie per ottenere più pratica nel determinare la direzione. (Nota: se si sta operando da un TF maggiore, come un grafico H4, è necessario utilizzare il 200 EMA su quel TF superiore per determinare la direzione.) Finitura impostare il grafico di trading. Per il diagramma in bianco con la 200 EM A aggiungere le seguenti MAs levigate: --- 3 Smoothed MAclose0 spostamento oro --- 8 SmoothedMAclose0 spostamento viola Vedi tabella 3 in prossimo post Dopo che il grafico è impostato, assicurarsi di salvare il modello. SINTESI DELLE quotRULES quot Big Picture per la direzione viene dal grafico H1 (o superiore, se la negoziazione un'altra TF, ma prelievo sarà significativamente più grande quello più alto TF usa) Scansione per la direzione di 3,8 AM Smoothed in relazione alla direzione desiderata. Prendere nota di coppie di impostazione o bisogno di revisione successiva, per esempio, se si stanno avvicinando al 200 EMA. cosa faranno rimbalzare il 200 e girare, passare attraverso di essa, o camminare lungo di essa. Queste sono le uniche scelte. Quando 3 attraversa 8 su una maggiore TF. passare a bassa TF per l'ingresso. cercare un forte croce sulla TF inferiore e digitare. A monitorare il commercio sul TF superiore. ma che è una preferenza commerciante. Immagini allegate (clicca per ingrandire) Io lì con voi Lawgirl. Una volta che si ottiene oltre la paura di perdere e ci si può fidare le proprie intenzioni, fare soldi a Forex può essere semplice e divertente. Ecco un po 'di modello di busta MA croce della mia che uso ogni tanto. Non ci sono candele, basta seguire la linea bianca e rimanere sul lato destro del trend. Quanto più facile può essere Hey forexhard, bello sentire su di te, Im molto nuovo in FF causa che stavo leggendo, ma mai farsi coinvolgere in forum, tuttavia mi sarà d'ora in poi in quanto la sua incredibile la quantità di kwnoledge si può uscire di FF. Stavo leggendo il filo scalini, sistema molto bello e potente, non vedo l'ora di aprire i mercati solo per provarlo su demo, naturalmente. Stavo pensando, che dire di un 100pips SL alla ricerca di un profitto 1000pips Sembra folle consente skype: elchinoazul Questo sembra interessante. Sicuramente essere provare le canzoni che questa settimana. Anche in una fase di consolidamento, se si esce quando il 3 e l'8 incrociare le perdite saranno minime rispetto ai tempi in cui si vince. Inoltre, consente di risparmiare sui usura dei bulbi oculari ole c'era un tizio qui che ha suggerito questa strategia: quotgo con 2 o 3, e quando si colpisce 50, vendere due e portare lo stop loss fino al pareggio e lasciare che il terzo runquot fino al 3 e 8 croce di nuovo. La sua una grande strategia perché youve eliminato l'avidità. e il corridore è un libero scambio Quello è un sicuramente una buona idea. Do you use microlots (0.01) or minilots (0.1)MACD (Moving Average ConvergenceDivergence Oscillator) MACD (Moving Average ConvergenceDivergence Oscillator) Introduction Developed by Gerald Appel in the late seventies, the Moving Average ConvergenceDivergence oscillator (MACD) is one of the simplest and most effective momentum indicators available. Il MACD gira due indicatori trend-following, medie mobili. in un oscillatore slancio sottraendo la media mobile più lunga della media mobile corta. Di conseguenza, il MACD offre il meglio dei due mondi: trend following e slancio. Il MACD oscilla sopra e sotto la linea dello zero, come le medie mobili convergono, croce e divergono. I commercianti possono cercare crossover linea di segnale, crossover linea centrale e divergenze per generare segnali. Perché il MACD è illimitato, non è particolarmente utile per identificare i livelli di ipercomprato e ipervenduto. Nota: MACD può essere pronunciata sia come Mac-Dee o M-A-C-D. Ecco un grafico ad esempio con l'indicatore MACD nel pannello inferiore: Calcolo La linea MACD è di 12 giorni media mobile esponenziale (EMA) meno del 26 giorni EMA. prezzi di chiusura sono utilizzati per queste medie mobili. A EMA 9 giorni della Linea MACD è tracciata con l'indicatore di agire come una linea di segnale e identificare giri. Il MACD istogramma rappresenta la differenza tra MACD e la sua EMA a 9 giorni, la linea di segnale. L'istogramma è positivo quando la linea MACD è sopra la sua linea di segnale e negativo quando la linea MACD è sotto la sua linea di segnale. I valori di 12, 26 e 9 sono l'ambiente tipico utilizzato con il MACD, ma altri valori possono essere sostituiti a seconda del vostro stile di trading e gli obiettivi. Interpretazione Come suggerisce il nome, il MACD è tutto la convergenza e divergenza delle due medie mobili. Convergenza si verifica quando le medie mobili si muovono verso l'altro. Divergenza si verifica quando le medie mobili si allontanano l'uno dall'altro. La media più breve in movimento (12 giorni) è più veloce e responsabile per la maggior parte dei movimenti di MACD. La media più in movimento (26 giorni) è più lento e meno reattivo alle variazioni dei prezzi del titolo sottostante. La linea MACD oscilla sopra e sotto la linea dello zero, che è anche conosciuto come la linea centrale. Questi crossover segnalano che il 12 giorni EMA ha attraversato il 26 giorni EMA. La direzione, ovviamente, dipende dalla direzione della croce media mobile. MACD positivo indica che la 12 giorni EMA è superiore al 26 giorni EMA. I valori positivi aumentano come il più breve EMA diverge più lontano dalla EMA più a lungo. Questo significa slancio rialzista è in aumento. I valori MACD negativo indica che il 12 giorni EMA è al di sotto del 26 giorni EMA. I valori negativi aumentano come il più breve EMA diverge ulteriormente al di sotto della EMA più a lungo. Questo significa slancio lato negativo è in aumento. Nell'esempio precedente, l'area gialla mostra la linea MACD in territorio negativo, come l'EMA traffici di 12 giorni al di sotto del 26 giorni EMA. La croce iniziale si è verificato alla fine di settembre (freccia nera) e il MACD spostato più in territorio negativo come il 12-giorno EMA discostato ulteriormente dal 26-day EMA. L'area arancione mette in evidenza un periodo di valori positivi MACD, che è quando il 12 giorni EMA è stato al di sopra del 26 giorni EMA. Si noti che la linea del MACD rimasta al di sotto 1 in questo periodo (linea rossa tratteggiata). Ciò significa che la distanza tra i 12 giorni EMA e 26 giorni EMA era meno di 1 punto, che non è una grande differenza. crossover linea di segnale di linea crossover segnale sono i segnali MACD più comuni. La linea di segnale è un EMA a 9 giorni della linea MACD. Come una media mobile dell'indicatore, non va il MACD e rende più facile individuare MACD si trasforma. Un crossover rialzista si verifica quando il MACD gira e incrocia al di sopra della linea di segnale. Un crossover ribassista si verifica quando il MACD si gira verso il basso e attraversa al di sotto della linea di segnale. Crossover possono durare pochi giorni o poche settimane, tutto dipende dalla forza del movimento. La due diligence è necessario prima di fare affidamento su questi segnali comuni. crossover linea di segnale agli estremi positivi o negativi devono essere valutati con cautela. Anche se il MACD non ha limiti superiori e inferiori, chartists possono stimare estremi storici con una semplice valutazione visiva. Ci vuole una mossa forte nel titolo sottostante per spingere slancio ad un estremo. Anche se il movimento può continuare, slancio dovrebbe rallentare e questo di solito produce un crossover linea di segnale alle estremità. Volatilità del titolo sottostante può anche aumentare il numero di crossover. Il grafico sottostante mostra IBM con la sua EMA 12 giorni (verde), a 26 giorni EMA (rosso) e il 12,26,9 MACD nella finestra di indicazione. C'erano otto attraversamenti linea di segnale in sei mesi: quattro su e giù quattro. Ci sono stati alcuni buoni segnali e alcuni segnali negativi. L'area gialla evidenzia un periodo in cui la linea MACD è salito di sopra del 2 per raggiungere un estremo positivo. C'erano due attraversamenti della linea di segnale ribassista in aprile e maggio, ma IBM ha continuato trend più elevato. Anche se slancio verso l'alto rallentato dopo l'impennata, slancio verso l'alto era ancora più forte slancio ribasso in aprile-maggio. La terza linea di segnale ribassista di crossover maggio ha determinato un buon segnale. crossover centrale Crossover linea centrale sono i prossimi segnali MACD più comuni. Un crossover centrale rialzista si verifica quando la linea MACD si muove sopra la linea dello zero a girare positivo. Questo accade quando il 12 giorni EMA delle mosse di sicurezza sottostante è superiore al 26 giorni EMA. Un crossover centrale ribassista si verifica quando il MACD si muove sotto la linea dello zero per girare negativo. Questo accade quando il 12-giorno EMA si muove al di sotto del 26 giorni EMA. crossover centerline possono durare pochi giorni o pochi mesi. Tutto dipende dalla forza del trend. Il MACD rimane positivo finché c'è una tendenza rialzista sostenuta. Il MACD rimane negativo quando vi è una tendenza al ribasso sostenuta. Il grafico seguente mostra Pulte Homes (PHM) con almeno quattro croci linea centrale in nove mesi. I segnali risultanti hanno lavorato bene perché forti tendenze emerse con questi attraversamenti della linea centrale. Di seguito è riportato un grafico di Cummins Inc (CMI) con sette attraversamenti della linea centrale in cinque mesi. A differenza di Pulte Homes, questi segnali sarebbero portato a numerosi whipsaws perché forti tendenze non si sono concretizzate dopo i crossover. Il grafico seguente mostra 3M (MMM) con un crossover centrale rialzista a fine marzo 2009 e un crossover centrale ribassista all'inizio di febbraio 2010. Questo segnale è durato 10 mesi. In altre parole, i 12 giorni EMA era sopra il 26 giorni EMA per 10 mesi. Questa è stata una forte tendenza. modulo divergenze Le divergenze quando il MACD diverge dal movimento dei prezzi del titolo sottostante. A forma di divergenza rialzista quando un titolo registra un basso più basso e il MACD forma un basso più alto. Il basso più basso nella sicurezza afferma la tendenza al ribasso in corso, ma il basso più alto nel MACD mostra meno ribasso slancio. Nonostante meno slancio ribasso, ribasso quantità di moto è ancora superando slancio a testa fino a quando il MACD resta in territorio negativo. Rallentare slancio svantaggio a volte può prefigura una inversione di tendenza o di un rally di considerevoli dimensioni. Il grafico seguente mostra Google (GOOG), con una divergenza rialzista in ottobre-novembre 2008. In primo luogo, si noti che stiamo utilizzando i prezzi di chiusura per identificare la divergenza. I MACD039s medie mobili si basano sui prezzi di chiusura e ci dovrebbero prendere in considerazione la chiusura dei prezzi nella sicurezza come bene. In secondo luogo, si noti che ci sono stati minimi di reazione chiare (depressioni) sia come Google e la sua linea MACD rimbalzato in ottobre e fine novembre. In terzo luogo, si noti che il MACD ha formato una bassa maggiore, come Google formato un basso più basso nel mese di novembre. Il MACD si presentò con una divergenza rialzista con una linea di segnale di crossover ai primi di dicembre. Google ha confermato l'inversione di breakout di resistenza. Si forma un divergenza ribassista quando un titolo registra un più alto alto e la linea del MACD forma un alto inferiore. L'alto alto nella sicurezza è normale per un trend al rialzo, ma l'alta più bassa nel MACD mostra di moto meno a testa. Anche se moto del lato può essere inferiore, moto del lato, continua a sfuggire slancio inconveniente fintanto che il MACD è positivo. Calante slancio verso l'alto a volte può prefigurare un'inversione di tendenza o il declino di considerevoli dimensioni. Qui di seguito vediamo Gamestop (GME) con una grande divergenza ribassista da agosto a ottobre. Lo stock forgiato un più alto al di sopra 28, ma la linea di MACD è stata all'altezza delle sua prima alta e formò un alto inferiore. Il successivo incrocio e il supporto rottura del cavo di segnale nel MACD erano ribassista. Sul grafico dei prezzi, si noti come il supporto rotto trasformato in resistenza sul rimbalzo ritorno nel mese di novembre (linea rossa tratteggiata). Questo ritorno al passato ha fornito una seconda possibilità di vendere o vendere allo scoperto. Le divergenze dovrebbero essere prese con cautela. divergenze ribassiste sono all'ordine del giorno in un forte trend rialzista, mentre le divergenze rialziste si verificano spesso in una forte tendenza al ribasso. Sì, avete letto bene. Uptrends spesso iniziano con un forte anticipo che produce un aumento della quantità di moto a testa (MACD). Anche se il trend rialzista continua, continua ad un ritmo più lento che fa sì che il MACD a scendere dai massimi. slancio rialzista potrebbe non essere così forte, ma slancio rialzista è ancora superando slancio lato negativo fino a quando la linea MACD è sopra lo zero. L'opposto si verifica all'inizio di un forte ribasso. Il grafico seguente mostra la 500 ETF SampP (SPY) con quattro divergenze al ribasso da agosto a novembre 2009. Nonostante lo slancio meno a testa, l'ETF ha continuato più alto perché il trend rialzista era forte. Si noti come SPY ha continuato la sua serie di massimi e minimi crescenti. Ricordate, slancio rialzista è più forte ribasso slancio finché la sua MACD è positivo. Il suo MACD (momentum) potrebbe essere stato meno positivo (forte) l'anticipo esteso, ma era ancora in gran parte positivo. Conclusioni L'indicatore MACD è speciale perché riunisce slancio e di tendenza in un indicatore. Questa miscela unica di tendenza e quantità di moto può essere applicata a grafici giornalieri, settimanali o mensili. L'impostazione standard per MACD è la differenza tra le EMAs 12 e 26-periodo. Chartists alla ricerca di una maggiore sensibilità possono tentare una più breve a breve termine media mobile e una media più a lungo termine in movimento. MACD (5,35,5) è più sensibile rispetto MACD (12,26,9) e potrebbe essere più adatto per grafici settimanali. Chartists alla ricerca di una minore sensibilità può prendere in considerazione l'allungamento delle medie mobili. Un MACD meno sensibile sarà ancora oscillare abovebelow zero, ma il crossover linea centrale e crossover segnale di linea sarà meno frequente. Il MACD non è particolarmente buona per identificare i livelli di ipercomprato e ipervenduto. Anche se è possibile individuare livelli che sono storicamente ipercomprato o ipervenduto, il MACD non ha limiti superiore o inferiore per legare il suo movimento. Durante muove taglienti, il MACD può continuare a un eccesso di estendersi oltre i suoi estremi storici. Infine, ricordate che la linea MACD è calcolato utilizzando la differenza reale tra due medie mobili. Questo significa che i valori MACD dipendono dal prezzo del titolo sottostante. I valori MACD per un 20 azioni possono variare da -1.5 a 1,5, mentre i valori MACD per un 100 può variare da -10 a 10. Non è possibile confrontare i valori MACD per un gruppo di titoli con prezzi variabili. Se si desidera confrontare le letture di slancio, si dovrebbe usare la percentuale Price Oscillator (PPO). al posto del MACD. Aggiungendo l'indicatore MACD per SharpCharts Il MACD può essere impostato come un indicatore sopra, sotto o dietro una trama prezzo security039s. Posizionamento del MACD dietro la trama prezzo lo rende facile confrontare i movimenti di slancio con i movimenti dei prezzi. Una volta che l'indicatore è scelto dal menu a discesa, appare l'impostazione parametro predefinito: (12,26,9). Questi parametri possono essere regolati per aumentare la sensibilità o diminuire la sensibilità. Il MACD istogramma appare con l'indicatore o può essere aggiunto come un indicatore separato. Impostare la linea di segnale a 1, (12,26,1), rimuoverà il MACD istogramma e la linea di segnale. Una linea di segnale separato, senza l'istogramma, può essere aggiunto scegliendo Exp Mov Avg dal menu Opzioni avanzate sovrapposizioni. Clicca qui per un grafico in diretta del MACD. Utilizzando il MACD con StockCharts scansioni Ecco alcuni esempi di scansioni che i membri StockCharts possono utilizzare per cercare i vari segnali MACD: MACD rialzista Linea Croce di segnale. Questa scansione rivela titoli negoziati di sopra del loro 200 giorni di media mobile e hanno una rialzista di crossover in linea di segnale MACD. Si noti inoltre che MACD è tenuto ad essere negativo per assicurare questa ripresa si verifica dopo un pullback. Questa scansione è solo inteso come punto di partenza per un ulteriore affinamento. MACD Bearish Cross Line Signal. Questa scansione rivela titoli negoziati di sotto del loro 200 giorni di media mobile e hanno un ribasso di crossover in linea di segnale MACD. Si noti inoltre che MACD è tenuto ad essere positivo per assicurare questa crisi si verifica dopo un rimbalzo. Questa scansione è solo inteso come punto di partenza per un ulteriore affinamento. Lo studio ulteriore: Dal creatore, questo libro offre uno studio completo per l'utilizzo e l'interpretazione MACD. Analisi Tecnica - Power Tools per Active investitori Gerald Appel

No comments:

Post a Comment