缘由        随着最近这两年在我们跑,越来越感觉信息安全的重要性。而我们很多网站经常都是使用用户名和密码的方式进行登录,在我看来这种方式是目前当前最不安全的一种方式。这个时候就想到微信登录来解决安全的问题。        微信扫码登录我所知道的有两种方式:微信开放平台扫码登录 和 微信公众号扫码登录。方案选择        前面说了有两种方式,那么我们应该选择哪种方案咧?下面我们来说一下各自的优缺点(如下表格)。微信开放平台扫码登录微信公众号扫码登录PC端登录支持支持手机端登录不支持支持强制关注公众号不支持支持对接难度简单复杂不少        如上表所示,微信开放平
燃点        最近在查阅很多人的github的时候发现他们的首页都非常个性化,感觉挺新奇的,就去了解了如何配置个性化github首页效果展示动手实践        这个小彩蛋不知道是否一直都有,反正是被发现使用的时间好像不长。主要原理就是 github的这个个性化首页会 自动记载获取 和你用户名一样的一个仓库。如下图创建一个和自己用户名一样的仓库,然后README.MD 就可以写个性化首页的内容了后续计划        后续在做一个自动化同步脚本,将博客文章同步到github首页,参考该首页推荐资料        更多的彩蛋玩法 请大家查看: awesome
  缘由        大家都知道我们做一个客服系统,是基于websocket长连接服务的。在这些长连接服务进程中,会对数据库有些操作。建议尽量在这些长连接服务中,少查询数据,能用缓存都用缓存。我们都知道数据库服务保持连接是有时间限制的,过了时间在操作数据库会出现错误:MySQL server has gone away。这里就要用到数据库重连机制来实现了        我们的客服系统使用的MVC框架是Yii2,大家都知道我一直使用这个框架,其他的框架基本不怎么熟悉。那我们就看看基于Yii2 如何实现数据库断开重连机制解决思路        在很多编程语言里面有一个概念:连接池。在世界上最好的语言php世界里目前这块成熟的还是比较少的,这个主要是php的以
需求可以电脑投影到投影仪可以支持直播本地保留直播视频为什么会有如上的需求?因为目前我们广州、重庆都有研发,但是我同时只可能在一个地方,那么想让一个东西两地都可以看到,最方便的就是直播了。可选方案OBS我们测试过程中发现,如果电脑投影 使用OBS就会遇到找不到画面(如下图,无法用言语描述),还有声音不够清晰有杂音。所以OBS 被排除我的选择了,但是OBS 是可以满足我 录制课程+直播的 要求(这种就不要投影了)官方下载地址:https://obsproject.com/ EV录屏EV录屏 经过测试 在 Windows操作系统 满足了我们的需求(Mac版本功能太简单),只需要经过简单的配置就可以了。官方地址: https://www.ieway.cn/evcapture.html  本地录屏直播录屏微信小程序在上面的截图中我们可以发现,直播我们使用的是微信小程序,为什么选择微信小程序直播?很简单:免费、免费、免费。直播是很花钱的,有免费的为什么不用了,
缘由在前段时间我们进行服务器迁移的过程中 由于使用了多服务器 增加了反向代理,导致页面在另一台机器打不开。原因是因为我们触发了一个nginx默认规则,这里记录一下仅供大家参考。演示环境基础信息域名:www.testnginx.com   目录结构:. ├── a │   └── index.html └── a.html注解:在根目录,我们有一个 a.html 和 a的文件夹nginx配置server {     charset utf-8;     client_max_body_size 128M;     listen 80;     server_name www.testnginx.com;
缘由        随着工作时间越来越长,收藏的网址越来越多,并且会越来越多。我个人有非常喜欢收集喜欢文章的网址。最开始用的Chrome浏览器收藏夹,用到最后发现完全找不到网址了。其实主要问题如下几个收藏太麻烦,浏览器的收藏快捷键还要多次确认和选择分类各种网站收藏资源比较分散,最后搞得自己都忘记了在哪里收藏过各种收藏网站搜索太麻烦,要么有的就没有想法        其实以前我不会开发chrome插件,但是直到我使用过一些插件之后给了我思路和想法,就决定开发一个插件来解决我遇到的问题。Chrome 插件本身是挺好学的,看看我收藏的几个文章基本就会了CTBox特性右键收藏,一键必达,非常方便选中文字收藏:给链接加描述快速进去收藏夹支持搜索,编辑,分享,删除,加星安装教程        点击这里进
ELK简介ELK是什么?    elk是三个开源软件的缩写,分别是:Elasticsearch、Logstash、Kibana 。由于Logstash 客户端太占用资源,对服务器的要求比较高,后来FileBeat出现了 ,解决了资源问题,官方也推荐这个工具。    Elasticsearch:实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能    Logstash:日志收集,分析,过滤并转化到对应的存储库    Kibana:一个基于Web的图形界面,用于搜索、分析和可视化存储在 Elasticsearch指标中的日志数据    Filebeat:监控日志文件、转发。 需要收集数据的服务器端需要安装这个架构图如上图你可以看出来,FileBeat 将数据 通过队列 发给 Logstas
ftp?还有人用?其实在没有出来跑以前也觉得FTP应该死绝了,在上海各个比较可以的互联网公司,听到研发用FTP不说都鄙视吧,至少很多人认为没技术追求。但是我不得不说,在研发人员眼里觉得很Low的工具,在非专业人员眼里。需求来源方是:在互联网公司都会有设计或者前端,有很多公司其实只做单页面的,根本不需要什么后端人员。让设计或者前端学习Git 必要性不大,FTP又是一个交互非常有好的GUI工具服务,导致这种需求还是很旺盛的需求每个人元要有单独的账号不同账号可能允许访问的目录不一样记录操作日志配置环境安装vsftp#安装 yum install -y vsftpd #设置开机启动 systemctl enable vsftpd.service命令讲解#启动 systemctl start vsftpd.service #停止 systemctl stop vsftpd.service #查看状态 s
为什么写这个?        其实很早以前都想写一个这样的文章,只是最近有看到了很多那种 “互联网行业35岁要被企业优化掉?” 等这类贩卖焦虑的故事,所以赶紧抽着有点想法和时间写写,这种故事的讨论最后有不少就是 销售各种课程等等。今年疫情导致各行各业都受到了冲击,大家自身都感觉到大环境不好要什么好好提升自己,所以疫情之下 贩卖焦虑的就更多了。焦虑是什么?        那么焦虑的本质是什么? 我个人认为是缺乏安全感和控制力度。就拿  “互联网行业35岁要被企业优化掉?”  这个焦虑来讲,由于人人都会有35岁 特别是离这个岁数比较近的,如果身边再有年纪大点的确被优化掉的。那么这种体验你会感觉非常强烈。再加上不少大厂的确是做了调整优化这件事情。在大量的信息缠绕在我们身边时候 我们就会被这种 贩卖的焦虑 影
缘由    我在工作过程中发现,我们经常会开发很多相同类似的东西,每一次都是从零开始,既浪费时间还没有意义,基本都是复制。我个人认为我们应该把很多基础东西开发好 以后所有其他的应用系统都基于这个上面进行开发,既可以让基础越来越丰富,也可以统一维护。    学过我Python视频课程的应该知道,我都是用了同一个自己整理过的 Flask 框架。用的多了慢慢就整理和优化了很多技巧。技术选型    有很多人肯定有疑问,为什么我们要选择Flask,其实这个我觉得是根据个人使用习惯的,网上也有很多人对比了不少框架的。我个人用过Django 和 Flask 这两个框架,其实我觉得区别没有那么大,一定要说一个理由:Flask 比较容易入门,可以根据自己的想法改成自己想要的模式。    很早以前使用Django唯一的感觉是配置有点混乱(相对比Flask),但是经过这么
缘由    由于公司系统相对来说还是挺多的,定时任务也非常多,一直使用crontab配置存在几个问题。这几个问题只要使用该方式应该都会深有感触。问题一管理维护问题:定时Job太多,不清楚总共有多个Job,不知道每个Job到底是谁写的主要功能是什么。如果Job部署在多台服务器那就更要人命了问题二调度监控问题:crontab在一定程度上解决了调度问题,但是调度不光光是运行状态。在实际工作中还会关注,什么时间运行的,运行了多长时间,运行状态,消耗多少内存等等技术选型    该项目使用python语言开发,其实用php等其他语言也是可以的。但是对于这一类运维类系统 使用Python开发比较容易维护些。而使用Python的话,我们也可以基于前面介绍的 Flask CMS V2框架。该Jobs系统应该也算是第一个基于我们 Flask CMS V2 开发的应用项目了。功能特性教程文档Jobs(乔布斯)管理调度平台 
LeetCode        说到 LeetCode,作为一个程序员来说,应该不陌生,近几年参加面试都会提到它。国内外的程序员用 它刷题主要是为了面试。据历史记载,这个网站 2011 年就成立了,⻢上就要到自己 10 周年的生日 了。每周举行周赛,双周赛,月赛,在有限时间内编码,确实非常能考验人的算法能力。一些大公司赞 助冠名的比赛获得前几名除了有奖品,还能直接拿到内推的机。        如何获得电子书目前上述内容已打包成完整电子书,具体获取方式如下:关注 即学即码 公众号在  即学即码 后台回复关键词「LeetCode」获取下载地址同时会附带一大神刷 LeetCode 后整理的 520道题,每道题均附有详细题解过程。自发布以后,受到技术圈内广大开发者的赞赏,建议大家收藏阅读   &nb
起因        最近总是遇到悲催的事情,这次的事情更悲催,某机房提供服务供应商跑路了,早上10点多通知 晚上6点断电,我X你的仙人板板。抱怨归抱怨,但是烂屁股的事情还得擦。 没办法只能换机房了,幸好早都勾搭上了一家高防供应商。但是迁移也是一个麻烦事情。        窘境需要备份的文件过大        目前这边公司的主要提供广告服务,所有各种图片,静态页面比较多,图片总共差不多80G(分别是30G、50G 两个文件夹)待迁移的服务器过多    大概负责3个公司,高防机器总共5台。在相对差不多8个小时(其实不到6个小时,因为整理好这些机器的业务之后差不多12点了)要处理好这些迁移事情,时间总体来说肯定是不够的
悲催的事情    今天下午2点多(时间发生故障的时间是14:14 ,反馈时间却是:14:25 )收到运营推广部门同事告知,网站打不开了,这个烦呀,怎么会打不开了,由于以前的系统有问题,都重新写了,切换到新的系统上面了,打不开就直接报错了,报错页面如下分析过程 找到错误日志               出现错误不可怕,这一点我们必须第一时间明确,千万不要担心,担心解决不了任何问题。 对我们最有帮助的就是各种业务日志。通过查阅日志得出如下的错误,当时出现了大量的错误日志curl: (56) Recv failure: Connection reset by peer       
缘起        最近在网上看到一个非常厉害的项目:https://github.com/ouyanghuiyu/chineseocr_lite  ,可以进行图片OCR识别,并且识别率还可以,关注这个是为了风控系统中的网页图片识别做技术储备。大家可以去看看非常不错的一个项目问题    在运行过程中遇到了几个,大致问题如下截图。总结起来就是去三个共享库,这三个共享库是 opencv-python 需要的:libSM.so.6、libXrender.so.1、libXext.so.6 解决方案sudo yum install -y  libSM.x86_64 libXrender.x86_64  libXext.x86_64效果展示OCR识别效果非常不错,后面我要
缘由为什么要录制关于 HTTPS 的一个小课程,本来我是准备给我们团队分享下关于 HTTP请求过程 的主题。最近关于数据安全的话题越来越多,2020也可以称之为 数据治理年。所以计算要讲HTTP,那就把HTTPS一起讲了算了,不然可能PPT都凑不够30分钟 哈哈。大纲HTTPS是什么HTTPS为什么安全如何申请HTTPS证书如何配置HTTPS证书HTTPS是什么解读HTTP请求流程HTTPS为什么安全如何申请HTTPS证书服务商泛域名有效期自动续期阿里云不支持1年不支持Let's Encrypt支持3个月支持更多详细请看视频课程还在等什么赶紧去看看,从不知到全面了解HTTPS相关资料github下载地址:https://github.com/mooc-class/mooc gitee下载地址:https://gitee.com/mooc_video/mooc   
缘由最近在录制 从不知到全面了解HTTPS  这个视频,在使用acme.sh 申请ssl证书的时候 ,安装脚本出错,错误信息大致如下curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused解决方案绑定hosts的方式  $ vim /etc/hosts 199.232.68.133 raw.githubusercontent.com
缘由由于过年期间,大家都在外地,临时需要登录FTP,特别2020年面临肺炎事件,大部分员工都在家办公了。但是非常奇怪的是 一直出现如下 错误ftp> ls 500 Illegal PORT command. ftp: bind: Address already in use ftp> ftp> dir 500 Illegal PORT command.解决方案我开始还以为是网络问题,但是测试各种情况,都不行。然后就上网查看了相关资料发现是防火墙设置的问题。通过如下解决问题局域网用FTP命令访问外网的FTP SERVER,执行任何命令(如dir,ls,put,get)总是报下面的错误 ftp:500 Illegal PORT command. 425 ftp:Use PORT 
问题最近心血来潮把mac版本升级了下,然后就发现我写的登录SSH的脚本  无法登录服务器了。一开始以为是dns出问题了,但是单独 ping  域名  ip 却是对的,我就非常郁闷了。但是由于比较忙一直就没有在乎这个问题,今天上网搜索了下发现有人遇到同样的问题,原来是 mac 升级之后的一个Bug、Bug、Bug。解决方法按照新版本的opensshbrew install openssh
  需求分析        现在微信火了,很多线上的APP都希望通过分享的URL或直接的URL进行产品宣传(写这篇博文的时候,听说微信下个版本将要屏蔽微信中的URL链接),这些链接都将通过微信内置的浏览器打开。PM希望在微信内置浏览器中展示的页面进行个性化处理,那么前端这边必然要去区别判断是否是微信内置浏览器。微信内置浏览器的 User Agent检测浏览器的 User Agent 应该是非常简单的事情,微信在 Android 下的 User Agentmozilla/5.0 (linux; u; android 4.1.2; zh-cn; mi-one plus build/jzo54k) applewebkit/534.30 (khtml, like gecko) version/
缘由最近由于工作调整,很多基础工作都要准备。对我们研发来讲,代码写完了还需要部署到生产环境。那就无法避免的要部署生产服务器的环境。由于软件一直会有更新迭代。这里我们就说下MySQL8.0在CentOS7安装的一个全过程配置源由于默认源已经不再有MySQL软件信息了,所以需要自己去官方下载并安装wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm  yum localinstall  mysql80-community-release-el7-3.noarch.rpm yum install mysql-community-client mysql-community-server服务操作service mysqld start #启动 service mysqld r
起因大家都知道我有个 Python Flask构建微信小程序订餐系统  课程。这个课程主要是讲解 小程序在线商城的。但是有很多学生小程序的账号是没有支付权限的,那么如何完成整个闭环课程的学习咧?接下来我来给大家讲解整个过程。实现过程原理其实很简单,就是模拟支付完成跳过支付过程。这里我用两种方案给大家实现。如下图,由于没有支付权限 就会导致 支付回调 没有。那么我们就得做一件事情:模拟支付回调等于就是自己做一个入口 可以调用支付回调的业务逻辑就行了 也就是C方案一:web模拟回调废话不说,直接上代码''' 模拟回调方法 其实所有回调基本都是校验合法性 然后找到订单id,所以我们模拟就是直接传递 订单id 访问url(可以使用浏览器直接访问) : api/order/callback2?id=xxxx xxx 就是你想把某个订单设置为成功的订单id值 ''' @route_a
  1.mysqlbinlog工具使用方法如下:先使用 show binary logs 查看在使用导出命令mysqlbinlog -R -uroot -pxxxx -hxxx.xxx.xxx.xxx -d db_name  --base64-output=decode-rows  --start-datetime='2015-08-13 13:11:21'  --stop-datetime="2015-08-13 13:18:21" mysql-bin.000008 > mysql-bin.ran_trade_08_13.sql2.mysqldump使用方法如下:# 备份单个数据库 mysqldump  --skip-opt  -u
  每次使用sudo su切换为root用户的,时候,发现/etc/profile里面的配置竟然不可用系统是centos 6.4的,然后研究了一下 /etc/profile  /etc/environment(这个文件为空,那就是什么都不执行)  ~/.profile  /etc/bashrc  ~/.bashrc当用普通用户登陆的时候,会执行    /etc/profile   /etc/bashrc 当使用sudo su切花的时候,会执行   /etc/bashrc    ~/.bashrc(会内部调用 /etc/bashrc)所以可以在 ~/.bashrc  最后一行加入  source  /etc/profile/etc/profile:在登录时,操作系 统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,
我们技术人一般都会有自己的一个博客,用于记录一些技术笔记,也期望自己的笔记文章可以让更多人知道。如何让更多人知道自己的博客?搜索引擎收录,用户通过关键词搜索可能会进入内容运营,但是一般技术人为了文章做运营的人应该没有几个通过大流量同类型网站导流量我是使用 方法一 和 方法三,方法一就不说了,互联网人都知道了,但是小网站效果不会太好了。方法三就是充当复读机:复制 和 粘贴  到其他技术网站“复制 和 粘贴  到其他技术网站” 收起来容易,这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)           
  • 微信公众号 微信小程序
  • 微信机器人
  • 群1:1046090432
  • 群2:585567981