自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 引用路径与全局变量

引用路径与全局变量最近遇到一个全局变量无法使用的bug,在此记录一下该bug的表现与解决方案。在一份代码中,文件以如下方式组织:| – diff_main.py| – diff| – diff_code.py| – diff_conf.py在diff_main.py中调用diff_code.py中的全局变量g_tasknumber,并进行修改,但是在diff_code.py中再次调...

2019-11-02 11:13:49 264

原创 ogr读写性能优化

ogr读写性能优化在开发一个程序的时候,需要将一份mif格式的地理数据按照图幅进行切分,以便使用多进程并行的方式进行后续计算。在第一次实现该功能时,使用的是先将所有数据读取进内存,再将内存里的数据写入到文件中实现的。但是因为mif文件太大,直接读取进内存,在一些内存不足的机器上无法顺利运行,因此对该方法进行了改进。封装的通用mif文件读写函数def get_miffile_layer(ds_...

2019-10-26 11:40:34 239

原创 决策树的使用

决策树的使用决策树是一种基于数据训练的机器学习方法,根据训练数据和训练特征集,找到特征集与数据类别的关联,生成if-else型的判断条件树。决策树具有训练简单、结果易于解读的优点,是一种非常常见的机器学习训练方法。以下应该用python中的机器学习库scikit-learn使用决策树的基本方法。决策树基本用法决策树创建from sklearn.tree import DecisionTre...

2018-12-02 11:57:29 1667 1

原创 KM算法

最近的项目需要使用这个算法,在GitHub上搜索了一下这个算法的实现,希望能找一个python语言实现的。在GitHub上找到了一个,但是计算出来的结果是错误,因此本人根据其他人的博客使用Python实现了一个KM算法。现在讲代码和参考的博客贴出:python代码匈牙利算法KM算法其中匈牙利算法是KM算法的一个基础,可以先看匈牙利算法在去了解KM算法。...

2018-11-04 17:54:50 964

原创 python程序优化笔记

python程序优化笔记最近要优化一个python程序,提高程序的执行效率,降低程序的资源占用。在优化过程中用到了一些优化的工具,并且使用了一些优化的方法,在这里做一个记录。性能测试工具在进行程序优化时,需要检测两个方面的内容,一个是程序的内存使用,另一个是程序的执行时间。下面介绍两个用于进行Python性能检测的工具,memory_profiler,用于检测程序的内存使用情况;cProfi...

2018-10-20 10:32:40 734

原创 PostgreSQL配置文件

配置文件控制着一个postgresql数据库的行为,主要包含以下几个数据文件:postgresql.conf控制数据库的通用信息pg_hba.conf控制数据控的访问安全性pg_ident.confpg_hba.conf中存在ident是存在该文件,将系统用户映射为数据库用户。postgresql.conflisten_addresses表示PostgreSQL服务器所使用...

2018-10-14 20:52:34 1476

原创 流畅的Python阅读笔记(二)——python多进程

python多进程在Python中,如果希望借助计算机多核的优势提高程序的运行效率,往往必须借助多进程来实现。因为在Python中,单一进程运行时会有一个GIL全局锁,每个线程在切换时都必须获取这个锁来取得CPU的控制权,因此Python中的多线程程序是线程安全的,但是往往很难发挥出并行计算的优势。一般只有在进行IO密集型的程序时才能够发挥出效率优势。在CPU密集的程序中,往往采用多进程的方式来...

2018-09-22 10:38:17 205

原创 流畅的Python阅读笔记(一)——yield关键字

yield关键字yield关键字是python中用于处理协程的关键字,其含义为产出和让步。yield item这行代码会产出一个值,提供给next(…)的调用方,同时,还会做出让步,暂停执行生成器,让调用方继续工作,指导需要使用另一个值时再调用next()。简单的使用def simple_coroutine(): print('-> coroutine started...

2018-09-02 12:29:56 273

原创 实现ssh自动登录

 ssh 登录可以使用公钥认证(ssh public key authentication)。将客户端机器的ssh public key添加到服务器的 ~/.ssh/authorized_keys 文件中,可实现ssh的免密码登录。这样做使得登录服务器更加安全和快捷。客户端生成公钥和私钥生成一个名为test的公钥和私钥对,密码留空不输入。具体的说明请看这里: ssh-keygen 基本用法[huq...

2018-04-15 12:50:55 5073

原创 【博览网】设计模式——第二周课程笔记

本周接着介绍详细的具体的设计模式,包括工厂方法、抽象工厂模式、原型模式、构建器、门面模式、代理模式、适配器和中介者。

2017-10-03 20:54:07 256

原创 【博览网】设计模式——第一周课程笔记

本周课程先大致介绍了设计模式的概念以及产生原因,然后详细讲解了设计模式的几大原则,接着按照顺序介绍了模板方法、策略模式、观察者模式、装饰模式、桥模式这几个设计模式。

2017-09-28 14:48:38 386

原创 【博览网】C++标准库——第五周课程笔记

本周主要介绍一些属于C++标准库,但是不属于STL的内容。主要有万用的哈希函数、tuple、typetraits、cout和moveable元素。在本笔记中主要介绍一下这些内容的使用方法以及构造原理,不对源代码做过多分析。

2017-09-21 12:38:28 269

原创 【博览网】C++标准库——第四周课程笔记

第四周的课程继续介绍标准库的内容,本周主要介绍了STL中的算法和适配器。详细讲解了迭代器中的traits如何帮助算法获得更高的性能,也介绍了适配器如何通过改造其适配对象,使适配对象取得所需的特殊行为。这一部分的内容比较复杂,重点放在算法和适配器的使用上,而不是构造上。

2017-09-12 19:46:41 211

原创 【博览网】C++标准库——第三周课程笔记

本周还是接着上一周的内容,介绍容器的底层设计。本周介绍的容器为deque及stack、queue,rbtree及set、multiset、map、multimap,hashtable及unorder容器。

2017-09-02 17:26:10 192

原创 【博览网】C++标准库——第二周课程笔记

第二周课程先简单对比了一下面向对象编程和泛型编程的优缺点,详细讲解了泛型编程的特点和基础。然后开始详细介绍几个常用容器的底层代码,本周介绍的容器有list、vector、array和forward-list。同时,为了让我们更好的理解源代码,本周还介绍了traits的原理和作用。

2017-08-29 16:02:06 294

原创 C++标准库——第一周课程笔记

本周主要介绍六大部件的关系,以及容器的用法。

2017-08-21 10:45:30 216

原创 【博览网】面向对象程序设计(下)——第二周课程笔记

本周课程课程主要是对C++一些底层特性的讲解,平时开发中可能较少接触到这些内容,但是有所了解对程序开发还是很有帮助的。对于之前课程已经讲解过的内容,在此不再赘述。

2017-08-12 19:33:12 205

原创 【博览网】面向对象编程下——第一周课程笔记

第一周主要介绍了C++比较特别的编程设计方法,以及C++新标准的一些语法特性。在课程内容中,部分内容在之前的课程中已经介绍过了,在此略去相关的笔记。

2017-08-06 11:35:14 222

原创 【博览网】面向对象高级编程(上)——第三周课程笔记

第三周主要介绍C++中类与类之间的关系,主要包括复合、委托和继承这三个基本的关系。在这三个基本关系的基础上介绍了面向对象的程序开发方法,并且详细讲解了为面向对象程序开发方法提供基本支持的虚函数和多态特性。

2017-07-29 18:17:52 236

原创 【博览网】面向对象高级编程(上)——第二周课程笔记

第二周的内容以带指针的类的设计为引子,讲解C++与内存相关的基本知识。涉及到内存的分配与操作、内存使用结构、堆和栈等知识。

2017-07-23 15:13:07 207

原创 【博览网】面向对象高级编程(上)——第一周课程笔记

以Complex为例介绍基本的C++语法特性,以及不含指针的Class编写方法。

2017-07-15 11:44:01 320

原创 WebGIS开发实习(一)——数据库连接

本文讲解基于java语言的后台数据库的基本操作方法,为前端网络开发部署打好基础。数据库操作主要分为有增改查删,操作方式主要是通过对应的SQL语句来实现,因此,在介绍时,笔者不按照具体的操作来介绍,而是按照数据库运作的基本流程来介绍。

2017-06-22 20:32:34 2610 1

空空如也

空空如也

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

TA关注的人

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