自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Bruce

努力做一个精通全栈开发的段子手

  • 博客(165)
  • 问答 (1)
  • 收藏
  • 关注

原创 开源GIS技术讨论,欢迎加群

同学们好,众所周知开源软件已经在各个行业或垂直领域中得到广泛应用。在地理信息系统中,开源软件和技术的比重非常高。我建立了一个QQ群用于交流各种GIS相关的开源技术,欢迎GIS爱好者开发人员加入,不管你是大神还是小白都热烈欢迎!主要关注的技术有以下这些:GeoServer OpenLayers MapGuide Open Source FDO GDAL / OGR QGI...

2019-12-16 11:11:15 399

原创 Python 3.12新功能(3)- 增强的格式化字符串f-strings

对于f-strings,小伙伴们不会感到陌生。它又称为格式化字符串,是早在Python3.6中就加入的功能。那么在Python 3.12中又添加了哪些能力呢?

2024-08-06 14:48:38 534

原创 Python 3.12新功能(2)- 类型参数语法

为了更好地支持泛型(Generics), Python 3.12中为类型参数(Type Parameters)提供了更加便利优雅的语法形式。

2024-08-05 14:22:59 901

原创 Python开发框架FastAPI系列(1. 初体验)

本文为系列文章的第一部分。

2024-08-01 14:29:04 989

原创 从零开始安装Jupyter Notebook和Jupyter Lab图文教程

Jupyter是一个强大好用的工具集,它对于初学者学习Python语言、或者探索Python语言新功能、或者实验不熟悉的包都非常适合。Jupyter工具集主要有两个产品,一个是Jupyter Notebook, 另一个是Jupyter Lab。

2024-08-01 11:47:07 759

原创 Python 3.12新功能(1)

Python 3.12正式发布已经很久了,我才将主要电脑的Python版本从3.11升级到最新。最近刚好工作没有那么紧张了,就来领略下这个最新版本中的新特性。

2024-07-31 23:30:16 4695 15

原创 Python中的typings

Python作为一门生产效率很高的语言,它的动态性起了很关键的作用。但是动态特性也是一柄双刃剑,我们在日常开发中使用一些类或者函数时候,常常不知道确定的类型。而Python中的type hints试图帮我们解决了这个头疼问题。头不疼了,代码就更加轻盈了。

2024-07-31 16:04:49 967

原创 PDF小工具poppler

介绍一下一个不错的PDF库poppler。poppler的官网地址它是一个PDF的渲染库,顾名思义,它的用途就是读取PDF文件,然后显示到屏幕。基于这个库,现在已经有一些成熟的应用程序或工具。

2024-07-17 23:40:19 1058

转载 [转] 如何阻止或禁止WebSocket

前一个项目中使用了WebSocket技术来实现前端和后端的消息及时通知,具体有几种类型的消息,包括其中非常重要的一点就是后端计算的过程可能比较长,一些输出到stdout和stderr的信息需要让前端展示。一次技术讨论的时候,大家提到了说有的客户网络环境中可能会禁用WebSocket,那样我们的前后端无法正常通信了,这是一个很大的技术风险。因为websocket本身是通过http协议upgrade来的,它和普通的HTTP通信使用相同的端口,所以采用封端口的方式肯定是不行的。我不打算用这样的方式,原因有多个。

2024-01-09 08:32:18 722 1

原创 python-occ入门指北

在Windows环境中玩PythonOCC比较简单的方式是使用anaconda的cmd prompt或者powershell的prompt,这里我用的是cmd。上一步安装完成后,Windows的开始菜单上出现两个Anaconda Prompt,分别是适配Cmd和PowerShell的。因为学习使用PythonOCC的时候经常需要将几何显示出来,所以建议安装可视化的后端,例如PyQt5, PySide2等等。启动miniconda的命令行Prompt之后,默认的环境是base。根据提示输入"y"既可安装。

2023-07-31 15:50:21 1802

原创 杀不死你的,终将使你更强大

从4月份到10月底,开发的新功能顺利上线了,运行平稳。这期间除了忙,就是巨忙。除了8月初休假一周回了趟老家,其他时间每天从早拼到晚,周末时间也搭进去不少。但是总归结果是挺好的。接下来新的任务挑战性更大,影响面更广更深远。杀不死你的,终将使你更强大。

2022-11-06 10:28:17 211 1

原创 C++11多线程开发之this_thread名字空间

如何使用C++11中的this_thread提供的函数例如yield, get_id

2022-08-12 16:04:36 402

原创 给C++ std::call_once传递可变参数

给c++ std::call_once传递可变长参数

2022-08-12 14:22:54 498

原创 在C++多线程中使用std::call_once保证仅仅执行一次

C++标准库中的std::call_once函数保证只调用一次,常常用于初始化一些关键资源。

2022-08-12 10:31:35 617

原创 C++11并发支持库函数std::call_once

C++语言自从C++11开始对并发编程(concurrency)做了很多的支持,例如atomic,thread,mutex,condition_variable,lock,async,future等等众多喜闻乐见的好宝贝,另外不那么招人注意的也有几个值得称赞一番,例如stdcall_once。......

2022-07-19 23:46:48 437

原创 C++语法之function-try-block

C++里边有个看着比较怪异的语法,叫做“function-try-block”。

2022-06-29 22:01:16 591

原创 复习C++重读名著Effective STL - item 18 vector<bool>的缺点分析

复习C++重读名著Effective STL之第18条

2022-06-05 18:07:34 221

原创 Python nose测试大法

[注明:本文最初发布于简书,然而。。。]Python作为一门简单易学的编程语言,现在长期位于编程语言榜的前三。在人工智能的第二次浪潮涌起之前,因为简单快速容易维护,Python在很多系统中是作为“胶水语言”存在的。而现今时代因为出现大量数据处理的需求,以及在大数据集上的分析和推演的需求,包括人工智能的广泛运用,使得Python语言换发了第二春,众多的机器学习框架和库都是用Python例如pytorch和tensorflow等等。另外,很多数据分析师或工程师都选择了Python作为主要开发语言。大

2022-04-23 14:38:17 792

原创 JAVA中的clone到底是个什么呆鹅

clone, clone, clone

2022-01-28 15:23:45 404

原创 Python中的对象大小

python中对象大小的计算

2022-01-27 16:16:36 1609

原创 什么时候需要加volatile关键字?它能保证线程安全吗?

这是一道常规面试题,对于各位大牛来说不算什么。但是怎样才能给小白讲明白呢?我尽力吧。先来看看这个关键字吧。volatile,查词典知道它的意思是“adj. 易变的,动荡不定的,反复无常的;(计算机内存)易失的”。说到它就要谈到CPU的高速缓存。我们知道一个程序运行起来,里边的变量都是在内存的,CPU为了提高效率,会把变量读到它自己的缓存中,这个缓存的读写速度比内存快很多。只有在缓存不够用的时候,才会根据算法把变量写回到内存。如果是单个CPU这样不会造成什么困扰,因为单个CPU不会存在缓存和内存不一致

2022-01-08 15:13:28 1134

原创 回顾2021,展望2022

回顾2021年,展望充满希望的2022年。

2021-12-31 11:26:49 372

原创 调试Jersey发送cookie问题

这周调用一个下载文件的API遇到一个问题。这个API返回的是CDN的signed URL,客户端需要根据Set-Cookie中指定的cookies值,将cookie设置到下载的GET请求中。项目中使用的是Jersey,而jersey中的Client提供了client.cookie(Cookie c)和client.cookie(String name, String value)等方法来设置cookies。我使用这两种方法都失败了,服务器返回403, 说需要的cookie没有设置。后来干脆"手写cookie

2021-08-11 15:45:59 277

原创 go语言的测试覆盖(2)

今天讲一下go语言的test coverage是如何实现的。上篇讲到了go语言1.2之前对于测试覆盖的支持,使用了比较“传统”的做法,也就是对于二进制文件的analysis和instrument。从go v1.2开始,新的测试覆盖工具使用了完全不同的方法。思路非常简单:在编译之前重写源文件,在源文件中加入一些instrument,然后编译和执行被修改的源文件,得到覆盖的统计信息。重写源文件其实不难,得益于go强大的命令行工具 - 它负责从源文件编译,到执行测试,直到程序的执行全盘搞定 - 所以在这个

2021-08-03 23:34:58 808

原创 微服务,真的香吗?

不是为了更好的创造用户价值,而是为了微服务而微服务,是耍流氓的第一特征。

2021-07-30 23:30:25 354

翻译 go语言的测试覆盖 (golang test coverage)

测试覆盖率测试覆盖率是指当运行测试用例时,代码(类,包,模块)中有多少被执行到。覆盖率通常用百分比来表示。例如当我们说一个包的覆盖率是85%的时候,就是说测试用例让包中85%的代码都运行过了。Go语言中对于测试覆盖率有比较不错的支持,在1.2版本开始跟其他工具一起发布。The usual way to compute test coverage is to instrument the binary. For instance, the GNUgcovprogram sets break..

2021-07-30 22:58:22 1062

原创 GeoTools开发GIS图形界面应用程序

GeoTools是大名鼎鼎的JAVA开源开发包,支持开发基于Swing的GUI应用程序。GeoTools对于矢量数据和栅格数据都有完善的支持,是开源GIS方案中常见的选择之一。例如流行的GIS服务器GeoServer就是基于GeoTools开发的,另一个桌面GIS软件uDig也是使用GeoTools开发的。前些天看了些文档,今天得空先把官网上的简单demo跑起来。代码如下:import org.geotools.data.FileDataStore;import org.geotools...

2021-07-25 14:27:58 1941 2

原创 GeoTools初体验之读取SHP文件

import java.io.File;import java.util.HashMap;import java.util.Map;import java.net.URL;import org.geotools.data.DataStore;import org.geotools.data.FeatureSource;import org.geotools.data.shapefile.ShapefileDataStoreFactory;import org.geotools.dat...

2021-06-03 23:54:39 885

原创 Python中lambda的小坑

From:https://realpython.com/python-lambda/Evaluation TimeIn some situations involvingloops, the behavior of a Python lambda function as a closure may be counterintuitive. It requires understanding when free variables are bound in the context of...

2021-03-03 10:07:59 447 1

原创 关于单元测试的几点思考

单元测试不是什么新鲜概念,随便问一个程序员,TA都能告诉你单元测试是什么,甚至告诉你具体地使用某个语言如何写出单元测试的测试用例。在最近的一个项目中,本人所在的团队践行单元测试的实践,却发现同事们对于单元测试有很多不同的见解,甚至是误解。Unit Testing虽然不是什么高精尖,但是它几乎是每个开发者每天都要用到的武器,所以还是值得思考和讨论的。先来一点关于这个项目的背景介绍,以便于讨论。之前有一个项目,姑且称为v1吧,是国外团队开发的,几年前移交给宇宙中心的团队。这是一个典型的Py.

2021-02-26 21:25:07 2084 8

原创 推荐关于Golang和Rust对比的一篇博文

原文在这里,如果有同学在两个语言之间选择困难的话,可以参考一下。https://bitfieldconsulting.com/golang/rust-vs-goBoth languages have a different scope. Golang shines for writing microservices and for typical "DevOps" tasks, but it is not a systems programming language. Rust is stro.

2021-02-04 12:29:28 1217

原创 Rust学习笔记[0]

Rust很火啊,那么,撸一把?Mac 上用rustup安装一下。装完了运行几个命令试试看。rustup versionrustup doccargo versionmkdir ./tempcd tempcargo init看看rust编译器版本rustc --version接着看看IDE和编辑器的支持,官网上列出了很多例如vim, emacs, IntelliJIDEA等等(略过VS Code)。选定了IntelliJIDEA, 安装官方插...

2021-02-02 12:57:23 151 2

原创 使用QGIS转换矢量数据的坐标系

本文介绍了QGIS的一个坐标系转换功能。这里使用SHP文件作为例子,其他类型的矢量数据也是类似的。首先在Data Source Manager添加一个矢量的数据类型,选择需要的文件。选择好文件之后,点击"Add"添加图层到地图上。然后按照下图操作。接下来选取希望做坐标转换的图层,指定目标坐标系就可以了。因为我们需要将转换的结果保存为SHP,所以在"Reproj...

2020-02-29 12:00:30 16150 2

原创 【开源GIS方案】OpenLayers和GeoServer的黄金搭档

投资少,见效快,WebGIS黄金搭档对于JS不是很精通的小朋友们注意不要踩坑!如果你创建和初始化map的代码是在header里边引入,请加上"defer"关键字,这样浏览器会在页面加载完成了再执行该脚本,否则地图不能显示出来,也不会报错。参见下图代码...

2020-02-12 23:28:35 450

原创 中国大地坐标系CGCS2000

该坐标系英文名称:China Geodetic Coordinate System 2000EPSG代码:EPSG:4490EPSG网站链接:http://epsg.io/4490某些国外厂商的GIS软件可能缺省没有支持CGCS2000,所以需要自定义。在EPSG网站上面能够查到坐标系的WKT表示,如下:GEOGCS["China Geodetic Coordinate S...

2020-02-06 15:02:16 11364 1

原创 使用QGIS符号化和分类数据

QGIS作为开源GIS产品的佼佼者,因为简单易用,一直在桌面GIS占据领导地位。这里是一个简单的例子介绍QGIS的标签(labeling,或称标记), 符号化(symbology) 和样式化(styling) 功能。首先是准备数据。这里我们用的是全国省级边界数据,当然你也可以用自己适用的数据。需要同一份数据的GISer,可以自行下载或进群索取(见文章末尾)。图一:SHP文件...

2020-02-04 16:08:44 9085

翻译 [译] 为什么我们需要关注PostGIS? - Part 2

原文链接:https://medium.com/@tjukanov/why-should-you-care-about-postgis-a-gentle-introduction-to-spatial-databases-9eccd26bc42b由于原博文较长,我分为几个部分翻译。上一部分在这里:https://blog.csdn.net/IDisposable/article/detail...

2020-01-21 10:29:30 413

翻译 [译] 为什么我们需要关注PostGIS? - Part 1

原文链接:https://medium.com/@tjukanov/why-should-you-care-about-postgis-a-gentle-introduction-to-spatial-databases-9eccd26bc42b由于原博文较长,我分为几个部分翻译。上一部分在这里:https://blog.csdn.net/IDisposable/article/details...

2020-01-16 15:38:43 226

翻译 [译] 为什么我们需要关注PostGIS? - Part 0

原文链接:https://medium.com/@tjukanov/why-should-you-care-about-postgis-a-gentle-introduction-to-spatial-databases-9eccd26bc42b【我的废话几句,可以直接略过】技术文章的翻译是个吃力不讨好的事情,大部分技术人员的英语水平都能够直接吃透原文。况且关于翻译,有句话深得我心:不能...

2020-01-04 14:40:51 331

原创 Python中函数缺省参数的早绑定

class DefaultConfiguration(object): def __init__(self): print("calling DefaultConfiguration.__init__ ......")class AppConfig(object): @classmethod def get(cls): print(...

2019-12-03 18:06:06 317

LibreCAD 2.2.1

开源的二维CAD软件

2024-08-09

VTK 9.3 Windows版本VS2019

VTK 9.3 Windows版本, 使用VS2019编译,打开了Qt6的支持。

2024-07-25

poppler库Windows版本

poppler开发库是一个PDF的渲染库,这个是Windows平台的预编译二进制库。不包含源文件。可以用来开发Windows上的PDF文件阅读器等等。压缩包中也包含了一些实用程序小工具可以对PDF文件进行一些常规操作,例如提取图片,压缩,分片,转换为PostScript,生成text, 或者HTML等功能。如果用于商业用途,请遵守该库的License说明。更多用例用法和说明请参考本人博客相应的文章。Happy Coding!

2024-07-19

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

TA关注的人

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