- 博客(37)
- 资源 (2)
- 收藏
- 关注
原创 Cesium获取摄像机位置,并在项目打开的时候自动移动过去
在使用cesium的库的时候发现如果通过获取当前摄像机的heading_pitch_roll之后,通过heading_pitch_roll 和经纬度,调用setView方法,摄像机的roll和设置的roll并无法保证一致,导致无法稳定让相机在每次打开项目的时候处于同一位置。
2023-02-24 18:54:15 639
原创 deck.gl 调研
官网:https://deck.gl/官方示例: https://deck.gl/examples/terrain-layer/deck gl 是一个基于 WebGL 的数据可视化框架(渲染层),可以和一些主流的地图框架结合使用,几乎所有 Uber 的地理空间数据应用程序都使用 Mapbox 作为 http://deck.gl 可视化层的背景。
2022-12-23 20:46:25 3252 1
原创 Three JS 调研
更多的是关注如何通过webgl更精细而美的渲染数据three.js相当于封装了webgl,但还是很底层,并不是一个类似于cesium或者mapbox这样的成熟地图框架,
2022-12-23 20:37:25 3388 1
原创 Citus 兼容性评估
文章目录Citus 兼容性评估结论1. 对于postgis的支持:2. sql功能支持集群环境下不支持的sql功能查询:更新:DDL:3. 事务支持执行步骤:一致性模型:最终一致性隔离级别:读已提交4. citus性能Insert ThroughputUpdate ThroughputCitus 兼容性评估结论1. 对于postgis的支持:结论:对于ST_AsGeoBuf)这个可以支持表中任意字段的聚集函数支持不好,存在一些bug,需要在sql中通过limit 0 或者子查询等方式绕过限制,进
2021-06-11 15:40:52 693 1
原创 支持空间索引的分布式数据库调研
支持空间索引的分布式数据库调研文章目录支持空间索引的分布式数据库调研OLAP 分布式架构对比一. Postgres-XL二. clickhouse三. Greenplum架构四. Vertica五. Amazon Redshift六. CitusDBOLAP 分布式架构对比ProductOLAP列式存储Open SourceBase on postgreUse MPPSupport postgisFail overPostgres-XLYNYYY仅支持2.0
2021-06-11 15:33:36 987 2
原创 Ubuntu 18.04.5 LTS 源码编译安装最新版gdal
1. ubuntu 安装 cmake-3.20apt-get install wgetwget https://github.com/Kitware/CMake/releases/download/v3.20.2/cmake-3.20.2.tar.gztar zxvf cmake-3.20.2.tar.gzapt-get install libssl-dev./configuremakemake installvim ~/.bashrcexport PATH=/usr/local/b
2021-06-09 17:27:29 768 1
翻译 WEB前后端漏洞分析与防御技巧--第二部分
文章目录WEB前后端漏洞分析与防御技巧--第二部分第五章 传输安全HTTP窃听HTTP篡改HTTPS中间人攻击如何确定服务器身份第六章 密码安全密码-MD5单向变换单向变换彩虹表密码(加盐和多次哈希)计算盐值和加密密码的方式密码-帮助用户加强复杂度密码-变换次数越多越安全密码-密码传输的安全性第七章 接入层注入问题SQL注入SQL注入危害SQL注入防御NoSQL注入和防御第八章 接入层上传问题上传...
2019-03-17 20:47:31 598 1
翻译 WEB前后端漏洞分析与防御技巧--第一部分
文章目录WEB前后端漏洞分析与防御技巧--第一部分第一章 前端XSSXSS攻击注入点HTML节点内容和属性的防御JavaScript代码的防御富文本的防御CSP(Content Security Policy)XSS防御总结第二章 前端CSRFCSRF攻击危害CSFR攻击防御不访问A网站前端referer为B网站第三章 前端Cookies问题Cookies特性Cookies作用Cookies-登录...
2019-03-17 12:51:37 625
原创 腾讯云搭建vsftpd服务器
腾讯云搭建vsftpd服务器1. 背景为了方便一些外部公司的数据回流,在内网搭建ftp服务器存在一些安全隐患,所以我们选择在腾讯云上搭建服务器,同时采用一些安全策略来提高服务的安全性。下面将对整个配置过程进行描述,方便后来人参考。1.1 实现目标:匿名用户不能登录分两个虚拟账户,一个账户有上传权限,另一个有下载权限,且只能在自己宿主目录中操作配置IP白名单,只有白名单...
2018-08-05 10:49:33 1350 1
原创 Golang如何取出字符串中括号里的内容
Golang如何取出字符串中括号里的内容背景最近需要处理一个文本文件,文件中的内容格式大概如下所示:[111,222,333][222,333,444][2313123,1231,1231][111,222,333][222,333,444][2313123,1231,1231][111,222,333][222,333,444][2313123,1231,1231]目...
2018-02-12 15:21:53 8834
原创 Node Js form-data格式传输文件
Node Js 使用KOA处理form-data格式传输过来的文件使用koa有一段时间了,评价是小巧精悍,只封装了基本的如request对象和response对象到上下文中,其他功能基本上靠第三方中间件来实现。导致的问题是使用起来就不太方便了,比如用koa上传文件,网上资料有限,对于小白而言,文件上传操作就困难多了。form表单上传文件流程(PHP和node js)文件上传操作原理form表单【注
2017-12-08 18:39:45 4544
原创 基于golang http包实现的文件服务器
基于golang http包实现的文件服务器代码仓库:https://github.com/danny-wang/repo基本功能压缩模式或正常上传压缩模式或正常下载获取文件服务器状态,包括服务器域名(name:port),当前有多少文件等获取某一文件的状态(创建时间,下载路径,超时过期时间,MD5)获取某一个文档中的所有文件的状态(可指定是否递归进入子文档,是否只匹配某一个后缀的文件)
2017-11-22 15:59:53 2922
原创 glide install golang.org 失败
glide install golang.org 失败背景因为golang.org被墙的原因,所以国内安装其中的库会失败(Cannot detect VCS)。 解决方案一按照如下方式配置镜像:$ rm -rf ~/.glide$ mkdir -p ~/.glide$ glide mirror set https://golang.org/x/mobile https://github.com
2017-11-22 14:50:15 6766
翻译 C++ 调试帮助简介
C++ 调试帮助简介Source: C++ primer(version 5)主要思想是:程序所包含的调试代码仅在开发过程中执行。当应用程序已经完成,并且准备提交时,就会将调试代码关闭。这种方法会用到两项预处理功能:assert 和NDEBUG。assert预处理宏定义在<cassert>头文件中 的所谓预处理宏其实是一个预处理变量,它的行为有点类似于内联函数。使用一个表达式作为它的条件:
2017-11-09 15:01:19 385
原创 C++11 笔记 std::function,bind绑定器和lambda
C++11 笔记 std::function,bind绑定器和lambda背景c++将boost库中的function和bind在c++11中终于纳入了标准库的体系。 在传统的c++程序中,事件回调是通过虚函数进行的。在现代c++程序中,事件回调有了新的推荐做法,即std::funciton+std::bind,这种方式的一个明显优势是不必担心对象的生存期。function模板类和bind模板函
2017-11-06 21:59:21 3915
原创 滴滴---2017校招---后台开发面经
滴滴—2017校招—后台开发面经一面自我介绍算法:写个快排golang的协程介绍(线程模型,调度)c++虚函数的实现原理在一间屋子里有100盏电灯,排成一行,依从左至右的顺序,编上号码:1、2、3、4、……99、100,每盏灯上有一个拉线开关,开始时,全部的灯都关着,有100个同学在门外排着队,第一个同学进屋把编号为1的倍数的所有电灯开关都拉一下(即把所有电灯开关都打开了),接着第二个同学
2017-09-17 17:57:12 2076 1
原创 Linux POSIX线程实现wait_group功能
Linux POSIX线程实现wait_group功能wait_group:用一个数据结构实现等待一组线程执行结束之后,主线程退出的功能。方法:方法一:主线程调用pthread_exit((void *)2); 原因:pthread_exit在main中有只终止main线程,而不终止整个进程的作用(注意不存在父子线程的概念)在main线程终止时如果调用了pthread_exit(),那么此时终
2017-08-27 23:56:17 441
原创 Linux 多线程编程(实现生产者消费者模型)
Linux 多线程编程线程分类线程按照其调度者可以分为用户级线程和内核级线程两种。内核级线程在一个系统上实现线程模型的方式有好几种,因内核和用户空间提供的支持而有一定程度的级别差异。最简单的模型是在内核为线程提供了本地支持的情况,每个内核线程直接转换成用户空间的线程。这种模型称为“1:1线程模型(threading)”,因为内核提供的线程和用户的线程的数量是1:1。该模型也称为“内核级线程模型(ke
2017-08-27 16:41:24 6894
原创 算法:求二叉树中两个节点的最大距离
问题定义:如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,定义”距离”为这条路径上所有节点的value和。写一个程序求一棵二叉树中最大的路径距离。 思路:对于这个图,最大的路径是从5—-3—-7,距离为15的路径。 采用后序遍历,对于每一个节点保存经过当前节点的单边路径的最大距离,定义为single_max,为什么只保存单边距离:对于当前节点的父节点来说,路径只能来自于单边: 定义
2017-08-24 23:32:23 1834
原创 Golang HTTP Get Request带参数
Golang HTTP Get Request带参数You can use url.Values’s Encode method. You could also use URL.String to build up the whole URL.Client:package mainimport ( "fmt" "log" "net/http" "os")func m
2017-08-02 23:42:05 44271
原创 Golang 删除文件并递归删除空目录
Golang 删除文件并递归删除空目录目的:删除文件之后,如果目录为空,递归删除为空的目录。func deleteFileOnDisk(localPath string) { log.Debugf("remove file: %s", localPath) if err := os.Remove(localPath); err != nil { log.Error(e
2017-08-02 23:20:23 7209
原创 Golang 使用gomail包发送邮件
Golang 使用gomail包发送邮件GomailGomail 是一个简单、高效的发送电子邮件包,它经过良好的测试和记录。 Gomail 只能使用 SMTP 服务器发送电子邮件,但是 API 比较灵活的,很容易实现其他方法使用本地 Postfix、API 等发送电子邮件。 项目地址: https://github.com/go-gomail/gomail文档:https://godoc.org
2017-07-16 15:50:07 13188
原创 Golang模板函数使用范例
Golang模板函数使用范例html/template包中的模板函数:本包中提供的功能有限,所以很多时候需要使用用户定义的函数来辅助渲染页面。下面讲讲模板函数如何使用。函数声明:/* Funcs adds the elements of the argument map to the template's function map.It panics if a value in the map is
2017-07-12 20:22:06 8782
原创 Golang template简单实现分页
Golang Web前端数据分页展示一:背景最近要在前端界面上展示很多组数据,都放在一页不好看,所以想分页展示。但是不太想引入框架(出于简单考虑),就想实现一个简单的分页机制。只用html/template原生的东西实现。 二:参考代码之前看到有人用python写网页用过的简单的分页代码,具体代码如下:源码:<div class="pagination"> <ul> $if curre
2017-07-06 22:57:31 2196
原创 GRPC 初体验
gRPC是由Google主导开发的RPC框架,使用HTTP/2协议并用ProtoBuf作为序列化工具。其客户端提供Objective-C、Java接口,服务器侧则有Java、Golang、C++等接口,从而为移动端(iOS/Androi)到服务器端通讯提供了一种解决方案。 当然在当下的环境下,这种解决方案更热门的方式是RESTFull API接口。该方式需要自己去选择编码方式、服务器架构、自己搭建框
2017-06-08 18:27:55 1263
原创 2017暑期实习生面试--百度,freewheel
2017暑期实习生前期的面试经历分享,前期比较曲折,腾讯一面跪了,网易一面过了再也没有联系我去二面,真是忧伤。不过好在后来还算顺利,最终拿到了百度和freewheel的暑期实习offer。百度—后台研发一面讲项目,讲讲CPU模拟器和验证系统的设计与实现两道算法题: 链表存了两个数,数字从0-9,计算两个链表的和,生成一个新的链表 eg: 1->2->3->4->56->7->0->1->2
2017-05-31 22:35:16 4146
原创 leetcode解题报告-342. Power of Four
342. Power of FourGiven an integer (signed 32 bits), write a function to check whether it is a power of 4. Example: Given num = 16, return true. Given num = 5, return false. Follow up: Could you sol
2017-05-16 13:31:19 431
原创 MapReduce: Simplified Data Processing on Large Clusters 论文笔记
Why do itThe issues of how to parallelize the computation, distribute the data, and handle failures conspire to obscure the original simple computation with large amounts of complex code to deal with t
2017-04-21 18:21:06 621
原创 gem5运行spec2006出现的fatal的解决方案
错误1:fatal: Out of memory, please increase size of physical memory.错误2: fatal: FuncPageTable::allocate: addr already mapped
2017-04-21 10:43:31 1677 1
原创 Celery学习笔记(二)
简单的例子在使用 Celery 的过程中主要的步骤如下:定义一个应用,并在应用上注册任务;启动 worker,通过消息队列等待任务;通过在程序里调用预先注册的任务给 Celery 提交一个任务。 tasks.py 包含了一个简单的示例,自于Celery的官方文档,主要进行了任务的注册,首先创建了一个 Celery 实例 app,这是 Celery 里的一个应用(Application),第一
2017-04-06 15:29:45 875
原创 UDP协议与IP协议浅析
TCP/IP协议栈主要分为四层:应用层、传输层、网络层、数据链路层,每层都有相应的协议,如下图 所谓的协议就是双方进行数据传输的一种格式。整个网络中使用的协议有很多,所幸的是每一种协议都有RFC文档。在这里只对IP、UDP协议头做一个分析。 首先来看看在网络中,一帧以太网数据包的格式: UDP协议UDP协议也是传输层协议,它是无连接,不保证可靠的传输层协议。在传输过程中没有流量控制和确认
2017-04-05 16:06:21 6024 2
原创 TCP协议详解及三次握手与四次分手
TCP协议是面向连接、保证高可靠性(数据无丢失、数据无失序、数据无错误、数据无重复到达)传输层协议。TCP协议头部 首部长度:表明TCP首部中32 bit字的数目,如是0101,则说明TCP首部长度是5 * 4 = 20字节。 标识位: 1. ACK : TCP协议规定,只有ACK=1时有效,也规定连接建立后所有发送的报文的ACK必须为1 2. SYN(SYNchronization)
2017-04-05 15:43:30 693 2
原创 Celery学习笔记(一)
Celery学习笔记(一)什么是Celery Celery是一个python模块,它在官网的定义: Celery is asynchronous task queue/job based on distributed message passing. It is focused on real-time operation, but supports scheduling as well.
2017-03-28 17:09:46 1745
原创 DeSpErate: Speeding-up Design Space Exploration by using Predictive Simulation Scheduling 论文笔记
abstract设计空间探索(DSE)阶段是用来调整配置系统的参数。通常是一个多目标优化(MOO)问题。It is usually done at pre-design phase and consists of the evaluation of large design spaceswhere each configuration requires long simulation.
2017-03-20 15:28:34 985
原创 Gem5在X64架构下运行SPEC2006
问题来源:为了验证GEM5执行banchmark需要的时间时间是否可以容忍,故摸索了下gem5下如何运行spec2006,分析可用性。步骤一 (编译spec2006): 1. 购买或下载spec2006源码; 2. 验证压缩文件的完整性$ md5sum spec2006v1_0.tar.bz2 61a69f45ee38d1030a1c217dde782253 sp
2017-02-15 16:49:58 3406 5
基于反馈(Feed Back,FB)排队算法的CPU调度的模拟实现
2013-08-30
内部排序算法比较
2013-03-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人