Lei Xia

Sr. Software Engineer | Solution Architect

抒写代码,尽享生活,筑就未来。

订阅 · 赞赏

avatar

ReactNative在NavigatorIOS中隐藏TabBar

2017年3月27日 · 7 字 · 1 分钟

ReactNative常用的一种布局是TabBar+Navigator布局,底部几个固定的标签,顶部有个导航栏,如果进入子页面的话,底部TabBar是需要隐藏起来的。 不过官方没有提供这个属性,github和StackOverflow上的答案有个bug,平时没什么问题,如果手指左滑一点然后松开,这时候路由没切换,但是TarBar会显示,然后不消失。 目前能够完美解决这个问题的方案如下: 找到React/RCTWrapperViewController.m 查找 willShowViewController 在该方法最开始的地方加入self.

nginx反向代理websocket

2017年3月20日 · 24 字 · 1 分钟

websocket协议基于http协议升级而来,所以nginx可以直接反向代理websocket,只需要加上必要的header即可。 假设websocket监听端口为18080,编辑nginx配置文件: server { listen 80; server_name socket.

PHP7编译sphinx扩展

2017年2月28日 · 26 字 · 1 分钟

最近在做基于sphinx的全文搜索引擎,使用PHP进行数据读取,但是服务器使用的PHP版本是PHP7,pecl.php.net中没有提供PHP7的版本。手痒点到source code中看了一下。 看到源代码中有的headers中有个php7的,点击shortlog进去看了一下,最新更新日期是2017-02-10,挺新的,应该是针对PHP7开发的版本,只不过未发布编译版本,想着linux下的软件有源代码基本都能自行编译。故选择了最新的PHP7快照下载。 开始安装 wget http://git.

NodeJs socket.io连接参数中传入查询字符串

2017年2月8日 · 37 字 · 1 分钟

socket.io一般会配合room进行消息转发,目前我的做法如下: 服务端 io.on('connection',function(socket){ socket.on('join',function(roomId){ socket.join(roomId); }); }); 客户端 var socket = io('http://localhost:8888'); socket.

使用公钥登录Linux

2017年1月23日 · 24 字 · 1 分钟

服务器密码往往是随机字符串,难以记忆,通过配置公钥登录的方式来进行登录。 准备 服务器A 192.168.1.2 客户机 服务器B 192.

Yii2 migrate使用

2017年1月20日 · 102 字 · 1 分钟

试想一个很简单的场景,在使用Yii2开发时,如果对已经有数据的数据表结构进行编辑的话,需要同步数据结构需要在本地导出一份SQL,放到线上去执行SQL,非常的不方便。 而有了Yii2 migrate工具之后,这个问题简直不是问题。以下对常用的表结构操作进行演示。 关键命令 创建migrate yii migrate/create [名称] 执行migrate升级 yii migrate 执行migrate降级 yii migrate/down 创建新表 执行创建migrate命令后,项目文件夹下migrations中会多出m170119_093917_[名称].

在windows上安装jekyll

2017年1月20日 · 151 字 · 1 分钟

早些时候用的ubuntu,安装jekyll确实挺简单,可能是终端强大吧。最近工作环境切换到windows,无奈想写博文的时候却发现需要切换到ubuntu,不是那么方便。打算在windows上部署一下jekyll。 软件环境 Windows 10 企业版 Ruby 2.

nginx泛域名解析配置

2016年12月28日 · 49 字 · 1 分钟

最近一个项目需要承载高并发请求,所以在后端语言上选择了NodeJs,但是nodejs有时候读取不到请求的主机名,所以想到使用nginx+nodejs的方式进行处理。 Nginx 配置 upstream io_nodes { server 127.

微信开放平台公众号第三方平台网页开发域名问题

2016年12月28日 · 5 字 · 1 分钟

先来看一下微信官方定义: 第三方平台在代公众号做网页授权、调用JS SDK等网页开发工作时所用的域名,可填写3个,以;隔开。为了满足开发者管理需要,符合以下要求的下级域名也将生效:$APPID$.wx.abc.com($APPID$为公众号的AppID的替换符) 只能说微信文档这个 wx.abc.com误导了我好久,试过的域名是APPID.wx.abc.com,死活不行,后来发现公司域名整个就是用wx.abc.com替换,不是abc.com,所以最终进行授权的域名域名是(假设appid为testappid,填写的网页开发域名为example.com):testappid.example.com,可以根据这个做泛域名解析。

使用PM2守护PHP命令行程序

2016年12月22日 · 119 字 · 1 分钟

pm2是nodejs的一个模块,用来进行进程管理,刚开始以为只能做nodejs脚本的管理,后来发现通过配置之后也可以实现任意进程的守护。 安装 npm install pm2 -g 使用 启动 启动php文件 pm2 start app.