雅虎中国技术研发部总监谭晓生讲演
非常荣幸今天能够作为一个用户谈一谈我们对LAMP的使用。雅虎是全球着名的互联网公司,产品非常多,雅虎中国只是雅虎.COM产品的一个子级,真正在北美这边生活的话,你可以看到雅虎网站关系到生活的方方面面,从看新闻到财经的信息到开车怎么走,到找一些本地的餐饮、购物等信息,在雅虎的网站都可以做得到。我介绍雅虎Web服务器的体系结构。从最左边看起,前端用IE或者其它浏览器上来,经过一个标准的负载均衡设备,可能会是一个简单的DNS装置也可能是专用的 VIP的设备,标准是跑apache(Unix平台最流行的WEB服务器平台),编程语言是php(做为现在的主流开发语言),下面写到基于内存数据库的系统MDBM,右边可以看到后端存储有甲骨文、MySQL(和PHP搭配之最佳组合)数据库,UDB服务器专门存用户的认证信息以及邮件存在什么地方AD服务器,做广告投放,AD是里面非常重要的。除了专有数据库和标准的数据库获得信息之外,还可以通过其它各种各样的渠道,通过合作伙伴可以把数据Feeds进来。中间云图叫Proxyio,为了解决网络通信的问题,随着用户数量的增加,用户使用量的增加,单台服务器满足不了要求,每一个模块都可能是由多台服务器跑的,模块之间的通讯演化N乘M层级的问题,可以有效地简化,这是非常概要的图,这张图里面没有体现操作系统,WEB站线的语言用php(做为现在的主流开发语言),数据库有MySQL(和PHP搭配之最佳组合)和甲骨文。
下面可以看到HP的服务器,为什么只写了HP,并不是HP赞助了这个会,雅虎有若干万台的服务器,都选择不同的供应商,在全球的支持变成非常困难的一件事情,所有东西经过验证,在某一个版本下面、某一种型号、某一种版本能运行不错,全球尽可能统一,HP服务器用得最多,在国内也开始使用戴尔。
在此之前操作系统有两个标准的操作系统,用得最多的是BSD,上面之前跑apache(Unix平台最流行的WEB服务器平台),至此之上有php(做为现在的主流开发语言)Base和雅虎自己的Exts和php(做为现在的主流开发语言)的语言,Y Mods是雅虎内部攻击预防的系统,经常会起作用。red更多像Linux偏一些,雅虎中国几千台操作系统在一个月切换,最核心像索引器全部用64位的机器,操作系统也是64位,应用也是64位的。
Yapache(Unix平台最流行的WEB服务器平台)和apache(Unix平台最流行的WEB服务器平台)的区别,雅虎从操作系统开始到apache(Unix平台最流行的WEB服务器平台)做过一些改造,第一个是性能方面的优化,第二安全性方面的提升,第三是可管理性方面的提升,轮转方式改变了,GZIP编码有改变,最后这一行非常有帮助,可以帮助定位在哪一台服务器产生。
雅虎为什么要采用php(做为现在的主流开发语言)?
雅虎在使用php(做为现在的主流开发语言)之前都用过什么东西,我到雅虎之后这些东西都已经是历史了,HF2K、CS/HDF。像雅虎以前邮件的页面,有HF2K、HTMIForm的东西,但是先都退出历史舞台。
展现层分成五部分,第一个页面框架,这部分95%的HTML、50% php(做为现在的主流开发语言)解决这方面的问题。在显示组件HTML和php(做为现在的主流开发语言)是对半的,在业务逻辑部分90%用php(做为现在的主流开发语言)做业务逻辑,在Ceneric百分之百用php(做为现在的主流开发语言),在库部分大部分用php(做为现在的主流开发语言),只要满足性能要求都可以用php(做为现在的主流开发语言),如果php(做为现在的主流开发语言)实在干不了,可以用C/C++编写php(做为现在的主流开发语言)扩展,如果说用php(做为现在的主流开发语言)在性能上可以满足的话,公司推荐尽可能用php(做为现在的主流开发语言)写,相对来说编程速度比较快,产量比较高。
从业务逻辑往后叫Back End Engineering,还有一部分是Front End Eng。所以在雅虎工程师很有意思,在国内要招聘php(做为现在的主流开发语言)工程师还是蛮困难的,尤其要招聘高素质的php(做为现在的主流开发语言),写出稳定、安全又高效的代码,这其实还是比较难找的,雅虎的用人方法我们招C++工程师,要求具备C++编程功底,到公司再学php(做为现在的主流开发语言),雅虎程序员超过一半会php(做为现在的主流开发语言),不是进公司之后会的,而是去的时候学的。php(做为现在的主流开发语言)是一个简单的语言,但是简单不等于可以胡乱写,真正要写出高效安全的程序,还是需要很严密的逻辑。
在数据库方面来说,右边讲了甲骨文,右边讲了MySQL(和PHP搭配之最佳组合)。MySQL(和PHP搭配之最佳组合)在雅虎大量采用数据库,在我见到过雅虎的产品里边90%以上用MySQL(和PHP搭配之最佳组合),只有对并发度要求特别高,对数据安全性要求特别高,一般来说是收费服务,数据一旦丢失会有一些法律纠纷的,在这种情况下会考虑采用甲骨文,在实际开发里边,如果说拿出一个技术方案要用MySQL(和PHP搭配之最佳组合),简单看一下,不是涉及到收钱这种业务,就过了。不管什么样的业务,只要用甲骨文,我们就坐下来谈一谈为什么选择甲骨文,有什么样非要选甲骨文不可的原因。我们在其他所有的地方,使用甲骨文不需要额外花钱,一年交多少钱给这些公司,包括MySQL(和PHP搭配之最佳组合)的支持,都是买断的,我在公司内部都可以用,不用花钱,大家在线执行的时候会进行认真的审核。

PHP adalah bahasa skrip sisi pelayan yang digunakan untuk pembangunan web dinamik dan aplikasi sisi pelayan. 1.Php adalah bahasa yang ditafsirkan yang tidak memerlukan kompilasi dan sesuai untuk perkembangan pesat. 2. Kod PHP tertanam dalam HTML, menjadikannya mudah untuk membangunkan laman web. 3. PHP memproses logik sisi pelayan, menghasilkan output HTML, dan menyokong interaksi pengguna dan pemprosesan data. 4. PHP boleh berinteraksi dengan pangkalan data, penyerahan borang proses, dan melaksanakan tugas-tugas sampingan pelayan.

PHP telah membentuk rangkaian sejak beberapa dekad yang lalu dan akan terus memainkan peranan penting dalam pembangunan web. 1) PHP berasal pada tahun 1994 dan telah menjadi pilihan pertama bagi pemaju kerana kemudahan penggunaannya dan integrasi lancar dengan MySQL. 2) Fungsi terasnya termasuk menghasilkan kandungan dinamik dan mengintegrasikan dengan pangkalan data, yang membolehkan laman web dikemas kini secara real time dan dipaparkan secara peribadi. 3) Aplikasi dan ekosistem PHP yang luas telah mendorong kesan jangka panjangnya, tetapi ia juga menghadapi kemas kini versi dan cabaran keselamatan. 4) Penambahbaikan prestasi dalam beberapa tahun kebelakangan ini, seperti pembebasan Php7, membolehkannya bersaing dengan bahasa moden. 5) Pada masa akan datang, PHP perlu menangani cabaran baru seperti kontena dan microservices, tetapi fleksibiliti dan komuniti aktif menjadikannya boleh disesuaikan.

Manfaat utama PHP termasuk kemudahan pembelajaran, sokongan pembangunan web yang kukuh, perpustakaan dan kerangka yang kaya, prestasi tinggi dan skalabilitas, keserasian silang platform, dan keberkesanan kos. 1) mudah dipelajari dan digunakan, sesuai untuk pemula; 2) integrasi yang baik dengan pelayan web dan menyokong pelbagai pangkalan data; 3) mempunyai rangka kerja yang kuat seperti Laravel; 4) Prestasi tinggi dapat dicapai melalui pengoptimuman; 5) menyokong pelbagai sistem operasi; 6) Sumber terbuka untuk mengurangkan kos pembangunan.

PHP tidak mati. 1) Komuniti PHP secara aktif menyelesaikan masalah prestasi dan keselamatan, dan Php7.x meningkatkan prestasi. 2) PHP sesuai untuk pembangunan web moden dan digunakan secara meluas di laman web besar. 3) PHP mudah dipelajari dan pelayan berfungsi dengan baik, tetapi sistem jenis tidak begitu ketat sebagai bahasa statik. 4) PHP masih penting dalam bidang pengurusan kandungan dan e-dagang, dan ekosistem terus berkembang. 5) Mengoptimumkan prestasi melalui OPCACHE dan APC, dan gunakan corak OOP dan reka bentuk untuk meningkatkan kualiti kod.

PHP dan Python mempunyai kelebihan dan kekurangan mereka sendiri, dan pilihannya bergantung kepada keperluan projek. 1) PHP sesuai untuk pembangunan web, mudah dipelajari, sumber komuniti yang kaya, tetapi sintaks tidak cukup moden, dan prestasi dan keselamatan perlu diberi perhatian. 2) Python sesuai untuk sains data dan pembelajaran mesin, dengan sintaks ringkas dan mudah dipelajari, tetapi terdapat kesesakan dalam kelajuan pelaksanaan dan pengurusan memori.

PHP digunakan untuk membina laman web dinamik, dan fungsi terasnya termasuk: 1. Menjana kandungan dinamik dan menghasilkan laman web secara real time dengan menyambung dengan pangkalan data; 2. Proses Interaksi Pengguna dan Penyerahan Bentuk, Sahkan Input dan Menanggapi Operasi; 3. Menguruskan sesi dan pengesahan pengguna untuk memberikan pengalaman yang diperibadikan; 4. Mengoptimumkan prestasi dan ikuti amalan terbaik untuk meningkatkan kecekapan dan keselamatan laman web.

PHP menggunakan sambungan MySQLI dan PDO untuk berinteraksi dalam operasi pangkalan data dan pemprosesan logik sisi pelayan, dan memproses logik sisi pelayan melalui fungsi seperti pengurusan sesi. 1) Gunakan MySQLI atau PDO untuk menyambung ke pangkalan data dan laksanakan pertanyaan SQL. 2) Mengendalikan permintaan HTTP dan status pengguna melalui pengurusan sesi dan fungsi lain. 3) Gunakan urus niaga untuk memastikan atomik operasi pangkalan data. 4) Mencegah suntikan SQL, gunakan pengendalian pengecualian dan sambungan penutup untuk debugging. 5) Mengoptimumkan prestasi melalui pengindeksan dan cache, tulis kod yang sangat mudah dibaca dan lakukan pengendalian ralat.

Menggunakan penyataan preprocessing dan PDO dalam PHP secara berkesan dapat mencegah serangan suntikan SQL. 1) Gunakan PDO untuk menyambung ke pangkalan data dan tetapkan mod ralat. 2) Buat kenyataan pra -proses melalui kaedah menyediakan dan lulus data menggunakan ruang letak dan laksanakan kaedah. 3) Hasil pertanyaan proses dan pastikan keselamatan dan prestasi kod.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),