0%

工作

远程办公

疫情期间进行了一个多月的远程办公,很新鲜。对于我们这岗位,能不被打断是件多么幸福的事啊~感觉我在家产出的效率也是棒棒的。

Read more »

概述

PHP-CPP是一个用来开发PHP扩展的C++库,它提供了一个文档完善且易于使用的类集合,这些类可以用于为PHP构建本地扩展。有完整的文档

Read more »

前段时间读了云风翻译的《程序员修炼之道》,里面提到了契约式设计(Design by Contract),在多人合作项目中,规范是大家共同履行的契约,但是大多数时候,我们总是在不经意间忽视规范的重要性。如果能在开发过程中,通过契约设计,也许能免掉不少麻烦,最重要的是,提高软件的可靠性和健壮性。

Read more »

php-ml

php-ml是波兰开发者Arkadiusz Kondas的作品,前段时间刚翻译了他关于PHP在机器学习领域的看法「3 Reasons Why PHP is Not Yet Perfect for Machine Learning」。php-ml的出现丰富了PHP生态,让PHP开发者也能写机器学习应用,这篇文章讲一讲文本分类问题在php-ml中是怎么解决的。

Read more »

前言

存档,待完善..

正文

想要做抢占式调度,对于PHP来说,有两个途径

  1. 当前执行协程在一定条件下主动让出
  2. 额外开线程,监控当前执行协程时间,超过设定值则让出当前执行协程
Read more »

前言

odbc在connect的时候会返回资源句柄,但是如果返回false就蒙蔽了。如果有记录php错误日志,会得到下面的内容

1
odbc_connect(): SQL error: [unixODBC][Cloudera][ODBC] (11560) Unable to locate SQLGetPrivateProfileString function., SQL state S1000 in SQLConnect

google一下发现和动态库有点关系,只好看下系统调用情况

Read more »

中文分词

对于英文句子来说,可以通过空格来切分单词,如

1
2
// 今天天气不错
the weather is nice today

可以很简单的把该句子中的单词区分出来

1
the/weather/is/nice/today
Read more »

问题背景

laravel下载大文件服务,浏览器无法承载大文件下载,会崩溃。改为提供api,外部使用curl或者wget等工具下载。为什么没用scp呢?因为服务器权限问题,这个功能是为了解决浏览器下载大文件崩溃而生的。

Read more »

背景

有个功能是在web下载大文件,但是太大的文件,在浏览器下载会崩溃。想了下,能不能改为API的方式,使用CURL来下载?

一开始不想暴露api,这个api不常用,因为绕过了用户会话(不用登陆),并不安全,如果被恶意利用:数据会被泄露,服务器会被拖慢等等安全隐患。

于是想过把通过shell文件,把api放在里面,然后使用shc来加密shell文件为二进制文件。这样一来,api就“看不到”了,有一定的安全性,只要不被反编译,应该是目前最可靠的方法。

Read more »

写在前

上一篇文章laravel队列中的timeout参数需要使用php7.1,最后结论时,我说这个问题只能升级php7.1才能解决,在今天的思考和实验中发现,还可以“曲线救国”!!啪啪打脸。

上一篇文章,在读了laravel源码知道,在异步队列中,laravel使用了一个php7.1才有的函数pcntl_async_signals,这让我瞬间失去了所有想法,虽然升级PHP7是大趋势,但是有些依赖库可能在支持上还不完善。当然,大部分时候建议是升级的,PHP5很快就不进行安全维护了啊。

Read more »

问题

php-fpm的 request_terminate_timeout 参数,当设置为0时,worker进程在处理请求时就没有超时处理,0表示无限制,也就是说,用户在查询SQL时,如果该条SQL耗时非常久,worker也不会主动关闭该请求。这里就会出现一种常见的情况:用户看到一直不响应,那就刷新重来,重复查询操作。由于前一个worker还在等待impala服务返回数据,没执行完毕,不能恢复空闲状态,所以master只会把该请求分配给其他worker执行。长此以来,impala服务面对这么多耗时SQL,CPU和内存疯长,处理速度下降。fpm的“僵死”worker越来越多,web服务被拖慢。

Read more »

说明

  • mhue:自研的类似hue的hadoop查询系统

这个字段有点大

有一个新表,记录游戏前端发来的appdata数据,这个appdata就是本次问题的主角,存储的是玩家手机里所有应用的安装信息(应用名称、安装时间等等)。在这里,刚开始我很惊讶,为什么这些数据如此容易就能获得,直觉告诉我,这些信息非常敏感。后来才知道,原来也是需要授权的,高版本的安卓系统更难获得,而苹果手机就不用想了。了解后才知道,原来这些数据是用来做机器学习的,或许能够通过这些数据,推测出玩家的兴趣、性格等等?看起来似乎有一定的研究价值。不过,这里有一个问题,就是这个app_data实在是太“大”了,一个字段就占了几K到几十K不止(目前的实际数据,最大约47K),而且,随着玩家手机里面的应用增加而增加,也就是说,有可能会更多。这些信息都使用json格式发送到数据库中。

Read more »

日志统计分析架构

在日志统计分析中,通常包括以下的模块

  • 前端日志上报(js上报url、user_agent等等)
  • 打点服务器(nginx)
  • 统计日志(access_log)
  • 分析日志(后端程序)
  • 保存分析结果(db)
Read more »

写在前

今天有一个业务,前台是一个供用户选择条件进行查询的功能。选择完毕后点击查询,前台使用get方式发送打包好的参数列表到后台(Controller),持久层拿到参数列表后拼装到SQL中,使用jdbc连接oracle拿数据。

Read more »

前言

今天是世界上最好的语言革命性的一天,PHP7问世了!实际上我使用php只有一年半多一点,但是却被深深地吸引住,所以也容我感慨一下吧。

大一下学期,我们学校开始教Java(我的专业方向就是Java),那时班上的很多同学早在上学期就自学了Java,而且学的非常好。我跟着课程的进度一步步的下载,安装,配置环境,然后写一些简单的程序,调试。这个过程非常煎熬,因为在配置环境的时候就出现了很多问题,使用eclipse来写代码,由于当时电脑配置并不好,所以写代码的时候总是会出现“未响应”,然后卡顿很长时间,更不用说MyEclipse了。苦闷的心情还历历在目~

当时学校还为我们开设了一门PHP课程,我第一次使用的时候感觉很神奇,弱类型的概念还不是很清晰,只是觉得不需要再去考虑变量的类型,php为我们都处理好了。而且网上PHP的环境非常多,其中xampp就是一个著名的跨平台环境,一键安装,可以马上看到自己的代码运行的结果,我可以更关注自己写的逻辑和正确性,不得不说实在是太好用了。最后这门课需要结合另一门jQuery课做一个课程设计,我一个星期就敲出来了,还为我们赢得了不少掌声。就这样,一直用到现在,与php牵连在了一起。

Read more »

这两天在做数据库,发现一个很多网友都头疼的问题,就是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 使用的。

Read more »