工作
远程办公
疫情期间进行了一个多月的远程办公,很新鲜。对于我们这岗位,能不被打断是件多么幸福的事啊~感觉我在家产出的效率也是棒棒的。
前段时间读了云风翻译的《程序员修炼之道》,里面提到了契约式设计(Design by Contract),在多人合作项目中,规范是大家共同履行的契约,但是大多数时候,我们总是在不经意间忽视规范的重要性。如果能在开发过程中,通过契约设计,也许能免掉不少麻烦,最重要的是,提高软件的可靠性和健壮性。
通过查阅官网可以知道,用户特定变量无法在除impala-shell
外使用,这对使用odbc、jdbc或thrift的客户端来说,SQL维护会造成很大困扰 —— 在长SQL中改变一个或多个条件的值
上一篇[Redis:排查 read error on connection 小记],排查了redis pop list场景下断网引发read error on connection
错误的情况,文末留下一个疑问,就是在pubsub场景下,该如何应对断网?(客户端和服务端不可达,触发保活机制)
在这篇文章,我们假设网络在某时会中断十几分钟
php-ml是波兰开发者Arkadiusz Kondas的作品,前段时间刚翻译了他关于PHP在机器学习领域的看法「3 Reasons Why PHP is Not Yet Perfect for Machine Learning」。php-ml的出现丰富了PHP生态,让PHP开发者也能写机器学习应用,这篇文章讲一讲文本分类问题在php-ml中是怎么解决的。
版本信息
一个PHP常驻内存进程
,连上Redis
后,定时做brpop
操作,阻塞时间为10s
。问题出现在,几天(不定时)后,该进程就会僵死
,表现为:
上一篇文章laravel队列中的timeout参数需要使用php7.1,最后结论时,我说这个问题只能升级php7.1才能解决,在今天的思考和实验中发现,还可以“曲线救国”!!啪啪打脸。
上一篇文章,在读了laravel源码知道,在异步队列中,laravel使用了一个php7.1才有的函数pcntl_async_signals,这让我瞬间失去了所有想法,虽然升级PHP7是大趋势,但是有些依赖库可能在支持上还不完善。当然,大部分时候建议是升级的,PHP5很快就不进行安全维护了啊。
有一个新表,记录游戏前端发来的appdata数据,这个appdata就是本次问题的主角,存储的是玩家手机里所有应用的安装信息(应用名称、安装时间等等)。在这里,刚开始我很惊讶,为什么这些数据如此容易就能获得,直觉告诉我,这些信息非常敏感。后来才知道,原来也是需要授权的,高版本的安卓系统更难获得,而苹果手机就不用想了。了解后才知道,原来这些数据是用来做机器学习的,或许能够通过这些数据,推测出玩家的兴趣、性格等等?看起来似乎有一定的研究价值。不过,这里有一个问题,就是这个app_data实在是太“大”了,一个字段就占了几K到几十K不止(目前的实际数据,最大约47K),而且,随着玩家手机里面的应用增加而增加,也就是说,有可能会更多。这些信息都使用json格式发送到数据库中。
获取对象的公有属性和值,很自然的会想到 get_object_vars 这个函数,可以这样写,
今天看到一个有趣的网站,这是个通过游戏的形式学习python的网站,玩到了第二关pythonchallenge,很有意思,虽然作者的本意是让玩家学习python,但是我决定用PHP…
没有踩过字符编码问题的程序生涯是不完整的,还记得曾经还踩过Apache+PHP+MySQL的编码问题,不过那时候没总结下来,今天遇到了导出文件的编码问题,一起来好好研究一下:)
推荐一下这篇文章十分钟搞清字符集和字符编码,可以快速了解一下字符编码的知识
今天是世界上最好的语言革命性的一天,PHP7问世了!实际上我使用php只有一年半多一点,但是却被深深地吸引住,所以也容我感慨一下吧。
大一下学期,我们学校开始教Java(我的专业方向就是Java),那时班上的很多同学早在上学期就自学了Java,而且学的非常好。我跟着课程的进度一步步的下载,安装,配置环境,然后写一些简单的程序,调试。这个过程非常煎熬,因为在配置环境的时候就出现了很多问题,使用eclipse来写代码,由于当时电脑配置并不好,所以写代码的时候总是会出现“未响应”,然后卡顿很长时间,更不用说MyEclipse了。苦闷的心情还历历在目~
当时学校还为我们开设了一门PHP课程,我第一次使用的时候感觉很神奇,弱类型的概念还不是很清晰,只是觉得不需要再去考虑变量的类型,php为我们都处理好了。而且网上PHP的环境非常多,其中xampp就是一个著名的跨平台环境,一键安装,可以马上看到自己的代码运行的结果,我可以更关注自己写的逻辑和正确性,不得不说实在是太好用了。最后这门课需要结合另一门jQuery课做一个课程设计,我一个星期就敲出来了,还为我们赢得了不少掌声。就这样,一直用到现在,与php牵连在了一起。
这两天在做数据库,发现一个很多网友都头疼的问题,就是C#连接Access数据库的时候显示“不可识别的数据库类型”。
很多人在做Access数据库的时候总是默认保存它的后缀名“.accedb”,然后用Provider=Microsoft.Jet.OLEDB.4.0;Data Source=…去连接Access数据库。
首先第一个问题就是C#是不识别后缀“.accedb”的,因此只能将该格式转换为C#识别的“.mdb”。
然后很多人会发现还是提示“不可识别的数据库类型”!其实原因就在于“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=…”。因为那个 Microsoft.Jet.OLEDB.4.0, 是针对低版本的 Access 使用的。