[周知] Google字体加速从15号起停止服务
Google fonts 目前在中国境内已经可以正常使用, 不再需要境内/外加速服务.
Google fonts 目前在中国境内已经可以正常使用, 不再需要境内/外加速服务.
lanout.tk 域名忘记续期被回收了, 懒得折腾了, 索性直接停止服务吧.
项目地址: Awheel
当前版本: v1.5.0
PHP要求: >=5.4.0
基本功能: 路由/中间件/控制器/控制台/组件/配置加载/输入&输出.
框架最初是为了满足公司业务需求一步步造出来的, 但是从一开始就很独立的没有柔任何业务代码进去, 只保留了基本功能, 除此以外的功能全部需要自行扩展, 因为我觉得框架提供的功能越多学习和推广的成本就越高, 出现 Bug 的几率也就越高, 反倒不如都拆分成组件, 而且 Composer 那么好用, 扩展起来分分钟的事.
所以没有自带模板引擎, 需要使用组件功能自行扩展, 只需要继承并实现 Component
接口的 getAccessor
和 register
方法就可以使用, 目前我提供了 Smarty, Blade, SPA 三种模板扩展.
也没有自带 ORM 组件, 但是这里提供一个扩展 medoo-model 这是一个轻量级的数据库访问封装, 不管是名字还是功能我都非常喜欢?, 也可自行扩展 Eloquent ORM
或 Doctrine ORM
稍后我会给出一个 Eloquent ORM
的封装扩展给喜欢的人使用
把 VPS 上的 Ngrok 用 Alpine 重新打包了一下, 体积小了很多
root@vultr:/opt/ngrok# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ngrokd.alpine latest d891322d86e4 2 minutes ago 14.03 MB
alpine 3.5 4a415e366388 11 days ago 3.987 MB
root@vultr:/opt/ngrok# du -sh ./bin/ngrokd
9.6M ./bin/ngrokd
root@vultr:/opt/ngrok# ldd bin/ngrokd
not a dynamic executable
因为依赖库的问题, ngrok 编译的时候需要增加 CGO_ENABLED=0
来指定静态编译, 所以生成的可执行文件会比较大.
例如: root@vultr:/opt/ngrok# CGO_ENABLED=0 make release-server
.
感觉可以把其它东西也都挪到 docker 了
周末两天在家折腾 React Native
碰到的问题,被坑了很久。。。
问题还原:
首页在 Xcode
下 Images.xcassets
里面明确的有这个图片。React Native
导航的调用也没问题:
<TabBarIOS.Item
title="列表"
icon={require('image!nav')}
onPress={() => {
this.setState({
selectedTab: 'homeTab'
});
}}
>
</TabBarIOS.Item>
但是编译运行就报错: Unable to resolve module image!nav from xxx
, 如果不编译,只是在模拟机里面 reload 也是一样的提示。
最后发现其实只要先
在 Xcode 里面添加图片资源,然后编译,运行,再在 React Native
代码里面调用,就不会再出错,而且下次编译也不会出错。
ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放。
网络架构如下图所示:
介绍和图片来自: http://www.oschina.net/p/ngrok
其中应用场景最多的是内网穿透, 把局域网内的一些服务暴露到公网.
例如支付对接的异步通知, 微信开发者模式测试等.
Ngrok 是一个内网穿透工具, 用来将内网的一些服务器暴露到公网上, 目前支持 HTTP 和 TCP 端口转发.
Ngrok 官方提供的服务器因为一些原因导致可用率不高, 但是他们开源了 1.x
版本的服务器端代码(目前最新是 1.7
), 这样就可以自己搭建了.
这个比较简单, 参考官方的文件就可以, 步骤无非就是: 拿到代码, 安装 go, 进行编译.
文档地址: https://github.com/inconshreveable/ngrok/blob/master/docs/DEVELOPMENT.md
编译完成后, 执行 ngrokd -h, 输出如下:
Usage of bin/ngrokd:
-domain="ngrok.com": Domain where the tunnels are hosted
-httpAddr=":80": Public address for HTTP connections, empty string to disable
-httpsAddr=":443": Public address listening for HTTPS connections, emptry string to disable
-log="stdout": Write log messages to this file. 'stdout' and 'none' have special meanings
-log-level="DEBUG": The level of messages to log. One of: DEBUG, INFO, WARNING, ERROR
-tlsCrt="": Path to a TLS certificate file
-tlsKey="": Path to a TLS key file
-tunnelAddr=":4443": Public address listening for ngrok client
参数比较简单, 指定域名, http 端口, 日志, ssl 证书, 隧道端口.
这里有个问题就是, 80, 443 已经让给 nginx 使用了, 虽然 ngrok 能指定到其它端口, 但是在客户端连接后:
一个是 https 识别错误, 一个是访问的时候加端口麻烦, 就算用 nginx 再次代理, 但是客户端显示的端口是没有变化的.
利用git来进行web开发的时候,通常涉及到文件权限的更改是不需要让git变更的。所以我们需要让git来排除chmod更改。
我们打开shell, cd到git根目录,执行命令: git config core.filemode false
然后我们再来执行git status就会发现少了很多需要变更的文件
建议设置到全局, 命令改为: git config --global core.filemode false
今天被一个同事一次提交近300个文件的更改(全部chmod...)吓到了, 提交前也不对比下, 不过 Gitlab 居然没有卡死.
参考: Git忽略chmod更改
在统一开发环境上很多团队很多公司做过很多尝试, 比如统一使用一个集成包, 使用 vagrant 等.
大部分都是在 Windows 下开发, 但是很多优秀的扩展和特性不被 Windows 支持,
同时很多人对 *nix 操作不熟练, 并且 vagrant 有个问题(其实是 VirtualBox 的问题)就是文件锁, 有时会导致 svn 无法提交/更新.
这里尝试给出另外一个方案, 个人觉得可行性还是很大的.
本文记录的方案只是个预案, 还没在公司实际推行.
本文演示环境使用 Ubuntu Server 14.04 和 Windows7
问题如下, 输入到 ins
, 一按 tab
键... 真是够了!!
fengqi@fengqi-MacBookPro ~$ brew ins
instal install
instal
是 install
的别名, 就是说允许少输入一个 l
也能用,
但是我想 输入 ins
然后按 tab
补全到 brew install xxx
啊
治疗办法是:
打开 vi /usr/local/Library/Homebrew/global.rb
, 找到如下部分
'ln' => 'link',
'instal' => 'install', # gem does the same
'rm' => 'uninstall',
删除 'instal' => 'install'
, 保存退出.