-
iphone充电引发的思考
这几天老妈给我抱怨她的手机晚上明明插着充电的,但是第二天发现手机电量才冲了一点点甚至还少了。我也尝试插了几次充电确实是时好时坏,充电有点异常。排查原因: 更换充电线测试; 用她的充电线冲我的手机;测试结果是充电线的原因,然后仔细检查了充电线的线体和两端的插头,发现lighting端头有触点已经黑了,而且黑的地方很有特点,都是从左往右的第4个触点发黑!于是上网查了一下发现有很多这样的情况,造成的原因都大同小异:充电口潮湿或者进水之后,继续充电,使得触点表面发生电化学反应生成了氧化铜造成的...…
-
梯子变矮了
啊啊啊啊啊~~ 最近梯子又变矮了! 召唤一只超大巨人进入 6 月以来已经废了 2 个梯子了,不幸的是,今天剩下的唯一一个梯子也变矮了。鉴于这个梯子是阿里云的轻量服务器(新加坡)的,所以我斗胆提了个工单,反馈了一下我服务器 ssh 连不上了(不能提翻墙的事),不出所料,工单反馈很官方,说他们海外测试没问题,国内连不上是出口节点管制了是运营商的锅,还问我是否有涉及违法违规的事情,这个我当然不能承认啊!毕竟程序员的梯子能叫梯子吗?程序员的翻墙能叫违法行为吗?绕了一大圈,最后解决方法是把剩余...…
-
迁移blog
毕业也一年了,又要到了一年一次的高考了,希望考生能取得自己满意的成绩吧!阿里云的学生服务器快要到期了,趁着端午假期,提前把服务器上用wordpress搭建的博客里面的内容迁移到GitHub Pages。选择GitHub Pages的原因: 免费,只要注册github之后就可以免费使用; 有版本管理,修改变更方便; 可以使用markdown;相对于这些优点来说,GitHub Pages缺点对于个人blog来说真的是不重要了我采用了 Vno-Jekyll主题的Jekyll来搭建静态的博客...…
-
vscode进行vue格式化时,会自动补分号和双引号的问题
用vscode来开发vue是一个很不错的选择,特别是安装了一些插件辅助之后,简直如虎添翼。但是由于vue的严格检查模式下,vetur插件的自动格式化会在代码尾部添加分号和把单引号变为双引号,导致出现错误提示!解决问题的办法就是修改settings.json文件的配置,亲测有效!"vetur.format.defaultFormatterOptions": { "prettier": { "semi": false, "singleQuote": true }}"javas...…
-
python调试神器之PySnooper
安装 PySnooperpip install pysnooper举个例子(来自官网)import pysnooper@pysnooper.snoop()def number_to_bits(number): if number: bits = [] while number: number, remainder = divmod(number, 2) bits.insert(0, remainder) ...…
-
node.js的多版本管理器——nvm
快捷安装nvm的两种方法//使用curlcurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash//或者使用wgetwget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bashnvm的使用方法Usage: nvm --help ...…
-
axios
Axios 基于promise用于浏览器和node.js的http客户端特点 支持浏览器和node.js 支持promise 能拦截请求和响应 能转换请求和响应数据 能取消请求 自动转换JSON数据 浏览器端支持防止CSRF(跨站请求伪造)安装使用 npm:$ npm install axios请求方法: axios.request(config) axios.get(url[, config]) axios.delete(url[, config]) axios....…
-
优化Mac上的iTerm2
MacOS自带的Terminal在功能上不够强大,一般都会用iTerm2来替代。但是iTerm2还是有许多可以优化的地方!!zsh主要功能有 命令高亮 (识别 命令 正确性) 拓展性高 支持 命令补全安装#安装xcode Command Line Tools 如果已安装则逃过这步$ xcode-select --install $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/i...…
-
docker之nginx
安装 nginxdocker pull nginxdocker 中 nginx 的文件位置 日志文件 /var/log/nginx 配置文件 /etc/nginx/conf.d 项目文件 /usr/share/nginx/htmldocker 命令启动 nginxdocker --name ngixn-server -p 80:80 -v ~/nginx/log:/var/log/nginx -v ~/nginx/www:/usr/share/nginx/html -v ~/ngin...…
-
celery的学习使用
Celery 是一个专注于实时处理和任务调度的分布式任务队列, 同时提供操作和维护分布式系统所需的工具.. 所谓任务就是消息, 消息中的有效载荷中包含要执行任务需要的全部数据. Celery 是一个分布式队列的管理工具, 可以用 Celery 提供的接口快速实现并管理一个分布式的任务队列. Celery 本身不是任务队列, 是管理分布式任务队列的工具. 它封装了操作常见任务队列的各种操作, 我们使用它可以快速进行任务队列的使用与管理. Celery 架构图 安装 Celer...…
-
rest_framework源码之generics
genericsgenerics.py 文件中的类: GenericAPIView CreateAPIView ListAPIView RetrieveAPIView DestroyAPIView UpdateAPIView …以及从mixins.py引入的 5 个重要的类: mixins.CreateModelMixin mixins.ListModelMixin mixins.RetrieveModelMixin mixins.UpdateModelMixin ...…
-
rest_framework源码之APIView
APIView 类中很最要的一个方法:dispatch该方法中有两个需要注意的关键点: request 替换 http 请求映射类中的对应名称的方法def dispatch(self, request, *args, **kwargs): self.args = args self.kwargs = kwargs request = self.initialize_request(request, *args, **kwargs) self.request = ...…
-
rest_framework中django-filter的In查询操作
IN 操作:举个例子:想要查询tb_student表中ID为1、3、5、6的学生的name、class、score的信息//原始sql语句:SELECT name,class,score FROM tb_student WHERE id in (1,3,5,6);在使用 rest_framework 的筛选时://django_filters的写法import django_filters#继承BaseInFilter以及想要做IN操作的字段类型,比如NumberFilter、CharFi...…
-
supervisor守护程序
supervisor是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具。可以很方便的监听、启动、停止、重启一个或多个进程。用supervisor管理的进程,当一个进程意外被杀死,supervisor监听到进程死后,会自动将它重启,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。安装supervisor$ pip install supervisor使用supervisor1、 生成默认的配置文件$ echo_su...…
-
python的函数参数传递机制
函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题。基本的参数传递机制有两种:值传递和引用传递。 值传递(passl-by-value)过程中,被调函数的形式参数作为被调函数的局部变量处理,即在堆栈中开辟了内存空间以存放由主调函数放进来的实参的值,从而成为了实参的一个副本。值传递的特点是被调函数对形式参数的任何操作都是作为局部变量进行,不会影响主调函数的实参变量的值。 引用传递(pass-by-reference)过程中,被调函数的形式...…
-
docker-compose的学习使用
docker-compose的学习使用安装 docker-composepip install docker-compose使用 docker-compose version:指定 docker-compose.yml 文件的写法格式 services:多个容器集合 image:指定服务所使用的镜像 image: python:3.6 build:配置构建时,Compose 会利用它自动构建镜像,该值可以是一个路径,也可以是一个对象,用于指定 Dockerfi...…
-
docker-file的学习使用
docker-file的学习使用…
-
Django-middleware
中间件是一个 hook 框架,它们可以介入 Django 的请求和响应处理过程。 它是一个轻量级、底层的“插件”系统,用于在全局修改 Django 的输入或输出。Django 的中间件自定义中间件类可以继承 MiddlewareMixin 类。class MiddlewareMixin: def __init__(self, get_response=None): self.get_response = get_response super().__i...…
-
python实现的常用算法
冒泡排序冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。def bubbleSort(arr): for i in range(1, len(arr)): for j in range(0, len(arr)-i): ...…
-
vue封装echar为组件
…