phpDay 2013:新闻和重点

Conferences play an important role in the process of becoming a better developer. When you attend a conference, you not only have the chance to listen to language or technology experts, but also the chance to meet other developers. This is ideal for expanding your networks of contacts to find, if needed, your next job.

会议在成为更好的开发人员的过程中起着重要作用。 参加会议时,您不仅有机会聆听语言或技术专家的知识,而且还有机会与其他开发人员会面。 这是扩大您的联系网络以查找(如果需要)下一份工作的理想选择。

Last week I attended the phpDay 2013 conference in Verona and the following are some of the highlights of the talks I attended and what I learned.

上周,我参加了在维罗纳举行phpDay 2013大会 ,以下是我参加的演讲以及所学到的一些重点内容。

第一天 (Day 1)

The conference began with a keynote by Julien Pauli, the Release Manager for PHP version 5.5 that should be released in July of this year. He first focused on how developers can contribute to the development of PHP both by developing features and reporting bugs. Then, he reviewed what’s new in the next major release.

会议的开头是Julien Pauli的主题演讲,Julien Pauli是PHP 5.5版本的发布管理器,该发布器将于今年7月发布。 他首先关注开发人员如何通过开发功能和报告错误来为PHP的开发做出贡献。 然后,他回顾了下一个主要版本中的新增功能。

An anticipated feature in 5.5 is the new Password hashing API. The goal of the API is to help programmers with storing passwords properly (i.e. encrypted!), and has methods to generate and verify an encrypted password in a very easy way, so that you won’t need to generate and store salts anymore. The API generates hashes using Bcrypt by default, so all of the information needed to decrypt is stored in the string itself. Although an important concept, I can’t help but question the utility of this API; it may be easy to use, but if a developer didn’t care enough to store encrypted passwords using a salt or was using MD5, would he care to use this API? What are your thoughts?

5.5中的一项预期功能是新的密码哈希API。 API的目标是帮助程序员正确存储密码(即加密!),并具有以非常简单的方式生成和验证加密密码的方法,因此您不再需要生成和存储盐。 该API默认使用Bcrypt生成哈希,因此解密所需的所有信息都存储在字符串本身中。 尽管这是一个重要的概念,但我不禁质疑此API的实用性; 可能很容易使用,但是如果开发人员不太在意使用盐或使用MD5来存储加密密码,他会在意使用此API吗? 你觉得呢?你有没有什么想法?

Another feature presented was the introduction of the finally clause for exception handling. I’m very happy to see this because I never understood why it wasn’t introduced with try/catch in the first place. It helps developers to manage different situations in a proper way.

呈现的另一个功能是为异常处理引入了finally子句。 看到这一点我感到非常高兴,因为我从未理解为什么一开始就没有在try / catch中引入它。 它可以帮助开发人员以适当的方式管理不同的情况。

The last point I’d like to mention from his talk is the introduction of OPCache. It’s really nothing but ZendOptimizerPlus by Zend that has been freed and renamed. Pauli said that it will ship with PHP 5.5 and released as an extension that you have to activate at compile time. From this release on, he pointed out, you should consider APC dead.

我想在他的演讲中最后提到的一点是OPCache的引入。 除了已释放并重命名的Zend的ZendOptimizerPlus外,实际上什么也没有。 Pauli说它将随PHP 5.5一起发行,并作为扩展名发布,您必须在编译时激活它。 他指出,从此发行版开始,您应该考虑APC已死。

After Pauli’s keynote, I attended a talk by the superstar Jordi Boggiano, the man behind Composer (more on dependency management with Composer). His talk focused on some Composer use cases, for example how to use a forked project as your project’s dependency and how to install/update your project’s dependencies.

在Pauli作主题演讲后,我参加了超级明星Jordi Boggiano的演讲,他是Composer背后的人(更多关于Composer的依赖管理 )。 他的演讲着重于Composer的一些用例,例如如何使用分支的项目作为项目的依赖项以及如何安装/更新项目的依赖项。

Composer has been discussed several times on SitePoint so I’ll move on, but I do want share that I asked Jordi if the project will have an auto-update feature (for Composer itself, not projects). His answer was a big No. He said that a lot of users probably wouldn’t be happy with it. I’m not sure why people wouldn’t be interested in knowing as soon as possible when a new version that fixes bugs and has new features is available. What are your thoughts?

Composer已经在SitePoint上讨论了几次,所以我继续,但是我想分享一下我问Jordi,该项目是否将具有自动更新功能(对于Composer本身,不是项目)。 他的回答是不可以。他说,很多用户可能对此不满意。 我不确定为什么人们不会对尽快知道何时修复错误并具有新功能的兴趣不感兴趣。 你觉得呢?你有没有什么想法?

The last talk I want to discuss from Day 1 was “From Dev to Ops and Beyond – Getting it Done” by Volker Dusch. This is the talk that I appreciated the most from the first track, both for its content and for the engaging presentation done by Volker, who spoke about DevOps methodology and his experiences. What I really appreciated was that he gave me a new vision of how software can be done and deployed. He spoke about the importance to communicate with people with different roles in your company to achieve the success of the product. Moreover, he suggested a lot of tools that you can start using to improve your development process, like Jenkins, Trello, Graphite, Puppet, and more.

第一天,我要讨论的最后一个话题是Volker Dusch的“从Dev到Ops and Beyond –完成它”。 这是我从第一首曲目中最欣赏的演讲,无论是其内容还是沃尔克所做的引人入胜的演讲,沃尔克都谈到了DevOps方法及其经验。 我真正欣赏的是,他使我对如何完成和部署软件有了新的认识。 他谈到了与公司中具有不同角色的人进行交流以取得产品成功的重要性。 此外,他建议了许多可以用来改善开发过程的工具,例如Jenkins,Trello,Graphite,Puppet等。

第二天 (Day 2)

The best of Day 2 started with Jonathan Klein and his talk “High Performance PHP” which gave several tips and tricks for speeding up your PHP application. During the presentation he showed a performance comparison table of several languages and frameworks (which I saw just a few days earlier in a comment on this very website, high five for us!). He began with a discussion about why we shouldn’t really care about micro optimizations, and even more so premature optimizations. Then, he taught me this very important lesson I want to share with you: A website is considered fast if it loads in about 2 seconds, but given that 80% of the load time is on the client side, you’ve just 400ms to put out all the code from your server-side processes. Network time can be about 100ms, so really you have just 300ms to finish your processing!

第2天的最佳成绩始于Jonathan Klein和他的演讲“ High Performance PHP”,其中提供了一些加快PHP应用程序速度的技巧和窍门。 在演示期间,他展示了几种语言和框架的性能比较表 (几天前我在这个网站的评论中看到了该表,对我们来说是最高的五分!)。 他首先讨论了为什么我们不真正关心微优化,甚至更不关心过早的优化。 然后,他教了我一个非常重要的课程,我想与您分享:如果网站在大约2秒钟内加载,则该网站被认为是快速的,但是鉴于80%的加载时间是在客户端,因此您只需400毫秒即可从服务器端进程中提取所有代码。 网络时间大约为100毫秒,因此实际上您只有300毫秒才能完成处理!

He also taught how to profile code using tools like JMeter, and employ caching using APC and Memcache. It impressed me how simply upgrading your PHP version can sometimes gain up to a 70% improvement in speed, plus another 30-40% by using an OPcode cache!

他还教过如何使用JMeter之类的工具来分析代码,以及如何使用APC和Memcache进行缓存。 它给我留下了深刻的印象,即简单地升级PHP版本有时可以使速度提高70%,而通过使用OPcode缓存又可以使速度提高30-40%!

Luka Kladaric presented “LAMP Scaling 101” that was meant for anyone hitting the limits of their single server (VPS or similar) and facing the challenge of scaling up from that. I enjoyed his talk because it was made using a modern tool, reveal.js, with few words so people could focus on his words. Some Luka’s suggestions were: separate static contents from the dynamic and serve the former using a CDN; caching for PHP content; scaling databases (replication, clusters, sharding and so on); and scaling storage.

Luka Kladaric展示了“ LAMP Scaling 101”,该产品适用于任何达到其单一服务器(VPS或类似服务器)极限并面临从中扩展的挑战的人 。 我之所以喜欢他的演讲,是因为它是使用现代工具Reveal.js制作的,而且很少用词,因此人们可以专注于他的话。 Luka的一些建议是:将静态内容与动态内容分开,并使用CDN为前者提供服务; 缓存PHP内容; 扩展数据库(复制,群集,分片等); 和扩展存储。

The last talk I want to mention from Day 2 is the one by Elliot Lynde, who spoke about FBMock, an open-source PHP mocking framework created by Facebook, where he works. He described and showed some examples of how it can simplify the creation of mocks compared other frameworks like PHPUnit. It seems a very promising project, but I can’t give an honest assessment of it since I haven’t tried it and don’t have much experience with mocking.

我想在第2天提到的最后一个演讲是Elliot Lynde的演讲,他谈到了FBMock,他是他工作的Facebook开源PHP模拟框架。 他描述并显示了一些示例,与其他类似PHPUnit的框架相比,它可以简化模拟的创建。 这似乎是一个非常有前途的项目,但是由于我没有尝试过并且没有太多的模拟经验,因此我无法对其进行诚实的评估。

There’s not enough space to write about, but worth mentioning also, were the talks of Richard Tuin about automated acceptance testing with Behat and Mink, and the final keynote by Jacopo Romei. The latter stressed the importance of learning and self-improvement not simply related with programming skills, but also about the way developers approach their work and life.

没有足够的空间来写,但值得一提的是,Richard Tuin关于与Behat和Mink进行自动验收测试的讨论,以及Jacopo Romei的最后主题演讲。 后者强调学习和自我完善的重要性,不仅与编程技能有关,而且与开发人员处理工作和生活的方式有关。

最后说明 (Final Notes)

I found it surprising that while the rest of the world is rejecting QR codes, at the conference I saw a lot of them. This is quite interesting given the general opinion well summarized by the website www.wtfqrcodes.com.

我感到惊讶的是,尽管世界其他地方都拒绝QR码,但在会议上我看到了很多。 鉴于www.wtfqrcodes.com网站对一般意见进行了很好的总结,这非常有趣。

But as a conclusion, I want to give my opinion about the presentations’ slides. Although a lot of topics were very interesting, it didn’t seem the same care had gone into slide preparation that had gone into topic selection and research. All presentations had only a few to none images. Moreover, they completely lacked, apart from a couple of cases, humorous images that are very important to let the users take those 5 seconds of pause and allow them to connect with the speaker (more on good presentations). In a time where HTML5 and JS libraries rule, I don’t think there should be any more room for the old 90’s-style presentation with bullet points.

但最后,我想对演示文稿的幻灯片发表自己的看法。 尽管很多主题都非常有趣,但是幻灯片准备工作似乎并没有像选择和研究那样受到关注。 所有演示都只有很少甚至没有图像。 而且,除了少数几个案例之外,他们完全没有幽默的图像,这些图像对于让用户进行5秒钟的暂停并允许他们与演讲者保持联系非常重要(更多有关好的演示文稿 )。 在HTML5和JS库占主导地位的时代,我认为旧的90年代风格的项目要点没有更多的空间。

Of course this article is only a short review of what I experienced and learned at phpDay 2013, but hopefully it gives you an idea of some topics that you should be aware of and what you can start playing around with to improve your PHP skills, and even inspire you to attend a conference near you!

当然,本文只是我在phpDay 2013上所学到的知识的简短回顾,但希望它使您对一些您应该了解的主题以及可以用来提高PHP技能的知识有所了解,并且甚至激发您参加您附近的会议!

Image via Fotolia

图片来自Fotolia

翻译自: https://www.sitepoint.com/phpday-2013-news-and-highlights/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值