/** * 计算两个坐标之间的距离(米) * * @param float $fP1Lon 起点(经度) * @param float $fP1Lat 起点(纬度) * @param float $fP2Lon 终点(经度) * @param float $fP2Lat 终点(纬度) * @return int */ function map_get_distance($fP1Lon, $fP1Lat, $fP2Lon, $fP2Lat) { $fEARTH_RADIUS = 6378137; // 角度换算成弧度 $fRadLon1 = deg2rad($fP1Lon); $fRadLon2 = deg2rad($fP2Lon); $fRadLat1 = deg2rad($fP1Lat); $fRadLat2 = deg2rad($fP2Lat); // 计算经纬度的差值 $fD1 = abs($fRadLat1 - $fRadLat2); $fD2 = abs($fRadLon1 - $fRadLon2); // 距离计算 $fP = pow(sin($fD1 / 2), 2) + cos($fRadLat1) * cos($fRadLat2) * pow(sin($fD2 / 2), 2); return intval($fEARTH_RADIUS * 2 * asin(sqrt($fP)) + 0.5); }
Java 中的集合(set)去重很方便,PHP 中的数组值去重,就更加方便,一个函数搞定:array_unique(),Golang 中就比较苦逼了,官方没有提供对“切片去重”的功能,而项目中,又经常用到这个功能,,我们可以模拟 Java 集合的功能,实现 Golang 版集合的同时,顺便把 去重 和 排序 做了,它的主要实现原理是:利用 map 数据 不允许键重名 的特点
,参考代码如下:
自带的 软件包源 不好用,卡顿严重,准备替换它:
方式一:deepin linux 如何更新或者更换软件源(注意:好像不起作用)
方式二:【推荐】利用 阿里云 提供的镜像快速更换本地的 yum 源 (CentOS/Ubuntu/Deepin 等系统都被支持),找到“deepin”,点击右边的“帮助”,会告诉你如何替换为“阿里云源”
git pull 时,报错:
Git Pull Failed: refusing to merge unrelated histories
解决方案:
git pull origin master --allow-unrelated-historie
官方地址:http://commons.apache.org/
Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动。下面是我这几年做开发过程中自己用过的工具类做简单介绍。
如果是编译安装 MySQL,则写成 --with-mysql=mysql 安装路径,如:
--with-mysql=/home/wenjianbao/alidata/server/mysql/mysql-5.6 # 注意:路径不要以 / 结尾
IBus(Sun PinYin)是 Ubuntu 12 自带的中文输入法,是由Sun公司开发的。默认情况下,有些操作习惯跟Windows下的“搜狗输入法”不一样,不过呢,是可以个性化定制/设置的。
在终端执行命令:
$ /usr/lib/ibus-sunpinyin/ibus-setup-sunpinyin
打开 “Sun PinYin Setup” 对话框:
CentOS 6.8 自带的 Git 版本为 1.7.1,比较旧,yum 安装也停留在 1.7.1,还是源码编译安装吧。
1. 下载源码:
wget -c https://github.com/git/git/archive/v2.12.1.tar.gz
2. 卸载老版本Git
yum remove git
jianbao@jianbao-pc:/www/软件开发$ tree . ├── PPT │ └── PHP性能监控与优化.pptx ├── 电子书 │ ├── Linux.环境C程序设计.徐诚.扫描版.pdf │ └── UNIX环境高级编程(中文第三版)_扫描版.pdf ├── 视频 │ └── PHP_C扩展 │ ├── PHP扩展开发教程.mp4 │ ├── swoole第三节第4部分.mp4 │ ├── swoole视频教程第3节 swoole服务器的进程_线程模型.mp4 │ └── 其他 │ ├── swoole-chat第二节第二部分.mp4 │ ├── swoole-chat第二节第三部分.mp4 └── 手册 └── php_enhanced_zh.chm
方法一:定义时赋值
struct Member test = {-10, 3.141590, "method one", 0.25};
注意:对应的顺序,不能错位。