基于CentOS 7使用fontnik
Mapbox 加载矢量切片数据中字体采用的是SDF形式,所以需要将ttf等字体切成pbf文件。Mapbox团队开源了一个工具,将普通的ttf和otf字体转换成Mapbox GL渲染需要的字体的工具:node-fontnik。下面来介绍CentOS 7下安装node-fontnik
安装CentOS 7不管用是用虚拟机也好还是物理机也好,准备安装centos7,具体步骤这里就略了,网上有很多教程。
安装国内yum源
1.备份之前的源文件
123cd /etc/yum.repos.d/mkdir repo_backupmv *.repo repo_backup/
2.下载ailiyun的yum源
1[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3.运行yum makecache生成缓存
1[root@localhost ~]# yum makecache
4.这时候再更新系统就会看到以下mirrors.aliyun.c ...
css设置文本禁止被选中
CSS设置文本禁止被选中代码:
1234567891011-webkit-touch-callout: none; /* iOS Safari */-webkit-user-select: none; /* Chrome/Safari/Opera */-khtml-user-select: none; /* Konqueror */-moz-user-select: none; /* Firefox */-ms-user-select: none; /* Internet Explorer/Edge */user-select: none; /* Non-prefixed version, currently not supported by any browser */
关于git push命令中的matching和simple
最近使用git时,发现执行push命令时,出现了下面的提示:
1234567891011121314151617181920warning: push.default is unset; its implicit value has changed inGit 2.0 from 'matching' to 'simple'. To squelch this messageand maintain the traditional behavior, use: git config --global push.default matchingTo squelch this message and adopt the new behavior now, use: git config --global push.default simpleWhen push.default is set to 'matching', git will push local branchesto the remote branches that ...
JavaScript(ES6)知识点备忘
JavaScript的知识点备忘
Object.values/Object.keys/Object.entries()Object.keys:对Object中的索引进行循环Object.values:对Object中的值进行循环Object.entries:对Object中的每个项进行循环
Array map()map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
12345678910const numbers = [4,9,16,25];numbers.map(Math.sqrt);const users=res.items.map(item => ({ url: item.html_url, img: item.avatar_url, name: item.login, }));
拼接字符串1console.log(`当前Zoom等级:${this.mapControl.map.getView().getZoom()}`);
合并对象属性Object. ...
Windows使用acme.sh申请let’s encrypt通配符域名
本文主要讲述在windows系统利用acme.sh申请https证书的方法,并且应用到IIS和Tomcat。
参考链接:https://blog.853lab.com/2018/09/post_1965.html
安装Cygwin全程联网,安装Cygwin,直接点点点下一步,节点使用163节点(速度快,如果只想配置acme.sh的话):http://mirrors.163.com/cygwin/ 或其他可以用的节点
在选择包列表,选择curl、cron、bzip2、wget、gcc-core、gcc-g++、make、openssh、lynx,然后下一步
一直下一步,Cygwin就安装好了(网络错误除外)然后在Windows的path变量下追加“;C:\cygwin64\bin;C:\cygwin64\usr\local\bin”
双击打开“C:\cygwin64”目录下的“Cygwin.bat”文件,运行以下命令:
1curl https://get.acme.sh | sh
或者是:
1wget -O - https://get.acme.sh | sh
等待安装 ...
docker端口映射或启动容器时报错 driver failed programming external connectivity on endpoint
docker端口映射或启动容器时报错 Error response from daemon: driver failed programming external connectivity on endpoint
原因docker服务启动时定义的自定义链DOCKER由于 centos7 firewall 被清掉
firewall的底层是使用iptables进行数据过滤,建立在iptables之上,这可能会与 Docker 产生冲突。
当 firewalld 启动或者重启的时候,将会从 iptables 中移除 DOCKER 的规则,从而影响了 Docker 的正常工作。
当你使用的是 Systemd 的时候, firewalld 会在 Docker 之前启动,但是如果你在 Docker 启动之后再启动 或者重启 firewalld ,你就需要重启 Docker 进程了。
重启docker服务及可重新生成自定义链DOCKER
1234567891011121314151617181920212223242526272829303132333435363738394041Chain PR ...
docker中宿主机与容器(container)互相拷贝传递文件的方法
下面主要讲述docker中宿主机与容器(container)之间互相拷贝文件的方法。
引自:http://blog.csdn.net/dongdong9223/article/details/71425077
从容器拷贝文件到宿主机拷贝方式为:
docker cp 容器名:容器中要拷贝的文件名及其路径 要拷贝到宿主机里面对应的路径
例如,将容器:
mycontainer
中路径:
/opt/testnew/
下的文件:
file.txt
拷贝到宿主机:
/opt/test/
路径下,在宿主机中执行命令如下:
1docker cp mycontainer:/opt/testnew/file.txt /opt/test/
从宿主机拷贝文件到容器拷贝方式为:
docker cp 宿主机中要拷贝的文件名及其路径 容器名:要拷贝到容器里面对应的路径
例如,将宿主机中路径:
/opt/test/
下的文件:
file.txt
拷贝到容器:
mycontainer
的:
/opt/testnew/
路径下,同样还是在宿主机中执行命令如下:
1docker cp /opt/test/fil ...
docker容器间访问出错-No route to host
在linux部署docker镜像时,遇到docker容器间调用服务失败的问题 ,报错信息为:No route to host。而在linux外局域网访问docker容器没有问题。
下面引自https://www.jianshu.com/p/96aebba5d3cc
原因分析本文中在centos上部署docker容器,其网络模式采用的是bridger模式。
启动docker时,docker进程会创建一个名为docker0的虚拟网桥,用于宿主机与容器之间的通信。当启动一个docker容器时,docker容器将会附加到虚拟网桥上,容器内的报文通过docker0向外转发。
如果docker容器访问宿主机,那么docker0网桥将报文直接转发到本机,报文的源地址是docker0网段的地址。而如果docker容器访问宿主机以外的机器,docker的SNAT网桥会将报文的源地址转换为宿主机的地址,通过宿主机的网卡向外发送。
因此,当docker容器访问宿主机时,如果宿主机服务端口会被防火墙拦截,从而无法连通宿主机,出现No route to host的错误。
而访问宿主机所在局域网内的其他机器, ...
初识Git
本文主要从基础层面初识Git,分别从Git的诞生,优势,使用,项目应用等方面简单介绍一下,旨在大家对git有个初步了解,并能简单应用到实际开发实践中。
参考文章:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137402760310626208b4f695940a49e5348b689d095fc000
Git的诞生linux之父linus由于反对CVS,SVN这种集中式版本管理工具,因为他们不但速度慢,而且必须联网才能使用,所以在2002年以前一直手工合并世界各地志愿者通过diff方式提交的代码。到了2002年,商用版本控制系统BitKeeper的东家BitMover出于人道主义精神,授权Linux社区免费使用这个版本控制系统。但到了2005年,社区里的一些人,如开发Samba的Andrew试图破解BitKeeper的协议,被BitMover公司发现了,一怒之下收回了linux社区的免费使用权。于是,linus仅用了两周时间,便用C写了这个分布式版本控制系 ...
C#线程调用控制台程序并获取输出
下面简单记录一下C#利用Process调用控制台程序的方法,后续有更复杂的应用场景再更新。
12345678910111213141516string cmdPath = @"E:\Git\GitHub\GeoMapper\TransformConsole\bin\Debug\TransformConsole.exe";Process process = new System.Diagnostics.Process();//启动控制台程序,并传入参数ProcessStartInfo startInfo = new ProcessStartInfo(cmdPath, string.Format("{0} {1} {2} {3} {4}", parameter.FileName, parameter.Host, parameter.Database, parameter.UserName, parameter.Passwd));// ProcessSt ...