python实战06多线程bug处理记录

多线程bug处理记录

opencv小白06学习笔记06

OpenCV-Python教程:50.理解k-近邻

opencv小白05学习笔记05

OpenCV-Python教程:40.ORB

开源项目阅读06flask

基础

opencv小白04学习笔记04

OpenCV-Python教程:30.霍夫圆变换

opencv小白03学习笔记03

OpenCV-Python教程:21.轮廓:更多函数

opencv小白02学习笔记02

OpenCV-Python教程:11.图片阈值

opencv小白01学习笔记01

学习目标

开源项目阅读05imutils

基础

django入门进阶10部署上线(nginx,uwsgi,supervisor)

django自身服务ok

django入门进阶06静态文件和模板

静态文件和模板

django入门进阶11websocket

本文适合有一定websocket基础的,至少完整看过前后端demo的读者,一窍不通的小白建议先阅读“参考”部分的博文扫扫盲。
基于django的dwebsocket组件(目前虽然不在维护,但正常使用没问题)

linux_手把手教ubuntu搭建rtsp视频推送服务

live555编译安装启动

python进阶20之actor

actor模型。actor模式是一种最古老的也是最简单的并行和分布式计算解决方案。
优点:充分利用单线程+事件机制,达到了多线程效果。
缺点,对python而言,由于GIL的存在,毕竟只是单线程,难以匹敌多进程,目前使用并不多。

python进阶19装饰器和闭包

Nested functions

python进阶18垃圾回收GC

概述

python进阶17正则表达式

正则基础知识

python进阶16炫技巧

原则:可读性第一(效率固然重要,除非非常明显的效率差异,否则可读性优先)
学习炫技巧,更多为了读懂他人代码,自己开发过程中,相似代码量(可读性),建议使用通俗写法。反对为炫而炫。

python进阶15多继承与Mixin

Mixin解释

python进阶14变量作用域LEGB

作用域

python实战05文件路径(找不到文件)

开发时遇到问题,文件路径不正确,找不到文件等等,都是这一类问题.

python进阶13并发之九多进程和数据共享

使用进程,大概率出现情况是,想当然以为共享了,实际没共享。所以最终程序大概率卡死(部分逻辑没有数据进来,导致的业务逻辑性卡住,并非程序死锁)

python进阶12并发之八多线程与数据同步

python并发首选进程,但偶尔有场景进程无法搞定,比如有些变量是无法序列化的,就无法使用工具包manager()的工具类进行共享。如果自己实现新的共享方法,可能开发量较大,且质量难以保证。此时可考虑用线程处理,规避进程的变量共享难题,而且实际场景中,IO大概率都是瓶颈,所以使用线程其实也的确有些优势。个人而言,选择进程和线程较为重视的安全性,进程数据隔离较好,互不干扰。其次就是公用数据占比,如果大多数数据都需公用,那么线程也会比进程更佳,避免了进程较多的数据共享问题。
线程而言,难点数据一致性,

杂谈_浅谈nginx,gunicorn,flask差异比对

角色划分

python进阶11并发之七多种并发方式的效率测试

测试map,apply_async,gevent协程爬虫
测试代码:网页爬虫

python进阶10并发之六并行化改造

图示变量含义说明:
1个大step中包含3个小step,大step内部的第一步,二步,三步存在依赖关系(就是内部保持顺序执行)
a1,b1,c1,表示子任务a的第一步,b的第一步,c的第一步.同理a2,表示子任务a的第二步。

python进阶09并发之五生产者消费者

这也是实际项目中使用较多的一种并发模式,用Queue(JoinableQueue)实现,是Python中最常用的方式(这里的queue特指multiprocess包下的queue,非queue.Queue)。

python进阶07并发之三其他问题

何时使用多进程(线程)

python进阶06并发之二技术点关键词

GIL,线程锁

python进阶05并发之一基本概念

大多编程语言,一旦涉及并发,都会比较复杂,知识点也较多(大多为历史问题,很多技术点现在非常少使用了,但语言层面也提供支持,对于这些冷门点,只需要知道即可,使用时也尽量避免使用这种冷门技术,除非和应用场景非常匹配)。实际使用过程中,只需要知道各名词以及大概功能,大多现用现查,毕竟涉及点太多,而且使用频率也并非很高,一般也就新系统研发会使用,后续维护时基本不会涉及太多。

python进阶04IO的同步异步,阻塞非阻塞

同步和异步

django入门进阶05快捷复习手册

建立项目

python进阶03UnboundLocalError和NameError错误

几个概念

linux_手把手教ubuntu搭建rtmp视频推送服务

1,安装conda,ffmpeg,nginx,nginx-rtmp-module

杂谈_深入理解字符,字符集,gbk,utf8

字符,字符集,字符编码概念

django入门进阶04学习笔记04

第二章 视图层

django入门进阶03学习笔记03

第一章:模型层

django入门进阶02学习笔记02

基于教程,刘江的博客教程Django教程:https://www.liujiangblog.com/course/django/87
Django ORM、一对一、一对多、多对多、详解:https://www.cnblogs.com/pythonxiaohu/p/5814247.html

django入门进阶01学习笔记01

学习笔记,第一个Django应用

开源项目阅读04records

基础

开源项目阅读03tablib

代码结构合理,支持多种数据格式,通过定义”内部格式”(row,dataset,databook)实现了多种格式的导入和导出。
功能角度类似pandas,也是管理多维表的,相对轻量级一些。这个真的很简单,大概看一下吧

开源项目阅读02requests

最大收获在于代码可读性切分,以及变量命名的合理。
需求驱动的模块划分:一般是有公用方法才提出独立func,没有的话就大段代码堆积,除非非常长的代码,影响阅读效果,才会考虑切分。
可读性驱动的模块划分:request更多偏向于“注释型切分”,按照功能角色进行切分,哪怕只有几行代码,如果是独立小block,也会抽取出独立函数,通过函数名标识代码块功能,所以代码即使不看注释也很容易读懂(当然,request模块本身代码注释也很完善)。

开源项目阅读01cpythonDemo

beer

python进阶02yield

yield关键字之前见过,也能读懂,但开发时也不大敢使用,感觉理解还是不够充分。刚好项目代码中有涉及,顺便再学习学习。
在理解yield之前,

开源项目阅读系列

现状与不足

django入门进阶12信号

看起来简单,用起来简单。理解起来则未必容易。上学那会这一块就没整明白,这两天又查了下资料,算是基本弄懂了。
为何难以理解?个人感觉起名占了很大一部分,如果signal命名为“观察者”,“监控者”,“盯梢者”,就容易理解多了。其本质就是一种典型观察者模式。命名为信号,第一感觉是”信号量“类似的东西。

linux_crontab任务配置失败原因总结和技巧

 昨天,配置crontab时遇到一些坑。crontab虽然算比较熟悉了,但也有1年多没碰过,有点生疏了,低级错误基本又犯了一遍。顺便整理下。

linux_ubuntu代理神器v2ray和Qv2ray

安装等不在赘述,网上一堆
v2ray特殊之处在于其代理模式上
传统代理:本机不安装任何软件,直接配置浏览器代理(ubuntu),或者,window/网络/中配置代理,本机不需要增装软件
当前主流代理:购买软件授权码,使用软件授权码就可使用代理
v2ray模式:需要安装2个软件,1个本机,1个服务器,这个是比较特殊的,否则看他人文档时容易懵,为何刚才安装一次又要再安装?

linux_sh和bash区别

区别:bash,sh,./,bash
当我们使用 sh test.sh 、bash test.sh 、 ./test.sh
运行脚本都会使用一个新的shell环境来执行脚本内的命令,
当子进程完成后,子进程内的各项变量和操作将会结束而不会传回到父进程中。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×