Saturday 26 August 2017

Bergerak rata rata baik atau buruk


Hai, I8217m Leo. Saya seorang pengembang perangkat lunak hibrida, perancang, pemasar dan pengusaha. Saya adalah CEO Ballistiq. Sebuah perusahaan perancang dan pengembangan perangkat lunak web. Sedikit lebih banyak tentang saya, Ballistiq Web Development Mencari tim pengembangan web berbasis Amerika Utara yang terpercaya, yang memiliki track record hebat Ballistiq menyediakan layanan desain dan pengembangan dipesan lebih dahulu. Weve membangun situs dan aplikasi untuk perusahaan papan atas termasuk Autodesk, NVIDIA, Gnomon School of Visual Effects, Allegorithmic, Luxion dan banyak lagi. Kategori Ruby on Rails vs PHP 8211 Yang baik, catatan buruk 8211 artikel ini ditulis pada tahun 2012. I8217 menambahkan addendum untuk memperbarui artikel dengan pemikiran terbaru pada tanggal 30 Mei 2014 di bagian bawah. I8217 telah berkembang dengan PHP sejak versi 2 (waktu yang sangat lama). Saya telah lama ingin masuk ke Ruby on Rails dan telah bermain dengannya sejak versi 1 namun tidak pernah memiliki kesempatan untuk benar-benar menggunakannya dalam produksi secara serius sampai tahun lalu dengan Ballistiq. Sejak saat itu, I8217m sekarang mengkode 8020 Ruby on Rails dan PHP, jadi saya akan memberikan pemikiran saya pada keduanya. Pada saat penulisan, versi yang akan saya bahas adalah PHP 5.3PHP 5.4 dan Ruby on Rails 3.2 (berjalan di Ruby 1.9.3). Konteks dari posting ini adalah membandingkan keduanya secara khusus untuk pengembangan web. Bila Anda membandingkan apel dengan jeruk Rails adalah kerangka kerja untuk Ruby. PHP adalah bahasa dan memiliki banyak framework. Apa yang kebanyakan saya membandingkan adalah pengalaman saya bekerja dengan kedua ekosistem: Kerangka PHP (ada banyak) vs Ruby Rails (kerangka kerja yang paling dominan). Sementara beberapa orang mungkin terpaku untuk mencoba membandingkan keduanya dan mungkin menolak judul artikel ini, ini adalah pertanyaan yang sah yang diminta banyak pengembang. Banyak pengembang ingin tahu apa manfaat dari kedua ekosistem tersebut dan benar-benar hanya menginginkan jawaban yang jelas. Dari popularitas artikel melalui Google, itu adalah sesuatu yang diperkirakan puluhan ribu orang. Bukan hanya itu preferensi ya dan tidak. Baik ekosistem PHP maupun Ruby sangat kuat. Dalam banyak kasus, ya, Anda bisa mendidihkannya ke pilihan. Namun, ada banyak kekuatan untuk keduanya dan berguna untuk membandingkannya dengan cara berkepala dingin. Saya tidak terikat agama satu sama lain. Aku menggunakan keduanya. Perusahaan saya bekerja sama dengan keduanya. Keduanya di sini untuk tinggal dan memainkan peran penting dalam industri pengembangan web global. PHP 8211 Kesederhanaan dan Kurva Belajar yang Baik Yang benar-benar saya sukai dari PHP adalah kesederhanaan dan kurva belajar yang relatif dangkal. Saat pertama kali masuk ke PHP, yang Anda butuhkan hanyalah satu halaman web HTML. Ubah ekstensi menjadi. php. Lempar dalam beberapa kode ltphp di sini gt inline PHP, jalankan di server web PHP dan pergilah. Ini benar-benar mati sederhana bagi seseorang yang benar-benar segar untuk mendapatkan sesuatu yang bisa digunakan dan ditempatkan dalam beberapa menit. Ini telah menjadi salah satu kekuatan PHP dan mengapa begitu populer sehingga desainer dan non-coders 8212 dapat menjadi produktif segera. Kesederhanaan ini, bagaimanapun, datang dengan biaya tertentu. Ini adalah pedang bermata dua karena mengarah pada banyak kode yang ceroboh dan tidak dapat dipatahkan. Hal ini menyebabkan orang menggunakan kerangka kerja yang memaksa standar pengkodean tertentu. Manfaat kesederhanaan PHP8217 dan kurva belajar dangkal adalah hal yang sangat besar terjadi untuk itu dan ini juga memiliki keuntungan bisnis: lebih mudah menemukan orang yang mengenal PHP. Jika Anda melihat-lihat, pengembang Ruby on Rails lebih mahal dan sulit ditemukan. Pengembang bagus yang sangat mengenal Ruby dan Rails (L33T) cenderung lebih hardcore devs. Dokumentasi untuk PHP juga fantastis. Saya menemukan dokumen untuk PHP jauh lebih berguna daripada yang ada untuk Panduan Ruby dan Rails. Komentar pengguna benar-benar membantu dan ada banyak contoh kode yang menunjukkan kepada Anda bagaimana memecahkan masalah umum. Ini Dibuat untuk Web Satu hal besar tentang PHP adalah bahwa hal itu benar-benar terfokus sepenuhnya untuk web. Ini bukan bahasa pemrograman tujuan umum seperti Ruby (atau PythonJavaCPerletc.). Banyak fungsi inbuiltnya khusus untuk memecahkan masalah web dan ini menjadikannya bahasa yang sangat mudah untuk diprogram untuk web. Misalnya. Jika ingin mengirim header ke browser, cukup gunakan fungsi header (). Hash MD5 atau SHA1 hanya md5 () dan sha1 (). Ini tidak begitu mudah untuk melakukan ini dengan RubyRails karena Anda harus memasukkan perpustakaan dan menggunakan namespacesmodules untuk mendapatkan fungsi yang sama. Banyak Sumber Daya PHP memiliki banyak sumber daya, kerangka kerja, aplikasi dan perpustakaan yang tersedia untuknya. Dari CMS8217 seperti WordPress dan Drupal ke kerangka kerja seperti Symfony dan perpustakaan seperti Doctrine, PHP benar-benar memiliki banyak sumber daya bagus yang tersedia. Ketika datang untuk menerapkan CMS sederhana, misalnya, saya hampir selalu default untuk hanya menggunakan WordPress daripada membangun aplikasi Rails untuknya. Aku hanya merasa bahwa itu adalah solusi yang jauh lebih sederhana. Mati Sederhana untuk Menyebarkan Menyebarkan PHP mati sederhana. Paling sederhana, Anda hanya FTP file ke server web (yang kita di Ballistiq pernah melakukan 8211 kita menyebarkan menggunakan Git). Masalahnya, dengan PHP Anda tidak perlu tahu atau peduli tentang tumpukan web. Banyak layanan hosting hanya menggunakan lingkungan LAMP (Linux, Apache, MySQL, PHP), jadi selama file Anda ada di tempat yang baru saja mereka jalankan dan itu. Bahkan menggunakan kerangka kerja seperti CodeIgniter relatif sederhana karena Anda tidak perlu menggunakan baris perintah 8212 Anda cukup menyalin keseluruhan direktori kerangka ke server dan menjalankannya. Itu itu. PHP 8211 The Bad The Evolution Memimpin Banyak Kode Buruk Ini bukan kelemahan fitur langsung dari PHP, namun merupakan hasil dari bertahun-tahun bangunan di atas bahasa scripting sederhana yang spesifik untuk memecahkan masalah web sederhana. PHP tidak selalu Berorientasi Objek. Bahkan ketika itu mendukung OOP, selama bertahun-tahun, itu tidak benar-benar OOP (kehilangan fitur penting seperti metode statis), jadi pemrogram mengatasi masalah melalui semua jenis kecurangan seperti menggunakan variabel global atau menetapkan variabel lokal menggunakan pointer referensi global. Misalnya. Kode pre-PHP5 yang khas Ini hanyalah beberapa contoh, tapi masih banyak lagi yang saya tidak masuk ke sini. Ini sangat disayangkan tapi hanya salah satu efek samping bekerja dengan bahasa yang telah berkembang dengan pesat. Satu hal yang membuat kita gila di Ballistiq pergi ke proyek dimana kita harus mengupgrade atau mempertahankan aplikasi yang ditulis dengan PHP lama. Ini adalah kasus salah satu proyek terbesar kami saat kami mencoba untuk meng-upgrade aplikasi besar yang ditulis dalam kode PHP4 dan ini mengerikan. Banyak kode ceroboh disana yang harus kita kerjakan. Standar Coding yang Lebih Baik Memimpin Untuk Kode Benar-benar Purist Seperti disebutkan di atas, kode ceroboh bukanlah kelemahan fitur inheren dari PHP. Ini bagaimana orang menggunakan bahasa itu. Karena PHP semakin populer, ia mendapat banyak pengaruh dari pengembang perusahaan yang benar-benar murni pendekatan pemrograman. Ketika Anda pergi ke konferensi dan mendengarkan para ahli PHP ini berbicara tentang praktik terbaik, PHP tidak lagi menjadi program yang menyenangkan. Anda hampir melihat program Java. Kelas secara eksplisit mendeklarasikan ruang nama, mengimpor ruang nama, metode pengambil dan penyetel eksplisit, deklarasi eksplisit metode publicprivate, dll. Kode menjadi sangat verbose. Sekarang Jika Anda ingin melihat kerangka kerja yang membutuhkan pendekatan yang lebih murni terhadap hal-hal, lihat Symfony. Ini adalah kerangka kerja PHP yang hebat yang siap digunakan di tingkat perusahaan namun dari sudut pandang pengembangan, saya merasa membosankan. Ruby on Rails 8211 Kerangka Mutu yang Baik Semakin saya berkembang di Rails, semakin saya sangat menghargai dan menyukainya. Saya menemukan bahwa ini memungkinkan kami menciptakan produk berkualitas lebih tinggi untuk klien lebih cepat, yang lebih mudah dipertahankan. Ini adalah kerangka kerja yang matang dan stabil sehingga banyak perusahaan besar merasa nyaman dengan mengenalkan lingkungan mereka. Bandingkan dengan ekosistem PHP yang memiliki banyak kerangka kerja 8212, ada risiko memilih kerangka kerja dan menemukan bahwa hal itu tidak didukung dengan baik beberapa tahun dari sekarang (kami membuat kesalahan ini). Kecepatan dan Perkembangan Joy Saya sangat suka bekerja dengan Rails karena sebagai platform pengembangan, ini sangat otomatis. Begitu banyak tugas kasar telah otomatis sehingga Anda hanya fokus sepenuhnya pada pemecahan masalah bisnis daripada melakukan hacking di sekitar kerangka kerja. Beberapa hal yang benar-benar terjadi untuk Rails dalam hal ini adalah: GeneratorsScaffolding 8211 Memberikan titik awal yang sangat bagus untuk dikembangkan. Beberapa kerangka kerja PHP sekarang menyediakan fitur perancah. Komunitas GemsPlugins 8211 the Rails menyediakan banyak plugin sebagai Ruby Gems yang Anda tambahkan ke proyek Gemfile dan instal. Ini secara signifikan mempercepat waktu pengembangan dan pemeliharaan karena Anda tidak mencoba mengintegrasikan perpustakaan yang berbeda, ini sudah selesai untuk Anda. Rekaman Aktif ORM 8211 Dari semua ORM8217 yang telah saya gunakan (untuk PHP I8217 menggunakan DataMapper DMZ, FuelKohana, Doctrine), ActiveRecord di Ruby on Rails hanyalah yang terbaik. Ini benar-benar bekerja dan sangat mudah digunakan. Alat uji terpadu 8211 Saya suka itu yang keluar dari gerbang, Rails memiliki kerangka pengujian yang bisa digunakan. Di PHP, banyak framework baru saja mencoba mengintegrasikan PHPUnit, ke tingkat keberhasilan yang berbeda-beda. Sebagai bahasa pemrograman, Ruby benar-benar bahasa yang sangat menakjubkan. Tidak seperti PHP, itu benar-benar Object Oriented dari bawah ke atas. Kode nya sangat ringkas dan kuat. Gems (extensions) memungkinkan Anda untuk mendapatkan fungsionalitas yang dibutuhkan. Setelah coding di Ruby, saya menemukan coding di PHP (atau hal lain sebenarnya) agak membosankan. Ruby on Rails 8211 Curve Belajar Buruk Curve Daging sapi utama saya dengan Ruby on Rails adalah bahwa ia sebenarnya memiliki kurva belajar yang curam. Jangan percaya hype yang mengatakan bahwa itu sangat mudah. Mereka akan menunjukkan podcast di mana Anda membangun aplikasi blog sederhana menggunakan perancah dan voila situs Instan. Tidak ada yang bisa lebih jauh dari kebenaran. Rails terlihat mudah karena mereka telah mengotomatiskan banyak hal dalam framework 8212 ini sehingga tidak mudah dimengerti. Mengembangkan aplikasi Rails dan menerapkannya benar-benar mengharuskan Anda untuk mengetahui tumpukan penuh. Dengan PHP, Anda bisa menggabungkan beberapa kode inline PHP, FTP ke server dan Anda tidak pergi. Di Rails, Anda benar-benar perlu tahu apa yang Anda lakukan dari server web (Apache atau NginX), menyiapkan Penumpang Phusion dan mesin basis data. Kemudian Anda harus berurusan dengan proses pipa aset untuk mempersiapkan aplikasi Anda agar berjalan dalam mode Produksi. Ini tidak sesederhana menjalankannya dalam mode produksi 8212 Anda harus mengkompilasi aset Anda dan memastikan bahwa file sebenarnya ada di sana. Jika tidak, Rails hanya akan meledak dan Anda harus mencari tahu mengapa dengan mengakses rel Rails. Dibandingkan dengan PHP, Rails juga tidak bersahabat ketika sampai pada kesalahan. Dengan PHP, itu akan meludahkan kesalahan pada Anda dalam pengembangan dan pesan kesalahan sebenarnya masuk akal. Biasanya halaman akan ditampilkan namun bagian yang bermasalah akan menunjukkan pada Anda baris mana kesalahan itu terjadi dan pesan tersebut berguna. Di Rails, biasanya seluruh aplikasi meledak. Satu hal terakhir yang harus dilemparkan adalah pengembang Ruby on Rails yang baik cenderung menjadi poliglot. Mereka mampu mengambil dan belajar banyak bahasa. Sementara pemula sedang berjuang untuk hanya belajar Ruby, orang Rails menggunakan CoffeeScript dan bukan Javascript, SCSS (atau LESS), dan Slim atau HAML. Bagi pendatang baru di Rails, bagian dari kurva curam tidak hanya mempelajari kerangka Ruby dan Rails, tapi juga bahasa-bahasa lain ini dan Ruby bukanlah bahasa yang mudah untuk disinggung beberapa orang di sini, tapi Ruby sama sekali tidak sesederhana itu. PHP untuk belajar Ini dengan segala cara bahasa yang sangat kuat. Saya memilih untuk menggunakan Ruby hanya karena sebagai pengembang saya merasa itu adalah bahasa yang jauh lebih baik daripada PHP. Tapi dari perspektif pembelajaran, ternyata tidak. Ruby memiliki banyak fitur yang tidak mudah bagi programmer pemula untuk mengerti. Salah satu konsep tersebut adalah blok, procs dan lambdas, yang digunakan Rails dengan berat. Contoh Ruby on Rails klasik yang akan saya gunakan adalah untuk membuat formulir: Jika Anda baru mengenal Ruby, Anda bisa dimaafkan untuk mengatakannya, 8220Tunggu satu menit8230.what8217s f8221 Ya tuan. Selamat datang di blok Ini contoh yang ekstrem: Bahkan sebagai pemrogram yang berpengalaman, saya menjadi crossey saat melihat baris kode di atas. It8217s sangat sederhana sebenarnya 8211 menghasilkan 8 karakter string acak. Bidang lainnya adalah pemrograman meta. Inilah contohnya: Saya mengajar Ruby on Rails kepada para pengembang berpengalaman dan ini selalu mengalaminya. Apa yang sebenarnya ada. Hasmany dan hasandbelongstomany. Sepertinya itu semacam kata kunci atau pernyataan yang dicadangkan karena ini tidak dienkapsulasi dalam sebuah metode. Namun, di Ruby, ALL code dieksekusi. Setiap baris kode dieksekusi, jadi ada. Hasmany dan hasandbelongstomany hanyalah metode yang dijalankan saat kelas diumumkan. Akhirnya hal lain yang membuat Ruby menantang bagi pemula adalah sintaksnya yang longgar. Let8217s melihat kembali kode diatas. Ini tidak jelas (untuk pemula) yang ada: alamat meminta sebuah metode karena tanda kurung hilang dari permintaan metode. Di PHP, sintaksnya lebih ketat dan ini mempermudah pemula untuk mengetahui apa itu. Sebagai bahasa, terutama jika Anda berasal dari orang lain seperti CJavaPHP, Ruby menantang dan akan membengkokkan pikiran Anda. Begitu Anda bangun dan berlari, itu fantastis dan banyak yang telah mengambil lompatan sangat menikmati coding dengannya. Kesimpulan Jadi dari semua itu, apa yang saya simpulkan PHP adalah entry point yang ramah ke dalam pengembangan web daripada RubyRails. Ini lebih mudah, ada lebih banyak sumber daya yang tersedia dan Anda bisa mendapatkan hasil dengan cepat. Meskipun demikian, saya secara pribadi senang bekerja dengan Ruby dan Rails lebih dari PHP. Untuk banyak alasan yang telah saya jelaskan di artikel ini, saya merasa bahwa ekosistem Ruby menawarkan toolset unggul untuk mengembangkan aplikasi. Saya menghargai bahwa penggemar PHP yang keras itu tidak akan merasakan hal yang sama dengan 8211 yang keren. Pendapat saya terbentuk dari kerja sama dengan kedua bahasa dan ekosistem secara menyeluruh dalam produksi. Sejak pindah ke Rails, saya tidak pernah benar-benar merasakan dorongan untuk kembali mengembangkannya dengan PHP dan jadi semua proyek baru saya cenderung RubyRails. Di ballistiq Kita berkembang di keduanya. Jika proyek klien sudah memiliki kode PHP yang ada dan kami terus mengembangkannya, karena perlu diintegrasikan pada tingkat perangkat lunak, kami tetap berada di PHP. Jika klien membutuhkan aplikasi baru, atau kami membangun aplikasi kami sendiri menggunakan Rails. Addendum 8211 30 Mei 2014 Wow itu sudah lama sejak saya menulis ini dan terus menjadi artikel berperingkat sangat tinggi di Google, yang menarik banyak lalu lintas. Karena kemajuan teknologi dengan kecepatan yang begitu tinggi, saya ingin memperbarui artikel ini dengan beberapa pemikiran baru. PHP telah datang jauh sejak saya menulis artikel ini Ketika saya menulis artikel ini, PHP berada dalam fase fana sementara banyak orang masih menggunakan PHP 4 dan mencoba bermigrasi ke 5. Symfony 2 belum dirilis, dan Laravel bukan hal yang besar. Sampai sekarang, PHP mengalami sedikit renaisans. Berikut adalah beberapa teknologi hebat yang benar-benar membuat PHP bersinar: Laravel 8211 Sebagai kerangka kerja, Laravel terlihat sangat hebat dan banyak orang PHP memilihnya sebagai kerangka pilihan mereka. Saya tidak bisa berbicara karena saya tidak menggunakannya dalam produksi. Tapi itu terlihat bagus. Komposer 8211 Komposer adalah untuk PHP apa RubyGems Bundler adalah Ruby. Itu manajemen paket yang tidak mengisap. Selama bertahun-tahun komunitas PHP harus berurusan dengan Pear, yang benar-benar tidak mendapatkan banyak daya tarik. PHP server web 8211 Untuk waktu yang lama, berkembang dengan PHP di komputer Anda berarti Anda harus mengandalkan server web eksternal seperti Apache. Banyak devs akhirnya menginstal MAMP. Seperti PHP 5.4, PHP sekarang hadir dengan server web command line-nya sendiri, dan sebenarnya benar-benar mudah menyala. Sekarang, tidak semuanya bekerja dengan server web command line (saya mengalami kesulitan untuk mendapatkan WordPress untuk booting dengannya), namun jika Anda mengembangkannya dengan kerangka kerja yang mendukung hal ini, itu adalah cara pengembangan yang jauh lebih baik dan lebih baik. Codeception 8211 Salah satu anggota tim kami di Ballistiq memberikan ceramah yang sangat bagus tentang kerangka pengujian yang disebut Codeception, dan saya harus mengatakan itu benar-benar terlihat layak, mendukung hal-hal seperti tes gaya Selenium dan BDD. Proyek Opensource HHVM 8211 yang dipimpin oleh Facebook, ini membutuhkan PHP dan menyusunnya menjadi bytecode yang pada gilirannya akan diterjemahkan ke dalam kode mesin x64 dan berjalan sangat cepat. Ini adalah proyek yang sangat menarik yang membuat PHP sangat performant dan scalable. Jadi PHP tidak akan pergi dalam waktu dekat. Banyak orang menggunakannya dan menggunakannya dengan baik. Namun, saya (dan banyak insinyur web) telah pindah. Sebagai insinyur, kita bisa melakukan apa saja yang perlu dilakukan, bagaimanapun, berdasarkan pilihan, saya tidak akan memulai proyek baru di PHP. Mengapa saya merasa ada solusi menarik di luar sana yang layak untuk dilihat. Mengapa saya masih mencintai Rails sebagai framework dan Ruby sebagai bahasa Seperti yang saya sebutkan di tahun 2012, saya sangat menikmati bekerja dengan Ruby and Rails. Meskipun ada kurva belajar yang curam, setelah beberapa saat aku mencapai alur dan sekarang aplikasi yang kami berikan sangat bagus sehingga aku tidak bisa membayangkan akan kembali. Berikut beberapa hal yang perlu dilakukan RubyRails bahwa saya merasa benar-benar membuat pilihan yang begitu kuat: Gems 8211 Ketika saya mulai coding di Ruby, Gems membingungkan saya lebih banyak daripada yang mereka bantu karena terlalu banyak 8216magic8217. Begitu saya mengetahui bahwa Anda bisa (dan seharusnya) membaca kode sumber untuk permata, semuanya menjadi lebih masuk akal. Karena sifat permata dan standar komunitas yang pluggable, permata dapat memberi aplikasi Anda sejumlah besar fungsionalitas dengan sangat cepat. Beberapa permata yang tidak bisa saya jalani tanpa: Merancang (otentikasi 8211 menangani login pengguna, masuk secara sosial, lupa alur kerja kata sandi dan banyak lagi), Paperclip (upload file 8211 bahkan menangani upload ke S3, croppingresampling gambar), Simple Form membuat bentuk sangat sederhana Untuk standarisasi dan render di situs web. Mesin yang Dapat Dipetakan 8211 Kami melakukan proyek raksasa untuk perusahaan Fortune 500 di mana setelah membangun aplikasi awal, sangat sukses sehingga departemen lain menginginkan aplikasi yang sama, namun dengan fungsionalitas yang sedikit berbeda dan UI yang berbeda. Daripada copypasting aplikasi dan harus mendukung beberapa codebases, kami dapat mengekstrak sebagian besar fungsionalitas inti ke mesin Rails mountable, dan benar-benar memiliki satu basis kode namun beberapa situs web. Klien benar-benar senang dengan ini dan ini adalah kemenangan besar bagi kami. Scaling 8211 Rails memiliki stigma karena tidak dapat diukur dan mereka mengacu pada Twitter dumping Rails. Kami belum menemukan masalah penskalaan dengan Rails dan kami memiliki aplikasi yang berjalan dengan jutaan tayangan laman dan ratusan ribu pengguna setiap bulannya. Faktanya adalah, mayoritas dari Anda tidak akan memiliki masalah penskalaan yang dimiliki Twitter. Dan kenyataannya, kami merasa lebih mudah untuk melakukan skala dengan Rails daripada dengan PHP. Bagaimana Pertama-tama, Rails mendukung caching di luar kotak. Anda bisa melihat fragmen cache dalam kode aplikasi Anda dan menggunakan Redis sebagai toko cache. Itu adalah solusi yang jauh lebih sederhana daripada mencoba menggunakan Varnish yang menyimpan semua yang melewatinya dan membiarkan pengguna yang masuk tanpa caching. Menggunakan built-in Rails caching memungkinkan kita untuk skala mudah. Kedua, Rails Capistrano Chef membuatnya sangat mudah untuk skala ke beberapa lingkungan server dengan sangat cepat. Infrastruktur Amazon AWS khas kami meliputi Elastic Load Balancer, beberapa contoh server aplikasi server redissearch, yang didukung oleh contoh database RDS. Kami menyiapkan server provisioning dengan Chef, memungkinkan kami menyediakan contoh ready-to-run baru dalam beberapa menit. Penyebaran simultan lengkap dengan migrasi data bisa dilakukan dengan Capistrano dari command line. Secara harfiah, saya mengetikkan produksi topi: migrasi dan semuanya disebarkan secara ajaib ke semua server aplikasi kami. Pengguna tidak melihat adanya downtime karena kita memiliki Phusion Passenger Enterprise dan rolling restart. Latar belakang pekerjaan 8211 PHP dirancang sebagai pre-processor hypertext yang berarti hanya dijalankan bila ada permintaan web. Dibandingkan dengan Ruby yang menjalankan sebuah proses. Di Rails, Anda dapat dengan mudah mengatur pekerjaan latar belakang menggunakan Sidekiq atau Resque. Ini juga menambah kemampuan Rails8217 untuk skala dengan mudah. Dalam aplikasi kami, kami memindahkan banyak barang yang dapat memperlambat permintaan seperti mengirim email kepada pengguna ke pekerjaan latar belakang. Sekarang, PHP bisa melakukan pekerjaan latar belakang dengan menggunakan Gearman tapi bukan standar 8211 Anda harus menginstal ekstensi PECL. Di RubyRails, pekerjaan latar belakang tidak bermasalah. Kamu lakukan saja Rails adalah BORING 8211 Rails sekarang ada di versi 4.x. Ini adalah kerangka kerja yang matang. Ini membosankan sekarang. Anak-anak yang keren menggembar-gemborkan NodeJS akhir-akhir ini. Rails membosankan karena tahan lama dan stabil. Kami telah mengembangkan aplikasi di Rails sekarang untuk beberapa perusahaan terbesar di dunia dan orang-orang di departemen TI mereka tidak mengenakan kelopak mata. Ini tahu bahwa itu pilihan yang tepat untuk membangun aplikasi Anda (tangguh, siap pakai, terukur, performant). Teknologi lain yang saya pikir membentuk web AngularJS 8211 Kami memperkenalkan AngularJS ke dalam proyek klien kami awal tahun ini untuk dua perusahaan Fortune 500 dan ini adalah kemenangan besar. AngularJS memungkinkan Anda membuat aplikasi satu halaman yang berjalan di Javascript. Sebagian besar logika front-end Anda masuk ke AngularJS, dan backend Anda hanya karena API yang melayani JSON. Dengan melakukan ini, kami dapat membangun aplikasi yang sangat performant. Pengalaman pengguna sangat bagus dengan pendekatan ini karena halaman memuat dengan sangat cepat karena browser tidak perlu melakukan permintaan ulang alihan secara penuh. NodeJS 8211 Saya mulai berkembang di NodeJS beberapa bulan yang lalu dan hal itu meniup pikiran saya. Apa NodeJS sangat bagus untuk membangun aplikasi berjejaring. Misalnya. Jika Anda membangun aplikasi chat real-time, Anda bisa menggunakan NodeJS untuk itu. Karena kematangan Rails, saya pikir kita akan segera berhenti untuk membangun aplikasi besar, tapi untuk menambahkan komponen real-time, saya akan menggunakan NodeJS SocketIO. Jadi apa yang harus Anda lakukan pengembangan Web menjadi sangat kompleks. Hari-hari pengembang tunggal mampu mengirimkan aplikasi lengkap dari awal sampai akhir menjadi semakin sulit. Bahkan front-end tidak bisa lagi ditangani oleh designerdeveloper hybrid yang bisa hack markup HTML CSS. Jika Anda baru memulai, saya masih merekomendasikan agar Anda memulai dengan PHP. Anda akan mendapatkan hasil lebih cepat, dan ini akan mendorong pertumbuhan dan pengetahuan Anda. Melompat ke RubyRails sebagai bahasa pertama Anda mungkin membuat Anda benar-benar frustrasi karena berusaha mendapatkan hasil yang ingat, dengan Rails, Anda harus tahu tumpukan penuhnya, bukan hanya bahasa dan kerangka yang Anda tantang. Setelah Anda merasa nyaman dengan aplikasi yang dipesan lebih dahulu di PHP, Anda kemudian dapat membangkitkan selera makan Anda dan mulai menggunakan teknologi lain seperti RubyRails dan bahkan NodeJSExpress, dan Anda akan menghargai apa yang ditawarkan oleh teknologi ini. Banyak konsep yang akan Anda pelajari dari PHP dalam kerangka kerja seperti Symfony amp Laravel akan terbawa ke bahasa dan kerangka kerja lainnya. Alasan lain mengapa saya merekomendasikan PHP sebagai titik awal yang bagus adalah bahwa hal itu sangat berguna untuk diketahui sehingga Anda dapat meretas beberapa hal seperti tema dan plugin WordPress. WordPress begitu banyak digunakan saat ini dalam bisnis (terutama departemen pemasaran) dan sangat hebat untuk memiliki perangkat lunak polyglots yang dapat bekerja dengan banyak alat dan platform yang berbeda. Hal yang harus Anda sadari adalah bahwa Web bukan tentang bahasa apa yang Anda pilih untuk dikembangkan dengan standar dan apa yang diperlukan untuk mendapatkan informasi masuk dan keluar dari browser web. Ini tidak masalah apa yang ada di server, asalkan meludah keluar HTML dan data JSON yang benar 8211 Anda bisa menggunakan C untuk semua orang yang peduli. Itu sebabnya ada begitu banyak teknologi web dari PHP ke Ruby ke Python sampai ke Java dan gosh Perl masih digunakan (saya bertemu dengan seorang pria yang menulis App Shopify seluruhnya di Perl). Jadi begitulah. Terus hacking Anda bisa melakukan apapun di PHP yang bisa Anda dapatkan di Rails dan sebaliknya. Itu cukup bagi saya untuk tetap dengan PHP. Sejauh Rails lebih cepat digunakan, saya benar-benar meragukannya. Tidak banyak waktu yang bisa disimpan di PHP vs bahasa lain dengan kerangka kerja yang ada yang sudah saya gunakan (kecuali tentu saja, kita membangun AI untuk memulai kode pemrograman). Artikel bagus Saya sangat setuju karena saya memiliki pengalaman yang sama dengan latar belakang PHP sampai ke RoR. Saya hanya senang bukan satu-satunya yang berpikir bahwa belajar Rails sulit dilakukan. Aku masih berusaha memusnahkan kepalaku di Coffeescript. Saya ingin menawarkan beberapa saran kepada pembaca, cara yang sangat baik untuk belajar Ruby dan Rails adalah dengan melakukan kursus SaaS GRATIS dari Edx (edx. orgcourseuc-berkeleycs-169-1xsoftware-service993). Anda tidak hanya akan belajar Ruby on Rails yang solid, tapi Anda akan belajar aspek teknik yang baik dan mendapatkan sertifikat dari Berkeley University. Selain itu, saya dapat merekomendasikan Tutorial Ruby on Rails 2ed oleh Michael Hartl. Dan Kepala Rails Pertama (O8217 Reilly). Ingat, semakin Anda memberi RoR kesempatan, semakin Anda menyukainya. Bagus menulis. Im lebih dari seorang pria javascript yang kadang-kadang menggunakan php untuk sisi server. Sejak node datang, mulai menggunakan javasript di sisi server juga. Banyak alat keren yang saya gunakan seperti Jekyll, Sass dan kompas ditulis di Ruby, jadi saya selalu tergoda untuk belajar ruby. Saya telah mengamati banyak rekan saya yang pindah ke Ruby atau Python karena mereka merasa menjadi programmer php yang tidak menghormati sama. Bagus, artikel seimbang Leo, terimakasih karena tidak menghipnotis satu atau lainnya dan tujuan yang tersisa tentang pengalaman Anda. Kompilasi kompleksitas RoR menyangkut saya, sementara saya menyukai aspek lainnya. Artikel bagus Saya adalah programmer PHP dan Ruby on Rails. Saya memilih Rails karena tidak seperti PHP yang terlalu banyak dipelajari tergantung kebutuhan Anda. Banyak framework dan cms. Sementara Ruby, rel adalah semua yang Anda butuhkan. Anda bisa melakukan aplikasi skala. Artikel yang sangat bermanfaat, Leo. Saya telah mencelupkan jari kaki saya ke dalam pengembangan web selama enam bulan terakhir dan telah bekerja terutama dengan PHP, namun Ruby on Rails ada di daftar bahasa saya berikutnya. Sebagai pengembang web yang berpengalaman, apakah Anda menyarankan agar saya melanjutkan PHP dan beralih ke Rails setelah mendapatkan beberapa pengalaman atau langsung masuk ke Rails Hi Michael. Saya pikir itu berharga untuk diketahui keduanya. Jelas dalam iklim saat ini pengetahuan tentang Rails akan memberi Anda pekerjaan dengan sangat cepat karena ada lebih banyak permintaan dan persaingan yang lebih rendah. Jika Anda benar-benar baru dalam pengembangan web, menurut saya PHP adalah titik awal yang lebih baik karena Anda akan mendapatkan hasil lebih cepat, yang akan mendorong Anda melanjutkan pengembangan web. Saya tidak bisa menekankan betapa kecilnya keberhasilan membangun satu sama lain. Anda bisa membangun aplikasi MVC custom yang bagus dengan cepat menggunakan sesuatu seperti CakePHP atau CodeIgniter. Saat Anda pindah ke Rails, saya menyarankan untuk tidak mempelajari Rails terlebih dulu. Pelajari Ruby terlebih dahulu dan coba gunakan kerangka kerja seperti Sinatra untuk memulai. Alasan saya adalah bahwa Rails memiliki terlalu banyak hal yang membuat sangat sulit untuk memahami apa yang terjadi di bawah tenda. Jika Anda tidak mengerti apa yang dilakukan Rails di bawah tenda, dan Anda tidak tahu bagaimana cara mencari kode sumber Rails dan mencari tahu, debugging aplikasi Anda bisa sangat lama dan membuat frustrasi, terutama bagi pemula. Terima kasih atas tanggapan Leo yang sangat membantu saya setuju bahwa mempelajari Ruby sangat penting sebelum terjun ke Rails. Pasti banyak yang bisa saya pelajari untuk saya, tapi saya sangat bersemangat dan termotivasi oleh setiap keberhasilan kecil. Cheers Couldn8217t setuju lebih. Sebagai dev Ruby dan RoR yang baru, sangat penting bahwa saya belajar Ruby terlebih dahulu. Sementara RoR adalah Ruby pada intinya, ia menangani banyak tugas dasar untuk Anda.230 Oleh karena itu, Rails 8220Magic8221. Jika Anda tidak memiliki pemahaman yang baik tentang bagaimana menggunakan Ruby tanpa kerangka web, apa yang terjadi di bawah tenda benar-benar akan membuat Anda frustrasi, terutama saat melakukan debugging atau bahkan memahami metode alat yang tepat untuk pekerjaan itu. Artikel bagus, Leo I, seperti kebanyakan orang lain, menghargai representasi adil dan seimbang dari kedua bahasa dan kerangka kerja masing-masing. Atau chars (8216a8217..8217z8217).toa Array. new (8).join Bahasa pertama yang pernah saya pelajari adalah Turbo Pascal. Lalu Jawa. Bahasa pemrograman web pertama yang saya pelajari adalah PHP. Sangat informatif I8217m baru dalam pemrograman dan saya melihat PHP dan Ruby sebagai bahasa sisi server (I8217ll memutuskan mana yang harus diikuti dengan I8217m ke dalamnya sedikit lebih lama). Saya setuju bahwa PHP lebih mudah untuk mengambil nomor dari kelenturan tapi sangat sulit untuk menemukan tutorial atau panduan berkualitas baik di luar sana. Ini konyol benar-benar terlihat karena sudah lama berlalu. Di sisi lain Ruby memang memiliki kurva belajar yang curam (meski belajar PHP secara bersamaan tampaknya telah membantu saya memahaminya) namun sumber belajar yang ada di luar sana lebih mudah ditemukan dan keseluruhan tumpukan lebih baik. Sekolah kode, misalnya (lihat apakah Anda baru mengenal perkembangan) adalah sumber daya yang fantastis8230 namun bahkan tidak menyentuh PHP. Saya melihat Ruby sebagai bahasa SS masa depan. Saya sedang mengerjakan Ruby on rails. Menggunakan Ruby on rails untuk membangun rock solid code sehingga kualitas website yang akan mudah dipelihara kemudian. Ruby on Rails juga terkenal dengan konvensi pengkodeannya, praktik tangkas dan kekuatan keamanan. Tapi sangat berharga untuk mengetahui kedua artikel bagus itu. Saya baru saja masuk ke web dev dengan Rails selama beberapa bulan terakhir dan sangat menyenangkan untuk melihat bahwa saya tidak sendirian dalam keyakinan saya bahwa ini sangat intuitif. Perbandingannya memang seperti apel dan jeruk, tapi berguna saat mempertimbangkan bidang mana yang harus dipusatkan pada belajar. Saat ini saya memanfaatkan pengalaman industri dengan Rails, namun saya ragu untuk berkomitmen mil penuh di daerah itu karena kurvanya begitu curam, dan saya tidak tahu apakah saya ingin menjadi seorang Rails dev. Artikel bagus Saya merasakan hal yang persis sama. Setelah gt10 tahun php dan Java saya belajar menyukai ruby. Dan ketenangan pikiran yang diberikan rel kepada saya dalam proyek yang penuh tekanan. Blindly tahu dimana harus memasukkan kode baru bahkan setelah 12 jam coding jam 4 pagi. Tapi aku benar-benar membenci kompleksitas yang Anda sebutkan mengenai penyiapan infrastruktur. Beberapa orang menikmati hal itu. Hidup terlalu singkat untuk tugas bodoh semacam itu. Saya selalu bertanya-tanya mengapa orang-orang RubyRails berhasil membuat rutinitas setup yang sama semudah php Mengapa saya harus bertarung dengan versi Ruby versi permata mac OSX inkonsistensi versi selama 2 hari sebelum server rel akan menjalankan Grmpffff8230 pertama kali. Sebenarnya, Anda tidak perlu mengikuti versi8181. 8211 Versi Ruby: Umumnya dikelola oleh rbenvrvm dkk. (Rbenv secara resmi direkomendasikan oleh Rails 8211 rubyonrails. orgdownload). Jika Ruby asli Anda memenuhi versi Ruby yang dibutuhkan oleh proyek yang ada (misalnya 1.9.3 untuk Rails 4, 1.8.7 untuk Rails 3.2), maka Anda bagus dan Anda tidak memerlukan alat tersebut. Tetapi jika Anda melakukan pekerjaan klien, atau bahkan eksperimen (misalnya, proyek utama Anda adalah Rails 3, Anda sedang mencoba onplanning saat beralih ke Rails 4) Anda memerlukan beberapa versi Ruby yang berjalan bersamaan di mesin yang sama. 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. Sangat dihargai 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. Terima kasih banyak. 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. Yang time frame (TF) Setiap dua TFs dengan rasio 1: 4 - 1: 6. Sebagai contoh: Saya menggunakan H1 dan M15 TFs dengan rasio 1: 4. Tapi Anda bisa menggunakan grafik H4 dan H1 (rasio 1: 4) atau grafik harian dan grafik H4 (rasio 1: 6). Anda mendapatkan gambarnya. Setiap, tapi saya hanya akan menggunakan GBPUSD, EURUSD atau AUDUSD untuk tujuan ilustrasi. Bagaimana kita menentukan arah trend untuk tujuan kita Simple. Untuk grafik quotblankquot tambahkan indikator pergeseran 200 EMAclose0. Lihat bagan 1 di bawah ini. Melihat dari kiri ke kanan di 200 EMA pada grafik H1 GBPUSD, jelas bahwa arah telah naik sejak sekitar 7 Oktober, sehingga sampai arah perubahan EMA 200 berubah, kita hanya akan melakukan perdagangan panjang, yaitu , Hanya diperdagangkan di atas garis 200 EMA putih. UPDATE: Saya menemukan crossing MA bekerja dengan baik pada perdagangan countertrend pada TF yang lebih rendah juga. Pantau lebih dekat dan jangan selalu mencari sebanyak pips seperti dalam perdagangan tren. Mari kita lihat grafik H1 EURUSD untuk latihan dalam menentukan arah. (Bagan 2 di bawah) Sekali lagi, arahnya telah naik sejak kira-kira tanggal 7 Oktober. Pergilah melalui latihan ini pada pasangan lain untuk mendapatkan lebih banyak latihan dalam menentukan arah. (Catatan: Jika Anda melakukan trading dari TF yang lebih tinggi sebagai grafik H4, Anda akan menggunakan 200 EMA pada TF yang lebih tinggi untuk menentukan arah.) Finishing menyiapkan bagan perdagangan. Untuk bagan kosong dengan 200 EM A tambahkan MA Smoothed berikut: --- 3 Tepuk MAclose0 shift gold --- 8 SmoothedMAclose0 shift purple Lihat bagan 3 di posting berikutnya Setelah grafik disiapkan, pastikan untuk menyimpan template. RINGKASAN KUASA quot Gambar Besar untuk arah berasal dari grafik H1 (atau lebih tinggi jika menukar TF lain, namun penarikannya akan jauh lebih besar daripada yang digunakan TF yang lebih tinggi) Pindai arah 3.8 MA yang merata dalam kaitannya dengan arah yang diinginkan. Buat catatan pemasangan pasang atau perlu ditinjau ulang nanti, misalnya jika mendekati 200 EMA. Apa yang akan mereka lakukan Bounce dari 200 dan berbalik, pergi melalui itu, atau berjalan di sepanjang itu. Itulah satu-satunya pilihan. Saat 3 melintasi 8 pada TF yang lebih tinggi. Pindah ke lower TF untuk masuk Cari salib yang kuat di TF bawah dan masuk. Saya memantau perdagangan pada TF yang lebih tinggi. Tapi itu preferensi trader. Terlampir Gambar (klik untuk memperbesar) Saya di sana bersama Anda Lawgirl. Setelah Anda mengatasi rasa takut kehilangan dan Anda dapat mempercayai niat Anda sendiri, menghasilkan uang di Forex bisa menjadi sederhana dan menyenangkan. Heres sebuah sampul amplop MA sedikit saya sendiri yang sering saya gunakan. Tidak ada lilin, cukup ikuti garis putih dan tetap di sisi kanan trend. Seberapa mudahnya itu? Hey forexhard, senang mendengar tentang Anda, saya sangat baru dalam FF karena saya sedang membaca tapi tidak pernah terlibat dalam forum ini, namun saya akan mulai sekarang sejak jumlah kwnoledge yang luar biasa yang bisa Anda dapatkan dari FF. Saya sedang membaca benang stairsteps, sistem yang cukup bagus namun bertenaga, tidak sabar menunggu pasar terbuka hanya untuk mencobanya di demo tentunya. Saya sedang berpikir, bagaimana dengan 100pips SL mencari keuntungan 1000pips Sounds crazy memungkinkan skype: elchinoazul Ini terlihat menarik. Pasti akan demoing minggu ini. Bahkan dalam fase konsolidasi, jika Anda keluar saat kerugian 3 dan 8 kerugian Anda akan minimal dibandingkan dengan saat Anda menang. Plus, ini menghemat keausan bola mata ole Ada seorang rekan di sini yang menyarankan strategi ini: masuk dengan 2 atau 3, dan saat Anda mencapai usia 50, berjualan dua dan jatuhkan stop loss sampai titik impas dan biarkan Runquot ketiga sampai 3 dan 8 kembali menyilang. Ini strategi hebat karena Anda sudah menghilangkan keserakahan. Dan pelari adalah perdagangan bebas Thats ide yang pasti bagus. 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. MACD mengubah dua indikator mengikuti tren, bergerak rata-rata. Menjadi osilator momentum dengan mengurangi rata-rata pergerakan yang lebih lama dari moving average yang lebih pendek. Akibatnya, MACD menawarkan yang terbaik dari kedua dunia: mengikuti tren dan momentum. MACD berfluktuasi di atas dan di bawah garis nol saat rata-rata bergerak menyatu, melintasi dan menyimpang. Pedagang dapat mencari crossover garis sinyal, crossover garis tengah dan divergensi untuk menghasilkan sinyal. Karena MACD tidak terbatas, ini tidak terlalu berguna untuk mengidentifikasi tingkat overbought dan oversold. Catatan: MACD dapat diucapkan sebagai Mac-Dee atau M-A-C-D. Berikut adalah bagan contoh dengan indikator MACD di panel bawah: Perhitungan MACD Line adalah 12 hari Exponential Moving Average (EMA) kurang EMA 26 hari. Harga penutupan digunakan untuk rata-rata bergerak ini. EMA 9 hari dari Garis MACD diplot dengan indikator untuk bertindak sebagai garis sinyal dan mengidentifikasi belokan. Histogram MACD mewakili perbedaan antara MACD dan EMA 9 harinya, garis Sinyal. Histogram positif bila MACD Line berada di atas garis Sinyal dan negatif saat Garis MACD berada di bawah garis Sinyal. Nilai 12, 26 dan 9 adalah pengaturan khas yang digunakan pada MACD, namun nilai lain dapat diganti tergantung pada gaya dan tujuan trading Anda. Interpretasi Sesuai namanya, MACD adalah tentang konvergensi dan perbedaan dua rata-rata bergerak. Konvergensi terjadi saat moving averages bergerak ke arah satu sama lain. Divergensi terjadi saat rata-rata bergerak menjauh satu sama lain. Rata-rata bergerak lebih pendek (12 hari) lebih cepat dan bertanggung jawab atas sebagian besar pergerakan MACD. Rata-rata pergerakan yang lebih lama (26 hari) lebih lambat dan kurang reaktif terhadap perubahan harga pada keamanan yang mendasarinya. Garis MACD berosilasi di atas dan di bawah garis nol, yang juga dikenal sebagai garis tengah. Crossover ini memberi sinyal bahwa EMA 12 hari telah melewati EMA 26 hari. Arahnya tentu saja tergantung pada arah rata-rata pergerakan rata-rata. Positif MACD menunjukkan bahwa EMA 12 hari berada di atas EMA 26 hari. Nilai positif meningkat seiring EMA yang lebih pendek menyimpang lebih jauh dari EMA yang lebih panjang. Ini berarti momentum naik terus meningkat. Nilai MACD negatif menunjukkan bahwa EMA 12 hari di bawah EMA 26 hari. Nilai negatif meningkat karena EMA lebih pendek menyimpang lebih jauh di bawah EMA yang lebih panjang. Ini berarti momentum downside meningkat. Pada contoh di atas, area kuning menunjukkan MACD Line di wilayah negatif saat perdagangan EMA 12 hari di bawah EMA 26 hari. Salib awal terjadi pada akhir September (panah hitam) dan MACD bergerak lebih jauh ke wilayah negatif karena EMA 12 hari menyimpang lebih jauh dari EMA 26 hari. Area oranye menyoroti periode nilai MACD positif, yaitu ketika EMA 12 hari berada di atas EMA 26 hari. Perhatikan bahwa MACD Line tetap di bawah 1 selama periode ini (garis putus-putus merah). Ini berarti jarak antara EMA 12 hari dan EMA 26 hari kurang dari 1 titik, yang bukan merupakan perbedaan besar. Sinyal Crossover Sinyal crossover sinyal adalah sinyal MACD yang paling umum. Garis sinyal adalah EMA 9 hari dari MACD Line. Sebagai indikator rata-rata bergerak, ia akan mengarahkan MACD dan membuatnya lebih mudah untuk menemukan belokan MACD. Crossover bullish terjadi saat MACD muncul dan melintasi garis sinyal. Crossover bearish terjadi saat MACD turun dan melintasi garis sinyal. Crossover bisa bertahan beberapa hari atau beberapa minggu, semuanya tergantung kekuatan gerak. Uji tuntas diperlukan sebelum mengandalkan sinyal umum ini. Sinyal garis crossover pada titik positif atau negatif harus dilihat dengan hati-hati. Meskipun MACD tidak memiliki batas atas dan bawah, para chartis dapat memperkirakan ekstrem historis dengan penilaian visual sederhana. Dibutuhkan langkah kuat dalam keamanan yang mendasar untuk mendorong momentum yang ekstrem. Meskipun pergerakannya mungkin berlanjut, momentum cenderung melambat dan ini biasanya akan menghasilkan crossover garis sinyal pada ekstremitas. Volatilitas keamanan yang mendasar juga bisa meningkatkan jumlah crossover. Bagan di bawah ini menunjukkan IBM dengan EMA 12 hari (hijau), EMA 26 hari (merah) dan MACD 12,26,9 di jendela indikator. Ada delapan garis sinyal crossover dalam enam bulan: empat dan empat ke bawah. Ada beberapa sinyal bagus dan beberapa sinyal buruk. Area kuning menyoroti suatu periode ketika MACD Line melonjak di atas 2 untuk mencapai titik ekstrim positif. Ada dua crossover sinyal bearish pada bulan April dan Mei, namun IBM terus mengalami tren naik. Meski momentum naik melambat setelah lonjakan, momentum ke atas masih lebih kuat dari momentum turunnya pada April-Mei. Sinyal garis ketiga crossover di bulan Mei menghasilkan sinyal yang bagus. Centerline Crossover Centerline crossover adalah sinyal MACD paling umum berikutnya. Crossover garis tengah bullish terjadi saat MACD Line bergerak di atas garis nol untuk berbalik positif. Hal ini terjadi ketika EMA 12 hari keamanan yang mendasari bergerak di atas EMA 26 hari. Sebuah crossover garis tengah bearish terjadi ketika MACD bergerak di bawah garis nol untuk berbalik negatif. Hal ini terjadi ketika EMA 12 hari bergerak di bawah EMA 26 hari. Perpipaan centerline bisa berlangsung beberapa hari atau beberapa bulan. Itu semua tergantung dari kekuatan trennya. MACD akan tetap positif selama terjadi uptrend yang berkelanjutan. MACD akan tetap negatif saat terjadi tren turun yang berkelanjutan. Bagan berikutnya menunjukkan Pulte Homes (PHM) dengan setidaknya empat garis tengah garis tengah dalam sembilan bulan. Sinyal yang dihasilkan bekerja dengan baik karena tren kuat muncul dengan crossover centerline ini. Berikut adalah bagan Cummins Inc (CMI) dengan tujuh crossover garis tengah dalam lima bulan. Berbeda dengan Pulte Homes, sinyal ini akan menghasilkan banyak goresan karena tren kuat tidak terwujud setelah perpindahan silang. Bagan berikutnya menunjukkan 3M (MMM) dengan crossover tengah tengah bullish pada akhir Maret 2009 dan crossover tengah tengah bearish pada awal Februari 2010. Sinyal ini bertahan selama 10 bulan. Dengan kata lain, EMA 12 hari berada di atas EMA selama 26 hari selama 10 bulan. Inilah salah satu tren yang kuat. Divergensi Divergensi terbentuk saat MACD menyimpang dari aksi harga keamanan yang mendasarinya. Bentuk divergensi bullish terjadi saat catatan keamanan rendah dan MACD rendah. Rendahnya tingkat rendah dalam keamanan menegaskan tren turun saat ini, namun level terendah MACD di bawah menunjukkan sedikit momentum penurunan. Meski mengalami momentum penurunan, momentum turun masih melampaui momentum kenaikan sepanjang MACD tetap berada di wilayah negatif. Momentum turun yang melambat terkadang bisa membayangi pembalikan tren atau reli yang cukup besar. Bagan berikutnya menunjukkan Google (GOOG) dengan perbedaan bullish pada bulan Oktober-November 2008. Pertama, perhatikan bahwa kita menggunakan harga penutupan untuk mengidentifikasi divergensi. Rata-rata bergerak MACD0ber didasarkan pada harga penutupan dan kita harus mempertimbangkan harga penutupan keamanan juga. Kedua, perhatikan bahwa ada pasang surut reaksi yang jelas (palung) karena Google dan MACD Line-nya melambung pada bulan Oktober dan akhir November. Ketiga, perhatikan bahwa MACD terbentuk lebih rendah karena Google membentuk level rendah di bulan November. MACD muncul dengan divergensi bullish dengan crossover garis sinyal di awal Desember. Google membenarkan adanya pembalikan dengan resistance breakout. Bentuk divergensi bearish saat catatan keamanan menguat tinggi dan MACD Line membentuk level terendah. Tingginya tingkat keamanan yang tinggi normal untuk tren naik, namun tingkat terendah MACD menunjukkan momentum yang lebih rendah. Meski momentum naik mungkin kurang, momentum naik masih melampaui momentum turun sepanjang MACD positif. Momentum momentum ke atas terkadang bisa membayangi pembalikan tren atau penurunan yang cukup besar. Di bawah ini kita melihat Gamestop (GME) dengan perbedaan bearish yang besar dari bulan Agustus sampai Oktober. Stok ditempa tinggi lebih tinggi di atas 28, tapi MACD Line jatuh pendek dari sebelumnya tinggi dan membentuk tinggi yang lebih rendah. Crossover garis sinyal berikutnya dan break support di MACD bearish. Pada grafik harga, perhatikan bagaimana support yang rusak berubah menjadi resistance pada formasi throwback pada bulan November (red dotted line). Kemunduran ini memberikan kesempatan kedua untuk menjual atau menjual secara singkat. Divergensi harus diambil dengan hati-hati. Bearish divergences biasa terjadi pada tren kenaikan yang kuat, sementara bullish divergences sering terjadi pada downtrend yang kuat. Ya, Anda membacanya dengan benar. Uptrends sering dimulai dengan kemajuan yang kuat yang menghasilkan lonjakan arus momentum (MACD). Meskipun uptrend berlanjut, ia melanjutkan pada kecepatan yang lebih lambat yang menyebabkan MACD turun dari level tertinggi. Momentum naik mungkin tidak sekuat, namun momentum naik masih melampaui momentum penurunan sepanjang MACD Line berada di atas nol. Hal sebaliknya terjadi pada awal downtrend yang kuat. Bagan berikutnya menunjukkan SampP 500 ETF (SPY) dengan empat divergensi bearish dari bulan Agustus sampai November 2009. Meskipun momentum di atas turun, ETF terus berlanjut karena uptrendnya kuat. Perhatikan bagaimana SPY melanjutkan rangkaian level tertinggi dan tinggi yang lebih tinggi. Ingat, momentum naik lebih kuat dari pada turunnya momentum selama MACD-nya positif. MACD-nya (momentum) mungkin kurang positif (kuat) seiring kemajuan, namun masih sangat positif. Kesimpulan Indikator MACD spesial karena menyatukan momentum dan tren dalam satu indikator. Perpaduan tren dan momentum unik ini dapat diterapkan pada grafik harian, mingguan, atau bulanan. Pengaturan standar untuk MACD adalah perbedaan antara EMA 12 dan 26 periode. Chartists yang mencari sensitivitas lebih lanjut dapat mencoba moving average jangka pendek yang pendek dan moving average jangka panjang yang lebih panjang. MACD (5,35,5) lebih sensitif daripada MACD (12,26,9) dan mungkin lebih cocok untuk grafik mingguan. Chartis yang mencari sensitivitas kurang mungkin mempertimbangkan untuk memperpanjang rata-rata bergerak. MACD yang kurang sensitif masih akan terombang-ambing di bawah nol, tapi garis tengah crossover dan crossover garis sinyal akan kurang sering terjadi. MACD tidak terlalu bagus untuk mengidentifikasi tingkat overbought dan oversold. Meskipun dimungkinkan untuk mengidentifikasi tingkat yang secara historis overbought atau oversold, MACD tidak memiliki batasan atas atau bawah untuk mengikat pergerakannya. Selama pergerakan tajam, MACD dapat terus melampaui batas melampaui ekstrem historisnya. Akhirnya, ingatlah bahwa MACD Line dihitung dengan menggunakan perbedaan aktual antara dua moving averages. Ini berarti nilai MACD bergantung pada harga keamanan yang mendasarinya. Nilai MACD untuk 20 saham dapat berkisar dari -1,5 sampai 1,5, sementara nilai MACD untuk 100 dapat berkisar antara -10 sampai 10. Tidak mungkin untuk membandingkan nilai MACD untuk sekelompok sekuritas dengan harga bervariasi. Jika ingin membandingkan pembacaan momentum, sebaiknya menggunakan Persentase Harga Oscillator (PPO). Bukan MACD. Menambahkan Indikator MACD ke SharpCharts MACD dapat ditetapkan sebagai indikator di atas, di bawah atau di belakang plot harga security039. Menempatkan MACD dibalik plot harga memudahkan pergerakan momentum dengan pergerakan harga. Setelah indikator dipilih dari menu drop-down, pengaturan parameter default akan muncul: (12,26,9). Parameter ini bisa disesuaikan untuk meningkatkan kepekaan atau penurunan sensitivitas. Histogram MACD muncul dengan indikator atau dapat ditambahkan sebagai indikator terpisah. Menetapkan garis sinyal ke 1, (12,26,1), akan menghapus MACD Histogram dan garis sinyal. Jalur sinyal terpisah, tanpa histogram, dapat ditambahkan dengan memilih menu Exp Mov Avg dari menu Advanced Options Overlay. Klik di sini untuk grafik live indikator MACD. Menggunakan MACD dengan StockCharts Scans Berikut adalah beberapa contoh pemindaian yang dapat digunakan anggota StockCharts untuk memindai berbagai sinyal MACD: MACD Bullish Signal Line Cross. Pemindaian ini menunjukkan saham yang diperdagangkan di atas rata-rata pergerakan 200 hari mereka dan memiliki crossover garis sinyal bullish di MACD. Perhatikan juga bahwa MACD diharuskan bersikap negatif untuk memastikan kenaikan ini terjadi setelah kemunduran. Pemindaian ini hanya dimaksudkan sebagai starter untuk penyempurnaan lebih lanjut. MACD Bearish Sinyal Cross Line. Pemindaian ini menunjukkan saham yang diperdagangkan di bawah rata-rata pergerakan 200 hari mereka dan memiliki crossover garis sinyal bearish di MACD. Perhatikan juga bahwa MACD diwajibkan untuk bersikap positif untuk memastikan penurunan ini terjadi setelah terpental. Pemindaian ini hanya dimaksudkan sebagai starter untuk penyempurnaan lebih lanjut. Studi lebih lanjut: Dari sang pencipta, buku ini menawarkan studi komprehensif untuk menggunakan dan menafsirkan MACD. Analisis Teknis - Alat Daya untuk Investor Aktif Gerald Appel

No comments:

Post a Comment