首页
学习
活动
专区
工具
TVP
发布

lestat's blog

https://lestat220255.github.io/
专栏作者
28
文章
84381
阅读量
29
订阅数
Golang+Redis可重入锁
在Go中应该很少会有这样的场景,互斥锁从字面上理解,应该不能接收重入,需要重入的场景也不应该考虑互斥锁。个人认为更好的解决方法是从设计的层面避免这种场景的出现。因此,与基于redis的互斥锁不同,这篇文章仅仅是尝试在技术上的实现,在实际应用中应尽可能避免这样的场景出现
lestat
2021-05-04
1.8K0
Golang+Redis分布式互斥锁
假设我们的某个业务会涉及数据更新,同时在实际场景中有较大并发量。流程:读取->修改->保存,在不考虑基于DB层的并发处理情况下,这种场景可能对部分数据造成不可预期的执行结果,此时可以考虑使用分布式锁来解决该问题
lestat
2021-05-04
3.1K0
Openresty学习笔记(一)
由于近期工作中所负责的项目是开发App和一个前后端分离的管理系统的数据接口(统一采用jwt作为身份认证方式),且第一期已经接近尾声,因此除了做一些php代码层面的缓存优化之外,想到了需要学习一下除了bloomfilter之外的防止缓存穿透的办法(直接在web服务器层面通过redis动态限制访问频率,优点,性能损耗小,全程没有php参与),碰巧网上看到了Openresty,又是基于nginx(熟悉的配方),又能解决当下遇到的问题(神奇的味道),于是经过了几天的学习,也参考了一些其他博客中类似的实现,现记录下本人目前软防火墙的实现过程
lestat
2019-03-05
6020
使用cloudflare加持你的网站
简单地说,CloudFlare就是通过基于反向代理的内容分发网络(Content Delivery Network,CDN)及分布式域名解析服务(Distributed Domain Name Server),帮助受保护站点抵御包括拒绝服务攻击在内的大多数网络攻击,确保该网站长期在线,同时提升网站的性能、加载速度以改善访客体验。
lestat
2018-10-17
5.8K0
开始在ubuntu下工作
家里的PC机有几个月没用了,昨天刚开机,发现SSD识别不了,经过排查,确定是盘坏了,然后只能重装
lestat
2018-10-08
1K0
ssh公钥登录
通过密码进行ssh连接存在被暴力破解的可能,但在禁用密码登录+修改22端口+禁用root登录之后,可以将被暴力破解的概率降到最低,且通过private_key登录服务器更适合shell操作
lestat
2018-09-27
2.7K0
docker安装php7.2记录
准备通过Dockerfile构建php镜像,在使用docker-php-ext-install安装mcrypt扩展时遇到如下错误:
lestat
2018-09-25
8.5K0
webview调用小程序支付流程
最近在做一个叫资源树的小型商城项目,其中有一个场景需要在小程序中嵌入的web-view内向小程序发起支付请求完成支付,折腾了一天,在网上各种经验的帮助下总算搞定了,现在记录一下流程
lestat
2018-09-21
3K0
docker搭建gitlab和svn服务
之前公司里的代码都是托管到局域网服务器上的,现在由于部分同事远程办公的需要,计划把git和svn都转到公网的centos服务器上去,但是gitlab的配置是真心费时间,所以决定用docker来做这个事情,以下是一些步骤和总结 使用daocloud给docker加个速先… 可以通过这个链接里面的命令给docker改个源,不然速度慢死… gitlab安装 拉取镜像 1docker pull gitlab/gitlab-ce:latest 新建授权用户 1useradd -d /home/gitl
lestat
2018-07-04
1.2K0
同一页面巧妙使用多个element-ui的upload组件
问题 最近在使用SSR(服务器端渲染)方式引入vue+element-ui开发一个商城项目的时候遇到一个问题:因为商城的订单是可能包含多个商品,所以订单的评价涉及到同一个页面多组表单的异步提交(每一组表单包含评价内容和上传的多张图片) 由于element-ui的upload组件默认没有提供多个组件在同一页面绑定不同模型的接口,因此在网上搜了一下,搜到了这篇文章,文章中最后的建议是自己封装一个组件来调用upload组件,使用的时候直接调用自己封装的这个组件,但是项目时间紧迫,我这边希望更快的搞定这个问
lestat
2018-07-03
3.2K0
gitlab出现forbidden的解决方法
问题 前些天在公司的测试服务器上基于docker安装了gitlab,今天同事突然反映gitlab地址访问的时候页面提示Forbidden,http状态码也是对应的403,于是google一下,发现原因可能是较多的并发导致的访问被拒绝 原因 Gitlab使用rack_attack做了并发访问的限制 解决方法 配置/etc/gitlab/gitlab.rb文件,服务器当前使用的docker,对应目录是/home/gitlab/config/gitlab.rb(该目录/文件根据docker容器创建时指定的目
lestat
2018-06-07
10.1K0
油猴的简单使用
关于greasemonkey(油猴)的安装和一些实用脚本推荐 步骤 准备工作:确保你的电脑可以访问外国网站 以本人的chrome浏览器为例 1. 打开一个新标签页 2. 地址栏输入chrome://apps/ 3. 页面右下角选择网上应用店 4. 搜索greasemonkey,如图: 📷 5. 点击安装,完成安装后在如图位置会出现一个图标 📷 6. 点击获取新脚本跳转到一个页面,在当前页面中点击途中位置 📷 7. 会跳转到Greasy Fork的搜
lestat
2018-04-17
2.4K0
一个投票项目的总结
最近开发了一个只有3个页面的微信投票小项目 基本流程:一个微信号一天只能对一个参与者投一次票且一天总共可以对不同参与者投10次票 首页内容:展示所有投票参与者以及其得票数,按照编号排序(支持点击投票) 排行页内容:展示所有投票参与者以及其得票数,按照得票数排序 详情页内容:展示指定参与者以及其得票数(支持点击投票) 后台略过… 项目上线后服务器cpu长时间负载100%,仔细查看后发现几个主要问题: 首页和详情页js中没有对触发异步请求的请求中状态(已发出请求且未收到响应[搜索,下一页加载,投票操作])没
lestat
2018-04-17
6590
ab测试中并发量导致的拒绝问题
今天对一个微信投票的小项目进行ab测试 环境:windows 10+cmd(管理员身份) 问题:在输入了ab -n 5000 -c 500 http://hostname/并enter之后等待片刻出现了apr_socket_connect():由于目标计算机积极拒绝,无法连接。(730061) 在网上找到了其他人的方法,参考后,问题解决 解决方法:找到http.conf,打开,找到关于httpd-mpm.conf的引用配置,如果没有引用,则去掉#,反之则无视,打开httpd-mpm.conf文件,将其中的T
lestat
2018-04-17
1.2K0
tp3.2.3实现支持点击排序
假设: Admin/Home/Controller/BaseController.class.php是一个基础控制器 $current_params和$in是两个在Admin/Home/Controller/BaseController.class.php中用来保存接收参数的属性,并且已经在构造函数中对其赋值 Admin/Tpl/Index/footer.html是布局中的公共部分 Public/Model/BaseModel.class.php是公共模型 请求中用来表示模块,控制器,操作的参数名称分别为:
lestat
2018-04-17
1.1K0
apache2开启SSL
windows+apache2开启SSL以及80端口强制跳转SSL访问的方法 申请证书 推荐Let’s Encrypt(免费证书的有效期为3个月,但提供了自动更新证书的功能) 开启ssl模块 首先确保apache开启了LoadModule ssl_module modules/mod_ssl.so 配置443端口 再参考官方文档的一段内容: Listen 443 <VirtualHost *:443> DocumentRoot "项目入口文件目录" ServerName 域名 SSL
lestat
2018-04-17
2.5K0
使用apache2反向代理访问google
引言 刚刚在v2ex上看到一篇用nginx做反向代理访问google的帖子,出于好奇,试了试用apache进行反向代理访问google,果然很好玩! 准备工作: apache服务器需要安装proxy相关模块,如果是ubuntu环境可以直接使用命令sudo a2enmod 模块名称进行安装,模块可以在/etc/apache2/mods-available/目录下查看,安装好的模块可以在/etc/apache2/mods-enabled/ 里查看 这里直接上本人的配置: <VirtualHost *:44
lestat
2018-04-17
3.2K0
phpexcel踩坑记
最近在使用phpexcel扩展处理表格导入的时候,遇到两个坑,现做以下记录 坑一:excel表中的富文本导入后数据始终不对 解决方法:假设$temp为循环读取的每列数据值,判断是否是PHPExcel_RichText类的实例,如果是,则调用$temp自身的方法__toString()转换,代码如下: if ($temp instanceof PHPExcel_RichText) $temp = $temp->__toString(); 坑二:excel表中的日期导入后变成了float类型的值
lestat
2018-04-17
1.1K0
frp+nginx实现内网穿透
写在前面:上一篇文章写了关于ngrok+nginx实现内网穿透的流程,并提出了一些存在的问题,昨天试过frp之后,将之前ngrok存在的无法映射本地域名的问题解决了 frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。 先决条件 有一个域名,并解析到自己服务器上,如:*.frp.lestat.me 有一个具备固定ip的公网服务器 系统环境 假设环境为: 服务器OS:ubuntu17.10 客户端OS:macOS High Sierra 以下内容将
lestat
2018-04-17
11.1K0
Vue开发中的一些总结
关于axios的使用细节 基于vue做spa开发,个人很多时候使用的请求扩展是axios,这个扩展会把常用的请求封装好发送出去,使用的时候只需要传参数即可。今天遇到的一个问题是后端接口接收get方式传参,我这边有一个数组需要通过get方式传递过去,假设数组名称是:ids,请求中默认就是ids[]的形式,接口需要提供ids的形式,此时需要引入qs扩展,并在请求位置添加一项配置,以转换参数格式,示例代码如下: /* * todo :会员审核列表的通过与驳回(批量和单个为同一个方法), 需要管理员登陆 * @pa
lestat
2018-04-17
5700
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档