在写完 【总结1】PhpStorm配置XDebug(远程)调试PHP 后,发现PhpStorm调试PHP还有一个技巧,如下图所示:
路径:File -> Settings -> Languages & Frameworks -> PHP -> Debug
在写完 【总结1】PhpStorm配置XDebug(远程)调试PHP 后,发现PhpStorm调试PHP还有一个技巧,如下图所示:
路径:File -> Settings -> Languages & Frameworks -> PHP -> Debug
如何计算一段php程序代码的执行消耗时间?
对于系统时间,可能很多同学对php的time()函数并不陌生,可惜time()函数只返回自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数。
没错,是秒。我们一段php程序代码执行耗时可能并不超过一秒,所以time()并不适用。php提供了一个更为精确的时间函数microtime():
microtime — 返回当前 Unix 时间戳和微秒数。
格式: mixed microtime ([ bool $get_as_float ] )
如同 in 运算符一样,使用 for in 循环遍历对象属性时,也将往上遍历整个原型链。
// Poisoning Object.prototype Object.prototype.bar = 1; var foo = { moo: 2 }; for(var i in foo) { console.log(i); // prints both bar and moo }
判断一个属性是定义在对象本身而不是继承自原型链,我们需要使用从 Object.prototype 继承而来的 hasOwnProperty 方法。
hasOwnProperty 方法是 JavaScript 中唯一一个处理对象属性而不会往上遍历原型链的。
// Poisoning Object.prototype Object.prototype.bar = 1; var foo = { goo: undefined }; foo.bar; // 1 'bar' in foo; // true foo.hasOwnProperty('bar'); // false foo.hasOwnProperty('goo'); // true
JavaScript 并没有类继承模型,而是使用原型对象 prototype 进行原型式继承。
尽管人们经常将此看做是 JavaScript 的一个缺点,然而事实上,原型式继承比传统的类继承模型要更加强大。
JavaScript 中的一切都可以视为对象,除了两个特例:null 和 undefined。
false.toString(); // 'false' [1, 2, 3].toString(); // '1,2,3' function Foo(){} Foo.bar = 1; Foo.bar; // 1
socket,即套接字是一种通信机制,凭借这种机制,客户/服务器(即要进行通信的进程)系统的开发工作既可以在本地单机上进行,也可以跨网络进行。也就是说它可以让不在同一台计算机但通过网络连接计算机上的进程进行通信。也因为这样,套接字明确地将客户端和服务器区分开来。
刚入门的同学觉得自己能用PHP写出各种程序就很NB了,但其实作为一个专业程序员,你得有个全面点的知识结构。单元测试总得听过,文档工具总得用用,Xss总得会防。推荐大家把《PHP the right way》这篇长文仔细读读,最好每一段都弄明白了。
阅读中文版:PHP之道
又到了写年终总结的时候了。每当这个时候思绪总是翻江倒海,因为太久没有反思和总结的缘故,一年才总结一次,确实是有点久,欠的账的太多,梳理起来有点费劲。这里依旧还是写跟点跟工作/技术相关的总结。
2017这一年自己从前到后主导了个小项目,技术体系使用的openresty + spring boot/cloud + postgres + statsd + graphite + grafana + sentry + elasticsearch + kafka + docker + kubernetes。这一年依旧是延续上面的技术架构进行深入:
岗位要求:
1、熟悉 PHP 程序执行的生命周期、PHP 的各项配置、PHP 的内存模型、业界对 PHP 的合理用法、常用的工具链,例如 Composer;
2、改进 PHP 的框架代码,能够考虑开发环境、测试环境与生产环境;理解分布式系统中代码的发布、回溯;
3、对OOP,MVC有较为深入的认识,能熟练使用常用的设计模式;
4、精通MySQL索引、数据库设计,保证设计出来的架构能在生产环境高效安全的运行;
5、了解C语言的基本语法,能看懂常见软件的源代码;
6、理解整个网站的技术栈,包括前端浏览器的渲染、第三方 CDN 的页面缓存、负载均衡、应用服务器、后台脚本、缓存数据、持久化等;
。。。。。。