Web
文章平均质量分 68
Web
stark张宇
我亦无他,惟手熟尔。
展开
-
lnmp - 登录技术方案设计与实现
登录功能是对于每个动态系统来说都是非常基础的功能,用以区别用户身份、和对应的权限和信息,设计出一套安全的登录方案尤为重要,接下来我介绍一下常见的认证机制的登录设计方案。原创 2024-09-17 20:40:18 · 1209 阅读 · 0 评论 -
【无标题】
第一个疑惑是公众号里的底部菜单 是怎么搞出来的,在官方文档中获取到的,如果公众号后台没有设置可以根据自定义菜单来进行设置。原创 2024-07-23 12:24:02 · 737 阅读 · 0 评论 -
Mac M2芯 k8s(minikube)超详细实战 - 单节点部分
我使用的电脑是Mac pro M2芯的,使用的虚拟环境是 Ubuntu 22.04 ,M2芯兼容性不是特别好,所以尽量跟我博客中的版本保持一致。虚拟机环境 Ubuntu 22.04。原创 2022-12-21 09:33:02 · 2343 阅读 · 0 评论 -
Flask 实战笔记3 - SQLAlchemy实现mysql编码、列类型
在SQLAlchemy 对Mysql实现了基本操作以后,我发现设置出来的默认值没有生效,字符集编码也被设置成了默认的latin1,这节课就来解决这些问题。原创 2022-11-13 13:01:55 · 963 阅读 · 1 评论 -
Flask 实战笔记02 - SQLAlchemy实现mysql的应用
对web的路由完成后,我们开始对数据库的增删改查进行进一步的实践和探索,flask使用SQLAlchemy进行对数据库的操作,这里我们以Mysql数据库为例。原创 2022-11-09 11:30:24 · 682 阅读 · 0 评论 -
centos安装jq工具
因为环境是Docker安装的,有时间安装了很好用的工具在重启后容易丢失,所以在这里做个备份,安静jq工具。原创 2022-07-20 10:13:03 · 2528 阅读 · 0 评论 -
正则表达式学习笔记
校验数据的有效性、查找符合要求的文本以及对文本进行切割和替换等操作。正则表达式的目的是真正的强大之处就在于可以查找符合某个规则的文本。原创 2022-07-01 16:14:43 · 856 阅读 · 0 评论 -
Web性能优化 - Http2 HPACK头压缩带来的优化思路
实际痛点用户增长带来的痛点就是每逢流量高峰期带宽和响应时间就成了高并发流量的超级痛点,Cpu使用率飙升,升级带宽和配置是一笔不小的开销,如何解决在不改变服务器的配置下,改善性能和带宽的好办法?思路来源解决问题的思路灵感来源是基于Http2的协议知识,所有知识的改变都是为了提升计算机的硬件使用率达到一个合理的刻度,只到无法优化的程度。Http2 HPACK 减少 HTTP 头部的大小,三种压缩方式,分别是静态字典、动态字典和使用:Huffman 编码压缩算法。客户端和服务端先协议好key/value原创 2022-03-14 17:25:01 · 712 阅读 · 2 评论 -
PHP源码01 - php7编译安转、新特性
环境搭建虽然php8已经上市,但是系统学习一下php7,初衷的打算是想彻底的掌握PHP的底层原理和语言结构,结合PHP开发PHP扩展、或者是编写一个Swoole的框架,解决实际生产的性能问题,解放生产力,发展生产力!环境可以是centos ,或者是在Ubuntu系统中,对于裸镜像需要安装命令yum update(centos),apt-get update;(Ubuntu)我的实验环境是以centos7环境。首先进行环境搭建,用Docker搭建的centos7,php选用版本,下载php源码,比如:原创 2022-02-19 22:38:59 · 1512 阅读 · 18 评论 -
PHP - 代码规范PSR
概述仔细的缕了一下关于PHP代码的书写规范,我发现我确实有很多不足的地方,需要改进,PHP代码遵循PSR(PHP Standard Recommendation)规范,之前忘了看那本书到psr4,psr4优化的是composer的依赖倒置,现在已经到psr18了,官网链接 php-fig 。代码写的很随意,显得自己不专业,也给别人的阅读带来不便。1.变量、函数写法驼峰(我之前的代码里就是变量有下划线、有驼峰非常不标准)public function readMessage(){ $fdSe原创 2022-01-28 14:08:53 · 1687 阅读 · 0 评论 -
优化性能到底在优化啥?
概述性能优化,反复被提起,但其实很不理解,优化性能到底在优化啥?你要先了解这个问题。一直到前些天一个偶然的机会才想明白,高性能的核心就是用数学的计算,合理的运用服务器的资源,主要是Cpu和内存,主要针对网络层、传输层、应用层的优化。网络层和传输层主要承载Tcp/Ip的网络传输,根据流量配置出合理的系统参数,比如减少一个RTT的时间,针对应用层的Web服务主要的优化点在于Nginx中。想了解Nginx的,请阅读我之前的Nginx文章,以点击破万。基础设施优化提升Cpu缓存命中率Cpu是电脑中最重要原创 2022-01-17 14:32:50 · 4678 阅读 · 3 评论 -
PHP脚本任务 - 复杂场景测试生产环境数据的解决办法
概述如果老板交给你一个业务很复杂的业务场景,并且要求你在测试环境测试生产环境的数据,你会怎么处理呢?解决方案解决方案1第一个解决方案就是将实际生产环境需要的数据,先打印出需要的Sql语句,拼装,把Sql的查询结果放到以.csv文件的Excel表里加以处理。模拟出需要的数据暂存在脚本执行的数组里。需要注意的是以下几个点:列名称要有序对应如果有表头,要删除掉表头$list = [];$mapKey = [ 'id', 'novel_id' //... ];原创 2021-12-25 11:21:32 · 600 阅读 · 0 评论 -
1022 - 快手短视频广告主接入实践笔记
概述对于不熟悉快手短视频推广,广告主接入的有很多坑,给我的整体感觉就是技术实现简单,但是方式上有很多坑,希望分享出来给大家解惑,也留给自己作为技术实践中的经验总结。第一步是企业去快手投放管理后台开户,这个当时是公司运营的同事在搞,我们技术的同学没有参与,下面我开始说开发和接入的重点:接入形式接入形式主要有两种(推广下载App/收集表单数据),在技术接入的时候一定要确认清楚,我们在接入的时候就遇到了这方面的问题,运营的同学开户时的业务申请的是下载App-注册-激活,我们做成了H5落地页的形式,没有加强原创 2021-11-22 11:19:32 · 25087 阅读 · 2 评论 -
Docker php安装扩展步骤详解
Docker php安装扩展步骤详解前言此篇,主要是演示docker-php-source , docker-php-ext-install ,docker-php-enable-docker-configure 这四个命令到底是用来干嘛的,它们在PHP容器中都做了哪些事情。很多人很不理解在Dockerfile中安装PHP扩展的时候总是出现这几个命令,本篇就就是为你揭开这些命令的神秘面纱而准备的,所有案例都是本人自己运行过的。Docker 中的PHP容器安装扩展的方式有:通过pecl方式安装通转载 2021-10-28 13:47:53 · 1996 阅读 · 2 评论 -
varchar(100)是几个汉字
1.Mysql的varchar(60),60是怎么算的?一般对varchar的类型就比较模糊,模糊的点在于varchar(60),是60个字符还是60个汉字?如果是utf8编码,一个汉字占用3个字符,gbk占用两个字符,Sql语句:mysql> select im_contents from `swoole_msg`.`im_user_chat_record_7` where `chat_id` = '72';+-------------+| im_contents |+---------原创 2021-07-20 16:10:11 · 1730 阅读 · 0 评论 -
推送V3 - Vue + Layim + Websocket 实践笔记
Vue + Layim 实践笔记坦白讲,我接触的前端很少,不喜欢在自己不擅长的地方搞来搞去,Vue中集成了Layim的人工客服Im系统,出发点是挑战一下自己,经历了将近2个月的时间,项目一波三折,实属不易。两者的区别Vue的编程模式MVVM,没有Dom的概念,全局都是针对模型数据进行的操作,有固定的生命周期和路由。Layim是layUi中的一个组件,是个类似QQ的Im通信工具模板。实践1.vue 结构.├── build├── config│ ├── test1.env.js│原创 2021-06-24 16:12:45 · 1120 阅读 · 3 评论 -
vue学习笔记01 - MVVM模式、初始化项目
MVVM模式Vue官网:https://cn.vuejs.org/v2/guide/MVVM模式:只操作数据,不关心Dom,传统的MVC模式面向Dom开发,MVVM模式面向数据开发。<body> <div id="app"> <input type="text" v-model="inputValue"> <button v-on:click="submit" >提交</button> <li v-for="item i原创 2021-05-27 09:37:14 · 186 阅读 · 0 评论 -
推送V2 - 开发笔记整理
说明1.代码整洁之道第一期的推送有很多不确定性,代码的扩展和阅读都造成了很多麻烦,所以要自我革命,在功能点不变的基础上重新编写。代码整洁之道的几个基本点:1.一个函数只处理一个功能,和参数个数最好不超过4个2.增加代码可读性,尽可能的不加注释3.注意编码的格式和段落4.增加对象内部的高内聚,低耦合5.面向对象设计原则:单一职能、依赖倒置、高内聚之前高内聚这个词听过好多遍,直到读完代码整洁之道才明白具体的含义,它是指对象中定义的属性尽可能的被程序所使用。在下面的代码里,我把要执行的程序原创 2021-04-16 15:09:33 · 175 阅读 · 0 评论 -
Git 常用命令和简单原理剖析
Git 常用命令和简单原理剖析Git 是一套内容寻址 (content-addressable) 文件系统,是一个简单的键值对数据库(key-value data store),我们用一个文件来保存 SHA-1 值,并给文件起一个简单的名字,然后用这个名字指针来替代原始的 SHA-1 值,对比快照,生成新版本的SHA-1数值。执行git log -n 2,commit后面的字符串就是用来保存的SHA-1值。commit 615d8987c4d375348f2ccaeb482fd622b9c99bd1原创 2021-01-27 14:22:04 · 183 阅读 · 0 评论 -
Mysql - 百万级数据查询优化笔记 (PHP Script) ②
Mysql - 百万级数据查询优化笔记 (PHP Script) ②说明:要处理的是在一个脚本中统计的年度账单,和上一篇的处理思路完全不同,先把全量取出,再按字典形式拼接,10w条数据只需要668s!数据:测试服:17w 正式服:280w1.全量查询,减少链接断开次数,使用PHP处理,性能更高一次性取出1000条数据,放在循环处理快,还是一次处理100,用数组处理更快?提前取出好数据,以字典的形式在数组使用中进行拼接,脚本中的使用应该尽量避免连接和断开的消耗,性能提高的非常明显,17w原创 2020-12-17 11:13:48 · 15208 阅读 · 14 评论 -
Failed to AUTH connection redis验证错误
redis 没有密码报错 Fatal error: Uncaught exception ‘RedisException’ with message 'Failed to AUTH connection添加一句 $this->redis->auth(‘xxxxxx’); //这里是redis密码原创 2019-12-19 10:27:36 · 2123 阅读 · 0 评论 -
Web - 开发中的文件同步有什么更好的解决方案
Web - 开发中的文件同步有什么更好的解决方案现实的开发环境中,代码的管理和开发环境,总有那么一点不尽如人意,每次遇到因为环境或者是配置的不同而产生的BUG或是问题,统一的开发环境是必须具备的。1、samba服务samba服务是一种非常棒的解决搭建服务器、代码同步的服务,未来的互联网一定都是服务+云的模式,以后的生活之分数字化和非数字化两种服务。安装rpm -qa | grep sam...原创 2019-11-11 16:05:43 · 920 阅读 · 0 评论 -
Web - mediawiki/layui/laravel
学习笔记 搭建mediawiki/layui/laravel公司的业务状况从4月开始就在艰难中度过,准备进行新的尝试和探索,砸碎所有好的、不好的成绩,卷土重来,很简单,我是搞互联网的,不能被互联网搞了。我准备把所有遇到的坑都进行整理和记录,分享给和我一样,也在不断探索的人。网络的复杂需要合作和协议,步调一致,思想一致,万里之行,始于wiki。我采用的wiki版本是 mediawiki-1.33...原创 2019-11-08 12:55:30 · 640 阅读 · 0 评论 -
LNMP - 你不知道的Nginx+Php-fpm运行原理
初识Nginx与Php-fpmNginx (“engine x”) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Php-fpm是什么1、cgi、fast-cgi协议cgi的历史早期的webserver只处理html等静态文件,但是随着技术的发展,出现了像php等动态语言。 webserver处理不了了,怎么办呢?那就交给php解释器来处理吧! 交给ph转载 2017-11-19 17:42:47 · 2175 阅读 · 0 评论 -
Web - SublimeCodeIntel Sublime插件下载
链接: https://pan.baidu.com/s/1o7NG1Eq 密码: eect分享给需要插件包的小伙伴~~原创 2017-07-11 11:45:21 · 1694 阅读 · 0 评论 -
App - PHP缓存抓取http缓存
问题描述:App 通过uri进行http协议传输时 有一些线上BUG查询起来没有什么头绪 为了解决这个问题进行优化和改进 解决方案 方案分为两部分:业务线中读取PHP缓存,写入Redis 在脚本中,取出redis缓存 , 写入Log文件 代码如下。 /** * @var继承的子类如有构造方法、记得调用父类方法、验证登录 */ public function __c原创 2017-03-15 20:03:37 · 832 阅读 · 0 评论 -
牛逼了我的Charles - 可以抓浏览器 不能抓取App接口了
Charles 失灵了么 Charles v3.9.1 在没有任何征兆的时候 抓取到手机的普通操作 但是对App接口免疫了 能抓浏览器的包,但死活抓不了手机app的包 排查步骤如下:首先我检查自己的手机代理 没有任何反应 包括端口号 网络认证 lsof -i tcp:8888 查看修改Charles 代理设置 Proxy -> Proxy Setting 并没有什么异常注意:当我们不原创 2016-12-29 20:24:24 · 5853 阅读 · 0 评论 -
samba - 阿里云上搭建samba服务
samba简介:Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务前几天在博客园上搭建samba服务时 遇到了一些坑 开始就让我挂载光盘 饶了一大圈 其实根本就不用那么费力 趁着有时原创 2017-01-04 17:18:47 · 7047 阅读 · 1 评论 -
Web - jsonp实现web跨域请求
今天在公司上班 突然想起那天没解决的一个问题 Documentfunction ajaxClass(){$.ajax({type: "GET",url: "http://zyci.dev.zae.zhongsou.com/index.php/ajax", dataType : "jsonp", j原创 2015-04-14 18:16:11 · 512 阅读 · 0 评论 -
Web - 好用的移动端抓包工具 Charles
之前在使用win环境开发时 一直使用fiddler抓包软件 后来使用mac后 瞬间觉得一脸懵逼 有很多习惯按键 工具都显得不一样了 熟悉了一段时间 终于找到一款好用的手机App 抓包工具 链接: https://pan.baidu.com/s/1i5dSsdR 密码: 97db 我把之前下载的4.01版本的分享在百度云盘里 我本机是3.9.1的 是之前下载的 但是原理都是一样的 其实是非常好原创 2016-11-04 21:49:55 · 3200 阅读 · 0 评论 -
PHP - Redis队列解决执行速度问题
今天优化了一个用Redis队列异步解决了提交数据反映时间慢点问题 整理下和大家分享下 一是怕自己忘了 二是希望可以帮助到你们 或多或少提供些思想也是好的... 先看下图,在没有优化之前一起提交五套房源的速度是这个样子的 上图是charles的截图 响应时间6.86秒>第一反应是sql的问题 然后把所有的sql 输出到文本上 发现有查询是带*号的sql语句 还有就是夹在循环里原创 2016-10-25 23:09:59 · 4793 阅读 · 2 评论 -
TCP - 通俗理解TCP的三次握手
三次握手流程的本质,可以这么理解:TCP的三次握手其实是双方各一次握手,各一次确认,只是其中一次握手和确认合并在一起。当然也可以更通俗的去理解:“喂,你听得到吗?”“我听得到呀,你听得到我吗?”“我听得到呀,你听得到我吗?”“我能听到你”三次握手为什么不用两次,或者四次原因很简单,因为只有三次才是最合适的,三次通信是最小值,两次通信满足不了要求,而四次通信则显得冗余。比如之前的三次改成两次转载 2017-11-20 22:23:53 · 3921 阅读 · 0 评论 -
Charles - 破解版charles下载 win32
从mac 换到win系统 charles 都是没破解的那种 下载好慢所以分享给大家了charles win32 4.2.1破解包链接: https://pan.baidu.com/s/1kVBtIHD 密码: 5jpehttps://www.52pojie.cn/thread-619994-1-1.html原创 2017-11-30 10:36:26 · 1839 阅读 · 0 评论 -
Web - 跨域世界里的前世今生
跨域的产生是web安全的范畴,是浏览器安全里同源策略的部分,所谓同源策略,是指协议相同、 域名相同、端口相同,同源政策的目的,是为了保证用户信息的安全,防止恶意的网站窃取数据。1995年,同源政策由 Netscape 公司引入浏览器。在这个策略下,web浏览器允许第一个页面的脚本访问第二个页面里的数据,但是也只有在两个页面有相同的源时。源是由URI,主机名,端口号组合而成的。这个策略可以阻止原创 2017-12-12 23:05:03 · 308 阅读 · 0 评论 -
SSL_ERROR_RX_RECORD_TOO_LONG 443的解决
最近迁移服务器 断断续续的出现 SSL_ERROR_RX_RECORD_TOO_LONG1、先检查证书路径是否正确2、查看443端口是否开启netstat -luntp | grep 4433、 查看nginx配置是否正确我遇到的问题是因为负载了两台服务器,后来域名解析有问题,先把实际ip绑定在本地的DNS 定位问题,我也是第一次遇到,最后搞定了,如果你遇到了,留言我,第一时间反馈你...原创 2019-07-20 14:44:41 · 9299 阅读 · 4 评论 -
React+antd的搭建
题外话,在很久以前就听说大前端这个概念,通俗易懂点说就是,会跑服务的web前端工程师,这里所说的服务就是nodejs,理解了nodejs,也就理解了像react vue 这种主流的前端框架了React 安装前的准备在安装React之前,要安装好node,npm,yarm 工具,nodejs是启动前端的服务用的,npm是包管理工具,yarn是react用的脚手架,如果你不理解,就理解成支...原创 2018-10-22 20:38:33 · 2101 阅读 · 1 评论 -
Nginx - nginx参数详解
#运行用户user nobody;#启动进程,通常设置成和cpu的数量相等worker_processes 1;#全局错误日志及PID文件#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pi...转载 2018-06-27 16:09:29 · 508 阅读 · 0 评论 -
Nginx - 学习笔记
在家学习了nginx的笔记,分享出来对和我一样对nginx迷茫的人会有一些帮助,虽然网络上大神已经有很多独到的见解,你实践过的才是你的知识和体会。安装 系统 方法 备注 centos7 yum mac brew yum安装目录切换到 /etc/yum.repos.d 这个目录,这里是自定义yum源目录 ,添加ngi...原创 2018-06-22 00:01:44 · 385 阅读 · 0 评论 -
Web - 网络地址转换NAT原理及应用
NAT 概述1.1 简介NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合转载 2018-01-19 08:20:17 · 1174 阅读 · 0 评论 -
Http - Web世界的幕后神兵
在之前的工作中,一次项目就是使用H5+Ajax打包制作了一个App,其实对之前的知识点和实践都属于那种模糊的概念,所以梳理了,吐槽大会里说,这是一个知识点,En。http协议是Tcp/Ip族的一员,我是这样理解的http方便了资源的访问和,连接着彼此,如上图,不管我用手机、笔记本、PC机的访问媒介,还是我在家,在公司,在任何一个地方都能很便利的访问到云上的资源,下图更好理解些。数据的传输就是从发送原创 2017-12-26 20:11:23 · 461 阅读 · 0 评论