在nginx中可以对域名进行跳转如:所有对www.aaa.com的访问都redirect到www.bbb.com
1 | server |
符号解释:
^ 匹配字符串的开始
/ 匹配域名的分隔符
. 匹配除换行符以外的任意字符
‘ 重复零次或更多次
(.) 匹配任意字符
.* 匹配任意文本
$ 匹配字符串的结束
- Nginx 禁止ip访问
1 | server{ |
在nginx中可以对域名进行跳转如:所有对www.aaa.com的访问都redirect到www.bbb.com
1 | server |
符号解释:
^ 匹配字符串的开始
/ 匹配域名的分隔符
. 匹配除换行符以外的任意字符
‘ 重复零次或更多次
(.) 匹配任意字符
.* 匹配任意文本
$ 匹配字符串的结束
1 | server{ |
Linux的硬盘识别:
一般使用”fdisk -l”命令可以列出系统中当前连接的硬盘设备和分区信息.
新硬盘没有分区信息,则只显示硬盘大小信息.
1 | fdisk -l |
1 | Disk /dev/xvdb: 1073.7 GB, 1073741824000 bytes, 2097152000 sectors |
1 | fdisk /dev/xvdb |
1 |
|
项目地址:
https://github.com/ageitgey/face_recognition
依赖:
face_recognition 1.2.3
https://pypi.org/project/face_recognition/
face-recognition-service,用flask作为face_recognition的web服务
https://github.com/tabvn/face-recognition-service
参考资料:
https://www.cnblogs.com/freeweb/p/7699996.html
https://blog.csdn.net/qq_19707521/article/details/80407369
一般手机拍照图片都有图片创建时间,有时候时间久了忘记是什么时候拍的啦,后来想是否是可以通过python批量处理图片,把拍照时间显示到照片上。
下面是我写的一个脚本,可以批量处理图片,显示图片时间。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41from PIL import Image, ImageDraw, ImageFont
from datetime import datetime
import os
import exifread
font = ImageFont.truetype(
'/Users/daren/PycharmProjects/MyFirstScrapyProject/MyFirstScrapyProject/spiders/DMFT1553353872846-2.ttf', 90)
def add_time(img, text):
draw = ImageDraw.Draw(img)
fillcolor = "#ffffff"
text_size_x, text_size_y = draw.textsize(text, font=font)
text_xy = (img.size[0] - text_size_x - 50, img.size[1] - text_size_y * 3)
draw.text(text_xy, text, font=font, fill=fillcolor)
img.save(new_path + '{}.jpg'.format(text + str(datetime.now().timestamp())), 'jpeg')
def list_file():
for file in os.listdir(origin_path):
file_path = origin_path + file
image = Image.open(file_path)
f = open(file_path, 'rb')
tags = exifread.process_file(f)
time = tags['EXIF DateTimeOriginal'].printable;
add_time(image, datetime.strftime(datetime.strptime(time, '%Y:%m:%d %H:%M:%S'), '%Y-%m-%d %H:%M:%S'))
origin_path = '/Users/daren/temp/aa/origin/'
new_path = '/Users/daren/temp/aa/new/'
if __name__ == '__main__':
list_file()
# f = open('/Users/daren/temp/aa/origin/IMG_20180317_162705.jpg', 'rb')
# tags = exifread.process_file(f)
# print(type(tags['EXIF DateTimeOriginal'].printable))
# print(tags)
其中用到了以下工具和知识。
另一种思路是对图片进行分类,按照时间创建相应的文件夹,并把图片按照时间文件夹进行整理,功能参照下面脚本。
classify_picture.py
尽管也称互联网,但在国内,如若有以下一个或多个需求,你就不得不学习一下科学上网了:
访问的网站或服务被(GFW)墙;
网络提供商(ISP)劫持了网络流量;
需要匿名(隐藏真实 IP)的情况,如渗透测试;
躲避网络监控;
其他情况。
这里分享一下我的科学上网技巧,使用到的工具软件可能有 Shadowsocks、Lantern、Privoxy、Tor。根据不同的目的选择不同的工具。
最简单和不折腾的方法是购买 VPN,次之是购买一台海外 VPS,自己安装 VPN 或 Shadowsocks 服务端。VPN 的优点是可以全局翻墙,Shadowsocks 虽然可以设置全局模式,但是对于不支持代理的本地应用是没有办法的,当然这种情况下可以试试 ProxifierPE 强制所有连接通过代理上网。
建议自己购买vps 优惠链接
使用 Shadowsocks 可能遇到的另一个问题是,因为 Shadowsocks 使用的是 SOCKS5 类型的代理,当本地应用只支持 HTTP/HTTPS 类型代理时,就需要自己解决 HTTP 转换为 SOCKS5 的问题。当然,这个问题使用 Privoxy 就能很好地解决。
本节主要介绍如何组合使用 Shadowsocks 和 Privoxy,并假设你已经安装并配置好了 Shadowsocks(Linux 中可以安装 shadowsocks-qt5 或 命令行版本的 Shadowsocks)。
Shadowsocks 与 Privoxy 组合使用的示意图如下所示:
假设你已经配置好了 Shadowsocks,接下来配置 Privoxy。
1 | # 把 HTTP 流量转发到本机 127.0.0.1:1080 的 Shadowsocks |
启动 Shadowsocks 和 Privoxy 后,把本地应用的代理设置为 HTTP/HTTPS 类型的 127.0.0.1:8118,就可以绕过 GFW 和 ISP 了。如果局域网中的其他 PC 或手机也希望使用该电脑上网(假设该电脑 IP 地址为 192.168.1.10),把它们的代理设置为 19.168.1.10:8118 即可。
1 | brew install privoxy |
配置Privoxy1
2
3
4vim /usr/local/etc/privoxy/config
listen-address 0.0.0.0:1081
forward-socks5 / 127.0.0.1:1080 .
1080是Shadowsocks代理的端口,8118是开启http代理的端口。使用0.0.0.0即可在局域网内使用此代理,如只想本机使用,使用127.0.0.1。
启动Privoxy
1 | /usr/local/sbin/privoxy /usr/local/etc/privoxy/config |
检查服务是否启动1
netstat -an | grep 8118
在项目开发过程中对于文件访问,特别是m3u8文件的访问经常涉及到跨域问题,在不同域名无法访问文件。所以需要配置nginx,让服务器文件支持跨域请求。
随着客户的增加,mp4文件播放的弊端也日益凸显,主要集中在两个方面,一是当视频时长比较长的时候,mp4的关键帧元素往往很大,需要加载很长时间才能开始播放,网速不好的情况缓冲加载就要20多秒的时间,客户早已急不可耐。二是当用户打开一个视频播放的时候,浏览器会持续请求下载mp4文件直到下载完成,就算是用户暂停视频播放浏览器也会持续这种下载状态,如果这个视频文件是500M则会请求服务器下载500M文件,是1G则会不停下载1G,给服务器硬盘和宽带造成很大浪费和压力。
于是我们参考优酷土豆等大型视频网站系统的播放文件,发现他们的视频文件都是分段播放的,即把一个大的视频文件按照一定大小或时长把一个视频分为N段播放,这样的优势是打开视频加载速度快,可以达到秒播,另外一个优势是当视频播放第N段的时候,浏览器会下载N+1段,N+2则不会下载,大大缓解了服务器硬盘和宽带压力,可知道高昂的宽带成本才是视频网站的最大压力。
m3u8是苹果公司开发的一项新型播放格式,这种播放格式支持目前市面的windows、androis、ios设备主流的浏览器,同样的视频文件既可以在flash环境播放,又能在无flash的html5环境播放,它的优势还不止于此,它可以实现多种码率在不同网速下的自动切换,网速好自动切换高清晰度视频,网速慢自动播放低清晰度文件,还可以实现流加密(视频文件本身加密)、分段下载播放、任意时间点拖拽播放、随机视频文件广告插入等等优势,所以最新版的云转码视频系统仅把m3u8作为唯一的播放格式而放弃了其他格式的输出。
The following Nginx configuration enables CORS, with support for preflight requests.1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32#
# Wide-open CORS config for nginx
#
location / {
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
#
# Custom headers and headers various browsers *should* be OK with but aren't
#
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
#
# Tell client that this pre-flight info is valid for 20 days
#
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain; charset=utf-8';
add_header 'Content-Length' 0;
return 204;
}
if ($request_method = 'POST') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
}
if ($request_method = 'GET') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
}
}
支持m3u8 格式
服务端返回的 Access-Control-Allow-Origin: * 表明,该资源可以被任意外域访问。如果服务端仅允许来自 http://foo.example 的访问,该首部字段的内容如下:
Access-Control-Allow-Origin: http://foo.example
现在,除了 http://foo.example,其它外域均不能访问该资源(该策略由请求首部中的 ORIGIN 字段定义,见第10行)。Access-Control-Allow-Origin 应当为 * 或者包含由 Origin 首部字段所指明的域名。
1 | ffmpeg -i big.mp4 -b:v 1M -g 60 -hls_time 2 -hls_list_size 0 -hls_segment_size 500000 output.m3u8 |
来源:https://stackoverflow.com/questions/42026691/ffmpeg-creating-m3u8-from-mp4-video-file-size
https://blog.csdn.net/u012539700/article/details/79640458
使用ffmpeg将mp4切成ts片段的时候会碰到一个问题,就是生成的m3u8文件里只有最后的五个片段的信息。
这是因为ffmpeg 默认的list size 为5,所以只获得最后的5个片段。为了解决这个问题,需要指定参数-hls_list_size 0,这样就能包含所有的片段
或者第二种
1
ffmpeg -i yourfile.mp4 -codec: copy -start_number 0 -hls_time 15 -hls_list_size 0 -f hls output.m3u8
f 表示输出文件格式类型,-f hls 就是表示按照 hls 来进行输出
i 表示需要转换的文件地址
来源:https://www.jackpu.com/mp4-huan-hls-huo-zhe-dash-jiao-cheng/
经测试第二种方式更准确,第一种经常卡顿重复播放。
最近翻出2013年海淘买回来的Google Nexus 4手机,重新进行了刷机,因为打算作为备用不想安装太多无用的应用,所以刷的是AOSP原生安卓系统,结果刷完之后发现无法上网,状态栏上Wifi图标上有x号。因为是系统链接网络之后默认会访问google服务器检查是否有网络,如果访问不了就显示“x”号。因为众所周知的原因,在中国大陆是访问不了GOOGLE的,所以就需要我们手动修改。
在拨号器界面输入“##4636##”,查看“手机信息”,显示PING TEST访问的都是www.google.com
Captive Portal是安卓5引入的一种检测网络是否正常连接的机制,制作的非常有创意,通过HTTP返回的状态码是否是204来判断是否成功,如果访问得到了200带网页数据,那你就可能处在一个需要登录验证才能上网的环境里,比如说校园网,再比如说一些酒店提供的客户才能免费使用的WiFi(其实是通过DNS劫持实现的),如果连接超时(根本就连接不上)就在WiFi图标和信号图标上加一个标志,安卓5和6是叹号,安卓7改成一个叉了。只不过默认访问的是谷歌自家的验证服务器,然而由于你懂的原因,就算你连接上了网络也连不上这个服务器… 嗯…那其实还是没有连接上网络嘛… 噫….
谷歌设计了一个开关来控制是否启用这个特性,同时也提供了一个变量来控制待验证的服务器地址,国内的修改版ROM通常都改成了高通中国的地址,还有一些ROM设计了代码在重启的时候恢复这个设置,不知道是出于什么目的。
没更新7.0的时候,一直用小狐狸的叹号杀手,很不错的应用,可惜当时他已经很久不更新了,当时安卓N不能用,后来自己做了个小工具,想了想就干脆上架酷安吧,也能帮助大家,这样有了CaptiveMgr工具,这分明就是个没有名字的名字嘛…根本就是foo, bar一样…好像也没什么好叫的了?现在代码还比较乱,要是哪天有空把这堆代码整理出来就开源了算了,毕竟纯粹体力活。
具体的原理不在这里写了,这里主要写如何去掉叹号或者叉标志。
如果有root权限直接用我这个工具算了,比较方便,毕竟用命令也就是检测一下系统然后代替执行命令而已嘛。
(PS: 如果使用SS/SSR可以通过NAT模式让系统直接连接,其内部是通过iptables实现的)
如果没有root权限就得按下面操作了,做好配置以后重启WiFi和数据流量(打开再关闭飞行模式即可)就可以看到效果了。
以下需要ADB调试,配置不赘述
5和6还不支持HTTPS,直接修改即可
检测开关相关:
先处理开关状态,这个变量删除就是默认开启的,删除操作随意执行,反正没影响,删除状态下获取这个变量会返回null。
注意:如果关闭,则无法判断当前网络是否需要登录,无法自动弹出登录页面
1 | 删除 |
服务器地址相关:
1 | 删除地址就可以恢复默认的谷歌服务器 |
这两个版本相比5和6没有大的更改,只是默认连接服务器的时候使用HTTPS,但是提供了一个开关用以指定是否使用HTTPS
检测开关相关:
1 | 同5.0 - 6.x |
HTTPS开关相关:
1 | 删除(直接删除则默认使用HTTPS) |
服务器地址相关:
(如果启用了HTTPS需要先确定地址是否支持HTTPS)
1 | 同5.0 - 6.x |
这个版本把HTTPS和HTTP两个地址分开保存,并通过7.0加入的HTTPS开关来控制使用哪一个地址。
检测开关相关:
1 | 同5.0 - 6.x |
HTTPS开关相关:
1 | 同7.0 - 7.1 |
服务器地址相关:
1 | 删除(删除默认用HTTPS) |
此版本服务器地址判断逻辑相比7.1.1没有更改,但是检测的开关却变了。
检测开关:
1 | 删除变量:(删除以后默认启用) |
服务器地址相关(同7.1.1):
1 | 删除(删除默认用HTTPS) |
长春的冬天给人的印象除了冷就是干燥,在东北生活过的朋友都会遇到这样的情况,特别是到冬天的供暖期(10月底到次年4月中旬),整个身体会很不舒服,严重缺水。对于从关内过来居住的朋友对这种情况会严重不适。轻点的皮肤干燥、嘴唇开裂,严重点的大便干燥、引发痔疮。就我见过的还有晚上睡觉不知不觉流鼻血的,眼睛发炎的等等都是因为空气干燥。
我儿子在这期间也遇到了这个问题,之前大便状态都挺好的,给暖气之后就开始大便干燥、发硬,经常2-3天才大便一次,并且有时候会有便血。大便难受造成儿子不愿意拉,不愿意拉更加剧了便秘的情况,形成了一个恶性循环。
在此期间也用了益生菌、清火饮、低聚果糖等治疗婴幼儿便秘的保健产品,但是效果不是很理想,经常反复。
因为自己平时上班没有大片的时候调理儿子便秘的情况,周末两天也来不及,所以在春节放假期间决定对儿子肠道进行一次集中调理,解决便秘的情况。让儿子能痛快的拉臭臭。
经过7天的努力,终于在2月8号、9号、10号看到效果了,现在基本每天都能拉一次,并且大便也不再干、硬(除了大便最外面的地方还有点干),对大便也不再排斥,感觉持续了3个月的便秘情况终于看到希望了。
总结一下这次改善便秘的方法,最重要的是如下:
下面是儿子这段时间的吃饭和作息规律:
- 早上起来喝低聚果糖(空腹)
- 吃早饭(粥带青菜)
- 半小时后吃益生菌
- 吃水果(芒果、红龙果)
- 中午吃饭(带菜叶,紫薯,西兰花泥等)
- 运动
- 吃水果(橘子,瓜,柚子等)
- 吃AD
- 吃晚饭(带蔬菜)
- 吃乳钙
- 吃奶粉 睡觉
1月17日,华为创始人、总裁任正非就各方关注的焦点问题,接受国内媒体采访。
任正非:应该说,我们今天可能要碰到的问题,在十多年前就有预计,我们已经准备了十几年,我们不是完全仓促、没有准备的来应对这个局面。这些困难对我们会有影响,但影响不会很大,不会出现重大问题。
记者:那么在现在的环境下,您怎么理解自主创新对中国公司的意义?
任正非:我从来不支持“自主创新”这个词,我认为,科学技术是人类共同财富,我们一定要踏在前人的肩膀上前进,这样才能缩短我们进入世界领先的进程。什么都要自己做,除了农民,其他人不应该有这种想法。自主创新若是精神层面我是支持的。也就是说,别人已经创新,我们要尊重别人的知识产权,得到别人的许可,付钱就行。如果我们重做一遍,做完一遍,也要得到许可,还是要付钱,这是法律。当然科学家都是自主创新的,我指的是我们这种公司的工程创新。
任正非:外面的变化对我们没有这么大的影响。因为我们有信心,我们的产品做得比别人都好,让别人不想买都不行。我举一个例子:全世界能做5G的厂家很少,华为做得最好;全世界能做微波的厂家也不多,华为做到最先进。能够把5G基站和最先进的微波技术结合起来成为一个基站的,世界上只有一家公司能做到,就是华为。将来我们5G基站和微波是融为一体的,基站不需要光纤就可以用微波超宽带回传。有人说过去这只适用于广大农村,但5G是超宽带,微波也是超宽带,这也适合广大西方国家。因为广大西方国家遍地都是分散的别墅,是要看8K电视、高速的信息消费,那就需要买我们的设备。当然,它可以不买,那就要付出非常昂贵的成本来建设另外的网络。我们在技术上的突破,也为我们的市场创造了更多机会,带来更多生存支点。所以,我们没有像外界想像中的那么担忧。
任正非:我不能代表中国企业,只能代表华为。华为在美国经历了几场大官司,都获得良好的结果。华为现在87,805项专利中,其中有11,152项核心专利是在美国授权的,我们的技术专利对美国的信息社会是有价值的。我们已经和很多西方公司达成了专利交叉许可。华为不能代表别的企业,但是我们自己是绝对尊重他人知识产权的。
任正非:如果我们把知识产权当成物权,可能国家的科技创新发展会更加好一点。就是知识产权法若是物权法的一部分,侵犯知识产权就是侵犯物权,这样的环境有利于原创发明。没有原创发明,哪有未来的“高通”呢?我们应该认识到,知识产权保护是有利于国家长远发展的,而不是西方拿来卡我们的借口。因此,我们国家首先要不支持假货、不支持山寨,而是要支持原创、保护原创。有可能今天经济发展速度会慢一些,但质量就会更好一些,就会出现越来越有竞争力的公司。
任正非:首先,对于释法的事情,我们说了不算。但是政府已经表态,外交部做了明确澄清,中国没有任何法律强制要求任何企业安装后门。
第二,中国还要强调,企业在任何国家都必须要遵守业务所在国所有适用的法律法规,包括联合国、美国和欧盟适用的出口管制和制裁法律法规。
任正非:第一,见媒体是公共关系部逼的。他们说,这段时间我们要给18万员工和广大客户都要传递信心,让他们多了解我们、信任我们,也同时给社会释怀,其实我们没有遭遇多大困难。你可能没参加过我们的内部会议,开会都是群情激昂的,没有感觉到有多大困难。但是外界不知情,我们需要传递一些信心,需要我说说话来起一些作用。所以,见媒体就是给社会传递一种信心。当然我们今年的收入增长速度可能会放慢,估计增长不会超过20%。
第二,关于网络安全问题,要把信息安全和网络安全区分开来,现在混淆在一起了。华为30年来在170多个国家、为30多亿人提供了网络服务,有良好的安全记录。但是我们还需要不断进步。我们现在要重构软件架构体系,朝着“网络架构极简、网络交易模式极简、网络极安全、隐私保护遵从GDPR”这四个目标的要求。我们在未来五年大量投入研发费用,做全世界最好的网络。五年以后,年销售收入可能比今年多一倍多。
任正非:那就是皱纹更多了。因为半径越大,问题越多。如果我们缩到小小的一点,像农民种地一样,只有土豆这么大,外界都看清了,那谁也不会质疑。半径越大,越看不清,未来10-20年之后的探索我们更加看不清,所以大家的质疑会多一些,但是质疑并不等于有多大问题。另外,质疑也是有价值的,科学家天生就喜欢怀疑,要不他们怎么会发现新东西呢?他不相信,就会有新发现,所以质疑本身也是前进过程中必然伴随的副产品。
未来信息社会的发展是不可想象的。未来二三十年,人类社会一定会有一场巨大革命,在生产方式上要发生天翻地覆的变化。比如,工业生产中使用了人工智能,大大地提高生产效率。大家参观了我们的生产线,那还不能叫人工智能,只是一部分人工智能,但是生产线上已经看不到太多的人。五年以后,这条生产线上可能只需要五、六人,甚至两、三人,主要是做维修。当然,我们的生产线上很多人都是博士,不是普通操作工人,特别是光芯片生产中,会动手的博士还特别少。
这个时代对一个国家来说,重心是要发展教育,而且主要是基础教育,特别是农村的基础教育。没有良好的基础教育,就难有有作为的基础研究。给农村教师多发一点钱,让优秀人才愿意去当教师,优秀的孩子愿意进入师范学校,就如我们老一代革命家毛泽东、粟裕、黄克诚、许光达、恽代英…都出身于师范学校一样,我们就可以实现“用最优秀的人培养更优秀的人”。但现在不是这样,教师待遇低,孩子们看见知识多也挣不到多少钱,所以也不怎么想读书。这样就适应不了未来二、三十年以后的社会,社会就可能分化。完全使用人工智能生产的可能就会重回西方,因为没有了工会问题、社会福利问题、罢工问题……;完全不能人工智能的生产可能会搬到东南亚、拉丁美洲、南欧等人力成本低的国家去了。我们国家面临着这种分化,就应该要把基础教育提到国家的最高纲领,才能迎接未来的革命。提高全民族的文化素质,这应是党和国家的主要责任,每个公民的义务。今天满街高楼大厦,过二、三十年就变旧了。如果我们投资教育,二、三十年后这些穷孩子就是博士,开始冲锋,国家就会走向更加繁荣。
在这个重要的历史转折时期,华为只能把自己管好,不能去管别人,所以我们就大量投入资金往前冲。刚才央视记者问我“你们赚的钱很少,为什么科研投入会有那么多”,比如今年我们利润是90多亿,但是科研投入150-200亿美金。其实这150亿哪里是我们投的,都是成本,实际上还是客户投的。客户给我们的钱,不是产生利润,而是产生投入。
我们为什么要走在前面?新技术进入时代的周期变短了。过去是等到科学家做方程,经过五、六十年,终于发现这些方程有用。从电磁理论,又经过五、六十年,发现电磁理论可以用于无线电;又经过了几十年……。今天已经不可能了,这个过程缩短非常厉害,即使不能叫毫秒级,也是极短级。如果我们还是等着产业分工,不进入基础研究,就有可能落后于时代。
中国是一个人口大国,如果变成人才大国,我们与别人的竞争才更加有信心,因此,小学教师应该要得到更多的尊重。当然,今天教师待遇已经比过去好很多了,但还要让教师成为最光荣的职业,国家未来才有希望,才能在世界竞技中获得成功。
今天大家看到华为有很多成功,其实成功很重要的一点是外国科学家,因为华为工资高于西方公司,所以很多科学家都在华为工作。我们至少有700名数学家、800多名物理学家、120多名化学家、六七千名基础研究的专家、六万多名各种高级工程师、工程师……,形成这种组合在前进。因此,我们国家要和西方竞技,唯有踏踏实实用五、六十年或者百年时间振兴教育。
振兴教育不在房子,在于老师。黄埔军校就是两条绑腿,抗大就是一条小板凳。你们看关于抗大的电影,搬个小板凳,坐在黄土飞扬的土地上,听到毛泽东没有麦克风的讲话,就建设了新中国。黄埔和抗大怎么不是世界上两所伟大的名校呢?所以,物质不是最主要的,人才是最主要的,人类灵魂的工程师应该得到尊重,这个国家才有希望。
记者:您提出基础教育这个议题,是希望能够给社会一个警示吗?
任正非:我认为,社会就是应该有口号“用最优秀的人去培养更优秀的人”,“我们再穷也不能穷老师”。
记者:您打算为这个事情做点什么?
任正非:我们把华为公司做好,就给大家做了一个榜样。华为有什么?一无所有!华为既没有背景,也没有资源,除了人的脑袋之外,一无所有。我们就是把一批中国人和一些外国人的脑袋集合起来,达到了今天的成就,就证明教育是伟大的。
任正非:有个老师辞职说世界很大,她想去看看。我想说这个世界很大,还有好多地方我们可做5G的,我们暂时还做不了那么多。少数地方的拒绝不能代表我们在大多数地方被拒绝。而且5G实际上被夸大了它的作用,也被更多人夸大了华为公司的成就。因为我们跑得太快了,我们的年青人按捺不住自己的兴奋,一直讲啊讲,就把事情夸大了。实际上现在人类社会对5G还没有这么迫切的需要。人们现在的需要就是宽带,而5G的主要内容不是宽带。5G有非常非常多的内涵,这些内涵的发生还需要更多需求的到来,还需要漫长的时期。不要把5G想象成海浪一样,浪潮来了,财富来了,赶快捞,捞不到就错过了。5G的发展一定是缓慢的。日本和韩国还是4G,日本、韩国把4G运用到非常好,就足够满足使用。我们的4G没有用好,打开我的手机只有20~30兆,实际上我们提供的4G是可以到300~400兆,足够看8K电视。但是我们的网络,白天打开就只有二三十兆,只能看4K,没法看8K电视。为什么?网络结构不好。网络结构不好是啥?还是没有数学家在研究运营商的网络结构。所以网络结构性的问题没有解决,5G用上来和4G差不多。就好比我嘴巴很大,但是喉咙很小,我吃一大块肉还是一口吞不进去。因此,不是5G的基站是万能的,大家别那么着急。5G接下来估计还要进入毫米波,毫米波就是只要你多加一倍的钱,带宽可以加一百倍,就是一秒钟你可以下载几十部高清视频,这个我们已经在实验室里面都能完全做出来。5G现在暂时还没有充分发挥出用处,太快了。这次中央台用来在深圳(5G)直播春节联欢晚会,也只是个演示性作用,这种演示还不足以变成大规模的商业行为。
在技术研究上,我们有一个说法叫做“一杯咖啡吸收宇宙能量”。干啥?就是我们向谷歌学习,谷歌的母公司赚了钱就去研究很难实现的东西,还研究长生不老药,它也是为人类社会贡献,把财富转移到探索人类社会的未来去,我们也是一样的。所以我们讲一杯咖啡吸收宇宙能量,就是向谷歌学来的。就是把钱投出去,探索人类未来。我们支持给大学教授做基础研究,他就像一个灯塔一样,既可以照亮我们,也照亮别人。但是我们理解比别人快,所以做出的东西比别人快,仅此而已。
我们自己在编的15000多基础研究的科学家和专家是把金钱变成知识,我们还有60000多应用型人才是开发产品,把知识变成金钱。我们对外面科学家的探索,就是给予适当的支持。
记者:如果是这样的话,那基础研究就不适合由公司去做。
任正非:但是如果公司不做,我们就不能领导或领先这个时代,那我们就不能赚超额的钱,我们就不可能有超额的投资,那我们就变成一个代工厂了。我们为什么能胸有成竹一路领先?在电子上我们已经做出最先进的芯片ARM CPU、AI芯片,在光子的交换上,我们也是世界最领先的。在量子方面,我们在跟随,至少在研究别人的量子计算机出来后,我们怎么用。
我们在电子、光子、量子这三者之中,有两者是走在人类社会前面的,在量子计算是跟在后面的。所以开展基础研究,才可能有超额利润,才有钱做战略投入,才能领导社会前进。外面的科学家欢迎我们,因为我们就是把他们当作灯塔,我们不侵犯他们的任何利益。美国有一个拜杜法案,赋予大学和非盈利研究机构对于联邦政府资助的发明创造可以享有专利申请权和专利权,从而产生了促进科研成果转化的强大动力。我们也按照拜杜法案,我们没有什么私心,但我们不是和学校合作,主要是和教授合作,必须有这个领军人物我才跟你合作。
任正非:总体来说,我们对自己的基础研究评价应该还不够满意,为什么呢?这30年,其实我们真正的突破是数学,手机、系统设备是以数学为中心,但是在物理学、化学、神经学、脑学……其他学科上,我们才刚刚起步,还是落后的,未来的电子科学是融合这些科学的,还没有多少人愿意投奔我们。所以,我们在科学构建未来信息社会的结构过程中,我们还是不够的。
关于无人区,当时最主要是讲“时延”问题,比如现在无人驾驶等都是时延问题。前段时间,我太太和我小女儿在欧洲乘坐德国无人驾驶汽车在高速公路狂奔了两个多小时,欧洲已经在进入L3阶段的无人驾驶。大家也看到我们和奥迪在无人驾驶领域的合作,也是L3阶段。无人驾驶最高是L5阶段,达到L5阶段5G开始起作用,但是还有时延问题。
所以,现在真正无人区的探索就是降低时延,任何电路都一定有电容、电阻,一定会产生时延,人类社会要求无时延的时代是不存在的。时代发展进入饱和曲线阶段,我们刚好在这个曲线的平顶上,新公司很容易追上我们。这就是我们认为未来的风险。你们看,现在做一个电子产品多简单,买几个芯片一搭就出来了。我们的优势慢慢也不再是优势,这个领域里,我们担忧也跑不动了。
这次总理去比利时参观了IMEC的一个设计平台,总理看到这个平台能把人类电子带宽提高到3纳米和1纳米。如果到了极限,还满足不了人类的需求,石墨烯这时也还不能替代硅,怎么办?我们就把芯片叠起来,但最大的问题是要把这两个芯片中间的热量散出来,这也是尖端技术。所以说,热学将是电子工业中最尖端的科学,这方面我们的研究也是领先的,就是太抽象了。所以,应对未来的挑战,我们都在找路,但如果慢慢找来找去找不到,追兵也很快到了。
任正非:这个“战战兢兢、如履薄冰”,就是形容词,我们也天天说。如果真是这样子,就根本跑不动了。我们还是胸有成竹的,但是说话总是要夸大一点,好像自己真的是很担忧,大家不要听那些形容词。
记者:那“下一个倒下的会不会是华为”?
任正非:一定。
记者:但不一定是“下一个”?
记者:其他公司都在说要做百年老店,要做传承。
任正非:做百年老店是非常困难的,最主要的是要去除惰怠。曾经有首长说要总结一下华为公司的机制,我说首长您别总结,前20年是积极进步的,这10年是退步的,为什么?就是人们有钱就开始惰怠了,派他去艰苦地方不愿意去,艰苦工作也不愿意干了。如何能够祛除惰怠,对我们来说是挑战。所以我们强调自我批判,就是通过自我批判来逐渐祛除自我惰怠,但我认为并不容易,革自己的命比革别人的命要难得多得多。
任正非:十宗罪,我们把它都贴心声社区的网上了,让18万员工去批判,大家就讨论应该怎么改。这样会形成一种文化,这种文化会使我们的一些内部的机制逐步地转变。我看心声社区一般只看批评,说好话的我就过滤过去。因为我要看到底基层发生了什么情况,管理层做得对不对。发现后,再找个人去调查一下是不是存在这样的问题。
任正非:第一,华为公司几百人的时候,对准一个“城墙口”冲锋,几千人、几万人、十几万人冲锋还是对着同一个“城墙口”,并没有转变,而且我们每年对一个“城墙口”的炮击量已经超过150-200亿美金,这还仅仅是研发费用,其他部门也在冲锋,加起来大大超过这个量了。我们只有集中在一个点上突破,才能在人类社会中立足。当我们要拖上很多“拖斗车”、“马车”、“黄包车”……的时候,我们这个“高铁”也跑不动了。
钱多得花不出去,那只是一个说法,我们都是加大对未来的投资,要把钱花出去、花好也是不容易。每个部门要花钱,预算审查也是极其严格的。比如我们拨了36.8亿美金战略费用,他们怎么花没有压力吗?还有,我们有一个华为大学,培训的大多数是读了博士、硕士,包括还有很多海外名校毕业,实践几年很成功的员工,回来受再教育,然后再出去,再教育、再出去。这费用高得不可想象。华为大学现在还没有修好,下次欢迎你们再来参观。
任正非:其实我们做的就是“管道”,给信息流提供一种机会。我们做的服务器存储不就是“管道”中的一个“水池”吗?终端不就是“水龙头”吗?所有这些技术都是一脉相通的。为什么华为终端的技术进步那么快?是因为我们在管道技术上的战略储备很多,我们用不完,就把这些部门划给终端,科学家都为它们服务,所以很快就跃上来了。因此,跨界这个问题,我们是永远都是不会做的。前天西方记者也问我“你们会不会造汽车?”我说,我们永远不会造汽车。我们是做车联网的模块,汽车中的电子部分——边缘计算是我们做的,我们可能会是全世界做得最好的。但是它不是车,我们要和车配合起来,车用我们的模块进入自动驾驶。决不会造车的。因此,我们不会跨界,我们是有边界的,以电子流为中心的领域,非这个领域的都要砍掉。
任正非:如果将来会出现中美博弈,中国首先还得重视教育。我们在海外派遣员工有4万多名,为什么大多数员工都不愿意回来?孩子上学问题,回来以后怎么插班,教育方式完全不一样。这样一系列问题,让我们的员工流动不起来,孩子回不来。即使在非洲,孩子可以上最好的学校,但是回到深圳就进不去学校。因此教育是我们国家最紧迫的问题,要充分满足孩子受教育的权利。每个家长最操心就是孩子。因此,盲目的人口红利化是错误的,因为社会的生产方式是走向人工智能。
东风汽车的竺总问我,我说“中国无人驾驶可以从拖拉机做起”,我们不与西方同一个轨道竞争,就把拖拉机做到24小时耕地,不怕蚊子,不怕下大雨,不怕爬高山,农业生产效率不就提高了吗?
任正非:人工智能有可能是泡沫。但别害怕这个泡沫破灭,那些失败的专家工程师,我们招聘,为什么?我们需要改变我们的生产结构,改变我们在全世界的服务结构,我们需要这些人。为什么我要失败的人呢?失败的人就是理想太大,平台太小。但是我的平台很大,能够容纳你跳舞。为什么人工智能会出现泡沫化?就是同一个东西,这个世界实际上只需要一家公司,比如说办公系统,谁还能取代微软?真正的机器人出来后,90%的机器人公司就困难了。因此,我很难解释人工智能是不是有泡沫。我们公司在工程上,比如新疆高山上的基站,是京东快递小哥骑着摩托上了山,把设备按照我们的说明装好以后,我们人在西安调测,调测通过就验收了,报告、发票就出来了,钱就付给你了。如果我们不是采用人工智能的方法提升生产效率,我们公司就不可能实现低成本,不可能获得高利润,也不可能加大对未来的战略投入。
任正非:我们觉得除了困难,都是困难,没有不困难。
任正非:没有变化,过去怎么做还怎么做。
记者:打算继续在哪些领域重点做?
任正非:不改变现在的方向,不进入不熟悉的领域。
任正非:孟晚舟和我本来是去阿根廷开同一个会议,而且她还是会议的主要主持者。她是在加拿大转机,不幸就被扣留了。我晚她两天才出发的,是从另外的地方转机的。我们会通过法律程序来解决这件事情。作为孟晚舟的父亲,首先感谢中国政府维护孟晚舟作为中国公民的权益,为她提供了领事保护。我也感谢社会各界人士对孟晚舟所表达的支持、关心和关注。
我与女儿现在就是打打电话,电话上也仅仅是讲讲笑话,晚舟也很坚强。
任正非:这是我个人的看法。
记者:华为可能不是第一个。
任正非:肯定不是。
记者:那我想问一下,一方面每年我们投入这么多钱在研究与创新,另一方面我要站在前人的肩膀上,关于技术创新的共享和自主研究,这两者的平衡点是什么?
任正非:在精神上我是支持自主创新的。所有科学家的创新都是自主的,它是一种精神。我认为在尖端的未知上更多的强调自主创新是可以的,比如嫦娥4号,人家不给你,那你得自主。但是我们不能在低层面上强调自主创新,一个螺丝钉你也要自主?日本、德国的中小企业很了不起,日本一个企业几十年就做一个螺丝钉,这个螺丝钉最大的特点就是永不松动,全世界到处高速设备、高铁、飞机全部都用这家螺丝钉。我去过莱卡,莱卡就是一个乡村工厂,一个老太太,35年就做涂外层油漆的工作,说机器不能代替,做不到她那么精细,所以她还在做。我觉得踏踏实实做好一件事是可以的,但不要说人家已经做好了,我非要重复做一下才证明自己是光荣伟大的。我认为只有开放才可能快速的实现目标。
任正非:我认为,美国发出不同声音的可能也是少量政客,他不能代表美国人民,也不能代表美国工业界、美国企业、美国科技界。美国的工业界和企业界还是坚定不移支持我们,坚定不移加强与我们合作。所以,少数政客的声音是会有很大的噪音,但是起到多大作用,最终还是要看结果。
任正非:因为特朗普把税率降得非常低,有利于产业发展,对美国来说,这就具有了百年的竞争力。但是,如果他一天到晚去跟这个国家吵,吓唬那个国家,而且乱抓人,大家都不敢去投资,那么他减掉的税就没有人去补起来,美国经济就会开始大幅度下滑。但是下一位总统不会改变低税制度,他会到处去改善关系,他会说“你来投资吧,美国条件好,税低、土地便宜,什么都便宜”,也许美国真就振兴了。就降税这一条评价他高水平。邓小平挖了一块“洼地”,大量水往那里流,中国经济就崛起了。所以,是从这点来评价他是一个伟大的总统。但另外一点不是批评他吗?现在没人敢去美国投资。所以,他具有两面性。
我在英国,听卡梅伦、奥斯本讲过,要把税率降下来,同时把福利也减掉一些,正好对冲,经济是平衡的。福利怎么减呢?所有要领救济金的人首先要去申请就业,没有就业就去做社区服务,比如照顾孤寡老人,帮做家务,打扫街道,你不做,就不能领救济金。英国在不断推行降税,现在已经降到了17%了,英国重新恢复投资这个机会窗。
任正非:我们所说的计划就是要把网络做到极简,把网络交易模式做到极简,把网络做到极安全,隐私保护遵从欧洲GDPR标准。达到这四个点,我们就依然会有增长。
记者:那未来的机会点呢?
任正非:网络架构的重构,还有未来人类社会对于图像的需求,都会给我们带来巨大的空间。大家参观展厅的时候看了8K的电视画面,看了会喜欢吧?中国的北京、上海、广州、深圳经济已经具备这种条件了,那么为啥不可以做到位呢?
任正非:早晚的事情,这是个哲学命题,不是一个现实命题。
任正非:我们把做网络的技术能力也应用到了手机业务。比如,手机的图像系统很好,就是来自我们网络的图像系统对数学的研究。下一步,我们网络连接业务会更成功,会是全世界最好、最智能化的连接,这些领域其实都是相关的。
任正非:大家知道,世界会变成一个智能社会,智能社会怎么感知呢?必须要靠终端,终端的感知要靠传感器、显示器。所以,未来终端的路很宽广,包括物联网……,手机只是终端的一个领域。
任正非:第一,亚马逊的开发模式值得我们学习,一个卖书的书店突然成为全世界电信营运商的最大竞争对手,也是全世界电信设备商的最大竞争对手。第二,谷歌也很厉害,大家也看到“谷歌军团”的作战方式。第三,微软也很厉害。怎么没有学习榜样呢?到处都是老师,到处都可以学习。
任正非:苹果是一个伟大的公司,因为苹果推动了移动互联网的发展,使这个社会发生了天翻地覆的结构性改变。
任正非:我觉得呢,就是网友要更多的宽容心。大家也看到,有些科学家因为发布了一些不同的科学见解,然后被网友们骂得狗血淋头。科学家就像哥白尼一样,日心说在当时就是胡说八道,人还敢跟神做斗争,你比神还伟大了吗?那我们就要宽容一下今天的“哥白尼”,这样我们国家将来才有新东西。科学家会提出很多新东西,可能是莫名其妙的,千奇百怪的想法,我们要宽容他。
任正非:这两者没有必然的相关性,大家不要把商业模式和意识形态混淆起来。比如,西方的宗教是相信上帝的、相信神的,但火车是他们设计的,是靠煤炭推动的。所以,我们今天进入商业社会,不能因为我们是共产党员,就要去做雷锋无私奉献,就不要去搞商业模式,那为什么要搞市场经济呢?我们要用经济规律来对付经济规律。
任正非:这是永久的要求,不是今年的。为什么呢?过去我们是普通的传输和交换时代,任何病毒都进不去,所以最早80年代使用的通信系统没有网络安全问题。后来由于IP的出现,IP绕来绕去,可能会多几个缺口。未来时代是云时代,到处都是缺口,谁把网络安全做好了,客户就会买谁的。我们把网络安全提升了这样的高度来认识,是因为我们面临未来要支撑云时代。不是今年,是永远的。
由于GeoHash是用的Peano空间填充曲线实现的,因此会存在突变。如下图所示,很近的两个点分布在不同矩形区域,而两个较远的点缺分布在相同的区域,为了解决这问题,我们需要计算出该hash值附近的8个区域,再计算距离。
参考 Geohash
这种方式比较好理解,贴下例子就行了。
[116.3967,44.9999]和[116.3967,45.0009]分别出现在各自附近的区域中,周围8个区域的Geohash怎么计算得到呢?很简单,当Geohash长度是8时,对应的每个最小单元
1 | double latUnit = (Max_Lat - Min_Lat) / (1 << 20); |
其中20是因为二进制拆分了20次,对应长度为8.
这样可以计算出8个分别分布在周围8个区域的地点,根据地点便可以计算出周围8个区域的Geohash.
1 | [lat + latUnit, lng] |