- 博客(212)
- 资源 (11)
- 收藏
- 关注
原创 macos 升级到11 big sur 后pycharm 闪退
因为要安装xcode, 升级到11 big sur,然后pycharm打开就闪退原因是pycharmjdk 版本太低的原因。pycharm2020 版本的jdk 是pycharm 自带的,不再使用系统的jdk 了。cd /Application/PyCharm.app/Contents/jbr 这个目录下就是jdk.我的系统带的jdk版本为15, pycharm是openjdk。首先删除 rm -rf /Application/PyCharm.app/Contents/jbr/C...
2021-08-10 11:06:54 1785
原创 《python高性能》学习笔记--- 第7章 并行处理 第8章分布式处理
第7章并行处理python库 multiprocessingCython和openMP 使用多线程进行并行编程Theano和Tensorflow自动实现并行性第8章分布式处理Dask distributed 实现分布式并行算法PySpark
2021-07-01 09:43:33 165
原创 《python高性能》学习笔记--- 第6章 实现并发性
并发是一种实现系统同时处理多个请求的方式,其基本理念是在等待资源期间可着手处理其他的资源。并发的工作原理:将任务划分为可不按顺序执行的子任务,而无需等到前面的子任务完成。1、回调函数2、future3、事件循环4、asyncio 框架5、协程6、响应式编程7、多进程...
2021-06-30 19:17:19 181
原创 《python高性能》学习笔记--- 第5章 探索编译器
1、 Numba这是一个库,它在运行阶段使用低级虚拟机(LLVM)工具链堆python函数进行编译numba的中文教程https://apachecn.gitee.io/numba-doc-zh/#/2、PyPy项目,旨在改善python解释器的性能,这是通过在运行阶段自动编译速度缓慢的代码实现的。官网https://www.pypy.org/...
2021-06-30 16:25:03 103
原创 《python高性能》学习笔记--- 第3章 第4章
第三章讲 用NumPy和pandas执行数组操作,这方面的教程网上很多。第四章讲 使用Cpython获得C语言性能Cpython 能够将Python 脚本编译成高效的C语言代码。在不做任何修改的情况下Cpython就能编译大部分python模块。请新建一个名为hello.pyx的文件,并在其中输入如下代码。def hello(): print('Hello, World!')下面的cython命令读取文件hello.pyx,并生成文件hello.c。$ cython hello.pyx.
2021-06-30 15:52:32 103
原创 《python高性能》学习笔记--- 第2章 纯粹的python优化
这章主要介绍一些python的标准库。1、有用的算法和数据结构列表和双端队列bisect 模块 --- 在有序数组中进行快速查找字典字典可以高效的计算列表中独特元素的个数for item in items: counter[item] += 1collections.defaultdict 生成一个字典,并给每个新键自动指定一个默认值。集无序元素集合,且其中的每个元素都必须是独一无二的。堆堆事一种设计用于快速查找并提取集合中最大值和最小值的数据结构...
2021-06-30 15:25:07 113
原创 《python高性能》学习笔记--- 第1章
基准测试与剖析研究高性能之前要先找到计算运行时间的方法.1、linux的time 命令time python test.pyreal 0m1.051s: 从头到尾运行进程实际花费的时间user 0m1.022s :在计算期间,所有CPU话费的时间sys 0m0.028s : 在执行与系统相关的任务(如内存分配)期间,所有CPU花费的总时间。time 为Linux的命令,所以这种办法可以与语言无关。2、python 的 timeit 模块为了测量python脚本的执行时..
2021-06-30 14:07:20 103
原创 《超大流量分布式系统架构解决方案》学习笔记----第五章 读写优化分库分表
说实话分库分表在实际生产环境没有用过,有一段时间专门研究过这个技术,其实核心的就是如何拆分的算法,最简单的就是直接按照id取模,然后分到对应的表中,复杂点的有一致性hash算法,或者hash 槽算法。说白了就是在实际的存储层的之前加一个映射层,比如hash取模后的结果0~1000的数据放到A库,1001~2000的数据放到B库,以此类推,这样就可以方便的解决扩容的问题。紧接着又会产生一个问题,由于id是用的mysql自增id, 分库分表之后的id是不能直接由于mysql自增id生成,不然分到不同的表中会
2021-04-19 19:54:16 138
原创 《超大流量分布式系统架构解决方案》学习笔记----第四章 读写优化
这系列的学习笔记不会粘贴复制书中的内容,更多的是我看了原文之后按照自己的理解,结合自己的项目经验谈自己的感悟。之前技术开发中有提出这样的观点------ 能读缓存的就直接读DB。更进一步,能从redis里面读数据的,就不直接从mysql里面读取。因为redis的读写性能远高于mysql。使用redis,有几个问题1、内存空间有限,需要搭建分布式2、更新问题,主动更新还是被动更新。...
2021-04-19 18:40:02 121
原创 《超大流量分布式系统架构解决方案》学习笔记----第三章 削峰填谷-----流控方案
这里面谈到了两个技术1、API网关限流 2、消息队列API网关限流,这个在kong中作为插件服务,安装后就可以直接使用。限流简单点说就是为了避免后端业务服务器被大流量打垮,在API网关层做了限制,如果单位时间内过多的流量进来直接给屏蔽掉。那么所有的压力都由API网关承担着,如果大流量把API网关给打垮了,那也是没有办法的,一般会选择性能更高的服务器安装API网关程序。用什么样配置服务器,这块的经验我不是很多给不了一个比较合理的意见。消息队列主要用来做异步任务处理的,比如API接口发来一个请求,实
2021-04-19 17:30:13 173
原创 《超大流量分布式系统架构解决方案》学习笔记----第二章 大促备战核弹-----全链路压测
说实话很多中小型公司没有这个成本做全链路压测,这不仅会涉及到开发还会运维,其实我在这方面没有什么经验。之前接触到的项目都是自己测试保证功能ok, 然后再本地做下压力测试,差不多就可以过了,上线用了。一般会搭建一个竟可能接近生产环境的测试环境。之前有个项目,生产环境搭建了mysql主从的,线上经常会出现一些意想不到的问题,后来就在测试环境上也搭建了mysql主从,尽量的让问题在测试环境上就先行暴露出来。这也是一点经验,最开始为了省事,测试环境就搞了个单mysql,生产环境搞了主从,经常出现测试服务
2021-04-19 17:05:22 180 2
原创 《超大流量分布式系统架构解决方案》学习笔记----第一章 大系统小做----大规模服务化架构
这系列的学习笔记不会粘贴复制书中的内容,更多的是我看了原文之后按照自己的理解,结合自己的项目经验谈自己的感悟。互联网领域中的大规模系统往往都是一步一步演进的,不是一蹴而就的。从最初的单机架构,把应用服务、数据库服务、文件服务等都部署到一台服务器,再到,应用服务、数据库服务、文件服务等拆分到不同的服务器上。更进一步的把应用服务按照业务情况拆分到不同的服务器上。这个过程就是不断解耦的过程,实际上每解耦一次系统的风险就增加了一分。拆分出来的服务直接需要连接,连接就意味着不确定性和风险。这样就需要引入高
2021-04-19 16:55:55 386 3
原创 《编写整洁的python代码》学习笔记---第3章 好代码的一般特征+第4章SOLID原则
这两章主要站在软件设计的角度来分析如何写出好的代码。写出好的代码比写出代码更加重要,因为,代码必然会遇到后期的维护、扩展的问题,好的代码易于维护和扩展。怎么样区分什么是好的代码什么是差的代码呢?那就要看代码是否符合接下来要介绍的一般性的软件设计原则。原则方面的是建议,不是一定要这么做,但是这么做了带来的好处多于坏处为什么不这么做呢?SOLIDS: Single Responsibility Principle 单一职责原则O: Open/Closed Principle 打开/关闭原则L:
2021-04-07 15:26:35 158 1
原创 《编写整洁的python代码》学习笔记--第1章简介、代码格式和工具+第2章python风格代码
这一章主要讲python代码的格式问题,可以上网搜一下 python 的 PEP-8规范,了解下 Black , Pylint, Mypy 等几个工具如何使用。这里的建议是使用 pycharm这个IDE工具,然后安装pylint 工具,可以自动做代码规范检测。为什么要用python风格来编写代码?1、每种语言有都有自己的习惯用法,遵循某种语言的习惯用法编写的代码性能更好2、代码更加紧凑,更容易理解3、团队开发使用相同的代码模式和结构,团队效率更高索引和切片python..
2021-04-07 13:22:37 180 2
原创 《编写整洁的Python代码》目录
简介、代码格式和工具 python风格代码 好代码的一般特征 SOLID原则 用装饰器改进代码 用描述符从个对象中获取更多信息 使用生成器 单元测试和重构 常见的设计模式 整洁架构以上是 《编写整洁的python代码》这本书的目录,最近在学习python,不是学习如何用python写几个功能,而是学习在实际项目中如何编写搞质量的python代码。这也是初级和高级程序员的区别,实现和漂亮的实现区别。每个语言都有自己的风格,以前做php的时候,发现php的风格是很松散的,到了pyth
2021-04-07 09:22:10 311
原创 基于 yii2 + 个人项目经验总结出来的一个版本
这套代码框架可以作为基础框架使用,是基于yii2框架,结合自己的项目经验增加了一下composer包,并且对代码里面的若干地方做出了一些修改。这些修改可能并不会完全遵从某个范式或者设计原则,更多是个人经验的一些总结。1、env配置,利用这个可以很好的做好不同环境的配置,测试环境与线上环境的配置肯定会不一样,把配置文件不加入版本管理也是一种解决办法,但是配置文件分布在项目的各个目录下的时候就会很...
2018-10-18 11:41:06 2167
原创 php 多进程下mysql连接 gone away
php 在命令行模式下启动多进程如果父进程有sql查询,可能会导致子进程里面的sql查询 报错 General error: 2006 MySQL server has gone away主要是主进程创建了sql连接,查询完毕后退出了,子进程会复用父进程的连接id,导致错误。解决办法是父进程用其他的办法拿到数据,每个子进程自己创建自己的连接。
2017-12-16 20:00:41 1946
原创 微信公众号文章采集系统-持续更新1
首先要感谢网友对我的支持和鼓励,我也会尽我最大的努力维护该项目。平时由于工作太忙,很多网友的问题不能立马解答,今后会先收集问题然后采用视频的方式来集中回答问题。百度云盘地址不变 链接: https://pan.baidu.com/s/1kV2zh91 密码: ugcn ,内含最新系统镜像和视频教程这次更新的是虚拟机,主要更新的内容:1、增加git 更新代码,在虚拟机中装了
2017-08-08 10:56:03 718
原创 微信公众号文章采集系统---开箱即用
本着开源精神和方便用户,现已将"微信公众号文章采集系统"打包成虚拟机,你只需下载安装虚拟机镜像,即可使用。
2017-07-29 08:02:03 1460 2
原创 yii 命令行在 crontab 中的执行问题
直接在命令行中输入命令可以正常执行。后来发现在 yii 中的 command 环境里面 有个php的命令根目录下的 yii 文件,注意这个地方需要 根据机器的php环境来配置
2016-06-03 18:38:07 1047
原创 记 搭建邮件服务器(postfix)踩过的坑
首先搭建 postfix 邮件服务器本身难度不大,主要是当遇到问题了能够找打解决办法,有些问题是系统配置问题,你得找到地方修改,再次是有些问题不是那么明显的就在终端显示出来了,你得学会分析日志,分析日志的前提是你得知道有对应日志的存在。先附上链接 www.cmhello.com/lnmp-centos-postfix.html, 基本上按照这篇文章的方法来配置,就可以成功了,但是还是会遇到一些坑
2016-05-16 09:15:08 5263
原创 bee api 快速创建 api项目
官方没有给太多的接受,然后按照视频里面的也始终没有成功,ok ,就说最后创建 成功的指令吧bee api 命令 是 beego 里面通过指定了数据库 快速创建一个 api项目的方法 bee api craw -conn=root:liuhan@\(127.0.0.1:3306\)/test?charset=utf8模型,控制器,测试单元,都给你整好了。
2015-11-26 17:39:50 1897
原创 begoo 的路由 详细
写一些我碰到的问题吧注册一个可以响应任何HTTP的路由beego.Any("/foo",func(ctx *context.Context){ ctx.Output.Body([]byte("bar"))})官网说 , Any是可以响应任何http的路由如果同时存在两个相同的路由怎么处理呢,一个是 Post 一个 是 Any类似这样:
2015-11-25 14:45:51 1000
原创 beego 用golang 做http开发的框架
官网 http://beego.me直接在router.go 中写 beego.Any("/foo", func(ctx *context.Context) { ctx.WriteString("hello world") })发现会报错routers/router.go:12: undefined: context in context
2015-11-25 14:26:34 1466 1
原创 我的web框架分析方法
从学习php 开始 接触过一些php的开发框架,这些框架可以用来快速的开发网站或者 api服务等,主要是基于http的开发,当然也可以用这些框架做的别的开发例如我就做过爬虫。 实际开发用到的 php框架 主要有 ci ,thinkphp , laravel 等。当学习了这些框架之后,需要抽象出一种可以快速学习其他类似的MVC的开发框架,例如 golang 的 beego ,Py
2015-11-25 13:52:39 691
原创 mysql 的 视图
有两张表,没有字段关联,本来也这两张表也没有任何关系,但是现在的需求是要把这两张表里面的数据都得到然后要做分页,要根据这两张表里面分别有的时间字段来排序。如果把两张表分表做排序后查询出一定数量出来,那么最后合并之后的排序肯定不准,如果是把两张表里面的所有数据都查询出来,然后,合并,排序,再做分页,当数据量太大之后,效率上肯定有缺失。这样的需求是真实存在的,后台在同事的帮助下,解决的办法是
2015-11-13 00:30:54 413
转载 项目部署 python fabric
原文链接http://dormousehole.readthedocs.org/en/latest/patterns/fabric.html使用 Fabric 部署Fabric 是一个 Python 工具,与 Makefiles 类似,但是能够在远程服务器上执行命令。如果与适当的 Python 包(大型应用 )与优良的配置(配置管理 )相结合那么Fabric 将
2015-10-13 14:22:24 735
原创 php op code 缓存 xcache
xcache 缓存 PHP 的 操作码操作码 缓存起来之后,不用每次执行 php 代码的时候,CPU 和内存 重新执行一次,这样减少了 CPU 和 内存的压力,提高效率。说明:php安装目录:/usr/local/phpphp.ini配置文件路径:/usr/local/php/etc/php.iniNginx安装目录:/usr/local
2015-09-21 14:57:22 748
原创 mamp 下 的mysql 安装 python 的 mysql 接口 MySQLdb
搞了几个小时,后来才才发现 mamp 环境下的mysql 无法安装 Python 的 MySQLdb 。解决办法就是 重新编译安装 mysql这是原文链接How to install mysqldb (mysql-python) on MAMPhttp://dreamconception.com/tech/how-to-install-mysqldb-mysql-pyth
2015-09-20 15:59:08 715
原创 Mac Python 操作 粘贴板
Usage is simple:import pyperclippyperclip.copy('The text to be copied to the clipboard.')spam = pyperclip.paste()原文链接http://coffeeghost.net/2010/10/09/pyperclip-a-cross-platform-clipboar
2015-09-20 11:12:47 2936 1
原创 selenium 操作测试对象
1、鼠标点击与键盘输入browser.find_element_by_id("kw").send_keys("XXX") ---用于在输入框里输入 内容browser.find_element_by_id("kw")click() 用于点击一个按钮browser.find_element_by_id("kw").clear() 清除输入框里面的内容2、
2015-09-20 10:35:58 464
原创 selenium 浏览器操作
1、浏览器最大化browser.maximize_window()#将浏览器最大化显示2、设置浏览器宽、高browser.set_window_size(480, 800)3、浏览器的前进、后退browser.back()bro
2015-09-20 10:27:30 1103
原创 selenium python 常用命令---元素定位 休眠
find_element_by_id("kw") -- 通过id 查找元素browser.close() -- 关闭当前窗口browser.quit() -- 退出浏览器元素定位#通过id方式定位browser.find_element_b
2015-09-20 10:23:52 1261
原创 laravel 分页 说明
后端采用laravel框架开发后端php public function index(){ $res = DB::table('school_news')->orderBy('id' , 'desc')->paginate(2); //dd($res); return $this->tpl('viewer.page.pc_
2015-09-17 14:18:22 521
原创 fix-plus fis-plus 是扩展自FIS的前端集成解决方案
http://oak.baidu.com/fis-plus/document.html#%25E5%25BF%25AB%25E9%2580%259F%25E5%2585%25A5%25E9%2597%25A8
2015-09-15 13:57:15 459
原创 laravel -- 安装
http://www.ituring.com.cn/article/194739composer 的安装 可以自行google , 这个没有太大问题的。composer config -l -g ------ 这个命令 找到配置内容 其中的[home]配置项内容找到[home]路径 , 进入 vendor/bin执行 laravel new blog(项目名称)
2015-09-11 18:29:56 349
转载 php 操作 Memcache
http://www.nowamagic.net/librarys/veda/detail/332Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memca
2015-08-21 10:33:46 377
原创 Linux shell 监控 进程执行
Linux 检查进程是否执行,没有则执行,然后 用 crontab 定时执行,就可以对进程进行监控了#!/bin/shps aux|grep "craw_des.py"|grep -v grep #grep 正则匹配 字符串,grep -v grep --忽略包含grep 的字符串if [ "$?" != "0" ];thenecho "no craw_des.
2015-08-19 11:27:47 491
原创 sphinx--- 问题记录
./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory 发现sphinx indexer依赖库ibmysqlclient.so.18找不到,通过编辑此文件来修复这个错
2015-08-17 20:40:00 715
原创 ubuntu 防火墙ufw
目录[隐藏]1描述2用法(复述中文含意)3可直接跟在ufw后的参数4规则示例5远程管理6应用程序集成管理7报告8常用操作(新手操作)[编辑]描述 此程序(ufw)是为了使linux防火墙更易于使用和管理。(通常已默认安装)ufw与其它linux类防火墙一样,使用iptable作为后台。安装方法: sudo apt-get inst
2015-08-14 13:38:31 735
原则 pdf 作者: [美] 瑞·达利欧
2019-04-03
php--二维码生成代码
2015-07-23
gh0st的socket内核文件
2014-06-05
CTrueColorToolBar 类
2014-06-04
使用OllyDbg从零开始Cracking
2014-05-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人