[Python3]踩坑实录-优化技巧1】的更多相关文章

选择合适的数据结构 考虑不同的应用场景,应选择不同的数据结构 比如在查找多于插入的场景中,考虑字典Dict是不是更适合; 因为在Python3中, 字典Dict 通过hash把key映射到hash table的不同位置(或者说不同的bucket中), 因此查找操作的复杂度为 O(1): 而列表list对象实际是个数组,完成相同的查找需要遍历整个list,其复杂度为 O(n), 因此对成员的查找访问等操作字典要比 list 更快. 集合Set 跟字典Dict比较类似,查找操作的复杂度为 O(1),…
前言 公司有个后端路由的项目是用 gulp 作为前端自动化构建工具,最近学习了一下 webpack,深感其强大,一狠心将其改成了 webpack 构建,以下是踩坑实录. gulp 先来说说原来的架构. 该项目是个 后端路由 的项目,我们以域名 www.abc.com 为例.假设有以下两个路由 www.abc.com/about 和 www.abc.com/join,因为路由后端已经构建好,这个时候我们是可以打开这两个页面的. 后端模版为 php 的 twig(当然可以是其他任何模版),这两个路由…
写在最前面 想想来新公司也快五个月了,恍惚一瞬间. 翻了翻博客,因为太忙,也有将近五个多月没认真总结过了. 正好趁着今天老婆出门团建的机会,记录下最近这段时间遇到的大坑-JasperReport. 六月份的时候写过一篇利用poi文件导入导出的小Demo,JAVA实用案例之文件导入导出(POI方式). 虽然简单,但是企业应用的原理基本上也就是这样,只不过是封装的更好些,不像我之前写的那样每个Cell都需要定义,其实poi的方式也是我目前最推崇的方式之一了.主要原因是jxl不支持xlsx,Jaspe…
一.背景介绍 最近领导要求做一个视频录制的相关项目.其中,需要对视频文件进行添加 实时时间水印.于是,我想到了使用之前的ffmpeg来做. 二.ffmpeg实际操作 首先把需要添加水印的视频文件,上传到服务器指定位置 比如 “/usr/local/1.mp4”,这样的地方.其次,我们需要了解如何去给视频添加水印. 这里提供两种方式,一种是静态的,一种是动态的.(相关安装请参考 <ffmpeg 踩坑实录(一)>) 静态水印: ffmpeg -i /usr/local/test/448da411-…
写在最前面 翻了翻博客,因为太忙,已经好久没认真总结过了. 正好趁着今天老婆出门团建的机会,记录下最近这段时间遇到的大坑-JasperReport. 六月份的时候写过一篇利用poi文件导入导出的小Demo,JAVA实用案例之文件导入导出(POI方式). 虽然简单,但是企业应用的原理基本上也就是这样,只不过是封装的更好些,不像我之前写的那样每个Cell都需要定义,其实poi的方式也是我目前最推崇的方式之一了.主要原因是jxl不支持xlsx,JasperReport坑又太大,哎.下面进入正题,来介绍…
说到HashMap,hashCode 和 equals ,想必绝大多数人都不会陌生,然而你真的了解这它们的机制么?本文将通过一个简单的Demo还原我自己前不久在 HashMap 上导致的线上问题,看看我是怎么跳进这个坑中去的. 起因 在重构一段旧代码的时候发现有个 HashMap 的key对象没有重写 hashCode 和 equals 方法,使用IDEA自动重构工具生成后引发线上问题,因为实际重构的旧代码复杂,所以我抽出了一个关于奶酪(Cheese)的Demo还原踩坑场景,看看究竟谁动了我的奶…
前言 Visual Studio (简称VS)是微软公司旗下最重要的软件集成开发工具产品.是目前最流行的 Windows 平台应用程序开发环境,也是无数人学习编程的入门软件之一.Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务.智能设备应用程序和 Office 插件,目前还可开发安卓平台应用及IOS平台应用.由于本人是做视频编码的,跑实验都是用C语言,而VS系列是对C语言最友好的编程工具.因为,我花了整整一天时间在…
这段时间一直在做一个关于视频处理的项目.其中有一块需要切片相关功能.于是采用了ffmpeg来完成相关需求. 第一,ffmpeg的安装. 首先下载官方包,我这里用的是ffmpeg-release-64bit-static.tar.xz,地址在这里http://www.ffmpeg.org/download.html.选择自己系统相关的包. 然后解压缩 tar -xvf ffmpeg-release-64bit-static.tar.xz 最后把 需要把文件的执行命令写入环境变量 在/etc/pro…
谨以此文,记录和ubuntu系统不死不休的搏斗过程,后续待补. 1.双系统安装,windows采用uefi模式安装(优启通可制作uefi的win10安装盘),ubuntu不要划分boot区,而应该划分uefi区,否则,不能被uefi引导 2.软件源都替换成清华或者阿里,blabla,否则被墙得泪流满面 清华镜像站:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/ Ubuntu 的软件源配置文件是 /etc/apt/sources.list.将系统…
前段时间公司APP做了一个APP论坛会议,嵌入了h5播放器.我以为很简单,没想到,这正是我踩进泥潭的开始... (想要吸取经验的小伙伴可以慢慢往下看,想要解决方案的直接看最后!) 一.一开始我以为直接用H5原生video就可以直接实现. <video src="url" poster="video.png" width="100%" height = "9rem"></video> src :视频地址,…
最近学习springcloud消息总线需要用到rabbitmq,然后安装的时候踩了一些坑,记录如下: 首先安装rabbitmq之前需要先安装erlang,因为rabbitmq服务端使用erlang写的,依赖erlang 安装好erlang之后安装rabbitmq 第一个坑: 1.rabbitmq的版…
报错内容: ModuleNotFoundError: No module named 'md5' 解析: 这是 python2 的库,python3 已经把它包含进 hashlib 库里了 解决方法 直接把对 md5 库的引用语句注释掉,改为引用 hashlib 库 报错内容: AttributeError: module 'sys' has no attribute 'setdefaultencoding' 解析: python2 的默认字符编码为 ASCII 编码,所以有 setdefaul…
一.背景介绍 将ffmpeg运用到项目上已经有一段时间了,趁现在有空赶紧记下来. 二.技术点总结    2.1 实现方式 项目里面主要运用的形式是,在java端,调用操作系统的方法,并执行切片命令. 在执行切片之前,出于对代码的健壮性考虑,一般会下意识地对文件和目标地址进行检查和创建路径. 这里除了,判断传入的String对象是否为空之外,还需要对实际的文件进行判断以及目标地址的路径是否存在.这样可以在发布上线之后避免很多问题.   2.2 时长的获得 除了切片还需要,统计被切片的文件时长,这个…
公司要使用PowerDNS,作为内网域名解析的工具.让我和另一组的同事学一下如何配置及调优.所以先找了两台服务器试着安装一下.这一装就是一个礼拜,经历了大大小小的坑,记下来以后可能需要参考.安装过程如下:   1.安装mysql: 尽量使用源码安装,不要使用apt-get,安装的版本不完全,缺少相关的库,会导致后面缺少mysql.h.mysql_config等等文件.我手里这台机器已经装好了mysql,这步就直接略过了.   2.安装php: 在php官网http://www.php.net/ …
Archlinux 没声音 1. 排查驱动,声卡驱动没问题 2.排查alsa,alsa没问题(并确认声卡存在且取消静音) 3.抱着尝试的心态,安下VLC.然后提示找不到默认声卡设备(大概这个意思),通过audio选项切换至其他几个设备,终于有声音了.. 4.设置默认音频设备: aplay -l 查看所有音频设备,锁定我需要的设备是:card 1 device 1  ALC892 Digital 编辑文件:/etc/asound.conf defaults.pcm.card defaults.pc…
在项目中引用 cardview 卡片布局,编译时 Android Studio 报出下面图片中红框标记的错误: 出现这种情况的原因在于没有导入 cardview 卡片布局相应的依赖包,因此我们需要在 build.gradle 文件中添加相应的依赖, compile 'com.android.support:cardview-v7:25.3.0'需要注意的是,cardview 的依赖版本不能高于 support:appcompat 的版本数,否则无法成功添加依赖! 我的 support:appco…
当我们添加某些依赖库(Okhttp.Retrofit)时, Android studio 会报如下错误: Error:A problem occurred configuring project ':app'.> Could not resolve all dependencies for configuration ':app:_iranDebugCompile'.   > Could not resolve com.facebook.network.connectionclass:conn…
最近想做一个统计文章点击率,评论率和点赞率的功能,听说echarts可以轻易完成它,于是我就选择使用echarts,考虑到我做的模块上文章是没有分类的,所以我的统计是基于一个个点,这一看嘛,感觉散点图可以胜任.为了突出表现那篇文章点击率或点赞率多,感觉气泡图就更能胜任这么回事.于是就选择气泡图干这件事. 简单地从官网拷贝个案例,直接从后台传递需要的json数据,原以为会想直方图那样简单,结果是数据加载了,然而默认没看见意料中的气泡!!怎么回事?? 一开始我怀疑是我后台返回的数据不符合需求,于是我…
[转自别处] 比如我sed想做文件原地的替换,但是怎么写都出错,错误提示还莫名其妙,后来多方搜索才知道Mac上的sed如果参数有-i就必须加上备份指令,即-i后添加任意字符,那些字符就作为备份文件的后缀名, 可耻的man上却写得好像是可选的一样. 批量替换命令: sed -i.bak "s/suanec/core-user/g" `grep suanec * | awk -F":" '{print $1}' | uniq` sed -i.bak "s/su…
由于需求涉及oracle的clob类型字段,在mybatis的mapper xml文件中编写merge into语句时总是失败. 附上错误代码 <insert id="mergeInto"> <selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id"> SELECT to_char(sysdate,'yyyymmdd'…
执行 npm start 显示空白页面 这个是开始使用weex就出现的一个大坑,说实话对新手真的很不友好. 1.打开控制台显示:Cannot assign to read only property 'exports' of object '#<Object>',这是因为 import 和 module.exports 不能同时使用,打开出错的页面 src/router.js,将 module.exports = new Router 改为 export default new Router:…
前言:前后端分离,业务分离,网关路由等已经成为当下web application开发的流行趋势.前端以单页面路由为核心的框架为主体,可以单独部署在nodejs或nginx上.后端以springboot为代表的分布式微服务框架为主体,可以独立运行在任何端口上.相互通过符合restful规范的接口访问或数据交换.在这样的开发模式下,首先需要解决的就是由于跨域而引起的访问,cookie传递以及权限管理问题.本文以时下最流行的Angular2,Springboot,Zuul,Shiro为例,提供最佳实践…
nodejs的常用api url 主要是配置一系列和路径相关的信息 url.parse(urlString[, parseQueryString[, slashesDenoteHost]]) 将一个URL字符串解析为URL对象 urlString: 解析的路径字符串 parseQueryString: 返回是布尔类型,主要用来解析query的 slashesDenoteHost: 返回是布尔类型,当你不确定你的请求协议时,辅助帮助你进行解析 url.format(urlObj,parseObj,…
项目需求:这里暂且叫A公司吧,A公司有一套人事管理软件,需要与我们公司的软件做人员信息同步,A公司用的是SQL server数据库,我们公司用的Oracle,接口都不会开发(一万句"fuck you"),就单单给我们公司提供了一个SQL server的账户和密码,还有一个视图.后来百度一番,可以通过DBLink跨数据库访问,然后做数据信息同步功能. 安装过程中,踩了不少的坑,需要配置很多的东西,QQ群里也请教不少人,都很少人听说还有这玩意,现在做数据对接,都是走到接口,传JSON字符串…
在IIS上部署 .Net Core 3.0 项目的主要流程有: 安装并启用IIS 安装AspNetCoreModuleV2 添加.配置网站 设置应用程序池 通过VS发布 一.安装并启用IIS: 安装了VS的环境,已经默认装上了IIS,可在控制面板的“程序和功能”中查看确认. 在“程序和功能”界面点击“启用或关闭Windows功能”,全选IIS下的全部选项,“确定”,等待启用完成. 二.安装AspNetCoreModuleV2 下载网址:https://dotnet.microsoft.com/d…
Linux版本Centos elasticsearch版本:5.5 1.下载elasticsearch https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.2.tar.gz 使用xftp,将下载好的文件直接放到linux上面 解压 进入到复制目录进行解压 tar -zxvf elasticsearch-5.5.2.tar.gz 之后将解压好的elasticsearch文件夹挪到合适的位置 mv elasti…
最近心血来潮想给自己的笔记本装一套linux系统作为开发环境, 说干就干,首先先收集一下现在linux主流版本, 貌似现在市场上应用服务器比较多的是redhat相关产品,而ubuntu的优势在于它庞大的社区支持用户群体, 个人认为两个都差不多,至于选择哪个看个人兴趣. 我选择的是RedHat旗下CentOS7.6版本,下载地址 http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso 下面是我的…
转自:https://blog.csdn.net/xiao__miao/article/details/86352380 1.近期工作的时候,运维通知一个系统的内存一直在增长,leader叫我去排查,我开始看了一下,没处理,leader自己去看了一下,发现是线程池的问题,我开头没注意那块,一看才发现,确实因为CompletionService里的结果队列引起的.CompletionService里面有一个BlockingQueue维护结果,如果不去取结果就会导致一直里面一直增长 @Suppres…
1.昨天在为一个新项目配置地址转发,搞了很久都没生效,日志也没有问题,但就是没到转发的目标机器上. nginx.conf 配置如下: location /prism{ proxy_pass http://10.1.253.1:8080/prism; } 在抓掉了数十根头发后,我犯嘀咕,是不是prism少了个空格? location /prism { proxy_pass http://10.1.253.1:8080/prism; } OMG, 果然好了.... 真的是细节决定成败.…
1.Marshmallow.ModelSchema 报错 AttributeError: 'Marshmallow' object has no attribute 'ModelSchema' `from flask_sqlalchemy import SQLAlchemy from flask_marshmallow import Marshmallow app = Flask(name) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///m…