自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(81)
  • 收藏
  • 关注

原创 无损复制Ubuntu Server到另一块硬盘并自动扩容

首先放一下参考文献https://www.howtogeek.com/howto/19141/clone-a-hard-drive-using-an-ubuntu-live-cd/https://help.aliyun.com/document_detail/111738.html照例的废话今天突发奇想,想把我那台Nas上的垃圾固态换掉,毕竟最近掉速实在太厉害了,感觉坚持不了多久了。上网上搜了一下,大部分竟然要删除分区?有点夸张,毕竟我最开始以为直接DD就能解决(事实上直接DD是没问题的)我

2020-12-23 01:52:38 543

原创 el-table 表头过长换行改为自动截断添加省略号

今天做前端的时候碰到element ui table组件表头文字太多,自动换行导致表头宽度增加。看了一些文章,基本都是添加render-header来解决这个问题。但实际上这个属性已经不被推荐使用了,并且现在用 template + css已经可以很简单的解决这问题了。不多说了,放个代码大家就知道了<el-table-column> <template v-slot:header> <span class="header-ellipsis">LongL

2020-10-23 19:46:55 4028 2

原创 Gunicorn高并发下最开始几秒的所有请求处理时间过长

背景线上服务采用的是Django + Gunicorn+K8s组成的服务。最近查看日志的时候,发现在发版时,有部分请求会在Pod开始提供服务的时候超时(超过三秒)但线下测试时又没有超过三秒的问题。怀疑过LB、K8s Nodeport,但都被一一排除。最终发现是Gunicorn Lazy-App导致的问题。什么是Lazy-App其实很简单,就是只有在第一个请求到达时,Worker才会对WSGI App进行初始化。因为Django框架很复杂,耗时也会相对多一些为什么Lazy-App方式会导致超时

2020-07-19 14:59:57 1885

原创 Gunicorn(gevent)+ Django HTTP请求处理过程全分析 —— Gunicorn篇【一】

背景前段时间排查了个内存泄露的故障,花了几天时间把Gunicorn + Django 从头到尾看了下。在排查问题时,网上普遍都是零碎的分析文章,需要自己多处拼接与查证,才可以勉强窥见全貌。于是萌生了写一篇按照实际流程来梳理的博客,为这次排查画上句号。由于涉及的东西较多,如Gunicorn、wsgi、Django、元类等都可单独成文,所以将以系列文章的方式来做记录。框架&依赖版本如下。Django 2.1.15Gunicorn 20.0.4Python3.x从启动命令开始大部分文章都

2020-06-06 23:07:25 1399

原创 Django2.1 2.2共用Response对象导致内存泄露问题

背景一个月前在线上发生了内存泄露。但很奇怪的是,那次发布只涉及几行代码,且都不涉及内存的主动分配。我们都知道,如果发生了内存泄露,那么一定会有内存分配这个动作。但当前的业务代码里并没有“内存分配”这个操作,所以问题八成是出在框架内部。所修改的代码如下:from django.urls import pathfrom django.http.response import HttpResponseALIVE_ECHO = HttpResponse('Alive')urlpatterns =

2020-05-17 02:51:21 442

原创 使用CSS对iframe进行裁剪

背景今天做需求的时候,前端需要使用iframe嵌入一个BI上的表,但那张表最下边有些不相干的信息需要裁掉。很简单的需求,但当时还真没立刻想出来怎么搞【过了几秒后才想起来】方法也很简单,就是在iframe外边再套一层,使用overflow:hidden这种灵机一动容易忘,在博客里写下来这个小想法实现用的Vue,按照Vue的格式写了。很简单。效果:裁掉最后50px<div st...

2020-04-25 01:15:39 1402

原创 我为什么使用JWT

背景前段时间做数据平台的鉴权,想了很多种方案,但最后还是选择了JWT来进行身份验证与权限控制。期间考虑过传统的user/passwd -> session_id,也考虑了随机生成Token,后端再来维护一套权限控制逻辑,甚至打算使用类似kebos这种来实现安全通信,但对于数据平台这种业务,感觉权限控制这里这些方案都有点重量级了。内网环境相对是安全的,对内网进行混杂模式抓包会被安全的人抓...

2020-04-06 00:29:07 2550 5

原创 Django 无法从 request.POST 中获取URL传进来的参数

背景上周做项目的时候,有个Post Webhook回调不仅在Body里传了数据,同时URL里也传了参数。request.POST这个QueryDict打印出来的值为{},无法获取URL中的参数。原因分析这种问题,首先就是看代码。大概扫了下Request的代码,问题出在如下的位置: def _load_post_and_files(self): """Populate...

2020-03-22 19:09:57 2621 2

原创 记一次MySQL遇到的奇怪问题

背景新装MySQL 5.7, Ubuntu1804。数据库 root 账户已经设置了密码。使用本地root账户可免密码登录,即使指定-p也免密码;本地非root账户无法登录。Datagrip登录报The specified database user/password combination is rejected。排查过程首先以为是没配置user.Host字段,改成%后外部仍然无...

2020-03-21 01:29:14 3107 1

原创 Kafka For Python Producer.send() 会超时的原因分析

昨天在做方案调研,用python-kafka往 Kafka 里塞数据时发现了个很奇怪的问题:有的请求会阻塞60s后报错。但我们都知道python-kafka是可以完全异步的,他自己用local-thread实现了异步的发送功能。并且看官方Producer API返回的是一个Future,理应不会卡住,但Block却实实在在的发生了,让人很费解。排查问题胡乱百度因为我们用的是gunicorn...

2020-02-28 01:44:56 6406

原创 tar: Cannot utime: Operation not permitted

前几天看了下CICD的详情,发现详情里有个报错,虽然也能将代码部署到环境,但这个报错看着还是不太爽。查了查对应的资料,发现这个问题的根源就是,文件夹的Owner不是进行tar操作的用户。虽然chmod 777后你可以对文件进行操作,但对于utime这类函数,需要文件夹的用户为进行操作的人才可以进行操作。具体来源:https://superuser.com/questions/1219214...

2019-08-25 16:31:06 11664

原创 Docker容器内服务自启动

https://codeday.me/bug/20170630/36124.html只是启动,这篇文章就可以完美的解决问题了,但我现在需要run之后进入bash,就需要对他进行一些小小的修改。CMD /root/start.sh &amp;&amp; bash改成这个就好了~...

2019-03-04 17:02:51 2640 1

原创 Vue 2.6.X中@mouseover闪烁问题

事情原委是这样的,原来工程中的使用mouseover、mouseout来进行判断鼠标是否hover,升级了下Vue版本后发现会闪烁,百度了一下发现如下解决方法:https://segmentfault.com/q/1010000009888794改成mouseenter和mouseleave即可完美解决问题...

2019-03-04 17:00:28 4318 4

原创 解决Webstorm Debug功能消失的问题

背景本来今天开开心心的码代码,但一次重启之后发现Debug功能没了……吐血,无奈先重装了一下(保存了个人配置),无果最气的是,Webstorm里Debug相关设置竟然离奇消失,真是酸爽这几天各种坑啊,诸事不宜……解决方案绕了一圈发现是Javascript Debugger插件被关闭了……我真的要吐血了,年前各种坑??Setting -&gt; Plugins -&gt; Javasc...

2019-01-25 16:47:04 5096 1

原创 【Vue cli3】 Missing file extension "vue" for "xxxx" (import/extensions) 解决方法

照例的背景新开项目,用Vue CLI3创建了Vue工程,配好Webpack什么的之后,写了点代码,发现ESLint报错,报在import的位置,提示Missing file extension “vue” for “xxxx” (import/extensions)坑啊,每次用脚手架,都会出各种问题解决方法很简单,把import Test from '../../../compon...

2019-01-25 16:40:05 18700 2

原创 使用两块大小不同的硬盘实现Raid1,实现总可用容量不低于最大硬盘的容量

新手请谨慎操作新手请谨慎操作新手请谨慎操作照例的废话在鹅厂实习已经半年多了,虽然已经转正可以跑路了,但因为舍不得每个月若干的实习工资,还是选择在这继续打工……在这边主要做前端,后端虽然也做但做的不深。论兴趣我还是喜欢做后端多一些,但没办法嘛,我只是一个小开发仔……背景前段时间搞了个J3455的板子,想拿来做Nas + 简单应用开发平台,我自己用240G固态当系统盘,元旦回家从家里搞...

2019-01-08 01:03:32 17157 1

原创 手动触发jQCloud2的自适应功能

照例的先扯淡前几天做项目(Vue+jQuery),发现了一个问题:通过v-show 指令隐藏包含 jQCloud的div 时,如果这时 碰巧 开启了jqcloud的autoresize,并且在这时 碰巧 改变了窗口大小,div再次显示后你会发现标签云会都挤在左上角。会这样的原因得从v-show说起。v-if跟v-show最大的区别就是,一个是重新渲染,另一个仅仅是通过将 display属性设...

2018-11-02 23:22:09 412

原创 video标签播放MP4只有声音没有视频

今天刚睡醒,就收到反馈说有的MP4格式的文件无法正常播放……赶忙爬起来去查看情况,将无法播放的文件下载下来,本地播放正常,感觉应该是编码问题(MPEG4跟H264之争)查看了这个文件的编码:果然是MPEG4。是用格式工厂将他转成H264,问题解决……提供一个一劳永逸的方法:自己搭建转码服务,对每个上传的视频做编码判断,不是H264,进行转换再保存。...

2018-10-14 00:18:31 6056

原创 记录一下Laravel Storage::append的坑

我不太清楚其他版本laravel append的情况,但在laravel5.1 版本下Storage::append这个函数会往已经存在的文件里添加0X0A,也就是\n换行符。但如果这个文件不存在,则不会添加\n换行符。这给大文件分片上传合并带来了一些困扰,所以使用php自带的 file_put_contents 解决这个问题。这几天内会总结一下最近遇到的坑……没办法,工作量很饱和啊(...

2018-10-07 20:58:05 2094 1

原创 Vue实现<a>标签 href动态拼接,点击后使用新窗口打开网页

废话不多说,一行代码的事情&lt;a :href="'/text/article/' + destdir" target="_blank" /&gt;关于target的相关资料: http://www.w3school.com.cn/tags/att_a_target.asp

2018-07-29 17:07:37 37338 7

原创 Vue修改数组元素,与之绑定的DOM没有同步修改的解决方法

想要解决这个问题,先要了解一下Vue双向绑定的原理: https://www.cnblogs.com/libin-1/p/6893712.html简单的来说,用户向监听器发起修改请求,监听器进行修改值的同时,同时动态更改对应DOM的值。通过下标直接进行值的修改会绕开监听器,所以也就无法实现动态更新的效果了。Vue对于这个问题有对应的解决方案。方法很简单,引入Vue,然后使用V...

2018-07-29 17:01:02 3064

原创 Laravel Homestead 使用npm run watch无法实现动态更新

想做个简单博客拿来练手,但发现在homestead中使用npm watch无法动态更新生成的文件,每次都得重新运行npm run watch才可以编译出最新更改后的文件。 以前在Linux下使用npm run watch没有这问题,所以推断是homestead的问题。 查看package.json,发现他不仅提供了watch,还提供了watch-poll。 从名字上看,poll就是通过轮询的...

2018-06-19 16:51:45 3286

原创 Laravel5.6 Homestead安装

好吧,我又开始折腾了。 其实这个也不能全怪我,我也是今天才知道鹅厂Linux不能入域,只能想办法在Windows下搭建开发环境了。 Homestead性能虽然有损失(我觉得损失不小,但在固态里也就无所谓了),但好歹能在Win下欢乐的运行 其实安装挺简单的,没什么难度,就是下载实在是慢…… 安装建议参考官网的教程: http://laravelacademy.org/post/867...

2018-06-18 16:05:57 276

原创 Laravel5.6 安装&Demo运行

照例的废话 诶,每次想学点新东西的时候总会有一堆事情来找你麻烦。在即将去鹅厂实习(半个月多一点)的这个时间点,实验室老师竟然又让我做嵌入式项目【吐血】 前几天交大作业,老师让用React写Web游戏,于是用了几个小时做了俩小游戏来应付差事(一份自己,一份给舍友),井字棋&amp;amp;点灯游戏 https://github.com/769484623/xo-game https://g...

2018-06-12 16:25:58 1369

原创 fcitx 搜狗输入法100%CPU占用解决方法

其实这问题我半个多月前就解决了…… 先说问题的原因吧,是搜狗云输入的锅,在fcitx配置里把搜狗云拼音这个选项去掉就可以很完美的解决这问题了。(忘了在哪看到的,我记得是Google Pinyin也会有这个问题,解决方法跟这个完全相同) 按照如图这么设置就可以了~...

2018-05-31 16:20:02 13978 10

原创 Vue2 + Mint UI + Webpack的简易Todo List

本文未完成照例先放代码。 https://github.com/769484623/TodoList还是照例的废话…… 实习所在组的Leader让再学一下Vue,觉得只是看文献很难有深入理解,于是还是决定项目驱动。(好吧,我知道这一个月囫囵吞枣的学这么一堆不太好,但作为一个做了两年多嵌入式的人,需要知道与了解的东西实在太多……吐血)运行图 Webpac...

2018-05-29 21:46:31 605

原创 Openwrt WIFI探针开发【四】

没想到这么久的项目还能让我学到一些东西,深深的感到了自己的才疏学浅……Openwrt 编译出现Lib Missing 问题Q:已经在make menuconfig中选中了libpcap &amp;amp;amp;amp; pthread,为什么仍然报错,提示找不到xxxx.so?A:DEPENDS是否是大写?若为小写,或者像我一样的写作Depends,虽然在menuconfig中可以选中,但编译过程中会报...

2018-05-25 16:19:04 1652

原创 Vue+WebPack遇到VueLoaderPlugin Missing 问题

在配置Vue+Webpack环境的时候出现了如下错误: vue-loader was used without the corresponding plugin. Make sure to include VueLoaderPlugin in your webpack config.知道缺VueLoaderPlugin,但不知道在哪个库里。百度很久,无果。 在github vue-...

2018-05-24 11:13:17 10333 3

原创 ES6学习笔记【三】

ES6 学习笔记明确函数的多重继承ES5 函数具有多重功能,可以结合new关键字。什么是new 关键字对于New关键字我是这么理解的: 生成一个新的Object(Class)实例,运行其构造函数(若其本身即为一个函数,则运行其本身)。如何在ES5中判断函数调用方法(是否是new调用)使用 instanceof来进行判断。function Person(...

2018-05-20 19:52:44 161

原创 Elementary OS 0.4.1(Ubuntu16.04) 屏蔽独显(驱动版本384)

再次用了好几个小时……吐血 旧电脑太重了,于是前几天换了新电脑。工作环境仍然还是Linux系(沉迷Elementary OS的美色优雅) 以前旧电脑装EOS有个很大的问题,就是续航实在是不行,但一般我都是断电就睡觉,也就不太在意独显集显这东西了。 换了电脑之后,重装EOS,发现有点耗电,发热也很大。查了一下,发现无法切换集显跟独显。 我默认直接装的最新的384驱动,发现NVIDIA Set...

2018-05-19 20:24:53 1828

原创 使用apt安装nodejs10

本文基于 https://www.cnblogs.com/netaddi/p/5608856.html只需要输入# Using Ubuntucurl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -sudo apt-get install -y nodejs即可。...

2018-05-16 17:46:23 5809 1

原创 Django操作数据库实现注册&登录验证

前几天就做完了这个登录&amp;注册的后台(我觉得做后台比做前端省事多了),一直没空写……今天抽空给他写出来做下记录。Model 定义没啥说的,直接放代码from django.db import modelsclass UserInfo(models.Model): user_id = models.IntegerField(primary_key=True) ...

2018-05-11 20:11:44 5454

原创 React + Axios + Django前后端分离CSRF问题解决方案

想直接看代码的移步GitHub: https://github.com/769484623/TestWebServerCSRF 403 Forbidden这个问题从我刚开始做这个前端登录界面的时候就遇到了,但为了不耽误学习进度关闭了Django的CSRF验证选项。 现在快要做完了,就抽出了半天时间来解决了这个问题。 并不难其实,就是网上的资料有点不靠谱= =Django的...

2018-05-11 19:53:53 5371

原创 Create-React-App的Webpack配置

随着工程的扩大,单页面应用已经不能适应工程开发的需要了,而create-react-app默认生成的是单出口单入口生产环境,所以我们需要对我们的工程做出一些修改来符合当前的开发进度。工程修改前置工作在工程目录下,输入npm run eject,工具会给出提示,提示eject为不可恢复操作,输入y或者y开头的单词,即可进行eject。 eject后,会在目录下发现几个新增的目录 =...

2018-05-10 11:00:12 12944

原创 ES6学习笔记【二】

ECMA Script 6ES6默认参数函数形参默认值function fun(url,timeout=60,callback = () =&gt; {}){ //其余部分}url为必须参数,其余为可选。默认参数对arguments的影响 ES5 严格模式下arguments对象将不会发生变化,ES6中如果参数使用了默认参数,则无论是否使用严...

2018-05-07 19:15:40 158

原创 React 使用小结【二】

为了实现登录状态的保存,我今天粗略的学习了下Redux。大的问题没遇到,小问题还是挺多的,做下记录。Redux 小记Redux其实可以看成MVC中的M,虽然他需要自己写一些处理函数之类的,但仍然无法改变其只是作为状态储存容器的这个角色。 使用还是很简单的。但是有一点需要注意,在使用Provider的时候,需要给Provider绑定好store,否则会报错。举例如下:import ...

2018-05-07 19:03:59 174

原创 React 使用小结【一】

有了昨天的教训,我决定今天赶紧把遇到的问题写下来…… 前端新手,好多问题都很小白,望请见谅~ React 16.3.1 + ES6Q&amp;AQ:在本地搭建了后端服务器,怎么将数据传回后端跟后端交互(使用脚手架create-react-app)? A:在 package.json 中 script 后面添加类似于:”proxy”: “http://127.0.0.1:800...

2018-05-06 20:16:00 312

原创 Nginx + React + Gunicorn + Django简单网站搭建

一贯的废话开头。 其实这个在四月中旬就已经基本都做完了,本想着四月末之前发出来,但实验室老师抓我做了点别的东西就一直没来得及更新,直到今天才有大块的时间做一下记录……人生艰难啊…… 本文也可以看成是我从嵌入式转到前后台全栈的milestone吧(笑 下面是目前Demo的样子,只实现的简单的登录 + React-Router 简单跳转。 准备工作代码老规矩,首先放出代...

2018-05-04 15:18:07 810

原创 ES6 学习笔记(一)

ECMA Script 6块级作用域var声明与块级提升var 不管是在函数作用域还是全局作用域,都会被当成当前作用域顶部声明的变量,会在预编译阶段被编译器提升到作用域顶部function fun(){ var val1; if (){}}等同于function fun(){ if (){var val1;}}块级声明块级...

2018-05-03 17:19:26 101

原创 剑指Offer——二叉搜索树与双向链表

题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向我的想法很简单,分解&amp;递归。从下至上构造,将其化为有序链表。构造过程中,若节点有右孩子,则左旋(或右旋),将右(左)孩子作为父节点的新左孩子,最后父节点连接左右子树(因左子树所有数大小都小于右子树任意节点,所以父节点必然在中间),作为新的左(右)孩子。 我以下面的树做...

2018-03-15 14:03:52 162

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除