我们技术人一般都会有自己的一个博客,用于记录一些技术笔记,也期望自己的笔记文章可以让更多人知道。如何让更多人知道自己的博客?搜索引擎收录,用户通过关键词搜索可能会进入内容运营,但是一般技术人为了文章做运营的人应该没有几个通过大流量同类型网站导流量我是使用 方法一 和 方法三,方法一就不说了,互联网人都知道了,但是小网站效果不会太好了。方法三就是充当复读机:复制 和 粘贴  到其他技术网站“复制 和 粘贴  到其他技术网站” 收起来容易,这TM就是个体力活呀,谁愿意自己写了一篇文章 再占用半个小时,同步到各个技术网站和论坛。我这次记录的就是如何简单方便的同步管理?MetaWeblog,对就是这个名词,这也是一个协议,我所知道的各大技术网站基本都实现了这个协议,通过这个协议我们就可以向各大技术网站通过接口直接同步博客。作为一个技术人员还是要与时俱进,时刻学习呀,我是偶然有这个想法查阅了一些资料知道了这个协议,但是这个协议于2002年都被提出来了,直到今天才知道,真是羞愧呀
  缘由最近在偶然机会下看了些关于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-
缘由    Python在AI,AR VR这块使用越来越广泛。同时在Web方面也有很多成熟的框架。而我本身由于使用Flask 比较多,个人认为就是比较简单,容易入手,可定制化强。这里我将我经过多个项目多次迭代的自认为还可以的框架结构整理出来。方便自己可以更容易创建新项目。    大家也知道我录制了两门关于python的课程都是基于这个定制化的分层结构的框架开发系统的目录结构. ├── api  api存放 │   ├── controllers 所有的C层放在这里 │   ├── interceptors 拦截器相关 ├── application.py  封装的Flask的全局变量,包括app,数据库等 ├── common 存放
起因由于我录制过一个小程序的课程,里面有消息模板的讲解。最近有几位同学反馈 官方要 取消消息模板,使用订阅消息。为了方便大家容易学 Python Flask构建微信小程序订餐系统  课程。我把订阅消息结合这个课程讲解下如何实现实现过程其实对于我们来讲,对接第三方无非就是接口地址换了,或者流程上做一些调整。好,废话少说我们直接来通过实战讲解如何对接  订阅消息第一步:阅读订阅消息官方文档对接任何东西必然要先了解这个东西是什么?流程是什么样的?官方文档地址:点击这里传送门。主要步骤就是 申请模板、获取发送权限、后端调用api发送。其中和模板消息最大的区别 就是要获取下发权限,这是最大的区别。也就是这个权限控制在用户手中了。第二步:申请模板第三步:获取授权这一步就需要有个界面明确让用户订阅消息,如果用户拒绝 就不能给用户发送消息了。需要改一下我们课程的小程序。对应API地址:点击这里传送门。那我们来修改我们支付相关的代码。修改记录 总共需要修改三个文件mina/p
  最近使用了acme.sh 生产了 Let's Encrypt 的https 证书,但是在实际服务器上测试遇到如下问题$ curl  "https://www.aaa.com" 如下错误 curl: (60) Peer's Certificate issuer is not recognized. More details here: http://curl.haxx.se/docs/sslcerts.html curl performs SSL certificate verification by default, using a "bundle"  of Certificate&
工欲善其事必先利其器,开发环境 和 开发工具 就是 我们开发人员的剑,所以我们需要一个快并且好用的剑关于本篇博文有视频讲解的:vagrant打造跨平台可移动的开发环境对应章节介绍刚开始做开发的时候的都是把开发环境 配置在 自己的电脑上,随着后面我们接触的东西越来越多,慢慢的电脑上都是各种环境了,php,java,python,nodejs等等,非常麻烦,并且经常由于某种原因就把电脑重装了,ORZ,所以环境都要重来。所以打造一个属于自己并且可以移动的环境是非常重要的。vagrant就是一款构建虚拟开发环境的工具,支持window,linux,mac,总有一款适合你。并且vagrant 可以把配置好的环境打包成一个box,分享给其他人直接使用,非常方便系统要求:(本人mac系统)机器支持虚拟化,有时候需要调整bios开启cpu虚拟化。第一步:安装virtualbox (本人virtualbox版本 4.3.30)           
引言权限系统模块对于互联网产品是一个非常重要的功能,可以控制不同的角色合理的访问不同的资源从而达到安全访问的作用此外本次课程有视频讲解: http://www.imooc.com/learn/799 ,对应演示系统:http://rbac.54php.cn 权限控制模型ACLRBAC 基于角色的访问控制从上图我们可以看出,ACL是用户和权限直接关系的,RBAC则是通过角色间接关联用户和权限的。所以角色是RBAC系统的一个重要属性Why RBAC为什么我们选择RBAC模型,原因如下方便用户分组方便权限分配和回收扩展方便,可以满足大部分业务需求RBAC框架图中有5个角标数字,对应的就是RBAC模型重要的5个属性RBAC关系图序号关键属性描述1用户 张三、李四、王五2角色销售经理、销售、前台3用户角色关系张三 是  销售经理 、李四 王五 是 销售4权限添加客户、编辑客户、删除客户,查看客户5角色权限关系销售 拥有 查看客户的 权限、销售经理可
缘由在前面写过一个文章 人生苦短,我用Python  给大家简单介绍了一下Python 能做什么。然后广告了下当时的新课程 Python Flask构建微信小程序订餐系统 。该课程上线之后有些同学反馈没有详细讲解Flask的基础知识 和 课程改造的框架为什么这么来的。基于该原因,重新录制了一门新课程:Python Flask 从入门到精通 。希望大家可以喜欢演示地址:http://movie.54php.cn 大纲课程简介本次课程相对来说比较基础,但是麻雀虽小,五脏俱全。重点是从头到尾的给大家梳理讲解整个Flask 框架的完整知识,并通过演变的方式给大家讲解如何打造构造层次分明的高可用MVC框架。主要是告诉大家为什么?而不是就这样用,让大家明白原理。课程是在双系统下面给大家讲解的,大家可以根据自己喜欢的操作系统进行学习:Windows 和 Linux CentOS7。而Python 我们选择的是3.7版本学习路径【收费
多变的2019        时间是一个伟大的发明,未来总会成为过去,对时间逝去的感慨,同时也对未来充满了希望。被度量的2019年过的真快,这一年可以分几个词来聊聊:焦虑、抉择、重新出发、感恩焦虑        相信大家今年都在经历的各种变动和被变动:动荡的一年。其实在2018年底通过身边的一些事情和消息,感觉到危机很大。对于一个家庭大部分(70%左右)收入靠定时工资的,需要支撑各种开销来讲。无论是正在进行时、还是未来的 变动和 被变动,对于我们这种普通家庭都是折腾不起的。当对未来的恐惧不知道如何解决的时候就会非常焦虑。抉择        所谓穷则思变,既然看到未来的一些路,总不能坐以待毙等死。所以在2018年底就在各种找各路朋友和长者咨询。从2018
起因今天登陆服务器想查看一个端口的占用情况,发现好多TIME_WAIT的情况,吓我一跳。如下是TCP 建立连接的示意图缘由time_wait的作用TIME_WAIT状态存在的理由: 1)可靠地实现TCP全双工连接的终止    在进行关闭连接四次挥手协议时,最后的ACK是由主动关闭端发出的,如果这个最终的ACK丢失,服务器将重发最终的FIN, 因此客户端必须维护状态信息允许它重发最终的ACK。如果不维持这个状态信息,那么客户端将响应RST分节,服务器将此分节解释成一个错误(在java中会抛出connection reset的SocketException)。 因而,要实现TCP全双工连接的正常终止,必须处理终止序列四个分节中任何一个分节的丢失情况,主动关闭的客户端必须维持状态信息进入TIME_WAIT状态。   2)允许老的重复分节在网络中消逝  TCP分节可能由于路由器异常而“迷途”,在迷途期间,TCP发送端可能因确认超时而重发
缘由最近我们公司的慢SQL特别多,特别是某个固定的表,每天基本都有好几千的慢查询,但是这个表有特别大,不能随意加索引,索引我们就需要一个工具来协助我们进行改DDL的时候,不影响业务,那就是 PT工具效果图如下是慢SQL数量折线图 明显可以看到大幅度下降了使用场景在线数据库的维护中,总会涉及到研发修改表结构的情况,修改一些小表影响很小,而修改大表时,往往影响业务的正常运转,如表数据量超过500W,1000W,甚至过亿时在线修改大表的可能影响在线修改大表的表结构执行时间往往不可预估,一般时间较长由于修改表结构是表级锁,因此在修改表结构时,影响表写入操作如果长时间的修改表结构,中途修改失败,由于修改表结构是一个事务,因此失败后会还原表结构,在这个过程中表都是锁着不可写入修改大表结构容易导致数据库CPU、IO等性能消耗,使MySQL服务器性能降低在线修改大表结构容易导致主从延时,从而影响业务读取pt-online-schema-change介绍pt-online-schema-change是pe
缘由由于我个人有个小博客,然后还录制了一些课程,所有就建立了对应的微信群,但是微信群的二维码是变化的,总不能经常换了。所以就想搞一个微信机器人,自动加 微信,自动拉群。废话不多说,先上图效果展示大家可以试试效果,效果相当棒需求其他人可以通过二维码加我好友 自动通过好友通过之后 主动发送一些邀请入群链接和介绍信回复 邀请 、加群 可以发送邀请入群链接所有聊天数据都要存储起来 并且可以通过Web展示根据用户输入信息 回复相关内容技术选型Python3Flask:轻量级的MVC 框架itchat :实现微信API相关接口MySQL:存储相关微信内容图灵机器人:调用API实现主动场景回复架构本人没有使用flask 默认的MVC方式,使用了我自己实现过后的:结构分层明了的MVC框架 。结构如下每一个文件夹都有自己明确的作用├── application.py ├── common │   ├── libs │  &nb
  有时候我们把Yii2 版本进行升级之后 会报一些莫名其妙的错误,这次就遇到如下错误信息an Error occurred while handling another error: exception  'yii\web\HeadersAlreadySentException' with message 'Headers already sent in /xxxx/xxxx/xxx.php on line 90.' in /xxxx/xxxx/vendor/yiisoft/yii2/web/Response.php:366 Stack trace: #0 /xxxx/xxxx/vendor/yiisoft/yii2/web/Response.ph
我们都知道CSS盒模型分为IE盒模型和W3C标准盒模型,它们的计算方式和一个CSS属性有关box-sizing。box-sizing属性值content-box | border-box 默认值:content-boxcontent-box当我们对元素设置content-box.demo1 {   box-sizing: content-box;   width: 200px;   height: 200px;   padding: 20px;   margin: 10px;   border: 5px solid #333; } 复制代码在浏览器具体表现为border-box当我们设置成border-
缘由个人在后台获取了一个新浪图片,最近新浪图片无法展示了,看了下http请求返回状态是403。说明被限制住了。原理一般这种限制都是 通过判断 referer 或者请求来源IP 是不是信任的。解决方案方案一增加如下代码在head头部,但是就会导致所有的请求不会有referer ,这对于我们正常完整进行溯源不太友好方案二可以使用反向代理解决下,通过代理服务器 中转下就可以了。个人推荐第二种方式。但是这样会占用服务器的流量效果不要眨眼。哈哈。采集了一些图片
  家里有一条电脑作为存储,安装了redis 服务,但是后面发现redis服务经常有问题,想卸载无法卸载sudo apt remove redis-server Use 'sudo apt autoremove' to remove them. The following packages will be REMOVED:   redis-server 0 upgraded, 0 newly installed, 1 to remove and 202 not upgraded. After this operation, 919 kB disk sp
使用模态框,一般都会自动带上一个属性,tabindex="-1",因为这个属性的存在,导致select2的搜索框无法输入,去掉这个属性即可解决 html中的tabIndex属性可以设置键盘中的TAB键在控件中的移动顺序,即焦点的顺序。   把控件的tabIndex属性设成1到32767的一个值,就可以把这个控件加入到TAB键的序列中。
仿知网https://www.cn-ki.net/仿知网是一个完全可以代替知网的精品网站;是一个非常强大的论文搜索网站。首先这个网站的论文检索结果和知网的搜索结果基本一样,而且这个网站每个账号前期免费提供论文下载,当你的下载次数没了,你完全可以用其它邮箱再注册其它账号使用;当然,如果你不想再注册账号,这个网站提供一块钱随意下载论文一天,也是非常值得尝试。总体而已,如果需要下载论文,这个网站是一个非常好的选择。全球电视直播http://bddn.cn/zb.htm全国电视直播是一个功能非常强大的电视直播网站,真的是十分良心;电脑推荐使用 edge 浏览器打开或者使用其它浏览器打开,然后右键复制视频地址,potplayer 打开链接也可以播放;注意:电脑直接用浏览器打开可能播放不了,手机可以正常播放。它支持几百个电视直播的网站,几乎拥有一般电视直播网站拥有的所有频道,它还支持港澳台卫视,国外电视等等。它还有的特点就是电视直播播放速度和加载速度非常之快,画质也是十分高清;最后,网站界面简洁,没
  问题一 :somaxconn redis启动警告问题:WARNING: The TCP backlog setting of 511 cannot be  enforced because /proc/sys/net/core/somaxconn is set  to the lower value of 128. 这句话的翻译大概就是:对一个高负载的环境来说tcp设置128这个值,太小了。  这是我的理解,绝对的还需到官网理解。然后我们可以手动设置,或者设置永久值临时解决方案echo 512 > /proc/sys/net/core/somaxconn长期解决方案sudo vim /etc/sysctl.conf #ne
  问题最近使用flask jsonify 进行序列号的过程发现 如果是decimal类型 就会出错,错误如下typeerror object of type 'decimal' is not json serializable jsonify解决方案根据 https://github.com/pallets/flask/issues/835 的解决方案如下pip install simplejson
  一台nginx服务器开了目录浏览功能。方便下载文件。使用时发现,目录内的文件,创建时间比实际时间少8小时。查看官方文档:http://nginx.org/en/docs/http/ngx_http_autoindex_module.html  ,找到这个:autoindex_localtime,作用:是否用本地时间显示时间。默认:否,使用UTC时间。设置 autoindex_localtime on 问题解决。
客服系统开源啦相信最近大家在浏览 浪子博客的时候 ,发现右下角有个浮层。这就是最近做的客服系统。先上图我们看看效果功能特性截图版本是多商户版本,功能相对较多,并且为了支付高并发引入了Redis。该应用在生产对外提供服务。主要功能如下提供商家和客服后台游客聊天,每天游客编号固定,游客UUID有效期为永久提供来路、浏览器、操作系统、设备、访问量统计留言功能商家后台添加客服、留言查询、对话查询定制化设置商户配置(自动弹出、浮层名称、商户名称)支持PC + 手机端 + 微信小程序 + 微信公众号支持IE8技术选项Yii2 GatewayWorker (基于WorkerMan)Mysql Redis为什么使用GatewayWorker?由于GatewayWorker是基于 WorkerMan,并且使用php实现的。主要是为了方便出问题比较好查询。而Swoole 使用C写的,效率肯定会比较高。但是由于本人C不行,怕出了问题无法解决。Redis用来干什么的?用来异步操作的,例如异步
        最近是不是感觉到QQ群,微信群编程浪子都不怎么活跃了?那是因为翻过大山越过海洋出去浪去了。废话少说,先搞点图片视频我们炫一炫 :)。由于公众号限制图片和视频只能少部分,大家可以在最后阅读原文查看美图和视频                这次我们出去了10来天,去了泰国的三个地方。可能有些同学说泰国也算翻过大山越过海洋呀,哈哈。原谅本人没离开过亚洲 :)                不同的年龄段可能出去看到和观察的事物不太一样,这里本人说一下我这次出去的一些感受和想法。不接受反驳
前言最近有好几位同学直接微信赞助说快点更新文章。这个要和大家说声抱歉,的确很久没有写文章了。我们也不找借口,我会尽力保证多写文章。今天我们的主题来讲解 如何给自己的网站 加上HTTPSHTTPS是什么?相对于http,你会发现https 多了一个 S,没错这个S 表示的就是  Secure 安全的意思。为什么要加入这个? 主要是由于HTTP是明文传输的,如果被不法相关人截取了可以直接看到。并且在如今互联网下面 很多人都非常在乎隐私,所以HTTPS已经是趋势化的要求了。HTTPS证书如何获得?我们所知道的这个东西是要收费的,目前很多云服务商打着第一年免费的噱头和主机一起做活动(第二年就会收费的)。今天我们要来说的是如何免费获取HTTPS证书。 免费的安全?其实https证书基本上都是安全的,因为现在的加密算法基本已经很难破解。这里面主要关注点应该在于 浏览器是否可以显示 绿标(或者安全锁)而这个安全锁的显示 是浏览器内置了很多 信誉比较好的 SSL证书机构,这些机构颁发
缘由最近帮朋友看一个直播网站的源码,发现这份直播源码借助 阿里云 、腾讯云这些大公司提供的SDK 可以非常方便的搭建一个直播网站。下面我们来给大家讲解下如何借助 腾讯云 我们搭建一个简易的 直播示例云直播架构主要分三部分1:直播端 通过设备 直接通过 直播服务提供方 的推流 地址 进行直播视频,这些直播流视频 会推送到  直播服务提供方  直播服务器云存储2:直播服务提供方  会将 云存储的 视频流 转发到 CDN 节点3:观众 就通过 各种终端 看直播(此时就会根据不同游客 会 访问不同的节点 )生成推送流URL根据 腾讯云直播官方  https://cloud.tencent.com/product/lvb 介绍,所有用户都可以领取20G 的流量,够我们测试了。 准备工作1:官方注册账号 领取20G流量 官方地址: https://cloud.tencent.com/product/lvb2:需
需求我们都知道在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加入
何为 内网 转 外网从名称 我们就可以 猜到大概的意思。内网指的是我们的家庭网络(特指亚洲地区了),主要是我们亚洲地区公网IP不够每个家庭分配,所以就有了大的局域网内网。外|公网指的 可以直接被访问的网络为什么需要 为什么会 有 “内网转外网的工具“的需求?个人觉得原因有如下在我国的国情下面,基本都是内网IP,不像美国,个人家庭都是公网IP了购买公网IP就相当于要购买服务器,代价有点高本地化调试:例如微信开发基于以上的情况,就有各位大大们发明的各种方法实现 将本地内网网络 转化 为 公网的方法作用目前比较常用的作用有以下几点微信本地调试远程演示:可以随时将本地的程序 给 别人看工具介绍NO.1 Ngrokngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放。我个人常用的是这个,用于微信开发调试,但是嘛最近不是那个二货搞了个带颜色的网站,导致提供免费服务的被微信封了,有时候哇,
需求背景在上一个章节我们讲究了私有云的部署,但是会有一个问题,我如果在外面,如何访问家里电脑上部署的私有云服务?其实这个问题在扩大化说 就是 如何可以在家庭网络以外 可以访问到 家庭网络:公网 访问 内网。内网转外网顾名思义:就是想办法把自己的内网机器 可以直接 让外网可以访问。由于我们互联网技术不是我们国家发明的,在加入互联网之后我们分配到的公网IP也不多,不像美国人口少IP还多,基本每家都有公网IP(好羡慕)。在我们国家需要公网IP必须要购买服务器或者家里安装电信网络。而我家的情况安装了电信公司提供的网络服务有一个 不固定的公网IP。我们的文章我主要解释我家里的网络情况。后面会介绍几种非网络服务商提供的公网IP的方式。电信网络公网IP如上图,通过ip138可以查询到,我的出口IP是上图。切记非电信供应商截图的IP不一定是通过你家,可能是通过多种路由设备转入到你家,这种就不行的。可以看到电信猫的管理界面IP和 ip138查询的一样,就说明我家的IP是公网IP如上图,我家里的网络是 电信
  背景最近做智能家居,需要用到一些应答词 需要自己录制。但是在mac下面通过 QuickTime 录制的是 m4a格式。但是应答词需要 wav格式。所以就需要转化了解决方法# sox 不行, ffmpeg 很麻烦,用 avconv 很简单。安装 如果没有就安装 # apt-get install libav-tools  avconv -i xx.m4a  xx.wav
需求背景工作多年之后发现有太多的电子资料到处存放。个人电脑是Mac,硬盘都不大,放不了太多东西。并且有时候想随时随地存放一些东西。所有就有了大家一个私有存储的需求个人休息在家经常喜欢看电影电视剧,所有就有个想法,上班空隙可以下载自己喜欢看的资源,然后晚上或者休息日可以直接在电视上看,这样就想到了通过DLNA服务来和私有云结合起来效果图私人存储PC手机端DLNA智能电视硬件准备上图是我家的私人机房,是不是很牛逼。哈哈。我们整个系统都搭建在Mini PC(如果只是个人测试可以随便搞个虚拟机就行了)上,非常小。适合放在家里。本人在京东购买的,有需要的可以私聊具体信息。硬件信息如下操作系统:Ubuntu 18.04硬件配置:8G内存 + 1T机械硬盘 + 4个CPU环境:nginx + fpm私人云:NextCloudnextcloud简介nextcloud 是一个php开发的软件,官网地址:https://nextcloud.com/  。官网提供app方便移动上传。同时PC端提供了
  • 微信公众号 微信小程序
  • 微信机器人
  • 群1:1046090432
  • 群2:585567981