缘由        前面我们讲解了 ELK 的搭建过程。最近在处理系统数据发现了一个问题,一个ES节点处理太慢了,基本上要20多个小时才能处理完。这样我们就只能增加ES节点,部署集群模式了。当前是这种单节点服务集群搭建目的要搭建成3节点的服务器,其中3个节点是主节点也是数据节点其实配置ES集群是比较方便了,大家主要几个参数就可以了,主要注意以下几个参数就好了#集群的名字 cluster.name: app-data #节点的名字 node.name: node-1 #节点是否为master节点 node.master: true #节点是否为数据节点 node.data: true #发现节点,一般三个就够了,不需要配置所有的节点 discovery.zen.ping.unicast.hosts: ["192.160.10.1:9300","192.160.10.2:9
  缘由最近在偶然机会下看了些关于AR VR的资料。查找资料还是挺耗时的一件事情,记录下来一来可以方便大家,二来也可以方便我们自己查阅资源列表前端人脸识别框架Tracking.js与JqueryFaceDetection微信小程序可实现 AR 效果,将带来哪些影响?技术实现有哪些?微信小程序拍照后提取指定框内的图片微信小程序实现拍照画布指定区域生成图片微信小程序可实现 AR 效果,将带来哪些影响?技术实现有哪些?微信小程序运行 TensorFlow 的 Demo如何让onCameraFrame 获取的frame数据与相机控件显示范围一致小程序 使用upng.js 把小程序选择的图片转换为base64小程序canvas转base64方法 使用upng库 亲测没问题微信小程序运行 TensorFlow 的 Demo TensorFlow 实现抠图算法 Deep Image Matting(占坑) trackingjs Web人脸检测实现人脸贴图、Web人脸识别、tracking.js、face-
需求我们都知道在Mac电脑下面有一个非常好的抓包工具:Charles。但是这个只能抓代理的数据包。但是有时候想要调试本地网卡的数据库 Charles 就没办法了。就想到了在windows下面的一个Fiddler。搜索了下相关文章发现 还真可以在Mac下面安装Fiddler。Mono安装首先,Mac下需要使用.Net编译后的程序,需要用到跨平台的方案Mono(现阶段微软已推出跨平台的方案.Net Core,不过暂时只支持控制台程序)。安装程序可以从http://www.mono-project.com/download/#download-mac地址下载。我下载的5.16.0版本。 安装完后,在Terminal里执行以下命令(5.16.0是你的版本号)/Library/Frameworks/Mono.framework/Versions/5.16.0/bin/mozroots --import --sync接下来如果想要运行Fiddler,还需要把Mono加入
  为什么写这篇文章我个人有一个技术群,里面学什么框架的都有,经常会有人问 某某功能 在 哪个框架怎么实现,用什么框架实现更好,说道这里我大家讲一个同类型问题的笑话某女:你能让这个论坛的人都吵起来,我今晚就跟你走。某软件工程师:PHP是最好的语言!某论坛就真的炸锅了,各种吵架../..某女:服了你了,我们走吧,你想干啥都行。某软件工程师:今天不行,我一定要说服他们,PHP必须是最好的语言大家注意重点哦(可能有同学会说 活该单身狗 哈哈),这边文章的标题 就和这个语言争论是一样没有最好,只有更适合和语言之争一样,框架一样没有那个最好这种说法,只有更适合。这里的更适合我要给大家解释下。更适合是 你非常了解一个框架 ,一定要注意不是因为你使用过 就一定更适合,因为只有你认证了解过 在出现极端问题才知道怎么解决更适合是 你当前技术栈选择,例如公司大部分人都会Yii2 框架,你说我们选择个tp5,你这不是折腾人嘛,多人的智慧还是可取的更适合是 相对而言 文档比较丰富,不然新人学习成本很高的其实真有最好
  缘由经常会有人问xx框架怎么配置运行环境,这里我就给贴出吉祥三宝(Yii2,Laravel5,Thinkphp5 )的Nginx和Apache的配置,供大家参考NginxYii2server {         charset utf-8;         client_max_body_size 128M;         listen 80;         server_name yii.local.test;         root&n
诸王混战关于开发标准这块,可以说一直都是风格迥异,各家都有各家的玩法,民间更是个人玩个人的。目前我们国内比较出名的几个框架(Yii,Laravel) 都已经支持Composer并且加入了PHP-FIG(php框架程序组)。其中Composer的自动加载就支持PHP-FIG指定的PSR-0 和 PSR-4 规范来实现自动加载机制,并且Composer推荐使用PSR-4PHP-FIG这是一个自愿非正式的机构,但是就目前对我们的影响来看,可能都已经默认为一个公信组织了,的的确确制定了不少非常好的规范目前从官网看,已经投票( http://www.php-fig.org/psr/  )通过的有7个大的规范了PSR-0 自动加载规范 ( 官方已废弃,主要是php5.3以前没有命名空间 )PSR-1 编码规范PSR-2 编码风格推荐PSR-3 日志接口PSR-4 改进的自动加载规范( 官方推荐 ,规范更简洁调理清晰了)PSR-6 缓存接口PSR-7 HTTP消息接口Compose
  原始时代我记得在当时用php的时候还没有composer,只有个pear,但是不好用呀,还不如直接在互联网上到处复制代码了,更快更不容易出错,当时也没有github这么好的社区工具了总结如下代码混乱规范不统一没有后续统一更新等管理Composer侠应运而生composer直到如今 已有5个年头了,也是直到今年才有了第一个稳定版本1.0,以前都是alpha版本了,其实composer的发展 也和 PHP-FIG (后续会专门解释的)的发展有很大关系composer是php新时代的依赖管理利器,就像python的pip,nodejs的npm,javascript的bower等。你可以在自己的项目申明所依赖的外部库,composer可以帮你安装这些composer解决如下问题你有一个项目需要依赖若干个库其中一个库依赖其他库找出你需要的版本进行安装安装Composer要求composer 要求 php 不低于 5.3.2+命令curl -sS https://getcompo
  项目做完之后 接下来就是打包操作了,接下来直接说Android 打包操作生成签名证书keytool -genkey -alias vincentguo -keyalg RSA -validity 20000 -keystore vincentguo.keystore #说明: #    -genkey 产生密钥 #    -alias vincentguo 别名vincentguo #    -keyalg RSA 使用RSA算法对签名加密 #    -validity 20000 有效期限2000天 #    -keystore&n
  公司有个群发短信的小项目,项目上线了很久也没有什么问题,最近有商家说 我短信群发不能用现象是:发现有时候可以发送,有时候不可以发送,看截图发送的手机数量不一样通过调试php代码发现 php 只接受了1000个 请求参数,然后参看nginx的access 状态是200,正常。在查看php的error log 发现有句提示如下Unknown: Input variables exceeded 1000这句提示就是 最多1000 的请求参数,这个在某些项目中1000可能满足不了需求,所以我们需要修改下,找到php.ini文件 ,搜索关键字  max_input_vars  根据项目需求设置满足你需求的值
  个人一直想做个App,但是学习 IOS 的过程发现 原生的做界面还是听麻烦的就放弃了。后来就转到混合式App阵营了混合式App 定义Hybrid App(混合模式移动应用)是指介于web-app、native-app这两者之间的app,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”平台框架选择APICloudDcloud Ionic平台对比Dcloud 平台大量使用H5接口提供一些原生Api(官方号称40万Api),例如 webview,actionsheetMui提供界面框架论坛 和 文档 还算可以,入手快hbuilder开发工具不错(应该这个编辑器最出名了)APICloud 平台官方提供原生模块文档不好入手,新手入手有点高Ionic 平台官网只提供 UI框架 和 JS 组件文档比较完善有大量的插件,借助于 cordova/phonegap 平台遇到的问题 都可以 google 解决开发工具 部署都非常方便个人选择平台个人选择了ioni
条形码 和 二维码 对比一维条形码只是在一个方向(一般是水平方向)表达信息,而在垂直方向则不表达任何信息,其一定的高度通常是为了便于阅读器的对准。 在水平和垂直方向的二维空间存储信息的条形码, 称为二维条形码(dimensional bar code)。相比一维条码,二维码记载更复杂的数据,比如图片、网络链接等。一维条形码的应用可以提高信息录入的速度,减少差错率,但是一维条形码也存在一些不足之处:● 数据容量较小: 30个字符左右● 只能包含字母和数字● 条形码尺寸相对较大(空间利用率较低)● 条形码遭到损坏后便不能阅读(部分破坏还是有可能可以读取的)与一维条形码相比二维条形码有着明显的优势,归纳起来主要有以下几个方面:● 数据容量更大● 超越了字母数字的限制● 条形码相对尺寸小● 具有抗损毁能力条形码 和 二维码 应用场景条形码的应用场景条形码可以标出物品的生产国、制造厂家、商品名称、生产日期、图书分类号、
  最近手贱把phpstorm 升级到了最新版,发现输入中文符号输入不了呀,全部都变成英文符号了,例如输入的逗号、句号(,。)等都被转换成了(,.)经过各方搜索,这个在官方也说了,是个bug,JDK的bug,点击这里去官方查看  目前官方还没有解决补丁,只有降低JDK版本了,目前测试出来 jdk1.8.0_45是可以的,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html#jdk-8u45-oth-JPR我是mac版本的,安装 jdk1.8.0_45的时候,需要先删除jdk删除命令如下sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin sudo rm -fr /Library/Pref
为什么要使用HTTPS主要是为了安全,虽然没有100%的安全,但是我们可以尽量提高安全级别,目前大型网站都已经使用HTTPS了注册StartSSL注册页面  选择国家 和 输入 邮箱  他们会通过邮箱地址给你个验证码,在这期间不要关闭选项卡或浏览器 , 所以你只要保持打开状态,知道获得验证码并贴上它点击注册,设置证书密码下载证书到本地,点击证书文件,提示输入密码就输入上一步设置的密码,然后点击下图第三个框的here进行登录生成证书准备工作现在,我们需要使得StartSSL相信我们拥有自己的域名,我们想要为他生成一个新的证书。从控制面板中,点击“Validations Wizard”到此域名认证就通过了生成证书下载证书到本地,然后根据自己webserver使用不同的文件Nginx 配置server {     listen       80; &nbs
通过授权服务器授权jetbrains是一家专门做IDE的软件公司,软件也非常好用,但是授权特别贵,下面就说说免费的方式,就是使用授权服务器,地址:http://idea.qinxi1992.cn 自己搭建授权服务如若上述公共授权服务被封了,那就只能自己搭建了,不难,按需从附件中选择版本就好了附件地址https://yunpan.cn/cvBFY3G5rSisC  访问密码 b3ce根据自己电脑系统选择对应的版本启动服务本人系统ubuntu 虚拟机,启动命令sudo ./IntelliJIDEALicenseServer_linux_amd64 2016/10/14 22:16:25 ************************************************************* 2016/10/14 22:16:25 ** IntelliJ IDEA&
  AppArmor 是一款与SeLinux类似的安全框架/工具,其主要作用是控制应用程序的各种权限,例如对某个目录/文件的读/写,对网络端口的打开/读/写等等。 来之Novell网站的引用:AppArmor is designed to provide easy-to-use application security for both servers and workstations. Novell AppArmor is an access control system that lets you specify per program which files the program may read, write, and execute. AppArmor secures applications by enforcing good application behavior without relying on attack signatures, so it can pr
在企业内部一般都会有自己的DNS服务,主要为了企业方便管理,例如访问一些内部系统,控制一些网站不让访问,今天我们就说说如何打造私有的DNS服务系统基础配置Ubuntu14.04  内存:354M (使用vagrant 创建的虚拟机,快速打造自己开发环境 vagrant + virtualbox)    安装DNS服务sudo apt-get install bind9 bind9utils修改配置上篮三步简单设置  用 dr.local.com 为测试域名1.配置forward  编辑/etc/bind/named.conf.optionsforwarders {     114.114.114.114;     8.8.8.8; };2.配置需要解析的域名 编辑/etc/bind/named.con
我是IOS新手,都说storyboard是个好东西,但是我搞了一会始终没有搞懂,并且我觉得学习一门语言,使用类似以前网页三剑客这种所见所得工具,不太利于学习,所以我就想着移除storyboard1:我们通过xcode新建的项目,默认会有个Main.storyboard ,我们就是要干掉这个2:移除storyboard3:删除Main.storyboard 之后,再启动app就和黑屏,这个时候就需要修改代码在AppDelegate.m文件中didFinishLaunchingWithOptions方法加入以下代码- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {     // Override point 
哥总算用上了mac,走上了小康了phpstorm:个人工作中最常用的软件了pycharm:这个写python的,和phpstorm是一家开发的sourceTree:git 可视化工具xcode:如果是你个开发并且用mac,那么你不知道这个软件就去一边凉快去Sequel Pro:数据库管理工具Audacity:这货基本不用,我在做一个项目用到了,就是通过手机发射红外波,需要看看其他软件发的波形,用这个录音(当然需要一个公对公的耳机线了)alfred:这个是mac下面的搜索利器,自带的Spotlight我都不用了clearMyMac:清理磁盘,删除软件Postman:发送http请求的工具插件,但是chrome商店也有客户端下载Axure RP Pro:画原型图工具Atom:基本不怎么用,有个插件非常牛逼叫做activate-power-mode,效果感觉可以装逼泡妞了,最后面附上效果图BetterZip:解压缩工具(主要用于解压rar)zip都是mac自带的ShadowSocks:FanQ
前言在博文中 解读大型网站的演变过程  浅谈 举家搬迁静态文件到CDN 博文中都有涉及CDN,这次我们来详细讲解下CDN的架构简介CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求好处提升访问资源速度,为用户提供更好的用户体验,例如访问某个图片,原来如果从源站获取可能需要30s,但是使用cdn之后可能只需要 1 ~ 5 s,因为cdn是从离用户最近的服务器获取图片资源的适用对象静态资源,例如js,css,图片资源,视频,音乐资源,软件资源等等CDN架构实例:某个用户访问图
Tips:使用虚拟机都要安装加强工具,撒,加强工具是什么?自己google去吧新建一个共享目录然后重启系统进行如下代码设置即可 ~$ df //可以看到vincent盘已经有了 ~$ sudo mkdir /mnt/share  ~$ sudo mount -t vboxsf vincent /mnt/share如果想自动挂载的话,可以在/etc/fstab中添加一项vincent /mnt/share vboxsf rw,gid=100,uid=1000,auto 0 0
我是一个懒人,所以很多事情都不喜欢手工处理。随着年份的增加,个人的书籍也越来越多了,但是如果要找什么东西时候,我可能自己都不知道我有什么书,书籍主要讲解什么内容了。所以我就想到了电子书库,将自己的书籍都录入到电子数据,这样可以方便以后查找了。只说不做非程序猿了。还说什么了,直接开做了说下我的思路,很简单每本书籍都有条形码ISBN,千万不要告诉我你不知道条形码是神马,算了,我还是截张图。根据ISBN号,我们可以通过豆瓣api查找书籍信息。第一步:识别条形码这个比较简单,现在免费的扫描工具很多,但是不太适合我,因为我要把扫描的IBSN号发到我的电子书库接口,然后通过isbn号查查到数据信息并录入数据库,所以我就要自己写扫描工具,本人使用IOS开发客户端,扫描库使用zbar(告诉大家一个秘密,嫌麻烦可以使用phonegap开发客户端)。第二步:通过条形码ISBN号查找数据信息这一步非常简单,直接调用豆瓣的api就可以,查找书籍信息,然后保存到数据库就好了。豆瓣api如下https://api.
简介Charles 是在 Mac 下常用的截取网络封包的工具,在做 iOS 开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。Charles 是收费软件,可以免费试用 30 天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。因此,该付费方案对广大用户还是相当友好的,即使你长期不付费,也能使用完整的软件功能。只是当你需要长时间进行封包调试时,会因为 Charles 强制关闭而遇到影响。Charles 主要的功能包括:支持 SSL 代理。可以截取分析 SSL 的请求。支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。支持 AJAX 调试。可以自动将 json 或 xml 数据格式化,方便查看。支持 AMF 调试。可以将 Flash Remoting 或
  第一部分,通信接口的实现标签(空格分隔): PHP 手机后台 api 通信接口 AndyPHP开发手机API时,一般返回XML或JSON数据类型的数据,除了要返回从源数据(程序本身需要的数据)外还应附上状态码,以下是一段封装后的数据,它使用JSON格式展现:{ code: 200, message: "Success", data: [ { username: "安明哲", password: "123456", level: "1", gold: "0", id: "6", create_time: "2015-09-26 08:25:31", is_active: "1", is_admin: "0" }, {
  本人使用mac系统,命令行工具使用的iterm2,登录自己的云主机的时候 每次都要提示如下错误-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory解决方法:打开iterm2的preferences的Terminal关闭最下面的 Set locale variables automatically为什么会出现这个问题?我们在mac上查看$ echo $LC_CTYPEUTF-8在服务器上 $ echo $LC_CTYPEen_US.UTF-8mac上面是UTF-8,服务器上面识别不了UTF-8,一般都是”en_US.UTF-8” ,所以会报cannot change locale (UTF-8): No such file or directory 这个warning 
  中文乱码是因为编码集不支持,所以要改变编码先查看下设置的编码使用如下命令show variables like 'character%';在 mysql.conf (Ubuntu mysql5.5)中的 [client]区域加上 default-character-set = utf8在[mysqld]区域加上character_set_server = utf8重启服务
  今天手贱,看到mysql 的日志在/var/log/mysql下面。总是觉得别扭,于是就想改变日志的位置,本人开发环境 vagrant  + ubuntu12.04 ,在/etc/mysql/mysql中修改了general_log的位置,放在/data/logs/mysql下面然后重启服务,service mysql restart查看错误日志发现说 /usr/sbin/mysqld: File '/data/logs/mysql/mysql.log' not found (Errcode: 13)150830  0:02:44 [ERROR] Could not use /data/logs/mysql/mysql.log for logging (error 13). Turning logging off for the whole duration of the MySQL server process. To turn it on
  最近做项目,发现了一个报错  Only variables can be passed by reference,  意思是“只有变量能通过‘引用’”就是在代码中 使用了一个方法,这个方法的参数值传址引用的例如php的 end方法php官网的说法(PHP 4, PHP 5)end — 将数组的内部指针指向最后一个单元说明 ¶mixed end ( array &$array )end() 将 array 的内部指针移动到最后一个单元并返回其值。参数 ¶array这个数组。 该数组是通过引用传递的,因为它会被这个函数修改。 这意味着你必须传入一个真正的变量,而不是函数返回的数组,因为只有真正的变量才能以引用传递。返回值 ¶返回最后一个元素的值,或者如果是空数组则返回 FALSE。错误的使用:end( explode
  Vagrant 默认的 VirtualBox 共享目录方式读写性能表现并不好,好在 Vagrant 支持 NFS 文件系统方式的共享,我们可以启用 NFS 提升性能开启方法首先要把虚拟机的网络设置成 :private_network 模式。然后确认宿主机系统是否安装了 nfsd,Mac OS X 默认是集成了的,部分 Linux 需要安装对应 package 才能支持(以 Ubuntu 为例):$ sudo apt-get install nfs-kernel-server nfs-common同时,虚拟机里的系统也要安装对应的 package:$ sudo apt-get install nfs-common接下来编辑配置文件 Vagrantfile,将共享的目录 nfs 设置为 true,如下:Vagrant.configure(&qu
  • 微信公众号 微信小程序
  • 微信机器人
  • 群1:1046090432
  • 群2:585567981